Import performous_1.1+git20181118.orig.tar.xz
authorMarkus Koschany <apo@debian.org>
Sun, 25 Nov 2018 15:04:12 +0000 (15:04 +0000)
committerMarkus Koschany <apo@debian.org>
Sun, 25 Nov 2018 15:04:12 +0000 (15:04 +0000)
[dgit import orig performous_1.1+git20181118.orig.tar.xz]

515 files changed:
.dockerignore [new file with mode: 0644]
.github/CODE_OF_CONDUCT.md [new file with mode: 0644]
.github/CONTRIBUTING.md [new file with mode: 0644]
.github/ISSUE_TEMPLATE.md [new file with mode: 0644]
.github/ISSUE_TEMPLATE/Bug_report.md [new file with mode: 0644]
.github/ISSUE_TEMPLATE/Feature_request.md [new file with mode: 0644]
.github/PULL_REQUEST_TEMPLATE.md [new file with mode: 0644]
.github/PULL_REQUEST_TEMPLATE/mergeback.md [new file with mode: 0644]
.github/PULL_REQUEST_TEMPLATE/release.md [new file with mode: 0644]
CMakeLists.txt [new file with mode: 0644]
Dockerfile [new file with mode: 0644]
README.md [new file with mode: 0644]
boost_predef/detail/os_detected.h [new file with mode: 0644]
boost_predef/detail/test.h [new file with mode: 0644]
boost_predef/make.h [new file with mode: 0644]
boost_predef/os.h [new file with mode: 0644]
boost_predef/os/aix.h [new file with mode: 0644]
boost_predef/os/amigaos.h [new file with mode: 0644]
boost_predef/os/android.h [new file with mode: 0644]
boost_predef/os/beos.h [new file with mode: 0644]
boost_predef/os/bsd.h [new file with mode: 0644]
boost_predef/os/bsd/bsdi.h [new file with mode: 0644]
boost_predef/os/bsd/dragonfly.h [new file with mode: 0644]
boost_predef/os/bsd/free.h [new file with mode: 0644]
boost_predef/os/bsd/net.h [new file with mode: 0644]
boost_predef/os/bsd/open.h [new file with mode: 0644]
boost_predef/os/cygwin.h [new file with mode: 0644]
boost_predef/os/haiku.h [new file with mode: 0644]
boost_predef/os/hpux.h [new file with mode: 0644]
boost_predef/os/ios.h [new file with mode: 0644]
boost_predef/os/irix.h [new file with mode: 0644]
boost_predef/os/linux.h [new file with mode: 0644]
boost_predef/os/macos.h [new file with mode: 0644]
boost_predef/os/os400.h [new file with mode: 0644]
boost_predef/os/qnxnto.h [new file with mode: 0644]
boost_predef/os/solaris.h [new file with mode: 0644]
boost_predef/os/unix.h [new file with mode: 0644]
boost_predef/os/vms.h [new file with mode: 0644]
boost_predef/os/windows.h [new file with mode: 0644]
boost_predef/version_number.h [new file with mode: 0644]
ced/CMakeLists.txt [new file with mode: 0644]
ced/LICENSE [new file with mode: 0644]
ced/README.md [new file with mode: 0644]
ced/autogen.sh [new file with mode: 0755]
ced/compact_enc_det/compact_enc_det.cc [new file with mode: 0644]
ced/compact_enc_det/compact_enc_det.h [new file with mode: 0644]
ced/compact_enc_det/compact_enc_det_generated_tables.h [new file with mode: 0644]
ced/compact_enc_det/compact_enc_det_generated_tables2.h [new file with mode: 0644]
ced/compact_enc_det/compact_enc_det_hint_code.cc [new file with mode: 0644]
ced/compact_enc_det/compact_enc_det_hint_code.h [new file with mode: 0644]
ced/compact_enc_det/detail_head_string.inc [new file with mode: 0644]
ced/util/basictypes.h [new file with mode: 0644]
ced/util/case_insensitive_hash.h [new file with mode: 0644]
ced/util/commandlineflags.h [new file with mode: 0644]
ced/util/encodings/encodings.cc [new file with mode: 0644]
ced/util/encodings/encodings.h [new file with mode: 0644]
ced/util/encodings/encodings.pb.h [new file with mode: 0644]
ced/util/languages/languages.cc [new file with mode: 0644]
ced/util/languages/languages.h [new file with mode: 0644]
ced/util/languages/languages.pb.h [new file with mode: 0644]
ced/util/logging.h [new file with mode: 0644]
ced/util/port.h [new file with mode: 0644]
ced/util/string_util.h [new file with mode: 0644]
ced/util/varsetter.h [new file with mode: 0644]
cmake/Modules/FindAVCodec.cmake [new file with mode: 0644]
cmake/Modules/FindAVFormat.cmake [new file with mode: 0644]
cmake/Modules/FindAVUtil.cmake [new file with mode: 0644]
cmake/Modules/FindAtk.cmake [new file with mode: 0644]
cmake/Modules/FindAtkmm.cmake [new file with mode: 0644]
cmake/Modules/FindCairo.cmake [new file with mode: 0644]
cmake/Modules/FindCairomm.cmake [new file with mode: 0644]
cmake/Modules/FindClanLib.cmake [new file with mode: 0644]
cmake/Modules/FindCppRest.cmake [new file with mode: 0644]
cmake/Modules/FindCrypto.cmake [new file with mode: 0644]
cmake/Modules/FindDL.cmake [new file with mode: 0644]
cmake/Modules/FindFAAC.cmake [new file with mode: 0644]
cmake/Modules/FindFontconfig.cmake [new file with mode: 0644]
cmake/Modules/FindFreetype.cmake [new file with mode: 0644]
cmake/Modules/FindGDK-PixBuf.cmake [new file with mode: 0644]
cmake/Modules/FindGDK.cmake [new file with mode: 0644]
cmake/Modules/FindGDKmm.cmake [new file with mode: 0644]
cmake/Modules/FindGIO.cmake [new file with mode: 0644]
cmake/Modules/FindGIOmm.cmake [new file with mode: 0644]
cmake/Modules/FindGLEW.cmake [new file with mode: 0644]
cmake/Modules/FindGLFW.cmake [new file with mode: 0644]
cmake/Modules/FindGLM.cmake [new file with mode: 0644]
cmake/Modules/FindGObject.cmake [new file with mode: 0644]
cmake/Modules/FindGStreamer.cmake [new file with mode: 0644]
cmake/Modules/FindGTK.cmake [new file with mode: 0644]
cmake/Modules/FindGTKmm.cmake [new file with mode: 0644]
cmake/Modules/FindGlib.cmake [new file with mode: 0644]
cmake/Modules/FindGlibmm.cmake [new file with mode: 0644]
cmake/Modules/FindICU.cmake [new file with mode: 0644]
cmake/Modules/FindJack.cmake [new file with mode: 0644]
cmake/Modules/FindJpeg.cmake [new file with mode: 0644]
cmake/Modules/FindLibEpoxy.cmake [new file with mode: 0644]
cmake/Modules/FindLibPulse.cmake [new file with mode: 0644]
cmake/Modules/FindLibPulseSimple.cmake [new file with mode: 0644]
cmake/Modules/FindLibRSVG.cmake [new file with mode: 0644]
cmake/Modules/FindLibXML++.cmake [new file with mode: 0644]
cmake/Modules/FindLibXML2.cmake [new file with mode: 0644]
cmake/Modules/FindMagick++.cmake [new file with mode: 0644]
cmake/Modules/FindMagick.cmake [new file with mode: 0644]
cmake/Modules/FindOpenGL.cmake [new file with mode: 0644]
cmake/Modules/FindPThread.cmake [new file with mode: 0644]
cmake/Modules/FindPackageHandleStandardArgs.cmake [new file with mode: 0644]
cmake/Modules/FindPackageMessage.cmake [new file with mode: 0644]
cmake/Modules/FindPango.cmake [new file with mode: 0644]
cmake/Modules/FindPangoCairo.cmake [new file with mode: 0644]
cmake/Modules/FindPangomm.cmake [new file with mode: 0644]
cmake/Modules/FindPng.cmake [new file with mode: 0644]
cmake/Modules/FindPortAudio.cmake [new file with mode: 0644]
cmake/Modules/FindPortMidi.cmake [new file with mode: 0644]
cmake/Modules/FindProjectM.cmake [new file with mode: 0644]
cmake/Modules/FindSDL.cmake [new file with mode: 0644]
cmake/Modules/FindSDL2.cmake [new file with mode: 0644]
cmake/Modules/FindSDL_image.cmake [new file with mode: 0644]
cmake/Modules/FindSDL_mixer.cmake [new file with mode: 0644]
cmake/Modules/FindSWResample.cmake [new file with mode: 0644]
cmake/Modules/FindSWScale.cmake [new file with mode: 0644]
cmake/Modules/FindSigC++.cmake [new file with mode: 0644]
cmake/Modules/FindSsl.cmake [new file with mode: 0644]
cmake/Modules/FindZ.cmake [new file with mode: 0644]
cmake/Modules/GetGitRevisionDescription.cmake [new file with mode: 0644]
cmake/Modules/GetGitRevisionDescription.cmake.in [new file with mode: 0644]
cmake/Modules/LibFindMacros.cmake [new file with mode: 0644]
cmake/Modules/SelectLibraryConfigurations.cmake [new file with mode: 0644]
cmake/performous.sh.cmake [new file with mode: 0644]
common/image.cc [new file with mode: 0644]
common/image.hh [new file with mode: 0644]
data/CMakeLists.txt [new file with mode: 0644]
data/backgrounds/blue_band.svg [new file with mode: 0644]
data/backgrounds/classic_bg.svg [new file with mode: 0644]
data/backgrounds/default_bg.svg [new file with mode: 0644]
data/backgrounds/flying_notes.svg [new file with mode: 0644]
data/backgrounds/guitar_bg.svg [new file with mode: 0644]
data/backgrounds/singer_bg.svg [new file with mode: 0644]
data/config/controllers.xml [new file with mode: 0644]
data/config/schema.xml [new file with mode: 0644]
data/database.xml [new file with mode: 0644]
data/fonts/DroidSansMono.ttf [new file with mode: 0644]
data/fonts/GoblinOne.otf [new file with mode: 0644]
data/fonts/NewRocker-Regular.otf [new file with mode: 0644]
data/performous.desktop [new file with mode: 0755]
data/shaders/core.frag [new file with mode: 0644]
data/shaders/core.vert [new file with mode: 0644]
data/shaders/dancenote.vert [new file with mode: 0644]
data/shaders/stereo3d.geom [new file with mode: 0644]
data/sounds/drum_bass.ogg [new file with mode: 0644]
data/sounds/drum_cymbal.ogg [new file with mode: 0644]
data/sounds/drum_hi-hat.ogg [new file with mode: 0644]
data/sounds/drum_snare.ogg [new file with mode: 0644]
data/sounds/drum_tom1.ogg [new file with mode: 0644]
data/sounds/drum_tom2.ogg [new file with mode: 0644]
data/sounds/guitar_fail1.ogg [new file with mode: 0644]
data/sounds/guitar_fail2.ogg [new file with mode: 0644]
data/sounds/guitar_fail3.ogg [new file with mode: 0644]
data/sounds/guitar_fail4.ogg [new file with mode: 0644]
data/sounds/guitar_fail5.ogg [new file with mode: 0644]
data/sounds/guitar_fail6.ogg [new file with mode: 0644]
data/themes/default/arrow_button_down.svg [new file with mode: 0644]
data/themes/default/arrow_button_left.svg [new file with mode: 0644]
data/themes/default/arrow_button_right.svg [new file with mode: 0644]
data/themes/default/arrow_button_up.svg [new file with mode: 0644]
data/themes/default/arrows.svg [new file with mode: 0644]
data/themes/default/arrows_cursor.svg [new file with mode: 0644]
data/themes/default/arrows_hold.svg [new file with mode: 0644]
data/themes/default/audiodevices_bg.svg [new file with mode: 0644]
data/themes/default/audiodevices_dev_bg.svg [new file with mode: 0644]
data/themes/default/band_cover.svg [new file with mode: 0644]
data/themes/default/bassneck.svg [new file with mode: 0644]
data/themes/default/button.svg [new file with mode: 0644]
data/themes/default/dance_cover.svg [new file with mode: 0644]
data/themes/default/dancebeat.svg [new file with mode: 0644]
data/themes/default/device_selector.svg [new file with mode: 0644]
data/themes/default/dialog_txt.svg [new file with mode: 0644]
data/themes/default/drumneck.svg [new file with mode: 0644]
data/themes/default/flame.svg [new file with mode: 0644]
data/themes/default/flame_godmode.svg [new file with mode: 0644]
data/themes/default/fret.obj [new file with mode: 0644]
data/themes/default/fret_tap.obj [new file with mode: 0644]
data/themes/default/guitarneck.svg [new file with mode: 0644]
data/themes/default/icon.png [new file with mode: 0644]
data/themes/default/icon.svg [new file with mode: 0644]
data/themes/default/icon_pdev.svg [new file with mode: 0644]
data/themes/default/instrument_cover.svg [new file with mode: 0644]
data/themes/default/instrumenthelp.svg [new file with mode: 0644]
data/themes/default/instrumentmenu_back_highlight.svg [new file with mode: 0644]
data/themes/default/instrumentmenu_bg.svg [new file with mode: 0644]
data/themes/default/instrumentmenu_comment.svg [new file with mode: 0644]
data/themes/default/instrumentmenu_option.svg [new file with mode: 0644]
data/themes/default/instrumentmenu_option_selected.svg [new file with mode: 0644]
data/themes/default/instruments.svg [new file with mode: 0644]
data/themes/default/intro_bg.svg [new file with mode: 0644]
data/themes/default/intro_configure.svg [new file with mode: 0644]
data/themes/default/intro_practice.svg [new file with mode: 0644]
data/themes/default/intro_quit.svg [new file with mode: 0644]
data/themes/default/intro_sing.svg [new file with mode: 0644]
data/themes/default/intro_webserver_notice.svg [new file with mode: 0644]
data/themes/default/logo.svg [new file with mode: 0644]
data/themes/default/mainmenu_back_highlight.svg [new file with mode: 0644]
data/themes/default/mainmenu_comment.svg [new file with mode: 0644]
data/themes/default/mainmenu_comment_bg.svg [new file with mode: 0644]
data/themes/default/mainmenu_option.svg [new file with mode: 0644]
data/themes/default/mainmenu_option_selected.svg [new file with mode: 0644]
data/themes/default/mainmenu_scomment_bg.svg [new file with mode: 0644]
data/themes/default/mainmenu_short_comment.svg [new file with mode: 0644]
data/themes/default/menu.ogg [new file with mode: 0644]
data/themes/default/message_text.svg [new file with mode: 0644]
data/themes/default/mine.svg [new file with mode: 0644]
data/themes/default/neck_glow.svg [new file with mode: 0644]
data/themes/default/no_cover.svg [new file with mode: 0644]
data/themes/default/no_player_image.svg [new file with mode: 0644]
data/themes/default/notebar.png [new file with mode: 0644]
data/themes/default/notebar.svg [new file with mode: 0644]
data/themes/default/notebar_hi.svg [new file with mode: 0644]
data/themes/default/notebarfs-hl.png [new file with mode: 0644]
data/themes/default/notebarfs.svg [new file with mode: 0644]
data/themes/default/notebargold.png [new file with mode: 0644]
data/themes/default/notebargold.svg [new file with mode: 0644]
data/themes/default/notebargold_hi.svg [new file with mode: 0644]
data/themes/default/notelines.svg [new file with mode: 0644]
data/themes/default/notice.ogg [new file with mode: 0755]
data/themes/default/practice.ogg [new file with mode: 0644]
data/themes/default/practice_bg.svg [new file with mode: 0644]
data/themes/default/practice_note.svg [new file with mode: 0644]
data/themes/default/practice_peak.svg [new file with mode: 0644]
data/themes/default/practice_sharp.svg [new file with mode: 0644]
data/themes/default/practice_txt.svg [new file with mode: 0644]
data/themes/default/score_bar_bg.svg [new file with mode: 0644]
data/themes/default/score_bar_fg.svg [new file with mode: 0644]
data/themes/default/score_level.svg [new file with mode: 0644]
data/themes/default/score_rank.svg [new file with mode: 0644]
data/themes/default/score_txt.svg [new file with mode: 0644]
data/themes/default/score_window.svg [new file with mode: 0644]
data/themes/default/sing-songinfo.svg [new file with mode: 0644]
data/themes/default/sing_bg_bottom.svg [new file with mode: 0644]
data/themes/default/sing_bg_top.svg [new file with mode: 0644]
data/themes/default/sing_lyricscurrent.svg [new file with mode: 0644]
data/themes/default/sing_lyricshighlight.svg [new file with mode: 0644]
data/themes/default/sing_lyricsnext.svg [new file with mode: 0644]
data/themes/default/sing_pause.svg [new file with mode: 0644]
data/themes/default/sing_pbox.svg [new file with mode: 0644]
data/themes/default/sing_popup_text.svg [new file with mode: 0644]
data/themes/default/sing_progressbg.svg [new file with mode: 0644]
data/themes/default/sing_progressfg.svg [new file with mode: 0644]
data/themes/default/sing_score_text.svg [new file with mode: 0644]
data/themes/default/sing_timetxt.svg [new file with mode: 0644]
data/themes/default/sing_tostartfg.svg [new file with mode: 0644]
data/themes/default/songs_bg.svg [new file with mode: 0644]
data/themes/default/songs_bg_default.svg [new file with mode: 0644]
data/themes/default/songs_bg_ground.svg [new file with mode: 0644]
data/themes/default/songs_has_hiscore.svg [new file with mode: 0644]
data/themes/default/songs_hiscores.svg [new file with mode: 0644]
data/themes/default/songs_order.svg [new file with mode: 0644]
data/themes/default/songs_song.svg [new file with mode: 0644]
data/themes/default/star.svg [new file with mode: 0644]
data/themes/default/star_glow.svg [new file with mode: 0644]
data/themes/default/tail.svg [new file with mode: 0644]
data/themes/default/tail_drumfill.svg [new file with mode: 0644]
data/themes/default/tail_glow.svg [new file with mode: 0644]
data/themes/default/tap.svg [new file with mode: 0644]
data/themes/default/vumeter_bg.svg [new file with mode: 0644]
data/themes/default/vumeter_fg.svg [new file with mode: 0644]
data/themes/default/warning.svg [new file with mode: 0644]
data/themes/default/wave.png [new file with mode: 0644]
data/xsl/songlist-to-tex.xsl [new file with mode: 0644]
data/xsl/songlist-to-xhtml.xsl [new file with mode: 0644]
docs/Authors.txt [new file with mode: 0644]
docs/CMakeLists.txt [new file with mode: 0644]
docs/Compiling.txt [new file with mode: 0644]
docs/doxygen.config [new file with mode: 0644]
docs/instruments.txt [new file with mode: 0644]
docs/license/Apache-2.0-DroidSansMono.txt [new file with mode: 0644]
docs/license/Boost-LICENSE_1_0.txt [new file with mode: 0644]
docs/license/SIL OFL Font License New Rocker.txt [new file with mode: 0644]
docs/license/SIL OFL Goblin.txt [new file with mode: 0644]
docs/man/CMakeLists.txt [new file with mode: 0644]
docs/man/gh_fsb_decrypt.1 [new file with mode: 0644]
docs/man/gh_xen_decrypt.1 [new file with mode: 0644]
docs/man/performous.h2m [new file with mode: 0644]
docs/man/ss_adpcm_decode.1 [new file with mode: 0644]
docs/man/ss_chc_decode.1 [new file with mode: 0644]
docs/man/ss_cover_conv.1 [new file with mode: 0644]
docs/man/ss_extract.1 [new file with mode: 0644]
docs/man/ss_ipu_conv.1 [new file with mode: 0644]
docs/man/ss_pak_extract.1 [new file with mode: 0644]
game/3dobject.cc [new file with mode: 0644]
game/3dobject.hh [new file with mode: 0644]
game/CMakeLists.txt [new file with mode: 0644]
game/animvalue.hh [new file with mode: 0644]
game/audio.cc [new file with mode: 0644]
game/audio.hh [new file with mode: 0644]
game/backgrounds.cc [new file with mode: 0644]
game/backgrounds.hh [new file with mode: 0644]
game/cache.cc [new file with mode: 0644]
game/cache.hh [new file with mode: 0644]
game/chrono.hh [new file with mode: 0644]
game/color.cc [new file with mode: 0644]
game/color.hh [new file with mode: 0644]
game/config.cmake.hh [new file with mode: 0644]
game/configuration.cc [new file with mode: 0644]
game/configuration.hh [new file with mode: 0644]
game/controllers-buttons.ii [new file with mode: 0644]
game/controllers-joystick.cc [new file with mode: 0644]
game/controllers-keyboard.cc [new file with mode: 0644]
game/controllers-midi.cc [new file with mode: 0644]
game/controllers.cc [new file with mode: 0644]
game/controllers.hh [new file with mode: 0644]
game/dancegraph.cc [new file with mode: 0644]
game/dancegraph.hh [new file with mode: 0644]
game/database.cc [new file with mode: 0644]
game/database.hh [new file with mode: 0644]
game/dialog.cc [new file with mode: 0644]
game/dialog.hh [new file with mode: 0644]
game/engine.cc [new file with mode: 0644]
game/engine.hh [new file with mode: 0644]
game/execname.cc [new file with mode: 0644]
game/fbo.hh [new file with mode: 0644]
game/ffmpeg.cc [new file with mode: 0644]
game/ffmpeg.hh [new file with mode: 0644]
game/fs.cc [new file with mode: 0644]
game/fs.hh [new file with mode: 0644]
game/game.cc [new file with mode: 0644]
game/glmath.hh [new file with mode: 0644]
game/glshader.cc [new file with mode: 0644]
game/glshader.hh [new file with mode: 0644]
game/glutil.cc [new file with mode: 0644]
game/glutil.hh [new file with mode: 0644]
game/guitargraph.cc [new file with mode: 0644]
game/guitargraph.hh [new file with mode: 0644]
game/hiscore.cc [new file with mode: 0644]
game/hiscore.hh [new file with mode: 0644]
game/i18n.hh [new file with mode: 0644]
game/image.cc [new file with mode: 0644]
game/image.hh [new file with mode: 0644]
game/instrumentgraph.cc [new file with mode: 0644]
game/instrumentgraph.hh [new file with mode: 0644]
game/layout_singer.cc [new file with mode: 0644]
game/layout_singer.hh [new file with mode: 0644]
game/libda/fft.hpp [new file with mode: 0644]
game/libda/mixer.hpp [new file with mode: 0644]
game/libda/portaudio.hpp [new file with mode: 0644]
game/libda/sample.hpp [new file with mode: 0644]
game/libxml++-impl.hh [new file with mode: 0644]
game/libxml++.hh [new file with mode: 0644]
game/log.cc [new file with mode: 0644]
game/log.hh [new file with mode: 0644]
game/main.cc [new file with mode: 0644]
game/menu.cc [new file with mode: 0644]
game/menu.hh [new file with mode: 0644]
game/midifile.cc [new file with mode: 0644]
game/midifile.hh [new file with mode: 0644]
game/musicalscale.cc [new file with mode: 0644]
game/musicalscale.hh [new file with mode: 0644]
game/notegraph.cc [new file with mode: 0644]
game/notegraph.hh [new file with mode: 0644]
game/notes.cc [new file with mode: 0644]
game/notes.hh [new file with mode: 0644]
game/opengl_text.cc [new file with mode: 0644]
game/opengl_text.hh [new file with mode: 0644]
game/pitch.cc [new file with mode: 0644]
game/pitch.hh [new file with mode: 0644]
game/platform.cc [new file with mode: 0644]
game/platform.hh [new file with mode: 0644]
game/platform/execname.bsd.inc [new file with mode: 0644]
game/platform/execname.mac.inc [new file with mode: 0644]
game/platform/execname.sun.inc [new file with mode: 0644]
game/platform/execname.unix.inc [new file with mode: 0644]
game/platform/execname.win.inc [new file with mode: 0644]
game/platform/fs_paths.unix.inc [new file with mode: 0644]
game/platform/fs_paths.win.inc [new file with mode: 0644]
game/player.cc [new file with mode: 0644]
game/player.hh [new file with mode: 0644]
game/players.cc [new file with mode: 0644]
game/players.hh [new file with mode: 0644]
game/playlist.cc [new file with mode: 0644]
game/playlist.hh [new file with mode: 0644]
game/portmidi.hh [new file with mode: 0644]
game/profiler.hh [new file with mode: 0644]
game/progressbar.cc [new file with mode: 0644]
game/progressbar.hh [new file with mode: 0644]
game/requesthandler.cc [new file with mode: 0644]
game/requesthandler.hh [new file with mode: 0644]
game/screen.hh [new file with mode: 0644]
game/screen_audiodevices.cc [new file with mode: 0644]
game/screen_audiodevices.hh [new file with mode: 0644]
game/screen_intro.cc [new file with mode: 0644]
game/screen_intro.hh [new file with mode: 0644]
game/screen_paths.cc [new file with mode: 0644]
game/screen_paths.hh [new file with mode: 0644]
game/screen_players.cc [new file with mode: 0644]
game/screen_players.hh [new file with mode: 0644]
game/screen_playlist.cc [new file with mode: 0644]
game/screen_playlist.hh [new file with mode: 0644]
game/screen_practice.cc [new file with mode: 0644]
game/screen_practice.hh [new file with mode: 0644]
game/screen_sing.cc [new file with mode: 0644]
game/screen_sing.hh [new file with mode: 0644]
game/screen_songs.cc [new file with mode: 0644]
game/screen_songs.hh [new file with mode: 0644]
game/singleton.hh [new file with mode: 0644]
game/song.cc [new file with mode: 0644]
game/song.hh [new file with mode: 0644]
game/songitems.cc [new file with mode: 0644]
game/songitems.hh [new file with mode: 0644]
game/songparser-ini.cc [new file with mode: 0644]
game/songparser-mid.cc [new file with mode: 0644]
game/songparser-sm.cc [new file with mode: 0644]
game/songparser-txt.cc [new file with mode: 0644]
game/songparser-xml.cc [new file with mode: 0644]
game/songparser.cc [new file with mode: 0644]
game/songparser.hh [new file with mode: 0644]
game/songs.cc [new file with mode: 0644]
game/songs.hh [new file with mode: 0644]
game/svg.cc [new file with mode: 0644]
game/svg.hh [new file with mode: 0644]
game/textinput.hh [new file with mode: 0644]
game/texture.cc [new file with mode: 0644]
game/texture.hh [new file with mode: 0644]
game/theme.cc [new file with mode: 0644]
game/theme.hh [new file with mode: 0644]
game/unicode.cc [new file with mode: 0644]
game/unicode.hh [new file with mode: 0644]
game/util.cc [new file with mode: 0644]
game/util.hh [new file with mode: 0644]
game/video.cc [new file with mode: 0644]
game/video.hh [new file with mode: 0644]
game/video_driver.cc [new file with mode: 0644]
game/video_driver.hh [new file with mode: 0644]
game/webcam.cc [new file with mode: 0644]
game/webcam.hh [new file with mode: 0644]
game/webserver.cc [new file with mode: 0644]
game/webserver.hh [new file with mode: 0644]
lang/CMakeLists.txt [new file with mode: 0644]
lang/README [new file with mode: 0644]
lang/TRANSLATORS [new file with mode: 0644]
lang/ast.po [new file with mode: 0644]
lang/da.po [new file with mode: 0644]
lang/de.po [new file with mode: 0644]
lang/es.po [new file with mode: 0644]
lang/fa.po [new file with mode: 0644]
lang/fi.po [new file with mode: 0644]
lang/fr.po [new file with mode: 0644]
lang/hu.po [new file with mode: 0644]
lang/it.po [new file with mode: 0644]
lang/ja.po [new file with mode: 0644]
lang/nl.po [new file with mode: 0644]
lang/performous.pot [new file with mode: 0644]
lang/pl.po [new file with mode: 0644]
lang/pt_BR.po [new file with mode: 0644]
lang/sk.po [new file with mode: 0644]
lang/sv.po [new file with mode: 0644]
lang/zh.po [new file with mode: 0644]
licence.txt [new file with mode: 0644]
osx-utils/CMakeFiles/cmake.check_cache [new file with mode: 0644]
osx-utils/performous-app-build.sh [new file with mode: 0755]
osx-utils/resources/Info.plist [new file with mode: 0644]
osx-utils/resources/default_bg_illustrator.ai [new file with mode: 0644]
osx-utils/resources/dmg-bg.png [new file with mode: 0644]
osx-utils/resources/dmg-bg@2x.png [new file with mode: 0644]
osx-utils/resources/dmg_spec.json [new file with mode: 0644]
osx-utils/resources/performous-launcher [new file with mode: 0755]
osx-utils/resources/performous.icns [new file with mode: 0644]
portage-overlay/games-arcade/performous/performous-9999.ebuild [new file with mode: 0644]
portage-overlay/games-util/eof/eof-1.65.ebuild [new file with mode: 0644]
portage-overlay/games-util/eof/eof-9999.ebuild [new file with mode: 0644]
portage-overlay/games-util/foflc/foflc-9999.ebuild [new file with mode: 0644]
tools/CMakeLists.txt [new file with mode: 0644]
tools/adpcm.h [new file with mode: 0644]
tools/adpcm_decode.cc [new file with mode: 0644]
tools/adpcm_play.cc [new file with mode: 0644]
tools/archive_extract.cc [new file with mode: 0644]
tools/bitfiles.h [new file with mode: 0644]
tools/chc_decode.hh [new file with mode: 0644]
tools/cover_conv.cc [new file with mode: 0644]
tools/gh_fsb/fsb.h [new file with mode: 0644]
tools/gh_fsb/fsbext.c [new file with mode: 0644]
tools/gh_fsb/mywav.h [new file with mode: 0644]
tools/gh_fsb/show_dump.h [new file with mode: 0644]
tools/gh_fsb/xma_header.h [new file with mode: 0644]
tools/gh_xen_decrypt.cc [new file with mode: 0644]
tools/ipu_conv.cc [new file with mode: 0644]
tools/ipuconv.hh [new file with mode: 0644]
tools/ipuconvmain.cc [new file with mode: 0644]
tools/itg_pck.cc [new file with mode: 0644]
tools/pak.cc [new file with mode: 0644]
tools/pak.h [new file with mode: 0644]
tools/pak_extract.cc [new file with mode: 0644]
tools/ppa/control.patch [new file with mode: 0644]
tools/ppa/ppa.sh [new file with mode: 0755]
tools/ppa/ppastats.py [new file with mode: 0755]
tools/scripts/create-archive.sh [new file with mode: 0755]
tools/scripts/fix-songfiles.sh [new file with mode: 0755]
tools/scripts/setvocals.sh [new file with mode: 0644]
tools/scripts/setvocals_recursively.sh [new file with mode: 0644]
tools/scripts/translation_wiki_helper.sh [new file with mode: 0755]
tools/scripts/txts2duet [new file with mode: 0755]
tools/scripts/usdb.sh [new file with mode: 0755]
tools/scripts/xml_gettext.sh [new file with mode: 0755]
tools/ss_binary.hh [new file with mode: 0644]
tools/ss_chc_decode.cc [new file with mode: 0644]
tools/ss_cover.cc [new file with mode: 0644]
tools/ss_cover.hh [new file with mode: 0644]
tools/ss_extract.cc [new file with mode: 0644]
tools/ss_helpers.hh [new file with mode: 0644]
win32/ConfigureSongDirectory.bat [new file with mode: 0755]
win32/mxe/.gitignore [new file with mode: 0644]
win32/mxe/copydlls.py [new file with mode: 0755]
win32/mxe/make-installer.py [new file with mode: 0755]
win32/mxe/make-mxe.sh [new file with mode: 0755]
win32/mxe/make-performous.sh [new file with mode: 0755]
win32/mxe/settings.mk [new file with mode: 0644]
win32/performous.cmake.rc [new file with mode: 0644]
win32/performous.ico [new file with mode: 0644]

diff --git a/.dockerignore b/.dockerignore
new file mode 100644 (file)
index 0000000..880b7ad
--- /dev/null
@@ -0,0 +1 @@
+.semaphore-cache
\ No newline at end of file
diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md
new file mode 100644 (file)
index 0000000..ffb0f4e
--- /dev/null
@@ -0,0 +1,74 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, gender identity and expression, level of experience,
+education, socio-economic status, nationality, personal appearance, race,
+religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+  advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+  address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+  professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviors that they deem inappropriate,
+threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by contacting the project team at [our Discord server](https://discord.gg/NS3m3ad) by private messaging one of the admins around. All
+complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an incident.
+Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
+available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+
+[homepage]: https://www.contributor-covenant.org
+
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644 (file)
index 0000000..18222e8
--- /dev/null
@@ -0,0 +1,321 @@
+# Contributing
+
+## Preparations
+
+Be sure not to have multiple Performous versions installed at the same time. It may seem to work, but the graphics may display incorrectly due to wrong theme files being used. To prevent that, clean up old files:
+
+```bash
+rm -rf /usr/local/bin/performous /usr/local/share/games/performous/
+```
+
+## Dependencies
+
+If you happen to be running one of these, please start by installing the following packages. If not, just skip this section and follow the instructions. We try to keep these lists accurate and up-to-date with the development version. If you find that something is missing or that there are unnecessary package installs, please fix it.
+
+Gettext (localization), Help2Man (UNIX manual pages), OpenCV (webcam support) and PortMidi (MIDI drum support) are optional and can be left out if no support for these functions is required.
+
+### Debian and Ubuntu
+
+```bash
+sudo apt-get install git-core cmake build-essential gettext help2man \
+   libepoxy-dev libsdl2-dev libcairo2-dev libpango1.0-dev librsvg2-dev \
+   libboost-all-dev libavcodec-dev libavformat-dev libswscale-dev libswresample-dev \
+   libpng-dev libjpeg-dev libxml++2.6-dev portaudio19-dev \
+   libopencv-dev libportmidi-dev libcppnetlib-dev libjsoncpp-dev
+```
+
+Notice: Dependency problems may prevent installation of portaudio19-dev. At least with Ubuntu 13.04 this can be solved by first installing libjack-jackd2-dev, even though that package is not actually needed for Performous.
+
+Alternatively, you can do:
+
+```bash
+sudo apt-get build-dep performous
+```
+
+which installs all the build dependencies for the version in the repositories. It might not be completely accurate for the current git version, but should get you pretty far.
+
+Note: when building the webserver-branch you need CPP-netlib version `0.11.2` which can be downloaded from here: https://github.com/cpp-netlib/cpp-netlib/archive/cpp-netlib-0.11.2-final.zip and unpack the folder named "boost" into /usr/include.
+if done correctly you should have the file: /usr/include/boost/network/protocol/http/server.hpp among some others.
+
+### Gentoo
+
+```bash
+sudo emerge boost git cmake help2man glew libsdl2 ffmpeg portaudio libxmlpp \
+   opencv portmidi
+```
+
+### Fedora
+
+(You need [http://rpmfusion.org/Configuration RPM Fusion Free] repository for ffmpeg):
+
+```bash
+yum install git cmake gcc-c++ gettext cairo-devel librsvg2-devel libsigc++20-devel \
+   glibmm24-devel libxml++-devel boost-devel SDL2-devel libepoxy-devel ffmpeg-devel \
+   portaudio-devel help2man redhat-lsb opencv-devel portmidi-devel libjpeg-turbo-devel \
+   pango-devel jsoncpp-devel 
+```
+
+### MacOS
+
+These instructions will walk you through building Performous for macOS (10.9+) and bundling and packaging it inside a DMG ready to install. By default these instructions build the internal webserver, the extra tools (such as Singstar extractor; note, not all are currently working in macOS, even if they all do build succesfully), and support for webcam (via OpenCV)
+
+* These instruction have been tested with macOS 10.12.5 and XCode 8.3.3.
+
+1.  Install macports first, clean installation is preferred to avoid conflicts.
+2.  Update macports and its port list via 
+
+```bash
+sudo port selfupdate
+```
+
+* Most dependencies required to use the provided build script must be installed using MacPorts. A couple of them (marked with asterisks, below) are not available in this manner and will have to be obtained and built separately.
+You can use the default 
+  sudo port install <dependency_name>
+to install the dependencies and it's reported to work. However, official macOS releases are built using the following configuration parameters:
+
+```bash
+ sudo /opt/local/bin/port -vsf install <package_name> -universal configure.compiler="clang" \ 
+ configure.cxx_stdlib="libc++" configure.macosx_deployment_target="10.9" \
+ configure.sdkroot="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk" \
+ configure.cxxflags="-std=c++11 -mmacosx-version-min=10.9 -m64 -arch x86_64 -stdlib=libc++ \ 
+ -Wl,-headerpad_max_install_names" configure.cflags="-m64 -arch x86_64 -mmacosx-version-min=10.9 \
+ -Wl,-headerpad_max_install_names" configure.ldflags="-m64 -arch x86_64 -stdlib=libc++ \ 
+ -headerpad_max_install_names -mmacosx-version-min=10.9"
+```
+
+and also these, in `~/.macports/macports.conf` (largely they're the same things as the commandline parameters, but Macports is sometimes... well, special, in deciding which things can be configured via command-line and which cannot.
+
+```bash
+  build_arch           x86_64
+  cxx_stdlib           libc++
+  configure.cxx_stdlib libc++
+  macosx_deployment_target 10.9
+  configure.cxxflags  "-mmacosx-version-min=10.9 -m64 -arch x86_64 -stdlib=libc++ -Wl,-headerpad_max_install_names"
+  configure.cflags  "-mmacosx-version-min=10.9 -m64 -arch x86_64 -Wl,-headerpad_max_install_names"
+  configure.ldflags "-m64 -arch x86_64 -stdlib=libc++ -headerpad_max_install_names -mmacosx-version-min=10.9"
+  cxxflags  "-mmacosx-version-min=10.9 -m64 -arch x86_64 -stdlib=libc++ -Wl,-headerpad_max_install_names"
+  cflags  "-mmacosx-version-min=10.9 -m64 -arch x86_64 -Wl,-headerpad_max_install_names"
+  ldflags "-m64 -arch x86_64 -stdlib=libc++ -headerpad_max_install_names -mmacosx-version-min=10.9"
+  configure.sdkroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
+  sdkroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
+  universal_archs      x86_64 noarch
+  buildmakejobs        0
+```
+
+3. Dependencies
+
+* npm
+* boost
+* libxmlxx2
+* libsdl2
+* ffmpeg
+* cmake
+* jsoncpp
+* help2man
+* libepoxy
+* librsvg
+* portaudio
+* portmidi
+* opencv
+* dylibbundler (*)
+* asio-c++ (*)
+* cppnetlib (*)
+
+   * Note: Libraries that are required by other dependencies are absent from this list (since they will be installed automatically) in order to simplify the instructions.
+   * Note: Dependencies marked with an asterisk are not available or are outdated in Macports and should be obtained elsewhere.
+
+4. Download dylibbundler, asioc++ and cpp-netlib version 0.11.2
+
+* Download dylibbundler from https://github.com/auriamg/macdylibbundler/ and install it according to the README.
+* Download asioc++ from http://think-async.com/Asio/Download, extract it, and open a terminal. Navigate to the folder where the asio folder is, and type the following:
+
+```bash
+ mkdir asio-build && cd asio-build
+  ASIO_STANDALONE=1 CXXFLAGS="-std=c++11 -stdlib=libc++" CC="/usr/bin/clang" CXX="/usr/bin/clang++" ../asio-1.10.6/configure --prefix=/opt/local --with-boost=no
+ make check && sudo make install
+```
+
+* Note: Make sure the path to configure is correct, here I am using the default folder to which asioc++ is extracted. 
+
+* Download cpp-netlib 0.11.2 from https://github.com/cpp-netlib/cpp-netlib/releases/tag/cpp-netlib-0.11.2-final
+* Extract it, and once again open a terminal. Navigate to where the cpp-netlib-0.11.2-final folder is, and type the following:
+
+```bash
+ mkdir cppnetlib-build && cd cppnetlib-build
+ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-std=c++11 \
+ -stdlib=libc++ -arch x86_64 -Wl,-headerpad_max_install_names" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 \ 
+ -DCMAKE_C_FLAGS="-Wl,-headerpad_max_install_names -arch x86_64" -DCMAKE_INSTALL_PREFIX=/opt/local/ \ 
+ -DCMAKE_EXE_LINKER_FLAGS=-headerpad_max_install_names -DCPP-NETLIB_BUILD_SHARED_LIBS=ON -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_SHARED_LINKER_FLAGS=-headerpad_max_install_names -DCMAKE_MACOSX_RPATH=ON -DCMAKE_OSX_ARCHITECTURES=x86_64 \
+ ../cpp-netlib-0.11.2-final
+ make -j0 test && sudo make install
+```
+
+* Note: In Sierra, it is possible the mime-roundtrip test fails with a SIGSEGV while using boost 1.59. If this happens you need to install boost 1.60+ (instructions on doing so will require creating a custom port; you can find instructions to do this and the required files in the macports website)
+
+* Note: Make sure the path to configure is correct, here I am using the default folder to which asioc++ is extracted. 
+
+5. Clone Performous from git as per the other build instructions
+
+6. Run the provided build script
+* Open a terminal and navigate to `performous/osx-tools/`, then type
+
+```bash
+ chmod +x ./performous-app-build.sh && ./performous-app-build.sh
+```
+
+   * Note: There might be messages stating you need to install further dependencies for the build process. Follow on-screen instructions here
+   * Note: Make sure to edit the performous-app-build.sh script and change the MAKE_JOBS variable to a number suitable to your machine, as a rule-of-thumb, you should change it to the lesser of how many CPU cores or Gb of RAM your computer has. 
+
+7. This should create a file '''Performous.dmg''' in that directory. Mount that and drag Performous to Applications to install.
+
+8. You'll most likely need to visit the audio configuration first in the configure menu. The integrated webserver can also be configured. Also check the wiki for supported paths for songs.
+
+9. Play and have fun!
+
+
+### MacOS with Homebrew
+
+Building with Homebrew is easier than with MacPorts. However, creation of a software bundle from a Homebrew-build fails, so you will need to run Performous from console.
+
+```bash
+brew install boost cmake ffmpeg help2man icu4c portaudio portmidi \
+    opencv libepoxy librsvg libxml++3 sdl2
+```
+
+Then follow the usual Performous build instructions. No special flags are required and you can do make install without sudo.
+
+### Windows
+
+Building in Windows is a bit trickier since you cannot get the dependencies as easily as in other systems. You should download the Git version (see [[Developing]]) and look at the scripts in win32 folder. They attempt to automatically set up the build environment (download and compile dependencies). Native builds should work with MSYS2, but have not been tested by anyone recently (that we know of, test reports welcome). The commonly used method is cross-compiling from Linux via MXE.
+
+### Cross compiling MXE
+
+The dependencies can be cross-compiled for Windows from Debian/Ubuntu Linux (possibly others, too), using the MinGW32/MinGW54 cross compiler. Best results are currently achieved using the "M cross environment" aka. [http://mxe.cc/ MXE]:
+
+Get MXE:
+
+```bash
+git clone -b master https://github.com/mxe/mxe.git
+```
+
+Set up the settings.mk file (adjust JOBS to your number of CPU cores):
+
+```bash
+JOBS := 4
+MXE_TARGETS :=  i686-w64-mingw32.shared
+LOCAL_PKG_LIST := gettext sdl2 boost portaudio ffmpeg portmidi pango \
+   gdk-pixbuf librsvg libsigc++ libxml++ libepoxy
+.DEFAULT local-pkg-list:
+local-pkg-list: $(LOCAL_PKG_LIST)
+```
+
+Run `make` to build the cross-compiler and packages (you can speed up the process by doing `make -j3`, where 3 is the number of CPU cores you wish to use).
+
+When building later, replace the plain cmake command with these commands:
+
+```bash
+MXE_PREFIX=/where/mxe/is/installed
+MXE_TARGET=i686-w64-mingw32.shared
+cmake .. -DPKG_CONFIG_EXECUTABLE=$MXE_PREFIX/usr/bin/$MXE_TARGET-pkg-config \
+ -DCMAKE_TOOLCHAIN_FILE=$MXE_PREFIX/usr/$MXE_TARGET/share/cmake/mxe-conf.cmake \
+ -DBoost_THREAD_LIBRARY_RELEASE=$MXE_PREFIX/usr/$MXE_TARGET/bin/libboost_thread_win32-mt.dll \
+ -DENABLE_WEBCAM=OFF
+```
+
+## Building
+
+### Obtain latest source code
+
+#### Recommended way: Git
+
+Use [[Git Help|Git]] to get the latest development version from our public repository:
+
+```bash
+git clone git://github.com/performous/performous.git
+```
+
+You'll need a Git client. The command line program is fine, but if you prefer graphical interface, you can install e.g. git-gui on Linux and [TortoiseGit](https://tortoisegit.org) on Windows.
+
+
+#### Alternative way: Tarballs
+
+If you don't want to bother with git, you can just [download the bleeding edge code directly](https://github.com/performous/performous/archive/master.tar.gz).
+
+Tarballs of stable releases are also available for distributors but they are not recommended if you are building it for yourself. You can download the released sources from [here](https://github.com/performous/performous/releases).
+
+
+### Build and install
+
+```bash
+cd performous      # Where you downloaded the sources
+mkdir build        # Make the build in a separate folder that you can easily clean up
+cd build
+cmake ..           # Prepare build and check that all dependencies are in place
+make -j8           # Compile everything (replace 8 with number of CPU cores)
+sudo make install  # Install
+performous         # Start the game
+```
+
+If you get errors (especially if they are from the cmake command), you are probably missing some libraries required by the game. Install the needed libraries (development versions, e.g. libboost-dev) and retry the failing step until all dependencies are sorted out.
+
+Optionally, if you want to change installation path or do other compile-time configuration, you can use ccmake command line tool in build directory, after running cmake:
+
+```bash
+ccmake .
+```
+
+There are also graphical interfaces for CMake, e.g. `cmake-qt-gui` on Ubuntu. Running cmake or ccmake is not required with GUI tools.
+
+Before installing do `make install`, modify `CMAKE_INSTALL_PREFIX` if you don't want it installed in `/usr/local/`.
+
+
+## How to Write a Good Issue
+
+Please keep in mind that the GitHub issue tracker is not intended as a general support forum, but for reporting bugs and feature requests.
+For end-user related support questions, please refer to one of the following:
+
+- Discord Channel General: https://discord.gg/NS3m3ad
+
+### Title
+
+The title must be short and descriptive. (~60 characters)
+
+### Description
+
+- Respect the issue template as much as possible. [template](.github/ISSUE_TEMPLATE.md)
+- Explain the conditions which led you to write this issue: the context.
+- The context should lead to something, an idea or a problem that you’re facing.
+- Remain clear and concise.
+- Format your messages to help the reader focus on what matters and understand the structure of your message, use [Markdown syntax](https://help.github.com/articles/github-flavored-markdown)
+
+
+## How to Write a Good Pull Request
+
+### Title
+
+The title must be short and descriptive. (~60 characters)
+
+### Description
+
+- Respect the pull request template as much as possible. [template](.github/PULL_REQUEST_TEMPLATE.md)
+- Explain the conditions which led you to write this PR: the context.
+- The context should lead to something, an idea or a problem that you’re facing.
+- Remain clear and concise.
+- Format your messages to help the reader focus on what matters and understand the structure of your message, use [Markdown syntax](https://help.github.com/articles/github-flavored-markdown)
+
+### Content
+
+- Make it small.
+- Do only one thing.
+- Write useful descriptions and titles.
+- Avoid re-formatting.
+- Make sure the code builds.
+- Make sure all tests pass.
+- Add tests.
+- Address review comments in terms of additional commits.
+- Do not amend/squash existing ones unless the PR is trivial.
+- If a PR involves changes to third-party dependencies, the commits pertaining to the vendor folder and the manifest/lock file(s) should be committed separated.
+
+
+Read [10 tips for better pull requests](http://blog.ploeh.dk/2015/01/15/10-tips-for-better-pull-requests/).
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644 (file)
index 0000000..62035d0
--- /dev/null
@@ -0,0 +1,60 @@
+<!--
+DO NOT FILE ISSUES FOR GENERAL SUPPORT QUESTIONS.
+
+The issue tracker is for reporting bugs and feature requests only.
+For end-user related support questions, please refer to one of the following:
+
+- Discord Channel General: https://discord.gg/NS3m3ad
+
+-->
+
+
+### Do you want to request a *feature* or report a *bug*?
+
+<!--
+If you intend to ask a support question: DO NOT FILE AN ISSUE.
+Ask us on Discord instead: https://discord.gg/NS3m3ad
+-->
+
+### What did you do?
+
+<!--
+
+HOW TO WRITE A GOOD ISSUE?
+
+- Respect the issue template as much as possible.
+- The title should be short and descriptive.
+- Explain the conditions which led you to report this issue: the context.
+- The context should lead to something, an idea or a problem that you’re facing.
+- Remain clear and concise.
+- Format your messages to help the reader focus on what matters and understand the structure of your message, use Markdown syntax https://help.github.com/articles/github-flavored-markdown
+
+-->
+
+### What did you expect to see?
+
+
+
+### What did you see instead?
+
+
+
+### Output of `performous --version`: (_What version of Performous are you using?_)
+
+
+```
+(paste your output here)
+```
+
+### What is your environment & configuration (arguments, platform, ...)?
+
+<!--
+Add more configuration information here.
+-->
+
+
+### If applicable, please paste the log output at DEBUG level (`--logLevel=DEBUG` switch)
+
+```
+(paste your output here)
+```
diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md
new file mode 100644 (file)
index 0000000..0afd900
--- /dev/null
@@ -0,0 +1,62 @@
+---
+name: Bug report
+about: Create a report to help us improve
+
+---
+
+<!--
+DO NOT FILE ISSUES FOR GENERAL SUPPORT QUESTIONS.
+
+The issue tracker is for reporting bugs and feature requests only.
+For end-user related support questions, please refer to one of the following:
+
+- Discord Channel General: https://discord.gg/NS3m3ad
+
+-->
+
+
+### Do you want to request a *feature* or report a *bug*?
+
+Bug
+
+### What did you do?
+
+<!--
+
+HOW TO WRITE A GOOD BUG REPORT?
+
+- Respect the issue template as much as possible.
+- The title should be short and descriptive.
+- Explain the conditions which led you to report this issue: the context.
+- The context should lead to something, an idea or a problem that you’re facing.
+- Remain clear and concise.
+- Format your messages to help the reader focus on what matters and understand the structure of your message, use Markdown syntax https://help.github.com/articles/github-flavored-markdown
+
+-->
+
+### What did you expect to see?
+
+
+
+### What did you see instead?
+
+
+
+### Output of `performous --version`: (_What version of Performous are you using?_)
+
+```
+(paste your output here)
+```
+
+### What is your environment & configuration (arguments, platform, ...)?
+
+<!--
+Add more configuration information here.
+-->
+
+
+### If applicable, please paste the log output in DEBUG level (`--logLevel=DEBUG` switch)
+
+```
+(paste your output here)
+```
diff --git a/.github/ISSUE_TEMPLATE/Feature_request.md b/.github/ISSUE_TEMPLATE/Feature_request.md
new file mode 100644 (file)
index 0000000..cadbd74
--- /dev/null
@@ -0,0 +1,35 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+
+---
+
+<!--
+DO NOT FILE ISSUES FOR GENERAL SUPPORT QUESTIONS.
+
+The issue tracker is for reporting bugs and feature requests only.
+For end-user related support questions, please refer to one of the following:
+
+- Discord Channel General: https://discord.gg/NS3m3ad
+
+-->
+
+
+### Do you want to request a *feature* or report a *bug*?
+
+Feature
+
+### What did you expect to see?
+
+<!--
+
+HOW TO WRITE A GOOD ISSUE?
+
+- Respect the issue template as much as possible.
+- The title should be short and descriptive.
+- Explain the conditions which led you to report this issue: the context.
+- The context should lead to something, an idea or a problem that you’re facing.
+- Remain clear and concise.
+- Format your messages to help the reader focus on what matters and understand the structure of your message, use Markdown syntax https://help.github.com/articles/github-flavored-markdown
+
+-->
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644 (file)
index 0000000..1e4b660
--- /dev/null
@@ -0,0 +1,36 @@
+<!--
+PLEASE READ THIS MESSAGE.
+
+HOW TO WRITE A GOOD PULL REQUEST?
+
+- Make it small.
+- Do only one thing.
+- Avoid re-formatting.
+- Make sure the code builds.
+- Write useful descriptions and titles.
+- Address review comments in terms of additional commits.
+- Do not amend/squash existing ones unless the PR is trivial.
+- Read the contributing guide: https://github.com/performous/performous/blob/master/.github/CONTRIBUTING.md.
+
+-->
+
+### What does this PR do?
+
+<!-- A brief description of the change being made with this pull request. -->
+
+### Closes Issue(s)
+
+<!-- List here all the issues closed by this pull request. -->
+
+### Motivation
+
+<!-- What inspired you to submit this pull request? -->
+
+
+### More
+
+- [ ] Added/updated documentation
+
+### Additional Notes
+
+<!-- Anything else we should know when reviewing? -->
diff --git a/.github/PULL_REQUEST_TEMPLATE/mergeback.md b/.github/PULL_REQUEST_TEMPLATE/mergeback.md
new file mode 100644 (file)
index 0000000..dfc8560
--- /dev/null
@@ -0,0 +1,7 @@
+### What does this PR do?
+
+Merge v{{.Version}} into master
+
+### Motivation
+
+Be sync.
diff --git a/.github/PULL_REQUEST_TEMPLATE/release.md b/.github/PULL_REQUEST_TEMPLATE/release.md
new file mode 100644 (file)
index 0000000..226a85a
--- /dev/null
@@ -0,0 +1,7 @@
+### What does this PR do?
+
+Prepare release v{{.Version}}.
+
+### Motivation
+
+Create a new release.
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b8a057c
--- /dev/null
@@ -0,0 +1,90 @@
+cmake_minimum_required(VERSION 2.8)
+project(Performous CXX C)
+
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
+
+include(GetGitRevisionDescription)
+git_describe(PROJECT_VERSION --tags)
+if(NOT PROJECT_VERSION)
+       set(PROJECT_VERSION "1.1+")
+endif()
+
+message("Building ${PROJECT_NAME} ${PROJECT_VERSION}")
+
+# Avoid source tree pollution
+if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
+       message(FATAL_ERROR "In-source builds are not permitted. Make a separate folder for building:\nmkdir build; cd build; cmake ..\nBefore that, remove the files already created:\nrm -rf CMakeCache.txt CMakeFiles")
+endif(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
+
+# Add a sensible build type default and warning because empty means no optimization and no debug info.
+if(NOT CMAKE_BUILD_TYPE)
+       message("WARNING: CMAKE_BUILD_TYPE is not defined!\n         Defaulting to CMAKE_BUILD_TYPE=RelWithDebInfo. Use ccmake to set a proper value.")
+       SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
+endif(NOT CMAKE_BUILD_TYPE)
+
+if(CMAKE_BUILD_TYPE STREQUAL "Release")
+       add_definitions("-DNDEBUG")
+endif()
+
+# Enable C++14 support and other compiler flags...
+if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+       execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
+       message("Detected GCC version ${GCC_VERSION}")
+       if (GCC_VERSION VERSION_GREATER 7 OR GCC_VERSION VERSION_EQUAL 7)
+               set(CMAKE_CXX_FLAGS "-std=c++14 -Wall -Wextra -fcx-limited-range ${CMAKE_CXX_FLAGS}")
+       elseif (GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8)
+               set(CMAKE_CXX_FLAGS "-std=c++1y -Wall -Wextra -Wno-attributes -Wno-deprecated-declarations -fcx-limited-range ${CMAKE_CXX_FLAGS}")
+               message(WARNING "Your GCC is rather old, disabling some useful compiler warnings (GCC 7+ or Clang 5+ recommended for proper C++17 support).")
+       else()
+               message(FATAL_ERROR "Your C++ compiler is too old, please upgrade.")
+       endif()
+endif()
+
+if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+       # Note: AUTO_PTR is for Boost which won't compile with C++17 otherwise (fixed in Boost git but not in 1.66)
+       set(CMAKE_CXX_FLAGS "-std=c++1z -Wall -Wextra -D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR ${CMAKE_CXX_FLAGS}")
+endif()
+
+if(WIN32)
+       set(CMAKE_CXX_FLAGS "-DWIN32_LEAN_AND_MEAN ${CMAKE_CXX_FLAGS}")
+       set(SHARE_INSTALL_DEFAULT ".")
+       SET(LOCALE_DIR_DEFAULT "locale")
+else()
+       set(SHARE_INSTALL_DEFAULT "share/games/performous")
+       SET(LOCALE_DIR_DEFAULT "share/locale")
+endif()
+
+set(SHARE_INSTALL "${SHARE_INSTALL_DEFAULT}" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.")
+mark_as_advanced(SHARE_INSTALL)
+
+set(LOCALE_DIR "${LOCALE_DIR_DEFAULT}" CACHE STRING "Locale file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.")
+mark_as_advanced(LOCALE_DIR)
+
+find_package(Gettext)
+if(Gettext_FOUND)
+       message(STATUS "Localization enabled: Building and installing .mo files")
+       add_subdirectory(lang)
+else()
+       message(STATUS "Localization disabled: Gettext tools (msgfmt) missing")
+endif()
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ced)
+
+add_subdirectory(data)
+add_subdirectory(game)
+add_subdirectory(ced)
+add_subdirectory(docs)
+
+if(WIN32)
+       install(FILES win32/ConfigureSongDirectory.bat DESTINATION .)
+endif()
+
+#CPACK variables
+include(CPack)
+SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Niek Nooijens")
+SET(CPACK_PACKAGE_CONTACT "nieknooijens@gmail.com")
+SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libavcodec54, libavformat54, libswresample2, libsdl2-2.0-0, libportaudiocpp0, libboost-all-dev, libswscale2, libxml++2.6-2, libopencv-dev, librsvg2-2, libpango-1.0-0, libcairo2, libjpeg8, libpng12-0, libportmidi0 ")
+SET(CPACK_DEBIAN_PACKAGE_DESCRIPTION_SUMMARY "A free music rhythm game similar to SingStar, Guitar Hero and DDR")
+SET(CPACK_DEBIAN_PACKAGE_VERSION ${PROJECT_VERSION})
+SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
+SET(CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${CMAKE_BINARY_DIR};${PROJECT_NAME};ALL;/")
diff --git a/Dockerfile b/Dockerfile
new file mode 100644 (file)
index 0000000..979158a
--- /dev/null
@@ -0,0 +1,31 @@
+FROM ubuntu:16.04
+
+# Install dependencies Bleh
+
+RUN mkdir /src/
+COPY . /src/
+WORKDIR /src/
+
+RUN apt-get update && apt-get -y install software-properties-common && apt-add-repository -y ppa:litenstein/libicu60-xenial && apt-add-repository -y ppa:litenstein/libepoxy143-xenial && apt-add-repository -y ppa:litenstein/glm0-9-8-4-xenial && apt-get update && apt-get -y install cmake gettext help2man clang-3.8 libepoxy-dev libsdl2-dev libcairo2-dev libpango1.0-dev librsvg2-dev libboost-all-dev libavcodec-dev libavformat-dev libswscale-dev libswresample-dev libpng-dev libjpeg-dev libxml++2.6-dev portaudio19-dev libopencv-dev libportmidi-dev libqrencode-dev libicu-dev libglm-dev libssl-dev openssl wget && \
+\
+wget -O cpprestsdk.tar.gz https://github.com/Microsoft/cpprestsdk/archive/v2.10.2.tar.gz && \
+tar -xvzf cpprestsdk.tar.gz && cd cpprestsdk-2.10.2/Release && \
+mkdir build && cd build && \ 
+cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCPPREST_EXCLUDE_WEBSOCKETS=ON -DBUILD_TESTS=OFF -DBUILD_SAMPLES=OFF && make -j3 && \
+make install && \
+cd ../../../ && \
+\
+mkdir build.clang38 && \
+cd build.clang38 && \
+CC=clang-3.8 CXX=clang++-3.8 cmake .. && \
+make VERBOSE=1 && \
+\
+cd .. && \
+\
+mkdir build.gcc-5 && \
+cd build.gcc-5 && \
+\
+CC=gcc-5 CXX=g++-5 cmake .. && \
+make VERBOSE=1
+
+CMD ["performous"]
diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..8ebdde0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,14 @@
+![alt text](http://performous.org/imgs/title.png "Performous")
+Performous
+==========
+
+Build status
+[![Build Status](https://semaphoreci.com/api/v1/performous/performous/branches/master/badge.svg)](https://semaphoreci.com/performous/performous)
+
+An open-source karaoke, band and dancing game where one or more players perform a song and the game scores their performances. Supports songs in UltraStar, Frets on Fire and StepMania formats. Microphones and instruments from SingStar, Guitar Hero and Rock Band as well as some dance pads are autodetected.
+
+Website at http://performous.org/ << If you can't reach it try the mirror https://performous.asgardsings.nl
+Wiki at https://github.com/performous/performous/wiki
+Discord at https://discord.gg/NS3m3ad
+
+For compiling instructions, see docs/Compiling.txt or visit the wiki page: https://github.com/performous/performous/wiki/Building-and-installing-from-source
diff --git a/boost_predef/detail/os_detected.h b/boost_predef/detail/os_detected.h
new file mode 100644 (file)
index 0000000..08e10f9
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+Copyright Rene Rivera 2013
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_DETAIL_OS_DETECTED
+#define BOOST_PREDEF_DETAIL_OS_DETECTED 1
+#endif
diff --git a/boost_predef/detail/test.h b/boost_predef/detail/test.h
new file mode 100644 (file)
index 0000000..546a9e4
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+Copyright Rene Rivera 2011-2012
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_DETAIL_TEST_H
+#define BOOST_PREDEF_DETAIL_TEST_H
+
+#if !defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
+
+#define BOOST_PREDEF_DECLARE_TEST(x,s)
+
+#endif
+
+#endif
diff --git a/boost_predef/make.h b/boost_predef/make.h
new file mode 100644 (file)
index 0000000..3ce1a37
--- /dev/null
@@ -0,0 +1,89 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+#include "detail/test.h"
+
+#ifndef BOOST_PREDEF_MAKE_H
+#define BOOST_PREDEF_MAKE_H
+
+/*
+Shorthands for the common version number formats used by vendors...
+*/
+
+/*`
+[heading `BOOST_PREDEF_MAKE_..` macros]
+
+These set of macros decompose common vendor version number
+macros which are composed version, revision, and patch digits.
+The naming convention indicates:
+
+* The base of the specified version number. "`BOOST_PREDEF_MAKE_0X`" for
+  hexadecimal digits, and "`BOOST_PREDEF_MAKE_10`" for decimal digits.
+* The format of the vendor version number. Where "`V`" indicates the version digits,
+  "`R`" indicates the revision digits, "`P`" indicates the patch digits, and "`0`"
+  indicates an ignored digit.
+
+Macros are:
+*/
+/*` `BOOST_PREDEF_MAKE_0X_VRP(V)` */
+#define BOOST_PREDEF_MAKE_0X_VRP(V) BOOST_VERSION_NUMBER((V&0xF00)>>8,(V&0xF0)>>4,(V&0xF))
+/*` `BOOST_PREDEF_MAKE_0X_VVRP(V)` */
+#define BOOST_PREDEF_MAKE_0X_VVRP(V) BOOST_VERSION_NUMBER((V&0xFF00)>>8,(V&0xF0)>>4,(V&0xF))
+/*` `BOOST_PREDEF_MAKE_0X_VRPP(V)` */
+#define BOOST_PREDEF_MAKE_0X_VRPP(V) BOOST_VERSION_NUMBER((V&0xF000)>>12,(V&0xF00)>>8,(V&0xFF))
+/*` `BOOST_PREDEF_MAKE_0X_VVRR(V)` */
+#define BOOST_PREDEF_MAKE_0X_VVRR(V) BOOST_VERSION_NUMBER((V&0xFF00)>>8,(V&0xFF),0)
+/*` `BOOST_PREDEF_MAKE_0X_VRRPPPP(V)` */
+#define BOOST_PREDEF_MAKE_0X_VRRPPPP(V) BOOST_VERSION_NUMBER((V&0xF000000)>>24,(V&0xFF0000)>>16,(V&0xFFFF))
+/*` `BOOST_PREDEF_MAKE_0X_VVRRP(V)` */
+#define BOOST_PREDEF_MAKE_0X_VVRRP(V) BOOST_VERSION_NUMBER((V&0xFF000)>>12,(V&0xFF0)>>4,(V&0xF))
+/*` `BOOST_PREDEF_MAKE_0X_VRRPP000(V)` */
+#define BOOST_PREDEF_MAKE_0X_VRRPP000(V) BOOST_VERSION_NUMBER((V&0xF0000000)>>28,(V&0xFF00000)>>20,(V&0xFF000)>>12)
+/*` `BOOST_PREDEF_MAKE_0X_VVRRPP(V)` */
+#define BOOST_PREDEF_MAKE_0X_VVRRPP(V) BOOST_VERSION_NUMBER((V&0xFF0000)>>16,(V&0xFF00)>>8,(V&0xFF))
+/*` `BOOST_PREDEF_MAKE_10_VPPP(V)` */
+#define BOOST_PREDEF_MAKE_10_VPPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,0,(V)%1000)
+/*` `BOOST_PREDEF_MAKE_10_VRP(V)` */
+#define BOOST_PREDEF_MAKE_10_VRP(V) BOOST_VERSION_NUMBER(((V)/100)%10,((V)/10)%10,(V)%10)
+/*` `BOOST_PREDEF_MAKE_10_VRP000(V)` */
+#define BOOST_PREDEF_MAKE_10_VRP000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/10000)%10,((V)/1000)%10)
+/*` `BOOST_PREDEF_MAKE_10_VRPP(V)` */
+#define BOOST_PREDEF_MAKE_10_VRPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,((V)/100)%10,(V)%100)
+/*` `BOOST_PREDEF_MAKE_10_VRR(V)` */
+#define BOOST_PREDEF_MAKE_10_VRR(V) BOOST_VERSION_NUMBER(((V)/100)%10,(V)%100,0)
+/*` `BOOST_PREDEF_MAKE_10_VRRPP(V)` */
+#define BOOST_PREDEF_MAKE_10_VRRPP(V) BOOST_VERSION_NUMBER(((V)/10000)%10,((V)/100)%100,(V)%100)
+/*` `BOOST_PREDEF_MAKE_10_VRR000(V)` */
+#define BOOST_PREDEF_MAKE_10_VRR000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/1000)%100,0)
+/*` `BOOST_PREDEF_MAKE_10_VV00(V)` */
+#define BOOST_PREDEF_MAKE_10_VV00(V) BOOST_VERSION_NUMBER(((V)/100)%100,0,0)
+/*` `BOOST_PREDEF_MAKE_10_VVRR(V)` */
+#define BOOST_PREDEF_MAKE_10_VVRR(V) BOOST_VERSION_NUMBER(((V)/100)%100,(V)%100,0)
+/*` `BOOST_PREDEF_MAKE_10_VVRRPP(V)` */
+#define BOOST_PREDEF_MAKE_10_VVRRPP(V) BOOST_VERSION_NUMBER(((V)/10000)%100,((V)/100)%100,(V)%100)
+/*` `BOOST_PREDEF_MAKE_10_VVRR0PP00(V)` */
+#define BOOST_PREDEF_MAKE_10_VVRR0PP00(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,((V)/100)%100)
+/*` `BOOST_PREDEF_MAKE_10_VVRR0PPPP(V)` */
+#define BOOST_PREDEF_MAKE_10_VVRR0PPPP(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,(V)%10000)
+/*` `BOOST_PREDEF_MAKE_10_VVRR00PP00(V)` */
+#define BOOST_PREDEF_MAKE_10_VVRR00PP00(V) BOOST_VERSION_NUMBER(((V)/100000000)%100,((V)/1000000)%100,((V)/100)%100)
+/*`
+[heading `BOOST_PREDEF_MAKE_*..` date macros]
+
+Date decomposition macros return a date in the relative to the 1970
+Epoch date. If the month is not available, January 1st is used as the month and day.
+If the day is not available, but the month is, the 1st of the month is used as the day.
+*/
+/*` `BOOST_PREDEF_MAKE_DATE(Y,M,D)` */
+#define BOOST_PREDEF_MAKE_DATE(Y,M,D) BOOST_VERSION_NUMBER((Y)%10000-1970,(M)%100,(D)%100)
+/*` `BOOST_PREDEF_MAKE_YYYYMMDD(V)` */
+#define BOOST_PREDEF_MAKE_YYYYMMDD(V) BOOST_PREDEF_MAKE_DATE(((V)/10000)%10000,((V)/100)%100,(V)%100)
+/*` `BOOST_PREDEF_MAKE_YYYY(V)` */
+#define BOOST_PREDEF_MAKE_YYYY(V) BOOST_PREDEF_MAKE_DATE(V,1,1)
+/*` `BOOST_PREDEF_MAKE_YYYYMM(V)` */
+#define BOOST_PREDEF_MAKE_YYYYMM(V) BOOST_PREDEF_MAKE_DATE((V)/100,(V)%100,1)
+
+#endif
diff --git a/boost_predef/os.h b/boost_predef/os.h
new file mode 100644 (file)
index 0000000..4e66caa
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+Copyright Rene Rivera 2008-2015
+Copyright Franz Detro 2014
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#if !defined(BOOST_PREDEF_OS_H) || defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
+#ifndef BOOST_PREDEF_OS_H
+#define BOOST_PREDEF_OS_H
+#endif
+
+#include "os/aix.h"
+#include "os/amigaos.h"
+#include "os/android.h"
+#include "os/beos.h"
+#include "os/bsd.h"
+#include "os/cygwin.h"
+#include "os/haiku.h"
+#include "os/hpux.h"
+#include "os/irix.h"
+#include "os/ios.h"
+#include "os/linux.h"
+#include "os/macos.h"
+#include "os/os400.h"
+#include "os/qnxnto.h"
+#include "os/solaris.h"
+#include "os/unix.h"
+#include "os/vms.h"
+#include "os/windows.h"
+
+#endif
diff --git a/boost_predef/os/aix.h b/boost_predef/os/aix.h
new file mode 100644 (file)
index 0000000..f8540b9
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_AIX_H
+#define BOOST_PREDEF_OS_AIX_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_AIX`]
+
+[@http://en.wikipedia.org/wiki/AIX_operating_system IBM AIX] operating system.
+Version number available as major, minor, and patch.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`_AIX`] [__predef_detection__]]
+    [[`__TOS_AIX__`] [__predef_detection__]]
+
+    [[`_AIX43`] [4.3.0]]
+    [[`_AIX41`] [4.1.0]]
+    [[`_AIX32`] [3.2.0]]
+    [[`_AIX3`] [3.0.0]]
+    ]
+ */
+
+#define BOOST_OS_AIX BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(_AIX) || defined(__TOS_AIX__) \
+    )
+#   undef BOOST_OS_AIX
+#   if !defined(BOOST_OS_AIX) && defined(_AIX43)
+#       define BOOST_OS_AIX BOOST_VERSION_NUMBER(4,3,0)
+#   endif
+#   if !defined(BOOST_OS_AIX) && defined(_AIX41)
+#       define BOOST_OS_AIX BOOST_VERSION_NUMBER(4,1,0)
+#   endif
+#   if !defined(BOOST_OS_AIX) && defined(_AIX32)
+#       define BOOST_OS_AIX BOOST_VERSION_NUMBER(3,2,0)
+#   endif
+#   if !defined(BOOST_OS_AIX) && defined(_AIX3)
+#       define BOOST_OS_AIX BOOST_VERSION_NUMBER(3,0,0)
+#   endif
+#   if !defined(BOOST_OS_AIX)
+#       define BOOST_OS_AIX BOOST_VERSION_NUMBER_AVAILABLE
+#   endif
+#endif
+
+#if BOOST_OS_AIX
+#   define BOOST_OS_AIX_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_AIX_NAME "IBM AIX"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_AIX,BOOST_OS_AIX_NAME)
diff --git a/boost_predef/os/amigaos.h b/boost_predef/os/amigaos.h
new file mode 100644 (file)
index 0000000..05ee99d
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_AMIGAOS_H
+#define BOOST_PREDEF_OS_AMIGAOS_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_AMIGAOS`]
+
+[@http://en.wikipedia.org/wiki/AmigaOS AmigaOS] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`AMIGA`] [__predef_detection__]]
+    [[`__amigaos__`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_AMIGAOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(AMIGA) || defined(__amigaos__) \
+    )
+#   undef BOOST_OS_AMIGAOS
+#   define BOOST_OS_AMIGAOS BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_AMIGAOS
+#   define BOOST_OS_AMIGAOS_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_AMIGAOS_NAME "AmigaOS"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_AMIGAOS,BOOST_OS_AMIGAOS_NAME)
diff --git a/boost_predef/os/android.h b/boost_predef/os/android.h
new file mode 100644 (file)
index 0000000..f97d47e
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+Copyright Rene Rivera 2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_ADROID_H
+#define BOOST_PREDEF_OS_ADROID_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_ANDROID`]
+
+[@http://en.wikipedia.org/wiki/Android_%28operating_system%29 Android] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__ANDROID__`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_ANDROID BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(__ANDROID__) \
+    )
+#   undef BOOST_OS_ANDROID
+#   define BOOST_OS_ANDROID BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_ANDROID
+#   define BOOST_OS_ANDROID_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_ANDROID_NAME "Android"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_ANDROID,BOOST_OS_ANDROID_NAME)
diff --git a/boost_predef/os/beos.h b/boost_predef/os/beos.h
new file mode 100644 (file)
index 0000000..0f5f64d
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_BEOS_H
+#define BOOST_PREDEF_OS_BEOS_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_BEOS`]
+
+[@http://en.wikipedia.org/wiki/BeOS BeOS] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__BEOS__`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_BEOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(__BEOS__) \
+    )
+#   undef BOOST_OS_BEOS
+#   define BOOST_OS_BEOS BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_BEOS
+#   define BOOST_OS_BEOS_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_BEOS_NAME "BeOS"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BEOS,BOOST_OS_BEOS_NAME)
diff --git a/boost_predef/os/bsd.h b/boost_predef/os/bsd.h
new file mode 100644 (file)
index 0000000..36f589e
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_BSD_H
+#define BOOST_PREDEF_OS_BSD_H
+
+/* Special case: OSX will define BSD predefs if the sys/param.h
+ * header is included. We can guard against that, but only if we
+ * detect OSX first. Hence we will force include OSX detection
+ * before doing any BSD detection.
+ */
+#include "../os/macos.h"
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_BSD`]
+
+[@http://en.wikipedia.org/wiki/Berkeley_Software_Distribution BSD] operating system.
+
+BSD has various branch operating systems possible and each detected
+individually. This detects the following variations and sets a specific
+version number macro to match:
+
+* `BOOST_OS_BSD_DRAGONFLY` [@http://en.wikipedia.org/wiki/DragonFly_BSD DragonFly BSD]
+* `BOOST_OS_BSD_FREE` [@http://en.wikipedia.org/wiki/Freebsd FreeBSD]
+* `BOOST_OS_BSD_BSDI` [@http://en.wikipedia.org/wiki/BSD/OS BSDi BSD/OS]
+* `BOOST_OS_BSD_NET` [@http://en.wikipedia.org/wiki/Netbsd NetBSD]
+* `BOOST_OS_BSD_OPEN` [@http://en.wikipedia.org/wiki/Openbsd OpenBSD]
+
+[note The general `BOOST_OS_BSD` is set in all cases to indicate some form
+of BSD. If the above variants is detected the corresponding macro is also set.]
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`BSD`] [__predef_detection__]]
+    [[`_SYSTYPE_BSD`] [__predef_detection__]]
+
+    [[`BSD4_2`] [4.2.0]]
+    [[`BSD4_3`] [4.3.0]]
+    [[`BSD4_4`] [4.4.0]]
+    [[`BSD`] [V.R.0]]
+    ]
+ */
+
+#include "../os/bsd/bsdi.h"
+#include "../os/bsd/dragonfly.h"
+#include "../os/bsd/free.h"
+#include "../os/bsd/open.h"
+#include "../os/bsd/net.h"
+
+#ifndef BOOST_OS_BSD
+#define BOOST_OS_BSD BOOST_VERSION_NUMBER_NOT_AVAILABLE
+#endif
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(BSD) || \
+    defined(_SYSTYPE_BSD) \
+    )
+#   undef BOOST_OS_BSD
+#   include <sys/param.h>
+#   if !defined(BOOST_OS_BSD) && defined(BSD4_4)
+#       define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,4,0)
+#   endif
+#   if !defined(BOOST_OS_BSD) && defined(BSD4_3)
+#       define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,3,0)
+#   endif
+#   if !defined(BOOST_OS_BSD) && defined(BSD4_2)
+#       define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,2,0)
+#   endif
+#   if !defined(BOOST_OS_BSD) && defined(BSD)
+#       define BOOST_OS_BSD BOOST_PREDEF_MAKE_10_VVRR(BSD)
+#   endif
+#   if !defined(BOOST_OS_BSD)
+#       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
+#   endif
+#endif
+
+#if BOOST_OS_BSD
+#   define BOOST_OS_BSD_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_BSD_NAME "BSD"
+
+#else
+
+#include "../os/bsd/bsdi.h"
+#include "../os/bsd/dragonfly.h"
+#include "../os/bsd/free.h"
+#include "../os/bsd/open.h"
+#include "../os/bsd/net.h"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD,BOOST_OS_BSD_NAME)
diff --git a/boost_predef/os/bsd/bsdi.h b/boost_predef/os/bsd/bsdi.h
new file mode 100644 (file)
index 0000000..70cf3a4
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+Copyright Rene Rivera 2012-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_BSD_BSDI_H
+#define BOOST_PREDEF_OS_BSD_BSDI_H
+
+#include "../bsd.h"
+
+/*`
+[heading `BOOST_OS_BSD_BSDI`]
+
+[@http://en.wikipedia.org/wiki/BSD/OS BSDi BSD/OS] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__bsdi__`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_BSD_BSDI BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(__bsdi__) \
+    )
+#   ifndef BOOST_OS_BSD_AVAILABLE
+#       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
+#       define BOOST_OS_BSD_AVAILABLE
+#   endif
+#   undef BOOST_OS_BSD_BSDI
+#   define BOOST_OS_BSD_BSDI BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_BSD_BSDI
+#   define BOOST_OS_BSD_BSDI_AVAILABLE
+#   include "../../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_BSD_BSDI_NAME "BSDi BSD/OS"
+
+#endif
+
+#include "../../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_BSDI,BOOST_OS_BSD_BSDI_NAME)
diff --git a/boost_predef/os/bsd/dragonfly.h b/boost_predef/os/bsd/dragonfly.h
new file mode 100644 (file)
index 0000000..d7d8484
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+Copyright Rene Rivera 2012-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_BSD_DRAGONFLY_H
+#define BOOST_PREDEF_OS_BSD_DRAGONFLY_H
+
+#include "../bsd.h"
+
+/*`
+[heading `BOOST_OS_BSD_DRAGONFLY`]
+
+[@http://en.wikipedia.org/wiki/DragonFly_BSD DragonFly BSD] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__DragonFly__`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_BSD_DRAGONFLY BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(__DragonFly__) \
+    )
+#   ifndef BOOST_OS_BSD_AVAILABLE
+#       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
+#       define BOOST_OS_BSD_AVAILABLE
+#   endif
+#   undef BOOST_OS_BSD_DRAGONFLY
+#   if defined(__DragonFly__)
+#       define BOOST_OS_DRAGONFLY_BSD BOOST_VERSION_NUMBER_AVAILABLE
+#   endif
+#endif
+
+#if BOOST_OS_BSD_DRAGONFLY
+#   define BOOST_OS_BSD_DRAGONFLY_AVAILABLE
+#   include "../../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_BSD_DRAGONFLY_NAME "DragonFly BSD"
+
+#endif
+
+#include "../../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_DRAGONFLY,BOOST_OS_BSD_DRAGONFLY_NAME)
diff --git a/boost_predef/os/bsd/free.h b/boost_predef/os/bsd/free.h
new file mode 100644 (file)
index 0000000..98fda4d
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+Copyright Rene Rivera 2012-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_BSD_FREE_H
+#define BOOST_PREDEF_OS_BSD_FREE_H
+
+#include "../bsd.h"
+
+/*`
+[heading `BOOST_OS_BSD_FREE`]
+
+[@http://en.wikipedia.org/wiki/Freebsd FreeBSD] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__FreeBSD__`] [__predef_detection__]]
+
+    [[`__FreeBSD_version`] [V.R.P]]
+    ]
+ */
+
+#define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(__FreeBSD__) \
+    )
+#   ifndef BOOST_OS_BSD_AVAILABLE
+#       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
+#       define BOOST_OS_BSD_AVAILABLE
+#   endif
+#   undef BOOST_OS_BSD_FREE
+#   if defined(__FreeBSD_version)
+#       if __FreeBSD_version < 500000
+#           define BOOST_OS_BSD_FREE \
+                BOOST_PREDEF_MAKE_10_VRP000(__FreeBSD_version)
+#       else
+#           define BOOST_OS_BSD_FREE \
+                BOOST_PREDEF_MAKE_10_VRR000(__FreeBSD_version)
+#       endif
+#   else
+#       define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_AVAILABLE
+#   endif
+#endif
+
+#if BOOST_OS_BSD_FREE
+#   define BOOST_OS_BSD_FREE_AVAILABLE
+#   include "../../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_BSD_FREE_NAME "Free BSD"
+
+#endif
+
+#include "../../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_FREE,BOOST_OS_BSD_FREE_NAME)
diff --git a/boost_predef/os/bsd/net.h b/boost_predef/os/bsd/net.h
new file mode 100644 (file)
index 0000000..f41a760
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+Copyright Rene Rivera 2012-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_BSD_NET_H
+#define BOOST_PREDEF_OS_BSD_NET_H
+
+#include "../bsd.h"
+
+/*`
+[heading `BOOST_OS_BSD_NET`]
+
+[@http://en.wikipedia.org/wiki/Netbsd NetBSD] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__NETBSD__`] [__predef_detection__]]
+    [[`__NetBSD__`] [__predef_detection__]]
+
+    [[`__NETBSD_version`] [V.R.P]]
+    [[`NetBSD0_8`] [0.8.0]]
+    [[`NetBSD0_9`] [0.9.0]]
+    [[`NetBSD1_0`] [1.0.0]]
+    [[`__NetBSD_Version`] [V.R.P]]
+    ]
+ */
+
+#define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(__NETBSD__) || defined(__NetBSD__) \
+    )
+#   ifndef BOOST_OS_BSD_AVAILABLE
+#       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
+#       define BOOST_OS_BSD_AVAILABLE
+#   endif
+#   undef BOOST_OS_BSD_NET
+#   if defined(__NETBSD__)
+#       if defined(__NETBSD_version)
+#           if __NETBSD_version < 500000
+#               define BOOST_OS_BSD_NET \
+                    BOOST_PREDEF_MAKE_10_VRP000(__NETBSD_version)
+#           else
+#               define BOOST_OS_BSD_NET \
+                    BOOST_PREDEF_MAKE_10_VRR000(__NETBSD_version)
+#           endif
+#       else
+#           define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_AVAILABLE
+#       endif
+#   elif defined(__NetBSD__)
+#       if !defined(BOOST_OS_BSD_NET) && defined(NetBSD0_8)
+#           define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(0,8,0)
+#       endif
+#       if !defined(BOOST_OS_BSD_NET) && defined(NetBSD0_9)
+#           define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(0,9,0)
+#       endif
+#       if !defined(BOOST_OS_BSD_NET) && defined(NetBSD1_0)
+#           define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(1,0,0)
+#       endif
+#       if !defined(BOOST_OS_BSD_NET) && defined(__NetBSD_Version)
+#           define BOOST_OS_BSD_NET \
+                BOOST_PREDEF_MAKE_10_VVRR00PP00(__NetBSD_Version)
+#       endif
+#       if !defined(BOOST_OS_BSD_NET)
+#           define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_AVAILABLE
+#       endif
+#   endif
+#endif
+
+#if BOOST_OS_BSD_NET
+#   define BOOST_OS_BSD_NET_AVAILABLE
+#   include "../../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_BSD_NET_NAME "DragonFly BSD"
+
+#endif
+
+#include "../../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_NET,BOOST_OS_BSD_NET_NAME)
diff --git a/boost_predef/os/bsd/open.h b/boost_predef/os/bsd/open.h
new file mode 100644 (file)
index 0000000..605bbe9
--- /dev/null
@@ -0,0 +1,171 @@
+/*
+Copyright Rene Rivera 2012-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_BSD_OPEN_H
+#define BOOST_PREDEF_OS_BSD_OPEN_H
+
+#include "../bsd.h"
+
+/*`
+[heading `BOOST_OS_BSD_OPEN`]
+
+[@http://en.wikipedia.org/wiki/Openbsd OpenBSD] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__OpenBSD__`] [__predef_detection__]]
+
+    [[`OpenBSD2_0`] [2.0.0]]
+    [[`OpenBSD2_1`] [2.1.0]]
+    [[`OpenBSD2_2`] [2.2.0]]
+    [[`OpenBSD2_3`] [2.3.0]]
+    [[`OpenBSD2_4`] [2.4.0]]
+    [[`OpenBSD2_5`] [2.5.0]]
+    [[`OpenBSD2_6`] [2.6.0]]
+    [[`OpenBSD2_7`] [2.7.0]]
+    [[`OpenBSD2_8`] [2.8.0]]
+    [[`OpenBSD2_9`] [2.9.0]]
+    [[`OpenBSD3_0`] [3.0.0]]
+    [[`OpenBSD3_1`] [3.1.0]]
+    [[`OpenBSD3_2`] [3.2.0]]
+    [[`OpenBSD3_3`] [3.3.0]]
+    [[`OpenBSD3_4`] [3.4.0]]
+    [[`OpenBSD3_5`] [3.5.0]]
+    [[`OpenBSD3_6`] [3.6.0]]
+    [[`OpenBSD3_7`] [3.7.0]]
+    [[`OpenBSD3_8`] [3.8.0]]
+    [[`OpenBSD3_9`] [3.9.0]]
+    [[`OpenBSD4_0`] [4.0.0]]
+    [[`OpenBSD4_1`] [4.1.0]]
+    [[`OpenBSD4_2`] [4.2.0]]
+    [[`OpenBSD4_3`] [4.3.0]]
+    [[`OpenBSD4_4`] [4.4.0]]
+    [[`OpenBSD4_5`] [4.5.0]]
+    [[`OpenBSD4_6`] [4.6.0]]
+    [[`OpenBSD4_7`] [4.7.0]]
+    [[`OpenBSD4_8`] [4.8.0]]
+    [[`OpenBSD4_9`] [4.9.0]]
+    ]
+ */
+
+#define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(__OpenBSD__) \
+    )
+#   ifndef BOOST_OS_BSD_AVAILABLE
+#       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
+#       define BOOST_OS_BSD_AVAILABLE
+#   endif
+#   undef BOOST_OS_BSD_OPEN
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_0)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,0,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_1)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,1,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_2)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,2,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_3)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,3,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_4)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,4,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_5)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,5,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_6)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,6,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_7)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,7,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_8)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,8,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_9)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,9,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_0)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,0,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_1)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,1,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_2)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,2,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_3)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,3,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_4)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,4,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_5)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,5,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_6)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,6,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_7)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,7,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_8)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,8,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_9)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,9,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_0)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,0,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_1)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,1,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_2)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,2,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_3)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,3,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_4)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,4,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_5)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,5,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_6)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,6,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_7)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,7,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_8)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,8,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_9)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,9,0)
+#   endif
+#   if !defined(BOOST_OS_BSD_OPEN)
+#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER_AVAILABLE
+#   endif
+#endif
+
+#if BOOST_OS_BSD_OPEN
+#   define BOOST_OS_BSD_OPEN_AVAILABLE
+#   include "../../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_BSD_OPEN_NAME "OpenBSD"
+
+#endif
+
+#include "../../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_OPEN,BOOST_OS_BSD_OPEN_NAME)
diff --git a/boost_predef/os/cygwin.h b/boost_predef/os/cygwin.h
new file mode 100644 (file)
index 0000000..55b48fe
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_CYGWIN_H
+#define BOOST_PREDEF_OS_CYGWIN_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_CYGWIN`]
+
+[@http://en.wikipedia.org/wiki/Cygwin Cygwin] evironment.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__CYGWIN__`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_CYGWIN BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(__CYGWIN__) \
+    )
+#   undef BOOST_OS_CYGWIN
+#   define BOOST_OS_CYGWIN BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_CYGWIN
+#   define BOOST_OS_CYGWIN_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_CYGWIN_NAME "Cygwin"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_CYGWIN,BOOST_OS_CYGWIN_NAME)
diff --git a/boost_predef/os/haiku.h b/boost_predef/os/haiku.h
new file mode 100644 (file)
index 0000000..935861a
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+Copyright Jessica Hamilton 2014
+Copyright Rene Rivera 2014-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_HAIKU_H
+#define BOOST_PREDEF_OS_HAIKU_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_HAIKU`]
+
+[@http://en.wikipedia.org/wiki/Haiku_(operating_system) Haiku] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__HAIKU__`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_HAIKU BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(__HAIKU__) \
+    )
+#   undef BOOST_OS_HAIKU
+#   define BOOST_OS_HAIKU BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_HAIKU
+#   define BOOST_OS_HAIKU_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_HAIKU_NAME "Haiku"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_HAIKU,BOOST_OS_HAIKU_NAME)
diff --git a/boost_predef/os/hpux.h b/boost_predef/os/hpux.h
new file mode 100644 (file)
index 0000000..86b78cb
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_HPUX_H
+#define BOOST_PREDEF_OS_HPUX_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_HPUX`]
+
+[@http://en.wikipedia.org/wiki/HP-UX HP-UX] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`hpux`] [__predef_detection__]]
+    [[`_hpux`] [__predef_detection__]]
+    [[`__hpux`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_HPUX BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(hpux) || defined(_hpux) || defined(__hpux) \
+    )
+#   undef BOOST_OS_HPUX
+#   define BOOST_OS_HPUX BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_HPUX
+#   define BOOST_OS_HPUX_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_HPUX_NAME "HP-UX"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_HPUX,BOOST_OS_HPUX_NAME)
diff --git a/boost_predef/os/ios.h b/boost_predef/os/ios.h
new file mode 100644 (file)
index 0000000..d66276e
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+Copyright Franz Detro 2014
+Copyright Rene Rivera 2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_IOS_H
+#define BOOST_PREDEF_OS_IOS_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_IOS`]
+
+[@http://en.wikipedia.org/wiki/iOS iOS] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__APPLE__`] [__predef_detection__]]
+    [[`__MACH__`] [__predef_detection__]]
+    [[`__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__`] [__predef_detection__]]
+
+    [[`__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__`] [__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__*1000]]
+    ]
+ */
+
+#define BOOST_OS_IOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(__APPLE__) && defined(__MACH__) && \
+    defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) \
+    )
+#   undef BOOST_OS_IOS
+#   define BOOST_OS_IOS (__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__*1000)
+#endif
+
+#if BOOST_OS_IOS
+#   define BOOST_OS_IOS_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_IOS_NAME "iOS"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_IOS,BOOST_OS_IOS_NAME)
diff --git a/boost_predef/os/irix.h b/boost_predef/os/irix.h
new file mode 100644 (file)
index 0000000..e12100f
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_IRIX_H
+#define BOOST_PREDEF_OS_IRIX_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_IRIX`]
+
+[@http://en.wikipedia.org/wiki/Irix IRIX] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`sgi`] [__predef_detection__]]
+    [[`__sgi`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_IRIX BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(sgi) || defined(__sgi) \
+    )
+#   undef BOOST_OS_IRIX
+#   define BOOST_OS_IRIX BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_IRIX
+#   define BOOST_OS_IRIX_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_IRIX_NAME "IRIX"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_IRIX,BOOST_OS_IRIX_NAME)
diff --git a/boost_predef/os/linux.h b/boost_predef/os/linux.h
new file mode 100644 (file)
index 0000000..13e5ad9
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_LINUX_H
+#define BOOST_PREDEF_OS_LINUX_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_LINUX`]
+
+[@http://en.wikipedia.org/wiki/Linux Linux] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`linux`] [__predef_detection__]]
+    [[`__linux`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_LINUX BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(linux) || defined(__linux) \
+    )
+#   undef BOOST_OS_LINUX
+#   define BOOST_OS_LINUX BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_LINUX
+#   define BOOST_OS_LINUX_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_LINUX_NAME "Linux"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_LINUX,BOOST_OS_LINUX_NAME)
diff --git a/boost_predef/os/macos.h b/boost_predef/os/macos.h
new file mode 100644 (file)
index 0000000..af1dccd
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+Copyright Rene Rivera 2008-2015
+Copyright Franz Detro 2014
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_MACOS_H
+#define BOOST_PREDEF_OS_MACOS_H
+
+/* Special case: iOS will define the same predefs as MacOS, and additionally
+ '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__'. We can guard against that,
+ but only if we detect iOS first. Hence we will force include iOS detection
+ * before doing any MacOS detection.
+ */
+#include "../os/ios.h"
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_MACOS`]
+
+[@http://en.wikipedia.org/wiki/Mac_OS Mac OS] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`macintosh`] [__predef_detection__]]
+    [[`Macintosh`] [__predef_detection__]]
+    [[`__APPLE__`] [__predef_detection__]]
+    [[`__MACH__`] [__predef_detection__]]
+
+    [[`__APPLE__`, `__MACH__`] [10.0.0]]
+    [[ /otherwise/ ] [9.0.0]]
+    ]
+ */
+
+#define BOOST_OS_MACOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(macintosh) || defined(Macintosh) || \
+    (defined(__APPLE__) && defined(__MACH__)) \
+    )
+#   undef BOOST_OS_MACOS
+#   if !defined(BOOST_OS_MACOS) && defined(__APPLE__) && defined(__MACH__)
+#       define BOOST_OS_MACOS BOOST_VERSION_NUMBER(10,0,0)
+#   endif
+#   if !defined(BOOST_OS_MACOS)
+#       define BOOST_OS_MACOS BOOST_VERSION_NUMBER(9,0,0)
+#   endif
+#endif
+
+#if BOOST_OS_MACOS
+#   define BOOST_OS_MACOS_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_MACOS_NAME "Mac OS"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_MACOS,BOOST_OS_MACOS_NAME)
diff --git a/boost_predef/os/os400.h b/boost_predef/os/os400.h
new file mode 100644 (file)
index 0000000..2389db7
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+Copyright Rene Rivera 2011-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_OS400_H
+#define BOOST_PREDEF_OS_OS400_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_OS400`]
+
+[@http://en.wikipedia.org/wiki/IBM_i IBM OS/400] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__OS400__`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_OS400 BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(__OS400__) \
+    )
+#   undef BOOST_OS_OS400
+#   define BOOST_OS_OS400 BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_OS400
+#   define BOOST_OS_OS400_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_OS400_NAME "IBM OS/400"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_OS400,BOOST_OS_OS400_NAME)
diff --git a/boost_predef/os/qnxnto.h b/boost_predef/os/qnxnto.h
new file mode 100644 (file)
index 0000000..b3ae419
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_QNXNTO_H
+#define BOOST_PREDEF_OS_QNXNTO_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_QNX`]
+
+[@http://en.wikipedia.org/wiki/QNX QNX] operating system.
+Version number available as major, and minor if possible. And
+version 4 is specifically detected.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__QNX__`] [__predef_detection__]]
+    [[`__QNXNTO__`] [__predef_detection__]]
+
+    [[`_NTO_VERSION`] [V.R.0]]
+    [[`__QNX__`] [4.0.0]]
+    ]
+ */
+
+#define BOOST_OS_QNX BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(__QNX__) || defined(__QNXNTO__) \
+    )
+#   undef BOOST_OS_QNX
+#   if !defined(BOOST_OS_QNX) && defined(_NTO_VERSION)
+#       define BOOST_OS_QNX BOOST_PREDEF_MAKE_10_VVRR(_NTO_VERSION)
+#   endif
+#   if !defined(BOOST_OS_QNX) && defined(__QNX__)
+#       define BOOST_OS_QNX BOOST_VERSION_NUMBER(4,0,0)
+#   endif
+#   if !defined(BOOST_OS_QNX)
+#       define BOOST_OS_QNX BOOST_VERSION_NUMBER_AVAILABLE
+#   endif
+#endif
+
+#if BOOST_OS_QNX
+#   define BOOST_OS_QNX_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_QNX_NAME "QNX"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_QNX,BOOST_OS_QNX_NAME)
diff --git a/boost_predef/os/solaris.h b/boost_predef/os/solaris.h
new file mode 100644 (file)
index 0000000..8c384cf
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_SOLARIS_H
+#define BOOST_PREDEF_OS_SOLARIS_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_SOLARIS`]
+
+[@http://en.wikipedia.org/wiki/Solaris_Operating_Environment Solaris] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`sun`] [__predef_detection__]]
+    [[`__sun`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_SOLARIS BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(sun) || defined(__sun) \
+    )
+#   undef BOOST_OS_SOLARIS
+#   define BOOST_OS_SOLARIS BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_SOLARIS
+#   define BOOST_OS_SOLARIS_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_SOLARIS_NAME "Solaris"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_SOLARIS,BOOST_OS_SOLARIS_NAME)
diff --git a/boost_predef/os/unix.h b/boost_predef/os/unix.h
new file mode 100644 (file)
index 0000000..becc582
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_UNIX_H
+#define BOOST_PREDEF_OS_UNIX_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_UNIX`]
+
+[@http://en.wikipedia.org/wiki/Unix Unix Environment] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`unix`] [__predef_detection__]]
+    [[`__unix`] [__predef_detection__]]
+    [[`_XOPEN_SOURCE`] [__predef_detection__]]
+    [[`_POSIX_SOURCE`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_UNIX BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if defined(unix) || defined(__unix) || \
+    defined(_XOPEN_SOURCE) || defined(_POSIX_SOURCE)
+#   undef BOOST_OS_UNIX
+#   define BOOST_OS_UNIX BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_UNIX
+#   define BOOST_OS_UNIX_AVAILABLE
+#endif
+
+#define BOOST_OS_UNIX_NAME "Unix Environment"
+
+/*`
+[heading `BOOST_OS_SVR4`]
+
+[@http://en.wikipedia.org/wiki/UNIX_System_V SVR4 Environment] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__sysv__`] [__predef_detection__]]
+    [[`__SVR4`] [__predef_detection__]]
+    [[`__svr4__`] [__predef_detection__]]
+    [[`_SYSTYPE_SVR4`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_SVR4 BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if defined(__sysv__) || defined(__SVR4) || \
+    defined(__svr4__) || defined(_SYSTYPE_SVR4)
+#   undef BOOST_OS_SVR4
+#   define BOOST_OS_SVR4 BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_SVR4
+#   define BOOST_OS_SVR4_AVAILABLE
+#endif
+
+#define BOOST_OS_SVR4_NAME "SVR4 Environment"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_UNIX,BOOST_OS_UNIX_NAME)
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_SVR4,BOOST_OS_SVR4_NAME)
diff --git a/boost_predef/os/vms.h b/boost_predef/os/vms.h
new file mode 100644 (file)
index 0000000..20789d5
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+Copyright Rene Rivera 2011-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_VMS_H
+#define BOOST_PREDEF_OS_VMS_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_VMS`]
+
+[@http://en.wikipedia.org/wiki/Vms VMS] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`VMS`] [__predef_detection__]]
+    [[`__VMS`] [__predef_detection__]]
+
+    [[`__VMS_VER`] [V.R.P]]
+    ]
+ */
+
+#define BOOST_OS_VMS BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(VMS) || defined(__VMS) \
+    )
+#   undef BOOST_OS_VMS
+#   if defined(__VMS_VER)
+#       define BOOST_OS_VMS BOOST_PREDEF_MAKE_10_VVRR00PP00(__VMS_VER)
+#   else
+#       define BOOST_OS_VMS BOOST_VERSION_NUMBER_AVAILABLE
+#   endif
+#endif
+
+#if BOOST_OS_VMS
+#   define BOOST_OS_VMS_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_VMS_NAME "VMS"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_VMS,BOOST_OS_VMS_NAME)
diff --git a/boost_predef/os/windows.h b/boost_predef/os/windows.h
new file mode 100644 (file)
index 0000000..1c385c7
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+Copyright Rene Rivera 2008-2015
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_OS_WINDOWS_H
+#define BOOST_PREDEF_OS_WINDOWS_H
+
+#include "../version_number.h"
+#include "../make.h"
+
+/*`
+[heading `BOOST_OS_WINDOWS`]
+
+[@http://en.wikipedia.org/wiki/Category:Microsoft_Windows Microsoft Windows] operating system.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`_WIN32`] [__predef_detection__]]
+    [[`_WIN64`] [__predef_detection__]]
+    [[`__WIN32__`] [__predef_detection__]]
+    [[`__TOS_WIN__`] [__predef_detection__]]
+    [[`__WINDOWS__`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_OS_WINDOWS BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
+    defined(_WIN32) || defined(_WIN64) || \
+    defined(__WIN32__) || defined(__TOS_WIN__) || \
+    defined(__WINDOWS__) \
+    )
+#   undef BOOST_OS_WINDOWS
+#   define BOOST_OS_WINDOWS BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_WINDOWS
+#   define BOOST_OS_WINDOWS_AVAILABLE
+#   include "../detail/os_detected.h"
+#endif
+
+#define BOOST_OS_WINDOWS_NAME "Microsoft Windows"
+
+#endif
+
+#include "../detail/test.h"
+BOOST_PREDEF_DECLARE_TEST(BOOST_OS_WINDOWS,BOOST_OS_WINDOWS_NAME)
diff --git a/boost_predef/version_number.h b/boost_predef/version_number.h
new file mode 100644 (file)
index 0000000..3903a36
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+Copyright Rene Rivera 2005, 2008-2013
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_VERSION_NUMBER_H
+#define BOOST_PREDEF_VERSION_NUMBER_H
+
+/*`
+[heading `BOOST_VERSION_NUMBER`]
+
+``
+BOOST_VERSION_NUMBER(major,minor,patch)
+``
+
+Defines standard version numbers, with these properties:
+
+* Decimal base whole numbers in the range \[0,1000000000).
+  The number range is designed to allow for a (2,2,5) triplet.
+  Which fits within a 32 bit value.
+* The `major` number can be in the \[0,99\] range.
+* The `minor` number can be in the \[0,99\] range.
+* The `patch` number can be in the \[0,99999\] range.
+* Values can be specified in any base. As the defined value
+  is an constant expression.
+* Value can be directly used in both preprocessor and compiler
+  expressions for comparison to other similarly defined values.
+* The implementation enforces the individual ranges for the
+  major, minor, and patch numbers. And values over the ranges
+  are truncated (modulo).
+
+*/
+#define BOOST_VERSION_NUMBER(major,minor,patch) \
+    ( (((major)%100)*10000000) + (((minor)%100)*100000) + ((patch)%100000) )
+
+#define BOOST_VERSION_NUMBER_MAX \
+    BOOST_VERSION_NUMBER(99,99,99999)
+
+#define BOOST_VERSION_NUMBER_ZERO \
+    BOOST_VERSION_NUMBER(0,0,0)
+
+#define BOOST_VERSION_NUMBER_MIN \
+    BOOST_VERSION_NUMBER(0,0,1)
+
+#define BOOST_VERSION_NUMBER_AVAILABLE \
+    BOOST_VERSION_NUMBER_MIN
+
+#define BOOST_VERSION_NUMBER_NOT_AVAILABLE \
+    BOOST_VERSION_NUMBER_ZERO
+
+#endif
diff --git a/ced/CMakeLists.txt b/ced/CMakeLists.txt
new file mode 100644 (file)
index 0000000..93b565c
--- /dev/null
@@ -0,0 +1,59 @@
+# Copyright 2016 Google Inc.  All Rights Reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+# Old enough to support Ubuntu Precise.
+cmake_minimum_required(VERSION 2.8.7)
+set(PROJECT_VERSION 1.0)
+
+if (WIN32)
+  if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/compact_enc_det/compact_enc_det.h")
+    message(FATAL_ERROR "\nCould not find source code.  Make sure you are running this script from the root of the distribution tree.")
+  endif()
+endif()
+
+project(CED CXX)
+set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS 1 CACHE INTERNAL "No dev warnings")
+
+option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
+
+if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-narrowing")
+elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-c++11-narrowing")
+elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+  if (NOT BUILD_SHARED_LIBS)
+    foreach(flag_var
+            CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
+            CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
+      if(${flag_var} MATCHES "/MD")
+        string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+      endif(${flag_var} MATCHES "/MD")
+    endforeach(flag_var)
+  endif()
+endif()
+
+set(EXTRA_TARGET_LINK_LIBRARIES)
+
+if(WIN32)
+  add_definitions(-DUNICODE -D_UNICODE -DSTRICT -DNOMINMAX)
+endif()
+
+set(THREADING thread) 
+list(APPEND EXTRA_TARGET_LINK_LIBRARIES -pthread)
+
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+
+set(CED_LIBRARY_SOURCES
+    compact_enc_det/compact_enc_det.cc
+    compact_enc_det/compact_enc_det_hint_code.cc
+    util/encodings/encodings.cc
+    util/languages/languages.cc
+    )
+
+add_library(ced STATIC ${CED_LIBRARY_SOURCES})
+
+# Uncomment to put CED into WHATWG-compliant mode.
+#add_definitions(-DHTML5_MODE)
\ No newline at end of file
diff --git a/ced/LICENSE b/ced/LICENSE
new file mode 100644 (file)
index 0000000..d645695
--- /dev/null
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/ced/README.md b/ced/README.md
new file mode 100644 (file)
index 0000000..c9c1f90
--- /dev/null
@@ -0,0 +1,46 @@
+### Introduction
+
+Compact Encoding Detection(CED for short) is a library written in C++ that
+scans given raw bytes and detect the most likely text encoding.
+
+Basic usage:
+
+```
+#include "compact_enc_det/compact_enc_det.h"
+
+const char* text = "Input text";
+bool is_reliable;
+int bytes_consumed;
+
+Encoding encoding = CompactEncDet::DetectEncoding(
+        text, strlen(text),
+        nullptr, nullptr, nullptr,
+        UNKNOWN_ENCODING,
+        UNKNOWN_LANGUAGE,
+        CompactEncDet::WEB_CORPUS,
+        false,
+        &bytes_consumed,
+        &is_reliable);
+
+```
+
+### How to build
+
+You need [CMake](https://cmake.org/) to build the package. After unzipping
+the source code , run `autogen.sh` to build everything automatically.
+The script also downloads [Google Test](https://github.com/google/googletest)
+framework needed to build the unittest.
+
+```
+$ cd compact_enc_det
+$ ./autogen.sh
+...
+$ bin/ced_unittest
+```
+
+On Windows, run `cmake .` to download the test framework, and generate
+project files for Visual Studio.
+
+```
+D:\packages\compact_enc_det> cmake .
+```
diff --git a/ced/autogen.sh b/ced/autogen.sh
new file mode 100755 (executable)
index 0000000..76b4325
--- /dev/null
@@ -0,0 +1,73 @@
+#!/bin/bash
+#
+# Copyright 2016 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+################################################################################
+
+# Run this script to generate the configure script and other files that will
+# be included in the distribution.  These files are not checked in because they
+# are automatically generated.
+
+set -e
+
+if [ ! -z "$@" ]; then
+  for argument in "$@"; do
+    case $argument in
+         # make curl silent
+      "-s")
+        curlopts="-s"
+        ;;
+    esac
+  done
+fi
+
+
+# Check that we're being run from the right directory.
+if test ! -f compact_enc_det/compact_enc_det.h; then
+  cat >&2 << __EOF__
+Could not find source code.  Make sure you are running this script from the
+root of the distribution tree.
+__EOF__
+  exit 1
+fi
+
+# Check that gtest is present. It is used to build unit test suite.
+if test ! -e gtest; then
+  if test -z $(which curl); then
+    echo "curl cannot be found. Please install it to build the package."
+    exit 1
+  fi
+
+  echo "Google Test not present.  Fetching from the web..."
+  curl $curlopts -L -O https://github.com/google/googletest/archive/master.zip
+  unzip -q master.zip
+  rm master.zip
+  mv googletest-master gtest
+fi
+
+if test -z $(which cmake); then
+  echo "CMake cannot be found. Please install it to build the package."
+  exit 1
+fi
+
+# Build gtest
+(cd gtest && cmake . && make)
+
+# Build the main package
+cmake . && make
+
+set -ex
+
+exit 0
diff --git a/ced/compact_enc_det/compact_enc_det.cc b/ced/compact_enc_det/compact_enc_det.cc
new file mode 100644 (file)
index 0000000..61d5ee4
--- /dev/null
@@ -0,0 +1,5739 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#include "compact_enc_det/compact_enc_det.h"
+
+#include <math.h>                       // for sqrt
+#include <stddef.h>                     // for size_t
+#include <stdio.h>                      // for printf, fprintf, NULL, etc
+#include <stdlib.h>                     // for qsort
+#include <string.h>                     // for memset, memcpy, memcmp, etc
+#include <memory>
+#include <string>                       // for string, operator==, etc
+
+#include "compact_enc_det/compact_enc_det_hint_code.h"
+#include "util/string_util.h"
+#include "util/basictypes.h"
+#include "util/commandlineflags.h"
+#include "util/logging.h"
+
+using std::string;
+
+// TODO as of 2007.10.09:
+//
+// Consider font=TT-BHxxx as user-defined => binary
+// Demote GB18030 if no 8x3x pair
+// Map byte2 ascii punct to 0x60, digits to 0x7e, gets them into hires
+// Consider removing/ignoring bytes 01-1F to avoid crap pollution
+// Possibly boost declared encoding in robust scan
+// googlebot tiny files
+// look for ranges of encodings
+// consider tags just as > < within aligned block of 32
+// flag too few characters in postproc (Latin 6 problem)
+// Remove slow scan beyond 16KB
+// Consider removing kMostLikelyEncoding or cut it in half
+
+
+// A note on mixed encodings
+//
+// The most common encoding error on the web is a page containing a mixture of
+// CP-1252 and UTF-8. A less common encoding error is a third-party feed that
+// has been converted from CP-1252 to UTF-8 and then those bytes converted a
+// second time to UTF-8. CED originally attempted to detect these error cases
+// by using two  synthetic encodings, UTF8CP1252 and UTF8UTF8. The intended
+// implementation was to start these just below CP1252 and UTF8 respectively in
+// overall  liklihood, and allow 1252 and UTF8 to fall behind if mixtures are
+// found.
+//
+// The UTF8UTF8 encoding is a possible outcome from CED, but unfortunately the
+// UTF8CP1252 internal encoding was added late and not put into encodings.proto,
+// so at the final step it is mapped to UTF8UTF8 also. This was a bad idea and
+// is removed in this November 2011 CL.
+//
+// Mixed encoding detection never worked out as well as envisioned, so the
+// ced_allow_utf8utf8 flag normally disables all this.
+//
+// The effect is that CP-1252 and UTF-8 mixtures will usually be detected as
+// UTF8, and the inputconverter code for UTF8 normally will convert bare
+// CP-1252 bytes to UTF-8, instead of the less-helpful FFFD substitution. UTF-8
+// and double-UTF-8 mixtures will be detected as UTF-8, and the double
+// conversion will stand.
+//
+// However, it is occasionally useful to use CED to detect double-converted
+// UTF-8 coming from third-party data feeds, so they can be fixed at the source.
+// For this purpose, the  UTF8UTF8 encoding remains available under the
+// ced_allow_utf8utf8 flag.
+//
+// When UTF8UTF8 is detected, the inputconverter code will undo the double
+// conversion, giving good text.
+
+// Norbert Runge has noted these words in CP1252 that are mistakenly identified
+// as UTF-8 because of the last pair of characters:
+//  NESTLÉ®               0xC9 0xAE U+00C9 U+00AE   C9AE = U+026E;SMALL LEZH
+//  drauß\u2019           0xDF 0x92 U+00DF U+2019   DF92 = U+07D2;NKO LETTER N
+//  Mutterschoß\u201c     0xDF 0x93 U+00DF U+201C   DF93 = U+07D3;NKO LETTER BA
+//  Schoß\u201c           0xDF 0x93 U+00DF U+201C
+//  weiß\u201c            0xDF 0x93 U+00DF U+00AB
+//  Schnellfuß\u201c      0xDF 0x93 U+00DF U+201C
+//  süß«                  0xDF 0xAB U+00DF U+00AB   DFAB = U+07EB;NKO HIGH TONE
+// These four byte combinations now explicitly boost Latin1/CP1252.
+
+// And for reference, here are a couple of Portuguese spellings
+// that may be mistaken as double-byte encodings.
+//   informações          0xE7 0xF5
+//   traição              0xE7 0xE3
+
+
+static const char* kVersion = "2.2";
+
+DEFINE_bool(ced_allow_utf8utf8, false, "Allow the UTF8UTF8 encoding, "
+                                       "to handle mixtures of CP1252 "
+                                       "converted to UTF-8 zero, one, "
+                                       "or two times");
+DEFINE_int32(enc_detect_slow_max_kb, 16,
+             "Maximum number of Kbytes to examine for "
+             "7-bit-only (2022, Hz, UTF7) encoding detect. "
+             "You are unlikely to want to change this.");
+DEFINE_int32(enc_detect_fast_max_kb, 256,
+             "Maximum number of Kbytes to examine for encoding detect. "
+             "You are unlikely to want to change this.");
+
+DEFINE_int32(ced_reliable_difference, 300, "30 * Bits of minimum probablility "
+             "difference 1st - 2nd to be considered reliable \n"
+             "  2 corresponds to min 4x difference\n"
+             "  4 corresponds to min 16x difference\n"
+             "  8 corresponds to min 256x difference\n"
+             "  10 corresponds to min 1024x difference\n"
+             "  20 corresponds to min 1Mx difference.");
+
+// Text debug output options
+DEFINE_bool(enc_detect_summary, false,
+            "Print first 16 interesting pairs at exit.");
+DEFINE_bool(counts, false, "Count major-section usage");
+
+// PostScript debug output options
+DEFINE_bool(enc_detect_detail, false,
+             "Print PostScript of every update, to stderr.");
+DEFINE_bool(enc_detect_detail2, false,
+             "More PostScript detail of every update, to stderr.");
+DEFINE_bool(enc_detect_source, false, "Include source text in detail");
+// Encoding name must exactly match FIRST column of kI18NInfoByEncoding in
+// lang_enc.cc
+
+// Following flags are not in use. Replace them with constants to
+// avoid static initialization.
+
+//DEFINE_string(enc_detect_watch1, "", "Do detail2 about this encoding name.");
+//DEFINE_string(enc_detect_watch2, "", "Do detail2 about this encoding name.");
+
+static const char* const FLAGS_enc_detect_watch1 = "";
+static const char* const FLAGS_enc_detect_watch2 = "";
+
+// Only for experiments. Delete soon.
+DEFINE_bool(force127, false, "Force Latin1, Latin2, Latin7 based on trigrams");
+
+// Demo-mode/debugging experiment
+DEFINE_bool(demo_nodefault, false,
+             "Default to all equal; no boost for declared encoding.");
+DEFINE_bool(dirtsimple, false, "Just scan and count for all encodings");
+DEFINE_bool(ced_echo_input, false, "Echo ced input to stderr");
+
+
+static const int XDECILOG2 = 3;             // Multiplier for log base 2 ** n/10
+static const int XLOG2 = 30;                // Multiplier for log base 2 ** n
+
+static const int kFinalPruneDifference = 10 * XLOG2;
+                                            // Final bits of minimum
+                                            // probability difference 1st-nth
+                                            // to be pruned
+
+static const int kInititalPruneDifference = kFinalPruneDifference * 4;
+                                            // Initial bits of minimum
+                                            // probability difference 1st-nth
+                                            // to be pruned
+                                            //
+static const int kPruneDiffDecrement = kFinalPruneDifference;
+                                            // Decrements bits of minimum
+                                            // probability difference 1st-nth
+                                            // to be pruned
+
+static const int kSmallInitDiff = 2 * XLOG2;       // bits of minimum
+                                            // probability difference, base to
+                                            // superset encodings
+
+static const int kBoostInitial = 20 * XLOG2;    // bits of boost for
+                                            // initial byte patterns (BOM, 00)
+
+static const int kBadPairWhack = 20 * XLOG2;    // bits of whack for
+                                            // one bad pair
+
+static const int kBoostOnePair = 20 * XLOG2;    // bits of boost for
+                                            // one good pair in Hz, etc.
+
+static const int kGentleOnePair = 4 * XLOG2;    // bits of boost for
+                                            // one good sequence
+                                            //
+static const int kGentlePairWhack = 2 * XLOG2;       // bits of whack
+                                            // for ill-formed sequence
+
+static const int kGentlePairBoost = 2 * XLOG2;       // bits of boost
+                                            // for well-formed sequence
+
+static const int kBoostPerB64Byte = 2 * XLOG2;       // bits of boost for
+                                            // one good pair in Hz, etc.
+
+static const int kDeclaredEncBoost = 5 * XDECILOG2;  // bits/10 of boost for
+                                            // best declared encoding per bigram
+
+static const int kBestEncBoost = 5 * XDECILOG2;     // bits/10 of boost for
+                                            // best encoding per bigram
+
+static const int kTrigramBoost = 2 * XLOG2; // bits of boost for Latin127 tri
+
+static const int kMaxPairs = 48;            // Max interesting pairs to look at
+                                            // If you change this,
+                                            // adjust *PruneDiff*
+
+static const int kPruneMask = 0x07;         // Prune every 8 interesting pairs
+
+
+static const int kBestPairsCount = 16;      // For first N pairs, do extra boost
+                                            // based on most likely encoding
+                                            // of pair over entire web
+
+static const int kDerateHintsBelow = 12;    // If we have fewer than N bigrams,
+                                            // weaken the hints enough that
+                                            // unhinted encodings have a hope of
+                                            // rising to the top
+
+static const int kMinRescanLength = 800;    // Don't bother rescanning for
+                                            // unreliable encoding if fewer
+                                            // than this many bytes unscanned.
+                                            // We will rescan at most last half
+                                            // of this.
+
+static const int kStrongBinary = 12;  // Make F_BINARY the only encoding
+static const int kWeakerBinary = 4;   // Make F_BINARY likely encoding
+
+// These are byte counts from front of file
+static const int kBinaryHardAsciiLimit = 6 * 1024;  // Not binary if all ASCII
+static const int kBinarySoftAsciiLimit = 8 * 1024;  //   "   if mostly ASCII
+
+// We try here to avoid having title text dominate the encoding detection,
+// for the not-infrequent error case of title in encoding1, body in encoding2:
+// we want to bias toward encoding2 winning.
+//
+// kMaxBigramsTagTitleText should be a multiple of 2, 3, and 4, so that we
+// rarely cut off mid-character in the original (not-yet-detected) encoding.
+// This matters most for UTF-8 two- and three-byte codes and for
+// Shift-JIS three-byte codes.
+static const int kMaxBigramsTagTitleText = 12;      // Keep only some tag text
+static const int kWeightshiftForTagTitleText = 4;   // Give text in tags, etc.
+                                                    // 1/16 normal weight
+
+static const int kStrongPairs = 6;          // Let reliable enc with this many
+                                            // pairs overcome missing hint
+
+enum CEDInternalFlags {
+  kCEDNone = 0,           // The empty flag
+  kCEDRescanning = 1,     // Do not further recurse
+  kCEDSlowscore = 2,      // Do extra scoring
+  kCEDForceTags = 4,      // Always examine text inside tags
+};
+
+// Forward declaration
+Encoding InternalDetectEncoding(
+    CEDInternalFlags flags, const char* text, int text_length,
+    const char* url_hint, const char* http_charset_hint,
+    const char* meta_charset_hint, const int encoding_hint,
+    const Language language_hint,  // User interface lang
+    const CompactEncDet::TextCorpusType corpus_type,
+    bool ignore_7bit_mail_encodings, int* bytes_consumed, bool* is_reliable,
+    Encoding* second_best_enc);
+
+typedef struct {
+  const uint8* hires[4];  // Pointers to possible high-resolution bigram deltas
+  uint8 x_bar;          // Average byte2 value
+  uint8 y_bar;          // Average byte1 value
+  uint8 x_stddev;       // Standard deviation of byte2 value
+  uint8 y_stddev;       // Standard deviation of byte1 value
+  int so;               // Scaling offset -- add to probabilities below
+  uint8 b1[256];        // Unigram probability for first byte of aligned bigram
+  uint8 b2[256];        // Unigram probability for second byte of aligned bigram
+  uint8 b12[256];       // Unigram probability for cross bytes of aligned bigram
+} UnigramEntry;
+
+//typedef struct {
+//  uint8 b12[256*256]; // Bigram probability for aligned bigram
+//} FullBigramEntry;
+
+
+// Include all the postproc-generated tables here:
+// RankedEncoding
+// kMapToEncoding
+// unigram_table
+// kMostLIkelyEncoding
+// kTLDHintProbs
+// kCharsetHintProbs
+// HintEntry, kMaxTldKey kMaxTldVector, etc.
+// =============================================================================
+
+#include "compact_enc_det/compact_enc_det_generated_tables.h"
+
+
+#define F_ASCII F_Latin1    // "ASCII" is a misnomer, so this code uses "Latin1"
+
+#define F_BINARY F_X_BINARYENC        // We are mid-update for name change
+#define F_UTF8UTF8 F_X_UTF8UTF8       // We are mid-update for name change
+#define F_BIG5_CP950 F_BIG5           // We are mid-update for name change
+#define F_Unicode F_UTF_16LE          // We are mid-update for name change
+// =============================================================================
+
+// 7-bit encodings have at least one "interesting" byte value < 0x80
+//   (00 0E 1B + ~)
+// JIS 2022-cn 2022-kr hz utf7
+// Unicode UTF-16 UTF-32
+// 8-bit encodings have no interesting byte values < 0x80
+static const uint32 kSevenBitActive = 0x00000001;   // needs <80 to detect
+static const uint32 kUTF7Active     = 0x00000002;   // <80 and +
+static const uint32 kHzActive       = 0x00000004;   // <80 and ~
+static const uint32 kIso2022Active  = 0x00000008;   // <80 and 1B 0E 0F
+static const uint32 kUTF8Active     = 0x00000010;
+static const uint32 kUTF8UTF8Active = 0x00000020;
+static const uint32 kUTF1632Active  = 0x00000040;   // <80 and 00
+static const uint32 kBinaryActive   = 0x00000080;   // <80 and 00
+static const uint32 kTwobyteCode    = 0x00000100;   // Needs 8xxx
+static const uint32 kIsIndicCode    = 0x00000200;   //
+static const uint32 kHighAlphaCode  = 0x00000400;   // full alphabet in 8x-Fx
+static const uint32 kHighAccentCode = 0x00000800;   // accents in 8x-Fx
+static const uint32 kEUCJPActive    = 0x00001000;   // Have to mess with phase
+
+
+// Debug only. not thread safe
+static int encdet_used = 0;
+static int rescore_used = 0;
+static int rescan_used = 0;
+static int robust_used = 0;
+static int looking_used = 0;
+static int doing_used = 0;
+
+
+// For debugging only -- about 256B/entry times about 500 = 128KB
+// TODO: only allocate this if being used
+typedef struct {
+  int offset;
+  int best_enc;     // Best ranked encoding for this bigram, or
+                    // -1 for overhead entries
+  string label;
+  int detail_enc_prob[NUM_RANKEDENCODING];
+} DetailEntry;
+
+static int watch1_rankedenc = -1;     // Debug. not threadsafe
+static int watch2_rankedenc = -1;     // Debug. not threadsafe
+////static int next_detail_entry = 0;     // Debug. not threadsafe
+////static DetailEntry details[kMaxPairs * 10];  // Allow 10 details per bigram
+// End For debugging only
+
+// Must match kTestPrintableAsciiTildePlus exit codes, minus one
+enum PairSet {AsciiPair = 0, OtherPair = 1, NUM_PAIR_SETS = 2};
+
+// The reasons for pruning
+enum PruneReason {PRUNE_NORMAL, PRUNE_SLOWEND, PRUNE_FINAL};
+
+static const char* kWhatSetName[] = {"Ascii", "Other"};
+
+
+// State for encodings that do shift-out/shift-in between one- and two-byte
+// regions (ISO-2022-xx, HZ)
+enum StateSoSi {SOSI_NONE, SOSI_ERROR, SOSI_ONEBYTE, SOSI_TWOBYTE};
+
+typedef struct {
+  const uint8* initial_src;       // For calculating byte offsets
+  const uint8* limit_src;         // Range of input source
+  const uint8* prior_src;         // Source consumed by prior call to BoostPrune
+  const uint8* last_pair;         // Last pair inserted into interesting_pairs
+
+  DetailEntry* debug_data;        // Normally NULL. Ptr to debug data for
+                                  // FLAGS_enc_detect_detail PostScript data
+  int next_detail_entry;          // Debug
+
+  bool done;
+  bool reliable;
+  bool hints_derated;
+  int declared_enc_1;             // From http/meta hint
+  int declared_enc_2;             // from http/meta hint
+  int prune_count;                // Number of times we have pruned
+
+  int trigram_highwater_mark;       // Byte offset of last trigram processing
+  bool looking_for_latin_trigrams;  // True if we should test for doing
+                                    //  Latin1/2/7 trigram processing
+  bool do_latin_trigrams;           // True if we actually are scoring trigrams
+
+  // Miscellaneous state variables for difficult encodings
+  int binary_quadrants_count;     // Number of four bigram quadrants seen:
+                                  //  0xxxxxxx0xxxxxxx 0xxxxxxx1xxxxxx
+                                  //  1xxxxxxx0xxxxxxx 1xxxxxxx1xxxxxx
+  int binary_8x4_count;           // Number of 8x4 buckets seen:
+  uint32 binary_quadrants_seen;   // Bit[i] set if bigram i.......i....... seen
+  uint32 binary_8x4_seen;         // Bit[i] set if bigram iii.....ii...... seen
+  int utf7_starts;                // Count of possible UTF-7 beginnings seen
+  int prior_utf7_offset;          // Source consumed by prior UTF-7 string
+  int next_utf8_ministate;        // Mini state for UTF-8 sequences
+  int utf8_minicount[6];          // Number of correct 2- 3- 4-byte seq, errors
+  int next_utf8utf8_ministate;    // Mini state for UTF8UTF8 sequences
+  int utf8utf8_odd_byte;          // UTF8UTF8 seq has odd number of bytes
+  int utf8utf8_minicount[6];      // Number of correct 2- 3- 4-byte seq, errors
+  StateSoSi next_2022_state;            // Mini state for 2022 sequences
+  StateSoSi next_hz_state;              // Mini state for HZ sequences
+  bool next_eucjp_oddphase;             // Mini state for EUC-JP sequences
+  int byte32_count[8];            // Count of top 3 bits of byte1 of bigram
+                                  // 0x1x 2x3x 4x5x 6x7x 8x9x AxBx CxDx ExFx
+  uint32 active_special;          // Bits showing which special cases are active
+
+  Encoding tld_hint;              // Top TLD encoding or UNKNOWN
+  Encoding http_hint;             // What the document says about itself or
+  Encoding meta_hint;             // UNKNOWN_ENCODING. BOM is initial byte
+  Encoding bom_hint;              // order mark for UTF-xx
+
+  // small cache of previous interesting bigrams
+  int next_prior_bigram;
+  int prior_bigram[4];
+  int prior_binary[1];
+
+  int top_rankedencoding;         // Top two probabilities and families
+  int second_top_rankedencoding;
+  int top_prob;
+  int second_top_prob;
+  int prune_difference;           // Prune things this much below the top prob
+  int rankedencoding_list_len;                // Number of active encodings
+  int rankedencoding_list[NUM_RANKEDENCODING];  // List of active encodings
+                                                //
+  int enc_prob[NUM_RANKEDENCODING];           // Cumulative probability per enc
+                                              // This is where all the action is
+  int hint_prob[NUM_RANKEDENCODING];          // Initial hint probabilities
+  int hint_weight[NUM_RANKEDENCODING];        // Number of hints for this enc
+
+  // Two sets -- one for printable ASCII, one for the rest
+  int prior_interesting_pair[NUM_PAIR_SETS];  // Pairs consumed by prior call
+  int next_interesting_pair[NUM_PAIR_SETS];   // Next pair to write
+  char interesting_pairs[NUM_PAIR_SETS][kMaxPairs * 2];   // Two bytes per pair
+  int interesting_offsets[NUM_PAIR_SETS][kMaxPairs];      // Src offset of pair
+  int interesting_weightshift[NUM_PAIR_SETS][kMaxPairs];  // weightshift of pair
+} DetectEncodingState;
+
+
+// Record a debug event that changes probabilities
+void SetDetailsEncProb(DetectEncodingState* destatep,
+                       int offset, int best_enc, const char* label) {
+  int next = destatep->next_detail_entry;
+  destatep->debug_data[next].offset = offset;
+  destatep->debug_data[next].best_enc = best_enc;
+  destatep->debug_data[next].label = label;
+  memcpy(&destatep->debug_data[next].detail_enc_prob,
+         &destatep->enc_prob,
+         sizeof(destatep->enc_prob));
+  ++destatep->next_detail_entry;
+}
+
+// Record a debug event that changes probabilities, copy offset
+void SetDetailsEncProbCopyOffset(DetectEncodingState* destatep,
+                                 int best_enc, const char* label) {
+  int next = destatep->next_detail_entry;
+  destatep->debug_data[next].offset = destatep->debug_data[next - 1].offset;
+  destatep->debug_data[next].best_enc = best_enc;
+  destatep->debug_data[next].label = label;
+  memcpy(&destatep->debug_data[next].detail_enc_prob,
+         &destatep->enc_prob,
+         sizeof(destatep->enc_prob));
+  ++destatep->next_detail_entry;
+}
+
+// Record a debug event that changes probs and has simple text label
+void SetDetailsEncLabel(DetectEncodingState* destatep, const char* label) {
+  int next = destatep->next_detail_entry;
+  destatep->debug_data[next].offset = destatep->debug_data[next - 1].offset;
+  destatep->debug_data[next].best_enc = -1;
+  destatep->debug_data[next].label = label;
+  memcpy(&destatep->debug_data[next].detail_enc_prob,
+         &destatep->enc_prob,
+         sizeof(destatep->enc_prob));
+  ++destatep->next_detail_entry;
+}
+
+// Record a debug event that is just a text label, no change in probs
+void SetDetailsLabel(DetectEncodingState* destatep, const char* label) {
+  int next = destatep->next_detail_entry;
+  destatep->debug_data[next].offset = destatep->debug_data[next - 1].offset;
+  destatep->debug_data[next].best_enc = -1;
+  destatep->debug_data[next].label = label;
+  memcpy(&destatep->debug_data[next].detail_enc_prob,
+         &destatep->debug_data[next - 1].detail_enc_prob,
+         sizeof(destatep->enc_prob));
+  ++destatep->next_detail_entry;
+}
+
+
+// Maps superset encodings to base, to see if 2 encodings are compatible
+// (Non-identity mappings are marked "-->" below.)
+static const Encoding kMapEncToBaseEncoding[] = {
+  ISO_8859_1,       // 0: Teragram ASCII
+  ISO_8859_2,       // 1: Teragram Latin2
+  ISO_8859_3,       // 2: in BasisTech but not in Teragram
+  ISO_8859_4,       // 3: Teragram Latin4
+  ISO_8859_5,       // 4: Teragram ISO-8859-5
+  ISO_8859_6,       // 5: Teragram Arabic
+  ISO_8859_7,       // 6: Teragram Greek
+  MSFT_CP1255,      // 7: Teragram Hebrew --> 36
+  ISO_8859_9,       // 8: in BasisTech but not in Teragram
+  ISO_8859_10,      // 9: in BasisTech but not in Teragram
+  JAPANESE_EUC_JP,  // 10: Teragram EUC_JP
+  JAPANESE_SHIFT_JIS,  // 11: Teragram SJS
+  JAPANESE_JIS,     // 12: Teragram JIS
+  CHINESE_BIG5,     // 13: Teragram BIG5
+  CHINESE_GB,       // 14: Teragram GB
+  CHINESE_EUC_CN,   // 15: Teragram EUC-CN
+  KOREAN_EUC_KR,    // 16: Teragram KSC
+  UNICODE,          // 17: Teragram Unicode
+  CHINESE_EUC_CN,   // 18: Teragram EUC --> 15
+  CHINESE_EUC_CN,   // 19: Teragram CNS --> 15
+  CHINESE_BIG5,     // 20: Teragram BIG5_CP950 --> 13
+  JAPANESE_SHIFT_JIS,   // 21: Teragram CP932 --> 11
+  UTF8,             // 22
+  UNKNOWN_ENCODING, // 23
+  ISO_8859_1,       // 24: ISO_8859_1 with all characters <= 127 --> 0
+  RUSSIAN_KOI8_R,   // 25: Teragram KOI8R
+  RUSSIAN_CP1251,   // 26: Teragram CP1251
+  ISO_8859_1,       // 27: CP1252 aka MSFT euro ascii --> 0
+  RUSSIAN_KOI8_RU,  // 28: CP21866 aka KOI8_RU, used for Ukrainian
+  MSFT_CP1250,      // 29: CP1250 aka MSFT eastern european
+  ISO_8859_1,       // 30: aka ISO_8859_0 aka ISO_8859_1 euroized --> 0
+  ISO_8859_9,       // 31: used for Turkish
+  ISO_8859_13,      // 32: used in Baltic countries --> 43
+  ISO_8859_11,      // 33: aka TIS-620, used for Thai
+  ISO_8859_11,      // 34: used for Thai --> 33
+  MSFT_CP1256,      // 35: used for Arabic
+  MSFT_CP1255,      // 36: Logical Hebrew Microsoft
+  MSFT_CP1255,      // 37: Iso Hebrew Logical --> 36
+  MSFT_CP1255,      // 38: Iso Hebrew Visual --> 36
+  CZECH_CP852,      // 39
+  ISO_8859_2,       // 40: aka ISO_IR_139 aka KOI8_CS --> 1
+  MSFT_CP1253,      // 41: used for Greek, but NOT a superset of 8859-7
+  RUSSIAN_CP866,    // 42
+  ISO_8859_13,      // 43
+  ISO_2022_KR,      // 44
+  CHINESE_GB,       // 45 GBK --> 14
+  CHINESE_GB,       // 46 GB18030 --> 14
+  CHINESE_BIG5,     // 47 BIG5_HKSCS --> 13
+  ISO_2022_KR,      // 48 ISO_2022_CN --> 44
+  TSCII,            // 49 Indic encoding
+  TAMIL_MONO,       // 50 Indic encoding - Tamil
+  TAMIL_BI,         // 51 Indic encoding - Tamil
+  JAGRAN,           // 52 Indic encoding - Devanagari
+  MACINTOSH_ROMAN,  // 53
+  UTF7,             // 54
+  BHASKAR,          // 55 Indic encoding - Devanagari
+  HTCHANAKYA,       // 56 Indic encoding - Devanagari
+  UTF16BE,          // 57
+  UTF16LE,          // 58
+  UTF32BE,          // 59
+  UTF32LE,          // 60
+  BINARYENC,        // 61
+  HZ_GB_2312,       // 62
+  UTF8UTF8,         // 63
+  TAM_ELANGO,       // 64 Elango - Tamil
+  TAM_LTTMBARANI,   // 65 Barani - Tamil
+  TAM_SHREE,        // 66 Shree - Tamil
+  TAM_TBOOMIS,      // 67 TBoomis - Tamil
+  TAM_TMNEWS,       // 68 TMNews - Tamil
+  TAM_WEBTAMIL,     // 69 Webtamil - Tamil
+  KDDI_SHIFT_JIS,         // 70 KDDI Shift_JIS
+  DOCOMO_SHIFT_JIS,       // 71 DoCoMo Shift_JIS
+  SOFTBANK_SHIFT_JIS,     // 72 SoftBank Shift_JIS
+  KDDI_ISO_2022_JP,       // 73 KDDI ISO-2022-JP
+  SOFTBANK_ISO_2022_JP,   // 74 SOFTBANK ISO-2022-JP
+};
+
+COMPILE_ASSERT(arraysize(kMapEncToBaseEncoding) == NUM_ENCODINGS,
+               kMapEncToBaseEncoding_has_incorrect_size);
+
+// Maps base encodings to 0, supersets to 1+, undesired to -1
+// (Non-identity mappings are marked "-->" below.)
+static const int kMapEncToSuperLevel[] = {
+  0,       // 0: Teragram ASCII
+  0,       // 1: Teragram Latin2
+  0,       // 2: in BasisTech but not in Teragram
+  0,       // 3: Teragram Latin4
+  0,       // 4: Teragram ISO-8859-5
+  0,       // 5: Teragram Arabic
+  0,       // 6: Teragram Greek
+  0,       // 7: Teragram Hebrew
+  0,       // 8: in BasisTech but not in Teragram
+  0,      // 9: in BasisTech but not in Teragram
+  0,      // 10: Teragram EUC_JP
+  0,      // 11: Teragram SJS
+  0,      // 12: Teragram JIS
+  0,      // 13: Teragram BIG5
+  0,       // 14: Teragram GB
+  0,      // 15: Teragram EUC-CN
+  0,      // 16: Teragram KSC
+  0,          // 17: Teragram Unicode
+  -1,     // 18: Teragram EUC --> 15
+  -1,     // 19: Teragram CNS --> 15
+  1,      // 20: Teragram BIG5_CP950 --> 13
+  1,      // 21: Teragram CP932 --> 11
+  0,             // 22
+  -1,     // 23
+  -1,       // 24: ISO_8859_1 with all characters <= 127 --> 0
+  0,      // 25: Teragram KOI8R
+  0,      // 26: Teragram CP1251
+  1,       // 27: CP1252 aka MSFT euro ascii --> 0
+  0,      // 28: CP21866 aka KOI8_RU, used for Ukrainian
+  0,      // 29: CP1250 aka MSFT eastern european
+  1,       // 30: aka ISO_8859_0 aka ISO_8859_1 euroized --> 0
+  0,       // 31: used for Turkish
+  1,      // 32: used in Baltic countries --> 43
+  0,      // 33: aka TIS-620, used for Thai
+  1,      // 34: used for Thai --> 33
+  0,      // 35: used for Arabic
+  0,      // 36: Logical Hebrew Microsoft
+  -1,      // 37: Iso Hebrew Logical --> 36
+  -1,       // 38: Iso Hebrew Visual --> 7
+  0,      // 39
+  1,       // 40: aka ISO_IR_139 aka KOI8_CS --> 1
+  0,       // 41: used for Greek, NOT superset of 8859-7
+  0,      // 42
+  0,      // 43
+  0,      // 44
+  1,       // 45 GBK --> 14
+  1,       // 46 GB18030 --> 14
+  1,      // 47 BIG5_HKSCS --> 13
+  1,      // 48 ISO_2022_CN --> 44
+  0,      // 49 Indic encoding
+  0,       // 50 Indic encoding - Tamil
+  0,         // 51 Indic encoding - Tamil
+  0,           // 52 Indic encoding - Devanagari
+  0,      // 53
+  0,      // 54
+  0,      // 55 Indic encoding - Devanagari
+  0,      // 56 Indic encoding - Devanagari
+  0,          // 57
+  0,          // 58
+  0,          // 59
+  0,          // 60
+  0,        // 61
+  0,       // 62
+  2,         // 63
+  0, 0, 0, 0, 0, 0,         // add six more Tamil
+  0, 0, 0, 0, 0,            // add five encodings with emoji
+};
+
+COMPILE_ASSERT(arraysize(kMapEncToSuperLevel) == NUM_ENCODINGS,
+               kMapEncToSuperLevel_has_incorrect_size);
+
+
+
+// Subscripted by Encoding enum value
+static const uint32 kSpecialMask[] = {
+  kHighAccentCode,                    // 0
+  kHighAccentCode,
+  kHighAccentCode,
+  kHighAccentCode,
+  kHighAlphaCode,                     // 4
+  kHighAlphaCode,
+  kHighAlphaCode,
+  kHighAlphaCode,
+  kHighAccentCode,
+  kHighAccentCode,
+
+  kTwobyteCode + kEUCJPActive,        // 10 euc-jp
+  kTwobyteCode,
+  kSevenBitActive + kIso2022Active,   // jis
+  kTwobyteCode,
+  kTwobyteCode,
+  kTwobyteCode,
+  kTwobyteCode,
+  kSevenBitActive + kUTF1632Active,   // Unicode
+  kTwobyteCode,
+  kTwobyteCode,
+
+  kTwobyteCode,                       // 20
+  kTwobyteCode,
+  kUTF8Active,                        // UTF-8
+  0,
+  0,
+  kHighAlphaCode,                     // 25
+  kHighAlphaCode,
+  kHighAccentCode,
+  kHighAlphaCode,
+  kHighAccentCode,
+
+  kHighAccentCode,                   // 30
+  kHighAccentCode,
+  kHighAccentCode,
+  kHighAlphaCode,
+  kHighAlphaCode,
+  kHighAlphaCode,                    // 35
+  kHighAlphaCode,
+  kHighAlphaCode,
+  kHighAlphaCode,
+  0,
+
+  0,                                  // 40
+  kHighAlphaCode,
+  kHighAlphaCode,
+  kHighAccentCode,
+  kSevenBitActive + kIso2022Active,   // 2022-kr
+  kTwobyteCode,
+  kTwobyteCode,
+  kTwobyteCode,
+  kSevenBitActive + kIso2022Active,   // 2022-cn
+  kHighAlphaCode + kIsIndicCode,       // 49 TSCII
+
+  kHighAlphaCode + kIsIndicCode,       // 50 TAMIL_MONO
+  kHighAlphaCode + kIsIndicCode,       // 51 TAMIL_BI
+  kHighAlphaCode + kIsIndicCode,       // 52 JAGRAN
+  kHighAccentCode,                     // 53 MACINTOSH_ROMAN
+  kSevenBitActive + kUTF7Active,      // 54 UTF-7
+  kHighAlphaCode + kIsIndicCode,       // 55 BHASKAR Indic encoding - Devanagari
+  kHighAlphaCode + kIsIndicCode,       // 56 HTCHANAKYA Indic encoding - Devanagari
+  kSevenBitActive + kUTF1632Active,   // 57 UTF16BE
+  kSevenBitActive + kUTF1632Active,   // 58 UTF16LE
+  kSevenBitActive + kUTF1632Active,   // 59 UTF32BE
+  kSevenBitActive + kUTF1632Active,   // 60 UTF32LE
+
+  kSevenBitActive + kBinaryActive,    // 61 BINARYENC
+  kSevenBitActive + kHzActive,        // 62 HZ_GB_2312
+  kHighAccentCode + kUTF8Active + kUTF8UTF8Active,      // 63 UTF8UTF8
+  kHighAlphaCode + kIsIndicCode,       // 64 Elango - Tamil
+  kHighAlphaCode + kIsIndicCode,       // 65 Barani - Tamil
+  kHighAlphaCode + kIsIndicCode,       // 66 Shree - Tamil
+  kHighAlphaCode + kIsIndicCode,       // 67 TBoomis - Tamil
+  kHighAlphaCode + kIsIndicCode,       // 68 TMNews - Tamil
+  kHighAlphaCode + kIsIndicCode,       // 69 Webtamil - Tamil
+  kTwobyteCode,                       // 70 KDDI Shift_JIS
+  kTwobyteCode,                       // 71 DoCoMo Shift_JIS
+  kTwobyteCode,                       // 72 SoftBank Shift_JIS
+  kSevenBitActive + kIso2022Active,   // 73 KDDI-ISO-2022-JP
+  kSevenBitActive + kIso2022Active,   // 74 SOFTBANK-ISO-2022-JP
+};
+
+COMPILE_ASSERT(arraysize(kSpecialMask) == NUM_ENCODINGS,
+               kSpecialMask_has_incorrect_size);
+
+
+/***
+  kHighAlphaCode -- full alphabet in 8x-Fx range, not just accents
+
+  ISO_8859_5,       // 4: Teragram ISO-8859-5 Cyrl      UL bd
+  RUSSIAN_CP1251,   // 26: Teragram CP1251              UL cdef
+  RUSSIAN_KOI8_R,   // 25: Teragram KOI8R               LU cdef
+  RUSSIAN_KOI8_RU,  // 28: CP21866 aka KOI8_RU,         LU cdef
+  RUSSIAN_CP866,     // 42                              89ae
+
+  ISO_8859_6,       // 5: Teragram Arabic               nocase cde
+  MSFT_CP1256,      // 35: used for Arabic              nocase cde
+
+  ISO_8859_7,       // 6: Teragram Greek                UL cdef
+  MSFT_CP1253,       // 41: used for Greek              UL cdef
+
+  ISO_8859_8,       // 7: Teragram Hebrew               nocase ef
+  MSFT_CP1255,      // 36: Logical Hebrew Microsoft     nocase ef
+  ISO_8859_8_I,     // 37: Iso Hebrew Logical           nocase ef
+  HEBREW_VISUAL,    // 38: Iso Hebrew Visual            nocase ef
+
+  ISO_8859_11,      // 33: aka TIS-620, used for Thai   nocase abcde
+  MSFT_CP874,       // 34: used for Thai                nocase abcde
+
+  TSCII,             // 49                              8-f
+  TAMIL_MONO,        // 50
+  TAMIL_BI,          // 51
+  JAGRAN,            // 52
+  BHASKAR,           // 55 Indic encoding - Devanagari
+  HTCHANAKYA,        // 56 Indic encoding - Devanagari
+***/
+
+// We can scan bytes using this at about 500 MB/sec 2.8GHz P4
+// Slow scan uses this, stopping on NUL ESC SO SI bad C0 and + ~
+// We allow FF, 0x0C, here because it gives a better result for old
+// Ascii text formatted for a TTY
+// non-zero exits scan loop -- 1 for printable ASCII, 2 otherwise
+static const char kTestPrintableAsciiTildePlus[256] = {
+  2,2,2,2,2,2,2,2, 2,0,0,2,0,0,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  0,0,0,0,0,0,0,0, 0,0,0,1,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,1,2,
+
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+};
+
+// We can scan bytes using this at about 550 MB/sec 2.8GHz P4
+// Slow scan uses this, stopping on NUL ESC SO SI and bad C0
+// after Hz and UTF7 are pruned away
+// We allow Form Feed, 0x0C, here
+static const char kTestPrintableAscii[256] = {
+  2,2,2,2,2,2,2,2, 2,0,0,2,0,0,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,2,
+
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+};
+
+// Used in first-four-byte testing
+static const char kIsPrintableAscii[256] = {
+  0,0,0,0,0,0,0,0, 0,1,1,0,0,1,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,0,
+
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+};
+
+
+static const signed char kBase64Value[256] = {
+  -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,
+  -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,
+  -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,62,-1,-1,-1,63,
+  52,53,54,55,56,57,58,59, 60,61,-1,-1,-1,-1,-1,-1,
+
+  -1, 0, 1, 2, 3, 4, 5, 6,  7, 8, 9,10,11,12,13,14,
+  15,16,17,18,19,20,21,22, 23,24,25,-1,-1,-1,-1,-1,
+  -1,26,27,28,29,30,31,32, 33,34,35,36,37,38,39,40,
+  41,42,43,44,45,46,47,48, 49,50,51,-1,-1,-1,-1,-1,
+
+  -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,
+  -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,
+  -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,
+  -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,
+
+  -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,
+  -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,
+  -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,
+  -1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,
+};
+
+
+// Subscripted by <state, byte/16>
+// Accepts Cx->8x Dx->8x Ex->8x->8x Fx->8x->8x->8x
+//
+// Fixed Problem: GB has sequences like B2DB B8D6 BDE1 B9B9
+// which we can mis-parse as an error byte followed by good UTF-8:
+//                                      B2 DBB8 D6BD E1B9B9
+// To counteract this, we now require an ASCII7 byte to resync out
+// of the error state
+// Next problem: good UTF-8 with bad byte
+// efbc a012 eea4 bee7 b280 c2b7
+// efbca0 12 eea4be e7b280 c2b7
+//        ^^ bad byte
+// fix: change state0 byte 1x to be don't-care
+//
+// Short UTF-8 ending in ASCII7 byte should resync immediately:
+// E0 20 E0 A6 AA should give one error and resync at 2nd E0
+//
+static const char kMiniUTF8State[8][16] = {
+  {0,0,0,0,0,0,0,0, 7,7,7,7,1,1,2,4,},      // [0] start char (allow cr/lf/ht)
+  {0,7,0,0,0,0,0,0, 0,0,0,0,7,7,7,7,},      // [1] continue 1 of 2
+  {0,7,0,0,0,0,0,0, 3,3,3,3,7,7,7,7,},      // [2] continue 1 of 3
+  {0,7,0,0,0,0,0,0, 0,0,0,0,7,7,7,7,},      // [3] continue 2 of 3
+  {0,7,0,0,0,0,0,0, 5,5,5,5,7,7,7,7,},      // [4] continue 1 of 4
+  {0,7,0,0,0,0,0,0, 6,6,6,6,7,7,7,7,},      // [5] continue 2 of 4
+  {0,7,0,0,0,0,0,0, 0,0,0,0,7,7,7,7,},      // [6] continue 3 of 4
+  {0,7,0,0,0,0,0,0, 7,7,7,7,7,7,7,7,},      // [7] error, soak up continues,
+                                            // ONLY resync after Ascii char
+                                            //     then restart
+};
+// Counter to increment: 0-don'tcare 1-error 2-good_2B 3-good_3B 4-good_4B
+static const char kMiniUTF8Count[8][16] = {
+  {0,0,0,0,0,0,0,0, 1,1,1,1,0,0,0,0,},      // [0] start char (allow cr/lf/ht)
+  {1,1,1,1,1,1,1,1, 2,2,2,2,1,1,1,1,},      // [1] continue 1 of 2
+  {1,1,1,1,1,1,1,1, 0,0,0,0,1,1,1,1,},      // [2] continue 1 of 3
+  {1,1,1,1,1,1,1,1, 3,3,3,3,1,1,1,1,},      // [3] continue 2 of 3
+  {1,1,1,1,1,1,1,1, 0,0,0,0,1,1,1,1,},      // [4] continue 1 of 4
+  {1,1,1,1,1,1,1,1, 0,0,0,0,1,1,1,1,},      // [5] continue 2 of 4
+  {1,1,1,1,1,1,1,1, 4,4,4,4,1,1,1,1,},      // [6] continue 3 of 4
+  {0,1,0,0,0,0,0,0, 1,1,1,1,1,1,1,1,},      // [7] error, soak up continues,
+                                            //     then restart
+};
+
+// Subscripted by <state, f(byte1) + g(byte2)>
+// where f(x)= E2->4, Cx->8 and C3->12 and 0 otherwise
+// and g(x) = (x >> 4) & 3        8x->0 9x->1 Ax->2 Bx->3 Cx->0, etc.
+//                                (no checking for illegal bytes)
+// Here are example patterns of CP1252 converted to UTF-8 0/1/2 times. We want
+// to detect two, so we can back-convert to one.
+// zero one    two                 pattern
+// ---- ------ ----------------    -----------------
+// 81   C281   C382C281            C3->8x->C2->xx
+// 98   CB9C   C38BC593            C3->8x->C5->xx
+// C3   C383   C383C692            C3->8x->C6->xx
+// C8   C388   C383CB86            C3->8x->CB->xx
+// 83   C692   C386E28099          C3->8x->E2->xx->8x
+// 80   E282AC C3A2E2809AC2AC      C3->A2->E2->xx->xx->Cx->xx
+// 92   E28099 C3A2E282ACE284A2    C3->A2->E2->xx->xx->E2->xx->xx
+//
+// We also want to detect bare-byte extra UTF-8 conversions:
+// zero one    two                 pattern
+// ---- ------ ----------------    -----------------
+// C3   C3     C383                C3->8x->C2->xx
+// D3   D3     C393                C3->9x->C2->xx->C2->xx
+// E3   E3     C3A3                C3->Ax->C2->xx->C2->xx->C2->xx
+// F3   F3     C3B2                C3->Bx->C2->xx->C2->xx->C2->xx->C2->xx
+//
+
+/**
+CP1252 => UTF8 => UTF8UTF8
+80 => E282AC => C3A2E2809AC2AC
+81 => C281 => C382C281
+82 => E2809A => C3A2E282ACC5A1
+83 => C692 => C386E28099
+84 => E2809E => C3A2E282ACC5BE
+85 => E280A6 => C3A2E282ACC2A6
+86 => E280A0 => C3A2E282ACC2A0
+87 => E280A1 => C3A2E282ACC2A1
+88 => CB86 => C38BE280A0
+89 => E280B0 => C3A2E282ACC2B0
+8A => C5A0 => C385C2A0
+8B => E280B9 => C3A2E282ACC2B9
+8C => C592 => C385E28099
+8D => C28D => C382C28D
+8E => C5BD => C385C2BD
+8F => C28F => C382C28F
+90 => C290 => C382C290
+91 => E28098 => C3A2E282ACCB9C
+92 => E28099 => C3A2E282ACE284A2
+93 => E2809C => C3A2E282ACC593
+94 => E2809D => C3A2E282ACC29D
+95 => E280A2 => C3A2E282ACC2A2
+96 => E28093 => C3A2E282ACE2809C
+97 => E28094 => C3A2E282ACE2809D
+98 => CB9C => C38BC593
+99 => E284A2 => C3A2E2809EC2A2
+9A => C5A1 => C385C2A1
+9B => E280BA => C3A2E282ACC2BA
+9C => C593 => C385E2809C
+9D => C29D => C382C29D
+9E => C5BE => C385C2BE
+9F => C5B8 => C385C2B8
+A0 => C2A0 => C382C2A0
+A1 => C2A1 => C382C2A1
+A2 => C2A2 => C382C2A2
+A3 => C2A3 => C382C2A3
+A4 => C2A4 => C382C2A4
+A5 => C2A5 => C382C2A5
+A6 => C2A6 => C382C2A6
+A7 => C2A7 => C382C2A7
+A8 => C2A8 => C382C2A8
+A9 => C2A9 => C382C2A9
+AA => C2AA => C382C2AA
+AB => C2AB => C382C2AB
+AC => C2AC => C382C2AC
+AD => C2AD => C382C2AD
+AE => C2AE => C382C2AE
+AF => C2AF => C382C2AF
+B0 => C2B0 => C382C2B0
+B1 => C2B1 => C382C2B1
+B2 => C2B2 => C382C2B2
+B3 => C2B3 => C382C2B3
+B4 => C2B4 => C382C2B4
+B5 => C2B5 => C382C2B5
+B6 => C2B6 => C382C2B6
+B7 => C2B7 => C382C2B7
+B8 => C2B8 => C382C2B8
+B9 => C2B9 => C382C2B9
+BA => C2BA => C382C2BA
+BB => C2BB => C382C2BB
+BC => C2BC => C382C2BC
+BD => C2BD => C382C2BD
+BE => C2BE => C382C2BE
+BF => C2BF => C382C2BF
+C0 => C380 => C383E282AC
+C1 => C381 => C383C281
+C2 => C382 => C383E2809A
+C3 => C383 => C383C692
+C4 => C384 => C383E2809E
+C5 => C385 => C383E280A6
+C6 => C386 => C383E280A0
+C7 => C387 => C383E280A1
+C8 => C388 => C383CB86
+C9 => C389 => C383E280B0
+CA => C38A => C383C5A0
+CB => C38B => C383E280B9
+CC => C38C => C383C592
+CD => C38D => C383C28D
+CE => C38E => C383C5BD
+CF => C38F => C383C28F
+D0 => C390 => C383C290
+D1 => C391 => C383E28098
+D2 => C392 => C383E28099
+D3 => C393 => C383E2809C
+D4 => C394 => C383E2809D
+D5 => C395 => C383E280A2
+D6 => C396 => C383E28093
+D7 => C397 => C383E28094
+D8 => C398 => C383CB9C
+D9 => C399 => C383E284A2
+DA => C39A => C383C5A1
+DB => C39B => C383E280BA
+DC => C39C => C383C593
+DD => C39D => C383C29D
+DE => C39E => C383C5BE
+DF => C39F => C383C5B8
+E0 => C3A0 => C383C2A0
+E1 => C3A1 => C383C2A1
+E2 => C3A2 => C383C2A2
+E3 => C3A3 => C383C2A3
+E4 => C3A4 => C383C2A4
+E5 => C3A5 => C383C2A5
+E6 => C3A6 => C383C2A6
+E7 => C3A7 => C383C2A7
+E8 => C3A8 => C383C2A8
+E9 => C3A9 => C383C2A9
+EA => C3AA => C383C2AA
+EB => C3AB => C383C2AB
+EC => C3AC => C383C2AC
+ED => C3AD => C383C2AD
+EE => C3AE => C383C2AE
+EF => C3AF => C383C2AF
+F0 => C3B0 => C383C2B0
+F1 => C3B1 => C383C2B1
+F2 => C3B2 => C383C2B2
+F3 => C3B3 => C383C2B3
+F4 => C3B4 => C383C2B4
+F5 => C3B5 => C383C2B5
+F6 => C3B6 => C383C2B6
+F7 => C3B7 => C383C2B7
+F8 => C3B8 => C383C2B8
+F9 => C3B9 => C383C2B9
+FA => C3BA => C383C2BA
+FB => C3BB => C383C2BB
+FC => C3BC => C383C2BC
+FD => C3BD => C383C2BD
+FE => C3BE => C383C2BE
+FF => C3BF => C383C2BF
+**/
+
+// Subscripted by <state, f(byte1) + g(byte2)>
+// where f(x)= E2->4, C2/5/6/B->8 and C3->12 and 0 otherwise
+// and g(x) = (x >> 4) & 3        8x->0 9x->1 Ax->2 Bx->3 Cx->0, etc.
+
+// 81   C281   C382C281            C3->8x->C2->xx
+// 98   CB9C   C38BC593            C3->8x->C5->xx
+// C3   C383   C383C692            C3->8x->C6->xx
+// C8   C388   C383CB86            C3->8x->CB->xx
+//                                 [0]     [2]   [0]
+// 83   C692   C386E28099          C3->8x->E2->xx->xx
+//   odd_byte=0                    [0]     [2]       [0+]  odd_byte flipped
+//   odd_byte=1                    [0+]    [2] [0]   [0]   odd_byte unflipped
+// 80   E282AC C3A2E2809AC2AC      C3->A2->E2->xx->xx->Cx->xx
+//   odd_byte=0                    [0]     [3]         [4]   [0+]
+//   odd_byte=1                    [0+]    [3] [4]     [4]   [0]
+// 92   E28099 C3A2E282ACE284A2    C3->A2->E2->xx->xx->E2->xx->xx
+//   odd_byte=0                    [0]     [3]         [4] [0]   [0]
+//   odd_byte=1                    [0+]    [3] [4]     [4]       [0+]
+//
+// When an E2xxxx sequence is encountered, we absorb the two bytes E2xx and flip
+// the odd_byte state. If that goes from 0 to 1, the next pair is offset up
+// by one byte, picking up the two bytes just after E2xxxx. If odd_byte goes
+// from 1 to 0, the next two bytes picked up are the two bytes xxxx of E2xxxx.
+// These are absorbed with no error in state 0 or state 4
+//
+// C3   C3     C383                C3->8x->C2->xx
+// D3   D3     C393                C3->9x->C2->xx->C2->xx
+// E3   E3     C3A3                C3->Ax->C2->xx->C2->xx->C2->xx
+// F3   F3     C3B2                C3->Bx->C2->xx->C2->xx->C2->xx->C2->xx
+// Counter3 for Fx Ex sequences is incremented at last C2
+
+static const char kMiniUTF8UTF8State[8][16] = {
+  // xxxx  E2xx     CXxx    C3xx
+  //       8 9 a b  8 9 a b 8 9 a b
+  {0,0,0,0,1,1,1,1, 1,1,1,1,2,2,3,5,},      // [0] looking for C38x/C3Ax/2020/8x8x, or err
+  {0,0,0,0,1,1,1,1, 1,1,1,1,2,2,3,5,},      // [1] error, back to looking
+  {1,1,1,1,0,0,0,0, 0,0,0,0,1,1,1,1,},      // [2] C38x looking for CXxx/E2xxxx
+  //       + + + +                          //      E2xxxx flips odd_byte
+  {1,1,1,1,4,4,4,4, 7,7,7,7,1,1,1,1,},      // [3] C3Ax looking for E2xx or C2xxC2xx
+  //       + + + +                          //      E2xxxx flips odd_byte
+  {4,4,4,4,0,0,0,0, 0,0,0,0,1,1,1,1,},      // [4] C3AxE2xx-- looking for C2xx/E2xxxx
+  //       + + + +                          //      E2xxxx flips odd_byte
+  {1,1,1,1,1,1,1,1, 6,6,6,6,1,1,1,1,},      // [5] C3Bx -- looking for C2xxC2xxC2xx
+  {1,1,1,1,1,1,1,1, 7,7,7,7,1,1,1,1,},      // [6] C3Bx -- looking for C2xxC2xx
+  {1,1,1,1,1,1,1,1, 0,0,0,0,1,1,1,1,},      // [7] C3Bx -- looking for C2xx
+};
+// Counter to increment: 0-don'tcare 1-error 2-good_2B 3-good_3B 4-good_4B
+static const char kMiniUTF8UTF8Count[8][16] = {
+  // xxxx  E2xx     C2Xx    C3xx
+  //       8 9 a b  8 9 a b 8 9 a b
+  {0,0,0,0,1,1,1,1, 1,1,1,1,0,0,0,0,},      // [0] looking for C38x/C3Ax/2020/8x8x, or err
+  {0,0,0,0,1,1,1,1, 1,1,1,1,0,0,0,0,},      // [1] error, back to looking
+  {1,1,1,1,3,3,3,3, 2,2,2,2,1,1,1,1,},      // [2] C38x looking for CXxx/E2xxxx
+  //       + + + +                          //      E2xxxx flips odd_byte
+  {1,1,1,1,0,0,0,0, 0,0,0,0,1,1,1,1,},      // [3] C3Ax looking for E2xx
+  //       + + + +                          //      E2xxxx flips odd_byte
+  {1,1,1,1,4,4,4,4, 4,4,4,4,1,1,1,1,},      // [4] C3AxE2xx-- looking for C2xx/E2xxxx
+  //       + + + +                          //      E2xxxx flips odd_byte
+  {1,1,1,1,1,1,1,1, 0,0,0,0,1,1,1,1,},      // [5] C3Bx -- looking for C2xxC2xxC2xx
+  {1,1,1,1,1,1,1,1, 0,0,0,0,1,1,1,1,},      // [6] C3Bx -- looking for C2xxC2xx
+  {1,1,1,1,1,1,1,1, 3,3,3,3,1,1,1,1,},      // [7] C3Bx -- looking for C2xx
+};
+
+static const char kMiniUTF8UTF8Odd[8][16] = {
+  // xxxx  E2xx     C2Xx    C3xx
+  //       8 9 a b  8 9 a b 8 9 a b
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,},      // [0] looking for C38x/C3Ax/2020/8x8x, or err
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,},      // [1] error, back to looking
+  {0,0,0,0,1,1,1,1, 0,0,0,0,0,0,0,0,},      // [2] C38x looking for CXxx/E2xxxx
+  //       + + + +                          //      E2xxxx flips odd_byte
+  {0,0,0,0,1,1,1,1, 0,0,0,0,0,0,0,0,},      // [3] C3Ax looking for E2xx
+  //       + + + +                          //      E2xxxx flips odd_byte
+  {0,0,0,0,1,1,1,1, 0,0,0,0,0,0,0,0,},      // [4] C3AxE2xx-- looking for C2xx/E2xxxx
+  //       + + + +                          //      E2xxxx flips odd_byte
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,},      // [5] C3Bx -- looking for C2xxC2xxC2xx
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,},      // [6] C3Bx -- looking for C2xxC2xx
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,},      // [7] C3Bx -- looking for C2xx
+};
+
+// Turn a pair of bytes into the subscript for UTF8UTF8 tables above
+int UTF88Sub(char s0, char s1) {
+  int sub = (s1 >> 4) & 0x03;
+  uint8 u0 = static_cast<uint8>(s0);
+  if (u0 == 0xc3) {
+    sub += 12;
+  } else if ((u0 & 0xf0) == 0xc0) {
+    if ((u0 == 0xc2) || (u0 == 0xc5) || (u0 == 0xc6) || (u0 == 0xcb)) {
+      sub += 8;
+    }
+  } else if (u0 == 0xe2) {
+    sub += 4;
+  }
+  return sub;
+}
+
+
+
+
+
+// Default probability for an encoding rankedencoding
+// Based on a scan of 55M web pages
+// These values are 255 - log base 2**1/10 (occurrences / total)
+// Large values are most likely. This the reverse of some Google code
+// 255 = 1.0, 245 = 1/2, 235 = 1/4, 15 = 1/2**24, 0 = 0 (< 1/50M)
+//
+// TODO change this to be per encoding, not permuted
+//
+
+
+// Support function for unit test program
+// Return ranked encoding corresponding to enc
+// (also exported to compact_enc_det_text.cc)
+int CompactEncDet::BackmapEncodingToRankedEncoding(Encoding enc) {
+  for (int i = 0; i < NUM_RANKEDENCODING; ++i) {
+    if (kMapToEncoding[i] == enc) {
+      return i;
+    }
+  }
+  return -1;
+}
+
+
+string DecodeActive(uint32 active) {
+  string temp("");
+  if (active & kBinaryActive) {
+    temp.append("Binary ");
+  }
+  if (active & kUTF1632Active) {
+    temp.append("UTF1632 ");
+  }
+  if (active & kUTF8UTF8Active) {
+    temp.append("UTF8UTF8 ");
+  }
+  if (active & kUTF8Active) {
+    temp.append("UTF8 ");
+  }
+  if (active & kIso2022Active) {
+    temp.append("Iso2022 ");
+  }
+  if (active & kHzActive) {
+    temp.append("Hz ");
+  }
+  if (active & kUTF7Active) {
+    temp.append("UTF7A ");
+  }
+  if (active & kSevenBitActive) {
+    temp.append("SevenBit ");
+  }
+  if (active & kIsIndicCode) {
+    temp.append("Indic ");
+  }
+  if (active & kHighAlphaCode) {
+    temp.append("HighAlpha ");
+  }
+  if (active & kHighAccentCode) {
+    temp.append("HighAccent ");
+  }
+  if (active & kEUCJPActive) {
+    temp.append("EUCJP ");
+  }
+  return temp;
+}
+
+static inline bool SevenBitEncoding(int enc) {
+  return ((kSpecialMask[enc] & kSevenBitActive) != 0);
+}
+static inline bool TwoByteEncoding(int enc) {
+  return ((kSpecialMask[enc] & kTwobyteCode) != 0);
+}
+static inline bool IndicEncoding(int enc) {
+  return ((kSpecialMask[enc] & kIsIndicCode) != 0);
+}
+static inline bool HighAlphaEncoding(int enc) {
+  return ((kSpecialMask[enc] & kHighAlphaCode) != 0);
+}
+static inline bool HighAccentEncoding(int enc) {
+  return ((kSpecialMask[enc] & kHighAccentCode) != 0);
+}
+
+
+static inline bool AnyActive(DetectEncodingState* destatep) {
+  return (destatep->active_special != 0);
+}
+static inline bool SevenBitActive(DetectEncodingState* destatep) {
+  return (destatep->active_special & kSevenBitActive) != 0;
+}
+static inline bool HzActive(DetectEncodingState* destatep) {
+  return (destatep->active_special & kHzActive) != 0;
+}
+static inline bool Iso2022Active(DetectEncodingState* destatep) {
+  return (destatep->active_special & kIso2022Active) != 0;
+}
+static inline bool UTF8Active(DetectEncodingState* destatep) {
+  return (destatep->active_special & kUTF8Active) != 0;
+}
+static inline bool UTF8UTF8Active(DetectEncodingState* destatep) {
+  return (destatep->active_special & kUTF8UTF8Active) != 0;
+}
+static inline bool UTF1632Active(DetectEncodingState* destatep) {
+  return (destatep->active_special & kUTF1632Active) != 0;
+}
+static inline bool BinaryActive(DetectEncodingState* destatep) {
+  return (destatep->active_special & kBinaryActive) != 0;
+}
+static inline bool UTF7OrHzActive(DetectEncodingState* destatep) {
+  return (destatep->active_special & (kHzActive + kUTF7Active)) != 0;
+}
+static inline bool EUCJPActive(DetectEncodingState* destatep) {
+  return ((destatep->active_special & kEUCJPActive) != 0);
+}
+static inline bool OtherActive(DetectEncodingState* destatep) {
+  return (destatep->active_special & (kIso2022Active + kBinaryActive +
+                                      kUTF8Active + kUTF8UTF8Active +
+                                      kUTF1632Active + kEUCJPActive)) != 0;
+}
+
+
+static inline bool CEDFlagRescanning(CEDInternalFlags flags) {
+  return (flags & kCEDRescanning) != 0;
+}
+
+static inline bool CEDFlagForceTags(CEDInternalFlags flags) {
+  return (flags & kCEDForceTags) != 0;
+}
+
+
+static inline int maxint(int a, int b) {return (a > b) ? a : b;}
+static inline int minint(int a, int b) {return (a < b) ? a : b;}
+
+static inline const char* MyRankedEncName(int r_enc) {
+  return MyEncodingName(kMapToEncoding[r_enc]);
+}
+
+
+// Only for debugging. not thread safe
+static const int kPsSourceWidth = 32;
+static int pssourcenext = 0;    // debug only. not threadsafe. dump only >= this
+static int pssourcewidth = 0;   // debug only.
+static char* pssource_mark_buffer = NULL;
+int next_do_src_line;
+int do_src_offset[16];
+
+
+void PsSourceInit(int len) {
+   pssourcenext = 0;
+   pssourcewidth = len;
+   delete[] pssource_mark_buffer;
+   // Allocate 2 Ascii characters per input byte
+   pssource_mark_buffer = new char[(pssourcewidth * 2) + 8];  // 8 = overscan
+   memset(pssource_mark_buffer, ' ', pssourcewidth * 2);
+   memset(pssource_mark_buffer + (pssourcewidth * 2), '\0', 8);
+
+   next_do_src_line = 0;
+   memset(do_src_offset, 0, sizeof(do_src_offset));
+}
+
+void PsSourceFinish() {
+  // Print preceding mark buffer
+  int j = (pssourcewidth * 2) - 1;
+  while ((0 <= j) && (pssource_mark_buffer[j] == ' ')) {--j;}   // trim
+  pssource_mark_buffer[j + 1] = '\0';
+  fprintf(stderr, "(      %s) do-src\n", pssource_mark_buffer);
+  memset(pssource_mark_buffer, ' ', pssourcewidth * 2);
+  memset(pssource_mark_buffer + (pssourcewidth * 2), '\0', 8);
+
+  delete[] pssource_mark_buffer;
+  pssource_mark_buffer = NULL;
+}
+
+// Dump aligned len bytes src... if not already dumped
+void PsSource(const uint8* src, const uint8* isrc, const uint8* srclimit) {
+  int offset = src - isrc;
+  offset -= (offset % pssourcewidth);     // round down to multiple of len bytes
+  if (offset < pssourcenext) {
+    return;
+  }
+  pssourcenext = offset + pssourcewidth;  // Min offset for next dump
+
+  // Print preceding mark buffer
+  int j = (pssourcewidth * 2) - 1;
+  while ((0 <= j) && (pssource_mark_buffer[j] == ' ')) {--j;}   // trim
+  pssource_mark_buffer[j + 1] = '\0';
+  fprintf(stderr, "(      %s) do-src\n", pssource_mark_buffer);
+  memset(pssource_mark_buffer, ' ', pssourcewidth * 2);
+  memset(pssource_mark_buffer + (pssourcewidth * 2), '\0', 8);
+
+  // Print source bytes
+  const uint8* src_aligned = isrc + offset;
+  int length = srclimit - src_aligned;
+  length = minint(pssourcewidth, length);
+
+  fprintf(stderr, "(%05x ", offset);
+  for (int i = 0; i < length; ++i) {
+    char c = src_aligned[i];
+    if (c == '\n') {c = ' ';}
+    if (c == '\r') {c = ' ';}
+    if (c == '\t') {c = ' ';}
+    if (c == '(') {
+      fprintf(stderr, "%s", "\\( ");
+    } else if (c == ')') {
+      fprintf(stderr, "%s", "\\) ");
+    } else if (c == '\\') {
+      fprintf(stderr, "%s", "\\\\ ");
+    } else if ((0x20 <= c) && (c <= 0x7e)) {
+      fprintf(stderr, "%c ", c);
+    } else {
+      fprintf(stderr, "%02x", c);
+    }
+  }
+  fprintf(stderr, ") do-src\n");
+  // Remember which source offsets are where, mod 16
+  do_src_offset[next_do_src_line & 0x0f] = offset;
+  ++next_do_src_line;
+}
+
+// Mark bytes in just-previous source bytes
+void PsMark(const uint8* src, int len, const uint8* isrc, int weightshift) {
+  int offset = src - isrc;
+  offset = (offset % pssourcewidth);     // mod len bytes
+  char mark = (weightshift == 0) ? '-' : 'x';
+
+  pssource_mark_buffer[(offset * 2)] = '=';
+  pssource_mark_buffer[(offset * 2) + 1] = '=';
+  for (int i = 1; i < len; ++i) {
+    pssource_mark_buffer[(offset + i) * 2] = mark;
+    pssource_mark_buffer[((offset + i) * 2) + 1] = mark;
+  }
+}
+
+
+// Highlight trigram bytes in just-previous source bytes
+// Unfortunately, we have to skip back N lines since source was printed for
+// up to 8 bigrams before we get here. Match on src+1 to handle 0/31 better
+void PsHighlight(const uint8* src, const uint8* isrc, int trigram_val, int n) {
+  int offset = (src + 1) - isrc;
+  int offset32 = (offset % pssourcewidth);    // mod len bytes
+  offset -= offset32;                     // round down to multiple of len bytes
+
+  for (int i = 1; i <= 16; ++i) {
+    if (do_src_offset[(next_do_src_line - i) & 0x0f] == offset) {
+      fprintf(stderr, "%d %d %d do-highlight%d\n",
+              i, offset32 - 1, trigram_val, n);
+      break;
+    }
+  }
+}
+
+
+void InitDetectEncodingState(DetectEncodingState* destatep) {
+  destatep->initial_src = NULL;       // Filled in by caller
+  destatep->limit_src = NULL;
+  destatep->prior_src = NULL;
+  destatep->last_pair = NULL;
+
+  destatep->debug_data = NULL;
+  destatep->next_detail_entry = 0;
+
+  destatep->done = false;
+  destatep->reliable = false;
+  destatep->hints_derated = false;
+  //destatep->declared_enc_1 init in ApplyHints
+  //destatep->declared_enc_2 init in ApplyHints
+  destatep->prune_count = 0;
+
+  destatep->trigram_highwater_mark = 0;
+  destatep->looking_for_latin_trigrams = false;
+  destatep->do_latin_trigrams = false;
+
+  // Miscellaneous state variables for difficult encodings
+  destatep->binary_quadrants_count = 0;
+  destatep->binary_8x4_count = 0;
+  destatep->binary_quadrants_seen = 0;
+  destatep->binary_8x4_seen = 0;
+  destatep->utf7_starts = 0;
+  destatep->prior_utf7_offset = 0;
+  destatep->next_utf8_ministate = 0;
+  for (int i = 0; i < 6; i++) {destatep->utf8_minicount[i] = 0;}
+  destatep->next_utf8utf8_ministate = 0;
+  destatep->utf8utf8_odd_byte = 0;
+  for (int i = 0; i < 6; i++) {destatep->utf8utf8_minicount[i] = 0;}
+  destatep->next_2022_state = SOSI_NONE;
+  destatep->next_hz_state = SOSI_NONE;
+  destatep->next_eucjp_oddphase = false;
+  for (int i = 0; i < 8; i++) {destatep->byte32_count[i] = 0;}
+  destatep->active_special = 0xffffffff;
+  destatep->tld_hint = UNKNOWN_ENCODING;
+  destatep->http_hint = UNKNOWN_ENCODING;
+  destatep->meta_hint = UNKNOWN_ENCODING;
+  destatep->bom_hint = UNKNOWN_ENCODING;
+  destatep->top_rankedencoding = 0;         // ASCII [seven-bit] is the default
+  destatep->second_top_rankedencoding = 0;  // ASCII [seven-bit] is the default
+  destatep->top_prob = -1;
+  destatep->second_top_prob = -1;
+  // This is wide for first pruning, shrinks for 2nd and later
+  destatep->prune_difference = kInititalPruneDifference;
+
+  destatep->next_prior_bigram = 0;
+  destatep->prior_bigram[0] = -1;
+  destatep->prior_bigram[1] = -1;
+  destatep->prior_bigram[2] = -1;
+  destatep->prior_bigram[3] = -1;
+
+  destatep->prior_binary[0] = -1;
+
+  // Initialize with all but Indic encodings, which we never detect
+  int k = 0;
+  for (int rankedencoding = 0;
+        rankedencoding < NUM_RANKEDENCODING;
+        rankedencoding++) {
+    Encoding enc = kMapToEncoding[rankedencoding];
+    if (!IndicEncoding(enc)) {
+      destatep->rankedencoding_list[k++] = rankedencoding;
+    }
+  }
+  destatep->rankedencoding_list_len = k;
+
+  // This is where all the action is
+  memset(destatep->enc_prob, 0, sizeof(destatep->enc_prob));
+
+  memset(destatep->hint_prob, 0, sizeof(destatep->hint_prob));
+  memset(destatep->hint_weight, 0, sizeof(destatep->hint_weight));
+
+  destatep->prior_interesting_pair[AsciiPair] = 0;
+  destatep->prior_interesting_pair[OtherPair] = 0;
+  destatep->next_interesting_pair[AsciiPair] = 0;
+  destatep->next_interesting_pair[OtherPair] = 0;
+  // interesting_pairs/offsets/weightshifts not initialized; no need
+}
+
+// Probability strings are uint8, with zeros removed via simple run-length:
+//  (<skip-take byte> <data bytes>)*
+// skip-take:
+//  00  end
+//  x0  skip 16 x locations, take 0 data values
+//  xy  skip x locations, take y data values
+// Multiply all the incoming values by 3 to account for 3x unigram sums
+//
+// {{0x77,0x69,0x6e,0x64,0x31,0x32,0x35,0x35,
+//   0x01,0xc2,0x10,0x41,0xfe,0x71,0xba,0x00,}}, // "wind1255"
+//
+// Weight is 0..100 percent
+//
+// Returns subscript of largest (most probable) value
+//
+
+
+//  {{0x6e,0x6c,0x5f,0x5f, 0x05,0xb2,0xae,0xa0,0x32,0xa1,0x36,0x31,0x42,0x39,0x3b,0x33,0x45,0x11,0x6f,0x00,}}, // "nl__"
+//        // ASCII-7-bit=178  Latin1=174  UTF8=160  GB=50  CP1252=161  BIG5=49  Latin2=66  CP1251=57  CP1256=59  CP1250=51  Latin5=69  ISO-8859-15=111  [top ASCII-7-bit]
+int ApplyCompressedProb(const char* iprob, int len,
+                         int weight, DetectEncodingState* destatep) {
+  int* dst = &destatep->enc_prob[0];
+  int* dst2 = &destatep->hint_weight[0];
+  const uint8* prob = reinterpret_cast<const uint8*>(iprob);
+  const uint8* problimit = prob + len;
+
+  int largest = -1;
+  int subscript_of_largest = 0;
+
+  // Continue with first byte and subsequent ones
+  while (prob < problimit) {
+    int skiptake = *prob++;
+    int skip = (skiptake & 0xf0) >> 4;
+    int take = skiptake & 0x0f;
+    if (skiptake == 00) {
+      break;
+    } else if (take == 0) {
+      dst += (skip << 4);
+      dst2 += (skip << 4);
+    } else {
+      dst += skip;    // Normal case
+      dst2 += skip;  // Normal case
+      for (int i = 0; i < take; i++) {
+        int enc = static_cast<int>(dst - &destatep->enc_prob[0]) + i;
+        if (largest < prob[i]) {
+          largest = prob[i];
+          subscript_of_largest = enc;
+        }
+
+        int increment = prob[i] * 3;    // The actual increment
+
+        // Do maximum of previous hints plus this new one
+        if (weight > 0) {
+          increment = (increment * weight)  / 100;
+          dst[i] = maxint(dst[i], increment);
+          dst2[i] = 1;              // New total weight
+        }
+      }
+      prob += take;
+      dst += take;
+      dst2 += take;
+    }
+  }
+  return subscript_of_largest;
+}
+
+
+// Returns subscript of largest (most probable) value [for unit test]
+int TopCompressedProb(const char* iprob, int len) {
+  const uint8* prob = reinterpret_cast<const uint8*>(iprob);
+  const uint8* problimit = prob + len;
+  int next_prob_sub = 0;
+  int topprob = 0;
+  int toprankenc = 0;
+
+  while (prob < problimit) {
+    int skiptake = *prob++;
+    int skip = (skiptake & 0xf0) >> 4;
+    int take = skiptake & 0x0f;
+    if (skiptake == 0) {
+      break;
+    } else if (take == 0) {
+      next_prob_sub += (skip << 4);
+    } else {
+      next_prob_sub += skip;    // Normal case
+      for (int i = 0; i < take; i++) {
+        if (topprob < prob[i]) {
+          topprob = prob[i];
+          toprankenc = next_prob_sub + i;
+        }
+      }
+      prob += take;
+      next_prob_sub += take;
+    }
+  }
+  return toprankenc;
+}
+
+
+// Find subscript of matching key in first 8 bytes of sorted hint array, or -1
+int HintBinaryLookup8(const HintEntry* hintprobs, int hintprobssize,
+                     const char* norm_key) {
+  // Key is always in range [lo..hi)
+  int lo = 0;
+  int hi = hintprobssize;
+  while (lo < hi) {
+    int mid = (lo + hi) >> 1;
+    int comp = memcmp(&hintprobs[mid].key_prob[0], norm_key, 8);
+    if (comp < 0) {
+      lo = mid + 1;
+    } else if (comp > 0) {
+      hi = mid;
+    } else {
+      return mid;
+    }
+  }
+  return -1;
+}
+
+// Find subscript of matching key in first 4 bytes of sorted hint array, or -1
+int HintBinaryLookup4(const HintEntry* hintprobs, int hintprobssize,
+                     const char* norm_key) {
+  // Key is always in range [lo..hi)
+  int lo = 0;
+  int hi = hintprobssize;
+  while (lo < hi) {
+    int mid = (lo + hi) >> 1;
+    int comp = memcmp(&hintprobs[mid].key_prob[0], norm_key, 4);
+    if (comp < 0) {
+      lo = mid + 1;
+    } else if (comp > 0) {
+      hi = mid;
+    } else {
+      return mid;
+    }
+  }
+  return -1;
+}
+
+static inline void Boost(DetectEncodingState* destatep, int r_enc, int boost) {
+  destatep->enc_prob[r_enc] += boost;
+}
+
+static inline void Whack(DetectEncodingState* destatep, int r_enc, int whack) {
+  destatep->enc_prob[r_enc] -= whack;
+}
+
+// Apply initial probability hint based on top level domain name
+// Weight is 0..100 percent
+// Return 1 if name match found
+int ApplyTldHint(const char* url_tld_hint, int weight,
+                  DetectEncodingState* destatep) {
+  if (url_tld_hint[0] == '~') {
+    return 0;
+  }
+  string normalized_tld = MakeChar4(string(url_tld_hint));
+  int n = HintBinaryLookup4(kTLDHintProbs, kTLDHintProbsSize,
+                           normalized_tld.c_str());
+  if (n >= 0) {
+    // TLD is four bytes, probability table is ~12 bytes
+    int best_sub = ApplyCompressedProb(&kTLDHintProbs[n].key_prob[kMaxTldKey],
+                                       kMaxTldVector, weight, destatep);
+    // Never boost ASCII7; do CP1252 instead
+    if (best_sub == F_ASCII_7_bit) {best_sub = F_CP1252;}
+    destatep->declared_enc_1 = best_sub;
+    if (destatep->debug_data != NULL) {
+      // Show TLD hint
+      SetDetailsEncProb(destatep, 0, best_sub, url_tld_hint);
+    }
+    return 1;
+  }
+  return 0;
+}
+
+// Apply initial probability hint based on charset= name
+// Weight is 0..100 percent
+// Return 1 if name match found
+int ApplyCharsetHint(const char* charset_hint, int weight,
+                      DetectEncodingState* destatep) {
+  if (charset_hint[0] == '~') {
+    return 0;
+  }
+  string normalized_charset = MakeChar44(string(charset_hint));
+  int n = HintBinaryLookup8(kCharsetHintProbs, kCharsetHintProbsSize,
+                           normalized_charset.c_str());
+  if (n >= 0) {
+    // Charset is eight bytes, probability table is ~eight bytes
+    int best_sub = ApplyCompressedProb(&kCharsetHintProbs[n].key_prob[kMaxCharsetKey],
+                                       kMaxCharsetVector, weight, destatep);
+    // Never boost ASCII7; do CP1252 instead
+    if (best_sub == F_ASCII_7_bit) {best_sub = F_CP1252;}
+    destatep->declared_enc_1 = best_sub;
+
+    // If first explicitly declared charset is confusable with Latin1/1252, put
+    // both declared forms in declared_enc_*, displacing Latin1/1252.
+    // This avoids a bit of Latin1 creep.
+    // Also boost the declared encoding and its pair
+    // TODO: This should all be folded into postproc-enc-detect.cc
+    if ((destatep->http_hint == UNKNOWN_ENCODING) &&
+        (destatep->meta_hint == UNKNOWN_ENCODING)) {
+      // This is the first charset=hint
+      switch (best_sub) {
+      case F_Latin2:            // 8859-2 Latin2, east euro
+        destatep->declared_enc_2 = F_CP1250;
+        Boost(destatep, F_Latin2, kGentleOnePair);
+        Boost(destatep, F_CP1250, kGentleOnePair);
+        break;
+      case F_CP1250:
+        destatep->declared_enc_2 = F_Latin2;
+        Boost(destatep, F_Latin2, kGentleOnePair);
+        Boost(destatep, F_CP1250, kGentleOnePair);
+        break;
+
+      case F_Latin3:            // 8859-3 Latin3, south euro, Esperanto
+        destatep->declared_enc_2 = F_ASCII_7_bit;
+        Boost(destatep, F_Latin3, kGentleOnePair);
+        break;
+
+      case F_Latin4:            // 8859-4 Latin4, north euro
+        destatep->declared_enc_2 = F_ASCII_7_bit;
+        Boost(destatep, F_Latin4, kGentleOnePair);
+        break;
+
+      case F_ISO_8859_5:        // 8859-5 Cyrillic
+        destatep->declared_enc_2 = F_ASCII_7_bit;       // Don't boost 1251
+        Boost(destatep, F_ISO_8859_5, kGentleOnePair);  // (too different)
+        break;
+      case F_CP1251:
+        destatep->declared_enc_2 = F_ASCII_7_bit;       // Don't boost -5
+        Boost(destatep, F_CP1251, kGentleOnePair);      // (too different)
+        break;
+
+      case F_Arabic:            // 8859-6 Arabic
+        destatep->declared_enc_2 = F_CP1256;
+        Boost(destatep, F_Arabic, kGentleOnePair);
+        Boost(destatep, F_CP1256, kGentleOnePair);
+        break;
+      case F_CP1256:
+        destatep->declared_enc_2 = F_Arabic;
+        Boost(destatep, F_Arabic, kGentleOnePair);
+        Boost(destatep, F_CP1256, kGentleOnePair);
+        break;
+
+      case F_Greek:             // 8859-7 Greek
+        destatep->declared_enc_2 = F_CP1253;
+        Boost(destatep, F_Greek, kGentleOnePair);
+        Boost(destatep, F_CP1253, kGentleOnePair);
+        break;
+      case F_CP1253:
+        destatep->declared_enc_2 = F_Greek;
+        Boost(destatep, F_Greek, kGentleOnePair);
+        Boost(destatep, F_CP1253, kGentleOnePair);
+        break;
+
+      case F_Hebrew:            // 8859-8 Hebrew
+        destatep->declared_enc_2 = F_CP1255;
+        Boost(destatep, F_Hebrew, kGentleOnePair);
+        Boost(destatep, F_CP1255, kGentleOnePair);
+        break;
+      case F_CP1255:
+        destatep->declared_enc_2 = F_Hebrew;
+        Boost(destatep, F_Hebrew, kGentleOnePair);
+        Boost(destatep, F_CP1255, kGentleOnePair);
+        break;
+
+      case F_Latin5:            // 8859-9 Latin5, Turkish
+        destatep->declared_enc_2 = F_ASCII_7_bit;       // Don't boost 1254
+        Boost(destatep, F_Latin5, kGentleOnePair);      // (too different)
+        break;
+      case F_CP1254:
+        destatep->declared_enc_2 = F_ASCII_7_bit;       // Don't boost Latin5
+        Boost(destatep, F_CP1254, kGentleOnePair);      // (too different)
+        break;
+
+      case F_Latin6:            // 8859-10 Latin6, Nordic
+        destatep->declared_enc_2 = F_ASCII_7_bit;
+        Boost(destatep, F_Latin6, kGentleOnePair);
+        break;
+
+      case F_ISO_8859_11:       // 8859-11 Thai,
+        destatep->declared_enc_2 = F_CP874;
+        Boost(destatep, F_ISO_8859_11, kGentleOnePair);
+        Boost(destatep, F_CP874, kGentleOnePair);
+        break;
+      case F_CP874:
+        destatep->declared_enc_2 = F_ISO_8859_11;
+        Boost(destatep, F_ISO_8859_11, kGentleOnePair);
+        Boost(destatep, F_CP874, kGentleOnePair);
+        break;
+
+      case F_ISO_8859_13:       // 8859-13 Latin7, Baltic
+        destatep->declared_enc_2 = F_CP1257;
+        Boost(destatep, F_ISO_8859_13, kGentleOnePair);
+        Boost(destatep, F_CP1257, kGentleOnePair);
+        break;
+      case F_CP1257:
+        destatep->declared_enc_2 = F_ISO_8859_13;
+        Boost(destatep, F_ISO_8859_13, kGentleOnePair);
+        Boost(destatep, F_CP1257, kGentleOnePair);
+        break;
+
+      case F_ISO_8859_15:       // 8859-15 Latin9, Latin0, Euro-ized Latin1
+        destatep->declared_enc_2 = F_ASCII_7_bit;
+        Boost(destatep, F_ISO_8859_15, kGentleOnePair);
+        break;
+
+
+        // Greek all-caps is confusable with KOI8x all-lower and Hebrew.
+        // This turns some Greek documents into Cyrillic, etc. by mistake.
+        // Greek and Hebrew are boosted explicitly above; do KOI8x here.
+        // Boosting the declared encodingmakes it harder for the wrong one to
+        // creep up.
+      case F_KOI8R:
+        Boost(destatep, F_KOI8R, kGentleOnePair);
+        break;
+      case F_KOI8U:
+        Boost(destatep, F_KOI8U, kGentleOnePair);
+        break;
+
+      default:
+        break;
+      }
+    }
+
+    if (destatep->debug_data != NULL) {
+      // Show charset hint
+      SetDetailsEncProb(destatep, 0, best_sub, charset_hint);
+    }
+
+    //
+    // Some fix-ups for the declared encodings
+    //
+
+    // If non-UTF8, non-Latin1/1252 encoding declared, disable UTF8 combos
+    // TODO: This should all be folded into postproc-enc-detect.cc
+    if ((best_sub != F_UTF8) &&
+        (best_sub != F_Latin1) &&
+        (best_sub != F_CP1252)) {
+      Whack(destatep, F_UTF8UTF8, kBadPairWhack * 4);         // demote
+    }
+
+    // Latin2 and CP1250 differ in the overlap part, such as B1 or B9
+    // The initial probabilites for charset=Latin2 explicitly put CP1250
+    // down twice as far as normal, and vice versa. This is done in
+    // postproc-enc-detect.cc
+
+    // If charset=user-defined, treat as Binary --
+    // we can safely only do low ASCII, might be Indic
+    if (normalized_charset.substr(0,4) == "user") {
+      Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+    }
+
+    return 1;
+  }
+  return 0;
+}
+
+// Apply initial probability hint based on caller-supplied encoding
+// Negative hint whacks ~encoding, non-negative boosts encoding
+//
+// Negative hints are an experiment to see if they might be useful.
+// Not operator used instead of unary minus to allow specifying not-zero
+int ApplyEncodingHint(const int encoding_hint, int weight,
+                       DetectEncodingState* destatep) {
+  Encoding enc_hint = static_cast<Encoding>((encoding_hint < 0) ?
+                                            ~encoding_hint : encoding_hint);
+  // Map to the right internal subscript
+  int rankedenc_hint = CompactEncDet::BackmapEncodingToRankedEncoding(enc_hint);
+
+  // I'm not sure how strong this hint should be. Weight 100% = 1 bigram
+  int increment = (kBoostOnePair * weight) / 100;
+
+  if (encoding_hint < 0) {
+    destatep->enc_prob[rankedenc_hint] -= increment;
+  } else {
+    destatep->enc_prob[rankedenc_hint] += increment;
+  }
+
+  if (destatep->debug_data != NULL) {
+    // Show encoding hint
+    SetDetailsEncProb(destatep, 0, -1, MyEncodingName(enc_hint));
+  }
+  return 1;
+}
+
+// Apply initial probability hint based on user interface language
+// Weight is 0..100 percent
+// Return 1 if name match found
+int ApplyUILanguageHint(const Language language_hint,
+                        int weight, DetectEncodingState* destatep) {
+  if (language_hint == UNKNOWN_LANGUAGE) {
+    return 0;
+  }
+  string normalized_lang = MakeChar8(LanguageName(language_hint));
+  int n = HintBinaryLookup8(kLangHintProbs, kLangHintProbsSize,
+                           normalized_lang.c_str());
+  if (n >= 0) {
+    // Language is eight bytes, probability table is ~eight bytes
+    int best_sub = ApplyCompressedProb(&kLangHintProbs[n].key_prob[kMaxLangKey],
+                                       kMaxLangVector, weight, destatep);
+    // Never boost ASCII7; do CP1252 instead
+    if (best_sub == F_ASCII_7_bit) {best_sub = F_CP1252;}
+    destatep->declared_enc_1 = best_sub;
+    if (destatep->debug_data != NULL) {
+      // Show language hint
+      SetDetailsEncProb(destatep, 0, best_sub, normalized_lang.c_str());
+    }
+    return 1;
+  }
+  return 0;
+}
+
+// Apply initial probability hint based on corpus type (web, email, etc)
+// Weight is 0..100 percent IGNORED
+// Return 1 if name match found
+int ApplyDefaultHint(const CompactEncDet::TextCorpusType corpus_type,
+                      int weight, DetectEncodingState* destatep) {
+
+  for (int i = 0; i < NUM_RANKEDENCODING; i++) {
+    // Set the default probability
+    destatep->enc_prob[i] = kDefaultProb[i] * 3;
+    // Deliberately set 2022 seven-bit encodings to zero,
+    // so we can look for actual use
+    // TODO: This should all be folded into postproc-enc-detect.cc
+    if (SevenBitEncoding(kMapToEncoding[i])) {
+      destatep->enc_prob[i] = 0;
+    }
+  }
+
+  //  A little corpus distinction
+  switch (corpus_type) {
+  case CompactEncDet::WEB_CORPUS:
+  case CompactEncDet::XML_CORPUS:
+    // Allow double-converted UTF-8 to start nearly equal to normal UTF-8
+    destatep->enc_prob[F_UTF8UTF8] =
+      destatep->enc_prob[F_UTF8] - kSmallInitDiff;
+  break;
+  case CompactEncDet::QUERY_CORPUS:
+  case CompactEncDet::EMAIL_CORPUS:
+  default:
+    break;
+  }
+
+  if (FLAGS_demo_nodefault) {
+    // Demo, make initial probs all zero
+    for (int i = 0; i < NUM_RANKEDENCODING; i++) {
+      destatep->enc_prob[i] = 0;
+    }
+  }
+
+  if (destatep->debug_data != NULL) {
+    // Show default hint
+    SetDetailsEncProb(destatep, 0, -1, "Default");
+  }
+  return 1;
+}
+
+
+
+// Do reverse search for c in [str..str+len)
+// Note: initial pointer is to FRONT of string, not back
+const char* MyMemrchr(const char* str, char c, size_t len) {
+  const char* ret = str + len;
+  while (str <= --ret) {
+    if (*ret == c) {return ret;}
+  }
+  return NULL;
+}
+
+
+// Minimum real URL is 11 bytes: "http://a.bc" -- shorter is assumed to be TLD
+// Now that we are no longer trying to do Indic font-based encodigns, we
+// don't need the full URL and can go back to simple TLD. This test remains for
+// backwards compatility with any caller using full URL.
+static const int kMinURLLength = 11;
+
+// Extract TLD from a full URL or just a TLD
+// Return hostname and length if a full URL
+void ExtractTLD(const char* url_hint, char* tld_hint, int tld_hint_len,
+                const char** ret_host_start, int* ret_host_len) {
+  // url_hint can either be a full URL (preferred) or just top-level domain name
+  // Extract the TLD from a full URL and use it for
+  // a normal TLD hint
+
+  strncpy(tld_hint, "~", tld_hint_len);
+  tld_hint[tld_hint_len - 1] = '\0';
+  *ret_host_start = NULL;
+  *ret_host_len = 0;
+
+  int url_len = (url_hint != NULL) ? strlen(url_hint) : 0;
+  if (url_len == 0) {
+    // Empty TLD
+    return;
+  }
+
+  // Minimum real URL is 11 bytes: "http://a.bc" -- shorter is assumed to be TLD
+  if (kMinURLLength <= url_len) {
+    // See if it really is a URL
+    const char* first_slash = strchr(url_hint, '/');
+    if ((first_slash != NULL) && (first_slash != url_hint) &&
+        (first_slash[-1] == ':') && (first_slash[1] == '/') &&
+        (memrchr(url_hint, '.', first_slash - url_hint) == NULL)) {
+      // We found :// and no dot in front of it, so declare a real URL
+
+      const char* hostname_start = first_slash + 2;
+      const char* hostname_end = strchr(hostname_start, '/');
+      if (hostname_end == NULL) {
+        // No slash; end is first byte off end of the URL string
+        hostname_end = url_hint + url_len;
+      }
+      size_t hostname_len = hostname_end - hostname_start;
+      const char* port_start =
+        (const char*)memchr(hostname_start, ':', hostname_len);
+      if (port_start != NULL) {
+        // Port; shorten hostname
+        hostname_end = port_start;
+        hostname_len = hostname_end - hostname_start;
+      }
+
+      const char* tld_start = MyMemrchr(hostname_start, '.', hostname_len);
+      if (tld_start != NULL) {
+        // Remember the TLD we just found
+        int tld_len = hostname_start + hostname_len - tld_start - 1;
+        if (tld_len > (tld_hint_len - 1)) {
+          tld_len = tld_hint_len - 1;
+        }
+        memcpy(tld_hint, tld_start + 1, tld_len);
+        tld_hint[tld_len] = '\0';
+      }
+      *ret_host_start = hostname_start;
+      *ret_host_len = hostname_len;
+      return;
+    }
+  } else {
+    strncpy(tld_hint, url_hint, tld_hint_len);
+    tld_hint[tld_hint_len - 1] = '\0';
+  }
+}
+
+// Apply hints, if any, to probabilities
+// NOTE: Encoding probabilites are all zero at this point
+void ApplyHints(const char* url_hint,
+                const char* http_charset_hint,
+                const char* meta_charset_hint,
+                const int encoding_hint,
+                const Language language_hint,
+                const CompactEncDet::TextCorpusType corpus_type,
+                DetectEncodingState* destatep) {
+  int hint_count = 0;
+  // url_hint can either be a full URL (preferred) or just top-level domain name
+  // Extract the TLD from a full URL and use it for
+  // a normal TLD hint
+
+  char tld_hint[16];
+  const char* hostname_start = NULL;
+  int hostname_len = 0;
+  ExtractTLD(url_hint, tld_hint, sizeof(tld_hint),
+             &hostname_start, &hostname_len);
+
+
+  // Initial hints give slight boost to Ascii-7-bit and code page 1252
+  // ApplyXxx routines copy enc_1 to enc_2 then update declared_enc_1
+  // This gives a boost to 1252 if one of HTTP/META is specified,
+  // but this could be the wrong thing to do if Latin2/3/4/etc. is specified
+  destatep->declared_enc_1 = F_CP1252;
+  destatep->declared_enc_2 = F_ASCII_7_bit;
+
+  // Applying various hints takes max of new hint and any old hint.
+  // This does better on multiple hints that a weighted average
+
+  // Weight is 0..100 percent
+  if ((http_charset_hint != NULL) && (http_charset_hint[0] != '~')) {
+    destatep->declared_enc_2 = destatep->declared_enc_1;
+    hint_count += ApplyCharsetHint(http_charset_hint, 100, destatep);
+    destatep->http_hint = kMapToEncoding[destatep->declared_enc_1];
+    if ((destatep->declared_enc_1 == F_CP1252) ||
+        (destatep->declared_enc_1 == F_Latin1)) {
+      destatep->looking_for_latin_trigrams = true;
+    }
+  }
+  if ((meta_charset_hint != NULL) && (meta_charset_hint[0] != '~')) {
+    destatep->declared_enc_2 = destatep->declared_enc_1;
+    hint_count += ApplyCharsetHint(meta_charset_hint, 100, destatep);
+    destatep->meta_hint = kMapToEncoding[destatep->declared_enc_1];
+    if ((destatep->declared_enc_1 == F_CP1252) ||
+        (destatep->declared_enc_1 == F_Latin1)) {
+      destatep->looking_for_latin_trigrams = true;
+    }
+  }
+  if (encoding_hint != UNKNOWN_ENCODING) {
+    destatep->declared_enc_2 = destatep->declared_enc_1;
+    hint_count += ApplyEncodingHint(encoding_hint, 50, destatep);
+  }
+  if (language_hint != UNKNOWN_LANGUAGE) {
+    destatep->declared_enc_2 = destatep->declared_enc_1;
+    hint_count += ApplyUILanguageHint(language_hint, 50, destatep);
+  }
+  // Use top level domain if not .com and <=1 other hint was available
+  if (url_hint != NULL) {
+    destatep->tld_hint = CompactEncDet::TopEncodingOfTLDHint(tld_hint);
+    if (hint_count == 0) {
+      // Apply with weight 100%
+      destatep->declared_enc_2 = destatep->declared_enc_1;
+      hint_count += ApplyTldHint(tld_hint, 100, destatep);
+      if ((destatep->declared_enc_1 == F_CP1252) ||
+          (destatep->declared_enc_1 == F_Latin1)) {
+        destatep->looking_for_latin_trigrams = true;
+      }
+      if (strcmp("hu", tld_hint) == 0) {
+        // Hungarian is particularly difficult to separate Latin2 from Latin1,
+        // so always look for trigram scanning if bare TLD=hu hint
+        destatep->looking_for_latin_trigrams = true;
+      }
+    // Treat .com as no TLD hint at all
+    } else if ((hint_count == 1) && (strcmp("com", tld_hint) != 0)) {
+      // Either shift weighting or consider doing no TLD here -- seems to
+      // distract from correct charset= hints. Or perhaps apply only if
+      // charset = Latin1/1252...
+      // Apply with weight 50%
+      destatep->declared_enc_2 = destatep->declared_enc_1;
+      hint_count += ApplyTldHint(tld_hint, 50, destatep);
+      if ((destatep->declared_enc_1 == F_CP1252) ||
+          (destatep->declared_enc_1 == F_Latin1)) {
+        destatep->looking_for_latin_trigrams = true;  // These need trigrams
+      }
+    }
+    // Else ignore TLD hint entirely
+  }
+
+  // Use all-web default distribution if not even a TLD hint
+  if (hint_count == 0) {
+    destatep->looking_for_latin_trigrams = true;    // Default needs trigrams
+    destatep->declared_enc_2 = destatep->declared_enc_1;
+    hint_count += ApplyDefaultHint(corpus_type, 100, destatep);
+  }
+
+
+// ISO-Microsoft Pairs
+//    F_Latin1, F_CP1252,
+//    F_Latin2, F_CP1250,   NOT really strict subset/superset pairs
+//    F_Latin3,
+//    F_Latin4,
+//    F_ISO_8859_5, F_CP1251,
+//    F_Arabic, F_CP1256,   NOT
+//    F_Greek,  F_CP1253,   NOT really pairs
+//                              (or upgrade incvt to make Greek use CP)
+//    F_Hebrew, F_CP1255,   NOT really pairs
+//    F_Latin5, F_CP1254,
+//    F_Latin6,
+//    F_ISO_8859_11,
+//    F_ISO_8859_13, F_CP1257,
+//    F_ISO_8859_15,
+// ISO-Microsoft Pairs
+
+  // Get important families started together
+  // // This should fall out of the initializatoin vectors for charset,
+  // but we need to get rid of families alltogetrher
+  //
+  // TODO make this more graceful
+
+  // Add small bias for subsets
+
+  // Subtract small bias for supersets
+  destatep->enc_prob[F_CP932] = destatep->enc_prob[F_SJS] - kSmallInitDiff;
+
+  destatep->enc_prob[F_GBK] = destatep->enc_prob[F_GB] - kSmallInitDiff;
+  destatep->enc_prob[F_GB18030] = destatep->enc_prob[F_GB] - kSmallInitDiff;
+
+  destatep->enc_prob[F_BIG5_CP950] = destatep->enc_prob[F_BIG5] -
+    kSmallInitDiff;
+  destatep->enc_prob[F_BIG5_HKSCS] = destatep->enc_prob[F_BIG5] -
+    kSmallInitDiff;
+
+  // Deliberate over-bias Ascii7 and underbias Binary [unneeded]
+  // destatep->enc_prob[F_ASCII_7_bit] = destatep->enc_prob[F_ASCII_7_bit] + kSmallInitDiff;
+  // destatep->enc_prob[F_BINARY] = destatep->enc_prob[F_BINARY] - (kBoostInitial / 2);
+
+  if (destatep->debug_data != NULL) {
+    // Show state at end of hints
+    SetDetailsEncProb(destatep, 0, -1, "Endhints");
+    if(FLAGS_enc_detect_detail2) {
+      // Add a line showing the watched encoding(s)
+      if (watch1_rankedenc >= 0) {
+        SetDetailsEncProb(destatep, 0,
+                          watch1_rankedenc, FLAGS_enc_detect_watch1);
+      }
+      if (watch2_rankedenc >= 0) {
+        SetDetailsEncProb(destatep, 0,
+                          watch2_rankedenc, FLAGS_enc_detect_watch2);
+      }
+    }     // End detail2
+  }
+
+  // If duplicate hints, set second one to ASCII_7BIT to prevent double-boost
+  if (destatep->declared_enc_1 == destatep->declared_enc_2) {
+    destatep->declared_enc_2 = F_ASCII_7_bit;
+  }
+
+  if (FLAGS_force127) {
+    destatep->do_latin_trigrams = true;
+    if (FLAGS_enc_detect_source) {
+      PsHighlight(0, destatep->initial_src, 0, 2);
+    }
+  }
+
+
+  if (FLAGS_counts && destatep->looking_for_latin_trigrams) {++looking_used;}
+  if (FLAGS_counts && destatep->do_latin_trigrams) {++doing_used;}
+
+  //
+  // At this point, destatep->enc_prob[] is an initial probability vector based
+  // on the given hints/default. In general, it spreads out least-likely
+  // encodings to be about 2**-25 below the most-likely encoding.
+  // For input text with lots of bigrams, an unlikely encoding can rise to
+  // the top at a rate of about 2**6 per bigram, and more commonly 2**2 per
+  // bigram. So more than 4 bigrams and commonly more than 12 are
+  // needed to overcome the initial hints when the least-likely encoding
+  // is in fact the correct answer. So if the entire text has very few bigrams
+  // (as a two-word query might), it can be impossible for the correct
+  // encoding to win.
+  //
+  // To compensate for this, we take the initial hint vector and effectively
+  // apply it at the rate of 1/16 every bigram for the first 16 bigrams. The
+  // actual mechanism is done just before the last prune.
+  //
+
+  // Remember Initial hint probabilities
+  memcpy(destatep->hint_prob, destatep->enc_prob, sizeof(destatep->enc_prob));
+}
+
+// Look for specific high-value patterns in the first 4 bytes
+// Byte order marks (BOM)
+//  EFBBBF    UTF-8
+//  FEFF      UTF-16 BE
+//  FFFE      UTF-16 LE
+//  FFFE0000  UTF-32 BE
+//  0000FEFF  UTF-32 LE
+//
+// Likely UTF-x of seven-bit ASCII
+//  00xx      UTF-16 BE  xx printable ASCII
+//  xx00      UTF-16 LE
+//  000000xx  UTF-32 BE
+//  xx000000  UTF-32 LE
+//
+void InitialBytesBoost(const uint8* src,
+                       int text_length,
+                       DetectEncodingState* destatep) {
+  if (text_length < 4) {return;}
+
+  char32 pair01 = (src[0] << 8) | src[1];
+  char32 pair23 = (src[2] << 8) | src[3];
+  char32 quad0123 = (pair01 << 16) | pair23;
+
+  bool utf_16_indication = false;
+  bool utf_32_indication = false;
+  int best_enc = -1;
+
+  // Byte order marks
+  // UTF-8
+  if ((quad0123 & 0xffffff00) == 0xEFBBBF00) {
+    destatep->bom_hint = UTF8;
+    Boost(destatep, F_UTF8, kBoostInitial * 2);
+    Boost(destatep, F_UTF8UTF8, kBoostInitial * 2);
+    best_enc = F_UTF8;
+  // UTF-32 (test before UTF-16)
+  } else if (quad0123 == 0x0000FEFF) {
+    destatep->bom_hint = UTF32BE;
+    Boost(destatep, F_UTF_32BE, kBoostInitial * 2);
+    best_enc = F_UTF_32BE;
+  } else if (quad0123 == 0xFFFE0000) {
+    destatep->bom_hint = UTF32LE;
+    Boost(destatep, F_UTF_32LE, kBoostInitial * 2);
+    best_enc = F_UTF_32LE;
+  // UTF-16
+  } else if (pair01 == 0xFEFF) {
+    destatep->bom_hint = UTF16BE;
+    Boost(destatep, F_UTF_16BE, kBoostInitial * 3);
+    best_enc = F_UTF_16BE;
+  } else if (pair01 == 0xFFFE) {
+    destatep->bom_hint = UTF16LE;
+    Boost(destatep, F_UTF_16LE, kBoostInitial * 3);
+    best_enc = F_UTF_16LE;
+
+  // Possible seven-bit ASCII encoded as UTF-16/32
+  // UTF-32 (test before UTF-16)
+  } else if (((quad0123 & 0xffffff00) == 0) &&
+             (kIsPrintableAscii[src[3]] != 0)) {
+    Boost(destatep, F_UTF_32BE, kBoostInitial);
+    Whack(destatep, F_UTF_32LE, kBadPairWhack);         // Illegal char
+    best_enc = F_UTF_32BE;
+  } else if (((quad0123 & 0x00ffffff) == 0) &&
+             (kIsPrintableAscii[src[0]] != 0)) {
+    Boost(destatep, F_UTF_32LE, kBoostInitial);
+    Whack(destatep, F_UTF_32BE, kBadPairWhack);         // Illegal char
+    best_enc = F_UTF_32LE;
+  } else if ((src[0] == 0x00) && (kIsPrintableAscii[src[1]] != 0)) {
+    Boost(destatep, F_UTF_16BE, kBoostInitial);
+    best_enc = F_UTF_16BE;
+  } else if ((src[1] == 0x00) && (kIsPrintableAscii[src[0]] != 0)) {
+    Boost(destatep, F_UTF_16LE, kBoostInitial);
+    best_enc = F_UTF_16LE;
+
+  // Whack if 0000 or FFFF
+  // UTF-32 (test before UTF-16)
+  } else if (quad0123 == 0x00000000) {
+    Whack(destatep, F_UTF_32BE, kBadPairWhack);         // Illegal char
+    Whack(destatep, F_UTF_32LE, kBadPairWhack);
+    Whack(destatep, F_UTF_16BE, kBadPairWhack);
+    Whack(destatep, F_UTF_16LE, kBadPairWhack);
+    best_enc = -1;
+  } else if (quad0123 == 0xffffffff) {
+    Whack(destatep, F_UTF_32BE, kBadPairWhack);         // Illegal char
+    Whack(destatep, F_UTF_32LE, kBadPairWhack);
+    Whack(destatep, F_UTF_16BE, kBadPairWhack);
+    Whack(destatep, F_UTF_16LE, kBadPairWhack);
+    best_enc = -1;
+  } else if (pair01 == 0x0000) {
+    Whack(destatep, F_UTF_16BE, kBadPairWhack);         // Illegal char
+    Whack(destatep, F_UTF_16LE, kBadPairWhack);
+    best_enc = -1;
+  } else if (pair01 == 0xffff) {
+    Whack(destatep, F_UTF_16BE, kBadPairWhack);         // Illegal char
+    Whack(destatep, F_UTF_16LE, kBadPairWhack);
+    best_enc = -1;
+
+
+  // These are the first four bytes of some known binary file formats
+
+  // Boost BINARY bigtime if JPEG FFD8FFxx
+  // Boost BINARY bigtime if png  89504E47  (.PNG)
+  // Boost BINARY bigtime if gif  47494638  (GIF8)
+  // Boost BINARY bigtime if zip  504B0304  (PK..)
+  // Boost BINARY bigtime if gzip 1F8B08xx
+  // Boost BINARY bigtime if gzip 78DAxxxx
+  // Boost BINARY if PDF 25504446 (%PDF)
+  // Boost BINARY if SWF (FWSx or CWSx where x <= 0x1f)
+  } else if ((quad0123 & 0xffffff00) == 0xFFD8FF00) {       // JPEG FFD8FFxx
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if (quad0123 == 0x89504E47) {                      // Hex 89 P N G
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if (quad0123 == 0x47494638) {                      // Hex GIF8
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if (quad0123 == 0x504B0304) {                      // Hex P K 03 04
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if ((quad0123 & 0xffffff00) == 0x1F8B0800) {       // gzip 1F8B08xx
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if (pair01 == 0x78DA) {                            // gzip 78DAxxxx
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if (quad0123 == 0x25504446) {                      // Hex %PDF
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if ((quad0123 & 0xffffff1f) == 0x66535700) {       // Hex FWSx
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if ((quad0123 & 0xffffff1f) == 0x63535700) {       // Hex CWSx
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+
+  // More binary detect prefixes
+  // 7F E L F   Executable and linking format
+  // M M 00 *   TIFF (little-endian)
+  // * 00 M M   TIFF (big-endian)
+  // 01 f c p   Final cut pro
+  } else if (quad0123 == 0x7F454C46) {                      // Hex 7F E L F
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if (quad0123 == 0x4D4D002A) {                      // Hex M M 00 *
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if (quad0123 == 0x2A004D4D) {                      // Hex * 00 M M
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if (quad0123 == 0x01666370) {                      // Hex 01 f c p
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+
+  // More binary detect prefixes; all-ASCII names; heavy weight to avoid ASCII
+  // prefix overcoming binary
+  // C C S D    USGS ISIS 3-D cube files
+  // S I M P    FITS image header    "SIMPLE "
+  } else if (quad0123 == 0x43435344) {                      // Hex C C S D
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if (quad0123 == 0x53494D50) {                      // Hex S I M P
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+
+  // More binary detect prefixes; all-ASCII names; lighter weight
+  // H W P      Hangul word processor
+  // 8 B P S    Photoshop
+  // P D S _    xx "PDS_VERSION_ID "
+  } else if (quad0123 == 0x48575020) {                      // Hex H W P
+    if ((19 <= text_length) &&
+        (memcmp(src, "HWP.Document.File.V", 19) == 0)) {
+      Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+    } else if ((19 <= text_length) &&
+               (memcmp(src, "HWP Document File V", 19) == 0)) {
+      Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+    } else {
+      Boost(destatep, F_BINARY, kBoostInitial * kWeakerBinary);
+    }
+  } else if (quad0123 == 0x38425053) {                      // Hex 8 B P S
+    Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+  } else if (quad0123 == 0x5044535F) {                      // Hex P D S _
+    if ((14 <= text_length) && (memcmp(src, "PDS_VERSION_ID", 14) == 0)) {
+      Boost(destatep, F_BINARY, kBoostInitial * kStrongBinary);
+    } else {
+      Boost(destatep, F_BINARY, kBoostInitial * kWeakerBinary);
+    }
+  }
+
+  // There are several main Windows EXE file formats.
+  // Not examined here (prefix too short; never see them in Google pipeline)
+  // M Z        DOS .exe  Mark Zbikowski
+  // N E        DOS 4.0 16-bit
+  // L E        OS/2 VxD drivers
+  // L X        OS/2
+  // P E        Windows NT
+
+
+  // More user-defined
+  // http://www.freenet.am/armscii/ Armenian
+
+  // If any hints or BOM, etc. keep UTF 16/32 around
+  if ((destatep->enc_prob[F_UTF_16BE] > 0) ||
+      (destatep->enc_prob[F_UTF_16LE] > 0)) {
+    utf_16_indication = true;
+  }
+  if ((destatep->enc_prob[F_UTF_32BE] > 0) ||
+      (destatep->enc_prob[F_UTF_32LE] > 0)) {
+    utf_32_indication = true;
+  }
+
+
+  // Kill UTF16/32 right now if no positive indication of them
+  // Otherwise, they tend to rise to the top in 7-bit files with an
+  // occasional 0x02 byte  in some comment or javascript
+  if (!utf_16_indication) {
+    Whack(destatep, F_UTF_16BE, kBadPairWhack * 8);
+    Whack(destatep, F_UTF_16LE, kBadPairWhack * 8);
+    Whack(destatep, F_Unicode, kBadPairWhack * 8);
+  }
+  if (!utf_32_indication) {
+    Whack(destatep, F_UTF_32BE, kBadPairWhack * 8);
+    Whack(destatep, F_UTF_32LE, kBadPairWhack * 8);
+  }
+
+  // Usually kill mixed encodings
+  if (!FLAGS_ced_allow_utf8utf8) {
+    Whack(destatep, F_UTF8UTF8, kBadPairWhack * 8);
+  }
+  // 2011.11.07 never use UTF8CP1252 -- answer will be UTF8 instead
+  Whack(destatep, F_UTF8CP1252, kBadPairWhack * 8);
+
+  if (destatep->debug_data != NULL) {
+    // Show first four bytes of the input
+    char buff[16];
+    snprintf(buff, sizeof(buff), "%04x%04x", pair01, pair23);
+    SetDetailsEncProb(destatep, 0, best_enc, buff);
+  }
+}
+
+
+
+// Descending order
+int IntCompare(const void* v1, const void* v2) {
+  const int* p1 = reinterpret_cast<const int*>(v1);
+  const int* p2 = reinterpret_cast<const int*>(v2);
+  if (*p1 < *p2) {return 1;}
+  if (*p1 > *p2) {return -1;}
+  return 0;
+}
+
+bool Base64Char(uint8 c) {
+  if (('A' <= c) && (c <= 'Z')) {return true;}
+  if (('a' <= c) && (c <= 'z')) {return true;}
+  if (('0' <= c) && (c <= '9')) {return true;}
+  if ('+' == c) {return true;}
+  if ('/' == c) {return true;}
+  return false;
+}
+
+int Base64ScanLen(const uint8* start, const uint8* limit) {
+  // We have a plausible beginning; scan entire base64 string
+  const uint8* ib64str = start;
+  const uint8* b64str = ib64str;
+  const uint8* b64strlimit = limit;
+  // if starts with + +++, assume it is drawing, so bogus
+  if (((limit - start) > 3) && (start[0] == '+') &&
+    (start[1] == '+') && (start[2] == '+')) {
+    return 81;
+  }
+  // Scan over base64
+  while ((b64str < b64strlimit) && (kBase64Value[*b64str++] >= 0))  {
+  }
+  b64str--;      // We overshot by 1
+  return b64str - ib64str;
+}
+
+// Input is at least 8-character legal base64 string after +.
+// But might be say + "Presse+Termine"
+bool GoodUnicodeFromBase64(const uint8* start, const uint8* limit) {
+  // Reject base64 string len N if density of '+' is > 1 + N/16 (expect 1/64)
+  // Reject base64 string len N if density of A-Z is < 1 + N/16 (expect 26/64)
+  // Reject base64 string len N if density of a-z is < 1 + N/16 (expect 26/64)
+  // Reject base64 string len N if density of 0-9 is < 1 + N/32 (expect 10/64)
+  // NOTE: this requires at least one lower AND one upper AND one digit to pass
+  //
+  int plus_count = 0;
+  int lower_count = 0;
+  int upper_count = 0;
+  int digit_count = 0;
+  int len = limit - start;
+  for (const uint8* src = start; src < limit; ++src) {
+    uint8 c = *src;
+    if (('a' <= c) && (c <= 'z')) {
+      ++lower_count;
+    } else if (('A' <= c) && (c <= 'Z')) {
+      ++upper_count;
+    } else if (('0' <= c) && (c <= '0')) {
+      ++digit_count;
+    } else if (*src == '+') {
+      ++plus_count;
+    }
+  }
+
+  if (plus_count > (1 + (len >> 4))) {return false;}
+  if (lower_count < (1 + (len >> 4))) {return false;}
+  if (upper_count < (1 + (len >> 4))) {return false;}
+  if (digit_count < (1 + (len >> 5))) {return false;}
+
+  // checking the last character to reduce false positive
+  // since the last character may be padded to 0 bits at the end.
+  // refer to http://en.wikipedia.org/wiki/UTF-7
+  int nmod8 = len & 7;
+  const uint8 last = *(start+len-1);
+  // When UTF-7 string length%8=3, the last two bits must be padded as 0
+  if ((nmod8 == 3) && (kBase64Value[last] & 3)) {return false;}
+  // When UTF-7 string length%8=6, the last four bits must be padded as 0
+  if ((nmod8 == 6) && (kBase64Value[last] & 15)) {return false;}
+  return true;
+}
+
+// Prune here after N bytes
+// Boost here for seven-bit sequences (at every prune)
+// if (sevenbitrankedencoding)
+//   + UTF7   scan and boost/demote len mod 8 = 0 3 6
+//   ~ Hz     scan and boost/demote len mod 8 = 0 2 4 6
+//   1B 2022  scan and boost/demote len mod 8 = 0 2 4 6
+//   0E 2022  scan and boost/demote len mod 8 = 0 2 4 6
+//   [0F 2022  boost/demote]
+//   00 UTF16/32  scan and boost/demote offset = even/odd
+//
+// If still some seven-bit possibilities > pure ASCII,
+// scan each possibility for clearer prob, s.t. about
+// two good sequences is a clear win
+// A-Z 00-19 00xx-64xx   (B = 04xx)
+// a-z 1A-33 68xx-CCxx   (f = 7Cxx)
+// 0-9 34-3D D0xx-F4xx   (1 = D4xx)
+// +   3E    F8xx
+// /   3F    FCxx
+// do another chunk  with slow scan
+
+
+// Boost, whack, or leave alone UTF-7 probablilty
+void UTF7BoostWhack(DetectEncodingState* destatep, int next_pair, uint8 byte2) {
+  int off = destatep->interesting_offsets[AsciiPair][next_pair];
+  if (off >= destatep->prior_utf7_offset) {
+    // Not part of a previous successful UTF-7 string
+    ++destatep->utf7_starts;
+
+    if (byte2 == '-') {
+      // +- encoding for '+'  neutral
+    } else if (!Base64Char(byte2)) {
+      // Not base64 -- not UTF-7, whack
+      Whack(destatep, F_UTF7, kBadPairWhack);                 // Illegal pair
+    } else {
+      // Starts with base64 byte, might be a good UTF7 sequence
+      const uint8* start = destatep->initial_src + off + 1;   // over the +
+      int n = Base64ScanLen(start, destatep->limit_src);
+      int nmod8 = n & 7;
+      if ((n == 3) || (n == 6)) {
+        // short but legal -- treat as neutral
+      } else if ((nmod8 == 0) | (nmod8 == 3) | (nmod8 == 6)) {
+        // Good length. Check for good Unicode.
+        if (GoodUnicodeFromBase64(start, start + n)) {
+          // Good length and Unicode, boost
+          Boost(destatep, F_UTF7, kBoostOnePair);         // Found good
+          destatep->prior_utf7_offset = off + n + 1;
+        } else {
+          // Bad Unicode. Whack
+          Whack(destatep, F_UTF7, kBadPairWhack);         // Illegal length
+        }
+      } else {
+        // Bad length. Whack
+        Whack(destatep, F_UTF7, kBadPairWhack);         // Illegal length
+      }
+    }
+  }
+}
+
+// Boost, whack, or leave alone HZ probablilty
+void HzBoostWhack(DetectEncodingState* destatep, uint8 byte1, uint8 byte2) {
+  if ((byte2 == '{') || (byte2 == '}')) {
+    Boost(destatep, F_HZ_GB_2312, kBoostOnePair);         // Found ~{ or ~}
+  } else if ((byte2 == '~') || (byte2 == '\n')) {
+    destatep->enc_prob[F_HZ_GB_2312] += 0;                // neutral
+  } else {
+    Whack(destatep, F_HZ_GB_2312, kBadPairWhack);         // Illegal pair
+  }
+}
+
+// Boost, whack, or leave alone BINARY probablilty
+void BinaryBoostWhack(DetectEncodingState* destatep, uint8 byte1, uint8 byte2) {
+  int quadrant = ((byte1 & 0x80) >> 6) | ((byte2 & 0x80) >> 7);
+  int bucket8x4 = ((byte1 & 0xe0) >> 3) | ((byte2 & 0xc0) >> 6);
+  uint32 quad_mask = 1 << quadrant;
+  uint32 bucket8x4_mask = 1 << bucket8x4;
+  if ((destatep->binary_quadrants_seen & quad_mask) == 0) {
+    destatep->binary_quadrants_seen |= quad_mask;
+    destatep->binary_quadrants_count += 1;
+    if (destatep->binary_quadrants_count == 4) {
+      Boost(destatep, F_BINARY, kBoostOnePair * 2);   // Found all 4 quadrants,
+                                                      // boost 2 pairs
+    }
+  }
+  if ((destatep->binary_8x4_seen & bucket8x4_mask) == 0) {
+    destatep->binary_8x4_seen |= bucket8x4_mask;
+    destatep->binary_8x4_count += 1;
+    if (destatep->binary_8x4_count >= 11) {
+      Boost(destatep, F_BINARY, kBoostOnePair * 4);   // Found 11+/20 buckets,
+                                                      // boost 4 pairs each time
+    }
+  }
+}
+
+
+// Demote UTF-16/32 on 0000 or FFFF, favoring Binary
+void UTF1632BoostWhack(DetectEncodingState* destatep, int offset, uint8 byte1) {
+  if (byte1 == 0) {     // We have 0000
+    Whack(destatep, F_UTF_16BE, kBadPairWhack);           // Illegal pair
+    Whack(destatep, F_UTF_16LE, kBadPairWhack);           // Illegal pair
+    switch (offset & 3) {
+    case 0:         // We get called with 0 4 8, etc. for ASCII/BMP as UTF-32BE
+      Whack(destatep, F_UTF_32LE, kBadPairWhack);         // Illegal pair
+      Boost(destatep, F_UTF_32BE, kSmallInitDiff);        // Good pair
+      break;
+    case 1:         // We get called with 1 5 9, etc. for ASCII as UTF-32LE
+    case 2:         // We get called with 2 6 10, etc. for BMP as UTF-32LE
+      Whack(destatep, F_UTF_32BE, kBadPairWhack);         // Illegal pair
+      Boost(destatep, F_UTF_32LE, kSmallInitDiff);        // Good pair
+      break;
+    case 3:         // ambiguous
+      break;
+    }
+  } else {              // We have ffff
+    Whack(destatep, F_UTF_32BE, kBadPairWhack);           // Illegal pair
+    Whack(destatep, F_UTF_32LE, kBadPairWhack);           // Illegal pair
+    Whack(destatep, F_UTF_16BE, kBadPairWhack);           // Illegal pair
+    Whack(destatep, F_UTF_16LE, kBadPairWhack);           // Illegal pair
+  }
+}
+
+// Make even offset
+void UTF16MakeEven(DetectEncodingState* destatep, int next_pair) {
+  destatep->interesting_offsets[OtherPair][next_pair] &= ~1;
+}
+
+bool ConsecutivePair(DetectEncodingState* destatep, int i) {
+  if (i <= 0) {
+    return false;
+  }
+  return destatep->interesting_offsets[OtherPair][i] ==
+         (destatep->interesting_offsets[OtherPair][i - 1] + 2);
+}
+
+// boost, whack, or leave alone UTF-8 probablilty
+// Any whacks are also applied to UTF8UTF8; CheckUTF8UTF8Seq assumes good UTF8
+// Returns total boost
+int CheckUTF8Seq(DetectEncodingState* destatep, int weightshift) {
+  int startcount = destatep->prior_interesting_pair[OtherPair];
+  int endcount = destatep->next_interesting_pair[OtherPair];
+
+  int demotion_count = 0;
+  for (int i = startcount; i < endcount; ++i) {
+    int sub;
+    char* s = &destatep->interesting_pairs[OtherPair][i * 2];
+    // Demote four byte patterns that are more likely Latin1 than UTF-8
+    // C9AE, DF92, DF93, DFAB. See note at top.
+    // Demotion also boosts Latin1 and CP1252
+    uint8 s0 = static_cast<uint8>(s[0]);
+    uint8 s1 = static_cast<uint8>(s[1]);
+    if ((s0 == 0xc9) && (s1 == 0xae)) {++demotion_count;}
+    if ((s0 == 0xdf) && (s1 == 0x92)) {++demotion_count;}
+    if ((s0 == 0xdf) && (s1 == 0x93)) {++demotion_count;}
+    if ((s0 == 0xdf) && (s1 == 0xab)) {++demotion_count;}
+
+    if (!ConsecutivePair(destatep, i)) {
+      // Insert a blank into the sequence; avoid wrong splices
+      sub = (' ' >> 4) & 0x0f;
+      ++destatep->utf8_minicount[
+          static_cast<int>(kMiniUTF8Count[static_cast<int>(destatep->next_utf8_ministate)][sub])];
+      destatep->next_utf8_ministate =
+        kMiniUTF8State[destatep->next_utf8_ministate][sub];
+    }
+    // Byte 0
+    sub = (s0 >> 4) & 0x0f;
+    ++destatep->utf8_minicount[
+        static_cast<int>(kMiniUTF8Count[static_cast<int>(destatep->next_utf8_ministate)][sub])];
+    destatep->next_utf8_ministate =
+      kMiniUTF8State[destatep->next_utf8_ministate][sub];
+    // Byte 1
+    sub = (s1 >> 4) & 0x0f;
+    ++destatep->utf8_minicount[
+        static_cast<int>(kMiniUTF8Count[static_cast<int>(destatep->next_utf8_ministate)][sub])];
+    destatep->next_utf8_ministate =
+      kMiniUTF8State[destatep->next_utf8_ministate][sub];
+    DCHECK((0 <= destatep->next_utf8_ministate) &&
+           (destatep->next_utf8_ministate < 8));
+  }
+
+
+  // For the four specific byte combinations above, Latin1/CP1252 is more likely
+  if (demotion_count > 0) {
+    Boost(destatep, F_Latin1, kGentleOnePair * demotion_count);
+    Boost(destatep, F_CP1252, kGentleOnePair * demotion_count);
+  }
+
+  // Boost UTF8 for completed good sequences
+  int total_boost = 2 * destatep->utf8_minicount[2] +
+                    3 * destatep->utf8_minicount[3] +
+                    4 * destatep->utf8_minicount[4];
+  // But not so much for demoted bytes
+  total_boost -= (3 * demotion_count);
+
+  total_boost *= kGentleOnePair;
+  total_boost >>= weightshift;
+  // Design: boost both UTF8 and UTF8UTF8 for each good sequence
+  Boost(destatep, F_UTF8, total_boost);
+  Boost(destatep, F_UTF8UTF8, total_boost);
+
+  destatep->utf8_minicount[5] += destatep->utf8_minicount[2];   // total chars
+  destatep->utf8_minicount[5] += destatep->utf8_minicount[3];   // total chars
+  destatep->utf8_minicount[5] += destatep->utf8_minicount[4];   // total chars
+  destatep->utf8_minicount[2] = 0;
+  destatep->utf8_minicount[3] = 0;
+  destatep->utf8_minicount[4] = 0;
+
+  // Whack (2 bytes) for errors
+  int error_whack = 2 * destatep->utf8_minicount[1];
+  error_whack *= kGentlePairWhack;
+  error_whack >>= weightshift;
+  Whack(destatep, F_UTF8, error_whack);
+  Whack(destatep, F_UTF8UTF8, error_whack);
+  destatep->utf8_minicount[1] = 0;
+
+  return total_boost - error_whack;
+}
+
+
+// Boost, whack, or leave alone UTF8UTF8 probablilty
+//
+// We are looking for
+// (1) chars ONLY in set UTF8(0080)..UTF8(00FF), including for 80..9F the
+//     MS CP1252 mappings, and
+// (2) sequences of 2 or more such characters
+//
+// If so, we could be looking at some non-7-bit encoding extra-converted
+// to UTF-8. The most common observed is CP1252->UTF8 twice,
+//    1252=>UTF8 : 1252=>UTF8
+// where the colon means "take those bytes and pretend that they are 1252".
+// We have a couple of examples of BIG5 bytes converted as though
+// they were 1252,
+//    BIG5 : 1252=>UTF8
+//
+// Of course, we don't want correctly converted 1252 to be flagged here
+//    1252=>UTF8
+// So we want the input high bytes to be in pairs or longer, hence the
+// output UTF8 in groups of four bytes or more
+//
+// Good chars: C2xx, C3xx,
+// Good chars: C592, C593, C5A0, C5A1, C5B8, C5BD, C5BE, C692, CB86, CB9C
+// Good chars: E280xx E282AC E284A2
+//             C2xx 1100001x 10xxxxxx   (128/128)
+//             C5xx 11000101 10xx00xx   (16/4)
+//             C5xx 11000101 10111xxx   (8/3)
+//             C692 11000110 10010010   (1/1)
+//             CBxx 11001011 100xx1x0   (8/2)
+//             E28x 11100010 10000xx0   (4/3)
+//
+// Returns total boost
+int CheckUTF8UTF8Seq(DetectEncodingState* destatep, int weightshift) {
+  int this_pair = destatep->prior_interesting_pair[OtherPair];
+  int startbyteoffset = this_pair * 2;
+  int endbyteoffset = destatep->next_interesting_pair[OtherPair] * 2;
+  char* startbyte = &destatep->interesting_pairs[OtherPair][startbyteoffset];
+  char* endbyte = &destatep->interesting_pairs[OtherPair][endbyteoffset];
+
+  int pair_number = this_pair;
+  for (char* s = startbyte; s < endbyte; s += 2) {
+    int next = destatep->next_utf8utf8_ministate;
+    if (!ConsecutivePair(destatep, pair_number)) {
+      // Insert two blanks into the sequence to avoid wrong splices
+      // go back to no odd-byte offset
+      destatep->utf8utf8_odd_byte = 0;
+      int sub = UTF88Sub(' ', ' ');
+      ++destatep->utf8utf8_minicount[static_cast<int>(kMiniUTF8UTF8Count[next][sub])];
+      next = kMiniUTF8UTF8State[next][sub];
+    }
+
+    int odd = destatep->utf8utf8_odd_byte;
+    if (s + 1 + odd >= endbyte) continue;
+    int sub = UTF88Sub(s[0 + odd], s[1 + odd]);
+    destatep->utf8utf8_odd_byte ^= kMiniUTF8UTF8Odd[next][sub];
+    ++destatep->utf8utf8_minicount[
+        static_cast<int>(kMiniUTF8UTF8Count[next][sub])];
+    destatep->next_utf8utf8_ministate = kMiniUTF8UTF8State[next][sub];
+    ++pair_number;
+  }
+
+  // Boost for completed good sequences; each count covers two chars.
+  // Design: boost UTF8UTF8 above UTF8 for each good sequence
+  int total_boost = (2) * destatep->utf8utf8_minicount[2] +
+                    (2) * destatep->utf8utf8_minicount[3] +
+                    (2) * destatep->utf8utf8_minicount[4];
+  total_boost *= kGentleOnePair;
+  total_boost >>= weightshift;
+  Boost(destatep, F_UTF8UTF8, total_boost);
+
+  // Track total characters
+  destatep->utf8utf8_minicount[5] += destatep->utf8utf8_minicount[2];
+  destatep->utf8utf8_minicount[5] += destatep->utf8utf8_minicount[3];
+  destatep->utf8utf8_minicount[5] += destatep->utf8utf8_minicount[4];
+  destatep->utf8utf8_minicount[2] = 0;
+  destatep->utf8utf8_minicount[3] = 0;
+  destatep->utf8utf8_minicount[4] = 0;
+
+  // Design: Do not whack UTF8UTF8 below UTF8 for each bad sequence
+
+  destatep->utf8utf8_minicount[1] = 0;
+  return total_boost;
+}
+
+
+// boost, whack, or leave alone UTF-32 probablilty
+// Expecting 0000PPxx 0000QQxx where PP mostly = QQ (UTF-32BE)
+// Expecting xxPP0000 xxQQ0000 where PP mostly = QQ (UTF-32LE)
+void CheckUTF32ActiveSeq(DetectEncodingState* destatep) {
+  // Not needed
+  return;
+}
+
+// We give a gentle boost for each paired SO ... SI, whack others
+void CheckIso2022ActiveSeq(DetectEncodingState* destatep) {
+  int this_pair = destatep->prior_interesting_pair[OtherPair];
+  int startbyteoffset = this_pair * 2;
+  int endbyteoffset = destatep->next_interesting_pair[OtherPair] * 2;
+  char* startbyte = &destatep->interesting_pairs[OtherPair][startbyteoffset];
+  char* endbyte = &destatep->interesting_pairs[OtherPair][endbyteoffset];
+
+  // Initial <esc> char must precede SO/SI
+  // HZ_GB_2312 has no alternation constraint on 1- and 2-byte segments
+  // ISO-2022-JP (JIS) has no alternation constraint on 1- and 2-byte segments
+  // ISO-2022-CN has no alternation constraint on 1- and 2-byte segments
+  // ISO-2022-KR requires alternation between 1- and 2-byte segments
+  // JIS:
+  //  <esc> ( B ISO-2022-JP     [1b 28 42]  SI to ASCII
+  //  <esc> ( J ISO-2022-JP     [1b 28 4a]  SI to X0201
+  //  <esc> $ @ ISO-2022-JP     [1b 24 40]  SO to X0208-78 twobyte
+  //  <esc> $ B ISO-2022-JP     [1b 24 42]  SO to X0208-83 twobyte
+  for (char* s = startbyte; s < endbyte; s += 2) {
+    if (s[0] == 0x1b) {
+      if (s[1] == 0x24) {
+        // <esc> $  is SO
+        destatep->next_2022_state = SOSI_TWOBYTE;       // SO to two-byte
+      } else if (s[1] == 0x28) {
+        if (destatep->next_2022_state == SOSI_TWOBYTE) {
+          Boost(destatep, F_JIS, kGentlePairBoost);
+        } else if (destatep->next_2022_state == SOSI_ONEBYTE) {
+          Whack(destatep, F_JIS, kGentlePairWhack);
+        }
+        destatep->next_2022_state = SOSI_ONEBYTE;       // JIS SI to one-byte
+      } else {
+        Whack(destatep, F_JIS, kBadPairWhack);
+        Whack(destatep, F_ISO_2022_CN, kBadPairWhack);
+        Whack(destatep, F_ISO_2022_KR, kBadPairWhack);
+        destatep->next_2022_state = SOSI_ERROR;     // not 2022
+      }
+    } else if (s[0] == 0x0e)  {
+      // <so>
+      Whack(destatep, F_JIS, kBadPairWhack);
+      if (destatep->next_2022_state != SOSI_NONE) {
+        destatep->next_2022_state = SOSI_TWOBYTE;       // SO to two-byte
+      } else {
+        // ESC required before SO/SI
+        Whack(destatep, F_ISO_2022_CN, kBadPairWhack * 4);
+        Whack(destatep, F_ISO_2022_KR, kBadPairWhack * 4);
+        destatep->next_2022_state = SOSI_ERROR;     // SO not after SI
+      }
+    } else if (s[0] == 0x0f)  {
+      // <si>
+      Whack(destatep, F_JIS, kBadPairWhack);
+      if (destatep->next_2022_state != SOSI_NONE) {
+        if (destatep->next_2022_state == SOSI_TWOBYTE) {
+          Boost(destatep, F_ISO_2022_CN, kGentlePairBoost);
+          Boost(destatep, F_ISO_2022_KR, kGentlePairBoost);
+        } else if (destatep->next_2022_state == SOSI_ONEBYTE) {
+          Whack(destatep, F_ISO_2022_CN, kGentlePairWhack);
+          Whack(destatep, F_ISO_2022_KR, kGentlePairWhack);
+        }
+        destatep->next_2022_state = SOSI_ONEBYTE;       // SI to one-byte
+      } else {
+        // ESC required before SO/SI
+        Whack(destatep, F_ISO_2022_CN, kBadPairWhack * 4);
+        Whack(destatep, F_ISO_2022_KR, kBadPairWhack * 4);
+        destatep->next_2022_state = SOSI_ERROR;     // SI not after SO
+      }
+    } else if (s[0] <= 0x1f)  {
+      // Some other control code. Allow ht lf [ff] cr
+      if ((s[0] != 0x09) && (s[0] != 0x0a) &&
+          (s[0] != 0x0c) && (s[0] != 0x0d)) {
+        // Otherwise these can float to the top on bad bytes
+        Whack(destatep, F_JIS, kBadPairWhack);
+        Whack(destatep, F_ISO_2022_CN, kBadPairWhack);
+        Whack(destatep, F_ISO_2022_KR, kBadPairWhack);
+      }
+    }
+  }
+
+  // If no start, keep the probability pinned at zero (or below)
+  if (destatep->next_2022_state == SOSI_NONE) {
+    destatep->enc_prob[F_ISO_2022_CN] =
+      minint(0, destatep->enc_prob[F_ISO_2022_CN]);
+    destatep->enc_prob[F_ISO_2022_KR] =
+      minint(0, destatep->enc_prob[F_ISO_2022_KR]);
+    destatep->enc_prob[F_JIS] =
+      minint(0, destatep->enc_prob[F_JIS]);
+  }
+}
+
+// We give a gentle boost for each paired ~{ ... ~}, whack others
+void CheckHzActiveSeq(DetectEncodingState* destatep) {
+  int this_pair = destatep->prior_interesting_pair[AsciiPair];
+  int startbyteoffset = this_pair * 2;
+  int endbyteoffset = destatep->next_interesting_pair[AsciiPair] * 2;
+  char* startbyte = &destatep->interesting_pairs[AsciiPair][startbyteoffset];
+  char* endbyte = &destatep->interesting_pairs[AsciiPair][endbyteoffset];
+
+  for (char* s = startbyte; s < endbyte; s += 2) {
+    // Look for initial ~{ pair
+    if ((s[0] == '~') && (s[1] == '{')) {
+      destatep->next_hz_state = SOSI_TWOBYTE;       // SO to two-byte
+    }
+    // Also look for closing ~} pair
+    if ((s[0] == '~') && (s[1] == '}'))  {
+      if (destatep->next_hz_state == SOSI_TWOBYTE) {
+        Boost(destatep, F_HZ_GB_2312, kGentlePairBoost);
+      } else if (destatep->next_hz_state == SOSI_ONEBYTE) {
+        Whack(destatep, F_HZ_GB_2312, kGentlePairWhack);
+      }
+      destatep->next_hz_state = SOSI_ONEBYTE;       // SI to one-byte
+    }
+  }
+
+  // If no start, keep the probability pinned at zero (or below)
+  if (destatep->next_hz_state == SOSI_NONE) {
+    destatep->enc_prob[F_HZ_GB_2312] =
+      minint(0, destatep->enc_prob[F_HZ_GB_2312]);
+  }
+}
+
+// We give a gentle boost after an odd number of 8Fxxxx triples, which
+// put subsequent bigrams out of phase until a low byte or another 8Fxxxx
+void CheckEucJpSeq(DetectEncodingState* destatep) {
+  int this_pair = destatep->prior_interesting_pair[OtherPair];
+  int startbyteoffset = this_pair * 2;
+  int endbyteoffset = destatep->next_interesting_pair[OtherPair] * 2;
+  char* startbyte = &destatep->interesting_pairs[OtherPair][startbyteoffset];
+  char* endbyte = &destatep->interesting_pairs[OtherPair][endbyteoffset];
+
+  for (char* s = startbyte; s < endbyte; s += 2) {
+    // Boost if out of phase (otherwise, EUC-JP will score badly after 8Fxxxx)
+    if (destatep->next_eucjp_oddphase) {
+      //printf("  EucJp boost[%02x%02x]\n", s[0], s[1]);    // TEMP
+      Boost(destatep, F_EUC_JP, kGentlePairBoost * 2);
+    }
+
+    uint8 s0 = static_cast<uint8>(s[0]);
+    uint8 s1 = static_cast<uint8>(s[1]);
+    // Look for phase flip at 8F
+    if ((s0 & 0x80) == 0x00) {
+      destatep->next_eucjp_oddphase = false;
+    } else if (s0 == 0x8f) {
+      destatep->next_eucjp_oddphase = !destatep->next_eucjp_oddphase;
+    }
+    if ((s1 & 0x80) == 0x00) {
+      destatep->next_eucjp_oddphase = false;
+    } else if (s1 == 0x8f) {
+      destatep->next_eucjp_oddphase = !destatep->next_eucjp_oddphase;
+    }
+  }
+}
+
+// Boost, whack, or leave alone BINARY probablilty
+// Also called if UTF 16/32 active
+void CheckBinaryDensity(const uint8* src, DetectEncodingState* destatep,
+                        int delta_otherpairs) {
+  // No change if not much gathered information
+  if (delta_otherpairs == 0) {
+    // Only ASCII pairs this call
+    return;
+  }
+  int next_pair = destatep->next_interesting_pair[OtherPair];
+
+  // Look at density of interesting pairs [0..src)
+  int delta_offset =  static_cast<int>(src - destatep->initial_src);   // actual
+
+  // Look at density of interesting pairs [0..next_interesting)
+  int low_byte = destatep->interesting_offsets[OtherPair][0];
+  //int high_byte = destatep->interesting_offsets[OtherPair][next_pair - 1] + 2;
+  //int byte_span = high_byte - low_byte;
+  int byte_span = delta_offset - low_byte;
+
+  // If all ASCII for the first 4KB, reject
+  // If mostly ASCII in the first 5KB, reject
+  if ((low_byte >= kBinaryHardAsciiLimit) || (delta_offset >= kBinarySoftAsciiLimit)) {
+    // Not binary early enough in text
+    Whack(destatep, F_BINARY, kBadPairWhack * 4);
+    Whack(destatep, F_UTF_32BE, kBadPairWhack * 4);
+    Whack(destatep, F_UTF_32LE, kBadPairWhack * 4);
+    Whack(destatep, F_UTF_16BE, kBadPairWhack * 4);
+    Whack(destatep, F_UTF_16LE, kBadPairWhack * 4);
+    return;
+  }
+
+  // Density 1.0 for N pairs takes 2*N bytes
+  // Whack if < 1/16 after first non_ASCII pair
+  if ((next_pair * 2 * 16) < byte_span) {
+    // Not dense enough
+    Whack(destatep, F_BINARY, kBadPairWhack * 4);
+    Whack(destatep, F_UTF_32BE, kBadPairWhack * 4);
+    Whack(destatep, F_UTF_32LE, kBadPairWhack * 4);
+    Whack(destatep, F_UTF_16BE, kBadPairWhack * 4);
+    Whack(destatep, F_UTF_16LE, kBadPairWhack * 4);
+  }
+
+  if (next_pair < 8) {
+    // Fewer than 8 non-ASCII total; too soon to boost
+    return;
+  }
+
+  // Density 1.0 for N pairs takes 2*N bytes
+  // Boost if density >= 1/4, whack if < 1/16
+  if ((next_pair * 2 * 4) >= byte_span) {
+    // Very dense
+    // Only boost if at least 2 quadrants seen
+    if (destatep->binary_quadrants_count >= 2) {
+      Boost(destatep, F_BINARY, kSmallInitDiff);
+      Boost(destatep, F_UTF_32BE, kSmallInitDiff);
+      Boost(destatep, F_UTF_32LE, kSmallInitDiff);
+      Boost(destatep, F_UTF_16BE, kSmallInitDiff);
+      Boost(destatep, F_UTF_16LE, kSmallInitDiff);
+    }
+  }
+}
+
+
+// Look at a number of special-case encodings whose reliable detection depends
+// on sequencing or other properties
+// AsciiPair probibilities (UTF7 and HZ) are all done here
+void ActiveSpecialBoostWhack(const uint8* src, DetectEncodingState* destatep) {
+  int delta_asciipairs = destatep->next_interesting_pair[AsciiPair] -
+    destatep->prior_interesting_pair[AsciiPair];
+  int delta_otherpairs = destatep->next_interesting_pair[OtherPair] -
+    destatep->prior_interesting_pair[OtherPair];
+
+  // The two pure ASCII encodings
+  if (UTF7OrHzActive(destatep) && (delta_asciipairs > 0)) {
+    // Adjust per pair
+    for (int i = 0; i < delta_asciipairs; ++i) {
+      int next_pair = destatep->prior_interesting_pair[AsciiPair] + i;
+      uint8 byte1 = destatep->interesting_pairs[AsciiPair][next_pair * 2 + 0];
+      uint8 byte2 = destatep->interesting_pairs[AsciiPair][next_pair * 2 + 1];
+      if (byte1 == '+') {
+        // Boost, whack, or leave alone UTF-7 probablilty
+        UTF7BoostWhack(destatep, next_pair, byte2);
+        if (destatep->debug_data != NULL) {
+          // Show UTF7 entry
+          char buff[16];
+          snprintf(buff, sizeof(buff), "%02x%02x+", byte1, byte2);
+          SetDetailsEncProb(destatep,
+                            destatep->interesting_offsets[AsciiPair][next_pair],
+                            kMostLikelyEncoding[(byte1 << 8) + byte2],
+                            buff);
+        }
+      } else if (byte1 == '~') {
+        // Boost, whack, or leave alone HZ probablilty
+        HzBoostWhack(destatep, byte1, byte2);
+        if (destatep->debug_data != NULL) {
+          // Show Hz entry
+          char buff[16];
+          snprintf(buff, sizeof(buff), "%02x%02x~", byte1, byte2);
+          SetDetailsEncProb(destatep,
+                            destatep->interesting_offsets[AsciiPair][next_pair],
+                            kMostLikelyEncoding[(byte1 << 8) + byte2],
+                            buff);
+        }
+      }
+    }
+
+    // Kill UTF-7 now if at least 8 + pairs and not confirmed valid UTF-7
+    if ((destatep->utf7_starts >= 8) && (destatep->prior_utf7_offset == 0)) {
+      Whack(destatep, F_UTF7, kBadPairWhack * 8);         // flush
+    }
+  }
+
+
+
+  // All the other encodings
+  if (OtherActive(destatep) && (delta_otherpairs > 0)) {
+    // Adjust per pair
+    int biggest_weightshift = 0;
+    for (int i = 0; i < delta_otherpairs; ++i) {
+      int next_pair = destatep->prior_interesting_pair[OtherPair] + i;
+      uint8 byte1 = destatep->interesting_pairs[OtherPair][next_pair * 2 + 0];
+      uint8 byte2 = destatep->interesting_pairs[OtherPair][next_pair * 2 + 1];
+      int off = destatep->interesting_offsets[OtherPair][next_pair];
+      int weightshift = destatep->interesting_weightshift[OtherPair][next_pair];
+      biggest_weightshift = maxint(biggest_weightshift, weightshift);
+
+      if (byte1 == 0x00) {
+        if (byte2 == 0x00) {
+          UTF1632BoostWhack(destatep, off, byte1);
+        } else if ((kIsPrintableAscii[byte2] != 0) && ((off & 1) != 0)) {
+          // We have 00xx at an odd offset. Turn into preceding even offset
+          // for possible Ascii text in UTF-16LE or UTF-32LE (vs BE)
+          // This will cascade into caller's probability update
+          // 00 is illegal for all other encodings, so it doesn't matter to them
+          UTF16MakeEven(destatep, next_pair);
+        }
+        if (destatep->debug_data != NULL) {
+          // Show 0000 detail entry for this bigram
+          char buff[16];
+          snprintf(buff, sizeof(buff), "%02x%02xZ", byte1, byte2);
+          SetDetailsEncProb(destatep,
+                            destatep->interesting_offsets[OtherPair][next_pair],
+                            kMostLikelyEncoding[(byte1 << 8) + byte2],
+                            buff);
+        }
+      }
+      if (byte1 == 0xff) {
+        if (byte2 == 0xff) {
+          UTF1632BoostWhack(destatep, off, byte1);
+        }
+        if (destatep->debug_data != NULL) {
+          // Show FFFF detail entry for this bigram
+          char buff[16];
+          snprintf(buff, sizeof(buff), "%02x%02xF", byte1, byte2);
+          SetDetailsEncProb(destatep,
+                            destatep->interesting_offsets[OtherPair][next_pair],
+                            kMostLikelyEncoding[(byte1 << 8) + byte2],
+                            buff);
+        }
+      }
+      if (BinaryActive(destatep)) {
+        BinaryBoostWhack(destatep, byte1, byte2);
+      }
+    }         // End for i
+
+    // Adjust per entire-pair-span
+    int utf8_boost = 0;
+    int utf8utf8_boost = 0;
+    if (UTF8Active(destatep)) {
+      utf8_boost = CheckUTF8Seq(destatep, biggest_weightshift);
+    }
+
+    if (UTF8UTF8Active(destatep)) {
+      utf8utf8_boost = CheckUTF8UTF8Seq(destatep, biggest_weightshift);
+    }
+
+    if (UTF1632Active(destatep)) {
+      CheckUTF32ActiveSeq(destatep);
+    }
+
+    if (Iso2022Active(destatep)) {
+      CheckIso2022ActiveSeq(destatep);
+    }
+
+    if (HzActive(destatep)) {
+      CheckHzActiveSeq(destatep);
+    }
+
+    if (EUCJPActive(destatep)) {
+      CheckEucJpSeq(destatep);
+    }
+
+    if (BinaryActive(destatep) || UTF1632Active(destatep)) {
+      CheckBinaryDensity(src, destatep, delta_otherpairs);
+    }
+  }
+  // ISO-2022 do OK on their own, using stright probabilities? Not on bad bytes
+
+  if (destatep->debug_data != NULL) {
+    // Show sequencing result
+    SetDetailsEncLabel(destatep, "seq");
+  }
+}
+
+
+void PrintTopEnc(DetectEncodingState* destatep, int n) {
+  // Print top n or fewer
+  int temp_sort[NUM_RANKEDENCODING];
+  for (int j = 0; j < destatep->rankedencoding_list_len; ++j) {
+    int rankedencoding = destatep->rankedencoding_list[j];
+    temp_sort[j] = destatep->enc_prob[rankedencoding];
+  }
+
+  qsort(temp_sort, destatep->rankedencoding_list_len,
+        sizeof(temp_sort[0]), IntCompare);
+
+  int top_n = minint(n, destatep->rankedencoding_list_len);
+  int showme = temp_sort[top_n - 1];    // Print this value and above
+
+  printf("rankedencodingList top %d: ", top_n);
+  for (int j = 0; j < destatep->rankedencoding_list_len; ++j) {
+    int rankedencoding = destatep->rankedencoding_list[j];
+    if (showme <= destatep->enc_prob[rankedencoding]) {
+      printf("%s=%d ",
+             MyEncodingName(kMapToEncoding[rankedencoding]),
+             destatep->enc_prob[rankedencoding]);
+    }
+  }
+  printf("\n\n");
+}
+
+// If the same bigram repeats, don't boost its best encoding too much
+bool RepeatedBigram(DetectEncodingState* destatep, uint8 byte1, uint8 byte2) {
+  int this_bigram = (byte1 << 8) | byte2;
+  // If 00xx 01xx 02xx ... 1fxx, take out bottom 4 bits of xx.
+  // This ignores parts of Yahoo 0255 0254 0243 0247 0245 0243 0250 0255 ...
+  // It may screw up UTF-16BE
+  // It may screw up ISO-2022 (1b24 suppresses 1b28)
+  if (byte1 < 0x20) {
+    this_bigram &= 0xfff0;
+  }
+  if (this_bigram == destatep->prior_bigram[0]) {return true;}
+  if (this_bigram == destatep->prior_bigram[1]) {return true;}
+  if (this_bigram == destatep->prior_bigram[2]) {return true;}
+  if (this_bigram == destatep->prior_bigram[3]) {return true;}
+  // Round-robin replacement
+  destatep->prior_bigram[destatep->next_prior_bigram] = this_bigram;
+  destatep->next_prior_bigram = (destatep->next_prior_bigram + 1) & 3;
+  return false;
+}
+
+// Sometimes illegal bytes are used as markers between text that Javascript
+// is going to decode. Don't overboost the Binary encoding for markers 01-FF.
+// Just count first pair per 8x4 bucket
+bool RepeatedBinary(DetectEncodingState* destatep, uint8 byte1, uint8 byte2) {
+  int bucket8x4 = ((byte1 & 0xe0) >> 3) | ((byte2 & 0xc0) >> 6);
+  uint32 bucket8x4_mask = 1 << bucket8x4;
+  if ((destatep->binary_8x4_seen & bucket8x4_mask) == 0) {
+    destatep->binary_8x4_seen |= bucket8x4_mask;
+    destatep->binary_8x4_count += 1;
+    return false;
+  }
+  return true;
+}
+
+
+
+
+// Find current top two rankedencoding probabilities
+void ReRank(DetectEncodingState* destatep) {
+  destatep->top_prob = -1;
+  destatep->second_top_prob = -1;
+  // Leave unchanged
+  //destatep->top_rankedencoding =
+  //  destatep->rankedencoding_list[0];     // Just to make well-defined
+  //destatep->second_top_rankedencoding =
+  //  destatep->rankedencoding_list[1];     // Just to make well-defined
+  for (int j = 0; j < destatep->rankedencoding_list_len; j++) {
+    int rankedencoding = destatep->rankedencoding_list[j];
+    if (destatep->top_prob < destatep->enc_prob[rankedencoding]) {
+      // Make sure top 2 are in different superset groups
+      if (kMapEncToBaseEncoding[kMapToEncoding[destatep->top_rankedencoding]] !=
+          kMapEncToBaseEncoding[kMapToEncoding[rankedencoding]]) {
+        destatep->second_top_prob =
+          destatep->top_prob;             // old top to second
+        destatep->second_top_rankedencoding =
+          destatep->top_rankedencoding;   // old top to second
+      }
+      destatep->top_prob = destatep->enc_prob[rankedencoding];
+      destatep->top_rankedencoding = rankedencoding;
+    } else if (destatep->second_top_prob < destatep->enc_prob[rankedencoding]) {
+      if (kMapEncToBaseEncoding[kMapToEncoding[destatep->top_rankedencoding]] !=
+          kMapEncToBaseEncoding[kMapToEncoding[rankedencoding]]) {
+        destatep->second_top_prob = destatep->enc_prob[rankedencoding];
+        destatep->second_top_rankedencoding = rankedencoding;
+      }
+    }
+  }
+}
+
+void SimplePrune(DetectEncodingState* destatep, int prune_diff) {
+  // Prune the list of active encoding families
+  int keep_prob = destatep->top_prob - prune_diff;
+
+  destatep->active_special = 0;
+  int k = 0;
+  for (int j = 0; j < destatep->rankedencoding_list_len; j++) {
+    bool keep = true;
+    int rankedencoding = destatep->rankedencoding_list[j];
+
+    // If count is too low, ditch it
+    if (destatep->enc_prob[rankedencoding] < keep_prob) {keep = false;}
+
+    // Keep it. This will always keep at least top_prob rankedencoding
+    if (keep) {
+      destatep->active_special |= kSpecialMask[kMapToEncoding[rankedencoding]];
+      destatep->rankedencoding_list[k++] = rankedencoding;
+    }
+  }
+
+  destatep->rankedencoding_list_len = k;
+}
+
+// Recalculate reliable
+void CalcReliable(DetectEncodingState* destatep) {
+  // Encoding result is reliable if big difference in top two, or if
+  // only Ascii7 ever encountered
+  // Also reliable if exactly one OtherPair and it's best encoding matches top
+  destatep->reliable = false;
+  if (destatep->next_interesting_pair[OtherPair] == 0) {
+    // Only 7-bit ASCII
+    destatep->reliable = true;
+    return;
+  }
+  if ((destatep->top_prob - destatep->second_top_prob) >=
+      FLAGS_ced_reliable_difference) {
+    destatep->reliable = true;
+    return;
+  }
+  if (destatep->next_interesting_pair[OtherPair] == 1) {
+    uint8 byte1 = destatep->interesting_pairs[OtherPair][0];
+    uint8 byte2 = destatep->interesting_pairs[OtherPair][1];
+    int best_enc = kMostLikelyEncoding[(byte1 << 8) + byte2];
+    if (best_enc == destatep->top_rankedencoding) {
+      destatep->reliable = true;
+      return;
+    }
+  }
+
+  // If we pruned to one encoding, we are done
+  if (destatep->rankedencoding_list_len == 1) {
+    destatep->reliable = true;
+    destatep->done = true;
+    return;
+  }
+
+  // If we pruned to two or three encodings in the same *superset/subset
+  // rankedencoding*  and enough pairs, we are done. Else keep going
+  if (destatep->rankedencoding_list_len == 2) {
+    Encoding enc0 = kMapToEncoding[destatep->rankedencoding_list[0]];
+    Encoding enc1 = kMapToEncoding[destatep->rankedencoding_list[1]];
+    if (kMapEncToBaseEncoding[enc0] == kMapEncToBaseEncoding[enc1]) {
+      if (destatep->prune_count >= 3) {
+        destatep->reliable = true;
+        destatep->done = true;
+        return;
+      }
+    }
+  } else if (destatep->rankedencoding_list_len == 3) {
+    Encoding enc0 = kMapToEncoding[destatep->rankedencoding_list[0]];
+    Encoding enc1 = kMapToEncoding[destatep->rankedencoding_list[1]];
+    Encoding enc2 = kMapToEncoding[destatep->rankedencoding_list[2]];
+    Encoding base0 = kMapEncToBaseEncoding[enc0];
+    Encoding base1 = kMapEncToBaseEncoding[enc1];
+    Encoding base2 = kMapEncToBaseEncoding[enc2];
+
+    if ((base0 == base1) && (base0 == base2)) {
+      if (destatep->prune_count >= 3) {
+        destatep->reliable = true;
+        destatep->done = true;
+        return;
+      }
+    }
+  }
+
+}
+
+
+// Find current top two rankedencoding probabilities
+void FindTop2(DetectEncodingState* destatep,
+              int* first_renc, int* second_renc,
+              int* first_prob, int* second_prob) {
+  *first_prob = -1;
+  *second_prob = -1;
+  *first_renc = 0;
+  *second_renc = 0;
+  for (int j = 0; j < destatep->rankedencoding_list_len; j++) {
+    int rankedencoding = destatep->rankedencoding_list[j];
+    if (*first_prob < destatep->enc_prob[rankedencoding]) {
+      *second_prob = *first_prob;             // old top to second
+      *second_renc = *first_renc;   // old top to second
+      *first_prob = destatep->enc_prob[rankedencoding];
+      *first_renc = rankedencoding;
+    } else if (*second_prob < destatep->enc_prob[rankedencoding]) {
+      *second_prob = destatep->enc_prob[rankedencoding];
+      *second_renc = rankedencoding;
+    }
+  }
+}
+
+
+void PrintRankedEncodingList(DetectEncodingState* destatep, const char* str) {
+  printf("Current ranked encoding list %s\n", str);
+  for (int j = 0; j < destatep->rankedencoding_list_len; j++) {
+    int rankedencoding = destatep->rankedencoding_list[j];
+    if ((rankedencoding < 0) || (rankedencoding > NUM_RANKEDENCODING)) {
+      printf(" [%d] BOGUS rankedencoding = %d\n", j, rankedencoding);
+    } else {
+      printf(" [%d] rankedencoding = %d %-12.12s enc_prob = %d\n",
+             j, rankedencoding, MyRankedEncName(rankedencoding),
+             destatep->enc_prob[rankedencoding]);
+    }
+  }
+  printf("End current ranked encoding list\n\n");
+}
+
+
+
+
+// Map unencoded bytes down to five bits, largely preserving letters
+// This design struggles to put 33 values into 5 bits.
+#define XX 0    // Punctuation (00-7F range)
+#define HA 27   // High vowel a in Latin1/2/sometimes7
+#define HE 28   // High vowel e
+#define HI 29   // High vowel i
+#define HO 30   // High vowel o
+#define HU 30   // High vowel u on top of HO
+#define Hc 31   // High consonant (80-FF range)
+static const char kMapToFiveBits[256] = {
+  XX,XX,XX,XX,XX,XX,XX,XX,  XX,XX,XX,XX,XX,XX,XX,XX,
+  XX,XX,XX,XX,XX,XX,XX,XX,  XX,XX,XX,XX,XX,XX,XX,XX,
+  XX,XX,XX,XX,XX,XX,XX,XX,  XX,XX,XX,XX,XX,XX,XX,XX,
+  XX,XX,XX,XX,XX,XX,XX,XX,  XX,XX,XX,XX,XX,XX,XX,XX,
+
+  XX, 1, 2, 3, 4, 5, 6, 7,   8, 9,10,11,12,13,14,15,
+  16,17,18,19,20,21,22,23,  24,25,26,XX,XX,XX,XX,XX,
+  XX, 1, 2, 3, 4, 5, 6, 7,   8, 9,10,11,12,13,14,15,
+  16,17,18,19,20,21,22,23,  24,25,26,XX,XX,XX,XX,XX,
+
+  Hc,HA,Hc,Hc,Hc,Hc,Hc,Hc,  HO,Hc,Hc,Hc,Hc,Hc,Hc,Hc,
+  Hc,HA,Hc,Hc,Hc,Hc,Hc,Hc,  HO,Hc,Hc,Hc,Hc,Hc,Hc,Hc,
+  Hc,HA,Hc,Hc,Hc,Hc,Hc,Hc,  HO,Hc,Hc,Hc,Hc,Hc,Hc,Hc,
+  Hc,HA,Hc,Hc,Hc,Hc,Hc,Hc,  HO,Hc,Hc,Hc,Hc,Hc,Hc,Hc,
+
+  Hc,HA,HA,HA,HA,Hc,Hc,Hc,  Hc,HE,HE,HE,HI,HI,HI,Hc,
+  Hc,Hc,Hc,HO,HO,HO,HO,Hc,  Hc,HU,HU,HU,HU,Hc,Hc,Hc,
+  Hc,HA,HA,HA,HA,Hc,Hc,Hc,  Hc,HE,HE,HE,HI,HI,HI,Hc,
+  Hc,Hc,Hc,HO,HO,HO,HO,Hc,  Hc,HU,HU,HU,HU,Hc,Hc,Hc,
+
+};
+#undef XX
+#undef HA
+#undef HE
+#undef HI
+#undef HO
+#undef HU
+#undef Hc
+
+static const int kTriNoneLikely = 0;
+static const int kTriLatin1Likely = 1;
+static const int kTriLatin2Likely = 2;
+static const int kTriLatin7Likely = 3;
+
+// Each table entry has 32 times two bits, selected by byte[2]
+// Entry subscript is selected by byte[0] and byte[1]
+// Latin1/2/7 boost vector, generated 2007.09.26 by postproc-enc-detect-short.cc
+static const uint64 kLatin127Trigrams[1024] = {
+0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
+0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
+0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
+0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
+0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
+0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
+0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
+0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
+0x0000000000000000ULL, 0x304080c0402c3330ULL, 0x0008400004000000ULL, 0x082800000c200000ULL,
+0x23a0000420800030ULL, 0x00000000000ccc00ULL, 0x0500100100100000ULL, 0x0388400000200010ULL,
+0x0000000000000c00ULL, 0xd0f0300740f0cf00ULL, 0x2aa0a2a22882a2acULL, 0x081d800000000080ULL,
+0x0c82000020000000ULL, 0x200a03c000a00000ULL, 0x0008400400290000ULL, 0x0400870000000000ULL,
+0x00f040c00000c080ULL, 0x0008004000000410ULL, 0x0020300000000030ULL, 0x00a030002c300000ULL,
+0x0c8030c020a00000ULL, 0x15410030f0f4c000ULL, 0x3000000300a00000ULL, 0xa2880980a0880a88ULL,
+0x0900300000000000ULL, 0x0000040100300000ULL, 0x0888820020a00000ULL, 0xc044002242010000ULL,
+0x000000121d300040ULL, 0x40100040440c0d54ULL, 0x00008423102f8144ULL, 0x0b40808400000280ULL,
+0x0000000000000000ULL, 0x0680a000000c0000ULL, 0x0880008020aa0000ULL, 0x2aaa0141010a4940ULL,
+0xcb80000000010000ULL, 0x2280000000000000ULL, 0x5248000001800000ULL, 0x8000401004040010ULL,
+0x1540010201001010ULL, 0x0080080400000000ULL, 0x5a00044040000108ULL, 0x0288000282080008ULL,
+0x4800008002200000ULL, 0x4a00000000010100ULL, 0x8a88040080000800ULL, 0x0140800000000400ULL,
+0x40010050000c0000ULL, 0x0000008000000000ULL, 0x0028000020140040ULL, 0x8620401401005308ULL,
+0xc082000000000400ULL, 0x05c0b004c0240600ULL, 0x0288000080000000ULL, 0x0000014000000000ULL,
+0x00000000040000c0ULL, 0x8001861008004280ULL, 0x0200000000000300ULL, 0x0000240242288620ULL,
+0x801000c05434c200ULL, 0x9020162040a2d2b4ULL, 0x0021840000240704ULL, 0x2a80280080084908ULL,
+0x0000000000000000ULL, 0x0500004000000040ULL, 0x0080000000040000ULL, 0x0108058104440000ULL,
+0x0900000000040000ULL, 0x00c0000000208008ULL, 0x2000005000000000ULL, 0x0080000000050000ULL,
+0x0808000000001080ULL, 0x9880810100308000ULL, 0x2285480080081a08ULL, 0x8a80000080080000ULL,
+0x1450000000600010ULL, 0x2210000100000000ULL, 0x8a88000100011000ULL, 0x1541804000000010ULL,
+0xc084011140040100ULL, 0x0000000000000800ULL, 0x0400000000000030ULL, 0x2a800000a0890128ULL,
+0x1140a00054000104ULL, 0x1440000101200404ULL, 0x028800400400d800ULL, 0x0000000000000000ULL,
+0x0000000000002330ULL, 0x0020820228a02280ULL, 0xa2888a02aa8008a8ULL, 0xd0040a0044202500ULL,
+0x8000044104a29424ULL, 0xc000100178b2c5b4ULL, 0x0000810100241504ULL, 0xd040030000380008ULL,
+0x0000000000000000ULL, 0x26c08c0000200130ULL, 0x4a08000110080000ULL, 0x2aa0004001080800ULL,
+0x0aac000000004000ULL, 0x2000000000200000ULL, 0x4240000100020000ULL, 0x4100000080000000ULL,
+0x4900040000000000ULL, 0x0800000400300040ULL, 0x6a80000000040800ULL, 0x2a08182000588008ULL,
+0x0a00000c81000008ULL, 0x0a000c0010000000ULL, 0x8a88001080280808ULL, 0x0020000200300600ULL,
+0xaac00000900a0000ULL, 0x0000100004000000ULL, 0x0020081020000000ULL, 0x8220105010084110ULL,
+0x4a80800000004000ULL, 0x050000c0c0200000ULL, 0x288c000084000000ULL, 0xa048082280000000ULL,
+0x0000000000000000ULL, 0x8000900000032080ULL, 0xee889e81b8880820ULL, 0xc2200a8142800424ULL,
+0xc020141543361010ULL, 0x10a000204a801634ULL, 0x3a808800802a00a0ULL, 0x28808b00803d0800ULL,
+0x0000000000000000ULL, 0x0020000000000030ULL, 0x0808400121010040ULL, 0x0c28240100200040ULL,
+0x2008200028800000ULL, 0xc10004c80f30c030ULL, 0x0400440114100000ULL, 0x2208200280a22220ULL,
+0x0600000030c01000ULL, 0x1201001040c00000ULL, 0x0aa02ea22aa22aa0ULL, 0x30008000000200a0ULL,
+0x20c8400400800000ULL, 0x08280b0420800000ULL, 0x0800100000210000ULL, 0x10000300c0100400ULL,
+0xc8c0000420000000ULL, 0x1000000010000000ULL, 0x0420000400000000ULL, 0x0220000500204000ULL,
+0x2200000420000000ULL, 0x0000540400000000ULL, 0x0000000020000000ULL, 0x00080c00a0810080ULL,
+0x1540000000043000ULL, 0x0000000000100000ULL, 0x2e88a22220200a20ULL, 0xc06030e34ea503a0ULL,
+0x0001100204048500ULL, 0x000000e0000c0d54ULL, 0x3000820310a31400ULL, 0x13088c0320e00280ULL,
+0x0000000000000000ULL, 0x0480000000200000ULL, 0x4000200100000000ULL, 0x0000300040040000ULL,
+0x4400000000000000ULL, 0x0401000002240000ULL, 0x0540000000040000ULL, 0x4004010000000000ULL,
+0x4001111001100000ULL, 0x2880000000300040ULL, 0x4040004040002404ULL, 0x0200000000000000ULL,
+0x0140040000100000ULL, 0x4040010040040080ULL, 0x0a00140000041004ULL, 0x0000a00400808000ULL,
+0x1010200000430040ULL, 0x0010000000000000ULL, 0x0540000000104000ULL, 0x1400114005000000ULL,
+0x0000204000440010ULL, 0x0500000000004400ULL, 0x4500000018000400ULL, 0x0000400000000000ULL,
+0x000000300000cc00ULL, 0x0100001011300000ULL, 0x0040000000000000ULL, 0xc0e0000248a00444ULL,
+0x0000040020340144ULL, 0x0000046445105454ULL, 0x32a0a80280880128ULL, 0x0880040000100100ULL,
+0x0000000000000000ULL, 0x14003000030c0004ULL, 0x4a04001100000000ULL, 0x0a00108010000000ULL,
+0x28a8004000200248ULL, 0x0100040000b00000ULL, 0x42000000000008c0ULL, 0x6008044010550010ULL,
+0x0800401000010400ULL, 0x080080040cf80000ULL, 0x5080000001001010ULL, 0x2a80100000000000ULL,
+0xcc8010010d401100ULL, 0x0200000001001000ULL, 0x0480001004001000ULL, 0x8d00800040b40210ULL,
+0x6200800000300000ULL, 0x0000010000000000ULL, 0x0428004100010000ULL, 0x4320105141501100ULL,
+0xe28c0000000c1000ULL, 0xd5c000c3c0e00300ULL, 0x0001000000100200ULL, 0x1004010202400008ULL,
+0x0000000000003000ULL, 0x2aa038a0800aab08ULL, 0x2a88038000000000ULL, 0xc220040242f09720ULL,
+0x8020200200ba0420ULL, 0x0020106105101004ULL, 0x0480800000220400ULL, 0x2280100080000008ULL,
+0x0000000000000000ULL, 0x9000000000200000ULL, 0x0001000000100000ULL, 0x2aa40c0000080800ULL,
+0x0040000040010000ULL, 0x0040000000c01000ULL, 0x4000000040000400ULL, 0x0000001000200000ULL,
+0x0000010000000000ULL, 0x05808004000c0000ULL, 0x50400c0000000400ULL, 0x020040008f000040ULL,
+0x0800000000100000ULL, 0x0000000000000000ULL, 0x0a08440000004000ULL, 0x0064000400008200ULL,
+0x0010010010034170ULL, 0x0000000010000000ULL, 0x0100204021000000ULL, 0x022000d000010100ULL,
+0x0840300000c00000ULL, 0x1400000040204400ULL, 0x09800c0040000000ULL, 0x0209708000000000ULL,
+0x000000000000c040ULL, 0x90000c50204040a0ULL, 0x0000000000000000ULL, 0x00e1500040200004ULL,
+0x8020260540204494ULL, 0x0020026150201054ULL, 0x0281800380105634ULL, 0x0884900481105000ULL,
+0x0000000000000000ULL, 0x84203c00002c0200ULL, 0xc089040000000000ULL, 0xc2a8100040200004ULL,
+0xe00c1c0000000000ULL, 0x0ce1330080200080ULL, 0x0000000000200000ULL, 0xc400110000404010ULL,
+0x0088400000000000ULL, 0x00083cc00c00c00cULL, 0xcac01c00c000580cULL, 0xe300b0f000100000ULL,
+0x0300000000000000ULL, 0xc0000f0000000000ULL, 0xc3c01c0400000000ULL, 0x81008004c0f40000ULL,
+0xc3d8003000000440ULL, 0x0000000000000000ULL, 0xc430000000000000ULL, 0x0060000000001000ULL,
+0x0800000000000000ULL, 0x00c03300f0fc0008ULL, 0x3000000400200010ULL, 0xa2a80892a0880a28ULL,
+0x0500000040000004ULL, 0x0000000000000000ULL, 0xc80032070c200020ULL, 0x0220820060a296a0ULL,
+0x802084021db486a0ULL, 0x00000d60080c0080ULL, 0xb281803313a32428ULL, 0x1808300320300000ULL,
+0x0000000000000000ULL, 0x85208cc0ccac1f20ULL, 0x2081000186100808ULL, 0x22a80880000a0808ULL,
+0xaaa8086880000000ULL, 0x802084800a2e9200ULL, 0xa280000000002008ULL, 0xa000000080080400ULL,
+0x2080010000000008ULL, 0x802020c00c028c80ULL, 0x2080000000140810ULL, 0x2a80086080080008ULL,
+0x2a800000a8000800ULL, 0xaa881800a2080800ULL, 0xaa98004080280808ULL, 0x004483d0c0300000ULL,
+0xa280002080080000ULL, 0x0000000000300000ULL, 0x22a1030000000008ULL, 0xa8a0301088880880ULL,
+0xaa80002080222808ULL, 0x85400c03fc030400ULL, 0x8a88000000000008ULL, 0xa008008010080008ULL,
+0x0000000000010000ULL, 0x0040100000301040ULL, 0x28800000a0002008ULL, 0x122482306cbc0eacULL,
+0x8020224222b8c6a0ULL, 0x802002004a82c284ULL, 0x0aa08fc440a41c80ULL, 0x888080d181385098ULL,
+0x0000000000000000ULL, 0x00c0b000000c0080ULL, 0x2208001000000800ULL, 0x0a28000000200000ULL,
+0x0000000300000000ULL, 0x00c1040000200000ULL, 0x0203020000000000ULL, 0x0248000000020000ULL,
+0x0000840000100000ULL, 0x0a808c00c000008cULL, 0x5200040040000004ULL, 0x02000c00000080a0ULL,
+0x0b0c000020000000ULL, 0x0b04000001000000ULL, 0x088c0010002000c0ULL, 0x80e08b00c0030c20ULL,
+0x0280000200014040ULL, 0x0000000000000000ULL, 0x0e20a0a008000020ULL, 0x0e280fd03f00111cULL,
+0x200080c020001000ULL, 0x8cc00c02c02f0400ULL, 0x480c0001000c404cULL, 0x0208014281080808ULL,
+0x000000000000fcfcULL, 0x004403300cf00030ULL, 0x2200000000004400ULL, 0x02202000c08c0c20ULL,
+0x02202022683a80a0ULL, 0x4020228028008c00ULL, 0x32208cc0002c0200ULL, 0x3ec00c0080304008ULL,
+0x0000000000000000ULL, 0x34000c00002c0000ULL, 0x0b00000100100030ULL, 0x0823018000000000ULL,
+0x0e8c001c01e00000ULL, 0x1200800600330000ULL, 0x4000110000000000ULL, 0x0080000300000000ULL,
+0x0800000000000000ULL, 0x08c08c04000c0000ULL, 0x0080400000880000ULL, 0x0a08000080c00008ULL,
+0x0800000304400000ULL, 0x0208000000c00000ULL, 0x2888300080400800ULL, 0x8dc0204400000000ULL,
+0xc0000000c0800000ULL, 0x0000c10000000000ULL, 0x24000c4010c00000ULL, 0x272000541d811000ULL,
+0x0200400000001000ULL, 0x0400000400001004ULL, 0xc08c007004001000ULL, 0x2048004000000000ULL,
+0x000000000003fcfcULL, 0x2aa030000cf8c800ULL, 0xe280000000000000ULL, 0x0a21008142000340ULL,
+0x0021002000b61040ULL, 0x800004064006d444ULL, 0x3aa0800300230008ULL, 0x0b00030000300000ULL,
+0x0000000000000000ULL, 0x01c080000000040cULL, 0x0100000000004000ULL, 0x0aa8018010001000ULL,
+0x0800000000100000ULL, 0x3000000000008c00ULL, 0x5400000013000000ULL, 0x02c0c00004004010ULL,
+0x5241100010000c00ULL, 0x0e00080000000808ULL, 0x5281000000000800ULL, 0x0a08108020000800ULL,
+0x0a80000000005210ULL, 0x0100000041000000ULL, 0x2a88000002080110ULL, 0x8520800000c00080ULL,
+0x01000010108c0100ULL, 0x0000000000000000ULL, 0x42a0420080000000ULL, 0x0020001004010010ULL,
+0xc4000000000c0000ULL, 0x01000c00c0200400ULL, 0x4600000100000000ULL, 0x0000000000000000ULL,
+0x0010001000000010ULL, 0x910400900820d030ULL, 0x2280000000000000ULL, 0xc2212004400040e4ULL,
+0x8001000000b61420ULL, 0xa00002a248e810b4ULL, 0x32008000002c0008ULL, 0x0c010034803c5010ULL,
+0x0000000000000000ULL, 0x85008002002c0000ULL, 0x0204001000004010ULL, 0x0120008000200000ULL,
+0x000010000c2000c0ULL, 0xccc0000000200000ULL, 0x0400000c00100040ULL, 0x0003300100004100ULL,
+0x4000551040000004ULL, 0x0e0080000c820808ULL, 0xc000000000080800ULL, 0xc803000000000000ULL,
+0x0a4000c000200000ULL, 0x0040000000c00000ULL, 0x0918145000405000ULL, 0x81400000c0300400ULL,
+0x0050000000000000ULL, 0xd000045000000000ULL, 0x0400004000400000ULL, 0x0420104010000110ULL,
+0x0700000000203000ULL, 0x34800300c0e00704ULL, 0x4440100044000400ULL, 0x0040000040000000ULL,
+0x0030000044000000ULL, 0xeaaca0008808c880ULL, 0x0a01000000200000ULL, 0x1220a300403ccf20ULL,
+0x002024c200b61044ULL, 0x802014346aa2d434ULL, 0x30008c00c0820c44ULL, 0x0a000000000c4800ULL,
+0x0000000000000000ULL, 0x0000404000340c90ULL, 0x08a8a10820800280ULL, 0x8128009022201000ULL,
+0x0020808228a000a0ULL, 0x0020400100410000ULL, 0x0400000110000000ULL, 0xa609000000200000ULL,
+0x8008330000d00000ULL, 0x8060100040404010ULL, 0xeaa00ea0ea00808cULL, 0x200c8020a0000020ULL,
+0x0408800020200000ULL, 0x0189001403200000ULL, 0xc00800000000c000ULL, 0x200430c00c300000ULL,
+0x0100300100004000ULL, 0x0000040000000000ULL, 0x2420000400001000ULL, 0x89a1200400000000ULL,
+0x20c8a000208c0000ULL, 0x8080000000000000ULL, 0x28a0108020210080ULL, 0xa2a84800a0880988ULL,
+0x258008000400c000ULL, 0x0140000000100000ULL, 0xa028a222a0aa0228ULL, 0xc060012054044040ULL,
+0x0010010400000000ULL, 0x00000050150c0114ULL, 0x0000008010c20010ULL, 0xaa088000a0200880ULL,
+0x0000000000000000ULL, 0x0700b0c0000c0000ULL, 0x2200040000080030ULL, 0x2aa8808040240800ULL,
+0x08b0500000000100ULL, 0x1000830400200000ULL, 0x4204000010000000ULL, 0x40c2200050040050ULL,
+0x0104404001010000ULL, 0x1a808c8103c00030ULL, 0x30900010c0000b00ULL, 0x200812b283000008ULL,
+0x000c000020e00000ULL, 0x2140000000400000ULL, 0x0288000080200000ULL, 0x8060a200c8a20280ULL,
+0x0400114010215000ULL, 0x0000000000000000ULL, 0x082b200002000010ULL, 0x22a0030000031000ULL,
+0x008100001000000cULL, 0x05400c00c0230400ULL, 0xca3000003c080100ULL, 0x0000000020000004ULL,
+0x0000000100000000ULL, 0x8004320813f5c000ULL, 0xa280080200000800ULL, 0xc22000044e334c20ULL,
+0x000004146e361024ULL, 0x800126806aa0d584ULL, 0xb000a0040023c41cULL, 0x0a083000803053d8ULL,
+0x0000000000000000ULL, 0x0000100000020000ULL, 0x0000000010000010ULL, 0x0000000045040004ULL,
+0x0000000000100000ULL, 0x0000020400000010ULL, 0x0003015000000000ULL, 0x0400000000000000ULL,
+0x0000000400000000ULL, 0x0100000000000800ULL, 0x0000001000000000ULL, 0x0000000000000000ULL,
+0x0000000040000000ULL, 0x0000000000000000ULL, 0x0004001000000000ULL, 0x0008001000000000ULL,
+0x0010000000000004ULL, 0x0000010100001000ULL, 0x0004000000000004ULL, 0x0000014040050014ULL,
+0x0014000000000040ULL, 0x5540000000041000ULL, 0x0000000000000000ULL, 0x0000040000000d00ULL,
+0x0000000000000000ULL, 0x0000000000100000ULL, 0x0001000000000000ULL, 0x0000000000000000ULL,
+0x0000000000000000ULL, 0x0000000000000000ULL, 0x4500000000040400ULL, 0x0000800000000400ULL,
+0x0000000000000000ULL, 0x13e080000020000cULL, 0xcf00001005100000ULL, 0x04a8008000200300ULL,
+0x00280100100000c0ULL, 0x1c8c000040200000ULL, 0x0600005000100000ULL, 0x050800000c104000ULL,
+0x4c10101000110000ULL, 0x0c00000000300000ULL, 0x22040c00100000c0ULL, 0x0800700010100000ULL,
+0x0000000000001000ULL, 0x0a08000010000040ULL, 0x0800034004210010ULL, 0x04e0000400000000ULL,
+0x0800030020000000ULL, 0x0000005000000000ULL, 0x0400110101304110ULL, 0x0428000010a01000ULL,
+0x060b000000800010ULL, 0x35810c00c020c000ULL, 0x00800c4321800000ULL, 0x4208088020000080ULL,
+0x040000111003ff00ULL, 0x0020900020202080ULL, 0x22888180a8000888ULL, 0x0225200542005420ULL,
+0x2020040400340020ULL, 0x10300424500cc444ULL, 0x3081a00400e00200ULL, 0x33001300c0300000ULL,
+0x0000000000000000ULL, 0x04003c0000000000ULL, 0x0a04001000100100ULL, 0x1408000001000000ULL,
+0x1800000044100000ULL, 0x3400040400000300ULL, 0x5000040801000040ULL, 0x4088401040000040ULL,
+0x1010110130100000ULL, 0xca800c3000300000ULL, 0x5a01000000080100ULL, 0x020280000cd01300ULL,
+0x0302000410200010ULL, 0x0000102000300000ULL, 0x0b09000000000000ULL, 0x20008004c4800004ULL,
+0x28c0410010000000ULL, 0x0004015041000050ULL, 0x0a01006000200200ULL, 0x0020d00000100040ULL,
+0x0010a00100900000ULL, 0x3500bf00c0030300ULL, 0x080c010000200d00ULL, 0x2248000004020010ULL,
+0x0000c00000000000ULL, 0x8044b00200e08000ULL, 0xaaa82aa2aa8a2aa8ULL, 0x0220002241c08604ULL,
+0x4200260440328444ULL, 0x68001226103008b4ULL, 0x3a0080c0b0000400ULL, 0x2a804804803c4008ULL,
+0x0000000000000000ULL, 0x04008c0300000400ULL, 0x008000c0000c0000ULL, 0x088001000000001cULL,
+0x0840000001000010ULL, 0x0400000000200c00ULL, 0x4244000101040000ULL, 0x4238007011100000ULL,
+0x1000d00100000010ULL, 0x1d00800400300000ULL, 0x4204080c00000000ULL, 0x2a88080080000008ULL,
+0x08001c0200001000ULL, 0x0a00000400000000ULL, 0x8a88003080080000ULL, 0x0521800400300000ULL,
+0x3200051000201000ULL, 0x0000000000000000ULL, 0x0020801404000000ULL, 0x322010401c0c101cULL,
+0x0c01100013000000ULL, 0x04003000c0204000ULL, 0x088c0020a0cc0000ULL, 0x2200000080000018ULL,
+0x0404000044000000ULL, 0x82a0b000008820b0ULL, 0x0000040020440000ULL, 0xc2650004403f1420ULL,
+0x0021340241b64464ULL, 0x8020040242c2d474ULL, 0x32018c0480288000ULL, 0x00800b0080300000ULL,
+0x0000000000000000ULL, 0x05008c0000040130ULL, 0xc0d8000000800000ULL, 0x0020000020200200ULL,
+0x23a2000120204000ULL, 0x5052100550104150ULL, 0x1000101100040000ULL, 0xc40001c301000000ULL,
+0x8288000000c00000ULL, 0x5150040144d01404ULL, 0xea8c0ea028ae088cULL, 0xc31010c000000c80ULL,
+0x0002000060000000ULL, 0xc80800f030000000ULL, 0x0000000400300000ULL, 0xc00080c00ff0c344ULL,
+0x00080001200c0000ULL, 0x0000050080000000ULL, 0x0328000300300000ULL, 0x082030000cc01040ULL,
+0xeb08800100004000ULL, 0x8030003300c80f00ULL, 0xfb0d0000e4ac0000ULL, 0x0020006080000008ULL,
+0x0500100100040000ULL, 0x1140000000000000ULL, 0xcb883330a0e00000ULL, 0xc000010050000080ULL,
+0x0010104005b54150ULL, 0x40111d5155001554ULL, 0x80000070140f0004ULL, 0x0b0830c3a0003380ULL,
+0x0000000000000000ULL, 0x04c13000000f830cULL, 0x2808000000000000ULL, 0x2810000000000800ULL,
+0x08c0080004400000ULL, 0x04c0240300801c20ULL, 0x4040000080000004ULL, 0x0000400100100010ULL,
+0x020001008000c0c0ULL, 0x1d008c000c3c0000ULL, 0x0080003000000800ULL, 0x2288080080000008ULL,
+0x0a84004020220000ULL, 0x0800080000100000ULL, 0xaa80004080400008ULL, 0x8024000400c01660ULL,
+0x80841c2001000104ULL, 0x0001000000000000ULL, 0x0020028020020280ULL, 0x0860404011900100ULL,
+0xec80080200000000ULL, 0x010103c100200400ULL, 0x0200004000000000ULL, 0x0000000000400400ULL,
+0x000010000003fcfcULL, 0x8040083238c20000ULL, 0x08800220a0920a00ULL, 0x08210004483c0c24ULL,
+0xc020240740b0a200ULL, 0x802006014a201494ULL, 0x3201233070ac0e00ULL, 0x08002806033a48a0ULL,
+0x0000000000000000ULL, 0x8020820028a00680ULL, 0x2000002000000104ULL, 0x22a80801100a0808ULL,
+0xa2a8002080000000ULL, 0xa000800008a08000ULL, 0x0000100000400000ULL, 0x8000002100000000ULL,
+0x0000010000004404ULL, 0xa2a0088080000888ULL, 0x0000000010400800ULL, 0xa280082080080008ULL,
+0x2280000080010008ULL, 0x2000000000000000ULL, 0x228800008c080808ULL, 0x8021828002a98200ULL,
+0xa200002000080000ULL, 0x0000040000000000ULL, 0x22a0000080000000ULL, 0x202882c200800080ULL,
+0xa000000001004000ULL, 0x000000c808a00600ULL, 0x0000000010000000ULL, 0x000001000000040cULL,
+0x0000000000000000ULL, 0x802002a2a8aa82a0ULL, 0x20000024a8088228ULL, 0x8020820001000000ULL,
+0x8020000000808280ULL, 0x8000000000000000ULL, 0x0020800000200280ULL, 0x2080082280a00888ULL,
+0x0000000000000000ULL, 0x0000015000000040ULL, 0x0000040000040000ULL, 0x0100010010001000ULL,
+0x0000003210008000ULL, 0x0000000404000000ULL, 0x0000000000000400ULL, 0x0200000000000000ULL,
+0x0000000000000100ULL, 0x5180014400004050ULL, 0x1000000014000000ULL, 0x4200000000000000ULL,
+0x0040200000000000ULL, 0x0201004000000000ULL, 0x0a00000000000010ULL, 0x0040200000800000ULL,
+0x0040051000000500ULL, 0x0000000100800400ULL, 0x6000000000000000ULL, 0x0000000000000000ULL,
+0x280000c1400040ccULL, 0x4180001000000000ULL, 0x00000000c1000104ULL, 0x0000000000000000ULL,
+0x0000000000000000ULL, 0x0000000000000000ULL, 0x0080000000c00000ULL, 0x0004006066004000ULL,
+0x0000005000040440ULL, 0x0000106005804044ULL, 0x0000a10511004440ULL, 0x0000000000000110ULL,
+0x0000000000000000ULL, 0x0000000000080000ULL, 0xeb0808a020800080ULL, 0x29a80081002a1800ULL,
+0x0b2c000202100100ULL, 0x0001000000888000ULL, 0x2280102010000000ULL, 0x020000602a004110ULL,
+0x8a800160a6108100ULL, 0x0280000000000020ULL, 0x8a8000a0a8808208ULL, 0x0280882080500308ULL,
+0x0b18010020804100ULL, 0xeb080000c0080080ULL, 0x2b08000000810130ULL, 0x0000000008040020ULL,
+0xaa0a08e082894140ULL, 0x0000000000000000ULL, 0x202081409010001cULL, 0x8aa8805082806000ULL,
+0xeb082900289c0000ULL, 0x0000000000008000ULL, 0xf80c2e20002e0000ULL, 0xa288080420880888ULL,
+0x0000010000000000ULL, 0x0000000000102000ULL, 0x22880000a8a80808ULL, 0x022022a22aa880a0ULL,
+0x0000222222aa0620ULL, 0x0000022002800000ULL, 0x208080004028a000ULL, 0x2b888800801c0828ULL,
+0x0000000000000000ULL, 0x22e0828280a08028ULL, 0xaa88002082080308ULL, 0x0ea80080410a0040ULL,
+0x2a28222000a00000ULL, 0x8aa2808028a0a2a0ULL, 0x0200001000000000ULL, 0x82080000a0000000ULL,
+0x8800000082000808ULL, 0x2a008a0000300888ULL, 0x0a80080080080808ULL, 0xaa882800840b0808ULL,
+0x0a80000080000040ULL, 0xea080820a0000000ULL, 0xaa88080080080808ULL, 0x8040a2800a8024a0ULL,
+0xaa800020a0080808ULL, 0x0000040000000000ULL, 0x2a280a0080080880ULL, 0x2a20081080008a00ULL,
+0x2a88882088aa0008ULL, 0x81800202c0a01480ULL, 0xea88082082200000ULL, 0xaa88002080080008ULL,
+0x0000100000000000ULL, 0x802082a22aa0a2a0ULL, 0x2e80000000000000ULL, 0x0220a2a26aa0a2a8ULL,
+0x800022a2228a22a0ULL, 0x880002212e82c0b0ULL, 0x02a0aa0002a82228ULL, 0x2d808b0080380008ULL,
+0x0000000000000000ULL, 0x000407551c154244ULL, 0x2a00208088a02228ULL, 0x12a82182a2402a88ULL,
+0xe32821e020826d00ULL, 0x801130100ccc1330ULL, 0x028010c000841008ULL, 0x88a08002a0a664a0ULL,
+0x0048270080000100ULL, 0x00001f010cd10f30ULL, 0xe2242ce22aaea2a0ULL, 0xc2c00cc20ae22460ULL,
+0xe208003128021c10ULL, 0x2a2021c010821080ULL, 0x2a88202082202020ULL, 0x4010111104941410ULL,
+0xc80c02c182b00080ULL, 0x0000040000000000ULL, 0xe28030068002c300ULL, 0x2aa02024a2a22228ULL,
+0xe20889328aa22080ULL, 0x0000000000210100ULL, 0xaa0028e0a9b221a0ULL, 0x2000008080400000ULL,
+0x0000010041150404ULL, 0x0000105114410100ULL, 0xeaa82aa6aaaaaaa8ULL, 0x000000f44300c434ULL,
+0x0000222222b00020ULL, 0x0000002000000000ULL, 0x0000004014000000ULL, 0x0039b3f73fbcd3fcULL,
+0x0000000000000000ULL, 0x0000104015045040ULL, 0x20a80490a08800a0ULL, 0x40a8258410a909a0ULL,
+0xe0a8a2022aa2e2a0ULL, 0xc111010014000500ULL, 0x2080044041840004ULL, 0x28a8200220a2aba0ULL,
+0x008400a0a2840800ULL, 0x0101015451009464ULL, 0x20000ea0e02c2c2cULL, 0xe2a828a2aca2aaa8ULL,
+0x682020a228a222a0ULL, 0xe8882ae22aa2a2a0ULL, 0xe9a80e6022a24140ULL, 0x0011055005001040ULL,
+0x2aa8208229a0aaa4ULL, 0x0000040000000000ULL, 0x28a0228026a62260ULL, 0xe2a020a422a2a020ULL,
+0xe808a0022aa1a220ULL, 0x0000010014000100ULL, 0x28ac22802aa2a020ULL, 0x0020000000000000ULL,
+0x0100010100040000ULL, 0x0000000000000000ULL, 0x22a822a22a8aaaa0ULL, 0x0000000000000000ULL,
+0x0000102410800100ULL, 0x0000000000000000ULL, 0x0000000002000000ULL, 0x00000fb2a08c0aa8ULL,
+0x0000000000000000ULL, 0x4010005015440140ULL, 0x18c81c00b180001cULL, 0x2800048021820800ULL,
+0x8ab820c06a802580ULL, 0x00100170f4040000ULL, 0x4000144041041404ULL, 0x0ac800d0002e440cULL,
+0x20880820a2000808ULL, 0x400000f03f300c00ULL, 0xaa000ea22aa22aa0ULL, 0xa2880ac0a8942a20ULL,
+0xaa880a81a1804188ULL, 0xeea022a0aaa02080ULL, 0xaaa820a2aaa66120ULL, 0x0000005115800150ULL,
+0x2a880920a0840040ULL, 0x0000040000000000ULL, 0xaea82222aaa22a28ULL, 0x8a28041260055150ULL,
+0xa28824008aa28880ULL, 0x0000025014019000ULL, 0xea882ae02aa200a0ULL, 0x0000000000000000ULL,
+0x0000000040000400ULL, 0x0000000000000000ULL, 0xaaa82aa22aaaaaa0ULL, 0x0000000000000000ULL,
+0x0000000000000000ULL, 0x002003003c80c000ULL, 0x0000020014000000ULL, 0x00200010a0980a20ULL,
+0x0000000000000000ULL, 0x0020001200801240ULL, 0x0a88000089800020ULL, 0xcaa00080a1000000ULL,
+0x0a200c0020a04080ULL, 0x4002034003840880ULL, 0x4690500190000050ULL, 0x2228004000601000ULL,
+0x0a803f00803f400cULL, 0x400033e24dd0cf34ULL, 0xaa80a2a229a220a0ULL, 0x0a224000002c0000ULL,
+0x028000202000008cULL, 0x0a08000070000030ULL, 0x00800c040020000cULL, 0x0000000002850000ULL,
+0x02881cc310200000ULL, 0x0000040004000000ULL, 0xcba8000400000080ULL, 0xcaa02c0680000000ULL,
+0xcc880002008c4080ULL, 0x300000f007f0cf0cULL, 0x0a80001080a00000ULL, 0x820880802a880a80ULL,
+0x0000050001040004ULL, 0x0000011000000000ULL, 0x0a8020a2a0202000ULL, 0x0000022202008000ULL,
+0x0000222212808000ULL, 0x0020226010000000ULL, 0x000033f33ff3c33cULL, 0x00288002a08c02a8ULL,
+0x0000000000000000ULL, 0x04408e0000008200ULL, 0x0808004000900000ULL, 0x0aa8200010ca00c0ULL,
+0x0ba80101005d4010ULL, 0x00018604802c8288ULL, 0x00049400101c0000ULL, 0x000c101110505010ULL,
+0x0000000000100000ULL, 0x30000c00c022000cULL, 0xd0c00dd0d51d431cULL, 0x0008000010100000ULL,
+0x000c1001a0280000ULL, 0x0bc80000c0000000ULL, 0x0a00000080280000ULL, 0x8000a00220308420ULL,
+0x0808000010301000ULL, 0x0000040000000000ULL, 0x0d00031480100000ULL, 0x07200000108c0300ULL,
+0x0bc0a0c000004000ULL, 0x8000b002c0208480ULL, 0x340c0100118c111cULL, 0x8008008020890000ULL,
+0x0000000000040010ULL, 0x0020b00320c1d0b0ULL, 0x00002000000c0000ULL, 0x0020be226e2008a0ULL,
+0x002010c03fb0a6a0ULL, 0x00202e222aaec284ULL, 0x00008f0000208400ULL, 0x0000000000300000ULL,
+};
+// Latin1 6%, Latin2 11%, Latin7 3%
+
+
+
+// Just for debugging. not thread-safe
+static char tri_string[4];
+char* Latin127Str(int trisub) {
+  tri_string[0] = "_abcdefghijklmnopqrstuvwxyzAEIOC"[(trisub >> 10) & 0x1f];
+  tri_string[1] = "_abcdefghijklmnopqrstuvwxyzAEIOC"[(trisub >> 5) & 0x1f];
+  tri_string[2] = "_abcdefghijklmnopqrstuvwxyzAEIOC"[(trisub >> 0) & 0x1f];
+  tri_string[3] = '\0';
+  return tri_string;
+}
+
+// Returns two bits per three-byte trigram, indicating
+// dont-care, Latin1 likely, Latin2 likely, and Latin7 (ISO-8859-13) likely
+int TrigramValue(const uint8* trisrc) {
+  int byte0_p = kMapToFiveBits[trisrc[0]];
+  int byte1_p = kMapToFiveBits[trisrc[1]];
+  int byte2_p = kMapToFiveBits[trisrc[2]];
+  int subscr = ((byte0_p) << 5) | byte1_p;
+  int temp = static_cast<int>((kLatin127Trigrams[subscr] >> (byte2_p * 2)));
+  //printf("%s=%d ", Latin127Str((subscr << 5) | byte2_p), temp & 3);
+  return temp & 3;
+}
+
+
+// Put out trigrams for surrounding 32 bytes for Latin encodings
+// Return true if more Latin2 & 7 than Latin1
+bool BoostLatin127Trigrams(int tri_block_offset,
+                           DetectEncodingState* destatep) {
+  //printf("BoostLatin127Trigrams[%06x]\n", tri_block_offset);
+  int excess_latin27 = 0;
+  int srclen = destatep->limit_src - destatep->initial_src;
+  int hi_limit = minint(tri_block_offset + 32, srclen - 2);
+  const uint8* trisrc = &destatep->initial_src[tri_block_offset];
+  const uint8* trisrclimit = &destatep->initial_src[hi_limit];
+  while (trisrc < trisrclimit) {
+    // Selectively boost Latin1, Latin2, or Latin7 and friends
+    int trigram_val = TrigramValue(trisrc);
+    if (trigram_val != 0) {
+      if (FLAGS_enc_detect_source) {
+        PsHighlight(trisrc, destatep->initial_src, trigram_val, 1);
+      }
+      if (trigram_val == kTriLatin1Likely) {
+        Boost(destatep, F_Latin1, kTrigramBoost);
+        Boost(destatep, F_CP1252, kTrigramBoost);
+        // We don't want to upset the relative rank of a declared 8859-15
+        Boost(destatep, F_ISO_8859_15, kTrigramBoost);
+        --excess_latin27;
+      } else if (trigram_val == kTriLatin2Likely) {
+        Boost(destatep, F_Latin2, kTrigramBoost);
+        Boost(destatep, F_CP1250, kTrigramBoost);
+        ++excess_latin27;
+      } else if (trigram_val == kTriLatin7Likely) {
+        Boost(destatep, F_ISO_8859_13, kTrigramBoost);
+        Boost(destatep, F_CP1257, kTrigramBoost);
+        // We don't want to upset the relative rank of a declared 8859-4 or -6
+        // for Estonian
+        Boost(destatep, F_Latin4, kTrigramBoost);
+        Boost(destatep, F_Latin6, kTrigramBoost);
+        ++excess_latin27;
+      }
+    }
+
+    ++trisrc;
+  }
+  //printf("\n");
+
+  return (0 < excess_latin27);
+}
+
+
+
+// Boost any encodings that need extra detection help, then prune
+// src is first unscanned byte
+// slowend means extra pruning when dropping out of initial slow scan
+// final means last call -- no bigram at src
+void BoostPrune(const uint8* src, DetectEncodingState* destatep,
+                int prunereason) {
+  int delta_asciipairs = destatep->next_interesting_pair[AsciiPair] -
+    destatep->prior_interesting_pair[AsciiPair];
+  int delta_otherpairs = destatep->next_interesting_pair[OtherPair] -
+    destatep->prior_interesting_pair[OtherPair];
+
+  if (prunereason == PRUNE_FINAL) {
+    // We are about done
+    // If we get here with very little accumulated data, the initial hints
+    // were too strong, so we derate them to n+1 / 12 for n bigrams
+    if (!destatep->hints_derated  &&
+        (destatep->next_interesting_pair[OtherPair] < kDerateHintsBelow)) {
+      int n = destatep->next_interesting_pair[OtherPair];
+
+      // Map N pairs to (N+1)/12 portions of the initial hints, etc.
+      // Floor of 3/12 -- 1/12 and 2/12 are too easy to overcome
+      int m = maxint(3, (n + 1));
+      for (int i = 0; i < NUM_RANKEDENCODING; ++i) {
+        int original_delta = destatep->hint_prob[i];
+        int scaled_delta = (original_delta * m) / kDerateHintsBelow;
+        destatep->enc_prob[i] -= original_delta;
+        destatep->enc_prob[i] += scaled_delta;
+      }
+      destatep->hints_derated = true;
+      if (destatep->debug_data != NULL) {
+        // Show derated-hint result
+        char buff[32];
+        snprintf(buff, sizeof(buff), "Hints %d/%d", m, kDerateHintsBelow);
+        SetDetailsEncLabel(destatep, buff);
+      }
+    }
+  }
+
+
+  ++destatep->prune_count;
+
+  if (prunereason != PRUNE_FINAL) {
+    // Early outs
+    if (destatep->rankedencoding_list_len <= 1) {            // nothing to prune
+      destatep->done = true;
+      return;
+    }
+
+    if ((destatep->prune_count > 0) &&
+        (delta_asciipairs + delta_otherpairs) == 0) {
+      // Nothing to do; must have just been called earlier
+      return;
+    }
+  }
+
+
+
+  // INCREMENT
+  // ====================
+  // Accumulate OtherPair probibilities over all active families
+  // AsciiPair probibilities are all done in ActiveSpecialBoostWhack
+  uint8 prior_bad_byte1 = ' ';    // won't match first bad pair
+  uint8 prior_bad_byte2 = ' ';    // won't match first bad pair
+  uint8 or_byte1 = 0;             // Track if any current pair has a high bit
+  int counted_otherpairs = 0;
+  uint8 prior_byte1x2x = 0;
+  for (int i = 0; i < delta_otherpairs; ++i) {
+    int watch1_incr = 0;
+    int watch2_incr = 0;
+    int next_pair = destatep->prior_interesting_pair[OtherPair] + i;
+
+    uint8 byte1 = destatep->interesting_pairs[OtherPair][next_pair * 2 + 0];
+    uint8 byte2 = destatep->interesting_pairs[OtherPair][next_pair * 2 + 1];
+    uint8 byte1x2x = (byte1 & 0xf0) | ((byte2 >> 4) & 0x0f);
+    int weightshift = destatep->interesting_weightshift[OtherPair][next_pair];
+
+    int offset_byte12 = destatep->interesting_offsets[OtherPair][next_pair];
+
+    // To help distinguish some Cyrillic, Arabic, Greek, Hebrew, Thai
+    // Remember if this is a CDEF pair immediately following the previous pair
+    // 8xxx CxCx or CxCx 8xxx
+    bool next_pair_consec_hi = false;
+    if (ConsecutivePair(destatep, next_pair)) {
+      if ((byte1x2x & 0xcc) == 0xcc) {                // 8xxx CxCx
+        next_pair_consec_hi = true;
+      } else if ((prior_byte1x2x & 0xcc) == 0xcc) {   // CxCx 8xxx
+        next_pair_consec_hi = true;
+      }
+    }
+    //printf("prior/cur/consec %02x %02x %d\n",
+    // prior_byte1x2x, byte1x2x, next_pair_consec_hi);
+    prior_byte1x2x = byte1x2x;
+
+    or_byte1 |= byte1;
+    uint8 byte1f = byte1;
+    // Flip top bit of subscript to better separate quadrant 4 (esp. for Hebrew)
+    byte1f ^= (byte2 & 0x80);
+
+    // If the same bigram occurred recently, don't increment again
+    bool pair_used = false;
+    if (!RepeatedBigram(destatep, byte1, byte2)) {
+      ++counted_otherpairs;
+      pair_used = true;
+      // Boost both charset= declared encodings, so
+      // Nearly-same probability nearby encoding doesn't drift to the top
+      if (!FLAGS_demo_nodefault) {
+        destatep->enc_prob[destatep->declared_enc_1] += kDeclaredEncBoost >> weightshift;
+        destatep->enc_prob[destatep->declared_enc_2] += kDeclaredEncBoost >> weightshift;
+      }
+      bool was_bad_pair = false;
+      for (int j = 0; j < destatep->rankedencoding_list_len; j++) {
+        int incr_shift = 0;
+        int rankedencoding = destatep->rankedencoding_list[j];
+        Encoding enc = kMapToEncoding[rankedencoding];
+
+        // For binary, Skip over repeated marker bytes, such as 02, FF, etc.
+        if ((rankedencoding == F_BINARY) &&
+            RepeatedBinary(destatep, byte1, byte2)) {
+          incr_shift = 2;       // count 1/4 as much if repeated
+        }
+
+        // If byte 1x2x for this encoding is exactly zero, illegal byte pair
+        // Don't increment, but instead penalize
+        const UnigramEntry* ue = &unigram_table[rankedencoding];
+        if (ue->b12[byte1x2x] == 0) {
+          // Don't whack consecutive duplicate bad pairs -- overkill
+          if ((byte1 != prior_bad_byte1) || (byte2 != prior_bad_byte2)) {
+            // Extra whack for illegal pair in this encoding
+            Whack(destatep, rankedencoding, kBadPairWhack >> weightshift);
+            was_bad_pair = true;
+          }
+        } else {
+          // OK to do the real increment
+          int incr = ue->b1[byte1f] + ue->b2[byte2] + ue->b12[byte1x2x];
+          if ((ue->b12[byte1x2x] & 0x01) != 0) {
+            // Use a more-precise table
+            int byte32x32 = ((byte1 & 0x1f) << 5) | (byte2 & 0x1f);
+            int hiressub = (byte2 & 0x60) >> 5;   // select w/bits 5&6 of byte 2
+            DCHECK(ue->hires[hiressub] != NULL);
+            incr += ue->hires[hiressub][byte32x32];
+          } else {
+            // Default final offset
+            incr += ue->so;
+          }
+          incr >>= incr_shift;
+
+          incr >>= weightshift;
+          destatep->enc_prob[rankedencoding] += incr;   // The actual increment
+
+          if (FLAGS_enc_detect_detail2) {
+            if (watch1_rankedenc == rankedencoding) {watch1_incr = incr;}
+            if (watch2_rankedenc == rankedencoding) {watch2_incr = incr;}
+          }
+        }
+
+
+        // If consecutive pair of high bytes, give slight boost to one-byte
+        // encodings that have a full alphabet in the high bytes
+        if (next_pair_consec_hi && HighAlphaEncoding(enc)) {
+          Boost(destatep, rankedencoding, kDeclaredEncBoost >> weightshift);
+        }
+      }     // End for j < rankedencoding_list_len
+
+      if (was_bad_pair) {
+        prior_bad_byte1 = byte1;
+        prior_bad_byte2 = byte2;
+      }
+
+      // Fold in per-bigram most likely encoding for first N bigrams
+      if (next_pair < kBestPairsCount) {
+        int best_enc = kMostLikelyEncoding[(byte1 << 8) + byte2];
+        Boost(destatep, best_enc, kBestEncBoost >> weightshift);
+      }
+
+      // Possibly score 32 trigrams around a bigram to better separate
+      // Latin1 from Latin2 and Latin7. Especially helpful for detecting
+      // mis-labelled Hungarian latin2.
+      // If looking and at bigram 0,8,16,... do full scoring, else just 1 tri
+      if (destatep->do_latin_trigrams ||
+          destatep->looking_for_latin_trigrams) {
+        // If just looking, do full scan every 8 times
+        // Just look up one trigram the other 7 and do full scan if Latin2,7
+        bool scan32 = false;
+        const uint8* trisrc = &destatep->initial_src[offset_byte12 - 1];
+        if (!destatep->do_latin_trigrams) {
+          if ((i & 7) == 0 || trisrc + 3 > destatep->limit_src) {
+            scan32 = true;
+          } else {
+            scan32 = (kTriLatin1Likely < TrigramValue(trisrc));
+          }
+        }
+        if (destatep->do_latin_trigrams || scan32) {
+          // Just score each block of 32 bytes once
+          int tri_block_offset = offset_byte12 & ~0x1f;
+          if (destatep->trigram_highwater_mark <= tri_block_offset) {
+            bool turnon = BoostLatin127Trigrams(tri_block_offset, destatep);
+            if (FLAGS_counts && !destatep->do_latin_trigrams && turnon) {
+              ++doing_used;    // First time
+            }
+            if (FLAGS_enc_detect_source) {
+              if (!destatep->do_latin_trigrams && turnon) {
+                // First time
+                PsHighlight(trisrc, destatep->initial_src, 0, 2);
+              }
+            }
+            destatep->do_latin_trigrams |= turnon;
+            destatep->trigram_highwater_mark = tri_block_offset + 32;
+          }
+        }
+      }
+
+    }       // end if RepeatedBigram()
+
+    // Keep track of initial byte high 3 bits
+    ++destatep->byte32_count[byte1 >> 5];
+
+
+    // TODO: boost subset/superset also
+    // Boost(destatep, kRelatedEncoding[best_enc], kBestEncBoost);
+
+    if (destatep->debug_data != NULL) {
+      // Show detail entry for this bigram
+      char buff[16];
+      snprintf(buff, sizeof(buff), "%c%02x%02x%c%c",
+               pair_used ? ' ' : '[',
+               byte1,
+               byte2,
+               pair_used ? ' ' : ']',
+               (weightshift == 0) ? ' ' : '-');
+
+      SetDetailsEncProb(destatep,
+                        destatep->interesting_offsets[OtherPair][next_pair],
+                        kMostLikelyEncoding[(byte1 << 8) + byte2],
+                        buff);
+    }
+    if (FLAGS_enc_detect_detail2) {
+      if ((watch1_incr != 0) || (watch2_incr != 0)) {
+        // Show increment detail for this encoding
+        char buff[32];
+        snprintf(buff, sizeof(buff), "%c%d %c%d",
+                 (watch1_incr < 0) ? '-' : '+', watch1_incr,
+                 (watch2_incr < 0) ? '-' : '+', watch2_incr);
+        SetDetailsEncLabel(destatep, buff);
+      }
+    }
+  }       // End for i
+
+
+  // If no high bit on, demote all the two-byte codes
+  // WAS BUG. This was inside the loop above and should be outside
+  if ((counted_otherpairs > 0) && ((or_byte1 & 0x80) == 0)) {
+    // No high bit in this group (just 02xx, etc.). Whack 2-byte codes
+    // This keeps SJS from creeping past Latin1 on illegal C0 bytes
+    for (int j = 0; j < destatep->rankedencoding_list_len; j++) {
+      int rankedencoding = destatep->rankedencoding_list[j];
+      Encoding enc = kMapToEncoding[rankedencoding];
+      if (TwoByteEncoding(enc)) {
+        Whack(destatep, rankedencoding, kGentlePairWhack * counted_otherpairs);
+      }
+    }
+  }
+
+
+  // BOOST
+  // ====================
+  if (AnyActive(destatep)) {
+    ActiveSpecialBoostWhack(src, destatep);
+  }
+
+  // Update for next time
+  destatep->prior_src = src;
+  destatep->prior_interesting_pair[AsciiPair] =
+    destatep->next_interesting_pair[AsciiPair];
+  destatep->prior_interesting_pair[OtherPair] =
+    destatep->next_interesting_pair[OtherPair];
+
+
+  // Do any pre-prune final adjustments
+  // ====================
+  if (prunereason == PRUNE_FINAL) {
+    // If UTF8 not in base state, whack
+    if (destatep->next_utf8_ministate != 0) {
+      Whack(destatep, F_UTF8, kGentlePairWhack * 2 * 1);
+    }
+    // If UTF8UTF8 not in base state, whack
+    if (destatep->next_utf8utf8_ministate != 0) {
+      Whack(destatep, F_UTF8UTF8, kGentlePairWhack * 2 * 1);
+    }
+
+    // If no valid UTF-8 char ever seen, whack
+    if (destatep->utf8_minicount[5] == 0) {
+      Whack(destatep, F_UTF8, kBadPairWhack * 8);           // No sequence
+      Whack(destatep, F_UTF8UTF8, kBadPairWhack * 8);       // No sequence
+    }
+
+    // If no valid UTF8UTF8 char ever seen, whack
+    if (destatep->utf8utf8_minicount[5] == 0) {
+      Whack(destatep, F_UTF8UTF8, kBadPairWhack * 8);       // No sequence
+    }
+
+    // If not all four binary quadrants, whack BINARY;
+    // worth 2 pair if 3 quads, 4 pair if 1 or 2 quads
+    if (destatep->binary_quadrants_count < 4) {
+      if (destatep->binary_quadrants_count == 3) {
+        Whack(destatep, F_BINARY, kBadPairWhack * 2);
+      } else {
+        Whack(destatep, F_BINARY, kBadPairWhack * 4);
+      }
+    }
+
+    // If 1st pair is 1b24, choose between ISO-2022-xx
+    //  <esc> $ ) C ISO-2022-KR   [1b 24 29 43]
+    //  <esc> $ ) A ISO-2022-CN   [1b 24 29 41]
+    //  <esc> $ ) G ISO-2022-CN   [1b 24 29 47]
+    //  <esc> $ * H ISO-2022-CN   [1b 24 2a 48]
+    //  <esc> ( B ISO-2022-JP     [1b 28 42]  to ASCII
+    //  <esc> ( J ISO-2022-JP     [1b 28 4a]  to X0201
+    //  <esc> $ @ ISO-2022-JP     [1b 24 40]  to X0208-78 twobyte
+    //  <esc> $ B ISO-2022-JP     [1b 24 42]  to X0208-83 twobyte
+    if ((destatep->next_interesting_pair[OtherPair] >= 1) &&
+        Iso2022Active(destatep)) {
+      if ((destatep->interesting_pairs[OtherPair][0] == 0x1b) &&
+          (destatep->interesting_pairs[OtherPair][1] == 0x24)) {
+        int offset = destatep->interesting_offsets[OtherPair][0];
+        const uint8* esc_src = destatep->initial_src + offset;
+        if ((destatep->initial_src + offset) < (destatep->limit_src - 3)) {
+          if ((esc_src[2] == ')') && (esc_src[3] == 'C')) {
+            Boost(destatep, F_ISO_2022_KR, kBoostOnePair);
+            Whack(destatep, F_ISO_2022_CN, kBadPairWhack);
+            Whack(destatep, F_JIS, kBadPairWhack);
+          } else if ((esc_src[2] == ')') && ((esc_src[3] == 'A') ||
+                                             (esc_src[3] == 'G'))) {
+            Boost(destatep, F_ISO_2022_CN, kBoostOnePair);
+            Whack(destatep, F_ISO_2022_KR, kBadPairWhack);
+            Whack(destatep, F_JIS, kBadPairWhack);
+          } else if ((esc_src[2] == '@') || (esc_src[2] == 'B')) {
+            Boost(destatep, F_JIS, kBoostOnePair);
+            Whack(destatep, F_ISO_2022_CN, kBadPairWhack);
+            Whack(destatep, F_ISO_2022_KR, kBadPairWhack);
+          }
+        } else {
+          // Incomplete escape sequence. Whack them all
+          Whack(destatep, F_JIS, kBadPairWhack);
+          Whack(destatep, F_ISO_2022_CN, kBadPairWhack);
+          Whack(destatep, F_ISO_2022_KR, kBadPairWhack);
+        }
+      }
+    }
+    if (destatep->debug_data != NULL) {
+      SetDetailsEncLabel(destatep, "pre-final");
+    }
+  }
+
+  // PRUNE
+  // ====================
+  // Find current top two rankedencoding probabilities
+  ReRank(destatep);
+
+  if (prunereason == PRUNE_SLOWEND) {
+    if (destatep->debug_data != NULL) {
+      SetDetailsEncLabel(destatep, "slow-end");
+    }
+  }
+
+  // Keep every rankedencoding with probablity >= top_prob - prune_difference
+  int prune_diff = destatep->prune_difference;
+  // If the top encoding is BINARY, it might be overstated, and we might
+  // therefore prune away the real encoding. Make the pruning delta
+  // twice as big.
+  if (destatep->top_rankedencoding == F_BINARY) {
+    prune_diff *= 2;
+  }
+  int keep_prob = destatep->top_prob - prune_diff;
+
+  // Tighten pruning difference (we start wide) for next time
+  if (destatep->prune_difference > kFinalPruneDifference) {
+    int decrement = kPruneDiffDecrement;
+    // If only ASCII pairs, small tighten; if some non-ASCII, full tighten
+    if (counted_otherpairs == 0) {
+      decrement >>= 1;
+    }
+    destatep->prune_difference -= decrement;
+  }
+
+  // Prune the list of active encoding families
+  destatep->active_special = 0;
+  int k = 0;
+  for (int j = 0; j < destatep->rankedencoding_list_len; j++) {
+    bool keep = true;
+    int rankedencoding = destatep->rankedencoding_list[j];
+
+    // If count is too low, ditch it
+    if (destatep->enc_prob[rankedencoding] < keep_prob) {
+      keep = false;
+    }
+
+    // If at end of slow section, ditch any 7-bit with zero evidence so far
+    if ((prunereason == PRUNE_SLOWEND) &&
+        SevenBitEncoding(kMapToEncoding[rankedencoding]) &&
+        (destatep->enc_prob[rankedencoding] <= 0) &&
+        (rankedencoding != destatep->top_rankedencoding)) {
+      keep = false;
+    }
+
+    // Keep it. This will always keep at least top_prob rankedencoding
+    if (keep) {
+      destatep->active_special |= kSpecialMask[kMapToEncoding[rankedencoding]];
+      destatep->rankedencoding_list[k++] = rankedencoding;
+    }
+  }
+
+  if (destatep->debug_data != NULL) {
+    char buff[32];
+    snprintf(buff, sizeof(buff), "%d prune", prune_diff / XLOG2);
+    SetDetailsEncLabel(destatep, buff);
+  }
+  destatep->rankedencoding_list_len = k;
+
+
+
+  // Force final result in some cases
+  // Do any post-prune final adjustments
+  if (prunereason == PRUNE_FINAL) {
+    // If no high-byte pairs, result is ASCII7, BINARY, UTF7, 2022, or HZ
+    if (destatep->next_interesting_pair[OtherPair] == 0) {
+      if ((destatep->top_rankedencoding != F_BINARY) &&
+          (destatep->top_rankedencoding != F_UTF7) &&
+          (destatep->top_rankedencoding != F_ISO_2022_CN) &&
+          (destatep->top_rankedencoding != F_ISO_2022_KR) &&
+          (destatep->top_rankedencoding != F_JIS) &&
+          (destatep->top_rankedencoding != F_HZ_GB_2312)) {
+        destatep->top_rankedencoding = F_ASCII_7_bit;
+        Boost(destatep, F_ASCII_7_bit, kBoostOnePair * 2);
+      }
+    }
+
+    // If some 89 pairs, not ISO_8859_x  and vice versa
+    if (destatep->byte32_count[4] > 0) {
+      switch (destatep->top_rankedencoding) {
+      case F_ASCII:         // ISO-8859-1
+        destatep->top_rankedencoding = F_CP1252;
+        // Better: destatep->enc_prob[F_ASCII] <==> destatep->enc_prob[F_CP1252]
+        Boost(destatep, F_CP1252, kBoostOnePair * 2);
+        break;
+      case F_Latin2:        // ISO-8859-2
+        // Don't swap back; not superset
+        //destatep->top_rankedencoding = F_CP1250;
+        //Boost(destatep, F_CP1250, kBoostOnePair * 2);
+        break;
+      case F_Arabic:         // ISO-8859-6
+        destatep->top_rankedencoding = F_CP1256;
+        Boost(destatep, F_CP1256, kBoostOnePair * 2);
+        break;
+      case F_Greek:         // ISO-8859-7
+        // Don't swap -- not proper superset
+        // Capital Alpha tonos at 0xB6 in ISO-8859-7, 0xA2 in CP1253
+        //destatep->top_rankedencoding = F_CP1253;
+        //Boost(destatep, F_CP1253, kBoostOnePair * 2);
+        break;
+      case F_Hebrew:        // ISO-8859-8
+        // Don't swap -- visual vs. logical
+        //destatep->top_rankedencoding = F_CP1255;
+        //Boost(destatep, F_CP1255, kBoostOnePair * 2);
+        break;
+      case F_Latin5:        // ISO-8859-9
+        destatep->top_rankedencoding = F_CP1254;
+        Boost(destatep, F_CP1254, kBoostOnePair * 2);
+        break;
+      case F_ISO_8859_11:   // ISO-8859-11
+        destatep->top_rankedencoding = F_CP874;
+        Boost(destatep, F_CP874, kBoostOnePair * 2);
+        break;
+      }
+    } else {
+      switch (destatep->top_rankedencoding) {
+      case F_CP1252:        // ISO-8859-1
+        destatep->top_rankedencoding = F_ASCII;
+        Boost(destatep, F_ASCII, kBoostOnePair * 2);
+        break;
+      case F_CP1250:        // ISO-8859-2
+        // Don't swap back; not superset
+        //destatep->top_rankedencoding = F_Latin2;
+        //Boost(destatep, F_Latin2, kBoostOnePair * 2);
+        break;
+      case F_CP1256:        // ISO-8859-6
+        // Don't swap back -- not proper superset
+        //destatep->top_rankedencoding = F_Arabic;
+        //Boost(destatep, F_Arabic, kBoostOnePair * 2);
+        break;
+      case F_CP1253:        // ISO-8859-7
+        // Don't swap back -- not proper superset
+        //destatep->top_rankedencoding = F_Greek;
+        //Boost(destatep, F_Greek, kBoostOnePair * 2);
+        break;
+      case F_CP1255:        // ISO-8859-8
+        // Don't swap back -- not proper superset
+        //destatep->top_rankedencoding = F_Hebrew;
+        //Boost(destatep, F_Hebrew, kBoostOnePair * 2);
+        break;
+      case F_CP1254:        // ISO-8859-9
+        destatep->top_rankedencoding = F_Latin5;
+        Boost(destatep, F_Latin5, kBoostOnePair * 2);
+        break;
+      case F_CP874:         // ISO-8859-11
+        destatep->top_rankedencoding = F_ISO_8859_11;
+        Boost(destatep, F_ISO_8859_11, kBoostOnePair * 2);
+        break;
+      }
+    }
+
+    if (destatep->debug_data != NULL) {
+      char buff[32];
+      snprintf(buff, sizeof(buff), "final %d",
+               static_cast<int>(src - destatep->initial_src));
+      SetDetailsEncLabel(destatep, buff);
+
+      // Show winning encoding and its delta log base2 from 2nd-best
+      // Divide delta by XLOG2 to get log base 2
+      int delta = destatep->top_prob - destatep->second_top_prob;
+      if (delta < (2 * XLOG2)) {
+        delta /= XDECILOG2;
+        snprintf(buff, sizeof(buff), "+%d.%d %s ",
+                 delta / 10, delta % 10,
+                 MyEncodingName(kMapToEncoding[destatep->top_rankedencoding]));
+      } else if (delta < (50 * XLOG2)) {
+        delta /= XLOG2;
+        snprintf(buff, sizeof(buff), "+%d %s",
+                 delta,
+                 MyEncodingName(kMapToEncoding[destatep->top_rankedencoding]));
+      } else {
+        snprintf(buff, sizeof(buff), "%s",
+                 MyEncodingName(kMapToEncoding[destatep->top_rankedencoding]));
+      }
+      SetDetailsEncProbCopyOffset(destatep, destatep->top_rankedencoding, buff);
+    }
+  }
+
+
+  // FINISH
+  // ====================
+  // Eventual encoding result is reliable if big difference in top two, or if
+  // only Ascii7 ever encountered
+  // Also reliable if exactly one OtherPair and it's best encoding matches top
+  destatep->reliable = false;
+  if (destatep->next_interesting_pair[OtherPair] == 0) {
+    // Only 7-bit ASCII
+    destatep->reliable = true;
+  }
+  if ((destatep->top_prob - destatep->second_top_prob) >=
+      FLAGS_ced_reliable_difference) {
+    destatep->reliable = true;
+  }
+  if (destatep->next_interesting_pair[OtherPair] == 1) {
+    uint8 byte1 = destatep->interesting_pairs[OtherPair][0];
+    uint8 byte2 = destatep->interesting_pairs[OtherPair][1];
+    int best_enc = kMostLikelyEncoding[(byte1 << 8) + byte2];
+    if (best_enc == destatep->top_rankedencoding) {
+      destatep->reliable = true;
+    }
+  }
+
+  // If we pruned to one encoding, we are done
+  if (destatep->rankedencoding_list_len == 1) {
+    destatep->reliable = true;
+    destatep->done = true;
+  }
+
+  // If we pruned to two or three encodings in the same *superset/subset
+  // rankedencoding*  and enough pairs, we are done. Else keep going
+  if (destatep->rankedencoding_list_len == 2) {
+    Encoding enc0 = kMapToEncoding[destatep->rankedencoding_list[0]];
+    Encoding enc1 = kMapToEncoding[destatep->rankedencoding_list[1]];
+    if (kMapEncToBaseEncoding[enc0] == kMapEncToBaseEncoding[enc1]) {
+      if (destatep->prune_count >= 3) {
+        destatep->reliable = true;
+        destatep->done = true;
+      }
+    }
+  } else if (destatep->rankedencoding_list_len == 3) {
+    Encoding enc0 = kMapToEncoding[destatep->rankedencoding_list[0]];
+    Encoding enc1 = kMapToEncoding[destatep->rankedencoding_list[1]];
+    Encoding enc2 = kMapToEncoding[destatep->rankedencoding_list[2]];
+    Encoding base0 = kMapEncToBaseEncoding[enc0];
+    Encoding base1 = kMapEncToBaseEncoding[enc1];
+    Encoding base2 = kMapEncToBaseEncoding[enc2];
+
+    if ((base0 == base1) && (base0 == base2)) {
+      if (destatep->prune_count >= 3) {
+        destatep->reliable = true;
+        destatep->done = true;
+      }
+    }
+  }
+}
+
+
+// Accumulate aligned byte-pair at src
+// Occasionally, calc boost for some encodings and then prune the active list
+// weightshift is used to give low weight some text, such as inside tags
+// Returns true if pruning occurred
+bool IncrementAndBoostPrune(const uint8* src,
+                            int remaining_length,
+                            DetectEncodingState* destatep,
+                            int weightshift,
+                            int exit_reason) {
+  destatep->last_pair = src;
+  // Pick up byte pair, or very last byte plus 0x20
+  uint8 byte1 = src[0];
+  uint8 byte2 = 0x20;
+  if (1 < remaining_length) {byte2 = src[1];}
+
+  // whatset=0 for Ascii + ~, 1 for all others; see kTestPrintableAsciiTildePlus
+  int whatset = exit_reason - 1;
+  int next_pair = destatep->next_interesting_pair[whatset];
+
+  if (next_pair > 16) {
+    // If not clear by 16 bigrams, stop accumulating + ~ 00
+    if (byte1 == '+') {return false;}
+    if (byte1 == '~') {return false;}
+    if (byte1 == 0x00) {return false;}
+  }
+
+  // Remember pair in appropriate list
+  if (next_pair >= kMaxPairs) {
+    // We have filled up our alloted space for interesting pairs with no
+    // decision. If ASCII pairs full, just skip until end of slow loop; if
+    // non-Ascii pairs full, force done
+    if (whatset == OtherPair) {
+      destatep->done = true;
+    }
+  } else {
+    int offset = static_cast<int>(src - destatep->initial_src);
+    destatep->interesting_pairs[whatset][next_pair * 2 + 0] = byte1;
+    destatep->interesting_pairs[whatset][next_pair * 2 + 1] = byte2;
+    destatep->interesting_offsets[whatset][next_pair] = offset;
+    destatep->interesting_weightshift[whatset][next_pair] = weightshift;
+    ++destatep->next_interesting_pair[whatset];
+    ++next_pair;
+  }
+
+  // Prune now and then , but always if forced to be done
+  if (destatep->done || ((next_pair & kPruneMask) == 0)) {  // Prune every M
+    BoostPrune(src + 2, destatep, PRUNE_NORMAL);  // src+2 first unscanned byte
+                                                  // may be off end of input
+    return true;
+  }
+  return false;
+}
+
+void DumpSummary(DetectEncodingState* destatep, int whatset, int n) {
+  printf("  %sSummary[%2d]: ", kWhatSetName[whatset],
+         destatep->next_interesting_pair[whatset]);
+  int limit = minint(n, destatep->next_interesting_pair[whatset]);
+  for (int i = 0; i < limit; ++i) {
+    printf("%02x%02x ",
+           destatep->interesting_pairs[whatset][i * 2 + 0],
+           destatep->interesting_pairs[whatset][i * 2 + 1]);
+    if ((i & 7) == 7) {printf("  ");}
+  }
+  printf("\n");
+}
+
+void BeginDetail(DetectEncodingState* destatep) {
+  fprintf(stderr, "%d [", NUM_RANKEDENCODING);
+  for (int e = 0; e < NUM_RANKEDENCODING; ++e) {
+    fprintf(stderr, "(%s)",  MyRankedEncName(e));
+    if ((e % 10) == 9) {fprintf(stderr, "\n    ");}
+  }
+  fprintf(stderr, "] size-detail\n");
+  destatep->next_detail_entry = 0;
+}
+
+// Single character to represent (printable ASCII) gap between bigrams
+char DetailOffsetChar(int delta) {
+  if (delta == 0) {return ' ';}
+  if (delta <= 2) {return '=';}
+  if (delta <= 15) {return '_';}
+  if (delta <= 31) {return '+';}
+  {return ' ';}
+}
+
+void DumpDetail(DetectEncodingState* destatep) {
+  // Turn all counts into delta from previous entry
+  fprintf(stderr, "%d count-detail\n", destatep->next_detail_entry);
+  // Rewrite, recording deltas
+  for (int z = destatep->next_detail_entry - 1; z > 0; --z) {
+    destatep->debug_data[z].offset -= destatep->debug_data[z - 1].offset;
+    for (int e = 0; e < NUM_RANKEDENCODING; ++e) {
+      destatep->debug_data[z].detail_enc_prob[e] -=
+        destatep->debug_data[z - 1].detail_enc_prob[e];
+    }
+  }
+  // Now print
+  for (int z = 0; z < destatep->next_detail_entry; ++z) {
+    // Highlight some entries ending in '!' with light red underbar
+    int len = destatep->debug_data[z].label.size();
+    if (destatep->debug_data[z].label[len - 1] == '!') {
+      fprintf(stderr, "1 0.9 0.9 do-flag\n");
+    }
+    fprintf(stderr, "(%c%s) %d [",
+            DetailOffsetChar(destatep->debug_data[z].offset),
+            destatep->debug_data[z].label.c_str(),
+            destatep->debug_data[z].best_enc);
+    for (int e = 0; e < NUM_RANKEDENCODING; ++e) {
+      fprintf(stderr, "%d ", destatep->debug_data[z].detail_enc_prob[e]);
+      if ((e % 10) == 9) {fprintf(stderr, "  ");}
+    }
+    fprintf(stderr, "] do-detail-e\n");
+  }
+  // Get ready for next time,if any
+  destatep->next_detail_entry = 0;
+}
+
+void PsRecurse(const char* buff) {
+  fprintf(stderr, "() end-detail (%s) start-detail\n\n", buff);
+}
+
+void DumpReliable(DetectEncodingState* destatep) {
+  printf("Not reliable: ");
+
+  // Find center of gravity of OtherPair list
+  int x_sum = 0;
+  int y_sum = 0;
+  int count = destatep->next_interesting_pair[OtherPair];
+  for (int i = 0; i < count; ++i) {
+    uint8 byte1 = destatep->interesting_pairs[OtherPair][i * 2 + 0];
+    uint8 byte2 = destatep->interesting_pairs[OtherPair][i * 2 + 1];
+    x_sum += byte2;
+    y_sum += byte1;
+  }
+  if (count == 0) {count = 1;}    // adoid zdiv
+  int x_bar = x_sum / count;
+  int y_bar = y_sum / count;
+  printf("center %02X,%02X\n", x_bar, y_bar);
+
+  double closest_dist = 999.0;
+  int closest = 0;
+  for (int j = 0; j < destatep->rankedencoding_list_len; j++) {
+    int rankedencoding = destatep->rankedencoding_list[j];
+    const UnigramEntry* ue = &unigram_table[rankedencoding];
+    printf("  %8s = %4d at %02x,%02x +/- %02X,%02X ",
+           MyEncodingName(kMapToEncoding[rankedencoding]),
+           destatep->enc_prob[rankedencoding],
+           ue->x_bar, ue->y_bar,
+           ue->x_stddev, ue->y_stddev);
+    double x_diff = x_bar - ue->x_bar;
+    double y_diff = y_bar - ue->y_bar;
+    double dist = sqrt((x_diff * x_diff) + (y_diff * y_diff));
+    printf("(%3.1f)\n", dist);
+
+    if (closest_dist > dist) {
+      closest_dist = dist;
+      closest = rankedencoding;
+    }
+  }
+  printf("Closest=%s (%3.1f)\n",
+         MyEncodingName(kMapToEncoding[closest]), closest_dist);
+
+  for (int i = 0; i < 8; ++i) {
+    // Demote by distance to CG and see if that helps, or just quit
+  }
+}
+
+// Scan short single lines quickly for all printable ASCII
+// Return true if all bytes are in [20..7F], false otherwise
+bool QuickPrintableAsciiScan(const char* text, int text_length) {
+  const uint8* src = reinterpret_cast<const uint8*>(text);
+  const uint8* srclimit = src + text_length;
+  const uint8* srclimit8 = srclimit - 7;
+  while (src < srclimit8) {
+    // Exits on any byte outside [0x20..0x7E] range (HT LF CR exit)
+    uint8 mask = 0;
+    for (int i = 0; i < 8; ++i) mask |= (src[i]-0x20)|(src[i]+0x01);
+    if ((mask & 0x80) != 0) break;
+    src += 8;
+  }
+  while (src < srclimit) {
+    uint8 uc = *src++;
+    if (kIsPrintableAscii[uc] == 0) {return false;}
+  }
+  return true;
+}
+
+static const int kMaxScanBack = 192;
+static const int kMaxScanForward = 64;
+
+// Return true if text is inside a tag or JS comment
+bool TextInsideTag(const uint8* isrc, const uint8* src, const uint8* srclimit) {
+  const uint8* srcbacklimit = src - kMaxScanBack;
+  if (srcbacklimit < isrc) {
+    srcbacklimit = isrc;
+  }
+  const uint8* ss = src - 1;
+  while (srcbacklimit <= ss) {
+    uint8 c = *ss--;
+    if ((c & ~0x02) == '<') {
+      // We found preceding < 3C or > 3E nearby
+      // Even cheaper: if inside a tag, we don't care what tag; return true
+      if (c == '<') {
+        return true;
+      }
+      // See if we are just after <title>...
+      if ((c == '>') && (isrc <= (ss - 5)) &&
+          (ss[-5] == '<') &&
+          ((ss[-4] | 0x20) == 't') &&
+          ((ss[-3] | 0x20) == 'i') &&
+          ((ss[-2] | 0x20) == 't') &&
+          ((ss[-1] | 0x20) == 'l') &&
+          ((ss[-0] | 0x20) == 'e')) {
+        return true;
+      }
+      // See if we are just after <SCRIPT language=javascript>...
+      if ((c == '>') && (isrc <= (ss - 5)) &&
+          (ss[-5] == 's') &&
+          ((ss[-4] | 0x20) == 'c') &&
+          ((ss[-3] | 0x20) == 'r') &&
+          ((ss[-2] | 0x20) == 'i') &&
+          ((ss[-1] | 0x20) == 'p') &&
+          ((ss[-0] | 0x20) == 't')) {
+        return true;
+      }
+      // Not in a tag
+      return false;
+    // See if we are just after JavaScript comment /* ...
+    } else if (c == '/') {
+      if (((ss + 2) < srclimit) && (ss[2] == '*')) {
+        // We backscanned to /*
+        return true;
+      }
+    }
+  }
+
+  return false;
+}
+
+const uint8* SkipToTagEnd(const uint8* isrc, const uint8* src, const uint8* srclimit) {
+  const uint8* ss = src + 1;
+  while (ss <= srclimit) {
+    uint8 c = *ss++;
+    if ((c == '<') || (c == '>')) {
+      return ss;
+    }
+  }
+  return src + 2;     // Always make progress, Otherwise we get an infinite loop
+}
+
+
+// Take a watch string and map to a ranked encoding. If no match, return -1
+int LookupWatchEnc(const string& watch_str) {
+  int watchval = -1;
+  // Mixed encoding maps to enc=UTF8UTF8
+  if (watch_str == "UTF8UTF8") {
+    watchval = F_UTF8UTF8;
+  } else {
+    Encoding enc;
+    if (EncodingFromName(watch_str.c_str(), &enc)) {
+      watchval = CompactEncDet::BackmapEncodingToRankedEncoding(enc);
+    }
+  }
+  return watchval;
+}
+
+// Return true if enc and enc2 are equal or one is a subset of the other
+// or either is UNKNOWN
+// also UTF8UTF8 is compatible with both Latin1 and UTF8
+bool CompatibleEnc(Encoding enc, Encoding enc2) {
+  if (enc < 0) {return false;}
+  if (NUM_ENCODINGS <= enc) {return false;}
+  if (enc2 < 0) {return false;}
+  if (NUM_ENCODINGS <= enc2) {return false;}
+  if (enc == enc2) {return true;}
+  if (kMapEncToBaseEncoding[enc] == kMapEncToBaseEncoding[enc2]) {return true;}
+
+  if (enc == ASCII_7BIT) {return true;}
+  if (enc2 == ASCII_7BIT) {return true;}
+  if (enc == UNKNOWN_ENCODING) {return true;}
+  if (enc2 == UNKNOWN_ENCODING) {return true;}
+  if (enc == UTF8UTF8) {
+    if (enc2 == UTF8) {return true;}
+    if (kMapEncToBaseEncoding[enc2] == ISO_8859_1) {return true;}
+  }
+  if (enc2 == UTF8UTF8) {
+    if (enc == UTF8) {return true;}
+    if (kMapEncToBaseEncoding[enc] == ISO_8859_1) {return true;}
+  }
+
+  return false;
+}
+
+// Return superset of enc and enc2, which must be compatible
+Encoding SupersetEnc(Encoding enc, Encoding enc2) {
+  //printf("  SupersetEnc (%s, ", MyEncodingName(enc)); // TEMP
+  //printf("%s) ", MyEncodingName(enc2));
+  //printf("= %s\n",
+  //       MyEncodingName(kMapEncToSuperLevel[enc] >= kMapEncToSuperLevel[enc2] ?
+  //                      enc :enc2));
+  if (kMapEncToSuperLevel[enc] >= kMapEncToSuperLevel[enc2]) {
+    return enc;
+  }
+  return enc2;
+}
+
+
+// If unreliable, try rescoring to separate some encodings
+Encoding Rescore(Encoding enc, const uint8* isrc,
+                 const uint8* srctextlimit, DetectEncodingState* destatep) {
+  if (FLAGS_counts) {++rescore_used;}
+  Encoding new_enc = enc;
+
+  bool rescore_change = false;
+
+  int count = destatep->next_interesting_pair[OtherPair];
+  int text_length = srctextlimit - isrc;
+  for (int i = 0; i < count; ++i) {
+    int bigram_offset = destatep->interesting_offsets[OtherPair][i];
+    uint8 byte0 = (0 < bigram_offset) ?
+        isrc[bigram_offset - 1] : 0x20;
+    uint8 byte1 = isrc[bigram_offset + 0];  // Known to have high bit on
+    uint8 byte2 = ((bigram_offset + 1) < text_length) ?
+        isrc[bigram_offset + 1] : 0x20;
+    uint8 byte3 = ((bigram_offset + 2) < text_length) ?
+        isrc[bigram_offset + 2] : 0x20;
+    int high_hash = ((byte0 & 0xc0) >> 0) |
+                    ((byte1 & 0xc0) >> 1) |
+                    ((byte2 & 0xc0) >> 4) |
+                    ((byte3 & 0xc0) >> 6);    // 00112233
+
+    // Boost HighAccent encodings for Ascii bit patterns
+    //  0x1x  0x0x
+    //  1010  1010
+    //  0010  0000
+    //
+    if ((high_hash & 0xaa) == 0x20) {
+      for (int j = 0; j < destatep->rankedencoding_list_len; j++) {
+        int rankedencoding = destatep->rankedencoding_list[j];
+        if (HighAccentEncoding(kMapToEncoding[rankedencoding])) {
+          // TODO: also want to boost Shift-JIS here if byte1 is Ax..Dx
+          // TEMP
+          //printf("  Rescore[%02x] %s +%d\n",
+          //       high_hash, MyRankedEncName(rankedencoding), kGentlePairBoost);
+          Boost(destatep, rankedencoding, kGentlePairBoost);
+          rescore_change = true;
+        }
+      }
+    }
+
+    // Whack HighAccent encodings for high bit patterns
+    //  1x1x  1x1x
+    //  1010  1010
+    //  1010  1010
+    //
+    if ((high_hash & 0xaa) == 0xaa) {
+      for (int j = 0; j < destatep->rankedencoding_list_len; j++) {
+        int rankedencoding = destatep->rankedencoding_list[j];
+        if (HighAccentEncoding(kMapToEncoding[rankedencoding])) {
+          // TEMP
+          //printf("  Rescore[%02x] %s -%d\n",
+          //       high_hash, MyRankedEncName(rankedencoding), kGentlePairBoost);
+          Whack(destatep, rankedencoding, kGentlePairBoost);
+          rescore_change = true;
+        }
+      }
+    }
+
+  }
+
+  if (rescore_change) {
+    ReRank(destatep);
+    new_enc = kMapToEncoding[destatep->top_rankedencoding];
+
+    if (destatep->debug_data != NULL) {
+      char buff[32];
+      snprintf(buff, sizeof(buff), "=Rescore %s", MyEncodingName(new_enc));
+      SetDetailsEncProb(destatep,
+                        0,
+                        CompactEncDet::BackmapEncodingToRankedEncoding(new_enc),
+                        buff);
+      //// DumpDetail(destatep);
+    }
+
+    SimplePrune(destatep, kFinalPruneDifference);
+    CalcReliable(destatep);
+  }
+
+  //if (new_enc != enc) {
+  //  // TEMP
+  //  printf("  Rescore new top encoding = %s\n",
+  //         MyRankedEncName(destatep->top_rankedencoding));
+  //}
+
+  return new_enc;
+}
+
+
+// Given an encoding, add its corresponding ranked encoding to the set
+void AddToSet(Encoding enc, int* list_len, int* list) {
+  // TEMP print
+  int item = CompactEncDet::BackmapEncodingToRankedEncoding(enc);
+  for (int i = 0; i < *list_len; ++i) {
+    if (list[i] == item) {
+      return;                 // Already in the set; don't add again
+    }
+  }
+  list[(*list_len)++] = item;
+}
+
+
+static const int kMinRobustBigramCount = 1000;
+static const int kMinKBToRobustScan =  64;
+static const int kMaxKBToRobustScan = 256;
+
+// Scan the first 64K or so, just doing raw bigram increments on given
+// probability list.
+// No fancy duplicate filtering or anything else here.
+// Returns number of bigrams counted
+int RobustScan(const char* text,
+                int text_length,
+                int robust_renc_list_len,
+                int* robust_renc_list,
+                int* robust_renc_probs) {
+  if (FLAGS_counts) {++robust_used;}
+  // Zero all the result probabilities
+  for (int i = 0; i < robust_renc_list_len; ++i) {
+    robust_renc_probs[i] = 0;
+  }
+  int max_fast_len = minint(text_length, (kMaxKBToRobustScan << 10));
+  const uint8* isrc = reinterpret_cast<const uint8*>(text);
+  const uint8* src = isrc;
+  const uint8* srclimitfast2 = isrc + max_fast_len - 1;
+  const uint8* srclimitfast4 = isrc + max_fast_len - 3;
+
+  int min_fast_len = minint(text_length, (kMinKBToRobustScan << 10));
+  const uint8* srclimitmin = isrc + min_fast_len - 1;
+
+  int bigram_count = 0;
+
+  if (FLAGS_enc_detect_source) {
+    PsSourceInit(kPsSourceWidth);
+    fprintf(stderr, "(RobustScan) do-src\n");
+  }
+
+  // Sum over a big chunk of the input
+  // Faster loop, no 7-bit-encodings possible, approx 3000 GB/sec
+  //====================================
+  while (src < srclimitfast2) {
+    // Skip to next interesting bigram
+
+    while (src < srclimitfast4) {
+      if (((src[0] | src[1] | src[2] | src[3]) & 0x80) != 0) break;
+      src += 4;
+    }
+
+    while (src < srclimitfast2) {
+      if ((src[0] & 0x80) != 0) break;
+      src++;
+    }
+
+    if (src < srclimitfast2) {
+      // We found a bigram with high bit on
+      // Next 5 lines commented out so we don't show all the source.
+      //const uint8* srctextlimit = isrc + text_length;
+      //if (FLAGS_enc_detect_source) {
+      //  PsSource(src, isrc, srctextlimit);
+      //  PsMark(src, 2, isrc, 0);
+      //}
+
+      uint8 byte1 = src[0];
+      uint8 byte2 = src[1];
+      uint8 byte1x2x = (byte1 & 0xf0) | ((byte2 >> 4) & 0x0f);
+      uint8 byte1f = byte1;
+      // Flip top bit of subscript to better separate quadrant 4 (esp. for Hebrew)
+      byte1f ^= (byte2 & 0x80);
+
+      // The real increments
+      for (int j = 0; j < robust_renc_list_len; ++j) {
+        int rankedencoding = robust_renc_list[j];
+        const UnigramEntry* ue = &unigram_table[rankedencoding];
+        int incr = ue->b1[byte1f] + ue->b2[byte2] + ue->b12[byte1x2x];
+        if ((ue->b12[byte1x2x] & 0x01) != 0) {
+          // Use a more-precise table
+          int byte32x32 = ((byte1 & 0x1f) << 5) | (byte2 & 0x1f);
+          int hiressub = (byte2 & 0x60) >> 5;   // select w/bits 5&6 of byte 2
+          DCHECK(ue->hires[hiressub] != NULL);
+          incr += ue->hires[hiressub][byte32x32];
+        } else {
+          // Default final offset
+          incr += ue->so;
+        }
+        robust_renc_probs[j] += incr;
+      }
+
+      src += 2;       // Continue after this bigram
+      ++bigram_count;
+
+      // Stop after 1000 bigrams reached, if at least 64KB scanned
+      if ((bigram_count > kMinRobustBigramCount) && (src > srclimitmin)) {
+        break;
+      }
+
+    }
+  }
+
+  if (FLAGS_enc_detect_source) {
+    fprintf(stderr, "(  bigram_count = %d) do-src\n", bigram_count);
+    if (bigram_count == 0) {bigram_count = 1;}    // zdiv
+    for (int i = 0; i < robust_renc_list_len; ++i) {
+      fprintf(stderr, "(  enc[%-12.12s] = %7d (avg %d)) do-src\n",
+              MyRankedEncName(robust_renc_list[i]), robust_renc_probs[i],
+              robust_renc_probs[i] / bigram_count);
+    }
+    PsSourceFinish();
+  }
+
+  return bigram_count;
+}
+
+// If unreliable, rescan middle of document to see if we can get a better
+// answer. Rescan is only worthwhile if there are ~200 bytes or more left,
+// since the detector takes as much as 96 bytes of bigrams to decide.
+Encoding Rescan(Encoding enc,
+                const uint8* isrc,
+                const uint8* src,
+                const uint8* srctextlimit,
+                const char* url_hint,
+                const char* http_charset_hint,
+                const char* meta_charset_hint,
+                const int encoding_hint,
+                const Language language_hint,
+                const CompactEncDet::TextCorpusType corpus_type,
+                bool ignore_7bit_mail_encodings,
+                DetectEncodingState* destatep) {
+  bool enc_is_reliable = destatep->reliable;
+  Encoding new_enc = enc;
+  Encoding second_best_enc =
+    kMapToEncoding[destatep->second_top_rankedencoding];
+
+  if (FLAGS_counts) {++rescan_used;}
+
+  int scanned_bytes = src - isrc;
+  int unscanned_bytes = srctextlimit - src;
+  int text_length = srctextlimit - isrc;
+  bool empty_rescan = true;
+
+  // See if enough bytes left to bother doing rescan
+  if (kMinRescanLength < unscanned_bytes) {
+    const char* text = reinterpret_cast<const char*>(isrc);
+
+    Encoding one_hint = destatep->http_hint;
+    if ((one_hint == UNKNOWN_ENCODING) &&
+        (destatep->meta_hint != UNKNOWN_ENCODING)) {
+      one_hint = destatep->meta_hint;
+    }
+    if ((one_hint == UNKNOWN_ENCODING) &&
+        (destatep->bom_hint != UNKNOWN_ENCODING)) {
+      one_hint = destatep->bom_hint;
+    }
+
+    // Go to an even offset to keep UTF-16 in synch
+    int middle_offset = (scanned_bytes + (unscanned_bytes / 2)) & ~1;
+    CHECK(middle_offset <= text_length);
+
+    // Look back a bit for a low byte to synchronize, else hope for the best.
+    const uint8* srcbacklimit = isrc + middle_offset - kMaxScanBack;
+    if (srcbacklimit < src) {
+      srcbacklimit = src;
+    }
+    const uint8* ss = isrc + middle_offset - 1;
+    while (srcbacklimit <= ss) {
+      if ((*ss & 0x80) == 0) {break;}
+      --ss;
+    }
+    // Leave middle offset unchanged unless we found a low byte
+    if (srcbacklimit <= ss) {
+      // Align to low byte or high byte just after it, whichever is even
+      middle_offset = (ss - isrc + 1) & ~1;     // Even to keep UTF-16 in sync
+    }
+    CHECK(middle_offset <= text_length);
+
+    if (destatep->debug_data != NULL) {
+      SetDetailsEncLabel(destatep, ">> Rescan");
+      // Print the current chart before recursive call
+      DumpDetail(destatep);
+
+      char buff[32];
+      snprintf(buff, sizeof(buff), ">> Rescan[%d..%d]",
+               middle_offset, text_length);
+      PsRecurse(buff);
+    }
+
+    int mid_bytes_consumed;
+    bool mid_is_reliable;
+    Encoding mid_second_best_enc;
+    CEDInternalFlags newflags = static_cast<CEDInternalFlags>(
+      kCEDRescanning + kCEDForceTags);
+    // Recursive call for rescan of half of remaining
+    Encoding mid_enc = InternalDetectEncoding(
+                             newflags,
+                             text + middle_offset,
+                             text_length - middle_offset,
+                             url_hint,
+                             http_charset_hint,
+                             meta_charset_hint,
+                             encoding_hint,
+                             language_hint,   // User interface lang
+                             corpus_type,
+                             ignore_7bit_mail_encodings,
+                             &mid_bytes_consumed,
+                             &mid_is_reliable,
+                             &mid_second_best_enc);
+    destatep->reliable = mid_is_reliable;
+
+    empty_rescan = (mid_enc == ASCII_7BIT);
+
+    // Not the right decision if, e.g. enc=Greek, mid=ASCII7, one=KSC
+    // hence the !empty_rescan term
+    if (!empty_rescan && CompatibleEnc(one_hint, mid_enc)) {
+      // Encoding we just found is compatible with the
+      // single hint (if any); return superset
+      new_enc = SupersetEnc(one_hint, mid_enc);
+    }
+
+    // If original and mid are compatible, and both reliable,
+    // return new_enc = SupersetEnc(enc, mid_enc)
+    //
+    // This avoids too much weight on a bogus hint causing a RobustScan
+    // that gets the wrong answer
+    if (!empty_rescan && mid_is_reliable && enc_is_reliable &&
+        CompatibleEnc(enc, mid_enc)) {
+      new_enc = SupersetEnc(enc, mid_enc);
+      return new_enc;
+    }
+
+    // if mid unreliable, robustscan
+    // if mid empty, robustscan
+    // if original and mid not compatible, robustscan
+    // if mid and one_hint not compatible, robustscan
+
+    // If we found conflicting data, drop back and do a robust scan of a big
+    // chunk of the input over a set of candidate encodings
+    //
+    if (!mid_is_reliable ||
+        empty_rescan ||
+        !CompatibleEnc(enc, mid_enc) ||
+        !CompatibleEnc(one_hint, mid_enc)) {
+      int robust_renc_list_len;         // Number of active encodings
+      int robust_renc_list[NUM_RANKEDENCODING];   // List of ranked encodings
+      int robust_renc_probs[NUM_RANKEDENCODING];  // List of matching probs
+
+      robust_renc_list_len = 0;
+      AddToSet(enc, &robust_renc_list_len, robust_renc_list);
+      AddToSet(second_best_enc, &robust_renc_list_len, robust_renc_list);
+      AddToSet(mid_enc, &robust_renc_list_len, robust_renc_list);
+      AddToSet(mid_second_best_enc, &robust_renc_list_len, robust_renc_list);
+      if (destatep->http_hint != UNKNOWN_ENCODING) {
+        AddToSet(destatep->http_hint, &robust_renc_list_len, robust_renc_list);
+      }
+      if (destatep->meta_hint != UNKNOWN_ENCODING) {
+        AddToSet(destatep->meta_hint, &robust_renc_list_len, robust_renc_list);
+      }
+      if (destatep->bom_hint != UNKNOWN_ENCODING) {
+        AddToSet(destatep->bom_hint, &robust_renc_list_len, robust_renc_list);
+      }
+      if (destatep->tld_hint != UNKNOWN_ENCODING) {
+        AddToSet(destatep->tld_hint, &robust_renc_list_len, robust_renc_list);
+      }
+
+      // Separate simple scan
+      // =====================
+      if (destatep->debug_data != NULL) {
+        SetDetailsEncLabel(destatep, ">> RobustScan");
+        // Print the current chart before recursive call
+        DumpDetail(destatep);
+
+        char buff[32];
+        snprintf(buff, sizeof(buff), ">> RobustScan[0..%d]", text_length);
+        PsRecurse(buff);
+      }
+
+      int bigram_count = RobustScan(text, text_length,
+                 robust_renc_list_len, robust_renc_list, robust_renc_probs);
+
+      // Default to new_enc and update if something better was found
+      int best_prob = -1;
+      // TEMP print
+      for (int i = 0; i < robust_renc_list_len; ++i) {
+        if (best_prob < robust_renc_probs[i]) {
+          best_prob = robust_renc_probs[i];
+          new_enc = kMapToEncoding[robust_renc_list[i]];
+        }
+      }
+
+      if (destatep->debug_data != NULL) {
+        char buff[32];
+        snprintf(buff, sizeof(buff), "=Robust[%d] %s",
+                 bigram_count, MyEncodingName(new_enc));
+        SetDetailsEncProb(destatep,
+                          0,
+                          CompactEncDet::BackmapEncodingToRankedEncoding(new_enc),
+                          buff);
+      }
+    }
+  }     // End if enough bytes
+
+  return new_enc;
+}
+
+// With no hints at all, and perhaps on rescan, we relax our pickiness
+// and go ahead and accept the top multibyte encodings, even though
+// strictly their web pages should have declared an explicit encoding to
+// avoid the HTML standard's default ISO-8859-1.
+bool NoHintsCloseEnoughCompatible(Encoding top_enc) {
+  // First test accepts degenerate cases plus UTF8 and UTF8UTF8
+  if (CompatibleEnc(UTF8, top_enc)) {return true;}
+
+  // The rest look for exact match of base encoding
+  Encoding base_enc = kMapEncToBaseEncoding[top_enc];
+  if (base_enc == JAPANESE_EUC_JP) {return true;}
+  if (base_enc == JAPANESE_SHIFT_JIS) {return true;}
+  if (base_enc == CHINESE_BIG5) {return true;}
+  if (base_enc == CHINESE_GB) {return true;}
+  if (base_enc == KOREAN_EUC_KR) {return true;}
+  return false;
+}
+
+
+
+// Scan raw bytes and detect most likely encoding
+// Design goals:
+//   Skip over big initial stretches of seven-bit ASCII bytes very quickly
+//   Thread safe
+//   Works equally well on
+//    50-byte queries,
+//    5000-byte email and
+//    50000-byte web pages
+// Length 0 input returns ISO_8859_1 (ASCII) encoding
+// Setting ignore_7bit_mail_encodings effectively turns off detection of
+//  UTF-7, HZ, and ISO-2022-xx
+Encoding InternalDetectEncoding(
+    CEDInternalFlags flags, const char* text, int text_length,
+    const char* url_hint, const char* http_charset_hint,
+    const char* meta_charset_hint, const int encoding_hint,
+    const Language language_hint,  // User interface lang
+    const CompactEncDet::TextCorpusType corpus_type,
+    bool ignore_7bit_mail_encodings, int* bytes_consumed, bool* is_reliable,
+    Encoding* second_best_enc) {
+  *bytes_consumed = 0;
+  *is_reliable = false;
+  *second_best_enc = ASCII_7BIT;
+
+  if (text_length == 0) {
+    // Follow the spec. Text might be NULL.
+    *is_reliable = true;
+    return ISO_8859_1;
+  }
+
+  // For very short (20-50 byte) input strings that are highly likely to be
+  // all printable ASCII, our startup overhead might dominate. We have to do the
+  // full detection if the ISO-2022-xx, HZ, or UTF-7 encodings are possible.
+  // Otherwise, we can do a quick scan for printable ASCII.
+  if ((text_length <= 500) && ignore_7bit_mail_encodings &&
+      QuickPrintableAsciiScan(text, text_length)) {
+    *is_reliable = true;
+    return ASCII_7BIT;
+  }
+
+  // Go for the full boat detection
+  DetectEncodingState destate;
+  InitDetectEncodingState(&destate);
+
+  std::unique_ptr<DetailEntry[]> scoped_debug_data;
+  if (FLAGS_enc_detect_detail) {
+    // Allocate max 10 details per bigram
+    scoped_debug_data.reset(new DetailEntry[kMaxPairs * 10]);
+    destate.debug_data = scoped_debug_data.get();
+    // NOTE: destate and scoped_debug_data have exactly the same scope
+    // All other FLAGS_enc_detect_detail tests use destate.debug_data != NULL
+  }
+
+  // Get text length limits
+  // Typically, we scan the first 16KB looking for all encodings, then
+  // scan the rest (up to 256KB) a bit faster by no longer looking for
+  // interesting bytes below 0x80. This allows us to skip over runs of
+  // 7-bit-ASCII much more quickly.
+  int slow_len = minint(text_length, (FLAGS_enc_detect_slow_max_kb << 10));
+  int fast_len = minint(text_length, (FLAGS_enc_detect_fast_max_kb << 10));
+
+  // Initialize pointers.
+  // In general, we do not look at last 3 bytes of input in the fast scan
+  // We do, however want to look at the last byte or so in the slow scan,
+  // especilly in the case of a very short text whose only interesting
+  // information is a 3-byte UTF-8 character in the last three bytes.
+  // If necessary, we fake a last bigram with 0x20 space as a pad byte.
+  const uint8* isrc = reinterpret_cast<const uint8*>(text);
+  const uint8* src = isrc;
+  const uint8* srctextlimit = isrc + text_length;
+  const uint8* srclimitslow2 = isrc + slow_len - 1;
+  const uint8* srclimitfast2 = isrc + fast_len - 1;
+  const uint8* srclimitfast4 = isrc + fast_len - 3;
+  if (srclimitslow2 > srclimitfast2) {
+    srclimitslow2 = srclimitfast2;
+  }
+  destate.initial_src = isrc;
+  destate.limit_src = srclimitfast2 + 1;      // May include last byte
+  destate.prior_src = isrc;
+  destate.last_pair = isrc - 2;
+
+  const char* scan_table = kTestPrintableAsciiTildePlus;
+  if (ignore_7bit_mail_encodings) {
+    // Caller wants to ignore UTF-7, HZ, ISO-2022-xx
+    // Don't stop on + (for UTF-7), nor on ~ (for HZ)
+    scan_table = kTestPrintableAscii;
+  }
+  int exit_reason = 0;
+
+  if (destate.debug_data != NULL) {
+    BeginDetail(&destate);
+    // Take any incoming watch encoding name and backmap to the corresponding
+    // ranked enum value
+    watch1_rankedenc = LookupWatchEnc(FLAGS_enc_detect_watch1);
+    if (watch1_rankedenc >= 0) {
+      fprintf(stderr, "/track-me %d def\n", watch1_rankedenc);
+    }
+
+    watch2_rankedenc = LookupWatchEnc(FLAGS_enc_detect_watch2);
+    if (watch2_rankedenc >= 0) {
+      fprintf(stderr, "/track-me2 %d def\n", watch2_rankedenc);
+    }
+
+    fprintf(stderr, "%% kDerateHintsBelow = %d\n", kDerateHintsBelow);
+  }
+  if (FLAGS_enc_detect_source) {
+    PsSourceInit(kPsSourceWidth);
+    PsSource(src, isrc, srctextlimit);
+    PsMark(src, 4, isrc, 0);
+  }
+
+  // Apply hints, if any, to probabilities
+  // NOTE: Encoding probabilites are all zero at this point
+  ApplyHints(url_hint,
+             http_charset_hint,
+             meta_charset_hint,
+             encoding_hint,
+             language_hint,
+             corpus_type,
+             &destate);
+
+  // NOTE: probabilities up to this point are subject to derating for
+  // small numbers of bigrams.
+  // Probability changes after this point are not derated.
+
+  // Do first 4 bytes to pick off strong markers
+  InitialBytesBoost(isrc, text_length, &destate);
+
+  bool ignored_some_tag_text = false;
+  int tag_text_bigram_count = 0;
+
+  // Slower loop, approx 500 MB/sec (2.8 GHz P4)
+  // ASSERT(srclimitslow2 <= srclimitfast2);
+  //====================================
+ DoMoreSlowLoop:
+  while (src < srclimitslow2) {
+    // Skip to next interesting byte (this is the slower part)
+    while (src < srclimitslow2) {
+      uint8 uc = *src++;
+      if (scan_table[uc] != 0) {exit_reason = scan_table[uc]; src--; break;}
+    }
+
+    if (src < srclimitslow2) {
+      if (FLAGS_enc_detect_source) {
+        PsSource(src, isrc, srctextlimit);    // don't mark yet
+      }
+
+      int weightshift = 0;
+      // In the first 16KB, derate new text run inside <title>...</title> and
+      // inside <!-- ... -->
+      if (////((destate.last_pair + 6) <= src) &&             // if beyond last one
+          ////(tag_text_bigram_count < kMaxBigramsTagTitleText) &&
+          (corpus_type == CompactEncDet::WEB_CORPUS) &&   // and web page
+          !CEDFlagForceTags(flags)) {                     // and OK to skip
+        ////if (TextInsideTag(destate.last_pair + 2, src, srclimitslow2)) {
+        if (TextInsideTag(isrc, src, srclimitslow2)) {
+          if (tag_text_bigram_count >= kMaxBigramsTagTitleText) {
+            ignored_some_tag_text = true;
+            src = SkipToTagEnd(destate.last_pair + 2, src, srclimitslow2);
+            continue;
+          } else {
+            weightshift = kWeightshiftForTagTitleText;
+            ++tag_text_bigram_count;
+          }
+        }
+      }
+      if (FLAGS_enc_detect_source) {
+        PsMark(src, 2, isrc, weightshift);
+      }
+      // Saves byte pair and offset
+      bool pruned = IncrementAndBoostPrune(src, srctextlimit - src,
+                                           &destate, weightshift, exit_reason);
+      // Advance; if inside tag, advance to end of tag
+      if (weightshift == 0) {
+        src += exit_reason;               // 1 Ascii, 2 other
+      } else {
+        src += exit_reason;               // 1 Ascii, 2 other
+        //// src = SkipToTagEnd(destate.last_pair, src, srclimitslow2);
+      }
+
+      if (pruned) {
+        // Scoring and active encodings have been updated
+        if (destate.done) {break;}
+        // Check if all the reasons for the slow loop have been pruned
+        // If so, go to fast loop
+        if (!SevenBitActive(&destate)) {break;}
+      }
+    }
+  }
+  //====================================
+
+  // We reached the end of a slow scan, possibly because no more SevenBitActive,
+  // or possibly are at end of source.
+  // If we are exactly at the end of the source, make sure we look at the very
+  // last byte.
+  bool very_last_byte_incremented = false;
+  if (src == (srctextlimit - 1)) {
+    exit_reason = scan_table[*src];
+    if (exit_reason != 0) {
+      // The very last byte is an interesting byte
+      // Saves byte pair and offset
+      //printf("Interesting very last slow byte = 0x%02x\n", *src);
+      IncrementAndBoostPrune(src, srctextlimit - src, &destate, 0, exit_reason);
+      very_last_byte_incremented = true;
+    }
+  }
+
+  if (FLAGS_enc_detect_source) {
+    PsSource(src, isrc, srctextlimit);
+    PsMark(src, 2, isrc, 0);
+  }
+  // Force a pruning based on whatever we have
+  // Delete the seven-bit encodings if there is no evidence of them so far
+  BoostPrune(src, &destate, PRUNE_SLOWEND);
+
+  if (!destate.done) {
+    // If not clear yet on 7-bit-encodings and more bytes, do more slow
+    if (SevenBitActive(&destate) && (src < srclimitfast2)) {
+      // Increment limit by another xxxK
+      slow_len += (FLAGS_enc_detect_slow_max_kb << 10);
+      srclimitslow2 = isrc + slow_len - 1;
+      if (srclimitslow2 > srclimitfast2) {
+        srclimitslow2 = srclimitfast2;
+      }
+      if (!UTF7OrHzActive(&destate)) {
+        // We can switch to table that does not stop on + ~
+        scan_table = kTestPrintableAscii;
+      }
+      goto DoMoreSlowLoop;
+    }
+
+
+    exit_reason = 2;
+    // Faster loop, no 7-bit-encodings possible, approx 3000 GB/sec
+    //====================================
+    while (src < srclimitfast2) {
+      // Skip to next interesting byte (this is the faster part)
+      while (src < srclimitfast4) {
+        if (((src[0] | src[1] | src[2] | src[3]) & 0x80) != 0) break;
+        src += 4;
+      }
+
+      while (src < srclimitfast2) {
+        if ((src[0] & 0x80) != 0) break;
+        src++;
+      }
+
+      if (src < srclimitfast2) {
+        if (FLAGS_enc_detect_source) {
+          PsSource(src, isrc, srctextlimit);
+          PsMark(src, 2, isrc, 0);
+        }
+        // saves byte pair and offset
+        bool pruned = IncrementAndBoostPrune(src, srctextlimit - src,
+                                             &destate, 0, exit_reason);
+        src += exit_reason;               // 1 Ascii, 2 other
+        if (pruned) {
+          // Scoring and active encodings have been updated
+          if (destate.done) {break;}
+        }
+      }
+    }
+    //====================================
+    // We reached the end of fast scan
+
+    // If we are exactly at the end of the source, make sure we look at the very
+    // last byte.
+    if (src == (srctextlimit - 1) && !very_last_byte_incremented) {
+      exit_reason = scan_table[*src];
+      if (exit_reason != 0) {
+        // The very last byte is an interesting byte
+        // Saves byte pair and offset
+        //printf("Interesting very last fast byte = 0x%02x\n", *src);
+        IncrementAndBoostPrune(src, srctextlimit - src, &destate, 0, exit_reason);
+        very_last_byte_incremented = true;
+      }
+    }
+
+  }     // End if !done
+
+  if (FLAGS_enc_detect_source) {
+    PsSource(src, isrc, srctextlimit);
+    PsMark(src, 2, isrc, 0);
+  }
+  // Force a pruning based on whatever we have
+  BoostPrune(src, &destate, PRUNE_FINAL);
+
+  if (FLAGS_enc_detect_summary) {
+    DumpSummary(&destate, AsciiPair, 32);
+    DumpSummary(&destate, OtherPair, 32);
+  }
+  if (FLAGS_enc_detect_source) {
+    PsSourceFinish();
+  }
+  if (destate.debug_data != NULL) {
+    //// DumpDetail(&destate);
+  }
+
+
+  if (ignored_some_tag_text &&
+      (kMapToEncoding[destate.top_rankedencoding] == ASCII_7BIT)) {
+    // There were some interesting bytes, but only in tag text.
+    // Recursive call to reprocess looking at the tags this time.
+
+    if (destate.debug_data != NULL) {
+      SetDetailsEncLabel(&destate, ">> Recurse/tags");
+      // Print the current chart before recursive call
+      DumpDetail(&destate);
+
+      char buff[32];
+      snprintf(buff, sizeof(buff), ">> Recurse for tags");
+      PsRecurse(buff);
+    }
+
+    // Recursive call for high bytes in tags [no longer used, 1/16 tag score]
+    Encoding enc2 = InternalDetectEncoding(
+                             kCEDForceTags,  // force
+                             text,
+                             text_length,
+                             url_hint,
+                             http_charset_hint,
+                             meta_charset_hint,
+                             encoding_hint,
+                             language_hint,
+                             corpus_type,
+                             ignore_7bit_mail_encodings,
+                             bytes_consumed,
+                             is_reliable,
+                             second_best_enc);
+
+    if (destate.debug_data != NULL) {
+      // Show winning encoding and dump PostScript
+      char buff[32];
+      snprintf(buff, sizeof(buff), "=2 %s", MyEncodingName(enc2));
+      SetDetailsEncProb(&destate,
+                        0,
+                        CompactEncDet::BackmapEncodingToRankedEncoding(enc2),
+                        buff);
+      DumpDetail(&destate);
+    }
+
+    return enc2;
+  }
+
+
+  // If the detected encoding does not match default/hints, or if the hints
+  // conflict with each other, mark as unreliable. This can be used to trigger
+  // further scoring.
+  // Three buckets of input documents;
+  // ~19% of the web no hints, and top == 7bit, Latin1, or CP1252
+  // ~79% of the web one or more hints, all same encoding X and top == X
+  // ~ 2% of the web one or more hints that are inconsistent
+
+  Encoding top_enc = kMapToEncoding[destate.top_rankedencoding];
+  Encoding one_hint = destate.http_hint;
+  if ((one_hint == UNKNOWN_ENCODING) &&
+      (destate.meta_hint != UNKNOWN_ENCODING)) {
+    one_hint = destate.meta_hint;
+  }
+  if ((one_hint == UNKNOWN_ENCODING) &&
+      (destate.bom_hint != UNKNOWN_ENCODING)) {
+    one_hint = destate.bom_hint;
+  }
+
+  bool found_compatible_encoding = true;
+  if (one_hint == UNKNOWN_ENCODING) {
+    // [~14% of the web] No hints, and top == 7bit, Latin1, or CP1252
+    if (!CompatibleEnc(ISO_8859_1, top_enc)) {
+      found_compatible_encoding = false;
+      // If there is nothing but a TLD hint and its top encoding matches, OK
+      if ((destate.tld_hint != UNKNOWN_ENCODING) &&
+          CompatibleEnc(destate.tld_hint, top_enc)) {
+        found_compatible_encoding = true;
+      }
+    }
+  } else if (CompatibleEnc(one_hint, destate.http_hint) &&
+             CompatibleEnc(one_hint, destate.meta_hint) &&
+             CompatibleEnc(one_hint, destate.bom_hint)) {
+    // [~83% of the web] One or more hints, all same encoding X and top == X
+    if (!CompatibleEnc(one_hint, top_enc)) {
+      // [~ 2% of the web] Oops, not the declared encoding
+      found_compatible_encoding = false;
+    }
+  } else {
+    // [~ 3% of the web] Two or more hints that are inconsistent
+    one_hint = UNKNOWN_ENCODING;
+    found_compatible_encoding = false;
+  }
+
+  // If we turned Latin1 into Latin2 or 7 via trigrams, don't fail it here
+  if (destate.do_latin_trigrams) {
+    if (CompatibleEnc(kMapToEncoding[F_Latin1], top_enc) ||
+        CompatibleEnc(kMapToEncoding[F_Latin2], top_enc) ||
+        CompatibleEnc(kMapToEncoding[F_CP1250], top_enc) ||
+        CompatibleEnc(kMapToEncoding[F_ISO_8859_13], top_enc)) {
+      found_compatible_encoding = true;
+      destate.reliable = true;
+    }
+  }
+
+  // If top encoding is not compatible with the hints, but it is reliably
+  // UTF-8, accept it anyway.
+  // This will perform badly with mixed UTF-8 prefix plus another encoding in
+  // the body if done too early, so we want to be rescanning.
+  if (!found_compatible_encoding &&
+      destate.reliable &&
+      NoHintsCloseEnoughCompatible(top_enc) &&
+      (destate.next_interesting_pair[OtherPair] >= kStrongPairs) &&
+      CEDFlagRescanning(flags)) {
+    found_compatible_encoding = true;
+  }
+
+  // Hold off on this so Rescan() can see if the original encoding was reliable
+  //if (!found_compatible_encoding) {
+  //  destate.reliable = false;
+  //}
+
+  // If unreliable, try rescoring to separate some encodings
+  if (!destate.reliable || !found_compatible_encoding) {
+    top_enc = Rescore(top_enc, isrc, srctextlimit, &destate);
+  }
+
+  *second_best_enc = kMapToEncoding[destate.second_top_rankedencoding];
+
+  // If unreliable, and not already rescanning,
+  // rescan middle of document to see if we can get a better
+  // answer. Rescan is only worthwhile if there are ~200 bytes or more left,
+  // since the detector takes as much as 96 bytes of bigrams to decide.
+  //
+  // CANNOT retry ISO-2022-xx HZ etc. because no declaration escape at the front
+  // or we may land in the middle of some partial state. Skip them all.
+  //
+  if ((!destate.reliable || !found_compatible_encoding) &&
+      !CEDFlagRescanning(flags) &&
+      !SevenBitEncoding(top_enc)) {
+    top_enc = Rescan(top_enc,
+                     isrc,
+                     src,
+                     srctextlimit,
+                     url_hint,
+                     http_charset_hint,
+                     meta_charset_hint,
+                     encoding_hint,
+                     language_hint,
+                     corpus_type,
+                     ignore_7bit_mail_encodings,
+                     &destate);
+  } else {
+    if (!found_compatible_encoding) {
+      destate.reliable = false;
+    }
+  }
+
+  if (destate.debug_data != NULL) {
+    // Dump PostScript
+    DumpDetail(&destate);
+  }
+
+  *bytes_consumed = src - isrc + 1;       // We looked 1 byte beyond src
+  *is_reliable = destate.reliable;
+  return top_enc;
+}
+
+Encoding CompactEncDet::DetectEncoding(
+    const char* text, int text_length, const char* url_hint,
+    const char* http_charset_hint, const char* meta_charset_hint,
+    const int encoding_hint,
+    const Language language_hint,  // User interface lang
+    const TextCorpusType corpus_type, bool ignore_7bit_mail_encodings,
+    int* bytes_consumed, bool* is_reliable) {
+  if (FLAGS_ced_echo_input) {
+    string temp(text, text_length);
+    fprintf(stderr, "CompactEncDet::DetectEncoding()\n%s\n\n", temp.c_str());
+  }
+
+  if (FLAGS_counts) {
+    encdet_used = 0;
+    rescore_used = 0;
+    rescan_used = 0;
+    robust_used = 0;
+    looking_used = 0;
+    doing_used = 0;
+    ++encdet_used;
+  }
+  if (FLAGS_dirtsimple) {
+    // Just count first 64KB bigram encoding probabilities for each encoding
+    int robust_renc_list_len;         // Number of active encodings
+    int robust_renc_list[NUM_RANKEDENCODING];   // List of ranked encodings
+    int robust_renc_probs[NUM_RANKEDENCODING];  // List of matching probs
+
+    for (int i = 0; i < NUM_RANKEDENCODING; ++i) {
+      robust_renc_list[i] = i;
+    }
+    robust_renc_list_len = NUM_RANKEDENCODING;
+
+    RobustScan(text, text_length,
+                 robust_renc_list_len, robust_renc_list, robust_renc_probs);
+
+    // Pick off best encoding
+    int best_prob = -1;
+    Encoding enc = UNKNOWN_ENCODING;
+    for (int i = 0; i < robust_renc_list_len; ++i) {
+      if (best_prob < robust_renc_probs[i]) {
+        best_prob = robust_renc_probs[i];
+        enc = kMapToEncoding[robust_renc_list[i]];
+      }
+    }
+
+    *bytes_consumed = minint(text_length, (kMaxKBToRobustScan << 10));
+    *is_reliable = true;
+    if (FLAGS_counts) {
+      printf("CEDcounts ");
+      while (encdet_used--) {printf("encdet ");}
+      while (rescore_used--) {printf("rescore ");}
+      while (rescan_used--) {printf("rescan ");}
+      while (robust_used--) {printf("robust ");}
+      while (looking_used--) {printf("looking ");}
+      while (doing_used--) {printf("doing ");}
+      printf("\n");
+    }
+
+    return enc;
+  }
+
+  Encoding second_best_enc;
+  Encoding enc = InternalDetectEncoding(kCEDNone,
+                           text,
+                           text_length,
+                           url_hint,
+                           http_charset_hint,
+                           meta_charset_hint,
+                           encoding_hint,
+                           language_hint,   // User interface lang
+                           corpus_type,
+                           ignore_7bit_mail_encodings,
+                           bytes_consumed,
+                           is_reliable,
+                           &second_best_enc);
+  if (FLAGS_counts) {
+    printf("CEDcounts ");
+    while (encdet_used--) {printf("encdet ");}
+    while (rescore_used--) {printf("rescore ");}
+    while (rescan_used--) {printf("rescan ");}
+    while (robust_used--) {printf("robust ");}
+    while (looking_used--) {printf("looking ");}
+    while (doing_used--) {printf("doing ");}
+    printf("\n");
+  }
+
+#if defined(HTML5_MODE)
+  // Map all the Shift-JIS variants to Shift-JIS when used in Japanese locale.
+  if (language_hint == JAPANESE && IsShiftJisOrVariant(enc)) {
+    enc = JAPANESE_SHIFT_JIS;
+  }
+
+  // 7-bit encodings (except ISO-2022-JP), and some obscure encodings not
+  // supported in WHATWG encoding standard are marked as ASCII to keep the raw
+  // bytes intact.
+  switch (enc) {
+    case ISO_2022_KR:
+    case ISO_2022_CN:
+    case HZ_GB_2312:
+    case UTF7:
+    case UTF16LE:
+    case UTF16BE:
+
+    case CHINESE_EUC_DEC:
+    case CHINESE_CNS:
+    case CHINESE_BIG5_CP950:
+    case JAPANESE_CP932:
+    case MSFT_CP874:
+    case TSCII:
+    case TAMIL_MONO:
+    case TAMIL_BI:
+    case JAGRAN:
+    case BHASKAR:
+    case HTCHANAKYA:
+    case BINARYENC:
+    case UTF8UTF8:
+    case TAM_ELANGO:
+    case TAM_LTTMBARANI:
+    case TAM_SHREE:
+    case TAM_TBOOMIS:
+    case TAM_TMNEWS:
+    case TAM_WEBTAMIL:
+    case KDDI_SHIFT_JIS:
+    case DOCOMO_SHIFT_JIS:
+    case SOFTBANK_SHIFT_JIS:
+    case KDDI_ISO_2022_JP:
+    case SOFTBANK_ISO_2022_JP:
+      enc = ASCII_7BIT;
+      break;
+    default:
+      break;
+  }
+#endif
+
+  return enc;
+}
+
+
+// Return top encoding hint for given string
+Encoding CompactEncDet::TopEncodingOfLangHint(const char* name) {
+  string normalized_lang = MakeChar8(string(name));
+  int n = HintBinaryLookup8(kLangHintProbs, kLangHintProbsSize,
+                           normalized_lang.c_str());
+  if (n < 0) {return UNKNOWN_ENCODING;}
+
+  // Charset is eight bytes, probability table is eight bytes
+  int toprankenc =
+    TopCompressedProb(&kLangHintProbs[n].key_prob[kMaxLangKey],
+                      kMaxLangVector);
+  return kMapToEncoding[toprankenc];
+}
+
+// Return top encoding hint for given string
+Encoding CompactEncDet::TopEncodingOfTLDHint(const char* name) {
+  string normalized_tld = MakeChar4(string(name));
+  int n = HintBinaryLookup4(kTLDHintProbs, kTLDHintProbsSize,
+                           normalized_tld.c_str());
+  if (n < 0) {return UNKNOWN_ENCODING;}
+
+  // TLD is four bytes, probability table is 12 bytes
+  int toprankenc =
+    TopCompressedProb(&kTLDHintProbs[n].key_prob[kMaxTldKey],
+                      kMaxTldVector);
+  return kMapToEncoding[toprankenc];
+}
+
+// Return top encoding hint for given string
+Encoding CompactEncDet::TopEncodingOfCharsetHint(const char* name) {
+  string normalized_charset = MakeChar44(string(name));
+  int n = HintBinaryLookup8(kCharsetHintProbs, kCharsetHintProbsSize,
+                           normalized_charset.c_str());
+  if (n < 0) {return UNKNOWN_ENCODING;}
+
+  // Charset is eight bytes, probability table is eight bytes
+  int toprankenc =
+    TopCompressedProb(&kCharsetHintProbs[n].key_prob[kMaxCharsetKey],
+                      kMaxCharsetVector);
+  return kMapToEncoding[toprankenc];
+}
+
+const char* CompactEncDet::Version(void) {
+  return kVersion;
+}
diff --git a/ced/compact_enc_det/compact_enc_det.h b/ced/compact_enc_det/compact_enc_det.h
new file mode 100644 (file)
index 0000000..d43e9a4
--- /dev/null
@@ -0,0 +1,83 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef COMPACT_ENC_DET_COMPACT_ENC_DET_H_
+#define COMPACT_ENC_DET_COMPACT_ENC_DET_H_
+
+#include "util/encodings/encodings.h"  // for Encoding
+#include "util/languages/languages.h"  // for Language
+
+#include <string.h>
+
+namespace CompactEncDet {
+  // We may want different statistics, depending on whether the text being
+  // identfied is from the web, from email, etc.  This is currently ignored,
+  // except WEB_CORPUS enables ignoring chars inside tags.
+  enum TextCorpusType {
+    WEB_CORPUS,
+    XML_CORPUS,
+    QUERY_CORPUS,       // Use this for vanilla plaintext
+    EMAIL_CORPUS,
+    NUM_CORPA,          // always last
+  };
+
+  // Scan raw bytes and detect most likely encoding
+  // Design goals:
+  //   Skip over big initial stretches of seven-bit ASCII bytes very quickly
+  //   Thread safe
+  //   Works equally well on
+  //    50-byte queries,
+  //    5000-byte email and
+  //    50000-byte web pages
+  // Length 0 input returns ASCII (aka ISO-8859-1 or Latin1)
+  //
+  // Inputs: text and text_length
+  //  web page's url (preferred) or just
+  //    top-level domain name (e.g. "com") or NULL as a hint
+  //  web page's HTTPheader charset= string (e.g. "Latin1") or NULL as a hint
+  //  web page's <meta> tag charset= string (e.g. "utf-8") or NULL as a hint
+  //  an Encoding or UNKNOWN_ENCODING as a hint
+  //  a Language or UNKNOWN_LANGUAGE as a hint
+  //  corpus type from the list above. Currently ignored; may select
+  //    different probability tables in the future
+  //  ignore_7bit if true says to NOT return the pure seven-bit encodings
+  //    ISO-2022-JP (aka JIS), ISO-2022-CN, ISO-2022-KR, HZ, and UTF-7.
+  //    This may save a little scoring time on pure printable ASCII input text
+  // Outputs: bytes_consumed says how much of text_length was actually examined
+  //  is_reliable set true if the returned encoding is at least 2**10 time more
+  //  probable then the second-best encoding
+  // Return value: the most likely encoding for the input text
+  //
+  // Setting ignore_7bit_mail_encodings effectively turns off detection of
+  // UTF-7, HZ, and ISO-2022-xx. It is recommended that this flag be true
+  // when corpus_type is QUERY_CORPUS.
+  Encoding DetectEncoding(
+      const char* text, int text_length, const char* url_hint,
+      const char* http_charset_hint, const char* meta_charset_hint,
+      const int encoding_hint,
+      const Language language_hint,  // User interface lang
+      const TextCorpusType corpus_type, bool ignore_7bit_mail_encodings,
+      int* bytes_consumed, bool* is_reliable);
+
+  // Support functions for unit test program
+  int BackmapEncodingToRankedEncoding(Encoding enc);
+  Encoding TopEncodingOfLangHint(const char* name);
+  Encoding TopEncodingOfTLDHint(const char* name);
+  Encoding TopEncodingOfCharsetHint(const char* name);
+  const char* Version(void);
+};      // End namespace CompactEncDet
+
+#endif  // COMPACT_ENC_DET_COMPACT_ENC_DET_H_
diff --git a/ced/compact_enc_det/compact_enc_det_generated_tables.h b/ced/compact_enc_det/compact_enc_det_generated_tables.h
new file mode 100644 (file)
index 0000000..317afb6
--- /dev/null
@@ -0,0 +1,6326 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef COMPACT_ENC_DET_COMPACT_ENC_DET_GENERATED_TABLES_H_
+#define COMPACT_ENC_DET_COMPACT_ENC_DET_GENERATED_TABLES_H_
+
+#include "compact_enc_det/compact_enc_det.h"
+#include "compact_enc_det/compact_enc_det_generated_tables2.h"
+#include "util/basictypes.h"
+#include "util/encodings/encodings.pb.h"
+
+enum RankedEncoding {
+  F_ASCII_7_bit,               // [0] encoding 24
+  F_Latin1,            // [1] encoding 0
+  F_UTF8,              // [2] encoding 22
+  F_GB,                // [3] encoding 14
+  F_CP1252,            // [4] encoding 27
+  F_KSC,               // [5] encoding 16
+  F_SJS,               // [6] encoding 11
+  F_EUC_JP,            // [7] encoding 10
+  F_BIG5,              // [8] encoding 13
+  F_Latin2,            // [9] encoding 1
+  F_CP1251,            // [10] encoding 26
+  F_CP1256,            // [11] encoding 35
+  F_CP1250,            // [12] encoding 29
+  F_Latin5,            // [13] encoding 8
+  F_ISO_8859_11,               // [14] encoding 33
+  F_ISO_8859_15,               // [15] encoding 30
+  F_CP1257,            // [16] encoding 32
+  F_CP1255,            // [17] encoding 36
+  F_KOI8R,             // [18] encoding 25
+  F_GBK,               // [19] encoding 45
+  F_Greek,             // [20] encoding 6
+  F_JIS,               // [21] encoding 12
+  F_CP1254,            // [22] encoding 31
+  F_CP1253,            // [23] encoding 41
+  F_CP932,             // [24] encoding 21
+  F_Hebrew,            // [25] encoding 7
+  F_KOI8U,             // [26] encoding 28
+  F_ISO_8859_5,                // [27] encoding 4
+  F_CP874,             // [28] encoding 34
+  F_ISO_8859_13,               // [29] encoding 43
+  F_Latin4,            // [30] encoding 3
+  F_MACINTOSH,         // [31] encoding 53
+  F_GB18030,           // [32] encoding 46
+  F_CP852,             // [33] encoding 39
+  F_Arabic,            // [34] encoding 5
+  F_BIG5_HKSCS,                // [35] encoding 47
+  F_CP866,             // [36] encoding 42
+  F_UTF_16BE,          // [37] encoding 57
+  F_Latin3,            // [38] encoding 2
+  F_UTF_16LE,          // [39] encoding 58
+  F_HZ_GB_2312,                // [40] encoding 62
+  F_CSN_369103,                // [41] encoding 40
+  F_ISO_2022_KR,               // [42] encoding 44
+  F_Latin6,            // [43] encoding 9
+  F_UTF7,              // [44] encoding 54
+  F_ISO_2022_CN,               // [45] encoding 48
+  F_BIG5_CP950,                // [46] encoding 20
+  F_JAGRAN,            // [47] encoding 52
+  F_BHASKAR,           // [48] encoding 55
+  F_HTCHANAKYA,                // [49] encoding 56
+  F_TSCII,             // [50] encoding 49
+  F_TAM,               // [51] encoding 50
+  F_TAB,               // [52] encoding 51
+  F_EUC_CN,            // [53] encoding 15
+  F_EUC,               // [54] encoding 18
+  F_CNS,               // [55] encoding 19
+  F_UTF_32BE,          // [56] encoding 59
+  F_UTF_32LE,          // [57] encoding 60
+  F_X_BINARYENC,               // [58] encoding 61
+  F_X_UTF8UTF8,                // [59] encoding 63
+  F_X_TAM_ELANGO,              // [60] encoding 64
+  F_X_TAM_LTTMBARANI,          // [61] encoding 65
+  F_X_TAM_SHREE,               // [62] encoding 66
+  F_X_TAM_TBOOMIS,             // [63] encoding 67
+  F_X_TAM_TMNEWS,              // [64] encoding 68
+  F_X_TAM_WEBTAMIL,            // [65] encoding 69
+  F_UTF8CP1252,                // [66] encoding 63
+  NUM_RANKEDENCODING
+};
+
+static const Encoding kMapToEncoding[NUM_RANKEDENCODING] = {
+  ASCII_7BIT,          // encoding 24
+  ISO_8859_1,          // encoding 0
+  UTF8,                // encoding 22
+  CHINESE_GB,          // encoding 14
+  MSFT_CP1252,         // encoding 27
+  KOREAN_EUC_KR,               // encoding 16
+  JAPANESE_SHIFT_JIS,          // encoding 11
+  JAPANESE_EUC_JP,             // encoding 10
+  CHINESE_BIG5,                // encoding 13
+  ISO_8859_2,          // encoding 1
+  RUSSIAN_CP1251,              // encoding 26
+  MSFT_CP1256,         // encoding 35
+  MSFT_CP1250,         // encoding 29
+  ISO_8859_9,          // encoding 8
+  ISO_8859_11,         // encoding 33
+  ISO_8859_15,         // encoding 30
+  MSFT_CP1257,         // encoding 32
+  MSFT_CP1255,         // encoding 36
+  RUSSIAN_KOI8_R,              // encoding 25
+  GBK,         // encoding 45
+  ISO_8859_7,          // encoding 6
+  JAPANESE_JIS,                // encoding 12
+  MSFT_CP1254,         // encoding 31
+  MSFT_CP1253,         // encoding 41
+  JAPANESE_CP932,              // encoding 21
+  ISO_8859_8,          // encoding 7
+  RUSSIAN_KOI8_RU,             // encoding 28
+  ISO_8859_5,          // encoding 4
+  MSFT_CP874,          // encoding 34
+  ISO_8859_13,         // encoding 43
+  ISO_8859_4,          // encoding 3
+  MACINTOSH_ROMAN,             // encoding 53
+  GB18030,             // encoding 46
+  CZECH_CP852,         // encoding 39
+  ISO_8859_6,          // encoding 5
+  BIG5_HKSCS,          // encoding 47
+  RUSSIAN_CP866,               // encoding 42
+  UTF16BE,             // encoding 57
+  ISO_8859_3,          // encoding 2
+  UTF16LE,             // encoding 58
+  HZ_GB_2312,          // encoding 62
+  CZECH_CSN_369103,            // encoding 40
+  ISO_2022_KR,         // encoding 44
+  ISO_8859_10,         // encoding 9
+  UTF7,                // encoding 54
+  ISO_2022_CN,         // encoding 48
+  CHINESE_BIG5_CP950,          // encoding 20
+  JAGRAN,              // encoding 52
+  BHASKAR,             // encoding 55
+  HTCHANAKYA,          // encoding 56
+  TSCII,               // encoding 49
+  TAMIL_MONO,          // encoding 50
+  TAMIL_BI,            // encoding 51
+  CHINESE_EUC_CN,              // encoding 15
+  CHINESE_EUC_DEC,             // encoding 18
+  CHINESE_CNS,         // encoding 19
+  UTF32BE,             // encoding 59
+  UTF32LE,             // encoding 60
+  BINARYENC,           // encoding 61
+  UTF8UTF8,            // encoding 63
+  TAM_ELANGO,          // encoding 64
+  TAM_LTTMBARANI,              // encoding 65
+  TAM_SHREE,           // encoding 66
+  TAM_TBOOMIS,         // encoding 67
+  TAM_TMNEWS,          // encoding 68
+  TAM_WEBTAMIL,                // encoding 69
+  UTF8UTF8,            // encoding 63
+};
+
+// Massaged TLD or charset, followed by packed encoding probs
+typedef struct {
+  char key_prob[20];
+} HintEntry;
+
+static const HintEntry kLangHintProbs[] = {    // MaxRange 192
+  {{0x61,0x62,0x6b,0x68,0x61,0x7a,0x69,0x61, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "abkhazia"
+      // UTF8=191  [top UTF8]
+  {{0x61,0x66,0x61,0x72,0x5f,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "afar____"
+      // UTF8=191  [top UTF8]
+  {{0x61,0x66,0x72,0x69,0x6b,0x61,0x61,0x6e, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "afrikaan"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x61,0x6c,0x62,0x61,0x6e,0x69,0x61,0x6e, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "albanian"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x61,0x6d,0x68,0x61,0x72,0x69,0x63,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "amharic_"
+      // UTF8=191  [top UTF8]
+  {{0x61,0x72,0x61,0x62,0x69,0x63,0x5f,0x5f, 0x03,0x84,0x53,0xa2,0x11,0x3b,0x62,0xbc,0x34,0x10,0x51,0x83,}}, // "arabic__"
+      // ASCII-7-bit=132  Latin1=83  UTF8=162  CP1252=59  CP1256=188  CP1250=52  Arabic=131  [top CP1256]
+  {{0x61,0x72,0x6d,0x65,0x6e,0x69,0x61,0x6e, 0x01,0x5f,0x11,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "armenian"
+      // ASCII-7-bit=95  UTF8=190  [top UTF8]
+  {{0x61,0x73,0x73,0x61,0x6d,0x65,0x73,0x65, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "assamese"
+      // UTF8=191  [top UTF8]
+  {{0x61,0x79,0x6d,0x61,0x72,0x61,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "aymara__"
+      // UTF8=191  [top UTF8]
+  {{0x61,0x7a,0x65,0x72,0x62,0x61,0x69,0x6a, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "azerbaij"
+      // UTF8=191  [top UTF8]
+  {{0x62,0x61,0x73,0x68,0x6b,0x69,0x72,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bashkir_"
+      // UTF8=191  [top UTF8]
+  {{0x62,0x61,0x73,0x71,0x75,0x65,0x5f,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "basque__"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x62,0x65,0x6c,0x61,0x72,0x75,0x73,0x69, 0xa1,0xb5,0x71,0xa1,0x72,0x97,0xab,0x81,0x8d,0x00,0x00,0x00,}}, // "belarusi"
+      // CP1251=181  KOI8R=161  KOI8U=151  ISO-8859-5=171  CP866=141  [top CP1251]
+  {{0x62,0x65,0x6e,0x67,0x61,0x6c,0x69,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bengali_"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x62,0x69,0x68,0x61,0x72,0x69,0x5f,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bihari__"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x62,0x69,0x73,0x6c,0x61,0x6d,0x61,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bislama_"
+      // UTF8=191  [top UTF8]
+  {{0x62,0x6f,0x73,0x6e,0x69,0x61,0x6e,0x5f, 0x91,0xaf,0x21,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bosnian_"
+      // Latin2=175  CP1250=185  [top CP1250]
+  {{0x62,0x72,0x65,0x74,0x6f,0x6e,0x5f,0x5f, 0x11,0xb5,0x21,0x97,0x81,0xab,0x11,0xa1,0x00,0x00,0x00,0x00,}}, // "breton__"
+      // Latin1=181  CP1252=151  Latin5=171  ISO-8859-15=161  [top Latin1]
+  {{0x62,0x75,0x6c,0x67,0x61,0x72,0x69,0x61, 0x03,0x70,0x47,0xad,0x11,0x45,0x51,0xb5,0x71,0x95,0x81,0x9f,}}, // "bulgaria"
+      // ASCII-7-bit=112  Latin1=71  UTF8=173  CP1252=69  CP1251=181  KOI8R=149  ISO-8859-5=159  [top CP1251]
+  {{0x62,0x75,0x72,0x6d,0x65,0x73,0x65,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "burmese_"
+      // UTF8=191  [top UTF8]
+  {{0x63,0x61,0x74,0x61,0x6c,0x61,0x6e,0x5f, 0x03,0x8b,0xb8,0xa0,0x11,0xa4,0xa1,0x96,0x10,0x61,0x31,0x00,}}, // "catalan_"
+      // ASCII-7-bit=139  Latin1=184  UTF8=160  CP1252=164  ISO-8859-15=150  Latin3=49  [top Latin1]
+  {{0x63,0x68,0x65,0x72,0x6f,0x6b,0x65,0x65, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cherokee"
+      // UTF8=191  [top UTF8]
+  {{0x63,0x68,0x69,0x6e,0x65,0x73,0x65,0x5f, 0x01,0x5c,0x12,0xa8,0xbb,0x11,0x74,0x21,0x6d,0xa1,0x7d,0x00,}}, // "chinese_"
+      // ASCII-7-bit=92  UTF8=168  GB=187  KSC=116  BIG5=109  GBK=125  [top GB]
+  {{0x63,0x68,0x69,0x6e,0x65,0x73,0x65,0x74, 0x06,0x73,0x5f,0xad,0x59,0x43,0x36,0x21,0xb9,0x10,0xa1,0x38,}}, // "chineset"
+      // ASCII-7-bit=115  Latin1=95  UTF8=173  GB=89  CP1252=67  KSC=54  BIG5=185  BIG5_HKSCS=56  [top BIG5]
+  {{0x63,0x6f,0x72,0x73,0x69,0x63,0x61,0x6e, 0x12,0xaf,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "corsican"
+      // Latin1=175  UTF8=185  [top UTF8]
+  {{0x63,0x72,0x65,0x6f,0x6c,0x65,0x73,0x61, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "creolesa"
+      // UTF8=191  [top UTF8]
+  {{0x63,0x72,0x6f,0x61,0x74,0x69,0x61,0x6e, 0x03,0x91,0x7b,0xa6,0x11,0x86,0x41,0xac,0x21,0xb4,0x31,0x4d,}}, // "croatian"
+      // ASCII-7-bit=145  Latin1=123  UTF8=166  CP1252=134  Latin2=172  CP1250=180  CP1257=77  [top CP1250]
+  {{0x63,0x7a,0x65,0x63,0x68,0x5f,0x5f,0x5f, 0x01,0x89,0x11,0xb1,0x61,0x98,0x21,0xb5,0x10,0x41,0x7d,0x00,}}, // "czech___"
+      // ASCII-7-bit=137  UTF8=177  Latin2=152  CP1250=181  CP852=125  [top CP1250]
+  {{0x64,0x61,0x6e,0x69,0x73,0x68,0x5f,0x5f, 0x03,0x99,0xb8,0xa6,0x11,0x9a,0x41,0x38,0x21,0x32,0x21,0x84,}}, // "danish__"
+      // ASCII-7-bit=153  Latin1=184  UTF8=166  CP1252=154  Latin2=56  CP1250=50  ISO-8859-15=132  [top Latin1]
+  {{0x64,0x68,0x69,0x76,0x65,0x68,0x69,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "dhivehi_"
+      // UTF8=191  [top UTF8]
+  {{0x64,0x75,0x74,0x63,0x68,0x5f,0x5f,0x5f, 0x03,0xb1,0xae,0xa3,0x11,0xa1,0x41,0x41,0x21,0x44,0x21,0x7f,}}, // "dutch___"
+      // ASCII-7-bit=177  Latin1=174  UTF8=163  CP1252=161  Latin2=65  CP1250=68  ISO-8859-15=127  [top ASCII-7-bit]
+  {{0x64,0x7a,0x6f,0x6e,0x67,0x6b,0x68,0x61, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "dzongkha"
+      // UTF8=191  [top UTF8]
+  {{0x65,0x6e,0x67,0x6c,0x69,0x73,0x68,0x5f, 0x06,0xb9,0xa0,0xa2,0x5d,0x94,0x55,0x21,0x56,0x61,0x69,0x00,}}, // "english_"
+      // ASCII-7-bit=185  Latin1=160  UTF8=162  GB=93  CP1252=148  KSC=85  BIG5=86  ISO-8859-15=105  [top ASCII-7-bit]
+  {{0x65,0x73,0x70,0x65,0x72,0x61,0x6e,0x74, 0x03,0x89,0xb4,0xa2,0x12,0xaa,0x45,0x61,0x4c,0x21,0xa0,0x00,}}, // "esperant"
+      // ASCII-7-bit=137  Latin1=180  UTF8=162  CP1252=170  KSC=69  CP1250=76  ISO-8859-15=160  [top Latin1]
+  {{0x65,0x73,0x74,0x6f,0x6e,0x69,0x61,0x6e, 0x03,0x90,0xab,0xb1,0x11,0x91,0xa2,0x7e,0xa3,0xc2,0x8e,0x98,}}, // "estonian"
+      // ASCII-7-bit=144  Latin1=171  UTF8=177  CP1252=145  ISO-8859-15=126  CP1257=163  ISO-8859-13=142  Latin4=152  [top UTF8]
+  {{0x66,0x61,0x72,0x6f,0x65,0x73,0x65,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "faroese_"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x66,0x69,0x6a,0x69,0x61,0x6e,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "fijian__"
+      // UTF8=191  [top UTF8]
+  {{0x66,0x69,0x6e,0x6e,0x69,0x73,0x68,0x5f, 0x03,0x96,0xb7,0xa9,0x11,0x9c,0x71,0x42,0x22,0x8b,0x39,0x00,}}, // "finnish_"
+      // ASCII-7-bit=150  Latin1=183  UTF8=169  CP1252=156  CP1250=66  ISO-8859-15=139  CP1257=57  [top Latin1]
+  {{0x66,0x72,0x65,0x6e,0x63,0x68,0x5f,0x5f, 0x03,0x99,0xb6,0xaa,0x11,0xa0,0x62,0x4f,0x46,0x21,0x86,0x00,}}, // "french__"
+      // ASCII-7-bit=153  Latin1=182  UTF8=170  CP1252=160  CP1256=79  CP1250=70  ISO-8859-15=134  [top Latin1]
+  {{0x66,0x72,0x69,0x73,0x69,0x61,0x6e,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "frisian_"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x67,0x61,0x6c,0x69,0x63,0x69,0x61,0x6e, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "galician"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x67,0x61,0x6e,0x64,0x61,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ganda___"
+      // UTF8=191  [top UTF8]
+  {{0x67,0x65,0x6f,0x72,0x67,0x69,0x61,0x6e, 0x01,0x6c,0x11,0xbe,0x11,0x1c,0x10,0x21,0x1c,0x00,0x00,0x00,}}, // "georgian"
+      // ASCII-7-bit=108  UTF8=190  CP1252=28  CP1253=28  [top UTF8]
+  {{0x67,0x65,0x72,0x6d,0x61,0x6e,0x5f,0x5f, 0x03,0xa2,0xb7,0xa6,0x11,0x9b,0x41,0x56,0x21,0x5d,0x21,0x7c,}}, // "german__"
+      // ASCII-7-bit=162  Latin1=183  UTF8=166  CP1252=155  Latin2=86  CP1250=93  ISO-8859-15=124  [top Latin1]
+  {{0x67,0x72,0x65,0x65,0x6b,0x5f,0x5f,0x5f, 0x03,0x81,0x54,0xad,0x11,0x52,0xd1,0x31,0x11,0xb4,0x21,0xa6,}}, // "greek___"
+      // ASCII-7-bit=129  Latin1=84  UTF8=173  CP1252=82  KOI8R=49  Greek=180  CP1253=166  [top Greek]
+  {{0x67,0x72,0x65,0x65,0x6e,0x6c,0x61,0x6e, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "greenlan"
+      // UTF8=191  [top UTF8]
+  {{0x67,0x75,0x61,0x72,0x61,0x6e,0x69,0x5f, 0x11,0xb9,0x20,0x91,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "guarani_"
+      // Latin1=185  Latin6=175  [top Latin1]
+  {{0x67,0x75,0x6a,0x61,0x72,0x61,0x74,0x69, 0x03,0x79,0xb6,0x76,0x11,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,}}, // "gujarati"
+      // ASCII-7-bit=121  Latin1=182  UTF8=118  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x68,0x61,0x69,0x74,0x69,0x61,0x6e,0x63, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "haitianc"
+      // UTF8=191  [top UTF8]
+  {{0x68,0x61,0x75,0x73,0x61,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "hausa___"
+      // UTF8=191  [top UTF8]
+  {{0x68,0x65,0x62,0x72,0x65,0x77,0x5f,0x5f, 0x03,0x76,0x46,0xab,0x11,0x3b,0x51,0x32,0x61,0xb8,0x71,0x9f,}}, // "hebrew__"
+      // ASCII-7-bit=118  Latin1=70  UTF8=171  CP1252=59  CP1251=50  CP1255=184  Hebrew=159  [top CP1255]
+  {{0x68,0x69,0x6e,0x64,0x69,0x5f,0x5f,0x5f, 0x11,0xb5,0x21,0xab,0xa1,0xa1,0x10,0xf3,0x97,0x8d,0x83,0x00,}}, // "hindi___"
+      // Latin1=181  CP1252=171  ISO-8859-15=161  JAGRAN=151  BHASKAR=141  HTCHANAKYA=131  [top Latin1]
+  {{0x68,0x75,0x6e,0x67,0x61,0x72,0x69,0x61, 0x03,0x93,0x9f,0xad,0x11,0x6f,0x41,0xae,0x21,0xa9,0x21,0x40,}}, // "hungaria"
+      // ASCII-7-bit=147  Latin1=159  UTF8=173  CP1252=111  Latin2=174  CP1250=169  ISO-8859-15=64  [top Latin2]
+  {{0x69,0x63,0x65,0x6c,0x61,0x6e,0x64,0x69, 0x03,0x7f,0xb8,0x9c,0x11,0xa4,0x11,0x1d,0x51,0x2f,0x21,0x99,}}, // "icelandi"
+      // ASCII-7-bit=127  Latin1=184  UTF8=156  CP1252=164  SJS=29  CP1250=47  ISO-8859-15=153  [top Latin1]
+  {{0x69,0x6e,0x64,0x6f,0x6e,0x65,0x73,0x69, 0x03,0xb2,0xae,0x99,0x11,0xa2,0x11,0x5b,0x41,0x70,0x31,0x91,}}, // "indonesi"
+      // ASCII-7-bit=178  Latin1=174  UTF8=153  CP1252=162  SJS=91  CP1256=112  ISO-8859-15=145  [top ASCII-7-bit]
+  {{0x69,0x6e,0x74,0x65,0x72,0x6c,0x69,0x6e, 0x12,0xb0,0xb0,0x11,0xa6,0xa1,0x9c,0x00,0x00,0x00,0x00,0x00,}}, // "interlin"
+      // Latin1=176  UTF8=176  CP1252=166  ISO-8859-15=156  [top Latin1]
+  {{0x69,0x6e,0x75,0x6b,0x74,0x69,0x74,0x75, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "inuktitu"
+      // UTF8=191  [top UTF8]
+  {{0x69,0x6e,0x75,0x70,0x69,0x61,0x6b,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "inupiak_"
+      // UTF8=191  [top UTF8]
+  {{0x69,0x72,0x69,0x73,0x68,0x5f,0x5f,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "irish___"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x69,0x74,0x61,0x6c,0x69,0x61,0x6e,0x5f, 0x03,0xa7,0xb4,0xa4,0x11,0xa4,0x41,0x4d,0x21,0x55,0x21,0x78,}}, // "italian_"
+      // ASCII-7-bit=167  Latin1=180  UTF8=164  CP1252=164  Latin2=77  CP1250=85  ISO-8859-15=120  [top Latin1]
+  {{0x6a,0x61,0x70,0x61,0x6e,0x65,0x73,0x65, 0x01,0x68,0x11,0xa7,0x32,0xb4,0xad,0xd1,0x78,0x21,0x62,0x00,}}, // "japanese"
+      // ASCII-7-bit=104  UTF8=167  SJS=180  EUC-JP=173  JIS=120  CP932=98  [top SJS]
+  {{0x6a,0x61,0x76,0x61,0x6e,0x65,0x73,0x65, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "javanese"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x6b,0x61,0x6e,0x6e,0x61,0x64,0x61,0x5f, 0x03,0x65,0xb6,0x81,0x11,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,}}, // "kannada_"
+      // ASCII-7-bit=101  Latin1=182  UTF8=129  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x6b,0x61,0x73,0x68,0x6d,0x69,0x72,0x69, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "kashmiri"
+      // UTF8=191  [top UTF8]
+  {{0x6b,0x61,0x7a,0x61,0x6b,0x68,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "kazakh__"
+      // UTF8=191  [top UTF8]
+  {{0x6b,0x68,0x61,0x73,0x69,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "khasi___"
+      // UTF8=191  [top UTF8]
+  {{0x6b,0x68,0x6d,0x65,0x72,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "khmer___"
+      // UTF8=191  [top UTF8]
+  {{0x6b,0x69,0x6e,0x79,0x61,0x72,0x77,0x61, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "kinyarwa"
+      // UTF8=191  [top UTF8]
+  {{0x6b,0x6f,0x72,0x65,0x61,0x6e,0x5f,0x5f, 0x06,0x5d,0x34,0x9d,0x20,0x1a,0xbd,0x11,0x0c,0x20,0x21,0x76,}}, // "korean__"
+      // ASCII-7-bit=93  Latin1=52  UTF8=157  GB=32  CP1252=26  KSC=189  EUC-JP=12  ISO-2022-KR=118  [top KSC]
+  {{0x6b,0x75,0x72,0x64,0x69,0x73,0x68,0x5f, 0xb1,0xb9,0x10,0x61,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "kurdish_"
+      // CP1256=185  Arabic=175  [top CP1256]
+  {{0x6b,0x79,0x72,0x67,0x79,0x7a,0x5f,0x5f, 0x10,0x61,0xaf,0x41,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "kyrgyz__"
+      // CP1254=175  ISO-8859-5=185  [top ISO-8859-5]
+  {{0x6c,0x61,0x6f,0x74,0x68,0x69,0x61,0x6e, 0x01,0x40,0x11,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "laothian"
+      // ASCII-7-bit=64  UTF8=190  [top UTF8]
+  {{0x6c,0x61,0x74,0x69,0x6e,0x5f,0x5f,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "latin___"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x6c,0x61,0x74,0x76,0x69,0x61,0x6e,0x5f, 0x03,0x80,0x55,0xac,0x11,0x64,0xb1,0xb4,0xc2,0x99,0xa3,0x00,}}, // "latvian_"
+      // ASCII-7-bit=128  Latin1=85  UTF8=172  CP1252=100  CP1257=180  ISO-8859-13=153  Latin4=163  [top CP1257]
+  {{0x6c,0x69,0x6d,0x62,0x75,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "limbu___"
+      // UTF8=191  [top UTF8]
+  {{0x6c,0x69,0x6e,0x67,0x61,0x6c,0x61,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "lingala_"
+      // UTF8=191  [top UTF8]
+  {{0x6c,0x69,0x74,0x68,0x75,0x61,0x6e,0x69, 0x03,0x7c,0x5d,0xaa,0x11,0x73,0xb1,0xb7,0xc2,0x94,0x9d,0x00,}}, // "lithuani"
+      // ASCII-7-bit=124  Latin1=93  UTF8=170  CP1252=115  CP1257=183  ISO-8859-13=148  Latin4=157  [top CP1257]
+  {{0x6c,0x75,0x78,0x65,0x6d,0x62,0x6f,0x75, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "luxembou"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x6d,0x61,0x63,0x65,0x64,0x6f,0x6e,0x69, 0x03,0x7a,0x54,0xa9,0x11,0x4b,0x51,0xb3,0x71,0x9e,0x81,0xa8,}}, // "macedoni"
+      // ASCII-7-bit=122  Latin1=84  UTF8=169  CP1252=75  CP1251=179  KOI8R=158  ISO-8859-5=168  [top CP1251]
+  {{0x6d,0x61,0x6c,0x61,0x67,0x61,0x73,0x79, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "malagasy"
+      // UTF8=191  [top UTF8]
+  {{0x6d,0x61,0x6c,0x61,0x79,0x5f,0x5f,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "malay___"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x6d,0x61,0x6c,0x61,0x79,0x61,0x6c,0x61, 0x03,0x48,0xb6,0x81,0x11,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,}}, // "malayala"
+      // ASCII-7-bit=72  Latin1=182  UTF8=129  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x6d,0x61,0x6c,0x74,0x65,0x73,0x65,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "maltese_"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x6d,0x61,0x6e,0x78,0x5f,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "manx____"
+      // UTF8=191  [top UTF8]
+  {{0x6d,0x61,0x6f,0x72,0x69,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "maori___"
+      // UTF8=191  [top UTF8]
+  {{0x6d,0x61,0x72,0x61,0x74,0x68,0x69,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "marathi_"
+      // UTF8=191  [top UTF8]
+  {{0x6d,0x6f,0x6c,0x64,0x61,0x76,0x69,0x61, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "moldavia"
+      // UTF8=191  [top UTF8]
+  {{0x6d,0x6f,0x6e,0x67,0x6f,0x6c,0x69,0x61, 0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mongolia"
+      // CP1251=191  [top CP1251]
+  {{0x6e,0x61,0x75,0x72,0x75,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "nauru___"
+      // UTF8=191  [top UTF8]
+  {{0x6e,0x65,0x70,0x61,0x6c,0x69,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "nepali__"
+      // UTF8=191  [top UTF8]
+  {{0x6e,0x6f,0x72,0x77,0x65,0x67,0x69,0x61, 0x03,0x92,0xb8,0xa8,0x11,0x9c,0x41,0x30,0x31,0x24,0x11,0x8e,}}, // "norwegia"
+      // ASCII-7-bit=146  Latin1=184  UTF8=168  CP1252=156  Latin2=48  Latin5=36  ISO-8859-15=142  [top Latin1]
+  {{0x6f,0x63,0x63,0x69,0x74,0x61,0x6e,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "occitan_"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x6f,0x72,0x69,0x79,0x61,0x5f,0x5f,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "oriya___"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x6f,0x72,0x6f,0x6d,0x6f,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "oromo___"
+      // UTF8=191  [top UTF8]
+  {{0x70,0x61,0x73,0x68,0x74,0x6f,0x5f,0x5f, 0xb1,0xb9,0x10,0x61,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "pashto__"
+      // CP1256=185  Arabic=175  [top CP1256]
+  {{0x70,0x65,0x72,0x73,0x69,0x61,0x6e,0x5f, 0x12,0x44,0xb6,0x11,0x33,0x62,0xae,0x19,0x10,0x51,0x9f,0x00,}}, // "persian_"
+      // Latin1=68  UTF8=182  CP1252=51  CP1256=174  CP1250=25  Arabic=159  [top UTF8]
+  {{0x70,0x6f,0x6c,0x69,0x73,0x68,0x5f,0x5f, 0x05,0x85,0x6c,0xa8,0x26,0x57,0x41,0xb9,0x21,0x99,0x31,0x23,}}, // "polish__"
+      // ASCII-7-bit=133  Latin1=108  UTF8=168  GB=38  CP1252=87  Latin2=185  CP1250=153  CP1257=35  [top Latin2]
+  {{0x70,0x6f,0x72,0x74,0x75,0x67,0x75,0x65, 0x03,0x96,0xb9,0xa6,0x11,0x9a,0x11,0x30,0x51,0x36,0x21,0x86,}}, // "portugue"
+      // ASCII-7-bit=150  Latin1=185  UTF8=166  CP1252=154  SJS=48  CP1250=54  ISO-8859-15=134  [top Latin1]
+  {{0x70,0x75,0x6e,0x6a,0x61,0x62,0x69,0x5f, 0x03,0x42,0xb6,0x7b,0x11,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,}}, // "punjabi_"
+      // ASCII-7-bit=66  Latin1=182  UTF8=123  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x71,0x75,0x65,0x63,0x68,0x75,0x61,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "quechua_"
+      // UTF8=191  [top UTF8]
+  {{0x72,0x68,0x61,0x65,0x74,0x6f,0x72,0x6f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "rhaetoro"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x72,0x6f,0x6d,0x61,0x6e,0x69,0x61,0x6e, 0x03,0xb2,0x9d,0xa5,0x11,0x92,0x42,0xa7,0x51,0x11,0x99,0x00,}}, // "romanian"
+      // ASCII-7-bit=178  Latin1=157  UTF8=165  CP1252=146  Latin2=167  CP1251=81  CP1250=153  [top ASCII-7-bit]
+  {{0x72,0x75,0x6e,0x64,0x69,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "rundi___"
+      // UTF8=191  [top UTF8]
+  {{0x72,0x75,0x73,0x73,0x69,0x61,0x6e,0x5f, 0x01,0x74,0x11,0xa9,0x71,0xb9,0x71,0x99,0x81,0x82,0x81,0x6d,}}, // "russian_"
+      // ASCII-7-bit=116  UTF8=169  CP1251=185  KOI8R=153  ISO-8859-5=130  CP866=109  [top CP1251]
+  {{0x73,0x61,0x6d,0x6f,0x61,0x6e,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "samoan__"
+      // UTF8=191  [top UTF8]
+  {{0x73,0x61,0x6e,0x67,0x6f,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sango___"
+      // UTF8=191  [top UTF8]
+  {{0x73,0x61,0x6e,0x73,0x6b,0x72,0x69,0x74, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sanskrit"
+      // UTF8=191  [top UTF8]
+  {{0x73,0x63,0x6f,0x74,0x73,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "scots___"
+      // UTF8=191  [top UTF8]
+  {{0x73,0x63,0x6f,0x74,0x73,0x67,0x61,0x65, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "scotsgae"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x73,0x65,0x72,0x62,0x69,0x61,0x6e,0x5f, 0x03,0x93,0x77,0xad,0x11,0x85,0x42,0xad,0x52,0x12,0xae,0x4a,}}, // "serbian_"
+      // ASCII-7-bit=147  Latin1=119  UTF8=173  CP1252=133  Latin2=173  CP1251=82  CP1250=174  Latin5=74  [top CP1250]
+  {{0x73,0x65,0x72,0x62,0x6f,0x63,0x72,0x6f, 0x91,0xaf,0x21,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "serbocro"
+      // Latin2=175  CP1250=185  [top CP1250]
+  {{0x73,0x65,0x73,0x6f,0x74,0x68,0x6f,0x5f, 0x11,0xb9,0x21,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sesotho_"
+      // Latin1=185  CP1252=175  [top Latin1]
+  {{0x73,0x68,0x6f,0x6e,0x61,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "shona___"
+      // UTF8=191  [top UTF8]
+  {{0x73,0x69,0x6e,0x64,0x68,0x69,0x5f,0x5f, 0xb1,0xb9,0x10,0x61,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sindhi__"
+      // CP1256=185  Arabic=175  [top CP1256]
+  {{0x73,0x69,0x6e,0x68,0x61,0x6c,0x65,0x73, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sinhales"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x73,0x69,0x73,0x77,0x61,0x6e,0x74,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "siswant_"
+      // UTF8=191  [top UTF8]
+  {{0x73,0x6c,0x6f,0x76,0x61,0x6b,0x5f,0x5f, 0x03,0x88,0x6e,0xaf,0x11,0x67,0x41,0xa5,0x21,0xb3,0x00,0x00,}}, // "slovak__"
+      // ASCII-7-bit=136  Latin1=110  UTF8=175  CP1252=103  Latin2=165  CP1250=179  [top CP1250]
+  {{0x73,0x6c,0x6f,0x76,0x65,0x6e,0x69,0x61, 0x03,0x8e,0x71,0xb2,0x11,0x80,0x42,0xaa,0x39,0x11,0xad,0x00,}}, // "slovenia"
+      // ASCII-7-bit=142  Latin1=113  UTF8=178  CP1252=128  Latin2=170  CP1251=57  CP1250=173  [top UTF8]
+  {{0x73,0x6f,0x6d,0x61,0x6c,0x69,0x5f,0x5f, 0x11,0xb9,0x21,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "somali__"
+      // Latin1=185  CP1252=175  [top Latin1]
+  {{0x73,0x70,0x61,0x6e,0x69,0x73,0x68,0x5f, 0x03,0x9b,0xb8,0xa7,0x11,0x98,0x41,0x45,0x21,0x45,0x21,0x77,}}, // "spanish_"
+      // ASCII-7-bit=155  Latin1=184  UTF8=167  CP1252=152  Latin2=69  CP1250=69  ISO-8859-15=119  [top Latin1]
+  {{0x73,0x75,0x6e,0x64,0x61,0x6e,0x65,0x73, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sundanes"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x73,0x77,0x61,0x68,0x69,0x6c,0x69,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "swahili_"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x73,0x77,0x65,0x64,0x69,0x73,0x68,0x5f, 0x03,0x90,0xba,0xa4,0x11,0x8d,0x41,0x2c,0x21,0x2c,0x21,0x7a,}}, // "swedish_"
+      // ASCII-7-bit=144  Latin1=186  UTF8=164  CP1252=141  Latin2=44  CP1250=44  ISO-8859-15=122  [top Latin1]
+  {{0x73,0x79,0x72,0x69,0x61,0x63,0x5f,0x5f, 0x01,0x6a,0x11,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "syriac__"
+      // ASCII-7-bit=106  UTF8=190  [top UTF8]
+  {{0x74,0x61,0x67,0x61,0x6c,0x6f,0x67,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tagalog_"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x74,0x61,0x6a,0x69,0x6b,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tajik___"
+      // UTF8=191  [top UTF8]
+  {{0x74,0x61,0x6d,0x69,0x6c,0x5f,0x5f,0x5f, 0x12,0xb4,0x8e,0x11,0xaa,0xa1,0xa0,0x20,0x23,0x96,0x8c,0x82,}}, // "tamil___"
+      // Latin1=180  UTF8=142  CP1252=170  ISO-8859-15=160  TSCII=150  TAM=140  TAB=130  [top Latin1]
+  {{0x74,0x61,0x74,0x61,0x72,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tatar___"
+      // UTF8=191  [top UTF8]
+  {{0x74,0x65,0x6c,0x75,0x67,0x75,0x5f,0x5f, 0x03,0x66,0xb6,0x90,0x11,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,}}, // "telugu__"
+      // ASCII-7-bit=102  Latin1=182  UTF8=144  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x74,0x68,0x61,0x69,0x5f,0x5f,0x5f,0x5f, 0x05,0x7a,0x53,0xa2,0x24,0x46,0x91,0xba,0xd1,0x9e,0x21,0x29,}}, // "thai____"
+      // ASCII-7-bit=122  Latin1=83  UTF8=162  GB=36  CP1252=70  ISO-8859-11=186  CP874=158  MACINTOSH=41  [top ISO-8859-11]
+  {{0x74,0x69,0x62,0x65,0x74,0x61,0x6e,0x5f, 0x01,0x42,0x11,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tibetan_"
+      // ASCII-7-bit=66  UTF8=190  [top UTF8]
+  {{0x74,0x69,0x67,0x72,0x69,0x6e,0x79,0x61, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tigrinya"
+      // UTF8=191  [top UTF8]
+  {{0x74,0x6f,0x6e,0x67,0x61,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tonga___"
+      // UTF8=191  [top UTF8]
+  {{0x74,0x73,0x6f,0x6e,0x67,0x61,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tsonga__"
+      // UTF8=191  [top UTF8]
+  {{0x74,0x73,0x77,0x61,0x6e,0x61,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tswana__"
+      // UTF8=191  [top UTF8]
+  {{0x74,0x75,0x72,0x6b,0x69,0x73,0x68,0x5f, 0x03,0x81,0x7f,0xa5,0x11,0x6e,0x81,0xba,0x11,0x3d,0x61,0x95,}}, // "turkish_"
+      // ASCII-7-bit=129  Latin1=127  UTF8=165  CP1252=110  Latin5=186  ISO-8859-15=61  CP1254=149  [top Latin5]
+  {{0x74,0x75,0x72,0x6b,0x6d,0x65,0x6e,0x5f, 0x91,0xb9,0x21,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "turkmen_"
+      // Latin2=185  CP1250=175  [top Latin2]
+  {{0x74,0x77,0x69,0x5f,0x5f,0x5f,0x5f,0x5f, 0x11,0xac,0x21,0xb6,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "twi_____"
+      // Latin1=172  CP1252=182  ISO-8859-15=162  [top CP1252]
+  {{0x75,0x69,0x67,0x68,0x75,0x72,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "uighur__"
+      // UTF8=191  [top UTF8]
+  {{0x75,0x6b,0x72,0x61,0x69,0x6e,0x69,0x61, 0x21,0xa0,0x71,0xb7,0x71,0x91,0x72,0x98,0xa2,0x81,0x84,0x00,}}, // "ukrainia"
+      // UTF8=160  CP1251=183  KOI8R=145  KOI8U=152  ISO-8859-5=162  CP866=132  [top CP1251]
+  {{0x75,0x72,0x64,0x75,0x5f,0x5f,0x5f,0x5f, 0xb1,0xb9,0x10,0x61,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "urdu____"
+      // CP1256=185  Arabic=175  [top CP1256]
+  {{0x75,0x7a,0x62,0x65,0x6b,0x5f,0x5f,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "uzbek___"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x76,0x69,0x65,0x74,0x6e,0x61,0x6d,0x65, 0x03,0x81,0xa8,0xb7,0x11,0x9e,0xa1,0x94,0x00,0x00,0x00,0x00,}}, // "vietname"
+      // ASCII-7-bit=129  Latin1=168  UTF8=183  CP1252=158  ISO-8859-15=148  [top UTF8]
+  {{0x76,0x6f,0x6c,0x61,0x70,0x75,0x6b,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "volapuk_"
+      // UTF8=191  [top UTF8]
+  {{0x77,0x65,0x6c,0x73,0x68,0x5f,0x5f,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "welsh___"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x77,0x6f,0x6c,0x6f,0x66,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wolof___"
+      // UTF8=191  [top UTF8]
+  {{0x78,0x68,0x6f,0x73,0x61,0x5f,0x5f,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "xhosa___"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+  {{0x79,0x69,0x64,0x64,0x69,0x73,0x68,0x5f, 0x10,0x11,0xb9,0x71,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "yiddish_"
+      // CP1255=185  Hebrew=175  [top CP1255]
+  {{0x79,0x6f,0x72,0x75,0x62,0x61,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "yoruba__"
+      // UTF8=191  [top UTF8]
+  {{0x7a,0x68,0x75,0x61,0x6e,0x67,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "zhuang__"
+      // UTF8=191  [top UTF8]
+  {{0x7a,0x75,0x6c,0x75,0x5f,0x5f,0x5f,0x5f, 0x11,0xb6,0x21,0xac,0xa1,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "zulu____"
+      // Latin1=182  CP1252=172  ISO-8859-15=162  [top Latin1]
+};
+
+static const int kLangHintProbsSize = 151;
+
+static const HintEntry kTLDHintProbs[] = {     // MaxRange 192
+  {{0x5f,0x5f,0x5f,0x5f, 0x0f,0xa8,0xa1,0xa3,0xa0,0x8e,0x8e,0x8a,0x7e,0xa8,0x77,0x7b,0x8b,0x75,0x79,0x7e,}}, // "____"
+        // ASCII-7-bit=168  Latin1=161  UTF8=163  GB=160  CP1252=142  KSC=142  SJS=138  EUC-JP=126  BIG5=168  Latin2=119  CP1251=123  CP1256=139  CP1250=117  Latin5=121  ISO-8859-11=126  [top ASCII-7-bit]
+  {{0x61,0x63,0x5f,0x5f, 0x08,0xa0,0x9a,0xa1,0x65,0x92,0x8f,0xb1,0xa2,0x22,0x56,0x8a,0x21,0x56,0x61,0x87,}}, // "ac__"
+        // ASCII-7-bit=160  Latin1=154  UTF8=161  GB=101  CP1252=146  KSC=143  SJS=177  EUC-JP=162  CP1251=86  CP1256=138  ISO-8859-11=86  JIS=135  [top SJS]
+  {{0x61,0x64,0x5f,0x5f, 0x03,0xa6,0xb6,0x93,0x11,0xa8,0x11,0x74,0x81,0x5d,0x81,0x5d,0x00,0x00,0x00,0x00,}}, // "ad__"
+        // ASCII-7-bit=166  Latin1=182  UTF8=147  CP1252=168  SJS=116  ISO-8859-15=93  CP932=93  [top Latin1]
+  {{0x61,0x65,0x5f,0x5f, 0x05,0xa4,0x81,0xac,0x42,0x86,0x11,0x5b,0x25,0x4f,0x4a,0xb5,0x3b,0x52,0x00,0x00,}}, // "ae__"
+        // ASCII-7-bit=164  Latin1=129  UTF8=172  GB=66  CP1252=134  SJS=91  Latin2=79  CP1251=74  CP1256=181  CP1250=59  Latin5=82  [top CP1256]
+  {{0x61,0x65,0x72,0x6f, 0x03,0xaf,0xab,0xab,0x12,0x98,0x6a,0x11,0x6a,0x21,0x96,0x21,0x6a,0x00,0x00,0x00,}}, // "aero"
+        // ASCII-7-bit=175  Latin1=171  UTF8=171  CP1252=152  KSC=106  EUC-JP=106  CP1251=150  Latin5=106  [top ASCII-7-bit]
+  {{0x61,0x66,0x5f,0x5f, 0x03,0xb6,0x95,0xaf,0x11,0x8c,0x61,0x80,0x11,0x62,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "af__"
+        // ASCII-7-bit=182  Latin1=149  UTF8=175  CP1252=140  CP1256=128  Latin5=98  [top ASCII-7-bit]
+  {{0x61,0x67,0x5f,0x5f, 0x03,0xa8,0xb4,0xa2,0x11,0x9a,0x12,0x95,0x86,0x21,0x60,0x41,0x7a,0x00,0x00,0x00,}}, // "ag__"
+        // ASCII-7-bit=168  Latin1=180  UTF8=162  CP1252=154  SJS=149  EUC-JP=134  CP1251=96  ISO-8859-15=122  [top Latin1]
+  {{0x61,0x69,0x5f,0x5f, 0x03,0xb8,0x8f,0x9b,0x11,0x9d,0x12,0x8c,0x97,0x11,0x90,0xb1,0x67,0x00,0x00,0x00,}}, // "ai__"
+        // ASCII-7-bit=184  Latin1=143  UTF8=155  CP1252=157  SJS=140  EUC-JP=151  Latin2=144  JIS=103  [top ASCII-7-bit]
+  {{0x61,0x6c,0x5f,0x5f, 0x03,0xac,0x99,0xae,0x11,0xa1,0x31,0x57,0x41,0x57,0x21,0xa7,0x31,0x57,0x00,0x00,}}, // "al__"
+        // ASCII-7-bit=172  Latin1=153  UTF8=174  CP1252=161  BIG5=87  Latin5=87  CP1257=167  Greek=87  [top UTF8]
+  {{0x61,0x6d,0x5f,0x5f, 0x08,0xac,0x9a,0xab,0x68,0x9d,0x58,0x82,0x56,0x22,0xac,0x5a,0x00,0x00,0x00,0x00,}}, // "am__"
+        // ASCII-7-bit=172  Latin1=154  UTF8=171  GB=104  CP1252=157  KSC=88  SJS=130  EUC-JP=86  CP1251=172  CP1256=90  [top ASCII-7-bit]
+  {{0x61,0x6e,0x5f,0x5f, 0x03,0xb6,0xad,0x94,0x11,0x99,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "an__"
+        // ASCII-7-bit=182  Latin1=173  UTF8=148  CP1252=153  [top ASCII-7-bit]
+  {{0x61,0x6f,0x5f,0x5f, 0x03,0x9f,0xb5,0xab,0x11,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ao__"
+        // ASCII-7-bit=159  Latin1=181  UTF8=171  CP1252=159  [top Latin1]
+  {{0x61,0x71,0x5f,0x5f, 0x03,0xb7,0xa9,0x9c,0x11,0x8a,0x51,0x97,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "aq__"
+        // ASCII-7-bit=183  Latin1=169  UTF8=156  CP1252=138  CP1251=151  [top ASCII-7-bit]
+  {{0x61,0x72,0x5f,0x5f, 0x03,0xa0,0xb9,0x9e,0x13,0x98,0x55,0x2c,0x13,0x28,0x26,0x27,0x11,0x2e,0x21,0x42,}}, // "ar__"
+        // ASCII-7-bit=160  Latin1=185  UTF8=158  CP1252=152  KSC=85  SJS=44  BIG5=40  Latin2=38  CP1251=39  CP1250=46  ISO-8859-15=66  [top Latin1]
+  {{0x61,0x73,0x5f,0x5f, 0x03,0xa9,0xb7,0x9f,0x11,0x94,0x11,0x52,0x22,0x64,0x52,0x12,0x7d,0x74,0x21,0x52,}}, // "as__"
+        // ASCII-7-bit=169  Latin1=183  UTF8=159  CP1252=148  SJS=82  Latin2=100  CP1251=82  CP1250=125  Latin5=116  CP1257=82  [top Latin1]
+  {{0x61,0x74,0x5f,0x5f, 0x03,0xa1,0xb8,0xa5,0x11,0x9a,0x11,0x48,0x21,0x51,0x13,0x45,0x53,0x4a,0x11,0x62,}}, // "at__"
+        // ASCII-7-bit=161  Latin1=184  UTF8=165  CP1252=154  SJS=72  Latin2=81  CP1256=69  CP1250=83  Latin5=74  ISO-8859-15=98  [top Latin1]
+  {{0x61,0x75,0x5f,0x5f, 0x09,0xb8,0xa3,0x9f,0x4e,0x9a,0x55,0x54,0x3e,0x5e,0x22,0x30,0x3d,0x21,0x36,0x00,}}, // "au__"
+        // ASCII-7-bit=184  Latin1=163  UTF8=159  GB=78  CP1252=154  KSC=85  SJS=84  EUC-JP=62  BIG5=94  CP1256=48  CP1250=61  ISO-8859-15=54  [top ASCII-7-bit]
+  {{0x61,0x77,0x5f,0x5f, 0x03,0xb6,0xa2,0xaa,0x11,0x99,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "aw__"
+        // ASCII-7-bit=182  Latin1=162  UTF8=170  CP1252=153  [top ASCII-7-bit]
+  {{0x61,0x78,0x5f,0x5f, 0x03,0x9d,0xba,0xa2,0x11,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ax__"
+        // ASCII-7-bit=157  Latin1=186  UTF8=162  CP1252=144  [top Latin1]
+  {{0x61,0x7a,0x5f,0x5f, 0x03,0x9a,0x7d,0xb8,0x11,0x86,0x54,0xa8,0x54,0x54,0x91,0x41,0x4c,0x31,0x6c,0x00,}}, // "az__"
+        // ASCII-7-bit=154  Latin1=125  UTF8=184  CP1252=134  CP1251=168  CP1256=84  CP1250=84  Latin5=145  KOI8R=76  CP1254=108  [top UTF8]
+  {{0x62,0x61,0x5f,0x5f, 0x03,0xa0,0x7e,0xb2,0x11,0x78,0x44,0x89,0x66,0x49,0xb1,0x00,0x00,0x00,0x00,0x00,}}, // "ba__"
+        // ASCII-7-bit=160  Latin1=126  UTF8=178  CP1252=120  Latin2=137  CP1251=102  CP1256=73  CP1250=177  [top UTF8]
+  {{0x62,0x62,0x5f,0x5f, 0x03,0xba,0xa0,0x7f,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bb__"
+        // ASCII-7-bit=186  Latin1=160  UTF8=127  CP1252=160  [top ASCII-7-bit]
+  {{0x62,0x64,0x5f,0x5f, 0x03,0xbd,0x94,0x8c,0x11,0x8a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bd__"
+        // ASCII-7-bit=189  Latin1=148  UTF8=140  CP1252=138  [top ASCII-7-bit]
+  {{0x62,0x65,0x5f,0x5f, 0x03,0xb1,0xb0,0xa1,0x11,0x9d,0x11,0x5f,0x22,0x4e,0x50,0x12,0x4d,0x59,0x11,0x5f,}}, // "be__"
+        // ASCII-7-bit=177  Latin1=176  UTF8=161  CP1252=157  SJS=95  Latin2=78  CP1251=80  CP1250=77  Latin5=89  ISO-8859-15=95  [top ASCII-7-bit]
+  {{0x62,0x66,0x5f,0x5f, 0x03,0x9f,0xb9,0x63,0x11,0xa6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bf__"
+        // ASCII-7-bit=159  Latin1=185  UTF8=99  CP1252=166  [top Latin1]
+  {{0x62,0x67,0x5f,0x5f, 0x05,0x96,0x70,0xab,0x4a,0x74,0x51,0xb9,0x11,0x4f,0x51,0x44,0x31,0x45,0x41,0x54,}}, // "bg__"
+        // ASCII-7-bit=150  Latin1=112  UTF8=171  GB=74  CP1252=116  CP1251=185  CP1250=79  KOI8R=68  CP1254=69  ISO-8859-5=84  [top CP1251]
+  {{0x62,0x68,0x5f,0x5f, 0x03,0x9f,0x94,0xa5,0x11,0x84,0x11,0x53,0x41,0xb8,0x10,0x61,0x70,0x00,0x00,0x00,}}, // "bh__"
+        // ASCII-7-bit=159  Latin1=148  UTF8=165  CP1252=132  SJS=83  CP1256=184  Arabic=112  [top CP1256]
+  {{0x62,0x69,0x5f,0x5f, 0x03,0xa4,0xa5,0xb8,0x12,0x82,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bi__"
+        // ASCII-7-bit=164  Latin1=165  UTF8=184  CP1252=130  KSC=101  [top UTF8]
+  {{0x62,0x69,0x7a,0x5f, 0x0e,0xae,0xa5,0xa1,0x77,0x96,0x7f,0x95,0x9c,0x7a,0x8e,0x8b,0x80,0x80,0x92,0x00,}}, // "biz_"
+        // ASCII-7-bit=174  Latin1=165  UTF8=161  GB=119  CP1252=150  KSC=127  SJS=149  EUC-JP=156  BIG5=122  Latin2=142  CP1251=139  CP1256=128  CP1250=128  Latin5=146  [top ASCII-7-bit]
+  {{0x62,0x6a,0x5f,0x5f, 0x03,0x9b,0xb6,0x8a,0x11,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bj__"
+        // ASCII-7-bit=155  Latin1=182  UTF8=138  CP1252=175  [top Latin1]
+  {{0x62,0x6d,0x5f,0x5f, 0x05,0xbb,0x95,0xa0,0x5a,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bm__"
+        // ASCII-7-bit=187  Latin1=149  UTF8=160  GB=90  CP1252=149  [top ASCII-7-bit]
+  {{0x62,0x6e,0x5f,0x5f, 0x05,0xb8,0x98,0xa6,0x6d,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bn__"
+        // ASCII-7-bit=184  Latin1=152  UTF8=166  GB=109  CP1252=160  [top ASCII-7-bit]
+  {{0x62,0x6f,0x5f,0x5f, 0x03,0x9a,0xba,0x9f,0x11,0x9c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bo__"
+        // ASCII-7-bit=154  Latin1=186  UTF8=159  CP1252=156  [top Latin1]
+  {{0x62,0x72,0x5f,0x5f, 0x07,0x9c,0xba,0x9c,0x1f,0x95,0x21,0x43,0x15,0x1c,0x20,0x17,0x0e,0x2b,0x21,0x5a,}}, // "br__"
+        // ASCII-7-bit=156  Latin1=186  UTF8=156  GB=31  CP1252=149  KSC=33  SJS=67  BIG5=28  Latin2=32  CP1251=23  CP1256=14  CP1250=43  ISO-8859-15=90  [top Latin1]
+  {{0x62,0x73,0x5f,0x5f, 0x03,0xb2,0xb4,0x9c,0x11,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bs__"
+        // ASCII-7-bit=178  Latin1=180  UTF8=156  CP1252=118  [top Latin1]
+  {{0x62,0x74,0x5f,0x5f, 0x03,0xb9,0x96,0xa7,0x11,0x94,0x11,0x6f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bt__"
+        // ASCII-7-bit=185  Latin1=150  UTF8=167  CP1252=148  SJS=111  [top ASCII-7-bit]
+  {{0x62,0x77,0x5f,0x5f, 0x03,0xbb,0x9b,0x88,0x11,0x9d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bw__"
+        // ASCII-7-bit=187  Latin1=155  UTF8=136  CP1252=157  [top ASCII-7-bit]
+  {{0x62,0x79,0x5f,0x5f, 0x03,0x8a,0x7b,0xa4,0x11,0x74,0x42,0x5d,0xb6,0x11,0x4b,0x21,0x5f,0x21,0xa9,0x00,}}, // "by__"
+        // ASCII-7-bit=138  Latin1=123  UTF8=164  CP1252=116  Latin2=93  CP1251=182  CP1250=75  ISO-8859-15=95  KOI8R=169  [top CP1251]
+  {{0x62,0x7a,0x5f,0x5f, 0x03,0xaf,0x9f,0xa1,0x19,0x90,0x89,0xa4,0x9e,0x8c,0x65,0x8d,0x64,0x70,0x51,0x7e,}}, // "bz__"
+        // ASCII-7-bit=175  Latin1=159  UTF8=161  CP1252=144  KSC=137  SJS=164  EUC-JP=158  BIG5=140  Latin2=101  CP1251=141  CP1256=100  CP1250=112  KOI8R=126  [top ASCII-7-bit]
+  {{0x63,0x61,0x5f,0x5f, 0x07,0xb3,0xac,0xa0,0x5b,0x9b,0x5f,0x49,0x15,0x56,0x3c,0x5d,0x48,0x42,0x21,0x94,}}, // "ca__"
+        // ASCII-7-bit=179  Latin1=172  UTF8=160  GB=91  CP1252=155  KSC=95  SJS=73  BIG5=86  Latin2=60  CP1251=93  CP1256=72  CP1250=66  ISO-8859-15=148  [top ASCII-7-bit]
+  {{0x63,0x61,0x74,0x5f, 0x03,0x9a,0xb4,0xad,0x11,0x9f,0x11,0x30,0x31,0x30,0x32,0x30,0x6e,0x00,0x00,0x00,}}, // "cat_"
+        // ASCII-7-bit=154  Latin1=180  UTF8=173  CP1252=159  SJS=48  CP1251=48  ISO-8859-11=48  ISO-8859-15=110  [top Latin1]
+  {{0x63,0x63,0x5f,0x5f, 0x09,0x9d,0xab,0xad,0x9b,0x86,0x80,0x90,0x9e,0x92,0x21,0x8a,0x11,0x7a,0x51,0x75,}}, // "cc__"
+        // ASCII-7-bit=157  Latin1=171  UTF8=173  GB=155  CP1252=134  KSC=128  SJS=144  EUC-JP=158  BIG5=146  CP1256=138  Latin5=122  GBK=117  [top UTF8]
+  {{0x63,0x64,0x5f,0x5f, 0x09,0xae,0xa2,0xb2,0x5a,0x95,0x5a,0x8f,0x64,0x5a,0x11,0x7d,0x11,0x74,0x11,0x5a,}}, // "cd__"
+        // ASCII-7-bit=174  Latin1=162  UTF8=178  GB=90  CP1252=149  KSC=90  SJS=143  EUC-JP=100  BIG5=90  CP1251=125  CP1250=116  ISO-8859-11=90  [top UTF8]
+  {{0x63,0x67,0x5f,0x5f, 0x03,0x83,0x8d,0xbe,0x11,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cg__"
+        // ASCII-7-bit=131  Latin1=141  UTF8=190  CP1252=131  [top UTF8]
+  {{0x63,0x68,0x5f,0x5f, 0x05,0xaa,0xb6,0xa1,0x4c,0x9a,0x11,0x46,0x25,0x49,0x3e,0x41,0x44,0x43,0x11,0x66,}}, // "ch__"
+        // ASCII-7-bit=170  Latin1=182  UTF8=161  GB=76  CP1252=154  SJS=70  Latin2=73  CP1251=62  CP1256=65  CP1250=68  Latin5=67  ISO-8859-15=102  [top Latin1]
+  {{0x63,0x69,0x5f,0x5f, 0x03,0x9c,0xae,0xb3,0x11,0xa1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ci__"
+        // ASCII-7-bit=156  Latin1=174  UTF8=179  CP1252=161  [top UTF8]
+  {{0x63,0x6b,0x5f,0x5f, 0x03,0xba,0x9c,0x9e,0x11,0x9a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ck__"
+        // ASCII-7-bit=186  Latin1=156  UTF8=158  CP1252=154  [top ASCII-7-bit]
+  {{0x63,0x6c,0x5f,0x5f, 0x03,0xa4,0xb9,0x9c,0x11,0x97,0x11,0x3e,0x27,0x1b,0x1b,0x2d,0x34,0x2b,0x21,0x3b,}}, // "cl__"
+        // ASCII-7-bit=164  Latin1=185  UTF8=156  CP1252=151  SJS=62  Latin2=27  CP1251=27  CP1256=45  CP1250=52  Latin5=43  ISO-8859-11=33  ISO-8859-15=59  [top Latin1]
+  {{0x63,0x6d,0x5f,0x5f, 0x03,0x93,0xbd,0x64,0x11,0x97,0xa1,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cm__"
+        // ASCII-7-bit=147  Latin1=189  UTF8=100  CP1252=151  ISO-8859-15=108  [top Latin1]
+  {{0x63,0x6e,0x5f,0x5f, 0x09,0x8c,0x5c,0xa7,0xba,0x4f,0x48,0x57,0x3c,0x8d,0x12,0x4e,0x4f,0x71,0x64,0x00,}}, // "cn__"
+        // ASCII-7-bit=140  Latin1=92  UTF8=167  GB=186  CP1252=79  KSC=72  SJS=87  EUC-JP=60  BIG5=141  CP1251=78  CP1256=79  GBK=100  [top GB]
+  {{0x63,0x6f,0x5f,0x5f, 0x03,0xa8,0xb7,0xa3,0x12,0x91,0x27,0x31,0x3f,0x13,0x2f,0x2a,0x2a,0x61,0x27,0x00,}}, // "co__"
+        // ASCII-7-bit=168  Latin1=183  UTF8=163  CP1252=145  KSC=39  Latin2=63  CP1256=47  CP1250=42  Latin5=42  Greek=39  [top Latin1]
+  {{0x63,0x6f,0x6d,0x5f, 0x09,0xb2,0xa5,0xa7,0x94,0x94,0x87,0x87,0x7d,0x82,0x12,0x6e,0x89,0x12,0x7f,0x70,}}, // "com_"
+        // ASCII-7-bit=178  Latin1=165  UTF8=167  GB=148  CP1252=148  KSC=135  SJS=135  EUC-JP=125  BIG5=130  CP1251=110  CP1256=137  Latin5=127  ISO-8859-11=112  [top ASCII-7-bit]
+  {{0x63,0x6f,0x6f,0x70, 0x03,0xaf,0xa8,0xa0,0x14,0x9c,0x75,0xa7,0x86,0x71,0x78,0x00,0x00,0x00,0x00,0x00,}}, // "coop"
+        // ASCII-7-bit=175  Latin1=168  UTF8=160  CP1252=156  KSC=117  SJS=167  EUC-JP=134  ISO-8859-15=120  [top ASCII-7-bit]
+  {{0x63,0x72,0x5f,0x5f, 0x03,0x99,0xb7,0xad,0x11,0x84,0x81,0x28,0x11,0x28,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cr__"
+        // ASCII-7-bit=153  Latin1=183  UTF8=173  CP1252=132  Latin5=40  ISO-8859-15=40  [top Latin1]
+  {{0x63,0x75,0x5f,0x5f, 0x03,0xa0,0xb7,0x9f,0x11,0xa6,0x53,0x31,0x45,0x45,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cu__"
+        // ASCII-7-bit=160  Latin1=183  UTF8=159  CP1252=166  CP1251=49  CP1256=69  CP1250=69  [top Latin1]
+  {{0x63,0x76,0x5f,0x5f, 0x03,0x90,0xbc,0x8f,0x11,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cv__"
+        // ASCII-7-bit=144  Latin1=188  UTF8=143  CP1252=152  [top Latin1]
+  {{0x63,0x78,0x5f,0x5f, 0x03,0xae,0xa2,0xa5,0x15,0x87,0x76,0x9f,0x9a,0x83,0x41,0x85,0x11,0x7e,0x51,0x99,}}, // "cx__"
+        // ASCII-7-bit=174  Latin1=162  UTF8=165  CP1252=135  KSC=118  SJS=159  EUC-JP=154  BIG5=131  Latin5=133  ISO-8859-15=126  JIS=153  [top ASCII-7-bit]
+  {{0x63,0x79,0x5f,0x5f, 0x03,0xaa,0x88,0xac,0x11,0x86,0x51,0x63,0x21,0x5c,0x61,0x9e,0x12,0x52,0xae,0x00,}}, // "cy__"
+        // ASCII-7-bit=170  Latin1=136  UTF8=172  CP1252=134  CP1251=99  Latin5=92  Greek=158  CP1254=82  CP1253=174  [top CP1253]
+  {{0x63,0x7a,0x5f,0x5f, 0x03,0x8f,0x74,0xb2,0x11,0x56,0x42,0x8c,0x4a,0x11,0xb5,0x10,0x21,0x3f,0x11,0x41,}}, // "cz__"
+        // ASCII-7-bit=143  Latin1=116  UTF8=178  CP1252=86  Latin2=140  CP1251=74  CP1250=181  MACINTOSH=63  CP852=65  [top CP1250]
+  {{0x64,0x65,0x5f,0x5f, 0x06,0xa4,0xb7,0xa4,0x40,0x9a,0x36,0x35,0x4b,0x4d,0x43,0x4d,0x4f,0x11,0x79,0x00,}}, // "de__"
+        // ASCII-7-bit=164  Latin1=183  UTF8=164  GB=64  CP1252=154  KSC=54  Latin2=75  CP1251=77  CP1256=67  CP1250=77  Latin5=79  ISO-8859-15=121  [top Latin1]
+  {{0x64,0x6a,0x5f,0x5f, 0x08,0xa3,0xad,0xa9,0x90,0xa2,0x7d,0x7a,0x68,0x21,0xa0,0x11,0x5e,0xb1,0x5e,0x00,}}, // "dj__"
+        // ASCII-7-bit=163  Latin1=173  UTF8=169  GB=144  CP1252=162  KSC=125  SJS=122  EUC-JP=104  CP1251=160  CP1250=94  CP932=94  [top Latin1]
+  {{0x64,0x6b,0x5f,0x5f, 0x03,0x9d,0xb8,0xa7,0x11,0x93,0x11,0x39,0x25,0x38,0x34,0x57,0x43,0x3d,0x11,0x54,}}, // "dk__"
+        // ASCII-7-bit=157  Latin1=184  UTF8=167  CP1252=147  SJS=57  Latin2=56  CP1251=52  CP1256=87  CP1250=67  Latin5=61  ISO-8859-15=84  [top Latin1]
+  {{0x64,0x6d,0x5f,0x5f, 0x03,0xbc,0x76,0xa3,0x11,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "dm__"
+        // ASCII-7-bit=188  Latin1=118  UTF8=163  CP1252=131  [top ASCII-7-bit]
+  {{0x64,0x6f,0x5f,0x5f, 0x05,0xa4,0xb6,0xa9,0x6b,0x93,0x31,0x43,0x61,0x57,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "do__"
+        // ASCII-7-bit=164  Latin1=182  UTF8=169  GB=107  CP1252=147  BIG5=67  ISO-8859-15=87  [top Latin1]
+  {{0x64,0x7a,0x5f,0x5f, 0x03,0x9e,0xb6,0x8d,0x11,0xa1,0x62,0xa6,0x4e,0x10,0x51,0x58,0x00,0x00,0x00,0x00,}}, // "dz__"
+        // ASCII-7-bit=158  Latin1=182  UTF8=141  CP1252=161  CP1256=166  CP1250=78  Arabic=88  [top Latin1]
+  {{0x65,0x63,0x5f,0x5f, 0x03,0xa2,0xba,0x9c,0x11,0x96,0x35,0x3c,0x32,0x5a,0x32,0x3c,0x00,0x00,0x00,0x00,}}, // "ec__"
+        // ASCII-7-bit=162  Latin1=186  UTF8=156  CP1252=150  BIG5=60  Latin2=50  CP1251=90  CP1256=50  CP1250=60  [top Latin1]
+  {{0x65,0x64,0x75,0x5f, 0x07,0xbb,0x97,0x99,0x51,0x94,0x6b,0x49,0x11,0x4e,0x21,0x4f,0x13,0x4c,0x41,0x44,}}, // "edu_"
+        // ASCII-7-bit=187  Latin1=151  UTF8=153  GB=81  CP1252=148  KSC=107  SJS=73  BIG5=78  CP1256=79  Latin5=76  ISO-8859-11=65  ISO-8859-15=68  [top ASCII-7-bit]
+  {{0x65,0x65,0x5f,0x5f, 0x03,0x97,0xaf,0xb4,0x11,0x95,0x42,0x6f,0x78,0x42,0x82,0x87,0xc2,0x5e,0x65,0x00,}}, // "ee__"
+        // ASCII-7-bit=151  Latin1=175  UTF8=180  CP1252=149  Latin2=111  CP1251=120  ISO-8859-15=130  CP1257=135  ISO-8859-13=94  Latin4=101  [top UTF8]
+  {{0x65,0x67,0x5f,0x5f, 0x05,0x9f,0x7a,0xa7,0x55,0x7d,0x61,0xb9,0x32,0x28,0x28,0x61,0x28,0x00,0x00,0x00,}}, // "eg__"
+        // ASCII-7-bit=159  Latin1=122  UTF8=167  GB=85  CP1252=125  CP1256=185  ISO-8859-15=40  CP1257=40  CP1253=40  [top CP1256]
+  {{0x65,0x73,0x5f,0x5f, 0x05,0x9f,0xb8,0xa8,0x22,0x91,0x11,0x2b,0x15,0x18,0x33,0x4d,0x31,0x23,0x21,0x6c,}}, // "es__"
+        // ASCII-7-bit=159  Latin1=184  UTF8=168  GB=34  CP1252=145  SJS=43  BIG5=24  Latin2=51  CP1251=77  CP1256=49  CP1250=35  ISO-8859-15=108  [top Latin1]
+  {{0x65,0x74,0x5f,0x5f, 0x03,0xb5,0x9a,0xa8,0x11,0xa6,0x11,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "et__"
+        // ASCII-7-bit=181  Latin1=154  UTF8=168  CP1252=166  SJS=126  [top ASCII-7-bit]
+  {{0x65,0x75,0x5f,0x5f, 0x03,0xa8,0xa4,0xb5,0x11,0x91,0x42,0x8d,0x69,0x12,0x8b,0x6a,0x11,0x78,0x41,0x78,}}, // "eu__"
+        // ASCII-7-bit=168  Latin1=164  UTF8=181  CP1252=145  Latin2=141  CP1251=105  CP1250=139  Latin5=106  ISO-8859-15=120  Greek=120  [top UTF8]
+  {{0x66,0x69,0x5f,0x5f, 0x03,0x9e,0xb7,0xaa,0x11,0x96,0x51,0x46,0x11,0x31,0x22,0x69,0x31,0x00,0x00,0x00,}}, // "fi__"
+        // ASCII-7-bit=158  Latin1=183  UTF8=170  CP1252=150  CP1251=70  CP1250=49  ISO-8859-15=105  CP1257=49  [top Latin1]
+  {{0x66,0x6a,0x5f,0x5f, 0x05,0xba,0x8b,0x9f,0x59,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "fj__"
+        // ASCII-7-bit=186  Latin1=139  UTF8=159  GB=89  CP1252=160  [top ASCII-7-bit]
+  {{0x66,0x6b,0x5f,0x5f, 0x02,0xba,0xa6,0x21,0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "fk__"
+        // ASCII-7-bit=186  Latin1=166  CP1252=150  [top ASCII-7-bit]
+  {{0x66,0x6d,0x5f,0x5f, 0x03,0x91,0x92,0xbc,0x11,0x82,0x12,0x7d,0x6d,0x12,0x86,0x6a,0x51,0x67,0x00,0x00,}}, // "fm__"
+        // ASCII-7-bit=145  Latin1=146  UTF8=188  CP1252=130  SJS=125  EUC-JP=109  Latin2=134  CP1251=106  CP1257=103  [top UTF8]
+  {{0x66,0x6f,0x5f,0x5f, 0x03,0x93,0xbc,0x9c,0x11,0x8c,0x71,0x57,0x21,0x51,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "fo__"
+        // ASCII-7-bit=147  Latin1=188  UTF8=156  CP1252=140  CP1250=87  ISO-8859-15=81  [top Latin1]
+  {{0x66,0x72,0x5f,0x5f, 0x03,0x9f,0xb3,0xaf,0x11,0x99,0x17,0x37,0x32,0x32,0x35,0x41,0x4f,0x35,0x21,0x77,}}, // "fr__"
+        // ASCII-7-bit=159  Latin1=179  UTF8=175  CP1252=153  SJS=55  EUC-JP=50  BIG5=50  Latin2=53  CP1251=65  CP1256=79  CP1250=53  ISO-8859-15=119  [top Latin1]
+  {{0x67,0x61,0x5f,0x5f, 0x03,0xa8,0xb6,0xa5,0x11,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ga__"
+        // ASCII-7-bit=168  Latin1=182  UTF8=165  CP1252=149  [top Latin1]
+  {{0x67,0x64,0x5f,0x5f, 0x05,0xb5,0xac,0x9a,0x80,0x8a,0x81,0x97,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gd__"
+        // ASCII-7-bit=181  Latin1=172  UTF8=154  GB=128  CP1252=138  Latin5=151  [top ASCII-7-bit]
+  {{0x67,0x65,0x5f,0x5f, 0x03,0xa5,0x7d,0xba,0x11,0x8d,0x21,0x58,0x21,0x8b,0x11,0x71,0x21,0x4f,0xb1,0x4c,}}, // "ge__"
+        // ASCII-7-bit=165  Latin1=125  UTF8=186  CP1252=141  EUC-JP=88  CP1251=139  CP1250=113  ISO-8859-15=79  ISO-8859-5=76  [top UTF8]
+  {{0x67,0x67,0x5f,0x5f, 0x03,0xad,0xa9,0xb0,0x11,0x95,0x11,0x60,0x81,0x93,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gg__"
+        // ASCII-7-bit=173  Latin1=169  UTF8=176  CP1252=149  SJS=96  ISO-8859-15=147  [top UTF8]
+  {{0x67,0x68,0x5f,0x5f, 0x03,0xac,0xb3,0x99,0x11,0xa6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gh__"
+        // ASCII-7-bit=172  Latin1=179  UTF8=153  CP1252=166  [top Latin1]
+  {{0x67,0x69,0x5f,0x5f, 0x03,0xb3,0xa1,0xa1,0x11,0x9c,0xa1,0xa8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gi__"
+        // ASCII-7-bit=179  Latin1=161  UTF8=161  CP1252=156  ISO-8859-15=168  [top ASCII-7-bit]
+  {{0x67,0x6c,0x5f,0x5f, 0x03,0xa7,0xb2,0xaa,0x11,0xa1,0x11,0x43,0x11,0x4d,0x61,0x70,0x00,0x00,0x00,0x00,}}, // "gl__"
+        // ASCII-7-bit=167  Latin1=178  UTF8=170  CP1252=161  SJS=67  BIG5=77  ISO-8859-15=112  [top Latin1]
+  {{0x67,0x6d,0x5f,0x5f, 0x03,0xb8,0x89,0xa0,0x11,0xa7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gm__"
+        // ASCII-7-bit=184  Latin1=137  UTF8=160  CP1252=167  [top ASCII-7-bit]
+  {{0x67,0x6e,0x5f,0x5f, 0x03,0xaa,0xb8,0x89,0x11,0x9d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gn__"
+        // ASCII-7-bit=170  Latin1=184  UTF8=137  CP1252=157  [top Latin1]
+  {{0x67,0x6f,0x76,0x5f, 0x05,0xbd,0x92,0x94,0x22,0x87,0x11,0x2e,0x33,0x36,0x15,0x2e,0x13,0x14,0x1f,0x0e,}}, // "gov_"
+        // ASCII-7-bit=189  Latin1=146  UTF8=148  GB=34  CP1252=135  SJS=46  CP1251=54  CP1256=21  CP1250=46  ISO-8859-11=20  ISO-8859-15=31  CP1257=14  [top ASCII-7-bit]
+  {{0x67,0x70,0x5f,0x5f, 0x03,0x98,0x9f,0xbb,0x11,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gp__"
+        // ASCII-7-bit=152  Latin1=159  UTF8=187  CP1252=131  [top UTF8]
+  {{0x67,0x72,0x5f,0x5f, 0x05,0xa1,0x7f,0xa8,0x45,0x80,0x42,0x49,0x54,0x12,0x44,0x45,0x61,0xb5,0x21,0x9e,}}, // "gr__"
+        // ASCII-7-bit=161  Latin1=127  UTF8=168  GB=69  CP1252=128  Latin2=73  CP1251=84  CP1250=68  Latin5=69  Greek=181  CP1253=158  [top Greek]
+  {{0x67,0x73,0x5f,0x5f, 0x05,0xb0,0x93,0x98,0x68,0x88,0x13,0xa2,0xa7,0x75,0x42,0x99,0x98,0x91,0x66,0x00,}}, // "gs__"
+        // ASCII-7-bit=176  Latin1=147  UTF8=152  GB=104  CP1252=136  SJS=162  EUC-JP=167  BIG5=117  Latin5=153  ISO-8859-11=152  CP932=102  [top ASCII-7-bit]
+  {{0x67,0x74,0x5f,0x5f, 0x03,0xa3,0xb6,0xa9,0x12,0x95,0x3d,0x91,0x3d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gt__"
+        // ASCII-7-bit=163  Latin1=182  UTF8=169  CP1252=149  KSC=61  ISO-8859-15=61  [top Latin1]
+  {{0x67,0x75,0x5f,0x5f, 0x03,0xb9,0xa0,0x7d,0x11,0xa5,0x11,0x7d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gu__"
+        // ASCII-7-bit=185  Latin1=160  UTF8=125  CP1252=165  SJS=125  [top ASCII-7-bit]
+  {{0x67,0x79,0x5f,0x5f, 0x03,0xbc,0x82,0xa2,0x11,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gy__"
+        // ASCII-7-bit=188  Latin1=130  UTF8=162  CP1252=135  [top ASCII-7-bit]
+  {{0x68,0x6b,0x5f,0x5f, 0x07,0xa6,0x6c,0xa3,0xa0,0x6b,0x38,0x53,0x11,0xb5,0xa1,0x73,0xc1,0x3d,0x21,0x49,}}, // "hk__"
+        // ASCII-7-bit=166  Latin1=108  UTF8=163  GB=160  CP1252=107  KSC=56  SJS=83  BIG5=181  GBK=115  GB18030=61  BIG5_HKSCS=73  [top BIG5]
+  {{0x68,0x6d,0x5f,0x5f, 0x05,0xa8,0x9e,0xaa,0x67,0x67,0x13,0xac,0x9f,0x95,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "hm__"
+        // ASCII-7-bit=168  Latin1=158  UTF8=170  GB=103  CP1252=103  SJS=172  EUC-JP=159  BIG5=149  [top SJS]
+  {{0x68,0x6e,0x5f,0x5f, 0x03,0xa1,0xb7,0xa6,0x11,0x9c,0x51,0x4d,0x31,0x4d,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "hn__"
+        // ASCII-7-bit=161  Latin1=183  UTF8=166  CP1252=156  CP1251=77  ISO-8859-11=77  [top Latin1]
+  {{0x68,0x72,0x5f,0x5f, 0x03,0x99,0x67,0xa7,0x11,0x67,0x42,0x9d,0x20,0x11,0xb8,0x10,0x21,0x26,0x11,0x32,}}, // "hr__"
+        // ASCII-7-bit=153  Latin1=103  UTF8=167  CP1252=103  Latin2=157  CP1251=32  CP1250=184  MACINTOSH=38  CP852=50  [top CP1250]
+  {{0x68,0x74,0x5f,0x5f, 0x03,0x95,0x97,0xbc,0x11,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ht__"
+        // ASCII-7-bit=149  Latin1=151  UTF8=188  CP1252=146  [top UTF8]
+  {{0x68,0x75,0x5f,0x5f, 0x05,0xa2,0xa4,0xad,0x33,0x76,0x11,0x3d,0x25,0xa7,0x4a,0x40,0xa7,0x35,0x11,0x3a,}}, // "hu__"
+        // ASCII-7-bit=162  Latin1=164  UTF8=173  GB=51  CP1252=118  SJS=61  Latin2=167  CP1251=74  CP1256=64  CP1250=167  Latin5=53  ISO-8859-15=58  [top UTF8]
+  {{0x69,0x64,0x5f,0x5f, 0x07,0xb8,0xab,0x8c,0x24,0x97,0x33,0x46,0x14,0x2c,0x1f,0x1f,0x7b,0x22,0x29,0x4b,}}, // "id__"
+        // ASCII-7-bit=184  Latin1=171  UTF8=140  GB=36  CP1252=151  KSC=51  SJS=70  BIG5=44  Latin2=31  CP1251=31  CP1256=123  ISO-8859-11=41  ISO-8859-15=75  [top ASCII-7-bit]
+  {{0x69,0x65,0x5f,0x5f, 0x05,0xb3,0xa6,0xa0,0x45,0x9d,0x11,0x46,0x21,0x67,0x12,0x32,0x4a,0x22,0xa3,0x36,}}, // "ie__"
+        // ASCII-7-bit=179  Latin1=166  UTF8=160  GB=69  CP1252=157  SJS=70  Latin2=103  CP1256=50  CP1250=74  ISO-8859-15=163  CP1257=54  [top ASCII-7-bit]
+  {{0x69,0x6c,0x5f,0x5f, 0x03,0x94,0x74,0xa9,0x11,0x6e,0x21,0x3b,0x23,0x79,0x83,0x3d,0x41,0xb8,0x71,0x90,}}, // "il__"
+        // ASCII-7-bit=148  Latin1=116  UTF8=169  CP1252=110  EUC-JP=59  CP1251=121  CP1256=131  CP1250=61  CP1255=184  Hebrew=144  [top CP1255]
+  {{0x69,0x6d,0x5f,0x5f, 0x05,0xb7,0x8e,0xaf,0x89,0x7e,0x51,0x48,0x21,0x71,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "im__"
+        // ASCII-7-bit=183  Latin1=142  UTF8=175  GB=137  CP1252=126  CP1251=72  Latin5=113  [top ASCII-7-bit]
+  {{0x69,0x6e,0x5f,0x5f, 0x08,0xbb,0x95,0x9c,0x5e,0x99,0x61,0x6f,0x67,0x21,0x60,0x22,0x69,0x4d,0x11,0x4c,}}, // "in__"
+        // ASCII-7-bit=187  Latin1=149  UTF8=156  GB=94  CP1252=153  KSC=97  SJS=111  EUC-JP=103  CP1251=96  Latin5=105  ISO-8859-11=77  CP1257=76  [top ASCII-7-bit]
+  {{0x69,0x6e,0x66,0x6f, 0x05,0xac,0xa7,0xa7,0x76,0x94,0x18,0x93,0x82,0x70,0x90,0x91,0x82,0x9c,0x78,0x00,}}, // "info"
+        // ASCII-7-bit=172  Latin1=167  UTF8=167  GB=118  CP1252=148  SJS=147  EUC-JP=130  BIG5=112  Latin2=144  CP1251=145  CP1256=130  CP1250=156  Latin5=120  [top ASCII-7-bit]
+  {{0x69,0x6e,0x74,0x5f, 0x05,0xb2,0xa7,0xb0,0x3a,0x84,0x53,0x62,0x55,0x54,0x71,0x45,0x21,0x39,0x31,0x50,}}, // "int_"
+        // ASCII-7-bit=178  Latin1=167  UTF8=176  GB=58  CP1252=132  CP1251=98  CP1256=85  CP1250=84  Greek=69  CP1253=57  ISO-8859-5=80  [top ASCII-7-bit]
+  {{0x69,0x6f,0x5f,0x5f, 0x09,0xaf,0x98,0xac,0xa8,0x85,0x77,0x83,0x7b,0x67,0x12,0x88,0x71,0x22,0x77,0x67,}}, // "io__"
+        // ASCII-7-bit=175  Latin1=152  UTF8=172  GB=168  CP1252=133  KSC=119  SJS=131  EUC-JP=123  BIG5=103  CP1251=136  CP1256=113  ISO-8859-11=119  ISO-8859-15=103  [top ASCII-7-bit]
+  {{0x69,0x72,0x5f,0x5f, 0x07,0x9e,0x8c,0xb5,0x55,0x7e,0x22,0x3c,0x25,0x32,0x32,0xae,0x36,0x3e,0x81,0x52,}}, // "ir__"
+        // ASCII-7-bit=158  Latin1=140  UTF8=181  GB=85  CP1252=126  KSC=34  SJS=60  Latin2=50  CP1251=50  CP1256=174  CP1250=54  Latin5=62  CP1254=82  [top UTF8]
+  {{0x69,0x73,0x5f,0x5f, 0x05,0x8f,0xbc,0xa0,0x1b,0x84,0x15,0x3b,0x1b,0x2f,0x1b,0x25,0x11,0x32,0x21,0x1b,}}, // "is__"
+        // ASCII-7-bit=143  Latin1=188  UTF8=160  GB=27  CP1252=132  SJS=59  EUC-JP=27  BIG5=47  Latin2=27  CP1251=37  CP1250=50  ISO-8859-15=27  [top Latin1]
+  {{0x69,0x74,0x5f,0x5f, 0x03,0xac,0xb4,0x9e,0x11,0xa2,0x11,0x35,0x21,0x44,0x21,0x3e,0x21,0x60,0x51,0x55,}}, // "it__"
+        // ASCII-7-bit=172  Latin1=180  UTF8=158  CP1252=162  SJS=53  Latin2=68  CP1250=62  ISO-8859-15=96  JIS=85  [top Latin1]
+  {{0x6a,0x65,0x5f,0x5f, 0x03,0xb7,0x8e,0xab,0x11,0x9e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "je__"
+        // ASCII-7-bit=183  Latin1=142  UTF8=171  CP1252=158  [top ASCII-7-bit]
+  {{0x6a,0x6d,0x5f,0x5f, 0x03,0xb8,0xa6,0x93,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "jm__"
+        // ASCII-7-bit=184  Latin1=166  UTF8=147  CP1252=160  [top ASCII-7-bit]
+  {{0x6a,0x6f,0x5f,0x5f, 0x03,0xa5,0x73,0xb0,0x11,0x82,0x52,0x3c,0xb2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "jo__"
+        // ASCII-7-bit=165  Latin1=115  UTF8=176  CP1252=130  CP1251=60  CP1256=178  [top CP1256]
+  {{0x6a,0x6f,0x62,0x73, 0x03,0xb7,0xa1,0xa5,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "jobs"
+        // ASCII-7-bit=183  Latin1=161  UTF8=165  CP1252=160  [top ASCII-7-bit]
+  {{0x6a,0x70,0x5f,0x5f, 0x09,0x9b,0x48,0xa4,0x45,0x42,0x4b,0xb3,0xad,0x48,0x51,0x1e,0x61,0x73,0x21,0x63,}}, // "jp__"
+        // ASCII-7-bit=155  Latin1=72  UTF8=164  GB=69  CP1252=66  KSC=75  SJS=179  EUC-JP=173  BIG5=72  ISO-8859-11=30  JIS=115  CP932=99  [top SJS]
+  {{0x6b,0x65,0x5f,0x5f, 0x03,0xb9,0x9a,0xa1,0x13,0x9e,0x4b,0x5b,0x11,0x4b,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ke__"
+        // ASCII-7-bit=185  Latin1=154  UTF8=161  CP1252=158  KSC=75  SJS=91  BIG5=75  [top ASCII-7-bit]
+  {{0x6b,0x67,0x5f,0x5f, 0x05,0x94,0x71,0x9f,0x67,0x83,0x11,0xa8,0x31,0xb7,0x12,0x57,0x57,0x41,0x6f,0x00,}}, // "kg__"
+        // ASCII-7-bit=148  Latin1=113  UTF8=159  GB=103  CP1252=131  SJS=168  CP1251=183  CP1250=87  Latin5=87  KOI8R=111  [top CP1251]
+  {{0x6b,0x68,0x5f,0x5f, 0x05,0xb6,0xa1,0xa1,0x53,0xa5,0x12,0x74,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "kh__"
+        // ASCII-7-bit=182  Latin1=161  UTF8=161  GB=83  CP1252=165  SJS=116  EUC-JP=115  [top ASCII-7-bit]
+  {{0x6b,0x69,0x5f,0x5f, 0x03,0xb8,0xac,0x98,0x11,0x82,0x81,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ki__"
+        // ASCII-7-bit=184  Latin1=172  UTF8=152  CP1252=130  Latin5=97  [top ASCII-7-bit]
+  {{0x6b,0x6e,0x5f,0x5f, 0x01,0xba,0x11,0x89,0x11,0xaa,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "kn__"
+        // ASCII-7-bit=186  UTF8=137  CP1252=170  [top ASCII-7-bit]
+  {{0x6b,0x72,0x5f,0x5f, 0x09,0x80,0x39,0x92,0x43,0x2e,0xbe,0x5f,0x3a,0x3d,0x31,0x0c,0x00,0x00,0x00,0x00,}}, // "kr__"
+        // ASCII-7-bit=128  Latin1=57  UTF8=146  GB=67  CP1252=46  KSC=190  SJS=95  EUC-JP=58  BIG5=61  CP1250=12  [top KSC]
+  {{0x6b,0x77,0x5f,0x5f, 0x03,0x91,0x69,0xb2,0x11,0x71,0x61,0xb5,0x11,0x40,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "kw__"
+        // ASCII-7-bit=145  Latin1=105  UTF8=178  CP1252=113  CP1256=181  Latin5=64  [top CP1256]
+  {{0x6b,0x79,0x5f,0x5f, 0x03,0xab,0x9d,0xb6,0x11,0x9a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ky__"
+        // ASCII-7-bit=171  Latin1=157  UTF8=182  CP1252=154  [top UTF8]
+  {{0x6b,0x7a,0x5f,0x5f, 0x03,0x8d,0x7b,0xb1,0x12,0x74,0x3d,0x41,0xb5,0x21,0x4a,0x41,0x8b,0x81,0x4a,0x00,}}, // "kz__"
+        // ASCII-7-bit=141  Latin1=123  UTF8=177  CP1252=116  KSC=61  CP1251=181  Latin5=74  KOI8R=139  ISO-8859-5=74  [top CP1251]
+  {{0x6c,0x61,0x5f,0x5f, 0x05,0xa8,0x8e,0xab,0xab,0x71,0x13,0x9f,0x6a,0x99,0x41,0x77,0x51,0x64,0x41,0x7e,}}, // "la__"
+        // ASCII-7-bit=168  Latin1=142  UTF8=171  GB=171  CP1252=113  SJS=159  EUC-JP=106  BIG5=153  Latin5=119  GBK=100  CP932=126  [top UTF8]
+  {{0x6c,0x62,0x5f,0x5f, 0x03,0xb3,0x95,0xaf,0x11,0x90,0x11,0x35,0x41,0x9f,0x10,0x61,0x3f,0x00,0x00,0x00,}}, // "lb__"
+        // ASCII-7-bit=179  Latin1=149  UTF8=175  CP1252=144  SJS=53  CP1256=159  Arabic=63  [top ASCII-7-bit]
+  {{0x6c,0x63,0x5f,0x5f, 0x02,0xab,0xa8,0x21,0xb5,0x11,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "lc__"
+        // ASCII-7-bit=171  Latin1=168  CP1252=181  SJS=127  [top CP1252]
+  {{0x6c,0x69,0x5f,0x5f, 0x05,0xad,0xb5,0x9d,0x72,0x93,0x12,0x5f,0x53,0x22,0x89,0x64,0x11,0x5f,0x51,0x53,}}, // "li__"
+        // ASCII-7-bit=173  Latin1=181  UTF8=157  GB=114  CP1252=147  SJS=95  EUC-JP=83  CP1251=137  CP1256=100  Latin5=95  GBK=83  [top Latin1]
+  {{0x6c,0x6b,0x5f,0x5f, 0x03,0xb9,0x9e,0x9d,0x11,0xa1,0x12,0x47,0x47,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "lk__"
+        // ASCII-7-bit=185  Latin1=158  UTF8=157  CP1252=161  SJS=71  EUC-JP=71  [top ASCII-7-bit]
+  {{0x6c,0x72,0x5f,0x5f, 0x03,0xad,0xac,0x8a,0x11,0xb1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "lr__"
+        // ASCII-7-bit=173  Latin1=172  UTF8=138  CP1252=177  [top CP1252]
+  {{0x6c,0x73,0x5f,0x5f, 0x03,0xb7,0xa3,0x97,0x11,0xa8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ls__"
+        // ASCII-7-bit=183  Latin1=163  UTF8=151  CP1252=168  [top ASCII-7-bit]
+  {{0x6c,0x74,0x5f,0x5f, 0x06,0x8c,0x64,0xae,0x3b,0x6d,0x5d,0x32,0x48,0x71,0x11,0x55,0x31,0xb8,0xc1,0x6e,}}, // "lt__"
+        // ASCII-7-bit=140  Latin1=100  UTF8=174  GB=59  CP1252=109  KSC=93  Latin2=72  CP1251=113  CP1250=85  CP1257=184  ISO-8859-13=110  [top CP1257]
+  {{0x6c,0x75,0x5f,0x5f, 0x05,0xa6,0xb2,0xad,0x47,0x9f,0x41,0x42,0x22,0x54,0x3f,0x11,0x53,0x10,0x51,0x3b,}}, // "lu__"
+        // ASCII-7-bit=166  Latin1=178  UTF8=173  GB=71  CP1252=159  Latin2=66  CP1250=84  Latin5=63  ISO-8859-15=83  UTF-16BE=59  [top Latin1]
+  {{0x6c,0x76,0x5f,0x5f, 0x03,0x97,0x6d,0xb5,0x11,0x6b,0x51,0x92,0x51,0xb0,0x11,0x4e,0xa2,0x5f,0x52,0x00,}}, // "lv__"
+        // ASCII-7-bit=151  Latin1=109  UTF8=181  CP1252=107  CP1251=146  CP1257=176  KOI8R=78  ISO-8859-13=95  Latin4=82  [top UTF8]
+  {{0x6c,0x79,0x5f,0x5f, 0x07,0xa4,0x77,0xb0,0x59,0x8c,0x92,0x59,0x32,0x59,0xb1,0x00,0x00,0x00,0x00,0x00,}}, // "ly__"
+        // ASCII-7-bit=164  Latin1=119  UTF8=176  GB=89  CP1252=140  KSC=146  SJS=89  CP1251=89  CP1256=177  [top CP1256]
+  {{0x6d,0x61,0x5f,0x5f, 0x03,0xa2,0xb3,0xa6,0x11,0xa0,0x62,0x9e,0x5d,0x22,0x7d,0x4b,0x10,0x11,0x47,0x00,}}, // "ma__"
+        // ASCII-7-bit=162  Latin1=179  UTF8=166  CP1252=160  CP1256=158  CP1250=93  ISO-8859-15=125  CP1257=75  Arabic=71  [top Latin1]
+  {{0x6d,0x63,0x5f,0x5f, 0x03,0x87,0xbe,0x73,0x11,0x89,0xa1,0x47,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mc__"
+        // ASCII-7-bit=135  Latin1=190  UTF8=115  CP1252=137  ISO-8859-15=71  [top Latin1]
+  {{0x6d,0x64,0x5f,0x5f, 0x03,0xa4,0x82,0xad,0x11,0x86,0x11,0x61,0x15,0x61,0x74,0xae,0x6e,0x99,0x51,0x9d,}}, // "md__"
+        // ASCII-7-bit=164  Latin1=130  UTF8=173  CP1252=134  SJS=97  BIG5=97  Latin2=116  CP1251=174  CP1256=110  CP1250=153  KOI8R=157  [top CP1251]
+  {{0x6d,0x67,0x5f,0x5f, 0x03,0x99,0xba,0x85,0x11,0xa6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mg__"
+        // ASCII-7-bit=153  Latin1=186  UTF8=133  CP1252=166  [top Latin1]
+  {{0x6d,0x69,0x6c,0x5f, 0x03,0xba,0x9a,0x9a,0x13,0x9a,0x44,0x50,0x11,0x24,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mil_"
+        // ASCII-7-bit=186  Latin1=154  UTF8=154  CP1252=154  KSC=68  SJS=80  BIG5=36  [top ASCII-7-bit]
+  {{0x6d,0x6b,0x5f,0x5f, 0x03,0x95,0x72,0xab,0x11,0x73,0x42,0x3f,0xa0,0x11,0x66,0x51,0xb6,0x81,0x56,0x00,}}, // "mk__"
+        // ASCII-7-bit=149  Latin1=114  UTF8=171  CP1252=115  Latin2=63  CP1251=160  CP1250=102  KOI8R=182  ISO-8859-5=86  [top KOI8R]
+  {{0x6d,0x6c,0x5f,0x5f, 0x03,0x85,0xbd,0x85,0x11,0x96,0x81,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ml__"
+        // ASCII-7-bit=133  Latin1=189  UTF8=133  CP1252=150  Latin5=89  [top Latin1]
+  {{0x6d,0x6d,0x5f,0x5f, 0x03,0xb5,0xa1,0x7d,0x11,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mm__"
+        // ASCII-7-bit=181  Latin1=161  UTF8=125  CP1252=175  [top ASCII-7-bit]
+  {{0x6d,0x6e,0x5f,0x5f, 0x07,0x9f,0x7f,0xb8,0x79,0x7d,0x4f,0x5f,0x11,0x56,0x11,0xa7,0x00,0x00,0x00,0x00,}}, // "mn__"
+        // ASCII-7-bit=159  Latin1=127  UTF8=184  GB=121  CP1252=125  KSC=79  SJS=95  BIG5=86  CP1251=167  [top UTF8]
+  {{0x6d,0x6f,0x5f,0x5f, 0x05,0xa0,0x9e,0xaa,0x9e,0x86,0x11,0x4a,0x11,0xb2,0xa1,0x59,0xc1,0x36,0x00,0x00,}}, // "mo__"
+        // ASCII-7-bit=160  Latin1=158  UTF8=170  GB=158  CP1252=134  SJS=74  BIG5=178  GBK=89  GB18030=54  [top BIG5]
+  {{0x6d,0x6f,0x62,0x69, 0x08,0xb6,0x95,0xaa,0x7f,0x7d,0x53,0xa0,0x71,0x13,0x65,0x6d,0x78,0xc1,0x73,0x00,}}, // "mobi"
+        // ASCII-7-bit=182  Latin1=149  UTF8=170  GB=127  CP1252=125  KSC=83  SJS=160  EUC-JP=113  Latin2=101  CP1251=109  CP1256=120  CP932=115  [top ASCII-7-bit]
+  {{0x6d,0x70,0x5f,0x5f, 0x03,0xbe,0x5a,0x54,0x11,0x5c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mp__"
+        // ASCII-7-bit=190  Latin1=90  UTF8=84  CP1252=92  [top ASCII-7-bit]
+  {{0x6d,0x71,0x5f,0x5f, 0x03,0xa3,0xb8,0x95,0x11,0xa5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mq__"
+        // ASCII-7-bit=163  Latin1=184  UTF8=149  CP1252=165  [top Latin1]
+  {{0x6d,0x72,0x5f,0x5f, 0x03,0x9b,0xab,0x8d,0x11,0x96,0x61,0xb6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mr__"
+        // ASCII-7-bit=155  Latin1=171  UTF8=141  CP1252=150  CP1256=182  [top CP1256]
+  {{0x6d,0x73,0x5f,0x5f, 0x03,0xb4,0xae,0x9c,0x18,0x8a,0x73,0x86,0x6f,0x53,0x56,0x6c,0x75,0x11,0x85,0x00,}}, // "ms__"
+        // ASCII-7-bit=180  Latin1=174  UTF8=156  CP1252=138  KSC=115  SJS=134  EUC-JP=111  BIG5=83  Latin2=86  CP1251=108  CP1256=117  Latin5=133  [top ASCII-7-bit]
+  {{0x6d,0x74,0x5f,0x5f, 0x05,0xbc,0x87,0x9b,0x5c,0x8b,0x42,0x2c,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mt__"
+        // ASCII-7-bit=188  Latin1=135  UTF8=155  GB=92  CP1252=139  Latin2=44  CP1251=64  [top ASCII-7-bit]
+  {{0x6d,0x75,0x5f,0x5f, 0x09,0xb4,0xa4,0xa9,0x57,0x9f,0x4d,0x7e,0x70,0x4d,0x11,0x4d,0x21,0x57,0x11,0x4d,}}, // "mu__"
+        // ASCII-7-bit=180  Latin1=164  UTF8=169  GB=87  CP1252=159  KSC=77  SJS=126  EUC-JP=112  BIG5=77  CP1251=77  Latin5=87  ISO-8859-15=77  [top ASCII-7-bit]
+  {{0x6d,0x75,0x73,0x65, 0x07,0xb3,0xa9,0xa6,0x76,0x90,0x56,0x88,0x13,0x8e,0x6a,0x7a,0x00,0x00,0x00,0x00,}}, // "muse"
+        // ASCII-7-bit=179  Latin1=169  UTF8=166  GB=118  CP1252=144  KSC=86  SJS=136  BIG5=142  Latin2=106  CP1251=122  [top ASCII-7-bit]
+  {{0x6d,0x76,0x5f,0x5f, 0x03,0xb6,0x98,0xab,0x11,0x9f,0x61,0x53,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mv__"
+        // ASCII-7-bit=182  Latin1=152  UTF8=171  CP1252=159  CP1256=83  [top ASCII-7-bit]
+  {{0x6d,0x77,0x5f,0x5f, 0x05,0xb7,0xa3,0xa8,0x7f,0x8d,0x11,0x7f,0xc1,0x6b,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mw__"
+        // ASCII-7-bit=183  Latin1=163  UTF8=168  GB=127  CP1252=141  SJS=127  GBK=107  [top ASCII-7-bit]
+  {{0x6d,0x78,0x5f,0x5f, 0x05,0xa7,0xba,0x94,0x45,0x93,0x11,0x1d,0x12,0x25,0x29,0x21,0x27,0x21,0x3c,0x00,}}, // "mx__"
+        // ASCII-7-bit=167  Latin1=186  UTF8=148  GB=69  CP1252=147  SJS=29  BIG5=37  Latin2=41  CP1250=39  ISO-8859-15=60  [top Latin1]
+  {{0x6d,0x79,0x5f,0x5f, 0x05,0xb3,0xb3,0x8d,0x6b,0x8f,0x13,0x4d,0x50,0x7f,0x12,0x3f,0x6b,0x12,0x4b,0x3e,}}, // "my__"
+        // ASCII-7-bit=179  Latin1=179  UTF8=141  GB=107  CP1252=143  SJS=77  EUC-JP=80  BIG5=127  CP1251=63  CP1256=107  Latin5=75  ISO-8859-11=62  [top ASCII-7-bit]
+  {{0x6d,0x7a,0x5f,0x5f, 0x03,0x8e,0xaf,0xb7,0x11,0x8f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mz__"
+        // ASCII-7-bit=142  Latin1=175  UTF8=183  CP1252=143  [top UTF8]
+  {{0x6e,0x61,0x5f,0x5f, 0x03,0xba,0xa1,0x97,0x11,0x9c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "na__"
+        // ASCII-7-bit=186  Latin1=161  UTF8=151  CP1252=156  [top ASCII-7-bit]
+  {{0x6e,0x61,0x6d,0x65, 0x08,0xb2,0xa4,0xa9,0x8a,0x90,0x7d,0x7c,0x6b,0x15,0x80,0x94,0x6b,0x8b,0x77,0x00,}}, // "name"
+        // ASCII-7-bit=178  Latin1=164  UTF8=169  GB=138  CP1252=144  KSC=125  SJS=124  EUC-JP=107  Latin2=128  CP1251=148  CP1256=107  CP1250=139  Latin5=119  [top ASCII-7-bit]
+  {{0x6e,0x63,0x5f,0x5f, 0x03,0xa7,0xb9,0x8c,0x11,0x9e,0x11,0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "nc__"
+        // ASCII-7-bit=167  Latin1=185  UTF8=140  CP1252=158  SJS=114  [top Latin1]
+  {{0x6e,0x65,0x5f,0x5f, 0x03,0xad,0xb9,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ne__"
+        // ASCII-7-bit=173  Latin1=185  UTF8=128  [top Latin1]
+  {{0x6e,0x65,0x74,0x5f, 0x0f,0xac,0xa6,0xa4,0x93,0x93,0x94,0x97,0x83,0x86,0x7e,0x80,0x96,0x7a,0x89,0x73,}}, // "net_"
+        // ASCII-7-bit=172  Latin1=166  UTF8=164  GB=147  CP1252=147  KSC=148  SJS=151  EUC-JP=131  BIG5=134  Latin2=126  CP1251=128  CP1256=150  CP1250=122  Latin5=137  ISO-8859-11=115  [top ASCII-7-bit]
+  {{0x6e,0x66,0x5f,0x5f, 0x03,0xb5,0xa9,0xa8,0x11,0x87,0xa1,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "nf__"
+        // ASCII-7-bit=181  Latin1=169  UTF8=168  CP1252=135  ISO-8859-15=119  [top ASCII-7-bit]
+  {{0x6e,0x67,0x5f,0x5f, 0x03,0xbd,0x95,0x89,0x11,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ng__"
+        // ASCII-7-bit=189  Latin1=149  UTF8=137  CP1252=146  [top ASCII-7-bit]
+  {{0x6e,0x69,0x5f,0x5f, 0x03,0x9d,0xb3,0xa9,0x11,0xa8,0x81,0x40,0x11,0x36,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ni__"
+        // ASCII-7-bit=157  Latin1=179  UTF8=169  CP1252=168  Latin5=64  ISO-8859-15=54  [top Latin1]
+  {{0x6e,0x6c,0x5f,0x5f, 0x05,0xb2,0xae,0xa0,0x32,0xa1,0x36,0x31,0x42,0x39,0x3b,0x33,0x45,0x11,0x6f,0x00,}}, // "nl__"
+        // ASCII-7-bit=178  Latin1=174  UTF8=160  GB=50  CP1252=161  BIG5=49  Latin2=66  CP1251=57  CP1256=59  CP1250=51  Latin5=69  ISO-8859-15=111  [top ASCII-7-bit]
+  {{0x6e,0x6f,0x5f,0x5f, 0x05,0x99,0xb8,0xaa,0x47,0x8d,0x11,0x31,0x22,0x34,0x3e,0x42,0x70,0x33,0x00,0x00,}}, // "no__"
+        // ASCII-7-bit=153  Latin1=184  UTF8=170  GB=71  CP1252=141  SJS=49  Latin2=52  CP1251=62  ISO-8859-15=112  CP1257=51  [top Latin1]
+  {{0x6e,0x70,0x5f,0x5f, 0x03,0xb2,0x9f,0xa5,0x11,0xac,0x11,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "np__"
+        // ASCII-7-bit=178  Latin1=159  UTF8=165  CP1252=172  SJS=97  [top ASCII-7-bit]
+  {{0x6e,0x72,0x5f,0x5f, 0x03,0xbe,0x77,0x7a,0x11,0x62,0x71,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "nr__"
+        // ASCII-7-bit=190  Latin1=119  UTF8=122  CP1252=98  CP1250=68  [top ASCII-7-bit]
+  {{0x6e,0x75,0x5f,0x5f, 0x03,0xae,0xb4,0x9e,0x11,0x96,0x12,0x7c,0x76,0x22,0x75,0x62,0xa1,0x65,0x00,0x00,}}, // "nu__"
+        // ASCII-7-bit=174  Latin1=180  UTF8=158  CP1252=150  SJS=124  EUC-JP=118  CP1251=117  CP1256=98  CP1254=101  [top Latin1]
+  {{0x6e,0x7a,0x5f,0x5f, 0x0d,0xba,0x97,0xa2,0x5f,0x97,0x5c,0x5a,0x4b,0x4a,0x30,0x47,0x36,0x34,0x21,0x2b,}}, // "nz__"
+        // ASCII-7-bit=186  Latin1=151  UTF8=162  GB=95  CP1252=151  KSC=92  SJS=90  EUC-JP=75  BIG5=74  Latin2=48  CP1251=71  CP1256=54  CP1250=52  ISO-8859-15=43  [top ASCII-7-bit]
+  {{0x6f,0x6d,0x5f,0x5f, 0x03,0x9a,0x8a,0x89,0x11,0x87,0x61,0xbc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "om__"
+        // ASCII-7-bit=154  Latin1=138  UTF8=137  CP1252=135  CP1256=188  [top CP1256]
+  {{0x6f,0x72,0x67,0x5f, 0x0e,0xb5,0x9f,0xac,0x76,0x90,0x7e,0x6e,0x69,0x71,0x6d,0x6a,0x78,0x60,0x73,0x00,}}, // "org_"
+        // ASCII-7-bit=181  Latin1=159  UTF8=172  GB=118  CP1252=144  KSC=126  SJS=110  EUC-JP=105  BIG5=113  Latin2=109  CP1251=106  CP1256=120  CP1250=96  Latin5=115  [top ASCII-7-bit]
+  {{0x70,0x61,0x5f,0x5f, 0x03,0xa3,0xb8,0xa7,0x11,0x87,0x71,0x31,0x21,0x41,0x21,0x31,0x00,0x00,0x00,0x00,}}, // "pa__"
+        // ASCII-7-bit=163  Latin1=184  UTF8=167  CP1252=135  CP1250=49  ISO-8859-15=65  KOI8R=49  [top Latin1]
+  {{0x70,0x65,0x5f,0x5f, 0x05,0xa8,0xb8,0x9d,0x3a,0x99,0x11,0x2e,0x13,0x2e,0x1e,0x1e,0x11,0x32,0x00,0x00,}}, // "pe__"
+        // ASCII-7-bit=168  Latin1=184  UTF8=157  GB=58  CP1252=153  SJS=46  BIG5=46  Latin2=30  CP1251=30  CP1250=50  [top Latin1]
+  {{0x70,0x66,0x5f,0x5f, 0x03,0xa2,0xb5,0xa3,0x11,0xa7,0x11,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "pf__"
+        // ASCII-7-bit=162  Latin1=181  UTF8=163  CP1252=167  SJS=99  [top Latin1]
+  {{0x70,0x67,0x5f,0x5f, 0x05,0xb8,0xa6,0x81,0x6a,0xa5,0x11,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "pg__"
+        // ASCII-7-bit=184  Latin1=166  UTF8=129  GB=106  CP1252=165  SJS=112  [top ASCII-7-bit]
+  {{0x70,0x68,0x5f,0x5f, 0x03,0xb5,0x9e,0x99,0x15,0xac,0x57,0x65,0x4f,0x51,0x31,0x31,0x11,0x4b,0xd1,0x29,}}, // "ph__"
+        // ASCII-7-bit=181  Latin1=158  UTF8=153  CP1252=172  KSC=87  SJS=101  EUC-JP=79  BIG5=81  CP1250=49  ISO-8859-11=75  CP874=41  [top ASCII-7-bit]
+  {{0x70,0x6b,0x5f,0x5f, 0x03,0xb9,0x9b,0x8c,0x11,0xa3,0x11,0x33,0x11,0x99,0x21,0x29,0x00,0x00,0x00,0x00,}}, // "pk__"
+        // ASCII-7-bit=185  Latin1=155  UTF8=140  CP1252=163  SJS=51  BIG5=153  CP1256=41  [top ASCII-7-bit]
+  {{0x70,0x6c,0x5f,0x5f, 0x03,0x89,0x62,0xa8,0x11,0x4b,0x42,0xba,0x40,0x11,0x92,0xe1,0x3e,0x00,0x00,0x00,}}, // "pl__"
+        // ASCII-7-bit=137  Latin1=98  UTF8=168  CP1252=75  Latin2=186  CP1251=64  CP1250=146  ISO-8859-5=62  [top Latin2]
+  {{0x70,0x6e,0x5f,0x5f, 0x06,0xbb,0xa1,0x99,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "pn__"
+        // ASCII-7-bit=187  Latin1=161  UTF8=153  GB=102  CP1252=102  KSC=102  [top ASCII-7-bit]
+  {{0x70,0x72,0x5f,0x5f, 0x03,0x9b,0xb5,0xaf,0x11,0x94,0x41,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "pr__"
+        // ASCII-7-bit=155  Latin1=181  UTF8=175  CP1252=148  Latin2=101  [top Latin1]
+  {{0x70,0x72,0x6f,0x5f, 0x03,0xb3,0x9e,0xad,0x11,0x87,0x13,0x65,0x6f,0x65,0x11,0x9f,0x21,0x79,0x00,0x00,}}, // "pro_"
+        // ASCII-7-bit=179  Latin1=158  UTF8=173  CP1252=135  SJS=101  EUC-JP=111  BIG5=101  CP1251=159  Latin5=121  [top ASCII-7-bit]
+  {{0x70,0x73,0x5f,0x5f, 0x03,0x99,0x8f,0x9d,0x11,0x9f,0x61,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ps__"
+        // ASCII-7-bit=153  Latin1=143  UTF8=157  CP1252=159  CP1256=185  [top CP1256]
+  {{0x70,0x74,0x5f,0x5f, 0x05,0x99,0xb5,0xad,0x1d,0x95,0x11,0x21,0x52,0x36,0x40,0x12,0x90,0x23,0x51,0x1d,}}, // "pt__"
+        // ASCII-7-bit=153  Latin1=181  UTF8=173  GB=29  CP1252=149  SJS=33  CP1250=54  Latin5=64  ISO-8859-15=144  CP1257=35  CP1254=29  [top Latin1]
+  {{0x70,0x79,0x5f,0x5f, 0x03,0x9f,0xbb,0x90,0x13,0x97,0x49,0x35,0x21,0x35,0x51,0x5a,0x00,0x00,0x00,0x00,}}, // "py__"
+        // ASCII-7-bit=159  Latin1=187  UTF8=144  CP1252=151  KSC=73  SJS=53  Latin2=53  ISO-8859-15=90  [top Latin1]
+  {{0x71,0x61,0x5f,0x5f, 0x03,0x9a,0x89,0xb0,0x11,0x82,0x61,0xb5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "qa__"
+        // ASCII-7-bit=154  Latin1=137  UTF8=176  CP1252=130  CP1256=181  [top CP1256]
+  {{0x72,0x65,0x5f,0x5f, 0x03,0x8a,0xb4,0xb1,0x11,0x97,0xa1,0x8a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "re__"
+        // ASCII-7-bit=138  Latin1=180  UTF8=177  CP1252=151  ISO-8859-15=138  [top Latin1]
+  {{0x72,0x6f,0x5f,0x5f, 0x08,0xb4,0xa0,0xa4,0x3c,0x94,0x57,0x2e,0x29,0x14,0xa2,0x3a,0x33,0x8b,0x21,0x37,}}, // "ro__"
+        // ASCII-7-bit=180  Latin1=160  UTF8=164  GB=60  CP1252=148  KSC=87  SJS=46  EUC-JP=41  Latin2=162  CP1251=58  CP1256=51  CP1250=139  ISO-8859-15=55  [top ASCII-7-bit]
+  {{0x72,0x75,0x5f,0x5f, 0x05,0x8d,0x6d,0xa1,0x56,0x67,0x31,0x43,0x12,0xba,0x46,0x61,0x9b,0x72,0x46,0x48,}}, // "ru__"
+        // ASCII-7-bit=141  Latin1=109  UTF8=161  GB=86  CP1252=103  BIG5=67  CP1251=186  CP1256=70  KOI8R=155  KOI8U=70  ISO-8859-5=72  [top CP1251]
+  {{0x72,0x77,0x5f,0x5f, 0x03,0xb7,0xa2,0xa4,0x11,0xa0,0x61,0x5e,0x31,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "rw__"
+        // ASCII-7-bit=183  Latin1=162  UTF8=164  CP1252=160  CP1256=94  ISO-8859-15=110  [top ASCII-7-bit]
+  {{0x73,0x61,0x5f,0x5f, 0x05,0x91,0x5b,0xac,0x3f,0x69,0x11,0x1f,0x41,0xb9,0x11,0x1f,0x00,0x00,0x00,0x00,}}, // "sa__"
+        // ASCII-7-bit=145  Latin1=91  UTF8=172  GB=63  CP1252=105  SJS=31  CP1256=185  Latin5=31  [top CP1256]
+  {{0x73,0x62,0x5f,0x5f, 0x03,0xb8,0x8a,0xad,0x11,0x8b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sb__"
+        // ASCII-7-bit=184  Latin1=138  UTF8=173  CP1252=139  [top ASCII-7-bit]
+  {{0x73,0x63,0x5f,0x5f, 0x03,0xb5,0x9e,0xad,0x11,0x85,0x12,0x8d,0x88,0x23,0x57,0x4d,0x5c,0x00,0x00,0x00,}}, // "sc__"
+        // ASCII-7-bit=181  Latin1=158  UTF8=173  CP1252=133  SJS=141  EUC-JP=136  CP1251=87  CP1256=77  CP1250=92  [top ASCII-7-bit]
+  {{0x73,0x64,0x5f,0x5f, 0x03,0x9b,0x77,0x8a,0x11,0x6d,0x61,0xbd,0x10,0x61,0x73,0x00,0x00,0x00,0x00,0x00,}}, // "sd__"
+        // ASCII-7-bit=155  Latin1=119  UTF8=138  CP1252=109  CP1256=189  Arabic=115  [top CP1256]
+  {{0x73,0x65,0x5f,0x5f, 0x05,0x96,0xbb,0xa0,0x23,0x82,0x36,0x23,0x2e,0x25,0x3b,0x43,0x22,0x11,0x4c,0x00,}}, // "se__"
+        // ASCII-7-bit=150  Latin1=187  UTF8=160  GB=35  CP1252=130  BIG5=35  Latin2=46  CP1251=37  CP1256=59  CP1250=67  Latin5=34  ISO-8859-15=76  [top Latin1]
+  {{0x73,0x67,0x5f,0x5f, 0x09,0xb8,0x9c,0xa6,0x84,0x94,0x4c,0x6e,0x50,0x71,0x31,0x41,0x11,0x48,0xd1,0x3a,}}, // "sg__"
+        // ASCII-7-bit=184  Latin1=156  UTF8=166  GB=132  CP1252=148  KSC=76  SJS=110  EUC-JP=80  BIG5=113  CP1250=65  ISO-8859-11=72  CP874=58  [top ASCII-7-bit]
+  {{0x73,0x68,0x5f,0x5f, 0x0a,0xaa,0x9b,0xa1,0xa9,0x84,0x77,0xa1,0x98,0x9b,0x5d,0x51,0x6d,0x31,0x6f,0x00,}}, // "sh__"
+        // ASCII-7-bit=170  Latin1=155  UTF8=161  GB=169  CP1252=132  KSC=119  SJS=161  EUC-JP=152  BIG5=155  Latin2=93  ISO-8859-15=109  GBK=111  [top ASCII-7-bit]
+  {{0x73,0x69,0x5f,0x5f, 0x03,0x95,0x6b,0xb7,0x11,0x6e,0x42,0x9f,0x3d,0x11,0xa9,0x21,0x17,0x10,0x11,0x24,}}, // "si__"
+        // ASCII-7-bit=149  Latin1=107  UTF8=183  CP1252=110  Latin2=159  CP1251=61  CP1250=169  ISO-8859-15=23  CP852=36  [top UTF8]
+  {{0x73,0x6b,0x5f,0x5f, 0x03,0x95,0x74,0xb0,0x11,0x60,0x36,0x53,0x92,0x55,0x47,0xb5,0x3f,0x10,0x11,0x3a,}}, // "sk__"
+        // ASCII-7-bit=149  Latin1=116  UTF8=176  CP1252=96  BIG5=83  Latin2=146  CP1251=85  CP1256=71  CP1250=181  Latin5=63  MACINTOSH=58  [top CP1250]
+  {{0x73,0x6c,0x5f,0x5f, 0x03,0xac,0x85,0x8f,0x11,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sl__"
+        // ASCII-7-bit=172  Latin1=133  UTF8=143  CP1252=185  [top CP1252]
+  {{0x73,0x6d,0x5f,0x5f, 0x03,0xa8,0xa7,0xb1,0x11,0xa8,0x91,0x6f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sm__"
+        // ASCII-7-bit=168  Latin1=167  UTF8=177  CP1252=168  ISO-8859-11=111  [top UTF8]
+  {{0x73,0x6e,0x5f,0x5f, 0x03,0x9d,0xb8,0x9f,0x11,0xa2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sn__"
+        // ASCII-7-bit=157  Latin1=184  UTF8=159  CP1252=162  [top Latin1]
+  {{0x73,0x72,0x5f,0x5f, 0x03,0xa6,0xad,0xb2,0x12,0x9d,0x6a,0x61,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sr__"
+        // ASCII-7-bit=166  Latin1=173  UTF8=178  CP1252=157  KSC=106  CP1250=132  [top UTF8]
+  {{0x73,0x74,0x5f,0x5f, 0x03,0xb4,0xab,0x9d,0x15,0x88,0x79,0x99,0x94,0x7e,0x31,0x61,0x81,0x4e,0x21,0x6d,}}, // "st__"
+        // ASCII-7-bit=180  Latin1=171  UTF8=157  CP1252=136  KSC=121  SJS=153  EUC-JP=148  BIG5=126  CP1250=97  JIS=78  CP932=109  [top ASCII-7-bit]
+  {{0x73,0x75,0x5f,0x5f, 0x03,0xa4,0x6f,0xa0,0x11,0x70,0x51,0xb9,0x71,0x94,0x71,0x44,0x00,0x00,0x00,0x00,}}, // "su__"
+        // ASCII-7-bit=164  Latin1=111  UTF8=160  CP1252=112  CP1251=185  KOI8R=148  KOI8U=68  [top CP1251]
+  {{0x73,0x76,0x5f,0x5f, 0x03,0x9d,0xb9,0xa5,0x11,0x8f,0x41,0x3c,0x51,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sv__"
+        // ASCII-7-bit=157  Latin1=185  UTF8=165  CP1252=143  Latin2=60  ISO-8859-15=60  [top Latin1]
+  {{0x73,0x79,0x5f,0x5f, 0x03,0x82,0x5e,0x90,0x11,0x5d,0x61,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sy__"
+        // ASCII-7-bit=130  Latin1=94  UTF8=144  CP1252=93  CP1256=190  [top CP1256]
+  {{0x73,0x7a,0x5f,0x5f, 0x03,0xb7,0xac,0x6c,0x11,0xa1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sz__"
+        // ASCII-7-bit=183  Latin1=172  UTF8=108  CP1252=161  [top ASCII-7-bit]
+  {{0x74,0x63,0x5f,0x5f, 0x08,0xa9,0xaa,0x9b,0x62,0x74,0x8d,0x8f,0x7a,0x21,0x67,0x22,0xab,0x9b,0x41,0x70,}}, // "tc__"
+        // ASCII-7-bit=169  Latin1=170  UTF8=155  GB=98  CP1252=116  KSC=141  SJS=143  EUC-JP=122  CP1251=103  Latin5=171  ISO-8859-11=155  GBK=112  [top Latin5]
+  {{0x74,0x66,0x5f,0x5f, 0x02,0xa3,0xbc,0x21,0x71,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tf__"
+        // ASCII-7-bit=163  Latin1=188  CP1252=113  [top Latin1]
+  {{0x74,0x67,0x5f,0x5f, 0x03,0xb0,0xb3,0x7e,0x11,0xa5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tg__"
+        // ASCII-7-bit=176  Latin1=179  UTF8=126  CP1252=165  [top Latin1]
+  {{0x74,0x68,0x5f,0x5f, 0x09,0x96,0x61,0x93,0x3e,0x67,0x2f,0x52,0x38,0x23,0x11,0x35,0x31,0xbd,0xd1,0x76,}}, // "th__"
+        // ASCII-7-bit=150  Latin1=97  UTF8=147  GB=62  CP1252=103  KSC=47  SJS=82  EUC-JP=56  BIG5=35  CP1251=53  ISO-8859-11=189  CP874=118  [top ISO-8859-11]
+  {{0x74,0x6a,0x5f,0x5f, 0x03,0xab,0x74,0xb1,0x11,0x67,0x51,0xae,0x71,0x84,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tj__"
+        // ASCII-7-bit=171  Latin1=116  UTF8=177  CP1252=103  CP1251=174  KOI8R=132  [top UTF8]
+  {{0x74,0x6b,0x5f,0x5f, 0x03,0xbc,0x94,0x9d,0x11,0x6b,0x12,0x74,0x6b,0x12,0x53,0x46,0x12,0x74,0x6d,0x00,}}, // "tk__"
+        // ASCII-7-bit=188  Latin1=148  UTF8=157  CP1252=107  SJS=116  EUC-JP=107  Latin2=83  CP1251=70  CP1250=116  Latin5=109  [top ASCII-7-bit]
+  {{0x74,0x6c,0x5f,0x5f, 0x05,0xb1,0xb0,0x88,0x61,0x83,0xa1,0xa8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tl__"
+        // ASCII-7-bit=177  Latin1=176  UTF8=136  GB=97  CP1252=131  ISO-8859-15=168  [top ASCII-7-bit]
+  {{0x74,0x6d,0x5f,0x5f, 0x03,0xb4,0x84,0xad,0x11,0x82,0x42,0x5a,0xa4,0x12,0x5a,0x5a,0x00,0x00,0x00,0x00,}}, // "tm__"
+        // ASCII-7-bit=180  Latin1=132  UTF8=173  CP1252=130  Latin2=90  CP1251=164  CP1250=90  Latin5=90  [top ASCII-7-bit]
+  {{0x74,0x6e,0x5f,0x5f, 0x03,0x9f,0xa2,0xac,0x11,0x9d,0x11,0x4b,0x21,0x3b,0x11,0xb0,0x10,0x61,0x3b,0x00,}}, // "tn__"
+        // ASCII-7-bit=159  Latin1=162  UTF8=172  CP1252=157  SJS=75  Latin2=59  CP1256=176  Arabic=59  [top CP1256]
+  {{0x74,0x6f,0x5f,0x5f, 0x03,0xa5,0xa2,0xa5,0x15,0x89,0x8a,0xac,0x99,0x9b,0x31,0x70,0x21,0x87,0x51,0x6c,}}, // "to__"
+        // ASCII-7-bit=165  Latin1=162  UTF8=165  CP1252=137  KSC=138  SJS=172  EUC-JP=153  BIG5=155  CP1250=112  ISO-8859-15=135  JIS=108  [top SJS]
+  {{0x74,0x70,0x5f,0x5f, 0x03,0x95,0x9e,0xad,0x11,0x67,0x12,0xb3,0x99,0xd1,0x67,0x21,0x67,0x00,0x00,0x00,}}, // "tp__"
+        // ASCII-7-bit=149  Latin1=158  UTF8=173  CP1252=103  SJS=179  EUC-JP=153  JIS=103  CP932=103  [top SJS]
+  {{0x74,0x72,0x5f,0x5f, 0x03,0x8d,0x6c,0xa6,0x11,0x61,0x11,0x3c,0x32,0x3c,0x4a,0x11,0xba,0x81,0x91,0x00,}}, // "tr__"
+        // ASCII-7-bit=141  Latin1=108  UTF8=166  CP1252=97  SJS=60  CP1251=60  CP1256=74  Latin5=186  CP1254=145  [top Latin5]
+  {{0x74,0x72,0x61,0x76, 0x05,0xa9,0xa3,0xa7,0x97,0x95,0x11,0xac,0x13,0x74,0x7f,0x6b,0x11,0x63,0x00,0x00,}}, // "trav"
+        // ASCII-7-bit=169  Latin1=163  UTF8=167  GB=151  CP1252=149  SJS=172  BIG5=116  Latin2=127  CP1251=107  CP1250=99  [top SJS]
+  {{0x74,0x74,0x5f,0x5f, 0x07,0xb5,0xaf,0x9a,0x49,0x92,0x59,0x49,0x61,0x75,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tt__"
+        // ASCII-7-bit=181  Latin1=175  UTF8=154  GB=73  CP1252=146  KSC=89  SJS=73  Latin5=117  [top ASCII-7-bit]
+  {{0x74,0x76,0x5f,0x5f, 0x0e,0xa7,0xa6,0xad,0x89,0x94,0x85,0x9e,0x8d,0x7b,0x74,0x7c,0x88,0x7b,0x81,0x00,}}, // "tv__"
+        // ASCII-7-bit=167  Latin1=166  UTF8=173  GB=137  CP1252=148  KSC=133  SJS=158  EUC-JP=141  BIG5=123  Latin2=116  CP1251=124  CP1256=136  CP1250=123  Latin5=129  [top UTF8]
+  {{0x74,0x77,0x5f,0x5f, 0x05,0x85,0x52,0xab,0x5d,0x57,0x13,0x50,0x2e,0xba,0x31,0x23,0x61,0x2e,0xf1,0x21,}}, // "tw__"
+        // ASCII-7-bit=133  Latin1=82  UTF8=171  GB=93  CP1252=87  SJS=80  EUC-JP=46  BIG5=186  CP1250=35  GBK=46  BIG5_HKSCS=33  [top BIG5]
+  {{0x74,0x7a,0x5f,0x5f, 0x03,0xae,0xb5,0x8b,0x13,0xa0,0x4c,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tz__"
+        // ASCII-7-bit=174  Latin1=181  UTF8=139  CP1252=160  KSC=76  SJS=76  [top Latin1]
+  {{0x75,0x61,0x5f,0x5f, 0x03,0x87,0x61,0xa2,0x11,0x57,0x44,0x4d,0xbb,0x35,0x48,0x51,0x80,0x72,0x8c,0x3d,}}, // "ua__"
+        // ASCII-7-bit=135  Latin1=97  UTF8=162  CP1252=87  Latin2=77  CP1251=187  CP1256=53  CP1250=72  KOI8R=128  KOI8U=140  ISO-8859-5=61  [top CP1251]
+  {{0x75,0x67,0x5f,0x5f, 0x03,0xb8,0x9a,0xa0,0x11,0xa6,0x11,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ug__"
+        // ASCII-7-bit=184  Latin1=154  UTF8=160  CP1252=166  SJS=104  [top ASCII-7-bit]
+  {{0x75,0x6b,0x5f,0x5f, 0x05,0xb7,0xa7,0x9e,0x62,0x97,0x27,0x58,0x62,0x51,0x53,0x62,0x64,0x54,0x11,0x6f,}}, // "uk__"
+        // ASCII-7-bit=183  Latin1=167  UTF8=158  GB=98  CP1252=151  EUC-JP=88  BIG5=98  Latin2=81  CP1251=83  CP1256=98  CP1250=100  Latin5=84  ISO-8859-15=111  [top ASCII-7-bit]
+  {{0x75,0x73,0x5f,0x5f, 0x06,0xba,0x94,0xa5,0x45,0x92,0x48,0x24,0x54,0x47,0x5a,0x56,0x11,0x66,0x11,0x40,}}, // "us__"
+        // ASCII-7-bit=186  Latin1=148  UTF8=165  GB=69  CP1252=146  KSC=72  BIG5=84  Latin2=71  CP1251=90  CP1256=86  Latin5=102  ISO-8859-15=64  [top ASCII-7-bit]
+  {{0x75,0x79,0x5f,0x5f, 0x03,0xa2,0xba,0x96,0x11,0x9a,0x72,0x2c,0x2c,0x11,0x52,0x00,0x00,0x00,0x00,0x00,}}, // "uy__"
+        // ASCII-7-bit=162  Latin1=186  UTF8=150  CP1252=154  CP1250=44  Latin5=44  ISO-8859-15=82  [top Latin1]
+  {{0x75,0x7a,0x5f,0x5f, 0x05,0x91,0x68,0xb1,0x39,0x88,0x54,0xb5,0x43,0x39,0x6e,0x41,0x7c,0x00,0x00,0x00,}}, // "uz__"
+        // ASCII-7-bit=145  Latin1=104  UTF8=177  GB=57  CP1252=136  CP1251=181  CP1256=67  CP1250=57  Latin5=110  KOI8R=124  [top CP1251]
+  {{0x76,0x61,0x5f,0x5f, 0x03,0xae,0xb3,0x8f,0x11,0xa7,0xb1,0x4a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "va__"
+        // ASCII-7-bit=174  Latin1=179  UTF8=143  CP1252=167  CP1257=74  [top Latin1]
+  {{0x76,0x63,0x5f,0x5f, 0x08,0xba,0x7a,0x9a,0x5e,0x79,0x4a,0x9a,0x95,0x12,0x54,0x7f,0x81,0x4a,0x00,0x00,}}, // "vc__"
+        // ASCII-7-bit=186  Latin1=122  UTF8=154  GB=94  CP1252=121  KSC=74  SJS=154  EUC-JP=149  Latin2=84  CP1251=127  GBK=74  [top ASCII-7-bit]
+  {{0x76,0x65,0x5f,0x5f, 0x05,0x97,0xbc,0x8c,0x14,0x9b,0x11,0x14,0x11,0x1e,0x31,0x42,0x21,0x55,0x31,0x24,}}, // "ve__"
+        // ASCII-7-bit=151  Latin1=188  UTF8=140  GB=20  CP1252=155  SJS=20  BIG5=30  CP1250=66  ISO-8859-15=85  GBK=36  [top Latin1]
+  {{0x76,0x67,0x5f,0x5f, 0x05,0xac,0xb2,0x9e,0x6d,0x97,0x13,0x95,0x81,0x95,0x11,0x69,0x21,0x63,0x61,0x59,}}, // "vg__"
+        // ASCII-7-bit=172  Latin1=178  UTF8=158  GB=109  CP1252=151  SJS=149  EUC-JP=129  BIG5=149  CP1251=105  Latin5=99  Greek=89  [top Latin1]
+  {{0x76,0x69,0x5f,0x5f, 0x03,0xb9,0x90,0xaa,0x11,0x93,0x11,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "vi__"
+        // ASCII-7-bit=185  Latin1=144  UTF8=170  CP1252=147  SJS=104  [top ASCII-7-bit]
+  {{0x76,0x6e,0x5f,0x5f, 0x03,0x94,0x92,0xbd,0x12,0x83,0x22,0x21,0x2c,0x32,0x26,0x2e,0x00,0x00,0x00,0x00,}}, // "vn__"
+        // ASCII-7-bit=148  Latin1=146  UTF8=189  CP1252=131  KSC=34  BIG5=44  CP1250=38  Latin5=46  [top UTF8]
+  {{0x76,0x75,0x5f,0x5f, 0x03,0xae,0xb6,0x97,0x11,0x7b,0x11,0x5b,0x31,0x6a,0x41,0x4e,0x71,0x90,0x00,0x00,}}, // "vu__"
+        // ASCII-7-bit=174  Latin1=182  UTF8=151  CP1252=123  SJS=91  CP1251=106  ISO-8859-15=78  CP1253=144  [top Latin1]
+  {{0x77,0x73,0x5f,0x5f, 0x05,0xae,0xaa,0xa6,0x6c,0x91,0x18,0x76,0x69,0x7c,0x78,0x99,0x9d,0x7d,0x70,0x00,}}, // "ws__"
+        // ASCII-7-bit=174  Latin1=170  UTF8=166  GB=108  CP1252=145  SJS=118  EUC-JP=105  BIG5=124  Latin2=120  CP1251=153  CP1256=157  CP1250=125  Latin5=112  [top ASCII-7-bit]
+  {{0x79,0x65,0x5f,0x5f, 0x03,0x9e,0x94,0xab,0x11,0x8b,0x61,0xb6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ye__"
+        // ASCII-7-bit=158  Latin1=148  UTF8=171  CP1252=139  CP1256=182  [top CP1256]
+  {{0x79,0x75,0x5f,0x5f, 0x03,0xa4,0x7f,0xaf,0x11,0x78,0x42,0x87,0x80,0x12,0xb3,0x2c,0xd1,0x60,0x00,0x00,}}, // "yu__"
+        // ASCII-7-bit=164  Latin1=127  UTF8=175  CP1252=120  Latin2=135  CP1251=128  CP1250=179  Latin5=44  ISO-8859-5=96  [top CP1250]
+  {{0x7a,0x61,0x5f,0x5f, 0x05,0xb8,0xa3,0x97,0x42,0xa1,0x11,0x30,0x11,0x4e,0x13,0x3a,0x4f,0x41,0x21,0x42,}}, // "za__"
+        // ASCII-7-bit=184  Latin1=163  UTF8=151  GB=66  CP1252=161  SJS=48  BIG5=78  CP1251=58  CP1256=79  CP1250=65  ISO-8859-15=66  [top ASCII-7-bit]
+  {{0x7a,0x6d,0x5f,0x5f, 0x03,0xb8,0x8e,0x9c,0x11,0xa9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "zm__"
+        // ASCII-7-bit=184  Latin1=142  UTF8=156  CP1252=169  [top ASCII-7-bit]
+  {{0x7a,0x77,0x5f,0x5f, 0x05,0xbb,0x95,0x9b,0x59,0x9a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "zw__"
+        // ASCII-7-bit=187  Latin1=149  UTF8=155  GB=89  CP1252=154  [top ASCII-7-bit]
+};
+
+static const int kTLDHintProbsSize = 247;
+
+static const HintEntry kCharsetHintProbs[] = { // MaxRange 192
+  {{0x5f,0x5f,0x5f,0x5f,0x30,0x36,0x34,0x36, 0x02,0xbd,0x7f,0x21,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____0646"
+        // ASCII-7-bit=189  Latin1=127  CP1252=149  [top ASCII-7-bit]
+  {{0x5f,0x5f,0x5f,0x5f,0x31,0x32,0x35,0x30, 0x01,0x96,0xb1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____1250"
+        // ASCII-7-bit=150  CP1250=190  [top CP1250]
+  {{0x5f,0x5f,0x5f,0x5f,0x31,0x32,0x35,0x31, 0x01,0x7a,0x91,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____1251"
+        // ASCII-7-bit=122  CP1251=190  [top CP1251]
+  {{0x5f,0x5f,0x5f,0x5f,0x31,0x32,0x35,0x32, 0x02,0x99,0x9d,0x21,0xbc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____1252"
+        // ASCII-7-bit=153  Latin1=157  CP1252=188  [top CP1252]
+  {{0x5f,0x5f,0x5f,0x5f,0x31,0x32,0x35,0x33, 0x01,0x79,0x10,0x61,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____1253"
+        // ASCII-7-bit=121  CP1253=190  [top CP1253]
+  {{0x5f,0x5f,0x5f,0x5f,0x31,0x32,0x35,0x34, 0x01,0x71,0xc1,0xaf,0x81,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____1254"
+        // ASCII-7-bit=113  Latin5=175  CP1254=185  [top CP1254]
+  {{0x5f,0x5f,0x5f,0x5f,0x31,0x32,0x35,0x35, 0x01,0x86,0x10,0x01,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____1255"
+        // ASCII-7-bit=134  CP1255=190  [top CP1255]
+  {{0x5f,0x5f,0x5f,0x5f,0x31,0x32,0x35,0x36, 0x01,0x78,0xa1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____1256"
+        // ASCII-7-bit=120  CP1256=190  [top CP1256]
+  {{0x5f,0x5f,0x5f,0x5f,0x31,0x32,0x35,0x37, 0x01,0x79,0xf1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____1257"
+        // ASCII-7-bit=121  CP1257=190  [top CP1257]
+  {{0x5f,0x5f,0x5f,0x5f,0x31,0x38,0x30,0x30, 0x10,0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____1800"
+        // KOI8R=191  [top KOI8R]
+  {{0x5f,0x5f,0x5f,0x5f,0x33,0x36,0x30,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____3600"
+        // CP1250=191  [top CP1250]
+  {{0x5f,0x5f,0x5f,0x5f,0x33,0x36,0x39,0x39, 0x01,0xad,0x11,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____3699"
+        // ASCII-7-bit=173  UTF8=185  [top UTF8]
+  {{0x5f,0x5f,0x5f,0x5f,0x34,0x34,0x30,0x30, 0x02,0xbc,0x87,0x21,0xa4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____4400"
+        // ASCII-7-bit=188  Latin1=135  CP1252=164  [top ASCII-7-bit]
+  {{0x5f,0x5f,0x5f,0x5f,0x35,0x30,0x30,0x31, 0x01,0x9a,0x11,0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____5001"
+        // ASCII-7-bit=154  UTF8=189  [top UTF8]
+  {{0x5f,0x5f,0x5f,0x5f,0x35,0x39,0x31,0x35, 0x02,0xa8,0xa6,0x21,0xa7,0xa1,0xb2,0x00,0x00,0x00,0x00,0x00,}}, // "____5915"
+        // ASCII-7-bit=168  Latin1=166  CP1252=167  ISO-8859-15=178  [top ISO-8859-15]
+  {{0x5f,0x5f,0x5f,0x5f,0x36,0x34,0x36,0x5f, 0x02,0xbe,0x8e,0x21,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____646_"
+        // ASCII-7-bit=190  Latin1=142  CP1252=129  [top ASCII-7-bit]
+  {{0x5f,0x5f,0x5f,0x5f,0x38,0x35,0x39,0x31, 0x02,0xae,0xb8,0x21,0x94,0xa1,0x2f,0x00,0x00,0x00,0x00,0x00,}}, // "____8591"
+        // ASCII-7-bit=174  Latin1=184  CP1252=148  ISO-8859-15=47  [top Latin1]
+  {{0x5f,0x5f,0x5f,0x5f,0x38,0x35,0x39,0x32, 0x01,0x8c,0x81,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____8592"
+        // ASCII-7-bit=140  Latin2=190  [top Latin2]
+  {{0x5f,0x5f,0x5f,0x5f,0x38,0x35,0x39,0x34, 0x10,0xe1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____8594"
+        // Latin4=191  [top Latin4]
+  {{0x5f,0x5f,0x5f,0x5f,0x38,0x35,0x39,0x35, 0x01,0x6f,0x10,0xa1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____8595"
+        // ASCII-7-bit=111  ISO-8859-5=190  [top ISO-8859-5]
+  {{0x5f,0x5f,0x5f,0x5f,0x38,0x35,0x39,0x37, 0x10,0x41,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____8597"
+        // Greek=191  [top Greek]
+  {{0x5f,0x5f,0x5f,0x5f,0x38,0x35,0x39,0x39, 0x01,0x72,0xc1,0xbe,0x81,0x7b,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____8599"
+        // ASCII-7-bit=114  Latin5=190  CP1254=123  [top Latin5]
+  {{0x5f,0x5f,0x5f,0x5f,0x38,0x38,0x36,0x31, 0x91,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____8861"
+        // Latin2=191  [top Latin2]
+  {{0x5f,0x5f,0x5f,0x5f,0x38,0x5f,0x5f,0x5f, 0x03,0x98,0x5d,0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "____8___"
+        // ASCII-7-bit=152  Latin1=93  UTF8=189  [top UTF8]
+  {{0x5f,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x07,0xb1,0xaa,0x9c,0x95,0x96,0x8e,0x8c,0x11,0x82,0x00,0x00,}}, // "________"
+        // ASCII-7-bit=177  Latin1=170  UTF8=156  GB=149  CP1252=150  KSC=142  SJS=140  BIG5=130  [top ASCII-7-bit]
+  {{0x61,0x6e,0x73,0x69,0x33,0x34,0x5f,0x5f, 0x02,0xbe,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ansi34__"
+        // ASCII-7-bit=190  Latin1=110  [top ASCII-7-bit]
+  {{0x61,0x6e,0x73,0x69,0x5f,0x5f,0x5f,0x5f, 0x02,0xa2,0xb9,0x21,0xa4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ansi____"
+        // ASCII-7-bit=162  Latin1=185  CP1252=164  [top Latin1]
+  {{0x61,0x72,0x72,0x61,0x5f,0x5f,0x5f,0x5f, 0x01,0x90,0xa1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "arra____"
+        // ASCII-7-bit=144  CP1256=190  [top CP1256]
+  {{0x61,0x73,0x63,0x69,0x5f,0x5f,0x5f,0x5f, 0x02,0xbe,0x72,0x21,0x71,0xa1,0x53,0x00,0x00,0x00,0x00,0x00,}}, // "asci____"
+        // ASCII-7-bit=190  Latin1=114  CP1252=113  ISO-8859-15=83  [top ASCII-7-bit]
+  {{0x61,0x75,0x74,0x6f,0x5f,0x5f,0x5f,0x5f, 0x01,0x9b,0x51,0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "auto____"
+        // ASCII-7-bit=155  SJS=189  [top SJS]
+  {{0x62,0x67,0x5f,0x5f,0x32,0x33,0x31,0x32, 0x01,0x93,0x21,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bg__2312"
+        // ASCII-7-bit=147  GB=190  [top GB]
+  {{0x62,0x68,0x61,0x73,0x5f,0x5f,0x5f,0x5f, 0x30,0x01,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bhas____"
+        // BHASKAR=191  [top BHASKAR]
+  {{0x62,0x69,0x67,0x5f,0x35,0x5f,0x5f,0x5f, 0x01,0x84,0x71,0xbe,0x10,0xa1,0x2f,0x00,0x00,0x00,0x00,0x00,}}, // "big_5___"
+        // ASCII-7-bit=132  BIG5=190  BIG5_HKSCS=47  [top BIG5]
+  {{0x62,0x69,0x67,0x5f,0x38,0x35,0x39,0x31, 0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "big_8591"
+        // Latin1=191  [top Latin1]
+  {{0x62,0x69,0x67,0x68,0x35,0x5f,0x5f,0x5f, 0x01,0x88,0x71,0xae,0x10,0xa1,0xb8,0x00,0x00,0x00,0x00,0x00,}}, // "bigh5___"
+        // ASCII-7-bit=136  BIG5=174  BIG5_HKSCS=184  [top BIG5_HKSCS]
+  {{0x62,0x69,0x6e,0x61,0x5f,0x5f,0x5f,0x5f, 0x30,0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bina____"
+        // X-BINARYENC=191  [top X-BINARYENC]
+  {{0x62,0x6f,0x74,0x5f,0x5f,0x5f,0x5f,0x5f, 0xd1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bot_____"
+        // Latin5=191  [top Latin5]
+  {{0x62,0x73,0x5f,0x5f,0x34,0x37,0x33,0x30, 0x02,0xb8,0xa8,0x21,0xa3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "bs__4730"
+        // ASCII-7-bit=184  Latin1=168  CP1252=163  [top ASCII-7-bit]
+  {{0x63,0x68,0x61,0x72,0x5f,0x5f,0x5f,0x5f, 0x02,0xa5,0xbb,0x21,0x91,0xa1,0x28,0x00,0x00,0x00,0x00,0x00,}}, // "char____"
+        // ASCII-7-bit=165  Latin1=187  CP1252=145  ISO-8859-15=40  [top Latin1]
+  {{0x63,0x6e,0x73,0x5f,0x5f,0x5f,0x5f,0x5f, 0x30,0x71,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cns_____"
+        // CNS=191  [top CNS]
+  {{0x63,0x6f,0x6e,0x66,0x5f,0x5f,0x5f,0x5f, 0x01,0x9f,0x11,0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "conf____"
+        // ASCII-7-bit=159  UTF8=189  [top UTF8]
+  {{0x63,0x6f,0x6e,0x74,0x5f,0x5f,0x5f,0x5f, 0x01,0xa4,0x11,0xbc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cont____"
+        // ASCII-7-bit=164  UTF8=188  [top UTF8]
+  {{0x63,0x70,0x5f,0x5f,0x31,0x32,0x35,0x30, 0x01,0x97,0xb1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cp__1250"
+        // ASCII-7-bit=151  CP1250=190  [top CP1250]
+  {{0x63,0x70,0x5f,0x5f,0x31,0x32,0x35,0x31, 0x01,0x7c,0x91,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cp__1251"
+        // ASCII-7-bit=124  CP1251=190  [top CP1251]
+  {{0x63,0x70,0x5f,0x5f,0x31,0x32,0x35,0x32, 0x02,0xab,0xa9,0x21,0xb5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cp__1252"
+        // ASCII-7-bit=171  Latin1=169  CP1252=181  [top CP1252]
+  {{0x63,0x70,0x5f,0x5f,0x31,0x32,0x35,0x33, 0x01,0x79,0x10,0x31,0x7f,0x21,0xbe,0x00,0x00,0x00,0x00,0x00,}}, // "cp__1253"
+        // ASCII-7-bit=121  Greek=127  CP1253=190  [top CP1253]
+  {{0x63,0x70,0x5f,0x5f,0x31,0x32,0x35,0x34, 0x01,0x5b,0xc1,0xaf,0x81,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cp__1254"
+        // ASCII-7-bit=91  Latin5=175  CP1254=185  [top CP1254]
+  {{0x63,0x70,0x5f,0x5f,0x31,0x32,0x35,0x35, 0x01,0x86,0x10,0x01,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cp__1255"
+        // ASCII-7-bit=134  CP1255=190  [top CP1255]
+  {{0x63,0x70,0x5f,0x5f,0x31,0x32,0x35,0x36, 0x01,0x5e,0xa1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cp__1256"
+        // ASCII-7-bit=94  CP1256=190  [top CP1256]
+  {{0x63,0x70,0x5f,0x5f,0x31,0x32,0x35,0x37, 0x01,0xa8,0xf1,0xbb,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cp__1257"
+        // ASCII-7-bit=168  CP1257=187  [top CP1257]
+  {{0x63,0x70,0x5f,0x5f,0x38,0x35,0x30,0x5f, 0x02,0x97,0x98,0x21,0x8c,0xa1,0xbc,0x00,0x00,0x00,0x00,0x00,}}, // "cp__850_"
+        // ASCII-7-bit=151  Latin1=152  CP1252=140  ISO-8859-15=188  [top ISO-8859-15]
+  {{0x63,0x70,0x5f,0x5f,0x38,0x35,0x32,0x5f, 0x01,0x8f,0x20,0x01,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cp__852_"
+        // ASCII-7-bit=143  CP852=190  [top CP852]
+  {{0x63,0x70,0x5f,0x5f,0x38,0x36,0x36,0x5f, 0x01,0xa2,0x20,0x31,0xbc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cp__866_"
+        // ASCII-7-bit=162  CP866=188  [top CP866]
+  {{0x63,0x70,0x63,0x5f,0x39,0x34,0x33,0x5f, 0x01,0x26,0x51,0xbe,0x10,0x11,0x68,0x00,0x00,0x00,0x00,0x00,}}, // "cpc_943_"
+        // ASCII-7-bit=38  SJS=190  CP932=104  [top SJS]
+  {{0x63,0x70,0x63,0x7a,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cpcz1250"
+        // CP1250=191  [top CP1250]
+  {{0x63,0x73,0x69,0x73,0x5f,0x5f,0x5f,0x5f, 0x01,0x9c,0x10,0x01,0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "csis____"
+        // ASCII-7-bit=156  CP1255=189  [top CP1255]
+  {{0x63,0x73,0x6e,0x5f,0x39,0x31,0x30,0x33, 0x20,0x91,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "csn_9103"
+        // CSN_369103=191  [top CSN_369103]
+  {{0x63,0x73,0x73,0x68,0x5f,0x5f,0x5f,0x5f, 0x01,0x7f,0x51,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cssh____"
+        // ASCII-7-bit=127  SJS=190  [top SJS]
+  {{0x63,0x73,0x77,0x69,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cswi1250"
+        // CP1250=191  [top CP1250]
+  {{0x63,0x73,0x77,0x69,0x33,0x31,0x5f,0x5f, 0x61,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "cswi31__"
+        // SJS=191  [top SJS]
+  {{0x63,0x7a,0x77,0x69,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "czwi1250"
+        // CP1250=191  [top CP1250]
+  {{0x64,0x61,0x64,0x6b,0x38,0x35,0x39,0x31, 0x11,0xbe,0x21,0x7d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "dadk8591"
+        // Latin1=190  CP1252=125  [top Latin1]
+  {{0x64,0x61,0x69,0x73,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x21,0x6f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "dais8591"
+        // ASCII-7-bit=111  Latin1=190  CP1252=111  [top Latin1]
+  {{0x64,0x65,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x02,0x9d,0xbc,0x21,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "de______"
+        // ASCII-7-bit=157  Latin1=188  CP1252=149  [top Latin1]
+  {{0x64,0x65,0x61,0x73,0x5f,0x5f,0x5f,0x5f, 0x02,0x8f,0xbd,0x21,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "deas____"
+        // ASCII-7-bit=143  Latin1=189  CP1252=146  [top Latin1]
+  {{0x64,0x65,0x64,0x65,0x38,0x35,0x39,0x31, 0x02,0x92,0xbe,0x21,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "dede8591"
+        // ASCII-7-bit=146  Latin1=190  CP1252=135  [top Latin1]
+  {{0x64,0x65,0x66,0x61,0x5f,0x5f,0x5f,0x5f, 0x02,0xbc,0x9f,0x21,0x89,0xa1,0x6b,0x00,0x00,0x00,0x00,0x00,}}, // "defa____"
+        // ASCII-7-bit=188  Latin1=159  CP1252=137  ISO-8859-15=107  [top ASCII-7-bit]
+  {{0x64,0x65,0x69,0x73,0x35,0x39,0x31,0x35, 0x11,0x83,0xd1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "deis5915"
+        // Latin1=131  ISO-8859-15=190  [top ISO-8859-15]
+  {{0x64,0x65,0x69,0x73,0x38,0x35,0x39,0x31, 0x02,0x92,0xbd,0x21,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "deis8591"
+        // ASCII-7-bit=146  Latin1=189  CP1252=137  [top Latin1]
+  {{0x64,0x65,0x6c,0x65,0x5f,0x5f,0x5f,0x5f, 0x02,0xa9,0xba,0x21,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "dele____"
+        // ASCII-7-bit=169  Latin1=186  CP1252=146  [top Latin1]
+  {{0x64,0x65,0x75,0x74,0x5f,0x5f,0x5f,0x5f, 0x02,0x74,0xb8,0x21,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "deut____"
+        // ASCII-7-bit=116  Latin1=184  CP1252=175  [top Latin1]
+  {{0x64,0x6f,0x6f,0x72,0x31,0x32,0x35,0x32, 0x11,0x79,0x21,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "door1252"
+        // Latin1=121  CP1252=190  [top CP1252]
+  {{0x65,0x63,0x75,0x6a,0x5f,0x5f,0x5f,0x5f, 0x71,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ecuj____"
+        // EUC-JP=191  [top EUC-JP]
+  {{0x65,0x63,0x75,0x6b,0x5f,0x5f,0x5f,0x5f, 0x01,0x71,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ecuk____"
+        // ASCII-7-bit=113  KSC=190  [top KSC]
+  {{0x65,0x65,0x6d,0x73,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "eems1250"
+        // CP1250=191  [top CP1250]
+  {{0x65,0x6e,0x5f,0x5f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "en__8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x65,0x6e,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x02,0xbe,0x92,0x21,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "en______"
+        // ASCII-7-bit=190  Latin1=146  CP1252=130  [top ASCII-7-bit]
+  {{0x65,0x6e,0x63,0x6f,0x5f,0x5f,0x5f,0x5f, 0x01,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "enco____"
+        // ASCII-7-bit=191  [top ASCII-7-bit]
+  {{0x65,0x6e,0x67,0x5f,0x5f,0x5f,0x5f,0x5f, 0x01,0x8b,0x71,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "eng_____"
+        // ASCII-7-bit=139  BIG5=190  [top BIG5]
+  {{0x65,0x6e,0x67,0x62,0x5f,0x5f,0x5f,0x5f, 0x02,0xbe,0x7d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "engb____"
+        // ASCII-7-bit=190  Latin1=125  [top ASCII-7-bit]
+  {{0x65,0x6e,0x69,0x73,0x38,0x35,0x39,0x31, 0x02,0x96,0xbc,0x21,0x9a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "enis8591"
+        // ASCII-7-bit=150  Latin1=188  CP1252=154  [top Latin1]
+  {{0x65,0x6e,0x75,0x6b,0x38,0x35,0x39,0x31, 0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "enuk8591"
+        // Latin1=191  [top Latin1]
+  {{0x65,0x6e,0x75,0x6b,0x5f,0x5f,0x5f,0x5f, 0x51,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "enuk____"
+        // KSC=191  [top KSC]
+  {{0x65,0x6e,0x75,0x73,0x35,0x39,0x31,0x35, 0x02,0x6f,0x7f,0xd1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "enus5915"
+        // ASCII-7-bit=111  Latin1=127  ISO-8859-15=190  [top ISO-8859-15]
+  {{0x65,0x6e,0x75,0x73,0x38,0x35,0x39,0x31, 0x02,0x9c,0xbc,0x21,0x9b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "enus8591"
+        // ASCII-7-bit=156  Latin1=188  CP1252=155  [top Latin1]
+  {{0x65,0x6e,0x75,0x73,0x5f,0x5f,0x5f,0x5f, 0x02,0xbb,0xa1,0x21,0x9e,0xa1,0x68,0x00,0x00,0x00,0x00,0x00,}}, // "enus____"
+        // ASCII-7-bit=187  Latin1=161  CP1252=158  ISO-8859-15=104  [top ASCII-7-bit]
+  {{0x65,0x6e,0x75,0x74,0x38,0x5f,0x5f,0x5f, 0x01,0x81,0xf1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "enut8___"
+        // ASCII-7-bit=129  CP1257=190  [top CP1257]
+  {{0x65,0x73,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x02,0xb4,0xb3,0x21,0x9d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "es______"
+        // ASCII-7-bit=180  Latin1=179  CP1252=157  [top ASCII-7-bit]
+  {{0x65,0x73,0x65,0x73,0x38,0x35,0x39,0x31, 0x02,0x82,0xbe,0x21,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "eses8591"
+        // ASCII-7-bit=130  Latin1=190  CP1252=110  [top Latin1]
+  {{0x65,0x73,0x65,0x73,0x5f,0x5f,0x5f,0x5f, 0x02,0xa6,0xba,0x21,0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "eses____"
+        // ASCII-7-bit=166  Latin1=186  CP1252=150  [top Latin1]
+  {{0x65,0x73,0x69,0x73,0x38,0x35,0x39,0x31, 0x11,0xbe,0x21,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "esis8591"
+        // Latin1=190  CP1252=135  [top Latin1]
+  {{0x65,0x74,0x65,0x65,0x38,0x35,0x39,0x31, 0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "etee8591"
+        // Latin1=191  [top Latin1]
+  {{0x65,0x74,0x69,0x73,0x38,0x35,0x39,0x31, 0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "etis8591"
+        // Latin1=191  [top Latin1]
+  {{0x65,0x75,0x63,0x5f,0x32,0x5f,0x5f,0x5f, 0x01,0xbe,0x31,0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "euc_2___"
+        // ASCII-7-bit=190  CP1252=114  [top ASCII-7-bit]
+  {{0x65,0x75,0x63,0x5f,0x5f,0x5f,0x5f,0x5f, 0x01,0x7d,0x61,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "euc_____"
+        // ASCII-7-bit=125  EUC-JP=190  [top EUC-JP]
+  {{0x65,0x75,0x63,0x63,0x5f,0x5f,0x5f,0x5f, 0x01,0x6f,0x30,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "eucc____"
+        // ASCII-7-bit=111  EUC-CN=190  [top EUC-CN]
+  {{0x65,0x75,0x63,0x64,0x5f,0x5f,0x5f,0x5f, 0x30,0x61,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "eucd____"
+        // EUC=191  [top EUC]
+  {{0x65,0x75,0x63,0x6a,0x5f,0x5f,0x5f,0x5f, 0x01,0x68,0x61,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "eucj____"
+        // ASCII-7-bit=104  EUC-JP=190  [top EUC-JP]
+  {{0x65,0x75,0x63,0x6b,0x5f,0x5f,0x5f,0x5f, 0x01,0x6d,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "euck____"
+        // ASCII-7-bit=109  KSC=190  [top KSC]
+  {{0x65,0x75,0x63,0x75,0x5f,0x5f,0x5f,0x5f, 0x01,0x6d,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "eucu____"
+        // ASCII-7-bit=109  KSC=190  [top KSC]
+  {{0x65,0x75,0x6b,0x6b,0x5f,0x5f,0x5f,0x5f, 0x51,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "eukk____"
+        // KSC=191  [top KSC]
+  {{0x65,0x75,0x72,0x6b,0x5f,0x5f,0x5f,0x5f, 0x01,0x71,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "eurk____"
+        // ASCII-7-bit=113  KSC=190  [top KSC]
+  {{0x66,0x65,0x61,0x74,0x5f,0x5f,0x5f,0x5f, 0x41,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "feat____"
+        // CP1252=191  [top CP1252]
+  {{0x66,0x66,0x5f,0x5f,0x30,0x5f,0x5f,0x5f, 0x02,0x9e,0xba,0x21,0xa5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ff__0___"
+        // ASCII-7-bit=158  Latin1=186  CP1252=165  [top Latin1]
+  {{0x66,0x69,0x66,0x69,0x38,0x35,0x39,0x31, 0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "fifi8591"
+        // Latin1=191  [top Latin1]
+  {{0x66,0x72,0x66,0x72,0x38,0x35,0x39,0x31, 0x02,0x79,0xbc,0x21,0xa3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "frfr8591"
+        // ASCII-7-bit=121  Latin1=188  CP1252=163  [top Latin1]
+  {{0x66,0x72,0x66,0x72,0x38,0x5f,0x5f,0x5f, 0x02,0xa6,0xad,0x21,0xb5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "frfr8___"
+        // ASCII-7-bit=166  Latin1=173  CP1252=181  [top CP1252]
+  {{0x66,0x72,0x69,0x73,0x38,0x35,0x39,0x31, 0x02,0x80,0xbd,0x21,0x9e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "fris8591"
+        // ASCII-7-bit=128  Latin1=189  CP1252=158  [top Latin1]
+  {{0x66,0x72,0x75,0x74,0x38,0x5f,0x5f,0x5f, 0x02,0x8c,0xb3,0x21,0xb5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "frut8___"
+        // ASCII-7-bit=140  Latin1=179  CP1252=181  [top CP1252]
+  {{0x67,0x62,0x5f,0x5f,0x31,0x32,0x35,0x31, 0x01,0x6f,0x91,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gb__1251"
+        // ASCII-7-bit=111  CP1251=190  [top CP1251]
+  {{0x67,0x62,0x5f,0x5f,0x32,0x31,0x33,0x32, 0x01,0x91,0x21,0xbe,0xf1,0x70,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gb__2132"
+        // ASCII-7-bit=145  GB=190  GBK=112  [top GB]
+  {{0x67,0x62,0x5f,0x5f,0x32,0x33,0x31,0x32, 0x01,0x7a,0x21,0xbe,0xf1,0x5c,0xc1,0x37,0x00,0x00,0x00,0x00,}}, // "gb__2312"
+        // ASCII-7-bit=122  GB=190  GBK=92  GB18030=55  [top GB]
+  {{0x67,0x62,0x5f,0x5f,0x32,0x33,0x32,0x31, 0x01,0x7d,0x21,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gb__2321"
+        // ASCII-7-bit=125  GB=190  [top GB]
+  {{0x67,0x62,0x5f,0x5f,0x33,0x32,0x31,0x32, 0x01,0x92,0x21,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gb__3212"
+        // ASCII-7-bit=146  GB=190  [top GB]
+  {{0x67,0x62,0x5f,0x5f,0x38,0x30,0x33,0x30, 0x01,0x73,0x21,0xaf,0xf1,0x59,0xc1,0xb9,0x00,0x00,0x00,0x00,}}, // "gb__8030"
+        // ASCII-7-bit=115  GB=175  GBK=89  GB18030=185  [top GB18030]
+  {{0x67,0x62,0x5f,0x5f,0x38,0x35,0x39,0x31, 0x02,0x7f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gb__8591"
+        // ASCII-7-bit=127  Latin1=190  [top Latin1]
+  {{0x67,0x62,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x01,0x71,0x21,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gb______"
+        // ASCII-7-bit=113  GB=190  [top GB]
+  {{0x67,0x62,0x6b,0x5f,0x5f,0x5f,0x5f,0x5f, 0x01,0x76,0x21,0xaf,0xf1,0xb9,0xc1,0x13,0x00,0x00,0x00,0x00,}}, // "gbk_____"
+        // ASCII-7-bit=118  GB=175  GBK=185  GB18030=19  [top GBK]
+  {{0x67,0x64,0x5f,0x5f,0x32,0x33,0x31,0x32, 0x01,0x56,0x21,0xbe,0xf1,0x72,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gd__2312"
+        // ASCII-7-bit=86  GB=190  GBK=114  [top GB]
+  {{0x67,0x65,0x69,0x73,0x38,0x35,0x39,0x31, 0x02,0x79,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "geis8591"
+        // ASCII-7-bit=121  Latin1=190  [top Latin1]
+  {{0x67,0x65,0x6e,0x65,0x31,0x32,0x35,0x31, 0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "gene1251"
+        // CP1251=191  [top CP1251]
+  {{0x67,0x69,0x73,0x6f,0x38,0x35,0x39,0x31, 0x11,0xbe,0x21,0x6f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "giso8591"
+        // Latin1=190  CP1252=111  [top Latin1]
+  {{0x67,0x72,0x65,0x65,0x5f,0x5f,0x5f,0x5f, 0x01,0x90,0x10,0x31,0xbe,0x21,0x86,0x00,0x00,0x00,0x00,0x00,}}, // "gree____"
+        // ASCII-7-bit=144  Greek=190  CP1253=134  [top Greek]
+  {{0x68,0x72,0x77,0x69,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "hrwi1250"
+        // CP1250=191  [top CP1250]
+  {{0x68,0x74,0x63,0x68,0x5f,0x5f,0x5f,0x5f, 0x30,0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "htch____"
+        // HTCHANAKYA=191  [top HTCHANAKYA]
+  {{0x68,0x74,0x6d,0x6c,0x5f,0x5f,0x5f,0x5f, 0x01,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "html____"
+        // ASCII-7-bit=191  [top ASCII-7-bit]
+  {{0x68,0x74,0x74,0x70,0x5f,0x5f,0x5f,0x5f, 0x02,0xbb,0xa4,0x21,0x8d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "http____"
+        // ASCII-7-bit=187  Latin1=164  CP1252=141  [top ASCII-7-bit]
+  {{0x68,0x7a,0x67,0x62,0x32,0x33,0x31,0x32, 0x01,0x85,0x20,0x71,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "hzgb2312"
+        // ASCII-7-bit=133  HZ-GB-2312=190  [top HZ-GB-2312]
+  {{0x69,0x5f,0x5f,0x5f,0x38,0x35,0x39,0x31, 0x02,0x79,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "i___8591"
+        // ASCII-7-bit=121  Latin1=190  [top Latin1]
+  {{0x69,0x61,0x6e,0x6f,0x35,0x5f,0x5f,0x5f, 0x02,0xbe,0x61,0x21,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iano5___"
+        // ASCII-7-bit=190  Latin1=97  CP1252=84  [top ASCII-7-bit]
+  {{0x69,0x62,0x6d,0x5f,0x38,0x35,0x32,0x5f, 0x01,0xac,0x20,0x01,0xba,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ibm_852_"
+        // ASCII-7-bit=172  CP852=186  [top CP852]
+  {{0x69,0x62,0x6d,0x5f,0x38,0x36,0x36,0x5f, 0x01,0x84,0x20,0x31,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ibm_866_"
+        // ASCII-7-bit=132  CP866=190  [top CP866]
+  {{0x69,0x62,0x6d,0x5f,0x39,0x34,0x32,0x5f, 0x61,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ibm_942_"
+        // SJS=191  [top SJS]
+  {{0x69,0x63,0x6f,0x5f,0x38,0x35,0x39,0x31, 0x02,0x79,0xbb,0x21,0xa9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ico_8591"
+        // ASCII-7-bit=121  Latin1=187  CP1252=169  [top Latin1]
+  {{0x69,0x6e,0x64,0x6f,0x31,0x32,0x35,0x31, 0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "indo1251"
+        // CP1251=191  [top CP1251]
+  {{0x69,0x6e,0x73,0x6f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "inso8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x69,0x6f,0x73,0x5f,0x38,0x35,0x39,0x31, 0x02,0x97,0xbd,0x21,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ios_8591"
+        // ASCII-7-bit=151  Latin1=189  CP1252=110  [top Latin1]
+  {{0x69,0x6f,0x73,0x6f,0x38,0x35,0x39,0x31, 0x11,0xbe,0x21,0x79,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ioso8591"
+        // Latin1=190  CP1252=121  [top Latin1]
+  {{0x69,0x73,0x5f,0x5f,0x35,0x39,0x31,0x35, 0x11,0x7f,0xd1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "is__5915"
+        // Latin1=127  ISO-8859-15=190  [top ISO-8859-15]
+  {{0x69,0x73,0x5f,0x5f,0x38,0x35,0x39,0x31, 0x02,0xad,0xb7,0x21,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "is__8591"
+        // ASCII-7-bit=173  Latin1=183  CP1252=159  [top Latin1]
+  {{0x69,0x73,0x5f,0x5f,0x38,0x35,0x39,0x32, 0x01,0x78,0x81,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "is__8592"
+        // ASCII-7-bit=120  Latin2=190  [top Latin2]
+  {{0x69,0x73,0x5f,0x5f,0x38,0x35,0x39,0x37, 0x10,0x41,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "is__8597"
+        // Greek=191  [top Greek]
+  {{0x69,0x73,0x5f,0x5f,0x38,0x35,0x39,0x38, 0x01,0x6f,0x10,0x81,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "is__8598"
+        // ASCII-7-bit=111  Hebrew=190  [top Hebrew]
+  {{0x69,0x73,0x5f,0x5f,0x38,0x35,0x39,0x39, 0xd1,0xbe,0x81,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "is__8599"
+        // Latin5=190  CP1254=136  [top Latin5]
+  {{0x69,0x73,0x61,0x5f,0x35,0x39,0x31,0x35, 0x02,0x86,0x89,0xd1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isa_5915"
+        // ASCII-7-bit=134  Latin1=137  ISO-8859-15=190  [top ISO-8859-15]
+  {{0x69,0x73,0x64,0x5f,0x38,0x35,0x39,0x31, 0x02,0x79,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isd_8591"
+        // ASCII-7-bit=121  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x64,0x6f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isdo8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6e,0x5f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isn_8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x30,0x36,0x34,0x36, 0x02,0xb8,0xaa,0x21,0xa3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_0646"
+        // ASCII-7-bit=184  Latin1=170  CP1252=163  [top ASCII-7-bit]
+  {{0x69,0x73,0x6f,0x5f,0x31,0x30,0x34,0x30, 0x02,0x98,0xb2,0x21,0xb4,0xa1,0x5e,0x00,0x00,0x00,0x00,0x00,}}, // "iso_1040"
+        // ASCII-7-bit=152  Latin1=178  CP1252=180  ISO-8859-15=94  [top CP1252]
+  {{0x69,0x73,0x6f,0x5f,0x31,0x32,0x35,0x30, 0x01,0x90,0xb1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_1250"
+        // ASCII-7-bit=144  CP1250=190  [top CP1250]
+  {{0x69,0x73,0x6f,0x5f,0x31,0x32,0x35,0x31, 0x01,0x78,0x91,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_1251"
+        // ASCII-7-bit=120  CP1251=190  [top CP1251]
+  {{0x69,0x73,0x6f,0x5f,0x31,0x32,0x35,0x32, 0x02,0xad,0x9e,0x21,0xb7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_1252"
+        // ASCII-7-bit=173  Latin1=158  CP1252=183  [top CP1252]
+  {{0x69,0x73,0x6f,0x5f,0x31,0x32,0x35,0x33, 0x10,0x41,0x83,0x21,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_1253"
+        // Greek=131  CP1253=190  [top CP1253]
+  {{0x69,0x73,0x6f,0x5f,0x31,0x32,0x35,0x34, 0xd1,0x9b,0x81,0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_1254"
+        // Latin5=155  CP1254=189  [top CP1254]
+  {{0x69,0x73,0x6f,0x5f,0x31,0x32,0x35,0x35, 0x01,0x79,0x10,0x01,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_1255"
+        // ASCII-7-bit=121  CP1255=190  [top CP1255]
+  {{0x69,0x73,0x6f,0x5f,0x31,0x32,0x35,0x36, 0x01,0x6f,0xa1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_1256"
+        // ASCII-7-bit=111  CP1256=190  [top CP1256]
+  {{0x69,0x73,0x6f,0x5f,0x31,0x32,0x35,0x37, 0x01,0x7f,0xf1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_1257"
+        // ASCII-7-bit=127  CP1257=190  [top CP1257]
+  {{0x69,0x73,0x6f,0x5f,0x31,0x5f,0x5f,0x5f, 0x02,0x85,0xb5,0x21,0xb3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_1___"
+        // ASCII-7-bit=133  Latin1=181  CP1252=179  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x32,0x30,0x32,0x32, 0x01,0x97,0x51,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_2022"
+        // ASCII-7-bit=151  SJS=190  [top SJS]
+  {{0x69,0x73,0x6f,0x5f,0x35,0x35,0x39,0x31, 0x02,0xa9,0xb8,0x21,0xa4,0xa1,0x3c,0x00,0x00,0x00,0x00,0x00,}}, // "iso_5591"
+        // ASCII-7-bit=169  Latin1=184  CP1252=164  ISO-8859-15=60  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x35,0x35,0x39,0x32, 0x02,0x9a,0xbd,0x21,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_5592"
+        // ASCII-7-bit=154  Latin1=189  CP1252=146  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x35,0x38,0x39,0x31, 0x02,0xa1,0xbc,0x21,0x8b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_5891"
+        // ASCII-7-bit=161  Latin1=188  CP1252=139  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x35,0x39,0x31,0x30, 0x01,0xaa,0x20,0xa1,0xba,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_5910"
+        // ASCII-7-bit=170  Latin6=186  [top Latin6]
+  {{0x69,0x73,0x6f,0x5f,0x35,0x39,0x31,0x31, 0x01,0x86,0xd1,0xbe,0xd1,0x66,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_5911"
+        // ASCII-7-bit=134  ISO-8859-11=190  CP874=102  [top ISO-8859-11]
+  {{0x69,0x73,0x6f,0x5f,0x35,0x39,0x31,0x33, 0x01,0x9c,0xf1,0xa1,0xc1,0xbb,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_5913"
+        // ASCII-7-bit=156  CP1257=161  ISO-8859-13=187  [top ISO-8859-13]
+  {{0x69,0x73,0x6f,0x5f,0x35,0x39,0x31,0x34, 0x02,0x93,0xbd,0x21,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_5914"
+        // ASCII-7-bit=147  Latin1=189  CP1252=149  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x35,0x39,0x31,0x35, 0x02,0x98,0xad,0x21,0x81,0xa1,0xb7,0x00,0x00,0x00,0x00,0x00,}}, // "iso_5915"
+        // ASCII-7-bit=152  Latin1=173  CP1252=129  ISO-8859-15=183  [top ISO-8859-15]
+  {{0x69,0x73,0x6f,0x5f,0x35,0x39,0x31,0x36, 0x01,0xae,0xb1,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_5916"
+        // ASCII-7-bit=174  CP1250=185  [top CP1250]
+  {{0x69,0x73,0x6f,0x5f,0x35,0x39,0x32,0x32, 0x01,0xa7,0x81,0xbb,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_5922"
+        // ASCII-7-bit=167  Latin2=187  [top Latin2]
+  {{0x69,0x73,0x6f,0x5f,0x36,0x33,0x39,0x32, 0x02,0x7e,0xbe,0x21,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_6392"
+        // ASCII-7-bit=126  Latin1=190  CP1252=130  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x36,0x33,0x39,0x5f, 0x01,0xa6,0xa1,0xbc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_639_"
+        // ASCII-7-bit=166  CP1256=188  [top CP1256]
+  {{0x69,0x73,0x6f,0x5f,0x36,0x34,0x36,0x31, 0x02,0x7d,0xbe,0x21,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_6461"
+        // ASCII-7-bit=125  Latin1=190  CP1252=104  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x31,0x31, 0x02,0xb0,0xb7,0x21,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8511"
+        // ASCII-7-bit=176  Latin1=183  CP1252=146  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x36,0x31, 0x02,0x9f,0xba,0x21,0xa5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8561"
+        // ASCII-7-bit=159  Latin1=186  CP1252=165  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x38,0x31, 0x01,0x8d,0x51,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8581"
+        // ASCII-7-bit=141  SJS=190  [top SJS]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x39,0x30, 0x02,0x99,0xbc,0x21,0x9c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8590"
+        // ASCII-7-bit=153  Latin1=188  CP1252=156  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x39,0x31, 0x02,0xae,0xb8,0x21,0x99,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8591"
+        // ASCII-7-bit=174  Latin1=184  CP1252=153  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x39,0x32, 0x01,0x95,0x81,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8592"
+        // ASCII-7-bit=149  Latin2=190  [top Latin2]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x39,0x33, 0x01,0x9f,0x20,0x51,0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8593"
+        // ASCII-7-bit=159  Latin3=189  [top Latin3]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x39,0x34, 0x01,0xac,0x10,0xd1,0xba,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8594"
+        // ASCII-7-bit=172  Latin4=186  [top Latin4]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x39,0x35, 0x01,0xa6,0x10,0xa1,0xbc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8595"
+        // ASCII-7-bit=166  ISO-8859-5=188  [top ISO-8859-5]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x39,0x36, 0x01,0xae,0x20,0x11,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8596"
+        // ASCII-7-bit=174  Arabic=185  [top Arabic]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x39,0x37, 0x01,0x96,0x10,0x31,0xbd,0x21,0x8f,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8597"
+        // ASCII-7-bit=150  Greek=189  CP1253=143  [top Greek]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x39,0x38, 0x01,0x9b,0x10,0x81,0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8598"
+        // ASCII-7-bit=155  Hebrew=189  [top Hebrew]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x35,0x39,0x39, 0x01,0x7a,0xc1,0xbe,0x81,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8599"
+        // ASCII-7-bit=122  Latin5=190  CP1254=126  [top Latin5]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x36,0x30,0x31, 0x02,0xba,0x94,0x21,0xa6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8601"
+        // ASCII-7-bit=186  Latin1=148  CP1252=166  [top ASCII-7-bit]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x36,0x39,0x31, 0x02,0xad,0xb9,0x21,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8691"
+        // ASCII-7-bit=173  Latin1=185  CP1252=131  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x36,0x39,0x32, 0x91,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8692"
+        // Latin2=191  [top Latin2]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x38,0x35,0x31, 0x02,0xac,0xb7,0x21,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8851"
+        // ASCII-7-bit=172  Latin1=183  CP1252=159  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x38,0x35,0x39, 0x02,0xaa,0xba,0x21,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8859"
+        // ASCII-7-bit=170  Latin1=186  CP1252=128  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x38,0x39,0x39, 0xd1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8899"
+        // Latin5=191  [top Latin5]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x39,0x31,0x31, 0x02,0x8c,0xbd,0x21,0x9a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8911"
+        // ASCII-7-bit=140  Latin1=189  CP1252=154  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x39,0x31,0x5f, 0x01,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_891_"
+        // ASCII-7-bit=191  [top ASCII-7-bit]
+  {{0x69,0x73,0x6f,0x5f,0x38,0x39,0x35,0x31, 0x02,0xa3,0xbc,0x21,0x91,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_8951"
+        // ASCII-7-bit=163  Latin1=188  CP1252=145  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x39,0x30,0x30,0x31, 0x02,0x75,0xa7,0x21,0x85,0xa1,0xbb,0x00,0x00,0x00,0x00,0x00,}}, // "iso_9001"
+        // ASCII-7-bit=117  Latin1=167  CP1252=133  ISO-8859-15=187  [top ISO-8859-15]
+  {{0x69,0x73,0x6f,0x5f,0x39,0x35,0x35,0x31, 0x01,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_9551"
+        // ASCII-7-bit=191  [top ASCII-7-bit]
+  {{0x69,0x73,0x6f,0x5f,0x39,0x35,0x39,0x31, 0x02,0x72,0xbe,0x21,0x7b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_9591"
+        // ASCII-7-bit=114  Latin1=190  CP1252=123  [top Latin1]
+  {{0x69,0x73,0x6f,0x5f,0x39,0x35,0x39,0x32, 0x01,0x7f,0x81,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_9592"
+        // ASCII-7-bit=127  Latin2=190  [top Latin2]
+  {{0x69,0x73,0x6f,0x5f,0x39,0x35,0x39,0x39, 0x01,0x84,0xc1,0xbb,0x81,0xa6,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iso_9599"
+        // ASCII-7-bit=132  Latin5=187  CP1254=166  [top Latin5]
+  {{0x69,0x73,0x6f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x02,0x99,0xbc,0x21,0x96,0xa1,0x2e,0x00,0x00,0x00,0x00,0x00,}}, // "iso_____"
+        // ASCII-7-bit=153  Latin1=188  CP1252=150  ISO-8859-15=46  [top Latin1]
+  {{0x69,0x73,0x6f,0x61,0x38,0x35,0x39,0x31, 0x02,0x9a,0xbd,0x21,0x8a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoa8591"
+        // ASCII-7-bit=154  Latin1=189  CP1252=138  [top Latin1]
+  {{0x69,0x73,0x6f,0x62,0x38,0x35,0x39,0x31, 0x02,0x86,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isob8591"
+        // ASCII-7-bit=134  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6f,0x63,0x32,0x30,0x32,0x32, 0x20,0xd1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoc2022"
+        // ISO_2022_CN=191  [top ISO_2022_CN]
+  {{0x69,0x73,0x6f,0x63,0x38,0x35,0x39,0x31, 0x02,0x79,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoc8591"
+        // ASCII-7-bit=121  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6f,0x63,0x38,0x35,0x39,0x32, 0x91,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoc8592"
+        // Latin2=191  [top Latin2]
+  {{0x69,0x73,0x6f,0x64,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isod8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6f,0x65,0x38,0x35,0x39,0x31, 0x02,0x93,0xbd,0x21,0x8b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoe8591"
+        // ASCII-7-bit=147  Latin1=189  CP1252=139  [top Latin1]
+  {{0x69,0x73,0x6f,0x66,0x35,0x39,0x31,0x35, 0x11,0x6f,0xd1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isof5915"
+        // Latin1=111  ISO-8859-15=190  [top ISO-8859-15]
+  {{0x69,0x73,0x6f,0x68,0x38,0x35,0x39,0x31, 0x02,0x79,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoh8591"
+        // ASCII-7-bit=121  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6f,0x69,0x36,0x5f,0x5f,0x5f, 0x02,0xbe,0x92,0x21,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoi6___"
+        // ASCII-7-bit=190  Latin1=146  CP1252=127  [top ASCII-7-bit]
+  {{0x69,0x73,0x6f,0x69,0x38,0x35,0x39,0x31, 0x02,0xa2,0xbc,0x21,0x8c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoi8591"
+        // ASCII-7-bit=162  Latin1=188  CP1252=140  [top Latin1]
+  {{0x69,0x73,0x6f,0x69,0x38,0x35,0x39,0x32, 0x91,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoi8592"
+        // Latin2=191  [top Latin2]
+  {{0x69,0x73,0x6f,0x69,0x38,0x35,0x39,0x35, 0x01,0xa4,0x10,0xa1,0xbc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoi8595"
+        // ASCII-7-bit=164  ISO-8859-5=188  [top ISO-8859-5]
+  {{0x69,0x73,0x6f,0x69,0x38,0x35,0x39,0x36, 0x01,0x79,0x20,0x11,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoi8596"
+        // ASCII-7-bit=121  Arabic=190  [top Arabic]
+  {{0x69,0x73,0x6f,0x69,0x38,0x35,0x39,0x38, 0x01,0x83,0x10,0x01,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoi8598"
+        // ASCII-7-bit=131  CP1255=190  [top CP1255]
+  {{0x69,0x73,0x6f,0x69,0x38,0x35,0x39,0x39, 0xd1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoi8599"
+        // Latin5=191  [top Latin5]
+  {{0x69,0x73,0x6f,0x69,0x38,0x38,0x35,0x39, 0x02,0xae,0xb7,0x21,0x9a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoi8859"
+        // ASCII-7-bit=174  Latin1=183  CP1252=154  [top Latin1]
+  {{0x69,0x73,0x6f,0x69,0x38,0x39,0x5f,0x5f, 0xb1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoi89__"
+        // CP1256=191  [top CP1256]
+  {{0x69,0x73,0x6f,0x6a,0x32,0x30,0x30,0x32, 0x71,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoj2002"
+        // EUC-JP=191  [top EUC-JP]
+  {{0x69,0x73,0x6f,0x6a,0x32,0x30,0x32,0x32, 0x01,0x44,0x10,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoj2022"
+        // ASCII-7-bit=68  JIS=190  [top JIS]
+  {{0x69,0x73,0x6f,0x6a,0x38,0x35,0x39,0x31, 0x02,0x79,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoj8591"
+        // ASCII-7-bit=121  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6f,0x6b,0x32,0x30,0x30,0x32, 0x01,0x7a,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isok2002"
+        // ASCII-7-bit=122  KSC=190  [top KSC]
+  {{0x69,0x73,0x6f,0x6b,0x32,0x30,0x32,0x32, 0x20,0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isok2022"
+        // ISO-2022-KR=191  [top ISO-2022-KR]
+  {{0x69,0x73,0x6f,0x6c,0x31,0x5f,0x5f,0x5f, 0x01,0xa6,0x11,0xbc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isol1___"
+        // ASCII-7-bit=166  UTF8=188  [top UTF8]
+  {{0x69,0x73,0x6f,0x6c,0x35,0x39,0x31,0x31, 0x01,0x83,0xd1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isol5911"
+        // ASCII-7-bit=131  ISO-8859-11=190  [top ISO-8859-11]
+  {{0x69,0x73,0x6f,0x6c,0x37,0x5f,0x5f,0x5f, 0x02,0xa4,0xb8,0x21,0xa7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isol7___"
+        // ASCII-7-bit=164  Latin1=184  CP1252=167  [top Latin1]
+  {{0x69,0x73,0x6f,0x6c,0x38,0x35,0x39,0x31, 0x02,0x79,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isol8591"
+        // ASCII-7-bit=121  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6f,0x6d,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isom8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6f,0x6e,0x38,0x35,0x39,0x31, 0x02,0x79,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ison8591"
+        // ASCII-7-bit=121  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6f,0x6f,0x38,0x35,0x39,0x31, 0x02,0x6e,0xbe,0x21,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoo8591"
+        // ASCII-7-bit=110  Latin1=190  CP1252=110  [top Latin1]
+  {{0x69,0x73,0x6f,0x70,0x35,0x39,0x31,0x35, 0xf1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isop5915"
+        // ISO-8859-15=191  [top ISO-8859-15]
+  {{0x69,0x73,0x6f,0x70,0x38,0x35,0x39,0x31, 0x02,0x91,0xbe,0x21,0x6f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isop8591"
+        // ASCII-7-bit=145  Latin1=190  CP1252=111  [top Latin1]
+  {{0x69,0x73,0x6f,0x73,0x38,0x35,0x39,0x31, 0x02,0x84,0xbe,0x21,0x8d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isos8591"
+        // ASCII-7-bit=132  Latin1=190  CP1252=141  [top Latin1]
+  {{0x69,0x73,0x6f,0x75,0x36,0x34,0x36,0x31, 0x02,0xa6,0xb9,0x21,0xa1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isou6461"
+        // ASCII-7-bit=166  Latin1=185  CP1252=161  [top Latin1]
+  {{0x69,0x73,0x6f,0x75,0x36,0x34,0x36,0x5f, 0x01,0xbe,0x31,0x8e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isou646_"
+        // ASCII-7-bit=190  CP1252=142  [top ASCII-7-bit]
+  {{0x69,0x73,0x6f,0x75,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isou8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6f,0x75,0x38,0x5f,0x5f,0x5f, 0x02,0xa2,0xbc,0x21,0x8c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isou8___"
+        // ASCII-7-bit=162  Latin1=188  CP1252=140  [top Latin1]
+  {{0x69,0x73,0x6f,0x77,0x31,0x32,0x35,0x30, 0x01,0x6e,0xb1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isow1250"
+        // ASCII-7-bit=110  CP1250=190  [top CP1250]
+  {{0x69,0x73,0x6f,0x77,0x31,0x32,0x35,0x31, 0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isow1251"
+        // CP1251=191  [top CP1251]
+  {{0x69,0x73,0x6f,0x77,0x31,0x32,0x35,0x33, 0x01,0x6f,0x10,0x61,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isow1253"
+        // ASCII-7-bit=111  CP1253=190  [top CP1253]
+  {{0x69,0x73,0x6f,0x77,0x38,0x35,0x39,0x31, 0x02,0x89,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isow8591"
+        // ASCII-7-bit=137  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6f,0x78,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isox8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x6f,0x7a,0x38,0x35,0x39,0x31, 0x02,0x8b,0xbe,0x21,0x79,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isoz8591"
+        // ASCII-7-bit=139  Latin1=190  CP1252=121  [top Latin1]
+  {{0x69,0x73,0x70,0x5f,0x38,0x35,0x39,0x31, 0x02,0x86,0xbe,0x21,0x6f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isp_8591"
+        // ASCII-7-bit=134  Latin1=190  CP1252=111  [top Latin1]
+  {{0x69,0x73,0x73,0x5f,0x38,0x35,0x39,0x31, 0x02,0x79,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iss_8591"
+        // ASCII-7-bit=121  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x73,0x6f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isso8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x69,0x73,0x74,0x5f,0x35,0x39,0x31,0x35, 0x01,0x79,0xe1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ist_5915"
+        // ASCII-7-bit=121  ISO-8859-15=190  [top ISO-8859-15]
+  {{0x69,0x73,0x74,0x6f,0x38,0x35,0x39,0x31, 0x11,0xbe,0x21,0x6f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "isto8591"
+        // Latin1=190  CP1252=111  [top Latin1]
+  {{0x69,0x74,0x69,0x73,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x21,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "itis8591"
+        // ASCII-7-bit=111  Latin1=190  CP1252=134  [top Latin1]
+  {{0x69,0x74,0x69,0x74,0x35,0x39,0x31,0x35, 0x41,0x79,0xa1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "itit5915"
+        // CP1252=121  ISO-8859-15=190  [top ISO-8859-15]
+  {{0x69,0x74,0x69,0x74,0x38,0x35,0x39,0x31, 0x11,0xbe,0x21,0x8f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "itit8591"
+        // Latin1=190  CP1252=143  [top Latin1]
+  {{0x69,0x74,0x69,0x74,0x5f,0x5f,0x5f,0x5f, 0x02,0xb7,0xab,0x21,0xa4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "itit____"
+        // ASCII-7-bit=183  Latin1=171  CP1252=164  [top ASCII-7-bit]
+  {{0x69,0x75,0x5f,0x5f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iu__8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x69,0x77,0x69,0x6e,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iwin1250"
+        // CP1250=191  [top CP1250]
+  {{0x69,0x77,0x69,0x6e,0x31,0x32,0x35,0x37, 0x10,0x01,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iwin1257"
+        // CP1257=191  [top CP1257]
+  {{0x69,0x79,0x73,0x6f,0x38,0x35,0x39,0x31, 0x02,0x79,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "iyso8591"
+        // ASCII-7-bit=121  Latin1=190  [top Latin1]
+  {{0x6a,0x61,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x01,0x78,0x51,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ja______"
+        // ASCII-7-bit=120  SJS=190  [top SJS]
+  {{0x6a,0x61,0x67,0x72,0x5f,0x5f,0x5f,0x5f, 0x20,0xf1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "jagr____"
+        // JAGRAN=191  [top JAGRAN]
+  {{0x6a,0x69,0x73,0x5f,0x5f,0x5f,0x5f,0x5f, 0x01,0x81,0x10,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "jis_____"
+        // ASCII-7-bit=129  JIS=190  [top JIS]
+  {{0x6b,0x61,0x6d,0x63,0x5f,0x5f,0x5f,0x5f, 0x20,0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "kamc____"
+        // CP852=191  [top CP852]
+  {{0x6b,0x6f,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x01,0x7c,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ko______"
+        // ASCII-7-bit=124  KSC=190  [top KSC]
+  {{0x6b,0x6f,0x69,0x5f,0x37,0x5f,0x5f,0x5f, 0x01,0xbe,0x31,0x6b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "koi_7___"
+        // ASCII-7-bit=190  CP1252=107  [top ASCII-7-bit]
+  {{0x6b,0x6f,0x69,0x72,0x38,0x5f,0x5f,0x5f, 0x01,0x8b,0x10,0x11,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "koir8___"
+        // ASCII-7-bit=139  KOI8R=190  [top KOI8R]
+  {{0x6b,0x6f,0x69,0x75,0x38,0x5f,0x5f,0x5f, 0x01,0x77,0x10,0x91,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "koiu8___"
+        // ASCII-7-bit=119  KOI8U=190  [top KOI8U]
+  {{0x6b,0x6f,0x6b,0x72,0x5f,0x5f,0x5f,0x5f, 0x01,0x4b,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "kokr____"
+        // ASCII-7-bit=75  KSC=190  [top KSC]
+  {{0x6b,0x6f,0x6b,0x73,0x35,0x36,0x30,0x31, 0x01,0x75,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "koks5601"
+        // ASCII-7-bit=117  KSC=190  [top KSC]
+  {{0x6b,0x6f,0x72,0x65,0x5f,0x5f,0x5f,0x5f, 0x01,0x4e,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "kore____"
+        // ASCII-7-bit=78  KSC=190  [top KSC]
+  {{0x6b,0x72,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x01,0x74,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "kr______"
+        // ASCII-7-bit=116  KSC=190  [top KSC]
+  {{0x6b,0x72,0x63,0x5f,0x35,0x36,0x30,0x31, 0x01,0x74,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "krc_5601"
+        // ASCII-7-bit=116  KSC=190  [top KSC]
+  {{0x6b,0x73,0x63,0x5f,0x35,0x35,0x30,0x31, 0x51,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ksc_5501"
+        // KSC=191  [top KSC]
+  {{0x6b,0x73,0x63,0x5f,0x35,0x36,0x30,0x31, 0x01,0x62,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ksc_5601"
+        // ASCII-7-bit=98  KSC=190  [top KSC]
+  {{0x6b,0x73,0x63,0x5f,0x36,0x30,0x30,0x31, 0x51,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ksc_6001"
+        // KSC=191  [top KSC]
+  {{0x6c,0x61,0x73,0x74,0x5f,0x5f,0x5f,0x5f, 0x02,0xb7,0xaf,0x21,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "last____"
+        // ASCII-7-bit=183  Latin1=175  CP1252=144  [top ASCII-7-bit]
+  {{0x6c,0x61,0x74,0x69,0x31,0x5f,0x5f,0x5f, 0x02,0xa3,0xbb,0x21,0x9b,0xa1,0x73,0x00,0x00,0x00,0x00,0x00,}}, // "lati1___"
+        // ASCII-7-bit=163  Latin1=187  CP1252=155  ISO-8859-15=115  [top Latin1]
+  {{0x6c,0x61,0x74,0x69,0x32,0x5f,0x5f,0x5f, 0x01,0x94,0x81,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "lati2___"
+        // ASCII-7-bit=148  Latin2=190  [top Latin2]
+  {{0x6c,0x61,0x74,0x69,0x35,0x5f,0x5f,0x5f, 0x01,0x7c,0xc1,0xbe,0x81,0x87,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "lati5___"
+        // ASCII-7-bit=124  Latin5=190  CP1254=135  [top Latin5]
+  {{0x6c,0x61,0x74,0x69,0x38,0x35,0x39,0x31, 0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "lati8591"
+        // Latin1=191  [top Latin1]
+  {{0x6c,0x61,0x74,0x69,0x38,0x38,0x35,0x39, 0x91,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "lati8859"
+        // Latin2=191  [top Latin2]
+  {{0x6c,0x69,0x6e,0x75,0x31,0x32,0x35,0x32, 0x11,0x79,0x21,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "linu1252"
+        // Latin1=121  CP1252=190  [top CP1252]
+  {{0x6c,0x6f,0x67,0x69,0x5f,0x5f,0x5f,0x5f, 0x01,0x88,0x11,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "logi____"
+        // ASCII-7-bit=136  UTF8=190  [top UTF8]
+  {{0x6c,0x73,0x6f,0x5f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "lso_8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x6c,0x74,0x6f,0x5f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "lto_8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x6c,0x74,0x77,0x69,0x31,0x32,0x35,0x37, 0x10,0x01,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ltwi1257"
+        // CP1257=191  [top CP1257]
+  {{0x6d,0x61,0x63,0x5f,0x5f,0x5f,0x5f,0x5f, 0x01,0x82,0x91,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mac_____"
+        // ASCII-7-bit=130  CP1251=190  [top CP1251]
+  {{0x6d,0x61,0x63,0x63,0x5f,0x5f,0x5f,0x5f, 0x01,0x94,0x10,0xe1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "macc____"
+        // ASCII-7-bit=148  MACINTOSH=190  [top MACINTOSH]
+  {{0x6d,0x61,0x63,0x69,0x5f,0x5f,0x5f,0x5f, 0x02,0xbd,0x93,0x21,0x8b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "maci____"
+        // ASCII-7-bit=189  Latin1=147  CP1252=139  [top ASCII-7-bit]
+  {{0x6d,0x61,0x63,0x72,0x5f,0x5f,0x5f,0x5f, 0x01,0xaf,0x10,0xe1,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "macr____"
+        // ASCII-7-bit=175  MACINTOSH=185  [top MACINTOSH]
+  {{0x6d,0x73,0x5f,0x5f,0x38,0x37,0x34,0x5f, 0x01,0x80,0xd1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ms__874_"
+        // ASCII-7-bit=128  ISO-8859-11=190  [top ISO-8859-11]
+  {{0x6d,0x73,0x5f,0x5f,0x39,0x33,0x32,0x5f, 0x01,0x91,0x51,0xbe,0x10,0x11,0x82,0x00,0x00,0x00,0x00,0x00,}}, // "ms__932_"
+        // ASCII-7-bit=145  SJS=190  CP932=130  [top SJS]
+  {{0x6d,0x73,0x5f,0x5f,0x39,0x34,0x39,0x5f, 0x01,0x49,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ms__949_"
+        // ASCII-7-bit=73  KSC=190  [top KSC]
+  {{0x6d,0x73,0x5f,0x5f,0x39,0x35,0x30,0x5f, 0x01,0x75,0x71,0xbe,0x10,0xa1,0x43,0x00,0x00,0x00,0x00,0x00,}}, // "ms__950_"
+        // ASCII-7-bit=117  BIG5=190  BIG5_HKSCS=67  [top BIG5]
+  {{0x6d,0x73,0x63,0x70,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mscp1250"
+        // CP1250=191  [top CP1250]
+  {{0x6d,0x73,0x68,0x6b,0x39,0x35,0x30,0x5f, 0x01,0x82,0x71,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mshk950_"
+        // ASCII-7-bit=130  BIG5=190  [top BIG5]
+  {{0x6d,0x73,0x77,0x69,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mswi1250"
+        // CP1250=191  [top CP1250]
+  {{0x6d,0x73,0x77,0x69,0x31,0x32,0x35,0x33, 0x10,0x41,0x8f,0x21,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mswi1253"
+        // Greek=143  CP1253=190  [top CP1253]
+  {{0x6d,0x78,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "mx______"
+        // UTF8=191  [top UTF8]
+  {{0x6e,0x65,0x77,0x5f,0x5f,0x5f,0x5f,0x5f, 0x02,0xab,0xb2,0x21,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "new_____"
+        // ASCII-7-bit=171  Latin1=178  CP1252=175  [top Latin1]
+  {{0x6e,0x66,0x7a,0x5f,0x32,0x30,0x31,0x30, 0x02,0x80,0xbc,0x21,0xa3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "nfz_2010"
+        // ASCII-7-bit=128  Latin1=188  CP1252=163  [top Latin1]
+  {{0x6e,0x69,0x73,0x6f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "niso8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x6e,0x6c,0x61,0x69,0x38,0x35,0x39,0x31, 0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "nlai8591"
+        // Latin1=191  [top Latin1]
+  {{0x6e,0x6c,0x6e,0x6c,0x38,0x35,0x39,0x31, 0x11,0xbe,0x21,0x6f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "nlnl8591"
+        // Latin1=190  CP1252=111  [top Latin1]
+  {{0x6e,0x6f,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x01,0xa4,0x71,0xbc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "no______"
+        // ASCII-7-bit=164  BIG5=188  [top BIG5]
+  {{0x6e,0x6f,0x69,0x73,0x38,0x35,0x39,0x31, 0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "nois8591"
+        // Latin1=191  [top Latin1]
+  {{0x6e,0x6f,0x6e,0x65,0x5f,0x5f,0x5f,0x5f, 0x01,0x9b,0x51,0xbd,0x10,0x11,0x70,0x00,0x00,0x00,0x00,0x00,}}, // "none____"
+        // ASCII-7-bit=155  SJS=189  CP932=112  [top SJS]
+  {{0x6e,0x75,0x6c,0x6c,0x5f,0x5f,0x5f,0x5f, 0x01,0x92,0x71,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "null____"
+        // ASCII-7-bit=146  BIG5=190  [top BIG5]
+  {{0x6f,0x5f,0x5f,0x5f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "o___8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x6f,0x6e,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "on______"
+        // UTF8=191  [top UTF8]
+  {{0x6f,0x73,0x69,0x5f,0x35,0x39,0x31,0x35, 0x01,0x6f,0xe1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "osi_5915"
+        // ASCII-7-bit=111  ISO-8859-15=190  [top ISO-8859-15]
+  {{0x6f,0x73,0x6f,0x5f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "oso_8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x6f,0x73,0x70,0x5f,0x38,0x35,0x39,0x38, 0x01,0x6f,0x10,0x81,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "osp_8598"
+        // ASCII-7-bit=111  Hebrew=190  [top Hebrew]
+  {{0x6f,0x77,0x69,0x6e,0x31,0x32,0x35,0x36, 0xb1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "owin1256"
+        // CP1256=191  [top CP1256]
+  {{0x70,0x61,0x72,0x5f,0x5f,0x5f,0x5f,0x5f, 0x02,0x6e,0xb8,0x21,0xaf,0xa1,0x64,0x00,0x00,0x00,0x00,0x00,}}, // "par_____"
+        // ASCII-7-bit=110  Latin1=184  CP1252=175  ISO-8859-15=100  [top Latin1]
+  {{0x70,0x63,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "pc______"
+        // UTF8=191  [top UTF8]
+  {{0x70,0x6c,0x69,0x73,0x38,0x35,0x39,0x32, 0x91,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "plis8592"
+        // Latin2=191  [top Latin2]
+  {{0x70,0x6c,0x70,0x6c,0x38,0x35,0x39,0x32, 0x91,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "plpl8592"
+        // Latin2=191  [top Latin2]
+  {{0x70,0x72,0x65,0x64,0x5f,0x5f,0x5f,0x5f, 0x02,0xb4,0xa3,0x21,0xb1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "pred____"
+        // ASCII-7-bit=180  Latin1=163  CP1252=177  [top ASCII-7-bit]
+  {{0x70,0x74,0x62,0x72,0x38,0x35,0x39,0x31, 0x02,0x6e,0xbd,0x21,0x9a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ptbr8591"
+        // ASCII-7-bit=110  Latin1=189  CP1252=154  [top Latin1]
+  {{0x70,0x74,0x62,0x72,0x5f,0x5f,0x5f,0x5f, 0x01,0x79,0x11,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ptbr____"
+        // ASCII-7-bit=121  UTF8=190  [top UTF8]
+  {{0x70,0x74,0x69,0x73,0x38,0x35,0x39,0x31, 0x11,0xbe,0x21,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ptis8591"
+        // Latin1=190  CP1252=126  [top Latin1]
+  {{0x70,0x74,0x70,0x74,0x35,0x39,0x31,0x35, 0x11,0x89,0x21,0x6f,0xa1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ptpt5915"
+        // Latin1=137  CP1252=111  ISO-8859-15=190  [top ISO-8859-15]
+  {{0x72,0x66,0x63,0x5f,0x5f,0x5f,0x5f,0x5f, 0x01,0x87,0x11,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "rfc_____"
+        // ASCII-7-bit=135  UTF8=190  [top UTF8]
+  {{0x72,0x6f,0x69,0x73,0x38,0x35,0x39,0x31, 0x02,0x83,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "rois8591"
+        // ASCII-7-bit=131  Latin1=190  [top Latin1]
+  {{0x72,0x6f,0x72,0x6f,0x38,0x35,0x39,0x32, 0x01,0x99,0x81,0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "roro8592"
+        // ASCII-7-bit=153  Latin2=189  [top Latin2]
+  {{0x72,0x75,0x72,0x75,0x31,0x32,0x35,0x31, 0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ruru1251"
+        // CP1251=191  [top CP1251]
+  {{0x72,0x75,0x77,0x69,0x31,0x32,0x35,0x31, 0x01,0x6f,0x91,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ruwi1251"
+        // ASCII-7-bit=111  CP1251=190  [top CP1251]
+  {{0x73,0x65,0x65,0x6d,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "seem8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x73,0x65,0x74,0x63,0x5f,0x5f,0x5f,0x5f, 0x01,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "setc____"
+        // ASCII-7-bit=191  [top ASCII-7-bit]
+  {{0x73,0x68,0x69,0x66,0x31,0x32,0x35,0x32, 0x02,0x86,0x6f,0x21,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "shif1252"
+        // ASCII-7-bit=134  Latin1=111  CP1252=190  [top CP1252]
+  {{0x73,0x68,0x69,0x66,0x5f,0x5f,0x5f,0x5f, 0x01,0x6e,0x51,0xbe,0x10,0x11,0x6b,0x00,0x00,0x00,0x00,0x00,}}, // "shif____"
+        // ASCII-7-bit=110  SJS=190  CP932=107  [top SJS]
+  {{0x73,0x69,0x66,0x74,0x5f,0x5f,0x5f,0x5f, 0x01,0x72,0x51,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "sift____"
+        // ASCII-7-bit=114  SJS=190  [top SJS]
+  {{0x73,0x6a,0x69,0x73,0x5f,0x5f,0x5f,0x5f, 0x01,0x79,0x51,0xbe,0x10,0x11,0x5d,0x00,0x00,0x00,0x00,0x00,}}, // "sjis____"
+        // ASCII-7-bit=121  SJS=190  CP932=93  [top SJS]
+  {{0x73,0x6b,0x77,0x69,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "skwi1250"
+        // CP1250=191  [top CP1250]
+  {{0x73,0x6f,0x5f,0x5f,0x35,0x39,0x31,0x35, 0x02,0x86,0x6f,0xd1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "so__5915"
+        // ASCII-7-bit=134  Latin1=111  ISO-8859-15=190  [top ISO-8859-15]
+  {{0x73,0x6f,0x5f,0x5f,0x38,0x35,0x39,0x31, 0x02,0x9a,0xbd,0x21,0x8b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "so__8591"
+        // ASCII-7-bit=154  Latin1=189  CP1252=139  [top Latin1]
+  {{0x73,0x6f,0x5f,0x5f,0x38,0x35,0x39,0x32, 0x91,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "so__8592"
+        // Latin2=191  [top Latin2]
+  {{0x73,0x76,0x73,0x65,0x38,0x35,0x39,0x31, 0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "svse8591"
+        // Latin1=191  [top Latin1]
+  {{0x74,0x61,0x62,0x5f,0x5f,0x5f,0x5f,0x5f, 0x30,0x41,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tab_____"
+        // TAB=191  [top TAB]
+  {{0x74,0x61,0x6d,0x5f,0x5f,0x5f,0x5f,0x5f, 0x30,0x31,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tam_____"
+        // TAM=191  [top TAM]
+  {{0x74,0x65,0x78,0x74,0x5f,0x5f,0x5f,0x5f, 0x02,0xac,0xb7,0x21,0xa0,0xa1,0x49,0x00,0x00,0x00,0x00,0x00,}}, // "text____"
+        // ASCII-7-bit=172  Latin1=183  CP1252=160  ISO-8859-15=73  [top Latin1]
+  {{0x74,0x69,0x73,0x5f,0x36,0x31,0x38,0x5f, 0x01,0x75,0xd1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tis_618_"
+        // ASCII-7-bit=117  ISO-8859-11=190  [top ISO-8859-11]
+  {{0x74,0x69,0x73,0x5f,0x36,0x32,0x30,0x5f, 0x01,0x82,0xd1,0xbe,0xd1,0x7b,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tis_620_"
+        // ASCII-7-bit=130  ISO-8859-11=190  CP874=123  [top ISO-8859-11]
+  {{0x74,0x72,0x5f,0x5f,0x38,0x35,0x39,0x39, 0xd1,0xbe,0x81,0x6f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tr__8599"
+        // Latin5=190  CP1254=111  [top Latin5]
+  {{0x74,0x72,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0xd1,0xbe,0x81,0x5f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tr______"
+        // Latin5=190  CP1254=95  [top Latin5]
+  {{0x74,0x72,0x69,0x73,0x38,0x35,0x39,0x39, 0xd1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tris8599"
+        // Latin5=191  [top Latin5]
+  {{0x74,0x73,0x63,0x69,0x5f,0x5f,0x5f,0x5f, 0x30,0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "tsci____"
+        // TSCII=191  [top TSCII]
+  {{0x75,0x63,0x73,0x5f,0x32,0x5f,0x5f,0x5f, 0x02,0xb8,0xa7,0x21,0xa3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "ucs_2___"
+        // ASCII-7-bit=184  Latin1=167  CP1252=163  [top ASCII-7-bit]
+  {{0x75,0x66,0x74,0x5f,0x38,0x5f,0x5f,0x5f, 0x01,0xb0,0x11,0xb8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "uft_8___"
+        // ASCII-7-bit=176  UTF8=184  [top UTF8]
+  {{0x75,0x69,0x73,0x6f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "uiso8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+  {{0x75,0x6e,0x69,0x63,0x31,0x31,0x5f,0x5f, 0x01,0xa7,0x11,0xbb,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "unic11__"
+        // ASCII-7-bit=167  UTF8=187  [top UTF8]
+  {{0x75,0x6e,0x69,0x63,0x5f,0x5f,0x5f,0x5f, 0x02,0xbe,0x90,0x21,0x85,0xa1,0x45,0x00,0x00,0x00,0x00,0x00,}}, // "unic____"
+        // ASCII-7-bit=190  Latin1=144  CP1252=133  ISO-8859-15=69  [top ASCII-7-bit]
+  {{0x75,0x6e,0x6b,0x6e,0x38,0x5f,0x5f,0x5f, 0x02,0xa2,0xbb,0x21,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "unkn8___"
+        // ASCII-7-bit=162  Latin1=187  CP1252=149  [top Latin1]
+  {{0x75,0x6e,0x6b,0x6e,0x5f,0x5f,0x5f,0x5f, 0x01,0x9c,0x51,0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "unkn____"
+        // ASCII-7-bit=156  SJS=189  [top SJS]
+  {{0x75,0x70,0x66,0x5f,0x38,0x5f,0x5f,0x5f, 0x21,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "upf_8___"
+        // UTF8=191  [top UTF8]
+  {{0x75,0x73,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f, 0x02,0xbe,0x7d,0x21,0x7d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "us______"
+        // ASCII-7-bit=190  Latin1=125  CP1252=125  [top ASCII-7-bit]
+  {{0x75,0x73,0x61,0x73,0x5f,0x5f,0x5f,0x5f, 0x02,0xbe,0x83,0x21,0x6a,0xa1,0x38,0x00,0x00,0x00,0x00,0x00,}}, // "usas____"
+        // ASCII-7-bit=190  Latin1=131  CP1252=106  ISO-8859-15=56  [top ASCII-7-bit]
+  {{0x75,0x73,0x65,0x6e,0x5f,0x5f,0x5f,0x5f, 0x02,0xb8,0x94,0x21,0xad,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "usen____"
+        // ASCII-7-bit=184  Latin1=148  CP1252=173  [top ASCII-7-bit]
+  {{0x75,0x73,0x65,0x72,0x5f,0x5f,0x5f,0x5f, 0x02,0xb9,0x9e,0x21,0xa7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "user____"
+        // ASCII-7-bit=185  Latin1=158  CP1252=167  [top ASCII-7-bit]
+  {{0x75,0x73,0x69,0x73,0x38,0x35,0x39,0x31, 0x02,0x78,0xbe,0x21,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "usis8591"
+        // ASCII-7-bit=120  Latin1=190  CP1252=120  [top Latin1]
+  {{0x75,0x73,0x6f,0x5f,0x38,0x35,0x39,0x31, 0x02,0x79,0xbc,0x21,0xa5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "uso_8591"
+        // ASCII-7-bit=121  Latin1=188  CP1252=165  [top Latin1]
+  {{0x75,0x74,0x66,0x5f,0x31,0x36,0x5f,0x5f, 0x01,0xb0,0x11,0xb8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utf_16__"
+        // ASCII-7-bit=176  UTF8=184  [top UTF8]
+  {{0x75,0x74,0x66,0x5f,0x33,0x32,0x5f,0x5f, 0x02,0xb5,0xa9,0x21,0x9f,0xa1,0xa1,0x00,0x00,0x00,0x00,0x00,}}, // "utf_32__"
+        // ASCII-7-bit=181  Latin1=169  CP1252=159  ISO-8859-15=161  [top ASCII-7-bit]
+  {{0x75,0x74,0x66,0x5f,0x35,0x39,0x31,0x35, 0x11,0x90,0xd1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utf_5915"
+        // Latin1=144  ISO-8859-15=190  [top ISO-8859-15]
+  {{0x75,0x74,0x66,0x5f,0x37,0x5f,0x5f,0x5f, 0x01,0x88,0x20,0xb1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utf_7___"
+        // ASCII-7-bit=136  UTF7=190  [top UTF7]
+  {{0x75,0x74,0x66,0x5f,0x38,0x35,0x39,0x31, 0x02,0x95,0xbd,0x21,0x8c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utf_8591"
+        // ASCII-7-bit=149  Latin1=189  CP1252=140  [top Latin1]
+  {{0x75,0x74,0x66,0x5f,0x38,0x35,0x39,0x39, 0xd1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utf_8599"
+        // Latin5=191  [top Latin5]
+  {{0x75,0x74,0x66,0x5f,0x38,0x5f,0x5f,0x5f, 0x01,0xae,0x11,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utf_8___"
+        // ASCII-7-bit=174  UTF8=185  [top UTF8]
+  {{0x75,0x74,0x66,0x5f,0x5f,0x5f,0x5f,0x5f, 0x02,0xbe,0x8a,0x21,0x74,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utf_____"
+        // ASCII-7-bit=190  Latin1=138  CP1252=116  [top ASCII-7-bit]
+  {{0x75,0x74,0x66,0x62,0x31,0x36,0x5f,0x5f, 0x01,0xa5,0x20,0x41,0xbc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utfb16__"
+        // ASCII-7-bit=165  UTF-16BE=188  [top UTF-16BE]
+  {{0x75,0x74,0x66,0x62,0x33,0x32,0x5f,0x5f, 0x30,0x81,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utfb32__"
+        // UTF-32BE=191  [top UTF-32BE]
+  {{0x75,0x74,0x66,0x69,0x38,0x35,0x39,0x31, 0x02,0x99,0xbd,0x21,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utfi8591"
+        // ASCII-7-bit=153  Latin1=189  CP1252=135  [top Latin1]
+  {{0x75,0x74,0x66,0x6c,0x31,0x36,0x5f,0x5f, 0x20,0x71,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utfl16__"
+        // UTF-16LE=191  [top UTF-16LE]
+  {{0x75,0x74,0x66,0x6c,0x33,0x32,0x5f,0x5f, 0x30,0x91,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utfl32__"
+        // UTF-32LE=191  [top UTF-32LE]
+  {{0x75,0x74,0x66,0x75,0x38,0x38,0x5f,0x5f, 0x30,0xb1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "utfu88__"
+        // X-UTF8UTF8=191  [top X-UTF8UTF8]
+  {{0x76,0x61,0x6c,0x75,0x5f,0x5f,0x5f,0x5f, 0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "valu____"
+        // Latin1=191  [top Latin1]
+  {{0x76,0x69,0x73,0x75,0x5f,0x5f,0x5f,0x5f, 0x01,0x84,0x10,0x81,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "visu____"
+        // ASCII-7-bit=132  Hebrew=190  [top Hebrew]
+  {{0x77,0x61,0x69,0x6e,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wain1250"
+        // CP1250=191  [top CP1250]
+  {{0x77,0x65,0x69,0x73,0x35,0x39,0x31,0x35, 0x02,0x9f,0x7d,0x21,0x84,0xa1,0xbc,0x00,0x00,0x00,0x00,0x00,}}, // "weis5915"
+        // ASCII-7-bit=159  Latin1=125  CP1252=132  ISO-8859-15=188  [top ISO-8859-15]
+  {{0x77,0x65,0x69,0x73,0x38,0x35,0x39,0x31, 0x11,0xbe,0x21,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "weis8591"
+        // Latin1=190  CP1252=126  [top Latin1]
+  {{0x77,0x65,0x73,0x74,0x31,0x32,0x35,0x32, 0x01,0x6f,0x31,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "west1252"
+        // ASCII-7-bit=111  CP1252=190  [top CP1252]
+  {{0x77,0x65,0x73,0x74,0x38,0x35,0x39,0x31, 0x02,0x79,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "west8591"
+        // ASCII-7-bit=121  Latin1=190  [top Latin1]
+  {{0x77,0x65,0x73,0x74,0x5f,0x5f,0x5f,0x5f, 0x02,0xa9,0x9d,0x21,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "west____"
+        // ASCII-7-bit=169  Latin1=157  CP1252=185  [top CP1252]
+  {{0x77,0x69,0x64,0x6e,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "widn1250"
+        // CP1250=191  [top CP1250]
+  {{0x77,0x69,0x64,0x6f,0x31,0x32,0x35,0x30, 0x01,0x7c,0xb1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wido1250"
+        // ASCII-7-bit=124  CP1250=190  [top CP1250]
+  {{0x77,0x69,0x64,0x6f,0x31,0x32,0x35,0x31, 0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wido1251"
+        // CP1251=191  [top CP1251]
+  {{0x77,0x69,0x64,0x6f,0x31,0x32,0x35,0x32, 0x11,0xa9,0x21,0xbb,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wido1252"
+        // Latin1=169  CP1252=187  [top CP1252]
+  {{0x77,0x69,0x64,0x6f,0x31,0x32,0x35,0x36, 0xb1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wido1256"
+        // CP1256=191  [top CP1256]
+  {{0x77,0x69,0x6d,0x64,0x31,0x32,0x35,0x31, 0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wimd1251"
+        // CP1251=191  [top CP1251]
+  {{0x77,0x69,0x6e,0x5f,0x31,0x32,0x35,0x30, 0x01,0x8d,0xb1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "win_1250"
+        // ASCII-7-bit=141  CP1250=190  [top CP1250]
+  {{0x77,0x69,0x6e,0x5f,0x31,0x32,0x35,0x31, 0x01,0x8f,0x91,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "win_1251"
+        // ASCII-7-bit=143  CP1251=190  [top CP1251]
+  {{0x77,0x69,0x6e,0x5f,0x31,0x32,0x35,0x32, 0x02,0xac,0xa4,0x21,0xb6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "win_1252"
+        // ASCII-7-bit=172  Latin1=164  CP1252=182  [top CP1252]
+  {{0x77,0x69,0x6e,0x5f,0x31,0x32,0x35,0x33, 0x10,0x41,0x85,0x21,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "win_1253"
+        // Greek=133  CP1253=190  [top CP1253]
+  {{0x77,0x69,0x6e,0x5f,0x31,0x32,0x35,0x34, 0x01,0x6f,0xc1,0xaf,0x81,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "win_1254"
+        // ASCII-7-bit=111  Latin5=175  CP1254=185  [top CP1254]
+  {{0x77,0x69,0x6e,0x5f,0x31,0x32,0x35,0x35, 0x10,0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "win_1255"
+        // CP1255=191  [top CP1255]
+  {{0x77,0x69,0x6e,0x5f,0x31,0x32,0x35,0x36, 0x01,0x7f,0xa1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "win_1256"
+        // ASCII-7-bit=127  CP1256=190  [top CP1256]
+  {{0x77,0x69,0x6e,0x5f,0x31,0x32,0x35,0x37, 0x01,0x8c,0xf1,0xbe,0xc1,0x77,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "win_1257"
+        // ASCII-7-bit=140  CP1257=190  ISO-8859-13=119  [top CP1257]
+  {{0x77,0x69,0x6e,0x5f,0x38,0x37,0x34,0x5f, 0x01,0x56,0xd1,0xaf,0xd1,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "win_874_"
+        // ASCII-7-bit=86  ISO-8859-11=175  CP874=185  [top CP874]
+  {{0x77,0x69,0x6e,0x5f,0x5f,0x5f,0x5f,0x5f, 0x01,0x9a,0x91,0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "win_____"
+        // ASCII-7-bit=154  CP1251=189  [top CP1251]
+  {{0x77,0x69,0x6e,0x63,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "winc1250"
+        // CP1250=191  [top CP1250]
+  {{0x77,0x69,0x6e,0x63,0x31,0x32,0x35,0x31, 0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "winc1251"
+        // CP1251=191  [top CP1251]
+  {{0x77,0x69,0x6e,0x64,0x31,0x32,0x33,0x34, 0xb1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind1234"
+        // CP1256=191  [top CP1256]
+  {{0x77,0x69,0x6e,0x64,0x31,0x32,0x35,0x30, 0x01,0x88,0xb1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind1250"
+        // ASCII-7-bit=136  CP1250=190  [top CP1250]
+  {{0x77,0x69,0x6e,0x64,0x31,0x32,0x35,0x31, 0x01,0x8b,0x91,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind1251"
+        // ASCII-7-bit=139  CP1251=190  [top CP1251]
+  {{0x77,0x69,0x6e,0x64,0x31,0x32,0x35,0x32, 0x02,0xa5,0xac,0x21,0xb6,0xa1,0x4f,0x00,0x00,0x00,0x00,0x00,}}, // "wind1252"
+        // ASCII-7-bit=165  Latin1=172  CP1252=182  ISO-8859-15=79  [top CP1252]
+  {{0x77,0x69,0x6e,0x64,0x31,0x32,0x35,0x33, 0x01,0x94,0x10,0x31,0xae,0x21,0xb8,0x00,0x00,0x00,0x00,0x00,}}, // "wind1253"
+        // ASCII-7-bit=148  Greek=174  CP1253=184  [top CP1253]
+  {{0x77,0x69,0x6e,0x64,0x31,0x32,0x35,0x34, 0x01,0x73,0xc1,0xaf,0x81,0xb9,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind1254"
+        // ASCII-7-bit=115  Latin5=175  CP1254=185  [top CP1254]
+  {{0x77,0x69,0x6e,0x64,0x31,0x32,0x35,0x35, 0x01,0x86,0x10,0x01,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind1255"
+        // ASCII-7-bit=134  CP1255=190  [top CP1255]
+  {{0x77,0x69,0x6e,0x64,0x31,0x32,0x35,0x36, 0x01,0x74,0xa1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind1256"
+        // ASCII-7-bit=116  CP1256=190  [top CP1256]
+  {{0x77,0x69,0x6e,0x64,0x31,0x32,0x35,0x37, 0x01,0x87,0xf1,0xbe,0xc1,0x52,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind1257"
+        // ASCII-7-bit=135  CP1257=190  ISO-8859-13=82  [top CP1257]
+  {{0x77,0x69,0x6e,0x64,0x33,0x31,0x5f,0x5f, 0x01,0x62,0x51,0xbe,0x10,0x11,0x5e,0x00,0x00,0x00,0x00,0x00,}}, // "wind31__"
+        // ASCII-7-bit=98  SJS=190  CP932=94  [top SJS]
+  {{0x77,0x69,0x6e,0x64,0x38,0x34,0x37,0x5f, 0xe1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind847_"
+        // ISO-8859-11=191  [top ISO-8859-11]
+  {{0x77,0x69,0x6e,0x64,0x38,0x35,0x32,0x5f, 0x01,0x79,0x20,0x01,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind852_"
+        // ASCII-7-bit=121  CP852=190  [top CP852]
+  {{0x77,0x69,0x6e,0x64,0x38,0x35,0x39,0x31, 0x02,0x9a,0xbd,0x21,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind8591"
+        // ASCII-7-bit=154  Latin1=189  CP1252=137  [top Latin1]
+  {{0x77,0x69,0x6e,0x64,0x38,0x35,0x39,0x32, 0x01,0x83,0x81,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind8592"
+        // ASCII-7-bit=131  Latin2=190  [top Latin2]
+  {{0x77,0x69,0x6e,0x64,0x38,0x35,0x39,0x36, 0x01,0x6f,0x20,0x11,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind8596"
+        // ASCII-7-bit=111  Arabic=190  [top Arabic]
+  {{0x77,0x69,0x6e,0x64,0x38,0x35,0x39,0x37, 0x01,0x6f,0x10,0x31,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind8597"
+        // ASCII-7-bit=111  Greek=190  [top Greek]
+  {{0x77,0x69,0x6e,0x64,0x38,0x35,0x39,0x39, 0x01,0x6c,0xc1,0xbe,0x81,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind8599"
+        // ASCII-7-bit=108  Latin5=190  CP1254=108  [top Latin5]
+  {{0x77,0x69,0x6e,0x64,0x38,0x36,0x36,0x5f, 0x20,0x41,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind866_"
+        // CP866=191  [top CP866]
+  {{0x77,0x69,0x6e,0x64,0x38,0x37,0x34,0x5f, 0x01,0x8a,0xd1,0xbe,0xd1,0x7d,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind874_"
+        // ASCII-7-bit=138  ISO-8859-11=190  CP874=125  [top ISO-8859-11]
+  {{0x77,0x69,0x6e,0x64,0x38,0x38,0x35,0x39, 0x02,0x97,0xb6,0x21,0xb1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind8859"
+        // ASCII-7-bit=151  Latin1=182  CP1252=177  [top Latin1]
+  {{0x77,0x69,0x6e,0x64,0x38,0x5f,0x5f,0x5f, 0x01,0x93,0x11,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind8___"
+        // ASCII-7-bit=147  UTF8=190  [top UTF8]
+  {{0x77,0x69,0x6e,0x64,0x39,0x33,0x32,0x5f, 0x01,0x7d,0x51,0xa4,0x10,0x11,0xbc,0x00,0x00,0x00,0x00,0x00,}}, // "wind932_"
+        // ASCII-7-bit=125  SJS=164  CP932=188  [top CP932]
+  {{0x77,0x69,0x6e,0x64,0x39,0x34,0x39,0x5f, 0x01,0x7b,0x41,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind949_"
+        // ASCII-7-bit=123  KSC=190  [top KSC]
+  {{0x77,0x69,0x6e,0x64,0x39,0x35,0x30,0x5f, 0x01,0x6f,0x71,0x7f,0x20,0x51,0xbe,0x00,0x00,0x00,0x00,0x00,}}, // "wind950_"
+        // ASCII-7-bit=111  BIG5=127  BIG5-CP950=190  [top BIG5-CP950]
+  {{0x77,0x69,0x6e,0x64,0x5f,0x5f,0x5f,0x5f, 0x01,0xb5,0x11,0xb4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wind____"
+        // ASCII-7-bit=181  UTF8=180  [top ASCII-7-bit]
+  {{0x77,0x69,0x6e,0x65,0x31,0x32,0x35,0x32, 0x01,0x6f,0x31,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wine1252"
+        // ASCII-7-bit=111  CP1252=190  [top CP1252]
+  {{0x77,0x69,0x6e,0x6f,0x31,0x32,0x35,0x30, 0xc1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wino1250"
+        // CP1250=191  [top CP1250]
+  {{0x77,0x69,0x6e,0x6f,0x31,0x32,0x35,0x31, 0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wino1251"
+        // CP1251=191  [top CP1251]
+  {{0x77,0x69,0x6e,0x73,0x31,0x32,0x35,0x35, 0x10,0x11,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wins1255"
+        // CP1255=191  [top CP1255]
+  {{0x77,0x69,0x72,0x64,0x31,0x32,0x35,0x31, 0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wird1251"
+        // CP1251=191  [top CP1251]
+  {{0x77,0x69,0x73,0x6f,0x38,0x35,0x39,0x31, 0x11,0xbe,0x21,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wiso8591"
+        // Latin1=190  CP1252=127  [top Latin1]
+  {{0x77,0x6e,0x64,0x6f,0x31,0x32,0x35,0x31, 0xa1,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wndo1251"
+        // CP1251=191  [top CP1251]
+  {{0x77,0x6e,0x64,0x6f,0x31,0x32,0x35,0x36, 0x01,0x6e,0xa1,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wndo1256"
+        // ASCII-7-bit=110  CP1256=190  [top CP1256]
+  {{0x77,0x6f,0x6e,0x64,0x31,0x32,0x35,0x32, 0x41,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "wond1252"
+        // CP1252=191  [top CP1252]
+  {{0x77,0x6f,0x72,0x67,0x31,0x32,0x35,0x32, 0x01,0x83,0x31,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "worg1252"
+        // ASCII-7-bit=131  CP1252=190  [top CP1252]
+  {{0x79,0x65,0x73,0x5f,0x5f,0x5f,0x5f,0x5f, 0x02,0xbe,0x81,0x21,0x8b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "yes_____"
+        // ASCII-7-bit=190  Latin1=129  CP1252=139  [top ASCII-7-bit]
+  {{0x79,0x6b,0x74,0x63,0x5f,0x5f,0x5f,0x5f, 0x51,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "yktc____"
+        // KSC=191  [top KSC]
+  {{0x7a,0x73,0x6f,0x5f,0x38,0x35,0x39,0x31, 0x02,0x6f,0xbe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}}, // "zso_8591"
+        // ASCII-7-bit=111  Latin1=190  [top Latin1]
+};
+
+static const int kCharsetHintProbsSize = 438;
+
+static const uint8 kDefaultProb[NUM_RANKEDENCODING] = {        // MaxRange 192
+177, 170, 156, 149, 150, 142, 140, 124,  130, 127, 124, 118, 127, 118, 109, 104,  98, 93, 96, 82, 84, 81, 80, 64,  61, 57, 53, 47, 42, 28, 24, 22,
+  17, 0, 5, 1, 5, 12, 0, 5,  0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, };
+
+static const int kMaxTldKey = 4;
+static const int kMaxTldVector = 16;
+static const int kMaxCharsetKey = 8;
+static const int kMaxCharsetVector = 12;
+static const int kMaxLangKey = 8;
+static const int kMaxLangVector = 12;
+// Smoothing percentage across encodings with same UTF-8 result: 100%
+
+static const UnigramEntry unigram_table[NUM_RANKEDENCODING] = {
+{ // ASCII-7-bit (788.373M chars) [0]
+  {NULL, NULL, NULL, NULL},
+  77, 207, 29, 27, 255,
+    {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,189,189,0,0,189,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+},
+
+{ // Latin1 (1792.786M chars) [1]
+  {NULL, NULL, ced_hires_13, ced_hires_13, },
+  87, 217, 37, 20, 128,
+    {1,0,1,1,0,0,1,0, 0,9,9,0,1,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   186,137,105,112,140,106,126,145, 132,113,128,124,123,101,126,119, 141,113,107,116,129,113,113,143, 130,105,127,128,103,116,106,128,
+   122,138,132,155,161,129,133,190, 124,152,124,119,117,144,120,121, 127,136,122,132,112,139,144,116, 113,101,117,117,145,120,135,114,
+   121,138,107,125,163,129,131,190, 120,141,112,110,114,143,115,133, 124,135,126,131,118,141,160,110, 114,104,119,99,148,119,129,117,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   195,159,115,166,155,125,133,156, 130,168,156,159,121,135,150,133, 169,125,135,118,150,113,114,173, 126,107,176,178,97,131,103,170,
+   165,209,166,183,211,198,182,194, 193,219,182,153,130,205,161,148, 160,187,142,208,169,167,210,131, 192,122,189,152,212,181,158,185,
+   195,214,155,184,212,208,182,181, 183,213,171,154,161,215,150,137, 175,187,162,210,158,168,208,131, 192,156,189,142,199,193,155,120,
+   },
+  {43,13,19,71,0,0,0,0, 0,145,153,0,0,165,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   226,142,175,92,109,120,168,161, 150,151,135,110,183,159,177,142, 146,163,159,149,146,144,137,136, 133,134,166,128,200,102,117,143,
+   102,197,188,202,195,190,180,196, 185,179,172,189,202,198,215,195, 185,164,216,206,204,172,190,182, 158,170,181,119,107,136,114,132,
+   134,194,189,198,192,189,178,194, 182,176,171,189,201,194,213,194, 181,151,213,203,201,171,189,182, 155,176,182,106,136,85,122,2,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   187,138,112,113,139,107,128,136, 133,137,118,120,118,129,135,123, 139,125,101,126,128,108,123,140, 131,107,125,133,123,119,104,138,
+   133,128,130,187,160,126,123,145, 123,153,122,122,114,136,125,117, 153,141,127,129,107,167,144,114, 113,105,118,118,134,117,122,164,
+   130,132,122,187,161,131,122,139, 122,137,119,120,113,138,123,110, 153,141,127,130,133,167,146,104, 117,105,130,109,131,117,133,119,
+   },
+  {128,0,110,142,142,142,142,140, 0,0,142,142,142,142,142,142, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   22,0,2,2,2,2,2,2, 0,0,2,14,2,2,2,2, 46,0,2,14,2,2,2,2, 0,0,2,18,2,4,2,6,
+   16,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 42,0,2,10,2,2,2,2, 0,0,2,2,2,2,2,2,
+   18,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 38,0,2,6,2,2,2,2, 0,0,2,2,2,2,2,2,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   164,0,136,164,110,108,108,106, 0,0,190,164,136,134,122,152, 158,0,144,156,112,116,106,106, 0,0,166,212,158,164,146,162,
+   90,0,92,96,139,139,94,92, 0,0,148,166,184,176,134,146, 98,0,96,104,139,139,110,110, 0,0,138,172,174,190,154,164,
+   130,0,138,126,38,48,135,135, 0,0,130,156,128,148,186,180, 120,0,126,120,48,56,139,141, 0,0,142,156,140,186,166,188,
+   },
+},
+
+{ // UTF8 (16713.069M chars) [2]
+  {NULL, NULL, NULL, NULL},
+  169, 203, 42, 24, 131,
+    {197,207,201,202,188,181,180,180, 188,183,184,187,188,182,178,183, 181,179,172,178,182,182,183,183, 181,181,183,180,189,181,175,180,
+   182,183,175,177,184,183,183,184, 187,176,181,181,178,186,187,184, 187,177,175,183,184,176,174,177, 196,183,188,186,194,184,180,181,
+   0,0,183,211,189,187,147,104, 65,123,87,102,121,13,187,176, 216,203,118,108,88,134,124,193, 206,202,155,161,58,0,119,0,
+   181,176,180,213,192,206,202,197, 192,187,165,177,183,170,90,182, 71,0,0,13,1,0,0,0, 0,0,0,0,0,0,0,0,
+   119,115,120,96,114,98,104,106, 121,111,96,110,113,105,109,100, 109,107,92,112,112,97,91,102, 110,119,116,99,117,110,104,106,
+   133,132,135,130,132,139,129,131, 133,127,121,126,132,128,121,138, 136,128,120,126,145,114,120,123, 132,124,128,122,138,120,117,132,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,64,
+   },
+  {0,0,0,0,0,0,0,0, 0,109,143,0,0,144,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   189,125,169,73,68,107,151,137, 146,147,111,102,152,138,154,129, 142,152,148,137,131,132,127,127, 123,121,139,118,189,98,96,127,
+   87,124,119,124,117,115,112,111, 114,127,109,102,114,120,120,114, 120,94,118,122,122,113,106,113, 95,99,88,117,109,125,97,107,
+   80,139,113,146,112,126,103,99, 115,147,96,97,118,131,156,123, 132,80,111,140,146,136,107,102, 86,116,85,83,110,84,118,0,
+   204,210,207,204,196,192,190,188, 194,187,191,189,194,188,179,187, 184,183,175,181,186,187,183,187, 184,189,185,186,191,184,178,186,
+   192,196,179,183,192,185,183,198, 192,196,189,182,182,193,189,192, 199,194,188,195,190,194,185,185, 203,191,196,195,200,196,197,188,
+   0,0,121,113,72,69,49,4, 0,0,0,71,0,0,113,107, 113,102,0,0,0,0,19,86, 134,132,91,105,0,0,0,0,
+   174,140,150,207,185,199,194,190, 187,181,160,174,177,157,75,176, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   6,0,2,2,2,6,2,2, 0,0,0,0,50,38,2,128, 4,0,2,2,2,4,2,2, 0,0,0,0,54,40,2,128,
+   4,0,2,2,2,6,2,2, 0,0,0,0,128,128,128,128, 2,0,2,2,2,2,2,2, 0,0,0,0,128,128,128,128,
+   2,0,2,2,2,2,2,2, 0,0,0,0,128,128,128,128, 128,0,118,118,128,128,128,128, 0,0,0,0,128,128,64,128,
+   176,0,168,172,172,172,162,164, 120,126,126,116,126,140,134,128, 168,0,170,166,172,170,174,176, 118,122,118,116,142,116,138,128,
+   168,0,170,168,168,172,176,174, 110,120,114,112,136,142,140,128, 168,0,172,170,160,166,160,164, 120,126,118,116,140,134,136,128,
+   0,0,0,0,0,0,0,0, 116,122,140,128,0,0,0,0, 0,0,0,0,0,0,0,0, 128,120,126,134,0,0,0,0,
+   0,0,0,0,0,0,0,0, 134,132,120,126,0,0,0,0, 0,0,0,0,0,0,0,0, 116,152,138,116,0,0,0,0,
+   },
+},
+
+{ // GB (9061.562M chars) [3]
+  {NULL, ced_hires_3, ced_hires_4, ced_hires_5, },
+  204, 189, 27, 16, 128,
+    {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,66,73, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   70,204,125,202,219,216,120,114, 118,156,113,85,96,78,81,79, 190,196,199,195,195,208,196,199, 196,203,195,200,201,197,193,195,
+   193,195,190,195,195,183,196,191, 201,197,207,197,197,198,201,199, 201,191,203,201,198,196,202,200, 134,116,114,132,122,124,118,115,
+   115,120,116,120,141,121,124,123, 121,120,121,113,125,116,117,110, 117,114,112,113,119,112,124,123, 84,74,83,78,69,83,77,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,93,66,68,84,3,51,0, 116,102,41,61,83,57,66,12, 70,85,73,66,54,64,44,68, 0,3,3,3,54,73,70,54,
+   95,66,54,44,66,78,26,37, 57,41,3,57,13,2,0,0, 54,51,0,41,68,70,70,59, 41,70,41,13,0,64,59,80,
+   12,3,51,12,13,26,41,3, 0,79,47,61,2,19,66,64, 37,37,13,93,54,13,54,51, 51,12,59,73,89,54,54,94,
+   },
+  {101,14,0,0,0,0,0,0, 16,16,0,0,68,49,44,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   81,56,73,0,0,0,64,71, 49,49,0,84,53,69,60,32, 84,60,49,35,15,19,18,1, 2,0,15,0,92,29,0,0,
+   83,69,66,85,103,49,69,51, 56,71,53,83,70,73,65,91, 71,59,61,71,80,77,72,79, 61,69,67,64,66,73,77,73,
+   70,75,71,70,86,62,64,69, 71,66,39,69,73,64,74,75, 79,69,71,70,83,80,53,92, 69,66,59,69,69,85,90,3,
+   94,72,77,73,64,67,62,71, 80,76,76,72,65,74,80,73, 77,93,79,99,84,69,81,94, 51,35,67,74,49,67,84,78,
+   126,196,197,192,196,176,185,184, 195,185,196,194,198,187,184,191, 190,190,180,189,189,194,181,191, 182,191,188,196,189,191,187,192,
+   186,174,192,193,203,190,193,194, 190,188,189,195,181,187,196,191, 200,178,184,186,189,186,192,180, 193,176,195,182,185,179,182,186,
+   185,187,190,185,183,187,185,186, 177,190,189,192,187,187,181,180, 178,185,188,196,172,177,186,192, 192,182,197,186,178,187,185,0,
+   },
+  {128,0,128,128,128,128,128,128, 128,128,104,128,114,124,128,118, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   46,0,46,50,32,40,40,34, 128,128,26,28,26,30,32,32, 42,0,42,44,26,34,34,28, 128,128,46,50,46,52,54,54,
+   44,0,44,46,28,36,36,30, 128,128,48,50,46,52,56,54, 50,0,50,54,34,42,42,38, 128,128,50,52,50,56,58,58,
+   128,0,128,128,128,128,128,128, 128,128,58,62,58,64,70,66, 128,0,128,128,128,128,128,128, 128,128,40,42,40,44,48,46,
+   0,0,0,0,154,180,164,168, 188,176,128,106,122,124,134,92, 0,0,0,0,128,128,128,136, 128,128,132,130,130,132,130,130,
+   0,0,0,0,242,218,218,232, 138,134,137,131,129,117,127,113, 0,0,0,0,202,206,218,216, 110,112,129,127,129,127,127,131,
+   0,0,0,0,202,218,218,206, 114,106,122,126,126,128,130,132, 0,0,0,0,210,214,206,206, 120,114,124,128,126,136,122,126,
+   0,0,0,0,206,208,200,202, 218,236,136,124,124,122,126,126, 230,194,200,214,190,198,194,216, 192,186,128,122,132,128,130,120,
+   },
+},
+
+{ // CP1252 (408.280M chars) [4]
+  {NULL, NULL, ced_hires_13, ced_hires_13, },
+  89, 209, 40, 30, 128,
+    {116,114,130,121,123,133,113,118, 108,96,180,101,111,113,172,102, 63,68,105,82,59,104,73,70, 61,79,141,65,74,59,133,92,
+   184,136,106,111,139,104,125,143, 132,111,126,123,121,100,125,118, 143,111,106,114,127,111,112,142, 128,104,127,127,102,114,106,126,
+   120,172,132,158,159,131,136,188, 123,153,123,119,120,159,118,120, 127,136,121,131,136,137,143,117, 112,109,131,116,143,151,134,114,
+   120,172,130,128,161,130,131,188, 120,143,112,109,119,159,114,131, 122,133,125,130,137,139,158,109, 114,108,131,98,146,151,128,116,
+   169,126,98,99,143,148,118,105, 94,83,203,88,113,99,199,98, 95,134,176,160,158,170,169,143, 114,141,201,118,111,110,201,130,
+   193,157,113,163,153,123,131,154, 127,166,153,157,119,132,148,131, 167,123,133,115,148,111,112,171, 124,105,174,176,96,128,101,168,
+   163,207,164,180,208,196,180,192, 191,217,180,151,128,203,159,146, 158,185,140,206,167,165,207,128, 190,119,187,150,210,179,156,183,
+   193,212,152,182,209,206,180,179, 181,211,168,151,159,213,148,135, 173,185,160,208,156,166,206,129, 190,153,187,139,197,191,153,118,
+   },
+  {128,43,4,69,19,0,0,0, 0,146,153,0,0,165,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   226,141,174,92,108,119,170,160, 148,152,134,110,182,158,177,142, 147,162,157,147,145,143,136,135, 132,133,165,129,200,100,121,143,
+   118,197,187,200,193,200,178,194, 183,191,170,191,201,196,214,194, 184,162,214,205,205,174,188,180, 157,168,179,122,110,135,115,131,
+   133,196,189,196,191,201,176,192, 180,192,169,191,199,192,212,193, 182,149,211,202,203,175,187,180, 153,174,180,105,136,86,122,30,
+   113,107,124,132,114,134,112,118, 113,93,171,97,104,105,166,96, 99,108,124,118,117,133,112,109, 102,129,171,117,112,107,166,135,
+   183,137,111,110,137,105,126,133, 132,134,125,119,116,126,133,122, 144,123,99,123,127,108,120,139, 128,105,124,131,120,117,103,138,
+   130,152,132,184,157,126,125,142, 124,153,120,120,118,183,123,115, 150,138,125,127,107,164,145,111, 111,103,118,117,132,116,120,161,
+   130,157,121,184,158,129,123,136, 124,145,121,118,111,183,121,110, 150,139,124,127,130,164,143,101, 116,102,132,106,129,115,130,117,
+   },
+  {32,0,2,24,2,2,2,2, 22,20,16,36,6,24,6,26, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   24,0,2,2,2,2,2,2, 2,2,2,16,2,2,2,4, 46,0,2,16,2,2,2,2, 6,6,2,20,2,6,2,10,
+   14,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 38,0,2,6,2,2,2,2, 2,2,2,2,2,2,2,2,
+   14,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 34,0,2,4,2,2,2,2, 2,2,2,2,2,2,2,2,
+   130,0,106,124,140,126,112,112, 160,134,134,140,180,136,142,134, 134,0,132,126,86,84,140,128, 118,162,132,166,130,138,180,136,
+   162,0,136,166,110,110,108,106, 118,138,192,162,130,136,116,152, 158,0,144,154,112,118,106,106, 148,164,166,210,152,164,138,164,
+   88,0,92,96,139,141,94,92, 180,136,146,162,174,174,124,144, 98,0,96,104,139,139,110,112, 184,150,134,164,162,186,142,158,
+   128,0,138,128,38,48,135,137, 130,178,128,152,118,146,176,178, 120,0,126,120,48,56,139,141, 136,180,140,150,130,184,156,184,
+   },
+},
+
+{ // KSC (5258.976M chars) [5]
+  {NULL, ced_hires_6, ced_hires_7, ced_hires_8, },
+  203, 186, 27, 9, 128,
+    {71,109,117,106,108,109,104,107, 110,108,108,112,103,104,106,105, 102,108,101,103,104,107,99,103, 104,99,107,103,102,103,107,98,
+   106,206,164,204,164,121,141,122, 146,119,136,130,120,90,91,81, 216,212,164,201,215,207,187,206, 213,208,207,204,210,209,205,216,
+   225,214,178,201,188,198,199,213, 199,93,107,104,116,113,115,113, 108,107,109,113,110,97,99,104, 101,113,115,107,110,108,111,117,
+   110,108,103,116,115,142,146,136, 118,134,125,131,144,112,112,126, 112,117,107,103,107,103,102,104, 101,114,109,104,105,93,0,0,
+   52,0,0,60,0,1,0,0, 0,12,0,0,28,0,18,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,78,41,83,69,52,75,65, 1,50,60,76,0,62,88,58, 79,72,60,68,0,65,54,44, 72,58,78,86,46,82,73,48,
+   57,67,58,67,72,57,60,86, 18,31,65,50,69,65,85,79, 52,57,54,34,54,0,41,38, 0,78,82,58,50,78,1,46,
+   0,57,68,0,72,67,48,65, 48,41,31,107,18,67,63,0, 12,48,0,52,0,28,85,46, 82,67,44,48,48,1,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,44,71,0,0,61,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   117,80,77,0,0,0,66,63, 78,84,0,97,84,72,82,66, 4,74,65,78,51,54,50,9, 24,6,52,5,117,40,0,44,
+   63,9,0,52,36,0,9,0, 0,0,0,24,48,0,51,51, 60,1,55,58,40,0,7,6, 59,8,0,81,54,73,75,73,
+   57,2,57,35,48,28,1,2, 0,42,0,6,50,1,20,8, 38,0,0,32,57,0,4,2, 35,32,36,56,57,50,89,38,
+   66,99,111,102,98,106,96,97, 95,99,98,96,98,104,96,95, 98,97,92,103,92,97,93,96, 95,96,104,97,94,93,92,91,
+   157,208,188,195,195,184,194,180, 174,186,184,181,197,195,200,187, 193,181,186,192,167,192,186,169, 205,187,203,199,192,172,174,185,
+   186,179,196,199,181,187,182,201, 179,175,184,177,204,183,204,207, 190,189,185,176,191,179,192,189, 182,200,194,190,178,181,182,187,
+   177,176,199,166,189,187,186,198, 184,182,174,196,175,194,193,169, 178,186,174,191,161,176,204,191, 198,180,187,178,193,181,149,9,
+   },
+  {128,0,128,128,128,128,128,128, 128,128,80,86,78,94,92,92, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   92,0,42,48,90,68,96,74, 128,128,44,44,42,48,48,50, 58,0,10,16,56,36,58,40, 128,128,42,44,40,46,48,48,
+   66,0,18,26,66,44,66,50, 128,128,42,44,42,48,48,50, 128,0,128,128,128,128,128,128, 128,128,50,52,48,58,58,58,
+   128,0,108,108,128,128,128,128, 128,128,40,40,38,44,44,46, 128,0,128,128,128,128,128,128, 128,128,54,56,50,60,58,60,
+   0,0,0,0,186,204,190,182, 244,244,124,124,72,82,142,64, 0,0,0,0,164,206,174,184, 240,238,122,124,78,80,144,52,
+   0,0,0,0,186,200,180,188, 142,140,147,131,99,107,101,91, 0,0,0,0,174,196,184,194, 112,114,125,127,127,125,133,129,
+   0,0,0,0,196,204,194,204, 120,108,124,126,130,132,116,128, 0,0,0,0,0,0,0,0, 0,0,124,130,122,130,126,126,
+   0,0,0,0,0,0,0,0, 0,0,144,130,102,108,110,110, 0,0,0,0,0,0,0,0, 0,0,126,130,124,124,130,126,
+   },
+},
+
+{ // SJS (6339.756M chars) [6]
+  {NULL, NULL, NULL, NULL},
+  151, 136, 55, 16, 129,
+    {50,188,238,215,160,59,66,108, 192,200,192,194,200,199,202,200, 190,190,186,192,182,192,188,186, 101,96,109,95,94,95,102,113,
+   84,100,117,108,117,135,81,77, 99,97,99,87,94,104,96,118, 120,115,111,101,96,105,108,108, 111,98,126,107,129,116,102,97,
+   121,104,84,106,118,104,105,80, 97,98,110,102,121,108,114,99, 91,90,109,89,86,81,89,103, 106,103,118,100,101,114,121,115,
+   114,112,106,111,106,104,109,112, 108,105,167,179,185,80,87,184, 83,79,20,45,22,55,39,0, 21,0,65,55,62,0,0,0,
+   0,223,195,229,105,32,59,131, 61,180,189,185,180,185,191,185, 177,167,169,174,171,174,169,172, 163,80,84,78,90,80,80,85,
+   59,108,81,89,100,121,105,17, 50,24,63,0,25,17,1,53, 95,61,66,50,0,31,31,81, 122,2,32,1,95,88,0,56,
+   61,50,56,0,94,59,44,0, 38,84,50,0,106,63,0,18, 44,63,28,0,24,0,80,50, 56,88,38,24,1,93,98,91,
+   113,91,95,105,97,102,91,93, 93,99,91,0,23,0,0,44, 0,76,0,0,7,42,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,15,79,0,0,65,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   113,69,98,19,0,8,69,67, 80,86,51,58,73,87,70,67, 54,73,78,62,54,54,44,46, 38,34,67,70,119,41,36,55,
+   200,198,192,189,158,190,180,168, 171,181,178,171,176,161,191,184, 172,169,180,178,178,160,185,181, 191,169,175,200,180,158,184,172,
+   177,159,190,176,163,179,174,191, 178,187,183,159,184,168,174,182, 179,167,178,179,178,180,188,176, 172,175,172,178,169,173,171,37,
+   175,177,171,172,170,176,176,180, 168,182,188,188,179,179,172,172, 155,178,155,196,173,164,176,173, 162,162,164,156,168,174,177,175,
+   179,175,195,159,185,163,180,172, 181,189,191,180,175,184,173,177, 166,185,174,185,165,192,178,192, 167,176,168,178,189,191,180,179,
+   167,183,176,162,191,193,192,176, 191,193,177,160,203,189,170,166, 173,161,169,158,174,146,173,170, 162,160,175,166,189,175,165,174,
+   186,163,175,177,160,176,185,183, 187,191,188,159,174,173,175,176, 193,187,161,164,151,172,158,144, 152,140,181,168,175,37,20,2,
+   },
+  {46,0,6,6,2,2,2,2, 2,2,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   128,0,126,120,8,12,14,18, 34,38,30,30,26,42,32,42, 128,0,128,126,6,10,10,14, 38,42,34,34,30,46,36,46,
+   128,0,128,128,10,14,16,20, 52,56,48,46,42,60,50,60, 128,0,128,128,12,16,18,22, 52,56,48,46,42,60,50,60,
+   94,0,52,54,2,2,2,2, 32,38,28,28,24,40,30,40, 128,0,128,128,46,50,52,58, 82,88,78,78,72,94,80,90,
+   0,0,0,0,140,140,138,138, 132,130,132,130,134,132,132,128, 0,0,0,0,134,142,142,142, 130,136,134,134,124,134,132,142,
+   214,0,248,242,110,114,102,98, 152,140,134,122,120,120,88,72, 182,0,226,234,144,134,80,86, 136,114,134,134,126,154,96,86,
+   178,0,234,228,102,112,100,108, 140,126,126,128,112,160,72,74, 180,0,232,230,100,114,108,110, 138,130,120,146,128,142,50,56,
+   0,0,0,0,134,146,130,142, 138,144,128,148,64,80,66,78, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+},
+
+{ // EUC-JP (4368.914M chars) [7]
+  {NULL, ced_hires_0, ced_hires_1, ced_hires_2, },
+  202, 178, 27, 15, 128,
+    {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,173,100, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,228,186,180,229,225,122,123, 168,7,2,28,62,133,86,74, 195,190,202,195,193,195,191,198, 201,199,199,204,200,197,198,200,
+   200,193,197,196,192,199,202,195, 189,196,201,190,197,197,191,183, 120,107,102,109,112,111,101,113, 107,110,96,107,105,115,111,124,
+   116,109,107,105,105,141,147,137, 110,140,100,120,146,102,103,102, 105,112,105,133,84,0,0,0, 0,54,7,43,73,0,9,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {146,59,0,0,61,22,13,0, 60,71,0,0,80,26,61,28, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   83,27,41,0,46,51,35,0, 49,37,24,68,35,38,32,13, 131,42,28,35,34,12,0,0, 63,21,33,0,74,25,11,68,
+   61,0,0,0,68,11,0,0, 31,1,1,0,39,0,101,78, 61,83,87,94,79,39,85,70, 76,64,19,86,75,87,77,75,
+   72,46,73,78,49,96,75,69, 60,49,27,69,85,65,60,49, 74,36,61,72,76,65,80,67, 67,77,74,64,73,63,88,36,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   164,202,199,199,199,177,202,190, 185,187,195,193,192,191,183,196, 192,181,174,190,182,189,177,195, 190,197,177,183,211,189,184,194,
+   186,192,177,195,187,176,192,194, 198,186,201,196,186,188,198,191, 190,186,182,176,189,182,193,190, 188,181,187,183,189,177,189,189,
+   180,185,188,180,184,187,184,191, 191,188,197,192,194,179,192,186, 182,187,188,200,180,176,184,190, 174,170,179,160,193,182,193,31,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,44,8,34,20,28,28, 0,0,0,0,0,0,0,0, 2,0,56,14,40,28,34,34, 0,0,0,0,0,0,0,0,
+   2,0,60,16,42,30,36,38, 0,0,0,0,0,0,0,0, 92,0,128,128,128,128,128,128, 0,0,0,0,0,0,0,0,
+   70,0,128,88,128,128,128,128, 0,0,0,0,0,0,0,0, 102,0,128,120,128,128,128,128, 0,0,0,0,0,0,0,0,
+   0,0,146,186,190,162,182,180, 178,180,134,130,124,136,18,30, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   246,0,174,232,204,218,212,204, 0,0,131,131,129,123,123,117, 250,0,190,230,210,212,216,214, 0,0,125,121,125,131,131,133,
+   250,0,192,232,204,216,202,214, 0,0,120,126,124,128,128,132, 244,0,172,236,206,224,218,216, 0,0,126,128,124,130,124,128,
+   246,0,202,232,208,214,212,210, 0,0,144,110,104,110,108,108, 238,0,210,224,196,224,210,208, 0,0,118,114,104,116,104,152,
+   },
+},
+
+{ // BIG5 (2431.102M chars) [8]
+  {NULL, NULL, NULL, NULL},
+  157, 174, 62, 10, 129,
+    {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,70,70, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,182,164,130,214,207,204,195, 202,198,207,192,194,201,196,187, 202,189,195,196,188,194,190,181, 194,188,192,185,188,188,191,185,
+   184,179,185,186,180,189,110,108, 94,123,111,121,108,113,105,112, 116,103,101,106,110,102,114,99, 88,91,120,98,95,107,108,94,
+   113,93,95,93,94,131,139,129, 121,130,93,111,138,87,98,87, 90,89,97,92,97,92,92,96, 102,147,84,82,84,87,88,107,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,216,162,127,212,204,205,192, 184,187,189,191,193,185,187,179, 188,190,183,192,177,189,189,198, 181,189,172,184,183,180,173,165,
+   177,175,172,174,167,176,167,100, 42,127,129,92,89,80,107,94, 90,84,93,108,107,102,93,84, 105,100,83,90,94,79,92,95,
+   84,84,90,92,77,89,103,113, 89,87,81,74,82,87,92,56, 77,96,70,88,72,107,102,81, 90,70,90,80,91,56,42,19,
+   },
+  {90,0,0,0,0,0,0,0, 0,0,0,0,0,4,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   77,44,72,0,0,0,44,0, 53,54,4,69,21,39,51,1, 78,36,31,5,0,4,0,0, 0,0,5,0,85,0,0,0,
+   200,201,188,193,189,168,184,189, 192,178,176,174,183,184,182,191, 186,180,173,170,180,184,162,188, 182,171,166,172,168,185,178,176,
+   173,183,178,161,180,180,169,177, 177,186,185,178,177,170,187,186, 184,188,165,193,177,186,185,182, 179,178,178,175,185,176,192,2,
+   51,0,0,0,0,0,0,0, 0,0,0,19,0,0,0,14, 52,0,0,0,3,17,19,1, 0,0,0,0,0,0,0,0,
+   157,190,169,191,185,175,165,184, 179,175,174,184,175,175,167,166, 181,177,178,189,170,179,183,169, 182,186,200,181,167,183,169,167,
+   184,179,171,169,182,173,187,181, 182,184,182,175,183,177,188,186, 186,187,182,194,163,176,175,182, 180,172,184,181,179,176,173,180,
+   175,175,178,172,178,181,187,170, 177,191,189,178,186,179,167,176, 165,169,173,182,190,175,181,181, 187,183,185,177,183,178,177,107,
+   },
+  {128,0,128,128,72,86,86,80, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   48,0,42,44,2,2,2,2, 80,76,2,2,2,2,2,2, 54,0,52,52,2,2,2,2, 96,96,2,2,2,2,2,2,
+   74,0,76,72,2,2,2,2, 128,128,2,2,2,2,2,2, 128,0,128,128,8,18,18,14, 128,128,28,26,26,26,26,28,
+   128,0,128,128,2,4,4,2, 128,128,34,30,30,30,32,32, 128,0,128,128,4,14,12,10, 128,128,38,34,34,34,36,36,
+   0,0,0,0,160,160,160,166, 0,0,160,122,152,116,140,114, 0,0,0,0,150,150,150,148, 0,0,148,150,150,150,150,148,
+   0,0,0,0,142,138,138,134, 0,0,136,138,134,134,136,134, 0,0,0,0,132,138,142,146, 0,0,136,130,138,138,134,136,
+   0,0,0,0,136,146,134,142, 0,0,126,134,134,130,144,140, 0,0,0,0,136,138,138,144, 0,0,142,144,128,136,130,124,
+   0,0,0,0,144,140,134,134, 0,0,160,126,108,102,108,106, 224,128,202,216,130,148,132,136, 204,204,126,118,114,144,122,150,
+   },
+},
+
+{ // Latin2 (315.882M chars) [9]
+  {NULL, NULL, ced_hires_14, ced_hires_14, },
+  90, 204, 45, 27, 127,
+    {0,0,0,0,0,0,0,0, 0,13,13,0,0,13,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   176,178,79,184,121,96,188,129, 119,153,115,86,132,84,143,152, 125,178,73,182,114,95,188,79, 117,152,115,86,133,93,141,152,
+   89,170,119,130,151,109,85,137, 171,147,170,100,153,155,102,118, 87,92,116,171,110,99,128,101, 181,128,158,80,133,126,117,98,
+   90,170,94,124,153,103,95,127, 169,141,170,94,155,155,99,117, 81,92,116,171,113,99,148,82, 180,129,154,79,137,126,117,81,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   185,202,72,207,144,140,210,145, 119,178,153,122,170,124,172,196, 158,217,79,211,140,141,210,120, 115,176,151,152,187,124,173,200,
+   97,198,155,156,200,127,165,183, 202,208,195,143,194,195,151,143, 149,174,157,197,159,157,199,120, 192,171,178,136,201,170,155,174,
+   102,203,144,173,201,101,197,171, 203,203,208,143,202,204,139,150, 148,188,166,199,147,166,197,121, 192,191,178,144,189,182,155,121,
+   },
+  {65,0,0,0,0,0,0,0, 0,129,154,0,0,162,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   228,154,181,85,87,110,164,158, 144,155,125,102,191,153,189,148, 131,145,140,130,127,125,117,115, 113,114,177,135,201,88,123,155,
+   81,200,180,210,197,203,168,188, 175,191,170,190,200,190,208,194, 182,141,204,199,200,181,182,186, 146,188,181,102,112,126,100,120,
+   110,200,181,209,196,205,167,186, 172,191,169,190,200,189,207,194, 180,135,203,198,199,182,181,191, 143,189,181,91,125,72,102,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   176,176,79,167,122,89,163,118, 119,144,100,124,140,114,142,179, 121,178,71,168,109,88,163,67, 117,144,103,124,140,102,142,179,
+   91,160,116,126,149,84,190,132, 166,138,143,91,83,185,105,126, 81,118,127,168,91,58,130,99, 171,124,126,82,122,95,120,153,
+   93,161,107,127,150,87,190,124, 167,128,145,91,82,185,102,129, 83,119,127,170,121,59,134,85, 172,125,112,80,118,93,120,85,
+   },
+  {132,0,128,156,156,156,156,154, 0,0,156,156,156,156,156,156, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   10,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 14,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   24,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 24,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   24,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 24,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   132,0,98,130,142,136,102,114, 0,0,172,130,168,162,108,142, 130,0,136,132,52,54,136,130, 0,0,108,174,82,90,170,166,
+   98,0,90,98,141,143,100,90, 0,0,164,118,170,178,130,128, 100,0,92,100,139,143,108,110, 0,0,166,92,174,156,128,142,
+   134,0,136,134,36,54,135,135, 0,0,114,168,90,144,168,180, 130,0,130,134,40,56,137,141, 0,0,102,170,80,158,172,156,
+   },
+},
+
+{ // CP1251 (2609.249M chars) [10]
+  {NULL, NULL, ced_hires_10, ced_hires_10, },
+  190, 219, 69, 19, 128,
+    {61,54,71,50,88,0,0,0, 0,0,73,0,84,68,72,51, 56,82,97,103,74,0,0,0, 0,0,69,0,81,63,70,32,
+   175,85,84,108,0,54,0,0, 121,94,119,0,0,89,99,124, 0,0,150,148,47,70,0,0, 121,0,117,0,105,2,0,124,
+   203,190,201,189,197,200,175,191, 205,172,201,198,196,207,207,203, 205,207,204,187,179,172,176,183, 172,169,147,176,170,168,160,171,
+   201,185,197,186,194,200,174,188, 203,172,197,197,192,205,205,197, 203,204,203,185,172,167,174,181, 170,169,147,176,170,161,157,169,
+   31,0,88,0,134,0,0,0, 85,0,28,0,0,0,5,0, 0,100,141,125,124,0,0,0, 1,0,16,0,11,11,33,0,
+   184,2,95,21,0,6,0,0, 87,157,63,0,0,123,138,72, 0,0,102,143,7,102,0,0, 126,0,110,0,84,0,0,130,
+   157,125,161,130,131,135,111,123, 148,122,140,123,137,137,153,133, 131,147,134,135,118,122,118,114, 110,103,83,118,114,116,116,143,
+   193,147,189,166,165,195,131,156, 199,187,178,167,181,169,190,141, 170,175,180,173,120,175,145,137, 140,111,88,180,182,106,164,193,
+   },
+  {0,0,0,0,0,0,0,0, 0,123,152,0,0,158,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   223,147,180,67,83,115,163,151, 135,154,99,111,188,166,187,138, 128,140,138,123,122,123,115,111, 108,109,171,133,198,101,111,143,
+   134,133,114,124,118,126,111,112, 113,129,111,108,118,121,114,117, 124,83,116,126,121,108,110,114, 76,103,91,97,102,121,55,113,
+   81,143,106,111,119,137,102,102, 116,138,96,102,116,118,119,128, 122,71,118,150,131,126,116,96, 72,98,99,47,123,70,85,0,
+   48,44,53,47,0,85,0,0, 0,0,66,0,81,17,64,0, 50,75,98,66,98,71,62,54, 0,60,67,96,81,29,65,16,
+   175,84,89,98,74,0,54,89, 125,68,109,58,57,85,81,121, 74,34,155,158,0,74,29,81, 128,29,110,103,98,0,0,121,
+   210,181,193,178,187,209,169,174, 206,177,192,194,187,202,211,177, 199,195,203,188,160,171,169,173, 162,156,142,188,185,132,168,185,
+   213,184,195,179,188,212,171,176, 208,178,193,197,188,203,215,181, 203,197,205,192,162,172,170,174, 162,157,150,190,185,141,170,186,
+   },
+  {128,0,52,78,128,128,128,128, 128,128,74,82,12,26,10,22, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   42,0,2,6,48,58,46,48, 106,84,22,28,2,2,2,2, 56,0,2,20,64,76,62,64, 128,128,56,64,2,8,2,6,
+   2,0,2,2,2,2,2,2, 128,110,26,34,2,2,2,2, 2,0,2,2,2,6,2,2, 128,128,42,50,2,2,2,2,
+   2,0,2,2,2,2,2,2, 66,44,2,2,2,2,2,2, 2,0,2,2,2,8,2,2, 80,56,2,4,2,2,2,2,
+   130,0,112,138,218,228,196,188, 184,166,182,184,138,132,110,112, 144,0,134,138,190,188,202,204, 196,226,158,170,124,124,124,126,
+   174,0,136,170,182,184,172,174, 168,194,204,146,106,102,84,84, 154,0,152,148,150,166,162,138, 158,178,156,166,124,128,130,130,
+   146,0,152,154,166,162,144,134, 134,86,98,126,139,139,112,110, 148,0,150,162,176,170,154,134, 130,104,96,128,139,141,112,108,
+   150,0,154,148,132,128,120,110, 122,130,92,130,6,4,139,139, 150,0,154,152,96,132,122,106, 124,124,82,130,6,2,139,141,
+   },
+},
+
+{ // CP1256 (4291.965M chars) [11]
+  {NULL, NULL, NULL, NULL},
+  175, 213, 75, 16, 129,
+    {89,120,82,85,70,119,81,87, 78,57,0,61,52,107,87,0, 120,88,122,83,73,125,94,89, 114,96,1,85,34,116,73,0,
+   173,142,76,85,128,71,110,132, 117,107,30,127,106,73,102,99, 133,84,73,90,108,82,96,130, 115,70,110,116,69,78,76,146,
+   37,143,167,196,136,188,168,229, 204,148,208,168,191,193,183,197, 170,203,175,195,189,190,178,101, 181,157,204,175,195,197,193,197,
+   97,209,116,216,198,191,209,110, 85,125,90,85,128,210,82,85, 126,99,116,154,99,137,142,85, 146,71,143,75,117,89,124,44,
+   157,89,85,86,132,136,106,93, 83,69,0,77,102,72,53,0, 66,103,144,128,127,138,137,111, 67,109,0,87,78,86,35,10,
+   182,172,102,152,141,111,120,142, 116,155,25,145,107,121,136,120, 155,111,121,104,137,100,101,159, 112,93,117,165,83,117,88,152,
+   26,167,114,129,77,84,119,189, 178,200,192,163,167,160,159,182, 136,190,152,168,143,156,162,117, 154,133,178,121,152,172,165,172,
+   181,188,141,190,186,184,180,168, 169,200,157,140,190,187,136,123, 149,117,121,139,145,135,137,118, 122,142,125,128,186,100,134,77,
+   },
+  {116,3,1,0,0,0,0,0, 0,134,143,0,0,157,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   228,134,177,78,100,111,160,151, 140,149,130,106,178,144,169,141, 137,152,147,136,134,132,126,124, 121,123,169,107,200,102,108,114,
+   99,132,117,131,120,127,115,113, 116,121,112,109,121,123,118,119, 123,94,122,129,129,117,115,119, 115,108,101,110,97,133,114,122,
+   120,160,152,167,156,164,144,156, 150,149,124,140,162,163,170,153, 151,130,177,173,168,136,148,104, 122,130,139,80,126,96,114,0,
+   97,97,88,86,83,119,83,85, 98,64,79,60,61,80,88,47, 115,91,101,80,93,122,92,91, 105,117,46,102,80,115,80,37,
+   173,163,81,85,125,72,114,122, 119,118,106,104,102,81,117,107, 133,87,73,88,113,82,96,129, 115,78,124,125,69,76,76,152,
+   36,168,139,171,153,157,172,218, 198,200,201,168,187,192,186,204, 174,209,179,200,190,181,185,101, 182,157,199,169,196,190,195,192,
+   104,226,105,204,209,198,208,118, 101,130,101,80,174,214,92,83, 163,120,130,171,118,155,158,79, 156,70,154,80,108,87,119,81,
+   },
+  {90,0,18,44,128,128,54,56, 102,84,40,60,2,2,2,34, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   42,0,2,2,48,48,10,14, 62,48,10,28,2,2,2,2, 62,0,2,22,72,74,30,34, 80,62,22,42,2,2,2,16,
+   2,0,2,2,2,2,2,2, 36,24,2,6,2,2,2,2, 2,0,2,2,2,2,2,2, 48,34,2,16,2,2,2,2,
+   2,0,2,2,2,2,2,2, 30,18,2,2,2,2,2,2, 48,0,2,8,54,56,16,20, 64,52,12,30,2,2,2,4,
+   178,0,138,160,188,202,138,136, 246,218,168,188,116,124,126,114, 160,0,142,144,184,174,160,162, 212,248,162,204,118,126,126,120,
+   168,0,140,164,178,172,140,138, 162,176,200,170,106,100,92,136, 172,0,144,162,174,166,138,138, 212,212,170,220,92,90,90,122,
+   142,0,150,150,92,128,44,72, 114,114,114,108,128,130,134,130, 142,0,150,148,114,142,74,80, 126,116,112,110,134,132,130,132,
+   140,0,148,142,112,124,154,154, 120,132,116,116,134,132,128,132, 140,0,132,132,126,136,172,174, 158,152,148,140,132,130,128,164,
+   },
+},
+
+{ // CP1250 (456.295M chars) [12]
+  {NULL, NULL, ced_hires_15, ced_hires_15, },
+  90, 207, 44, 30, 128,
+    {106,94,109,3,114,124,102,101, 0,71,177,95,143,118,167,98, 48,59,96,73,40,99,64,61, 0,67,141,59,108,83,130,60,
+   178,82,81,175,131,134,115,136, 125,101,117,114,114,90,115,134, 133,104,75,173,117,99,105,135, 120,134,117,119,129,95,129,131,
+   94,177,121,140,156,127,86,139, 173,151,161,106,170,163,105,122, 92,104,118,172,129,101,131,105, 183,159,162,83,135,145,120,103,
+   95,177,123,127,157,116,103,130, 171,145,162,96,170,163,102,121, 83,93,119,172,131,103,150,86, 182,159,158,82,139,145,119,83,
+   162,120,91,35,137,141,111,98, 13,75,196,81,168,151,193,131, 88,128,169,153,152,163,162,136, 10,134,194,112,166,184,194,139,
+   187,92,75,209,146,163,125,147, 121,160,155,150,112,126,141,198, 160,116,81,213,142,104,106,164, 117,176,153,170,170,126,171,202,
+   99,200,157,158,202,129,167,185, 204,210,197,145,196,197,153,145, 151,176,159,199,161,159,201,122, 194,173,180,138,203,172,157,176,
+   104,205,146,175,203,103,199,173, 205,205,211,145,204,206,141,152, 150,191,168,201,150,168,199,123, 194,193,180,146,191,184,157,123,
+   },
+  {122,0,0,0,0,0,0,0, 0,143,154,0,0,165,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   227,153,180,86,97,112,169,159, 147,157,128,106,190,155,189,149, 138,150,147,134,133,129,124,123, 120,121,178,134,203,92,128,154,
+   110,204,183,200,193,208,171,187, 178,196,172,193,197,190,210,197, 183,143,205,201,201,184,184,176, 150,190,178,114,114,132,107,122,
+   115,204,184,198,191,209,169,185, 175,197,172,193,196,187,209,197, 181,137,202,200,201,186,184,176, 145,192,178,94,130,77,114,0,
+   105,89,105,77,114,127,87,104, 65,77,167,87,121,154,174,103, 85,93,106,115,112,126,100,99, 71,123,167,110,121,155,174,104,
+   177,116,81,166,127,131,117,124, 123,122,102,105,107,115,124,164, 136,109,72,166,119,93,103,132, 119,133,104,122,116,103,122,164,
+   93,165,121,130,150,102,158,134, 169,143,144,96,85,190,109,129, 88,98,136,169,98,62,135,101, 172,130,135,83,124,100,121,154,
+   95,167,111,128,151,90,158,126, 170,139,146,91,84,191,105,135, 89,99,137,172,123,63,135,88, 173,130,131,81,120,97,121,86,
+   },
+  {28,0,2,18,2,2,2,2, 14,14,14,22,4,16,2,16, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   22,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 32,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   16,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 18,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   16,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 18,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   130,0,104,120,140,130,110,116, 162,132,114,116,180,146,140,112, 134,0,136,128,84,84,138,128, 108,162,124,148,120,118,180,146,
+   140,0,112,138,140,134,98,104, 108,128,184,142,144,178,120,158, 136,0,132,138,94,84,138,132, 116,142,142,178,124,144,154,188,
+   94,0,90,96,141,143,100,90, 180,114,154,138,170,172,130,124, 96,0,94,98,139,143,108,112, 170,106,170,116,174,152,128,136,
+   130,0,138,132,36,52,135,135, 114,180,122,162,92,140,170,174, 128,0,130,132,40,56,137,141, 94,170,112,180,80,154,172,150,
+   },
+},
+
+{ // Latin5 (322.539M chars) [13]
+  {NULL, NULL, ced_hires_18, ced_hires_18, },
+  96, 232, 51, 21, 128,
+    {20,0,20,20,20,20,20,20, 20,37,37,20,20,16,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   174,125,94,100,128,93,114,133, 120,100,115,113,111,97,114,106, 129,100,95,102,119,100,101,130, 117,91,117,117,87,95,93,116,
+   109,114,123,142,149,117,104,183, 111,140,112,106,104,116,108,107, 147,123,109,109,99,127,169,104, 100,88,100,105,175,189,165,102,
+   108,113,104,109,151,116,97,192, 108,128,102,97,101,120,103,120, 178,123,114,107,105,128,165,98, 101,92,102,87,175,201,186,105,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   183,147,103,153,143,113,121,144, 117,156,143,147,109,122,138,121, 157,113,123,105,138,101,102,161, 114,95,164,166,85,118,91,158,
+   153,197,154,170,198,186,170,182, 181,207,170,141,118,193,149,136, 201,175,130,196,157,155,197,118, 180,109,177,140,200,218,211,173,
+   183,202,142,172,199,196,170,169, 171,201,158,141,149,203,138,125, 202,175,150,198,146,156,196,119, 180,143,177,129,187,238,211,108,
+   },
+  {50,6,11,57,0,0,0,0, 0,144,149,0,0,164,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   226,146,185,81,100,113,168,166, 142,154,126,112,190,161,183,145, 134,151,147,137,134,132,126,124, 121,122,176,137,206,105,128,149,
+   92,194,178,190,185,190,170,185, 176,197,160,189,202,193,206,184, 174,152,207,197,198,181,179,170, 146,175,180,111,108,128,102,138,
+   127,196,180,195,187,192,172,183, 173,199,158,205,212,204,220,183, 177,140,211,202,199,186,178,170, 143,189,200,94,140,80,111,5,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   175,126,100,100,127,94,116,124, 121,125,106,108,106,120,123,111, 127,113,88,113,118,96,111,128, 119,95,113,121,111,107,92,126,
+   118,110,119,175,148,113,108,168, 110,141,110,109,101,124,114,104, 171,129,114,115,94,154,141,101, 100,92,102,106,132,171,177,152,
+   114,115,112,174,149,118,107,171, 109,124,108,108,100,125,114,97, 190,129,114,113,120,155,143,91, 105,92,113,100,137,200,199,107,
+   },
+  {130,0,102,144,144,142,108,138, 0,0,154,154,154,154,154,154, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   36,0,2,2,2,2,2,2, 0,0,14,38,8,2,8,2, 62,0,2,22,2,10,2,4, 0,0,20,44,12,6,12,2,
+   26,0,2,2,2,2,2,2, 0,0,2,4,2,2,2,2, 14,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   20,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 4,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   164,0,136,160,116,116,104,106, 0,0,202,178,144,126,130,118, 160,0,142,150,118,124,102,106, 0,0,180,246,168,156,154,124,
+   90,0,92,92,145,147,90,92, 0,0,156,176,188,168,138,134, 112,0,112,116,141,141,114,116, 0,0,110,138,166,180,166,148,
+   132,0,138,122,44,54,131,135, 0,0,130,156,124,128,182,162, 128,0,132,132,50,60,135,133, 0,0,112,120,100,130,142,168,
+   },
+},
+
+{ // ISO-8859-11 (489.481M chars) [14]
+  {NULL, NULL, NULL, NULL},
+  184, 198, 48, 20, 127,
+    {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   175,209,195,88,202,83,128,203, 192,152,191,169,88,166,132,138, 156,134,149,172,200,200,176,200, 176,211,199,194,179,150,192,164,
+   175,205,201,213,136,199,75,202, 176,173,203,200,140,209,144,123, 197,203,215,179,198,198,169,189, 190,187,93,39,18,43,4,72,
+   210,196,186,186,192,106,151,183, 207,206,151,138,179,120,113,126, 122,127,132,111,120,111,102,99, 96,94,33,88,83,68,64,77,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   184,175,143,82,159,80,91,182, 155,114,141,116,87,135,98,96, 126,88,93,153,172,160,139,156, 134,188,176,156,101,92,163,122,
+   113,183,179,173,84,159,74,169, 155,135,151,108,92,170,98,140, 166,90,180,144,149,166,80,79, 133,137,84,1,4,52,40,119,
+   116,99,97,96,100,92,161,101, 174,168,108,110,179,87,92,109, 117,117,114,109,105,106,99,96, 94,95,20,89,93,21,54,98,
+   },
+  {70,0,0,46,0,0,0,0, 0,136,148,0,0,160,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   207,129,181,82,82,93,164,157, 152,152,114,111,166,150,188,146, 128,141,136,126,124,123,115,111, 109,109,165,100,202,96,118,126,
+   79,118,108,118,109,116,106,106, 104,104,108,101,111,116,105,100, 115,76,111,119,110,92,99,104, 73,98,81,125,114,120,90,106,
+   61,105,100,99,109,106,92,82, 92,104,93,95,95,106,105,107, 114,58,104,111,104,93,100,89, 80,71,96,55,132,63,99,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   175,206,190,91,199,78,140,206, 190,148,188,166,92,168,152,144, 148,139,143,179,199,196,177,200, 172,213,199,192,172,143,191,162,
+   175,208,201,213,153,202,62,203, 176,170,200,196,121,209,145,145, 194,206,218,188,201,202,172,189, 193,191,94,64,59,63,57,74,
+   203,186,178,183,187,119,161,181, 208,206,150,139,187,118,121,123, 127,115,118,111,108,125,108,109, 106,112,71,99,90,69,77,91,
+   },
+  {128,0,148,148,148,148,148,148, 0,0,148,148,148,148,148,148, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,8,8,16,14, 0,0,2,2,2,2,2,36, 2,0,2,2,4,4,14,10, 0,0,2,2,2,2,2,34,
+   2,0,2,2,2,2,8,4, 0,0,2,2,2,2,2,32, 2,0,2,2,4,4,14,10, 0,0,2,2,2,2,2,44,
+   2,0,2,2,6,6,14,10, 0,0,2,2,2,2,2,42, 68,0,20,30,128,126,128,112, 0,0,16,12,6,8,14,128,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   166,0,158,164,182,174,180,178, 0,0,126,118,128,132,130,78, 158,0,162,160,132,152,142,144, 0,0,120,122,126,134,130,92,
+   158,0,162,160,128,160,132,146, 0,0,126,126,124,134,128,90, 166,0,162,160,142,146,146,156, 0,0,134,134,128,68,132,84,
+   162,0,162,160,138,154,148,150, 0,0,130,134,132,114,112,128, 158,0,164,148,196,208,204,216, 0,0,84,76,64,52,134,254,
+   },
+},
+
+{ // ISO-8859-15 (27.581M chars) [15]
+  {NULL, NULL, ced_hires_21, ced_hires_21, },
+  86, 217, 37, 21, 127,
+    {0,0,0,0,0,0,0,0, 0,85,85,0,0,85,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   187,137,107,112,127,105,104,142, 106,111,127,124,123,101,126,118, 133,112,107,116,117,113,113,142, 111,105,127,127,92,89,91,126,
+   121,138,130,159,161,129,133,190, 123,152,123,118,116,144,119,121, 126,135,122,132,111,139,144,115, 113,103,117,117,145,120,135,114,
+   121,137,113,131,163,128,131,190, 121,141,112,111,114,143,115,133, 123,135,125,131,110,140,160,110, 114,105,118,101,148,119,129,118,
+   0,0,0,0,0,0,0,0, 0,34,33,0,0,33,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   195,159,116,166,180,125,125,156, 145,168,155,159,121,135,150,134, 169,125,135,118,145,114,115,173, 125,108,176,178,138,141,110,170,
+   165,209,166,183,211,198,182,194, 193,219,182,153,130,205,161,148, 160,187,142,208,169,167,209,131, 192,122,189,152,212,181,158,185,
+   195,214,155,184,212,208,182,181, 183,213,170,154,161,215,150,137, 175,187,162,210,158,168,208,131, 192,156,189,142,199,193,155,120,
+   },
+  {23,0,0,70,0,0,0,0, 0,145,155,0,0,165,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   226,142,175,96,115,116,169,162, 150,154,125,112,184,159,177,144, 147,165,159,150,148,149,139,138, 134,136,166,128,201,103,116,143,
+   104,197,188,202,195,190,180,196, 185,179,172,189,202,198,215,195, 185,164,216,206,204,173,190,182, 158,170,181,116,107,135,114,133,
+   130,194,189,197,192,189,178,194, 182,176,171,189,201,194,213,194, 181,151,213,203,201,172,189,182, 155,176,182,107,136,90,117,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   187,138,113,113,149,107,108,134, 123,135,117,120,118,129,131,122, 135,125,101,126,120,109,123,140, 113,107,124,133,118,119,101,138,
+   132,128,129,187,160,126,122,145, 123,152,121,121,113,136,125,116, 152,141,127,129,106,167,144,114, 113,104,118,117,134,117,122,164,
+   130,132,121,187,161,130,119,138, 122,137,119,120,112,137,123,109, 153,141,126,130,124,167,145,104, 116,104,130,109,131,116,130,120,
+   },
+  {178,0,128,156,122,126,124,128, 0,0,168,202,168,202,168,202, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   22,0,2,2,2,2,2,2, 0,0,2,14,2,2,2,2, 50,0,2,18,2,2,2,2, 0,0,2,20,2,2,2,6,
+   16,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 42,0,2,8,2,2,2,2, 0,0,2,2,2,2,2,2,
+   16,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 38,0,2,4,2,2,2,2, 0,0,2,2,2,2,2,2,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   160,0,138,164,108,108,102,104, 0,0,190,160,132,134,120,146, 158,0,144,154,112,118,106,110, 0,0,160,218,160,164,148,160,
+   88,0,92,94,139,139,94,92, 0,0,152,166,184,176,134,148, 98,0,96,102,139,139,110,110, 0,0,138,172,174,190,154,164,
+   128,0,138,126,40,48,135,135, 0,0,130,160,128,148,186,180, 120,0,126,120,48,54,139,141, 0,0,136,160,142,188,166,188,
+   },
+},
+
+{ // CP1257 (41.264M chars) [16]
+  {NULL, NULL, ced_hires_20, ced_hires_20, },
+  84, 222, 39, 20, 128,
+    {112,108,100,0,132,119,103,89, 0,78,64,75,0,77,68,67, 11,35,79,71,21,82,53,35, 0,31,45,33,0,0,49,0,
+   173,72,85,94,121,69,110,128, 74,94,81,110,109,101,104,75, 124,97,89,88,110,94,97,129, 74,80,81,113,82,88,85,80,
+   132,139,163,137,149,121,106,164, 124,141,114,153,127,139,154,153, 181,121,165,109,89,101,125,103, 97,82,78,145,112,85,162,98,
+   138,140,163,106,150,118,115,164, 124,135,112,155,125,133,155,153, 179,115,165,109,88,104,145,100, 130,82,79,145,129,84,161,94,
+   157,114,85,13,131,136,105,92, 1,81,72,77,10,83,100,70, 81,122,164,148,146,158,157,131, 0,129,85,106,48,81,114,1,
+   181,85,101,152,141,118,119,142, 101,154,98,145,107,120,136,92, 155,111,121,103,136,99,100,159, 111,92,101,164,84,116,89,89,
+   171,189,211,72,196,184,158,199, 199,205,85,210,168,152,203,176, 211,170,179,194,91,153,195,116, 172,97,91,199,198,89,204,171,
+   205,199,217,92,198,194,183,201, 200,199,104,216,166,147,205,177, 211,185,178,196,93,154,194,117, 220,101,91,199,185,90,202,118,
+   },
+  {116,0,0,0,0,0,0,0, 0,139,155,0,0,164,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   228,153,188,77,92,107,206,155, 138,165,122,102,192,146,189,135, 135,150,145,135,132,131,124,123, 120,121,178,143,202,85,105,154,
+   107,193,189,191,196,191,164,188, 169,204,198,197,197,192,203,181, 177,134,209,211,206,182,187,168, 142,176,171,109,99,129,101,112,
+   100,195,190,187,196,195,162,186, 165,207,198,197,197,192,202,181, 176,126,208,211,206,184,192,168, 136,178,172,83,124,77,109,0,
+   117,90,127,119,115,124,85,99, 57,71,0,89,81,86,68,85, 80,86,101,138,134,121,102,96, 36,92,81,109,21,74,91,19,
+   173,101,111,88,123,70,112,120, 89,109,84,101,109,115,119,115, 133,107,98,98,116,107,100,128, 113,93,107,121,96,107,110,117,
+   136,143,168,99,146,122,112,156, 159,136,103,157,139,159,155,146, 175,101,144,111,83,103,128,97, 149,82,75,140,115,76,159,150,
+   138,144,169,93,147,125,112,157, 159,131,104,158,139,160,159,147, 175,102,144,111,84,103,122,91, 149,83,76,143,108,75,158,101,
+   },
+  {100,0,60,88,62,66,62,66, 128,122,100,126,86,90,84,92, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   38,0,2,2,2,2,2,2, 52,46,20,44,6,12,6,14, 70,0,6,34,6,12,6,12, 64,56,32,54,18,22,16,24,
+   26,0,2,2,2,2,2,2, 4,2,2,2,2,2,2,2, 22,0,2,2,2,2,2,2, 8,4,2,2,2,2,2,2,
+   26,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 24,0,2,2,2,2,2,2, 4,2,2,2,2,2,2,2,
+   168,0,132,156,116,128,102,104, 234,200,166,204,168,184,164,158, 152,0,138,142,110,104,124,126, 210,216,166,230,168,168,172,154,
+   164,0,130,166,110,108,106,106, 148,164,204,170,130,130,130,128, 164,0,140,158,102,98,106,104, 204,214,178,244,158,162,146,152,
+   102,0,88,106,141,141,94,98, 190,154,154,162,178,188,140,126, 102,0,90,98,141,139,114,106, 152,140,118,176,188,174,148,132,
+   132,0,134,134,26,40,135,135, 176,186,144,164,96,138,176,190, 126,0,136,122,28,38,135,133, 140,172,130,130,114,154,186,176,
+   },
+},
+
+{ // CP1255 (313.575M chars) [17]
+  {NULL, NULL, NULL, ced_hires_12, },
+  192, 233, 81, 15, 127,
+    {98,94,106,111,72,121,83,91, 81,65,26,68,0,71,0,69, 81,85,102,93,99,127,102,95, 75,97,17,87,61,82,71,67,
+   175,124,97,90,58,73,104,127, 119,93,86,110,111,82,101,112, 129,87,94,110,112,86,97,132, 116,73,60,114,71,123,75,120,
+   119,65,141,119,118,109,112,113, 121,112,61,74,117,67,73,62, 61,98,78,56,68,54,124,148, 38,49,42,32,35,40,36,27,
+   211,211,193,200,214,221,187,200, 193,220,109,200,214,125,214,131, 205,198,202,108,201,91,192,199, 210,210,202,32,36,81,108,32,
+   159,117,88,89,134,138,108,95, 85,73,57,78,26,89,0,88, 63,104,145,129,128,139,138,112, 83,110,64,88,33,78,35,6,
+   184,147,104,154,150,113,122,144, 118,156,77,147,109,123,138,122, 157,113,123,106,139,101,103,161, 114,95,71,167,86,119,91,159,
+   81,40,33,27,57,50,53,76, 89,84,40,25,97,25,54,51, 36,79,53,49,25,25,27,56, 26,26,27,24,26,39,25,39,
+   181,180,170,178,203,186,155,176, 171,197,173,144,189,203,159,191, 133,169,170,166,142,163,146,172, 192,178,205,35,59,102,136,39,
+   },
+  {118,0,0,0,0,0,0,0, 0,137,146,0,0,165,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   227,155,187,100,97,112,172,178, 136,158,128,132,188,170,183,153, 137,155,149,140,137,135,129,128, 124,127,173,136,203,112,110,154,
+   108,138,122,146,128,136,120,118, 124,127,114,112,126,128,125,124, 133,137,129,135,139,118,124,121, 117,118,103,111,143,128,106,131,
+   142,144,112,120,123,140,110,110, 119,135,106,107,129,123,126,129, 124,108,122,153,134,129,118,103, 84,104,101,80,145,91,116,0,
+   106,72,108,107,84,120,79,80, 98,59,0,68,0,76,0,66, 101,102,115,98,109,128,101,107, 92,118,68,108,103,102,97,114,
+   175,126,108,86,95,75,110,121, 124,112,102,101,106,84,113,116, 133,82,132,131,119,84,97,130, 116,74,64,119,72,123,75,135,
+   128,83,129,119,124,114,117,127, 127,114,43,82,134,59,75,65, 44,112,90,59,50,58,80,109, 50,44,39,43,41,44,40,43,
+   205,205,192,202,209,223,186,199, 192,223,176,195,211,204,206,190, 204,195,200,171,199,162,190,198, 213,203,213,43,41,82,94,46,
+   },
+  {86,0,44,70,130,132,130,122, 110,94,68,88,90,132,2,10, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   36,0,2,2,40,40,40,40, 60,46,16,34,34,72,2,2, 62,0,2,26,74,72,72,70, 70,54,24,42,44,82,2,2,
+   60,0,2,22,70,70,68,68, 128,128,100,128,128,128,26,36, 62,0,2,26,66,66,66,68, 128,128,128,128,128,128,48,62,
+   2,0,2,2,2,2,2,2, 24,10,2,2,2,34,2,2, 2,0,2,2,2,2,2,2, 34,20,2,10,10,46,2,2,
+   170,0,136,156,182,190,170,166, 248,224,180,222,232,172,106,66, 154,0,140,142,176,164,188,188, 214,246,176,224,176,218,104,106,
+   166,0,132,164,178,170,168,166, 160,170,204,170,154,182,76,76, 162,0,140,154,182,180,172,168, 224,230,176,228,214,218,94,74,
+   172,0,148,146,180,182,188,180, 236,188,168,220,190,202,120,120, 158,0,146,158,180,180,180,178, 162,232,182,208,174,184,68,66,
+   146,0,150,148,106,132,122,126, 110,90,74,98,128,90,131,133, 142,0,150,144,92,132,120,128, 78,90,74,72,124,138,133,127,
+   },
+},
+
+{ // KOI8R (315.553M chars) [18]
+  {NULL, NULL, ced_hires_9, ced_hires_9, },
+  189, 220, 69, 17, 128,
+    {17,17,17,17,17,17,17,17, 17,39,39,17,17,39,17,17, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   17,17,17,117,17,17,17,17, 17,17,17,17,17,17,17,17, 17,17,17,118,17,25,17,17, 17,17,17,25,17,17,17,47,
+   155,199,183,172,193,200,169,185, 168,203,166,197,197,191,205,205, 196,169,201,203,201,186,173,196, 170,177,187,171,168,166,181,137,
+   158,201,188,174,195,200,175,189, 171,204,166,200,198,196,207,207, 201,170,204,206,202,187,175,199, 170,177,189,174,172,166,183,137,
+   7,7,7,7,7,7,7,7, 7,39,39,7,7,39,7,7, 7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,
+   7,7,7,123,7,7,7,7, 7,7,7,7,7,7,7,7, 7,7,7,74,7,7,7,7, 7,7,7,7,7,7,7,100,
+   164,191,135,141,166,194,118,163, 175,198,187,177,169,182,165,191, 138,192,164,174,180,171,125,189, 179,178,152,139,98,108,139,73,
+   131,162,130,110,132,145,129,147, 126,158,123,145,139,148,148,152, 142,148,128,154,139,149,108,167, 114,119,123,105,122,90,109,85,
+   },
+  {0,0,0,0,0,0,0,0, 0,111,171,0,0,149,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   223,146,172,30,25,90,164,138, 116,148,90,87,187,167,194,124, 72,106,101,90,90,85,93,77, 75,75,165,131,188,82,114,147,
+   125,92,36,71,49,93,30,0, 64,104,0,30,49,47,61,97, 110,0,62,58,56,11,54,71, 45,83,11,70,85,112,54,106,
+   92,94,57,74,51,94,36,30, 66,106,0,34,57,53,67,98, 113,0,67,61,51,49,56,17, 49,84,41,0,111,57,57,0,
+   47,49,56,30,0,36,0,0, 0,0,0,25,17,0,0,11, 0,36,17,0,0,0,0,0, 0,0,49,0,0,11,0,0,
+   25,0,0,123,0,0,0,0, 0,0,0,0,0,0,0,0, 57,17,45,121,30,57,11,36, 66,11,36,41,36,49,58,53,
+   169,212,182,169,188,212,160,181, 172,207,177,191,196,188,203,214, 181,185,201,197,203,191,170,194, 184,189,174,162,139,157,176,118,
+   167,209,180,168,186,208,159,179, 171,206,177,190,193,187,201,211, 178,185,198,195,202,188,168,192, 184,187,173,162,133,156,176,117,
+   },
+  {130,0,102,154,154,154,154,154, 154,154,154,154,112,154,116,154, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   92,0,38,74,128,128,128,128, 128,128,128,128,22,34,24,36, 92,0,38,74,128,128,128,128, 128,128,128,128,44,54,46,56,
+   2,0,2,2,18,22,26,26, 110,128,40,40,2,2,2,2, 2,0,2,2,22,28,32,30, 128,128,48,50,2,2,2,2,
+   2,0,2,2,16,20,24,24, 128,128,76,80,2,2,2,2, 2,0,2,2,20,24,30,28, 128,128,82,84,2,2,2,2,
+   154,0,128,178,178,178,178,178, 178,178,178,178,128,178,140,178, 154,0,132,178,178,178,178,178, 178,178,178,178,138,178,178,178,
+   146,0,154,136,178,182,180,178, 178,178,180,178,134,146,82,92, 148,0,152,168,180,184,180,178, 178,180,180,180,90,106,136,148,
+   154,0,154,152,154,146,152,150, 134,154,138,86,141,141,6,4, 154,0,154,156,114,150,158,160, 166,172,142,122,139,141,2,12,
+   136,0,154,156,180,184,184,158, 124,140,110,136,112,106,141,139, 140,0,152,158,180,186,178,172, 130,144,112,138,114,110,139,141,
+   },
+},
+
+{ // GBK (106.219M chars) [19]
+  {NULL, NULL, NULL, NULL},
+  203, 189, 27, 17, 128,
+    {80,136,138,128,141,121,130,133, 125,121,114,108,141,130,70,75, 125,127,117,120,119,135,127,109, 133,129,119,130,122,125,128,114,
+   74,204,125,202,219,215,119,114, 118,156,113,86,97,79,82,81, 189,196,199,195,195,208,196,199, 196,203,194,200,201,197,193,195,
+   192,195,189,194,195,183,196,191, 201,197,207,197,197,197,201,199, 201,191,203,201,198,196,202,200, 134,116,114,132,122,124,118,115,
+   115,120,116,120,141,121,124,123, 121,120,121,113,125,116,117,110, 117,114,112,113,119,112,124,123, 85,77,84,80,72,84,79,0,
+   135,112,99,113,112,124,117,103, 124,95,92,89,122,95,0,51, 0,0,0,0,0,0,0,0, 25,1,0,0,0,0,0,0,
+   1,113,69,80,84,69,59,13, 116,104,61,70,84,69,73,47, 74,88,74,72,72,73,61,73, 51,54,54,59,70,77,75,75,
+   96,68,68,66,84,83,47,68, 64,64,44,78,54,61,26,26, 64,64,47,59,70,74,70,66, 64,80,61,44,44,69,66,82,
+   51,57,66,57,64,47,64,54, 18,82,68,66,40,66,70,69, 51,70,40,88,37,37,40,59, 59,40,102,70,73,70,68,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,1,60,0,0,64,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   94,78,82,0,0,0,93,107, 64,60,46,107,76,56,82,44, 29,64,73,39,27,27,18,14, 14,15,18,0,111,60,0,46,
+   104,95,102,121,118,73,105,75, 96,131,74,109,89,100,103,111, 93,108,98,107,126,103,101,125, 113,99,98,90,89,109,120,88,
+   77,85,85,92,91,104,101,109, 101,83,74,90,111,98,98,117, 96,93,127,97,106,100,91,99, 91,102,105,84,114,93,91,17,
+   124,109,99,116,90,100,105,89, 96,95,103,108,93,117,111,110, 98,115,123,116,94,82,112,111, 83,97,106,96,74,105,115,121,
+   126,196,197,192,196,176,185,184, 195,185,196,194,198,187,184,191, 190,190,180,189,189,194,181,191, 181,191,188,196,189,191,187,192,
+   186,174,192,193,202,189,193,194, 190,188,189,195,181,187,196,191, 200,178,184,186,189,186,192,180, 193,176,195,182,185,179,182,186,
+   185,187,190,185,183,187,185,186, 177,190,189,191,187,187,181,180, 178,185,188,196,173,177,186,192, 192,182,197,186,177,187,185,0,
+   },
+  {144,0,168,168,120,122,152,128, 124,116,2,2,2,2,4,4, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   78,0,26,38,2,2,12,8, 128,128,22,22,20,24,26,26, 72,0,20,32,2,2,6,2, 128,128,40,42,40,44,46,46,
+   74,0,22,34,2,2,6,4, 128,128,40,42,38,44,46,46, 80,0,28,40,6,4,14,10, 128,128,44,46,42,50,52,50,
+   128,0,128,128,98,102,124,110, 128,128,46,50,46,54,56,54, 128,0,128,128,128,128,128,128, 128,128,38,40,38,44,46,44,
+   0,0,0,0,236,252,250,242, 230,226,122,106,114,124,130,128, 0,0,0,0,252,238,254,254, 240,234,112,116,106,116,144,130,
+   0,0,0,0,242,220,220,232, 106,108,136,130,128,116,126,114, 0,0,0,0,206,208,218,216, 82,88,128,126,128,126,126,132,
+   0,0,0,0,204,218,220,208, 84,82,122,128,128,128,132,132, 0,0,0,0,212,214,210,210, 92,88,124,128,126,136,120,126,
+   0,0,0,0,208,210,204,206, 200,208,136,124,124,122,126,126, 0,0,0,0,198,202,200,218, 200,196,128,122,132,128,130,120,
+   },
+},
+
+{ // Greek (109.816M chars) [20]
+  {NULL, NULL, ced_hires_11, ced_hires_11, },
+  186, 219, 72, 19, 128,
+    {0,0,0,0,0,0,0,0, 0,24,24,0,0,24,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   174,64,123,80,13,49,101,123, 114,89,0,152,107,83,76,53, 122,81,71,65,105,84,180,126, 183,174,186,111,183,56,165,168,
+   117,206,178,191,194,206,163,186, 183,198,202,195,198,199,165,203, 201,196,56,205,210,185,180,183, 154,177,136,87,180,183,177,186,
+   157,202,171,187,188,204,165,188, 183,199,199,194,197,198,161,202, 194,196,154,201,208,185,175,180, 147,179,136,79,183,166,168,0,
+   0,0,0,0,0,0,0,0, 0,34,34,0,0,34,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   183,58,94,153,91,63,120,143, 117,155,71,146,108,122,78,71, 156,112,122,105,105,84,83,160, 96,97,84,166,98,118,76,75,
+   70,162,129,130,139,152,103,165, 133,144,142,123,130,144,98,158, 139,113,63,159,134,140,122,126, 98,117,81,46,175,143,180,165,
+   64,199,125,122,122,176,111,189, 115,196,146,142,141,197,113,188, 137,142,206,133,145,191,115,124, 78,148,115,74,181,161,152,93,
+   },
+  {98,0,0,0,0,0,0,0, 2,135,160,0,67,161,42,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   225,142,174,72,92,107,173,153, 133,152,109,98,183,147,185,142, 132,150,145,135,133,131,124,123, 119,121,167,138,195,117,108,120,
+   78,122,108,129,112,120,111,107, 109,113,108,105,115,117,111,121, 118,81,119,121,112,95,108,105, 80,100,85,102,97,121,98,109,
+   109,116,101,104,112,116,102,95, 104,115,100,100,121,112,116,124, 116,72,112,117,112,104,110,87, 82,90,98,64,123,66,101,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   174,42,84,78,172,159,104,116, 116,102,153,94,101,82,171,60, 122,76,68,71,118,78,185,127, 180,182,189,143,179,67,177,172,
+   111,207,161,179,175,201,159,197, 167,203,190,188,186,197,160,205, 189,198,0,199,200,190,174,173, 145,183,137,110,188,186,184,191,
+   66,211,163,182,177,206,160,199, 172,206,192,193,189,200,165,208, 196,203,194,200,201,194,176,176, 146,185,138,110,182,181,174,0,
+   },
+  {146,0,130,170,170,170,170,168, 0,0,166,170,136,168,130,154, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   34,0,2,6,52,58,56,62, 0,0,4,2,2,2,2,2, 4,0,2,2,22,28,24,32, 0,0,14,2,2,2,2,2,
+   2,0,2,2,2,2,2,4, 0,0,6,2,2,2,2,2, 2,0,2,2,2,6,2,8, 0,0,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,6, 0,0,2,2,2,2,2,2, 2,0,2,2,2,10,6,12, 0,0,2,2,2,2,2,2,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   166,0,136,172,188,188,186,188, 0,0,186,116,110,106,106,106, 164,0,146,164,180,178,180,174, 0,0,98,100,140,144,98,104,
+   146,0,152,154,164,164,162,156, 0,0,52,142,139,137,118,112, 148,0,152,154,150,144,142,134, 0,0,48,136,139,131,120,126,
+   150,0,152,146,92,128,132,126, 0,0,144,72,30,124,139,139, 150,0,152,150,88,124,136,128, 0,0,66,76,4,118,141,139,
+   },
+},
+
+{ // JIS (138.804M chars) [21]
+  {NULL, NULL, NULL, NULL},
+  37, 154, 2, 1, 129,
+    {0,0,0,0,0,0,0,0, 0,99,99,0,0,99,107,197, 0,0,0,0,0,0,0,0, 0,0,0,254,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {119,0,0,0,0,0,0,0, 0,53,49,0,0,49,0,0, 0,0,0,0,0,0,0,0, 0,0,0,197,0,0,0,0,
+   73,56,65,75,246,65,49,49, 243,61,49,49,49,49,49,49, 49,56,61,49,49,49,49,49, 49,49,56,56,49,49,49,49,
+   49,49,49,49,49,49,49,49, 49,49,49,49,49,56,143,49, 49,49,97,49,75,49,59,49, 49,49,61,49,49,53,56,53,
+   49,98,49,53,49,49,49,94, 49,49,49,49,63,69,74,49, 49,49,53,65,49,49,49,49, 49,49,49,49,49,56,53,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {130,184,30,216,132,172,164,208, 0,0,0,0,0,0,0,0, 128,2,128,38,128,122,124,104, 0,0,0,0,0,0,0,0,
+   128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0,
+   128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0,
+   128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+},
+
+{ // CP1254 (20.130M chars) [22]
+  {NULL, NULL, ced_hires_18, ced_hires_18, },
+  97, 228, 51, 26, 128,
+    {105,102,117,110,111,122,102,106, 97,93,168,92,91,102,30,86, 53,83,126,96,72,96,70,66, 56,74,134,61,61,50,82,84,
+   173,124,96,100,127,93,113,131, 120,100,114,112,110,97,113,106, 131,100,95,101,117,100,100,131, 116,92,116,116,90,96,94,114,
+   108,154,124,147,148,125,114,181, 110,139,111,106,104,133,107,106, 146,124,109,108,100,126,167,105, 99,95,111,104,173,187,163,102,
+   108,154,121,114,150,117,103,190, 108,128,103,98,103,136,103,119, 177,122,113,108,105,127,163,98, 101,94,113,91,173,200,184,105,
+   157,114,89,88,132,136,106,94, 88,90,191,83,103,92,21,83, 80,123,164,148,146,158,157,131, 101,129,189,106,99,97,60,118,
+   182,145,102,152,141,111,120,142, 116,154,142,145,107,121,136,120, 155,111,121,104,137,100,101,159, 112,95,162,165,88,117,91,157,
+   152,195,152,169,197,184,168,180, 179,205,169,140,116,192,148,134, 200,173,128,194,156,153,196,117, 179,108,175,138,198,216,209,171,
+   181,200,141,171,198,195,168,167, 169,200,157,140,147,201,136,123, 200,173,148,196,144,154,194,118, 178,142,175,128,185,237,209,106,
+   },
+  {116,4,4,52,4,0,0,0, 0,144,148,0,0,163,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   225,145,184,86,101,112,168,165, 141,153,125,111,189,160,182,143, 136,151,146,136,133,132,125,124, 121,122,175,136,205,105,128,148,
+   108,194,176,188,184,192,169,184, 174,197,159,189,200,191,205,183, 174,151,205,195,198,180,178,169, 146,174,178,113,109,127,105,136,
+   126,195,178,194,186,194,171,181, 172,199,157,204,211,202,219,182, 177,139,210,201,200,185,177,168, 141,187,198,94,139,85,111,0,
+   103,94,114,122,104,131,103,108, 103,87,157,89,94,91,51,79, 84,99,153,107,139,122,104,101, 94,118,157,108,103,94,118,122,
+   173,126,101,99,126,94,115,123, 121,124,114,109,106,119,122,111, 133,112,90,112,118,97,110,129, 118,94,113,120,110,107,93,127,
+   117,118,123,173,147,114,112,166, 112,142,110,109,107,167,114,104, 170,127,113,114,95,153,141,101, 99,92,103,107,131,170,176,150,
+   116,123,113,173,147,118,110,169, 112,133,111,107,99,168,113,98, 188,128,113,112,119,153,142,91, 104,92,117,99,135,199,197,107,
+   },
+  {84,0,50,70,50,58,42,52, 90,82,80,100,68,64,68,44, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   36,0,2,2,2,2,2,2, 32,24,16,38,6,2,6,2, 62,0,2,22,2,10,2,4, 36,28,22,44,12,8,10,2,
+   26,0,2,2,2,2,2,2, 2,2,2,4,2,2,2,2, 16,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   20,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 4,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   140,0,112,126,144,140,106,118, 180,152,152,160,192,130,148,104, 142,0,134,130,100,98,134,132, 138,168,142,178,148,152,184,152,
+   164,0,136,162,116,118,104,106, 140,152,204,176,140,126,126,118, 160,0,144,152,118,124,102,106, 174,182,180,238,162,154,150,126,
+   92,0,94,92,145,149,90,92, 190,154,156,172,184,168,132,134, 112,0,114,118,143,143,116,118, 140,146,112,138,166,182,162,148,
+   132,0,138,124,44,56,131,135, 142,176,130,156,120,128,176,162, 128,0,132,132,50,60,137,135, 130,160,114,122,98,130,138,168,
+   },
+},
+
+{ // CP1253 (37.682M chars) [23]
+  {NULL, NULL, ced_hires_11, ced_hires_11, },
+  186, 218, 73, 21, 128,
+    {98,79,82,91,78,122,85,90, 0,82,68,76,0,75,0,65, 79,105,101,115,101,127,107,94, 0,98,0,91,0,78,48,0,
+   174,70,182,88,122,76,110,130, 119,95,70,153,108,88,101,71, 130,87,79,77,106,197,107,129, 184,175,187,114,184,75,166,169,
+   118,206,179,192,195,207,164,187, 184,199,203,195,198,200,165,203, 202,197,70,205,210,185,180,184, 155,178,137,90,181,184,178,187,
+   86,203,172,188,189,203,161,188, 181,199,199,194,198,198,162,203, 195,196,156,202,208,186,176,181, 148,179,137,85,184,167,169,70,
+   158,116,88,89,133,138,107,95, 0,84,72,80,9,91,0,87, 58,101,143,127,125,137,136,110, 0,108,60,84,28,75,32,6,
+   183,68,95,153,143,112,121,144, 117,156,66,147,109,122,138,78, 157,112,123,105,106,101,102,161, 98,99,87,166,100,118,81,80,
+   77,163,130,131,140,152,105,166, 133,145,142,124,131,145,100,159, 140,114,66,160,135,141,123,127, 100,118,86,68,176,144,181,166,
+   74,200,125,123,122,177,112,190, 115,197,147,142,142,198,114,189, 137,143,206,134,146,192,116,125, 82,149,116,80,182,162,153,66,
+   },
+  {118,0,0,0,0,0,0,0, 0,138,161,0,0,163,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   226,143,175,80,96,111,174,154, 134,154,123,101,184,149,186,143, 136,152,147,137,135,133,126,125, 122,123,168,139,197,118,114,121,
+   107,133,118,132,121,129,117,114, 119,125,113,112,122,124,119,128, 125,97,124,130,131,115,120,120, 116,111,103,108,101,126,102,112,
+   111,143,112,125,126,141,110,108, 120,135,105,107,128,122,124,134, 122,86,123,151,133,128,120,103, 90,103,102,77,126,78,111,0,
+   91,79,78,82,79,127,85,84, 0,77,0,78,58,76,0,63, 76,87,132,84,113,123,101,97, 0,101,76,105,55,86,59,12,
+   175,74,185,85,123,84,113,121, 119,111,74,101,104,87,118,74, 133,87,79,85,119,144,95,130, 181,183,190,144,180,79,178,172,
+   112,208,162,180,176,202,160,198, 168,204,190,189,187,198,160,206, 190,199,70,200,200,190,175,174, 145,183,138,111,190,189,185,193,
+   80,212,167,183,177,208,161,200, 173,208,193,194,190,201,165,209, 197,204,194,200,202,195,177,177, 147,186,139,111,184,182,175,72,
+   },
+  {120,0,80,110,184,184,160,166, 142,128,86,68,44,50,40,48, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   20,0,2,2,32,36,28,32, 64,50,2,2,2,2,2,2, 2,0,2,2,10,14,6,10, 78,62,14,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 70,56,6,2,2,2,2,2, 2,0,2,2,2,2,2,2, 58,46,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 32,20,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 38,26,2,2,2,2,2,2,
+   168,0,138,162,188,202,172,168, 248,222,164,132,100,104,104,108, 150,0,142,148,180,174,188,192, 212,242,158,156,116,114,118,120,
+   162,0,136,170,180,178,174,172, 148,160,176,108,132,134,106,104, 162,0,146,164,172,168,166,156, 118,142,100,98,134,138,126,114,
+   144,0,152,152,156,152,144,136, 116,120,132,142,139,135,116,112, 146,0,150,152,142,134,126,118, 106,104,132,134,139,131,120,126,
+   148,0,152,144,90,118,116,110, 122,122,68,86,30,122,137,139, 150,0,152,148,90,116,122,112, 122,132,66,88,12,118,139,137,
+   },
+},
+
+{ // CP932 (5.390M chars) [24]
+  {NULL, NULL, NULL, NULL},
+  151, 140, 55, 26, 129,
+    {73,188,237,214,159,83,84,109, 191,199,191,194,200,199,202,199, 190,190,186,192,182,191,188,186, 105,102,112,102,102,102,107,115,
+   101,107,119,112,119,135,100,99, 106,106,107,101,103,109,105,120, 121,117,114,106,104,110,111,112, 114,105,127,110,129,118,108,105,
+   123,109,100,111,120,109,109,99, 105,106,114,108,122,112,116,106, 102,102,113,101,100,99,102,108, 110,108,119,107,108,116,122,117,
+   117,116,111,115,112,109,113,115, 113,111,167,178,184,104,106,183, 160,142,115,156,149,130,163,163, 184,191,154,133,75,97,94,93,
+   0,223,195,229,107,12,47,131, 44,180,189,184,179,185,191,185, 177,166,168,174,170,173,169,172, 162,86,89,86,93,87,87,91,
+   99,113,100,104,106,122,111,98, 99,99,99,99,99,99,99,99, 105,99,100,99,98,99,99,102, 124,99,99,99,106,103,99,99,
+   100,99,99,98,105,99,99,99, 99,101,99,99,112,99,98,99, 99,100,99,99,99,98,102,99, 99,103,99,99,99,104,106,104,
+   115,99,101,108,103,106,99,99, 99,103,97,0,23,91,96,0, 105,107,95,165,148,101,154,130, 96,175,132,116,100,109,98,101,
+   },
+  {87,0,0,0,0,0,0,0, 0,84,91,0,0,87,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   114,86,99,84,84,84,86,86, 90,93,85,89,87,94,87,86, 91,88,89,86,85,85,84,84, 84,84,85,87,119,84,84,84,
+   199,198,192,189,158,189,180,168, 171,180,178,171,176,161,191,183, 172,169,179,177,178,160,185,181, 190,169,175,200,180,158,185,172,
+   177,159,190,175,162,179,173,191, 177,187,182,158,184,167,174,182, 179,167,177,179,178,179,187,176, 174,176,173,178,169,174,176,0,
+   175,177,175,172,170,176,176,180, 169,182,188,188,178,179,172,172, 159,180,158,195,174,169,176,176, 162,162,166,158,168,174,176,177,
+   179,175,195,161,185,163,180,172, 181,189,190,180,175,184,173,177, 166,185,175,184,166,192,178,192, 166,176,169,178,190,190,180,180,
+   168,183,176,163,192,193,192,176, 191,192,177,162,203,189,171,167, 173,162,169,159,174,148,173,170, 163,160,175,166,188,175,165,174,
+   186,163,176,177,162,176,185,182, 187,190,188,161,175,174,179,176, 192,187,162,164,156,172,160,145, 155,145,181,167,175,93,93,93,
+   },
+  {84,0,82,82,2,2,4,6, 2,2,8,8,4,18,2,2, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   128,0,126,120,6,10,10,14, 22,24,18,18,14,28,20,30, 128,0,128,126,2,8,8,12, 22,26,18,18,14,30,20,30,
+   128,0,128,128,6,10,12,14, 26,28,22,22,18,32,24,34, 128,0,128,128,8,12,14,16, 26,30,22,22,18,32,24,34,
+   68,0,44,44,2,2,2,2, 26,30,24,22,18,34,24,34, 66,0,40,42,2,2,2,2, 2,2,2,2,2,2,2,2,
+   0,0,0,0,140,138,140,138, 132,130,132,132,136,132,134,128, 0,0,0,0,134,140,142,142, 130,134,132,134,124,134,132,142,
+   222,128,252,248,124,128,128,130, 148,136,134,126,124,132,86,120, 214,128,240,244,136,132,130,132, 136,118,136,132,126,152,84,118,
+   212,128,244,242,126,130,132,134, 136,128,130,128,118,156,82,122, 212,128,242,242,126,130,132,134, 136,130,128,144,130,142,66,122,
+   0,0,0,0,134,144,136,142, 138,144,128,150,72,88,76,86, 184,180,164,164,126,140,126,154, 134,144,126,132,124,128,136,134,
+   },
+},
+
+{ // Hebrew (10.753M chars) [25]
+  {NULL, NULL, NULL, NULL},
+  196, 235, 78, 9, 128,
+    {0,0,0,0,0,0,0,0, 0,63,63,0,0,63,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   165,0,80,80,80,80,80,80, 80,82,80,80,82,89,80,80, 85,80,80,80,86,80,80,82, 80,80,83,80,80,80,80,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,80,
+   205,203,189,201,216,218,185,196, 190,220,185,190,212,212,202,200, 199,194,199,175,193,168,187,196, 214,202,217,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,77,77,0,0,77,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   145,0,87,87,105,87,87,87, 88,138,88,88,88,89,105,87, 89,88,88,87,91,87,87,118, 87,87,87,88,88,89,87,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,87,
+   194,196,170,172,206,189,164,179, 163,185,130,182,196,152,197,145, 174,174,179,130,174,124,162,174, 179,192,183,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,136,147,0,0,157,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   227,138,183,80,80,95,170,157, 104,163,103,95,150,163,151,133, 86,103,112,90,86,90,87,88, 85,86,126,96,204,95,106,111,
+   82,84,81,84,82,82,81,81, 82,84,81,81,81,81,82,82, 82,80,85,94,81,81,80,82, 81,80,82,83,104,130,83,93,
+   114,87,82,84,83,83,82,81, 82,88,80,81,82,82,82,86, 83,81,84,85,88,82,81,85, 80,82,80,81,92,108,97,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   165,0,81,80,80,80,80,81, 80,82,80,80,81,81,80,80, 86,80,81,80,85,80,80,83, 80,80,81,80,80,80,80,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,80,
+   209,210,192,200,210,223,187,198, 189,223,131,200,211,161,212,142, 207,193,203,135,198,112,191,196, 208,208,204,0,0,0,0,0,
+   },
+  {180,0,128,152,204,204,204,202, 0,0,202,202,0,164,118,124, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   54,0,2,14,128,84,104,102, 0,0,66,128,0,128,2,2, 128,0,36,58,128,128,128,128, 0,0,98,128,0,128,4,16,
+   128,0,128,128,128,128,128,128, 0,0,128,128,0,128,128,128, 128,0,76,98,128,128,128,128, 0,0,128,128,0,128,50,62,
+   2,0,2,2,16,2,8,10, 0,0,2,38,0,78,2,2, 2,0,2,2,26,10,18,20, 0,0,6,56,0,98,2,2,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   154,0,146,158,230,204,230,232, 0,0,186,226,0,186,128,130, 186,0,128,164,228,226,226,226, 0,0,226,226,0,186,118,124,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 164,0,128,152,188,188,188,186, 0,0,186,186,0,148,116,124,
+   150,0,150,150,136,142,142,136, 0,0,130,118,0,118,130,132, 154,0,150,154,146,158,148,158, 0,0,124,124,0,122,132,128,
+   },
+},
+
+{ // KOI8U (14.358M chars) [26]
+  {NULL, NULL, ced_hires_9, ced_hires_9, },
+  189, 220, 69, 18, 129,
+    {87,87,87,87,87,87,87,87, 87,95,95,87,87,95,87,87, 84,84,84,84,84,84,84,84, 84,84,84,84,84,84,84,84,
+   87,87,87,119,129,87,162,137, 87,87,87,87,87,90,87,87, 87,87,87,119,131,87,163,137, 87,87,87,87,87,92,87,87,
+   156,198,183,173,193,200,169,185, 168,203,166,197,197,191,205,205, 196,169,201,203,201,185,173,196, 170,177,187,171,168,165,181,137,
+   158,200,188,175,195,200,175,189, 171,204,166,200,198,196,207,207, 201,170,204,206,202,187,175,199, 170,177,189,174,172,166,183,137,
+   82,82,82,82,82,82,82,82, 82,95,95,82,82,95,82,82, 56,56,56,56,56,56,56,56, 56,56,56,56,56,56,56,56,
+   82,82,82,124,131,82,157,142, 82,82,82,82,82,83,82,82, 82,82,82,87,89,82,115,97, 82,82,82,82,82,82,82,103,
+   164,191,135,141,166,194,119,163, 175,198,187,177,169,181,165,191, 138,192,163,174,180,171,125,189, 179,178,152,139,101,110,139,87,
+   131,161,130,111,132,145,129,147, 126,157,123,145,139,148,148,152, 142,148,128,154,139,149,110,167, 115,120,124,107,123,95,110,92,
+   },
+  {0,0,0,0,0,0,0,0, 0,112,170,0,0,149,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   223,146,172,86,86,96,164,138, 117,148,96,95,187,167,194,124, 88,108,104,96,97,94,99,91, 91,91,165,131,188,92,116,147,
+   126,98,86,90,87,99,86,86, 87,107,86,86,86,87,87,101, 112,86,87,87,86,86,87,91, 86,93,86,87,94,113,86,107,
+   97,99,87,90,86,99,86,86, 87,108,86,86,87,87,88,102, 114,86,88,87,86,86,87,86, 86,94,86,86,113,86,87,0,
+   87,87,87,86,86,86,86,86, 86,86,86,86,86,86,86,86, 86,86,86,86,86,86,86,86, 86,86,86,86,86,86,86,86,
+   86,86,86,123,128,86,170,136, 86,86,86,86,86,87,86,86, 88,86,87,121,127,88,168,135, 88,86,86,87,87,87,86,87,
+   169,212,182,169,188,211,160,181, 172,207,177,191,196,188,203,214, 181,185,201,197,203,191,170,194, 184,189,174,162,139,157,176,119,
+   167,209,179,168,186,208,159,179, 171,205,177,190,193,187,202,210, 178,185,198,195,202,188,168,192, 184,187,173,162,133,156,176,118,
+   },
+  {132,0,98,138,200,200,200,198, 200,200,174,176,92,102,94,104, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   44,0,2,24,84,92,96,96, 128,128,46,48,2,2,2,2, 42,0,2,24,84,90,96,94, 128,128,88,90,14,24,16,26,
+   2,0,2,2,10,14,16,16, 36,36,2,2,2,2,2,2, 2,0,2,2,16,20,22,22, 46,46,2,2,2,2,2,2,
+   2,0,2,2,8,12,14,14, 128,128,26,28,2,2,2,2, 2,0,2,2,14,16,20,18, 112,128,30,32,2,2,2,2,
+   174,0,126,164,224,224,224,222, 224,224,180,182,112,124,116,126, 200,0,128,168,224,224,224,222, 224,224,182,184,114,126,118,128,
+   146,0,154,150,184,194,200,194, 224,224,170,142,134,140,78,88, 158,0,142,170,224,224,224,222, 224,224,140,172,104,106,136,142,
+   156,0,154,152,148,140,142,142, 118,120,138,74,139,139,16,24, 154,0,154,156,130,146,148,152, 126,124,138,84,139,141,18,30,
+   136,0,154,156,180,186,186,174, 116,118,108,138,112,106,141,139, 140,0,152,158,182,184,182,178, 122,122,112,138,114,110,139,141,
+   },
+},
+
+{ // ISO-8859-5 (4.566M chars) [27]
+  {NULL, NULL, NULL, NULL},
+  178, 203, 63, 18, 128,
+    {0,0,0,0,0,0,0,0, 0,73,73,0,0,73,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   174,139,153,105,121,99,146,124, 153,123,130,127,103,100,117,115, 203,190,202,193,196,200,173,190, 205,165,202,200,198,206,204,202,
+   204,206,200,185,176,172,175,186, 177,166,129,174,167,168,175,170, 198,179,195,186,191,199,170,186, 202,165,197,197,190,203,202,194,
+   202,202,199,184,167,167,172,183, 170,164,142,174,169,160,162,170, 145,139,152,104,117,99,146,124, 151,121,129,126,103,100,117,115,
+   0,0,0,0,0,0,0,0, 0,96,96,0,0,96,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   183,107,100,119,101,102,114,101, 108,107,102,105,110,123,100,105, 155,132,162,147,135,132,126,125, 144,118,136,128,135,134,143,136,
+   129,148,131,134,127,123,119,121, 119,113,118,126,116,118,119,138, 196,133,191,156,166,192,126,148, 197,189,175,160,180,171,185,142,
+   170,174,180,171,119,174,145,137, 136,107,110,179,181,109,162,193, 112,129,101,118,119,103,147,123, 126,105,102,131,111,99,125,102,
+   },
+  {0,0,0,0,0,0,0,0, 0,114,146,0,0,157,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   222,138,169,99,103,106,165,146, 132,152,105,105,185,162,182,129, 128,138,133,123,122,122,115,115, 112,113,166,133,204,103,107,138,
+   107,127,114,123,114,133,112,117, 112,112,116,112,118,118,113,127, 126,101,118,122,116,107,107,118, 101,108,104,104,106,112,100,115,
+   103,127,109,118,116,128,106,107, 105,117,110,111,115,113,118,136, 126,100,117,119,115,110,109,117, 100,113,108,99,124,100,99,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   174,147,138,136,115,100,153,120, 139,118,125,128,109,100,117,138, 209,174,192,178,187,205,163,176, 205,178,190,191,185,200,208,172,
+   198,193,199,188,157,168,168,173, 166,150,130,185,182,133,166,183, 215,178,196,181,189,211,165,178, 208,178,192,200,187,202,213,176,
+   204,195,202,197,156,173,167,173, 161,154,133,189,185,135,171,185, 146,148,138,136,116,99,155,119, 139,120,128,128,109,103,118,137,
+   },
+  {176,0,130,152,216,216,216,214, 0,0,182,122,134,118,130,216, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   36,0,2,2,42,50,44,50, 0,0,16,2,2,2,2,24, 2,0,2,2,2,2,2,2, 0,0,18,2,2,2,2,26,
+   2,0,2,2,2,4,2,4, 0,0,32,2,2,2,2,42, 2,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   2,0,2,2,2,8,2,8, 0,0,2,2,2,2,2,2, 46,0,2,4,54,64,54,64, 0,0,38,2,2,2,2,48,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   178,0,132,168,188,188,180,186, 0,0,192,126,130,94,98,138, 140,0,150,154,182,178,186,182, 0,0,122,138,138,120,116,102,
+   146,0,146,160,198,200,184,190, 0,0,126,138,140,118,114,104, 148,0,154,154,116,130,140,130, 0,0,78,28,40,138,138,134,
+   156,0,154,148,128,138,132,134, 0,0,88,38,50,138,140,144, 150,0,152,140,186,198,198,204, 0,0,142,88,100,130,142,182,
+   },
+},
+
+{ // CP874 (90.889M chars) [28]
+  {NULL, NULL, NULL, NULL},
+  183, 197, 49, 21, 127,
+    {105,102,97,58,82,121,0,91, 87,94,89,61,69,81,0,58, 84,99,96,131,98,112,94,97, 77,90,89,80,56,80,84,0,
+   175,209,195,89,202,83,128,203, 192,151,191,169,87,166,132,138, 156,134,149,172,200,200,176,200, 176,211,199,193,179,149,192,164,
+   175,205,201,213,136,199,77,202, 175,173,203,200,140,209,144,122, 197,203,215,179,198,198,169,189, 190,187,93,58,56,58,53,74,
+   209,196,186,186,191,106,151,183, 207,205,151,138,179,120,113,126, 122,127,132,111,120,111,102,99, 97,95,58,89,84,72,69,79,
+   159,116,43,30,27,138,0,65, 1,58,62,0,19,89,0,87, 48,92,134,118,116,128,127,100, 0,39,50,0,17,66,20,0,
+   184,175,143,83,159,81,91,181, 155,114,141,116,87,135,98,96, 126,89,93,153,172,160,139,156, 133,188,176,156,101,93,162,122,
+   113,182,178,173,85,158,76,169, 155,135,151,108,93,170,98,140, 166,90,179,144,149,166,81,80, 132,137,85,52,53,62,58,119,
+   116,99,98,96,101,93,161,101, 173,168,107,110,179,86,93,109, 117,116,114,109,105,106,99,96, 94,95,54,89,94,56,64,98,
+   },
+  {119,0,0,44,0,0,0,0, 0,138,149,0,0,161,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   209,129,181,84,86,94,166,157, 152,153,115,111,167,151,188,147, 133,142,138,128,126,125,117,113, 111,112,165,104,202,96,121,126,
+   106,131,115,123,116,126,111,111, 114,120,111,105,118,121,113,118, 121,94,117,127,130,114,114,118, 116,109,100,126,115,121,92,108,
+   78,142,110,112,119,136,104,98, 116,133,97,101,116,118,116,127, 119,79,119,150,131,126,114,102, 84,97,98,64,134,70,101,0,
+   99,94,75,63,80,121,0,92, 94,84,92,59,78,81,49,49, 77,82,103,84,123,111,96,101, 80,100,87,78,55,86,81,0,
+   175,206,190,92,199,79,139,206, 190,148,188,166,94,168,152,144, 148,139,143,179,199,195,177,200, 172,213,199,192,172,143,191,161,
+   174,207,201,213,153,202,68,203, 176,170,200,196,121,209,144,145, 194,206,217,188,201,202,172,189, 193,191,94,68,66,68,64,77,
+   203,186,177,183,187,119,161,181, 208,206,149,139,187,118,121,123, 127,115,118,111,108,125,108,109, 106,112,74,99,91,72,79,91,
+   },
+  {110,0,78,92,172,172,158,156, 114,122,40,36,30,34,38,118, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 54,48,2,2,2,2,2,36, 2,0,2,2,2,2,2,2, 54,46,2,2,2,2,2,34,
+   2,0,2,2,2,2,2,2, 54,46,2,2,2,2,2,34, 2,0,2,2,2,2,2,2, 64,58,2,2,2,2,2,44,
+   2,0,2,2,2,2,2,2, 62,56,2,2,2,2,2,42, 66,0,18,30,108,104,86,80, 128,128,16,12,6,8,14,128,
+   174,0,152,160,182,202,168,162, 246,218,114,92,92,80,144,174, 156,0,156,144,186,176,196,194, 204,246,128,124,120,72,138,184,
+   164,0,158,164,172,166,158,160, 106,118,126,118,128,132,130,82, 156,0,162,160,124,144,118,126, 140,136,120,122,126,134,130,94,
+   156,0,162,160,120,152,110,128, 92,114,126,124,126,134,128,90, 164,0,160,162,132,138,124,138, 88,116,134,134,128,66,132,86,
+   160,0,160,160,130,146,126,132, 98,116,132,134,134,114,112,128, 156,0,164,148,202,212,190,188, 168,192,88,80,70,70,134,254,
+   },
+},
+
+{ // ISO-8859-13 (0.207M chars) [29]
+  {NULL, NULL, ced_hires_20, ced_hires_20, },
+  87, 221, 44, 20, 128,
+    {0,0,0,0,0,0,0,0, 0,140,140,0,0,140,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   172,141,141,141,142,142,141,144, 141,141,141,141,141,141,141,141, 142,141,141,141,141,141,141,144, 141,141,141,142,141,141,141,141,
+   145,148,162,142,153,142,141,165, 141,149,141,156,144,147,157,156, 180,141,166,141,141,141,143,141, 141,141,141,151,142,141,162,141,
+   145,149,162,141,154,141,141,165, 142,147,141,156,144,146,157,156, 178,141,165,141,141,141,151,141, 142,141,141,151,145,141,162,141,
+   0,0,0,0,0,0,0,0, 0,103,103,0,0,103,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   179,147,141,155,148,163,142,148, 141,157,141,149,141,141,147,141, 156,141,143,141,164,141,141,160, 142,141,141,164,141,141,141,141,
+   171,188,209,141,195,182,160,197, 197,203,141,208,168,155,202,175, 209,170,178,192,141,156,194,142, 172,141,141,197,196,141,202,170,
+   203,197,216,141,196,193,181,199, 198,198,141,215,167,153,203,176, 209,184,177,194,141,156,192,141, 218,141,141,197,184,141,201,147,
+   },
+  {0,0,0,0,0,0,0,0, 0,147,156,0,0,163,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   226,155,187,141,141,141,205,156, 147,165,143,141,191,150,188,145, 145,153,151,146,146,145,143,143, 142,143,177,149,200,141,141,157,
+   141,192,188,189,194,190,165,186, 169,203,196,195,196,191,201,180, 177,147,207,210,204,181,186,168, 149,175,171,141,141,143,141,141,
+   141,193,189,186,194,193,163,185, 166,205,196,195,195,191,200,180, 175,144,206,209,204,182,190,168, 147,177,171,141,143,141,141,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   172,142,142,141,143,141,142,142, 141,142,141,141,142,141,142,143, 144,141,141,141,144,142,141,144, 142,141,142,143,141,142,142,143,
+   146,151,168,141,152,142,142,159, 160,146,141,160,148,161,157,152, 174,141,150,141,141,141,143,141, 154,141,141,149,142,141,160,154,
+   147,151,168,141,152,142,142,159, 161,143,141,160,148,161,160,152, 174,141,150,141,141,141,143,141, 154,141,141,150,142,141,160,141,
+   },
+  {158,0,124,150,126,130,126,128, 0,0,170,174,162,166,162,166, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   24,0,2,2,2,2,2,2, 0,0,2,6,2,2,2,2, 30,0,2,2,2,2,2,2, 0,0,6,12,2,2,2,4,
+   18,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 16,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   18,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 16,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   162,0,130,160,124,122,116,118, 0,0,184,168,156,160,156,160, 160,0,136,152,118,120,118,120, 0,0,168,176,162,164,162,166,
+   112,0,92,110,143,143,98,102, 0,0,160,164,168,178,152,154, 116,0,94,110,143,141,116,110, 0,0,156,162,178,166,152,152,
+   130,0,134,134,68,72,135,137, 0,0,158,164,152,156,168,178, 126,0,136,124,74,78,137,135, 0,0,156,162,150,158,178,166,
+   },
+},
+
+{ // Latin4 (1.274M chars) [30]
+  {NULL, NULL, ced_hires_17, ced_hires_17, },
+  82, 215, 39, 25, 128,
+    {0,0,0,0,0,0,0,0, 0,115,115,0,0,115,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   173,117,116,117,126,117,148,132, 125,177,162,132,116,116,164,120, 128,118,116,117,124,117,148,116, 124,175,162,130,116,116,163,116,
+   157,149,123,151,148,122,117,138, 167,143,123,118,151,148,118,153, 121,162,122,139,120,119,129,118, 117,116,148,118,124,121,142,117,
+   157,149,118,127,151,122,117,137, 166,138,123,117,150,149,118,153, 120,162,122,131,121,119,146,117, 118,128,146,116,134,116,142,117,
+   0,0,0,0,0,0,0,0, 0,70,70,0,0,70,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   181,199,116,118,142,116,174,142, 124,175,196,171,116,126,169,127, 155,213,117,118,137,116,173,125, 122,173,197,168,117,142,170,118,
+   207,195,152,169,196,183,168,186, 199,205,192,140,210,191,148,201, 147,178,118,155,156,154,195,123, 178,174,175,140,198,117,198,171,
+   213,200,142,170,197,194,168,195, 200,199,205,141,216,201,138,202, 146,177,121,146,145,154,194,125, 178,220,175,131,185,119,198,126,
+   },
+  {57,0,0,38,0,0,0,0, 0,131,151,0,0,166,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   228,152,180,117,117,121,211,153, 140,167,128,117,189,148,187,138, 132,143,139,132,130,129,124,123, 122,123,176,138,202,117,118,154,
+   118,186,190,201,200,189,167,191, 171,184,194,192,197,190,201,180, 181,140,208,211,206,171,184,129, 140,156,180,118,122,126,119,124,
+   127,186,190,200,200,192,165,190, 168,185,194,192,197,189,200,179, 179,135,207,211,206,172,186,130, 136,162,180,118,128,117,119,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   173,117,117,117,128,123,146,126, 126,173,155,140,117,124,156,121, 126,119,117,117,121,134,147,117, 125,173,155,141,136,134,156,135,
+   164,151,124,120,147,123,118,143, 164,136,118,120,153,166,122,151, 121,140,124,152,118,120,129,119, 117,154,119,117,123,117,140,151,
+   164,153,120,117,148,124,119,144, 165,128,118,120,153,167,121,156, 125,142,122,153,127,119,128,121, 118,154,121,117,120,117,144,118,
+   },
+  {162,0,122,152,126,130,126,128, 0,0,168,174,170,184,168,186, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   20,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 24,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   26,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 36,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   26,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 36,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   142,0,104,138,144,136,100,96, 0,0,180,140,178,180,148,160, 132,0,136,126,68,68,138,130, 0,0,140,176,140,152,182,186,
+   108,0,90,112,143,143,98,98, 0,0,176,164,182,164,150,154, 118,0,100,112,139,145,112,108, 0,0,180,154,176,174,158,170,
+   134,0,132,134,46,52,137,137, 0,0,142,182,140,160,182,166, 120,0,140,126,56,60,127,133, 0,0,152,184,148,180,174,174,
+   },
+},
+
+{ // MACINTOSH (7.890M chars) [31]
+  {NULL, NULL, NULL, NULL},
+  93, 176, 57, 40, 128,
+    {157,149,165,157,149,138,123,160, 152,165,162,148,156,168,162,155, 132,145,140,141,135,131,120,139, 145,132,114,87,138,116,126,107,
+   122,121,109,120,124,153,124,137, 115,116,118,128,124,104,106,113, 104,117,104,104,109,107,139,107, 126,104,109,117,116,104,105,110,
+   111,159,167,120,108,142,122,128, 139,154,202,125,151,121,112,145, 122,135,125,128,127,169,111,105, 105,105,106,131,106,115,157,151,
+   178,165,177,166,176,175,150,161, 175,138,169,172,167,178,180,169, 181,177,176,161,145,151,149,162, 150,150,134,154,149,146,136,108,
+   187,160,176,222,183,180,186,200, 209,171,190,175,171,176,227,198, 178,155,199,157,162,155,181,198, 159,170,176,133,176,169,177,184,
+   153,174,115,162,149,204,131,171, 181,164,183,160,143,100,144,155, 100,123,132,132,125,113,123,102, 131,114,100,143,166,100,142,153,
+   167,156,133,122,124,144,123,171, 183,183,202,158,173,141,144,148, 197,182,196,197,174,218,115,99, 113,111,102,198,116,150,173,165,
+   163,179,162,158,169,174,179,196, 171,195,195,169,176,142,198,171, 137,149,180,180,122,144,118,130, 126,177,118,147,152,115,134,107,
+   },
+  {42,0,13,0,0,0,0,0, 0,162,166,0,0,180,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   232,145,182,109,125,120,185,162, 148,164,123,123,190,165,187,146, 152,167,161,152,152,149,142,140, 139,140,164,140,212,106,144,148,
+   114,197,179,197,187,193,175,187, 174,172,164,164,193,190,204,189, 182,167,202,202,200,165,181,159, 152,152,154,137,122,135,112,138,
+   124,201,182,197,188,200,175,187, 178,184,163,166,195,192,204,192, 182,163,203,213,204,179,184,151, 152,150,156,105,146,106,124,0,
+   154,118,136,147,125,135,127,149, 150,171,149,158,123,138,165,150, 145,167,173,164,158,153,119,174, 161,141,125,139,166,124,149,128,
+   121,135,106,117,127,149,123,154, 119,135,121,131,129,103,106,107, 103,121,103,103,108,106,141,104, 125,103,103,109,119,103,106,107,
+   121,146,166,124,112,147,123,119, 142,156,201,137,158,141,109,143, 126,135,114,134,124,136,109,103, 105,103,103,132,103,152,150,164,
+   189,156,172,160,169,185,143,151, 179,154,167,169,166,174,187,145, 178,169,174,164,137,148,147,154, 144,138,124,165,164,121,147,108,
+   },
+  {64,0,40,60,48,54,44,48, 40,32,58,74,24,52,16,30, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   30,0,2,2,2,2,2,2, 2,2,2,14,2,2,2,2, 40,0,2,14,2,8,2,2, 14,8,34,52,2,28,2,6,
+   2,0,2,2,2,2,2,2, 2,2,2,14,2,2,2,2, 16,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 2,2,2,4,2,2,2,2, 2,0,2,2,2,2,2,2, 2,2,14,30,2,8,2,2,
+   110,0,128,112,130,132,130,130, 172,160,146,144,140,156,152,144, 116,0,126,118,72,74,142,134, 166,176,152,142,114,142,138,132,
+   150,0,140,144,110,108,104,102, 150,144,198,192,158,160,124,142, 118,0,138,130,110,122,126,128, 152,146,184,206,166,166,128,142,
+   154,0,132,150,124,122,106,110, 110,102,160,166,174,156,114,104, 126,0,130,136,116,114,128,136, 178,160,156,162,138,174,134,142,
+   118,0,122,114,142,144,108,96, 120,128,142,140,104,154,162,162, 124,0,132,118,132,136,124,118, 114,100,130,140,112,150,162,164,
+   },
+},
+
+{ // GB18030 (0.640M chars) [32]
+  {NULL, NULL, NULL, NULL},
+  202, 189, 30, 18, 127,
+    {107,143,144,138,146,135,139,141, 137,141,140,132,146,144,130,130, 137,138,134,135,134,142,138,131, 141,139,135,139,136,137,138,133,
+   130,205,136,202,219,216,134,132, 133,158,133,130,130,130,130,130, 190,196,199,196,196,209,197,199, 197,204,195,200,202,198,193,195,
+   193,196,190,195,196,183,196,192, 202,197,207,198,197,198,202,200, 202,191,204,201,199,197,203,200, 140,132,132,140,134,135,133,131,
+   132,133,132,133,146,134,134,134, 133,133,134,132,135,132,132,131, 133,132,131,131,133,132,135,135, 130,130,130,130,130,130,130,0,
+   150,126,124,127,127,133,129,124, 132,124,123,123,132,122,120,121, 35,63,39,52,35,68,64,64, 75,69,63,67,52,52,39,65,
+   121,121,121,121,122,120,121,121, 126,122,121,120,121,120,121,121, 121,121,121,120,121,121,120,121, 121,121,120,121,122,121,121,121,
+   121,121,121,121,121,120,120,120, 121,120,120,121,121,121,121,120, 120,120,121,120,120,120,120,121, 121,121,121,121,121,121,121,121,
+   121,120,121,120,121,120,120,120, 121,121,121,121,120,121,120,120, 120,120,120,122,120,120,120,121, 121,121,120,120,121,121,120,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,79,79,0,0,79,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   79,85,79,79,79,79,95,79, 83,83,79,93,93,79,87,79, 126,115,111,106,110,106,103,106, 108,108,79,79,140,83,79,110,
+   132,131,132,136,135,131,132,131, 131,141,131,133,131,132,132,133, 131,133,131,132,138,132,132,137, 134,131,131,131,131,133,136,131,
+   131,131,131,131,131,132,132,133, 131,131,131,131,134,131,131,135, 131,131,139,131,132,131,131,132, 131,132,132,131,134,131,131,0,
+   138,132,131,134,130,131,132,130, 130,130,131,132,131,134,133,133, 131,134,137,134,131,130,133,133, 130,131,132,131,130,132,134,136,
+   138,196,198,193,197,176,186,185, 196,185,197,195,199,187,185,192, 190,191,180,190,190,195,182,192, 182,191,188,196,190,191,188,193,
+   187,175,193,194,203,190,193,195, 191,189,190,196,182,188,196,192, 200,179,185,187,190,187,193,181, 193,177,196,183,186,180,183,186,
+   186,188,190,186,184,188,186,187, 178,191,190,192,188,188,182,181, 179,186,189,196,174,178,187,193, 193,183,197,187,178,188,186,0,
+   },
+  {218,0,240,172,146,146,148,146, 120,44,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   56,0,26,2,2,2,2,2, 74,70,2,2,2,2,2,2, 50,0,20,2,2,2,2,2, 84,76,2,2,2,2,2,2,
+   50,0,22,2,2,2,2,2, 86,76,2,2,2,2,2,2, 58,0,28,2,2,2,2,2, 86,76,2,2,2,2,2,2,
+   128,0,128,64,36,36,38,38, 86,76,2,2,2,2,2,2, 128,0,128,68,40,40,42,42, 84,76,2,2,2,2,2,2,
+   0,0,0,212,188,194,188,186, 180,180,120,114,116,122,126,126, 0,0,0,192,194,188,194,194, 176,176,116,120,116,122,136,128,
+   0,0,0,194,206,204,216,214, 118,118,136,130,128,116,126,112, 0,0,0,198,208,208,228,220, 112,112,126,126,128,126,126,130,
+   0,0,0,188,210,208,232,222, 112,112,120,126,126,126,130,130, 0,0,0,192,210,208,232,222, 120,120,124,128,126,134,120,124,
+   0,0,0,188,210,208,236,222, 176,176,128,122,120,122,124,124, 0,0,0,180,210,208,236,222, 178,178,122,122,122,124,126,124,
+   },
+},
+
+{ // CP852 (9.112M chars) [33]
+  {NULL, NULL, NULL, NULL},
+  85, 183, 47, 36, 128,
+    {147,99,153,98,113,162,97,141, 139,113,105,98,99,105,112,106, 117,111,78,82,68,70,92,81, 93,63,63,89,87,89,89,145,
+   187,171,114,163,117,105,174,173, 163,149,96,97,180,97,98,99, 96,96,96,96,96,186,101,174, 97,96,96,96,96,99,100,96,
+   96,96,96,96,96,96,112,102, 96,96,96,96,96,96,96,96, 97,99,112,109,110,120,170,99, 174,96,96,96,96,98,162,96,
+   115,98,115,99,99,120,184,183, 99,167,99,97,153,153,98,101, 97,97,96,97,96,158,99,96, 100,97,97,100,191,191,96,158,
+   178,142,216,118,134,202,143,174, 177,140,130,157,125,109,134,147, 194,166,135,125,142,148,164,161, 172,142,141,143,163,165,129,208,
+   222,229,177,175,143,129,196,201, 175,165,92,102,208,119,112,129, 92,92,92,92,92,217,114,205, 120,92,92,92,92,119,130,92,
+   92,92,92,92,92,92,117,134, 95,95,92,92,92,92,92,99, 100,101,140,134,151,163,210,124, 213,92,92,92,92,116,181,94,
+   176,147,127,120,122,171,198,197, 98,182,97,109,208,197,117,134, 100,102,93,126,93,173,129,92, 111,100,112,145,203,203,92,168,
+   },
+  {0,0,0,0,0,0,0,0, 0,124,152,0,0,168,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   234,148,183,99,97,113,164,166, 117,160,105,108,196,160,193,147, 123,151,151,145,144,134,140,137, 123,116,177,135,205,109,140,149,
+   99,185,176,199,192,207,123,147, 188,196,177,198,197,199,208,171, 173,98,190,193,202,160,196,129, 101,116,185,101,102,119,97,112,
+   97,188,176,199,192,210,124,151, 188,197,178,199,198,199,208,173, 176,98,191,194,203,165,197,129, 100,117,186,97,109,97,97,0,
+   127,96,131,106,97,136,102,129, 109,96,96,129,100,96,97,102, 122,147,109,96,96,114,120,101, 101,96,96,149,150,109,105,174,
+   176,201,108,134,125,115,179,179, 153,141,96,96,173,96,98,99, 96,96,96,96,96,174,106,99, 96,96,96,96,96,110,110,96,
+   96,96,96,96,96,96,98,98, 96,96,96,96,96,96,96,98, 97,97,137,96,141,138,199,98, 99,96,96,96,96,100,136,96,
+   108,105,96,97,97,138,174,174, 99,131,100,96,100,100,100,102, 116,100,96,107,96,115,97,96, 100,97,97,99,180,181,96,164,
+   },
+  {92,0,50,80,56,70,54,68, 82,58,30,64,104,40,54,46, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   8,0,2,2,2,2,2,2, 2,2,2,2,6,2,2,2, 20,0,2,2,2,2,2,2, 4,2,2,2,24,2,2,2,
+   78,0,10,38,14,28,12,26, 96,60,28,64,128,38,54,46, 26,0,2,2,2,2,2,2, 2,2,2,2,24,2,2,2,
+   14,0,2,2,2,2,2,2, 2,2,2,2,24,2,2,2, 8,0,2,2,2,2,2,2, 10,2,2,2,32,2,2,2,
+   138,0,138,136,100,100,126,124, 180,178,162,150,190,144,146,142, 122,0,120,134,128,124,134,128, 182,146,170,148,172,110,140,132,
+   132,0,132,130,120,106,130,132, 158,170,152,172,148,158,164,162, 86,0,86,90,142,152,50,60, 150,144,154,132,162,132,174,174,
+   148,0,132,140,116,136,116,134, 232,176,140,174,232,152,168,164, 128,0,124,124,134,132,122,132, 156,160,164,142,166,136,162,164,
+   124,0,124,120,130,132,128,132, 156,156,160,132,156,166,160,146, 118,0,96,134,136,98,136,108, 136,130,160,158,150,168,118,150,
+   },
+},
+
+{ // Arabic (0.205M chars) [34]
+  {NULL, NULL, NULL, NULL},
+  180, 214, 71, 14, 128,
+    {0,0,0,0,0,0,0,0, 0,121,121,0,0,121,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   136,0,0,0,136,0,0,0, 0,0,0,0,138,136,0,0, 0,0,0,0,0,0,0,0, 0,0,0,136,0,0,0,152,
+   0,151,167,198,147,188,171,230, 205,155,210,171,192,196,187,199, 176,204,173,195,191,195,175,181, 170,203,174,0,0,0,0,0,
+   182,201,194,197,213,218,204,199, 211,169,210,171,161,136,141,183, 141,152,136,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,133,133,0,0,133,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   145,0,0,0,145,0,0,0, 0,0,0,0,184,145,0,0, 0,0,0,0,0,0,0,0, 0,0,0,148,0,0,0,159,
+   0,171,146,149,145,145,147,191, 180,203,194,168,171,165,164,185, 152,192,159,171,155,163,167,168, 152,175,156,0,0,0,0,0,
+   152,177,173,172,190,189,191,184, 173,192,184,156,145,145,146,145, 145,149,145,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,137,171,0,0,150,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   227,142,169,137,137,137,163,144, 137,152,138,137,171,141,178,147, 138,139,137,137,137,138,137,137, 137,137,167,137,194,137,137,137,
+   137,137,137,137,137,137,137,137, 137,137,137,137,137,137,137,137, 137,137,137,137,137,137,137,137, 137,137,137,137,138,137,137,142,
+   137,137,137,137,137,137,137,137, 137,137,137,137,137,137,137,137, 137,137,137,137,137,137,137,137, 137,137,137,137,137,137,137,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   137,164,151,154,137,159,165,165, 160,155,154,156,173,137,172,165, 170,158,160,163,159,161,154,161, 189,173,179,140,185,172,164,157,
+   0,171,144,171,160,163,176,218, 199,202,201,175,192,195,189,204, 182,210,177,202,184,184,183,185, 163,200,179,0,0,0,0,0,
+   160,196,197,191,226,205,211,195, 209,178,216,158,137,138,147,151, 146,154,138,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {158,0,126,158,180,178,180,180, 0,0,144,124,130,132,124,178, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   52,0,2,28,50,50,50,52, 0,0,2,2,2,2,2,34, 52,0,2,28,50,50,50,52, 0,0,20,10,2,2,2,56,
+   2,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,16,
+   2,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 48,0,2,24,46,46,46,48, 0,0,22,12,2,2,2,58,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   166,0,150,140,158,156,158,158, 0,0,146,124,130,132,122,178, 154,0,138,166,170,170,170,170, 0,0,134,162,120,124,114,168,
+   134,0,150,152,144,144,144,144, 0,0,106,68,128,132,132,124, 144,0,150,152,154,154,154,154, 0,0,110,76,134,124,130,130,
+   156,0,150,144,146,146,146,146, 0,0,140,142,130,128,126,130, 156,0,134,156,178,178,178,178, 0,0,138,116,132,130,128,174,
+   },
+},
+
+{ // BIG5_HKSCS (0.271M chars) [35]
+  {NULL, NULL, NULL, NULL},
+  157, 175, 62, 14, 128,
+    {0,0,0,0,0,0,0,0, 108,149,150,140,0,150,152,140, 132,132,131,132,132,132,132,132, 132,132,132,131,131,132,131,130,
+   139,181,164,132,214,207,204,195, 203,198,208,192,195,201,196,187, 202,189,195,196,188,194,190,182, 195,188,192,186,188,188,191,185,
+   184,180,185,187,180,189,169,181, 135,142,140,142,141,141,140,141, 141,140,140,140,141,140,141,140, 140,140,142,140,140,141,141,140,
+   140,140,140,140,140,146,149,145, 143,146,140,141,149,140,140,140, 140,140,140,140,140,140,140,140, 140,151,141,140,141,139,140,0,
+   0,0,0,0,0,0,0,0, 134,133,133,134,0,124,134,133, 122,122,122,122,122,122,122,122, 122,122,122,121,121,122,122,121,
+   132,216,163,137,212,204,205,192, 184,187,190,192,193,185,187,179, 188,190,183,193,178,189,189,198, 181,189,172,184,183,181,173,166,
+   178,176,172,174,168,176,168,176, 163,140,141,134,134,134,135,134, 134,134,135,135,135,135,134,134, 135,135,134,134,134,134,134,134,
+   134,134,134,134,134,134,135,136, 134,134,134,134,134,134,135,134, 134,134,134,134,134,136,135,134, 134,134,144,134,134,134,134,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,81,81,0,0,81,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,81,81,81,81,81,81,81, 81,81,81,81,81,81,81,81, 81,81,81,81,81,81,81,81, 81,81,81,81,85,81,81,81,
+   200,202,189,193,189,173,185,189, 193,179,177,176,184,185,182,192, 186,181,175,172,181,185,166,189, 183,172,168,173,170,186,179,178,
+   174,184,179,166,182,181,171,178, 178,187,186,179,178,172,187,186, 185,189,169,194,178,186,186,183, 180,180,179,177,186,177,193,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   157,191,170,191,186,176,168,184, 181,177,175,185,177,176,169,168, 182,178,179,190,172,180,184,171, 183,186,201,182,169,184,171,170,
+   185,180,173,171,183,175,187,182, 183,185,183,177,184,178,189,186, 187,188,183,195,166,177,177,182, 181,174,185,182,180,178,175,181,
+   176,176,179,175,179,183,187,172, 179,192,190,179,187,180,169,178, 168,171,175,183,191,176,182,182, 188,183,186,178,183,179,177,0,
+   },
+  {232,0,254,254,110,120,118,114, 128,128,4,2,2,2,2,4, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   40,0,16,16,2,2,2,2, 128,128,2,2,2,2,2,2, 46,0,24,22,2,2,2,2, 128,128,2,2,2,2,2,2,
+   66,0,42,40,2,2,2,2, 128,128,2,2,2,2,2,2, 128,0,128,128,2,2,2,2, 128,128,2,2,2,2,2,2,
+   128,0,128,128,2,2,2,2, 128,128,2,2,2,2,2,2, 128,0,128,128,2,2,2,2, 128,128,2,2,2,2,2,2,
+   0,0,0,0,132,142,144,140, 0,0,140,124,126,126,126,126, 0,0,0,0,134,142,142,138, 0,0,136,134,134,134,134,134,
+   0,0,0,0,142,138,138,134, 0,0,136,138,132,132,134,134, 0,0,0,0,132,138,140,144, 0,0,134,128,138,138,132,136,
+   0,0,0,0,134,144,136,140, 0,0,126,134,132,132,142,138, 0,0,0,0,134,144,142,138, 0,0,136,134,134,134,136,136,
+   0,0,0,0,134,144,142,138, 0,0,144,132,132,132,132,132, 0,0,0,0,136,142,140,138, 0,0,136,132,134,136,134,138,
+   },
+},
+
+{ // CP866 (75.238M chars) [36]
+  {NULL, NULL, NULL, NULL},
+  144, 168, 54, 34, 129,
+    {202,189,201,189,198,201,176,191, 205,171,201,198,196,207,207,203, 202,204,202,184,177,168,173,180, 170,166,142,175,168,167,156,168,
+   200,185,197,186,194,201,174,188, 204,171,197,197,192,205,205,197, 60,60,60,60,60,60,60,60, 60,60,60,60,60,60,60,60,
+   60,60,60,60,60,60,60,60, 60,60,60,60,60,60,60,60, 60,60,60,60,60,60,60,60, 60,60,60,60,60,60,60,60,
+   203,204,203,185,172,167,174,181, 171,168,145,178,171,163,156,169, 122,121,61,61,64,61,61,61, 82,60,60,60,60,60,60,149,
+   155,129,160,132,130,136,112,122, 155,123,142,126,140,137,156,133, 109,124,109,108,94,99,94,88, 84,75,58,94,87,91,94,119,
+   193,150,189,167,164,195,129,155, 199,188,180,165,183,167,190,143, 55,55,55,55,55,55,55,55, 55,55,55,55,55,55,55,55,
+   55,55,55,55,55,55,55,55, 55,55,55,55,55,55,55,55, 55,55,55,55,55,55,55,55, 55,55,55,55,55,55,55,55,
+   172,176,181,172,118,175,146,138, 137,99,105,181,182,104,163,194, 90,129,56,55,55,62,55,57, 106,70,89,55,55,55,55,167,
+   },
+  {0,0,0,0,0,0,0,0, 0,118,150,0,0,157,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   221,147,180,74,65,105,160,149, 120,156,94,110,186,165,186,136, 108,128,124,115,112,121,107,104, 100,97,169,132,195,113,104,144,
+   134,102,74,101,82,91,78,71, 88,102,80,94,92,80,75,94, 112,60,73,125,77,72,89,82, 78,91,81,80,102,111,73,107,
+   93,109,104,99,117,99,90,77, 101,105,109,107,97,101,119,121, 134,59,107,112,113,105,117,82, 72,94,116,60,90,75,74,0,
+   210,180,193,179,186,209,168,174, 206,179,191,195,187,202,211,177, 198,196,203,188,161,170,168,174, 161,156,124,189,187,127,169,186,
+   213,183,195,180,188,212,170,177, 208,179,193,198,188,204,215,181, 60,60,60,60,60,60,60,60, 60,60,60,60,60,60,60,60,
+   60,60,60,60,60,60,60,60, 60,60,60,60,60,60,60,60, 60,60,60,60,60,60,60,60, 60,60,60,60,60,60,60,60,
+   202,198,205,193,164,172,168,175, 162,157,125,191,187,137,171,187, 127,130,61,61,67,67,60,61, 82,60,61,60,66,61,60,147,
+   },
+  {2,0,2,2,50,52,44,42, 12,26,10,176,176,176,22,96, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,4,6,2,2, 2,2,2,68,68,68,2,8, 128,0,58,84,128,128,128,128, 52,68,48,128,128,128,66,128,
+   128,0,58,84,128,128,128,128, 52,68,48,128,128,128,66,128, 128,0,58,84,128,128,128,128, 52,68,48,128,128,128,66,128,
+   2,0,2,2,16,18,10,10, 2,2,2,86,86,86,2,18, 64,0,4,30,96,98,92,86, 2,2,2,128,128,128,2,62,
+   146,0,152,154,174,180,156,152, 138,138,114,116,116,116,110,112, 148,0,150,162,184,184,176,158, 138,140,112,130,130,130,110,118,
+   154,0,152,150,150,138,126,128, 10,12,138,118,118,118,138,116, 176,0,132,158,200,200,200,198, 118,136,116,200,200,200,132,200,
+   176,0,132,158,200,200,200,198, 118,136,116,200,200,200,132,200, 176,0,132,158,200,200,200,198, 118,136,116,200,200,200,132,200,
+   152,0,152,154,122,140,132,122, 10,14,136,132,132,132,138,120, 166,0,126,164,192,204,210,212, 118,118,110,200,200,200,116,224,
+   },
+},
+
+{ // UTF-16BE (921.761M chars) [37]
+  {NULL, NULL, NULL, NULL},
+  58, 128, 46, 5, 128,
+    {255,148,128,107,171,104,157,100, 118,108,101,120,124,90,133,117, 110,115,104,101,109,109,114,104, 109,116,118,96,107,107,124,118,
+   70,74,71,58,71,66,66,63, 77,54,49,59,103,87,65,64, 97,64,107,90,85,62,70,84, 68,102,96,78,93,84,65,62,
+   98,86,102,72,68,106,98,98, 86,95,76,75,78,83,75,75, 86,85,82,77,76,85,76,77, 73,80,63,66,87,93,89,101,
+   71,70,54,77,57,100,56,43, 81,50,69,75,59,63,75,80, 86,62,64,76,70,35,84,71, 72,68,83,83,81,83,96,112,
+   158,116,117,132,124,138,121,108, 116,113,119,126,121,103,105,108, 120,97,117,112,89,96,106,109, 108,102,107,100,99,84,118,104,
+   97,103,109,97,115,85,102,101, 103,94,96,102,108,105,104,111, 112,95,96,109,94,101,100,108, 109,120,113,105,98,89,95,106,
+   95,111,93,114,92,107,109,118, 118,105,105,108,86,103,97,102, 101,110,88,98,94,117,109,105, 78,77,73,73,66,78,86,78,
+   104,107,89,105,83,121,89,89, 97,107,111,111,101,103,99,100, 88,81,89,122,99,70,98,85, 99,87,106,114,125,103,97,136,
+   },
+  {236,123,89,99,100,109,89,100, 108,198,193,73,119,181,104,83, 99,103,97,99,99,97,82,94, 101,109,110,107,104,93,93,106,
+   216,151,203,161,118,166,169,173, 164,164,144,152,168,182,186,198, 189,182,179,173,169,172,169,168, 170,168,177,180,198,196,198,153,
+   139,171,167,169,169,168,165,158, 160,167,150,145,164,164,166,162, 165,146,165,168,170,153,155,156, 147,151,149,145,145,143,117,176,
+   111,206,186,196,198,208,187,191, 193,205,165,175,201,192,202,201, 195,149,202,203,208,188,183,182, 175,180,162,150,135,150,118,103,
+   112,108,111,92,98,93,88,76, 111,111,111,115,106,106,97,112, 115,111,81,95,101,109,110,98, 111,93,99,76,83,70,93,76,
+   118,92,84,86,91,83,65,85, 86,99,71,87,101,87,83,95, 96,99,90,82,97,95,62,97, 88,93,93,96,90,93,79,99,
+   100,101,86,92,104,90,86,96, 95,94,77,82,107,97,85,85, 105,105,86,90,102,108,87,87, 97,112,82,93,109,99,100,96,
+   112,124,97,99,120,103,92,104, 114,131,110,75,88,121,83,84, 84,109,72,116,98,89,110,72, 99,78,96,85,114,106,69,129,
+   },
+  {126,120,126,128,126,126,126,126, 206,210,222,240,224,222,220,216, 122,164,100,126,150,150,112,122, 232,224,222,208,220,232,222,228,
+   28,128,42,46,76,82,30,42, 128,128,128,128,128,128,128,128, 18,128,28,34,58,64,18,28, 128,128,128,128,128,128,128,128,
+   16,128,26,32,54,62,16,26, 128,128,128,128,128,128,128,128, 22,128,32,38,70,74,22,32, 128,128,128,128,128,128,128,128,
+   30,128,42,48,82,88,32,42, 128,128,128,128,128,128,128,128, 90,190,74,128,122,156,100,110, 212,182,194,168,162,186,118,178,
+   96,180,78,128,126,140,100,104, 98,96,94,100,98,90,80,92, 108,222,102,132,140,156,114,122, 236,234,220,202,226,226,226,230,
+   118,206,78,150,134,154,108,118, 228,218,192,196,192,176,210,224, 112,218,96,148,132,158,110,122, 232,232,220,208,226,212,224,228,
+   112,224,102,146,142,156,108,124, 234,232,226,222,226,226,216,222, 114,196,84,148,140,164,110,118, 242,232,196,208,200,198,192,206,
+   110,160,74,150,140,156,114,118, 230,224,160,160,162,160,160,220, 124,240,102,144,132,152,106,116, 230,226,200,198,162,174,190,230,
+   },
+},
+
+{ // Latin3 (0.294M chars) [38]
+  {NULL, NULL, ced_hires_16, ced_hires_16, },
+  99, 202, 43, 23, 128,
+    {0,0,0,0,0,0,0,0, 0,142,142,0,0,142,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   180,143,143,143,145,0,143,148, 145,143,143,143,143,143,0,146, 147,143,143,143,144,143,143,148, 145,206,195,143,143,143,0,145,
+   143,143,143,0,158,143,143,150, 143,151,143,143,143,143,143,143, 0,145,143,162,143,143,147,143, 143,143,143,143,172,143,143,143,
+   154,143,143,0,165,177,154,182, 165,150,143,148,143,144,143,145, 0,145,143,162,143,143,157,143, 143,143,143,143,172,144,143,143,
+   0,0,0,0,0,0,0,0, 0,112,112,0,0,112,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   188,148,144,162,154,0,145,154, 146,209,160,192,146,145,0,200, 163,148,147,145,151,144,144,167, 145,236,159,192,146,145,0,204,
+   161,202,162,87,203,144,144,187, 186,211,176,153,145,198,159,150, 76,180,149,201,165,145,202,146, 144,144,182,153,204,144,144,178,
+   188,206,154,0,204,144,144,175, 177,206,166,153,158,208,152,146, 0,180,159,203,157,145,200,146, 144,155,182,149,192,144,144,147,
+   },
+  {86,0,0,0,0,0,0,0, 0,149,151,0,0,159,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   223,146,167,143,143,144,158,154, 152,149,146,143,193,154,169,146, 150,160,164,151,150,149,147,146, 146,146,160,144,200,143,144,146,
+   143,194,180,194,186,193,173,187, 178,180,164,179,196,190,207,184, 177,157,206,202,196,184,182,176, 156,184,174,143,143,145,144,143,
+   144,192,181,189,184,193,172,184, 175,179,163,204,214,197,221,182, 173,152,217,199,214,184,180,176, 154,186,193,144,147,143,144,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   180,143,143,143,146,164,143,146, 146,145,143,171,143,144,177,162, 146,143,143,143,145,143,143,148, 146,199,202,192,143,143,169,162,
+   145,144,145,0,158,143,143,149, 143,151,144,143,143,146,144,143, 0,144,144,146,143,143,148,144, 143,143,143,143,146,143,143,161,
+   144,144,144,0,159,143,143,146, 143,147,144,143,143,146,143,143, 0,144,144,147,146,143,150,143, 143,143,144,143,145,143,143,143,
+   },
+  {162,0,130,150,128,132,120,124, 0,0,156,140,170,170,172,172, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   24,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   30,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 26,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   16,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 24,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   144,0,124,142,134,134,124,120, 0,0,174,132,162,162,162,166, 118,0,132,130,74,76,134,134, 0,0,126,164,140,140,140,142,
+   118,0,100,110,147,145,94,90, 0,0,152,136,178,170,170,170, 124,0,102,116,143,145,108,108, 0,0,170,132,166,166,164,166,
+   134,0,140,130,82,86,131,131, 0,0,168,152,154,156,164,156, 130,0,124,124,92,96,137,137, 0,0,148,152,164,170,166,166,
+   },
+},
+
+{ // UTF-16LE (912.138M chars) [39]
+  {NULL, NULL, NULL, NULL},
+  58, 128, 46, 4, 127,
+    {255,146,126,120,177,123,159,99, 110,78,94,116,115,99,130,112, 110,112,82,97,100,94,113,102, 100,94,112,92,103,102,120,113,
+   60,84,76,72,67,43,63,72, 75,64,74,96,95,88,83,52, 78,81,96,84,76,57,31,82, 83,85,86,82,92,78,88,68,
+   84,91,96,52,84,96,99,105, 89,83,72,65,83,88,84,86, 81,94,75,70,97,95,78,57, 109,82,33,91,80,77,77,75,
+   25,59,64,81,47,69,60,19, 96,31,92,30,20,68,72,81, 58,66,54,80,88,55,60,66, 55,40,45,78,55,99,113,116,
+   161,117,113,130,127,131,118,108, 119,110,115,123,129,107,105,108, 116,99,114,110,93,99,108,111, 109,103,113,103,97,84,101,103,
+   91,100,101,94,110,85,98,97, 98,88,86,93,108,101,99,107, 111,91,107,105,91,95,97,104, 105,118,111,98,97,92,87,101,
+   101,106,99,111,87,110,107,116, 114,105,99,102,87,99,93,98, 100,103,88,98,89,111,105,101, 111,92,89,98,104,108,110,105,
+   102,102,83,99,77,115,78,86, 85,100,104,107,98,100,92,97, 86,77,86,117,94,64,98,84, 97,89,103,109,121,97,98,126,
+   },
+  {236,123,100,94,96,100,91,97, 108,196,193,90,112,182,101,92, 101,105,95,98,102,96,89,96, 98,112,104,103,108,101,95,106,
+   216,149,203,169,119,166,174,176, 165,165,142,152,168,181,187,198, 189,182,180,175,173,177,172,171, 173,176,177,184,198,197,198,156,
+   139,172,168,169,171,168,166,159, 159,167,150,145,165,165,166,163, 165,145,164,168,170,153,155,156, 147,150,149,144,147,141,118,176,
+   125,206,186,196,197,208,187,190, 192,205,164,175,200,191,201,201, 195,151,202,202,207,188,182,182, 175,179,161,149,134,149,121,100,
+   115,103,100,89,101,94,90,87, 101,114,108,116,108,98,92,113, 113,107,90,81,101,110,105,94, 107,95,107,74,84,72,92,81,
+   118,95,89,86,95,86,81,84, 92,99,79,88,102,91,89,97, 104,100,92,91,99,99,79,96, 89,102,98,99,90,95,85,101,
+   101,103,87,94,104,94,85,94, 97,94,83,90,106,96,82,86, 105,103,85,93,102,108,92,91, 91,103,79,87,101,91,92,87,
+   112,124,97,99,119,112,90,105, 108,128,107,81,91,121,89,85, 88,97,79,113,98,90,111,79, 102,83,100,94,112,102,86,130,
+   },
+  {128,124,128,126,126,126,126,126, 204,202,224,222,224,224,220,218, 120,164,116,98,140,156,124,122, 220,224,168,162,168,220,206,238,
+   82,158,96,72,110,162,88,92, 170,160,158,158,158,176,158,164, 54,158,66,68,104,108,56,66, 158,158,158,158,158,148,158,158,
+   48,158,58,62,88,96,50,60, 158,158,158,158,158,148,158,158, 50,158,60,64,90,98,52,62, 158,158,158,158,158,148,158,158,
+   62,158,74,80,110,116,66,76, 158,158,158,158,158,148,158,158, 112,192,96,138,138,132,104,106, 206,210,184,198,188,196,186,186,
+   106,174,86,120,124,134,92,112, 96,94,82,82,82,78,66,76, 122,214,110,132,136,160,112,112, 228,230,210,212,214,210,216,212,
+   90,200,118,146,140,162,114,120, 234,222,202,200,206,188,196,196, 96,206,128,142,144,156,116,126, 238,216,210,206,214,206,218,208,
+   94,216,130,142,136,160,108,126, 238,236,218,214,222,212,214,212, 94,214,134,138,140,158,114,124, 238,238,212,208,212,204,214,208,
+   62,162,54,148,148,164,116,124, 232,226,164,164,162,150,164,174, 94,210,110,146,134,162,112,118, 232,228,192,198,194,188,198,208,
+   },
+},
+
+{ // HZ-GB-2312 (87.400M chars) [40]
+  {NULL, NULL, NULL, NULL},
+  92, 0, 37, 0, 255,
+    {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {126,0,164,0,0,0,126,0, 178,139,148,0,0,132,154,146, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   161,195,176,211,162,158,148,144, 213,209,179,164,154,148,168,174, 182,184,172,182,184,188,187,175, 180,183,176,176,182,177,179,172,
+   170,193,196,199,167,165,195,168, 183,178,178,180,168,178,186,182, 183,158,180,182,181,183,186,180, 155,132,136,132,146,136,132,132,
+   132,132,136,139,173,183,178,171, 162,161,132,142,144,132,139,139, 132,136,139,144,132,132,149,139, 132,132,136,152,139,132,245,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+},
+
+{ // CSN_369103 (8.850M chars) [41]
+  {NULL, NULL, NULL, NULL},
+  90, 204, 46, 27, 127,
+    {0,0,0,0,0,0,0,0, 0,90,90,0,0,90,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   176,178,96,184,92,102,188,127, 120,153,117,98,133,96,143,153, 122,178,93,182,115,102,188,96, 119,152,117,98,133,101,141,152,
+   98,169,119,130,151,111,96,137, 171,147,170,103,153,155,105,120, 96,98,118,171,112,104,128,105, 180,129,158,96,133,127,119,102,
+   99,169,99,125,153,107,102,128, 169,142,170,99,155,155,103,119, 95,99,118,171,112,105,148,95, 180,130,154,95,137,127,119,96,
+   0,0,0,0,0,0,0,0, 0,55,55,0,0,55,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   185,202,93,207,98,140,210,145, 119,178,153,123,170,124,172,196, 158,217,94,211,139,141,210,121, 116,176,151,152,187,124,173,200,
+   103,198,155,156,200,128,165,183, 202,208,195,143,194,194,151,144, 149,174,157,197,159,157,199,120, 192,171,178,137,201,170,155,174,
+   106,203,144,173,201,105,197,170, 203,203,208,143,202,204,139,150, 148,188,166,199,147,166,197,121, 192,191,178,144,188,182,155,122,
+   },
+  {62,0,0,0,0,0,0,0, 0,129,153,0,0,162,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   228,154,181,95,91,108,164,158, 144,155,114,105,191,153,189,148, 132,145,139,130,128,126,119,117, 115,116,177,135,201,95,124,155,
+   93,200,180,210,197,203,168,188, 175,191,170,190,200,190,208,194, 182,141,204,199,200,181,182,186, 146,188,181,105,114,126,105,120,
+   112,201,181,209,196,205,167,186, 172,191,169,190,200,189,207,194, 180,135,203,198,199,182,181,191, 143,189,181,100,125,92,99,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   176,176,95,167,93,99,163,117, 120,144,106,125,140,115,142,179, 121,178,93,168,111,97,163,92, 119,144,107,125,141,107,143,179,
+   99,160,117,127,149,96,190,132, 166,138,143,97,95,185,108,127, 94,120,128,168,99,91,130,104, 171,126,127,95,123,101,122,153,
+   100,161,110,128,150,96,190,125, 167,128,145,96,95,185,105,130, 94,120,128,170,114,91,134,95, 172,126,113,95,119,100,122,97,
+   },
+  {182,0,124,152,122,132,122,132, 0,0,162,164,156,176,156,176, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   12,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 14,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   24,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 26,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   24,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 26,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   132,0,96,130,142,136,100,114, 0,0,172,130,168,162,110,142, 130,0,136,132,52,54,136,130, 0,0,108,174,92,106,170,166,
+   98,0,90,100,140,142,100,90, 0,0,164,122,170,178,132,132, 100,0,92,102,138,142,108,110, 0,0,166,106,174,156,130,144,
+   134,0,136,134,38,54,134,134, 0,0,118,168,102,146,168,180, 132,0,130,134,44,58,136,140, 0,0,108,170,98,158,172,156,
+   },
+},
+
+{ // ISO-2022-KR (85.145M chars) [42]
+  {NULL, NULL, NULL, NULL},
+  44, 144, 15, 3, 129,
+    {0,0,130,0,0,0,0,0, 0,66,66,0,0,66,213,252, 0,0,0,0,0,0,0,0, 0,0,0,224,0,0,91,91,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {80,0,0,0,0,0,0,0, 0,155,178,0,0,191,94,16, 0,0,0,0,0,0,0,0, 0,0,0,159,0,0,115,80,
+   237,178,211,150,215,142,197,197, 215,186,147,141,202,191,204,184, 182,193,189,179,176,177,168,168, 173,174,186,191,233,164,175,184,
+   177,172,153,166,162,158,159,169, 164,164,152,159,147,160,152,147, 160,143,152,154,156,148,153,153, 128,113,118,160,143,179,134,168,
+   120,133,133,128,134,139,123,121, 142,133,113,107,120,125,168,114, 123,102,122,140,136,109,112,132, 116,115,107,101,157,124,155,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {130,130,126,130,130,130,118,128, 0,0,0,0,0,0,0,0, 42,2,134,2,62,40,70,60, 0,0,0,0,0,0,0,0,
+   128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0,
+   128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0,
+   128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+},
+
+{ // Latin6 (0.061M chars) [43]
+  {NULL, NULL, ced_hires_19, ced_hires_19, },
+  93, 214, 54, 26, 129,
+    {0,0,0,0,0,0,0,0, 0,156,156,0,0,156,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   175,158,158,158,158,158,158,159, 158,158,161,158,159,158,158,158, 158,158,158,158,159,158,158,159, 158,158,161,158,159,158,158,158,
+   159,164,158,159,162,158,158,158, 171,161,158,158,159,162,158,158, 158,160,158,158,158,158,159,158, 158,158,162,158,158,158,158,158,
+   159,164,158,158,163,158,158,158, 171,160,158,158,159,162,158,158, 158,160,158,158,158,158,162,158, 158,159,162,158,159,158,158,158,
+   0,0,0,0,0,0,0,0, 0,130,130,0,0,130,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   180,198,158,158,160,158,158,160, 158,163,190,158,168,158,159,158, 163,212,158,158,162,158,158,166, 159,158,180,158,168,158,158,158,
+   206,194,163,172,195,183,171,185, 198,203,191,160,209,190,162,159, 161,179,158,193,165,163,194,158, 179,176,175,160,196,171,160,172,
+   211,198,160,173,196,193,171,194, 199,198,204,160,214,199,160,158, 167,178,159,195,161,163,193,158, 178,219,176,159,185,179,160,158,
+   },
+  {0,0,0,0,0,0,0,0, 0,160,164,0,0,168,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   227,163,177,159,159,159,210,162, 160,170,159,159,189,161,185,159, 162,161,160,159,159,159,159,159, 159,159,178,159,200,159,159,164,
+   159,184,177,200,197,187,171,187, 174,180,189,189,194,188,202,180, 180,160,204,208,200,171,181,173, 162,166,178,159,159,159,159,159,
+   159,184,179,199,197,189,170,185, 172,181,189,189,194,186,201,179, 179,159,203,208,200,171,185,173, 162,169,178,159,159,159,159,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   176,159,159,159,159,159,159,159, 159,159,163,159,161,159,159,159, 159,159,159,159,159,160,159,159, 159,159,163,159,161,159,159,159,
+   161,164,159,159,163,159,159,159, 168,160,159,159,159,168,159,159, 160,159,159,159,159,159,159,159, 159,159,159,159,159,159,159,164,
+   161,164,159,159,163,159,159,159, 169,159,159,159,159,169,159,159, 160,159,159,159,159,159,159,159, 159,159,159,159,159,159,159,159,
+   },
+  {152,0,122,146,128,132,128,130, 0,0,154,156,154,156,154,158, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 4,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 4,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2, 4,0,2,2,2,2,2,2, 0,0,2,2,2,2,2,2,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   144,0,114,140,138,132,120,128, 0,0,162,154,152,154,152,154, 142,0,138,134,108,112,134,126, 0,0,154,158,154,156,154,156,
+   118,0,98,118,143,145,106,106, 0,0,154,154,162,156,154,154, 132,0,108,126,143,143,118,118, 0,0,154,156,158,158,154,156,
+   126,0,132,132,90,92,139,139, 0,0,152,156,152,156,162,156, 126,0,140,126,98,102,131,131, 0,0,154,156,154,158,156,158,
+   },
+},
+
+{ // UTF7 (0.037M chars) [44]
+  {NULL, NULL, NULL, NULL},
+  77, 207, 29, 27, 255,
+    {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,184,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,189,189,0,0,189,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,189,189,189,189,189,189,189, 189,189,189,0,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189,
+   189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,189, 189,189,189,189,189,189,189,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+},
+
+{ // ISO_2022_CN (63.392M chars) [45]
+  {NULL, NULL, NULL, NULL},
+  43, 144, 14, 3, 129,
+    {0,0,0,0,0,0,0,0, 0,70,70,0,0,70,213,252, 0,0,0,0,0,0,0,0, 0,0,0,222,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {79,0,0,0,0,0,0,0, 0,155,177,0,0,190,19,19, 0,0,0,0,0,0,0,0, 0,0,0,158,0,0,114,79,
+   240,177,210,148,212,141,197,195, 214,185,147,140,202,190,203,183, 182,192,188,179,175,177,167,168, 173,174,186,190,231,164,175,183,
+   177,172,152,166,161,157,158,168, 164,163,151,158,146,160,151,146, 159,143,151,153,155,147,152,152, 127,112,117,160,142,178,133,168,
+   119,132,130,126,124,138,122,120, 141,131,112,106,119,124,122,112, 122,101,108,135,135,101,111,130, 112,115,106,96,156,123,154,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {130,130,126,128,130,128,128,130, 0,0,0,0,0,0,0,0, 44,2,134,2,62,26,62,10, 0,0,0,0,0,0,0,0,
+   128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0,
+   128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0,
+   128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+},
+
+{ // BIG5-CP950 (0.029M chars) [46]
+  {NULL, NULL, NULL, NULL},
+  158, 182, 61, 26, 128,
+    {0,166,166,166,166,166,166,166, 166,177,177,166,166,177,166,166, 158,158,158,158,158,158,158,158, 158,158,158,158,158,158,158,158,
+   166,179,169,151,208,201,198,190, 197,193,202,187,190,196,191,184, 197,185,191,191,184,189,185,179, 190,185,188,182,184,184,187,182,
+   181,178,182,183,178,186,166,166, 166,166,166,166,166,166,166,166, 166,166,166,166,166,166,166,166, 166,166,166,166,166,166,166,166,
+   166,166,166,166,166,167,168,167, 166,167,166,166,168,166,166,166, 166,166,166,166,166,166,166,166, 166,168,166,166,166,166,166,101,
+   0,161,161,161,161,161,161,161, 161,161,161,161,161,161,161,161, 149,149,149,149,149,149,149,149, 149,149,149,149,149,149,149,149,
+   161,211,166,161,206,199,200,187, 180,182,185,186,188,181,182,176, 183,186,179,188,175,185,185,193, 178,185,170,180,179,177,170,167,
+   175,174,171,172,168,174,169,161, 161,161,161,161,161,161,161,161, 161,161,161,161,161,161,161,161, 161,161,161,161,161,161,161,161,
+   161,161,161,161,161,161,161,161, 161,161,161,161,161,161,161,161, 161,161,161,161,161,161,161,161, 161,161,161,161,161,161,161,167,
+   },
+  {0,0,0,0,0,0,0,0, 0,113,113,0,0,113,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,113,113,113,113,113,113,113, 113,113,113,113,113,113,113,113, 113,113,113,113,113,113,113,113, 113,113,113,113,113,113,113,113,
+   197,198,187,191,188,176,184,188, 190,180,179,179,184,184,183,189, 185,182,178,177,182,184,174,187, 183,177,175,178,176,185,181,180,
+   178,183,181,174,182,182,176,180, 180,186,185,181,180,177,186,185, 184,187,175,191,180,185,185,183, 181,180,181,179,185,179,190,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   150,188,176,189,185,179,174,184, 181,179,178,184,179,179,175,174, 182,179,180,187,176,180,183,176, 183,185,197,182,175,183,176,175,
+   184,181,177,176,183,178,186,182, 182,184,183,179,184,180,187,185, 186,186,182,191,174,179,179,182, 182,177,184,182,180,179,178,181,
+   179,179,180,177,180,182,186,176, 180,190,188,180,185,181,175,179, 174,176,178,183,188,178,182,182, 186,183,185,180,183,180,180,121,
+   },
+  {170,0,170,170,104,110,110,108, 128,128,2,2,2,2,2,78, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   14,0,2,2,2,2,2,2, 128,128,2,2,2,2,2,2, 20,0,2,2,2,2,2,2, 128,128,2,2,2,2,2,2,
+   34,0,10,10,2,2,2,2, 128,128,2,2,2,2,2,2, 42,0,18,18,2,2,2,2, 128,128,2,2,2,2,2,2,
+   40,0,18,16,2,2,2,2, 128,128,2,2,2,2,2,2, 42,0,18,18,2,2,2,2, 128,128,2,2,2,2,2,2,
+   0,0,0,0,134,142,140,138, 0,0,132,132,132,132,132,132, 0,0,0,0,134,142,140,138, 0,0,136,134,134,136,136,136,
+   0,0,0,0,142,136,138,134, 0,0,134,138,132,134,134,134, 0,0,0,0,134,136,140,144, 0,0,134,130,138,136,134,136,
+   0,0,0,0,136,142,138,140, 0,0,130,134,134,132,140,138, 0,0,0,0,134,142,140,138, 0,0,136,134,134,136,136,136,
+   0,0,0,0,134,142,140,138, 0,0,138,134,134,134,134,134, 160,128,160,160,134,140,140,138, 128,128,136,134,134,134,136,136,
+   },
+},
+
+{ // JAGRAN (0.046M chars) [47]
+  {NULL, NULL, NULL, NULL},
+  142, 199, 66, 34, 133,
+    {174,174,174,174,174,174,174,174, 174,182,182,174,174,182,174,174, 174,174,174,174,174,174,174,174, 174,174,174,0,0,0,174,174,
+   0,182,182,182,182,182,182,182, 182,182,182,182,182,0,182,182, 182,182,0,182,182,182,182,182, 182,182,182,182,182,182,182,182,
+   182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,0,182,
+   182,182,182,182,182,182,182,182, 182,182,182,182,182,182,0,182, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182,
+   166,166,166,166,166,166,166,166, 166,178,178,166,166,178,166,166, 166,166,166,166,166,166,166,166, 166,166,166,0,0,0,166,166,
+   0,178,178,178,178,178,178,178, 178,178,178,178,178,0,178,178, 166,166,0,166,166,166,166,166, 166,166,166,166,166,166,166,166,
+   166,166,166,166,166,166,166,166, 166,166,166,166,166,166,166,166, 166,166,166,166,166,166,166,166, 166,166,166,166,166,166,0,166,
+   166,166,166,166,166,166,166,166, 166,166,166,166,166,166,0,166, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   },
+  {0,0,0,0,0,0,0,0, 0,180,180,0,0,180,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,180,127,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180,
+   180,180,180,180,180,180,127,180, 180,180,180,180,180,180,180,180, 180,180,127,180,180,180,180,180, 180,180,180,180,180,180,180,180,
+   180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,127,180,180,0,
+   176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 176,176,176,0,0,0,176,176,
+   0,176,176,176,176,176,176,176, 176,176,176,176,176,0,176,176, 176,176,0,176,176,176,176,176, 176,176,176,176,176,176,176,176,
+   176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,0,176,
+   176,176,176,176,176,176,176,176, 176,176,176,176,176,176,0,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   132,0,132,132,132,132,132,132, 130,130,130,130,130,130,130,130, 136,0,134,134,134,134,134,134, 130,130,130,130,130,130,130,130,
+   136,0,134,134,134,134,134,134, 130,130,130,130,130,130,130,130, 136,0,134,134,134,134,134,134, 130,130,130,130,130,130,130,130,
+   136,0,134,136,134,134,136,134, 130,130,130,130,130,130,130,130, 136,0,134,134,134,134,134,134, 130,130,130,130,130,130,130,130,
+   136,0,134,134,134,134,134,134, 130,130,130,130,130,130,130,130, 136,0,134,136,134,134,136,134, 130,130,130,130,130,130,130,130,
+   },
+},
+
+{ // BHASKAR (0.047M chars) [48]
+  {NULL, NULL, NULL, NULL},
+  141, 199, 66, 34, 132,
+    {174,174,174,174,174,174,174,174, 174,182,182,174,174,182,174,174, 174,174,174,174,174,174,174,174, 174,174,174,0,0,0,174,174,
+   0,182,182,182,181,182,182,182, 182,182,182,182,182,0,182,182, 182,182,0,182,182,182,182,182, 182,182,182,182,182,182,182,182,
+   182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,0,182,
+   182,182,182,182,182,182,182,182, 182,182,182,182,182,182,0,181, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182,
+   166,166,166,166,166,166,166,166, 166,178,178,166,166,178,166,166, 166,166,166,166,166,166,166,166, 166,166,166,0,0,0,166,166,
+   0,178,178,178,178,178,178,178, 178,178,178,178,178,0,178,178, 166,166,0,166,166,166,166,166, 166,166,166,166,166,166,166,166,
+   166,166,166,166,166,166,166,166, 166,166,166,166,166,166,166,166, 166,166,166,166,166,166,166,166, 166,166,166,166,166,166,0,166,
+   166,166,166,166,166,166,166,166, 166,166,166,166,166,166,0,166, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   },
+  {0,0,0,0,0,0,0,0, 0,180,180,0,0,180,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180,
+   180,180,180,180,180,180,126,180, 180,180,180,180,180,180,180,180, 180,180,126,180,180,180,180,180, 180,180,180,180,180,180,180,180,
+   180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,0,
+   176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 176,176,176,0,0,0,176,176,
+   0,176,176,176,176,176,176,176, 176,176,176,176,176,0,176,176, 176,176,0,176,176,176,176,176, 176,176,176,176,176,176,176,176,
+   176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,0,176,
+   176,176,176,176,176,176,176,176, 176,176,176,176,176,176,0,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   132,0,132,132,132,132,132,132, 130,130,130,130,130,130,130,130, 134,0,134,134,134,134,134,134, 130,130,130,130,130,130,130,130,
+   136,0,134,134,134,134,134,134, 130,130,130,130,130,130,130,130, 136,0,134,134,134,134,134,134, 130,130,130,130,130,130,130,130,
+   134,0,134,136,134,134,136,134, 130,130,130,130,130,130,130,130, 136,0,134,134,134,134,134,134, 130,130,130,130,130,130,130,130,
+   136,0,134,134,134,134,134,134, 130,130,130,130,130,130,130,130, 134,0,134,136,134,134,136,134, 130,130,130,130,130,130,130,130,
+   },
+},
+
+{ // HTCHANAKYA (0.041M chars) [49]
+  {NULL, NULL, NULL, NULL},
+  142, 202, 68, 32, 133,
+    {173,0,0,0,173,173,173,173, 173,182,171,173,105,171,0,0, 0,173,173,0,173,173,173,173, 0,0,173,0,0,0,0,0,
+   181,182,182,182,181,182,182,182, 182,182,182,182,182,0,182,182, 182,182,182,182,182,182,182,0, 182,182,182,182,182,182,182,182,
+   182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182,
+   182,182,182,182,182,182,182,182, 182,182,182,182,182,182,0,181, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182,
+   169,0,0,0,169,169,169,169, 169,180,170,169,0,170,0,0, 0,169,169,0,169,169,169,169, 0,0,169,0,0,0,0,0,
+   0,180,180,180,179,180,180,180, 180,180,180,180,180,0,180,180, 169,169,169,169,169,169,169,0, 169,169,169,169,169,169,169,169,
+   169,169,169,169,169,169,169,169, 169,169,169,169,169,169,169,169, 169,169,169,169,169,169,169,169, 169,169,169,169,169,169,169,169,
+   169,169,169,169,169,169,169,169, 169,169,169,169,169,169,0,168, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180,
+   },
+  {0,0,0,0,0,0,0,0, 0,181,181,0,0,181,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,181,129,181,181,181,181,181, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181,
+   181,181,181,181,181,181,181,181, 181,181,181,129,181,181,181,181, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181,
+   181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,0,
+   176,0,0,0,176,176,176,176, 176,176,0,176,0,0,0,0, 0,176,176,0,176,176,176,176, 0,0,176,0,0,0,0,0,
+   175,176,176,176,176,176,176,176, 176,176,176,176,176,0,176,176, 176,176,176,176,176,176,176,0, 176,176,176,176,176,176,176,176,
+   176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176,
+   176,176,176,176,176,176,176,176, 176,176,176,176,176,176,0,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   130,0,128,130,128,130,130,128, 128,128,128,128,128,128,128,128, 134,0,134,134,134,134,134,134, 132,132,132,132,132,132,132,132,
+   134,0,134,134,134,134,134,134, 132,132,132,132,132,132,132,132, 134,0,134,134,134,134,134,134, 132,132,132,132,132,132,132,132,
+   134,0,134,134,134,134,134,134, 132,132,132,132,132,132,132,132, 134,0,134,134,134,134,134,134, 132,132,132,132,132,132,132,132,
+   134,0,134,134,134,134,134,134, 132,132,132,132,132,132,132,132, 134,0,134,134,134,134,134,134, 132,132,132,132,132,132,132,132,
+   },
+},
+
+{ // TSCII (0.047M chars) [50]
+  {NULL, NULL, NULL, NULL},
+  141, 199, 66, 33, 134,
+    {173,173,173,173,173,173,173,173, 173,182,182,173,173,182,173,173, 173,173,173,173,173,173,173,173, 173,173,173,173,173,173,0,173,
+   0,181,181,181,181,181,157,157, 157,181,0,181,181,181,181,181, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181,
+   181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181,
+   181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,0,
+   167,167,167,167,167,167,167,167, 167,179,179,167,167,167,167,167, 167,167,175,168,170,167,167,167, 167,167,167,167,167,167,0,167,
+   0,178,178,178,178,178,0,0, 0,183,0,178,178,178,178,178, 167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167,
+   167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167,
+   167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,179,179,0,0,125,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   170,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179,
+   179,180,179,179,179,180,179,179, 179,180,179,179,179,179,179,179, 179,179,179,182,179,179,179,179, 179,179,179,179,179,179,179,0,
+   175,175,175,175,175,175,175,175, 175,175,175,175,175,175,175,175, 175,175,175,175,175,175,175,175, 175,175,175,175,175,175,0,175,
+   0,175,175,175,175,175,0,0, 0,175,0,175,175,175,175,175, 175,175,175,175,175,175,175,175, 175,175,175,175,175,175,175,175,
+   175,175,175,175,175,175,175,175, 175,175,175,175,175,175,175,175, 175,175,175,175,175,175,175,175, 175,175,175,175,175,175,175,175,
+   175,175,175,175,175,175,175,175, 175,175,175,175,175,175,175,175, 175,175,175,175,175,175,175,175, 175,175,175,175,175,175,175,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   132,0,132,132,132,132,132,132, 128,128,130,128,128,128,128,128, 132,0,134,132,132,132,134,136, 130,130,132,130,130,130,130,130,
+   134,0,136,134,134,134,134,134, 132,130,130,132,132,130,130,130, 134,0,134,134,134,134,134,134, 130,130,132,130,130,130,130,130,
+   134,0,134,134,134,134,134,134, 130,130,132,130,130,130,130,130, 134,0,134,134,134,134,134,134, 130,130,132,130,130,130,130,130,
+   134,0,134,134,134,134,134,134, 130,130,132,130,130,130,130,130, 134,0,134,134,134,134,134,134, 130,130,132,130,130,130,130,130,
+   },
+},
+
+{ // TAM (0.036M chars) [51]
+  {NULL, NULL, NULL, NULL},
+  140, 203, 70, 33, 133,
+    {0,0,174,174,174,174,174,174, 174,184,184,174,174,174,0,0, 0,0,0,0,0,0,0,0, 174,174,174,174,174,0,0,174,
+   0,183,183,183,183,0,183,183, 183,0,161,161,161,0,183,183, 183,183,183,183,183,183,183,0, 183,183,183,183,183,183,183,183,
+   183,183,183,183,183,183,183,183, 183,183,0,183,183,183,183,183, 0,0,0,0,0,0,183,183, 183,183,183,183,183,183,183,183,
+   183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183,
+   0,0,170,170,170,170,170,170, 170,181,181,170,170,0,0,0, 0,0,0,0,0,0,0,0, 170,170,170,170,170,0,0,170,
+   0,181,181,181,181,0,181,181, 181,0,0,0,0,0,181,181, 170,170,170,170,170,170,170,0, 170,170,170,170,170,170,170,170,
+   170,170,170,170,170,170,170,170, 170,170,0,170,170,170,170,170, 0,0,0,0,0,0,170,170, 170,170,170,170,170,170,170,170,
+   170,170,170,170,170,170,170,170, 170,170,170,170,170,170,170,170, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181,
+   },
+  {0,0,0,0,0,0,0,0, 0,182,182,0,0,132,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182,
+   182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182, 182,182,182,132,132,132,132,132,
+   132,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182, 182,182,182,182,182,182,182,182, 182,182,182,132,132,132,132,0,
+   0,0,177,177,177,177,177,177, 177,177,177,177,177,0,0,0, 0,0,0,0,0,0,0,0, 177,177,177,177,177,0,0,177,
+   0,177,177,177,177,0,177,177, 177,0,0,0,0,0,177,177, 177,177,177,177,177,177,177,0, 177,177,177,177,177,177,177,177,
+   177,177,177,177,177,177,177,177, 177,177,0,177,177,177,177,177, 0,0,0,0,0,0,177,177, 177,177,177,177,177,177,177,177,
+   177,177,177,177,177,177,177,177, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,177,177,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   132,0,132,132,132,132,132,132, 130,130,130,128,128,128,128,128, 134,0,136,136,136,134,136,134, 132,132,132,134,134,132,132,132,
+   134,0,134,134,134,134,134,134, 132,132,132,132,132,132,134,134, 134,0,134,134,134,134,134,134, 132,134,132,132,132,132,132,132,
+   134,0,134,134,134,134,134,134, 132,134,132,132,132,132,132,132, 134,0,134,134,134,134,134,134, 132,132,134,132,132,132,132,132,
+   134,0,134,134,134,134,134,134, 132,134,132,132,132,132,132,132, 134,0,134,134,134,134,134,134, 132,134,132,132,132,132,132,132,
+   },
+},
+
+{ // TAB (0.030M chars) [52]
+  {NULL, NULL, NULL, NULL},
+  137, 210, 72, 28, 132,
+    {0,0,0,0,0,0,0,0, 0,174,174,0,0,174,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,183,183,183,0,183,183, 183,0,165,165,165,0,183,183, 183,183,183,183,183,183,183,0, 183,183,183,183,183,183,183,183,
+   183,183,183,183,183,183,183,183, 183,183,0,183,183,183,183,183, 0,0,0,0,0,0,183,0, 0,0,0,183,183,183,183,183,
+   183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183,
+   0,0,0,0,0,0,0,0, 0,174,174,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,186,186,186,0,186,186, 186,0,0,0,0,0,186,186, 177,177,177,177,177,177,177,0, 177,177,177,177,177,177,177,177,
+   177,177,177,177,177,177,177,177, 177,177,0,177,177,177,177,177, 0,0,0,0,0,0,177,0, 0,0,0,177,177,177,177,177,
+   177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 186,186,186,186,186,186,186,186, 186,186,186,186,186,186,186,186,
+   },
+  {0,0,0,0,0,0,0,0, 0,183,183,0,0,136,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183,
+   183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183,
+   183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,183, 183,183,183,183,183,183,183,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,176,176,176,0,176,176, 176,0,0,0,0,0,176,176, 176,176,176,176,176,176,176,0, 176,176,176,176,176,176,176,176,
+   176,176,176,176,176,176,176,176, 176,176,0,176,176,176,176,176, 0,0,0,0,0,0,176,0, 0,0,0,176,176,176,176,176,
+   176,176,176,176,176,176,176,176, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,176,176,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 128,128,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,0,0,0,0, 2,0,2,2,2,2,2,2, 128,128,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 128,128,2,2,2,2,2,2, 128,0,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   132,0,132,134,134,134,134,132, 128,128,134,134,134,134,138,138, 132,0,132,132,132,132,132,132, 128,128,136,136,136,136,136,136,
+   132,0,132,132,132,132,132,132, 128,128,136,136,136,136,136,136, 132,0,134,134,134,134,134,134, 128,128,136,136,136,136,136,136,
+   132,0,132,134,134,134,134,132, 128,128,136,136,136,136,136,136, 132,0,132,134,134,134,134,132, 128,128,136,136,136,136,136,136,
+   },
+},
+
+{ // EUC-CN (0.035M chars) [53]
+  {NULL, NULL, NULL, NULL},
+  197, 192, 37, 32, 128,
+    {0,0,0,0,0,0,0,0, 0,169,169,0,0,169,119,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,240,216,176,191,186,168,185, 184,166,0,0,118,0,0,0, 0,103,0,0,0,0,29,0, 0,0,0,0,0,0,0,0,
+   0,0,169,0,197,197,190,192, 190,212,188,187,188,186,190,188, 187,186,186,185,184,186,187,187, 185,185,186,185,193,186,186,190,
+   185,185,185,187,189,185,186,191, 185,185,185,184,186,185,184,184, 185,184,184,184,184,184,184,184, 186,184,184,184,184,173,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,147,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,134,134,0,0,134,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134,
+   134,134,134,134,138,134,138,134, 134,138,134,134,138,134,134,134, 134,134,134,134,138,138,134,134, 134,134,134,134,134,134,134,134,
+   134,134,134,134,134,134,134,134, 134,134,134,134,138,134,134,134, 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   170,230,193,197,184,184,184,184, 210,184,185,182,188,181,181,185, 183,207,189,182,181,182,181,180, 181,181,182,185,181,179,187,187,
+   183,180,180,181,182,180,186,180, 180,185,195,191,183,180,182,180, 179,182,189,183,182,180,192,195, 179,179,181,182,181,179,183,183,
+   180,180,178,184,182,198,195,192, 180,183,186,180,180,183,181,181, 183,179,180,189,179,179,178,178, 182,179,212,180,186,180,211,0,
+   },
+  {182,0,182,182,180,182,182,182, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 128,128,2,10,14,14,12,8, 76,0,52,52,50,52,52,52, 128,128,128,128,128,128,128,128,
+   4,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128, 8,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128,
+   8,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128, 12,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128,
+   0,0,0,0,0,0,0,0, 0,0,76,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,134,124,114,118,122,124, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,116,126,130,128,126,136, 0,0,0,0,0,0,0,0, 0,0,116,128,136,132,134,124,
+   0,0,0,0,0,0,0,0, 0,0,118,130,132,134,130,124, 0,0,0,0,0,0,0,0, 0,0,118,130,132,134,130,126,
+   },
+},
+
+{ // EUC (15478 chars) [54]
+  {NULL, NULL, NULL, NULL},
+  197, 200, 38, 33, 129,
+    {0,0,0,0,0,0,0,0, 0,173,173,0,0,173,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,234,211,180,190,188,173,189, 189,170,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,174,0,193,195,190,191, 191,208,190,189,190,189,191,190, 190,189,190,189,189,190,189,190, 189,189,190,189,193,189,190,191,
+   189,189,189,190,191,190,190,193, 189,190,189,189,190,189,189,189, 189,189,189,189,189,189,189,189, 190,189,189,189,189,178,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,140,140,0,0,140,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140,
+   140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140,
+   140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   162,226,192,195,186,186,185,186, 205,186,187,185,188,185,185,186, 184,202,187,184,184,184,183,183, 184,184,184,185,183,183,187,187,
+   183,183,183,183,184,183,186,183, 183,185,192,189,184,183,184,183, 182,184,187,184,183,182,190,192, 182,182,182,183,184,182,184,184,
+   182,182,182,185,184,194,191,190, 183,184,185,183,183,184,183,183, 184,182,182,188,182,182,182,182, 184,182,206,183,185,182,206,0,
+   },
+  {176,0,176,176,176,176,176,176, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128, 128,0,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   2,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128, 2,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128,
+   2,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128, 2,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128,
+   0,0,0,0,0,0,0,0, 0,0,2,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,136,124,116,118,122,124, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,118,126,128,128,128,136, 0,0,0,0,0,0,0,0, 0,0,118,128,132,130,130,126,
+   0,0,0,0,0,0,0,0, 0,0,120,128,130,132,130,126, 0,0,0,0,0,0,0,0, 0,0,120,130,130,130,130,126,
+   },
+},
+
+{ // CNS (15478 chars) [55]
+  {NULL, NULL, NULL, NULL},
+  197, 200, 38, 33, 129,
+    {0,0,0,0,0,0,0,0, 0,173,173,0,0,173,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,234,211,180,190,188,173,189, 189,170,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,174,0,193,195,190,191, 191,208,190,189,190,189,191,190, 190,189,190,189,189,190,189,190, 189,189,190,189,193,189,190,191,
+   189,189,189,190,191,190,190,193, 189,190,189,189,190,189,189,189, 189,189,189,189,189,189,189,189, 190,189,189,189,189,178,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,140,140,0,0,140,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140,
+   140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140,
+   140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   162,226,192,195,186,186,185,186, 205,186,187,185,188,185,185,186, 184,202,187,184,184,184,183,183, 184,184,184,185,183,183,187,187,
+   183,183,183,183,184,183,186,183, 183,185,192,189,184,183,184,183, 182,184,187,184,183,182,190,192, 182,182,182,183,184,182,184,184,
+   182,182,182,185,184,194,191,190, 183,184,185,183,183,184,183,183, 184,182,182,188,182,182,182,182, 184,182,206,183,185,182,206,0,
+   },
+  {176,0,176,176,176,176,176,176, 128,128,128,128,128,128,128,128, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128, 128,0,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   2,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128, 2,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128,
+   2,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128, 2,0,2,2,2,2,2,2, 128,128,128,128,128,128,128,128,
+   0,0,0,0,0,0,0,0, 0,0,2,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,136,124,116,118,122,124, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,118,126,128,128,128,136, 0,0,0,0,0,0,0,0, 0,0,118,128,132,130,130,126,
+   0,0,0,0,0,0,0,0, 0,0,120,128,130,132,130,126, 0,0,0,0,0,0,0,0, 0,0,120,130,130,130,130,126,
+   },
+},
+
+{ // UTF-32BE (1032.458M chars) [56]
+  {NULL, NULL, NULL, NULL},
+  77, 151, 56, 41, 127,
+    {250,137,119,116,158,116,151,92, 103,89,82,111,111,75,204,151, 102,106,71,86,94,92,104,91, 88,92,106,215,97,93,99,106,
+   79,97,116,106,115,126,78,66, 89,96,94,80,79,92,90,90, 93,101,90,90,72,96,79,91, 82,89,78,88,80,99,84,86,
+   86,92,83,59,101,100,101,79, 89,93,71,46,102,89,64,68, 78,74,72,65,71,56,71,64, 76,84,65,68,92,98,94,106,
+   182,177,181,215,194,207,203,198, 193,188,166,179,184,171,90,183, 67,2,0,27,20,10,16,20, 7,0,3,46,24,71,43,104,
+   160,104,104,120,120,123,106,99, 106,101,107,114,119,100,91,96, 110,88,107,102,79,91,100,101, 99,92,100,94,88,67,104,92,
+   68,80,83,73,92,62,75,75, 79,64,69,73,88,82,78,88, 92,73,82,84,71,76,74,82, 84,98,91,76,78,66,71,80,
+   78,89,78,91,66,88,86,94, 97,83,76,79,62,78,71,75, 80,86,62,78,68,93,85,80, 83,80,76,75,69,83,90,83,
+   82,82,61,78,58,98,56,64, 68,80,85,85,74,85,73,74, 60,46,58,83,68,31,72,64, 71,62,78,78,88,72,62,103,
+   },
+  {231,96,83,86,82,95,79,87, 91,190,189,71,101,175,87,75, 88,93,82,83,89,84,75,84, 89,98,94,150,95,84,82,97,
+   211,164,198,158,206,163,163,167, 204,160,139,149,163,176,181,194, 186,180,173,172,169,172,164,166, 171,171,175,177,193,193,193,164,
+   169,173,164,169,169,167,165,166, 164,164,153,153,160,162,163,160, 163,145,162,165,167,153,156,157, 144,147,146,140,138,138,110,171,
+   103,201,181,192,192,203,181,185, 187,200,161,171,196,187,196,196, 190,145,197,197,203,183,178,178, 170,174,157,147,130,147,113,85,
+   194,202,196,197,161,172,160,164, 174,168,169,165,163,162,161,172, 167,152,151,154,172,173,173,172, 170,167,172,172,181,172,158,158,
+   158,165,152,155,174,160,165,166, 161,156,155,157,154,167,173,166, 170,159,161,164,160,162,155,162, 190,174,180,181,186,173,165,168,
+   96,98,83,90,99,87,83,90, 91,88,75,80,102,90,78,81, 99,97,81,86,97,102,86,85, 95,107,84,92,106,96,96,92,
+   105,120,91,98,114,104,86,102, 104,125,102,72,80,118,81,79, 79,91,70,110,91,83,108,69, 93,74,94,86,107,97,65,124,
+   },
+  {132,132,126,132,132,132,132,132, 122,128,140,130,230,224,222,224, 60,24,152,14,68,74,40,40, 104,122,122,98,204,218,206,224,
+   8,96,12,22,38,48,10,20, 44,64,80,56,128,128,128,128, 20,128,26,34,56,70,22,32, 40,58,72,50,128,128,128,128,
+   20,128,24,34,54,66,22,32, 38,56,70,50,128,128,128,128, 26,128,30,40,62,74,28,38, 40,60,76,52,128,128,128,128,
+   2,2,2,2,2,2,2,2, 42,62,78,54,128,128,128,128, 134,180,74,128,144,158,114,92, 116,128,122,78,150,192,132,164,
+   118,142,64,114,106,120,82,106, 14,12,26,10,92,80,68,72, 138,192,94,128,132,154,112,108, 34,52,40,14,124,118,102,106,
+   142,188,72,144,148,176,108,110, 156,152,90,112,202,162,200,174, 142,200,86,138,146,162,110,118, 156,146,132,106,208,200,212,192,
+   142,208,88,138,138,162,96,118, 154,152,138,122,208,212,182,178, 138,180,68,144,148,178,114,122, 154,162,112,112,184,192,158,168,
+   140,128,102,142,150,172,108,116, 148,148,148,148,20,14,4,12, 136,196,112,138,136,176,110,118, 132,148,136,112,148,160,162,150,
+   },
+},
+
+{ // UTF-32LE (1032.461M chars) [57]
+  {NULL, NULL, NULL, NULL},
+  77, 152, 56, 41, 127,
+    {250,137,119,116,158,116,151,92, 103,89,82,111,111,75,204,150, 102,106,71,86,94,92,104,91, 88,92,106,215,97,93,99,106,
+   79,97,116,106,114,126,78,66, 89,96,94,144,79,92,90,90, 93,101,90,90,72,96,79,91, 80,89,78,88,80,99,84,86,
+   86,92,83,58,101,100,101,79, 89,93,71,46,102,89,64,68, 78,74,72,65,71,54,71,64, 76,84,65,68,92,98,94,106,
+   182,177,181,215,193,207,203,198, 193,188,166,178,184,171,90,183, 67,3,0,27,20,11,17,20, 8,0,4,46,24,71,162,104,
+   160,104,104,120,120,123,106,99, 106,101,107,114,118,100,91,94, 110,88,107,102,79,91,100,101, 99,92,100,94,88,67,104,92,
+   68,80,83,73,92,62,75,75, 79,64,71,124,88,82,78,88, 92,73,82,84,71,76,74,82, 84,98,91,76,78,66,71,80,
+   78,89,78,91,66,88,86,94, 97,83,76,79,62,78,71,75, 80,86,62,78,68,93,85,80, 83,80,76,75,69,83,90,83,
+   82,82,61,78,57,98,57,64, 68,80,85,85,74,85,73,74, 60,46,57,83,68,31,72,64, 71,62,78,78,88,72,122,103,
+   },
+  {231,96,83,86,82,95,79,87, 91,190,189,71,101,175,87,75, 88,93,82,83,89,84,75,84, 88,98,94,158,95,84,82,97,
+   211,164,198,159,206,163,163,167, 204,160,139,149,163,176,181,194, 186,180,174,172,169,172,165,166, 171,171,175,177,193,193,193,164,
+   169,173,164,169,169,167,165,166, 164,164,155,154,161,163,165,160, 163,145,162,165,167,154,157,157, 144,147,146,140,138,138,110,171,
+   103,201,181,192,192,203,181,185, 187,200,161,171,196,187,196,196, 190,145,197,197,203,183,178,177, 170,174,157,147,130,147,131,85,
+   193,202,196,197,161,172,160,164, 174,168,169,165,163,162,161,172, 167,152,151,154,172,173,173,172, 170,167,172,172,181,172,158,158,
+   158,165,152,155,174,160,165,166, 161,155,155,157,154,167,173,166, 170,159,161,164,160,162,155,162, 190,174,180,181,186,173,165,168,
+   99,99,87,92,100,90,85,93, 93,89,79,83,102,91,81,82, 101,97,82,87,97,102,87,86, 95,107,84,92,106,96,96,92,
+   105,120,93,102,115,107,92,103, 105,125,103,77,82,118,81,84, 79,91,70,110,91,83,107,69, 93,74,94,86,107,97,65,124,
+   },
+  {132,124,126,132,132,132,132,132, 122,128,140,130,228,224,222,224, 60,14,152,16,66,74,40,40, 104,122,122,98,204,218,206,224,
+   44,212,2,12,34,104,44,134, 116,112,144,150,220,208,220,130, 20,116,26,34,56,70,22,32, 40,58,72,50,128,128,128,128,
+   20,104,24,34,54,66,22,32, 38,56,70,50,128,128,128,128, 26,114,30,40,60,74,28,38, 42,60,76,52,128,128,128,128,
+   2,2,2,2,2,2,2,2, 44,62,78,54,128,128,128,128, 84,190,114,148,160,156,70,62, 116,118,160,144,212,200,222,166,
+   118,134,64,114,106,120,82,106, 14,12,26,8,90,80,66,72, 138,168,94,128,130,154,112,108, 34,52,40,14,122,116,100,106,
+   130,162,60,130,122,146,98,100, 146,140,78,102,202,162,172,162, 142,200,86,138,144,162,110,118, 158,146,132,106,208,200,212,192,
+   142,208,88,138,136,162,96,118, 154,152,138,122,208,212,182,176, 138,180,68,144,148,178,114,122, 156,162,112,112,182,192,156,168,
+   140,128,102,142,150,172,108,116, 148,148,148,148,18,14,4,12, 124,168,100,124,114,154,98,106, 76,90,78,54,122,120,108,108,
+   },
+},
+
+{ // X-BINARYENC (0 chars) [58]
+  {NULL, NULL, NULL, NULL},
+  0, 0, 0, 0, 255,
+    {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   },
+},
+
+{ // X-UTF8UTF8 (43.271M chars) [59]
+  {NULL, NULL, NULL, NULL},
+  150, 194, 32, 13, 129,
+    {191,104,167,173,203,123,113,0, 0,69,69,80,0,107,0,105, 95,0,125,146,116,0,0,0, 104,129,184,0,125,122,159,0,
+   139,144,162,111,112,105,148,117, 115,101,122,104,217,112,130,114, 151,116,107,120,116,116,98,89, 124,119,136,113,115,116,126,105,
+   0,0,239,243,62,181,145,62, 62,62,62,147,62,62,62,62, 62,62,62,62,62,62,62,62, 62,62,62,62,62,62,62,62,
+   0,0,220,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,58,0,0,0,0,5,0, 0,0,36,0,102,23,86,28, 9,0,75,142,74,0,0,0, 89,85,64,0,119,139,99,0,
+   121,119,159,71,88,75,139,88, 67,69,78,82,156,71,75,61, 134,70,55,54,61,63,56,60, 80,102,119,63,76,71,134,73,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,24,140,0,0,147,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   195,107,138,80,100,83,158,123, 107,139,106,91,157,127,159,122, 111,135,127,120,115,117,108,109, 106,109,120,113,182,78,121,111,
+   84,149,138,143,143,145,133,136, 138,145,127,129,143,142,149,143, 141,113,143,148,151,137,137,140, 124,119,115,112,96,117,97,106,
+   108,137,132,140,136,131,138,130, 131,133,119,128,140,133,137,128, 135,113,137,152,143,136,130,123, 116,108,106,112,84,77,91,0,
+   196,150,226,235,119,165,141,52, 52,52,52,115,52,142,52,124, 121,52,147,165,107,52,52,52, 97,124,126,52,187,166,117,52,
+   216,191,222,181,200,177,168,187, 191,218,177,170,169,189,169,153, 169,175,160,194,171,165,189,171, 182,163,176,175,198,160,155,150,
+   0,0,205,182,0,189,133,0, 0,0,0,163,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,0,209,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   12,0,2,2,2,2,2,2, 0,0,0,0,2,128,2,128, 66,0,20,36,40,48,50,54, 0,0,0,0,2,128,2,128,
+   2,0,2,2,2,2,2,2, 0,0,0,0,128,128,128,128, 128,0,84,128,128,128,128,128, 0,0,0,0,128,128,128,128,
+   10,0,2,2,2,2,2,2, 0,0,0,0,128,128,128,128, 128,0,128,128,128,128,128,128, 0,0,0,0,128,128,128,128,
+   120,0,130,112,192,198,136,140, 2,168,134,98,134,128,124,128, 160,0,168,162,178,176,178,178, 2,2,2,2,170,128,2,128,
+   178,0,174,178,150,154,158,156, 2,2,2,2,158,128,164,128, 156,0,162,152,182,182,182,184, 2,26,2,2,170,128,10,128,
+   0,0,128,128,128,128,128,128, 128,108,130,130,2,128,2,128, 0,0,128,128,128,128,128,128, 120,210,124,154,74,128,70,128,
+   0,0,128,128,128,128,128,128, 140,2,2,2,2,128,2,128, 0,0,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   },
+},
+
+{ // X-TAM-ELANGO (0.036M chars) [60]
+  {NULL, NULL, NULL, NULL},
+  126, 180, 58, 30, 129,
+    {0,180,180,180,180,180,180,180, 180,191,191,180,180,191,0,180, 170,170,170,170,170,170,170,170, 170,170,170,170,170,170,0,170,
+   0,180,180,180,180,180,180,180, 180,180,180,180,0,0,180,0, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180,
+   180,180,180,180,180,180,0,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,0,0,180,180,
+   180,0,180,180,0,0,0,0, 0,0,0,0,180,0,180,180, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,181,181,181,181,181,181,181, 181,191,191,181,181,191,0,181, 171,171,171,171,171,171,171,171, 171,171,171,171,171,171,0,171,
+   0,181,181,181,181,181,181,181, 181,181,181,181,0,0,181,0, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181,
+   181,181,181,181,181,181,0,181, 181,181,181,181,181,181,181,181, 181,181,181,181,181,181,181,181, 181,181,181,181,0,0,181,181,
+   181,0,181,181,0,0,0,0, 0,0,0,0,181,0,181,181, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {0,0,0,0,0,0,0,0, 0,180,180,0,0,180,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180,
+   180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180,
+   180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,0,
+   0,180,180,180,180,180,180,180, 180,180,180,180,180,180,0,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,0,180,
+   0,180,180,180,180,180,180,180, 180,180,180,180,0,0,180,0, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180,
+   180,180,180,180,180,180,0,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,0,0,180,180,
+   180,0,180,180,0,0,0,0, 0,0,0,0,180,0,180,180, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   },
+  {110,0,110,110,110,110,110,110, 110,110,110,110,110,110,110,128, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,128, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,128,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,128, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,128,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,128, 128,0,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   132,0,132,132,132,132,132,132, 132,132,132,132,132,132,132,128, 136,0,134,134,134,134,134,134, 136,136,136,136,136,136,136,128,
+   136,0,136,136,136,136,136,136, 136,136,136,136,136,136,136,128, 136,0,134,134,134,134,134,134, 136,136,136,136,136,136,136,128,
+   136,0,134,134,134,134,134,134, 136,136,136,136,136,136,136,128, 136,0,134,134,134,134,134,134, 136,136,136,136,136,136,136,128,
+   136,0,136,136,136,136,136,136, 136,136,136,136,136,136,136,128, 128,0,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   },
+},
+
+{ // X-TAM-LTTMBARANI (0.043M chars) [61]
+  {NULL, NULL, NULL, NULL},
+  141, 199, 69, 34, 128,
+    {0,178,178,0,178,0,178,178, 0,187,187,178,178,176,0,0, 0,0,0,0,0,168,0,0, 0,0,168,168,168,0,0,168,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   0,176,176,0,176,0,176,176, 0,187,187,176,176,178,0,0, 0,0,0,0,0,165,0,0, 0,0,165,165,165,0,0,165,
+   0,176,176,176,176,176,177,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,182, 176,176,176,176,176,176,176,176,
+   176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 176,176,176,176,176,177,176,176,
+   176,176,176,176,176,176,176,176, 176,176,176,176,176,176,176,176, 181,176,176,176,176,176,176,176, 176,176,176,176,176,189,176,176,
+   },
+  {0,0,0,0,0,0,0,0, 0,178,177,0,0,177,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   185,177,177,177,177,177,178,177, 177,177,177,177,178,177,178,177, 177,177,177,177,177,177,177,177, 177,177,177,177,180,177,177,177,
+   177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177,
+   177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,0,
+   0,178,178,0,178,0,178,178, 0,178,178,178,178,0,0,0, 0,0,0,0,0,178,0,0, 0,0,178,178,178,0,0,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,179, 179,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   },
+  {116,0,114,116,116,116,116,116, 118,118,116,118,118,118,118,118, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   134,0,132,134,134,134,134,134, 132,132,132,132,132,132,132,132, 138,0,136,138,138,138,138,138, 136,136,136,136,136,136,136,136,
+   138,0,138,138,138,138,138,138, 136,136,136,136,136,136,136,136, 138,0,138,138,138,138,138,138, 136,136,136,136,136,136,136,136,
+   138,0,136,138,138,138,138,138, 136,136,136,136,136,136,136,136, 138,0,138,138,138,138,138,138, 136,136,136,136,136,136,136,136,
+   138,0,136,138,138,138,138,138, 136,136,136,136,136,136,136,136, 136,0,142,138,136,136,136,136, 136,136,136,136,136,136,136,136,
+   },
+},
+
+{ // X-TAM-SHREE (0.037M chars) [62]
+  {NULL, NULL, NULL, NULL},
+  140, 204, 70, 30, 129,
+    {0,0,0,0,0,0,0,0, 0,188,179,0,0,179,0,0, 0,168,0,0,0,168,0,0, 0,0,0,168,0,0,0,168,
+   0,178,178,178,178,178,178,178, 178,178,178,178,0,0,178,178, 178,178,178,178,178,178,0,0, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,0,178,
+   0,0,0,0,0,0,0,0, 0,188,178,0,0,178,0,0, 0,169,0,0,0,169,0,0, 0,0,0,169,0,0,0,169,
+   0,179,179,179,179,179,179,179, 179,179,179,179,0,0,179,179, 179,179,179,179,179,179,0,0, 179,179,179,179,179,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,0,179,
+   },
+  {0,0,0,0,0,0,0,0, 0,179,179,0,0,179,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,0,
+   0,0,0,0,0,0,0,0, 0,179,0,0,0,0,0,0, 0,179,0,0,0,179,0,0, 0,0,0,179,0,0,0,179,
+   0,179,179,179,179,179,179,179, 179,179,179,179,0,0,179,179, 179,179,179,179,179,179,0,0, 179,179,179,179,179,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,0,179,
+   },
+  {132,0,132,132,132,132,132,132, 134,134,132,132,132,132,132,132, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   118,0,118,118,118,118,118,118, 118,118,118,118,118,118,118,118, 136,0,136,138,138,138,138,136, 138,138,138,138,138,138,138,138,
+   136,0,136,136,136,136,136,136, 138,138,138,138,138,138,138,138, 136,0,136,136,136,136,136,136, 138,138,138,138,138,138,138,138,
+   136,0,136,136,136,136,136,136, 138,138,138,138,138,138,138,138, 136,0,136,136,136,136,136,136, 138,138,138,138,138,138,138,138,
+   136,0,136,136,136,136,136,136, 138,138,138,138,138,138,138,138, 136,0,136,136,136,136,136,136, 138,138,138,138,138,138,138,138,
+   },
+},
+
+{ // X-TAM-TBOOMIS (0.038M chars) [63]
+  {NULL, NULL, NULL, NULL},
+  139, 205, 71, 31, 129,
+    {178,0,0,0,0,0,0,0, 0,178,178,0,0,178,0,0, 0,0,0,168,168,0,0,0, 0,0,0,0,0,0,0,0,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,0,0,0,0,0,0,0, 0,178,178,0,0,178,0,0, 0,0,0,168,168,0,0,0, 0,0,0,0,0,0,0,0,
+   0,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,200,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 179,178,178,178,181,190,178,188,
+   },
+  {0,0,0,0,0,0,0,0, 0,178,178,0,0,178,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   200,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,180,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,177,
+   178,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,178,178,0,0,0, 0,0,0,0,0,0,0,0,
+   177,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   },
+  {134,0,130,132,132,132,132,132, 132,132,132,132,132,132,132,132, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 94,94,94,94,94,94,94,94,
+   118,0,114,116,116,116,116,118, 116,116,118,116,116,116,116,116, 138,0,134,136,136,136,136,138, 136,136,138,136,136,136,136,136,
+   138,0,134,136,136,136,136,136, 136,136,138,136,136,136,136,136, 138,0,134,136,136,136,136,138, 136,136,138,136,136,136,136,136,
+   138,0,134,136,136,136,136,138, 136,136,138,136,136,136,136,136, 138,0,134,136,136,136,136,138, 136,136,138,136,136,136,136,136,
+   134,0,144,134,134,134,134,134, 136,136,138,136,136,136,136,136, 134,0,138,136,134,134,134,134, 136,136,138,136,136,136,136,136,
+   },
+},
+
+{ // X-TAM-TMNEWS (0.037M chars) [64]
+  {NULL, NULL, NULL, NULL},
+  141, 205, 71, 29, 128,
+    {0,0,0,0,0,0,0,0, 0,179,179,0,0,179,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179,
+   0,0,0,0,0,0,0,0, 0,179,179,0,0,179,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   0,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,190,179,180,181,179, 180,179,179,179,179,179,179,179,
+   },
+  {0,0,0,0,0,0,0,0, 0,179,179,0,0,179,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   180,179,180,179,179,179,179,179, 179,179,179,179,180,179,180,179, 179,179,179,179,179,179,179,179, 179,179,180,179,181,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179,
+   179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,179, 179,179,179,179,179,179,179,0,
+   0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   179,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180,
+   180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180,
+   180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180,
+   },
+  {138,0,136,136,138,138,138,138, 128,128,136,136,136,136,136,136, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 128,128,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 128,128,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 128,128,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 128,128,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 128,128,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 128,128,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 128,128,2,2,2,2,2,2, 128,0,128,128,128,128,128,128, 128,128,128,128,128,128,128,128,
+   138,0,136,136,136,136,136,136, 128,128,136,136,136,136,136,136, 138,0,136,136,138,138,138,136, 128,128,136,136,136,136,136,136,
+   138,0,136,136,138,138,138,136, 128,128,136,136,136,136,136,136, 138,0,136,136,138,138,138,136, 128,128,136,136,136,136,136,136,
+   138,0,136,136,138,138,138,136, 128,128,136,136,136,136,136,136, 136,0,140,136,136,136,136,136, 128,128,136,136,136,136,136,136,
+   },
+},
+
+{ // X-TAM-WEBTAMIL (0.050M chars) [65]
+  {NULL, NULL, NULL, NULL},
+  142, 193, 66, 37, 129,
+    {178,178,178,178,178,178,178,178, 178,186,186,178,178,186,178,178, 169,169,169,169,169,169,0,169, 169,169,169,169,169,169,169,169,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,179, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178, 178,178,178,178,178,178,178,178,
+   174,174,174,174,174,174,174,174, 174,186,186,174,174,186,174,174, 162,162,162,162,162,162,0,162, 162,162,162,162,162,162,162,162,
+   0,174,174,174,174,174,174,174, 174,174,174,174,174,174,174,174, 174,174,174,174,174,174,174,181, 174,174,174,174,174,174,174,174,
+   174,174,174,174,174,174,174,174, 174,174,174,174,174,174,174,174, 174,174,174,174,174,174,174,174, 174,174,174,174,174,174,174,174,
+   174,174,174,174,174,174,174,174, 174,174,174,174,174,174,174,174, 174,174,174,174,174,174,174,174, 174,174,174,174,174,174,174,174,
+   },
+  {0,0,0,0,0,0,0,0, 0,178,177,0,0,177,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   158,177,177,177,177,177,178,177, 177,177,177,177,177,177,178,177, 177,177,177,177,177,177,177,177, 177,177,177,177,179,177,177,177,
+   177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177,
+   177,177,177,177,177,177,177,177, 177,177,177,177,178,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,0,
+   177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,133,177, 177,177,177,177,177,177,177,177,
+   177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,178, 177,177,177,177,177,177,177,177,
+   177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177,
+   177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177, 177,177,177,177,177,177,177,177,
+   },
+  {108,0,108,108,108,108,108,108, 110,110,110,110,110,110,110,110, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,0,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+   134,0,134,134,134,134,134,134, 132,132,132,132,132,132,132,132, 138,0,138,138,138,138,138,138, 134,134,134,134,134,134,134,134,
+   138,0,138,138,138,138,138,138, 134,134,134,134,134,134,134,134, 138,0,138,138,138,138,138,138, 134,134,134,134,134,134,134,134,
+   138,0,138,138,138,138,138,138, 134,134,134,134,134,134,134,134, 138,0,138,138,138,138,138,138, 134,134,134,134,134,134,134,134,
+   138,0,138,138,138,138,138,138, 134,134,134,134,134,134,134,134, 138,0,138,138,138,138,138,138, 134,134,134,134,134,134,134,134,
+   },
+},
+
+{ // UTF8CP1252 (178.156M chars) [66]
+  {NULL, NULL, NULL, NULL},
+  127, 200, 59, 31, 133,
+    {181,189,183,184,176,167,163,162, 171,165,167,170,170,164,161,165, 163,161,165,161,164,166,165,166, 163,164,168,163,171,163,158,162,
+   206,174,166,168,175,173,174,175, 177,166,173,171,187,176,178,175, 178,168,166,174,175,166,165,168, 186,173,179,177,184,174,171,171,
+   119,121,206,216,183,183,147,141, 116,157,118,125,127,125,181,171, 210,198,125,120,113,136,145,187, 200,196,150,157,110,121,122,116,
+   177,173,191,209,190,201,198,198, 188,185,166,178,183,167,123,183, 120,134,134,122,116,132,155,115, 122,120,125,97,146,127,124,122,
+   186,143,146,128,162,163,140,136, 145,136,144,136,144,130,143,126, 134,159,199,183,181,182,183,161, 136,161,149,139,147,147,140,133,
+   194,145,152,160,146,142,140,152, 139,166,140,162,150,144,159,142, 165,141,142,133,158,130,129,165, 138,130,156,172,141,139,132,152,
+   146,177,150,157,188,159,153,165, 178,205,165,144,125,177,148,136, 125,164,126,181,156,148,180,118, 161,109,162,137,189,137,127,170,
+   196,183,151,159,189,172,153,166, 185,210,166,152,154,180,147,138, 133,164,153,186,156,147,178,152, 160,162,164,140,188,144,126,109,
+   },
+  {148,50,56,78,0,0,0,0, 0,146,153,0,0,166,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   225,137,174,103,110,121,177,155, 149,159,126,115,183,160,179,142, 162,172,165,154,151,151,144,143, 141,143,157,138,205,108,138,142,
+   124,187,176,189,179,184,170,182, 175,169,154,158,186,182,198,181, 175,156,199,194,193,169,173,155, 158,150,147,134,124,138,112,134,
+   122,193,181,189,179,191,172,183, 177,178,152,159,187,182,199,184, 175,153,200,203,195,176,174,143, 147,148,143,122,135,97,118,45,
+   189,193,197,200,179,177,173,171, 177,169,174,172,176,171,162,170, 167,165,159,165,169,171,167,170, 167,172,168,170,176,168,162,169,
+   201,180,183,168,179,169,167,182, 176,187,173,166,167,178,173,174, 182,177,171,180,173,177,171,169, 186,175,179,179,186,179,179,171,
+   129,129,169,152,124,152,130,133, 107,158,114,130,116,114,119,120, 120,118,126,120,107,124,147,116, 137,132,118,122,118,119,119,156,
+   174,145,176,207,186,198,193,190, 186,184,161,173,176,161,128,175, 133,123,125,123,107,155,137,103, 119,110,131,110,136,122,127,123,
+   },
+  {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+   2,0,2,2,2,2,2,2, 0,0,0,0,2,4,2,6, 2,0,2,2,2,2,2,2, 0,0,0,0,4,14,2,16,
+   2,0,2,2,2,2,2,2, 0,0,0,0,2,2,2,2, 2,0,2,2,2,2,2,2, 0,0,0,0,2,2,2,2,
+   2,0,2,2,2,2,2,2, 0,0,0,0,2,2,2,2, 32,0,2,4,2,2,2,2, 0,0,0,0,2,2,2,2,
+   156,0,136,152,124,138,112,108, 126,134,130,124,120,126,140,96, 138,0,138,136,122,116,134,138, 124,130,118,122,140,122,146,112,
+   150,0,140,156,114,112,112,112, 108,122,140,112,150,128,142,122, 144,0,142,152,118,120,114,114, 124,134,120,126,132,136,144,128,
+   0,0,90,80,150,152,98,98, 134,120,142,130,128,128,70,112, 0,0,102,98,150,148,124,110, 134,128,128,144,104,128,66,114,
+   0,0,138,118,64,72,142,142, 138,138,122,134,110,120,110,140, 0,0,126,122,70,82,148,144, 88,108,108,110,162,194,128,196,
+   },
+},
+
+};             // End unigram_table
+
+static const uint8 kMostLikelyEncoding[] = {
+// 00xx
+  37,39,39,39,39,39,39,39, 39,37,37,39,39,39,39,39, 39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,
+  37,37,37,39,39,37,39,39, 39,39,37,39,37,37,39,37, 39,39,39,39,39,39,39,39, 39,39,37,39,37,39,37,39,
+  37,39,39,39,39,37,39,39, 37,37,39,37,39,39,39,39, 37,39,37,37,37,37,37,37, 39,39,39,37,39,37,56,39,
+  39,37,37,37,37,37,39,37, 37,37,37,37,37,37,37,37, 37,39,37,37,37,37,37,37, 39,37,37,37,39,37,39,56,
+  56,39,56,56,39,39,39,39, 56,56,56,56,56,56,39,56, 56,56,39,39,57,56,56,39, 56,56,56,57,39,39,56,39,
+  39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,57, 39,56,39,39,39,56,39,39, 39,39,39,39,39,57,39,39,
+  39,39,57,39,39,39,39,39, 39,39,39,39,56,39,39,39, 39,39,39,39,39,57,39,39, 57,57,57,57,56,57,56,57,
+  39,37,39,39,37,39,39,39, 39,37,39,39,39,37,39,39, 39,37,39,37,39,39,39,39, 39,39,39,39,37,39,39,57,
+  // 01xx
+  56,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,39,37,37,37,
+  39,39,39,37,37,37,39,39, 39,39,37,37,39,39,39,37, 39,37,39,37,37,37,37,37, 37,37,39,39,39,37,37,39,
+  39,37,37,37,37,39,37,39, 37,39,39,39,39,39,37,39, 39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,39,39,39,39,37,37, 37,39,39,37,39,39,39,39, 39,37,39,39,39,39,39,39, 39,39,37,37,37,37,37,37,
+  39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 39,37,37,37,37,37,37,37, 39,37,37,37,37,37,37,37,
+  39,37,37,39,39,39,39,39, 37,39,37,39,39,39,37,37, 37,39,37,39,39,37,39,39, 37,39,37,37,37,37,37,39,
+  37,39,39,39,37,39,39,39, 39,39,39,39,39,37,37,37, 37,37,37,39,37,39,37,39, 37,56,56,56,37,56,39,56,
+  39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,37, 39,39,39,39,39,37,39,37, 39,39,39,37,39,39,37,39,
+  // 02xx
+  37,37,37,39,37,37,37,39, 39,39,39,37,37,39,37,37, 37,8,37,37,37,37,37,37, 37,37,37,37,39,39,37,39,
+  37,37,39,40,37,39,37,37, 39,39,39,39,39,39,39,39, 39,37,37,37,37,37,40,37, 40,40,39,39,39,39,37,37,
+  6,39,39,40,39,37,39,39, 39,39,37,37,39,39,37,37, 37,37,37,37,37,37,37,37, 39,37,37,37,37,37,39,37,
+  37,37,37,37,39,37,37,37, 37,37,39,37,37,37,37,39, 37,37,39,37,39,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,39,37,37,37,39, 37,37,37,37,37,37,37,37, 39,37,37,37,37,37,37,37, 39,37,37,37,37,37,37,37,
+  37,37,37,37,37,39,37,37, 37,37,37,37,37,37,37,37, 37,37,37,39,39,37,37,39, 39,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,39,37,37,37,37,37,39, 37,39,39,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,39,37,37,37,37,
+  // 03xx
+  56,37,37,37,56,37,37,37, 37,37,39,56,37,39,39,37, 39,37,37,39,37,39,37,37, 37,39,56,39,37,37,39,39,
+  39,39,39,37,37,37,39,39, 39,39,39,39,39,39,39,39, 37,39,39,39,39,39,39,39, 39,56,39,39,39,39,39,56,
+  39,39,39,56,56,39,39,39, 39,39,39,39,39,39,37,37, 37,37,37,37,37,37,37,37, 37,37,39,37,37,37,39,37,
+  37,37,37,39,37,37,37,39, 37,39,37,37,37,39,39,39, 39,37,37,37,39,37,37,37, 37,37,37,37,37,37,40,37,
+  39,37,37,39,39,37,37,37, 37,37,37,37,39,37,37,39, 37,37,37,37,37,37,37,37, 39,37,37,37,37,37,37,37,
+  37,37,39,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 39,37,37,37,37,37,37,39, 37,37,37,37,37,37,37,37,
+  37,37,37,39,37,39,37,37, 37,39,39,37,39,37,37,37, 39,37,39,37,39,37,37,37, 39,39,39,39,39,39,37,37,
+  // 04xx
+  56,39,37,39,37,39,37,37, 37,39,39,37,39,39,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  39,37,39,37,37,37,39,39, 37,39,39,37,39,39,39,37, 39,39,37,39,39,39,39,37, 39,39,39,39,39,39,39,37,
+  39,39,39,39,39,37,39,39, 39,39,39,39,39,37,39,39, 37,39,37,37,39,37,37,37, 37,39,37,37,39,39,37,39,
+  37,39,37,39,39,37,37,37, 39,39,37,39,37,37,39,39, 37,37,37,37,37,37,37,37, 37,37,37,37,37,39,39,37,
+  37,37,37,39,37,37,37,37, 37,37,37,39,37,37,37,37, 37,37,37,39,37,37,37,39, 37,37,37,37,39,37,37,39,
+  39,37,39,39,37,37,39,39, 37,39,37,37,39,39,37,37, 37,39,37,37,39,39,37,39, 37,39,37,39,39,39,39,37,
+  37,37,37,39,37,37,39,37, 39,37,39,37,37,39,39,37, 39,39,37,37,37,39,39,39, 37,37,37,37,37,37,37,37,
+  39,37,39,39,39,39,39,39, 37,37,39,37,39,37,37,37, 37,37,37,37,39,39,39,37, 39,39,39,39,37,39,37,37,
+  // 05xx
+  56,37,37,37,37,37,37,37, 37,37,39,37,37,39,37,37, 37,37,37,39,37,37,37,37, 37,37,37,37,37,37,37,37,
+  39,39,39,37,37,37,39,39, 39,39,39,39,39,39,39,39, 37,39,39,39,37,37,40,37, 37,39,39,39,39,39,39,39,
+  37,39,40,39,37,37,37,39, 37,37,37,37,40,37,37,37, 37,37,37,39,37,37,39,37, 37,37,37,37,37,37,39,39,
+  39,37,37,37,39,37,37,37, 37,37,37,37,37,37,39,37, 37,37,37,37,37,37,37,37, 37,37,39,37,37,39,37,37,
+  39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,39,39,37, 39,39,37,37,37,37,37,37,
+  39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,39,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,39,37,37, 37,37,37,37,39,37,37,37,
+  // 06xx
+  56,37,37,37,37,37,37,37, 37,37,39,37,39,39,39,39, 37,37,37,39,37,37,37,37, 39,39,37,37,37,37,37,37,
+  39,39,39,37,37,37,39,37, 37,39,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,39,39,39,39,39,39,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,39,37,37,37,37,37, 37,37,37,37,39,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39, 37,37,39,37,39,37,37,37, 37,37,37,37,37,37,37,39,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 39,37,39,37,37,37,37,37, 37,37,37,39,37,37,37,37,
+  39,37,37,39,37,37,37,39, 37,37,37,39,39,39,39,37, 37,37,37,37,37,37,37,39, 37,37,37,39,37,37,37,39,
+  37,37,37,37,37,37,37,37, 37,37,39,37,37,37,37,39, 37,37,37,39,37,37,37,39, 37,37,37,37,37,37,37,37,
+  39,39,39,39,39,37,39,37, 39,37,39,37,39,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  // 07xx
+  56,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,39,37,37,37,
+  39,37,39,40,37,37,37,37, 37,39,37,37,39,37,39,37, 37,39,37,40,37,40,37,37, 37,37,40,37,39,37,37,37,
+  37,37,39,37,37,37,40,40, 37,37,37,40,37,37,39,37, 37,37,39,37,37,39,37,37, 37,39,39,37,39,39,37,37,
+  37,37,37,39,37,37,37,37, 39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,39,37,37,37,39,37, 37,39,37,37,37,37,37,37, 37,37,37,37,37,37,37,39, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,39,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  // 08xx
+  37,37,37,37,37,37,37,37, 3,39,39,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,39,40,40,37,37,37, 40,40,37,37,37,37,37,37, 37,39,40,40,40,40,40,40, 40,40,40,40,40,40,40,37,
+  40,40,40,40,37,37,37,37, 40,40,37,37,40,37,37,37, 37,37,37,37,39,37,37,37, 37,37,37,37,39,37,39,37,
+  37,39,37,37,37,37,37,39, 37,37,37,37,37,37,39,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,40,37,
+  37,37,39,37,37,37,37,37, 37,37,39,37,39,37,37,37, 37,37,37,37,37,37,37,37, 39,37,37,37,37,39,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,39,37, 37,39,37,37,37,37,37,37, 39,37,37,37,37,37,37,37,
+  37,37,37,39,37,37,39,37, 39,37,37,37,37,39,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,39,37,37,37,37,39,
+  // 09xx
+  37,37,37,37,37,37,37,37, 37,0,0,37,37,0,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  0,10,0,0,0,0,0,0, 0,0,0,0,0,10,0,10, 10,0,0,0,0,0,0,0, 0,0,0,0,0,10,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  // 0Axx
+  37,37,37,37,37,37,37,37, 37,0,0,37,37,0,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  0,10,0,0,0,0,0,0, 0,0,0,0,0,10,0,10, 10,0,0,0,0,0,0,0, 0,0,0,0,0,10,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  // 0Bxx
+  56,37,37,37,37,37,37,37, 37,37,39,37,37,37,37,40, 37,37,37,37,37,37,37,37, 37,39,37,37,37,37,37,37,
+  39,40,39,40,37,37,37,37, 37,39,37,37,39,39,39,40, 37,39,39,39,39,39,39,40, 39,39,39,37,39,37,37,37,
+  37,37,40,40,37,37,40,37, 39,37,37,37,39,37,39,37, 39,37,37,37,37,37,37,39, 37,37,37,37,39,37,37,37,
+  37,37,37,37,37,37,37,39, 37,37,37,37,37,39,37,37, 37,37,37,37,37,37,37,39, 37,37,39,37,37,37,40,37,
+  37,37,37,37,37,37,39,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  // 0Cxx
+  57,37,39,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  39,37,39,37,37,37,37,37, 37,39,37,37,39,37,37,37, 37,39,37,37,37,37,37,37, 37,37,39,37,39,37,37,39,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,39,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39, 37,37,37,37,37,37,37,37,
+  39,37,37,37,39,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,39,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,39,37,37, 37,37,37,39,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39,
+  // 0Dxx
+  37,37,37,37,37,37,37,37, 37,0,0,37,37,0,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  0,10,0,0,0,0,0,0, 0,0,0,0,0,10,0,10, 10,0,0,0,0,0,0,0, 0,0,0,0,0,10,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  // 0Exx
+  56,37,37,37,37,37,37,37, 37,37,37,37,37,39,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  39,57,56,57,56,37,56,37, 56,56,37,56,56,37,39,39, 57,57,57,57,57,57,57,57, 57,57,57,57,57,57,57,57,
+  57,57,56,57,57,57,57,57, 57,57,56,57,57,57,56,56, 57,56,57,56,56,57,56,57, 56,56,56,56,57,56,56,56,
+  56,56,56,56,56,56,39,56, 56,56,56,56,56,56,56,56, 56,56,56,56,56,37,56,56, 37,56,39,56,56,37,37,37,
+  37,37,37,39,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,39,39,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 6,37,37,37,37,37,37,37, 37,37,37,37,37,37,39,37,
+  37,37,37,37,37,37,37,37, 37,39,37,39,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39,
+  // 0Fxx
+  37,37,40,37,37,37,37,37, 40,42,42,37,37,42,40,37, 37,37,37,37,37,37,37,37, 37,40,37,57,37,37,37,37,
+  42,42,42,42,42,42,42,42, 42,42,42,42,42,42,42,42, 42,42,42,42,42,42,42,42, 42,42,42,42,42,42,42,42,
+  42,42,42,42,42,42,42,42, 42,42,42,42,42,42,42,42, 42,42,42,42,42,42,42,42, 42,42,42,42,42,42,42,42,
+  42,42,42,42,42,42,42,42, 42,42,42,42,42,42,42,42, 42,42,42,42,42,42,42,42, 42,42,42,42,42,42,42,37,
+  37,39,42,37,37,37,37,37, 37,37,37,37,37,37,39,37, 39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  // 10xx
+  56,39,37,37,39,37,39,37, 37,37,39,37,37,37,37,37, 37,37,37,39,37,37,37,37, 37,37,37,37,39,39,37,39,
+  39,40,39,37,37,37,37,37, 40,39,40,37,39,39,39,39, 37,39,37,39,40,40,37,37, 40,40,39,39,39,37,37,39,
+  37,40,40,40,37,40,37,37, 37,40,40,37,40,37,37,37, 37,37,37,37,37,39,37,37, 37,37,37,37,37,37,37,37,
+  37,37,39,37,37,37,37,37, 37,37,37,37,37,37,39,37, 37,37,39,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  39,37,37,37,37,37,37,37, 37,37,37,37,39,37,39,37, 39,37,37,39,37,37,37,37, 39,39,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 3,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,39,37,37,37,37,37,
+  // 11xx
+  56,39,37,37,39,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,40,39,40,37,37,37,37, 37,37,37,37,37,37,39,37, 37,40,40,40,40,40,40,37, 40,40,40,40,40,40,40,40,
+  37,40,40,40,40,37,40,40, 40,40,40,40,37,40,37,39, 39,37,37,37,39,37,37,37, 37,37,37,37,39,37,37,37,
+  37,37,39,39,37,37,37,37, 39,37,37,37,39,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,39,37,37,40,37,
+  37,39,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,3,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,39,37,37,37,37,37,37, 37,37,37,37,37,37,39,37, 37,37,37,37,37,37,37,37,
+  39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,39,37,37,37,37,37,
+  // 12xx
+  37,37,37,37,39,39,37,37, 37,37,37,39,37,39,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  39,40,39,39,37,37,37,37, 37,39,37,39,37,37,39,39, 37,39,37,40,37,37,37,37, 39,40,37,39,39,37,37,37,
+  40,37,37,37,37,39,37,37, 37,37,39,37,37,37,37,37, 39,37,39,37,37,37,37,39, 37,37,37,37,37,37,37,37,
+  39,37,39,37,37,37,37,37, 37,39,37,37,37,39,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,40,37,
+  37,37,39,37,37,37,37,39, 37,37,37,37,37,37,37,37, 39,37,37,37,37,37,37,37, 37,37,39,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39,
+  // 13xx
+  37,39,37,37,37,37,37,37, 37,37,39,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,39,37,37,
+  39,37,37,40,37,37,37,37, 37,37,39,37,39,39,37,37, 37,39,40,37,40,37,37,37, 37,37,40,37,39,37,37,37,
+  37,37,37,40,37,37,37,37, 37,37,37,37,40,37,39,37, 37,37,37,37,37,37,37,39, 37,37,37,37,37,37,37,37,
+  37,37,37,37,39,37,39,37, 39,37,39,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,40,39,
+  37,37,37,37,37,39,37,37, 37,37,39,37,39,37,37,37, 37,37,37,37,37,37,37,39, 37,39,39,37,39,37,37,39,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,39,37,37,37,6,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 39,37,37,39,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,39,37,37, 37,37,37,39,37,39,37,37, 37,37,37,37,37,37,37,39,
+  // 14xx
+  37,37,37,37,37,39,37,37, 37,37,37,37,37,37,37,37, 37,39,39,39,39,37,37,37, 37,37,37,37,37,37,37,37,
+  39,37,37,40,37,39,37,37, 39,37,37,39,39,39,39,37, 37,37,37,39,40,40,40,40, 40,37,40,40,39,37,40,40,
+  40,40,40,40,40,37,39,39, 40,40,40,40,37,40,39,37, 37,37,37,37,37,37,37,37, 37,37,37,37,39,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,39,37,37,39, 37,37,37,37,37,37,37,37, 39,37,37,39,37,39,40,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,39,37,37, 37,37,37,37,39,37,39,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39,
+  // 15xx
+  56,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  39,40,39,40,39,37,39,37, 37,37,37,37,39,37,37,37, 37,37,39,37,40,40,37,37, 37,40,37,37,39,37,40,40,
+  37,40,40,37,37,37,37,37, 37,37,40,37,40,37,37,37, 37,37,37,37,37,37,39,37, 39,39,37,37,37,37,37,39,
+  39,39,37,37,37,37,37,37, 37,37,37,37,37,37,37,39, 37,37,37,37,37,37,37,37, 39,37,37,37,37,37,40,37,
+  39,37,37,37,37,37,37,39, 39,37,37,37,37,37,37,39, 37,39,39,37,37,37,37,37, 37,37,37,37,37,39,37,37,
+  37,39,37,37,37,39,37,39, 37,37,37,39,39,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,39,37,37,37,
+  37,37,39,37,37,37,37,37, 39,37,37,37,37,37,37,37, 39,37,37,37,37,37,39,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,39,37,37,37,37,37, 37,37,39,37,37,37,37,37, 37,37,37,37,37,37,37,39,
+  // 16xx
+  56,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,39,37,37,37,37,37,37, 37,40,37,37,37,37,37,40, 37,39,37,40,37,37,40,37, 40,40,37,40,37,37,40,37,
+  37,40,37,37,40,37,40,37, 40,37,37,40,37,37,39,37, 37,37,37,39,37,37,37,39, 37,39,37,37,37,37,37,37,
+  39,37,39,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39,
+  37,37,37,37,37,37,39,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,39, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  // 17xx
+  56,37,37,37,37,37,37,37, 37,37,39,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,39,37,37, 40,37,37,37,37,37,40,37, 37,39,40,37,37,37,37,37, 37,37,37,37,37,40,40,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39, 37,37,39,39,39,37,39,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 39,37,37,37,39,37,39,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,40,37,
+  39,37,39,37,37,39,37,39, 37,37,39,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  // 18xx
+  37,37,37,37,39,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,39,37,40,37,37,37,37, 37,37,37,37,40,37,37,40,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39, 39,37,37,37,37,37,37,39, 37,37,39,37,39,37,37,37,
+  37,37,39,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39,
+  37,37,37,37,37,37,37,39, 37,37,39,37,37,37,37,37, 37,37,37,37,39,37,37,37, 39,39,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,39,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39,
+  // 19xx
+  37,37,37,37,37,37,37,37, 37,39,37,37,37,39,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,39,37,40,37,37,37, 37,37,37,37,37,37,40,37, 37,37,37,37,37,37,37,37, 37,37,40,37,37,40,37,37,
+  37,37,37,40,37,37,37,37, 37,37,37,37,37,37,37,37, 39,37,39,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,39,37,37,37,37, 37,37,39,37,37,37,37,37, 37,39,37,37,37,37,37,37, 37,39,37,37,37,39,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 39,37,37,37,37,39,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  // 1Axx
+  37,37,37,37,37,37,37,37, 37,37,4,37,37,37,37,40, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,40,39,40,37,37,37,37, 37,37,37,37,37,37,37,37, 37,39,37,37,40,40,37,37, 37,37,37,37,37,37,40,6,
+  40,37,37,37,37,37,37,37, 37,37,37,37,37,37,39,39, 37,37,37,37,37,37,37,37, 37,39,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,39,37,37,
+  37,37,37,37,37,39,37,37, 37,37,37,37,37,37,37,37, 39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39,
+  // 1Bxx
+  56,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,57,37,37,37, 57,37,37,37,37,37,37,37, 37,39,37,37,40,40,37,37, 40,37,37,37,37,40,37,37,
+  37,37,37,37,37,40,37,37, 37,37,37,37,37,37,56,37, 37,37,39,37,39,37,37,37, 37,37,39,37,37,39,37,37,
+  37,39,37,37,37,37,37,39, 37,37,37,37,39,39,39,37, 37,37,39,39,37,37,37,37, 37,37,37,37,37,37,40,37,
+  37,37,37,37,37,37,37,37, 37,37,37,39,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,39,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39,
+  // 1Cxx
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  39,37,37,40,37,39,37,37, 37,37,40,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,40,37,37,37,37, 37,40,40,37,37,37,39,37, 37,37,37,37,37,37,37,37, 37,39,39,37,37,37,37,37,
+  37,37,37,37,39,37,37,37, 37,39,37,37,37,37,37,37, 37,37,37,39,37,39,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,39, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,39,39, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,39,37,37,37, 37,37,37,37,39,37,37,37,
+  37,39,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  // 1Dxx
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  39,37,40,40,37,39,37,37, 37,37,37,37,37,37,37,37, 37,39,37,37,37,37,37,37, 40,37,37,37,37,40,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39, 37,37,39,37,37,37,37,37, 37,37,37,37,37,37,39,37,
+  39,37,37,37,37,37,37,39, 37,37,37,37,37,37,39,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,39,37,37,37, 37,37,37,39,37,39,39,37, 39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,39,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  // 1Exx
+  57,37,37,37,37,37,37,37, 37,39,39,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,39,37,37,
+  39,40,39,40,37,37,39,39, 37,39,37,37,39,39,39,39, 37,40,42,40,40,40,40,37, 40,40,39,39,39,40,37,39,
+  37,39,42,37,37,37,42,37, 42,39,40,40,40,39,39,39, 39,37,37,37,39,39,37,37, 37,37,42,37,37,37,37,37,
+  37,39,37,39,39,39,37,37, 39,39,42,39,37,37,39,39, 39,37,37,37,39,39,37,39, 37,39,37,37,37,37,40,37,
+  37,37,39,37,37,37,37,37, 37,37,37,37,37,39,37,37, 39,37,39,37,37,37,37,39, 37,37,37,37,37,37,39,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39,
+  // 1Fxx
+  37,37,37,37,39,37,39,37, 37,39,37,37,37,39,40,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,40,42,40,37,37,37,37, 42,37,37,42,39,37,37,42, 37,39,40,40,40,40,40,40, 40,40,40,40,40,40,42,40,
+  40,40,42,40,40,40,40,42, 40,40,40,40,42,42,37,37, 39,37,37,37,37,37,37,39, 37,37,39,37,37,37,37,37,
+  37,39,37,37,37,37,39,39, 37,37,37,37,37,37,37,37, 37,37,37,37,37,39,37,39, 37,37,37,37,37,37,40,37,
+  37,37,39,37,37,37,37,37, 37,37,37,37,37,39,37,37, 39,37,37,37,37,37,39,37, 37,37,37,37,37,37,39,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,39,37,37,37,37, 37,37,37,39,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,39,
+  // 20xx
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  // 21xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 22xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 23xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 24xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 25xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 26xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 27xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 28xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 29xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 2Axx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 2Bxx
+  2,39,1,37,37,37,37,5, 3,2,2,37,3,2,42,42, 37,40,37,37,37,40,37,37, 40,37,40,57,37,37,37,21,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,3,3,3,11,11,11,11, 3,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, 3,11,12,11,12,36,12,4,
+  11,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3,
+  2,2,2,2,2,2,2,11, 2,1,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,11,2,1,11,13,6,
+  14,10,2,2,2,2,2,2, 2,2,2,2,2,10,17,2, 10,10,10,10,10,10,1,17, 17,17,17,2,11,10,13,37,
+  // 2Cxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 2Dxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 2Exx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 2Fxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 30xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 31xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 32xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 33xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 34xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 35xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 36xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 37xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 38xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 39xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 3Axx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 3Bxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 3Cxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 3Dxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 3Exx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 3Fxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 40xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 41xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 42xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 43xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 44xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 45xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 46xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 47xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 48xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 49xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 4Axx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 4Bxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 4Cxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 4Dxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 4Exx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 4Fxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 50xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 51xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 52xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 53xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 54xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 55xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 56xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 57xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 58xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 59xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 5Axx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 5Bxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 5Cxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 5Dxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 5Exx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 5Fxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 60xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 61xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 62xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 63xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 64xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 65xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 66xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 67xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 68xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 69xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 6Axx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 6Bxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 6Cxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 6Dxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 6Exx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 6Fxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 70xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 71xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 72xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 73xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,31, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,33,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 74xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 75xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 76xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 77xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 78xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 79xx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 7Axx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 7Bxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 7Cxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 7Dxx
+  37,37,37,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,37,
+  3,10,11,11,11,11,11,11, 11,11,0,11,11,10,0,10, 10,11,11,11,11,11,11,11, 0,11,0,11,11,10,0,0,
+  11,1,11,11,11,11,11,11, 11,11,1,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,1,11,11,11,11,1,
+  1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,11, 1,1,1,1,1,1,1,1,
+  11,1,11,1,1,1,1,11, 11,11,11,11,1,1,11,11, 1,1,1,1,11,1,1,11, 1,11,1,11,11,1,1,1,
+  // 7Exx
+  2,39,39,39,39,39,39,39, 39,2,2,39,39,2,42,42, 39,39,39,39,39,39,39,39, 39,39,39,56,39,39,39,39,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,3,
+  3,3,3,3,39,39,11,11, 11,3,3,3,3,3,3,3, 3,3,3,3,3,11,3,3, 39,11,39,3,39,39,39,37,
+  11,3,3,3,11,3,3,3, 3,3,3,3,3,3,11,3, 11,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3,
+  2,2,2,2,2,2,2,11, 2,2,2,2,11,11,2,2, 2,11,2,11,11,2,2,2, 2,37,11,11,11,11,11,11,
+  17,11,2,2,2,2,2,2, 2,2,2,2,2,2,17,2, 14,17,17,11,37,1,11,17, 16,17,11,39,37,11,39,37,
+  // 7Fxx
+  56,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39, 39,39,39,37,39,37,37,39, 37,39,39,39,39,37,39,39,
+  39,39,39,39,39,39,39,39, 39,37,39,39,39,39,39,39, 37,39,39,39,39,39,37,39, 39,39,37,39,39,39,39,39,
+  39,39,39,39,39,39,39,39, 39,39,39,39,39,39,37,39, 37,37,37,37,37,39,37,37, 39,37,39,37,37,37,39,37,
+  37,39,39,37,37,37,37,39, 39,37,37,37,37,37,37,39, 37,37,37,39,37,37,37,39, 39,37,39,37,39,37,37,39,
+  37,39,37,37,39,37,39,39, 37,39,37,37,39,37,37,37, 39,39,39,39,37,39,37,39, 39,37,37,39,39,39,39,39,
+  39,39,39,39,37,39,39,39, 37,37,39,39,39,39,39,39, 39,39,39,39,37,39,39,39, 39,39,39,39,39,37,39,39,
+  39,37,39,39,39,37,39,39, 39,39,39,39,37,39,39,39, 39,39,37,39,37,39,39,39, 56,56,39,56,56,56,56,56,
+  37,39,39,39,39,39,39,39, 39,37,39,39,39,39,39,39, 37,37,39,39,39,39,39,39, 39,39,39,37,37,39,39,37,
+  // 80xx
+  11,37,39,37,39,37,39,39, 39,2,2,39,37,2,39,39, 37,39,39,39,39,37,39,37, 39,39,39,39,39,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,11, 2,11,11,2,11,11,11,11, 11,11,11,2,11,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,11,2,2, 2,2,2,2,2,2,2,39,
+  2,2,2,2,36,2,2,36, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 59,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  10,39,2,2,2,10,37,2, 10,2,39,2,37,39,2,2, 2,2,2,10,39,2,33,11, 2,2,2,2,37,5,37,5,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 36,31,39,39,39,31,37,39, 37,39,37,39,11,37,4,37,
+  // 81xx
+  56,39,37,39,39,37,39,37, 37,2,2,39,39,2,39,39, 37,37,39,39,39,39,39,39, 39,37,37,39,39,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,6,6,6,6,6,6,6, 6,6,2,6,6,6,2,6, 6,6,6,2,2,6,6,2, 6,2,6,6,6,6,6,6,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,37,
+  36,6,2,6,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,6,2, 2,2,6,2,6,2,2,2,
+  2,6,6,2,2,6,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  10,39,2,2,2,10,4,11, 6,6,6,6,6,6,2,2, 2,11,11,11,11,39,12,19, 2,2,6,2,6,6,6,6,
+  2,6,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 6,6,6,6,6,6,6,6, 4,4,37,39,6,19,39,37,
+  // 82xx
+  56,39,39,39,39,39,39,37, 37,2,2,39,39,2,42,39, 39,39,37,39,39,39,39,39, 39,39,39,39,39,39,37,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,6, 6,6,6,6,6,6,6,6, 6,2,2,2,2,2,2,2,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,2,2,2,2,2,37,
+  2,2,2,2,2,6,2,2, 2,2,2,2,2,2,6,2, 6,36,2,2,6,6,6,6, 2,2,2,36,2,2,2,6,
+  6,2,6,2,6,2,6,2, 6,6,6,6,2,6,6,2, 2,6,6,6,2,6,6,6, 2,2,2,6,6,6,6,6,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  6,6,6,2,2,2,6,6, 6,6,6,6,6,6,6,2, 6,6,31,12,11,31,39,19, 5,19,39,19,11,33,39,37,
+  // 83xx
+  56,39,37,37,37,37,39,39, 39,2,2,39,39,2,37,39, 39,39,39,39,39,39,39,37, 39,39,39,39,37,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,37,
+  6,6,6,2,6,6,2,6, 2,6,6,6,6,6,2,6, 2,2,2,6,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,6,
+  6,6,59,6,6,59,59,6, 19,6,6,6,6,6,2,2, 2,2,6,6,19,6,6,11, 2,2,2,2,37,6,4,4,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,5,2, 31,4,11,10,39,19,19,11, 37,39,39,39,39,39,39,37,
+  // 84xx
+  57,39,39,39,39,39,39,39, 39,2,2,39,39,2,39,39, 39,39,39,39,39,39,39,39, 37,39,39,39,39,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,11,2,2,2, 2,2,2,11,2,2,2,2, 2,2,2,11,2,2,11,11, 2,2,11,2,2,2,2,2,
+  37,11,2,2,11,2,2,11, 2,2,2,11,2,2,11,2, 2,6,2,2,6,6,39,2, 6,6,11,6,2,6,2,37,
+  36,2,2,2,2,36,2,2, 2,2,2,36,2,36,36,2, 2,2,2,36,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,2,59,6,2,6,2,2, 36,6,6,6,6,2,36,6, 2,2,2,2,2,6,2,2, 2,2,6,5,2,5,2,2,
+  10,10,2,2,2,10,10,10, 12,12,10,2,10,10,2,2, 2,2,10,19,10,19,12,2, 2,2,2,2,12,19,16,10,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,5,2, 36,10,10,10,11,12,12,10, 12,12,12,39,11,39,16,37,
+  // 85xx
+  56,11,39,37,39,39,39,39, 39,2,2,39,39,2,39,11, 39,39,39,37,37,39,39,37, 37,37,37,39,39,39,39,39,
+  2,2,2,2,11,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,39,2,2,2,2,11,11, 2,2,2,2,2,2,19,2,
+  2,11,11,2,11,2,2,2, 2,11,33,2,2,2,2,11, 11,11,2,11,11,2,33,11, 11,11,33,2,2,2,2,39,
+  2,2,36,2,2,2,2,2, 2,2,36,2,2,2,2,36, 2,36,2,2,2,2,36,36, 2,2,2,5,2,2,2,36,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  39,5,2,2,19,11,5,11, 11,12,5,2,2,37,2,2, 2,2,6,11,11,19,12,39, 2,2,2,2,11,11,11,11,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,5,2, 36,36,4,23,23,4,19,11, 19,11,12,37,11,33,11,37,
+  // 86xx
+  56,39,39,11,39,39,39,37, 39,2,2,39,39,2,39,39, 39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,37,
+  2,6,2,2,36,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,19,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,36,2, 2,2,2,2,2,5,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  39,19,2,2,2,2,2,2, 11,2,19,2,19,37,2,2, 2,2,4,12,12,19,12,11, 2,2,2,2,11,12,4,6,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 36,36,39,31,39,4,39,11, 4,39,39,39,11,12,19,37,
+  // 87xx
+  56,39,37,39,39,39,39,39, 39,2,2,39,39,2,39,37, 39,37,37,37,39,37,39,37, 37,39,39,39,37,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,6,6,6,6,6,6,6, 6,2,6,6,2,2,2,2, 2,11,2,2,6,6,6,6, 6,6,6,2,2,2,2,2,
+  6,2,2,2,6,39,2,31, 2,11,11,2,2,2,2,6, 2,6,31,31,2,2,31,2, 11,2,37,2,2,2,2,37,
+  36,6,2,2,2,36,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,5,2, 2,2,2,36,2,2,5,2,
+  2,2,36,2,2,2,2,2, 2,5,2,36,2,2,11,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  19,12,2,2,2,2,4,11, 4,12,4,2,19,39,2,2, 2,2,4,12,12,4,19,11, 2,2,2,2,11,11,31,19,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,5,2, 36,4,37,11,11,11,4,11, 19,37,19,11,19,4,4,37,
+  // 88xx
+  57,39,39,39,39,39,39,39, 39,2,2,39,39,2,39,39, 39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,39,
+  2,36,36,36,2,36,2,2, 2,2,2,36,36,36,2,2, 2,2,2,36,2,2,2,2, 2,2,2,2,2,2,2,36,
+  2,2,6,6,6,2,2,36, 2,2,2,2,2,2,6,2, 2,2,2,6,2,6,2,2, 2,2,2,2,6,2,2,2,
+  6,6,2,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 2,6,6,6,6,6,6,6,
+  2,6,6,2,2,2,2,2, 2,2,6,2,2,2,6,2, 6,6,6,6,6,6,6,6, 6,6,6,6,6,37,39,37,
+  // 89xx
+  56,39,39,39,39,39,39,37, 39,2,2,39,39,2,39,39, 37,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,6,6,2,2,6,6,6, 6,2,6,6,6,2,6,2, 6,6,6,6,2,2,6,2, 6,6,6,2,6,2,6,6,
+  6,6,6,6,2,6,6,6, 6,6,6,6,6,2,2,2, 6,6,6,6,6,6,6,6, 6,37,6,6,6,6,6,37,
+  2,2,2,6,6,6,2,2, 2,6,2,2,2,2,2,6, 6,6,36,2,6,2,6,6, 6,2,6,6,6,6,6,6,
+  6,6,6,2,6,2,2,2, 6,2,6,6,2,6,6,2, 2,2,2,6,2,2,2,6, 6,6,6,6,6,6,2,6,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,2, 2,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  2,6,2,2,2,2,6,2, 2,2,6,2,2,2,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,39,39,37,
+  // 8Axx
+  56,39,37,39,39,39,39,39, 37,2,2,39,39,2,37,39, 39,39,39,37,39,39,39,39, 37,39,39,39,39,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,12,6,6,6,6,6,6, 2,12,6,6,12,2,12,6, 12,6,2,2,6,6,12,6, 6,6,6,6,2,2,6,6,
+  6,12,2,2,6,6,37,6, 2,6,6,12,6,6,6,6, 6,37,6,6,6,6,6,6, 6,6,6,6,6,6,6,39,
+  2,6,2,6,6,36,36,6, 6,2,2,6,6,12,36,6, 2,2,36,2,2,2,2,2, 2,6,6,2,2,2,2,2,
+  2,2,2,6,2,2,6,6, 2,2,6,2,2,2,6,6, 6,2,6,6,6,2,2,6, 2,2,6,6,2,6,6,2,
+  10,12,6,6,6,6,12,6, 6,6,6,6,6,12,6,6, 2,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  2,6,6,2,2,2,2,2, 2,2,2,6,2,6,6,2, 6,6,6,6,6,6,6,6, 6,6,6,6,6,39,4,37,
+  // 8Bxx
+  56,39,37,39,39,39,39,39, 39,2,2,39,39,2,39,39, 39,39,39,39,39,39,39,39, 39,37,39,37,39,37,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,6,6,6,2,6,6,6, 6,6,2,6,6,6,6,6, 6,6,6,6,6,6,6,2, 6,6,6,2,6,2,6,6,
+  6,2,2,6,2,6,2,6, 2,6,6,6,6,2,2,31, 6,6,6,6,6,6,6,2, 6,6,6,6,6,6,6,37,
+  2,6,2,6,6,6,6,2, 2,2,36,6,6,2,6,6, 6,2,6,6,2,2,6,2, 2,2,5,6,2,2,6,6,
+  2,2,2,6,2,2,6,2, 2,2,2,6,2,6,2,2, 2,2,6,6,6,6,6,6, 6,2,6,6,2,6,6,6,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  6,6,6,2,2,2,2,2, 2,2,6,2,2,2,6,2, 6,6,6,6,6,6,6,6, 6,6,6,6,6,39,37,37,
+  // 8Cxx
+  56,39,39,37,39,39,39,39, 37,2,2,37,39,2,39,39, 37,39,39,37,39,39,39,39, 39,39,39,39,39,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,2,2,12,2,2,6,2, 2,6,6,6,12,2,6,2, 6,6,6,6,2,11,2,6, 6,6,6,6,6,2,6,6,
+  6,6,6,6,2,6,6,6, 6,6,6,6,2,2,6,6, 6,6,2,2,2,6,6,12, 6,6,2,6,6,6,2,37,
+  2,2,6,2,2,2,6,2, 6,2,6,6,6,36,6,6, 2,2,6,6,6,6,2,2, 6,6,6,6,6,6,6,6,
+  6,2,6,6,6,2,2,6, 2,6,2,2,6,6,2,6, 6,6,2,6,6,6,2,6, 6,6,2,6,6,2,6,2,
+  6,6,6,6,6,6,12,6, 6,6,6,6,6,6,6,6, 2,6,6,6,6,6,6,6, 2,2,2,2,6,6,6,6,
+  2,6,2,2,2,2,2,2, 2,2,6,2,2,2,6,2, 6,6,6,6,6,6,6,6, 6,6,6,6,6,4,4,37,
+  // 8Dxx
+  57,39,39,39,39,39,39,39, 39,2,2,39,39,2,39,39, 39,39,39,39,39,39,39,39, 39,39,39,39,39,39,37,37,
+  2,2,2,37,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,12,2,6,6,6,6,6, 6,6,6,6,6,2,6,6, 6,6,6,6,6,6,2,6, 6,6,6,6,6,6,6,6,
+  6,6,6,2,6,6,6,6, 6,6,6,6,6,6,2,6, 2,6,6,6,2,6,6,6, 6,6,6,2,6,6,6,39,
+  6,2,6,2,6,36,6,6, 2,2,2,6,6,36,2,6, 6,6,2,2,2,2,2,2, 2,36,2,36,6,6,6,2,
+  6,6,6,2,2,6,2,2, 2,6,6,2,6,6,2,2, 2,2,6,2,2,2,6,2, 6,6,2,6,2,6,2,2,
+  6,12,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,11,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  2,2,6,2,2,2,2,2, 2,2,2,2,6,6,6,2, 6,6,6,6,6,6,6,6, 6,6,4,6,6,39,39,37,
+  // 8Exx
+  56,39,39,39,39,39,39,39, 39,2,2,39,39,2,39,37, 39,39,39,37,37,37,39,39, 37,39,39,39,39,37,37,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,12,6,2,6,12,6,6, 2,12,2,12,2,6,12,6, 2,6,6,12,2,6,2,2, 6,6,6,2,6,6,6,6,
+  6,12,6,6,6,12,6,6, 6,6,6,6,6,6,6,6, 6,6,31,6,6,6,6,6, 6,2,2,6,6,6,6,39,
+  6,6,2,6,6,2,6,2, 2,2,6,2,6,6,6,6, 36,6,2,2,6,6,6,6, 2,6,6,6,6,6,6,6,
+  6,6,2,7,7,2,6,2, 2,6,2,6,7,6,6,6, 2,7,2,7,7,6,7,2, 6,7,6,2,7,7,6,6,
+  6,12,6,7,7,6,7,11, 7,6,6,6,7,12,6,6, 6,7,6,6,6,6,6,7, 6,7,7,7,7,7,7,7,
+  2,6,2,2,2,2,2,2, 6,2,6,6,2,6,6,2, 6,6,6,6,6,6,6,6, 6,6,6,6,6,37,8,37,
+  // 8Fxx
+  57,39,39,37,39,39,39,39, 39,2,2,39,39,2,39,39, 39,39,39,39,37,37,39,39, 39,39,39,39,39,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,6,6,6,2,6,6,6, 6,6,6,6,6,6,12,6, 6,6,6,2,6,2,6,6, 6,6,6,6,6,6,2,6,
+  6,6,6,6,6,6,6,2, 6,2,6,6,2,6,6,6, 6,6,6,2,6,6,6,2, 6,6,6,6,2,6,6,39,
+  6,6,2,6,2,2,6,6, 6,6,6,2,2,2,36,6, 2,6,2,2,6,6,2,6, 2,2,2,2,6,6,6,6,
+  2,2,6,2,6,2,2,6, 36,2,2,6,6,6,36,2, 2,2,2,6,2,6,2,2, 2,6,6,6,6,2,2,5,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,2,6,6,6,6,6,6,
+  2,6,2,2,2,2,2,2, 2,2,6,6,6,6,6,2, 6,6,6,6,6,6,6,6, 6,6,6,6,6,37,8,37,
+  // 90xx
+  57,37,37,37,39,39,37,39, 39,2,2,39,39,2,39,37, 39,39,37,39,37,39,39,39, 39,37,37,39,39,39,39,37,
+  2,2,2,37,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,6,6,2,6,6,6,6, 6,2,6,6,6,6,6,2, 6,6,6,6,6,6,6,6, 6,6,6,6,6,2,6,6,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,37,
+  36,6,6,2,2,6,2,6, 2,2,2,6,2,2,2,6, 2,2,36,36,6,2,2,2, 2,6,6,2,2,6,2,6,
+  36,6,6,6,6,2,2,6, 6,6,6,6,6,6,6,6, 6,2,6,6,6,2,6,6, 6,6,6,6,6,2,2,6,
+  6,6,6,6,6,6,6,11, 6,6,6,6,6,6,6,6, 6,6,11,6,6,6,6,2, 6,6,6,6,6,6,6,6,
+  6,2,6,2,2,2,2,2, 2,2,6,2,2,6,6,2, 6,6,6,6,6,6,6,6, 6,6,6,6,6,37,39,37,
+  // 91xx
+  57,39,39,39,39,39,39,39, 39,2,2,39,39,2,39,39, 39,39,39,39,39,37,39,39, 39,39,39,39,39,39,37,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,2,6,2,6,6,6,2, 6,6,6,6,2,2,6,6, 6,6,6,6,6,6,6,11, 6,6,11,6,6,6,6,6,
+  6,6,6,2,6,6,6,6, 6,2,6,6,2,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,2,39,
+  6,6,2,6,2,36,2,6, 6,2,2,6,36,6,36,36, 6,6,36,36,6,6,6,6, 2,2,2,6,6,6,2,6,
+  6,6,6,6,6,6,6,6, 2,2,6,6,6,6,6,36, 6,6,6,2,6,6,6,6, 6,6,6,2,6,6,6,6,
+  10,6,2,6,6,6,2,6, 6,6,6,6,6,6,6,6, 2,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  6,2,2,2,2,6,2,2, 2,2,2,2,2,2,6,2, 6,6,6,6,6,6,6,6, 6,6,6,6,6,22,22,37,
+  // 92xx
+  56,39,39,37,39,39,37,39, 39,2,2,39,39,2,39,39, 37,39,37,39,37,37,39,37, 37,39,39,39,37,39,37,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,11,2,2,2, 39,2,2,2,2,2,2,2, 2,2,2,11,2,2,2,2,
+  6,11,6,6,6,6,2,2, 11,6,6,6,2,6,6,6, 6,6,2,6,6,6,2,6, 2,6,6,6,2,6,6,6,
+  6,11,6,6,11,11,6,6, 11,6,6,6,6,6,6,11, 6,6,6,11,11,6,6,6, 6,11,6,6,6,6,6,37,
+  36,6,36,6,2,6,6,6, 2,6,6,6,2,6,36,2, 36,6,2,6,2,2,2,2, 6,2,6,36,36,6,2,2,
+  6,6,2,6,6,6,6,6, 2,6,6,2,6,2,6,2, 2,2,6,2,6,6,6,6, 6,6,6,2,6,2,6,6,
+  6,6,6,6,6,6,2,6, 6,6,6,6,6,6,6,6, 6,2,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  6,6,6,2,2,2,2,2, 6,2,6,6,2,6,11,2, 6,6,6,6,6,6,6,6, 6,6,6,6,6,22,10,10,
+  // 93xx
+  56,39,39,39,37,39,39,39, 39,2,2,39,39,2,39,39, 39,39,39,39,39,39,39,37, 37,39,39,39,39,39,37,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,11,11,11,11,6,11,6, 11,6,6,6,11,11,6,6, 11,11,11,6,6,11,6,6, 6,6,6,2,6,6,6,6,
+  6,6,2,6,6,11,6,11, 6,2,11,6,6,2,2,6, 11,6,6,6,11,2,11,6, 6,6,6,6,6,6,6,37,
+  6,2,6,6,2,2,36,6, 2,2,6,6,6,2,2,6, 6,36,6,2,6,6,6,36, 36,6,6,6,2,6,6,6,
+  2,2,6,2,2,2,2,6, 2,6,6,6,6,6,6,6, 6,6,2,5,6,6,6,2, 2,6,2,6,2,6,6,6,
+  10,6,6,59,6,6,6,6, 6,12,6,6,10,6,2,6, 6,2,6,10,6,6,6,2, 6,2,6,6,6,6,6,6,
+  6,2,2,2,2,2,2,2, 2,2,2,2,6,6,6,2, 6,6,6,6,19,6,6,6, 6,6,6,6,6,10,19,37,
+  // 94xx
+  56,39,39,39,39,39,39,39, 39,2,2,11,39,2,39,39, 39,39,39,39,39,39,39,37, 37,39,39,39,37,39,39,39,
+  2,2,2,11,2,2,2,2, 2,2,2,2,11,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,11,2,
+  6,6,2,6,6,6,6,6, 2,2,6,6,6,6,6,6, 2,2,6,6,6,2,6,2, 6,6,6,6,6,6,2,6,
+  6,2,2,6,6,6,2,6, 6,2,6,2,2,2,6,6, 6,6,6,6,6,2,6,6, 6,6,6,6,6,6,6,39,
+  2,2,2,6,6,2,2,2, 2,2,2,2,2,6,6,6, 2,6,6,6,2,6,6,6, 2,2,6,6,2,2,6,2,
+  6,2,2,2,2,36,6,6, 2,2,6,6,2,6,2,2, 2,2,6,2,2,2,2,2, 2,2,2,2,6,6,2,2,
+  6,6,6,2,6,6,6,6, 6,6,6,6,6,6,2,6, 2,6,6,6,6,6,6,2, 6,2,6,6,6,6,6,6,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,22,37,37,
+  // 95xx
+  56,39,39,39,39,37,39,39, 37,11,2,39,39,11,39,39, 37,39,39,39,39,39,39,39, 39,37,39,39,39,39,39,39,
+  11,2,2,39,11,2,11,2, 2,2,2,2,2,2,11,2, 2,2,2,2,2,2,2,2, 2,2,11,2,2,2,2,2,
+  6,2,2,6,6,6,6,6, 6,6,2,6,11,6,11,6, 6,6,6,6,11,6,11,6, 6,6,6,6,6,6,6,6,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,37,
+  2,6,6,6,2,2,2,2, 2,6,2,6,2,6,6,2, 6,6,6,2,6,6,2,6, 2,2,6,6,2,6,6,6,
+  6,6,2,2,2,6,2,6, 6,2,6,2,2,2,2,2, 2,6,6,6,2,6,6,6, 2,6,6,6,2,6,6,2,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,39,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  2,2,6,2,2,2,2,2, 2,2,6,2,2,2,6,2, 6,6,6,6,6,6,6,6, 6,6,6,6,6,37,19,37,
+  // 96xx
+  57,39,39,39,39,37,39,39, 39,2,2,39,39,11,39,39, 37,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,
+  11,2,2,2,11,11,2,2, 2,2,2,2,2,2,2,2, 11,11,11,2,11,2,11,11, 11,11,2,2,2,2,11,2,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,2,6, 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,11,6,6, 6,6,6,11,11,6,6,6, 6,6,6,6,6,6,6,39,
+  2,6,6,6,2,6,2,2, 6,2,2,2,6,6,2,2, 2,2,2,2,6,6,6,2, 6,2,2,6,6,6,6,6,
+  2,6,6,6,2,2,2,6, 6,2,2,2,2,2,2,6, 2,6,2,6,2,2,2,2, 2,2,6,2,6,2,6,6,
+  6,6,6,6,6,6,6,11, 6,6,6,6,6,6,6,6, 2,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  2,2,6,2,2,2,2,2, 2,2,2,6,6,6,6,2, 6,6,6,6,6,6,6,6, 6,6,17,6,6,39,37,37,
+  // 97xx
+  56,39,39,39,39,39,39,37, 39,2,2,39,39,2,39,39, 39,39,39,39,39,39,39,39, 39,39,39,39,37,39,37,39,
+  2,2,2,11,11,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,11,2,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 6,2,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  6,6,11,6,6,6,6,6, 6,2,6,6,6,6,6,11, 6,6,6,11,6,6,6,6, 6,6,6,6,2,6,6,39,
+  36,6,6,6,2,2,2,2, 6,2,6,2,2,6,6,2, 2,6,6,6,2,2,6,6, 6,6,6,2,2,6,6,6,
+  2,2,6,6,6,2,6,6, 2,2,6,6,6,2,2,6, 2,6,6,6,2,6,2,6, 2,6,2,2,6,2,6,6,
+  6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, 2,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,
+  2,6,6,2,2,2,2,2, 2,2,6,6,6,6,6,2, 6,6,6,6,6,6,6,6, 6,6,6,6,6,39,39,37,
+  // 98xx
+  57,37,37,37,39,37,37,39, 37,2,2,39,39,2,39,39, 37,37,37,37,39,39,39,39, 37,39,39,39,39,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,6,6,6,2,2,6,2, 6,6,6,2,6,2,6,6, 2,6,6,2,2,6,6,2, 6,6,6,6,6,2,6,6,
+  6,6,6,2,2,6,6,6, 6,2,6,2,6,2,2,2, 6,6,6,2,2,2,2,2, 2,2,2,2,2,2,2,39,
+  2,2,2,2,2,2,2,2, 2,2,36,2,2,2,2,2, 2,2,36,2,2,2,2,2, 2,5,2,2,2,11,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,5,2,2,
+  11,39,2,2,2,6,39,11, 6,11,11,19,6,39,2,11, 2,11,6,11,11,39,6,2, 2,2,2,2,11,11,5,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,5,2, 6,6,37,6,6,4,39,6, 6,5,6,39,6,37,37,37,
+  // 99xx
+  56,39,39,37,39,37,39,39, 39,2,2,39,39,2,39,39, 37,39,39,37,39,39,39,39, 37,37,39,39,39,39,37,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,6,2,2,2,11,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,6,6,2,2,2,37,
+  2,2,2,2,2,2,2,2, 2,2,6,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,37,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,5,2,2,2,2,2, 2,2,2,2,2,2,2,5,
+  6,6,2,2,2,2,2,11, 6,6,6,2,6,6,2,2, 2,2,6,6,6,6,6,2, 2,2,19,2,11,6,11,6,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,5,2, 6,36,6,6,6,6,6,6, 6,6,6,6,6,39,4,37,
+  // 9Axx
+  56,39,39,39,39,39,39,39, 39,2,2,39,39,2,37,39, 39,39,37,37,39,39,39,39, 39,37,39,37,39,39,37,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,12,2,2,2,12,2,2, 2,12,2,12,12,2,12,12, 12,6,2,2,12,12,12,2, 2,2,2,2,2,2,2,37,
+  2,2,2,5,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,6,2,2,2,2,2, 2,2,12,2,2,12,6,36,
+  6,6,2,2,2,5,2,2, 2,2,2,2,6,6,2,5, 2,2,5,5,2,2,2,2, 2,2,2,2,2,2,2,2,
+  5,6,59,2,2,2,6,12, 6,2,6,2,4,6,2,2, 2,2,6,6,37,39,6,2, 37,2,6,6,6,19,6,6,
+  2,2,2,2,2,2,2,2, 2,2,2,5,2,12,6,2, 36,6,12,10,12,6,6,6, 6,12,6,6,12,12,39,37,
+  // 9Bxx
+  56,39,39,39,39,39,37,39, 39,2,2,39,39,2,39,39, 39,39,39,37,39,39,39,39, 39,39,39,39,39,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,6,2,2,2,2,2,2, 2,2,39,2,2,2,2,2, 5,2,6,2,2,2,2,2,
+  2,2,2,2,2,2,2,6, 2,2,6,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,6,6,2,2,2,37,
+  2,2,36,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,6,2,36,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,5,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,6,2,2,6,2,6,2, 4,6,6,2,2,12,2,2, 2,2,6,6,6,39,2,2, 2,2,6,6,6,6,6,6,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,6,2, 6,6,6,6,6,6,6,11, 4,6,6,6,11,11,22,37,
+  // 9Cxx
+  56,39,39,11,37,37,39,39, 39,2,2,39,39,2,39,39, 37,37,39,37,39,37,39,39, 39,39,39,39,39,39,39,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,6,2,2,2,
+  2,2,2,12,2,2,2,2, 2,2,2,2,12,2,2,2, 2,2,12,2,2,11,2,12, 2,2,2,2,2,2,2,37,
+  2,2,2,2,2,36,2,2, 2,2,2,2,2,2,2,2, 2,36,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,4,2,2,2,2,6,2, 6,6,19,2,6,4,2,2, 2,2,2,2,6,2,2,2, 2,2,2,6,6,6,6,6,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 6,12,6,10,37,4,6,6, 6,6,6,6,11,4,19,37,
+  // 9Dxx
+  56,39,12,4,37,39,37,39, 37,2,2,39,39,2,39,39, 37,39,37,39,37,37,39,37, 37,37,37,39,37,37,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,6, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 6,2,2,2,2,2,2,2,
+  2,12,2,2,2,2,6,2, 2,2,2,2,2,2,2,12, 2,2,2,2,12,12,2,2, 2,2,2,2,6,2,2,37,
+  2,2,2,2,2,5,2,2, 2,2,2,36,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,5, 2,2,2,36,2,2,2,2, 2,2,5,2,2,2,2,2, 2,2,6,2,2,2,2,2,
+  5,6,2,2,2,2,11,11, 11,6,11,2,11,11,11,11, 2,11,11,11,11,11,4,6, 2,2,11,6,6,11,11,11,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,19,2, 6,19,6,6,6,6,6,19, 6,6,12,10,4,19,11,37,
+  // 9Exx
+  56,39,39,39,37,39,39,39, 39,2,2,39,39,2,39,39, 39,39,39,39,39,39,39,39, 39,39,39,39,39,39,37,37,
+  12,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,12,12,2,12,12,2,2, 2,12,2,12,2,2,12,12, 2,2,2,12,2,12,2,2, 2,2,2,2,2,2,2,37,
+  2,2,2,2,2,2,6,2, 2,2,6,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,11,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,5,6,2,2,2,2,2, 2,6,2,2,2,6,2,2,
+  6,12,59,2,6,2,2,2, 6,6,6,6,2,5,2,6, 2,2,6,11,6,6,6,2, 11,6,6,2,6,19,37,6,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,12,5,2, 12,4,12,10,6,19,39,6, 6,12,12,6,6,12,11,37,
+  // 9Fxx
+  56,39,39,39,4,39,39,39, 39,2,2,39,39,2,37,39, 39,39,39,37,39,37,39,39, 37,39,39,39,39,39,39,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,6,6, 2,2,2,2,6,2,2,2, 2,2,2,2,2,2,2,2,
+  2,33,2,31,12,33,2,31, 31,2,2,33,33,2,2,2, 33,6,31,2,33,33,2,12, 2,2,2,6,2,2,2,37,
+  2,2,36,2,2,36,6,36, 2,2,36,2,36,36,2,2, 2,2,2,2,2,6,36,2, 2,36,2,2,2,2,36,2,
+  2,33,2,2,2,2,2,2, 6,2,36,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  6,4,2,2,6,2,6,6, 6,6,6,2,6,6,2,2, 2,2,1,6,6,6,4,2, 2,2,6,6,4,6,6,6,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 6,12,6,6,19,6,6,6, 6,6,6,6,6,19,4,37,
+  // A0xx
+  7,11,37,11,37,1,37,1, 1,11,11,37,1,11,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  11,2,2,11,11,11,2,2, 11,2,2,11,2,11,2,2, 11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,2,
+  2,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,2,2,2,
+  2,11,11,11,11,11,11,11, 11,11,11,11,33,11,33,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,2,2,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,11,2,2,12,2,
+  11,2,36,36,2,2,36,36, 2,36,2,36,36,2,36,2, 2,2,2,5,2,2,2,2, 2,2,2,2,2,2,2,12,
+  10,10,2,2,10,11,10,11, 11,1,10,14,10,10,10,10, 2,11,11,11,11,11,1,2, 2,2,11,11,1,10,11,11,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,36,2, 10,10,10,10,10,10,10,10, 12,17,1,10,11,33,1,10,
+  // A1xx
+  7,37,37,1,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,3,37,37,37,37,
+  11,2,2,2,2,2,11,2, 2,2,2,2,2,2,14,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,14,2,
+  8,8,8,8,9,8,8,8, 8,8,8,8,8,8,8,8, 8,8,8,9,9,8,8,8, 8,1,9,2,8,8,8,2,
+  8,8,33,2,33,8,8,1, 33,8,8,33,33,8,8,2, 2,8,8,33,2,8,8,8, 8,8,8,39,2,8,2,37,
+  2,2,2,2,2,2,2,2, 2,2,2,39,2,2,2,2, 2,2,2,2,2,2,6,2, 2,2,2,2,2,2,2,33,
+  2,3,3,3,3,7,7,7, 2,7,7,3,2,3,3,3, 3,3,7,8,8,2,3,3, 8,7,3,3,7,7,3,3,
+  3,7,7,7,7,14,9,14, 7,7,7,7,7,14,7,7, 8,14,14,14,14,14,7,7, 7,7,7,7,7,7,5,7,
+  2,5,5,2,2,2,2,2, 2,2,2,7,2,2,3,3, 3,3,3,7,3,7,7,7, 3,7,7,7,7,7,7,37,
+  // A2xx
+  7,37,37,1,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,8,2,2,8,2,2,8, 8,8,8,2,2,2,2,2, 2,2,2,2,2,2,2,2, 8,2,2,2,2,2,2,2,
+  2,2,8,8,33,8,8,2, 8,8,2,8,2,2,2,2, 8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,37,
+  2,2,6,2,2,2,2,2, 2,6,2,2,2,2,2,6, 6,2,2,2,6,6,2,2, 2,2,2,2,2,2,2,2,
+  36,7,7,7,7,7,7,7, 7,7,7,2,7,7,36,8, 2,8,8,8,8,8,8,14, 5,5,5,14,2,5,5,5,
+  5,5,5,5,5,14,5,14, 5,5,14,23,5,14,5,5, 8,5,14,8,8,14,14,8, 14,3,3,3,3,5,8,5,
+  2,2,2,2,2,2,2,2, 2,2,8,36,8,8,8,2, 8,3,3,3,8,8,7,8, 8,3,8,8,8,8,8,37,
+  // A3xx
+  7,37,37,39,37,37,37,37, 37,2,2,37,4,2,9,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  2,2,2,2,11,11,2,2, 2,2,2,2,2,2,2,2, 11,11,11,11,11,11,11,11, 11,11,2,2,2,2,2,2,
+  36,12,12,12,12,12,2,12, 2,2,2,12,2,12,12,12, 12,2,2,12,12,12,11,12, 8,12,12,2,8,2,11,2,
+  8,12,2,2,33,12,2,8, 11,2,8,12,2,2,2,2, 2,11,2,8,2,12,8,2, 8,2,8,8,8,8,8,37,
+  2,2,2,6,2,2,2,2, 3,2,2,2,2,2,2,2, 2,2,2,2,3,2,5,2, 2,2,2,2,2,2,2,2,
+  3,3,3,3,3,3,3,3, 3,3,3,2,3,3,3,3, 3,3,3,3,3,3,3,3, 3,3,3,3,2,2,2,3,
+  10,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, 3,3,3,3,5,3,3,3,
+  2,2,2,2,2,2,2,2, 2,2,2,3,3,3,3,2, 3,3,3,12,3,3,3,3, 3,3,3,3,3,3,3,37,
+  // A4xx
+  7,37,37,11,1,37,11,39, 11,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,7,37,37,37,37,37,
+  2,2,2,11,2,11,2,2, 2,2,11,2,2,2,2,2, 37,2,11,2,2,2,2,17, 2,17,2,2,2,2,2,2,
+  8,8,8,8,8,8,8,8, 8,2,8,8,8,8,2,8, 2,8,8,8,8,8,8,8, 8,8,8,8,8,8,2,8,
+  8,8,8,11,8,11,8,8, 8,8,8,8,8,2,2,8, 8,8,8,8,8,8,8,8, 8,8,8,2,2,8,8,39,
+  2,2,2,2,2,2,2,2, 2,2,2,6,2,2,2,2, 2,2,2,6,6,2,2,2, 2,2,2,2,2,2,2,2,
+  36,3,3,8,3,36,3,2, 3,2,3,3,3,3,3,3, 3,3,3,3,3,3,8,3, 3,3,8,3,3,3,2,3,
+  3,3,14,3,3,14,3,3, 3,3,3,3,3,3,3,3, 3,8,3,3,14,3,8,3, 3,3,8,3,3,3,3,3,
+  3,3,3,2,3,8,2,2, 3,3,3,3,3,3,8,3, 8,8,3,3,8,8,8,8, 11,8,8,8,8,5,8,1,
+  // A5xx
+  7,6,37,39,37,37,6,37, 1,2,2,37,1,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  2,2,2,2,2,2,2,11, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,9,8,12,8,2,8,8, 8,8,8,8,8,2,8,8, 8,2,8,8,12,8,8,2, 8,8,8,8,8,8,8,8,
+  8,8,8,2,8,8,8,2, 8,8,8,8,8,2,2,2, 2,8,2,8,2,8,8,2, 8,2,8,8,8,8,8,37,
+  2,2,2,6,2,2,2,2, 2,2,2,2,2,2,6,2, 2,2,6,6,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,3,3,3,3,6,3,3, 3,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, 3,3,3,8,2,2,3,3,
+  3,3,2,3,3,8,3,3, 3,3,3,3,3,8,8,3, 3,3,3,3,3,3,3,3, 8,3,3,3,3,3,3,3,
+  3,3,3,2,2,2,2,2, 2,3,3,3,3,3,8,3, 8,8,8,3,8,8,3,8, 8,8,8,8,8,8,8,37,
+  // A6xx
+  7,37,37,39,37,37,37,1, 12,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,6,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,8,8,9,8,33,2,2, 8,33,8,9,9,9,9,8, 8,8,9,8,8,8,8,8, 8,8,8,2,2,8,8,8,
+  8,8,8,9,2,2,2,2, 8,8,8,8,9,9,8,8, 8,2,8,8,8,8,8,8, 8,8,8,8,8,8,8,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  36,8,5,8,2,36,5,2, 8,8,2,8,2,8,2,2, 2,8,2,8,2,8,8,8, 8,8,8,2,2,2,2,8,
+  8,3,3,8,8,3,9,8, 8,14,8,8,8,3,2,8, 8,8,8,8,3,8,33,8, 3,8,8,8,8,8,8,8,
+  2,2,8,2,2,2,8,2, 2,2,8,8,8,8,8,2, 3,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,37,
+  // A7xx
+  7,1,1,37,37,37,37,37, 37,14,2,14,37,14,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  2,2,2,2,11,2,2,14, 2,2,11,2,2,2,2,2, 11,11,11,11,11,11,11,11, 11,11,2,2,2,2,11,2,
+  8,8,8,8,8,8,2,8, 8,8,8,8,8,8,8,8, 8,8,8,2,8,8,8,2, 8,8,8,11,2,11,8,8,
+  8,2,8,8,8,8,8,8, 8,8,8,8,8,2,2,8, 8,8,8,8,8,2,8,8, 8,2,2,8,8,8,2,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,5, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  36,14,14,2,14,3,2,11, 8,8,14,2,2,36,8,2, 2,2,8,5,14,14,14,14, 2,8,8,2,14,8,14,2,
+  8,14,14,14,14,14,8,8, 14,8,14,14,8,14,8,8, 8,8,14,8,14,3,8,14, 2,2,8,2,8,8,8,8,
+  2,14,8,2,2,2,2,2, 2,2,2,8,8,8,3,2, 8,3,8,8,8,8,8,8, 8,8,8,8,8,8,8,37,
+  // A8xx
+  7,11,1,39,1,37,37,37, 4,2,2,14,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  2,2,2,2,2,2,2,2, 2,2,11,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,2,8,8,8,2,8,2, 8,8,2,8,8,8,8,3, 2,2,8,8,8,8,2,2, 2,2,8,2,2,2,8,2,
+  11,8,8,8,8,8,8,8, 2,2,8,8,8,8,8,8, 8,8,3,8,8,8,8,3, 8,8,8,8,8,8,8,37,
+  2,2,2,2,2,2,2,2, 2,5,2,2,2,2,2,3, 3,3,3,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,7,8,8,8,7,7, 14,8,2,8,7,8,8,8, 11,2,7,2,2,8,2,14, 2,2,8,2,2,8,8,2,
+  8,14,2,8,8,8,8,8, 8,8,8,14,8,14,8,8, 14,8,14,8,14,5,8,8, 14,2,8,5,5,6,5,8,
+  2,2,8,2,2,2,2,2, 2,2,2,2,8,2,8,2, 5,5,8,8,8,8,5,8, 8,5,8,8,8,8,8,37,
+  // A9xx
+  7,1,37,39,37,37,39,37, 37,2,2,37,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  11,2,2,2,11,2,11,2, 2,2,2,11,2,2,2,2, 37,11,11,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,9,8,8,9,9,11,8, 8,8,8,9,9,8,9,8, 8,8,8,8,8,8,9,8, 2,8,8,8,2,8,8,8,
+  8,2,8,2,8,8,8,8, 8,8,8,9,8,8,2,3, 8,2,2,8,2,8,8,8, 8,8,8,8,8,8,8,39,
+  2,3,6,3,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,6,2,2,3,2, 2,2,2,2,2,2,2,2,
+  2,8,2,8,3,3,3,3, 8,2,3,8,2,3,3,8, 2,8,8,8,2,8,2,2, 3,8,2,2,8,3,8,2,
+  3,3,2,2,3,14,8,8, 8,8,8,2,3,9,8,3, 8,14,8,8,8,14,8,2, 2,2,8,8,8,8,8,8,
+  2,2,8,2,2,2,2,2, 2,2,2,2,2,2,8,2, 8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,37,
+  // AAxx
+  7,37,37,37,37,1,37,37, 4,2,2,1,37,2,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,8,8,8,8,8,8,8, 2,12,2,8,8,8,2,8, 8,8,8,2,12,2,2,2, 2,8,8,8,2,2,8,8,
+  8,8,2,8,8,8,8,8, 8,8,8,8,8,8,8,8, 8,8,8,2,2,8,8,8, 8,8,8,8,2,2,2,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,5,2,2,2,2,2,2,
+  36,14,8,8,2,3,8,8, 2,8,2,8,8,2,36,8, 2,8,2,5,8,5,2,5, 14,14,8,2,8,8,8,2,
+  8,14,14,14,10,8,5,14, 8,1,5,5,8,14,8,8, 14,8,14,8,14,14,8,14, 14,2,8,2,8,8,8,5,
+  2,8,2,2,2,2,2,2, 2,2,8,5,8,8,8,2, 8,8,8,5,8,10,8,8, 8,8,8,8,8,8,8,37,
+  // ABxx
+  7,1,1,37,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,6,37,37,37, 37,37,37,37,37,37,37,37,
+  2,2,2,2,2,2,11,2, 2,2,2,2,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,11,8,8,8,11,8,8, 8,8,8,8,8,11,8,8, 8,8,2,11,8,8,11,8, 8,8,2,2,8,2,8,8,
+  8,8,8,11,8,8,11,8, 8,8,8,8,8,2,8,8, 8,8,8,8,8,2,8,8, 8,8,8,8,8,8,8,37,
+  2,2,2,2,2,2,5,2, 2,2,2,2,2,2,39,2, 5,2,2,2,2,11,2,2, 2,2,5,2,2,5,2,2,
+  2,8,8,8,5,2,2,8, 36,2,2,8,8,2,36,2, 8,8,3,8,8,8,2,5, 2,2,8,2,8,8,2,2,
+  8,8,8,8,8,8,5,8, 8,8,8,8,8,14,8,11, 14,8,8,8,14,14,14,8, 8,14,11,8,8,8,11,8,
+  2,8,2,2,2,2,2,2, 2,2,2,2,36,8,36,2, 20,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,37,
+  // ACxx
+  7,37,37,39,37,39,39,37, 37,2,2,37,39,2,37,39, 37,37,37,37,37,39,37,37, 39,37,37,39,37,37,37,37,
+  2,2,2,11,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,8,8,9,8,33,8,8, 2,8,8,8,9,8,9,8, 8,8,9,2,2,8,8,9, 8,8,8,8,8,2,2,8,
+  8,8,2,8,8,33,8,11, 8,2,2,2,2,8,8,8, 8,8,8,8,8,8,8,8, 8,8,8,2,8,8,8,37,
+  2,6,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,6,5,2,2,2,2, 2,2,2,2,2,2,2,2,
+  36,8,2,8,2,36,2,2, 36,6,8,36,2,36,36,8, 8,2,2,8,2,8,8,3, 2,8,2,2,2,8,2,3,
+  8,8,59,8,8,59,8,3, 8,8,3,59,8,8,3,2, 8,5,8,8,8,8,8,8, 2,8,5,8,8,8,8,8,
+  2,2,59,2,2,2,2,2, 2,2,2,2,2,2,8,2, 8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,37,
+  // ADxx
+  7,39,37,37,39,39,37,39, 39,2,2,37,39,2,37,39, 39,37,39,39,39,39,39,37, 39,39,37,39,39,39,37,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,8,2,8,8,2,8,8, 2,8,8,2,8,8,2,2, 8,2,2,8,8,8,8,8, 8,8,8,8,2,8,8,2,
+  8,2,8,2,11,8,8,11, 8,2,11,11,8,8,8,11, 8,8,11,8,2,8,11,8, 8,2,8,8,2,8,2,37,
+  2,2,2,2,2,2,2,2, 2,2,39,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,5,2,
+  36,2,2,2,2,2,2,8, 36,2,14,8,2,8,36,2, 2,8,8,2,2,8,8,8, 2,8,8,8,8,2,2,8,
+  8,14,8,14,8,8,8,8, 8,8,8,8,8,8,2,2, 7,8,14,8,8,14,7,8, 2,8,8,8,8,8,8,8,
+  2,8,2,2,2,2,2,2, 2,2,2,2,8,2,36,2, 8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,37,
+  // AExx
+  7,39,1,39,39,39,37,37, 37,2,2,37,39,2,37,39, 39,39,39,39,39,39,37,37, 39,39,37,39,39,39,37,37,
+  2,2,2,2,2,2,2,2, 2,2,2,5,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,9,8,2,2,9,2,2, 8,9,8,9,8,8,9,9, 2,8,2,8,8,2,8,2, 2,2,8,2,2,8,2,8,
+  8,8,8,8,8,8,2,8, 8,8,2,8,8,8,2,8, 8,8,8,2,8,8,8,8, 8,8,8,8,8,8,11,37,
+  2,2,6,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,36,8,8, 2,2,2,2,36,2,2,2, 2,2,2,2,2,2,2,8, 2,2,2,8,8,2,2,2,
+  8,8,8,14,8,6,8,8, 8,8,8,14,8,9,2,2, 8,8,8,8,8,8,8,8, 8,2,8,8,8,6,8,8,
+  2,36,36,2,2,2,2,2, 2,2,2,2,2,8,8,2, 8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,37,
+  // AFxx
+  7,9,1,1,39,39,39,37, 37,2,2,37,39,2,37,37, 37,37,37,37,37,39,37,37, 39,39,37,37,39,37,37,37,
+  2,2,2,2,2,2,2,2, 2,11,2,2,2,2,2,2, 39,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,12,8,2,12,12,8,2, 2,8,2,12,12,8,12,12, 8,8,8,8,8,2,2,2, 2,12,8,8,2,8,2,2,
+  11,2,8,2,8,8,8,8, 2,2,2,8,8,2,2,12, 2,8,2,2,2,8,8,8, 8,12,8,8,2,8,2,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  36,9,2,6,2,2,2,2, 2,2,8,8,8,2,36,2, 11,2,8,8,2,8,2,2, 8,2,8,2,2,8,2,2,
+  8,8,8,8,6,8,8,8, 8,8,8,6,6,10,8,8, 8,8,8,8,14,10,1,8, 2,2,2,2,8,8,8,8,
+  8,2,2,2,2,2,2,2, 2,2,2,8,2,2,8,2, 8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,37,
+  // B0xx
+  7,39,37,37,39,4,37,37, 39,11,2,37,37,2,37,37, 39,39,37,37,39,39,37,37, 39,39,37,39,39,39,37,37,
+  2,2,2,2,11,2,2,2, 2,2,11,2,2,2,2,2, 11,11,11,11,11,11,11,11, 11,11,2,2,2,2,2,2,
+  8,8,2,11,8,11,11,2, 2,8,8,8,2,2,2,8, 2,8,2,2,8,8,8,2, 2,2,8,2,8,8,8,8,
+  11,8,2,2,8,8,8,8, 8,2,8,8,8,11,2,11, 8,8,2,8,8,8,8,8, 8,8,2,8,8,8,11,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  11,5,5,5,2,5,7,2, 5,5,8,8,3,5,3,2, 5,2,3,5,3,8,5,8, 3,5,3,8,8,2,2,2,
+  6,3,7,2,3,5,7,5, 8,3,8,5,7,5,3,8, 2,3,14,8,5,7,3,3, 3,3,5,7,5,5,7,5,
+  2,5,8,2,2,2,5,2, 5,2,8,2,3,5,5,3, 5,5,8,8,3,8,8,5, 5,3,5,7,5,5,3,37,
+  // B1xx
+  7,11,11,39,39,37,39,37, 37,2,2,37,37,9,39,39, 37,39,37,37,39,39,37,37, 37,39,37,37,39,39,37,37,
+  9,9,2,2,37,2,2,2, 2,2,2,5,9,2,9,2, 2,2,2,2,2,2,2,2, 2,2,9,9,2,2,2,9,
+  8,2,8,8,2,8,8,8, 8,8,8,8,8,8,8,8, 2,2,11,2,8,8,8,8, 8,8,8,8,2,2,8,8,
+  8,8,8,9,9,8,8,9, 8,8,8,9,8,8,2,8, 9,8,8,9,9,2,8,8, 8,8,8,8,2,8,2,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,5,2, 2,2,2,2,2,2,2,2,
+  2,8,7,3,5,3,3,3, 3,3,2,7,3,3,3,3, 2,3,3,5,3,8,3,8, 5,5,5,3,5,2,3,7,
+  8,5,8,5,7,5,8,5, 3,7,3,3,3,5,3,3, 8,7,3,8,5,3,5,5, 3,5,8,5,3,5,5,7,
+  3,8,5,2,3,2,2,2, 5,2,3,2,2,3,5,2, 3,8,5,7,5,3,3,7, 8,3,5,7,7,8,7,37,
+  // B2xx
+  7,39,37,39,37,37,39,1, 37,2,2,39,37,2,39,39, 39,39,37,37,39,39,37,39, 39,39,37,37,39,39,37,39,
+  2,2,2,2,2,39,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,2,8,2,8,8,2,8, 8,2,8,8,8,8,8,8, 8,8,8,2,2,8,8,8, 8,8,8,8,8,8,8,8,
+  8,8,8,2,8,2,2,8, 2,8,8,8,8,8,8,8, 8,8,8,2,3,2,8,8, 8,8,8,8,2,39,8,37,
+  2,2,2,2,2,2,5,5, 2,2,5,2,2,2,5,5, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,3,3,8,8,3,7,8, 3,3,3,7,7,7,3,7, 7,8,5,8,2,3,3,2, 2,3,3,3,3,3,2,3,
+  5,7,3,7,8,3,3,7, 7,3,3,3,7,3,3,7, 7,10,3,8,7,8,7,8, 3,3,7,7,3,3,5,3,
+  2,3,3,2,2,2,2,2, 7,3,7,5,3,10,3,2, 7,7,7,7,5,7,5,7, 8,7,3,5,8,3,7,37,
+  // B3xx
+  7,39,1,39,39,37,37,37, 39,12,2,37,39,2,37,39, 39,39,37,37,39,39,39,37, 39,39,37,39,39,39,37,37,
+  12,12,2,2,11,39,2,2, 2,2,2,2,12,2,12,12, 37,2,2,2,2,2,2,2, 2,2,12,12,2,2,2,12,
+  8,2,8,8,8,2,2,2, 2,2,8,2,2,2,8,12, 2,8,2,8,8,8,8,8, 8,8,8,2,8,8,8,2,
+  2,12,12,12,8,12,8,8, 8,2,8,12,2,12,8,8, 8,8,8,8,8,12,8,8, 8,12,8,8,2,8,8,37,
+  2,2,6,2,2,2,2,2, 2,2,2,2,2,2,2,6, 2,2,2,2,2,2,2,2, 5,2,2,2,2,2,2,2,
+  2,3,2,3,3,3,7,3, 2,3,5,7,3,5,8,5, 7,9,5,5,2,3,2,3, 2,8,8,5,2,8,3,3,
+  7,3,3,5,5,3,3,3, 7,3,5,3,3,7,7,3, 3,5,8,7,3,8,3,5, 7,3,7,7,8,5,3,8,
+  5,8,5,2,2,2,2,2, 2,2,3,5,5,5,5,2, 5,10,8,5,7,8,3,3, 8,8,5,3,8,3,3,10,
+  // B4xx
+  7,39,1,39,39,37,37,4, 39,14,2,14,39,2,37,39, 37,39,37,37,39,39,37,37, 37,39,37,39,37,39,39,37,
+  2,2,2,11,11,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,11,8,8,8,11,2,2, 8,8,8,8,8,8,8,8, 8,8,11,11,8,8,8,2, 8,8,8,8,2,2,8,8,
+  8,11,8,8,8,11,8,8, 11,11,8,8,2,11,11,8, 11,8,8,11,11,11,11,8, 8,8,8,2,2,8,2,37,
+  2,2,2,6,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,3,2,8,8,3,3,14, 3,5,2,3,3,2,3,2, 2,7,3,7,3,8,7,14, 2,2,5,2,8,3,2,3,
+  5,8,5,5,7,3,7,3, 3,5,3,3,3,14,3,5, 5,7,14,3,5,14,7,5, 7,5,8,7,5,5,5,3,
+  2,14,2,2,5,2,2,5, 2,2,2,5,2,2,3,3, 3,5,3,3,7,5,5,3, 3,7,3,3,7,3,8,37,
+  // B5xx
+  7,39,37,39,39,37,37,37, 39,2,2,37,39,2,37,37, 37,39,39,37,37,37,37,37, 37,39,37,37,37,37,37,37,
+  2,2,2,2,39,2,2,2, 2,2,2,2,2,2,14,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,2,33,33,33,2,11,8, 8,8,8,33,8,8,33,8, 8,39,33,8,33,8,33,8, 8,8,33,8,8,2,8,2,
+  8,9,8,8,8,8,8,11, 8,8,8,8,8,11,8,8, 8,8,11,8,3,8,8,8, 8,8,8,8,8,8,2,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,5, 2,2,2,2,2,2,2,5,
+  2,7,7,3,7,3,8,8, 5,3,8,3,7,7,3,3, 2,3,8,3,8,5,5,2, 5,8,3,7,3,3,3,5,
+  3,3,3,3,3,5,3,5, 3,5,5,5,3,3,5,3, 3,14,7,14,14,7,3,3, 3,7,3,8,7,3,7,7,
+  2,7,5,3,3,5,2,3, 2,5,3,2,2,2,5,2, 5,5,5,8,3,3,7,3, 8,8,3,8,8,8,7,37,
+  // B6xx
+  7,1,4,39,37,37,37,37, 37,2,2,37,37,2,37,37, 37,37,37,37,39,37,37,37, 37,39,37,37,37,37,37,37,
+  9,2,2,2,11,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,9,2,2,2,9,
+  8,2,8,2,8,8,8,2, 8,2,8,8,8,2,2,8, 8,8,8,8,8,8,8,8, 8,3,8,2,2,8,8,2,
+  8,30,8,9,8,8,2,8, 8,8,2,9,9,8,9,8, 9,8,9,8,8,8,8,9, 8,2,8,8,8,8,8,37,
+  2,2,2,5,2,2,5,5, 2,2,2,2,2,5,2,2, 2,11,5,2,2,2,5,5, 2,2,2,2,2,2,2,2,
+  2,8,8,2,8,3,7,5, 3,3,3,3,3,3,8,3, 8,5,2,2,3,7,7,3, 7,3,8,5,3,3,3,7,
+  3,3,8,8,3,3,3,5, 3,7,7,3,3,3,3,3, 7,7,14,3,3,8,3,8, 7,3,7,7,8,7,6,5,
+  3,7,7,2,2,2,2,2, 2,2,8,8,7,3,3,2, 8,7,5,5,5,5,5,5, 3,3,3,3,3,8,3,37,
+  // B7xx
+  7,39,37,14,39,37,39,37, 39,11,11,37,39,2,37,39, 39,39,37,39,39,39,39,37, 39,39,37,39,39,39,37,37,
+  11,2,2,11,11,2,11,2, 2,2,11,2,2,2,11,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,11,2,
+  8,8,8,33,33,11,8,8, 8,2,8,33,8,8,8,8, 8,8,8,8,33,8,8,8, 8,8,33,2,8,2,2,2,
+  11,11,8,2,8,11,8,11, 8,8,8,8,11,8,8,8, 2,8,8,8,2,8,8,8, 8,8,8,2,8,8,8,37,
+  2,6,6,2,2,2,2,2, 2,6,2,2,2,2,2,2, 2,2,2,2,2,11,2,2, 2,2,2,5,2,2,2,2,
+  2,5,3,5,7,2,5,8, 3,5,7,5,3,3,5,5, 5,5,2,5,3,3,3,11, 2,5,3,5,2,3,3,3,
+  3,5,5,5,5,3,3,3, 7,3,7,8,3,14,5,5, 5,3,14,8,5,14,3,7, 14,14,7,3,3,3,7,3,
+  2,5,3,2,2,2,2,3, 2,2,7,7,5,8,7,7, 3,3,3,7,3,7,3,7, 3,5,7,3,5,5,3,37,
+  // B8xx
+  7,39,37,39,39,39,37,37, 37,2,2,37,37,2,37,1, 39,39,37,39,39,39,39,37, 39,37,37,37,39,39,39,37,
+  2,2,2,2,37,2,2,2, 2,2,2,2,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,8,2,8,2,6,2,8, 8,8,8,8,8,6,8,8, 2,2,8,8,8,8,8,8, 8,8,8,2,37,2,2,8,
+  8,8,2,11,8,8,8,8, 8,8,8,8,2,8,8,8, 8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,7,2,5,2,5,5,5, 8,7,2,7,2,2,5,2, 2,2,5,5,3,5,5,5, 5,8,2,5,5,3,3,5,
+  7,5,5,3,3,5,5,5, 8,3,3,8,8,7,3,3, 3,8,3,5,5,5,3,3, 14,3,3,3,8,7,5,3,
+  2,7,3,2,2,2,3,5, 3,5,8,2,2,5,7,3, 5,5,7,5,8,8,3,3, 3,3,3,8,3,7,7,37,
+  // B9xx
+  7,39,4,37,39,39,39,37, 39,14,2,14,39,14,4,37, 39,39,39,39,39,39,37,37, 39,39,37,39,39,39,39,37,
+  14,2,2,2,2,2,2,14, 2,2,2,2,2,2,14,2, 37,2,2,2,2,2,2,2, 2,2,2,2,2,2,14,2,
+  8,8,8,8,8,8,8,8, 8,2,8,8,8,8,2,8, 2,8,2,8,8,2,8,2, 8,8,2,2,8,8,2,8,
+  8,8,12,12,12,9,2,12, 8,9,8,9,9,8,9,9, 8,8,38,8,9,8,8,8, 8,8,12,8,8,8,2,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,14,8,2,3,7,3,14, 14,3,8,3,3,7,5,7, 5,3,3,2,2,14,2,14, 2,3,3,3,2,7,2,2,
+  3,7,5,14,3,3,7,3, 3,3,3,3,5,7,5,8, 5,14,14,14,7,14,7,5, 3,5,5,3,3,5,5,5,
+  7,7,3,3,2,2,5,7, 5,5,8,2,2,3,8,8, 7,7,3,3,8,7,5,5, 5,3,3,3,5,3,7,37,
+  // BAxx
+  7,39,37,39,39,39,37,37, 39,2,2,37,39,2,37,39, 39,39,37,39,39,39,39,37, 39,39,37,39,39,39,37,37,
+  1,2,2,2,2,1,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,14,2,2,2,2,2,
+  8,8,2,8,8,2,2,8, 2,8,8,8,8,8,8,8, 8,2,8,2,2,8,8,1, 8,2,8,8,2,8,8,1,
+  2,8,8,8,2,12,2,2, 8,12,8,8,2,2,8,12, 8,8,2,2,8,8,8,8, 8,8,8,8,8,8,8,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,8,3,3,2,5,2,2, 14,8,2,2,2,2,5,5, 5,3,2,2,5,3,2,2, 5,5,2,5,3,3,5,2,
+  5,3,7,3,3,3,7,7, 3,3,8,3,7,3,5,3, 5,7,5,3,14,3,8,7, 8,7,3,3,3,7,8,7,
+  7,3,8,2,2,2,2,2, 2,2,5,8,3,5,7,2, 3,5,3,3,8,3,7,7, 3,5,3,8,5,3,3,37,
+  // BBxx
+  7,39,1,39,39,37,14,39, 39,2,2,1,39,11,37,11, 39,39,37,37,39,39,39,37, 39,39,37,37,39,39,37,37,
+  11,2,2,2,2,11,11,11, 2,2,2,2,11,2,11,2, 37,2,2,11,11,2,11,11, 11,11,2,11,11,2,14,2,
+  8,8,8,2,8,8,8,8, 2,8,2,11,8,2,2,8, 8,8,8,2,8,2,11,8, 8,8,8,8,8,8,2,8,
+  8,8,2,2,11,8,11,2, 8,2,11,8,2,2,8,2, 8,8,8,8,2,8,37,8, 8,8,8,8,8,8,8,37,
+  2,2,6,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,8,3,2,3,2,3,3, 3,5,3,8,2,3,3,3, 3,7,7,7,2,3,2,3, 2,3,2,3,3,2,2,2,
+  7,14,7,14,7,7,3,5, 7,7,3,7,5,7,7,7, 7,14,7,3,7,3,3,7, 3,7,8,3,7,3,7,7,
+  7,3,8,2,2,2,2,5, 2,2,5,7,5,2,3,7, 3,3,3,5,8,5,5,3, 3,3,3,7,3,5,7,37,
+  // BCxx
+  7,39,39,39,39,39,37,37, 39,2,2,37,39,2,37,37, 39,39,39,39,37,37,37,37, 37,39,37,37,37,37,37,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,12,8,8,2,2,8,12, 8,2,8,12,8,12,12,12, 8,8,2,12,2,12,12,8, 8,8,8,8,2,2,8,2,
+  2,8,8,9,9,8,8,8, 8,8,2,9,9,9,9,8, 8,8,9,8,8,8,8,8, 8,8,8,8,2,8,8,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,7,2,7,3,5,3,2, 7,2,3,7,2,5,5,3, 3,5,3,2,3,2,3,2, 3,2,5,2,5,8,5,5,
+  3,7,7,3,3,5,3,3, 3,8,3,8,7,3,3,8, 8,3,3,3,7,5,8,3, 3,3,8,3,3,3,3,8,
+  3,3,5,2,3,2,2,2, 7,2,7,2,3,2,5,7, 7,7,3,7,3,3,5,5, 5,3,5,3,3,7,3,37,
+  // BDxx
+  7,39,37,11,37,37,37,37, 39,2,2,37,39,2,6,37, 37,39,37,37,39,39,37,37, 39,39,37,39,39,39,37,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  8,2,2,2,2,6,8,8, 8,2,2,8,8,8,2,2, 2,8,8,8,8,8,8,8, 8,8,8,2,8,8,2,8,
+  8,8,8,8,8,2,8,8, 2,2,2,8,8,8,8,8, 2,8,2,8,8,8,8,8, 2,3,2,8,8,8,8,39,
+  2,2,6,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,3,2,3,7,2,2,8, 3,2,7,3,2,3,2,2, 2,2,3,2,5,3,3,3, 7,3,5,3,5,2,7,2,
+  5,5,5,5,5,5,8,5, 5,5,5,7,3,5,5,3, 7,7,8,3,3,8,3,8, 3,3,3,3,3,3,8,8,
+  3,3,3,2,2,2,2,3, 2,3,7,2,3,2,3,2, 3,7,3,3,3,3,3,7, 3,7,3,3,3,7,3,37,
+  // BExx
+  7,39,37,14,39,1,37,37, 39,2,2,37,37,2,37,39, 37,39,39,37,37,39,37,37, 39,39,37,39,39,37,37,39,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,14,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,14,2,
+  8,8,8,2,8,8,8,8, 8,2,8,8,8,2,2,2, 8,8,8,59,8,8,2,8, 8,8,8,2,8,2,8,8,
+  8,12,9,8,8,9,2,12, 8,8,8,12,8,12,8,12, 8,8,8,12,12,12,8,8, 8,8,8,8,8,2,8,37,
+  2,2,6,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,3,3,3,2,8,7,3, 8,3,3,3,3,3,7,3, 3,3,5,3,5,3,3,2, 5,8,3,3,2,2,5,3,
+  3,14,8,3,14,3,5,8, 5,8,5,5,8,3,7,5, 7,14,5,3,8,5,3,5, 5,3,7,3,7,3,3,5,
+  5,8,2,2,2,2,2,5, 2,2,2,7,7,3,5,5, 7,3,7,5,8,3,3,5, 5,3,5,5,3,3,7,37,
+  // BFxx
+  7,11,37,37,37,12,37,1, 37,2,2,37,39,2,37,37, 37,37,37,37,39,37,37,37, 37,37,37,37,39,37,37,37,
+  12,11,2,2,2,2,2,11, 2,2,2,2,2,2,2,2, 37,2,2,2,2,2,2,2, 2,2,12,2,2,2,2,1,
+  8,8,1,1,8,8,1,2, 1,1,2,8,1,1,8,8, 1,1,1,1,1,8,1,8, 8,1,8,2,8,2,8,2,
+  8,12,12,8,12,12,8,2, 1,8,8,12,12,2,2,12, 2,8,1,12,2,2,8,12, 2,12,8,2,8,8,2,37,
+  2,2,2,2,2,2,2,2, 2,2,2,6,2,2,2,2, 2,2,2,5,2,2,2,2, 2,2,5,2,2,2,2,2,
+  2,5,5,5,8,5,7,7, 3,5,3,2,5,5,7,3, 5,5,7,8,3,5,7,7, 3,5,2,2,3,2,5,7,
+  5,5,5,5,8,3,3,7, 7,3,7,3,3,7,3,5, 5,14,3,3,5,3,3,3, 3,3,3,3,5,3,7,8,
+  2,3,3,2,5,2,2,2, 2,8,3,5,5,3,5,5, 8,3,5,3,7,5,3,3, 5,5,8,8,5,8,5,37,
+  // C0xx
+  7,39,37,1,39,39,37,1, 39,10,18,1,39,10,37,39, 39,39,37,37,39,39,39,37, 39,39,7,37,39,39,37,39,
+  10,10,10,10,1,10,10,10, 10,10,10,10,10,10,10,10, 37,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10,
+  8,8,1,1,1,8,1,1, 8,8,8,30,1,1,1,1, 1,1,8,1,1,3,8,8, 1,8,8,8,8,8,3,3,
+  8,3,8,1,8,8,8,8, 39,3,8,3,3,8,8,39, 8,8,1,8,8,8,8,8, 8,8,8,8,8,37,8,37,
+  10,6,6,6,6,39,3,3, 39,6,12,6,10,6,6,6, 6,6,6,6,6,6,6,6, 6,3,37,3,3,5,37,1,
+  10,3,3,8,7,5,8,5, 3,3,7,3,3,3,7,5, 5,5,5,8,3,7,3,14, 5,7,5,5,3,5,7,3,
+  3,10,10,10,10,10,10,5, 3,8,10,10,5,10,5,5, 10,10,10,5,5,10,5,3, 10,8,5,5,7,10,10,7,
+  3,5,10,7,3,5,3,5, 7,7,10,3,7,3,3,3, 10,3,8,10,8,7,3,3, 3,8,5,5,5,3,7,10,
+  // C1xx
+  7,39,1,39,39,39,37,37, 39,14,18,37,39,11,37,39, 39,39,37,39,39,39,37,39, 39,39,39,39,37,37,37,37,
+  11,18,14,14,37,11,18,14, 14,11,11,14,18,18,14,11, 37,20,11,14,14,14,14,11, 37,14,11,18,11,10,18,18,
+  8,8,1,1,1,1,1,1, 1,1,1,1,1,1,1,8, 1,1,1,1,1,1,1,8, 1,8,1,14,8,11,8,8,
+  8,8,1,8,16,16,1,1, 1,10,8,1,1,16,8,8, 8,8,1,16,1,8,16,8, 8,8,1,8,8,8,8,37,
+  39,6,6,4,39,11,3,6, 3,39,12,39,37,12,12,6, 37,6,6,6,39,3,6,6, 37,3,3,3,4,11,12,1,
+  14,5,3,3,5,3,5,3, 5,5,3,3,3,3,5,5, 7,7,10,7,3,3,5,5, 5,5,3,5,3,3,5,3,
+  10,5,5,14,3,10,3,7, 10,11,8,3,18,20,10,3, 3,14,14,10,18,14,5,14, 5,3,3,10,3,5,3,5,
+  10,7,3,3,8,3,3,8, 14,3,7,10,3,3,5,5, 5,5,5,10,3,5,5,3, 5,3,5,10,7,5,5,10,
+  // C2xx
+  7,39,37,37,39,39,39,37, 39,14,14,1,39,14,37,1, 39,37,39,39,39,39,39,37, 37,37,37,39,37,39,37,39,
+  10,14,14,14,39,10,14,14, 14,14,14,10,14,10,10,14, 37,10,10,14,14,10,10,10, 39,14,14,10,14,10,14,14,
+  8,8,1,16,16,8,8,1, 8,8,16,16,16,1,1,8, 16,8,16,16,1,1,16,8, 8,1,8,8,8,14,8,8,
+  8,8,8,8,8,8,8,1, 1,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,1, 8,8,8,8,14,8,8,37,
+  37,59,2,11,3,39,11,11, 2,39,10,2,2,59,11,59, 11,11,12,3,2,3,2,2, 11,11,3,12,4,59,17,11,
+  2,2,7,2,2,3,7,2, 59,2,2,2,3,7,2,3, 2,2,8,7,2,2,3,3, 7,14,2,2,3,3,7,2,
+  10,3,8,3,3,10,3,3, 10,3,3,10,3,10,10,18, 7,10,14,7,3,18,3,3, 7,14,10,3,8,3,3,7,
+  8,11,10,11,3,7,7,7, 7,3,7,3,14,3,10,5, 3,10,3,3,3,10,3,5, 5,5,3,5,5,3,3,10,
+  // C3xx
+  7,1,4,39,39,37,37,1, 37,14,12,3,39,14,1,1, 39,37,39,37,37,39,37,37, 39,39,37,37,39,37,37,37,
+  14,14,14,1,1,1,14,14, 14,11,11,5,14,11,14,11, 37,14,10,14,14,10,14,14, 10,10,11,14,14,11,14,1,
+  8,10,8,8,8,1,8,12, 8,12,8,8,12,8,12,1, 8,8,12,1,12,12,10,10, 8,8,8,8,8,8,8,39,
+  8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8, 1,8,1,8,8,8,8,8, 8,8,8,8,14,8,8,37,
+  2,2,59,59,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,5,2,5, 2,2,2,5,2,2,2,3,
+  3,14,7,14,10,3,7,3, 11,3,5,3,11,11,10,7, 14,11,14,11,11,11,5,3, 3,14,11,11,3,11,11,5,
+  5,11,5,11,11,7,3,3, 3,14,7,5,14,11,10,3, 10,3,5,11,3,11,8,3, 5,3,7,3,3,8,8,10,
+  // C4xx
+  7,6,1,39,37,37,37,37, 39,10,18,1,39,18,1,37, 37,37,37,37,39,37,37,37, 39,37,37,37,39,37,37,37,
+  18,18,10,1,1,1,10,1, 6,10,6,3,18,10,18,10, 37,10,10,10,10,5,5,5, 5,5,18,18,10,6,10,1,
+  8,8,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,8,1,1,1,1,1,8, 1,8,1,8,8,8,8,8,
+  3,8,8,8,8,1,8,1, 1,8,8,1,8,8,1,8, 1,8,1,1,1,1,8,8, 8,8,8,8,8,8,8,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,5,7,3,3,7,3,5, 5,3,3,5,3,5,7,2, 2,2,8,8,7,8,3,3, 3,7,7,3,2,3,3,3,
+  10,5,10,3,5,10,10,3, 10,3,10,10,7,10,10,3, 3,3,8,10,3,18,3,18, 3,18,3,10,3,8,5,10,
+  10,3,3,3,3,10,8,20, 10,20,3,10,7,5,10,3, 10,3,8,7,3,8,5,5, 7,7,3,5,5,8,3,10,
+  // C5xx
+  7,39,37,14,39,39,37,37, 39,14,18,39,39,18,39,39, 39,39,37,37,39,39,37,39, 39,39,39,39,39,39,37,37,
+  18,18,18,14,39,18,18,1, 14,18,14,3,18,18,18,14, 37,10,10,10,10,6,10,10, 39,20,18,18,18,1,18,18,
+  8,8,1,3,1,1,8,1, 1,1,8,1,1,1,1,1, 1,8,1,1,1,8,1,8, 8,8,1,8,8,8,8,8,
+  39,8,1,3,1,8,8,1, 1,8,12,1,1,1,8,8, 1,8,1,1,1,8,8,8, 8,8,12,3,8,8,8,37,
+  2,2,2,2,2,2,2,2, 2,37,5,2,2,2,12,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,3,2,3,14, 3,5,7,2,5,5,3,2, 5,2,5,2,7,3,3,7, 5,7,2,5,2,2,2,5,
+  7,5,5,5,10,3,3,10, 11,10,10,10,10,5,18,11, 10,10,10,11,7,10,11,5, 5,7,11,5,8,3,11,7,
+  3,11,3,8,5,8,5,7, 14,8,7,5,7,11,3,3, 5,10,7,3,3,5,7,5, 5,7,3,3,7,8,7,37,
+  // C6xx
+  7,37,39,1,39,39,37,37, 37,10,12,37,39,11,37,37, 39,39,37,39,39,39,39,37, 39,39,37,39,39,39,37,39,
+  11,12,10,1,37,39,11,1, 37,11,11,10,12,18,10,10, 37,3,11,10,3,3,3,3, 39,3,12,39,11,6,10,12,
+  37,12,1,8,1,12,8,1, 1,12,8,1,1,1,1,8, 8,8,1,1,1,8,1,8, 8,8,8,8,8,8,8,8,
+  8,8,1,1,1,8,8,8, 8,12,8,8,8,12,1,12, 8,8,8,8,1,12,8,12, 8,1,8,8,8,8,8,37,
+  37,6,6,6,4,3,2,4, 6,39,6,39,6,6,6,2, 6,6,2,6,37,6,39,6, 39,2,4,2,39,3,37,4,
+  2,2,3,7,3,3,7,7, 7,7,3,3,3,3,5,5, 2,3,5,7,3,3,3,3, 3,3,3,7,5,3,3,3,
+  3,3,3,7,5,10,3,5, 10,7,10,5,3,10,10,7, 5,11,5,10,5,3,3,3, 3,3,3,5,11,5,3,3,
+  7,11,7,11,3,10,3,3, 10,7,5,3,3,5,7,3, 3,7,5,3,3,3,11,5, 3,5,5,3,7,7,7,37,
+  // C7xx
+  7,39,39,39,37,39,39,39, 39,11,11,14,39,11,37,39, 39,39,37,39,39,39,39,37, 39,39,37,39,39,39,39,39,
+  11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 37,11,11,11,11,14,11,11, 11,11,11,11,11,11,1,11,
+  18,1,1,16,16,1,8,16, 1,1,16,16,1,1,16,1, 16,8,16,16,16,1,16,1, 37,1,16,11,39,11,11,11,
+  39,1,1,31,16,1,8,1, 1,1,8,1,1,1,1,1, 8,8,1,1,37,1,1,3, 37,8,8,39,37,11,8,37,
+  2,11,6,2,37,37,39,12, 37,6,39,3,39,2,2,39, 11,2,2,2,2,11,2,6, 11,11,2,2,2,2,11,2,
+  11,11,3,3,7,5,3,3, 3,3,5,3,3,7,3,7, 5,3,5,5,14,7,3,3, 3,14,7,5,7,7,7,3,
+  10,11,10,1,10,3,11,11, 11,11,11,11,11,11,11,5, 5,5,5,11,11,5,11,5, 5,5,11,11,7,11,11,11,
+  5,11,5,11,11,11,11,3, 5,3,3,3,3,11,7,3, 11,7,3,3,5,5,5,3, 3,5,3,5,5,5,3,10,
+  // C8xx
+  7,37,37,14,37,37,39,39, 37,11,11,37,39,11,37,39, 37,37,37,37,39,37,37,39, 39,39,37,39,37,37,37,37,
+  11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 37,11,11,11,11,11,18,11, 18,11,11,18,11,11,10,18,
+  11,12,1,1,1,12,1,1, 12,12,12,12,12,1,12,12, 12,1,1,1,1,12,1,12, 1,1,1,11,11,11,11,11,
+  11,12,1,1,1,12,3,1, 12,12,12,12,12,1,1,12, 10,37,12,12,12,12,12,11, 39,12,12,11,11,11,3,37,
+  39,11,6,6,3,37,2,3, 39,6,12,37,39,11,10,6, 11,6,6,6,11,11,6,6, 11,2,2,2,2,11,11,1,
+  11,3,7,5,3,3,3,3, 3,7,3,3,7,5,5,5, 5,3,5,7,3,3,3,3, 5,5,3,3,3,7,3,5,
+  10,10,10,3,5,10,5,11, 3,11,10,3,10,11,3,3, 10,11,10,11,11,3,7,10, 11,3,11,11,11,3,11,10,
+  7,11,3,11,11,11,11,3, 7,3,5,3,10,11,10,5, 10,5,7,7,3,3,11,5, 3,5,11,5,3,3,7,37,
+  // C9xx
+  7,39,11,39,37,39,37,10, 39,11,18,39,37,11,37,39, 39,37,39,37,39,39,37,37, 39,39,37,39,39,39,37,39,
+  11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 37,11,11,11,11,11,11,11, 11,11,11,18,11,11,11,18,
+  8,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,11,11,11,11,11,
+  18,8,1,1,1,8,1,1, 1,1,1,1,1,1,1,8, 1,1,1,1,1,8,1,3, 1,1,1,1,11,11,11,37,
+  39,6,6,6,6,11,37,12, 6,6,12,6,6,6,12,6, 2,2,2,6,2,11,6,2, 6,2,2,2,2,11,11,2,
+  11,11,3,3,7,3,7,7, 3,7,3,3,7,3,7,3, 3,3,7,3,7,3,3,3, 7,3,3,11,7,3,7,11,
+  14,3,7,7,10,18,3,3, 18,18,7,3,3,10,18,3, 3,10,10,18,7,7,18,7, 7,3,18,7,3,7,18,7,
+  3,7,7,3,3,7,3,3, 3,7,3,7,3,3,3,20, 7,3,3,3,7,3,3,7, 3,3,3,7,7,3,7,37,
+  // CAxx
+  7,6,39,37,39,37,37,37, 37,11,11,37,37,11,37,37, 37,37,37,37,39,37,37,37, 39,37,37,37,39,37,37,4,
+  11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 37,11,11,11,11,11,11,11, 14,11,11,18,11,11,10,18,
+  11,10,12,12,12,1,1,12, 1,8,1,12,1,1,1,10, 12,1,1,1,1,1,1,12, 1,37,12,11,8,11,8,11,
+  37,10,1,8,12,8,37,37, 1,1,12,12,12,12,1,8, 10,1,1,12,1,1,39,1, 1,8,12,1,11,11,11,37,
+  2,2,6,2,2,11,2,2, 2,2,2,2,12,2,39,6, 11,39,2,6,2,11,6,6, 11,11,37,2,10,11,2,2,
+  11,3,3,7,3,3,3,3, 3,3,7,3,7,3,3,3, 3,3,3,3,14,3,3,3, 7,3,14,3,3,3,3,3,
+  10,14,3,11,7,10,3,3, 11,7,3,10,7,11,10,11, 3,11,3,11,3,3,3,3, 11,3,11,3,3,11,11,11,
+  10,11,7,11,3,11,11,7, 14,3,3,10,3,11,10,3, 10,7,10,7,3,3,3,3, 3,20,7,3,7,3,7,11,
+  // CBxx
+  7,1,39,37,37,39,37,37, 1,11,18,37,37,11,37,37, 37,37,37,37,37,37,37,37, 37,37,7,37,37,37,37,37,
+  11,18,11,10,1,39,18,11, 11,11,11,3,18,18,10,11, 37,10,10,3,10,3,10,10, 3,11,11,18,11,3,11,18,
+  8,10,1,1,16,1,1,16, 1,1,16,16,1,16,1,10, 16,1,1,16,16,1,16,1, 1,39,1,37,11,10,11,11,
+  37,1,1,1,1,37,1,1, 1,10,1,1,1,8,1,1, 1,1,1,1,1,37,37,37, 8,39,39,3,8,37,3,37,
+  2,6,6,4,39,2,2,2, 2,2,2,2,2,2,2,37, 2,2,6,16,6,11,37,6, 2,2,2,2,2,2,2,1,
+  11,7,3,3,3,3,7,3, 7,3,3,3,7,3,3,3, 3,7,10,3,7,3,3,7, 3,3,7,7,3,3,3,3,
+  10,14,3,14,3,10,3,11, 10,3,10,10,7,3,3,18, 3,3,14,10,18,3,3,3, 3,3,7,10,7,8,10,3,
+  3,11,7,3,3,10,3,14, 7,14,3,3,11,11,10,3, 3,3,8,10,7,3,7,3, 3,3,3,3,3,3,7,10,
+  // CCxx
+  7,39,39,37,39,39,39,37, 39,11,18,37,37,11,37,39, 39,39,39,37,39,39,39,37, 39,39,37,37,39,39,37,37,
+  11,10,11,11,11,11,11,11, 18,11,11,10,11,10,10,11, 37,11,11,11,11,11,11,11, 11,11,11,6,11,37,6,18,
+  8,1,12,12,12,16,1,1, 12,16,12,12,12,12,12,31, 12,1,12,12,12,8,12,6, 8,10,12,1,11,11,1,11,
+  10,1,1,1,8,16,1,1, 1,10,1,1,1,3,1,1, 1,8,18,1,1,10,37,11, 8,10,1,8,8,11,3,39,
+  2,2,6,2,2,2,2,2, 2,2,12,6,6,12,12,6, 6,6,6,6,6,6,3,6, 6,37,2,3,37,11,2,1,
+  11,7,7,7,7,3,3,3, 3,3,7,3,3,3,7,3, 3,7,3,3,7,7,3,3, 3,3,3,3,3,3,7,7,
+  10,18,7,3,7,10,3,11, 10,18,11,10,7,10,10,11, 11,11,11,10,3,3,3,3, 3,3,7,10,7,3,11,10,
+  10,3,3,11,11,3,11,7, 10,7,3,7,3,11,10,3, 3,7,7,7,3,3,7,7, 3,3,3,3,3,3,7,10,
+  // CDxx
+  7,39,37,14,39,37,37,37, 37,14,18,14,37,11,14,11, 39,39,37,39,39,39,37,37, 39,37,37,37,39,37,37,37,
+  11,18,11,11,11,11,14,14, 14,11,11,11,18,18,14,11, 37,14,11,14,14,14,14,14, 14,11,14,18,11,11,10,18,
+  18,1,1,1,1,1,1,1, 1,10,1,1,1,1,1,1, 1,1,1,1,1,1,1,8, 1,10,1,37,37,11,37,11,
+  6,1,1,1,1,16,37,1, 8,10,8,39,1,1,1,1, 37,8,1,1,1,37,10,8, 1,39,8,37,14,11,11,37,
+  37,6,6,6,37,39,37,2, 6,37,12,6,6,12,12,6, 6,39,6,6,37,6,6,6, 11,37,37,3,37,11,11,1,
+  1,14,7,3,14,3,3,14, 3,3,3,7,3,7,3,3, 3,3,10,3,3,3,3,3, 3,14,14,3,3,7,3,3,
+  10,3,14,14,10,10,3,11, 10,11,11,3,11,10,10,11, 3,7,10,11,14,7,11,7, 3,11,3,10,11,11,11,11,
+  10,11,3,11,11,10,11,3, 7,14,3,3,11,11,10,20, 7,7,3,11,3,3,3,7, 3,3,3,3,3,7,3,10,
+  // CExx
+  7,39,37,37,39,39,37,37, 39,11,18,37,39,11,37,37, 39,39,37,37,39,39,37,37, 39,39,3,37,39,39,37,37,
+  11,10,11,11,39,10,10,10, 11,10,11,5,11,18,10,11, 37,11,10,10,11,10,10,11, 11,11,11,18,11,11,10,18,
+  5,8,16,16,16,10,1,16, 1,1,16,16,1,16,1,37, 16,37,16,16,1,31,16,39, 37,1,16,37,37,8,37,10,
+  8,18,37,1,8,37,10,8, 37,18,1,39,1,1,1,1, 16,8,16,16,37,37,16,37, 8,18,1,37,39,8,3,37,
+  37,6,6,6,2,2,2,2, 2,2,2,6,2,6,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,3,2,2,3,2,3, 7,7,3,3,3,2,2,3, 3,2,2,2,3,2,3,2, 2,2,2,3,2,2,2,2,
+  3,10,10,10,3,3,10,11, 3,10,3,10,10,10,11,7, 10,10,3,7,10,3,10,10, 11,18,3,3,11,3,3,10,
+  7,11,3,7,3,3,11,3, 3,3,10,10,10,11,7,3, 10,3,10,3,10,3,3,3, 7,10,3,3,3,3,3,37,
+  // CFxx
+  7,11,37,37,37,39,37,37, 37,11,18,11,39,11,37,37, 39,37,37,37,39,39,37,37, 39,39,37,39,37,39,37,37,
+  11,11,11,6,11,11,11,11, 11,11,11,11,11,18,11,11, 37,11,11,11,11,11,11,11, 11,11,11,18,11,11,11,18,
+  11,12,1,1,1,1,1,30, 1,16,30,1,1,1,1,16, 10,1,1,1,1,16,1,1, 1,1,1,11,11,11,11,11,
+  8,12,37,39,12,39,8,37, 8,8,1,39,1,8,1,10, 10,8,12,8,1,12,8,8, 8,8,37,37,18,11,39,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,37, 11,39,11,6,11,2,2,6, 11,11,37,2,2,11,2,1,
+  11,11,3,3,3,3,3,3, 3,7,3,7,3,7,3,3, 3,3,3,7,3,3,3,3, 3,3,7,7,3,3,20,7,
+  10,3,3,7,3,10,3,11, 3,11,3,10,18,18,10,11, 10,11,18,10,3,3,3,3, 3,3,11,10,3,11,3,3,
+  3,11,3,11,3,11,11,3, 3,3,3,3,3,11,10,3, 10,3,3,3,3,11,11,3, 11,3,3,3,3,3,3,10,
+  // D0xx
+  7,39,1,37,39,1,39,9, 39,14,14,1,39,14,1,39, 39,39,37,37,39,39,37,37, 39,39,37,39,39,37,37,37,
+  11,14,14,11,1,10,14,14, 14,14,14,14,10,10,10,11, 37,10,10,10,10,14,10,31, 10,10,11,10,14,10,10,14,
+  1,13,1,13,13,13,1,1, 1,13,1,16,13,13,16,16, 16,37,13,1,16,13,16,1, 39,16,13,14,3,14,14,10,
+  8,16,1,39,1,16,31,3, 37,16,1,16,16,16,16,16, 18,8,16,8,16,16,16,8, 39,16,8,8,14,8,3,37,
+  10,2,6,2,2,2,2,2, 2,2,2,2,2,3,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,3,2,3,2,2,3,3, 2,3,14,2,3,3,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  10,3,3,10,3,3,10,3, 10,11,10,3,10,3,10,18, 3,10,10,10,3,3,3,3, 3,18,10,10,10,3,3,11,
+  10,11,3,3,11,10,11,3, 3,3,3,3,3,3,10,20, 3,20,3,10,3,3,11,3, 3,3,11,3,3,3,3,10,
+  // D1xx
+  7,37,37,37,39,39,11,37, 39,11,18,37,39,11,37,39, 39,39,37,37,39,39,37,37, 39,39,37,39,39,37,37,37,
+  11,11,11,10,11,11,11,11, 11,11,11,11,11,11,11,11, 37,11,11,11,11,11,11,11, 11,11,11,18,11,11,11,18,
+  11,1,12,12,10,1,10,1, 10,1,1,12,8,12,37,1, 10,37,37,12,10,1,10,31, 11,3,1,37,11,11,11,11,
+  39,1,3,10,31,1,37,37, 10,10,1,11,11,37,7,1, 31,11,10,37,31,1,37,31, 11,39,37,8,11,11,11,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 11,2,2,2,2,2,2,2, 2,2,2,2,2,11,2,2,
+  11,3,3,3,14,3,3,3, 3,3,3,3,3,3,3,3, 3,3,3,14,14,3,3,14, 3,3,14,3,3,3,14,3,
+  10,20,10,11,11,10,11,11, 11,11,10,10,11,11,10,11, 3,10,10,11,3,3,11,3, 3,20,11,3,10,11,11,11,
+  10,10,10,11,11,11,11,3, 10,3,10,3,11,11,10,10, 10,10,10,3,3,3,11,10, 3,3,11,3,3,3,3,10,
+  // D2xx
+  7,39,39,37,39,39,37,12, 39,14,14,39,39,14,37,37, 39,39,37,39,39,39,39,37, 39,39,37,37,39,37,37,37,
+  11,10,14,14,11,11,14,14, 14,14,11,11,11,10,10,14, 37,10,14,14,10,14,11,11, 14,11,14,18,14,14,14,18,
+  11,16,1,1,1,16,8,1, 31,16,31,12,1,1,1,12, 1,1,1,12,12,12,1,31, 1,31,1,11,8,14,11,11,
+  10,31,31,31,31,12,31,31, 31,12,8,39,31,31,31,1, 31,31,1,31,31,16,10,31, 1,31,8,1,14,39,14,39,
+  37,6,6,2,2,39,3,4, 39,39,3,6,6,12,3,6, 11,2,2,2,28,3,2,2, 11,2,2,2,2,2,39,1,
+  14,14,14,3,14,3,3,14, 14,3,3,3,3,14,3,2, 3,3,3,3,14,3,3,14, 14,14,3,3,14,3,14,14,
+  10,14,10,14,3,10,3,11, 10,3,14,3,11,10,10,18, 10,3,3,10,3,3,3,3, 18,18,3,10,10,3,11,3,
+  10,11,3,11,3,3,3,3, 10,3,3,3,3,11,10,3, 10,3,3,10,3,3,3,3, 3,3,10,3,3,3,3,10,
+  // D3xx
+  7,37,37,1,39,37,37,37, 39,11,18,39,37,11,37,18, 37,39,37,39,37,39,37,37, 39,39,37,39,39,37,37,37,
+  11,11,11,11,11,11,11,11, 11,11,11,11,11,18,18,11, 11,11,11,11,11,11,11,11, 11,11,11,18,11,11,31,18,
+  11,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,3,8,11,3,11,
+  37,1,1,1,1,1,1,37, 1,8,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,8,1,11,11,8,39,37,
+  10,11,6,6,2,11,3,12, 39,6,6,3,6,3,6,12, 11,2,11,3,11,6,6,2, 2,2,3,3,37,11,3,2,
+  11,3,3,12,3,3,3,14, 3,2,3,3,9,3,3,3, 3,3,3,3,3,3,3,14, 20,14,14,14,14,3,3,3,
+  3,10,3,3,10,3,10,11, 11,3,3,18,11,3,3,10, 3,3,3,11,18,3,3,10, 11,10,3,18,11,11,10,11,
+  3,11,10,11,11,11,11,10, 3,3,3,3,11,11,3,3, 10,3,3,11,3,20,3,10, 11,3,3,3,3,3,3,10,
+  // D4xx
+  7,39,37,1,39,39,39,37, 39,14,18,37,39,11,37,37, 39,39,39,37,39,39,37,37, 39,39,37,37,39,37,37,37,
+  11,18,18,1,11,11,11,1, 18,11,11,3,18,18,18,14, 37,11,11,10,11,11,10,11, 11,11,18,18,11,11,11,18,
+  1,1,1,1,1,8,1,8, 1,1,1,1,1,1,1,1, 1,1,1,1,1,8,1,11, 1,39,1,37,37,3,11,18,
+  18,33,14,31,39,20,31,1, 11,10,1,39,1,1,1,20, 18,8,8,31,1,3,31,31, 1,18,1,8,11,11,3,39,
+  37,6,6,3,3,11,12,3, 37,6,3,6,6,6,12,37, 11,6,3,3,3,6,6,6, 11,3,39,3,3,11,3,4,
+  11,14,3,3,3,3,3,14, 14,3,3,3,3,3,3,3, 3,3,3,5,3,3,3,14, 3,14,3,14,3,3,3,3,
+  10,18,3,3,3,18,3,11, 11,18,3,3,11,11,11,18, 3,11,18,3,3,18,3,18, 3,3,3,11,11,3,11,11,
+  10,11,3,11,11,11,11,3, 10,14,14,3,3,11,10,20, 3,3,3,3,3,3,3,3, 3,3,3,3,3,10,3,37,
+  // D5xx
+  7,39,37,39,37,39,37,37, 39,14,18,14,37,11,37,37, 39,39,37,39,39,39,37,37, 39,39,37,39,39,39,39,39,
+  11,14,11,14,39,11,14,14, 14,11,11,14,18,10,18,11, 37,11,11,11,11,11,10,11, 11,11,11,18,11,11,10,18,
+  1,31,1,12,12,1,12,1, 1,1,1,12,1,1,1,12, 1,37,1,12,1,1,12,37, 37,37,12,37,37,18,8,11,
+  37,31,1,1,31,31,3,37, 1,1,1,1,39,31,1,31, 1,39,31,31,31,8,31,1, 1,31,37,3,14,37,8,37,
+  2,2,2,2,2,2,2,2, 2,37,2,39,2,2,2,2, 2,2,2,3,2,2,2,6, 39,11,2,2,2,2,2,4,
+  14,2,3,2,14,2,3,2, 3,3,3,2,3,3,3,3, 3,3,2,3,2,2,2,14, 2,3,2,14,3,3,3,3,
+  10,14,3,3,3,3,3,11, 11,11,3,3,18,11,10,11, 3,11,3,18,3,3,3,3, 3,3,11,3,11,11,18,3,
+  10,11,3,3,11,11,11,3, 14,14,3,3,3,11,10,3, 3,3,3,3,3,3,11,3, 11,3,11,3,3,3,3,37,
+  // D6xx
+  7,39,37,37,37,39,37,37, 37,11,11,37,39,11,39,39, 39,37,37,37,37,37,37,37, 39,39,39,39,39,39,37,37,
+  11,11,11,1,39,11,11,1, 11,6,11,3,11,1,11,1, 37,1,11,1,11,11,11,11, 37,1,11,1,11,3,1,1,
+  39,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,37,37,11,3,11,
+  8,1,1,1,1,37,1,1, 1,1,1,1,1,1,1,1, 1,8,1,1,1,1,1,1, 1,1,1,1,39,8,3,37,
+  2,2,2,2,2,2,2,2, 6,2,39,12,6,4,6,37, 6,2,2,6,2,12,2,2, 6,2,2,2,2,2,2,4,
+  2,14,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, 3,3,3,3,3,3,2,3, 3,3,20,3,3,3,3,3,
+  10,3,3,3,18,10,3,11, 10,11,3,18,3,11,3,11, 3,11,3,3,3,3,3,3, 3,3,3,10,3,3,3,8,
+  3,11,10,11,11,10,11,3, 10,3,3,3,3,11,3,3, 3,3,3,3,3,3,11,3, 3,3,3,3,3,3,3,10,
+  // D7xx
+  7,39,37,37,39,37,37,6, 39,18,18,37,39,18,37,4, 37,37,37,39,39,39,37,37, 37,39,37,37,39,39,37,37,
+  18,18,18,11,11,11,18,10, 11,18,11,3,18,10,18,10, 37,11,11,11,11,11,11,11, 11,11,18,18,18,11,10,11,
+  11,10,11,3,11,10,11,11, 8,10,11,11,11,11,11,37, 11,8,3,39,11,8,11,11, 11,10,11,11,11,11,8,39,
+  11,11,11,11,11,37,11,3, 11,18,11,11,11,11,11,3, 18,11,11,11,11,3,37,11, 3,18,11,11,11,11,11,37,
+  2,2,2,2,2,3,11,6, 2,6,37,6,3,4,6,6, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,3,3,2,3,2,2, 2,2,2,3,3,3,3,3, 3,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3,
+  10,18,10,3,7,3,3,3, 10,3,3,3,3,14,18,18, 3,20,10,3,3,18,3,11, 10,18,3,3,3,3,3,3,
+  10,20,3,3,3,3,3,3, 14,3,3,10,3,3,3,3, 3,3,3,3,3,3,3,3, 3,3,11,10,7,8,20,37,
+  // D8xx
+  7,39,39,39,39,39,39,39, 39,1,18,39,39,11,39,39, 39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,
+  11,11,11,39,39,39,11,11, 11,11,1,3,11,1,11,1, 7,1,1,1,1,1,1,1, 1,1,11,18,11,1,18,18,
+  1,12,1,12,1,12,1,1, 1,12,1,1,1,1,1,12, 1,39,1,1,1,1,1,1, 1,1,1,11,11,11,39,11,
+  39,12,1,33,33,12,1,1, 33,1,33,1,33,33,1,1, 8,39,1,1,33,1,1,1, 1,1,33,8,18,11,3,39,
+  39,6,6,6,39,39,39,39, 3,39,12,6,2,6,6,39, 3,6,39,3,3,6,6,6, 39,39,39,2,33,11,39,2,
+  11,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,14,14,3,14,5,
+  10,14,14,14,3,10,11,11, 11,11,10,10,10,12,18,10, 10,11,10,10,3,27,10,27, 11,27,11,11,11,11,11,11,
+  10,11,10,11,11,11,11,20, 14,14,10,10,11,11,10,10, 10,11,10,11,3,11,11,3, 11,3,11,10,3,3,3,3,
+  // D9xx
+  7,12,39,1,4,39,4,39, 39,18,18,39,39,11,39,39, 39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,
+  11,18,18,14,1,18,18,11, 6,18,14,5,18,18,18,18, 7,6,6,6,6,6,6,6, 6,6,18,18,18,18,14,18,
+  8,1,12,12,12,1,3,1, 12,1,12,12,12,12,12,1, 12,3,12,12,12,1,12,7, 1,3,12,7,7,6,8,39,
+  18,8,12,12,12,1,7,8, 12,1,1,12,1,12,1,8, 3,8,12,12,12,3,12,6, 1,8,39,7,3,14,5,3,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,3,6,6, 6,6,3,3,3,3,39,3,
+  2,14,2,5,3,5,2,14, 14,3,14,2,2,14,9,3, 6,2,3,3,14,14,3,14, 3,2,14,14,2,5,2,3,
+  10,14,7,14,18,10,3,11, 10,11,18,18,18,20,10,6, 20,11,18,20,20,5,20,18, 12,3,11,18,10,11,18,11,
+  14,11,3,11,11,11,11,8, 14,14,14,5,11,11,10,7, 3,3,3,11,3,11,11,3, 11,5,11,7,5,5,5,10,
+  // DAxx
+  7,1,39,1,39,39,39,39, 11,11,11,39,39,11,39,11, 39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,
+  11,11,11,11,11,11,11,11, 11,11,11,5,11,11,11,11, 7,11,11,5,5,3,5,11, 11,11,11,18,11,11,11,18,
+  11,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,3, 1,1,1,11,11,11,11,11,
+  8,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,8,1,1,1,1,1,3, 1,1,1,8,8,39,11,3,
+  2,2,6,6,2,2,2,2, 2,2,12,6,2,12,12,2, 6,2,6,2,11,2,2,6, 2,2,2,3,2,11,12,1,
+  11,11,5,3,3,8,5,3, 10,2,5,3,8,2,3,2, 6,5,6,2,3,2,3,5, 5,3,2,8,3,6,2,11,
+  18,18,11,3,18,10,10,11, 11,11,11,11,11,18,18,11, 11,11,11,11,11,11,11,18, 11,11,11,3,11,11,11,10,
+  27,11,27,11,11,11,11,7, 12,3,3,5,11,11,3,3, 11,11,11,11,3,11,11,3, 12,3,11,3,3,5,3,11,
+  // DBxx
+  7,39,39,39,39,39,39,39, 39,10,10,39,39,10,39,39, 39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,
+  11,10,10,10,39,10,10,1, 3,11,11,5,11,10,10,31, 7,31,31,31,31,31,31,31, 31,31,10,18,10,10,10,10,
+  18,12,1,16,16,12,12,16, 12,1,12,16,16,16,16,39, 16,7,16,16,1,1,12,7, 10,1,16,7,7,8,7,8,
+  8,1,12,39,16,1,39,16, 31,8,8,16,8,8,1,10, 8,39,1,1,1,8,39,1, 1,8,7,39,3,8,5,39,
+  2,2,6,2,39,39,2,2, 2,6,6,2,2,2,2,39, 2,6,2,2,2,2,6,6, 39,3,2,39,2,2,2,1,
+  11,3,3,8,3,8,8,3, 10,2,3,3,3,3,5,3, 2,2,2,2,2,2,2,2, 2,2,3,3,3,6,5,3,
+  3,18,10,10,10,10,10,11, 11,10,10,10,10,10,18,11, 11,11,10,11,18,10,11,10, 11,7,3,1,11,11,27,10,
+  3,11,3,11,11,11,11,3, 3,1,7,3,11,11,27,27, 7,3,11,11,5,11,5,3, 11,7,11,3,3,3,3,3,
+  // DCxx
+  7,39,1,11,4,39,39,39, 39,1,11,39,39,11,39,39, 39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,
+  11,11,11,11,11,11,11,1, 11,1,11,11,11,11,11,11, 7,11,11,11,11,11,11,11, 11,11,11,20,11,11,1,1,
+  11,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,11,1,1,1,11,1,1, 1,1,1,11,11,11,11,11,
+  8,11,1,1,1,1,1,8, 1,11,11,1,1,1,1,11, 11,11,1,1,1,11,1,11, 1,1,1,11,11,3,11,3,
+  39,6,6,39,6,11,11,3, 39,3,3,6,6,6,3,39, 2,11,11,6,3,11,6,6, 2,11,2,3,3,2,3,2,
+  2,11,3,3,3,7,11,11, 5,11,2,3,5,3,11,6, 3,5,3,3,7,3,6,3, 3,5,11,5,3,3,3,3,
+  3,10,11,11,11,10,18,11, 11,11,11,18,11,10,11,11, 13,11,11,11,18,11,11,11, 11,11,11,11,11,11,13,11,
+  3,11,5,11,11,11,11,3, 20,20,20,20,11,11,3,3, 11,20,11,20,20,11,3,20, 11,3,11,3,1,5,3,11,
+  // DDxx
+  7,1,4,39,39,39,39,39, 39,13,11,13,39,11,4,39, 39,3,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,
+  11,13,11,11,11,11,13,13, 13,11,13,5,11,13,13,11, 7,11,11,11,11,11,11,13, 11,11,11,13,11,11,13,13,
+  11,13,1,1,13,13,13,13, 13,1,1,13,13,13,13,13, 1,39,13,13,13,1,1,13, 13,13,13,7,13,11,3,11,
+  13,13,13,13,13,13,13,13, 13,13,13,13,13,13,13,13, 13,13,13,13,13,7,13,7, 13,13,13,11,13,11,5,3,
+  56,6,6,6,3,3,3,6, 39,6,12,6,6,12,12,6, 6,6,6,6,6,6,6,6, 11,6,6,3,3,11,3,3,
+  11,11,8,5,5,3,7,8, 7,9,3,3,3,3,3,8, 3,3,6,1,3,7,3,3, 3,3,3,5,3,6,5,11,
+  6,5,10,11,11,11,11,11, 11,11,11,10,11,11,11,11, 11,11,10,11,11,11,11,5, 11,11,11,11,11,11,11,11,
+  3,11,10,11,11,11,11,13, 20,10,10,10,11,11,20,10, 10,20,10,11,20,11,11,20, 11,20,11,8,3,10,13,3,
+  // DExx
+  7,1,39,39,4,39,4,39, 39,11,11,39,6,11,39,39, 39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,
+  11,11,11,11,11,11,11,11, 6,11,11,11,11,11,13,11, 7,11,11,11,11,11,11,6, 11,11,11,6,11,11,13,18,
+  11,13,13,13,16,13,13,13, 13,13,1,13,13,13,16,16, 16,8,1,16,13,13,13,13, 1,13,33,11,11,11,11,1,
+  13,13,13,1,1,13,13,1, 13,13,1,3,13,16,13,13, 1,3,1,8,13,13,16,1, 7,16,39,7,6,11,11,3,
+  2,6,2,2,2,2,2,2, 2,2,2,2,2,2,2,6, 2,2,31,2,2,2,2,2, 6,2,2,4,2,2,2,4,
+  11,11,3,3,3,3,2,2, 2,2,2,2,2,2,2,7, 2,3,6,8,5,6,6,3, 6,3,3,3,7,6,6,11,
+  5,18,10,10,10,18,10,11, 11,11,11,18,10,11,18,11, 10,11,10,11,18,11,11,10, 11,10,11,18,11,11,11,11,
+  27,11,10,11,11,11,11,10, 20,5,20,10,11,11,13,10, 10,20,20,11,20,11,11,7, 11,10,11,7,13,13,11,11,
+  // DFxx
+  7,1,39,39,7,10,39,39, 39,11,11,7,39,11,39,11, 39,39,39,39,39,39,39,39, 39,39,37,37,39,39,39,39,
+  11,11,11,11,11,11,11,11, 11,11,11,6,11,1,11,11, 7,11,11,11,11,14,14,11, 14,14,11,6,11,11,11,1,
+  3,11,1,1,1,1,1,1, 1,1,1,8,1,3,8,1, 1,1,1,1,1,1,1,39, 11,8,1,3,3,11,3,11,
+  3,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,39,1,1,1,1,1,1, 3,1,1,7,11,11,39,3,
+  3,6,6,6,6,3,12,6, 6,6,6,6,6,6,6,6, 6,6,6,12,6,6,6,3, 39,6,6,6,6,11,3,4,
+  11,11,3,5,5,6,3,5, 11,5,10,5,3,6,3,6, 6,3,5,3,3,3,3,7, 3,3,3,3,6,3,5,11,
+  7,10,10,11,10,10,10,11, 11,11,11,11,10,10,11,11, 11,11,10,11,11,10,10,10, 10,10,11,11,11,11,10,11,
+  27,11,10,11,11,11,11,10, 20,3,10,20,11,11,20,20, 10,10,3,11,20,11,11,3, 11,20,11,3,1,7,11,11,
+  // E0xx
+  7,37,37,14,1,37,37,37, 37,10,10,37,37,10,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  11,10,10,10,11,11,10,10, 10,10,10,10,10,10,10,10, 37,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10,
+  10,3,11,11,33,11,6,33, 8,11,11,6,33,11,33,3, 11,39,33,8,8,11,6,33, 11,6,8,10,10,10,10,6,
+  17,11,11,11,11,39,11,11, 6,11,16,30,11,11,11,11, 11,11,11,11,11,6,11,11, 11,11,39,6,17,37,3,37,
+  6,6,6,6,6,11,6,6, 6,6,6,6,6,6,6,6, 6,6,6,6,10,6,6,6, 37,6,12,3,10,6,10,10,
+  36,14,14,36,2,2,2,2, 14,14,14,14,36,36,2,2, 2,2,2,2,2,14,2,14, 2,2,14,14,14,2,14,14,
+  14,14,14,14,17,14,17,14, 14,1,14,14,18,14,14,8, 27,3,18,27,5,27,3,3, 27,3,3,6,27,7,3,6,
+  3,10,10,10,10,17,10,10, 17,17,10,10,10,10,17,10, 10,10,10,10,10,10,10,10, 17,17,17,18,5,10,10,10,
+  // E1xx
+  7,1,1,37,37,39,4,37, 12,1,11,20,37,11,3,11, 39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  11,11,11,11,11,11,11,11, 11,11,11,11,11,1,10,11, 37,11,11,11,17,11,11,11, 11,11,11,1,11,11,11,1,
+  11,11,1,1,1,17,1,17, 17,8,1,1,1,8,1,39, 6,39,1,6,39,1,8,11, 6,8,1,11,17,11,11,11,
+  37,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,6, 1,6,1,6,11,11,11,37,
+  2,2,2,2,2,2,2,6, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,6, 11,2,12,6,12,12,12,2,
+  36,14,14,3,14,36,5,14, 14,6,36,36,36,36,36,36, 3,7,3,10,14,14,14,14, 2,14,2,2,2,2,14,14,
+  3,14,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,18, 11,11,11,11,11,11,11,11,
+  10,11,36,11,11,11,11,17, 10,17,20,10,11,11,10,17, 10,18,17,10,18,11,11,18, 17,17,17,10,10,18,18,10,
+  // E2xx
+  7,7,37,37,37,39,37,37, 37,10,10,37,4,10,1,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,10,10,10,11,10,10,17, 10,10,10,3,10,10,10,10, 37,10,17,10,10,10,10,10, 10,10,10,10,10,10,10,10,
+  10,8,8,11,3,6,11,6, 6,6,6,6,6,6,11,6, 6,6,11,6,11,6,6,6, 6,37,6,10,17,10,37,10,
+  17,10,11,16,16,10,16,11, 11,10,16,16,16,11,11,10, 16,8,16,16,11,11,16,6, 8,11,16,3,6,6,3,37,
+  2,2,2,6,2,2,2,2, 2,2,2,6,2,6,2,6, 6,2,2,2,2,2,2,2, 2,2,10,6,2,2,6,6,
+  36,14,36,3,14,36,14,3, 36,5,14,14,3,36,36,3, 3,3,3,10,14,14,3,14, 10,14,14,14,14,3,14,3,
+  14,18,14,14,6,18,3,14, 3,18,14,14,18,14,14,18, 27,3,18,3,7,18,3,3, 27,18,27,7,20,20,27,3,
+  10,18,10,17,10,10,17,10, 10,17,10,10,17,10,10,18, 10,10,10,10,17,18,10,10, 17,18,10,10,10,3,16,10,
+  // E3xx
+  7,37,37,37,37,37,37,1, 3,11,11,37,37,11,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,39,37,
+  11,11,11,11,11,11,11,11, 11,11,11,11,11,11,10,11, 37,11,11,11,11,11,11,11, 11,11,11,10,11,11,11,17,
+  10,12,1,6,6,12,6,1, 31,18,6,6,1,31,39,6, 6,37,6,39,12,1,6,6, 1,6,8,11,11,10,11,11,
+  6,10,12,12,12,1,37,12, 11,12,6,6,12,12,8,1, 12,8,12,1,12,12,10,37, 37,3,12,11,17,11,11,37,
+  2,2,2,2,2,2,2,6, 2,2,2,2,2,2,2,2, 11,11,6,6,6,6,6,6, 11,11,6,4,6,11,6,4,
+  36,11,36,36,14,36,36,36, 14,6,14,36,36,36,7,36, 3,3,3,10,14,14,3,7, 8,14,14,11,5,3,3,11,
+  5,5,11,11,11,18,11,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,18, 11,11,11,11,11,11,11,11,
+  10,11,17,11,11,11,11,36, 10,17,10,10,11,11,10,20, 10,20,17,11,17,11,11,17, 17,17,11,3,3,5,3,1,
+  // E4xx
+  7,11,1,11,37,37,37,37, 1,11,11,4,4,11,3,11, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  11,17,11,11,11,11,11,17, 11,11,11,17,11,17,11,11, 11,11,11,11,11,11,11,11, 11,11,11,17,11,11,11,17,
+  11,1,6,6,6,1,6,1, 1,17,1,1,1,1,6,11, 6,37,1,6,1,1,1,8, 6,1,1,11,11,11,11,11,
+  17,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,17,11,11,1,
+  2,11,6,6,12,11,2,6, 6,6,6,6,6,6,11,6, 11,6,31,3,11,6,6,6, 11,11,6,3,12,12,2,6,
+  36,11,14,7,14,36,8,14, 36,14,14,14,5,3,36,3, 3,3,5,10,14,14,6,14, 2,2,2,2,2,2,2,2,
+  3,14,3,14,11,18,11,11, 11,11,11,14,11,11,11,11, 11,11,11,11,11,11,11,18, 11,11,11,11,11,11,11,11,
+  10,17,10,11,1,10,11,17, 10,17,10,10,11,11,10,18, 10,17,17,10,17,18,17,17, 17,17,17,10,10,20,11,10,
+  // E5xx
+  7,10,37,37,37,39,37,4, 39,10,10,1,37,10,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,10,10,11,11,10,10,10, 11,11,11,10,10,10,10,10, 37,11,11,11,36,11,10,11, 11,11,10,10,11,11,10,10,
+  11,6,31,31,6,31,8,1, 6,6,6,6,1,6,6,37, 8,6,1,37,31,6,1,37, 3,6,6,11,10,11,11,11,
+  17,1,1,10,1,1,1,1, 1,1,6,1,1,1,1,33, 1,39,1,1,1,33,1,39, 8,6,1,11,11,11,11,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  17,7,11,11,11,18,18,11, 11,11,11,3,11,18,11,11, 11,11,11,18,11,5,11,18, 11,11,11,3,11,11,11,20,
+  17,11,10,11,10,11,11,10, 17,10,10,10,10,10,18,17, 10,10,10,18,17,11,10,17, 17,17,17,18,5,20,10,10,
+  // E6xx
+  7,11,1,9,1,39,1,12, 1,12,12,11,37,11,37,11, 39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  11,12,11,11,11,11,11,11, 11,11,11,5,12,11,12,11, 37,11,11,11,11,11,11,11, 11,11,11,12,11,11,11,12,
+  6,33,11,8,11,33,6,11, 11,33,11,33,33,31,33,33, 33,6,1,6,33,33,6,11, 8,37,11,39,17,6,11,11,
+  17,12,1,1,1,12,1,1, 1,12,1,1,1,1,1,12, 1,1,1,1,1,12,1,12, 6,8,1,11,6,11,6,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  5,11,11,11,3,11,7,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,3, 11,11,11,11,11,11,11,11,
+  10,11,10,11,11,11,11,20, 10,17,10,17,11,11,17,18, 1,10,11,11,18,11,11,17, 11,20,11,10,10,3,11,10,
+  // E7xx
+  7,10,37,37,4,39,37,37, 37,11,10,20,4,10,10,37, 37,37,37,37,37,37,37,37, 37,37,37,3,37,37,37,37,
+  10,10,10,11,11,10,11,11, 10,10,10,11,10,10,10,17, 37,10,10,11,11,11,10,17, 11,10,11,20,10,11,11,10,
+  11,11,11,11,31,8,31,31, 6,11,11,11,31,8,31,6, 31,3,31,31,31,11,31,6, 11,11,31,11,17,11,6,11,
+  11,11,11,16,16,11,11,16, 11,11,16,16,11,11,16,11, 16,6,16,16,16,11,16,11, 8,11,16,11,17,11,8,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,14,2,2,2,2,2,2,
+  1,14,14,14,18,18,1,14, 5,18,14,14,18,3,6,18, 27,3,18,7,3,18,6,3, 27,18,27,3,8,5,3,3,
+  10,17,10,1,10,17,17,17, 10,17,10,10,10,10,10,18, 10,17,18,10,17,1,1,17, 17,17,17,10,11,13,10,10,
+  // E8xx
+  7,1,37,1,12,39,1,37, 37,10,10,10,37,10,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,10,10,17,11,10,10,10, 10,10,10,10,10,10,10,10, 37,14,14,14,14,14,14,14, 14,14,10,10,10,10,10,10,
+  10,6,6,11,6,12,3,11, 14,6,6,12,31,6,12,6, 18,37,11,11,11,12,6,6, 8,37,6,10,10,10,10,10,
+  10,12,11,11,11,12,11,11, 12,12,12,12,12,11,12,12, 12,11,11,11,12,12,11,6, 11,11,11,6,10,39,10,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  10,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,14,2,2,2,2,2,2,
+  14,14,14,14,7,14,3,14, 14,3,14,14,18,14,14,18, 14,3,14,14,6,18,3,3, 5,3,27,3,20,20,20,7,
+  10,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,18, 10,10,10,10,10,10,10,10, 17,10,17,8,20,20,10,10,
+  // E9xx
+  7,1,11,4,1,37,39,37, 37,11,11,11,37,11,37,1, 37,37,37,37,37,37,37,37, 37,37,37,3,37,37,39,37,
+  11,10,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 37,17,11,17,11,11,11,11, 11,11,10,10,11,10,11,11,
+  11,11,11,11,11,11,3,8, 33,11,6,33,6,31,11,11, 33,6,31,31,3,11,11,11, 11,11,33,6,6,11,11,11,
+  6,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,8, 11,11,11,6,17,6,17,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,14, 2,2,2,2,2,2,2,2, 2,2,2,2,14,14,2,14, 2,14,2,2,2,2,2,3,
+  18,14,14,14,3,14,3,14, 18,3,14,14,18,14,18,3, 14,3,14,14,18,27,18,18, 3,3,18,18,20,20,20,3,
+  14,17,17,17,17,17,17,17, 17,17,20,17,17,17,18,17, 17,10,10,18,18,17,17,17, 17,17,17,18,20,18,18,10,
+  // EAxx
+  7,37,9,37,37,39,37,9, 37,10,10,37,37,10,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,12,10,12,11,10,10,10, 10,10,10,10,10,10,10,10, 37,10,6,10,10,10,10,10, 10,10,10,10,10,10,10,12,
+  10,31,31,31,31,31,6,12, 31,6,6,31,31,8,31,31, 3,31,37,31,31,37,31,8, 11,11,31,10,12,10,12,10,
+  10,10,12,12,12,11,37,12, 11,10,11,12,11,11,11,10, 12,11,11,11,11,11,11,12, 11,6,12,8,17,6,3,37,
+  6,39,6,6,2,3,2,3, 6,6,6,2,39,6,6,6, 6,3,6,6,6,6,6,6, 6,11,6,11,12,6,6,6,
+  10,14,6,5,14,36,8,14, 3,3,5,5,5,5,5,3, 2,2,2,2,2,2,9,2, 2,2,2,2,2,2,2,12,
+  3,3,14,3,10,5,3,3, 3,3,3,3,3,3,5,3, 14,3,14,3,3,3,5,3, 3,34,3,7,20,20,20,20,
+  10,20,10,10,18,10,10,20, 10,20,10,10,10,10,10,20, 10,10,10,10,18,20,10,10, 10,20,10,18,20,20,18,10,
+  // EBxx
+  7,10,37,37,4,37,37,37, 37,10,10,10,37,10,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,10,10,10,11,10,16,10, 10,11,10,5,10,10,10,11, 37,10,17,17,17,10,10,17, 17,10,10,10,10,36,10,10,
+  10,3,8,8,8,3,11,11, 3,18,14,11,8,3,31,18, 18,37,8,3,31,3,8,37, 39,18,37,3,10,10,37,39,
+  17,10,11,11,16,11,11,16, 11,11,16,16,11,16,11,10, 16,11,11,16,16,11,16,11, 3,3,11,37,8,37,5,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,36,2,5,2,2,2, 2,2,2,36,2,2,2,2, 2,2,2,2,2,5,2,2, 2,2,5,2,5,2,7,2,
+  5,18,14,5,3,18,3,14, 3,18,3,3,18,14,18,18, 3,3,18,18,18,18,3,3, 3,3,3,8,20,20,20,20,
+  10,18,10,10,10,10,10,20, 10,18,10,10,17,10,10,18, 17,10,18,10,18,18,18,10, 17,17,17,10,10,20,10,10,
+  // ECxx
+  7,11,37,1,37,37,37,37, 37,14,10,14,37,11,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  11,10,11,11,11,10,10,17, 14,10,11,11,10,10,10,10, 37,11,10,10,17,11,17,11, 17,17,11,10,11,10,14,10,
+  11,1,17,8,8,18,8,8, 8,8,1,8,31,17,39,11, 17,31,17,17,1,1,17,17, 17,18,3,14,17,11,11,11,
+  3,1,12,12,12,16,1,1, 12,16,12,12,12,12,12,1, 12,1,12,12,12,16,12,1, 11,10,12,11,17,11,11,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,10,2,2,2,2,2, 2,2,2,2,2,2,2,2,
+  2,2,2,2,2,2,2,2, 14,2,2,3,36,36,3,2, 2,2,2,10,2,2,2,14, 2,2,2,2,2,2,14,11,
+  18,14,14,14,17,3,17,14, 14,18,14,14,3,14,14,18, 3,5,3,11,7,18,3,5, 18,3,12,5,20,20,20,20,
+  10,18,17,17,17,10,17,17, 10,17,10,17,10,10,10,10, 17,17,17,10,17,18,17,17, 18,17,17,10,10,10,11,10,
+  // EDxx
+  7,11,37,37,37,37,37,37, 4,1,1,1,37,1,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  11,1,11,17,11,11,1,1, 11,11,11,17,1,10,1,1, 37,11,11,11,11,11,11,11, 11,11,10,1,11,11,10,1,
+  11,1,33,33,33,18,1,1, 33,18,1,33,8,33,1,1, 33,39,33,33,33,33,33,37, 11,37,33,11,10,11,11,11,
+  17,1,1,1,1,1,1,1, 1,10,1,1,1,1,1,1, 1,1,1,1,1,1,1,8, 1,10,1,11,17,10,11,37,
+  2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 11,2,2,3,2,2,2,2, 2,2,2,2,2,2,2,10,
+  1,11,36,3,11,3,3,3, 11,7,36,36,3,5,5,7, 7,5,3,10,7,3,3,3, 10,9,5,5,3,3,9,11,
+  5,18,11,11,11,18,11,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11,
+  10,11,36,11,11,10,11,10, 10,18,10,10,11,10,10,18, 18,10,10,10,10,11,10,10, 11,18,11,10,10,20,10,10,
+  // EExx
+  7,10,37,37,37,37,4,37, 37,10,10,1,37,10,10,37, 39,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,10,10,10,11,10,10,10, 10,10,10,10,10,10,10,10, 37,17,17,17,10,17,10,10, 10,17,10,10,10,10,10,10,
+  10,3,3,31,31,18,31,31, 3,3,31,8,31,31,31,39, 8,37,31,31,31,37,31,31, 31,18,8,10,10,10,3,10,
+  17,11,16,16,16,37,11,16, 8,11,16,16,11,16,11,11, 16,11,16,16,11,8,16,3, 11,11,16,37,10,3,3,37,
+  2,2,6,2,2,10,3,2, 2,2,3,2,6,2,6,2, 3,6,11,2,10,6,2,2, 37,2,2,2,2,3,2,2,
+  10,3,5,3,5,3,8,3, 3,3,3,3,36,10,3,5, 5,7,3,5,3,7,3,3, 10,2,10,5,10,3,3,10,
+  17,18,3,10,17,18,3,8, 3,18,5,3,17,5,3,18, 3,3,3,3,3,18,3,27, 18,3,3,3,5,20,20,20,
+  17,10,10,10,10,10,10,17, 10,10,10,10,10,10,18,10, 10,10,10,18,10,10,10,10, 17,17,17,18,18,10,10,10,
+  // EFxx
+  7,37,37,37,37,37,37,10, 37,17,20,17,37,17,37,37, 37,37,37,37,37,37,37,37, 37,37,37,3,37,37,37,37,
+  17,17,17,17,17,10,18,17, 17,17,17,17,17,10,10,17, 37,10,10,17,10,10,10,17, 17,10,17,17,17,17,17,17,
+  3,11,11,11,11,11,3,3, 8,18,3,11,3,31,37,37, 18,37,37,39,31,11,37,8, 8,37,11,37,17,17,37,17,
+  17,12,11,11,11,11,11,30, 3,16,30,11,11,11,11,16, 10,11,11,11,11,16,11,11, 11,39,39,8,17,37,3,37,
+  2,2,2,2,2,2,2,2, 2,37,2,2,2,39,2,2, 2,2,2,2,2,2,2,3, 39,3,2,2,2,2,12,2,
+  17,36,36,3,2,5,5,5, 2,36,7,7,36,2,3,2, 5,3,3,10,2,3,3,5, 2,2,2,2,2,2,2,2,
+  3,5,18,18,18,7,18,18, 18,3,18,18,18,18,18,3, 18,3,18,18,18,7,18,5, 3,5,3,3,20,20,18,20,
+  10,5,18,20,18,10,18,18, 10,20,18,10,18,18,10,10, 10,20,18,10,18,20,18,18, 10,20,18,10,10,20,18,10,
+  // F0xx
+  3,37,1,37,10,37,39,39, 37,10,10,37,37,11,4,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,10,10,10,11,10,10,10, 10,10,11,10,10,10,10,10, 37,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,1,
+  10,12,3,14,1,1,1,13, 1,13,8,8,13,13,37,18, 18,37,13,39,37,13,39,11, 39,37,1,11,10,10,3,10,
+  17,13,1,13,13,13,1,1, 1,13,1,16,13,13,16,16, 16,37,13,1,16,13,16,1, 1,16,13,11,10,11,14,39,
+  39,6,6,6,36,11,4,36, 6,6,6,6,6,6,6,6, 2,6,6,6,6,6,6,6, 6,4,3,3,10,2,10,10,
+  2,11,3,3,3,3,2,3, 5,3,3,5,5,5,3,5, 3,3,5,10,5,3,5,5, 7,5,11,11,5,3,5,11,
+  3,18,5,8,3,18,3,11, 5,18,3,3,18,3,18,18, 3,18,18,18,18,18,3,7, 3,18,5,3,20,20,20,20,
+  10,10,10,10,17,10,10,10, 10,17,10,17,10,10,10,18, 10,10,10,10,10,10,10,17, 10,17,17,10,10,13,10,10,
+  // F1xx
+  3,9,37,9,1,10,39,37, 1,12,10,37,37,10,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,10,10,10,10,10,10,10, 10,10,17,10,10,10,10,10, 37,10,10,10,10,10,10,10, 10,10,10,12,10,10,10,10,
+  1,1,1,12,8,1,8,1, 1,1,1,8,1,1,37,1, 3,8,3,12,8,1,37,12, 8,37,8,10,1,12,8,10,
+  17,1,12,12,10,1,10,1, 10,1,8,12,10,12,1,1, 10,1,10,12,10,1,37,1, 10,10,1,3,17,11,5,37,
+  39,6,6,6,4,10,4,4, 6,6,37,6,6,6,6,6, 6,6,6,6,10,6,6,6, 6,37,10,3,4,3,4,4,
+  10,11,36,3,3,7,5,5, 3,8,5,3,5,7,3,8, 3,3,3,10,3,3,5,3, 10,5,3,3,3,7,3,3,
+  17,5,11,3,3,3,3,3, 11,3,3,18,3,18,18,11, 18,3,18,5,3,5,3,18, 3,7,18,18,20,20,20,20,
+  10,20,10,17,10,10,10,20, 10,17,10,10,10,10,10,10, 10,10,10,10,17,10,10,10, 10,20,10,10,10,18,10,10,
+  // F2xx
+  3,1,37,1,37,37,39,37, 37,10,10,10,37,10,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,10,10,10,1,10,10,10, 10,10,10,10,10,10,10,10, 37,10,10,10,10,10,10,10, 10,10,10,10,10,20,10,10,
+  10,31,31,17,31,12,10,1, 1,18,31,1,31,31,31,1, 31,37,8,31,31,8,39,37, 39,3,31,10,10,10,8,10,
+  17,16,1,1,1,16,39,1, 12,16,1,12,1,1,1,12, 1,1,1,12,12,12,1,1, 1,10,1,1,17,11,37,37,
+  37,6,6,39,4,10,3,4, 37,6,6,6,6,6,6,37, 6,6,6,6,10,6,39,6, 39,4,12,11,3,12,3,4,
+  10,11,5,3,5,5,3,3, 5,5,5,3,5,8,1,3, 3,5,7,10,7,5,26,5, 10,3,3,20,3,3,3,7,
+  3,18,11,3,5,18,3,11, 11,18,11,3,3,11,3,18, 3,3,1,11,3,18,11,3, 5,18,3,3,11,11,11,3,
+  10,18,10,17,17,10,17,18, 10,17,10,10,17,10,10,18, 10,10,10,10,18,18,17,10, 17,18,17,10,10,10,10,10,
+  // F3xx
+  3,1,1,37,4,4,39,37, 1,10,10,9,37,10,37,1, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,10,10,10,17,10,10,10, 10,10,11,17,10,10,10,1, 37,18,1,10,10,18,10,18, 10,18,1,10,10,10,1,10,
+  3,11,1,1,1,1,1,1, 18,18,31,31,31,1,1,8, 1,11,1,39,31,37,39,1, 37,37,31,37,1,10,37,1,
+  39,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,11,17,11,24,37,
+  37,39,6,6,37,10,3,12, 37,37,6,6,6,6,6,6, 6,11,23,6,12,6,6,39, 37,24,10,3,12,3,10,12,
+  10,11,5,3,8,8,3,3, 5,3,8,3,3,5,5,3, 3,3,3,12,3,3,9,5, 3,3,10,3,9,2,3,12,
+  5,18,18,11,18,18,3,11, 11,11,11,18,18,11,11,18, 18,11,18,11,18,18,11,18, 11,11,11,11,11,11,11,11,
+  10,10,10,10,10,18,10,10, 10,18,10,18,18,10,18,10, 10,10,10,18,18,10,10,10, 10,10,18,18,20,20,10,10,
+  // F4xx
+  3,4,37,37,37,37,39,37, 37,11,10,37,37,11,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,11,17,11,11,10,20,11, 11,10,11,3,10,10,18,20, 37,10,25,17,10,10,10,11, 10,10,10,11,11,17,10,10,
+  17,18,11,8,11,18,11,11, 11,18,24,11,11,11,37,18, 18,37,11,37,11,11,39,11, 11,37,11,11,17,11,37,11,
+  17,11,11,11,11,37,39,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,39,3,37,
+  2,39,6,6,3,24,3,3, 11,37,37,39,11,6,6,6, 37,6,23,6,3,39,6,37, 37,11,12,3,39,12,12,4,
+  25,5,3,7,11,3,11,11, 8,3,8,3,3,8,3,8, 8,8,3,10,3,3,5,3, 5,5,3,5,3,3,9,8,
+  18,18,3,3,3,18,3,3, 5,3,3,3,3,3,8,18, 3,5,18,3,3,18,3,18, 3,18,1,3,20,20,20,3,
+  10,18,17,17,17,17,3,20, 10,17,10,10,17,10,10,18, 10,17,18,10,10,18,17,18, 17,17,17,10,20,20,20,37,
+  // F5xx
+  3,37,1,4,37,39,39,37, 37,10,10,37,37,10,37,39, 37,39,37,37,37,37,37,37, 39,37,37,37,37,37,37,37,
+  10,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10, 10,10,10,10,10,20,10,10,
+  10,10,11,1,3,8,8,1, 10,1,1,1,1,1,37,8, 1,1,1,1,1,1,1,8, 8,1,1,1,17,10,37,39,
+  17,12,1,12,12,1,12,1, 1,1,1,12,1,1,1,12, 1,3,1,12,1,1,12,1, 1,1,12,1,8,11,3,37,
+  37,6,6,6,4,10,4,4, 6,6,6,6,6,39,6,6, 6,11,6,6,10,6,6,6, 4,4,4,4,3,3,3,4,
+  10,11,5,3,3,3,8,8, 5,1,3,3,8,8,5,1, 8,5,3,10,3,3,5,3, 3,3,10,3,3,5,3,3,
+  3,5,18,5,18,5,18,1, 11,18,11,18,3,11,3,11, 18,11,18,18,11,11,11,18, 11,11,11,11,11,11,18,11,
+  10,11,18,11,18,11,11,18, 10,25,20,18,18,10,10,10, 10,1,18,18,18,10,18,18, 20,3,18,18,3,18,18,33,
+  // F6xx
+  3,1,37,37,37,37,39,37, 37,1,1,1,37,1,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  11,10,1,1,1,10,1,17, 3,10,11,5,10,10,10,1, 37,5,1,1,5,10,10,3, 1,1,10,10,1,11,1,1,
+  5,11,1,1,1,1,1,1, 1,24,1,1,1,1,39,37, 11,37,1,1,1,37,1,37, 1,1,1,37,17,1,39,1,
+  17,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,8,1,11,5,37,
+  39,6,6,4,24,24,3,3, 37,6,6,6,37,37,6,37, 6,17,17,6,39,37,39,6, 37,37,3,11,4,3,3,4,
+  11,11,5,3,3,8,3,3, 3,3,3,3,3,3,3,8, 3,3,3,10,3,3,3,5, 3,5,3,3,3,5,5,5,
+  3,3,3,3,3,18,11,11, 11,18,11,11,11,11,3,11, 11,11,11,11,11,18,11,3, 11,11,11,11,11,20,11,1,
+  10,17,10,11,17,10,11,17, 10,17,10,18,17,11,10,20, 13,20,17,10,17,18,1,17, 17,20,17,10,10,20,13,10,
+  // F7xx
+  3,1,37,37,37,37,39,37, 37,10,18,6,37,10,37,37, 37,37,37,37,37,37,37,37, 37,37,7,37,37,37,37,39,
+  17,17,17,17,11,10,18,17, 11,10,17,3,17,10,18,10, 11,11,11,11,11,11,11,11, 11,11,17,17,10,17,10,17,
+  8,18,11,8,3,18,8,8, 3,18,11,3,11,11,39,18, 11,37,11,39,37,3,11,39, 11,37,3,11,11,8,17,17,
+  17,10,37,11,11,10,11,11, 37,8,11,11,11,39,11,20, 11,11,11,11,11,11,11,11, 39,10,11,37,17,17,8,37,
+  3,6,6,3,3,3,3,3, 37,6,6,39,6,37,6,39, 6,37,11,6,10,6,6,6, 4,37,3,3,10,4,12,4,
+  17,3,3,3,11,3,26,3, 3,3,8,8,3,3,3,3, 3,3,3,10,8,3,26,3, 10,5,3,3,3,5,3,3,
+  3,18,3,3,3,18,3,5, 3,18,3,18,18,18,18,18, 18,3,18,18,18,18,3,18, 18,18,18,3,20,20,20,20,
+  10,18,10,17,17,10,17,17, 10,17,10,10,17,10,18,18, 17,17,10,18,17,18,17,18, 17,18,17,18,10,20,20,10,
+  // F8xx
+  3,1,37,37,37,37,39,37, 1,17,17,37,37,17,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  17,17,17,17,1,17,16,17, 17,16,17,5,17,17,17,17, 37,5,1,17,1,1,1,1, 1,10,17,17,17,17,17,17,
+  10,8,3,1,1,1,12,1, 1,1,8,1,1,1,37,37, 1,37,1,39,37,8,1,8, 8,37,1,37,17,17,37,1,
+  17,12,1,12,1,12,1,1, 1,12,1,1,1,1,1,12, 1,8,1,1,1,1,1,1, 1,1,1,3,37,37,5,37,
+  39,6,6,39,4,16,3,17, 39,6,37,39,6,37,6,37, 37,11,6,16,16,37,16,6, 37,37,12,3,10,3,12,24,
+  17,11,5,3,11,8,8,8, 5,1,8,5,8,8,1,8, 8,5,3,10,3,5,3,3, 10,5,5,3,5,5,3,5,
+  5,5,3,11,24,17,17,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,3, 11,3,11,11,11,11,11,11,
+  17,17,17,17,17,17,17,17, 10,17,10,17,17,12,18,17, 17,17,10,11,17,17,11,17, 17,17,17,18,10,18,10,37,
+  // F9xx
+  3,1,37,37,37,37,39,39, 37,12,12,1,37,12,37,39, 37,37,37,37,39,37,37,37, 37,37,37,37,37,37,37,37,
+  12,17,12,17,11,11,30,12, 12,12,17,5,12,12,12,17, 37,17,17,17,17,17,10,17, 3,17,12,12,12,17,12,12,
+  8,8,11,8,12,11,24,24, 24,24,11,17,11,11,11,8, 39,37,11,8,11,11,11,39, 11,11,3,39,17,12,24,11,
+  17,11,12,12,12,11,12,11, 12,11,12,12,12,12,12,11, 12,37,12,12,12,11,12,24, 11,11,12,37,17,24,24,37,
+  37,24,6,11,11,12,37,24, 24,24,24,37,37,24,24,24, 24,24,24,12,24,24,37,24, 24,24,12,24,24,24,12,24,
+  12,5,24,3,8,5,5,24, 5,24,1,5,5,5,8,8, 5,5,3,8,3,3,5,8, 10,5,8,5,24,3,9,24,
+  1,5,24,5,8,5,3,5, 3,1,5,24,17,5,5,5, 8,17,17,5,3,8,8,8, 8,8,8,5,8,8,8,8,
+  10,17,17,17,17,10,17,17, 10,17,18,17,17,17,17,17, 17,20,17,20,17,7,17,17, 17,17,17,18,10,8,8,10,
+  // FAxx
+  3,10,1,37,37,37,37,37, 37,1,17,1,37,17,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  17,17,17,17,1,17,17,17, 17,17,17,17,17,17,17,17, 37,17,17,17,17,17,17,17, 1,17,17,17,17,17,1,17,
+  8,8,1,8,8,1,1,8, 8,1,1,24,1,1,37,37, 8,39,1,37,1,1,39,39, 11,1,1,37,17,11,39,17,
+  17,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,37, 1,37,1,1,17,11,11,37,
+  39,6,6,6,12,17,37,12, 37,6,37,37,6,6,6,6, 6,6,6,6,12,6,6,24, 6,37,12,12,24,12,12,4,
+  17,5,3,5,5,6,8,8, 8,5,5,11,8,5,1,5, 5,3,3,3,5,3,3,5, 10,5,3,9,5,3,5,11,
+  5,18,11,11,18,18,3,11, 11,18,11,11,11,11,11,11, 11,11,11,11,11,11,11,18, 11,11,11,11,11,11,11,11,
+  17,18,17,11,17,17,11,17, 12,17,17,17,17,18,17,18, 17,18,17,17,17,18,17,17, 17,17,17,1,5,5,5,10,
+  // FBxx
+  3,37,37,37,37,37,37,14, 37,10,10,10,39,10,37,37, 37,37,37,37,37,37,37,37, 37,37,37,3,37,37,37,37,
+  10,10,10,10,11,10,10,10, 10,10,10,10,10,10,10,10, 39,10,10,10,10,10,10,11, 10,10,10,10,10,10,10,10,
+  10,8,11,11,8,18,8,3, 11,18,8,11,11,10,39,37, 11,39,37,37,37,37,37,37, 11,37,11,37,10,10,3,10,
+  10,12,11,16,16,12,12,16, 12,8,12,16,16,16,16,11, 16,3,16,16,11,37,12,37, 10,39,16,37,39,37,37,37,
+  37,6,6,6,37,10,11,39, 37,6,37,39,6,6,6,6, 3,37,37,6,6,39,6,6, 6,37,37,11,3,10,37,3,
+  10,5,10,3,8,8,5,8, 8,3,5,5,5,16,11,8, 3,8,8,5,5,3,3,3, 5,3,5,3,5,3,5,5,
+  5,18,5,3,3,18,3,5, 3,18,3,18,18,18,18,18, 18,3,18,3,18,18,3,18, 3,18,7,5,5,5,5,5,
+  5,18,10,10,10,10,10,10, 16,10,10,10,10,10,18,18, 10,10,10,5,18,10,10,10, 10,5,5,11,11,5,5,10,
+  // FCxx
+  3,10,37,37,37,37,37,37, 1,11,10,37,4,10,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,10,10,11,11,10,10,11, 10,10,10,10,10,10,10,10, 37,10,10,10,10,10,10,10, 10,10,10,10,10,11,10,10,
+  10,33,11,11,11,33,11,11, 11,33,11,11,11,11,11,33, 11,37,11,11,11,33,11,11, 11,11,11,39,10,10,37,11,
+  11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11, 11,11,11,37,11,37,39,39,
+  37,6,6,6,37,11,11,11, 6,6,6,6,39,6,6,6, 6,6,11,6,10,6,6,6, 39,11,3,11,11,4,39,4,
+  10,5,5,5,5,5,8,5, 8,8,8,8,5,11,8,5, 5,5,3,5,5,33,3,5, 5,5,5,5,3,5,5,5,
+  5,5,18,5,18,3,18,18, 18,3,18,18,18,18,18,5, 18,3,18,18,18,5,33,18, 5,3,18,18,5,1,5,1,
+  10,10,20,10,10,10,18,11, 10,18,10,18,20,10,10,10, 13,10,10,20,18,10,10,20, 10,10,18,18,11,1,13,10,
+  // FDxx
+  3,37,1,37,37,37,37,37, 37,13,13,37,37,13,4,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  13,13,13,13,13,13,13,13, 13,13,13,13,13,13,13,13, 11,11,11,11,11,11,11,11, 11,11,13,13,13,13,13,13,
+  13,13,13,13,13,13,13,13, 13,13,1,13,13,13,13,37, 13,37,13,13,13,13,39,37, 1,13,13,13,13,13,37,13,
+  13,33,1,13,13,33,13,13, 1,33,1,13,13,13,13,13, 13,13,13,13,13,13,1,13, 13,13,13,37,13,13,3,37,
+  39,37,37,37,37,22,3,3, 3,37,37,37,39,37,39,39, 39,37,22,12,22,11,37,37, 3,37,12,3,3,12,12,4,
+  33,33,8,3,8,8,5,5, 5,8,8,8,8,5,8,1, 3,5,3,5,13,3,3,3, 3,9,5,3,3,3,9,3,
+  5,3,3,3,3,18,3,11, 3,18,3,3,5,3,3,3, 13,3,3,3,3,3,3,3, 5,5,11,5,11,1,13,11,
+  10,18,10,11,10,18,11,13, 12,18,10,10,10,10,18,10, 13,10,10,20,10,10,1,20, 18,20,5,5,5,13,13,10,
+  // FExx
+  3,39,39,39,37,37,39,39, 37,13,10,37,39,11,39,39, 39,39,39,39,39,37,39,37, 39,39,37,39,37,39,37,39,
+  10,10,10,1,1,10,13,13, 11,10,11,13,10,10,10,13, 11,11,11,11,11,11,11,11, 11,11,13,13,13,13,13,10,
+  13,13,1,11,13,13,13,13, 11,13,11,13,13,11,37,37, 11,37,37,11,13,13,39,37, 37,13,11,11,13,11,3,13,
+  13,13,13,13,16,13,13,13, 13,13,1,13,13,13,16,16, 16,13,1,16,13,13,13,11, 11,13,13,11,13,11,3,37,
+  3,11,37,37,4,4,4,4, 37,37,39,39,37,11,37,37, 11,37,22,16,39,11,39,37, 39,4,3,37,4,11,37,3,
+  3,11,1,3,8,8,8,8, 8,8,8,11,8,13,1,1, 8,1,3,18,3,3,3,8, 3,3,10,3,3,3,3,11,
+  5,18,11,11,3,18,3,11, 11,18,11,11,11,11,11,11, 11,11,11,11,18,18,18,3, 11,11,11,11,11,11,11,11,
+  10,18,10,10,10,18,10,10, 10,18,10,18,10,20,18,18, 10,10,10,20,18,18,13,10, 18,10,1,18,13,13,11,37,
+  // FFxx
+  3,37,39,39,39,37,37,39, 37,37,10,37,37,10,37,37, 37,37,37,37,37,37,37,37, 37,37,37,37,37,37,37,37,
+  10,10,10,37,37,10,10,10, 10,10,10,10,10,10,10,10, 37,36,36,37,36,36,39,39, 39,39,10,10,10,1,10,10,
+  10,39,39,39,39,37,39,39, 1,39,39,36,39,39,37,39, 39,39,37,36,39,39,36,37, 36,39,36,10,10,10,37,10,
+  10,2,2,2,36,2,2,2, 2,2,2,36,2,2,36,36, 36,2,2,2,2,2,36,2, 2,2,36,39,10,39,39,39,
+  36,36,39,37,39,10,39,39, 4,37,36,39,36,36,36,36, 36,37,39,39,10,11,39,39, 37,39,39,39,39,37,39,33,
+  10,39,10,33,39,39,36,33, 36,1,36,39,33,10,36,36, 39,39,39,18,39,39,39,39, 39,39,10,11,39,39,39,1,
+  10,1,1,11,39,39,39,39, 39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39, 3,3,3,3,11,3,3,1,
+  10,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10, 10,10,39,39,10,37,10,10,
+
+};             // End kMostLikelyEncoding
+
+// End of generated tables
+#endif  // COMPACT_ENC_DET_COMPACT_ENC_DET_GENERATED_TABLES_H_
diff --git a/ced/compact_enc_det/compact_enc_det_generated_tables2.h b/ced/compact_enc_det/compact_enc_det_generated_tables2.h
new file mode 100644 (file)
index 0000000..4ecf966
--- /dev/null
@@ -0,0 +1,856 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#include "util/basictypes.h"
+
+static const uint8 ced_hires_0[1024] = {
+  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  0,135,134,135,89,111,136,129,  81,121,130,40,64,74,78,13,  90,87,103,56,51,37,63,44,  0,97,60,55,143,97,70,100,
+  29,126,116,149,131,156,108,153,  147,119,135,111,133,135,115,0,  2,13,20,4,12,5,17,5,  4,0,58,50,2,30,80,64,
+  35,0,0,0,0,22,0,9,  14,12,4,6,7,8,16,3,  147,160,163,141,144,139,146,127,  131,124,23,17,0,11,16,6,
+  0,68,108,52,129,66,109,65,  113,58,116,124,126,117,88,114,  85,122,102,126,116,122,96,131,  102,126,107,117,49,113,80,128,
+  0,85,119,107,127,75,102,105,  118,101,108,118,101,117,98,128,  125,114,115,125,115,121,116,121,  125,130,122,119,64,102,78,124,
+  93,87,64,93,105,92,76,80,  113,82,75,88,89,68,88,97,  87,102,145,90,90,130,106,116,  129,61,81,75,47,69,74,64,
+  92,98,81,95,81,161,75,81,  101,95,93,75,100,87,108,91,  113,110,118,114,105,105,123,94,  89,92,104,90,62,85,81,84,
+
+  47,141,155,88,85,108,121,141,  94,73,82,81,163,125,111,89,  106,133,156,95,80,96,88,61,  65,47,74,55,33,54,59,19,
+  128,129,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  128,131,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  128,128,128,128,135,128,128,128,  128,128,161,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  141,115,118,118,118,128,115,127,  136,136,122,124,125,126,128,121,  147,128,128,128,128,128,128,123,  128,121,128,128,107,154,128,124,
+  82,141,145,136,128,144,115,123,  124,117,107,104,103,99,107,90,  92,98,102,82,88,134,161,126,  115,104,114,106,73,91,111,84,
+  128,93,94,94,94,116,91,103,  108,106,98,100,101,102,110,97,  137,133,120,132,146,114,136,131,  144,145,155,131,107,151,144,133,
+  128,103,106,106,106,128,103,115,  120,118,110,112,113,114,122,109,  157,138,128,117,136,123,136,128,  137,123,152,126,104,136,137,134,
+
+  32,94,46,28,98,102,130,97,  59,91,81,73,26,125,102,48,  100,66,105,57,87,121,71,120,  86,64,64,83,68,105,91,70,
+  32,130,98,103,64,30,123,122,  97,123,58,127,70,74,55,59,  53,99,95,99,105,52,48,73,  52,68,138,89,29,104,97,142,
+  20,99,54,114,87,86,108,55,  46,27,42,99,130,118,83,95,  138,115,69,67,96,95,125,86,  82,121,92,145,131,142,115,134,
+  27,53,57,104,139,102,124,124,  135,81,79,148,118,90,71,25,  151,83,146,71,74,129,109,35,  84,115,121,77,48,24,58,63,
+  29,55,85,51,70,123,21,95,  116,128,90,107,124,74,98,80,  132,125,112,114,118,109,167,103,  57,127,95,84,13,65,84,109,
+  27,137,123,69,151,81,84,95,  124,80,115,38,140,164,121,122,  86,116,83,102,117,110,111,92,  72,94,114,144,62,90,84,109,
+  31,128,63,37,14,138,126,79,  132,63,54,95,60,132,89,132,  25,77,134,94,93,154,147,125,  104,98,113,119,70,130,98,111,
+  24,78,61,30,100,41,65,115,  80,28,93,97,86,38,74,112,  85,105,135,113,132,45,65,30,  126,91,113,114,73,89,65,130,
+
+  21,150,114,47,106,125,121,37,  79,158,90,155,73,92,94,107,  87,137,97,135,91,139,152,102,  98,85,126,121,80,140,42,25,
+  23,47,75,42,64,150,67,93,  100,140,70,62,117,140,54,122,  100,98,95,105,88,100,132,41,  81,137,76,144,60,131,128,66,
+  23,59,107,144,98,44,20,119,  70,80,58,85,119,93,113,59,  83,28,117,67,135,65,77,60,  130,114,138,111,31,109,92,87,
+  18,93,79,109,57,128,94,69,  135,54,72,38,53,55,94,56,  133,98,153,147,82,58,124,55,  48,50,153,128,24,54,80,89,
+  29,130,95,117,49,47,46,91,  164,58,99,148,64,113,86,110,  144,134,49,60,102,62,103,107,  69,89,149,71,113,31,107,71,
+  25,90,106,113,119,82,75,91,  111,128,139,79,130,101,90,31,  97,103,87,84,53,138,43,87,  155,57,75,150,93,128,120,43,
+  24,118,82,52,79,56,143,92,  47,103,22,46,70,106,155,129,  93,104,125,42,96,124,137,93,  73,43,134,98,100,111,139,56,
+  22,65,103,76,38,122,121,155,  111,147,47,76,96,103,153,78,  71,103,137,104,150,89,139,159,  77,120,71,98,98,125,78,143,
+};
+
+static const uint8 ced_hires_1[1024] = {
+  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  62,124,71,116,117,77,46,71,  78,98,127,132,69,67,72,79,  34,37,88,95,81,88,135,138,  116,123,132,136,97,128,45,101,
+  68,71,36,0,24,19,3,1,  0,9,60,40,64,146,70,113,  20,16,20,26,13,20,9,12,  14,21,15,19,55,50,99,61,
+  17,127,133,119,128,134,113,109,  106,124,100,107,119,131,111,122,  138,113,136,154,132,125,120,114,  115,119,101,25,19,31,19,19,
+  122,112,48,123,115,89,133,132,  124,114,123,130,73,103,139,130,  106,90,103,114,71,97,92,74,  115,112,59,105,83,90,140,121,
+  118,113,51,133,112,43,123,112,  133,130,102,109,71,110,89,102,  128,125,104,139,115,139,129,134,  112,120,123,117,111,132,129,118,
+  73,151,165,130,127,146,100,107,  108,121,103,114,156,112,107,111,  125,129,150,135,107,155,118,116,  168,85,79,83,77,89,77,77,
+  98,101,81,63,71,82,66,64,  60,72,57,62,72,70,60,67,  75,153,138,154,129,161,146,125,  125,139,151,134,139,151,135,146,
+
+  59,21,36,18,26,37,21,19,  15,27,12,17,27,25,15,22,  30,34,38,44,31,38,27,30,  32,39,33,37,31,43,31,31,
+  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  128,127,128,124,144,128,127,126,  121,128,118,123,128,128,121,128,  128,128,128,128,128,128,128,128,  128,128,128,128,150,128,128,128,
+  90,112,109,86,83,124,57,54,  84,70,53,84,62,78,53,75,  124,134,116,95,118,85,129,65,  67,74,68,72,66,78,66,66,
+  141,134,118,107,135,127,130,134,  118,109,94,99,109,107,97,104,  112,116,120,126,113,120,109,112,  114,121,115,119,113,125,113,113,
+  161,134,128,112,120,139,115,128,  122,121,106,111,121,119,109,116,  124,128,128,128,125,128,121,124,  126,128,127,128,125,128,125,125,
+
+  76,29,158,87,47,122,133,89,  63,101,139,116,147,111,79,122,  60,112,93,68,42,145,73,100,  89,123,46,122,124,112,99,90,
+  118,56,99,61,145,53,131,144,  66,122,110,97,113,82,19,27,  33,134,120,84,79,124,78,108,  138,87,26,133,114,84,47,165,
+  62,148,104,137,139,97,125,86,  134,47,127,93,141,85,119,111,  126,56,42,26,102,89,122,48,  59,116,110,106,46,115,64,113,
+  107,81,49,29,28,64,130,22,  111,53,142,89,89,127,131,86,  122,122,37,143,66,96,82,105,  155,96,154,124,63,121,90,60,
+  115,107,42,30,134,130,119,108,  66,145,122,85,105,19,88,92,  36,134,34,101,97,112,152,73,  150,89,116,144,71,130,131,103,
+  88,123,77,30,132,53,98,51,  116,61,95,57,84,109,31,74,  20,98,135,114,78,114,95,123,  45,136,116,111,130,94,120,99,
+  114,121,64,107,94,104,29,77,  152,133,124,119,135,98,0,78,  118,115,88,102,57,61,51,89,  120,51,115,109,64,111,61,66,
+  110,135,106,110,98,74,86,137,  124,103,134,80,86,43,76,131,  134,105,91,84,73,34,71,133,  60,111,117,53,90,133,106,61,
+
+  147,38,145,28,137,149,110,112,  52,83,99,128,56,129,105,74,  93,60,45,62,73,86,30,82,  80,44,19,97,85,87,108,103,
+  99,114,94,104,97,104,140,51,  98,62,119,74,85,141,51,23,  71,58,119,110,151,65,116,74,  130,81,86,90,7,99,38,116,
+  61,59,140,66,91,133,123,152,  80,82,98,67,112,110,110,89,  121,132,120,62,43,74,45,110,  88,146,113,101,134,135,104,131,
+  110,47,96,67,123,147,69,70,  131,106,98,109,71,118,116,128,  92,100,149,53,144,117,99,136,  127,128,3,43,114,100,85,117,
+  92,134,156,8,88,62,89,98,  6,19,46,96,145,108,88,69,  78,94,152,96,146,108,133,66,  75,102,101,10,79,44,57,61,
+  102,96,123,91,109,149,84,63,  39,134,53,110,111,64,97,103,  155,133,105,105,34,125,93,56,  28,84,65,95,103,58,41,83,
+  48,25,116,120,91,104,124,84,  111,119,105,64,63,97,116,114,  128,103,136,74,59,33,47,93,  54,80,130,39,139,130,119,83,
+  140,68,94,85,77,79,118,109,  120,106,114,103,115,165,94,79,  60,52,84,77,82,78,49,74,  88,49,48,76,102,99,138,71,
+};
+
+static const uint8 ced_hires_2[1024] = {
+  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  44,106,18,108,117,63,65,73,  40,57,43,81,77,63,68,90,  54,16,20,95,85,131,112,100,  58,144,140,135,114,96,110,128,
+  111,93,68,129,135,62,95,32,  82,42,46,10,8,23,10,16,  26,21,70,26,93,84,168,105,  79,71,29,48,15,26,68,128,
+  28,126,105,123,109,126,102,109,  105,122,72,104,108,132,113,126,  118,82,122,110,129,125,114,134,  113,133,103,54,21,32,21,128,
+  113,122,134,118,123,77,97,101,  121,135,128,138,125,120,35,120,  31,24,148,129,0,0,0,0,  0,0,0,5,0,0,0,128,
+  137,137,112,130,105,127,110,121,  86,140,134,139,128,145,17,121,  19,27,60,150,106,62,95,0,  0,0,0,9,0,0,0,128,
+  86,81,78,87,82,79,82,75,  75,78,69,74,72,87,74,80,  90,85,84,72,92,96,88,82,  98,102,93,112,79,90,79,128,
+  162,135,144,153,151,137,127,118,  113,125,105,106,91,139,129,109,  124,140,83,71,91,95,87,81,  97,101,92,111,78,89,78,128,
+
+  40,35,34,43,36,33,36,29,  29,32,23,28,26,41,28,34,  44,39,38,26,46,50,42,36,  52,56,47,66,33,44,33,128,
+  128,128,128,131,128,128,130,128,  147,152,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  128,128,128,138,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  128,128,128,143,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  166,128,128,130,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,146,128,128,  128,128,128,128,148,128,128,128,
+  139,134,133,75,121,105,114,103,  64,68,129,100,62,76,63,69,  79,74,73,114,137,85,77,71,  174,140,82,101,68,79,68,128,
+  122,117,114,122,118,115,118,113,  112,117,105,110,108,123,110,116,  126,121,120,108,128,128,124,118,  128,128,128,128,115,126,115,128,
+  128,128,126,154,128,127,132,123,  137,126,117,122,120,128,122,128,  128,128,128,120,128,128,128,128,  128,128,128,128,127,128,127,128,
+
+  67,115,51,135,110,136,135,45,  132,133,58,84,156,90,77,88,  106,108,86,29,51,132,78,133,  122,67,145,151,77,36,57,128,
+  142,57,81,110,113,64,18,123,  101,136,98,45,102,79,83,102,  85,86,54,106,94,38,117,74,  115,80,89,151,109,98,137,128,
+  57,126,70,74,47,54,112,60,  146,46,72,36,108,101,48,40,  135,151,135,128,78,111,70,101,  107,100,25,118,65,57,106,128,
+  67,74,25,123,123,65,42,95,  135,62,82,86,45,70,104,59,  92,30,63,55,143,71,26,83,  97,107,87,111,25,86,45,128,
+  65,102,90,116,124,16,45,51,  110,129,118,128,73,120,108,139,  139,102,109,110,120,134,85,66,  104,100,96,129,134,94,84,128,
+  68,135,60,114,78,126,135,56,  22,121,35,117,101,118,119,120,  109,82,99,96,29,91,118,96,  63,104,18,139,47,66,138,128,
+  78,148,152,94,129,120,107,96,  141,71,52,46,111,50,97,36,  101,133,87,23,91,150,92,38,  110,103,97,84,79,68,85,128,
+  118,16,110,124,126,74,99,94,  132,79,88,135,103,84,161,153,  35,41,125,78,122,107,74,90,  93,122,134,117,97,91,38,128,
+
+  56,121,75,93,68,139,117,78,  23,63,43,75,128,101,116,59,  57,65,121,13,48,108,74,121,  144,120,128,78,95,135,119,128,
+  141,128,143,68,91,46,137,151,  29,50,32,92,55,73,81,107,  139,145,72,67,54,129,86,35,  105,40,40,99,98,61,142,128,
+  136,98,109,69,113,126,85,56,  56,103,117,104,17,70,148,128,  55,61,117,55,58,53,121,155,  86,126,75,104,27,105,100,128,
+  117,110,66,101,135,87,114,88,  69,93,78,106,98,98,117,132,  43,125,54,39,97,119,157,98,  79,131,147,134,59,130,143,128,
+  60,89,40,119,87,99,73,123,  138,107,135,72,78,97,83,134,  85,110,119,93,43,141,77,98,  119,124,28,104,55,131,118,128,
+  130,92,71,117,97,53,50,134,  114,136,136,98,51,71,62,115,  96,155,36,1,104,124,59,137,  117,93,26,47,129,107,82,128,
+  25,44,71,115,56,152,109,40,  117,70,60,119,146,80,83,130,  162,18,126,52,102,137,91,39,  105,113,91,105,37,46,95,128,
+  68,104,78,51,112,141,87,82,  79,68,59,77,84,49,21,91,  81,68,66,30,149,62,30,70,  81,114,25,107,6,89,62,128,
+};
+
+static const uint8 ced_hires_3[1024] = {
+  145,108,107,112,108,128,119,120,  123,130,108,110,133,138,120,117,  120,120,128,121,121,116,128,119,  128,119,122,114,121,119,123,124,
+  77,160,155,161,143,37,29,56,  47,35,127,103,75,130,115,110,  149,149,88,80,89,85,145,135,  102,93,107,99,91,89,140,135,
+  123,90,70,105,58,80,64,65,  54,64,75,114,51,62,65,58,  91,121,130,110,109,105,111,102,  107,100,93,91,94,94,90,92,
+  173,130,70,57,104,116,65,65,  135,145,70,76,167,129,117,91,  127,129,135,120,115,112,120,109,  117,108,170,131,84,86,91,132,
+  62,79,115,64,137,72,131,76,  108,65,120,128,125,126,92,124,  97,123,106,137,119,127,102,145,  120,143,106,114,81,121,87,140,
+  32,95,125,118,134,80,123,115,  112,107,111,122,99,125,101,137,  136,114,118,135,117,125,121,134,  142,145,120,115,95,109,84,135,
+  149,90,62,97,105,90,90,83,  100,81,70,84,80,69,84,99,  91,95,141,93,85,127,104,122,  139,91,91,84,114,85,87,82,
+  128,108,87,106,88,166,96,91,  95,101,96,78,98,95,111,100,  124,110,121,124,107,109,128,107,  106,107,102,86,93,92,87,95,
+
+  128,128,121,112,126,121,150,106,  125,124,120,96,136,130,135,110,  131,109,148,108,124,113,113,94,  107,139,145,102,114,94,96,95,
+  92,96,25,73,155,144,172,124,  82,104,144,100,98,115,154,121,  106,60,79,85,106,68,75,81,  150,81,74,87,105,46,52,81,
+  128,115,75,109,150,190,102,84,  108,126,118,117,98,102,82,70,  101,160,145,120,104,121,112,110,  124,103,124,102,101,99,97,98,
+  128,121,92,125,93,113,104,105,  94,104,93,99,93,102,105,98,  129,127,166,129,127,135,139,136,  142,143,142,131,131,127,123,126,
+  128,115,81,140,82,102,107,94,  83,93,83,84,80,91,94,87,  131,132,152,131,139,139,150,144,  142,131,134,133,139,135,137,136,
+  128,144,99,131,100,120,124,112,  101,111,100,102,98,109,112,105,  126,133,137,137,132,146,148,131,  144,153,139,142,147,123,115,120,
+  128,132,96,135,97,117,108,109,  98,108,97,99,95,106,109,108,  133,126,134,126,133,142,142,127,  140,133,144,121,134,129,135,117,
+  128,137,98,138,99,119,110,111,  100,110,99,102,97,112,111,111,  133,122,147,135,132,142,126,127,  144,133,138,140,129,124,135,131,
+
+  66,120,131,103,77,97,82,96,  49,122,50,79,108,111,157,61,  103,104,175,93,150,114,129,97,  163,62,107,74,85,83,86,65,
+  60,104,55,155,93,106,145,111,  154,124,81,79,114,119,104,98,  78,156,105,125,122,58,126,51,  158,67,68,140,110,97,170,83,
+  57,133,137,102,68,149,108,61,  123,146,85,82,59,65,109,45,  93,71,73,77,93,78,111,93,  84,127,90,164,148,138,91,161,
+  61,151,94,146,151,131,111,141,  77,115,111,98,134,96,86,120,  72,120,108,84,108,154,91,107,  59,119,71,81,97,99,110,111,
+  61,123,117,54,44,130,154,70,  125,120,23,146,110,91,116,88,  138,83,134,93,150,98,76,53,  90,99,140,60,102,90,84,118,
+  48,50,50,114,97,154,78,31,  88,101,72,126,31,104,99,105,  108,142,96,135,96,117,112,62,  90,103,116,59,144,151,100,63,
+  60,111,72,74,81,149,104,72,  154,140,90,149,106,117,107,164,  94,68,40,103,113,75,95,119,  78,119,86,84,153,133,135,61,
+  57,55,162,113,44,109,106,106,  156,45,51,86,91,122,91,49,  59,115,122,101,140,123,148,88,  128,112,113,99,106,160,94,146,
+
+  60,103,65,134,55,108,82,107,  109,74,62,66,51,60,154,112,  107,132,118,98,153,90,145,96,  127,103,138,131,32,128,125,71,
+  83,37,62,74,156,128,140,85,  67,149,49,158,98,78,96,58,  74,105,154,86,85,104,70,106,  71,139,144,112,70,87,62,57,
+  61,52,121,154,38,91,135,69,  50,69,82,123,119,105,113,111,  94,87,99,91,73,100,97,82,  110,100,136,69,126,142,55,51,
+  74,69,108,46,132,141,110,157,  133,69,143,44,100,133,144,154,  148,71,78,118,106,110,142,141,  77,145,112,124,118,87,69,36,
+  55,94,65,106,116,57,117,82,  111,82,114,127,58,134,115,141,  151,122,124,60,133,57,158,91,  139,85,137,75,157,84,128,56,
+  59,132,91,110,40,123,69,72,  156,84,95,148,88,151,121,95,  59,132,143,80,88,128,94,95,  76,120,121,149,98,86,94,91,
+  63,124,105,95,61,107,107,129,  65,159,114,147,62,170,118,134,  140,104,135,145,113,123,129,67,  107,117,135,114,64,66,85,147,
+  65,101,84,63,70,103,113,106,  138,80,159,36,114,114,86,133,  93,102,95,90,159,137,73,65,  75,126,75,50,154,87,101,119,
+};
+
+static const uint8 ced_hires_4[1024] = {
+  125,128,119,118,134,121,118,117,  121,123,122,116,128,124,115,120,  123,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,133,
+  89,125,49,76,12,21,28,18,  21,36,39,85,85,24,34,27,  45,91,39,57,98,41,58,61,  34,65,57,69,88,91,63,51,
+  88,107,83,89,76,130,128,123,  123,120,114,104,121,106,102,107,  111,122,121,124,104,124,105,123,  75,193,173,183,166,161,151,140,
+  57,123,96,99,90,98,90,87,  92,100,90,86,102,110,91,100,  111,104,117,127,115,104,104,107,  93,107,76,126,75,129,66,99,
+  132,140,43,135,109,85,142,143,  142,123,145,142,88,114,151,140,  111,113,116,119,86,108,108,99,  125,132,66,121,102,103,162,139,
+  127,140,45,144,105,38,131,121,  150,137,124,119,85,120,100,111,  132,147,116,143,129,149,144,158,  121,139,129,132,129,144,150,135,
+  118,171,152,134,113,134,101,109,  118,121,117,117,163,115,111,113,  122,144,155,132,114,158,126,133,  170,108,78,105,109,94,91,87,
+  107,128,102,85,100,86,92,85,  99,107,95,79,99,102,94,112,  103,175,150,158,143,171,161,149,  134,158,157,149,157,163,156,163,
+
+  109,134,92,99,79,88,99,96,  113,116,109,96,117,109,94,107,  109,117,140,123,112,109,118,129,  82,99,110,93,90,120,93,105,
+  174,130,49,65,96,52,55,98,  100,54,66,43,94,53,51,88,  117,70,89,96,67,74,69,96,  111,61,42,98,52,58,55,82,
+  104,127,95,100,95,101,95,103,  111,102,126,112,114,120,101,120,  111,128,128,120,116,125,119,128,  87,104,85,98,95,101,98,94,
+  127,145,120,137,126,116,135,123,  128,134,149,145,134,137,137,135,  138,172,148,150,144,142,146,155,  116,128,113,126,123,128,126,122,
+  127,149,116,132,127,126,132,129,  142,132,146,137,136,137,141,133,  138,152,166,158,154,155,150,158,  104,121,102,120,112,119,115,111,
+  147,147,113,127,121,115,115,109,  131,129,132,124,135,125,120,129,  126,150,153,163,145,131,145,157,  122,128,120,128,128,128,128,128,
+  132,146,128,118,123,118,136,128,  140,142,131,133,128,133,123,134,  135,144,155,144,129,141,146,152,  119,128,117,129,127,128,128,126,
+  136,161,124,119,112,127,127,117,  125,135,136,116,159,139,127,131,  135,144,151,151,142,140,146,158,  121,128,119,128,128,128,128,128,
+
+  56,117,131,52,109,89,49,75,  81,137,58,134,87,143,104,64,  67,158,68,113,116,101,108,155,  107,161,107,92,127,123,72,117,
+  86,78,40,98,54,51,93,94,  146,77,132,88,105,47,86,121,  62,41,132,68,70,140,41,104,  135,103,110,99,123,62,88,138,
+  101,108,91,108,121,139,137,42,  81,139,135,123,107,124,135,85,  101,65,99,90,94,85,106,115,  139,139,64,101,103,134,95,143,
+  70,126,127,75,75,101,140,147,  87,164,107,104,165,99,81,128,  127,71,73,92,129,93,149,99,  116,117,63,116,99,109,92,116,
+  76,80,61,56,75,111,73,103,  101,107,139,145,119,80,146,97,  80,85,92,153,99,90,106,97,  63,145,46,83,77,87,100,104,
+  146,115,124,137,168,42,104,127,  143,56,58,87,91,127,81,104,  84,80,65,78,61,37,98,132,  153,100,149,107,103,115,86,77,
+  130,158,89,75,83,106,85,85,  154,103,67,119,146,96,127,133,  57,111,108,142,164,78,117,83,  96,129,56,73,114,66,45,67,
+  144,99,131,129,98,141,102,131,  94,130,123,75,85,40,91,109,  73,161,102,81,53,102,161,124,  69,88,72,127,111,144,48,90,
+
+  63,71,74,140,135,125,89,112,  80,139,117,97,84,70,104,105,  134,91,113,99,91,128,126,100,  80,119,115,145,82,39,81,166,
+  114,92,92,84,94,122,49,104,  105,137,124,110,127,85,72,101,  21,83,117,52,78,79,102,69,  159,137,104,143,160,134,95,104,
+  121,128,79,153,100,154,100,103,  107,108,78,130,91,172,136,158,  103,65,53,145,51,100,86,107,  108,103,136,103,149,108,105,77,
+  79,64,42,108,78,77,129,65,  55,77,109,88,67,93,68,52,  53,94,114,121,109,121,106,60,  146,113,83,116,96,136,58,100,
+  84,132,50,139,86,86,148,141,  107,91,140,68,130,131,107,42,  102,135,166,160,54,62,91,126,  79,136,52,161,124,123,100,71,
+  70,99,52,78,44,116,54,121,  67,112,82,59,164,83,92,133,  108,81,120,156,91,84,129,131,  107,110,139,91,122,128,82,92,
+  118,77,72,119,66,133,131,40,  125,123,54,65,72,159,54,65,  84,86,68,142,68,101,155,79,  102,155,56,134,117,163,131,155,
+  66,82,99,78,48,100,154,96,  81,163,89,132,131,155,126,110,  54,98,82,94,51,152,112,120,  138,77,149,127,74,99,109,80,
+};
+
+static const uint8 ced_hires_5[1024] = {
+  128,127,124,128,128,147,138,139,  162,124,125,126,127,127,152,184,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+  59,56,52,84,74,62,105,50,  75,46,54,59,89,56,113,130,  119,132,110,115,136,127,123,76,  85,121,121,94,112,104,106,128,
+  126,117,109,74,77,123,124,119,  122,105,96,86,86,78,87,79,  94,169,180,158,166,149,129,116,  113,117,109,100,100,85,105,128,
+  59,98,77,92,84,100,75,88,  93,94,54,78,89,98,98,106,  103,65,103,95,118,105,93,113,  76,102,66,54,135,52,60,128,
+  114,126,138,119,130,83,102,112,  141,139,142,144,138,118,52,132,  48,39,161,146,26,1,0,0,  0,6,0,43,34,8,25,128,
+  137,140,115,130,111,132,114,131,  105,143,147,144,140,142,33,132,  35,41,72,166,126,73,105,0,  0,0,0,53,3,50,23,128,
+  112,128,104,79,120,147,178,100,  105,85,90,74,80,77,120,87,  130,112,180,83,120,100,91,85,  85,95,84,102,99,90,92,128,
+  162,138,147,153,157,142,131,128,  132,128,118,111,103,136,145,120,  140,154,95,87,111,106,97,91,  91,101,86,97,105,96,98,128,
+
+  96,79,91,123,95,99,109,128,  124,80,77,74,81,79,85,86,  101,94,91,83,107,102,93,87,  87,97,91,93,101,92,94,128,
+  130,76,66,68,64,65,77,111,  81,61,51,63,45,76,57,136,  63,56,53,46,77,64,62,49,  49,59,123,97,63,54,56,128,
+  86,86,81,86,91,131,96,85,  96,81,82,79,84,117,90,91,  106,99,96,88,112,107,98,92,  95,102,87,98,113,97,99,128,
+  114,112,109,114,116,119,125,113,  127,111,110,121,112,112,118,119,  128,127,124,116,128,128,126,120,  120,128,115,126,140,125,127,128,
+  103,101,98,103,105,118,105,102,  113,98,99,96,101,101,107,108,  147,116,113,105,128,124,115,109,  109,119,104,115,136,114,116,128,
+  121,119,116,121,123,142,128,128,  128,116,117,114,119,119,125,126,  128,128,128,123,128,128,128,127,  127,128,122,128,128,128,128,128,
+  118,116,113,118,120,127,150,122,  139,118,114,111,116,116,122,123,  128,128,128,120,128,128,128,124,  124,128,119,128,128,128,128,128,
+  127,118,115,120,139,136,123,124,  134,127,116,113,118,118,124,125,  128,128,128,122,128,128,128,126,  126,128,121,128,128,128,128,128,
+
+  144,113,79,134,119,150,168,110,  109,123,87,135,164,70,123,153,  60,128,94,93,119,96,90,82,  80,91,52,120,157,65,95,128,
+  152,77,95,138,152,63,122,108,  72,111,161,80,53,163,71,71,  154,47,85,88,86,124,118,33,  115,126,72,98,91,95,82,128,
+  128,146,140,137,59,123,98,75,  133,154,41,39,133,67,133,64,  115,98,30,37,84,76,58,26,  78,73,153,84,82,120,63,128,
+  106,93,89,71,142,126,122,109,  127,113,101,74,47,71,102,125,  99,87,54,87,115,144,165,81,  99,49,47,81,86,139,114,128,
+  95,47,91,59,105,149,149,123,  89,57,69,124,88,133,119,156,  141,64,149,165,107,86,69,108,  135,57,146,122,119,128,82,128,
+  44,75,63,157,128,38,92,158,  41,77,129,36,81,96,88,54,  44,93,58,46,115,99,80,131,  96,65,76,87,70,72,83,128,
+  165,111,57,90,104,46,83,56,  72,75,68,75,96,118,139,55,  81,118,70,56,99,104,83,106,  143,142,105,139,81,83,155,128,
+  86,127,119,93,103,124,116,150,  118,69,88,93,98,72,109,119,  122,130,119,64,126,86,111,57,  87,131,74,125,103,69,156,128,
+
+  98,68,93,126,62,132,161,123,  149,72,93,84,65,65,112,144,  101,154,60,90,129,83,167,144,  140,140,113,105,164,79,61,128,
+  112,113,139,157,96,91,153,68,  106,113,83,60,100,103,74,71,  111,102,68,110,41,73,115,67,  93,107,158,143,83,149,120,128,
+  95,117,116,117,99,81,87,114,  115,118,121,91,142,90,110,101,  82,114,128,148,135,125,105,70,  80,91,110,89,129,99,140,128,
+  85,169,69,133,73,49,110,60,  96,123,99,77,114,72,157,121,  140,133,145,94,106,142,90,139,  96,154,153,76,95,136,38,128,
+  144,125,98,54,162,77,113,95,  108,88,42,67,143,69,97,30,  68,71,136,64,127,135,138,72,  107,115,59,137,148,97,158,128,
+  122,156,149,122,108,71,79,147,  128,144,38,68,131,98,99,121,  164,143,123,52,140,126,130,91,  154,67,95,124,146,43,91,128,
+  124,62,79,123,127,91,91,135,  121,69,95,76,76,128,74,47,  52,71,100,47,105,141,145,88,  123,140,106,86,152,110,91,128,
+  123,121,138,108,94,76,62,115,  57,128,70,49,149,129,153,78,  71,120,117,115,74,80,143,95,  64,35,73,80,92,79,49,128,
+};
+
+static const uint8 ced_hires_6[1024] = {
+  131,89,116,77,83,97,102,136,  133,105,111,105,87,87,87,105,  108,118,117,124,140,105,110,104,  68,96,93,87,81,101,115,102,
+  17,136,152,147,132,68,100,48,  56,48,81,53,20,72,87,102,  143,155,79,74,108,84,137,154,  76,94,89,93,83,102,92,87,
+  66,79,73,41,49,115,104,62,  46,89,89,70,100,49,89,121,  91,76,85,75,125,76,65,130,  119,156,144,96,123,158,156,118,
+  20,106,67,42,24,96,44,57,  144,132,70,77,156,109,89,83,  121,135,126,114,134,111,112,128,  91,109,152,125,78,102,101,136,
+  43,96,88,68,104,16,25,125,  72,107,35,59,22,13,0,14,  89,145,128,73,85,131,89,165,  108,108,98,155,106,124,167,120,
+  128,81,99,82,73,82,85,63,  69,94,110,62,46,48,43,56,  155,167,150,139,160,127,125,138,  97,126,85,77,73,94,89,89,
+  67,136,152,100,83,91,124,114,  106,89,92,124,146,131,103,110,  120,137,118,86,122,92,116,123,  90,103,95,79,104,103,104,97,
+  122,74,119,104,124,104,96,98,  90,118,93,81,76,100,118,130,  143,123,120,167,152,126,138,151,  125,120,83,101,102,118,116,108,
+
+  79,88,103,83,60,34,70,38,  92,77,94,49,116,95,82,88,  43,144,139,131,133,98,98,121,  86,94,95,101,96,80,109,97,
+  88,98,105,102,82,110,51,104,  115,100,128,93,119,80,46,69,  110,117,74,90,120,121,93,128,  119,85,83,79,94,103,104,110,
+  89,75,115,84,121,92,114,102,  122,90,122,128,106,108,84,118,  107,133,113,126,141,123,115,158,  103,135,99,112,107,138,121,141,
+  94,79,115,97,115,104,113,108,  122,102,110,119,95,109,90,121,  119,127,118,122,154,126,117,158,  112,137,104,112,113,135,125,129,
+  121,83,109,77,84,83,62,98,  104,84,113,116,93,81,73,85,  118,113,99,96,123,96,108,131,  95,111,79,75,101,113,113,103,
+  140,66,86,79,79,90,80,94,  100,88,90,93,77,79,74,87,  118,152,103,106,142,108,110,143,  111,131,122,106,115,147,126,135,
+  166,67,85,78,78,89,79,93,  99,87,89,92,76,78,73,86,  130,127,102,124,155,105,121,151,  123,149,123,109,120,162,148,136,
+  154,75,95,88,88,99,89,103,  109,97,99,102,86,88,83,96,  149,130,112,108,140,112,120,145,  114,125,119,102,115,145,139,135,
+
+  31,150,134,141,48,120,36,27,  151,116,122,82,89,136,91,28,  119,68,44,150,145,40,107,55,  36,92,23,66,46,41,24,59,
+  41,45,12,0,141,58,83,30,  9,9,61,106,0,45,9,16,  14,23,66,152,39,5,42,56,  144,155,123,64,151,84,75,33,
+  107,62,98,81,89,126,87,70,  167,111,120,112,104,100,108,129,  72,124,176,74,96,72,84,77,  115,63,29,72,108,97,111,154,
+  85,144,123,65,80,95,99,66,  65,55,176,121,104,135,27,146,  62,44,158,114,101,106,105,126,  60,80,72,160,55,126,113,101,
+  36,0,87,20,72,44,8,0,  67,127,87,121,10,84,77,51,  34,21,68,32,57,64,38,24,  9,14,132,0,17,87,36,41,
+  67,104,95,43,73,154,82,100,  126,72,76,68,26,71,58,32,  24,45,36,21,55,166,135,135,  134,126,7,36,81,101,84,170,
+  75,82,59,49,43,129,38,169,  67,116,63,94,69,64,52,101,  133,117,129,120,66,52,28,69,  66,82,50,119,104,83,74,71,
+  47,131,113,126,57,142,116,109,  99,107,76,126,9,6,123,152,  96,136,103,126,142,67,90,109,  102,148,97,101,76,87,83,95,
+
+  49,8,75,129,53,138,158,150,  98,83,101,27,3,66,159,125,  128,114,158,134,119,126,153,139,  137,128,35,126,84,61,108,84,
+  34,0,18,21,24,22,93,33,  38,1,18,168,88,79,156,105,  149,47,24,56,50,69,76,64,  20,102,71,68,46,62,48,58,
+  30,53,84,128,83,135,48,120,  32,36,94,29,44,92,100,149,  138,79,46,24,153,61,30,49,  158,143,56,138,115,118,110,93,
+  74,93,20,31,73,44,42,111,  52,105,68,74,46,43,29,66,  45,67,37,7,76,88,82,101,  52,70,30,45,51,78,66,100,
+  54,32,43,64,72,117,82,71,  69,29,37,29,4,167,126,75,  26,161,51,143,53,30,104,121,  74,79,144,27,157,129,153,117,
+  55,53,53,87,24,19,80,75,  68,63,40,42,111,20,59,68,  72,114,50,26,138,29,70,86,  43,51,156,34,99,130,66,103,
+  53,0,46,31,71,79,87,57,  59,51,34,39,24,0,25,66,  1,47,140,45,144,92,34,50,  90,75,50,2,24,40,147,114,
+  63,150,105,113,95,108,52,72,  62,157,153,73,141,125,32,38,  104,104,25,64,137,147,31,105,  16,139,27,46,1,90,101,23,
+};
+
+static const uint8 ced_hires_7[1024] = {
+  120,127,110,107,125,119,124,105,  127,128,122,128,102,123,102,99,  129,154,113,122,107,119,106,109,  116,98,104,108,120,117,116,111,
+  91,83,50,46,97,86,122,78,  99,143,61,80,78,80,62,52,  17,15,56,62,51,91,64,93,  138,118,150,133,136,119,114,121,
+  173,162,166,159,148,141,205,123,  204,166,143,146,120,144,133,153,  134,173,138,140,103,106,108,117,  108,108,71,103,148,151,114,164,
+  86,147,121,122,141,130,130,109,  132,142,124,133,108,143,112,113,  130,102,125,146,122,120,113,107,  113,92,86,127,123,136,75,107,
+  137,141,85,124,139,117,115,121,  96,81,80,124,153,77,61,54,  173,171,86,199,83,61,48,51,  58,40,46,50,62,59,58,53,
+  145,149,144,119,151,127,147,125,  167,161,116,130,99,120,128,128,  128,103,131,112,106,147,108,130,  151,83,89,93,105,102,101,96,
+  129,134,99,103,101,147,132,118,  111,96,87,94,100,88,67,64,  93,74,78,87,72,84,86,74,  81,63,69,73,85,82,81,76,
+  125,123,130,99,124,109,144,109,  111,115,106,113,93,107,93,83,  92,101,134,122,117,122,132,121,  100,122,88,92,104,101,112,95,
+
+  117,129,112,84,103,101,127,90,  87,91,82,100,75,179,112,185,  110,132,107,115,106,185,103,103,  136,103,135,134,129,86,137,125,
+  139,147,101,95,125,132,138,134,  114,118,109,116,89,113,94,123,  98,96,100,109,94,106,93,96,  103,85,91,95,107,104,103,98,
+  159,165,129,148,166,141,172,150,  179,163,171,181,122,149,165,145,  138,128,145,149,124,146,132,127,  143,122,121,133,144,135,162,148,
+  171,165,133,151,163,146,162,148,  172,168,156,165,126,154,137,132,  143,140,143,155,135,156,140,142,  142,127,130,137,149,145,153,146,
+  132,133,96,93,127,105,110,92,  113,117,108,115,88,109,88,85,  94,169,171,176,140,166,165,125,  134,143,158,156,158,166,150,158,
+  169,154,126,147,134,128,175,148,  138,128,128,128,118,128,118,115,  124,125,128,128,123,128,122,125,  128,114,120,124,128,128,128,127,
+  160,159,125,129,155,136,156,153,  149,128,128,128,117,128,117,114,  123,124,128,128,122,128,121,124,  128,113,119,123,128,128,128,126,
+  168,147,128,128,128,139,128,143,  141,128,128,128,127,128,127,124,  128,128,128,128,128,128,128,128,  128,123,128,128,128,128,128,128,
+
+  26,71,23,0,18,145,93,129,  88,129,0,160,78,145,20,29,  21,64,41,28,155,90,68,73,  46,65,128,9,130,142,83,131,
+  59,84,81,102,49,55,8,132,  69,48,0,80,0,123,0,36,  37,33,0,62,129,121,64,162,  123,122,0,154,69,160,143,89,
+  155,85,24,119,133,127,86,100,  126,180,98,119,16,37,81,98,  82,71,113,46,31,50,30,33,  70,148,98,135,141,102,162,99,
+  94,74,90,98,122,40,42,20,  72,125,152,93,42,97,112,5,  103,130,75,82,21,65,120,149,  107,58,80,48,61,150,41,63,
+  118,82,161,115,70,0,55,0,  13,151,100,56,59,0,25,151,  102,102,94,0,133,95,68,98,  35,166,95,80,163,108,138,85,
+  47,27,46,3,18,108,113,138,  156,140,109,142,22,49,123,83,  98,107,78,74,32,109,58,60,  83,0,109,0,1,0,105,55,
+  71,49,44,31,49,30,38,141,  120,37,96,114,14,14,14,21,  22,111,109,31,70,103,7,100,  17,109,62,65,72,49,18,128,
+  40,154,151,137,126,105,104,61,  119,144,127,42,0,0,164,141,  135,126,95,119,107,112,29,0,  0,0,99,11,15,13,9,0,
+
+  108,133,116,95,53,149,107,100,  56,66,115,79,15,100,65,0,  1,0,7,140,111,132,101,0,  95,4,92,92,46,22,161,72,
+  58,38,113,14,88,36,11,97,  67,63,27,39,143,108,133,82,  135,0,52,60,72,93,90,149,  109,147,143,103,45,159,148,153,
+  132,115,1,88,45,51,72,56,  44,62,5,83,23,28,153,121,  167,37,147,101,0,82,26,76,  97,99,17,1,1,0,40,86,
+  83,46,30,15,41,21,26,83,  78,66,41,84,84,78,0,41,  50,103,63,122,73,69,0,61,  48,0,97,105,70,96,62,90,
+  85,84,93,6,54,125,46,123,  102,62,7,71,96,44,54,0,  54,4,166,155,31,144,107,0,  87,55,65,143,79,47,0,5,
+  163,95,121,171,161,163,63,142,  100,152,141,64,95,125,105,56,  0,89,99,83,64,43,95,89,  83,50,23,0,68,0,0,76,
+  92,65,42,71,88,88,176,120,  171,105,154,154,18,44,54,106,  112,92,134,139,0,134,133,130,  116,101,84,51,64,46,90,155,
+  152,122,117,113,19,86,30,51,  85,122,99,90,18,146,45,102,  58,13,43,75,104,119,101,0,  77,0,0,0,146,0,119,0,
+};
+
+static const uint8 ced_hires_8[1024] = {
+  130,127,155,168,146,193,173,178,  138,176,189,169,199,152,146,172,  128,127,128,122,128,128,109,122,  115,128,126,128,120,128,128,128,
+  142,160,113,159,112,138,145,87,  133,125,100,110,109,101,70,134,  52,81,111,42,63,48,9,22,  34,44,34,64,45,60,106,128,
+  98,91,146,105,104,134,59,53,  74,82,71,49,70,51,52,76,  77,69,81,64,94,79,51,64,  57,75,68,77,62,74,106,128,
+  90,132,91,134,101,123,97,99,  109,125,92,97,124,114,109,140,  123,84,137,120,149,126,95,134,  90,124,96,82,140,78,116,128,
+  68,69,88,133,99,128,124,111,  101,105,137,125,134,111,84,138,  137,75,81,64,111,89,60,64,  57,75,68,77,62,215,110,128,
+  111,181,158,179,148,178,161,155,  155,149,184,172,200,153,139,187,  156,138,159,137,153,154,108,115,  129,118,111,120,105,117,128,128,
+  91,101,111,146,104,81,82,70,  84,86,94,72,93,74,75,99,  100,92,104,87,117,102,74,87,  80,98,91,100,85,97,128,128,
+  137,111,137,155,136,166,170,156,  138,140,168,155,174,149,139,169,  119,111,123,106,128,121,93,106,  99,117,110,119,104,116,128,128,
+
+  127,121,128,160,166,147,149,173,  185,181,184,160,174,149,143,166,  164,138,146,126,151,136,178,115,  117,182,167,95,80,92,124,128,
+  113,114,134,159,120,170,172,178,  160,151,180,174,185,158,134,167,  122,114,126,109,128,124,181,188,  193,130,119,145,158,155,152,128,
+  155,164,146,164,148,177,155,147,  159,166,174,167,174,147,135,174,  105,97,186,168,122,107,79,92,  85,103,96,105,90,102,128,128,
+  161,164,146,176,146,180,170,159,  156,165,177,172,179,155,145,171,  111,103,162,180,176,113,104,98,  91,109,102,111,96,108,128,128,
+  187,159,158,190,172,180,181,159,  155,156,183,160,177,165,170,171,  148,172,125,108,128,141,95,108,  101,119,112,121,126,118,128,128,
+  128,128,120,133,128,128,128,121,  128,128,128,123,128,125,126,128,  128,128,128,128,128,128,125,128,  166,128,128,128,131,128,128,128,
+  128,128,119,128,128,128,128,122,  129,131,128,122,128,124,125,128,  128,128,128,128,128,128,124,128,  128,128,128,128,128,128,128,128,
+  128,128,128,154,128,128,133,128,  142,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,  128,128,128,128,128,128,128,128,
+
+  20,141,64,92,31,78,151,53,  145,20,53,48,65,154,102,114,  93,115,27,0,49,93,58,115,  144,65,153,88,149,88,17,128,
+  84,40,161,60,108,42,125,33,  139,68,83,54,43,81,132,82,  69,84,108,0,122,85,6,2,  53,70,102,0,36,34,41,128,
+  100,104,66,145,69,110,103,89,  76,65,98,98,84,63,121,133,  106,95,152,44,168,45,122,127,  129,38,117,149,53,137,128,128,
+  134,104,149,56,114,62,74,104,  71,45,50,137,132,122,110,44,  112,56,54,136,150,128,59,0,  0,81,103,3,0,0,33,128,
+  81,17,22,151,126,101,49,126,  22,36,76,149,81,76,40,83,  64,111,53,68,65,145,96,0,  110,0,87,0,39,98,99,128,
+  104,20,78,59,26,158,114,116,  105,158,62,77,97,99,149,60,  158,104,111,51,111,77,41,70,  35,124,61,140,87,83,139,128,
+  89,103,71,128,99,85,122,108,  62,50,67,61,120,64,44,79,  43,9,107,179,176,163,107,154,  141,87,110,163,2,37,115,128,
+  0,162,20,49,20,47,97,121,  95,83,96,88,115,58,47,97,  61,11,73,19,29,17,0,0,  0,148,82,94,111,89,40,128,
+
+  120,92,69,58,56,38,49,120,  38,153,95,56,69,140,92,44,  157,155,88,91,145,0,89,50,  109,97,0,66,0,18,97,128,
+  114,13,57,120,93,77,153,77,  152,135,99,80,88,24,69,60,  107,53,43,2,13,0,131,78,  141,49,121,0,119,153,135,128,
+  0,4,6,55,124,56,65,29,  21,40,149,41,100,137,17,39,  3,163,111,111,140,0,52,59,  72,113,76,118,116,81,92,128,
+  47,32,26,62,0,51,45,166,  142,38,168,49,140,20,96,145,  124,74,90,169,73,151,143,89,  64,116,26,75,20,162,143,128,
+  0,0,91,31,9,39,39,26,  90,29,42,35,53,27,112,56,  58,67,4,76,79,51,153,115,  122,50,137,120,19,114,123,128,
+  78,120,61,100,65,59,85,52,  72,57,93,54,61,10,72,78,  56,75,77,0,33,34,43,38,  0,0,14,44,0,44,24,128,
+  151,95,67,85,59,72,70,135,  53,60,105,54,54,25,160,139,  142,61,116,126,90,1,104,159,  139,115,141,100,41,62,100,128,
+  0,0,16,46,152,103,55,43,  56,47,60,148,157,92,133,148,  0,0,158,50,138,103,111,67,  150,157,47,12,78,21,146,128,
+};
+
+static const uint8 ced_hires_9[1024] = {
+  130,71,129,141,137,60,133,127,  113,78,80,127,94,127,117,51,  103,62,119,129,148,68,133,101,  38,42,158,125,112,190,163,124,
+  139,45,127,155,132,105,145,125,  136,78,127,128,145,136,141,61,  122,142,128,129,137,97,140,143,  1,3,145,120,131,129,135,62,
+  124,125,104,88,80,128,69,72,  68,127,36,103,135,92,101,131,  77,126,132,112,51,143,88,87,  94,151,72,95,120,110,80,161,
+  81,123,101,98,60,133,79,54,  52,155,28,125,46,72,67,101,  90,70,86,76,45,128,37,119,  86,129,81,86,102,49,41,88,
+  96,132,92,99,114,136,90,108,  121,130,15,114,132,93,122,129,  135,112,129,111,82,133,131,124,  119,129,105,108,112,39,105,147,
+  115,68,124,132,149,103,109,139,  127,72,144,126,137,143,146,76,  122,99,138,142,133,69,134,126,  32,11,131,145,107,148,126,61,
+  77,126,72,78,49,124,127,85,  75,135,43,82,121,79,83,143,  74,43,129,98,111,130,44,45,  87,106,101,92,138,51,52,89,
+  95,126,67,51,135,116,72,112,  51,131,24,106,133,97,111,143,  71,33,136,82,68,135,62,78,  22,49,63,84,114,36,104,82,
+
+  46,129,63,71,69,93,73,121,  119,140,58,72,114,107,136,142,  96,57,126,112,97,126,48,117,  55,54,76,101,134,53,81,140,
+  139,93,114,144,122,123,128,130,  146,120,146,137,129,138,134,101,  109,151,120,136,133,78,129,131,  0,6,154,131,126,122,151,58,
+  103,57,111,129,142,74,122,99,  101,56,40,136,131,124,138,107,  93,87,91,150,153,48,74,96,  29,52,125,155,90,119,156,95,
+  71,137,72,129,58,106,76,87,  65,135,10,79,127,82,98,139,  95,29,127,121,126,138,126,104,  58,30,84,95,111,27,55,91,
+  148,128,84,57,100,136,84,113,  74,138,28,114,116,81,111,129,  86,138,17,107,80,134,130,64,  160,116,80,94,104,93,101,84,
+  76,131,112,98,55,135,114,120,  76,132,40,106,110,135,121,131,  146,114,77,99,59,136,66,90,  106,140,89,78,129,75,105,92,
+  119,136,75,128,125,129,141,113,  81,139,14,124,57,64,124,132,  74,124,75,119,117,122,73,70,  119,145,101,93,142,120,105,136,
+  111,62,156,130,141,107,139,152,  124,103,148,125,129,141,131,71,  138,116,130,137,129,82,139,148,  0,0,125,133,142,126,134,55,
+
+  72,116,48,77,48,122,93,65,  57,115,22,108,127,51,83,142,  87,100,151,86,87,131,39,43,  86,113,70,90,98,53,85,72,
+  149,20,138,146,143,112,62,118,  158,65,125,130,127,150,129,33,  114,116,113,124,140,58,141,141,  24,20,165,129,84,163,122,98,
+  106,140,115,104,111,132,132,124,  123,125,23,112,87,134,120,128,  118,121,93,124,114,141,143,116,  117,135,106,137,107,90,103,86,
+  104,114,115,105,103,116,131,80,  117,119,30,147,132,120,108,122,  147,136,106,132,147,127,81,123,  134,114,71,127,123,66,120,147,
+  106,131,95,77,65,135,100,63,  69,133,8,113,86,81,116,133,  74,114,131,122,67,128,53,135,  151,132,60,61,111,92,110,88,
+  161,88,152,116,143,105,115,146,  136,61,114,137,128,126,120,44,  151,90,132,138,125,54,155,126,  8,28,138,144,121,160,160,75,
+  87,124,98,82,154,145,88,92,  46,138,32,132,81,107,138,90,  81,34,84,103,27,129,104,81,  109,61,73,49,116,47,121,91,
+  72,136,72,95,97,132,49,95,  111,125,35,117,129,103,124,133,  112,95,117,134,95,115,67,97,  102,148,126,135,108,97,99,123,
+
+  165,12,134,132,98,115,126,113,  92,122,36,138,34,110,157,63,  107,139,40,148,113,22,79,71,  31,22,127,133,78,127,95,90,
+  38,12,112,64,133,138,43,108,  175,16,168,125,147,148,91,8,  100,54,87,106,121,17,106,130,  17,47,101,161,65,95,131,83,
+  119,144,110,98,143,110,64,120,  43,121,32,102,111,138,133,123,  86,119,120,80,52,126,109,143,  98,130,90,84,85,38,91,148,
+  95,124,58,99,38,144,76,50,  77,139,32,143,125,91,120,110,  106,28,108,77,132,126,36,92,  136,57,38,62,101,62,40,90,
+  47,23,65,73,87,20,162,94,  103,127,100,162,133,118,116,37,  117,60,94,98,151,51,49,98,  24,20,116,121,117,51,42,90,
+  54,123,33,45,31,151,56,33,  42,145,36,29,25,35,119,81,  32,43,48,22,12,118,44,43,  149,32,38,50,76,65,37,95,
+  46,130,41,34,22,145,59,49,  59,134,20,125,111,79,130,70,  69,37,81,47,140,127,73,75,  123,43,61,147,80,46,72,78,
+  115,32,81,74,58,149,102,67,  71,46,65,60,49,57,61,30,  68,174,54,51,45,52,72,53,  57,53,71,79,105,84,67,123,
+};
+
+static const uint8 ced_hires_10[1024] = {
+  58,122,143,128,136,100,142,138,  75,129,136,141,139,140,49,124,  126,129,133,99,142,134,152,137,  120,138,45,14,25,143,136,140,
+  125,108,87,90,85,127,88,79,  128,11,95,136,93,104,132,81,  132,106,62,140,86,72,90,83,  121,114,149,146,89,121,124,118,
+  133,75,100,96,92,129,79,127,  127,44,117,130,100,119,132,110,  114,131,93,115,52,110,92,107,  134,108,137,144,103,119,70,100,
+  129,70,93,99,140,110,67,56,  133,40,103,132,85,100,142,72,  134,84,77,132,70,53,62,94,  79,31,106,60,43,131,68,32,
+  132,100,125,106,118,135,136,106,  130,30,113,134,97,123,128,124,  125,111,84,130,80,106,89,109,  111,56,133,127,111,123,95,111,
+  67,126,128,140,149,99,132,133,  69,144,128,139,143,147,68,121,  136,137,133,67,119,131,136,128,  136,149,79,10,23,96,114,96,
+  125,102,73,98,152,143,106,80,  137,19,128,84,119,136,89,83,  74,107,89,132,74,58,81,126,  52,49,110,73,108,116,88,42,
+  142,113,137,119,142,109,104,86,  122,38,105,107,137,130,124,108,  116,84,69,126,79,79,97,100,  101,51,133,133,97,103,115,109,
+
+  96,116,125,136,124,122,129,150,  119,148,137,131,138,134,97,111,  120,136,131,74,132,148,147,147,  126,125,57,11,16,101,139,150,
+  64,113,99,105,134,74,84,122,  61,63,130,131,122,139,112,93,  90,147,154,53,127,109,126,145,  147,109,83,59,31,99,68,83,
+  137,90,110,94,59,103,126,88,  132,21,84,127,93,105,137,97,  124,122,120,138,85,68,128,65,  88,44,132,42,58,106,79,34,
+  124,85,81,119,108,133,128,91,  138,36,114,116,86,113,128,87,  26,102,87,132,98,77,76,98,  95,93,108,117,161,118,149,141,
+  131,125,92,102,68,135,80,85,  131,41,104,110,136,120,132,145,  74,100,62,135,119,73,95,106,  84,72,119,134,102,130,74,113,
+  136,71,72,117,124,128,73,106,  138,23,122,64,52,124,130,76,  75,120,120,120,127,85,126,105,  103,120,93,146,119,110,119,124,
+  59,156,145,150,141,110,137,123,  104,147,127,129,138,125,77,138,  130,135,130,87,148,123,129,136,  129,131,48,15,26,124,110,114,
+  115,51,73,57,54,120,36,57,  115,11,101,125,70,76,140,93,  150,94,84,126,85,49,83,103,  85,56,128,111,78,103,71,102,
+
+  137,112,116,124,112,131,132,116,  126,33,113,86,134,122,127,115,  94,124,117,137,127,116,110,91,  128,86,117,135,114,119,99,120,
+  116,104,122,83,102,118,81,68,  114,12,145,131,124,108,121,145,  103,127,145,127,115,112,108,119,  140,58,140,108,123,116,98,134,
+  131,98,133,63,58,136,35,61,  131,29,113,81,78,117,131,74,  128,121,76,127,101,71,79,105,  70,83,126,131,150,127,103,111,
+  95,145,124,149,145,102,158,144,  73,115,137,128,126,118,39,154,  127,136,124,85,112,136,102,157,  149,155,63,39,21,131,157,85,
+  121,75,41,91,52,123,59,122,  133,55,87,113,80,75,144,80,  121,95,110,126,123,72,70,79,  101,39,94,99,84,136,68,51,
+  127,76,124,126,75,95,60,87,  130,36,76,111,110,138,142,109,  125,113,92,127,77,120,87,88,  92,44,116,59,67,146,52,55,
+  124,94,127,65,59,135,31,83,  154,42,119,47,70,56,99,85,  70,79,69,127,80,57,107,42,  77,38,108,135,113,116,94,95,
+  134,58,90,56,42,142,76,51,  134,21,125,102,78,135,80,81,  78,60,137,122,61,53,43,84,  147,45,82,70,120,107,56,52,
+
+  125,58,101,70,50,142,31,51,  142,44,142,128,93,121,116,115,  115,88,119,127,79,67,100,81,  78,68,109,74,131,115,109,34,
+  128,20,41,24,44,151,46,58,  143,31,53,37,38,115,104,35,  49,13,50,110,40,29,34,32,  52,77,75,38,140,67,53,62,
+  30,102,98,113,102,138,130,139,  39,47,119,112,103,104,37,128,  128,103,110,33,80,102,106,125,  86,137,98,43,38,91,95,175,
+  21,105,132,102,123,141,110,109,  31,168,125,139,150,92,18,94,  86,105,122,38,63,172,77,132,  155,93,48,68,35,60,65,79,
+  28,139,76,117,98,118,79,120,  117,45,140,50,110,154,88,110,  45,147,116,36,127,99,132,98,  137,124,54,34,56,82,164,143,
+  35,74,103,109,98,33,86,125,  55,113,149,141,121,121,50,122,  113,105,152,60,154,113,84,61,  128,49,72,16,20,144,58,61,
+  82,126,110,148,135,61,143,155,  65,78,116,108,135,109,46,91,  122,125,145,67,103,116,124,162,  127,185,84,36,46,110,131,52,
+  42,137,146,121,136,110,144,167,  67,120,128,125,146,130,34,118,  111,122,138,47,72,152,133,119,  127,160,56,29,36,97,143,120,
+};
+
+static const uint8 ced_hires_11[1024] = {
+  129,46,102,93,87,61,93,55,  96,48,77,76,65,67,91,46,  64,58,113,75,57,62,82,91,  106,70,112,123,68,70,75,108,
+  113,55,138,144,134,87,155,40,  138,123,135,133,127,142,137,53,  147,126,126,136,132,133,154,124,  123,43,142,128,28,86,28,104,
+  122,134,145,124,106,123,46,119,  48,128,47,146,45,45,47,127,  41,140,89,43,38,100,46,40,  62,104,61,104,126,110,126,124,
+  91,125,26,136,96,129,23,115,  19,144,133,118,113,115,63,132,  59,137,94,51,29,117,36,127,  39,136,46,74,118,107,102,110,
+  89,128,72,40,74,135,21,135,  34,144,57,55,66,55,51,129,  53,127,93,50,32,126,63,29,  37,128,44,72,113,117,128,118,
+  77,69,127,126,130,77,123,31,  130,136,133,130,123,130,153,82,  138,132,127,134,127,137,125,128,  123,115,114,116,75,59,43,117,
+  113,116,62,47,39,142,82,137,  41,119,39,88,88,58,47,136,  28,38,72,11,27,108,35,44,  65,155,73,100,130,105,132,111,
+  93,34,108,139,100,55,67,50,  146,50,129,131,153,145,111,31,  105,138,137,151,137,51,116,127,  146,30,74,76,15,37,10,59,
+
+  98,133,33,28,17,143,30,136,  41,115,34,100,131,73,38,123,  12,134,69,24,4,134,39,29,  52,118,53,81,110,140,124,88,
+  82,128,133,117,145,106,126,85,  134,68,159,123,131,130,125,127,  111,117,130,146,125,44,111,141,  127,118,87,70,96,9,66,50,
+  92,145,86,40,68,123,37,120,  71,114,90,126,74,74,28,128,  73,120,89,54,119,118,68,72,  51,112,35,63,137,116,114,104,
+  98,123,104,91,72,135,54,139,  112,130,98,141,114,67,63,136,  86,42,87,61,112,117,101,58,  106,134,41,69,123,123,123,117,
+  85,137,150,37,54,142,42,126,  36,124,60,30,130,98,12,132,  135,24,89,53,49,98,125,57,  119,105,38,66,134,116,118,107,
+  98,141,79,89,141,133,98,129,  133,130,72,83,48,92,48,131,  38,31,95,107,139,113,59,69,  40,143,37,65,112,132,107,111,
+  112,118,69,50,46,149,49,152,  39,130,45,42,40,30,66,118,  54,26,75,14,107,112,49,54,  65,116,73,100,115,143,78,91,
+  91,69,145,144,140,88,104,98,  127,131,122,136,136,132,115,76,  134,134,127,139,121,152,149,142,  144,83,166,167,31,77,39,99,
+
+  82,130,53,59,64,129,54,110,  44,118,48,133,87,91,27,140,  84,148,91,51,122,101,61,86,  50,134,46,84,126,106,112,112,
+  84,135,121,143,124,127,87,121,  113,142,112,75,123,109,90,133,  90,98,88,84,123,123,125,129,  92,141,44,70,118,108,114,104,
+  134,108,127,101,121,121,98,125,  121,115,125,94,128,88,98,112,  124,82,126,112,130,134,126,138,  101,122,105,119,92,85,86,126,
+  77,117,116,48,78,138,27,142,  122,120,126,63,134,48,25,112,  112,39,86,120,154,143,120,143,  28,123,36,63,109,110,108,101,
+  71,131,58,45,30,128,122,146,  62,130,49,95,90,25,18,143,  48,127,97,99,74,119,33,43,  22,146,30,57,118,112,106,106,
+  95,104,131,129,128,72,131,81,  132,75,120,142,143,138,133,92,  155,132,138,149,139,63,128,144,  160,88,119,81,75,7,47,66,
+  102,128,48,47,57,119,70,107,  140,130,80,106,65,90,32,136,  116,123,82,61,117,132,66,43,  55,154,61,89,127,128,105,122,
+  110,129,58,13,38,138,30,112,  136,126,30,98,89,135,39,126,  55,147,70,32,117,122,68,87,  58,145,57,84,130,114,103,117,
+
+  118,115,58,40,45,141,61,156,  51,109,30,30,37,33,59,110,  34,25,81,42,99,147,71,54,  97,128,88,115,120,107,128,103,
+  102,62,107,133,115,63,64,42,  135,82,88,103,135,156,108,60,  147,137,139,149,144,30,125,110,  68,80,128,101,53,14,38,71,
+  127,100,145,84,145,70,134,37,  72,39,175,114,120,112,75,120,  76,99,111,119,117,48,91,106,  110,125,102,128,84,56,63,90,
+  129,77,130,151,138,88,126,88,  117,82,96,136,127,108,124,80,  155,101,115,124,94,99,175,159,  129,107,129,129,106,107,112,114,
+  98,9,84,76,73,44,76,33,  73,22,61,73,76,66,62,27,  84,63,137,71,74,28,80,84,  106,47,83,88,29,18,15,66,
+  102,23,80,68,70,48,77,40,  82,24,57,72,77,67,80,46,  70,66,135,70,62,10,75,87,  108,64,76,91,16,23,22,74,
+  105,19,61,52,70,26,63,47,  80,27,40,55,73,79,73,33,  71,69,127,73,72,12,72,69,  65,55,77,93,18,43,34,72,
+  104,44,77,65,69,48,79,52,  74,47,58,58,60,52,78,46,  61,55,123,55,55,61,74,74,  89,67,93,106,71,67,69,73,
+};
+
+static const uint8 ced_hires_12[1024] = {
+  79,129,118,114,118,130,135,136,  122,129,124,105,133,117,122,111,  134,119,65,123,122,86,117,114,  121,123,136,124,126,111,73,121,
+  134,116,126,128,129,122,119,131,  131,128,98,130,123,67,131,120,  126,125,137,42,120,129,124,126,  132,124,121,124,126,120,89,121,
+  112,133,109,133,111,132,130,71,  99,133,71,58,135,135,120,135,  124,96,123,110,95,72,54,65,  130,119,105,127,127,103,105,127,
+  118,122,128,106,129,130,78,100,  80,135,92,115,113,114,117,119,  117,117,148,147,127,77,100,118,  129,121,108,127,127,101,91,127,
+  135,132,136,125,118,124,139,134,  122,120,34,135,116,109,141,104,  122,131,129,5,132,82,135,130,  120,130,119,128,123,119,103,118,
+  126,133,130,135,119,105,128,126,  122,109,135,125,129,124,128,144,  130,124,127,128,125,138,129,123,  129,123,141,114,116,100,75,111,
+  126,110,99,100,152,132,105,74,  73,128,77,140,108,97,135,114,  115,76,102,86,74,55,93,128,  128,65,82,127,127,109,97,127,
+  83,137,114,142,118,131,144,118,  104,132,68,106,127,101,119,118,  124,123,62,94,123,122,117,132,  123,130,118,127,145,96,99,127,
+
+  115,129,121,73,117,134,107,125,  107,139,57,129,133,75,111,122,  115,108,124,112,115,65,89,120,  136,89,100,127,127,107,91,162,
+  116,124,116,129,125,122,126,120,  126,115,136,128,123,153,120,132,  126,124,119,124,121,125,124,127,  124,129,124,115,117,98,87,112,
+  110,93,120,88,101,100,92,100,  101,103,193,110,109,83,98,97,  81,85,93,129,84,120,83,96,  93,94,86,127,127,127,127,127,
+  130,129,102,125,118,128,139,116,  89,126,144,112,143,114,130,139,  137,125,99,129,122,105,77,70,  122,122,127,127,144,123,84,127,
+  140,124,123,126,138,124,114,136,  125,129,136,130,115,106,135,110,  119,120,124,115,130,112,127,128,  111,122,116,121,123,113,80,118,
+  109,106,107,107,110,111,111,99,  109,127,112,107,106,162,102,138,  105,111,114,99,121,103,86,90,  93,107,100,127,127,170,152,127,
+  129,122,126,129,130,127,131,138,  125,126,108,134,116,77,116,126,  127,138,131,43,123,110,137,129,  121,138,123,121,123,110,70,118,
+  108,114,111,100,106,124,104,100,  108,110,114,106,106,96,119,162,  90,141,96,108,93,105,112,107,  100,92,93,127,127,144,144,127,
+
+  119,102,134,125,132,132,111,116,  139,135,118,123,93,104,109,107,  109,137,126,109,126,113,120,127,  111,127,122,127,127,96,84,127,
+  108,121,133,121,111,125,73,107,  148,128,119,114,117,108,124,100,  119,106,116,170,155,38,84,144,  123,58,113,127,127,105,99,154,
+  57,128,109,135,124,126,134,42,  110,124,72,117,140,133,125,114,  124,133,85,97,99,143,140,113,  129,122,120,127,127,99,87,127,
+  93,88,77,107,97,101,91,104,  98,96,155,103,106,69,77,79,  81,137,97,206,81,184,134,112,  92,116,64,127,127,127,127,127,
+  118,85,115,94,120,133,99,119,  127,125,107,92,120,53,74,109,  133,143,137,92,89,114,118,130,  145,133,124,127,127,100,88,127,
+  93,97,96,121,91,124,100,109,  94,125,112,118,104,82,100,96,  123,97,112,138,108,200,107,142,  135,117,94,127,127,127,127,127,
+  130,129,119,115,125,130,53,116,  116,133,51,40,120,97,122,101,  108,62,141,108,137,124,103,105,  138,40,104,127,127,109,97,127,
+  111,131,74,122,129,132,85,105,  144,128,63,62,121,83,101,114,  133,139,115,123,125,105,139,99,  136,139,110,127,127,106,92,127,
+
+  132,119,131,119,128,131,116,120,  132,131,135,136,87,90,112,113,  116,132,115,124,125,154,127,132,  94,130,122,127,127,108,106,127,
+  127,129,109,98,125,122,112,115,  115,128,120,126,142,114,126,103,  132,96,127,105,124,69,102,122,  128,103,120,127,127,98,112,127,
+  121,120,145,97,119,126,115,132,  89,127,134,127,112,113,133,129,  130,102,128,127,135,64,118,140,  138,124,104,127,127,129,118,127,
+  127,127,127,127,127,122,127,127,  127,122,127,127,127,127,127,127,  127,127,127,127,127,127,127,127,  127,127,127,127,127,127,127,127,
+  127,127,127,127,127,118,127,127,  127,118,127,127,127,127,127,127,  145,127,127,127,127,127,127,127,  127,127,127,127,127,127,127,127,
+  121,124,104,109,109,81,110,97,  104,77,120,119,111,92,119,106,  100,107,107,127,117,127,112,104,  89,124,89,127,127,197,184,127,
+  115,99,101,103,110,78,92,110,  84,142,93,113,91,65,122,79,  105,120,109,104,120,113,97,90,  86,115,97,127,127,182,217,127,
+  127,127,127,127,127,122,127,127,  127,124,127,127,127,127,127,127,  127,127,127,127,127,127,127,127,  127,127,127,127,127,127,127,127,
+};
+
+static const uint8 ced_hires_13[1024] = {
+  79,36,84,88,70,26,101,101,  57,93,76,44,82,95,88,77,  79,102,93,112,76,86,62,31,  126,102,50,102,97,110,99,131,
+  52,43,113,117,112,51,119,123,  107,86,124,118,123,119,119,49,  114,113,112,125,118,105,132,18,  125,60,129,75,77,71,51,90,
+  99,65,124,123,98,65,96,121,  107,100,76,93,112,140,131,73,  92,127,90,86,132,109,81,54,  57,124,94,100,98,115,106,112,
+  81,31,42,63,61,107,26,43,  32,76,44,28,57,75,56,165,  61,40,75,79,77,82,47,21,  39,68,76,80,81,88,78,107,
+  53,55,83,115,118,88,124,129,  135,116,109,113,126,117,121,71,  103,69,120,116,124,140,113,25,  116,121,78,69,55,61,52,95,
+  75,63,96,27,126,105,92,121,  78,64,55,123,122,101,117,34,  107,33,121,105,112,47,100,18,  60,36,113,61,64,87,64,99,
+  70,75,100,78,116,77,119,135,  81,90,103,129,128,106,113,57,  91,57,132,124,117,87,117,49,  60,46,37,98,75,96,77,107,
+  104,148,95,50,41,136,45,51,  72,150,86,83,112,103,30,141,  59,39,43,55,90,129,56,44,  57,84,26,104,80,110,75,126,
+
+  72,54,96,117,102,69,79,123,  44,79,60,58,105,135,103,47,  69,152,129,129,112,72,124,24,  118,59,89,72,68,75,69,97,
+  49,104,110,125,122,126,125,119,  116,94,112,92,115,120,104,110,  129,129,113,124,117,103,117,22,  126,38,90,48,80,82,62,97,
+  76,70,64,110,64,64,46,62,  48,63,80,67,84,137,129,30,  93,115,59,121,142,110,109,61,  115,61,70,84,90,95,95,95,
+  100,63,73,65,82,99,97,66,  73,125,80,83,138,86,127,52,  78,109,102,98,105,78,103,62,  112,76,108,111,109,108,113,111,
+  111,114,86,93,91,76,81,78,  85,82,114,98,92,112,111,94,  98,94,75,90,95,93,90,72,  91,82,103,151,113,118,141,119,
+  49,138,104,130,121,72,113,92,  114,38,101,119,105,122,105,109,  107,112,87,116,119,68,115,8,  83,24,113,61,68,71,56,94,
+  114,52,76,101,85,55,85,54,  85,94,75,85,117,114,135,41,  81,88,76,85,140,64,70,51,  76,101,82,105,98,101,102,103,
+  114,111,126,117,134,117,113,90,  68,92,84,110,117,110,122,91,  91,164,90,122,124,100,108,120,  102,94,88,118,111,108,113,111,
+
+  101,137,103,32,71,95,111,96,  97,145,123,85,103,96,79,61,  52,54,86,108,68,157,102,41,  69,71,61,101,99,107,96,119,
+  73,150,20,28,25,114,26,26,  37,112,46,33,31,22,13,156,  23,49,1,30,13,101,28,20,  32,47,30,71,90,77,68,96,
+  105,79,95,84,96,64,96,113,  63,97,73,68,104,114,113,65,  121,104,111,119,80,88,85,63,  121,61,65,125,108,129,103,127,
+  42,53,109,91,120,40,90,107,  68,92,130,92,111,108,134,29,  112,80,111,94,96,54,105,150,  132,48,101,55,61,61,49,94,
+  106,68,93,88,93,69,69,61,  73,98,117,78,128,133,126,94,  114,78,82,97,141,98,102,65,  75,66,104,102,89,122,99,112,
+  107,83,114,50,97,149,84,90,  128,149,119,100,113,91,105,79,  132,52,98,96,108,142,94,37,  91,66,96,111,86,94,85,107,
+  46,66,107,104,113,66,126,117,  117,92,123,126,115,109,116,65,  119,42,129,113,104,53,118,79,  78,127,128,50,61,72,51,99,
+  121,71,63,62,64,61,69,65,  74,70,74,66,65,54,63,58,  71,84,44,54,50,87,74,66,  113,81,60,152,130,138,134,138,
+
+  84,83,129,39,123,95,106,128,  82,84,142,138,113,108,107,57,  118,38,127,106,107,90,120,60,  59,142,45,75,98,85,68,107,
+  105,90,94,88,71,76,71,67,  72,101,88,64,81,91,95,66,  85,76,67,85,79,82,82,58,  109,96,81,127,113,121,114,123,
+  73,100,141,107,128,71,80,84,  100,85,121,103,123,126,115,69,  119,72,94,128,109,59,112,26,  83,59,116,115,83,89,73,94,
+  104,73,90,91,87,88,89,78,  90,76,102,101,111,102,89,43,  82,81,118,96,146,75,100,50,  87,96,96,113,113,106,109,114,
+  66,58,131,124,106,86,118,114,  132,74,68,119,117,117,117,35,  102,36,125,106,106,24,98,35,  71,128,128,81,81,80,47,96,
+  73,41,118,138,109,28,78,48,  115,45,110,113,95,133,88,35,  121,38,106,109,103,103,117,18,  44,86,119,71,77,86,76,105,
+  94,137,71,54,52,142,72,61,  72,154,145,98,92,97,38,93,  58,58,95,69,85,132,127,42,  91,123,55,108,102,106,97,140,
+  113,65,76,58,62,92,85,62,  80,69,57,64,67,66,51,59,  80,72,50,69,62,68,58,73,  71,60,58,101,115,108,109,118,
+};
+
+static const uint8 ced_hires_14[1024] = {
+  127,73,147,96,119,88,105,109,  120,113,103,118,88,140,101,79,  110,127,68,112,151,94,90,83,  125,83,125,127,127,127,127,127,
+  88,49,130,116,118,52,139,140,  125,89,134,128,134,134,134,59,  124,140,131,139,131,105,148,19,  145,52,137,100,89,91,77,99,
+  131,71,141,122,104,66,116,138,  125,103,87,103,122,155,146,83,  102,154,109,100,144,109,97,55,  77,116,102,118,110,122,130,121,
+  134,25,93,100,106,94,68,101,  54,113,93,18,111,141,103,68,  142,68,136,117,127,146,99,18,  62,18,121,110,88,106,105,109,
+  87,60,100,113,123,88,143,145,  153,119,119,122,136,131,136,80,  113,95,138,130,136,140,128,26,  136,113,85,93,67,79,77,103,
+  127,99,154,57,97,71,91,93,  125,69,89,116,117,76,110,81,  149,113,85,77,84,90,75,68,  110,72,120,127,127,120,127,123,
+  107,127,106,67,34,132,96,32,  46,138,56,96,38,110,100,88,  74,63,26,39,49,130,29,120,  45,34,49,93,90,113,96,118,
+  140,153,112,49,46,136,65,67,  90,152,96,92,122,118,45,150,  69,64,61,68,102,129,71,44,  77,75,33,128,92,127,99,134,
+
+  74,133,89,64,55,143,71,52,  72,150,122,145,125,84,137,124,  106,53,105,97,125,131,90,27,  24,49,71,72,81,88,67,109,
+  83,109,127,124,128,126,144,135,  134,97,122,101,125,134,119,119,  139,155,131,138,129,102,132,22,  146,29,97,71,91,102,87,105,
+  88,4,133,137,142,3,28,140,  12,31,52,141,80,31,31,20,  149,46,21,114,133,20,2,90,  69,0,136,73,62,95,79,102,
+  126,68,90,64,87,99,117,82,  91,127,90,92,147,101,142,60,  88,136,120,111,116,77,118,62,  130,67,116,128,121,114,137,119,
+  79,15,89,109,132,0,34,27,  136,25,159,134,135,122,132,40,  105,35,121,133,141,23,146,2,  28,0,125,76,68,108,72,91,
+  84,143,121,128,126,72,133,108,  132,41,111,128,115,136,120,118,  117,138,105,130,131,68,130,9,  103,16,120,86,80,91,80,101,
+  144,57,93,100,91,55,105,70,  103,96,85,94,127,129,150,50,  91,114,94,98,152,63,85,51,  96,92,89,120,109,108,123,111,
+  121,154,45,60,63,64,68,39,  59,85,56,120,31,120,40,125,  43,86,21,83,136,120,56,36,  80,36,43,124,106,113,123,115,
+
+  121,150,74,14,27,151,56,36,  50,150,69,55,34,102,58,106,  39,82,28,56,34,160,40,31,  75,45,39,131,101,109,119,112,
+  104,54,77,132,55,34,31,18,  17,42,46,106,0,82,44,80,  36,49,0,155,40,40,6,33,  43,19,25,91,101,99,89,114,
+  112,141,38,57,37,72,43,25,  101,67,64,150,25,96,40,152,  26,69,15,132,116,149,27,18,  62,32,26,112,97,105,106,108,
+  78,60,127,91,126,42,111,125,  87,96,141,103,122,124,150,40,  122,106,129,108,108,54,120,151,  152,40,108,78,73,81,74,102,
+  140,74,110,87,99,70,89,78,  91,102,128,88,139,149,142,104,  123,104,100,110,153,97,117,66,  94,57,111,124,100,129,123,119,
+  112,104,136,78,126,105,142,117,  127,127,143,142,137,115,105,119,  116,69,120,135,123,76,130,29,  62,18,144,114,88,105,106,108,
+  82,72,125,103,119,67,146,134,  136,96,134,136,126,124,132,75,  129,68,147,127,116,53,133,80,  97,119,135,74,72,91,76,106,
+  131,76,81,61,69,61,88,82,  92,73,84,76,75,69,78,66,  81,110,61,67,61,85,87,66,  132,71,67,154,139,145,139,146,
+
+  84,133,98,52,42,158,37,23,  89,160,53,107,63,86,87,104,  70,38,30,103,87,98,78,0,  32,26,51,80,58,80,75,91,
+  95,14,130,98,109,14,63,29,  116,13,156,109,122,149,89,39,  70,49,106,128,105,19,149,25,  43,4,137,91,82,95,86,110,
+  109,107,159,107,134,73,101,102,  119,89,132,114,134,142,131,80,  129,98,112,142,121,59,127,27,  103,51,123,138,94,108,99,102,
+  123,108,129,80,86,116,133,102,  135,85,156,146,124,112,121,59,  80,90,122,135,124,64,156,40,  93,40,143,127,110,116,125,119,
+  102,64,148,123,112,87,139,131,  152,77,79,129,128,132,133,45,  111,62,143,119,118,22,113,35,  90,119,135,104,92,99,72,104,
+  109,48,136,138,115,29,99,66,  134,49,121,124,106,149,104,46,  131,63,124,123,115,103,132,19,  63,78,126,96,88,105,101,112,
+  117,136,38,70,20,133,49,30,  43,174,47,36,24,27,9,70,  34,75,10,15,28,140,32,25,  69,25,32,117,95,106,112,109,
+  136,54,77,34,51,77,76,61,  86,49,60,57,54,66,64,51,  69,93,44,77,50,54,57,55,  81,42,72,112,121,115,118,126,
+};
+
+static const uint8 ced_hires_15[1024] = {
+  128,67,142,105,122,81,101,108,  115,105,99,113,90,139,98,75,  108,127,69,108,148,90,86,94,  122,79,127,128,128,128,128,128,
+  69,43,125,125,121,45,135,139,  120,81,130,123,135,133,130,54,  122,137,129,135,128,100,144,30,  140,48,139,91,84,84,66,98,
+  115,65,136,131,106,59,112,137,  120,95,82,98,123,154,142,78,  100,151,107,96,141,104,93,66,  72,112,103,112,105,119,121,120,
+  117,20,88,109,109,87,64,100,  48,105,89,13,112,140,99,63,  140,65,134,113,124,141,95,29,  57,14,123,101,83,100,94,108,
+  68,54,95,122,126,81,139,144,  148,111,115,117,137,130,132,75,  111,92,136,126,133,135,124,37,  131,109,87,85,62,73,66,102,
+  128,93,149,66,99,65,86,92,  121,64,84,111,119,76,106,76,  146,112,85,74,81,85,71,79,  108,70,121,126,126,117,128,122,
+  88,121,101,75,36,126,91,31,  42,131,51,91,40,109,96,83,  71,59,25,36,46,125,25,131,  41,30,50,84,85,105,85,117,
+  121,147,107,57,49,130,60,66,  85,145,91,87,124,117,41,145,  66,61,60,65,99,124,67,55,  72,71,35,119,87,122,89,133,
+
+  57,127,84,73,58,136,67,51,  67,142,118,140,126,83,133,119,  104,49,103,93,122,126,86,38,  19,45,73,63,77,81,56,108,
+  65,103,122,132,130,120,140,134,  129,89,118,96,126,133,115,114,  137,152,130,134,126,97,128,34,  141,25,99,63,86,95,76,104,
+  69,0,128,145,144,0,23,138,  6,23,47,135,81,30,27,14,  146,42,19,110,129,14,0,100,  64,0,137,63,57,87,67,101,
+  115,62,85,72,89,93,112,81,  86,120,86,87,149,100,138,56,  85,132,119,108,113,72,114,73,  126,63,117,122,116,111,127,118,
+  60,9,84,117,134,0,29,27,  131,18,154,129,137,121,128,35,  102,31,120,130,138,19,142,14,  24,0,126,67,63,101,61,91,
+  65,137,116,137,129,65,129,107,  127,33,107,123,116,135,116,113,  115,135,103,126,128,63,126,20,  98,12,122,77,75,84,70,100,
+  130,51,88,108,93,49,100,69,  98,89,80,89,129,128,146,44,  88,110,92,95,149,58,81,63,  91,88,91,114,104,105,116,110,
+  111,148,40,69,66,57,65,38,  55,77,52,115,34,119,36,120,  41,83,19,79,133,115,53,47,  75,32,45,118,101,111,112,114,
+
+  109,144,70,22,29,145,51,35,  45,143,64,50,37,101,54,101,  36,78,28,54,31,155,37,42,  71,41,40,124,96,106,108,111,
+  84,47,72,141,57,27,25,15,  12,34,40,100,1,81,40,74,  33,45,0,151,36,34,1,42,  38,14,26,81,95,91,77,113,
+  96,135,34,65,40,66,38,23,  96,60,59,145,27,95,36,147,  23,65,15,129,113,144,24,29,  58,28,27,104,92,101,95,107,
+  59,54,122,100,129,35,107,124,  82,88,137,98,123,123,146,35,  120,103,127,104,105,49,116,162,  147,36,110,70,68,74,63,101,
+  123,67,105,95,101,63,84,76,  86,94,123,82,140,147,138,98,  120,100,98,106,149,91,112,76,  89,52,112,117,95,126,112,118,
+  96,98,131,86,128,99,137,116,  122,120,138,137,139,114,101,114,  113,65,119,132,120,71,126,41,  58,14,145,105,83,101,95,107,
+  63,66,120,112,122,60,142,133,  131,88,130,131,127,123,128,70,  127,65,145,123,113,48,129,91,  92,115,137,65,68,84,65,105,
+  132,70,76,69,72,54,84,81,  87,66,80,71,77,68,74,62,  78,106,61,63,58,81,84,77,  127,67,68,155,136,142,140,145,
+
+  65,127,93,61,45,151,33,22,  84,152,49,102,64,85,83,99,  68,35,28,99,84,93,74,2,  27,22,53,71,53,74,64,90,
+  76,8,125,107,112,8,59,28,  111,6,152,104,123,148,85,34,  68,46,104,124,102,13,145,36,  38,2,139,82,77,88,75,110,
+  90,101,154,116,137,66,97,101,  114,81,128,109,135,141,127,75,  127,95,110,138,118,54,123,38,  98,47,125,130,89,101,88,102,
+  117,102,124,88,89,109,129,101,  130,77,152,141,125,111,117,55,  79,87,120,131,121,58,152,51,  90,36,145,122,105,113,116,118,
+  83,58,143,132,115,81,134,130,  147,70,74,124,129,131,129,40,  109,59,141,116,115,18,109,46,  85,115,137,95,87,92,61,103,
+  90,42,131,147,118,23,95,65,  129,41,117,119,107,148,100,41,  129,60,122,119,112,98,128,30,  59,74,128,87,83,99,90,112,
+  102,130,34,79,23,126,45,29,  38,166,43,32,26,27,5,65,  30,72,8,11,24,135,28,36,  64,21,34,108,90,103,101,108,
+  121,48,73,42,53,70,71,61,  81,41,56,52,55,65,60,46,  67,89,42,73,48,49,53,67,  76,38,74,106,116,112,115,125,
+};
+
+static const uint8 ced_hires_16[1024] = {
+  126,77,94,99,85,77,105,111,  93,98,106,78,81,99,92,92,  100,116,99,119,82,86,89,94,  132,90,87,127,125,126,126,131,
+  97,47,126,130,125,63,130,137,  117,95,136,122,124,126,123,57,  128,120,120,134,123,99,146,65,  132,56,132,97,96,97,97,110,
+  143,93,132,131,106,93,114,132,  110,112,123,95,107,141,130,103,  112,132,92,86,131,103,106,111,  132,107,103,143,142,143,143,130,
+  128,105,112,105,109,106,116,109,  113,112,120,113,104,107,99,110,  114,124,100,102,105,111,112,115,  125,111,116,128,128,128,128,128,
+  97,58,96,127,131,95,134,142,  146,126,121,116,127,123,126,86,  117,87,128,126,128,135,126,65,  123,114,81,98,96,97,97,110,
+  157,107,120,109,115,107,128,115,  124,121,137,109,95,107,86,117,  126,146,89,100,96,117,120,125,  146,116,117,157,156,157,157,139,
+  157,107,120,109,115,107,128,115,  124,121,137,109,95,107,86,117,  126,146,89,100,96,117,120,125,  146,116,117,157,156,157,157,139,
+  120,155,109,72,78,142,91,78,  87,159,100,85,112,108,49,156,  89,109,52,63,93,123,83,88,  109,79,80,120,119,120,120,118,
+
+  119,70,107,128,115,75,90,135,  86,88,99,71,105,140,107,80,  93,159,136,138,115,79,136,87,  118,78,88,120,118,119,119,118,
+  92,112,123,137,135,133,135,132,  127,104,124,95,116,126,108,126,  143,137,121,134,121,97,130,60,  133,51,92,93,91,92,92,106,
+  130,80,93,121,88,80,101,88,  97,94,110,82,83,142,131,90,  104,119,62,128,144,100,121,98,  119,89,90,130,129,130,130,123,
+  148,98,111,100,106,98,119,106,  115,127,128,100,131,98,124,108,  117,137,102,96,97,108,111,116,  137,107,108,148,147,148,148,135,
+  149,100,112,101,108,100,120,107,  116,113,129,101,88,99,99,110,  118,139,82,93,88,109,112,117,  138,108,110,150,148,149,149,139,
+  98,145,117,142,133,78,123,105,  125,62,112,122,105,128,109,124,  120,119,94,125,123,58,128,66,  97,57,115,98,97,98,98,112,
+  145,96,108,110,104,96,116,103,  112,109,125,97,110,112,132,106,  114,135,78,89,137,105,108,113,  134,104,106,146,144,145,145,132,
+  153,111,124,118,134,108,124,111,  120,117,133,105,101,103,113,113,  122,159,85,115,115,113,116,121,  142,112,113,153,152,153,153,136,
+
+  128,112,119,112,116,113,123,116,  120,119,127,120,111,114,106,117,  120,128,106,108,111,117,118,121,  128,117,122,128,128,128,128,128,
+  120,158,83,72,78,121,91,78,  87,121,100,72,58,70,49,172,  88,108,51,62,58,95,82,87,  108,78,79,119,118,119,119,122,
+  146,96,109,98,104,96,117,120,  113,110,126,98,94,116,108,106,  130,134,109,118,84,105,108,113,  134,104,105,145,144,145,145,137,
+  98,58,122,104,132,48,101,121,  75,101,142,96,111,115,138,58,  126,86,118,103,100,57,118,161,  139,56,102,97,96,97,97,111,
+  139,89,102,96,102,89,110,97,  106,103,124,91,124,135,126,104,  122,127,80,99,141,98,106,106,  127,97,98,138,137,138,138,129,
+  155,105,128,107,113,105,126,113,  122,119,135,107,93,105,84,115,  133,143,86,97,93,114,117,122,  143,113,114,154,153,154,154,139,
+  99,72,121,117,126,72,137,131,  129,103,136,130,116,116,121,79,  134,87,137,123,109,58,132,89,  87,121,131,98,97,98,98,111,
+  154,104,117,106,112,104,125,112,  121,118,134,106,92,104,83,114,  122,142,85,96,92,113,116,121,  142,112,113,153,152,153,153,139,
+
+  156,106,119,108,114,106,127,114,  123,120,136,108,94,106,85,116,  124,144,87,98,94,115,118,123,  144,114,115,155,154,155,155,140,
+  150,101,113,102,109,101,121,108,  117,114,130,102,89,100,80,111,  118,139,82,93,88,109,112,117,  138,108,110,150,148,149,149,140,
+  118,107,154,120,140,68,89,96,  111,92,132,106,123,133,119,78,  133,106,101,137,113,77,125,85,  106,76,118,122,116,117,117,121,
+  149,99,112,101,107,99,120,107,  116,113,129,101,102,99,83,109,  117,137,115,96,139,108,111,116,  137,107,108,148,147,148,148,135,
+  102,62,144,137,119,94,129,128,  144,82,82,123,118,124,122,62,  116,90,133,116,111,61,112,69,  90,121,131,101,100,101,101,110,
+  156,106,119,108,114,106,127,114,  123,120,136,108,94,106,85,116,  124,144,87,98,94,115,118,123,  144,114,115,155,154,155,155,140,
+  156,106,119,108,114,106,127,114,  123,120,136,108,94,106,85,116,  124,144,87,98,94,115,118,123,  144,114,115,155,154,155,155,140,
+  137,88,100,89,96,96,108,95,  104,101,117,89,76,87,67,98,  105,126,69,80,75,96,99,104,  125,95,97,137,135,136,136,123,
+};
+
+static const uint8 ced_hires_17[1024] = {
+  89,91,92,133,130,37,125,74,  42,95,144,140,137,137,121,42,  123,75,132,124,133,87,128,83,  74,53,119,94,87,91,93,108,
+  102,61,121,126,115,65,141,137,  130,96,110,126,137,135,142,73,  128,143,129,129,127,116,147,95,  154,82,141,107,100,103,106,114,
+  152,89,132,131,102,84,114,134,  128,107,81,104,125,155,153,95,  103,154,108,87,139,120,95,146,  137,146,100,157,150,154,156,136,
+  130,66,62,72,62,122,86,62,  83,84,58,60,65,91,78,190,  73,115,92,83,85,91,68,123,  115,94,83,135,128,131,134,127,
+  103,75,93,124,121,103,146,143,  159,127,96,121,140,133,145,96,  118,98,137,121,133,153,128,96,  146,146,90,108,101,104,107,114,
+  111,83,105,33,129,120,114,135,  102,75,39,131,136,117,141,54,  122,96,138,110,121,62,115,104,  96,75,125,116,109,112,115,120,
+  131,94,108,84,119,91,141,148,  104,99,90,137,142,121,136,74,  104,117,149,128,125,99,131,125,  116,95,74,136,129,133,135,128,
+  109,71,69,85,106,85,106,131,  62,57,93,110,101,126,73,52,  116,94,127,130,102,60,143,102,  94,73,52,114,107,118,113,119,
+
+  100,147,79,74,50,157,72,48,  76,157,98,143,128,85,145,139,  110,85,103,87,121,143,89,93,  85,84,74,105,98,101,104,112,
+  97,124,119,134,125,141,147,132,  139,104,99,100,129,135,127,134,  143,159,130,128,125,115,131,91,  155,61,101,102,95,99,101,109,
+  101,37,124,147,139,33,57,137,  54,39,29,139,83,34,39,44,  153,86,16,104,129,52,39,151,  86,65,140,106,99,102,105,116,
+  159,95,91,81,81,113,115,91,  112,133,87,89,150,97,149,102,  102,144,118,100,111,110,113,152,  144,123,117,164,157,160,163,142,
+  86,23,75,47,132,18,43,105,  39,54,141,105,128,124,110,29,  89,72,105,147,131,38,115,80,  71,50,78,91,84,88,90,107,
+  103,158,113,138,124,86,135,105,  137,41,88,127,119,137,128,133,  120,142,104,120,127,81,129,97,  111,67,124,108,101,105,107,116,
+  156,93,94,108,84,88,113,88,  109,99,85,92,130,128,156,99,  99,142,88,85,147,108,94,150,  141,120,99,161,154,158,160,138,
+  98,50,162,115,131,30,54,149,  51,46,135,121,106,128,119,41,  135,83,109,116,138,49,147,91,  83,62,136,103,96,99,102,111,
+
+  160,171,92,82,82,172,116,92,  113,164,88,90,85,109,82,129,  97,139,69,66,71,175,92,147,  139,118,97,159,152,155,158,137,
+  129,176,77,84,94,159,85,102,  82,160,57,105,70,85,71,176,  89,108,48,73,73,173,81,116,  108,87,76,128,121,124,127,122,
+  180,139,119,109,109,119,143,119,  140,135,125,117,112,120,109,130,  124,166,112,93,98,160,119,174,  166,145,124,180,179,177,180,152,
+  156,139,88,78,116,166,138,88,  109,177,94,86,81,89,111,115,  93,135,95,88,77,162,98,171,  135,114,93,155,148,151,154,133,
+  156,92,106,103,101,88,112,88,  114,119,110,91,149,156,157,125,  129,135,101,102,152,114,117,143,  135,114,116,155,148,151,154,133,
+  152,109,131,74,109,171,109,112,  159,167,115,117,135,115,136,115,  148,132,118,103,119,157,112,140,  131,110,109,151,144,148,150,134,
+  112,94,124,121,124,90,156,139,  149,111,118,142,137,133,148,98,  137,91,149,121,116,67,136,145,  107,155,143,111,104,107,110,113,
+  180,119,115,104,105,114,139,114,  135,120,111,113,108,115,104,125,  119,162,92,88,93,128,114,170,  161,140,119,178,174,174,178,149,
+
+  128,111,146,50,134,118,137,150,  112,103,137,155,135,132,138,87,  135,108,147,113,118,105,137,126,  107,169,65,127,120,124,126,122,
+  109,46,52,31,32,41,66,41,  62,47,127,60,65,52,41,52,  46,89,19,130,30,55,41,97,  88,67,66,108,101,105,107,132,
+  131,129,158,124,139,93,111,106,  131,102,116,120,145,150,146,102,  136,111,114,135,120,77,129,119,  110,89,130,146,123,127,129,123,
+  171,107,103,101,93,108,127,103,  124,109,99,114,130,122,116,114,  108,150,135,102,155,116,111,158,  150,129,108,170,163,166,169,141,
+  115,87,147,141,117,109,149,136,  164,92,64,135,139,141,148,71,  119,94,145,113,118,60,116,102,  99,155,143,114,107,110,113,112,
+  180,125,121,120,111,120,145,120,  141,126,117,119,130,121,126,131,  125,168,98,94,99,134,120,176,  167,146,125,180,179,177,180,152,
+  108,45,99,103,139,40,96,117,  61,87,85,145,139,127,138,51,  127,88,152,133,136,64,131,96,  87,66,135,107,100,104,106,112,
+  157,94,95,80,80,109,114,90,  119,96,86,88,83,91,80,101,  95,137,67,64,69,103,90,145,  137,116,95,154,150,150,154,125,
+};
+
+static const uint8 ced_hires_18[1024] = {
+  100,47,105,106,88,37,119,122,  76,90,99,47,87,103,100,98,  95,121,106,126,89,84,80,50,  146,101,49,119,100,126,121,130,
+  74,55,134,135,131,65,138,145,  126,83,147,122,129,128,131,71,  130,133,126,138,131,103,151,36,  145,59,129,97,84,83,73,90,
+  123,78,145,142,117,80,115,143,  127,97,99,98,117,149,143,95,  108,146,104,100,145,107,101,72,  83,123,94,119,107,123,126,111,
+  102,42,63,81,78,121,44,64,  50,73,66,32,62,84,68,187,  77,62,89,92,89,80,66,40,  63,66,76,102,89,103,100,106,
+  72,67,105,133,136,102,142,150,  155,114,132,117,131,125,133,93,  119,88,133,130,137,139,132,46,  137,120,78,89,64,76,73,94,
+  94,75,117,44,144,118,110,142,  98,61,78,127,127,109,129,55,  123,48,134,119,125,45,118,38,  80,35,112,83,72,101,83,96,
+  95,87,122,95,134,91,137,156,  101,88,126,133,133,114,125,79,  107,76,145,138,130,85,136,69,  79,46,38,117,85,112,100,104,
+  124,160,116,69,60,150,64,73,  92,147,109,87,118,112,42,163,  75,62,57,68,103,128,75,63,  80,83,28,120,89,124,96,125,
+
+  94,66,118,135,120,83,97,144,  63,76,82,62,110,143,115,69,  85,171,142,143,125,71,143,43,  138,58,89,97,78,95,93,94,
+  67,116,131,143,140,140,143,140,  136,91,135,96,120,128,115,131,  145,148,127,138,130,101,135,42,  146,37,89,70,86,94,79,96,
+  101,82,86,128,82,78,65,84,  68,60,103,72,89,145,141,49,  109,135,73,134,155,108,128,81,  135,61,70,108,97,107,117,96,
+  123,75,94,83,100,113,116,87,  92,122,102,87,143,94,139,71,  93,129,116,111,117,75,121,80,  131,72,108,126,118,118,133,111,
+  125,126,107,111,110,90,98,100,  104,78,136,102,98,121,122,116,  113,113,88,103,108,91,109,90,  113,82,103,166,118,129,154,121,
+  71,150,125,148,139,85,131,113,  134,35,124,123,110,130,117,130,  123,131,100,130,132,66,133,26,  103,24,112,82,78,81,75,92,
+  134,66,98,119,103,70,104,77,  104,91,98,89,123,122,146,64,  97,108,89,98,153,65,88,72,  98,100,82,121,109,113,126,105,
+  134,123,148,135,153,131,131,112,  86,89,109,114,122,118,134,113,  106,183,104,135,137,97,127,140,  120,93,88,129,122,120,132,113,
+
+  95,138,100,94,128,146,84,59,  64,158,26,72,140,108,64,96,  48,37,129,66,66,162,79,20,  36,60,93,75,70,90,70,98,
+  95,163,41,47,45,129,41,47,  56,110,67,38,37,31,25,179,  45,69,19,50,32,105,52,43,  62,51,33,101,100,101,98,98,
+  122,92,117,103,114,78,115,136,  82,95,96,73,110,123,125,87,  143,128,130,139,99,92,109,87,  147,65,68,148,119,143,129,127,
+  68,66,131,110,138,55,109,130,  88,90,153,97,117,117,146,52,  134,105,130,114,115,58,129,176,  158,53,106,82,71,82,78,96,
+  129,80,114,106,112,83,88,82,  92,96,140,82,134,142,139,116,  135,103,101,116,160,101,127,91,  102,70,110,124,105,134,125,113,
+  123,95,135,69,116,163,102,112,  149,147,143,105,119,100,118,101,  153,80,118,115,127,146,119,62,  116,70,102,133,102,113,117,109,
+  70,78,129,122,132,80,145,139,  137,90,147,130,121,118,129,87,  141,67,148,133,123,58,143,105,  104,132,134,80,74,95,79,100,
+  136,82,86,79,83,76,90,87,  92,67,102,69,70,65,74,80,  92,115,66,71,68,91,96,94,  140,85,71,156,136,150,142,140,
+
+  104,96,151,58,141,110,125,150,  102,82,165,143,118,117,119,80,  140,61,146,125,125,94,144,85,  85,147,50,100,110,107,95,109,
+  122,103,115,106,89,90,88,87,  92,99,110,70,86,100,108,86,  107,107,86,104,98,85,106,87,  134,101,84,138,122,134,133,128,
+  93,113,163,126,146,86,99,107,  120,83,144,108,129,135,127,92,  141,96,113,148,128,63,136,50,  109,64,121,140,95,106,100,97,
+  128,86,112,109,106,102,108,101,  111,75,126,105,117,111,101,66,  104,108,137,116,165,81,125,82,  114,102,102,129,126,121,134,116,
+  89,71,152,143,125,101,137,136,  153,72,92,124,123,126,129,57,  123,62,145,126,125,29,123,61,  97,133,134,107,94,103,79,98,
+  99,71,108,117,119,66,122,99,  108,25,83,132,126,131,130,88,  120,83,124,123,119,71,105,40,  88,140,139,89,119,109,90,120,
+  109,146,119,71,82,143,99,110,  107,147,49,135,131,127,53,105,  80,80,69,92,140,135,125,42,  60,114,37,69,92,91,80,109,
+  129,78,95,77,81,106,104,83,  99,66,82,66,73,73,63,80,  101,97,69,88,80,74,80,98,  98,65,64,114,130,119,121,120,
+};
+
+static const uint8 ced_hires_19[1024] = {
+  98,93,104,135,134,69,120,71,  84,99,150,144,141,141,121,77,  123,96,135,127,139,85,130,83,  94,88,120,97,97,97,97,113,
+  110,85,134,128,119,81,138,142,  127,104,115,130,141,138,142,90,  128,119,133,131,132,117,148,95,  129,101,142,109,109,109,109,119,
+  145,120,126,112,107,116,133,123,  131,123,115,115,110,142,136,124,  123,143,99,95,128,132,120,130,  141,135,125,144,144,144,144,134,
+  134,109,115,93,96,120,122,107,  120,112,104,104,99,106,91,186,  112,132,88,84,92,121,109,119,  130,124,114,133,133,133,133,130,
+  111,86,102,124,125,107,142,148,  156,131,104,126,144,136,144,90,  119,109,140,123,138,153,129,96,  122,136,91,110,110,110,110,118,
+  118,93,119,78,133,123,107,139,  104,97,88,134,139,118,140,98,  122,117,141,111,125,105,113,103,  114,109,123,117,117,117,117,124,
+  135,110,116,95,117,106,124,148,  121,114,105,136,141,117,132,115,  114,134,148,125,126,122,125,120,  131,126,115,134,134,134,134,130,
+  117,92,98,86,109,98,105,136,  103,95,97,112,105,129,74,96,  110,115,130,131,106,104,144,102,  113,107,97,116,116,116,116,123,
+
+  108,150,89,67,70,160,96,81,  94,161,103,147,132,80,144,139,  109,106,105,88,126,143,83,93,  104,98,88,107,107,107,107,117,
+  106,127,132,135,129,144,143,138,  136,107,104,103,133,139,126,134,  143,136,133,131,131,114,133,91,  130,96,102,105,105,105,105,114,
+  109,84,137,148,143,80,97,142,  95,87,79,143,84,81,66,88,  152,107,63,106,134,96,84,104,  105,99,141,108,108,108,108,120,
+  146,121,127,106,108,117,135,119,  132,125,116,116,133,118,126,126,  125,145,101,96,104,133,121,131,  142,137,126,145,145,145,145,136,
+  95,70,86,54,136,66,83,111,  81,73,147,109,132,128,110,74,  88,93,108,151,137,82,117,80,  91,85,75,94,94,94,94,111,
+  112,161,124,140,127,83,131,110,  135,90,92,132,123,141,128,133,  120,110,106,123,133,99,130,97,  108,102,125,111,111,111,111,121,
+  145,120,126,105,107,116,134,118,  131,124,115,115,115,117,137,125,  124,144,100,95,132,132,120,130,  141,136,125,144,144,144,144,135,
+  148,123,129,107,115,119,136,121,  134,126,118,118,113,120,115,127,  126,146,102,103,111,135,123,133,  144,138,128,147,147,147,147,136,
+
+  147,153,128,106,109,118,135,120,  133,153,117,117,112,119,104,126,  126,146,102,108,106,165,123,133,  144,138,128,147,147,147,147,136,
+  132,174,113,92,94,156,121,105,  118,160,102,102,97,104,90,172,  112,132,88,83,91,175,108,118,  129,124,113,132,132,132,132,127,
+  152,127,133,112,114,123,141,125,  138,131,122,122,117,124,110,132,  132,152,108,103,111,140,128,138,  149,144,133,152,152,152,152,138,
+  117,92,136,107,132,88,105,132,  103,110,127,110,134,133,162,96,  133,116,138,108,116,105,127,176,  144,108,118,117,117,117,117,120,
+  148,123,129,107,110,119,136,121,  134,126,118,118,135,141,139,127,  127,147,103,99,147,136,124,134,  145,139,129,148,148,148,148,134,
+  148,123,129,107,110,162,136,121,  144,159,118,118,123,120,120,127,  142,147,113,99,117,151,124,134,  145,139,129,148,148,148,148,135,
+  117,92,133,120,125,98,149,141,  144,116,122,143,138,132,145,97,  142,117,157,127,125,105,141,103,  114,150,148,117,117,117,117,120,
+  153,128,134,112,115,124,141,126,  139,131,123,123,118,125,110,132,  132,152,108,104,112,141,129,139,  150,144,134,153,153,153,153,138,
+
+  132,107,153,92,134,113,121,151,  118,111,137,154,135,129,133,112,  140,132,153,117,125,120,141,118,  129,163,113,132,132,132,132,127,
+  113,88,94,73,75,84,102,86,  99,92,127,83,78,85,71,93,  93,113,69,135,72,101,89,99,  110,105,94,113,113,113,113,129,
+  135,125,166,120,137,106,124,108,  121,114,115,115,143,149,142,115,  138,135,119,140,128,123,131,121,  132,127,131,135,135,135,135,129,
+  151,126,132,111,113,122,140,124,  137,130,121,121,116,123,109,131,  131,151,114,102,138,139,127,137,  148,143,132,151,151,151,151,137,
+  120,95,157,140,118,108,142,138,  158,99,90,136,140,141,145,100,  121,120,153,120,127,108,119,106,  117,149,148,120,120,120,120,119,
+  136,111,140,151,118,107,124,109,  137,114,106,126,111,155,113,115,  138,135,129,118,120,124,137,122,  133,127,132,136,136,136,136,131,
+  151,146,132,110,113,145,139,124,  137,154,121,121,116,123,108,130,  130,150,106,102,110,139,127,137,  148,142,132,151,151,151,151,137,
+  146,121,127,105,108,117,134,119,  132,124,116,116,111,118,103,125,  125,145,101,97,105,134,122,132,  143,137,127,146,146,146,146,131,
+};
+
+static const uint8 ced_hires_20[1024] = {
+  111,51,50,66,67,37,61,60,  62,52,151,76,117,107,89,44,  64,85,123,112,43,48,109,55,  80,47,73,105,103,120,107,126,
+  99,78,66,40,113,81,103,136,  51,33,85,110,79,133,68,53,  121,80,125,133,107,49,144,49,  79,46,58,104,94,114,94,119,
+  82,89,103,144,141,45,125,85,  60,80,142,139,139,140,118,46,  133,65,134,127,134,77,126,29,  65,28,130,79,73,84,74,99,
+  148,112,111,112,105,115,135,114,  133,109,103,112,104,109,99,132,  123,145,97,101,94,117,110,138,  144,123,128,148,147,147,148,137,
+  97,70,96,138,128,103,151,149,  163,109,95,119,143,133,146,96,  122,107,138,122,134,143,125,67,  141,129,98,104,95,92,94,114,
+  112,73,108,62,136,120,118,141,  105,57,53,129,139,116,142,70,  126,92,139,111,122,64,111,67,  100,63,134,104,102,110,102,119,
+  126,53,74,82,77,64,78,76,  74,51,58,72,68,60,68,61,  85,102,50,148,65,58,59,77,  97,64,90,122,116,120,117,129,
+  94,50,95,141,134,56,69,127,  60,37,151,133,141,146,122,58,  115,74,138,121,145,52,105,44,  78,35,128,96,85,89,89,105,
+
+  93,143,83,89,63,158,83,60,  83,139,98,142,132,86,147,141,  115,84,105,89,123,134,85,67,  69,69,82,94,100,99,89,116,
+  92,119,122,149,133,142,152,139,  144,87,98,98,132,136,128,136,  148,160,131,130,127,105,129,63,  151,58,111,91,104,103,95,113,
+  148,106,116,121,106,102,130,108,  127,89,97,117,103,117,112,113,  133,145,97,94,107,111,109,132,  144,121,140,148,147,147,148,137,
+  96,26,70,54,136,23,56,118,  57,39,143,109,136,129,114,24,  102,75,104,149,132,26,115,40,  62,32,99,95,91,85,89,104,
+  122,116,63,61,63,156,88,58,  77,162,52,66,68,77,80,112,  84,106,43,53,46,123,55,75,  100,67,77,125,117,120,120,120,
+  137,128,86,79,104,158,111,95,  93,154,68,90,84,84,82,113,  113,121,63,81,93,155,94,91,  115,82,99,136,132,131,136,128,
+  91,40,166,130,139,40,74,156,  53,33,137,119,108,132,120,47,  139,70,109,117,140,49,148,47,  74,31,142,89,83,85,84,103,
+  113,165,84,84,91,133,107,85,  101,142,80,94,94,82,76,158,  92,97,86,89,67,171,112,67,  91,63,89,116,108,115,112,117,
+
+  84,151,102,50,102,126,72,103,  59,149,74,148,115,116,104,148,  125,78,106,107,133,146,137,43,  60,158,87,85,79,92,80,104,
+  115,72,78,158,69,65,71,53,  67,50,47,103,38,82,62,99,  72,98,29,152,56,69,47,84,  93,67,72,118,125,119,113,127,
+  116,167,96,89,95,156,80,88,  85,135,64,95,66,79,70,161,  97,98,65,84,85,166,84,67,  92,59,94,117,117,113,112,116,
+  95,66,122,116,132,60,119,129,  93,85,117,101,129,126,160,66,  136,118,134,105,111,69,122,180,  161,71,127,101,101,101,96,115,
+  148,107,121,119,120,108,132,120,  135,112,126,122,123,123,121,115,  140,147,122,115,120,131,127,129,  146,120,138,149,149,149,149,138,
+  145,100,125,89,108,164,120,114,  156,141,106,107,130,110,130,109,  154,126,119,105,123,147,113,96,  136,98,123,146,132,131,136,131,
+  96,81,121,129,125,83,154,139,  147,86,111,134,134,126,142,92,  143,98,152,124,120,68,135,108,  111,140,154,101,101,106,99,117,
+  148,101,97,103,91,93,119,102,  119,82,86,90,96,95,97,105,  112,145,87,80,83,109,104,119,  153,110,113,160,153,158,154,146,
+
+  96,28,42,33,46,35,53,45,  49,31,126,40,50,53,52,43,  68,80,39,131,35,47,41,50,  74,51,47,99,104,105,97,134,
+  148,137,108,111,112,125,128,118,  139,87,95,116,95,112,110,149,  117,147,86,88,103,140,105,130,  146,146,127,149,149,149,149,138,
+  148,129,121,142,101,121,132,114,  128,114,99,114,126,128,120,128,  126,147,104,99,97,132,116,156,  146,121,126,149,149,149,149,138,
+  94,39,97,117,138,45,88,117,  67,38,75,139,136,117,133,55,  139,78,153,138,143,54,128,55,  79,53,151,97,89,100,92,107,
+  108,73,144,149,117,103,147,136,  162,65,59,127,136,135,143,70,  126,97,148,117,122,55,115,79,  109,140,154,117,114,112,100,115,
+  148,128,120,108,115,137,133,110,  129,119,99,112,110,115,116,137,  127,147,98,107,93,131,122,130,  146,149,127,149,149,149,149,138,
+  90,141,92,62,123,145,98,94,  71,157,54,115,84,131,112,151,  121,73,99,126,103,146,129,51,  68,144,73,93,87,100,88,107,
+  137,80,87,78,75,97,105,85,  110,75,63,75,82,82,81,90,  99,126,66,86,72,87,81,105,  118,85,106,131,142,134,137,133,
+};
+
+static const uint8 ced_hires_21[1024] = {
+  83,35,83,86,68,31,99,99,  55,99,74,45,80,93,87,75,  79,100,91,111,76,86,61,33,  125,101,49,100,98,111,105,129,
+  59,43,112,116,111,56,117,121,  105,92,122,118,122,117,117,48,  113,112,111,124,119,105,131,14,  124,58,128,80,75,64,53,89,
+  102,65,123,122,96,71,94,119,  105,106,73,93,110,138,129,71,  91,126,89,85,132,109,80,55,  63,122,92,108,98,117,104,108,
+  87,29,40,62,58,112,27,40,  29,82,41,27,55,73,54,164,  60,39,74,78,77,82,45,14,  40,65,75,85,83,89,81,104,
+  56,54,82,113,116,92,121,126,  133,122,107,112,124,114,119,69,  102,67,118,115,124,140,111,23,  115,119,76,70,57,61,58,92,
+  78,62,95,25,124,109,90,119,  76,70,53,123,120,99,116,31,  107,29,119,104,112,46,98,15,  58,34,111,65,65,82,61,97,
+  81,74,99,75,114,81,117,133,  79,96,101,129,126,104,112,55,  91,50,130,123,117,86,115,48,  57,41,32,98,76,95,82,105,
+  107,147,94,49,39,141,43,49,  70,156,84,83,111,101,28,140,  58,35,42,54,90,129,55,41,  53,82,24,102,79,105,77,124,
+
+  75,53,95,115,100,73,77,121,  43,85,59,58,103,133,102,46,  69,150,127,128,112,72,122,25,  117,58,87,80,75,79,76,97,
+  52,103,109,123,121,131,123,117,  114,100,110,92,113,118,102,108,  129,127,111,123,117,103,115,21,  125,36,88,52,79,81,65,95,
+  87,70,63,109,62,69,46,61,  46,69,77,67,83,135,128,27,  93,114,58,120,143,110,108,59,  114,61,69,92,90,96,100,95,
+  109,61,71,65,81,104,96,64,  70,131,79,83,136,84,125,49,  77,107,101,97,105,80,101,61,  111,75,106,115,115,112,116,109,
+  112,114,84,92,90,82,79,75,  83,89,111,97,91,110,108,93,  97,93,73,90,96,92,89,68,  88,77,101,154,114,122,143,121,
+  53,137,103,128,119,76,111,90,  112,44,99,119,103,120,104,107,  107,110,85,115,119,68,113,4,  82,21,111,63,72,62,54,91,
+  115,54,75,100,84,61,84,54,  83,100,70,85,116,112,133,43,  80,88,74,84,141,60,68,52,  81,99,81,113,103,108,109,105,
+  120,111,126,115,133,122,111,89,  67,99,81,110,116,108,120,90,  90,163,89,121,125,100,107,119,  103,94,88,124,116,114,122,112,
+
+  102,136,101,31,69,99,109,94,  95,151,120,85,100,94,78,59,  51,53,85,107,69,157,101,38,  64,67,59,99,103,108,95,116,
+  79,150,19,27,24,119,22,24,  34,118,44,32,28,19,11,155,  18,43,0,29,14,101,25,9,  34,44,25,79,93,78,75,98,
+  109,79,94,83,94,67,94,111,  63,103,71,67,102,112,111,62,  121,102,109,118,80,89,83,60,  119,63,60,126,109,130,110,127,
+  52,53,108,90,118,45,88,105,  66,98,128,92,109,106,132,29,  112,78,109,93,96,54,103,149,  131,47,99,57,55,61,53,92,
+  113,67,91,86,91,74,66,59,  71,104,115,78,126,131,125,92,  113,78,81,96,142,98,101,64,  76,66,103,108,98,123,99,112,
+  107,81,112,47,95,153,81,88,  126,155,117,100,111,89,104,77,  131,53,97,95,109,142,93,38,  90,63,95,109,89,98,95,108,
+  53,65,106,102,111,70,124,115,  115,98,121,126,113,107,115,63,  119,40,128,113,105,54,117,78,  77,126,127,58,62,74,59,98,
+  130,70,67,61,62,63,68,65,  77,75,76,63,59,56,60,58,  74,89,44,52,52,89,72,70,  112,74,65,152,122,141,139,137,
+
+  87,83,128,38,121,100,104,126,  80,90,140,138,111,106,105,56,  118,38,125,105,107,90,118,59,  57,141,42,74,97,86,75,106,
+  113,89,93,86,69,80,73,66,  73,107,89,65,79,88,93,67,  86,81,65,83,79,83,81,62,  108,93,80,129,114,126,119,125,
+  72,100,140,106,126,76,78,82,  98,91,119,103,121,124,113,68,  119,69,92,127,109,58,110,23,  82,57,114,116,85,81,78,92,
+  114,71,89,89,85,92,85,77,  88,84,100,100,109,99,87,42,  81,78,116,95,146,76,98,54,  89,93,94,119,114,113,115,110,
+  73,57,129,122,104,91,116,112,  130,80,66,119,115,115,115,33,  101,33,124,105,107,25,97,34,  70,127,127,84,81,81,57,94,
+  74,41,117,137,107,32,76,46,  113,50,108,113,93,131,86,33,  121,33,104,108,103,103,115,9,  34,85,117,79,74,86,80,101,
+  105,136,69,50,52,146,69,59,  68,160,143,98,90,95,36,91,  54,64,94,68,86,132,126,39,  89,121,50,110,105,109,106,138,
+  119,64,72,56,60,96,83,58,  74,75,59,61,65,63,48,59,  78,73,49,68,62,65,54,71,  69,57,57,111,119,111,115,117,
+};
+
+
+
diff --git a/ced/compact_enc_det/compact_enc_det_hint_code.cc b/ced/compact_enc_det/compact_enc_det_hint_code.cc
new file mode 100644 (file)
index 0000000..6736e7f
--- /dev/null
@@ -0,0 +1,179 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#include "compact_enc_det/compact_enc_det_hint_code.h"
+
+#include <ctype.h>                      // for isalpha
+#include <string.h>                     // for NULL, memchr, strlen, etc
+
+#include "util/basictypes.h"            // for uint8, uint32
+#include "util/string_util.h"
+
+// Upper to lower, keep digits, everything else to minus '-' (2d)
+static const char kCharsetToLowerTbl[256] = {
+  0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d, 0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+  0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d, 0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+  0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d, 0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+  0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 0x38,0x39,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+
+  0x2d,0x61,0x62,0x63,0x64,0x65,0x66,0x67, 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+  0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77, 0x78,0x79,0x7a,0x2d,0x2d,0x2d,0x2d,0x2d,
+  0x2d,0x61,0x62,0x63,0x64,0x65,0x66,0x67, 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+  0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77, 0x78,0x79,0x7a,0x2d,0x2d,0x2d,0x2d,0x2d,
+
+  0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d, 0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+  0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d, 0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+  0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d, 0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+  0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d, 0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+
+  0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d, 0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+  0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d, 0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+  0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d, 0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+  0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d, 0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+};
+
+
+static const char kIsAlpha[256] = {
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,0,0,0,0,0,
+  0,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,0,0,0,0,0,
+
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+};
+
+static const char kIsDigit[256] = {
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 1,1,1,1,1,1,1,1, 1,1,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
+};
+
+static const char* kFakeEncodingName[] = {
+  "FakeEnc100", "FakeEnc101", "FakeEnc102", "FakeEnc103", "FakeEnc104",
+  "FakeEnc105", "FakeEnc106", "FakeEnc107", "FakeEnc108", "FakeEnc109",
+  "FakeEnc110", "FakeEnc111", "FakeEnc112", "FakeEnc113", "FakeEnc114",
+  "FakeEnc115", "FakeEnc116", "FakeEnc117", "FakeEnc118", "FakeEnc119",
+};
+static const char* kFakeEncodingName2[] = {
+  "FakeEnc_0", "FakeEnc_1", "FakeEnc_2", "FakeEnc_3", "FakeEnc_4",
+};
+
+// Return name for extended encoding
+const char* MyEncodingName(Encoding enc) {
+  if (enc < 0) {
+    return "~";
+  }
+  if (enc == ISO_8859_1) {
+    return "Latin1";   // I can't stand "ASCII" for this
+  }
+  if (enc < NUM_ENCODINGS) {
+    return EncodingName(enc);
+  }
+  // allow fake names, for exploration
+  if ((NUM_ENCODINGS <= enc) && (enc < (NUM_ENCODINGS + 4))) {
+    return kFakeEncodingName2[enc - NUM_ENCODINGS];
+  }
+  if ((100 <= enc) && (enc < 120)) {
+    return kFakeEncodingName[enc - 100];
+  }
+  return "~";
+}
+
+
+// http://www.iana.org/assignments/character-sets says charset name is up to
+// 40 bytes of any printable ASCII, but that can't be right
+// when parsing HTML; at least quote is not allowed. The list
+// here includes all punctuation in all registered names as of April 2006
+static const char* kWordLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+                                  "abcdefghijklmnopqrstuvwxyz"
+                                  "0123456789"
+                                  "-_.:()";
+
+
+// Normalize ASCII string to first 4 alphabetic chars and last 4 digit chars
+// Letters are forced to lowercase ASCII
+// Used to normalize charset= values
+string MakeChar44(const string& str) {
+  string res("________");     // eight underscores
+  int l_ptr = 0;
+  int d_ptr = 0;
+  for (int i = 0; i < str.size(); ++i) {
+    uint8 uc = static_cast<uint8>(str[i]);
+    if (kIsAlpha[uc]) {
+      if (l_ptr < 4) {                  // Else ignore
+        res[l_ptr] = kCharsetToLowerTbl[uc];
+        l_ptr++;
+      }
+    } else if (kIsDigit[uc]) {
+      if (d_ptr < 4) {
+        res[4 + d_ptr] = kCharsetToLowerTbl[uc];
+      } else {
+        // Keep last 4 digits by shifting left
+        res[4] = res[5];
+        res[5] = res[6];
+        res[6] = res[7];
+        res[7] = kCharsetToLowerTbl[uc];
+      }
+      d_ptr++;
+    }   // If neither letter nor digit, drop entirely
+  }
+  return res;
+}
+
+// Normalize ASCII string to first 8 alphabetic/digit chars
+// Letters are forced to lowercase ASCII
+// Used to normalize TLD values
+string MakeChar4(const string& str) {
+  string res("____");     // four underscores
+  int l_ptr = 0;
+  for (int i = 0; i < str.size(); ++i) {
+    uint8 uc = static_cast<uint8>(str[i]);
+    if (kIsAlpha[uc] | kIsDigit[uc]) {
+      if (l_ptr < 4) {                  // Else ignore
+        res[l_ptr] = kCharsetToLowerTbl[uc];
+        l_ptr++;
+      }
+    }
+  }
+  return res;
+}
+
+// Normalize ASCII string to first 8 alphabetic/digit chars
+// Letters are forced to lowercase ASCII
+// Used to normalize TLD values
+string MakeChar8(const string& str) {
+  string res("________");     // eight dots
+  int l_ptr = 0;
+  for (int i = 0; i < str.size(); ++i) {
+    uint8 uc = static_cast<uint8>(str[i]);
+    if (kIsAlpha[uc] | kIsDigit[uc]) {
+      if (l_ptr < 8) {                  // Else ignore
+        res[l_ptr] = kCharsetToLowerTbl[uc];
+        l_ptr++;
+      }
+    }
+  }
+  return res;
+}
diff --git a/ced/compact_enc_det/compact_enc_det_hint_code.h b/ced/compact_enc_det/compact_enc_det_hint_code.h
new file mode 100644 (file)
index 0000000..53fe67a
--- /dev/null
@@ -0,0 +1,45 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef COMPACT_ENC_DET_COMPACT_ENC_DET_HINT_CODE_H_
+#define COMPACT_ENC_DET_COMPACT_ENC_DET_HINT_CODE_H_
+
+#include <string>                        // for string
+
+#include "util/basictypes.h"             // for uint32
+#include "util/encodings/encodings.h"    // for Encoding
+
+using std::string;
+
+// Return name for extended encoding
+const char* MyEncodingName(Encoding enc);
+
+// Normalize ASCII string to first 4 alphabetic chars and last 4 digit chars
+// Letters are forced to lowercase ASCII
+// Used to normalize charset= values
+string MakeChar44(const string& str);
+
+// Normalize ASCII string to first 4 alphabetic/digit chars
+// Letters are forced to lowercase ASCII
+// Used to normalize TLD values
+string MakeChar4(const string& str);
+
+// Normalize ASCII string to first 8 alphabetic/digit chars
+// Letters are forced to lowercase ASCII
+// Used to normalize other values
+string MakeChar8(const string& str);
+
+#endif  // COMPACT_ENC_DET_COMPACT_ENC_DET_HINT_CODE_H_
diff --git a/ced/compact_enc_det/detail_head_string.inc b/ced/compact_enc_det/detail_head_string.inc
new file mode 100644 (file)
index 0000000..e70e5ff
--- /dev/null
@@ -0,0 +1,152 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+// Produced by stringify.cc on 2007-09-28 09:13 from file i18n/encodings/compact_enc_det/tools/detail_head.ps
+  "%!PS-Adobe-2.0\n\n/inch {72 mul} def\n/cshow {dup stringwidth pop -2 div"
+  " 0 rmoveto show} def\n\n/lmargin 0.5 inch def\n/rmargin 8.5 inch def\n/t"
+  "margin 10.5 inch def\n/bmargin 0.5 inch def\n\n\n% set to N>=0 to track "
+  "ranked encoding N\n/track-me -1 def\n/track-me2 -1 def\n\n/columns 2 def"
+  "\n\n/lpi 18 def                 % lines per inch\n/lpc lpi 10 mul def   "
+  "      % lines per column\n/lpp lpc columns mul def    % lines per page\n"
+  "/probw 3.0 inch def         % probability width\n/probr 50 def          "
+  "     % probability range\n/widowlines lpi 2 idiv def  % 1/2 inch widow a"
+  "t bottom\n/widowlines lpi def         % 1 inch widow at bottom\n\n/lpg l"
+  "pi 2 idiv def         % 1/2 inch spacing between groups\n\n/delc 4 inch "
+  "def\n/dell -1 inch lpi div def\n\n/next-line 0 def      % 24 lines per i"
+  "nch, 240 per column\n\n/Cfont /Courier findfont 6 scalefont def\n/Hfont "
+  "/Helvetica findfont 6 scalefont def\nHfont setfont\n\n\n% simple string "
+  "hash -- sum the characters\n/strhash {\n  /hstr exch def\n  /h 0 def\n  "
+  "0 1 hstr length 1 sub {/i exch def  /h h hstr i get add def} for\n  h\n}"
+  " def\n\n% convert pro at 30 per 2x to 0-2.5 inches spanning -50 to 0\n/p"
+  "rob2x {\n  30 idiv probr div probw mul neg probw add\n}def\n\n\n/cliptoc"
+  "olumn {\n  % ====== MUST MATCH ME ======\n  gsave\n  lmargin tmargin mov"
+  "eto\n  next-line lpc idiv delc mul 0 rmoveto\n  -1 18 rmoveto 0 -10.5 in"
+  "ch rlineto  delc 2 add 0 rlineto  0 10.5 inch rlineto closepath\n  clip\n"
+  "  newpath\n} def\n\n/endcliptocolumn {\n  grestore\n  % ====== MUST MATC"
+  "H ME ======\n} def\n\n\n\n/column-box {\n  lmargin tmargin moveto\n  nex"
+  "t-line 1 sub lpc idiv delc mul  next-line 1 sub lpc mod 1 add dell mul r"
+  "moveto\n  % box\n  gsave -1.5 0 rmoveto 0 detail-count dell mul neg rmov"
+  "eto  probw 3 add 0 rlineto 0.25 setlinewidth stroke grestore\n  gsave -1"
+  ".5 0 rmoveto 0 detail-count dell mul neg rlineto 0.25 setlinewidth strok"
+  "e grestore\n  gsave probw .8 mul 0 rmoveto 0 detail-count dell mul neg r"
+  "lineto 0.25 setlinewidth 0.8 setgray stroke grestore\n  gsave probw .6 m"
+  "ul 0 rmoveto 0 detail-count dell mul neg rlineto 0.25 setlinewidth 0.8 s"
+  "etgray stroke grestore\n  gsave probw .4 mul 0 rmoveto 0 detail-count de"
+  "ll mul neg rlineto 0.25 setlinewidth 0.8 setgray stroke grestore\n  gsav"
+  "e probw .2 mul 0 rmoveto 0 detail-count dell mul neg rlineto 0.25 setlin"
+  "ewidth 0.8 setgray stroke grestore\n  gsave probw 1.5 add 0 rmoveto 0 de"
+  "tail-count dell mul neg rlineto 0.25 setlinewidth stroke grestore\n} def"
+  "\n\n\n/IncrementLine {\n  /incr exch def\n  /next-line next-line incr ad"
+  "d def\n  next-line lpc ge   next-line incr sub lpc lt   and {\n    % We "
+  "just went to the top of column 2; redo clip\n    endcliptocolumn     % M"
+  "UST match\n    column-box\n    /next-line lpc def\n    cliptocolumn     "
+  "   % MUST match\n  } if\n  next-line lpp ge {\n    % We just went to the"
+  " top of column 3; start new page column 1\n    endcliptocolumn     % MUS"
+  "T match\n    column-box\n    showpage\n    Hfont setfont\n    /next-line"
+  " 0 def\n    show-pageno\n    cliptocolumn        % MUST match\n  } if\n}"
+  " def\n\n/IncrementLineOutside {\n  /incr exch def\n  /next-line next-lin"
+  "e incr add def\n  next-line lpc ge   next-line incr sub lpc lt   and {\n"
+  "    % We just went to the top of column 2\n    /next-line lpc def\n  } i"
+  "f\n  next-line lpp ge {\n    % We just went to the top of column 3; star"
+  "t new page column 1\n    showpage\n    Hfont setfont\n    /next-line 0 d"
+  "ef\n    show-pageno\n  } if\n} def\n\n/NextColumn {\n  lpc 1 sub Increme"
+  "ntLine\n} def\n\n/NextPage {\n    lpp 1 sub IncrementLine\n} def\n\n% Up"
+  "on entry, we are OUTSIDE the clip\n/start-detail {\n  /d-title exch def\n"
+  "\n  % align >= 1 inch at bottom of column, and/or start new column\n  lp"
+  "c next-line lpc mod sub widowlines lt {\n    % Start at top of a column\n"
+  "    next-line lpc ge {\n      % Start new page\n      showpage\n      Hf"
+  "ont setfont\n      /next-line 0 def\n      show-pageno\n    } {\n      %"
+  " Start new column\n      /next-line lpc def\n    } ifelse\n  } if\n\n  l"
+  "margin tmargin moveto\n  next-line lpc idiv delc mul  next-line lpc mod "
+  "dell mul rmoveto\n  gsave d-title show grestore\n  0 dell rmoveto\n  1 1"
+  " 4 {/j exch def gsave probw j mul 5 div -2 rmoveto 50 j 10 mul sub 20 st"
+  "ring cvs cshow grestore} for\n  2 IncrementLineOutside\n  /detail-count "
+  "1 def\n  cliptocolumn            % MUST match\n  /d-array [] def\n} def\n"
+  "\n/size-detail {\n  /d-names exch def\n  /d-size exch def\n  % zero sums"
+  "\n  /sums d-size array def\n  0 1 d-size 1 sub {/i exch def  sums i 0 pu"
+  "t} for\n  /old-d-max 0 def\n  /colors d-size array def\n  0 1 d-size 1 s"
+  "ub {/i exch def  colors i i 3 mul 17 mod 17 div put} for\n  %0 1 d-size "
+  "1 sub {/i exch def  colors i d-names i get strhash 3 mul 17 mod 17 div p"
+  "ut} for\n  %0 1 d-size 1 sub {/i exch def  ( ) show colors i get 20 stri"
+  "ng cvs show} for\n} def\n\n/count-detail {\n  /detail-total-count exch d"
+  "ef\n  % if total-count >= one column, start at top of a column\n  detail"
+  "-total-count lpp ge {\n    % Start new page\n    NextPage\n  } {\n    de"
+  "tail-total-count lpc ge {\n      % Start new column\n      NextColumn\n "
+  "   } if\n  } ifelse\n} def\n\n% highlight next entry with underbar\n/do-"
+  "flag {\ngsave\n  setrgbcolor\n  lmargin tmargin moveto\n  next-line lpc "
+  "idiv delc mul  next-line lpc mod dell mul rmoveto\n  0 -2 rmoveto\n  pro"
+  "bw 0 rlineto\n  0 dell neg rlineto\n  probw neg 0 rlineto\n  closepath\n"
+  "  fill\ngrestore\n} def\n\n/do-detail-e {\n  /d-array exch def\n  /d-enc"
+  " exch def\n  /d-label exch def\n  /d-max -999999 def\n\n  lmargin tmargi"
+  "n moveto\n  next-line lpc idiv delc mul  next-line lpc mod dell mul rmov"
+  "eto\n  0.25 setlinewidth\n\n  % show label, using encoding color\n  gsav"
+  "e\n    probw 2 add -2 rmoveto\n    detail-count 1 sub 2 mod 0.25 inch mu"
+  "l 0 rmoveto\n    % ([) show detail-count 20 string cvs show (] ) show\n "
+  "   d-enc 0 lt {\n      0 setgray\n    }{\n      colors d-enc get 1 .8 se"
+  "thsbcolor\n    } ifelse\n    d-label show\n  grestore\n  % For -prune- d"
+  "raw horizontal line\n  d-label length 8 gt {d-label 4 get (p) 0 get eq d"
+  "-label 5 get (r) 0 get eq and {\n    /prune-val d-label cvi def\n    /ne"
+  "wx prune-val 30 mul prob2x def\n    gsave newx 6 rmoveto 0 -12 rlineto 1"
+  ".5 setlinewidth 0.8 setgray stroke grestore\n    gsave probw 0 add 0 rli"
+  "neto 0.25 setlinewidth 0.8 setgray stroke grestore\n  } if } if\n\n  % t"
+  "rack max per new row\n  0 1 d-array length 1 sub {\n    /i exch def\n   "
+  " /sum sums i get d-array i get add def\n    d-max sum lt {/d-max sum def"
+  "} if\n  } for\n\n  % draw line increments\n  0 1 d-array length 1 sub {\n"
+  "    /i exch def\n    detail-count 1 gt {\n      /oldx old-d-max sums i g"
+  "et sub prob2x def\n    } {\n      /oldx 600 prob2x def\n    } ifelse\n  "
+  "  /oldy dell neg def\n    /newx d-max  sums i get d-array i get add  sub"
+  " prob2x def\n    /newy 0 def\n    gsave\n    oldx oldy rmoveto\n    newx"
+  " oldx sub  newy oldy sub rlineto\n    % if encoding is being tracked, ma"
+  "ke bold line\n    i track-me eq\n      {2 setlinewidth}\n      {i track-"
+  "me2 eq {1.25 setlinewidth} {0.25 setlinewidth} ifelse}\n      ifelse\n  "
+  "  colors i get 1 .8 sethsbcolor stroke\n    grestore\n  } for\n  /detail"
+  "-count detail-count 1 add def\n\n  % increment running total in sums, tr"
+  "ack max per row\n  0 1 d-array length 1 sub {\n    /i exch def\n    sums"
+  " i  sums i get d-array i get add  put\n  } for\n  /old-d-max d-max def\n"
+  "\n  1 IncrementLine\n} def\n\n\n/do-detail {\n  /d-array exch def\n  /d-"
+  "label exch def\n  d-label -1 d-array do-detail-e\n} def\n\n% Upon exit, "
+  "we are outside the clip\n/end-detail {\n  pop\n  endcliptocolumn        "
+  " % MUST match\n  column-box\n\n  % text labels\n  0 1 d-array length 1 s"
+  "ub {\n    /i exch def\n    gsave\n    /newx old-d-max sums i get sub pro"
+  "b2x def\n    newx 0 ge {\n      newx 0 rmoveto\n      currentpoint trans"
+  "late\n      colors i get 1 .8 sethsbcolor\n      gsave 0 dell neg  rline"
+  "to 0.25 setlinewidth stroke grestore\n      -60 rotate\n      0 -2 movet"
+  "o d-names i get show\n    } if\n    grestore\n  } for\n  d-array length "
+  "0 gt {\n    lpg IncrementLineOutside\n  } {\n    lpg 4 idiv IncrementLin"
+  "eOutside\n  } ifelse\n} def\n\n/do-src {\n/src exch def\n  lmargin tmarg"
+  "in moveto\n  next-line lpc idiv delc mul  next-line lpc mod dell mul rmo"
+  "veto\n  Cfont setfont\n  src show\n  Hfont setfont\n  1 IncrementLine\n}"
+  " def\n\n% Underline trigram in source text\n/do-highlight1 {\n  /hl-colo"
+  "r exch def\n  /hl-offset exch def\n  /hl-line exch 1 sub 2 mul def\n  gs"
+  "ave\n  lmargin tmargin moveto\n  next-line hl-line sub lpc idiv delc mul"
+  "\n  next-line hl-line sub lpc mod dell mul rmoveto\n  % Assume text is 6"
+  " chars in and 3.6 pts per char, but 2 chars per offset\n  hl-offset 2 mu"
+  "l 6 add 3.6 mul  4 rmoveto\n\n  0 setgray 0.5 setlinewidth\n  hl-color 1"
+  " eq {0 0 1 setrgbcolor} if  % Latin1 blue\n  hl-color 2 eq {1 0 1 setrgb"
+  "color} if  % Latin2 magenta\n  hl-color 3 eq {1 0.67 0 setrgbcolor} if  "
+  "% Latin7 orange\n  18 -2 rlineto stroke\n  grestore\n} def\n\n% Box trig"
+  "ram in source text\n/do-highlight2 {\n  /hl-color exch def\n  /hl-offset"
+  " exch def\n  /hl-line exch 1 sub 2 mul def\n  gsave\n  lmargin tmargin m"
+  "oveto\n  next-line hl-line sub lpc idiv delc mul\n  next-line hl-line su"
+  "b lpc mod dell mul rmoveto\n  % Assume text is 6 chars in and 3.6 pts pe"
+  "r char, but 2 chars per offset\n  hl-offset 2 mul 6 add 3.6 mul  4 rmove"
+  "to\n\n  0 setgray 0.25 setlinewidth\n  hl-color 1 eq {0 0 1 setrgbcolor}"
+  " if  % Latin1 blue\n  hl-color 2 eq {1 0 1 setrgbcolor} if  % Latin2 mag"
+  "enta\n  hl-color 3 eq {1 0.67 0 setrgbcolor} if  % Latin7 orange\n  -0.5"
+  " -0.5 rmoveto\n  22 0 rlineto\n  0 4 rlineto\n  -11 2 rlineto\n  -11 -2 "
+  "rlineto\n  closepath\n  stroke\n  grestore\n} def\n\n/show-pageno {\ngsa"
+  "ve\nlmargin bmargin moveto 0 -12 rmoveto\n(Page ) show pageno 20 string "
+  "cvs show\ngrestore\n/pageno pageno 1 add def\n} def\n\n/pageno 1 def\nsh"
+  "ow-pageno\n%=============================\n\n\n"
diff --git a/ced/util/basictypes.h b/ced/util/basictypes.h
new file mode 100644 (file)
index 0000000..af391c7
--- /dev/null
@@ -0,0 +1,331 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef UTIL_BASICTYPES_H_
+#define UTIL_BASICTYPES_H_
+
+#include <limits.h>         // So we can set the bounds of our types
+#include <stddef.h>         // For size_t
+#include <string.h>         // for memcpy
+
+#include "util/port.h"    // Types that only need exist on certain systems
+
+#ifndef COMPILER_MSVC
+// stdint.h is part of C99 but MSVC doesn't have it.
+#include <stdint.h>         // For intptr_t.
+#endif
+
+typedef signed char         schar;
+typedef signed char         int8;
+typedef short               int16;
+// TODO(mbelshe) Remove these type guards.  These are
+//               temporary to avoid conflicts with npapi.h.
+#ifndef _INT32
+#define _INT32
+typedef int                 int32;
+#endif
+
+// The NSPR system headers define 64-bit as |long| when possible.  In order to
+// not have typedef mismatches, we do the same on LP64.
+#if __LP64__
+typedef long                int64;
+#else
+typedef long long           int64;
+#endif
+
+// NOTE: unsigned types are DANGEROUS in loops and other arithmetical
+// places.  Use the signed types unless your variable represents a bit
+// pattern (eg a hash value) or you really need the extra bit.  Do NOT
+// use 'unsigned' to express "this value should always be positive";
+// use assertions for this.
+
+typedef unsigned char      uint8;
+typedef unsigned short     uint16;
+// TODO(mbelshe) Remove these type guards.  These are
+//               temporary to avoid conflicts with npapi.h.
+#ifndef _UINT32
+#define _UINT32
+typedef unsigned int       uint32;
+#endif
+
+// See the comment above about NSPR and 64-bit.
+#if __LP64__
+typedef unsigned long uint64;
+#else
+typedef unsigned long long uint64;
+#endif
+
+// A type to represent a Unicode code-point value. As of Unicode 4.0,
+// such values require up to 21 bits.
+// (For type-checking on pointers, make this explicitly signed,
+// and it should always be the signed version of whatever int32 is.)
+typedef signed int         char32;
+
+const uint8  kuint8max  = (( uint8) 0xFF);
+const uint16 kuint16max = ((uint16) 0xFFFF);
+const uint32 kuint32max = ((uint32) 0xFFFFFFFF);
+const uint64 kuint64max = ((uint64) GG_LONGLONG(0xFFFFFFFFFFFFFFFF));
+const  int8  kint8min   = ((  int8) 0x80);
+const  int8  kint8max   = ((  int8) 0x7F);
+const  int16 kint16min  = (( int16) 0x8000);
+const  int16 kint16max  = (( int16) 0x7FFF);
+const  int32 kint32min  = (( int32) 0x80000000);
+const  int32 kint32max  = (( int32) 0x7FFFFFFF);
+const  int64 kint64min  = (( int64) GG_LONGLONG(0x8000000000000000));
+const  int64 kint64max  = (( int64) GG_LONGLONG(0x7FFFFFFFFFFFFFFF));
+
+// A macro to disallow the copy constructor and operator= functions
+// This should be used in the private: declarations for a class
+#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
+  TypeName(const TypeName&);               \
+  void operator=(const TypeName&)
+
+// An older, deprecated, politically incorrect name for the above.
+#define DISALLOW_EVIL_CONSTRUCTORS(TypeName) DISALLOW_COPY_AND_ASSIGN(TypeName)
+
+// A macro to disallow all the implicit constructors, namely the
+// default constructor, copy constructor and operator= functions.
+//
+// This should be used in the private: declarations for a class
+// that wants to prevent anyone from instantiating it. This is
+// especially useful for classes containing only static methods.
+#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
+  TypeName();                                    \
+  DISALLOW_COPY_AND_ASSIGN(TypeName)
+
+// The arraysize(arr) macro returns the # of elements in an array arr.
+// The expression is a compile-time constant, and therefore can be
+// used in defining new arrays, for example.  If you use arraysize on
+// a pointer by mistake, you will get a compile-time error.
+
+// This template function declaration is used in defining arraysize.
+// Note that the function doesn't need an implementation, as we only
+// use its type.
+template <typename T, size_t N>
+char (&ArraySizeHelper(T (&array)[N]))[N];
+
+// That gcc wants both of these prototypes seems mysterious. VC, for
+// its part, can't decide which to use (another mystery). Matching of
+// template overloads: the final frontier.
+#ifndef _MSC_VER
+template <typename T, size_t N>
+char (&ArraySizeHelper(const T (&array)[N]))[N];
+#endif
+
+#define arraysize(array) (sizeof(ArraySizeHelper(array)))
+
+
+// Use implicit_cast as a safe version of static_cast or const_cast
+// for upcasting in the type hierarchy (i.e. casting a pointer to Foo
+// to a pointer to SuperclassOfFoo or casting a pointer to Foo to
+// a const pointer to Foo).
+// When you use implicit_cast, the compiler checks that the cast is safe.
+// Such explicit implicit_casts are necessary in surprisingly many
+// situations where C++ demands an exact type match instead of an
+// argument type convertable to a target type.
+//
+// The From type can be inferred, so the preferred syntax for using
+// implicit_cast is the same as for static_cast etc.:
+//
+//   implicit_cast<ToType>(expr)
+//
+// implicit_cast would have been part of the C++ standard library,
+// but the proposal was submitted too late.  It will probably make
+// its way into the language in the future.
+template<typename To, typename From>
+inline To implicit_cast(From const &f) {
+  return f;
+}
+
+// The COMPILE_ASSERT macro can be used to verify that a compile time
+// expression is true. For example, you could use it to verify the
+// size of a static array:
+//
+//   COMPILE_ASSERT(arraysize(content_type_names) == CONTENT_NUM_TYPES,
+//                  content_type_names_incorrect_size);
+//
+// or to make sure a struct is smaller than a certain size:
+//
+//   COMPILE_ASSERT(sizeof(foo) < 128, foo_too_large);
+//
+// The second argument to the macro is the name of the variable. If
+// the expression is false, most compilers will issue a warning/error
+// containing the name of the variable.
+
+template <bool>
+struct CompileAssert {
+};
+
+#undef COMPILE_ASSERT
+#define COMPILE_ASSERT(expr, msg) \
+  typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1]
+
+// Implementation details of COMPILE_ASSERT:
+//
+// - COMPILE_ASSERT works by defining an array type that has -1
+//   elements (and thus is invalid) when the expression is false.
+//
+// - The simpler definition
+//
+//     #define COMPILE_ASSERT(expr, msg) typedef char msg[(expr) ? 1 : -1]
+//
+//   does not work, as gcc supports variable-length arrays whose sizes
+//   are determined at run-time (this is gcc's extension and not part
+//   of the C++ standard).  As a result, gcc fails to reject the
+//   following code with the simple definition:
+//
+//     int foo;
+//     COMPILE_ASSERT(foo, msg); // not supposed to compile as foo is
+//                               // not a compile-time constant.
+//
+// - By using the type CompileAssert<(bool(expr))>, we ensures that
+//   expr is a compile-time constant.  (Template arguments must be
+//   determined at compile-time.)
+//
+// - The outter parentheses in CompileAssert<(bool(expr))> are necessary
+//   to work around a bug in gcc 3.4.4 and 4.0.1.  If we had written
+//
+//     CompileAssert<bool(expr)>
+//
+//   instead, these compilers will refuse to compile
+//
+//     COMPILE_ASSERT(5 > 0, some_message);
+//
+//   (They seem to think the ">" in "5 > 0" marks the end of the
+//   template argument list.)
+//
+// - The array size is (bool(expr) ? 1 : -1), instead of simply
+//
+//     ((expr) ? 1 : -1).
+//
+//   This is to avoid running into a bug in MS VC 7.1, which
+//   causes ((0.0) ? 1 : -1) to incorrectly evaluate to 1.
+
+
+// MetatagId refers to metatag-id that we assign to
+// each metatag <name, value> pair..
+typedef uint32 MetatagId;
+
+// Argument type used in interfaces that can optionally take ownership
+// of a passed in argument.  If TAKE_OWNERSHIP is passed, the called
+// object takes ownership of the argument.  Otherwise it does not.
+enum Ownership {
+  DO_NOT_TAKE_OWNERSHIP,
+  TAKE_OWNERSHIP
+};
+
+// bit_cast<Dest,Source> is a template function that implements the
+// equivalent of "*reinterpret_cast<Dest*>(&source)".  We need this in
+// very low-level functions like the protobuf library and fast math
+// support.
+//
+//   float f = 3.14159265358979;
+//   int i = bit_cast<int32>(f);
+//   // i = 0x40490fdb
+//
+// The classical address-casting method is:
+//
+//   // WRONG
+//   float f = 3.14159265358979;            // WRONG
+//   int i = * reinterpret_cast<int*>(&f);  // WRONG
+//
+// The address-casting method actually produces undefined behavior
+// according to ISO C++ specification section 3.10 -15 -.  Roughly, this
+// section says: if an object in memory has one type, and a program
+// accesses it with a different type, then the result is undefined
+// behavior for most values of "different type".
+//
+// This is true for any cast syntax, either *(int*)&f or
+// *reinterpret_cast<int*>(&f).  And it is particularly true for
+// conversions betweeen integral lvalues and floating-point lvalues.
+//
+// The purpose of 3.10 -15- is to allow optimizing compilers to assume
+// that expressions with different types refer to different memory.  gcc
+// 4.0.1 has an optimizer that takes advantage of this.  So a
+// non-conforming program quietly produces wildly incorrect output.
+//
+// The problem is not the use of reinterpret_cast.  The problem is type
+// punning: holding an object in memory of one type and reading its bits
+// back using a different type.
+//
+// The C++ standard is more subtle and complex than this, but that
+// is the basic idea.
+//
+// Anyways ...
+//
+// bit_cast<> calls memcpy() which is blessed by the standard,
+// especially by the example in section 3.9 .  Also, of course,
+// bit_cast<> wraps up the nasty logic in one place.
+//
+// Fortunately memcpy() is very fast.  In optimized mode, with a
+// constant size, gcc 2.95.3, gcc 4.0.1, and msvc 7.1 produce inline
+// code with the minimal amount of data movement.  On a 32-bit system,
+// memcpy(d,s,4) compiles to one load and one store, and memcpy(d,s,8)
+// compiles to two loads and two stores.
+//
+// I tested this code with gcc 2.95.3, gcc 4.0.1, icc 8.1, and msvc 7.1.
+//
+// WARNING: if Dest or Source is a non-POD type, the result of the memcpy
+// is likely to surprise you.
+
+template <class Dest, class Source>
+inline Dest bit_cast(const Source& source) {
+  // Compile time assertion: sizeof(Dest) == sizeof(Source)
+  // A compile error here means your Dest and Source have different sizes.
+  // typedef char VerifySizesAreEqual [sizeof(Dest) == sizeof(Source) ? 1 : -1];
+
+  Dest dest;
+  memcpy(&dest, &source, sizeof(dest));
+  return dest;
+}
+
+// The following enum should be used only as a constructor argument to indicate
+// that the variable has static storage class, and that the constructor should
+// do nothing to its state.  It indicates to the reader that it is legal to
+// declare a static instance of the class, provided the constructor is given
+// the base::LINKER_INITIALIZED argument.  Normally, it is unsafe to declare a
+// static variable that has a constructor or a destructor because invocation
+// order is undefined.  However, IF the type can be initialized by filling with
+// zeroes (which the loader does for static variables), AND the destructor also
+// does nothing to the storage, AND there are no virtual methods, then a
+// constructor declared as
+//       explicit MyClass(base::LinkerInitialized x) {}
+// and invoked as
+//       static MyClass my_variable_name(base::LINKER_INITIALIZED);
+namespace base {
+enum LinkerInitialized { LINKER_INITIALIZED };
+}  // base
+
+// UnaligndLoad32 is put here instead of util/port.h to
+// avoid the circular dependency between port.h and basictypes.h
+// ARM does not support unaligned memory access.
+#if defined(ARCH_CPU_X86_FAMILY)
+// x86 and x86-64 can perform unaligned loads/stores directly;
+inline uint32 UnalignedLoad32(const void* p) {
+  return *reinterpret_cast<const uint32*>(p);
+}
+#else
+#define NEED_ALIGNED_LOADS
+// If target architecture does not support unaligned loads and stores,
+// use memcpy version of UNALIGNED_LOAD32.
+inline uint32 UnalignedLoad32(const void* p) {
+  uint32 t;
+  memcpy(&t, reinterpret_cast<const uint8*>(p), sizeof(t));
+  return t;
+}
+
+#endif
+#endif  // UTIL_BASICTYPES_H_
diff --git a/ced/util/case_insensitive_hash.h b/ced/util/case_insensitive_hash.h
new file mode 100644 (file)
index 0000000..7b0c9db
--- /dev/null
@@ -0,0 +1,88 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef UTIL_CASE_INSENSITIVE_HASH_H_
+#define UTIL_CASE_INSENSITIVE_HASH_H_
+
+#include <ctype.h>
+#include <stddef.h>
+#ifndef _MSC_VER
+#include <strings.h>
+#endif
+
+#include <string>
+
+#include "util/basictypes.h"
+#include "util/string_util.h"
+
+// Functors for hashing c-strings with case-insensitive semantics.
+struct CStringCaseHash {
+  size_t operator()(const char *str) const {
+    unsigned long hash_val = 0;
+    while (*str) {
+      hash_val = 5*hash_val + tolower(*str);
+      str++;
+    }
+    return (size_t)hash_val;
+  }
+};
+
+struct CStringCaseEqual {
+  bool operator()(const char *str1, const char *str2) const {
+    return !base::strcasecmp(str1, str2);
+  }
+};
+
+// These functors, in addition to being case-insensitive, ignore all
+// non-alphanumeric characters.  This is useful when we want all variants of
+// a string -- where variants can differ in puncutation and whitespace -- to
+// map to the same value.
+struct CStringAlnumCaseHash {
+  size_t operator()(const char *str) const {
+    unsigned long hash_val = 0;
+    while (*str) {
+      if (isalnum(*str)) {
+        hash_val = 5*hash_val + tolower(*str);
+      }
+      str++;
+    }
+    return (size_t)hash_val;
+  }
+};
+
+struct CStringAlnumCaseEqual {
+  bool operator()(const char *str1, const char *str2) const {
+    while (true) {
+      // Skip until each pointer is pointing to an alphanumeric char or '\0'
+      while (!isalnum(*str1) && (*str1 != '\0')) {
+        str1++;
+      }
+      while (!isalnum(*str2) && (*str2 != '\0')) {
+        str2++;
+      }
+      if (tolower(*str1) != tolower(*str2)) {
+        return false;       // mismatch on alphanumeric char or '\0'
+      }
+      if (*str1 == '\0') {  // in which case *str2 must be '\0' as well
+        return true;        // reached '\0' in both strings without mismatch
+      }
+      str1++;
+      str2++;
+    }
+  }
+};
+
+#endif  // UTIL_CASE_INSENSITIVE_HASH_H_
diff --git a/ced/util/commandlineflags.h b/ced/util/commandlineflags.h
new file mode 100644 (file)
index 0000000..302d449
--- /dev/null
@@ -0,0 +1,39 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef UTIL_COMMANDLINEFLAGS_H_
+#define UTIL_COMMANDLINEFLAGS_H_
+
+
+#undef DEFINE_bool
+#define DEFINE_bool(name, default_value, comment) \
+    bool FLAGS_##name = default_value;
+#undef DEFINE_int32
+#define DEFINE_int32(name, default_value, comment) \
+    int32 FLAGS_##name = default_value;
+#undef DEFINE_string
+#define DEFINE_string(name, default_value, comment) \
+    string FLAGS_##name = default_value;
+
+#undef DECLARE_bool
+#define DECLARE_bool(name) extern bool FLAGS_##name;
+#undef DECLARE_int32
+#define DECLARE_int32(name) extern int32 FLAGS_##name;
+#undef DECLARE_string
+#define DECLARE_string(name) extern string FLAGS_##name;
+
+
+#endif  // UTIL_COMMANDLINEFLAGS_H_
diff --git a/ced/util/encodings/encodings.cc b/ced/util/encodings/encodings.cc
new file mode 100644 (file)
index 0000000..b5f8dc5
--- /dev/null
@@ -0,0 +1,891 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#include "util/encodings/encodings.h"
+
+#include <string.h>                     // for strcasecmp
+#include <unordered_map>
+#include <utility>                      // for pair
+
+#include "util/basictypes.h"
+#include "util/string_util.h"
+#include "util/case_insensitive_hash.h"
+
+struct EncodingInfo {
+  // The standard name for this encoding.
+  //
+  const char* encoding_name_;
+
+  // The "preferred MIME name" of an encoding as specified by the IANA at:
+  //     http://www.iana.org/assignments/character-sets
+  //
+  //   Note that the preferred MIME name may differ slightly from the
+  //   official IANA name: i.e. ISO-8859-1 vs. ISO_8859-1:1987
+  //
+  const char* mime_encoding_name_;
+
+  // It is an internal policy that if an encoding has an IANA name,
+  // then encoding_name_ and mime_encoding_name_ must be the same string.
+  //
+  // However, there can be exceptions if there are compelling reasons.
+  // For example, Japanese mobile handsets require the name
+  // "Shift_JIS" in charset=... parameter in Content-Type headers to
+  // process emoji (emoticons) in their private encodings.  In that
+  // case, mime_encoding_name_ should be "Shift_JIS", despite
+  // encoding_name_ actually is "X-KDDI-Shift_JIS".
+
+  // Some multi-byte encodings use byte values that coincide with the
+  // ASCII codes for HTML syntax characters <>"&' and browsers like MSIE
+  // can misinterpret these, as indicated in an external XSS report from
+  // 2007-02-15. Here, we map these dangerous encodings to safer ones. We
+  // also use UTF8 instead of encodings that we don't support in our
+  // output, and we generally try to be conservative in what we send out.
+  // Where the client asks for single- or double-byte encodings that are
+  // not as common, we substitute a more common single- or double-byte
+  // encoding, if there is one, thereby preserving the client's intent
+  // to use less space than UTF-8. This also means that characters
+  // outside the destination set will be converted to HTML NCRs (&#NNN;)
+  // if requested.
+
+  Encoding preferred_web_output_encoding_;
+};
+
+static const EncodingInfo kEncodingInfoTable[] = {
+  { "ASCII", "ISO-8859-1", ISO_8859_1},
+  { "Latin2", "ISO-8859-2", ISO_8859_2},
+  { "Latin3", "ISO-8859-3", UTF8},
+      // MSIE 6 does not support ISO-8859-3 (XSS issue)
+  { "Latin4", "ISO-8859-4", ISO_8859_4},
+  { "ISO-8859-5", "ISO-8859-5", ISO_8859_5},
+  { "Arabic", "ISO-8859-6", ISO_8859_6},
+  { "Greek", "ISO-8859-7", ISO_8859_7},
+  { "Hebrew", "ISO-8859-8", MSFT_CP1255},
+      // we do not endorse the visual order
+  { "Latin5", "ISO-8859-9", ISO_8859_9},
+  { "Latin6", "ISO-8859-10", UTF8},
+      // MSIE does not support ISO-8859-10 (XSS issue)
+  { "EUC-JP",  "EUC-JP", JAPANESE_EUC_JP},
+  { "SJS", "Shift_JIS", JAPANESE_SHIFT_JIS},
+  { "JIS", "ISO-2022-JP", JAPANESE_SHIFT_JIS},
+      // due to potential confusion with HTML syntax chars
+  { "BIG5", "Big5", CHINESE_BIG5},
+  { "GB",  "GB2312", CHINESE_GB},
+  { "EUC-CN",
+        "EUC-CN",
+        // Misnamed. Should be EUC-TW.
+        CHINESE_BIG5},
+      // MSIE treats "EUC-CN" like GB2312, which is not EUC-TW,
+      // and EUC-TW is rare, so we prefer Big5 for output.
+  { "KSC", "EUC-KR", KOREAN_EUC_KR},
+  { "Unicode",
+    "UTF-16LE",
+        // Internet Explorer doesn't recognize "ISO-10646-UCS-2"
+        UTF8
+        // due to potential confusion with HTML syntax chars
+        },
+  { "EUC",
+        "EUC",  // Misnamed. Should be EUC-TW.
+        CHINESE_BIG5
+        // MSIE does not recognize "EUC" (XSS issue),
+        // and EUC-TW is rare, so we prefer Big5 for output.
+        },
+  { "CNS",
+        "CNS",  // Misnamed. Should be EUC-TW.
+        CHINESE_BIG5},
+      // MSIE does not recognize "CNS" (XSS issue),
+      // and EUC-TW is rare, so we prefer Big5 for output.
+  { "BIG5-CP950",
+        "BIG5-CP950",  // Not an IANA name
+        CHINESE_BIG5
+        // MSIE does not recognize "BIG5-CP950" (XSS issue)
+        },
+  { "CP932", "CP932",  // Not an IANA name
+        JAPANESE_SHIFT_JIS},  // MSIE does not recognize "CP932" (XSS issue)
+  { "UTF8", "UTF-8", UTF8},
+  { "Unknown",
+        "x-unknown",  // Not an IANA name
+        UTF8},  // UTF-8 is our default output encoding
+  { "ASCII-7-bit", "US-ASCII", ASCII_7BIT},
+  { "KOI8R", "KOI8-R", RUSSIAN_KOI8_R},
+  { "CP1251", "windows-1251", RUSSIAN_CP1251},
+  { "CP1252", "windows-1252", MSFT_CP1252},
+  { "KOI8U",
+        "KOI8-U",
+        ISO_8859_5},  // because koi8-u is not as common
+  { "CP1250", "windows-1250", MSFT_CP1250},
+  { "ISO-8859-15", "ISO-8859-15", ISO_8859_15},
+  { "CP1254", "windows-1254", MSFT_CP1254},
+  { "CP1257", "windows-1257", MSFT_CP1257},
+  { "ISO-8859-11", "ISO-8859-11", ISO_8859_11},
+  { "CP874", "windows-874", MSFT_CP874},
+  { "CP1256", "windows-1256", MSFT_CP1256},
+  { "CP1255", "windows-1255", MSFT_CP1255},
+  { "ISO-8859-8-I", "ISO-8859-8-I", MSFT_CP1255},
+      // Java does not support iso-8859-8-i
+  { "VISUAL", "ISO-8859-8", MSFT_CP1255},
+      // we do not endorse the visual order
+  { "CP852", "cp852", MSFT_CP1250},
+      // because cp852 is not as common
+  { "CSN_369103", "csn_369103", MSFT_CP1250},
+      // MSIE does not recognize "csn_369103" (XSS issue)
+  { "CP1253", "windows-1253", MSFT_CP1253},
+  { "CP866", "IBM866", RUSSIAN_CP1251},
+      // because cp866 is not as common
+  { "ISO-8859-13", "ISO-8859-13", UTF8},
+      // because iso-8859-13 is not widely supported
+  { "ISO-2022-KR", "ISO-2022-KR", KOREAN_EUC_KR},
+      // due to potential confusion with HTML syntax chars
+  { "GBK", "GBK", GBK},
+  { "GB18030", "GB18030", GBK},
+      // because gb18030 is not widely supported
+  { "BIG5_HKSCS", "BIG5-HKSCS", CHINESE_BIG5},
+      // because Big5-HKSCS is not widely supported
+  { "ISO_2022_CN", "ISO-2022-CN", CHINESE_GB},
+      // due to potential confusion with HTML syntax chars
+  { "TSCII", "tscii", UTF8},
+      // we do not have an output converter for this font encoding
+  { "TAM", "tam", UTF8},
+      // we do not have an output converter for this font encoding
+  { "TAB", "tab", UTF8},
+      // we do not have an output converter for this font encoding
+  { "JAGRAN", "jagran", UTF8},
+      // we do not have an output converter for this font encoding
+  { "MACINTOSH", "MACINTOSH", ISO_8859_1},
+      // because macintosh is relatively uncommon
+  { "UTF7", "UTF-7",
+        UTF8},  // UTF-7 has been the subject of XSS attacks and is deprecated
+  { "BHASKAR", "bhaskar",
+        UTF8},  // we do not have an output converter for this font encoding
+  { "HTCHANAKYA", "htchanakya",  // not an IANA charset name.
+        UTF8},  // we do not have an output converter for this font encoding
+  { "UTF-16BE", "UTF-16BE",
+        UTF8},  // due to potential confusion with HTML syntax chars
+  { "UTF-16LE", "UTF-16LE",
+        UTF8},  // due to potential confusion with HTML syntax chars
+  { "UTF-32BE", "UTF-32BE",
+        UTF8},  // unlikely to cause XSS bugs, but very uncommon on Web
+  { "UTF-32LE", "UTF-32LE",
+        UTF8},  // unlikely to cause XSS bugs, but very uncommon on Web
+  { "X-BINARYENC", "x-binaryenc",  // Not an IANA name
+        UTF8},  // because this one is not intended for output (just input)
+  { "HZ-GB-2312", "HZ-GB-2312",
+        CHINESE_GB},  // due to potential confusion with HTML syntax chars
+  { "X-UTF8UTF8", "x-utf8utf8",  // Not an IANA name
+        UTF8},  // because this one is not intended for output (just input)
+  { "X-TAM-ELANGO", "x-tam-elango",
+        UTF8},  // we do not have an output converter for this font encoding
+  { "X-TAM-LTTMBARANI", "x-tam-lttmbarani",
+        UTF8},  // we do not have an output converter for this font encoding
+  { "X-TAM-SHREE", "x-tam-shree",
+        UTF8},  // we do not have an output converter for this font encoding
+  { "X-TAM-TBOOMIS", "x-tam-tboomis",
+        UTF8},  // we do not have an output converter for this font encoding
+  { "X-TAM-TMNEWS", "x-tam-tmnews",
+        UTF8},  // we do not have an output converter for this font encoding
+  { "X-TAM-WEBTAMIL", "x-tam-webtamil",
+        UTF8},  // we do not have an output converter for this font encoding
+
+  { "X-KDDI-Shift_JIS", "Shift_JIS", JAPANESE_SHIFT_JIS},
+      // KDDI version of Shift_JIS with Google Emoji PUA mappings.
+      // Note that MimeEncodingName() returns "Shift_JIS", since KDDI uses
+      // "Shift_JIS" in HTTP headers and email messages.
+
+  { "X-DoCoMo-Shift_JIS", "Shift_JIS", JAPANESE_SHIFT_JIS},
+      // DoCoMo version of Shift_JIS with Google Emoji PUA mappings.
+      // See the comment at KDDI_SHIFT_JIS for other issues.
+
+  { "X-SoftBank-Shift_JIS", "Shift_JIS", JAPANESE_SHIFT_JIS},
+      // SoftBank version of Shift_JIS with Google Emoji PUA mappings.
+      // See the comment at KDDI_SHIFT_JIS for other issues.
+
+  { "X-KDDI-ISO-2022-JP", "ISO-2022-JP", JAPANESE_SHIFT_JIS},
+      // KDDI version of ISO-2022-JP with Google Emoji PUA mappings.
+      // See the comment at KDDI_SHIFT_JIS for other issues.
+      // The preferred Web encoding is due to potential confusion with
+      // HTML syntax chars.
+
+  { "X-SoftBank-ISO-2022-JP", "ISO-2022-JP", JAPANESE_SHIFT_JIS},
+      // SoftBank version of ISO-2022-JP with Google Emoji PUA mappings.
+      // See the comment at KDDI_SHIFT_JIS for other issues.
+      // The preferred Web encoding is due to potential confusion with
+      // HTML syntax chars.
+
+      // Please refer to NOTE: section in the comments in the definition
+      // of "struct I18NInfoByEncoding", before adding new encodings.
+
+};
+
+
+
+COMPILE_ASSERT(arraysize(kEncodingInfoTable) == NUM_ENCODINGS,
+               kEncodingInfoTable_has_incorrect_size);
+
+Encoding default_encoding() {return LATIN1;}
+
+// *************************************************************
+// Encoding predicates
+//   IsValidEncoding()
+//   IsEncEncCompatible
+//   IsEncodingWithSupportedLanguage
+//   IsSupersetOfAscii7Bit
+//   Is8BitEncoding
+//   IsCJKEncoding
+//   IsHebrewEncoding
+//   IsRightToLeftEncoding
+//   IsLogicalRightToLeftEncoding
+//   IsVisualRightToLeftEncoding
+//   IsIso2022Encoding
+//   IsIso2022JpOrVariant
+//   IsShiftJisOrVariant
+//   IsJapaneseCellPhoneCarrierSpecificEncoding
+// *************************************************************
+
+bool IsValidEncoding(Encoding enc) {
+  return ((enc >= 0) && (enc < kNumEncodings));
+}
+
+bool IsEncEncCompatible(const Encoding from, const Encoding to) {
+  // Tests compatibility between the "from" and "to" encodings; in
+  // the typical case -- when both are valid known encodings -- this
+  // returns true iff converting from first to second is a no-op.
+  if (!IsValidEncoding(from) || !IsValidEncoding(to)) {
+    return false;  // we only work with valid encodings...
+  } else if (to == from) {
+    return true;   // the trivial common case
+  }
+
+  if (to == UNKNOWN_ENCODING) {
+    return true;   // all valid encodings are compatible with the unknown
+  }
+
+  if (from == UNKNOWN_ENCODING) {
+    return false;  // no unknown encoding is compatible with one that is
+  }
+
+  if (from == ASCII_7BIT) {
+    return IsSupersetOfAscii7Bit(to);
+  }
+
+  return (from == ISO_8859_1 && to == MSFT_CP1252) ||
+         (from == ISO_8859_8 && to == HEBREW_VISUAL) ||
+         (from == HEBREW_VISUAL && to == ISO_8859_8) ||
+         (from == ISO_8859_9 && to == MSFT_CP1254) ||
+         (from == ISO_8859_11 && to == MSFT_CP874) ||
+         (from == JAPANESE_SHIFT_JIS && to == JAPANESE_CP932) ||
+         (from == CHINESE_BIG5 && to == CHINESE_BIG5_CP950) ||
+         (from == CHINESE_GB && to == GBK) ||
+         (from == CHINESE_GB && to == GB18030) ||
+         (from == CHINESE_EUC_CN && to == CHINESE_EUC_DEC) ||
+         (from == CHINESE_EUC_CN && to == CHINESE_CNS) ||
+         (from == CHINESE_EUC_DEC && to == CHINESE_EUC_CN) ||
+         (from == CHINESE_EUC_DEC && to == CHINESE_CNS) ||
+         (from == CHINESE_CNS && to == CHINESE_EUC_CN) ||
+         (from == CHINESE_CNS && to == CHINESE_EUC_DEC);
+}
+
+// To be a superset of 7-bit Ascii means that bytes 0...127 in the given
+// encoding represent the same characters as they do in ISO_8859_1.
+
+// TODO: This list could be expanded.  Many other encodings are supersets
+// of 7-bit Ascii.  In fact, Japanese JIS and Unicode are the only two
+// encodings that I know for a fact should *not* be in this list.
+bool IsSupersetOfAscii7Bit(Encoding e) {
+  switch (e) {
+    case ISO_8859_1:
+    case ISO_8859_2:
+    case ISO_8859_3:
+    case ISO_8859_4:
+    case ISO_8859_5:
+    case ISO_8859_6:
+    case ISO_8859_7:
+    case ISO_8859_8:
+    case ISO_8859_9:
+    case ISO_8859_10:
+    case JAPANESE_EUC_JP:
+    case JAPANESE_SHIFT_JIS:
+    case CHINESE_BIG5:
+    case CHINESE_GB:
+    case CHINESE_EUC_CN:
+    case KOREAN_EUC_KR:
+    case CHINESE_EUC_DEC:
+    case CHINESE_CNS:
+    case CHINESE_BIG5_CP950:
+    case JAPANESE_CP932:
+    case UTF8:
+    case UNKNOWN_ENCODING:
+    case ASCII_7BIT:
+    case RUSSIAN_KOI8_R:
+    case RUSSIAN_CP1251:
+    case MSFT_CP1252:
+    case RUSSIAN_KOI8_RU:
+    case MSFT_CP1250:
+    case ISO_8859_15:
+    case MSFT_CP1254:
+    case MSFT_CP1257:
+    case ISO_8859_11:
+    case MSFT_CP874:
+    case MSFT_CP1256:
+    case MSFT_CP1255:
+    case ISO_8859_8_I:
+    case HEBREW_VISUAL:
+    case CZECH_CP852:
+    case MSFT_CP1253:
+    case RUSSIAN_CP866:
+    case ISO_8859_13:
+    case GBK:
+    case GB18030:
+    case BIG5_HKSCS:
+    case MACINTOSH_ROMAN:
+      return true;
+    default:
+      return false;
+  }
+}
+
+// To be an 8-bit encoding means that there are fewer than 256 symbols.
+// Each byte determines a new character; there are no multi-byte sequences.
+
+// TODO: This list could maybe be expanded.  Other encodings may be 8-bit.
+bool Is8BitEncoding(Encoding e) {
+  switch (e) {
+    case ASCII_7BIT:
+    case ISO_8859_1:
+    case ISO_8859_2:
+    case ISO_8859_3:
+    case ISO_8859_4:
+    case ISO_8859_5:
+    case ISO_8859_6:
+    case ISO_8859_7:
+    case ISO_8859_8:
+    case ISO_8859_8_I:
+    case ISO_8859_9:
+    case ISO_8859_10:
+    case ISO_8859_11:
+    case ISO_8859_13:
+    case ISO_8859_15:
+    case MSFT_CP1252:
+    case MSFT_CP1253:
+    case MSFT_CP1254:
+    case MSFT_CP1255:
+    case MSFT_CP1256:
+    case MSFT_CP1257:
+    case RUSSIAN_KOI8_R:
+    case RUSSIAN_KOI8_RU:
+    case RUSSIAN_CP866:
+      return true;
+    default:
+      return false;
+  }
+}
+
+bool IsCJKEncoding(Encoding e) {
+  switch (e) {
+    case JAPANESE_EUC_JP:
+    case JAPANESE_SHIFT_JIS:
+    case JAPANESE_JIS:
+    case CHINESE_BIG5:
+    case CHINESE_GB:
+    case CHINESE_EUC_CN:
+    case KOREAN_EUC_KR:
+    case CHINESE_EUC_DEC:
+    case CHINESE_CNS:
+    case CHINESE_BIG5_CP950:
+    case JAPANESE_CP932:
+    case ISO_2022_KR:
+    case GBK:
+    case GB18030:
+    case BIG5_HKSCS:
+    case ISO_2022_CN:
+    case HZ_GB_2312:
+      return true;
+    default:
+      return false;
+  }
+}
+
+bool IsHebrewEncoding(Encoding e) {
+  return (e == ISO_8859_8 ||
+          e == ISO_8859_8_I ||
+          e == MSFT_CP1255 ||
+          e == HEBREW_VISUAL);
+}
+
+
+
+bool IsRightToLeftEncoding(Encoding enc) {
+  switch (enc) {
+    case MSFT_CP1255:
+    case MSFT_CP1256:
+    case ARABIC_ENCODING:
+    case HEBREW_ENCODING:
+    case ISO_8859_8_I:
+    case HEBREW_VISUAL:
+      return true;
+    default:
+      return false;
+  }
+}
+
+bool IsLogicalRightToLeftEncoding(Encoding enc) {
+  return IsRightToLeftEncoding(enc) && !IsVisualRightToLeftEncoding(enc);
+}
+
+// Note that despite an RFC to the contrary, ARABIC_ENCODING (ISO-8859-6)
+// is NOT visual.
+bool IsVisualRightToLeftEncoding(Encoding enc) {
+  switch (enc) {
+    case HEBREW_ENCODING:
+    case HEBREW_VISUAL:
+      return true;
+    default:
+      return false;
+  }
+}
+
+
+
+
+
+bool IsIso2022Encoding(Encoding enc) {
+  return (IsIso2022JpOrVariant(enc) ||
+          enc == ISO_2022_KR ||
+          enc == ISO_2022_CN);
+}
+
+bool IsIso2022JpOrVariant(Encoding enc) {
+  return (enc == JAPANESE_JIS ||
+          enc == KDDI_ISO_2022_JP ||
+          enc == SOFTBANK_ISO_2022_JP);
+}
+
+bool IsShiftJisOrVariant(Encoding enc) {
+  return (enc == JAPANESE_SHIFT_JIS ||
+          enc == JAPANESE_CP932 ||
+          enc == KDDI_SHIFT_JIS ||
+          enc == DOCOMO_SHIFT_JIS ||
+          enc == SOFTBANK_SHIFT_JIS);
+}
+
+bool IsJapaneseCellPhoneCarrierSpecificEncoding(Encoding enc) {
+  return (enc == KDDI_ISO_2022_JP ||
+          enc == KDDI_SHIFT_JIS ||
+          enc == DOCOMO_SHIFT_JIS ||
+          enc == SOFTBANK_SHIFT_JIS ||
+          enc == SOFTBANK_ISO_2022_JP);
+}
+
+
+// *************************************************************
+// ENCODING NAMES
+//   EncodingName() [Encoding to name]
+//   MimeEncodingName() [Encoding to name]
+//   EncodingFromName() [name to Encoding]
+//   EncodingNameAliasToEncoding() [name to Encoding]
+//   default_encoding_name()
+//   invalid_encoding_name()
+// *************************************************************
+
+const char * EncodingName(const Encoding enc) {
+  if ( (enc < 0) || (enc >= kNumEncodings) )
+    return invalid_encoding_name();
+  return kEncodingInfoTable[enc].encoding_name_;
+}
+
+// TODO: Unify MimeEncodingName and EncodingName, or determine why
+// such a unification is not possible.
+
+const char * MimeEncodingName(Encoding enc) {
+  if ( (enc < 0) || (enc >= kNumEncodings) )
+    return "";  // TODO: Should this be invalid_encoding_name()?
+  return kEncodingInfoTable[enc].mime_encoding_name_;
+}
+
+bool EncodingFromName(const char* enc_name, Encoding *encoding) {
+  *encoding = UNKNOWN_ENCODING;
+  if ( enc_name == NULL ) return false;
+
+  for ( int i = 0; i < kNumEncodings; i++ ) {
+    if (!base::strcasecmp(enc_name, kEncodingInfoTable[i].encoding_name_) ) {
+      *encoding = static_cast<Encoding>(i);
+      return true;
+    }
+  }
+  return false;
+}
+
+// The encoding_map maps standard and non-standard encoding-names
+// (strings) to Encoding enums. It is used only by
+// EncodingNameAliasToEncoding. Note that the map uses
+// case-insensitive hash and comparison functions.
+
+typedef std::unordered_map<const char *, Encoding,
+           CStringAlnumCaseHash,
+           CStringAlnumCaseEqual> EncodingMap;
+
+static const EncodingMap& GetEncodingMap() {
+  static EncodingMap encoding_map;
+  if (!encoding_map.empty()) {
+    // Already initialized
+    return encoding_map;
+  }
+
+  // Initialize the map with all the "standard" encoding names,
+  // i.e., the ones returned by EncodingName and MimeEncodingName.
+  //
+  // First, add internal encoding names returned by EncodingName().
+  for (int i = 0; i < NUM_ENCODINGS; ++i) {
+    Encoding e = static_cast<Encoding>(i);
+    // Internal encoding names must be unique.
+    // The internal names are guaranteed to be unique by the CHECK_EQ.
+    const char *encoding_name = EncodingName(e);
+    // CHECK_EQ(0, encoding_map.count(encoding_name))
+    //  << "Duplicate found for " << encoding_name;
+    encoding_map[encoding_name] = e;
+  }
+  // Then, add mime encoding names returned by MimeEncodingName().
+  // We don't override existing entries, to give precedence to entries
+  // added earlier.
+  for (int i = 0; i < NUM_ENCODINGS; ++i) {
+    Encoding e = static_cast<Encoding>(i);
+    // Note that MimeEncodingName() can return the same mime encoding
+    // name for different encoding enums like JAPANESE_SHIFT_JIS and
+    // KDDI_SHIFT_JIS.  In that case, the encoding enum first seen
+    // will be the value for the encoding name in the map.
+    const char *mime_encoding_name = MimeEncodingName(e);
+    if (encoding_map.count(mime_encoding_name) == 0) {
+      encoding_map[mime_encoding_name] = e;
+    }
+  }
+
+  // Add some non-standard names: alternate spellings, common typos,
+  // etc. (It does no harm to add names already in the map.) Note
+  // that although the map is case-insensitive, by convention the
+  // keys are written here in lower case. For ease of maintenance,
+  // they are listed in alphabetical order.
+  encoding_map["5601"] = KOREAN_EUC_KR;
+  encoding_map["646"] = ASCII_7BIT;
+  encoding_map["852"] = CZECH_CP852;
+  encoding_map["866"] = RUSSIAN_CP866;
+  encoding_map["8859-1"] = ISO_8859_1;
+  encoding_map["ansi-1251"] = RUSSIAN_CP1251;
+  encoding_map["ansi_x3.4-1968"] = ASCII_7BIT;
+  encoding_map["arabic"] = ISO_8859_6;
+  encoding_map["ascii"] = ISO_8859_1;
+  encoding_map["ascii-7-bit"] = ASCII_7BIT;  // not iana standard
+  encoding_map["asmo-708"] = ISO_8859_6;
+  encoding_map["bhaskar"] = BHASKAR;
+  encoding_map["big5"] = CHINESE_BIG5;
+  encoding_map["big5-cp950"] = CHINESE_BIG5_CP950;  // not iana standard
+  encoding_map["big5-hkscs"] = BIG5_HKSCS;
+  encoding_map["chinese"] = CHINESE_GB;
+  encoding_map["cns"] = CHINESE_CNS;  // not iana standard
+  encoding_map["cns11643"] = CHINESE_CNS;
+  encoding_map["cp1250"] = MSFT_CP1250;  // not iana standard
+  encoding_map["cp1251"] = RUSSIAN_CP1251;  // not iana standard
+  encoding_map["cp1252"] = MSFT_CP1252;  // not iana standard
+  encoding_map["cp1253"] = MSFT_CP1253;  // not iana standard
+  encoding_map["cp1254"] = MSFT_CP1254;  // not iana standard
+  encoding_map["cp1255"] = MSFT_CP1255;
+  encoding_map["cp1256"] = MSFT_CP1256;
+  encoding_map["cp1257"] = MSFT_CP1257;  // not iana standard
+  encoding_map["cp819"] = ISO_8859_1;
+  encoding_map["cp852"] = CZECH_CP852;
+  encoding_map["cp866"] = RUSSIAN_CP866;
+  encoding_map["cp-866"] = RUSSIAN_CP866;
+  encoding_map["cp874"] = MSFT_CP874;
+  encoding_map["cp932"] = JAPANESE_CP932;  // not iana standard
+  encoding_map["cp950"] = CHINESE_BIG5_CP950;   // not iana standard
+  encoding_map["csbig5"] = CHINESE_BIG5;
+  encoding_map["cseucjpkdfmtjapanese"] = JAPANESE_EUC_JP;
+  encoding_map["cseuckr"] = KOREAN_EUC_KR;
+  encoding_map["csgb2312"] = CHINESE_GB;
+  encoding_map["csibm852"] = CZECH_CP852;
+  encoding_map["csibm866"] = RUSSIAN_CP866;
+  encoding_map["csiso2022jp"] = JAPANESE_JIS;
+  encoding_map["csiso2022kr"] = ISO_2022_KR;
+  encoding_map["csiso58gb231280"] = CHINESE_GB;
+  encoding_map["csiso88598i"] = ISO_8859_8_I;
+  encoding_map["csisolatin1"] = ISO_8859_1;
+  encoding_map["csisolatin2"] = ISO_8859_2;
+  encoding_map["csisolatin3"] = ISO_8859_3;
+  encoding_map["csisolatin4"] = ISO_8859_4;
+  encoding_map["csisolatin5"] = ISO_8859_9;
+  encoding_map["csisolatin6"] = ISO_8859_10;
+  encoding_map["csisolatinarabic"] = ISO_8859_6;
+  encoding_map["csisolatincyrillic"] = ISO_8859_5;
+  encoding_map["csisolatingreek"] = ISO_8859_7;
+  encoding_map["csisolatinhebrew"] = ISO_8859_8;
+  encoding_map["csksc56011987"] = KOREAN_EUC_KR;
+  encoding_map["csmacintosh"] = MACINTOSH_ROMAN;
+  encoding_map["csn-369103"] = CZECH_CSN_369103;
+  encoding_map["csshiftjis"] = JAPANESE_SHIFT_JIS;
+  encoding_map["csunicode"] = UTF16BE;
+  encoding_map["csunicode11"] = UTF16BE;
+  encoding_map["csunicode11utf7"] = UTF7;
+  encoding_map["csunicodeascii"] = UTF16BE;
+  encoding_map["csunicodelatin1"] = UTF16BE;
+  encoding_map["cyrillic"] = ISO_8859_5;
+  encoding_map["ecma-114"] = ISO_8859_6;
+  encoding_map["ecma-118"] = ISO_8859_7;
+  encoding_map["elot_928"] = ISO_8859_7;
+  encoding_map["euc"] = CHINESE_EUC_DEC;  // not iana standard
+  encoding_map["euc-cn"] = CHINESE_EUC_CN;  // not iana standard
+  encoding_map["euc-dec"] = CHINESE_EUC_DEC;  // not iana standard
+  encoding_map["euc-jp"] = JAPANESE_EUC_JP;
+  encoding_map["euc-kr"] = KOREAN_EUC_KR;
+  encoding_map["eucgb2312_cn"] = CHINESE_GB;
+  encoding_map["gb"] = CHINESE_GB;  // not iana standard
+  encoding_map["gb18030"] = GB18030;
+  encoding_map["gb2132"] = CHINESE_GB;  // common typo
+  encoding_map["gb2312"] = CHINESE_GB;
+  encoding_map["gb_2312-80"] = CHINESE_GB;
+  encoding_map["gbk"] = GBK;
+  encoding_map["greek"] = ISO_8859_7;
+  encoding_map["greek8"] = ISO_8859_7;
+  encoding_map["hebrew"] = ISO_8859_8;
+  encoding_map["htchanakya"] = HTCHANAKYA;
+  encoding_map["hz-gb-2312"] = HZ_GB_2312;
+  encoding_map["ibm819"] = ISO_8859_1;
+  encoding_map["ibm852"] = CZECH_CP852;
+  encoding_map["ibm874"] = MSFT_CP874;
+  encoding_map["iso-10646"] = UTF16BE;
+  encoding_map["iso-10646-j-1"] = UTF16BE;
+  encoding_map["iso-10646-ucs-2"] = UNICODE;
+  encoding_map["iso-10646-ucs-4"] = UTF32BE;
+  encoding_map["iso-10646-ucs-basic"] = UTF16BE;
+  encoding_map["iso-10646-unicode-latin1"] = UTF16BE;
+  encoding_map["iso-2022-cn"] = ISO_2022_CN;
+  encoding_map["iso-2022-jp"] = JAPANESE_JIS;
+  encoding_map["iso-2022-kr"] = ISO_2022_KR;
+  encoding_map["iso-8559-1"] = ISO_8859_1;   // common typo
+  encoding_map["iso-874"] = MSFT_CP874;
+  encoding_map["iso-8858-1"] = ISO_8859_1;   // common typo
+  // iso-8859-0 was a temporary name, eventually renamed iso-8859-15
+  encoding_map["iso-8859-0"] = ISO_8859_15;
+  encoding_map["iso-8859-1"] = ISO_8859_1;
+  encoding_map["iso-8859-10"] = ISO_8859_10;
+  encoding_map["iso-8859-11"] = ISO_8859_11;
+  encoding_map["iso-8859-13"] = ISO_8859_13;
+  encoding_map["iso-8859-15"] = ISO_8859_15;
+  encoding_map["iso-8859-2"] = ISO_8859_2;
+  encoding_map["iso-8859-3"] = ISO_8859_3;
+  encoding_map["iso-8859-4"] = ISO_8859_4;
+  encoding_map["iso-8859-5"] = ISO_8859_5;
+  encoding_map["iso-8859-6"] = ISO_8859_6;
+  encoding_map["iso-8859-7"] = ISO_8859_7;
+  encoding_map["iso-8859-8"] = ISO_8859_8;
+  encoding_map["iso-8859-8-i"] = ISO_8859_8_I;
+  encoding_map["iso-8859-9"] = ISO_8859_9;
+  encoding_map["iso-9959-1"] = ISO_8859_1;   // common typo
+  encoding_map["iso-ir-100"] = ISO_8859_1;
+  encoding_map["iso-ir-101"] = ISO_8859_2;
+  encoding_map["iso-ir-109"] = ISO_8859_3;
+  encoding_map["iso-ir-110"] = ISO_8859_4;
+  encoding_map["iso-ir-126"] = ISO_8859_7;
+  encoding_map["iso-ir-127"] = ISO_8859_6;
+  encoding_map["iso-ir-138"] = ISO_8859_8;
+  encoding_map["iso-ir-144"] = ISO_8859_5;
+  encoding_map["iso-ir-148"] = ISO_8859_9;
+  encoding_map["iso-ir-149"] = KOREAN_EUC_KR;
+  encoding_map["iso-ir-157"] = ISO_8859_10;
+  encoding_map["iso-ir-58"] = CHINESE_GB;
+  encoding_map["iso-latin-1"] = ISO_8859_1;
+  encoding_map["iso_2022-cn"] = ISO_2022_CN;
+  encoding_map["iso_2022-kr"] = ISO_2022_KR;
+  encoding_map["iso_8859-1"] = ISO_8859_1;
+  encoding_map["iso_8859-10:1992"] = ISO_8859_10;
+  encoding_map["iso_8859-11"] = ISO_8859_11;
+  encoding_map["iso_8859-13"] = ISO_8859_13;
+  encoding_map["iso_8859-15"] = ISO_8859_15;
+  encoding_map["iso_8859-1:1987"] = ISO_8859_1;
+  encoding_map["iso_8859-2"] = ISO_8859_2;
+  encoding_map["iso_8859-2:1987"] = ISO_8859_2;
+  encoding_map["iso_8859-3"] = ISO_8859_3;
+  encoding_map["iso_8859-3:1988"] = ISO_8859_3;
+  encoding_map["iso_8859-4"] = ISO_8859_4;
+  encoding_map["iso_8859-4:1988"] = ISO_8859_4;
+  encoding_map["iso_8859-5"] = ISO_8859_5;
+  encoding_map["iso_8859-5:1988"] = ISO_8859_5;
+  encoding_map["iso_8859-6"] = ISO_8859_6;
+  encoding_map["iso_8859-6:1987"] = ISO_8859_6;
+  encoding_map["iso_8859-7"] = ISO_8859_7;
+  encoding_map["iso_8859-7:1987"] = ISO_8859_7;
+  encoding_map["iso_8859-8"] = ISO_8859_8;
+  encoding_map["iso_8859-8:1988:"] = ISO_8859_8;
+  encoding_map["iso_8859-9"] = ISO_8859_9;
+  encoding_map["iso_8859-9:1989"] = ISO_8859_9;
+  encoding_map["jagran"] = JAGRAN;
+  encoding_map["jis"] = JAPANESE_JIS;   // not iana standard
+  encoding_map["koi8-cs"] = CZECH_CSN_369103;
+  encoding_map["koi8-r"] = RUSSIAN_KOI8_R;
+  encoding_map["koi8-ru"] = RUSSIAN_KOI8_RU;  // not iana standard
+  encoding_map["koi8-u"] = RUSSIAN_KOI8_RU;
+  encoding_map["koi8r"] = RUSSIAN_KOI8_R;  // not iana standard
+  encoding_map["koi8u"] = RUSSIAN_KOI8_RU;  // not iana standard
+  encoding_map["korean"] = KOREAN_EUC_KR;  // i assume this is what is meant
+  encoding_map["ks-c-5601"] = KOREAN_EUC_KR;  // not iana standard
+  encoding_map["ks-c-5601-1987"] = KOREAN_EUC_KR;  // not iana standard
+  encoding_map["ks_c_5601-1989"] = KOREAN_EUC_KR;
+  encoding_map["ksc"] = KOREAN_EUC_KR;  // not iana standard
+  encoding_map["l1"] = ISO_8859_1;
+  encoding_map["l2"] = ISO_8859_2;
+  encoding_map["l3"] = ISO_8859_3;
+  encoding_map["l4"] = ISO_8859_4;
+  encoding_map["l5"] = ISO_8859_9;
+  encoding_map["l6"] = ISO_8859_10;
+  encoding_map["latin-1"] = ISO_8859_1;  // not iana standard
+  encoding_map["latin1"] = ISO_8859_1;
+  encoding_map["latin2"] = ISO_8859_2;
+  encoding_map["latin3"] = ISO_8859_3;
+  encoding_map["latin4"] = ISO_8859_4;
+  encoding_map["latin5"] = ISO_8859_9;
+  encoding_map["latin6"] = ISO_8859_10;
+  encoding_map["mac"] = MACINTOSH_ROMAN;
+  encoding_map["macintosh"] = MACINTOSH_ROMAN;
+  encoding_map["macintosh-roman"] = MACINTOSH_ROMAN;
+  encoding_map["ms932"] = JAPANESE_CP932;  // not iana standard
+  encoding_map["ms_kanji"] = JAPANESE_CP932;
+  encoding_map["shift-jis"] = JAPANESE_SHIFT_JIS;
+  encoding_map["shift_jis"] = JAPANESE_SHIFT_JIS;
+  encoding_map["sjis"] = JAPANESE_SHIFT_JIS;  // not iana standard
+  encoding_map["sjs"] = JAPANESE_SHIFT_JIS;  // not iana standard
+  encoding_map["sun_eu_greek"] = ISO_8859_7;
+  encoding_map["tab"] = TAMIL_BI;
+  encoding_map["tam"] = TAMIL_MONO;
+  encoding_map["tis-620"] = ISO_8859_11;
+  encoding_map["tscii"] = TSCII;
+  encoding_map["un"] = UNKNOWN_ENCODING;  // not iana standard
+  encoding_map["unicode"] = UNICODE;  // not iana standard
+  encoding_map["unicode-1-1-utf-7"] = UTF7;
+  encoding_map["unicode-1-1-utf-8"] = UTF8;
+  encoding_map["unicode-2-0-utf-7"] = UTF7;
+  encoding_map["unknown"] = UNKNOWN_ENCODING;   // not iana standard
+  encoding_map["us"] = ISO_8859_1;
+  encoding_map["us-ascii"] = ISO_8859_1;
+  encoding_map["utf-16be"] = UTF16BE;
+  encoding_map["utf-16le"] = UTF16LE;
+  encoding_map["utf-32be"] = UTF32BE;
+  encoding_map["utf-32le"] = UTF32LE;
+  encoding_map["utf-7"] = UTF7;
+  encoding_map["utf-8"] = UTF8;
+  encoding_map["utf7"] = UTF7;
+  encoding_map["utf8"] = UTF8;  // not iana standard
+  encoding_map["visual"] = HEBREW_VISUAL;
+  encoding_map["win-1250"] = MSFT_CP1250;  // not iana standard
+  encoding_map["win-1251"] = RUSSIAN_CP1251;  // not iana standard
+  encoding_map["window-874"] = MSFT_CP874;
+  encoding_map["windows-1250"] = MSFT_CP1250;
+  encoding_map["windows-1251"] = RUSSIAN_CP1251;
+  encoding_map["windows-1252"] = MSFT_CP1252;
+  encoding_map["windows-1253"] = MSFT_CP1253;
+  encoding_map["windows-1254"] = MSFT_CP1254;
+  encoding_map["windows-1255"] = MSFT_CP1255;
+  encoding_map["windows-1256"] = MSFT_CP1256;
+  encoding_map["windows-1257"] = MSFT_CP1257;
+  encoding_map["windows-31j"] = JAPANESE_CP932;
+  encoding_map["windows-874"] = MSFT_CP874;
+  encoding_map["windows-936"] = GBK;
+  encoding_map["x-big5"] = CHINESE_BIG5;
+  encoding_map["x-binaryenc"] = BINARYENC;  // not iana standard
+  encoding_map["x-cp1250"] = MSFT_CP1250;
+  encoding_map["x-cp1251"] = RUSSIAN_CP1251;
+  encoding_map["x-cp1252"] = MSFT_CP1252;
+  encoding_map["x-cp1253"] = MSFT_CP1253;
+  encoding_map["x-cp1254"] = MSFT_CP1254;
+  encoding_map["x-cp1255"] = MSFT_CP1255;
+  encoding_map["x-cp1256"] = MSFT_CP1256;
+  encoding_map["x-cp1257"] = MSFT_CP1257;
+  encoding_map["x-euc-jp"] = JAPANESE_EUC_JP;
+  encoding_map["x-euc-tw"] = CHINESE_CNS;
+  encoding_map["x-gbk"] = GBK;
+  encoding_map["x-iso-10646-ucs-2-be"] = UTF16BE;
+  encoding_map["x-iso-10646-ucs-2-le"] = UTF16LE;
+  encoding_map["x-iso-10646-ucs-4-be"] = UTF32BE;
+  encoding_map["x-iso-10646-ucs-4-le"] = UTF32LE;
+  encoding_map["x-jis"] = JAPANESE_JIS;  // not iana standard
+  encoding_map["x-mac-roman"] = MACINTOSH_ROMAN;
+  encoding_map["x-shift_jis"] = JAPANESE_SHIFT_JIS;  // not iana standard
+  encoding_map["x-sjis"] = JAPANESE_SHIFT_JIS;
+  encoding_map["x-unicode-2-0-utf-7"] = UTF7;
+  encoding_map["x-utf8utf8"] = UTF8UTF8;  // not iana standard
+  encoding_map["x-x-big5"] = CHINESE_BIG5;
+  encoding_map["zh_cn.euc"] = CHINESE_GB;
+  encoding_map["zh_tw-big5"] = CHINESE_BIG5;
+  encoding_map["zh_tw-euc"] = CHINESE_CNS;
+
+  // Remove they entry for the empty string, if any.
+  encoding_map.erase("");
+
+  return encoding_map;
+}
+
+// ----------------------------------------------------------------------
+// EncodingNameAliasToEncoding()
+//
+// This function takes an encoding name/alias and returns the Encoding
+// enum. The input is case insensitive. It is the union of the common
+// IANA standard names, the charset names used in Netscape Navigator,
+// and some common names we have been using.
+// See: http://www.iana.org/assignments/character-sets
+// http://physics.hallym.ac.kr/resource/relnotes/windows-2.0.html
+//
+// UNKNOWN_ENCODING is returned if none matches.
+//
+// TODO: Check if it is possible to remove the non-standard,
+// non-netscape-use names. It is because this routine is used for
+// encoding detections from html meta info. Non-standard names may
+// introduce noise on encoding detection.
+//
+// TODO: Unify EncodingNameAliasToEncoding and EncodingFromName,
+// or determine why such a unification is not possible.
+// ----------------------------------------------------------------------
+Encoding EncodingNameAliasToEncoding(const char *encoding_name) {
+  if (!encoding_name) {
+    return UNKNOWN_ENCODING;
+  }
+
+  const EncodingMap& encoding_map = GetEncodingMap();
+
+  EncodingMap::const_iterator emi = encoding_map.find(encoding_name);
+  if (emi != encoding_map.end()) {
+    return emi->second;
+  } else {
+    return UNKNOWN_ENCODING;
+  }
+}
+
+const char* default_encoding_name() {
+  return kEncodingInfoTable[LATIN1].encoding_name_;
+}
+
+static const char* const kInvalidEncodingName = "invalid_encoding";
+
+const char *invalid_encoding_name() {
+  return kInvalidEncodingName;
+}
+
+
+
+// *************************************************************
+// Miscellany
+// *************************************************************
+
+
+Encoding PreferredWebOutputEncoding(Encoding enc) {
+  return IsValidEncoding(enc)
+      ? kEncodingInfoTable[enc].preferred_web_output_encoding_
+      : UTF8;
+}
diff --git a/ced/util/encodings/encodings.h b/ced/util/encodings/encodings.h
new file mode 100644 (file)
index 0000000..6477974
--- /dev/null
@@ -0,0 +1,299 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef UTIL_ENCODINGS_ENCODINGS_H_
+#define UTIL_ENCODINGS_ENCODINGS_H_
+
+// This interface defines the Encoding enum and various functions that
+// depend only on Encoding values.
+
+// A hash-function for Encoding, hash<Encoding>, is defined in
+// i18n/encodings/public/encodings-hash.h
+
+// On some Windows projects, UNICODE may be defined, which would prevent the
+// Encoding enum below from compiling. Note that this is a quick fix that does
+// not break any existing projects. The UNICODE enum may someday be changed
+// to something more specific and non-colliding, but this involves careful
+// testing of changes in many other projects.
+#undef UNICODE
+
+// NOTE: The Encoding enum must always start at 0. This assumption has
+// been made and used.
+
+#ifndef SWIG
+
+#include "util/encodings/encodings.pb.h"
+
+#else
+
+// TODO: Include a SWIG workaround header file.
+
+#endif
+
+const int kNumEncodings = NUM_ENCODINGS;
+
+// some of the popular encoding aliases
+// TODO: Make these static const Encoding values instead of macros.
+#define LATIN1           ISO_8859_1
+#define LATIN2           ISO_8859_2
+#define LATIN3           ISO_8859_3
+#define LATIN4           ISO_8859_4
+#define CYRILLIC         ISO_8859_5
+#define ARABIC_ENCODING  ISO_8859_6     // avoiding the same name as language
+#define GREEK_ENCODING   ISO_8859_7     // avoiding the same name as language
+#define HEBREW_ENCODING  ISO_8859_8     // avoiding the same name as language
+#define LATIN5           ISO_8859_9
+#define LATIN6           ISO_8859_10
+#define KOREAN_HANGUL    KOREAN_EUC_KR
+
+// The default Encoding (LATIN1).
+Encoding default_encoding();
+
+
+
+// *************************************************************
+// Encoding predicates
+//   IsValidEncoding()
+//   IsEncEncCompatible
+//   IsSupersetOfAscii7Bit
+//   Is8BitEncoding
+//   IsCJKEncoding
+//   IsHebrewEncoding
+//   IsRightToLeftEncoding
+//   IsLogicalRightToLeftEncoding
+//   IsVisualRightToLeftEncoding
+//   IsIso2022Encoding
+//   IsIso2022JpOrVariant
+//   IsShiftJisOrVariant
+//   IsJapaneseCellPhoneCarrierSpecificEncoding
+// *************************************************************
+
+// IsValidEncoding
+// ===================================
+//
+// Function to check if the input language enum is within range.
+//
+
+bool IsValidEncoding(Encoding enc);
+
+//
+// IsEncEncCompatible
+// ------------------
+//
+// This function is to determine whether or not converting from the
+// first encoding to the second requires any changes to the underlying
+// text (e.g.  ASCII_7BIT is a subset of UTF8).
+//
+// TODO: the current implementation is likely incomplete.  It would be
+// good to consider the full matrix of all pairs of encodings and to fish out
+// all compatible pairs.
+//
+bool IsEncEncCompatible(const Encoding from, const Encoding to);
+
+// To be a superset of 7-bit Ascii means that bytes 0...127 in the given
+// encoding represent the same characters as they do in ISO_8859_1.
+
+// WARNING: This function does not currently return true for all encodings that
+// are supersets of Ascii 7-bit.
+bool IsSupersetOfAscii7Bit(Encoding e);
+
+// To be an 8-bit encoding means that there are fewer than 256 symbols.
+// Each byte determines a new character; there are no multi-byte sequences.
+
+// WARNING: This function does not currently return true for all encodings that
+// are 8-bit encodings.
+bool Is8BitEncoding(Encoding e);
+
+// IsCJKEncoding
+// -------------
+//
+// This function returns true if the encoding is either Chinese
+// (simplified or traditional), Japanese, or Korean. Note: UTF8 is not
+// considered a CJK encoding.
+bool IsCJKEncoding(Encoding e);
+
+// IsHebrewEncoding
+// -------------
+//
+// This function returns true if the encoding is a Hebrew specific
+// encoding (not UTF8, etc).
+bool IsHebrewEncoding(Encoding e);
+
+// IsRightToLeftEncoding
+// ---------------------
+//
+// Returns true if the encoding is a right-to-left encoding.
+//
+// Note that the name of this function is somewhat misleading. There is nothing
+// "right to left" about these encodings. They merely contain code points for
+// characters in RTL languages such as Hebrew and Arabic. But this is also
+// true for UTF-8.
+//
+// TODO: Get rid of this function. The only special-case we
+// should need to worry about are visual encodings. Anything we
+// need to do for all 'RTL' encodings we need to do for UTF-8 as well.
+bool IsRightToLeftEncoding(Encoding enc);
+
+// IsLogicalRightToLeftEncoding
+// ----------------------------
+//
+// Returns true if the encoding is a logical right-to-left encoding.
+// Logical right-to-left encodings are those that the browser renders
+// right-to-left and applies the BiDi algorithm to. Therefore the characters
+// appear in reading order in the file, and indexing, snippet generation etc.
+// should all just work with no special processing.
+//
+// TODO: Get rid of this function. The only special-case we
+// should need to worry about are visual encodings.
+bool IsLogicalRightToLeftEncoding(Encoding enc);
+
+// IsVisualRightToLeftEncoding
+// ---------------------------
+//
+// Returns true if the encoding is a visual right-to-left encoding.
+// Visual right-to-left encodings are those that the browser renders
+// left-to-right and does not apply the BiDi algorithm to. Therefore each
+// line appears in reverse order in the file, lines are manually wrapped
+// by abusing <br> or <p> tags, etc. Visual RTL encoding is a relic of
+// the prehistoric days when browsers couldn't render right-to-left, but
+// unfortunately some visual pages persist to this day. These documents require
+// special processing so that we don't index or snippet them with each line
+// reversed.
+bool IsVisualRightToLeftEncoding(Encoding enc);
+
+// IsIso2022Encoding
+// -----------------
+//
+// Returns true if the encoding is a kind of ISO 2022 such as
+// ISO-2022-JP.
+bool IsIso2022Encoding(Encoding enc);
+
+// IsIso2022JpOrVariant
+// --------------------
+//
+// Returns true if the encoding is ISO-2022-JP or a variant such as
+// KDDI's ISO-2022-JP.
+bool IsIso2022JpOrVariant(Encoding enc);
+
+// IsShiftJisOrVariant
+// --------------------
+//
+// Returns true if the encoding is Shift_JIS or a variant such as
+// KDDI's Shift_JIS.
+bool IsShiftJisOrVariant(Encoding enc);
+
+// IsJapanesCellPhoneCarrierSpecificEncoding
+// -----------------------------------------
+//
+// Returns true if it's Japanese cell phone carrier specific encoding
+// such as KDDI_SHIFT_JIS.
+bool IsJapaneseCellPhoneCarrierSpecificEncoding(Encoding enc);
+
+
+
+// *************************************************************
+// ENCODING NAMES
+//
+// This interface defines a standard name for each valid encoding, and
+// a standard name for invalid encodings. (Some names use all upper
+// case, but others use mixed case.)
+//
+//   EncodingName() [Encoding to name]
+//   MimeEncodingName() [Encoding to name]
+//   EncodingFromName() [name to Encoding]
+//   EncodingNameAliasToEncoding() [name to Encoding]
+//   default_encoding_name()
+//   invalid_encoding_name()
+// *************************************************************
+
+// EncodingName
+// ------------
+//
+// Given the encoding, returns its standard name.
+// Return invalid_encoding_name() if the encoding is invalid.
+//
+const char* EncodingName(Encoding enc);
+
+//
+// MimeEncodingName
+// ----------------
+//
+// Return the "preferred MIME name" of an encoding.
+//
+// This name is suitable for using in HTTP headers, HTML tags,
+// and as the "charset" parameter of a MIME Content-Type.
+const char* MimeEncodingName(Encoding enc);
+
+
+// The maximum length of an encoding name
+const int kMaxEncodingNameSize = 50;
+
+// The standard name of the default encoding.
+const char* default_encoding_name();
+
+// The name used for an invalid encoding.
+const char* invalid_encoding_name();
+
+// EncodingFromName
+// ----------------
+//
+// If enc_name matches the standard name of an Encoding, using a
+// case-insensitive comparison, set *encoding to that Encoding and
+// return true.  Otherwise set *encoding to UNKNOWN_ENCODING and
+// return false.
+//
+// REQUIRES: encoding must not be NULL.
+//
+bool EncodingFromName(const char* enc_name, Encoding *encoding);
+
+//
+// EncodingNameAliasToEncoding
+// ---------------------------
+//
+// If enc_name matches the standard name or an alias of an Encoding,
+// using a case-insensitive comparison, return that
+// Encoding. Otherwise, return UNKNOWN_ENCODING.
+//
+// Aliases include most mime-encoding names (e.g., "ISO-8859-7" for
+// GREEK), alternate names (e.g., "cyrillic" for ISO_8859_5) and
+// common variations with hyphens and underscores (e.g., "koi8-u" and
+// "koi8u" for RUSSIAN_KOI8_R).
+
+Encoding EncodingNameAliasToEncoding(const char *enc_name);
+
+// *************************************************************
+// Miscellany
+// *************************************************************
+
+// PreferredWebOutputEncoding
+// --------------------------
+//
+// Some multi-byte encodings use byte values that coincide with the
+// ASCII codes for HTML syntax characters <>"&' and browsers like MSIE
+// can misinterpret these, as indicated in an external XSS report from
+// 2007-02-15. Here, we map these dangerous encodings to safer ones. We
+// also use UTF8 instead of encodings that we don't support in our
+// output, and we generally try to be conservative in what we send out.
+// Where the client asks for single- or double-byte encodings that are
+// not as common, we substitute a more common single- or double-byte
+// encoding, if there is one, thereby preserving the client's intent
+// to use less space than UTF-8. This also means that characters
+// outside the destination set will be converted to HTML NCRs (&#NNN;)
+// if requested.
+Encoding PreferredWebOutputEncoding(Encoding enc);
+
+
+#endif  // UTIL_ENCODINGS_ENCODINGS_H_
diff --git a/ced/util/encodings/encodings.pb.h b/ced/util/encodings/encodings.pb.h
new file mode 100644 (file)
index 0000000..ffbd716
--- /dev/null
@@ -0,0 +1,181 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef UTIL_ENCODINGS_ENCODINGS_PB_H_
+#define UTIL_ENCODINGS_ENCODINGS_PB_H_
+
+enum Encoding {
+  ISO_8859_1           =  0,  // Teragram ASCII
+  ISO_8859_2           =  1,  // Teragram Latin2
+  ISO_8859_3           =  2,  // in BasisTech but not in Teragram
+  ISO_8859_4           =  3,  // Teragram Latin4
+  ISO_8859_5           =  4,  // Teragram ISO-8859-5
+  ISO_8859_6           =  5,  // Teragram Arabic
+  ISO_8859_7           =  6,  // Teragram Greek
+  ISO_8859_8           =  7,  // Teragram Hebrew
+  ISO_8859_9           =  8,  // in BasisTech but not in Teragram
+  ISO_8859_10          =  9,  // in BasisTech but not in Teragram
+  JAPANESE_EUC_JP      = 10,  // Teragram EUC_JP
+  JAPANESE_SHIFT_JIS   = 11,  // Teragram SJS
+  JAPANESE_JIS         = 12,  // Teragram JIS
+  CHINESE_BIG5         = 13,  // Teragram BIG5
+  CHINESE_GB           = 14,  // Teragram GB
+  CHINESE_EUC_CN       = 15,  // Misnamed. Should be EUC_TW. Was Basis Tech
+                              // CNS11643EUC, before that Teragram EUC-CN(!)
+                              // See //i18n/basistech/basistech_encodings.h
+  KOREAN_EUC_KR        = 16,  // Teragram KSC
+  UNICODE              = 17,  // Teragram Unicode
+  CHINESE_EUC_DEC      = 18,  // Misnamed. Should be EUC_TW. Was Basis Tech
+                              // CNS11643EUC, before that Teragram EUC.
+  CHINESE_CNS          = 19,  // Misnamed. Should be EUC_TW. Was Basis Tech
+                              // CNS11643EUC, before that Teragram CNS.
+  CHINESE_BIG5_CP950   = 20,  // Teragram BIG5_CP950
+  JAPANESE_CP932       = 21,  // Teragram CP932
+  UTF8                 = 22,
+  UNKNOWN_ENCODING     = 23,
+  ASCII_7BIT           = 24,  // ISO_8859_1 with all characters <= 127.
+                              // Should be present only in the crawler
+                              // and in the repository,
+                              // *never* as a result of Document::encoding().
+  RUSSIAN_KOI8_R       = 25,  // Teragram KOI8R
+  RUSSIAN_CP1251       = 26,  // Teragram CP1251
+
+  //----------------------------------------------------------
+  // These are _not_ output from teragram. Instead, they are as
+  // detected in the headers of usenet articles.
+  MSFT_CP1252          = 27,  // 27: CP1252 aka MSFT euro ascii
+  RUSSIAN_KOI8_RU      = 28,  // CP21866 aka KOI8-U, used for Ukrainian.
+                              // Misnamed, this is _not_ KOI8-RU but KOI8-U.
+                              // KOI8-U is used much more often than KOI8-RU.
+  MSFT_CP1250          = 29,  // CP1250 aka MSFT eastern european
+  ISO_8859_15          = 30,  // aka ISO_8859_0 aka ISO_8859_1 euroized
+  //----------------------------------------------------------
+
+  //----------------------------------------------------------
+  // These are in BasisTech but not in Teragram. They are
+  // needed for new interface languages. Now detected by
+  // research langid
+  MSFT_CP1254          = 31,  // used for Turkish
+  MSFT_CP1257          = 32,  // used in Baltic countries
+  //----------------------------------------------------------
+
+  //----------------------------------------------------------
+  //----------------------------------------------------------
+  // New encodings detected by Teragram
+  ISO_8859_11          = 33,  // aka TIS-620, used for Thai
+  MSFT_CP874           = 34,  // used for Thai
+  MSFT_CP1256          = 35,  // used for Arabic
+
+  //----------------------------------------------------------
+  // Detected as ISO_8859_8 by Teragram, but can be found in META tags
+  MSFT_CP1255          = 36,  // Logical Hebrew Microsoft
+  ISO_8859_8_I         = 37,  // Iso Hebrew Logical
+  HEBREW_VISUAL        = 38,  // Iso Hebrew Visual
+  //----------------------------------------------------------
+
+  //----------------------------------------------------------
+  // Detected by research langid
+  CZECH_CP852          = 39,
+  CZECH_CSN_369103     = 40,  // aka ISO_IR_139 aka KOI8_CS
+  MSFT_CP1253          = 41,  // used for Greek
+  RUSSIAN_CP866        = 42,
+  //----------------------------------------------------------
+
+  //----------------------------------------------------------
+  // Handled by iconv in glibc
+  ISO_8859_13          = 43,
+  ISO_2022_KR          = 44,
+  GBK                  = 45,
+  GB18030              = 46,
+  BIG5_HKSCS           = 47,
+  ISO_2022_CN          = 48,
+
+  //-----------------------------------------------------------
+  // Detected by xin liu's detector
+  // Handled by transcoder
+  // (Indic encodings)
+
+  TSCII                = 49,
+  TAMIL_MONO           = 50,
+  TAMIL_BI             = 51,
+  JAGRAN               = 52,
+
+
+  MACINTOSH_ROMAN      = 53,
+  UTF7                 = 54,
+  BHASKAR              = 55,  // Indic encoding - Devanagari
+  HTCHANAKYA           = 56,  // 56 Indic encoding - Devanagari
+
+  //-----------------------------------------------------------
+  // These allow a single place (inputconverter and outputconverter)
+  // to do UTF-16 <==> UTF-8 bulk conversions and UTF-32 <==> UTF-8
+  // bulk conversions, with interchange-valid checking on input and
+  // fallback if needed on ouput.
+  UTF16BE              = 57,  // big-endian UTF-16
+  UTF16LE              = 58,  // little-endian UTF-16
+  UTF32BE              = 59,  // big-endian UTF-32
+  UTF32LE              = 60,  // little-endian UTF-32
+  //-----------------------------------------------------------
+
+  //-----------------------------------------------------------
+  // An encoding that means "This is not text, but it may have some
+  // simple ASCII text embedded". Intended input conversion (not yet
+  // implemented) is to keep strings of >=4 seven-bit ASCII characters
+  // (follow each kept string with an ASCII space), delete the rest of
+  // the bytes. This will pick up and allow indexing of e.g. captions
+  // in JPEGs. No output conversion needed.
+  BINARYENC            = 61,
+  //-----------------------------------------------------------
+
+  //-----------------------------------------------------------
+  // Some Web pages allow a mixture of HZ-GB and GB-2312 by using
+  // ~{ ... ~} for 2-byte pairs, and the browsers support this.
+  HZ_GB_2312           = 62,
+  //-----------------------------------------------------------
+
+  //-----------------------------------------------------------
+  // Some external vendors make the common input error of
+  // converting MSFT_CP1252 to UTF8 *twice*. No output conversion needed.
+  UTF8UTF8             = 63,
+  //-----------------------------------------------------------
+
+  //-----------------------------------------------------------
+  // Handled by transcoder for tamil language specific font
+  // encodings without the support for detection at present.
+  TAM_ELANGO           = 64,  // Elango - Tamil
+  TAM_LTTMBARANI       = 65,  // Barani - Tamil
+  TAM_SHREE            = 66,  // Shree - Tamil
+  TAM_TBOOMIS          = 67,  // TBoomis - Tamil
+  TAM_TMNEWS           = 68,  // TMNews - Tamil
+  TAM_WEBTAMIL         = 69,  // Webtamil - Tamil
+  //-----------------------------------------------------------
+
+  //-----------------------------------------------------------
+  // Shift_JIS variants used by Japanese cell phone carriers.
+  KDDI_SHIFT_JIS       = 70,
+  DOCOMO_SHIFT_JIS     = 71,
+  SOFTBANK_SHIFT_JIS   = 72,
+  // ISO-2022-JP variants used by KDDI and SoftBank.
+  KDDI_ISO_2022_JP     = 73,
+  SOFTBANK_ISO_2022_JP = 74,
+  //-----------------------------------------------------------
+
+  NUM_ENCODINGS        = 75,  // Always keep this at the end. It is not a
+                              // valid Encoding enum, it is only used to
+                              // indicate the total number of Encodings.
+};
+
+#endif  // UTIL_ENCODINGS_ENCODINGS_PB_H_
diff --git a/ced/util/languages/languages.cc b/ced/util/languages/languages.cc
new file mode 100644 (file)
index 0000000..852351f
--- /dev/null
@@ -0,0 +1,349 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#include "util/languages/languages.h"
+
+#include "util/basictypes.h"
+#include "util/string_util.h"
+
+
+Language default_language() {return ENGLISH;}
+
+
+// Language names and codes
+
+struct LanguageInfo {
+  const char * language_name_;
+  const char * language_code_639_1_;   // the ISO-639-1 code for the language
+  const char * language_code_639_2_;   // the ISO-639-2 code for the language
+  const char * language_code_other_;   // some nonstandard code for the language
+};
+
+static const LanguageInfo kLanguageInfoTable[] = {
+  { "ENGLISH",             "en", "eng", NULL},
+  { "DANISH",              "da", "dan", NULL},
+  { "DUTCH",               "nl", "dut", NULL},
+  { "FINNISH",             "fi", "fin", NULL},
+  { "FRENCH",              "fr", "fre", NULL},
+  { "GERMAN",              "de", "ger", NULL},
+  { "HEBREW",              "he", "heb", NULL},
+  { "ITALIAN",             "it", "ita", NULL},
+  { "Japanese",            "ja", "jpn", NULL},
+  { "Korean",              "ko", "kor", NULL},
+  { "NORWEGIAN",           "nb", "nor", NULL},
+  { "POLISH",              "pl", "pol", NULL},
+  { "PORTUGUESE",          "pt", "por", NULL},
+  { "RUSSIAN",             "ru", "rus", NULL},
+  { "SPANISH",             "es", "spa", NULL},
+  { "SWEDISH",             "sv", "swe", NULL},
+  { "Chinese",             "zh", "chi", "zh-CN"},
+  { "CZECH",               "cs", "cze", NULL},
+  { "GREEK",               "el", "gre", NULL},
+  { "ICELANDIC",           "is", "ice", NULL},
+  { "LATVIAN",             "lv", "lav", NULL},
+  { "LITHUANIAN",          "lt", "lit", NULL},
+  { "ROMANIAN",            "ro", "rum", NULL},
+  { "HUNGARIAN",           "hu", "hun", NULL},
+  { "ESTONIAN",            "et", "est", NULL},
+  // TODO: Although Teragram has two output names "TG_UNKNOWN_LANGUAGE"
+  // and "Unknown", they are essentially the same. Need to unify them.
+  // "un" and "ut" are invented by us, not from ISO-639.
+  //
+  { "TG_UNKNOWN_LANGUAGE", NULL, NULL, "ut"},
+  { "Unknown",             NULL, NULL, "un"},
+  { "BULGARIAN",           "bg", "bul", NULL},
+  { "CROATIAN",            "hr", "scr", NULL},
+  { "SERBIAN",             "sr", "scc", NULL},
+  { "IRISH",               "ga", "gle", NULL},
+  { "GALICIAN",            "gl", "glg", NULL},
+  // Impossible to tell Tagalog from Filipino at the moment.
+  // Use ISO 639-2 code for Filipino here.
+  { "TAGALOG",             NULL, "fil", NULL},
+  { "TURKISH",             "tr", "tur", NULL},
+  { "UKRAINIAN",           "uk", "ukr", NULL},
+  { "HINDI",               "hi", "hin", NULL},
+  { "MACEDONIAN",          "mk", "mac", NULL},
+  { "BENGALI",             "bn", "ben", NULL},
+  { "INDONESIAN",          "id", "ind", NULL},
+  { "LATIN",               "la", "lat", NULL},
+  { "MALAY",               "ms", "may", NULL},
+  { "MALAYALAM",           "ml", "mal", NULL},
+  { "WELSH",               "cy", "wel", NULL},
+  { "NEPALI",              "ne", "nep", NULL},
+  { "TELUGU",              "te", "tel", NULL},
+  { "ALBANIAN",            "sq", "alb", NULL},
+  { "TAMIL",               "ta", "tam", NULL},
+  { "BELARUSIAN",          "be", "bel", NULL},
+  { "JAVANESE",            "jw", "jav", NULL},
+  { "OCCITAN",             "oc", "oci", NULL},
+  { "URDU",                "ur", "urd", NULL},
+  { "BIHARI",              "bh", "bih", NULL},
+  { "GUJARATI",            "gu", "guj", NULL},
+  { "THAI",                "th", "tha", NULL},
+  { "ARABIC",              "ar", "ara", NULL},
+  { "CATALAN",             "ca", "cat", NULL},
+  { "ESPERANTO",           "eo", "epo", NULL},
+  { "BASQUE",              "eu", "baq", NULL},
+  { "INTERLINGUA",         "ia", "ina", NULL},
+  { "KANNADA",             "kn", "kan", NULL},
+  { "PUNJABI",             "pa", "pan", NULL},
+  { "SCOTS_GAELIC",        "gd", "gla", NULL},
+  { "SWAHILI",             "sw", "swa", NULL},
+  { "SLOVENIAN",           "sl", "slv", NULL},
+  { "MARATHI",             "mr", "mar", NULL},
+  { "MALTESE",             "mt", "mlt", NULL},
+  { "VIETNAMESE",          "vi", "vie", NULL},
+  { "FRISIAN",             "fy", "fry", NULL},
+  { "SLOVAK",              "sk", "slo", NULL},
+  { "ChineseT",
+    NULL,  NULL,  // We intentionally set these 2 fields to NULL to avoid
+                  // confusion between CHINESE_T and CHINESE.
+    "zh-TW"},
+  { "FAROESE",             "fo", "fao", NULL},
+  { "SUNDANESE",           "su", "sun", NULL},
+  { "UZBEK",               "uz", "uzb", NULL},
+  { "AMHARIC",             "am", "amh", NULL},
+  { "AZERBAIJANI",         "az", "aze", NULL},
+  { "GEORGIAN",            "ka", "geo", NULL},
+  { "TIGRINYA",            "ti", "tir", NULL},
+  { "PERSIAN",             "fa", "per", NULL},
+  { "BOSNIAN",             "bs", "bos", NULL},
+  { "SINHALESE",           "si", "sin", NULL},
+  { "NORWEGIAN_N",         "nn", "nno", NULL},
+  { "PORTUGUESE_P",        NULL, NULL, "pt-PT"},
+  { "PORTUGUESE_B",        NULL, NULL, "pt-BR"},
+  { "XHOSA",               "xh", "xho", NULL},
+  { "ZULU",                "zu", "zul", NULL},
+  { "GUARANI",             "gn", "grn", NULL},
+  { "SESOTHO",             "st", "sot", NULL},
+  { "TURKMEN",             "tk", "tuk", NULL},
+  { "KYRGYZ",              "ky", "kir", NULL},
+  { "BRETON",              "br", "bre", NULL},
+  { "TWI",                 "tw", "twi", NULL},
+  { "YIDDISH",             "yi", "yid", NULL},
+  { "SERBO_CROATIAN",      "sh", NULL, NULL},
+  { "SOMALI",              "so", "som", NULL},
+  { "UIGHUR",              "ug", "uig", NULL},
+  { "KURDISH",             "ku", "kur", NULL},
+  { "MONGOLIAN",           "mn", "mon", NULL},
+  { "ARMENIAN",            "hy", "arm", NULL},
+  { "LAOTHIAN",            "lo", "lao", NULL},
+  { "SINDHI",              "sd", "snd", NULL},
+  { "RHAETO_ROMANCE",      "rm", "roh", NULL},
+  { "AFRIKAANS",           "af", "afr", NULL},
+  { "LUXEMBOURGISH",       "lb", "ltz", NULL},
+  { "BURMESE",             "my", "bur", NULL},
+  // KHMER is known as Cambodian for Google user interfaces.
+  { "KHMER",               "km", "khm", NULL},
+  { "TIBETAN",             "bo", "tib", NULL},
+  { "DHIVEHI",             "dv", "div", NULL},
+  { "CHEROKEE",            NULL, "chr", NULL},
+  { "SYRIAC",              NULL, "syr", NULL},
+  { "LIMBU",               NULL, NULL, "sit-NP"},
+  { "ORIYA",               "or", "ori", NULL},
+  { "ASSAMESE",            "as", "asm", NULL},
+  { "CORSICAN",            "co", "cos", NULL},
+  { "INTERLINGUE",         "ie", "ine", NULL},
+  { "KAZAKH",              "kk", "kaz", NULL},
+  { "LINGALA",             "ln", "lin", NULL},
+  { "MOLDAVIAN",           "mo", "mol", NULL},
+  { "PASHTO",              "ps", "pus", NULL},
+  { "QUECHUA",             "qu", "que", NULL},
+  { "SHONA",               "sn", "sna", NULL},
+  { "TAJIK",               "tg", "tgk", NULL},
+  { "TATAR",               "tt", "tat", NULL},
+  { "TONGA",               "to", "tog", NULL},
+  { "YORUBA",              "yo", "yor", NULL},
+  { "CREOLES_AND_PIDGINS_ENGLISH_BASED", NULL, "cpe", NULL},
+  { "CREOLES_AND_PIDGINS_FRENCH_BASED",  NULL, "cpf", NULL},
+  { "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", NULL, "cpp", NULL},
+  { "CREOLES_AND_PIDGINS_OTHER", NULL, "crp", NULL},
+  { "MAORI",               "mi", "mao", NULL},
+  { "WOLOF",               "wo", "wol", NULL},
+  { "ABKHAZIAN",           "ab", "abk", NULL},
+  { "AFAR",                "aa", "aar", NULL},
+  { "AYMARA",              "ay", "aym", NULL},
+  { "BASHKIR",             "ba", "bak", NULL},
+  { "BISLAMA",             "bi", "bis", NULL},
+  { "DZONGKHA",            "dz", "dzo", NULL},
+  { "FIJIAN",              "fj", "fij", NULL},
+  { "GREENLANDIC",         "kl", "kal", NULL},
+  { "HAUSA",               "ha", "hau", NULL},
+  { "HAITIAN_CREOLE",       "ht", NULL, NULL},
+  { "INUPIAK",             "ik", "ipk", NULL},
+  { "INUKTITUT",           "iu", "iku", NULL},
+  { "KASHMIRI",            "ks", "kas", NULL},
+  { "KINYARWANDA",         "rw", "kin", NULL},
+  { "MALAGASY",            "mg", "mlg", NULL},
+  { "NAURU",               "na", "nau", NULL},
+  { "OROMO",               "om", "orm", NULL},
+  { "RUNDI",               "rn", "run", NULL},
+  { "SAMOAN",              "sm", "smo", NULL},
+  { "SANGO",               "sg", "sag", NULL},
+  { "SANSKRIT",            "sa", "san", NULL},
+  { "SISWANT",             "ss", "ssw", NULL},
+  { "TSONGA",              "ts", "tso", NULL},
+  { "TSWANA",              "tn", "tsn", NULL},
+  { "VOLAPUK",             "vo", "vol", NULL},
+  { "ZHUANG",              "za", "zha", NULL},
+  { "KHASI",               NULL, "kha", NULL},
+  { "SCOTS",               NULL, "sco", NULL},
+  { "GANDA",               "lg", "lug", NULL},
+  { "MANX",                "gv", "glv", NULL},
+  { "MONTENEGRIN",         NULL, NULL, "sr-ME"},
+  { "XX",                  NULL, NULL, "XX"},
+};
+
+COMPILE_ASSERT(arraysize(kLanguageInfoTable) == NUM_LANGUAGES + 1,
+               kLanguageInfoTable_has_incorrect_length);
+
+
+// LANGUAGE NAMES
+
+const char* default_language_name() {
+  return kLanguageInfoTable[ENGLISH].language_name_;
+}
+
+static const char* const kInvalidLanguageName = "invalid_language";
+
+const char *invalid_language_name() {
+  return kInvalidLanguageName;
+}
+
+const char* LanguageName(Language lang) {
+  return IsValidLanguage(lang)
+      ? kLanguageInfoTable[lang].language_name_
+      : kInvalidLanguageName;
+}
+
+
+
+// LANGUAGE CODES
+
+
+// The space before invalid_language_code is intentional. It is used
+// to prevent it matching any two letter language code.
+//
+static const char* const kInvalidLanguageCode = " invalid_language_code";
+
+const char *invalid_language_code() {
+  return kInvalidLanguageCode;
+}
+
+const char * LanguageCode(Language lang) {
+  if (! IsValidLanguage(lang))
+    return kInvalidLanguageCode;
+  const LanguageInfo& info = kLanguageInfoTable[lang];
+  if (info.language_code_639_1_) {
+    return info.language_code_639_1_;
+  } else if (info.language_code_639_2_) {
+    return info.language_code_639_2_;
+  } else if (info.language_code_other_) {
+    return info.language_code_other_;
+  } else {
+    return kInvalidLanguageCode;
+  }
+}
+
+const char* default_language_code() {
+  return kLanguageInfoTable[ENGLISH].language_code_639_1_;
+}
+
+const char* LanguageCodeISO639_1(Language lang) {
+  if (! IsValidLanguage(lang))
+    return kInvalidLanguageCode;
+  if (const char* code = kLanguageInfoTable[lang].language_code_639_1_)
+    return code;
+  return kInvalidLanguageCode;
+}
+
+const char* LanguageCodeISO639_2(Language lang) {
+  if (! IsValidLanguage(lang))
+    return kInvalidLanguageCode;
+  if (const char* code = kLanguageInfoTable[lang].language_code_639_2_)
+    return code;
+  return kInvalidLanguageCode;
+}
+
+const char* LanguageCodeWithDialects(Language lang) {
+  if (lang == CHINESE)
+    return "zh-CN";
+  return LanguageCode(lang);
+}
+
+
+
+bool LanguageFromCode(const char* lang_code, Language *language) {
+  *language = UNKNOWN_LANGUAGE;
+  if ( lang_code == NULL ) return false;
+
+  for ( int i = 0 ; i < kNumLanguages ; i++ ) {
+    const LanguageInfo& info = kLanguageInfoTable[i];
+    if ((info.language_code_639_1_ &&
+         !base::strcasecmp(lang_code, info.language_code_639_1_)) ||
+        (info.language_code_639_2_ &&
+         !base::strcasecmp(lang_code, info.language_code_639_2_)) ||
+        (info.language_code_other_ &&
+         !base::strcasecmp(lang_code, info.language_code_other_))) {
+      *language = static_cast<Language>(i);
+      return true;
+    }
+  }
+
+  // For convenience, this function can also parse the non-standard
+  // five-letter language codes "zh-cn" and "zh-tw" which are used by
+  // front-ends such as GWS to distinguish Simplified from Traditional
+  // Chinese.
+  if (!base::strcasecmp(lang_code, "zh-cn") ||
+      !base::strcasecmp(lang_code, "zh_cn")) {
+    *language = CHINESE;
+    return true;
+  }
+  if (!base::strcasecmp(lang_code, "zh-tw") ||
+      !base::strcasecmp(lang_code, "zh_tw")) {
+    *language = CHINESE_T;
+    return true;
+  }
+  if (!base::strcasecmp(lang_code, "sr-me") ||
+      !base::strcasecmp(lang_code, "sr_me")) {
+    *language = MONTENEGRIN;
+    return true;
+  }
+
+  // Process language-code synonyms.
+  if (!base::strcasecmp(lang_code, "he")) {
+    *language = HEBREW;  // Use "iw".
+    return true;
+  }
+  if (!base::strcasecmp(lang_code, "in")) {
+    *language = INDONESIAN;  // Use "id".
+    return true;
+  }
+  if (!base::strcasecmp(lang_code, "ji")) {
+    *language = YIDDISH;  // Use "yi".
+    return true;
+  }
+
+  // Process language-detection synonyms.
+  // These distinct languages cannot be differentiated by our current
+  // language-detection algorithms.
+  if (!base::strcasecmp(lang_code, "fil")) {
+    *language = TAGALOG;
+    return true;
+  }
+
+  return false;
+}
diff --git a/ced/util/languages/languages.h b/ced/util/languages/languages.h
new file mode 100644 (file)
index 0000000..4237961
--- /dev/null
@@ -0,0 +1,381 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef UTIL_LANGUAGES_LANGUAGES_H_
+#define UTIL_LANGUAGES_LANGUAGES_H_
+
+// This interface defines the Language enum and functions that depend
+// only on Language values.
+
+// A hash-function for Language, hash<Language>, is defined in
+// i18n/languages/public/languages-hash.h
+
+#ifndef SWIG
+// Language enum defined in languages.proto
+// Also description on how to add languages.
+#include "util/languages/languages.pb.h"
+
+#else
+
+// TODO: Include a header containing swig-compatible enum.
+
+#endif
+
+const int kNumLanguages = NUM_LANGUAGES;
+
+// Return the default language (ENGLISH).
+Language default_language();
+
+
+// *******************************************
+// Language predicates
+//   IsValidLanguage()
+//   IS_LANGUAGE_UNKNOWN()
+//   IsCJKLanguage()
+//   IsChineseLanguage()
+//   IsNorwegianLanguage()
+//   IsPortugueseLanguage()
+//   IsRightToLeftLanguage()
+//   IsMaybeRightToLeftLanguage()
+//   IsSameLanguage()
+//   IsScriptRequiringLongerSnippets()
+// *******************************************
+
+// IsValidLanguage
+// ===============
+//
+// Function to check if the input is within range of the Language enum. If
+// IsValidLanguage(lang) returns true, it is safe to call
+// static_cast<Language>(lang).
+//
+inline bool IsValidLanguage(int lang) {
+  return ((lang >= 0) && (lang < kNumLanguages));
+}
+
+// Return true if the language is "unknown". (This function was
+// previously a macro, hence the spelling in all caps.)
+//
+inline bool IS_LANGUAGE_UNKNOWN(Language lang) {
+  return lang == TG_UNKNOWN_LANGUAGE || lang == UNKNOWN_LANGUAGE;
+}
+
+// IsCJKLanguage
+// -------------
+//
+// This function returns true if the language is either Chinese
+// (simplified or traditional), Japanese, or Korean.
+bool IsCJKLanguage(Language lang);
+
+// IsChineseLanguage
+// -----------------
+//
+// This function returns true if the language is either Chinese
+// (simplified or traditional)
+bool IsChineseLanguage(Language lang);
+
+// IsNorwegianLanguage
+// --------------------
+//
+// This function returns true if the language is any of the Norwegian
+// (regular or Nynorsk).
+bool IsNorwegianLanguage(Language lang);
+
+// IsPortugueseLanguage
+// --------------------
+//
+// This function returns true if the language is any of the Portuguese
+// languages (regular, Portugal or Brazil)
+bool IsPortugueseLanguage(Language lang);
+
+// IsSameLanguage
+// --------------
+//
+// WARNING: This function provides only a simple test on the values of
+// the two Language arguments. It returns false if either language is
+// invalid. It returns true if the language arguments are equal, or
+// if they are both Chinese languages, both Norwegian languages, or
+// both Portuguese languages, as defined by IsChineseLanguage,
+// IsNorwegianLanguage, and IsPortugueseLanguage. Otherwise it returns
+// false.
+bool IsSameLanguage(Language lang1, Language lang2);
+
+
+// IsRightToLeftLanguage
+// ---------------------
+//
+// This function returns true if the language is only written right-to-left
+// (E.g., Hebrew, Arabic, Persian etc.)
+//
+// IMPORTANT NOTE: Technically we're talking about scripts, not languages.
+// There are languages that can be written in more than one script.
+// Examples:
+//   - Kurdish and Azeri ('AZERBAIJANI') can be written left-to-right in
+//     Latin or Cyrillic script, and right-to-left in Arabic script.
+//   - Sindhi and Punjabi are written in different scripts, depending on
+//     region and dialect.
+//   - Turkmen used an Arabic script historically, but not any more.
+//   - Pashto and Uyghur can use Arabic script, but use a Roman script
+//     on the Internet.
+//   - Kashmiri and Urdu are written either with Arabic or Devanagari script.
+//
+// This function only returns true for languages that are always, unequivocally
+// written in right-to-left script.
+//
+// TODO: If we want to do anything special with multi-script languages
+// we should create new 'languages' for each language+script, as we do for
+// traditional vs. simplified Chinese. However most such languages are rare in
+// use and even rarer on the web, so this is unlikely to be something we'll
+// be concerned with for a while.
+bool IsRightToLeftLanguage(Language lang);
+
+// IsMaybeRightToLeftLanguage
+// --------------------------
+//
+// This function returns true if the language may appear on the web in a
+// right-to-left script (E.g., Hebrew, Arabic, Persian, Urdu, Kurdish, etc.)
+//
+// NOTE: See important notes under IsRightToLeftLanguage(...).
+//
+// This function returns true for languages that *may* appear on the web in a
+// right-to-left script, even if they may also appear in a left-to-right
+// script.
+//
+// This function should typically be used in cases where doing some work on
+// left-to-right text would be OK (usually a no-op), and this function is used
+// just to cut down on unnecessary work on regular, LTR text.
+bool IsMaybeRightToLeftLanguage(Language lang);
+
+// IsScriptRequiringLongerSnippets
+// --------------------
+//
+// This function returns true if the script chracteristics require longer
+// snippet length (Devanagari, Bengali, Gurmukhi,
+// Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam).
+// COMMENTED OUT TO REDUCE DEPENDENCIES ON GOOGLE3 CODE
+// bool IsScriptRequiringLongerSnippets(UnicodeScript script);
+
+
+// *******************************************
+// LANGUAGE NAMES
+//
+// This interface defines a standard name for each valid Language,
+// and a standard name for invalid languages. Some language names use all
+// uppercase letters, but others use mixed case.
+//   LanguageName() [Language to name]
+//   LanguageEnumName() [language to enum name]
+//   LanguageFromName() [name to Language]
+//   default_language_name()
+//   invalid_language_name()
+// *******************************************
+
+// Given a Language, returns its standard name.
+// Return invalid_language_name() if the language is invalid.
+const char* LanguageName(Language lang);
+
+// Given a Language, return the name of the enum constant for that
+// language. In all but a few cases, this is the same as its standard
+// name. For example, LanguageName(CHINESE) returns "Chinese", but
+// LanguageEnumName(CHINESE) returns "CHINESE". This is intended for
+// code that is generating C++ code, where the enum constant is more
+// useful than its integer value.  Return "NUM_LANGUAGES" if
+// the language is invalid.
+const char* LanguageEnumName(Language lang);
+
+// The maximum length of a standard language name.
+const int kMaxLanguageNameSize = 50;
+
+// The standard name for the default language.
+const char* default_language_name();
+
+// The standard name for all invalid languages.
+const char* invalid_language_name();
+
+// If lang_name matches the standard name of a Language, using a
+// case-insensitive comparison, set *language to that Language and
+// return true.
+// Otherwise, set *language to UNKNOWN_LANGUAGE and return false.
+//
+// For backwards compatibility, "HATIAN_CREOLE" is allowed as a name
+// for HAITIAN_CREOLE, and "QUECHAU" is allowed as a name for QUECHUA.
+// For compatibility with LanguageEnumName, "UNKNOWN_LANGUAGE" is allowed
+// as a name for UNKNOWN_LANGUAGE (the return value is true in this case,
+// as it is for "Unknown"), and "CHINESE_T" is allowed as a name for
+// CHINESE_T (i.e., a synonym for "ChineseT").
+//
+// REQUIRES: language must not be NULL.
+//
+bool LanguageFromName(const char* lang_name, Language *language);
+
+
+
+// *******************************************
+// LANGUAGE CODES
+//
+// This interface defines a standard code for each valid language, and
+// a standard code for invalid languages. These are derived from ISO codes,
+// with some Google additions.
+//   LanguageCode()
+//   default_language_code()
+//   invalid_language_code()
+//   LanguageCodeWithDialects()
+//   LanguageCodeISO639_1()
+//   LanguageCodeISO639_2()
+// *******************************************
+
+// Given a Language, return its standard code. There are Google-specific codes:
+//     For CHINESE_T, return "zh-TW".
+//     For TG_UNKNOWN_LANGUAGE, return "ut".
+//     For UNKNOWN_LANGUAGE, return "un".
+//     For PORTUGUESE_P, return "pt-PT".
+//     For PORTUGUESE_B, return "pt-BR".
+//     For LIMBU, return "sit-NP".
+//     For CHEROKEE, return "chr".
+//     For SYRIAC, return "syr".
+// Otherwise return the ISO 639-1 two-letter language code for lang.
+// If lang is invalid, return invalid_language_code().
+//
+// NOTE: See the note below about the codes for Chinese languages.
+//
+const char* LanguageCode(Language lang);
+
+// The maximum length of a language code.
+const int kMaxLanguageCodeSize = 50;
+
+// The standard code for the default language.
+const char* default_language_code();
+
+// The standard code for all invalid languages.
+const char* invalid_language_code();
+
+
+// --------------------------------------------
+// NOTE: CHINESE LANGUAGE CODES
+//
+// There are three functions that return codes for Chinese languages.
+// LanguageCode(lang) and LanguageCodeWithDialects(lang) are defined here.
+// LanguageCode(lang, encoding) is defined in i18n/encodings.lang_enc.h.
+// The following list shows the different results.
+//
+// LanguageCode(CHINESE) returns "zh"
+// LanguageCode(CHINESE_T) returns "zh-TW".
+//
+// LanguageCodeWithDialects(CHINESE) returns "zh-CN".
+// LanguageCodeWithDialects(CHINESE_T) returns "zh-TW".
+//
+// LanguageCode(CHINESE_T, <any encoding>) returns "zh-TW".
+// LanguageCode(CHINESE, CHINESE_BIG5) returns "zh-TW".
+// LanguageCode(CHINESE, <any other encoding>) returns "zh-CN".
+//
+// --------------------------------------------
+
+// LanguageCodeWithDialects
+// ------------------------
+//
+// If lang is CHINESE, return "zh-CN". Otherwise return LanguageCode(lang).
+const char* LanguageCodeWithDialects(Language lang);
+
+// LanguageCodeISO639_1
+// --------------------
+//
+// Return the ISO 639-1 two-letter language code for lang.
+// Return invalid_language_code() if lang is invalid or does not have
+// an ISO 639-1 two-letter language code.
+const char* LanguageCodeISO639_1(Language lang);
+
+// LanguageCodeISO639_2
+// --------------------
+//
+// Return the ISO 639-2 three-letter language for lang.
+// Return invalid_language_code() if lang is invalid or does not have
+// an ISO 639-2 three-letter language code.
+const char* LanguageCodeISO639_2(Language lang);
+
+// LanguageFromCode
+// ----------------
+//
+// If lang_code matches the code for a Language, using a case-insensitive
+// comparison, set *lang to that Language and return true.
+// Otherwise, set *lang to UNKNOWN_LANGUAGE and return false.
+//
+// lang_code can be an ISO 639-1 (two-letter) code, an ISO 639-2
+// (three-letter) code, or a Google-specific code (see LanguageCode).
+//
+// Certain language-code aliases are also allowed:
+//   For "zh-cn" and "zh_cn", set *lang to CHINESE.
+//   For "zh-tw" and "zh_tw", set *lang to CHINESE_T.
+//   For "he", set *lang to HEBREW.
+//   For "in", set *lang to INDONESIAN.
+//   For "ji", set *lang to YIDDISH.
+//   For "fil", set *lang to TAGALOG.
+//
+// REQUIRES: 'lang' must not be NULL.
+bool LanguageFromCode(const char* lang_code, Language *language);
+
+
+// LanguageFromCodeOrName
+// ----------------------
+//
+// If lang_code_or_name is a language code or a language name.
+// set *language to the corresponding Language and return true.
+// Otherwise set *language to UNKNOWN_LANGUAGE and return false.
+//
+bool LanguageFromCodeOrName(const char* lang_code_or_name,
+                            Language* language);
+
+// LanguageNameFromCode
+// --------------------
+//
+// If language_code is the code for a Language (see LanguageFromCode),
+// return the standard name of that language (see LanguageName).
+// Otherwise return invalid_language_name().
+//
+const char* LanguageNameFromCode(const char* language_code);
+
+
+// Miscellany
+
+// LanguageCodeToUnderscoreForm
+// ----------------------------
+//
+// Given a language code, convert the dash "-" to underscore "_".
+//
+// Specifically, if result_length <= strlen(lang_code), set result[0]
+// to '\0' and return false. Otherwise, copy lang_code to result,
+// converting every dash to an underscore, converting every character
+// before the first dash or underscore to lower case, and converting
+// every character after the first dash or underscore to upper
+// case. If there is no dash or underscore, convert the entire string
+// to lower case.
+//
+// REQUIRES: 'lang_code' must not be NULL. 'result' must not be NULL.
+
+bool LanguageCodeToUnderscoreForm(const char* lang_code,
+                                  char* result,
+                                  int result_length);
+
+//
+// AlwaysPutInExpectedRestrict
+// ---------------------------
+//
+// For Web pages in certain top-level domains, Web Search always
+// applies a "country restrict". If 'tld' matches one of those, using
+// a case-SENSITIVE comparison, set *expected_language to the Language
+// most commonly found in that top-level domain and return true.
+// Otherwise, set *expected_language to UNKNOWN_LANGUAGE and return false.
+bool AlwaysPutInExpectedRestrict(const char *tld, Language *expected_language);
+
+
+#endif  // UTIL_LANGUAGES_LANGUAGES_H_
diff --git a/ced/util/languages/languages.pb.h b/ced/util/languages/languages.pb.h
new file mode 100644 (file)
index 0000000..84f1d6a
--- /dev/null
@@ -0,0 +1,191 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef UTIL_LANGUAGES_LANGUAGES_PB_H_
+#define UTIL_LANGUAGES_LANGUAGES_PB_H_
+
+enum Language {
+  ENGLISH       = 0,
+  DANISH        = 1,
+  DUTCH         = 2,
+  FINNISH       = 3,
+  FRENCH        = 4,
+  GERMAN        = 5,
+  HEBREW        = 6,
+  ITALIAN       = 7,
+  JAPANESE      = 8,
+  KOREAN        = 9,
+  NORWEGIAN     = 10,
+  POLISH        = 11,
+  PORTUGUESE    = 12,
+  RUSSIAN       = 13,
+  SPANISH       = 14,
+  SWEDISH       = 15,
+  CHINESE       = 16,
+  CZECH         = 17,
+  GREEK         = 18,
+  ICELANDIC     = 19,
+  LATVIAN       = 20,
+  LITHUANIAN    = 21,
+  ROMANIAN      = 22,
+  HUNGARIAN     = 23,
+  ESTONIAN      = 24,
+  TG_UNKNOWN_LANGUAGE   = 25,
+  UNKNOWN_LANGUAGE      = 26,
+  BULGARIAN     = 27,
+  CROATIAN      = 28,
+  SERBIAN       = 29,
+  IRISH         = 30,      // UI only.
+  GALICIAN      = 31,
+  TAGALOG       = 32,      // Tagalog (tl) + Filipino (fil),
+  TURKISH       = 33,
+  UKRAINIAN     = 34,
+  HINDI         = 35,
+  MACEDONIAN    = 36,
+  BENGALI       = 37,
+  INDONESIAN    = 38,
+  LATIN         = 39,      // UI only.
+  MALAY         = 40,
+  MALAYALAM     = 41,
+  WELSH         = 42,      // UI only.
+  NEPALI        = 43,
+  TELUGU        = 44,
+  ALBANIAN      = 45,
+  TAMIL         = 46,
+  BELARUSIAN    = 47,
+  JAVANESE      = 48,      // UI only.
+  OCCITAN       = 49,      // UI only.
+  URDU          = 50,
+  BIHARI        = 51,
+  GUJARATI      = 52,
+  THAI          = 53,
+  ARABIC        = 54,
+  CATALAN       = 55,
+  ESPERANTO     = 56,
+  BASQUE        = 57,
+  INTERLINGUA   = 58,      // UI only.
+  KANNADA       = 59,
+  PUNJABI       = 60,
+  SCOTS_GAELIC  = 61,      // UI only.
+  SWAHILI       = 62,
+  SLOVENIAN     = 63,
+  MARATHI       = 64,
+  MALTESE       = 65,
+  VIETNAMESE    = 66,
+  FRISIAN       = 67,      // UI only.
+  SLOVAK        = 68,
+  CHINESE_T     = 69,      // This is added to solve the problem of
+                           // distinguishing Traditional and Simplified
+                           // Chinese when the encoding is UTF8.
+  FAROESE       = 70,      // UI only.
+  SUNDANESE     = 71,      // UI only.
+  UZBEK         = 72,
+  AMHARIC       = 73,
+  AZERBAIJANI   = 74,
+  GEORGIAN      = 75,
+  TIGRINYA      = 76,      // UI only.
+  PERSIAN       = 77,
+  BOSNIAN       = 78,      // UI only. LangId language: CROATIAN (28)
+  SINHALESE     = 79,
+  NORWEGIAN_N   = 80,      // UI only. LangId language: NORWEGIAN (10)
+  PORTUGUESE_P  = 81,      // UI only. LangId language: PORTUGUESE (12)
+  PORTUGUESE_B  = 82,      // UI only. LangId language: PORTUGUESE (12)
+  XHOSA         = 83,      // UI only.
+  ZULU          = 84,      // UI only.
+  GUARANI       = 85,
+  SESOTHO       = 86,      // UI only.
+  TURKMEN       = 87,      // UI only.
+  KYRGYZ        = 88,
+  BRETON        = 89,      // UI only.
+  TWI           = 90,      // UI only.
+  YIDDISH       = 91,      // UI only.
+  SERBO_CROATIAN= 92,      // UI only. LangId language: SERBIAN (29)
+  SOMALI        = 93,      // UI only.
+  UIGHUR        = 94,
+  KURDISH       = 95,
+  MONGOLIAN     = 96,
+  ARMENIAN      = 97,
+  LAOTHIAN      = 98,
+  SINDHI        = 99,
+  RHAETO_ROMANCE= 100,     // UI only.
+  AFRIKAANS     = 101,
+  LUXEMBOURGISH = 102,     // UI only.
+  BURMESE       = 103,
+  KHMER         = 104,
+  TIBETAN       = 105,
+  DHIVEHI       = 106,     // sometimes spelled Divehi, lang of Maldives
+  CHEROKEE      = 107,
+  SYRIAC        = 108,     // UI only.
+  LIMBU         = 109,     // UI only.
+  ORIYA         = 110,
+  ASSAMESE      = 111,     // UI only.
+  CORSICAN      = 112,     // UI only.
+  INTERLINGUE   = 113,     // UI only.
+  KAZAKH        = 114,
+  LINGALA       = 115,     // UI only.
+  MOLDAVIAN     = 116,     // UI only. LangId language: ROMANIAN (22)
+  PASHTO        = 117,
+  QUECHUA       = 118,     // UI only.
+  SHONA         = 119,     // UI only.
+  TAJIK         = 120,
+  TATAR         = 121,     // UI only.
+  TONGA         = 122,     // UI only.
+  YORUBA        = 123,     // UI only.
+  CREOLES_AND_PIDGINS_ENGLISH_BASED       = 124,   // UI only.
+  CREOLES_AND_PIDGINS_FRENCH_BASED        = 125,   // UI only.
+  CREOLES_AND_PIDGINS_PORTUGUESE_BASED    = 126,   // UI only.
+  CREOLES_AND_PIDGINS_OTHER               = 127,   // UI only.
+  MAORI         = 128,     // UI only.
+  WOLOF         = 129,     // UI only.
+  ABKHAZIAN     = 130,     // UI only.
+  AFAR          = 131,     // UI only.
+  AYMARA        = 132,     // UI only.
+  BASHKIR       = 133,     // UI only.
+  BISLAMA       = 134,     // UI only.
+  DZONGKHA      = 135,     // UI only.
+  FIJIAN        = 136,     // UI only.
+  GREENLANDIC   = 137,     // UI only.
+  HAUSA         = 138,     // UI only.
+  HAITIAN_CREOLE= 139,     // UI only.
+  INUPIAK       = 140,     // UI only.
+  INUKTITUT     = 141,
+  KASHMIRI      = 142,     // UI only.
+  KINYARWANDA   = 143,     // UI only.
+  MALAGASY      = 144,     // UI only.
+  NAURU         = 145,     // UI only.
+  OROMO         = 146,     // UI only.
+  RUNDI         = 147,     // UI only.
+  SAMOAN        = 148,     // UI only.
+  SANGO         = 149,     // UI only.
+  SANSKRIT      = 150,
+  SISWANT       = 151,     // UI only.
+  TSONGA        = 152,     // UI only.
+  TSWANA        = 153,     // UI only.
+  VOLAPUK       = 154,     // UI only.
+  ZHUANG        = 155,     // UI only.
+  KHASI         = 156,     // UI only.
+  SCOTS         = 157,     // UI only.
+  GANDA         = 158,     // UI only.
+  MANX          = 159,     // UI only.
+  MONTENEGRIN   = 160,     // UI only. LangId language: SERBIAN (29)
+  NUM_LANGUAGES = 161,        // Always keep this at the end. It is not a
+                              // valid Language enum. It is only used to
+                              // indicate the total number of Languages.
+  // NOTE: If you add a language, you will break a unittest. See the note
+  // at the top of this enum.
+};
+
+#endif  // UTIL_LANGUAGES_LANGUAGES_PB_H_
diff --git a/ced/util/logging.h b/ced/util/logging.h
new file mode 100644 (file)
index 0000000..16e50f2
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef UTIL_LOGGING_H_
+#define UTIL_LOGGING_H_
+
+#undef CHECK
+#define CHECK(expr)
+#undef DCHECK
+#define DCHECK(expr)
+
+#endif  // UTIL_LOGGING_H_
diff --git a/ced/util/port.h b/ced/util/port.h
new file mode 100644 (file)
index 0000000..3799b16
--- /dev/null
@@ -0,0 +1,53 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef UTIL_PORT_H_
+#define UTIL_PORT_H_
+
+#include <stdarg.h>
+
+#if defined(_MSC_VER)
+#define GG_LONGLONG(x) x##I64
+#define GG_ULONGLONG(x) x##UI64
+#else
+#define GG_LONGLONG(x) x##LL
+#define GG_ULONGLONG(x) x##ULL
+#endif
+
+// Per C99 7.8.14, define __STDC_CONSTANT_MACROS before including <stdint.h>
+// to get the INTn_C and UINTn_C macros for integer constants.  It's difficult
+// to guarantee any specific ordering of header includes, so it's difficult to
+// guarantee that the INTn_C macros can be defined by including <stdint.h> at
+// any specific point.  Provide GG_INTn_C macros instead.
+
+#define GG_INT8_C(x)    (x)
+#define GG_INT16_C(x)   (x)
+#define GG_INT32_C(x)   (x)
+#define GG_INT64_C(x)   GG_LONGLONG(x)
+
+#define GG_UINT8_C(x)   (x ## U)
+#define GG_UINT16_C(x)  (x ## U)
+#define GG_UINT32_C(x)  (x ## U)
+#define GG_UINT64_C(x)  GG_ULONGLONG(x)
+
+// Define an OS-neutral wrapper for shared library entry points
+#if defined(_WIN32)
+#define API_CALL __stdcall
+#else
+#define API_CALL
+#endif
+
+#endif  // UTIL_PORT_H_
diff --git a/ced/util/string_util.h b/ced/util/string_util.h
new file mode 100644 (file)
index 0000000..bb612a9
--- /dev/null
@@ -0,0 +1,55 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef UTIL_STRING_UTIL_H_
+#define UTIL_STRING_UTIL_H_
+
+#include <string.h>
+
+namespace base {
+
+#if defined(_WIN32)
+// Compare the two strings s1 and s2 without regard to case using
+// the current locale; returns 0 if they are equal, 1 if s1 > s2, and -1 if
+// s2 > s1 according to a lexicographic comparison.
+inline int strcasecmp(const char* s1, const char* s2) {
+  return _stricmp(s1, s2);
+}
+inline int strncasecmp(const char* s1, const char* s2, size_t n) {
+  return _strnicmp(s1, s2, n);
+}
+#else
+inline int strcasecmp(const char* s1, const char* s2) {
+  return ::strcasecmp(s1, s2);
+}
+inline int strncasecmp(const char* s1, const char* s2, size_t n) {
+  return ::strncasecmp(s1, s2, n);
+}
+#endif
+}
+
+#if !defined(__linux__)
+inline void* memrchr(const void* s, int c, size_t n) {
+  const unsigned char* p = (const unsigned char*) s;
+  for (p += n; n > 0; n--) {
+    if (*--p == c)
+      return (void*) p;
+  }
+  return NULL;
+}
+#endif
+
+#endif  // UTIL_STRING_UTIL_H_
diff --git a/ced/util/varsetter.h b/ced/util/varsetter.h
new file mode 100644 (file)
index 0000000..8e8cbf2
--- /dev/null
@@ -0,0 +1,66 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef UTIL_VARSETTER_H_
+#define UTIL_VARSETTER_H_
+
+//
+// Use a VarSetter object to temporarily set an object of some sort to
+// a particular value.  When the VarSetter object is destructed, the
+// underlying object will revert to its former value.
+//
+// Sample code:
+//
+#if 0
+{
+  bool b = true;
+  {
+    VarSetter<bool> bool_setter(&b, false);
+    // Now b == false.
+  }
+  // Now b == true again.
+}
+#endif
+
+template <class C>
+class VarSetter {
+public:
+
+  // Constructor that just sets the object to a fixed value
+  VarSetter(C* object, const C& value) : object_(object), old_value_(*object) {
+    *object = value;
+  }
+
+  ~VarSetter() { *object_ = old_value_; }
+
+private:
+
+  C*const object_;
+  C old_value_;
+
+  // Disallow
+  VarSetter(const VarSetter&);
+  VarSetter& operator=(const VarSetter&);
+
+  // VarSetters always live on the stack
+  static void* operator new (size_t);
+  static void* operator new[](size_t);  // Redundant, no default ctor
+
+  static void operator delete (void*);
+  static void operator delete[](void*);
+};
+
+#endif  // UTIL_VARSETTER_H_
diff --git a/cmake/Modules/FindAVCodec.cmake b/cmake/Modules/FindAVCodec.cmake
new file mode 100644 (file)
index 0000000..fa1ca9f
--- /dev/null
@@ -0,0 +1,46 @@
+# - Try to find FFMPEG libavcodec
+# Once done, this will define
+#
+#  AVCodec_FOUND - the library is available
+#  AVCodec_INCLUDE_DIRS - the include directories
+#  AVCodec_LIBRARIES - the libraries
+#  AVCodec_INCLUDE - the file to #include (may be used in config.h)
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_package(AVCodec AVUtil)
+
+# TODO: pkg-config extra deps: libraw1394 theora vorbisenc
+
+libfind_pkg_check_modules(AVCodec_PKGCONF libavcodec)
+
+find_path(AVCodec_INCLUDE_DIR
+  NAMES libavcodec/avcodec.h ffmpeg/avcodec.h avcodec.h
+  HINTS ${AVCodec_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES ffmpeg
+)
+
+if(AVCodec_INCLUDE_DIR)
+  foreach(suffix libavcodec/ ffmpeg/ "")
+    if(NOT AVCodec_INCLUDE)
+      if(EXISTS "${AVCodec_INCLUDE_DIR}/${suffix}avcodec.h")
+        set(AVCodec_INCLUDE "${suffix}avcodec.h" CACHE INTERNAL "")
+      endif(EXISTS "${AVCodec_INCLUDE_DIR}/${suffix}avcodec.h")
+    endif(NOT AVCodec_INCLUDE)
+  endforeach(suffix)
+
+  if(NOT AVCodec_INCLUDE)
+    message(FATAL_ERROR "Found avcodec.h include dir, but not the header file. Perhaps you need to clear CMake cache?")
+  endif(NOT AVCodec_INCLUDE)
+endif(AVCodec_INCLUDE_DIR)
+
+find_library(AVCodec_LIBRARY
+  NAMES libavcodec.dll.a avcodec
+  HINTS ${AVCodec_PKGCONF_LIBRARY_DIRS}
+)
+
+libfind_process(AVCodec)
+
diff --git a/cmake/Modules/FindAVFormat.cmake b/cmake/Modules/FindAVFormat.cmake
new file mode 100644 (file)
index 0000000..2984a1d
--- /dev/null
@@ -0,0 +1,44 @@
+# - Try to find FFMPEG libavformat
+# Once done, this will define
+#
+#  AVFormat_FOUND - the library is available
+#  AVFormat_INCLUDE_DIRS - the include directories
+#  AVFormat_LIBRARIES - the libraries
+#  AVFormat_INCLUDE - the file to include (may be used in config.h)
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_package(AVFormat AVCodec)
+
+libfind_pkg_check_modules(AVFormat_PKGCONF libavformat)
+
+find_path(AVFormat_INCLUDE_DIR
+  NAMES libavformat/avformat.h ffmpeg/avformat.h avformat.h
+  HINTS ${AVFormat_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES ffmpeg
+)
+
+if(AVFormat_INCLUDE_DIR)
+  foreach(suffix libavformat/ ffmpeg/ "")
+    if(NOT AVFormat_INCLUDE)
+      if(EXISTS "${AVFormat_INCLUDE_DIR}/${suffix}avformat.h")
+        set(AVFormat_INCLUDE "${suffix}avformat.h")
+      endif(EXISTS "${AVFormat_INCLUDE_DIR}/${suffix}avformat.h")
+    endif(NOT AVFormat_INCLUDE)
+  endforeach(suffix)
+
+  if(NOT AVFormat_INCLUDE)
+    message(FATAL_ERROR "Found avformat.h include dir, but not the header file. Perhaps you need to clear CMake cache?")
+  endif(NOT AVFormat_INCLUDE)
+endif(AVFormat_INCLUDE_DIR)
+
+find_library(AVFormat_LIBRARY
+  NAMES libavformat.dll.a avformat
+  HINTS ${AVFormat_PKGCONF_LIBRARY_DIRS}
+)
+
+libfind_process(AVFormat)
+
diff --git a/cmake/Modules/FindAVUtil.cmake b/cmake/Modules/FindAVUtil.cmake
new file mode 100644 (file)
index 0000000..f6478a7
--- /dev/null
@@ -0,0 +1,42 @@
+# - Try to find FFMPEG libavutil
+# Once done, this will define
+#
+#  AVUtil_FOUND - the library is available
+#  AVUtil_INCLUDE_DIRS - the include directories
+#  AVUtil_LIBRARIES - the libraries
+#  AVUtil_INCLUDE - the file to #include (may be used in config.h)
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(AVUtil_PKGCONF libavutil)
+
+find_path(AVUtil_INCLUDE_DIR
+  NAMES libavutil/avutil.h ffmpeg/avutil.h avutil.h
+  HINTS ${AVUtil_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES ffmpeg
+)
+
+if(AVUtil_INCLUDE_DIR)
+  foreach(suffix libavutil/ ffmpeg/ "")
+    if(NOT AVUtil_INCLUDE)
+      if(EXISTS "${AVUtil_INCLUDE_DIR}/${suffix}avutil.h")
+        set(AVUtil_INCLUDE "${suffix}avutil.h")
+      endif(EXISTS "${AVUtil_INCLUDE_DIR}/${suffix}avutil.h")
+    endif(NOT AVUtil_INCLUDE)
+  endforeach(suffix)
+
+  if(NOT AVUtil_INCLUDE)
+    message(FATAL_ERROR "Found avutil.h include dir, but not the header file. Perhaps you need to clear CMake cache?")
+  endif(NOT AVUtil_INCLUDE)
+endif(AVUtil_INCLUDE_DIR)
+
+find_library(AVUtil_LIBRARY
+  NAMES libavutil.dll.a avutil
+  HINTS ${AVUtil_PKGCONF_LIBRARY_DIRS}
+)
+
+libfind_process(AVUtil)
+
diff --git a/cmake/Modules/FindAtk.cmake b/cmake/Modules/FindAtk.cmake
new file mode 100644 (file)
index 0000000..ffdbe6f
--- /dev/null
@@ -0,0 +1,34 @@
+# - Try to find Atk 1.0
+# Once done, this will define
+#
+#  Atk_FOUND - system has Atk
+#  Atk_INCLUDE_DIRS - the Atk include directories
+#  Atk_LIBRARIES - link these to use Atk
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(Atk GObject)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Atk_PKGCONF atk)
+
+# Main include dir
+find_path(Atk_INCLUDE_DIR
+  NAMES atk/atk.h
+  HINTS ${Atk_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES atk-1.0
+)
+
+# Find the library
+find_library(Atk_LIBRARY
+  NAMES atk-1.0
+  HINTS ${Atk_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(Atk_PROCESS_INCLUDES Atk_INCLUDE_DIR)
+set(Atk_PROCESS_LIBS Atk_LIBRARY GObject_LIBRARIES)
+libfind_process(Atk)
+
diff --git a/cmake/Modules/FindAtkmm.cmake b/cmake/Modules/FindAtkmm.cmake
new file mode 100644 (file)
index 0000000..8dc4d28
--- /dev/null
@@ -0,0 +1,35 @@
+# - Try to find Atkmm 1.6
+# Once done, this will define
+#
+#  Atkmm_FOUND - system has Atkmm
+#  Atkmm_INCLUDE_DIRS - the Atkmm include directories
+#  Atkmm_LIBRARIES - link these to use Atkmm
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(Atkmm Atk)
+libfind_package(Atkmm Glibmm)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Atkmm_PKGCONF atkmm-1.6)
+
+# Main include dir
+find_path(Atkmm_INCLUDE_DIR
+  NAMES atkmm.h
+  HINTS ${Atkmm_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES atkmm-1.6
+)
+
+# Finally the library itself
+find_library(Atkmm_LIBRARY
+  NAMES atkmm-1.6
+  HINTS ${Atkmm_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(Atkmm_PROCESS_INCLUDES Atkmm_INCLUDE_DIR Atk_INCLUDE_DIRS Glibmm_INCLUDE_DIRS)
+set(Atkmm_PROCESS_LIBS Atkmm_LIBRARY Atk_LIBRARIES Glibmm_LIBRARIES)
+libfind_process(Atkmm)
+
diff --git a/cmake/Modules/FindCairo.cmake b/cmake/Modules/FindCairo.cmake
new file mode 100644 (file)
index 0000000..923fbc2
--- /dev/null
@@ -0,0 +1,14 @@
+# - Try to find Cairo
+# Once done, this will define
+#
+#  Cairo_FOUND - system has Cairo
+#  Cairo_INCLUDE_DIRS - the Cairo include directories
+#  Cairo_LIBRARIES - link these to use Cairo
+
+include(LibFindMacros)
+libfind_package(Cairo Freetype)  # Cairo depends on Freetype
+libfind_pkg_detect(Cairo cairo FIND_PATH cairo.h PATH_SUFFIXES cairo FIND_LIBRARY cairo)
+libfind_process(Cairo)
+
+
+
diff --git a/cmake/Modules/FindCairomm.cmake b/cmake/Modules/FindCairomm.cmake
new file mode 100644 (file)
index 0000000..13823d4
--- /dev/null
@@ -0,0 +1,34 @@
+# - Try to find Cairomm 1.0
+# Once done, this will define
+#
+#  Cairomm_FOUND - system has Cairomm
+#  Cairomm_INCLUDE_DIRS - the Cairomm include directories
+#  Cairomm_LIBRARIES - link these to use Cairomm
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(Cairomm Cairo)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Cairomm_PKGCONF cairomm-1.0)
+
+# Main include dir
+find_path(Cairomm_INCLUDE_DIR
+  NAMES cairomm/cairomm.h
+  HINTS ${Cairomm_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES cairomm-1.0
+)
+
+# Finally the library itself
+find_library(Cairomm_LIBRARY
+  NAMES cairomm-1.0
+  HINTS ${Cairomm_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(Cairomm_PROCESS_INCLUDES Cairomm_INCLUDE_DIR Cairo_INCLUDE_DIRS)
+set(Cairomm_PROCESS_LIBS Cairomm_LIBRARY Cairo_LIBRARIES)
+libfind_process(Cairomm)
+
diff --git a/cmake/Modules/FindClanLib.cmake b/cmake/Modules/FindClanLib.cmake
new file mode 100644 (file)
index 0000000..cb0f8b4
--- /dev/null
@@ -0,0 +1,48 @@
+# - Try to find ClanLib
+# Example usage: find_package(ClanLib 0.8 REQUIRED COMPONENTS Core App Display GL Sound)
+#
+# Once done, this will define
+#
+#  ClanLib_FOUND - system has ClanLib (all the components requested)
+#  ClanLib_INCLUDE_DIRS - the ClanLib include directories
+#  ClanLib_LIBRARIES - link these to use ClanLib
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+if (ClanLib_FIND_VERSION_MAJOR AND ClanLib_FIND_VERSION_MINOR)
+  set(ClanLib_VERSION "${ClanLib_FIND_VERSION_MAJOR}.${ClanLib_FIND_VERSION_MINOR}")
+else (ClanLib_FIND_VERSION_MAJOR AND ClanLib_FIND_VERSION_MINOR)
+  set(ClanLib_VERSION "0.8")
+endif (ClanLib_FIND_VERSION_MAJOR AND ClanLib_FIND_VERSION_MINOR)
+
+libfind_pkg_check_modules(ClanLib_PKGCONF clanCore-${ClanLib_VERSION})
+
+find_path(ClanLib_INCLUDE_DIR
+  NAMES ClanLib/core.h
+  HINTS ${ClanLib_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES ClanLib-${ClanLib_VERSION}
+)
+
+# Extract the actual version number
+if (ClanLib_INCLUDE_DIR)
+  file(READ "${ClanLib_INCLUDE_DIR}/ClanLib/core.h" _ClanLib_CORE_H_CONTENTS)
+  set(_ClanLib_VERSION_REGEX ".*#define CL_VERSION_STRING \"([^\n]*)\".*")
+  if ("${_ClanLib_CORE_H_CONTENTS}" MATCHES "${_ClanLib_VERSION_REGEX}")
+    string(REGEX REPLACE "${_ClanLib_VERSION_REGEX}" "\\1" ClanLib_VERSION "${_ClanLib_CORE_H_CONTENTS}")
+  endif ("${_ClanLib_CORE_H_CONTENTS}" MATCHES "${_ClanLib_VERSION_REGEX}")
+endif (ClanLib_INCLUDE_DIR)
+
+foreach(COMPONENT ${ClanLib_FIND_COMPONENTS})
+  find_library(ClanLib_${COMPONENT}_LIBRARY
+    NAMES clan${COMPONENT}
+    HINTS ${ClanLib_PKGCONF_LIBRARY_DIRS}
+  )
+  set(ClanLib_PROCESS_LIBS ${ClanLib_PROCESS_LIBS} ClanLib_${COMPONENT}_LIBRARY)
+endforeach(COMPONENT)
+
+set(ClanLib_PROCESS_INCLUDES ClanLib_INCLUDE_DIR)
+libfind_process(ClanLib)
+
diff --git a/cmake/Modules/FindCppRest.cmake b/cmake/Modules/FindCppRest.cmake
new file mode 100644 (file)
index 0000000..21d1e97
--- /dev/null
@@ -0,0 +1,18 @@
+# - Try to find cpprest
+# Once done, this will define
+#
+#  CppRest_FOUND - system has CppRest
+#  CppRest_INCLUDE_DIRS - the CppRest include directories
+#  CppRest_LIBRARIES - link these to use CppRest
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_package(CppRest Crypto)
+libfind_package(CppRest Ssl)
+
+libfind_pkg_detect(CppRest cpprest FIND_PATH http_client.h PATH_SUFFIXES cpprest FIND_LIBRARY cpprest)
+set(CppRest_VERSION ${CppRest_PKGCONF_VERSION})
+libfind_process(CppRest)
\ No newline at end of file
diff --git a/cmake/Modules/FindCrypto.cmake b/cmake/Modules/FindCrypto.cmake
new file mode 100644 (file)
index 0000000..809ca9d
--- /dev/null
@@ -0,0 +1,14 @@
+# - Try to find Crypto
+# Once done, this will define
+#
+#  Crypto_FOUND - system has Crypto
+#  Crypto_INCLUDE_DIRS - the Crypto include directories
+#  Crypto_LIBRARIES - link these to use Crypto
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+libfind_pkg_detect(Crypto libcrypto FIND_PATH openssl/crypto.h FIND_LIBRARY crypto)
+set(Crypto_VERSION ${Crypto_PKGCONF_VERSION})
+libfind_process(Crypto)
diff --git a/cmake/Modules/FindDL.cmake b/cmake/Modules/FindDL.cmake
new file mode 100644 (file)
index 0000000..17352df
--- /dev/null
@@ -0,0 +1,23 @@
+# - Try to find dynamic linker library. Does nothing on Windows
+# Once done, this will define
+#
+#  DL_FOUND - system has dl (always set on Windows)
+#  DL_INCLUDE_DIRS - dlfcn.h include dir
+#  DL_LIBRARIES - link these to use dl
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+if(WIN32)
+       set(DL_FOUND TRUE)
+else()
+       include(LibFindMacros)
+
+       find_path(DL_INCLUDE_DIR NAMES dlfcn.h)
+       find_library(DL_LIBRARY NAMES dl)
+
+       set(DL_PROCESS_INCLUDES DL_INCLUDE_DIR)
+       set(DL_PROCESS_LIBS DL_LIBRARY)
+       libfind_process(DL)
+endif()
+
diff --git a/cmake/Modules/FindFAAC.cmake b/cmake/Modules/FindFAAC.cmake
new file mode 100644 (file)
index 0000000..84dc13c
--- /dev/null
@@ -0,0 +1,24 @@
+# - Try to find FAAC
+# Once done, this will define
+#
+#  FAAC_FOUND - system has FAAC
+#  FAAC_INCLUDE_DIRS - the FAAC include directories
+#  FAAC_LIBRARIES - link these to use FAAC
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+find_path(FAAC_INCLUDE_DIR
+  NAMES faac.h
+)
+
+find_library(FAAC_LIBRARY
+  NAMES faac
+)
+
+set(FAAC_PROCESS_INCLUDES FAAC_INCLUDE_DIR)
+set(FAAC_PROCESS_LIBS FAAC_LIBRARY)
+libfind_process(FAAC)
+
diff --git a/cmake/Modules/FindFontconfig.cmake b/cmake/Modules/FindFontconfig.cmake
new file mode 100644 (file)
index 0000000..6469621
--- /dev/null
@@ -0,0 +1,28 @@
+# - Try to find Fontconfig
+# Once done, this will define
+#
+#  Fontconfig_FOUND - system has Fontconfig
+#  Fontconfig_INCLUDE_DIRS - the Fontconfig include directories
+#  Fontconfig_LIBRARIES - link these to use Fontconfig
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(Fontconfig_PKGCONF Fontconfig)
+
+find_path(Fontconfig_INCLUDE_DIR
+  NAMES fontconfig/fontconfig.h
+  HINTS ${Fontconfig_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(Fontconfig_LIBRARY
+  NAMES fontconfig
+  HINTS ${Fontconfig_PKGCONF_LIBRARY_DIRS}
+)
+
+set(Fontconfig_PROCESS_INCLUDES Fontconfig_INCLUDE_DIR)
+set(Fontconfig_PROCESS_LIBS Fontconfig_LIBRARY)
+libfind_process(Fontconfig)
+
diff --git a/cmake/Modules/FindFreetype.cmake b/cmake/Modules/FindFreetype.cmake
new file mode 100644 (file)
index 0000000..b26f637
--- /dev/null
@@ -0,0 +1,31 @@
+# - Try to find Freetype2
+# Once done, this will define
+#
+#  Freetype_FOUND - system has Freetype
+#  Freetype_INCLUDE_DIRS - the Freetype include directories
+#  Freetype_LIBRARIES - link these to use Freetype
+
+include(LibFindMacros)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Freetype_PKGCONF freetype2)
+
+# Include dir
+find_path(Freetype_INCLUDE_DIR
+  NAMES freetype/freetype.h freetype2/freetype.h
+  HINTS ${Freetype_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES freetype2
+)
+
+# Finally the library itself
+find_library(Freetype_LIBRARY
+  NAMES freetype
+  HINTS ${Freetype_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(Freetype_PROCESS_INCLUDES Freetype_INCLUDE_DIR)
+set(Freetype_PROCESS_LIBS Freetype_LIBRARY)
+libfind_process(Freetype)
+
diff --git a/cmake/Modules/FindGDK-PixBuf.cmake b/cmake/Modules/FindGDK-PixBuf.cmake
new file mode 100644 (file)
index 0000000..e71f619
--- /dev/null
@@ -0,0 +1,32 @@
+# - Try to find gdk-pixbuf 2.0
+# Once done, this will define
+#
+#  GDK-PixBuf_FOUND - system has GDK-PixBuf
+#  GDK-PixBuf_INCLUDE_DIRS - the GDK-PixBuf include directories
+#  GDK-PixBuf_LIBRARIES - link these to use GDK-PixBuf
+
+include(LibFindMacros)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GDK-PixBuf_PKGCONF gdk-pixbuf-2.0)
+
+# Main include dir
+find_path(GDK-PixBuf_INCLUDE_DIR
+  NAMES gdk-pixbuf/gdk-pixbuf.h
+  HINTS ${GDK-PixBuf_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES gtk-2.0 gdk-pixbuf-2.0
+)
+
+# Finally the library itself
+find_library(GDK-PixBuf_LIBRARY
+  NAMES gdk_pixbuf-2.0
+  HINTS ${GDK-PixBuf_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GDK-PixBuf_PROCESS_INCLUDES GDK-PixBuf_INCLUDE_DIR)
+set(GDK-PixBuf_PROCESS_LIBS GDK-PixBuf_LIBRARY)
+libfind_process(GDK-PixBuf)
+
+
diff --git a/cmake/Modules/FindGDK.cmake b/cmake/Modules/FindGDK.cmake
new file mode 100644 (file)
index 0000000..b0f9ac5
--- /dev/null
@@ -0,0 +1,43 @@
+# - Try to find GDK 2.0
+# Once done, this will define
+#
+#  GDK_FOUND - system has GDK
+#  GDK_INCLUDE_DIRS - the GDK include directories
+#  GDK_LIBRARIES - link these to use GDK
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GDK GDK-PixBuf)
+libfind_package(GDK Pango)
+libfind_package(GDK GIO)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GDK_PKGCONF gdk-2.0)
+
+# Main include dir
+find_path(GDK_INCLUDE_DIR
+  NAMES gdk/gdk.h
+  HINTS ${GDK_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES gtk-2.0
+)
+
+# Glib-related libraries also use a separate config header, which is in lib dir
+find_path(GDKConfig_INCLUDE_DIR
+  NAMES gdkconfig.h
+  HINTS ${GDK_PKGCONF_INCLUDE_DIRS} /usr
+  PATH_SUFFIXES lib/gtk-2.0/include
+)
+
+# Finally the library itself
+find_library(GDK_LIBRARY
+  NAMES gdk-x11-2.0
+  HINTS ${GDK_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GDK_PROCESS_INCLUDES GDK_INCLUDE_DIR GDKConfig_INCLUDE_DIR GDK-PixBuf_INCLUDE_DIRS Pango_INCLUDE_DIRS GIO_INCLUDE_DIRS)
+set(GDK_PROCESS_LIBS GDK_LIBRARY GDK-PixBuf_LIBRARIES Pango_LIBRARIES GIO_LIBRARIES)
+libfind_process(GDK)
+
diff --git a/cmake/Modules/FindGDKmm.cmake b/cmake/Modules/FindGDKmm.cmake
new file mode 100644 (file)
index 0000000..23ccb83
--- /dev/null
@@ -0,0 +1,44 @@
+# - Try to find GDKmm 2.4
+# Once done, this will define
+#
+#  GDKmm_FOUND - system has GDKmm
+#  GDKmm_INCLUDE_DIRS - the GDKmm include directories
+#  GDKmm_LIBRARIES - link these to use GDKmm
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GDKmm GDK)
+libfind_package(GDKmm Glibmm)
+libfind_package(GDKmm Pangomm)
+libfind_package(GDKmm Cairomm)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GDKmm_PKGCONF gdkmm-2.4)
+
+# Main include dir
+find_path(GDKmm_INCLUDE_DIR
+  NAMES gdkmm.h
+  HINTS ${GDKmm_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES gdkmm-2.4
+)
+
+# Glib-related libraries also use a separate config header, which is in lib dir
+find_path(GDKmmConfig_INCLUDE_DIR
+  NAMES gdkmmconfig.h
+  HINTS ${GDKmm_PKGCONF_INCLUDE_DIRS} /usr
+  PATH_SUFFIXES lib/gdkmm-2.4/include
+)
+
+# Finally the library itself
+find_library(GDKmm_LIBRARY
+  NAMES gdkmm-2.4
+  HINTS ${GDKmm_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GDKmm_PROCESS_INCLUDES GDKmm_INCLUDE_DIR GDKmmConfig_INCLUDE_DIR GDK_INCLUDE_DIRS Glibmm_INCLUDE_DIRS Pangomm_INCLUDE_DIRS Cairomm_INCLUDE_DIRS)
+set(GDKmm_PROCESS_LIBS GDKmm_LIBRARY GDK_LIBRARIES Glibmm_LIBRARIES Pangomm_LIBRARIES Cairomm_LIBRARIES)
+libfind_process(GDKmm)
+
diff --git a/cmake/Modules/FindGIO.cmake b/cmake/Modules/FindGIO.cmake
new file mode 100644 (file)
index 0000000..c039042
--- /dev/null
@@ -0,0 +1,27 @@
+# - Try to find GIO 2.0
+# Once done, this will define
+#
+#  GIO_FOUND - system has GIO
+#  GIO_INCLUDE_DIRS - the GIO include directories
+#  GIO_LIBRARIES - link these to use GIO
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GIO Glib)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GIO_PKGCONF gio-2.0)
+
+# Find the library
+find_library(GIO_LIBRARY
+  NAMES gio-2.0
+  HINTS ${GIO_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GIO_PROCESS_INCLUDES Glib_INCLUDE_DIRS)
+set(GIO_PROCESS_LIBS GIO_LIBRARY Glib_LIBRARIES)
+libfind_process(GIO)
+
diff --git a/cmake/Modules/FindGIOmm.cmake b/cmake/Modules/FindGIOmm.cmake
new file mode 100644 (file)
index 0000000..bed2569
--- /dev/null
@@ -0,0 +1,35 @@
+# - Try to find GIOmm 2.4
+# Once done, this will define
+#
+#  GIOmm_FOUND - system has GIOmm
+#  GIOmm_INCLUDE_DIRS - the GIOmm include directories
+#  GIOmm_LIBRARIES - link these to use GIOmm
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GIOmm GIO)
+libfind_package(GIOmm Glibmm)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GIOmm_PKGCONF giomm-2.4)
+
+# Main include dir
+find_path(GIOmm_INCLUDE_DIR
+  NAMES giomm.h
+  HINTS ${GIOmm_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES giomm-2.4
+)
+
+# Finally the library itself
+find_library(GIOmm_LIBRARY
+  NAMES giomm-2.4
+  HINTS ${GIOmm_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GIOmm_PROCESS_INCLUDES GIOmm_INCLUDE_DIR GIO_INCLUDE_DIRS Glibmm_INCLUDE_DIRS)
+set(GIOmm_PROCESS_LIBS GIOmm_LIBRARY GIO_LIBRARIES Glibmm_LIBRARIES)
+libfind_process(GIOmm)
+
diff --git a/cmake/Modules/FindGLEW.cmake b/cmake/Modules/FindGLEW.cmake
new file mode 100644 (file)
index 0000000..5b01c42
--- /dev/null
@@ -0,0 +1,30 @@
+# - Try to find GLEW
+# Once done, this will define
+#
+#  GLEW_FOUND - system has OpenGL (GL and GLU)
+#  GLEW_INCLUDE_DIRS - the OpenGL include directories
+#  GLEW_LIBRARIES - link these to use OpenGL
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+# GLEW is often installed in the same place as OpenGL
+libfind_pkg_check_modules(OpenGL_PKGCONF gl)
+
+find_path(GLEW_INCLUDE_DIR
+  NAMES glew.h
+  HINTS ${OpenGL_INCLUDE_DIRS}
+  PATH_SUFFIXES GL
+)
+
+find_library(GLEW_LIBRARY
+  NAMES GLEW GLEW32.a GLEW32
+  HINTS ${OpenGL_PKGCONF_LIBRARY_DIRS}
+)
+
+set(GLEW_PROCESS_INCLUDES GLEW_INCLUDE_DIR)
+set(GLEW_PROCESS_LIBS GLEW_LIBRARY)
+libfind_process(GLEW)
+
diff --git a/cmake/Modules/FindGLFW.cmake b/cmake/Modules/FindGLFW.cmake
new file mode 100644 (file)
index 0000000..ad85f64
--- /dev/null
@@ -0,0 +1,38 @@
+# - Try to find GLFW
+# Once done, this will define
+#
+#  GLFW_FOUND - system has OpenGL (GL and GLU)
+#  GLFW_INCLUDE_DIRS - the OpenGL include directories
+#  GLFW_LIBRARIES - link these to use OpenGL
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GDK OpenGL)
+
+libfind_pkg_check_modules(GLFW_PKGCONF libglfw)
+
+find_path(GLFW_INCLUDE_DIR
+  NAMES GL/glfw.h
+  HINTS ${GLFW_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(GLFW_LIBRARY
+  NAMES glfw
+  HINTS ${GLFW_PKGCONF_LIBRARY_DIRS}
+)
+
+set(GLFW_PROCESS_INCLUDES GLFW_INCLUDE_DIR OpenGL_INCLUDE_DIRS)
+set(GLFW_PROCESS_LIBS GLFW_LIBRARY OpenGL_LIBRARIES)
+
+if(UNIX)
+  find_library(X11_LIBRARY NAMES X11)
+  find_library(Xrandr_LIBRARY NAMES Xrandr)
+  set(GLFW_PROCESS_LIBS ${GLFW_PROCESS_LIBS} X11_LIBRARY Xrandr_LIBRARY)
+endif(UNIX)
+
+libfind_process(GLFW)
+
diff --git a/cmake/Modules/FindGLM.cmake b/cmake/Modules/FindGLM.cmake
new file mode 100644 (file)
index 0000000..2d90092
--- /dev/null
@@ -0,0 +1,63 @@
+# FindGLM - attempts to locate the glm matrix/vector library.
+#
+# This module defines the following variables (on success):
+#   GLM_INCLUDE_DIRS  - where to find glm/glm.hpp
+#   GLM_FOUND         - if the library was successfully located
+#
+# It is trying a few standard installation locations, but can be customized
+# with the following variables:
+#   GLM_ROOT_DIR      - root directory of a glm installation
+#                       Headers are expected to be found in either:
+#                       <GLM_ROOT_DIR>/glm/glm.hpp           OR
+#                       <GLM_ROOT_DIR>/include/glm/glm.hpp
+#                       This variable can either be a cmake or environment
+#                       variable. Note however that changing the value
+#                       of the environment varible will NOT result in
+#                       re-running the header search and therefore NOT
+#                       adjust the variables set by this module.
+
+#=============================================================================
+# Copyright 2012 Carsten Neumann
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+#  License text for the above reference.)
+
+# default search dirs
+SET(_glm_HEADER_SEARCH_DIRS
+    "/usr/include"
+    "/usr/local/include")
+
+# check environment variable
+SET(_glm_ENV_ROOT_DIR "$ENV{GLM_ROOT_DIR}")
+
+IF(NOT GLM_ROOT_DIR AND _glm_ENV_ROOT_DIR)
+    SET(GLM_ROOT_DIR "${_glm_ENV_ROOT_DIR}")
+ENDIF(NOT GLM_ROOT_DIR AND _glm_ENV_ROOT_DIR)
+
+# put user specified location at beginning of search
+IF(GLM_ROOT_DIR)
+    SET(_glm_HEADER_SEARCH_DIRS "${GLM_ROOT_DIR}"
+                                "${GLM_ROOT_DIR}/include"
+                                 ${_glm_HEADER_SEARCH_DIRS})
+ENDIF(GLM_ROOT_DIR)
+
+# locate header
+FIND_PATH(GLM_INCLUDE_DIR "glm/glm.hpp"
+    PATHS ${_glm_HEADER_SEARCH_DIRS})
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLM DEFAULT_MSG
+    GLM_INCLUDE_DIR)
+
+IF(GLM_FOUND)
+    SET(GLM_INCLUDE_DIRS "${GLM_INCLUDE_DIR}")
+
+    MESSAGE(STATUS "GLM_INCLUDE_DIR = ${GLM_INCLUDE_DIR}")
+ENDIF(GLM_FOUND)
diff --git a/cmake/Modules/FindGObject.cmake b/cmake/Modules/FindGObject.cmake
new file mode 100644 (file)
index 0000000..f75524f
--- /dev/null
@@ -0,0 +1,31 @@
+# - Try to find GObject 2.0
+# Once done, this will define
+#
+#  GObject_FOUND - system has GObject
+#  GObject_INCLUDE_DIRS - the GObject include directories
+#  GObject_LIBRARIES - link these to use GObject
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GObject Glib)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GObject_PKGCONF gobject-2.0)
+
+# Find the library
+find_library(GObject_LIBRARY
+  NAMES gobject-2.0
+  HINTS ${GObject_PKGCONF_LIBRARY_DIRS}
+)
+
+find_path(GObject_INCLUDE_DIR
+  NAMES gobject/gobject.h
+  HINTS ${GObject_PKGCONF_INCLUDE_DIRS}
+  HINTS ${Glib_INCLUDE_DIRS}
+)
+
+set(GObject_PROCESS_INCLUDES GObject_INCLUDE_DIR Glib_INCLUDE_DIR)
+set(GObject_PROCESS_LIBS GObject_LIBRARY Glib_LIBRARY)
+libfind_process(GObject)
+
diff --git a/cmake/Modules/FindGStreamer.cmake b/cmake/Modules/FindGStreamer.cmake
new file mode 100644 (file)
index 0000000..4002c60
--- /dev/null
@@ -0,0 +1,33 @@
+# - Try to find GStreamer
+# Once done, this will define
+#
+#  GStreamer_FOUND - system has GStreamer
+#  GStreamer_INCLUDE_DIRS - the GStreamer include directories
+#  GStreamer_LIBRARIES - link these to use GStreamer
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GStreamer GObject)
+libfind_package(GStreamer LibXML2)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GStreamer_PKGCONF gstreamer-0.10)
+
+# Include dir
+find_path(GStreamer_INCLUDE_DIR
+  NAMES gst/gst.h
+  HINTS ${GStreamer_PKGCONF_INCLUDE_DIRS}
+)
+
+# Finally the library itself
+find_library(GStreamer_LIBRARY
+  NAMES gstreamer-0.10
+  HINTS ${GStreamer_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GStreamer_PROCESS_INCLUDES GStreamer_INCLUDE_DIR GObject_INCLUDE_DIRS LibXML2_INCLUDE_DIRS)
+set(GStreamer_PROCESS_LIBS GStreamer_LIBRARY GObject_LIBRARIES LibXML2_LIBRARIES)
+libfind_process(GStreamer)
diff --git a/cmake/Modules/FindGTK.cmake b/cmake/Modules/FindGTK.cmake
new file mode 100644 (file)
index 0000000..a7ead72
--- /dev/null
@@ -0,0 +1,38 @@
+# - Try to find GTK 2.0
+# Once done, this will define
+#
+#  GTK_FOUND - system has GTK
+#  GTK_INCLUDE_DIRS - the GTK include directories
+#  GTK_LIBRARIES - link these to use GTK
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GTK GDK)
+libfind_package(GTK Cairo)
+libfind_package(GTK Atk)
+libfind_package(GTK GIO)
+libfind_package(GTK Pango)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GTK_PKGCONF gtk+-2.0)
+
+# Main include dir
+find_path(GTK_INCLUDE_DIR
+  NAMES gtk/gtk.h
+  HINTS ${GTK_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES gtk-2.0
+)
+
+# Finally the library itself
+find_library(GTK_LIBRARY
+  NAMES gtk-x11-2.0
+  HINTS ${GTK_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GTK_PROCESS_INCLUDES GTK_INCLUDE_DIR GDK_INCLUDE_DIRS Cairo_INCLUDE_DIRS Atk_INCLUDE_DIRS GIO_INCLUDE_DIRS Pango_INCLUDE_DIRS)
+set(GTK_PROCESS_LIBS GTK_LIBRARY GDK_LIBRARIES Cairo_LIBRARIES Atk_LIBRARIES GIO_LIBRARIES Pango_LIBRARIES)
+libfind_process(GTK)
+
diff --git a/cmake/Modules/FindGTKmm.cmake b/cmake/Modules/FindGTKmm.cmake
new file mode 100644 (file)
index 0000000..7e737c7
--- /dev/null
@@ -0,0 +1,46 @@
+# - Try to find GTKmm 2.4
+# Once done, this will define
+#
+#  GTKmm_FOUND - system has GTKmm
+#  GTKmm_INCLUDE_DIRS - the GTKmm include directories
+#  GTKmm_LIBRARIES - link these to use GTKmm
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GTKmm GTK)
+libfind_package(GTKmm Glibmm)
+libfind_package(GTKmm GIOmm)
+libfind_package(GTKmm GDKmm)
+libfind_package(GTKmm Pangomm)
+libfind_package(GTKmm Atkmm)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GTKmm_PKGCONF gtkmm-2.4)
+
+# Main include dir
+find_path(GTKmm_INCLUDE_DIR
+  NAMES gtkmm.h
+  HINTS ${GTKmm_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES gtkmm-2.4
+)
+
+# Glib-related libraries also use a separate config header, which is in lib dir
+find_path(GTKmmConfig_INCLUDE_DIR
+  NAMES gtkmmconfig.h
+  HINTS ${GTKmm_PKGCONF_INCLUDE_DIRS} /usr
+  PATH_SUFFIXES lib/gtkmm-2.4/include
+)
+
+# Finally the library itself
+find_library(GTKmm_LIBRARY
+  NAMES gtkmm-2.4
+  HINTS ${GTKmm_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GTKmm_PROCESS_INCLUDES GTKmm_INCLUDE_DIR GTKmmConfig_INCLUDE_DIR GTK_INCLUDE_DIRS Glibmm_INCLUDE_DIRS GIOmm_INCLUDE_DIRS GDKmm_INCLUDE_DIRS Pangomm_INCLUDE_DIRS Atkmm_INCLUDE_DIRS)
+set(GTKmm_PROCESS_LIBS GTKmm_LIBRARY GTK_LIBRARIES Glibmm_LIBRARIES GIOmm_LIBRARIES GDKmm_LIBRARIES Pangomm_LIBRARIES Atkmm_LIBRARIES)
+libfind_process(GTKmm)
+
diff --git a/cmake/Modules/FindGlib.cmake b/cmake/Modules/FindGlib.cmake
new file mode 100644 (file)
index 0000000..3b976e8
--- /dev/null
@@ -0,0 +1,39 @@
+# - Try to find Glib-2.0
+# Once done, this will define
+#
+#  Glib_FOUND - system has Glib
+#  Glib_INCLUDE_DIRS - the Glib include directories
+#  Glib_LIBRARIES - link these to use Glib
+
+include(LibFindMacros)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Glib_PKGCONF glib-2.0)
+
+# Main include dir
+find_path(Glib_INCLUDE_DIR
+  NAMES glib.h
+  HINTS ${Glib_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES glib-2.0
+)
+
+# Glib-related libraries also use a separate config header, which is in lib dir
+find_path(GlibConfig_INCLUDE_DIR
+  NAMES glibconfig.h
+  HINTS ${Glib_PKGCONF_INCLUDE_DIRS} /usr
+  PATH_SUFFIXES lib/glib-2.0/include ../lib/glib-2.0/include
+)
+
+# Finally the library itself
+find_library(Glib_LIBRARY
+  NAMES glib-2.0
+  HINTS ${Glib_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(Glib_PROCESS_INCLUDES Glib_INCLUDE_DIR GlibConfig_INCLUDE_DIR)
+set(Glib_PROCESS_LIBS Glib_LIBRARY)
+libfind_process(Glib)
+
+
diff --git a/cmake/Modules/FindGlibmm.cmake b/cmake/Modules/FindGlibmm.cmake
new file mode 100644 (file)
index 0000000..c0089cc
--- /dev/null
@@ -0,0 +1,39 @@
+# - Try to find Glibmm-2.4
+# Once done, this will define
+#
+#  Glibmm_FOUND - system has Glibmm
+#  Glibmm_INCLUDE_DIRS - the Glibmm include directories
+#  Glibmm_LIBRARIES - link these to use Glibmm
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(Glibmm Glib)
+libfind_package(Glibmm SigC++)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Glibmm_PKGCONF glibmm-2.4)
+
+# Main include dir
+find_path(Glibmm_INCLUDE_DIR
+  NAMES glibmm/main.h
+  HINTS ${Glibmm_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES glibmm-2.4
+)
+
+# Glib-related libraries also use a separate config header, which is in lib dir
+find_path(GlibmmConfig_INCLUDE_DIR
+  NAMES glibmmconfig.h
+  HINTS ${Glibmm_PKGCONF_INCLUDE_DIRS} /usr
+  PATH_SUFFIXES lib/glibmm-2.4/include ../lib/glibmm-2.4/include
+)
+
+# Finally the library itself
+find_library(Glibmm_LIBRARY
+  NAMES glibmm-2.4
+  HINTS ${Glibmm_PKGCONF_LIBRARY_DIRS}
+)
+
+set(Glibmm_PROCESS_INCLUDES GlibmmConfig_INCLUDE_DIR)
+libfind_process(Glibmm)
+
diff --git a/cmake/Modules/FindICU.cmake b/cmake/Modules/FindICU.cmake
new file mode 100644 (file)
index 0000000..7dbc02c
--- /dev/null
@@ -0,0 +1,352 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindICU
+# -------
+#
+# Find the International Components for Unicode (ICU) libraries and
+# programs.
+#
+# This module supports multiple components.
+# Components can include any of: ``data``, ``i18n``, ``io``, ``le``,
+# ``lx``, ``test``, ``tu`` and ``uc``.
+#
+# Note that on Windows ``data`` is named ``dt`` and ``i18n`` is named
+# ``in``; any of the names may be used, and the appropriate
+# platform-specific library name will be automatically selected.
+#
+# This module reports information about the ICU installation in
+# several variables.  General variables::
+#
+#   ICU_VERSION - ICU release version
+#   ICU_FOUND - true if the main programs and libraries were found
+#   ICU_LIBRARIES - component libraries to be linked
+#   ICU_INCLUDE_DIRS - the directories containing the ICU headers
+#
+# Imported targets::
+#
+#   ICU::<C>
+#
+# Where ``<C>`` is the name of an ICU component, for example
+# ``ICU::i18n``.
+#
+# ICU programs are reported in::
+#
+#   ICU_GENCNVAL_EXECUTABLE - path to gencnval executable
+#   ICU_ICUINFO_EXECUTABLE - path to icuinfo executable
+#   ICU_GENBRK_EXECUTABLE - path to genbrk executable
+#   ICU_ICU-CONFIG_EXECUTABLE - path to icu-config executable
+#   ICU_GENRB_EXECUTABLE - path to genrb executable
+#   ICU_GENDICT_EXECUTABLE - path to gendict executable
+#   ICU_DERB_EXECUTABLE - path to derb executable
+#   ICU_PKGDATA_EXECUTABLE - path to pkgdata executable
+#   ICU_UCONV_EXECUTABLE - path to uconv executable
+#   ICU_GENCFU_EXECUTABLE - path to gencfu executable
+#   ICU_MAKECONV_EXECUTABLE - path to makeconv executable
+#   ICU_GENNORM2_EXECUTABLE - path to gennorm2 executable
+#   ICU_GENCCODE_EXECUTABLE - path to genccode executable
+#   ICU_GENSPREP_EXECUTABLE - path to gensprep executable
+#   ICU_ICUPKG_EXECUTABLE - path to icupkg executable
+#   ICU_GENCMN_EXECUTABLE - path to gencmn executable
+#
+# ICU component libraries are reported in::
+#
+#   ICU_<C>_FOUND - ON if component was found
+#   ICU_<C>_LIBRARIES - libraries for component
+#
+# Note that ``<C>`` is the uppercased name of the component.
+#
+# This module reads hints about search results from::
+#
+#   ICU_ROOT - the root of the ICU installation
+#
+# The environment variable ``ICU_ROOT`` may also be used; the
+# ICU_ROOT variable takes precedence.
+#
+# The following cache variables may also be set::
+#
+#   ICU_<P>_EXECUTABLE - the path to executable <P>
+#   ICU_INCLUDE_DIR - the directory containing the ICU headers
+#   ICU_<C>_LIBRARY - the library for component <C>
+#
+# .. note::
+#
+#   In most cases none of the above variables will require setting,
+#   unless multiple ICU versions are available and a specific version
+#   is required.
+#
+# Other variables one may set to control this module are::
+#
+#   ICU_DEBUG - Set to ON to enable debug output from FindICU.
+
+# Written by Roger Leigh <rleigh@codelibre.net>
+
+set(icu_programs
+  gencnval
+  icuinfo
+  genbrk
+  icu-config
+  genrb
+  gendict
+  derb
+  pkgdata
+  uconv
+  gencfu
+  makeconv
+  gennorm2
+  genccode
+  gensprep
+  icupkg
+  gencmn)
+
+# The ICU checks are contained in a function due to the large number
+# of temporary variables needed.
+function(_ICU_FIND)
+  # Set up search paths, taking compiler into account.  Search ICU_ROOT,
+  # with ICU_ROOT in the environment as a fallback if unset.
+  if(ICU_ROOT)
+    list(APPEND icu_roots "${ICU_ROOT}")
+  else()
+    if(NOT "$ENV{ICU_ROOT}" STREQUAL "")
+      file(TO_CMAKE_PATH "$ENV{ICU_ROOT}" NATIVE_PATH)
+      list(APPEND icu_roots "${NATIVE_PATH}")
+      set(ICU_ROOT "${NATIVE_PATH}"
+          CACHE PATH "Location of the ICU installation" FORCE)
+    endif()
+  endif()
+  # Try also MacOS homebrew install path
+  list(APPEND icu_roots "/usr/local/opt/icu4c")
+  
+  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+    # 64-bit binary directory
+    set(_bin64 "bin64")
+    # 64-bit library directory
+    set(_lib64 "lib64")
+  endif()
+
+  # Generic 64-bit and 32-bit directories
+  list(APPEND icu_binary_suffixes "${_bin64}" "bin")
+  list(APPEND icu_library_suffixes "${_lib64}" "lib")
+  list(APPEND icu_include_suffixes "include")
+
+  # Find all ICU programs
+  foreach(program ${icu_programs})
+    string(TOUPPER "${program}" program_upcase)
+    set(cache_var "ICU_${program_upcase}_EXECUTABLE")
+    set(program_var "ICU_${program_upcase}_EXECUTABLE")
+    find_program("${cache_var}" "${program}"
+      HINTS ${icu_roots}
+      PATH_SUFFIXES ${icu_binary_suffixes}
+      DOC "ICU ${program} executable")
+    mark_as_advanced(cache_var)
+    set("${program_var}" "${${cache_var}}" PARENT_SCOPE)
+  endforeach()
+
+  # Find include directory
+  find_path(ICU_INCLUDE_DIR
+            NAMES "unicode/utypes.h"
+            HINTS ${icu_roots}
+            PATH_SUFFIXES ${icu_include_suffixes}
+            DOC "ICU include directory")
+  set(ICU_INCLUDE_DIR "${ICU_INCLUDE_DIR}" PARENT_SCOPE)
+
+  # Get version
+  if(ICU_INCLUDE_DIR AND EXISTS "${ICU_INCLUDE_DIR}/unicode/uvernum.h")
+    file(STRINGS "${ICU_INCLUDE_DIR}/unicode/uvernum.h" icu_header_str
+      REGEX "^#define[\t ]+U_ICU_VERSION[\t ]+\".*\".*")
+
+    string(REGEX REPLACE "^#define[\t ]+U_ICU_VERSION[\t ]+\"([^ \\n]*)\".*"
+      "\\1" icu_version_string "${icu_header_str}")
+    set(ICU_VERSION "${icu_version_string}" PARENT_SCOPE)
+    unset(icu_header_str)
+    unset(icu_version_string)
+  endif()
+
+  # Find all ICU libraries
+  set(ICU_REQUIRED_LIBS_FOUND ON)
+  foreach(component ${ICU_FIND_COMPONENTS})
+    string(TOUPPER "${component}" component_upcase)
+    set(component_cache "ICU_${component_upcase}_LIBRARY")
+    set(component_cache_release "${component_cache}_RELEASE")
+    set(component_cache_debug "${component_cache}_DEBUG")
+    set(component_found "${component_upcase}_FOUND")
+    set(component_libnames "icu${component}")
+    set(component_debug_libnames "icu${component}d")
+
+    # Special case deliberate library naming mismatches between Unix
+    # and Windows builds
+    unset(component_libnames)
+    unset(component_debug_libnames)
+    list(APPEND component_libnames "icu${component}")
+    list(APPEND component_debug_libnames "icu${component}d")
+    if(component STREQUAL "data")
+      list(APPEND component_libnames "icudt")
+      # Note there is no debug variant at present
+      list(APPEND component_debug_libnames "icudtd")
+    endif()
+    if(component STREQUAL "dt")
+      list(APPEND component_libnames "icudata")
+      # Note there is no debug variant at present
+      list(APPEND component_debug_libnames "icudatad")
+    endif()
+    if(component STREQUAL "i18n")
+      list(APPEND component_libnames "icuin")
+      list(APPEND component_debug_libnames "icuind")
+    endif()
+    if(component STREQUAL "in")
+      list(APPEND component_libnames "icui18n")
+      list(APPEND component_debug_libnames "icui18nd")
+    endif()
+
+    find_library("${component_cache_release}" ${component_libnames}
+      HINTS ${icu_roots}
+      PATH_SUFFIXES ${icu_library_suffixes}
+      DOC "ICU ${component} library (release)")
+    find_library("${component_cache_debug}" ${component_debug_libnames}
+      HINTS ${icu_roots}
+      PATH_SUFFIXES ${icu_library_suffixes}
+      DOC "ICU ${component} library (debug)")
+    include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+    select_library_configurations(ICU_${component_upcase})
+    mark_as_advanced("${component_cache_release}" "${component_cache_debug}")
+    if(${component_cache})
+      set("${component_found}" ON)
+      list(APPEND ICU_LIBRARY "${${component_cache}}")
+    endif()
+    mark_as_advanced("${component_found}")
+    set("${component_cache}" "${${component_cache}}" PARENT_SCOPE)
+    set("${component_found}" "${${component_found}}" PARENT_SCOPE)
+    if(${component_found})
+      if (ICU_FIND_REQUIRED_${component})
+        list(APPEND ICU_LIBS_FOUND "${component} (required)")
+      else()
+        list(APPEND ICU_LIBS_FOUND "${component} (optional)")
+      endif()
+    else()
+      if (ICU_FIND_REQUIRED_${component})
+        set(ICU_REQUIRED_LIBS_FOUND OFF)
+        list(APPEND ICU_LIBS_NOTFOUND "${component} (required)")
+      else()
+        list(APPEND ICU_LIBS_NOTFOUND "${component} (optional)")
+      endif()
+    endif()
+  endforeach()
+  set(_ICU_REQUIRED_LIBS_FOUND "${ICU_REQUIRED_LIBS_FOUND}" PARENT_SCOPE)
+  set(ICU_LIBRARY "${ICU_LIBRARY}" PARENT_SCOPE)
+
+  if(NOT ICU_FIND_QUIETLY)
+    if(ICU_LIBS_FOUND)
+      message(STATUS "Found the following ICU libraries:")
+      foreach(found ${ICU_LIBS_FOUND})
+        message(STATUS "  ${found}")
+      endforeach()
+    endif()
+    if(ICU_LIBS_NOTFOUND)
+      message(STATUS "The following ICU libraries were not found:")
+      foreach(notfound ${ICU_LIBS_NOTFOUND})
+        message(STATUS "  ${notfound}")
+      endforeach()
+    endif()
+  endif()
+
+  if(ICU_DEBUG)
+    message(STATUS "--------FindICU.cmake search debug--------")
+    message(STATUS "ICU binary path search order: ${icu_roots}")
+    message(STATUS "ICU include path search order: ${icu_roots}")
+    message(STATUS "ICU library path search order: ${icu_roots}")
+    message(STATUS "----------------")
+  endif()
+endfunction()
+
+_ICU_FIND()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ICU
+                                  FOUND_VAR ICU_FOUND
+                                  REQUIRED_VARS ICU_INCLUDE_DIR
+                                                ICU_LIBRARY
+                                                _ICU_REQUIRED_LIBS_FOUND
+                                  VERSION_VAR ICU_VERSION
+                                  FAIL_MESSAGE "Failed to find all ICU components")
+
+unset(_ICU_REQUIRED_LIBS_FOUND)
+
+if(ICU_FOUND)
+  set(ICU_INCLUDE_DIRS "${ICU_INCLUDE_DIR}")
+  set(ICU_LIBRARIES "${ICU_LIBRARY}")
+  foreach(_ICU_component ${ICU_FIND_COMPONENTS})
+    string(TOUPPER "${_ICU_component}" _ICU_component_upcase)
+    set(_ICU_component_cache "ICU_${_ICU_component_upcase}_LIBRARY")
+    set(_ICU_component_cache_release "ICU_${_ICU_component_upcase}_LIBRARY_RELEASE")
+    set(_ICU_component_cache_debug "ICU_${_ICU_component_upcase}_LIBRARY_DEBUG")
+    set(_ICU_component_lib "ICU_${_ICU_component_upcase}_LIBRARIES")
+    set(_ICU_component_found "${_ICU_component_upcase}_FOUND")
+    set(_ICU_imported_target "ICU::${_ICU_component}")
+    if(${_ICU_component_found})
+      set("${_ICU_component_lib}" "${${_ICU_component_cache}}")
+      if(NOT TARGET ${_ICU_imported_target})
+        add_library(${_ICU_imported_target} UNKNOWN IMPORTED)
+        if(ICU_INCLUDE_DIR)
+          set_target_properties(${_ICU_imported_target} PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${ICU_INCLUDE_DIR}")
+        endif()
+        if(EXISTS "${${_ICU_component_cache}}")
+          set_target_properties(${_ICU_imported_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+            IMPORTED_LOCATION "${${_ICU_component_cache}}")
+        endif()
+        if(EXISTS "${${_ICU_component_cache_release}}")
+          set_property(TARGET ${_ICU_imported_target} APPEND PROPERTY
+            IMPORTED_CONFIGURATIONS RELEASE)
+          set_target_properties(${_ICU_imported_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+            IMPORTED_LOCATION_RELEASE "${${_ICU_component_cache_release}}")
+        endif()
+        if(EXISTS "${${_ICU_component_cache_debug}}")
+          set_property(TARGET ${_ICU_imported_target} APPEND PROPERTY
+            IMPORTED_CONFIGURATIONS DEBUG)
+          set_target_properties(${_ICU_imported_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+            IMPORTED_LOCATION_DEBUG "${${_ICU_component_cache_debug}}")
+        endif()
+      endif()
+    endif()
+    unset(_ICU_component_upcase)
+    unset(_ICU_component_cache)
+    unset(_ICU_component_lib)
+    unset(_ICU_component_found)
+    unset(_ICU_imported_target)
+  endforeach()
+endif()
+
+if(ICU_DEBUG)
+  message(STATUS "--------FindICU.cmake results debug--------")
+  message(STATUS "ICU found: ${ICU_FOUND}")
+  message(STATUS "ICU_VERSION number: ${ICU_VERSION}")
+  message(STATUS "ICU_ROOT directory: ${ICU_ROOT}")
+  message(STATUS "ICU_INCLUDE_DIR directory: ${ICU_INCLUDE_DIR}")
+  message(STATUS "ICU_LIBRARIES: ${ICU_LIBRARIES}")
+
+  foreach(program IN LISTS icu_programs)
+    string(TOUPPER "${program}" program_upcase)
+    set(program_lib "ICU_${program_upcase}_EXECUTABLE")
+    message(STATUS "${program} program: ${${program_lib}}")
+    unset(program_upcase)
+    unset(program_lib)
+  endforeach()
+
+  foreach(component IN LISTS ICU_FIND_COMPONENTS)
+    string(TOUPPER "${component}" component_upcase)
+    set(component_lib "ICU_${component_upcase}_LIBRARIES")
+    set(component_found "${component_upcase}_FOUND")
+    message(STATUS "${component} library found: ${${component_found}}")
+    message(STATUS "${component} library: ${${component_lib}}")
+    unset(component_upcase)
+    unset(component_lib)
+    unset(component_found)
+  endforeach()
+  message(STATUS "----------------")
+endif()
+
+unset(icu_programs)
diff --git a/cmake/Modules/FindJack.cmake b/cmake/Modules/FindJack.cmake
new file mode 100644 (file)
index 0000000..110ed9a
--- /dev/null
@@ -0,0 +1,28 @@
+# - Try to find Jack
+# Once done, this will define
+#
+#  Jack_FOUND - system has Jack
+#  Jack_INCLUDE_DIRS - the Jack include directories
+#  Jack_LIBRARIES - link these to use Jack
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(Jack_PKGCONF jack)
+
+find_path(Jack_INCLUDE_DIR
+  NAMES jack/jack.h
+  HINTS ${Jack_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(Jack_LIBRARY
+  NAMES jack
+  HINTS ${Jack_PKGCONF_LIBRARY_DIRS}
+)
+
+set(Jack_PROCESS_INCLUDES Jack_INCLUDE_DIR)
+set(Jack_PROCESS_LIBS Jack_LIBRARY)
+libfind_process(Jack)
+
diff --git a/cmake/Modules/FindJpeg.cmake b/cmake/Modules/FindJpeg.cmake
new file mode 100644 (file)
index 0000000..2d3ecbc
--- /dev/null
@@ -0,0 +1,28 @@
+# - Try to find Jpeg
+# Once done, this will define
+#
+#  Jpeg_FOUND - system has Jpeg
+#  Jpeg_INCLUDE_DIRS - the Jpeg include directories
+#  Jpeg_LIBRARIES - link these to use Jpeg
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(Jpeg_PKGCONF jpeg)
+
+find_path(Jpeg_INCLUDE_DIR
+  NAMES jconfig.h jpeglib.h
+  HINTS ${Jpeg_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(Jpeg_LIBRARY
+  NAMES jpeg
+  HINTS ${Jpeg_PKGCONF_LIBRARY_DIRS}
+)
+
+set(Jpeg_PROCESS_INCLUDES Jpeg_INCLUDE_DIR)
+set(Jpeg_PROCESS_LIBS Jpeg_LIBRARY)
+libfind_process(Jpeg)
+
diff --git a/cmake/Modules/FindLibEpoxy.cmake b/cmake/Modules/FindLibEpoxy.cmake
new file mode 100644 (file)
index 0000000..110f420
--- /dev/null
@@ -0,0 +1,30 @@
+# - Try to find LibEpoxy
+# Once done, this will define
+#
+#  LibEpoxy_FOUND - system has LibEpoxy
+#  LibEpoxy_INCLUDE_DIRS - the LibEpoxy include directories
+#  LibEpoxy_LIBRARIES - link these to use LibEpoxy
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(LibEpoxy_PKGCONF epoxy)
+
+find_path(LibEpoxy_INCLUDE_DIR
+  NAMES epoxy/gl.h
+  HINTS ${LibEpoxy_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES LibEpoxy
+)
+
+find_library(LibEpoxy_LIBRARY
+  NAMES epoxy
+  HINTS ${LibEpoxy_PKGCONF_LIBRARY_DIRS}
+)
+
+set(LibEpoxy_PROCESS_INCLUDES LibEpoxy_INCLUDE_DIR)
+set(LibEpoxy_PROCESS_LIBS LibEpoxy_LIBRARY)
+set(LibEpoxy_VERSION ${LibEpoxy_PKGCONF_VERSION})
+libfind_process(LibEpoxy)
+
diff --git a/cmake/Modules/FindLibPulse.cmake b/cmake/Modules/FindLibPulse.cmake
new file mode 100644 (file)
index 0000000..6e06202
--- /dev/null
@@ -0,0 +1,28 @@
+# - Try to find LibPulse
+# Once done, this will define
+#
+#  LibPulse_FOUND - system has LibPulse
+#  LibPulse_INCLUDE_DIRS - the LibPulse include directories
+#  LibPulse_LIBRARIES - link these to use LibPulse
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(LibPulse_PKGCONF libpulse)
+
+find_path(LibPulse_INCLUDE_DIR
+  NAMES pulse/pulseaudio.h
+  HINTS ${LibPulse_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(LibPulse_LIBRARY
+  NAMES pulse
+  HINTS ${LibPulse_PKGCONF_LIBRARY_DIRS}
+)
+
+set(LibPulse_PROCESS_INCLUDES LibPulse_INCLUDE_DIR)
+set(LibPulse_PROCESS_LIBS LibPulse_LIBRARY)
+libfind_process(LibPulse)
+
diff --git a/cmake/Modules/FindLibPulseSimple.cmake b/cmake/Modules/FindLibPulseSimple.cmake
new file mode 100644 (file)
index 0000000..25b5ac7
--- /dev/null
@@ -0,0 +1,28 @@
+# - Try to find LibPulseSimple
+# Once done, this will define
+#
+#  LibPulseSimple_FOUND - system has LibPulseSimple
+#  LibPulseSimple_INCLUDE_DIRS - the LibPulseSimple include directories
+#  LibPulseSimple_LIBRARIES - link these to use LibPulseSimple
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(LibPulseSimple_PKGCONF libpulse-simple)
+
+find_path(LibPulseSimple_INCLUDE_DIR
+  NAMES pulse/simple.h
+  HINTS ${LibPulseSimple_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(LibPulseSimple_LIBRARY
+  NAMES pulse-simple
+  HINTS ${LibPulseSimple_PKGCONF_LIBRARY_DIRS}
+)
+
+set(LibPulseSimple_PROCESS_INCLUDES LibPulseSimple_INCLUDE_DIR)
+set(LibPulseSimple_PROCESS_LIBS LibPulseSimple_LIBRARY)
+libfind_process(LibPulseSimple)
+
diff --git a/cmake/Modules/FindLibRSVG.cmake b/cmake/Modules/FindLibRSVG.cmake
new file mode 100644 (file)
index 0000000..1a9698e
--- /dev/null
@@ -0,0 +1,16 @@
+# - Try to find LibRSVG
+# Once done, this will define
+#
+#  LibRSVG_FOUND - system has LibRSVG
+#  LibRSVG_INCLUDE_DIRS - the LibRSVG include directories
+#  LibRSVG_LIBRARIES - link these to use LibRSVG
+
+include(LibFindMacros)
+libfind_package(LibRSVG Cairo)
+libfind_package(LibRSVG GDK-PixBuf)
+libfind_pkg_detect(LibRSVG librsvg-2.0
+  FIND_PATH librsvg/rsvg.h PATH_SUFFIXES librsvg-2
+  FIND_LIBRARY rsvg-2
+)
+libfind_process(LibRSVG)
+
diff --git a/cmake/Modules/FindLibXML++.cmake b/cmake/Modules/FindLibXML++.cmake
new file mode 100644 (file)
index 0000000..5258a78
--- /dev/null
@@ -0,0 +1,56 @@
+# - Try to find LibXML++ 3.0 or 2.6 (defaulting)
+# Once done, this will define
+#
+#  LibXML++_FOUND - system has LibXML++
+#  LibXML++_INCLUDE_DIRS - the LibXML++ include directories
+#  LibXML++_LIBRARIES - link these to use LibXML++
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(LibXML++ LibXML2)
+libfind_package(LibXML++ Glibmm)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(LibXML++_PKGCONF_3_0 libxml++-3.0)
+
+if(LibXML++_PKGCONF_3_0_FOUND)
+  set(LibXML++_VERSION "3.0")
+  set(LibXML++_VERSION_2_6 "0")
+  set(LibXML++_VERSION_3_0 "1")
+  set(LibXML++_PKGCONF_INCLUDE_DIRS ${LibXML++_PKGCONF_3_0_INCLUDE_DIRS})
+  set(LibXML++_PKGCONF_LIBRARY_DIRS ${LibXML++_PKGCONF_3_0_LIBRARY_DIRS})
+else(LixXML++_PKGCONF_3_0_FOUND)
+  libfind_pkg_check_modules(LibXML++_PKGCONF_2_6 libxml++-2.6)
+  if(LibXML++_PKGCONF_2_6_FOUND)
+    set(LibXML++_VERSION "2.6")
+    set(LibXML++_VERSION_2_6 "1")
+    set(LibXML++_VERSION_3_0 "0")
+    set(LibXML++_PKGCONF_INCLUDE_DIRS ${LibXML++_PKGCONF_2_6_INCLUDE_DIRS})
+    set(LibXML++_PKGCONF_LIBRARY_DIRS ${LibXML++_PKGCONF_2_6_LIBRARY_DIRS})
+  endif(LibXML++_PKGCONF_2_6_FOUND)
+endif(LibXML++_PKGCONF_3_0_FOUND)
+
+# Main include dir
+find_path(LibXML++_INCLUDE_DIR
+  NAMES libxml++/libxml++.h
+  HINTS ${LibXML++_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES libxml++-${LibXML++_VERSION}
+)
+
+# Glib-related libraries also use a separate config header, which is in lib dir
+find_path(LibXML++Config_INCLUDE_DIR
+  NAMES libxml++config.h
+  HINTS ${LibXML++_PKGCONF_INCLUDE_DIRS} /usr /usr/lib/x86_64-linux-gnu/libxml++-${LibXML++_VERSION}/include/
+  PATH_SUFFIXES lib/libxml++-${LibXML++_VERSION}/include ../lib/libxml++-${LibXML++_VERSION}/include
+)
+
+# Finally the library itself
+find_library(LibXML++_LIBRARY
+  NAMES xml++-${LibXML++_VERSION}
+  HINTS ${LibXML++_PKGCONF_LIBRARY_DIRS}
+)
+
+set(LibXML++_PROCESS_INCLUDES LibXML++Config_INCLUDE_DIR)
+libfind_process(LibXML++)
+
diff --git a/cmake/Modules/FindLibXML2.cmake b/cmake/Modules/FindLibXML2.cmake
new file mode 100644 (file)
index 0000000..5abd0bb
--- /dev/null
@@ -0,0 +1,30 @@
+# - Try to find LibXML2
+# Once done, this will define
+#
+#  LibXML2_FOUND - system has LibXML2
+#  LibXML2_INCLUDE_DIRS - the LibXML2 include directories
+#  LibXML2_LIBRARIES - link these to use LibXML2
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(LibXML2_PKGCONF libxml-2.0)
+
+find_path(LibXML2_INCLUDE_DIR
+  NAMES libxml/xpath.h
+  HINTS ${LibXML2_PKGCONF_INCLUDE_DIRS}
+  HINTS ${LibXML2_PKGCONF_INCLUDE_DIRS}/libxml2
+  PATH_SUFFIXES libxml2
+)
+
+find_library(LibXML2_LIBRARY
+  NAMES xml2
+  HINTS ${LibXML2_PKGCONF_LIBRARY_DIRS}
+)
+
+set(LibXML2_PROCESS_INCLUDES LibXML2_INCLUDE_DIR)
+set(LibXML2_PROCESS_LIBS LibXML2_LIBRARY)
+libfind_process(LibXML2)
+
diff --git a/cmake/Modules/FindMagick++.cmake b/cmake/Modules/FindMagick++.cmake
new file mode 100644 (file)
index 0000000..e663e89
--- /dev/null
@@ -0,0 +1,30 @@
+# - Try to find ImageMagick++
+# Once done, this will define
+#
+#  Magick++_FOUND - system has Magick++
+#  Magick++_INCLUDE_DIRS - the Magick++ include directories
+#  Magick++_LIBRARIES - link these to use Magick++
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(Magick++ Magick)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Magick++_PKGCONF ImageMagick++)
+
+# Include dir
+find_path(Magick++_INCLUDE_DIR
+  NAMES Magick++.h
+  HINTS ${Magick++_PKGCONF_INCLUDE_DIRS}
+)
+
+# Finally the library itself
+find_library(Magick++_LIBRARY
+  NAMES Magick++ CORE_RL_magick++_
+  HINTS ${Magick++_PKGCONF_LIBRARY_DIRS}
+)
+
+# Process Magick++, depends on Magick
+libfind_process(Magick++ Magick)
+
diff --git a/cmake/Modules/FindMagick.cmake b/cmake/Modules/FindMagick.cmake
new file mode 100644 (file)
index 0000000..2915e72
--- /dev/null
@@ -0,0 +1,35 @@
+# - Try to find ImageMagick
+# Once done, this will define
+#
+#  Magick_FOUND - system has Magick
+#  Magick_INCLUDE_DIRS - the Magick include directories
+#  Magick_LIBRARIES - link these to use Magick
+
+include(LibFindMacros)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Magick_PKGCONF ImageMagick)
+
+# Include dir
+find_path(Magick_INCLUDE_DIR
+  NAMES magick/magick.h
+  HINTS ${Magick_PKGCONF_INCLUDE_DIRS}
+)
+
+# Finally the library itself
+find_library(Magick_LIBRARY
+  NAMES Magick MagickCore CORE_RL_magick_
+  HINTS ${Magick_PKGCONF_LIBRARY_DIRS}
+)
+
+if(MINGW)
+  find_library(MagickWand_LIBRARY
+    NAMES MagickWand
+    HINTS ${Magick_PKGCONF_LIBRARY_DIRS}
+  )
+  set(Magick_PROCESS_LIBS MagickWand_LIBRARY)
+endif(MINGW)
+
+libfind_version_header(Magick magick/version.h MagickLibVersionText)
+libfind_process(Magick)
+
diff --git a/cmake/Modules/FindOpenGL.cmake b/cmake/Modules/FindOpenGL.cmake
new file mode 100644 (file)
index 0000000..5cc8c98
--- /dev/null
@@ -0,0 +1,44 @@
+# - Try to find OpenGL
+# Once done, this will define
+#
+#  OpenGL_FOUND - system has OpenGL (GL and GLU)
+#  OpenGL_INCLUDE_DIRS - the OpenGL include directories
+#  OpenGL_LIBRARIES - link these to use OpenGL
+#  OpenGL_GL_LIBRARY - only GL
+#  OpenGL_GLU_LIBRARY - only GLU
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(OpenGL_PKGCONF gl)
+
+find_path(OpenGL_INCLUDE_DIR
+  NAMES GL/gl.h
+  HINTS ${OpenGL_PKGCONF_INCLUDE_DIRS}
+)
+
+if(MSVC) #In MSVC, no need to link, just this hack to get CMake happy
+  find_file(OpenGL_GL_LIBRARY
+    opengl32.dll
+  )
+
+  find_file(OpenGL_GLU_LIBRARY
+    glu32.dll
+  )
+else()
+  find_library(OpenGL_GL_LIBRARY
+    NAMES GL libopengl32.a opengl32
+    HINTS ${OpenGL_PKGCONF_LIBRARY_DIRS}
+  )
+
+  find_library(OpenGL_GLU_LIBRARY
+    NAMES GLU libglu32.a glu32
+    HINTS ${OpenGL_PKGCONF_LIBRARY_DIRS}
+  )
+endif(MSVC)
+set(OpenGL_PROCESS_INCLUDES OpenGL_INCLUDE_DIR)
+set(OpenGL_PROCESS_LIBS OpenGL_GL_LIBRARY OpenGL_GLU_LIBRARY)
+libfind_process(OpenGL)
+
diff --git a/cmake/Modules/FindPThread.cmake b/cmake/Modules/FindPThread.cmake
new file mode 100644 (file)
index 0000000..892c837
--- /dev/null
@@ -0,0 +1,21 @@
+# - Try to find PThread
+# Once done, this will define
+#
+#  PThread_FOUND - system has PThread
+#  PThread_LIBRARIES - link these to use PThread
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(Png_PKGCONF PThread)
+
+find_library(PThread_LIBRARY
+  NAMES pthreadGC2
+  HINTS ${PThread_PKGCONF_LIBRARY_DIRS}
+)
+
+set(PThread_PROCESS_LIBS PThread_LIBRARY)
+libfind_process(PThread)
+
diff --git a/cmake/Modules/FindPackageHandleStandardArgs.cmake b/cmake/Modules/FindPackageHandleStandardArgs.cmake
new file mode 100644 (file)
index 0000000..b851a90
--- /dev/null
@@ -0,0 +1,385 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindPackageHandleStandardArgs
+-----------------------------
+
+This module provides a function intended to be used in :ref:`Find Modules`
+implementing :command:`find_package(<PackageName>)` calls.  It handles the
+``REQUIRED``, ``QUIET`` and version-related arguments of ``find_package``.
+It also sets the ``<PackageName>_FOUND`` variable.  The package is
+considered found if all variables listed contain valid results, e.g.
+valid filepaths.
+
+.. command:: find_package_handle_standard_args
+
+  There are two signatures::
+
+    find_package_handle_standard_args(<PackageName>
+      (DEFAULT_MSG|<custom-failure-message>)
+      <required-var>...
+      )
+
+    find_package_handle_standard_args(<PackageName>
+      [FOUND_VAR <result-var>]
+      [REQUIRED_VARS <required-var>...]
+      [VERSION_VAR <version-var>]
+      [HANDLE_COMPONENTS]
+      [CONFIG_MODE]
+      [FAIL_MESSAGE <custom-failure-message>]
+      )
+
+  The ``<PackageName>_FOUND`` variable will be set to ``TRUE`` if all
+  the variables ``<required-var>...`` are valid and any optional
+  constraints are satisfied, and ``FALSE`` otherwise.  A success or
+  failure message may be displayed based on the results and on
+  whether the ``REQUIRED`` and/or ``QUIET`` option was given to
+  the :command:`find_package` call.
+
+  The options are:
+
+  ``(DEFAULT_MSG|<custom-failure-message>)``
+    In the simple signature this specifies the failure message.
+    Use ``DEFAULT_MSG`` to ask for a default message to be computed
+    (recommended).  Not valid in the full signature.
+
+  ``FOUND_VAR <result-var>``
+    Obsolete.  Specifies either ``<PackageName>_FOUND`` or
+    ``<PACKAGENAME>_FOUND`` as the result variable.  This exists only
+    for compatibility with older versions of CMake and is now ignored.
+    Result variables of both names are always set for compatibility.
+
+  ``REQUIRED_VARS <required-var>...``
+    Specify the variables which are required for this package.
+    These may be named in the generated failure message asking the
+    user to set the missing variable values.  Therefore these should
+    typically be cache entries such as ``FOO_LIBRARY`` and not output
+    variables like ``FOO_LIBRARIES``.
+
+  ``VERSION_VAR <version-var>``
+    Specify the name of a variable that holds the version of the package
+    that has been found.  This version will be checked against the
+    (potentially) specified required version given to the
+    :command:`find_package` call, including its ``EXACT`` option.
+    The default messages include information about the required
+    version and the version which has been actually found, both
+    if the version is ok or not.
+
+  ``HANDLE_COMPONENTS``
+    Enable handling of package components.  In this case, the command
+    will report which components have been found and which are missing,
+    and the ``<PackageName>_FOUND`` variable will be set to ``FALSE``
+    if any of the required components (i.e. not the ones listed after
+    the ``OPTIONAL_COMPONENTS`` option of :command:`find_package`) are
+    missing.
+
+  ``CONFIG_MODE``
+    Specify that the calling find module is a wrapper around a
+    call to ``find_package(<PackageName> NO_MODULE)``.  This implies
+    a ``VERSION_VAR`` value of ``<PackageName>_VERSION``.  The command
+    will automatically check whether the package configuration file
+    was found.
+
+  ``FAIL_MESSAGE <custom-failure-message>``
+    Specify a custom failure message instead of using the default
+    generated message.  Not recommended.
+
+Example for the simple signature:
+
+.. code-block:: cmake
+
+  find_package_handle_standard_args(LibXml2 DEFAULT_MSG
+    LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
+
+The ``LibXml2`` package is considered to be found if both
+``LIBXML2_LIBRARY`` and ``LIBXML2_INCLUDE_DIR`` are valid.
+Then also ``LibXml2_FOUND`` is set to ``TRUE``.  If it is not found
+and ``REQUIRED`` was used, it fails with a
+:command:`message(FATAL_ERROR)`, independent whether ``QUIET`` was
+used or not.  If it is found, success will be reported, including
+the content of the first ``<required-var>``.  On repeated CMake runs,
+the same message will not be printed again.
+
+Example for the full signature:
+
+.. code-block:: cmake
+
+  find_package_handle_standard_args(LibArchive
+    REQUIRED_VARS LibArchive_LIBRARY LibArchive_INCLUDE_DIR
+    VERSION_VAR LibArchive_VERSION)
+
+In this case, the ``LibArchive`` package is considered to be found if
+both ``LibArchive_LIBRARY`` and ``LibArchive_INCLUDE_DIR`` are valid.
+Also the version of ``LibArchive`` will be checked by using the version
+contained in ``LibArchive_VERSION``.  Since no ``FAIL_MESSAGE`` is given,
+the default messages will be printed.
+
+Another example for the full signature:
+
+.. code-block:: cmake
+
+  find_package(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
+  find_package_handle_standard_args(Automoc4  CONFIG_MODE)
+
+In this case, a ``FindAutmoc4.cmake`` module wraps a call to
+``find_package(Automoc4 NO_MODULE)`` and adds an additional search
+directory for ``automoc4``.  Then the call to
+``find_package_handle_standard_args`` produces a proper success/failure
+message.
+#]=======================================================================]
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageMessage.cmake)
+
+# internal helper macro
+macro(_FPHSA_FAILURE_MESSAGE _msg)
+  if (${_NAME}_FIND_REQUIRED)
+    message(FATAL_ERROR "${_msg}")
+  else ()
+    if (NOT ${_NAME}_FIND_QUIETLY)
+      message(STATUS "${_msg}")
+    endif ()
+  endif ()
+endmacro()
+
+
+# internal helper macro to generate the failure message when used in CONFIG_MODE:
+macro(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
+  # <name>_CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found:
+  if(${_NAME}_CONFIG)
+    _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing:${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})")
+  else()
+    # If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version.
+    # List them all in the error message:
+    if(${_NAME}_CONSIDERED_CONFIGS)
+      set(configsText "")
+      list(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
+      math(EXPR configsCount "${configsCount} - 1")
+      foreach(currentConfigIndex RANGE ${configsCount})
+        list(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename)
+        list(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version)
+        string(APPEND configsText "    ${filename} (version ${version})\n")
+      endforeach()
+      if (${_NAME}_NOT_FOUND_MESSAGE)
+        string(APPEND configsText "    Reason given by package: ${${_NAME}_NOT_FOUND_MESSAGE}\n")
+      endif()
+      _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}")
+
+    else()
+      # Simple case: No Config-file was found at all:
+      _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}")
+    endif()
+  endif()
+endmacro()
+
+
+function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
+
+# set up the arguments for CMAKE_PARSE_ARGUMENTS and check whether we are in
+# new extended or in the "old" mode:
+  set(options  CONFIG_MODE  HANDLE_COMPONENTS)
+  set(oneValueArgs  FAIL_MESSAGE  VERSION_VAR  FOUND_VAR)
+  set(multiValueArgs REQUIRED_VARS)
+  set(_KEYWORDS_FOR_EXTENDED_MODE  ${options} ${oneValueArgs} ${multiValueArgs} )
+  list(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX)
+
+  if(${INDEX} EQUAL -1)
+    set(FPHSA_FAIL_MESSAGE ${_FIRST_ARG})
+    set(FPHSA_REQUIRED_VARS ${ARGN})
+    set(FPHSA_VERSION_VAR)
+  else()
+
+    CMAKE_PARSE_ARGUMENTS(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${_FIRST_ARG} ${ARGN})
+
+    if(FPHSA_UNPARSED_ARGUMENTS)
+      message(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"")
+    endif()
+
+    if(NOT FPHSA_FAIL_MESSAGE)
+      set(FPHSA_FAIL_MESSAGE  "DEFAULT_MSG")
+    endif()
+  endif()
+
+# now that we collected all arguments, process them
+
+  if("x${FPHSA_FAIL_MESSAGE}" STREQUAL "xDEFAULT_MSG")
+    set(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
+  endif()
+
+  # In config-mode, we rely on the variable <package>_CONFIG, which is set by find_package()
+  # when it successfully found the config-file, including version checking:
+  if(FPHSA_CONFIG_MODE)
+    list(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
+    list(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
+    set(FPHSA_VERSION_VAR ${_NAME}_VERSION)
+  endif()
+
+  if(NOT FPHSA_REQUIRED_VARS)
+    message(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()")
+  endif()
+
+  list(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR)
+
+  string(TOUPPER ${_NAME} _NAME_UPPER)
+  string(TOLOWER ${_NAME} _NAME_LOWER)
+
+  if(FPHSA_FOUND_VAR)
+    if(FPHSA_FOUND_VAR MATCHES "^${_NAME}_FOUND$"  OR  FPHSA_FOUND_VAR MATCHES "^${_NAME_UPPER}_FOUND$")
+      set(_FOUND_VAR ${FPHSA_FOUND_VAR})
+    else()
+      message(FATAL_ERROR "The argument for FOUND_VAR is \"${FPHSA_FOUND_VAR}\", but only \"${_NAME}_FOUND\" and \"${_NAME_UPPER}_FOUND\" are valid names.")
+    endif()
+  else()
+    set(_FOUND_VAR ${_NAME_UPPER}_FOUND)
+  endif()
+
+  # collect all variables which were not found, so they can be printed, so the
+  # user knows better what went wrong (#6375)
+  set(MISSING_VARS "")
+  set(DETAILS "")
+  # check if all passed variables are valid
+  set(FPHSA_FOUND_${_NAME} TRUE)
+  foreach(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
+    if(NOT ${_CURRENT_VAR})
+      set(FPHSA_FOUND_${_NAME} FALSE)
+      string(APPEND MISSING_VARS " ${_CURRENT_VAR}")
+    else()
+      string(APPEND DETAILS "[${${_CURRENT_VAR}}]")
+    endif()
+  endforeach()
+  if(FPHSA_FOUND_${_NAME})
+    set(${_NAME}_FOUND TRUE)
+    set(${_NAME_UPPER}_FOUND TRUE)
+  else()
+    set(${_NAME}_FOUND FALSE)
+    set(${_NAME_UPPER}_FOUND FALSE)
+  endif()
+
+  # component handling
+  unset(FOUND_COMPONENTS_MSG)
+  unset(MISSING_COMPONENTS_MSG)
+
+  if(FPHSA_HANDLE_COMPONENTS)
+    foreach(comp ${${_NAME}_FIND_COMPONENTS})
+      if(${_NAME}_${comp}_FOUND)
+
+        if(NOT DEFINED FOUND_COMPONENTS_MSG)
+          set(FOUND_COMPONENTS_MSG "found components: ")
+        endif()
+        string(APPEND FOUND_COMPONENTS_MSG " ${comp}")
+
+      else()
+
+        if(NOT DEFINED MISSING_COMPONENTS_MSG)
+          set(MISSING_COMPONENTS_MSG "missing components: ")
+        endif()
+        string(APPEND MISSING_COMPONENTS_MSG " ${comp}")
+
+        if(${_NAME}_FIND_REQUIRED_${comp})
+          set(${_NAME}_FOUND FALSE)
+          string(APPEND MISSING_VARS " ${comp}")
+        endif()
+
+      endif()
+    endforeach()
+    set(COMPONENT_MSG "${FOUND_COMPONENTS_MSG} ${MISSING_COMPONENTS_MSG}")
+    string(APPEND DETAILS "[c${COMPONENT_MSG}]")
+  endif()
+
+  # version handling:
+  set(VERSION_MSG "")
+  set(VERSION_OK TRUE)
+  set(VERSION ${${FPHSA_VERSION_VAR}})
+
+  # check with DEFINED here as the requested or found version may be "0"
+  if (DEFINED ${_NAME}_FIND_VERSION)
+    if(DEFINED ${FPHSA_VERSION_VAR})
+
+      if(${_NAME}_FIND_VERSION_EXACT)       # exact version required
+        # count the dots in the version string
+        string(REGEX REPLACE "[^.]" "" _VERSION_DOTS "${VERSION}")
+        # add one dot because there is one dot more than there are components
+        string(LENGTH "${_VERSION_DOTS}." _VERSION_DOTS)
+        if (_VERSION_DOTS GREATER ${_NAME}_FIND_VERSION_COUNT)
+          # Because of the C++ implementation of find_package() ${_NAME}_FIND_VERSION_COUNT
+          # is at most 4 here. Therefore a simple lookup table is used.
+          if (${_NAME}_FIND_VERSION_COUNT EQUAL 1)
+            set(_VERSION_REGEX "[^.]*")
+          elseif (${_NAME}_FIND_VERSION_COUNT EQUAL 2)
+            set(_VERSION_REGEX "[^.]*\\.[^.]*")
+          elseif (${_NAME}_FIND_VERSION_COUNT EQUAL 3)
+            set(_VERSION_REGEX "[^.]*\\.[^.]*\\.[^.]*")
+          else ()
+            set(_VERSION_REGEX "[^.]*\\.[^.]*\\.[^.]*\\.[^.]*")
+          endif ()
+          string(REGEX REPLACE "^(${_VERSION_REGEX})\\..*" "\\1" _VERSION_HEAD "${VERSION}")
+          unset(_VERSION_REGEX)
+          if (NOT ${_NAME}_FIND_VERSION VERSION_EQUAL _VERSION_HEAD)
+            set(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
+            set(VERSION_OK FALSE)
+          else ()
+            set(VERSION_MSG "(found suitable exact version \"${VERSION}\")")
+          endif ()
+          unset(_VERSION_HEAD)
+        else ()
+          if (NOT ${_NAME}_FIND_VERSION VERSION_EQUAL VERSION)
+            set(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
+            set(VERSION_OK FALSE)
+          else ()
+            set(VERSION_MSG "(found suitable exact version \"${VERSION}\")")
+          endif ()
+        endif ()
+        unset(_VERSION_DOTS)
+
+      else()     # minimum version specified:
+        if (${_NAME}_FIND_VERSION VERSION_GREATER VERSION)
+          set(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"")
+          set(VERSION_OK FALSE)
+        else ()
+          set(VERSION_MSG "(found suitable version \"${VERSION}\", minimum required is \"${${_NAME}_FIND_VERSION}\")")
+        endif ()
+      endif()
+
+    else()
+
+      # if the package was not found, but a version was given, add that to the output:
+      if(${_NAME}_FIND_VERSION_EXACT)
+         set(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")")
+      else()
+         set(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")")
+      endif()
+
+    endif()
+  else ()
+    if(VERSION)
+      set(VERSION_MSG "(found version \"${VERSION}\")")
+    endif()
+  endif ()
+
+  if(VERSION_OK)
+    string(APPEND DETAILS "[v${VERSION}(${${_NAME}_FIND_VERSION})]")
+  else()
+    set(${_NAME}_FOUND FALSE)
+  endif()
+
+
+  # print the result:
+  if (${_NAME}_FOUND)
+    FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG} ${COMPONENT_MSG}" "${DETAILS}")
+  else ()
+
+    if(FPHSA_CONFIG_MODE)
+      _FPHSA_HANDLE_FAILURE_CONFIG_MODE()
+    else()
+      if(NOT VERSION_OK)
+        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})")
+      else()
+        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing:${MISSING_VARS}) ${VERSION_MSG}")
+      endif()
+    endif()
+
+  endif ()
+
+  set(${_NAME}_FOUND ${${_NAME}_FOUND} PARENT_SCOPE)
+  set(${_NAME_UPPER}_FOUND ${${_NAME}_FOUND} PARENT_SCOPE)
+endfunction()
diff --git a/cmake/Modules/FindPackageMessage.cmake b/cmake/Modules/FindPackageMessage.cmake
new file mode 100644 (file)
index 0000000..6821cee
--- /dev/null
@@ -0,0 +1,47 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPackageMessage
+# ------------------
+#
+#
+#
+# FIND_PACKAGE_MESSAGE(<name> "message for user" "find result details")
+#
+# This macro is intended to be used in FindXXX.cmake modules files.  It
+# will print a message once for each unique find result.  This is useful
+# for telling the user where a package was found.  The first argument
+# specifies the name (XXX) of the package.  The second argument
+# specifies the message to display.  The third argument lists details
+# about the find result so that if they change the message will be
+# displayed again.  The macro also obeys the QUIET argument to the
+# find_package command.
+#
+# Example:
+#
+# ::
+#
+#   if(X11_FOUND)
+#     FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}"
+#       "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]")
+#   else()
+#    ...
+#   endif()
+
+function(FIND_PACKAGE_MESSAGE pkg msg details)
+  # Avoid printing a message repeatedly for the same find result.
+  if(NOT ${pkg}_FIND_QUIETLY)
+    string(REPLACE "\n" "" details "${details}")
+    set(DETAILS_VAR FIND_PACKAGE_MESSAGE_DETAILS_${pkg})
+    if(NOT "${details}" STREQUAL "${${DETAILS_VAR}}")
+      # The message has not yet been printed.
+      message(STATUS "${msg}")
+
+      # Save the find details in the cache to avoid printing the same
+      # message again.
+      set("${DETAILS_VAR}" "${details}"
+        CACHE INTERNAL "Details about finding ${pkg}")
+    endif()
+  endif()
+endfunction()
diff --git a/cmake/Modules/FindPango.cmake b/cmake/Modules/FindPango.cmake
new file mode 100644 (file)
index 0000000..bdddb9e
--- /dev/null
@@ -0,0 +1,32 @@
+# - Try to find Pango
+# Once done, this will define
+#
+#  Pango_FOUND - system has Pango
+#  Pango_INCLUDE_DIRS - the Pango include directories
+#  Pango_LIBRARIES - link these to use Pango
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(Pango Freetype)
+libfind_package(Pango Glib)
+libfind_package(Pango GObject)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Pango_PKGCONF pango)
+
+# Include dir
+find_path(Pango_INCLUDE_DIR
+  NAMES pango/pango.h
+  HINTS ${Pango_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES pango-1.0
+)
+
+# Finally the library itself
+find_library(Pango_LIBRARY
+  NAMES pango-1.0
+  HINTS ${Pango_PKGCONF_LIBRARY_DIRS}
+)
+
+libfind_process(Pango)
+
diff --git a/cmake/Modules/FindPangoCairo.cmake b/cmake/Modules/FindPangoCairo.cmake
new file mode 100644 (file)
index 0000000..a26f83b
--- /dev/null
@@ -0,0 +1,35 @@
+# - Try to find PangoCairo
+# Once done, this will define
+#
+#  PangoCairo_FOUND - system has Pango
+#  PangoCairo_INCLUDE_DIRS - the Pango include directories
+#  PangoCairo_LIBRARIES - link these to use Pango
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(PangoCairo Pango)
+libfind_package(PangoCairo Cairo)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(PangoCairo_PKGCONF pangocairo)
+
+# Include dir
+find_path(PangoCairo_INCLUDE_DIR
+  NAMES pango/pangocairo.h
+  HINTS ${PangoCairo_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES pango-1.0
+)
+
+# Finally the library itself
+find_library(PangoCairo_LIBRARY
+  NAMES pangocairo-1.0
+  HINTS ${PangoCairo_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(PangoCairo_PROCESS_INCLUDES PangoCairo_INCLUDE_DIR Pango_INCLUDE_DIR Cairo_INCLUDE_DIR)
+set(PangoCairo_PROCESS_LIBS PangoCairo_LIBRARY Pango_LIBRARY Cairo_LIBRARY)
+libfind_process(PangoCairo)
+
diff --git a/cmake/Modules/FindPangomm.cmake b/cmake/Modules/FindPangomm.cmake
new file mode 100644 (file)
index 0000000..7aeb678
--- /dev/null
@@ -0,0 +1,36 @@
+# - Try to find Pangomm 1.4
+# Once done, this will define
+#
+#  Pangomm_FOUND - system has Pangomm
+#  Pangomm_INCLUDE_DIRS - the Pangomm include directories
+#  Pangomm_LIBRARIES - link these to use Pangomm
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(Pangomm Pango)
+libfind_package(Pangomm Cairomm)
+libfind_package(Pangomm Glibmm)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Pangomm_PKGCONF pangomm-1.4)
+
+# Main include dir
+find_path(Pangomm_INCLUDE_DIR
+  NAMES pangomm.h
+  HINTS ${Pangomm_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES pangomm-1.4
+)
+
+# Finally the library itself
+find_library(Pangomm_LIBRARY
+  NAMES pangomm-1.4
+  HINTS ${Pangomm_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(Pangomm_PROCESS_INCLUDES Pangomm_INCLUDE_DIR Pango_INCLUDE_DIRS Cairomm_INCLUDE_DIRS Glibmm_INCLUDE_DIRS)
+set(Pangomm_PROCESS_LIBS Pangomm_LIBRARY Pango_LIBRARIES Cairomm_LIBRARIES Glibmm_LIBRARIES)
+libfind_process(Pangomm)
+
diff --git a/cmake/Modules/FindPng.cmake b/cmake/Modules/FindPng.cmake
new file mode 100644 (file)
index 0000000..9944a11
--- /dev/null
@@ -0,0 +1,28 @@
+# - Try to find Png
+# Once done, this will define
+#
+#  Png_FOUND - system has Png
+#  Png_INCLUDE_DIRS - the Png include directories
+#  Png_LIBRARIES - link these to use Png
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(Png_PKGCONF Png)
+
+find_path(Png_INCLUDE_DIR
+  NAMES pngconf.h
+  HINTS ${Png_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(Png_LIBRARY
+  NAMES png png12 png14
+  HINTS ${Png_PKGCONF_LIBRARY_DIRS}
+)
+
+set(Png_PROCESS_INCLUDES Png_INCLUDE_DIR)
+set(Png_PROCESS_LIBS Png_LIBRARY)
+libfind_process(Png)
+
diff --git a/cmake/Modules/FindPortAudio.cmake b/cmake/Modules/FindPortAudio.cmake
new file mode 100644 (file)
index 0000000..01cfe14
--- /dev/null
@@ -0,0 +1,35 @@
+# - Try to find PortAudio
+# Once done, this will define
+#
+#  PortAudio_FOUND - system has PortAudio
+#  PortAudio_INCLUDE_DIRS - the PortAudio include directories
+#  PortAudio_LIBRARIES - link these to use PortAudio
+#  PortAudio_VERSION - detected version of PortAudio
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(PortAudio_PKGCONF portaudio-2.0)
+
+if(PortAudio_PKGCONF_FOUND)
+  set(PortAudio_VERSION 19)
+else(PortAudio_PKGCONF_FOUND)
+  set(PortAudio_VERSION 18)
+endif(PortAudio_PKGCONF_FOUND)
+
+find_path(PortAudio_INCLUDE_DIR
+  NAMES portaudio.h
+  HINTS ${PortAudio_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(PortAudio_LIBRARY
+  NAMES portaudio
+  HINTS ${PortAudio_PKGCONF_LIBRARY_DIRS}
+)
+
+set(PortAudio_PROCESS_INCLUDES PortAudio_INCLUDE_DIR)
+set(PortAudio_PROCESS_LIBS PortAudio_LIBRARY)
+libfind_process(PortAudio)
+
diff --git a/cmake/Modules/FindPortMidi.cmake b/cmake/Modules/FindPortMidi.cmake
new file mode 100644 (file)
index 0000000..ef3fa1f
--- /dev/null
@@ -0,0 +1,28 @@
+# - Try to find PortMidi
+# Once done, this will define
+#
+#  PortMidi_FOUND - system has PortMidi
+#  PortMidi_INCLUDE_DIRS - the PortMidi include directories
+#  PortMidi_LIBRARIES - link these to use PortMidi
+#  PortMidi_VERSION - detected version of PortMidi
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+find_path(PortMidi_INCLUDE_DIR NAMES portmidi.h)
+find_library(PortMidi_LIBRARY NAMES portmidi)
+find_library(PortTime_LIBRARY NAMES porttime)
+
+set(PortMidi_PROCESS_INCLUDES PortMidi_INCLUDE_DIR)
+set(PortMidi_PROCESS_LIBS PortMidi_LIBRARY)
+# Porttime library is merged to Portmidi in new versions, so
+# we work around problems by adding it only if it's present
+if (${PortTime_LIBRARY})
+       set(PortMidi_PROCESS_LIBS PortMidi_PROCESS_LIBS PortTime_LIBRARY)
+endif (${PortTime_LIBRARY})
+
+libfind_process(PortMidi)
+mark_as_advanced(PortTime_LIBRARY)
+
diff --git a/cmake/Modules/FindProjectM.cmake b/cmake/Modules/FindProjectM.cmake
new file mode 100644 (file)
index 0000000..17e0b23
--- /dev/null
@@ -0,0 +1,30 @@
+# - Try to find ProjectM
+# Once done, this will define
+#
+#  ProjectM_FOUND - system has ProjectM
+#  ProjectM_INCLUDE_DIRS - the ProjectM include directories
+#  ProjectM_LIBRARIES - link these to use ProjectM
+
+include(LibFindMacros)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(ProjectM_PKGCONF libprojectM)
+
+# Include dir
+find_path(ProjectM_INCLUDE_DIR
+  NAMES libprojectM/projectM.hpp
+  HINTS ${ProjectM_PKGCONF_INCLUDE_DIRS}
+)
+
+# Finally the library itself
+find_library(ProjectM_LIBRARY
+  NAMES projectM
+  HINTS ${ProjectM_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(ProjectM_PROCESS_INCLUDES ProjectM_INCLUDE_DIR)
+set(ProjectM_PROCESS_LIBS ProjectM_LIBRARY)
+libfind_process(ProjectM)
+
diff --git a/cmake/Modules/FindSDL.cmake b/cmake/Modules/FindSDL.cmake
new file mode 100644 (file)
index 0000000..2d4e557
--- /dev/null
@@ -0,0 +1,59 @@
+# - Try to find SDL
+# Once done, this will define
+#
+#  SDL_FOUND - system has SDL
+#  SDL_INCLUDE_DIRS - the SDL include directories
+#  SDL_LIBRARIES - link these to use SDL
+#  SDL_SDL_LIBRARY - only libSDL
+#  SDL_SDLmain_LIBRARY - only libSDLmain
+#  SDL_SOURCES - add this in the source file list of your target (hack for OSX)
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(SDL_PKGCONF sdl)
+
+find_path(SDL_INCLUDE_DIR
+  NAMES SDL.h
+  PATH_SUFFIXES SDL
+  HINTS ${SDL_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(SDL_SDL_LIBRARY
+  NAMES SDL
+  HINTS ${SDL_PKGCONF_LIBRARY_DIRS}
+)
+
+# Process others than OSX with native SDL normally
+if(NOT "${SDL_SDL_LIBRARY}" MATCHES "framework")
+  if(MINGW)
+    set(MINGW32_LIBRARY mingw32)
+    set(SDL_PROCESS_LIBS ${SDL_PROCESS_LIBS} MINGW32_LIBRARY)
+  endif(MINGW)
+  find_library(SDL_SDLmain_LIBRARY
+    NAMES libSDLmain.a SDLmain
+    HINTS ${SDL_PKGCONF_LIBRARY_DIRS}
+  )
+  if (SDL_SDLmain_LIBRARY)
+    set(SDL_PROCESS_LIBS ${SDL_PROCESS_LIBS} SDL_SDLmain_LIBRARY)
+  endif (SDL_SDLmain_LIBRARY)
+  set(SDL_PROCESS_LIBS ${SDL_PROCESS_LIBS} SDL_SDL_LIBRARY)
+endif(NOT "${SDL_SDL_LIBRARY}" MATCHES "framework")
+
+set(SDL_PROCESS_INCLUDES SDL_INCLUDE_DIR)
+libfind_process(SDL)
+
+# Special processing for OSX native SDL
+if("${SDL_SDL_LIBRARY}" MATCHES "SDL.framework")
+  set(SDL_SOURCES "osx/SDLmain.m")
+  set(SDL_LIBRARIES "-framework SDL")
+endif("${SDL_SDL_LIBRARY}" MATCHES "SDL.framework")
+
+# All OSX versions need Cocoa
+if(APPLE)
+  set(SDL_LIBRARIES ${SDL_LIBRARIES} "-framework Cocoa")
+endif(APPLE)
+
diff --git a/cmake/Modules/FindSDL2.cmake b/cmake/Modules/FindSDL2.cmake
new file mode 100644 (file)
index 0000000..b3889d5
--- /dev/null
@@ -0,0 +1,45 @@
+# - Try to find SDL2
+# Once done, this will define
+#
+#  SDL2_FOUND - system has SDL2
+#  SDL2_INCLUDE_DIRS - the SDL2 include directories
+#  SDL2_LIBRARIES - link these to use SDL2
+#  SDL2_SDL_LIBRARY - only libSDL2
+#  SDL2_SDLmain_LIBRARY - only libSDL2main
+#  SDL2_SOURCES - add this in the source file list of your target (hack for OSX)
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+libfind_pkg_detect(SDL2 sdl2 FIND_PATH SDL.h PATH_SUFFIXES SDL2 FIND_LIBRARY SDL2)
+
+# Process others than OSX with native SDL normally
+if(NOT "${SDL2_SDL_LIBRARY}" MATCHES "framework")
+  if(MINGW)
+    set(MINGW32_LIBRARY mingw32)
+    set(SDL2_PROCESS_LIBS ${SDL2_PROCESS_LIBS} MINGW32_LIBRARY)
+  endif()
+  find_library(SDL2_SDLmain_LIBRARY
+    NAMES libSDL2main.a SDL2main
+    HINTS ${SDL2_PKGCONF_LIBRARY_DIRS}
+  )
+  if (SDL2_SDLmain_LIBRARY)
+    set(SDL2_PROCESS_LIBS ${SDL2_PROCESS_LIBS} SDL2_SDLmain_LIBRARY)
+  endif()
+  set(SDL2_PROCESS_LIBS ${SDL2_PROCESS_LIBS} SDL2_SDL_LIBRARY)
+endif()
+
+libfind_process(SDL2)
+
+# Special processing for OSX native SDL
+if("${SDL2_SDL_LIBRARY}" MATCHES "SDL.framework")
+  set(SDL2_SOURCES "osx/SDLmain.m")
+  set(SDL2_LIBRARIES "-framework SDL2")
+endif()
+
+# All OSX versions need Cocoa
+if(APPLE)
+  set(SDL2_LIBRARIES ${SDL2_LIBRARIES} "-framework Cocoa")
+endif(APPLE)
+
diff --git a/cmake/Modules/FindSDL_image.cmake b/cmake/Modules/FindSDL_image.cmake
new file mode 100644 (file)
index 0000000..34e7011
--- /dev/null
@@ -0,0 +1,29 @@
+# - Try to find SDL_image
+# Once done, this will define
+#
+#  SDL_image_FOUND - system has SDL_image
+#  SDL_image_INCLUDE_DIRS - the SDL include directories
+#  SDL_image_LIBRARIES - link these to use SDL_image
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(SDL_image_PKGCONF sdl)
+
+find_path(SDL_image_INCLUDE_DIR
+  NAMES SDL_image.h
+  PATH_SUFFIXES SDL
+  HINTS ${SDL_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(SDL_image_LIBRARY
+  NAMES SDL_image
+  HINTS ${SDL_PKGCONF_LIBRARY_DIRS}
+)
+
+set(SDL_image_PROCESS_INCLUDES SDL_image_INCLUDE_DIR)
+set(SDL_image_PROCESS_LIBS SDL_image_LIBRARY)
+libfind_process(SDL_image)
+
diff --git a/cmake/Modules/FindSDL_mixer.cmake b/cmake/Modules/FindSDL_mixer.cmake
new file mode 100644 (file)
index 0000000..5e369a5
--- /dev/null
@@ -0,0 +1,32 @@
+# - Try to find SDL
+# Once done, this will define
+#
+#  SDL_mixer_FOUND - system has SDL
+#  SDL_mixer_INCLUDE_DIRS - the SDL include directories
+#  SDL_mixer_LIBRARIES - link these to use SDL
+#  SDL_mixer_SDL_mixer_LIBRARY - only libSDL
+#  SDL_mixer_SDLmain_LIBRARY - only libSDLmain
+#  SDL_mixer_SOURCES - add this in the source file list of your target (hack for OSX)
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(SDL_mixer_PKGCONF sdl)
+
+find_path(SDL_mixer_INCLUDE_DIR
+  NAMES SDL_mixer.h
+  PATH_SUFFIXES SDL
+  HINTS ${SDL_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(SDL_mixer_LIBRARY
+  NAMES SDL_mixer
+  HINTS ${SDL_PKGCONF_LIBRARY_DIRS}
+)
+
+set(SDL_mixer_PROCESS_INCLUDES SDL_mixer_INCLUDE_DIR)
+set(SDL_mixer_PROCESS_LIBS SDL_mixer_LIBRARY)
+libfind_process(SDL_mixer)
+
diff --git a/cmake/Modules/FindSWResample.cmake b/cmake/Modules/FindSWResample.cmake
new file mode 100644 (file)
index 0000000..ce4dffd
--- /dev/null
@@ -0,0 +1,44 @@
+# - Try to find FFMPEG libswresample
+# Once done, this will define
+#
+#  SWResample_FOUND - the library is available
+#  SWResample_INCLUDE_DIRS - the include directories
+#  SWResample_LIBRARIES - the libraries
+#  SWResample_INCLUDE - the file to include (may be used in config.h)
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_package(SWResample AVUtil)
+
+libfind_pkg_check_modules(SWResample_PKGCONF libswresample)
+
+find_path(SWResample_INCLUDE_DIR
+  NAMES libswresample/swresample.h ffmpeg/swresample.h swresample.h
+  HINTS ${SWResample_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES ffmpeg
+)
+
+if(SWResample_INCLUDE_DIR)
+  foreach(suffix libswresample/ ffmpeg/ "")
+    if(NOT SWResample_INCLUDE)
+      if(EXISTS "${SWResample_INCLUDE_DIR}/${suffix}swresample.h")
+        set(SWResample_INCLUDE "${suffix}swresample.h")
+      endif(EXISTS "${SWResample_INCLUDE_DIR}/${suffix}swresample.h")
+    endif(NOT SWResample_INCLUDE)
+  endforeach(suffix)
+
+  if(NOT SWResample_INCLUDE)
+    message(FATAL_ERROR "Found swresample.h include dir, but not the header file. Maybe you need to clear CMake cache?")
+  endif(NOT SWResample_INCLUDE)
+endif(SWResample_INCLUDE_DIR)
+
+find_library(SWResample_LIBRARY
+  NAMES libswresample.dll.a swresample
+  HINTS ${SWResample_PKGCONF_LIBRARY_DIRS}
+)
+
+libfind_process(SWResample)
+
diff --git a/cmake/Modules/FindSWScale.cmake b/cmake/Modules/FindSWScale.cmake
new file mode 100644 (file)
index 0000000..a125a65
--- /dev/null
@@ -0,0 +1,44 @@
+# - Try to find FFMPEG libswscale
+# Once done, this will define
+#
+#  SWScale_FOUND - the library is available
+#  SWScale_INCLUDE_DIRS - the include directories
+#  SWScale_LIBRARIES - the libraries
+#  SWScale_INCLUDE - the file to include (may be used in config.h)
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_package(SWScale AVUtil)
+
+libfind_pkg_check_modules(SWScale_PKGCONF libswscale)
+
+find_path(SWScale_INCLUDE_DIR
+  NAMES libswscale/swscale.h ffmpeg/swscale.h swscale.h
+  HINTS ${SWScale_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES ffmpeg
+)
+
+if(SWScale_INCLUDE_DIR)
+  foreach(suffix libswscale/ ffmpeg/ "")
+    if(NOT SWScale_INCLUDE)
+      if(EXISTS "${SWScale_INCLUDE_DIR}/${suffix}swscale.h")
+        set(SWScale_INCLUDE "${suffix}swscale.h")
+      endif(EXISTS "${SWScale_INCLUDE_DIR}/${suffix}swscale.h")
+    endif(NOT SWScale_INCLUDE)
+  endforeach(suffix)
+
+  if(NOT SWScale_INCLUDE)
+    message(FATAL_ERROR "Found swscale.h include dir, but not the header file. Maybe you need to clear CMake cache?")
+  endif(NOT SWScale_INCLUDE)
+endif(SWScale_INCLUDE_DIR)
+
+find_library(SWScale_LIBRARY
+  NAMES libswscale.dll.a swscale
+  HINTS ${SWScale_PKGCONF_LIBRARY_DIRS}
+)
+
+libfind_process(SWScale)
+
diff --git a/cmake/Modules/FindSigC++.cmake b/cmake/Modules/FindSigC++.cmake
new file mode 100644 (file)
index 0000000..0d7ea0c
--- /dev/null
@@ -0,0 +1,36 @@
+# - Try to find SigC++-2.0
+# Once done, this will define
+#
+#  SigC++_FOUND - system has SigC++
+#  SigC++_INCLUDE_DIRS - the SigC++ include directories
+#  SigC++_LIBRARIES - link these to use SigC++
+
+include(LibFindMacros)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(SigC++_PKGCONF sigc++-2.0)
+
+# Main include dir
+find_path(SigC++_INCLUDE_DIR
+  NAMES sigc++/sigc++.h
+  HINTS ${SigC++_PKGCONF_INCLUDE_DIRS}
+  PATH_SUFFIXES sigc++-2.0
+)
+
+# Glib-related libraries also use a separate config header, which is in lib dir
+find_path(SigC++Config_INCLUDE_DIR
+  NAMES sigc++config.h
+  HINTS ${SigC++_PKGCONF_INCLUDE_DIRS} /usr
+  PATH_SUFFIXES lib/sigc++-2.0/include ../lib/sigc++-2.0/include
+)
+
+# Finally the library itself
+find_library(SigC++_LIBRARY
+  NAMES sigc-2.0
+  HINTS ${SigC++_PKGCONF_LIBRARY_DIRS}
+)
+
+set(SigC++_PROCESS_INCLUDES SigC++_INCLUDE_DIR SigC++Config_INCLUDE_DIR)
+set(SigC++_PROCESS_LIBS SigC++_LIBRARY)
+libfind_process(SigC++)
+
diff --git a/cmake/Modules/FindSsl.cmake b/cmake/Modules/FindSsl.cmake
new file mode 100644 (file)
index 0000000..9bcf682
--- /dev/null
@@ -0,0 +1,14 @@
+# - Try to find Ssl
+# Once done, this will define
+#
+#  Ssl_FOUND - system has Ssl
+#  Ssl_INCLUDE_DIRS - the Ssl include directories
+#  Ssl_LIBRARIES - link these to use Ssl
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+libfind_pkg_detect(Ssl libssl FIND_PATH openssl/ssl.h FIND_LIBRARY ssl)
+set(Ssl_VERSION ${Ssl_PKGCONF_VERSION})
+libfind_process(Ssl)
diff --git a/cmake/Modules/FindZ.cmake b/cmake/Modules/FindZ.cmake
new file mode 100644 (file)
index 0000000..af647f7
--- /dev/null
@@ -0,0 +1,28 @@
+# - Try to find Z
+# Once done, this will define
+#
+#  Z_FOUND - system has Z
+#  Z_INCLUDE_DIRS - the Z include directories
+#  Z_LIBRARIES - link these to use Z
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+libfind_pkg_check_modules(Z_PKGCONF Z)
+
+find_path(Z_INCLUDE_DIR
+  NAMES zlib.h
+  HINTS ${Z_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(Z_LIBRARY
+  NAMES z
+  HINTS ${Z_PKGCONF_LIBRARY_DIRS}
+)
+
+set(Z_PROCESS_INCLUDES Z_INCLUDE_DIR)
+set(Z_PROCESS_LIBS Z_LIBRARY)
+libfind_process(Z)
+
diff --git a/cmake/Modules/GetGitRevisionDescription.cmake b/cmake/Modules/GetGitRevisionDescription.cmake
new file mode 100644 (file)
index 0000000..1d3c82a
--- /dev/null
@@ -0,0 +1,130 @@
+# - Returns a version string from Git
+#
+# These functions force a re-configure on each git commit so that you can
+# trust the values of the variables in your build system.
+#
+#  get_git_head_revision(<refspecvar> <hashvar> [<additional arguments to git describe> ...])
+#
+# Returns the refspec and sha hash of the current head revision
+#
+#  git_describe(<var> [<additional arguments to git describe> ...])
+#
+# Returns the results of git describe on the source tree, and adjusting
+# the output so that it tests false if an error occurs.
+#
+#  git_get_exact_tag(<var> [<additional arguments to git describe> ...])
+#
+# Returns the results of git describe --exact-match on the source tree,
+# and adjusting the output so that it tests false if there was no exact
+# matching tag.
+#
+# Requires CMake 2.6 or newer (uses the 'function' command)
+#
+# Original Author:
+# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
+# http://academic.cleardefinition.com
+# Iowa State University HCI Graduate Program/VRAC
+#
+# Copyright Iowa State University 2009-2010.
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file docs/license/Boost-LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+if(__get_git_revision_description)
+       return()
+endif()
+set(__get_git_revision_description YES)
+
+# We must run the following at "include" time, not at function call time,
+# to find the path to this module rather than the path to a calling list file
+get_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH)
+
+function(get_git_head_revision _refspecvar _hashvar)
+       set(GIT_PARENT_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
+       set(GIT_DIR "${GIT_PARENT_DIR}/.git")
+       while(NOT EXISTS "${GIT_DIR}")  # .git dir not found, search parent directories
+               set(GIT_PREVIOUS_PARENT "${GIT_PARENT_DIR}")
+               get_filename_component(GIT_PARENT_DIR ${GIT_PARENT_DIR} PATH)
+               if(GIT_PARENT_DIR STREQUAL GIT_PREVIOUS_PARENT)
+                       # We have reached the root directory, we are not in git
+                       set(${_refspecvar} "GITDIR-NOTFOUND" PARENT_SCOPE)
+                       set(${_hashvar} "GITDIR-NOTFOUND" PARENT_SCOPE)
+                       return()
+               endif()
+               set(GIT_DIR "${GIT_PARENT_DIR}/.git")
+       endwhile()
+       # check if this is a submodule
+       if(NOT IS_DIRECTORY ${GIT_DIR})
+               file(READ ${GIT_DIR} submodule)
+               string(REGEX REPLACE "gitdir: (.*)\n$" "\\1" GIT_DIR_RELATIVE ${submodule})
+               get_filename_component(SUBMODULE_DIR ${GIT_DIR} PATH)
+               get_filename_component(GIT_DIR ${SUBMODULE_DIR}/${GIT_DIR_RELATIVE} ABSOLUTE)
+       endif()
+       set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data")
+       if(NOT EXISTS "${GIT_DATA}")
+               file(MAKE_DIRECTORY "${GIT_DATA}")
+       endif()
+
+       if(NOT EXISTS "${GIT_DIR}/HEAD")
+               return()
+       endif()
+       set(HEAD_FILE "${GIT_DATA}/HEAD")
+       configure_file("${GIT_DIR}/HEAD" "${HEAD_FILE}" COPYONLY)
+
+       configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in"
+               "${GIT_DATA}/grabRef.cmake"
+               @ONLY)
+       include("${GIT_DATA}/grabRef.cmake")
+
+       set(${_refspecvar} "${HEAD_REF}" PARENT_SCOPE)
+       set(${_hashvar} "${HEAD_HASH}" PARENT_SCOPE)
+endfunction()
+
+function(git_describe _var)
+       if(NOT GIT_FOUND)
+               find_package(Git QUIET)
+       endif()
+       get_git_head_revision(refspec hash)
+       if(NOT GIT_FOUND)
+               set(${_var} "GIT-NOTFOUND" PARENT_SCOPE)
+               return()
+       endif()
+       if(NOT hash)
+               set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE)
+               return()
+       endif()
+
+       # TODO sanitize
+       #if((${ARGN}" MATCHES "&&") OR
+       #       (ARGN MATCHES "||") OR
+       #       (ARGN MATCHES "\\;"))
+       #       message("Please report the following error to the project!")
+       #       message(FATAL_ERROR "Looks like someone's doing something nefarious with git_describe! Passed arguments ${ARGN}")
+       #endif()
+
+       #message(STATUS "Arguments to execute_process: ${ARGN}")
+
+       execute_process(COMMAND
+               "${GIT_EXECUTABLE}"
+               describe
+               ${hash}
+               ${ARGN}
+               WORKING_DIRECTORY
+               "${CMAKE_SOURCE_DIR}"
+               RESULT_VARIABLE
+               res
+               OUTPUT_VARIABLE
+               out
+               ERROR_QUIET
+               OUTPUT_STRIP_TRAILING_WHITESPACE)
+       if(NOT res EQUAL 0)
+               set(out "${out}-${res}-NOTFOUND")
+       endif()
+
+       set(${_var} "${out}" PARENT_SCOPE)
+endfunction()
+
+function(git_get_exact_tag _var)
+       git_describe(out --exact-match ${ARGN})
+       set(${_var} "${out}" PARENT_SCOPE)
+endfunction()
diff --git a/cmake/Modules/GetGitRevisionDescription.cmake.in b/cmake/Modules/GetGitRevisionDescription.cmake.in
new file mode 100644 (file)
index 0000000..a2d390c
--- /dev/null
@@ -0,0 +1,38 @@
+# 
+# Internal file for GetGitRevisionDescription.cmake
+#
+# Requires CMake 2.6 or newer (uses the 'function' command)
+#
+# Original Author:
+# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
+# http://academic.cleardefinition.com
+# Iowa State University HCI Graduate Program/VRAC
+#
+# Copyright Iowa State University 2009-2010.
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file docs/license/Boost-LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+set(HEAD_HASH)
+
+file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024)
+
+string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS)
+if(HEAD_CONTENTS MATCHES "ref")
+       # named branch
+       string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}")
+       if(EXISTS "@GIT_DIR@/${HEAD_REF}")
+               configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY)
+       elseif(EXISTS "@GIT_DIR@/logs/${HEAD_REF}")
+               configure_file("@GIT_DIR@/logs/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY)
+               set(HEAD_HASH "${HEAD_REF}")
+       endif()
+else()
+       # detached HEAD
+       configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY)
+endif()
+
+if(NOT HEAD_HASH)
+       file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024)
+       string(STRIP "${HEAD_HASH}" HEAD_HASH)
+endif()
diff --git a/cmake/Modules/LibFindMacros.cmake b/cmake/Modules/LibFindMacros.cmake
new file mode 100644 (file)
index 0000000..3ef5844
--- /dev/null
@@ -0,0 +1,266 @@
+# Version 2.2
+# Public Domain, originally written by Lasse Kärkkäinen <tronic>
+# Maintained at https://github.com/Tronic/cmake-modules
+# Please send your improvements as pull requests on Github.
+
+# Find another package and make it a dependency of the current package.
+# This also automatically forwards the "REQUIRED" argument.
+# Usage: libfind_package(<prefix> <another package> [extra args to find_package])
+macro (libfind_package PREFIX PKG)
+  set(${PREFIX}_args ${PKG} ${ARGN})
+  if (${PREFIX}_FIND_REQUIRED)
+    set(${PREFIX}_args ${${PREFIX}_args} REQUIRED)
+  endif()
+  find_package(${${PREFIX}_args})
+  set(${PREFIX}_DEPENDENCIES ${${PREFIX}_DEPENDENCIES};${PKG})
+  unset(${PREFIX}_args)
+endmacro()
+
+# A simple wrapper to make pkg-config searches a bit easier.
+# Works the same as CMake's internal pkg_check_modules but is always quiet.
+macro (libfind_pkg_check_modules)
+  find_package(PkgConfig QUIET)
+  if (PKG_CONFIG_FOUND)
+    pkg_check_modules(${ARGN} QUIET)
+  endif()
+endmacro()
+
+# Avoid useless copy&pasta by doing what most simple libraries do anyway:
+# pkg-config, find headers, find library.
+# Usage: libfind_pkg_detect(<prefix> <pkg-config args> FIND_PATH <name> [other args] FIND_LIBRARY <name> [other args])
+# E.g. libfind_pkg_detect(SDL2 sdl2 FIND_PATH SDL.h PATH_SUFFIXES SDL2 FIND_LIBRARY SDL2)
+function (libfind_pkg_detect PREFIX)
+  # Parse arguments
+  set(argname pkgargs)
+  foreach (i ${ARGN})
+    if ("${i}" STREQUAL "FIND_PATH")
+      set(argname pathargs)
+    elseif ("${i}" STREQUAL "FIND_LIBRARY")
+      set(argname libraryargs)
+    else()
+      set(${argname} ${${argname}} ${i})
+    endif()
+  endforeach()
+  if (NOT pkgargs)
+    message(FATAL_ERROR "libfind_pkg_detect requires at least a pkg_config package name to be passed.")
+  endif()
+  # Find library
+  libfind_pkg_check_modules(${PREFIX}_PKGCONF ${pkgargs})
+  if (pathargs)
+    find_path(${PREFIX}_INCLUDE_DIR NAMES ${pathargs} HINTS ${${PREFIX}_PKGCONF_INCLUDE_DIRS})
+  endif()
+  if (libraryargs)
+    find_library(${PREFIX}_LIBRARY NAMES ${libraryargs} HINTS ${${PREFIX}_PKGCONF_LIBRARY_DIRS})
+  endif()
+endfunction()
+
+# Extracts a version #define from a version.h file, output stored to <PREFIX>_VERSION.
+# Usage: libfind_version_header(Foobar foobar/version.h FOOBAR_VERSION_STR)
+# Fourth argument "QUIET" may be used for silently testing different define names.
+# This function does nothing if the version variable is already defined.
+function (libfind_version_header PREFIX VERSION_H DEFINE_NAME)
+  # Skip processing if we already have a version or if the include dir was not found
+  if (${PREFIX}_VERSION OR NOT ${PREFIX}_INCLUDE_DIR)
+    return()
+  endif()
+  set(quiet ${${PREFIX}_FIND_QUIETLY})
+  # Process optional arguments
+  foreach(arg ${ARGN})
+    if (arg STREQUAL "QUIET")
+      set(quiet TRUE)
+    else()
+      message(AUTHOR_WARNING "Unknown argument ${arg} to libfind_version_header ignored.")
+    endif()
+  endforeach()
+  # Read the header and parse for version number
+  set(filename "${${PREFIX}_INCLUDE_DIR}/${VERSION_H}")
+  if (NOT EXISTS ${filename})
+    if (NOT quiet)
+      message(AUTHOR_WARNING "Unable to find ${${PREFIX}_INCLUDE_DIR}/${VERSION_H}")
+    endif()
+    return()
+  endif()
+  file(READ "${filename}" header)
+  string(REGEX REPLACE ".*#[ \t]*define[ \t]*${DEFINE_NAME}[ \t]*\"([^\n]*)\".*" "\\1" match "${header}")
+  # No regex match?
+  if (match STREQUAL header)
+    if (NOT quiet)
+      message(AUTHOR_WARNING "Unable to find \#define ${DEFINE_NAME} \"<version>\" from ${${PREFIX}_INCLUDE_DIR}/${VERSION_H}")
+    endif()
+    return()
+  endif()
+  # Export the version string
+  set(${PREFIX}_VERSION "${match}" PARENT_SCOPE)
+endfunction()
+
+# Do the final processing once the paths have been detected.
+# If include dirs are needed, ${PREFIX}_PROCESS_INCLUDES should be set to contain
+# all the variables, each of which contain one include directory.
+# Ditto for ${PREFIX}_PROCESS_LIBS and library files.
+# Will set ${PREFIX}_FOUND, ${PREFIX}_INCLUDE_DIRS and ${PREFIX}_LIBRARIES.
+# Also handles errors in case library detection was required, etc.
+function (libfind_process PREFIX)
+  # Skip processing if already processed during this configuration run
+  if (${PREFIX}_FOUND)
+    return()
+  endif()
+
+  set(found TRUE)  # Start with the assumption that the package was found
+
+  # Did we find any files? Did we miss includes? These are for formatting better error messages.
+  set(some_files FALSE)
+  set(missing_headers FALSE)
+
+  # Shorthands for some variables that we need often
+  set(quiet ${${PREFIX}_FIND_QUIETLY})
+  set(required ${${PREFIX}_FIND_REQUIRED})
+  set(exactver ${${PREFIX}_FIND_VERSION_EXACT})
+  set(findver "${${PREFIX}_FIND_VERSION}")
+  set(version "${${PREFIX}_VERSION}")
+
+  # Lists of config option names (all, includes, libs)
+  unset(configopts)
+  set(includeopts ${${PREFIX}_PROCESS_INCLUDES})
+  set(libraryopts ${${PREFIX}_PROCESS_LIBS})
+
+  # Process deps to add to 
+  foreach (i ${PREFIX} ${${PREFIX}_DEPENDENCIES})
+    if (DEFINED ${i}_INCLUDE_OPTS OR DEFINED ${i}_LIBRARY_OPTS)
+      # The package seems to export option lists that we can use, woohoo!
+      list(APPEND includeopts ${${i}_INCLUDE_OPTS})
+      list(APPEND libraryopts ${${i}_LIBRARY_OPTS})
+    else()
+      # If plural forms don't exist or they equal singular forms
+      if ((NOT DEFINED ${i}_INCLUDE_DIRS AND NOT DEFINED ${i}_LIBRARIES) OR
+          ({i}_INCLUDE_DIR STREQUAL ${i}_INCLUDE_DIRS AND ${i}_LIBRARY STREQUAL ${i}_LIBRARIES))
+        # Singular forms can be used
+        if (DEFINED ${i}_INCLUDE_DIR)
+          list(APPEND includeopts ${i}_INCLUDE_DIR)
+        endif()
+        if (DEFINED ${i}_LIBRARY)
+          list(APPEND libraryopts ${i}_LIBRARY)
+        endif()
+      else()
+        # Oh no, we don't know the option names
+        message(FATAL_ERROR "We couldn't determine config variable names for ${i} includes and libs. Aieeh!")
+      endif()
+    endif()
+  endforeach()
+  
+  if (includeopts)
+    list(REMOVE_DUPLICATES includeopts)
+  endif()
+  
+  if (libraryopts)
+    list(REMOVE_DUPLICATES libraryopts)
+  endif()
+
+  string(REGEX REPLACE ".*[ ;]([^ ;]*(_INCLUDE_DIRS|_LIBRARIES))" "\\1" tmp "${includeopts} ${libraryopts}")
+  if (NOT tmp STREQUAL "${includeopts} ${libraryopts}")
+    message(AUTHOR_WARNING "Plural form ${tmp} found in config options of ${PREFIX}. This works as before but is now deprecated. Please only use singular forms INCLUDE_DIR and LIBRARY, and update your find scripts for LibFindMacros > 2.0 automatic dependency system (most often you can simply remove the PROCESS variables entirely).")
+  endif()
+
+  # Include/library names separated by spaces (notice: not CMake lists)
+  unset(includes)
+  unset(libs)
+
+  # Process all includes and set found false if any are missing
+  foreach (i ${includeopts})
+    list(APPEND configopts ${i})
+    if (NOT "${${i}}" STREQUAL "${i}-NOTFOUND")
+      list(APPEND includes "${${i}}")
+    else()
+      set(found FALSE)
+      set(missing_headers TRUE)
+    endif()
+  endforeach()
+
+  # Process all libraries and set found false if any are missing
+  foreach (i ${libraryopts})
+    list(APPEND configopts ${i})
+    if (NOT "${${i}}" STREQUAL "${i}-NOTFOUND")
+      list(APPEND libs "${${i}}")
+    else()
+      set (found FALSE)
+    endif()
+  endforeach()
+
+  # Version checks
+  if (found AND findver)
+    if (NOT version)
+      message(WARNING "The find module for ${PREFIX} does not provide version information, so we'll just assume that it is OK. Please fix the module or remove package version requirements to get rid of this warning.")
+    elseif (version VERSION_LESS findver OR (exactver AND NOT version VERSION_EQUAL findver))
+      set(found FALSE)
+      set(version_unsuitable TRUE)
+    endif()
+  endif()
+
+  # If all-OK, hide all config options, export variables, print status and exit
+  if (found)
+    foreach (i ${configopts})
+      mark_as_advanced(${i})
+    endforeach()
+    if (NOT quiet)
+      message(STATUS "Found ${PREFIX} ${${PREFIX}_VERSION}")
+      if (LIBFIND_DEBUG)
+        message(STATUS "  ${PREFIX}_DEPENDENCIES=${${PREFIX}_DEPENDENCIES}")
+        message(STATUS "  ${PREFIX}_INCLUDE_OPTS=${includeopts}")
+        message(STATUS "  ${PREFIX}_INCLUDE_DIRS=${includes}")
+        message(STATUS "  ${PREFIX}_LIBRARY_OPTS=${libraryopts}")
+        message(STATUS "  ${PREFIX}_LIBRARIES=${libs}")
+      endif()
+      set (${PREFIX}_INCLUDE_OPTS ${includeopts} PARENT_SCOPE)
+      set (${PREFIX}_LIBRARY_OPTS ${libraryopts} PARENT_SCOPE)
+      set (${PREFIX}_INCLUDE_DIRS ${includes} PARENT_SCOPE)
+      set (${PREFIX}_LIBRARIES ${libs} PARENT_SCOPE)
+      set (${PREFIX}_FOUND TRUE PARENT_SCOPE)
+    endif()
+    return()    
+  endif()
+
+  # Format messages for debug info and the type of error
+  set(vars "Relevant CMake configuration variables:\n")
+  foreach (i ${configopts})
+    mark_as_advanced(CLEAR ${i})
+    set(val ${${i}})
+    if ("${val}" STREQUAL "${i}-NOTFOUND")
+      set (val "<not found>")
+    elseif (val AND NOT EXISTS ${val})
+      set (val "${val}  (does not exist)")
+    else()
+      set(some_files TRUE)
+    endif()
+    set(vars "${vars}  ${i}=${val}\n")
+  endforeach()
+  set(vars "${vars}You may use CMake GUI, cmake -D or ccmake to modify the values. Delete CMakeCache.txt to discard all values and force full re-detection if necessary.\n")
+  if (version_unsuitable)
+    set(msg "${PREFIX} ${${PREFIX}_VERSION} was found but")
+    if (exactver)
+      set(msg "${msg} only version ${findver} is acceptable.")
+    else()
+      set(msg "${msg} version ${findver} is the minimum requirement.")
+    endif()
+  else()
+    if (missing_headers)
+      set(msg "We could not find development headers for ${PREFIX}. Do you have the necessary dev package installed?")
+    elseif (some_files)
+      set(msg "We only found some files of ${PREFIX}, not all of them. Perhaps your installation is incomplete or maybe we just didn't look in the right place?")
+      if(findver)
+        set(msg "${msg} This could also be caused by incompatible version (if it helps, at least ${PREFIX} ${findver} should work).")
+      endif()
+    else()
+      set(msg "We were unable to find package ${PREFIX}.")
+    endif()
+  endif()
+
+  # Fatal error out if REQUIRED
+  if (required)
+    set(msg "REQUIRED PACKAGE NOT FOUND\n${msg} This package is REQUIRED and you need to install it or adjust CMake configuration in order to continue building ${CMAKE_PROJECT_NAME}.")
+    message(FATAL_ERROR "${msg}\n${vars}")
+  endif()
+  # Otherwise just print a nasty warning
+  if (NOT quiet)
+    message(WARNING "WARNING: MISSING PACKAGE\n${msg} This package is NOT REQUIRED and you may ignore this warning but by doing so you may miss some functionality of ${CMAKE_PROJECT_NAME}. \n${vars}")
+  endif()
+endfunction()
+
diff --git a/cmake/Modules/SelectLibraryConfigurations.cmake b/cmake/Modules/SelectLibraryConfigurations.cmake
new file mode 100644 (file)
index 0000000..dce6f99
--- /dev/null
@@ -0,0 +1,70 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# SelectLibraryConfigurations
+# ---------------------------
+#
+#
+#
+# select_library_configurations( basename )
+#
+# This macro takes a library base name as an argument, and will choose
+# good values for basename_LIBRARY, basename_LIBRARIES,
+# basename_LIBRARY_DEBUG, and basename_LIBRARY_RELEASE depending on what
+# has been found and set.  If only basename_LIBRARY_RELEASE is defined,
+# basename_LIBRARY will be set to the release value, and
+# basename_LIBRARY_DEBUG will be set to basename_LIBRARY_DEBUG-NOTFOUND.
+# If only basename_LIBRARY_DEBUG is defined, then basename_LIBRARY will
+# take the debug value, and basename_LIBRARY_RELEASE will be set to
+# basename_LIBRARY_RELEASE-NOTFOUND.
+#
+# If the generator supports configuration types, then basename_LIBRARY
+# and basename_LIBRARIES will be set with debug and optimized flags
+# specifying the library to be used for the given configuration.  If no
+# build type has been set or the generator in use does not support
+# configuration types, then basename_LIBRARY and basename_LIBRARIES will
+# take only the release value, or the debug value if the release one is
+# not set.
+
+# This macro was adapted from the FindQt4 CMake module and is maintained by Will
+# Dicharry <wdicharry@stellarscience.com>.
+
+macro( select_library_configurations basename )
+    if(NOT ${basename}_LIBRARY_RELEASE)
+        set(${basename}_LIBRARY_RELEASE "${basename}_LIBRARY_RELEASE-NOTFOUND" CACHE FILEPATH "Path to a library.")
+    endif()
+    if(NOT ${basename}_LIBRARY_DEBUG)
+        set(${basename}_LIBRARY_DEBUG "${basename}_LIBRARY_DEBUG-NOTFOUND" CACHE FILEPATH "Path to a library.")
+    endif()
+
+    if( ${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE AND
+           NOT ${basename}_LIBRARY_DEBUG STREQUAL ${basename}_LIBRARY_RELEASE AND
+           ( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE ) )
+        # if the generator supports configuration types or CMAKE_BUILD_TYPE
+        # is set, then set optimized and debug options.
+        set( ${basename}_LIBRARY "" )
+        foreach( _libname IN LISTS ${basename}_LIBRARY_RELEASE )
+            list( APPEND ${basename}_LIBRARY optimized "${_libname}" )
+        endforeach()
+        foreach( _libname IN LISTS ${basename}_LIBRARY_DEBUG )
+            list( APPEND ${basename}_LIBRARY debug "${_libname}" )
+        endforeach()
+    elseif( ${basename}_LIBRARY_RELEASE )
+        set( ${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE} )
+    elseif( ${basename}_LIBRARY_DEBUG )
+        set( ${basename}_LIBRARY ${${basename}_LIBRARY_DEBUG} )
+    else()
+        set( ${basename}_LIBRARY "${basename}_LIBRARY-NOTFOUND")
+    endif()
+
+    set( ${basename}_LIBRARIES "${${basename}_LIBRARY}" )
+
+    if( ${basename}_LIBRARY )
+        set( ${basename}_FOUND TRUE )
+    endif()
+
+    mark_as_advanced( ${basename}_LIBRARY_RELEASE
+        ${basename}_LIBRARY_DEBUG
+    )
+endmacro()
diff --git a/cmake/performous.sh.cmake b/cmake/performous.sh.cmake
new file mode 100644 (file)
index 0000000..a8896b2
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+env DYLD_LIBRARY_PATH='@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@:$DYLD_LIBRARY_PATH' LD_LIBRARY_PATH='@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@:$LD_LIBRARY_PATH' PERFORMOUS_DATA_DIR='@CMAKE_INSTALL_PREFIX@/@SHARE_INSTALL@' PLUGIN_PATH='@PERFORMOUS_PLUGIN_PATH@' '@PERFORMOUS_EXECUTABLE@' "$@"
+
diff --git a/common/image.cc b/common/image.cc
new file mode 100644 (file)
index 0000000..5f58645
--- /dev/null
@@ -0,0 +1,223 @@
+#include "image.hh"
+
+#include <boost/filesystem/fstream.hpp>
+#include <boost/filesystem/path.hpp>
+#include <jpeglib.h>
+#include <png.h>
+
+#include <iostream>
+#include <string>
+
+using fs::ofstream;
+using fs::ifstream;
+
+namespace {
+       void writePngHelper(png_structp pngPtr, png_bytep data, png_size_t length) {
+               static_cast<std::ostream*>(png_get_io_ptr(pngPtr))->write((char*)data, length);
+       }
+
+       void readPngHelper(png_structp pngPtr, png_bytep data, png_size_t length) {
+               static_cast<std::istream*>(png_get_io_ptr(pngPtr))->read((char*)data, length);
+       }
+       void loadPNG_internal(png_structp pngPtr, png_infop infoPtr, ifstream& file, Bitmap& bitmap, std::vector<png_bytep>& rows) {
+               if (setjmp(png_jmpbuf(pngPtr))) throw std::runtime_error("Reading PNG failed");
+               png_set_read_fn(pngPtr,(png_voidp)&file, readPngHelper);
+               png_read_info(pngPtr, infoPtr);
+               png_set_expand(pngPtr);  // Expand everything to RGB(A)
+               png_set_strip_16(pngPtr);  // Strip everything down to 8 bit/component
+               png_set_gray_to_rgb(pngPtr);  // Convert even grayscale to RGB(A)
+               png_set_filler(pngPtr, 0xFF, PNG_FILLER_AFTER); // Add alpha channel if it is missing
+               bitmap.resize(png_get_image_width(pngPtr, infoPtr), png_get_image_height(pngPtr, infoPtr));
+               rows.resize(bitmap.height);
+               for (unsigned y = 0; y < bitmap.height; ++y) rows[y] = reinterpret_cast<png_bytep>(&bitmap.buf[y * bitmap.width * 4]);
+               png_read_image(pngPtr, &rows[0]);
+       }
+
+       static void writePNG_internal(png_structp pngPtr, png_infop infoPtr, ofstream& file, unsigned w, unsigned h, int colorType, std::vector<png_bytep>& rows) {
+               // There must be no objects initialized within this function because longjmp will mess them up
+               if (setjmp(png_jmpbuf(pngPtr))) throw std::runtime_error("Writing PNG failed");
+               png_set_write_fn(pngPtr, &file, writePngHelper, NULL);
+               png_set_IHDR(pngPtr, infoPtr, w, h, 8, colorType, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
+               png_write_info(pngPtr, infoPtr);
+               png_write_image(pngPtr, &rows[0]);
+               png_write_end(pngPtr, NULL);
+       }
+
+       struct my_jpeg_error_mgr {
+               struct jpeg_error_mgr pub;      /* "public" fields */
+               jmp_buf setjmp_buffer;  /* for return to caller */
+       };
+
+       typedef struct my_jpeg_error_mgr * my_jpeg_error_mgr_ptr;
+
+       static inline void my_jpeg_error_exit(j_common_ptr cinfo) {
+               my_jpeg_error_mgr_ptr myerr = (my_jpeg_error_mgr_ptr) cinfo->err;
+               (*cinfo->err->output_message) (cinfo);
+               longjmp(myerr->setjmp_buffer, 1);
+       }
+
+       #if JPEG_LIB_VERSION < 80 && !defined(MEM_SRCDST_SUPPORTED)
+       // Implementation of jpeg_mem_src from
+       // http://stackoverflow.com/questions/5280756/libjpeg-ver-6b-jpeg-stdio-src-vs-jpeg-mem-src 
+
+       /* Read JPEG image from a memory segment */
+       static void init_source(j_decompress_ptr /*cinfo*/) {}
+       static boolean fill_input_buffer(j_decompress_ptr /*cinfo*/) {
+               //ERREXIT(cinfo, JERR_INPUT_EMPTY);
+               return true;
+       }
+       static void skip_input_data(j_decompress_ptr cinfo, long num_bytes) {
+               auto src = static_cast<jpeg_source_mgr*>(cinfo->src);
+               if (num_bytes > 0) {
+                       src->next_input_byte += num_bytes;
+                       src->bytes_in_buffer -= num_bytes;
+               }
+       }
+       static void term_source(j_decompress_ptr /*cinfo*/) {}
+       static void jpeg_mem_src(j_decompress_ptr cinfo, void* buffer, long nbytes) {
+               if (!cinfo->src) {   /* first time for this JPEG object? */
+                       cinfo->src = static_cast<jpeg_source_mgr*>(
+                         (*cinfo->mem->alloc_small) ((j_common_ptr)cinfo, JPOOL_PERMANENT, sizeof(jpeg_source_mgr))
+                       );
+               }
+               auto src = static_cast<jpeg_source_mgr*>(cinfo->src);
+               src->init_source = init_source;
+               src->fill_input_buffer = fill_input_buffer;
+               src->skip_input_data = skip_input_data;
+               src->resync_to_restart = jpeg_resync_to_restart; /* use default method */
+               src->term_source = term_source;
+               src->bytes_in_buffer = nbytes;
+               src->next_input_byte = static_cast<JOCTET*>(buffer);
+       }
+       #endif
+
+       typedef std::vector<std::uint8_t> BinaryBuffer;
+
+       BinaryBuffer readFile(fs::path const& path) {
+               BinaryBuffer ret;
+               fs::ifstream f(path, std::ios::binary);
+               f.seekg(0, std::ios::end);
+               ret.resize(f.tellg());
+               f.seekg(0);
+               f.read(reinterpret_cast<char*>(ret.data()), ret.size());
+               if (!f) throw std::runtime_error("File cannot be read: " + path.string());
+               return ret;
+       }
+}
+
+void writePNG(fs::path const& filename, Bitmap const& img, unsigned stride) {
+       fs::path name = filename;
+       // We use PNG in a non-standard way, with premultiplied alpha, signified by .premul.png extension.
+       std::clog << "image/debug: Saving PNG: " + name.string() << std::endl;
+       std::vector<png_bytep> rows(img.height);
+       // Determine color type and bytes per pixel
+       unsigned char bpp;
+       int colorType;
+       switch (img.fmt) {
+               case pix::RGB: bpp = 3; colorType = PNG_COLOR_TYPE_RGB; break;
+               case pix::CHAR_RGBA: bpp = 4; colorType = PNG_COLOR_TYPE_RGBA; break;
+               default:
+                       // Byte order would need to be changed for other formats and we don't currently need them...
+                       throw std::logic_error("Unsupported pixel format in writePNG_internal");
+       }
+       // Construct row pointers
+       bool reverse = img.bottomFirst;
+       if (stride == 0) stride = img.width * bpp;
+       unsigned pos = reverse ? img.height * stride : -stride;
+       for (unsigned y = 0; y < img.height; ++y) {
+               pos += (reverse ? -stride : stride);
+               rows[y] = (png_bytep)(&img.data()[pos]);
+       }
+       // Initialize libpng structures
+       png_structp pngPtr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+       if (!pngPtr) throw std::runtime_error("png_create_read_struct failed");
+       png_infop infoPtr = NULL;
+       struct Cleanup {
+               png_structpp pngPP;
+               png_infopp infoPP;
+               Cleanup(png_structp& pngP, png_infop& infoP): pngPP(&pngP), infoPP(&infoP) {}
+               ~Cleanup() { png_destroy_write_struct(pngPP, infoPP); }
+       } cleanup(pngPtr, infoPtr);
+       infoPtr = png_create_info_struct(pngPtr);
+       if (!infoPtr) throw std::runtime_error("png_create_info_struct failed");
+       png_set_gAMA(pngPtr, infoPtr, img.linearPremul ? 1.0 : 2.2);
+       // Write file
+       ofstream file(name, std::ios::binary);
+       writePNG_internal(pngPtr, infoPtr, file, img.width, img.height, colorType, rows);
+}
+
+void loadPNG(Bitmap& bitmap, fs::path const& filename) {
+       std::clog << "image/debug: Loading PNG: " + filename.string() << std::endl;
+       // A hack to assume linear premultiplied data if file extension is .premul.png (used for cached SVGs)
+       if (filename.stem().extension() == "premul") bitmap.linearPremul = true;
+       ifstream file(filename, std::ios::binary);
+       png_structp pngPtr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+       if (!pngPtr) throw std::runtime_error("png_create_read_struct failed");
+       png_infop infoPtr = NULL;
+       struct Cleanup {
+               png_structpp pngPP;
+               png_infopp infoPP;
+               Cleanup(png_structp& pngP, png_infop& infoP): pngPP(&pngP), infoPP(&infoP) {}
+               ~Cleanup() { png_destroy_read_struct(pngPP, infoPP, (png_infopp)NULL); }
+       } cleanup(pngPtr, infoPtr);
+       infoPtr = png_create_info_struct(pngPtr);
+       if (!infoPtr) throw std::runtime_error("png_create_info_struct failed");
+       std::vector<png_bytep> rows;
+       loadPNG_internal(pngPtr, infoPtr, file, bitmap, rows);
+}
+
+void loadJPEG(Bitmap& bitmap, fs::path const& filename) {
+       std::clog << "image/debug: Loading JPEG: " + filename.string() << std::endl;
+       bitmap.fmt = pix::RGB;
+       struct my_jpeg_error_mgr jerr;
+       BinaryBuffer data = readFile(filename);
+       jpeg_decompress_struct cinfo;
+       cinfo.err = jpeg_std_error(&jerr.pub);
+       jerr.pub.error_exit = my_jpeg_error_exit;
+       if (setjmp(jerr.setjmp_buffer)) {
+               jpeg_destroy_decompress(&cinfo);
+               throw std::runtime_error("Error in libjpeg when decoding " + filename.string());
+       }
+       jpeg_create_decompress(&cinfo);
+       jpeg_mem_src(&cinfo, data.data(), data.size());
+       if (jpeg_read_header(&cinfo, true) != JPEG_HEADER_OK) throw std::runtime_error("Cannot read header of " + filename.string());
+       jpeg_start_decompress(&cinfo);
+       bitmap.resize(cinfo.output_width, cinfo.output_height);
+       unsigned stride = (bitmap.width * 3 + 3) & ~3;  // Number of bytes per row (word-aligned)
+       unsigned char* ptr = &bitmap.buf[0];
+       while (cinfo.output_scanline < bitmap.height) {
+               jpeg_read_scanlines(&cinfo, &ptr, 1);
+               ptr += stride;
+       }
+       jpeg_destroy_decompress(&cinfo);
+}
+
+void Bitmap::crop(const unsigned width, const unsigned height, const unsigned x, const unsigned y) {
+       if (ptr) throw std::logic_error("Cannot Bitmap::crop foreign pointers.");
+       if (x + width > this->width || y+ height > this->height)
+               throw std::logic_error("Cannot crop to a size bigger then source image.");
+
+       unsigned char bpp;
+       switch (fmt) {
+       case pix::INT_ARGB: bpp = 4; break; // Correct?
+       case pix::BGR: bpp = 3; break;
+       case pix::RGB: bpp = 3; break;
+       case pix::CHAR_RGBA: bpp = 4; break;
+       default: throw std::logic_error("Unsupported picture format.");
+       }
+
+       unsigned newpos = 0;
+       for (unsigned row = y; row < y + height; row++) {
+               for (unsigned col = x; col < x + width; col++) {
+                       for (char subp = 0; subp < bpp; subp++) {
+                               unsigned oldpos = (row * this->width + col) * bpp + subp;
+                               if (oldpos != newpos) {
+                                       buf[newpos] = buf[oldpos];
+                               }
+                               newpos++;
+                       }
+               }
+       }
+       this->width = width;
+       this->height = height;
+}
diff --git a/common/image.hh b/common/image.hh
new file mode 100644 (file)
index 0000000..64d3db0
--- /dev/null
@@ -0,0 +1,54 @@
+#pragma once
+
+#include <boost/filesystem/path.hpp>
+
+#include <algorithm>
+#include <cstddef>
+#include <stdexcept>
+#include <vector>
+
+namespace fs = boost::filesystem;
+
+namespace pix { enum Format {
+       INT_ARGB,  // Cairo's pixel format (SVG, text): premultiplied linear RGB (BGRA byte order)
+       CHAR_RGBA,  // libpng w/ alpha: non-premul sRGB (RGBA byte order)
+       RGB,  // libpng w/o alpha, libjpeg, ffmpeg: sRGB (RGB byte order, no padding)
+       BGR  // OpenCV/webcam: sRGB (BGR byte order, no padding)
+}; }
+
+struct Bitmap {
+       std::vector<unsigned char> buf;  // Pixel data if owned by Bitmap
+       unsigned char* ptr;  // Pixel data if owned by someone else
+       unsigned width, height;
+       double ar;  // Aspect ratio
+       double timestamp;  // Used for video frames
+       pix::Format fmt;
+       bool linearPremul;  // Is the data linear RGB and premultiplied (as opposed to sRGB and non-premultiplied)
+       bool bottomFirst;  // Upside-down (only used for taking screenshots)
+       Bitmap(unsigned char* ptr = NULL): ptr(ptr), width(), height(), ar(), timestamp(), fmt(pix::CHAR_RGBA), linearPremul(), bottomFirst() {}
+       void resize(unsigned w, unsigned h) {
+               if (!ptr) buf.resize(w * h * 4); else buf.clear();
+               width = w;
+               height = h;
+               ar = double(w) / h;
+       }
+       void swap(Bitmap& b) {
+               if (ptr || b.ptr) throw std::logic_error("Cannot Bitmap::swap foreign pointers.");
+               buf.swap(b.buf);
+               std::swap(width, b.width);
+               std::swap(height, b.height);
+               std::swap(ar, b.ar);
+               std::swap(timestamp, b.timestamp);
+               std::swap(fmt, b.fmt);
+       }
+       unsigned char const* data() const { return ptr ? ptr : &buf[0]; }
+       unsigned char* data() { return ptr ? ptr : &buf[0]; }
+
+       void crop(const unsigned width, const unsigned height, const unsigned x, const unsigned y);
+};
+
+// The total number of bytes per line (stride) may be specified. By default no padding at end of line is assumed.
+void writePNG(fs::path const& filename, Bitmap const& bitmap, unsigned stride = 0);
+void loadPNG(Bitmap& bitmap, fs::path const& filename);
+void loadJPEG(Bitmap& bitmap, fs::path const& filename);
+
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
new file mode 100644 (file)
index 0000000..cf1e5a4
--- /dev/null
@@ -0,0 +1,18 @@
+set(APPLICATION_FILE "performous.desktop")
+set(PIXMAP_FILE      "themes/default/icon.svg")
+
+# Install launcher and fonts on system level
+if(APPLE)
+       install(FILES ${APPLICATION_FILE} DESTINATION "Resources/applications/")
+       install(FILES ${PIXMAP_FILE} DESTINATION "Resources/pixmaps/" RENAME "performous.svg")
+       #file(GLOB FONT_FILES "fonts/*")
+       #install(FILES ${FONT_FILES} DESTINATION "Resources/fonts/truetype/performous")
+elseif(UNIX)
+       install(FILES ${APPLICATION_FILE} DESTINATION "share/applications/")
+       install(FILES ${PIXMAP_FILE} DESTINATION "share/pixmaps/" RENAME "performous.svg")
+       #file(GLOB FONT_FILES "fonts/*")
+       #install(FILES ${FONT_FILES} DESTINATION "share/fonts/truetype/performous")
+endif()
+
+install(DIRECTORY backgrounds config fonts shaders sounds themes xsl DESTINATION ${SHARE_INSTALL})
+
diff --git a/data/backgrounds/blue_band.svg b/data/backgrounds/blue_band.svg
new file mode 100644 (file)
index 0000000..b2af087
--- /dev/null
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:docname="blue_band.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1026"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.87006002"
+     inkscape:cx="551.04461"
+     inkscape:cy="380.19238"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:current-layer="g5712"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1"
+     borderlayer="true" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient5859">
+      <stop
+         style="stop-color:#3011ff;stop-opacity:0.03045685;"
+         offset="0"
+         id="stop5861" />
+      <stop
+         id="stop5867"
+         offset="0.5"
+         style="stop-color:#2f0ed4;stop-opacity:0.13197969;" />
+      <stop
+         style="stop-color:#3700f8;stop-opacity:0.05076142;"
+         offset="1"
+         id="stop5863" />
+    </linearGradient>
+    <filter
+       id="filter5083"
+       inkscape:collect="always">
+      <feGaussianBlur
+         id="feGaussianBlur5085"
+         stdDeviation="2.8444007"
+         inkscape:collect="always" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter5839">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.1497249"
+         id="feGaussianBlur5841" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5859"
+       id="radialGradient5865"
+       cx="862.00952"
+       cy="-39.022575"
+       fx="862.00952"
+       fy="-39.022575"
+       r="156.0404"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.99999689,-0.00249522,0.00249523,1,0.10005383,2.1509078)" />
+  </defs>
+  <text
+     xml:space="preserve"
+     style="font-size:21.12607765px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+     x="225.09085"
+     y="770.20593"
+     id="text2508-0"
+     transform="scale(1.181198,0.84659815)"><tspan
+       sodipodi:role="line"
+       id="tspan2510-6"
+       x="225.09085"
+       y="770.20593" /></text>
+  <g
+     id="g3955"
+     transform="matrix(1.0023828,0,0,0.71843624,16.811257,63.593811)"
+     style="opacity:0.6;filter:url(#filter5083)" />
+  <g
+     id="g4892"
+     transform="matrix(0.99958974,0,0,0.71843624,-0.03697497,106.10154)">
+    <g
+       transform="matrix(1.2468256,0,0,1.1986102,1.2039301,52.246604)"
+       id="g2836" />
+    <g
+       transform="matrix(1.2468256,0,0,1.1986102,0.760128,231.91957)"
+       id="g2209" />
+    <g
+       transform="matrix(5.0734563,0,0,5.3232265,22.200477,397.25206)"
+       id="g2411">
+      <g
+         transform="translate(-230.9546,-533.6597)"
+         style="fill:#000000;fill-opacity:1"
+         id="g2883" />
+      <g
+         transform="translate(-230.9546,-533.6597)"
+         style="fill:#000000;fill-opacity:1"
+         id="g2887" />
+      <g
+         transform="translate(-230.9546,-533.6597)"
+         style="fill:#000000;fill-opacity:1"
+         id="g2891" />
+    </g>
+    <g
+       inkscape:label="Calque 1"
+       id="layer1-4"
+       transform="matrix(1.2842911,0,0,1.3475176,-322.83945,-416.05452)" />
+  </g>
+  <g
+     id="g3873"
+     transform="matrix(0.98299439,0,0,0.7023051,37.837667,110.80445)" />
+  <rect
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.17483747;stroke-opacity:1"
+     id="rect3853"
+     width="1008.9509"
+     height="810.11407"
+     x="-2.2112732"
+     y="-1.0067407" />
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+     x="266.96185"
+     y="736.90112"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="736.90112" /></text>
+  <g
+     id="g5712"
+     transform="translate(-5.9229528,166.37207)">
+    <path
+       id="path5714"
+       d="m 89,134 c 0,-0.667 0,-1.333 0,-2 2.134,-0.467 1.905,1.429 2,3 -0.81,-0.19 -0.997,-1.003 -2,-1 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5716"
+       d="m 101,137 c -2.974,0.212 -3.526,-3.566 -2,-5 3.462,-0.701 3.586,3.506 2,5 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5718"
+       d="m 98,137 c -1.464,-0.87 -3.169,-1.497 -3,-4 1.464,0.87 3.169,1.497 3,4 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5720"
+       d="m 89,134 c 0.55,2.217 -1.91,1.424 -2,3 -2.491,-0.407 -0.06,-3.877 2,-3 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5722"
+       d="m 101,137 c 3.131,-0.464 4.464,0.869 4,4 -1.333,0 -2.667,0 -4,0 0,-1.333 0,-2.667 0,-4 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5724"
+       d="m 91,138 c 3.952,0.319 -0.741,3.095 2,4 -1.697,3.502 -2.569,-1.954 -2,-4 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5726"
+       d="m 427,158 c 0.345,-1.206 2.661,-0.809 3,0 0.907,2.163 -3.662,2.317 -3,0 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5728"
+       d="m 414,161 c 2.917,-1.47 2.917,4.47 0,3 0,-1 0,-2 0,-3 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5730"
+       d="m 99,216 c 1.519,2.481 3.929,4.071 4,8 -3.245,-0.756 -4.344,-3.656 -4,-8 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5732"
+       d="m 95,223 c 1.342,0.658 1.862,2.138 2,4 -1.759,-0.241 -2.279,-1.721 -2,-4 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5734"
+       d="m 251,228 c -1.742,-0.924 -5.367,0.034 -5,-3 1.481,-1.497 5.169,-0.093 5,3 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5736"
+       d="m 250,233 c -0.318,-1.766 5.603,-1.785 4,1 -1.794,0.127 -2.109,-1.224 -4,-1 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5738"
+       d="m 242,261 c 1.975,0.691 2.666,2.667 3,5 -1.278,1.367 -4.722,1.367 -6,0 -0.424,-2.09 0.686,-2.647 1,-4 2.59,1.366 3.143,3.23 2,-1 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5740"
+       d="m 231,265 c 2.398,-2.502 4.72,3.898 3,-2 4.581,-1.656 3.16,4.855 2,6 -3.418,0.418 -5.698,-0.302 -5,-4 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5742"
+       d="m 378,295 c 4.754,3.094 -0.701,10.583 0,16 -2.341,-3.715 1.356,-9.946 0,-16 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5744"
+       d="m 135,303 c -0.733,1.78 -1.818,0.145 -3,0 0.733,-1.78 1.818,-0.145 3,0 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       sodipodi:type="star"
+       style="fill:url(#radialGradient5865);fill-opacity:1;fill-rule:evenodd;stroke:none"
+       id="path5855"
+       sodipodi:sides="16"
+       sodipodi:cx="862.00952"
+       sodipodi:cy="-39.022575"
+       sodipodi:r1="173.08147"
+       sodipodi:r2="59.541275"
+       sodipodi:arg1="0.6267365"
+       sodipodi:arg2="1.2882254"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 1002.1961,62.490506 878.61115,18.157398 952.6777,108.41038 855.4656,20.158 889.35584,131.88492 833.3163,13.148895 821.87076,129.34035 815.53528,-1.8028426 760.49644,101.16404 804.82955,-22.420947 714.57657,51.645599 802.82895,-45.5665 691.10202,-11.676254 809.83805,-67.715799 693.6466,-79.161336 824.78979,-85.496815 721.8229,-140.53566 l 123.58499,44.333111 -74.06654,-90.252981 97.2121,88.252379 -33.89025,-111.726919 56.03954,118.736024 11.44554,-116.191454 6.33548,131.143192 55.03884,-102.966892 -44.3331,123.584997 90.253,-74.066547 -88.2524,97.212099 L 1032.917,-66.368897 914.18099,-10.329352 1030.3724,1.1161856 899.22925,7.451664 z"
+       transform="matrix(3.4159314,0,0,2.8005976,-2458.2158,330.87392)"
+       inkscape:transform-center-x="37.629367"
+       inkscape:transform-center-y="-11.399679" />
+    <path
+       id="path5746"
+       d="m 344.72097,0.94398594 c -2.91745,3.67813996 -8.50391,4.68726496 -6.59559,13.19117806 10.60571,3.27581 4.56415,-10.0912511 13.19118,-8.7941191 -2.96362,8.3104431 0.88161,10.6760611 -4.39706,17.5882381 -5.66781,-0.529845 3.01858,-3.783669 0,-8.794119 -14.96979,5.102788 3.8936,38.705116 -26.38236,35.176476 -8.54128,16.381245 -0.4375,29.636181 8.79412,39.573536 4.99286,7.888324 -5.84589,6.07014 -8.79412,10.992648 -3.77048,6.294386 -0.0484,18.496226 -10.99265,19.786766 2.89107,10.81897 1.68628,21.93913 0,32.97795 -6.93856,-1.07508 -7.763,3.96175 -15.3897,2.19853 9.15907,4.08486 12.08971,20.94539 10.99265,28.58088 -3.04717,-5.90965 -6.22844,-3.23184 -8.79412,2.19853 -3.91559,-1.61152 -0.31659,-3.99692 0,-6.59559 -6.37574,0.39574 -5.29846,10.44962 2.19853,8.79412 -1.61153,2.05343 -3.99693,3.33077 -6.59559,4.39706 19.76698,18.34014 22.99442,53.22201 41.77206,72.55148 28.35884,-20.74093 23.38576,-74.81596 41.77207,-105.52942 -6.95835,-11.36201 -29.60541,-7.0353 -37.37501,-17.58824 0,-49.236074 39.56254,-15.56999 54.96324,-2.19853 27.35411,-10.59691 58.0302,7.87513 61.55884,35.17647 3.94196,-0.27921 4.6367,2.691 8.79412,2.19853 2.093,-18.09609 1.91931,-54.4224 15.3897,-68.15442 14.31243,-2.32604 35.67115,-22.429397 46.16913,-2.19853 5.29626,0.8992 4.7796,-4.01451 10.99265,-2.19853 5.74695,8.90845 10.11543,19.19976 19.78676,24.18383 4.51578,29.4537 11.77531,65.10946 -8.79412,81.3456 0,3.66495 0,7.3277 0,10.99265 6.27901,6.95615 20.9102,17.13754 17.58824,26.38235 5.3468,9.30858 15.01594,14.29704 17.58822,26.38236 -10.1682,-0.0923 -7.06168,-13.4594 -13.19118,-17.58824 -2.61185,18.02355 7.28153,42.53496 13.19118,59.36031 0.94976,-6.14489 -0.67495,-28.58968 0,-41.77207 8.27746,1.98308 8.32143,12.19744 8.79412,21.9853 12.01056,17.30243 14.91922,43.70896 21.98529,65.95588 17.44754,-17.72894 28.18735,-42.16559 48.36766,-57.16176 1.45103,-18.33574 -2.91086,-42.48439 2.19853,-57.16178 -2.20073,-3.02737 -3.62318,0.93878 -6.59559,-4.39705 -2.61625,-15.2644 7.59812,-23.77051 2.19853,-35.17648 -16.63188,-3.5858 -31.63245,6.78906 -50.56619,0 -3.59459,-7.27054 -2.21391,-16.79897 2.19853,-21.9853 27.23759,-1.58734 40.20012,11.09818 68.15443,8.79412 -0.98275,9.2778 -9.4339,11.08499 -6.59559,24.18383 0.32978,4.06728 7.44642,1.3499 8.79412,4.39706 2.96581,24.45644 -5.27867,48.62708 0,68.15442 9.32836,-6.85941 22.68882,-7.42883 26.38235,-21.9853 4.88294,-19.24593 -11.13775,-44.80823 -2.19853,-65.95589 7.20678,-17.0518 25.28749,-14.07059 46.16913,-24.18383 8.04442,3.8892 15.07092,9.26241 21.98529,8.79412 4.0475,10.23416 10.18139,24.04972 2.19853,37.37501 0.68155,2.9834 5.50512,1.82478 8.79412,2.19853 -2.93064,19.78676 -12.74707,32.68994 -17.58824,50.56618 1.91712,5.41058 9.73509,4.92251 8.79412,13.19118 23.68696,3.42751 21.67091,32.56022 35.17648,46.16912 -4.66968,17.86085 10.05388,16.32848 8.79412,30.77941 34.21132,-17.81908 62.68008,-41.38292 96.73535,-59.36029 3.5264,-12.95594 -3.2583,-22.56791 4.397,-30.77942 7.9785,7.76521 10.764,0.14291 17.5883,-4.39706 8.4203,4.3377 18.1268,-1.30812 26.3823,-8.79412 11.085,5.03903 20.4134,11.83029 26.3824,21.9853 -2.2249,5.8371 -3.6166,12.50744 -10.9927,13.19118 2.049,-5.28087 8.8359,-5.81951 6.5956,-15.38971 -2.8647,-6.06354 -11.883,-4.39486 -17.5882,-2.19853 0,-4.39706 0,-8.79412 0,-13.19118 -4.595,-0.92998 -5.8195,1.50819 -8.7942,2.19853 -3.1812,8.31264 6.0416,4.21898 4.3971,10.99265 -7.5146,0.91899 -12.5272,-0.66396 -10.9926,-8.79412 -4.8566,0.27482 -0.9344,9.32616 -2.1986,13.19118 -6.213,-1.81599 -5.6964,3.09773 -10.9926,2.19853 0,-3.66495 0,-7.3277 0,-10.99265 -11.982,-1.03111 -2.5767,12.78005 -6.5956,15.38971 -9.5702,-2.2403 -10.1088,4.54656 -15.3897,6.59559 1.706,1.95669 2.3634,4.96428 2.1985,8.79412 -26.5318,20.55844 -67.93895,43.40336 -98.93382,63.75735 -10.4738,6.8792 -27.68829,13.96067 -28.58089,28.58089 -5.29626,-0.8992 -4.7796,4.01451 -10.99265,2.19853 -0.8992,5.29626 4.01452,4.7796 2.19853,10.99265 -9.7219,0.34956 -15.96352,10.39684 -21.98529,2.19853 2.00945,17.0452 16.97264,21.13446 24.18382,32.97794 1.9501,-5.3776 10.71344,-3.94196 13.19118,-8.79412 5.11378,3.2978 3.35496,5.37541 2.19853,10.99265 3.85402,-2.00945 7.63989,-4.08706 6.59559,-10.99265 -5.681,-6.94735 -13.77599,2.19853 -19.78677,2.19853 -8.10598,-1.42025 -11.53129,-7.52337 -13.19118,-15.3897 29.83405,-20.00003 56.29116,-43.3748 87.94119,-61.55884 1.59394,-5.00165 1.96109,-11.23009 4.39706,-15.3897 3.55063,-0.61779 3.78587,2.07761 6.59559,2.19852 4.22338,-2.8273 -5.18853,-4.54436 0,-10.99264 13.87052,-1.25756 10.3155,-7.37387 21.98531,-8.79412 3.9178,4.87634 8.6578,8.93042 6.5956,19.78676 4.0013,-2.73497 4.3992,-20.37597 -4.3971,-17.58823 15.9591,3.39673 28.0686,-25.97343 46.1691,-13.19117 7.1607,-6.76268 13.9981,-13.85074 19.7868,-21.9853 9.2932,-1.71925 19.2218,2.92844 4.3971,2.19853 -8.3698,7.0199 -15.2402,15.53921 -21.9853,24.18382 -18.4061,-7.80917 -42.7592,3.79906 -39.5736,30.77941 -11.3818,4.74003 -12.4502,19.79557 -17.5882,30.77942 -27.38269,15.8536 -49.87365,36.60112 -94.53678,35.17648 -3.5814,4.4806 -4.61911,11.5027 -8.79412,15.3897 9.5658,0.0396 12.25681,-6.79785 24.18383,-4.39706 7.93889,18.71829 -12.14688,25.05665 -24.18383,30.77942 3.80126,20.38257 20.26385,28.10381 24.18383,48.36765 1.60932,2.05343 3.99693,3.33078 6.59559,4.39706 9.61857,24.8236 19.87471,49.01183 28.58088,74.75001 -9.43828,-6.68353 -8.63142,-23.6122 -17.58823,-30.77941 -1.13005,-28.18295 -20.36059,-38.26761 -26.38236,-61.55883 -2.15896,-2.97242 -5.86568,-4.39267 -8.79412,-6.59559 0,-2.93064 0,-5.86348 0,-8.79412 -0.32978,-4.06728 -7.44642,-1.3499 -8.79412,-4.39706 1.76322,-7.6267 -3.27361,-8.45115 -2.19853,-15.38971 -15.35013,-1.42685 -19.05905,8.78972 -17.58824,24.18383 0.57162,8.2225 18.21262,-0.62439 17.58824,8.79412 -4.00352,-3.35936 -17.98177,-3.35936 -21.98529,0 -0.97395,11.23448 15.55239,4.96867 24.18382,6.59559 10.33529,2.73716 -27.77622,5.03903 -28.58088,-2.19853 -10.23636,24.6631 20.44852,27.48821 24.18382,39.57353 6.2812,-1.14543 -3.54842,-3.25162 -4.39706,-4.39706 4.58394,-6.54942 8.95461,5.5293 15.38971,4.39706 -2.40079,0.80246 -9.19865,9.62516 0,8.79412 -15.20723,3.44729 -24.61254,-17.86745 -35.17647,-26.38236 -2.61186,13.44841 13.72322,24.75105 21.98529,37.37501 8.05102,12.29857 20.35179,26.50327 21.9853,46.16912 1.89513,6.16688 11.44555,4.67628 15.38971,8.79412 -3.18347,0.55183 -20.21988,0.27262 -10.99265,10.99265 -2.75696,-3.17688 -47.03974,-11.31803 -52.76471,2.19853 -1.9523,-46.78471 -9.09092,-90.83226 0,-131.91178 -7.34969,12.44148 -28.50394,24.41027 -46.16913,13.19117 -1.29053,-7.71903 10.39245,-7.23096 4.39706,-13.19117 -11.98858,-3.46928 -2.32824,9.12609 -6.59559,8.79412 -10.70244,1.17401 -10.28912,-8.76554 -17.58824,-10.99265 -5.06321,11.27845 7.0419,15.02915 8.79412,21.98529 0.57602,2.28208 -4.34429,3.92658 -4.39706,6.59559 -0.17808,9.00298 9.66254,16.26033 10.99265,28.58089 -2.55469,-0.35836 -3.91118,0.48587 -4.39706,2.19853 5.41278,20.23747 11.16853,40.12976 8.79412,68.15442 -12.45907,0 -24.91594,0 -37.375,0 -5.06102,-32.31399 -0.78268,-73.96733 -2.19853,-109.92649 -6.54063,31.56649 2.12817,78.34461 -4.39706,109.92649 -9.31957,1.67308 -26.03719,-4.05189 -28.58089,4.39706 -17.23647,-9.88019 -54.05965,-0.17149 -74.74999,-6.59559 -2.57667,0.35396 -1.85556,4.00792 -2.19853,6.59559 -11.25647,-1.58074 -39.36687,-7.55415 -41.77206,2.19853 -8.89525,-13.82216 -42.11064,-3.32638 -61.55883,-6.59559 -2.57668,0.35396 -1.85336,4.00792 -2.19853,6.59559 -0.18908,-3.91998 -18.35553,-6.80225 -13.19118,-2.19853 -6.36035,6.21304 -10.27593,-8.6688 -13.19118,-13.19118 -11.42796,-16.42082 -23.65398,-32.04137 -32.97795,-50.56618 -10.753,-11.23009 -22.24692,-21.72367 -26.38235,-39.57354 -14.02003,-3.02298 -34.64004,7.12544 -50.56619,2.19853 -4.99066,2.33704 -0.83764,13.81996 -2.19853,19.78677 7.42664,-2.83171 6.01518,-14.5059 15.38971,-15.38971 -0.64637,4.4828 -5.94922,4.31132 -6.59559,8.79412 1.97428,5.94483 5.30725,-4.6367 6.59559,-6.59559 9.00958,8.44675 -10.40124,7.06168 -6.59559,17.58824 10.85414,-5.26768 17.2035,-15.04014 26.38236,-21.9853 -4.05629,15.26879 -29.19428,20.66838 -37.37501,35.17648 11.03662,9.82743 27.60694,-9.62956 48.36766,-4.39706 -11.57306,7.63549 -34.6972,16.51755 -48.36766,8.79412 -3.64076,2.22271 -2.3876,9.33715 -4.39705,13.19118 4.97307,7.48379 13.54074,11.37739 21.98529,15.3897 2.49533,-0.41772 1.22019,-2.20512 0,-2.19853 6.15589,-1.68847 24.85438,2.93944 32.97795,6.59559 6.59559,0 13.19118,0 19.78677,0 6.99792,3.02958 -7.76961,2.17435 -10.99265,2.19853 -12.45907,0 -24.91594,0 -37.37501,0 -7.9191,-6.73629 -19.34706,-9.96593 -26.38235,-17.58823 -8.57867,10.87612 5.81071,17.56625 8.79411,24.18382 -4.01231,5.27867 -6.50764,-9.46907 -13.19117,-8.79412 -7.9257,5.26548 -4.39706,21.9853 -10.99265,28.58089 -12.15787,-3.22305 1.0399,-13.12962 2.19853,-17.58824 3.95295,-15.20063 6.96714,-35.23583 10.99265,-50.56618 14.40916,-3.51545 4.08486,-18.11369 6.59558,-32.97795 -6.34275,-6.11411 -19.19096,-5.72497 -30.77941,-6.59559 -5.06102,-0.80246 -2.1018,-9.62516 -8.79412,-8.79412 -3.26262,0.96076 0.86842,2.81192 0,6.59559 -5.18633,-12.06113 -13.93208,0.16269 -24.18383,-4.39706 -0.70133,-5.09839 0.35397,-8.44015 2.19853,-10.99264 -7.70365,0.98274 -4.49819,9.46027 -6.59559,10.99264 -12.51843,1.52578 -18.26098,-3.72431 -30.77941,-2.19853 -5.81292,7.16281 -1.81819,12.32716 -10.99265,17.58824 7.76301,1.76322 7.39585,11.65881 8.79412,19.78677 -3.16589,-0.49907 -0.76729,-6.56041 -4.39706,-6.59559 1.71485,11.42796 9.68452,31.75556 0,43.97059 0.96076,3.26262 2.81412,-0.86841 6.59559,0 -1.69947,13.42643 2.88007,20.56945 2.19853,32.97795 -6.87041,-2.40959 -7.0287,-2.2491 -6.59559,6.59559 -6.45928,-21.34772 -10.31331,-71.35768 -8.79412,-112.12502 -16.18558,2.13697 -17.58164,19.06126 -26.38236,28.58089 6.36035,14.57405 0.52545,29.16789 4.39706,43.97059 8.43796,0.37815 4.75322,-11.37079 13.19118,-10.99264 0.34737,16.11302 -16.93308,22.55691 -8.79412,39.57353 4.68507,-3.37474 6.35375,-9.76807 8.79412,-15.38971 3.77927,7.52337 -7.30352,19.01948 -8.79412,28.58089 -20.04839,-8.19832 -63.00768,-5.5359 -83.544148,0 33.032928,-58.57323 77.876338,-105.33596 109.926508,-164.88973 -13.23955,2.71738 -17.75753,17.45193 -24.18383,26.38236 -7.05288,9.80104 -17.0452,18.25219 -19.78677,30.77941 -29.4559,29.9066 -46.01744,72.70318 -76.948558,101.13237 0,-10.26054 0,-20.51888 0,-30.77942 8.16094,-1.36528 22.627268,3.57481 24.183828,-4.39706 -3.76169,-5.03023 -16.781378,-0.80686 -24.183828,-2.19852 0,-6.59559 0,-13.19118 0,-19.78677 13.92329,0 27.848778,0 41.772088,0 -6.14491,-9.24482 -28.589698,-2.18974 -41.772088,-4.39706 0,-4.39706 0,-8.79412 0,-13.19118 16.121818,0 32.245838,0 48.367678,0 23.28463,-19.21955 34.40039,-50.61015 46.16912,-81.3456 -58.36659,-28.18955 -122.579048,-42.89991 -164.889748,-90.13972 1.71925,-45.18418 30.04731,-63.75735 41.77206,-98.93383 23.39016,-21.31474 35.71952,-53.68809 46.169128,-87.94119 -9.616368,-2.8427 -13.604498,-11.31363 -21.985298,-15.38971 -0.7387,-8.0664 3.37694,-11.28065 8.79412,-13.19117 -3.4341,-3.16149 -7.65088,-5.5403 -8.79412,-10.99265 6.98913,-14.78951 -2.82511,-22.81854 2.19853,-39.57354 1.76762,1.16302 3.57041,2.29307 6.59559,2.19853 0,-4.39706 0,-8.79412 0,-13.191176 -2.70419,0.960756 -4.51578,2.814116 -4.39706,6.595586 -6.67254,-10.416631 14.47732,-11.845675 13.19118,-24.183824 4.641098,2.921846 6.498848,-1.083875 13.191178,2.19853 -1.24437,-2.053427 -6.11191,-3.330772 -2.19853,-4.39706 -0.24404,-5.382001 -7.26834,-0.466088 -6.59559,2.19853 -6.791258,-4.091464 7.65528,-12.072127 10.99265,-6.595589 9.32836,-3.862817 5.6832,-20.699158 19.78679,-19.786768 2.2447,-11.366399 0.80026,-14.292642 0,-26.382357 6.59778,-2.196331 9.14808,-8.440155 15.3897,-10.992648 0.0484,-5.179736 -3.78806,-6.472472 -2.19852,-13.1911791 6.91877,-4.39705896 12.12049,-4.014515 15.3897,-15.3897079 4.7972,-0.400132 6.99572,1.7983979 6.59559,6.5955899 6.21085,-25.3028789 32.01939,-31.0058649 50.56619,-43.9705949 18.19723,1.343302 32.99333,-0.716721 43.97059,-6.595589 6.37354,2.420581 14.86866,2.719581 15.38971,10.992649 2.09959,-3.763883 7.29692,-4.430038 8.79412,-8.794119 10.32209,4.3355 25.7162,3.596794 28.58088,15.389708 9.18986,-7.039692 14.54328,4.957684 21.9853,6.595589 1.4906,15.838208 0.23085,20.9673779 6.59559,30.77941594 z M 335.92685,31.723402 c -9.42729,12.058936 5.48533,8.114773 0,0 l 0,0 z M 300.75038,277.95873 c -4.82138,-29.62079 -7.97847,-60.90807 -19.78677,-83.54413 -7.46621,0.13851 -12.07872,-2.57887 -15.38971,-6.59559 -5.70079,2.82072 1.69287,13.14501 -2.19853,13.19118 -8.35881,1.76322 -2.79433,-10.39685 -4.39706,-15.38971 11.23888,-7.81577 6.2768,-31.83031 17.58824,-39.57353 7.86414,3.12851 15.7041,6.2812 26.38236,6.59559 0.46389,-2.46675 2.44036,-3.42311 4.39705,-4.39706 -0.80466,-10.14842 -2.70639,-12.65254 0,-21.9853 -5.61724,-3.77268 -7.69485,2.51952 -10.99264,-2.19853 -0.93878,-11.19711 0.97175,-19.54933 6.59559,-24.183826 0.37375,3.288996 -0.78488,8.112576 2.19853,8.794116 -0.36936,-4.76641 7.79818,-0.99593 10.99264,-2.19853 2.17435,-11.597241 2.35023,-8.314836 -4.39706,-10.992645 3.75949,-6.595589 8.00265,-2.442567 15.38971,-2.19853 -2.36562,-14.059598 -21.99849,-19.06565 -13.19118,-37.375006 -4.15742,-0.492471 -4.84995,2.477743 -8.79411,2.19853 -3.18348,8.312641 6.04155,4.218978 4.39705,10.992648 -6.92536,-1.061889 -4.97747,6.747288 -13.19117,4.39706 -2.58767,-3.275809 -5.51831,-6.20645 -8.79412,-8.794119 6.96274,-1.831375 11.17512,-6.413111 15.38971,-10.992649 -7.41125,-2.10839 -15.01816,6.734097 -19.78677,0 5.2237,-3.570412 12.64154,-4.946692 17.58824,-8.794119 -12.54262,3.939766 -22.24913,-2.941632 -28.58089,6.59559 6.60218,-0.820052 -3.34616,16.17898 -13.19118,13.191178 2.88667,6.824236 -0.5958,6.274604 0,15.389708 2.58767,0.345169 6.23943,-0.378147 6.59559,2.19853 -10.27373,0.246236 1.56096,4.029905 2.19853,6.59559 -2.80313,4.526772 -3.50666,11.150944 -10.99265,10.992648 -0.32758,-2.928441 8.93922,-6.635163 2.19853,-8.794119 -0.70133,2.545898 -6.80445,10.355075 -8.79412,4.39706 -2.71738,-7.114443 7.11444,-1.679677 4.39706,-8.794119 -8.01584,-7.37387 -20.94539,-9.834024 -24.18383,-21.985298 -4.39705,0 -8.79411,0 -13.19117,0 -0.63318,16.754996 1.95229,30.293542 13.19117,35.176476 -0.11872,-3.781471 1.69287,-5.634832 4.39706,-6.595589 7.14523,14.840075 13.06806,30.902535 17.58824,48.367655 -5.2347,5.74695 -7.71464,18.45885 -17.58824,13.19118 0.9014,14.09257 -15.58977,10.79258 -24.18382,15.3897 8.75454,16.1614 35.5898,14.24428 43.97059,30.77942 -12.54921,-7.99165 -33.75842,-18.97771 -43.97059,-21.9853 27.96749,35.05776 64.01898,62.03152 90.13972,98.93384 z M 258.97831,86.686646 c -7.48819,-11.592848 -4.54656,4.188199 0,0 l 0,0 z m -17.58824,37.375004 c -2.27548,6.18886 -1.06189,17.42555 2.19853,24.18383 7.50578,-7.36508 7.28593,-18.37751 -2.19853,-24.18383 z m 103.3309,149.50002 c -1.70606,-0.49247 -4.3377,-0.0594 -4.39706,-2.19853 9.38113,-4.34429 24.70488,-19.34486 15.38971,-28.58088 -7.09686,9.75927 -14.9522,18.75785 -19.78677,30.77941 4.09366,-2.10179 7.34749,6.5846 8.79412,0 z m 35.17648,-118.7206 c 2.56128,0.36935 2.3876,3.47587 2.19853,6.59559 -6.91658,-2.51952 -5.34243,3.45169 -8.79412,4.39706 -0.65517,21.34772 -14.71037,40.9608 -10.99265,59.3603 2.27548,-3.02738 8.71717,-13.03289 10.99265,-8.79412 1.6445,6.77367 -7.58053,2.68001 -4.39706,10.99265 6.59778,5.95362 10.99484,-3.62538 13.19118,-8.79412 -3.26702,-2.59647 -9.82304,-1.90173 -8.79412,-8.79412 9.82303,-16.98144 14.08598,-37.2387 19.78676,-48.36765 6.25262,2.40299 17.32222,16.38564 24.18383,4.39706 -6.18446,-3.34177 -13.12742,-5.92724 -15.38971,-13.19118 -13.32529,1.82038 -14.96759,2.25349 -21.98529,2.19853 z m 15.3897,-4.39706 c 0.32319,-10.15061 -11.19051,-13.73202 -13.19117,-4.39706 4.4762,0.65296 5.85688,4.40365 8.79411,6.59559 0.48588,-1.71266 1.84017,-2.55689 4.39706,-2.19853 z m 151.69855,76.94854 c 0.4485,6.8792 -1.484,16.1394 2.19853,19.78676 7.17601,0.57822 6.35376,-6.83962 10.99265,-8.79411 -5.39739,-2.66462 -5.87887,-10.24515 -13.19118,-10.99265 z m 70.35293,164.88972 c -13.08784,-27.94991 -11.11796,-70.95974 -30.77941,-92.33824 1.57414,14.31243 7.60471,24.05191 -2.19853,32.97794 7.1716,19.94286 13.69684,40.53429 21.98529,59.3603 -10.11983,6.03716 -20.43973,23.48909 -13.19117,39.57353 21.64012,-8.40717 47.71029,-12.38211 68.15442,-21.98529 -8.83809,0.20446 -17.65859,-9.22943 -35.17648,-6.59559 2.87348,-9.46907 -6.23942,-6.95175 -8.79412,-10.99265 z M 758.04454,187.81901 c -12.52503,-5.94482 -31.76216,4.00572 -43.9706,8.79412 -0.28581,15.48205 -13.83535,25.65464 -6.59559,41.77207 6.65495,-2.57448 11.77972,-6.67254 19.78677,-2.19853 2.05782,-24.09809 21.19383,-22.23813 32.97795,-32.97795 9.33715,2.51072 10.19897,1.06849 13.19117,-6.59559 -3.91338,-1.31472 -9.13049,6.44389 -10.99264,0 5.09619,1.91712 5.05441,-11.18612 2.19852,-4.39706 -7.87293,10.15281 -2.47334,-2.44037 -6.59558,-4.39706 z m 134.11031,175.88237 c -3.02958,-2.8339 -2.17655,-9.55041 -2.19853,-15.3897 -5.45235,2.85369 -10.66947,-4.90492 -10.99265,0 4.84116,1.75442 8.77653,4.41464 8.79412,10.99264 -0.3034,4.09367 -1.44663,7.34749 -4.39706,8.79412 -4.4828,-1.38067 -0.61779,-11.10917 -8.79412,-8.79412 -1.13004,10.93989 2.15236,31.82812 -8.79412,26.38236 3.20546,15.19624 16.41203,-1.71705 24.18383,-2.19853 -0.7431,-16.86492 12.6591,-19.5867 8.7941,-39.57353 -2.7987,-0.44631 -10.76838,-6.39113 -10.99263,-2.19853 8.66883,-1.23338 8.59623,17.6388 4.39706,21.98529 z M 744.85336,493.41464 c -0.0594,5.24349 -9.83842,11.91383 -6.59559,13.19118 3.06915,-2.23371 11.58625,-10.16601 6.59559,-13.19118 z m -43.9706,0 c -15.68871,-1.89953 -17.9466,-17.22988 -28.58088,-24.18383 4.83456,10.69585 15.5524,36.00312 28.58088,24.18383 z m -30.77941,-15.38971 c 0,23.45172 0,46.90123 0,70.35295 7.3277,0 14.65759,0 21.98529,0 -7.40025,-23.37917 -6.44389,-55.11494 -21.98529,-70.35295 z M 89.691502,176.82636 c -0.92558,-4.20359 -0.79587,-9.46247 -6.59559,-8.79412 -0.61998,5.74916 0.80246,9.45588 6.59559,8.79412 z m -2.19853,-46.16912 c -0.97395,-4.15522 2.99,-13.25054 -4.39706,-10.99265 -0.32318,5.45235 -0.40893,10.66947 4.39706,10.99265 z M 151.25035,5.3410449 c -0.69033,2.9724126 -3.1285,4.1991922 -2.19853,8.7941191 6.12291,3.522045 6.07894,-9.4954501 2.19853,-8.7941191 z M 322.73567,-27.6369 c 2.90206,-6.083332 -8.69298,-7.547553 -2.19853,-4.39706 -0.16489,3.08014 0.49028,8.407178 2.19853,4.39706 z m -54.96324,59.360302 c 2.85369,-2.921846 2.89766,-8.180729 -2.19853,-8.794119 0.37375,3.289001 -0.78487,8.112575 2.19853,8.794119 z m 39.57353,-6.595589 c 5.31165,11.307038 5.68101,-7.569538 0,0 l 0,0 z m -13.19117,2.19853 c -7.40685,-6.676935 -6.66595,8.127964 0,0 l 0,0 z m -162.6912,39.573535 c 0.52545,-3.137302 3.61878,-3.70892 4.39706,-6.59559 -4.15742,0.492471 -4.85216,-2.477743 -8.79412,-2.198529 -0.61339,5.010449 0.52984,8.264273 4.39706,8.794119 z m 6.59559,2.198529 c 3.78147,0.118721 5.63483,-1.692868 6.59559,-4.397059 -3.78148,-0.118721 -5.63484,1.692868 -6.59559,4.397059 z m 347.36769,85.742663 c 1.88634,-8.3742 14.64001,-5.88107 19.78677,-10.99265 1.95669,5.3732 5.12477,9.53282 4.39706,17.58824 -8.74575,-3.24284 -15.11269,4.67407 -26.38236,0 -4.88513,12.30956 2.56569,19.29869 10.99265,24.18382 6.10532,-10.0165 11.17952,-21.06631 26.38236,-21.98529 1.65769,9.84721 16.48897,3.11971 19.78677,15.3897 14.71915,-20.50568 -4.74443,-37.64322 -10.99265,-59.3603 -12.4129,3.71112 -6.1317,26.11194 -26.38236,21.9853 0.31879,-2.59866 3.91338,-4.98407 0,-6.59559 -4.02771,7.0265 -21.78083,11.85007 -17.58824,19.78677 z M 91.890032,128.45871 c 6.41311,3.23184 6.41311,-9.82743 0,-6.59559 0,2.19853 0,4.39706 0,6.59559 z m 281.411828,13.19118 c 5.50292,0.37155 6.88139,-3.37694 8.79412,-6.59559 -3.82984,0.16489 -6.83743,-0.49027 -8.79412,-2.19853 0,2.93064 0,5.86348 0,8.79412 z m 48.36765,10.99265 c 0.8948,-4.23657 8.5237,-1.73684 6.59559,-8.79412 -12.32056,4.88513 -12.91636,-13.32089 -21.9853,-4.39706 7.98506,2.61185 -9.04035,9.52623 0,13.19118 -0.73211,-13.45281 14.94781,-9.08653 15.38971,0 z m -274.81621,8.79412 c 1.46641,0 2.93064,0 4.39705,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46641,0 -2.93064,0 -4.39705,0 0,1.46642 0,2.93064 0,4.39706 z m 2.19852,-8.79412 c -2.34143,-2.5437 -10.12642,-0.80686 -13.19117,2.19853 4.36848,0.0286 2.79433,5.99978 8.79412,4.39706 0.52544,-3.13731 3.61878,-3.70892 4.39705,-6.59559 z m 21.9853,4.39706 c 2.20513,-0.007 2.61625,1.78081 4.39706,2.19853 -0.007,-2.20513 1.78081,-2.61625 2.19853,-4.39706 -2.20512,0.007 -2.61625,-1.78081 -4.39706,-2.19853 0.007,2.20512 -1.78081,2.61625 -2.19853,4.39706 z m 19.78677,-2.19853 c -7.40685,-6.67694 -6.66594,8.12796 0,0 l 0,0 z m 230.84562,6.59559 c 6.76707,-1.53898 4.22557,-1.53898 10.99265,0 0.11872,-3.78148 -1.69287,-5.63484 -4.39706,-6.59559 -0.24404,4.15302 -7.26834,1.52578 -6.59559,6.59559 z m -285.80886,35.17647 c 3.21864,1.91272 6.96714,3.2912 6.59559,8.79412 -11.24109,-3.54403 -13.12962,16.00969 -24.18385,10.99265 -2.51952,9.1151 4.6257,8.56547 4.39706,15.38971 -2.20513,-0.007 -2.61625,1.78081 -4.39706,2.19853 -3.13731,-0.52545 -3.70892,-3.61878 -6.59559,-4.39706 -3.50666,1.62251 0.50126,10.7618 -6.59559,8.79412 -2.40519,9.73289 3.72431,10.93328 4.39706,17.58823 -5.52491,1.805 -10.216568,4.43884 -13.191178,8.79412 12.127088,1.83797 -2.28867,18.29617 -6.59559,10.99265 3.64736,5.14676 6.32737,11.26087 10.992648,15.38971 0.68374,-6.64616 -2.440368,-17.09797 4.39706,-17.58824 2.76355,0.9014 4.49379,2.83391 4.39706,6.59559 -3.16588,-2.46015 -5.36441,-2.37001 -6.59559,2.19853 3.82984,-0.16489 6.83743,0.49247 8.79412,2.19853 3.5924,-12.29198 -0.77608,-19.15799 8.79412,-24.18383 -4.26955,-10.39904 4.23436,-7.15401 -2.19853,-15.3897 9.75709,-1.96989 7.13423,-16.31749 17.58826,-17.58824 -4.30912,1.06189 -7.08147,-10.07806 -2.19853,-10.99265 5.06981,-0.67275 2.44256,6.35155 6.59559,6.59559 6.17786,-5.96022 1.73683,-5.47214 0,-13.19118 4.64109,-1.95449 6.49885,-6.69232 13.19117,-6.59559 1.63791,-6.76707 -6.03496,-4.22557 -4.39706,-10.99265 7.1782,0.58261 4.66089,-8.53029 10.99265,-8.79412 3.21865,-0.0374 6.96714,9.2712 6.59559,0 6.78906,-2.20732 -6.31417,-2.07981 -4.39706,-6.59559 -0.76289,-6.52963 8.21371,-15.18524 0,-19.78676 0.28361,3.94636 -2.18314,5.14456 -6.59559,4.39706 4.58614,11.28725 -6.09432,6.60438 -8.79411,8.79411 -5.53151,4.48501 -3.81226,11.73356 -6.59559,15.38971 5.17973,0.0484 6.47247,-3.78806 13.19117,-2.19853 0,1.46642 0,2.93064 0,4.39706 -6.19106,2.60306 -12.56899,5.01925 -17.58823,8.79412 z m 316.58828,-28.58089 c -3.70672,-1.59833 -10.09785,-11.6522 -15.38971,-4.39705 5.32923,-0.0264 9.06893,12.68331 15.38971,4.39705 z m 96.7353,10.99265 c 6.26362,0.299 8.40278,-11.13775 2.19853,-10.99265 0.70133,5.0984 -0.35176,8.44016 -2.19853,10.99265 z m -160.49267,6.59559 c 2.58767,0.34517 6.23943,-0.37814 6.59559,2.19853 -7.1738,-0.57821 -6.35155,6.83963 -10.99264,8.79412 2.05122,2.34583 8.11037,0.68374 6.59558,6.59559 -5.35561,-1.42025 -11.30923,-4.44103 -10.99264,4.39706 5.51611,5.25668 7.36287,-5.55568 15.3897,-4.39706 -0.033,5.8283 1.22019,12.94494 -4.39706,13.19118 2.11719,-6.53843 -10.80137,-2.01605 -10.99264,-2.19853 2.57887,3.2846 9.13489,2.58987 8.79411,8.79412 -6.09652,16.55493 -18.9909,28.46216 -21.98529,37.375 0.64637,-1.95449 5.94922,-9.62516 6.59559,-4.39706 -2.9966,2.79873 -3.39453,10.7684 2.19853,10.99265 0.40892,-3.25602 5.31384,-2.01605 8.79412,-2.19853 1.58513,-8.6732 3.49566,-17.02321 6.59558,-24.18382 -4.23656,38.2698 -7.31231,77.69823 -19.78676,107.72795 4.85435,0.27481 0.93437,9.32616 2.19853,13.19117 -8.74575,11.04102 -7.76741,31.80833 -17.58824,41.77207 1.17401,-6.36694 -8.56767,3.37254 -2.19853,2.19853 5.15555,-1.06629 0.43531,23.08456 -6.59559,24.18382 -5.86348,0 -11.72476,0 -17.58824,0 11.74675,25.62827 17.33981,57.41021 26.38236,85.74266 7.25075,3.7419 15.82721,6.16028 15.38971,17.58824 25.5601,-7.41784 42.93948,-23.01641 63.75736,-35.17647 1.27734,-8.60505 -1.89074,-12.76687 -4.39706,-17.58824 8.25768,-3.46708 9.40091,-14.0508 10.99265,-24.18383 -21.18723,0.077 -33.38907,-13.50337 -26.38236,-35.17647 -9.40531,-8.91724 -16.37245,-20.27045 -24.18383,-30.77942 5.61945,-57.1156 8.95901,-133.18912 46.16913,-160.49266 9.42729,-6.91658 40.54528,-1.91053 35.17647,-19.78677 -17.84326,9.73509 -23.75071,-11.39058 -35.17647,-15.38971 -18.74467,2.50852 -18.86778,23.63639 -37.37501,26.38236 0.38694,9.18106 -6.81544,10.77279 -8.79412,17.58824 4.16182,-24.41907 27.79821,-29.36357 39.57354,-46.16913 -4.38607,-2.20952 -3.46928,-9.7219 -10.99265,-8.79412 -3.00759,3.86062 -10.66507,8.86228 -15.38971,4.39706 2.02045,5.5293 4.21898,15.07972 -4.39706,15.38971 -2.46675,-0.46389 -3.42311,-2.44037 -4.39706,-4.39706 0.81566,-15.66452 8.69739,-10.6101 13.19118,-21.9853 -7.89052,-1.29493 -10.63648,2.5547 -15.38971,4.39706 0.61339,-3.30219 9.45368,-9.25801 4.39706,-10.99265 -3.39453,4.66748 -6.32517,9.79665 -8.79412,15.38971 z m -270.41917,-4.39706 c 5.06981,-0.67275 2.44256,6.35156 6.59559,6.59559 -1.02452,-8.65561 4.60814,-11.41696 -2.19853,-15.38971 2.51951,6.91658 -3.4517,5.34243 -4.39706,8.79412 z m 360.55889,0 c -0.65296,-1.94789 -4.40365,-11.17073 -6.59559,-4.39706 4.51578,-1.91711 4.38827,11.18612 6.59559,4.39706 z m -37.375,6.59559 c -3.21865,0.0374 -6.96714,-9.2712 -6.59559,0 6.43729,1.97428 6.75388,1.97428 13.19118,0 1.96109,11.23009 12.95373,13.42862 21.98529,17.58824 -4.09366,0.3034 -7.34748,1.44663 -8.79411,4.39706 9.4163,1.35649 8.9634,-7.15841 17.58823,-6.59559 1.37628,-6.67913 -1.95889,-19.79336 -6.59559,-13.19118 4.80599,0.32319 4.72025,5.5403 4.39706,10.99265 -2.80972,0.12092 -3.04496,2.81852 -6.59559,2.19853 -0.70133,-5.16215 -3.47367,-8.25108 -2.19853,-15.38971 -6.37793,-1.68407 -12.64594,-3.47807 -15.3897,-8.79412 1.22018,0.007 2.49533,-1.78081 0,-2.19853 -5.03684,2.29087 -6.10972,8.54789 -10.99265,10.99265 z m 90.13972,2.19853 c -1.06629,-2.59866 -2.34364,-4.98406 -4.39706,-6.59559 -4.53997,7.06608 -12.63715,7.187 -21.9853,4.39706 0.73431,5.12917 2.25349,9.47347 6.59559,10.99265 2.66901,-6.85941 11.63682,-7.41784 17.58824,-10.99265 -0.0945,2.33704 1.0355,5.58427 2.19853,2.19853 z m -334.17652,4.39706 c 3.11532,8.89086 -1.22898,10.02969 4.39706,10.99265 -0.46389,2.46675 -2.44037,3.42311 -4.39706,4.39706 -2.34583,-2.05123 -0.68374,-8.11038 -6.59559,-6.59559 4.76421,6.37794 -4.00132,12.64594 4.39706,15.38971 -0.1583,-7.486 6.46587,-8.18952 10.99265,-10.99265 -0.91899,-8.75894 -3.35716,-17.31782 -4.39706,-15.38971 -0.48588,1.71266 -1.84017,2.55689 -4.39706,2.19853 z m 248.43386,0 c 11.23668,15.73268 -3.2978,-4.61911 0,0 l 0,0 z m -320.98536,6.59559 c 0.598,-2.9922 -1.36089,-8.58306 -2.19853,-4.39706 -0.598,2.9922 1.36089,8.58306 2.19853,4.39706 z m 2.19855,2.19853 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46642 0,2.93064 0,4.39706 z m 384.7427,30.77942 c -2.60746,15.79643 5.84149,20.53866 8.79412,30.77941 8.06201,0 16.12182,0 24.18382,0 3.68034,-4.7796 3.52864,-19.80875 -2.19853,-21.98529 -0.50126,3.89579 2.21612,11.01023 -4.39705,8.79411 -2.11719,-16.77478 2.9768,-26.33838 4.39705,-39.57353 -9.31517,9.04475 -40.59804,14.74994 -48.36765,0 0.98055,12.21063 13.47919,12.90317 17.58824,21.9853 z m -32.97795,-24.18383 c 0,1.46642 0,2.93064 0,4.39706 -1.3411,0.12532 -2.60306,0.32758 -2.19853,2.19853 9.46467,1.52798 10.12863,11.85667 17.58824,15.38971 1.84457,-2.5525 2.89986,-5.89426 2.19853,-10.99265 -8.88646,-0.64197 -8.34122,-10.71124 -17.58824,-10.99265 z m 263.82355,10.99265 c -3.00979,5.78433 -9.25581,8.33462 -10.99265,15.38971 12.05454,-6.77807 26.42193,-5.39959 39.57353,-6.59559 -2.56568,-6.96055 -1.74563,-17.30903 -8.79411,-19.78677 -1.15643,8.71497 -16.04707,18.47644 -19.78677,10.99265 z m -485.87505,19.78677 c 2.56129,0.36935 2.3876,3.47587 2.19853,6.59558 -2.93064,0 -5.86348,0 -8.79412,0 -1.20259,-3.19446 2.56788,-11.362 -2.19853,-10.99264 -5.50951,4.64769 -8.16094,-12.2634 -15.38971,-13.19118 1.18061,7.7762 -1.86435,11.32682 -6.59558,13.19118 -0.52545,-3.13731 -3.61878,-3.70892 -4.39706,-6.59559 2.93064,0 5.86347,0 8.79411,0 -0.70133,-5.09839 0.35397,-8.44016 2.19853,-10.99265 -8.17633,-2.31505 -4.31131,7.41564 -8.79411,8.79412 0.11872,-3.78147 -1.69287,-5.63483 -4.39706,-6.59559 -0.24624,5.61724 -4.02991,7.69485 -6.59559,10.99265 -0.49247,-4.15742 2.47774,-4.85216 2.19853,-8.79412 -6.1317,3.49786 -17.97079,13.27912 -8.79412,13.19118 -1.40266,4.46081 -10.27813,1.44883 -10.99265,6.59559 6.41311,4.53776 8.27526,7.08586 17.58824,4.39705 -9.7307,10.94209 10.06706,17.30243 2.19853,26.38236 10.07586,-8.12137 12.7075,2.93724 19.78676,0 -4.9247,-4.60372 -8.0708,-10.98385 -10.99264,-17.58824 7.49039,0.87722 3.62317,6.76928 8.79411,0 0,2.93064 0,5.86348 0,8.79412 8.76994,1.207 6.61978,1.207 15.38971,0 -0.66835,-5.12917 -4.69386,-9.47346 2.19853,-10.99265 3.52644,3.19667 14.67519,10.07367 8.79412,15.38971 -0.24843,-2.6822 -0.65736,-5.20612 -4.39706,-4.39706 -3.44509,3.70672 2.82072,10.10005 4.39706,15.38971 0.49247,-1.70606 0.0594,-4.3377 2.19853,-4.39706 0.16489,3.82984 -0.49027,6.83743 -2.19853,8.79412 2.19853,0 4.39706,0 6.59559,0 -0.22425,-2.46675 3.19666,-3.42311 0,-4.39706 -0.12532,1.3411 -0.32758,2.60306 -2.19853,2.19853 4.73343,-12.01716 2.74596,-17.60363 2.19853,-26.38236 -3.78147,-0.86842 -5.63483,3.26262 -6.59559,0 5.39519,-1.3433 1.56755,-23.20768 -2.19853,-15.3897 z m 411.12504,0 c -2.10619,-6.68793 4.70925,-22.29749 -4.39706,-21.9853 2.10619,6.68793 -4.70925,22.29749 4.39706,21.9853 z m -208.8603,-10.99265 c 5.8283,1.91052 13.34067,-5.36881 8.79411,-6.59559 -0.598,4.53337 -9.73509,0.52325 -8.79411,6.59559 z m -255.02945,-2.19853 c -12.52942,-3.81885 -8.01804,7.51237 0,0 l 0,0 z m 474.8824,8.79412 c 0.2902,-2.88887 0.33197,-15.90637 -2.19853,-8.79412 -0.29021,2.88887 -0.33198,15.90636 2.19853,8.79412 z M 368.9048,231.78961 c 13.10763,11.03881 -4.91152,-4.13764 0,0 l 0,0 z m 54.96324,21.98529 c 13.74741,-3.84083 14.22009,-20.95638 28.58089,-24.18382 -16.22515,1.36309 -21.13667,14.03981 -28.58089,24.18382 z m 21.9853,15.38971 c -1.6555,-7.22437 -14.12775,-15.07312 -19.78677,-10.99265 9.06014,1.2004 12.8658,7.65309 19.78677,10.99265 z m 15.38971,19.78677 c -10.75301,-12.69651 -20.66399,-26.23945 -41.77207,-28.58089 -2.89326,9.90218 -8.79412,18.23681 -10.99265,24.18383 -5.70958,15.43368 -6.41091,48.8799 -8.79412,72.55147 -0.98274,9.75708 -5.14236,21.32354 -4.39706,26.38236 2.62065,17.7993 22.52174,38.23683 39.57354,37.37501 13.97166,11.43015 45.38645,22.20515 65.95589,13.19117 2.60746,-6.92097 4.30692,-14.74553 8.79412,-19.78676 1.78301,12.04134 -6.5736,13.94527 -6.59559,24.18382 13.06806,-10.40784 16.64727,6.19546 26.38236,2.19853 -5.71618,-8.01584 2.36122,-21.01574 4.39706,-28.58088 -6.38234,-2.41179 -15.60297,-1.98528 -21.9853,-4.39706 -5.31605,5.01045 -14.36959,17.7861 -24.18383,10.99265 4.00572,-5.72498 21.32574,-1.05969 21.9853,-15.38971 -2.79873,-5.26328 -7.1716,-8.95022 -15.38971,-8.79412 -9.68013,10.10664 -19.30749,20.26605 -32.97794,26.38236 -5.80632,-0.055 -13.77599,2.05122 -10.99265,-6.59559 14.71036,9.73948 32.10952,-10.39465 39.57353,-21.9853 -11.16193,-3.37035 -14.96319,-10.72443 -21.9853,-13.19118 5.56009,-12.22822 -3.48906,-13.10983 -8.79411,-19.78677 7.57173,-16.53294 1.83797,-44.80163 2.19853,-70.35294 z m -41.77207,131.91178 c -2.27768,5.78433 -2.63164,13.49237 -2.19853,21.98529 5.50952,1.21139 14.47952,10.26934 17.58824,6.59559 -7.11225,-2.53051 5.90525,-2.48873 8.79412,-2.19853 1.69067,-8.28626 -2.68221,-10.50897 -2.19853,-17.58824 -11.28066,1.02012 -13.50997,-7.00891 -21.9853,-8.79411 z m 41.77207,19.78676 c 6.1207,0.67495 16.46918,9.73289 19.78676,0 -2.78114,-2.51951 -17.3354,-4.41684 -19.78676,0 z M 531.596,429.65727 c -5.70079,17.55087 6.61317,-14.66859 0,0 l 0,0 z m -50.56619,-43.97059 c 23.41434,5.89866 41.89299,16.73521 61.55883,26.38236 -2.11058,-36.73084 -1.85116,-75.82949 -13.19117,-103.33089 -1.30813,4.55315 2.71738,14.44213 -2.19853,15.3897 0.066,-9.94614 -10.1792,-0.69254 -13.19118,0 0.62658,13.29671 -2.6866,30.53538 6.59559,35.17647 17.01222,-2.35682 4.46521,-20.6354 10.99265,-32.97794 1.1938,9.79885 2.15895,19.82634 4.39706,28.58088 -15.77226,7.51018 -27.88616,13.12523 -46.16913,4.39706 6.59559,0 13.19118,0 19.78677,0 0.97834,-12.7031 -0.92338,-22.52833 -2.19853,-32.97794 -8.80291,0.32098 -15.90197,-8.87546 -24.18383,-2.19853 -0.39134,11.44335 6.69233,26.93858 2.19853,35.17647 -2.34143,-15.2468 -5.5271,-29.64717 -4.39706,-48.36764 -11.43455,4.68726 -10.65847,21.58515 -17.58823,30.77941 9.89118,2.9878 1.58733,23.95737 8.79411,19.78676 1.2048,-2.11938 21.56758,13.20437 26.38236,21.9853 -6.279,-6.91218 -18.23241,-8.14995 -24.18383,-15.38971 0.16489,3.82984 -0.49027,6.83743 -2.19853,8.79412 7.37167,-1.51039 8.03783,3.68913 8.79412,8.79412 z m 4.39706,-76.94853 c 1.87755,-4.47841 -1.91492,-13.65947 -4.39706,-6.59559 5.17534,2.15236 1.96989,12.68771 6.59559,15.38971 -1.31032,-13.54515 11.09378,1.07728 17.58824,0 1.98087,-12.98232 5.77334,-1.48841 10.99265,0 0.48587,-1.71266 1.84237,-2.55689 4.39706,-2.19853 6.2812,-28.79195 -20.39576,-17.73334 -32.97795,-19.78677 8.11038,-3.61438 20.68157,-2.77015 30.77942,-4.39706 -8.80291,-18.46765 -26.45931,-33.03071 -30.77942,-61.55883 -20.91681,-4.06069 -21.69289,12.01716 -41.77206,8.79412 -1.85116,6.94295 -6.94296,10.64528 -8.79412,17.58823 8.53029,8.32584 21.73246,11.97759 24.18383,26.38236 8.65341,3.52204 0.76508,-9.49325 6.59558,-8.79412 3.8936,18.96232 -10.42542,35.39193 2.19853,43.9706 4.02112,-9.90438 5.79093,-22.05565 15.38971,-26.38236 -1.27075,5.87447 6.50325,13.73641 0,17.58824 z M 362.30921,238.3852 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46642 0,2.93064 0,4.39706 z m 158.29414,43.97059 c 0.8926,-22.8779 -18.76445,-25.20614 -17.58824,-48.36765 -16.38784,11.30923 17.39037,35.90638 4.39706,37.375 7.31231,0.7475 7.79379,8.32803 13.19118,10.99265 z m -384.7427,-39.57353 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46642 0,2.93064 0,4.39706 z m 587.00741,17.58823 c 2.46015,10.52217 -5.42157,10.70025 -6.59559,17.58824 9.22063,16.8957 6.19766,22.22714 6.59559,43.9706 8.03563,6.12949 36.87814,7.96306 41.77206,-2.19853 0.56942,-13.02849 -4.53116,-20.38477 -8.79411,-28.58089 0.32318,5.45235 0.41112,10.66946 -4.39706,10.99265 -5.991,-6.63736 1.52138,-13.09884 2.19853,-19.78677 -5.5403,-1.7896 -8.75015,-5.90525 -13.19118,-8.79412 8.74135,-0.56062 28.04005,9.16127 26.38235,-6.59559 -7.21117,3.68034 -12.97572,0.22425 -13.19117,-8.79412 2.93064,0 5.86347,0 8.79412,0 -0.26823,-5.59306 -3.19887,-8.52589 -8.79412,-8.79412 0.61339,5.01045 -0.52985,8.26428 -4.39706,8.79412 -3.71992,-8.00704 -8.73696,-14.71476 -17.58824,-17.58823 -6.94735,-1.08388 -0.81566,10.9091 -8.79412,8.79411 1.89293,-5.5249 2.88007,-11.77972 -6.59559,-10.99264 0.0506,10.43202 6.77147,17.57944 10.99265,17.58823 1.7918,7.73663 6.03716,13.0153 10.99265,17.58824 -10.30231,0.77608 -9.93296,-9.1217 -15.38971,-13.19118 z m 41.77206,-10.99265 c 4.88294,-0.91458 2.11059,-12.05453 -2.19852,-10.99264 -1.69727,1.50379 -5.72498,13.09884 2.19852,10.99264 z m -457.29416,6.59559 c 7.3387,4.09147 9.25581,-7.90371 4.39706,-8.79412 1.60273,5.99979 -4.36847,4.42565 -4.39706,8.79412 z M 197.41948,253.7749 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46642 0,2.93064 0,4.39706 z m 474.8824,39.57354 c 10.44301,-8.55448 0.41992,-27.93452 2.19853,-41.77207 -0.48588,-1.71265 -1.84017,-2.55689 -4.39706,-2.19853 1.44003,13.94968 -2.89767,33.67708 2.19853,43.9706 z M 274.36802,264.76755 c -6.8836,-3.02517 9.31077,-10.95967 -2.19853,-13.19118 0.8948,5.86788 -5.69859,19.61309 2.19853,13.19118 z m 389.13974,213.25738 c -0.8992,7.9279 4.01451,3.01198 2.19853,-2.19853 0,-4.39706 0,-8.79412 0,-13.19118 8.24448,-11.3642 1.40706,-23.04499 0,-32.97795 -7.37387,-52.0304 5.41937,-120.60913 2.19853,-173.68384 -0.48588,-1.71265 -1.84237,-2.55689 -4.39706,-2.19853 1.02671,75.36999 -1.56096,155.25797 0,224.25003 z M 564.57394,284.55432 c -3.16368,-7.09685 -4.20798,-16.31089 -6.59559,-24.18383 -2.82071,-6.82423 -2.82071,6.23723 0,6.59559 -3.04496,6.99133 1.73464,22.44479 6.59559,28.58089 0,-3.66495 0,-7.3277 0,-10.99265 z M 193.02242,275.7602 c 1.29273,-6.25921 8.13896,-11.16193 -2.19853,-13.19118 1.26415,3.86502 -2.65582,12.91636 2.19853,13.19118 z m 129.71325,-4.39706 c -1.32131,-4.53996 -3.39892,-8.32583 -10.99265,-6.59559 -0.51005,5.11598 12.40631,7.83117 10.99265,6.59559 z M 91.890032,352.70873 c 26.388948,30.77283 58.999768,55.32381 101.132388,70.35296 6.06574,-11.5203 -1.55436,-21.00036 -4.39706,-30.77942 -11.16633,-38.40392 -28.8601,-73.80903 -46.16912,-107.72795 -0.48588,-1.71265 -1.84017,-2.55469 -4.39706,-2.19853 -10.37926,28.45997 -36.25378,41.42689 -46.169148,70.35294 z M 329.33126,286.75285 c -12.67672,7.84435 -19.03927,21.99849 -28.58088,32.97795 -1.87095,-9.30638 11.87206,-14.363 6.59558,-19.78677 -5.86567,12.10071 -14.54547,18.87657 -13.19117,32.97794 -18.37531,14.60263 -25.81954,40.13636 -43.9706,54.96324 0.14291,12.59977 -11.72696,13.19118 -10.99265,26.38236 4.61032,3.96614 11.59725,-3.02298 10.99265,-10.99265 8.87547,-4.6345 14.48392,-16.83634 17.58824,-24.18383 1.08168,-2.55909 7.07267,-3.97714 8.79412,-6.59559 3.68034,-5.60185 5.43037,-15.38091 8.79412,-19.78677 1.02231,-1.3389 5.72497,-0.96295 6.59559,-2.19852 2.57008,-3.65176 1.7852,-9.13929 4.39706,-13.19118 1.03111,-1.60053 5.47434,-0.81786 6.59559,-2.19853 1.09266,-1.34111 -0.98055,-5.15556 0,-6.59559 6.23063,-9.17006 18.87437,-16.80336 19.78676,-28.58088 6.63077,-1.52578 13.69245,-14.02882 10.99265,-17.58824 -1.95669,1.88414 -16.49117,0.20666 -10.99265,6.59559 0.24404,-1.74783 7.26834,-6.66374 6.59559,-2.19853 z m 595.80156,4.39706 c 0.6134,-5.01045 -0.5299,-8.26427 -4.3971,-8.79412 0.5013,3.89579 -2.2161,11.01024 4.3971,8.79412 z M 74.301792,319.7308 c 0.25723,2.24909 -9.48445,4.44761 -2.19853,6.59558 0.70133,-5.16214 6.80445,-4.9203 8.79412,-8.79411 -2.58767,-0.34297 -6.23943,0.37814 -6.59559,-2.19853 0,-2.19853 0,-4.39706 0,-6.59559 2.93064,0 5.86348,0 8.79412,0 0.3034,4.09366 1.44663,7.34748 4.39706,8.79412 4.41025,-4.47621 0.57382,-5.85689 -2.19853,-8.79412 6.24602,0.51006 10.04948,-24.48503 2.19853,-17.58824 2.56129,0.36935 2.3876,3.47587 2.19853,6.59559 -11.29605,3.31538 -33.92111,9.70431 -24.18383,15.38971 0.31879,6.18226 -5.3842,6.34056 -10.99265,6.59559 -0.22425,-2.46675 3.19667,-3.42312 0,-4.39706 -0.46388,2.65582 -2.44036,1.35209 -4.39705,0 -0.70573,8.76773 8.26207,7.85973 10.99264,13.19117 -1.53017,-7.39365 4.52018,-7.20458 6.59559,-10.99264 2.58767,0.34297 6.23943,-0.37815 6.59559,2.19853 z m 0,-24.18383 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46642 0,2.93064 0,4.39706 z m 303.397128,13.19118 c -5.03244,-0.97835 8.33902,-13.30111 0,-17.58824 3.20106,8.61824 -10.46061,21.9831 0,17.58824 z m 147.30149,-13.19118 c 7.84875,19.06345 -5.25669,-12.76686 0,0 l 0,0 z m -263.82357,10.99265 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46642 0,2.93064 0,4.39706 z m 266.0221,2.19853 c -3.62978,-0.0352 -1.23118,-6.09653 -4.39706,-6.59559 -1.88414,4.485 3.46048,12.1139 4.39706,6.59559 z m 35.17647,0 c -2.77454,-10.57933 -1.13444,-1.14983 0,4.39706 3.23184,15.80522 1.71046,2.12378 0,-4.39706 z m -349.56622,8.79412 c -6.91658,2.51951 -5.34243,-3.4517 -8.79412,-4.39706 -5.3798,5.18413 3.2824,4.08926 2.19853,10.99264 -2.80972,0.12092 -3.04497,2.81631 -6.59559,2.19853 -0.0374,-3.21865 9.2712,-6.96933 0,-6.59558 -3.62977,0.0352 -1.23118,6.09651 -4.39706,6.59558 -0.24624,-5.61724 -4.02991,-7.69485 -6.59559,-10.99264 0.32318,5.45235 0.40893,10.66945 -4.39706,10.99264 -0.34517,-2.58767 0.37815,-6.24162 -2.19853,-6.59558 -5.15555,5.88545 4.3421,10.4518 -6.59559,6.59558 8.71058,7.53216 5.13577,6.69672 6.59559,15.38971 -0.40013,-4.7972 1.7984,-6.99573 6.59559,-6.59559 0.25503,5.60845 0.41332,11.31363 6.59559,10.99265 1.6379,-6.76708 -6.03496,-4.22558 -4.39706,-10.99265 4.68946,-4.83677 13.89471,-5.15995 21.9853,-6.59559 -0.0945,3.02737 1.0355,4.82577 2.19853,6.59559 0.67275,5.06981 -6.35156,2.44256 -6.59559,6.59559 3.82984,-0.16489 6.83742,0.49247 8.79412,2.19853 -0.40014,-4.7972 1.79839,-6.99573 6.59559,-6.59559 -2.44257,9.45148 -1.02892,2.81192 2.19853,6.59559 -0.61339,5.09619 -5.87228,5.05442 -8.79412,2.19853 -2.74817,9.82962 6.22623,19.30089 -4.39706,19.78676 1.71265,0.48588 2.55689,1.84237 2.19853,4.39706 3.82984,0.16489 6.83742,-0.49247 8.79412,-2.19853 4.43003,7.9367 -0.21986,10.64309 -2.19853,17.58824 9.83842,-1.0465 11.00144,6.5868 10.99264,15.38971 -2.92844,5.39079 -6.63516,-3.96175 -8.79411,2.19853 2.97241,0.69034 4.19919,3.1307 8.79411,2.19853 5.94043,-8.25328 1.11466,-14.21789 0,-19.78677 -3.27141,-16.33947 8.6732,-16.40103 6.59559,-24.18383 -2.00286,5.32484 -8.83589,5.81951 -15.3897,6.59559 -7.0287,-10.35507 13.91669,-8.71937 15.3897,-17.58823 -5.12917,0.66835 -9.47346,4.69386 -10.99265,-2.19853 0.52545,-3.13731 3.61878,-3.70892 4.39706,-6.59559 -8.43356,-6.22184 -19.4372,-9.8758 -19.78676,-24.18382 z m 17.58823,17.58823 c 0.11873,-3.78367 -1.69286,-5.63483 -4.39705,-6.59559 0.20886,3.45389 -0.29461,7.6223 4.39705,6.59559 z m 349.56621,-8.79412 c -1.70606,-4.88953 -1.26855,-11.92262 -6.59559,-13.19117 1.33231,3.97054 4.66748,17.08476 6.59559,13.19117 z m -2.19853,28.58088 c -0.58921,-15.53481 0.93657,-33.1824 -10.99265,-37.37499 0.69913,15.42268 -2.87565,35.1193 10.99265,37.37499 z M 322.73567,326.32638 c -11.23668,16.0031 5.5359,-1.9523 0,0 l 0,0 z m 50.56619,8.79412 c -0.37375,-3.289 0.78487,-8.11258 -2.19853,-8.79412 -2.85369,2.92184 -2.89767,8.18073 2.19853,8.79412 z m 356.16179,10.99265 c -0.37595,-3.289 0.78487,-8.11258 -2.19853,-8.79412 -2.85589,2.92184 -2.89766,8.18073 2.19853,8.79412 z m 6.59559,4.39706 c -2.08421,-5.47654 7.84875,-13.26373 -2.19853,-13.19118 1.26415,3.86501 -2.65802,12.91636 2.19853,13.19118 z M 41.323852,348.31168 c 3.02517,0.0945 4.82797,-1.03551 6.59559,-2.19853 0.34516,2.58767 -0.37815,6.24162 2.19853,6.59558 1.85555,-10.18358 11.33561,-1.30812 13.19117,-8.79411 -2.90645,-0.0264 -2.00945,-3.85403 -4.39706,-4.39706 -0.57161,8.2225 -18.21262,-0.62439 -17.58823,8.79412 z m 707.926568,-2.19853 c 1.51259,-5.90965 -4.54436,-4.24976 -6.59559,-6.59559 -0.40013,4.79719 1.79839,6.99572 6.59559,6.59559 z M 72.103262,343.91462 c -10.50677,-6.11192 -5.32484,7.21117 0,0 l 0,0 z m -37.375,15.3897 c 4.35309,-1.4906 6.98912,-9.98572 0,-10.99264 2.85369,5.45235 -4.90492,10.66946 0,10.99264 z m 285.808878,-4.39706 c 0.598,-2.99219 -1.36089,-8.58086 -2.19853,-4.39705 -0.598,2.99219 1.36089,8.58086 2.19853,4.39705 z m -248.433878,4.39706 c 0,-2.93064 0,-5.86347 0,-8.79411 -4.55535,1.30812 -14.44214,-2.71739 -15.38971,2.19852 6.68354,4.59053 8.75675,1.03991 15.38971,6.59559 z m 503.463308,26.38236 c -3.48027,-8.97879 1.37628,-26.29441 -6.59559,-30.77942 0.86622,14.12336 -5.81069,25.91407 6.59559,30.77942 z m 4.39706,-2.19853 c 5.29626,0.8992 4.7796,-4.01451 10.99265,-2.19853 0.75189,-11.74454 -4.67188,-17.31342 -8.79412,-24.18383 -8.30385,6.12951 -0.7475,14.85987 -2.19853,26.38236 z M 83.095912,359.30432 c -2.93064,0 -5.86348,0 -8.79412,0 -3.48906,10.22097 11.35981,7.6311 8.79412,0 z m 2.19853,17.58824 c 1.44663,-2.95043 4.70046,-4.09366 8.79412,-4.39706 -0.12092,2.80972 -2.81852,3.04497 -2.19853,6.59559 5.74916,0.61999 9.455878,-0.80246 8.794118,-6.59559 -8.075198,-0.71892 -7.771798,-9.81643 -15.389708,-10.99265 4.98187,8.61164 -3.2868,5.61285 -6.59559,10.99265 2.58767,0.34297 6.23943,-0.37814 6.59559,2.19853 -1.22018,-0.007 -2.49533,1.78081 0,2.19853 z M 197.41948,365.89991 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46642 0,2.93064 0,4.39706 z m 565.02212,8.79412 c 9.61197,-5.93603 11.052,3.53084 21.98529,2.19853 -0.55183,-6.41311 4.13983,-7.58493 6.59559,-10.99265 -7.79818,-6.93856 -25.10501,-1.31252 -28.58088,8.79412 z m -30.77942,-6.59559 c -0.69034,-3.30439 -2.16555,-0.52325 -2.19853,0 -1.29274,21.64233 3.63417,6.8792 2.19853,0 z m 10.99265,8.79412 c 6.34276,-12.74048 -5.42597,-5.78653 0,0 l 0,0 z m -479.27946,30.77942 c -4.88513,5.80851 -17.16172,13.22635 -13.19118,19.78677 11.61264,-15.51723 30.55077,-35.38974 30.77942,-54.96325 -5.42158,12.14248 -11.47193,27.90374 -17.58824,35.17648 z m -50.56618,-26.38236 c 0.64636,-7.65968 5.94922,0.18468 6.59559,-4.39706 -1.70167,-4.58393 -13.21976,1.62032 -6.59559,4.39706 z m -92.33827,10.99265 c -4.29593,4.13983 -15.13468,-15.48864 -21.985298,-8.79412 3.267008,2.59646 9.823028,1.90173 8.794118,8.79412 -2.05123,-1.3433 -8.110378,-5.11598 -6.59559,2.19853 7.51457,-0.91899 12.52722,0.66396 10.99265,8.79412 13.80017,3.05595 30.02754,3.68473 32.97797,17.58824 2.93064,0 5.86347,0 8.79411,0 3.10653,-12.18645 -20.03959,-6.39113 -10.99264,-17.58824 -12.8724,1.26635 -16.83637,-2.9878 -21.98532,-4.39706 0.23964,-2.93944 4.12004,-12.1205 0,-6.59559 z m 584.8089,6.59559 c 11.08719,-0.63757 16.41642,-7.0353 21.9853,-13.19118 -6.76707,1.53897 -4.22557,1.53897 -10.99265,0 -0.7475,7.31231 -8.32803,7.79379 -10.99265,13.19118 z m 30.77942,-4.39706 c 5.69639,2.36562 8.17413,7.94768 15.38971,8.79412 10.23635,-4.31572 17.26065,-11.60164 26.38235,-6.59559 -8.80511,-13.79358 -28.04444,-7.73443 -41.77206,-2.19853 z m -523.25005,-4.39706 c -6.67694,7.40685 8.12796,6.66594 0,0 l 0,0 z m 26.38235,4.39706 c -6.67693,7.40685 8.12797,6.66594 0,0 l 0,0 z m 492.47064,19.78677 c 3.36155,10.34848 0.77168,-4.50039 0,-8.79412 -3.82984,0.16489 -6.83743,-0.49247 -8.79412,-2.19853 -2.87348,9.46907 6.23943,6.95175 8.79412,10.99265 z m 8.79412,-2.19853 c 1.46642,0 2.93064,0 4.39706,0 0,-2.93064 0,-5.86348 0,-8.79412 -1.46642,0 -2.93064,0 -4.39706,0 0,2.93064 0,5.86348 0,8.79412 z m -505.66182,43.97059 c 9.17227,-1.08607 11.41697,-9.10411 15.38971,-15.38971 -6.52304,-12.86359 -10.41004,-27.03532 -21.9853,-28.58088 -11.69397,-1.56096 -30.01432,20.74972 -46.16912,19.78676 -4.4828,-0.26602 -3.52644,-5.969 -10.99265,-2.19853 14.24208,6.60659 5.66561,12.85261 4.39706,26.38236 2.74597,7.51458 10.26494,10.25394 21.9853,8.79412 3.04716,-1.3477 0.32978,-8.46434 4.39706,-8.79412 9.76367,3.42971 9.90657,16.47578 19.78677,19.78677 7.763,-15.3963 -14.64661,-22.37224 -10.99265,-32.97795 4.50039,7.22437 11.77093,11.67859 13.19118,21.9853 10.54195,3.94856 7.08586,-6.10532 10.99264,-8.79412 z m 490.27211,-30.77941 c -13.69464,-9.33496 -33.51219,7.44422 -50.56618,8.79411 0,5.86348 0,11.72476 0,17.58824 7.774,-3.95076 7.57613,-15.87558 21.98529,-13.19118 0.34297,-2.58767 -0.37814,-6.24162 2.19853,-6.59559 12.30078,1.9435 30.64091,4.82578 32.97795,-8.79411 -3.76388,-2.0996 -4.43004,-7.29473 -8.79412,-8.79412 -1.81599,6.21304 3.09773,5.69639 2.19853,10.99265 z m -556.228,4.39705 c -4.4828,-1.38067 -0.61778,-11.10917 -8.79412,-8.79411 0,2.93064 0,5.86347 0,8.79411 5.01045,-3.01858 8.26428,5.66781 8.79412,0 z m 360.55888,17.58824 c 9.58119,1.41146 14.61802,7.36728 21.98529,10.99265 -0.0264,2.90426 -3.85402,2.00946 -4.39706,4.39706 7.95428,0.18028 13.9145,18.00816 19.78675,6.59559 -3.15267,-3.4429 -11.46091,-1.73024 -10.99263,-8.79412 6.07454,2.71958 11.16851,6.41971 19.78675,6.59559 3.21865,-2.79213 14.43115,-8.8227 8.79412,-13.19118 -1.85776,3.12411 -11.33342,-4.64109 -13.19118,-8.79412 4.4916,-4.69386 8.69958,0.61779 13.19118,2.19853 1.97428,-3.887 5.30725,-6.41751 6.59559,-10.99265 -6.71431,2.48654 -17.98837,-0.11212 -17.58824,-10.99264 -9.46465,-3.72651 -20.73651,-5.64583 -35.17645,-4.39706 0.35176,12.07652 -5.31385,18.13787 -8.79412,26.38235 z m -200.06621,-6.59559 c -3.87381,-1.98967 -3.63197,-8.09278 -8.79412,-8.79412 -0.67934,8.00925 0.34957,14.30804 2.19853,19.78677 -1.70606,0.49247 -4.3377,0.0594 -4.39706,2.19853 5.06981,4.36188 2.44257,-0.55183 6.59559,-2.19853 2.20513,-0.007 2.61625,1.78081 4.39706,2.19853 3.00319,-9.59878 -8.51271,-4.67847 -6.59559,-13.19118 3.78147,-0.86842 5.63483,3.26262 6.59559,0 z m 367.15444,6.59559 c 4.69826,7.0265 11.2235,12.22823 19.78677,15.38971 0.86842,-3.78367 -3.26262,-5.63483 0,-6.59559 7.05728,-1.92811 4.55755,5.70299 8.79412,6.59559 5.57327,-5.36881 -4.6345,-4.68507 -2.19853,-13.19118 4.0321,-0.11432 7.44422,11.26747 10.99265,4.39706 -3.26702,-1.86215 -3.18127,-7.07926 -4.39706,-10.99265 3.1373,0.52545 3.70892,3.61878 6.59559,4.39706 1.6379,-6.76707 -6.03497,-4.22557 -4.39706,-10.99265 -15.16326,3.20546 -31.71379,-5.80851 -35.17648,10.99265 z m -206.66177,-2.19853 c 4.52897,1.92811 9.8736,-5.70298 4.39706,-6.59559 -0.52545,3.13731 -3.61878,3.70892 -4.39706,6.59559 z m -219.85297,0 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46642 0,2.93064 0,4.39706 z m 382.54415,-4.39706 c -9.22723,7.6267 -27.57396,6.1361 -35.17648,15.38971 13.54954,0.99154 27.28815,12.96473 39.57354,2.19853 -1.80939,-5.51831 4.27394,-18.92934 -4.39706,-17.58824 z m -400.13239,15.38971 c 0.24404,-4.15302 7.26834,-1.52578 6.59559,-6.59559 -3.1373,-0.52545 -3.70892,-3.61878 -6.59559,-4.39706 -1.26635,1.33231 -5.14456,10.42763 0,10.99265 z m 342.97062,4.39706 c 1.59613,21.12128 24.84998,20.58483 30.77941,37.37501 -6.31637,13.21976 -29.34817,0.95856 -39.57353,6.59559 -0.37595,11.78192 11.02343,29.71093 15.38971,43.97059 19.05465,0 38.10711,0 57.16177,0 3.41871,-27.58715 0.79147,-61.73691 0,-87.94119 -19.70982,15.71949 -51.2939,-7.60471 -63.75736,0 z m 103.33089,4.39706 c 2.77455,-2.57887 1.76322,-9.13489 -4.39706,-8.79412 -0.61339,5.01045 0.52985,8.26427 4.39706,8.79412 z m -373.75003,2.19853 c 2.85369,-2.92185 2.89766,-8.18073 -2.19853,-8.79412 -2.85589,2.92185 -2.89766,8.18073 2.19853,8.79412 z m 13.19118,-2.19853 c 0.11872,-3.78367 -1.69287,-5.63483 -4.39706,-6.59559 -0.11872,3.78367 1.69287,5.63483 4.39706,6.59559 z m 367.15444,8.79412 c 0.61339,-5.01045 -0.52984,-8.26427 -4.39706,-8.79412 -0.61339,5.01045 0.52985,8.26427 4.39706,8.79412 z m -446.30151,0 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46642 0,2.93064 0,4.39706 z m 74.75001,2.19853 c -2.23151,-5.66781 -10.166,-8.42257 -13.19118,-2.19853 7.91031,-3.99033 12.39971,6.30978 13.19118,2.19853 z m 136.30884,6.59559 c -0.23084,-5.63263 -1.24436,-10.48259 -4.39706,-13.19118 -3.74189,3.70672 1.27735,9.88019 4.39706,13.19118 z M 245.78713,471.42934 c -2.31505,12.76027 9.52843,0.91679 0,0 l 0,0 z m -8.79412,6.59559 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46642 0,2.93064 0,4.39706 z m 270.41916,30.77941 c -3.24283,5.55129 -7.76741,9.82084 -8.79412,17.58824 3.25382,7.73883 12.48325,9.50205 17.58824,15.38971 52.86802,5.2325 66.67479,-28.59408 74.74999,-68.15442 -19.49876,10.54635 -52.37336,7.71904 -65.95587,24.18383 21.16085,4.94889 40.8135,-12.28319 50.56616,-4.39706 -4.35529,8.15215 -29.24482,7.33209 -26.38234,15.3897 5.34903,-1.84896 20.85084,-7.33209 21.98528,0 -15.91294,9.68453 -51.09381,11.2279 -63.75734,0 z m 26.38236,-32.97794 c -1.76762,13.3099 10.07806,1.46642 0,0 l 0,0 z m -325.3824,6.59559 c 1.69067,8.28626 -2.68221,10.50897 -2.19853,17.58824 8.17633,-2.31506 4.31131,7.41344 8.79412,8.79411 5.9712,-6.61757 -4.81039,-9.80983 -2.19853,-19.78676 5.09839,0.70133 8.44015,-0.35177 10.99265,-2.19853 1.02891,-6.89239 -5.52711,-6.19766 -8.79412,-8.79412 0.37155,8.69079 -3.37695,-0.70353 -6.59559,4.39706 z m 532.04417,6.59559 c 1.46642,-4.37728 7.58273,-9.38992 0,-10.99265 2.86029,5.45895 -6.45049,9.1239 0,10.99265 z m -499.06623,-6.59559 c 3.46269,5.74036 -4.99506,16.69563 8.79412,15.38971 -3.95515,-8.2357 3.42531,-14.13875 -4.39706,-17.58824 -0.48587,1.71265 -1.84017,2.55689 -4.39706,2.19853 z m 15.38971,6.59559 c 5.35782,-2.5459 -2.45356,-10.35508 -4.39706,-4.39706 2.90646,0.0264 2.00946,3.85402 4.39706,4.39706 z m 503.46329,6.59559 c -2.08421,-5.47654 7.84875,-13.26373 -2.19853,-13.19118 1.26415,3.86501 -2.65803,12.91636 2.19853,13.19118 z m -92.33825,6.59559 c -0.26163,-3.65616 1.20039,-19.91209 -2.19853,-13.19118 0.26162,3.65615 -1.2004,19.91208 2.19853,13.19118 z m -171.4853,-8.79412 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46642 0,2.93064 0,4.39706 z m 8.79412,-2.19853 c 0,2.19853 0,4.39706 0,6.59559 4.14863,-2.44697 10.10224,-3.08894 10.99265,-8.79412 -5.29626,-0.8992 -4.77961,4.01451 -10.99265,2.19853 z m -266.0221,4.39706 c -5.09839,0.70133 -8.44015,-0.35397 -10.99265,-2.19853 -3.39013,6.63736 11.3752,5.78433 10.99265,2.19853 z m 237.44121,8.79412 c -0.66175,-5.79313 3.04497,-7.21558 8.79412,-6.59559 -0.31659,2.59866 -3.91558,4.98406 0,6.59559 2.82072,-2.88667 2.82072,-8.10598 0,-10.99265 -5.29626,-0.8992 -4.7796,4.01451 -10.99265,2.19853 -0.12531,-1.34111 -0.32758,-2.60306 -2.19853,-2.19853 -0.32978,5.45895 1.13664,9.1239 4.39706,10.99265 z m 46.16913,0 c -3.1373,-0.52545 -3.70892,-3.61878 -6.59559,-4.39706 -1.92811,4.52897 5.70298,9.87139 6.59559,4.39706 z m -263.82357,0 c -2.31505,12.76026 9.52843,0.91678 0,0 l 0,0 z m 472.68387,4.39705 c -7.52337,-2.18753 -6.60658,0.92778 -10.99265,-4.39705 -0.9014,2.76355 -2.8339,4.49379 -6.59559,4.39705 0.17588,-3.42091 -6.39112,-1.52358 -2.19853,0 2.78334,2.51952 17.33541,4.41685 19.78677,0 z m -463.88975,2.19853 c 3.78147,0.11873 5.63483,-1.69286 6.59559,-4.39705 -3.45389,0.21105 -7.6223,-0.29461 -6.59559,4.39705 z m 70.35295,0 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46641 0,-2.93064 0,-4.39705 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46641 0,2.93064 0,4.39705 z m 8.79412,4.39706 c 5.46774,2.07322 0.64197,-12.58438 0,-4.39706 0.19787,3.5946 -3.66275,9.56361 0,4.39706 z m 81.3456,-6.59559 c -9.96813,15.81843 -49.83407,18.50943 -46.16912,39.57354 18.32034,0 36.64289,0 54.96324,0 -8.16974,-9.32396 4.9313,-32.68774 -8.79412,-39.57354 z m 63.75736,19.78677 c 0,-1.46642 0,-2.93064 0,-4.39706 1.3411,-0.12531 2.60306,-0.32758 2.19853,-2.19853 -6.44609,2.52831 -8.16534,-10.54634 -10.99265,-4.39706 3.77708,2.81852 2.72398,10.4672 8.79412,10.99265 z m -13.19118,-8.79412 c 3.52425,12.57339 11.02783,5.06981 0,0 l 0,0 z m -149.50002,4.39706 c 1.46642,0 2.93064,0 4.39706,0 0,-1.46642 0,-2.93064 0,-4.39706 -1.46642,0 -2.93064,0 -4.39706,0 0,1.46642 0,2.93064 0,4.39706 z m 147.30149,-2.19853 c -3.19446,1.2026 -11.362,-2.57008 -10.99265,2.19853 3.19447,-1.20259 11.36201,2.57008 10.99265,-2.19853 z m -312.19122,21.9853 c 3.55503,-4.57514 18.96892,-18.03454 10.99265,-19.78677 -0.42212,8.45555 -14.22009,14.98078 -10.99265,19.78677 z m 309.99269,-4.39706 c 0.52545,-3.1373 3.61878,-3.70892 4.39706,-6.59559 -4.52897,-1.92811 -9.87359,5.70299 -4.39706,6.59559 z m 13.19118,0 c 5.46775,2.07321 0.64197,-12.58438 0,-4.39706 0.19787,3.5946 -3.66275,9.56361 0,4.39706 z m 266.02208,8.79412 c 6.41311,3.23184 6.41311,-9.82743 0,-6.59559 0,2.19853 0,4.39706 0,6.59559 z m -598.00007,6.59559 c -1.11905,-4.36408 12.12929,-5.03024 4.39706,-8.79412 0.62878,3.87601 -10.35287,6.80885 -4.39706,8.79412 z m 13.19118,8.79412 c -2.8339,-3.02958 -9.55041,-2.17435 -15.38971,-2.19853 -2.70419,7.30791 14.86207,5.3776 15.38971,2.19853 z m 230.84562,-2.19853 c -17.42994,1.0443 43.45174,9.79445 41.77207,2.19853 -9.64935,-3.71772 -39.68127,-2.32385 -41.77207,-2.19853 z m 233.04413,4.39706 c 9.24482,0.066 25.4238,3.24503 26.38236,-4.39706 -16.85613,0 -33.71006,0 -50.56619,0 0.65517,7.71024 15.2556,4.3333 24.18383,4.39706 z m 61.55883,0 c -0.26822,-9.25801 -16.87151,-2.18314 -24.18382,-4.39706 0.26822,9.26021 16.87151,2.18314 24.18382,4.39706 z m 76.94854,-2.19853 c -3.19666,-3.39893 -11.25427,-1.93691 -17.58823,-2.19853 -2.23151,7.53436 16.51535,5.2369 17.58823,2.19853 z m -637.57359,24.18382 c 2.91525,7.21558 34.45975,7.21558 37.375,0 -7.70145,-3.95735 -29.55703,-3.23623 -37.375,0 z m 309.99269,-2.19852 c -10.99265,0 -21.9853,0 -32.97795,0 -0.71672,10.33968 33.69467,10.33968 32.97795,0 z m 76.94854,4.39705 c 0.27481,4.85656 9.32616,0.93438 13.19118,2.19853 3.44509,-7.55634 -14.71916,-10.43422 -13.19118,-2.19853 z m 101.13234,2.19853 c 12.05674,-2.60086 34.72358,5.40839 39.57354,-4.39706 -10.30671,-3.65615 -35.86242,-3.65615 -46.16913,0 3.46489,0.20007 1.72145,5.60845 6.59559,4.39706 z m 48.36766,-2.19853 c 4.21678,2.63824 27.85317,5.95142 28.58088,-2.19853 -4.21678,-2.63823 -27.85317,-5.95142 -28.58088,2.19853 z m 83.54413,0 c 6.75828,3.01419 31.73797,5.41498 35.17647,-2.19853 -6.68573,-2.10179 -32.1447,-6.43069 -35.17647,2.19853 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#3700f8;fill-opacity:1;fill-rule:evenodd;filter:url(#filter5839);opacity:1" />
+    <path
+       id="path5748"
+       d="m 136,303 c 3.021,1.312 4.707,3.96 7,6 -3.397,-0.733 -9.837,-2.185 -7,-6 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5750"
+       d="m 354,277 c 0.911,-2.117 4.019,1.887 7,1 -1.645,2.85 -5.426,-0.479 -7,-1 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5752"
+       d="m 370,303 c 3.943,0.567 -2.763,6.119 -4,8 -2.068,-2.135 4.56,-4.058 4,-8 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5754"
+       d="m 239,91 c -0.529,0.804 -1.043,1.624 -1,3 -3.453,-0.787 -4.398,0.935 -5,3 -2.531,-2.135 -6.746,-2.587 -7,-7 3.762,-0.528 9.351,-2.396 13,1 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+    <path
+       id="path5756"
+       d="m 229,267 c -0.804,-0.529 -1.623,-1.043 -3,-1 0.016,-2.651 -0.555,-5.889 2,-6 4.8,-0.469 2.879,5.813 1,7 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill-rule:evenodd" />
+  </g>
+</svg>
diff --git a/data/backgrounds/classic_bg.svg b/data/backgrounds/classic_bg.svg
new file mode 100644 (file)
index 0000000..b6e7299
--- /dev/null
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:docname="classic_bg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="432"
+     inkscape:window-width="675"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.87006002"
+     inkscape:cx="497.56002"
+     inkscape:cy="393.92889"
+     inkscape:window-x="293"
+     inkscape:window-y="145"
+     inkscape:current-layer="g3955"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient4557">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4559" />
+      <stop
+         style="stop-color:#0300da;stop-opacity:1;"
+         offset="1"
+         id="stop4561" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2518"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9434139,0,0,0.9434139,62.279262,39.359798)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4557"
+       id="radialGradient4563"
+       cx="754.52362"
+       cy="248.26866"
+       fx="754.52362"
+       fy="248.26866"
+       r="648.54285"
+       gradientTransform="matrix(-0.6867835,-1.4236353,1.4876169,-0.7176493,903.38936,1551.3895)"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <rect
+     style="opacity:1;fill:url(#radialGradient4563);fill-opacity:1.0;stroke:none;stroke-width:10.01399993999999971;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect4231"
+     width="1297.0857"
+     height="1042.5737"
+     x="-56.077015"
+     y="-14.202133" />
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="266.96185"
+     y="759.88806"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="759.88806" /></text>
+  <g
+     id="g3955"
+     transform="translate(18.488319,-59.198001)">
+    <path
+       id="path1939"
+       d="M 794.42889,322.92369 L 780.83033,322.92369 L 778.11066,329.72293 L 780.83033,337.2021 L 779.47049,345.36119 L 772.67131,341.28164 L 767.23197,331.08278 L 755.67315,328.36307 L 750.91373,323.60361 L 740.71485,318.84413 L 729.15616,299.80625 L 729.83607,290.96723 L 758.39293,269.20965 L 771.9913,275.32896 L 774.03114,280.08844 L 774.03114,285.52784 L 777.43073,290.2873 L 784.23001,292.32708 L 788.98944,288.24753 L 789.66936,283.48806 L 787.62961,279.40852 L 783.5501,277.36875 L 780.83033,273.96912 L 786.94969,271.24943 L 785.58985,264.45018 L 785.58985,260.37062 L 781.51034,256.29108 L 779.47049,250.17177 L 771.31147,248.132 L 764.51219,246.77214 L 750.23372,256.97101 L 714.19776,271.24943 L 706.03865,279.40852 L 699.91938,284.16799 L 698.55944,295.04678 L 701.27921,300.48618 L 708.07849,318.84413 L 716.91743,335.84224 L 726.43638,348.08088 L 711.47808,372.55817 L 694.47994,409.27408 L 684.28107,425.59226 L 667.28301,446.66993 L 666.60309,456.18888 L 657.76406,464.34796 L 671.36253,476.58662 L 667.96293,490.86501 L 669.32277,522.82147 L 675.44203,559.53739 L 681.56139,592.17377 L 688.36057,603.05256 L 697.87963,622.77036 L 712.83793,645.20787 L 716.91743,659.48624 L 720.99703,669.68512 L 708.75832,686.68323 L 687.00074,695.52225 L 684.96098,702.32155 L 726.43638,700.9617 L 720.31712,711.84046 L 727.79623,718.63969 L 747.51405,720.6795 L 763.15236,707.08098 L 768.5918,688.04314 L 777.43073,671.72493 L 788.30953,662.206 L 791.70912,651.32718 L 780.15051,650.64727 L 787.62961,643.16809 L 772.67131,647.92757 L 783.5501,637.04877 L 775.39099,635.009 L 769.27162,627.52983 L 759.07276,606.45217 L 735.27542,586.73436 L 730.51599,585.37452 L 735.27542,581.29497 L 734.5955,569.73625 L 739.35502,559.53739 L 735.27542,560.21731 L 742.75461,547.29875 L 742.75461,534.38018 L 747.51405,527.58094 L 747.51405,518.74192 L 757.71291,505.14342 L 758.39293,493.58472 L 756.35308,484.06577 L 761.1126,473.18698 L 766.55195,464.34796 L 766.55195,458.90857 L 772.67131,458.22865 L 778.11066,452.78925 L 782.87018,439.19077 L 793.74896,426.95212 L 806.66752,422.19265 L 814.82653,428.99189 L 834.54445,435.11122 L 850.18266,443.2703 L 857.66177,452.78925 L 870.58031,454.1491 L 911.37589,471.82713 L 932.45346,479.30631 L 949.4516,492.22487 L 953.53121,490.86501 L 953.53121,486.78547 L 944.01225,479.30631 L 962.37014,484.06577 L 964.41,480.66614 L 960.3304,476.58662 L 967.12968,476.58662 L 967.80959,472.50706 L 955.57096,469.78736 L 965.08982,467.06766 L 965.08982,462.30819 L 961.69023,461.62828 L 951.49136,462.30819 L 943.33234,458.90857 L 937.8929,456.18888 L 946.05201,449.38963 L 948.09177,444.63016 L 946.73193,441.23053 L 939.25283,442.59039 L 923.61442,450.74947 L 921.57476,454.82902 L 916.13532,453.46918 L 896.41749,442.59039 L 895.73758,435.11122 L 884.17887,428.99189 L 864.46105,418.79302 L 859.70161,422.19265 L 860.38154,417.43318 L 849.50275,407.23431 L 839.98379,404.51461 L 831.14476,394.31575 L 828.4251,390.91612 L 837.26412,397.03545 L 835.90429,390.23619 L 842.70347,393.63582 L 840.66371,383.43695 L 850.18266,392.27598 L 846.10316,386.15666 L 855.62201,390.23619 L 847.46299,378.67749 L 853.58226,380.71726 L 850.86259,369.83847 L 855.62201,373.91801 L 848.82283,363.71914 L 855.62201,365.75891 L 849.50275,357.59983 L 857.66177,356.9199 L 848.82283,351.4805 L 854.26218,348.76082 L 848.14292,348.08088 L 856.30194,340.60172 L 848.82283,341.28164 L 849.50275,336.52217 L 850.18266,322.92369 L 846.10316,332.44263 L 841.34364,318.84413 L 842.02355,329.72293 L 839.30388,330.40285 L 832.5046,330.40285 L 825.02541,319.52406 L 817.5463,319.52406 L 808.70726,312.04489 L 804.62766,316.12443 L 794.42889,322.92369 z"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.67309088px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="opacity:0.22790701;fill:url(#linearGradient2518);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44754833px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 435.88424,549.14748 L 422.27662,549.14748 L 425.93151,551.82116 L 435.66696,554.76219 L 441.95775,557.97059 L 431.32821,556.36638 L 416.32067,552.3559 L 402.20371,551.28642 L 392.97758,549.41486 L 378.30844,547.54329 L 348.88817,540.05702 L 341.27935,536.58125 L 349.45101,528.02552 L 368.79722,530.43182 L 375.30188,532.30338 L 380.40291,534.44231 L 388.26826,536.31389 L 396.98502,537.11598 L 397.92173,535.51178 L 394.13874,533.64022 L 388.27174,532.03601 L 382.27663,531.23392 L 376.3669,529.89708 L 379.9398,528.82762 L 372.20267,526.15395 L 368.37693,524.54974 L 360.46886,522.94554 L 352.689,520.53924 L 342.61155,519.73714 L 334.53244,519.20241 L 329.80904,523.21292 L 307.13918,528.82762 L 306.62625,532.03601 L 304.96631,533.90758 L 313.80771,538.18545 L 321.6303,540.32439 L 345.65028,547.54329 L 370.43602,554.22746 L 391.43879,559.04006 L 399.42525,568.66525 L 416.84803,583.10307 L 421.94558,589.51986 L 424.70281,597.80824 L 432.94938,601.55137 L 431.75595,604.75978 L 456.84095,609.57239 L 466.82945,615.18708 L 498.15899,627.75333 L 538.71466,642.19113 L 575.44459,655.02474 L 592.45048,659.3026 L 620.46723,667.05624 L 656.47743,675.87935 L 673.95003,681.49403 L 687.59688,685.50454 L 691.29082,692.1887 L 677.80792,695.66447 L 682.14329,698.33816 L 722.37112,697.80343 L 726.44988,702.08128 L 740.31033,704.75495 L 761.95422,705.55705 L 764.85022,700.20971 L 752.43961,692.72346 L 745.98128,686.30664 L 747.94047,682.56352 L 741.14016,678.28565 L 728.93615,678.01828 L 729.40635,675.07723 L 718.90144,676.94881 L 719.58531,672.67094 L 709.50786,671.86884 L 696.37054,668.92781 L 666.39809,660.63943 L 624.09342,652.8858 L 618.05549,652.35107 L 618.99239,650.74686 L 607.47217,646.20163 L 602.67029,642.19113 L 599.2257,642.4585 L 594.59486,637.37853 L 582.47972,632.29855 L 580.86601,629.62488 L 572.5768,626.14912 L 570.02977,620.80179 L 559.87043,616.25656 L 548.9024,612.51341 L 543.46287,608.23555 L 540.61667,604.75978 L 535.51554,602.62085 L 541.0014,602.35348 L 541.34329,600.21455 L 533.35333,594.86722 L 532.7619,590.05461 L 541.22564,588.18304 L 555.76648,590.8567 L 581.2363,593.26301 L 604.53655,596.4714 L 620.94761,600.21455 L 635.15005,600.74928 L 692.55132,607.70081 L 720.65703,610.64185 L 749.78154,615.72183 L 752.58866,615.18708 L 748.76284,613.58289 L 732.22347,610.64185 L 755.0572,612.51341 L 753.91011,611.17659 L 746.00213,609.57239 L 752.80584,609.57239 L 749.6605,607.96818 L 734.86305,606.89872 L 741.83781,605.82925 L 737.37432,603.95767 L 733.3349,603.69031 L 723.7668,603.95767 L 712.41413,602.62085 L 704.42049,601.55137 L 706.20874,598.87771 L 703.78643,597.00615 L 699.23748,595.6693 L 693.02859,596.20404 L 685.03145,599.41243 L 686.81611,601.01664 L 680.09788,600.48191 L 650.16467,596.20404 L 642.47038,593.26301 L 625.16523,590.8567 L 595.86969,586.8462 L 594.29523,588.18304 L 590.51213,586.31147 L 570.06157,582.30096 L 557.98578,581.23151 L 539.57628,577.22099 L 533.66664,575.88417 L 548.25021,578.29047 L 540.51318,575.61679 L 550.50506,576.95363 L 538.89937,572.94314 L 556.71396,576.4189 L 546.89301,574.0126 L 560.24412,575.61679 L 541.2398,571.07157 L 549.27608,571.87367 L 536.35245,567.59579 L 544.9409,569.2 L 528.57258,565.18949 L 537.28925,565.9916 L 523.51419,562.78319 L 531.04112,562.51582 L 517.0952,560.37689 L 519.9876,559.30743 L 513.22664,559.04006 L 514.37712,556.09902 L 507.53068,556.36638 L 503.74758,554.49483 L 491.67529,549.14748 L 496.51991,552.89062 L 479.00458,547.54329 L 489.88705,551.82116 L 487.80313,552.08853 L 480.99942,552.08853 L 463.31306,547.81066 L 455.82886,547.81066 L 439.97007,544.86963 L 439.71346,546.47381 L 435.88424,549.14748 z"
+       id="path2864" />
+    <path
+       sodipodi:nodetypes="cssc"
+       id="path3759"
+       d="M 763.90087,255.09122 C 737.27952,245.25132 726.24864,281.2444 731.7447,302.74821 C 738.17651,327.91326 740.1544,358.76892 728.57172,381.46481 C 720.27205,397.72776 681.88886,403.81659 682.37312,426.6734"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.60380363;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g4087"
+     transform="translate(9.4333253,-20.40528)">
+    <path
+       transform="matrix(0.6171045,-0.2551458,0.2551458,0.6171045,-48.77856,487.49674)"
+       d="m 179.80715,418.82535 -43.79473,-23.34656 -48.057629,12.38974 8.670585,-48.86575 -26.633969,-41.87688 49.153453,-6.85413 31.59693,-38.27107 21.70791,44.62966 46.16195,18.22405 -35.73722,34.43678 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.6895226"
+       sodipodi:arg1="1.0612041"
+       sodipodi:r2="45.665279"
+       sodipodi:r1="78.688225"
+       sodipodi:cy="350.13498"
+       sodipodi:cx="141.42136"
+       sodipodi:sides="5"
+       id="path5574"
+       style="opacity:0.22790701;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.70000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.22790701;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.70000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="path5576"
+       sodipodi:sides="5"
+       sodipodi:cx="141.42136"
+       sodipodi:cy="350.13498"
+       sodipodi:r1="78.688225"
+       sodipodi:r2="45.665279"
+       sodipodi:arg1="1.0612041"
+       sodipodi:arg2="1.6895226"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 179.80715,418.82535 -43.79473,-23.34656 -48.057629,12.38974 8.670585,-48.86575 -26.633969,-41.87688 49.153453,-6.85413 31.59693,-38.27107 21.70791,44.62966 46.16195,18.22405 -35.73722,34.43678 z"
+       transform="matrix(0.5368229,1.5964048e-2,-1.5964048e-2,0.5368229,6.5592731,406.45942)" />
+    <path
+       transform="matrix(0.3852517,-0.1964008,0.1964008,0.3852517,15.210382,430.94873)"
+       d="m 179.80715,418.82535 -43.79473,-23.34656 -48.057629,12.38974 8.670585,-48.86575 -26.633969,-41.87688 49.153453,-6.85413 31.59693,-38.27107 21.70791,44.62966 46.16195,18.22405 -35.73722,34.43678 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.6895226"
+       sodipodi:arg1="1.0612041"
+       sodipodi:r2="45.665279"
+       sodipodi:r1="78.688225"
+       sodipodi:cy="350.13498"
+       sodipodi:cx="141.42136"
+       sodipodi:sides="5"
+       id="path5578"
+       style="opacity:0.22790701;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.70000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.22790701;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.70000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="path5580"
+       sodipodi:sides="5"
+       sodipodi:cx="141.42136"
+       sodipodi:cy="350.13498"
+       sodipodi:r1="78.688225"
+       sodipodi:r2="45.665279"
+       sodipodi:arg1="1.0612041"
+       sodipodi:arg2="1.6895226"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 179.80715,418.82535 -43.79473,-23.34656 -48.057629,12.38974 8.670585,-48.86575 -26.633969,-41.87688 49.153453,-6.85413 31.59693,-38.27107 21.70791,44.62966 46.16195,18.22405 -35.73722,34.43678 z"
+       transform="matrix(0.2727826,6.8080206e-2,-6.8080206e-2,0.2727826,71.260436,381.71532)" />
+    <path
+       transform="matrix(0.2047873,1.2440148e-2,-1.2440148e-2,0.2047873,101.54119,377.50775)"
+       d="m 179.80715,418.82535 -43.79473,-23.34656 -48.057629,12.38974 8.670585,-48.86575 -26.633969,-41.87688 49.153453,-6.85413 31.59693,-38.27107 21.70791,44.62966 46.16195,18.22405 -35.73722,34.43678 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.6895226"
+       sodipodi:arg1="1.0612041"
+       sodipodi:r2="45.665279"
+       sodipodi:r1="78.688225"
+       sodipodi:cy="350.13498"
+       sodipodi:cx="141.42136"
+       sodipodi:sides="5"
+       id="path5582"
+       style="opacity:0.22790701;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.70000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.22790701;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.70000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="path6523"
+       sodipodi:sides="5"
+       sodipodi:cx="141.42136"
+       sodipodi:cy="350.13498"
+       sodipodi:r1="78.688225"
+       sodipodi:r2="45.665279"
+       sodipodi:arg1="1.0612041"
+       sodipodi:arg2="1.6895226"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 179.80715,418.82535 -43.79473,-23.34656 -48.057629,12.38974 8.670585,-48.86575 -26.633969,-41.87688 49.153453,-6.85413 31.59693,-38.27107 21.70791,44.62966 46.16195,18.22405 -35.73722,34.43678 z"
+       transform="matrix(0.9554143,6.4781284e-2,-6.4781284e-2,0.9554143,-54.464507,409.68654)" />
+  </g>
+</svg>
diff --git a/data/backgrounds/default_bg.svg b/data/backgrounds/default_bg.svg
new file mode 100644 (file)
index 0000000..17d94d9
--- /dev/null
@@ -0,0 +1,1333 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:docname="default_bg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1026"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.61522534"
+     inkscape:cx="535.68141"
+     inkscape:cy="409.90349"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1"
+     borderlayer="true" />
+  <defs
+     id="defs561">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4286">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop4288" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop4290" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6297"
+       cx="73.08477"
+       cy="-64.148376"
+       fx="73.08477"
+       fy="-64.148376"
+       r="139.13554"
+       gradientTransform="matrix(1.2783381,0.4169453,-0.272318,0.846931,-30.398528,-33.221331)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <linearGradient
+       id="linearGradient6239">
+      <stop
+         style="stop-color:#1f1f1f;stop-opacity:1;"
+         offset="0"
+         id="stop6241" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop6243" />
+    </linearGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6439">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="6.8900544"
+         id="feGaussianBlur6441" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6475"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6295"
+       cx="-54.119453"
+       cy="-33.586506"
+       fx="-54.119453"
+       fy="-33.586506"
+       r="85.972984"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6435">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.8924159"
+         id="feGaussianBlur6437" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6473"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6471"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6293"
+       cx="121.82938"
+       cy="29.891867"
+       fx="121.82938"
+       fy="29.891867"
+       r="85.972984"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6593">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.9535839"
+         id="feGaussianBlur6595" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6469"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6467"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6291"
+       cx="-84.775795"
+       cy="102.82321"
+       fx="-84.775795"
+       fy="102.82321"
+       r="139.13554"
+       gradientTransform="matrix(0.609306,0,-1.7525848e-8,0.8902338,-33.121388,0.102488)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6609">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.7116756"
+         id="feGaussianBlur6611" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6465"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6463"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6289"
+       cx="-55.975525"
+       cy="110.75415"
+       fx="-55.975525"
+       fy="110.75415"
+       r="139.13554"
+       gradientTransform="matrix(0.4023117,1.7847586e-8,-2.8882931e-8,0.8902338,-33.455913,0.1024879)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6781">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.8770044"
+         id="feGaussianBlur6783" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6461"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6459"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6287"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984"
+       gradientTransform="matrix(0.7054225,-0.6154847,1,0.8642415,-0.933785,0.1264853)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6529">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.8307749"
+         id="feGaussianBlur6531" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6457"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6455"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6285"
+       cx="-108.65945"
+       cy="46.669819"
+       fx="-108.65945"
+       fy="46.669819"
+       r="85.972984"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6415">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.5378501"
+         id="feGaussianBlur6417" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6453"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6451"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6283"
+       cx="54.552696"
+       cy="61.81908"
+       fx="54.552696"
+       fy="61.81908"
+       r="85.972984"
+       gradientTransform="matrix(0.8491493,-0.5169578,0.3359319,0.5286533,-12.537687,75.354409)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6693">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.3837536"
+         id="feGaussianBlur6695" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6449"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6447"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6281"
+       cx="-52.682827"
+       cy="22.638672"
+       fx="-52.682827"
+       fy="22.638672"
+       r="139.13554"
+       gradientTransform="matrix(0.5485002,0.04758875,-0.03800873,0.486111,-22.925821,11.758401)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6557">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="6.374635"
+         id="feGaussianBlur6559" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6445"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6443"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       r="139.13554"
+       fy="0.93368369"
+       fx="0.00033175375"
+       cy="0.93368369"
+       cx="0.00033175375"
+       spreadMethod="reflect"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3137"
+       xlink:href="#linearGradient6239"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3629-3">
+      <stop
+         id="stop3631-1"
+         offset="0"
+         style="stop-color:#00a3cd;stop-opacity:0;" />
+      <stop
+         id="stop3633-4"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:1;" />
+    </linearGradient>
+    <filter
+       id="filter5083"
+       inkscape:collect="always">
+      <feGaussianBlur
+         id="feGaussianBlur5085"
+         stdDeviation="2.8444007"
+         inkscape:collect="always" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4095">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.8306714"
+         id="feGaussianBlur4097" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4230"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4232"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4234"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2783381,0.4169453,-0.272318,0.846931,-30.398528,-33.221331)"
+       spreadMethod="reflect"
+       cx="73.08477"
+       cy="-64.148376"
+       fx="73.08477"
+       fy="-64.148376"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4236"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4238"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4240"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-54.119453"
+       cy="-33.586506"
+       fx="-54.119453"
+       fy="-33.586506"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4242"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4244"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4246"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="121.82938"
+       cy="29.891867"
+       fx="121.82938"
+       fy="29.891867"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4248"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4250"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4252"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.609306,0,-1.7525848e-8,0.8902338,-33.121388,0.102488)"
+       spreadMethod="reflect"
+       cx="-84.775795"
+       cy="102.82321"
+       fx="-84.775795"
+       fy="102.82321"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4254"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4256"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4258"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.4023117,1.7847586e-8,-2.8882931e-8,0.8902338,-33.455913,0.1024879)"
+       spreadMethod="reflect"
+       cx="-55.975525"
+       cy="110.75415"
+       fx="-55.975525"
+       fy="110.75415"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4260"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4262"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4264"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.7054225,-0.6154847,1,0.8642415,-0.933785,0.1264853)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4266"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4268"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4270"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-108.65945"
+       cy="46.669819"
+       fx="-108.65945"
+       fy="46.669819"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4272"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4274"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4276"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8491493,-0.5169578,0.3359319,0.5286533,-12.537687,75.354409)"
+       spreadMethod="reflect"
+       cx="54.552696"
+       cy="61.81908"
+       fx="54.552696"
+       fy="61.81908"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4278"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4280"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient4282"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.5485002,0.04758875,-0.03800873,0.486111,-22.925821,11.758401)"
+       spreadMethod="reflect"
+       cx="-52.682827"
+       cy="22.638672"
+       fx="-52.682827"
+       fy="22.638672"
+       r="139.13554" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4286"
+       id="linearGradient4292"
+       x1="627.09814"
+       y1="652.71136"
+       x2="627.09814"
+       y2="572.54468"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.80171169,0,0,1.0619067,27.135255,9.429704)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3629-3"
+       id="radialGradient4313"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.43458478,-0.60711143,1.8098112,0.66550087,-984.93862,492.67693)"
+       cx="727.25122"
+       cy="757.60583"
+       fx="727.25122"
+       fy="757.60583"
+       r="500" />
+  </defs>
+  <rect
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     id="rect4231"
+     width="1000"
+     height="698.85754"
+     x="0"
+     y="101.14243" />
+  <rect
+     style="fill:#ffffff;fill-opacity:1;stroke:none"
+     id="rect2855-8"
+     width="1002.3828"
+     height="574.74896"
+     x="-1.7211162"
+     y="106.1238" />
+  <rect
+     style="fill:url(#radialGradient4313);fill-opacity:1;stroke:none"
+     id="rect2855"
+     width="1002.3828"
+     height="574.74896"
+     x="-1.7211162"
+     y="106.1238" />
+  <text
+     xml:space="preserve"
+     style="font-size:21.12607765px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+     x="225.09085"
+     y="770.20593"
+     id="text2508-0"
+     transform="scale(1.181198,0.84659815)"><tspan
+       sodipodi:role="line"
+       id="tspan2510-6"
+       x="225.09085"
+       y="770.20593" /></text>
+  <g
+     id="g3955"
+     transform="matrix(1.0023828,0,0,0.71843624,16.811257,63.593811)"
+     style="opacity:0.6;filter:url(#filter5083)" />
+  <g
+     id="g4892"
+     transform="matrix(0.99958974,0,0,0.71843624,-0.03697497,106.10154)">
+    <g
+       transform="matrix(1.2468256,0,0,1.1986102,1.2039301,52.246604)"
+       id="g2836" />
+    <g
+       transform="matrix(1.2468256,0,0,1.1986102,0.760128,231.91957)"
+       id="g2209" />
+    <g
+       transform="matrix(5.0734563,0,0,5.3232265,22.200477,397.25206)"
+       id="g2411">
+      <g
+         transform="translate(-230.9546,-533.6597)"
+         style="fill:#000000;fill-opacity:1"
+         id="g2883" />
+      <g
+         transform="translate(-230.9546,-533.6597)"
+         style="fill:#000000;fill-opacity:1"
+         id="g2887" />
+      <g
+         transform="translate(-230.9546,-533.6597)"
+         style="fill:#000000;fill-opacity:1"
+         id="g2891" />
+    </g>
+    <g
+       inkscape:label="Calque 1"
+       id="layer1-4"
+       transform="matrix(1.2842911,0,0,1.3475176,-322.83945,-416.05452)" />
+  </g>
+  <g
+     id="g3873"
+     transform="matrix(0.98299439,0,0,0.7023051,37.837667,110.80445)" />
+  <rect
+     y="554.6637"
+     x="-56.077015"
+     height="195.56619"
+     width="1297.0857"
+     id="rect4093"
+     style="fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter4095)"
+     transform="matrix(0.80171169,0,0,1.0619067,27.135255,-36.570296)" />
+  <g
+     id="g4139"
+     transform="matrix(2.5900086,0,0,2.5900086,1026.5846,971.89115)"
+     style="fill:#424d58;fill-opacity:1">
+    <path
+       sodipodi:nodetypes="csscccccccccsccccccsssssssssssssscccsscccccccccssssccccccccccccssccccccsssccccccsscccscccscccssssscccsssssscccssssscccsssssscccccccccccssssssssscccscccccccscccccssssscccsscccssssssssssssssssscccscccccscccccccscccccccsssssscccccsscccccccsscccccscccssssssssssssssccccccccssccccccccccsscccsscccsscccccccccscccsssccccccccsssssssssssssssssssssssscccsssssssssssscccssssssssssscccssssssssssssccsssccccccccccsscccccccccccccccssssssccsssscccccsssccssssccssssssssccccccccccssssssscccsssssccccccccccssssccccccccccscccccsssscccccscccssccsssssssccccccssscccccccccccssscccccccssscccsccccccsccsssssssssssssccssssccsssssssssssssccccccccccssssscccccssscccsccsssscccccscccssssssscccssssssssssscccssscccccccssssccssssssccccccccscccccccsccccccsssssscccssscccccscccsssccccccssssssscccscccssscccsccccccccssssscccccccsssc"
+       id="path2384"
+       d="m -143.59532,-162.16068 c -2.34276,-0.11225 -4.63933,-0.94832 -6.50122,-2.36675 -0.58151,-0.44301 -1.42772,-1.25317 -1.86542,-1.78596 -1.33335,-1.62302 -2.13321,-3.43647 -2.41697,-5.47985 l -0.0289,-0.20795 -0.24943,0.007 -0.24944,0.007 -0.22753,0.66527 -0.22754,0.66527 0.005,0.91371 0.005,0.91373 0.42535,0.10752 c 0.4427,0.11191 0.60087,0.17919 0.64312,0.27355 0.0137,0.0307 0.0329,0.17019 0.0427,0.31004 l 0.0177,0.25427 -0.0692,0.0268 c -0.0381,0.0147 -0.13663,0.0235 -0.21902,0.0194 l -0.1498,-0.007 -0.0351,-0.14122 c -0.0284,-0.11413 -0.045,-0.14136 -0.0864,-0.14204 -0.0861,-0.001 -0.84331,-0.19921 -0.93853,-0.24518 -0.1035,-0.05 -0.16126,-0.14746 -0.16126,-0.27217 0,-0.0482 -0.009,-0.0934 -0.0204,-0.10045 -0.0289,-0.0182 -0.12765,0.0113 -0.12765,0.0381 0,0.0123 -0.35709,1.06444 -0.79354,2.33805 -0.67045,1.95641 -0.79416,2.339 -0.79751,2.46625 -0.003,0.12581 -0.0353,0.22698 -0.19398,0.61394 -0.23807,0.58046 -0.28355,0.65977 -0.4276,0.74567 -0.20474,0.12208 -0.50643,0.0786 -0.71811,-0.10341 -0.10377,-0.0892 -0.16076,-0.20067 -0.13917,-0.27211 0.0227,-0.0752 0.79397,-1.99256 0.82595,-2.05334 0.0209,-0.0397 0.0346,-0.0436 0.0759,-0.0211 0.0277,0.0151 0.0532,0.0237 0.0566,0.0191 0.003,-0.005 0.3139,-0.9107 0.69002,-2.01363 l 0.68385,-2.00532 -0.0506,-0.0548 c -0.0279,-0.0302 -0.0506,-0.0787 -0.0506,-0.10783 0,-0.0576 0.16701,-0.55338 0.20218,-0.60014 0.0119,-0.0158 0.0573,-0.0356 0.10093,-0.044 l 0.0793,-0.0152 0.29061,-0.8472 0.29059,-0.8472 -6.9e-4,-0.79707 -7e-4,-0.79705 -0.24672,0 -0.24673,0 -0.002,0.19455 c -0.004,0.30115 -0.0126,0.31866 -0.16429,0.32765 -0.12145,0.007 -0.12869,0.004 -0.14704,-0.0628 -0.0251,-0.0916 -0.0251,-1.12858 0,-1.22013 0.0183,-0.0669 0.0256,-0.07 0.14704,-0.0628 0.1517,0.009 0.16049,0.0265 0.16429,0.32765 l 0.002,0.19456 0.24673,0 0.24672,0 0,-1.06985 0,-1.06987 -0.1542,0.0154 c -0.59685,0.0598 -1.04662,0.0762 -2.1095,0.0772 l -1.19045,10e-4 -10e-6,3.13709 0,3.13709 0.0591,0.0512 c 0.0526,0.0455 0.0607,0.0782 0.0734,0.29592 0.012,0.20543 0.008,0.24477 -0.0221,0.24477 -0.0306,0 -0.0363,0.0662 -0.0363,0.41485 l 0,0.41484 -0.0678,0.0267 c -0.0962,0.0378 -0.56767,0.017 -0.66,-0.0292 l -0.074,-0.037 -0.007,-0.36095 c -0.005,-0.28516 5.4e-4,-0.36944 0.0285,-0.40137 0.0217,-0.0249 0.0417,-0.12744 0.052,-0.26636 0.0201,-0.27205 0.0302,-0.3138 0.0761,-0.3138 0.0305,0 0.0353,-0.4357 0.0353,-3.17355 l 0,-3.17354 -0.17889,-0.0142 c -0.81285,-0.0646 -1.44997,-0.11981 -1.51441,-0.13134 l -0.0772,-0.0138 -0.0187,1.10055 c -0.0103,0.60529 -0.0161,1.81224 -0.013,2.6821 0.006,1.64107 -0.003,1.92202 -0.0626,1.97235 -0.0223,0.0189 -0.035,0.0786 -0.035,0.1646 l 0,0.13499 -0.12953,-3.9e-4 c -0.0713,-2e-4 -0.14305,-0.009 -0.15958,-0.0198 -0.05,-0.0324 -0.0591,-0.45792 -0.0708,-3.33715 l -0.0112,-2.7423 -0.055,-0.0119 c -0.0302,-0.007 -0.16046,-0.0245 -0.28937,-0.0399 -0.36409,-0.0434 -1.42292,-0.21766 -1.88745,-0.31056 l -0.41945,-0.0839 -0.0816,0.0784 c -0.0779,0.0749 -0.0909,0.0784 -0.28375,0.078 -0.38785,-9.5e-4 -0.69942,-0.15285 -0.74481,-0.3631 -0.009,-0.0417 -0.0295,-0.0757 -0.0456,-0.0757 -0.0161,0 -0.23448,-0.0634 -0.48532,-0.14081 -0.25085,-0.0775 -0.47551,-0.14655 -0.49926,-0.15356 -0.0409,-0.0121 -0.0432,0.11362 -0.0427,2.39393 l 4.9e-4,2.40666 0.96791,1.40829 c 3.03481,4.41558 3.6361,5.2807 3.6749,5.28732 0.0411,0.007 1.10063,1.52139 1.12299,1.60506 0.0302,0.11312 -0.13232,0.22239 -0.3302,0.22198 -0.14794,-3e-4 -0.33775,-0.0876 -0.44316,-0.20378 -0.12508,-0.13788 -0.55745,-0.77926 -0.59864,-0.888 -0.0209,-0.0552 -0.57736,-0.88556 -1.23655,-1.84517 -0.6592,-0.95961 -1.63669,-2.38238 -2.17221,-3.16171 l -0.97368,-1.41695 -0.0131,1.16591 c -0.0101,0.89455 -0.0207,1.18125 -0.0457,1.23178 -0.0518,0.10463 -0.18318,0.16143 -0.64879,0.28044 -0.37775,0.0966 -0.4404,0.1066 -0.47099,0.0755 -0.0306,-0.0311 -0.0395,-0.0157 -0.067,0.11607 -0.0174,0.0836 -0.047,0.16491 -0.0658,0.18075 -0.0219,0.0185 -0.0922,0.024 -0.19622,0.0155 l -0.16214,-0.0132 0.0173,0.35502 c 0.01,0.19526 0.0248,0.45504 0.034,0.5773 0.0166,0.22114 0.0164,0.22243 -0.046,0.24931 -0.0345,0.0149 -0.14408,0.0278 -0.24354,0.0288 -0.14466,0.001 -0.18715,-0.007 -0.21224,-0.0419 -0.0396,-0.0551 -0.0745,-0.56517 -0.0414,-0.60569 0.0155,-0.0189 0.003,-0.29364 -0.0355,-0.78197 -0.0326,-0.41402 -0.0595,-0.78666 -0.0598,-0.82807 l -5.3e-4,-0.0753 -0.17893,0.009 c -0.22596,0.0111 -0.58711,-0.0379 -0.72615,-0.0986 l -0.10661,-0.0465 -5.9e-4,-0.15779 -5.9e-4,-0.1578 -0.92758,-0.67781 c -0.51017,-0.37281 -0.9861,-0.72021 -1.05764,-0.77201 l -0.13008,-0.0942 -1.9323,2.51675 c -1.06276,1.38423 -2.093,2.72576 -2.2894,2.98119 -0.19641,0.25544 -0.40504,0.51761 -0.46361,0.58261 -0.0654,0.0725 -0.10652,0.14208 -0.10652,0.18008 0,0.0635 -0.0326,0.11181 -0.38504,0.57036 -0.21094,0.27448 -0.33077,0.39716 -0.44832,0.45901 -0.0908,0.0478 -0.27903,0.0747 -0.37391,0.0535 -0.1026,-0.0229 -0.22379,-0.1298 -0.22357,-0.19716 1e-4,-0.0322 0.22171,-0.34536 0.54465,-0.76973 0.58935,-0.77442 0.63709,-0.8329 0.66545,-0.81506 0.0103,0.007 1.60751,-2.05659 3.54927,-4.58465 l 3.53045,-4.59648 0,-0.17156 c 0,-0.1557 0.006,-0.1764 0.0654,-0.2239 0.036,-0.0288 0.10813,-0.0593 0.16036,-0.0678 l 0.095,-0.0155 -2.8e-4,-2.92771 -2.7e-4,-2.92772 -0.12926,-0.0502 -0.12925,-0.0502 -0.007,-0.56169 c -0.004,-0.36072 0.002,-0.5729 0.0189,-0.59303 0.0141,-0.0172 0.092,-0.0503 0.1732,-0.0735 l 0.1476,-0.0421 -5.3e-4,-5.31454 -5.4e-4,-5.31452 -0.0796,-0.0377 c -0.0778,-0.0368 -0.0808,-0.0444 -0.13185,-0.33344 -0.0287,-0.16268 -0.057,-0.30071 -0.063,-0.30672 -0.006,-0.006 -0.65795,1.07897 -1.449,2.41107 -0.79104,1.3321 -1.46188,2.43883 -1.49074,2.45941 -0.09,0.0641 -0.23243,0.0479 -0.31482,-0.036 -0.15196,-0.15463 -0.22324,-0.0148 1.40839,-2.76178 l 1.48051,-2.49252 -0.0778,-0.0902 c -0.26447,-0.30648 -0.2916,-0.8292 -0.0661,-1.2724 0.19542,-0.38399 0.47628,-0.63707 0.86903,-0.7831 0.0556,-0.0207 0.21135,-0.045 0.3461,-0.054 l 0.245,-0.0164 2.01896,-3.39927 c 1.11043,-1.86961 2.01392,-3.4044 2.00777,-3.41066 -0.006,-0.006 -0.39764,-0.11068 -0.86997,-0.23204 -3.09532,-0.7953 -5.6967,-1.71695 -7.6684,-2.71682 -1.31222,-0.66544 -2.14742,-1.2401 -2.63309,-1.81167 -0.42444,-0.49952 -0.50309,-0.96567 -0.22742,-1.34778 0.27343,-0.37898 1.01607,-0.68189 2.05866,-0.83966 1.13773,-0.17216 2.96353,-0.19039 4.81115,-0.048 4.75452,0.36633 10.7921,1.7427 14.95157,3.4085 2.63454,1.05508 4.29525,2.10462 4.74784,3.00053 0.32055,0.63454 -0.0388,1.17428 -1.01034,1.51733 -0.46074,0.1627 -1.26036,0.31868 -1.84388,0.3597 -0.1323,0.009 -0.24056,0.0244 -0.24056,0.0336 0,0.009 0.0583,0.0317 0.12953,0.0501 0.2224,0.0574 1.12238,0.36459 1.5482,0.52842 2.80935,1.08079 5.07344,2.66212 5.38892,3.76384 0.0796,0.27804 0.0624,0.37254 -0.19534,1.0693 -0.12892,0.34855 -0.2343,0.64351 -0.23419,0.65545 1.3e-4,0.0119 0.37484,0.16329 0.83271,0.33634 l 0.83247,0.31461 0.008,-0.0884 c 0.01,-0.10975 0.0427,-0.15175 0.11837,-0.15175 0.0586,0 0.0587,-2.9e-4 0.0587,-0.31081 l 0,-0.31081 -0.19121,-0.0218 -0.19121,-0.0218 -0.007,-0.11599 c -0.009,-0.14828 -0.0145,-0.14692 0.53785,-0.14692 0.55226,0 0.54729,-0.001 0.53783,0.14692 l -0.007,0.11599 -0.20427,0.0224 -0.20429,0.0224 0.007,0.30378 0.007,0.30379 0.074,0.0129 c 0.0679,0.0118 0.0746,0.0221 0.0813,0.12572 0.007,0.1105 0.01,0.11363 0.12338,0.1505 l 0.11604,0.0377 0,0.27581 0,0.27581 -0.0678,0.0331 -0.0678,0.0331 0,0.53916 c 0,0.49053 0.004,0.54063 0.0432,0.55548 0.0237,0.009 0.13753,0.0785 0.25288,0.15441 0.48049,0.31635 0.43455,0.29785 0.67407,0.27172 0.13314,-0.0145 0.27382,-0.0141 0.37844,0.001 0.18914,0.0277 0.17485,0.0338 0.61939,-0.26394 0.12569,-0.0842 0.25061,-0.16018 0.27756,-0.16889 0.0469,-0.0151 0.049,-0.0391 0.049,-0.54935 l 0,-0.53352 -0.0802,-0.0359 -0.0802,-0.0359 -0.007,-0.22593 c -0.01,-0.31096 -0.002,-0.3332 0.13115,-0.36946 0.10897,-0.0297 0.1105,-0.0315 0.1105,-0.13712 0,-0.0997 0.005,-0.10849 0.0802,-0.12814 l 0.0802,-0.0211 0.007,-0.30244 0.007,-0.30244 -0.20428,-0.0224 -0.20429,-0.0224 -0.007,-0.11585 c -0.007,-0.11219 -0.005,-0.11637 0.0709,-0.1318 0.10176,-0.0207 0.85676,-0.0207 0.95851,0 0.0758,0.0154 0.0781,0.0196 0.0709,0.1318 l -0.007,0.11585 -0.20357,0.0223 -0.20354,0.0223 0,0.29858 c 0,0.26246 0.005,0.30023 0.0432,0.31216 0.0948,0.0298 0.11771,0.0568 0.12952,0.1528 l 0.0123,0.10009 0.84918,-0.32235 c 0.46707,-0.17729 0.85246,-0.32566 0.85644,-0.32971 0.004,-0.004 -0.12648,-0.36835 -0.28991,-0.80957 -0.27329,-0.73775 -0.29712,-0.81574 -0.29651,-0.97064 0.001,-0.31003 0.18089,-0.64669 0.55818,-1.04603 0.58139,-0.61537 1.3967,-1.18661 2.55397,-1.78942 1.4853,-0.77368 3.40045,-1.43 4.88518,-1.67412 0.64075,-0.10537 0.77511,-0.11632 1.41866,-0.1157 0.57405,5.6e-4 0.66599,0.007 0.87464,0.0562 0.24674,0.0588 0.50225,0.16783 0.63538,0.27115 0.1123,0.0872 0.18039,0.21754 0.33939,0.64994 0.11552,0.31411 0.15478,0.39258 0.23867,0.47698 0.0552,0.0556 0.11502,0.12976 0.13294,0.16489 0.0485,0.0952 0.1042,0.33447 0.13696,0.58847 0.026,0.20147 0.1606,0.58126 1.25962,3.55422 0.97028,2.62459 1.23056,3.35302 1.23056,3.44386 l 0,0.1152 0.42678,0.008 c 0.46878,0.009 0.52235,0.0245 0.60566,0.17353 l 0.0408,0.073 0.33796,1.6e-4 0.33797,1.5e-4 0.007,-0.13144 c 0.007,-0.12516 0.0123,-0.13416 0.10877,-0.18818 0.0978,-0.0547 0.1019,-0.0622 0.1172,-0.21118 0.0176,-0.17141 0.0389,-0.21015 0.12767,-0.23284 l 0.0605,-0.0154 0.006,-1.26013 0.006,-1.26013 0.089,-0.0214 c 0.0499,-0.012 0.12574,-0.0117 0.17271,6.5e-4 l 0.0837,0.0221 0.006,1.25695 0.006,1.25695 0.073,0.0308 c 0.0809,0.0341 0.0883,0.0511 0.11108,0.25523 0.0138,0.12377 0.0237,0.144 0.0767,0.15754 0.10534,0.0269 0.15826,0.10301 0.15826,0.22764 l 0,0.11297 0.49271,0 c 2.20298,0 5.41393,0.21317 6.66233,0.4423 0.58097,0.10663 0.96157,0.23958 1.00342,0.3505 0.0261,0.0692 -0.0157,0.15083 -0.10344,0.20183 l -0.0887,0.0516 0.0892,0.0692 c 0.19406,0.15062 0.061,0.30427 -0.37004,0.42717 -0.71125,0.20284 -2.29545,0.37942 -4.28069,0.47718 -0.96938,0.0477 -2.29593,0.0891 -2.85436,0.0891 l -0.42412,-5e-5 -0.008,0.0941 c -0.007,0.0849 -0.0198,0.10049 -0.1308,0.15846 l -0.12313,0.0643 -0.0348,0.21183 c -0.0264,0.16089 -0.0369,0.57789 -0.0438,1.73379 l -0.009,1.52195 0.0641,0.0427 c 0.0353,0.0235 0.0852,0.0899 0.11086,0.14748 0.0446,0.10005 0.0468,0.19762 0.0473,2.18045 l 5.6e-4,2.07572 0.10273,0.0707 c 0.17755,0.1222 0.20436,0.20801 0.21422,0.68575 0.0109,0.52859 -0.0113,0.63949 -0.15846,0.79138 -0.075,0.0774 -0.10932,0.13424 -0.1097,0.18156 -7.9e-4,0.10148 -0.0847,0.27217 -0.15776,0.32087 l -0.0637,0.0425 0,2.85502 0,2.85502 0.0983,0.03 c 0.1263,0.0385 0.14844,0.0847 0.14844,0.30964 l 0,0.18433 1.95211,2.83611 c 1.07365,1.55986 2.43919,3.54365 3.03454,4.40842 0.59533,0.86477 1.10195,1.57761 1.1258,1.58408 0.0639,0.0173 1.06727,1.48831 1.06727,1.56468 0,0.0956 -0.12649,0.16162 -0.30841,0.16106 -0.17612,-5.4e-4 -0.31293,-0.0582 -0.42302,-0.17829 -0.11941,-0.13025 -0.55419,-0.77661 -0.58889,-0.87545 -0.0169,-0.0483 -0.31135,-0.49454 -0.65417,-0.99161 -0.34284,-0.49706 -0.9177,-1.33304 -1.27747,-1.85772 -2.38912,-3.48435 -2.22807,-3.25616 -2.27136,-3.21822 -0.0382,0.0335 -1.04384,0.87335 -1.05914,0.88457 -0.004,0.003 0.0662,0.077 0.15596,0.1647 0.0897,0.0877 0.15126,0.16346 0.13674,0.16839 -0.0185,0.006 -0.0264,0.72467 -0.0264,2.4058 0,1.59152 0.008,2.39164 0.0247,2.38133 0.0136,-0.008 0.0247,-0.0713 0.0247,-0.13955 0,-0.0682 0.008,-0.1236 0.0185,-0.12306 0.0102,5.4e-4 0.11288,0.0486 0.22823,0.1067 0.24122,0.12159 0.28363,0.18315 0.32843,0.4768 0.0214,0.1403 0.0198,0.17609 -0.009,0.20352 -0.0194,0.0183 -0.52338,0.14831 -1.11989,0.28894 -0.59649,0.14061 -1.08911,0.26031 -1.09469,0.26598 -0.006,0.006 0.03,0.0581 0.0792,0.11645 0.0491,0.0584 0.0893,0.13152 0.0893,0.16255 0,0.089 -0.11068,0.16049 -0.24845,0.16049 -0.1629,0 -0.22674,-0.0298 -0.38027,-0.17756 l -0.1325,-0.12751 -0.35656,0.0831 c -0.25363,0.0591 -0.35309,0.0923 -0.34458,0.11488 0.007,0.0174 1.7e-4,0.0317 -0.0143,0.0317 -0.0144,0 -0.31262,-0.20713 -0.66262,-0.46029 -1.59965,-1.15703 -2.43249,-1.7498 -2.44317,-1.73894 -0.006,0.007 10e-4,0.0517 0.0172,0.10052 0.0256,0.0789 0.034,0.0854 0.0759,0.0588 0.0303,-0.0193 0.0547,-0.0212 0.0684,-0.005 0.0358,0.041 0.84341,2.05496 0.84341,2.10322 0,0.0709 -0.0627,0.17579 -0.13947,0.23323 -0.36747,0.27512 -0.76431,0.21395 -0.93901,-0.14474 -0.0291,-0.0598 -0.13146,-0.304 -0.22741,-0.54271 -0.13984,-0.34784 -0.1744,-0.45999 -0.17418,-0.56484 2.2e-4,-0.10314 -0.069,-0.33493 -0.32692,-1.09485 l -0.32719,-0.96404 -0.17758,-0.13428 c -0.0977,-0.0739 -0.18303,-0.13428 -0.18974,-0.13428 -0.007,0 -0.28346,0.35327 -0.615,0.78506 -0.33153,0.43178 -0.61969,0.79933 -0.64036,0.81678 -0.0207,0.0174 -0.0448,0.0708 -0.0536,0.11848 -0.0107,0.0578 -0.11581,0.21732 -0.3151,0.47796 -0.31755,0.41533 -0.43491,0.51602 -0.64331,0.55183 -0.18644,0.032 -0.43016,-0.0933 -0.4072,-0.20951 0.004,-0.0198 0.25692,-0.36185 0.56225,-0.76018 0.37818,-0.49339 0.57085,-0.72532 0.60447,-0.72761 0.0272,-0.002 0.003,-0.0164 -0.0545,-0.0323 -0.15365,-0.0428 -0.15707,-0.0508 -0.13006,-0.30568 0.0457,-0.43136 0.12292,-1.49274 0.12292,-1.68888 l 0,-0.19744 -0.67235,-0.56604 c -0.50278,-0.42331 -0.67949,-0.55889 -0.7007,-0.53769 -0.0691,0.069 -3.364,4.88743 -3.3969,4.96755 -0.0444,0.10815 -0.36216,0.57712 -0.46716,0.68948 -0.1032,0.11043 -0.21204,0.15787 -0.36226,0.15787 -0.10308,0 -0.13871,-0.012 -0.1897,-0.0639 -0.0345,-0.0351 -0.0568,-0.0796 -0.0496,-0.0988 0.0303,-0.0804 0.84494,-1.24233 0.87128,-1.24274 0.0158,-2.6e-4 0.14252,-0.16709 0.28158,-0.37074 0.139,-0.20366 0.29242,-0.42626 0.34091,-0.49467 0.10495,-0.14806 0.0809,-0.13594 -0.19484,0.0983 -1.20055,1.01978 -2.74458,1.83437 -4.30536,2.27139 -0.90554,0.25354 -1.69767,0.38003 -2.67698,0.42744 -0.57218,0.0277 -0.55634,0.0277 -1.15962,-0.001 z m 21.21842,-3.36192 c 0,-0.31758 -0.005,-0.5774 -0.0119,-0.5774 -0.0249,0 -1.60068,0.37721 -1.60833,0.385 -0.008,0.009 1.56954,0.7653 1.60173,0.76816 0.0102,9e-4 0.0185,-0.25819 0.0185,-0.57576 z m -7.76345,-0.55229 0.35793,-0.46443 -0.0611,-0.0502 c -0.0565,-0.0465 -0.0605,-0.0641 -0.0536,-0.23584 l 0.007,-0.18563 0.25383,-0.0615 c 0.28643,-0.0694 0.26925,-0.0373 0.1682,-0.31476 l -0.0528,-0.14501 -0.10313,0.0772 c -0.0922,0.069 -0.10392,0.0896 -0.1106,0.19396 -0.006,0.0996 -0.0184,0.12328 -0.0818,0.16084 -0.0929,0.055 -0.39202,0.10372 -0.56794,0.0925 l -0.13294,-0.008 -0.0134,0.12553 c -0.0431,0.40359 -0.0837,1.12589 -0.0704,1.25263 l 0.0155,0.14805 0.0435,-0.0602 c 0.0239,-0.0331 0.20452,-0.26917 0.40141,-0.5246 z m 5.27152,-1.7141 0,-0.50908 0.16045,-0.16183 c 0.14191,-0.1431 0.18545,-0.17061 0.37627,-0.23776 l 0.2158,-0.0759 0.007,-0.11301 0.007,-0.11302 -0.1923,-0.1397 c -0.10578,-0.0768 -0.55217,-0.40323 -0.99199,-0.7253 -0.55652,-0.40755 -0.80921,-0.57878 -0.83112,-0.56318 -0.0173,0.0123 -0.19614,0.23708 -0.3974,0.49942 -0.66178,0.86263 -1.02402,1.33875 -1.02764,1.35067 -0.007,0.0228 0.85324,1.12586 0.88877,1.13973 0.0266,0.0104 1.22893,0.11737 1.74144,0.15493 0.0398,0.003 0.0432,-0.0366 0.0432,-0.50592 z m -2.7081,0.28953 c 0.13803,0.0112 0.26399,0.0172 0.2799,0.0133 0.0264,-0.007 -0.48868,-0.70384 -0.5279,-0.71475 -0.0141,-0.004 -0.61893,0.77223 -0.64079,0.82226 -0.004,0.009 0.13808,-0.0193 0.31543,-0.0626 0.30064,-0.0733 0.33937,-0.0773 0.57336,-0.0582 z m -3.29474,-0.51368 c 0.0634,-0.0718 0.15787,-1.44658 0.14971,-2.17729 l -0.007,-0.59009 -0.66355,0.96455 c -0.36496,0.5305 -0.66471,0.97754 -0.66615,0.99344 -0.001,0.0159 0.25275,0.24577 0.56486,0.51085 0.5443,0.46229 0.5678,0.47911 0.5757,0.4117 0.005,-0.0387 0.0253,-0.0896 0.046,-0.11316 z m 0.94568,-0.002 c 0.0125,-0.51744 0.008,-0.72087 -0.0155,-0.72086 -0.0171,0 -0.0328,0.0997 -0.0423,0.26988 -0.008,0.14842 -0.0228,0.3305 -0.0322,0.40461 -0.0166,0.13224 -0.016,0.1342 0.0362,0.1058 0.0292,-0.0159 0.0534,-0.0426 0.0538,-0.0594 z m 1.30893,-0.5514 c 0.17496,-0.12773 0.31548,-0.24403 0.31227,-0.25847 -0.006,-0.0289 -1.45635,-1.92044 -1.46515,-1.91148 -0.008,0.008 0.2959,0.87753 0.31964,0.91478 0.011,0.0172 0.0457,0.0313 0.0772,0.0313 0.0803,0 0.0978,0.0291 0.21034,0.34881 0.101,0.28688 0.10193,0.30205 0.024,0.39177 -0.042,0.0484 -0.0395,0.0623 0.0682,0.38284 0.0615,0.18296 0.1171,0.33264 0.12362,0.33264 0.006,0 0.15496,-0.1045 0.32992,-0.23222 z m 2.08671,-2.2029 c 0.70487,-0.91819 1.53362,-1.99847 1.84165,-2.40062 l 0.56006,-0.73119 0,-0.16321 c 0,-0.18474 0.0157,-0.20737 0.17807,-0.25614 l 0.10566,-0.0317 0.006,-2.84119 0.006,-2.8412 -0.0988,-0.0956 c -0.0883,-0.0855 -0.0988,-0.10829 -0.0988,-0.21538 0,-0.10938 -0.0102,-0.13009 -0.11719,-0.23907 -0.0645,-0.0656 -0.14645,-0.1547 -0.1822,-0.19793 -0.0548,-0.0662 -0.0822,-0.0786 -0.17395,-0.0786 -0.12828,0 -0.16809,0.0324 -0.16824,0.13681 -1.2e-4,0.10096 -0.0783,0.22779 -0.17029,0.27619 -0.10352,0.0545 -0.26933,0.049 -0.36772,-0.012 -0.13312,-0.0826 -0.16101,-0.18499 -0.17248,-0.63324 l -0.0101,-0.39539 -0.0914,0 c -0.0726,0 -0.14177,0.0353 -0.33666,0.17189 -0.13492,0.0945 -0.2675,0.17751 -0.29464,0.18438 -0.0272,0.007 -0.58913,0.39228 -1.24889,0.85647 -1.08038,0.76014 -1.19844,0.84984 -1.18843,0.90311 0.009,0.0454 -0.01,0.0752 -0.0784,0.12861 -0.0751,0.0583 -0.16513,0.22348 -0.55716,1.02212 l -0.46761,0.95262 0,0.26096 c 0,0.29393 -0.0118,0.31886 -0.1738,0.36827 l -0.0976,0.0297 0,1.60269 0,1.60271 0.18141,0 0.18138,0 0.0142,-0.21966 c 0.0198,-0.30653 0.0226,-0.3115 0.17343,-0.30246 0.11513,0.007 0.12636,0.0133 0.14537,0.0828 0.026,0.0948 0.0261,1.04915 1.9e-4,1.16734 -0.0186,0.0849 -0.0235,0.0881 -0.14479,0.0953 -0.1503,0.009 -0.14852,0.012 -0.17136,-0.29581 l -0.0168,-0.22631 -0.18149,0 -0.18152,0 0,0.67734 0,0.67734 0.0679,0.0164 c 0.1191,0.0288 0.15419,0.0799 0.15419,0.22461 l 0,0.13187 0.90673,1.18085 c 0.84203,1.09663 0.90953,1.17781 0.94636,1.13828 0.0218,-0.0234 0.61635,-0.79381 1.32122,-1.71199 z m 2.46925,0.99953 c 0.0168,-0.0206 0.0751,-0.051 0.12953,-0.0676 l 0.099,-0.0302 0,-1.65587 c 0,-1.30779 -0.006,-1.65595 -0.0308,-1.65623 -0.017,-1.8e-4 -0.0536,-0.006 -0.0813,-0.0141 -0.0426,-0.0117 -0.19526,0.17472 -0.98461,1.20226 -0.5138,0.66883 -0.93291,1.22377 -0.93136,1.23321 0.002,0.009 0.39466,0.30405 0.8736,0.65469 l 0.87078,0.63754 0.0123,-0.13311 c 0.007,-0.0732 0.0261,-0.14996 0.0429,-0.17056 z m -44.24641,0.14045 c 0.19618,-0.0808 0.37121,-0.21993 0.58047,-0.46159 0.14714,-0.16989 0.17467,-0.21588 0.17467,-0.29173 l 0,-0.09 -0.11719,0.0984 c -0.0644,0.0541 -0.31705,0.26574 -0.56131,0.47031 -0.24425,0.20455 -0.45474,0.38171 -0.46772,0.39368 -0.0316,0.0291 0.20971,-0.0443 0.39108,-0.11901 z m 46.38633,-0.53428 c 0.36679,-0.30892 0.66924,-0.5744 0.67213,-0.58995 0.007,-0.0351 -1.62615,-2.40644 -1.66623,-2.42003 -0.0517,-0.0175 -0.0349,0.88569 0.0323,1.73906 0.0337,0.42803 0.0745,0.96361 0.0906,1.19018 0.0245,0.34415 0.0367,0.4184 0.0743,0.45118 0.0309,0.0269 0.045,0.0738 0.045,0.1497 0,0.10111 0.004,0.10754 0.0425,0.076 0.0234,-0.019 0.34256,-0.28722 0.70933,-0.59615 z m -48.20358,-0.14123 0.12926,-0.0502 2.7e-4,-1.73534 2.8e-4,-1.73533 -0.0789,-0.0161 c -0.0502,-0.0102 -0.0901,-0.004 -0.10958,0.0157 -0.0169,0.0175 -0.46459,0.5966 -0.99498,1.28697 -0.86804,1.12987 -0.95997,1.25825 -0.9205,1.28565 0.0241,0.0168 0.44352,0.32313 0.93204,0.68087 l 0.88821,0.65042 0.0123,-0.16622 0.0123,-0.16624 0.12925,-0.0502 z m 2.02218,-0.2598 0.54533,-0.46064 -0.0638,-0.14186 c -0.0567,-0.12605 -0.0641,-0.17544 -0.0662,-0.44312 l -0.002,-0.30125 -0.66153,-0.96024 c -0.36384,-0.52813 -0.67156,-0.96023 -0.68383,-0.96023 -0.0543,0 -0.0209,0.98968 0.0759,2.24717 0.0899,1.16761 0.10244,1.28031 0.14802,1.32969 0.0317,0.0343 0.0498,0.0882 0.0498,0.14828 l 0,0.0943 0.0567,-0.0457 c 0.0312,-0.0252 0.30211,-0.25305 0.60204,-0.5064 z m 0.55021,-4.26928 0,-2.10653 -0.28101,-0.13749 c -0.31568,-0.15445 -0.53784,-0.29987 -0.71439,-0.46763 -0.13676,-0.12995 -0.20493,-0.25121 -0.22909,-0.40749 -0.009,-0.0599 -0.0309,-0.13159 -0.048,-0.1592 -0.077,-0.1242 -0.0891,-0.26251 -0.0612,-0.70349 l 0.0273,-0.43202 -0.062,-0.12562 c -0.0341,-0.0691 -0.0781,-0.18639 -0.0977,-0.26068 -0.0319,-0.1206 -0.0359,0.11701 -0.0373,2.2165 l -0.002,2.35158 0.0925,0.0303 c 0.14791,0.0485 0.1542,0.0603 0.1542,0.2907 l 0,0.21055 0.62176,0.9035 c 0.34196,0.49694 0.62508,0.90352 0.62915,0.90352 0.004,0 0.007,-0.94794 0.007,-2.10653 z m 36.44237,0.26919 c 0.061,-0.0459 0.073,-0.0725 0.073,-0.16169 0,-0.0587 0.0111,-0.11376 0.0247,-0.12229 0.0156,-0.01 0.0247,-0.29732 0.0247,-0.77972 0,-0.49272 -0.009,-0.76419 -0.0247,-0.76419 -0.0136,0 -0.0247,-0.0135 -0.0247,-0.03 0,-0.0165 -0.0283,-0.0601 -0.063,-0.0968 -0.0346,-0.0368 -0.0908,-0.15034 -0.1249,-0.25241 -0.0639,-0.19132 -0.776,-1.78644 -0.7908,-1.77137 -0.0154,0.0157 0.23875,2.1869 0.27527,2.35147 0.0199,0.0898 0.0644,0.41171 0.099,0.71547 0.0345,0.30376 0.0732,0.63136 0.0861,0.72802 0.0128,0.0967 0.0236,0.18986 0.0241,0.20711 5.8e-4,0.0221 0.0524,0.0314 0.17453,0.0314 0.13997,0 0.18789,-0.0107 0.24671,-0.0549 z m 1.57788,-3.83589 c 0.0951,-0.19313 0.17289,-0.36137 0.17289,-0.37388 0,-0.067 -0.0914,-0.0324 -0.299,0.11315 -0.12731,0.0893 -0.23566,0.17457 -0.24079,0.18959 -0.008,0.0223 0.16788,0.41487 0.18804,0.42057 0.003,9.2e-4 0.0838,-0.15632 0.17886,-0.34943 z m -0.15557,-0.87188 c -0.004,-0.0609 0.0335,-0.0947 0.3631,-0.32625 0.31882,-0.22395 0.37956,-0.25746 0.45664,-0.252 0.0802,0.006 0.19138,-0.0657 1.14211,-0.73357 0.57925,-0.40693 1.04907,-0.74406 1.04403,-0.74919 -0.005,-0.005 -0.20703,0.009 -0.44892,0.0309 -0.56568,0.0517 -1.56649,0.11479 -1.82492,0.11494 -0.19302,1.1e-4 -0.20148,0.002 -0.21616,0.0622 -0.008,0.0341 -0.0354,0.0821 -0.06,0.10669 -0.0246,0.0246 -0.18592,0.41001 -0.35856,0.8566 -0.25159,0.65081 -0.30805,0.81912 -0.2845,0.84801 0.0224,0.0274 0.0226,0.0512 10e-4,0.0993 -0.0156,0.0348 -0.0283,0.0858 -0.0283,0.11343 0,0.0463 0.009,0.0442 0.10949,-0.0264 0.0879,-0.0616 0.10858,-0.09 0.10486,-0.1446 z m -1.02853,-0.14273 c 0,-0.0492 0.12981,-0.0912 0.33306,-0.1078 l 0.17272,-0.0141 0.282,-0.73107 c 0.15508,-0.40208 0.29564,-0.76494 0.31232,-0.80637 l 0.0303,-0.0753 -1.37667,0 -1.37667,0 -0.0283,0.0796 c -0.0235,0.066 -0.018,0.12532 0.0324,0.34749 0.0334,0.14734 0.0643,0.27122 0.0687,0.2753 0.0587,0.0542 0.40286,0.28929 0.42386,0.28948 0.13517,0.001 0.66353,0.37383 0.84919,0.59894 0.0642,0.0778 0.12772,0.14968 0.14129,0.15983 0.0428,0.032 0.13571,0.021 0.13571,-0.016 z m -38.21633,-0.92846 c 0.0924,-0.28193 0.31505,-0.75928 0.43052,-0.92282 l 0.086,-0.12186 -0.12333,0 c -0.10687,0 -0.12331,0.007 -0.12331,0.0502 0,0.0276 -0.0222,0.0728 -0.0493,0.10041 -0.0271,0.0276 -0.0494,0.0703 -0.0494,0.0948 0,0.0799 -0.0696,0.14844 -0.184,0.18101 l -0.11208,0.0319 0.003,0.54276 c 0.002,0.41121 0.008,0.50998 0.025,0.40753 0.0121,-0.0744 0.0558,-0.23818 0.097,-0.36401 z m 44.52334,-1.23543 c 0.0289,-0.008 0.0653,-0.043 0.081,-0.078 0.0226,-0.0505 0.022,-0.0611 -0.003,-0.0513 -0.0174,0.007 -0.0955,0.0269 -0.17352,0.0447 -0.1367,0.0311 -0.16069,0.047 -0.12541,0.0829 0.02,0.0204 0.14912,0.0214 0.22111,0.002 z m -43.95654,-0.12933 c 4.4e-4,-0.0242 0.12061,-1.1228 0.26703,-2.44139 l 0.26621,-2.39746 -0.0582,-0.17573 c -0.0844,-0.25484 -0.17199,-0.62151 -0.20593,-0.86212 -0.0497,-0.35254 -0.005,-0.5347 0.17319,-0.70689 l 0.091,-0.0879 0.0391,-0.45692 c 0.0352,-0.41124 0.046,-0.46976 0.10795,-0.58552 0.0378,-0.0707 0.0983,-0.14995 0.13428,-0.17605 0.0572,-0.0414 0.0675,-0.0707 0.0817,-0.23037 0.0126,-0.14123 0.0318,-0.2058 0.0844,-0.28334 0.23645,-0.34876 1.06371,-0.62164 2.31405,-0.76335 0.79088,-0.0896 1.27582,-0.11242 2.36056,-0.11093 0.58011,8e-4 1.05474,-0.007 1.05474,-0.0176 0,-0.0105 0.0266,-0.0452 0.0591,-0.077 l 0.0591,-0.0579 -0.0554,-0.0765 c -0.19678,-0.27169 -0.29402,-0.54944 -0.28012,-0.80016 0.009,-0.1655 0.1205,-0.47871 1.37216,-3.8604 1.20089,-3.24456 1.3652,-3.70525 1.38776,-3.89116 0.0443,-0.36477 0.11288,-0.54922 0.25592,-0.68786 0.0614,-0.0595 0.12098,-0.19279 0.28387,-0.63514 0.1134,-0.3079 0.23787,-0.60434 0.27661,-0.65877 0.0387,-0.0544 0.0704,-0.10302 0.0704,-0.10801 0,-0.005 -0.0971,-0.0166 -0.21588,-0.0258 -0.32718,-0.0254 -1.51691,-0.18023 -2.25137,-0.29293 -1.11987,-0.17185 -2.28041,-0.38852 -3.51167,-0.65561 -0.25553,-0.0554 -0.46773,-0.097 -0.47155,-0.0923 -0.008,0.009 -3.84733,6.47619 -3.93469,6.62687 l -0.0529,0.0913 0.12824,0.0468 c 0.43686,0.15926 0.63647,0.6788 0.47628,1.23971 -0.082,0.28724 -0.37575,0.69042 -0.6153,0.84462 -0.0596,0.0384 -0.11349,0.0927 -0.11974,0.12068 -0.006,0.028 -0.0477,0.25707 -0.092,0.50904 l -0.0806,0.45812 -0.082,0.0302 -0.082,0.0302 0,5.31658 0,5.31659 0.0678,0.0151 c 0.24859,0.0552 0.30225,0.1064 0.30225,0.28834 0,0.10059 0.0105,0.14814 0.0347,0.15759 0.0191,0.007 0.0422,0.0482 0.0513,0.0906 0.0163,0.0754 0.0197,0.077 0.1627,0.077 0.12237,0 0.14621,-0.007 0.14689,-0.0439 z m 16.01612,-1.94941 c 0.91685,-1.4077 2.30351,-2.63244 3.88707,-3.43318 0.23719,-0.11993 0.25348,-0.13302 0.25348,-0.20347 0,-0.106 0.0793,-0.22405 0.1948,-0.29012 0.13415,-0.0767 0.86109,-0.35385 1.22386,-0.46658 0.69042,-0.21454 1.53658,-0.39188 2.28224,-0.47831 0.58814,-0.0682 0.77183,-0.0433 0.86116,0.11649 0.0305,0.0545 0.0576,0.0705 0.11971,0.0706 l 0.0803,1.5e-4 -0.006,-1.9393 -0.006,-1.93931 -0.20714,-0.0707 c -0.11393,-0.0389 -0.26104,-0.0771 -0.3269,-0.0851 l -0.11979,-0.0144 0,0.8838 c 0,0.53663 -0.01,0.90208 -0.0245,0.93034 -0.0584,0.11111 -0.47844,0.14921 -0.65848,0.0597 l -0.0942,-0.0468 -0.0124,-0.94792 -0.0123,-0.94793 -0.0802,-0.0496 -0.0802,-0.0496 0,-0.28517 c 0,-0.29934 0.0118,-0.33376 0.12952,-0.37622 0.0393,-0.0142 0.0432,-0.0638 0.0432,-0.5523 l 0,-0.53671 -0.0925,-0.041 c -0.0509,-0.0226 -0.43122,-0.16869 -0.84519,-0.32472 l -0.75264,-0.28369 0.008,0.0903 c 0.01,0.10433 -0.0965,0.44859 -0.17166,0.55596 -0.0581,0.083 -0.16635,0.14618 -0.25047,0.14618 -0.0553,0 -0.13012,0.19339 -1.2996,3.3577 -0.73725,1.99477 -1.26942,3.39978 -1.31106,3.46137 -0.25548,0.37788 -1.11695,0.5864 -2.14429,0.51902 -0.21034,-0.0138 -0.38424,-0.024 -0.38644,-0.0226 -0.002,0.001 -0.0118,0.1832 -0.0213,0.40412 l -0.0173,0.40167 0.0755,0.0958 c 0.16084,0.20435 0.16582,0.43628 0.0189,0.88323 -0.0947,0.28825 -0.33515,0.82007 -0.46124,1.02028 -0.0638,0.10136 -0.078,0.15856 -0.1091,0.43932 -0.0196,0.17754 -0.0417,0.37363 -0.049,0.43577 l -0.0133,0.11296 0.0807,-0.13562 c 0.0444,-0.0746 0.1771,-0.28358 0.29489,-0.46443 z m 16.68655,-3.06529 c 1.54086,-0.31627 4.48059,-0.5191 6.94534,-0.47922 2.22171,0.036 3.9445,0.19988 4.74329,0.45135 l 0.19121,0.0602 -1.4e-4,-1.4596 c -6e-5,-0.80278 -0.0102,-1.49914 -0.0225,-1.54747 -0.0123,-0.0483 -0.0296,-0.15187 -0.0384,-0.2301 -0.0153,-0.13636 -0.0199,-0.14384 -0.11101,-0.18093 -0.10662,-0.0434 -0.17332,-0.12409 -0.17332,-0.2096 l 0,-0.0572 -0.46262,-3.1e-4 c -0.51543,-3.5e-4 -1.61694,-0.0327 -2.64613,-0.0778 l -0.67851,-0.0297 -0.30839,0.18085 c -0.40839,0.23949 -1.19732,0.63346 -1.70242,0.85015 -1.43348,0.61496 -2.87116,1.033 -4.21901,1.22675 -0.40206,0.0578 -1.52614,0.065 -1.78875,0.0114 -0.39863,-0.0813 -0.71795,-0.24158 -0.84191,-0.42265 -0.0356,-0.0519 -0.53412,-1.36533 -1.10789,-2.91866 -0.8322,-2.25285 -1.05248,-2.8257 -1.08877,-2.83148 -0.12229,-0.0195 -0.15561,-0.0355 -0.22602,-0.10881 -0.0432,-0.0449 -0.10441,-0.15833 -0.14168,-0.2623 l -0.0657,-0.18319 -0.18851,0.0714 c -0.10367,0.0393 -0.4272,0.16172 -0.71896,0.27208 -0.29175,0.11037 -0.57764,0.21993 -0.63532,0.24347 l -0.10485,0.0428 0,0.53533 c 0,0.51274 0.002,0.53599 0.0492,0.55121 0.10982,0.0355 0.12351,0.077 0.12351,0.37451 0,0.29699 -0.012,0.33165 -0.12953,0.37406 -0.0401,0.0145 -0.0432,0.0831 -0.0432,0.9572 l 0,0.94162 -0.059,0.0393 c -0.0879,0.0586 -0.30242,0.0856 -0.46692,0.0589 -0.26035,-0.0423 -0.23896,0.0469 -0.23896,-0.99778 l 0,-0.91378 -0.1322,0.0139 c -0.0727,0.008 -0.22536,0.0462 -0.33925,0.0857 l -0.20704,0.0718 -0.006,1.93525 -0.006,1.93526 0.16204,0.0132 c 0.15167,0.0124 0.17098,0.008 0.30138,-0.0721 0.24096,-0.14763 0.34111,-0.15977 0.8005,-0.097 0.47362,0.0647 0.62591,0.10599 0.71115,0.19274 0.0415,0.0423 0.0814,0.1065 0.0885,0.14274 0.0123,0.0623 0.0304,0.0697 0.33802,0.13801 1.14764,0.25472 2.36261,0.74172 3.34596,1.3412 l 0.28228,0.17208 0.19884,-0.0594 c 0.10936,-0.0327 0.38758,-0.0981 0.61828,-0.14549 z m 13.87832,20.08354 0,-0.38912 0.0836,0 c 0.046,0 0.1065,0.0198 0.13446,0.0439 0.10127,0.0875 0.19472,0.52671 0.13307,0.6253 -0.0147,0.0235 -0.27846,0.109 -0.33622,0.109 -0.008,0 -0.0149,-0.17511 -0.0149,-0.38912 z"
+       style="fill:#424d58;fill-opacity:1;stroke:none" />
+    <path
+       id="path1939"
+       d="m -185.92324,-212.40978 -1.83663,0 -0.36732,0.91642 0.36732,1.00807 -0.18366,1.09971 -0.9183,-0.54985 -0.73465,-1.37464 -1.56114,-0.36657 -0.64281,-0.6415 -1.37747,-0.6415 -1.56113,-2.566 0.0918,-1.19135 3.85692,-2.93257 1.8366,0.82478 0.2755,0.6415 0,0.73314 0.45916,0.6415 0.91831,0.27493 0.64282,-0.54986 0.0918,-0.64149 -0.2755,-0.54986 -0.55097,-0.27493 -0.36734,-0.45821 0.82648,-0.36657 -0.18366,-0.91643 0,-0.54986 -0.55097,-0.54985 -0.27551,-0.82479 -1.10196,-0.27492 -0.91832,-0.18329 -1.92846,1.37464 -4.86704,1.9245 -1.10198,1.09971 -0.82647,0.6415 -0.18368,1.46628 0.36734,0.73315 0.91831,2.47435 1.19379,2.29106 1.28564,1.64957 -2.02028,3.29914 -2.29578,4.94871 -1.37747,2.19942 -2.29577,2.84093 -0.0918,1.283 -1.19381,1.09971 1.83662,1.64957 -0.45915,1.92449 0.18366,4.30722 0.82647,4.9487 0.82649,4.39885 0.9183,1.46628 1.28565,2.65765 2.02028,3.02421 0.55098,1.92448 0.55099,1.37465 -1.65297,2.29107 -2.93859,1.19135 -0.27549,0.91643 5.6017,-0.18328 -0.82648,1.46628 1.01014,0.91642 2.6631,0.27494 2.11213,-1.83286 0.73466,-2.56599 1.19379,-2.19943 1.46929,-1.283 0.45916,-1.46628 -1.56112,-0.0916 1.01013,-1.00807 -2.02027,0.6415 1.4693,-1.46629 -1.10198,-0.27492 -0.82649,-1.00807 -1.37747,-2.84093 -3.21408,-2.65764 -0.64282,-0.18328 0.64282,-0.54986 -0.0918,-1.55793 0.64282,-1.37464 -0.55099,0.0916 1.01014,-1.74121 0,-1.74121 0.64282,-0.91643 0,-1.19135 1.37746,-1.83286 0.0918,-1.55792 -0.2755,-1.283 0.64282,-1.46629 0.73465,-1.19135 0,-0.73314 0.82648,-0.0916 0.73465,-0.73314 0.64282,-1.83286 1.46929,-1.64957 1.7448,-0.6415 1.10196,0.91643 2.66312,0.82479 2.11211,1.09971 1.01013,1.283 1.74479,0.18328 5.50988,2.38271 2.84676,1.00807 2.29578,1.74122 0.551,-0.18329 0,-0.54986 -1.28564,-1.00807 2.47943,0.6415 0.27551,-0.45821 -0.551,-0.54986 0.91832,0 0.0918,-0.54985 -1.65296,-0.36657 1.28562,-0.36658 0,-0.6415 -0.45915,-0.0916 -1.37747,0.0916 -1.10196,-0.45821 -0.73466,-0.36657 1.10198,-0.91643 0.27549,-0.6415 -0.18366,-0.45821 -1.01014,0.18329 -2.11213,1.09971 -0.27548,0.54985 -0.73465,-0.18328 -2.66311,-1.46628 -0.0918,-1.00807 -1.56113,-0.82479 -2.66311,-1.37464 -0.64281,0.45821 0.0918,-0.64149 -1.4693,-1.37465 -1.28564,-0.36657 -1.1938,-1.37464 -0.36732,-0.45821 1.1938,0.82478 -0.18366,-0.91642 0.9183,0.45821 -0.27549,-1.37464 1.28564,1.19136 -0.55098,-0.82479 1.28562,0.54986 -1.10196,-1.55793 0.82647,0.27493 -0.36732,-1.46629 0.64281,0.54986 -0.9183,-1.37464 0.9183,0.27493 -0.82647,-1.09971 1.10197,-0.0916 -1.1938,-0.73315 0.73464,-0.36656 -0.82647,-0.0916 1.10196,-1.00807 -1.01013,0.0916 0.0918,-0.6415 0.0918,-1.83286 -0.55098,1.283 -0.64283,-1.83285 0.0918,1.46628 -0.36732,0.0916 -0.91831,0 -1.01015,-1.46628 -1.01014,0 -1.1938,-1.00807 -0.55099,0.54985 -1.37746,0.91643 z"
+       style="fill:#424d58;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       id="path2875"
+       d="m -88.320686,-160.98565 c -1.64224,-0.59082 -1.07731,-2.30121 -1.23657,-3.5506 0.16088,-0.81913 -0.29218,-1.47644 -0.54804,-2.20156 -0.23201,-1.04386 0.11486,-2.11908 0.70842,-3.01074 -0.04,-2.36208 -0.61702,-4.67526 -1.01104,-6.98938 -0.20081,-1.67877 0.97857,-3.31083 0.30218,-4.95353 -0.52361,-1.54789 -0.50752,-3.15125 -0.48245,-4.75552 0.13332,-2.16234 -0.81536,-4.21833 -0.89569,-6.37324 -1.76414,-0.71678 -1.6331,2.34885 -2.66915,3.18479 -0.6906,2.06804 -2.34152,3.68888 -3.26221,5.64668 -0.3848,1.14612 -0.76536,2.29157 -1.66802,3.19192 -1.406084,1.77788 -1.103334,4.23685 -2.630144,5.97056 -0.86006,1.72166 -2.22849,3.36891 -2.69143,5.18826 -0.26347,0.89856 0.96969,1.58793 0.3077,2.44577 -0.69465,1.33298 -0.31821,2.85043 -0.66651,4.25761 -1.14853,0.009 -0.8175,1.23159 -1.6579,1.60091 -0.71494,0.34059 -1.7442,0.45901 -2.44534,0.13064 -0.80671,-0.58509 -0.18427,-1.86094 0.20037,-2.60562 0.57759,-0.88513 0.95045,-1.82468 0.9229,-2.87064 0.14486,-0.83651 0.70374,-1.57418 0.66633,-2.46294 -0.16365,-0.98381 0.4709,-1.75071 0.7039,-2.61385 0.55222,-2.58439 1.72785,-5.0337 2.18804,-7.65104 0.8687,-1.76698 2.15976,-3.4277 2.58127,-5.33722 0.16376,-2.35392 1.09966,-4.57264 2.243694,-6.65258 0.31288,-1.44379 1.44587,-2.54241 1.87575,-3.93923 -0.18533,-1.23238 -0.31336,-2.46569 -0.11867,-3.7043 -0.7457,-2.1142 -2.1826,-3.96379 -2.642804,-6.17116 -0.29091,0.78422 -0.13408,2.19501 -0.25738,3.21833 -0.50134,2.02432 -1.18727,4.04778 -1.57487,6.07263 0.61867,1.01168 0.51566,2.18119 0.0374,3.22556 0.27295,0.57823 -0.38722,1.70529 -0.50557,0.59978 0.2569,-1.49057 -0.90077,-0.54475 -0.22815,0.35309 0.43136,0.73323 1.85861,1.77762 -0.0195,0.80198 -0.8445,-0.44001 -1.04717,-1.546 -1.28338,-2.35258 0.33008,-1.12034 0.70048,-2.21323 0.60198,-3.39344 0.10749,-2.06217 -0.0353,-4.15501 0.67158,-6.14375 0.21552,-2.44758 -0.0541,-4.95416 0.18936,-7.39489 0.0891,-1.06236 0.97473,-1.96429 2.15275,-1.86205 1.343544,0.008 1.381264,-1.38713 0.490934,-0.76672 0.50368,-0.52196 2.03248,-3.53166 0.9306,-2.92055 -0.55505,-0.138 0.18207,-1.16067 -0.79694,-1.66415 1.1295,0.37535 0.20818,-0.90772 0.73468,-1.29562 -0.67228,-1.11228 3.14616,0.87598 0.97053,-0.50258 -1.38531,-1.30219 1.06432,0.31736 1.92583,0.01 -0.78505,-0.58657 -2.53808,-2.13141 -1.79342,-2.21987 -0.69716,-0.81466 0.56578,0.0965 0.22342,-0.91702 0.90757,0.58371 2.63056,2.12928 1.1881,0.23299 -0.90154,-1.26205 -0.4822,-0.98758 0.42747,-0.95503 0.47057,1.53016 1.87258,1.44268 0.59725,0.01 0.86456,0.46368 2.11637,2.83874 1.41041,0.60722 0.82156,0.51834 1.13796,0.30278 1.55761,0.72742 0.15611,-0.92632 0.45317,1.23043 1.41999,0.062 0.97164,-0.25893 1.28159,0.80472 1.80951,1.33854 1.02399,0.58231 1.94723,2.03172 0.69383,2.83567 -0.67047,0.65428 -0.0153,1.98443 0.26393,2.37355 -1.36234,-0.0114 0.17092,2.06401 0.15849,3.1566 -0.28329,1.44192 -1.179,-2.25774 -1.68467,-1.37642 0.14982,0.92455 0.0406,1.84567 -0.48996,0.77957 -0.85219,1.20895 -0.72946,-1.03237 -0.95289,0.49989 0.37431,0.61242 -1.72401,0.44432 -0.19085,0.98442 1.04148,0.16478 2.75897,0.13353 2.801,1.43209 0.10846,1.0537 -0.0912,2.05981 -0.55709,3.02488 -0.15163,1.48177 -0.11179,3.0305 0.16071,4.46988 1.36964,1.31973 2.08044,3.05283 2.94288,4.66586 0.5339,1.28311 0.19932,2.74354 0.53098,4.01776 0.5571,0.50566 0.50001,1.5341 0.26967,2.13793 -0.8314,0.89336 -0.17427,2.25286 -0.54777,3.3329 -0.42125,2.71656 -0.6049,5.47969 -0.35762,8.21316 0.54092,2.24439 -0.55406,4.47815 -0.56259,6.73405 0.0917,1.11449 -0.75451,2.3016 0.007,3.30356 -1.02372,1.11373 -0.0985,2.65358 -0.0917,3.94124 0.0848,1.5524 1.54735,3.01841 0.82246,4.57175 -0.62483,0.50244 -1.33928,0.69527 -2.17043,0.25697 z m -10.72641,-51.26782 c 0.0161,-0.42493 -0.38604,0.46353 0,0 z"
+       style="fill:#424d58;fill-opacity:1;stroke:none" />
+    <path
+       sodipodi:nodetypes="csssssssssssssssssssscccsssssscccssssssssssssscccssssssssssssssssssscccsssscccsssscccssssscccsssssssssscccsssscccsssssssssssssssscccssssssssssssssssssssssscccssssssssssssssssssssssssscccccssc"
+       id="path3250"
+       d="m -103.93622,-187.60087 c 0.0283,-0.13648 0.13935,-0.19875 0.24793,-0.13902 0.0345,0.0189 0.0767,0.0306 0.0938,0.0258 0.0297,-0.008 0.12463,-0.11279 0.13573,-0.1495 0.003,-0.01 -0.0341,-0.19558 -0.0823,-0.41309 -0.10881,-0.49097 -0.19514,-0.9481 -0.2708,-1.4339 -0.11938,-0.76666 -0.23489,-1.79447 -0.24984,-2.22318 -0.037,-1.06046 0.15553,-2.0921 0.55758,-2.98795 0.15722,-0.35033 0.53316,-1.00896 0.71147,-1.24649 0.56723,-0.75565 1.27209,-1.2231 2.35392,-1.56106 0.652711,-0.20388 1.72103,-0.40462 2.334677,-0.43865 1.133816,-0.0629 2.452273,0.0267 4.573718,0.31073 1.199424,0.1606 1.550756,0.19509 2.034336,0.1997 1.262324,0.0121 2.387625,-0.34681 3.684254,-1.17495 0.720823,-0.46038 2.327656,-1.44971 2.51912,-1.55104 1.67389,-0.88581 3.0518,-1.25128 4.15897,-1.10312 0.220798,0.0295 0.625073,0.12823 0.816684,0.19936 0.358664,0.13312 0.648948,0.35182 0.809617,0.60996 0.06023,0.0967 0.07673,0.13824 0.106214,0.26711 0.0337,0.14719 0.03558,0.15111 0.05215,0.11117 0.0096,-0.0227 0.01601,-0.0465 0.01455,-0.0529 -0.0086,-0.0373 0.03405,-0.006 0.110302,0.0808 l 0.08728,0.0994 0.05222,-0.0265 c 0.125856,-0.0638 0.205041,-0.0445 0.256022,0.0623 0.02876,0.0602 0.0236,0.11254 -0.02625,0.26799 -0.04936,0.15372 -0.08533,0.19865 -0.180798,0.22532 -0.08621,0.0241 -0.138994,0.002 -0.173355,-0.0717 -0.04783,-0.10295 -0.112264,-0.10858 -0.249316,-0.0218 -0.03767,0.0239 -0.07078,0.0441 -0.07368,0.045 -0.0028,6.9e-4 0.0021,-0.0256 0.01177,-0.0589 l 0.01699,-0.0606 -0.05842,0.064 c -0.137149,0.15038 -0.238225,0.20172 -0.741933,0.37699 -0.441191,0.15351 -0.820186,0.30405 -1.118895,0.44442 -0.119394,0.0561 -0.279221,0.13002 -0.355169,0.16427 -0.165577,0.0746 -0.247255,0.12653 -0.366517,0.23285 -0.172791,0.15406 -0.309578,0.33421 -0.469905,0.61902 -0.264154,0.4693 -0.404666,0.99057 -0.402396,1.49286 5.57e-4,0.12346 0.01079,0.18504 0.0658,0.3963 0.07511,0.28832 0.110852,0.36065 0.27191,0.55012 0.119471,0.14057 0.245689,0.24132 0.412074,0.329 0.155182,0.0817 0.437007,0.17368 0.488419,0.15931 0.02144,-0.006 0.804297,-0.20288 1.739679,-0.43754 4.45057,-1.11653 7.385434,-1.85984 11.806385,-2.99022 0.796604,-0.20367 2.632179,-0.67843 3.90487,-1.00998 0.831375,-0.21655 2.601829,-0.68822 4.376405,-1.16589 l 0.858237,-0.231 0.05584,-0.10109 c 0.07428,-0.13445 0.138549,-0.27845 0.193734,-0.43245 0.06782,-0.18916 0.134908,-0.3017 0.214281,-0.35941 0.154493,-0.11199 0.320787,-0.14804 0.614859,-0.13327 0.215242,0.0108 0.626661,0.002 0.635601,-0.0134 0.01511,-0.0262 0.01372,-0.19192 -0.0021,-0.22304 -0.0096,-0.0193 -0.05069,-0.0437 -0.09872,-0.0587 -0.07197,-0.0226 -0.08481,-0.0331 -0.102782,-0.0841 -0.02263,-0.0644 -0.0172,-0.20851 0.01518,-0.39795 0.02541,-0.14872 0.03391,-0.15459 0.274729,-0.18964 0.186827,-0.0272 0.269975,-0.0258 0.391834,0.007 0.101884,0.0271 0.151325,0.0649 0.183255,0.14021 0.03217,0.0757 0.04672,0.28233 0.02646,0.37572 -0.01957,0.0903 -0.09012,0.17351 -0.164804,0.19438 -0.06294,0.0175 -0.06357,0.02 -0.03976,0.16868 0.01274,0.0798 0.01358,0.0808 0.06531,0.0824 0.214448,0.007 0.846561,0.0114 0.848789,0.006 0.0014,-0.003 0.0049,-0.045 0.0072,-0.092 0.0056,-0.10526 -0.02117,-0.14883 -0.101174,-0.16556 -0.03119,-0.006 -0.06782,-0.0204 -0.08145,-0.0309 -0.05855,-0.0449 -0.06357,-0.19408 -0.01539,-0.45896 l 0.02458,-0.1352 0.171648,-0.0376 c 0.29307,-0.0642 0.524931,-0.0344 0.616419,0.0792 0.04658,0.0578 0.05104,0.0713 0.0651,0.19458 0.01685,0.14805 0.0097,0.23167 -0.02555,0.29936 -0.03098,0.0596 -0.122994,0.13505 -0.165411,0.13574 -0.04017,6.7e-4 -0.04352,0.0196 -0.02555,0.14221 l 0.0133,0.0909 0.422163,0.0121 c 0.232181,0.007 0.425525,0.009 0.429633,0.006 0.01734,-0.0154 0.01796,-0.17876 6.97e-4,-0.20983 -0.01024,-0.0186 -0.04143,-0.0386 -0.06921,-0.0444 -0.08086,-0.0169 -0.123823,-0.0488 -0.13786,-0.10227 -0.01629,-0.0622 -0.0028,-0.264 0.02688,-0.41005 l 0.02298,-0.11215 0.106465,-0.0279 c 0.243419,-0.0638 0.371733,-0.0688 0.542017,-0.0211 0.08112,0.0227 0.107795,0.0393 0.143631,0.0889 0.03857,0.0535 0.04588,0.0771 0.05918,0.19036 0.02061,0.17617 -0.0042,0.2931 -0.07806,0.36869 -0.04094,0.0419 -0.07025,0.0595 -0.10329,0.062 -0.0509,0.004 -0.05159,0.007 -0.02945,0.16833 l 0.01072,0.0783 0.452694,0.0187 c 0.248968,0.0103 0.454037,0.0152 0.45568,0.0109 0.01232,-0.0313 0.007,-0.20604 -0.007,-0.23026 -0.0094,-0.0166 -0.055,-0.0416 -0.101257,-0.0554 -0.07204,-0.0216 -0.08681,-0.0329 -0.103088,-0.0789 -0.02214,-0.0624 -0.01553,-0.20992 0.01761,-0.39558 0.02813,-0.15775 0.03286,-0.16115 0.273519,-0.19704 0.269382,-0.0402 0.46666,-0.005 0.546556,0.0973 0.03251,0.0416 0.04129,0.0703 0.05674,0.18542 0.02381,0.17729 0.0081,0.27139 -0.05932,0.35514 -0.04157,0.0516 -0.06559,0.0683 -0.110183,0.0763 -0.06413,0.0116 -0.06399,0.0109 -0.03829,0.18455 l 0.01386,0.0937 0.434493,0.0242 c 0.238984,0.0133 0.437529,0.0218 0.441206,0.0188 0.0094,-0.008 0.0181,-0.23798 0.01023,-0.26953 -0.0035,-0.0142 -0.02715,-0.0332 -0.05243,-0.0422 -0.129023,-0.046 -0.153553,-0.0624 -0.166412,-0.1114 -0.01511,-0.0575 -0.0049,-0.22729 0.02486,-0.40504 l 0.02096,-0.12607 0.180046,-0.0401 c 0.193073,-0.0429 0.319499,-0.0436 0.47512,-0.002 0.09374,0.0249 0.136954,0.0585 0.169664,0.1321 0.03064,0.0688 0.05069,0.28106 0.03384,0.35786 -0.02611,0.11913 -0.114591,0.22114 -0.193449,0.22328 -0.04282,0.001 -0.04115,-0.01 -0.02994,0.19529 0.0035,0.0652 0.0087,0.11948 0.01142,0.12065 0.0028,0.001 0.121574,6.3e-4 0.264154,-10e-4 0.142587,-0.002 0.342901,-0.001 0.445181,4.4e-4 0.102239,0.002 0.186611,0.001 0.18744,-0.001 0.0085,-0.0291 0.0056,-0.19882 -0.0042,-0.23275 -0.01,-0.0353 -0.02855,-0.049 -0.09473,-0.0697 -0.13694,-0.0429 -0.149821,-0.0952 -0.103854,-0.42234 0.02924,-0.20814 0.03175,-0.21117 0.199757,-0.23959 0.05709,-0.01 0.133647,-0.0227 0.170208,-0.029 0.139934,-0.0241 0.364818,0.0205 0.433678,0.086 0.04811,0.0458 0.07868,0.1441 0.08927,0.28739 0.01393,0.18827 -0.05173,0.32291 -0.174288,0.35714 l -0.06419,0.018 0.01936,0.14639 c 0.01065,0.0805 0.02214,0.1478 0.02555,0.14953 0.0035,0.002 0.06935,0.0155 0.146548,0.0305 0.235698,0.0461 0.372638,0.0976 0.503375,0.18949 0.360397,0.25336 0.57474,0.61022 0.605028,1.00729 0.0056,0.07 0.0077,0.17185 0.0049,0.2262 -0.0056,0.1196 -0.05744,0.37906 -0.102719,0.51302 -0.08758,0.25885 -0.277041,0.48778 -0.531997,0.64266 -0.252227,0.15324 -0.612402,0.29416 -0.791096,0.3095 -0.373606,0.0321 -0.816789,-0.0633 -1.066314,-0.22957 -0.07469,-0.0498 -0.198099,-0.16748 -0.323524,-0.30857 -0.156908,-0.17652 -0.318287,-0.23164 -0.545484,-0.18634 -0.149862,0.0299 -0.222844,0.0651 -1.096538,0.52955 -0.906772,0.48202 -1.46724,0.77237 -1.911892,0.99043 -0.307906,0.151 -0.336891,0.16232 -0.632697,0.24692 -0.222977,0.0637 -0.324415,0.0868 -0.361407,0.082 -0.03795,-0.005 -0.08248,-0.0373 -0.169644,-0.12336 -0.173591,-0.17137 -0.42753,-0.38821 -0.562598,-0.48041 -0.147363,-0.1006 -0.278503,-0.1632 -0.480202,-0.22927 -0.299496,-0.0981 -0.35824,-0.10562 -0.602696,-0.0774 -0.121497,0.014 -0.281901,0.03 -0.356422,0.0357 -0.141132,0.0106 -0.827343,0.20427 -13.137841,3.70865 -1.052451,0.2996 -3.499898,0.99513 -5.438777,1.54563 -1.938872,0.55049 -3.97075,1.1291 -4.515287,1.28579 -0.544537,0.15669 -1.319063,0.37692 -1.721138,0.48939 l -0.731093,0.20451 -0.0075,0.0435 c -0.0042,0.0239 -0.02764,0.069 -0.05208,0.10018 -0.242674,0.30538 -0.282465,0.99869 -0.09215,1.6065 0.224272,0.71621 0.644297,1.2253 1.222032,1.48118 0.149396,0.0662 0.359576,0.0963 0.826174,0.11848 0.263346,0.0125 0.804784,10e-4 1.05935,-0.021 0.312662,-0.028 0.487284,0.001 0.690083,0.11666 0.233595,0.13263 0.356415,0.30288 0.414323,0.57431 0.05403,0.25341 0.0172,0.43968 -0.141688,0.71571 -0.05528,0.096 -0.138319,0.21674 -0.18453,0.26827 -0.18682,0.20821 -0.720475,0.5516 -1.200448,0.77256 -0.229111,0.10546 -0.942706,0.30469 -1.211769,0.33831 -0.547607,0.0684 -0.878309,0.0715 -2.278597,0.0213 -0.08576,-0.003 -0.313184,-0.0334 -0.505387,-0.0672 -0.533146,-0.0941 -0.845613,-0.12116 -1.264357,-0.10967 -0.674974,0.0185 -1.296149,0.17805 -1.903836,0.48891 -0.419462,0.21456 -0.783034,0.47469 -1.197573,0.85682 -0.136766,0.12609 -0.309716,0.27549 -0.3843,0.33199 -0.177399,0.1344 -0.37552,0.29562 -0.91267,0.74269 -0.859364,0.71524 -1.280044,1.0368 -1.812591,1.38553 -0.978522,0.64076 -1.934709,1.06388 -2.920604,1.29235 -0.674654,0.15634 -1.127654,0.22168 -1.597504,0.23041 -0.874299,0.0162 -1.532625,-0.15245 -2.41395,-0.61851 -0.377061,-0.19939 -0.396091,-0.21248 -0.678631,-0.46668 -0.64054,-0.57636 -0.94402,-0.92885 -1.28095,-1.4879 -0.41887,-0.69499 -0.78805,-1.60591 -1.04055,-2.56755 -0.0771,-0.2936 -0.24518,-0.91529 -0.37351,-1.38154 l -0.23333,-0.84773 -0.111,-0.0294 -0.11099,-0.0294 -0.0462,0.0714 c -0.0506,0.0789 -0.094,0.0992 -0.17474,0.0822 -0.092,-0.0193 -0.13135,-0.0726 -0.17325,-0.23539 -0.0269,-0.10423 -0.0338,-0.16041 -0.0249,-0.20301 z"
+       style="fill:#424d58;fill-opacity:1;stroke:none" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+     x="266.96185"
+     y="736.90112"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="736.90112" /></text>
+  <g
+     id="g4145">
+    <g
+       style="fill:url(#radialGradient6297);fill-opacity:1;filter:url(#filter6439)"
+       transform="matrix(0.7163845,0,0,0.71128503,499.45401,591.13983)"
+       inkscape:label="Layer 1"
+       id="layer1">
+      <g
+         id="yleiso1"
+         transform="matrix(0.7844778,0,0,0.7844778,-1023.124,-443.46103)"
+         style="fill:url(#radialGradient3137);fill-opacity:1"
+         inkscape:export-filename="H:\new\rect2273.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90">
+        <path
+           style="fill:url(#radialGradient6475);fill-opacity:1"
+           d="m 1181.224,723.79257 c 17.8661,-5.1827 3.8156,-26.068 6.1451,-38.9613 -2.6811,-18.56792 -15.9987,-33.39896 -20.3878,-51.57126 -6.8606,-15.87369 -8.1323,-33.33072 -13.6211,-49.48749 -4.5966,-12.71726 -9.3908,-25.46798 -16.5487,-36.62423 -8.2626,-12.91413 -13.2192,-27.92799 -7.4933,-43.22144 2.7035,-18.14405 7.7047,-35.78277 10.4398,-53.93215 7.4171,-11.14202 -5.8674,-36.22176 5.2186,-41.10752 -2.3197,22.42403 5.0015,2.60799 11.9276,11.6082 7.0053,-5.59071 5.4872,1.85751 8.2299,3.91882 5.932,-16.05448 9.7357,-3.85379 2.8631,5.00313 -9.8818,12.56195 -16.6266,32.14007 -15.296,48.89211 -1.4747,7.65925 1.4117,26.30935 3.6016,7.87451 2.6364,-8.08828 3.9759,7.07011 6.1598,7.5432 -13.0443,13.63184 20.3862,-2.18868 6.6467,10.94557 -3.039,8.74305 -19.6494,14.16534 -10.5833,23.66988 9.7308,11.67224 15.9374,26.7058 28.0739,36.1503 4.168,-0.62987 17.2037,-10.21636 14.9916,-15.40038 -3.7473,-12.40615 -10.4687,-27.14869 3.4638,-38.99508 11.3759,-6.02073 27.7425,-16.02154 38.4941,-5.54071 3.1119,16.39526 10.7156,33.21291 6.8445,50.16753 -1.9278,7.23379 -10.0675,25.98563 4.5899,18.54624 16.5134,-6.70982 20.1994,-21.1921 21.762,-37.42171 2.7436,-15.10347 11.0587,-31.98909 2.3918,-46.56641 -5.3185,-7.59752 -4.9737,-18.57102 2.3855,-6.93359 4.5245,-4.57537 5.5908,-33.1298 8.0527,-13.59432 1.503,4.2079 6.7245,-11.21855 7.2771,2.5917 12.0837,11.81526 0.4373,26.77552 1.5752,40.85819 -0.014,7.78552 -4.7837,31.21381 7.5539,16.0691 11.9958,-9.6748 14.597,-25.80379 23.3684,-37.95453 8.3733,-15.34917 16.6062,-32.68858 15.9268,-50.43155 1.9069,-10.49015 -7.0382,-31.20329 6.6909,-20.54154 -0.2582,-10.75897 20.2058,-15.99327 6.9602,-3.43085 -6.5561,15.27727 21.0159,-20.22468 11.6813,1.41398 -6.6548,5.39657 -5.312,15.53618 5.7754,2.9525 6.4909,1.94151 -10.0792,20.7174 -11.8877,28.74115 -11.2917,20.12314 -14.4477,43.50898 -22.3348,64.94192 -5.8098,15.78781 -13.6934,29.6345 -22.3551,43.97912 -9.5882,15.87913 -19.7814,31.59179 -31.1869,46.15679 -8.9458,10.99517 14.8617,1.14758 21.0201,6.78637 12.518,-7.87375 29.385,-1.07316 31.7442,13.9051 8.5354,6.87189 -2.959,27.20699 4.826,28.253 6.9599,-8.35669 30.6898,-10.22278 16.3911,-23.6599 -4.8799,-13.60995 -13.4899,-32.95924 2.9589,-42.5777 18.9802,-11.06226 29.1286,12.4481 34.5443,24.513 -1.1144,6.3124 -10.9945,24.16482 1.2989,23.0916 11.9703,5.11124 17.1415,-2.56675 9.7766,-12.99185 -5.6125,-7.61373 -1.994,-15.69956 2.4401,-3.88548 5.3211,8.43408 -3.2996,-25.65986 4.9774,-6.97215 1.2142,-0.66102 4.7324,-10.09149 5.0899,1.39026 1.3293,10.43455 4.5795,7.41882 7.2281,0.22402 3.133,9.794 -0.6183,21.94637 3.857,31.04505 15.1548,17.0439 34.661,30.4834 46.3055,50.3897 2.0219,10.6027 -2.3476,23.8758 -9.9945,30.7373 -96.6193,-0.1457 -193.2469,0.4071 -289.8601,-0.5562 z m 273.9725,-30.6938 c -5.4576,-7.6635 -15.9194,-5.3671 -3.5491,0.3557 0.497,0.7237 3.5906,1.4873 3.5491,-0.3557 z m -137.0451,-21.3848 c 8.1886,-16.11829 -15.8898,-22.27477 -13.8783,-38.63465 -0.2795,-7.03902 -1.2234,-20.4328 -8.3873,-7.61676 -8.7788,6.78734 8.6785,17.01782 2.351,27.10748 1.7752,8.92004 -7.3166,21.13593 7.9872,20.12463 3.789,1.2155 9.1084,3.1197 11.9274,-0.9807 z"
+           id="path2504"
+           sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccsscccccccccccccccccccccccccc" />
+      </g>
+    </g>
+    <g
+       style="fill:url(#radialGradient6295);fill-opacity:1;filter:url(#filter6435)"
+       transform="matrix(0.88812969,0,0,0.78446215,382.76315,569.603)"
+       inkscape:label="Layer 1"
+       id="g2670">
+      <g
+         id="yleiso2"
+         transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+         style="fill:url(#radialGradient6473);fill-opacity:1"
+         inkscape:export-filename="H:\new\rect2273.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90">
+        <path
+           style="fill:url(#radialGradient6471);fill-opacity:1"
+           d="m 1326.7136,723.79257 c -17.8661,-5.1827 -3.8156,-26.068 -6.1451,-38.9613 2.6811,-18.56792 15.9987,-33.39896 20.3878,-51.57126 6.8606,-15.87369 6.0596,-29.18523 11.5484,-45.342 8.742,-12.02634 14.9181,-19.24974 18.6214,-31.78782 5.4989,-17.05962 9.7646,-28.6189 4.0387,-43.91235 -2.7035,-18.14405 -7.7047,-35.78277 -10.4398,-53.93215 -7.4171,-11.14202 5.8674,-36.22176 -5.2186,-41.10752 2.3197,22.42403 -5.0015,2.60799 -11.9276,11.6082 -7.0053,-5.59071 -5.4872,1.85751 -8.2299,3.91882 -5.932,-16.05448 -9.7357,-3.85379 -2.8631,5.00313 9.8818,12.56195 16.6266,32.14007 15.296,48.89211 3.6034,32.14781 4.038,28.50478 -5.8248,50.03316 -9.7308,11.67224 -15.2465,26.01488 -27.383,35.45938 -4.168,-0.62987 -35.1675,23.6385 -12.2279,-23.00045 3.7473,-12.40615 10.4687,-27.14869 -3.4638,-38.99508 -11.3759,-6.02073 -27.7425,-16.02154 -38.4941,-5.54071 -3.1119,16.39526 -10.7156,33.21291 -6.8445,50.16753 1.9278,7.23379 10.0675,25.98563 -4.5899,18.54624 -22.93,-21.01361 -16.6495,-14.53032 -50.9982,-44.99704 -11.9958,-9.6748 -14.597,-25.80379 -23.3684,-37.95453 -8.3733,-15.34917 -16.6062,-32.68858 -15.9268,-50.43155 -1.9069,-10.49015 7.0382,-31.20329 -6.6909,-20.54154 0.2582,-10.75897 -20.2058,-15.99327 -6.9602,-3.43085 6.5561,15.27727 -21.0159,-20.22468 -11.6813,1.41398 6.6548,5.39657 5.312,15.53618 -5.7754,2.9525 -6.4909,1.94151 10.0792,20.7174 11.8877,28.74115 11.2917,20.12314 14.4477,43.50898 22.3348,64.94192 5.8098,15.78781 13.6934,29.6345 22.3551,43.97912 9.5882,15.87913 19.7814,31.59179 31.1869,46.15679 11.6035,54.34138 -4.3092,81.97365 -15.4445,111.81778 32.5872,16.89142 6.6287,16.78124 122.841,7.87434 z"
+           id="path2270"
+           sodipodi:nodetypes="cccccccccccccccccccccccccccssccc" />
+      </g>
+    </g>
+    <g
+       style="fill:url(#radialGradient6293);fill-opacity:1;filter:url(#filter6593)"
+       transform="matrix(-0.88812969,0,0,0.77373787,530.91675,562.04598)"
+       inkscape:label="Layer 1"
+       id="g2674">
+      <g
+         id="g2676"
+         transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+         style="fill:url(#radialGradient6469);fill-opacity:1"
+         inkscape:export-filename="H:\new\rect2273.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90">
+        <path
+           style="fill:url(#radialGradient6467);fill-opacity:1"
+           d="m 1326.7136,723.79257 c -17.8661,-5.1827 -3.8156,-26.068 -6.1451,-38.9613 2.6811,-18.56792 15.9987,-33.39896 20.3878,-51.57126 6.8606,-15.87369 6.0596,-29.18523 11.5484,-45.342 8.742,-12.02634 14.9181,-19.24974 18.6214,-31.78782 5.4989,-17.05962 9.7646,-28.6189 4.0387,-43.91235 -2.7035,-18.14405 -7.7047,-35.78277 -10.4398,-53.93215 -7.4171,-11.14202 5.8674,-36.22176 -5.2186,-41.10752 2.3197,22.42403 -5.0015,2.60799 -11.9276,11.6082 -7.0053,-5.59071 -5.4872,1.85751 -8.2299,3.91882 -5.932,-16.05448 -9.7357,-3.85379 -2.8631,5.00313 9.8818,12.56195 16.6266,32.14007 15.296,48.89211 3.6034,32.14781 4.038,28.50478 -5.8248,50.03316 -9.7308,11.67224 -15.2465,26.01488 -27.383,35.45938 -4.168,-0.62987 -35.1675,23.6385 -12.2279,-23.00045 3.7473,-12.40615 10.4687,-27.14869 -3.4638,-38.99508 -11.3759,-6.02073 -27.7425,-16.02154 -38.4941,-5.54071 -3.1119,16.39526 -10.7156,33.21291 -6.8445,50.16753 1.9278,7.23379 10.0675,25.98563 -4.5899,18.54624 -22.93,-21.01361 -16.6495,-14.53032 -50.9982,-44.99704 -11.9958,-9.6748 -14.597,-25.80379 -23.3684,-37.95453 -8.3733,-15.34917 -16.6062,-32.68858 -15.9268,-50.43155 -1.9069,-10.49015 7.0382,-31.20329 -6.6909,-20.54154 0.2582,-10.75897 -20.2058,-15.99327 -6.9602,-3.43085 6.5561,15.27727 -21.0159,-20.22468 -11.6813,1.41398 6.6548,5.39657 5.312,15.53618 -5.7754,2.9525 -6.4909,1.94151 10.0792,20.7174 11.8877,28.74115 11.2917,20.12314 14.4477,43.50898 22.3348,64.94192 5.8098,15.78781 13.6934,29.6345 22.3551,43.97912 9.5882,15.87913 19.7814,31.59179 31.1869,46.15679 11.6035,54.34138 -4.3092,81.97365 -15.4445,111.81778 32.5872,16.89142 6.6287,16.78124 122.841,7.87434 z"
+           id="path2678"
+           sodipodi:nodetypes="cccccccccccccccccccccccccccssccc" />
+      </g>
+    </g>
+    <g
+       style="fill:url(#radialGradient6291);fill-opacity:1;filter:url(#filter6609)"
+       transform="matrix(0.76594607,0,0,0.76594607,334.6978,587.54216)"
+       inkscape:label="Layer 1"
+       id="g2680">
+      <g
+         id="g2682"
+         transform="matrix(0.7844778,0,0,0.7844778,-1023.124,-443.46103)"
+         style="fill:url(#radialGradient6465);fill-opacity:1"
+         inkscape:export-filename="H:\new\rect2273.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90">
+        <path
+           style="fill:url(#radialGradient6463);fill-opacity:1"
+           d="m 1181.224,723.79257 c 17.8661,-5.1827 3.8156,-26.068 6.1451,-38.9613 -2.6811,-18.56792 -15.9987,-33.39896 -20.3878,-51.57126 -6.8606,-15.87369 -8.1323,-33.33072 -13.6211,-49.48749 -4.5966,-12.71726 -9.3908,-25.46798 -16.5487,-36.62423 -8.2626,-12.91413 -13.2192,-27.92799 -7.4933,-43.22144 2.7035,-18.14405 7.7047,-35.78277 10.4398,-53.93215 7.4171,-11.14202 -5.8674,-36.22176 5.2186,-41.10752 -2.3197,22.42403 5.0015,2.60799 11.9276,11.6082 7.0053,-5.59071 5.4872,1.85751 8.2299,3.91882 5.932,-16.05448 9.7357,-3.85379 2.8631,5.00313 -9.8818,12.56195 -16.6266,32.14007 -15.296,48.89211 -1.4747,7.65925 1.4117,26.30935 3.6016,7.87451 2.6364,-8.08828 3.9759,7.07011 6.1598,7.5432 -13.0443,13.63184 20.3862,-2.18868 6.6467,10.94557 -3.039,8.74305 -19.6494,14.16534 -10.5833,23.66988 9.7308,11.67224 15.9374,26.7058 28.0739,36.1503 4.168,-0.62987 17.2037,-10.21636 14.9916,-15.40038 -3.7473,-12.40615 -10.4687,-27.14869 3.4638,-38.99508 11.3759,-6.02073 27.7425,-16.02154 38.4941,-5.54071 3.1119,16.39526 10.7156,33.21291 6.8445,50.16753 -1.9278,7.23379 -10.0675,25.98563 4.5899,18.54624 16.5134,-6.70982 20.1994,-21.1921 21.762,-37.42171 2.7436,-15.10347 11.0587,-31.98909 2.3918,-46.56641 -5.3185,-7.59752 -4.9737,-18.57102 2.3855,-6.93359 4.5245,-4.57537 5.5908,-33.1298 8.0527,-13.59432 1.503,4.2079 6.7245,-11.21855 7.2771,2.5917 12.0837,11.81526 0.4373,26.77552 1.5752,40.85819 -0.014,7.78552 -4.7837,31.21381 7.5539,16.0691 11.9958,-9.6748 14.597,-25.80379 23.3684,-37.95453 8.3733,-15.34917 16.6062,-32.68858 15.9268,-50.43155 1.9069,-10.49015 -7.0382,-31.20329 6.6909,-20.54154 -0.2582,-10.75897 20.2058,-15.99327 6.9602,-3.43085 -6.5561,15.27727 21.0159,-20.22468 11.6813,1.41398 -6.6548,5.39657 -5.312,15.53618 5.7754,2.9525 6.4909,1.94151 -10.0792,20.7174 -11.8877,28.74115 -11.2917,20.12314 -14.4477,43.50898 -22.3348,64.94192 -5.8098,15.78781 -13.6934,29.6345 -22.3551,43.97912 -9.5882,15.87913 -19.7814,31.59179 -31.1869,46.15679 -8.9458,10.99517 14.8617,1.14758 21.0201,6.78637 12.518,-7.87375 29.385,-1.07316 31.7442,13.9051 8.5354,6.87189 -2.959,27.20699 4.826,28.253 6.9599,-8.35669 30.6898,-10.22278 16.3911,-23.6599 -4.8799,-13.60995 -13.4899,-32.95924 2.9589,-42.5777 18.9802,-11.06226 29.1286,12.4481 34.5443,24.513 -1.1144,6.3124 -10.9945,24.16482 1.2989,23.0916 11.9703,5.11124 17.1415,-2.56675 9.7766,-12.99185 -5.6125,-7.61373 -1.994,-15.69956 2.4401,-3.88548 5.3211,8.43408 -3.2996,-25.65986 4.9774,-6.97215 1.2142,-0.66102 4.7324,-10.09149 5.0899,1.39026 1.3293,10.43455 4.5795,7.41882 7.2281,0.22402 3.133,9.794 -0.6183,21.94637 3.857,31.04505 15.1548,17.0439 34.661,30.4834 46.3055,50.3897 2.0219,10.6027 -2.3476,23.8758 -9.9945,30.7373 -96.6193,-0.1457 -193.2469,0.4071 -289.8601,-0.5562 z m 273.9725,-30.6938 c -5.4576,-7.6635 -15.9194,-5.3671 -3.5491,0.3557 0.497,0.7237 3.5906,1.4873 3.5491,-0.3557 z m -137.0451,-21.3848 c 8.1886,-16.11829 -15.8898,-22.27477 -13.8783,-38.63465 -0.2795,-7.03902 -1.2234,-20.4328 -8.3873,-7.61676 -8.7788,6.78734 8.6785,17.01782 2.351,27.10748 1.7752,8.92004 -7.3166,21.13593 7.9872,20.12463 3.789,1.2155 9.1084,3.1197 11.9274,-0.9807 z"
+           id="path2684"
+           sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccsscccccccccccccccccccccccccc" />
+      </g>
+    </g>
+    <g
+       style="fill:url(#radialGradient6289);fill-opacity:1;filter:url(#filter6781)"
+       transform="matrix(0.88812969,0,0,0.75951536,146.19341,582.76899)"
+       inkscape:label="Layer 1"
+       id="g2686">
+      <g
+         id="g2688"
+         transform="matrix(0.7844778,0,0,0.7844778,-1023.124,-443.46103)"
+         style="fill:url(#radialGradient6461);fill-opacity:1"
+         inkscape:export-filename="H:\new\rect2273.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90">
+        <path
+           style="fill:url(#radialGradient6459);fill-opacity:1"
+           d="m 1181.224,723.79257 c 17.8661,-5.1827 3.8156,-26.068 6.1451,-38.9613 -2.6811,-18.56792 -15.9987,-33.39896 -20.3878,-51.57126 -6.8606,-15.87369 -8.1323,-33.33072 -13.6211,-49.48749 -4.5966,-12.71726 -9.3908,-25.46798 -16.5487,-36.62423 -8.2626,-12.91413 -13.2192,-27.92799 -7.4933,-43.22144 2.7035,-18.14405 7.7047,-35.78277 10.4398,-53.93215 7.4171,-11.14202 -5.8674,-36.22176 5.2186,-41.10752 -2.3197,22.42403 5.0015,2.60799 11.9276,11.6082 7.0053,-5.59071 5.4872,1.85751 8.2299,3.91882 5.932,-16.05448 9.7357,-3.85379 2.8631,5.00313 -9.8818,12.56195 -16.6266,32.14007 -15.296,48.89211 -1.4747,7.65925 1.4117,26.30935 3.6016,7.87451 2.6364,-8.08828 3.9759,7.07011 6.1598,7.5432 -13.0443,13.63184 20.3862,-2.18868 6.6467,10.94557 -3.039,8.74305 -19.6494,14.16534 -10.5833,23.66988 9.7308,11.67224 15.9374,26.7058 28.0739,36.1503 4.168,-0.62987 17.2037,-10.21636 14.9916,-15.40038 -3.7473,-12.40615 -10.4687,-27.14869 3.4638,-38.99508 11.3759,-6.02073 27.7425,-16.02154 38.4941,-5.54071 3.1119,16.39526 10.7156,33.21291 6.8445,50.16753 -1.9278,7.23379 -10.0675,25.98563 4.5899,18.54624 16.5134,-6.70982 20.1994,-21.1921 21.762,-37.42171 2.7436,-15.10347 11.0587,-31.98909 2.3918,-46.56641 -5.3185,-7.59752 -4.9737,-18.57102 2.3855,-6.93359 4.5245,-4.57537 5.5908,-33.1298 8.0527,-13.59432 1.503,4.2079 6.7245,-11.21855 7.2771,2.5917 12.0837,11.81526 0.4373,26.77552 1.5752,40.85819 -0.014,7.78552 -4.7837,31.21381 7.5539,16.0691 11.9958,-9.6748 14.597,-25.80379 23.3684,-37.95453 8.3733,-15.34917 16.6062,-32.68858 15.9268,-50.43155 1.9069,-10.49015 -7.0382,-31.20329 6.6909,-20.54154 -0.2582,-10.75897 20.2058,-15.99327 6.9602,-3.43085 -6.5561,15.27727 21.0159,-20.22468 11.6813,1.41398 -6.6548,5.39657 -5.312,15.53618 5.7754,2.9525 6.4909,1.94151 -10.0792,20.7174 -11.8877,28.74115 -11.2917,20.12314 -14.4477,43.50898 -22.3348,64.94192 -5.8098,15.78781 -13.6934,29.6345 -22.3551,43.97912 -9.5882,15.87913 -19.7814,31.59179 -31.1869,46.15679 -8.9458,10.99517 14.8617,1.14758 21.0201,6.78637 12.518,-7.87375 29.385,-1.07316 31.7442,13.9051 8.5354,6.87189 -2.959,27.20699 4.826,28.253 6.9599,-8.35669 30.6898,-10.22278 16.3911,-23.6599 -4.8799,-13.60995 -13.4899,-32.95924 2.9589,-42.5777 18.9802,-11.06226 29.1286,12.4481 34.5443,24.513 -1.1144,6.3124 -10.9945,24.16482 1.2989,23.0916 11.9703,5.11124 17.1415,-2.56675 9.7766,-12.99185 -5.6125,-7.61373 -1.994,-15.69956 2.4401,-3.88548 5.3211,8.43408 -3.2996,-25.65986 4.9774,-6.97215 1.2142,-0.66102 4.7324,-10.09149 5.0899,1.39026 1.3293,10.43455 4.5795,7.41882 7.2281,0.22402 3.133,9.794 -0.6183,21.94637 3.857,31.04505 15.1548,17.0439 34.661,30.4834 46.3055,50.3897 2.0219,10.6027 -2.3476,23.8758 -9.9945,30.7373 -96.6193,-0.1457 -193.2469,0.4071 -289.8601,-0.5562 z m 273.9725,-30.6938 c -5.4576,-7.6635 -15.9194,-5.3671 -3.5491,0.3557 0.497,0.7237 3.5906,1.4873 3.5491,-0.3557 z m -137.0451,-21.3848 c 8.1886,-16.11829 -15.8898,-22.27477 -13.8783,-38.63465 -0.2795,-7.03902 -1.2234,-20.4328 -8.3873,-7.61676 -8.7788,6.78734 8.6785,17.01782 2.351,27.10748 1.7752,8.92004 -7.3166,21.13593 7.9872,20.12463 3.789,1.2155 9.1084,3.1197 11.9274,-0.9807 z"
+           id="path2690"
+           sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccsscccccccccccccccccccccccccc" />
+      </g>
+    </g>
+    <g
+       style="fill:url(#radialGradient6287);fill-opacity:1;filter:url(#filter6529)"
+       transform="matrix(-0.68430241,0,0,0.78803687,598.62179,591.5042)"
+       inkscape:label="Layer 1"
+       id="g2692">
+      <g
+         id="g2694"
+         transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+         style="fill:url(#radialGradient6457);fill-opacity:1"
+         inkscape:export-filename="H:\new\rect2273.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90">
+        <path
+           style="fill:url(#radialGradient6455);fill-opacity:1"
+           d="m 1326.7136,723.79257 c -17.8661,-5.1827 -3.8156,-26.068 -6.1451,-38.9613 2.6811,-18.56792 15.9987,-33.39896 20.3878,-51.57126 6.8606,-15.87369 6.0596,-29.18523 11.5484,-45.342 8.742,-12.02634 14.9181,-19.24974 18.6214,-31.78782 5.4989,-17.05962 9.7646,-28.6189 4.0387,-43.91235 -2.7035,-18.14405 -7.7047,-35.78277 -10.4398,-53.93215 -7.4171,-11.14202 5.8674,-36.22176 -5.2186,-41.10752 2.3197,22.42403 -5.0015,2.60799 -11.9276,11.6082 -7.0053,-5.59071 -5.4872,1.85751 -8.2299,3.91882 -5.932,-16.05448 -9.7357,-3.85379 -2.8631,5.00313 9.8818,12.56195 16.6266,32.14007 15.296,48.89211 3.6034,32.14781 4.038,28.50478 -5.8248,50.03316 -9.7308,11.67224 -15.2465,26.01488 -27.383,35.45938 -4.168,-0.62987 -35.1675,23.6385 -12.2279,-23.00045 3.7473,-12.40615 10.4687,-27.14869 -3.4638,-38.99508 -11.3759,-6.02073 -27.7425,-16.02154 -38.4941,-5.54071 -3.1119,16.39526 -10.7156,33.21291 -6.8445,50.16753 1.9278,7.23379 10.0675,25.98563 -4.5899,18.54624 -22.93,-21.01361 -16.6495,-14.53032 -50.9982,-44.99704 -11.9958,-9.6748 -14.597,-25.80379 -23.3684,-37.95453 -8.3733,-15.34917 -16.6062,-32.68858 -15.9268,-50.43155 -1.9069,-10.49015 7.0382,-31.20329 -6.6909,-20.54154 0.2582,-10.75897 -20.2058,-15.99327 -6.9602,-3.43085 6.5561,15.27727 -21.0159,-20.22468 -11.6813,1.41398 6.6548,5.39657 5.312,15.53618 -5.7754,2.9525 -6.4909,1.94151 10.0792,20.7174 11.8877,28.74115 11.2917,20.12314 14.4477,43.50898 22.3348,64.94192 5.8098,15.78781 13.6934,29.6345 22.3551,43.97912 9.5882,15.87913 19.7814,31.59179 31.1869,46.15679 11.6035,54.34138 -4.3092,81.97365 -15.4445,111.81778 32.5872,16.89142 6.6287,16.78124 122.841,7.87434 z"
+           id="path2696"
+           sodipodi:nodetypes="cccccccccccccccccccccccccccssccc" />
+      </g>
+    </g>
+    <g
+       style="fill:url(#radialGradient6285);fill-opacity:1;filter:url(#filter6415)"
+       transform="matrix(-0.88812969,0,0,0.88812969,669.51278,580.25934)"
+       inkscape:label="Layer 1"
+       id="g2698">
+      <g
+         id="g2700"
+         transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+         style="fill:url(#radialGradient6453);fill-opacity:1"
+         inkscape:export-filename="H:\new\rect2273.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90">
+        <path
+           style="fill:url(#radialGradient6451);fill-opacity:1"
+           d="m 1326.7136,723.79257 c -17.8661,-5.1827 -3.8156,-26.068 -6.1451,-38.9613 2.6811,-18.56792 15.9987,-33.39896 20.3878,-51.57126 6.8606,-15.87369 6.0596,-29.18523 11.5484,-45.342 8.742,-12.02634 14.9181,-19.24974 18.6214,-31.78782 5.4989,-17.05962 9.7646,-28.6189 4.0387,-43.91235 -2.7035,-18.14405 -7.7047,-35.78277 -10.4398,-53.93215 -7.4171,-11.14202 5.8674,-36.22176 -5.2186,-41.10752 2.3197,22.42403 -5.0015,2.60799 -11.9276,11.6082 -7.0053,-5.59071 -5.4872,1.85751 -8.2299,3.91882 -5.932,-16.05448 -9.7357,-3.85379 -2.8631,5.00313 9.8818,12.56195 16.6266,32.14007 15.296,48.89211 3.6034,32.14781 4.038,28.50478 -5.8248,50.03316 -9.7308,11.67224 -15.2465,26.01488 -27.383,35.45938 -4.168,-0.62987 -35.1675,23.6385 -12.2279,-23.00045 3.7473,-12.40615 10.4687,-27.14869 -3.4638,-38.99508 -11.3759,-6.02073 -27.7425,-16.02154 -38.4941,-5.54071 -3.1119,16.39526 -10.7156,33.21291 -6.8445,50.16753 1.9278,7.23379 10.0675,25.98563 -4.5899,18.54624 -22.93,-21.01361 -16.6495,-14.53032 -50.9982,-44.99704 -11.9958,-9.6748 -14.597,-25.80379 -23.3684,-37.95453 -8.3733,-15.34917 -16.6062,-32.68858 -15.9268,-50.43155 -1.9069,-10.49015 7.0382,-31.20329 -6.6909,-20.54154 0.2582,-10.75897 -20.2058,-15.99327 -6.9602,-3.43085 6.5561,15.27727 -21.0159,-20.22468 -11.6813,1.41398 6.6548,5.39657 5.312,15.53618 -5.7754,2.9525 -6.4909,1.94151 10.0792,20.7174 11.8877,28.74115 11.2917,20.12314 14.4477,43.50898 22.3348,64.94192 5.8098,15.78781 13.6934,29.6345 22.3551,43.97912 9.5882,15.87913 19.7814,31.59179 31.1869,46.15679 11.6035,54.34138 -4.3092,81.97365 -15.4445,111.81778 32.5872,16.89142 6.6287,16.78124 122.841,7.87434 z"
+           id="path2702"
+           sodipodi:nodetypes="cccccccccccccccccccccccccccssccc" />
+      </g>
+    </g>
+    <g
+       style="fill:url(#radialGradient6283);fill-opacity:1;filter:url(#filter6693)"
+       transform="matrix(0.91129181,0,0,0.93102658,947.10383,583.40541)"
+       inkscape:label="Layer 1"
+       id="g2704">
+      <g
+         id="g2706"
+         transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+         style="fill:url(#radialGradient6449);fill-opacity:1"
+         inkscape:export-filename="H:\new\rect2273.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90">
+        <path
+           style="fill:url(#radialGradient6447);fill-opacity:1"
+           d="m 1326.7136,723.79257 c -17.8661,-5.1827 -3.8156,-26.068 -6.1451,-38.9613 2.6811,-18.56792 15.9987,-33.39896 20.3878,-51.57126 6.8606,-15.87369 6.0596,-29.18523 11.5484,-45.342 8.742,-12.02634 14.9181,-19.24974 18.6214,-31.78782 5.4989,-17.05962 9.7646,-28.6189 4.0387,-43.91235 -2.7035,-18.14405 -7.7047,-35.78277 -10.4398,-53.93215 -7.4171,-11.14202 5.8674,-36.22176 -5.2186,-41.10752 2.3197,22.42403 -5.0015,2.60799 -11.9276,11.6082 -7.0053,-5.59071 -5.4872,1.85751 -8.2299,3.91882 -5.932,-16.05448 -9.7357,-3.85379 -2.8631,5.00313 9.8818,12.56195 16.6266,32.14007 15.296,48.89211 3.6034,32.14781 4.038,28.50478 -5.8248,50.03316 -9.7308,11.67224 -15.2465,26.01488 -27.383,35.45938 -4.168,-0.62987 -35.1675,23.6385 -12.2279,-23.00045 3.7473,-12.40615 10.4687,-27.14869 -3.4638,-38.99508 -11.3759,-6.02073 -27.7425,-16.02154 -38.4941,-5.54071 -3.1119,16.39526 -10.7156,33.21291 -6.8445,50.16753 1.9278,7.23379 10.0675,25.98563 -4.5899,18.54624 -22.93,-21.01361 -16.6495,-14.53032 -50.9982,-44.99704 -11.9958,-9.6748 -14.597,-25.80379 -23.3684,-37.95453 -8.3733,-15.34917 -16.6062,-32.68858 -15.9268,-50.43155 -1.9069,-10.49015 7.0382,-31.20329 -6.6909,-20.54154 0.2582,-10.75897 -20.2058,-15.99327 -6.9602,-3.43085 6.5561,15.27727 -21.0159,-20.22468 -11.6813,1.41398 6.6548,5.39657 5.312,15.53618 -5.7754,2.9525 -6.4909,1.94151 10.0792,20.7174 11.8877,28.74115 11.2917,20.12314 14.4477,43.50898 22.3348,64.94192 5.8098,15.78781 13.6934,29.6345 22.3551,43.97912 9.5882,15.87913 19.7814,31.59179 31.1869,46.15679 11.6035,54.34138 -4.3092,81.97365 -15.4445,111.81778 32.5872,16.89142 6.6287,16.78124 122.841,7.87434 z"
+           id="path2708"
+           sodipodi:nodetypes="cccccccccccccccccccccccccccssccc" />
+      </g>
+    </g>
+    <g
+       style="fill:url(#radialGradient6281);fill-opacity:1;filter:url(#filter6557)"
+       transform="matrix(0.88812969,0,0,0.84311465,808.10889,574.72565)"
+       inkscape:label="Layer 1"
+       id="g2710">
+      <g
+         id="g2712"
+         transform="matrix(0.7844778,0,0,0.7844778,-1023.124,-443.46103)"
+         style="fill:url(#radialGradient6445);fill-opacity:1"
+         inkscape:export-filename="H:\new\rect2273.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90">
+        <path
+           style="fill:url(#radialGradient6443);fill-opacity:1"
+           d="m 1181.224,723.79257 c 17.8661,-5.1827 3.8156,-26.068 6.1451,-38.9613 -2.6811,-18.56792 -15.9987,-33.39896 -20.3878,-51.57126 -6.8606,-15.87369 -8.1323,-33.33072 -13.6211,-49.48749 -4.5966,-12.71726 -9.3908,-25.46798 -16.5487,-36.62423 -8.2626,-12.91413 -13.2192,-27.92799 -7.4933,-43.22144 2.7035,-18.14405 7.7047,-35.78277 10.4398,-53.93215 7.4171,-11.14202 -5.8674,-36.22176 5.2186,-41.10752 -2.3197,22.42403 5.0015,2.60799 11.9276,11.6082 7.0053,-5.59071 5.4872,1.85751 8.2299,3.91882 5.932,-16.05448 9.7357,-3.85379 2.8631,5.00313 -9.8818,12.56195 -16.6266,32.14007 -15.296,48.89211 -1.4747,7.65925 1.4117,26.30935 3.6016,7.87451 2.6364,-8.08828 3.9759,7.07011 6.1598,7.5432 -13.0443,13.63184 20.3862,-2.18868 6.6467,10.94557 -3.039,8.74305 -19.6494,14.16534 -10.5833,23.66988 9.7308,11.67224 15.9374,26.7058 28.0739,36.1503 4.168,-0.62987 17.2037,-10.21636 14.9916,-15.40038 -3.7473,-12.40615 -10.4687,-27.14869 3.4638,-38.99508 11.3759,-6.02073 27.7425,-16.02154 38.4941,-5.54071 3.1119,16.39526 10.7156,33.21291 6.8445,50.16753 -1.9278,7.23379 -10.0675,25.98563 4.5899,18.54624 16.5134,-6.70982 20.1994,-21.1921 21.762,-37.42171 2.7436,-15.10347 11.0587,-31.98909 2.3918,-46.56641 -5.3185,-7.59752 -4.9737,-18.57102 2.3855,-6.93359 4.5245,-4.57537 5.5908,-33.1298 8.0527,-13.59432 1.503,4.2079 6.7245,-11.21855 7.2771,2.5917 12.0837,11.81526 0.4373,26.77552 1.5752,40.85819 -0.014,7.78552 -4.7837,31.21381 7.5539,16.0691 11.9958,-9.6748 14.597,-25.80379 23.3684,-37.95453 8.3733,-15.34917 16.6062,-32.68858 15.9268,-50.43155 1.9069,-10.49015 -7.0382,-31.20329 6.6909,-20.54154 -0.2582,-10.75897 20.2058,-15.99327 6.9602,-3.43085 -6.5561,15.27727 21.0159,-20.22468 11.6813,1.41398 -6.6548,5.39657 -5.312,15.53618 5.7754,2.9525 6.4909,1.94151 -10.0792,20.7174 -11.8877,28.74115 -11.2917,20.12314 -14.4477,43.50898 -22.3348,64.94192 -5.8098,15.78781 -13.6934,29.6345 -22.3551,43.97912 -9.5882,15.87913 -19.7814,31.59179 -31.1869,46.15679 -8.9458,10.99517 14.8617,1.14758 21.0201,6.78637 12.518,-7.87375 29.385,-1.07316 31.7442,13.9051 8.5354,6.87189 -2.959,27.20699 4.826,28.253 6.9599,-8.35669 30.6898,-10.22278 16.3911,-23.6599 -4.8799,-13.60995 -13.4899,-32.95924 2.9589,-42.5777 18.9802,-11.06226 29.1286,12.4481 34.5443,24.513 -1.1144,6.3124 -10.9945,24.16482 1.2989,23.0916 11.9703,5.11124 17.1415,-2.56675 9.7766,-12.99185 -5.6125,-7.61373 -1.994,-15.69956 2.4401,-3.88548 5.3211,8.43408 -3.2996,-25.65986 4.9774,-6.97215 1.2142,-0.66102 4.7324,-10.09149 5.0899,1.39026 1.3293,10.43455 4.5795,7.41882 7.2281,0.22402 3.133,9.794 -0.6183,21.94637 3.857,31.04505 15.1548,17.0439 34.661,30.4834 46.3055,50.3897 2.0219,10.6027 -2.3476,23.8758 -9.9945,30.7373 -96.6193,-0.1457 -193.2469,0.4071 -289.8601,-0.5562 z m 273.9725,-30.6938 c -5.4576,-7.6635 -15.9194,-5.3671 -3.5491,0.3557 0.497,0.7237 3.5906,1.4873 3.5491,-0.3557 z m -137.0451,-21.3848 c 8.1886,-16.11829 -15.8898,-22.27477 -13.8783,-38.63465 -0.2795,-7.03902 -1.2234,-20.4328 -8.3873,-7.61676 -8.7788,6.78734 8.6785,17.01782 2.351,27.10748 1.7752,8.92004 -7.3166,21.13593 7.9872,20.12463 3.789,1.2155 9.1084,3.1197 11.9274,-0.9807 z"
+           id="path2714"
+           sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccsscccccccccccccccccccccccccc" />
+      </g>
+    </g>
+  </g>
+  <g
+     id="g4174"
+     transform="matrix(-1.3393756,0,0,1.3393756,1222.4805,-114.77091)">
+    <g
+       id="g4176"
+       inkscape:label="Layer 1"
+       transform="matrix(0.7163845,0,0,0.71128503,499.45401,591.13983)"
+       style="fill:url(#radialGradient4234);fill-opacity:1;filter:url(#filter6439)">
+      <g
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="H:\new\rect2273.png"
+         style="fill:url(#radialGradient4232);fill-opacity:1"
+         transform="matrix(0.7844778,0,0,0.7844778,-1023.124,-443.46103)"
+         id="g4178">
+        <path
+           sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccsscccccccccccccccccccccccccc"
+           id="path4180"
+           d="m 1181.224,723.79257 c 17.8661,-5.1827 3.8156,-26.068 6.1451,-38.9613 -2.6811,-18.56792 -15.9987,-33.39896 -20.3878,-51.57126 -6.8606,-15.87369 -8.1323,-33.33072 -13.6211,-49.48749 -4.5966,-12.71726 -9.3908,-25.46798 -16.5487,-36.62423 -8.2626,-12.91413 -13.2192,-27.92799 -7.4933,-43.22144 2.7035,-18.14405 7.7047,-35.78277 10.4398,-53.93215 7.4171,-11.14202 -5.8674,-36.22176 5.2186,-41.10752 -2.3197,22.42403 5.0015,2.60799 11.9276,11.6082 7.0053,-5.59071 5.4872,1.85751 8.2299,3.91882 5.932,-16.05448 9.7357,-3.85379 2.8631,5.00313 -9.8818,12.56195 -16.6266,32.14007 -15.296,48.89211 -1.4747,7.65925 1.4117,26.30935 3.6016,7.87451 2.6364,-8.08828 3.9759,7.07011 6.1598,7.5432 -13.0443,13.63184 20.3862,-2.18868 6.6467,10.94557 -3.039,8.74305 -19.6494,14.16534 -10.5833,23.66988 9.7308,11.67224 15.9374,26.7058 28.0739,36.1503 4.168,-0.62987 17.2037,-10.21636 14.9916,-15.40038 -3.7473,-12.40615 -10.4687,-27.14869 3.4638,-38.99508 11.3759,-6.02073 27.7425,-16.02154 38.4941,-5.54071 3.1119,16.39526 10.7156,33.21291 6.8445,50.16753 -1.9278,7.23379 -10.0675,25.98563 4.5899,18.54624 16.5134,-6.70982 20.1994,-21.1921 21.762,-37.42171 2.7436,-15.10347 11.0587,-31.98909 2.3918,-46.56641 -5.3185,-7.59752 -4.9737,-18.57102 2.3855,-6.93359 4.5245,-4.57537 5.5908,-33.1298 8.0527,-13.59432 1.503,4.2079 6.7245,-11.21855 7.2771,2.5917 12.0837,11.81526 0.4373,26.77552 1.5752,40.85819 -0.014,7.78552 -4.7837,31.21381 7.5539,16.0691 11.9958,-9.6748 14.597,-25.80379 23.3684,-37.95453 8.3733,-15.34917 16.6062,-32.68858 15.9268,-50.43155 1.9069,-10.49015 -7.0382,-31.20329 6.6909,-20.54154 -0.2582,-10.75897 20.2058,-15.99327 6.9602,-3.43085 -6.5561,15.27727 21.0159,-20.22468 11.6813,1.41398 -6.6548,5.39657 -5.312,15.53618 5.7754,2.9525 6.4909,1.94151 -10.0792,20.7174 -11.8877,28.74115 -11.2917,20.12314 -14.4477,43.50898 -22.3348,64.94192 -5.8098,15.78781 -13.6934,29.6345 -22.3551,43.97912 -9.5882,15.87913 -19.7814,31.59179 -31.1869,46.15679 -8.9458,10.99517 14.8617,1.14758 21.0201,6.78637 12.518,-7.87375 29.385,-1.07316 31.7442,13.9051 8.5354,6.87189 -2.959,27.20699 4.826,28.253 6.9599,-8.35669 30.6898,-10.22278 16.3911,-23.6599 -4.8799,-13.60995 -13.4899,-32.95924 2.9589,-42.5777 18.9802,-11.06226 29.1286,12.4481 34.5443,24.513 -1.1144,6.3124 -10.9945,24.16482 1.2989,23.0916 11.9703,5.11124 17.1415,-2.56675 9.7766,-12.99185 -5.6125,-7.61373 -1.994,-15.69956 2.4401,-3.88548 5.3211,8.43408 -3.2996,-25.65986 4.9774,-6.97215 1.2142,-0.66102 4.7324,-10.09149 5.0899,1.39026 1.3293,10.43455 4.5795,7.41882 7.2281,0.22402 3.133,9.794 -0.6183,21.94637 3.857,31.04505 15.1548,17.0439 34.661,30.4834 46.3055,50.3897 2.0219,10.6027 -2.3476,23.8758 -9.9945,30.7373 -96.6193,-0.1457 -193.2469,0.4071 -289.8601,-0.5562 z m 273.9725,-30.6938 c -5.4576,-7.6635 -15.9194,-5.3671 -3.5491,0.3557 0.497,0.7237 3.5906,1.4873 3.5491,-0.3557 z m -137.0451,-21.3848 c 8.1886,-16.11829 -15.8898,-22.27477 -13.8783,-38.63465 -0.2795,-7.03902 -1.2234,-20.4328 -8.3873,-7.61676 -8.7788,6.78734 8.6785,17.01782 2.351,27.10748 1.7752,8.92004 -7.3166,21.13593 7.9872,20.12463 3.789,1.2155 9.1084,3.1197 11.9274,-0.9807 z"
+           style="fill:url(#radialGradient4230);fill-opacity:1" />
+      </g>
+    </g>
+    <g
+       id="g4182"
+       inkscape:label="Layer 1"
+       transform="matrix(0.88812969,0,0,0.78446215,382.76315,569.603)"
+       style="fill:url(#radialGradient4240);fill-opacity:1;filter:url(#filter6435)">
+      <g
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="H:\new\rect2273.png"
+         style="fill:url(#radialGradient4238);fill-opacity:1"
+         transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+         id="g4184">
+        <path
+           sodipodi:nodetypes="cccccccccccccccccccccccccccssccc"
+           id="path4186"
+           d="m 1326.7136,723.79257 c -17.8661,-5.1827 -3.8156,-26.068 -6.1451,-38.9613 2.6811,-18.56792 15.9987,-33.39896 20.3878,-51.57126 6.8606,-15.87369 6.0596,-29.18523 11.5484,-45.342 8.742,-12.02634 14.9181,-19.24974 18.6214,-31.78782 5.4989,-17.05962 9.7646,-28.6189 4.0387,-43.91235 -2.7035,-18.14405 -7.7047,-35.78277 -10.4398,-53.93215 -7.4171,-11.14202 5.8674,-36.22176 -5.2186,-41.10752 2.3197,22.42403 -5.0015,2.60799 -11.9276,11.6082 -7.0053,-5.59071 -5.4872,1.85751 -8.2299,3.91882 -5.932,-16.05448 -9.7357,-3.85379 -2.8631,5.00313 9.8818,12.56195 16.6266,32.14007 15.296,48.89211 3.6034,32.14781 4.038,28.50478 -5.8248,50.03316 -9.7308,11.67224 -15.2465,26.01488 -27.383,35.45938 -4.168,-0.62987 -35.1675,23.6385 -12.2279,-23.00045 3.7473,-12.40615 10.4687,-27.14869 -3.4638,-38.99508 -11.3759,-6.02073 -27.7425,-16.02154 -38.4941,-5.54071 -3.1119,16.39526 -10.7156,33.21291 -6.8445,50.16753 1.9278,7.23379 10.0675,25.98563 -4.5899,18.54624 -22.93,-21.01361 -16.6495,-14.53032 -50.9982,-44.99704 -11.9958,-9.6748 -14.597,-25.80379 -23.3684,-37.95453 -8.3733,-15.34917 -16.6062,-32.68858 -15.9268,-50.43155 -1.9069,-10.49015 7.0382,-31.20329 -6.6909,-20.54154 0.2582,-10.75897 -20.2058,-15.99327 -6.9602,-3.43085 6.5561,15.27727 -21.0159,-20.22468 -11.6813,1.41398 6.6548,5.39657 5.312,15.53618 -5.7754,2.9525 -6.4909,1.94151 10.0792,20.7174 11.8877,28.74115 11.2917,20.12314 14.4477,43.50898 22.3348,64.94192 5.8098,15.78781 13.6934,29.6345 22.3551,43.97912 9.5882,15.87913 19.7814,31.59179 31.1869,46.15679 11.6035,54.34138 -4.3092,81.97365 -15.4445,111.81778 32.5872,16.89142 6.6287,16.78124 122.841,7.87434 z"
+           style="fill:url(#radialGradient4236);fill-opacity:1" />
+      </g>
+    </g>
+    <g
+       id="g4188"
+       inkscape:label="Layer 1"
+       transform="matrix(-0.88812969,0,0,0.77373787,530.91675,562.04598)"
+       style="fill:url(#radialGradient4246);fill-opacity:1;filter:url(#filter6593)">
+      <g
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="H:\new\rect2273.png"
+         style="fill:url(#radialGradient4244);fill-opacity:1"
+         transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+         id="g4190">
+        <path
+           sodipodi:nodetypes="cccccccccccccccccccccccccccssccc"
+           id="path4192"
+           d="m 1326.7136,723.79257 c -17.8661,-5.1827 -3.8156,-26.068 -6.1451,-38.9613 2.6811,-18.56792 15.9987,-33.39896 20.3878,-51.57126 6.8606,-15.87369 6.0596,-29.18523 11.5484,-45.342 8.742,-12.02634 14.9181,-19.24974 18.6214,-31.78782 5.4989,-17.05962 9.7646,-28.6189 4.0387,-43.91235 -2.7035,-18.14405 -7.7047,-35.78277 -10.4398,-53.93215 -7.4171,-11.14202 5.8674,-36.22176 -5.2186,-41.10752 2.3197,22.42403 -5.0015,2.60799 -11.9276,11.6082 -7.0053,-5.59071 -5.4872,1.85751 -8.2299,3.91882 -5.932,-16.05448 -9.7357,-3.85379 -2.8631,5.00313 9.8818,12.56195 16.6266,32.14007 15.296,48.89211 3.6034,32.14781 4.038,28.50478 -5.8248,50.03316 -9.7308,11.67224 -15.2465,26.01488 -27.383,35.45938 -4.168,-0.62987 -35.1675,23.6385 -12.2279,-23.00045 3.7473,-12.40615 10.4687,-27.14869 -3.4638,-38.99508 -11.3759,-6.02073 -27.7425,-16.02154 -38.4941,-5.54071 -3.1119,16.39526 -10.7156,33.21291 -6.8445,50.16753 1.9278,7.23379 10.0675,25.98563 -4.5899,18.54624 -22.93,-21.01361 -16.6495,-14.53032 -50.9982,-44.99704 -11.9958,-9.6748 -14.597,-25.80379 -23.3684,-37.95453 -8.3733,-15.34917 -16.6062,-32.68858 -15.9268,-50.43155 -1.9069,-10.49015 7.0382,-31.20329 -6.6909,-20.54154 0.2582,-10.75897 -20.2058,-15.99327 -6.9602,-3.43085 6.5561,15.27727 -21.0159,-20.22468 -11.6813,1.41398 6.6548,5.39657 5.312,15.53618 -5.7754,2.9525 -6.4909,1.94151 10.0792,20.7174 11.8877,28.74115 11.2917,20.12314 14.4477,43.50898 22.3348,64.94192 5.8098,15.78781 13.6934,29.6345 22.3551,43.97912 9.5882,15.87913 19.7814,31.59179 31.1869,46.15679 11.6035,54.34138 -4.3092,81.97365 -15.4445,111.81778 32.5872,16.89142 6.6287,16.78124 122.841,7.87434 z"
+           style="fill:url(#radialGradient4242);fill-opacity:1" />
+      </g>
+    </g>
+    <g
+       id="g4194"
+       inkscape:label="Layer 1"
+       transform="matrix(0.76594607,0,0,0.76594607,334.6978,587.54216)"
+       style="fill:url(#radialGradient4252);fill-opacity:1;filter:url(#filter6609)">
+      <g
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="H:\new\rect2273.png"
+         style="fill:url(#radialGradient4250);fill-opacity:1"
+         transform="matrix(0.7844778,0,0,0.7844778,-1023.124,-443.46103)"
+         id="g4196">
+        <path
+           sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccsscccccccccccccccccccccccccc"
+           id="path4198"
+           d="m 1181.224,723.79257 c 17.8661,-5.1827 3.8156,-26.068 6.1451,-38.9613 -2.6811,-18.56792 -15.9987,-33.39896 -20.3878,-51.57126 -6.8606,-15.87369 -8.1323,-33.33072 -13.6211,-49.48749 -4.5966,-12.71726 -9.3908,-25.46798 -16.5487,-36.62423 -8.2626,-12.91413 -13.2192,-27.92799 -7.4933,-43.22144 2.7035,-18.14405 7.7047,-35.78277 10.4398,-53.93215 7.4171,-11.14202 -5.8674,-36.22176 5.2186,-41.10752 -2.3197,22.42403 5.0015,2.60799 11.9276,11.6082 7.0053,-5.59071 5.4872,1.85751 8.2299,3.91882 5.932,-16.05448 9.7357,-3.85379 2.8631,5.00313 -9.8818,12.56195 -16.6266,32.14007 -15.296,48.89211 -1.4747,7.65925 1.4117,26.30935 3.6016,7.87451 2.6364,-8.08828 3.9759,7.07011 6.1598,7.5432 -13.0443,13.63184 20.3862,-2.18868 6.6467,10.94557 -3.039,8.74305 -19.6494,14.16534 -10.5833,23.66988 9.7308,11.67224 15.9374,26.7058 28.0739,36.1503 4.168,-0.62987 17.2037,-10.21636 14.9916,-15.40038 -3.7473,-12.40615 -10.4687,-27.14869 3.4638,-38.99508 11.3759,-6.02073 27.7425,-16.02154 38.4941,-5.54071 3.1119,16.39526 10.7156,33.21291 6.8445,50.16753 -1.9278,7.23379 -10.0675,25.98563 4.5899,18.54624 16.5134,-6.70982 20.1994,-21.1921 21.762,-37.42171 2.7436,-15.10347 11.0587,-31.98909 2.3918,-46.56641 -5.3185,-7.59752 -4.9737,-18.57102 2.3855,-6.93359 4.5245,-4.57537 5.5908,-33.1298 8.0527,-13.59432 1.503,4.2079 6.7245,-11.21855 7.2771,2.5917 12.0837,11.81526 0.4373,26.77552 1.5752,40.85819 -0.014,7.78552 -4.7837,31.21381 7.5539,16.0691 11.9958,-9.6748 14.597,-25.80379 23.3684,-37.95453 8.3733,-15.34917 16.6062,-32.68858 15.9268,-50.43155 1.9069,-10.49015 -7.0382,-31.20329 6.6909,-20.54154 -0.2582,-10.75897 20.2058,-15.99327 6.9602,-3.43085 -6.5561,15.27727 21.0159,-20.22468 11.6813,1.41398 -6.6548,5.39657 -5.312,15.53618 5.7754,2.9525 6.4909,1.94151 -10.0792,20.7174 -11.8877,28.74115 -11.2917,20.12314 -14.4477,43.50898 -22.3348,64.94192 -5.8098,15.78781 -13.6934,29.6345 -22.3551,43.97912 -9.5882,15.87913 -19.7814,31.59179 -31.1869,46.15679 -8.9458,10.99517 14.8617,1.14758 21.0201,6.78637 12.518,-7.87375 29.385,-1.07316 31.7442,13.9051 8.5354,6.87189 -2.959,27.20699 4.826,28.253 6.9599,-8.35669 30.6898,-10.22278 16.3911,-23.6599 -4.8799,-13.60995 -13.4899,-32.95924 2.9589,-42.5777 18.9802,-11.06226 29.1286,12.4481 34.5443,24.513 -1.1144,6.3124 -10.9945,24.16482 1.2989,23.0916 11.9703,5.11124 17.1415,-2.56675 9.7766,-12.99185 -5.6125,-7.61373 -1.994,-15.69956 2.4401,-3.88548 5.3211,8.43408 -3.2996,-25.65986 4.9774,-6.97215 1.2142,-0.66102 4.7324,-10.09149 5.0899,1.39026 1.3293,10.43455 4.5795,7.41882 7.2281,0.22402 3.133,9.794 -0.6183,21.94637 3.857,31.04505 15.1548,17.0439 34.661,30.4834 46.3055,50.3897 2.0219,10.6027 -2.3476,23.8758 -9.9945,30.7373 -96.6193,-0.1457 -193.2469,0.4071 -289.8601,-0.5562 z m 273.9725,-30.6938 c -5.4576,-7.6635 -15.9194,-5.3671 -3.5491,0.3557 0.497,0.7237 3.5906,1.4873 3.5491,-0.3557 z m -137.0451,-21.3848 c 8.1886,-16.11829 -15.8898,-22.27477 -13.8783,-38.63465 -0.2795,-7.03902 -1.2234,-20.4328 -8.3873,-7.61676 -8.7788,6.78734 8.6785,17.01782 2.351,27.10748 1.7752,8.92004 -7.3166,21.13593 7.9872,20.12463 3.789,1.2155 9.1084,3.1197 11.9274,-0.9807 z"
+           style="fill:url(#radialGradient4248);fill-opacity:1" />
+      </g>
+    </g>
+    <g
+       id="g4200"
+       inkscape:label="Layer 1"
+       transform="matrix(0.88812969,0,0,0.75951536,146.19341,582.76899)"
+       style="fill:url(#radialGradient4258);fill-opacity:1;filter:url(#filter6781)">
+      <g
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="H:\new\rect2273.png"
+         style="fill:url(#radialGradient4256);fill-opacity:1"
+         transform="matrix(0.7844778,0,0,0.7844778,-1023.124,-443.46103)"
+         id="g4202">
+        <path
+           sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccsscccccccccccccccccccccccccc"
+           id="path4204"
+           d="m 1181.224,723.79257 c 17.8661,-5.1827 3.8156,-26.068 6.1451,-38.9613 -2.6811,-18.56792 -15.9987,-33.39896 -20.3878,-51.57126 -6.8606,-15.87369 -8.1323,-33.33072 -13.6211,-49.48749 -4.5966,-12.71726 -9.3908,-25.46798 -16.5487,-36.62423 -8.2626,-12.91413 -13.2192,-27.92799 -7.4933,-43.22144 2.7035,-18.14405 7.7047,-35.78277 10.4398,-53.93215 7.4171,-11.14202 -5.8674,-36.22176 5.2186,-41.10752 -2.3197,22.42403 5.0015,2.60799 11.9276,11.6082 7.0053,-5.59071 5.4872,1.85751 8.2299,3.91882 5.932,-16.05448 9.7357,-3.85379 2.8631,5.00313 -9.8818,12.56195 -16.6266,32.14007 -15.296,48.89211 -1.4747,7.65925 1.4117,26.30935 3.6016,7.87451 2.6364,-8.08828 3.9759,7.07011 6.1598,7.5432 -13.0443,13.63184 20.3862,-2.18868 6.6467,10.94557 -3.039,8.74305 -19.6494,14.16534 -10.5833,23.66988 9.7308,11.67224 15.9374,26.7058 28.0739,36.1503 4.168,-0.62987 17.2037,-10.21636 14.9916,-15.40038 -3.7473,-12.40615 -10.4687,-27.14869 3.4638,-38.99508 11.3759,-6.02073 27.7425,-16.02154 38.4941,-5.54071 3.1119,16.39526 10.7156,33.21291 6.8445,50.16753 -1.9278,7.23379 -10.0675,25.98563 4.5899,18.54624 16.5134,-6.70982 20.1994,-21.1921 21.762,-37.42171 2.7436,-15.10347 11.0587,-31.98909 2.3918,-46.56641 -5.3185,-7.59752 -4.9737,-18.57102 2.3855,-6.93359 4.5245,-4.57537 5.5908,-33.1298 8.0527,-13.59432 1.503,4.2079 6.7245,-11.21855 7.2771,2.5917 12.0837,11.81526 0.4373,26.77552 1.5752,40.85819 -0.014,7.78552 -4.7837,31.21381 7.5539,16.0691 11.9958,-9.6748 14.597,-25.80379 23.3684,-37.95453 8.3733,-15.34917 16.6062,-32.68858 15.9268,-50.43155 1.9069,-10.49015 -7.0382,-31.20329 6.6909,-20.54154 -0.2582,-10.75897 20.2058,-15.99327 6.9602,-3.43085 -6.5561,15.27727 21.0159,-20.22468 11.6813,1.41398 -6.6548,5.39657 -5.312,15.53618 5.7754,2.9525 6.4909,1.94151 -10.0792,20.7174 -11.8877,28.74115 -11.2917,20.12314 -14.4477,43.50898 -22.3348,64.94192 -5.8098,15.78781 -13.6934,29.6345 -22.3551,43.97912 -9.5882,15.87913 -19.7814,31.59179 -31.1869,46.15679 -8.9458,10.99517 14.8617,1.14758 21.0201,6.78637 12.518,-7.87375 29.385,-1.07316 31.7442,13.9051 8.5354,6.87189 -2.959,27.20699 4.826,28.253 6.9599,-8.35669 30.6898,-10.22278 16.3911,-23.6599 -4.8799,-13.60995 -13.4899,-32.95924 2.9589,-42.5777 18.9802,-11.06226 29.1286,12.4481 34.5443,24.513 -1.1144,6.3124 -10.9945,24.16482 1.2989,23.0916 11.9703,5.11124 17.1415,-2.56675 9.7766,-12.99185 -5.6125,-7.61373 -1.994,-15.69956 2.4401,-3.88548 5.3211,8.43408 -3.2996,-25.65986 4.9774,-6.97215 1.2142,-0.66102 4.7324,-10.09149 5.0899,1.39026 1.3293,10.43455 4.5795,7.41882 7.2281,0.22402 3.133,9.794 -0.6183,21.94637 3.857,31.04505 15.1548,17.0439 34.661,30.4834 46.3055,50.3897 2.0219,10.6027 -2.3476,23.8758 -9.9945,30.7373 -96.6193,-0.1457 -193.2469,0.4071 -289.8601,-0.5562 z m 273.9725,-30.6938 c -5.4576,-7.6635 -15.9194,-5.3671 -3.5491,0.3557 0.497,0.7237 3.5906,1.4873 3.5491,-0.3557 z m -137.0451,-21.3848 c 8.1886,-16.11829 -15.8898,-22.27477 -13.8783,-38.63465 -0.2795,-7.03902 -1.2234,-20.4328 -8.3873,-7.61676 -8.7788,6.78734 8.6785,17.01782 2.351,27.10748 1.7752,8.92004 -7.3166,21.13593 7.9872,20.12463 3.789,1.2155 9.1084,3.1197 11.9274,-0.9807 z"
+           style="fill:url(#radialGradient4254);fill-opacity:1" />
+      </g>
+    </g>
+    <g
+       id="g4206"
+       inkscape:label="Layer 1"
+       transform="matrix(-0.68430241,0,0,0.78803687,598.62179,591.5042)"
+       style="fill:url(#radialGradient4264);fill-opacity:1;filter:url(#filter6529)">
+      <g
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="H:\new\rect2273.png"
+         style="fill:url(#radialGradient4262);fill-opacity:1"
+         transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+         id="g4208">
+        <path
+           sodipodi:nodetypes="cccccccccccccccccccccccccccssccc"
+           id="path4210"
+           d="m 1326.7136,723.79257 c -17.8661,-5.1827 -3.8156,-26.068 -6.1451,-38.9613 2.6811,-18.56792 15.9987,-33.39896 20.3878,-51.57126 6.8606,-15.87369 6.0596,-29.18523 11.5484,-45.342 8.742,-12.02634 14.9181,-19.24974 18.6214,-31.78782 5.4989,-17.05962 9.7646,-28.6189 4.0387,-43.91235 -2.7035,-18.14405 -7.7047,-35.78277 -10.4398,-53.93215 -7.4171,-11.14202 5.8674,-36.22176 -5.2186,-41.10752 2.3197,22.42403 -5.0015,2.60799 -11.9276,11.6082 -7.0053,-5.59071 -5.4872,1.85751 -8.2299,3.91882 -5.932,-16.05448 -9.7357,-3.85379 -2.8631,5.00313 9.8818,12.56195 16.6266,32.14007 15.296,48.89211 3.6034,32.14781 4.038,28.50478 -5.8248,50.03316 -9.7308,11.67224 -15.2465,26.01488 -27.383,35.45938 -4.168,-0.62987 -35.1675,23.6385 -12.2279,-23.00045 3.7473,-12.40615 10.4687,-27.14869 -3.4638,-38.99508 -11.3759,-6.02073 -27.7425,-16.02154 -38.4941,-5.54071 -3.1119,16.39526 -10.7156,33.21291 -6.8445,50.16753 1.9278,7.23379 10.0675,25.98563 -4.5899,18.54624 -22.93,-21.01361 -16.6495,-14.53032 -50.9982,-44.99704 -11.9958,-9.6748 -14.597,-25.80379 -23.3684,-37.95453 -8.3733,-15.34917 -16.6062,-32.68858 -15.9268,-50.43155 -1.9069,-10.49015 7.0382,-31.20329 -6.6909,-20.54154 0.2582,-10.75897 -20.2058,-15.99327 -6.9602,-3.43085 6.5561,15.27727 -21.0159,-20.22468 -11.6813,1.41398 6.6548,5.39657 5.312,15.53618 -5.7754,2.9525 -6.4909,1.94151 10.0792,20.7174 11.8877,28.74115 11.2917,20.12314 14.4477,43.50898 22.3348,64.94192 5.8098,15.78781 13.6934,29.6345 22.3551,43.97912 9.5882,15.87913 19.7814,31.59179 31.1869,46.15679 11.6035,54.34138 -4.3092,81.97365 -15.4445,111.81778 32.5872,16.89142 6.6287,16.78124 122.841,7.87434 z"
+           style="fill:url(#radialGradient4260);fill-opacity:1" />
+      </g>
+    </g>
+    <g
+       id="g4212"
+       inkscape:label="Layer 1"
+       transform="matrix(-0.88812969,0,0,0.88812969,669.51278,580.25934)"
+       style="fill:url(#radialGradient4270);fill-opacity:1;filter:url(#filter6415)">
+      <g
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="H:\new\rect2273.png"
+         style="fill:url(#radialGradient4268);fill-opacity:1"
+         transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+         id="g4214">
+        <path
+           sodipodi:nodetypes="cccccccccccccccccccccccccccssccc"
+           id="path4216"
+           d="m 1326.7136,723.79257 c -17.8661,-5.1827 -3.8156,-26.068 -6.1451,-38.9613 2.6811,-18.56792 15.9987,-33.39896 20.3878,-51.57126 6.8606,-15.87369 6.0596,-29.18523 11.5484,-45.342 8.742,-12.02634 14.9181,-19.24974 18.6214,-31.78782 5.4989,-17.05962 9.7646,-28.6189 4.0387,-43.91235 -2.7035,-18.14405 -7.7047,-35.78277 -10.4398,-53.93215 -7.4171,-11.14202 5.8674,-36.22176 -5.2186,-41.10752 2.3197,22.42403 -5.0015,2.60799 -11.9276,11.6082 -7.0053,-5.59071 -5.4872,1.85751 -8.2299,3.91882 -5.932,-16.05448 -9.7357,-3.85379 -2.8631,5.00313 9.8818,12.56195 16.6266,32.14007 15.296,48.89211 3.6034,32.14781 4.038,28.50478 -5.8248,50.03316 -9.7308,11.67224 -15.2465,26.01488 -27.383,35.45938 -4.168,-0.62987 -35.1675,23.6385 -12.2279,-23.00045 3.7473,-12.40615 10.4687,-27.14869 -3.4638,-38.99508 -11.3759,-6.02073 -27.7425,-16.02154 -38.4941,-5.54071 -3.1119,16.39526 -10.7156,33.21291 -6.8445,50.16753 1.9278,7.23379 10.0675,25.98563 -4.5899,18.54624 -22.93,-21.01361 -16.6495,-14.53032 -50.9982,-44.99704 -11.9958,-9.6748 -14.597,-25.80379 -23.3684,-37.95453 -8.3733,-15.34917 -16.6062,-32.68858 -15.9268,-50.43155 -1.9069,-10.49015 7.0382,-31.20329 -6.6909,-20.54154 0.2582,-10.75897 -20.2058,-15.99327 -6.9602,-3.43085 6.5561,15.27727 -21.0159,-20.22468 -11.6813,1.41398 6.6548,5.39657 5.312,15.53618 -5.7754,2.9525 -6.4909,1.94151 10.0792,20.7174 11.8877,28.74115 11.2917,20.12314 14.4477,43.50898 22.3348,64.94192 5.8098,15.78781 13.6934,29.6345 22.3551,43.97912 9.5882,15.87913 19.7814,31.59179 31.1869,46.15679 11.6035,54.34138 -4.3092,81.97365 -15.4445,111.81778 32.5872,16.89142 6.6287,16.78124 122.841,7.87434 z"
+           style="fill:url(#radialGradient4266);fill-opacity:1" />
+      </g>
+    </g>
+    <g
+       id="g4218"
+       inkscape:label="Layer 1"
+       transform="matrix(0.91129181,0,0,0.93102658,947.10383,583.40541)"
+       style="fill:url(#radialGradient4276);fill-opacity:1;filter:url(#filter6693)">
+      <g
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="H:\new\rect2273.png"
+         style="fill:url(#radialGradient4274);fill-opacity:1"
+         transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+         id="g4220">
+        <path
+           sodipodi:nodetypes="cccccccccccccccccccccccccccssccc"
+           id="path4222"
+           d="m 1326.7136,723.79257 c -17.8661,-5.1827 -3.8156,-26.068 -6.1451,-38.9613 2.6811,-18.56792 15.9987,-33.39896 20.3878,-51.57126 6.8606,-15.87369 6.0596,-29.18523 11.5484,-45.342 8.742,-12.02634 14.9181,-19.24974 18.6214,-31.78782 5.4989,-17.05962 9.7646,-28.6189 4.0387,-43.91235 -2.7035,-18.14405 -7.7047,-35.78277 -10.4398,-53.93215 -7.4171,-11.14202 5.8674,-36.22176 -5.2186,-41.10752 2.3197,22.42403 -5.0015,2.60799 -11.9276,11.6082 -7.0053,-5.59071 -5.4872,1.85751 -8.2299,3.91882 -5.932,-16.05448 -9.7357,-3.85379 -2.8631,5.00313 9.8818,12.56195 16.6266,32.14007 15.296,48.89211 3.6034,32.14781 4.038,28.50478 -5.8248,50.03316 -9.7308,11.67224 -15.2465,26.01488 -27.383,35.45938 -4.168,-0.62987 -35.1675,23.6385 -12.2279,-23.00045 3.7473,-12.40615 10.4687,-27.14869 -3.4638,-38.99508 -11.3759,-6.02073 -27.7425,-16.02154 -38.4941,-5.54071 -3.1119,16.39526 -10.7156,33.21291 -6.8445,50.16753 1.9278,7.23379 10.0675,25.98563 -4.5899,18.54624 -22.93,-21.01361 -16.6495,-14.53032 -50.9982,-44.99704 -11.9958,-9.6748 -14.597,-25.80379 -23.3684,-37.95453 -8.3733,-15.34917 -16.6062,-32.68858 -15.9268,-50.43155 -1.9069,-10.49015 7.0382,-31.20329 -6.6909,-20.54154 0.2582,-10.75897 -20.2058,-15.99327 -6.9602,-3.43085 6.5561,15.27727 -21.0159,-20.22468 -11.6813,1.41398 6.6548,5.39657 5.312,15.53618 -5.7754,2.9525 -6.4909,1.94151 10.0792,20.7174 11.8877,28.74115 11.2917,20.12314 14.4477,43.50898 22.3348,64.94192 5.8098,15.78781 13.6934,29.6345 22.3551,43.97912 9.5882,15.87913 19.7814,31.59179 31.1869,46.15679 11.6035,54.34138 -4.3092,81.97365 -15.4445,111.81778 32.5872,16.89142 6.6287,16.78124 122.841,7.87434 z"
+           style="fill:url(#radialGradient4272);fill-opacity:1" />
+      </g>
+    </g>
+    <g
+       id="g4224"
+       inkscape:label="Layer 1"
+       transform="matrix(0.88812969,0,0,0.84311465,808.10889,574.72565)"
+       style="fill:url(#radialGradient4282);fill-opacity:1;filter:url(#filter6557)">
+      <g
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="H:\new\rect2273.png"
+         style="fill:url(#radialGradient4280);fill-opacity:1"
+         transform="matrix(0.7844778,0,0,0.7844778,-1023.124,-443.46103)"
+         id="g4226">
+        <path
+           sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccsscccccccccccccccccccccccccc"
+           id="path4228"
+           d="m 1181.224,723.79257 c 17.8661,-5.1827 3.8156,-26.068 6.1451,-38.9613 -2.6811,-18.56792 -15.9987,-33.39896 -20.3878,-51.57126 -6.8606,-15.87369 -8.1323,-33.33072 -13.6211,-49.48749 -4.5966,-12.71726 -9.3908,-25.46798 -16.5487,-36.62423 -8.2626,-12.91413 -13.2192,-27.92799 -7.4933,-43.22144 2.7035,-18.14405 7.7047,-35.78277 10.4398,-53.93215 7.4171,-11.14202 -5.8674,-36.22176 5.2186,-41.10752 -2.3197,22.42403 5.0015,2.60799 11.9276,11.6082 7.0053,-5.59071 5.4872,1.85751 8.2299,3.91882 5.932,-16.05448 9.7357,-3.85379 2.8631,5.00313 -9.8818,12.56195 -16.6266,32.14007 -15.296,48.89211 -1.4747,7.65925 1.4117,26.30935 3.6016,7.87451 2.6364,-8.08828 3.9759,7.07011 6.1598,7.5432 -13.0443,13.63184 20.3862,-2.18868 6.6467,10.94557 -3.039,8.74305 -19.6494,14.16534 -10.5833,23.66988 9.7308,11.67224 15.9374,26.7058 28.0739,36.1503 4.168,-0.62987 17.2037,-10.21636 14.9916,-15.40038 -3.7473,-12.40615 -10.4687,-27.14869 3.4638,-38.99508 11.3759,-6.02073 27.7425,-16.02154 38.4941,-5.54071 3.1119,16.39526 10.7156,33.21291 6.8445,50.16753 -1.9278,7.23379 -10.0675,25.98563 4.5899,18.54624 16.5134,-6.70982 20.1994,-21.1921 21.762,-37.42171 2.7436,-15.10347 11.0587,-31.98909 2.3918,-46.56641 -5.3185,-7.59752 -4.9737,-18.57102 2.3855,-6.93359 4.5245,-4.57537 5.5908,-33.1298 8.0527,-13.59432 1.503,4.2079 6.7245,-11.21855 7.2771,2.5917 12.0837,11.81526 0.4373,26.77552 1.5752,40.85819 -0.014,7.78552 -4.7837,31.21381 7.5539,16.0691 11.9958,-9.6748 14.597,-25.80379 23.3684,-37.95453 8.3733,-15.34917 16.6062,-32.68858 15.9268,-50.43155 1.9069,-10.49015 -7.0382,-31.20329 6.6909,-20.54154 -0.2582,-10.75897 20.2058,-15.99327 6.9602,-3.43085 -6.5561,15.27727 21.0159,-20.22468 11.6813,1.41398 -6.6548,5.39657 -5.312,15.53618 5.7754,2.9525 6.4909,1.94151 -10.0792,20.7174 -11.8877,28.74115 -11.2917,20.12314 -14.4477,43.50898 -22.3348,64.94192 -5.8098,15.78781 -13.6934,29.6345 -22.3551,43.97912 -9.5882,15.87913 -19.7814,31.59179 -31.1869,46.15679 -8.9458,10.99517 14.8617,1.14758 21.0201,6.78637 12.518,-7.87375 29.385,-1.07316 31.7442,13.9051 8.5354,6.87189 -2.959,27.20699 4.826,28.253 6.9599,-8.35669 30.6898,-10.22278 16.3911,-23.6599 -4.8799,-13.60995 -13.4899,-32.95924 2.9589,-42.5777 18.9802,-11.06226 29.1286,12.4481 34.5443,24.513 -1.1144,6.3124 -10.9945,24.16482 1.2989,23.0916 11.9703,5.11124 17.1415,-2.56675 9.7766,-12.99185 -5.6125,-7.61373 -1.994,-15.69956 2.4401,-3.88548 5.3211,8.43408 -3.2996,-25.65986 4.9774,-6.97215 1.2142,-0.66102 4.7324,-10.09149 5.0899,1.39026 1.3293,10.43455 4.5795,7.41882 7.2281,0.22402 3.133,9.794 -0.6183,21.94637 3.857,31.04505 15.1548,17.0439 34.661,30.4834 46.3055,50.3897 2.0219,10.6027 -2.3476,23.8758 -9.9945,30.7373 -96.6193,-0.1457 -193.2469,0.4071 -289.8601,-0.5562 z m 273.9725,-30.6938 c -5.4576,-7.6635 -15.9194,-5.3671 -3.5491,0.3557 0.497,0.7237 3.5906,1.4873 3.5491,-0.3557 z m -137.0451,-21.3848 c 8.1886,-16.11829 -15.8898,-22.27477 -13.8783,-38.63465 -0.2795,-7.03902 -1.2234,-20.4328 -8.3873,-7.61676 -8.7788,6.78734 8.6785,17.01782 2.351,27.10748 1.7752,8.92004 -7.3166,21.13593 7.9872,20.12463 3.789,1.2155 9.1084,3.1197 11.9274,-0.9807 z"
+           style="fill:url(#radialGradient4278);fill-opacity:1" />
+      </g>
+    </g>
+  </g>
+  <rect
+     style="fill:url(#linearGradient4292);fill-opacity:1;stroke:none"
+     id="rect4284"
+     width="1039.8888"
+     height="207.67305"
+     x="-17.822344"
+     y="598.43079" />
+  <rect
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     id="rect4298"
+     width="1039.8888"
+     height="145.90706"
+     x="-17.822344"
+     y="-35.971493" />
+</svg>
diff --git a/data/backgrounds/flying_notes.svg b/data/backgrounds/flying_notes.svg
new file mode 100644 (file)
index 0000000..95850a0
--- /dev/null
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1280"
+   height="800"
+   id="svg1901"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:docname="flying_notes.svg"
+   version="1.1">
+  <defs
+     id="defs1903">
+    <linearGradient
+       id="linearGradient3905">
+      <stop
+         style="stop-color:#ffe000;stop-opacity:1;"
+         offset="0"
+         id="stop3907" />
+      <stop
+         style="stop-color:#ff6900;stop-opacity:1;"
+         offset="1"
+         id="stop3909" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3752">
+      <stop
+         style="stop-color:#ffd231;stop-opacity:1;"
+         offset="0"
+         id="stop3754" />
+      <stop
+         style="stop-color:#ff7600;stop-opacity:1;"
+         offset="1"
+         id="stop3756" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3752"
+       id="linearGradient3760"
+       x1="927.14288"
+       y1="320.93362"
+       x2="158.57146"
+       y2="963.79077"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3905"
+       id="linearGradient3911"
+       x1="44.101855"
+       y1="118.35866"
+       x2="185.40168"
+       y2="118.35866"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3905-3">
+      <stop
+         style="stop-color:#ffe000;stop-opacity:1;"
+         offset="0"
+         id="stop3907-0" />
+      <stop
+         style="stop-color:#ff6900;stop-opacity:1;"
+         offset="1"
+         id="stop3909-7" />
+    </linearGradient>
+    <linearGradient
+       y2="159.76331"
+       x2="171.80338"
+       y1="84.621536"
+       x1="49.54118"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3928"
+       xlink:href="#linearGradient3905-3"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3905-0">
+      <stop
+         style="stop-color:#ffe000;stop-opacity:1;"
+         offset="0"
+         id="stop3907-7" />
+      <stop
+         style="stop-color:#ff6900;stop-opacity:1;"
+         offset="1"
+         id="stop3909-2" />
+    </linearGradient>
+    <linearGradient
+       y2="118.35866"
+       x2="185.40169"
+       y1="118.35866"
+       x1="44.101856"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3928-3"
+       xlink:href="#linearGradient3905-0"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3905-6">
+      <stop
+         style="stop-color:#ffe000;stop-opacity:1;"
+         offset="0"
+         id="stop3907-07" />
+      <stop
+         style="stop-color:#ff6900;stop-opacity:1;"
+         offset="1"
+         id="stop3909-3" />
+    </linearGradient>
+    <linearGradient
+       y2="69.003647"
+       x2="174.91753"
+       y1="129.32645"
+       x1="65.07016"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3928-6"
+       xlink:href="#linearGradient3905-6"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.7"
+     inkscape:cx="638.46604"
+     inkscape:cy="387.38216"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1480"
+     inkscape:window-height="843"
+     inkscape:window-x="145"
+     inkscape:window-y="129"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata1906">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Taso 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-252.36218)">
+    <rect
+       style="fill:url(#linearGradient3760);fill-rule:evenodd;stroke:#000000;stroke-width:0.99898540999999996;stroke-opacity:1;fill-opacity:1"
+       id="rect2982"
+       width="1279.001"
+       height="799.00104"
+       x="0.4994927"
+       y="252.86165" />
+    <g
+       id="layer1-2"
+       transform="matrix(2.3382286,-0.69794294,0.93580254,1.7439042,-717.83419,433.76858)">
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path2159"
+         d="m 218.57946,368.81594 c -18.68248,-12.87627 -30.13055,0.34948 -27.1493,16.99614 1.91308,10.68237 18.46167,20.61154 32.20704,1.42146 2.00075,-20.7316 4.62327,-41.56303 6.62403,-62.29463 21.12743,22.43771 14.38019,36.01294 10.01214,51.64531 8.98015,-4.45792 23.04606,-24.13948 7.67882,-51.89958 -7.27191,-12.29741 -6.58964,-3.61429 -13.63362,-28.14454 -2.48328,-0.49406 -4.96657,-0.98812 -7.44985,-1.48217 -2.96066,25.27836 -5.3286,48.47964 -8.28926,73.75801 z"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="layer1-2-2"
+       transform="matrix(1.3436196,-0.51378089,0.5377415,1.2837507,-18.62594,233.84302)">
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path2159-5"
+         d="m 274.83608,339.25503 c -2.60293,-19.66526 -16.1199,-18.06094 -23.94306,-5.48699 -5.02024,8.06884 -1.88104,24.53326 16.21736,20.46638 12.76226,-12.19178 25.90946,-24.07075 38.67172,-36.26252 -1.50336,27.33206 -12.73346,32.01542 -23.86773,39.47302 7.26251,2.56754 25.80779,-1.62261 33.36014,-28.9004 3.10018,-12.3656 -1.44171,-6.33658 8.68553,-26.47421 -1.03336,-1.82664 -2.06672,-3.65329 -3.10008,-5.47993 -15.8366,14.54935 -30.18726,28.11529 -46.02388,42.66465 z"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="layer1-8"
+       transform="matrix(0.29488438,0,0,0.26870123,329.38685,476.68223)">
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path5076"
+         d="m 409.12315,637.11709 c -136.80609,-1.54759 -166.4007,94.83508 -107.09079,162.34156 38.05994,43.3198 155.44807,37.88525 182.479,-93.09694 L 310.87414,255.27491 c -15.05728,5.40597 -30.11462,10.81199 -45.17188,16.21804 48.48825,125.67736 94.93261,239.9468 143.42089,365.62414 z"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="layer1-9"
+       transform="matrix(0.13446628,-0.04333757,0.03840384,0.11915808,614.91287,410.68409)">
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path5065"
+         d="m 374.44027,235.14714 c -28.09375,122.13341 -59.79626,271.36767 -87.88998,393.50115 -104.64634,-72.4596 -177.63194,-13.56495 -167.08109,69.36663 6.77066,53.21823 100.11352,110.19707 189.18223,23.31493 16.55572,-80.97898 46.36721,-214.48243 68.94394,-319.25223 l 164.99181,117.07957 c -16.83818,75.89794 -33.38271,151.30022 -51.511,230.1103 -104.64627,-72.4596 -177.70447,-13.58063 -167.15361,69.35096 6.77068,53.21822 100.12906,110.12465 189.19778,23.2425 L 614.20931,403.76291 c -0.67183,-0.17126 -1.34401,-0.33661 -2.01583,-0.50786 l 0.20729,-0.25911 C 597.91963,391.58023 388.86286,238.8239 374.44027,235.14714 z m 19.70186,90.42226 165.12136,119.30791 c -2.51106,11.12859 -4.94588,22.14141 -7.41055,33.16529 L 386.6383,360.23232 c 2.13232,-10.11484 5.70651,-25.87164 7.50383,-34.66292 z"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="layer1-9-3"
+       transform="matrix(0.1131453,0.01162684,-0.01073483,0.09623289,767.96953,369.75807)">
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path5065-4"
+         d="m 374.44027,235.14714 c -28.09375,122.13341 -59.79626,271.36767 -87.88998,393.50115 -104.64634,-72.4596 -177.63194,-13.56495 -167.08109,69.36663 6.77066,53.21823 100.11352,110.19707 189.18223,23.31493 16.55572,-80.97898 46.36721,-214.48243 68.94394,-319.25223 l 164.99181,117.07957 c -16.83818,75.89794 -33.38271,151.30022 -51.511,230.1103 -104.64627,-72.4596 -177.70447,-13.58063 -167.15361,69.35096 6.77068,53.21822 100.12906,110.12465 189.19778,23.2425 L 614.20931,403.76291 c -0.67183,-0.17126 -1.34401,-0.33661 -2.01583,-0.50786 l 0.20729,-0.25911 C 597.91963,391.58023 388.86286,238.8239 374.44027,235.14714 z m 19.70186,90.42226 165.12136,119.30791 c -2.51106,11.12859 -4.94588,22.14141 -7.41055,33.16529 L 386.6383,360.23232 c 2.13232,-10.11484 5.70651,-25.87164 7.50383,-34.66292 z"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="layer1-9-1"
+       transform="matrix(0.26823199,-0.02623845,0.02571071,0.21495865,143.91667,564.53479)">
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path5065-7"
+         d="m 374.44027,235.14714 c -28.09375,122.13341 -59.79626,271.36767 -87.88998,393.50115 -104.64634,-72.4596 -177.63194,-13.56495 -167.08109,69.36663 6.77066,53.21823 100.11352,110.19707 189.18223,23.31493 16.55572,-80.97898 46.36721,-214.48243 68.94394,-319.25223 l 164.99181,117.07957 c -16.83818,75.89794 -33.38271,151.30022 -51.511,230.1103 -104.64627,-72.4596 -177.70447,-13.58063 -167.15361,69.35096 6.77068,53.21822 100.12906,110.12465 189.19778,23.2425 L 614.20931,403.76291 c -0.67183,-0.17126 -1.34401,-0.33661 -2.01583,-0.50786 l 0.20729,-0.25911 C 597.91963,391.58023 388.86286,238.8239 374.44027,235.14714 z m 19.70186,90.42226 165.12136,119.30791 c -2.51106,11.12859 -4.94588,22.14141 -7.41055,33.16529 L 386.6383,360.23232 c 2.13232,-10.11484 5.70651,-25.87164 7.50383,-34.66292 z"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="layer1-8-4"
+       transform="matrix(0.27948313,0.24353958,-0.20359786,0.2762579,349.50348,551.9365)">
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path5076-6"
+         d="m 409.12315,637.11709 c -136.80609,-1.54759 -166.4007,94.83508 -107.09079,162.34156 38.05994,43.3198 155.44807,37.88525 182.479,-93.09694 L 310.87414,255.27491 c -15.05728,5.40597 -30.11462,10.81199 -45.17188,16.21804 48.48825,125.67736 94.93261,239.9468 143.42089,365.62414 z"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="layer1-2-2-4"
+       transform="matrix(0.5931245,-0.36389074,0.35328484,0.63766008,609.41289,278.9766)"
+       inkscape:transform-center-x="-18.913802">
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path2159-5-1"
+         d="m 274.83608,339.25503 c -2.60293,-19.66526 -16.1199,-18.06094 -23.94306,-5.48699 -5.02024,8.06884 -1.88104,24.53326 16.21736,20.46638 12.76226,-12.19178 25.90946,-24.07075 38.67172,-36.26252 -1.50336,27.33206 -12.73346,32.01542 -23.86773,39.47302 7.26251,2.56754 25.80779,-1.62261 33.36014,-28.9004 3.10018,-12.3656 -1.44171,-6.33658 8.68553,-26.47421 -1.03336,-1.82664 -2.06672,-3.65329 -3.10008,-5.47993 -15.8366,14.54935 -30.18726,28.11529 -46.02388,42.66465 z"
+         inkscape:connector-curvature="0" />
+    </g>
+    <path
+       sodipodi:type="star"
+       style="opacity:0.75;fill:url(#linearGradient3911);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="path3901"
+       sodipodi:sides="5"
+       sodipodi:cx="108.57143"
+       sodipodi:cy="117.14286"
+       sodipodi:r1="76.930923"
+       sodipodi:r2="33.122696"
+       sodipodi:arg1="1.3078016"
+       sodipodi:arg2="1.9361201"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 128.57143,191.42857 96.738286,148.07973 44.101855,159.11954 75.492075,115.44889 48.727041,68.800161 99.960403,85.159063 136.05513,45.288752 l 0.27374,53.781002 49.07281,22.007526 -51.06419,16.87958 z"
+       transform="matrix(1.5762822,0,0,1.4985441,934.58489,739.78374)"
+       inkscape:transform-center-x="32.644854"
+       inkscape:transform-center-y="8.0869362" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.66;fill:url(#linearGradient3928);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="path3901-1"
+       sodipodi:sides="5"
+       sodipodi:cx="108.57143"
+       sodipodi:cy="117.14286"
+       sodipodi:r1="76.930923"
+       sodipodi:r2="33.122696"
+       sodipodi:arg1="1.3078016"
+       sodipodi:arg2="1.9361201"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 128.57143,191.42857 96.738286,148.07973 44.101855,159.11954 75.492075,115.44889 48.727041,68.800161 99.960403,85.159063 136.05513,45.288752 l 0.27374,53.781002 49.07281,22.007526 -51.06419,16.87958 z"
+       transform="matrix(0.83148904,-0.64209313,0.56937377,0.73731991,740.51855,843.88193)"
+       inkscape:transform-center-x="25.559331"
+       inkscape:transform-center-y="21.208229" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.5;fill:url(#linearGradient3928-3);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="path3901-3"
+       sodipodi:sides="5"
+       sodipodi:cx="108.57143"
+       sodipodi:cy="117.14286"
+       sodipodi:r1="76.930923"
+       sodipodi:r2="33.122696"
+       sodipodi:arg1="1.3078016"
+       sodipodi:arg2="1.9361201"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 128.57143,191.42857 96.738286,148.07973 44.101855,159.11954 75.492075,115.44889 48.727041,68.800161 99.960403,85.159063 136.05513,45.288752 l 0.27374,53.781002 49.07281,22.007526 -51.06419,16.87958 z"
+       transform="matrix(0.32877262,-0.67772342,0.64542271,0.28213266,603.70917,891.6636)"
+       inkscape:transform-center-x="4.3202496"
+       inkscape:transform-center-y="21.691705" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.50000000000000000;fill:url(#linearGradient3928-6);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="path3901-5"
+       sodipodi:sides="5"
+       sodipodi:cx="108.57143"
+       sodipodi:cy="117.14286"
+       sodipodi:r1="76.930923"
+       sodipodi:r2="33.122696"
+       sodipodi:arg1="1.3078016"
+       sodipodi:arg2="1.9361201"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 128.57143,191.42857 96.738286,148.07973 44.101855,159.11954 75.492075,115.44889 48.727041,68.800161 99.960403,85.159063 136.05513,45.288752 l 0.27374,53.781002 49.07281,22.007526 -51.06419,16.87958 z"
+       transform="matrix(0.54504037,0,0,0.52100668,496.02709,800.69653)"
+       inkscape:transform-center-x="11.287802"
+       inkscape:transform-center-y="2.8116293" />
+    <path
+       style="fill:#000000;fill-opacity:1;stroke:none"
+       id="path2159-5-1-7"
+       d="m 966.42711,405.14573 c -6.56724,-8.28801 -12.32948,-4.04003 -12.48256,3.72757 -0.0982,4.98457 5.84045,11.67383 13.03145,5.1113 2.52317,-8.87834 5.30844,-17.71422 7.83161,-26.59255 6.77848,12.85151 2.90658,17.90823 -0.16342,24.20477 4.0331,-0.71891 11.3954,-7.4539 7.4067,-21.85438 -1.9565,-6.44389 -2.3927,-2.51371 -3.2494,-14.32895 -0.9731,-0.5639 -1.9462,-1.12781 -2.9194,-1.69172 -3.28929,10.75295 -6.16567,20.67099 -9.45498,31.42396 z"
+       inkscape:connector-curvature="0" />
+    <g
+       id="layer1-8-6"
+       transform="matrix(0.08874176,0.02606366,-0.01977386,0.06732619,1002.3805,301.2627)">
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path5076-5"
+         d="m 409.12315,637.11709 c -136.80609,-1.54759 -166.4007,94.83508 -107.09079,162.34156 38.05994,43.3198 155.44807,37.88525 182.479,-93.09694 L 310.87414,255.27491 c -15.05728,5.40597 -30.11462,10.81199 -45.17188,16.21804 48.48825,125.67736 94.93261,239.9468 143.42089,365.62414 z"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="layer1-8-6-5"
+       transform="matrix(0.07019619,0.06022383,-0.04569034,0.05325612,1069.5814,258.80887)">
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path5076-5-5"
+         d="m 409.12315,637.11709 c -136.80609,-1.54759 -166.4007,94.83508 -107.09079,162.34156 38.05994,43.3198 155.44807,37.88525 182.479,-93.09694 L 310.87414,255.27491 c -15.05728,5.40597 -30.11462,10.81199 -45.17188,16.21804 48.48825,125.67736 94.93261,239.9468 143.42089,365.62414 z"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+</svg>
diff --git a/data/backgrounds/guitar_bg.svg b/data/backgrounds/guitar_bg.svg
new file mode 100644 (file)
index 0000000..ebd9f0c
--- /dev/null
@@ -0,0 +1,331 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="guitar_bg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1026"
+     inkscape:window-width="1626"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.61522535"
+     inkscape:cx="416.18137"
+     inkscape:cy="566.15726"
+     inkscape:window-x="54"
+     inkscape:window-y="24"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient3893">
+      <stop
+         id="stop3895"
+         offset="0"
+         style="stop-color:#32e4ff;stop-opacity:1;" />
+      <stop
+         id="stop3897"
+         offset="1"
+         style="stop-color:#0000ff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3835">
+      <stop
+         style="stop-color:#3232ff;stop-opacity:1;"
+         offset="0"
+         id="stop3837" />
+      <stop
+         style="stop-color:#0000ff;stop-opacity:0;"
+         offset="1"
+         id="stop3839" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3819">
+      <stop
+         style="stop-color:#879fbe;stop-opacity:1;"
+         offset="0"
+         id="stop3821" />
+      <stop
+         style="stop-color:#1f2c66;stop-opacity:0;"
+         offset="1"
+         id="stop3823" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3941">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.27388534;"
+         offset="0"
+         id="stop3943" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3945" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3856">
+      <stop
+         style="stop-color:#101010;stop-opacity:1;"
+         offset="0"
+         id="stop3858" />
+      <stop
+         style="stop-color:#181818;stop-opacity:0.22929937;"
+         offset="1"
+         id="stop3860" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3819"
+       id="radialGradient3825"
+       cx="166.40443"
+       cy="669.5387"
+       fx="166.40443"
+       fy="669.5387"
+       r="532.3253"
+       gradientTransform="matrix(0.78201664,-0.74648279,0.29264917,0.30657977,-130.20775,573.81603)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       y2="449.80624"
+       x2="381.28015"
+       y1="684.16162"
+       x1="665.12128"
+       gradientTransform="matrix(0.336682,0,0,0.336682,-81.3739,-51.8729)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3484"
+       xlink:href="#linearGradient3751-2"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3751-2">
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0"
+         id="stop3753-4" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop3755-7" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective17"
+       inkscape:persp3d-origin="128 : 85.333333 : 1"
+       inkscape:vp_z="256 : 128 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 128 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <filter
+       inkscape:collect="always"
+       id="filter3798"
+       x="-0.40963855"
+       width="1.8192771"
+       y="-0.40963855"
+       height="1.8192771">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.97100936"
+         id="feGaussianBlur3800" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3835"
+       id="linearGradient3841"
+       x1="128.72675"
+       y1="140.27541"
+       x2="275.84305"
+       y2="381.63806"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       inkscape:collect="always"
+       id="filter3853"
+       x="-0.10079435"
+       width="1.2015887"
+       y="-0.083886182"
+       height="1.1677724">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="15.837691"
+         id="feGaussianBlur3855" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3869"
+       x="-0.11588358"
+       width="1.2317672"
+       y="-0.11544256"
+       height="1.2308851">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="6.5926282"
+         id="feGaussianBlur3871" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3893"
+       id="linearGradient3883"
+       gradientUnits="userSpaceOnUse"
+       x1="128.72675"
+       y1="140.27541"
+       x2="275.84305"
+       y2="381.63806" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3835"
+       id="linearGradient3891"
+       gradientUnits="userSpaceOnUse"
+       x1="128.72675"
+       y1="140.27541"
+       x2="275.84305"
+       y2="381.63806" />
+    <filter
+       inkscape:collect="always"
+       id="filter3928">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.7001047"
+         id="feGaussianBlur3930" />
+    </filter>
+  </defs>
+  <rect
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     id="rect3045"
+     width="1000"
+     height="800"
+     x="0"
+     y="0" />
+  <path
+     style="fill:url(#radialGradient3825);fill-opacity:1;stroke:none"
+     d="m 991.50663,629.33083 c -349.19022,2.16226 -664.78717,9.39214 -1051.647196,4.87626 L -19.505049,206.72145 993.13206,218.09939 z"
+     id="path3049"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ccccc" />
+  <path
+     style="fill:#000000;stroke:none"
+     d="m 328.61326,487.17719 c -4.61194,0.0867 -9.8807,2.94925 -15.3125,6.5 l -12.6875,4.28125 1.6875,2.96875 -3.4375,1.21875 -10.625,-1.4375 -8.0625,2 -6.875,2.875 -0.59375,4.03125 -4,0.28125 -4.59375,8.90625 -7.78125,8.34375 -7.75,11.21875 0,4.59375 c 5.26196,5.58425 11.64703,8.33074 18.0625,11.03125 l -1.6875,5.0625 -2.59375,4.59375 -1.71875,1.71875 -3.15625,5.75 -12.625,18.96875 -10.0625,3.71875 -11.78125,9.5 -20.40625,12.625 -6.625,1.71875 0.59375,3.46875 -4.59375,1.4375 0.84375,1.71875 -2.5625,0.84375 -3.1875,4.3125 0.875,4.03125 1.15625,0.28125 0.28125,6.03125 5.46875,9.5 8.03125,2.59375 4.875,-0.3125 -0.5625,-7.15625 -2.59375,-10.0625 4.03125,0.84375 1.15625,-2.875 3.15625,1.4375 4.875,-8.90625 5.1875,-3.15625 c 5.26231,-8.75861 18.76992,-10.91561 28.15625,-16.375 l 7.46875,-5.75 21.84375,-15.21875 49.125,-3.15625 c 0,0 -2.3547,2.16711 -3.75,6.875 -1.3953,4.7079 -1.71875,21.5625 -1.71875,21.5625 l -2.5625,6.59375 1.40625,2.875 -2,2.3125 0.59375,2.28125 -1.4375,3.1875 0.28125,3.71875 -0.59375,5.46875 8.625,1.4375 2.3125,-1.4375 7.46875,3.71875 14.9375,-0.28125 -2,-4.59375 -12.09375,-7.1875 0,-2.59375 -2,-2.5625 1.71875,-2.03125 -1.4375,-3.4375 8.34375,-38.5 c 0.94593,-7.73436 -0.20293,-11.31414 -2.3125,-12.9375 l -38.78125,-5.46875 -2.84375,-7.0625 3.40625,0.1875 10.65625,-21.84375 3.15625,16.65625 19.53125,10.0625 4.59375,2.875 11.78125,-0.875 -1.15625,-12.0625 -5.75,0.875 -7.46875,-0.59375 -11.78125,-9.1875 0.59375,-11.1875 2.59375,-2.3125 -1.75,-2.875 3.46875,-4.3125 -0.0937,-0.0937 2.46875,-2.9375 0.5625,5.5 1.34375,-3.65625 0.3125,4.625 3.25,-6.8125 0.59375,-10.03125 c -2.6929,-13.56437 -7.53912,-18.04891 -13.46875,-17.9375 z m -54.15625,42.5625 -1.75,10.90625 -5.15625,-4.3125 c 0.86201,-1.14935 6.90625,-6.59375 6.90625,-6.59375 z"
+     id="path4578"
+     inkscape:connector-curvature="0" />
+  <path
+     inkscape:connector-curvature="0"
+     style="fill:#000000"
+     d="m 264.91227,575.73428 c 0.071,-0.35846 0.36271,-0.52061 0.65112,-0.36203 0.0918,0.0502 0.20348,0.0816 0.24849,0.0692 0.0785,-0.0215 0.32619,-0.29475 0.35457,-0.39111 0.008,-0.0256 -0.0953,-0.51469 -0.2285,-1.08727 -0.3006,-1.29241 -0.54092,-2.49555 -0.75379,-3.77388 -0.33595,-2.01745 -0.66866,-4.72144 -0.71966,-5.84883 -0.1262,-2.78875 0.35456,-5.49842 1.39238,-7.84818 0.40581,-0.91888 1.38106,-2.64528 1.84559,-3.26728 1.47791,-1.97878 3.32708,-3.19784 6.1754,-4.0711 1.71848,-0.52684 4.53478,-1.03952 6.15466,-1.12035 2.99302,-0.14934 6.47781,0.10482 12.08871,0.88168 3.17233,0.43922 4.10123,0.53488 5.37859,0.55385 3.33447,0.0495 6.29701,-0.8781 9.69948,-3.03714 1.89151,-1.20028 6.10899,-3.77874 6.61197,-4.04244 4.39734,-2.30533 8.02695,-3.24677 10.95526,-2.84157 0.58397,0.0807 1.65442,0.346 2.16243,0.53573 0.95089,0.35509 1.7235,0.9342 2.15481,1.61518 0.16167,0.25519 0.20638,0.36455 0.28772,0.70381 0.093,0.38746 0.098,0.3978 0.14075,0.29302 0.0246,-0.0597 0.0411,-0.1222 0.037,-0.13879 -0.0239,-0.0983 0.0898,-0.0156 0.29352,0.21394 l 0.2332,0.26262 0.1372,-0.0689 c 0.33072,-0.16606 0.54038,-0.11427 0.67792,0.16743 0.0774,0.15869 0.0653,0.2962 -0.0622,0.70423 -0.12616,0.40347 -0.22011,0.52104 -0.47152,0.58982 -0.22715,0.0622 -0.36708,0.004 -0.45981,-0.19096 -0.1291,-0.27137 -0.29945,-0.28708 -0.6591,-0.0609 -0.0989,0.0622 -0.18579,0.11489 -0.19339,0.11723 -0.008,0.002 0.006,-0.0673 0.0296,-0.15472 l 0.0433,-0.15894 -0.15251,0.16754 c -0.35822,0.39342 -0.62378,0.52701 -1.9495,0.98072 -1.16116,0.39737 -2.15816,0.78781 -2.94334,1.15264 -0.31385,0.14583 -0.73401,0.33793 -0.93368,0.42688 -0.43533,0.19393 -0.64966,0.32921 -0.96181,0.60705 -0.45231,0.40257 -0.8087,0.87432 -1.22448,1.62089 -0.68513,1.23018 -1.04222,2.59874 -1.02273,3.91942 0.004,0.32462 0.0335,0.48667 0.18449,1.0429 0.20614,0.75914 0.30247,0.9498 0.73297,1.45025 0.31933,0.37125 0.65542,0.63797 1.09723,0.87082 0.41206,0.21714 1.15891,0.46287 1.29431,0.42581 0.0565,-0.0155 2.11893,-0.52207 4.58321,-1.12582 11.72507,-2.87267 19.45683,-4.78552 31.10332,-7.69504 2.09857,-0.52425 6.93401,-1.74656 10.28665,-2.60024 2.19001,-0.55765 6.85359,-1.77274 11.52783,-3.00354 l 2.26062,-0.59523 0.14436,-0.26524 c 0.19206,-0.3528 0.35845,-0.73019 0.50008,-1.1343 0.17397,-0.4964 0.34819,-0.79136 0.55667,-0.94173 0.40503,-0.29229 0.84329,-0.38471 1.62039,-0.34173 0.56882,0.0315 1.65524,0.0145 1.67845,-0.0263 0.0394,-0.0684 0.031,-0.5044 -0.0111,-0.58642 -0.026,-0.0508 -0.13502,-0.11567 -0.26232,-0.15594 -0.19072,-0.0604 -0.22492,-0.0883 -0.27376,-0.2226 -0.0616,-0.16966 -0.051,-0.54845 0.0294,-1.0461 0.0631,-0.39063 0.0854,-0.40591 0.72054,-0.49472 0.49271,-0.0689 0.71236,-0.0641 1.03508,0.0229 0.26987,0.0727 0.40144,0.17281 0.48782,0.37122 0.0869,0.19959 0.13089,0.74299 0.08,0.98826 -0.0491,0.23711 -0.23335,0.45494 -0.43001,0.50875 -0.1658,0.0453 -0.1672,0.0518 -0.10041,0.44296 0.0359,0.2099 0.0381,0.21268 0.17474,0.21771 0.56659,0.0208 2.23627,0.0419 2.24202,0.0283 0.004,-0.009 0.0114,-0.11812 0.0166,-0.24183 0.0116,-0.27668 -0.0599,-0.39162 -0.27167,-0.43675 -0.0825,-0.0176 -0.1797,-0.0546 -0.21595,-0.0823 -0.15591,-0.11902 -0.17315,-0.51121 -0.0529,-1.20695 l 0.0613,-0.35508 0.45235,-0.0964 c 0.77236,-0.16462 1.38557,-0.0831 1.63026,0.21694 0.12454,0.15273 0.13679,0.18814 0.17715,0.51252 0.0485,0.38952 0.0318,0.60927 -0.0595,0.78673 -0.0805,0.15614 -0.32129,0.35331 -0.43322,0.35457 -0.10604,8.3e-4 -0.11451,0.051 -0.0637,0.37353 l 0.0377,0.23911 1.11539,0.0379 c 0.61344,0.0209 1.12415,0.03 1.13492,0.0204 0.0454,-0.0402 0.0426,-0.46976 -0.003,-0.55168 -0.0276,-0.049 -0.11035,-0.10196 -0.18393,-0.11767 -0.21404,-0.0457 -0.32839,-0.13005 -0.36691,-0.27087 -0.0448,-0.16367 -0.0153,-0.69415 0.06,-1.07773 l 0.0577,-0.29453 0.28046,-0.0719 c 0.64121,-0.16425 0.97999,-0.17559 1.43101,-0.0477 0.21492,0.0609 0.28576,0.10471 0.38181,0.23587 0.10328,0.14113 0.12331,0.20329 0.16134,0.50131 0.0591,0.46349 -0.003,0.77059 -0.19625,0.96828 -0.10703,0.10958 -0.18401,0.1555 -0.27113,0.16157 -0.13446,0.009 -0.13597,0.0183 -0.0733,0.44214 l 0.0305,0.20605 1.19618,0.0554 c 0.65786,0.0305 1.19965,0.0463 1.2039,0.035 0.0314,-0.0823 0.013,-0.54163 -0.0241,-0.60554 -0.0254,-0.0437 -0.14638,-0.1099 -0.2689,-0.1472 -0.19089,-0.058 -0.23019,-0.0879 -0.27442,-0.20898 -0.06,-0.16417 -0.0465,-0.55215 0.0359,-1.03984 0.07,-0.41438 0.0824,-0.42326 0.71713,-0.5142 0.71044,-0.10184 1.23245,-0.007 1.44624,0.26357 0.0869,0.1099 0.11087,0.18538 0.15492,0.48831 0.0677,0.46647 0.0287,0.71367 -0.1471,0.93292 -0.10836,0.13508 -0.17148,0.17862 -0.28891,0.19911 -0.1691,0.0295 -0.1687,0.0276 -0.0962,0.48473 l 0.0391,0.24656 1.14827,0.0699 c 0.63157,0.0384 1.15619,0.0635 1.16582,0.0558 0.0246,-0.0198 0.0415,-0.62545 0.0197,-0.70848 -0.01,-0.0374 -0.0727,-0.0878 -0.13967,-0.11185 -0.34203,-0.12265 -0.40726,-0.16617 -0.44254,-0.29525 -0.0414,-0.15135 -0.0185,-0.59768 0.0548,-1.06462 l 0.0519,-0.33119 0.47446,-0.10272 c 0.50882,-0.11024 0.84274,-0.10991 1.25487,8.1e-4 0.24822,0.0668 0.36332,0.15589 0.45167,0.34972 0.0827,0.18141 0.14145,0.7397 0.099,0.94137 -0.0658,0.31282 -0.29664,0.57988 -0.50502,0.58431 -0.11298,0.002 -0.10891,-0.0257 -0.0738,0.51303 0.0112,0.17142 0.0263,0.31426 0.0334,0.31739 0.008,0.003 0.32115,0.003 0.69767,5.1e-4 0.37657,-0.002 0.90567,5.1e-4 1.17585,0.008 0.27011,0.007 0.49294,0.007 0.49506,-8.3e-4 0.0216,-0.0763 0.01,-0.52267 -0.0166,-0.61202 -0.0273,-0.0929 -0.0767,-0.12908 -0.25204,-0.18455 -0.36286,-0.11477 -0.39829,-0.25255 -0.28567,-1.11191 0.0717,-0.54686 0.0782,-0.55478 0.52116,-0.62713 0.15046,-0.0245 0.35241,-0.0578 0.44879,-0.0738 0.36895,-0.0613 0.96415,0.0591 1.14779,0.23232 0.12841,0.12114 0.21169,0.37997 0.24351,0.75688 0.0419,0.4952 -0.12807,0.84824 -0.45074,0.93652 l -0.16899,0.0462 0.055,0.38517 c 0.0303,0.21184 0.0624,0.38893 0.0716,0.39352 0.009,0.004 0.18366,0.0416 0.38787,0.0823 0.62379,0.12438 0.98687,0.26186 1.33464,0.50534 0.95873,0.67124 1.53448,1.61252 1.62513,2.65694 0.0159,0.18427 0.0249,0.45195 0.0199,0.59485 -0.0113,0.31438 -0.14146,0.99581 -0.25753,1.34737 -0.22429,0.67938 -0.71864,1.27856 -1.38784,1.68222 -0.66209,0.39932 -1.60961,0.76476 -2.08118,0.80254 -0.98595,0.0791 -2.15906,-0.17804 -2.82258,-0.61866 -0.1986,-0.1319 -0.52776,-0.44317 -0.86279,-0.81589 -0.41919,-0.46632 -0.84691,-0.61356 -1.4458,-0.49766 -0.39501,0.0764 -0.58681,0.16807 -2.88198,1.37683 -2.38208,1.25451 -3.85461,2.01 -5.0232,2.57702 -0.8092,0.3927 -0.88545,0.42203 -1.66446,0.64029 -0.58724,0.1645 -0.85455,0.22363 -0.95237,0.21059 -0.1003,-0.0134 -0.21882,-0.0993 -0.45141,-0.32675 -0.46309,-0.45301 -1.13964,-1.02674 -1.49888,-1.27108 -0.3919,-0.2666 -0.73995,-0.43305 -1.27451,-0.60956 -0.79366,-0.26211 -0.94903,-0.28279 -1.59396,-0.21213 -0.32051,0.0351 -0.74375,0.075 -0.94043,0.0887 -0.37248,0.0259 -2.17975,0.5254 -34.60073,9.56517 -2.77176,0.77284 -9.21739,2.56695 -14.32367,3.9869 -5.10627,1.41996 -10.45742,2.91253 -11.89149,3.31681 -1.43404,0.40428 -3.47384,0.97236 -4.53282,1.26242 l -1.92549,0.52735 -0.0185,0.11428 c -0.01,0.0629 -0.0711,0.18085 -0.13556,0.26221 -0.63283,0.79946 -0.71923,2.62181 -0.20022,4.22258 0.61162,1.88628 1.73469,3.23072 3.26753,3.91166 0.39632,0.17615 0.95232,0.25828 2.18531,0.32319 0.6959,0.0366 2.1257,0.016 2.79745,-0.0404 0.82509,-0.0693 1.28709,0.011 1.82584,0.31648 0.62056,0.35203 0.94952,0.8014 1.10976,1.51586 0.1496,0.66704 0.0572,1.15628 -0.355,1.87976 -0.14331,0.25171 -0.3595,0.56792 -0.48024,0.70273 -0.48789,0.54473 -1.88813,1.44011 -3.1499,2.01426 -0.60232,0.27407 -2.48175,0.78779 -3.19152,0.87238 -1.44453,0.17212 -2.31791,0.17556 -6.01779,0.0237 -0.2266,-0.009 -0.8281,-0.0921 -1.33667,-0.18395 -1.4107,-0.25483 -2.23675,-0.33051 -3.34244,-0.3062 -1.78229,0.0391 -3.41868,0.44982 -5.01539,1.25852 -1.10212,0.55821 -2.05544,1.23702 -3.14007,2.23586 -0.35788,0.32959 -0.81064,0.71997 -1.00609,0.86745 -0.46494,0.35085 -0.98389,0.77193 -2.39064,1.93979 -2.25058,1.8684 -3.35305,2.70792 -4.75028,3.61728 -2.56729,1.67089 -5.08147,2.76984 -7.67934,3.35661 -1.77774,0.40151 -2.97247,0.5669 -4.21322,0.58321 -2.30882,0.0303 -4.05216,-0.4225 -6.3925,-1.66034 -1.00125,-0.5296 -1.05189,-0.56426 -1.80496,-1.23662 -1.70735,-1.52446 -2.51837,-2.45552 -3.42333,-3.93014 -1.12503,-1.83323 -2.12461,-4.23349 -2.8174,-6.76546 -0.21152,-0.77304 -0.67216,-2.40999 -1.02364,-3.6377 l -0.63908,-2.23217 -0.29397,-0.0789 -0.29398,-0.0789 -0.11975,0.18727 c -0.132,0.20634 -0.24578,0.25931 -0.4593,0.21374 -0.24362,-0.0519 -0.34888,-0.19287 -0.46393,-0.62133 -0.0737,-0.27445 -0.0935,-0.42226 -0.0712,-0.53413 z"
+     id="path3250"
+     sodipodi:nodetypes="csssssssssssssssssssscccsssssscccssssssssssssscccssssssssssssssssssscccsssscccsssscccssssscccsssssssssscccsssscccsssssssssssssssscccssssssssssssssssssssssscccssssssssssssssssssssssssscccccssc" />
+  <g
+     id="g3873">
+    <path
+       sodipodi:nodetypes="ccccccccccccccc"
+       inkscape:connector-curvature="0"
+       id="path3830"
+       d="M 85.773653,-14.509381 110.11884,117.56622 -21.956757,93.221026 104.59118,138.17142 17.465985,240.3977 119.69226,153.27249 136.81622,201.49244 174.8009,438.61004 355.15225,353.63547 156.08067,150.66156 272.37306,172.09003 145.80159,127.13964 232.92679,24.936883 130.72404,112.06209 z"
+       style="fill:url(#linearGradient3841);stroke:none;fill-opacity:1;filter:url(#filter3853)" />
+    <path
+       transform="matrix(0.77069935,-0.20064204,0.20064204,0.77069935,-10.783852,70.628776)"
+       d="m 206.14358,80.732563 -51.41214,35.406577 51.41214,35.40657 -56.36906,-26.82094 -4.95692,62.22752 -4.95692,-62.22752 -56.369069,26.82094 51.412149,-35.40657 -51.412149,-35.406577 56.369069,26.820937 4.95692,-62.227511 4.95692,62.227511 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="3.7025504e-17"
+       sodipodi:arg1="-0.52359878"
+       sodipodi:r2="9.9138403"
+       sodipodi:r1="70.813148"
+       sodipodi:cy="116.13914"
+       sodipodi:cx="144.8176"
+       sodipodi:sides="6"
+       id="path3843"
+       style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter3869)"
+       sodipodi:type="star" />
+  </g>
+  <g
+     id="g3877"
+     transform="matrix(0.56401321,0.82576576,-0.82576576,0.56401321,517.83463,-60.061071)">
+    <path
+       style="fill:url(#linearGradient3883);fill-opacity:1.0;stroke:none;filter:url(#filter3853)"
+       d="M 85.773653,-14.509381 110.11884,117.56622 -21.956757,93.221026 104.59118,138.17142 17.465985,240.3977 119.69226,153.27249 136.81622,201.49244 174.8009,438.61004 355.15225,353.63547 156.08067,150.66156 272.37306,172.09003 145.80159,127.13964 232.92679,24.936883 130.72404,112.06209 z"
+       id="path3879"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccccccccccc" />
+    <path
+       sodipodi:type="star"
+       style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter3869)"
+       id="path3881"
+       sodipodi:sides="6"
+       sodipodi:cx="144.8176"
+       sodipodi:cy="116.13914"
+       sodipodi:r1="70.813148"
+       sodipodi:r2="9.9138403"
+       sodipodi:arg1="-0.52359878"
+       sodipodi:arg2="3.7025504e-17"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 206.14358,80.732563 -51.41214,35.406577 51.41214,35.40657 -56.36906,-26.82094 -4.95692,62.22752 -4.95692,-62.22752 -56.369069,26.82094 51.412149,-35.40657 -51.412149,-35.406577 56.369069,26.820937 4.95692,-62.227511 4.95692,62.227511 z"
+       transform="matrix(0.77069935,-0.20064204,0.20064204,0.77069935,-10.783852,70.628776)" />
+  </g>
+  <g
+     transform="matrix(0.66878841,0.7434528,-0.7434528,0.66878841,675.2038,-81.671637)"
+     id="g3885">
+    <path
+       sodipodi:nodetypes="ccccccccccccccc"
+       inkscape:connector-curvature="0"
+       id="path3887"
+       d="M 85.773653,-14.509381 110.11884,117.56622 -21.956757,93.221026 104.59118,138.17142 17.465985,240.3977 119.69226,153.27249 136.81622,201.49244 174.8009,438.61004 355.15225,353.63547 156.08067,150.66156 272.37306,172.09003 145.80159,127.13964 232.92679,24.936883 130.72404,112.06209 z"
+       style="fill:url(#linearGradient3891);fill-opacity:1;stroke:none;filter:url(#filter3853)" />
+    <path
+       transform="matrix(0.77069935,-0.20064204,0.20064204,0.77069935,-10.783852,70.628776)"
+       d="m 206.14358,80.732563 -51.41214,35.406577 51.41214,35.40657 -56.36906,-26.82094 -4.95692,62.22752 -4.95692,-62.22752 -56.369069,26.82094 51.412149,-35.40657 -51.412149,-35.406577 56.369069,26.820937 4.95692,-62.227511 4.95692,62.227511 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="3.7025504e-17"
+       sodipodi:arg1="-0.52359878"
+       sodipodi:r2="9.9138403"
+       sodipodi:r1="70.813148"
+       sodipodi:cy="116.13914"
+       sodipodi:cx="144.8176"
+       sodipodi:sides="6"
+       id="path3889"
+       style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter3869)"
+       sodipodi:type="star" />
+  </g>
+  <path
+     id="path3909"
+     style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3928)"
+     d="m 196.53816,617.25399 6.89608,-0.86201 23.27425,-14.9415 7.75809,-7.47075 10.34411,-3.44803 12.35547,-18.96421 m 62.92669,-29.59566 c -3.1607,-0.28734 -3.1607,-0.86201 -17.24018,8.62009 m -27.5714,3.20511 c -2.82349,1.46124 -5.03089,4.06574 -5.75964,8.00102 -1.43668,7.75808 -1.14934,8.04542 -1.14934,8.04542 m 59.76599,-29.59566 11.20612,8.90743 4.31005,1.14935 3.1607,-1.43669 1.43668,1.43669 4.02271,-2.01136 1.14935,0.57467 m 1.72402,0.86201 28.15897,-7.75808 1.43669,-2.87337 22.69958,0.57468 0,0 0,0 m -105.70025,-42.2813 12.67288,-3.94525 c 9.52652,-6.98529 21.01821,-8.04159 24.07848,2.73133 l 2.53459,6.67656 m -65.76049,1.47627 13.21748,-3.73537 8.62009,2.29869" />
+</svg>
diff --git a/data/backgrounds/singer_bg.svg b/data/backgrounds/singer_bg.svg
new file mode 100644 (file)
index 0000000..c96e712
--- /dev/null
@@ -0,0 +1,730 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="singer_bg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1026"
+     inkscape:window-width="1626"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.61522534"
+     inkscape:cx="550.44941"
+     inkscape:cy="498.29024"
+     inkscape:window-x="54"
+     inkscape:window-y="24"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient3845">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3847" />
+      <stop
+         id="stop3853"
+         offset="0.36726889"
+         style="stop-color:#ffffff;stop-opacity:0.33757961;" />
+      <stop
+         style="stop-color:#ababab;stop-opacity:0;"
+         offset="1"
+         id="stop3849" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3941">
+      <stop
+         style="stop-color:#22b7ff;stop-opacity:0.27388534;"
+         offset="0"
+         id="stop3943" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3945" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3856">
+      <stop
+         style="stop-color:#0f0f0f;stop-opacity:1;"
+         offset="0"
+         id="stop3858" />
+      <stop
+         style="stop-color:#181818;stop-opacity:0.22929937;"
+         offset="1"
+         id="stop3860" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4557">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4559" />
+      <stop
+         style="stop-color:#0300da;stop-opacity:1;"
+         offset="1"
+         id="stop4561" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3814"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9434139,0,0,0.35574295,80.767581,395.14908)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       id="linearGradient3629-3">
+      <stop
+         style="stop-color:#00cbff;stop-opacity:0;"
+         offset="0"
+         id="stop3631-1" />
+      <stop
+         style="stop-color:#0000ce;stop-opacity:1;"
+         offset="1"
+         id="stop3633-4" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3856"
+       id="linearGradient3862"
+       x1="505.71225"
+       y1="632.85657"
+       x2="505.71225"
+       y2="593.08313"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.0718184,0,-57.454753)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3930"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9434139,0,0,0.35574295,41.689817,426.18142)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3941"
+       id="linearGradient3947"
+       x1="489.6214"
+       y1="522.79633"
+       x2="489.6214"
+       y2="292.00479"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-1.149346,0)" />
+    <filter
+       inkscape:collect="always"
+       id="filter3838"
+       x="-0.1060241"
+       width="1.2120482"
+       y="-0.1060241"
+       height="1.2120482">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.5860944"
+         id="feGaussianBlur3840" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3845"
+       id="linearGradient3851"
+       x1="294.80725"
+       y1="129.35661"
+       x2="556.94904"
+       y2="397.24515"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       inkscape:collect="always"
+       id="filter3879"
+       x="-0.11566265"
+       width="1.2313253"
+       y="-0.11566265"
+       height="1.2313253">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.0030121"
+         id="feGaussianBlur3881" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3845"
+       id="linearGradient3891"
+       gradientUnits="userSpaceOnUse"
+       x1="294.80725"
+       y1="129.35661"
+       x2="556.94904"
+       y2="397.24515" />
+    <filter
+       inkscape:collect="always"
+       id="filter3917"
+       x="-0.10227577"
+       width="1.2045515"
+       y="-0.075312157"
+       height="1.1506243">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.3869056"
+         id="feGaussianBlur3919" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3845"
+       id="linearGradient3927"
+       gradientUnits="userSpaceOnUse"
+       x1="294.80725"
+       y1="129.35661"
+       x2="370.68124"
+       y2="184.80293" />
+    <filter
+       inkscape:collect="always"
+       id="filter3952">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.6061188"
+         id="feGaussianBlur3954" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3904">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.1384667"
+         id="feGaussianBlur3906" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3938">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.4949042"
+         id="feGaussianBlur3940" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3958"
+       x="-0.10076561"
+       width="1.2015312"
+       y="-0.093878103"
+       height="1.1877562">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.538841"
+         id="feGaussianBlur3960" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3966">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.517956"
+         id="feGaussianBlur3968" />
+    </filter>
+  </defs>
+  <rect
+     style="fill:#0e1e2c;fill-opacity:1;stroke:none"
+     id="rect3835"
+     width="1000"
+     height="800"
+     x="0"
+     y="0" />
+  <rect
+     style="fill:url(#linearGradient3862);fill-opacity:1;stroke:none"
+     id="rect3854"
+     width="1000"
+     height="222.98692"
+     x="-1.7215696e-23"
+     y="577.01306" />
+  <path
+     id="path3794"
+     d="m 237.50337,797.90249 9.7335,0 1.94667,-2.63393 -1.94667,-2.89733 0.97334,-3.16072 4.86668,1.58036 3.89334,3.9509 8.2735,1.05358 3.40668,1.84377 7.30009,1.84375 8.27341,7.37503 -0.48666,3.42413 -20.44026,8.42859 -9.73337,-2.37054 -1.46006,-1.84375 0,-2.10716 -2.43334,-1.84375 -4.86675,-0.79019 -3.40668,1.58036 -0.48667,1.84377 1.46,1.58036 2.92001,0.79018 1.94674,1.31697 -4.38008,1.05358 0.97334,2.63394 0,1.58036 2.92001,1.58036 1.46007,2.37054 5.84002,0.79019 4.86675,0.52679 10.22016,-3.95091 25.79361,-5.53127 5.84008,-3.16073 4.38002,-1.84377 0.97341,-4.2143 -1.94674,-2.10714 -4.86675,-7.11164 -6.32669,-6.58486 -6.81342,-4.74108 10.70677,-9.48219 12.16683,-14.22327 7.30009,-6.32145 12.16678,-8.16522 0.48667,-3.68752 6.32675,-3.16072 -9.73344,-4.7411 2.43335,-5.53126 -0.97334,-12.37952 -4.38001,-14.22328 -4.38008,-12.64292 -4.86668,-4.21429 -6.8135,-7.63844 -10.70677,-8.69199 -2.92,-5.53125 -2.92007,-3.95093 8.76015,-6.58484 15.57352,-3.42413 1.46001,-2.63395 -29.68703,0.52678 4.38001,-4.21429 -5.35335,-2.63393 -14.11351,-0.7902 -11.1935,5.2679 -3.89341,7.37501 -6.32668,6.32146 -7.78677,3.68751 -2.43334,4.21432 8.27336,0.26339 -5.35335,2.89733 10.70677,-1.84375 -7.78676,4.2143 5.84008,0.79018 4.38009,2.89733 7.30008,8.16522 17.03353,7.63842 3.40667,0.52679 -3.40667,1.58037 0.48667,4.47769 -3.40675,3.95091 2.92008,-0.26339 -5.35342,5.00448 0,5.00449 -3.40668,2.63393 0,3.42413 -7.30008,5.26788 -0.48674,4.4777 1.46007,3.6875 -3.40674,4.21431 -3.89335,3.42413 0,2.10714 -4.38008,0.26339 -3.89335,2.10716 -3.40674,5.26789 -7.78675,4.74108 -9.24678,1.84376 -5.84001,-2.63393 -14.11358,-2.37055 -11.19342,-3.16073 -5.35336,-3.68752 -9.24676,-0.52678 -29.20043,-6.84825 -15.08678,-2.89733 -12.16683,-5.00449 -2.92008,0.5268 0,1.58036 6.81343,2.89733 -13.14011,-1.84377 -1.46008,1.31699 2.92007,1.58035 -4.86675,0 -0.48666,1.58037 8.7601,1.05357 -6.81336,1.05358 0,1.84377 2.43334,0.26337 7.30009,-0.26337 5.84002,1.31695 3.89341,1.05358 -5.84008,2.63394 -1.46001,1.84376 0.97334,1.31697 5.35335,-0.52678 11.19357,-3.16073 1.45993,-1.58036 3.89342,0.52678 14.11351,4.21431 0.48666,2.89733 8.27343,2.37055 14.11351,3.95091 3.40669,-1.31698 -0.48668,1.84376 7.78676,3.95092 6.81342,1.05356 6.32676,3.95091 1.94666,1.31697 -6.32675,-2.37055 0.97334,2.63396 -4.86668,-1.31699 1.46001,3.95092 -6.81342,-3.42412 2.92,2.37054 -6.81335,-1.58035 5.84002,4.47768 -4.38002,-0.79017 1.94667,4.2143 -3.40667,-1.58036 4.86668,3.95091 -4.86668,-0.79019 4.38001,3.16073 -5.84002,0.26339 6.32669,2.10716 -3.89335,1.05356 4.38001,0.26341 -5.84002,2.89733 5.35336,-0.26339 -0.48667,1.84375 -0.48666,5.26787 2.92,-3.6875 3.40674,5.26788 -0.48666,-4.21431 1.94667,-0.2634 4.86675,0 5.35341,4.2143 5.35335,0 6.32676,2.89735 2.92007,-1.58036 7.30002,-2.63396 z"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.35443315px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     inkscape:connector-curvature="0" />
+  <path
+     style="fill:url(#linearGradient3947);fill-opacity:1;stroke:none"
+     d="m 0,1.204533 999.99995,0 0,290.839717 c 0,0 -165.53066,169.52275 -498.8851,167.80451 C 167.76041,458.13052 0,292.04425 0,292.04425 z"
+     id="rect3851"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ccczcc" />
+  <path
+     style="fill:none;stroke:#0e1e2c;stroke-width:1.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     d="m 665.01008,446.17873 46.30646,-20.02889 -66.66207,-25.28561 62.06469,-28.15898 -61.49001,-17.24019 56.31795,-29.30832 -54.01926,-24.71094 48.27253,-19.53888 -44.82449,-14.36682 39.65243,-10.91879"
+     id="path3824"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cccccccccc" />
+  <path
+     style="fill:none;stroke:#0e1e2c;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     d="m 652.69989,245.70252 40.22711,17.81486 -44.82449,19.53889 49.99655,25.86028 -51.1459,19.53888 56.89263,20.11356 -59.76599,27.5843 64.36338,21.2629 -64.36338,26.43496 46.77459,16.79299"
+     id="path3822"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cccccccccc" />
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+     x="-702.95752"
+     y="774.51685"
+     id="text2508"
+     transform="scale(-1,1)"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="-702.95752"
+       y="774.51685" /></text>
+  <path
+     inkscape:connector-curvature="0"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.48178115px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     d="m 237.50337,381.52588 9.7335,0 1.94667,4.86672 -1.94667,5.35339 0.97334,5.84007 4.86668,-2.92004 3.89334,-7.30008 8.2735,-1.9467 3.40668,-3.4067 7.30009,-3.40671 8.27341,-13.62682 -0.48666,-6.32675 -20.44026,-15.57351 -9.73337,4.38004 -1.46006,3.40671 0,3.89339 -2.43334,3.4067 -4.86675,1.46002 -3.40668,-2.92004 -0.48667,-3.40671 1.46,-2.92003 2.92001,-1.46001 1.94674,-2.43337 -4.38008,-1.94668 0.97334,-4.86673 0,-2.92004 2.92001,-2.92003 1.46007,-4.38005 5.84002,-1.46001 4.86675,-0.97336 10.22016,7.30009 25.79361,10.22013 5.84008,5.84006 4.38002,3.40671 0.97341,7.78676 -1.94674,3.89338 -4.86675,13.14015 -6.32669,12.16681 -6.81342,8.76011 10.70677,17.52021 12.16683,26.28031 7.30009,11.68013 12.16678,15.08686 0.48667,6.81341 6.32675,5.84006 -9.73344,8.76012 2.43335,10.22011 -0.97334,22.87361 -4.38001,26.28031 -4.38008,23.36029 -4.86668,7.78675 -6.8135,14.1135 -10.70677,16.06019 -2.92,10.22009 -2.92007,7.3001 8.76015,12.16681 15.57352,6.32674 1.46001,4.86677 -29.68703,-0.97335 4.38001,7.78674 -5.35335,4.86671 -14.11351,1.46005 -11.1935,-9.73348 -3.89341,-13.62679 -6.32668,-11.68016 -7.78677,-6.8134 -2.43334,-7.78678 8.27336,-0.48667 -5.35335,-5.3534 10.70677,3.40671 -7.78676,-7.78676 5.84008,-1.46002 4.38009,-5.35339 7.30008,-15.08685 17.03353,-14.1135 3.40667,-0.97334 -3.40667,-2.92004 0.48667,-8.27343 -3.40675,-7.30009 2.92008,0.48667 -5.35342,-9.24677 0,-9.24678 -3.40668,-4.86672 0,-6.32675 -7.30008,-9.73345 -0.48674,-8.27342 1.46007,-6.81342 -3.40674,-7.78676 -3.89335,-6.32675 0,-3.89337 -4.38008,-0.48667 -3.89335,-3.89338 -3.40674,-9.73345 -7.78675,-8.76011 -9.24678,-3.4067 -5.84001,4.86672 -14.11358,4.38006 -11.19342,5.84006 -5.35336,6.81342 -9.24676,0.97334 -29.20043,12.65348 -15.08678,5.35341 -12.16683,9.24677 -2.92008,-0.97335 0,-2.92003 6.81343,-5.35339 -13.14011,3.4067 -1.46008,-2.43337 2.92007,-2.92002 -4.86675,0 -0.48666,-2.92004 8.7601,-1.94669 -6.81336,-1.94669 0,-3.40671 2.43334,-0.48666 7.30009,0.48666 5.84002,-2.43336 3.89341,-1.94669 -5.84008,-4.86672 -1.46001,-3.40671 0.97334,-2.43337 5.35335,0.97336 11.19357,5.84006 1.45993,2.92003 3.89342,-0.97334 14.11351,-7.78675 0.48666,-5.3534 8.27343,-4.38006 14.11351,-7.30009 3.40669,2.43337 -0.48668,-3.40671 7.78676,-7.30009 6.81342,-1.94669 6.32676,-7.30008 1.94666,-2.43337 -6.32675,4.38006 0.97334,-4.86674 -4.86668,2.43337 1.46001,-7.30009 -6.81342,6.32675 2.92,-4.38005 -6.81335,2.92002 5.84002,-8.27342 -4.38002,1.46002 1.94667,-7.78676 -3.40667,2.92003 4.86668,-7.30009 -4.86668,1.46002 4.38001,-5.84006 -5.84002,-0.48668 6.32669,-3.89338 -3.89335,-1.94668 4.38001,-0.48668 -5.84002,-5.35339 5.35336,0.48666 -0.48667,-3.4067 -0.48666,-9.73344 2.92,6.81341 3.40674,-9.73346 -0.48666,7.78677 1.94667,0.48667 4.86675,0 5.35341,-7.78676 5.35335,0 6.32676,-5.3534 2.92007,2.92003 7.30002,4.86674 z"
+     id="path1939" />
+  <path
+     inkscape:connector-curvature="0"
+     style="fill:none;stroke:#ffffff;stroke-width:1.1479615;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     d="m 259.35454,332.97314 c 19.05488,-7.04315 26.9505,18.71977 23.01656,34.11165 -4.60372,18.01249 -6.01944,40.09818 2.27114,56.34332 5.94069,11.6406 33.41439,15.99883 33.06777,32.35914"
+     id="path3759"
+     sodipodi:nodetypes="cssc" />
+  <g
+     id="g3810"
+     transform="matrix(-1,0,0,1,969.91939,14.628786)">
+    <path
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path3802"
+       d="m 255.63227,421.10072 23.94009,-193.2488"
+       style="fill:#ffffff;fill-opacity:0;stroke:#0c1925;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path3804"
+       d="m 291.56239,428.98432 7.84224,-199.63461"
+       style="fill:#ffffff;fill-opacity:0;stroke:#0c1925;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path3806"
+       d="M 369.54361,440.60826 333.31034,228.77504"
+       style="fill:#ffffff;fill-opacity:0;stroke:#0c1925;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path3808"
+       d="M 327.73193,435.16928 319.51819,228.20037"
+       style="fill:#ffffff;fill-opacity:0;stroke:#0c1925;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  </g>
+  <rect
+     style="fill:#b2bfcb;fill-opacity:1;stroke:#0c1925;stroke-width:3.00820851;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter3917)"
+     id="rect3816"
+     width="56.011051"
+     height="76.064392"
+     x="278.86987"
+     y="126.95414"
+     transform="matrix(-1,0,0,1.2488274,969.91939,-35.887796)" />
+  <path
+     style="fill:none;stroke:#0c1925;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     d="m 637.7584,248.00121 33.33103,27.00963 -44.82449,24.71094 47.12318,29.883 -57.4673,24.13627 58.04198,34.48038 -68.38609,38.50309 39.36459,22.80664"
+     id="path3818"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cccccccc" />
+  <path
+     style="fill:none;stroke:#0c1925;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     d="m 618.99839,452.97321 57.2631,-29.12206 -62.06469,-40.22711 58.61665,-29.30832 -50.57122,-29.30832 47.69785,-25.28562 -38.50309,-26.43495 37.92842,-22.41225"
+     id="path3820"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cccccccc" />
+  <g
+     id="g3887"
+     transform="matrix(-1,0,0,1,911.87742,54.281223)">
+    <path
+       id="path3826"
+       d="m 267.6875,64.21875 8.59375,46.59375 -46.59375,-8.59375 44.625,15.875 -30.71875,36.03125 36.0625,-30.71875 15.84375,44.625 -6.78125,-36.75 171.03125,392.875 243.65625,-241.375 -398.0625,-157.90625 28.15625,5.1875 -44.65625,-15.875 30.75,-36.03125 -36.0625,30.71875 -15.84375,-44.65625 z"
+       style="fill:url(#linearGradient3891);fill-opacity:1;stroke:none;filter:url(#filter3838)"
+       inkscape:connector-curvature="0" />
+    <path
+       transform="matrix(0.54607407,0,0,0.54607407,127.8209,52.718563)"
+       sodipodi:type="star"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       id="path3828"
+       sodipodi:sides="6"
+       sodipodi:cx="281.58978"
+       sodipodi:cy="116.13913"
+       sodipodi:r1="53.737305"
+       sodipodi:r2="7.523222"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:arg2="-0.26179939"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 319.5878,78.141117 -30.73114,36.050863 44.63937,15.85539 -46.58653,-8.58852 8.58852,46.58653 -15.85539,-44.63938 -36.05086,30.73114 30.73114,-36.05086 -44.63938,-15.85539 46.58653,8.58852 -8.58851,-46.586531 15.85539,44.639381 z" />
+  </g>
+  <g
+     transform="matrix(-1,0,0,1,965.89668,13.47944)"
+     id="g3893">
+    <path
+       d="m 319.5878,78.141117 -30.73114,36.050863 44.63937,15.85539 -46.58653,-8.58852 8.58852,46.58653 -15.85539,-44.63938 -36.05086,30.73114 30.73114,-36.05086 -44.63938,-15.85539 46.58653,8.58852 -8.58851,-46.586531 15.85539,44.639381 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="-0.26179939"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:r2="7.523222"
+       sodipodi:r1="53.737305"
+       sodipodi:cy="116.13913"
+       sodipodi:cx="281.58978"
+       sodipodi:sides="6"
+       id="path3895"
+       style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter3879)"
+       sodipodi:type="star"
+       transform="matrix(0.88928636,0,0,0.88928636,82.321727,12.858187)" />
+    <path
+       transform="matrix(0.47964589,0,0,0.47964589,197.6723,60.433475)"
+       sodipodi:type="star"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       id="path3897"
+       sodipodi:sides="6"
+       sodipodi:cx="281.58978"
+       sodipodi:cy="116.13913"
+       sodipodi:r1="53.737305"
+       sodipodi:r2="7.523222"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:arg2="-0.26179939"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 319.5878,78.141117 -30.73114,36.050863 44.63937,15.85539 -46.58653,-8.58852 8.58852,46.58653 -15.85539,-44.63938 -36.05086,30.73114 30.73114,-36.05086 -44.63938,-15.85539 46.58653,8.58852 -8.58851,-46.586531 15.85539,44.639381 z" />
+  </g>
+  <g
+     transform="matrix(-1,0,0,1,1025.6627,14.628786)"
+     id="g3899">
+    <path
+       d="m 319.5878,78.141117 -30.73114,36.050863 44.63937,15.85539 -46.58653,-8.58852 8.58852,46.58653 -15.85539,-44.63938 -36.05086,30.73114 30.73114,-36.05086 -44.63938,-15.85539 46.58653,8.58852 -8.58851,-46.586531 15.85539,44.639381 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="-0.26179939"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:r2="7.523222"
+       sodipodi:r1="53.737305"
+       sodipodi:cy="116.13913"
+       sodipodi:cx="281.58978"
+       sodipodi:sides="6"
+       id="path3901"
+       style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter3879)"
+       sodipodi:type="star"
+       transform="matrix(0.88928636,0,0,0.88928636,82.321727,12.858187)" />
+    <path
+       transform="matrix(0.42428906,0,0,0.42428906,213.26021,66.862568)"
+       sodipodi:type="star"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       id="path3903"
+       sodipodi:sides="6"
+       sodipodi:cx="281.58978"
+       sodipodi:cy="116.13913"
+       sodipodi:r1="53.737305"
+       sodipodi:r2="7.523222"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:arg2="-0.26179939"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 319.5878,78.141117 -30.73114,36.050863 44.63937,15.85539 -46.58653,-8.58852 8.58852,46.58653 -15.85539,-44.63938 -36.05086,30.73114 30.73114,-36.05086 -44.63938,-15.85539 46.58653,8.58852 -8.58851,-46.586531 15.85539,44.639381 z" />
+  </g>
+  <g
+     transform="matrix(-1,0,0,1,1022.2146,53.131877)"
+     id="g3905">
+    <path
+       d="m 319.5878,78.141117 -30.73114,36.050863 44.63937,15.85539 -46.58653,-8.58852 8.58852,46.58653 -15.85539,-44.63938 -36.05086,30.73114 30.73114,-36.05086 -44.63938,-15.85539 46.58653,8.58852 -8.58851,-46.586531 15.85539,44.639381 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="-0.26179939"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:r2="7.523222"
+       sodipodi:r1="53.737305"
+       sodipodi:cy="116.13913"
+       sodipodi:cx="281.58978"
+       sodipodi:sides="6"
+       id="path3907"
+       style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter3879)"
+       sodipodi:type="star"
+       transform="matrix(0.88928636,0,0,0.88928636,82.321727,12.858187)" />
+    <path
+       transform="matrix(0.42428906,0,0,0.42428906,213.26021,66.862568)"
+       sodipodi:type="star"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       id="path3909"
+       sodipodi:sides="6"
+       sodipodi:cx="281.58978"
+       sodipodi:cy="116.13913"
+       sodipodi:r1="53.737305"
+       sodipodi:r2="7.523222"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:arg2="-0.26179939"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 319.5878,78.141117 -30.73114,36.050863 44.63937,15.85539 -46.58653,-8.58852 8.58852,46.58653 -15.85539,-44.63938 -36.05086,30.73114 30.73114,-36.05086 -44.63938,-15.85539 46.58653,8.58852 -8.58851,-46.586531 15.85539,44.639381 z" />
+  </g>
+  <g
+     id="g3883"
+     transform="matrix(-1,0,0,1,967.6207,96.232352)">
+    <path
+       transform="matrix(0.88928636,0,0,0.88928636,82.321727,12.858187)"
+       sodipodi:type="star"
+       style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter3879)"
+       id="path3857"
+       sodipodi:sides="6"
+       sodipodi:cx="281.58978"
+       sodipodi:cy="116.13913"
+       sodipodi:r1="53.737305"
+       sodipodi:r2="7.523222"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:arg2="-0.26179939"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 319.5878,78.141117 -30.73114,36.050863 44.63937,15.85539 -46.58653,-8.58852 8.58852,46.58653 -15.85539,-44.63938 -36.05086,30.73114 30.73114,-36.05086 -44.63938,-15.85539 46.58653,8.58852 -8.58851,-46.586531 15.85539,44.639381 z" />
+    <path
+       d="m 319.5878,78.141117 -30.73114,36.050863 44.63937,15.85539 -46.58653,-8.58852 8.58852,46.58653 -15.85539,-44.63938 -36.05086,30.73114 30.73114,-36.05086 -44.63938,-15.85539 46.58653,8.58852 -8.58851,-46.586531 15.85539,44.639381 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="-0.26179939"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:r2="7.523222"
+       sodipodi:r1="53.737305"
+       sodipodi:cy="116.13913"
+       sodipodi:cx="281.58978"
+       sodipodi:sides="6"
+       id="path3855"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       sodipodi:type="star"
+       transform="matrix(0.42428906,0,0,0.42428906,213.26021,66.862568)" />
+  </g>
+  <g
+     transform="matrix(-0.46697012,0.88427309,0.88427309,0.46697012,710.9342,-89.097404)"
+     id="g3921"
+     inkscape:transform-center-x="-108.58025"
+     inkscape:transform-center-y="198.20461">
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3927);fill-opacity:1;stroke:none;filter:url(#filter3838)"
+       d="m 267.6875,64.21875 8.59375,46.59375 -46.59375,-8.59375 44.625,15.875 -30.71875,36.03125 36.0625,-30.71875 15.84375,44.625 -6.78125,-36.75 171.03125,392.875 243.65625,-241.375 -398.0625,-157.90625 28.15625,5.1875 -44.65625,-15.875 30.75,-36.03125 -36.0625,30.71875 -15.84375,-44.65625 z"
+       id="path3923" />
+    <path
+       d="m 319.5878,78.141117 -30.73114,36.050863 44.63937,15.85539 -46.58653,-8.58852 8.58852,46.58653 -15.85539,-44.63938 -36.05086,30.73114 30.73114,-36.05086 -44.63938,-15.85539 46.58653,8.58852 -8.58851,-46.586531 15.85539,44.639381 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="-0.26179939"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:r2="7.523222"
+       sodipodi:r1="53.737305"
+       sodipodi:cy="116.13913"
+       sodipodi:cx="281.58978"
+       sodipodi:sides="6"
+       id="path3925"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       sodipodi:type="star"
+       transform="matrix(0.54607407,0,0,0.54607407,127.8209,52.718563)" />
+  </g>
+  <path
+     id="path3933"
+     style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3952)"
+     d="m 721.28044,383.28277 1.11747,-6.50168 -1.62542,-5.18103 1.72701,-4.87627 10.15888,-0.30476 7.61916,-4.77467 2.33654,-3.04767 m -105.44917,109.41113 4.46991,-5.28261 0,-8.93982 13.40972,-13.81607 18.28598,-38.60375 10.56524,-16.2542 -8.93982,-12.59701 -10.97159,-26.00673 0,-6.90804 10.97159,-9.34617 29.25758,-13.81608 4.4699,-3.65719 13.00337,1.21906 m -75.58206,214.55553 -2.84449,-42.26093 3.25084,-8.12711"
+     inkscape:connector-curvature="0"
+     transform="matrix(-1,0,0,1,969.91939,14.628786)" />
+  <g
+     id="g3912"
+     transform="matrix(0.92473919,0.5761673,-0.5761673,0.92473919,347.46333,-11.762828)">
+    <path
+       sodipodi:type="star"
+       style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter3904)"
+       id="path3914"
+       sodipodi:sides="6"
+       sodipodi:cx="102.4015"
+       sodipodi:cy="588.69531"
+       sodipodi:r1="71.4076"
+       sodipodi:r2="9.9970636"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:arg2="-0.26179939"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 152.8943,538.20251 -40.83638,47.90537 59.31802,21.06908 -61.90545,-11.41266 11.41265,61.90546 -21.069074,-59.31803 -47.905368,40.83638 40.836377,-47.90537 -59.318023,-21.06907 61.905453,11.41265 -11.412655,-61.90545 21.06908,59.31802 z"
+       transform="matrix(2.7837608,0,0,2.7837608,-187.53604,-1048.4662)" />
+    <path
+       transform="matrix(0.98545106,0,0,0.98545106,-3.3864181,10.190337)"
+       d="m 152.8943,538.20251 -40.83638,47.90537 59.31802,21.06908 -61.90545,-11.41266 11.41265,61.90546 -21.069074,-59.31803 -47.905368,40.83638 40.836377,-47.90537 -59.318023,-21.06907 61.905453,11.41265 -11.412655,-61.90545 21.06908,59.31802 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="-0.26179939"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:r2="9.9970636"
+       sodipodi:r1="71.4076"
+       sodipodi:cy="588.69531"
+       sodipodi:cx="102.4015"
+       sodipodi:sides="6"
+       id="path3916"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       sodipodi:type="star" />
+  </g>
+  <g
+     transform="matrix(0.92403252,0.38231387,-0.38231387,0.92403252,946.65622,-7.0688592)"
+     id="g3924">
+    <path
+       transform="matrix(2.7837608,0,0,2.7837608,-187.53604,-1048.4662)"
+       d="m 152.8943,538.20251 -40.83638,47.90537 59.31802,21.06908 -61.90545,-11.41266 11.41265,61.90546 -21.069074,-59.31803 -47.905368,40.83638 40.836377,-47.90537 -59.318023,-21.06907 61.905453,11.41265 -11.412655,-61.90545 21.06908,59.31802 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="-0.26179939"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:r2="9.9970636"
+       sodipodi:r1="71.4076"
+       sodipodi:cy="588.69531"
+       sodipodi:cx="102.4015"
+       sodipodi:sides="6"
+       id="path3926"
+       style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter3958)"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       id="path3928"
+       sodipodi:sides="6"
+       sodipodi:cx="102.4015"
+       sodipodi:cy="588.69531"
+       sodipodi:r1="71.4076"
+       sodipodi:r2="9.9970636"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:arg2="-0.26179939"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 152.8943,538.20251 -40.83638,47.90537 59.31802,21.06908 -61.90545,-11.41266 11.41265,61.90546 -21.069074,-59.31803 -47.905368,40.83638 40.836377,-47.90537 -59.318023,-21.06907 61.905453,11.41265 -11.412655,-61.90545 21.06908,59.31802 z"
+       transform="matrix(0.98545106,0,0,0.98545106,-3.3864181,10.190337)" />
+  </g>
+  <g
+     id="g3918"
+     transform="matrix(0.5511002,0.25418892,-0.25418892,0.5511002,642.44815,232.07792)">
+    <path
+       sodipodi:type="star"
+       style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter3938)"
+       id="path3920"
+       sodipodi:sides="6"
+       sodipodi:cx="102.4015"
+       sodipodi:cy="588.69531"
+       sodipodi:r1="71.4076"
+       sodipodi:r2="9.9970636"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:arg2="-0.26179939"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 152.8943,538.20251 -40.83638,47.90537 59.31802,21.06908 -61.90545,-11.41266 11.41265,61.90546 -21.069074,-59.31803 -47.905368,40.83638 40.836377,-47.90537 -59.318023,-21.06907 61.905453,11.41265 -11.412655,-61.90545 21.06908,59.31802 z"
+       transform="matrix(2.7837608,0,0,2.7837608,-187.53604,-1048.4662)" />
+    <path
+       transform="matrix(0.98545106,0,0,0.98545106,-3.3864181,10.190337)"
+       d="m 152.8943,538.20251 -40.83638,47.90537 59.31802,21.06908 -61.90545,-11.41266 11.41265,61.90546 -21.069074,-59.31803 -47.905368,40.83638 40.836377,-47.90537 -59.318023,-21.06907 61.905453,11.41265 -11.412655,-61.90545 21.06908,59.31802 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="-0.26179939"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:r2="9.9970636"
+       sodipodi:r1="71.4076"
+       sodipodi:cy="588.69531"
+       sodipodi:cx="102.4015"
+       sodipodi:sides="6"
+       id="path3922"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       sodipodi:type="star" />
+  </g>
+  <g
+     id="g3908"
+     transform="matrix(0.70503302,0.34610836,-0.34610836,0.70503302,480.1456,132.24373)">
+    <path
+       transform="matrix(2.7837608,0,0,2.7837608,-187.53604,-1048.4662)"
+       d="m 152.8943,538.20251 -40.83638,47.90537 59.31802,21.06908 -61.90545,-11.41266 11.41265,61.90546 -21.069074,-59.31803 -47.905368,40.83638 40.836377,-47.90537 -59.318023,-21.06907 61.905453,11.41265 -11.412655,-61.90545 21.06908,59.31802 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="-0.26179939"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:r2="9.9970636"
+       sodipodi:r1="71.4076"
+       sodipodi:cy="588.69531"
+       sodipodi:cx="102.4015"
+       sodipodi:sides="6"
+       id="path3881"
+       style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter3966)"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       id="path3879"
+       sodipodi:sides="6"
+       sodipodi:cx="102.4015"
+       sodipodi:cy="588.69531"
+       sodipodi:r1="71.4076"
+       sodipodi:r2="9.9970636"
+       sodipodi:arg1="-0.78539816"
+       sodipodi:arg2="-0.26179939"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 152.8943,538.20251 -40.83638,47.90537 59.31802,21.06908 -61.90545,-11.41266 11.41265,61.90546 -21.069074,-59.31803 -47.905368,40.83638 40.836377,-47.90537 -59.318023,-21.06907 61.905453,11.41265 -11.412655,-61.90545 21.06908,59.31802 z"
+       transform="matrix(0.98545106,0,0,0.98545106,-3.3864181,10.190337)" />
+  </g>
+</svg>
diff --git a/data/config/controllers.xml b/data/config/controllers.xml
new file mode 100644 (file)
index 0000000..23c0b2d
--- /dev/null
@@ -0,0 +1,482 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<controllers>
+       <joystick>
+               <controller type="guitar" name="GUITAR_GUITARHERO_OEM">
+                       <!-- Licensed by Sony Computer Entertainment Gamepad for PS(R)3 (13 buttons, 4 axes, 1 hats, 0 balls) -->
+                       <!-- Use this device in Rock Band mode instead, it works much better. -->
+                       <description>OEM wireless guitar in Guitar Hero I/II/III mode</description>
+                       <device regex="NO AUTODETECT" />
+                       <mapping>
+                               <button hw="7" map="green" />
+                               <button hw="2" map="red" />
+                               <button hw="3" map="yellow" />
+                               <button hw="1" map="blue" />
+                               <button hw="0" map="orange" />
+                               <button hw="6" map="godmode" />
+                               <button hw="8" map="cancel" />
+                               <button hw="9" map="start" />
+                               <button hw="10" map="up" />
+                               <button hw="11" map="down" />
+                               <button hw="5" map="moreup" /><!-- Red solo button -->
+                               <button hw="4" map="moredown" /><!-- Yellow solo button -->
+                               <axis hw="0" negative="left" /><!-- Blue solo button -->
+                               <axis hw="2" negative="right" /><!-- Orange solo button -->
+                               <axis hw="1" negative="whammy" />
+                               <axis hw="3" /><!-- Mic switch, gives varying negative and positive values depending on position -->
+                               <hat hw="0" up="pick_up" down="pick_down"/><!-- left = Green solo button _not_ pressed, right is unused -->
+                       </mapping>
+               </controller>
+               <controller type="guitar" name="GUITAR_GUITARHERO">
+                       <description>Guitar Hero 3 guitar</description>
+                       <device regex="Guitar Hero3" />
+                       <mapping>
+                               <button hw="0" map="yellow" />
+                               <button hw="1" map="green" />
+                               <button hw="2" map="red" />
+                               <button hw="3" map="blue" />
+                               <button hw="4" map="orange" />
+                               <button hw="5" map="godmode" />
+                               <button hw="8" map="cancel" />
+                               <button hw="9" map="start" />
+                               <button hw="12" map="godmode" /><!-- PS3 GH3 Les Paul has no button 5, use the PS button -->
+                               <axis hw="2" positive="whammy" />
+                               <axis hw="3" /><!-- This is the GH:WT solo frets, values roughly: G: -.8, R: -.3, Y: .1, B: .5, O: 1 - Falls back to 0 when idle. -->
+                               <axis hw="4" negative="left" positive="right" />
+                               <axis hw="5" negative="pick_up" positive="pick_down" />
+                               <hat hw="0" up="pick_up" down="pick_down" left="left" right="right" />
+                       </mapping>
+               </controller>
+               <controller type="guitar" name="GUITAR_GUITARHERO4_PS3">
+                       <!-- Bundled within a 1430:4734 RedOctane Guitar Hero4 hub
+                       Receiver details:
+                       idVendor           0x12ba Licensed by Sony Computer Entertainment America
+                       idProduct          0x0100 RedOctane Guitar for PlayStation(R)3
+                       bcdDevice            1.08
+                       iManufacturer           1 Licensed by Sony Computer Entertainment
+                       iProduct                2 Guitar Hero4 for PlayStation (R) 3
+                       -->
+                       <description>Guitar Hero 4 guitar for PS3</description>
+                       <device regex="Licensed by Sony Computer Entertainment Guitar Hero4 for PlayStation \(R\) 3" />
+                       <mapping>
+                               <button hw="0" map="yellow" />
+                               <button hw="1" map="green" />
+                               <button hw="2" map="red" />
+                               <button hw="3" map="blue" />
+                               <button hw="4" map="orange" />
+                               <button hw="8" map="godmode" />
+                               <button hw="12" map="start" />
+                               <axis hw="2" positive="whammy" />
+                               <axis hw="3" /><!-- This is the GH:WT solo frets, values roughly: G: -.8, R: -.3, Y: .1, B: .5, O: 1 - Falls back to 0 when idle. -->
+                               <hat hw="0" up="pick_up" down="pick_down" left="left" right="right" />
+                       </mapping>
+               </controller>
+               <controller type="guitar" name="GUITAR_GUITARHERO5">
+                       <description>Guitar Hero 5/Band Hero/Warriors of Rock guitar</description>
+                       <device regex="Entertainment Guitar Hero5|GuitarHero for Playstation" />
+                       <mapping>
+                               <button hw="0" map="yellow" />
+                               <button hw="1" map="green" />
+                               <button hw="2" map="red" />
+                               <button hw="3" map="blue" />
+                               <button hw="4" map="orange" />
+                               <button hw="8" map="cancel" />
+                               <button hw="9" map="start" />
+                               <axis hw="2" positive="whammy" />
+                               <axis hw="4" negative="left" positive="right" />
+                               <axis hw="5" negative="up" positive="down" />
+                               <hat hw="0" up="pick_up" down="pick_down" />
+                       </mapping>
+               </controller>
+               <controller type="guitar" name="GUITAR_GUITARHERO_XPLORER">
+                       <description>Guitar Hero X-plorer guitar</description>
+                       <device regex="Guitar Hero X-plorer" />
+                       <mapping> 
+                               <button hw="0" map="green" />
+                               <button hw="1" map="red" />
+                               <button hw="2" map="blue" />
+                               <button hw="3" map="yellow" />
+                               <button hw="4" map="orange" />
+                               <button hw="6" map="cancel" />
+                               <button hw="7" map="start" />
+                               <hat hw="0" up="pick_up" down="pick_down" />
+                               <axis hw="1" negative="pick_up" positive="pick_down"/>
+                               <axis hw="2" map="whammy" />
+                               <axis hw="3" map="godmode"/>
+                               <!--<axis hw="4" negative="left" positive="right" />-->
+                               <!--<axis hw="5" negative="up" positive="down" />-->
+                       </mapping>
+               </controller>
+               <controller type="guitar" name="GUITAR_ROCKBAND_XBOX360">
+                       <description>Rock Band guitar Xbox 360</description>
+                       <device regex="Harmonix Guitar .* Xbox|Harmonix Rock Band Guitar" />
+                       <mapping> 
+                               <button hw="0" map="green" />
+                               <button hw="1" map="red" />
+                               <button hw="2" map="blue" />
+                               <button hw="3" map="yellow" />
+                               <button hw="4" map="orange" />
+                               <button hw="6" map="cancel" />
+                               <button hw="7" map="start" />
+                               <axis hw="3" negative="godmode"/>
+                               <axis hw="4" map="whammy"/>
+                               <hat hw="0" up="pick_up" down="pick_down" left="left" right="right" />
+                       </mapping>
+               </controller>
+               <controller type="guitar" name="GUITAR_ROCKBAND_XBOXADAPTER">
+                       <description>Rock Band guitar Xbox with USB adapter</description>
+                       <device regex="Generic X-Box pad" />
+                       <mapping> 
+                               <button hw="0" map="green" />
+                               <button hw="1" map="red" />
+                               <button hw="2" map="blue" />
+                               <button hw="3" map="yellow" />
+                               <button hw="4" map="orange" />
+                               <button hw="10" map="cancel" />
+                               <button hw="6" map="start" />
+                               <axis hw="4" map="godmode" />
+                               <axis hw="3" map="whammy" />
+                               <hat hw="0" up="pick_up" down="pick_down" left="left" right="right" />
+                       </mapping>
+               </controller>
+               <controller type="guitar" name="GUITAR_ROCKBAND_PS3">
+                       <!-- Licensed by Sony Computer Entertainment America Harmonix Guitar for PlayStation®3 (13 buttons, 4 axes, 1 hats, 0 balls) -->
+                       <description>Rock Band guitar PS3</description>
+                       <device regex="Harmonix Guitar .* PlayStation" />
+                       <mapping>
+                               <button hw="0" map="blue" />
+                               <button hw="1" map="green" />
+                               <button hw="2" map="red" />
+                               <button hw="3" map="yellow" />
+                               <button hw="4" map="orange" />
+                               <button hw="5" map="godmode" />
+                               <button hw="8" map="cancel" />
+                               <button hw="9" map="start" />
+                               <button hw="6" map="godmode" /><!-- This button is a modifier for the solo frets, doesn't exist by itself -->
+                               <button hw="12" /> <!-- PS button -->
+                               <axis hw="2" map="whammy" /><!-- -1 (fully released) to 1 (fully pressed) but resets to 0 after a while when fully released -->
+                               <axis hw="3" /><!-- Mic switch, values roughly -.9, -.4, .1, .4, .9; sends 0 after a short while -->
+                               <!-- My device does not use these events; please report a bug if yours does:
+                               <axis hw="1" negative="pick_up" positive="pick_down"/>
+                               -->
+                               <axis hw="4" negative="left" positive="right" />
+                               <axis hw="5" negative="pick_up" positive="pick_down" />
+                               <hat hw="0" up="pick_up" down="pick_down" left="left" right="right" />
+                       </mapping>
+               </controller>
+               <controller type="guitar" name="GUITAR_HAMA_PS2">
+                       <description>Hama Guitar for PS2 with converter</description>
+                       <device regex="PS  Converter" />
+                       <mapping>
+                               <button hw="0" map="yellow" />
+                               <button hw="1" map="red" />
+                               <button hw="2" map="blue" />
+                               <button hw="3" map="orange" />
+                               <button hw="4" map="godmode" />
+                               <button hw="5" map="green" />
+                               <button hw="8" map="cancel" />
+                               <button hw="9" map="start" />
+                               <axis hw="4" negative="left" positive="right" />
+                               <axis hw="5" negative="up" positive="down" />
+                       </mapping>
+               </controller>
+               <controller type="guitar" name="GUITAR_PS2">
+                       <description>Guitar Hero 2 with PS2/USB adaptor</description>
+                       <device regex="Twin USB Joystick.*" />
+                       <mapping>
+                               <button hw="0" map="yellow" />
+                               <button hw="1" map="red" />
+                               <button hw="2" map="blue" />
+                               <button hw="3" map="orange" />
+                               <button hw="5" map="green" />
+                               <button hw="8" map="godmode" />
+                               <button hw="8" map="cancel" />
+                               <button hw="9" map="start" />
+                               <axis hw="1" negative="up" positive="down" />
+                               <axis hw="1" negative="pick_up" positive="pick_down" />
+                       </mapping>
+               </controller>
+               <controller type="guitar" name="GUITAR_ROCKBAND_WII">
+                       <description>RockBand Wii guitar</description>
+                       <device regex="Harmonix Guitar Controller for Nintendo Wii" />
+                       <mapping>
+                               <button hw="0" map="blue" />
+                               <button hw="1" map="green" />
+                               <button hw="2" map="red" />
+                               <button hw="3" map="yellow" />
+                               <button hw="4" map="orange" />
+                               <button hw="5" map="godmode" />
+                               <button hw="8" map="cancel" />
+                               <button hw="9" map="start" />
+                               <button hw="6" map="godmode" />
+                               <button hw="12" />
+                               <axis hw="2" map="whammy" />
+                               <axis hw="3" />
+                               <axis hw="4" negative="left" positive="right" />
+                               <axis hw="5" negative="pick_up" positive="pick_down" />
+                               <hat hw="0" up="pick_up" down="pick_down" left="left" right="right" />
+                       </mapping>
+               </controller>
+               <!-- Not managed
+               <controller type="guitar" name="GUITAR_PRO_PS3">
+                       <description>Rock Band Pro Guitar for PS3</description>
+                       <device regex="Licensed by Sony Computer Entertainment America Harmonix RB3 Mustang Guitar for PlayStation" />
+                       <mapping>
+                       </mapping>
+               </controller>
+               -->
+               <controller type="drumkit" name="DRUMS_GUITARHERO">
+                       <description>Guitar Hero 4 drum kit</description>
+                       <!-- Needs to be chosen manually because the joystick name is identical with the guitar. Hat bindings not tested. -->
+                       <device regex="Guitar Hero4 NO-AUTODETECT" />
+                       <mapping>
+                               <button hw="0" map="blue" />
+                               <button hw="1" map="green" />
+                               <button hw="2" map="red" />
+                               <button hw="3" map="yellow" />
+                               <button hw="4" map="kick" />
+                               <button hw="5" map="green" />
+                               <button hw="8" map="cancel" />
+                               <button hw="9" map="start" />
+                               <axis hw="4" negative="left" positive="right" />
+                               <axis hw="5" negative="up" positive="down" />
+                               <hat hw="0" up="up" down="down" left="left" right="right" />
+                       </mapping>
+               </controller>
+               <controller type="drumkit" name="DRUMS_GUITARHERO5">
+                       <description>Guitar Hero 5/Band Hero drum kit</description>
+                       <device regex="Drum Guitar Hero5" />
+                       <mapping>
+                               <button hw="0" map="blue" />
+                               <button hw="1" map="green" />
+                               <button hw="2" map="red" />
+                               <button hw="3" map="yellow" />
+                               <button hw="4" map="kick" />
+                               <button hw="5" map="green" />
+                               <button hw="8" map="cancel" />
+                               <button hw="9" map="start" />
+                               <axis hw="4" negative="left" positive="right" />
+                               <axis hw="5" negative="up" positive="down" />
+                               <hat hw="0" up="up" down="down" left="left" right="right" />
+                       </mapping>
+               </controller>
+               <controller type="drumkit" name="DRUMS_ROCKBAND_WII">
+                       <description>RockBand Wii drum kit</description>
+                       <device regex="Harmonix Drum Controller for Nintendo Wii" />
+                       <mapping>
+                               <button hw="0" map="blue" />
+                               <button hw="1" map="green" />
+                               <button hw="2" map="red" />
+                               <button hw="3" map="yellow" />
+                               <button hw="4" map="kick" />
+                               <button hw="8" map="cancel" />
+                               <button hw="9" map="start" />
+                       </mapping>
+               </controller>
+               <controller type="drumkit" name="DRUMS_ROCKBAND_PS3">
+                       <description>RockBand PS3 drum kit</description>
+                       <device regex="Harmonix Drum [Kk]it for PlayStation" />
+                       <mapping>
+                               <button hw="0" map="blue" />
+                               <button hw="1" map="green" />
+                               <button hw="2" map="red" />
+                               <button hw="3" map="yellow" />
+                               <button hw="4" map="kick" />
+                               <button hw="8" map="cancel" />
+                               <button hw="9" map="start" />
+                               <button hw="12" /><!-- PS button -->
+                               <axis hw="4" negative="left" positive="right" />
+                               <axis hw="5" negative="up" positive="down" />
+                               <hat hw="0" up="up" down="down" left="left" right="right" />
+                       </mapping>
+               </controller>
+               <controller type="drumkit" name="DRUMS_ROCKBAND_XBOX360">
+                       <description>RockBand XBox drum kit</description>
+                       <device regex="Harmonix Drum [Kk]it for Xbox|Harmonix Rock Band Drumkit" />
+                       <mapping>
+                               <button hw="0" map="green" />
+                               <button hw="1" map="red" />
+                               <button hw="2" map="blue" />
+                               <button hw="3" map="yellow" />
+                               <button hw="4" map="kick" />
+                               <button hw="6" map="cancel" />
+                               <button hw="7" map="start" />
+                       </mapping>
+               </controller>
+               <controller type="dancepad" name="DANCEPAD_GENERIC">
+                       <description>Generic dancepad</description>
+                       <device regex="Dance mat|RedOctane USB Pad|Redoctane XBOX DDR|Positive Gaming Impact USB pad|WiseGroup\.,Ltd USB Deluxe Dance Mat" />
+                       <mapping>
+                               <button hw="0" map="left" />
+                               <button hw="1" map="down" />
+                               <button hw="2" map="up" />
+                               <button hw="3" map="right" />
+                               <button hw="4" map="up-left" />
+                               <button hw="5" map="up-right" />
+                               <button hw="6" map="down-left" />
+                               <button hw="7" map="down-right" />
+                               <button hw="8" map="start" />
+                               <button hw="9" map="cancel" />
+                       </mapping>
+               </controller>
+               <controller type="dancepad" name="DANCEPAD_TIGERGAME">
+                       <description>TigerGame dancepad</description>
+                       <device regex="TigerGame" />
+                       <mapping>
+                               <button hw="0" map="start" />
+                               <button hw="1" map="cancel" />
+                               <button hw="8" map="left" />
+                               <button hw="9" map="right" />
+                               <button hw="10" map="down" />
+                               <button hw="11" map="up" />
+                       </mapping>
+               </controller>
+               <controller type="dancepad" name="DANCEPAD_EMS2">
+                       <description>EMS PS2/PC dancepad adapter</description>
+                       <device regex="0b43:0003" />
+                       <mapping>
+                               <button hw="0" map="down-left" />
+                               <button hw="1" map="up-right" />
+                               <button hw="2" map="up-left" />
+                               <button hw="3" map="down-right" />
+                               <button hw="8" map="start" />
+                               <button hw="9" map="cancel" />
+                               <button hw="12" map="up" />
+                               <button hw="13" map="right" />
+                               <button hw="14" map="down" />
+                               <button hw="15" map="left" />
+                       </mapping>
+               </controller>
+               <controller type="dancepad" name="DANCEPAD_2TECH">
+                       <description>2-tech usb dancepad</description>
+                       <device regex="USB Gamepad" />
+                       <mapping>
+                               <button hw="0" map="left" />
+                               <button hw="1" map="down" />
+                               <button hw="2" map="up" />
+                               <button hw="3" map="right" />
+                               <button hw="4" map="up-left" />
+                               <button hw="5" map="up-right" />
+                               <button hw="6" map="down-left" />
+                               <button hw="7" map="down-right" />
+                               <button hw="8" map="cancel" />
+                               <button hw="9" map="start" />
+                       </mapping>
+               </controller>
+               <controller type="dancepad" name="DANCEPAD_THRUST">
+                       <description>Thrustmaster dancepad</description>
+                       <device regex="DDR2SET DDR2SET" />
+                       <mapping>
+                               <button hw="0" map="down" />
+                               <button hw="1" map="right" />
+                               <button hw="2" map="up-right" />
+                               <button hw="3" map="left" />
+                               <button hw="4" map="up" />
+                               <button hw="5" map="up-left" />
+                               <button hw="6" map="down-left" />
+                               <button hw="7" map="down-right" />
+                               <button hw="8" map="start" />
+                               <button hw="9" map="cancel" />
+                       </mapping>
+               </controller>
+               <controller type="dancepad" name="DANCEPAD_HONEYBEE">
+                       <description>Konami Xbox360 dancepad</description>
+                       <device regex="Honey Bee Xbox360 dancepad" />
+                       <mapping>
+                               <button hw="0" map="up-right" />
+                               <button hw="1" map="up-left" />
+                               <button hw="2" map="down-right" />
+                               <button hw="3" map="down-left" />
+                               <button hw="6" map="cancel" />
+                               <button hw="7" map="start" />
+                               <button hw="11" map="left" />
+                               <button hw="12" map="right" />
+                               <button hw="13" map="up" />
+                               <button hw="14" map="down" />
+                       </mapping>
+               </controller>
+               <controller type="keytar" name="KEYTAR_GENERIC">
+                       <description>Generic keytar</description>
+                       <device regex="NO MATCH" />
+                       <mapping>
+                               <button hw="0" map="C" />
+                               <button hw="1" map="D" />
+                               <button hw="2" map="E" />
+                               <button hw="3" map="F" />
+                               <button hw="4" map="G" />
+                               <button hw="5" map="godmode" />
+                               <axis hw="4" negative="left" positive="right" />
+                               <axis hw="5" negative="up" positive="down" />
+                       </mapping>
+               </controller>
+       </joystick>
+       <midi>
+               <controller type="piano" name="MIDI_PIANO">
+                       <description>Standard MIDI piano/keyboard</description>
+                       <major min="1" max="9" />
+               </controller>
+               <controller type="drumkit" name="MIDI_DRUMS">
+                       <description>Standard Midi drums</description>
+                       <!--
+                                PortMidi device name for USB-connected drum controllers Millenium MPS-600 and Alesis DM6 is
+                                "e-drum MIDI 1" (same name even if multiple devices are connected at the same time).
+                                Still, we don't want to filter by device here as filtering by channel should be enough.
+            -->
+                       <!-- Standard MIDI drum channels are 10 and 11. -->
+                       <channel min="10" max="11" />
+                       <mapping>
+                               <!-- Notes below 35 and above 81 are non-standardized but tested to work. -->
+                               <button hw="22" map="yellow-cymbal" name="Closed Hi-Hat Rim" /><!-- Closed Hi-Hat Rim on MPS-600 -->
+                               <button hw="23" map="yellow-cymbal" name="Half-Open Hi-Hat" /><!-- Half-Open Hi-Hat on MPS-600 -->
+                               <button hw="24" map="yellow-cymbal" name="Half-Open Hi-Hat Rim" /><!-- Half-Open Hi-Hat Rim on MPS-600 -->
+                               <button hw="26" map="yellow-cymbal" name="Open Hi-Hat Rim" /><!-- Open Hi-Hat Rim on MPS-600 -->
+                               <button hw="35" map="kick" name="Acoustic Bass Drum" />
+                               <button hw="36" map="kick" name="Bass Drum 1" /><!-- Kick on MPS-600 & DM6 -->
+                               <button hw="37" map="red" name="Side Stick" />
+                               <button hw="38" map="red" name="Acoustic Snare" /><!-- Snare on MPS-600 & DM6 -->
+                               <button hw="39" map="green-tom" name="Hand Clap" /><!-- Tom 4 Rim on MPS-600 -->
+                               <button hw="40" map="red" name="Electric Snare" /><!-- Snare Rim on MPS-600 & DM6 -->
+                               <button hw="41" map="green-tom" name="Low Floor Tom" /><!-- Tom 4 on MPS-600 -->
+                               <button hw="42" map="yellow-cymbal" name="Closed Hi-Hat" /><!-- Closed Hi-Hat on MPS-600 & DM6 -->
+                               <button hw="43" map="green-tom" name="High Floor Tom" /><!-- Tom 3 on MPS-600 & DM6 -->
+                               <button hw="44" map="" name="Pedal Hi-Hat" /><!-- Closing Hi-Hat (pedal press) on MPS-600 & DM6 -->
+                               <button hw="45" map="blue-tom" name="Low Tom" /><!-- Tom 2 on MPS-600 & DM6 -->
+                               <button hw="46" map="yellow-cymbal" name="Open Hi-Hat" /><!-- Open Hi-Hat on MPS-600 & DM6 -->
+                               <button hw="47" map="blue-tom" name="Low-Mid Tom" /><!-- Tom 2 Rim on MPS-600 -->
+                               <button hw="48" map="yellow-tom" name="Hi-Mid Tom" /><!-- Tom 1 on MPS-600 & DM6 -->
+                               <button hw="49" map="green-cymbal" name="Crash Cymbal 1" /><!-- Crash 1 on MPS-600 & DM6 -->
+                               <button hw="50" map="yellow-tom" name="High Tom" /><!-- Tom 1 Rim on MPS-600 -->
+                               <button hw="51" map="blue-cymbal" name="Ride Cymbal 1" /><!-- Ride on MPS-600 & DM6 -->
+                               <button hw="52" map="green-cymbal" name="Chinese Cymbal" /><!-- Crash 2 Rim on MPS-600 -->
+                               <button hw="53" map="" name="Ride Bell" />
+                               <button hw="54" map="" name="Tambourine" />
+                               <button hw="55" map="green-cymbal" name="Splash Cymbal" /><!-- Crash 1 Rim on MPS-600 -->
+                               <button hw="56" map="" name="Cowbell" />
+                               <button hw="57" map="green-cymbal" name="Crash Cymbal 2" /><!-- Crash 2 on MPS-600 -->
+                               <button hw="58" map="green-tom" name="Vibraslap" /><!-- Tom 3 Rim on MPS-600 -->
+                               <button hw="59" map="blue-cymbal" name="Ride Cymbal 2" /><!-- Ride Rim on MPS-600 -->
+                               <button hw="60" map="" name="Hi Bongo" />
+                               <button hw="61" map="" name="Low Bongo" />
+                               <button hw="62" map="" name="Mute Hi Conga" />
+                               <button hw="63" map="" name="Open Hi Conga" />
+                               <button hw="64" map="" name="Low Conga" />
+                               <button hw="65" map="" name="High Timbale" />
+                               <button hw="66" map="" name="Low Timbale" />
+                               <button hw="67" map="" name="High Agogo" />
+                               <button hw="68" map="" name="Low Agogo" />
+                               <button hw="69" map="" name="Cabasa" />
+                               <button hw="70" map="" name="Maracas" />
+                               <button hw="71" map="" name="Short Whistle" />
+                               <button hw="72" map="" name="Long Whistle" />
+                               <button hw="73" map="" name="Short Guiro" />
+                               <button hw="74" map="" name="Long Guiro" />
+                               <button hw="75" map="" name="Claves" />
+                               <button hw="76" map="" name="Hi Wood Block" />
+                               <button hw="77" map="" name="Low Wood Block" />
+                               <button hw="78" map="" name="Mute Cuica" />
+                               <button hw="79" map="" name="Open Cuica" />
+                               <button hw="80" map="" name="Mute Triangle" />
+                               <button hw="81" map="" name="Open Triangle" />
+                       </mapping>
+               </controller>
+       </midi>
+</controllers>
diff --git a/data/config/schema.xml b/data/config/schema.xml
new file mode 100644 (file)
index 0000000..31cdf04
--- /dev/null
@@ -0,0 +1,377 @@
+<?xml version="1.0"?>
+<!--
+DO NOT EDIT THIS FILE!
+This is a config schema with built-in defaults for Performous.
+
+System-wide settings go to /etc/xdg/performous/config.xml and user settings
+go to ~/.config/performous/config.xml but you should generally let Performous
+modify them instead of touching the XML yourself. Press Ctrl+S in config menu
+to save the current settings to XML.
+-->
+<performous>
+       <!-- Menu definitions.
+       All config entries with the same prefix as the menu entry are displayed in the menu,
+       except if they have attribute hidden="true". The options display in the same order
+       as they are specified here.
+       -->
+       <menu>
+               <entry name="game">
+                       <short>Game</short>
+                       <long>Gameplay related options</long>
+               </entry>
+               <entry name="graphic">
+                       <short>Graphic</short>
+                       <long>Configure rendering and video settings</long>
+               </entry>
+               <entry name="AudioDevices">
+                       <!-- Handled internally by Performous -->
+                       <short>Audio Devices</short>
+                       <long>Setup microphones and playback</long>
+               </entry>
+               <entry name="audio">
+                       <short>Audio</short>
+                       <long>Configure general audio settings</long>
+               </entry>
+               <entry name="Paths">
+                       <short>Paths</short>
+                       <long>Setup song and data paths</long>
+               </entry>
+       </menu>
+
+       <!-- Gameplay preferences -->
+       <entry name="game/karaoke_mode" type="int" value="0">
+               <limits>
+                       <enum>Off</enum>
+                       <enum>On - normal text</enum>
+                       <enum>On - centered text</enum>
+               </limits>
+               <short>Karaoke mode</short>
+               <long>Hide pitch wave, notes and scoring.</long>
+       </entry>
+       <entry name="game/Textstyle" type="int" value="0">
+               <limits>
+                       <enum>Western mode</enum>
+                       <enum>Asian mode</enum>
+               </limits>
+               <short>Lyric highlight style</short>
+               <long>Hide pitch wave, notes and scoring.</long>
+       </entry>
+       <entry name="game/autoplay" type="bool" value="false">
+               <short>Autoplay</short>
+               <long>Keep playing random songs after the playlist is empty.</long>
+       </entry>
+       <entry name="game/pitch" type="bool" value="true">
+               <short>Pitch waves</short>
+               <long>Enable singing pitch display (when not in karaoke mode).</long>
+       </entry>
+       <entry name="game/theme" type="int" value="-1">
+               <limits min="-1" max="-1" step="0" />
+               <!-- Enum options added dynamically by scanning theme folders -->
+               <short>Theme</short>
+               <long>Name of the theme to use.</long>
+       </entry>
+       <entry name="game/playlist_screen_timeout" type="int" value="15">
+               <limits min="0" max="60" step="5" />
+               <short>Playlist screen timeout</short>
+               <long>How long it will take before the next song in the playlist starts automatically.</long>
+       </entry>
+       <entry name="game/results_timeout" type="int" value="5">
+               <limits min="5" max="20" step="1" />
+               <short>Song results timeout</short>
+               <long>How long the scores will be displayed for after finishing a song.</long>
+       </entry>
+       <entry name="game/highscore_timeout" type="int" value="5">
+               <limits min="0" max="30" step="5" />
+               <short>High-score timeout</short>
+               <long>How long the high-scores screen will wait for input before going to the next song.</long>
+       </entry>        
+       <entry name="game/webserver_access" type="int" value="0">
+               <limits>
+                       <enum>Disabled</enum>
+                       <enum>Localhost </enum>
+                       <enum>All connections</enum>
+               </limits>
+               <short>Webserver access</short>
+               <long>Define if you want to control performous remotely with web interface (requires restart).</long>
+       </entry>
+       <entry name="game/case-sorting" type="bool" value="false">
+               <short>Case-sensitive sorting.</short>
+               <long>Make a difference between uppercase and lowercase letters when sorting.</long>
+       </entry>
+       <entry name="game/webserver_port" type="int" value="8000">
+               <!-- maximum of 16 bit is 65536, so 60000 should be a nice upper-limit -->
+               <limits min="0" max="60000" step="1" />
+               <short>Webserver port</short>
+               <long>Port to use for the web server. Choose one that is not used by other applications.</long>
+       </entry>
+       <entry name="game/webserver_fallback_port" type="int" value="8001">
+               <!-- maximum of 16 bit is 65536, so 60000 should be a nice upper-limit -->
+               <limits min="0" max="60000" step="1" />
+               <short>Webserver fallback port</short>
+               <long>Port to use in case original webserver port is in use. Choose one that you know for sure is not used by other applications.</long>
+       </entry>
+       <entry name="game/keyboard_guitar" type="bool" value="true">
+               <short>Keyboard as guitar</short>
+               <long>Enable keyboard as guitar (Frets on Fire mode).</long>
+       </entry>
+       <entry name="game/keyboard_drumkit" type="bool" value="true">
+               <short>Keyboard as drumkit</short>
+               <long>Enable keyboard as drumkit.</long>
+       </entry>
+       <entry name="game/drum_promode" type="bool" value="true">
+               <short>Drums use Pro mode</short>
+               <long>Drums use Pro mode (toms are not cymbals)</long>
+       </entry>
+       <entry name="game/keyboard_dancepad" type="bool" value="true">
+               <short>Keyboard as dance pad</short>
+               <long>Enable keyboard as dance pad.</long>
+       </entry>
+       <entry name="game/keyboard_keytar" type="bool" value="true">
+               <short>Keyboard as keytar</short>
+               <long>Enable keyboard as keytar.</long>
+       </entry>
+       <entry name="game/instrument0" type="int" value="0">
+               <limits>
+                       <enum>Auto</enum>
+                       <!-- Options added dynamically from controllers.xml -->
+               </limits>
+               <short>Force controller A's type</short>
+               <long>Override autodetection and force the first controller to the given type.</long>
+       </entry>
+       <entry name="game/instrument1" type="int" value="0">
+               <limits>
+                       <enum>Auto</enum>
+                       <!-- Options added dynamically from controllers.xml -->
+               </limits>
+               <short>Force controller B's type</short>
+               <long>Override autodetection and force the second controller to the given type.</long>
+       </entry>
+       <entry name="game/instrument2" type="int" value="0">
+               <limits>
+                       <enum>Auto</enum>
+                       <!-- Options added dynamically from controllers.xml -->
+               </limits>
+               <short>Force controller C's type</short>
+               <long>Override autodetection and force the third controller to the given type.</long>
+       </entry>
+       <entry name="game/instrument3" type="int" value="0">
+               <limits>
+                       <enum>Auto</enum>
+                       <!-- Options added dynamically from controllers.xml -->
+               </limits>
+               <short>Force controller D's type</short>
+               <long>Override autodetection and force the fourth controller to the given type.</long>
+       </entry>
+       <entry name="game/instruments" type="string_list">
+               <!-- Should be SDL_ID:{GUITAR_GUITARHERO|GUITAR_GUITARHERO_XPLORER|GUITAR_ROCKBAND_PS3|GUITAR_ROCKBAND_XB360|DRUMS_GUITARHERO|DRUMS_ROCKBAND_PS3|DRUMS_ROCKBAND_XB360|DRUMS_MIDI|DANCEPAD_GENERIC|DANCEPAD_TIGERGAME|DANCEPAD_2TECH}
+                    example:
+                       <stringvalue>0:GUITAR_GUITARHERO</stringvalue>
+               -->
+               <short>Joystick configuration</short>
+               <long>Force joystick to some kind of instrument.</long>
+       </entry>
+       <entry name="game/midi_input" type="string">
+               <short>Hardware MIDI input device</short>
+               <long>Regex for matching the MIDI devices to use. The default is to use all available devices.</long>
+               <stringvalue></stringvalue>
+       </entry>
+<!-- 
+       <entry name="game/fallback_encoding" type="int" value="2">
+               <limits>
+                       <enum>CP1250</enum>
+                       <enum>CP1251</enum>
+                       <enum>CP1252</enum>
+                       <enum>CP1253</enum>
+                       <enum>CP1254</enum>
+                       <enum>CP1255</enum>
+                       <enum>CP1256</enum>
+                       <enum>CP1257</enum>
+                       <enum>CP1258</enum>
+               </limits>
+               <short>Fallback song encoding</short>
+               <long>Pick the text codec used for song files that are not UTF-8.</long>
+       </entry>
+ -->
+       <entry name="game/sorting_ignore" type="string_list">
+               <stringvalue>The</stringvalue>
+               <stringvalue>A</stringvalue>
+               <stringvalue>La</stringvalue>
+               <stringvalue>Los</stringvalue>
+               <stringvalue>Las</stringvalue>
+               <stringvalue>Él</stringvalue>
+               <short>Word Collation</short>
+               <long>Words that should be ignored when sorting.</long>
+       </entry>
+
+       <!-- Graphic preferences -->
+       <entry name="graphic/window_width" type="int" value="1366" hidden="true">
+               <ui unit=" pixels" />
+               <limits min="640" max="4096" step="16" />
+               <short>Windowed width</short>
+               <long>The width of the window.</long>
+       </entry>
+       <entry name="graphic/window_height" type="int" value="768" hidden="true">
+               <ui unit=" pixels" />
+               <limits min="360" max="2160" step="8" />
+               <short>Windowed height</short>
+               <long>The height of the window.</long>
+       </entry>
+       <entry name="graphic/highdpi" type="bool" value="true">
+               <short>High DPI Graphics</short>
+               <long>Enable High-DPI (Retina) graphics when supported; requires restart.</long>
+       </entry>
+       <entry name="graphic/fullscreen" type="bool" value="false">
+               <short>Fullscreen mode</short>
+               <long>Enable fullscreen mode on startup.</long>
+       </entry>
+       <entry name="graphic/stereo3d" type="bool" value="false">
+               <short>Stereoscopic 3D</short>
+               <long>Enable 3D rendering of Performous.</long>
+       </entry>
+       <entry name="graphic/stereo3dtype" type="int" value="0">
+               <limits>
+                       <enum>Red/Cyan</enum>
+                       <enum>Green/Magenta</enum>
+                       <enum>Over/Under</enum>
+               </limits>
+               <short>Stereo3D type</short>
+               <long>Some modes may only get activated in fullscreen mode.</long>
+       </entry>
+       <entry name="graphic/stereo3dseparation" type="float" value="50">
+               <ui unit=" %" />
+               <limits min="0" max="100" step="2" />
+               <short>Stereo3D separation</short>
+               <long>The strength of the effect. Experiment with different settings for best results.</long>
+       </entry>
+       <entry name="graphic/video" type="bool" value="true">
+               <short>Video playback</short>
+               <long>Allows completely disabling background videos. It is recommended to leave this enabled as Performous will still smoothly fade out the video if your computer is not fast enough.</long>
+       </entry>
+       <entry name="graphic/webcam" type="bool" value="false">
+               <short>Webcam background</short>
+               <long>Performous can use webcam as a background video. Disable it if Performous crashes while entering a song.</long>
+       </entry>
+       <entry name="graphic/webcamid" type="int" value="-1">
+               <limits min="-1" max="9" step="1" />
+               <short>Webcam id</short>
+               <long>Use -1 to autodetect or a number starting from 0 to choose specific device.</long>
+       </entry>
+       <entry name="graphic/svg_lod" type="float" value="1.5">
+               <ui unit="x" />
+               <limits min="0.5" max="6.0" step="0.1" />
+               <short>SVG quality</short>
+               <long>Larger numbers cause vector graphics to be rendered in higher resolution. Decrease this to make navigating in menus faster.</long>
+       </entry>
+       <entry name="graphic/text_lod" type="float" value="1.5">
+               <ui unit="x" />
+               <limits min="0.5" max="6.0" step="0.1" />
+               <short>Text quality</short>
+               <long>Larger numbers cause text to be rendered in higher resolution. Decrease this to make everything a little faster.</long>
+       </entry>
+       <entry name="graphic/fps" type="bool" value="false">
+               <short>Benchmark mode</short>
+               <long>Framerate limit of 100 FPS is removed and the game instead renders at full speed. FPS values are printed to console. Please note that the display drivers may still limit the rendering speed to the screen refresh rate.</long>
+       </entry>
+
+       <!-- Audio preferences -->
+       <entry name="audio/latency" type="float" value="0.075">
+               <ui unit=" ms" multiplier="1000" />
+               <limits min="0.0" max="0.25" step="0.005" />
+               <short>Suggested latency</short>
+               <long>This is a hint for the audio engine about the desired latency. Set this as low as possible while retaining clear audio playback. Requires restart.</long>
+       </entry>
+       <entry name="audio/backend" type="int" value="1337">
+               <limits>
+               <enum>Auto</enum>
+               <!-- enum options will be added dynamically according to detected interfaces. -->
+               </limits>
+               <short>Audio Backend</short>
+               <long>Configure which audio backend to use; not all backends will be supported on all platforms.</long>
+       </entry>
+       <entry name="audio/video_delay" type="float" value="0.06">
+               <ui unit=" ms" multiplier="1000" />
+               <limits min="-0.5" max="0.5" step="0.01" />
+               <short>Audio/video latency</short>
+               <long>Affects all modes. Use negative value if your display input lag is greater than the sound card output latency, positive values in the opposite case and zero if they are equal. This should be set so that the notes pass the cursor at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while performing.</long>
+       </entry>
+       <entry name="audio/round-trip" type="float" value="0.09">
+               <ui unit=" ms" multiplier="1000" />
+               <limits min="0.0" max="0.5" step="0.01" />
+               <short>Audio round-trip latency</short>
+               <long>Affects singing only. The time it takes for Performous playback to reach your speakers, fly to the microphone and all the way back until Performous captures and analyzes it. While performing, press Ctrl+S for synth mode and adjust with Ctrl+F3/F4.</long>
+       </entry>
+       <entry name="audio/controller_delay" type="float" value="0.08">
+               <ui unit=" ms" multiplier="1000" />
+               <limits min="0.0" max="0.5" step="0.01" />
+               <short>Audio/controller latency</short>
+               <long>Affects instruments and dancing only. The total of USB (guitar or dance pad) latency combined with audio output latency. Adjust so that you can hit the notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to adjust while performing.</long>
+       </entry>
+       <entry name="audio/devices" type="string_list" hidden="true">
+               <stringvalue>dev="USBMIC" mics="blue,red"</stringvalue><!-- SingStar mics -->
+               <stringvalue>dev="Microphone" mics="*"</stringvalue><!-- Rock Band branded Logitech mic -->
+               <stringvalue>mics="blue"</stringvalue><!-- Any other microphone (only if blue is still free) -->
+               <stringvalue>out=2</stringvalue><!-- Any stereo output device -->
+               <short>Audio devices</short>
+               <long>List of audio devices to try.</long>
+       </entry>
+       <entry name="audio/preview_volume" type="int" value="70">
+               <ui unit=" %" />
+               <limits min="0" max="100" step="5" />
+               <short>Menu volume</short>
+               <long>The volume level of menus, song previews and jukebox mode.</long>
+       </entry>
+       <entry name="audio/music_volume" type="int" value="90">
+               <ui unit=" %" />
+               <limits min="0" max="100" step="5" />
+               <short>Music volume</short>
+               <long>The ingame music volume. Values above 90 are not recommended as distortion may occur.</long>
+       </entry>
+       <entry name="audio/fail_volume" type="int" value="90">
+               <ui unit=" %" />
+               <limits min="0" max="100" step="5" />
+               <short>Failure volume</short>
+               <long>The ingame fail sound volume. Values above 90 are not recommended as distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!</long>
+       </entry>
+       <entry name="audio/pass-through" type="bool" value="false">
+               <short>Microphone pass-through</short>
+               <long>Send captured singing voice to speakers.</long>
+       </entry>
+       <entry name="audio/pass-through_ratio" type="float" value="2.0">
+               <ui unit=" x" />
+               <limits min="0.5" max="4.0" step="0.1" />
+               <short>Pass-through volume ratio</short>
+               <long>How much voice is amplified compared to the music.</long>
+       </entry>
+       <entry name="audio/suppress_center_channel" type="bool" value="false">
+               <short>Suppress center channel</short>
+               <long>Suppress audio of center channel (e.g. vocals).</long>
+       </entry>
+
+       <!-- Paths -->
+       <entry name="paths/songs" type="string_list">
+               <stringvalue>DATADIR/songs/</stringvalue>
+               <stringvalue>/usr/local/share/games/ultrastar/songs/</stringvalue>
+               <stringvalue>/usr/local/share/games/fretsonfire/data/songs/</stringvalue>
+               <stringvalue>/usr/share/games/ultrastar/songs/</stringvalue>
+               <stringvalue>/usr/share/games/fretsonfire/data/songs/</stringvalue>
+               <stringvalue>~/.ultrastar/songs/</stringvalue>
+               <short>Song folders</short>
+               <long>Where to recursively look for songs. DATADIR at the beginning means all Performous data folders.</long>
+       </entry>
+       <entry name="paths/showhiddenfolders" type="bool" value = "false">
+               <short>Show hidden folders</short>
+               <long>When true the screen_paths will also show hidden folders</long>
+       </entry>
+       <entry name="paths/system" type="string_list">
+               <short>Base folders for data</short>
+               <long>System defaults are included automatically. Additional paths can be added here.</long>
+       </entry>
+       <!-- Song ordering -->
+       <entry name="songs/sort-order" type="int" value="0" hidden="true">
+               <ui unit=" pixels" />
+               <limits min="0" max="6" step="1" />
+               <short>Sort order</short>
+               <long>Currently active sort order</long>
+       </entry>
+</performous>
diff --git a/data/database.xml b/data/database.xml
new file mode 100644 (file)
index 0000000..725b6e2
--- /dev/null
@@ -0,0 +1,19 @@
+<performous>
+       <songs> <!-- a list of songs -->
+               <song id="123" artist="ABBA" title="Dancing Queen">
+                       <!-- extra song details -->
+               </song>
+       </songs>
+       <players> <!-- a list of players -->
+               <player id="123" name="Markus">
+                       <picture>markus.jpg</picture> <!-- optional picture shown at players selection -->
+               </player>
+       </players>
+       <hiscores> <!-- a list of highscores -->
+               <hiscore songid="123" playerid="123" track="vocals">600</hiscore>
+       </hiscores>
+</performous>
+<!--
+id of songs: collateByTitle (?)
+id of players: ?
+-->
diff --git a/data/fonts/DroidSansMono.ttf b/data/fonts/DroidSansMono.ttf
new file mode 100644 (file)
index 0000000..4546611
Binary files /dev/null and b/data/fonts/DroidSansMono.ttf differ
diff --git a/data/fonts/GoblinOne.otf b/data/fonts/GoblinOne.otf
new file mode 100644 (file)
index 0000000..9194194
Binary files /dev/null and b/data/fonts/GoblinOne.otf differ
diff --git a/data/fonts/NewRocker-Regular.otf b/data/fonts/NewRocker-Regular.otf
new file mode 100644 (file)
index 0000000..900a33a
Binary files /dev/null and b/data/fonts/NewRocker-Regular.otf differ
diff --git a/data/performous.desktop b/data/performous.desktop
new file mode 100755 (executable)
index 0000000..89fcb8b
--- /dev/null
@@ -0,0 +1,16 @@
+[Desktop Entry]
+Name=Performous
+Comment=A karaoke game
+Comment[de]=Ein Karaoke-Spiel
+Comment[es]=Un juego de karaoke
+Comment[fi]=Karaokepeli
+Comment[fr]=Un jeu de Karaoké
+Comment[it]=Un gioco di karaoke
+Comment[ro]=Un joc de tip karaoke
+Comment[se]=Ett karaoke-spel
+Exec=performous
+Icon=performous
+Terminal=false
+Type=Application
+Categories=Game;ArcadeGame;
+Keywords=song;music;dance;karaoke;microphone;sound;singing;
diff --git a/data/shaders/core.frag b/data/shaders/core.frag
new file mode 100644 (file)
index 0000000..aaa1c8f
--- /dev/null
@@ -0,0 +1,85 @@
+#version 330 core
+
+//DEFINES
+
+in vData {
+       vec3 lightDir;
+       vec2 texCoord;
+       vec3 normal;
+       vec4 color;
+} fragIn;
+
+out vec4 fragColor;
+
+layout (std140) uniform shaderMatrices {
+       mat4 projMatrix;
+       mat4 mvMatrix;
+       mat4 normalMatrix;
+       mat4 colorMatrix;
+};
+
+layout (std140) uniform lyricColors {
+       vec4 origFill;
+       vec4 origStroke;
+       vec4 newFill;
+       vec4 newStroke;
+};
+
+const vec4 epsilon = vec4(1.96e-3);
+
+#ifdef ENABLE_TEXTURING
+uniform sampler2D tex;
+#define TEXFUNC texture(tex, fragIn.texCoord)
+#else
+#define TEXFUNC vec4(1.0)
+#endif
+
+#ifdef ENABLE_SPECULAR_MAP
+uniform sampler2D specularTex;
+#endif
+
+#ifdef ENABLE_EMISSION_MAP
+uniform sampler2D emissionTex;
+#endif
+
+void main() {
+       mat4 colorMatrixInternal = colorMatrix;
+       vec4 frag = TEXFUNC;
+
+#ifdef ENABLE_VERTEX_COLOR
+       frag *= fragIn.color;
+#endif
+
+#ifdef ENABLE_LIGHTING
+       vec3 n = normalize(fragIn.normal);
+       vec3 l = normalize(fragIn.lightDir);
+
+       // Diffuse
+       float diff = max(dot(n, l), 0.0);
+       float power = 1.0 - 0.02 * length(fragIn.lightDir);
+       frag = vec4(frag.rgb * power * diff, frag.a);
+#endif
+       if (all(lessThanEqual(abs(frag - origFill),epsilon))) { frag = newFill; }
+       else if (all(lessThanEqual(abs(frag - origStroke),epsilon))) { frag = newStroke; }
+       else { frag = frag * colorMatrixInternal; }
+
+#ifdef ENABLE_LIGHTING
+       // Specular
+       vec3 refl = reflect(-l, n);
+       float spec = dot(refl, n);
+       if (power > 0.0) {
+       power *= pow(spec, 100);
+       #ifdef ENABLE_SPECULAR_MAP
+       power *= texture(specularTex, fragIn.texCoord);
+       #endif
+       frag.rgb += vec3(power, power, power);
+       }
+
+       #ifdef ENABLE_EMISSION_MAP
+       frag.xyz += texture(emissionTex, texCoord);
+       #endif
+#endif
+
+       fragColor = frag;
+}
+
diff --git a/data/shaders/core.vert b/data/shaders/core.vert
new file mode 100644 (file)
index 0000000..150e249
--- /dev/null
@@ -0,0 +1,33 @@
+#version 330 core
+
+//DEFINES
+
+layout(location = 0) in vec3 vertPos;
+layout(location = 1) in vec2 vertTexCoord;
+layout(location = 2) in vec3 vertNormal;
+layout(location = 3) in vec4 vertColor;
+
+layout (std140) uniform shaderMatrices {
+       mat4 projMatrix;
+       mat4 mvMatrix;
+       mat4 normalMatrix;
+       mat4 colorMatrix;
+};
+
+out vData {
+       vec3 lightDir;
+       vec2 texCoord;
+       vec3 normal;
+       vec4 color;
+} vertex;
+
+void main() {
+       const vec3 lightPos = vec3(-10.0, 2.0, 15.0);
+       vec4 posEye = mvMatrix * vec4(vertPos, 1.0); // Vertex position in eye space
+       gl_Position = projMatrix * posEye; // Vertex position in normalized device coordinates
+       vertex.lightDir = lightPos - posEye.xyz / posEye.w; // Light position relative to vertex
+       vertex.texCoord = vertTexCoord;
+       vertex.normal = normalize(mat3(normalMatrix) * vertNormal);
+       vertex.color = vertColor;
+}
+
diff --git a/data/shaders/dancenote.vert b/data/shaders/dancenote.vert
new file mode 100644 (file)
index 0000000..0dee840
--- /dev/null
@@ -0,0 +1,85 @@
+#version 330 core
+
+layout(location = 0) in vec3 vertPos;
+layout(location = 1) in vec2 vertTexCoord;
+layout(location = 2) in vec3 vertNormal;
+layout(location = 3) in vec4 vertColor;
+
+layout (std140) uniform shaderMatrices {
+       mat4 projMatrix;
+       mat4 mvMatrix;
+       mat4 normalMatrix;
+       mat4 colorMatrix;
+};
+
+layout (std140) uniform danceNote {
+       int noteType;
+       float hitAnim;
+       float clock;
+       float scale;
+       vec2 position;
+       float padding[2];
+};
+
+out vData {
+       vec3 lightDir;
+       vec2 texCoord;
+       vec3 normal;
+       vec4 color;
+} vertex;
+
+ mat4 scaleMat(in float sc) {
+       return mat4(sc, 0, 0, 0,
+                               0, sc, 0, 0,
+                               0, 0, sc, 0,
+                               0, 0, 0, 1);
+}
+
+ mat4 rotMat(in float ang) {
+       float ca = cos(ang);
+       float sa = sin(ang);
+       return mat4(ca, -sa, 0, 0,
+                               sa, ca, 0, 0,
+                               0,  0, 1, 0,
+                               0,  0, 0, 1);
+}
+
+void main() {
+       vertex.texCoord = vertTexCoord;
+       vertex.normal = mat3(normalMatrix) * vertNormal;
+       vertex.color = vertColor;
+       vertex.lightDir = vec3(1,0,0);  
+       mat4 trans = scaleMat(scale);
+
+       // Cursor arrows
+       if (noteType == 0) {
+       trans *= scaleMat(1.0 - hitAnim * .5);
+
+       // Regular arrows
+       } else if (noteType == 1) {
+       trans *= scaleMat(1.0 + hitAnim);
+
+       // Holds
+       } else if (noteType == 2) {
+       trans *= scaleMat(1.0 + hitAnim);
+
+       // Mines
+       } else if (noteType == 3) {
+       trans *= scaleMat(1.0 + hitAnim);
+        float r = radians(mod(clock*360.0, 360.0)); // They rotate!
+       trans *= rotMat(r);
+       }
+
+       // Glow color for regular arrows or holds
+       if (noteType == 1 || noteType == 2) {
+       vertex.color = vec4(
+        min(vertColor.r + hitAnim *.5, 1.0),
+        min(vertColor.g + hitAnim *.5, 1.0),
+        min(vertColor.b + hitAnim *.5, 1.0),
+        max(vertColor.a - hitAnim, 0.0)
+       );
+       }
+
+       gl_Position = projMatrix * mvMatrix * (vec4(position, 0, 0) + trans * vec4(vertPos, 1.0));
+}
+
diff --git a/data/shaders/stereo3d.geom b/data/shaders/stereo3d.geom
new file mode 100644 (file)
index 0000000..0fbfaab
--- /dev/null
@@ -0,0 +1,53 @@
+#version 330 core
+#extension GL_ARB_viewport_array : require
+
+layout (std140) uniform stereoParams {
+       float sepFactor;
+       float z0;
+       float padding[2];
+};
+
+layout(triangles) in;
+layout(triangle_strip, max_vertices = 6) out;
+
+in vData {
+       vec3 lightDir;
+       vec2 texCoord;
+       vec3 normal;
+       vec4 color;
+} vertices[];
+
+out vData {
+       vec3 lightDir;
+       vec2 texCoord;
+       vec3 normal;
+       vec4 color;
+} fragv;
+
+void passthru(int vp, int i) {
+       gl_ViewportIndex = (sepFactor == 0.0) ? 0 : vp;
+       fragv.lightDir = vertices[i].lightDir;
+       fragv.texCoord = vertices[i].texCoord;
+       fragv.normal = vertices[i].normal;
+       fragv.color = vertices[i].color;
+}
+
+void main() {
+// Render the left eye
+       for (int i=0; i < gl_in.length(); i++) {
+               passthru(1, i);
+               gl_Position = gl_in[i].gl_Position;
+               gl_Position.x -= (sepFactor * (gl_in[i].gl_Position.z - z0));
+               EmitVertex();
+       }
+       EndPrimitive();
+       
+// Render the right eye
+       for (int i=0; i < gl_in.length(); i++) {
+               passthru(2, i);
+               gl_Position = gl_in[i].gl_Position;
+               gl_Position.x += (sepFactor * (gl_in[i].gl_Position.z - z0));
+               EmitVertex();
+       }
+       EndPrimitive();
+}
\ No newline at end of file
diff --git a/data/sounds/drum_bass.ogg b/data/sounds/drum_bass.ogg
new file mode 100644 (file)
index 0000000..0875fb2
Binary files /dev/null and b/data/sounds/drum_bass.ogg differ
diff --git a/data/sounds/drum_cymbal.ogg b/data/sounds/drum_cymbal.ogg
new file mode 100644 (file)
index 0000000..cb0e869
Binary files /dev/null and b/data/sounds/drum_cymbal.ogg differ
diff --git a/data/sounds/drum_hi-hat.ogg b/data/sounds/drum_hi-hat.ogg
new file mode 100644 (file)
index 0000000..f7808a3
Binary files /dev/null and b/data/sounds/drum_hi-hat.ogg differ
diff --git a/data/sounds/drum_snare.ogg b/data/sounds/drum_snare.ogg
new file mode 100644 (file)
index 0000000..462907d
Binary files /dev/null and b/data/sounds/drum_snare.ogg differ
diff --git a/data/sounds/drum_tom1.ogg b/data/sounds/drum_tom1.ogg
new file mode 100644 (file)
index 0000000..90a1a06
Binary files /dev/null and b/data/sounds/drum_tom1.ogg differ
diff --git a/data/sounds/drum_tom2.ogg b/data/sounds/drum_tom2.ogg
new file mode 100644 (file)
index 0000000..8e213d3
Binary files /dev/null and b/data/sounds/drum_tom2.ogg differ
diff --git a/data/sounds/guitar_fail1.ogg b/data/sounds/guitar_fail1.ogg
new file mode 100644 (file)
index 0000000..c5b1c43
Binary files /dev/null and b/data/sounds/guitar_fail1.ogg differ
diff --git a/data/sounds/guitar_fail2.ogg b/data/sounds/guitar_fail2.ogg
new file mode 100644 (file)
index 0000000..ec9048b
Binary files /dev/null and b/data/sounds/guitar_fail2.ogg differ
diff --git a/data/sounds/guitar_fail3.ogg b/data/sounds/guitar_fail3.ogg
new file mode 100644 (file)
index 0000000..ce67d63
Binary files /dev/null and b/data/sounds/guitar_fail3.ogg differ
diff --git a/data/sounds/guitar_fail4.ogg b/data/sounds/guitar_fail4.ogg
new file mode 100644 (file)
index 0000000..4502efe
Binary files /dev/null and b/data/sounds/guitar_fail4.ogg differ
diff --git a/data/sounds/guitar_fail5.ogg b/data/sounds/guitar_fail5.ogg
new file mode 100644 (file)
index 0000000..2e62474
Binary files /dev/null and b/data/sounds/guitar_fail5.ogg differ
diff --git a/data/sounds/guitar_fail6.ogg b/data/sounds/guitar_fail6.ogg
new file mode 100644 (file)
index 0000000..c7c6516
Binary files /dev/null and b/data/sounds/guitar_fail6.ogg differ
diff --git a/data/themes/default/arrow_button_down.svg b/data/themes/default/arrow_button_down.svg
new file mode 100644 (file)
index 0000000..7927d4b
--- /dev/null
@@ -0,0 +1,910 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   sodipodi:docname="arrow_button_up.svg"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:version="0.32"
+   id="svg5683"
+   height="56.5886"
+   width="57.044964"
+   version="1.0">
+  <defs
+     id="defs3">
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,288.7111,-153.4135)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5500"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,206.7081,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5498"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5496"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,224.6646,-148.7015)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5494"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,281.3651,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5492"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5490"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,214.5211,-145.3283)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5488"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,132.051,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5486"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5484"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,219.986,-144.9236)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5482"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,356.022,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5480"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4568">
+      <stop
+         id="stop4570"
+         offset="0"
+         style="stop-color:#e12b1c;stop-opacity:1;" />
+      <stop
+         id="stop4572"
+         offset="1.0000000"
+         style="stop-color:#980b00;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5478"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,324.2651,-311.3622)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5606"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,242.2621,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5604"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5602"
+       xlink:href="#linearGradient4886"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,260.2186,-306.6502)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5287"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,316.9191,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5290"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5336"
+       xlink:href="#linearGradient4886"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,250.0751,-303.277)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5594"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,167.605,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5592"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5590"
+       xlink:href="#linearGradient4886"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,255.54,-302.8723)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5600"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,391.576,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5598"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4886">
+      <stop
+         id="stop4888"
+         offset="0"
+         style="stop-color:#1155ff;stop-opacity:1;" />
+      <stop
+         id="stop4890"
+         offset="1"
+         style="stop-color:#0000a1;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,291.6739,-84.28068)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5476"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,209.6709,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5474"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5472"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,227.6274,-79.56868)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5470"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,284.3279,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5468"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5466"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,217.4839,-76.19548)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5464"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,135.0138,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5462"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5460"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,222.9488,-75.79078)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5458"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,358.9848,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5456"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4932">
+      <stop
+         id="stop4934"
+         offset="0.0000000"
+         style="stop-color:#66e11c;stop-opacity:1.0000000;" />
+      <stop
+         id="stop4936"
+         offset="1.0000000"
+         style="stop-color:#3d9800;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5454"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,324.2651,-100.0825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5633"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,242.2621,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5636"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5644"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,260.2186,-95.37047)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5625"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,316.9191,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5628"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5640"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,250.0751,-91.99727)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5617"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,167.605,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5620"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5646"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4738">
+      <stop
+         id="stop4740"
+         offset="0.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.72656250;" />
+      <stop
+         id="stop4742"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,255.54,-91.59257)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5609"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4554">
+      <stop
+         id="stop4556"
+         offset="0.0000000"
+         style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+      <stop
+         id="stop4558"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,391.576,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5612"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5028">
+      <stop
+         style="stop-color:#fffd26;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop5030" />
+      <stop
+         style="stop-color:#967f00;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop5032" />
+    </linearGradient>
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5642"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,-501.9489,-144.8603)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5958"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-365.9129,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5961"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-145.265)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5966"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5969"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.2703,-148.6382)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5974"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5698,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5977"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-433.2238,-153.3502)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5982"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-515.2268,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5985"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,-501.9489,-214.9808)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5990"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-365.9129,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5993"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-215.3855)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5998"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6001"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.2703,-218.7587)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6006"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5698,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6009"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-433.2238,-223.4707)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6014"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-515.2268,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6017"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-356.5448)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6030"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-692.2622)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6033"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.2703,-359.918)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6038"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5698,-692.2622)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6041"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0,0.80139,-1.247832,0,631.33596,-520.76998)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6046"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-374.8545,-700.975)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6049"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,-501.9489,-284.1136)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6054"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-365.9129,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6057"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-284.5183)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6062"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6065"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.27,-287.8915)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6070"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5695,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6073"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-433.2238,-292.6035)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6077"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-515.2268,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6080"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-y="0"
+     inkscape:window-x="0"
+     inkscape:window-height="968"
+     inkscape:window-width="1280"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:cy="57.545109"
+     inkscape:cx="-46.821767"
+     inkscape:zoom="3.0989011"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     borderlayer="true"
+     showborder="true"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1"
+     id="layer1"
+     transform="translate(-213.3568,12.4428)">
+    <path
+       transform="matrix(1.896061,0,0,1.896061,-374.8545,-700.975)"
+       d="m 339.53775,378.05789 c 0,7.71359 -6.25309,13.96668 -13.96667,13.96668 -7.71359,0 -13.96668,-6.25309 -13.96668,-13.96668 0,-7.71358 6.25309,-13.96668 13.96668,-13.96668 7.71358,0 13.96667,6.2531 13.96667,13.96668 z"
+       sodipodi:ry="13.966679"
+       sodipodi:rx="13.966679"
+       sodipodi:cy="378.05789"
+       sodipodi:cx="325.57108"
+       id="path5170"
+       style="color:black;fill:#000080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.62500000000000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(1.731185,0,0,1.731185,-321.1761,-638.6428)"
+       d="m 339.53775,378.05789 c 0,7.71359 -6.25309,13.96668 -13.96667,13.96668 -7.71359,0 -13.96668,-6.25309 -13.96668,-13.96668 0,-7.71358 6.25309,-13.96668 13.96668,-13.96668 7.71358,0 13.96667,6.2531 13.96667,13.96668 z"
+       sodipodi:ry="13.966679"
+       sodipodi:rx="13.966679"
+       sodipodi:cy="378.05789"
+       sodipodi:cx="325.57108"
+       id="path5172"
+       style="color:black;fill:url(#linearGradient5602);fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:0.72204876;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       id="path5174"
+       d="M 242.43189,-8.3201378 C 229.08514,-8.3201378 218.25709,2.507892 218.25711,15.854642 C 218.25711,22.267212 220.87405,27.997552 224.95258,32.326672 C 227.07143,14.826182 241.8421,1.2194221 259.9112,1.2194221 C 260.39841,1.2194221 260.85081,1.318382 261.33325,1.337922 C 256.91182,-4.4127679 250.24118,-8.3201378 242.43189,-8.3201378 z "
+       style="color:black;fill:url(#linearGradient6049);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61607176;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+    <path
+       style="color:#000000;fill:url(#linearGradient6046);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.75000167;marker:none;visibility:visible;display:inline;overflow:visible"
+       d="M 257.93856,11.283501 253.80724,7.1521606 242.10689,18.85252 230.51874,7.2643706 226.3568,11.426311 242.07629,27.1458 257.93856,11.283501 z"
+       id="path5176"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
diff --git a/data/themes/default/arrow_button_left.svg b/data/themes/default/arrow_button_left.svg
new file mode 100644 (file)
index 0000000..c420c62
--- /dev/null
@@ -0,0 +1,911 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   sodipodi:docname="arrow_button_left.svg"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:version="0.32"
+   id="svg5683"
+   height="56.5886"
+   width="57.044964"
+   version="1.0">
+  <defs
+     id="defs3">
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,288.7111,-153.4135)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5500"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,206.7081,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5498"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5496"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,224.6646,-148.7015)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5494"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,281.3651,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5492"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5490"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,214.5211,-145.3283)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5488"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,132.051,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5486"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5484"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,219.986,-144.9236)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5482"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,356.022,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5480"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4568">
+      <stop
+         id="stop4570"
+         offset="0"
+         style="stop-color:#e12b1c;stop-opacity:1;" />
+      <stop
+         id="stop4572"
+         offset="1.0000000"
+         style="stop-color:#980b00;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5478"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,324.2651,-311.3622)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5606"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,242.2621,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5604"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5602"
+       xlink:href="#linearGradient4886"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,260.2186,-306.6502)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5287"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,316.9191,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5290"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5336"
+       xlink:href="#linearGradient4886"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,250.0751,-303.277)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5594"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,167.605,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5592"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5590"
+       xlink:href="#linearGradient4886"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,255.54,-302.8723)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5600"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,391.576,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5598"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4886">
+      <stop
+         id="stop4888"
+         offset="0"
+         style="stop-color:#16e500;stop-opacity:1;" />
+      <stop
+         id="stop4890"
+         offset="1"
+         style="stop-color:#005900;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,291.6739,-84.28068)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5476"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,209.6709,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5474"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5472"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,227.6274,-79.56868)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5470"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,284.3279,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5468"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5466"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,217.4839,-76.19548)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5464"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,135.0138,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5462"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5460"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,222.9488,-75.79078)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5458"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,358.9848,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5456"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4932">
+      <stop
+         id="stop4934"
+         offset="0.0000000"
+         style="stop-color:#66e11c;stop-opacity:1.0000000;" />
+      <stop
+         id="stop4936"
+         offset="1.0000000"
+         style="stop-color:#3d9800;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5454"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,324.2651,-100.0825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5633"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,242.2621,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5636"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5644"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,260.2186,-95.37047)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5625"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,316.9191,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5628"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5640"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,250.0751,-91.99727)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5617"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,167.605,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5620"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5646"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4738">
+      <stop
+         id="stop4740"
+         offset="0.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.72656250;" />
+      <stop
+         id="stop4742"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,255.54,-91.59257)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5609"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4554">
+      <stop
+         id="stop4556"
+         offset="0.0000000"
+         style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+      <stop
+         id="stop4558"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,391.576,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5612"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5028">
+      <stop
+         style="stop-color:#fffd26;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop5030" />
+      <stop
+         style="stop-color:#967f00;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop5032" />
+    </linearGradient>
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5642"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,-501.9489,-144.8603)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5958"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-365.9129,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5961"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-145.265)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5966"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5969"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.2703,-148.6382)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5974"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5698,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5977"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-433.2238,-153.3502)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5982"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-515.2268,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5985"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,-501.9489,-214.9808)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5990"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-365.9129,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5993"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-215.3855)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5998"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6001"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.2703,-218.7587)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6006"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5698,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6009"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-433.2238,-223.4707)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6014"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-515.2268,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6017"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-356.5448)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6030"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-692.2622)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6033"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.2703,-359.918)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6038"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5698,-692.2622)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6041"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,778.27258,-373.3428)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6046"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-374.8545,-700.975)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6049"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,-501.9489,-284.1136)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6054"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-365.9129,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6057"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-284.5183)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6062"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6065"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.27,-287.8915)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6070"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5695,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6073"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-433.2238,-292.6035)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6077"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-515.2268,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6080"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-y="19"
+     inkscape:window-x="0"
+     inkscape:window-height="968"
+     inkscape:window-width="1280"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:cy="57.545109"
+     inkscape:cx="15.458375"
+     inkscape:zoom="3.0989011"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     borderlayer="true"
+     showborder="true"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1"
+     id="layer1"
+     transform="translate(-213.3568,12.4428)">
+    <path
+       transform="matrix(1.896061,0,0,1.896061,-374.8545,-700.975)"
+       d="m 339.53775,378.05789 c 0,7.71359 -6.25309,13.96668 -13.96667,13.96668 -7.71359,0 -13.96668,-6.25309 -13.96668,-13.96668 0,-7.71358 6.25309,-13.96668 13.96668,-13.96668 7.71358,0 13.96667,6.2531 13.96667,13.96668 z"
+       sodipodi:ry="13.966679"
+       sodipodi:rx="13.966679"
+       sodipodi:cy="378.05789"
+       sodipodi:cx="325.57108"
+       id="path5170"
+       style="color:black;fill:#006600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.62500000000000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(1.731185,0,0,1.731185,-321.1761,-638.6428)"
+       d="m 339.53775,378.05789 c 0,7.71359 -6.25309,13.96668 -13.96667,13.96668 -7.71359,0 -13.96668,-6.25309 -13.96668,-13.96668 0,-7.71358 6.25309,-13.96668 13.96668,-13.96668 7.71358,0 13.96667,6.2531 13.96667,13.96668 z"
+       sodipodi:ry="13.966679"
+       sodipodi:rx="13.966679"
+       sodipodi:cy="378.05789"
+       sodipodi:cx="325.57108"
+       id="path5172"
+       style="color:black;fill:url(#linearGradient5602);fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:0.72204876;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       id="path5174"
+       d="M 242.43189,-8.3201378 C 229.08514,-8.3201378 218.25709,2.507892 218.25711,15.854642 C 218.25711,22.267212 220.87405,27.997552 224.95258,32.326672 C 227.07143,14.826182 241.8421,1.2194221 259.9112,1.2194221 C 260.39841,1.2194221 260.85081,1.318382 261.33325,1.337922 C 256.91182,-4.4127679 250.24118,-8.3201378 242.43189,-8.3201378 z "
+       style="color:black;fill:url(#linearGradient6049);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61607176;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+    <path
+       style="color:#000000;fill:url(#linearGradient6046);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.75000167;marker:none;visibility:visible;display:inline;overflow:visible"
+       d="m 246.2191,0.05459208 4.13134,4.13132992 -11.70036,11.70035 11.58815,11.58815 -4.16194,4.16194 -15.71949,-15.71949 15.8623,-15.86227992 z"
+       id="path5176"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
diff --git a/data/themes/default/arrow_button_right.svg b/data/themes/default/arrow_button_right.svg
new file mode 100644 (file)
index 0000000..b6cfc6e
--- /dev/null
@@ -0,0 +1,909 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   sodipodi:docname="arrow_button_right.svg"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:version="0.32"
+   id="svg5683"
+   height="56.5886"
+   width="57.044964"
+   version="1.0">
+  <defs
+     id="defs3">
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,288.7111,-153.4135)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5500"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,206.7081,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5498"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5496"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,224.6646,-148.7015)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5494"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,281.3651,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5492"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5490"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,214.5211,-145.3283)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5488"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,132.051,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5486"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5484"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,219.986,-144.9236)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5482"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,356.022,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5480"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4568">
+      <stop
+         id="stop4570"
+         offset="0"
+         style="stop-color:#e12b1c;stop-opacity:1;" />
+      <stop
+         id="stop4572"
+         offset="1.0000000"
+         style="stop-color:#980b00;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5478"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,324.2651,-311.3622)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5606"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,242.2621,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5604"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5602"
+       xlink:href="#linearGradient4886"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,260.2186,-306.6502)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5287"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,316.9191,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5290"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5336"
+       xlink:href="#linearGradient4886"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,250.0751,-303.277)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5594"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,167.605,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5592"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5590"
+       xlink:href="#linearGradient4886"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,255.54,-302.8723)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5600"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,391.576,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5598"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4886">
+      <stop
+         id="stop4888"
+         offset="0"
+         style="stop-color:#ff0000;stop-opacity:1;" />
+      <stop
+         id="stop4890"
+         offset="1"
+         style="stop-color:#850000;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,291.6739,-84.28068)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5476"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,209.6709,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5474"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5472"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,227.6274,-79.56868)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5470"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,284.3279,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5468"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5466"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,217.4839,-76.19548)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5464"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,135.0138,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5462"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5460"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,222.9488,-75.79078)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5458"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,358.9848,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5456"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4932">
+      <stop
+         id="stop4934"
+         offset="0.0000000"
+         style="stop-color:#66e11c;stop-opacity:1.0000000;" />
+      <stop
+         id="stop4936"
+         offset="1.0000000"
+         style="stop-color:#3d9800;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5454"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,324.2651,-100.0825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5633"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,242.2621,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5636"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5644"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,260.2186,-95.37047)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5625"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,316.9191,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5628"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5640"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,250.0751,-91.99727)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5617"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,167.605,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5620"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5646"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4738">
+      <stop
+         id="stop4740"
+         offset="0.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.72656250;" />
+      <stop
+         id="stop4742"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,255.54,-91.59257)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5609"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4554">
+      <stop
+         id="stop4556"
+         offset="0.0000000"
+         style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+      <stop
+         id="stop4558"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,391.576,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5612"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5028">
+      <stop
+         style="stop-color:#fffd26;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop5030" />
+      <stop
+         style="stop-color:#967f00;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop5032" />
+    </linearGradient>
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5642"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,-501.9489,-144.8603)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5958"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-365.9129,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5961"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-145.265)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5966"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5969"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.2703,-148.6382)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5974"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5698,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5977"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-433.2238,-153.3502)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5982"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-515.2268,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5985"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,-501.9489,-214.9808)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5990"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-365.9129,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5993"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-215.3855)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5998"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6001"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.2703,-218.7587)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6006"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5698,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6009"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-433.2238,-223.4707)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6014"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-515.2268,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6017"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-356.5448)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6030"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-692.2622)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6033"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.2703,-359.918)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6038"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5698,-692.2622)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6041"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-292.8515,-373.3428)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6046"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-374.8545,-700.975)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6049"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,-501.9489,-284.1136)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6054"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-365.9129,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6057"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-284.5183)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6062"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6065"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.27,-287.8915)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6070"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5695,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6073"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-433.2238,-292.6035)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6077"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-515.2268,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6080"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-y="0"
+     inkscape:window-x="0"
+     inkscape:window-height="968"
+     inkscape:window-width="1280"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:cy="57.545109"
+     inkscape:cx="15.458375"
+     inkscape:zoom="3.0989011"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     borderlayer="true"
+     showborder="true"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1"
+     id="layer1"
+     transform="translate(-213.3568,12.4428)">
+    <path
+       transform="matrix(1.896061,0,0,1.896061,-374.8545,-700.975)"
+       d="m 339.53775,378.05789 c 0,7.71359 -6.25309,13.96668 -13.96667,13.96668 -7.71359,0 -13.96668,-6.25309 -13.96668,-13.96668 0,-7.71358 6.25309,-13.96668 13.96668,-13.96668 7.71358,0 13.96667,6.2531 13.96667,13.96668 z"
+       sodipodi:ry="13.966679"
+       sodipodi:rx="13.966679"
+       sodipodi:cy="378.05789"
+       sodipodi:cx="325.57108"
+       id="path5170"
+       style="color:black;fill:#800000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.62500000000000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(1.731185,0,0,1.731185,-321.1761,-638.6428)"
+       d="m 339.53775,378.05789 c 0,7.71359 -6.25309,13.96668 -13.96667,13.96668 -7.71359,0 -13.96668,-6.25309 -13.96668,-13.96668 0,-7.71358 6.25309,-13.96668 13.96668,-13.96668 7.71358,0 13.96667,6.2531 13.96667,13.96668 z"
+       sodipodi:ry="13.966679"
+       sodipodi:rx="13.966679"
+       sodipodi:cy="378.05789"
+       sodipodi:cx="325.57108"
+       id="path5172"
+       style="color:black;fill:url(#linearGradient5602);fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:0.72204876;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       id="path5174"
+       d="M 242.43189,-8.3201378 C 229.08514,-8.3201378 218.25709,2.507892 218.25711,15.854642 C 218.25711,22.267212 220.87405,27.997552 224.95258,32.326672 C 227.07143,14.826182 241.8421,1.2194221 259.9112,1.2194221 C 260.39841,1.2194221 260.85081,1.318382 261.33325,1.337922 C 256.91182,-4.4127679 250.24118,-8.3201378 242.43189,-8.3201378 z "
+       style="color:black;fill:url(#linearGradient6049);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61607176;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+    <path
+       style="color:black;fill:url(#linearGradient6046);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.75000167;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 239.20198,0.05459208 L 235.07064,4.185922 L 246.771,15.886272 L 235.18285,27.474422 L 239.34479,31.636362 L 255.06428,15.916872 L 239.20198,0.05459208 z "
+       id="path5176" />
+  </g>
+</svg>
diff --git a/data/themes/default/arrow_button_up.svg b/data/themes/default/arrow_button_up.svg
new file mode 100644 (file)
index 0000000..e77e9f8
--- /dev/null
@@ -0,0 +1,910 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   sodipodi:docname="arrow_button_up.svg"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:version="0.32"
+   id="svg5683"
+   height="56.5886"
+   width="57.044964"
+   version="1.0">
+  <defs
+     id="defs3">
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,288.7111,-153.4135)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5500"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,206.7081,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5498"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5496"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,224.6646,-148.7015)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5494"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,281.3651,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5492"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5490"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,214.5211,-145.3283)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5488"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,132.051,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5486"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5484"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,219.986,-144.9236)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5482"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,356.022,-481.0457)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5480"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4568">
+      <stop
+         id="stop4570"
+         offset="0"
+         style="stop-color:#e12b1c;stop-opacity:1;" />
+      <stop
+         id="stop4572"
+         offset="1.0000000"
+         style="stop-color:#980b00;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5478"
+       xlink:href="#linearGradient4568"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,324.2651,-311.3622)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5606"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,242.2621,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5604"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5602"
+       xlink:href="#linearGradient4886"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,260.2186,-306.6502)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5287"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,316.9191,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5290"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5336"
+       xlink:href="#linearGradient4886"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,250.0751,-303.277)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5594"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,167.605,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5592"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5590"
+       xlink:href="#linearGradient4886"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,255.54,-302.8723)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5600"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,391.576,-638.9944)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5598"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4886">
+      <stop
+         id="stop4888"
+         offset="0"
+         style="stop-color:#f6f100;stop-opacity:1;" />
+      <stop
+         id="stop4890"
+         offset="1"
+         style="stop-color:#dca42d;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,291.6739,-84.28068)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5476"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,209.6709,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5474"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5472"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,227.6274,-79.56868)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5470"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,284.3279,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5468"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5466"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,217.4839,-76.19548)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5464"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,135.0138,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5462"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5460"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,222.9488,-75.79078)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5458"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,358.9848,-411.9129)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5456"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4932">
+      <stop
+         id="stop4934"
+         offset="0.0000000"
+         style="stop-color:#66e11c;stop-opacity:1.0000000;" />
+      <stop
+         id="stop4936"
+         offset="1.0000000"
+         style="stop-color:#3d9800;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5454"
+       xlink:href="#linearGradient4932"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,324.2651,-100.0825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5633"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,242.2621,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5636"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5644"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,260.2186,-95.37047)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5625"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,316.9191,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5628"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5640"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,250.0751,-91.99727)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5617"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,167.605,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5620"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5646"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4738">
+      <stop
+         id="stop4740"
+         offset="0.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.72656250;" />
+      <stop
+         id="stop4742"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,255.54,-91.59257)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5609"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4554">
+      <stop
+         id="stop4556"
+         offset="0.0000000"
+         style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+      <stop
+         id="stop4558"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,391.576,-427.7147)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5612"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5028">
+      <stop
+         style="stop-color:#fffd26;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop5030" />
+      <stop
+         style="stop-color:#967f00;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop5032" />
+    </linearGradient>
+    <linearGradient
+       y2="387.43924"
+       x2="332.02466"
+       y1="369.97995"
+       x1="314.56537"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5642"
+       xlink:href="#linearGradient5028"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,-501.9489,-144.8603)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5958"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-365.9129,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5961"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-145.265)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5966"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5969"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.2703,-148.6382)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5974"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5698,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5977"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-433.2238,-153.3502)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5982"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-515.2268,-480.9825)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5985"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,-501.9489,-214.9808)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5990"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-365.9129,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5993"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-215.3855)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5998"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6001"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.2703,-218.7587)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6006"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5698,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6009"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-433.2238,-223.4707)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6014"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-515.2268,-551.1029)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6017"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-356.5448)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6030"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-692.2622)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6033"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.2703,-359.918)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6038"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5698,-692.2622)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6041"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0,-0.80139,-1.247832,0,631.33596,552.06794)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6046"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-374.8545,-700.975)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6049"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="614.64392"
+       x2="487.88327"
+       y1="592.7915"
+       x1="467.18936"
+       gradientTransform="matrix(0,0.80139,1.247832,0,-501.9489,-284.1136)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6054"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-365.9129,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6057"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="316.30093"
+       x2="-673.75562"
+       y1="293.93457"
+       x1="-653.01508"
+       gradientTransform="matrix(-0.80139,0,0,1.247832,-507.4138,-284.5183)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6062"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-589.8839,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6065"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="550.81836"
+       x2="-487.88327"
+       y1="529.3363"
+       x1="-466.60916"
+       gradientTransform="matrix(0,-0.80139,1.247832,0,-497.27,-287.8915)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6070"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-440.5695,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6073"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="323.17273"
+       x2="681.0014"
+       y1="300.41397"
+       x1="661.46326"
+       gradientTransform="matrix(0.80139,0,0,1.247832,-433.2238,-292.6035)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6077"
+       xlink:href="#linearGradient4738"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="390.78342"
+       x2="311.27377"
+       y1="377.9527"
+       x1="302.73621"
+       gradientTransform="matrix(1.9519,0,0,1.84182,-515.2268,-620.2357)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6080"
+       xlink:href="#linearGradient4554"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-y="0"
+     inkscape:window-x="0"
+     inkscape:window-height="968"
+     inkscape:window-width="1280"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:cy="57.545109"
+     inkscape:cx="15.183899"
+     inkscape:zoom="3.0989011"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     borderlayer="true"
+     showborder="true"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1"
+     id="layer1"
+     transform="translate(-213.3568,12.4428)">
+    <path
+       transform="matrix(1.896061,0,0,1.896061,-374.8545,-700.975)"
+       d="m 339.53775,378.05789 c 0,7.71359 -6.25309,13.96668 -13.96667,13.96668 -7.71359,0 -13.96668,-6.25309 -13.96668,-13.96668 0,-7.71358 6.25309,-13.96668 13.96668,-13.96668 7.71358,0 13.96667,6.2531 13.96667,13.96668 z"
+       sodipodi:ry="13.966679"
+       sodipodi:rx="13.966679"
+       sodipodi:cy="378.05789"
+       sodipodi:cx="325.57108"
+       id="path5170"
+       style="color:black;fill:#aeab00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.62500000000000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(1.731185,0,0,1.731185,-321.1761,-638.6428)"
+       d="m 339.53775,378.05789 c 0,7.71359 -6.25309,13.96668 -13.96667,13.96668 -7.71359,0 -13.96668,-6.25309 -13.96668,-13.96668 0,-7.71358 6.25309,-13.96668 13.96668,-13.96668 7.71358,0 13.96667,6.2531 13.96667,13.96668 z"
+       sodipodi:ry="13.966679"
+       sodipodi:rx="13.966679"
+       sodipodi:cy="378.05789"
+       sodipodi:cx="325.57108"
+       id="path5172"
+       style="color:black;fill:url(#linearGradient5602);fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:0.72204876;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       id="path5174"
+       d="M 242.43189,-8.3201378 C 229.08514,-8.3201378 218.25709,2.507892 218.25711,15.854642 C 218.25711,22.267212 220.87405,27.997552 224.95258,32.326672 C 227.07143,14.826182 241.8421,1.2194221 259.9112,1.2194221 C 260.39841,1.2194221 260.85081,1.318382 261.33325,1.337922 C 256.91182,-4.4127679 250.24118,-8.3201378 242.43189,-8.3201378 z "
+       style="color:black;fill:url(#linearGradient6049);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61607176;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+    <path
+       style="color:#000000;fill:url(#linearGradient6046);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.75000167;marker:none;visibility:visible;display:inline;overflow:visible"
+       d="M 257.93856,20.01446 253.80724,24.1458 242.10689,12.445441 230.51874,24.03359 226.3568,19.87165 242.07629,4.1521608 257.93856,20.01446 z"
+       id="path5176"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
diff --git a/data/themes/default/arrows.svg b/data/themes/default/arrows.svg
new file mode 100644 (file)
index 0000000..92e1f9d
--- /dev/null
@@ -0,0 +1,376 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="512"
+   height="64"
+   id="svg2948"
+   version="1.1"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:docname="arrows.svg">
+  <defs
+     id="defs2950">
+    <radialGradient
+       r="26.692099"
+       fy="344.23474"
+       fx="641.50745"
+       cy="344.23474"
+       cx="641.50745"
+       gradientTransform="matrix(1,0,0,1.0006216,-160.27031,676.55878)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4453"
+       xlink:href="#linearGradient4315-9"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4315-9">
+      <stop
+         style="stop-color:#b469ff;stop-opacity:1;"
+         offset="0"
+         id="stop4317-0" />
+      <stop
+         style="stop-color:#7000de;stop-opacity:1;"
+         offset="1"
+         id="stop4319-6" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-160.27031,676.77274)"
+       y2="344.23474"
+       x2="668.19952"
+       y1="344.23474"
+       x1="614.81531"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4455"
+       xlink:href="#linearGradient5091-7"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5091-7">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop5093-9" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop5095-0" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5072-7"
+       id="radialGradient5094-1"
+       cx="384.26987"
+       cy="471.5892"
+       fx="384.26987"
+       fy="471.5892"
+       r="31.437084"
+       gradientTransform="matrix(0.96131646,0,0,0.96131644,-145.40496,567.0157)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5088-5">
+      <stop
+         style="stop-color:#6060ff;stop-opacity:1;"
+         offset="0"
+         id="stop5090-9" />
+      <stop
+         style="stop-color:#0000ff;stop-opacity:1;"
+         offset="1"
+         id="stop5092-4" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091-9"
+       id="linearGradient5097-9"
+       x1="415.46988"
+       y1="471.5892"
+       x2="353.58255"
+       y2="471.08411"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.96131646,0,0,0.96131644,-145.40496,567.01571)" />
+    <linearGradient
+       id="linearGradient5091-9">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop5093-1" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop5095-7" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5080-7"
+       id="radialGradient5086-7"
+       cx="320.26987"
+       cy="471.5892"
+       fx="320.26987"
+       fy="471.5892"
+       r="31.437082"
+       gradientTransform="matrix(0.96131325,-3.0089311e-6,3.0089412e-6,0.96131636,-147.88099,567.01669)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5080-7">
+      <stop
+         style="stop-color:#ffff80;stop-opacity:1;"
+         offset="0"
+         id="stop5082-1" />
+      <stop
+         style="stop-color:#ffff00;stop-opacity:1;"
+         offset="1"
+         id="stop5084-1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091-9"
+       id="linearGradient5089-5"
+       x1="320.26987"
+       y1="440.1521"
+       x2="319.88715"
+       y2="502.14633"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.96131651,0,0,0.96131646,-147.88071,567.01571)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5088-5"
+       id="radialGradient5078-6"
+       cx="256.26987"
+       cy="471.5892"
+       fx="256.26987"
+       fy="471.5892"
+       r="31.437082"
+       gradientTransform="matrix(0.98425198,-1.3778034e-6,1.3456973e-6,0.96131646,-156.23479,567.0161)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5072-7">
+      <stop
+         style="stop-color:#ff6b20;stop-opacity:1;"
+         offset="0"
+         id="stop5074-3" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="1"
+         id="stop5076-6" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091-9"
+       id="linearGradient5081-5"
+       x1="256.26987"
+       y1="503.77628"
+       x2="256.31409"
+       y2="440.69635"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.96131651,0,0,0.96131646,-150.35646,567.01571)" />
+    <radialGradient
+       r="31"
+       fy="471.5892"
+       fx="192.26987"
+       cy="471.5892"
+       cx="192.26987"
+       gradientTransform="matrix(0.96130346,0,0,0.96130343,-152.82969,567.02183)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3690"
+       xlink:href="#linearGradient5064-8"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5064-8">
+      <stop
+         style="stop-color:#20ff20;stop-opacity:1;"
+         offset="0"
+         id="stop5066-1" />
+      <stop
+         style="stop-color:#00a000;stop-opacity:1;"
+         offset="1"
+         id="stop5068-2" />
+    </linearGradient>
+    <linearGradient
+       y2="471.5892"
+       x2="223.70737"
+       y1="471.5892"
+       x1="160.83237"
+       gradientTransform="matrix(0.96130346,0,0,0.96130343,-152.82969,567.02185)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3692"
+       xlink:href="#linearGradient5091-9"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4307"
+       id="radialGradient4313"
+       cx="575.62433"
+       cy="344.82675"
+       fx="575.62433"
+       fy="344.82675"
+       r="26.708689"
+       gradientTransform="matrix(1,0,0,0.9993789,-160.26987,676.98715)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4307">
+      <stop
+         style="stop-color:#35ffff;stop-opacity:1;"
+         offset="0"
+         id="stop4309" />
+      <stop
+         style="stop-color:#00dbdb;stop-opacity:1;"
+         offset="1"
+         id="stop4311" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-160.26987,676.77298)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091-9"
+       id="linearGradient4279"
+       x1="548.91565"
+       y1="344.82675"
+       x2="602.33301"
+       y2="344.82675"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4299"
+       id="radialGradient4305"
+       cx="512.91541"
+       cy="342.35165"
+       fx="512.91541"
+       fy="342.35165"
+       r="26.708689"
+       gradientTransform="matrix(1,0,0,0.9993789,-160.26987,676.98561)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4299">
+      <stop
+         style="stop-color:#ff7cff;stop-opacity:1;"
+         offset="0"
+         id="stop4301" />
+      <stop
+         style="stop-color:#e400e4;stop-opacity:1;"
+         offset="1"
+         id="stop4303" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-160.26987,676.77298)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091-9"
+       id="linearGradient4271"
+       x1="486.20673"
+       y1="342.35165"
+       x2="539.62408"
+       y2="342.35165"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4289">
+      <stop
+         style="stop-color:#ff8f4c;stop-opacity:1;"
+         offset="0"
+         id="stop4291" />
+      <stop
+         style="stop-color:#f25b00;stop-opacity:1;"
+         offset="1"
+         id="stop4293" />
+    </linearGradient>
+    <radialGradient
+       r="26.692099"
+       fy="342.94363"
+       fx="447.03232"
+       cy="342.94363"
+       cx="447.03232"
+       gradientTransform="matrix(1,0,0,1.0006216,-160.26987,676.55982)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3060"
+       xlink:href="#linearGradient4289"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="342.94363"
+       x2="473.22443"
+       y1="342.94363"
+       x1="420.84024"
+       gradientTransform="translate(-160.26987,676.77298)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3062"
+       xlink:href="#linearGradient5091-9"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.98994949"
+     inkscape:cx="171.37241"
+     inkscape:cy="112.0218"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1283"
+     inkscape:window-height="912"
+     inkscape:window-x="16"
+     inkscape:window-y="62"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata2953">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <path
+       style="opacity:0.9;fill:url(#radialGradient3060);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3062);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 265.30767,998.24218 c -1.6047,2.26182 -1.44695,4.90442 -1.65632,6.69942 l -2.32405,32.2726 c -0.16032,2.2252 2.47482,3.8354 5.89688,3.6141 3.42206,-0.2212 6.28508,-2.1853 6.44539,-4.4104 l 1.38081,-19.1642 26.40961,26.4096 c 2.22732,2.2273 6.08773,1.9635 8.64187,-0.5907 2.55414,-2.5541 2.81801,-6.4145 0.59069,-8.6418 l -26.3875,-26.3875 20.3005,-1.4113 c 2.22478,-0.1543 4.20544,-3.048 4.43584,-6.4707 0.23041,-3.42272 -1.38934,-6.05122 -3.61411,-5.89692 l -33.26368,2.2534 c -3.08006,0.1207 -4.53845,-0.053 -6.85593,1.7244 z"
+       id="rect2823-7-2-7-7"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="opacity:0.9;fill:url(#radialGradient4305);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4271);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 374.11998,997.66988 c -2.26182,-1.6047 -4.90444,-1.447 -6.69936,-1.6563 l -32.27266,-2.3241 c -2.22517,-0.1603 -3.83538,2.4748 -3.61412,5.8969 0.22127,3.42202 2.18532,6.28502 4.41048,6.44532 l 19.16416,1.3809 -26.40962,26.4096 c -2.22731,2.2273 -1.96345,6.0877 0.59069,8.6418 2.55414,2.5542 6.41456,2.818 8.64187,0.5907 l 26.3875,-26.3875 1.41122,20.3005 c 0.15436,2.2248 3.04804,4.2055 6.47075,4.4359 3.4227,0.2304 6.05126,-1.3894 5.89688,-3.6141 l -2.25338,-33.2637 c -0.12073,-3.0801 0.0535,-4.53852 -1.72441,-6.85592 z"
+       id="rect2823-7-2-7-6-1"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="opacity:0.9;fill:url(#radialGradient4313);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4279);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 393.88002,1043.0545 c 2.26182,1.6047 4.90444,1.447 6.69936,1.6563 l 32.27266,2.3241 c 2.22517,0.1603 3.83538,-2.4748 3.61412,-5.8969 -0.22127,-3.4221 -2.18532,-6.2851 -4.41048,-6.4454 l -19.16416,-1.3808 26.40962,-26.4096 c 2.22731,-2.2273 1.96345,-6.0877 -0.59069,-8.64192 -2.55414,-2.5541 -6.41456,-2.818 -8.64187,-0.5907 l -26.3875,26.38752 -1.41122,-20.3005 c -0.15437,-2.2247 -3.04804,-4.20542 -6.47075,-4.43582 -3.4227,-0.2304 -6.05126,1.38942 -5.89688,3.61412 l 2.25338,33.2637 c 0.12073,3.08 -0.0535,4.5384 1.72441,6.8559 z"
+       id="rect2823-7-2-7-0-1"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="opacity:0.9;fill:url(#radialGradient3690);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3692);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 2.5,1020.739 c 0.43258,2.5453 2.27607,4.1811 3.31984,5.5005 l 19.71521,22.7751 c 1.35929,1.5703 4.15401,0.8956 6.2611,-1.5028 2.10709,-2.3984 2.69887,-5.576 1.33958,-7.1464 l -11.7068,-13.5248 34.77097,0 c 2.9325,0 5.3001,-2.715 5.3001,-6.0778 0,-3.3628 -2.3676,-6.0778 -5.3001,-6.0778 l -34.74185,0 12.43484,-14.2928 c 1.36295,-1.56622 0.76191,-4.77502 -1.33958,-7.17992 -2.1015,-2.4048 -4.89816,-3.0689 -6.26111,-1.5027 L 5.87809,1015.0905 C 3.92996,1017.1976 2.8552,1018.043 2.5,1020.739 z"
+       id="rect2823-7-9"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="fill:url(#radialGradient5078-6);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient5081-5);stroke-width:2.50000000000000000;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 95.62323,1049.8622 c -2.54534,-0.4326 -4.18112,-2.2761 -5.50056,-3.3199 l -22.77506,-19.7152 c -1.57037,-1.3593 -0.89566,-4.154 1.50275,-6.2611 2.39841,-2.107 5.57607,-2.6988 7.14643,-1.3395 l 13.52478,11.7068 0,-34.77102 c 0,-2.9325 2.71501,-5.3001 6.0778,-5.3001 3.36279,0 6.07781,2.3676 6.07781,5.3001 l 0,34.74182 14.29285,-12.4348 c 1.5662,-1.363 4.77498,-0.7619 7.17983,1.3396 2.40484,2.1015 3.06894,4.8981 1.50275,6.2611 l -23.38094,20.4141 c -2.10708,1.9481 -2.95246,3.0229 -5.64844,3.3781 z"
+       id="rect2823-7-2-77"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="fill:url(#radialGradient5086-7);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient5089-5);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 159.62323,990.86218 c -2.54534,0.4326 -4.18112,2.2761 -5.50056,3.3198 l -22.77506,19.71522 c -1.57037,1.3593 -0.89566,4.1541 1.50275,6.2611 2.39841,2.1071 5.57607,2.6989 7.14643,1.3396 l 13.52478,-11.7068 0,34.771 c 0,2.9325 2.71501,5.3001 6.0778,5.3001 3.36279,0 6.07781,-2.3676 6.07781,-5.3001 l 0,-34.7419 14.29285,12.4349 c 1.5662,1.3629 4.77498,0.7619 7.17983,-1.3396 2.40484,-2.1015 3.06894,-4.8982 1.50275,-6.2611 l -23.38094,-20.41412 c -2.10708,-1.9481 -2.95246,-3.0229 -5.64844,-3.3781 z"
+       id="rect2823-7-2-9-6"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="fill:url(#radialGradient5094-1);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient5097-9);stroke-width:2.50000000000000000;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 253.5,1019.9854 c -0.43258,-2.5453 -2.27607,-4.1811 -3.31985,-5.5006 l -19.7152,-22.77502 c -1.3593,-1.5704 -4.15402,-0.8957 -6.2611,1.5028 -2.10709,2.3984 -2.69889,5.576 -1.33958,7.14642 l 11.70679,13.5247 -15.1824,0 -19.58857,0 c -2.93248,0 -5.30009,2.7151 -5.30009,6.0778 0,3.3628 2.36761,6.0778 5.30009,6.0778 l 34.74185,0 -12.43484,14.2929 c -1.36295,1.5662 -0.76191,4.775 1.33959,7.1798 2.10149,2.4049 4.89816,3.069 6.2611,1.5028 l 20.41412,-23.381 c 1.94813,-2.107 3.02288,-2.9524 3.37809,-5.6484 z"
+       id="rect2823-7-2-92-7"
+       sodipodi:nodetypes="cccsccccscccsccc" />
+    <path
+       style="opacity:0.9;fill:url(#radialGradient4453);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4455);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 502.69188,1042.4819 c 1.6047,-2.2618 1.44695,-4.9044 1.65632,-6.6993 l 2.32405,-32.2727 c 0.16032,-2.2252 -2.47482,-3.83542 -5.89688,-3.61412 -3.42206,0.22132 -6.28508,2.18532 -6.44539,4.41052 l -1.38081,19.1641 -26.40961,-26.40962 c -2.22732,-2.2273 -6.08773,-1.9634 -8.64187,0.5907 -2.55414,2.55422 -2.81801,6.41452 -0.59069,8.64192 l 26.3875,26.3875 -20.3005,1.4112 c -2.22478,0.1543 -4.20544,3.048 -4.43584,6.4707 -0.23041,3.4227 1.38934,6.0513 3.61411,5.8969 l 33.26368,-2.2534 c 3.08006,-0.1207 4.53845,0.053 6.85593,-1.7244 z"
+       id="rect2823-7-2-7-3"
+       sodipodi:nodetypes="cccscccscccsccc" />
+  </g>
+</svg>
diff --git a/data/themes/default/arrows_cursor.svg b/data/themes/default/arrows_cursor.svg
new file mode 100644 (file)
index 0000000..1a27cf5
--- /dev/null
@@ -0,0 +1,477 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="512"
+   height="64"
+   id="svg2948"
+   version="1.1"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:docname="arrows_cursor.svg">
+  <defs
+     id="defs2950">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2956" />
+    <inkscape:perspective
+       id="perspective2966"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <radialGradient
+       r="26.692099"
+       fy="344.23474"
+       fx="641.50745"
+       cy="344.23474"
+       cx="641.50745"
+       gradientTransform="matrix(1,0,0,1.0006216,-160.27031,676.55878)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4453"
+       xlink:href="#linearGradient4315-9"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4315-9">
+      <stop
+         style="stop-color:#b469ff;stop-opacity:1;"
+         offset="0"
+         id="stop4317-0" />
+      <stop
+         style="stop-color:#7000de;stop-opacity:1;"
+         offset="1"
+         id="stop4319-6" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-160.27031,676.77274)"
+       y2="344.23474"
+       x2="668.19952"
+       y1="344.23474"
+       x1="614.81531"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4455"
+       xlink:href="#linearGradient5091-7"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5091-7">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop5093-9" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop5095-0" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5072-7"
+       id="radialGradient5094-1"
+       cx="384.26987"
+       cy="471.5892"
+       fx="384.26987"
+       fy="471.5892"
+       r="31.437084"
+       gradientTransform="matrix(0.96131646,0,0,0.96131644,-145.40496,567.0157)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5088-5">
+      <stop
+         style="stop-color:#6060ff;stop-opacity:1;"
+         offset="0"
+         id="stop5090-9" />
+      <stop
+         style="stop-color:#0000ff;stop-opacity:1;"
+         offset="1"
+         id="stop5092-4" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091-9"
+       id="linearGradient5097-9"
+       x1="415.46988"
+       y1="471.5892"
+       x2="353.58255"
+       y2="471.08411"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.96131646,0,0,0.96131644,-145.40496,567.01571)" />
+    <linearGradient
+       id="linearGradient5091-9">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop5093-1" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop5095-7" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5080-7"
+       id="radialGradient5086-7"
+       cx="320.26987"
+       cy="471.5892"
+       fx="320.26987"
+       fy="471.5892"
+       r="31.437082"
+       gradientTransform="matrix(0.96131325,-3.0089311e-6,3.0089412e-6,0.96131636,-147.88099,567.01669)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5080-7">
+      <stop
+         style="stop-color:#ffff80;stop-opacity:1;"
+         offset="0"
+         id="stop5082-1" />
+      <stop
+         style="stop-color:#ffff00;stop-opacity:1;"
+         offset="1"
+         id="stop5084-1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091-9"
+       id="linearGradient5089-5"
+       x1="320.26987"
+       y1="440.1521"
+       x2="319.88715"
+       y2="502.14633"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.96131651,0,0,0.96131646,-147.88071,567.01571)" />
+    <linearGradient
+       id="linearGradient2991">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop2993" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop2995" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5088-5"
+       id="radialGradient5078-6"
+       cx="256.26987"
+       cy="471.5892"
+       fx="256.26987"
+       fy="471.5892"
+       r="31.437082"
+       gradientTransform="matrix(0.98425198,-1.3778034e-6,1.3456973e-6,0.96131646,-156.23479,567.0161)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5072-7">
+      <stop
+         style="stop-color:#ff6020;stop-opacity:1;"
+         offset="0"
+         id="stop5074-3" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="1"
+         id="stop5076-6" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091-9"
+       id="linearGradient5081-5"
+       x1="256.26987"
+       y1="503.77628"
+       x2="256.31409"
+       y2="440.69635"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.96131651,0,0,0.96131646,-150.35646,567.01571)" />
+    <linearGradient
+       id="linearGradient3002">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3004" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3006" />
+    </linearGradient>
+    <radialGradient
+       r="31"
+       fy="471.5892"
+       fx="192.26987"
+       cy="471.5892"
+       cx="192.26987"
+       gradientTransform="matrix(0.96130346,0,0,0.96130343,-152.82969,567.02183)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3690"
+       xlink:href="#linearGradient5064-8"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5064-8">
+      <stop
+         style="stop-color:#20ff20;stop-opacity:1;"
+         offset="0"
+         id="stop5066-1" />
+      <stop
+         style="stop-color:#00a000;stop-opacity:1;"
+         offset="1"
+         id="stop5068-2" />
+    </linearGradient>
+    <linearGradient
+       y2="471.5892"
+       x2="223.70737"
+       y1="471.5892"
+       x1="160.83237"
+       gradientTransform="matrix(0.96130346,0,0,0.96130343,-152.82969,567.02185)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3692"
+       xlink:href="#linearGradient5091-9"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3013">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3015" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3017" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4307"
+       id="radialGradient4313"
+       cx="575.62433"
+       cy="344.82675"
+       fx="575.62433"
+       fy="344.82675"
+       r="26.708689"
+       gradientTransform="matrix(1,0,0,0.9993789,-160.26987,676.98715)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4307">
+      <stop
+         style="stop-color:#35ffff;stop-opacity:1;"
+         offset="0"
+         id="stop4309" />
+      <stop
+         style="stop-color:#00dbdb;stop-opacity:1;"
+         offset="1"
+         id="stop4311" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-160.26987,676.77298)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091-9"
+       id="linearGradient4279"
+       x1="548.91565"
+       y1="344.82675"
+       x2="602.33301"
+       y2="344.82675"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3024">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3026" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3028" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4299"
+       id="radialGradient4305"
+       cx="512.91541"
+       cy="342.35165"
+       fx="512.91541"
+       fy="342.35165"
+       r="26.708689"
+       gradientTransform="matrix(1,0,0,0.9993789,-160.26987,676.98561)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4299">
+      <stop
+         style="stop-color:#ff7cff;stop-opacity:1;"
+         offset="0"
+         id="stop4301" />
+      <stop
+         style="stop-color:#e400e4;stop-opacity:1;"
+         offset="1"
+         id="stop4303" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-160.26987,676.77298)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091-9"
+       id="linearGradient4271"
+       x1="486.20673"
+       y1="342.35165"
+       x2="539.62408"
+       y2="342.35165"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3035">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3037" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3039" />
+    </linearGradient>
+    <radialGradient
+       r="26.692099"
+       fy="342.94363"
+       fx="447.03232"
+       cy="342.94363"
+       cx="447.03232"
+       gradientTransform="matrix(1,0,0,1.0006216,-5e-6,127.78684)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4428"
+       xlink:href="#linearGradient4289"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4289">
+      <stop
+         style="stop-color:#ff8f4c;stop-opacity:1;"
+         offset="0"
+         id="stop4291" />
+      <stop
+         style="stop-color:#f25b00;stop-opacity:1;"
+         offset="1"
+         id="stop4293" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-5e-6,128)"
+       y2="342.94363"
+       x2="473.22443"
+       y1="342.94363"
+       x1="420.84024"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4430"
+       xlink:href="#linearGradient5091-9"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3046">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3048" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3050" />
+    </linearGradient>
+    <radialGradient
+       r="26.692099"
+       fy="342.94363"
+       fx="447.03232"
+       cy="342.94363"
+       cx="447.03232"
+       gradientTransform="matrix(1,0,0,1.0006216,-160.26987,676.55982)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3060"
+       xlink:href="#linearGradient4289"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="342.94363"
+       x2="473.22443"
+       y1="342.94363"
+       x1="420.84024"
+       gradientTransform="translate(-160.26987,676.77298)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3062"
+       xlink:href="#linearGradient5091-9"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.98994949"
+     inkscape:cx="259.23355"
+     inkscape:cy="152.4279"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1080"
+     inkscape:window-height="765"
+     inkscape:window-x="58"
+     inkscape:window-y="75"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata2953">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <path
+       style="opacity:0.9;fill:url(#radialGradient3060);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3062);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 265.30767,998.24218 c -1.6047,2.26182 -1.44695,4.90442 -1.65632,6.69942 l -2.32405,32.2726 c -0.16032,2.2252 2.47482,3.8354 5.89688,3.6141 3.42206,-0.2212 6.28508,-2.1853 6.44539,-4.4104 l 1.38081,-19.1642 26.40961,26.4096 c 2.22732,2.2273 6.08773,1.9635 8.64187,-0.5907 2.55414,-2.5541 2.81801,-6.4145 0.59069,-8.6418 l -26.3875,-26.3875 20.3005,-1.4113 c 2.22478,-0.1543 4.20544,-3.048 4.43584,-6.4707 0.23041,-3.42272 -1.38934,-6.05122 -3.61411,-5.89692 l -33.26368,2.2534 c -3.08006,0.1207 -4.53845,-0.053 -6.85593,1.7244 z"
+       id="rect2823-7-2-7-7"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="opacity:0.9;fill:url(#radialGradient4305);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4271);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 374.11998,997.66988 c -2.26182,-1.6047 -4.90444,-1.447 -6.69936,-1.6563 l -32.27266,-2.3241 c -2.22517,-0.1603 -3.83538,2.4748 -3.61412,5.8969 0.22127,3.42202 2.18532,6.28502 4.41048,6.44532 l 19.16416,1.3809 -26.40962,26.4096 c -2.22731,2.2273 -1.96345,6.0877 0.59069,8.6418 2.55414,2.5542 6.41456,2.818 8.64187,0.5907 l 26.3875,-26.3875 1.41122,20.3005 c 0.15436,2.2248 3.04804,4.2055 6.47075,4.4359 3.4227,0.2304 6.05126,-1.3894 5.89688,-3.6141 l -2.25338,-33.2637 c -0.12073,-3.0801 0.0535,-4.53852 -1.72441,-6.85592 z"
+       id="rect2823-7-2-7-6-1"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="opacity:0.9;fill:url(#radialGradient4313);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4279);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 393.88002,1043.0545 c 2.26182,1.6047 4.90444,1.447 6.69936,1.6563 l 32.27266,2.3241 c 2.22517,0.1603 3.83538,-2.4748 3.61412,-5.8969 -0.22127,-3.4221 -2.18532,-6.2851 -4.41048,-6.4454 l -19.16416,-1.3808 26.40962,-26.4096 c 2.22731,-2.2273 1.96345,-6.0877 -0.59069,-8.64192 -2.55414,-2.5541 -6.41456,-2.818 -8.64187,-0.5907 l -26.3875,26.38752 -1.41122,-20.3005 c -0.15437,-2.2247 -3.04804,-4.20542 -6.47075,-4.43582 -3.4227,-0.2304 -6.05126,1.38942 -5.89688,3.61412 l 2.25338,33.2637 c 0.12073,3.08 -0.0535,4.5384 1.72441,6.8559 z"
+       id="rect2823-7-2-7-0-1"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="fill:url(#radialGradient3690);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3692);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 2.5,1020.739 c 0.43258,2.5453 2.27607,4.1811 3.31984,5.5005 l 19.71521,22.7751 c 1.35929,1.5703 4.15401,0.8956 6.2611,-1.5028 2.10709,-2.3984 2.69887,-5.576 1.33958,-7.1464 l -11.7068,-13.5248 34.77097,0 c 2.9325,0 5.3001,-2.715 5.3001,-6.0778 0,-3.3628 -2.3676,-6.0778 -5.3001,-6.0778 l -34.74185,0 12.43484,-14.2928 c 1.36295,-1.56622 0.76191,-4.77502 -1.33958,-7.17992 -2.1015,-2.4048 -4.89816,-3.0689 -6.26111,-1.5027 L 5.87809,1015.0905 C 3.92996,1017.1976 2.8552,1018.043 2.5,1020.739 z"
+       id="rect2823-7-9"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="fill:url(#radialGradient5078-6);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient5081-5);stroke-width:2.50000000000000000;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 95.62323,1049.8622 c -2.54534,-0.4326 -4.18112,-2.2761 -5.50056,-3.3199 l -22.77506,-19.7152 c -1.57037,-1.3593 -0.89566,-4.154 1.50275,-6.2611 2.39841,-2.107 5.57607,-2.6988 7.14643,-1.3395 l 13.52478,11.7068 0,-34.77102 c 0,-2.9325 2.71501,-5.3001 6.0778,-5.3001 3.36279,0 6.07781,2.3676 6.07781,5.3001 l 0,34.74182 14.29285,-12.4348 c 1.5662,-1.363 4.77498,-0.7619 7.17983,1.3396 2.40484,2.1015 3.06894,4.8981 1.50275,6.2611 l -23.38094,20.4141 c -2.10708,1.9481 -2.95246,3.0229 -5.64844,3.3781 z"
+       id="rect2823-7-2-77"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="fill:url(#radialGradient5086-7);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient5089-5);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 159.62323,990.86218 c -2.54534,0.4326 -4.18112,2.2761 -5.50056,3.3198 l -22.77506,19.71522 c -1.57037,1.3593 -0.89566,4.1541 1.50275,6.2611 2.39841,2.1071 5.57607,2.6989 7.14643,1.3396 l 13.52478,-11.7068 0,34.771 c 0,2.9325 2.71501,5.3001 6.0778,5.3001 3.36279,0 6.07781,-2.3676 6.07781,-5.3001 l 0,-34.7419 14.29285,12.4349 c 1.5662,1.3629 4.77498,0.7619 7.17983,-1.3396 2.40484,-2.1015 3.06894,-4.8982 1.50275,-6.2611 l -23.38094,-20.41412 c -2.10708,-1.9481 -2.95246,-3.0229 -5.64844,-3.3781 z"
+       id="rect2823-7-2-9-6"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="fill:url(#radialGradient5094-1);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient5097-9);stroke-width:2.50000000000000000;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 253.5,1019.9854 c -0.43258,-2.5453 -2.27607,-4.1811 -3.31985,-5.5006 l -19.7152,-22.77502 c -1.3593,-1.5704 -4.15402,-0.8957 -6.2611,1.5028 -2.10709,2.3984 -2.69889,5.576 -1.33958,7.14642 l 11.70679,13.5247 -15.1824,0 -19.58857,0 c -2.93248,0 -5.30009,2.7151 -5.30009,6.0778 0,3.3628 2.36761,6.0778 5.30009,6.0778 l 34.74185,0 -12.43484,14.2929 c -1.36295,1.5662 -0.76191,4.775 1.33959,7.1798 2.10149,2.4049 4.89816,3.069 6.2611,1.5028 l 20.41412,-23.381 c 1.94813,-2.107 3.02288,-2.9524 3.37809,-5.6484 z"
+       id="rect2823-7-2-92-7"
+       sodipodi:nodetypes="cccsccccscccsccc" />
+    <path
+       style="opacity:0.9;fill:url(#radialGradient4453);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4455);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 502.69188,1042.4819 c 1.6047,-2.2618 1.44695,-4.9044 1.65632,-6.6993 l 2.32405,-32.2727 c 0.16032,-2.2252 -2.47482,-3.83542 -5.89688,-3.61412 -3.42206,0.22132 -6.28508,2.18532 -6.44539,4.41052 l -1.38081,19.1641 -26.40961,-26.40962 c -2.22732,-2.2273 -6.08773,-1.9634 -8.64187,0.5907 -2.55414,2.55422 -2.81801,6.41452 -0.59069,8.64192 l 26.3875,26.3875 -20.3005,1.4112 c -2.22478,0.1543 -4.20544,3.048 -4.43584,6.4707 -0.23041,3.4227 1.38934,6.0513 3.61411,5.8969 l 33.26368,-2.2534 c 3.08006,-0.1207 4.53845,0.053 6.85593,-1.7244 z"
+       id="rect2823-7-2-7-3"
+       sodipodi:nodetypes="cccscccscccsccc" />
+  </g>
+</svg>
diff --git a/data/themes/default/arrows_hold.svg b/data/themes/default/arrows_hold.svg
new file mode 100644 (file)
index 0000000..878bea3
--- /dev/null
@@ -0,0 +1,733 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="512"
+   height="192"
+   id="svg3163"
+   version="1.1"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:docname="arrows_hold.svg">
+  <defs
+     id="defs3165">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective3171" />
+    <inkscape:perspective
+       id="perspective3016"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5072-7"
+       id="radialGradient5094-1"
+       cx="384.26987"
+       cy="471.5892"
+       fx="384.26987"
+       fy="471.5892"
+       r="31.437084"
+       gradientTransform="matrix(0.96131646,0,0,0.96131644,-145.40496,439.0157)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5088-5">
+      <stop
+         style="stop-color:#6060ff;stop-opacity:1;"
+         offset="0"
+         id="stop5090-9" />
+      <stop
+         style="stop-color:#0000ff;stop-opacity:1;"
+         offset="1"
+         id="stop5092-4" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091"
+       id="linearGradient5097-9"
+       x1="415.46988"
+       y1="471.5892"
+       x2="353.58255"
+       y2="471.08411"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.96131646,0,0,0.96131644,-145.40496,439.01571)" />
+    <linearGradient
+       id="linearGradient5091">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop5093" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop5095" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5080-7"
+       id="radialGradient5086-7"
+       cx="320.26987"
+       cy="471.5892"
+       fx="320.26987"
+       fy="471.5892"
+       r="31.437082"
+       gradientTransform="matrix(0.96131325,-3.0089311e-6,3.0089412e-6,0.96131636,-147.88099,439.01669)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5080-7">
+      <stop
+         style="stop-color:#ffff80;stop-opacity:1;"
+         offset="0"
+         id="stop5082-1" />
+      <stop
+         style="stop-color:#ffff00;stop-opacity:1;"
+         offset="1"
+         id="stop5084-1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091"
+       id="linearGradient5089-5"
+       x1="320.26987"
+       y1="440.1521"
+       x2="319.88715"
+       y2="502.14633"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.96131651,0,0,0.96131646,-147.88071,439.01571)" />
+    <linearGradient
+       id="linearGradient3033">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3035" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3037" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5088-5"
+       id="radialGradient5078-6"
+       cx="256.26987"
+       cy="471.5892"
+       fx="256.26987"
+       fy="471.5892"
+       r="31.437082"
+       gradientTransform="matrix(0.98425198,-1.3778034e-6,1.3456973e-6,0.96131646,-156.23479,439.0161)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5072-7">
+      <stop
+         style="stop-color:#ff6020;stop-opacity:1;"
+         offset="0"
+         id="stop5074-3" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="1"
+         id="stop5076-6" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091"
+       id="linearGradient5081-5"
+       x1="256.26987"
+       y1="503.77628"
+       x2="256.31409"
+       y2="440.69635"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.96131651,0,0,0.96131646,-150.35646,439.01571)" />
+    <linearGradient
+       id="linearGradient3044">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3046" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3048" />
+    </linearGradient>
+    <radialGradient
+       r="31"
+       fy="471.5892"
+       fx="192.26987"
+       cy="471.5892"
+       cx="192.26987"
+       gradientTransform="matrix(0.96130346,0,0,0.96130343,-152.82969,439.02183)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3690"
+       xlink:href="#linearGradient5064-8"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5064-8">
+      <stop
+         style="stop-color:#20ff20;stop-opacity:1;"
+         offset="0"
+         id="stop5066-1" />
+      <stop
+         style="stop-color:#00a000;stop-opacity:1;"
+         offset="1"
+         id="stop5068-2" />
+    </linearGradient>
+    <linearGradient
+       y2="471.5892"
+       x2="223.70737"
+       y1="471.5892"
+       x1="160.83237"
+       gradientTransform="matrix(0.96130346,0,0,0.96130343,-152.82969,439.02185)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3692"
+       xlink:href="#linearGradient5091"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3055">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3057" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3059" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4315"
+       id="radialGradient4321"
+       cx="641.50745"
+       cy="344.23474"
+       fx="641.50745"
+       fy="344.23474"
+       r="26.692099"
+       gradientTransform="matrix(1,0,0,1.0006216,-160.26987,548.559)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4315">
+      <stop
+         style="stop-color:#b469ff;stop-opacity:1;"
+         offset="0"
+         id="stop4317" />
+      <stop
+         style="stop-color:#7000de;stop-opacity:1;"
+         offset="1"
+         id="stop4319" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-160.26987,548.77297)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091"
+       id="linearGradient4287"
+       x1="614.81531"
+       y1="344.23474"
+       x2="668.19952"
+       y2="344.23474"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3066">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3068" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3070" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4307"
+       id="radialGradient4313"
+       cx="575.62433"
+       cy="344.82675"
+       fx="575.62433"
+       fy="344.82675"
+       r="26.708689"
+       gradientTransform="matrix(1,0,0,0.9993789,-160.26987,548.98714)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4307">
+      <stop
+         style="stop-color:#35ffff;stop-opacity:1;"
+         offset="0"
+         id="stop4309" />
+      <stop
+         style="stop-color:#00dbdb;stop-opacity:1;"
+         offset="1"
+         id="stop4311" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-160.26987,548.77297)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091"
+       id="linearGradient4279"
+       x1="548.91565"
+       y1="344.82675"
+       x2="602.33301"
+       y2="344.82675"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3077">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3079" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3081" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4299"
+       id="radialGradient4305"
+       cx="512.91541"
+       cy="342.35165"
+       fx="512.91541"
+       fy="342.35165"
+       r="26.708689"
+       gradientTransform="matrix(1,0,0,0.9993789,-160.26987,548.9856)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4299">
+      <stop
+         style="stop-color:#ff7cff;stop-opacity:1;"
+         offset="0"
+         id="stop4301" />
+      <stop
+         style="stop-color:#e400e4;stop-opacity:1;"
+         offset="1"
+         id="stop4303" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-160.26987,548.77297)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091"
+       id="linearGradient4271"
+       x1="486.20673"
+       y1="342.35165"
+       x2="539.62408"
+       y2="342.35165"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3088">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3090" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3092" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4289"
+       id="radialGradient4297"
+       cx="447.03232"
+       cy="342.94363"
+       fx="447.03232"
+       fy="342.94363"
+       r="26.692099"
+       gradientTransform="matrix(1,0,0,1.0006216,-160.26987,548.55981)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4289">
+      <stop
+         style="stop-color:#ff8f4c;stop-opacity:1;"
+         offset="0"
+         id="stop4291" />
+      <stop
+         style="stop-color:#f25b00;stop-opacity:1;"
+         offset="1"
+         id="stop4293" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-160.26987,548.77297)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5091"
+       id="linearGradient4263"
+       x1="420.84024"
+       y1="342.94363"
+       x2="473.22443"
+       y2="342.94363"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3099">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3101" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3103" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5080"
+       id="linearGradient5088"
+       x1="-0.75"
+       y1="110.88067"
+       x2="64.75"
+       y2="110.88067"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.0220971,3.5771484e-6,856.26364)" />
+    <linearGradient
+       id="linearGradient5080">
+      <stop
+         style="stop-color:#00ff00;stop-opacity:0;"
+         offset="0"
+         id="stop5082" />
+      <stop
+         id="stop5090"
+         offset="0.5"
+         style="stop-color:#00ff00;stop-opacity:1;" />
+      <stop
+         style="stop-color:#00ff00;stop-opacity:0;"
+         offset="1"
+         id="stop5084" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(1,0,0,0.93686547,64.000013,872.53269)"
+       y2="110.88067"
+       x2="64.75"
+       y1="110.88067"
+       x1="-0.75"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5110"
+       xlink:href="#linearGradient5080-0"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5133">
+      <stop
+         id="stop5135"
+         offset="0"
+         style="stop-color:#ff0000;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0.5"
+         id="stop5137" />
+      <stop
+         id="stop5139"
+         offset="1"
+         style="stop-color:#ff0000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       y2="110.88067"
+       x2="64.75"
+       y1="110.88067"
+       x1="-0.75"
+       spreadMethod="pad"
+       gradientTransform="matrix(1,0,0,1.1483661,256.00001,832.16137)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4111"
+       xlink:href="#linearGradient5080-0-0"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5080-0-0">
+      <stop
+         style="stop-color:#ff6000;stop-opacity:0;"
+         offset="0"
+         id="stop5082-0-3" />
+      <stop
+         id="stop5090-2-3"
+         offset="0.5"
+         style="stop-color:#ff6000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ff6000;stop-opacity:0;"
+         offset="1"
+         id="stop5084-9-6" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(1,0,0,1.0410374,192,852.64831)"
+       y2="110.88067"
+       x2="64.75"
+       y1="110.88067"
+       x1="-0.75"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5110-6"
+       xlink:href="#linearGradient5133"
+       inkscape:collect="always"
+       spreadMethod="pad" />
+    <linearGradient
+       id="linearGradient5080-0">
+      <stop
+         style="stop-color:#0000ff;stop-opacity:0;"
+         offset="0"
+         id="stop5082-0" />
+      <stop
+         id="stop5090-2"
+         offset="0.5"
+         style="stop-color:#0000ff;stop-opacity:1;" />
+      <stop
+         style="stop-color:#0000ff;stop-opacity:0;"
+         offset="1"
+         id="stop5084-9" />
+    </linearGradient>
+    <linearGradient
+       y2="110.88067"
+       x2="64.75"
+       y1="110.88067"
+       x1="-0.75"
+       spreadMethod="pad"
+       gradientTransform="matrix(1,0,0,1.1483661,320.00002,832.16138)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4152"
+       xlink:href="#linearGradient5080-0-0-2"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5080-0-0-2">
+      <stop
+         style="stop-color:#ff00ff;stop-opacity:0;"
+         offset="0"
+         id="stop5082-0-3-7" />
+      <stop
+         id="stop5090-2-3-5"
+         offset="0.5"
+         style="stop-color:#ff00ff;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ff00ff;stop-opacity:0;"
+         offset="1"
+         id="stop5084-9-6-7" />
+    </linearGradient>
+    <linearGradient
+       y2="110.88067"
+       x2="64.75"
+       y1="110.88067"
+       x1="-0.75"
+       gradientTransform="matrix(1,0,0,0.90937494,384.00005,877.78016)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4193"
+       xlink:href="#linearGradient5133-4"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5133-4">
+      <stop
+         id="stop5135-4"
+         offset="0"
+         style="stop-color:#00ffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#00ffff;stop-opacity:1;"
+         offset="0.5"
+         id="stop5137-6" />
+      <stop
+         id="stop5139-8"
+         offset="1"
+         style="stop-color:#00ffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       y2="110.88067"
+       x2="64.75"
+       y1="110.88067"
+       x1="-0.75"
+       gradientTransform="matrix(1,0,0,0.91562494,448.00001,876.58716)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4234"
+       xlink:href="#linearGradient5133-4-1"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5133-4-1">
+      <stop
+         id="stop5135-4-3"
+         offset="0"
+         style="stop-color:#8000ff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#8000ff;stop-opacity:1;"
+         offset="0.5"
+         id="stop5137-6-3" />
+      <stop
+         id="stop5139-8-9"
+         offset="1"
+         style="stop-color:#8000ff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(1,0,0,1.0820749,288.26986,297.04201)"
+       y2="110.88067"
+       x2="64.75"
+       y1="110.88067"
+       x1="-0.75"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5110-8"
+       xlink:href="#linearGradient5162"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5162">
+      <stop
+         id="stop5164"
+         offset="0"
+         style="stop-color:#ffff00;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffff00;stop-opacity:1;"
+         offset="0.5"
+         id="stop5166" />
+      <stop
+         id="stop5168"
+         offset="1"
+         style="stop-color:#ffff00;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       y2="110.88067"
+       x2="64.75"
+       y1="110.88067"
+       x1="-0.75"
+       gradientTransform="matrix(1,0,0,1.0820749,127.99999,844.81501)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3161"
+       xlink:href="#linearGradient5162"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.979899"
+     inkscape:cx="172.07259"
+     inkscape:cy="116.77159"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1297"
+     inkscape:window-height="786"
+     inkscape:window-x="68"
+     inkscape:window-y="38"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata3168">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-860.36218)">
+    <rect
+       style="fill:url(#linearGradient3161);fill-opacity:1;fill-rule:nonzero;stroke:none"
+       id="rect2858-7"
+       width="64"
+       height="173.13199"
+       x="128"
+       y="878.23016"
+       ry="19.323547" />
+    <rect
+       style="fill:url(#linearGradient4234);fill-opacity:1;fill-rule:nonzero;stroke:none"
+       id="rect2858-4-1-4"
+       width="64"
+       height="146.5"
+       x="448.00006"
+       y="904.86218"
+       ry="16.351105" />
+    <rect
+       style="fill:url(#linearGradient4193);fill-opacity:1;fill-rule:nonzero;stroke:none"
+       id="rect2858-4-1"
+       width="64"
+       height="145.5"
+       x="384.00006"
+       y="905.86218"
+       ry="16.239492" />
+    <rect
+       style="fill:url(#linearGradient4152);fill-opacity:1;fill-rule:nonzero;stroke:none"
+       id="rect2858-5-1-5"
+       width="64"
+       height="183.73857"
+       x="320"
+       y="867.6236"
+       ry="20.507366" />
+    <rect
+       style="fill:url(#linearGradient5110-6);fill-opacity:1.0;fill-rule:nonzero;stroke:none"
+       id="rect2858-5"
+       width="64"
+       height="166.56598"
+       x="192"
+       y="884.7962"
+       ry="18.590704" />
+    <rect
+       style="fill:url(#linearGradient4111);fill-opacity:1;fill-rule:nonzero;stroke:none"
+       id="rect2858-5-1"
+       width="64"
+       height="183.73857"
+       x="256"
+       y="867.6236"
+       ry="20.507366" />
+    <rect
+       style="fill:url(#linearGradient5110);fill-opacity:1.0;fill-rule:nonzero;stroke:none"
+       id="rect2858-4"
+       width="64"
+       height="149.89848"
+       x="64"
+       y="901.46368"
+       ry="16.730415" />
+    <rect
+       style="fill:url(#linearGradient5088);fill-opacity:1;fill-rule:nonzero;stroke:none"
+       id="rect2858"
+       width="64"
+       height="163.53552"
+       x="0"
+       y="887.82666"
+       ry="18.252472" />
+    <path
+       style="opacity:1;fill:url(#radialGradient4297);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4263);stroke-width:2.50000000000000000;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 265.30767,870.24219 c -1.6047,2.26182 -1.44695,4.90443 -1.65632,6.69936 l -2.32405,32.27266 c -0.16032,2.22516 2.47482,3.83538 5.89688,3.61411 3.42206,-0.22127 6.28508,-2.18531 6.44539,-4.41047 l 1.38081,-19.16417 26.40961,26.40962 c 2.22732,2.22732 6.08773,1.96345 8.64187,-0.59069 2.55414,-2.55414 2.81801,-6.41455 0.59069,-8.64187 l -26.3875,-26.3875 20.3005,-1.41121 c 2.22478,-0.15437 4.20544,-3.04805 4.43584,-6.47076 0.23041,-3.42269 -1.38934,-6.05125 -3.61411,-5.89688 l -33.26368,2.25339 c -3.08006,0.12073 -4.53845,-0.0535 -6.85593,1.72441 z"
+       id="rect2823-7-2-7"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="opacity:1;fill:url(#radialGradient4305);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4271);stroke-width:2.50000000000000000;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 374.11998,869.66984 c -2.26182,-1.60471 -4.90444,-1.44695 -6.69936,-1.65632 l -32.27266,-2.32406 c -2.22517,-0.16031 -3.83538,2.47483 -3.61412,5.89689 0.22127,3.42205 2.18532,6.28507 4.41048,6.44538 l 19.16416,1.38081 -26.40962,26.40962 c -2.22731,2.22731 -1.96345,6.08772 0.59069,8.64186 2.55414,2.55414 6.41456,2.81801 8.64187,0.5907 l 26.3875,-26.3875 1.41122,20.3005 c 0.15436,2.22477 3.04804,4.20544 6.47075,4.43584 3.4227,0.2304 6.05126,-1.38935 5.89688,-3.61412 l -2.25338,-33.26368 c -0.12073,-3.08006 0.0535,-4.53845 -1.72441,-6.85592 z"
+       id="rect2823-7-2-7-6"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="opacity:1;fill:url(#radialGradient4313);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4279);stroke-width:2.50000000000000000;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 393.88002,915.05449 c 2.26182,1.60471 4.90444,1.44695 6.69936,1.65632 l 32.27266,2.32406 c 2.22517,0.16031 3.83538,-2.47483 3.61412,-5.89689 -0.22127,-3.42205 -2.18532,-6.28507 -4.41048,-6.44538 l -19.16416,-1.38081 26.40962,-26.40962 c 2.22731,-2.22731 1.96345,-6.08772 -0.59069,-8.64186 -2.55414,-2.55414 -6.41456,-2.81801 -8.64187,-0.5907 l -26.3875,26.3875 -1.41122,-20.3005 c -0.15437,-2.22477 -3.04804,-4.20544 -6.47075,-4.43584 -3.4227,-0.2304 -6.05126,1.38935 -5.89688,3.61412 l 2.25338,33.26368 c 0.12073,3.08006 -0.0535,4.53845 1.72441,6.85592 z"
+       id="rect2823-7-2-7-0"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="opacity:1;fill:url(#radialGradient4321);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4287);stroke-width:2.50000000000000000;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 502.69233,914.48214 c 1.6047,-2.26182 1.44695,-4.90443 1.65632,-6.69936 l 2.32405,-32.27266 c 0.16032,-2.22516 -2.47482,-3.83538 -5.89688,-3.61411 -3.42206,0.22127 -6.28508,2.18531 -6.44539,4.41047 l -1.38081,19.16417 -26.40961,-26.40962 c -2.22732,-2.22732 -6.08773,-1.96345 -8.64187,0.59069 -2.55414,2.55414 -2.81801,6.41455 -0.59069,8.64187 l 26.3875,26.3875 -20.3005,1.41121 c -2.22478,0.15437 -4.20544,3.04805 -4.43584,6.47076 -0.23041,3.42269 1.38934,6.05125 3.61411,5.89688 l 33.26368,-2.25339 c 3.08006,-0.12073 4.53845,0.0535 6.85593,-1.72441 z"
+       id="rect2823-7-2-7-3"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="fill:url(#radialGradient3690);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3692);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 2.5000036,892.73894 c 0.43258,2.54534 2.27607,4.18113 3.31984,5.50055 l 19.7152104,22.77507 c 1.35929,1.57037 4.15401,0.89566 6.2611,-1.50275 2.10709,-2.3984 2.69887,-5.57607 1.33958,-7.14642 l -11.7068,-13.52478 34.770969,0 c 2.9325,0 5.3001,-2.71502 5.3001,-6.07781 0,-3.36279 -2.3676,-6.07781 -5.3001,-6.07781 l -34.741849,0 12.43484,-14.29285 c 1.36295,-1.56619 0.76191,-4.77498 -1.33958,-7.17983 -2.1015,-2.40484 -4.89816,-3.06894 -6.26111,-1.50275 L 5.8780936,887.0905 c -1.94813,2.10708 -3.02289,2.95246 -3.37809,5.64844 z"
+       id="rect2823-7"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="fill:url(#radialGradient5078-6);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient5081-5);stroke-width:2.50000000000000000;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 95.623234,921.86217 c -2.54534,-0.43258 -4.18112,-2.27607 -5.50056,-3.31984 L 67.347613,898.82712 c -1.57037,-1.35929 -0.89566,-4.15402 1.502751,-6.2611 2.39841,-2.10708 5.57607,-2.69888 7.14643,-1.33958 l 13.52478,11.7068 0,-34.77097 c 0,-2.93249 2.71501,-5.3001 6.0778,-5.3001 3.36279,0 6.077806,2.36761 6.077806,5.3001 l 0,34.74184 14.29285,-12.43483 c 1.5662,-1.36295 4.77498,-0.76192 7.17983,1.33959 2.40484,2.10148 3.06894,4.89816 1.50275,6.26109 l -23.38094,20.41412 c -2.107076,1.94813 -2.952456,3.02288 -5.648436,3.37809 z"
+       id="rect2823-7-2"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="fill:url(#radialGradient5086-7);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient5089-5);stroke-width:2.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 159.62323,862.86217 c -2.54534,0.43258 -4.18112,2.27607 -5.50056,3.31984 l -22.77506,19.7152 c -1.57037,1.3593 -0.89566,4.15403 1.50275,6.26111 2.39841,2.10708 5.57607,2.69887 7.14643,1.33958 l 13.52478,-11.7068 0,34.77097 c 0,2.93249 2.71501,5.3001 6.0778,5.3001 3.36279,0 6.07781,-2.36761 6.07781,-5.3001 l 0,-34.74185 14.29285,12.43483 c 1.5662,1.36296 4.77498,0.76192 7.17983,-1.33958 2.40484,-2.10149 3.06894,-4.89816 1.50275,-6.26109 l -23.38094,-20.41413 c -2.10708,-1.94812 -2.95246,-3.02287 -5.64844,-3.37808 z"
+       id="rect2823-7-2-9"
+       sodipodi:nodetypes="cccscccscccsccc" />
+    <path
+       style="fill:url(#radialGradient5094-1);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient5097-9);stroke-width:2.50000000000000000;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 253.5,891.98539 c -0.43258,-2.54534 -2.27607,-4.18112 -3.31985,-5.50056 l -19.7152,-22.77506 c -1.3593,-1.57037 -4.15402,-0.89566 -6.2611,1.50275 -2.10709,2.39841 -2.69889,5.57607 -1.33958,7.14643 l 11.70679,13.52478 -15.1824,0 -19.58857,0 c -2.93248,0 -5.30009,2.71501 -5.30009,6.0778 0,3.36279 2.36761,6.0778 5.30009,6.0778 l 34.74185,0 -12.43484,14.29286 c -1.36295,1.56619 -0.76191,4.77498 1.33959,7.17983 2.10149,2.40484 4.89816,3.06894 6.2611,1.50275 l 20.41412,-23.38094 c 1.94813,-2.10708 3.02288,-2.95246 3.37809,-5.64844 z"
+       id="rect2823-7-2-92"
+       sodipodi:nodetypes="cccsccccscccsccc" />
+  </g>
+</svg>
diff --git a/data/themes/default/audiodevices_bg.svg b/data/themes/default/audiodevices_bg.svg
new file mode 100644 (file)
index 0000000..d259852
--- /dev/null
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="audiodevices_bg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="856"
+     inkscape:window-width="1242"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.2304507"
+     inkscape:cx="468.69692"
+     inkscape:cy="408.0027"
+     inkscape:window-x="541"
+     inkscape:window-y="122"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs561">
+    <filter
+       inkscape:collect="always"
+       id="filter3869"
+       x="-0.019231318"
+       width="1.0384626"
+       y="-0.12226724"
+       height="1.2445345">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.4581674"
+         id="feGaussianBlur3871" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter5083">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.8444007"
+         id="feGaussianBlur5085" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4040"
+       id="linearGradient4038"
+       x1="-568.24231"
+       y1="-820.92566"
+       x2="-733.16718"
+       y2="-401.87253"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4040">
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0"
+         id="stop4042" />
+      <stop
+         style="stop-color:black;stop-opacity:0"
+         offset="1"
+         id="stop4044" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3629-3">
+      <stop
+         style="stop-color:#00cbff;stop-opacity:0;"
+         offset="0"
+         id="stop3631-1" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop3633-4" />
+    </linearGradient>
+    <radialGradient
+       r="500"
+       fy="757.60583"
+       fx="727.25122"
+       cy="757.60583"
+       cx="727.25122"
+       gradientTransform="matrix(0.43355171,-0.84504566,1.805509,0.92631863,-980.88023,538.04792)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3721"
+       xlink:href="#linearGradient3629-3"
+       inkscape:collect="always" />
+  </defs>
+  <rect
+     style="fill:#ffffff;fill-opacity:1"
+     id="rect2851"
+     width="1000"
+     height="800"
+     x="0"
+     y="0" />
+  <rect
+     style="fill:url(#radialGradient3721);fill-opacity:1;stroke:none"
+     id="rect2855"
+     width="1000"
+     height="800"
+     x="0"
+     y="0" />
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Goblin"
+     x="266.96185"
+     y="759.88806"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="759.88806" /></text>
+  <g
+     id="g3955"
+     transform="translate(18.488319,-59.198001)"
+     style="opacity:0.6;filter:url(#filter5083)">
+    <g
+       id="g2900"
+       transform="translate(446.28087,8.6462405)">
+      <g
+         id="g2943"
+         transform="matrix(0.25866863,-0.70093291,0.70093291,0.25866863,-1269.8962,257.2773)"
+         style="fill:#000000;fill-opacity:1">
+        <g
+           id="g2991"
+           style="fill:#000000;fill-opacity:1">
+          <g
+             id="g2911-6"
+             transform="matrix(-1,0,0,-1,-410.27669,1157.9797)"
+             style="fill:#000000;fill-opacity:1">
+            <path
+               style="fill:#000000;fill-opacity:1"
+               d="m -1194.8117,-863.52093 c 19.9136,27.44817 57.5228,35.34606 89.0483,27.10277 22.5638,-5.7965 37.0616,-24.36427 42.8644,-45.73397 l 95.90189,0.01 -0.01,0.093 246.73575,0.03 c 6.22244,21.7225 16.62274,44.36454 41.67591,44.67404 26.75421,5.8851 56.40568,0.92191 76.07369,-19.29084 9.46533,-7.8536 38.47618,-46.686 8.50508,-36.7546 -20.80791,1.9633 -43.2584,13.8753 -63.40389,6.1445 -14.79195,-15.2204 -21.87362,-57.2277 7.41832,-60.1166 18.87837,-4.7561 40.38545,-3.9612 57.65211,-11.8239 -19.91357,-27.4482 -57.50833,-35.3069 -89.03383,-27.0636 -22.55755,5.7949 -37.01919,24.3574 -42.82515,45.7195 l -95.90196,-0.01 -0.004,-0.1321 -246.76042,0.024 c -6.2219,-21.7277 -16.6161,-44.3644 -41.676,-44.674 -26.7542,-5.8851 -56.4201,-0.9611 -76.0881,19.2517 -9.4654,7.8536 -38.437,46.6715 -8.4659,36.7401 20.8079,-1.9633 43.2337,-13.8216 63.3792,-6.0908 14.7919,15.2203 21.8983,57.1739 -7.3936,60.0628 -18.8784,4.7561 -40.4247,3.9758 -57.6914,11.8384 z"
+               id="rect2874-8-7" />
+            <path
+               style="opacity:0.228;fill:url(#linearGradient4038);fill-opacity:1"
+               d="m -611.00177,-318.3564 c 10.90414,18.74819 16.56625,-4.20336 16.26165,-43.18309 -0.18286,-27.76164 -5.34425,-65.31304 -12.14637,-98.85454 l 7.59806,-85.2597 0.0306,0.1315 19.54959,-219.3502 c 7.87435,23.3179 16.39192,44.1417 18.4811,22.2763 4.11855,-15.9727 4.78014,-48.9298 -0.53084,-93.2633 -1.91916,-18.8469 -12.81737,-96.2171 -11.81601,-56.3773 -0.98066,21.1093 1.28922,56.8921 -2.93313,64.5374 -6.34344,-7.0622 -21.17874,-56.5566 -19.84077,-86.4391 -0.12115,-23.1028 1.85216,-41.1704 0.5477,-66.9661 -10.90418,-18.7484 -16.55185,4.2422 -16.24722,43.2221 0.18277,27.7537 5.34528,65.2661 12.14456,98.8004 l -7.59807,85.2597 -0.0452,-0.1721 -19.5332,219.4438 c -7.87602,-23.325 -16.39134,-44.1473 -18.48109,-22.2762 -4.11852,15.9729 -4.79458,48.8907 0.51637,93.2239 1.91916,18.8471 12.8156,96.16325 11.81424,56.3235 0.98069,-21.1091 -1.27295,-56.7988 2.9494,-64.4441 6.34341,7.062 21.16243,56.4632 19.82445,86.34561 0.12116,23.10279 -1.8503,41.22467 -0.54585,67.02048 z"
+               id="rect2874-8-7-4" />
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/data/themes/default/audiodevices_dev_bg.svg b/data/themes/default/audiodevices_dev_bg.svg
new file mode 100644 (file)
index 0000000..493bccb
--- /dev/null
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1000"
+   height="35"
+   id="svg2919"
+   version="1.1"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:docname="audiodevices_dev_bg.svg">
+  <defs
+     id="defs2921">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2927" />
+    <inkscape:perspective
+       id="perspective2908"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5448"
+       id="linearGradient5460"
+       gradientUnits="userSpaceOnUse"
+       x1="0"
+       y1="768"
+       x2="0"
+       y2="713.1153"
+       gradientTransform="translate(0,-2)" />
+    <linearGradient
+       id="linearGradient5448">
+      <stop
+         style="stop-color:#beb7c8;stop-opacity:0.76862746;"
+         offset="0"
+         id="stop5450" />
+      <stop
+         style="stop-color:#beb7c8;stop-opacity:0;"
+         offset="1"
+         id="stop5452" />
+    </linearGradient>
+    <linearGradient
+       y2="713.1153"
+       x2="0"
+       y1="768"
+       x1="0"
+       gradientTransform="matrix(1.0000001,0,0,0.70000002,0,514.76198)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2917"
+       xlink:href="#linearGradient5448"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective2956"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2821"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2"
+     inkscape:cx="285.7361"
+     inkscape:cy="55.181507"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1027"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata2924">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1017.3622)">
+    <rect
+       style="fill:url(#linearGradient2917);fill-opacity:1;stroke:none"
+       id="rect3982"
+       width="1000"
+       height="35"
+       x="0"
+       y="1017.3622" />
+  </g>
+</svg>
diff --git a/data/themes/default/band_cover.svg b/data/themes/default/band_cover.svg
new file mode 100644 (file)
index 0000000..22ea4fb
--- /dev/null
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="256"
+   height="256"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docbase="/home/yoda/UltraStar/sf/svn/UltraStar-ng/themes/lima"
+   sodipodi:docname="band_cover.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 128 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="256 : 128 : 1"
+       inkscape:persp3d-origin="128 : 85.333333 : 1"
+       id="perspective17" />
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3484"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.336682,0,0,0.336682,-81.3739,-51.8729)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.1191406"
+     inkscape:cx="-57.186749"
+     inkscape:cy="70.174855"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1144"
+     inkscape:window-height="785"
+     inkscape:window-x="136"
+     inkscape:window-y="25"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     width="256px"
+     height="256px"
+     borderlayer="false"
+     showgrid="false" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.31313129000000001;fill-rule:nonzero;stroke:#7f7f7f;stroke-width:10.01399999999999935;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="rect1906"
+       width="246.30026"
+       height="246.30028"
+       x="4.8498545"
+       y="4.0691833"
+       inkscape:export-filename="/home/jesusda/docs/curro/yo/ultrastar-ng/base/theme-pod/images/no_cover.png"
+       inkscape:export-xdpi="89.889648"
+       inkscape:export-ydpi="89.889648" />
+    <path
+       style="opacity:1;fill:#171717;fill-opacity:1"
+       d="M 169.41447,135.01629 C 163.31507,134.72906 157.33592,132.58979 152.4885,128.96039 C 150.97451,127.82683 148.77141,125.75385 147.63186,124.3906 C 144.16045,120.23772 142.07803,115.59758 141.33924,110.3691 L 141.26406,109.837 L 140.61465,109.85523 L 139.96526,109.87344 L 139.37286,111.57568 L 138.78047,113.27792 L 138.79345,115.6159 L 138.80642,117.95388 L 139.9138,118.22899 C 141.06641,118.51534 141.47817,118.68747 141.58819,118.92892 C 141.62394,119.00739 141.67395,119.36438 141.69932,119.72223 L 141.74545,120.37287 L 141.56523,120.44139 C 141.46612,120.47908 141.20951,120.50144 140.995,120.49108 L 140.605,120.47226 L 140.51352,120.11093 C 140.43956,119.81887 140.39647,119.74921 140.28869,119.74748 C 140.0645,119.74392 138.09312,119.23776 137.8452,119.12011 C 137.57575,118.99225 137.42535,118.74279 137.42535,118.42371 C 137.42535,118.30039 137.40146,118.18472 137.37227,118.16668 C 137.29692,118.12011 137.03994,118.19554 137.03994,118.26423 C 137.03994,118.29576 136.11023,120.98786 134.97392,124.24667 C 133.22839,129.25263 132.9063,130.23157 132.89761,130.55718 C 132.889,130.87909 132.80578,131.13794 132.39259,132.12808 C 131.77277,133.61334 131.65437,133.81627 131.27932,134.03606 C 130.74629,134.34844 129.96083,134.23726 129.4097,133.77144 C 129.13955,133.54311 128.99117,133.25798 129.04739,133.0752 C 129.10659,132.8827 131.11448,127.97677 131.19773,127.82122 C 131.25217,127.7195 131.28788,127.70977 131.39544,127.76734 C 131.46764,127.80598 131.53394,127.82803 131.54275,127.81633 C 131.55157,127.80463 132.35998,125.48608 133.33921,122.66398 L 135.11963,117.53289 L 134.98778,117.39256 C 134.91527,117.31536 134.85594,117.1912 134.85594,117.11664 C 134.85594,116.96916 135.29077,115.70068 135.38233,115.58104 C 135.4133,115.54057 135.53156,115.48991 135.64511,115.46844 L 135.85159,115.42942 L 136.60816,113.26168 L 137.36473,111.09391 L 137.36293,109.05444 L 137.36112,107.01498 L 136.71876,107.01498 L 136.07641,107.01498 L 136.07001,107.5128 C 136.0601,108.28335 136.03723,108.32817 135.64227,108.35115 C 135.32609,108.36954 135.30721,108.36162 135.25947,108.19056 C 135.19407,107.9563 135.19407,105.30283 135.25947,105.06858 C 135.30721,104.89752 135.32609,104.8896 135.64227,104.90798 C 136.03723,104.93096 136.0601,104.97578 136.07001,105.74633 L 136.07641,106.24416 L 136.71876,106.24416 L 137.36112,106.24416 L 137.36112,103.50668 L 137.36112,100.7692 L 136.95965,100.80871 C 135.40575,100.96163 134.23479,101.00374 131.46754,101.00622 L 128.3682,101.00899 L 128.36819,109.03597 L 128.36819,117.06296 L 128.52205,117.19384 C 128.65892,117.31027 128.68001,117.39388 128.71304,117.95102 C 128.74419,118.47664 128.73495,118.57732 128.65552,118.57732 C 128.57599,118.57732 128.5609,118.74666 128.5609,119.6388 L 128.5609,120.70026 L 128.38425,120.76851 C 128.13371,120.86531 126.90636,120.81199 126.66596,120.69387 L 126.47325,120.59918 L 126.45538,119.67561 C 126.44125,118.94596 126.45681,118.73032 126.52946,118.64862 C 126.58601,118.58504 126.63813,118.32252 126.66478,117.96708 C 126.71699,117.27097 126.74336,117.16414 126.86299,117.16414 C 126.94238,117.16414 126.95502,116.0493 126.95502,109.04386 L 126.95502,100.9236 L 126.48931,100.88725 C 124.37303,100.72208 122.71427,100.58069 122.54651,100.55119 L 122.34542,100.5158 L 122.29684,103.33181 C 122.27012,104.8806 122.25495,107.96887 122.26311,110.19462 C 122.27852,114.39368 122.2553,115.11256 122.10013,115.24134 C 122.04201,115.28957 122.00891,115.44242 122.00891,115.66248 L 122.00891,116.00791 L 121.67167,116.00692 C 121.48619,116.00639 121.29923,115.98357 121.25619,115.95622 C 121.1259,115.87344 121.10239,114.78451 121.07177,107.41733 L 121.04263,100.4005 L 120.89947,100.36993 C 120.82073,100.35311 120.48171,100.30716 120.14609,100.2678 C 119.19819,100.15665 116.44153,99.710872 115.23209,99.473162 L 114.14009,99.258532 L 113.9276,99.459292 C 113.72487,99.650822 113.69088,99.659982 113.18888,99.658792 C 112.1791,99.656352 111.36791,99.267702 111.24975,98.729722 C 111.22634,98.623152 111.17293,98.535932 111.13106,98.535932 C 111.0892,98.535932 110.5206,98.373792 109.86752,98.175622 C 109.21444,97.977442 108.62951,97.800642 108.56768,97.782712 C 108.46117,97.751842 108.45534,98.073432 108.45654,103.90814 L 108.4578,110.06615 L 110.97777,113.6696 C 118.8789,124.96788 120.44439,127.18152 120.54539,127.19847 C 120.65239,127.21641 123.4109,131.09128 123.4691,131.30538 C 123.54777,131.59482 123.1246,131.87441 122.60943,131.87337 C 122.22426,131.8726 121.73011,131.64927 121.45565,131.35193 C 121.13001,130.99914 120.00432,129.35803 119.89712,129.07977 C 119.84267,128.93845 118.39393,126.81387 116.67772,124.35849 C 114.9615,121.9031 112.41658,118.26261 111.02236,116.26851 L 108.48739,112.6429 L 108.45323,115.62616 C 108.42703,117.91508 108.39933,118.64866 108.33421,118.77797 C 108.19939,119.04569 107.85731,119.19102 106.6451,119.49553 C 105.66161,119.74258 105.49848,119.76828 105.41887,119.68868 C 105.33927,119.60907 105.31608,119.64858 105.24454,119.98567 C 105.19916,120.19953 105.12209,120.40763 105.07328,120.44815 C 105.01632,120.49541 104.83332,120.50966 104.56241,120.48791 L 104.14027,120.45402 L 104.18522,121.36244 C 104.20995,121.86206 104.24978,122.52678 104.27375,122.83959 C 104.31711,123.40541 104.3165,123.40872 104.15414,123.47752 C 104.06437,123.51556 103.77903,123.54868 103.52005,123.55111 C 103.14346,123.55465 103.03281,123.53318 102.96749,123.44386 C 102.8644,123.30287 102.7736,121.99774 102.85967,121.89404 C 102.89988,121.84559 102.86742,121.1427 102.76727,119.89321 C 102.68236,118.83384 102.61227,117.88036 102.61153,117.77438 L 102.61017,117.58167 L 102.14431,117.60414 C 101.55601,117.63251 100.61573,117.50707 100.25377,117.35191 L 99.976232,117.23294 L 99.974672,116.82919 L 99.973112,116.42543 L 97.558182,114.69108 C 96.229962,113.73719 94.990842,112.84827 94.804582,112.71571 L 94.465912,112.47468 L 89.43517,118.91441 C 86.66824,122.45626 83.98604,125.88889 83.47468,126.54248 C 82.96334,127.19608 82.42017,127.8669 82.26766,128.0332 C 82.09744,128.2188 81.99036,128.39674 81.99036,128.49398 C 81.99036,128.65652 81.90548,128.78009 80.98793,129.9534 C 80.43871,130.65571 80.12673,130.96963 79.82071,131.12788 C 79.58439,131.25009 79.09425,131.31899 78.84722,131.26473 C 78.58013,131.20606 78.26461,130.9326 78.26516,130.76024 C 78.26542,130.6779 78.84237,129.87655 79.68316,128.79071 C 81.21753,126.80916 81.34182,126.65954 81.41566,126.70518 C 81.4426,126.72184 85.60084,121.44292 90.6562,114.97427 L 99.847762,103.21309 L 99.847762,102.7741 C 99.847762,102.37573 99.863502,102.32275 100.01801,102.20121 C 100.11164,102.12756 100.29953,102.0495 100.43553,102.02775 L 100.68282,101.98821 L 100.6821,94.496972 L 100.68139,87.005712 L 100.34487,86.877242 L 100.00835,86.748772 L 99.991042,85.311562 C 99.979932,84.388552 99.997552,83.845662 100.04031,83.794142 C 100.07693,83.750022 100.27983,83.665392 100.49121,83.606082 L 100.87552,83.498242 L 100.87413,69.899766 L 100.87274,56.301286 L 100.66537,56.204926 C 100.46273,56.110776 100.45489,56.091286 100.32209,55.351726 C 100.24733,54.935466 100.1736,54.582286 100.15821,54.566916 C 100.14283,54.551536 98.445222,57.327716 96.385742,60.736206 C 94.326262,64.144686 92.579732,66.976536 92.504562,67.029176 C 92.270282,67.193286 91.899442,67.151636 91.684952,66.937146 C 91.289302,66.541506 91.103722,66.899176 95.351702,59.870486 L 99.206212,53.492802 L 99.003532,53.261972 C 98.314992,52.477752 98.244342,51.140262 98.831582,50.006222 C 99.340352,49.023702 100.07156,48.376142 101.0941,48.002492 C 101.23885,47.949592 101.64433,47.887402 101.99516,47.864272 L 102.63303,47.822232 L 107.88941,39.124382 C 110.78041,34.340552 113.13267,30.413422 113.11665,30.397402 C 113.10063,30.381382 112.0814,30.114202 110.85169,29.803672 C 102.79299,27.768702 96.020262,25.410462 90.88695,22.852062 C 87.47056,21.149352 85.2961,19.678962 84.03167,18.216452 C 82.92666,16.938322 82.72188,15.745562 83.43961,14.767842 C 84.15145,13.798132 86.08494,13.023082 88.7993,12.619392 C 91.761432,12.178872 96.514892,12.132222 101.32517,12.496462 C 113.70361,13.433792 129.4225,16.955582 140.25171,21.217912 C 147.11074,23.917592 151.43444,26.603072 152.61276,28.895482 C 153.44729,30.519102 152.51162,31.900152 149.98231,32.777942 C 148.78278,33.194232 146.70095,33.593352 145.18175,33.698302 C 144.8373,33.722092 144.55546,33.760742 144.55546,33.784172 C 144.55546,33.807612 144.70722,33.865302 144.8927,33.912362 C 145.4717,34.059292 147.81481,34.845262 148.92346,35.264452 C 156.23761,38.029902 162.13217,42.076122 162.95354,44.895122 C 163.16081,45.606552 163.11586,45.848362 162.44495,47.631182 C 162.10934,48.523042 161.83498,49.277752 161.83526,49.308322 C 161.83559,49.338872 162.81114,49.726142 164.00323,50.168912 L 166.17059,50.973932 L 166.19144,50.747832 C 166.21735,50.467002 166.30266,50.359522 166.49964,50.359522 C 166.65225,50.359522 166.65237,50.358792 166.65237,49.564242 L 166.65237,48.768962 L 166.15455,48.713122 L 165.65673,48.657282 L 165.6375,48.360492 C 165.61288,47.981092 165.59992,47.984572 167.03779,47.984572 C 168.47564,47.984572 168.46269,47.981092 168.43806,48.360492 L 168.41883,48.657282 L 167.88701,48.714502 L 167.35514,48.771722 L 167.37311,49.549032 L 167.39106,50.326332 L 167.58379,50.359322 C 167.76068,50.389602 167.77805,50.415952 167.7955,50.681022 C 167.81417,50.963752 167.82085,50.971762 168.1167,51.066112 L 168.41883,51.162462 L 168.41883,51.868182 L 168.41883,52.573902 L 168.24218,52.658572 L 168.06553,52.743232 L 168.06553,54.122806 C 168.06553,55.377946 168.07569,55.506136 168.17796,55.544136 C 168.23979,55.567116 168.53605,55.744896 168.83636,55.939226 C 170.08728,56.748676 169.96771,56.701326 170.5913,56.634476 C 170.93792,56.597316 171.30419,56.598506 171.57656,56.637676 C 172.06899,56.708476 172.03178,56.724056 173.18913,55.962326 C 173.5164,55.746936 173.84161,55.552466 173.91179,55.530196 C 174.03386,55.491446 174.03941,55.430246 174.03941,54.124546 L 174.03941,52.759412 L 173.83064,52.667522 L 173.62188,52.575632 L 173.60301,51.997522 C 173.57702,51.201852 173.59754,51.144952 173.94446,51.052172 C 174.22817,50.976282 174.23213,50.971482 174.23213,50.701332 C 174.23213,50.446212 174.24643,50.423722 174.4409,50.373442 L 174.64966,50.319432 L 174.6676,49.545582 L 174.68558,48.771722 L 174.15375,48.714502 L 173.62188,48.657282 L 173.60265,48.360832 C 173.58406,48.073772 173.5899,48.063092 173.78732,48.023602 C 174.05224,47.970622 176.01788,47.970622 176.2828,48.023602 C 176.48023,48.063092 176.4861,48.073772 176.46747,48.360832 L 176.44824,48.657282 L 175.91827,48.714312 L 175.38835,48.771342 L 175.38835,49.535332 C 175.38835,50.206882 175.40195,50.303522 175.50075,50.334052 C 175.74757,50.410322 175.80721,50.479452 175.83798,50.725032 L 175.87013,50.981142 L 178.08097,50.156332 C 179.29699,49.702692 180.30036,49.323042 180.31072,49.312682 C 180.32109,49.302322 179.98142,48.370172 179.55592,47.241212 C 178.8444,45.353492 178.78237,45.153952 178.78399,44.757592 C 178.78719,43.964302 179.25492,43.102872 180.23719,42.081072 C 181.75085,40.506522 183.8735,39.044862 186.88647,37.502422 C 190.75346,35.522772 195.73956,33.843442 199.60504,33.218792 C 201.27328,32.949192 201.62307,32.921162 203.29855,32.922752 C 204.7931,32.924172 205.03248,32.939282 205.57572,33.066482 C 206.21808,33.216902 206.88332,33.495912 207.22991,33.760272 C 207.52228,33.983312 207.69955,34.316902 208.11351,35.423292 C 208.41427,36.227022 208.5165,36.427802 208.7349,36.643762 C 208.87864,36.785922 209.03436,36.975782 209.081,37.065682 C 209.20729,37.309272 209.35228,37.921502 209.43759,38.571422 C 209.50521,39.086932 209.85569,40.058702 212.71703,47.665732 C 215.24316,54.381356 215.92079,56.245216 215.92079,56.477656 L 215.92079,56.772436 L 217.0319,56.793796 C 218.25237,56.817256 218.39185,56.856536 218.60876,57.237796 L 218.715,57.424586 L 219.59487,57.424996 L 220.47479,57.425396 L 220.49418,57.089066 C 220.51265,56.768826 220.52625,56.745786 220.77741,56.607556 C 221.03196,56.467476 221.04269,56.448476 221.08254,56.067216 C 221.12841,55.628626 221.18372,55.529486 221.41491,55.471446 L 221.5723,55.431956 L 221.58898,52.207612 L 221.60561,48.983262 L 221.8373,48.928472 C 221.96727,48.897742 222.1647,48.898472 222.28697,48.930152 L 222.50489,48.986612 L 222.52157,52.202802 L 222.53817,55.419006 L 222.72818,55.497696 C 222.9389,55.584976 222.95808,55.628356 223.0174,56.150766 C 223.05335,56.467466 223.07898,56.519216 223.21697,56.553866 C 223.49124,56.622706 223.62903,56.817436 223.62903,57.136336 L 223.62903,57.425396 L 224.91181,57.425396 C 230.64725,57.425396 239.00701,57.970836 242.25722,58.557116 C 243.76977,58.829956 244.76067,59.170136 244.86963,59.453966 C 244.93757,59.631086 244.8287,59.839896 244.60033,59.970406 L 244.3695,60.102326 L 244.60167,60.279426 C 245.10693,60.664806 244.76043,61.057966 243.63827,61.372446 C 241.78653,61.891416 237.66204,62.343266 232.49349,62.593406 C 229.96967,62.715546 226.51601,62.821456 225.06211,62.821286 L 223.95793,62.821156 L 223.93801,63.062036 C 223.92003,63.279146 223.88642,63.319156 223.59749,63.467466 L 223.27694,63.632026 L 223.18645,64.174056 C 223.11773,64.585726 223.09032,65.652706 223.07247,68.610366 L 223.04895,72.504626 L 223.21588,72.614016 C 223.30771,72.674166 223.4376,72.843986 223.50453,72.991386 C 223.62074,73.247386 223.62624,73.497036 223.62757,78.570586 L 223.62903,83.881822 L 223.89647,84.062712 C 224.35874,84.375372 224.42854,84.594962 224.45421,85.817362 C 224.48259,87.169892 224.42477,87.453662 224.04166,87.842302 C 223.8465,88.040292 223.75702,88.185782 223.75605,88.306852 C 223.75399,88.566512 223.5355,89.003252 223.34533,89.127862 L 223.17936,89.236602 L 223.17936,96.541862 L 223.17936,103.84711 L 223.43525,103.92378 C 223.76406,104.02229 223.82168,104.14052 223.82168,104.71607 L 223.82168,105.18772 L 228.90403,112.44458 C 231.69929,116.43585 235.2545,121.51185 236.80448,123.72457 C 238.35441,125.93729 239.67342,127.76126 239.7355,127.77781 C 239.90191,127.82218 242.51416,131.58599 242.51416,131.78141 C 242.51416,132.02595 242.18486,132.19497 241.71122,132.19353 C 241.25268,132.19213 240.89649,132.04461 240.60986,131.73732 C 240.29899,131.40406 239.16703,129.75017 239.07669,129.4973 C 239.03256,129.37365 238.2661,128.23187 237.37355,126.96001 C 236.48096,125.68815 234.98431,123.54911 234.04768,122.20661 C 227.82757,113.29105 228.24688,113.87496 228.13416,113.97201 C 228.03472,114.05765 225.41652,116.20669 225.37667,116.23538 C 225.36635,116.24282 225.54904,116.43248 225.7827,116.65683 C 226.01633,116.88119 226.17654,117.07508 226.13872,117.08769 C 226.09046,117.10377 226.06993,118.94194 226.06993,123.24351 C 226.06993,127.31576 226.09151,129.36307 226.13415,129.33671 C 226.1695,129.31488 226.19841,129.15419 226.19841,128.97963 C 226.19841,128.80506 226.22011,128.66337 226.24659,128.66475 C 226.27307,128.66612 226.54046,128.78897 226.84077,128.93774 C 227.4688,129.24888 227.57922,129.40639 227.69586,130.15776 C 227.75162,130.51676 227.74732,130.60835 227.67145,130.67851 C 227.62088,130.72533 226.30882,131.05802 224.75581,131.41783 C 223.20284,131.77763 221.9203,132.0839 221.90576,132.09841 C 221.89127,132.11293 221.98399,132.24701 222.11186,132.39638 C 222.23972,132.54574 222.3443,132.73291 222.3443,132.81231 C 222.3443,133.04001 222.05614,133.22294 221.69745,133.22294 C 221.27332,133.22294 221.10712,133.14667 220.7074,132.76864 L 220.36243,132.44237 L 219.43413,132.65511 C 218.77383,132.80643 218.51486,132.89129 218.53701,132.94905 C 218.55414,132.9937 218.53746,133.03023 218.49988,133.03023 C 218.46231,133.03023 217.68596,132.50023 216.77471,131.85245 C 212.61002,128.89193 210.44173,127.37519 210.41392,127.40298 C 210.39731,127.41958 210.41747,127.53531 210.4587,127.66017 C 210.5253,127.86205 210.54713,127.87869 210.6562,127.8106 C 210.73512,127.76131 210.79856,127.75635 210.83439,127.79667 C 210.9276,127.90161 213.03022,133.05479 213.03022,133.17828 C 213.03022,133.35962 212.86688,133.62808 212.66711,133.77505 C 211.71038,134.47899 210.67722,134.32249 210.2224,133.40471 C 210.14652,133.25174 209.88014,132.62685 209.63032,132.01605 C 209.26625,131.12603 209.17624,130.83903 209.17684,130.57076 C 209.17741,130.30687 208.99723,129.71377 208.32572,127.76932 L 207.47386,125.30263 L 207.01155,124.95902 C 206.75732,124.77004 206.535,124.61543 206.51754,124.61543 C 206.50005,124.61543 205.77954,125.51937 204.91639,126.62419 C 204.05324,127.729 203.30301,128.66948 203.2492,128.71412 C 203.19539,128.75877 203.13267,128.89519 203.10975,129.01728 C 203.08202,129.16518 202.80827,129.57333 202.2894,130.24027 C 201.46268,131.30297 201.15712,131.5606 200.61456,131.65227 C 200.12913,131.73427 199.49463,131.4134 199.55442,131.11616 C 199.56459,131.06559 200.22331,130.19029 201.0182,129.17106 C 202.00282,127.90862 202.50444,127.31517 202.59198,127.30931 C 202.66268,127.30457 202.59874,127.26739 202.45002,127.2267 C 202.04999,127.11727 202.04108,127.09674 202.11137,126.44455 C 202.23028,125.34081 202.4314,122.62503 202.4314,122.12317 L 202.4314,121.61794 L 200.68096,120.1696 C 199.37194,119.08648 198.9119,118.73955 198.85667,118.79381 C 198.6769,118.9703 190.09846,131.29945 190.01282,131.50446 C 189.89718,131.78117 189.06994,132.98113 188.79657,133.26864 C 188.52787,133.55121 188.24449,133.67259 187.8534,133.67259 C 187.58504,133.67259 187.49228,133.64189 187.35951,133.50914 C 187.26962,133.41925 187.21153,133.30553 187.23035,133.25644 C 187.30927,133.0507 189.43014,130.07763 189.49873,130.07657 C 189.53991,130.07593 189.86977,129.64906 190.23179,129.12795 C 190.59373,128.60684 190.99315,128.03727 191.11939,127.86223 C 191.39262,127.48337 191.33003,127.5144 190.61211,128.11376 C 187.48649,130.72311 183.46659,132.80744 179.40308,133.92565 C 177.0455,134.5744 174.98318,134.89804 172.43356,135.01935 C 170.94388,135.09022 170.98509,135.09026 169.41447,135.01629 z M 224.65678,126.41401 C 224.65678,125.60143 224.6428,124.9366 224.62576,124.9366 C 224.56102,124.9366 220.45839,125.9018 220.43847,125.9217 C 220.41661,125.94359 224.52478,127.87992 224.60859,127.88722 C 224.63511,127.88953 224.65678,127.22659 224.65678,126.41401 z M 204.44457,125.00084 L 205.37647,123.81249 L 205.21747,123.68402 C 205.07041,123.56514 205.05997,123.52006 205.07782,123.08057 L 205.09713,122.60559 L 205.758,122.44824 C 206.5037,122.27066 206.45899,122.3529 206.19589,121.64286 L 206.05843,121.27182 L 205.78995,121.46927 C 205.55001,121.64575 205.5194,121.69848 205.50198,121.96558 C 205.48543,122.22046 205.45409,122.28101 205.28893,122.37712 C 205.04709,122.51788 204.26828,122.64251 203.81026,122.61374 L 203.46416,122.59201 L 203.42925,122.91319 C 203.31698,123.94587 203.21126,125.79405 203.24588,126.11835 L 203.28637,126.49715 L 203.3995,126.34317 C 203.46173,126.25848 203.93197,125.65443 204.44457,125.00084 z M 218.169,120.61493 L 218.169,119.31231 L 218.58677,118.89824 C 218.9562,118.53209 219.06956,118.4617 219.56637,118.28987 L 220.1282,118.09555 L 220.14711,117.80638 L 220.16602,117.5172 L 219.66537,117.15975 C 219.38996,116.96314 218.22779,116.128 217.08271,115.30389 C 215.6338,114.26108 214.97589,113.82295 214.91888,113.86288 C 214.87386,113.89444 214.40823,114.46947 213.88425,115.14073 C 212.16131,117.34798 211.21819,118.56625 211.20876,118.59676 C 211.19078,118.65515 213.43021,121.47753 213.52269,121.51303 C 213.59208,121.53965 216.72223,121.81335 218.05656,121.90945 C 218.16022,121.91692 218.169,121.81578 218.169,120.61493 z M 211.11847,121.35574 C 211.47782,121.38449 211.80574,121.3998 211.84716,121.38977 C 211.91582,121.37315 210.5749,119.58882 210.47278,119.56091 C 210.4361,119.55089 208.86139,121.53685 208.8045,121.66486 C 208.79446,121.68747 209.164,121.6154 209.6257,121.50471 C 210.40841,121.31706 210.50927,121.307 211.11847,121.35574 z M 202.5406,120.04139 C 202.70555,119.85766 202.9516,116.33995 202.93035,114.47027 L 202.91314,112.96038 L 201.18558,115.42841 C 200.23541,116.78582 199.45498,117.92969 199.45126,117.97036 C 199.44749,118.01101 200.10929,118.59923 200.92187,119.2775 C 202.33896,120.46039 202.40014,120.5034 202.4207,120.33091 C 202.43249,120.232 202.48646,120.10172 202.5406,120.04139 z M 205.00267,120.03641 C 205.03511,118.71241 205.02365,118.19188 204.96222,118.1919 C 204.91769,118.1919 204.87691,118.447 204.85197,118.88243 C 204.83015,119.26222 204.79249,119.7281 204.76824,119.91772 C 204.725,120.2561 204.72674,120.26111 204.8625,120.18846 C 204.93854,120.14775 205.00166,120.07933 205.00267,120.03641 z M 208.41046,118.62549 C 208.866,118.29869 209.23183,118.00109 209.22348,117.96414 C 209.20668,117.89033 205.43186,113.05025 205.40894,113.07317 C 205.38838,113.09376 206.17934,115.31855 206.24112,115.41386 C 206.2697,115.45795 206.36008,115.49402 206.44203,115.49402 C 206.65095,115.49402 206.69659,115.56839 206.98965,116.38654 C 207.25258,117.12057 207.25501,117.15937 207.05217,117.38896 C 206.9428,117.51276 206.94924,117.54845 207.22967,118.36855 C 207.38976,118.83667 207.53455,119.21967 207.55152,119.21967 C 207.5684,119.21967 207.95496,118.95229 208.41046,118.62549 z M 213.84324,112.98885 C 215.67838,110.63945 217.83602,107.87531 218.63799,106.84631 L 220.0961,104.97539 L 220.0961,104.55776 C 220.0961,104.08508 220.13703,104.02718 220.55974,103.90237 L 220.83478,103.82116 L 220.8511,96.551302 L 220.86746,89.281432 L 220.61023,89.036752 C 220.38024,88.817982 220.353,88.759642 220.353,88.485642 C 220.353,88.205752 220.32656,88.152772 220.04791,87.873902 C 219.88009,87.705972 219.66663,87.478072 219.57354,87.367442 C 219.43093,87.198002 219.35959,87.166302 219.12067,87.166302 C 218.78667,87.166302 218.68302,87.249172 218.68265,87.516382 C 218.68233,87.774732 218.47875,88.099232 218.23929,88.223072 C 217.96976,88.362432 217.53809,88.348602 217.28192,88.192422 C 216.93534,87.981132 216.86273,87.719072 216.83289,86.572132 L 216.80657,85.560422 L 216.56874,85.560422 C 216.37974,85.560422 216.19964,85.650782 215.69223,86.000252 C 215.34098,86.242142 214.99581,86.454452 214.92516,86.472022 C 214.85446,86.489602 213.39134,87.475772 211.67366,88.663502 C 208.86086,90.608512 208.55351,90.838042 208.57955,90.974312 C 208.60181,91.090542 208.55444,91.166812 208.37539,91.303412 C 208.17995,91.452482 207.94544,91.875242 206.92482,93.918742 L 205.70739,96.356262 L 205.70739,97.023992 C 205.70739,97.776062 205.67674,97.839862 205.25488,97.966272 L 205.00081,98.042382 L 205.00081,102.14327 L 205.00081,106.24416 L 205.47308,106.24416 L 205.9453,106.24416 L 205.98223,105.6821 C 206.03373,104.89778 206.04115,104.88507 206.43377,104.90819 C 206.73351,104.92585 206.76274,104.94222 206.81226,105.12004 C 206.8798,105.36262 206.8802,107.80456 206.81271,108.10698 C 206.76424,108.32431 206.75165,108.33243 206.43575,108.35094 C 206.04443,108.37385 206.04908,108.38168 205.9896,107.59404 L 205.94587,107.01498 L 205.47337,107.01498 L 205.00081,107.01498 L 205.00081,108.7481 L 205.00081,110.48123 L 205.17746,110.52321 C 205.48753,110.59688 205.57892,110.72767 205.57892,111.09795 L 205.57892,111.43535 L 207.93957,114.45684 C 210.13183,117.26281 210.30754,117.47054 210.40343,117.3694 C 210.46019,117.3095 212.0081,115.33825 213.84324,112.98885 z M 220.27194,115.54641 C 220.31571,115.49371 220.46746,115.41584 220.60917,115.37337 L 220.86689,115.29616 L 220.86689,111.05922 C 220.86689,107.71295 220.85,106.82209 220.7866,106.82139 C 220.74246,106.82091 220.6472,106.80464 220.57496,106.78523 C 220.46398,106.75541 220.06658,107.23228 218.0115,109.86149 C 216.67381,111.57284 215.58266,112.99279 215.58671,113.01693 C 215.59072,113.04108 216.61421,113.79492 217.86112,114.69212 L 220.1282,116.32341 L 220.16031,115.98282 C 220.17796,115.7955 220.22821,115.59911 220.27194,115.54641 z M 105.07609,115.90565 C 105.58686,115.69899 106.0425,115.34289 106.58736,114.72456 C 106.97041,114.28985 107.0421,114.17219 107.0421,113.9781 L 107.0421,113.74772 L 106.73699,113.99944 C 106.56918,114.13789 105.91156,114.67941 105.27563,115.20283 C 104.63971,115.72624 104.09171,116.17955 104.05788,116.21018 C 103.97561,116.28463 104.60387,116.09673 105.07609,115.90565 z M 225.84327,114.53857 C 226.79817,113.7481 227.58561,113.06882 227.59314,113.02904 C 227.61015,112.93913 223.35945,106.8716 223.25511,106.83682 C 223.12049,106.79194 223.16421,109.10307 223.33929,111.28662 C 223.42711,112.38183 223.53324,113.75224 223.57518,114.33197 C 223.63891,115.21256 223.67074,115.40254 223.76868,115.48642 C 223.84921,115.55537 223.88594,115.67531 223.88594,115.86946 C 223.88594,116.12818 223.89529,116.14464 223.99652,116.06395 C 224.05733,116.01546 224.88837,115.32904 225.84327,114.53857 z M 100.34487,114.1772 L 100.68139,114.04874 L 100.6821,109.60848 L 100.68282,105.16821 L 100.4773,105.12711 C 100.34665,105.10098 100.24273,105.11561 100.19202,105.16726 C 100.14814,105.21195 98.982452,106.6938 97.601592,108.46027 C 95.341642,111.35131 95.102312,111.67981 95.205052,111.74992 C 95.267822,111.79276 96.359792,112.57674 97.631652,113.49209 L 99.944112,115.15635 L 99.976232,114.73102 L 100.00835,114.30567 L 100.34487,114.1772 z M 105.60962,113.51243 L 107.0294,112.33377 L 106.86326,111.97078 C 106.71564,111.64825 106.69642,111.52188 106.6908,110.83697 L 106.68447,110.06615 L 104.96219,107.60916 C 104.01493,106.2578 103.21377,105.15216 103.18183,105.15216 C 103.04036,105.15216 103.12742,107.68449 103.37951,110.90207 C 103.61357,113.8897 103.64624,114.17808 103.76491,114.3044 C 103.84748,114.3923 103.89458,114.53009 103.89458,114.68382 L 103.89458,114.92523 L 104.04221,114.80816 C 104.1234,114.74377 104.82874,114.16068 105.60962,113.51243 z M 107.0421,102.58846 L 107.0421,97.198422 L 106.31048,96.846612 C 105.48862,96.451432 104.91021,96.079312 104.45056,95.650072 C 104.0945,95.317562 103.91701,95.007292 103.85411,94.607422 C 103.82998,94.454032 103.77375,94.270722 103.72916,94.200062 C 103.52863,93.882282 103.49732,93.528382 103.56989,92.400022 L 103.641,91.294602 L 103.47955,90.973182 C 103.39077,90.796402 103.27628,90.496232 103.22516,90.306142 C 103.14217,89.997582 103.13176,90.605542 103.12798,95.977602 L 103.12375,101.99467 L 103.36463,102.07226 C 103.74973,102.19629 103.76611,102.22664 103.76611,102.81606 L 103.76611,103.35481 L 105.38485,105.66665 C 106.27516,106.93817 107.01226,107.97851 107.02285,107.97851 C 107.03344,107.97851 107.0421,105.55298 107.0421,102.58846 z M 201.9201,103.27725 C 202.07894,103.15984 202.11024,103.09174 202.11024,102.86352 C 202.11024,102.71327 202.13911,102.57246 202.17445,102.55063 C 202.21498,102.52558 202.23871,101.78985 202.23871,100.55555 C 202.23871,99.294792 202.21587,98.600172 202.17445,98.600172 C 202.13911,98.600172 202.11024,98.565612 202.11024,98.523392 C 202.11024,98.481162 202.0365,98.369652 201.94634,98.275592 C 201.85624,98.181532 201.70991,97.890892 201.62117,97.629722 C 201.45483,97.140192 199.60083,93.058722 199.56232,93.097252 C 199.5222,93.137382 200.18391,98.692972 200.27898,99.114052 C 200.33085,99.343692 200.44677,100.16751 200.53665,100.94475 C 200.62654,101.722 200.72732,102.56026 200.76072,102.80757 C 200.79401,103.05487 200.82227,103.29336 200.8234,103.33751 C 200.8249,103.39394 200.95989,103.41781 201.27777,103.41781 C 201.64218,103.41781 201.76692,103.39053 201.9201,103.27725 z M 206.0281,93.462212 C 206.27566,92.968062 206.47823,92.537572 206.47823,92.505552 C 206.47823,92.334192 206.24023,92.422692 205.69978,92.795092 C 205.36833,93.023462 205.08624,93.241762 205.07288,93.280182 C 205.05304,93.337302 205.50996,94.341742 205.56244,94.356312 C 205.57102,94.358692 205.78059,93.956352 206.0281,93.462212 z M 205.62309,91.231322 C 205.61228,91.075492 205.71035,90.988892 206.56843,90.396532 C 207.39847,89.823502 207.55658,89.737752 207.75725,89.751722 C 207.96617,89.766262 208.25555,89.583572 210.73074,87.874702 C 212.23885,86.833482 213.46203,85.970842 213.44891,85.957732 C 213.4358,85.944622 212.90988,85.980222 212.28015,86.036842 C 210.80739,86.169282 208.20178,86.330582 207.52896,86.330952 C 207.02641,86.331232 207.00442,86.337432 206.96616,86.490062 C 206.94422,86.577402 206.87397,86.700252 206.81004,86.763052 C 206.74606,86.825852 206.32598,87.812172 205.87652,88.954862 C 205.22152,90.620122 205.07454,91.050792 205.13584,91.124702 C 205.19403,91.194762 205.19472,91.255782 205.13872,91.378642 C 205.09818,91.467572 205.06502,91.598192 205.06502,91.668872 C 205.06502,91.787272 205.0875,91.781952 205.35007,91.601292 C 205.579,91.443802 205.63277,91.370922 205.62309,91.231322 z M 202.94529,90.866112 C 202.94529,90.740252 203.28325,90.632752 203.81244,90.590282 L 204.26208,90.554202 L 204.99628,88.683602 C 205.40003,87.654782 205.76598,86.726292 205.80942,86.620302 L 205.88842,86.427592 L 202.30422,86.427592 L 198.72006,86.427592 L 198.64637,86.631282 C 198.58519,86.800212 198.5996,86.951922 198.73075,87.520412 C 198.81768,87.897412 198.89825,88.214392 198.90971,88.224812 C 199.06248,88.363572 199.95859,88.965052 200.01325,88.965522 C 200.36515,88.968512 201.74077,89.922072 202.22413,90.498062 C 202.39115,90.697032 202.55663,90.881062 202.59198,90.907012 C 202.70332,90.988822 202.94529,90.960812 202.94529,90.866112 z M 103.4488,88.490412 C 103.68923,87.769022 104.26901,86.547642 104.56965,86.129162 L 104.79365,85.817362 L 104.47259,85.817362 C 104.19434,85.817362 104.15152,85.834502 104.15152,85.945832 C 104.15152,86.016492 104.09371,86.132112 104.02305,86.202772 C 103.95239,86.273442 103.89458,86.382622 103.89458,86.445422 C 103.89458,86.649922 103.71325,86.825242 103.41555,86.908592 L 103.12375,86.990292 L 103.13126,88.379062 C 103.13695,89.431232 103.1527,89.683962 103.19623,89.421822 C 103.22784,89.231502 103.34149,88.812372 103.4488,88.490412 z M 219.36563,85.329282 C 219.44078,85.309102 219.53568,85.219322 219.5765,85.129762 C 219.63541,85.000452 219.63371,84.973432 219.56823,84.998542 C 219.52293,85.015932 219.31963,85.067352 219.1165,85.112812 C 218.76059,85.192442 218.69812,85.233042 218.78995,85.324892 C 218.84206,85.377002 219.1782,85.379562 219.36563,85.329282 z M 104.92444,84.998372 C 104.9256,84.936542 105.23844,82.125432 105.61965,78.751486 L 106.31275,72.617026 L 106.16124,72.167376 C 105.94151,71.515296 105.71349,70.577096 105.62511,69.961436 C 105.49561,69.059376 105.6118,68.593286 106.07601,68.152676 L 106.31287,67.927846 L 106.41481,66.758726 C 106.50655,65.706466 106.53464,65.556726 106.69586,65.260536 C 106.79436,65.079546 106.95168,64.876836 107.04544,64.810066 C 107.19429,64.704076 107.2213,64.629276 107.25828,64.220616 C 107.29099,63.859226 107.34103,63.694016 107.4779,63.495626 C 108.09351,62.603246 110.24726,61.904996 113.50255,61.542406 C 115.56162,61.313056 116.82416,61.254746 119.64826,61.258556 C 121.15859,61.260596 122.39431,61.240266 122.39431,61.213396 C 122.39431,61.186516 122.4636,61.097846 122.54828,61.016336 L 122.70224,60.868156 L 122.55794,60.672356 C 122.04562,59.977176 121.79246,59.266496 121.82863,58.624946 C 121.85251,58.201496 122.14235,57.400076 125.40105,48.747212 C 128.52761,40.445242 128.95538,39.266442 129.0141,38.790752 C 129.12931,37.857412 129.30798,37.385442 129.68043,37.030712 C 129.84029,36.878442 129.99538,36.537402 130.41948,35.405562 C 130.71469,34.617712 131.03875,33.859202 131.13961,33.719942 C 131.24048,33.580702 131.32301,33.456332 131.32301,33.443572 C 131.32301,33.430812 131.07009,33.401052 130.76095,33.377442 C 129.90915,33.312382 126.81167,32.916282 124.89949,32.627892 C 121.98389,32.188182 118.96243,31.633792 115.75686,30.950372 C 115.09158,30.808542 114.53911,30.702202 114.52914,30.714082 C 114.50953,30.737442 104.5126,47.284952 104.28517,47.670502 L 104.14732,47.904172 L 104.4812,48.023792 C 105.61858,48.431282 106.13825,49.760652 105.72119,51.195862 C 105.50762,51.930842 104.74295,52.962462 104.11926,53.357032 C 103.96409,53.455202 103.8238,53.594166 103.80752,53.665816 C 103.79124,53.737476 103.68346,54.323606 103.56802,54.968326 L 103.35814,56.140536 L 103.14459,56.217756 L 102.93105,56.294976 L 102.93105,69.898706 L 102.93105,83.502452 L 103.10769,83.541002 C 103.7549,83.682312 103.89458,83.813262 103.89458,84.278802 C 103.89458,84.536182 103.92182,84.657842 103.98487,84.682032 C 104.03453,84.701092 104.09464,84.805352 104.11845,84.913732 C 104.1608,85.106572 104.16983,85.110772 104.54203,85.110772 C 104.8606,85.110772 104.92268,85.092522 104.92444,84.998372 z M 146.62254,80.010346 C 149.00958,76.408396 152.61977,73.274596 156.74256,71.225726 C 157.3601,70.918856 157.40249,70.885386 157.40249,70.705106 C 157.40249,70.433876 157.60886,70.131816 157.90966,69.962756 C 158.25892,69.766446 160.15152,69.057356 161.09601,68.768906 C 162.8935,68.219966 165.09648,67.766196 167.03779,67.545036 C 168.56905,67.370586 169.04727,67.434166 169.27985,67.843096 C 169.35916,67.982566 169.42973,68.023486 169.59153,68.023796 L 169.8007,68.024206 L 169.78422,63.062036 L 169.76778,58.099866 L 169.2285,57.919086 C 168.93187,57.819666 168.54888,57.721686 168.37738,57.701386 L 168.06553,57.664446 L 168.06553,59.925846 C 168.06553,61.298946 168.0405,62.234026 168.00179,62.306346 C 167.84964,62.590636 166.75614,62.688126 166.28739,62.459186 L 166.04215,62.339386 L 166.01,59.913906 L 165.9779,57.488416 L 165.76913,57.361496 L 165.56037,57.234576 L 165.56037,56.504886 C 165.56037,55.738956 165.59122,55.650896 165.89761,55.542236 C 165.99992,55.505946 166.01,55.378966 166.01,54.129056 L 166.01,52.755742 L 165.76913,52.650772 C 165.63665,52.593032 164.64644,52.219152 163.5687,51.819912 L 161.60918,51.094022 L 161.6312,51.325042 C 161.65667,51.591982 161.37992,52.472852 161.18428,52.747602 C 161.03305,52.959962 160.7512,53.121632 160.5322,53.121632 C 160.38829,53.121632 160.19343,53.616456 157.14866,61.713096 C 155.22926,66.817196 153.84376,70.412226 153.73533,70.569826 C 153.07017,71.536736 150.82733,72.070276 148.15263,71.897856 C 147.60503,71.862556 147.15228,71.836496 147.14652,71.839936 C 147.14076,71.843376 147.11581,72.308686 147.09107,72.873966 L 147.04608,73.901726 L 147.24254,74.146986 C 147.66131,74.669846 147.67426,75.263306 147.29183,76.406906 C 147.04518,77.144496 146.41926,78.505256 146.09099,79.017546 C 145.9248,79.276906 145.88781,79.423246 145.80697,80.141656 C 145.75584,80.595926 145.69839,81.097676 145.6793,81.256652 L 145.6446,81.545712 L 145.85479,81.198696 C 145.9704,81.007846 146.31589,80.473076 146.62254,80.010346 z M 190.06611,72.167056 C 194.07775,71.357816 201.73134,70.838816 208.14834,70.940866 C 213.9326,71.032876 218.41789,71.452316 220.49755,72.095756 L 220.99536,72.249786 L 220.995,68.515056 C 220.99484,66.460956 220.9684,64.679156 220.93629,64.555506 C 220.90422,64.431856 220.85924,64.166896 220.83636,63.966726 C 220.79648,63.617826 220.78454,63.598666 220.54735,63.503766 C 220.26979,63.392726 220.0961,63.186236 220.0961,62.967456 L 220.0961,62.821156 L 218.89166,62.820346 C 217.54976,62.819446 214.68194,62.736606 212.00243,62.621356 L 210.23596,62.545376 L 209.43306,63.008146 C 208.3698,63.620926 206.31583,64.629016 205.00081,65.183446 C 201.26871,66.756986 197.52571,67.826616 194.01657,68.322376 C 192.9698,68.470256 190.04323,68.488636 189.35953,68.351626 C 188.3217,68.143646 187.49037,67.733476 187.16763,67.270186 C 187.07504,67.137296 185.77703,63.776656 184.28322,59.802096 C 182.11659,54.037636 181.54309,52.571882 181.4486,52.557082 C 181.13022,52.507202 181.04346,52.466142 180.86016,52.278672 C 180.7478,52.163772 180.58832,51.873552 180.49131,51.607512 L 180.32036,51.138782 L 179.82959,51.321512 C 179.55965,51.422022 178.71735,51.735302 177.95777,52.017702 C 177.19818,52.300102 176.45387,52.580432 176.30369,52.640662 L 176.03071,52.750172 L 176.03071,54.119936 C 176.03071,55.431916 176.0361,55.491396 176.15879,55.530336 C 176.44472,55.621086 176.48035,55.727276 176.48035,56.488616 C 176.48035,57.248546 176.44909,57.337216 176.14311,57.445726 C 176.03877,57.482746 176.03071,57.658346 176.03071,59.894956 L 176.03071,62.304306 L 175.87718,62.404896 C 175.64845,62.554776 175.08982,62.623996 174.66152,62.555526 C 173.98373,62.447196 174.03941,62.675666 174.03941,60.002486 L 174.03941,57.664366 L 173.69521,57.699896 C 173.50592,57.719426 173.10847,57.818106 172.81197,57.919186 L 172.27294,58.102946 L 172.2565,63.054746 L 172.24006,68.006556 L 172.66192,68.040416 C 173.05681,68.072116 173.10706,68.060286 173.44656,67.855846 C 174.0739,67.478096 174.33465,67.447046 175.53067,67.607666 C 176.76373,67.773266 177.16021,67.878866 177.38217,68.100846 C 177.49032,68.209006 177.59401,68.373366 177.61255,68.466066 C 177.64446,68.625546 177.69175,68.644546 178.49255,68.819216 C 181.48046,69.470956 184.64365,70.717086 187.20383,72.250986 L 187.93872,72.691296 L 188.45641,72.539316 C 188.74114,72.455726 189.46549,72.288216 190.06611,72.167056 z M 226.19841,123.55555 L 226.19841,122.5599 L 226.41612,122.5599 C 226.53589,122.5599 226.69339,122.61049 226.76619,122.67232 C 227.02982,122.89622 227.27316,124.02004 227.11262,124.27231 C 227.07439,124.3324 226.38765,124.55119 226.23732,124.55119 C 226.2159,124.55119 226.19841,124.10315 226.19841,123.55555 z"
+       id="path2384"
+       sodipodi:nodetypes="csscccccccccsccccccsssssssssssssscccsscccccccccssssccccccccccccssccccccsssccccccsscccscccscccssssscccsssssscccssssscccsssssscccccccccccssssssssscccscccccccscccccssssscccsscccssssssssssssssssscccscccccscccccccscccccccsssssscccccsscccccccsscccccscccssssssssssssssccccccccssccccccccccsscccsscccsscccccccccscccsssccccccccsssssssssssssssssssssssscccsssssssssssscccssssssssssscccssssssssssssccsssccccccccccsscccccccccccccccssssssccsssscccccsssccssssccssssssssccccccccccssssssscccsssssccccccccccssssccccccccccscccccsssscccccscccssccsssssssccccccssscccccccccccssscccccccssscccsccccccsccsssssssssssssccssssccsssssssssssssccccccccccssssscccccssscccsccsssscccccscccssssssscccssssssssssscccssscccccccssssccssssssccccccccscccccccsccccccsssssscccssscccccscccsssccccccssssssscccscccssscccsccccccccssssscccccccsssc" />
+    <path
+       style="opacity:1;fill:#000000;stroke:none;stroke-opacity:1"
+       d="M 29.392548,172.30403 C 29.413158,172.259 29.393148,172.22657 29.348058,172.23197 C 29.302978,172.23725 28.986438,172.22663 28.644678,172.20826 C 28.302918,172.18996 27.940038,172.18718 27.838278,172.20202 C 27.736498,172.21691 27.530668,172.19938 27.380868,172.16302 C 27.142638,172.10534 27.127088,172.11441 27.256808,172.23591 C 27.459358,172.42554 27.352658,172.42327 26.578558,172.2214 C 25.695228,171.99111 24.341588,171.46425 23.723018,171.11 C 23.026358,170.711 20.671508,168.83958 20.236468,168.33913 C 20.038098,168.11098 19.844538,167.90511 19.806308,167.88163 C 19.540958,167.71878 16.969278,164.27866 15.590168,162.24178 C 14.446448,160.55255 13.640618,159.21826 12.216858,156.65632 C 11.778008,155.86661 11.334758,155.17173 11.231908,155.11211 C 11.072198,155.01957 11.016758,155.04814 10.852338,155.30785 C 10.746418,155.47509 10.666718,155.66893 10.675218,155.73855 C 10.699118,155.93426 10.505798,155.91273 10.215298,155.68728 C 9.9335976,155.4687 9.3891576,154.51725 9.3448476,154.16613 C 9.3216576,153.98221 9.3626376,153.95661 9.6547476,153.9726 C 9.8398776,153.98274 10.097648,154.00796 10.227558,154.02865 C 10.414288,154.05842 10.458608,154.02563 10.439268,153.87223 C 10.425788,153.7655 10.449578,153.62982 10.492118,153.57069 C 10.537738,153.50731 10.286498,152.84471 9.8798276,151.95584 C 8.5063776,148.95373 7.1336776,145.18637 6.1711376,141.77742 C 5.6962776,140.0956 5.2182576,136.31548 5.3149076,135.00638 C 5.7013276,129.77242 8.1543876,124.79628 12.086668,121.26967 C 12.536928,120.86585 14.304718,119.51023 14.396098,119.4987 C 14.426838,119.49482 14.794698,119.28638 15.213508,119.03548 C 16.053178,118.53248 17.844668,117.73142 19.053178,117.31857 C 21.475148,116.4912 24.646498,115.85918 31.036568,114.9304 C 35.218968,114.32248 36.094778,114.1682 37.023858,113.87572 C 38.874758,113.29301 40.151808,112.58995 41.528858,111.39553 C 42.572218,110.49054 42.911848,110.09338 45.128888,107.18547 C 48.529128,102.72566 50.611428,100.55463 53.992208,97.944362 C 54.806788,97.315442 56.808778,96.119462 57.954018,95.577602 C 59.679478,94.761202 60.975158,94.386962 62.916998,94.144132 C 65.741828,93.790872 67.015168,94.072802 68.017088,95.273342 C 68.177298,95.465292 68.373538,95.614092 68.453208,95.604062 C 68.532898,95.593992 68.684818,95.678982 68.790828,95.792902 L 68.983568,96.000032 L 69.278168,95.564582 C 69.451478,95.308502 69.634308,95.144262 69.722108,95.165852 C 69.908058,95.211532 70.082348,95.717212 69.972078,95.891052 C 69.919018,95.974662 69.932158,96.028262 70.009488,96.043642 C 70.157638,96.073092 70.466178,97.005512 70.369158,97.130562 C 70.330118,97.180882 70.108308,97.153592 69.876268,97.069942 C 69.349668,96.880112 69.186728,96.897842 69.217468,97.141602 C 69.230728,97.246592 69.147588,97.413192 69.032748,97.511842 C 68.917908,97.610502 68.788418,97.898322 68.745038,98.151432 C 68.621868,98.869882 68.153978,99.809337 67.639388,100.3714 C 67.380958,100.65366 66.582348,101.36711 65.864718,101.95687 C 63.594478,103.82252 61.992518,105.3949 61.221328,106.51452 C 60.451958,107.63148 60.363778,107.78502 60.119138,108.4332 C 59.902538,109.00706 59.886558,109.17391 59.979258,109.89092 C 60.067488,110.57301 60.139478,110.78274 60.436298,111.22191 C 61.019568,112.08487 61.486878,112.36501 62.546518,112.48693 C 62.992988,112.5383 63.084168,112.5181 63.347058,112.30966 C 63.519148,112.17323 63.852118,112.03136 63.975508,111.93065 C 64.752798,111.38731 65.872358,110.64256 66.866088,110.05438 C 67.756058,109.38619 68.775338,108.75654 69.822098,108.15153 C 71.385898,107.0664 73.199748,105.75022 74.871218,104.61988 C 76.683798,103.42581 78.110688,102.44906 79.838298,101.30511 C 80.962718,100.52587 82.426918,99.627187 83.656828,98.783592 C 84.841138,97.948602 86.279165,97.004302 87.575351,96.187582 C 88.917361,95.124622 90.400581,94.130752 91.886072,93.229972 C 92.583272,92.754192 93.362348,92.218012 94.110061,91.702122 C 95.652661,90.654392 95.446621,90.772582 96.337251,90.204712 C 97.696301,89.181292 99.494021,88.093502 101.01457,87.089302 C 102.59663,85.905642 105.01996,84.261722 106.41682,83.409412 C 106.55922,83.333692 107.69419,82.588642 108.93895,81.753782 C 110.42142,80.759502 111.23377,80.255222 111.35944,80.167362 C 112.9617,78.998272 115.29401,77.498164 116.99124,76.512044 C 118.72273,75.198054 120.90735,73.793624 122.84301,72.529714 C 123.83216,71.781044 124.99253,71.036574 126.05922,70.314514 C 127.72854,69.196374 129.10452,68.239764 129.11693,68.188684 C 129.47828,67.953794 129.63911,67.930454 129.87946,67.574684 C 130.19292,67.157324 130.40393,66.315754 130.39458,65.520214 C 130.39116,65.227794 130.23482,64.450304 130.03151,63.714514 C 129.38886,61.388604 129.62634,61.020624 132.52309,59.853714 L 133.37171,59.511874 L 133.22478,59.260914 C 132.85006,58.620824 132.23309,58.248614 131.44902,58.189574 C 131.07162,58.161134 130.38392,57.685544 130.16234,57.299714 C 130.06442,57.129124 129.95309,56.742444 129.91497,56.440394 C 129.85585,55.971824 129.88645,55.825334 130.12339,55.442464 C 130.2761,55.195674 130.47669,54.945494 130.56911,54.886514 C 130.66154,54.827544 130.88032,54.529794 131.0553,54.224844 C 131.27777,53.837154 131.48902,53.614654 131.75763,53.485044 C 132.26014,53.242594 133.00646,53.222894 133.41283,53.441354 C 133.59118,53.537244 133.86289,53.626044 134.01663,53.638704 C 134.17032,53.651384 134.40938,53.670564 134.54782,53.681374 C 134.91261,53.709844 135.45919,54.095114 135.75785,54.534254 C 135.96768,54.842754 136.01719,55.020544 136.01773,55.466794 C 136.0184,56.024004 135.9202,56.245104 135.27532,57.138394 C 134.97523,57.554074 134.85173,58.053834 134.91779,58.585094 L 134.95715,58.901694 L 135.3697,58.706644 C 135.59662,58.599374 136.70567,58.138984 137.83427,57.683544 C 138.96284,57.228124 139.90166,56.835604 139.92054,56.811264 C 139.96016,56.760214 139.75665,56.529304 139.34126,56.153974 C 139.01119,55.855704 138.76885,55.766624 137.91978,55.631464 C 137.24277,55.523694 136.87806,55.248334 136.51747,54.572784 C 136.07482,53.743494 136.27322,52.994654 137.13156,52.254974 C 137.36133,52.033064 137.39145,51.781224 137.51381,51.472634 C 137.6659,51.057144 138.0395,50.823534 138.68023,50.743334 C 139.07281,50.694194 139.3341,50.729414 139.65339,50.874524 C 139.89342,50.983614 140.21759,51.058214 140.37373,51.040274 C 141.10522,50.956254 141.95347,51.578534 142.21445,52.390594 C 142.40841,52.994204 142.31996,53.392624 141.83562,54.096774 C 141.39472,54.737804 141.38356,54.775644 141.43132,55.466434 L 141.48046,56.176834 L 141.76481,56.090654 C 141.92122,56.043244 142.64379,55.764274 143.37052,55.470714 C 144.09723,55.177154 145.10122,54.771844 145.6016,54.570044 C 146.10196,54.368234 146.53226,54.176154 146.55782,54.143224 C 146.6424,54.034244 146.08311,53.312214 145.81122,53.179354 C 145.66435,53.107584 145.27123,53.013754 144.93762,52.970884 C 144.25083,52.882594 143.91517,52.681794 143.54112,52.135414 C 143.27838,51.751654 143.20452,51.235934 143.22568,51.044984 C 143.26069,50.728844 143.3242,50.425834 143.35778,50.198814 C 143.37216,50.101614 143.43868,49.941884 143.71233,49.724584 C 143.99934,49.496654 144.13148,49.315264 144.11547,49.171114 C 144.08467,48.893474 144.42947,48.453974 144.90768,48.161354 C 145.36662,47.880534 145.8322,47.885294 146.40477,48.176684 C 146.62513,48.288824 146.91434,48.366834 147.04748,48.350054 C 147.61054,48.279004 148.10641,48.546834 148.63852,49.209424 C 148.87548,49.504514 148.92942,49.666914 148.95599,50.165154 C 148.98464,50.702284 148.94879,50.820454 148.61507,51.288704 C 148.40993,51.576474 148.19683,51.975394 148.14148,52.175134 C 148.02376,52.600024 148.12027,53.610174 148.26727,53.491554 C 148.32026,53.448774 149.38764,53.012004 150.63923,52.520924 C 153.51049,51.394374 153.35698,51.463694 153.33667,51.302714 C 153.28636,50.903794 152.00212,50.193714 151.45564,50.262644 C 151.14939,50.301284 150.2806,49.634014 150.03289,49.169914 C 149.87256,48.869544 149.8337,48.692384 149.88326,48.487914 C 149.9201,48.335964 149.91591,48.126044 149.87397,48.021404 C 149.78209,47.792224 150.14081,47.197214 150.53391,46.926714 C 150.68904,46.819934 150.79612,46.656224 150.78233,46.546914 C 150.74089,46.218454 151.16581,45.694664 151.66897,45.453984 C 152.22054,45.190134 152.81937,45.216304 153.1725,45.519674 C 153.31856,45.645174 153.51001,45.683254 153.8067,45.645824 C 154.66577,45.537444 155.64466,46.401624 155.75118,47.362454 C 155.8074,47.869594 155.73624,48.089494 155.32002,48.695084 C 154.94682,49.238094 154.79156,49.789314 154.85971,50.329374 L 154.92232,50.825864 L 155.44144,50.660074 C 156.63435,50.279094 158.3741,50.393664 159.38093,50.919494 C 160.03093,51.258964 160.9119,51.984594 160.87186,52.147524 C 160.84823,52.243754 160.87332,52.270234 160.93838,52.217714 C 161.08682,52.097914 161.89048,53.384854 162.1172,54.105404 C 162.53863,55.444864 162.45083,56.862904 161.8736,58.038724 C 161.14719,59.518464 159.34163,60.791184 157.67865,60.995694 C 156.63684,61.123814 156.14508,61.065884 154.98231,60.678094 C 153.71422,60.255184 153.60317,60.240684 153.17883,60.442674 C 152.36191,60.831534 150.64627,62.470714 149.88162,63.592944 C 149.35043,64.372524 147.3959,66.926584 146.88975,67.502484 C 146.19161,68.296864 145.61084,68.875714 144.56364,69.820944 C 143.22842,71.026154 142.70357,71.424954 142.40276,71.462904 C 142.27215,71.479384 141.72071,71.295464 141.17733,71.054234 C 139.50698,70.312654 138.22538,70.187904 136.77276,70.625474 C 136.0853,70.832574 134.39182,71.756094 133.87907,72.203504 C 132.05213,73.039294 131.02389,74.253024 129.468,75.496714 C 128.26735,76.404584 127.80845,76.742174 126.57043,77.628354 C 126.20721,77.888364 125.52992,78.390214 125.0653,78.743572 C 123.75808,79.729232 122.42289,80.676832 121.11284,81.658742 C 118.19679,83.327732 116.04977,85.351942 113.65123,87.130282 C 111.66273,88.217732 110.65906,89.304252 109.54941,90.146082 C 106.5028,91.785742 105.28376,93.327662 102.71091,95.195592 C 100.81023,96.253122 99.821881,97.326582 97.869921,98.733412 C 96.579331,99.584857 96.600451,99.625477 95.909241,100.19084 C 95.689661,100.35626 95.214121,100.71443 94.852441,100.98671 C 93.430598,102.05716 93.062358,102.24811 92.421812,102.70884 C 91.517012,103.41232 89.939851,104.6976 88.666591,105.54003 C 88.094231,105.94737 87.053125,106.69048 86.662935,106.97943 C 79.445418,111.72786 72.264208,117.65966 64.416138,123.16622 C 63.363488,123.70091 62.314038,124.56498 61.670948,125.59674 C 60.265078,127.84896 61.157748,130.42335 63.817528,131.78726 C 64.560238,132.16809 65.651638,132.30034 66.845468,132.15416 C 68.097098,132.00088 68.641528,131.82186 70.401038,130.9849 C 71.995968,130.22625 72.710838,130.04485 73.494908,130.19986 C 74.101458,130.31979 74.964418,130.90126 75.334948,131.43967 C 75.619768,131.85354 75.820198,132.799 75.763338,133.46039 C 75.677538,134.45814 74.930648,136.30916 74.170098,137.40885 C 73.515348,138.35558 71.982368,139.92296 70.410558,141.25273 C 67.286068,143.89606 61.630008,146.40606 55.409508,147.9097 C 52.721068,148.55957 52.032238,148.80464 50.735898,149.57243 C 49.562178,150.26763 48.611798,151.14608 47.505868,152.55807 C 46.606818,153.70593 45.687858,155.34594 45.149088,156.76417 C 45.047498,157.03156 44.932118,157.26984 44.892718,157.29367 C 44.853278,157.31751 44.826198,157.37814 44.832558,157.42842 C 44.843728,157.51704 44.535788,158.2618 43.561518,160.50246 C 43.303968,161.09482 43.098148,161.61837 43.104138,161.66594 C 43.110138,161.71352 43.079328,161.75691 43.035638,161.76245 C 42.991958,161.76797 42.888988,161.93138 42.806788,162.12565 C 42.458778,162.94818 41.487828,164.65661 40.796388,165.66304 C 39.968358,166.8683 39.137528,167.78358 37.891748,168.86297 C 35.673698,170.78472 33.867118,171.63956 31.033288,172.10833 C 30.110258,172.261 29.371908,172.34907 29.392548,172.30403 z M 131.84053,53.765784 C 131.91727,53.701274 131.93446,53.654204 131.87878,53.661224 C 131.82309,53.668264 131.71476,53.726794 131.63804,53.791304 C 131.56131,53.855834 131.5441,53.902864 131.5998,53.895844 C 131.65548,53.888814 131.76383,53.830294 131.84053,53.765784 z"
+       id="path2398"
+       sodipodi:nodetypes="csssssssssssssssssssssssssssssssssssscccssssssssssssssssccccccccccccsccccccsscccssssssssssssscccsssssccssssscccssssssssssssssssssssssssssssssscccssssssssssssssccscccccccscccccsssssssssssssssssssssccsssc" />
+    <path
+       style="opacity:1;fill:#000000"
+       d="M 109.70227,165.77288 C 109.59907,165.33986 109.8398,165.01229 110.23968,165.04158 C 110.36674,165.05089 110.5064,165.02864 110.55,164.99216 C 110.62598,164.9286 110.7617,164.50023 110.74423,164.37912 C 110.73964,164.34716 110.3775,163.85748 109.9395,163.29093 C 108.95086,162.01216 108.07427,160.80165 107.18992,159.49395 C 105.79425,157.43012 104.05383,154.60437 103.42533,153.38169 C 101.87062,150.35728 101.0282,147.11246 100.98534,143.98362 C 100.96858,142.76009 101.17265,140.35333 101.37151,139.42879 C 102.00426,136.48749 103.43362,134.1992 106.14497,131.78691 C 107.78082,130.33152 110.63967,128.33482 112.39262,127.4234 C 115.63153,125.73941 119.61977,124.25277 126.22783,122.26625 C 129.96393,121.1431 131.04119,120.77773 132.46546,120.15062 C 136.1834,118.51364 138.99367,115.98317 141.66634,111.86576 C 143.15213,109.57679 146.51458,104.58135 146.93782,104.03411 C 150.63806,99.249908 154.18006,96.365698 157.62865,95.328678 C 158.31638,95.121878 159.63643,94.872438 160.29529,94.824798 C 161.52855,94.735578 162.67802,94.984938 163.50119,95.520248 C 163.80971,95.720848 163.91471,95.819268 164.17693,96.153708 C 164.47649,96.535638 164.48724,96.544568 164.48147,96.406808 C 164.47814,96.328298 164.46495,96.250648 164.45209,96.234308 C 164.37585,96.137508 164.54363,96.171548 164.88571,96.322338 L 165.27722,96.494868 L 165.39421,96.348958 C 165.67621,95.997268 165.93468,95.948238 166.22992,96.190418 C 166.39629,96.326858 166.4526,96.485298 166.51838,97.001878 C 166.58339,97.512718 166.53898,97.690598 166.29545,97.894338 C 166.07543,98.078408 165.89099,98.085058 165.68935,97.916158 C 165.40867,97.681128 165.21205,97.750168 164.92856,98.183248 C 164.85068,98.302208 164.78109,98.404768 164.77387,98.411208 C 164.76666,98.417608 164.74604,98.333788 164.72807,98.224878 L 164.69538,98.026888 L 164.61146,98.289818 C 164.41437,98.907268 164.18805,99.189958 162.95005,100.36507 C 161.86573,101.3943 160.95969,102.33255 160.27523,103.13498 C 160.00164,103.45572 159.6338,103.88164 159.4578,104.08147 C 159.07409,104.51711 158.90535,104.77568 158.70063,105.24175 C 158.40397,105.91709 158.24864,106.62036 158.16696,107.65813 C 158.03238,109.36812 158.33129,111.06494 159.02297,112.51766 C 159.193,112.87474 159.30696,113.03966 159.75644,113.57904 C 160.3699,114.31516 160.57332,114.47744 161.304,114.81325 C 161.84602,115.06238 162.35354,115.18723 162.96099,115.22094 C 163.52751,115.25234 164.47929,115.1455 164.61045,115.03579 C 164.66515,114.99002 166.69219,113.38252 169.11497,111.46355 C 180.64258,102.33309 188.23471,96.291718 199.65658,87.160318 C 201.71469,85.514954 206.44962,81.707876 209.72941,79.061376 C 211.87185,77.332636 216.42009,73.620756 220.97218,69.886052 L 223.17373,68.079872 L 223.19907,67.712872 C 223.23277,67.224722 223.22559,66.722342 223.17732,66.202942 C 223.11808,65.564932 223.16145,65.149872 223.31599,64.877552 C 223.61625,64.348372 224.05472,64.023642 224.93714,63.676962 C 225.58305,63.423182 226.77762,62.853162 226.78265,62.796292 C 226.79121,62.700502 226.5611,62.221952 226.47312,62.152352 C 226.41864,62.109282 226.26489,62.092802 226.10349,62.112752 C 225.86163,62.142612 225.80963,62.129182 225.68736,62.005122 C 225.53302,61.848512 225.35262,61.423602 225.18913,60.831702 C 225.06085,60.367052 225.07777,60.338822 225.73609,59.918222 C 226.2468,59.591922 226.49252,59.485872 226.89402,59.418372 C 227.22974,59.361912 227.42628,59.406052 227.62262,59.581982 C 227.82014,59.758912 228.14456,60.338412 228.21262,60.635862 C 228.2784,60.923422 228.18499,61.258092 227.99453,61.417472 C 227.83392,61.551802 227.83562,61.559642 228.10805,61.958992 C 228.25423,62.173252 228.25815,62.175202 228.41203,62.111432 C 229.05004,61.846942 230.90986,61.023122 230.90934,61.005192 C 230.90894,60.992932 230.86205,60.868592 230.80503,60.728952 C 230.67753,60.416632 230.53997,60.325642 230.28256,60.383112 C 230.18224,60.405522 230.05585,60.413782 230.00164,60.401512 C 229.76859,60.348852 229.5505,59.923232 229.33064,59.091712 L 229.21843,58.667342 L 229.67048,58.331042 C 230.44233,57.756852 231.16283,57.536082 231.58601,57.744142 C 231.80143,57.850082 231.83297,57.883092 232.04225,58.221852 C 232.29359,58.628632 232.38666,58.880432 232.37556,59.123302 C 232.36569,59.337092 232.19901,59.677602 232.07569,59.735792 C 231.95884,59.790922 231.97478,59.850432 232.1947,60.181762 L 232.35773,60.427462 L 233.61219,59.903482 C 234.30213,59.615302 234.8724,59.366372 234.87946,59.350302 C 234.90931,59.282692 234.68828,58.808462 234.59559,58.741152 C 234.54014,58.700852 234.42159,58.684222 234.33217,58.704152 C 234.07195,58.762172 233.90252,58.726712 233.78841,58.590342 C 233.65576,58.431822 233.41925,57.829362 233.30795,57.366382 L 233.22245,57.010922 L 233.49658,56.789032 C 234.12336,56.281782 234.49279,56.097332 235.05712,56.010032 C 235.32603,55.968422 235.42674,55.980982 235.59964,56.077532 C 235.78566,56.181402 235.83935,56.240092 236.03268,56.550862 C 236.33333,57.034152 236.42021,57.405842 236.30662,57.722772 C 236.24372,57.898472 236.18174,57.988352 236.08833,58.039262 C 235.94418,58.117892 235.94705,58.128582 236.23144,58.566132 L 236.36972,58.778872 L 237.72255,58.233312 C 238.46657,57.933282 239.0746,57.675882 239.07362,57.661342 C 239.0665,57.554262 238.81326,57.054882 238.73972,57.002942 C 238.68943,56.967372 238.52182,56.955412 238.36722,56.976382 C 238.1264,57.009022 238.06768,56.995822 237.95729,56.884212 C 237.80752,56.732862 237.62555,56.296362 237.46945,55.714412 C 237.33679,55.219952 237.346,55.203832 238.00275,54.781102 C 238.73789,54.307912 239.36427,54.148402 239.73814,54.339192 C 239.8902,54.416792 239.95499,54.488242 240.15747,54.801382 C 240.46916,55.283612 240.5514,55.577162 240.46792,55.909202 C 240.41645,56.113782 240.36858,56.194022 240.24898,56.276292 C 240.07668,56.394802 240.07616,56.392492 240.38837,56.861932 L 240.55682,57.115132 L 241.86393,56.609882 C 242.58287,56.331992 243.17659,56.093582 243.18332,56.080072 C 243.20056,56.045712 242.91193,55.366352 242.8457,55.285432 C 242.81585,55.248882 242.72068,55.225022 242.63427,55.232392 C 242.19325,55.270052 242.09894,55.254952 241.99437,55.129942 C 241.8717,54.983342 241.67066,54.477412 241.51488,53.923112 L 241.40436,53.529982 L 241.87765,53.175422 C 242.38522,52.795162 242.75517,52.626062 243.2679,52.539852 C 243.57672,52.487912 243.74935,52.528192 243.94556,52.697992 C 244.12923,52.856902 244.4775,53.445402 244.53275,53.690322 C 244.61858,54.070172 244.49846,54.483032 244.26992,54.593652 C 244.14602,54.653612 244.13622,54.620472 244.4485,55.199272 C 244.54784,55.383462 244.637,55.533992 244.64647,55.533842 C 244.65601,55.533662 245.00382,55.374622 245.41936,55.180432 C 245.83497,54.986222 246.42262,54.721472 246.72536,54.592082 C 247.02803,54.462712 247.2746,54.349212 247.27317,54.339892 C 247.25847,54.244262 247.01869,53.756132 246.9443,53.670492 C 246.8669,53.581452 246.79387,53.566452 246.57154,53.594002 C 246.11145,53.651012 246.00231,53.516382 245.69101,52.507542 C 245.4929,51.865552 245.49617,51.853442 245.94999,51.548592 C 246.10413,51.445022 246.31093,51.305762 246.40955,51.239132 C 246.78702,50.983982 247.50732,50.815412 247.79857,50.914052 C 248.00223,50.983022 248.2258,51.227442 248.45226,51.628722 C 248.7499,52.155882 248.74082,52.633102 248.42822,52.894592 L 248.26454,53.031532 L 248.5209,53.430172 C 248.66192,53.649412 248.78739,53.829202 248.7998,53.829672 C 248.81221,53.830102 249.0243,53.782612 249.27113,53.724082 C 250.02507,53.545322 250.49692,53.513352 251.0056,53.606552 C 252.40794,53.863492 253.52315,54.613812 254.15346,55.724472 C 254.26462,55.920442 254.41035,56.212362 254.47723,56.373182 C 254.62432,56.727032 254.82582,57.547782 254.87566,57.996012 C 254.97193,58.862202 254.7285,59.776612 254.19219,60.563172 C 253.66156,61.341342 252.79762,62.226802 252.29455,62.507932 C 251.24276,63.095752 249.81312,63.406202 248.85473,63.254892 C 248.56787,63.209572 248.0454,63.031872 247.48525,62.789092 C 246.7844,62.485342 246.23601,62.539302 245.63157,62.971512 C 245.23288,63.256562 245.06698,63.455392 243.13845,65.958572 C 241.13689,68.556522 239.88942,70.140332 238.88296,71.361222 C 238.18603,72.206682 238.11647,72.277862 237.36448,72.914832 C 236.7976,73.394976 236.53157,73.596076 236.41661,73.631266 C 236.29878,73.667306 236.12387,73.632396 235.75091,73.498446 C 235.0082,73.231706 233.96784,72.939582 233.44603,72.851252 C 232.87673,72.754882 232.40684,72.747102 231.72527,72.822832 C 230.71332,72.935252 230.53076,72.991182 229.85239,73.396656 C 229.51523,73.598156 229.06676,73.857076 228.85586,73.972006 C 228.45645,74.189586 226.70845,75.659826 195.38985,102.12088 C 192.71234,104.3831 186.4843,109.64041 181.54972,113.8038 C 176.61516,117.96718 171.44622,122.33522 170.06316,123.51057 C 168.68013,124.68589 166.70935,126.34999 165.68373,127.20851 L 163.81888,128.7695 L 163.85638,128.90545 C 163.877,128.98023 163.86929,129.14186 163.83926,129.26463 C 163.54406,130.47107 164.373,132.53311 165.75999,134.04257 C 167.39439,135.82124 169.32031,136.74035 171.36338,136.71673 C 171.89166,136.71062 172.54908,136.51959 173.94752,135.96587 C 174.73678,135.65334 176.30976,134.90504 177.02511,134.50179 C 177.90375,134.00649 178.45603,133.86075 179.20774,133.92588 C 180.0736,134.00089 180.66593,134.33163 181.20589,135.04157 C 181.71,135.7044 181.85592,136.29309 181.7665,137.30346 C 181.73548,137.65494 181.65651,138.11482 181.59119,138.32538 C 181.32725,139.1762 180.23083,140.87825 179.12476,142.15431 C 178.59678,142.76343 176.77603,144.28595 176.03289,144.73975 C 174.52046,145.6633 173.55495,146.11025 169.3804,147.8193 C 169.12474,147.92397 168.4166,148.13749 167.80675,148.29378 C 166.11515,148.72732 165.16194,149.06264 163.94975,149.65056 C 161.99581,150.59825 160.3919,151.88328 159.03392,153.58904 C 158.09658,154.76644 157.38522,156.00188 156.69083,157.6584 C 156.46171,158.205 156.15836,158.86703 156.01673,159.12955 C 155.67984,159.754 155.31877,160.48364 154.35339,162.49077 C 152.80894,165.70186 152.01394,167.19097 150.92796,168.90698 C 148.93254,172.06004 146.70575,174.55274 144.12641,176.52066 C 142.36135,177.86732 141.12213,178.65666 139.75632,179.30426 C 137.21476,180.50928 135.05432,180.89234 131.83442,180.70892 C 130.45684,180.63044 130.38317,180.61771 129.20803,180.2552 C 126.54371,179.43319 125.17312,178.81357 123.42272,177.63963 C 121.24664,176.18021 118.9218,174.02916 116.86988,171.57659 C 116.2434,170.82781 114.90269,169.24865 113.89054,168.06734 L 112.05021,165.91954 L 111.68462,165.9813 L 111.31904,166.04306 L 111.28143,166.31121 C 111.23996,166.60672 111.14081,166.7231 110.88121,166.78099 C 110.58507,166.84704 110.39698,166.74434 110.05217,166.32825 C 109.83129,166.06171 109.73446,165.90802 109.70227,165.77288 z"
+       id="path3250"
+       sodipodi:nodetypes="csssssssssssssssssssscccsssssscccssssssssssssscccssssssssssssssssssscccsssscccsssscccssssscccsssssssssscccsssscccsssssssssssssssscccssssssssssssssssssssssscccssssssssssssssssssssssssscccccssc" />
+    <rect
+       style="opacity:1;color:#000000;fill:#0000ff;fill-opacity:0.22608696;fill-rule:nonzero;stroke:none;stroke-width:10.60000038000000089;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="rect1913"
+       width="291.42856"
+       height="45.714287"
+       x="-16.285721"
+       y="181.50516" />
+    <path
+       style="font-size:39.83382034000000260px;font-family:Goblin;stroke:none;stroke-opacity:1;fill:#000000;fill-opacity:1"
+       d="M 58.72672,219.00823 L 44.00299,198.17717 L 44.00299,218.61923 L 40.30747,218.61923 L 40.30747,190.12482 L 41.86348,190.12482 L 56.19821,209.82778 L 56.19821,190.12482 L 59.89373,190.12482 L 59.89373,219.00823 L 58.72672,219.00823 M 64.3867,204.1289 C 64.3867,200.0055 65.41756,196.55635 67.47927,193.78144 C 69.55394,191.00659 72.34827,189.61915 75.86227,189.61912 C 79.8171,189.61915 82.84483,190.89637 84.94547,193.45079 C 87.05902,196.00526 88.11581,199.56463 88.11583,204.1289 C 88.11581,208.8099 87.05902,212.47949 84.94547,215.13766 C 82.83187,217.78288 79.80414,219.10548 75.86227,219.10548 C 72.27047,219.10548 69.45669,217.70508 67.42092,214.90426 C 65.39811,212.10345 64.3867,208.51167 64.3867,204.1289 M 68.47123,204.1289 C 68.47122,207.39653 69.11307,210.12603 70.39679,212.3174 C 71.69345,214.50878 73.51528,215.60447 75.86227,215.60447 C 78.52043,215.60447 80.54324,214.59955 81.9307,212.5897 C 83.33109,210.57986 84.03129,207.7596 84.03131,204.1289 C 84.03129,196.78975 81.30828,193.12017 75.86227,193.12014 C 73.45044,193.12017 71.61565,194.10564 70.35789,196.07656 C 69.10011,198.04752 68.47122,200.73163 68.47123,204.1289 M 122.75647,191.17513 L 121.45332,194.5011 C 120.20849,193.59345 118.25052,193.13962 115.57938,193.13959 C 113.07679,193.13962 111.06695,194.21585 109.54985,196.36831 C 108.0457,198.52081 107.29363,201.29569 107.29364,204.69296 C 107.29363,207.93465 108.06515,210.5669 109.6082,212.5897 C 111.1642,214.59955 113.16756,215.60447 115.61828,215.60447 C 118.28942,215.60447 120.34464,214.6579 121.78397,212.76475 L 123.92348,215.74062 C 121.66725,217.98386 118.7627,219.10548 115.20983,219.10548 C 111.48837,219.10548 108.55789,217.76343 106.41838,215.07931 C 104.27887,212.3952 103.20911,208.85529 103.20912,204.45955 C 103.20911,200.20648 104.35019,196.67305 106.63233,193.85925 C 108.91447,191.04549 111.8644,189.6386 115.48213,189.63857 C 118.58117,189.6386 121.00594,190.15079 122.75647,191.17513 M 127.01605,204.1289 C 127.01604,200.0055 128.0469,196.55635 130.10861,193.78144 C 132.18328,191.00659 134.97761,189.61915 138.49161,189.61912 C 142.44645,189.61915 145.47418,190.89637 147.57481,193.45079 C 149.68836,196.00526 150.74515,199.56463 150.74518,204.1289 C 150.74515,208.8099 149.68836,212.47949 147.57481,215.13766 C 145.46121,217.78288 142.43348,219.10548 138.49161,219.10548 C 134.89981,219.10548 132.08603,217.70508 130.05026,214.90426 C 128.02745,212.10345 127.01604,208.51167 127.01605,204.1289 M 131.10057,204.1289 C 131.10056,207.39653 131.74242,210.12603 133.02613,212.3174 C 134.32279,214.50878 136.14462,215.60447 138.49161,215.60447 C 141.14977,215.60447 143.17258,214.59955 144.56004,212.5897 C 145.96043,210.57986 146.66063,207.7596 146.66065,204.1289 C 146.66063,196.78975 143.93762,193.12017 138.49161,193.12014 C 136.07979,193.12017 134.24499,194.10564 132.98723,196.07656 C 131.72945,198.04752 131.10056,200.73163 131.10057,204.1289 M 165.13826,219.00823 L 163.1738,219.00823 L 152.55404,190.12482 L 156.87197,190.12482 L 164.20466,211.11149 L 171.26505,190.12482 L 175.44682,190.12482 L 165.13826,219.00823 M 182.52665,193.62584 L 182.52665,201.54204 L 191.94051,201.54204 L 191.94051,204.84856 L 182.52665,204.84856 L 182.52665,215.11821 L 195.44153,215.11821 L 195.44153,218.61923 L 178.63663,218.61923 L 178.63663,190.12482 L 195.65548,190.12482 L 195.65548,193.62584 L 182.52665,193.62584 M 215.76689,218.61923 L 208.1619,206.38511 C 207.29312,206.38513 205.91864,206.32029 204.03848,206.19061 L 204.03848,218.61923 L 200.14846,218.61923 L 200.14846,190.12482 C 200.29109,190.12485 201.29601,190.07947 203.16322,189.98867 C 205.04339,189.88497 206.41138,189.8331 207.26719,189.83307 C 214.11362,189.8331 217.53683,192.55611 217.53685,198.00212 C 217.53683,199.79155 216.98575,201.4059 215.88359,202.84519 C 214.7814,204.27155 213.47176,205.15977 211.95467,205.50986 L 220.22097,218.61923 L 215.76689,218.61923 M 204.03848,193.62584 L 204.03848,202.8841 C 204.97207,203.01378 205.87974,203.07861 206.76149,203.0786 C 209.09549,203.07861 210.79413,202.70258 211.85742,201.95049 C 212.92068,201.19844 213.45231,199.85638 213.45233,197.92432 C 213.45231,196.32943 212.88178,195.18188 211.74072,194.48165 C 210.59963,193.78147 208.79726,193.43137 206.33359,193.43134 C 205.94458,193.43137 205.17954,193.4962 204.03848,193.62584"
+       id="text1909" />
+  </g>
+</svg>
diff --git a/data/themes/default/bassneck.svg b/data/themes/default/bassneck.svg
new file mode 100644 (file)
index 0000000..7df67da
--- /dev/null
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="250"
+   height="520"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="bassneck.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   sodipodi:modified="true">
+  <metadata
+     id="metadata3009">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="871"
+     inkscape:window-width="1375"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.244236"
+     inkscape:cx="-20.470797"
+     inkscape:cy="292.14824"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:current-layer="g4297"
+     showgrid="true"
+     showguides="false"
+     inkscape:window-maximized="0">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3223"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 260 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="250 : 260 : 1"
+       inkscape:persp3d-origin="125 : 173.33333 : 1"
+       id="perspective41" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4109"
+       id="linearGradient4303"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.173252,0,0,1.1426938,-40.651789,-74.675511)"
+       x1="64.430161"
+       y1="268.30783"
+       x2="146.39825"
+       y2="301.49274" />
+    <linearGradient
+       id="linearGradient4109">
+      <stop
+         style="stop-color:#ad6c12;stop-opacity:0.58823532;"
+         offset="0"
+         id="stop4111" />
+      <stop
+         id="stop4117"
+         offset="0.5"
+         style="stop-color:#b36e05;stop-opacity:1;" />
+      <stop
+         style="stop-color:#b66406;stop-opacity:0.58823532;"
+         offset="1"
+         id="stop4113" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4109"
+       id="linearGradient4301"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0948624,0,0,1.2672683,6.8733359,2.5614661)"
+       x1="92.684113"
+       y1="164.62471"
+       x2="227.01991"
+       y2="194.92398" />
+    <linearGradient
+       id="linearGradient4387">
+      <stop
+         style="stop-color:#53300d;stop-opacity:0;"
+         offset="0"
+         id="stop4389" />
+      <stop
+         id="stop10266"
+         offset="0.04048297"
+         style="stop-color:#59330d;stop-opacity:0.93333333;" />
+      <stop
+         id="stop4395"
+         offset="0.5"
+         style="stop-color:#a65b10;stop-opacity:0.93333334;" />
+      <stop
+         style="stop-color:#4e2804;stop-opacity:0.93333333;"
+         offset="0.96050948"
+         id="stop10268" />
+      <stop
+         style="stop-color:#462403;stop-opacity:0;"
+         offset="1"
+         id="stop4391" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3207">
+      <stop
+         style="stop-color:#999999;stop-opacity:1;"
+         offset="0"
+         id="stop3209" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop3211" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2417">
+      <stop
+         style="stop-color:#f2f2f2;stop-opacity:1;"
+         offset="0"
+         id="stop2419" />
+      <stop
+         style="stop-color:#999999;stop-opacity:0.73282444;"
+         offset="1"
+         id="stop2421" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4387"
+       id="linearGradient4393"
+       x1="3.4098361"
+       y1="259.35468"
+       x2="249.85738"
+       y2="259.35468"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9893675,0,0,0.9937313,0,2.2711467)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3207"
+       id="linearGradient10308"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7058765,0,0,1.0054914,478.96768,-1.4243308)"
+       spreadMethod="repeat"
+       x1="-265.2009"
+       y1="-3.3672962"
+       x2="-267.33176"
+       y2="2.4799759" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2417"
+       id="linearGradient10369"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8756074,0,0,1.2260835,248.64415,3.5311546)"
+       spreadMethod="reflect"
+       x1="-142.75803"
+       y1="0.78900218"
+       x2="-142.75803"
+       y2="4.6783328" />
+  </defs>
+  <rect
+     y="0"
+     x="0"
+     height="520"
+     width="250"
+     id="rect2405"
+     style="opacity:1;fill:url(#linearGradient4393);fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+  <g
+     id="g4297">
+    <path
+       sodipodi:nodetypes="cscssc"
+       id="path3261"
+       d="M 81.432615,523.32667 C -18.442228,249.08013 45.037557,325.48219 83.125406,205.12676 C 121.21329,84.771376 59.426308,16.350148 59.426308,16.350148 C 59.426308,16.350148 127.98446,33.661541 127.98446,167.2066 C 127.98446,300.75162 79.739823,297.4542 95.821367,384.01118 C 111.9029,470.56812 153.37636,523.32667 153.37636,523.32667"
+       style="fill:url(#linearGradient4303);fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       inkscape:transform-center-x="25.312288"
+       inkscape:transform-center-y="-253.48831" />
+    <path
+       style="fill:url(#linearGradient4301);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 156.94058,-2.7426601 C 197.09035,63.403575 223.53139,132.71627 211.6837,209.35672 C 190.42957,346.84571 243.03378,478.1378 243.03378,478.1378 C 209.22758,435.88668 204.37385,417.26638 192.48364,377.57343 C 145.93498,222.18048 183.42574,222.06796 157.13587,128.90521 C 138.95232,64.468613 110.71652,46.267978 92.17322,3.3547926e-14"
+       id="use3265"
+       sodipodi:nodetypes="cscssc"
+       inkscape:transform-center-x="-46.636479"
+       inkscape:transform-center-y="240.44022" />
+  </g>
+  <g
+     id="g3393"
+     transform="translate(1.3558093,0.6218326)">
+    <rect
+       y="-0.62183261"
+       x="-1.3558093"
+       height="9.8890123"
+       width="250"
+       id="rect2415"
+       style="fill:url(#linearGradient10369);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <use
+       height="520"
+       width="250"
+       transform="translate(3.0940247e-8,255.33617)"
+       id="use3197"
+       xlink:href="#rect2415"
+       y="0"
+       x="0" />
+    <use
+       height="520"
+       width="250"
+       transform="translate(3.0940247e-8,515.13684)"
+       id="use3203"
+       xlink:href="#rect2415"
+       y="0"
+       x="0" />
+    <use
+       height="520"
+       width="250"
+       transform="matrix(0.8333333,0,0,1,53.926741,0)"
+       id="use3215"
+       xlink:href="#rect3205"
+       y="0"
+       x="0" />
+    <use
+       height="520"
+       width="250"
+       transform="matrix(0.6666667,0,0,1,109.29626,0)"
+       id="use3217"
+       xlink:href="#rect3205"
+       y="0"
+       x="0" />
+    <use
+       height="520"
+       width="250"
+       transform="matrix(0.5,0,0,1,163.22302,0)"
+       id="use3219"
+       xlink:href="#rect3205"
+       y="0"
+       x="0" />
+    <use
+       height="520"
+       width="250"
+       transform="matrix(0.3333333,0,0,1,216.42835,0)"
+       id="use3221"
+       xlink:href="#rect3205"
+       y="0"
+       x="0" />
+    <rect
+       y="-4.8101187"
+       x="20.56773"
+       height="528.36328"
+       width="12"
+       id="rect3205"
+       style="fill:url(#linearGradient10308);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  </g>
+</svg>
diff --git a/data/themes/default/button.svg b/data/themes/default/button.svg
new file mode 100644 (file)
index 0000000..3ffb606
--- /dev/null
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="64"
+   id="svg2463"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="button.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2465">
+    <linearGradient
+       id="linearGradient3262">
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.22680412;"
+         offset="0"
+         id="stop3264" />
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.96078432;"
+         offset="1"
+         id="stop3266" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2471" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3272"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,40.335717,481.59837)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2406"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,43.114888,485.8841)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#f5f5f5"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6"
+     inkscape:cx="27.116923"
+     inkscape:cy="40.003406"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1021"
+     inkscape:window-height="720"
+     inkscape:window-x="87"
+     inkscape:window-y="34" />
+  <metadata
+     id="metadata2468">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-110.35967,-771.51188)">
+    <path
+       sodipodi:type="arc"
+       style="fill:#f5f5f5;fill-opacity:0.96078430999999997;stroke:#000000;stroke-width:17.75125346;stroke-miterlimit:3.29999995;stroke-dasharray:none;stroke-opacity:1"
+       id="path2481"
+       sodipodi:cx="360"
+       sodipodi:cy="838.07648"
+       sodipodi:rx="165.71428"
+       sodipodi:ry="165.71428"
+       d="M 525.71428,838.07648 A 165.71428,165.71428 0 1 1 194.28572,838.07648 A 165.71428,165.71428 0 1 1 525.71428,838.07648 z"
+       transform="matrix(0.1690021,0,0,0.1690022,81.519358,662.1236)" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.06804083px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 145.82521,786.11711 L 144.45057,786.11711 L 144.17565,786.80444 L 144.45057,787.56047 L 144.31311,788.38526 L 143.62581,787.97287 L 143.07595,786.94189 L 141.90751,786.66697 L 141.42639,786.18585 L 140.39542,785.70472 L 139.22698,783.78023 L 139.29572,782.88672 L 142.18244,780.6873 L 143.55706,781.30589 L 143.76326,781.78703 L 143.76326,782.33687 L 144.10692,782.81799 L 144.79423,783.02419 L 145.27535,782.61179 L 145.34408,782.13067 L 145.13789,781.71829 L 144.7255,781.51209 L 144.45057,781.16843 L 145.06916,780.89351 L 144.9317,780.20618 L 144.9317,779.7938 L 144.51932,779.3814 L 144.31311,778.76281 L 143.48834,778.55663 L 142.80102,778.41916 L 141.35765,779.45014 L 137.71489,780.89351 L 136.8901,781.71829 L 136.27151,782.19941 L 136.13404,783.29911 L 136.40899,783.84896 L 137.09631,785.70472 L 137.98981,787.42302 L 138.95205,788.66018 L 137.43996,791.13453 L 135.72166,794.84603 L 134.69068,796.49558 L 132.97241,798.62627 L 132.90367,799.58851 L 132.01017,800.4133 L 133.38479,801.65047 L 133.04114,803.09384 L 133.1786,806.32421 L 133.79717,810.03572 L 134.41577,813.33485 L 135.10307,814.43455 L 136.06533,816.42776 L 137.57742,818.69592 L 137.98981,820.13927 L 138.4022,821.17025 L 137.16502,822.88855 L 134.96561,823.78205 L 134.75943,824.46937 L 138.95205,824.33192 L 138.33347,825.43162 L 139.08951,826.11894 L 141.08274,826.32513 L 142.66356,824.9505 L 143.21342,823.02602 L 144.10692,821.37645 L 145.20662,820.41421 L 145.55028,819.3145 L 144.38186,819.24576 L 145.13789,818.48971 L 143.62581,818.97084 L 144.7255,817.87112 L 143.90073,817.66494 L 143.28213,816.90889 L 142.25117,814.77821 L 139.84556,812.785 L 139.36445,812.64753 L 139.84556,812.23514 L 139.77683,811.06671 L 140.25796,810.03572 L 139.84556,810.10446 L 140.60161,808.79856 L 140.60161,807.49266 L 141.08274,806.80534 L 141.08274,805.91182 L 142.1137,804.53718 L 142.18244,803.36875 L 141.97624,802.40652 L 142.45737,801.3068 L 143.0072,800.4133 L 143.0072,799.86344 L 143.62581,799.7947 L 144.17565,799.24485 L 144.65677,797.87022 L 145.75648,796.63305 L 147.06237,796.15193 L 147.88715,796.83925 L 149.88037,797.45783 L 151.4612,798.28261 L 152.21723,799.24485 L 153.52314,799.38231 L 157.64704,801.16934 L 159.77771,801.92538 L 161.49601,803.23129 L 161.90839,803.09384 L 161.90839,802.68144 L 160.94616,801.92538 L 162.8019,802.40652 L 163.0081,802.06285 L 162.59571,801.65047 L 163.28303,801.65047 L 163.35176,801.23808 L 162.11459,800.96314 L 163.07683,800.68821 L 163.07683,800.2071 L 162.73317,800.13837 L 161.70219,800.2071 L 160.87743,799.86344 L 160.32757,799.58851 L 161.15235,798.90119 L 161.35855,798.42008 L 161.22108,798.07642 L 160.46504,798.21388 L 158.8842,799.03866 L 158.67802,799.45105 L 158.12816,799.31359 L 156.13494,798.21388 L 156.0662,797.45783 L 154.89777,796.83925 L 152.90456,795.80826 L 152.42345,796.15193 L 152.49216,795.6708 L 151.39247,794.63983 L 150.43021,794.36491 L 149.53671,793.33393 L 149.26179,792.99027 L 150.1553,793.60886 L 150.01784,792.92154 L 150.70515,793.26519 L 150.49895,792.23422 L 151.4612,793.12772 L 151.04882,792.50914 L 152.01105,792.92154 L 151.18628,791.75311 L 151.80485,791.95929 L 151.52993,790.8596 L 152.01105,791.27198 L 151.32373,790.24102 L 152.01105,790.44721 L 151.39247,789.62243 L 152.21723,789.55369 L 151.32373,789.00384 L 151.87358,788.72892 L 151.25501,788.66018 L 152.07977,787.90413 L 151.32373,787.97287 L 151.39247,787.49175 L 151.4612,786.11711 L 151.04882,787.07936 L 150.56768,785.70472 L 150.63642,786.80444 L 150.36149,786.87316 L 149.67417,786.87316 L 148.91813,785.77346 L 148.16207,785.77346 L 147.26856,785.0174 L 146.85617,785.42979 L 145.82521,786.11711 z"
+       id="path1939" />
+  </g>
+</svg>
diff --git a/data/themes/default/dance_cover.svg b/data/themes/default/dance_cover.svg
new file mode 100644 (file)
index 0000000..f785af4
--- /dev/null
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="256"
+   height="256"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="dance_cover.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 128 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="256 : 128 : 1"
+       inkscape:persp3d-origin="128 : 85.333333 : 1"
+       id="perspective17" />
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3484"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.336682,0,0,0.336682,-81.3739,-51.8729)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective3827" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective2830" />
+    <linearGradient
+       y2="449.80624"
+       x2="381.28015"
+       y1="684.16162"
+       x1="665.12128"
+       gradientTransform="matrix(0.336682,0,0,0.336682,-81.3739,-51.8729)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3484-3"
+       xlink:href="#linearGradient3751-8"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3751-8">
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0"
+         id="stop3753-9" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop3755-7" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective17-2"
+       inkscape:persp3d-origin="128 : 85.333333 : 1"
+       inkscape:vp_z="256 : 128 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 128 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:path-effect
+       vertical="false"
+       scale_y_rel="false"
+       prop_scale="1"
+       bendpath="m 266.25,32.092577 41.87495,0"
+       is_visible="true"
+       id="path-effect2844"
+       effect="bend_path" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.1191406"
+     inkscape:cx="-124.08132"
+     inkscape:cy="70.174855"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1144"
+     inkscape:window-height="785"
+     inkscape:window-x="136"
+     inkscape:window-y="25"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     width="256px"
+     height="256px"
+     borderlayer="false"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.31313129000000001;fill-rule:nonzero;stroke:#7f7f7f;stroke-width:10.01399999999999935;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="rect1906"
+       width="246.30026"
+       height="246.30028"
+       x="4.8498545"
+       y="4.0691833"
+       inkscape:export-filename="/home/jesusda/docs/curro/yo/ultrastar-ng/base/theme-pod/images/no_cover.png"
+       inkscape:export-xdpi="89.889648"
+       inkscape:export-ydpi="89.889648" />
+    <rect
+       style="opacity:1;color:#000000;fill:#0000ff;fill-opacity:0.22608696;fill-rule:nonzero;stroke:none;stroke-width:10.60000038000000089;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="rect1913"
+       width="291.42856"
+       height="45.714287"
+       x="-16.285721"
+       y="181.50516" />
+    <path
+       style="font-size:39.83382034000000260px;font-family:Goblin;stroke:none;stroke-opacity:1;fill:#000000;fill-opacity:1"
+       d="M 58.72672,219.00823 L 44.00299,198.17717 L 44.00299,218.61923 L 40.30747,218.61923 L 40.30747,190.12482 L 41.86348,190.12482 L 56.19821,209.82778 L 56.19821,190.12482 L 59.89373,190.12482 L 59.89373,219.00823 L 58.72672,219.00823 M 64.3867,204.1289 C 64.3867,200.0055 65.41756,196.55635 67.47927,193.78144 C 69.55394,191.00659 72.34827,189.61915 75.86227,189.61912 C 79.8171,189.61915 82.84483,190.89637 84.94547,193.45079 C 87.05902,196.00526 88.11581,199.56463 88.11583,204.1289 C 88.11581,208.8099 87.05902,212.47949 84.94547,215.13766 C 82.83187,217.78288 79.80414,219.10548 75.86227,219.10548 C 72.27047,219.10548 69.45669,217.70508 67.42092,214.90426 C 65.39811,212.10345 64.3867,208.51167 64.3867,204.1289 M 68.47123,204.1289 C 68.47122,207.39653 69.11307,210.12603 70.39679,212.3174 C 71.69345,214.50878 73.51528,215.60447 75.86227,215.60447 C 78.52043,215.60447 80.54324,214.59955 81.9307,212.5897 C 83.33109,210.57986 84.03129,207.7596 84.03131,204.1289 C 84.03129,196.78975 81.30828,193.12017 75.86227,193.12014 C 73.45044,193.12017 71.61565,194.10564 70.35789,196.07656 C 69.10011,198.04752 68.47122,200.73163 68.47123,204.1289 M 122.75647,191.17513 L 121.45332,194.5011 C 120.20849,193.59345 118.25052,193.13962 115.57938,193.13959 C 113.07679,193.13962 111.06695,194.21585 109.54985,196.36831 C 108.0457,198.52081 107.29363,201.29569 107.29364,204.69296 C 107.29363,207.93465 108.06515,210.5669 109.6082,212.5897 C 111.1642,214.59955 113.16756,215.60447 115.61828,215.60447 C 118.28942,215.60447 120.34464,214.6579 121.78397,212.76475 L 123.92348,215.74062 C 121.66725,217.98386 118.7627,219.10548 115.20983,219.10548 C 111.48837,219.10548 108.55789,217.76343 106.41838,215.07931 C 104.27887,212.3952 103.20911,208.85529 103.20912,204.45955 C 103.20911,200.20648 104.35019,196.67305 106.63233,193.85925 C 108.91447,191.04549 111.8644,189.6386 115.48213,189.63857 C 118.58117,189.6386 121.00594,190.15079 122.75647,191.17513 M 127.01605,204.1289 C 127.01604,200.0055 128.0469,196.55635 130.10861,193.78144 C 132.18328,191.00659 134.97761,189.61915 138.49161,189.61912 C 142.44645,189.61915 145.47418,190.89637 147.57481,193.45079 C 149.68836,196.00526 150.74515,199.56463 150.74518,204.1289 C 150.74515,208.8099 149.68836,212.47949 147.57481,215.13766 C 145.46121,217.78288 142.43348,219.10548 138.49161,219.10548 C 134.89981,219.10548 132.08603,217.70508 130.05026,214.90426 C 128.02745,212.10345 127.01604,208.51167 127.01605,204.1289 M 131.10057,204.1289 C 131.10056,207.39653 131.74242,210.12603 133.02613,212.3174 C 134.32279,214.50878 136.14462,215.60447 138.49161,215.60447 C 141.14977,215.60447 143.17258,214.59955 144.56004,212.5897 C 145.96043,210.57986 146.66063,207.7596 146.66065,204.1289 C 146.66063,196.78975 143.93762,193.12017 138.49161,193.12014 C 136.07979,193.12017 134.24499,194.10564 132.98723,196.07656 C 131.72945,198.04752 131.10056,200.73163 131.10057,204.1289 M 165.13826,219.00823 L 163.1738,219.00823 L 152.55404,190.12482 L 156.87197,190.12482 L 164.20466,211.11149 L 171.26505,190.12482 L 175.44682,190.12482 L 165.13826,219.00823 M 182.52665,193.62584 L 182.52665,201.54204 L 191.94051,201.54204 L 191.94051,204.84856 L 182.52665,204.84856 L 182.52665,215.11821 L 195.44153,215.11821 L 195.44153,218.61923 L 178.63663,218.61923 L 178.63663,190.12482 L 195.65548,190.12482 L 195.65548,193.62584 L 182.52665,193.62584 M 215.76689,218.61923 L 208.1619,206.38511 C 207.29312,206.38513 205.91864,206.32029 204.03848,206.19061 L 204.03848,218.61923 L 200.14846,218.61923 L 200.14846,190.12482 C 200.29109,190.12485 201.29601,190.07947 203.16322,189.98867 C 205.04339,189.88497 206.41138,189.8331 207.26719,189.83307 C 214.11362,189.8331 217.53683,192.55611 217.53685,198.00212 C 217.53683,199.79155 216.98575,201.4059 215.88359,202.84519 C 214.7814,204.27155 213.47176,205.15977 211.95467,205.50986 L 220.22097,218.61923 L 215.76689,218.61923 M 204.03848,193.62584 L 204.03848,202.8841 C 204.97207,203.01378 205.87974,203.07861 206.76149,203.0786 C 209.09549,203.07861 210.79413,202.70258 211.85742,201.95049 C 212.92068,201.19844 213.45231,199.85638 213.45233,197.92432 C 213.45231,196.32943 212.88178,195.18188 211.74072,194.48165 C 210.59963,193.78147 208.79726,193.43137 206.33359,193.43134 C 205.94458,193.43137 205.17954,193.4962 204.03848,193.62584"
+       id="text1909" />
+    <path
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.40280461;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 150.06592,185.68938 c -4.60748,-1.65764 -3.02251,-6.45629 -3.46934,-9.9616 0.45138,-2.29816 -0.81974,-4.1423 -1.53758,-6.17672 -0.65093,-2.92866 0.32225,-5.94531 1.98756,-8.44695 -0.11225,-6.62708 -1.73113,-13.11696 -2.83659,-19.60947 -0.5634,-4.70997 2.74548,-9.2889 0.84779,-13.89767 -1.46904,-4.34277 -1.42389,-8.84118 -1.35356,-13.34214 0.37405,-6.06667 -2.28758,-11.83498 -2.51296,-17.880806 -4.94948,-2.011 -4.58183,6.589956 -7.48859,8.935276 -1.93755,5.80211 -6.56939,10.34955 -9.15248,15.84237 -1.0796,3.21557 -2.14731,6.42925 -4.67981,8.95528 -3.94492,4.98803 -3.09551,11.88695 -7.37915,16.75106 -2.41299,4.83031 -6.25228,9.45184 -7.5511,14.55623 -0.73919,2.521 2.72056,4.45511 0.86328,6.86187 -1.94891,3.73982 -0.89276,7.99719 -1.86996,11.94519 -3.22233,0.0253 -2.29359,3.45536 -4.651424,4.49153 -2.00584,0.95556 -4.893543,1.2878 -6.860664,0.36653 -2.263319,-1.64154 -0.516986,-5.22107 0.562164,-7.31035 1.620486,-2.48333 2.66659,-5.11934 2.58929,-8.0539 0.40643,-2.34692 1.97441,-4.41653 1.86946,-6.91004 -0.45913,-2.76019 1.32116,-4.91181 1.97487,-7.33345 1.549324,-7.25078 4.847674,-14.12259 6.138794,-21.46583 2.43722,-4.95745 6.05943,-9.61678 7.24202,-14.97415 0.45945,-6.60418 3.08522,-12.82904 6.29493,-18.66454 0.87782,-4.050706 4.05654,-7.133006 5.26261,-11.051936 -0.51996,-3.457574 -0.87916,-6.917758 -0.33294,-10.392816 -2.09213,-5.931618 -6.12352,-11.12084 -7.41466,-17.313859 -0.81618,2.200211 -0.37618,6.158337 -0.7221,9.029368 -1.40657,5.679449 -3.33103,11.356489 -4.41847,17.037433 1.73574,2.838374 1.44674,6.119564 0.10495,9.049664 0.76578,1.62228 -1.08639,4.784376 -1.41843,1.68275 0.72076,-4.18196 -2.52721,-1.52836 -0.6401,0.99062 1.21022,2.057156 5.21453,4.987306 -0.0547,2.250046 -2.36934,-1.2345 -2.93795,-4.337476 -3.60066,-6.600426 0.92607,-3.14323 1.96527,-6.20945 1.68891,-9.520656 0.30158,-5.78565 -0.099,-11.657333 1.8842,-17.236965 0.60466,-6.866955 -0.15179,-13.899436 0.53127,-20.747169 0.24997,-2.980567 2.73471,-5.51103 6.03977,-5.224186 3.76945,0.02245 3.87528,-3.891744 1.37737,-2.151116 1.41312,-1.464416 5.70233,-9.908458 2.61089,-8.193922 -1.55725,-0.387174 0.51082,-3.256386 -2.2359,-4.668954 3.16893,1.053085 0.58407,-2.546707 2.06122,-3.635003 -1.88616,-3.120623 8.8269,2.457658 2.72294,-1.410043 -3.88665,-3.653436 2.98605,0.890388 5.40311,0.02806 -2.20254,-1.645687 -7.12086,-5.979903 -5.03163,-6.228088 -1.95596,-2.285617 1.58737,0.270742 0.62683,-2.5728 2.54629,1.637663 7.38032,5.973928 3.33334,0.65368 -2.52936,-3.540819 -1.35286,-2.770764 1.19933,-2.679441 1.32023,4.29303 5.25372,4.047596 1.67564,0.02833 2.42561,1.300905 5.9377,7.964395 3.95706,1.703622 2.30498,1.454259 3.19267,0.849482 4.37004,2.040856 0.43799,-2.598892 1.27142,3.452105 3.98394,0.173947 2.72604,-0.726455 3.59564,2.25773 5.07677,3.75542 2.87292,1.633735 5.46317,5.700213 1.94662,7.955782 -1.88108,1.835655 -0.0429,5.567535 0.74049,6.659254 -3.8222,-0.03198 0.47953,5.790806 0.44466,8.856186 -0.7948,4.045464 -3.30782,-6.334336 -4.72652,-3.861697 0.42033,2.593926 0.11386,5.178229 -1.37465,2.187169 -2.3909,3.391841 -2.04657,-2.896426 -2.67343,1.402495 1.05017,1.718212 -4.8369,1.246589 -0.53545,2.761898 2.92199,0.462309 7.7406,0.374633 7.85851,4.017885 0.30429,2.95627 -0.25587,5.779022 -1.56298,8.48663 -0.42541,4.157276 -0.31364,8.502407 0.45089,12.54074 3.84267,3.702645 5.8369,8.565052 8.25658,13.090578 1.4979,3.599908 0.55921,7.697308 1.48971,11.272268 1.56301,1.41868 1.40284,4.30409 0.75659,5.998196 -2.33258,2.50641 -0.48893,6.32063 -1.53683,9.3508 -1.18186,7.62161 -1.69711,15.37388 -1.00333,23.04293 1.51761,6.29688 -1.55448,12.56394 -1.57841,18.89311 0.25727,3.12682 -2.11686,6.45739 0.0197,9.2685 -2.87217,3.12469 -0.27636,7.4449 -0.25728,11.05758 0.23791,4.35542 4.34126,8.46847 2.3075,12.82654 -1.75303,1.40965 -3.75749,1.95065 -6.08938,0.72096 z M 119.9718,41.851919 c 0.0452,-1.192188 -1.08308,1.300484 0,0 z"
+       id="path2875" />
+  </g>
+</svg>
diff --git a/data/themes/default/dancebeat.svg b/data/themes/default/dancebeat.svg
new file mode 100644 (file)
index 0000000..69689a5
--- /dev/null
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="250"
+   height="520"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.47pre4 r22446"
+   sodipodi:docname="dancebeat.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   sodipodi:modified="true">
+  <metadata
+     id="metadata3009">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1124"
+     inkscape:window-width="1914"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.6493699"
+     inkscape:cx="17.383146"
+     inkscape:cy="260.2425"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg2"
+     showgrid="true"
+     showguides="false"
+     inkscape:snap-global="true"
+     inkscape:snap-bbox="true"
+     inkscape:window-maximized="0">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3223"
+       visible="true"
+       enabled="true"
+       empspacing="5"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient3725">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.81884056;"
+         offset="0"
+         id="stop3727" />
+      <stop
+         id="stop3749"
+         offset="0.24528302"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3729" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3713">
+      <stop
+         id="stop3715"
+         offset="0"
+         style="stop-color:#3b41cc;stop-opacity:0.31884059;" />
+      <stop
+         style="stop-color:#3b41cc;stop-opacity:0;"
+         offset="0.58999997"
+         id="stop3747" />
+      <stop
+         id="stop3717"
+         offset="1"
+         style="stop-color:#3b41cc;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 260 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="250 : 260 : 1"
+       inkscape:persp3d-origin="125 : 173.33333 : 1"
+       id="perspective42" />
+    <linearGradient
+       id="linearGradient4387">
+      <stop
+         style="stop-color:#530d0d;stop-opacity:0;"
+         offset="0"
+         id="stop4389" />
+      <stop
+         id="stop10272"
+         offset="0.03502782"
+         style="stop-color:#5b0d0d;stop-opacity:0.93333333;" />
+      <stop
+         id="stop4395"
+         offset="0.5"
+         style="stop-color:#a61010;stop-opacity:0.93333334;" />
+      <stop
+         style="stop-color:#5a0d0d;stop-opacity:0.93333333;"
+         offset="0.96107578"
+         id="stop10270" />
+      <stop
+         style="stop-color:#530d0d;stop-opacity:0;"
+         offset="1"
+         id="stop4391" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4109">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.442029;"
+         offset="0"
+         id="stop4111" />
+      <stop
+         id="stop4117"
+         offset="0.25"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop4113" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3207">
+      <stop
+         style="stop-color:#999999;stop-opacity:1;"
+         offset="0"
+         id="stop3209" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop3211" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2417">
+      <stop
+         style="stop-color:#f2f2f2;stop-opacity:1;"
+         offset="0"
+         id="stop2419" />
+      <stop
+         style="stop-color:#999999;stop-opacity:0.73282444;"
+         offset="1"
+         id="stop2421" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2417"
+       id="linearGradient3337"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8922696,0,0,1.2260835,253.8584,-0.7360251)"
+       spreadMethod="reflect"
+       x1="-142.75803"
+       y1="0.78900218"
+       x2="-142.75803"
+       y2="4.6783328" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3713"
+       id="linearGradient2937"
+       x1="115"
+       y1="520"
+       x2="115"
+       y2="0"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3725"
+       id="linearGradient3731"
+       gradientUnits="userSpaceOnUse"
+       x1="0"
+       y1="520"
+       x2="0"
+       y2="390" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4109"
+       id="linearGradient3737"
+       gradientUnits="userSpaceOnUse"
+       x1="0"
+       y1="520"
+       x2="0"
+       y2="390"
+       gradientTransform="translate(0,-130)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4109"
+       id="linearGradient3741"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,-260)"
+       x1="0"
+       y1="520"
+       x2="0"
+       y2="390" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4109"
+       id="linearGradient3745"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,-390)"
+       x1="0"
+       y1="520"
+       x2="0"
+       y2="390" />
+  </defs>
+  <rect
+     y="390"
+     x="0"
+     height="130"
+     width="250"
+     id="rect3723"
+     style="fill:url(#linearGradient3731);fill-opacity:1.0" />
+  <rect
+     style="fill:url(#linearGradient3737);fill-opacity:1"
+     id="rect3735"
+     width="250"
+     height="130"
+     x="0"
+     y="260" />
+  <rect
+     y="130"
+     x="0"
+     height="130"
+     width="250"
+     id="rect3739"
+     style="fill:url(#linearGradient3741);fill-opacity:1" />
+  <rect
+     style="fill:url(#linearGradient3745);fill-opacity:1"
+     id="rect3743"
+     width="250"
+     height="130"
+     x="0"
+     y="0" />
+</svg>
diff --git a/data/themes/default/device_selector.svg b/data/themes/default/device_selector.svg
new file mode 100644 (file)
index 0000000..0ed0a8a
--- /dev/null
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xml:space="preserve"
+   version="1.0"
+   id="layer1"
+   width="256"
+   height="256"
+   viewBox="0 0 38.4 38.4"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:docname="device_selector.svg"><defs
+   id="defs19"><linearGradient
+     id="linearGradient3762"><stop
+       style="stop-color:#00266f;stop-opacity:1;"
+       offset="0"
+       id="stop3764" /><stop
+       style="stop-color:#49338a;stop-opacity:1;"
+       offset="1"
+       id="stop3766" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient3762"
+     id="linearGradient3768"
+     x1="33.130413"
+     y1="32.795361"
+     x2="6.3005142"
+     y2="6.3778343"
+     gradientUnits="userSpaceOnUse" /><filter
+     inkscape:collect="always"
+     id="filter3754"><feGaussianBlur
+       inkscape:collect="always"
+       stdDeviation="0.15"
+       id="feGaussianBlur3756" /></filter></defs><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1057"
+   inkscape:window-height="784"
+   id="namedview17"
+   showgrid="false"
+   inkscape:zoom="2.328"
+   inkscape:cx="47.60517"
+   inkscape:cy="129.72509"
+   inkscape:window-x="165"
+   inkscape:window-y="112"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="layer1" /><metadata
+   id="metadata1"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata>
+<rect
+   style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3768);stroke-width:2.39999999999999991;stroke-miterlimit:4;stroke-dasharray:none;opacity:1;stroke-linecap:butt;filter:url(#filter3754)"
+   id="rect2992"
+   width="30"
+   height="30"
+   x="4.1999998"
+   y="4.1999998"
+   ry="6.210372" /></svg>
\ No newline at end of file
diff --git a/data/themes/default/dialog_txt.svg b/data/themes/default/dialog_txt.svg
new file mode 100644 (file)
index 0000000..e762b4c
--- /dev/null
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="dialog_txt.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   sodipodi:modified="true">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1056"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="14.156682"
+     inkscape:cx="482.16408"
+     inkscape:cy="404.82013"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <text
+     x="517.4953"
+     y="367.51718"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.25229454px;line-height:125%;font-family:Goblin;-inkscape-font-specification:Goblin;text-align:center;writing-mode:lr-tb;text-anchor:middle;display:inline;opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#ffffff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+     id="text10203"
+     xml:space="preserve"
+     sodipodi:linespacing="125%"
+     transform="scale(0.93224364,1.072681)"><tspan
+       x="517.4953"
+       y="367.51718"
+       id="tspan10205"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.25229454px;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;text-align:center;text-anchor:middle;fill:#f9f9f9;fill-opacity:1;stroke:#ffffff;stroke-width:0.1;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none">Dialog text</tspan></text>
+</svg>
diff --git a/data/themes/default/drumneck.svg b/data/themes/default/drumneck.svg
new file mode 100644 (file)
index 0000000..fcfba4a
--- /dev/null
@@ -0,0 +1,338 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="200"
+   height="520"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drumneck.svg"
+   sodipodi:docbase="/home/skyostil/proj/keyboardhero/trunk/data"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   sodipodi:modified="true">
+  <metadata
+     id="metadata3009">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1127"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.5025987"
+     inkscape:cx="-789.66498"
+     inkscape:cy="345.04969"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg2"
+     showgrid="true"
+     showguides="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3223"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective25" />
+    <linearGradient
+       id="linearGradient3591">
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="0"
+         id="stop3593" />
+      <stop
+         id="stop3599"
+         offset="0.1021521"
+         style="stop-color:#2a0000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#440000;stop-opacity:1;"
+         offset="0.8938309"
+         id="stop3601" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3595" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3016">
+      <stop
+         style="stop-color:#4b0000;stop-opacity:1;"
+         offset="0"
+         id="stop3018" />
+      <stop
+         id="stop3024"
+         offset="0.5"
+         style="stop-color:#840000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#4b0000;stop-opacity:1;"
+         offset="1"
+         id="stop3020" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3016"
+       id="linearGradient3022"
+       x1="-196.5988"
+       y1="-0.14184041"
+       x2="198.1898"
+       y2="-0.14184041"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3016"
+       id="linearGradient3030"
+       gradientUnits="userSpaceOnUse"
+       x1="-196.5988"
+       y1="-0.14184041"
+       x2="198.1898"
+       y2="-0.14184041" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3016"
+       id="linearGradient3034"
+       gradientUnits="userSpaceOnUse"
+       x1="-196.5988"
+       y1="-0.14184041"
+       x2="198.1898"
+       y2="-0.14184041"
+       gradientTransform="translate(-10.04059,46.9656)" />
+    <inkscape:perspective
+       id="perspective2548"
+       inkscape:persp3d-origin="200 : 133.33333 : 1"
+       inkscape:vp_z="400 : 200 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 200 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <rect
+     y="-2.2854736"
+     x="0"
+     height="523.28027"
+     width="252.68669"
+     id="rect2405"
+     style="fill:#000000;fill-opacity:0.83902438;stroke:none;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+  <g
+     transform="matrix(0.5969127,-0.1578621,0.1174074,0.7318426,-44.719635,266.31726)"
+     id="g2818">
+    <g
+       transform="matrix(0.651999,0,0,0.651999,-51.23088,-96.82474)"
+       id="g2820">
+      <g
+         transform="translate(87.13029,195.4545)"
+         style="font-size:12px;fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:0.99122799"
+         id="g2822">
+        <path
+           d="M 294.895,259.711 C 285.199,267.084 283.042,269.56 277.684,277.719 C 275.745,280.868 272.124,288.227 271.134,293.164 C 270.145,298.1 269.404,305.262 269.407,309.055 C 269.419,321.908 273.51,329.971 277.978,329.69 C 281.97,329.232 287.05,325.069 294.748,315.614"
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99122799"
+           id="path2824" />
+        <path
+           d="M 294.895,259.711 C 285.199,267.084 283.042,269.56 277.684,277.719 C 275.745,280.868 272.124,288.227 271.134,293.164 C 270.145,298.1 269.404,305.262 269.407,309.055 C 269.419,321.908 273.51,329.971 277.978,329.69 C 281.97,329.232 287.05,325.069 294.748,315.614"
+           transform="matrix(-1,0,0,1,596.772,0.208099)"
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:bevel;stroke-opacity:0.99122799"
+           id="path2826" />
+        <path
+           d="M 211.888,203.561 C 225.348,201.202 238.391,199.676 251.851,198.15 C 269.474,193.709 278.355,213.83 273.498,228.955 C 267.393,242.415 258.79,254.21 248.938,265.588 C 241.306,274.191 232.214,275.583 223.544,272.664 C 216.546,270.724 210.083,266.421 203.145,256.43 C 200.093,247.826 197.457,243.385 193.571,232.701 C 190.519,222.849 195.266,208.101 211.888,203.561 z"
+           transform="translate(0.588722,-3.051758e-5)"
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99122799"
+           id="path2828" />
+        <path
+           d="M 211.888,203.561 C 225.348,201.202 238.391,199.676 251.851,198.15 C 269.474,193.709 278.355,213.83 273.498,228.955 C 267.393,242.415 258.79,254.21 248.938,265.588 C 241.306,274.191 232.214,275.583 223.544,272.664 C 216.546,270.724 210.083,266.421 203.145,256.43 C 200.093,247.826 197.457,243.385 193.571,232.701 C 190.519,222.849 195.266,208.101 211.888,203.561 z"
+           transform="matrix(-1,0,0,1,596.4468,-3.051758e-5)"
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99122799"
+           id="path2830" />
+      </g>
+      <g
+         transform="translate(87.13029,195.4545)"
+         style="font-size:12px;stroke:#000000;stroke-opacity:0.99122799"
+         id="g2832">
+        <g
+           style="fill:none;fill-opacity:1;stroke:#000000;stroke-opacity:0.99122799"
+           id="g2834">
+          <g
+             style="font-size:12px;fill:none;fill-opacity:1;stroke:#000000;stroke-opacity:0.99122799"
+             id="g2836">
+            <path
+               d="M 212.232,318.53 C 217.922,331.874 219.682,336.945 223.785,350.248 C 227.281,362.537 228.566,370.042 230.726,387.506"
+               style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:6.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+               id="path2838" />
+            <path
+               d="M 212.232,318.53 C 217.922,331.874 219.682,336.945 223.785,350.248 C 227.281,362.537 228.566,370.042 230.726,387.506"
+               transform="matrix(-1,0,0,1,596.3183,-0.735886)"
+               style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:6.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+               id="path2840" />
+            <g
+               style="fill:none;fill-opacity:1;stroke:#000000;stroke-opacity:0.99122799"
+               id="g2842">
+              <path
+                 d="M 236.516,349.732 C 251.234,358.759 276.677,360.151 299.472,359.741 C 324.866,359.612 346.605,357.778 360.881,349.144"
+                 style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+                 id="path2844" />
+              <path
+                 d="M 241.667,373.282 C 257.905,383.486 277.001,386.99 298.993,386.16 C 321.835,385.604 339.344,383.682 354.994,372.988"
+                 style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+                 id="path2846" />
+              <g
+                 style="fill:none;fill-opacity:1;stroke:#000000;stroke-opacity:0.99122799"
+                 id="g2848">
+                <path
+                   d="M 229.893,385.644 C 247.26,406.592 271.501,410.229 299.066,410.959 C 328.585,412.036 358.232,400.314 365.885,385.645"
+                   style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:6.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+                   id="path2850" />
+                <g
+                   style="fill:none;fill-opacity:1;stroke:#000000;stroke-opacity:0.99122799"
+                   id="g2852">
+                  <path
+                     d="M 241.444,354.256 L 241.028,395.468"
+                     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+                     id="path2854" />
+                  <path
+                     d="M 254.973,358.627 L 254.765,402.753"
+                     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+                     id="path2856" />
+                  <path
+                     d="M 269.959,360.5 L 269.543,406.708"
+                     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+                     id="path2858" />
+                  <path
+                     d="M 283.489,361.541 L 283.28,408.373"
+                     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+                     id="path2860" />
+                  <path
+                     d="M 298.683,361.957 L 298.683,408.789"
+                     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+                     id="path2862" />
+                  <path
+                     d="M 313.253,361.749 L 313.461,408.581"
+                     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+                     id="path2864" />
+                  <path
+                     d="M 326.782,360.5 L 327.198,406.5"
+                     transform="translate(-0.41626,-3.051758e-5)"
+                     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+                     id="path2866" />
+                  <path
+                     d="M 341.56,358.003 L 341.768,402.129"
+                     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+                     id="path2868" />
+                  <path
+                     d="M 355.297,352.591 L 355.714,394.219"
+                     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+                     id="path2870" />
+                </g>
+              </g>
+            </g>
+          </g>
+          <g
+             style="font-size:12px;fill:none;fill-opacity:1;stroke:#000000;stroke-opacity:0.99122799"
+             id="g2872">
+            <path
+               d="M 171.498,235.561 C 152.362,216.958 138.988,184.673 137.132,149.809 C 135.117,111.389 155.35,73.2389 185.669,51.4898 C 219.638,27.5804 276.435,20.9678 311.751,22.7523 C 335.672,22.7689 388.957,35.1725 407.766,49.18 C 440.76,73.1701 458.454,107.22 459.68,146.03 C 461.493,185.013 445.074,214.705 424.969,233.236"
+               style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:12.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:0.99122799"
+               id="path2874" />
+            <path
+               d="M 172.662,126.267 C 164.91,133.049 165.888,143.244 167.284,158.459 C 168.386,170.019 175.762,181.398 176.15,191.959 C 178.862,214.244 172.274,236.529 169.173,254.745 C 167.041,275.673 173.05,293.695 180.801,300.671 C 188.552,307.551 198.557,310.4 209.069,313.607 C 218.62,316.105 223.573,320.449 230.797,325.835 C 239.403,334.972 241.456,342.529 241.262,351.831"
+               style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:12.5;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:0.99122799"
+               id="path2876" />
+            <path
+               d="M 172.662,126.267 C 164.91,133.049 165.888,143.244 167.284,158.459 C 168.386,170.019 175.762,181.398 176.15,191.959 C 178.862,214.244 172.274,236.529 169.173,254.745 C 167.041,275.673 173.05,293.695 180.801,300.671 C 188.552,307.551 202.738,311.246 209.069,313.607 C 216.446,316.188 223.989,320.865 230.797,326.251 C 238.987,334.139 241.456,342.529 241.262,351.831"
+               transform="matrix(-1,0,0,1,597.7228,-0.58139)"
+               style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:12.5;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:0.99122799"
+               id="path2878" />
+            <path
+               d="M 194.821,310.959 C 201.759,327.749 209.113,344.123 209.807,361.329 C 206.616,375.205 207.587,391.579 211.056,404.623 C 215.497,422.523 232.842,443.753 250.188,450.83 C 267.949,457.282 279.05,458.948 298.892,458.948"
+               style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:12.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+               id="path2880" />
+            <path
+               d="M 194.821,310.959 C 201.759,327.749 209.113,344.123 209.807,361.329 C 206.616,375.205 207.587,391.579 211.056,404.623 C 215.497,422.523 233.05,443.129 250.396,450.206 C 267.741,457.283 278.841,458.948 298.684,458.948"
+               transform="matrix(-1,0,0,1,596.7438,-3.051758e-5)"
+               style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:12.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.99122799"
+               id="path2882" />
+          </g>
+        </g>
+        <g
+           style="stroke:#000000;stroke-opacity:0.99122799"
+           id="g2884">
+          <path
+             d="M 391.308,389.636 L 459.58,421.274 C 467.905,424.743 474.565,423.633 480.81,421.69 C 490.662,418.776 498.432,420.442 506.619,423.772 C 516.471,428.767 516.75,435.844 510.367,442.921 C 504.539,449.72 498.71,453.189 491.634,459.988 C 490.107,470.95 491.078,481.08 486.221,491.21 C 480.116,500.09 473.594,498.564 463.326,489.128 C 452.919,481.079 456.665,472.199 441.679,459.155 L 378.403,426.269 L 378.403,426.269"
+             style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:12.5;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:0.99122799"
+             id="path2886" />
+          <path
+             d="M 204.812,389.22 C 182.055,401.292 161.38,412.531 135.293,422.522 C 114.062,427.795 114.895,414.752 89.0851,423.355 C 81.7307,429.183 81.8695,437.508 87.8363,443.752 C 94.7745,450.552 99.6313,454.854 105.737,460.821 C 107.68,469.424 107.957,476.778 109.067,487.046 C 113.23,499.674 122.388,498.98 130.297,492.875 C 133.766,488.573 138.068,484.688 140.704,479.97 C 144.312,473.726 148.336,466.649 153.193,460.821 L 216.052,427.518"
+             style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:12.5;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:0.99122799"
+             id="path2888" />
+          <path
+             d="M 401.299,321.365 C 427.109,308.599 448.339,298.33 471.651,286.813 C 485.943,274.88 482.336,263.362 493.715,254.759 C 504.954,244.074 512.447,246.711 516.61,252.678 C 520.634,262.807 522.577,272.937 522.022,283.483 C 532.706,293.335 538.396,299.024 544.502,308.045 C 545.334,319.423 535.343,324.14 523.271,324.279 C 507.452,327.193 504.954,317.202 487.054,324.279 L 392.557,368.821 L 392.557,368.821"
+             style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:12.5;stroke-linecap:square;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:0.99122799"
+             id="path2890" />
+          <path
+             d="M 197.22,322.353 C 171.12,309.597 149.436,300.079 123.63,285.852 C 109.599,274.666 114.113,262.008 97.1383,251.706 C 89.6812,247.978 84.2847,246.31 78.2994,256.416 C 74.4727,265.444 74.7671,275.059 74.1784,284.381 C 67.5063,291.543 59.9511,295.763 54.4564,304.692 C 46.5087,317.448 58.5773,321.667 65.0532,323.237 C 83.4995,327.848 90.1715,319.508 107.146,322.942 C 140.213,338.347 173.573,354.34 205.462,370.039"
+             style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:12.5;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:0.99122799"
+             id="path2892" />
+        </g>
+      </g>
+    </g>
+  </g>
+  <path
+     sodipodi:nodetypes="cc"
+     id="path2417"
+     d="M 4.1840998e-08,-3.6832e-07 L 250,-3.6832e-07"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49268293" />
+  <path
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49268293"
+     d="M 4.1840998e-08,260 L 250,260"
+     id="path3191"
+     sodipodi:nodetypes="cc" />
+  <path
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49268293"
+     d="M 25,519.99999 L 25,-3.6832e-07"
+     id="path3193"
+     sodipodi:nodetypes="cc" />
+  <path
+     sodipodi:nodetypes="cc"
+     id="path3195"
+     d="M 74.999999,519.99999 L 74.999999,-3.6832e-07"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49268293" />
+  <path
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49268293"
+     d="M 125,519.99999 L 125,-3.6832e-07"
+     id="path3197"
+     sodipodi:nodetypes="cc" />
+  <path
+     sodipodi:nodetypes="cc"
+     id="path3199"
+     d="M 175,519.99999 L 175,-3.6832e-07"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49268293" />
+  <path
+     sodipodi:nodetypes="cc"
+     id="path3229"
+     d="M 4.1840998e-08,519.99999 L 250,519.99999"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49268293" />
+</svg>
diff --git a/data/themes/default/flame.svg b/data/themes/default/flame.svg
new file mode 100644 (file)
index 0000000..b0a7e68
--- /dev/null
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="128"
+   height="128"
+   id="svg1901"
+   sodipodi:version="0.32"
+   inkscape:version="0.47pre4 r22446"
+   sodipodi:docname="flame.svg"
+   version="1.1">
+  <defs
+     id="defs1903">
+    <linearGradient
+       id="linearGradient3605">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0.88235295;"
+         offset="0"
+         id="stop3607" />
+      <stop
+         id="stop3613"
+         offset="0.5"
+         style="stop-color:#ffff00;stop-opacity:0.78431374;" />
+      <stop
+         style="stop-color:#ffff00;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3609" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective7" />
+    <inkscape:perspective
+       id="perspective2821"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3605"
+       id="linearGradient3611"
+       x1="164.57143"
+       y1="451.79074"
+       x2="164.57143"
+       y2="323.79074"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.85622228,0,0,0.89173546,15.722622,45.629923)" />
+    <inkscape:perspective
+       id="perspective3623"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3605-4"
+       id="linearGradient3611-4"
+       x1="164.57143"
+       y1="451.79074"
+       x2="164.57143"
+       y2="323.79074"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3605-4">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0.88235295;"
+         offset="0"
+         id="stop3607-1" />
+      <stop
+         id="stop3613-9"
+         offset="0.5"
+         style="stop-color:#ffff00;stop-opacity:0.78431374;" />
+      <stop
+         style="stop-color:#ffff00;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3609-4" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(-1,0,0,1,329.14286,-1.0238602e-5)"
+       y2="323.79074"
+       x2="164.57143"
+       y1="451.79074"
+       x1="164.57143"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3633"
+       xlink:href="#linearGradient3605-4"
+       inkscape:collect="always" />
+    <filter
+       inkscape:collect="always"
+       id="filter4650"
+       x="-0.28828125"
+       width="1.5765625"
+       y="-0.5765625"
+       height="2.153125">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="14.014386"
+         id="feGaussianBlur4652" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.959798"
+     inkscape:cx="19.163728"
+     inkscape:cy="62.215768"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1680"
+     inkscape:window-height="1026"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata1906">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Taso 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-100.57143,-323.79074)">
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.73809521;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter4650);enable-background:accumulate"
+       id="path4102"
+       sodipodi:cx="60.861691"
+       sodipodi:cy="97.31662"
+       sodipodi:rx="58.336308"
+       sodipodi:ry="29.168154"
+       d="m 119.198,97.31662 a 58.336308,29.168154 0 1 1 -116.672617,0 58.336308,29.168154 0 1 1 116.672617,0 z"
+       transform="matrix(0.83918321,0,0,0.83918321,114.39962,325.29876)" />
+  </g>
+</svg>
diff --git a/data/themes/default/flame_godmode.svg b/data/themes/default/flame_godmode.svg
new file mode 100644 (file)
index 0000000..ca50d88
--- /dev/null
@@ -0,0 +1,225 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="128"
+   height="128"
+   id="svg1901"
+   sodipodi:version="0.32"
+   inkscape:version="0.47pre4 r22446"
+   sodipodi:docname="flame_godmode.svg"
+   version="1.1">
+  <defs
+     id="defs1903">
+    <linearGradient
+       id="linearGradient3605">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0.88235295;"
+         offset="0"
+         id="stop3607" />
+      <stop
+         id="stop3613"
+         offset="0.5"
+         style="stop-color:#ffff00;stop-opacity:0.78431374;" />
+      <stop
+         style="stop-color:#ffff00;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3609" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective7" />
+    <inkscape:perspective
+       id="perspective2821"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3605"
+       id="linearGradient3611"
+       x1="164.57143"
+       y1="451.79074"
+       x2="164.57143"
+       y2="323.79074"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.85622228,0,0,0.89173546,15.722622,45.629923)" />
+    <inkscape:perspective
+       id="perspective3623"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3605-4"
+       id="linearGradient3611-4"
+       x1="164.57143"
+       y1="451.79074"
+       x2="164.57143"
+       y2="323.79074"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3605-4">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0.88235295;"
+         offset="0"
+         id="stop3607-1" />
+      <stop
+         id="stop3613-9"
+         offset="0.5"
+         style="stop-color:#ffff00;stop-opacity:0.78431374;" />
+      <stop
+         style="stop-color:#ffff00;stop-opacity:0.3764706;"
+         offset="1"
+         id="stop3609-4" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(-1,0,0,1,329.14286,-1.0238602e-5)"
+       y2="323.79074"
+       x2="164.57143"
+       y1="451.79074"
+       x1="164.57143"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3633"
+       xlink:href="#linearGradient3605-4"
+       inkscape:collect="always" />
+    <filter
+       inkscape:collect="always"
+       id="filter4650"
+       x="-0.28828125"
+       width="1.5765625"
+       y="-0.5765625"
+       height="2.153125">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="14.014386"
+         id="feGaussianBlur4652" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#000000"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.959798"
+     inkscape:cx="74.469579"
+     inkscape:cy="61.205615"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1680"
+     inkscape:window-height="1026"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata1906">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Taso 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-100.57143,-323.79074)">
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.73809521;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter4650);enable-background:accumulate"
+       id="path4102"
+       sodipodi:cx="60.861691"
+       sodipodi:cy="97.31662"
+       sodipodi:rx="58.336308"
+       sodipodi:ry="29.168154"
+       d="m 119.198,97.31662 c 0,16.10913 -26.118056,29.16815 -58.336309,29.16815 -32.218253,0 -58.336308,-13.05902 -58.336308,-29.16815 0,-16.109127 26.118055,-29.168154 58.336308,-29.168154 32.218253,0 58.336309,13.059027 58.336309,29.168154 z"
+       transform="matrix(0.83918321,0,0,0.83918321,114.39962,325.29876)" />
+    <path
+       transform="translate(113.95595,353.3377)"
+       d="M 40.19067,66.417802 18.687822,48.553072 -2.815025,66.417803 15.049705,44.914955 -2.8150251,23.412108 18.687822,41.276838 40.19067,23.412108 22.32594,44.914955 40.19067,66.417802 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.78539816"
+       sodipodi:r2="3.6381173"
+       sodipodi:r1="30.409618"
+       sodipodi:cy="44.914955"
+       sodipodi:cx="18.687822"
+       sodipodi:sides="4"
+       id="path2851"
+       style="color:#000000;fill:#ffffff;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       sodipodi:type="star" />
+    <path
+       transform="translate(170.27196,366.97476)"
+       d="M 40.19067,66.417802 18.687822,48.553072 -2.815025,66.417803 15.049705,44.914955 -2.8150251,23.412108 18.687822,41.276838 40.19067,23.412108 22.32594,44.914955 40.19067,66.417802 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.78539816"
+       sodipodi:r2="3.6381173"
+       sodipodi:r1="30.409618"
+       sodipodi:cy="44.914955"
+       sodipodi:cx="18.687822"
+       sodipodi:sides="4"
+       id="path2853"
+       style="color:#000000;fill:#ffffff;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       sodipodi:type="star" />
+    <path
+       transform="matrix(0.48324621,0,0,0.48324621,160.9886,353.81924)"
+       d="M 40.19067,66.417802 18.687822,48.553072 -2.815025,66.417803 15.049705,44.914955 -2.8150251,23.412108 18.687822,41.276838 40.19067,23.412108 22.32594,44.914955 40.19067,66.417802 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.78539816"
+       sodipodi:r2="3.6381173"
+       sodipodi:r1="30.409618"
+       sodipodi:cy="44.914955"
+       sodipodi:cx="18.687822"
+       sodipodi:sides="4"
+       id="path2855"
+       style="color:#000000;fill:#ffffff;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       sodipodi:type="star" />
+    <path
+       transform="matrix(0.62417906,0,0,0.62417906,132.34344,391.17835)"
+       d="M 40.19067,66.417802 18.687822,48.553072 -2.815025,66.417803 15.049705,44.914955 -2.8150251,23.412108 18.687822,41.276838 40.19067,23.412108 22.32594,44.914955 40.19067,66.417802 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.78539816"
+       sodipodi:r2="3.6381173"
+       sodipodi:r1="30.409618"
+       sodipodi:cy="44.914955"
+       sodipodi:cx="18.687822"
+       sodipodi:sides="4"
+       id="path2857"
+       style="color:#000000;fill:#ffffff;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       sodipodi:type="star" />
+  </g>
+</svg>
diff --git a/data/themes/default/fret.obj b/data/themes/default/fret.obj
new file mode 100644 (file)
index 0000000..001706e
--- /dev/null
@@ -0,0 +1,515 @@
+# Fret object
+
+v  0.0000007153 -0.0000004768 0.1034815758
+v  0.0000007153 0.1913409233 0.1948112249
+v  -0.0732226372 0.1767761707 0.1948112249
+v  -0.1352984905 0.1352984905 0.1948112249
+v  -0.1767761707 0.0732226372 0.1948112249
+v  -0.1913411617 -0.0000004768 0.1948112100
+v  -0.1767761707 -0.0732238293 0.1948112100
+v  -0.1352984905 -0.1352996826 0.1948112100
+v  -0.0732226372 -0.1767773628 0.1948112100
+v  0.0000007153 -0.1913423538 0.1948112100
+v  0.0732238293 -0.1767773628 0.1948112100
+v  0.1352996826 -0.1352996826 0.1948112100
+v  0.1767773628 -0.0732238293 0.1948112100
+v  0.1913423538 -0.0000004768 0.1948112100
+v  0.1767771244 0.0732231140 0.1948112249
+v  0.1352994442 0.1352984905 0.1948112249
+v  0.0732238293 0.1767761707 0.1948112249
+v  0.0000007153 0.4169557095 0.0748493001
+v  -0.1595616341 0.3852167130 0.0748493001
+v  -0.2948319912 0.2948322296 0.0748493001
+v  -0.3852165937 0.1595618725 0.0748492777
+v  -0.4169555902 -0.0000004768 0.0748492777
+v  -0.3852168322 -0.1595625877 0.0748492777
+v  -0.2948321104 -0.2948329449 0.0748492628
+v  -0.1595616341 -0.3852181435 0.0748492628
+v  0.0000007153 -0.4169569016 0.0748492628
+v  0.1595630646 -0.3852181435 0.0748492628
+v  0.2948334217 -0.2948329449 0.0748492628
+v  0.3852181435 -0.1595625877 0.0748492777
+v  0.4169569016 -0.0000002384 0.0748492777
+v  0.3852179050 0.1595621109 0.0748492777
+v  0.2948329449 0.2948324680 0.0748493001
+v  0.1595623493 0.3852169514 0.0748493001
+v  0.0000007153 0.5018217564 0.0753878132
+v  -0.1920385361 0.4636228085 0.0753878132
+v  -0.3548412323 0.3548414707 0.0753877982
+v  -0.4636226892 0.1920385361 0.0753878206
+v  -0.5018217564 -0.0000004768 0.0753878132
+v  -0.4636226892 -0.1920394897 0.0753877982
+v  -0.3548414707 -0.3548424244 0.0753878206
+v  -0.1920385361 -0.4636240005 0.0753878132
+v  0.0000007153 -0.5018227100 0.0753878132
+v  0.1920397282 -0.4636240005 0.0753878132
+v  0.3548426628 -0.3548424244 0.0753878206
+v  0.4636240005 -0.1920394897 0.0753877982
+v  0.5018229485 -0.0000002384 0.0753878132
+v  0.4636237621 0.1920390129 0.0753878206
+v  0.3548421860 0.3548417091 0.0753877982
+v  0.1920392513 0.4636230469 0.0753878132
+v  0.0000007153 0.4999995232 -0.0000000219
+v  -0.1913411617 0.4619390965 -0.0000000219
+v  -0.3535528183 0.3535528183 -0.0000000219
+v  -0.4619390965 0.1913414001 -0.0000000219
+v  -0.4999994040 -0.0000004768 -0.0000000219
+v  -0.4619392157 -0.1913421154 -0.0000000219
+v  -0.3535528183 -0.3535537720 -0.0000000219
+v  -0.1913411617 -0.4619402885 -0.0000000219
+v  0.0000007153 -0.5000004768 -0.0000000219
+v  0.1913425922 -0.4619402885 -0.0000000219
+v  0.3535540104 -0.3535537720 -0.0000000219
+v  0.4619402885 -0.1913421154 -0.0000000219
+v  0.5000007153 -0.0000002384 -0.0000000219
+v  0.4619402885 0.1913416386 -0.0000000219
+v  0.3535537720 0.3535532951 -0.0000000219
+v  0.1913418770 0.4619393349 -0.0000000219
+v  0.0000007153 0.3260121346 0.1965681016
+v  -0.1247589588 0.3011956215 0.1965681165
+v  -0.2305250168 0.2305250168 0.1965681165
+v  -0.3011956215 0.1247589588 0.1965681165
+v  -0.3260117769 -0.0000004768 0.1965681016
+v  -0.3011956215 -0.1247601509 0.1965681016
+v  -0.2305250168 -0.2305259705 0.1965681016
+v  -0.1247589588 -0.3011968136 0.1965681016
+v  0.0000007153 -0.3260130882 0.1965681016
+v  0.1247603893 -0.3011968136 0.1965681016
+v  0.2305262089 -0.2305259705 0.1965681016
+v  0.3011968136 -0.1247601509 0.1965681016
+v  0.3260130882 -0.0000002384 0.1965681016
+v  0.3011968136 0.1247591972 0.1965681165
+v  0.2305259705 0.2305252552 0.1965681165
+v  0.1247599125 0.3011956215 0.1965681165
+v  0.0000007153 0.1181845665 0.1019219384
+v  -0.0452268124 0.1091883183 0.1019219384
+v  -0.0835688114 0.0835690498 0.1019219384
+v  -0.1091883183 0.0452270508 0.1019219384
+v  -0.1181845665 -0.0000004768 0.1019219384
+v  -0.1091883183 -0.0452280045 0.1019219384
+v  -0.0835690498 -0.0835697651 0.1019219384
+v  -0.0452268124 -0.1091892719 0.1019219384
+v  0.0000007153 -0.1181857586 0.1019219384
+v  0.0452282429 -0.1091892719 0.1019219384
+v  0.0835702419 -0.0835697651 0.1019219384
+v  0.1091895103 -0.0452280045 0.1019219384
+v  0.1181857586 -0.0000004768 0.1019219384
+v  0.1091895103 0.0452270508 0.1019219384
+v  0.0835702419 0.0835690498 0.1019219384
+v  0.0452280045 0.1091883183 0.1019219384
+# 97 vertices
+
+vt  0.0000000000 1.0000000000 0.0000000000
+vt  0.0625000000 1.0000000000 0.0000000000
+vt  0.1250000000 1.0000000000 0.0000000000
+vt  0.1875000000 1.0000000000 0.0000000000
+vt  0.2500000000 1.0000000000 0.0000000000
+vt  0.3125000000 1.0000000000 0.0000000000
+vt  0.3750000000 1.0000000000 0.0000000000
+vt  0.4374999702 1.0000000000 0.0000000000
+vt  0.4999999702 1.0000000000 0.0000000000
+vt  0.5624999404 1.0000000000 0.0000000000
+vt  0.6249999404 1.0000000000 0.0000000000
+vt  0.6874999404 1.0000000000 0.0000000000
+vt  0.7500000000 1.0000000000 0.0000000000
+vt  0.8125000000 1.0000000000 0.0000000000
+vt  0.8750000000 1.0000000000 0.0000000000
+vt  0.9375000596 1.0000000000 0.0000000000
+vt  0.0000000000 0.8750000000 0.0000000000
+vt  0.0625000000 0.8750000000 0.0000000000
+vt  0.1250000000 0.8750000000 0.0000000000
+vt  0.1875000000 0.8750000000 0.0000000000
+vt  0.2500000000 0.8750000000 0.0000000000
+vt  0.3125000000 0.8750000000 0.0000000000
+vt  0.3750000000 0.8750000000 0.0000000000
+vt  0.4374999702 0.8750000000 0.0000000000
+vt  0.4999999702 0.8750000000 0.0000000000
+vt  0.5624999404 0.8750000000 0.0000000000
+vt  0.6249999404 0.8750000000 0.0000000000
+vt  0.6874999404 0.8750000000 0.0000000000
+vt  0.7500000000 0.8750000000 0.0000000000
+vt  0.8125000000 0.8750000000 0.0000000000
+vt  0.8750000000 0.8750000000 0.0000000000
+vt  0.9375000596 0.8750000000 0.0000000000
+vt  1.0000001192 0.8750000000 0.0000000000
+vt  0.0000000000 0.7500000000 0.0000000000
+vt  0.0625000000 0.7500000000 0.0000000000
+vt  0.1250000000 0.7500000000 0.0000000000
+vt  0.1875000000 0.7500000000 0.0000000000
+vt  0.2500000000 0.7500000000 0.0000000000
+vt  0.3125000000 0.7500000000 0.0000000000
+vt  0.3750000000 0.7500000000 0.0000000000
+vt  0.4374999702 0.7500000000 0.0000000000
+vt  0.4999999702 0.7500000000 0.0000000000
+vt  0.5624999404 0.7500000000 0.0000000000
+vt  0.6249999404 0.7500000000 0.0000000000
+vt  0.6874999404 0.7500000000 0.0000000000
+vt  0.7500000000 0.7500000000 0.0000000000
+vt  0.8125000000 0.7500000000 0.0000000000
+vt  0.8750000000 0.7500000000 0.0000000000
+vt  0.9375000596 0.7500000000 0.0000000000
+vt  1.0000001192 0.7500000000 0.0000000000
+vt  0.0000000000 0.6250000000 0.0000000000
+vt  0.0625000000 0.6250000000 0.0000000000
+vt  0.1250000000 0.6250000000 0.0000000000
+vt  0.1875000000 0.6250000000 0.0000000000
+vt  0.2500000000 0.6250000000 0.0000000000
+vt  0.3125000000 0.6250000000 0.0000000000
+vt  0.3750000000 0.6250000000 0.0000000000
+vt  0.4374999702 0.6250000000 0.0000000000
+vt  0.4999999702 0.6250000000 0.0000000000
+vt  0.5624999404 0.6250000000 0.0000000000
+vt  0.6249999404 0.6250000000 0.0000000000
+vt  0.6874999404 0.6250000000 0.0000000000
+vt  0.7500000000 0.6250000000 0.0000000000
+vt  0.8125000000 0.6250000000 0.0000000000
+vt  0.8750000000 0.6250000000 0.0000000000
+vt  0.9375000596 0.6250000000 0.0000000000
+vt  1.0000001192 0.6250000000 0.0000000000
+vt  0.0000000000 0.5000000000 0.0000000000
+vt  0.0625000000 0.5000000000 0.0000000000
+vt  0.1250000000 0.5000000000 0.0000000000
+vt  0.1875000000 0.5000000000 0.0000000000
+vt  0.2500000000 0.5000000000 0.0000000000
+vt  0.3125000000 0.5000000000 0.0000000000
+vt  0.3750000000 0.5000000000 0.0000000000
+vt  0.4374999702 0.5000000000 0.0000000000
+vt  0.4999999702 0.5000000000 0.0000000000
+vt  0.5624999404 0.5000000000 0.0000000000
+vt  0.6249999404 0.5000000000 0.0000000000
+vt  0.6874999404 0.5000000000 0.0000000000
+vt  0.7500000000 0.5000000000 0.0000000000
+vt  0.8125000000 0.5000000000 0.0000000000
+vt  0.8750000000 0.5000000000 0.0000000000
+vt  0.9375000596 0.5000000000 0.0000000000
+vt  1.0000001192 0.5000000000 0.0000000000
+vt  0.0000000000 0.8003866673 0.0000000000
+vt  1.0000001192 0.8003866673 0.0000000000
+vt  0.0625000000 0.8003866673 0.0000000000
+vt  0.1250000000 0.8003866673 0.0000000000
+vt  0.1875000000 0.8003866673 0.0000000000
+vt  0.2500000000 0.8003866673 0.0000000000
+vt  0.3125000000 0.8003866673 0.0000000000
+vt  0.3750000000 0.8003866673 0.0000000000
+vt  0.4374999702 0.8003866673 0.0000000000
+vt  0.4999999404 0.8003866673 0.0000000000
+vt  0.5624999404 0.8003866673 0.0000000000
+vt  0.6249999404 0.8003866673 0.0000000000
+vt  0.6874999404 0.8003866673 0.0000000000
+vt  0.7500000000 0.8003866673 0.0000000000
+vt  0.8125000000 0.8003866673 0.0000000000
+vt  0.8750000000 0.8003866673 0.0000000000
+vt  0.9375000000 0.8003866673 0.0000000000
+vt  0.0000000000 0.9227918386 0.0000000000
+vt  0.9761041403 0.9227918386 0.0000000000
+vt  0.0386040956 0.9227918386 0.0000000000
+vt  0.0625000000 0.9227918386 0.0000000000
+vt  0.1011040956 0.9227918386 0.0000000000
+vt  0.1250000000 0.9227918386 0.0000000000
+vt  0.1636040956 0.9227918386 0.0000000000
+vt  0.1875000000 0.9227918386 0.0000000000
+vt  0.2261041105 0.9227918386 0.0000000000
+vt  0.2500000000 0.9227918386 0.0000000000
+vt  0.2886041105 0.9227918386 0.0000000000
+vt  0.3125000000 0.9227918386 0.0000000000
+vt  0.3511041105 0.9227918386 0.0000000000
+vt  0.3750000000 0.9227918386 0.0000000000
+vt  0.4136040807 0.9227918386 0.0000000000
+vt  0.4375000000 0.9227918386 0.0000000000
+vt  0.4761040807 0.9227918386 0.0000000000
+vt  0.4999999702 0.9227918386 0.0000000000
+vt  0.5386040211 0.9227918386 0.0000000000
+vt  0.5624999404 0.9227918386 0.0000000000
+vt  0.6011040807 0.9227918386 0.0000000000
+vt  0.6250000000 0.9227918386 0.0000000000
+vt  0.6636040211 0.9227918386 0.0000000000
+vt  0.6874999404 0.9227918386 0.0000000000
+vt  0.7261040807 0.9227918386 0.0000000000
+vt  0.7500000000 0.9227918386 0.0000000000
+vt  0.7886041403 0.9227918386 0.0000000000
+vt  0.8125000000 0.9227918386 0.0000000000
+vt  0.8511041403 0.9227918386 0.0000000000
+vt  0.8750000596 0.9227918386 0.0000000000
+vt  0.9136041403 0.9227918386 0.0000000000
+vt  0.9375000596 0.9227918386 0.0000000000
+# 133 texture vertices
+
+vn  -0.0000000000 0.0000000000 0.0049999999
+vn  -0.0000028757 -0.0017635220 0.0046786731
+vn  0.0007066720 -0.0020869889 0.0044883285
+vn  0.0014515370 -0.0016576933 0.0044883285
+vn  0.0019754181 -0.0009760293 0.0044883280
+vn  0.0021985578 -0.0001457730 0.0044883285
+vn  0.0020869875 0.0007066733 0.0044883289
+vn  0.0016576921 0.0014515356 0.0044883294
+vn  0.0009760302 0.0019754157 0.0044883289
+vn  0.0001457728 0.0021985557 0.0044883294
+vn  -0.0007066744 0.0020869870 0.0044883289
+vn  -0.0014515381 0.0016576906 0.0044883294
+vn  -0.0019754176 0.0009760263 0.0044883289
+vn  -0.0021985576 0.0001457721 0.0044883285
+vn  -0.0020869880 -0.0007066759 0.0044883280
+vn  -0.0016576921 -0.0014515409 0.0044883275
+vn  -0.0009586700 -0.0023090527 0.0043300376
+vn  -0.0001465860 0.0022108043 0.0044822828
+vn  -0.0009814642 0.0019864195 0.0044822833
+vn  -0.0016669232 0.0014596214 0.0044822842
+vn  -0.0020986111 0.0007106090 0.0044822837
+vn  -0.0022108022 -0.0001465845 0.0044822837
+vn  -0.0019864189 -0.0009814636 0.0044822837
+vn  -0.0014596224 -0.0016669215 0.0044822842
+vn  -0.0007106106 -0.0020986074 0.0044822851
+vn  0.0001465854 -0.0022107996 0.0044822847
+vn  0.0009814652 -0.0019864158 0.0044822851
+vn  0.0016669242 -0.0014596203 0.0044822842
+vn  0.0020986102 -0.0007106088 0.0044822837
+vn  0.0022108031 0.0001465878 0.0044822828
+vn  0.0019864168 0.0009814652 0.0044822842
+vn  0.0014596184 0.0016669260 0.0044822842
+vn  0.0007106091 0.0020986123 0.0044822828
+vn  -0.0002369510 0.0035277342 0.0035353845
+vn  -0.0015689185 0.0031685242 0.0035353852
+vn  -0.0026620319 0.0023269332 0.0035353878
+vn  -0.0033498774 0.0011310925 0.0035353852
+vn  -0.0035277323 -0.0002369506 0.0035353862
+vn  -0.0031685228 -0.0015689180 0.0035353866
+vn  -0.0023269376 -0.0026620333 0.0035353838
+vn  -0.0011310905 -0.0033498767 0.0035353869
+vn  0.0002369506 -0.0035277312 0.0035353878
+vn  0.0015689199 -0.0031685233 0.0035353857
+vn  0.0026620345 -0.0023269334 0.0035353857
+vn  0.0033498770 -0.0011310903 0.0035353866
+vn  0.0035277291 0.0002369521 0.0035353894
+vn  0.0031685173 0.0015689186 0.0035353911
+vn  0.0023269299 0.0026620331 0.0035353892
+vn  0.0011310893 0.0033498772 0.0035353869
+vn  0.0003306963 0.0049875951 -0.0001205623
+vn  -0.0016031442 0.0047344896 -0.0001205678
+vn  -0.0032929236 0.0037606009 -0.0001205578
+vn  -0.0044813841 0.0022141954 -0.0001205606
+vn  -0.0049875947 0.0003306992 -0.0001205657
+vn  -0.0047344891 -0.0016031456 -0.0001205591
+vn  -0.0037606030 -0.0032929210 -0.0001205673
+vn  -0.0022141968 -0.0044813831 -0.0001205682
+vn  -0.0003306971 -0.0049875951 -0.0001205590
+vn  0.0016031456 -0.0047344891 -0.0001205619
+vn  0.0032929259 -0.0037605988 -0.0001205654
+vn  0.0044813845 -0.0022141943 -0.0001205644
+vn  0.0049875951 -0.0003306971 -0.0001205590
+vn  0.0047344887 0.0016031479 -0.0001205495
+vn  0.0037605981 0.0032929268 -0.0001205502
+vn  0.0022141906 0.0044813864 -0.0001205544
+vn  0.0001504593 0.0021956100 0.0044896165
+vn  -0.0007012178 0.0020860573 0.0044896165
+vn  -0.0014461377 0.0016589203 0.0044896179
+vn  -0.0019708998 0.0009792279 0.0044896174
+vn  -0.0021956093 0.0001504589 0.0044896170
+vn  -0.0020860566 -0.0007012160 0.0044896174
+vn  -0.0016589210 -0.0014461380 0.0044896174
+vn  -0.0009792309 -0.0019708970 0.0044896184
+vn  -0.0001504590 -0.0021956067 0.0044896184
+vn  0.0007012172 -0.0020860541 0.0044896184
+vn  0.0014461398 -0.0016589186 0.0044896179
+vn  0.0019708981 -0.0009792292 0.0044896184
+vn  0.0021956095 -0.0001504569 0.0044896170
+vn  0.0020860555 0.0007012184 0.0044896174
+vn  0.0016589173 0.0014461395 0.0044896184
+vn  0.0009792269 0.0019709002 0.0044896174
+vn  -0.0000000008 -0.0028467039 0.0041105081
+vn  0.0011438610 -0.0023107007 0.0042839516
+vn  0.0019410575 -0.0016970717 0.0042839516
+vn  0.0024427446 -0.0008250771 0.0042839521
+vn  0.0025725444 0.0001725262 0.0042839525
+vn  0.0023106989 0.0011438609 0.0042839530
+vn  0.0016970710 0.0019410556 0.0042839530
+vn  0.0008250794 0.0024427420 0.0042839530
+vn  -0.0001725269 0.0025725428 0.0042839535
+vn  -0.0011438631 0.0023106975 0.0042839530
+vn  -0.0019410589 0.0016970657 0.0042839535
+vn  -0.0024427441 0.0008250753 0.0042839525
+vn  -0.0025725455 -0.0001725254 0.0042839516
+vn  -0.0023106996 -0.0011438649 0.0042839516
+vn  -0.0016970672 -0.0019410617 0.0042839516
+vn  -0.0008189199 -0.0019770572 0.0045189173
+# 97 vertex normals
+
+g Fret
+f 1/1/1 82/102/82 83/104/83
+f 1/2/1 83/105/83 84/106/84
+f 1/3/1 84/107/84 85/108/85
+f 1/4/1 85/109/85 86/110/86
+f 1/5/1 86/111/86 87/112/87
+f 1/6/1 87/113/87 88/114/88
+f 1/7/1 88/115/88 89/116/89
+f 1/8/1 89/117/89 90/118/90
+f 1/9/1 90/119/90 91/120/91
+f 1/10/1 91/121/91 92/122/92
+f 1/11/1 92/123/92 93/124/93
+f 1/12/1 93/125/93 94/126/94
+f 1/13/1 94/127/94 95/128/95
+f 1/14/1 95/129/95 96/130/96
+f 1/15/1 96/131/96 97/132/97
+f 1/16/1 97/133/97 82/103/82
+f 66/85/66 67/87/67 3/18/3
+f 3/18/3 2/17/2 66/85/66
+f 67/87/67 68/88/68 4/19/4
+f 4/19/4 3/18/3 67/87/67
+f 68/88/68 69/89/69 5/20/5
+f 5/20/5 4/19/4 68/88/68
+f 69/89/69 70/90/70 6/21/6
+f 6/21/6 5/20/5 69/89/69
+f 70/90/70 71/91/71 7/22/7
+f 7/22/7 6/21/6 70/90/70
+f 71/91/71 72/92/72 8/23/8
+f 8/23/8 7/22/7 71/91/71
+f 72/92/72 73/93/73 9/24/9
+f 9/24/9 8/23/8 72/92/72
+f 73/93/73 74/94/74 10/25/10
+f 10/25/10 9/24/9 73/93/73
+f 74/94/74 75/95/75 11/26/11
+f 11/26/11 10/25/10 74/94/74
+f 75/95/75 76/96/76 12/27/12
+f 12/27/12 11/26/11 75/95/75
+f 76/96/76 77/97/77 13/28/13
+f 13/28/13 12/27/12 76/96/76
+f 77/97/77 78/98/78 14/29/14
+f 14/29/14 13/28/13 77/97/77
+f 78/98/78 79/99/79 15/30/15
+f 15/30/15 14/29/14 78/98/78
+f 79/99/79 80/100/80 16/31/16
+f 16/31/16 15/30/15 79/99/79
+f 80/100/80 81/101/81 17/32/17
+f 17/32/17 16/31/16 80/100/80
+f 81/101/81 66/86/66 2/33/2
+f 2/33/2 17/32/17 81/101/81
+f 35/52/35 19/35/19 18/34/18
+f 18/34/18 34/51/34 35/52/35
+f 36/53/36 20/36/20 19/35/19
+f 19/35/19 35/52/35 36/53/36
+f 37/54/37 21/37/21 20/36/20
+f 20/36/20 36/53/36 37/54/37
+f 38/55/38 22/38/22 21/37/21
+f 21/37/21 37/54/37 38/55/38
+f 39/56/39 23/39/23 22/38/22
+f 22/38/22 38/55/38 39/56/39
+f 40/57/40 24/40/24 23/39/23
+f 23/39/23 39/56/39 40/57/40
+f 41/58/41 25/41/25 24/40/24
+f 24/40/24 40/57/40 41/58/41
+f 42/59/42 26/42/26 25/41/25
+f 25/41/25 41/58/41 42/59/42
+f 43/60/43 27/43/27 26/42/26
+f 26/42/26 42/59/42 43/60/43
+f 44/61/44 28/44/28 27/43/27
+f 27/43/27 43/60/43 44/61/44
+f 45/62/45 29/45/29 28/44/28
+f 28/44/28 44/61/44 45/62/45
+f 46/63/46 30/46/30 29/45/29
+f 29/45/29 45/62/45 46/63/46
+f 47/64/47 31/47/31 30/46/30
+f 30/46/30 46/63/46 47/64/47
+f 48/65/48 32/48/32 31/47/31
+f 31/47/31 47/64/47 48/65/48
+f 49/66/49 33/49/33 32/48/32
+f 32/48/32 48/65/48 49/66/49
+f 34/67/34 18/50/18 33/49/33
+f 33/49/33 49/66/49 34/67/34
+f 51/69/51 35/52/35 34/51/34
+f 34/51/34 50/68/50 51/69/51
+f 52/70/52 36/53/36 35/52/35
+f 35/52/35 51/69/51 52/70/52
+f 53/71/53 37/54/37 36/53/36
+f 36/53/36 52/70/52 53/71/53
+f 54/72/54 38/55/38 37/54/37
+f 37/54/37 53/71/53 54/72/54
+f 55/73/55 39/56/39 38/55/38
+f 38/55/38 54/72/54 55/73/55
+f 56/74/56 40/57/40 39/56/39
+f 39/56/39 55/73/55 56/74/56
+f 57/75/57 41/58/41 40/57/40
+f 40/57/40 56/74/56 57/75/57
+f 58/76/58 42/59/42 41/58/41
+f 41/58/41 57/75/57 58/76/58
+f 59/77/59 43/60/43 42/59/42
+f 42/59/42 58/76/58 59/77/59
+f 60/78/60 44/61/44 43/60/43
+f 43/60/43 59/77/59 60/78/60
+f 61/79/61 45/62/45 44/61/44
+f 44/61/44 60/78/60 61/79/61
+f 62/80/62 46/63/46 45/62/45
+f 45/62/45 61/79/61 62/80/62
+f 63/81/63 47/64/47 46/63/46
+f 46/63/46 62/80/62 63/81/63
+f 64/82/64 48/65/48 47/64/47
+f 47/64/47 63/81/63 64/82/64
+f 65/83/65 49/66/49 48/65/48
+f 48/65/48 64/82/64 65/83/65
+f 50/84/50 34/67/34 49/66/49
+f 49/66/49 65/83/65 50/84/50
+f 18/34/18 19/35/19 67/87/67
+f 67/87/67 66/85/66 18/34/18
+f 19/35/19 20/36/20 68/88/68
+f 68/88/68 67/87/67 19/35/19
+f 20/36/20 21/37/21 69/89/69
+f 69/89/69 68/88/68 20/36/20
+f 21/37/21 22/38/22 70/90/70
+f 70/90/70 69/89/69 21/37/21
+f 22/38/22 23/39/23 71/91/71
+f 71/91/71 70/90/70 22/38/22
+f 23/39/23 24/40/24 72/92/72
+f 72/92/72 71/91/71 23/39/23
+f 24/40/24 25/41/25 73/93/73
+f 73/93/73 72/92/72 24/40/24
+f 25/41/25 26/42/26 74/94/74
+f 74/94/74 73/93/73 25/41/25
+f 26/42/26 27/43/27 75/95/75
+f 75/95/75 74/94/74 26/42/26
+f 27/43/27 28/44/28 76/96/76
+f 76/96/76 75/95/75 27/43/27
+f 28/44/28 29/45/29 77/97/77
+f 77/97/77 76/96/76 28/44/28
+f 29/45/29 30/46/30 78/98/78
+f 78/98/78 77/97/77 29/45/29
+f 30/46/30 31/47/31 79/99/79
+f 79/99/79 78/98/78 30/46/30
+f 31/47/31 32/48/32 80/100/80
+f 80/100/80 79/99/79 31/47/31
+f 32/48/32 33/49/33 81/101/81
+f 81/101/81 80/100/80 32/48/32
+f 33/49/33 18/50/18 66/86/66
+f 66/86/66 81/101/81 33/49/33
+f 3/18/3 83/104/83 82/102/82
+f 82/102/82 2/17/2 3/18/3
+f 83/105/83 3/18/3 4/19/4
+f 4/19/4 84/106/84 83/105/83
+f 84/107/84 4/19/4 5/20/5
+f 5/20/5 85/108/85 84/107/84
+f 85/109/85 5/20/5 6/21/6
+f 6/21/6 86/110/86 85/109/85
+f 86/111/86 6/21/6 7/22/7
+f 7/22/7 87/112/87 86/111/86
+f 87/113/87 7/22/7 8/23/8
+f 8/23/8 88/114/88 87/113/87
+f 88/115/88 8/23/8 9/24/9
+f 9/24/9 89/116/89 88/115/88
+f 89/117/89 9/24/9 10/25/10
+f 10/25/10 90/118/90 89/117/89
+f 90/119/90 10/25/10 11/26/11
+f 11/26/11 91/120/91 90/119/90
+f 91/121/91 11/26/11 12/27/12
+f 12/27/12 92/122/92 91/121/91
+f 92/123/92 12/27/12 13/28/13
+f 13/28/13 93/124/93 92/123/92
+f 93/125/93 13/28/13 14/29/14
+f 14/29/14 94/126/94 93/125/93
+f 94/127/94 14/29/14 15/30/15
+f 15/30/15 95/128/95 94/127/94
+f 95/129/95 15/30/15 16/31/16
+f 16/31/16 96/130/96 95/129/95
+f 96/131/96 16/31/16 17/32/17
+f 17/32/17 97/132/97 96/131/96
+f 82/103/82 97/133/97 17/32/17
+f 17/32/17 2/33/2 82/103/82
+# 176 faces
+
+g
diff --git a/data/themes/default/fret_tap.obj b/data/themes/default/fret_tap.obj
new file mode 100644 (file)
index 0000000..668f822
--- /dev/null
@@ -0,0 +1,194 @@
+# Fret_tap object
+
+v  -0.0000000066 -0.1499983668 0.1526451111
+v  -0.1060660183 -0.1060643867 0.1526451111
+v  -0.1499999911 0.0000016412 0.1526451111
+v  -0.1060659960 0.1060676649 0.1526451260
+v  0.0000000018 0.1500016153 0.1526451260
+v  0.1060659960 0.1060676649 0.1526451260
+v  0.1499999911 0.0000016734 0.1526451111
+v  0.1060660630 -0.1060643345 0.1526451111
+v  -0.0000000046 -0.1060643941 0.2587111294
+v  -0.0749999955 -0.0749983713 0.2587111294
+v  -0.1060660183 0.0000016281 0.2587111294
+v  -0.0749999806 0.0750016347 0.2587111294
+v  0.0000000013 0.1060676426 0.2587111294
+v  0.0749999881 0.0750016347 0.2587111294
+v  0.1060660183 0.0000016508 0.2587111294
+v  0.0750000328 -0.0749983415 0.2587111294
+v  0.0000000000 0.0000016149 0.3026450872
+v  0.0000000000 0.0000016323 0.1034809500
+v  0.0000000000 0.1181867570 0.1019213125
+v  -0.0452275090 0.1091904789 0.1019213125
+v  -0.0835694894 0.0835712776 0.1019213051
+v  -0.1091888398 0.0452292934 0.1019213051
+v  -0.1181851178 0.0000016325 0.1019213125
+v  -0.1091888398 -0.0452257246 0.1019213051
+v  -0.0835696384 -0.0835676938 0.1019213125
+v  -0.0452275090 -0.1091872007 0.1019213051
+v  0.0000000000 -0.1181834787 0.1019213051
+v  0.0452275090 -0.1091872007 0.1019213051
+v  0.0835696384 -0.0835676938 0.1019213125
+v  0.1091888398 -0.0452257246 0.1019213051
+v  0.1181851178 0.0000016325 0.1019213125
+v  0.1091888398 0.0452292934 0.1019213051
+v  0.0835694894 0.0835712776 0.1019213051
+v  0.0452273563 0.1091904789 0.1019213125
+# 34 vertices
+
+vt  0.0000000000 0.5000000000 0.0000000000
+vt  0.1250000000 0.5000000000 0.0000000000
+vt  0.2500000000 0.5000000000 0.0000000000
+vt  0.3750000000 0.5000000000 0.0000000000
+vt  0.5000000000 0.5000000000 0.0000000000
+vt  0.6250000000 0.5000000000 0.0000000000
+vt  0.7500000000 0.5000000000 0.0000000000
+vt  0.8749999404 0.5000000000 0.0000000000
+vt  0.9999999404 0.5000000000 0.0000000000
+vt  0.0000000000 0.2500000000 0.0000000000
+vt  0.1250000000 0.2500000000 0.0000000000
+vt  0.2500000000 0.2500000000 0.0000000000
+vt  0.3750000000 0.2500000000 0.0000000000
+vt  0.5000000000 0.2500000000 0.0000000000
+vt  0.6250000000 0.2500000000 0.0000000000
+vt  0.7500000000 0.2500000000 0.0000000000
+vt  0.8749999404 0.2500000000 0.0000000000
+vt  0.9999999404 0.2500000000 0.0000000000
+vt  0.0000000000 0.0000000000 0.0000000000
+vt  0.1250000000 0.0000000000 0.0000000000
+vt  0.2500000000 0.0000000000 0.0000000000
+vt  0.3750000000 0.0000000000 0.0000000000
+vt  0.5000000000 0.0000000000 0.0000000000
+vt  0.6250000000 0.0000000000 0.0000000000
+vt  0.7500000000 0.0000000000 0.0000000000
+vt  0.8749999404 0.0000000000 0.0000000000
+vt  0.0000000000 1.0000000000 0.0000000000
+vt  0.0625000000 1.0000000000 0.0000000000
+vt  0.1250000000 1.0000000000 0.0000000000
+vt  0.1875000000 1.0000000000 0.0000000000
+vt  0.2500000000 1.0000000000 0.0000000000
+vt  0.3125000000 1.0000000000 0.0000000000
+vt  0.3750000000 1.0000000000 0.0000000000
+vt  0.4374999702 1.0000000000 0.0000000000
+vt  0.4999999702 1.0000000000 0.0000000000
+vt  0.5624999404 1.0000000000 0.0000000000
+vt  0.6249999404 1.0000000000 0.0000000000
+vt  0.6874999404 1.0000000000 0.0000000000
+vt  0.7500000000 1.0000000000 0.0000000000
+vt  0.8125000000 1.0000000000 0.0000000000
+vt  0.8750000000 1.0000000000 0.0000000000
+vt  0.9375000596 1.0000000000 0.0000000000
+vt  0.0000000000 0.9227918386 0.0000000000
+vt  0.9761041403 0.9227918386 0.0000000000
+vt  0.0386040956 0.9227918386 0.0000000000
+vt  0.0625000000 0.9227918386 0.0000000000
+vt  0.1011040956 0.9227918386 0.0000000000
+vt  0.1250000000 0.9227918386 0.0000000000
+vt  0.1636040956 0.9227918386 0.0000000000
+vt  0.1875000000 0.9227918386 0.0000000000
+vt  0.2261041105 0.9227918386 0.0000000000
+vt  0.2500000000 0.9227918386 0.0000000000
+vt  0.2886041105 0.9227918386 0.0000000000
+vt  0.3125000000 0.9227918386 0.0000000000
+vt  0.3511041105 0.9227918386 0.0000000000
+vt  0.3750000000 0.9227918386 0.0000000000
+vt  0.4136040807 0.9227918386 0.0000000000
+vt  0.4375000000 0.9227918386 0.0000000000
+vt  0.4761040807 0.9227918386 0.0000000000
+vt  0.4999999702 0.9227918386 0.0000000000
+vt  0.5386040211 0.9227918386 0.0000000000
+vt  0.5624999404 0.9227918386 0.0000000000
+vt  0.6011040807 0.9227918386 0.0000000000
+vt  0.6250000000 0.9227918386 0.0000000000
+vt  0.6636040211 0.9227918386 0.0000000000
+vt  0.6874999404 0.9227918386 0.0000000000
+vt  0.7261040807 0.9227918386 0.0000000000
+vt  0.7500000000 0.9227918386 0.0000000000
+vt  0.7886041403 0.9227918386 0.0000000000
+vt  0.8125000000 0.9227918386 0.0000000000
+vt  0.8511041403 0.9227918386 0.0000000000
+vt  0.8750000596 0.9227918386 0.0000000000
+vt  0.9136041403 0.9227918386 0.0000000000
+vt  0.9375000596 0.9227918386 0.0000000000
+# 74 texture vertices
+
+vn  -0.0006326789 -0.0045822668 0.0018980372
+vn  -0.0036875238 -0.0027927805 0.0018980370
+vn  -0.0045822668 0.0006326793 0.0018980372
+vn  -0.0027927801 0.0036875235 0.0018980375
+vn  0.0006326789 0.0045822668 0.0018980376
+vn  0.0036875233 0.0027927808 0.0018980375
+vn  0.0045822673 -0.0006326777 0.0018980372
+vn  0.0027927812 -0.0036875231 0.0018980368
+vn  0.0004025514 -0.0037669437 0.0032631406
+vn  -0.0023789846 -0.0029482779 0.0032631408
+vn  -0.0037669435 -0.0004025510 0.0032631408
+vn  -0.0029482776 0.0023789846 0.0032631413
+vn  -0.0004025509 0.0037669432 0.0032631410
+vn  0.0023789844 0.0029482779 0.0032631410
+vn  0.0037669435 0.0004025517 0.0032631408
+vn  0.0029482783 -0.0023789839 0.0032631406
+vn  0.0000000000 -0.0000000002 0.0049999999
+vn  -0.0000000000 0.0000000001 0.0049999999
+vn  0.0000000000 0.0000659771 0.0049995645
+vn  -0.0000252484 0.0000609549 0.0049995645
+vn  -0.0000466531 0.0000466528 0.0049995645
+vn  -0.0000609551 0.0000252485 0.0049995645
+vn  -0.0000659771 0.0000000000 0.0049995645
+vn  -0.0000609552 -0.0000252483 0.0049995645
+vn  -0.0000466531 -0.0000466526 0.0049995645
+vn  -0.0000252482 -0.0000609550 0.0049995645
+vn  -0.0000000000 -0.0000659772 0.0049995645
+vn  0.0000252482 -0.0000609550 0.0049995645
+vn  0.0000466531 -0.0000466526 0.0049995645
+vn  0.0000609552 -0.0000252483 0.0049995645
+vn  0.0000659771 0.0000000000 0.0049995645
+vn  0.0000609551 0.0000252485 0.0049995645
+vn  0.0000466530 0.0000466528 0.0049995645
+vn  0.0000252484 0.0000609549 0.0049995645
+# 34 vertex normals
+
+g Fret_tap
+f 10/11/10 2/2/2 1/1/1
+f 1/1/1 9/10/9 10/11/10
+f 11/12/11 3/3/3 2/2/2
+f 2/2/2 10/11/10 11/12/11
+f 12/13/12 4/4/4 3/3/3
+f 3/3/3 11/12/11 12/13/12
+f 13/14/13 5/5/5 4/4/4
+f 4/4/4 12/13/12 13/14/13
+f 14/15/14 6/6/6 5/5/5
+f 5/5/5 13/14/13 14/15/14
+f 15/16/15 7/7/7 6/6/6
+f 6/6/6 14/15/14 15/16/15
+f 16/17/16 8/8/8 7/7/7
+f 7/7/7 15/16/15 16/17/16
+f 9/18/9 1/9/1 8/8/8
+f 8/8/8 16/17/16 9/18/9
+f 17/19/17 10/11/10 9/10/9
+f 17/20/17 11/12/11 10/11/10
+f 17/21/17 12/13/12 11/12/11
+f 17/22/17 13/14/13 12/13/12
+f 17/23/17 14/15/14 13/14/13
+f 17/24/17 15/16/15 14/15/14
+f 17/25/17 16/17/16 15/16/15
+f 17/26/17 9/18/9 16/17/16
+f 18/27/18 19/43/19 20/45/20
+f 18/28/18 20/46/20 21/47/21
+f 18/29/18 21/48/21 22/49/22
+f 18/30/18 22/50/22 23/51/23
+f 18/31/18 23/52/23 24/53/24
+f 18/32/18 24/54/24 25/55/25
+f 18/33/18 25/56/25 26/57/26
+f 18/34/18 26/58/26 27/59/27
+f 18/35/18 27/60/27 28/61/28
+f 18/36/18 28/62/28 29/63/29
+f 18/37/18 29/64/29 30/65/30
+f 18/38/18 30/66/30 31/67/31
+f 18/39/18 31/68/31 32/69/32
+f 18/40/18 32/70/32 33/71/33
+f 18/41/18 33/72/33 34/73/34
+f 18/42/18 34/74/34 19/44/19
+# 40 faces
+
+g
diff --git a/data/themes/default/guitarneck.svg b/data/themes/default/guitarneck.svg
new file mode 100644 (file)
index 0000000..4f0b867
--- /dev/null
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="250"
+   height="520"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="guitarneck.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   sodipodi:modified="true">
+  <metadata
+     id="metadata3009">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="854"
+     inkscape:window-width="1440"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.2557891"
+     inkscape:cx="-64.662274"
+     inkscape:cy="332.00336"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:current-layer="g4297"
+     showgrid="true"
+     showguides="false"
+     inkscape:snap-global="true"
+     inkscape:snap-bbox="true"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3223"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 260 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="250 : 260 : 1"
+       inkscape:persp3d-origin="125 : 173.33333 : 1"
+       id="perspective42" />
+    <linearGradient
+       id="linearGradient4387">
+      <stop
+         style="stop-color:#672500;stop-opacity:0;"
+         offset="0"
+         id="stop4389" />
+      <stop
+         id="stop10272"
+         offset="0.03502782"
+         style="stop-color:#4c0d00;stop-opacity:0.93333334;" />
+      <stop
+         id="stop4395"
+         offset="0.5"
+         style="stop-color:#b21000;stop-opacity:0.93333334;" />
+      <stop
+         style="stop-color:#490b00;stop-opacity:0.93333334;"
+         offset="0.96107578"
+         id="stop10270" />
+      <stop
+         style="stop-color:#530d0d;stop-opacity:0;"
+         offset="1"
+         id="stop4391" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4387"
+       id="linearGradient4393"
+       x1="3.9839032"
+       y1="259.35468"
+       x2="249.84105"
+       y2="259.35468"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9893674,0,0,0.9937313,0,3.2659465)" />
+    <linearGradient
+       id="linearGradient4109">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0.50196081;"
+         offset="0"
+         id="stop4111" />
+      <stop
+         id="stop4117"
+         offset="0.5"
+         style="stop-color:#fd6405;stop-opacity:0.78481013;" />
+      <stop
+         style="stop-color:#ff0018;stop-opacity:0.31012657;"
+         offset="1"
+         id="stop4113" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3207">
+      <stop
+         style="stop-color:#999999;stop-opacity:1;"
+         offset="0"
+         id="stop3209" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop3211" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2417">
+      <stop
+         style="stop-color:#f2f2f2;stop-opacity:1;"
+         offset="0"
+         id="stop2419" />
+      <stop
+         style="stop-color:#999999;stop-opacity:0.73282444;"
+         offset="1"
+         id="stop2421" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2417"
+       id="linearGradient3337"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8922696,0,0,1.2260835,253.8584,-0.7360251)"
+       spreadMethod="reflect"
+       x1="-142.75803"
+       y1="0.78900218"
+       x2="-142.75803"
+       y2="4.6783328" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4109"
+       id="linearGradient4301"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.0877042,14.263989,1.809904)"
+       x1="92.684113"
+       y1="164.62471"
+       x2="227.01991"
+       y2="194.92398" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4109"
+       id="linearGradient4303"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0775945,0,0,1.0893886,-24.832299,-46.77942)"
+       x1="64.430161"
+       y1="268.30783"
+       x2="146.39825"
+       y2="301.49274" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3207"
+       id="linearGradient2516"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2794074,0,0,1.0054914,364.3677,-1.4243308)"
+       spreadMethod="repeat"
+       x1="-265.2009"
+       y1="-3.3672962"
+       x2="-265.91348"
+       y2="-0.3399277" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2417"
+       id="linearGradient10373"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8756075,0,0,1.2260835,249.99996,-0.7360251)"
+       spreadMethod="reflect"
+       x1="-142.75803"
+       y1="0.78900218"
+       x2="-142.75803"
+       y2="4.6783328" />
+  </defs>
+  <rect
+     y="0.99479985"
+     x="0"
+     height="520"
+     width="250"
+     id="rect2405"
+     style="opacity:1;fill:url(#linearGradient4393);fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+  <g
+     id="g4297">
+    <path
+       style="fill:url(#linearGradient4301);fill-opacity:1;fill-rule:evenodd;stroke:none"
+       d="M 151.32893,-2.7426601 C 188,54.03106 212.1501,113.52257 201.32893,179.30355 181.91633,297.3112 229.96274,410 229.96274,410 199.08562,373.7356 194.65243,357.75369 183.79243,323.68497 141.27689,190.31026 175.51933,190.21369 151.5073,110.25152 134.89923,54.94519 109.10987,39.323472 92.17322,-0.38861802"
+       id="use3265"
+       sodipodi:nodetypes="cscssc"
+       inkscape:transform-center-x="-42.595745"
+       inkscape:transform-center-y="206.37132" />
+    <path
+       sodipodi:nodetypes="cscssc"
+       id="path3261"
+       d="M 87.298327,523.32667 C -4.4335267,261.8734 53.870629,334.71139 88.853102,219.97041 123.8356,105.22945 67.086237,40 67.086237,40 c 0,0 62.968473,16.503833 62.968473,143.81917 0,127.31531 -44.311158,124.17171 -29.54077,206.69091 14.77038,82.51916 52.86242,132.81659 52.86242,132.81659"
+       style="fill:url(#linearGradient4303);fill-rule:evenodd;stroke:none"
+       inkscape:transform-center-x="23.248528"
+       inkscape:transform-center-y="-241.66338" />
+  </g>
+  <g
+     id="g3393">
+    <rect
+       y="-4.8890123"
+       x="0"
+       height="9.8890123"
+       width="250"
+       id="rect2415"
+       style="fill:url(#linearGradient10373);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <use
+       height="520"
+       width="250"
+       transform="translate(3.6930847e-8,259.60335)"
+       id="use3197"
+       xlink:href="#rect2415"
+       y="0"
+       x="0" />
+    <use
+       height="520"
+       width="250"
+       transform="translate(3.6930847e-8,519.40402)"
+       id="use3203"
+       xlink:href="#rect2415"
+       y="0"
+       x="0" />
+    <use
+       height="520"
+       width="250"
+       transform="matrix(0.8333333,0,0,1,53.926741,0)"
+       id="use3215"
+       xlink:href="#rect3205"
+       y="0"
+       x="0" />
+    <use
+       height="520"
+       width="250"
+       transform="matrix(0.6666667,0,0,1,109.29626,0)"
+       id="use3217"
+       xlink:href="#rect3205"
+       y="0"
+       x="0" />
+    <use
+       height="520"
+       width="250"
+       transform="matrix(0.5,0,0,1,163.22302,0)"
+       id="use3219"
+       xlink:href="#rect3205"
+       y="0"
+       x="0" />
+    <use
+       height="520"
+       width="250"
+       transform="matrix(0.3333333,0,0,1,216.42835,0)"
+       id="use3221"
+       xlink:href="#rect3205"
+       y="0"
+       x="0" />
+    <rect
+       y="-4.8101187"
+       x="20.56773"
+       height="528.36328"
+       width="9"
+       id="rect3205"
+       style="fill:url(#linearGradient2516);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  </g>
+</svg>
diff --git a/data/themes/default/icon.png b/data/themes/default/icon.png
new file mode 100644 (file)
index 0000000..3c0aa91
Binary files /dev/null and b/data/themes/default/icon.png differ
diff --git a/data/themes/default/icon.svg b/data/themes/default/icon.svg
new file mode 100644 (file)
index 0000000..f6a274f
--- /dev/null
@@ -0,0 +1,2153 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1"
+        id="svg3048" inkscape:export-filename="./icon.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" inkscape:version="0.48.1 r9760" sodipodi:docname="icon.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+        xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1024 1024"
+        enable-background="new 0 0 1024 1024" xml:space="preserve">
+<sodipodi:namedview  bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer1" inkscape:cx="7.5884659" inkscape:cy="34.870974" inkscape:document-units="px" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="739" inkscape:window-maximized="1" inkscape:window-width="1280" inkscape:window-x="0" inkscape:window-y="26" inkscape:zoom="5.6" pagecolor="#ffffff" showgrid="false">
+       </sodipodi:namedview>
+<g id="layer1" transform="translate(0,-988.36218)" inkscape:groupmode="layer" inkscape:label="Capa 1">
+       <path id="rect2855-8" inkscape:connector-curvature="0" fill="#FFFFFF" d="M228.8,988.4C102.1,988.4,0,1090.4,0,1217.2v566.3
+               c0,126.8,102.1,228.8,228.8,228.8h566.3c126.8,0,228.8-102.1,228.8-228.8v-566.3c0-126.8-102.1-228.8-228.8-228.8L228.8,988.4
+               L228.8,988.4z"/>
+       
+               <radialGradient id="rect2855_1_" cx="-5038.0273" cy="-1319.4054" r="8000" gradientTransform="matrix(7.511259e-02 -0.1464 -0.3128 -0.1605 364.0023 1381.412)" gradientUnits="userSpaceOnUse">
+               <stop  offset="0" style="stop-color:#00CBFF;stop-opacity:0"/>
+               <stop  offset="1" style="stop-color:#0000CE"/>
+       </radialGradient>
+       <path id="rect2855" inkscape:connector-curvature="0" fill="url(#rect2855_1_)" d="M228.8,988.4C102.1,988.4,0,1090.4,0,1217.2
+               v566.3c0,126.8,102.1,228.8,228.8,228.8h566.3c126.8,0,228.8-102.1,228.8-228.8v-566.3c0-126.8-102.1-228.8-228.8-228.8
+               L228.8,988.4L228.8,988.4z"/>
+       
+               <path id="rect2855-83" inkscape:connector-curvature="0" sodipodi:nodetypes="ssccsss" opacity="0.3" fill="#FFFFFF" enable-background="new    " d="
+               M228.8,988.4C102.1,988.4,0,1090.4,0,1217.2v193.3c248.4,211.3,774.7,189.8,1024,0v-193.3c0-126.8-102.1-228.8-228.8-228.8H228.8z"
+               />
+       <g id="path1939-09" inkscape:connector-curvature="0">
+               
+                       <image overflow="visible" width="1178" height="1303" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABJoAAAUXCAYAAAARMAo0AAAACXBIWXMAAAsSAAALEgHS3X78AAAA
+GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAB0BBJREFUeNrsvYuy5CCQXYsm/P+f
+PLphj33dc1wS+SZBa0V0dBVC6AWUcp/M5LrvewAAAAAAAAAAAHj5D24BAAAAAAAAAABEgNAEAAAA
+AAAAAAAhIDQBAAAAAAAAAEAICE0AAAAAAAAAABACQhMAAAAAAAAAAISA0AQAAAAAAAAAACEgNAEA
+AAAAAAAAQAgITQAAAAAAAAAAEAJCEwAAAAAAAAAAhIDQBAAAAAAAAAAAISA0AQAAAAAAAABACAhN
+AAAAAAAAAAAQAkITAAAAAAAAAACEgNAEAAAAAAAAAAAhIDQBAAAAAAAAAEAICE0AAAAAAAAAABAC
+QhMAAAAAAAAAAISA0AQAAAAAAAAAACEgNAEAAAAAAAAAQAgITQAAAAAAAAAAEAJCEwAAAAAAAAAA
+hIDQBAAAAAAAAAAAISA0AQAAAAAAAABACAhNAAAAAAAAAAAQAkITAAAAAAAAAACEgNAEAAAAAAAA
+AAAhIDQBAAAAAAAAAEAICE0AAAAAAAAAABACQhMAAAAAAAAAAISA0AQAAAAAAAAAACEgNAEAAAAA
+AAAAQAgITQAAAAAAAAAAEAJCEwAAAAAAAAAAhIDQBAAAAAAAAAAAISA0AQAAAAAAAABACP+DWwAA
+AFDCZdjn5rYBAAAAwE4gNAEAAMi4NjwmQhUAAAAAlILQBAAAX+f6+LUhRgEAAABAGAhNAADwBS5u
+geneIEIBAAAAgAqEJgAAOAXEpLp7igAFAAAAAD9BaAIAgB1BVOp5/xGgAAAAAD4OQhMAAHQGQWnv
+54XwBAAAAPAxEJoAAKATCEvnP0/EJwAAAICDQWgCAIBVICrx3P8nCE8AAAAAB4HQBAAAVSAswaxf
+IDoBAAAAbA5CEwAAZIGwBN4+g/AEAAAAsBkITQAAEAniEmT1J0QnAAAAgA1AaAIAgCghAKCqryE6
+AQAAADQFoQkAADwGP8DqPojoBAAAANAIhCYAANAa9gBd+yaiEwAAAMBiEJoAAGBmvAPs2G8RnQAA
+AAAWgNAEAAC/jHSAU/ozghMAAABAIQhNAAAY4wBf6eOITgAAAADJIDQBAHzb8IY+9x4RpO7+c68B
+AAAAsl647pt3LQCADxnYcO495Aed+wYAAACw/qUZoQkA4Nw5nlvAvfoDP/rcGwAAAIDcF2uEJgCA
+8+Z2bgH3xQAvBNwHAAAAAP9LN0ITAMAZ8zm3gHuRxM21AwAAAID4ZRyhCQBg3zmc64dF3FwrAAAA
+APx8SUdoAgDYb+7mmqEZN9cIAAAAAP/rxR2hCQBgj/ma64WNuLk2AAAAgI8aLghNAAB952iuEw7h
+5poAAAAAPvJyj9AEANBvbub64GBurgUAAADg4Jd9hCYAgB7zMdfHdU049Qf75hoAAAAADnpBRmgC
+AFg7D3NdnHsCN+fNuQMAAAAseZlGaAIAWDP/ck2c50JuzpHzBgAAAEh52UZoAgCom3O5Hs6vOTfn
+9elzBgAAAPC/hCM0AQDkz7VcC/d3Y27O5xPnCgAAABDzco7QBACQM79yLdzXQ7k5j6PPFQAAAMD3
+wo7QBAAQO69yHdzPj3FzDsecIwAAAID/BR6hCQAgZj7lGriHAddzwo/y/dFjf+kZAwAAADy/BCM0
+AQD45lHO/+h7t9PzvTmn9vdjh3MDAAAA8L1AIzQBAOjnTs7/mHv3ldC8L+dVQnACAAAAqHzBRmgC
+AJDPmZz7lveMPE/PfMnj6OYZAAAAABS8fCM0AQDM50rOfYv7haAUw+leR4QYAgAAAGS+lCM0AQA8
+z5Gcd9tjIirVcqIQhOAEAAAAkPGijtAEAPDf50XOm+MtPk9WTqs9zv3RewsAAACQ80KM0AQA8F/z
+Ief92WOd0Cfuw4//NcGJlzMAAADY17BCaAKAr8+DnHOLY108+zROS7p9H3SvdjsfAAAAgPlLNkIT
+AHx1/uOclx7n4lkvZ3cvoa8ITryoAQAAwF5GC0ITAHxt3uN8lxzn4tluAcJQzfnufC4AAAAA7y/l
+CE0A8IW5jnNecpzrI88041xOFzluznXrPgEAAADw/HKM0AQAJ89xnG/5ca4DnuWOwuS98bF2EYfu
+jz1nAAAAANvLNEITAJw4t3G+pce4uB+t2Slk7Wvt7X4eAAAAAP/vizZCEwCcNKdxvmXtXx88z9Po
+7vVzN75WvJsAAAAAnl7AEZoA4IS5jHMtOUZncek66Lmu/GHuKO58Rbza9RwAAAAA/vuLMUITAOw8
+h3Gu6e1fDc+P0Lr/y71J+53aOc27iRc5AAAA6GX4IDQBwI5zF+ea2v51aDs79yMLXUPjTmoj817v
+dHwAAACA//uSjdAEADvNWZxnWvudRKHro/2mik4Cy93gWjqG+O14fAAAAID/evlGaAKAHeYqzjOl
+/S7i0rVpP8k+XuUPdAfB5t702CufW6djAwAAAPzXSzJCEwB0nqM4zyPFpetj9zybjiFy94b7Rt5L
+xCYAAAD4rhGH0AQAHecmzrNl8uyV4tL1wf4VQQfhZMW+d4N7Ft3WDscFAAAAQGgCgF5zEufYTlC5
+Ntx3p/60gpVhcrvsF3WfItvZ5bgAAADwdaMOoQkAOsxFHz9HxKVeHk+d++fdsN1KEeje5NqqnlvX
+4wIAAMCXjTuEJgBYOQd9/Bw7CUy7iUuE0v1mtTByNz7WasEJsQkAAAC+YeQhNAHAirnn4+d4wmpv
+V+HxCKPzsyJJdsU+nYWt7Ha6HxMAAAC+auwhNAFA5Zzz4XPs4oGzg7h0Hf78LHRaWa6jgIR3U89j
+AgAAwBeNPoQmAKiYaz58jrt7L3UXl/B2+i9WiR/dRKcqwWlHsYkXPgAAAKgxrBCaACB7nvno+XUQ
+mDqLS9eCe/rF8LlKz51O9e+Ce4TYBAAAAPDrpRuhCQCy5pePnt9qgekkcelq8mw79OW7QVtdPIvu
+BucQ+WwQmwAAAOAsQxChCQAONMqrz21X76XsfXbwcureZ6VUix33RnV38G5CbAIAAIBzDEKEJgCI
+mk8+eG47ei/tLi5djfun5RjZP8LdvJfu5vU89223UDpeAAEAACDnpRihCQAWGNe7n9sXBKarQd2q
+a92pX68QM3bwMsK7qf+xAAAA4CsGIkITABxojHcWmCrD43YUl67G97M7eC/FilKe+7qL2MRLIAAA
+AMQbTQhNAHCQgX6iwNQp1C2j7i4eTtV9f2Xy785eSTt5NyE2AQAAwDeNRYQmAGhoZHc5r50EphPF
+pav4ee3m4dTJg6mjV9K96F5EPKOo/bsdBwAAAL5gNCI0AcDGRvhpAlMX76XoNq+F11LdhyXH6JgA
+vFooktS7i9rQ3rOK0LvK/lJ9HAAAADjdcERoAoAGxnmX81rlEbOb99JVWCf7/uzU7ysFi05eRXej
+c7U+i3vhc+92HAAAADjdgERoAoCNDO2s8/qywNRRXDrBs2kFWZ5MuwhK1d5NlaF0iE0AAACwjyGJ
+0AQAmxjiV8P2KgSm3cUlPJvWG//Vnkwrt3dOKO59nohNAAAAsIcxidAEAM2M6uxz2iX/0s4hb3g2
+1dLVkylz/y7hdtZngNgEAAAA5xqVCE0A0NToRmCqq1chLu3s2bRqbJzkyZS1787eTZ3FJl4OAQAA
+wP7yjNAEwDzwgfNZITScIDB1EZeuRs+pEzt6MlkFp128mxCbAAAAAAMToQngu+P/A+fTXWCKrruD
+uLQirG5VX1hl4O/iyWTZttK7CbEJAAAAQPLijNAE8M2xf/j5nCIwdfFe2kV8qnh2XcgQM1Z5Mt1F
++1Rsz3w+Eft0PAYAAACcZmwiNAF8a8wffj5fEphOF5e+7NV0F+27YvW3yH1WJRKPrON95ohNAAAA
+0M/oRGgC+M54P/hcEJjkdbqKT3g15Rn+HcPjVgtRnmuKrmN9rt79uh0DAAAATjE8EZoAzh/nB59L
+tcC0MsH3KpGns1eU9plcm4yjCsGhu7C0i3fTV8QmXhYBAABA/uKM0ARw9hg/9Fw6C0y7eC/tKExF
+1uk6TqKN/kxvpp0EJ8Sm2n4HAAAAXzZCEZoAzhzbh54LApN/e6dtFdsj+k/1eMoWGipzL2WWV3o3
+7SA2EUIHAAAAPQxAhCaA88b1geeBwOTbfm3SZsQ9yHp+neiQ8HsHYWnXJOKWup59OrUPAAAAJxik
+CE0A54znQ8+lMq/OjgJT5bYdPZ68/WjVuMoSGaq8maoFp4rwPk+b1meL2AQAAAD7GaYITQBnjOUD
+z+N0gWlFeBzCU89xk2nsdw2T61DXUu65bxnPL3q/Lu0DAADAzsYpQhPA3mP4wPPYWWDaMTzuanqc
+qO3WPtVhbN0J9StWk6usmyk2ZW3TPl+8mgAAAGAvIxWhCWDf8XvYeSAw1W27CtqK3sd7Dzv126gf
+3hUrylWGvnUQobK2afsCYhMAAADsY6giNAHsOXYPO4eOItOuAlOF8FQlbnnuT3b/qKQq+XdlSFyV
+iNQ9gbjm+XYTm3iBBAAAgN8v1AhNAHuN2cPOA4FJt+0UEWlFiN2KPldhsFeuKpchRN3N2rOUe7Zp
+n/9d2Lc6tA8AAAA7Gq0ITQD7jNeDzuGrAlNl/qXdy7PuZdexFWnUr8rD5PFm6lRmKfdsi3q2kft0
+ah8AAAB2M1wRmgD2GKsHnUPVMvOVAlP38LiTxaioZ9hl3GUICR3EpV9lkQIRYlP8Ph3aBgAAgB2N
+V4QmgN5j9KBzqPJi+qLAlFm+m6dTdB/I2N/7w+vJ+5MlOkV6M60QoCLqerdp+gYhdAAAANDXiEVo
+Aug7Pg85BwQm2bZs4am76HQteBZdx53FeK9YXa5aAMoUpVaJTSuTgyM2AQAAQI0RidAE0HNsHnL8
+TmFypwtMWWJPJ4HKs83TJyvGY2XI3Kqk3pY6XULpqsLrNH2BEDoAAADoacwiNAH0GpOHnMNueZg6
+CUyZ+ZcqRadsb6ZOycAl+68Ml3vbHu3RVCU4nZzLSdNf8GoCAACAfkYtQhNAn/F4yPErRKaqMLkO
+AtNqIamLuFTpybR6LEaKB1khYhnCUEYb1joR98j6bLT9oJPYxEslAAAAIDQBdBmLBxz/JIFptv2r
+AtNqIcuzj7evZo3RDqvMZeZeqhCcKkPy3u7vKrGJEDoAAADoZdwiNAGsH4cHHLvCcO+Qh2mHRN7S
+ujuJS1mJwqPGwWx/zw9thFdLRcLvbt+j9tGURZZHPv/oPrmybQAAANjBwEVoAlg3/g44fhcvJgSm
+c8oiyy19rkOetExx6WnbqtxKnu8rcz1pyjzPKqo/RNTv0jYAAAB0N3QRmgDWjL0Djp3txdQh0feq
+ELkK0elEwUnab65G4/UOrttlRTmPYNTRG8pbNnt+hNABAADAOcYuQhNA/bjb/Ni7eDEhMJ0hQlnK
+I/tR5H6ZQsDXBKYVoXbestnzvBP7QWSf7NA2AAAAdDZ4EZoAasfc5sft4MWUuZLcl0LhEJz6jE+L
+gW71gOkuMH1ZbDothI4XTAAAgK8avQhNAHXjbePjZnt9VITJfVFgQnDy9eWqMRspIHxdYFolNnVK
+Dt4phI6XTAAAgC8avghNADVjbePj7uDFVJnoe8dcSx0FpyyhLqpPZY7jqrxMT9t2EZi6eD5Z67w9
+m6+E0PGSCQAA8EXjF6EJIHeMbXzcDl5MCEzPZZY6qwWnqnuV0Re1+3t+XLNWnateNe4k8cla5+05
+EUIHAAAAZxrBCE0AeeNr4+Pu7sXUXWCStnmC4LQ6nE7bP1eN2yxx6am8ciW3aBEJsSknhA6hCQAA
+AGIMUoQmgJyxtelxd/di2lFgivIO6rxP9H6WcmsfzxzLkSF0UUmrTxCYVofVecu826x9zFJ/dbsA
+AADQ0RhGaAKIH1ebHnO1F1PW9p0FplXi0S4eT5Zy75jxjLUMoz9S5MgSaDKFo65iE15NNe0CAABA
+R4MYoQkgdkxtesxMkWkXL6bTBKaMNlaKY9Hlq8et1yDP9KzJyMPUQWDKFJsIoVvXLgAAAHQzihGa
+AOLG04bH3NmLaYXA9Ku8ezicto1O5xn1zDT9dsU4jgihy1hdrlJwymorapvlu7fMu83axyz1V7UJ
+AAAAHQ1jhCaAmLG04TFP9GLKCof7Vb6bwJT9PauNyOet7fc75GdasbrcDgLTSWLTKV5NvHACAAB8
+xThGaALwj6PNjvklL6aq0LksgalacOogcEU8H08/yhznkca+VJTwik6rBadq4cp7f6zPwFqu6VuI
+TQAAAFBjrCI0AfjG0GbH29WLqWsepiqBydvmjt5Q3jLvNk+f9/6wRghMv8q6ezHtIjbtGkKH0AQA
+AAA1RitCE0C4kdn1eJnLuq/wYuqW6HuFN9Cszk5ilLfM2o9WjWetAe4RmH6VdUjwfRvb/6rYhFcT
+AAAA7GEoIzQB2MbOZsfLEpm8XkydwuR2Epgiw+O6tBVR5ulTK8Z39Apzv8q1AkgHb6WuYlNV/iZL
+ubc/RdRd2SYAAAB0MpYRmgD042aj460MlavyYkJg+v29SjDaTWzSjovo8V61wtyvsg6ryN3N2qja
+FlHm3RbZB6vGAAAAAOxoMCM0AejGzEbHO8mL6bSk3qsEpo5Clee+Z/S1jPEYFa5UlZ9pVy+mHVap
+85ZJ+hNiEwAAAKw1mhGaANKNzBXHWyUyrfRi+prAVCESnS42ZYwzz4+q1lMlwrNpleCUJRrtIDZ1
+CKFDaAIAAIA8QxahCcBlVHY8TkeRaacwuW4CU4VohNi0lqpV5v6WZYhMHYSn6rxOmm0RZd5tmjqW
+uivbBAAAgA6GM0ITgGysbHCc00PlvpZzyVr3y2KTpy9WjnOvEBAdKvf3e4XIhNiUG0KH0AQAAADr
+jGeEJoD5ONngOLuFynUPkzvZYwmxad24964KFrXSXJRXU7bH0qrwO+lnzTbJ94hnr+1vK8UmXkAB
+AABONaARmgDKjc3o43wtVK7SY+lvWXeBCbHJ3z+jx2dmInCvZ1OmyBQlLGUIVNp2I+6b5xlq+4Wm
+7+HVBAAAAPHGLUITQIpxWXWcDIN5Jy+mVWFyu4bEdQqxs3zXlEX0Zes+lh/WjETgnUQm6T5VApVn
+v6htmjqWcklfRGgCAACAeAMXoQkgzACtPs6VUPd0L6bosLlOiboRm+L7dAVVicA9ItNK76UqsSky
+bC4rhI7wOQAAANjDmEZoAlhmeH5BZNopTO6EvEqrxKbqHFeaMukYWCE4nSoyebyXqsWminxN3UPo
+8GoCAACAWEMXoQlgicHZSWTaOVRudWLv7DC4TOFopdiU4XlmLa8e+x5RYFeRSVuWVV+z/amudF/N
+Nk0d6b7SbZo6lror2gMAAIDVBjVCE0C5oXmKyKTd1j1MrqvAtOs+nrrWZ24tr5gHPMZ+RI6mjiJT
+d7HpSyF0CE0AAAAQZ/AiNAGkGpeRx9hBZFrhxbRD3qUVwk/30LuI75qyzLHkNaCzE4GvFpkyBKWu
+4XTWepo6mn6h6Yt3cL/OGCsAAACwg2GN0ATgNiazj9FpZbkI8alSdMoSnDJXgDupLW/d6P7jHY8Z
+K84hMtm3Vaxe97RdUn+2j+S7pszSn6x9F68mAAAAeH5pRmgCQGRybuvgxTRrY4ewuIq2OohNlV5M
+nVecsxj9J4pMGYLSCg8naz3Jd2+Zp89F1F3RHgAAAKw0sBGaANoKTaeHyq3wYlq5WlxHsWnXEDpp
+naixEU3FanM7iUwVglRUmeWzZpv0WWv7yqzfaepo6kWNCwAAANjJwEZogq+PgabH2FVkOj0s7q3u
+yWLTaq8ma53IMVJhSK8Smf79HCkyRdfpksPJ+9ny3Vvm7YPeuivaAwAAgFVGNkITfLn/Nz5G5OpY
+VfmYogQlixCxU66lk8Wm1V5N1v6cPS94jHutALGjyOQRm7JXrtO0Y73/luc86zs7ejXxQgoAAHCK
+oY3QBF/t+42PUSUydQyV6+DFtKuw01380myT9hdNmWVMrlxxziI07CwyRYhNXfI1ZXk1kRQcAAAA
+9jC2EZrgq32/afsniEw75V6q8GhChMp55tb+ah2f0SvORa82Fy0y/dqeLTJVtSGtb2lPc/812yLK
+pP0UoQkAAAB8xjBCE3yx3zdtfzeRKStUbnWYXIZHUycB6OteTVXzgNWYRmSKb1O7zVJm+Rzx/a0/
+ET4HAAAAawxuhCb4Wp9v2v6JItMOuZcqw+ROEZVWezV5yyrnA40RLRUFNN+jQudWi0ydRSfvZ822
+iDLJNsl2a90V7QEAAEC10Y3QBF/r8w3bXy0ydQyVOzX3Upf2dvJq8vS5iHFTYTwjMq0Rn7TbrNs1
+z8ryXdOHJP1Rst1ad0V7AAAAUG10IzTBl/p7w/a/IDJFhspl5lR62ra7OPR1r6aI8ZNpMHcWmX6V
+dRKXIkUo6TbNdulnzbaIMmn/JHwOAAAAbIYxQhN8pa83bH8nkWlFqNwKUUnyufN+X/Jq0pRpx2j3
+1eYQmfqtTNfVq4nwOQAAAKg3vhGa4Av9vGH7iEzxopJXJOkgGu0kKnX1arKUe8eg9oe0g8j07+fo
+ELqvi07ez5bv2n4l7bd4NQEAAID+BRqhCb7Qz5u1HelZ0VFkygqVixSVnratEnp2EKuin81sm6Vv
+RYybTLyrzWWKTL/KviAyrRSdNNsk3zVlkm2S7dp6Y1F7AAAAUGmAIzTB6X28YftR3kzVIlOXVeSy
+vZi6ik14NfnLKucGqeEckaNpdRLwzP+75m+alXk/W75H9DPtdmvdyrYAAACg2ghHaIKT+3fD9ruJ
+TJlJv3cLh/v3c3cBaaewOs82a1/UjLfseSJ7tbmnbTuLTLslDbdutz7boaxjKdfW0dQbi9oDAACA
+KkMcoQlO7t/N2j5FZNKKAR1C5VaINV32sdbN+uzpHxH9uWKusHqJZITPZSQBP1FkOt2rifA5AAAA
+qDPEEZrg1L7drP0dRKaM8LndPZe6eCvh1WQv045X69zRcbW5yCTg3USmFd5MFaKTZpu031jLtX1b
+W7eyLQAAAKg0xhGa4MR+3az9U0UmTdLvLoLTCWJSp2TiEc/P0rc0/dg7N1xBRnBkjqZIryaP0FIt
+Mu2YINz7ebbNWybty3g1AQAAgPwFGqEJTuzXzdqOCN3pLjJVJfnuJDZ1EJNWikqRgpTlu6asan7Q
+GssWgSA7dM4qRJ0qMq0OpbN815RJtkm2a+uNRe0BAABAhUGO0ASn9elmbUd4M50iMq0KldtdONpZ
+dLLWi+7D1XOF1aj3CAwZIpOkjlcM8tbZ2atpp6TghM8BAACA3AhGaIKT+nOz9r8mMlUITl3EJs/x
+OghMHZOCS75L60SNvwyjeKXI9CaWROVpOlFk+oJXE+FzAAAAEGc4IzTBSf25UdvZeZlOEJkyQ+U6
+lnX1auq84py1jnXsWuaQjknApQJIdBLwqLpdw+y026zbtduk/WjWXwmfAwAAgBjjGaEJTunLzdrO
+zMvUWWSKFJwykl53EYy6htdZ60b1Ecl3TVnGGLb8aEaJTKuTgK/2UtolUfiszPvZ0nc85Za+T/gc
+AADAl41zhCY4pS83avtkkWnl6nGdvJgytnUoq/g82ybpk5qyqnnCa9BXJgE/RWRa4d2k3TYrk362
+fNeUvZVr62jqVbcFAAAAFcY5QhOc0I8btb0iL5NUfKoSmaIEp05iU7Ug5akfde2RnzXbrH1VMwYz
+5wyLV0i3JOBZYlO2yHSCVxPhczXtAQAAQKYRjdAEu/fhRm13Tv69QmTS7nOSx9IKgen0ROBZ4XIR
+c4jVEyQjdK6ryPRWp0pkWiUwZYXMdQ6fQ2gCAAD4spGO0AS79+FGbXcNmVstMlmTfncRm1aF0n0p
+fC6yL2ePYa3Ra11lLkqgOEVk6p6zSbpN85wk/aQ6fI48TQAAADB/qUZogp37b6O2d8rLtEpkykzk
+XRUet1qYim5Ds93yWbNN8l1TVjVXaI3i7FXmtCLIU92KsLmKsjFyhSjtNu1ze6sv+a4pk2yTbNfW
+G4vaAwAAgCxjGqEJdu6/TdrNDJn7isi0QmyKFo1WheJFlVV/juqzmrG4MjeTVRSoEJmetp0iMnXL
+2aTZrukTmn5mKdf0dU29sag9AAAAyDKoEZpg177bqG2vN1NE8u8viUwZYlOW6NRBYFrhyZTtxbRT
+biaPGJApMkmFk11FphXCk6VMs936XVMm6deEzwEAAMD7izZCE+zYbxu1XR0yd4LI1CFZ99u2DsJS
+ZehgRF1Pn7J8l4ytjLGckZtJKxxUikz/5//I/EtRZbt7NRE+p4cXVgAAgF0MdoQm2LHfNmm3a8hc
+N5Epy6OpYmW4ag8oa52osorPku/SOpJxWJmfSWuca7yYvIJFB5Hp17ZMkamLVxPhc3VjDAAAADoY
+7AhNsFufbdR2VsjcF0WmLom7qz2gvO156mu2ez9HfLeOp+z54zbWyUoAbhVBVoTNZQpK1cnCtdus
+263fNWWSfk34HAAAADy/dCM0wW59tkm7HfMydRCZVuRjys6vtPq42m2WMs12a9+J+G4tj5xLvJ4c
+qxOAa8STe/QVmaoEJ8//lrKn7W/1Jd81ZdK+TvgcAAAA/H7RRmiCnfprk3arQ+YsZbuJTB3C4FZ5
+NWWGz3VL/h3pxXQlzRWXw6DVGu1er6adwuY6ilBj5AhRUWVvn2fbJP3LWj6UY4TwOQAAgK8Z7ghN
+sFN/bdLu6pA5rXeTVXTqJDJV51OqbDuqrqVMs93yOeK7dTxlzxseY/zksLlIkehUr6avhc8hNAEA
+AHzNcEdogl36apN2d8vLtEpk0uZm6uK1VHHs6H2026o/R3y3lmfMI7ezTpbIFCk27SYyRYpL1QIT
+4XM5YxAAAAAW8j+4BQBirgbHsxros7rZItMOuZZ283bSbpuVRX7W9DdpX7f0cc9Yuw3HuB/q3D/2
+vwXf3z7/W/9p+zWpH1lnVqbZHl13vJQNQx3r/pZz8p7Pqb/F3BMAAIDOP9Z4NMGHBZ7O3kzRyb93
+EZl2EpA6JhaX1tdsl37WbJN8t5Znzxv/0ilsTuO19LfMG1KX5clU7dX0hfA58jQBAABAOng0wVfp
+HjLnNaql59JRZNpRbOocRjcry/oc8T1q/FjGvMS4nXlCXT/K/5Y9fdd8lno0PXmCXIr9qjyZxph7
+AFk8mLQeR97fGeuxZs8q45yyf3Pvxu0BAABA5A81Hk3QvY82aLfjKnPV3kseUaOz2PS1MDrNdsvn
+iO/a8eKZKzQhc294vUS0K4t5PZqikoJXeDJlJw+X7qv5X7ttVib9LPmuKZOOCbyaAAAA4L+/ZCM0
+Qfc+2qDNnULmpHV3EJn433dfNc+7Yz6mK2k8Vhi5VuN+1QpzGvFFKsxEi0xZx9Zcs+d/6TbN9qjv
+1nKt4HMXj0MAAABYBKFzAH6DtVPInNT494gKkWJIh/93DqeLKvN+1myT9EXv+LLW0xiykoTf/5a/
+lVnDyX6FuI0hC4OThNVZQ+jGsIe9RYfUDcF9e6oX9RsSHapH+BwAAAC0BqEJdhd5OrRZeW4Rhr5X
+cNpRZOosTEXvMyvTbI/qc5Lv0v5ZPbYlq8z9rScVnbQrzY1hy5kUJS69CQaZ+Zk0gpPmPLVlmaKK
+RTyr/G3qujIe4hUAAEBHw5bQOdhceMls85SQOW9onFUciRRjsgWhyuN72tVu0zxb7+eI79byirnj
+NtbJDJn797M2ZKtypbmqMLqoVeiywuey8jTNts3qe8o148NSd0V7AAAA4ASPJujKl0QmST1EJr9Q
+tHN4XeS2yM/avqkps44xb/1buf/KkLl/P0tXmBuG/byhc1VeJ1Gr0GWdbydvqpM8gfBqAgAAaAZC
+E0CPl+So+hKD3RJG11Fk6uDVtGueJs32yG3aMun4uArH4/1S/5fo9FZmCZn797M1VM4qLknFkVWf
+pSJEteDkaWe1eDcc9xkAAAC+auASOgcHCC/RbXYOmfNui/Jq2lVcqhKRVuVpktb3ftZs0/R969jK
+mEe8K2mtCpl722YNE4sMnSN87vk5zcrePmu2acukY2Jl+FxWmwAAAGAAjyYAPStD5izbrqDtl6D+
+ruJStQDluSfabbMy6WfNNkm/8o6Za9E493o0PX2PCpkbP9qPrjPGGq8m6XPbLXzOU0+6f9VxAQAA
+ABCa4BNUekGMxGNF5mUaRoGiyoPJW3cX4cnyf1SZ97Plu6ZMO06qEoBfL3W04XJ/v2vC5H6JA978
+TG91nsSI6FXlpCLISeFz1mN0WBnP2l6GoIVIBgAA0ASEJujGtfH5VYbMaY+rER/e6o1EEWWVuNRd
+eIrcZvms2Sb5rh0rUfPDm0CkOd6TR5M0Kbg1IfisbDxs8+Rl0ghKGWJBtHjl8eqRingZYs7K3EwA
+AAAAahCa4HRWezNlh8xpjXqLV9NM0FgpLr1ti6xvOV/rPt66szLvZ8t3TZlm7FzJY3Pm0XQLy6PC
+51aHzg3jeUd+1oo1HuFGss266p/luoazvS+EzyHEAQAANAChCSDGMM0UtCyeTZ4wuWEQPLp4MHXy
+gpLua2knqkz6efbdIyxleTFZhaS3Nqz5mbzeTGP4xSJt/ZV5maRCgjd8Trq9QhDKCNvLELu6h88B
+AABAAxCaYBchp/OxO4TMWfMyjQDRIyMkLEo06pjTKeuezcok26O2acs04/AqHPdSYenfbVrByRMC
+lh069yQKZAsEVeKVVtypzomkvSfAPQEAAGgBQhOc/rLZsa2hNNYlRv6sjtX7ZZVHk3Rb9L7Wdj11
+Nf9HlUk/a7ZFlHnHnHYfjUdTh9XmtKFzGqO8e8hcVPhchDeRVszTildRgpRHhMk8B0QhAACAw0Fo
+ghNFocpje72ZpG1rvUA8Xk0dRabMskzBybPPCNqm2a7dZulflnFxFY99TW6mf7dl5WYaI9aLySMu
+ec9fKwLNxAmrGLU6X1GVwLIifK7LOwUCFgAAwCIQmuBUVnozZSQAl4gAnrxMV9A9WiEydRCrou6B
+ph1LmeWz5ftbn7qCx621796KNiXC0i/jdkXonKbOUB6j0nhfIWRV5GnK8G7qKKp08GpCbAIAAFgE
+QhN8natoX4/h7gmZs5ZVr5SWJTJVeDhJtkX+H1Wm6XeS75oy6fi5Foz9N28mS16mXwavV2D6VTYT
+lrJyNHUOn7OKERmCU8S5V4t+Jwg1iE0AAAALQGiCLi+CXduL8Gaq8oiaCQVSMSJbbMoQmb4gOEm3
+abbP+kxXT6YML6ZfbWflZdIKK5meLp5jrBSQqkP0ZvfNkp/p7TjVeZpWh89lCkKITQAAAMUgNMGX
+uZrsm72y3CWot3IluWyvpVWCk6aO9Z7OyiTbNds0/Xf3nEx/61vzMo0R44ViydEk2VcrQnRYcS77
+WFVCRac8TScdt/u5AAAAHA9CE0CcsVuZAFxaf0XSb+22v2UVXk2ZeZ9m/0d4hlnKpJ8t3639P9uT
+6Ta2qw2f03g3RXjfZK40JzXMuycDJ09TvkCzk1dTRfsAAADwv0Fogt3EnOr2oo8RnQBcu/0KvgfR
+yb4j6q4QnCTbIv9/+rzak8kbHlc5H0iTga/Ky+QVHCxeTN6QqwoxqUqA2D1PU0X4XNU1n3w+AAAA
+R4LQBF+lwtOiMgG4VHwYCUJHVLJvq6dTtVD1VibZFn3frdu9fVRb5hlf0v1uR1uz8DlNYu5oozZi
+dTmrF1SmIFEtQH0pT1OkwHKSV1PVMQAAAD4NQhNArKG74virQuaetknrZwpLq/I5jRErPGm3eT9b
+vs/GxVU4tjxC1DWp9yQE/K0f6cmUETYnaafK20UiBESG03mOtTpP08rwuaprrLwOxCYAAIBEEJqg
+m2hS0V7FcTO8mSLyMVmvzZsrqIOw1EFwmtWNvOea/tN1dblZO7dzrFq8mJ7KpZ5MK8LmsjxqKlaX
+yxAHdszTlHFPNM98hQhX8Q6C2AQAAJAAQhNAnjGcdTxPPiaLR80Q1NF6L10bfY4oi/xfc++lny3f
+reWR480bSifxYhrD7/GTHbak9YqJzu3jvS5Lm5L9o5KAR96HytDFrFDOsei6O5wXAAAACEBoglNY
+lQQ8wptpGEQBidgwEgWO7mFxKzyfxsgRnKTbJNs12zR9XjIGrybzgtaLyWrse0PoKozj6uNpz8kr
+QHnrRoardQ19iwqT3FmwQWwCAAAIBqEJVr7YdTzuSm8m66pckSFzUXmZpNtXCkhVK9Fp6nieg+Wz
+5bukv64KY72Vx9R6Mf0tv5TfKwQASw4nr9hwethcl7DF1WJV9TNcJXACAACAE4QmgFiD2OPNNITC
+wKzM49Uk2UdSJt3+q36WaLQqlG5M6mqfz4oE4G99t5N4q/Fg+re+JieNR1zKyM80EzSikodLzrOq
+He3+UWFznVZYsyYxz7zWDCEMsQkAAGBDEJrgBK5Nj6sJk9Ma/xrxInvFM4mAI623WmRalafJ+wy0
+27T90DomvGMowoPp3zrS5N8aA3X1amUdzjVaPInYf2VCcG3b2c+lKvl4dV/vfiwAAIBjQWiCVcZE
+x+NeDdu3ejNFrTI3aztawNHuUy1MSbeP4ROetHUsnyXf3/rS1WCsWz2YnupZvZiyjNUOYVDRIXSd
+jf9sb5tV11GZFDwrvK9abBoDwQkAAMAMQhOAzZj1GtlegUB7DtGeM16xI0pwktRb6dk0hi2nVcY9
+f+o3V0CfvwLH1hO3oU2LGGT1YsoImVttcA/l9WTvG3nsDOGkOk9TtpgnFV5X9LsTjwcAAHAMCE2w
+O1ezdlac56owrQrPJUm9CJGpc9hcRH4mzbZZn13lyfTUpteDaYwYL6aTjNQdw6OsAkxkIu5O97rK
+687adkboZ+ZvN4ITAACAAoQm+ArZHheapN9V3kyW64zMCSQRi962XYu2aT6/lUm2vf0v3WbtRxGe
+TBF9UeqB5N3fkvh7Vi8rJKmj0LEqT07GcaNXA4xuJ+P5R3pVRd2HXcSm2fwBAAAAf0BogmoursF8
+rExvpogyj3dS9LbO4XMr8zJ5xaVsb6bZvrdif20i52xxJyvkqdO8eCdfa7UXTkZC8EyBplNf6pTA
+POM3GcEJAADgBYQm2N2w6dBOxOpdGjHgSrx+i9ik9Wj6+90iHL1tq/Js0pZ5/p+VzfpQhxXmMsaq
+x4NpDFvIlDU3E8TeG62wle0RVpmnaRj7n6Tv7uLVtHp8ITgBAAC8gNAEXzFoova7Cs/Fu+KcN7m0
+R+SQiEhPdSM9l6qThD/9vzpsTvL9rX9eyWPtF7fyeBaxZ1WI0klza3QY2eql7CvDFrXtZ+Y+6n5d
+Xa8XwQkAAOAHCE2w4oWMa36uE5U3R3rMCLHJG+4m3XfWVlT4XNdV57yfI/vXtWDsSMPmPCvJQb/5
+88T8TJL2NJ5Mu3s1dXsunvmKOQYAAGAgNMHeBkiHdiKSgHvOtSIUyxIy5xWcLF5Nb/tXJgaXbMt6
+VtI+ae23WWMpynvJYrxHh8tB3pxv9XqKWnku6vmzgmH8dXa5RwhOAAAAA6EJvmGcRO13FZ6rxPC/
+jO1fimNbQ+Zm32cC0VN96fe3OtJt1s9P/68Mm/tV1smT6Ve7t7B+hAfTDuFy92btrhAyqkPwMgQj
+T06mpzqrvZq+JjZZ5iAAAICjQGgCiDWOR4AgoDXsNQLGcAgYFWFxv8o83zskBo/439qfKvIyaevf
+hvayPZhWsrMhuvO5R+Zn6pAIvEOuIsSm53kMwQkAAD4FQhNUv2ydfE6Z4XxRXkzecCxryJzmu2ef
+1Z5NY8QIT9bn86uPRKwwl92/Z4aYx4PJKx6sMGBv47bMY3zdUM5etS76+NVeTdH38CSxaTZHAQAA
+HAdCE+z6wh9ZT7JflHeHJ9RpvIgQXi8mb8LpLIEpIlTOkmS8OnxujDjRSfJd2r8qDaosD6aOxinG
+5pr7HiGmVCS/tnoyVd1LT2LwL4tNnvkRAABgKxCaAHwvi9FGe6TIpc3JpBWVKgQmyX6aULmolel+
+fX4rs/xveTaWvpTlyfS2363Yt8qDKZvbsF3idXQrj98511OGiLPaE0mzX7YHUZRXk/e+VIpNYyA4
+AQAAlPMf3AL4KFej42sFAY0Xk1aw0HgtvW2LFJiu4P0yRKZfbfza9vZvDJl4Jj0Xyf34JU69bY/s
+/9JjvNW5mswBt+BzNvfkf+11aMuq5khrvjvp/KrtIxYB2doXJddb9dvmvZ6rcKx2DN2XzG8AAADb
+gkcTrH4hzWqre9hc1rGHwLixJv2WbNN8n5VJxaoMz6aIz57/Z2Uzo7NbXiavB9P/qePxYOoYSnMH
+18s+j4z2dvDoWOEVFeX1k+nV5D3/Ks+mf+eYu3Ef22U8AAAATEFoArC/EEqM8ShxyfNX852Sflu9
+cbp4No3hE54sZZp+mZWXSTtmJIm/NYZthbB0F7UTGS5XdU27zNs75Gea1Y8WcDKvpZvYNJtfOr1f
+IDgBAMDWIDQBrHuRjKr3tJ/Fm0n6+el7RMicpm4nz6a3sqdtY+QmAdeURfU/iZEU7cFUZfD/Omft
+Z+n9uhXnkZGnKSqM7kSDOSM/k6VtqQC1IldTxTWveIbV7wkITgAAsCUITXAi1nCg6LC5K+CcxojP
+AZK5wpy2jsWryVNX8936+a1s9twk28bQezNVezJdCsHhTXS6XsothnAn4zIjH1JWnqaV96RCTPD2
+J+n/nnPISModdU80q+RFnG+UCLODmIPgBAAAW4LQBDtxNTyH6GTEV/B5VglMGsFJIjo9lXsEpl9l
+EpFpV28mT7JgSz/skIcp2tjuJKSsXDUuKpdUh2dRLdhY2tcIN1leTSNgjGaP10jvpjEQnAAAAMJA
+aIKqlyPuwfP9iMjJ1DVc7t8yrehkrS8JnRtjzxxN2uczG4OZifo9eZjGWC8s3QmfpeJLRthc1v4d
+59s7Yd9owakiiX2GV5OlPHMMR4fSdu7bu5wjAAAAQhN8jhVhc95zs7bTIVxOu8qcxavJ68X0Vkfz
+WVM2hk50mvWvK7g/S+pGeTCNYc/F5DUyVxlr2rA5i/CUFUZ3N7y3ln6QmXNIu7/Fm6jKq2kXsSmy
+zyE4AQAAOEFogtOoXDkrS4jSJgvP9GbyCk7/lklC4N62eQWpMXSik/XzW9nsuVV5M11JY82Sh8lq
+aO9GRE6mqvC5O+DavPtkew9562vzM+24wt2sjU5iU4b4guAEAABg5D+4BbAJ16Hn7UkCLm23S7ic
+tNwrPEm9nTTfZ//GS5n0f49XlTV5+qwPefaZ1ZGMhUrPwDv5s1ZA6RY+t4t3U2R/uZoc0zuHz+Zz
+z1i0itmZK19eCc+r+zvIDucIAAAfAo8mWCmydD6fzLC5yCTg1lXKtIaKdXW5N/HhGvXC01OZJ1+T
+tmz2vLp6M11KEcHixSQpsyYxXonHe2dV+Fyld1Plb8CKcDlJO5n5mVYlAo/ybLL0qwxPn+vgPg4A
+ABAKHk0ANV4T3nA4jVeTNvm4NHROWvbm1SLdliU8ZSQFj/BqivBmsoQcRo2f1V5MHfEkAV8RPrfS
+u+lO6pfR9TM8bCzjIsKTSfO7kFFu/W20zk8Zc17ndxq8mwAAYCl4NMFJXM3avorOd+YJIzFIvN5M
+szLJtqh9raFzY8TkaxrCbWPUJQKP7nfVXkxR3IWftdujhCepYLS7d9PK1eU8eZmyx4I1MfivsigP
+pgjPpn/nF6tXWnSf7O7hRP4mAABYBh5NAHEvc9a6kX8lt/4l/Ne2CHFpvGzzejVZPJueyrxeTWPo
+vZquIQu50+Zm0twzT5+ftRnpxXQFjZkqpIJThvA02ydaWDrViK3MzxQ9lw9hPY8XV4Zn01XwbPBw
+AgAAKACPJvjKC7/m5fcKPk5F2FxUqEWkN9NQiBFS4ckbUpcROvfrs+d/z/PSGJ0R4snfdld5Ma3K
+S2JJ/G1dae5tW2VScOs5V4XMafpG1upnwzEOIs5Tc80SL6ZIzybJXJLt3ZQ1Z+zg4YR3EwAAlIBH
+E4D85THCWI9sQys0eMWLaG8maZ2MJOJP5yoRmWZ1xpCtXPdW/+3zGPK8WJHeTF4vphUhfhIhpDI8
+Tlrm9WaKTAquOf4d/Gyq5lWNZ49HQJYczxMCLa1nCb+N9GCKHPvX6JW/KbPd088NAAAOAo8mqBJn
+Tjue5XxWh829GR/aFeQ04oLGo8ni+VSRr0ka5vZWNjNCtSsHRoSgeYz+t3xMUk8HzepXlr/G38Jr
+yRBEssWlKG+m2fl7w+e6eFBUei9Z2rfmMfLkZBrKsRiZm+kadi/J6GeX5YnU2cOJ/E0AAJAKHk0A
+MS9rFiN+vIgMWWFzWvHCIjh5PJqe6nXI1/TWtnW1uVl7b8d/uybN/Z71S+mqckPYd7LJFJSikn1n
+5mi6g/4fimOsfkaZ83p2exavpQhPJu0fJmbHzvBs0j4L75zzVQ8nAACAcBCaoDvd8jNFLJldFTaX
+vcrc7AVas+y9pa5muzdf09O2MWpC5yTfJff8EvwbwmcwFH1Ea8xqt0UIHhrvp4hk31LhRSMqZRGd
+w2nl74Zl8YaMsDnv788VPIY04zNabIpMFG6pH71/dbunnhcAAGwMQhOA3WBZ1bZVvLL8dTsr6bdW
+fIr0avp1vtLQuV/GYvSqc2PIQ/jGiPdo0j6nKOO1Ysx5BJC7sCzbm0m7v+b+eEWzE+Z27fE8uZgk
+9b0huNlik+YaTxGcvva+AwAAHwOhCSD+pcwa6lAdNvcmaMxetj0ryT3Vi/CAysjXpPnsCZ2Tfh7K
+65vdx6GoG5Xo22rgWA0hjYdS5kpymWF0HlHodtzTzmFwV2Kfkrbr8WqKSgY+21YpNnm9mzT1rPWj
+969q8+TzAgCAzUBoghO4PngOUWFzT9+j8jL9qqMVQry5nyLyNWk+P/2/crU5j2fYUPQPz3er0JG1
+fVZXKhpZw+iyvJq89/tOeFYd5ucr+H/teVgFpsh8fMNYx5NHyiN2IDid/V4FAAAbg9AEvKDoXn69
+7V0J5+gNm7MYEF5vppkYot1Pcx7afE2az2PIknxLcj3NPKy0+Zksxs/sWUf0M4vR7RVLJNutIlBU
+mWZbhDdTpEAVtWJd9O/Nqj8ISL2aokPoon4HJO1bfysinpfltxnBac9zAgCATUBogtOx5ovINkqy
+RKsqTyaNoRCRJyjLq+nXdVgFp6fjSL2YhuCzRly6lP8sBsc1csQlKxneNtnikjWMTlOnY7Lwjr8L
+Ue16E3DP5nLNXB/haaj5rdDe71XeTRFCypcEJwAAABUITfBFYyDz3LLyM1mNkgijQio2WHP+XIFt
+zOq8nbM3V1On/EyXsU9LwyCHoV9JDegsEURTFhHulhFGZw2nm7Xn/T/quVT/XlSGy2ULTNFik/W3
+wuLBFLnyHIJT3jsPghMAAIhBaAKoM3BOCJuTvHBaxSNJG5HJwt+uyevVNMa6/EzSe+hJGK4VmzoY
+KNqQNem+2V5NUUnC7yb3P/s8Vve1CK+m3XI0aX8/PGLGFwWnHd93AADg4yA0we7suEzwCWFzEqHD
+InxEtDWr+3b+ku9vn635mWafNasDeu+j1ICKWG3OKlZYyiIEkSxxKXPbrG6WILVa4LqKjxPh1RQh
+MHnFpihvpzFyV5/7kuCEdxMAAGwHQhOAzCi5Eo9pCcfQGiKS7xIRQyNYXI774hGkLF5N3rC5MXz5
+mbQJwYfjfniMCM/qUhYjOUrssJRZt3lzL2Vsi0joXRFOlzm3X0H7e4Ulab+/AseR5nfBUyfLOzZC
+9EBwqn9vAgCAD4PQBCdTnQg8Y5U5rXGiNRg8+Zg0L8ZRnkyStofivLVeTd4Quqdn6MnPpL0fHi+m
+MeYeDbsYH9WiT9VxNKvUfTGJd0TepVmb0jqeHEza+rNtmXmbJPfG6wWs/U2y/NZ4+typghPeTQAA
+8BOEJuhoCOx0jVeT+5oRNifd5vVgemtvlzxNFiPWu+LcSLr30j7g9WSKRiOwRO7XVVyyiEm7eSmt
+Pn5FEnBPPrRZvawV6DyesR5Bw/JHkEpRJUNwYkwCAEBLEJqgK9dh534ltVURNqd5Qc70YNIca1b3
+V/lTmSRPU9WKc2PYvJosQp2nL2aPcWuo21sdi0eQp80uXk2W+95FiLqK2o8Sli5hmWW8Rf0WRK9A
+1zmcTlvXs09Wv8W7CQAAWoLQBNDTMLoKju31Yop6KbX8s7Q9u45ZGF1k2JwmfG4Ir8Ozsp+0H2g8
+ElaH093OOhrRRrpfR6+mSPFolQB1Jf2vOaZ0Hs9KCG6tJ/1t8HoyWX9rPKJGZ8EJ7yYAADgahCbY
+mauonSuhXU+CWctnjUGhfdHP8FbSiCSr8zR5jF2JV4PGo+nt/kjvZ/b4iOwflnCwjDpWsWcHr6YI
+0WiXHFCauVpS11Km2T6b06UraI6R78nkDdG2/k5J61jqRsxpkb+Z3bybAADgwyA0AehekDwJxle8
+sHlWC/K+eGf88xz/aftbeUTYnGT7GPKQOe21PtXTPG/Nd4snk3f83Ia6lcJT19XpNHUsdT3PafX8
+7/VqqvRmukZMniZPUnBvOJ1nm/R3KlNw6pS/qYvgRCgdAMCHQWiCU6kQhLKN6Kz8TBYDQCNUVLy4
+ej2aNGFpms/DUE9iQFq8mjT3UtL/Lme/rugzFhHEs1qbt51f27T1uwhPlufU4TfC4qkUkYepuzdT
+1G9IdJ6mLwhO1e8oq97HAADgYBCaAPq9bF1Fx65M/F0dYqdNED4r+3VvZmFzlnqSJcg9ScC1xlEH
+T6aIkK07aZ8TvJqixKTu3kpZ+ZcyvJk8K1JGeTNJvZ1WJQY/WXA61bsJAAA+BEITQP3LVJf8TJJj
+VqzqVBVaJxFqnsquoQubk5ZZDEDJ9Vjuwdt98BgMnQwMS7JqTbLs3byarOc+nHUsdbX9LcpTaQjq
+RHszWecJbT3rd284HYJT/r4d52FC6QAAPgRCE8A+RnLEue8aMqd9kbV4Mz2VWzyaogxNbyLwYazX
+MSdTpseMZ7W03byapPe0UnCKmOeuwroV3kxv80VEWF2EN5Pn9+WLgtPq9xC8mwAAoAyEJuj48nBt
+eM4V9+Iy1OkaMledJNyTGPzNuLPkXtImAteGzEmvW9tPungyRayCZj1WZSJxbX2PuJQpOGXNrVFG
+vjX/0hCM+4jcS5qFCcao9WbK9GTaSXCqEHpO9G4CAICDQWiCXVkhEFWuOJedEHR1yFzG/bImBp9d
+u8Xz4FIYsxah0PqMLOGD2ntRPW7vpP89x/bWsdQfSWWZ21b8TmSEyUnnWq/YpPlsDc2tWIku6g8g
+XQSnHcPpOvzOIzYBABwMQhNA7gtShBeI1tskIj9TlxfRqGflyc/097sm0ffb/1pDURviaH2+J+Vk
+8uARpFZ5NWWWSbatnnO1IpBmvwhvJss8MJzzhmSb9LvFm8kz72Zvk/7OdRWcKt9lVr9LAQDAZiA0
+wZe4Gh/7WnQO2lw+3gTUHcLptPmZNCEtmv81YXOSe6q5Vkm/GEoj96vGRCevpkrBaQTU9/Yd7UIK
+kv0qw+RWC0yV3kwRK9RlbdP+Fo6get758RTvJpKEAwAcCEITnMi1wbl5DSSNGDCE5RbPlYj8Sdkv
+r56k4BbDL8KjyWKAae6HpN0sb7wK7qL/NeegrePxalrt9dRpjpX2R0+Y3Eqxqcq7KcqbKSLMLmub
+dI7NEJzwbkJsAgA4CoQmgHNfkiw5pbr9ZTEzKbjk2rPC57TGo9RrSevVNesbXk+mau5Fx1vt1fRU
+tkpIuhPnrzHyRCSrN5OmPalXpHT+kcwf1m2Z3kynCE7R7wbe/Hu7v8cgNgEAHAJCE0C/Fx6Py73U
+K6VDfqYMb6iMhODR4XNv+1nC5qT3I8Jgz2rDy+3YpzJZuLZOVFmUuLTas0mbf+4KbiNTbNLMC0+f
+VyYH7y44WX/rdgyni/pt/tq7FwAABILQBFBj+Kx88fKslrcih1LWc9KG0GWEz0kMzzHiw+a0xpv2
+ulcZCNGiz3C0F+3VFFWWsU+H+TPSq+lpXA7D+NUIy8PxOcO76WTByePBtFs43QneTYhNAACbg9AE
+X8abk2bVi5XFi+lyHnPlPckQsmai01AaeBFeEm/GXKewuQ796E6q+3cfjzfTUOwrDZnL9GaK3J45
+N0Z7NUWHyWm3Wz9L5ybpHDME+0rqV5XNBBWP4KSdO7V1tHPmau+m7u9EAADQEIQmgBhDZ4eXpMhE
+4BnnFu315BFerOFzT4aZxviUPq9VYXPW0DpNIvwILAm7b2XbFkFKU+epbIV4dDeas7R9ODu/kme7
+9XOE+GT1fpLsX1U2RrzgVJW/aRfvppXvCIhNAACbgtAE3bg+eE1XwP2IyM20Mi9T1XOwJAOvXnHu
+7Tyil8G2hs1pjfoo7sI6keeblaMpY/uK+6SdJyNyL2m2r/RcWuHRJK1rrZNRNvsNWyE4ZYXTrXq3
+Wik2ITgBAGwGQhNAvSFlNcSjVv3yesIMxf6ZHkpZ4XNR4os2GfhQGFSze6J9YV+ZADzKgPAKTHfw
+/5JjSM+x0htpheeSZ67zCkzdPZeePmd6NEXkZ/qa4BQhlFR4N0WOzZXzAgAANAehCXYWbHhBsV+z
+9oW2Msl3ZLve8DmroSoxeLVLif+6pmGsYzHENdfYjdu4LeKYnbyZrHW7GIwZ3kiauis8lzp7NO0u
+OA3DPt6E4dLfrMx3IULpAAAgHYQmgJ4vPxVi2tXo3lWF0WkFmNlf/Z8MUWueppkhFWlYZITNreBO
+2Pa3zineTB09m6wC5zD21d08l54+d/Jo6iY4ZXo+zfpjZDidZ36v+P1HbAIAgEcQmgD641kxrttq
+YX+NgStg/+rQuZnRqUl+LTlOVKhj1MqDV3E/txAlMHmP39WbSbtfh3C68TLmJOMrWmxa/fnXuUmE
+ogrByStKecsi6krmzWzBaRfvJgAAgP8HhCb4iihzyvlH5SupvmeRwlLGvlJxSRsylx06p/V8kuRo
+8uQCq1xh7k6o3yGMTnM+0YJS5fzm+VxxnC6eS7/GboSotDpnU6XgpJkHV+RvinqvWeXddC2eSwAA
+oCEITcCPPnheUGftZYpD3vOS9GOpADQTVFaEzs1W2IsY41ohKXueuBP2y0wKLt22S+6lIejfme1H
+f77G+V5MGYJTdNhdRllkuWeb9Pe3wrtpt3dA3jsBABqD0ARgf4G5mp6nR1hY4XU0RoywFCXE7BY6
+F9VPTksALhFbKpKEa0PkpMfvnntJ0hf5/PuzRXzqIDh5BKaTBCfrO8Nq7ybEJgAACAOhCaDHS4/G
+mK9YRr5ipbkoj6c3o0ebr0kqxEifXUbo3DA+C+0xMl/qr4JjWMWWe8Gx74DzfqvbSVyy7NNZ6Mn0
+XNpFcIoUmCRtZpRZy4ei/mybZLu0jmeOr/yDz8r3LgAASAShCWCPF5pr8/N/MyI0+1zJx5bmZXr6
+LA2d0xxTe+8s4YGaz8NwjSvIzOHkCZt7O543T9OdfI+i5hppP+u0elvm8XYXnDK+W+t4y2blGmEl
+M7eTZq79QigdYhMAQDMQmgB0RlH0S09VWNTqF7LI/EKR56NZrUj6WRI6p/WOuoLvuydsbrxcl2b7
+Cu6G+2UnAd9hHs0Um6LyHnX1VnrzMEJw6r1ynWRblHfTF0LpEJsAABqB0ATwTTquNLciT9PMcNAa
+vNp7782FpDEyvH3AKxx1zfVUmacps4274VwStc0jMEnrRXg0dRGcJPUit2V+33HlOu1c3dm7KeI3
++bR3GwAAEIDQBAgta45T4XF0LboHVu8l63GkeZoihBCpMKT1atIkAZ9dr+Y+Ry8r35UuIWWe1eY0
+7d0JYzqirmY8WftqRL3O3krSfU4JsYvaRzIHavfV1vX89ku9m7Lef3YSmwAAoAEITQA1RIcReZM6
+Z7wAVrjmZ69sp00Krk36bTGwtdetzdEU2a93Wa0xQoyJzs9Udd7V849VQNLU1dSL8GiqDnWLFpKu
+sY/HU8XKdVmeTNYwO+/KdR1D6a6F8xMAACwAoQlgH7p4IEW9sFaG1HnFmIhk2FUhbp5jaj22rPei
+q2EQKRJVJgTvPldViU0er5vZfleDetfomatJszKdVJDK9ooaozZ/k3be6+rdhNgEAAAiEJoA9jLY
+MvevDHnLbD/qfDw5mizeTFfS9Vu9tLJf2r9iCNybnve18Lu2rkVEGmN9LqTu9Sq9mjIEpuzE4m/z
+ZXYS8Yjt1rkYsQkAAKYgNAHwMvP04jv7FyF4eOppztt6zChBxpKjKfo6PV5aFXW6j6s7cf97nIlX
+bJIKSBFtrciF1F20qti24vtTf6lKIj6U5VWhdFXzM2ITAMAHQGgCONeo2/HcsnI2WcUYj5CyIkeT
+JyRQmgD8mrTlNYpg3biM/p59jExBolKMugYeTx2+v5VJ5/zocDzpnBwxt1q8mk98XwEAgAAQmgAx
+Zd9r2yX/TfQLrjdnk0SM8azO1iVH0xXU3tW0f1b161O9jbLGd5TY1EWAsOQf0rS5q8g0irat+G6t
+o53HV3g3Rc+tO4hNiFoAAAtAaAKA1S94VS+12vak27RtrMjRZDmHzLA5Xvz7jMkKryVpu50FKI03
+TpVnUPd6O3g8eftgRtls/u8WSofYBAAA/w8ITbAbeBfsa9B6Xv4yE4NHvnhrwsqsOZr+GmQRYRMd
+wua85wZ59ylTbIrwJLF+966M5hFOTheZRtE26/eIPjiSy2blVs+n6N9n7280YhMAwIH8D24BAIYn
+524ynrMEkIgViO6H7ffL9/Gyj6TuULb9t97T56h7en98/N+O7546I6jMUufvmPg1Ri7F91l70rrD
+sC2znvRaouvN2hiKbdLvt7J/efukt2w2f1m3aX8Dsufar8/RAADHgdAEcJ5Buct5XMnXY/kLqzbM
+y+L987fschx/dmyNWKAVeqx1djModjnfCnHOIja9lVmMb41YpKkT9T2qbqUAJdknQ4wagjY0gl+E
+wBQhQEWMDcl4kYx9xKa9f38AALaF0DkAyHiRq6rza59ZmIz3uDOPI8327FXYMpKBR4XNXYWfvzjW
+MnIvafbz5KKxlknG/1sd7XdNWNmv75ZtmfUi96+oN0ZMUveI72PE526y/P4M4RjL/j3uHEZHCB0A
+QAF4NAGcJ+J87To1QpI1p5E0hC7ymqPb1Xoyef8q3d2bSXt+meeu8TrIPEerx8WbB90IrvvmrSQt
+i/Bq+luW5QW1yrNJsn9V+J3H++nX+BnDFm4n6fuR3k2asfJWLp3fhmAeGoo5prP3EJ5NAADJIDQB
+fIcufym8mlxT5l9oZ15Af8s0ItM1MQilL9YWgemviBQRPhf1ubtxkXVsjfAUHfrmMYCfcopJRSNN
+XU2uppkY8rTPUO7vzdk0JvNAVM4mqWCkbdd6zBFQb4yafE7WPE1SAVxbLpmHMkLpEIEAAD4IQhNE
+YfkrKXCfPYLOFXSsiOTbnn2kdTT7Rnm8SAUliQBVaZxoxKhszyZtW16BTXu9VcJSVHmm6DQTQyT7
+ePM9DcO2aAHK87uUKTJ5BKcMgSkiv9PTmJTsZym3zonWeZB8TQAAHwWhCeA7nCRSXUXtefNmSI6X
+kadJGuKQvepbJ2+maAPjSVyzrtSXZTBFJ/UehvIx9GLRL4PdUu4t0wpTQ7F/lOg0BAKOZZ+Mz9Ht
+/poXpPtI2pjVtX4fI0aAehv/iE09jgEA8EkQmgCgUvy5io6zst1r8v/bMaPzNEV4FkkFle7eTNGe
+TZnPJdqryeNF8WTYvpVH7/N0XpJyiTBk8WyS1rGyizeT9joqRK1fY+WtnmTbW5uW75oxmCECW+dE
+q1DTWWwCAIAEEJrgq1QZBDtf1wquDc7Jmwjc6z1lPV5VMvAsMaXK4yrT2MkUs7LzMVmM2PHQ90bg
+tipvJ2+I3Ve9mSqP5Q2h826L+P5UZ4ycULqIcOvdxSbELACABBCaAPpAnqv1XIv2jTpWVjLwk7yZ
+PH/FjzSUMryaIhMSj2HzSppt1+ybLTxlejtl/Rbs6s3U8fMYecLUGDpxaoy+oXQdxKaK31TEJgCA
+QBCaABB5drqHXVbOk7YRveqcNJ9TRSJrj7DSLU+TNSF4lPAWmW+q0pNpDJ030xg6UWqMGuHJK0bN
+5sJqbybLnJ3tzVR1zIpQuwjvpopQumqxKfN3BSEIAGAzEJoAEIFA9pL79P1ytCOtY002HpkMvKM3
+k/ZaPHmaskMJPddR5ck02xax/emcfm3XbNOISU/lVuEpaq7OFJ0yf3O6iE9eUWlFInFrnbf5Lkts
+0syRHcUmxCwAgEAQmgBBpabNvwZ512sF/4uqtl7GqnNWoyUyebhHPMn2bKr0Zor0avKITW9lb+KO
+x5tptr+1ToRn09sc6hGUIr2ZMn8nOnkzjYLzy1q5ziIoRYTSabydhnGOs4gxiE0AAPC/QGgCyBV3
+EIPW34/rz79IwSjjXKPPQ5NIViqGRIgpWaFxFi8t6fVmGDHa89KKTWPkryT3tP1N4Imso/UA0opP
+GkGK+bef+BQVTpeZOFwqLkXmbbKuSBcpNgEAwKEgNAFCRO/r1NyPDsZQt+cXEYZm3U+Spyny+rTC
+kUbo8SR6tQpOw7CPVbzSnkOFV1OU2PRmxM4EnegwuNlYuoPraOdD7/z1hd+vld5MmnOwiEwaj6aV
+q9aNURNKVyE24dUEAHAoCE1wskiz8hie/U/563nGfYu6B9FtXAltaBOCS0SniBfoqoTXK8LtPCKb
+9r55rlVivI5RHyY3a8NSV9qeJ6+TZd61JAX/2m9uhqCUKTJZPZq8ApNWfLLWeZuHEZtq2wcAOB6E
+JoA9X+C55nyyPJ8uRxva0L+Z4RDp1fSr3ltZ1meJ4WDJ0ZThzeS9Tov3g6TcKgJJhSBNXalQ5RGo
+I/Pwff13TOOBJL2PFq+m7NC6KO8mjafiGHkrTFrKJXNvptgEAACNQWgCxI3YNlfkwOhm/JxscF2b
+HTtagHkTSiTHrhCZrGFyUqFsOJ5D1D0ZQ+fNVJl/SVtXcuynuhKPIkl7UV5OYPud8Kzw5w2zs65U
+5/Vusng6zeY7yZw3+23YSWzCqwkAoDEITQDnvbTvfj5V4XOruQSfpQa15DhS48SSFPvNi6fKq0lT
+T7t9dp27eDNF518awy8qSfr3bRgLXwpt6zjHW/4QoxWXIkSkTE+n2XgegWN9tdi08ncUsQkAoCEI
+TQD7CzNcr/44GbmeLmE9zzEiX5ijV57T7h/5WbtPpVdTtPg2Rr430xgyj6ZZ/7wd/fk2joFbuI9V
+0Eac8s/rUd5MlvY8IlPUvDWc9SzfNWWR5VrBpmO+JgAAMIDQBLDHS7vFuNGuWBcteHTxTHpbSSib
+y3kPLfmeNC/73rxFb4JKlVeTdR/rNVu8mSLuyczofBJZnoSXW9mPLsP8YRGIrGPFKnRA3e+Ytp7U
+m+ntNzNSZLKsXmcRmKwrTEauUGcRcE7N14SQBQBgAKEJVrxQQux99oapSY06TV3vuWWIVJbzz3xx
+nX2W7v+0Tepl5PHu6eDVNIY/ubn3ujPFpjF0+VskZWPUhcpJ9h8Bc5hmHiOkru87g8ebSVIWJTLN
+5o5f7UfPa5Lv1jpW4SVKbOomBiE2AQAoQWgCXnJ7tVXZjkcEGgXnuXOupiupjcuwf8VfqsdEkJGK
+KlWCU6XIZBWbxrCFz/3tJxKPpqe+5c2nlDU27uD2VhqnUQb+zr+3kd5MM6HoV/sWkalrAvG3OaEi
+tE7ST6PHBWIQAEBDEJoA9hAuOl5rdi4UiDHQJYaCJdysY64miaG2QmTSHGcMX36mMWweTdI6T3Wz
+hZ8IcSlzrokKC7LkUrOM7RN+q6ziVbTINPNoyvDMnLUh6UsrxabIMVX5G4yQBQAgBKEJEFH0bXYS
+RrJzN0W11ymErqt4dBUcxyP27ODV9JaPK0pk0hol3pA5TwLwX/WexJsx8sLlNONdMlZW/i5keANa
+vZo8ItIqo9krHHk9nSJEJq2w9LZ9jPzVJ1eJTRH9b5d+DQAAf0Bogq8IRR2u5+1l+O0eaEUuTzha
+5jOL/Mv0yf3ll1GdtfKc1nC1ePB4j131WSoyebyXvPlcJIKTRHTSCkuXc26w9vsdx20Xr6aM8171
+m2n9zdDWkYpMXo8mr8C0i9h0Yr4mhCwAACEITbC7eLPzMaoFkg7XkyWCZXuxrTZeLdtnoU3SlY1m
+L9eSbau8mlaJTLN9xoj3aHoqeyt/6isrV6vsMPdFG8grvJqsnk/eRNEZz8TqzTQmYlGUyCQRlirD
+hE8TmxB3AAAQmgBaUy1GrBB2no5ZJZpkrex2+kpRV8I+2tXnpAbtk9eSxqupg7CkMS4tIpM17GYM
+nUfTrOxNeJr1pYrE3qexk1eTp82o84kO//Z4EEeJTN5V66SfNdss3zVl2X2lUwgdwhcAgACEJoD1
+dPKcikrwmxEmVyk2ZTyTSykQRRn40tXnshKCS7x9oj7Pwk0tq8DNDM9VHk2asjFkybQjQ+Z2FH88
+QlDEOVR5NUmP3d2g9ohJt2Gsj+ETp0fCPOgVmyJFlOx8TZ0EIcQmAIAJCE0AvYUjTX4mjYfTk4Ep
+MUCvgPuQLTZ1MpKvYEFp5epz3oTgUUKRVECSHqezR9Ovfh8VNneqsFRlTHoTJK/yaurgyeQRjbRi
+UlQbFZ5Pmjl5DH8OJ4nASAgdAACoQWgC6IMlZ0VEHa2BqdlnldikvZ/Rx840fCP2j1h9zvr/TPAZ
+4wyPJqkROvs8Rl7YnHV8rOzD1eJKpNhkNeolx+7gyRQpBEQIT8M4dqW5oLwCs3U+HMOfMDyiX0aL
+TRl9DK8mAACEJvigWNLxfLslpM46doTXj7SNmUdFttg0As5zdyFJa1hIDVXP6nMVApK0PY/xmCky
+XZO5SiI6WcfrKqGo4+9HttikOfYqb6TVRrVFHMo6ZvQ27bw3Rn6I3Sjqzwg3AACHgtAEYBNzMkUl
+TwhcpEijOZbUgF0hNv0yoC/D+Vcb1pex3tP1PdWRGCJWAWkI9o/0dMryaNKITVJDU/N5DNtqc5L+
+3TF87kpsN0to8YhNnu/ePGsRQkIngSDC6zIyh1NUzraMVQYzk4NnesXh1QQAgNAEECq2VO5f9fIb
+cW3RIXeZgtNtMIZnYpPFMI3KOVXVz6LyPEkMYWsi8CGsZxGWOng0aUM2o0Smy9gHpbmZunqgXsnt
+dguj8yZx9lzDCQJTh9/yqJxtVatwZve7r4TQAQDADxCa4IQXvtXH8HjdZHgeWTyHou/ZGLFeSp77
+eCqXcR+r2BSZr0nS7hi5Hk0escnjBWH5/PT9Vz+ICJ/buY9r265ajS5abKr0atrFaM/2ZvKG1Q7H
+nNhJbMrO17SbKISIBQCA0ATQVpDISFy9+rqjQ+KkIUDXAf3mcm63GNhasWkYRacx9OEjER5N1WLT
+U//xhs6Nl2OcIjCNwvOVhJlqRapMsSnLMN5RYMrMz+Q5j6iwO+nc5v0c8T26f+wWQgcAAH9AaAKo
+F1k8bVk8eyyJs6OMQKvxm+UltqNRfRnue5Sxaf1LfMRf9C1GVqQXk8aA1K5SZfn81L8rBKZVCcKv
+hWPwVtT3enJUeTJpxYFZeOwOv6+rvJwi8jfNyiTP963/eUVOr5fcSSF0iFgAAAhNAJ8RqKTtefMc
+eT2qopOERxrYmvPrIHBJEz6/GcpWsWk4BakxYjyaosUmS1+J9mp66tNW778sIekq6s/dRKc3L8Fh
+NMZXhs1pjGbLypPdf0s7hdZpxSatoKQRlzxeTF8IoQMAAIQmALNg0Mmbxit0RHs7eAQtT0LjTMGp
+m3eUNSm4JyG4VGyS/vU7Ozn46vxMM+GpIgm41oPxKuijuwlNEsFIIzhJRKhOq81Jx/FI3k/btzV1
+NAn/s0WmKLEpevU5SygnIXQAAIDQBCUCyKnnkeH1YDEsteeXla9FIzhVhtJZjOouOW2uoDoWY/hX
+jqCoZOBej6ZssUlrXErHtyZELktkqujbV5M2Mq/LElIkHXeRYtMwlmV7JkW3ly1Cec/LK0xJxCRP
+H7EKUd7+FtUXOohHCFgAAAhNsAk7CVaeOpbrlKxItWrlOa+nkTWUTisivRmOV2Df1N7zrLoSwWnm
+ZZEpNmmFpUixSSISaYxJjVD0NnYjRaZK8fRavP8YNu/OSNFJE06XITYNwZj1GskRIlSFca7xVIoQ
+i6JX5MzK4xTpybRbCB2iEAAAQhNAuBhVLWB5VoaLvL6opODavC9X4LlKVp6zGpge4agiX1NmUnCN
+4ZslNo2gMsl2jUCUETJnnSs8ItPKxNpVIlP0MSNWocvwZLIKTFKRyJp3aUVepsjVTS1j+zSxaTj6
+XKaYs8uqiAhYAAAITQBtBCav0RjpcTWGLgxNYuBZxSFPKF2kELMbluf3ZFSMoVvxbRexKdKbaSja
+ln7WjPOuqzBejfextm3N0fS0TTLmxohZVUwjLEUb3dXGd2RY+irRaYw1YlNkSJ2mbIVIgygEAJAI
+QhNAL+PMez4Wr6gIYSYiXE4rKkV7N+3ULy6Hwf0W8mMJnRujr9gkGRfR3kwRfcUz3rv016tZ/ehr
+uh1jTBOu6hULsryZPCvUrTD6M+aFbNHJIjYNZ9/Q9D+p2KR53t4+0iExOAIWAABCE4DJILPmUMk4
+J4+hmeH5k5mfSbvPGLEra2XmvZoJR1eQyDQEwpLX0O0kNu3qzWQ1kr8gMnVbiU4qOnnEpSixKdOb
+SdNOliFuyZHWXXSaiU1v99+TLD5SFPxiCB0AAEITtwAaCDdfOA/pC6jnejShNtkGmzc/k1ZU0ghc
+2mvX3i9Nn+uyOpfEGN5NbLIakFpjMXreyRaYKwWYTgJThMempG2Nce4JnevuzbQqbC5ivHUTnYax
+jlZgsuZk2j2EDgAAEJrgg0TlH1p9Hhmhb5bjrUiEPobNqyrau0krOnnEspWi0VBcm1Rw+mX4/hJ5
+VopNI6i+dcU5TT2vN9Pq+XAHkSlzXHrC5sZYEzq32pvJKz5kCUhRolN2IvG3++1JBm8VlE4KoSN8
+DgAAoQmgVDja6fyivCCyjMzKhOAWD6QK0SfivkpXnrsUbUoSF0s8K2YGV7TYNBTbKuaAiDDaLsJ6
+9Pi31u2at8mbq0nqQTgbc1rBoIM3UxcD3JPXbdaOZi7LFJ2qV6VDfAEAgP8fhCaAupfZ7Bdjq8Eb
+FUrXLSF4doig5D5bn/9lrOM9Vnauptm9tBhob+1Yt2WGzZ3ozXQV9O0Mccm6QuNbG1pvwTG+6c1U
+KUBYczC+jVmpULUyrG6MGG8ma3hdZgjdDl5NAAAITQCgFgk0xmL2C7I1OXmWEJMlOHkTgl/Fz6Va
+BFiVq2lmiEWFl7zdU28epux+0N2DsqrfXYV1IsaGNvT0bd7SjjHrmJsZ8128mVaJT5oQVsv2bh5O
+szKt+KPdtjqEbvXciHgFAJ8FoQm+KCCtPmZmQnBp3aq8VjMjLzLPlDQflFeU6eA1Ig2hsxrM18t9
+vYc8lM5iUFnHileYih7vJ4tLlnF0JW+PEpcsbWtXnXsqt3qLSMUFiRhkMaSjvJmiDXPvKpKSsW3N
+65QVbjy791HeTp7nVinA4NUEALAIhCY4ReDpkhA8Yn9rQnDNqnPRuZq8+ZnGqPFuGg/GnfT5za6j
+Kpl31L6W1bK0Hk0eQ0oyTrzCUuQ5fYkqkWl1GN1t3FciLP0ql3ozPRn70pCqMamz0psp43da4slk
+FZisixhk5raTejNpBKaoROGaMs1xu86TiFcAgNAE0JQsAy+j3UjPhowl0rNCzCJWcbPmaPKGBd5C
+8aVbqNzbeUXkhfImKtauRKcVfjLFJ+tzXS1GVRg13byYsj2drALUZZhfJIKuRAjQjD2J6KQVlaT9
+sUp8ivxdzwink86RkR5OlnA6zTOLDqFD7AEA2AyEJoD+WP/6miHKSM/3zUizCk5W7ybttVm9napC
+da7J+XlXnHur9yY4Wf+S77mH3cLlVvSNKqMqWtC5kvb1nre33Vsx3jQC7hjxCcClIXTW3EBacUJz
+nRW/pR28nbI8nDTPx+rJFDlXVXk1IUoBAASB0ATwbhR6EoJHhf9EGMC3UqCJvJ9WESjSiynzWjuF
+VF3OcumKWVKPplkf9xpPlcLSTkQbXpH1r4RtnvPV7KMNo1vhzWQVhqJyAEn74C7eTJrf1t3EpujV
+6Wb1vCF0XebEnY4NALAMhCb4qoDUtR2LsOVJTOo1qqRGmlUEylqBbhQ/x6h+o00I7hUJNB4YsxWw
+NCsxWZ5BZB4mS66obkZLRKLnXQSmrnmcvN5MVoFJIiRJRKe3fqX1opL2yUqj3OMtbPWCihCbrHNG
+VMJwzXO1htBp+wZeTQAAzUBoAsSk2vOoDrexiExa75/bYJBlC07SFe88xmd3T6ZoYWuWs2kmLI0R
+s9LcCq+mXb2jrokQEtFnvELQZWw308PJew9u5ViyrDwXITZFhsxpDHWrSLFq7EaH3EmF+ah8Tm/P
+dFZmEXoiQugsicEtxwEAgCQQmmAX8WenhOCRx7G66kv21Qg9lvMeI0dwiigfL4ZhpjiVZdhGGPZS
+Q/lJcLIYWVHC0KnhclHG1rWgD1r7YUUC8Yh7cyvajPBmsoyzN4EhS6zwiA8VHiuecPhheA6z56Px
+aMp6jpoyi6AU6dVk7T8r28q8ZgCAtiA0AcxfRCNeTDNfjqX1q5KBa4SZCi+mCA8trUgT6U2kNayz
+Q+hmScI9YSNDYGxFhNudwCrDJUtgetvW0btJE0an8Qycfa/Iz/TW36yrlQ1l3ar+bf19r/JyylyZ
+bgx/2GNEPxijzqsJAACKQGgCWP8SawkJkn4ekzKNeOI13lZ7MVUlP5/de6s4IhGQOoTQefrjl7yS
+pHU7GOPSflQpMEXnbpLsdxv2nXkzzcaR1Jj35mf6Vabd3+P5UpXnJ+I3O+K3WRs+J3lnWOGpJn2m
+1j4QvZIdIhUAQBEITYDoU9/OTnmaJAabJBGuVPCp8GLKCn/LSPjt2e8KOoZk5SxtkvCKFel28IKK
+MHqyDaedBKbspODeefBNXJoJKtn5mSJDrrzi02oxwOLJpBWVJJ8t+Zssc0fWM5491+75lgifAwBw
+gNAEpwk8lmNlGJ7Wld4sbX0pT1N02FyU6FQpXlgN/ygBy+uJIfF0qrifXT2nrMmVR4JR5K1zJZdH
+nWfW/YryZrIIFBJhIjuJdISwlOHNpPUy1Xg5WUSlt/kxM3/T7PkO5XO01vfOfwg+AAANQWgC8Bul
+XROKn5KnqSopuFV0WtU3LsFnjyCg8dCIMo61Xk0rxlW0kWNNqPv2bO6APuWpt1pgqkoIbhkrT88p
+Iz/Tm5AQKT5EGvpdRACrJ5Nm3htDLhKOUZ8kPDrZu2f+i+pfAABQBEITQKzxafEgIk/T+7YVScGl
+4liEkRr9gu014Gd1JMZxRD/VeDCu9E7y5p/R1NcYcxX9azj72ymeTV5vpifh4c2Yj0wG/rYtwoPp
+TZDwejNlrkZn9WSazXlj9E8SLr3nUTm6huE5Ez4HAIDQBLC9gBTdDnma5gZahLAU4b11K64r04iP
+MO6zEoN7VqKbCUa38lntkH/Ju+LSKDZWdhWYrsSxeBvGiaS8ImTuqT+uFpkqjXDrb+JMXHp7dtHP
+dYy4fE3j5RhD8Cw9c+MKryYEHwCAZBCaAPIMVPI0+fM0ecutK911e/7Xw/9Phm1WYnCJ0Rzp1WS9
+d6sEp+iQoFl7Y6xNBB4lDO3o2WQV6S0hdJaQuUjvlhUik1WMjRYQNJ5LQzC/SXM1/b3vY9SE0v26
+l9YQOqsnm+Y57ujVBACA0ATQUMjJSgjuPTZ5mmzixOzYu65CV7UCXXVicOm99fz13tp/V45Lq1Ak
+MbyqE4F7hJquAtMVdE9u5xiRikseIUeSOHp16NRKT6aI38yZJ9Ovue1tPpzNldoQyRUhdNHzYYTg
+09WrCeEKAD4BQhNAvJF6ap6mqNwwq8PmpJ4IV0G/yRCkrJ5N2uc3HoyrmcG1QnDKMAwylm335Ga6
+Cu5B5LYdPZusIXWe/EySsaIRIqpXmIvwVPKKHFmLR1gEqYhQujF03meeOS9SfMwSghBuAAAagtAE
+CEjr2tktT5PXyBpCkehtm0ZY8iYFt4hOHbzeNEbyFdSO1qspsr+u9HLUGGzSbZ1yM3nEnBUCU4SQ
+Gn2/vPmZJEb8k/D0JBqsSAIu+d5ZNJD+xmjyNo1hC6UbhufkER4jn1e1V1PFPA4AAD9AaALINUbJ
+02QPm3s7xwhhKWMVuqj+IzHgNXmaIj2bZmKi1PjyeDNVjd8MY8hrbFcJTt0EpiyvpshxKx0bT8+x
+YsW5X/2ss8iULUZF/cZo8zaNEbcq3RixicIzQyq182mUZ1Y3AQnhCgCOB6EJdhdyqo9FnqYYQ6xT
+2JzlfmYZqhZj+JfwpBWZroDzkHo1aYyo1XOJxkiJNqZ2ys2kFYJWhdNlj9VrMldkr9j4JhKsSgIu
++W4dA9nGu1aE8gruT3NllHfTEPaRt3vb1asJ4QYAoBkITbAjOwhWp+VpsqyWJRFruoTNrViBrsLY
+nYlMVqM82qsp8h5m3etsY+p6ESZux1jLEFAkx84QmDK9mrz3UuPN9PRsu6w4N2tX+lnyXSscZAgK
+lj8gWUN7JeL7EP62j5EfQueZx6KE+C4gZgEAKEBogq9CniaZwGIVYKReP1bBKdPrqcp4rzB+n9qp
+9Gp66nfWULrocWExHiKMqe75mSJD56oFpqtwXEnmtzH0IXTVK8796oc7iUyZIoDm90JTpvFm+3Wv
+x7CJTNY5UurVVBFerGmza/gcAMDRIDQB5Ag6EmFkdZ6mqhxNkja12zK9nqKvP6NPXZP/pZ8l16jJ
+12RNlnstvp9ZhofV8B5jjeBk7QsR5ZleTZaxrFkAQNJG1opzErHB4sH0BU8mzbyi9XqS/OZIVul8
+6wtj1CQIl85xEQJU9Ry9EgQuADgahCY4GfI06Y37Co8ej+BUvQqdZeW5zP5gSW4sFZwijfEdPZu0
+hlSUwW3xYpr11ah+NKvbWWCq8mqShpdmrTg3hn01OUmdHUSmKINdugprxB9ErOF0EiEyM4Ru1kc0
+z8TbhyJFHa/XFAAA/AGhCXYVf8jTJDfMpSviaIymTDHCIgppE55bkoJrRSdvH402grO8mmZG9ZsR
+1t2zKcqo8RhRUi+milCwLgJTdSJwi7BXmZ9JKij96qOWcKgdPZkiw9Qt3k1PfcLj3abpD2P4Q+iG
+8TlWejUhBAEANAGhCb7MqXmaIlz8316GLdcnMdgy8jRl5Wi6laJKhtEvCZ/7tX+0V9MYfTybIo2U
+ak+mmaBUkafpCt62WmDK9GqyhpRqQuiqV5ybCRRRfT5SZKpODu793ZL8RkkFpjFqQ+i0K8+tXjVw
+BxDGAOBYEJoA4oWjCIEnqi3LCnRZYon15fzt3KUikiVHkzVHS7YXkzZ8LsKrKepeZHg27WQ0eHM0
+vd3TjL5m7RfXojLJda1Ypc+SFLwqCXi1yCQdM6tEJu1vYLbg5FmdTvpco+e8rNXoCJ8DANgIhCY4
+nczV2jLyNGnC5zSJwaXnWbXq2oqwuRNWoJsZtiu9msao82yqvK9ag1trhHlXmrsS+1PEth28mqLv
+ozU/k6XPRXioSMSIaJHpybtJashbjH3LHLJacLLmb9I+1129mgifAwBoCkITnCT+dLwmi0CkPY4l
+p4SlHe+LW+ewuQ4J3i33T+q94fVqshpnQ2FgZY59zV+yLUaKxgh/qjPGmpXmtH3J0ze/4tUUkZ/p
+bz+Xhs8NoYDwVncoPz99twgB2Z5MHk9iSd+xhFVnC06WJPLW+U9atsqrCQAAikBogq+zWkTICp+z
+JAPPzNM0aydrNR9tmeX8Vhj/mpxNT/tleTXN9pWKsp0EvgzjSBs2511pzvJsTwmbq/Jqmj03TX4m
+ad/zeppkrTSnKdOICKuFBs2iEDNhSdI/vIKTZv7q4tVUNZ936V+IZwBwJAhN8AWs7vJXg/OIbvPE
+PE2RZbN7ujqcbpVXU6QBbhGZspOAS4ywodzHaoj/MhqzhJHh6E/WvnmyV9Ol6PsVK8499cFskcma
+9FsiAFSuQOed1zy/eR6BaRieayevph3C5xCHAAAmIDQB2F9OPeFWkn0leZp+tadZseuEPE2WxKqS
+41ifXxVdvJpmopykTsWqjR5jIcqTyerFRNic/Jwiwj89oVVvbWnzM0nm84j8TB4RwJOPqVpgyvyd
+kywKIQmrm/2WReVsGiN2JbpMEYbwOQCADUFogi6izep2Mq/Jk3+p+t5JvHmiDdrIPE2SZNOa9jJF
+kltoQEesROf1arqCnnXEeMkc816vJun3N8N0h7A5jfjT2aspUmiQPCNtfqZskWDWjuSzx2tvhcAU
+PY/P2pX0DYnodE/6kEdwGi99wTp/SudWz6qDEfM8AAAkgdAEUCtWeRKBa9uKytMU+SKenaepOpQu
+01CRGLTZXk3W1cc8xtdVPD4rwuQ0nkyEzeUKTFfgPdE8o4r8TL/KrEnAnxJ9v/VvTfjcTJCoFgLu
+xLEVITpJRcoIwXII+5JEmNKIOh4BKNKzyvpHhorfIQCAbUBogq+Qlaepg0dVVp6mTAElM09TtADV
+oS9UezVZPZq0RtSqsWT5y/usjWhPpkshaGT2rV3C5lZ4NWm8P99Ep4jwucgk4LNzyvBiWiUwSZ9f
+VN+xik7alem8q9Jl52zy5mFCmAEAaA5CE5zAao8kSV1LmNqqPE0SgSnqRbw6bK5CbBoB/VFj/Gu8
+mrQiU0W+G62wGGn4aI2WKE8mbT4mbzjrldj/dinz3A/v+J2Ji1HhcxFJwN/C47wrzVkTgXd///D+
+/kn6TUTY5RjykElp34nI2RSVFDzq9wAAAAJAaIKvCES7XNPqPE0ZYWKaJKnZYXMVYlNW3470zPgl
+JlWG0En60oowupnhE/H9yWiUbMsUTE4Im7uKxo9WePAsYe8Vm6KWpI9eae4rxr5VOLYshCHxQtOs
+Sle1Ep2nvazjrQifAwA4CoQmgFoDNtqAjszTJEkEvjpPU0TYXKXYNBxtVHo1dVqJLnI8ekLfNO1m
+JgAnbG5+PlfC9UXdU2lCcKlI4PE+eav7JjB4koCf6MUU9Rs4BL+Fs34zK7scn6X9KkLMtAg2p4k8
+iFYAcBQITfC1l7vqPE0eg1kTPmcNzZOIKlkGmTVsbgy/J1OV2KS51xHCgOZZeXI2WQ31Vd5g3pf+
+CI+PJ8PwrXwsuBcdw+ZWJAL3eG0+taP1Zvo7HjT5dKz5mTTjQOvF5BWY/t3/Pw97N5n1vegwOk+S
+8GzxhPA5AIADQGiCk17UuuRp0ogTHu8mqzAiFV3G2CdP0w5iU4ax6/VqmglL0UmXPWMrwhPQIg5J
+DHdte94V5zIMLst2vJpkwkC0QCAJnRvC7RYRYjYeopar/7e9v+3+x6gVnO7CMefJ3aQNo6v0ahrC
+Y3nEoRXhcwAA8AOEJviSQNT9XCrC5yKM91V5mnYXm6pEgb91VoXQZYtwVfdam/xYGjb3tm0WflXd
+hyTbdhKYroB7pkkCnRE+Z8nT9CYcaIQHy0pz2rBU6T5ZgtMd0Gc07Y8hT/qvydM0RmwYXeR8qt0e
+tU/27wQAAAyEJgCrkLNrm96V8KJeuLPC5k4Um6xeTREhdF5jXyKsVIfTZSX3zkwAXiXA7bLaXJa4
+FOFtWJkMXCogPW2LEJkivJi04tIv/qfgFCE23cVjTtN3JH3orSwqjC7CC8m6El3GnNdJJEK0AoBj
+QGiCr5ElCnjyNEn2leRp+tWe1LNpJqSM0StP09fEJo3hHRVCZ1mF7jKe/4ox63n5t4pNT0agZFtV
+XxqOZ91ttbmM1RK199OS1DnS+I8KndP28ZloFCEuRT5T7+/cnXTeHuHS27dmwkfWCodeMSZ6tTsA
+ADCA0AQnsWueplFQb7Zfdp4miafVGHFhc6eJTZGrv0WG0GUb8hH3NDK3kqXdmbEo8WK4k/uSV6Dx
+iD+VAtPKZODa8LmM/Dlv+0iOqRGZ3sZM1opzVq8m60IhUfOd1pPRsyKdRkyKTA6u9W7LaHsknjcA
+APwBoQk68NU8TRHJjaVtWZKBR+Zpkr6UR4bNZYpNK/rPzND2JvaWJgqXigVeI8zjCZhhYHj+Ou/1
+YqqYkzLD5qR1M0SnrP75tr/WC+VNDBjDttpcVujcrCxjtbnIfuydRypD6yJWM/xVFpF/Kzop+Gx7
+d8EHQQoA4A8ITQDrBYSV57kqT9OsHanXUJXY1KU/RIlNTwa+16PJGzoXkRjcKghF1XkzOr4WNqep
+Gyk6ea4t475qPd+ehIEuoXOasKSrWZ+2zuOa37674DqivZpm2yKfZbfwOUQiAIAEEJrgi0SJBBqB
+wpuEOyNPkzYsLMM4q8jRdCe1Edm/rhGX3ygqX5MnfM4jEq0kWmwawx82V2W4SupVCEzePlaZP0z6
+jCwiwJPhXxU6pxkbq72YLM9PE54+azdjhbpbeZ0er6YxYkI1LfOrp553nw5tdzgeAEAKCE1wGieF
+4WXnaZK0UxUmkJ2jqfPKgX9FHEsOHUlycImHk0Zkik4QvureWwyfai+m7PEXFTanqVshOo0Rv9qc
+xfCfCQDWVQ4jt731ea0HykpDOeo3UyMwefM7Wfrim7gVIWg+ffYkB7f0lZ3C5wAA4B8QmqAL5Gny
+H39VnqZIQ0DqxSS5huzvEX3II85ki02zMo0QMEZPbyVNPakAoBEZJNtWGeQRHkMrRCfPtUn3uZ31
+V4bOSYx4q8hk8WL6myD8P5P7dUT+QUnot/c3cAT0sTFiEoR7RUvpPLt7+BxCGADAPyA0AfiEnBPO
+szpPk/RFvoPYtLJPSLybvGLT2zZpXieNADCcfSfjnnuMEc2KYpptHuPTc68tnkGdVpyLWAXRIxDP
+Vg/zeJpIyiQeJZpE4BpjWivkPq0+9x/DLjjdzrnHK0JVJgrXzC9v89Rt/DyMfXDX8DkAAFCC0ARf
+JUsg6JSnSXNsyXlEv0RbEoJXiE3DWDeLTLFpJghU5GvKSMYbYYhoDOrs5N8rQ+dOTggefW9nXk9W
+cenJ4I/2AJnV1+Zp+lVHenyL4OTxZvL8ccXr4RQ5bi1CuERMiuh/1n7ZIXwOEQsAQAlCE5zI6tC3
+yHPx5GmyrJ4mXe0t+h7OXpork3tHeTXN2onyNJEY6Jb8TKuSg6/IE6b10rDkrJmJD5kGqbc/WZ/v
+KaFzkvxLmucqCZ3zJmaODpmzhDpFJAT/n4LTfyb3a+sfVyS/XZlzl3a+8axC5+kHmnk3WtDZVSBC
+2AKA7UFogk6Qp8l/fI/wZRVMrDkltC/t0WKT9b6s6qezULoKsUn6WStIRIoC1hf4KLHJYgAOocGa
+fe92EZgs/Ss7dC561TlLUmbPKnORIlP0inMRz077+2b1cLKsUhd9fyz5mqQJwiV9ojJ8TuoR6Jnr
+AQDAAEITQKyQ0/E8PV5K0bmaPIlWI8SmEbBtdb+4hj0Hzq5ik+Ue3YH7WcrHsAtOK+5XdflpoXMS
+zzSJwR6ZkDkixKnDinMSr6bIP6JYPJyk3k0ZYzozN5hn9cHIOXuX1ecQqwAA/jcITfBlTsnTlHXO
+mbmaohKCRwpCO3g1WYzr1WKTVhxYbQxEiU1PRp1me3XfkWzf3bOpou9ZVgOL9ibRGOuRycDvTfrs
+GLnikzR07k68R9qE4NK+sFv4HAAALAChCU7lS3maLMKWpc2MXDkRCcGrQuYi+1ykF4XUM2QmDGXn
+arqS70W0UVvpwRQdMme9t6s9mLxlUf3M4qU5lM8+KuTH4s1kDZlbGXKUkX9JutjECCgfQ7fSpOf3
+VNr/xsjL17QyfC6rfyKAAQAoQGiCbuwSmtbxuqPyOkXmjNK+IFsNggpxqaNX08wQl3gz/fvZIjJF
+hc6tWM0vehn33ULmPM9k1apzWf3qCrh32v5kCVnqtOJcpfFt/WOLV2SKEp4k15Bxr6R55KQi08rw
+uch2dsjThLAFAFuD0ARge3ntfPzZC7NWaJHmcoow5jx/fa4Qlzqj8W56+7xSbBrN7rfVGOkaMie9
+x1FhSCu9mCrzM0kM/KfnHpmjKSp8rqMhbOmTXkEpQ3ia9Y2odwfpnKNJCj579tnhc+RpAgDYCIQm
++DoWIWHHhODWOtIV5y7FOY0RuzrQU50ThKfrxz+LQVYtNkm+W43HyDGa/ZdvbcjcndSHMo35jmJS
+dL+6DM/omhj92rA5iyFrCZ+Tnl+1Ma19ptkiU7RnU3ZuK2+uME0/iA6fAwCADUFogpNZmaepOiG4
+9FqjQsO8+ZosuZm05+i59ohtXuPgmmy7lPtXiE1vn7VigVcciDTarbmZrPWqiRKYNM+4i/CkrasV
+CbxJmKVeHBG5bKTignZs/f33n8p2LHOwtczqPesRnjLH/h3QHyX9MDPsjTxNAAAbgtAEUEN2QnDN
+S3IncUWbm0ny0p/t1bTS6P9VdyZK/ar/a3t3sWkMv5gaaYBLjDdrvQ79LDNvU7ck4FfgvdQIQZYQ
+t7/bnwSBTIPYO17+Y+jEpipvJms+wDFkAtMqr6a3uScrnDOjT1X2UQAAcILQBCeKMiddd2Sepoj6
+Wc/m7WX9CjyP7vmYLue+T55MWm+mfz9XiU2a69csM15pmHQWnLyCy2qBKaJu1FizPtsIr4uIMDvr
+qnOR56gRm7x9L1Nk0ghMXq+m2zHmozybLH3M2ldW5WlCgAIACAChCWCNsLL6WiyCS8W98CQjj/Zq
+sty7KIM/4kVZ4s10PXz+e64dxaaM+xoZfjSGLVQuKrwjqv5ueZsy+lZkX7KGKEkMcm9oXbWRHh3u
+PfstsNa5H8b1TEzSejVFh9Zqw30zwue+mp+JUD0A+DwITQA9E4JHtR+REFxSR/sXdu2xqry9IgWl
+FUKJxWh/Epa0IpNFbNIKC10MBM1f66PHR1WfiwytWy08ae+rVACxPv+oPEgzMas6HOlK6OuaZ3qP
+uaBtEZm0oXMW0WmMeU7EiLFeuRpiZD/rlKcJAAAEIDTB6eyaEFxyHG0icO15SesPw/Fn+1iEpWyv
+plUG/9962pXopN5Nb59XiE1jrM2TFRn+1ik3k1eQOdWLyeMFlhnuFm3Ie8LmIq9Res8183ZU6Ntl
+3N8jOr31pag/OknnperwOW8fqvbiQ7ACABCA0ATQC48gkhEOlynQWFae86w6F3nu1aKAdJU5z0p0
+iE02Y8IiOEnrR16Lt85uScC912S5vx6jOjN5cVfD2OpJa/1t0AhTsz9cjBEfSvd0Tln3vUv4nCdP
+U9Y8j5gEAOAEoQl2FFy4ppzjaPaLXnkuSsyyejWtNKyiwn3+3We2Ep00V5NVZLLmadpVbLKIDRlh
+MlfCPiflaMruU9pE4BHGbFXum4x2o7znor2brNv+ffZvZU95mqTeTHdS//x1bqvC5wAAYHMQmgBq
+RZXK42vDAqTHzbgfHpEr4v50E6SiDOE30Unr3WRNHP72WfI9WxyINrC9YXJXk/5l2V4lPFnKK++v
+1Usi25DXJhdf+bum+f3xhsxFikwSgcmbHPxy3HPpfJWdR8yyX6bXHwAABIPQBFAjjpxyLZnXHCVs
+RXo1ZT/jiLwy1bmaNF5MXxWb3gy41UQnYLaUnywydTF4td54led6G5+VJWQuQ2SaCUje0Lqne3An
+zAPVKyOu7ouVfR3RCwA+DUITQI2gsPKcIhJrV90jq+B1kugnFYwu5ba/dZ6OOQufGwOxKcqg69Kn
+NH1PWp4hPFnKPf0lw9BfkXR7t9+1W9gnZt5NWSJTZO6myjA6afu3s79KBKfIPE2nJwRHsAKALUFo
+gi/AynN5L/7aF16r11Q3T6QVgsA19Eu0W3M1jWH3aKoSm8aCZ+wRjaoTgV+BdSMSgWvqrhSZrsBn
+mBne1s1IjfwdiQqZyxSZfglG3cPoZm1oQ9VOydOEkAMAkABCE8BeVKwSZxF1hqLtKIGgStTLMvy1
+4XHeY8+8oH6dV1RycOlnrfAwFj/LjDxMd0AbI7CNK7E8q67lHlkEqV2N06xzj/j9yQiZyxCZrF5N
+Eo8miTfTHTj+Lcnrr5Gf9H61eIUABQDgAKEJdhZVTr2miOvuuiqcdL8qr6ZOfUwrsPytJ83X9FTH
+4t2k+V/62XovdhScVl1H1zxNEXUtYyfTEJUYyyclOfZ43lhD5mbfs0SmN6+mCMHp7Z56PCQvwbPS
+CDzR+Ze8fR2BCACgAQhNAHuQJYh4ch15zylDUOsuHD1tsworktA4TTje23ePR9PJYpPEcBsb9Elr
+340sv5KPmdFfdjRqd8pJKAmZs3g2RYhMGYLTr3nEkrtpdq8185glGXjnPE0IUQAABSA0Aez7Ym49
+7wgxKTNRedS570xkrqZ/99GEz1k8miT1pJ+1YkSkeOB9bjuuNCfte9XlWd5MV/D9Pd1w7bLiaJT3
+UqTI9Es0ivJo0opO0fPW15PXe68NUQsAPgtCE0Dfl++K9lcdK/K4FaJXpqFfmavpb1vX5Bhv3k1/
+/7cmBbckBO8sNs0Mt+pzyO6jXxeZTjS2O/zuROZlivJeknjx/Np3DJvgNJtLonLFWT2BNN5MkXma
+GKMAABuA0ASw5uV6h2vL9maKMjZ2wyKSSI3nt3+z/Z7KJJ5KkSvRSb53FRSiDcGM/qXdp0KAqgyZ
+yxSTOxqqkbnqonP/jVGT/NsqMv0VTlaG0Em9nCzPQDJvRfXvnVZS7DyuAQDag9AEADsZRKcRseKa
+1NNJGz43hsyjyZOn6Qti08xIzOhHUftZt+PN1H9+zFrIwdtG1QpzEpGpSwidxsspYh6ReCNF5Wka
+xu2SazlJIELwAoDtQGgCRIxzrq3iGlfcR88xT/V+igij04TPacPgEJv6n0tnkclSHnFNp//+RC32
+4BGpxsgTmcaoF5kiQuhm4tJMcBrDL8o8tREZBvcmoGQnBAcAgGIQmgD6vMxrX94zcxtF/dV6FF9T
+RzHBmvha6nX0VMcSPqdZge6tTPN/1H2JEFe+QIQwl52zKbL9quffTRCP+D2Z/UZI7uktuP9PbWlF
+poik3lHhdL9EEOk2TVlE37YKO091xugnALHyHABAMQhN0J0ThIfqa4jMx2RpV5J7IvMaV/WZK3Df
+rBA6ifCk8WjyJgVHbOrZR0/0Zur07KXzV3aOusg/KFjvuTQ/XxeRqTKcblYmuf+euULryZQVDoco
+BACwIQhNAPvROZQsSwDqKjhqDPLLYfBmhdBpcjb9EpHGyEsKbhGbdhMcuvRTa58ezmdyitC0Qvi2
+LqDgzY8Uef5j9BaZZt5LmhxFUu+mX9ufyt7KvXOFNk/TW3uZoXfR8+RdsA8AwCdAaAI4l46eVJGe
+UycY9b/qZ4fQSeq/HetNWBojT2yKShhdITzs2h8zRCbtc8pYAa/zM48KgY6aNyvEpjeR7O8zWiky
+eVahiwqfkwpLXsFJm6fprY5UfPF4QO0k8CBGAcAnQWgCgAhjKCrJ7A4GuSVsqypETCsorV6BTisw
+ITbl9GlLP/Y+h2ivpVXPOzK3nkQciT43a0i05VzenkHkanNZIlNV7qa370NY7nk+EpFEK55IRCNJ
+QvARdMwV7QAAfAqEJoCe/H/sve2u5LoOtEcHuf9LPg6QH8HOvKstFlmkKLsIDKbb35YstfWsYqkz
+hUFRMyitUDY9QaGKFLqsXxPyf+RzBlpUA4jTnt1s6tlJs8qxlD+rY3UpgdDfDzQ17ReQmGIEvgMy
+MdLqzJ7T53akznkAy9O1VkMZzTynUCgUh4RAk0Kh6Br8VA7ApgzkO5VN3vN1zUBnljcH/7VsVV6Z
+MmIDiMnPZ2b7jrQ5xvPeUddRpRACdDzH+fW/51o9KlVzbhMt41/Xa/YMlcziYMksBplQsMRIn+tM
+nfMeCwE50/yZNPOcQqFQNIZAk0LxLTii6Bm0Mwf8qEdTdAY61BD8v9eWTaVbLTPHugwMYdb3ic9r
+lZrJrD9F7ioqq7v4+WCkymV+w6JAKnodf5XjXyDOzKfEYpl9/1oW3fev6zF7VuGsvJueIEkGOK32
+3akmEhRSGSgUisNCoEmhUCj4A9VKZVNV+tzTcVaKJoZf02qZp7yykCK7/ZueYVa5dkKobJ09TRuf
+9WGKqJn+2t/rl4emkz1d000o2ydQV20CvnOZWf9MdNG6Qo25M6bfgiYKhULx8hBoUigUb4sViNgF
+HrqVTf9ug6bRITPQ/fczyxQ869H0VeB0Fe1zHbKOVV+ZgXqF35D9OGYkbW51bb/uH1V1eT2aVudH
+U+cyKXK/ytZIy/76bOZTOj0tM9urJoqmpU2beU4ATKFQKEgh0KRQKBR1MGK1LKps8gzEEYXTE3ha
+eTZ51E1mz2l3f/2PlE+0jLoAxOTn1rtP54x0jLrrrqeMFxJrZrin7VElk9fDKVIHvwAUkjr3BGai
+6iYkbS6aPocCJkTJVAGcWLPOrfaZPvPc7nMoFArFcSHQpFAovhaRVLfsIJiphMqmz6EqqKd9q0zB
+mabpXalWk59vxj7dZuGZdZ11tFIAIQBnpWb6pV7yqpoisIlVhszUuawBOAsoZWenM/Opnn7BjAqf
+Js8xPDPk3Rv6vcmwRzBKoVB8LgSaFArFKYPhXQN85kD4Snx+OqZX3XQ9LL+A4+80Ba+Yoe8a8Ezv
+bl9X4foJKXJdhta/QEkWnnihVdajyew3CELLkZE6l51ljpE215E+54VNf5XrvXjm70A7YaWrVfgz
+ZdLtqs6pUCgUin9CoEmhUEwLtiIIOeZO5QV6D4yZ55B90RS6p2VP/6+W/SoLT5l3ePtUQI2O85+o
+aoreb7R+vODkr/URM3APSGJ7NK32ezJJ9xqoI6lzEQUQ04epyr8p8vkX9PDAocgz7oEtpwGYCeor
+hUKh+EQINCkUiu5B7XX4PTHWVSqbEHUTsv1fy5+uNWMKXu1jdTU/n9eL2mWVAmmXJxPiQxT1Uoqa
+ga+Oi1wHqmS6A2UU3Y6pYvrvZ1banAdEmdXCJjNfKp0VgROWuXd028j2CoVCodgYAk0KxbsAyfSy
+6RzEn6BiYgCVKCz6tY0XLv27DPFrQv7PlA36fHS092tgu0S2r4JJrDq5NpTfKuWMNePcSs2EejSt
+rs1+AA4Dy8UWx72A71Vpcx5FUxQ2/QVKoqlzHjUOGzgxDMG7Z49TKBQKxeYQaFIoFBMGoKxBYpWx
+c3bdVXSNK2UTozy9KXR/3XOHKThjhr5OeNF9/C/Cpo4680CUCo+mlWoK8Wj69f2p/O7ks7Q7bS4C
+izzwyLuuCzaZ8UzBozCJpVgSpFIoFIoDQ6BJoZgZFT5Fu667A64wy5IJlZ72Z6fPobPJPf172u/X
+OZl+Tatlq7JB632nqXTHOd4Gm3bVWYdHE2oEnjUE/3XNN7H8JqXNZVPkmOl0kc+/vpvNNgVH9nuC
+dwqFQqE4JASaFApFxSA5oqrZkfLS4RnTMfvcRawHs1gK3dPnSabgTH+mq7FNdR+nQ8XYpW6K7svw
+aELT5zzLdqbOrcrhdpT1EySpTptjqJayCqfsZ7OYMbcHOHm38RiUT4FE8oJSKBSKDSHQpDgBWihm
+lN0EQ2Mv4ECvv1LF5IUe3s8MZdN/t0M8nH7tb1br1+T97PmerfPd7aMzvfQE2FRZ/iiM8qiYPDBl
+Qurc0/3fwTJ7Uk6x0+YYKXIV0AmZXW4FQKKzwKGgMAthumar2wmIus4tCKZQKI4JgSaF4ryo+Cv+
+dfA9ZeAOGz48gRLvNSFABYEqHqjkNQRHTcGnzkBXpZg5Ib3urcCpo/xRk+t/4Ynnu1lt6pzZs7rJ
+c5/eMrIf5bFaVjnDHAqbotAJgU3mWO+FTdYIcnbAD496S0BGoVAoNoZAk0Jwpv5c14H3eh1Qjohf
+D3oviIqJoWbKghQECkXqIZNCt4JMiOIpUi6s5/oa3P90ALEJsCl6v0yPoafjZRU7ZhhA8qiYfsEN
+Mz9wikAL1Aj813U8lY9ZfIa5CDiK7PsLfkRT6zzfK2ALa4a5ymu04nMKXikUCgUQAk0Kxd7IzEZW
+YZK9uwx2nIOdGpdRM7FgiicNjmUK/vR9BZHYM9B520UWpF6Dn/nqtL9JwIldF3fgHNnUuV9wxQNJ
+vLDp6fPTdTLK+HaU9UUqH7O+FDmPYfVKzfQXwPBCI68hePXMc91Q6eSUO4EqhULxqRBoUijOj6v5
+uNeGc0TUTJXT3LPUTOj1on5N/90uom7yQKen7/8u75iBDqn7SbPQXQP6BiZo26Fe6gKA7NQ5r7k1
+05/pfgARTyl0KMTwmqOb1fkymdWmyKGpc7a4p19gIuPRFAVOWSNt7/6CMAqFQvGyEGhSKOqBzRvv
+7TqovKPAKTLA9aiZUAWTF6xETMEjhuCr81T4Na2WRb97n4Udz/TONtsJnNjnqyhDj8InkhZmhs2g
+ZuC6FaD563qe7uXXPV/BsmOUjZl/pjn7Y/uoWsl7rKdtzeo8mjJw0Ltdp7pIIEqhUCgOC4EmhWI2
+LLk238tVdG3IcSvVTBdwPRk1U0TVxPRr+u/yiCG4x//pclxzxhScVT6RZ30n5GAfczJwqtjOuz9z
+JrUngINAlUgKnVk8fc5bLoiHk8dgPKpo8qbPVaiVIhBqBU6iHk0RCLRqP7uhTqScFQqFQjEoBJoU
+X4Y4p17LpOuOpmJ1Xe9ONRNL1fT02QudWICCoWjylBkbNpntNwafCJ4EnfBjrNRNkdnUEJCCpmuZ
++dPnzHxqphsoP49nUCZlzmyfL1NWzWSL+/LClB0qoEiqX8d1KRQKhWJICDQpFGdEVUpONrXIDEvR
+Qu/xZDWT5zxM1Q5iDn8ZxxT8aRlb0cRSe3mf7w7IMSmltdsQvLqcGWUbUfMwU8PMcibgaPrcr+tH
+y8Acx/t1bkb6XBQgZYBLdQqdWUzlNMU8W3BJoVAoPhYCTQpBGt0z85xeUFE5cI1AhV9Aw3uOaaqm
+a1E3mbpdLX9SNGUhU1Xq3A7j6o62ezXsd6qCKXsej3l2Nm0OARnR9Lm/rnN1/9F0OhTCPcEVRMX0
+F/CoUC2tIEs2hS4Kc5iQZ7pKiXV9AmMKhUKRDIEmhWIeAOr2RWKomqzhulAg41mWUTOdomqKGIJ7
+PZyezuVRN/37P5Je5ymPiuf85BnpqlP+3mD8bU644vEe+gVQqtLmkPS5v6DOr2tnPW9MfyazGFDy
+bNMBo9AZ4zzeTdUgiA1fBHMUCoXixSHQpFD0QJMJcKZzwMm+jwu8jg41kxeITFE1/Xe5V93kNQU3
+x7WtFE2ZGefYxuBsaFLRhnaop3ZBp8z9Ivuh5skeQNOZNoekz62uM1vuT6on7yxqGcXXX0CDkSoX
+hSkZVRMKay6g/NH7yF5DRdlG1ysUCoWiMASaFIo6iOKFGxEwggCSyIDvaiinK3kt0TJkqplOUDU9
+LY/WG2II/uuakZS6TBlFvldDk+42VbH/LiPxyj7bc8xIytxfg/wnoJJJm0MVQav7uklliaqZzM5W
+MUVnS0PrMFM32ZQ8C+y/C0opFAqFojkEmhRfAz9fu8aJA+NVWpb3ezZ9zhxwAy2TXaqmX98RZVPU
+EHwFmFZAKeLLVGUM7qn/00zCu9r5FB8mVtl5jbBZRuC/IEpl2pwXLl2EsvPONmeGp4llVUzVSqeo
+qikCcpDjXc5nXaqheD0oFArFZ0OgSaHoHfTtHigiyifPrGXo9WTOj6pKomomc4KPSaqmy1HOGTPw
+f/dnKprQMkbAU+a5mujX9Cavpl1lmD2Xx+A6A1GyHk1mWNrcyqdpBRpWZXc74IV3drUqA3ADt5+o
+asqm33me9WrgkkkXFBRSKBSKYSHQpHh7XB+8XubAzevhw9gm+t2rCPLAnbepmjzlH1Ez/TruVEVT
+1gi8KnXuOrTfqAJEE9IPVwPtKkUTK30OARW/rv8OlLVHAbaCS2bzDMArfuNZqqYoyGLfy1veFe9D
+7lmQTKFQHBECTYq3wpaJ131tPP4V2A4dZCOQwkAIgAIYz7IKVVPE/2m1LqNq8qTNWaB+bXGuDkXT
+rvS5k6BJZ/redBVTxAh5ZQC+Ain/gpMoSOlKm7sD9/9rW8/MZyt1U1fqnGdQv3MGOq8/U+WMcxNA
+igCLQqFQHBQCTQrFeUbgDPUNev9Vxruo0uRKlmdE1ZRRPV2J87Ngyn/LGpllLrLdBV7zFSzvKelz
+ncBkt/ppt2fTjv2iiqaMUucXQEEhEyNt7iY9ZwhcYpXLX4CiIvWNDVSyqqYuGOOFQRlolE1BnPq+
+KVimUCg+EQJNCsXeQV/ndWZUTWa8mcsuw9VHFtg+mrIWLeNMyhxyL15V06qsV+qzC9zu17JV+hxa
+hm9Knzs5dQ7dZ5cXE6LKiezrTUF7mmXu12cPSDIHhHk6/9M1o3WCmErvSp3LwIFKdRNL1TQZcAiy
+KBQKxYdCoEnx5phkvtt9/uyAl20EvtrvAq+JnTJ3Ff2PnANdtoIoyCx0jLq8AnWm9LnafqdbRdUB
+kzr79ZWiKePPhMAU1LQagRTetDnUVHpq6txuFVMFfGGqiLquWaFQKBQvD4EmxbS4PnxfVQOoqrQg
+xIMp6wsVAQq/gAQKNipS51B/pgsomwso/wv897T/r/PtSp9Dyi3SfjrhSkUfOS2Fruo3gKlo6vJn
+yoCSf/c1889UxkqbQ8pmdV2o+qdbxZQ97grksGdwEyRSKBQKRUsINCm+HqcM2q6G41QYgaPKqIgq
+xgsdVuuydc9OofPAFVTVZJZTNiEpdBPT5zzfn54PzT639347y4nlzxRJn0PVOSuQ4fVmupPlnk2d
+Q3x4KtRM0WeJdY7VNitl2g1ec+Z+Peve5K2kUCgUCjAEmhRvjWvzsTNpNywjcNaMb5fxwUxETTJZ
+1dSZQmfmm3HurzL3gD82LJyQPoc8J8y2nO2LTp2BrnMf5LiZGeduAKA8QR2Puinq5bNKofv13cyv
+1vKWWSR1LpL6Z8ZTM+1Ko2OYgqMQ51Sfpzddp0KhULw6BJoU014Ovno91QPKCzhXlRk44tGEwgoP
+hEBhRidcqlTreM3APXWHGoIj9TTFEDyyPNKGT0+j26FK6vCc8qh6PFAmmj7nhR4olEIMuc14qXNe
+8/QMYHqCDQwVE1sRhe5XBU66VFCT3ukEoBQKhaIpBJoUitkvRbsGfkwzcNSjCVWieLapSJnzlivL
+p2n1maFqsmS9npo+F20HFW3yZBXTlPtmlxmi9vEoiFizqUVmn/vv9SNpTk/149kPKSdGGaHwoTON
+LgND0PQ55HiV2zB8p3b0BQJTCoVCEQyBJoVATv1xMjOtZY5fMfD+BS6YaVcGXvNkVRPLpwn5XGkG
+XmkIbkDZXUB9s557lprpOqTfqth36kygN3BOr0LHrGa2ua7UudV9o9ux08Mi8CajYtoBNTrP/fQM
+TIYtDJCmUCgUioIQaFK8DfpUD2aq/Zk8x+32Z6qo68xMc55rPRUuedLKrh/l6E1nyyqbUENw7+fL
+uJApawhe2Q9U9oG7Yc4UT6rseRFj61/LI6qdX6Ajmzrn+f5vWdzJsqxIm2OAJWb6XDUoscZzZGZo
+3HFfCoVCoRgcAk0Kxf5gAp4KfyZWutUFHB81dfYqZibDpSoz8KwR+Gp/T/0x0ue867yf0ba30xSc
+CWGuw/dnHCcy6PYCmSmpc08Df286WxXgyKTNPZ0nev2Z/aMz3KFG3ZGyPO09SGBKoVAoXhQCTYqp
+oKX6WBPT5tjbZf2MPEDBe20XuNwDBqKQacezvdMM/KlOon5bqD8TUk8WqM8r+OxE2kGm3U8FL8zj
+TAFRkXNE08M8s6mZ9aXOmeHqKTOfEbqBZVcBtTJpc1Wpdp2wZdqMcYJEKguFQqH4P0KgSaHAQEtm
+kMTwWorCE/S6GOqXy3B/qirIhJTlJNUT8tmrakK9tzzbeusxCgVPNwXPAJRT0op33VNl34/Ak92p
+c5Y8z1NZoAqwiNdPV9ocuh26LRtOCFwoFAqF4sgQaFJ8Ma6XXwtzwH0VXJvXS2gFLpgG0zshU6UZ
+eMQI3LOdJepwlT6XKcPo848s87TbbkXTG2FUR1+dMQH/7/pdqXMZIIF4TbHASbRsPOe6SNfcCZ6q
+fJ4Ep3rLX9euUCgUf4RAk+JNoOU65NqvTcddbc9OmfMcA0mdW3n6rCDECQomthn4X3XArE+vksrA
+eqtKNVytW7WDTNt7i6Jp4nGY5/ekj0VS5xCgklHlZJRBzMHrBZSVF+xYcL/qWeeY/kzee56SPhe9
+l9PfWwV5FAqFYhECTQpFfpAZHdAiwCWzL8PTx0BIEVXAMFQqEyGTAdeEwhMU9qzqimEIzkyf2+ln
+dYqiiQ1tpoOkyHHvwLGZqXNZuICqmpgeTU9lzoZE0VQ/s5q0OcGFOhCTUebtgmYKhUKhcIZAk2Ii
+1HnbObPXEoEYyHk9qWwonFjth1wTCzJV1+OuGed+la03FS5yv9F6jM44xy6nVZup8Gm6hvRZ1weO
+xQIlEd8h1oxqXQPuFbhZlZN3mzt5Dxnll7cMpvs1Ift1qNYUvXWsUCgUR4VAk+JNP9ydx66abe4q
+usaomoOpbPAagFdBpg61kiXOVwlPEAgYAYfZ9Dmknhhl520DXW15qoLo5NTmyHV5oJNHDZSBTQyP
+Ji/QWhmBM1OzmP5M1QN1KZ3q7j0LUGWcrlAoFIeEQJNCwRkIsWebY6XNIQNrtkdTxjwaBSynmoEj
+1+31aYqomiIKtlWdXok69DzflWlz03yaKkDN9OOxj8uYOe2/26DeQ5kZ51aDcTZkugn1xVJjZRU+
+GQVSJ3CKAJQvgJVqBZlCoVAoikKgSbHz5aH7WF9Mm4sMsNFZyjJePmxAcSJkupzLVp8vZzmzVWoV
+wPAKtINpPk1onzNdPXQKmELO15k21wErMudhzDaHlg/jmCiQqPZnqq5zxjMiaKNQKBSK8hBoUijw
+wWSFGiIz8Dolbc4DtZgpVx5AcYqiCflcCQ8zZuAsfyZWOaHtnNmGr6L+asrxqo5ZeY0T0uaegAgr
+fa4TPFR6WLGuvfreMzPPVZT/CcdWKBQKxQtCoEkxCepUHusaeq9Km/sNJlbrvgiZvGqvVTlnQOLT
+Mar9mTq8mdhG4Fdhv7az7+v2xYvEHTxnNoWJ7dGEDviRlDlv+hqjjCeDjso0vq57FPxRKBQKxZgQ
+aFIosJdrxqAy60XzprS51XU9qWKYwOIUb6ZfZZFRNVmiTp/O561T9Pk3Z9k9fY58Z6yrACqngaRO
+6B+Zae6/+yFG2dm0OQ9AyCp7IuBiVV6rbdgpdNW+SROBU1Xb6FCxCX6dV4cKhUJBCYEmxY4fxmnn
+7DABr1JenZo25wEkLJ8mdLY49DhMyBTxZlqV50rVdAXqstIMPDqbX+Szt00gbZ3dz5yW1vaFlDkv
+QGGlzRmwnpEyF/FrykCwaMqft1xOM5Su8LcSMFEoFApFawg0KU5/OXnr9UdgyZS0udW+DG+mFWiI
+Qp7o8S7i+f9d5p1tblW+3vqMzERnifpjl6f3s7ctdHmuXQ39ykl9buRcd/I8jFm/vMCFCRMiKpyK
+mcx2eQJVpJidomza5b91wvvV3fSsKBQKheKPEGhSTAEr066pygT8KiiXaWlzFxFK7IJMlbAJXWfB
+MorWK7qNGQYPWWbgBpQZsi7SN6BtuUpFOb2P3nX8G9w/kzLHBhadJtKVM5pVpFR1GIF3AifvcXbD
+D8EXhUKhUCxDoElxapxuAs64p+lpc2a8NKsnSHFZHTiqUDQh636tN/PP8vbvMkYdM9PnWP5MU83A
+q/uDXceb0tdGri3r0YT6M0XS2SIAy5uCVp2alfVGEsjoKXuV8/46UCgUiteGQJNiMnjZdU0dJuCZ
+tDnk2Dtnm8sqXzz3VZ0KF9mnKm3OfizPGIFXKtUsUI8Zf6ZsW0DbB6u/m2wIPr0PZ9xL1MOIYQY+
+QdVz4qB9x4xzlcf5Cpiogoknpg8KRikUiteHQJPi9EHCroERywQ8axDsOdeU2eYYaXNRRZMZX31U
+cUyWEfhqGQMkmqM+u/2Zqr2ZdqbNvc3Au+qcd/A6bnB9xutlp9lz17lZMO5EMLBbHSZ4ontVKBSK
+7SHQpDh5QNF1rdegc0QHxCfPNoeCBSYwYoCQHUbgV6BuEXiInMsLf9Ay9DwLkbbANASP9h9XcX/z
+5v4eTZP7dz/EcBpJmYsMWH/5M2XS5rIABSlTvfvMUNp8FXx94X4EvBQKxdgQaFKc+KPK2I5pxss0
+Ac/OMocOsFnAKZJiFfXzkaJpXV5meYNvb92a+VIizVEnFlzHmHEu2raz/cvV1Cd29r9TfzOyRsvV
+6XAdht+ZMrx/fJ80qM6Yp1eVe6eh+8mg4oRZ/BQKhULhDIEmhQYm+++XMQ16dnC9gkORlDkzv+Il
+O0PZE3yIAqMKyGTgOq+iCTECZzzjiFrN+3nl01Tpz5SBTmg7npg695W+GvFm+rUNqlqKKo0qBsVZ
+k270eGia3gmG4F8GER3Pm0KhUCheEgJNilMHCZntMibgV+CaWCbg0YF1pZLpCUJ4PYMQSJGZdW4C
+ZKpWNFX6b0XNwD3gkNEG3pI6d23sOyf140jcietgpDZlvYeqUpuyqVsdoKDLiPvN0CN7bwJCCoVC
+oaCHQJPitAHFKfd7FZcNagJepWTKpFV5fZkYiqZfx+qGTAauu8DyMvOnzEWfu4iaCbl/C6z7curc
+7r52Qj8f9WWKAopOAONJt+oy8/4KpPiimurLoE6hUCgUBfF/qQgUB734MbbLqJmyA6zMObyzzCGK
+odXyTF0hRtFoelWlWqkaMjEUTd4UOjNsRkBGWqQZ5iO1esbR7TKqpqxhvhfiZYAfWkfMdtx5bua1
+I9tn+u7ITKQdvzuR/aaZ0V/E47/lD2DZ5zXap096Zq4X1+EXn2mFQvGykKJJMf0H9MQXO6YJeOQl
+stME3DtwzvgyMRVNqwG02fmKptWy6CAceW68aZDedjA1da5yEHZt6sve3G9XGnlXHquqXDQT2dx7
+3lmmGYXgG+uF7W2mUCgUnwiBJsVpA4WK43T+VTlyjAoFhxkvdQ6BExMUTbv/r1I0IcsMeB6e6tZz
+7lV9rp7tnalz0f4B7SOuoX3mhL78Jp8/Cps8KXSMGecy259gpq1QZNuEnm2FQqE4IASaFFMGE9PP
+m1UzZUzAWeesTp1D/XuYiqaTYBOyDlE0XWBdXI59q9RM5iwLdLvKWefQvqC6v5rojdR5jjt5vIgf
+DQskTR4oaxCv6HyuEPjbZRx/YltRu1UoFONCoElxwstJ5XGuwnMy78fr0eQd2HsAxOp6IjOSVSma
+POum/M9SNP0CJsjscJHnEAFOq7pcPec7UufQfqHDT6QbKp2QWpdN7zlpRrWTQYJCoVAoFIoPhkCT
+4i0DlE44hKbNZAbU0UEwwwQ8YxAdMQHPKpp+bX8SbDLzK5oyRuDM1EjkObTAcx5dZ8bxZ0LaIaNf
+ug7uK6f89tzAPuhMbqt0OUYKnJH3FwRSVLe9W9elUCgUiv+GQJPilIFDxXEYaqYL2LciVWanCbgZ
+nlpVrWhCtsn+nzmP97otUH4eI/DuOvY8w5nUOSb8jfYdjD5kUr/5ht+O27ntHVgnMPD/Dw3ov1nv
+p7Srqe1cpvwKheK1IdCkeMMAZ5qaKTp4RQbeE0zAEbULU9G0AzY9zVAXgU67FU2revdsj7SVjtS5
+yGczHojuNv8+Lb3t3nT+m7hd9hqiaqevDyDvocdSvPddVs+JQqFQJEOgSXHCAKXiOJVqJlQtcQHn
+n24CnkmZQ+AEApsY/yxwPs+2q2VmHEWTWW7WQLYReDRF1B72q5x5LrKc2afthko7wNhNvvaps81l
+r+XrofLQszH1/qcptxQKhaI1BJoUkwYi0867Q83kGYhHZ7ljKpkqTMARRZNn3e7/I+lzZjxFkxnP
+BPzpWBEjcO+z7lkfbRMdJuATPZp299mZ66v2Muoc7GlAqHgDcHjjDG7I9akdKxQKxY8QaFKcMsBg
+HmeymulKnpNhAl4JISKKptNhE5L+l1U0PdXFX9eUTY80sC5XzzrTFB9Jc2OqmKbApTd6NWVT8VaD
+wq8MGu8Xnutuvo6OVEvFd955bz1DCoXibSHQpDh5QPNWNdPTgNwz8I1MeY/6y3jS5ViKpqdlnnVT
+/kfBUkTRxDQBXx3bLK5miqSNom0CaR/etjrRBPyr5t+I4XfHwI0xuJswQLyb9lnte5OO130/00HE
+9HSu7lkbFQqFQlEU/5eKQDF08FB1nBPUTNGUHq/SxQMUmNPdRxRNX4FNyHpP+ZnF/Je8QIplBB5p
+D11G4BF1EwLKmLM8aoa5GCif9FvVEfch18JUJQk+7HtfO8FT7jqkLL/QPykUipeGQJPi1B+zyWom
+5vWi6UFe/xz2gHc1mEYVTegyz7ro/1mD8F915rm/rKIpWt+dRuBoe9nh0ZT1aYq2NUGlmj6Wnfr4
+5RDQUVS02YvY3r/4jqxQKBTbQ6lzijf+IO9WMyGzZbHVG9HBcoUB+C/4wEiZ65hpDjmPt06jvkze
+8kThhBdgsI3Avc991EgdHcSwZ5q7NveBUwdGd8O1v9k752461n1IfeudqcarbPK5M/s/7ZuZSXJq
++p7SChUKxdYQaFJMHZDsOi9TzXSRriWq1tg9CxlzlrnpqXIIdIr4MjEVTddi/6iayQLP6dPzjqaS
+etviF4zAJ/XXyDV0zl41cRA2yU/o3njuk8pf0QNLdkK1rj5DYEihULwqBJoUk14mKo+zU82USbNC
+z434MjGUPivQ4QVMv+7rJNhkhqmhft0DUsedQNGAujWrMwJntMlIv8BUMV3D+9EJvwO7VA8TB3y7
+ANRdfE1RmPXlwTjr2exSBin2lonqQ6FQbAuBJsVpAxqpmdYD6YhBdAZAoIqmSPrc07rp5t9RL6ao
+oglVNTEM3y3wnCJlyWwbkXbLUDFdh/SDGpztjzsIVFAw5AU998P3yLW8oW7UhnjXMAGevbnOBJsU
+CsWWkBm4YsoPa+VxJqmZvANt1rkZ5tBRRdNlccAUgU3d/8x4M86Z5QBTto7R/SuNwC3QjiL9QzaF
+zsD2k+3bvmgKnp2woOu35wvhBUyZ4//1uevevvguNTnVd0J5vemPA+rrFApFewg0KU76wXqDmgkZ
+MEembkeNwP8axKJT3WcMwP8tk52zy6H/Z83AUQiFmIAz69mMawRuwTLPtg20vXvKshKSaLa5dw+S
+7s37qwwV7HaIrL+I7fwaUAZSrCoUCsU/IdCkeMsAokvNFHlp8r58RVOCIkbgkTKIKpo830+FTb/K
+1TtbWqcJeLaOzTipc1EQy1L7Xck+ogowCSzxfyu+XpYeT6S74bzea0GPqehrV9dL7ut60T2qP1Qo
+FKNDoElxyg/VFDVT5i96iAkyQ82UVTJlPHuiM85513vW7frf68uUqd8V7GPBkC4j8EpQjLb1rIoJ
+vR7BJUU2bt3/8eW2c4KAq+gY1QqlaZBME0YoFArFf0Jm4IqdP1BSM/WomRhpOGxFExs2neLLdBE+
+RxVNq/29x7LF8+dtI542YOT2wexLpg0gdp77brz+qVClawa1u6Au7s3Pwk061j3seT3x/e5ubnOR
+Gex2z3p3urm2zMEVCkVLSNGkOOkFqOPYX1AzRQGLBz4gM85FYNNuFVPWlylaHh64xPT1QY3APc+v
+AW1gtV1Fylw1ZOpSLkV9uKqel5N+DxA44Z3hbfeAznvdd8G5smUXvc47cN5T333YpveRPuMqbqdX
+YdvvNASP1MXb+lGFQvGhEGhS7PpRkpqpX83EHrw+nfsCwclf26DLuv9HoFMENpnVG4AjQNFT30/P
+KZJC150yF/Xz6Jp1DqnbCb8VpwxiKqEL61qe1kuVwCnbrmOc+K5WcV0VYOoaUn4nARzBJoVCURoC
+TYov/xCepGayAHzIQoeMoumv7xEz8NUyVqobI0UO9ZNafc4qmtiG1JnUuWh7ZqmZItdQfYxM3Zww
+QJD3VAxaRFU4DBXVXXRPive+S12N52Ld87X5HielWquPVigUZSHQpNjxQ8QapHWpmTJTtq+Of4HH
+ffpepWZaQQwkXe5pXYWKKQqkMvDKawaenXHOW8cRiPh07Mv8KWpsNRMjZS7bX3SqmN5gFr7z2u+D
+z1Ppm3QTz3tbDpx1eVud3j6uIW2KeY+VyvOd/dD10mdQoVAooBBoUnz1B+0iXleFmunXy+UONZM3
+peqyOGBSypwfMCGKJgSKZNRMK/iUGUB0p8xlZp1j9HFvnInupHvxQI0IqNltuI0e/95wHZO8rd7Y
+3jr+aMj0tMu+d1W/D75F1XRaH61QKA4JgSbF1B+fr6uZMqbGyKA4MvhF0uX+/c6CTezZ4aL/V6TM
+ecsVhRKRbdEXcm+qW9ajiZEydyX7FWabeyNcmh73gHOwvYNu8rlv+z+h01/Ldpax3q32QAsmjGH9
+sW7C/Va9Ows2KRSK40KgSfG2H8rIdZyqZvKCAY/SBVU0MfyZnrbpSpnLpNc9ndN7j0xFE6O+PfDE
+mzrHSPWIAifmwKBKxfQ1uNR9nydBjrvhnrLpZ3dg+9Wyu/kevtRWrsLjMxRTu2eQ61JeMfcVbFIo
+FEeFQJPixJcsqZnWEKBK4cL2Z3raPpquVvX/lJQ5T71k2p43JfNKtsnKGeeis8xF+qIrWMaKWihT
+BWMqYMm/6379r3j/+810aJGBSVfjNVWUx0QwVPUs6TdKoVCkQ6BJ0fUDKTVT/CWJrWbyQAavGubX
+sqwBeFatZDYvZQ6BTRdQ1t46jKrWvO1n9blrxrlIm78a+jS9vM+5/7vhuNV+Q3fgvF2KoHt42Z3a
+ZlCVKBPseN4fWH0CW01U7Vn1NlXTtP5aoVAcGgJNitMGIlIzPUOAy/wqjCu4j2eZgXDl1/oJqXPI
+uczysGlVv091mW17HuB0EdtKVM20O2XuK3/ZnhYdKWbT7qXj3jqMym/iOXek0F0N+18brtH7B6js
+tURSqZHfiew7pPe3ZELfL9ikUCiOCIEmRccPi9RM2HGq1EzeF06voumv/f7ahm0AbnZuypw5PnvL
+9grU4wXuHxk4MNVM2b/gR1PoWJBJKqZeGMAEIR440ukxdG+4/xPrV+9qsf4qOmsp6x3vy0DmevG9
+KRSKD4dAk+KklyapmX4PXrOpcch+XijChk0oRKlIsbvA64uUg6dsn+oUfe5X6XO2uK5oW2HPOOe5
+9mw/NG1K6i/FdDVTNvUr4s90B8//BJsqlFasGfAm1P8E7x/0WFdzeUT+KDHl/XGXqukE2KTfNIVC
+AYVAk6L6h0tqpvgLWqea6dd+iD+TBcHKThVTVcpc5N49383yiib0ZRIxAmeomSpf5jMDCLQdVb/w
+Z+p5N4ip2jcKNLpTse7m/Xdufye2v4vLcQfYyB6/amKDKe931f145XvprtTHk8cICoXixSHQpJjy
+AyI1k+9FskrN5IUWT+fMAqaV19FOw++Iiily7xYob0aKpAeWZP5KXa1mYqXMZfvGygEMCpA0IPBB
+iSjE6kybYx4DgTi3rdVP92H1Xf3uUtFGO3znrOgcnbOTRu95iqrplHd3qZsUCoUrBJoUnS9g0e3Y
+fyWSmsm3X3a2uarUuafrrU6hq5ptzozjz2TkbbNG4FVqps6UuV2QiaFOesMsbztSpjIAiJE2t1qO
+XsevYyDH/fcfqxzf4uvUOYNZB9yKQIbsdVQrgqrS9qK/Tcz6uTY98wJOCoXiZwg0KSoHSTuueZea
+afXiJTXTzNQ5s57Z5lafGTPOeSGht94NeC4jbSWjZmK1+a4BDvri3uldUh1vSJm7m++papvOFMEq
+0/FMKt5p71sZMMKeSc7znsG6/h19eoeqqbrPvjY+zwJOCoXi/wiBJsX0F65T1EzmGDQjL2RvUjOZ
+1aTOsY2+Ped82ha5T7N6RVMWbERhU8XLMssAfKqRb4ev0464N+3LBB6MmeeqU97u5HGnwJgvz1rH
+BiPe9yvWNsi50f6cmT53gqqJ/fvZ+QwLOCkUiv8vBJoUFT9MX1UzXc7tVst+Xcdpaqa/1j1tz1Yz
+VcCpC7zmKn+mzD2ivkxo6twVGChE2zPi04T2Vx2Q6c0v5l2Q6R5yzR7g87RsBcSisMoLxjrKEYF0
+d9G1nfCuxfRYivr2IWnXq2WdM+8x/5hYpWp6M2x6+++aQqEAQqBJ8RYD8MhLQ2QQm31h8gzMT1cz
+rcDKE2zZbQSeVTGt7j2jZjLjKpq8vkyrtrRLzbQ7ZW5Kut3EmAKZqlPm7uC5PNfM8onyfP/v8qoZ
+8e6Dn8nKd50OP7pO5U7WJ6n7t2NX+tvbYZOZgJNC8fkQaFJ0/7juOi/DY+avZRHFhgdgnaxmypp+
+dxmBm9WomMzygMlT1ywl0+q8SBtizR7U4a/RMUj44st3JiVsF2TybBdV4zytr4RQd2L93VB/2XN2
++k11vQ8xlD9dM86h70rotVWrYZm/JRe5rlj3M+W3RsBJofhoCDQJCk09d+UMUCw5eOaeV/5FZu9U
+M61g1Oq6qtVLl/EMwDOAqVLRFEmfM+czuhoAZNrcRWzfXQOySX1udWRAw00+z114/tX+kRnoMrPO
+oecwYHtvWUfq4zQDb3Y7Z82QhoKPKkie8WmqeMdCfkOuwjrfDZsm/e4IOCkUHwuBJsUbBlEZNcME
+NdPq8xfUTCjkqTYEZxiAr+oT9WfKKppW9f30Qhj9q+4ONVP1gObEVIZ76PHZKiYWbGEYgFfdQ2ab
+jM/Tr3/Vz95JXk1df8TKegehA/7sjHMo5JmWFj1FIfsG2OR9h1UoFC8IgSZBoR3HY6qZWAbglS8t
+3pcsNKXK7Dw1kxfWVM4cN8UAfFXXK7CUebmLqpn+Whf1MkPaHFvNVD0gmPySz4xpKqYdkCmqZkLT
+57ym4KxZ8aqfm53nn/w+FVXdZGadi/yRAjlvFsBl/1BRoWpiKLgiz9BbYNPq3VahULwgBJq+GSem
+zEWPn/nx3q1mQiAE+vKIgAimmumyvBF4J4wy43kyMf2ZGAMFr89GtcdGpv0zB1/XC/vbykH8SSqm
+u+ie7sTnX8f69X/0/N57vA969k58l+pQVlb8kSx7DVMmktj5Lsl+/30bbDITcFIoXhkCTYpTBlKV
+aqbqFx9mutwKMiA/6G9RM+00AjeLwaYLKOdsfZvFlExRSNqlZuqaijqz7xsh0yQVUxSqmPFSz3bU
+S9aDqnLWOc85up9Z9nvIVdAHMPo8A/r4CihQoVY/TdXU9Tvz1gkplFanULwoBJoEhSadm20AXvXX
+wuyLT1TN5HlB+IqayWyGEXgkdc7Aco4qmtAXOSR17iK1lUow1NE3Te1rqwbs01RMUeXOjpQ5T/rc
+Da5HzsecNS9aLxUzxd0D+gd0n2qlzUQz8Oo/BLCOeRHLOlr3HbBpwm+U93kTdFIoDg2BJsWOF7Ad
+5/2Cmsn7AvMGNdMuFZP3ntizzZnFvDOivkxT1EzRAcCElLldwVSlMI65Q8WEqmk6IROaEufZJpJC
+5y3He/Nzd9r7TcY0u8ufKfrOwDy/Z9/V70qFqml1nImw6a3qphOvU6FQ/CcEmgSFuo4nNRP2ohNR
+M3kgjGefpxfMk9VMERjFTJ1D0ucsCJWigwammsmSbSQ7EJg+2KyMaYBpiorpaR2aHseecY5hBl59
+/l/QiT37XMSP6oT3q46JTKLnyBqBs2acQ+BLRVlXgb0O2MT4zTkNOAk8KRQHhEDTd+J60bm71UzR
+83WrmaIQagUiTlYzmXE9maKpc8h3tM4vsI5Xz5Y1tRfGgKBqEJDpu3b0tdPUJN0qphVIup3LURCT
+TZl7Akk3sC1y/jv5/NzGg4hT/ZhYA3ymP1O0n6sYkDNmLvWqY719dOUfMLJg7xTYtHuskHkWBZ0U
+ioEh0KSY8GMUzflHB8fRF4rVC1CnmimjaPJs/3S+nWomsz4Vk/caLQCYVuW6qhfGy5h3ZkN0QOBp
+K5F2nh3IvT1lTiqmfKqcd9lN+mwOmBS57gxsqgI/J0GmDsDEfD/p9GdaHSPaj2ffvzLvjtnfmjfD
+phN/H6V2UiiGhUCToNDuc7PNDFl/oUL/qvY0+GaqmTwABdn+13a/lu1SM3V5MkXB0q/7X5Vbxp8J
+KQfPi2SHmgn963N3f5I9Vmdfy1YxdQOmHSomL1BawRmG2oulaooCn50zz2Wub/L7FGtq+yrPoM7f
+kgwgY7x3Zcon8n45DTZ9GTgJPCkUAk2KgyHTtem62Z4GmZeQywGWIoApo2ZCf1ylZvLtu1qWqV+G
+PxPyPKxeJE9WM33JAPwLaXIVKiYvUIrO0BYxAGd4NFXNPFf1XNwHtjkmYMoqfbx931VcHqjC3HPv
+EY/MbLlnfmdYUIkNm5i/c28BNQJPCkVzCDQpmC9b6LadaqbIgDQKOSIvNh7ghAAU9K+TUjPxTL9/
+fb6cZX2R6hyBTm9QM+3q57oB08kqJsYxmSqmiEcTM2XuCSRVeTShZY4afmcM25n7VIIiBmDKHg8B
+Hmyl50W4xqrflR1gjwmb2O/NXXUv8KRQKASaBIWOve5uA/DstbPS5ap+BKVm8u27Wub9jNQt6+XH
+k1KZGRRcYDtgtrVKNdNkyMQ81olpclUqpr+WrUBUhUfT6v4YHk0Zz6S/QNJtfPXTiYontC+K+jeu
+vlcBp45UbLZSNvO+h/5OMBVMFbBJwCn/zqRQKMAQaFJkX6DYP5RRVdJFvq+MmimbTrVadoKayatw
+mqJmetrGbJ+ayazfSyPzV+dVu2YNuL4UbM+ciYApkyaXVTF5QMdtOY8mbxpdZJvoNbBmn8sApVPf
+dy7yssy7Dpo2V+3PlIVMrPcwbx1cgeueApsEnASeFAqBJsV4KNR97mrp72410xNsqpptLvrDWaVm
+8gIos141UwQ67VQzXaR69jxnRmor1WlwlTPNTXqZrEiTOwkwRUELqmJCfYwiKifPMvT/1TKzXBpi
+xfPMOBfz2hh9G2tZhZKpaoCMnO8Kfr6SdVrxR41psClaTgJO/PcqhULxRwg0vbczPOGYrBe2jPKh
+Ss1kC+iwejGr8mfy/Gh6wMqpaiavJ9OpaibkRTCiZkJmZmR5mJ0GhyYCprthPzZg6lYxVUEmDyDq
+MgRHzMinzD73xvexirS5auB0GQ6YruQ9R9/DPL9bXvgTSdM+ATZV/HZ+DcCw/jCoUAg0KQSuSNt2
+GoBXGE9mzpVRMzFfEj2wIwKbUACFwB/v/xVqpgxsMutVM3nhordNXQ1tmL3v7pnmupRDXwNMESiC
+qJhQqMTyZXpah6bQZa5pVbYVz9Jd2J6YfUtWoRTtv9hKJtYfqTznYbwfRf9wyK6bU2DTBHXTF4FT
+1Xu7QiHQpDgaCk2/blbKHLpNBHJEP0fMPBkviZnUOVuAnLepmSKpcyhwYtQ58tLnSeM0x7NePSNj
+p5qJeSzU52aS0fdUwHSTlq+W3QBUQuFOxBAcSaHz1i1SPujzels+LXLKexLLdwkFH1lFTQdE8ACu
+blXTCjpVpi92wKZqdZOAk8CTQiHQpGiFTG8wAPe+XFzB42YBU6dXDwKXsiljHrD0VjUTkj7nqSfG
+C43HP2Oymum0WEGQTh8cFjSaApjM8ulzXf5M0dS5qFn4nbifSP3exGd6ctpchaopA5t2zDjXNetc
+9B2AUU+TYZP3N5TxzlgFWzROU3koBJoUiu0DyAkG4NXqDG9K1QpGROXuWTUT8tkDdqL3eKKaiV3f
+yMsdombyLEPaSfdLflX/FIE4VXDJrCdNbhJgqlYxeaDSjtQ57/GysKka+nQCpazaqGKfqlnPVr8r
+FWlzrJlMqw3BGSr0k2DTROBUeVyBJ4VCoElxEOhhH3OXmgl9SWQbgZvF0uXY6pZT1ExRVdMJaibP
+y/k0NVO1b8ab+8+OEGDClnuB0qTUOWS7DGy6ic/XFMjEfDdAYQ/jc/T9oWpQn/mNyUCm3WomFmxi
+pj0idctQs1UCFoXAk0KgSfHBzo61bXYmuIq/FDIGlyhsmqRw6VAzrTydWKqmCIQy61czVcw2h77E
+TVAzIYO47HW+NU4CTCs1l3e9F1oggOmE1DkUTkVhk1mNITjynFRDqer3GnQG3AzYQN4fon/IiBqC
+Z1VN7BQ6lqcm4zcpa0QefaZZ6ZOVcEUh8KQQaFIcDoUmnbtiVpbI9tUvMChwWgES5EcJgRxsNZNZ
+j6rpy2omxPjd2yYq1EyZNl7dR5328nYaYKpYn0mTM+tPncuqm1ipcwyPprvgedqhcopCJ2baXAZs
+eN4fou8KrD9keN6HKn53vHWVnUBmEmx6E3ASUFEZKQSaFC+GTKemzEVMOBkvMBf4QmWG+zN5Xw49
++9gCuHSly2UAktRM+UGAF3jaAkSx0xcifcAXXroyKqY3AKbbOGlyzNQ5D3BCPZvQ2ecMBExI2pz3
+WbiTMIr9LDN+z1GAhBwLgU3IH6a8v/2ZwS3yxwzkviLgia1mQuunAjZl0iAjf6SaCJwEVFRGCoEm
+hcDVWAPwzI9+1pMJHcwjM5BF4cTqh4kJm1geTQwY5dnHTGomb9t6o5rp7YDpbtyOoVC6g/tVQicU
+ON3mVxlFZ5/Lps4h50FB5R14TjuhEhtGRQFTFmZElEw7zMBXZVAFmZgzAnbCJrM+ddMJwElARWWk
+EGhSHACFJl1ftQF4FC55j8t4oUT9mVYvjCiI8PoyZQCTBwplQFLE58lMaqboc8t4uUdgV0cfN7kP
+/RJgQtatVDQrYOHZl2kA7oVMHpAUSZ0zBxzbBX12w6RoP4i+5zCMvxEj8ApflwpVkxVDpitxLgZs
+qpopFVG/vwk4CaiojBSHxf+tIhBkCh6z2gC86gXRM6jN/GUsq2ZCYAMCIzK+TFHAxDL9zsAoM6mZ
+ss8tqz1fRf3K216m7ob9bsI2mfWRdYzld+H3qtnnPNAJ8YLKzkB3b37OkT7oXnxmHdN+LPNcw9M+
+v77bj2W/yvUqqq9f5/33Gv/6/vR5tSxSZ0jdeetnVVfINgYsN+BZvsD2diXb59Xcxjv7lNPHiiof
+RXtI0aTohlxRSfGVOD/TADwLmBAIlCnjqBE4AlKihuAd6XFesCQ1k7+NnaZmOhFATTD6nqpgyixf
+KZYiUOlOfPbCJS+M8gA21gx0DOg0yRycrWqKwv0KNVNFWSF/3IjMPtft01SR5phJfUR/y5CJYiJ1
+zXheOtuylDwqH4VAk2LgAOptBuCMVDnP/tF0OQZwiPg3WQKqZLbvTI+LpO5JzeR7EY+2/4lqpkkv
+WxOMvnfNEscESVXm34xUOS9kegJLXujkUTNFfayi0KnKILy77bPNvg38jqTdR/5gYZb3akK+d/k0
+MWATy1A88pvm/UMTG/ycCJzMatJHBZ0UCoEmQabiY05NmUO3qXhZWb2YeF4UmTPDoCobI32eomry
+wqcoeFu9RE9RM2UHSWgbmQhypsYEH6Yps8RF9mGqmrqA0w1CoqxPEzJr3ur43uftr3/Is22Ja+iC
+R0zYtEPNxIJQlriXTp8mxjtd5H3PwG1WYIbxDr4bOO14NxB4EnRSbAh5NCmmAbIqA3DPwBh9EWWl
+y0WhAwovVnCJDZh2qpo822YA00lqJpYhK7MdIi/zEZB1wgtTtYIpu010/RT/pV/Ls95NVYomBDKh
+Pk1Pn5Eyuge2iX/bvdfPhuXV9O93lr9P1pvpSpaxd/+/ruECvj99/uXTFP3fAst+XX+0Hr11+/SM
+erybPHUd8WO6iG2V1e4ZYxL5F3HrV6H4f0OKpnfCmqpjftEAHP2LGwqcsuBhBVs8wCkLmyaqmlA1
+UwSwmUnNFGlzX4/oFPCnKJgY+2RVTX8paVgqp2mQaQXOMrCpwxR8ykCPMZtsZLtuNRPz9wZV7EQU
+TawZ56LKJtYfSjKpdJXpdMh22X06jpW9Bil7sP5EoRBoEmRqgUzovpMMwL0QyvMy5HnJQH0PKpRM
+0VnmvMdBgA/68psBS1IzYS/5zHbOVDNN7E8rABMyABdgii9DvmfgU9QUPKNwWn2+A+XHhk5VkKmi
+b+nyYvKACvSPF9nBd8QDcgWcIn5N0Xc4BDYxJn6xRL0iv1ksb6YpwGkC3BBoqaljxcdCqXOK6oHb
+FAPw6MtIdMAc/Uskw2MBAU4R2JQ1AWermjzbmknNlGk/yAv+tbG/2QWRKgbRXWly7BQ5Vupcdtts
+itzqe5eiaVWWWdjk+e69nqhabxeI+qvvYKbArbYz86eb/Vr2b593E/vG23EMb3rfbf4UtMt+p9J5
+Ut+i6yz5+a91Zngq3dOyVb146n9ySh36TO8Y33w1rexSGSgEmr4FcbqO+QYDcKbcGgFMGfPvSiWT
+B6hEARMLDrHT5KRm8n9GAXEUzk6HRDsg09sAU6f/Ugdg6oZMETPwqtQ5NIWzWgmFwiPP98hxENhk
+tsebKQoOVsd48mh6AkxmeY+mp3XdsMkM823yQrrb8SxOBE5vhU4CT/FnQyHQpPgIZOo6/zQD8Oj1
+MwBThfm3xyshkjpnC3jDMAGvVjVFoJP3s7d+T1cz2aIuGP3FlWzjbwJMDHiUhUgnAKZKRRMCY1D4
+5F0fnYHur3Wec0dnocvMRDf9nSti9IyuM+OrmbyAIdMXIYomz/eooskDmTphE/rseJet6n0qcKqC
+ERMhz5fBk4CTQqBJUTpQO8kAnG0a+Qs42MN6D4CI1IE3Tc4IoIVlAo6AJDZYyt632fvVTBEPMwbQ
+6uiP7iJgtTtN7jTAtAs6TVc0IZApc2zk+ykz0XkH715VExM2mWFKl5WayQOeImWJHGPXrHNm+Rnn
+WLDJgHUrOPf0DJ8OnCqAxMR0ri+mmAk4KQSaPg6EIsfMpMxNNQDPAC5kIM8w7swqmTxwiQWYImCJ
+pWrKrsvAJs8yqZn4/cvE2KliegNgmu7JxAJMXqBUBZs8pua/IBJq+n7yu9cd/I6mTXngA5Iqx1A0
+3cD+dxI4dSiaqmCT51483z3PydO+XuDEAkkZkFIJJKR2mtd3KgSaFIptMGuHAXjWkwkBTKiXUqSc
+Gb5MDMDE8lKKQKhVmh9TzeQBd1Iz4UCL3bd4B1MX6TiV+1VApOmAabKiiQWf2IqmSLreX5+j6qb/
+rruJbXQCPGLAJjOeb48B4CkLkrznigKnLkUTEzZ5YRkC3Z4AlOe5yK6LwqCJKqfOc7zhmqruUcBJ
+IdD0AlhTdUwZgMc+r6AEU9HkgVcIJMoCpghYiqia2ObfEeBmgbpA69sDn2zxHGbgT6eaiT3teAds
+EmCaDZ1On3VuF2zywqWqWejM8rAq+ld1NmxaAYIIXPKAJUSR4t0vqmbyACazHkVTBDYh18t6hn7V
+8w0851nD8C7gtAM6TYEgb1c7CTgpBJoEmejnZ6TMZY7fbQD+Cy4ZCBqQ68somSpnmZuiajLLpfs9
+wSYLlrnUTHMDhU138lyVgKkaJE0DTLsVTRPT527rMwZnzULHAkxZkMSGTU/gKAqXPIPTDv+51fUx
+ZqCrUDSt9n06P/LZLD4r3eqZYKibJgKnLuh0Anh6WyqygJNAk0KRBlFXcv/I4NgLodgG4N6BvjlB
+Q1TlElEyVc4yFwFLWVUTui5bPmYxX6ZMPdvDec3epWZinYcJm27C8RnbMZVKVdCoGhJ1wKQu+LRL
+0YR6Na1gUHYWugrA5FU1VcEmL4BBZ5bzpspVTC3/1/GvxfJs+hwChSYbg6MwCnk+JwOnE6DTRMjz
+Rugk/yaBJsVgiNN1zB0pcycZgHsBU6X5N0PJNM0E3CwOoVCPpmgqIVLPUjPV9hkV/WbVC1C1iokF
+n97gtXQKYJoAm7yfn+CSJYDTpMEOCzaZcYGTgesq3iUR8/Ff6iUUMJnFFUhsRZNX5WQE+JR5jqYC
+p8j2k6DTBNDzJugkdZNAk0KQqfQ8pxqAewbzZnFFU6S832QC7oVqEeWSdxlaXl9RMzH7jIlqpqqY
+qGL6CkyqBEoVsAkFRpXpcwhcuocDp6cZuliwyYwLnFZwBzH/Zg3sUeiFpM+tlE4VsMksrmiK+DZ5
+4JMZntZ5KnBiP5tfAk9vgU5SNwk0KRT0QSWy/TQDcGS2ObN6RVMEOE03AV/VD9v8O1omHvDzJjUT
+qhDsVjOdCpkEmGbBpE741AGbIsu8ZXADz9fUwQQLNrGB02pgi5h/X8Q+zGsG/i+EeYJInnUVsAk9
+jll9Kt2v757npRo4rX6PIvCDCUy64csU2HM6dJK6SaBJMRjisI+ZSZljGIBnjj/FALxievsVhECW
+e8HKLhNwRNXEgk4IbDKTmsnTXrzt+Brcd1YCpgxk6vZbOsG4+yTAFAFB1bDJ69uUMQav8mGKAiUG
+bPIO6itmlkNUTSwYhSiZnpZFvZpYsGm1jRnHt8ksbhRuFoObT897BjghUCACD5jA4atqp5Ohk9RN
+Ak2KAyHTtGvvTJmbZgCeAQ9MJdNbTcAzM85FUudQqCg1U64vOaV/ZECmahXTl9RKlUCJBZiqYRMj
+fQ6FS7fjOZ40qIjCpirglAFLXtUJ0m+tFFQeuLQCKmzYtOp/URC1WvYE0VheTdlnbRdwQn4bK2DJ
+F9VOJyqFpG4SaFK8GF7tMADPDE5PMwCvhA+7TMCrVE0IhIpAJ+/9eusXnRXwLWomS7bZ60V97S4V
+0/TZ4U5UK2XgUxds8m7DNAlH1U3e550BnTx/DV9tU+WHw0iV88Ceyn7Vm7aHqJlQwITCpsz/ZhxF
+E0Pd5AFQkee1EzhFIUKFUuhraqcTVU5SNwk0KTYCoR2QKQp8GIPMtxiAIwBpBSAYSqaqWeYiYKlS
+1ZSFax645AWCWaBoC/gVgU0ZNdP14v6TDZhW2540a9xUeNQJlCoAUxQ2edLh0O2f0udWZYKqm9jQ
+qQI2mdUCJw9YQqES0/PGC52q1UxdsMksp2hizUTnAVCeZQzg9PRMITAjAz6q1U7d4EnQaX2tAk4C
+TYoPgzDWbFFX4jMKlXYZgF/EfwhwisKm6CxzbLAUnXkuA5hWQEdqJvy8Hf3MVMg0TcUkdVINfPJs
+t2PmuV//R9PnosbgN9hmqgYYEdhUDZw8A1407e0i92+oEfhfA1uGmqkaNv06lplf0RQFTFE106SZ
+6CIqpynQqRvGTIBOJwAnwSaBJkUBxOk65o6UOdZgdJoB+AoyMOo1ApxQ+JSdZS4CixAIxfZjypbT
+6j6j9fsmNdOb0uZu4rYneC5NgEWdwGg3bGIpnLIm4avPUWNwtP0g3i6sbSODcQ9AOiVVzgCotAJO
+yMxzu2GTWVzlZA4IhcAnM1463U7ghEKnCFSoUiV1qp12QacTgJPUTQJNipdCJsa+XzIAZ6pb2Cbg
+HmjCmmVukgk4CrA8sKmqrlfwaQWcIu3IA5W87bBCzfRWyLR75rhTANNU9VIUzng/dyicVsvuZJms
+llUBJ+bghQmcVoPJ3aly3nOhwMkz8xwTNlkQOq32MYspmrrNwacBJxQUMIDL6WqnHdDphLQ6qZsE
+mhQfB2EVBuBoylzm3Ahgehr02wLkROqBkTrnXZcBO1XpcgyDcqQszPp8mVB4hYKek9VMbMXlbsCE
+QqMMTPoqUDrZCLwTNq2WeSCU5/sTKGIDp8hApBo4GWn9qp9g94Xe6/0FnDzqpgrYdAfLIuvbZIYZ
+hSPwySyWTtcNnLztKAKdogDkdLXTTug0EeoINgk0KYqgDPuYmQFcpwG4FwytBtJsA3DEpHsFJSqV
+TFHY1KFqykKoLGAyw/2sECAkNdO+vvANkKl6lrhpgOmUc+2cdY4JnTzH8X6OPl8VwCk6EGEBJ8Z6
+dLvOfvBKLK+CTV5YVOnbZE4IFQVMXebgLGNwpsqJCV1OVjt1Q6epwEmpdAJNiuEDqx0pc5FBalXK
+HNMAPAocLACiEOCEAqUsxEHXZdLlmIDJHPDJA32kZvL1Ayd5M93E7Rmpcm9RLL3hWNXgKevThMKl
+aPqcZ1Y6ZBY6Vptj+L1kDI87oFL3tOwZ4HSiKTjq22QWUzR5gBJDzcQETow2kIUnbOjEbFOd0Onr
+wEmwSaBJcSC8mmwA7hkMe45VYQCOAIeosiWqZIoaYrNVTex0uQxg8qbOedVMWe8tA8BWFDZF2lGl
+minTr1RCqxNT5aanwO2AQMx9O8DT5JnoVulzK7iUbReR9tcFnLwDbmS76PbsPpABnCphkzmWdZiD
+m/EVTRVqJpaZfaSdeFVOGejEAk+nQKfuWfIEmxQCTR8CQpFjstVM2ZS5rJrp14B5hwG4FyZVps4x
+YBNT1cT2bPKePwubUOCUbVdfVTNNUzjd5O0rUuVO81SaDpCqYdMp5uAo9MrWz+qZZ8Je1oxWXui0
+CyjdgXuqBE4dsGmHObjn/GZxRVNH+hzbqwmFrlXQiQVfKtROb4BOE9VNSqUTaFK8AIRdBcdnGYBX
+zTaHGoAz4YMXLEW9htjm2gz45NmWlS6HAsTKGQWfjmXOZ/JtaqbTIVNXqlw3dOoGNhO3nWwOnoVO
+qMrpr8938nmNtsnqKdQzA+UIqMrcX6asIrPN/VpfDZvMsYxtDm6WMwo3i5mF/9qvGjihMMrbzjJt
+6Q1qpy7o9DXgJNgk0CSIs/GY7FQUVM3EGNBexPJiG4B7YFGlkskA2MSe0Y0Fn5gm4Mi9er53AEVb
+wKUIYJqgZkK38ex/k/rULhXTSUBpGmA65dpO8mvyQCZbbOdNpbMHGMWETZn+6W44RgYm7Zhh8woC
+py7YNMGvybPsCSRF/ZrYcCk7s2JU5RSBFm9TO1VCpw7gJNikEGgSZNpiAF6ZMjfRADxi/u3Z34LA
+xWxv2hwLLE2eZY6VFul9tqKwCYFK3raIqJmmqp12psqxAFIlNNoJY94AmzoUThnolPVtQj576ijr
+25QZYFyEY2bNu6/Cvitzjiuwrho2WXBZN2RiKZq60ueiSqZulRMbOrHa1FTodDLMEmwSaFJ8EIRl
+to+qHU42AM9CB8QzKAKbTjUDZ5iAm/X7MiEQywLP7a9nf4qaiQmKomkR7H3Y5t5ZKDQZwEwCUfJr
+wo8V+ez5jraj3e9GLAgVOWa0n70T94kApyrY9LTe69eU+a1hqZtWQA0FTFMMwtkqJ6RdZMERW+00
+HTpVACfBJoVA0wEQh33MjNqgwgAcAVBfNQDPKJlQJc9bzMCjvkxIGbHr2Zxw6W1qpqu5v6yETLv8
+mDpS3yakk+28pt3gaQJ0YqqcOmBT5+DiKriWXerP23ENiIqJAZtscZ4uNVOFuukvkOQ1C58CnDLr
+UJCyU+30VuhUAZwmqZtkEi7QJMg0/PwXaTvGIPmrBuBRJZNHvbTbDDybfmeWVzNFfZki9bfa3vOs
+2Y97Msfz3qFm2jVA8no6saFUhx8TOjA/TZl0sgJqQjpdpUl4NAXvr88sk/CTBg1Xsl/bdR2smeay
+sCmaQsecfa46ha5K0bTLIBxdtwM6oe2LkWJXAZ2mAyepmxQCTYJX5Sa/jBQ7GYDHlEzVvkyVaXNe
+6MSATWYxA3YvVKpSM5kDNiFQyZzAyXM93mMxYdOvY9/JY6LrK/2YdvopTYIvU6HUlFnoEKDkhUuI
+yupOlukk2FShWup+z4uajKPG352wycD1U1PoqhVN0/yaKqFTFDx1q51Y0KlqJrzJAEuwSaBJUTyg
+2mkAnk2ZkwG4H0QgwCMKmyalzRkRdq3AlbcMLQmSkP08wOlp/dMzbnaOmil7TtaLRDVkYkOnCVCp
+W93Tud2Oa9oBnTJqJw94YsKmrv7nLu6zdsftuI9sylwENiHHOzmFjqloegJHp/o1oTDltBQ7NnRi
+Aac3qpsEmwSaFEMGdVfB8a/gNm83APceO6NkYppss9LmkG12zjLnqc8ITDQnXHqbmumkgRcDMjHS
+51gAqgMKZfafBsR2Aa8OwMSGTKzZ6bLtKDtYfOMgBDUhjwCnCth0O8BWJoUuC5/MatVNT/DJC6MY
+wMm7fNWO2NDJ0153ptjtgk4TwdWkPlawSaDpcz/uVcdkTzeOqpkYg9mMqikCm6YbgEfAydS0uZ2z
+zEX8rzL1vgJPHuC0gk+nqJl2moBnAVMFZKpKlZuqLro3nOsECMVWO1X6NkVhVwVsmjT4mQrWb/Ba
+vcCpCjZ5oBIjhS6bSletblpBJARGZYBTZnkldEKhSneKHQs67YZFFcBJsEmgSXE4uNphAD49ZS4L
+mFaAgVG/FUqmFRCpBkxmtWlzUdhkzvOsrjtStx7PL8/3CMRhqZky/cEpg7HJkIkJM3aplnYpp6bA
+pYp76IJOUQCVhU1M+BQZbFxF19INt7IzzFXCpo4UuhV8mm4QHoFREeCUXT4VOkVB0A7oxFQ5dfeX
+XfBKsEmgSVDo8OtjGHqjx88agWcMwM0wRdMK5uxUMlV6NXXAJxZg8pajGU/JxFA0XYHn2tN+smqm
+60X94vSZ5U6aAa0aMAku9UGnX7PGZdVOGdi0G+awjHu7+i5kNs4IcGLCJgQeRQET2xjcGiFTRtEU
+BU7M5bugE9pO3gydsoDnbeomwSaBJkGmwDGnGYAjAApRZHQYgK+WsVUuVUomNmBiwiNU1YSCnghc
+8tZRtK7N+Yx54dNqWbeaaUq/eSJkYvsvsVRMHYApA2q+mD7HAkwIdGKpnZiwKTIz3WVcdYSnH9sB
+qe7A9aHAiQWbKlLoEOi0U93073qzmGcTEzj92i67vBs6Zbb1ttud0GkXcBJsUgg0KaAXliu5/2pw
+Gkmfu4LXdroBOEvJ5IFiU9LmIn5OXphmlkudQ+EWoogyACihaiaknSD9ANv/bVdMm1muMlWuW3F0
+stqpEy7thn4VZuHedUzYtGvgkR2Usvoq73GzM8wxwRIClLxllDUGj0Kop31RyNTh2XQ91PeJnk1V
+0Klj+yz82QWcKvztdgEfwSaBpuMhTtcxOwzAvWDJgvtmVE0R2DTZAJwJl2wDYLqI+5vV+zJFwKL3
+Oa9QM0VM873tnK1mmgSf2H5MEchUqVxiq5gmA6Zuz6cJcIkJmKqgUwdsioKnp0GFZ8ARTd9Br/VK
+9msMw+9f20wyA2copbIpdVF1E7IehUgVJuHZ5d3QCWmjU6DTLnXU19VNgk0CTYrCgZwMwN9rAL6C
+Pl2AySzm+WS215eJBRFX0Akx/854mk1UM3VCqB2QqdPk+wSAtBM6TYdQbzcLz8KmKFxiACjmwPVK
+9lXo/lHD7ydQ0+HPFAU+q/NWGIR7jsWETAzg5Nl/Baa8y3dAp0yb3K2MYkCnDkVVdl8BH4EmxcbB
+0rXxWCcZgCOw6WQDcLOcssmMC5isAUyx1EzRGeaqYOIT0PS0q4iaKeLB9iY10/SZ5Xanx+1YPzXF
+bjqEmmgW7oVMzDpigaeMyglVWKCDWO+9VvgvVcKmCHhCVE3o8bMG4UhaHRMyRYCTd3tzLPMu74RO
+GTBVvW0WOk0HTien0glyCTQJXBUM5N5gAO5Z9gYDcBSoZFRNu03BI8bfWRNwppIJUTR1qZmi7dC7
+zamzyk2DTCzz6wqwUwmYJkGnToBUeX2Z+qoyC6+sMyZ88gCozIAWNQ5H4FMGKBkAlTKwSaomDCZl
+TMIz31fLntrCLujEOsZE6BSFR13pdKermwSbBJqOh0KTru9NBuAr2LQCTBl1S7UBuAVhEwqqqlLq
+GIDJrM4EHKnrSNvz+jNdYPs5Qc20u+88GTJNUjF1zHRWtX4X8NkFoSrNwrthU1V7zww4GIbHEQB1
+B7Zlr8/CJi8g8sKjk1VNKGSqmnkuq2hiqpl2KZmqfJ0qIVIXoIr2q0x1k2CTQJMg08ZjygCc689k
+Ns8APOvDhKiDmIDJLJd212UCfhXX8Qo6oelyBrYhBC6x+5mdEF6Q6R3LuqDTFNDUDc8mQCdWfbIG
+FU+QCV2OgqIIUFodi5kyl4FNUjX5jctRIFUFnCLLotBpipKJ7ck2EVBVK6KyoEqwSaBJcTjkeqsB
++NP6rKKp2wDcA0hQ8LJ71rnsPXg/r8puVe6eukOUbraAmRk1E9JOvG3yOrxvnAiZKmDCJNg0AURl
+yuw00MQEUhPS6jxtbBd4egJSZjFj5Ch8iqa9ZfbNwKYoIPLCozermhg+TUzAVOnbhLYVtpJpB3Ta
+CZFQCLRb3STYJNAk0DPwmF81ADcHfPj13QsIOgzAUSWTGUetNAUwdfgyIfWaAVBMNdNFbN+Rdjs9
+be7NkGkXWKoGTJ0z1U1QN1VDKLbnVxd0QgAUuz9ABxwM8MQYUF9k4MSGTVNVTRH41KlqYhuDMwBT
+pW9T9Qx0E6HTFDjVpW4SbBJoUhwErmQAjnsymQM4eU3AkbJmzDiHgpnVNugydN0kXybvfSL159nf
+O9vcZXxvs04106S0ubdBpo5ZxBjwaIoKil2mHYCoGjSxy4o1W93dVO8dkAkBTE/gKKJmusnACfFn
+8oIgBBhVq5o897Nb1VQ5E10GMEUUTdVqplOgEwskVcCpLnUTI5Vu14x0CoGm0VBo0vWdYABeCZvQ
+GeaYACIz41wG2OxQNUXBFMuXiaVkigJFA56zSDs6Xc0kyLR3VrgOsFQBsqLl1j0zXQYsVZyzU+FU
+CZvYIOkvYHQHIBMCmKIG415gxQROF3HZ0/oOVVP0eneomqJgLQKcEMCUVTRVqJlOgU47VU5eVY7U
+TfvPJdCkGAGu3m4AzjgmK13uLQbgXYBppy9TxgQ8W+cGPk+etnWymukkwNQBmaoG95OgUSV8+hJo
+qjaXz9w3I8UOeX5QwJXtIxhgysyvgPJCIgZYQqESGzZ1qpoY0OlNqqZKY/CooukCn/PToBMztY4B
+nCaqmwSbBJoUgwdXldf9ZQNwL4xAy706bQ6BUJMBU8aXyVt+nvJh1fHq/BHYdIKa6WrqQ0+GTBPV
+S1Vgaaf/U8fnKuhU8dx511WaiLMVTp577IBMK2VTxjycBZYiy5lpdBEQlTm2VE3r8mb7NiEgKgOP
+JkMnJkxiKpfYKqgMiBFsEmhSDARXO9RMHrAUGeTKANwHfTLABlm/e12VL1NnHXsg5lN7upztTGqm
+8yBTt3KEDYkyAKECQmVB0xvAUvQ6umZArFI4IfAp2m88DSoiyqYrMejuBk5VKqZqVVPkmFVpe2bn
+qJpWdYZCKARECTrVbNMJpbKwySzv2yQAJND0SSg06dwyAH+/AXh2BrrudWa1vkzo9WXbptefyatu
+YqqZsoB4morza5CpQ71U7bHDhlAV8Gk3aOryBGOCp4p0OgO3Q8ozC5ZQZRNirJwdyO8GS1EQw4I+
+2VQ6ZF1EzfQEl7zlvEvVFH0uM3CpGjpVQilGal1mm26lVBYcZWFRF2wS1BJo+jS4OtkAPAKyqgzA
+s949q33MCUK84GYFoczeCZg8sMkLgZiKJmS2OXO2lyiYjbTnbF9RDaUEmfaBJAaEYl1zZvsToFP1
+9+pnmQEVn9ouAp+yfYl30JGFUN5lWeC0U8XEUjVlgBYbPiFAyguepqmaooCJBZd2qJl2mpQjsIgB
+raaom06AOIJNAk1HQKHd576Kz4mqMVieTE+D+s50uQ4DcLOcqmkKYMqWr9fwG1EyoYqnjPm31Ez8
+QeGXIFN1Shv7f/a2WdD0FbCUubYu2MQCSdmZ6q6HwWFG2YRMF89IX0K27VIxrQBO1gicZQpefb9v
+VTV1pNFVq5nYSqas+oilXtqhbuqETQJAAk2KwgEcW83EnhkLgUoTDMAZs+J1ps2ttvEu82wfXVcx
+8xxi+I1ARAQ8mhMuoWbgF6nNRNpttN+q+kv1lyFTNWyaoG6akFbHAE1M8DMZTE31ccoCpujgBYFK
+aGodEzhFZoarUDF1qZrY6XNRU/BoOt1JqqZd3k3emRoReFSlZNqdlrdD3RRJpTsBNglqCTSNhkLs
+c3cagEe3P80A3AskJhqAVwGm6WlzKHCK1PdqPw9w8sAfFtTJtt3Kfg9JZxBkOkOttAM4ZSAU8zMT
+OkW+7wJNu2ATuy+IDjJWkAkBUNXAyaNkiqqYmDApkuqWgUpGuH/kPpF0Os/97lQ1MQBTh6Ipqmaq
+UjJloBADOE1XNwk2CTQpDgBXLDWTZ2D8VgNwpAwnGYBPBkysVDlPGSJKpmg9r6BTlZrJux5tt519
+2upFGz3WqZCpCjZ59z0ZNHWm0HVBp6p9mDBsB2wy8HlgwidU2VQNoLKD/ixsinoWZUFUBHpFYRI7
+bc4LoDqBk1lO1cQATDsUTVNmvasGTtPUTYJNAk2KTVAoeu5OdVJUQXGyAbgXkHhhBKpkMsPVPdMB
+kxk/VS6qZMqYfnvhJQKYvO0E2SbaN1xNfeEdeGE5FTJ1Kpoq/z/N1wkFStPVTNFtuuASs11k/Jsy
+RuHoICMya91TWh0KnNhwabfxd5cReNSzifU/C4SdqGrapWhiqJnYSqadyqlOddMbYZNCoOmT4OoK
+LmPNWIVAKRmAc0BPdoa5yYDJAmVmzvJC25UHMnrbGGuWxt1qJiZwEmTaC5smg6fsNtF6ij4T06BS
+NQTbmVIXBUvoX/QzyqZK4FQBlxiwqQImMY3ALXjtzN+9lZppdY9syFStaqpKo8uCqh0KKDZU2q1u
++iJsEtASaBoFhS7itlfxtVyJz16YJAPwOgPwiYCpcoa5VXmzgKI54RJbzYQoA7vVTLugFcOH5QTI
+lIVNbwNPGfAwWdnEhEqV+3XCplUdRyETc2AQAUtdwImdHlUJaJigp9KzaQWL2GomDxBiQ6aJXmIV
+QIipZsoomVhQabe6aSJs6mIFgk0CTZ+GYxXGwSsoxQRhXgNwLwA4wQDcjJcqNwUwme1XMq1AIQIU
+V8tRwGSBdvQGNVMXZNox61bVTFsVcOeLwCkDn7JgiQGiOpbtmr0usgx5LioHFjuAkxcYVcMnlqpp
+avoc6/pQNRMTOEW38343q/FzegJIGbhUAa8ikIoJtnapmyrMxDMwRxBIoOkoYNN1vKiaiWUAnh0c
+Pw2Es2qm1WcvXMqmU1UbgEfMsd8ImDxlZob7ZjFMw5+WR9uT1EzfgEy7/Jd2gKedqXXe7VHgVA2Z
+vNucCJ92gKeud8a7CDh5IFEWPrHT7CJAJjvjHEvJZMXHyAK6DHDKwCiz/aomVrpcBSjaoX5iq6W8
+MIk1gQLSZ0+GTQJaAk0CZo3Hj6qaMrBpBZzMMGVLNIVqqgE4EzBF091YEA0p76h6zfN8GPAMXoan
+hkrNJMg0Ie0te44J5uGRZV3QKbpNdhkTNHW1K0+dGfCcVMMlFnDqgE9M2FShaupIn8umtTHS6Fiz
+0GUhXfbZMOtXNbEVTZXnzEAtNJ2uQt20y7dJsEmgSVEMhk5SM60G0J7p3DOAKatyYaXOVabNmfUD
+JvQ8DIBmlktVRJVriKIJBU5Ie/K0mShE2jXTnCDTXqgk4MQDTtMgU+e2VbApA5kQmMQETzuA0wow
+RaBBlZKpSgXEgk7RfTvS+ybMQhdVOUW36YBObFjkWR5VMk1VN+3ybVIanUDT62FP1fGuzffB2B5V
+ZVgQNqH+TCvwFC1fb4ocApcYaqGdgMmsJ23uAus2a/zthUtegMvwNtupZuocOOyETNkB8ATIxIRL
+nT5Pk4HTTsjE2JZx7J3m4dH69IIn1kCGCZw8wKASRGXAS1TxlIEpLHBTBZh+HTdzjZ2QaYKqqUPR
+1KWgQgEVS/WUWcdY3wmbOviBYJZA0+sAGEvNFB2sImbj7BnmPACgegayKJQx46h+VutPnmHOjKdk
+6gKJ3ucVhbXdaqYpwYBMyGAYHfzvgExd605VPXnXoXCpEzrtgkwV17J75jpvv1A52PACpycYkFU3
+sSACG8hUQZ3IvhPS5xhQbDdkmg6dmNt2waLK82XWnQSblEIn0DQW5kw5XtV5UeUD0/g7M8OcBwB4
+wAEbPkSVTF5ohICdKETKACYznnrJU44VMPGp/i0JmMwJnaJtMNKmkT6kq1+7SfvcwXMwvWEq4RIT
+DL1J7dQBnDohUzVMqgRcO9JYJwOnX5CJqW5CFFBVEMKS2zF/S67geTrT51hwCS3/rvTKrlS6akUT
+c/9qONWlbmLBph39skKg6fOAC1EzeZZlUtoqBpwVBuDV6VQVBuA7Z5hjbG9WlypnhnturYAhAhU9
+wAl5pj1G4B1qpqlxB9aj6ooqb5hOyNQBlyaonarAUwY4VUCm3TCJeQ134ffdwCnyl3em0qnD36ka
+KGWhD9MHakr6HAMusQzCM5DJC5Q6AFOFoikLjDqVTFF103QT8cnQSDBLoKllAHYdeN9ZM3C2mml1
+7qyiqcoAPAJNds0wxwZMrLQ5BMqh9ezd1hbPVlTNdCX7CKaaaaIJuCBTL0jKwKXIcTrgE7oNWu9Z
+yJRVMVWtY0Mtton4VOD0BJM84CmjdGKpm1CAk92uY8a5jJJpB2BiAie0DpiQaWoqHUv9xNiXBYYu
+q1E3RUFUBlR1wSaBIIEmAS7H+mo1kxdKZQfLWTXTahnL/BsBS1GFTucMc1WAyaxHyRRJeYsqn1jp
+cgxIm2nLV0N/dQJkssDAFYFMloRM1ebdUbjUAZomqZqe6jYKoBiQqQIidUOorlnsdqXUVYMns7/T
+rbrBE1NhtGN2OhbIMcv7NFXOPmekemVuewp08iqaOpZ1Q6woiBJsEswSaNoMjyZCrKwBOGvAHFUz
+mfUomhDghH7vmGHOrMb3yawPNqEqJhQeVqXLeQEtuu4taqYuyFQxo9WbFEzVoKnaLLwSOCHwohqK
+siFS9hh3Q9s9DTj9gkmedLoTFE8WABnZ1DrmjHNVsKrqeFk1kyXKugIyTYNOUUXTLuDUqW7q9nR6
+Awz6PGwSaNo/uKpWMzHvkzkorVYzWRA4ICDCnCAH+W6WUzVVAKYM6GKnzXnrdbf59+r5XsFZz/q3
+qZkYg2RBpn641AGapqiaMpBpp4qpc5uq2ezeApy8ICoLngxYPxU8Vaa4MZRMO3yavNfKmonOGiHT
+TuhUuV83hKoAWE/bT4FNUhAJNCk2Q6yM+sILnCKeTJPNv6Mm4NnvVUqjSjXUJCVTJUxEgJPnmfdC
+J0bbtUDb7ghWus4OyGQDIBMbODEAVQY6VQGmDuDkARidkOkmtUEWjGIbincAp0x5PQEjBC49QSY0
+lW6nr9Ou3xdmGt8En6YMUIuctxsydc1UlwVFUR+nLCCqVjdFU+lOhE1SNQk0tQOZruN1q5nY9xRV
+VKCwCQVODAgRTZ1jGVuzvZImzzDnKSczHADuVDQhz/wVaDc7+riqPqbCE6YTMjGgRxdk2vW5atk0
+yHSiigmFJoxjVqTYVQKnO9Fnen2aVnApAqDM5vk67QZbGXPwiT5N5iyPLhP4Hd+rAdNuUPUXrKhQ
+NzGgkmCTYJNA00fh2QQ10+r83sG7WSydCgESnv3MAUUQ2OQBXNMAE9P3yqtkYhl6e+v3CTghbSrS
+dszZdjxtlw2OOyBTdjDKHFhOh0wZEHUadJoOnLzQKfssd4KjimPvBk7T3tlWgzC2yqkzfa1LBVRh
+SI4Apor7iJ6LdU2M1LrVdy/AyUKnqm0iMInlB8VSMkVS6bphk0KgSYCHtN2VPH71PV3B+/UMxhn+
+TFUwJAJjENjEVjVNnmHOUy5eABRNe/RuuwKcKKjNtJuqPmkiZOoaWHpVTSdDpkjaXBdoepOqyfv8
+sQFTJTCq3qfL14mpeIpCo1/wyAuV2ConxL+JBaZ2pOVllEydgCkLnNhqpg5lEyt1LuvxlAFMmX0i
+aqZKJdNU83AERknVJNB0HBg6+R4q1Uy/BsTMGeYi/kwXsWwjSiYUqrBVTZ7tWYAJVSyh5YLWcVSx
+ZuZXNF3gc3wBbYU9OyMCjif1kxWQCTH/rfJimgaZdsKoDHSKQijvOjZwioCnLHxigCLG/tl0uyyI
+iqrNKsqENWV3t8qJDS3Y8CgLfKYZgVcAJ+Y1sJRNO0zDpwGmiJqJCY2yvk2CTQqBpsOg1TXkOlaD
+UtRbJgKYkMF+BDh0moAj66KqpgrFE0PVhKbNmcWVSVGA6E2Xiz7HV0EbNPOn2U2KrhnmPJCp04up
+EzJV7lNtKp6FTsj/FcAJeTaZ4KkCLu2AVCwz8SyEYno2daicVpApA5t2eCgx1Uus9af4NCFlu0vZ
+tMs0fDeUysAjprqJ6dv0JthUzQk+BbIEms4CUkxDbgTweAeziBcN8jniz8SAdRUm4KttszPQMQET
+ch2Zz1klU4X5t+cZtB/3hEDaqJop2rdMUDNNnWHOs6wSbmQhE2MfxrnYpuVRODcFMnUDpru5vZ4A
+nDxt/S6+bwQsReGSd1+zfZ5OU/ZDwBEKmJhtpdOnKXLMqLJpt2l49jv7mBk1U1TdxPZtisCmqWN0
+qZoEmrYCn5Puie3tcgX/z8Iu1J8pAyC8kIMFmzKqpp2eTVnTbzNMycQGiqiiyZs+N1XNNKG/mwqZ
+MgqmCIxiQKbq7SpB0zRVE/JcRIETugwBHveGtjoFODGgEyO1jlVe0UEOqpRhqp08EIexHwuAZKFT
+NWDKAqcsfIuCPQQkeYHU7u9dgImlZqpSMk3zckL6ymkpdJ8CWVI09UMrpgn4BDUTct4KNRMTQGRT
+56KwKQN2dgAmM556yQPtmCqm1TPC8mfKeDJVqZmY/dFOyIScpwoymfNYkyETEzRVpM91QyfkuYhA
+JiZgqnpJ3fHye2/uR1gQG7lGZICGQqRdqXWe9VlQxFA1MUBOF2BiAqcvKpsYQKgbMO1Iv4tu83bY
+VM0MPgGbvgyapGbCy2eimompaPJCJ9YMcxGwcypgQsolavQeAY7ZGeeigPYCtrFgm5nU3zFNhKtm
+mFvBIu82OyHTLrC02yw8Cp0iy7LAKQoo7o3t8G3QKVpP3eUX8XXKQqZK0/AqUMSCSkzAVOHPxAZc
+b1I2eSDRTmDFAEw71E5vgk2CQQJNr4dWUjNhn72pchlj6AoT8BVEYcGe7MxyDIAVTZtDZ+LzlqEl
+no+n5Uhb8qiZEPB0be63OgaPLCPfCFDKwiWW/xIbMlWCowrQVDUbHRM8ZYATCp0icONtL8V3Qz8T
+7WtuUrmjA7cnbyZLHKfaNNwLN5hpdRF/JhZgYkIgZBumsokJrDwwJwOCKiFShUJqApyKAKpdsGkX
+OFIKnUCTwjEYZgxAO9VMXuCUAUkItDIngDGrS5tjQCF03WqZWZ2SKVpXDPNvz3MYmWEu0laiCkBG
+X8B6WWYNJpm+TB4fniiw8EKMTsjU8f1036YMZOpMm3srVKoAaVWz13WmNWZS6iJwqco0fCqAqoQ+
+bIhTde4Js9F5gVQGMmVUTyzFE2tbLxyqmNmOAZvYUObUFLrXx1dB03XQNV3kY5+gZvICpwhsyKTP
+GQhOkHVKm8P9mCLPI2L+HQFMq+cfbS9VfVtHH8hUGFTPMBcxAc8omqZBpo59MhAqA6A6IVNV2txX
+wRIbPt0NfVGmzryDqS4/JzNfahdrWdbYOgNhphqBM+HY25RNO4BUVqXEAkw7Uu2YsEkpdAJNisED
+u0oDX2TA7FFooLDJC5yugjJFlExRoHQyYKpOm0NgENv82/Mc/qp3A55/bypdFNCy+oKdIGqH+TcL
+MnkByE7ItAs0nZpC9/TMRKCm4NIc+IRCos76QqFTFXwy259iVwmlTjEC77gmpprJW2+7gRQTKlVC
+pAhQqoBPZvtS61jQZxI4ej3EEmh6P+zyKKUu0jENOGY0Xc4DiKoBBEO9dKIvk1mfkima/oaYf0fS
+5VCwhLbhr6iZWGkrUfPvyAxzXTPKMSETEzwxzhcBT92wCXlmDFwXBRy7IdQbJk/JpiPeG+vgehgs
+ovBpknn4VCg12QgchUpdyqYsgELKnQmZKtcxQFUFfGIrmbphEwPcoMeXqkmgafQL004T8Ox1ePfJ
+ejOZYalMO9RMBgIlL4CZpGpabVcBm7wAKOOztdoWBU4GPPddszOy+ops2+qaYc4DlLzHv4n7ZdRL
+GchUDZWqVU3VM9Jl6w2FSm9Km7sb36Oupv4mA5+y5uHsQVXWPDwLmVZwyAs9qpZFYEkGMDGhTRYk
+MaERW83khU4Vqic2LGKDoymqKDZsQvq/KIQ6LYXu1RBLiqbzoNXqGi7CPSCDZg98Wn2epGba6ctk
+AwCTGSdtDoFNVSbgHqjoAYpe4IOae6Nt8SL0RdV91onm35EUOjO+eokNmbz77YZPKGxiAqaO2edQ
+6DQFLnmurcIS4N7QJyH7VCubOqFTND0v4+t0GpzyrNtpBJ45FkvZxFAzRdZ1QCYvcMrAp8zxniAV
+a10GNlVBlbel0L02BJrmwiqGmilr/M0wMa5SM7FM0if4Mj2tR6ETCpg8+0XVSxklEwqQvPXrfc6y
+7ehytu9ou6v0adsBmap9mYwAl7Izy+2GTNllzGNGQBRSjpWQqSpt7ia3tew7SCdw2vXCzyhztrrJ
+HAPBVSpdt2m4BxShYImValcJmDqf04iaqkPZxABQWQjUAZky+2QVTWwVFMvTydOXK4Xu49Dra6Dp
+2nCsTon5VXRfldOyR9VMKxhxgi+TFyJlt8+ch/UZvQ5WXT89NwY8ixWpcwjo7VIzZf6i2TVQY/gy
+ReDS6rgs36FOyIRu25VSxyhbZr2iUOmktLmb0A9kBrRTX7CZPnNd4DCaQlcNnSpAVAYKdQCmCn8m
+BuBizdKHwqTIOdhm40xgFN0/e6xqEIWAKS80qoJNu1LoFAJNCst7vLBT8CapmVZQotqXyQtcGKBo
+YtqcGe7HxKxrTz1H2hFq6H2BbdK7TbeaqRMyeYCSLSBTlfLFO8ucB5awIdOu5RnYlAVMXZCJnTY3
+4cU4olSKDIKzA4FKMM4CTLvqcxJ0MjKI8kAk5vZI+hxTRRTZhjUbH6MPyaqZPNtVKqUywCfr31Sl
+dOpKq0P6o8xvwo4UOgEsgaYjYRACbdiDS8RvqcrIuFPNtDqWF0R0moCfljZnhvlcRUzAs/VtC8D0
+5KG1evaR9pJtN6wB2QTPuSpfJg9IMGB7L0x6giITIFM3aOqGTRVA0Qs62WlzO9Ll7sD21f3I1Qhx
+JsxUlxmARqHTDtgUBT9MSIWsq37WqxVOCHyqMgdngKoIjMpCJjagsodnmg2YKvydvPApA2iqU+im
+MIHXAawvgaa3p81lBq/Z60XT5VC4tEPhgqqZvCClW9WUAVmZz5kZ5yKA0Vvnnmdt1X68qXNom5nW
+z1UPxNDUFJYvU3YWuUo/pimQiQmnToZNq2XoM5h5/qvb7eXYnjmQjPwVuQMuMfq+jIKzauCCqJg8
+QIrt3VStfmIBph3P2UXar0vZxFYzZQAYE6B1wqdKZRVjuyhs8vwO7Eihk6pJoOnTcRVuP2FadlTN
+tII4Fb5MEdDSqWqamDaHzjhnFvNcMmAfb7oc4sl0bWw3O+FTdcpcBjIxZpar9mPqgExV6ybDJhZ0
+8kAmNG1ucsqcByZ5gRNzUB4FTFdzX8eqX/aMTFmwxIZN1QonI+3fpVxiAKdKZVMWDEXOxYI4U8ES
+U9E0KcUuCp+UQvdigCXQtA8OXcH9ogPOt6iZMvWR8WWqMMleLcuuQ5VSjHvOKpmyQHFV95YETCtg
+FNkGaadVA6vIC2MlZGJ4qFSbfyOfPalz3ZApu96s18OpEzZl6ht5nrtT5ryQiAGcGOqJqOqpE9xV
+z7bp/Ut9Vj0QVT91KJwiYKhC8bQ6V0W5ZKFSt2dUZWpc5tongaWooqkTME2FTV9IoXtVfAU0XUOP
+VX2vEdg1Xc1UMfsYwwg8AmSq1Uno+S7rS5urMgH3KppWwAkFtCuwhM44h8Llq7G/uouP1+3L5IEP
+WUWTgXDFs6waMrFVTafAJmQZCpxW7afjRfh29hFdMIn5zlOterqJ296b6j86sOuATiwVVAQsTfBl
+isIdtL1NS6GbCoeYkIkNpzoAU6VBeIVf044Uuq6+WaBJQXm56TABZ6qZooAJNWjerWayJsBkxlcu
+ZVRNFbAJgUEd6ZHR5zgCaZF2yJwRcgdkYs3A1OHL5N3v17IocMqkymUhU9c2ZjNgU+b/1TL0mayE
+F5E+YgWUPOsrBq2eQUO2TO5BfWPlYGX1GV1WlVb3BHeQbaLH2wWWOkDtBCicAVC7y78KMmUUTZWz
+43mUkghcYvs1TYE0UkoJNI0CSZ3HvhL7RFRNjNQ5sx41UwY4MQETCx5FoVVE6RTxaEKAk9eHCQGL
+T89XZra5K9EmkbZZmYZb0V+xUubQtBKGLxOyLpo2l02V64JMlbAp61flBUwTfZo8z/Zd1AazQOkJ
+2HQOFr0v99lUOhaciqbI3UXlkhnkTU2rq97Wu293ulylsokNXbrOwb7WSshUrWiq/Lz6fmoKneCR
+QNM26HO96F6vgnNegW0QFUrmGiPm0CuVDvJ5BaB2q5rYaXNmnNS5yPYeeJk1AEfhrC2O9xY1U5Uv
+E6pgQuBSpfl3NFWuEjKhoOmrsAmFTBnAdG9qxxcROEV8byoAFQKXLkKfl91XCicOdMpuiwKlinbZ
+abKPwp5Tjl8BsSLHiKyPKJomwiYD4NKOFLrKvnXyMQWaPhLdaXMsE3CvmukJKCEDfxRCMGea88CI
+aelyuwGTF9KZxTy0rsR+aB17YJMXIHnWZdp4lzcT27SY6ctkAFzywqcIZGAafiPLqyET89geoLba
+pgM2edehILSyTUX6kJVKaQWcokqKzEs2Iz0jU74sw/EOD6c3KZzYIImhNKoGIpZse5VtdBIIiiqp
+qnyWopApAp4mqJwyICrT91T8hrwO9Ag0fQckVR+72gQ8Asc8BsZVvkweqFGtZkLT5dhgKQuYoqly
+XiVTBCJ5YZTnOfM8tx0G4Few/XT1V5VpPKvtI0bgDF+miKLJrMbwm2XsnQFNzHOY5QFUJWxCIBOa
+NrfDCNxj/n0n1nkHstUD3NXAwlvOX1E5naxwiqTDZQDSCbPLVcOtSji0C2JFtq2ETAxF0y7wtOqP
+URBVnUKX/U0RmBJoog/MrheWRVRdER04P+07Wc0UhU1eANUBlrzQCb3XjAk4q77N+Uyx1ExRQHs1
+9W/M81SYf2d9mZ4gkWebzCxjlSqmX1BmAmTqUDd1wKbM/0zg1AkUns55EYBTVjWB7B9JlahQOVXB
+KBRESuFUo2LqUjUh4CzTdphttDOdbofXUgY4ZSFTFCyhkJgJlapS6hj9WvZ3YcK4/Xh4JUXTDPCF
+pp55j4XOdpVVNSGwqdqXaQU3UONvBDBljLfZ8CkCnSL3asFyZijYoqq1yDPMNgDfqWaaBpnMCaCY
+fkwIbOpUMXkBUzdk2qFumgCbnp47lk9TJXyK+C09AadJaTuZNDtPmU+YrU4Kp3oINSGiwKka+Jwc
+EQUTK/UtC5mYKXdMwMRSMkX6diZ8kQpJoOk1IGniea/kuRizzFUqmaLG3xWAyQN4KuGT97wM2GTm
+T51j1fXT82PBemWDWTTNNNp+uycEmODL5EmZi8CEX+tRFdNuwMSGTGx1kwWWdcKm1TL0Od0BEaIG
+4FkV087B6tNfuRG4dBP7UOaMdXdhGTEHgdNg07T/GcBpUns8beY4I+zTCZky0NeC4MnAbb0gKppC
+h/b3d1MfKVNwgabjABLrmjOzWFX4zHgAEKsMur2ZvADKsy4LllDotMMEHAGNaD0/PW+r59ibOpeB
+st42OVnNxNqf5ctkCzjwtL8XPHmBEzrDXAVgqoRM1cCJCZui0MkDmSJpcx0qFlTFhAKn6OC2YwAc
+TaV4KvtqZRNy3Ax8igwC2QqnJxD1JoUSCmZY61jnj0CkU8o2C5wy6XQZoNSZUhftFzzHtACkivbv
+p6fQHR1vBk3XIddTlTaHrmekyyHbeNUtCEhCp7nvUDOxPZqy8ArxaMqagJv51GWMWegsUa8R2JRV
+NWVAcLU30+6UOe95M6lz6LJI2pwXnFQBpi7IxAROZvU+TVWQaZoR+MoEnOHHtFtJgfwFPKJwqlI2
+Zep/6qCoW+Fk9m0VEwucIEBpKkRiqZmQlLjovtXrPDDJC5CqzMGnpdBFzs/YVqBJcQTYyswwh54D
+9X9apc6Z4WoVRP20UjR5wURGzbRadqpHUyZ1LpsuudrXAxe98OcC2wWrrVX3Myu1Q+XAKJMyt8uX
+6Qk+meFpctWAaQdkQs89GTYhy1DgxIQLV+AYbD+m7EA2s012oLICTLuVTcg52Ea6kcElK8XnJMiU
+hSTZdaepu7pmqvP2QQxVUzdkemozGQCVSZdDgdKkFLrpcOhoeCXQNBcgdVxzh9dMhxE4W+WSSSfb
+DZZWEInp0YSmzmXBoTnBVTRdbvV8r8BSRZppZz91bzhGtS+TZ/sKX6bdgGknZMrOPvdFnyZG+/H2
+CxE/JlvApSiQ6hgwo6qnCHyqel+sUJd2DWoq0+lQMFUJkXaomFgpYYz2xwZErHMaeB0ocIqqmxiQ
+iWnGb8aFUQzw5O2HpGoSaBIccg5MvQNi9FjMMsmkAqFKJqYZdHW6XBTsRLeZ4tHkhUsVRuDmfJ4q
+1EwTDcA7BzTooKYrZQ4BUExfJtSH6UuAiQGcJsAmD2SKps1Vv4w+mYBnDcCzyqbuGeg8kAkBTFll
+00XuF6u29wwas4NSFCQhgCcDkyqBFLoOgS8RYBOFO9X91yQ1k2ddF2Sq8nZCINHUFDp5NQk0CWw1
+nTeTNtdhAm6WUzJ5wNIKOjAAkxmmZsoApShYYgGmqC9TVsXkressSFwBJStqc91qptt8f6FnAqmJ
+KXNP6xmzy3kA0NsBUwVw8oA/BmxCIdMEI3DUBDwzsxxbtdRlCu4dwJhhKXdIn1wNlzqmAEcGjcx0
+uhWIQsBQxzHQZ501s9xkfyZ2elyVmgmFS1UA6ia2kUgbZANnTx8yDf7svJ5jQZhA0zegV1aZ4QFJ
+v7bxAqcnGBFRuUT9mSphUxYoVXg0mbNss75MrHpGZi3MGoB72wpbzdRlAM780ZqWMvcEEDp8mVYA
+yJKAKLv/6t//rN4LyowHmxBPpgrDeOTZrWyHZs8qJhQ4RdLmkO8TwBOy7Ak8IXV6Nfavlc8aApWQ
+QetUE3EUNiDQgg2cotBnCkSKXitDzYSuqwZQVbDJEu0SVSaxUugqVU0CQwJNI6AN6xidaXPR+2GY
+gK+AE/slkq1yWcEZs1zqXAd8iixbQbgVXHqCSp46zNa19/m8nM99dN3V1M90xEkpc6t11b5MK8AU
+hUqVcAkFTNUz0KGpc6zZ5pg+TSh0Qtodqpqp9GTKKp12vdhXgCdP/dzNfTRzn6x5uIHrd5uIZ0GC
+F3ZkzKkR2JNtk7t9mFjrEdCXVbFVw88ViLIAkMq222hfwezrq46r+Dhouj5SdxlPph0m4E8QgTUr
+mRcuIYAJMc5eLWPAp4p0OS9Ei8AlpP6uZF2bEySardVMkwzArwF93ckpcx5AUOXLFFEfdUGlKsDU
+bQrOnG2u0qfJC0sZbZJlAl4Fl54GgawBK+Mv408qppWyqcs0vGKm0ChcQo/VOWMdMpjPQoIonMou
+Y8Ke3Sl0KBRC1lcqlizwrGV8xsx46icD2yUKmStT6LrMupU+J9D0abB1FVxf1gQcNQJH4dMKLplh
+6XIRmISmzmXgUxQsPQGkLl8mpK6Rfbwg0fPsVhiAv6V/YQ+OmSlzKCjwQINM2hyqXuoGS92QqQI4
+dcEmFDJ5AdPd1C6nKJk60mYqwRQKnjzQD/kNuAv66OpBC8MwnAWbVtugcOkJUEQ9mljKo6jq6KQU
+OgZ8iqqZMlApui8TNpkDOmVS7J76xMoUOgacYcIcKaQEmsoHeG9Im0OvAd3vCpZrRtHk+R6BTR7f
+owh8yqTSsWacQ4BdRp0UAY6ZdDk0PY4JY7sNwDtgUjZlzqtqikIpD3hi+DJ5YMpOuLQLMrF9mqKz
+zU02A2cbgUeUTH8BDq8CKaJk2j07XcYHxOxZ3XQn+++7od9G96uavYkNoJgmzF4I0Z0Wl20nJ6XQ
+eZd1+i9VAKlq2MRMVUXbbRQ8scHOqaomgSbFCAjWnTZn1msC7gETVgCYkDS5CBQyq/FxQmDZE0Tz
+fDfjpEF6jd4z9fwElroNwHfDpI6BDEsB4oEDK5jkuSbmzHK7VUsTIVOVMTgLNiHLos90Fiw9HSuj
+ZFoBpGol067Z55D9M4bhXpjT1R9nt836NkXS6VDYFF0XgVReKML0IaqCQTt8mCqBHLJuGkxiqJUY
+5uAZMIz0xyxV006QxL7G4yDX20DT9fLzodfSmTbn+b4CTpHr86hoUMDkhTGrZZUqJuQ8WTVThS9T
+pp4tUc9esIS2kawB+GlqJtQAfELKnBc8MQHTNLg0ETJ1+TSdagaebbtVqXNsJRNzEJv5y7bnu5nf
+y8nsHMPw7tmYovWEqp1W6xggabW9F0ZVGl9PA0rIfpbYJ6tmmgSTuqBTpWE4A0Ihfb8USAJNn4o3
+p82Z4T5NrCnun86H+vawPZl2qpgYgGlVjl41E6uen47v/Z7xZMoagDPb2w7I5Nm2a5Y5L5TKmIAb
+CI+icOnpXqdApiygMuMCJxQ2RaET+lxFABPjRbjbBLzSk6kKTjEh1NOyJ/C0qvNrQ1+++6/u1Wqn
+J6CEbM8GTx3AqRLuso/NShusUjNFwNRueBWBThbs96IpdNE+eFcKnOCVQBP9ZW3HMSLH3Z02Z1av
+ZDIH2MgomjKwaZKKKZsuZ4alzq18mRh1vHquEKgYgU5VIHcXTKoGUBHg4wVIkZS5lYrJA5iycAkF
+SpXQabcCygLrV8vYsIkBmTrS5sz2mIB711UPfBkDv6xxbETZFDULv4jPVBTqM8o1k1rnPUZE7WSJ
+7RAIskvBtAMi7YBLLMPvakC0Azp54ZMBIIoxI10WJjEgl9LnBJoUIAxiHzOrZGKDpafjM1LmzHxp
+aBHo5IFQmW2rYRNSL5VqJnS2OY8nUwRKeT+j7fRNaqZdKXNmPhWTBzB5AZAB23ohVRcw6kqxYwCn
+CtgUfbYyg/TIIP7pOBVKJmTgeVs/PPeekznrUbdZ+N3Qx1cNZlgDpazy6QkYRbczi6mauhVMXRAp
+CsgyhufVht/V/3dfkwc+rdaxU9YyffNroc2J8SbQdKo/U1TdsCttDh00V4OHKHzwGEVXGoBnUug8
+23r2r0idM6tTM3lgJjrbXCR1LgNkp/VjlQDKA5RsMaD3nD8Dm1bAySzny5QFS1XAaaqPk1k/bEL+
+z0CmqrQ5b3qWV8lkljf9/jWYmzoARgcj7JQ6D3xi/E4wDMArZnViGIZnYZNnGQKMopApq2Cqbj+V
+7Xan4XcVVGNAp2keTxbs+yJqxSgQ6lA1CVJ9DDSdAL2uxL4ZKOWFGYzrRbyTKuFD1JOpCjYxIZRX
+xTRBzcT24cqYf3vBUhbGZtsKCxizp7euNADvTJmb5MtUrQQ61SwcAU4obIpCJxZwYsAlT/tlpc5N
+NP2uGBxG+0zPgCaibNphFB499k0u3ymwycjrs4CG1aamqpwycClr+F2pSsqeYxdsYkMnTx8QBU/T
+oc9noZRAU35A98brrUqbiwKnChPwTMrcalkUOmWOVZk6ZxYzAmd5nWX8mZ4+e1LnUP+m3QbgV+MP
+W9YAfFfKnAUAE0O1tCqLKT5L/7N6OGXJ7bphEwsysdPmnvoIZupclSF4lQqiclCA/pWbmVJX9c53
+k7fzbFvpWxKFTda4vho4TVAJRu+JAaQ61EydKXG7YVMGOjEAVKTPqDquwJVA0zFwp8oUmLlfRdrc
+LygRTZdjp8yZ1afMVc8+5wFRbDVTpo6rZpvz1i/aRiYagLNk8YwBsHcg7j32jpS5J8DEnj0uA52Y
+oGqXh5MZ16OJrWaqUjVl4NKvY1SZgGdnmJsEkliDkIiPk1k8pc6Aa2YCzernFyln1gCVMZudGV+9
+1AWcjHisqrbdZfi9Q7WE7mPG8V5itNEK3yZGOh2qmGL8Tih9TqDpKDjlVUCgXjFvSZtjpFSt4FMU
+4pj1pc6Z9aXOmfHVTBfwfGXMv1meTCcYgFdCJs+2lQbgO1Pm0LQ5BvSJHIsJm06aha4TNjEhU4fS
+sMIEPDvDXBZAZdczodNks/Cb/CxVn6cCPGUGtF6VUgRCdYKcCPitALsVJuCsFDnvtVeqlsz4iqYI
+mNrp28Tuq23IcT8Ppd4Cmi5dS+n1s9PmGKDBjKdoMhAeVafMRY7JTp37tS5qBu6FU8wZBb1gybsu
+2kaifcaUvoRtAO71aEIgVPTzdE+mjnMg8GjCLHS2WPYLNmWgEwM4rZ7zzAtoNnWuGjZNgkodg4GI
+sgnxa6pMq2Ok0VXAVSZ4yvg7eZ559NgdUGqnygkBUWj7zs54GVEtRfbthE0VkKnDt6nCJPzNcOeI
+e5Oi6WxIdBHvoTNtLgoaVsfuMAH3rqv0a+pInVvBJ68ZuKe+Pdt7gNPq2fV4MkWgFNKursZ+i+mn
+8bQtc9CNqpeqAFNWtfRUdpNMv0+dhQ6BTavPyP/R573aEPwOAqcK2IQMWCPrkTK5CH1rdXrd07Kn
+5+QqfJ4yvxV3Q3lH62YakLLN8CkLlizRJnfOMOc9Dxskea4nC5AQyJRtpygAmqIaUvqcQNMnYFTU
+s4WdSnNC2hxjljlU0ZSFTR5QxPRtQtd5ygVNn2MAperZ5iKpc1Egm2lrV3N/VDFo8B5vd8pcVNV0
+LwACO83OrA5G/c/4kOl/xgNoXuAUAUxvSp1DgRMTNiHbZAaWLBCVGcBE/8KOKJtWcCmSUlf9O8AG
+qoyZ6qLAyGyvQol1rAj4Ye5f2QdE0+eiAMq7TwY6dYAoA4FU5BgIdGIqnFhQeicIE2hSlMCpK7G/
+Z9+KQXQmbY5lBm4J8OCBRh7YY1aXMteZOvdr3bWASxHzdhQ+Zep51Sa8bfMitmnGoIA1qNipZkIH
+MBUpcx7oVOXJhB4ne75qJdP/rNejiQWbUNA5KXUOUTH9gkdmfrUS27g4M+Cc8n7n9W1CBl8euHQF
+n6EKj6e7eHtG+XoGuWY1CqUolMoAJwYM2uEzVTnD3C/ow1QxoednwCYvZKpMoYv2cWx4U6FqUnwY
+NH3Vn+n0tLnodbKNoRlG3xWwCQFJFrgPL3hbQT2vP5MXKKH+TMgz64WHCPjdZQDeYQbLTpHwDLIj
+qXNRwOQFPkywNMWPyQuH/md70upQ4ITCpih0qoBMN7GdRg3AkcFqBjAxBpWRfXeooNDBDzpD3a9n
+5yL07UxYVJXCnYFLCCDMfmaBJBQ4dYGlyDOT6TuYRt/ee6mETgYCIXR77zEz7a1S1TQFFE1NnxsP
+zKRoeic8e2vaHAofVmodD5SIKIpYqXEZ6LRrtjkEKFVBRS9sQtrI1dTGu8E5axBQoWbyDPYrPJkQ
+sISU3YQUudN8m6wBNv1axwBOlYDp6ZheA3Azng8TCoEmQyJzDohY0CkzQ50HPrF+Xyp+LzrrigGi
+UKiEbscATtUwig2mMv1CRs3UrWIyq1E0re7VrD6FDgEhrJTYChAkpZNA01i403EuFAxF1BrmGLSb
+nZE2t1rnTZ+rnE2u26cpagZe4c/UqWZC2oU3vbRCzTSlr2Kombyzy2VVTKgnkwHQKerFtCtFDt0v
+o2bqNAc3ImzyQKdKyMRQgXgVjRFoU5GGU6lqqoJP6F/VowOiyAx1Hrh0mll4dOCaGWAidYGm20Xh
+EwM4ZWFUFibtTJ9j9QNV0CkLm8x6FFCVs9NFQFJ1/93NGz4DswSa6gd41f5MFffmVVuckjZnD8AI
+AUodKXIegBS5vgo1k1lMpdRV1xYErCjg7TQAZ7atajWTZ1nGABz5PCllzntMs7mqJqY5OArsorAp
+Ap2iwMkLnaIA4Hb2CxElEwM2eQeLbJVUBcCqHFQwlU0ev6apZuGs7RmgCoFNZnz4xIRF7HXT0ucq
+1UwozGKrmLyAiAGZqvu+iKqpwhS8GhAJXAk0jYNQzHNdRdd9gd+ZwImdNueFEFNgUwQ6XYalCHrK
+LevPtEq3i9RzRFkUKX82COpImbvJ+7MNwL3nZ/jkRBRNXrBkBBi12m8XUNrp2xQBcE+wafUZBZ63
+43nvTp+7HcAJUTIhA1E24NmhbuqCTxnohIInL3xCfqvu5PPZBZSyqYoMP6csmPIAp8i6DIDKgCNW
++lx2pjnPfURmfVtdDwqWojCKCaoqjMIrDcIj4P44cHNaCDS9D1ix/JnQtLkILLIFqPACLEbaHAKS
+dsCmKHSKfDbj+jMx4KIHLHpBomddpJ1UwqMuGMX+cY2omTzbZgBTBPZ4oVIUPk2ETVF4xEqpQ8sE
+hU1mcVXT03PLSp9jAydUyeQdKFb6LkVnmtrx3ob+lR2FTmaclDrvb8ld0PczfovuooEhEzatoFEE
+MLGgEhtAsdPnVqAlAp4mqpisaJ8sZKrqG6sMwlmG5jt/MwSaXgxlqgaEFefq9mdCrwc1eI7OTLYC
+TJm0OW/Z7YZNXugUBU9sf6ZOLy4D6hMBT7vVTLsGVGw102rwkJ1tbmLKnPdYZnV+TP8DgBC6vNqz
+yYKw6Rd48kCnDOREoVNmcI+kzEXgkhcqTQFMTDC12p7p4cRQADCVTRfht6IaZLFBErrPE0BiwCgG
+cKoGUF3ACWnf0XYeVSqZExJdTpCGgKUsUOpQN2X6tImQZmr6nEDTC+LacNzd/kzeNCQUOCHX1Zk2
+lzHiZv+LQKfVMuQz25/JW9fR+kafWSRVboIBOPPlfaeayQueVgP8lem3PQAnI4ClKIRa7Wc2X9W0
+yxjcLAebPIDpFI8mD1B6Ws9QMiGAZipgmqCKyppbM83CqyHQNJVTJF2xCyBFgVMXgKpoOzs8mpB9
+0XVZcPS0vgMydUAatkH4V9Pnxl6vQNN5cKrTnylz7ih8YPv1oKbfKOCp+p9lBs5Mn/PWT1bNdDng
+EgqA0JTSrrS3L6qZmH44XnXTE1xCU+bM9qTKdcCmiJpp9+xzZngKnQc6RZ9JBDJN9mgyB3jqUDWd
+kj7XAZ2qzcIrfnPuom07B2yVnk+7AJQHMnWm1UWWeaGSJbavVDFlwNLqWJ5l3ud+xwx0q7bJNAWX
+Ckmg6ZNAqfI6mP5Mq/N2plB1pc1Nhk5TZ5xjwcVKI3ALtouMYX5339KtZrqJ+3XOMJeBOt5jGAEq
+me1VP/2PvK0ZHzatPmchKAqdKgfUSMocOphEAE+Vqom9TSWkyA6KopAJSal7elY64yZtw4BIXVDQ
+47s1VSFVkVYX7SeyPkvI8dgqJgRMIRDKC5nQGeyssQ1Ohj+s9LlPAC6BpnOB1SR/JjNuypwHbpgD
+KnngwDTfJQZ0YqTMRcy/q6Ci2Sw104R012pYlFEzZVRNK+jEmmEOAUKZdDnPOTrBEFPNVDn7nFk9
+bEKhE/pMZiBT1kPHmzKHAKUdZuDIQJEFoToBlRdARaDFCjytnrXqMrhJ21X88SQ6GEaVSicApwiA
+qgZOjJS5KpPvKhWTGU/dhIApWwAotqop009Goe+nQZBA08wBHeuaI0qKymvK+jMxgJPS5jDo5LmP
+jLrJUydT0iQ9z2vEo2n1vEf6qbepmTKqjezAPqJoMpufLmd2nlcTO6UuU2bIZxSGemaci7QJtM1E
+gIp3pqcoeKoATJ57nKpyYoEOZNCEgCezvKqpwu+pS+WUAUte6BedRTAKhFZQKPvd691UlUbnhUre
+PiObOofAJgQ8RY6RhUweuNTZvzEBlKCSQNNYYHUVHXcncKv0Z1pBBARWMBQuJ6fNRWBTJH3uV7kh
+iqZf2zFnFkThKPs5Z6iZKvqc3Womz7KsimllAJ5RNCHAqCpdjplKttOzqcK3yYpgkxc6eaFnFDJV
+mYFH4A4KlDzbVxh/I9BoCoSKDGYqZ6SLpNVV/v6w/Jzu5jqMqJ0qgVMGUp2mamKnw0UNwBH4E9kP
+/cxaX6FuirSraSCoA7q9ApYJNL0Hik30Z2KAh9Vy1nT3J0ImBDYhMC6qaIqAxcgsc8gzi5QlGwad
+8JfzajWTV8HB9mTywCUEHiGAyLO92TneSlOO7YVNZnWqJg9w8nyvGqDvNANnQC5WSlt0qvMKCPWk
+IkI9nCLeIFWG4YzfubtpHyusOxQ2WaKOUEVTNXAy26NqigCjbMqcLaBQpYrJC5YQ2OVdXw0xsqbg
+3m260+ekkBJoaoE/O49zqj9TZor7KGRCgcS0/z3LoobgyKxz0ecCUa0x0ju7IGy0nVcAqqgfBlux
+wfRkWl13Nl3Os23G18ks7z30tRnoKmBT5P/Ms1k5YO4yA0dgVAdgyoClyel0TwCKYTa9Wu75TeoY
+THUonRCoVAH6kLphKppW/YCnn2ADp2zqnIH9RdSnqQI8/fWZdRzvtp7nefpMdCzopRBoej28Ygyg
+0fPs8GfKpM69zZvpsr70uVX5reCSR63mVT6xUueyM85d5LZVvd/OH8aImomZnrTyY6pMl0NT5iYb
+gU9XSXXMOhd9LlGfpo426zHuzsCjrKqJDZiYZXQChOqYke4CAM1uuLTjdxBVO5nx0xwzwMkDoXal
+0ZljGcu7KTvbXAT8ZJRLmc/ZbTtVTQJBAk2K5ADyGnQtke2jHj3oDGQrGPE2b6ZoOl80fQ5Nmcsa
+gHsAViZ1zgOdIs84oma6SO2u+oUdSfdhqplQYOUFTLZY5oFBq3LMQCfkOFMh0f9sBtRiwKYVYDp5
+1jkENiEpdFEwxYZPGeXShHS6X4MnxkAqa2xtTvi0C/BEz30TjxWBTQywxIRJWcDkBVBvSZ3rMPBe
+7dsFmbx9R9YsnJ0mvNommj5nhdfIBmjjYNzXQdN12HGrgVGFP1MGQCDwIWoQfaKxt/dePBDrF3zy
++jShYBGtcy9kRKDTVdymotudNpNmxPi7Y4Y5L/DJgCQPtPKus8A2ZrOUUf8jbYvcB1ImXuiEPqtM
+IIsMdjOzzrHgUSTNrsOfiQmlKt/dkEESc0CWmZFuh7KJAYTuhvoyABTd4PZR4BSFULvT6NizziHQ
+6ba1qscDjSL3voJA0f0zaqhIG6g0Bc/0la+BNyfFqaDpeum5otfRZUq8058pAshOh0wIbMoqmp7A
+DlPV5EmfiwDGyIxzV/L5Yra1jIIgsr5LzeS5NobR8iqFDgFKrLQ55HxsUJQ93v+Mr2b6H/n6UUBn
+1ufT5PnOHEBnDbmrVE2dgImhWJrs1+QZVEVT6hDA8et5Q5UM1XAIOUa3qmFVtlkQ1QGhVgAkAjU8
+kCmiUELhFLrMLOebZKSyY10HkkbHSqubkj4nqCTQ9ErgVW0Ejpyz258p69nDhkysMmcYeiNQbLUM
+BU5RE/DoLHQIXIq0owpF0dXcvicFQ820AluMdLlomhwKp1bAiQVSTvVmikIqs1pVkxc+oaApml6a
+aY9XcXuf6s/EAEsRoDUZQCGQKQKYIqbhbIjEOnbHFOWRFDu0DpjACQVMZufMPufZ1nN+s1z6nNme
+FLrIZwTCMEzBs+2KfQyFQNNr4VVXuhpzgM3wZvLeOwsyZcAREzr9WhdRND2tX8005wGIqNeWd5ts
+fa/qGDUDl5opPnj2XNvqXN50uWoDcO/+BoAlsxxU6VQ47TQJN+Oomszi6ibvOu/3ikE3Cm7Yqqbq
+9DkG6KlOp5vq2+QdYKG+TVfgWWa+w95N+1fCqCjYYwGnJ3i0GzixUujQVDkULLFVSN59dgOnKpPw
+yvS5jmsVyBJo2gqPqmARc1DrGVyf5s+EgKcKVRLTa8mzDapuQnyamCbgGV+mSLpcB2xFtjtR7dSh
+ZjLjKJo88CYColbbemET06NoIkRimYcjsOnpOwqYGIbgCPSthE3MY0eUTG8wAK9+N6vybfJ8N8v7
+CXl+13YPuu6hdXw5ypMFnLwwKQqYWHAjk0JX7cvEVjGh5dgNmRgKJEYf2AFvsh5VlfduA8pHoOmj
+8CqyvVet0QGbuv2Z2JCJDZuQa1wtiwInL1zKKNc8cCkLE6MppVk108SBzUlqJu/1rsDP6loYxt/m
+XL76fmr6XPUMdWZxVdNu0NShZvJAmypVU5Un0hSwdDqk2uHbNME0nNXObkIdMIASEzitQNSpKXRM
+2ORZFgU2XvgUXRdRKT09px5V09O6yvS548DL10KgaT8Aqj4fS+HB9mbyAKZuf6ZJsCljJP603jPz
+nKdeUHWTxwQ8mjoXfdav5H47+4oKY+HoeSepmVBIxDL+foIhlvzOWFcBjf5nveAKuXezuE8TCpyi
+oOmNL76oIW8W7FSCpVN9mzLQKQqePPAp89x3mYd3tc9sus0XgFPGkLoKNpnVzyjXCZwQoIT2LRVt
+BFEaZftBhUBTyyDvOvBaWUbg6PoodPCep8qfqRI27QJbjLQ5pL4izwGSOmdA/VqgflbPYIWaacJf
+dU9UM3lml2OYf6+gxq9tnpbfH/pXAaEEmnLAxwt9vBCIDVd2gZ3q9LoK36aqfZgDudUzjvp/7fiN
+rNw3A5NOA047Z557auso1HoCT16QVAGV2JDJC5wqUswy++8CRgJVAk3b4E/ncSrOHx1AZwzAu/2Z
+GGW3U+G0WhYFTitotKrbjPH7ZRjoyYKkyHkmx3Q1EzpoR9LlUGjUpWJizZb2dYBl9g7QdNJLaTR9
+jqFuYkIbdFDaDbyiA5toytZudROSknbi7yVrgFoNnCJwCX2eOtPmjLguA5aqVEzocZhgKrKsKn3u
+JJ+mKd5TAk2HgJmue6vwfLkat0Gv60R/JuRYzPMiqq2qtLlMPUdS5yLeSVF135VsU9Vqprtgn041
+k/e8GeCEmn+bxaHT03JWypz+9YGmyExzJ4GmEzyHGNdcqVTqKkOGIikDODLgKQKfpoGgDljFrjMU
+OKFwyazfINybNrcCUej+Zhzz7w6oVAmZsmlsU9qGVEcCTa+HR5NAWXbWLObsY95ym+zPVAWo0PPt
+SJuLGoCzUiS9YMlTDza0vbJfeG/CcXcYKaP+TFGYZI7tIjPNMeCSGT/VTKCJq8KbDJp2QKGokmm3
+X1Pm2Gyj80pI1Tkr3QW2g+uA571zQO0550TghKqbvKl0lSDq6XqinyugEgMyRZ/T7vQ5xN/syz5N
+Y+5HoOkd8Cq7PeqTkwVOkVQqFD7s8kqqhE6ebaOfM2lzHgCFPAvVJuCsdiQ1EwdUmfHMv9lQwxZw
+w5zLIgDIyHBJiiaBppNhFWPbSrB06qCje1Y6VNk0JcWuuv1mwGAFcPJ6OEXS5zxgxGsOjsCm/4e9
+c9HRVVeSdHJ03v+R2zPTOi3trvnBeYm8GCKkpVXFxRgwYH+VGbauE6lLm4tAJc119a6bkj43GqYI
+I6YImj4KnCoH5RdwGyRkQvsyWaAQAlRFjnlK2pwW4qCukTjaVMXzOrWTPDma6Qk6ea+NJ3XOGsmE
+hENvh0sETe8CRugZ56aBpelwKiva4AlOiNg9nazfza8N8i7DeaNNw7vMwS2w6antTkmb8wAoS1lI
+yNSVPocsN3NyBIqgaQT4ySrTO7OWdaBvnU0smkqlhQ8dqXPW6+8tP9MUPDNtzhPphEqPtDwr1c/H
+JIBkGSxHOvJV0UwI4KIp76keaINvkViEE0GTHjTdtT+CpvnwqhMsWeqFTqezDAo1Ayl0dBMisukN
+6XWZg2lrJBQCOGmjm54AkwbQeNLnIlE01WlzWmhk/d27DglfUEDmLbDns4CKoKn3w3U1n881oM4e
+rx7N+VSmzqHAVMfMcyK2tDktgLKAKis4FImbgIuj/XQ/64i0uTdHM0VAWHck01fBEWedoxCQpgMs
+IcHXxAFOxDBcBJdWp/mGaj2L3j5eQaTeWcChxsurI30uCpky0+YyoJIWWKF8niqAUwSAnezT9Dog
+9VXQdB1Yvw7wlWmQHEmjsnj2oFLnps1AtwMrqKimv8Bo0oxz2nt8BZ+rL0QzZQ2MK6OZvLBGW85T
+HaoimbJS7E4BXW8BTYRNcwDWZMCEPgbKZNc60HwCT7t1u+cFOXPdid9xL3C6FNcVGd2EmPUM6QNk
+Sc8TwaTKIWbt00KlDMhU6df0CQjzBTGiaQ6oug6qa6TcCiNwC5TwgB0xbNtpBm71ZtKCoScIhZxx
+LrMNnv6+8HRaF6CDOzmayROtdVokk2bfDEhF0OQHTZZlFAa2TDMI756BLjpoi0CmZTi2Bn5Yn6PL
+eJ+6vu/oaeERwAkZ3YT2aorAjKd9dsssP3uhEPp3T0os4t1RAYZoCD68PgRNtQPMK6HMaBlVM85V
+G4Fn+DIhwI+1PCuI0kQ3abyZtGBJs52lLWfNKCjOY00BSVUfix0gitY5M5rJA20s8GpyJNPbgNJU
+0KSBTprfO2HTpM4wGrJMMwg/dda66MDTYzC9gx1WAKV5xrpS2qvHIFEokBXdFI2isQIkzf7oFLrT
+IJM3mikzEgn5zaIhOEETlQS5Msu6FP+iUM5qBC4G4GC5Bt5UNi90ykqhu/u9esY5b9qc1wQ82vZP
+gVDLsM9bopmW8hzeGsmUCXSmgCwUaPICJy9oqoZNb+gId89A97X+otfHRBsdgUqr+/Vd9abVZUOo
+E+6vFfh5o5vQqXPW1KtodBMCMqFT5zogkzXFFg15PABoyvfwk4CKoOl9ICkraiozBc8KmSK+TFWp
+c13+TBHI5IFLHqCY3b4u57o3ayVvb4VfGdFMVpC02+/p2G+IZJoCj9CQKQM0oaBp1vOW1dF/E4za
+lXH6DHTT+6qotDotfIoAqDdCqI7opqk+TVoANT11TgzHQ0MQj3eT9X5VQJ2JhuAETQPhytdgkiih
+ChpOVczEhTQCjwKd7CgmcW5rTb1Dps7tIJQltc5SZ3Fc+wt8LCsgm+jdYBko7wbeFQNzVDTTFyKZ
+JoEjkRnRTFq4ZGnHWbPNZU0FnbEPIdV5gAjhq4KIbpqQVhcBUIj9T2kH4oCBOxiCNKBGpdVZ0sJO
+S52zgj7rvaj+vnzhe/Wqc2RE03d1Oddfice31OkKlhWtd1bqHPq4iNS5HVyKQikvAJqYxtYxWNot
+y4hmWoE6dUQzWfZ5Ou4pkUyIY0yKiBLBRTN1zji3AM+et3M6ycC1E+h0Aybv8X/t5y2rAjpZyqtO
+q7uSANIK7NvR/4+0AW8qXQQ2Wc3BowAKDZmiqXAZkEkM9yqyfaZPEw3BCZoIbhpAjrXMK/FcNTDD
+EnVi2WaaATiibtY6aCETCi51tvnIc4gEV1OhViSaaVfmChwvGs1kMffOjGRCAR7LvpXApwtEaUGT
+5n5EgVOkXWsHd8vxHvLOmLUA23xVk83MuwdG0egmD3jSrPcAoQhAmgyfMoCjptxIm3tz6hwaOnn3
+iQKoKp+mqnceDcEJmtqh0WnH6xhI76JlosdGRLzsjpeZOoeCSzuAok2ds8w8Z/FpumRW2py2jXU9
+o5HIIc/gU3M8DVjSDspR0UwiMyKZItE16EgmNBgS6YFcIrnRTFHA5IliWkXvCOSAMqNzXdlZ7zYM
+P8F3yTtAREU3IcDT3+91xM/JAp+uwDN7Db3nSNiUOfvcU51OTZ2LQqdoPTRgKZJWh/BpOtEQfOrz
+TdBE8DUSYEXAgnfQ3+HRVA2dkLCrI3XuAtx3ps3VQavIQHhqNFM0kskKl7zgKDOSKQqBEBApsw7e
+eyIS92mKtO8M2OTpaDKa6QzANBFQRSMCtAPEuwH3DtZ0wCdk1NNb+yuelC2vIbgWbFjARYc/U9Y+
+3mfa8ux3fz8mGoJ/7pv6RdB0Ne1/DTz/qNnxL7BgjW6x1lFbDuo+M3UuJ1VSWwf0M3YF2pn2WFNN
+wD1wSRPl4R2MZ0YzabdbmzJ2v+9gBiqqCbk+AsVE6oCXBOpxd+80wGnX3jWRTFNgk9UTxzIQOQVU
+IWemm1zHKQMiZHRTZmSTJ+XOCoW8AGmq2fjEFDpvxJKm3t5IKxRk0kQ2ea8r0qcp2g4IawiaqCFg
+6Wo8dtW5aAfw2dFMGvjkXTdp1jnLtbSCJM12HjPw3TWPpk5eBzxPqLQ5RFrPSdFMooBZO5gkMjs9
+zgt2stPfBLitCCaaKQqYUEbgGR4UIrEUAu9frt80CJhmOv5UdubxMj1XopDJEtl0KngSJUw7ATZl
+ptBZDcE9ZXjfgxmRTd79ED5N2d8UiqCJOgzSRMq+mup/Oc8ZBRpQYMkCvhB10l5DhD/Tr+XR9oWe
+UZBpc3vj76d9PFFNu58nRzPtYFJWepwMgE6a85TAcaz3oiqaqSptLnPWuR1gigwUKlMLCJjywVEX
+lPAOisW57CTwFGlvkT7PGtAuNLDGGykT9XGKADAk6EGdv+VdHwHMGbPETTcZr3pGCJqocuAUmVWu
+OkqqA4ZNimZC12+XMoe4htYUut322qiqTGB0ctpctQm4BUZFB+HTopmiM8xZoFJ2ipq3LpkRTtp7
+550JcPez5X9Ne0fAJs/zqJl5DplGZx2YeAaMp0xn/TWYVDmFeUZKXSd4yox2QkCxrPaBTqHzwKNo
+Gp0FMkWN8zOjm7LAUuZ7/LT3PSO3CJqOgkgdZWdFTFkG6NFZyFDXyDv7HSqFzgu9LNftKa0Ncc8z
+0iS1kC4Ks94QDaUFP7tB9tNyC2w6KZpJ83sUMFnWd8w+h6pTxexzd3UX8afPaQCT9rnKGuR5/6rf
+kWbxVvBTAY2m1S9iDJyZOiRDwVN1tFMWUJr4bEdnPUOdXzT6EwlbI3WrfM+fMPNchfcUQRNFSY4Z
+egbAQs40ZwU8Eeh0ObazGIFrQcrV0G4s27zJr2wSiLJsszb7Z0YziWHbadFMqLS5aCRTBiTKgk3a
+elvuhed/NGzKGARqBteojrPVmwkd2XTyO/dqBFbdA3/PPfUaJaPA02UEQRpQ5Il2ekufZkr6nPbd
+02EGHgEeWbPOecvqeo/TP4qgiRoKjzQ+Pdqyr8CxJ0QzeSGSFZBE4Jc4rtnlvF+RWQYts99dTW3f
+u/1JaXMecOTZdwebvNFMWvi029YazYRIRYsAJkvZyFndLPVEw6ZMyBQFTJb27nm2MwBT5mDFC6Cy
+BxFd0Kjr+B11yowCyU6p08AlVLTTpBS7jD4KEk5EQRUqfU77boumzKGeKXTZb4hgO/HbQtBEwQer
+14C6Wcu+HOuQsGhSNFPUO8oKwLKu2xNc0rYJb5pkBPBEU/G+lDZn2VebLqcBX0ti0UwWmJQRzWSF
+KBYYZQVMUaCVCYgEUN6uHVjvmRUuZXk0aZ7FyIB9B5gEBJlQU2B/KbLJC4BOj3LKjvrIMhDPiHZC
+Qifrtl8Yi6HS56Lg5qSUOcRkD4wcmguxWq85QdN3gRjSfNka2RKtb+XMeJkeTZrjRozAuz2avPtf
+gWv8tc4WygR8AbaPpspFgJJlew1wEiUkivyMBEwWqCOSH9UUAU4SrNfu2luBkwYweQ3AV/L7QAOg
+0D5NnhSTEzvSaPgzFSahB53oezUt2unt0GkVtS3LuyPj+e+O0JNAG15Fz9u0+0KINVAETbPgz5cG
+zdVROUiwlOnRFKnnVI8mzfXKmHWu0meqK21OW9YyHsMSzYQw/t4BIs25VkYzTQZMWpCEimoSwUQ4
+abfx/G6FS1GPJgtsygBOGsCEgkzTI5uYXoerT3W6yrRop1OhE6KPssDbVQGgqLG0F7JE6j+p7Kxn
+fsJ7mWCKoIlKBFja7avS+TyzzlkgT3e6XKVHU/Q+WFPkruR7ntX2PADuTVrA/RCpRN7UOIs5uAY4
+SQNgEjBgiqbxWaKarMblnnssAcj0BI+yZ5zr8mlCpdAxsmku9OmGV4hUmY6UuuV8Dp7gjTUyqho6
+3b0LLsc+yP5Gh8eOBTwh4I016iczZc57/Mx3MFPuXn7O/z7sgr/pOARgc8tGpsR1eDRlmak/gSWP
+NxPyfiD9q06BQlUm4J50OdQsc5brMzWaqTuqCR2hFIVNiDS6CGSqnnGuY7Y5D2ASwUWTMLIJA4Os
++08xBp9wD7xgSgLbPUGgKuhk6fNUpe6e1p6QaXNV5119XHQK3V8AaAWC0yANo6UOBE1UH8i5ksvx
+pHMhgUYUFCGAlGfbbI8mLUASY3na3ydBo+60uUhZGb5N3gG3FjiJEVxYwFNVNFNHVJM3kgkBvFAm
+4BlG4J6oJiRs6gJOHsAUhUyVgxP0vhwc+GAX4rplRjd5Ips0y7ypdJnQybJdFWSabHycaXxtbcfZ
+76QT044zARni+vGbQdD0GvhzJexbmS50Je0XSUXLgEhRWHQFt5sEUDrb3dV43l2DATRM8m6v8WXa
+gSHP+U+JZuqIakL4MyGNwL3ASYzXwwuZOqOZqgZkmunXJ0Q2ReHTVwdPJwzqUGCpEjpZQJTXvwnt
+6fTUb0F7NaHeWRFPu0ntGmlOXQ2Vso3Dp71z+G0gaPoEMOqu29Vw7hVT3VekzSG3r5yZzzPbILJ+
+15Bnb/IsddbBZzTaaAeSIibg2t+t/kqRiCYNcJIBgEmAQAoZ1RSddU67HcoIXAucKmCT5xnOeqdk
+zz6XMYvU9DSWyP2Z4M00dba7jAGoN7LJM7MX0mB8t06zXvNeyIBLC9RGEX0j67tiIsSekDY3uZ4T
+ARZBE3UUkOo0Lb7A+1wJx56QNuetFyoCK2J4bbnOF7DdesBYtll697PeAbWs+6F9mSLnpAEcAgYW
+2mgZdFRTxaxzlrqLzDECj9wnJGCalD63A0zaATE6sgkJn5CDwu4BxlvgT3d0UwZ0Evn/I5MqZ7Wz
+QidNP2UltmP08dZLnoWT0+Y6JnqgCJo+D4Cq63k1HfsqvN5fS5uzXpeMGec0cOnaLMtuH9ewZ6Ib
+FE03Abf4MkU9fbQg5K4uk2aUQ5SFnnWuwp8pYgTuAU7VsEnzzC7wO8sS3YSObLIOsDJ8nDIGQF+a
+4W4KnJoGnaz+Td40uuoZ6rIAk6Y/cTJMygI7Gcd+S9ocRdBEvVAIEHYBy70KzytSF7QZ+K9jelPm
+dvVGpNxdRffnNH8mpGfLFBNwqy8T4hqeFM1kBUURGKSBPyL9/kwawNQBmRCAqTqSaSneb5FUHwRk
+ykqle1NkUwQgTYNK6GvZBZ2QoMoDl6K+TVmeTdE/eFWXW/Uuzn6GTgREmZ5KBGYETdSB0MiyH9Lf
+p/tcLDAJnTbnAU/elDn0vfTOOhfxlYq01y8JYQIeGWyjI5m8cElkTjRTxrqoWXgUNkVS6qIwDQWc
+0O1fM6DJiLrZla8dBFdApuxUOg5C8EArc6CZkXpnibbTRi1NhE6a9SI6KI14Vy3AdpE/pEX6SyfD
+GERZb/XJk5fcX4Im6jiIZAUK1vSpSJSOBexkpc8hAVYUjkXrlAlgrg+0/y5QZOkIoU3Ao/VDRTHt
+4JLIOdFMXVFNIj6zbauJt/beedMes6KarLAJBZw8216G/SzTr3sG1NGZ6MS5b9aA6CuDgo4oqE7o
+pAVSCAiF9m7KMgtHQxYLWI+m0FksAhb4PAk5KN5zgiZq8AD6OvTckZ5NaAjlPZ8r+XoiIdaV3H6y
+22Vl2txkE/DoLHQ76DQtmmlKVFNkZrcv+jNFAVNmNNMyvMc0IMk6EPZApopoJmtk0xdT704bDJ0A
+naJ+Tl4QZYVOGX0dTzqcN4WuKkXulFQ8xDsn+k7je48iaOLH/Mhjd/kzXeBlVrCEml3Nm0JX2Sau
+ovv9BmV1mDpMwHdQybKPFzhVRjNZYE9GVJOIH0zt6hABTk+AqQMyLcVz4QG8K/EZ90Q2Radmz4JM
+yGimU6Yvp3qhUwVk0kAoL4h62v6pD+VNobO+pxDvyOzJFLLLP/VZe8tx+U4naKJeBpcq6poxc1tV
+NA5yf69Pk+XY1nTJ7DREy3aTjMCjM7N4ANATUOowAbem0VkimiQRMGVEM1nLEakxA7+DTdr7IYH7
+K4pjeyCTBSih/JmqvJnQkU0Ik/AoZNJCAev6zgEIBzi50MkLlsQJibypc14/J89yC3hCvpuQs9BZ
++jpeT0rvuWVFqJ/wXFa+z/juJGiiXgChrubje+sW8WVCQpDoNc2sr+ce7Ay+s2ecyzi3L0VHIaKf
+MkzAd8BCCzCis8s9wYaOaCbNNlFgZD2GFgRNTZ0T0UU3eWETAjghBxqelJlI2s7TADsKmbKjmRCR
+TRz8zB1kesGSFjp1+zl5oZPmnZDV59CmwiEBjcWTMhv4rKLj8F3BcyBooj4NtE6p3wnpc3fHjKTM
+XUX3OHPGuTe0ZZQJuNYYcyXULyvqxRK9tPtdAyeqopm8UU3aelrNwCs8mnZtxRvVpIVMmTPOoTxG
+ogOuzqgmCUKm7GgmAqRvDcIQ6XTVfk4o6PTUj9F48KBBECqyCfVeRZSZMelJ9TEpiqCJEOY4oIOq
+e5c/E/KYF7DOyOinC1y3X8uvQ56nykFgtDOT0RHKimSKwoi7shCAyRK5ZAFBaPiEWoaaac56f3dt
+QhR1QkOm7BnnKgcLJ0c1abfLiGaKpNcRVvVDp6qop0hqXTd00rwLMvoomZCpMn0uYldwUn804/mk
+CJooqmzgr4U8V2GdUJAHlT6XCVSyfagy29LpM85N7URkRHJEo5i0QAIJmBBgCR3NhAJMYoBLFghk
+vdeWyCbP/fRCJmvbnxjRJHJuVJMHMmVEM3UNlL44KMs65w4ApWnbInF/pwh0uuvjREzBI7BGuywK
+6k9Kn0P9UYJpehRBE4EL61pYT6SBNRLU3IETq3F5tiF45DpHwOKV2E4mt/WstDlNR8s7yNZEHkVg
+hAZmZc4wNyGaCQmYROakzWmOrbm/UciE8icT0POLfO9NjmpCQqZoNFMkYuntkU0L9E22GL4jr1/0
+GJ2pdd5n1AOe0O8kC9Cx/I6IZvKCsKp3eRUkikZ1ddV74tj081CPoIl620OdAZiyoUuVD1J32dnH
+uwacD7qjhfzQozsamhnnECbgFmCFmp0MPQtcdyqdiM+jSbMsApzEWObunnZBpqkRTRqo9ASXItDJ
+E9WEgklWeNAZzcTBCBYUVRwjw1C8Ajo9LRfBRDNF+xJRyKT5w9nuXRyNtOpOn1uHlk0RNFEvH/RX
+n4cnwsZjrF2VXnYd1D6q6jo1De8rM85p/6LniWqyDLCj6XPaiCYxwggxQgprOlsHfNoBJglub/Fp
+st7XJ/ikrTcKMnVGNCE79NGIJs+A1guVJAiZLMCoM9qJqgdQHal5V6DtP/2eAZ2s74ssYFFpCu5N
+m8v8o15W+hxFETRRI+APr8fZx8qeve36889zvteH22W0Q5PlT7Arp9sEfFfODkzs4FOm2bdIfSqd
+FUCJ2Ay4q9PmEPcyEzJFAVP1X6AtEU0IwGSBSgjIVBnNFPX9+TIImgyjokb0mal1KOi0e9aR/TK0
+IbgXOHVENaE9khZgH0udutMFKYIm6sWg5RpQn66UqKtg2d02lqisiqih6+GcruRjd5d3ArRC/tVt
+qgn4JANwL3TqNgbXwiaLKbhntjlP2pzFmwkBmbIimizP5kp6F3ojmn7BJA1gskAlSYJM2dFMO5iS
+sQ81qw/dkVrngU5Py7XwCd2HyYBMFh/KyB8BvTPiISDQybCH7zaCJop6/aD/OqweGVBpqrcVo+7w
+4EicHS1t5whlAj7RAHwHJSxRTFGgZI3AQsEm1GxzVmC1u5+e+4WETIiUucr0lOyIpjtotPvdE6GU
+FZFiXV8V2UQg9R4A5U2ti0KnJ/CkhU+ZfREkcIpMjJKZNjchyokQiCJooqgkGNFh+p1d/4y0uQu0
+LXrGuxMhFNIHIPJXs8y0uR1w2kEKS9qdKAGTFRZEUuY8AAkFn3bLIrDJA5y60ua8gwkPbNI8fwgT
+8AV+P2ZFNHkA025Q/QSJtNtlRztZtu00Hs8CKFPgzeSfkQAKAZ0sz3wmeKj2arL+YQ05K28kXS0j
+ymkV3ONTyqQImqiXA6Kr6bgRWFQFcKbcownndR14HTs+jN1pcyKY1LlIxIsVsmhgkwc6WWBMBD5F
+opl2sGkp70nWPX76XYz3DgWZMozAK6YQ16TTeSOaPIBJZE5UExIoIeHS6RFLiPq/6RogU+u80GkH
+l944A50numkHnTpT6CrBked8vtbvpgiaqBcLkf71xvP2gppqiJbtyXUVnEPmBzIKjpaycxUZZFsN
+wHfrLb5PU1LmopCjM5pJpDaSKQsgSuD678rwAKen53cNeLfswNIOJGngkXWbjqgmNFDqhktMp6uH
+RkgTe8u6CHR6Wq55N2TCAKRPk7b/Y4VOU/p6E0BN9YyqFEHTJ7SEXjKToIrFRDu7blfTOUTT5qrS
+Cq/itoHc1/Lco6MYIn9ZypyWV8Tvw6Tddre8O2WuCz6hopksYEkC0Ek2+9+1kaqIpt0y64BGGp9T
+zXtubbZDRDR5AZMGJGUP+KfAp6+BpMxzzICSqDp4IFMkdc4T2WTtO0UgBDJtzTur3CkpdJOioCiK
+oIlqB0PT61s5492borIu1qHto+0FV+hIJm96VXbES3XKnAfEZEUzaSOeLMDJ6xWBMgJHRzRZnwlt
+Z301vye0Br9arxZtRJMHKP0aaD8BJw2MQkKqLvjEKCcszJl6/IqZ6e6WiejT5lbSe8nyHvVAJg1I
+skKnySl0X+n7UgRNFEUBgEg0UipazumwCFUmIprR40cQAUjajpS1g+RJnbMYgWd6+FTOMoeAUyL2
+aCaNF9MO8CAimVBG4Jb7mwmZstPmVvL7bim21QxGtal1mb5NVZCpAhJ5gcgbQNR0P6fslEx0ZJPG
+jH4HtizvoyiM0r4vEZAHMfvcAp1rJjyKlBWFZoRPBE0UNRq8XAfV9SSAQ+XDpuzZNqrT5pYCLGWZ
+RO+WRz18vLBJA1sy4dNumQZAiexT1kQwkUyihEvWe4qIaNIMME4xA9+VqX1naUzBd6AoAph2v0ei
+mpCQCQGfsvbrgkDV0Ap9vO5IKA0Ayohs0sKlaL8nwxgclUInxu29f7SLvP+RUU6nps8hvLMIvwia
+KKoFFkW2k6byqsv3HP8aXF8tQLr7UF0DPlyZaXMiealzFh8fLYzYQRZNBzTLYwmZQqeBSUtxvTQe
+SQI+Ly9E1AwgkJApywy8633hSaOzQqcO36YOyIQGFQjAkeULNbHvhox+yiwv2q6qIpu0cKly2vqs
+FDrUDHXWvhTq24KES1190DeL14KgiaKOgB4okIPad/J17rxviL+kTE+bE8lJndPsZwVMliimKaly
+FlilgUlZ0UzW+4tOi9TePzRkQnX0OyKbdu9HjyG4Bi49waIoYNICqMyZ6qqjkiZENk0ERqcDKm/5
+2elzaGPwaMQTOqLJ8i1G9qWqYBN6HVPmqNeCprfM7sZZ6r4Fp67BdaPOe3d4P/bRToRlAB1Nq6ow
+Ad+Bpwj4qYRPGpjkiWayGIEv573VRlB5I5qQ66Kd/2hHP+MdooVKT2BJA5eeYBACKHlBUiZkmg6R
+slLgKoBRl39V9n3wgiUrdBKxpc9p4dICv5d261Gm4BV+Tdnm4OLcd1KkrTWlkSJoIuShCE0Ifdzn
++vZrtAaUGd3eGsVkhQ5Px8kyjO5OkbOm0FmjmcQAnyL30BvVpL3H1og0T+e2Ysa5lfCsX4GyLsc2
+y7AcGdGkgUredV3+TmhIUW1G3gltsuqWeX+i1ykCnZ6WifSlz1nfl9b3NAIyZaXOef645/0moful
+Xr+kruheiqCJokYDnyp/pauoLtrj/P1H5XWu3pI2p4UWd9tqgIQXRkxLkbPALBF79JYllU7jy+Rt
+n5URTZFBA+LZqO5ce2aGutsXOQudBRZ5AJMHKlVBpgxwNAX8vCWKqcIPC3kdNCDJA5kq0uei8MMC
+VqwRTdp+VRQ2RftfqBQ6z31ATQSS1XemCJooijJ+qK+CY1TVi4Aq9iGdkDaHnnEuGtWkgRGeKKbp
+0EkLm5bymmmjmZAG4Jr7K2L34OqETFbAtBrfJ1rw9ASdkFFOWTPTWQAUGjJNimZCH/8tUKr6GFlG
+4Zr6aVLqnpZ7IFQUFlTMQLf7Nni20YKtDNiE7Aei7uVKah8UQRPlfLA4KJ8Lf75S5+uF12cKNEJ9
+RFfD9t60OY8ZuBdAWP/qiIZOE2ad0/xsjWZCPAOWiKbdvY/AJsRAxfusZAzMLkBZ6BnodnBJA4+s
+gEkLoDI9nSZAoZMAzmRgNCniCWkO/hTFNDF9LgJfUP0BLXTKgk3Ia5F5n6aAIkIqgiaKIlRKrN/F
+e/QKGGXZrzptzpsK5wFUWuAkDjCDBkgiNSlzJ0UzWSKaLPfaO4vQxNQ5xDsg8g5Fz0CnBUdPcAgF
+mMQJhTQwamKKXTfcOhkYIYzcpfHcvTPSiTyn0K3g+wUBKaLpc9FvB2pCiWhUlhVERY6F/CNLF9jK
+Ml2fNhYgaKKoDwKrayg8QdSr4tyuFwCnFdxnatqcBSZpwdJdmVGTaLQJePX/Hp+mimgmrweX9t7e
+3aunTrv2+aiCTFNm+dHOPmeBTtYoJ62PU1ZEkxZAedPgJqTYdfYppqbWdYEoK6BCz0gXOZ+qFLrp
+6XOZsAn5DaqIZKoGTG/TZ64PQdOsRscUJCoLGFFzn8noX1Gmpc39AgmWGchE8iKaZANwRM6DThHY
+9PS7NZpJANta73W3P9NpgMnynKPS57TQaAeTEABJA3eegBMSRlWk2J0Q/TTZ6DurvhkpdNGUuWkp
+dNZ3ZnX6nLdfkfWzdx3im+e9t97ZYgm3CJooDqpTB+qZAOAU4PcmqHR96BmL7KMd4E5Lm7Ocqxcw
+RSOa7gALKvIo06/JA5s0v++gkwcoIe51BmzqgExd3haetBZLJJMFIj0dBxnRpN1HA352sEUDo94a
+yXQqXMq6zl33DwGZECl0snkPRPtOU9LnIiCrEjZ5+5Yo2JP9R9HsPjlBFkET9RKgwuiu7wKjK6nc
+rz7jkU5GZtpclW+PiD96SWvGne3PZAVLFsCkNeQWB0zS7uMxfEcMEiLPQ6Y/U0fnOuLZFDEJR/s4
+ZaXddafYabebFrXUGfHUBYyqZhLsOl9NHTxgCRnF0pE+Nwk2ecBTFEZlRu2eEBFMETRRBw+WCRrO
+BUeUbdD5lbQ5zb4W8GCJaPJ0JKthEho2aeGTNoUu4z5bwOLb/Jm6O8yatLkdJPKsi0QzWWCRFzCJ
+5EU1ISDTFPgyxUAcCYSmm4Z7fZu0KXN3/cGKNLpTvZqsfY4q8JSZHvd1CETQRdD0SeiBrOebQQ8h
+FnXKB+zNaXNR7x5rB/JUPyYPbHoCTNFoJuu9RaRGIgcEnufBkqpxAmCKgCekX1MELmlgURQwaQEU
+Kv0OWcakGeimw6UTjhs5ljZlbhnLzHyPRWYJ83o1Rb8p2nXTopys3lfV3zTP8QmCCJooikCKevX9
+jXq0ZH6QLR24rLQ5cQImqwF2B2zK8mXSwiZLKh06mqnC7B1t3loJmVbBc7wbkHreB2i/pihc0sCg
+LMD0BJxkAGSqgBknGYhPBVGSdF8jqY4ecGV952RFWE/0arJE5FaDJ8+3x/u9ixiAd/eLpx6LoImi
+PghvCKd4H60fm6o0uAzfGQuA0OwbgQ/azmIFVMooGwGbtMBJxB/NpNkX7c+EHLREIFMEMK3Cd5sH
+Pmmg0tOg0ppWF5mpLiOiKQqERPqjoaZFM1WBm+w6VKXQefb1pMxdEjMDv5LefVa4VA2bpvo3ISa5
+mGAAnjHj3AKXRxE0pQICQgb7tfjCNWO7oDwfvS+nzT3VWdNZzI5o6vBrQpqB74CTZ6a5LH8mzcAg
+O6opAplOSKHzeDVZ4JEHRkW8nZARTdp9Mme1Q0AmJGyZmq7X5dVUCb3Q5XuB1RNcWsB3URds8k40
+cTJsQnyzsn26KIImino1qCE0YjuKfCiZNhdLm5MNUNF2Dk+BSx7YJE7ApIFKnntd6cG16+hrO9cI
+yHSiR5MWJu2gknddJJpJuyzbSNwT1VQBmU6PbBLleVYBn2voM1zt1ZR5Lax9KbQxuPV7g5iZrsu/
+yfsdy/qeZfWjvway2s6XoIkiTPl9ntXnTnD17Zc60+bwaXNaGHQKXLLCJsvsc+iIJst9jgImAT8L
+VZApM61WOxBFQyd0Wt0bZqrLBlCoSCkU5GGUE2Zb5LWo8GqqGsxW+DRpvsERINXl37S7nto/vFjv
+AcKfqRsMMcKKoOlVwCYDOqxN5/AadP6IY9EDipp6rb0ffstANjttDnUdomlz0YimJ5CEhEvdZuDa
+daiIJk80U8ZgIDLbXBZk6p6556n8y7jvpSg7GsnkBVGdM9WhoZIkQ6bTI5uqgdDE43Z5WFnPFfG+
+Q7ynkd8XzXfZApHQsAm5rQUwdcCcyhnnss/zFXCLoIl6OwzogFzUt2FSdnSSFSwhYJAFEmnhg6bM
+aCpVBAoh4RKiLA9sssAn7X3yAihvNBNqGurd85I929wJnUuLR5MGKO2glBcsoeCSBhZ5ANNun8q0
+usg6K2jIjlpCQ7ATopzQ8MdzHpr7oYFL6HfgdFPwKbAJsa2mr4n8IyQabDEiiaCJGgZfKqAJIsqq
+0my8+5pQ80FUhR8L4q8o1jBrK3DInOp+ic/XoDutrRI2WQGTNaLJmlKnveeiuMfe5yAjyg9lBD61
+I6z1aNoBJTRwQsGlJzCUAZjeAKCqI5sQx/iyl1NWxJLWFDzbFDrqvdcFm6rMwqPbeuFPNnDKPA6h
+1IdB09RBeEe9TksRi8Ctk+EL2v+pMwWSsAkX+h2BQdYOmGdAPiVtLhLt0jEb3JI+gIWYcU7EZ/zt
+vd+eCLaTjMC9A6WsDvgFejchZqOzgKXpM9VFAFMEKlVDJg/MyU7Le+OMdV2+VciZ595oCo78nkcB
+1ArU3fL980Y1ZfszTTYCJ6g6GDS9GVZ9pf7d1wENarLux4T7zLZ2/wGpmsLXUobmw43yf0Knze0g
+w4SOYXUEE6ojavndEtHkjWTbRTOh768o97c8pwjI1JFKp52WHA2drFFOp81UFwFMWqgUjYiqinJC
+KvN4E6KcMsqNpM0htu8cyE+cgS76HdeApShsiqTLob5Tp/kzUQRNnwMrhALvhC1fMTf33IPOa1IZ
+hYAoIxJuXZE2p4UiFiPwKgA0ccY5K2B6uqeINouKZoqAmgV6LqKQaapXk9WfSQuTEMDJAqM6ZqrL
+hlLWqKZqAGWFQ9nAanKUUwW0yiw/4tdE2OQv17PMAmG86XKr6L5G+gETIBhBE0UVDOAn+SR9CdwQ
+Qs7xJYt2frQfvkjaXPaHNjLbnLVDOAkyoWaa08Km7oimp3sfuecoI3BLJxwBmU6bacbiz5QNnKxg
+yQuiMo3DPYBJA5EiQGpylFMHpJpgKl4lS1tBQ6YL+A6smIEuAzpVmYVHzs3ap0SmzU2HO4RPBE2E
+ADz/tDqhossyz/3UdqVJbTzRpyrbLBGZNoecaU67b3S2uY6IpuyoJ882InMimp7KqYpm0na6rYOR
+DMg0uePqMQXXACUrVIqApShcegI9WYApApG8QGpalFMGWEEApQq4hLxW3YDLazcQeXd2zUCX8W2v
+inaKgKWM/nHm7HYd393PASqCJmoykHjTLG9fuM4nwa1pdc0ciCJmKfFABMsMZRoAsUuV83YKJ0Im
+7b4i+RFNd/cUNbugpa1mGIEjo/gi0Ycn9Rms0Mkb5TRppjovTEIAJuvvlkiVKWbiKNiSGeWUtR+q
+zpkwqXv2Oe+7tAs2RScosa7LWKapxxQI441Knvo9fg2QImh63yD3rWbnlvPKuAaTPbJocD/7ukSm
+iu1Om9NGtSzHtpYO4aS0uWr/pu6IJu+shVoz8OxoJm1ZUV+miimhMweRkWs6GThpYRTa26k6re4X
+sEABqso0uwmRTZOjnBDQyZM25zmHE2af8/YvKtLzq2GTpw+JOEfvt3QijGGdCJo4CAcdbzk7q5WQ
+7RQAM/UevwFidd+LlVxXz4fbmw6ESJtDgoeOtLkuk3DtuqyIpjsA5Y1k8nT2M6KZPAOXasi0it57
+EfBkBU5P22qgkhYeaWFU5kx1GtjjAUxeaGT9fUqU06TIpooop0mK3q/qwXMGbOrygkTBJs218fgv
+Vd/H6j44vZgIml4FBSoiOzINub1lR+uEiDZaNx1LtFcTjbkpLdxBfOy8U7dbZ4qzgKWn40xOm+ue
+iU7T2RSJRzSJ+KKarEDxrj5eeGN9DjQpc52QaQ16R12O/aJRTifOVOcFQ+htIlFNWmB1epRT5rGq
+IFenP5MlYqryXeWFS1HYlAmdPLBJQNtnRDVN+S4SIhE0UUMHyVNSyKzHehvkmXQ+Jxp0d3aANPug
+Z65CDKCjQMJiDu35+a2Q6alsdEQT8i+VmntddV89z0UHZJoeem+FTl3AyQqWvCDKs21V6h0qqqka
+MmXBognQJwtQoaKskJ5aln0i78Bs2DQhnQ4NoizRvx5whLpfmuNU+zMRUBE0vWoAf+J1mexnlF33
+yLllRpsRFNXfh4qBX8T4WAubkLOPiQIwRSFTZdpaJWS6O8buZ09E0y/4FDEDjxiBo56pZSwrMlPP
+WwBTBCBlAScrVIqAJQ1cyvJxigCm7N+nRTllwKJMr6hKH6ooCPq1PQqqIeCA5/1b6Qc5GTZZoFPm
+tyQLCk37pn4SUBE0fXuwPDUNcJfql51qJwXHi4AdT31oQD+j3pVpc976RH2assGDdwrgN0Cm3TXw
+RjRp75u2TVnAoijuswCumXdQoX0mvZDp1M6nNcpJu/2pM9VZQFTU28kDiHZAJ/p7Z5RTl7H4lON7
+oVPHsSKz0EX6S2+ATZkgClnPyDd50rdyJW9P0ER9bvDdGdVyctRM1axpnamCSF+ujlkBK9sYIpwY
+8TGORjJZYJIVQu3gwxRvpmmQKSuiKWICbgWKGe3R80x6w+2nQSZvukzGOw8Z5XTSTHVeEOWNaPIA
+Jss+b45yQpmKd4CjzMgqz/UT0L7od95E2IRO/84CSp0QpzJtbjIUehWwImiiTgJXGTOCZUUVVUCe
+6jJ/dTLfGiUVSUHM/tCh8+WfPvCIAf4uwqW6o4eOUvKWewdruiKaRHwm4BpoZfFlEuW9zvrLKQqC
+ZUCmipl+LlC5liinK1hm90x1CBBV5dsk8u0opw5lAK0KU3Dkdcu4B4jIU3QfJBs6eb9506KYUHAJ
+9a2kPxNB05gBaFW9TzF6nnZ97/6feh1R9av0d7L89Zp+Z/aPl9VLBlVuNGXOsn2GN9NJkAl5zN3P
+lpQ5ZHu2ps5VPAPoY1VBptX0LoqAJ+t3QrPtxJnqNMDIAqKiEU0oCPX2Gesqf+6CWlOOmVmnbtjU
+EeGUCaYqvy2Z30xqyHVjRBM1FVKhjMc1233B5JzKaxeIjyjqY2GFEFpA8AtKWFPnnmYhs4AIbQpd
+RdpcB7x62t4a0bSc91h7762pc9a/Gmf4QGgHIxUd5jXkHRmBTicBJysoskIkL4iqNA/fAZ3o71Nm
+rPuCslPtuiFTpP81CTZVbJvVT0J/i71eiehsAvQfgz77fvoqaJqSinTCeVemRyF9gFDnQ7h09vNd
+ZRxfFaFQNc1s9hT3GqhkAUsVXkiVZuGVEU27+4S435bUuQnRTFm+UaeH50egUydwskIlDRCywKiK
+tDoUYHrahlFO74mWssLCCaCrEjZ5JifZ9dM6YVP3N6XyG0oTb4Im6iUQqrPsk8tEptBZyppkmI2C
+QhX13UU9IT/AHWlzaPhgNYiemDanKTNzRjrLuqW8jst5n5BG4Ih7XRHN5O2YRqMaT+rweqGTZb/J
+M9VZwRICRHWn2p0a5fTmiKcsfybN/k9leo6381jLeD9HYVO3d5Mk9oE6PZmQfeHs7/5pxyBootQD
+3wg4+HokTuT8M6OcJhmed17jjuuhefl7puaNmoBXps1p4NEyrNOABzHWtwIyRacSrvRx2kElD1hE
+wsW3RTMRMvlAT3S/ypnqnmCQByBpIJIXRHWn2p0Q5SRGGHVq1NKJQO0yvAMRaceZk5Jo+wlo2JTd
+F9JCJE2f1NsHPQFEUQRNhCaN5U4yvfYcYxqY+4op/rS22RmSW5E2p4UMWiChTaWyRrpUdKwQACnj
+2E/HmG4Ebu3MRzrciGcQker2dsg0GTg9bTfBx2kHjCxw6QnqIMAUo5x6YQxyhjlE2hwimilyDyLv
+1bfDpsp3feUMc557XuHPRBE0vWbw/cYopCefJq+fEiLiC30PrfDKM4veSTDPW6e3PQMT0uYssMAC
+GrSdPK03U/Vf7ypT6yz7eiKaphiBW9IURPAQNfrcRYxNMzu13jKugveaJ63uLcbhFhiVAaKQ6Xdv
+inKa7uuEBlAZaXORba/id5+nL3IybJoQ1RSJZpri64Uq49PgiqBpPlzqKnNa/SKApSvii0bhfMaj
+H5yM7bWpVBpoZNkOkUJV2fnKBlHefe/qYQVO1nssyjYQ6cxrlnVFM02DTJkdZHS68knAaQeVLJDI
+A6Oq0uq0y94Y5eSBNZWKwqjOaCZJ3DdjsE/YFP++er/FiFS5quf1RFg0os4ETXMgTOfxvgJErLCq
+KoWu8vprZ/o7sU1N88ZCfgR2nSTrX4i8IcwWM+gniBE1ha7oVJ0W0dRhBK4FTjvfKG0n3fusVHhC
+VUGmakPSC1zm6cbhHngUhVEWEKWFRJFljHLK+xkNbCZFM2WDPMKmPKjk+S5Ho5mi3/7T0uZeGflE
+0DQPvkw0UM4+P+SMa93XpyPKaXdNp87m1tXmOp9tzbroRz46ZXvWFPd3wCHLmynaOcsGUd59dz9X
+GoFbUiQRwOeEaKaszmxXJ/TXTFPVwMm6X4VxeBQeWWAUMt3u9CinDAA1ydfJc2xvHZHRTN2QydPX
+ImzyfW+92yC+Z9V/EPokHCJooqKD7ekpX1FIkgltMuESU+1w16HzWq6mctDTAFuggzfKxdKR00IY
+Tefm1Iimp+06jcDRM86JoTNs6dBmRzOtIc91xfvtAl6rzrS6LuNwD4xCLD89ygmdZjdp9joPjEKD
+pAw41JGSSNiEgUre7zLS+DvyR53uPv3nQRRBE4V++K6i43abXkfrgDD1ngqm1kOn+hpcfxTgsm7n
+NUT2pM15opi8KVQ7wCEbYGI1AEd30rJBlGffqBH47n5nGIBbOuyWQcJUbyZUp3N6BxWZXvclH6en
+dYgZ7r4Q5YRKs0ODKmSa2luimbwgDfVOjMKQN85Gh9jH0xe1QCT0d5uzzRE0vRbEXB87N+9Mb2h4
+FJ2lLBMkdbc5LfDp9I564/OCKmMl1QX5wUdOcY+CTNZtuyKaLOs8vkyW+6W915rlVoBjnemmKprJ
++/y8CTIhQNHJwMkCpdBpdXfAx7q8IvIpK8oJYSaeEQ1lhUZvj2aygq8sKPAm2PQGuIS4jpP65DKs
+rFF9iFNBE1OM8qADotwOg+lInVARROjrcgfN2P7z2nA0yq3rI2Hx8cmADtbUuagZuLcThfyrYVZE
+E9IIfAed0HDR2mHP6ExmRzMRMunqfgHKyQZOUZiUBZyioAphKl4d5WSNeooAqsrZ6zxg6A3RTJbz
+Rr+3rdu9ETahgZQHPKGjjbXlLOAxmTb3UdD0pQHxtDpOgzJeeDPlnlYZk1dFdiHPp6ssL7jyfPQm
+pM154FE0dc7bYUP7FGSDJHS9dj9Xps2txPsd6Sh7O/9ZHcevQCYELEICJyt0Qvk47eDQEwhCrbNA
+JAuIyohy8u6DiGrKWFcFo9AgCXEcqzK8m1Azz02FTah+hxYuWb7PmmuDuHYZ301CIYImQp8D6zPB
+S8lSZmRZtO7dwIpRUrM/UJlpc5rIFsusZEvs3kxPnaSsmVeqUuMyIBMibc4705ym7Xg76JUAyFpn
+z7G/CpmygJMXOr0hrc67zhPNpAFU0SgnhLcTMu1uSpTTSdFM3u2vgncewgz8RNiEBFHeqCbLt76j
+z02oRNB0dIeKg/V8KDP9Wk+f1S/rWiPSE6PngJpd0XLO6MErwmh4OeqAAA7emccsYAk5nS8S/FQf
+awecLNAJ8SxqwKK1U6+9bp6ObjbMImTCwCIEuJoOnJ4AkXddpnm4FhShAZMWGmngUCWAQoMlNEhC
+HMcCmabMFub1FzoRNolyPylYhow2RpiAe9rPZH8mgibqGMCAAgUTzKa9sKIaHiGixqqgTlV5ncbq
+Ivs0CEQnJzIVrOejrU2h8sIl7XG70uYQUUuZJt+7Y2mAk8eXK5I2Z+1giuF+IwYLkc5qZgdxJb+/
+LAPMCe/WacBJC5O8QMnyvUEYi1eYiqNnpxOJRTF5AVUGZEIAqKnRTJMgUwQYTIJNKMjkNf9ejvqi
+v23ZHo6ruM11tneCJqoVLp2QqqeJQqkyz86EJR2wqCICKFLHLjP07nBf6+xbyA+sFTQ8Aagp3kyo
+9DkU2PLsh0ybi7RnbwRbRwdyYjTTpL+KrgYA9SYfJ+12iLS6J7CUZR6+A0lWUISCUMioJi2QQkAm
+C1gSRxkesBOJZsqCTBfwXbeCyytgEwr4RPswlj5jph8TI4MPF0HT+fAoI9IoAyJoo5oyZsHzgpJs
+3yPLrIBeeJYRibTrPGZcB+QzU3FsbzRTR9ocIpXKkjpnjWrKgkyaMrPMviUAmTTX0QKdBHTvLZ10
+lAn4xGimasiU3blGpbxNBE7W/aak1WlgkGVdZZRTRardBDPxSJniOLYVDnmjmTzwSpz7aPdDwYho
+JFMVbLIAomh6nRdCZfg1Wb/VJ6TNETRR5eCoa/8Tr8+kNMDI+klpd5UDgze31SpQ5U2bs8Iiz/aI
+qKZMyJSR0lZRNw1w6kqbqzYB93Q4O4zGO94RJ0Kn04zDtTApApR2daswD7cu90Y0oQGTBvCgABUK
+Mnkjmyqimay+TFYQlg0ItP2gabDJ0zdAL8sESllRzp57W/19fz20ImjqBTuZ0TuTzrOr7ih4dYK5
+t7z0Hr2l3t6/yqHS5jRQwAogLGU/wRCrGTj6/+qIpkjdLMBpt2wltR+POWfUBBzRwc0apKA7lmvg
+O+0aWna2j5Nl++nm4RpYFFnujWiKACYvNPIAqkoPqCh00pStPX4UMmXOQOeNeEGkjCH+qDYFPFnr
+Kc5zinyrkSbgFEETB68fqnNlulPWde5Ic5tiwN59/yzpiR1ACR3ZYP2Yo8EVKoXK6l8kDlBxYkRT
+xOw9AhetwMkSRedtkyvp+czsrL51WubMCNe3+jh5gZLmeJOjnJCG4ghvp6yopkzIlB3plD3zXDZg
+qgROlqhdZMocAg55IJGnr+n5pk81054OsMbVj6DpHPCSPTifNHsZIrXN4mU0zZ8JnQJXYeLdAYim
+nS8K5lg9fawwyAKJvHDpCXYgIJOAtkEaZlamzUWjmsQAkzTbTkub80DWVfycvwUyvR04WfezAKqv
+RDlFzMPRgEkLjZDgKBMyRc3BPdsgINNqfkdVwaZIv8cLkSr29wAnz/ae6+29j9Xf6U9EXRE0EVad
+fk4I2FIBdKoBUhfkofQfFutHdoHK9cwYZ4FS2tS5CGSqNP3uiGjSdvq8UU0o83dEhzAjbW4i2FmD
+6lL5nstKq5sOnCzbW4CTBjpNi3KKmIdnASb07xMgU9SXKRsyRaKYkLPPIYDTJNhkgUToFD4J7mfp
+z0agEkXQxMHwsOuXHfnRZeyNTtOrMHG3RGlNei6s0WSdnmWI+4j44EW2t3YKrFEsHkCFmnEOEUFU
+vS4bMmmvsUhO2tzTsbzPBjptzvsX0+zn/M2QKQMMZQMnazmdaXWa8jTg6AkSecCSBhhZQFRllFPV
+75WQKcOnKQqZvDPPZQIGZCQTGjBVg6NoXZHnhfw+ruB9J8D6KGh6C9B5w/ntPhDR69aVwofYt8Of
+yXqsyui3ypnxrGVGYGfV4DKSNqcFBZYyUabQOwNsBNQ5wRBcU4dpaXPee414hrxlreJnehXv90Xg
+hIJOX0mr0wKpKIxCptudFuUkhEymKKYL+O5DpDAt57Is36ZMWISqBxLYoCKkO8fDE8YNBE2EQO3n
+iI4mqriumZEsnf5MWdfobW09A/ahX+yIv+Ag0+aiKXHa7TTeTJ6Z1bIgTmQdsp7adTvgpAFM0Tbf
+mTbn6VyuxGc969hv/espfZxs21eah2vhkRZGodPtNKAIDZiywc7bIZPWFDzznZcRsWr9vkUBUyYg
+ykjli14H1H1GwR9GMxE0vXKAfDKc8qxHwyOLIbg0nC+yfZwc9eW5p1nHtAIs5EepMm1OC5MyUuci
+HaG3wiYrZHq6vlm+TBrgVJE25+3YW+s4Aca8vS+0gyMTgJO1HG9anQU6dUQ5VZqH78CRFSZFAJNl
+n0xvpzdBpqvxXReJeI2mzkWh0mSwhDD59l5Hfl8JmgiSXgamOtPBsgzBM/yZKmaDm+JRdNpzuLv2
+2o569MPmyR1HDchRkS2eWcg0HaFKo22U6Xc1ZNp1xDQRbJZ/0Q5hRqh7RZpbZTTTFzvBk32cIuXQ
+PBy73BvRhAZMEyHRFMi0S5VDzDgXMRWPvr89y6rgUxdA8oClFbhe0e925jes6xs/tt9A0ERlA4mK
+meIqfX8y0uI01whtCJ4JsrQplZ2pl55OP8qo2FoOKm3OCos82yOimjIjmpbkm35nQCaLN5PGlyny
+TExLm8t4LrrfOV/uX2QCp2jZJ6bVacqLGoRb1iGimaygCA2YLOAKnaqXAb2sy0RyvZrE0F5R71Fr
+5A3iOzghuikTMqEn40B8J2kCTtBEDYRFlftZ4EOGl1L2zHPVEAXh01RxftnXJQoXI9tmzJbiKTMy
+85jXl8k645wX1mTBnUzYZF23u4YiedFr2vvt7dCh0+aQndCqaCZ2ZvOBE6rs09PqNIP4aVFO083D
+EcDHk2oXrUN0mQY+Wd5vGWl1mT49SK+mk4GT9zpG4Fx2f4AiaKKGDchRAOlt12nizHPy0XvRfb7a
+NKKlXG79aKM/wJ4IF4sZuNcIOiN9Tlt2BtB6uoZP4Ecz41wUMHo7zYi2GIE9a9g7jMqBQtllM8op
+vi4azbSDQk8QRwOPottUGZBby4gue1q+W5cNl6Lv2sqZ6Cz9uClRUAKov/WaRb+dC1BGVh1eK4Km
+d0ChSKrUdAhijTDyGIFPm3muCpygYRn6nLLvQUUHJvqhzEqbi6RRZXozWeGSFwih97OmeFmOYQFO
+u2WRGdAQHk0SuKcZAwTv84uMZiJksl2jt/o4aff9YpTTRPPwScDIW4bmOnggkyaKqdMQHNE/ywBO
+iFS7CuAU7X967/sCb/eW7/PoOhI04SFIRXmnRgd1+AIhr03VzHOIemUZsWs7hhPbWObzYe2wVM+Y
+oTWG3q3P9GaKwqWKFDlPPaL1tnTorOmSqHb0hrQ56px+V8b3Bu3j5CnnlCiny3gMzbpTzMOfykJG
+OVm2iUKnp2UCWC6be7PTFXwOEdtHvmnI3xGG2l3eS50pcxOimT4pgqZ6mHQaHJp0DRBApXrmOUR9
+7ky0PdcNcT4L1AnI8O2a1La9HR1E2lwkEkObNmWBG11m4KfBpqdl0aimu/vrnWnu7WlzjGb6JnBC
+ll2dVmeBTllpdVogdZp5+DQ4hEqVQ0YxoYzAr4T3JPK9XJE+NxE4odZZr1PXd7ZiRluCpo8DkFPP
+d7JnzaQZxSpmnkPes6wopUn33APeuq9BVnRSNG3Okt5mqe8udU4MgCQTMkWgEdKrCQGZNNcz+557
+Oognp81RBE5o4GQty7MfMsoJlVanAT+adZ3m4SjA9LSNBXhlbPMEhbzLte/X6lQ6BMzoAE7Z66pB
+EhIqfXECjvHnwIim86HSW+pxF7VzVwdUvd4289yJ8LWyzhmQCvFhzcw996bMWbbTRDEtxc8ZECfD
+qwldz92yp+uZBZi0ZZ2WNreS3y9f6uRO7XBfg8ueZh6u3TYryukU83AvPLJs4z1+tj+TZfmv491p
+gk8TAna8HThZ1lm39fQnkH6KWW2C+o8Imt7f8XoCJpMMvjPKR5ilo/bpMF33ppy9CVZl+4JFPj5e
+k2trB0EDHLwzjqG9mdCQSZLWZaf3eTuAIjqz9i+lzVWagFOzoNOb0+qsEEmzPc3D48uyIFQWdHpa
+5gFMu/ekBy5VRpxPMwjvBk4RyBQ978xvcPW3/LN9B4Kmb6WLvaHeEbNnhJ8TEi4hjas7ZrmruIaV
+7dZ6bz0fGLTXANqjSXPsjhnnJqbPIeqtWRaNatqt09xvVKexI21uYkdyDa9fxoCv8568Ma3OU4cu
+8/AnQORdV20ebgVFVniEjKr6BY8iZe0gEtIE/Ep6d3nKyzQI93xDK+BQloF3JlT6ajTTEfCKoIkA
+J6Oxo4y9s6JRMqGLB/hUGIKf1ka70gstHWfUiz8z/3wX1RKFS0+diCzI5IU7VqCEKDsKmTTXU0D3
+2duWkB1va/vv/mv1id/nLigy5Rq8Oa3O0v/Sbj81ygltHr6DRAiY9GtZBmD6tUwbxYQCTF64NBnC
+I2Y06wROVVBpd029fQlU9DEjkwtF0PQNZRpNL6mZ7j4jMgYFsipT0SpNw98yI2IkLc4yW0r0I5iZ
+NqeBSNbUuTsAYY1qWoFzt0Ce7Bnmotvulv263pYZ57T3eyXdb1QnLztt7iTw03mc06ETo5xs26Oj
+nKaZh+9AkhUcTQFMyGXRdQi45DXTR+6T4dfUCZyyIdNKvuZZ/QdUXT4Ntgia+ga/0wf8iAE8Orqn
+8lw74FL2rHJP/lxVM9pZTd+nDEqyyop8sJAeTdY6aL2ZIgbgFpCk2TZj3QreR69Pk4h9xrnluMfa
+thwFsdPT5k6ata4TnhE4xUERqp5TopxOMA+/W24BUZexzMkw6ZIcwBRNoUO935BpzuhopgrQs5qO
+pe07dKXMncYZjhBBE4WECB3w5G6dxxA8ei4o/6YKj6HOMhHHjxrdV8w+h0wj6kqb0+yX4c1kgRDZ
+fkxZvlFa8Pbr56oZ57weTeiopowyMqKtujuHk3yqToFO2ZCs2zzcsy8yyukE8/AdRNIsr5zZLmPZ
+btun7Z/ePVq4dDW+yzI9myL9wM7fO+oXXba7Rx1/MPp8mh5BE1UBHyoMvBHbZUQ2RcrvhHnR8rOi
++iZBOMuHxNqRqU6be1pX7c2EhjaV6XMoOOaNahLBRq/tykSkECCfNbTx/kkdyWkd2tOinLIh2ZvT
+6rTbTjQPv4MhXkCF8nyKgiMUYMo0/456M2l9w6r7dNWeTVHIk11+5JpOSpkjOHKIoImwaOJ+3iiW
+KvCAnHnOA1k00MWT+pjt7TQtNe4U+OSBNlbw4PFlinozZUGd6nUZ9f1137zeTMv5z9MRRHqSnZI2
+NwEETe78Mq0OB4pQ9aR5+H4fpHm4BwZNA0w7KGSNbtK8tywRddnvS2Q0kxfmZACf1VCH6DerK2WO
+f1QiaPo0MIp4KlX49UwFEFp4ZYlsmuZNhfBByoiuOgVIRTsX2qijpVwe+QhHprjXpmhZo5oyYM4p
+sGm3bHc9RfJS5zxRTJb2jnzGrGWgOr6c4rgHsLylzjQP/4Z5+G7bqSDraflTWdZtdvdw2nsUFc3k
+BTlZAKgTMr0tZe44IJQlgqb4IBvt/VM1k9q0shEwqPrcMiKbpnoiaTuEV0PbigDU6HEzPkDadR74
+IGKbXSwyA1nUDLwDNiFnlkNBprvr/RTVhDax7/4LprWzODWNjB1ZLGB5S50Z5fQO8/BqEBQ9VmT5
+3fvHAosiYOlytOusdywKfkwBTKhtMoBS1zeS0MipN4Cmk6IfeN41wAVlCJ4N/SaYd3sB26+OyDWg
+vVb5SUUNkq0fr0janAYiWKe3R3ozIeFNpldTdnqf5d56waI3Zc7bqdy1yylpcyfOXvOGji+BU175
+p0Y5nWwebl2eEdF0tzwCye7K0ewnimvugUnVs89Z+lTR5Z0z1qG2qYxaWsVt4I3lpokRTe/VhIif
+jPKzzbOjcAgFOqxwzBKtg/Ri8naII6me3c9L5sfOO+DefbQRKVRVM85NTp/LmhXv7zLUjHORVElN
++8oCq5llVP+FkzPZ5EKRt9YZCbS+GOVUbR5eBYHQx9Mst67bXT9RbN/9nkO83xGTZXQCJu9+UyAT
+DcAHiKDpPFg0cYax7mN0+w4h/Zt2ZXijtKoNzKfBIc0+WvgV7aggDCwjnj3aUPCOGee0oK0zfS5a
+f4QZuEj+jHNaj6YM4/tIh/HtofJv7/QyyikGe7LKyo5yOt08HLUcHdEkgo9qunsPeWabs77XLlD7
+z/4ORfqDE2at8+6XkRp3mn8iwdQ/RNA0e1CcddzqFDLvcXaAJnOWtOzIpg6I2HV/oyAukgLpaeuW
+DlOkA9KZNhdJn0LMOKf1QxLHuihQ0pSJin7aLfsFfCwzzmnuddSLy9sup6fNTSz7Sx1YAqfc8qNR
+TjQPn+PxpD23u3I0y71waWLKHKpsNHhCQ6fMSKNqQ290WzgxmunI7z9BU+8A/8vnfuI1r/JcqjCE
+7/CPqro3KIP+yLZIv5poPRB/xfPMOOcxAPcCCbQfUwYQifo03f2OSp3L8mgScHuOlEFj0DP7KJoB
+6JfqTPPwWebhmvJQkAoZiRQt6+5dGIlsmvh+zUyjq/J0OhUynZYyx77BHxE0fQ/wvKGemvQnT6pZ
+RmRTtPzoddECmMoIq8kz63V2UrRlWNOpPOBht32GN5MF7lT4MUXq0zHjnAgWLEbADTKV7dS0OUYz
+5b1LGeWEL59pdZh1kYgjayRSJKLp1zslc6a5rnS5rPdqNNI9C8JkQ6HTIdPp377jRND0rQ5a9cva
+E1WjmZIecX5VhuAIM++To4+y/bO627436sLqQaT9WQMb1gO48KZRdUKmTD8mRL2yZ5zT3HNv27Z2
+ZKNRXiekzRH4vB/eZH8rGOVkOw46rc4CYxDrsmAUMqLJW562/++JbJrwzkV5CWVHO524zLO86n6y
+bwASQdM5YGeqSffuLz7Z16AizUyzXYXZdsSryFuPyDEmG8tnpdd5B+HedDnPh90KKJ58mSJRTWiY
+g06fy4BNmvppo5p2MMjzD922kJ28KWlz0wc7X+tnZYGbk+t9WpRTVlrd03YTopw8+1RENFnX7Y4p
+m/thfb9VWiNkwYruVLqMZYhtvddNc184y1yDCJqobLhyiil2R9pcJpy5i6ryRHJlRhchDd+tkWSd
+/mTe7b2RLp5jWlOoOiGTJK3riLjaXU+RvNQ5bRSTpV1GOm5Mm6Oygcib6z0pyumt5uGodch9EBFN
+ljLv3nlWqHQ52vXUvhoKgnTOVpd1HM/y6PWd1lY+058gaKKQYKZyQB/xaco8bwvsiKTvVcOT7pkK
+o/cyoz4a+KLZfimWI9LmNKbe0RnIombgE9PnKj2knq7n0/VHp85pZpqLdlKRpvdVnbeODh+hVQ0Q
+eXu9u6Oc3moenrEOGQH1tM4KjzKjmhDvugtcXvSdXAGXEOBnCkzKhExMmWsSQRM7ZFUwI9MTCbnd
+NEPw7EioyVFZU58BdEpQ9GPlqY8WLD2BjIg3UwTaINLTvHVB1sdyrUT8UNGbMqetA7JNop4Ndvwo
+Aqf88qdGOVWk1aFgj3cdIjLJsp9nveYainKf6vd+BnD4CnhCLkfc15NT5o7vyxA09QIbVHmWKA9t
+elR1FJK3nlWQpQLQWO6xdxY9kTojdG8bQ0UrZQBKz8cBBaaq0uZ2+2bMOLeLckF4NaEAEmpby8+W
+Geci91vT7ldSW8/sFFZ2NLsHO5QdLHyx3jQP749y2sEaRDTT0/oKsGSNajrhvYf8niDBSwZg6lyu
+uYYoXyZ+o5P0FtA02XS4o/zsWbYyDKg7o2C08Co7bW7yfdt1dqJ/Jc3wprKu03Y4kR8aC6jYDeq9
+aXN/1++2kQ0E0f6sSaFawWvWCZss66bMOOeZaS6rA4boCLNDSSGAyNvrTfPwfXkZ4MhbLioqCR3R
+dPeerIxq6nzfI76LbwRP6H0yvslMmUsSI5rO7zRdH6m3N+UsGu3VkTZXNZPe3faeCJ/rRc8UcjCc
+YVbs7Rz8hQnW1LmnZRpYovFDkuRtvLPW3R1Dc280ddNcw4zUOes997Zz1DXt7FRWl8tObM39Z5RT
+TvlvNw/fAZQqIOWNZvr1jqlOlWNUUwy2VBuIe5aj90Fd1xPa2iv6AARN74QyKGCRXR4KeFjqWGEI
+PvX+Vd5LxL3NmPWwog1bAYRmfXWUyy51ThRARGsA7gUSnelzSP+op2t4d71RqXNRjyZ0Ryn6l1ZE
+nanv9bGywM3J9UZHOVWl1Wm2745yiuybFc1kXa/dRnP97nQNeL4y+4Ce9dPAE3qf6PWp+u6zX6EU
+QdO5HaPr4PIzAAxyFrJpaXO7qKyn9ZZ6VbeBtwxQottqU8essMkCHyKpc56fK2dymwKbdst+/Wzx
+Zoq2ZY9HU1b03kraNqNzz07su97npwKnrLqfllZn2b46ykmkJrXOelzP+rv3lDVNjlFNcbhymrfS
+JMjEaKZkETSdA1fQx+2eHn7KcStmw7Nsa4nSyfb1qvBN+rv+qR4ooIaKarMMyDM+HpZUqn+uz0qd
+0/6MhDqedRkzy2VAJk1bWgnvw2gE0W67aCri1A4c4dB7+oKZ4Kai7kyrs29fEeW0W48AUhXrNecn
+yvby1aimKFTpBE8d6068v5QQNFE1MAcFNzphiOd4FcAjUvZb4WFlu9GAAVSKWBWAeIJQHm+m3XlF
+/kenz2XAJk39EN5My/lP25HSRCyhZlj0dujekDbHTuw3wE1VG3pjlFNFWp0WkGREOe3Kz4ZGVSly
+6Nl+p7+vp0U2efZZxXXP2Gb69/lVfQCCpm8CnrfW8299d/+joERG2pz3miPT5xD3/o0peKvhOJlp
+c5ptNWlzS/FzFcSJrOuIuPp1ja2AKdLOvKbyT9uu4ueCHTvqVHBTUXdGOdm3R0c5aaBNt68So5lw
+34epkU27fiP6WNF9kdtM/+a/ri9C0HQWoKkY9Ee9k6wfCg1kyYIz09LmnvbtNDlHQi/0vpE6e9qL
+ZrnF5Bv1QY2kzXlmH/OmzSHgTUX6XKWH1K+fq7yZNPfa2tYz/Jk6gdKEv6JS3wA3J9f7C+bhWnCC
+iITKiGSylqHdRns8CdyjU56vqm/KFPgUOR7y+1oBmfidd4igicruYJzgfTUlbc7jzzTx3C3lRKKt
+LHVcYg9Pr/oAe8zARfKNoT0zzml/Rv6flT4Xqbd2HfIeI1LmNHXwpM1F/Zk8nUCmzVEng5uKNkbz
+cPv2E6KcrOuzt7l7d70hmqkSUHQBnS7jbkKmD3z/CZqoDGCSUQYaeGjLPiltTls3byRXx326A1NZ
+HktX8KWPmoWrMm1Osz3Cm6lyNjf0DHMZ9dn9nJ06551pTtO2o95KqHIJd6jTwU1F3ZlWZ6+zNcpJ
+C2m6Ipk823i21d6P9YL3QQVEyVq/muuF3Ibf+kYRNFFoMIMCD1GA5fFn0h57ChjrOKbm2mR0XD3n
+pEnBrP5orc3A3Rv1Ekmb86TOiaGeVl8kzXZTYZNlXeT+WkGiGO+xiC9CKCNtrrPTWNkxZSf4HX2i
+LHBT1fZoHm6vszUyOgKmpkUyWbfdveuuw56XjP0qIM3pUUyV30xGMwVE0ERV+u9UeCJlpYJ1RjZl
+p7dZgcyvjo62A6U5TuTeVIE9S7RFxnSu2T421hnnIgbg2vNCp895oqy090Vz/nfX9G7d3bJf960L
+Korj/lV1wFbhu4Biv+qkgbMXsHRel7dHOWm2YyQTrq2uxLaO2LZim1OimDz3iylzTXoTaOr2Auo2
+/kZE7HgiQDLPywIiMoBZdmST9Tyis+hFYVhmp7QSEGV3oKMgCOHf4/kIW1KzUN5MWhAxIaIJmdr3
+6+fIjHPLca8jbRnZecpIvSP8ob4Abk6u92nm4dZjefwfUdApexvPtrv38gVoA13PSOW3MQvgnGTo
+/SbI9Hoxomnehx0VJdSZPjWxzqhzmp4294W2bSkzwwMLNe07yixaG+Fyt1zry7QDIpYUOu21OB02
+ee5v1YxzXo8mtD8T6rlCH5Npc1TWPb5YbzOQyaznhCgny7ZfjmS6mtp+VRmVcMn63e2sR/b1nPB+
+faUImjjAPx08ZEYAeYDHFENwRGrgZFgZuQfoj0L1RzRSh8h2UTPwu2Uo2FSVPpcJmTT3OSPE39qm
+ommP1Z0wps1REwcXjHLyAZmselZFOWm2R0ZEeYDS1EimdcDzkbXPlAinjn5vdf+B33aQCJrO+bhX
+QoBKQLArPyMSRrPdlLQ5hE+TN30Odb+joM5j6I5ux97ZubQDbw3Y0UKISNqcBm5k+DR1mn4j6qUt
+cxmv6dOyX/cu6tFkaYPa/aydOKbNUV/q26Hgypvq/fYoJ0v56IgoLSSKgCfPdZBAGZ3tP3vfalgz
+xS+q6rqh9514nFYRNNXDm1MA0fRrUeXThAQmyGs2Ab5Mbu+aOng6ehUfkcy0ud26p/KjaXPZECdr
+XVb9dtf06R6vYPtCTGmc4a3kPS47edQb+p9TB9Zd9WaUU/62XvAU6Tsh/sgXLbfqm5AJSE6FUFnn
+ibiPhExgETSxY1Md3ZIBK1D1iqbNea5xZrTatHIyykP4ff3qFHo+qB6PIsv+kcG9NtrpCU5564qG
+OVkpcoj6adf9+rnKm0lzjKzOpWX/TqBUcc6f63BS5XClo95vNQ/37OuNctJsP21b73kKsL2vIc9t
+5r5TU+3Qx/NeV35Ph4mgacbH+eL5q6+JNfrIE/ljST/z1DEbOEXS55BG7cgZEKPH09bF+zHz7Iv0
+rfGmze32jUY1dUYMZc1wlwGZtPf36d550+ZQYFEc14uQhqL64E32gPvtaXWWfU+HTp56R66RBMqp
+aNuV5XSCqJOMvNeQ+8t+yz9E0PQOMFOxv3W6e+vHJQOoZEEQz7aINMGqyC5EBy/TW6ui/MhHIpLm
+g06b2633wodqb6bpsMmyDunN5Gm7Xr8xRFj9bvtoZFNWh5eiJgxwmVYX62tm1NOz78RZ7jK2f3rf
+XsF7ftozkLlfBpA5zcibkGmoCJpqGtX1gTo/pR8hIFIWZIl4V1VFNt3t551FL/Na7+6593p7vKiq
+nj3LR9sCLJ5+tgz+tZ5MWtgR8WlC/Z89w5xIHvTaXdPdfUBNuRxJm0N6JmV2qKd3BAm8qC648qZ6
+fyXKybpPNkjKil66Dn82K/bvjoqaNFPcKZDpkyJoohADds16kdxZ3DLPEWkCXu3ThKyn5sXcYTiP
+PC/rB0mbYpTZmUGlzVnBQxdkkqR16Oin3TIRnTeTJTrNM9NcRpuOps1N9z9ix5SaMrBllFNO2V1R
+Tpb9MtPxfr3nslPntO/Xq7HddpY3BUYRMrHfoBZBE5UJaKKD/Gh6m8enCZl697RtxnGQQKW6rVTM
+2Ie4ppGPyzKsz0qbs27z9LtswIrVq6cCNlUBreW8r5r77AGLmvttbeuRNLeMGesIf6iv9sE6B+DR
+ep+SVhcFJqdDp1/v2Gj00gW4J6c9oxX7ngaYKvfpakef7Z/8i99oSmqnb1+B8ipfhitYvwU+Pw+s
+0EIB1MCv+iUbCe9FDNK9kR/Re2VpT57oFq03010dtZBGc27oFDlt2ZbnNZoGWTnjnNejKetdkel3
+xg4f9cW+3Dq0zuuAaxIpy3uekT8sLMf23uMgIqpPbL8Z51N9z5HtfhU9U0yXO0Rvi2iqiOJARMNk
+nU90ZrVfy6vT1Lz1jNQVlTaHWu/xaTrtmco0Y0fOpOc1TrZ+zCIwMKvzqzWuthqAWyFNZ/ocKrUv
+Y8a5jAETAr5nzKpY1ZFcw+tHUda2xSgn/DWJluU9zw4fqMh+0evzpGvAs9Vd5onRTl3nPeV9/Dkx
+dW5mg0TNppUJIbJmv+ueTQyR2jXFpykjVTGjHrtrGzEE93TCMv5SgprqHZk2p51xLmIG3uWRhDAE
+R/pHaa6jJ3UO4dH0tGw597N2tpg2R1HnwZtT6zzNy8mzfxV0+vV+jeyLvu6nPo+V+2fvU/nHpHVY
+2/l834Sg6Tsdjesl9bJ6G1X5NGVFLokDsOyOZY3+ibSfKW0vEr3kHeRGPr7VaXNPsMNaR02aHAo2
+TYto2i37dZ2tgMnb/r3tFJ02F43yY6ePomqhxlvrPDHKybN/ZdRSdN/de/h66TNXXUbFfidGMREy
+FYseTWe/sFbTQ7KKz2slXpOTfJq0g+QpL8zq9lPhObUcbVVrfu05H1Ta3A52aL2Z0FDnpPQ5zz3V
+RjVle4xE2vXEb1qH5wM7oNRJ/cnFOqeVHy2r2t9n1x+w7os69xO8mzLqW+nn5d1vFT4T/EPTwWJE
+0++GeL3gGNrjTo12qr6mJ/o0oa6LxdNIBDtbnjbSakobQ3zEsqJSLFFLy3CMiDdTBrxBpciJ9EIm
+2fyuudfetDlr9NpuedRY/ZTOIjuq1Nv6u9pv+sTv8NujnKJldO17965EXk+LruTyO78p02e066jj
+hHvLvsJ/RNBERaFE1nGf4EeX91SnTxPCbwlV/8x9RdkOvG01Yhhv+ZB4Zy7bAQltmd4Z556WedPm
+MmGTdx3Sq0lTPmrGuchfuDXt2jqT4kp6jrLD9ymKqoM32fU+ycspUt4E6ISqf2V7W0OftY4yJhuP
+Z903QqZGETTNefFcvAZpM8a9wadpB1qezikLDt4pY1ZGFAC01iM6FbwGhuzKyEib25URMQNHRwxN
+Tp/Trttdx919Rj2zkVTlrg5kRWeTaXMUhYcrb6kzGsRNgk6I/VHngSpzUpucUN4pYKrym08ViaBp
+NkTJKi8zGmQBPxiraD8rcELNooYCId5zjdYT2Y6zItYiaYDZqXCiABMa4OBJm7PMOLera4Y3k6Ws
+rvQ57brdvbTMOPfrPqKi16xt8q4de9Pmpncu2WmlvtZvPW3AX1FnNNRClNdpRH73fqyYWe4a0tYm
+lt+1/1ejmNhPuBFBE5UFDrwD+0yAE61/l09TJ3Cr9IrKKtPSLqPRHB6AYTmWFiJ4wIMWhuzAkuXc
+u9PnJLk+u5+tM85ZI4GWsW1ldqwyUu/YqaOousETo5x+v3uuQeWhvZUmp8mtFz5jJ5exhtxLQqZB
+4qxzFOoBWo0PIvqv7FaQgLxmEd+f5Sx36st3N1ub9754BuXZA93qlCpt2txT3bIMwJFRS6ioKe22
+d8fX3OOs1DmvR1PWLI7RmTvZAaSovm/5qbPVrYOuC6rOGbPACbCsE9sT+v52zlCIKgNx/O7xBvsY
+SSJoohAPyQJu750JSRK285SBhkuasiLXv2Iac0sd1pA2Gm2bHii4HO3e0kHwpM11ejNpy/SuQ0c/
+PS3zRDV5Itc8ncEFeF8t4Dup+ju2htePoiYPlE+s90nXJQvydJej+Z6tlzwj6HNCt4lT95/yfeV3
+/UEETfhG1W0AF0nLsQ5yEZAEfW1W0T2N/lV+Ae9jxcBrDbhHluuMPi7qfkdMwCNpcxHPHg1wyoRM
+1bDJ8lxqr8XuOu7urycNcjmfyQV8lpHfDqbNUdTcAfWpEOCk6zIZVqyCc54EoyrrlBVV1glX1sff
+QZ/RGz2a3jCDW4UZ8oSyn4yaL+NxKryEOnya/q7TlrHzW/KYb1s8D6L+CFnt1lNuFixbgWNndTa0
+0TdeA/C785uQPodM7ROJmYGjOoRLekC5d3umzVHUuf1WCX73O+t9HXZdkOWijbwr/Jne/I5fg8tb
+Lz43tr0EMaLpOy+mdWi9EYMWTzTDVJ8mMZxDBGhYI2A8184zoM2I2IsO0r2G2NrrgE6b08Ara9qc
+9TyX43nNWJcVbRVJicz8i6jlmc8ArJkRjqtoH3ZIKcr37TyhzuvAY2SnsmWUySiU++syrU1MiYKa
+9k1l+1WIs86d90K6hhwzO+pKG9WEnCktUpYlQkh7nM6Z2rTn8UtXQvvVRppZ2s1dfa0ze3k+QB6P
+po60OU0dl9R4JE2NaHpahp5xTvtP215XoD2j0hGnd+jYmaSo2LNzsd6mPsi0ctERT5F+5OnPwknl
+T40qXh+4n68RQVMf0OmaNt6SUnXaNc+8ph4QtLuuVoiF3t6ToviW58/7wfB6eSE8mkTq0+Yi3kwW
+GKEBQhnrMiGT5jo+3dOsWWC8YNHbwVqBZezkUdS7BtkX6317nOuQ+meCJ8s7/hrcXk493vpYeafW
+4RgRNFGTQcATCPFCl7v/tefZ6dOkPafIPcuCTxmAE+nx5fm4eGbOs36sEP49HoPoqDfTr2Uds75V
+z4S3+xkx45y1zVrTP7M6Vx0gqXLiDoqi+qDKG+qdCbYqo5Ku4nvytWfnhHLXS+83+w1G0aPp/S+Q
+ruN5co47ZzaLzDqX6dOU7YnSNcD0+FBFykOfQ8RHy3NPMtPm0N5MmnM/PX1ut2x3TyMzznnuNyJF
+Uhz3t+o7NL0Dzs4pRenfeSfUex1+nMzy6cXUN47qfgZPKZPf8SIRNJ3bQFdTnZfzhWCJvogM8DP/
+6h6dqSlybREDOG8qTeRFb73nqAgElOnwAt937b7VaXO/jl8NmU5Jn9PUvXPGOVTaHOL9mvFHAHb2
+KOqdg+lT6376NVoNxyCA2l+fk9pSJgx74xj+MyJooqofRHRaiAVQoGad8w7MkF4l2ZEE0RnbUGVE
+2sBqrP9S3rfdzwgIYY120US6aFPopkQ0VdRvd/+qZ5yLps0t4DObCWvZMaSodw22T4YEbzhWJQzy
+RGO/pZ2/ITrutHLZlygWQROFgA+eBzEyM1LWy2GBlq3E42RdByuAWc71q6AtRuof9TK62z5iAh5J
+m7Oc59PvGrCUHTEUWZed1rf72TvjnPYeZ80sqHkGT0ybq+w4spNKUecOMifXvQsGdQKZU9pGZ90r
+I6Pe/s3k9zsomoGf8+G6kvbTGip31W+3X2Q2N0u93jLr3FOdrCbaiGlptdcIdU6RDwjKDNybQopM
+nUOcW1Z6WhaIyjIqt/xsnXEODYCj7dDy3JyeNscOJkXNGeRdrPuY43WZf/P93Hs91sfuKdsYQIxo
+ymmAq7mBr8L6rKJyV8NLIcN0GgkhLJEEq6EdIgeo3R8LpBm4KKDE7tlAzTgXNQOv9ED6W7+I6Teq
+PnfH19zbbB8uazuOGNKj3nlMm6MoyvpeO6Xu6wPH47v3fe2q6hinjPEpg/714ofvqy+dr9Qbld7h
+hTRvnXUuK4UPMfudtl7oc8gwgY8CibsOHiqd6iltLhMyVZp+I7ZZm2u3WydinyFQ27lc4p90wPp+
+WuBnasK3g30Rivru4PrkQfvTt6PjmHwPnndN3wSx+N1uFCOavgFlsh6e7GgXj2lttG6Zs85Fp7D3
+ggzr9asANejIrYxzWOL3VopEM1XPOGeNYtKea1b6HCKiKSMN79fPXohoBYZWX7TleC9Y34GI548d
+TYqiThqkThvITzwuAZT9er2tbUy9/2yTYBE0vaNBoyNOunwxMjw9Mq5pVTSTZr/KiIJVcJwp22fM
+OIcoY1raXAZkkqR11mfGWseIGTiqk7ckDojWgOeMHUCKok4ftE4c4HfDjF0dvgigOs+/65h8h3xE
+BE3f7NSuwdfHOyCyRANFImUQAzVveor3WnrNp6OgpDqCKupxlD3jnNbjSPvh65iFzBv1Y30OsyOR
+MkDYr2urbesZ0abL+HxkpM1GIiszviHsSFLUNwbsPIezr9/JM85NP59usMnx/ofEWefmNfbrJXVC
+zEiGqANqP88yy6x0mjrvZp/TzE6HmnXu1wwnmllPno6huR7aayCGe+Bpz8gZ5xAePt6OxVO0TcSb
+SXvOnYbgGZBJc113na7l+Odpt1boE40QO6VzSENyinpHf9rb55w4AL4ajz3tOlrfrdeAOnwZpixe
+l++KoOkMaJNVXhbA0QCKC1S+FdZEz9NzPE99NeegAUu7Oqzgvajq0GnhWdZz4t2na8Y5a9rcDpo8
+/Zxhsi1J66og0+46oyObIhGEFWlzUVNydgYpiop+vwmdcP2g69Br99W2z+vOdtEips5RXQ9u9C/x
+1gEOOn0umh6XnT6H9G7K+gv/ArSh7HPwmHgvwz3JSp2zPHcRM3Av5JlkCJ4JmbTXHvmMeczyq9Lm
+sjt87DhSFOXtd552HmtIHehvM69dLD5nr38PHCGCJkoDQLQd+cqppldSudaBV7UZeCR9xTIgRr6Y
+PX4x1nNED5wjM86Jsb7ZM8550ubu6rUEE0kU3UakPqJptwwR1XTXgbdCRe8z530WM8y/0eWs4fWj
+KIoDTdT3/cug42vteNr9P2W8SxWIoOmsF4pn+1V0zIzjeAZGaEgzIZqpou2go428x14F5+md9Stz
+xjnkrGSeKe+1Pk1P7xfkzHITDcF3y37dO48vE7JzNzVtDvEuoiiKQg3UeT75IITvcuz1ZJvLHUdT
+ABE05TXarpndVkN9Ti07OljqSp+zTsuuPT4q7dE6+PVsswDPoOWjjZxxzgMBNB04S6qdBowgZ55D
+g6Tq9LndMhG7Gbj2WZLgc7kSnj/U8yvCKCKKouYMmN8IJSbDEgIo/XVi2+KzfZz+9fKHlOeWf11W
+cVme1CVkfSakz1lgxq48JKhBzIIVOUfvoFoCZa7AuWjqG/2g7yK47j7E2ZBJANtEy670ZtJ2fFAz
+zS1gG/5K2hz7HhRFvRF+nAB1PN+6t92XU+4RWQClFiOa3vXCQpbRlb6Qnb7xFTNw7/XMvO8r6ViZ
+5UZmZuuYcc7j36NNm8uIHNptkxkR5a3fXT2eruWuo7ac77mV+Fx8LW2OHVKKok4fWFsBx2n1PRHM
+nAzQTgV+jGIaon/zEmwb6vWCY2QdN6vulunq736O1lFb1m5ZdP1dvbT/e67br98leK+991RA+1jP
+ocKkPmPGOUtnoTNt7u/xs6KWIvXT1nl3Le/uJ6oDF/Fo0rTFqmcg85gURVGI98v14nM7+fz4DeC1
+ZFsYKEY08QHJHnSjKP5quo7T0+dQ12Ilt4PI8TypOp6oIIuBdsSjyRMBs4LPnwVAVEEmTRkIHyZ0
+vSz3MGvGuad9vffa8yxOeB+z00lRVGV/+EvpXNS32vXis0khRdD0jpdDx/4r8LB7zJetg2EPuDgl
+fS7LDFxzfy0fo8yBr2bfLDPwqEeT5XpYrr03bW4Zf/Y+T50+TBn1sbY/5IxzVuDkhbMRgP7FtDl2
+cimKA/O3niffb2zDbx0LU0kiaOLD0Hl+Vo+R6ms+ATh5wBkKlFhAjffD5Z2ZLgptUG3Uel9WEErc
+df4q0+aeznFi+pzXPwvlzZQ545w3bQ49kYLneSfcoSiKA/Zzz5XvXt67KedEDRVBE4UchGRFR1UN
+liz1y0yfW0XXVnu9I9FLkXttBQNS0C4taWXW9oKKdtntF02bQ0ImUWyDSJ+LpgA+LaucRdD6/C3A
+ey3jXdnxXaMoiuLAl/BCPnp/3jxupYaKoOndD9UqfBgzU/g6Zp2rjmZaSedhBQqZ93clthnNNV+B
+unqO52kf2tS4p46eFlhZo5qyIpokaZ024i8Kp0R5baO+TNrUSOv7KPquqfp+ZH3HGFlFURQH+Pjz
+Jnzqv/5vPkfqABE05XYuV3L51n2y6lPdUa+MaqoCTlXnEPEaWsD2qImqibTjCKyJHtMCLkTshtGW
+Tqym7C5vJkTU0kqsk+YaaO9lxiBkSTzCLyttLlouO5EURb1x8E/4wfc7r2vtmJhq1L/YID95buvA
+86qMasocTCGA0wKcT6SNWACHFQqho4OiddyBA+u1ttbX43mVlTYXaYOTIpqidbN4nHlTUT2dTTG0
+rSoon/0NqvD4oyiKynxfE5LwuniuF58barwY0fS+BxFZRsXgxHIe3mgcZMphVzRT1GfIawZuNaT2
+ziiIaqfIgT3CxH0B6xud9j6aNodOSeswBEd6OiEi1FApc5r3dUfa3PS0NKbNURTVDQ6oeL/y7ef/
+9fZAHSqCphkdyPXicxPnS3MNOr8u4OQBT1GPpuzUSGtEDSpKCzEbYsTjard/RuRLZdqctd12GoKj
+jMPvrqe2LS3gfX06viQ+6xllsFNJUdRX4QplG0ucBmROr/8bx6hUogia3vFwdcEwjz+MZaCVAUsQ
+ZtrRaKVIephlP/TgcSW2HzS4sXbmLB5NETiWlTqnNQSPPEuRiKLoNtGysyDT3fPh8QHzdlgt99n7
+Lo9+gxbwWOyEUhT1BZhCxa4fIlIYfSzK37ehDhRBU99D9Ob6IGb4qhoARfZHASd0Gh1i5jmkV5Z3
+YBsBN1YwE23LlgizjNQ5S6cVmTanuU9LzjIEj7Y1dDqkNjVSQM/zG9LmOmexoyiKQkMTqu5aExr1
+3gPqRSJoorydcPTMdl7vkcyoph0wsB43ssxyPl7QYRmcruB6y/Xr+mhlRqZlps4tqUmbsz5LJ0Q0
+3a3TmoEvxT2MdFSZNnfet5KiKAoJQijqjW2beqEImr7TqUVEZWR3uLMim5BG2ggIoV2W6dFkGfhZ
+DcG9A8tlaIvZZvCeaDCvWfau7hawt4DXHQWZKnyYPPXxwqxfbcRyLzM7ZgvwzKPfr0yboyiKwg/M
++R6k2Iap0SJoOueBRO2bZbJdPYBApE9lnbclBUcUUCLDo6l6dsFIBIf1HLweTFrj5oifVCTN6m89
+K9LmftXdm66WPbOcSB1kerqeGTPOWZ6rKMzVXq+sb1a0HHZcKYrigJ2i5rZX6iMiaMrvDK+hx10H
+Xk/EdZ5oCn6KR1MUFlnrEomwQ8IaT50t9xZpHI1Om0NCnd022el3GZBJcw8Rz1GknXrej57tTkqb
+Y2QVRVFvHcTzvUSxXVIj9K+PNHDKf80qol0QcCK7jvRosn00ELO4Ra89egp5a7riDl54rrc18mV3
+nKq0OUTUEtIPylOfiKE7qqMV8WjKeD8ybY6iKGr24J7vTKqzDVIfFiOaZj2QHeWsonPzzNpgjVzx
+whtPmgg6Zc4KViZ7NFlSfao8mlbwmbBEX1juGxKO7aBGZ9qcdl/vugrzcc01RD0/3tkQV+L7cfq3
+rOp7RlEUdeqgn+9Iiu2MKhNB09zO6zrkOkSnhremhHiBSeSaRkzBNYN3zzE0+1nrk3HtUANHS50i
+PkzewXtm6pz2GbJ4TFWnzVUYgmdGT4nYzcC95u6WTpslMi76jCNTxJk2R1EU1Q8D+B6jkO2Jov6X
+CJp6H8xJ5aHhAtKDBGEEvQMYnmimipQ5TZ3FcA5dHk2RWdw818saSeIZxFujy7ypc7/q640e60yb
+q4xosvqYRdLmlrKtd6XNZczKaN2OcIeiKIqggGKboT4kgiYqo9O/hpRpgQLWAanlOFkeTWJY5/Vo
+8szgttvGOosb2h/L2w4R9dSmzkWAHmomMnTanCi2WYnHjtRx125F8gCTGJ5Lb3vOeEYyvi3ofSiK
+oihdP4Ji22C7oEwiaDr3YY/AEk/ZldNaI/9qnzWFd2bKnMcA3JOyhRg8eqJsEG3A49FkSUETJWDI
+Sp2TzXW1GIFPSZuLRi0hjh2BTE/tIXJPPSbvlveNZb/IOzHr+yUDj82ONkVRX4MLfO99+/5TlFkE
+TWc97FnABlWfisGIFmJ4o4M0gy8L+EAuq4rOyYjMWJIXJbQDAdqBvubaZafORT3NtGV3pM39rQc6
+ta4KMu3aR9fzE3knot/7UfP9rO8WRVEUhQEPfCfz/lLUowia8sFIdgd5FdR5JdfDWmZ33brS6LwD
+be8AGjWDmzd9bgXaBeLZ8M7gtVunBU4ew2gNYOpKm8sw6e6CTNb7iO4EWtp9Vdpcx/ev8hgURVHU
+c/+D7+Kz7x9FQUXQ9N4Xx6Tt7z5G2ugMS32sMCAyMJXAMm8andfsOHq9xDCIRkQJec5FAIP9zNQ5
+D9jbPTsRI/OOtLkOQ3Dv8TRm4Oh76U1BXYbn1vtOzPguZJZzWv0oiqIILyjeG+o1+teHHizWs6fe
+iHSgCca3ngGbpS5RTyWrabgl7Qwxg5sWfngGv5ZBtjXyBJk6p20bGUbgU9LmNGVVRjRZ2taS2Ixz
+yBkbNe2+K23OUgY7uhRFUd+CG4QcfdeeokrFiCYMTJlyzIpZhFZy/ScZ33o9mqwD9+z6emecQ0MQ
+7f1DTJ8emRXvbv9KP6lo5MvOCFxz/bMAz6SIJu+zUj3jnAeEVn4nJPgsR47JzjNFUdT5EIQwhNeS
+epkImvpfDG89hzcY3+6OU5lGt4B1jXocWaKXIj5L0XQ0z2C/MnVuGa8psv5daXOasioNwa3tajmu
+964jiEyJ9Dwf2utU8S1j2hxFURTHRgQntmtDUSNF0PTNl5R3mwmDDtRf8Ks8mhARTJF6R6+nNW0u
+mj63uwZWgPOrntZ1u0H8Ut4jEVskjOfaP11rb0QT4nlBgqQqyLQEk2LanTaHeEczbY6iKIqaClre
+Alzefn7Ux0TQdN4LaFInv9sLSTtgzqifdtDqHchrwYUYt9fCDytw8gyal6FNW1Mno55SkdQ5TTtZ
+hmvriXjRGoH/rWO3L1JVRJP22Jp2mj3jXDRtDpnKxrQ5iqIoavI4KTrZRme9KOpVImjKhyIVHeLI
+cZFRSpVpDwgogYhm8oIHK6BAbaOFD0/7LEN7QEQKae8DYrCPTp27Axm7+nrqrDn/pxQ6UZ5D9H8E
+SIo+vwhvJiuQRcw0FzUAF8N7hGlzdd9wiqIoqn7MVvWPoj4pgiYKBXOs4MH6IkaYgVd6NC3AsqzU
+uaqp2j2DZetMbh5/HOs6bV1RxtJRMLEDIBZwFgE62alx6GNrf0a1OzE8I4h3rxecMG2OoiiKoiiK
+MomgaZ7e+NdXawSM95wyTHCRUUMSLOOLqXPa69KVOqcFYr9+RpqBL/FFY1WnzaFT41DbPrUnT9pj
+lrH70zNrffehvynVaXMURVEURVHUUH0JNC3W2328iPFspwlu98xz2b5MTJ3Tp6JF2h4KiIn4zMCt
+UU1LzjUC98Ct6DZPy7z3Dv1ORqcPW94hFd+nVbTP1/oPFEVRFEVRLWJEU39ncx1Qx666RE1wvYOs
+yqgmps7lRgr9quvTOVjaWgSIIaOZNOf36/eOiCbUNlGQtAJtyjPjHMLPAZE+rH1nIv940Jk2R0BE
+URRFURTVIIKmbypi7L2c26HrO3XmOc3glalz9wN4z3WxDmY9xssaKHP3/3IACyvgs9Rf87ycFNHk
+fR6WxP20slLnlsQBUYa3kve4Wd8piqIoiqIoaqAIms5TpENf9ZflqsivzpnnECCJqXOxe7N7HqyR
+Qkv0EVcZ9dzVSQvHLNE4lRFNmSbfqOc2cs8yZpixzjTneVdmvH+zvxeEUBRFURRFUYNF0FQLWdbQ
+42r3RQxoJs88F4mcyABPTJ273zaSOuedvS07xc86Ha7Gp0kUx99d/8q0uSwDcsszugQT1aRtd1qI
+KMZ3cfQdkv1d6vwWn3IOFEVRFEVRR4qgiUJ2qC2pSN7tMmees57ntNQ55MC6M3XOM3sfsr4eHylt
+pIzFn8kLxp6uhTWiyQonutLmkJBp1z53bSwS2TRpIoTILJrRbwzhDkVRFEVR1MEiaJqpE/4Su5Lr
+UT3gqjIEz0yd0+6vSRUSJfzY3T9r6pzXNPquzVii5SyQxmo0jayr5hov0UfmVEQ0TUqbi96rLF8m
+UR7D+m7N/ANC5Ten8hgURVEURVFUQF8DTYv1dh/Pm37XNfOc1aMpeq2mpc5pj/X0swZ+eNLmvMBD
+cy4aEIBKm/PUDzlbmfZ50c40lxlppN12ImTSvFcQM85Z7qc46u59f2R+k6b7BBJqURRFURRFOcSI
+phkdz3VAHT3ld848pxmIWQdfKLiDik6K1Gv3MzJiYznrshTXYSkBi6We1tnarDPOIY2k16bey3ge
+WZFGUyGT5RplzziHiuJEvIszUu8IbSiKoiiKoj4igqbzleEvZC07c0Yi63E8f91H1y8zdS4ylbvm
+GnmNtTXrxAA9LPfdarJtiWraHRNxvb311V7bpwiyivS5KWlz3hTM6hnnomlzC/iO83riZR2TsIqi
+KIqiKOoAETSdKU+aGvov3tHBSdbMc1ZwUZ2iI4FBtii21W7jmXkuYvaOjhbSnEMkqsQCZyq9pHbP
+0tO1tRiVI2GTdtsTvZkQM85Zninru04M7wWmzdXUj6IoiqIo6vUiaKrv6K4D626FEl4YYYEWnuu6
+jPco4mdSYf6N9mmyRjNZIMjuXkQjYHYgYDnqaQFhogQo3ogxDaSwAqeq9LnTvZk8aXOelE3t+85r
+AF4Zocq0OYqiKIqiqA+LoOn9WgfXw+JZ4h1APkED67l1mn9bB9pa+BGJ2NDcU7T/kRYCWNLPvMDC
+CvVQ0Uy7a1KZPjchbc7Tfp6ASdaMc16PpqwUYabNURRFURRFUS4RNM1V91+EUTO9Iequ9SzRDoSQ
+0UyegfPdMjGULc79MtPnNEBEDIN7VPpcJPrKA2WelqH8pBb4Omekz2Vtm/Ecaq5Vpi9T9H1n9Tbz
+wnWmzVEURVEURVFbETS9V+uF9bB6luxARGTApT3vk/yZMlK7IpE2Yrx2In6D7R1AsKSZPS17+j0y
+S95S1N8CzHZQaDnWidSnzaGeA1E8F55nAxW1adnP+p5m2hxFURRFURRl0hdB0xpSRkWZWgjiGWRo
+BhNVf7VeoLpNMQbP9GeKpM+t4D3zpP94UwBFMF45S/zRSyK5IE8U92gZ778nfdEDlzzHQj572rQ5
+tG+Zpe1p3qHotDmPjxOjiCiKoiiKoqj/JUY0navIbEMVHf3ozHPWukam/s4Y8IrzOJJUF2/63C4y
+SHt/ZTOAF+M18qY4oSKvZANfdjAjGtFkgU7o9Dn0/53eTJo2+fR8VqTNoUB69P3dCZRWUrnZ30GK
+oiiKoqhPiqDpfcqK2KqeeU6zrTdtriL6CuXd1AGbEKlCsoEfO7hhARMimCgsi8eRZXa2Zaxjpj8T
+Kn0O9f8UbybNNds9D6iUucg7NgKsM74/hDYURVEURVEfFEFTnibNnrMGHCvy13/vbEyawWUV5BHH
+OqQZeDR9TsQeeVMR0YQ02N7V0Rq9FI260lzXqD+Tx28K9f9EbybNPZr+bvO+91dg2UnfKIqiKIqi
+KCpZBE2zdeLMc5mDiCXx2fCq/Zq869CeTp6fRfRRNJaoGzHUIzrjnKd9oaOArBFNu+srynvkAXpV
+QCg7Wkok5s2kabdrwLst4327kratqM9Jx6IoiqIoinqtCJrerYlgKmtQFvUxqZp9Dj3TnHegvfsZ
+NbiOmlRrQMV6OBZydjwx1ANZz902T9d7CcYE/HTI5PFmQqWRWmeay0gJjqbNTfc/IiCiKIqiKIoa
+pK+CJs48lzPznOd8phiCR6BOVVRSdMBtTZ97GlijZkZDRjRlezQ9waTMelrgxu44lp/vztMLlzoh
+kzjui/U58LyDF/jd5v2WZKTeVUMsiqIoiqIoaogY0XS2Js085xkIWUCU97geqFE9AM46boY/zeSI
+Jm3dLZFD3vpl1tMK8lbg56fzygRTqDbvSZtbivfPpLS5BXh/e74PTJujKIqiKIqifoqg6Z3qmHku
+OqiK7Dd59jnZDI4122T51GgH2dMimhD+R6KsmzfiylPPiKeUFpRpr7k3WqkDLmnujTVtTsQOmBAz
+zUX95sTxXqkCMEyboyiKoiiK+ogImnL1lZnnIlNve46FNASvnH2u41gR+KGBGhYYcncfrRE1u589
+Pk2yARAeCCOKciJRTaI8b+8174JFE9LmMlPnolGa2ndrBCRVpc1RFEVRFEVRLxRB03ydMPOcZl2G
+ybbFwFnEFs3U6dOkjTzISJ+rjGiKeAU9/WyFABqfo8z0Po9ZtDaaSYLX/CTY5IVMlneKpV153mHW
+dxcyKrMjbW7KH2MIxiiKoiiKooAiaHq/1oDyrQP9iCH4bkDkSSvrjGASZX0nRjRZjKp3dbUCE0uk
+0A4ieNLLEGlzy7HN3XlEYdMJ0MlyLzTvCcuMc9F3KALoT56ggmlzFEVRFEVRHxJB0zydNvNcZPCD
+NAS3RC9l+U95r3e2gbjlZy0IyTaq1qy31l9zDnf11dYvC4Yh0+dk04amGXxHnwMxXhP0zIuWaDXP
+eykSLYn4BjFtjqIoiqIoivpf+jJoWkPKQNZBC0tQM895y8kwBN8NeNZmIGaFN5NS63bboIy0rZFm
+KH8mC4QS0UcAadZF6qeFHIhoMQ0kQ6fMTYJOKG8mzfsmM20umr4WhUTe4576/ZxUD4qiKIqiqNeI
+EU2UtQPunfkN2alHeJtotpkUlYGebWsHUp7gyxPs0EKcihnddnW0GoJbIIwIBoZZI5m6zMBPmG0O
+YQZe5TVnfbciwFcWgFlJ+xAQURRFURRFDRVBUw+s6eoor6L9Og3BdwMz688W+OEdICOOEfFoEvFF
+NFlmd/PADy1YuCvHG31ljaayQA7vdROJGa5X+jMtqYVP3nayWyfiM2b3+M154FL0PdL5TaEoiqIo
+iqJeLIKmMzTRA8OaShE1BI94NO0GnqIYuFYPkBGQyWsGbTGstg7GxQk8NOclkmcGroUwy3B9PZFg
+u/OR4PX2tjPN/fJAmalpcxFo740KrUibi5a7wNtRFEVRFEVRB+rfvASf0P/r1F+bdX//t5bztM2u
+TFGUq9n273H+br+cPy9l/bz3Jfr/XVnysN2vn+XH73JzTbW62/d6uD/rRxlPy66b+q7gvdkN8quB
+mNdfCjHznEh9ityb0+Y80ZhZ0GYlbVtRn5OORVEURVEU9RkxommmVsG+pxqC7/a1zNzkiWya+H8k
+bc460EaaVYsRbojYIY63viL6mecsoMOSOqe5phEjcFHUsRs6oSOapqXNoaIx79553rS56YbfBEQU
+RVEURVGD9XXQ9MaZ5yrOb4IhuIhtVqjJPk0T0+Y8XkEZM7pFIY61vtp6WtPpNNfYCvi8qXMiNu+p
+bjNwT0TT7ueT0+YQ36OM1DvCH4qiKIqiKOq/xYim72m6IbjVn2k3MBTlwFOMg9cp/2sH59aBd9SI
+2hpx44U4u3Kt9dXW82n/itQ5i7fUcpyTiB8kZUAn6zpU2pzIvLS5VfheX4BjWI7JtDmKoiiKoqgX
+iKCpv0Pr/Qv02wzBtYbfnjQUZOocauCcPQDXDLy1US/aFCLtfUNBHA1g0frtfC11LhLF1DUDXTSi
+yZM2Z70PVZMYaJZ5Z5lj2hxFURRFURQVEkHTd2QBQQtUjmY/b7RAp0+TZlD3xrS5iC9NRuqcJmVM
+5J2pc5FZ57Tn5Ikuy4RP2ufgbv3d75b3CvpddVcH5DtWQO/1aJ0piqIoiqKoj4ig6WwwlDVosJbj
+GeCg0lGqfJqsg9/s/y3rdj970uY096Qidc4CcSxRRNNT5572EcU1EcH5NGVGK0Wj97TtPMuXSfvO
+ixiAZ0UsZcCjKUCKYIyiKIqiKCpRBE3vkQcWZRjHrsC+GYM4ywBOC2i6I5wQfjUWKOH1Y3oCEVUQ
+RxOxsoz19IAXS/RQJDUrM3XOeu5LamBTJlh9etcgZ5rzvKtXwjcDNYHDAtWHgIiiKIqiKOpA/ZuX
+AAY5rg/U17rfr+13ZVgGEtfD/tfDsvXn51/r1s32crPdeigD+b8Y14nyZ/lxTe6uozju0dNxNOdm
+Oa+nY1sHslboqAFiu8gqTR2rUuciUChrW48fmYgeMO2uufWdiUjx1e6nST9EfD8oiqIoiqIo6laM
+aKrrNGdFFnVfM4sheMQMPHsQp03D6Uyns3rYRKOaRPwGx92pczsgYwE1Hi8pyzGs6XO7bXfX2hoB
+Vz0TXaSd3z3PHl+mirS56KxviEijaLkETxRFURRFUdT/EiOazhYiwuhum2iU1t/978r7FYHkOdav
+Mu6im3bRTHc/ayOLMiKbRGJRPpGoJrm5juLY5tfxnqKxfu27q7+mbpFBPnLmuWj63B0YsabOIWai
+Q4GkiAeZJYopM21ONvs/tcOKFLIOkLQKjlF5PhRFURRFUdSNCJreKxSEeipnl172VAYCMImyzCeg
+9HQeT9BIAGBIA4406XK7FLRf56KFNJHUubt9tce9O19JqL/F38s6C1ok8soCOUR8XlOWyC2vR5V3
+GxEbwLsDOtVpcxpgpf1dG9UUTZurAEoERBRFURRFUR8QQRNhkfYYlrpo/Y0QAwpLlFQkmknEBpue
+1mVEMD0dW378LA+/3y3bXffd9prIo2tz/7X7efyZPAN+bzTTHfDRRthYUxStdRLBpM4hgZIWwJya
+NmeNbMpKm/M+HxRFURRFURT13yJo+q6QhuBeCHU3iLHCtTv4sUud+/v7U9RPJWwSwZmCP/1sBTTR
+1DmNCfjuvMRxTp42LgaggYJM8rDO49NkjVqKps6J4IHSCl5fUf4uMjttzuKFZ23fmcdCl/OWelAU
+RVEURb1aBE0x6IIsIyOyqOOaPUUzZfo0PZWjieTRzEInEp8FLgsyWQCOGAANInVOC4m00UwIjyZr
+tEi2R5MFZGj3vwMokWgmRIQTYp3l57ekzWnaq3eWuU6gtArrR1EURVEURRWIoGkGnKksU5NG9xSh
+g65n1jUR2UdeIYzBRXARTSJ+yGSNahKJpc5Z5Ikw0kQ1aY+zOxdrFMnOE8gCcX5BGi+IEsHMpGeJ
+KvKuE/GnyiEjmjSG6tF3ESptLjprXRTeMG2OoiiKoiiKUomg6d1CR0nt0ua05uCa40aMp+UGpIjY
+o5uqYJNIHWTSGnFrr7PmvlnT5p7us3Y/KyzzRJpEopl+gQ1txI0nuikSMZWR+maFWnfLRGIRTU/L
+xXjtdvt7wE2Gt5KA3rtdZZ5cD4qiKIqiqNeLoOk9sGi3PTJyCFEndBpdlVfTDuxk+C1VQaanVDft
+YG23rRUUac3Freu1g9GIGbiIb/Y3DdjYQRARnEdTRxSTJX1OC58snkzeyKbstLkMfyZrpF81/CEg
+oiiKoiiKOkwETd8W0lfKEtm0lDAoOnjJ8Gr658+7qCURnKk3EjLdpcpFI4JQsOcOiFlmnMs2A9ek
+dFmhza/l1ogjtEfT7ryQqXbeaykyb6a53XEsv++W7f6v/J5QFEVRFEVRFEHTYHBj2W6KQbj3HLPq
+3+3V9GtZFCT9AkdWyKSNYkL5M4ncgyBL2txd+Qtcb/SscyJ6zyS0IbgmRQ8VzSSSC5bu7sGEmeY0
+ZWjb2G45Im3OWi79mSiKoiiKoii1CJrqYc0EKIQ2BNdGM1khUySS5lc5KK8mEb9/EiJaKduf6ena
+X8YBrQYIPaXNWVPqxFhvT4oTctY5D8zwRDdFwVNWhJN1WcT4WwOXombgp6XNCfjdaymnElYRjFEU
+RVEURRWKoOn9qjAE99YD7dO02x/l1SSyj176BUtOgExrA2l2MCk6sNOmx2n31aT/TZ11TgM0PClz
+GqDkBVAiuVFM1pQ5ixH4Ar93T0ibqwBKE8ulKIqiKIqiEkXQdIYyDcGzwFG3T9NTeRVeTb/WZ0Am
+kXwTcITP0q4e2igllJm4ZTCv+dkalRM1BBfFdiI+2GT5uWKZxwS8OmXu9LQ5SxmEPxRFURRFUdSj
+CJooBMy5gvvsAJNlYGOJkLJ6Nd3BjUtyZqeLHmMHd55gDMLrKAp/UD5RqEG5NX3O6nvkTaUT8cMm
+pF+TZ9Y77bLpKXMiZ6fNLeCx0OW8pR4URVEURVGfEUHTDPDi2T9qCD7Fp0nj0WQ9L7nZz+vVJLKP
+WBLxm4OLxFPjUJBJG8Vk2a7D4NsLqRBG4Ehgk2EGLsBjoqKU3pIytzue5ffdspPT5lZh/SiKoiiK
+oqhiETRhIdG041iPV+3TlOXRtCsHbQ6u9WjyLBOxpcbdDcYjHk2iuF5PA0Ntypzm+F7/Ke8AOAKa
+7gBLpim4CAYYoYCZiB82nZIy96W0OYqiKIqiKIraiqDpHGX6NCHrFJ2BTgQP4ZYDlmhmnNP8XJka
+h/Zours2TyDo9MGpNn1uF3VTGc3kSWV7+t37s+UcvdfrF8DpTpkTmZ0252nz0W0JqCiKoiiKoj4s
+gibqL0yp2N9qSh6ZweyuLA1w6oxusqzX/qz5XZTrdtd9gcrqeh52IMBiCB6Zea4SNkUinlAA6Wn9
+r+s+KWVud0zL77tllnQ5C7xaDc/XW45FURRFURRF/UcETdRTBz3Dp8kCmaIRTpl+TZnRTZb12p81
+v8vN+WbIM+OcOM4RMTj1pM/dLfMCnydYgkqjk4R9ReKw6Wl7ze8ieSlz09LmqsHKOqxciqIoiqIo
+qkAETbmQJnv/DEPwbJ8mbR1EsCl00fS5v79rZ6P75/YZJt9P0KVrtrm7cjwzznVEQlUZgmuAzh0I
+8QISkfwUOm/qHNqTqSJlTmRm2twKLNPWnaIoiqIoiqJ+iqCpT1MNwRHlRmagE8Gm0EXT50T2gOnu
+PFGRStHopWrIFCmvqm6WgXoXaHpaZwFVkRQ6kTzvJs/Pnt/vrsHdfUdGMWmATXXanADfr5nlvKUe
+FEVRFEVRnxNBUz8AyqybxRA8IwpLm2an2VbEP9Od3Oz/ZIht8Wv6C0KqIdOvc7FAJkuqnMUcXFNW
+Jdiy1N3i05QBmjzQIyOFLsMzyvPz7hqK2CKaRPQA6Wlf7bpJaXOdQGkV1o+iKIqiKIpqEkETtevw
+X2Lza9LALS1kQqfQWTybIr9bU+ieftZE1mgB1K/fNbDn2lxDr7+StR7otm1ZPxk0eeFUdQqd52ft
+OqsJOBK2nJo2523/FEVRFEVRFPUogqbz1enTpC3DEtkk8gyY0OlzdyAlApwiYKna/FsTAaQBUeiZ
+6zKfFU9UBQI0/QIj6IgiS5kitSl0GYBJbs5jt1wA11ke6qMFNp1pcyv4XhXQ+5miKIqiKIp6mQia
+6gCQdZuMFL7stEDrOVfNQPcUyXS3HhnRVP2z5ncRLCCaAJS07c86WEZ5NP0CHxmpa6hyRerBk2Xd
+r99/XeO7dSvY1rTAiWlz2GNPOxZFURRFURT1RwRN52myT9OvcrSRTU91EslJnxOpTaHL+vnveUUg
+kycd7o3P2N3vJ4CmilnossCTZp2IL6JpJbWVaCTT9LS5zmePoiiKoiiKOlAETTY48+VrYfFp0lzT
+yAx0qPS5v2VlptCJ1EUveX2ZolFJU/yX0IPdrFnn7kBIBkDKTqFDgCftukhEE/L6iqIelt93y7rS
+5gh/KIqiKIqiKJMImt6hE3yaLPXNTp8TqU+h+3teVdFLmuimp+VffJa0g/LJoCkzhU57PgLY5+l3
+T0RTtgn4F9Lmuso/rR4URVEURVGfFUHT/EHvG3yaLDPOVaTP/RqMeFPo/meZZhY4z3bafTS/3w3C
+ToBM3si5aLu4+10LnKygqTp1zpNCZ4ly0l6HXRlP298t20X8RKOYRJ7hlqZNnZg2l+XPREBEURRF
+URT1EhE09Q+OK9L0UD5NlvQ5z7lnp8+J6FLo/rndDjA9bfMEj7TbISHTBR7Y3l3flfSsVDw/1rQ5
+EZs30y9AMiWqScQHl7IioH6t124jijp62oY3Imlq2pwAt6UoiqIoiqKo/xZB05mq9pCKRJNojcEr
+0ufuBk6a40TT6iJRTb9+t0YudabMreD9skLMCLTSwoJdZNMU0OSdVS4CkFCwKerPtBLbs8enaWLa
+XOcsdBRFURRFUdRLRdA0B+ag69vh0+QFAV3pc3eDpOtmHTKN7mmdNVpJA5VOSZmzmsxntQFRQoPp
+Pk3W8kRwUU5Pv//9+el3rz9TxnWUh/pa2o22zSHbb9ZzkrFPZf0oiqIoiqIosAia5qvDpwl1zKcI
+prtjVaTPyUOZf8vVzET3a9lTVNPf3yOQaUrKnKftZLQzbz12y081BEdHNUXBlAg2mqkyogk149zU
+tLlV8H7w1puiKIqiKIo6SARNMzTNp0lTjsanaVePrvS5p8HN9bANKo3u7+8dkKkrmgmVRofyP9Om
+FHlA0wnpc2h4hIBN3mU7w+7OSCYRO2BCwRmmzVEURVEURVGlImiaPbCuLldjBO4pQ7MMkT6nHfDs
+ornutkOm0f39HQGVpkOmzLZshZLWyA+LP9NfGDEBNIlxnUgtbPq13rJsd37RtoWIZNotZ9ocRVEU
+RVEU9QoRNL1LFp+m7OniLelMqPS5aKqUBkZ4ZqP7n2WZkEnry2QZ/F2AwWImRLJsF5lpK5I29xdI
+TEyfmxT55F2mAYeRKCYRPXBi2pz9+Z5UDkVRFEVRFBUUQVP+IHlSPSzpcxpIpUmfs8xEp/ldbkBP
+1kBlF1WFSK3LgEzRaKYnEOZtp7vUN2t7yorqEyUoQIGmU6OaMmBTlvG3px1EUue+kjZHURRFURRF
+Uf+fCJoo6+BravpchTG4iB8widR5MCEhk3Xf7jYZ9YDaLdOmzf0FEqf5NFWn2d2Vq912JbcxT+qc
+xWR+etqc5fgURVEURVHUx0XQNAfQeAbIVT5Nk9PnMo3Bn473z3UV0OlXHa2zyUWiILLaJ8JEHlXX
+3TKLTxMifW7CDHTirJMIJpIJEc3UaQKu+fmuvElpc9P9mQi8KIqiKIqiBomg6X3K8Gl62rcrfa7C
+GPyunAhgEsn1YEIYgP/X//33L2M7iabNSaCNetqHpq1YgEFW+hwaNmVCGQ9sutvPsnwlvksRJuBa
+j6Yvps0REFEURVEURb1QBE3naIpPU3f6nDZ1LmoM/lRWBDD92haVHncBB5f/9Z/yLqnxKYv6M+28
+vOSmHWnbRQQ0adPnJqTQSfKyu208yyXp2tyVv1uOMAGPQhpGEVEURVEURVHtImiqAzxfvQ7o9Lms
+1DnLgOragIyIr1MGZMr2V/ICyeizZfVn8kaCaCHTX/gwNaqpG0DJw3aW5VnRTHdlV5iAd6fNRZ6b
+6D4URVEURVHUS0TQNAvUdPjgID2ZIjDiCRr8gklPgAk9yNFGT1mWo4FSF2Sy3nsPeMz2Z7JAAUTa
+3K9llbBJnOslYZlnuTxsg4pikh/3abds9ywiIpCy0+ZOjIgi1KIoiqIoihomgqZ3CjkY10AqpF/T
+DkxoUucqprx/SsOqBE9PyysGYRnm8RYoiYpyy/Jp8kQ1nTQLXRVYyo5m8qTPLUBbQb6TmDZHURRF
+URRFjRBB01nKTuOL+C+hYITVh6cqsulSlO0BTH+XW2DU0/Lduu72iGzLO38mr2E82gz8L7CwehlV
+wiYRTLQTYnm2L5M8lL9bHjEBt7ahaBv2vB+ZNkdRFEVRFEWZRdBUPyg+pX4ZKXWRSBVtZJMGMHjr
+/kvZkU2e5Z0DPkt02j+X3e3nbR+R62Dx4UHNOidig0oifbPPCXC5iN2TaSW02SxfJsQsc9Z2zLQ5
+iqIoiqIoqlUETb2DcO820QG/9ZjV6XNWv6a/A46s6CZtuVbAJIKHTBMMwC0zHHrahgU+RgauVjPw
+v4DCG9WUDZsiMEoEA5UmzS4nP+7Pbtldu7GmtlmimZg2R1EURVEURY0WQdN35YEAnu3+bm81hvb6
+8TzNFJcxwPJENmnWnQKZPPsgvMSmezT9/R+VQncibPICp4rZ5SxwyZoeh4hq8sCljrQ5iqIoiqIo
+iiJoOlCVaXyZM9JpZhKLmIKj0qh+KRrZtFv3P+snQiZtW7GATGsUnOVY1nt2tw5pCo5Moes2CReJ
+QSMt7DklmqnDBFyzviptjnCKoiiKoiiKImgaKlTEiGWbivQ5b1pUxBS8OrJJJA6Ynvbt9lnxpMxF
+2jMqbW4F7q8GMmRGNXXDpsixBbQ+ox1XzjL31M6iJuCnpc0RalEURVEURb1cBE1YkFNZDuJY1elz
+WlgRNQXfRbIgBymI6Cbteg3gmpwy9+tnr6eXCD7iTpOeZPFo+gssMlPosoGTANZLYP0bZpnLNgHX
+7sO0OYqiKIqiKCpVBE2UBy5EopssZVtNwbVRTSI42BeJbtKsF5kNmTzRSxGQaYluE2VdtOuqZ57b
+/R6BTf8lObApus3uXiFmouuaZe6pjS1He9QcW4RpcxRFURRFUVSxCJrOVCQSKTt9DgEPdkBhkl/T
+X13KY2gBk6aeUyGT1vgd4dEkgp1tMNOj6dcylF+TZlsPZLIcXxTbifFctFE4nnIqZpmzAKXd+pOB
+DmEURVEURVHUB0TQNLtDXpGq150+hzAF7/Rrsg6kkIBJZA5k0t4za7uylLMA99USNdIR1eRJj/vn
+9hHI5ImsEvGnsaGNvuXm+sqPe3C3zBpBlG3+bT1mJG1uEiQisKIoiqIoihosgiYstKkup/O8PREq
+2ogo7c9/oYLHr6liwHIpj3cZ6zTJk8naplGG8SKx1DnLwPrud7RH0y8YMmmmOWtEkhjri2i3VdFM
+EY8miwn4cr67mDZHURRFURRFlYug6VxFTY+R6XNRyKCFCpbUqc6oJusgzAqYRHohkzdlTgMcrW1B
+U1fPdUZBpr//e1LopsImL3AS6TH8FsmJZtJGuSHeG92zTma+BymKoiiKoqiXiKBptqKzfGnLQaRH
+oc+zaha6zsGPFzBl1xsFIhEeTRZ/KFHUDTG413rvZEc1TYFNWVFL/4e9u112VefSAwqpvv9bdqqS
+etM7q23Qx5Q0BWP82TYIgZG8zuEpSR6xXtO3MiXbWl//6ku9i4C3/A0zbQ4AgCkETUSEDzXhQbZf
+oeuZWlUqYjHyGQHTXTtHjmZrKdcbKkY8XM9co+nf1zuETa2LfI/4Bbq79Z9qt/WOZooIg2rXfjJt
+DgCAJQRN4wKXGfXsPH3u73Glo1++vR89qiminVrNCpha+kTtlLmrdq+ZTnkcZVPnPh338lPx/tPx
+b8QUumxhU8ZpchlGM43+myHwAQAgBUHTM2WZPhe5KHhJmZYFwo8jZsRRpHPBNfSOTKpZW+uuXUvC
+x6xT575t65lCt3PY9DnmBaQ1C39/G3l1XGybtfh3yyLgvQvZHw11tbbRkageAAAGEjTll+kX6kp/
+pr53mt3R+fpX8FC6QPgRFFpcGVl3dB+LWKurZFTT3b7akWvHEfurcyVBw4gpdE8Im1aEWTUjmiJH
+M30Cvo+7BCyCHwAA/gdBU57gZkUdEWFR9Oc5jpiQqXctn8zT6Wb2wdrRcb1T5iKnzvXc54ipc3+3
+Ra7X9Oaw6Vd7lY5outqWfTTTUXENEX9rBEkAAFQTNM0Pd1ZeY8T0udpFvFv/PRpfH0f/AuHHkW86
+3Yp+HLUuU8mUyau+c3fev+1ydt6Tu209U+f+hhm9i4FfhSxPC5OOm891Ve7b9qttWUczjVoEfPSv
+WAIA8CKCpmcEApmuK8Ooppa1mkrXRWoZ/bRjn6oNmVrqKQkZa6fOXbVr7UPw6KlzfwOOzGHTiv5Z
+e01ZFv/uGcW009+Uz8PPBwBAI0ETvQtz19QTMW1q1FpNPVPpWqYY7tYnSkYU1Y56u+ojV32gpD17
+7/WIqXN/w40dwqYjoI5RYVfNr90dX+7pr229AdOoAKXll+5MmwMAYDpBU+6gp7eOyOlzLdfc+tlG
+TKP7tq1mRFPpAuIlVgdT0SPkSkO/b23bsxD4rzbpWbOsZHvE1Lm/AUfGsKn1uFXB0nHkWfx7xC/M
+RfytMG0OAIDhBE15Htazna/nuqIWga4JMmpGNdWOaBodPN05A88ze12mmrYvmTp3147f7lHreluz
+ps79DT5af3nu7/ve0KjlmMhpeSXle6fLjVr8uyeIiVoEfPTf/SefDwCADoIm7sKH3ulztQFZ9DS6
+u2DiLnQqDXpmrd10Dqw7al2mlvYvbfdf748jbgH33gXBSwOomVPoaoOjmrIjfjGudy2m0dPlZo9m
+alkEvGfhcMEOAADNBE057D59LmpUU2kAsXIaXc1IppHh09kYoJwV+1rXZept+9bRTD2/PNcybe5X
+eDByQfBvYcqIsKm0XMT0t9pRS6WjmkZOl7vrA6197knT2IRVAAAvJWjay6rpczXn7RnVtGJx8N5f
+o6ud1hY5De481k6daZ0yV9Led8ccF+0XcW+jRjX9KpN5vaaSMj0h0chw6TjqA6df+0aMZmrpa7MX
+AW/5bhwPOh8AAJ0ETfMCmKd8lpZRLFHXFjmqqWREU+0UuhWhU2nYFDmaqXfB+NoFwL+1VfRC4Hft
+cPWA3zp17lewEbFeU0/YdLc/c7gUETDdteVdm5f0r+jRTJGLgAt2AADoImh6ltnT53pChpYFou9C
+j5JgYta6TbVrKUWOdIruRz1reI1o319tdNcWLQ/UPVOtRk6h61kc/Nf21rWcasqPCpdqA6bPxb5f
+7XjXZ1rCp9aFv7OHQcIqAIAXEzTl+h/zM7DcyOurHd0Scd2lo5ruQqXWEU2toVNLgNQSUn0G97ua
+flCy9ta3cj1TIY9j7GLgpQ/9taObsk2h+7U9KpA6jrbQ6rj4fMeX+1L6vrY979r4qt+Ujmbq7a9P
+mjYHAMCGBE2xAczTPkvEL4z1jHKpDSJqps21LhR+tb10X+kDW9QvzPWssVUSKraOaroqcxx9o5mi
+FgO/e5BvDSVmTaH7+z4qaKopdzSWOX7su9seGTD9atfS9o0KbaKn1e0ybU6wBQCwIUHT80ROn+sJ
+L2as2dQbUIxcKPwuJKoJnUYt+j2j/UdNnfvVPpEPqL2LNM+YQvfv65pRTd+2RS4WfhSUOy6urWf7
+1fvjx/1rbdPSPlQaZJaMbDJtDgCA1ARN+f4HfZfpcyXBwFGwLWJU06iFwVsWCm+ZOlcSJN2ViQij
+Skcz9U6Zu+sDNW33q32iH5JbRzWVBlAjw6a/71sCqMgg6rg4d+n248v2kveti34fhe34q85RIYxp
+cwAApCNooiZs6K2rt76rkOIq9DiO34uEt7z/te1q+99rOCqOKzk+om2i62sZxdQ7mukq6Gt5eG4Z
+1dQ7uql3Ct3ffREjnUr2H437a7aXbLt6X9tuv/b3BjS9o+Wiz30cps0BABBE0JTzoX3U9UQEPy0L
+NrcGETPXbPr1vnSR8NoRTj2jm2b0mch2Lmnz0j52HHWjmT6N96Jke+vUub/bZkyh+/u+JWhq3dcy
+quo4xgVMJYFgbZu2jmaKXHspw2gm4RAAAIKmhDJMn9tlVNNVMNE7ha71V+lqAqeWsGnEFLmR97xk
+Ol30aKaz8fPU7Fu1IPi3ba2jmkrK9K7rdFyc5zjGB0wtU+Z6RhDV9p3S/tRyLTuPZgIAYGOCpuda
+sSh4llFNNdPpjqPuV+l6AqeoaXYR/eCqTE2bXtUX3XbH0TZ9bmRIMGLq3LeQ5Co4iRzV9K1M9C/Y
+HY3bji+ft/R9a3v1tGFr6IN7AwCwNUHT+GDHZ20Pt0aFTD0jmnoCp9rRTbXbZ/XTngXAj4Ljakcz
+rVgMvCbAqA0tVo5q+nZMxNS3yBFLn5v9pe1T2ka9fenT2Y9K+qNpcwAApCFoymm36XOjRjX1hBa9
+aza1LhBeOpIpYord0VG2pJ1HjlCrbb/jyLkYeEtwkWlU0937qDWeWo//9v7qs9fco1FtVtJvIqbB
+9fZbAREAAEMImp5t1qLgreVr1u1pCS7uQozWEU1Xo5RqRjeNnDI3s09FBoN3o5lq12WatRh4aWBx
+F070hk7RwdOIX7I7Cra1vI+eMhf1fbnaln0006q/MQAAbEzQRE2o0DKqqTasaB2lVRtetIxoqhnN
+VDKSqTRUKh0VFdm+s0czXfWl47ge3fStLSIfcJ80qulq36xAqXc633HU/bLc7FFMo39drqV862gm
+0+YAAKgmaBobzMyoqzeY6amrdqHpWQuEH0f/gtMt6zXdjXb6VaZ1ul2G/r1qNNNVsDRyMfDjuB55
+stuopqt9M8rcXdvd+9oRTTMW/i4NfIxmAgDgkQRNz5d1kfLoX7/rCTN+jWiqCZR6RjvNCpZWrLM1
+czRTZMjb8pCfdVTTv69XBU0l72uu+dd9KXk9a+HvI6Du0Ws5RdS14pwAACQmaKI2nGiZbrViVFPv
+FLra6XO1YVLLNLrWqXcj+sGvbSV1RI1mKhnJ1LsYeEl4kHFU07+vRy4ePmIB8r/XdxxlI5eyLvx9
+12dGj2ayCDgAAFMJmuY8kI+uq2VNpKjwIDqoiF4gvGRbyYimqIXDo8OniPbYdTRTybpMn4770/Kw
+v8Oopl+vV78/bq7z7jO0tsHR0D6lfWbmaCYAAEhB0ERtKPErJLgLMGpDhrugoua6S+u+GtHUGjBl
+Dpta2/84co9mil4MvCREyD6qqeR1RFA04ti/r6/uYcn9O466AOmqP3wK+sJxzBnNtPsi4II1AICH
+EDQxelHwmhEykaOZWkKm0hFNtQFTZLg0K4jaZTTTWfjA2rpgeO0vzt0FGlchRfSoprv9o8KgnnqP
+husuCW9GTJm76y89I5yELgAAbEvQNC+8GV1X6/S51usoDZdK6isJMK7qiAqZ7kY09QRMtdPqjsJ9
+K/ptptFMpQuBj/qJ+F1GNd3tn7WvJjwq+UzHUb8uU0vYdNVHavtFTZnSvhs9bQ8AAJoJmogOE769
+H7UGUGvQ0fJrdCXT52pHM9XsK1V7XE9AuXI0U8RC4D0P8tlGNX3bNytoKj2mdWpf6edpud9HZR8Z
+sQB4bX+M+oW83vpNmwMA4CtB0x5WLApecnzNKKeWa18xle44yoOnltffwpCSfREhVERbrBzNVDuS
+6RN0L+629YZMV0HGzNFNEWFSZN1/X9d+5pZ7fBzzFwD/VPStUdcAAABhBE1zH9bffA9aRzXVjJKZ
+MZUuImwaMZJpVdtGj2ZqnTp3fNnX+rlaH+hnjmq6ClYiFg8fuch4xOuW+9pyj4/Kekv6RunIptr+
+GXG8NaQAAOgmaKI0BDgqwoCIUU01o5miQpLjaBv51Pv6+BKWRNUV2da997mkrVunzv16AI5YuynT
+qKb//BsdPl2FQ7XlR7++uwfH0T9V7qg4vic4au1TEefL9N8eAAAeRNC01/+MZ1gUvOe6e0c4RYxm
+6p1KN2pKXeaRTKXBXk073bV76eim4xg3fa70p+FLQqbaQGT2KKfMr1vuX+Q9PW6uobTdr17PCG5G
+r/0EAAD/h6BpXsiy6/WOHNUUsTD4t20jp9LNWsspczhVszh77Wimln4VNX2u5UG8NmQaGYpEreE0
+cyRUyzlLPm/Uff21rbRPtE5FyzyaSSAFAMAlQdMz7TKqqeb6Ri0Wflf2KNx3HDHT61pFhU5RfaM1
+YIpeBDxitFPkL4zVhCClgUj0L9TNCItqRi/13J/Se9jazjV9aeVopsz/rQIA4GEETfv9T/mZ5Lw9
+o5qiFgb/tq33V9FWLRx+VJSdMZKpdlRa63pMLWHT3wfUEVPnahYF7xnVVBuAfI4xo5wi94+qt+az
+RbR96Si02rbv6U+t/doi4AAATCNoWhPSZL6uqMW878KDmrpap9VF/HtU7rvb9vf1Ubj/l7u6ovpJ
+S6AX3ZeO437qXO/i5bVlokOmkuBkRdDUckzEOa8+X/S9+tUHoqbHlRz7Gdx/AQBgOEHTfqIWBY84
+b1R4FDnCqTQgGTm17m5byf7j4pgd+2j0SKaIX52r/aW+u22Ri4L3hiUzFg2POmbEtMCef1u2tbyO
+6nctdfTUF/l3AgCABxI0URoUtB47YmHwDIuER4RNR+G2lmOuto3qL6OmzR3H/Klzd8fOnj5XG5iM
+Cpqit/V8htp7clfX0bFtxALg2UIbwRAAAEUETfmDm5Hn7RmRFFFH7fSr2tFMJaFIb8h0Fywdf/a1
+lPu1P3O/7gmYakcyRU2dK3mYjv7ludbg5Ne+Wb9SN2pb7ec4jthwqXddpqOhL/T0tRH9GQAAugia
+9jQjuKpZw2n0wuCRo5lqP/+I9ZyOP8FI66ino7H8yP4XNRruaiRTxC/O1T5sfwq394ROM9Yemhk4
+RdZx9W9t2aNiX0lb1pZp6Uc1fXDUdz5zfQAAJCJoer6eUU0rFgZvXa/p6viZ/x5HzKinq20l+2b3
+pVHrMrWs0xT5MFvzcJ99YfBf/0ZOs4ssX/NvbXuu/GW5WVPmjGYCAGAJQVOOh/QM9fWee9QUupYF
+wWf9It1VoHT8E4b07PtmdvjU0z4t9Uev0xT58F4SPty9n70weOm/IwKn3uNm/FvSplFT5lr735NC
+IQEXAMDDnZ+P/+ebeb8X1nd27D8Dt50N++5et+xf8e+IfTVlasu2lul9fdcnzwHfsyzT50oDkYyB
+U0mZjOHS6F+Wqx3N1LMtoj+3ljsW1QcAQLbgQ9A0934vrC86aKoJB1oCpZJyPQFTSYiSMXSaUba1
+TE3blOyr7Xu1/bdnDZ3S4GDHkU3/+XdFODXj37ttNftb2viqT0WszRQZMtWWXVEfAADZgg9B0/x7
+vqi+s7NMT9hU874klOgd7ZQlbPrPv6PKth7TWqb3dWl/Gvl96nmYf9rIpv/8u+rYyH9bttXsr91X
+8r62/5XsqylTU+5YVB8AABlDD0HT/Hu+sL6esGnWqKao4KJ0/86h06i6avfV3PfafaX9d6c1mlqD
+jVVBU+m/n6TX1rKtpOxV+Zp9tdtatteWaSm7oj4AADKGHoKmNfd9UX0rRzXVhA2z127KFjaV/juq
+7tp9va9L3kf14Z4H4JpRJFGjmb6FHD2BU2nZrKFRxOe8K9f7umZf7bbaftjSz1vKrqwTAIBsgYeg
+ac19X1jfiLCpNBRonUJXG15ELA5+te/p/0Ztq2nTkvfRfT7qoTt6NNNd+NESNNWUzTCqadSxNfe0
+9HXNvpL3V/1t1pS52rIr6gMAIKn/cgseoebn5Gt/ej6yzrufsT8a9n0r92v/f15fbSvZV/Lvm/tg
+yeuR/SPyAbd2hMjMkU3ftu0yzW7Utf/adndva9qhps5PYF+M+I4eE74zAAC8nBFNC+/9wvp2mUJX
+ui9yal3EyKaWY1ZMgxu5DlPklLlz8nep9GG7ZWTKTkFTz7Ezw6bafa33+AjcV7vtrj8azQQAQBpG
+ND3H6lFNUedqGcVSO5rm2+il42Jf7Uim1lFQI0ZF7TbS6m6E2tVD7Bl4DS1lWkcz9QQfK9Zvml13
+5L7S16VtelTU1dKHas/bUwYAAGIeQo1oWnv/F9aXeVTT3/ezfpWuddRTdJkZo5dq991ta22znj4T
++d3q/bn3qNFMv/aNCJqiyqwarTTiV+V626n0fc22u/5pNBMAALmCDkHT2vu/uL6nTaGrfR0ZNl3t
+iwiZRh0Tta21XWr7Uev35gx4+I0KmVrCjIig6ap8ZLAUXTbic0a+rmnP0v5R279q+rFfmgMAYG7Q
+IWhae/8X1zkzaCoNGLKGTd/27xJEReyr2V+7r6QvzPjutDwsl27vHRkTsW5TbflZ6zxF7mvdH9FG
+v/rDqF+ZK9lfWqal7Mo6AQDIHHQImta3weL6njKF7qps7/SvWWHOipFKPUFbTfu0BE0l/XN04NTy
+oB/1S3T/vu8Jmkq3jVrfacTxvfem9HXNvpL3Ndvu+p+QCQCAnCGHoGl9GySo84nrNV3tmxk21ZbP
+sN7SiHWZWt6X9s8svzoXEUZEBk13+0eNaoo8R8u2mv2l97+3bO22u/43YgFwQRMAADGBhKApRzss
+rnPnKXQ1ZVtDk9lrOl3tmxku9dyziPeRfTT64XjGek3/vq8JSTIsJh5R/jPgPpTe7559pf2gth9F
+9dHesivrBABgh4BD0JSjHRLUudOoprv3s17PCqBqy48YpTQjaKrtRyO+S9G/Ptfza3T/vm8dmTNq
+badZU/Z6P0vp65p9d2VL+0HL9tI+ajQTAADrAg5BU562WFxnxIiRN4dNPdtGl7/bFlE2ov3u+tg5
+qP9HPZS3jmKpDT9Gh04zg6LaeqPvSe2+lvc12+7642dAnxYyAQAQG0QImvK0RYI6V0+h6w0rIoOn
+f9/P+OW6DNsiX5e8r9nW+x05Ax+EVwdNJa+jptqNCpFatrV+vtZ7HPG+ZltJvzSaCQCA/OGGoClP
+WySpN9sUutoAozdsKik3Y5TT3f4R4Vfk65L3NdtGf096H6Cj1myKCpp+vZ7x63Ut23qPKX3dWq7l
+fVR/KdlXU6an/Op6AQDYIdwQNOVqjwR1ZpxCdxdaREypKy03cnHtLMdE3KeS97V9ZdR3JOIBemXQ
+9GvfrAXEZ9XT+7q1XMn73m1X2+/2tZSrLXskqBcAgF2CDUFTrvZIUu8OU+j+blsdNv37esSvuq1c
+b6nlfrW0YW//Gq0lCBgVNF3tGzGqqabs7F+Le3rIVLK/tExP+dX1AgCwS7AhaMrXJknq3X29prv3
+oxcSjyw781yt96nlfUs/Gfkd6XmAjgqa/r7PunD4XdnVwdJnwP3uKdO6/W5fTZme8qvrBQBgp1BD
+0JSvTZLUO3sKXWkQsVPY9O/rUcet+KW9qPctfWTkd6TnAXpU0PT3/eo1nGqOi76G3s/Yc297yrRu
+L+l3teVay6+uFwCAnUINQVPOdklS76hRTTWhw+jwadTi4dlGRfW+rtnX2749/WqUmUHT322rRjXV
+vp51XMQxtWVby7RuL91fWqan/Op6AQDYLdAQNOVsl0R1Z5xC923bqPApKpQqqWfWaKmec0W9b90+
++vvR+hDdEzR927ZyVFPP65XT4KJCppLje7f17qsp01M+S90AAOwUaAia8rZNknrPgHJPCptKy816
+vSJYGj2aqWffqofo3pEso0c1ZX4dPVpp1cglU+YAAOAQNKVum0R1Z12v6du2rNPqRoRA54TrHnGP
+W7fP+G60PkjXhgarFwnP/jqiXM2+njJX7f+GKXOj6wYAYLcwQ9CUu30S1Tt7vaZf23cIm0rL9Rx/
+Trremn09bVbT1zL+6lxE2NAzqqmmbJaQaFXgVHKvS8tEtHvt/tIyPeWz1A0AwI5BhqApd/skqnvk
+FLraMKIl3Kg9ZlbA1HLMqpAp4n3r9lnfi54H6tmjmu7ezw6bRh4Tta/1vtdsa+kLpX2stlxr+dX1
+AgCwc5AhaMrfRonqzjKF7tv2c0CZ0ftWjoiq3dfyvmZbb/+ZZfWoptr3s4KgjIFT1P2t2XbXR54U
+Mo2uGwCAXUMMQdMe7ZSo3reFTX/fz5xmV1rHiilxrfe6Zfvo70Hkg/WIUU3fto0Om0rLrRydFDn6
+q3ZbbdnevlNTpqd8lroBANg5wBA07dFOieo+g8qNWhz82/bodZ1WrvE0uo6W96VlWrbP+A5EP2C/
+LWwaUX/P+Vre12yL3F66v7Zca/ksdQMAsHOAIWjap60S1b1ivaZf21eFTX/f7zIqqqds631s3T6j
+7496yN45bMq8765syz2q2Ra5vXR/bbnW8lnqBgBg9/BC0LRPWyWre+QUuqt9s3+h7u+2Gb9gN6qe
+GWswvSFkiggQMoZNNWWz1dN6b2q2tWzv2ddSrrX8kax+AAB2Di8ETXu1V6K6R0+hu9q3Omz6+z7D
+SKjIa4q4Jz3bo/p76fE9fwR3DJv+vt+tbMn71jJXbRYdMpX2vc+AfnkM7PMAALw9uBA07dVeyep/
+cthUUmZWwDTy2Jb6Ssu0bO/t673fkc+A43YIm/6+36Wu1ntTs61le0lfMmUOAIBnBheCpv3aLFnd
+bwub/m4bPXJoZiAVdUzr9tZ+OOo7Ef2A3/vrZSOmio1eZHunUUtCpvX1AwDwhNBC0LRnuyWr+0lh
+07dts0c7Rb8/J96H1u21fW/22k2foLK9YdO37bNHO2V833oforeX9JVRIVPrMRnqBgDgSYGFoGnP
+dktY/zmhzDlo+6i1nXYMqEZsa23X2f0+8mE7Kmz6tT1qdM+bAiUh0/h+DwAAgqad2y5Z/ZFhwYqw
+6du2NwVQvdsit8/u6yMfvmcHTrsEUKOOqdkWub2kP3yC+1ZP+SNZ/QAAPCmsEDTt3X7J6p4xhe5q
+f+aFw6PKzPq1uNUB0zm4L0f+4ZsZOI1cz6mkzGdBnbO2tbZTRB/o7ZtGMwEAkCeoEDTt3X4J688a
+Nv3aN3rbudExNdsit0f16ajvw2fgcW8JnEaW6TmuZXvPvto+lS1kmlE/AABPCyoETfu3YcL6V4dN
+V/tWTKVrrWvkr8LNXOj7XNzPVjxo90yj2ilwiiqzesSSkGlN/QAAPDGkEDQ9ox2T1R3562G7/lLd
+t22rQ6me4yK3j+orM0SvnZMxcPq2bfWIpd5tLdt79tX2FyETAADPCSgETc9ox4T1RwcIZ/C+WWHT
+t+2zA6eea4jcPqpvrBQVJDwpcFpRV+19Grkvum9EH5elfgAAnhpQCJqe05YJ688eNl3tOzfbtsOv
+yI3+lbkd1mgqKTfi1+h6jx8dMEWfo3V7T/u09iGjmQAAeFY4IWh6VnsmrH9m2HS3f+bopt7jIwOn
+UZ+ld19P35o90mnUz81HjqiJDpd23dby2UvbTcgEAAB3D2uCpme1Z9Jz7BA2Xe2bNVpo1bbI7TXt
+fSbq1yMfxntDp4jAqXZ7trWUVk+VK23H3UOmWecAAODBBE0PbNOk9b8lbBpV9lx8Tb33vKYPnJP6
+a+Qfv8iAoWV/xul2o46PHsUUsT+6D4zuryvPAQDA00MJQdMz2zVp/ZnCpqv9tUHU6hAq4rpa7sfq
+Rb9njXQaHQpEj8AZFTrVlJ15rhH3cESZnv7Uc1yW+gEAeAlB00PbNfE5ZodNd2VWrOk0u2xtHS31
+R7fZij49+qE8IrD4LNg+MggaOYqpZ19NGz8hZJp1DgAAXkDQ9OC2TXyOESNdZk+l+7Vv5BpIq8Kl
+lnP39JNzUj+N/uMXvWB4xpFOv7ZnqSPi3ta0pZAJAAD+PoAJmp7dvonPkS1sutt/Jto+cspf777I
+9lrdt6MewqNCixnh0q99mcKrnn0R+1v6hZAJAIDXEDQ9vH2Tn2dF2HRXZuU0u5XbR+3r7Sdn8u9Y
+til0V/uyjYKK3N57z6LL9PaRnuOynQMAgJcRNL2gjZOfY8S0qlW/WpcxiIo+Jmr/yD7aWt/KqXSj
+RuFEjgpaGVT17IvY39pHModMM88DAMCLCJpe0s7JzzFqDZ9z0f5Zv+w281fi3jZdbtTD+YxRNbPW
+dmo5Ztb5o+93S7sLmQAAeCVB04vaOvk5VoVNJWVmLqCdZcrbil+XOx/yXRsRSMxeOPxqX/b6Iu/r
+yDYdcWymcwAA8FKCphe19QbnGRlMnAv3ZwiPzsX3Z0RfnNWnP5Pr2S14at33xICpt78ImQAA2J6g
+6WXtvcF5Ri4YnXF0093+FSOSzsn3fEUfzfIQP+MX6e72Z1j/acbnjL7nUcdEHJvxPAAAvJSg6YVt
+vsF5sodNd2VWBECrF/ZeHShF15d5YfDScp8Fx2asd2QbRPUXIRMAAI8haHppu29ynpVT6UrKrFpc
+e6dQ6UzcPzM8xGeZTtez/5P0ulrbRsgEAAA9D/KCpne2+0bn2n100+j95+Jrb22nM2l/G/UHcccp
+dXf73x4wRfQXIRMAAI8jaHpx2290rtGjYp4eOM38jFHtvtuophlr8+wQPs3YH1mmp/12CZlmnwsA
+gJcTNL28/Tc6V4awqaTcmaCO2aFStgW/W+sf+cfwrdPqZtdRe6+fHjCtOB8AAC8naOLc7FxPGd0U
+VWbmmktGM417oM+2WHjpeXYs09NeQiYAALh7oBM0seDB/i2jmyLLlJTLPpJpRl/LukZTa/3RwUm2
+UUW7BEwRfUPIBADAKwiamBUARJ/vnHDc7MApsq4dRzKt6IeZHu6zLhgeea6V5+xpHyETAACUPtQJ
+mlj4gL/DVLqa8ivCnczXNrt/RZ1jxh/F7CObVtU1olxPm3426U8rzwcAAP//g5mgiclhwIhz7ja6
+aVSd5wafJVPfy/qwv2pk0y7lRpaNasPIOnY4JwAA/PfDnaCJBA/8u4RNNeVHhTTnJnXO6E+z+mqm
+X6NbHcbsUmdPu+0aMK08LwAA/PeDmqCJhQ/wI86bLXDKUPZMch8y9bUdHvx3C6GylO2570ImAADo
+fcgTNJEsAHhq2FRbfsfga1T/yRhGfRLUt2MQlanuEe0pZAIA4PUETWR8wD8X13O+qPzs6XDny79T
+n8nH7hoYjb6eqDYZUc8u5wUAgO8PfYImkgYDZ4J6Zkwj2z3UytReGawOLT4vKz/zXo2uZ7dzAwDA
+94c6QRPJH/53G93Uetz5kHPM7DdPWAy8t/6sI4UyB0yRbSpkAgCAvw9qgiaSPdSPPPeK0OR82DFR
+7fG2KXQrF5n+POyYFceNrmuncwMAwPXDnqCJjcKBtwVOrcedC+7t+bC+tvqhf8VonacHRU8YxZTh
+/AAAcP0wJ2hiswAgy1pATx4dlek+jz7/E0KDz8OPW3nsE/sLAACMfQgTNDHg4X2n8+8YOPUcez7k
+vu/kk6i+t4VETxnFlOUaAADg/mFP0ERr33nYNZwbH39u/Lmz97HVD/8rg5adA6InjWLKcg0AAFD2
+ICdoYvMgINsom9V1GLG0pywjb3YffSRgAgCA1Q/pgiYi+tHDriHT+kTnxufP2ldW+iSs77Px+Ufd
+WyETAAC0PvQJmojqSw+8hvNh9ZybtPOuYdRnk/qftu7R0wKmTNcBAAD1D3SCJh4YEGQehfOk0Clb
+20dcwxODBqOO3tv2AAAw/8FM0ETCh/2s13I+uK7zBf0ho0/iOrP+YttTA6Zs1wIAAG0PgYImRvSr
+h1+LAOt5/WSkz0b1fxJ/5s+GbbPbdQAAQP+DnqCJkf3r4dfythBrRZtmDqM+DzjnDqODnhwwZbsW
+AADof4gTNDG6j73gWnap1/S4vXw2qffz4s/+tOsBAID+B0RBEzP62YuuZ6cwx9S49T6bnmPHIMgo
+JgAAmPHALWhiZn970fUIs/brD6N8HnKuXUcZGcUEAAAzH/QETczucy+8ptO1P67PvGER6d0DoI9+
+AwAACx7gBE2s6HcvvqYnBEOmxK3xecA5Pg+6VztfDwAAjHtgFDSxsv+9/JqeNhpJABXj87BzfR56
+73a+JgAAGPdgKGhidR90XY8ZTbVjO6/wecH53x4u7XBtAAAw5uFP0ESWvujaHn2u3ftAqTdP2fq8
+/F7vcm0AADD2wU7QRKb+6PqW349T/9k6JHhD2PPRBgAAkPjBTNBExn7p+pyXW58XnfejPQAAYJMH
+ekETWfum60x9f4RP83xefA0fbQQAAJs9zAuayN5HXet290gI1ebjWtLdhyddKwAAzHkgFDSxQz91
+vY+6X28NoqwttO+9eco1AwDA+Ac+QRM79VfX/Jr7tst1Wzj8fffPfzQBAODqQU7QxI791nW/8v7R
+5+M6XnndAAAw94FT0MSufdf1u5/89HE9rh8AAJY8XAqa2L0P+wzu7ct9XJfPAAAAaR4kBU08pS/7
+HK7vBSwo7nMAAEDuh0ZBE0/qzz6Ta32Aj2v1mQAAYNuHWEETT+zXPpdrT8x6RT4XAAA894Fc0MST
++7fP53NNJIDx+QAAwIO4oIk39HOf0+ev8PY/ih+fEwAAaH4wEzTxpv7u88L/8PF5AQCAsAdRQRNv
+7Pc+Ny/28ZkBAIBhD56CJt7+HfD5eTDTAAEAgLkPmYIm+L/fBbfA/diYP+TuBwAA5HiYFDTB//xe
+uAXuTVL+YLs3AACQ+6FR0AS/vx9ugfu1gD/K7hcAAOz7YChogrLvilvgHgbxR9c9BACA5z74CZqg
+/nvjFrjH//BH1H0GAAD+8zAnaIK+75BbAMP4DxQAAGzmv9wCCHsQFjpB7HcKAADYjKAJxjwgC52g
+7bsDAABsTNAE4x+chU5w/R0BAAAeQtAEcx+ohU74LgAAAI8laIK1D9qCJ97U3wEAgIcTNEGeB3Gh
+E0/r0wAAwMsImiDvA7rgiR37LQAA8GKCJtjnAV7wRMZ+CQAA8P8ImmDvB3zhE7P7HAAAwE+CJtib
+UU+M7E8AAABVBE3wLEY90dpPAAAAugma4Pl+hQoCqHe3PwAAQDhBE7yXAOr5bQkAADCVoAn46y60
+EETlbBcAAIDlBE1ArZLAQxgVf08BAADSEzQBI9QEJ6d7AAAA8AyCJmC1kYHMufDcAAAAryNoAp5M
+kAQAADDR/3ILAAAAAIggaAIAAAAghKAJAAAAgBCCJgAAAABCCJoAAAAACCFoAgAAACCEoAkAAACA
+EIImAAAAAEIImgAAAAAIIWgCAAAAIISgCQAAAIAQgiYAAAAAQgiaAAAAAAghaAIAAAAghKAJAAAA
+gBCCJgAAAABCCJoAAAAACCFoAgAAACCEoAkAAACAEIImAAAAAEIImgAAAAAI8b8FGAAsOH+9avvX
+ZQAAAABJRU5ErkJggg==" transform="matrix(1 0 0 1 25.0045 887.3646)">
+               </image>
+               <g>
+                       <polygon points="500.8,1068.3 461.5,1096.9 361.5,1136.2 339.3,1159.1 322.2,1172 318.6,1202 325.8,1217.8 345.1,1268.5 
+                               369.3,1315.7 395.8,1349.3 354.3,1417.3 307.2,1518.8 278.6,1564.6 232.2,1622.5 230,1649 205.7,1671.8 242.9,1705.5 
+                               233.6,1745.5 237.2,1833.5 254.3,1935.7 268.6,2010.1 417.2,2010.1 407.2,2007.2 420.1,1995.8 417.9,1963.6 431.5,1935.7 
+                               420.1,1937.1 440.8,1901.4 440.8,1865.6 454.4,1847 454.4,1822.7 482.2,1784.8 484.4,1752.6 478.6,1726.2 491.5,1696.2 
+                               506.5,1671.8 506.5,1656.8 523.6,1654.7 538.7,1639.7 552.2,1601.8 582.2,1568.1 617.9,1554.6 640.1,1573.9 695.1,1590.3 
+                               738.7,1613.2 759.4,1639.7 795.1,1643.2 908,1692.6 965.9,1713.3 1013,1749.1 1023,1746.2 1023,1732.6 998,1713.3 1023,1719.7 
+                               1023,1666.1 1018.7,1666.1 996.6,1656.8 981.6,1649 1003.7,1630.4 1009.4,1616.8 1005.9,1607.5 985.1,1611.1 941.6,1633.9 
+                               935.8,1645.4 920.8,1641.8 866.6,1611.1 864.4,1590.3 832.3,1573.9 778,1545.3 764.4,1554.6 766.5,1541.7 736.5,1513.1 
+                               710.1,1505.9 685.8,1477.3 678,1468 702.2,1485.2 698.7,1465.9 718,1475.9 712.2,1447.3 738.7,1471.6 727.2,1455.2 753.7,1465.9 
+                               730.8,1434.4 748,1440.1 740.1,1409.4 753.7,1420.8 734.4,1393 753.7,1398.7 736.5,1375.8 759.4,1373.6 734.4,1358.6 
+                               749.4,1351.5 733,1349.3 755.1,1328.6 734.4,1330.7 736.5,1317.2 738.7,1280 727.2,1305.7 713.7,1268.5 715.8,1298.6 708,1300.7 
+                               689.4,1300.7 668.7,1270 648,1270 623.7,1249.2 612.2,1260.7 583.7,1280 546.5,1280 538.7,1298.6 546.5,1319.3 542.2,1341.5 
+                               523.6,1330.7 508.6,1302.1 476.5,1295 463.6,1281.4 435.1,1268.5 402.9,1215.6 405.1,1191.3 484.4,1130.5 521.5,1147.7 
+                               527.2,1160.5 527.2,1176.3 537.2,1189.2 555.8,1194.9 568.7,1183.4 570.8,1170.6 565.1,1159.1 553.7,1153.4 546.5,1144.1 
+                               562.9,1136.2 559.4,1117.6 559.4,1106.2 547.9,1094.8 542.2,1077.6 520.1,1072.6 500.8,1068.3                      "/>
+               </g>
+       </g>
+       
+               <path id="path3759-3" inkscape:connector-curvature="0" sodipodi:nodetypes="cssc" fill="none" stroke="#FFFFFF" stroke-width="4.4435" stroke-linecap="round" stroke-linejoin="round" d="
+               M499.4,1093.9c-73.7-27.3-104.3,72.5-89,132.1c17.8,69.8,23.3,155.3-8.8,218.2c-23,45.1-129.3,62-127.9,125.3"/>
+       
+               <linearGradient id="rect2855-9_1_" gradientUnits="userSpaceOnUse" x1="367.1138" y1="1298.9412" x2="367.5216" y2="1446.0194" gradientTransform="matrix(1.4302 0 0 -1.4302 -13.6354 3860.8723)">
+               <stop  offset="0" style="stop-color:#FFFFFF"/>
+               <stop  offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
+       </linearGradient>
+       
+               <path id="rect2855-9" inkscape:connector-curvature="0" sodipodi:nodetypes="csscc" opacity="0.8" fill="url(#rect2855-9_1_)" enable-background="new    " d="
+               M0,1783.5c0,126.8,102.1,228.8,228.8,228.8h566.3c126.8,0,228.8-102.1,228.8-228.8C67,1786.6,991,1783,0,1783.5z"/>
+       
+               <path id="rect2855-4" inkscape:connector-curvature="0" fill="none" stroke="#000000" stroke-width="16" stroke-opacity="0.177" d="
+               M233.3,996.4C108.5,996.4,8,1096.8,8,1221.6v557.5c0,124.8,100.5,225.3,225.3,225.3h557.5c124.8,0,225.3-100.5,225.3-225.3v-557.5
+               c0-124.8-100.5-225.3-225.3-225.3C790.8,996.4,233.3,996.4,233.3,996.4z"/>
+       
+               <path id="rect2855-4-8" inkscape:connector-curvature="0" fill="none" stroke="#FFFFFF" stroke-width="15.9999" stroke-opacity="0.4079" d="
+               M242.1,1012.4c-120.8,0-218.1,97.3-218.1,218.1v539.8c0,120.8,97.3,218.1,218.1,218.1h539.8c120.8,0,218.1-97.3,218.1-218.1v-539.8
+               c0-120.8-97.3-218.1-218.1-218.1H242.1z"/>
+</g>
+</svg>
diff --git a/data/themes/default/icon_pdev.svg b/data/themes/default/icon_pdev.svg
new file mode 100644 (file)
index 0000000..d17ca3c
--- /dev/null
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xml:space="preserve"
+   version="1.0"
+   id="layer1"
+   width="128"
+   height="128"
+   viewBox="0 0 19.2 19.2"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:docname="icon_pdev.svg"><defs
+   id="defs19" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1057"
+   inkscape:window-height="784"
+   id="namedview17"
+   showgrid="false"
+   inkscape:zoom="1.164"
+   inkscape:cx="253.43643"
+   inkscape:cy="146.90722"
+   inkscape:window-x="390"
+   inkscape:window-y="166"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="layer1" /><metadata
+   id="metadata1"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><polygon
+   id="polygon1_extrashade"
+   points="40.389,62.75 40.389,14.769 40.389,14.769 23.235,29.606 7,29.606 7,48.699 22.989,48.699 "
+   style="stroke:#999999;stroke-width:5;stroke-linejoin:round"
+   transform="matrix(0.25667351,0,0,0.25667351,-0.23340565,-0.08139115)" /><g
+   id="g1shade"
+   transform="matrix(0.25667351,0,0,0.25667351,0.02326765,-0.08139115)"><polygon
+   id="polygon1s2"
+   points="39.389,62.75 39.389,13.769 39.389,13.769 22.235,28.606 6,28.606 6,47.699 21.989,47.699 "
+   style="stroke:#999999;stroke-width:5;stroke-linejoin:round" /><path
+   id="path1s"
+   d="m 48.128,49.03 c 1.929,-3.096 3.062,-6.739 3.062,-10.653 0,-3.978 -1.164,-7.674 -3.147,-10.8"
+   style="fill:none;stroke:#999999;stroke-width:5;stroke-linecap:round"
+   inkscape:connector-curvature="0" />
+<path
+   id="path2s"
+   d="m 55.082,20.537 c 3.695,4.986 5.884,11.157 5.884,17.84 0,6.621 -2.151,12.738 -5.788,17.699"
+   style="fill:none;stroke:#999999;stroke-width:5;stroke-linecap:round"
+   inkscape:connector-curvature="0" />
+<path
+   id="path9"
+   d="m 61.71,62.611 c 5.267,-6.666 8.418,-15.08 8.418,-24.233 0,-9.217 -3.192,-17.682 -8.519,-24.368"
+   style="fill:none;stroke:#999999;stroke-width:5;stroke-linecap:round"
+   inkscape:connector-curvature="0" />
+</g><g
+   id="g1"
+   transform="matrix(0.25667351,0,0,0.25667351,-0.23340565,-0.08139115)"><polygon
+   id="polygon1"
+   points="39.389,13.769 22.235,28.606 6,28.606 6,47.699 21.989,47.699 39.389,62.75 39.389,13.769 "
+   style="fill:#666666;stroke:#666666;stroke-width:5;stroke-linejoin:round" /><path
+   id="path1"
+   d="m 48.128,49.03 c 1.929,-3.096 3.062,-6.739 3.062,-10.653 0,-3.978 -1.164,-7.674 -3.147,-10.8"
+   style="fill:none;stroke:#666666;stroke-width:5;stroke-linecap:round"
+   inkscape:connector-curvature="0" />
+<path
+   id="path2"
+   d="m 55.082,20.537 c 3.695,4.986 5.884,11.157 5.884,17.84 0,6.621 -2.151,12.738 -5.788,17.699"
+   style="fill:none;stroke:#666666;stroke-width:5;stroke-linecap:round"
+   inkscape:connector-curvature="0" />
+<path
+   id="path15"
+   d="m 61.71,62.611 c 5.267,-6.666 8.418,-15.08 8.418,-24.233 0,-9.217 -3.192,-17.682 -8.519,-24.368"
+   style="fill:none;stroke:#666666;stroke-width:5;stroke-linecap:round"
+   inkscape:connector-curvature="0" />
+</g>
+</svg>
\ No newline at end of file
diff --git a/data/themes/default/instrument_cover.svg b/data/themes/default/instrument_cover.svg
new file mode 100644 (file)
index 0000000..2fc0778
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="256"
+   height="256"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docbase="/home/yoda/UltraStar/sf/svn/UltraStar-ng/themes/lima"
+   sodipodi:docname="instrument_cover.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 128 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="256 : 128 : 1"
+       inkscape:persp3d-origin="128 : 85.333333 : 1"
+       id="perspective17" />
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3484"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.336682,0,0,0.336682,-81.3739,-51.8729)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.1191406"
+     inkscape:cx="14.555935"
+     inkscape:cy="70.174855"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1144"
+     inkscape:window-height="785"
+     inkscape:window-x="136"
+     inkscape:window-y="25"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     width="256px"
+     height="256px"
+     borderlayer="false"
+     showgrid="false" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.31313129000000001;fill-rule:nonzero;stroke:#7f7f7f;stroke-width:10.01399999999999935;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="rect1906"
+       width="246.30026"
+       height="246.30028"
+       x="4.8498545"
+       y="4.0691833"
+       inkscape:export-filename="/home/jesusda/docs/curro/yo/ultrastar-ng/base/theme-pod/images/no_cover.png"
+       inkscape:export-xdpi="89.889648"
+       inkscape:export-ydpi="89.889648" />
+    <path
+       style="opacity:1;fill:#000000"
+       d="M 58.770328,163.09224 C 58.667128,162.65922 58.907858,162.33165 59.307738,162.36094 C 59.434798,162.37025 59.574458,162.348 59.618058,162.31152 C 59.694038,162.24796 59.829758,161.81959 59.812288,161.69848 C 59.807698,161.66652 59.445558,161.17684 59.007558,160.61029 C 58.018918,159.33152 57.142328,158.12101 56.257978,156.81331 C 54.862308,154.74948 53.121888,151.92373 52.493388,150.70105 C 50.938678,147.67664 50.096268,144.43182 50.053408,141.30298 C 50.036648,140.07945 50.240718,137.67269 50.439578,136.74815 C 51.072318,133.80685 52.501678,131.51856 55.213028,129.10627 C 56.848878,127.65088 59.707728,125.65418 61.460679,124.74276 C 64.699589,123.05877 68.687829,121.57213 75.295889,119.58561 C 79.031989,118.46246 80.109249,118.09709 81.533518,117.46998 C 85.251458,115.833 88.061728,113.30253 90.734398,109.18512 C 92.220188,106.89615 95.58264,101.90071 96.00588,101.35347 C 99.706114,96.569272 103.24812,93.685062 106.69671,92.648042 C 107.38444,92.441242 108.70449,92.191802 109.36335,92.144162 C 110.59661,92.054942 111.74608,92.304302 112.56925,92.839612 C 112.87777,93.040212 112.98277,93.138632 113.24499,93.473072 C 113.54455,93.855002 113.5553,93.863932 113.54953,93.726172 C 113.5462,93.647662 113.53301,93.570012 113.52015,93.553672 C 113.44391,93.456872 113.61169,93.490912 113.95377,93.641702 L 114.34528,93.814232 L 114.46227,93.668322 C 114.74427,93.316632 115.00274,93.267602 115.29798,93.509782 C 115.46435,93.646222 115.52066,93.804662 115.58644,94.321242 C 115.65145,94.832082 115.60704,95.009962 115.36351,95.213702 C 115.14349,95.397772 114.95905,95.404422 114.75741,95.235522 C 114.47673,95.000492 114.28011,95.069532 113.99662,95.502612 C 113.91874,95.621572 113.84915,95.724132 113.84193,95.730572 C 113.83472,95.736972 113.8141,95.653152 113.79613,95.544242 L 113.76344,95.346252 L 113.67952,95.609182 C 113.48243,96.226632 113.25611,96.509322 112.01811,97.684432 C 110.93379,98.713662 110.02775,99.651912 109.34329,100.45434 C 109.0697,100.77508 108.70186,101.201 108.52586,101.40083 C 108.14215,101.83647 107.97341,102.09504 107.76869,102.56111 C 107.47203,103.23645 107.3167,103.93972 107.23502,104.97749 C 107.10044,106.68748 107.39935,108.3843 108.09103,109.83702 C 108.26106,110.1941 108.37502,110.35902 108.8245,110.8984 C 109.43796,111.63452 109.64138,111.7968 110.37206,112.13261 C 110.91408,112.38174 111.4216,112.50659 112.02905,112.5403 C 112.59557,112.5717 113.54735,112.46486 113.67851,112.35515 C 113.73321,112.30938 115.76025,110.70188 118.18303,108.78291 C 129.71064,99.652452 137.30277,93.611082 148.72464,84.479686 C 150.78275,82.834326 155.51767,79.027246 158.79746,76.380746 C 160.9399,74.652006 165.48814,70.940126 170.04023,67.205426 L 172.24178,65.399246 L 172.26712,65.032246 C 172.30082,64.544096 172.29364,64.041716 172.24537,63.522316 C 172.18613,62.884306 172.2295,62.469246 172.38404,62.196926 C 172.6843,61.667746 173.12277,61.343016 174.00519,60.996336 C 174.6511,60.742556 175.84567,60.172536 175.8507,60.115666 C 175.85926,60.019876 175.62915,59.541326 175.54117,59.471726 C 175.48669,59.428656 175.33294,59.412176 175.17154,59.432126 C 174.92968,59.461986 174.87768,59.448556 174.75541,59.324496 C 174.60107,59.167886 174.42067,58.742976 174.25718,58.151076 C 174.1289,57.686426 174.14582,57.658196 174.80414,57.237596 C 175.31485,56.911296 175.56057,56.805246 175.96207,56.737746 C 176.29779,56.681286 176.49433,56.725426 176.69067,56.901356 C 176.88819,57.078286 177.21261,57.657786 177.28067,57.955236 C 177.34645,58.242796 177.25304,58.577466 177.06258,58.736846 C 176.90197,58.871176 176.90367,58.879016 177.1761,59.278366 C 177.32228,59.492626 177.3262,59.494576 177.48008,59.430806 C 178.11809,59.166316 179.97791,58.342496 179.97739,58.324566 C 179.97699,58.312306 179.9301,58.187966 179.87308,58.048326 C 179.74558,57.736006 179.60802,57.645016 179.35061,57.702486 C 179.25029,57.724896 179.1239,57.733156 179.06969,57.720886 C 178.83664,57.668226 178.61855,57.242606 178.39869,56.411086 L 178.28648,55.986716 L 178.73853,55.650416 C 179.51038,55.076226 180.23088,54.855456 180.65406,55.063516 C 180.86948,55.169456 180.90102,55.202466 181.1103,55.541226 C 181.36164,55.948006 181.45471,56.199806 181.44361,56.442676 C 181.43374,56.656466 181.26706,56.996976 181.14374,57.055166 C 181.02689,57.110296 181.04283,57.169806 181.26275,57.501136 L 181.42578,57.746836 L 182.68024,57.222856 C 183.37018,56.934676 183.94045,56.685746 183.94751,56.669676 C 183.97736,56.602066 183.75633,56.127836 183.66364,56.060526 C 183.60819,56.020226 183.48964,56.003596 183.40022,56.023526 C 183.14,56.081546 182.97057,56.046086 182.85646,55.909716 C 182.72381,55.751196 182.4873,55.148736 182.376,54.685756 L 182.2905,54.330296 L 182.56463,54.108406 C 183.19141,53.601156 183.56084,53.416706 184.12517,53.329406 C 184.39408,53.287796 184.49479,53.300356 184.66769,53.396906 C 184.85371,53.500776 184.9074,53.559466 185.10073,53.870236 C 185.40138,54.353526 185.48826,54.725216 185.37467,55.042146 C 185.31177,55.217846 185.24979,55.307726 185.15638,55.358636 C 185.01223,55.437266 185.0151,55.447956 185.29949,55.885506 L 185.43777,56.098246 L 186.7906,55.552686 C 187.53462,55.252656 188.14265,54.995256 188.14167,54.980716 C 188.13455,54.873636 187.88131,54.374256 187.80777,54.322316 C 187.75748,54.286746 187.58987,54.274786 187.43527,54.295756 C 187.19445,54.328396 187.13573,54.315196 187.02534,54.203586 C 186.87557,54.052236 186.6936,53.615736 186.5375,53.033786 C 186.40484,52.539326 186.41405,52.523206 187.0708,52.100476 C 187.80594,51.627286 188.43232,51.467776 188.80619,51.658566 C 188.95825,51.736166 189.02304,51.807616 189.22552,52.120756 C 189.53721,52.602986 189.61945,52.896536 189.53597,53.228576 C 189.4845,53.433156 189.43663,53.513396 189.31703,53.595666 C 189.14473,53.714176 189.14421,53.711866 189.45642,54.181306 L 189.62487,54.434506 L 190.93198,53.929256 C 191.65092,53.651366 192.24464,53.412956 192.25137,53.399446 C 192.26861,53.365086 191.97998,52.685726 191.91375,52.604806 C 191.8839,52.568256 191.78873,52.544396 191.70232,52.551766 C 191.2613,52.589426 191.16699,52.574326 191.06242,52.449316 C 190.93975,52.302716 190.73871,51.796786 190.58293,51.242486 L 190.47241,50.849356 L 190.9457,50.494796 C 191.45327,50.114536 191.82322,49.945436 192.33595,49.859226 C 192.64477,49.807286 192.8174,49.847566 193.01361,50.017366 C 193.19728,50.176276 193.54555,50.764776 193.6008,51.009696 C 193.68663,51.389546 193.56651,51.802406 193.33797,51.913026 C 193.21407,51.972986 193.20427,51.939846 193.51655,52.518646 C 193.61589,52.702836 193.70505,52.853366 193.71452,52.853216 C 193.72406,52.853036 194.07187,52.693996 194.48741,52.499806 C 194.90302,52.305596 195.49067,52.040846 195.79341,51.911456 C 196.09608,51.782086 196.34265,51.668586 196.34122,51.659266 C 196.32652,51.563636 196.08674,51.075506 196.01235,50.989866 C 195.93495,50.900826 195.86192,50.885826 195.63959,50.913376 C 195.1795,50.970386 195.07036,50.835756 194.75906,49.826916 C 194.56095,49.184926 194.56422,49.172816 195.01804,48.867966 C 195.17218,48.764396 195.37898,48.625136 195.4776,48.558506 C 195.85507,48.303356 196.57537,48.134786 196.86662,48.233426 C 197.07028,48.302396 197.29385,48.546816 197.52031,48.948096 C 197.81795,49.475256 197.80887,49.952476 197.49627,50.213966 L 197.33259,50.350906 L 197.58895,50.749546 C 197.72997,50.968786 197.85544,51.148576 197.86785,51.149046 C 197.88026,51.149476 198.09235,51.101986 198.33918,51.043456 C 199.09312,50.864696 199.56497,50.832726 200.07365,50.925926 C 201.47599,51.182866 202.5912,51.933186 203.22151,53.043846 C 203.33267,53.239816 203.4784,53.531736 203.54528,53.692556 C 203.69237,54.046406 203.89387,54.867156 203.94371,55.315386 C 204.03998,56.181576 203.79655,57.095986 203.26024,57.882546 C 202.72961,58.660716 201.86567,59.546176 201.3626,59.827306 C 200.31081,60.415126 198.88117,60.725576 197.92278,60.574266 C 197.63592,60.528946 197.11345,60.351246 196.5533,60.108466 C 195.85245,59.804716 195.30406,59.858676 194.69962,60.290886 C 194.30093,60.575936 194.13503,60.774766 192.2065,63.277946 C 190.20494,65.875896 188.95747,67.459706 187.95101,68.680596 C 187.25408,69.526056 187.18452,69.597236 186.43253,70.234206 C 185.86565,70.714346 185.59962,70.915446 185.48466,70.950636 C 185.36683,70.986676 185.19192,70.951766 184.81896,70.817816 C 184.07625,70.551076 183.03589,70.258956 182.51408,70.170626 C 181.94478,70.074256 181.47489,70.066476 180.79332,70.142206 C 179.78137,70.254626 179.59881,70.310556 178.92044,70.716026 C 178.58328,70.917526 178.13481,71.176446 177.92391,71.291376 C 177.5245,71.508956 175.7765,72.979196 144.45791,99.440242 C 141.7804,101.70246 135.55236,106.95977 130.61778,111.12316 C 125.68322,115.28654 120.51428,119.65458 119.13122,120.82993 C 117.74819,122.00525 115.77741,123.66935 114.75179,124.52787 L 112.88694,126.08886 L 112.92444,126.22481 C 112.94506,126.29959 112.93735,126.46122 112.90732,126.58399 C 112.61212,127.79043 113.44106,129.85247 114.82805,131.36193 C 116.46245,133.1406 118.38837,134.05971 120.43144,134.03609 C 120.95972,134.02998 121.61714,133.83895 123.01558,133.28523 C 123.80484,132.9727 125.37782,132.2244 126.09317,131.82115 C 126.97181,131.32585 127.52409,131.18011 128.2758,131.24524 C 129.14166,131.32025 129.73399,131.65099 130.27395,132.36093 C 130.77806,133.02376 130.92398,133.61245 130.83456,134.62282 C 130.80354,134.9743 130.72457,135.43418 130.65925,135.64474 C 130.39531,136.49556 129.29889,138.19761 128.19282,139.47367 C 127.66484,140.08279 125.84409,141.60531 125.10095,142.05911 C 123.58852,142.98266 122.62301,143.42961 118.44846,145.13866 C 118.1928,145.24333 117.48466,145.45685 116.87481,145.61314 C 115.18321,146.04668 114.23,146.382 113.01781,146.96992 C 111.06387,147.91761 109.45996,149.20264 108.10198,150.9084 C 107.16464,152.0858 106.45328,153.32124 105.75889,154.97776 C 105.52977,155.52436 105.22642,156.18639 105.08479,156.44891 C 104.7479,157.07336 104.38683,157.803 103.42145,159.81013 C 101.877,163.02122 101.082,164.51033 99.996014,166.22634 C 98.0006,169.3794 95.77381,171.8721 93.194468,173.84002 C 91.429408,175.18668 90.190188,175.97602 88.824378,176.62362 C 86.282818,177.82864 84.122378,178.2117 80.902478,178.02828 C 79.524899,177.9498 79.451229,177.93707 78.276089,177.57456 C 75.611769,176.75255 74.241179,176.13293 72.490779,174.95899 C 70.314699,173.49957 67.989859,171.34852 65.937939,168.89595 C 65.311459,168.14717 63.970749,166.56801 62.958599,165.3867 L 61.118269,163.2389 L 60.752679,163.30066 L 60.387098,163.36242 L 60.349488,163.63057 C 60.308018,163.92608 60.208868,164.04246 59.949268,164.10035 C 59.653128,164.1664 59.465038,164.0637 59.120228,163.64761 C 58.899348,163.38107 58.802518,163.22738 58.770328,163.09224 z"
+       id="path3250"
+       sodipodi:nodetypes="csssssssssssssssssssscccsssssscccssssssssssssscccssssssssssssssssssscccsssscccsssscccssssscccsssssssssscccsssscccsssssssssssssssscccssssssssssssssssssssssscccssssssssssssssssssssssssscccccssc" />
+    <rect
+       style="opacity:1;color:#000000;fill:#0000ff;fill-opacity:0.22608696;fill-rule:nonzero;stroke:none;stroke-width:10.60000038000000089;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="rect1913"
+       width="291.42856"
+       height="45.714287"
+       x="-16.285721"
+       y="181.50516" />
+    <path
+       style="font-size:39.83382034000000260px;font-family:Goblin;stroke:none;stroke-opacity:1;fill:#000000;fill-opacity:1"
+       d="M 58.72672,219.00823 L 44.00299,198.17717 L 44.00299,218.61923 L 40.30747,218.61923 L 40.30747,190.12482 L 41.86348,190.12482 L 56.19821,209.82778 L 56.19821,190.12482 L 59.89373,190.12482 L 59.89373,219.00823 L 58.72672,219.00823 M 64.3867,204.1289 C 64.3867,200.0055 65.41756,196.55635 67.47927,193.78144 C 69.55394,191.00659 72.34827,189.61915 75.86227,189.61912 C 79.8171,189.61915 82.84483,190.89637 84.94547,193.45079 C 87.05902,196.00526 88.11581,199.56463 88.11583,204.1289 C 88.11581,208.8099 87.05902,212.47949 84.94547,215.13766 C 82.83187,217.78288 79.80414,219.10548 75.86227,219.10548 C 72.27047,219.10548 69.45669,217.70508 67.42092,214.90426 C 65.39811,212.10345 64.3867,208.51167 64.3867,204.1289 M 68.47123,204.1289 C 68.47122,207.39653 69.11307,210.12603 70.39679,212.3174 C 71.69345,214.50878 73.51528,215.60447 75.86227,215.60447 C 78.52043,215.60447 80.54324,214.59955 81.9307,212.5897 C 83.33109,210.57986 84.03129,207.7596 84.03131,204.1289 C 84.03129,196.78975 81.30828,193.12017 75.86227,193.12014 C 73.45044,193.12017 71.61565,194.10564 70.35789,196.07656 C 69.10011,198.04752 68.47122,200.73163 68.47123,204.1289 M 122.75647,191.17513 L 121.45332,194.5011 C 120.20849,193.59345 118.25052,193.13962 115.57938,193.13959 C 113.07679,193.13962 111.06695,194.21585 109.54985,196.36831 C 108.0457,198.52081 107.29363,201.29569 107.29364,204.69296 C 107.29363,207.93465 108.06515,210.5669 109.6082,212.5897 C 111.1642,214.59955 113.16756,215.60447 115.61828,215.60447 C 118.28942,215.60447 120.34464,214.6579 121.78397,212.76475 L 123.92348,215.74062 C 121.66725,217.98386 118.7627,219.10548 115.20983,219.10548 C 111.48837,219.10548 108.55789,217.76343 106.41838,215.07931 C 104.27887,212.3952 103.20911,208.85529 103.20912,204.45955 C 103.20911,200.20648 104.35019,196.67305 106.63233,193.85925 C 108.91447,191.04549 111.8644,189.6386 115.48213,189.63857 C 118.58117,189.6386 121.00594,190.15079 122.75647,191.17513 M 127.01605,204.1289 C 127.01604,200.0055 128.0469,196.55635 130.10861,193.78144 C 132.18328,191.00659 134.97761,189.61915 138.49161,189.61912 C 142.44645,189.61915 145.47418,190.89637 147.57481,193.45079 C 149.68836,196.00526 150.74515,199.56463 150.74518,204.1289 C 150.74515,208.8099 149.68836,212.47949 147.57481,215.13766 C 145.46121,217.78288 142.43348,219.10548 138.49161,219.10548 C 134.89981,219.10548 132.08603,217.70508 130.05026,214.90426 C 128.02745,212.10345 127.01604,208.51167 127.01605,204.1289 M 131.10057,204.1289 C 131.10056,207.39653 131.74242,210.12603 133.02613,212.3174 C 134.32279,214.50878 136.14462,215.60447 138.49161,215.60447 C 141.14977,215.60447 143.17258,214.59955 144.56004,212.5897 C 145.96043,210.57986 146.66063,207.7596 146.66065,204.1289 C 146.66063,196.78975 143.93762,193.12017 138.49161,193.12014 C 136.07979,193.12017 134.24499,194.10564 132.98723,196.07656 C 131.72945,198.04752 131.10056,200.73163 131.10057,204.1289 M 165.13826,219.00823 L 163.1738,219.00823 L 152.55404,190.12482 L 156.87197,190.12482 L 164.20466,211.11149 L 171.26505,190.12482 L 175.44682,190.12482 L 165.13826,219.00823 M 182.52665,193.62584 L 182.52665,201.54204 L 191.94051,201.54204 L 191.94051,204.84856 L 182.52665,204.84856 L 182.52665,215.11821 L 195.44153,215.11821 L 195.44153,218.61923 L 178.63663,218.61923 L 178.63663,190.12482 L 195.65548,190.12482 L 195.65548,193.62584 L 182.52665,193.62584 M 215.76689,218.61923 L 208.1619,206.38511 C 207.29312,206.38513 205.91864,206.32029 204.03848,206.19061 L 204.03848,218.61923 L 200.14846,218.61923 L 200.14846,190.12482 C 200.29109,190.12485 201.29601,190.07947 203.16322,189.98867 C 205.04339,189.88497 206.41138,189.8331 207.26719,189.83307 C 214.11362,189.8331 217.53683,192.55611 217.53685,198.00212 C 217.53683,199.79155 216.98575,201.4059 215.88359,202.84519 C 214.7814,204.27155 213.47176,205.15977 211.95467,205.50986 L 220.22097,218.61923 L 215.76689,218.61923 M 204.03848,193.62584 L 204.03848,202.8841 C 204.97207,203.01378 205.87974,203.07861 206.76149,203.0786 C 209.09549,203.07861 210.79413,202.70258 211.85742,201.95049 C 212.92068,201.19844 213.45231,199.85638 213.45233,197.92432 C 213.45231,196.32943 212.88178,195.18188 211.74072,194.48165 C 210.59963,193.78147 208.79726,193.43137 206.33359,193.43134 C 205.94458,193.43137 205.17954,193.4962 204.03848,193.62584"
+       id="text1909" />
+  </g>
+</svg>
diff --git a/data/themes/default/instrumenthelp.svg b/data/themes/default/instrumenthelp.svg
new file mode 100644 (file)
index 0000000..0835d2f
--- /dev/null
@@ -0,0 +1,474 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1000"
+   height="700"
+   id="svg5215"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   sodipodi:docname="instrumenthelp.svg"
+   version="1.0">
+  <metadata
+     id="metadata5462">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5460">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 765.35431 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1530.7086 : 765.35431 : 1"
+       inkscape:persp3d-origin="765.35431 : 510.23621 : 1"
+       id="perspective5464" />
+    <inkscape:perspective
+       id="perspective3703"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3725"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="791"
+     inkscape:window-width="1370"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:zoom="2"
+     inkscape:cx="503.82147"
+     inkscape:cy="476.32724"
+     inkscape:window-x="58"
+     inkscape:window-y="27"
+     inkscape:current-layer="svg5215"
+     inkscape:window-maximized="0" />
+  <text
+     transform="scale(0.89213371,1.1209082)"
+     id="text2954"
+     y="434.98087"
+     x="553.4765"
+     style="font-size:48.68118668px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.01400006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Goblin;-inkscape-font-specification:Goblin Bold"
+     xml:space="preserve"><tspan
+       style="text-align:center;text-anchor:middle;stroke:#000000;stroke-width:1.01400006;stroke-miterlimit:4;stroke-dasharray:none"
+       y="434.98087"
+       x="553.4765"
+       sodipodi:role="line"
+       id="tspan2905"><tspan
+   style="text-align:center;text-anchor:middle;fill:#ff6600;stroke:#000000;stroke-width:1.01400006"
+   id="tspan2873">PRESS</tspan> A BUTTON</tspan><tspan
+       style="text-align:center;text-anchor:middle;stroke:#000000;stroke-width:1.01400006;stroke-miterlimit:4;stroke-dasharray:none"
+       y="434.98087"
+       x="553.4765"
+       sodipodi:role="line"
+       id="tspan2970"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ffff00;stroke:#000000;stroke-width:1.01400006"
+         id="tspan2911" /></tspan></text>
+  <!-- EMR_SETMAPMODE -->
+  <!-- EMR_SETWINDOWEXTEX -->
+  <!-- EMR_SETVIEWPORTEXTEX -->
+  <!-- EMR_SETBKMODE -->
+  <!-- EMR_STRETCHDIBITS -->
+  <!-- EMR_SETBKCOLOR -->
+  <path
+     style="fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     id="path5221"
+     d="" />
+  <!-- EMR_SETBKCOLOR -->
+  <path
+     style="fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     id="path5239"
+     d="" />
+  <!-- EMR_SETBKCOLOR -->
+  <path
+     style="fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     id="path5339"
+     d="" />
+  <!-- EMR_SETBKCOLOR -->
+  <g
+     id="g6678"
+     transform="matrix(-0.5733385,-0.09492075,0.06423444,-0.8472365,906.86031,1416.0712)"
+     style="opacity:0.9">
+    <g
+       id="g2919"
+       transform="translate(-520.43821,59.690285)">
+      <path
+         style="fill:#5f4343;fill-opacity:1;stroke:none"
+         d="m 1520.754,975.60048 c -91.3221,35.38732 -287.6594,165.49742 -363,228.28132 -1.1415,1.1415 -2.2813,2.296 -2.2813,3.4375 1.1416,2.283 1.125,6.8438 1.125,6.8438 0,0 2.2813,2.2812 2.2813,2.2812 57.0762,50.2271 179.2161,126.7028 242,166.6562 2.283,1.1416 5.7317,3.4264 9.1562,-2.2812 110.728,-148.3983 245.4062,-343.5938 245.4062,-343.5938 10e-5,10e-5 1.158,-1.1397 -1.125,-2.2812 -55.9346,-31.9627 -129,-59.34382 -129,-59.34382 0,0 -2.2794,0 -4.5624,0 z m 2.1874,1.0313 c 0.8918,0.056 1.3438,0.5 1.3438,0.5 0,0 65.2787,26.16232 128.0625,58.12502 2.2831,1.1414 1.125,2.2813 1.125,2.2813 0,-10e-5 -240.0129,334.1692 -243.4375,337.5937 -3.4245,4.5662 -4.5772,2.2813 -5.7187,2.2813 -71.9161,-44.5196 -243.1545,-166.138 -245.4375,-169.5626 -1.1416,-1.1414 0,-3.4062 0,-3.4062 93.3121,-67.8759 237.2795,-171.6109 361.9687,-227.31252 0.8561,-0.4281 1.5587,-0.5334 2.0937,-0.5 z"
+         id="path5217" />
+      <path
+         transform="matrix(-1.7225489,0.19298701,-0.13059748,-1.1656764,1755.7005,1552.9114)"
+         id="path2917"
+         d="M 85.297081,500.8407 C 72.406572,489.9957 55.509153,475.29159 45.767424,466.44204 38.460906,459.80468 26.420394,448.27881 25.88033,447.40497 c -0.296189,-0.47925 15.394509,-26.28264 96.1936,-158.19065 43.14146,-70.43028 64.35284,-104.7607 65.60429,-106.17989 0.50762,-0.57566 1.23583,-0.97101 1.61825,-0.87855 2.3117,0.55891 55.12816,67.08109 97.78919,123.1652 27.00989,35.50843 33.11909,44.00628 32.61418,45.36606 -0.45506,1.2255 -7.48232,7.2277 -34.97522,29.8734 -62.39911,51.39771 -112.6815,87.81472 -154.9143,112.19668 -8.62325,4.97839 -32.299417,17.28648 -33.149573,17.23285 -0.290513,-0.0183 -5.404164,-4.13555 -11.363666,-9.14937 z"
+         style="fill:#f9f9f9" />
+    </g>
+    <path
+       id="path5223"
+       d="m 726.50097,1255.8195 c -2.28304,3.4246 -12.55678,9.1322 -12.55678,9.1322 0,0 -1.14152,2.2831 -3.42457,1.1415 -2.28304,-1.1415 -17.12287,-12.5567 -17.12287,-12.5567 0,0 -3.42457,14.8398 -3.42457,14.8398 0,0 20.54744,15.9813 20.54744,15.9813 0,0 2.28305,0 4.56609,-1.1415 3.4246,-2.283 20.54748,-14.8398 20.54748,-14.8398 0,0 2.28304,-1.1415 0,-3.4246 -2.28305,-3.4246 -6.84917,-11.4152 -7.9907,-11.4152 -1.14152,0 2.28305,-1.1416 -1.14152,2.283"
+       style="fill:#5f4343;fill-opacity:1;stroke:none" />
+    <path
+       id="path5225"
+       d="m 736.77471,1221.5738 c 0,0 -3.42457,15.9813 -3.42457,15.9813 0,0 19.40592,13.6983 19.40592,13.6983 0,0 2.28304,1.1415 4.56609,0 1.14152,-1.1415 18.26439,-13.6983 18.26439,-13.6983 1.14153,-1.1415 0,-2.283 0,-3.4246 -1.14152,-1.1415 -5.70761,-10.2737 -6.84913,-11.4152 0,1.1415 -12.55678,12.5568 -15.98135,11.4152 -3.42457,-2.283 -15.98135,-12.5567 -15.98135,-12.5567"
+       style="fill:#5f4343;fill-opacity:1;stroke:none" />
+    <path
+       id="path5227"
+       d="m 760.74672,1206.7339 c 0,0 -3.42457,9.1323 -3.42457,9.1323 0,0 11.41526,6.8491 11.41526,6.8491 0,0 6.84913,12.5568 6.84913,11.4152 -1.14152,-1.1415 1.14153,2.2831 3.42457,1.1416 2.28308,-1.1416 17.12287,-12.5568 18.26443,-14.8399 1.14152,-1.1415 -5.70765,-12.5567 -6.84917,-13.6983 1.14152,2.2831 -10.27374,12.5568 -13.6983,11.4153 -3.42457,-2.283 -15.98135,-11.4153 -15.98135,-11.4153"
+       style="fill:#5f4343;fill-opacity:1;stroke:none" />
+    <path
+       id="path5229"
+       d="m 782.43571,1191.8941 c 0,0 -2.28308,7.9907 -2.28308,7.9907 0,0 10.27374,6.8491 10.27374,6.8491 0,0 6.84917,12.5568 6.84917,12.5568 0,0 1.14152,1.1415 3.42457,-1.1415 2.28304,-1.1415 15.98135,-11.4153 15.98135,-11.4153 1.14152,0 1.14152,-2.283 0,-3.4245 0,-2.2831 -3.42457,-7.9907 -4.56613,-10.2738 1.14156,2.2831 -11.41522,10.2738 -13.69827,9.1322 -1.14152,-1.1415 -15.98135,-10.2737 -15.98135,-10.2737"
+       style="fill:#5f4343;fill-opacity:1;stroke:none" />
+    <path
+       id="path5231"
+       d="m 802.98315,1177.0543 c 0,0 -2.28304,7.9907 -2.28304,7.9907 0,0 11.41522,7.9906 11.41522,7.9906 0,0 4.56613,10.2738 4.56613,10.2738 0,0 2.28304,1.1415 4.56609,0 1.14152,-1.1416 13.6983,-9.1322 14.83982,-11.4153 1.14153,-1.1415 -3.42457,-10.2737 -4.56609,-13.6983 0,2.2831 -10.27373,11.4153 -13.6983,9.1322 -3.42457,-2.283 -14.83983,-10.2737 -14.83983,-10.2737"
+       style="fill:#5f4343;fill-opacity:1;stroke:none" />
+    <path
+       id="path5233"
+       d="m 833.80433,1156.5068 c 0,0 -4.56609,13.6984 -4.56609,13.6984 0,0 18.26439,10.2737 18.26439,10.2737 0,0 3.42457,1.1415 5.70762,0 1.14152,-1.1416 11.41525,-9.1322 11.41525,-9.1322 0,0 0,-1.1415 0,-2.2831 1.14153,1.1416 1.14153,0 2.28305,0 1.14152,0 13.6983,-9.1322 13.6983,-9.1322 0,0 0,-1.1415 0,-2.283 0,1.1415 1.14153,1.1415 2.28305,0 0,0 11.41526,-7.9907 11.41526,-7.9907 0,0 1.14152,-1.1415 0,-2.2831 2.28304,1.1416 2.28304,1.1416 2.28304,0 1.14153,0 11.41523,-7.9906 12.55675,-7.9906 0,-1.1415 0,-2.2831 0,-3.4246 -1.14152,0 -3.42457,-6.8492 -4.56609,-9.1322 1.14152,2.283 -5.70761,7.9907 -7.99066,5.7076 -3.4246,-1.1415 -14.83982,-7.9907 -14.83982,-7.9907 0,0 -1.14153,5.7077 -1.14153,5.7077 0,0 10.27371,5.7076 10.27371,5.7076 0,0 1.14152,2.2831 0,2.2831 -1.14153,1.1415 -5.70762,6.8491 -9.13218,5.7076 -2.28305,-1.1416 -14.83983,-9.1322 -14.83983,-9.1322 0,0 -1.14152,5.7076 -1.14152,5.7076 0,0 10.2737,5.7076 10.2737,5.7076 0,0 1.14156,2.2831 0,3.4246 -1.14152,1.1415 -6.84914,4.5661 -6.84914,4.5661 0,0 -2.28304,1.1415 -4.56609,0 -1.14152,-1.1415 -13.6983,-7.9907 -13.6983,-9.1322 0,-1.1415 -2.28305,6.8492 -2.28305,6.8492 0,0 11.41523,5.7076 11.41523,5.7076 0,0 1.14156,1.1415 0,2.283 -1.14152,1.1415 -7.99066,5.7076 -7.99066,5.7076 0,0 -2.28304,1.1416 -4.56609,0 -2.28304,-2.283 -13.6983,-9.1322 -13.6983,-9.1322"
+       style="fill:#5f4343;fill-opacity:1;stroke:none" />
+    <path
+       id="path5235"
+       d="m 904.57886,1109.7043 c 0,0 -4.56609,11.4153 -4.56609,11.4153 0,0 17.12287,7.9906 18.2644,9.1322 0,0 2.28304,0 3.42456,0 1.14153,-1.1416 7.99069,-5.7077 7.99069,-5.7077 0,0 0,-2.283 0,-2.283 1.14153,0 1.14153,0 1.14153,0 0,0 10.2737,-6.8492 10.2737,-6.8492 0,0 0,-1.1415 0,-1.1415 1.14156,0 1.14156,0 2.28308,0 0,-1.1415 9.13218,-6.8491 9.13218,-6.8491 0,0 0,-1.1415 0,-1.1415 -1.14152,-1.1416 1.14152,1.1415 1.14152,0 1.14153,0 7.99069,-5.7077 9.13222,-5.7077 0,-1.1415 -2.28305,-10.2737 -2.28305,-10.2737 0,-1.1415 -4.56612,3.4246 -4.56612,3.4246 0,0 -1.14152,0 -3.42457,0 -2.28305,-1.1416 -11.41526,-6.8492 -11.41526,-6.8492 0,0 -2.28304,3.4246 -2.28304,3.4246 0,0 11.41525,5.7076 11.41525,5.7076 0,0 1.14153,1.1415 0,2.2831 -1.14152,1.1415 -4.56609,3.4245 -4.56609,3.4245 0,0 -2.28304,0 -3.42456,0 -1.14156,-1.1415 -12.55679,-7.9906 -12.55679,-7.9906 0,0 -2.28304,3.4245 -2.28304,3.4245 0,0 11.41523,6.8492 11.41523,6.8492 0,0 1.14152,1.1415 0,2.2831 -1.14153,1.1415 -4.56609,3.4245 -4.56609,3.4245 0,0 -1.14153,1.1415 -3.42457,0 -1.14153,-1.1415 -13.69831,-7.9907 -13.69831,-7.9907 0,0 -1.14152,4.5662 -1.14152,4.5662 0,0 10.27374,4.566 10.27374,4.566 0,0 2.28304,1.1416 0,2.2831 -1.14156,2.283 -4.56613,4.5661 -4.56613,4.5661 0,0 -1.14152,1.1415 -3.42456,0 -1.14153,-1.1415 -13.69831,-7.9907 -13.69831,-7.9907"
+       style="fill:#5f4343;fill-opacity:1;stroke:none" />
+    <path
+       id="path5237"
+       d="m 954.80596,1077.7416 c 0,0 -3.42457,6.8492 -3.42457,6.8492 0,0 9.13221,4.5661 9.13221,4.5661 0,0 0,1.1415 0,1.1415 0,0 1.14152,2.283 1.14152,2.283 0,0 5.70762,2.2831 4.56609,2.2831 0,-1.1415 2.28305,1.1415 4.5661,0 1.14152,-1.1415 4.56612,-4.5661 4.56612,-4.5661 0,0 0,0 0,-1.1415 1.14152,0 2.28304,0 2.28304,0 1.14153,0 6.84914,-4.5661 6.84914,-4.5661 0,0 0,-1.1416 0,-2.2831 1.14152,1.1415 2.28304,1.1415 2.28304,0 0,0 5.70765,-4.5661 5.70765,-4.5661 0,-1.1415 0,-9.1322 0,-9.1322 0,0 -3.4246,3.4246 -3.4246,3.4246 0,0 -2.28305,0 -3.42457,0 -1.14152,-1.1415 -11.41522,-6.8492 -11.41522,-6.8492 0,0 -1.14156,3.4246 -1.14156,3.4246 0,0 9.13221,4.5661 9.13221,4.5661 0,0 1.14153,1.1416 0,2.2831 0,0 -3.42456,2.283 -3.42456,2.283 0,0 0,0 -2.28305,0 -2.28304,-1.1415 -11.41526,-6.8491 -11.41526,-6.8491 0,0 -2.28304,3.4246 -2.28304,3.4246 0,0 10.2737,4.566 10.2737,4.566 0,0 2.28308,1.1416 1.14156,2.2831 -1.14156,1.1415 -3.4246,2.283 -3.4246,2.283 0,0 -2.28305,1.1416 -3.42457,0 -2.28305,0 -12.55678,-5.7076 -12.55678,-5.7076"
+       style="fill:#5f4343;fill-opacity:1;stroke:none" />
+    <path
+       id="path5241"
+       d="m 989.0625,1102.8438 c 0,1.1414 -12.5625,12.5624 -12.5625,12.5624 2e-5,1e-4 -2.29594,1.1416 -3.4375,0 -2.28306,-2.2829 -13.6875,-8 -13.6875,-8 10e-6,1e-4 -2.28125,4.5938 -2.28125,4.5938 10e-6,0 11.40625,5.6875 11.40625,5.6875 -10e-6,10e-5 1.14152,1.1396 0,2.2813 -10e-6,1.1414 -3.40625,3.4374 -3.40625,3.4374 -2e-5,1e-4 -1.16918,1.1416 -4.59375,0 -2.28305,-1.1414 -13.6875,-6.8437 -13.6875,-6.8437 -10e-6,0 -1.125,3.4063 -1.125,3.4063 0,-1e-4 11.40625,5.7187 11.40625,5.7187 10e-6,0 1.125,1.1545 1.125,3.4375 -1.14153,1.1416 -5.6875,3.4062 -5.6875,3.4062 2e-5,1e-4 0.002,2.2832 -2.28125,0 -2.28305,-1.1414 -14.84375,-8 -14.84375,-8 2e-5,1e-4 -2.28125,4.5938 -2.28125,4.5938 -10e-6,0 11.40625,6.8438 11.40625,6.8438 2e-5,0 2.29778,1.1396 1.15625,2.2812 -2.28304,2.2829 -4.59375,4.5625 -4.59375,4.5625 -2e-5,0 -1.1232,1.1416 -3.40625,0 -3.42459,-1.1415 -14.84375,-8 -14.84375,-8 0,0 -2.28125,4.5625 -2.28125,4.5625 3e-5,0 12.5625,5.7188 12.5625,5.7188 -10e-6,0 1.14153,2.2959 0,3.4374 -1.14153,1.1415 -5.71875,4.5626 -5.71875,4.5626 2e-5,0 -2.26473,1.1414 -3.40625,0 -1.14154,-1.1415 -14.84375,-9.1563 -14.84375,-9.1563 -10e-6,0 -2.28125,5.7187 -2.28125,5.7187 -3e-5,0 12.53125,6.8438 12.53125,6.8438 -10e-6,0 1.14152,1.1398 0,2.2812 -1.14153,1.1415 -4.5625,4.5626 -4.5625,4.5626 0,0 -2.2629,2.2829 -5.6875,0 -4.5661,-1.1415 -14.84375,-7.9688 -14.84375,-7.9688 -2e-5,-10e-5 -2.28125,5.6875 -2.28125,5.6875 -10e-6,0 12.5625,6.875 12.5625,6.875 0,0 1.14152,2.2648 0,3.4063 -1.14152,1.1415 -4.59375,4.5624 -4.59375,4.5624 10e-6,0 -2.26293,2.283 -5.6875,0 -3.42462,-1.1416 -16,-9.125 -16,-9.125 2e-5,0 -1.125,6.8438 -1.125,6.8438 -2e-5,-10e-5 11.40625,6.8438 11.40625,6.8438 -2e-5,0 2.28305,1.1544 0,3.4374 -1.14154,1.1416 -5.71875,4.5626 -5.71875,4.5626 10e-6,0 -3.41915,2.2831 -6.84375,0 -3.42455,-1.1415 -13.6875,-9.125 -13.6875,-9.125 -10e-6,0 -2.28125,6.8437 -2.28125,6.8437 -10e-6,0 11.40625,8 11.40625,8 -3e-5,0 2.29778,1.1398 1.15625,2.2813 -1.14151,2.283 -8,6.8437 -8,6.8437 10e-6,0 -2.29415,2.283 -5.71875,0 -3.42456,-2.2831 -14.84375,-9.125 -14.84375,-9.125 3e-5,0 -2.28125,6.8437 -2.28125,6.8437 10e-6,1e-4 12.5625,8 12.5625,8 2e-5,1e-4 1.14152,1.1232 0,3.4063 -2.28303,1.1414 -7.96875,6.8437 -7.96875,6.8437 3e-5,1e-4 -2.29418,2.2831 -5.71875,0 -2.28302,-1.1414 -15.96875,-10.25 -15.96875,-10.25 -10e-6,1e-4 -2.3125,6.8438 -2.3125,6.8438 -3e-5,0 11.4375,7.9688 11.4375,7.9688 10e-6,-1e-4 2.26652,2.2959 1.125,3.4374 -2.28306,2.2831 -9.125,8 -9.125,8 -2e-5,1e-4 -3.42098,2.2831 -4.5625,0 -2.28306,-1.1415 -18.28125,-11.4374 -18.28125,-11.4374 0,-1e-4 -2.28125,8 -2.28125,8 -2e-5,-1e-4 12.5625,8 12.5625,8 -10e-6,-1e-4 2.28304,2.2794 0,4.5624 -2.28309,2.2831 -10.28125,9.125 -10.28125,9.125 0,1e-4 -3.40446,1.1416 -5.6875,0 -2.28305,-2.283 -16,-12.5624 -16,-12.5624 0,-1e-4 -3.40625,10.2812 -3.40625,10.2812 2e-5,0 12.5625,8 12.5625,8 -2e-5,0 2.26832,2.2794 -1.15625,4.5625 -2.28305,2.283 -9.125,8 -9.125,8 -2e-5,0 -3.41918,2.2665 -6.84375,1.125 -2.28308,-2.2831 -16,-13.6875 -16,-13.6875 10e-6,0 -3.40625,11.4062 -3.40625,11.4062 0,0 10.25,8 10.25,8 2e-5,0 4.58082,2.263 1.15625,5.6876 -3.42463,3.4246 -12.5625,9.1562 -12.5625,9.1562 2e-5,10e-5 -2.27763,2.2683 -6.84375,-1.1562 -4.56606,-3.4246 -14.84375,-12.5626 -14.84375,-12.5626 -2e-5,0 -3.40625,14.8438 -3.40625,14.8438 -3e-5,0 -1.15805,1.1398 1.125,2.2812 1.14154,1.1415 20.5625,16 20.5625,16 10e-6,1e-4 3.40446,1.1268 5.6875,-1.1562 -1.14154,3.4245 0.0147,3.421 1.15625,4.5625 1.14155,1.1416 21.6875,17.125 21.6875,17.125 2e-5,0 3.42098,0 4.5625,-2.2813 2.28303,-1.1415 -1.15804,3.4357 1.125,5.7188 3.42459,2.283 22.84375,17.125 22.84375,17.125 10e-6,0 2.27762,2.2701 6.84375,-3.4375 -2.28309,5.7077 -0.002,6.8419 2.28125,9.125 2.28306,1.1416 21.6875,16 21.6875,16 2e-5,0 4.59013,2.2867 9.15625,-4.5625 -4.56609,9.1322 -1.14152,9.1084 0,10.25 1.14155,0 22.82722,16 23.96875,16 -10e-6,1.1414 2.27945,2.2831 4.5625,0 2.28306,-2.2831 29.6875,-33.125 29.6875,-33.125 0,0 -0.0147,-3.4044 -1.15625,-5.6875 2.28306,1.1417 3.42098,1.1416 4.5625,0 1.14153,-2.2829 14.84375,-19.4063 14.84375,-19.4063 0,1e-4 1.14152,-3.4209 0,-4.5624 2.28304,-1e-4 3.43571,2.2683 5.71875,-1.1563 2.28305,-3.4246 21.6875,-26.25 21.6875,-26.25 -10e-6,0 1.14153,-3.4209 0,-4.5625 2.28304,1.1417 3.42097,-1.1562 4.5625,-1.1562 -10e-6,-1.1415 74.1875,-93.5938 74.1875,-93.5938 0,0 1.1415,-1.1545 0,-3.4375 1.1415,1.1415 2.2959,0.016 3.4375,-1.125 1.1415,-1.1416 10.2813,-13.6875 10.2813,-13.6875 0,0 1.125,-1.171 1.125,-2.3125 1.1415,0 1.1396,0.016 2.2812,-1.125 1.1414,-1.1415 5.7188,-6.8437 5.7188,-6.8437 0,0 1.1414,-1.1546 0,-3.4376 2.283,0 2.2646,0.017 3.4062,-1.125 1.1414,-1.1415 4.5625,-5.7187 4.5625,-5.7187 0,0 2.283,-1.1544 0,-3.4375 2.283,1.1416 3.4522,-1.1398 4.5937,-2.2812 0,0 6.8438,-9.125 6.8438,-9.125 0,0 1.125,-1.1379 1.125,-4.5626 -1.1416,-2.2831 -1.125,-5.7168 -1.125,-8 -1.1415,3.4247 -6.8438,10.2813 -6.8438,10.2813 0,0 -0.013,1.1415 -3.4374,0 -2.2831,0 -13.7023,-3.4209 -14.8438,-4.5625 -10e-5,-1.1415 4.5625,-5.7188 4.5625,-5.7188 0,1e-4 0,-6.8418 0,-9.125 -1.1416,2.2832 -18.25,20.5626 -18.25,20.5626 0,0 -1.138,1.1414 -4.5625,0 -2.2831,-1.1415 -13.7188,-3.4376 -13.7188,-3.4376 10e-5,0 -1.1416,-1.125 0,-1.125 10e-5,-1.1416 16,-17.125 16,-17.125 0,0 -1.1562,-5.7168 -1.1562,-8 0,2.2832 -14.8438,14.8438 -14.8438,14.8438 10e-5,-10e-5 -1.1232,2.2665 -3.4062,1.125 -2.2831,-1.1415 -12.5625,-4.5625 -12.5625,-4.5625 10e-6,0 -1.14152,-1.1397 0,-2.2813 1.14154,-2.2829 12.5625,-11.4062 12.5625,-11.4062 0,0 -1.1396,-5.7023 -2.2812,-6.8438 0,2.2832 -6.875,7.9688 -6.875,7.9688 -10e-5,0 -1.1232,0 -3.4063,0 -2.28303,-1.1415 -12.5625,-5.6875 -12.5625,-5.6875 -10e-6,0 -2.28304,-1.1398 0,-2.2813 1.14151,-1.1414 4.5625,-3.4374 4.5625,-3.4374 10e-6,-1e-4 -1.125,-5.717 -1.125,-8 z m -8.84375,15.4687 c 0.99827,0.019 1.96875,0.5313 1.96875,0.5313 -2e-5,-2e-4 7.9982,3.4044 10.28125,5.6874 2.28303,1.1418 2.28125,2.2813 2.28125,2.2813 10e-6,10e-5 -2.27945,2.2959 -4.5625,3.4375 -1.14154,1.1415 -3.40625,0 -3.40625,0 -3e-5,0 -10.27946,-4.5772 -12.5625,-5.7188 -1.14156,2e-4 0,-2.2812 0,-2.2812 0,0 3.42097,-1.1231 4.5625,-3.4062 0.28538,-0.2855 0.62544,-0.4465 1,-0.5 0.14046,-0.02 0.29489,-0.034 0.4375,-0.031 z m -10.5625,9.1563 c 0.14262,-0.012 0.29537,-0.01 0.4375,0 0.94755,0.056 1.84375,0.5 1.84375,0.5 0,-2e-4 10.26472,4.5772 11.40625,5.7187 1.14149,1.1416 1.15625,2.2813 1.15625,2.2813 10e-6,0 -3.45223,2.2795 -4.59375,4.5624 -1.14149,1.1416 -3.40625,0 -3.40625,0 2e-5,0 -11.42098,-5.7187 -12.5625,-5.7187 -2.28305,-1.1416 0,-3.4063 0,-3.4063 0,0 2.27945,-2.2959 4.5625,-3.4374 0.32105,-0.3211 0.72839,-0.4645 1.15625,-0.5 z m -11.40625,9.125 c 0.14262,-0.012 0.29537,-0.01 0.4375,0 0.94756,0.056 1.8125,0.5 1.8125,0.5 -10e-6,-2e-4 10.29598,4.5772 11.4375,5.7187 2.28308,1.1416 1.125,2.2813 1.125,2.2813 -2e-5,0 -3.42098,3.421 -4.5625,4.5624 -1.14153,2.2832 -3.40625,0 -3.40625,0 -2e-5,0 -12.57723,-5.7187 -13.71875,-5.7187 -1.14155,-1.1416 0,-2.2813 0,-2.2813 -2e-5,2e-4 3.43571,-3.4208 5.71875,-4.5624 0.32107,-0.3211 0.72839,-0.4645 1.15625,-0.5 z m 34.96875,0 c 0.19612,-0.012 0.37856,-0.01 0.5625,0 1.22625,0.056 2.125,0.5 2.125,0.5 -10e-6,-2e-4 7.98165,3.421 11.40625,4.5624 3.4246,1.1417 1.1562,3.4376 1.1563,3.4376 0,0 -2.2793,2.2959 -4.5626,3.4374 -1.1413,1.1416 -3.4375,0 -3.4374,0 0,0 -9.12322,-3.4522 -11.4063,-4.5937 -3.42457,-1.1416 -1.15625,-3.4063 -1.15625,-3.4063 2e-5,0 2.29597,-1.1543 3.4375,-3.4374 0.64211,-0.3211 1.28665,-0.4645 1.875,-0.5 z m -8.71875,9.625 c 10e-6,-2e-4 10.24821,3.4356 12.53125,5.7187 2.28302,1.1415 1.15625,2.2813 1.15625,2.2813 10e-6,0 -1.15446,2.2959 -3.4375,3.4374 -2.28304,2.2831 -4.5625,1.125 -4.5625,1.125 10e-6,0 -11.40445,-4.546 -13.6875,-5.6874 -2.28302,-1.1416 0,-2.2813 0,-2.2813 2e-5,0 2.27946,-2.2959 4.5625,-3.4375 1.14152,-1.1415 3.4375,-1.1562 3.4375,-1.1562 z m -38.8125,0.6562 c 0.14262,-0.012 0.29537,-0.01 0.4375,0 0.94755,0.056 1.84375,0.5 1.84375,0.5 -3e-5,0 10.24821,4.5773 12.53125,5.7188 2.28304,1.1414 1.15625,2.2812 1.15625,2.2812 3e-5,-10e-5 -3.42094,4.546 -4.5625,5.6875 -2.28303,1.1416 -4.5625,0 -4.5625,0 2e-5,0 -11.43571,-5.7023 -13.71875,-6.8437 -1.1415,0 0,-2.2813 0,-2.2813 3e-5,0 4.57723,-3.4209 5.71875,-4.5625 0.32106,-0.3211 0.72839,-0.4644 1.15625,-0.5 z m 97.25,4.5625 c 0.1843,-0.012 0.3702,-0.01 0.5625,0 1.282,0.056 2.625,0.5 2.625,0.5 -10e-5,0 10.2795,3.4375 12.5625,3.4375 1.1416,-10e-5 1.125,2.2812 1.125,2.2812 0,0 -1.1232,2.2794 -3.4063,4.5626 -1.1414,1.1414 -3.4374,0 -3.4374,0 0,0 -10.2629,-3.4211 -13.6876,-4.5626 -2.283,0 -1.1562,-2.2812 -1.1562,-2.2812 0,-10e-5 2.2959,-1.1545 3.4375,-3.4375 0.3211,-0.3211 0.8222,-0.4644 1.375,-0.5 z m -31.9063,1.375 c 0.5708,0 0.8438,0.2813 0.8438,0.2813 0,0 10.2795,3.4209 12.5625,4.5624 2.283,0 2.2813,2.2813 2.2813,2.2813 -2e-4,0 -2.2794,2.2648 -4.5626,3.4063 -2.283,2.2829 -4.5625,0 -4.5624,0 0,0 -11.4208,-3.4063 -12.5626,-3.4063 -2.283,-1.1415 -1.1249,-2.2813 -1.125,-2.2813 10e-5,0 2.2795,-2.296 4.5626,-3.4374 1.1415,-1.1416 1.9918,-1.4063 2.5624,-1.4063 z m -40.0937,3.8125 c 1.04538,-0.067 2.125,1.0312 2.125,1.0312 -2e-5,0 11.43571,4.5626 13.71875,4.5626 2.28302,1.1414 0,3.4062 0,3.4062 -3e-5,0 -2.3107,3.4521 -4.59375,4.5938 -1.14154,1.1413 -3.40625,0 -3.40625,0 -2e-5,-2e-4 -11.40445,-4.5773 -13.6875,-5.7188 -2.28306,-1.1416 0,-2.2812 0,-2.2812 -2e-5,0 2.27946,-3.4211 4.5625,-4.5626 0.35674,-0.7133 0.80608,-1.0005 1.28125,-1.0312 z m -38.15625,0.5 c 0.97939,0.019 1.46875,0.5312 1.46875,0.5312 -2e-5,0 11.4357,4.5461 13.71875,5.6876 2.28301,1.1414 1.125,3.4374 1.125,3.4374 10e-6,0 -3.40446,3.4211 -5.6875,4.5626 -1.14154,2.2829 -4.59375,0 -4.59375,0 3e-5,0 -11.40442,-4.5772 -13.6875,-5.7188 -2.28302,-1.1415 0,-3.4062 0,-3.4062 2e-5,0 3.4357,-2.2796 5.71875,-4.5626 0.57077,-0.2853 1.07193,-0.4464 1.5,-0.5 0.16053,-0.02 0.29759,-0.034 0.4375,-0.031 z m 102.24995,4.5625 c 0.9983,0.019 1.9688,0.5313 1.9688,0.5313 0,0 10.2795,2.2647 12.5625,3.4062 2.2831,1.1416 1.125,3.4375 1.125,3.4375 0,0 -1.1398,1.1545 -2.2813,3.4375 -1.1414,1.1415 -4.5624,1.125 -4.5624,1.125 0,-10e-5 -11.4045,-4.5625 -13.6876,-4.5625 -2.2829,-1.1415 0,-2.2813 0,-2.2813 0,0 2.2648,-3.421 3.4063,-4.5624 0.2854,-0.2855 0.6567,-0.4465 1.0313,-0.5 0.1404,-0.02 0.2948,-0.034 0.4374,-0.031 z m -35.18745,1.1563 c 0.15448,-0.012 0.30375,-0.01 0.43745,0 0.8919,0.056 1.3125,0.5 1.3126,0.5 -10e-5,0 9.1379,2.2958 12.5624,3.4374 3.4246,1.1416 2.2813,3.4376 2.2813,3.4376 0,-2e-4 -2.2794,1.1232 -4.5625,3.4062 -1.1415,2.283 -4.5625,1.1562 -4.5625,1.1562 0,0 -10.27946,-3.4374 -12.5625,-3.4374 -3.42456,-1.1416 0,-3.4063 0,-3.4063 10e-6,0 1.15446,-2.3108 3.4375,-4.5937 0.64212,-0.3211 1.19282,-0.4645 1.65625,-0.5 z m -39.625,4.7812 c 0.85614,0 1.4375,0.3125 1.4375,0.3125 3e-5,0 10.27942,4.546 12.5625,5.6875 3.42456,1.1414 1.125,3.4375 1.125,3.4375 -2e-5,0 -2.27946,2.2794 -4.5625,4.5625 -2.28303,1.1415 -4.5625,0 -4.5625,0 2e-5,0 -12.54598,-5.7188 -13.6875,-5.7188 -2.28303,-1.1415 0,-3.4062 0,-3.4062 2e-5,0 2.27946,-1.1544 4.5625,-3.4375 1.14155,-1.1415 2.26886,-1.4375 3.125,-1.4375 z m -41.1875,0.9375 c 0.19905,-0.012 0.37856,-0.01 0.5625,0 1.22624,0.056 2.09375,0.5 2.09375,0.5 10e-6,0 11.42097,5.7021 12.5625,6.8437 2.28302,1.1416 1.15625,3.4376 1.15625,3.4376 2e-5,0 -4.57722,3.4043 -5.71875,5.6874 -2.28306,1.1416 -4.5625,0 -4.5625,0 2e-5,0 -11.40445,-5.6857 -13.6875,-7.9687 -2.28309,-1.1415 0,-2.2813 0,-2.2813 -10e-6,0 4.54598,-3.4356 5.6875,-5.7187 0.64211,-0.3211 1.30911,-0.4644 1.90625,-0.5 z M 1026,1172.1875 c 0.9988,0 1.875,0.3125 1.875,0.3125 0,0 10.2483,2.2646 12.5312,3.4062 3.4248,1.1416 2.3126,3.4376 2.3126,3.4376 0,0 -6.8733,6.842 -9.1563,9.125 -2.2831,3.4245 -4.5625,1.1562 -4.5625,1.1562 0,0 -10.2629,-3.4523 -13.6875,-4.5938 -2.2831,0 -1.1562,-2.2812 -1.1563,-2.2812 10e-5,10e-5 6.8732,-6.8419 9.1563,-9.125 0.5708,-1.1415 1.6887,-1.4375 2.6875,-1.4375 z m -36.65625,1.1563 c 0.57077,0 0.84375,0.2812 0.84375,0.2812 10e-6,-10e-5 12.5774,4.5773 13.7187,5.7188 2.2832,0 1.1251,2.2812 1.125,2.2812 0,0 -2.2795,3.421 -4.5624,4.5625 -1.14164,2.283 -4.56255,0 -4.56255,0 -10e-6,0 -10.29418,-3.4375 -13.71875,-3.4375 -2.28306,-1.1414 0,-3.4062 0,-3.4062 -2e-5,0 2.31071,-2.2794 4.59375,-4.5626 1.14151,-1.1414 1.99173,-1.4375 2.5625,-1.4374 z m -43.4375,6.625 c 0.18425,-0.012 0.3702,-0.01 0.5625,0 1.28198,0.056 2.625,0.5 2.625,0.5 10e-6,0 11.40445,4.5772 13.6875,5.7187 2.28306,1.1415 0,3.4375 0,3.4375 2e-5,0 -3.42098,3.4044 -4.5625,5.6875 -2.28305,1.1415 -4.5625,0 -4.5625,0 0,0 -12.56071,-5.7021 -14.84375,-6.8437 -2.28302,-1.1416 0,-3.4376 0,-3.4376 3e-5,0 3.43571,-2.2795 5.71875,-4.5624 0.32106,-0.3211 0.82224,-0.4645 1.375,-0.5 z m -41.53125,0.625 c 1.41631,-0.068 2.5,1.0312 2.5,1.0312 -3e-5,0 11.40446,5.7023 13.6875,6.8438 2.28308,1.1415 0,3.4374 0,3.4374 3e-5,2e-4 -2.29418,3.4046 -5.71875,5.6876 -2.28305,2.283 -5.6875,0 -5.6875,0 -10e-6,0 -10.27945,-5.7023 -12.5625,-6.8438 -3.4246,-2.2831 -1.15625,-3.4375 -1.15625,-3.4375 2e-5,0 3.41918,-3.4044 6.84375,-5.6875 0.71344,-0.7135 1.44997,-1.0006 2.09375,-1.0312 z m 72.1875,5.7187 c 1.75353,-0.067 3.34375,1 3.34375,1 3e-5,0 10.27945,2.296 12.5625,3.4375 2.28303,2.283 1.15625,4.5625 1.15625,4.5625 2e-5,0 -2.27942,2.2794 -4.5625,4.5625 -2.28305,1.1415 -5.71875,0 -5.71875,0 -3e-5,0 -10.27946,-3.421 -12.5625,-4.5625 -3.42455,-1.1415 -1.125,-3.4063 -1.125,-3.4063 3e-5,2e-4 3.42094,-2.3106 4.5625,-4.5937 0.71345,-0.7134 1.54669,-0.9693 2.34375,-1 z m 34.1875,2.1563 c 1.1415,0 14.8273,2.2924 15.9688,8 2.2829,6.849 -60.49105,82.1674 -71.9063,87.875 -3.42458,2.283 -5.71875,0 -5.71875,0 10e-6,0 -11.41919,-4.5607 -14.84375,-6.8438 -4.56612,-1.1415 -1.125,-4.5625 -1.125,-4.5625 -10e-6,0 71.9209,-79.8898 73.0625,-81.0313 1.1415,-1.1413 2.2794,-3.4374 4.5625,-3.4374 z m -79.1875,4.0624 c 0.19612,-0.012 0.37856,-0.01 0.5625,0 1.22625,0.056 2.125,0.5 2.125,0.5 -2e-5,0 11.41918,4.5772 14.84375,5.7188 2.28306,2.283 1.15625,3.4062 1.15625,3.4062 -10e-6,0 -4.56071,4.5919 -6.84375,6.875 -1.14154,1.1417 -4.59375,0 -4.59375,0 3e-5,2e-4 -13.67098,-6.875 -14.8125,-6.875 -2.28307,-1.1414 0,-3.4062 0,-3.4062 -2e-5,0 3.40446,-3.4356 5.6875,-5.7188 0.6421,-0.3209 1.28664,-0.4644 1.875,-0.5 z m -43.6875,1.7813 c 1.38259,-0.067 3,1 3,1 10e-6,0 10.27945,4.5608 12.5625,6.8437 3.42459,1.1417 2.28125,3.4376 2.28125,3.4376 -2e-5,-2e-4 -4.56071,4.5606 -6.84375,6.8437 -2.28308,2.2829 -5.71875,0 -5.71875,0 3e-5,-10e-5 -11.41918,-6.8585 -14.84375,-8 -2.28306,-1.1415 0,-3.4063 0,-3.4063 2e-5,2e-4 5.71695,-3.4357 8,-5.7187 0.35673,-0.7135 0.93405,-0.9693 1.5625,-1 z m 75.84375,4.5625 c 1.41631,-0.067 2.5,1 2.5,1 2e-5,0 11.41918,3.421 14.84375,4.5625 2.28305,1.1415 1.125,3.4375 1.125,3.4375 -2e-5,0 -4.54598,4.5773 -5.6875,5.7188 -2.28302,1.1413 -5.71875,0 -5.71875,0 2e-5,-2e-4 -10.2629,-3.4211 -13.6875,-4.5626 -3.42456,-1.1413 -1.15625,-3.4374 -1.15625,-3.4374 -3e-5,-2e-4 4.57723,-3.4358 5.71875,-5.7188 0.71346,-0.7135 1.41872,-0.9693 2.0625,-1 z m -46.78125,6.8438 c 1.41631,-0.068 2.46875,1 2.46875,1 -10e-6,0 12.5607,5.7187 14.84375,5.7187 2.28302,1.1414 0,4.5625 0,4.5625 -2e-5,0 -4.54598,4.5772 -5.6875,5.7188 -2.28304,2.2828 -5.71875,1.125 -5.71875,1.125 0,-2e-4 -11.41915,-5.6858 -14.84375,-7.9688 -3.42456,-1.1416 0,-3.4375 0,-3.4375 10e-6,-10e-5 4.5607,-3.4356 6.84375,-5.7187 0.71345,-0.7136 1.44997,-0.9694 2.09375,-1 z M 870.75,1208 c 1.38259,-0.067 3,1.0312 3,1.0312 0,2e-4 12.56071,6.8273 14.84375,7.9688 1.1415,1.1415 0,3.4375 0,3.4375 -2e-5,-10e-5 -5.71695,5.7022 -8,6.8437 -2.28306,2.2832 -4.5625,1.1563 -4.5625,1.1563 2e-5,0 -13.70223,-8.0148 -14.84375,-9.1563 -2.28307,-1.1413 0,-3.4062 0,-3.4062 10e-6,0 5.71696,-4.5608 8,-6.8438 0.35673,-0.7133 0.93405,-1.0005 1.5625,-1.0312 z m 79.8125,5.0625 c 0.99827,0.019 1.96875,0.5313 1.96875,0.5313 2e-5,-2e-4 13.6857,4.546 15.96875,5.6874 2.28304,1.1417 0,3.4376 0,3.4376 -10e-6,-2e-4 -3.43571,3.4357 -5.71875,5.7187 -2.28303,2.283 -4.5625,1.125 -4.5625,1.125 3e-5,-10e-5 -13.68571,-5.7023 -15.96875,-6.8437 -2.28308,-1.1417 0,-2.2813 0,-2.2813 0,-10e-5 4.56071,-4.5607 6.84375,-6.8437 0.28538,-0.2855 0.65669,-0.4465 1.03125,-0.5 0.14046,-0.02 0.29489,-0.034 0.4375,-0.031 z m -49.34375,7.5 c 1.75353,-0.067 3.375,1 3.375,1 0,-10e-5 11.40445,5.7335 13.6875,6.875 2.28305,2.283 0,4.5625 0,4.5625 10e-6,0 -4.57722,4.5607 -5.71875,6.8438 -2.28307,1.1413 -5.6875,0 -5.6875,0 -3e-5,-2e-4 -13.71696,-6.8586 -16,-8 -2.28304,-2.2833 1.15625,-3.4063 1.15625,-3.4063 -10e-6,0 4.5607,-4.592 6.84375,-6.875 0.71344,-0.7135 1.54669,-0.9693 2.34375,-1 z m -48.125,2.9687 c 0.41302,0.011 0.82193,0.099 1.25,0.3126 3.42459,2.2829 14.84375,9.1562 14.84375,9.1562 0,0 2.29777,1.1231 1.15625,3.4062 -2.28306,2.2832 -8,6.8438 -8,6.8438 -10e-6,0 -1.15262,3.4393 -5.71875,1.1562 -3.42458,-1.1414 -15.96875,-9.125 -15.96875,-9.125 2e-5,2e-4 -1.14152,-1.1545 0,-3.4374 2.28307,-1.1418 9.125,-6.8438 9.125,-6.8438 -2e-5,0 1.52274,-1.5158 3.3125,-1.4688 z m 82.46875,4.5313 c 0.70453,-0.033 1.41155,0.09 2.125,0.375 7.99066,3.4246 17.11028,5.6856 15.96875,7.9687 -1.14152,2.2832 -6.84016,11.4081 -11.40625,9.125 -1.14156,2e-4 -19.40804,-5.7004 -17.125,-9.125 0.99888,-0.9986 5.50577,-8.1096 10.4375,-8.3437 z m -52.625,8.4687 c 1.75353,-0.067 3.375,1.0313 3.375,1.0313 2e-5,0 11.41919,5.7022 14.84375,6.8437 2.28304,1.1417 0,4.5626 0,4.5626 -10e-6,-2e-4 -4.56071,5.7022 -6.84375,6.8437 -2.2831,2.2831 -5.71875,1.1563 -5.71875,1.1563 -2e-5,-2e-4 -13.6857,-6.8585 -15.96875,-8 -2.28303,-1.1417 0,-4.5626 0,-4.5626 10e-6,2e-4 5.68571,-4.5606 7.96875,-6.8437 0.71345,-0.7134 1.54669,-1.0006 2.34375,-1.0313 z m -51,4.5938 c 1.38259,-0.067 3,1 3,1 -10e-6,0 13.71695,6.842 16,9.125 1.14153,1.1415 -1.15625,3.4375 -1.15625,3.4375 -3e-5,0 -6.84195,6.8273 -9.125,7.9687 -2.28302,2.2833 -5.71875,0 -5.71875,0 -10e-6,2e-4 -11.41918,-6.8419 -14.84375,-9.125 -3.42456,-2.2829 0,-4.5624 0,-4.5624 0,-2e-4 7.99817,-5.7023 10.28125,-6.8438 0.35672,-0.7134 0.93405,-0.9693 1.5625,-1 z m 87.90625,3 c 0.99883,0 1.84375,0.2812 1.84375,0.2812 10e-6,2e-4 13.71696,5.7023 16,6.8438 1.1415,1.1415 1.125,4.5625 1.125,4.5625 3e-5,0 -5.68571,5.7023 -7.96875,6.8437 -1.1415,2.2833 -5.71875,0 -5.71875,0 2e-5,2e-4 -13.68567,-5.7022 -15.96875,-6.8437 -2.28305,-1.1415 0,-2.2813 0,-2.2813 -10e-6,2e-4 5.68571,-5.7169 7.96875,-8 0.57077,-1.1414 1.71992,-1.4062 2.71875,-1.4062 z m -55.8125,9.5312 c 1.78725,-0.067 2.875,1.0313 2.875,1.0313 -2e-5,0 13.6857,6.8273 15.96875,7.9687 2.28305,1.1418 0,4.5938 0,4.5938 10e-6,10e-5 -5.68567,5.6857 -7.96875,7.9688 -2.28307,2.283 -5.71875,1.1562 -5.71875,1.1562 0,10e-5 -13.68571,-7.9835 -15.96875,-9.125 -3.42459,-2.283 0,-4.5938 0,-4.5938 -2e-5,2e-4 5.68567,-4.5441 7.96875,-7.9687 1.07018,-0.7135 2.03136,-1.0006 2.84375,-1.0313 z m -53.28125,4.5626 c 1.41633,-0.068 2.5,1.0312 2.5,1.0312 -10e-6,0 13.71692,7.9835 16,9.125 1.14154,2.283 0,4.5625 0,4.5625 2e-5,0 -9.15446,7.9835 -11.4375,9.125 -2.28307,2.283 -4.5625,0 -4.5625,0 -10e-6,0 -14.82723,-9.1085 -15.96875,-10.25 -2.28305,-1.1416 0,-3.4375 0,-3.4375 3e-5,0 9.12321,-6.842 11.40625,-9.125 0.71346,-0.7135 1.41872,-1.0006 2.0625,-1.0312 z m 90.21875,3.9374 c 0.24068,-0.012 0.48465,-0.01 0.71875,0 1.56068,0.056 2.90625,0.5 2.90625,0.5 0,2e-4 12.52945,5.7335 14.8125,6.875 3.42456,1.1416 2.28125,3.4063 2.28125,3.4063 10e-6,0 -4.56071,4.5754 -6.84375,8 -3.42457,3.4245 -7.96875,1.125 -7.96875,1.125 -3e-5,0 -12.5754,-5.7022 -16,-6.8437 -2.28304,-1.1416 0,-4.5626 0,-4.5626 10e-6,0 5.71695,-5.7168 8,-8 0.6421,-0.3209 1.37171,-0.4644 2.09375,-0.5 z m -56.84375,10.9063 c 1.75354,-0.067 3.375,1.0313 3.375,1.0313 10e-6,0 13.70223,6.8419 14.84375,9.125 2.28303,1.1414 1.125,3.4374 1.125,3.4374 -3e-5,0 -9.10848,7.9835 -10.25,9.125 -2.28307,2.2831 -4.5625,0 -4.5625,0 -2e-5,0 -15.99821,-7.9834 -18.28125,-9.125 -2.28308,-2.283 1.15625,-3.4374 1.15625,-3.4374 -2e-5,0 6.82543,-6.842 10.25,-9.125 0.71345,-0.7136 1.54669,-1.0006 2.34375,-1.0313 z m -56.8125,5.0625 c 0.99827,0.019 1.96875,0.5312 1.96875,0.5312 0,0 13.71695,9.1398 16,10.2813 3.42459,2.2831 0,4.5625 0,4.5625 3e-5,10e-5 -19.41918,18.263 -22.84375,21.6875 -3.42462,3.4246 -6.84375,0 -6.84375,0 -10e-6,0 -14.85847,-9.1545 -16,-11.4375 -2.28301,-1.1415 0,-3.4062 0,-3.4062 3e-5,0 25.13973,-20.546 26.28125,-21.6876 0.28538,-0.2853 0.62544,-0.4464 1,-0.5 0.14046,-0.02 0.29489,-0.034 0.4375,-0.031 z m 95.875,2.5312 c 1.14152,0 2,0.2813 2,0.2813 3e-5,0 11.38793,5.7022 14.8125,6.8437 4.5661,2.2832 2.28125,4.5626 2.28125,4.5626 -2e-5,0 -6.84192,7.9982 -9.125,10.2812 -1.14149,2.2832 -5.6875,0 -5.6875,0 0,10e-5 -13.70043,-6.8584 -17.125,-8 -3.42458,-1.1415 0,-4.5625 0,-4.5625 -10e-6,0 6.84196,-5.717 9.125,-8 1.14152,-1.1415 2.57723,-1.4062 3.71875,-1.4063 z m 43.375,3.4063 c 1.14153,0 2,0.2813 2,0.2813 0,0 11.40263,5.7169 15.96875,8 3.42459,2.2829 1.15625,4.5624 1.15625,4.5624 0,0 -13.71695,17.1398 -16,18.2813 -2.28306,2.2831 -6.84375,1.125 -6.84375,1.125 0,0 -11.40263,-4.5606 -15.96875,-6.8437 -4.56612,-1.1416 0,-5.7188 0,-5.7188 -3e-5,10e-5 13.6857,-15.967 15.96875,-18.25 1.14152,-1.1415 2.57722,-1.4375 3.71875,-1.4375 z m -104.75,9.5625 c 1.78726,-0.068 2.875,1 2.875,1 -10e-6,0 14.8107,9.1398 17.09375,10.2812 2.28305,2.2831 0,3.4376 0,3.4376 10e-6,-2e-4 -27.37317,25.0918 -29.65625,27.375 -3.4246,2.2828 -6.84375,1.1562 -6.84375,1.1562 3e-5,0 -14.84195,-9.1544 -17.125,-11.4375 -2.28303,-2.283 1.125,-5.6875 1.125,-5.6875 0,0 26.26293,-21.7004 29.6875,-25.125 1.07019,-0.7135 2.03136,-0.9693 2.84375,-1 z m 40.84375,8.25 c 1.24158,0.023 1.96875,0.75 1.96875,0.75 10e-6,10e-5 13.70043,6.8419 17.125,9.125 3.42459,2.283 1.125,3.4375 1.125,3.4375 10e-6,0 -37.65442,38.8108 -39.9375,41.0937 -3.42458,2.2832 -8,0 -8,0 -10e-6,2e-4 -11.41918,-6.8418 -14.84375,-9.125 -4.56609,-2.2828 -1.125,-5.7187 -1.125,-5.7187 2e-5,-10e-5 37.65445,-34.263 39.9375,-37.6875 1.49827,-1.4982 2.78433,-1.8926 3.75,-1.875 z m 34.5,13.4375 c 1.78725,-0.067 2.84375,1 2.84375,1 10e-6,0 13.70044,5.717 17.125,8 3.42459,1.1415 1.15625,4.5625 1.15625,4.5625 10e-6,0 -6.84192,7.9817 -9.125,11.4062 -2.28305,2.2832 -6.875,-1.125 -6.875,-1.125 -2e-5,2e-4 -13.66918,-5.717 -17.09375,-8 -3.42453,-2.2829 0,-3.4062 0,-3.4062 3e-5,0 5.7004,-8.0129 9.125,-11.4375 1.07017,-0.7134 2.03136,-0.9693 2.84375,-1 z m -20.125,23.0937 c 0.92554,0.023 1.28125,0.75 1.28125,0.75 2e-5,2e-4 14.85665,6.8421 18.28125,9.125 4.56609,3.4248 1.125,6.8438 1.125,6.8438 -10e-6,0 -19.40442,19.4191 -21.6875,22.8438 -2.28302,3.4245 -7.96875,1.125 -7.96875,1.125 2e-5,-2e-4 -12.55891,-7.9671 -17.125,-10.25 -4.56608,-2.2832 0,-5.7188 0,-5.7188 10e-6,0 20.52945,-19.4192 22.8125,-22.8438 1.49826,-1.4981 2.56138,-1.8925 3.28125,-1.875 z"
+       style="fill:#5f4343;fill-opacity:1;stroke:none" />
+    <path
+       id="path5329"
+       d="m 996.43321,1078.2021 c 0,0 1.75429,1.8291 1.75429,1.8291 10e-6,1e-4 12.5625,6.8438 12.5625,6.8438 0,0 -0.015,1.1398 -1.1562,2.2812 -1.1416,1e-4 -2.2813,2.2813 -2.2813,2.2813 0,0 -1.1396,1.1415 -2.2813,0 -1.1415,-1.1415 -13.68745,-8 -13.68745,-8 0,0 -1.15625,3.4375 -1.15625,3.4375 10e-6,0 10.2813,5.7188 10.2813,5.7188 0,-1e-4 2.2664,1.1397 1.125,2.2812 -1.1416,1.1415 -3.4063,2.2812 -3.4063,2.2812 10e-6,1e-4 -1.15446,2.2831 -3.4375,0 -2.28304,-1.1414 -12.5625,-5.7187 -12.5625,-5.7187 -2e-5,0 -4.5625,4.5625 -4.5625,4.5625 0,0 11.4375,6.8438 11.4375,6.8438 0,-1e-4 1.125,2.2812 1.125,2.2812 10e-6,0 4.5625,2.2812 4.5625,2.2812 10e-6,1e-4 2.29598,0.017 3.4375,-1.125 10e-6,1.1416 1.13969,2.2813 2.2813,2.2813 2.283,1.1416 8,3.421 8,4.5625 2.2831,2.283 5.6874,3.4375 5.6874,3.4375 10e-5,0 2.2961,1.1415 3.4376,0 0,0 -0.017,1.1398 1.125,2.2813 2.283,1.1415 16,7.9687 16,7.9687 0,10e-5 1.1397,0 2.2812,0 1.1416,-1.1414 4.5625,-5.6875 4.5625,-5.6875 0,0 0,-0.015 0,-1.1562 1.1415,-1e-4 1.1398,0.017 2.2813,-1.125 1.1415,-1e-4 2.2812,-2.2813 2.2812,-2.2813 -10e-5,1.1415 -1.1416,2.2646 0,3.4063 1.1414,1.1414 13.6875,6.8437 13.6875,6.8437 4.5592,-0.3379 0.4467,6.3072 1.5882,5.1657 -10e-5,-10e-5 1.8643,-4.0244 3.0055,-5.1657 2.283,-2.283 3.4063,-1.125 3.4063,-1.125 0,0 10.2795,3.4375 12.5625,3.4375 2.2831,1.1416 0,3.4062 0,3.4062 0,1e-4 0,1.1397 -2.2812,2.2813 -1.1416,2.283 -2.2813,1.1563 -2.2813,1.1563 -1.1415,0 -14.8437,-4.5626 -14.8437,-4.5626 0,0 -3.4376,4.5461 -3.4376,5.6876 1.1415,-1e-4 12.5773,4.5624 13.7188,4.5624 0,2.2832 0,4.5626 0,4.5626 0,-1e-4 4.5625,1.1562 4.5625,1.1562 0,0 1.1397,1.1416 2.2813,0 0,-1.1415 3.4062,-5.7188 3.4062,-5.7188 -10e-5,1e-4 1.1416,-1.1397 0,-2.2812 1.1415,1.1415 2.296,-1.125 3.4375,-1.125 0,-1.1417 3.4375,-4.5625 3.4375,-4.5625 0,0 0,-1.1545 0,-3.4375 1.1415,0 1.1398,1.1415 2.2812,0 0,-1.1416 3.4063,-5.7188 3.4063,-5.7188 0,1e-4 0,0 0,-2.2812 0,-2.283 0,-6.8438 0,-6.8438 0,1e-4 -2.2813,3.4376 -2.2813,3.4376 1e-4,-1e-4 -1.1232,1.1416 -3.4062,0 -1.1415,-1e-4 -9.6865,-1.4962 -11.5258,-2.6746 -1.8392,-1.1784 4.9339,-5.5365 4.9339,-5.5365 -1.5289,-2.2482 -12.18,13.0253 -12.18,13.0253 0,0 3.2725,-2.7532 6.0024,-5.7913 2.0445,-2.2754 11.6133,3.2583 11.6133,3.2583 -1e-4,0 1.1414,1.1398 0,2.2812 -1.1417,1.1416 -1.125,3.4063 -1.125,3.4063 0,10e-5 -1.1545,1.1415 -3.4376,0 -3.4246,10e-5 -12.5624,-3.4063 -12.5624,-3.4063 0,1e-4 -2.2813,-1.1562 -2.2813,-1.1562 0,0 0,-9.125 0,-9.125 0,0 -2.2648,4.5625 -3.4063,4.5625 -2.2831,10e-5 -14.8585,-3.421 -16,-4.5625 -1.1415,0 3.4376,-4.5625 3.4376,-4.5625 0,10e-5 15.0012,5.1873 16.1427,5.1873 1.1415,10e-5 -15.0158,-6.2196 -15.0158,-6.2196 0,10e-5 3.4355,-8.0927 3.4355,-8.0927 0,10e-5 -3.4374,3.4063 -3.4374,3.4063 0,-1e-4 0,1.1414 -2.2813,0 -1.1416,-1.1417 -11.4063,-4.5626 -11.4063,-4.5626 0,1e-4 -1.1562,-1.125 -1.1562,-1.125 0,1e-4 1.1562,-1.1562 1.1562,-1.1562 0,0 -1.1562,-5.6875 -1.1562,-5.6875 0,10e-5 -3.4062,3.4063 -3.4062,3.4063 0,-1e-4 -1.1398,1.1414 -2.2813,0 0,-1.1417 -12.5625,-6.8438 -12.5625,-6.8438 0,0 -1.1562,-4.5625 -1.1562,-4.5625 0,0 -3.4063,2.2813 -3.4063,2.2813 0,-1e-4 -1.1544,1.1414 -3.4375,0 -1.1415,-1.1417 -15.44179,-6.3917 -15.44179,-6.3917 z m 22.28559,10.9541 c 0,2e-4 8.0146,4.5773 9.1562,5.7188 2.283,1.1415 2.2812,2.2812 2.2812,2.2812 0,2e-4 -2.2959,1.1398 -3.4374,2.2813 -1.1417,2.2831 -3.4063,1.125 -3.4063,1.125 0,0 -6.8565,-4.546 -10.2813,-5.6875 -2.2829,-1.1415 -1.1562,-2.2812 -1.1562,-2.2812 0,-2e-4 2.296,-1.1398 3.4375,-2.2813 1.1415,-1.1414 3.4062,-1.1563 3.4063,-1.1563 z m -10.9063,6.3438 c 0.1516,-0.012 0.3037,-0.01 0.4375,0 0.8918,0.056 1.3437,0.5 1.3438,0.5 0,0 9.1397,4.5773 10.2812,5.7188 2.2831,1.1414 1.125,2.2812 1.125,2.2812 0,0 -1.1233,1.1232 -3.4062,3.4062 -1.1415,1.1417 -3.4375,0 -3.4376,0 10e-5,2e-4 -10.2647,-4.5459 -11.4062,-5.6874 -2.283,-2.2832 0,-2.2813 0,-2.2813 0,10e-5 1.1544,-2.296 3.4375,-3.4375 0.6421,-0.3211 1.1703,-0.4644 1.625,-0.5 z m 28.8125,3.9375 c 0.2319,-0.018 0.375,0 0.375,0 0,10e-5 7.9981,3.421 10.2812,4.5625 1.1416,1.1415 1.125,3.4062 1.125,3.4062 0,2e-4 -1.1397,0.015 -2.2812,1.1563 -2.2832,2.2831 -4.5625,1.1563 -4.5625,1.1563 0,-2e-4 -9.1232,-3.4522 -11.4063,-4.5938 -2.2829,-1.1415 0,-2.2812 0,-2.2812 0,-2e-4 2.2648,-1.1398 3.4063,-2.2813 0.8561,-0.8562 2.3669,-1.0715 3.0625,-1.125 z m -9.9062,7.4687 c 0.1396,-0.012 0.2953,-0.01 0.4374,0 0.9477,0.056 1.8438,0.5 1.8438,0.5 0,2e-4 9.1398,3.4522 10.2812,4.5938 2.2832,1.1415 1.125,2.2812 1.125,2.2812 2e-4,2e-4 -2.2646,1.1397 -3.4062,2.2813 -1.1415,2.283 -3.4375,0 -3.4375,0 0,0 -7.9816,-3.421 -11.4063,-4.5625 -2.283,-1.1416 10e-5,-2.2812 0,-2.2812 0,-2e-4 2.2961,-1.1711 3.4376,-2.3126 0.3209,-0.3209 0.7059,-0.4644 1.125,-0.5 z"
+       style="fill:#5f4343;fill-opacity:1;stroke:none"
+       sodipodi:nodetypes="cccccscccscccccccccccccccccccscssccccccccccccscccccscccsccscscccccsccsccccccccccccccccccccccsccscccssscscccccscscsccsccccccssc" />
+    <path
+       id="path5341"
+       d="m 1032.4375,1053.7812 c 0,0 0,2.2813 0,2.2813 0,0 9.125,4.5625 9.125,4.5625 0,0 1.1563,1.1397 1.1563,2.2812 -1.1415,0 -2.3126,1.125 -2.3126,1.125 1e-4,0 0,0 -2.2812,0 -2.2831,-1.1415 -11.4062,-5.6874 -11.4062,-5.6874 -1e-4,0 -1.125,2.2812 -1.125,2.2812 0,0 9.125,4.5625 9.125,4.5625 0,0 2.2664,1.1397 1.125,2.2813 -1.1416,1.1415 -2.2813,2.2812 -2.2813,2.2812 0,0 -1.1232,1.1415 -3.4063,0 -1.1415,-1.1416 -11.4374,-5.7188 -11.4374,-5.7188 0,0 0,2.2813 0,2.2813 0,0 9.1562,4.5937 9.1562,4.5937 0,1e-4 2.2665,1.1398 1.125,2.2813 -1.1415,1.1416 -2.2812,2.2813 -2.2812,2.2813 -1e-4,-1e-4 -2.2648,0 -3.4063,0 -2.2831,-1.1416 -11.4375,-6.8438 -11.4375,-6.8438 0,0 -3.4062,6.8438 -3.4062,6.8438 0,-1e-4 7.9669,4.546 10.25,5.6874 1.1415,1.1415 4.5937,3.4376 4.5937,3.4376 0,-1e-4 1.125,-1.1563 1.125,-1.1563 0,0 1.1398,-1.1415 2.2813,0 1.1415,1.1416 11.4062,5.7187 11.4062,5.7187 0,1e-4 1.1415,1.1398 0,2.2813 2.283,1.1415 3.4375,1.1563 3.4375,1.1563 0,-1e-4 1.1398,1.1268 2.2813,-1.1563 0,2.2831 0.015,2.2813 1.1562,2.2813 1.1415,1.1414 10.2648,4.5772 11.4062,5.7187 0,10e-5 3.4063,2.2813 3.4063,2.2813 0,-1e-4 0.8733,0.8455 1.8437,-0.4063 -0.2316,0.8449 0.4376,1.5313 0.4376,1.5313 0,-1e-4 14.8437,8 14.8437,8 0,-1e-4 2.4929,-0.8258 3.2187,-1.7813 -0.5808,1.7789 1.3438,1.7813 1.3438,1.7813 -10e-5,-1e-4 10.2812,3.4374 10.2812,3.4374 1e-4,1e-4 2.2813,-0.016 2.2813,1.125 0,2.2832 0,3.4376 0,3.4376 0,-1e-4 2.2813,1.125 2.2813,1.125 -1e-4,-1e-4 1.1397,1.1581 2.2812,-1.125 1.1415,-1.1416 8,-10.2813 8,-10.2813 0,10e-5 1.1562,-1.1398 1.1562,-2.2813 1e-4,1.1416 1.1397,-0.015 2.2813,-1.1562 10e-5,0 2.2813,-3.4062 2.2813,-3.4062 -1e-4,-1e-4 0,-1.1398 0,-2.2813 1.1414,1.1416 2.2812,0 2.2812,0 1.1415,-1.1414 2.2812,-2.296 2.2812,-3.4375 1e-4,-2.283 0,-8 0,-8 1e-4,0 -2.2812,1.1562 -2.2812,1.1562 0,1e-4 0,1.1415 -2.2812,0 -1.1416,1e-4 -29.6876,-9.125 -29.6876,-9.125 0,1e-4 0,-1.1562 0,-1.1562 0,-1.1415 0,-1.125 0,-1.125 0,0 0,-4.5625 0,-4.5625 0,0 -2.2812,1.125 -2.2812,1.125 0,0 -1.1398,1.1563 -2.2812,1.1563 -1.1416,-1.1416 -27.4063,-11.4376 -27.4063,-11.4376 0,0 -1.1416,-1.125 0,-1.125 0,-1.1415 -1.125,0 -1.125,0 0,0 -1.1563,-5.7187 -1.1563,-5.7187 0,0 -2.2812,1.1563 -2.2812,1.1563 -10e-5,0 0,1.1414 -2.2812,0 -1.1415,0 -11.4063,-4.5626 -11.4063,-4.5626 z m 14.5,10.875 c 0.1431,-0.01 0.2767,0.011 0.4063,0.031 1.5143,0.2436 3.0593,0.9756 4.4374,1.75 2.2956,1.2899 8.1091,1.352 7.3438,3.75 -0.4274,1.3393 -3.1814,3.4295 -4.875,2.6875 -2.9708,-1.3016 -5.9217,-3.1706 -9.125,-3.9375 -3.7088,-0.888 -0.3336,-4.153 1.8125,-4.2813 z m -6.75,4.5938 c 0.1067,-0.012 0.2115,-0.01 0.3125,0 2.1854,0.1729 4.5292,1.6622 6.6875,2.7188 1.7885,0.8756 7.0484,1.8489 4.5,4.7812 -2.6942,3.1001 -4.9473,1.0023 -7.4375,-0.25 -2.4903,-1.2523 -7.6472,-1.121 -7.75,-3.4062 -0.061,-1.3642 2.0875,-3.6678 3.6875,-3.8438 z m 24.5313,3.4062 c 3.135,-0.181 5.7528,2.9029 8.8437,3.2813 4.7632,0.5831 1.709,5.6486 -1.0313,5.5 -3.1145,-0.1689 -5.9514,-2.7015 -9.0937,-3.0313 -4.9831,-0.5228 -2.0245,-4.8267 0.8437,-5.7187 0,0 0.4376,-0.031 0.4376,-0.031 z m -31.1876,2.5626 c 0.4059,0.018 0.8322,0.1295 1.1876,0.25 2.8864,0.9782 5.5539,2.8687 8.5,3.7187 4.39,1.2666 0.668,6.2885 -1.7188,5.9063 -3.4682,-0.5554 -6.7382,-3.3346 -10.25,-4.5313 -3.9168,-1.3348 -0.5444,-3.9827 1.1875,-5.0937 0.3026,-0.1942 0.6879,-0.2685 1.0937,-0.25 z m 25,3.375 c 2.7119,-0.1165 5.3251,2.3977 8.1563,2.9062 2.5246,0.4534 5.1522,1.4808 2.8437,4.1562 -2.44,2.828 -5.4778,2.2403 -8.2812,0.5 -2.3712,-1.4719 -7.2155,-1.838 -7.4062,-4.2812 -0.1156,-1.4802 3.0044,-3.2089 4.6874,-3.2812 z M 1081.125,1080 c 1.6161,-0.071 3.4869,0.8546 5.0625,1.75 2.3345,1.3267 7.6074,1.2983 7.4063,3.625 -0.1199,1.3867 -2.2066,3.3749 -4.0938,3.0312 -3.366,-0.6128 -6.5292,-2.4262 -9.9062,-3.0312 -3.6566,-0.6551 -1.6553,-3.9335 0.031,-4.9375 0.4656,-0.2772 0.9613,-0.4138 1.5,-0.4375 z m -30.125,4.0625 c 3.52,-0.2033 6.5985,2.7821 10.0312,3.4687 4.4432,0.8887 2.5162,6.3853 -1.0312,5.5626 -3.5586,-0.8255 -6.8109,-3.3234 -10.5,-3.7813 -4.359,-0.5411 -1.4036,-4.5171 1.0625,-5.2187 0,0 0.4375,-0.031 0.4375,-0.031 z m 24.375,2.3125 c 3.484,0.2314 7.1443,2.2076 10.7188,2.7812 4.2477,0.6818 1.5611,5.693 -1.2188,5.0626 -3.3481,-0.7593 -6.7659,-2.5707 -10.25,-2.6876 -4.6488,-0.1558 -1.3613,-5.2964 0.75,-5.1562 z m 26.25,1.5312 c 0.159,0.01 0.3016,0.047 0.4375,0.094 3.4825,1.1963 8.7418,1.8557 10.4063,4.4062 1.5228,2.3337 -4.192,4.401 -6.9063,3.1563 -2.7477,-1.26 -6.3887,-0.5186 -8.7187,-2.25 -2.275,-1.6904 2.3962,-5.5491 4.7812,-5.4063 z m -31.3438,4.5938 c 0.3405,-0.035 0.6569,6e-4 0.9688,0.094 3.1728,0.9482 6.2433,2.7944 9.5,3.1874 2.8926,0.3491 1.6663,1.7373 0.3438,3.375 -1.7361,2.1499 -4.2301,1.3607 -6.6563,0.625 -2.937,-0.8903 -7.3865,-1.2683 -8.7187,-3.125 -0.6351,-0.885 2.1796,-3.914 4.5624,-4.1562 z m 23.1563,2.0312 c 0,0 0.2264,0.049 0.3125,0.094 0.1066,0.056 0.3125,0.25 0.3125,0.25 2.6649,2.0969 6.6322,1.4252 9.9687,1.9375 3.7146,0.5703 2.9883,4.3818 0.2813,6.0625 -2.4697,1.5334 -3.7411,5.5719 -6.4687,6 -3.4422,0.5403 -7.0547,-2.0774 -10.5938,-2.8125 -4.2034,-0.8731 -2.2665,-3.8985 0.062,-5.5937 2.2838,-1.6622 3.9073,-4.3793 6.125,-5.9376 z"
+       style="fill:#5f4343;fill-opacity:1;stroke:none" />
+  </g>
+  <path
+     style="fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     id="path5365"
+     d="" />
+  <!-- EMR_SETBKCOLOR -->
+  <path
+     style="fill:#e00a0e;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.03543307px;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
+     id="path5379"
+     d="" />
+  <path
+     style="fill:none;stroke:#ffffff;stroke-width:0.03543307px;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
+     d=""
+     id="path5393" />
+  <!-- EMR_SETBKCOLOR -->
+  <path
+     style="fill:none;stroke:#ffffff;stroke-width:1.41732287px;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
+     d=""
+     id="path5397" />
+  <!-- EMR_SETBKCOLOR -->
+  <!-- EMR_SETBKCOLOR -->
+  <!-- EMR_SETBKCOLOR -->
+  <!-- EMR_SETBKCOLOR -->
+  <path
+     style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.88582677px;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
+     id="path5413"
+     d="" />
+  <path
+     style="fill:none;stroke:#ffffff;stroke-width:0.88582677px;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
+     d=""
+     id="path5423" />
+  <!-- EMR_SETBKCOLOR -->
+  <path
+     style="fill:none;stroke:none"
+     d=""
+     id="path5433" />
+  <!-- EMR_SETBKCOLOR -->
+  <path
+     style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.10629921px;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
+     id="path5439"
+     d="" />
+  <path
+     style="fill:none;stroke:#ffffff;stroke-width:0.10629921px;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
+     d=""
+     id="path5445" />
+  <!-- EMR_SETBKCOLOR -->
+  <path
+     style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.10629921px;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
+     id="path5451"
+     d="" />
+  <path
+     style="fill:none;stroke:#ffffff;stroke-width:0.10629921px;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
+     d=""
+     id="path5457" />
+  <path
+     style="fill:#82dd82;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="m 562.95051,311.07906 -8.20912,-13.48641 c 0,0 -7.02559,4.4238 -9.38186,7.0364 -0.68696,0.76169 -1.7591,2.93182 -1.7591,2.93182 l 7.62276,10.84778 c 0,0 2.35405,0.55873 3.5182,-0.29319 1.98869,-1.45531 8.20912,-7.0364 8.20912,-7.0364 z"
+     id="path2421"
+     sodipodi:nodetypes="ccsccsc" />
+  <path
+     id="path3193"
+     d="m 548.12942,320.89154 -8.72397,-11.08723 c 0,0 -4.2646,2.2353 -5.63607,3.72826 -1.54143,1.67797 -3.63889,6.66655 -3.63889,6.66655 l 7.66457,7.02896 c 0,0 2.86994,0.36904 3.96645,-0.094 2.46448,-1.04073 6.36791,-6.24254 6.36791,-6.24254 z"
+     style="fill:#dd8282;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     inkscape:transform-center-y="6.743208"
+     sodipodi:nodetypes="ccsccsc" />
+  <path
+     sodipodi:nodetypes="ccsccsc"
+     id="path3195"
+     d="m 534.80495,332.18823 -8.50231,-11.14094 c 0,0 -2.92103,0.31923 -5.2773,2.93183 -0.68696,0.7617 -3.5182,3.81138 -3.5182,3.81138 l 7.62277,9.38185 c 0,0 3.23359,1.1451 4.39774,0.29318 1.98869,-1.45531 5.2773,-5.2773 5.2773,-5.2773 z"
+     style="fill:#f2fa66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+  <path
+     style="fill:#6766fa;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="m 522.09443,342.55737 -7.36808,-11.24867 c 0,0 -4.15725,0.48942 -6.22792,2.98144 -0.60369,0.72655 -3.30497,4.84879 -3.30497,4.84879 l 6.69879,10.34711 c 0,0 4.64517,-1.70427 5.6682,-2.51686 1.74764,-1.38816 4.53398,-4.41181 4.53398,-4.41181 z"
+     id="path3197"
+     sodipodi:nodetypes="ccsccsc" />
+  <path
+     sodipodi:nodetypes="csscssc"
+     id="path3199"
+     d="m 502.98724,356.81075 c 0,0 -6.15329,-7.8654 -6.71213,-8.39073 -2.12774,-2.00018 -3.15592,-1.10569 -7.22338,2.25021 -2.15469,1.77774 -1.04936,3.01483 -1.04936,3.01483 0,0 6.29388,9.74911 7.53386,9.96574 1.10444,0.19295 5.51695,-3.97211 6.2754,-4.67985 1.29566,-1.20904 1.17561,-2.1602 1.17561,-2.1602 z"
+     style="fill:#faab66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+  <path
+     sodipodi:nodetypes="ccsccss"
+     id="path3201"
+     d="m 554.45074,277.9667 c 0.30244,-1.5732 -10.73457,-16.03165 -10.73457,-16.03165 0,0 -6.34815,5.12268 -8.47722,8.14802 -0.62072,0.88203 -1.58948,3.395 -1.58948,3.395 l 8.96086,12.14692 c 0,0 4.20018,-1.2188 5.25207,-2.20531 1.79694,-1.68523 6.20869,-3.4782 6.58834,-5.45298 z"
+     style="fill:#82dd82;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+  <path
+     sodipodi:nodetypes="ccsccsc"
+     inkscape:transform-center-y="7.7231055"
+     style="fill:#dd8282;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="m 537.95297,289.50333 -8.69279,-13.06165 c 0,0 -4.61199,2.34582 -6.13186,3.9831 -1.7082,1.84017 -4.16076,7.4296 -4.16076,7.4296 l 7.76566,8.38254 c 0,0 3.01497,0.55791 4.19552,0.0821 2.65334,-1.06932 7.02423,-6.81574 7.02423,-6.81574 z"
+     id="path3203"
+     inkscape:transform-center-x="0.41226172" />
+  <path
+     style="fill:#f2fa66;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="m 524.85399,302.95511 -9.4194,-12.79725 c 0,0 -3.23609,0.36669 -5.84652,3.3677 -0.76106,0.87493 -3.89769,4.378 -3.89769,4.378 l 8.44498,10.77665 c 0,0 3.58239,1.31534 4.8721,0.33677 2.2032,-1.67167 5.84653,-6.06187 5.84653,-6.06187 z"
+     id="path3205"
+     sodipodi:nodetypes="ccsccsc" />
+  <path
+     sodipodi:nodetypes="ccsccsc"
+     id="path3207"
+     d="m 511.52154,313.52352 -7.7296,-12.27501 c 0,0 -4.36123,0.53408 -6.53349,3.25348 -0.63332,0.79283 -3.46713,5.29118 -3.46713,5.29118 l 7.02747,11.29117 c 0,0 4.87308,-1.85976 5.94631,-2.7465 1.83339,-1.51481 4.75644,-4.81432 4.75644,-4.81432 z"
+     style="fill:#6766fa;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+  <path
+     style="fill:#faab66;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="m 499.46263,323.17222 c 0,0 -6.82155,-8.16565 -7.44109,-8.71104 -2.35882,-2.07652 -3.49865,-1.1479 -8.00785,2.33611 -2.38869,1.84561 -1.16333,3.12992 -1.16333,3.12992 0,0 6.97742,10.12127 8.35206,10.34616 1.22438,0.20031 6.1161,-4.12373 6.95693,-4.85849 1.43636,-1.25519 1.30328,-2.24266 1.30328,-2.24266 z"
+     id="path3209"
+     sodipodi:nodetypes="csscssc" />
+  <path
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="m 399.72127,346.37536 c 0.30246,-1.5732 -9.69801,-6.49532 -9.69801,-6.49532 0,0 -13.17637,16.5185 -13.17637,16.5185 l 4.60732,3.23252 c 0,0 4.20018,3.54936 5.25207,2.56285 1.79694,-1.68523 12.63534,-13.84377 13.01499,-15.81855 z"
+     id="path3223"
+     sodipodi:nodetypes="ccccss" />
+  <path
+     sodipodi:nodetypes="ccccss"
+     id="path3225"
+     d="m 408.42921,360.39904 c 0.26409,-1.25413 -8.26055,-6.62911 -8.26055,-6.62911 -2.73905,1.7119 -12.71136,13.35206 -11.09039,12.33895 l 4.64484,4.02807 c 0,0 3.25278,3.03679 4.17125,2.25037 1.569,-1.34343 10.20336,-10.41403 10.53485,-11.98828 z"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+  <text
+     xml:space="preserve"
+     style="font-size:5.19999981px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Goblin;-inkscape-font-specification:Goblin"
+     x="16.636446"
+     y="-520.85742"
+     id="text3227"
+     transform="matrix(-0.6328411,0.7742817,-0.7742817,-0.6328411,0,0)"
+     inkscape:transform-center-x="160.30374"
+     inkscape:transform-center-y="104.4831"><tspan
+       sodipodi:role="line"
+       id="tspan3229"
+       x="16.636446"
+       y="-520.85742">PICK</tspan></text>
+  <text
+     inkscape:transform-center-y="100.81871"
+     inkscape:transform-center-x="143.0233"
+     transform="matrix(-0.6612382,0.7410299,-0.8090256,-0.6056635,0,0)"
+     id="text3231"
+     y="-533.45447"
+     x="43.743084"
+     style="font-size:4.69999981px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Goblin;-inkscape-font-specification:Goblin"
+     xml:space="preserve"><tspan
+       y="-533.45447"
+       x="43.743084"
+       id="tspan3233"
+       sodipodi:role="line"
+       style="font-size:4.69999981px">PICK</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:start;opacity:0.95;fill:#ffffff;fill-opacity:0.95;fill-rule:nonzero;stroke:#000000;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Goblin;-inkscape-font-specification:Goblin"
+     x="548.48071"
+     y="373.84677"
+     id="text3235"><tspan
+       sodipodi:role="line"
+       x="548.48071"
+       y="373.84677"
+       id="tspan3239"
+       style="font-size:22px;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.89999998;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">Guitar</tspan></text>
+  <path
+     style="fill:none;stroke:#000000;stroke-width:1.98199999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 553.04176,309.95795 8.49977,38.14534"
+     id="path3259" />
+  <text
+     xml:space="preserve"
+     style="font-size:48.68118668px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.01400006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Goblin;-inkscape-font-specification:Goblin Bold"
+     x="551.75928"
+     y="155.65428"
+     id="text3263"
+     transform="scale(0.89213371,1.1209082)"><tspan
+       sodipodi:role="line"
+       id="tspan3265"
+       x="551.75928"
+       y="155.65428"
+       style="text-align:center;text-anchor:middle;stroke-width:1.01400006;stroke-miterlimit:4;stroke-dasharray:none">PICK UP YOUR</tspan><tspan
+       sodipodi:role="line"
+       x="551.75928"
+       y="216.50577"
+       id="tspan3267"
+       style="text-align:center;text-anchor:middle;stroke-width:1.01400006;stroke-miterlimit:4;stroke-dasharray:none">INSTRUMENTS</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Goblin"
+     x="370.25256"
+     y="559.18805"
+     id="text2867"><tspan
+       sodipodi:role="line"
+       id="tspan2869"
+       x="370.25256"
+       y="559.18805" /></text>
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     d="m 360.74551,386.80657 c -1.19397,-0.89713 -2.54012,-1.74835 -2.99146,-1.8916 -1.08508,-0.34439 -1.03628,-1.15017 0.15341,-2.53328 l 0.97403,-1.13238 2.64981,1.36391 c 2.83946,1.46152 4.51349,2.77696 4.51349,3.54665 0,0.66336 -1.78807,2.27784 -2.52275,2.27784 -0.33313,0 -1.58256,-0.73401 -2.77653,-1.63114 z"
+     id="path2875" />
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 370.62087,395.43097 c -3.22309,-2.56854 -3.81154,-3.60509 -2.86593,-5.04826 0.35169,-0.53675 0.81425,-0.97591 1.02792,-0.97591 0.21367,0 1.38962,0.81543 2.61322,1.81207 1.2236,0.99664 2.67521,2.04957 3.2258,2.33984 0.55059,0.29028 1.12724,0.72182 1.28145,0.95898 0.54105,0.83211 -1.17766,3.17217 -2.32987,3.17217 -0.0649,0 -1.3936,-1.0165 -2.95259,-2.25889 l 0,0 z"
+     id="path3649" />
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 380.38571,404.40249 c -3.20987,-2.76047 -3.42843,-3.08387 -2.94444,-4.35688 0.51822,-1.36302 1.52694,-2.12334 2.26217,-1.70511 0.9779,0.55627 6.06626,5.48681 6.06626,5.87812 0,0.61088 -1.68951,2.54236 -2.20437,2.52008 -0.26819,-0.0116 -1.69902,-1.0629 -3.17962,-2.33621 z"
+     id="path3651" />
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 378.48847,410.78489 c -2.10831,-1.23484 -5.55751,-4.64178 -5.55751,-5.48942 0,-0.80629 1.13781,-2.26304 1.76757,-2.26304 0.13905,0 1.07806,0.69888 2.0867,1.55307 1.00863,0.85419 2.41773,1.87055 3.13133,2.25858 1.55065,0.84318 1.6684,1.93823 0.36561,3.40003 -0.80453,0.90273 -1.04959,0.97661 -1.7937,0.54078 l 0,0 z"
+     id="path3653" />
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 372.51681,412.71693 c -1.02503,-0.78856 -2.40471,-1.8514 -3.06595,-2.36186 -1.04524,-0.80689 -1.13995,-1.04452 -0.72521,-1.81948 0.9497,-1.77453 1.90248,-1.56269 5.22082,1.16084 1.71931,1.41112 3.12602,2.69654 3.12602,2.85648 0,0.50756 -1.49118,1.66292 -2.10338,1.6297 -0.32374,-0.0176 -1.42727,-0.67712 -2.4523,-1.46568 z"
+     id="path3655" />
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 367.3399,400.29561 c -0.68335,-0.57774 -1.94134,-1.50522 -2.79553,-2.06107 -0.95393,-0.62075 -1.55308,-1.33544 -1.55308,-1.85257 0,-1.04923 1.91518,-3.02338 2.65692,-2.73874 0.30213,0.11593 1.78479,1.19549 3.29481,2.399 2.92038,2.32761 3.37578,3.39234 1.9881,4.64817 -1.05341,0.95332 -2.13763,0.83413 -3.59122,-0.39479 z"
+     id="path3657" />
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 361.99013,403.57514 c -1.49942,-1.29601 -2.72621,-2.59019 -2.72621,-2.87598 0,-0.28579 0.41933,-0.999 0.93184,-1.58492 l 0.93185,-1.0653 1.24245,0.83189 c 3.28091,2.19676 4.98041,3.66556 5.08966,4.39878 0.13461,0.90344 -1.29776,2.65189 -2.17251,2.65189 -0.31398,0 -1.79767,-1.06036 -3.29708,-2.35636 z"
+     id="path3659" />
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 359.02616,392.79149 c -5.76907,-3.32651 -6.087,-3.59781 -5.71355,-4.87564 0.57014,-1.9509 1.14184,-2.01574 3.6465,-0.41353 1.30097,0.83222 2.91087,1.70328 3.57756,1.93569 1.42124,0.49544 1.62273,1.82003 0.4874,3.20406 -0.70702,0.86189 -0.75595,0.86555 -1.99791,0.14942 l 0,0 z"
+     id="path3661" />
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 353.67286,396.39555 c -1.13892,-0.88756 -2.51443,-1.95668 -3.05669,-2.37582 -1.14288,-0.8834 -0.94747,-2.29548 0.41885,-3.02671 0.69226,-0.37049 1.3598,-0.0858 4.11348,1.75422 1.80791,1.20806 3.28711,2.48402 3.28711,2.83546 0,0.99051 -1.21099,2.48288 -1.99071,2.45325 -0.3857,-0.0147 -1.63312,-0.75284 -2.77204,-1.6404 z"
+     id="path3663" />
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 360.12694,366.73155 c -0.9816,-0.52048 -2.1175,-1.40631 -3.47163,-2.70734 -1.38142,-1.32726 -1.53551,-1.79814 -0.9278,-2.83513 0.44544,-0.76007 0.80927,-1.86128 0.81159,-2.45641 0.003,-0.71239 1.00881,-0.8234 1.75842,-0.19403 0.12095,0.10155 0.54937,0.30354 0.95203,0.44887 0.86793,0.31326 2.64584,1.35 4.72801,2.75703 l 1.50664,1.01812 -0.85332,0.89702 c -0.46933,0.49335 -1.33562,1.47356 -1.92508,2.17823 -1.22451,1.46382 -1.39325,1.52229 -2.57886,0.89364 z"
+     id="path3687" />
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 355.4425,370.31734 c -1.36907,-0.95524 -2.75279,-1.86401 -3.07493,-2.01948 -0.32213,-0.15547 -0.70921,-0.41947 -0.86018,-0.58667 -0.2708,-0.29993 -0.26334,-0.32367 0.55691,-1.77235 0.93375,-1.64914 1.25184,-1.86666 2.05215,-1.40335 0.24612,0.14249 1.13936,0.55408 1.98496,0.91465 1.90586,0.81266 4.07231,1.99429 4.68885,2.55742 0.56732,0.51816 0.51857,0.89655 -0.24207,1.87901 -0.60528,0.78178 -2.19575,2.20245 -2.44277,2.18197 -0.0955,-0.008 -1.29384,-0.79596 -2.66292,-1.7512 z"
+     id="path3689" />
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 366.7167,360.77495 c -0.855,-0.67758 -4.36154,-2.85332 -5.63683,-3.49754 -1.25696,-0.63497 -1.46425,-0.85418 -1.46425,-1.54846 0,-0.74305 1.08272,-2.73437 1.69122,-3.11044 0.26952,-0.16657 0.52806,-0.42268 0.57454,-0.56912 0.0465,-0.14645 0.20971,-0.37957 0.36272,-0.51805 0.26547,-0.24024 0.32735,-0.22328 1.3507,0.37007 1.34197,0.77809 6.97402,4.51025 7.0904,4.69856 0.11054,0.17885 -1.43763,3.30003 -1.87841,3.78695 -0.45545,0.50313 -1.01027,0.87754 -1.28019,0.86391 -0.12302,-0.006 -0.48747,-0.22035 -0.8099,-0.47588 l 0,0 z"
+     id="path3691" />
+  <path
+     style="fill:#ff40a9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 373.81885,376.09213 c -0.52347,-0.37473 -2.36842,-1.63241 -4.0999,-2.79486 -1.73148,-1.16244 -3.17144,-2.13438 -3.19991,-2.15986 -0.10299,-0.0922 1.21689,-2.41943 1.54918,-2.73161 l 0.34076,-0.32012 1.83388,0.92535 c 2.15593,1.08785 5.34347,3.06246 6.3675,3.94454 0.71332,0.61444 0.71946,0.62707 0.50562,1.04058 -0.36546,0.70672 -1.9907,2.78733 -2.17325,2.78217 -0.0947,-0.003 -0.60041,-0.31146 -1.12388,-0.68619 z"
+     id="path3693" />
+  <path
+     style="fill:none;stroke:#000000;stroke-width:1.98199999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 306.06196,335.46267 c 1.80316,6.1993 66.96622,37.16213 66.96622,37.16213"
+     id="path3253-1"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cc" />
+  <text
+     xml:space="preserve"
+     style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;opacity:0.95;fill:#ffffff;fill-opacity:0.95;fill-rule:nonzero;stroke:#000000;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Goblin;-inkscape-font-specification:Goblin"
+     x="233.86311"
+     y="327.96237"
+     id="text3241-7"><tspan
+       sodipodi:role="line"
+       x="233.86311"
+       y="327.96237"
+       id="tspan3245-0"
+       style="font-size:22px;fill-rule:nonzero;stroke-width:0.89999998;stroke-miterlimit:4;stroke-dasharray:none">Dance</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:48.68118668px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.01400006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Goblin;-inkscape-font-specification:Goblin Bold"
+     x="552.28552"
+     y="495.83029"
+     id="text2891"
+     transform="scale(0.89213371,1.1209082)"><tspan
+       id="tspan2897"
+       sodipodi:role="line"
+       x="552.28552"
+       y="495.83029"
+       style="text-align:center;text-anchor:middle;stroke-width:1.01400006;stroke-miterlimit:4;stroke-dasharray:none">TO JOIN THE GAME</tspan></text>
+  <text
+     id="text3063"
+     y="277.46237"
+     x="252.86311"
+     style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;opacity:0.95;fill:#ffffff;fill-opacity:0.95;fill-rule:nonzero;stroke:#000000;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Goblin;-inkscape-font-specification:Goblin"
+     xml:space="preserve"><tspan
+       style="font-size:22px;fill-rule:nonzero;stroke-width:0.89999998;stroke-miterlimit:4;stroke-dasharray:none"
+       id="tspan3065"
+       y="277.46237"
+       x="252.86311"
+       sodipodi:role="line">Drums</tspan></text>
+  <path
+     id="path3067"
+     d="m 355.56196,282.46267 c 17.30316,4.1993 65.46622,-4.33787 65.46622,-4.33787"
+     style="fill:none;stroke:#000000;stroke-width:1.98199999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cc" />
+  <text
+     xml:space="preserve"
+     style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="497"
+     y="419.5"
+     id="text3079"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan3081"
+       x="497"
+       y="419.5" /></text>
+</svg>
diff --git a/data/themes/default/instrumentmenu_back_highlight.svg b/data/themes/default/instrumentmenu_back_highlight.svg
new file mode 100644 (file)
index 0000000..4c70e6f
--- /dev/null
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="400"
+   height="80"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.47pre4 r22446"
+   sodipodi:docname="menu_back_highlight.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="726"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.2304507"
+     inkscape:cx="114.89549"
+     inkscape:cy="35.400925"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient4557">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4559" />
+      <stop
+         style="stop-color:#0300da;stop-opacity:1;"
+         offset="1"
+         id="stop4561" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3945">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3947" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3949" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 400 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1000 : 400 : 1"
+       inkscape:persp3d-origin="500 : 266.66667 : 1"
+       id="perspective62" />
+    <linearGradient
+       id="linearGradient6053">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6055" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop6057" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6499"
+       inkscape:collect="always">
+      <stop
+         id="stop6501"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6503"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient3245"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8327515,0,0,-0.6476426,-48.09403,12.672202)"
+       x1="311.95688"
+       y1="-116.67703"
+       x2="311.95688"
+       y2="-276.41519" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4108"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3544445,0,0,1.7332213,31.621862,51.58815)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4121"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,133.62899)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4127"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,340.11416)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4133"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,39.887975,233.1463)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <inkscape:perspective
+       id="perspective2871"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       id="linearGradient3751">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective2871-4"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499-1"
+       id="linearGradient4108-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3544445,0,0,1.7332213,31.621862,-148.41185)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       id="linearGradient6499-1">
+      <stop
+         id="stop6501-3"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop6503-0"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective2849"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2854"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       y2="260.4765"
+       x2="358.07056"
+       y1="260.4765"
+       x1="44.868057"
+       gradientTransform="matrix(1.3544445,0,0,1.8513768,-45.940851,-180.28458)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2880"
+       xlink:href="#linearGradient6499-1-4"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient6499-1-4">
+      <stop
+         id="stop6501-3-4"
+         offset="0"
+         style="stop-color:#a5dbea;stop-opacity:1;" />
+      <stop
+         id="stop6503-0-4"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       y2="260.4765"
+       x2="358.07056"
+       y1="260.4765"
+       x1="44.868057"
+       gradientTransform="matrix(1.5954958,0,0,1.7716569,-170.6897,-421.47588)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2863"
+       xlink:href="#linearGradient6499-1-4"
+       inkscape:collect="always" />
+  </defs>
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Goblin"
+     x="266.96185"
+     y="39.888062"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="39.888062" /></text>
+  <rect
+     y="1.2243493"
+     x="1.2243469"
+     height="77.551308"
+     width="397.5513"
+     id="rect6405"
+     style="fill:url(#linearGradient2863);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.44869375;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible"
+     rx="17.669563"
+     ry="14.354104" />
+</svg>
diff --git a/data/themes/default/instrumentmenu_bg.svg b/data/themes/default/instrumentmenu_bg.svg
new file mode 100644 (file)
index 0000000..3c1650f
--- /dev/null
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="658.31732"
+   height="378.5"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.3.1 r9886"
+   version="1.0"
+   sodipodi:docname="instrumentmenu_bg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient3897">
+      <stop
+         id="stop3899"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0.88554215;" />
+      <stop
+         style="stop-color:#b0b0b0;stop-opacity:0.78313255;"
+         offset="0.30000001"
+         id="stop3903" />
+      <stop
+         id="stop3901"
+         offset="1"
+         style="stop-color:#0e0f11;stop-opacity:0.83734941;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3879">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3881" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3883" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <inkscape:perspective
+       id="perspective2963"
+       inkscape:persp3d-origin="88 : 58.666667 : 1"
+       inkscape:vp_z="176 : 88 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 88 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <radialGradient
+       r="500"
+       fy="757.60583"
+       fx="727.25122"
+       cy="757.60583"
+       cx="727.25122"
+       gradientTransform="matrix(0.43355171,-0.84504566,1.805509,0.92631863,-980.8803,536.04792)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3750"
+       xlink:href="#linearGradient3629-3"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3629-3">
+      <stop
+         style="stop-color:#00cbff;stop-opacity:0.8012048;"
+         offset="0"
+         id="stop3631-1" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.88554215;"
+         offset="1"
+         id="stop3633-4" />
+    </linearGradient>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.49497475"
+     inkscape:cx="-77.406281"
+     inkscape:cy="220.56135"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1053"
+     inkscape:window-x="0"
+     inkscape:window-y="-1"
+     inkscape:window-maximized="1"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Calque 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(369.06735,69.25)">
+    <rect
+       style="opacity:0.79237288;fill:#000000;fill-opacity:1;stroke:none"
+       id="rect2383"
+       width="658.31732"
+       height="378.5"
+       x="-369.06735"
+       y="-69.25"
+       rx="31.697433"
+       ry="31.697433" />
+  </g>
+</svg>
diff --git a/data/themes/default/instrumentmenu_comment.svg b/data/themes/default/instrumentmenu_comment.svg
new file mode 100644 (file)
index 0000000..bbc7948
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="140"
+   height="40"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="instrumentmenu_comment.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2522">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="852"
+     inkscape:window-width="1440"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="3.5638182"
+     inkscape:cx="63.312761"
+     inkscape:cy="28.101518"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <text
+     x="12.682061"
+     y="30.636002"
+     style="font-size:28.45248412999999843px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#808080;fill-opacity:1;stroke:#000000;stroke-width:0.96595233999999996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;font-family:Goblin"
+     id="text10203"
+     xml:space="preserve"
+     sodipodi:linespacing="125%"
+     transform="scale(1.0377692,0.9636054)"><tspan
+       x="12.682061"
+       y="30.636002"
+       id="tspan10205"
+       style="font-size:28.45248412999999843px;text-align:start;text-anchor:start;fill:#808080;fill-opacity:1;stroke-width:0.96595233999999996">Cmmnt</tspan></text>
+</svg>
diff --git a/data/themes/default/instrumentmenu_option.svg b/data/themes/default/instrumentmenu_option.svg
new file mode 100644 (file)
index 0000000..12035b9
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="140"
+   height="40"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="instrumentmenu_option.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2522">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1053"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="3.5638182"
+     inkscape:cx="14.909619"
+     inkscape:cy="28.662714"
+     inkscape:window-x="0"
+     inkscape:window-y="-1"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <text
+     x="0.42621329"
+     y="30.720901"
+     style="font-size:31.99999989px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#add3f1;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;font-family:Goblin"
+     id="text10203"
+     xml:space="preserve"
+     sodipodi:linespacing="125%"
+     transform="scale(1.0082228,0.99184427)"><tspan
+       x="0.42621329"
+       y="30.720901"
+       id="tspan10205"
+       style="font-size:31.99999989px;text-align:start;text-anchor:start;fill:#add3f1;fill-opacity:1;stroke-width:1;stroke:#000000;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none">option</tspan></text>
+</svg>
diff --git a/data/themes/default/instrumentmenu_option_selected.svg b/data/themes/default/instrumentmenu_option_selected.svg
new file mode 100644 (file)
index 0000000..8cbb31b
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="140"
+   height="40"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="instrumentmenu_option_selected.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2522">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1053"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="3.5638182"
+     inkscape:cx="14.909619"
+     inkscape:cy="28.662714"
+     inkscape:window-x="0"
+     inkscape:window-y="-1"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <text
+     x="0.42621329"
+     y="30.720901"
+     style="font-size:31.99999989px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;font-family:Goblin"
+     id="text10203"
+     xml:space="preserve"
+     sodipodi:linespacing="125%"
+     transform="scale(1.0082228,0.99184427)"><tspan
+       x="0.42621329"
+       y="30.720901"
+       id="tspan10205"
+       style="font-size:31.99999989px;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:1;stroke:#000000;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none">option</tspan></text>
+</svg>
diff --git a/data/themes/default/instruments.svg b/data/themes/default/instruments.svg
new file mode 100644 (file)
index 0000000..68d5ea0
--- /dev/null
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="512"
+   height="64"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="instruments.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0">
+  <defs
+     id="defs4">
+    <inkscape:path-effect
+       effect="bend_path"
+       id="path-effect2844"
+       is_visible="true"
+       bendpath="m 266.25,32.092577 41.87495,0"
+       prop_scale="1"
+       scale_y_rel="false"
+       vertical="false" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 128 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="256 : 128 : 1"
+       inkscape:persp3d-origin="128 : 85.333333 : 1"
+       id="perspective17" />
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3484"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.336682,0,0,0.336682,-81.3739,-51.8729)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <inkscape:perspective
+       id="perspective2830"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3827"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <filter
+       id="filter3945"
+       inkscape:label="Drop Shadow"
+       color-interpolation-filters="sRGB">
+      <feFlood
+         id="feFlood3947"
+         flood-opacity="0.80000000000000004"
+         flood-color="rgb(0,8,255)"
+         result="flood" />
+      <feComposite
+         id="feComposite3949"
+         in2="SourceGraphic"
+         in="flood"
+         operator="in"
+         result="composite1" />
+      <feGaussianBlur
+         id="feGaussianBlur3951"
+         stdDeviation="5"
+         result="blur" />
+      <feOffset
+         id="feOffset3953"
+         dx="0"
+         dy="0"
+         result="offset" />
+      <feComposite
+         id="feComposite3955"
+         in2="offset"
+         in="SourceGraphic"
+         operator="over"
+         result="composite2" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.2382812"
+     inkscape:cx="158.5638"
+     inkscape:cy="3.5322802"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1636"
+     inkscape:window-height="816"
+     inkscape:window-x="127"
+     inkscape:window-y="25"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     width="256px"
+     height="256px"
+     borderlayer="false"
+     showgrid="true"
+     inkscape:window-maximized="0"
+     fit-margin-left="20"
+     fit-margin-right="20"
+     fit-margin-top="0"
+     fit-margin-bottom="0">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3957"
+       empspacing="64"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(13.268664,-5.200002)">
+    <path
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter3945)"
+       d="m 226.89253,55.978173 c -2.25125,-0.112256 -4.45812,-0.948323 -6.24728,-2.366752 -0.5588,-0.443016 -1.37196,-1.253176 -1.79256,-1.785958 -1.28127,-1.623021 -2.04989,-3.436475 -2.32256,-5.479857 l -0.0278,-0.207947 -0.23969,0.0071 -0.2397,0.0071 -0.21864,0.665268 -0.21865,0.665268 0.005,0.913719 0.005,0.913727 0.40873,0.10752 c 0.42541,0.111911 0.5774,0.179185 0.618,0.273547 0.0132,0.03066 0.0316,0.170187 0.041,0.31004 l 0.017,0.254274 -0.0665,0.02679 c -0.0366,0.01473 -0.1313,0.02347 -0.21047,0.01942 l -0.14395,-0.0074 -0.0337,-0.141218 c -0.0273,-0.114136 -0.0432,-0.141362 -0.083,-0.142044 -0.0827,-0.0014 -0.81037,-0.199208 -0.90187,-0.245182 -0.0995,-0.04997 -0.15496,-0.147463 -0.15496,-0.272167 0,-0.0482 -0.009,-0.0934 -0.0196,-0.100453 -0.0278,-0.0182 -0.12266,0.01129 -0.12266,0.03812 0,0.01233 -0.34314,1.064442 -0.76255,2.338049 -0.64426,1.956413 -0.76314,2.339006 -0.76635,2.466255 -0.003,0.12581 -0.0339,0.226978 -0.18641,0.613937 -0.22877,0.580465 -0.27247,0.659773 -0.4109,0.745673 -0.19674,0.122081 -0.48664,0.07864 -0.69006,-0.103413 -0.0997,-0.08924 -0.15448,-0.200673 -0.13373,-0.272107 0.0218,-0.07524 0.76296,-1.99256 0.79369,-2.053346 0.0201,-0.03975 0.0332,-0.04356 0.0729,-0.02106 0.0266,0.0151 0.0511,0.02371 0.0544,0.01914 0.003,-0.0046 0.30164,-0.9107 0.66307,-2.013628 l 0.65714,-2.00532 -0.0486,-0.05485 c -0.0268,-0.03017 -0.0486,-0.07869 -0.0486,-0.107829 0,-0.05764 0.16049,-0.553384 0.19428,-0.600144 0.0114,-0.01581 0.0551,-0.03561 0.097,-0.04401 l 0.0762,-0.01524 0.27925,-0.847195 0.27924,-0.847205 -6.6e-4,-0.797063 -6.7e-4,-0.797056 -0.23709,0 -0.23709,0 -0.002,0.194558 c -0.004,0.301145 -0.0121,0.318658 -0.15787,0.327647 -0.11671,0.0072 -0.12367,0.0041 -0.1413,-0.06276 -0.0241,-0.09156 -0.0241,-1.128577 0,-1.220128 0.0176,-0.06686 0.0246,-0.06995 0.1413,-0.06277 0.14577,0.009 0.15422,0.0265 0.15787,0.327646 l 0.002,0.194558 0.23709,0 0.23709,0 0,-1.069851 0,-1.069862 -0.14818,0.01544 c -0.57354,0.05976 -1.00574,0.07622 -2.0271,0.07719 l -1.14395,0.0011 -1e-5,3.137088 0,3.137089 0.0568,0.05115 c 0.0505,0.04551 0.0583,0.07818 0.0705,0.295917 0.0115,0.205429 0.008,0.244776 -0.0212,0.244776 -0.0294,0 -0.0349,0.06618 -0.0349,0.414842 l 0,0.414841 -0.0652,0.02667 c -0.0924,0.03783 -0.5455,0.01699 -0.63422,-0.02918 l -0.0711,-0.037 -0.007,-0.360948 c -0.005,-0.285159 5.1e-4,-0.369437 0.0274,-0.401366 0.0208,-0.02486 0.0401,-0.127448 0.05,-0.266361 0.0193,-0.272054 0.029,-0.313801 0.0731,-0.313801 0.0293,0 0.0339,-0.435702 0.0339,-3.173555 l 0,-3.173537 -0.1719,-0.01421 c -0.7811,-0.06456 -1.39334,-0.119814 -1.45526,-0.131339 l -0.0742,-0.01383 -0.018,1.100547 c -0.01,0.605292 -0.0155,1.812245 -0.0125,2.682105 0.006,1.641067 -0.003,1.922017 -0.0601,1.972347 -0.0214,0.01885 -0.0336,0.07859 -0.0336,0.164596 l 0,0.134997 -0.12447,-3.89e-4 c -0.0685,-2.07e-4 -0.13747,-0.0091 -0.15335,-0.01982 -0.0481,-0.03235 -0.0568,-0.457925 -0.068,-3.337151 l -0.0108,-2.742304 -0.0529,-0.01194 c -0.029,-0.0066 -0.15419,-0.02454 -0.27807,-0.03992 -0.34987,-0.04344 -1.36734,-0.217662 -1.81372,-0.310558 l -0.40307,-0.08388 -0.0784,0.07845 c -0.0749,0.07486 -0.0873,0.07844 -0.27267,0.07797 -0.3727,-9.5e-4 -0.6721,-0.152846 -0.71572,-0.363096 -0.009,-0.04165 -0.0283,-0.07574 -0.0438,-0.07574 -0.0155,0 -0.22533,-0.06337 -0.46637,-0.14081 -0.24105,-0.07746 -0.45693,-0.146557 -0.47976,-0.153563 -0.0393,-0.01206 -0.0415,0.113619 -0.041,2.393926 l 4.7e-4,2.40666 0.93011,1.408293 c 2.91626,4.415576 3.49407,5.280698 3.53135,5.287324 0.0395,0.007 1.05764,1.521385 1.07913,1.605059 0.029,0.113118 -0.12715,0.222388 -0.3173,0.221975 -0.14217,-2.94e-4 -0.32456,-0.08758 -0.42585,-0.20378 -0.1202,-0.137878 -0.53568,-0.779259 -0.57526,-0.888003 -0.0201,-0.05523 -0.55481,-0.885559 -1.18825,-1.845166 -0.63345,-0.959606 -1.57276,-2.382375 -2.08736,-3.16171 l -0.93565,-1.416945 -0.0126,1.165905 c -0.01,0.894551 -0.0199,1.181246 -0.0439,1.231783 -0.0498,0.104629 -0.17602,0.16143 -0.62344,0.28044 -0.363,0.09655 -0.4232,0.106596 -0.4526,0.07549 -0.0294,-0.03112 -0.0379,-0.01568 -0.0644,0.116068 -0.0167,0.08358 -0.0452,0.164906 -0.0632,0.180747 -0.021,0.01847 -0.0886,0.02403 -0.18855,0.01554 l -0.15581,-0.01324 0.0166,0.355022 c 0.01,0.195264 0.0238,0.455042 0.0327,0.577298 0.016,0.221138 0.0158,0.222431 -0.0442,0.249313 -0.0332,0.01487 -0.13845,0.02781 -0.23403,0.02876 -0.13901,0.0014 -0.17984,-0.007 -0.20395,-0.04192 -0.038,-0.0551 -0.0716,-0.565168 -0.0398,-0.60569 0.0149,-0.01894 0.003,-0.293639 -0.0341,-0.781966 -0.0313,-0.414023 -0.0572,-0.78666 -0.0575,-0.828079 l -5.1e-4,-0.07531 -0.17194,0.0088 c -0.21713,0.01109 -0.56417,-0.03793 -0.69778,-0.09857 l -0.10245,-0.0465 -5.7e-4,-0.157789 -5.6e-4,-0.157798 -0.89135,-0.677812 c -0.49024,-0.372802 -0.94758,-0.720205 -1.01633,-0.772011 l -0.125,-0.0942 -1.85682,2.516759 c -1.02125,1.384222 -2.01125,2.725757 -2.19998,2.981188 -0.18874,0.255438 -0.38922,0.517607 -0.4455,0.582603 -0.0628,0.07254 -0.10236,0.14208 -0.10236,0.180082 0,0.06352 -0.0313,0.111815 -0.37,0.570361 -0.2027,0.27448 -0.31785,0.397165 -0.43081,0.459013 -0.0873,0.04776 -0.26813,0.07468 -0.3593,0.05348 -0.0986,-0.02293 -0.21505,-0.129804 -0.21484,-0.197164 1e-4,-0.03218 0.21305,-0.345359 0.52338,-0.769725 0.56633,-0.774427 0.6122,-0.832901 0.63945,-0.81506 0.01,0.0065 1.54472,-2.056591 3.41064,-4.584651 l 3.39255,-4.596478 0,-0.171566 c 0,-0.155693 0.006,-0.176398 0.0628,-0.223898 0.0346,-0.02878 0.10391,-0.05929 0.1541,-0.06779 l 0.0913,-0.01545 -2.7e-4,-2.927709 -2.6e-4,-2.927718 -0.12421,-0.05021 -0.1242,-0.05021 -0.007,-0.561691 c -0.004,-0.360723 0.002,-0.572898 0.0182,-0.593034 0.0135,-0.01724 0.0884,-0.05031 0.16644,-0.07349 l 0.14183,-0.04214 -5.1e-4,-5.314536 -5.2e-4,-5.314526 -0.0765,-0.03766 c -0.0748,-0.0368 -0.0776,-0.04441 -0.1267,-0.333447 -0.0276,-0.162681 -0.0548,-0.30071 -0.0605,-0.306717 -0.006,-0.006 -0.63225,1.078969 -1.3924,2.411069 -0.76014,1.332097 -1.40478,2.43883 -1.43251,2.459407 -0.0865,0.06413 -0.22335,0.04785 -0.30252,-0.03597 -0.14603,-0.154624 -0.21452,-0.01484 1.35338,-2.761776 l 1.42268,-2.492517 -0.0748,-0.09021 c -0.25414,-0.306487 -0.28021,-0.829203 -0.0635,-1.272407 0.18779,-0.383985 0.45767,-0.637063 0.83508,-0.783093 0.0534,-0.02067 0.2031,-0.04498 0.33259,-0.05402 l 0.23543,-0.01643 1.94009,-3.399276 c 1.06706,-1.869605 1.93526,-3.404399 1.92935,-3.41066 -0.006,-0.0063 -0.38211,-0.110679 -0.83599,-0.23204 -2.97441,-0.795303 -5.47418,-1.716945 -7.36887,-2.716814 -1.26096,-0.665449 -2.06354,-1.240104 -2.53024,-1.811678 -0.40786,-0.4995171 -0.48344,-0.9656681 -0.21854,-1.3477781 0.26275,-0.3789816 0.97639,-0.6818844 1.97825,-0.8396545 1.09329,-0.1721616 2.84778,-0.1903931 4.62323,-0.048043 4.5688,0.3663255 10.37056,1.7427037 14.36756,3.4084986 2.53163,1.055084 4.12747,2.104617 4.56238,3.000531 0.30803,0.634541 -0.0373,1.17428 -0.97087,1.517335 -0.44275,0.162694 -1.21113,0.318677 -1.77186,0.359693 -0.12713,0.0093 -0.23116,0.0244 -0.23116,0.03356 0,0.0092 0.056,0.03171 0.12447,0.0501 0.21371,0.05742 1.07854,0.364594 1.48772,0.528421 2.69962,1.080787 4.87527,2.662121 5.17843,3.763838 0.0765,0.278039 0.06,0.372542 -0.18771,1.069301 -0.12388,0.348555 -0.22515,0.643509 -0.22504,0.655456 1.2e-4,0.01194 0.3602,0.163291 0.80018,0.336334 l 0.79996,0.314616 0.008,-0.08836 c 0.01,-0.109752 0.041,-0.151759 0.11375,-0.151759 0.0563,0 0.0564,-2.86e-4 0.0564,-0.310808 l 0,-0.31081 -0.18374,-0.02182 -0.18374,-0.02182 -0.007,-0.11599 c -0.009,-0.148277 -0.0139,-0.146917 0.51684,-0.146917 0.53069,0 0.52591,-0.0014 0.51682,0.146917 l -0.007,0.11599 -0.1963,0.02236 -0.19631,0.02236 0.007,0.303788 0.007,0.303783 0.0711,0.01289 c 0.0652,0.01183 0.0717,0.02213 0.0781,0.125726 0.007,0.110496 0.01,0.113627 0.11856,0.1505 l 0.11151,0.03766 0,0.275807 0,0.275809 -0.0651,0.03309 -0.0651,0.03309 0,0.539163 c 0,0.490531 0.004,0.54063 0.0415,0.555481 0.0228,0.009 0.13216,0.07846 0.243,0.154408 0.46172,0.316348 0.41758,0.297843 0.64774,0.271716 0.12794,-0.01452 0.26313,-0.01406 0.36366,0.0013 0.18175,0.02767 0.16802,0.03376 0.5952,-0.263939 0.12078,-0.08418 0.24082,-0.16018 0.26671,-0.168885 0.0451,-0.01514 0.0471,-0.03906 0.0471,-0.549353 l 0,-0.533518 -0.0771,-0.03591 -0.0771,-0.03591 -0.007,-0.225935 c -0.01,-0.310962 -0.002,-0.3332 0.12603,-0.36946 0.10471,-0.02966 0.10618,-0.03154 0.10618,-0.137113 0,-0.09971 0.005,-0.108497 0.0771,-0.128147 l 0.0771,-0.02111 0.007,-0.302435 0.007,-0.302439 -0.1963,-0.02236 -0.19631,-0.02236 -0.007,-0.115857 c -0.007,-0.112189 -0.005,-0.116362 0.0681,-0.131797 0.0978,-0.02071 0.8233,-0.02071 0.92107,0 0.0728,0.01544 0.0751,0.01961 0.0681,0.131797 l -0.007,0.115857 -0.19562,0.02229 -0.19559,0.02229 0,0.298581 c 0,0.262454 0.005,0.300222 0.0415,0.312154 0.0911,0.02981 0.11311,0.05682 0.12446,0.152802 l 0.0118,0.100092 0.81601,-0.32235 c 0.44883,-0.177291 0.81916,-0.325664 0.82299,-0.329713 0.004,-0.004 -0.12154,-0.36835 -0.27859,-0.809568 -0.26261,-0.737755 -0.28551,-0.81574 -0.28493,-0.970643 9.7e-4,-0.310032 0.17383,-0.646694 0.53638,-1.046033 0.55868,-0.615363 1.34215,-1.186604 2.45421,-1.789417 1.42729,-0.773683 3.26763,-1.429996 4.69437,-1.67412 0.61572,-0.105365 0.74483,-0.116319 1.36324,-0.115698 0.55163,5.55e-4 0.63998,0.0065 0.84048,0.05617 0.2371,0.05879 0.48263,0.167829 0.61056,0.271146 0.10792,0.08717 0.17335,0.217541 0.32614,0.649939 0.111,0.314111 0.14873,0.39258 0.22934,0.476981 0.053,0.05556 0.11053,0.129759 0.12775,0.164894 0.0466,0.0952 0.10013,0.334469 0.13161,0.588469 0.025,0.201471 0.15433,0.581256 1.21042,3.55422 0.93238,2.624586 1.18249,3.353016 1.18249,3.443857 l 0,0.115206 0.41011,0.0083 c 0.45047,0.0092 0.50195,0.02452 0.58201,0.173523 l 0.0392,0.073 0.32476,1.59e-4 0.32477,1.57e-4 0.007,-0.131444 c 0.007,-0.125156 0.0118,-0.134159 0.10452,-0.188183 0.094,-0.05474 0.0979,-0.06217 0.11262,-0.211174 0.0169,-0.171409 0.0374,-0.210155 0.12268,-0.232838 l 0.0581,-0.01543 0.006,-1.260132 0.006,-1.260133 0.0855,-0.02141 c 0.0479,-0.01201 0.12082,-0.01172 0.16596,6.56e-4 l 0.0804,0.02207 0.006,1.256943 0.006,1.256952 0.0702,0.03075 c 0.0777,0.03411 0.0848,0.05107 0.10674,0.255233 0.0133,0.123772 0.0228,0.143998 0.0737,0.157539 0.10122,0.0269 0.15207,0.103007 0.15207,0.227639 l 0,0.11297 0.47347,0 c 2.11693,0 5.20246,0.213168 6.4021,0.442295 0.55827,0.10663 0.92401,0.239582 0.96422,0.350508 0.0251,0.06923 -0.0151,0.150828 -0.0994,0.201831 l -0.0852,0.05156 0.0857,0.06921 c 0.18648,0.150611 0.0586,0.304267 -0.35558,0.427169 -0.68347,0.202832 -2.20579,0.379418 -4.11349,0.477181 -0.93151,0.04773 -2.20625,0.08912 -2.74287,0.08906 l -0.40755,-5.2e-5 -0.008,0.09414 c -0.007,0.08485 -0.019,0.100487 -0.12569,0.158453 l -0.11832,0.06431 -0.0334,0.211839 c -0.0254,0.160885 -0.0355,0.577883 -0.0421,1.73379 l -0.009,1.521946 0.0616,0.04275 c 0.0339,0.0235 0.0819,0.08988 0.10653,0.147479 0.0429,0.100049 0.045,0.197621 0.0455,2.18045 l 5.4e-4,2.075725 0.0987,0.0707 c 0.17061,0.122194 0.19637,0.208007 0.20585,0.685749 0.0105,0.52859 -0.0109,0.639491 -0.15227,0.791379 -0.0721,0.07738 -0.10505,0.134237 -0.10542,0.181556 -7.6e-4,0.101481 -0.0814,0.272167 -0.15159,0.320868 l -0.0612,0.0425 0,2.855027 0,2.855017 0.0945,0.02997 c 0.12137,0.03849 0.14265,0.0847 0.14265,0.309644 l 0,0.184326 1.87586,2.836106 c 1.03171,1.559861 2.34391,3.543656 2.91601,4.408426 0.57207,0.864769 1.0589,1.577607 1.08182,1.584078 0.0614,0.01734 1.02558,1.488307 1.02558,1.564682 0,0.09557 -0.12154,0.16162 -0.29636,0.16106 -0.16924,-5.44e-4 -0.30071,-0.0582 -0.4065,-0.178296 -0.11474,-0.130243 -0.53254,-0.776609 -0.56588,-0.875441 -0.0162,-0.04832 -0.29919,-0.494546 -0.62862,-0.991612 -0.32945,-0.497067 -0.88186,-1.333047 -1.22757,-1.85772 -2.2958,-3.484354 -2.14104,-3.25616 -2.18264,-3.218226 -0.0367,0.03347 -1.00307,0.873353 -1.01777,0.884569 -0.004,0.0029 0.0636,0.07703 0.14987,0.164708 0.0862,0.08769 0.14535,0.163456 0.13139,0.168383 -0.0178,0.0063 -0.0254,0.724674 -0.0254,2.405805 0,1.591514 0.008,2.391641 0.0237,2.381331 0.0131,-0.0085 0.0237,-0.07133 0.0237,-0.139552 0,-0.06822 0.008,-0.123599 0.0178,-0.123056 0.01,5.35e-4 0.10847,0.04854 0.21932,0.106691 0.2318,0.121599 0.27255,0.183153 0.3156,0.476801 0.0206,0.140303 0.019,0.176096 -0.009,0.203522 -0.0186,0.0183 -0.50293,0.148315 -1.07615,0.288938 -0.57319,0.140612 -1.04656,0.260313 -1.05193,0.26598 -0.006,0.0057 0.0288,0.05808 0.0761,0.116458 0.0472,0.05837 0.0858,0.131519 0.0858,0.16255 0,0.08899 -0.10635,0.160482 -0.23874,0.160482 -0.15654,0 -0.21789,-0.02981 -0.36542,-0.177555 l -0.12732,-0.127508 -0.34264,0.08314 c -0.24372,0.05914 -0.3393,0.09231 -0.33112,0.114878 0.007,0.01745 1.7e-4,0.03173 -0.0137,0.03173 -0.0138,0 -0.30041,-0.207136 -0.63674,-0.460297 -1.53716,-1.157028 -2.33747,-1.749795 -2.34774,-1.738933 -0.006,0.0065 9.6e-4,0.05172 0.0165,0.100513 0.0246,0.0789 0.0327,0.0854 0.0729,0.05879 0.0291,-0.01927 0.0526,-0.02121 0.0657,-0.0054 0.0344,0.041 0.81046,2.054961 0.81046,2.103229 0,0.07087 -0.0603,0.175786 -0.13402,0.233225 -0.35312,0.275117 -0.73446,0.213951 -0.90233,-0.144737 -0.028,-0.05979 -0.12633,-0.304001 -0.21853,-0.542712 -0.13438,-0.347836 -0.16759,-0.459995 -0.16738,-0.56484 2.1e-4,-0.103137 -0.0663,-0.334929 -0.31415,-1.094853 l -0.31441,-0.964033 -0.17064,-0.134288 c -0.0939,-0.07386 -0.17588,-0.134281 -0.18233,-0.134281 -0.007,0 -0.27239,0.353278 -0.59098,0.785063 -0.31858,0.431777 -0.59548,0.799334 -0.61534,0.816778 -0.0199,0.01745 -0.043,0.07077 -0.0515,0.118484 -0.0103,0.0578 -0.11129,0.217315 -0.30279,0.477964 -0.30515,0.415326 -0.41793,0.516012 -0.61819,0.551831 -0.17915,0.03205 -0.41335,-0.09335 -0.39129,-0.209516 0.004,-0.01976 0.24688,-0.361845 0.54029,-0.760183 0.36341,-0.493383 0.54855,-0.725312 0.58086,-0.727608 0.0261,-0.0018 0.003,-0.01638 -0.0524,-0.03228 -0.14765,-0.04276 -0.15094,-0.05079 -0.12498,-0.305675 0.0439,-0.431361 0.11812,-1.492742 0.11812,-1.688879 l 0,-0.197447 -0.64609,-0.566039 c -0.48314,-0.423306 -0.65295,-0.558888 -0.67333,-0.537684 -0.0664,0.06897 -3.2326,4.887427 -3.26422,4.967547 -0.0427,0.108148 -0.34801,0.577117 -0.44891,0.689475 -0.0992,0.110436 -0.20376,0.157876 -0.34811,0.157876 -0.0991,0 -0.13329,-0.012 -0.18229,-0.06388 -0.0331,-0.03513 -0.0546,-0.07958 -0.0477,-0.09876 0.0291,-0.0804 0.81193,-1.242334 0.83724,-1.242747 0.0152,-2.51e-4 0.13696,-0.167081 0.27058,-0.370739 0.13357,-0.20366 0.281,-0.426255 0.3276,-0.494669 0.10085,-0.148058 0.0777,-0.135936 -0.18723,0.09831 -1.15366,1.019779 -2.63738,1.834375 -4.13719,2.271396 -0.87017,0.253541 -1.63136,0.380023 -2.57242,0.427436 -0.54983,0.02769 -0.53461,0.02771 -1.11432,-0.0012 z m 20.38962,-3.361927 c 0,-0.317572 -0.005,-0.577394 -0.0114,-0.577394 -0.0239,0 -1.53816,0.377211 -1.54551,0.384993 -0.008,0.0086 1.50823,0.765307 1.53916,0.768162 0.01,8.98e-4 0.0178,-0.258191 0.0178,-0.575761 z m -7.46021,-0.552288 0.34395,-0.464431 -0.0587,-0.05021 c -0.0543,-0.04646 -0.0581,-0.06408 -0.0515,-0.235839 l 0.007,-0.185627 0.24391,-0.06149 c 0.27525,-0.06941 0.25874,-0.03727 0.16163,-0.314759 l -0.0507,-0.145013 -0.0991,0.07717 c -0.0886,0.06897 -0.0999,0.08957 -0.10628,0.193963 -0.006,0.09962 -0.0177,0.12328 -0.0786,0.160842 -0.0893,0.05501 -0.37671,0.103714 -0.54576,0.09247 l -0.12774,-0.0085 -0.0129,0.125524 c -0.0414,0.403592 -0.0804,1.125894 -0.0677,1.252634 l 0.0149,0.148048 0.0418,-0.06018 c 0.023,-0.0331 0.19653,-0.269173 0.38573,-0.524603 z m 5.06562,-1.714097 0,-0.509083 0.15418,-0.161827 c 0.13637,-0.143097 0.17821,-0.170608 0.36157,-0.237761 l 0.20737,-0.07594 0.007,-0.113015 0.007,-0.113015 -0.18479,-0.139698 c -0.10165,-0.07684 -0.5306,-0.403229 -0.95325,-0.725303 -0.53478,-0.407553 -0.7776,-0.578783 -0.79865,-0.563176 -0.0166,0.01234 -0.18848,0.237072 -0.38188,0.499412 -0.63593,0.86263 -0.98402,1.33875 -0.9875,1.350672 -0.007,0.02282 0.81991,1.125859 0.85406,1.139731 0.0256,0.0104 1.18092,0.117372 1.67341,0.154935 0.0383,0.0029 0.0415,-0.03661 0.0415,-0.505928 z m -2.60232,0.289525 c 0.13263,0.01123 0.25367,0.01722 0.26896,0.01329 0.0254,-0.0065 -0.46959,-0.70384 -0.50728,-0.714744 -0.0136,-0.0039 -0.59475,0.772225 -0.61576,0.822255 -0.004,0.0088 0.13269,-0.01933 0.30311,-0.06259 0.2889,-0.07333 0.32612,-0.07726 0.55097,-0.05822 z m -3.16605,-0.513673 c 0.0609,-0.0718 0.1517,-1.446587 0.14386,-2.177291 l -0.007,-0.590092 -0.63763,0.96455 c -0.3507,0.530495 -0.63874,0.977542 -0.64013,0.993441 -9.6e-4,0.01588 0.24288,0.245768 0.5428,0.510853 0.52304,0.46229 0.54562,0.479104 0.55321,0.411692 0.005,-0.03866 0.0243,-0.08958 0.0442,-0.113153 z m 0.90874,-0.002 c 0.012,-0.517443 0.008,-0.720869 -0.0149,-0.72086 -0.0164,0 -0.0315,0.09969 -0.0406,0.269872 -0.008,0.148428 -0.0219,0.330503 -0.0309,0.40461 -0.016,0.132244 -0.0154,0.134202 0.0348,0.105801 0.0281,-0.01591 0.0513,-0.04264 0.0517,-0.05942 z m 1.2578,-0.551408 c 0.16813,-0.127723 0.30316,-0.244024 0.30008,-0.258467 -0.006,-0.02885 -1.39947,-1.920437 -1.40793,-1.911482 -0.008,0.008 0.28435,0.877537 0.30716,0.914788 0.0106,0.01723 0.0439,0.03133 0.0742,0.03133 0.0772,0 0.094,0.02906 0.20213,0.34881 0.097,0.286876 0.0979,0.302042 0.0231,0.391764 -0.0404,0.04839 -0.038,0.06233 0.0655,0.382844 0.0591,0.182953 0.11252,0.332633 0.11879,0.332633 0.006,0 0.14891,-0.1045 0.31703,-0.232215 z m 2.00521,-2.202896 c 0.67733,-0.918189 1.47371,-1.99847 1.76971,-2.400621 l 0.53818,-0.731187 0,-0.163216 c 0,-0.184732 0.0151,-0.207361 0.17112,-0.256137 l 0.10153,-0.03174 0.006,-2.841189 0.006,-2.841196 -0.0949,-0.09563 c -0.0849,-0.08549 -0.0949,-0.108295 -0.0949,-0.215383 0,-0.109383 -0.01,-0.130088 -0.11261,-0.239074 -0.062,-0.06563 -0.14073,-0.1547 -0.17508,-0.197931 -0.0527,-0.06622 -0.079,-0.07861 -0.16716,-0.07861 -0.12327,0 -0.16152,0.03238 -0.16167,0.136816 -1.1e-4,0.100964 -0.0752,0.227791 -0.16364,0.276188 -0.0995,0.05446 -0.25881,0.04905 -0.35335,-0.01198 -0.12792,-0.08258 -0.15472,-0.18499 -0.16575,-0.633236 l -0.01,-0.395396 -0.0878,0 c -0.0698,0 -0.13623,0.03532 -0.32351,0.171895 -0.12965,0.09453 -0.25705,0.17751 -0.28313,0.184376 -0.0261,0.0069 -0.56612,0.392283 -1.20011,0.856472 -1.03818,0.760139 -1.15163,0.849844 -1.14201,0.903107 0.009,0.04542 -0.01,0.07523 -0.0753,0.128612 -0.0722,0.05826 -0.15868,0.223485 -0.5354,1.022119 l -0.44934,0.952626 0,0.260961 c 0,0.293924 -0.0113,0.318857 -0.16701,0.368264 l -0.0938,0.02974 0,1.602695 0,1.602703 0.17432,0 0.1743,0 0.0136,-0.219661 c 0.019,-0.30653 0.0217,-0.311498 0.16666,-0.302458 0.11063,0.0069 0.12142,0.01329 0.13969,0.08279 0.025,0.0948 0.0251,1.049156 1.9e-4,1.167346 -0.0179,0.08494 -0.0226,0.08811 -0.13914,0.09535 -0.14443,0.009 -0.14272,0.01202 -0.16467,-0.295814 l -0.0161,-0.226306 -0.1744,0 -0.17443,0 0,0.677337 0,0.677338 0.0653,0.01641 c 0.11445,0.02879 0.14816,0.0799 0.14816,0.224615 l 0,0.131863 0.87132,1.180849 c 0.80914,1.096629 0.874,1.17781 0.90939,1.138281 0.0209,-0.0234 0.59228,-0.793811 1.26962,-1.71199 z m 2.3728,0.999531 c 0.0161,-0.02059 0.0722,-0.05103 0.12447,-0.06763 l 0.0951,-0.03017 0,-1.655871 c 0,-1.307788 -0.006,-1.65595 -0.0296,-1.656226 -0.0163,-1.81e-4 -0.0515,-0.0065 -0.0781,-0.01413 -0.0409,-0.01165 -0.18763,0.174716 -0.94615,1.20226 -0.49373,0.668823 -0.89647,1.223768 -0.89498,1.233206 0.002,0.0094 0.37924,0.304053 0.83947,0.654692 l 0.83677,0.637541 0.0118,-0.133117 c 0.007,-0.0732 0.0251,-0.149956 0.0412,-0.170558 z m -42.51814,0.140448 c 0.18852,-0.08077 0.35671,-0.219929 0.5578,-0.461592 0.14139,-0.169884 0.16784,-0.215874 0.16784,-0.291725 l 0,-0.09004 -0.11261,0.09838 c -0.0619,0.05411 -0.30466,0.265741 -0.53938,0.470305 -0.23471,0.204557 -0.43698,0.381714 -0.44945,0.393687 -0.0304,0.0291 0.20152,-0.04433 0.3758,-0.119018 z m 44.57447,-0.534275 c 0.35246,-0.308926 0.6431,-0.574407 0.64588,-0.589954 0.007,-0.03514 -1.56264,-2.406435 -1.60115,-2.420031 -0.0497,-0.01754 -0.0335,0.88569 0.031,1.739063 0.0324,0.428031 0.0716,0.963609 0.0871,1.190182 0.0235,0.344151 0.0353,0.418395 0.0714,0.451178 0.0297,0.02694 0.0432,0.07382 0.0432,0.149697 0,0.10111 0.004,0.107545 0.0408,0.07601 0.0225,-0.01895 0.32918,-0.287221 0.68162,-0.596149 z m -46.32074,-0.141233 0.12421,-0.0502 2.6e-4,-1.735336 2.7e-4,-1.735335 -0.0758,-0.01606 c -0.0482,-0.01022 -0.0866,-0.0045 -0.1053,0.01569 -0.0162,0.01747 -0.44644,0.596597 -0.95611,1.28697 -0.83414,1.129871 -0.92247,1.25825 -0.88455,1.285649 0.0232,0.01675 0.4262,0.323136 0.89564,0.680875 l 0.85351,0.650421 0.0118,-0.166226 0.0118,-0.166236 0.1242,-0.05021 z m 1.9432,-0.259804 0.52403,-0.460635 -0.0613,-0.141863 c -0.0545,-0.126051 -0.0616,-0.17544 -0.0636,-0.44312 l -0.002,-0.30125 -0.63569,-0.960235 c -0.34963,-0.528132 -0.64533,-0.960237 -0.65712,-0.960237 -0.0522,0 -0.0201,0.989681 0.0729,2.247171 0.0864,1.167613 0.0984,1.280317 0.14224,1.32969 0.0305,0.03435 0.0478,0.0882 0.0478,0.148282 l 0,0.09435 0.0545,-0.04575 c 0.03,-0.02517 0.2903,-0.25305 0.57852,-0.5064 z m 0.52871,-4.269279 0,-2.106525 -0.27003,-0.13749 c -0.30335,-0.15445 -0.51683,-0.299877 -0.68648,-0.46763 -0.13142,-0.129949 -0.19693,-0.251212 -0.22015,-0.407491 -0.009,-0.05994 -0.0297,-0.131588 -0.0461,-0.159204 -0.074,-0.124196 -0.0856,-0.262504 -0.0588,-0.703486 l 0.0262,-0.432017 -0.0596,-0.12562 c -0.0328,-0.06909 -0.075,-0.186397 -0.0939,-0.260684 -0.0307,-0.120598 -0.0345,0.11701 -0.0358,2.216503 l -0.002,2.351575 0.0889,0.03032 c 0.14214,0.04848 0.14818,0.06034 0.14818,0.290698 l 0,0.210552 0.59747,0.903505 c 0.32861,0.496936 0.60067,0.903513 0.60458,0.903513 0.004,0 0.007,-0.947934 0.007,-2.106523 z m 35.01893,0.269189 c 0.0586,-0.04589 0.0702,-0.0725 0.0702,-0.161688 0,-0.05873 0.0107,-0.113756 0.0237,-0.122289 0.015,-0.0098 0.0237,-0.297323 0.0237,-0.779715 0,-0.492726 -0.009,-0.764195 -0.0237,-0.764195 -0.0131,0 -0.0237,-0.0135 -0.0237,-0.03 0,-0.0165 -0.0272,-0.06009 -0.0605,-0.09685 -0.0333,-0.03676 -0.0873,-0.150344 -0.12002,-0.252411 -0.0614,-0.191323 -0.74569,-1.786434 -0.75992,-1.771371 -0.0148,0.01568 0.22943,2.186903 0.26452,2.351473 0.0191,0.08975 0.0619,0.411709 0.0951,0.715468 0.0331,0.30376 0.0703,0.631364 0.0827,0.728022 0.0123,0.09665 0.0227,0.189856 0.0232,0.20711 5.6e-4,0.02205 0.0504,0.03139 0.16771,0.03139 0.13451,0 0.18056,-0.01066 0.23708,-0.05494 z m 1.51625,-3.835889 c 0.0914,-0.193126 0.16613,-0.361371 0.16613,-0.37388 0,-0.06697 -0.0878,-0.03239 -0.28732,0.113153 -0.12234,0.08926 -0.22645,0.174569 -0.23138,0.189588 -0.008,0.02232 0.16132,0.414876 0.18069,0.42057 0.003,9.23e-4 0.0805,-0.156314 0.17188,-0.349431 z m -0.1495,-0.871878 c -0.004,-0.0609 0.0322,-0.09474 0.34892,-0.32625 0.30637,-0.22395 0.36473,-0.257458 0.4388,-0.251997 0.0771,0.0057 0.18391,-0.06572 1.0975,-0.733577 0.55663,-0.406929 1.00809,-0.744059 1.00325,-0.749183 -0.005,-0.0051 -0.19894,0.0088 -0.43138,0.03092 -0.54359,0.05175 -1.50531,0.114792 -1.75364,0.114938 -0.18548,1.13e-4 -0.19361,0.0025 -0.20772,0.06219 -0.008,0.03414 -0.034,0.08215 -0.0576,0.10669 -0.0236,0.02455 -0.17866,0.410011 -0.34456,0.8566 -0.24176,0.65081 -0.29602,0.819123 -0.27339,0.848007 0.0215,0.02738 0.0217,0.05124 9.6e-4,0.09925 -0.015,0.03476 -0.0272,0.08581 -0.0272,0.113429 0,0.04628 0.009,0.0442 0.10521,-0.02641 0.0845,-0.06155 0.10434,-0.09003 0.10077,-0.144598 z m -0.98835,-0.142726 c 0,-0.04919 0.12474,-0.09121 0.32005,-0.107804 l 0.16597,-0.0141 0.27099,-0.731067 c 0.14902,-0.402082 0.28409,-0.764946 0.30012,-0.806373 l 0.0291,-0.07531 -1.32289,0 -1.3229,0 -0.0272,0.0796 c -0.0226,0.06602 -0.0173,0.125316 0.0311,0.347489 0.0321,0.147342 0.0618,0.271218 0.066,0.275298 0.0564,0.05423 0.38712,0.289292 0.4073,0.289482 0.12989,0.0012 0.63761,0.373836 0.81602,0.598942 0.0617,0.07776 0.12273,0.14968 0.13577,0.159827 0.0411,0.03197 0.13041,0.02102 0.13041,-0.01599 z m -36.7236,-0.928464 c 0.0888,-0.281932 0.30275,-0.759276 0.41371,-0.922819 l 0.0826,-0.121858 -0.11851,0 c -0.1027,0 -0.1185,0.0067 -0.1185,0.05021 0,0.02761 -0.0213,0.07279 -0.0474,0.10041 -0.026,0.02763 -0.0475,0.07029 -0.0475,0.09484 0,0.07992 -0.0669,0.148437 -0.17681,0.181012 l -0.10771,0.03193 0.003,0.542754 c 0.002,0.41121 0.008,0.509981 0.024,0.407534 0.0116,-0.07438 0.0536,-0.238184 0.0932,-0.364011 z m 42.78425,-1.235431 c 0.0278,-0.0079 0.0627,-0.04297 0.0778,-0.07797 0.0217,-0.05054 0.0211,-0.0611 -0.003,-0.05129 -0.0167,0.0068 -0.0918,0.02689 -0.16675,0.04466 -0.13136,0.03112 -0.15441,0.04698 -0.12051,0.08288 0.0192,0.02037 0.1433,0.02137 0.21248,0.0017 z M 203.08964,36.43027 c 4.2e-4,-0.02416 0.11589,-1.122796 0.2566,-2.441392 l 0.25581,-2.397455 -0.0559,-0.175734 c -0.0811,-0.254843 -0.16527,-0.621511 -0.19789,-0.862119 -0.0478,-0.352538 -0.005,-0.534698 0.16643,-0.706894 l 0.0874,-0.08787 0.0376,-0.456917 c 0.0338,-0.411243 0.0442,-0.469761 0.10373,-0.585518 0.0363,-0.07073 0.0945,-0.149956 0.12904,-0.176053 0.055,-0.04142 0.0649,-0.07066 0.0785,-0.230369 0.0121,-0.141233 0.0306,-0.205798 0.0811,-0.283338 0.22721,-0.348759 1.02216,-0.621642 2.22366,-0.76335 0.75999,-0.08964 1.22599,-0.112419 2.26836,-0.110936 0.55745,8.02e-4 1.01354,-0.0071 1.01354,-0.01765 0,-0.0105 0.0256,-0.04516 0.0568,-0.07701 l 0.0568,-0.05791 -0.0532,-0.07652 c -0.1891,-0.271683 -0.28254,-0.549432 -0.26918,-0.80016 0.009,-0.165494 0.11579,-0.478702 1.31856,-3.860395 1.15398,-3.244558 1.31188,-3.705255 1.33355,-3.891163 0.0426,-0.364766 0.10847,-0.54922 0.24593,-0.687855 0.059,-0.05951 0.11625,-0.192795 0.27278,-0.635139 0.10897,-0.307906 0.22858,-0.604344 0.26581,-0.65877 0.0372,-0.05442 0.0676,-0.103023 0.0676,-0.10801 0,-0.005 -0.0933,-0.01662 -0.20745,-0.02585 -0.3144,-0.02543 -1.45766,-0.18023 -2.16343,-0.292937 -1.07613,-0.171847 -2.19134,-0.388513 -3.37451,-0.655605 -0.24555,-0.05543 -0.44946,-0.09699 -0.45313,-0.09235 -0.008,0.0091 -3.69705,6.476193 -3.781,6.626873 l -0.0508,0.09132 0.12323,0.04675 c 0.4198,0.159254 0.61161,0.678796 0.45768,1.239701 -0.0788,0.287244 -0.36108,0.69042 -0.59127,0.844625 -0.0573,0.03836 -0.10906,0.09268 -0.11506,0.120678 -0.006,0.02801 -0.0458,0.257076 -0.0884,0.509044 l -0.0774,0.458121 -0.0788,0.03018 -0.0788,0.03018 0,5.316577 0,5.316589 0.0652,0.01507 c 0.23888,0.05522 0.29044,0.106397 0.29044,0.288342 0,0.100591 0.0101,0.148135 0.0333,0.15759 0.0184,0.0074 0.0406,0.04819 0.0493,0.09055 0.0157,0.07537 0.0189,0.077 0.15635,0.077 0.11759,0 0.14049,-0.0071 0.14115,-0.04393 z m 15.39052,-1.949408 c 0.88104,-1.407705 2.21354,-2.632447 3.73524,-3.433186 0.22793,-0.119926 0.24358,-0.133013 0.24358,-0.203469 0,-0.106002 0.0762,-0.224045 0.18719,-0.29012 0.12891,-0.07672 0.82746,-0.353848 1.17606,-0.466579 0.66345,-0.214537 1.47656,-0.391876 2.19309,-0.47831 0.56517,-0.06818 0.74169,-0.04333 0.82753,0.116491 0.0293,0.05451 0.0554,0.07049 0.11503,0.07062 l 0.0772,1.54e-4 -0.006,-1.939304 -0.006,-1.939306 -0.19905,-0.07065 c -0.10948,-0.03886 -0.25084,-0.07715 -0.31413,-0.08508 l -0.11511,-0.01444 0,0.8838 c 0,0.536629 -0.01,0.902072 -0.0235,0.930334 -0.0561,0.111109 -0.45975,0.149214 -0.63276,0.05973 l -0.0905,-0.04682 -0.0119,-0.947917 -0.0118,-0.947928 -0.0771,-0.0496 -0.0771,-0.0496 0,-0.285175 c 0,-0.299339 0.0113,-0.333755 0.12446,-0.37622 0.0378,-0.01418 0.0415,-0.06381 0.0415,-0.552298 l 0,-0.536713 -0.0889,-0.04103 c -0.0489,-0.02257 -0.41438,-0.168685 -0.81218,-0.324715 l -0.72324,-0.28369 0.008,0.09029 c 0.01,0.104325 -0.0927,0.448585 -0.16495,0.555962 -0.0558,0.08299 -0.15985,0.146178 -0.24069,0.146178 -0.0531,0 -0.12503,0.193386 -1.24883,3.357695 -0.70846,1.994777 -1.21984,3.399783 -1.25985,3.461371 -0.24551,0.377883 -1.07333,0.5864 -2.06054,0.519022 -0.20212,-0.0138 -0.36923,-0.02398 -0.37134,-0.02264 -0.002,0.0013 -0.0113,0.183196 -0.0205,0.404118 l -0.0166,0.401668 0.0726,0.09585 c 0.15455,0.20434 0.15934,0.436278 0.0182,0.883222 -0.091,0.288256 -0.32206,0.820072 -0.44323,1.02028 -0.0613,0.101359 -0.075,0.158558 -0.10484,0.439325 -0.0188,0.177536 -0.0401,0.37363 -0.0471,0.435763 l -0.0128,0.112962 0.0776,-0.135617 c 0.0427,-0.07459 0.17018,-0.283581 0.28337,-0.464431 z m 16.03477,-3.065293 c 1.48068,-0.316269 4.30558,-0.5191 6.67406,-0.479217 2.13493,0.03596 3.79042,0.199881 4.55801,0.451351 l 0.18374,0.0602 -1.3e-4,-1.459605 c -6e-5,-0.802776 -0.01,-1.499136 -0.0216,-1.547465 -0.0118,-0.04832 -0.0284,-0.15187 -0.0369,-0.230101 -0.0147,-0.136359 -0.0191,-0.143847 -0.10668,-0.180935 -0.10245,-0.04339 -0.16655,-0.124092 -0.16655,-0.209594 l 0,-0.05718 -0.44455,-3.18e-4 c -0.49529,-3.46e-4 -1.55378,-0.03272 -2.54277,-0.07776 l -0.65201,-0.02969 -0.29634,0.180858 c -0.39244,0.239487 -1.15055,0.633459 -1.63592,0.850146 -1.37749,0.614964 -2.75901,1.032997 -4.05422,1.226752 -0.38635,0.05779 -1.46653,0.06497 -1.71888,0.01143 -0.38306,-0.08128 -0.68991,-0.241584 -0.80902,-0.422648 -0.0342,-0.05194 -0.51326,-1.365338 -1.06462,-2.91866 -0.79969,-2.252858 -1.01137,-2.8257 -1.04624,-2.831486 -0.11751,-0.01949 -0.14953,-0.03554 -0.21719,-0.108806 -0.0415,-0.04491 -0.10033,-0.158329 -0.13615,-0.262302 l -0.0631,-0.183188 -0.18115,0.07141 c -0.0996,0.03928 -0.41051,0.161717 -0.69088,0.272083 -0.28035,0.110367 -0.55507,0.219925 -0.6105,0.243464 l -0.10076,0.0428 0,0.535329 c 0,0.512745 0.002,0.535991 0.0473,0.55121 0.10553,0.03547 0.11869,0.07697 0.11869,0.374512 0,0.296995 -0.0115,0.331649 -0.12447,0.374056 -0.0385,0.01447 -0.0415,0.0831 -0.0415,0.957201 l 0,0.94162 -0.0567,0.03931 c -0.0845,0.05858 -0.29061,0.08562 -0.44868,0.05887 -0.25018,-0.04234 -0.22963,0.04695 -0.22963,-0.99778 l 0,-0.91378 -0.12703,0.01389 c -0.0699,0.0076 -0.21656,0.0462 -0.326,0.0857 l -0.19896,0.07182 -0.006,1.93525 -0.006,1.93526 0.15571,0.01322 c 0.14575,0.01239 0.1643,0.0078 0.28961,-0.07213 0.23155,-0.147627 0.32779,-0.159765 0.76923,-0.09699 0.45512,0.06472 0.60147,0.105993 0.68338,0.192746 0.0399,0.04227 0.0782,0.106502 0.085,0.142735 0.0118,0.06233 0.0292,0.06975 0.32482,0.138015 1.10281,0.254714 2.27032,0.741722 3.21526,1.3412 l 0.27126,0.172075 0.19107,-0.05939 c 0.10509,-0.03267 0.37244,-0.09814 0.59413,-0.145487 z m 13.33623,20.083539 0,-0.389115 0.0803,0 c 0.0442,0 0.10234,0.01977 0.1292,0.04394 0.0973,0.0875 0.18712,0.526708 0.12788,0.625299 -0.0141,0.02348 -0.26759,0.108995 -0.32309,0.108995 -0.008,0 -0.0143,-0.175104 -0.0143,-0.389117 z"
+       id="path2384"
+       sodipodi:nodetypes="csscccccccccsccccccsssssssssssssscccsscccccccccssssccccccccccccssccccccsssccccccsscccscccscccssssscccsssssscccssssscccsssssscccccccccccssssssssscccscccccccscccccssssscccsscccssssssssssssssssscccscccccscccccccscccccccsssssscccccsscccccccsscccccscccssssssssssssssccccccccssccccccccccsscccsscccsscccccccccscccsssccccccccsssssssssssssssssssssssscccsssssssssssscccssssssssssscccssssssssssssccsssccccccccccsscccccccccccccccssssssccsssscccccsssccssssccssssssssccccccccccssssssscccsssssccccccccccssssccccccccccscccccsssscccccscccssccsssssssccccccssscccccccccccssscccccccssscccsccccccsccsssssssssssssccssssccsssssssssssssccccccccccssssscccccssscccsccsssscccccscccssssssscccssssssssssscccssscccccccssssccssssssccccccccscccccccsccccccsssssscccssscccccscccsssccccccssssssscccscccssscccsccccccccssssscccccccsssc"
+       inkscape:connector-curvature="0"
+       transform="matrix(0.7640902,0,0,0.7640902,39.769403,12.749128)" />
+    <path
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter3945)"
+       d="m 141.65398,62.591019 c 0.006,-0.02035 -0.005,-0.03292 -0.023,-0.02791 -0.0186,0.005 -0.15273,0.01956 -0.29788,0.03239 -0.14518,0.01286 -0.2983,0.03356 -0.3403,0.046 -0.042,0.01248 -0.12982,0.01745 -0.19516,0.01106 -0.10386,-0.01011 -0.10988,-0.0053 -0.0478,0.03842 0.0967,0.06825 0.0516,0.07373 -0.28676,0.03477 -0.38615,-0.04443 -0.98831,-0.186325 -1.27027,-0.299332 -0.31757,-0.127294 -1.42237,-0.779386 -1.63574,-0.965512 -0.0973,-0.08484 -0.19122,-0.160532 -0.20872,-0.168192 -0.12163,-0.0531 -1.41182,-1.357831 -2.11523,-2.139028 -0.58336,-0.647853 -1.00299,-1.165468 -1.75669,-2.166793 -0.23233,-0.30866 -0.46081,-0.576808 -0.50773,-0.595898 -0.0728,-0.02964 -0.0946,-0.01416 -0.14825,0.105969 -0.0346,0.07736 -0.0566,0.164438 -0.0488,0.193477 0.0219,0.08161 -0.0609,0.08414 -0.19693,0.006 -0.13185,-0.07576 -0.41837,-0.446687 -0.4581,-0.59302 -0.0208,-0.07665 -0.005,-0.09 0.11904,-0.100835 0.0786,-0.0068 0.1888,-0.01172 0.24481,-0.01077 0.0805,0.0014 0.0972,-0.01523 0.0799,-0.07916 -0.0121,-0.04449 -0.0102,-0.10349 0.004,-0.13115 0.0155,-0.02965 -0.13019,-0.295688 -0.35488,-0.648365 -0.75888,-1.19116 -1.5633,-2.707125 -2.17335,-4.095741 -0.30098,-0.685075 -0.72904,-2.260447 -0.76678,-2.821841 -0.15084,-2.244521 0.58489,-4.504332 2.03103,-6.238272 0.16559,-0.19855 0.82948,-0.880535 0.86731,-0.890943 0.0127,-0.0034 0.15528,-0.114158 0.31681,-0.245904 0.32378,-0.264139 1.0309,-0.712198 1.51554,-0.96034 0.97131,-0.497276 2.27021,-0.956889 4.90805,-1.73666 1.72652,-0.510388 2.08644,-0.628713 2.46053,-0.808905 0.74524,-0.35899 1.2414,-0.734421 1.75026,-1.324416 0.38556,-0.447024 0.50491,-0.636068 1.26513,-2.003926 1.16593,-2.097862 1.91352,-3.144869 3.18211,-4.456642 0.30567,-0.316061 1.07784,-0.944428 1.52809,-1.243495 0.67838,-0.450593 1.2021,-0.687604 2.00607,-0.907844 1.16952,-0.320387 1.72318,-0.277583 2.21745,0.171442 0.0791,0.07179 0.17068,0.123097 0.20365,0.114034 0.033,-0.0092 0.10212,0.01782 0.15363,0.05977 l 0.0937,0.07627 0.0981,-0.202576 c 0.0577,-0.119134 0.1249,-0.199867 0.16322,-0.196003 0.0811,0.0082 0.18488,0.212248 0.14883,0.292678 -0.0174,0.03868 -0.009,0.06063 0.0249,0.0625 0.0642,0.0035 0.25016,0.380644 0.21676,0.439568 -0.0135,0.0237 -0.10858,0.02551 -0.21139,0.004 -0.23337,-0.04879 -0.30098,-0.03142 -0.27342,0.07017 0.0119,0.04376 -0.0132,0.119476 -0.0556,0.168271 -0.0425,0.0488 -0.0798,0.178758 -0.083,0.288794 -0.009,0.312331 -0.14976,0.739254 -0.33297,1.008836 -0.0921,0.135382 -0.38589,0.486353 -0.65303,0.779943 -0.84512,0.928753 -1.42613,1.692717 -1.68407,2.214403 -0.25736,0.520447 -0.28533,0.590927 -0.3496,0.880769 -0.0569,0.256607 -0.0536,0.32838 0.0284,0.627072 0.078,0.284141 0.12099,0.368805 0.27241,0.537269 0.2976,0.331025 0.51137,0.421711 0.96533,0.409505 0.19128,-0.0051 0.22851,-0.01922 0.32681,-0.123539 0.0644,-0.06829 0.19622,-0.148586 0.24219,-0.198773 0.29507,-0.277491 0.72234,-0.66111 1.10595,-0.970695 0.33509,-0.337274 0.72699,-0.665996 1.13195,-0.985923 0.59413,-0.554879 1.27981,-1.222905 1.9166,-1.803468 0.69247,-0.616128 1.23538,-1.116752 1.89503,-1.706481 0.42724,-0.398552 0.99057,-0.868297 1.45843,-1.300525 0.44915,-0.425827 0.9987,-0.913353 1.49612,-1.338174 0.50197,-0.53209 1.0676,-1.043378 1.63975,-1.515298 0.26538,-0.243989 0.56161,-0.518548 0.84587,-0.782605 0.58742,-0.537728 0.50766,-0.475138 0.84904,-0.76988 0.51151,-0.516334 1.20408,-1.086463 1.78482,-1.604386 0.59591,-0.597798 1.51886,-1.441692 2.05657,-1.887694 0.0555,-0.04073 0.48925,-0.425406 0.96388,-0.854824 0.56529,-0.511418 0.87748,-0.774448 0.92517,-0.819318 0.60532,-0.592834 1.4985,-1.370202 2.1548,-1.891117 0.6511,-0.662126 1.48777,-1.389978 2.22792,-2.043168 0.37208,-0.377416 0.81657,-0.763381 1.22291,-1.134183 0.63663,-0.575259 1.15928,-1.064262 1.16145,-1.086688 0.13824,-0.12149 0.20463,-0.141102 0.28462,-0.30659 0.10711,-0.196035 0.14562,-0.565917 0.094,-0.902967 -0.0189,-0.12389 -0.13147,-0.444409 -0.26126,-0.744396 -0.41032,-0.9482946 -0.33226,-1.1187913 0.81882,-1.788817 l 0.3372,-0.1962829 -0.077,-0.097636 c -0.19637,-0.248993 -0.47873,-0.3697205 -0.81278,-0.3474581 -0.16079,0.010705 -0.47918,-0.1496269 -0.59569,-0.2999947 -0.0515,-0.066486 -0.1216,-0.2238681 -0.15578,-0.3497511 -0.0529,-0.1952859 -0.0489,-0.2593006 0.028,-0.4360823 0.0496,-0.1139505 0.11913,-0.2322259 0.15456,-0.262834 0.0353,-0.030603 0.1098,-0.1701676 0.16526,-0.3101411 0.0706,-0.177955 0.14626,-0.2851288 0.25171,-0.3563435 0.19728,-0.1332148 0.51068,-0.1866145 0.69506,-0.1184261 0.0809,0.029929 0.20078,0.051219 0.26637,0.047314 0.0655,-0.0039 0.16745,-0.010181 0.22644,-0.013947 0.15548,-0.00993 0.40895,0.1205855 0.56117,0.2889255 0.10693,0.1182597 0.13846,0.1907223 0.16545,0.3800703 0.0337,0.2364305 0.006,0.3361874 -0.21276,0.7542017 -0.10157,0.1945154 -0.12366,0.4140575 -0.064,0.6355289 l 0.0355,0.1319862 0.16222,-0.1076744 c 0.0891,-0.059218 0.5291,-0.3215264 0.97753,-0.5829153 0.44841,-0.261377 0.82062,-0.4846113 0.8271,-0.4960819 0.0137,-0.024055 -0.086,-0.1097677 -0.28356,-0.2439828 -0.15703,-0.1066613 -0.2645,-0.1298412 -0.6305,-0.1359611 -0.29182,-0.00488 -0.46207,-0.09973 -0.65456,-0.3646597 -0.23628,-0.325224 -0.19755,-0.6549934 0.11993,-1.020698 0.0836,-0.10804 0.0812,-0.2167355 0.11422,-0.3550797 0.0393,-0.1855029 0.18269,-0.3071893 0.44796,-0.3798923 0.16253,-0.044546 0.27477,-0.045365 0.41805,-0.00306 0.10773,0.031809 0.24885,0.043905 0.31358,0.02687 0.30329,-0.079799 0.69816,0.1330951 0.85683,0.4619707 0.11792,0.2444563 0.10454,0.4188765 -0.0574,0.7469332 -0.14744,0.2986513 -0.14986,0.3153808 -0.0884,0.6056588 l 0.0634,0.298517 0.11471,-0.053734 c 0.0631,-0.029559 0.35092,-0.1915536 0.63966,-0.3599905 0.28873,-0.1684369 0.68762,-0.4010318 0.88645,-0.516869 0.19882,-0.1158401 0.36867,-0.2233236 0.37748,-0.23884 0.0291,-0.051353 -0.24991,-0.3240195 -0.37247,-0.3639939 -0.0662,-0.021595 -0.23755,-0.037692 -0.38074,-0.035752 -0.29479,0.00398 -0.4483,-0.060982 -0.63873,-0.2702834 -0.13375,-0.1470069 -0.19578,-0.3614131 -0.19832,-0.4437237 -0.004,-0.136278 0.005,-0.2687033 0.005,-0.3670724 2.5e-4,-0.04212 0.0187,-0.1139193 0.12103,-0.2226509 0.10732,-0.1140497 0.15214,-0.1990039 0.13676,-0.2592116 -0.0296,-0.1159668 0.0893,-0.3232906 0.27342,-0.4763325 0.17661,-0.1468699 0.37313,-0.1729465 0.63195,-0.083839 0.0996,0.034291 0.22619,0.049946 0.2813,0.034788 0.23308,-0.064131 0.45815,0.019608 0.72216,0.2686868 0.11758,0.1109322 0.15004,0.1765961 0.1911,0.3864384 0.0443,0.2262193 0.0362,0.2785322 -0.0764,0.4973884 -0.0692,0.134504 -0.13514,0.3166586 -0.14649,0.4047652 -0.0241,0.18742 0.077,0.610286 0.13193,0.5510748 0.0198,-0.021354 0.4435,-0.2711234 0.94164,-0.5550606 1.14275,-0.6513611 1.0822,-0.6126785 1.06399,-0.6797688 -0.0451,-0.1662584 -0.62901,-0.3901041 -0.85523,-0.3278735 -0.12677,0.03488 -0.53298,-0.1958685 -0.66519,-0.3778777 -0.0856,-0.117794 -0.11259,-0.1906347 -0.10395,-0.2803986 0.007,-0.066707 -0.008,-0.1555404 -0.0319,-0.1974175 -0.0525,-0.091716 0.0631,-0.3658746 0.21257,-0.504394 0.059,-0.054676 0.0944,-0.1306144 0.082,-0.1761709 -0.0372,-0.1368914 0.11056,-0.3848227 0.30822,-0.5173272 0.21667,-0.1452597 0.47066,-0.1702907 0.6377,-0.062856 0.0691,0.044446 0.15206,0.049051 0.27488,0.015264 0.35561,-0.097835 0.82001,0.2098346 0.92251,0.6111652 0.0541,0.2118278 0.0373,0.3094447 -0.10185,0.5915631 -0.12478,0.2529669 -0.15717,0.496264 -0.0961,0.7213428 l 0.0561,0.2069251 0.20889,-0.1016875 c 0.47999,-0.2336693 1.2202,-0.2900373 1.67612,-0.1276439 0.29431,0.1048407 0.70917,0.3596203 0.70205,0.4311814 -0.004,0.042265 0.008,0.051989 0.0322,0.025774 0.0555,-0.0598 0.4713,0.4378564 0.61005,0.7299637 0.25792,0.5430128 0.30592,1.1501024 0.13308,1.6839333 -0.21749,0.6718121 -0.90227,1.3208932 -1.59098,1.5080394 -0.43148,0.1172429 -0.64223,0.1223328 -1.15559,0.027934 -0.55989,-0.1029499 -0.60756,-0.1024027 -0.77432,0.00892 -0.32103,0.2143256 -0.94595,1.0134971 -1.201,1.5358978 -0.17717,0.3628965 -0.84795,1.5647444 -1.02678,1.8396904 -0.24665,0.379252 -0.45677,0.659952 -0.84152,1.124288 -0.49059,0.592048 -0.6879,0.792964 -0.81243,0.82722 -0.0541,0.01488 -0.29754,-0.02989 -0.54104,-0.09948 -0.74853,-0.213915 -1.29621,-0.189514 -1.8823,0.08384 -0.27735,0.129376 -0.93583,0.623499 -1.12513,0.844313 -0.72001,0.464947 -1.08067,1.042084 -1.66196,1.663778 -0.45166,0.45774 -0.62486,0.6287 -1.09359,1.079491 -0.13751,0.132262 -0.39292,0.386111 -0.56758,0.564108 -0.49195,0.497185 -0.99796,0.979906 -1.4913,1.475669 -1.12913,0.884263 -1.9128,1.872872 -2.81723,2.772314 -0.773,0.581494 -1.13095,1.103163 -1.54822,1.527386 -1.1859,0.879696 -1.60734,1.607627 -2.57985,2.555607 -0.7378,0.5635 -1.09006,1.078701 -1.82852,1.793529 -0.49296,0.439223 -0.48162,0.455186 -0.73909,0.736828 -0.0827,0.08345 -0.26161,0.264151 -0.39775,0.40153 -0.53519,0.540084 -0.67894,0.643342 -0.92134,0.877524 -0.33922,0.353147 -0.92695,0.993773 -1.41319,1.428124 -0.21683,0.20741 -0.61113,0.585598 -0.75828,0.731772 -2.75768,2.450707 -5.42912,5.401425 -8.40714,8.211918 -0.41167,0.290447 -0.80224,0.720469 -1.01148,1.197138 -0.45757,1.040643 0.073,2.079294 1.2759,2.497613 0.33587,0.116798 0.80384,0.107054 1.2983,-0.02702 0.51839,-0.140581 0.73715,-0.249408 1.42864,-0.710783 0.62681,-0.418206 0.91729,-0.538329 1.25706,-0.519867 0.26286,0.0143 0.66147,0.208986 0.84993,0.41512 0.14486,0.158447 0.28602,0.54759 0.3017,0.831696 0.0236,0.428612 -0.18026,1.259223 -0.43492,1.771818 -0.21923,0.441276 -0.77145,1.198962 -1.35429,1.858146 -1.15859,1.310334 -3.39226,2.716863 -5.92419,3.730369 -1.09425,0.438034 -1.36992,0.583609 -1.87032,0.987682 -0.45307,0.365855 -0.80102,0.796004 -1.18255,1.461966 -0.31016,0.541396 -0.59923,1.292836 -0.74132,1.927229 -0.0269,0.119603 -0.0611,0.227684 -0.0763,0.240182 -0.0152,0.01251 -0.0229,0.03985 -0.0173,0.06081 0.01,0.03694 -0.0752,0.37158 -0.35152,1.381274 -0.073,0.266931 -0.12843,0.501532 -0.12306,0.521361 0.006,0.01985 -0.005,0.04011 -0.023,0.0451 -0.0181,0.005 -0.0517,0.08055 -0.0747,0.167941 -0.0974,0.370073 -0.40425,1.153693 -0.63539,1.622532 -0.27679,0.561463 -0.57213,1.000026 -1.03256,1.53328 -0.81975,0.949416 -1.53,1.421218 -2.69641,1.791159 -0.37992,0.120495 -0.68587,0.202425 -0.67986,0.182077 z M 177.73229,6.1030012 c 0.0284,-0.032009 0.0329,-0.053021 0.01,-0.046683 -0.023,0.00636 -0.0651,0.037726 -0.0937,0.069731 -0.0284,0.032016 -0.033,0.053015 -0.01,0.046672 0.023,-0.00635 0.0652,-0.037717 0.0937,-0.06972 z"
+       id="path2398"
+       sodipodi:nodetypes="csssssssssssssssssssssssssssssssssssscccssssssssssssssssccccccccccccsccccccsscccssssssssssssscccsssssccssssscccssssssssssssssssssssssssssssssscccssssssssssssssccscccccccscccccsssssssssssssssssssssccsssc"
+       inkscape:connector-curvature="0"
+       transform="matrix(0.7640902,0,0,0.7640902,25.127162,12.749114)" />
+    <path
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter3945)"
+       d="m 70.011956,57.308898 c -0.06361,-0.182304 0.02362,-0.335041 0.194719,-0.340992 0.05437,-0.002 0.112637,-0.018 0.129477,-0.0358 0.02935,-0.03101 0.06738,-0.222408 0.05443,-0.273919 -0.0033,-0.0136 -0.17953,-0.208345 -0.391366,-0.432766 -0.478145,-0.506566 -0.905605,-0.988835 -1.340803,-1.512752 -0.686815,-0.826842 -1.554819,-1.96687 -1.877504,-2.46594 -0.79825,-1.234507 -1.304177,-2.597391 -1.465371,-3.947349 -0.06304,-0.527901 -0.0864,-1.577337 -0.04423,-1.986082 0.134187,-1.300354 0.636393,-2.355604 1.677171,-3.524078 0.627936,-0.704963 1.750331,-1.70072 2.452842,-2.176076 1.298025,-0.878324 2.923183,-1.706221 5.63767,-2.871986 1.534725,-0.659112 1.975347,-0.867096 2.551322,-1.204332 1.503536,-0.880276 2.580906,-2.104416 3.527333,-4.007858 0.526136,-1.05817 1.725259,-3.373091 1.879926,-3.629239 1.352177,-2.239361 2.724018,-3.650385 4.140627,-4.258902 0.282506,-0.121351 0.831499,-0.29054 1.109022,-0.341774 0.519471,-0.09592 1.018844,-0.04164 1.392765,0.151361 0.140142,0.07232 0.189216,0.109968 0.315821,0.242281 0.144624,0.151094 0.149596,0.154452 0.140851,0.0952 -0.005,-0.03377 -0.01415,-0.06672 -0.02036,-0.07316 -0.03678,-0.03829 0.03599,-0.03138 0.188106,0.01786 l 0.17409,0.05632 0.04299,-0.06849 c 0.103642,-0.165082 0.211127,-0.19829 0.347534,-0.107377 0.07686,0.05121 0.108008,0.117054 0.159544,0.337204 0.05095,0.217707 0.04022,0.296635 -0.05385,0.395999 -0.085,0.08977 -0.162986,0.101224 -0.256306,0.03762 -0.129897,-0.0885 -0.210212,-0.04951 -0.310766,0.1508 -0.02763,0.05502 -0.05248,0.102578 -0.05525,0.105695 -0.0029,0.0031 -0.01535,-0.03216 -0.02796,-0.07838 l -0.02293,-0.08403 -0.02362,0.117515 c -0.05545,0.275966 -0.138606,0.408643 -0.610458,0.973993 -0.413279,0.495167 -0.755033,0.942729 -1.008925,1.321296 -0.101488,0.151315 -0.238177,0.352464 -0.303761,0.446999 -0.142983,0.206087 -0.202799,0.325663 -0.268406,0.536572 -0.09507,0.305613 -0.128872,0.616717 -0.116115,1.068931 0.02103,0.745138 0.225467,1.464421 0.585498,2.059955 0.0885,0.146383 0.144418,0.212341 0.359883,0.424496 0.294073,0.289536 0.387847,0.350193 0.713386,0.461304 0.241488,0.08244 0.462648,0.11277 0.722064,0.09908 0.241935,-0.01279 0.641106,-0.103226 0.691772,-0.156734 0.02114,-0.02233 0.808186,-0.811209 1.749007,-1.753092 4.476435,-4.481481 7.423355,-7.445107 11.854865,-11.922076 0.79851,-0.806695 2.63461,-2.67198 3.90597,-3.968092 0.83052,-0.846644 2.59171,-2.66211 4.35348,-4.487615 l 0.85207,-0.8828584 -0.006,-0.159756 c -0.008,-0.2124949 -0.0339,-0.4292362 -0.0782,-0.6514218 -0.0543,-0.2729232 -0.0549,-0.4542862 -0.002,-0.5791435 0.10329,-0.2426245 0.2746,-0.4033352 0.63336,-0.5941832 0.26259,-0.1397045 0.74366,-0.4415779 0.74321,-0.4663854 -7.6e-4,-0.041787 -0.1203,-0.2378625 -0.16084,-0.2638428 -0.0251,-0.016077 -0.0911,-0.016045 -0.15873,8.45e-5 -0.1013,0.024153 -0.12398,0.020768 -0.18156,-0.027148 -0.0726,-0.060491 -0.16869,-0.2356996 -0.26514,-0.4838507 -0.0758,-0.1948055 -0.0699,-0.2077894 0.19044,-0.4201538 0.20189,-0.1647517 0.30137,-0.222005 0.46873,-0.2698496 0.13994,-0.040012 0.2254,-0.030085 0.31677,0.036802 0.092,0.06726 0.25616,0.3025681 0.29863,0.4279295 0.041,0.1211922 0.0167,0.2701459 -0.0569,0.3478737 -0.0621,0.065515 -0.061,0.068824 0.0729,0.2287072 0.0718,0.08578 0.0736,0.08644 0.13601,0.051728 0.25876,-0.1439641 1.01067,-0.5864515 1.00962,-0.5941749 -7.2e-4,-0.00527 -0.0264,-0.056824 -0.0569,-0.1145091 -0.0684,-0.1290199 -0.13096,-0.1619374 -0.23761,-0.1251303 -0.0416,0.014351 -0.0948,0.023799 -0.11841,0.021019 -0.10135,-0.011912 -0.21337,-0.1856755 -0.34471,-0.5347434 l -0.0671,-0.1781479 0.17655,-0.1663426 c 0.30142,-0.2840099 0.59718,-0.4129216 0.78637,-0.3427059 0.0962,0.035754 0.11118,0.048551 0.21552,0.1851924 0.12528,0.1640753 0.1763,0.2685475 0.18269,0.3740055 0.006,0.092837 -0.0496,0.2477228 -0.0993,0.2786032 -0.047,0.029257 -0.0376,0.054229 0.0709,0.1871647 l 0.0804,0.098581 0.50859,-0.2847655 c 0.27973,-0.1566165 0.51044,-0.2907068 0.5127,-0.2979785 0.01,-0.030602 -0.10593,-0.2252324 -0.14836,-0.2500044 -0.0254,-0.014835 -0.0765,-0.016504 -0.11351,-0.00374 -0.10783,0.037175 -0.18136,0.029736 -0.23603,-0.023881 -0.0636,-0.062325 -0.19151,-0.3116419 -0.25992,-0.5065157 l -0.0525,-0.1496141 0.10622,-0.1086293 c 0.2429,-0.2483375 0.39131,-0.3452236 0.6269,-0.4091988 0.11224,-0.030488 0.15557,-0.029745 0.23337,0.00394 0.0836,0.036229 0.1092,0.05909 0.2055,0.1843771 0.1497,0.1948415 0.20359,0.3514055 0.16985,0.4936336 -0.0187,0.078845 -0.0408,0.1205649 -0.0782,0.1469072 -0.0576,0.04068 -0.0559,0.045167 0.0848,0.2210005 l 0.0685,0.085491 0.54937,-0.2986667 c 0.30215,-0.1642521 0.54851,-0.3037584 0.54741,-0.3099957 -0.008,-0.045938 -0.13824,-0.249936 -0.17184,-0.2689576 -0.0229,-0.01303 -0.0947,-0.010402 -0.15934,0.00584 -0.10075,0.025305 -0.12628,0.022334 -0.17825,-0.020754 -0.0704,-0.058432 -0.16769,-0.2385756 -0.26055,-0.4827716 -0.0789,-0.2074824 -0.0758,-0.214876 0.18374,-0.4280862 0.29045,-0.2386615 0.54908,-0.336724 0.71651,-0.2716768 0.0681,0.026458 0.0989,0.054317 0.19914,0.1802026 0.15436,0.1938694 0.20269,0.3168844 0.18243,0.4642417 -0.0125,0.090792 -0.0291,0.1276888 -0.0763,0.1688023 -0.0677,0.059222 -0.0681,0.058248 0.0859,0.2465661 l 0.0831,0.1015704 0.5318,-0.2791221 c 0.29251,-0.1535192 0.53367,-0.2841547 0.53591,-0.2903046 0.006,-0.015648 -0.14783,-0.29577 -0.17964,-0.3276544 -0.0144,-0.014405 -0.0559,-0.020286 -0.0921,-0.013082 -0.18552,0.03679 -0.22624,0.034652 -0.27634,-0.0145 -0.0587,-0.057637 -0.16724,-0.2668952 -0.2587,-0.4991592 l -0.0649,-0.1647272 0.18473,-0.1752214 c 0.19809,-0.1879189 0.34741,-0.2781958 0.56113,-0.3392998 0.12875,-0.036809 0.20387,-0.027435 0.29493,0.036806 0.0852,0.06012 0.25997,0.2982072 0.29462,0.4014652 0.0538,0.160139 0.0216,0.3441215 -0.0703,0.4025496 -0.0499,0.031673 -0.0555,0.017808 0.10348,0.2533782 0.0506,0.074967 0.0953,0.1358619 0.0994,0.1353568 0.004,-5.218e-4 0.14441,-0.085422 0.31195,-0.1886621 0.16755,-0.10325 0.40492,-0.2449841 0.52754,-0.3149762 0.12257,-0.06998 0.22205,-0.1304931 0.22102,-0.1344535 -0.0106,-0.040636 -0.13469,-0.2404023 -0.1702,-0.2739454 -0.0369,-0.034874 -0.0686,-0.037958 -0.16175,-0.01571 -0.19271,0.046036 -0.2452,-0.00707 -0.42346,-0.4284912 -0.11345,-0.2681841 -0.11261,-0.2735687 0.0661,-0.4264064 0.0607,-0.051921 0.14213,-0.1217152 0.18096,-0.1550934 0.14858,-0.127809 0.44665,-0.2341539 0.5748,-0.2050811 0.0895,0.020327 0.19569,0.1155397 0.31018,0.2783942 0.15044,0.2139374 0.16841,0.4205638 0.0476,0.5480945 l -0.0633,0.066785 0.12706,0.1603236 c 0.0699,0.088173 0.13136,0.1600219 0.13665,0.1596491 0.006,-3.929e-4 0.0931,-0.030778 0.19527,-0.067552 0.31188,-0.1123134 0.51073,-0.1480784 0.73094,-0.1314715 0.60707,0.045788 1.11479,0.3181169 1.43314,0.7687053 0.0561,0.079507 0.13135,0.198864 0.16709,0.265242 0.0786,0.1460542 0.20167,0.4913223 0.24333,0.6826807 0.0804,0.3697982 0.0189,0.776234 -0.17282,1.141051 -0.18971,0.3609277 -0.516,0.7837197 -0.71672,0.9285972 -0.41963,0.3029223 -1.01237,0.5035726 -1.42614,0.4827765 -0.12385,-0.00624 -0.35377,-0.058717 -0.60268,-0.137562 -0.3114,-0.098646 -0.54174,-0.049819 -0.77857,0.1650545 -0.15624,0.141716 -0.21758,0.2353476 -0.92188,1.4066711 -0.73097,1.2156706 -1.18817,1.9580586 -1.55963,2.532419 -0.25721,0.397738 -0.2835,0.431733 -0.57363,0.741946 -0.2187,0.233838 -0.32245,0.333109 -0.36964,0.353662 -0.0484,0.02106 -0.12422,0.0141 -0.28866,-0.02643 -0.32751,-0.08071 -0.78252,-0.158535 -1.00807,-0.172427 -0.24609,-0.01515 -0.44591,0.0033 -0.73179,0.06777 -0.42447,0.09564 -0.4994,0.128309 -0.76887,0.335071 -0.13393,0.102751 -0.31248,0.235494 -0.39676,0.294964 -0.1596,0.112595 -0.83448,0.829196 -12.92057,13.719798 -1.03327,1.102049 -3.43694,3.663428 -5.341495,5.691963 -1.904551,2.028528 -3.899248,4.15639 -4.432671,4.728587 -0.53341,0.572195 -1.293995,1.382923 -1.690156,1.801587 l -0.720329,0.761253 0.02213,0.05699 c 0.01217,0.03136 0.01628,0.101549 0.0092,0.155995 -0.07018,0.535029 0.37597,1.387468 1.033769,1.975173 0.775133,0.692519 1.634739,1.000072 2.500991,0.894825 0.223987,-0.02722 0.494346,-0.140344 1.06271,-0.444655 0.320775,-0.171767 0.954341,-0.568275 1.239594,-0.775792 0.350364,-0.254893 0.578159,-0.343558 0.900254,-0.350383 0.371006,-0.0079 0.637575,0.107484 0.899259,0.389127 0.244298,0.262961 0.333147,0.51054 0.341362,0.951276 0.003,0.153316 -0.0095,0.355698 -0.02772,0.449715 -0.07316,0.379918 -0.460827,1.16637 -0.87206,1.7692 -0.196299,0.287754 -0.899664,1.030334 -1.194403,1.260984 -0.59985,0.469427 -0.989304,0.70746 -2.683388,1.640129 -0.10375,0.05713 -0.394614,0.182323 -0.646365,0.27823 -0.698309,0.266017 -1.087643,0.455253 -1.575375,0.765679 -0.786181,0.500393 -1.408347,1.130261 -1.906878,1.930483 -0.344112,0.552349 -0.589634,1.119268 -0.808708,1.867347 -0.07228,0.246831 -0.170808,0.547004 -0.218934,0.667034 -0.114479,0.285496 -0.234413,0.617565 -0.552505,1.529739 -0.508894,1.459344 -0.778331,2.139758 -1.160924,2.931761 -0.702994,1.455246 -1.534391,2.635911 -2.539438,3.606231 -0.687763,0.663992 -1.177762,1.062714 -1.727983,1.406074 -1.023877,0.638915 -1.923527,0.904933 -3.298833,0.975469 -0.5884,0.03017 -0.620257,0.02809 -1.1357,-0.07387 -1.168295,-0.231243 -1.778464,-0.435219 -2.575209,-0.861043 -0.990499,-0.529378 -2.075761,-1.350681 -3.058939,-2.314975 -0.300174,-0.294392 -0.941512,-0.914371 -1.42519,-1.377722 l -0.879427,-0.84244 -0.152379,0.0437 -0.15237,0.04369 -0.0037,0.117609 c -0.0041,0.129617 -0.04089,0.18452 -0.148439,0.221608 -0.122697,0.04232 -0.207244,0.0067 -0.372634,-0.157059 -0.105951,-0.104889 -0.154079,-0.166792 -0.173923,-0.223693 z"
+       id="path3250"
+       sodipodi:nodetypes="csssssssssssssssssssscccsssssscccssssssssssssscccssssssssssssssssssscccsssscccsssscccssssscccsssssssssscccsssscccsssssssssssssssscccssssssssssssssssssssssscccssssssssssssssssssssssssscccccssc"
+       inkscape:connector-curvature="0"
+       transform="matrix(0.7640902,0,0,0.7640902,9.8210596,12.749115)" />
+    <path
+       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter3945)"
+       d="m 28.831462,11.132354 -1.768065,0 -0.353608,0.882352 0.353608,0.97059 -0.176804,1.058822 -0.884019,-0.529411 -0.707217,-1.323529 -1.502858,-0.352943 -0.618815,-0.617646 -1.326044,-0.617648 -1.502846,-2.4705879 0.08841,-1.1470588 3.712923,-2.8235293 1.768039,0.7941165 0.265213,0.6176482 0,0.7058828 0.442016,0.617646 0.884027,0.2647062 0.618821,-0.5294123 0.08841,-0.6176472 L 27.947423,5.4852939 27.417018,5.22059 27.063396,4.7794122 27.859021,4.4264713 27.682217,3.544118 l 0,-0.5294136 L 27.151812,2.485293 26.886593,1.6911778 25.82577,1.4264715 24.941736,1.25 23.08527,2.5735299 l -4.685339,1.8529414 -1.060836,1.0588226 -0.795618,0.6176483 -0.176818,1.4117635 0.353621,0.7058844 0.884026,2.3823509 1.149226,2.205881 1.237641,1.588237 -1.944851,3.176471 -2.210075,4.764706 -1.326043,2.117644 -2.210065,2.735293 -0.0884,1.235296 -1.149237,1.058826 1.768052,1.588235 -0.44201,1.852938 0.176804,4.147063 0.795618,4.764703 0.795632,4.235295 0.884017,1.411764 1.237649,2.558828 1.944865,2.911764 0.530405,1.852932 0.530424,1.323535 -1.59126,2.205883 -2.828886,1.147054 -0.265208,0.882359 5.392571,-0.176468 -0.795618,1.411757 0.972422,0.882352 2.563683,0.264711 2.033272,-1.76471 0.707229,-2.470579 1.149226,-2.117654 1.414439,-1.235289 0.442015,-1.411767 -1.502834,-0.08823 0.972417,-0.970593 -1.94485,0.617648 1.414445,-1.411764 -1.060837,-0.264704 -0.795632,-0.970586 -1.326043,-2.735297 -3.094088,-2.558825 -0.618821,-0.176471 0.618821,-0.529412 -0.08841,-1.499999 0.618822,-1.323531 -0.530419,0.08824 0.972428,-1.676469 0,-1.676474 0.618814,-0.882352 0,-1.147056 1.326042,-1.764709 0.08842,-1.499995 -0.265221,-1.235296 0.618828,-1.411766 0.707217,-1.147056 0,-0.705882 0.795631,-0.08824 0.707216,-0.705881 0.618828,-1.764708 1.414437,-1.588234 1.679658,-0.617648 1.060823,0.882352 2.56369,0.794121 2.033258,1.058822 0.972423,1.235295 1.679651,0.176469 5.304177,2.294118 2.740477,0.970589 2.210075,1.676471 0.530425,-0.176475 0,-0.529409 -1.237643,-0.970587 2.386868,0.617645 0.265219,-0.441179 -0.530425,-0.529408 0.884032,0 0.0884,-0.529412 -1.591249,-0.35294 1.237628,-0.352944 0,-0.617647 -0.44201,-0.08824 -1.326043,0.08824 -1.060823,-0.441174 -0.707231,-0.352945 1.060839,-0.88235 0.265206,-0.617649 -0.176805,-0.441176 -0.972422,0.176474 -2.033284,1.05882 -0.265193,0.529413 -0.707224,-0.176469 -2.563689,-1.411764 -0.0884,-0.970588 -1.502846,-0.794121 -2.563683,-1.323529 -0.618813,0.441177 0.0884,-0.617646 -1.414445,-1.323531 -1.23764,-0.352941 -1.149238,-1.323528 -0.353602,-0.441179 1.149231,0.794119 -0.176804,-0.882354 0.88402,0.441175 -0.265206,-1.323527 1.23764,1.147061 -0.53041,-0.794119 1.237627,0.52941 -1.060823,-1.499998 0.795618,0.264705 -0.353608,-1.411765 0.618813,0.529411 -0.884021,-1.32353 0.884021,0.264707 -0.795618,-1.058822 1.060825,-0.08824 -1.149228,-0.705882 0.707217,-0.352938 -0.795618,-0.08824 1.060824,-0.970587 -0.972423,0.08824 0.08841,-0.617648 0.08841,-1.764705 -0.53041,1.235294 -0.618828,-1.764707 0.08841,1.411765 -0.353608,0.08824 -0.884033,0 -0.97243,-1.411765 -0.972428,0 -1.149239,-0.970587 -0.530419,0.52941 -1.32603,0.882355 z"
+       id="path1939"
+       inkscape:connector-curvature="0"
+       transform="matrix(0.7640902,0,0,0.7640902,-3.2196331,12.749116)" />
+    <path
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.49999997000000002;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter3945)"
+       d="m 365.69974,62.509154 c -1.61846,-0.582376 -1.06171,-2.268311 -1.21867,-3.499849 0.15856,-0.807419 -0.28795,-1.45533 -0.5401,-2.170084 -0.22866,-1.028943 0.11319,-2.088791 0.69816,-2.967703 -0.0395,-2.328322 -0.60809,-4.608435 -0.9964,-6.889479 -0.1979,-1.654772 0.96441,-3.263507 0.2978,-4.882724 -0.51603,-1.525766 -0.50017,-3.106202 -0.47546,-4.687539 0.13139,-2.131436 -0.80356,-4.158033 -0.88273,-6.282147 -1.7386,-0.706529 -1.60946,2.315273 -2.63051,3.139266 -0.6806,2.038484 -2.30763,3.636149 -3.21498,5.565972 -0.37924,1.129734 -0.75429,2.258808 -1.64388,3.14629 -1.38572,1.752472 -1.08736,4.176292 -2.59207,5.885214 -0.84761,1.697052 -2.19622,3.32076 -2.65247,5.114101 -0.25965,0.885722 0.95566,1.565231 0.30325,2.410816 -0.6846,1.313919 -0.3136,2.809685 -0.65687,4.19675 -1.13189,0.0087 -0.80566,1.213982 -1.6339,1.578024 -0.70458,0.335722 -1.71895,0.452447 -2.40993,0.128775 -0.79504,-0.576726 -0.1816,-1.834344 0.19746,-2.568376 0.56924,-0.872482 0.9367,-1.798596 0.90954,-2.829613 0.14277,-0.824553 0.69356,-1.551674 0.65669,-2.427733 -0.16129,-0.969749 0.46408,-1.725679 0.69371,-2.576483 0.54423,-2.547446 1.70284,-4.961753 2.15637,-7.541677 0.85612,-1.741729 2.12849,-3.378705 2.5439,-5.26093 0.16139,-2.32027 1.08374,-4.507277 2.21121,-6.557486 0.30835,-1.423159 1.42494,-2.506076 1.84859,-3.882926 -0.18264,-1.21476 -0.30882,-2.430441 -0.11694,-3.651352 -0.73491,-2.083975 -2.15101,-3.907133 -2.60454,-6.082943 -0.28671,0.773006 -0.13215,2.163626 -0.25366,3.172322 -0.49409,1.995387 -1.17008,3.989918 -1.55207,5.985832 0.60971,0.997212 0.50819,2.150012 0.0369,3.179453 0.269,0.569963 -0.38162,1.680912 -0.49824,0.591207 0.25318,-1.469262 -0.88774,-0.536969 -0.22485,0.348043 0.42511,0.72275 1.8317,1.752203 -0.0192,0.790516 -0.83227,-0.43372 -1.03201,-1.523902 -1.26479,-2.318954 0.3253,-1.104328 0.69034,-2.181597 0.59326,-3.344936 0.10593,-2.032689 -0.0348,-4.095621 0.66185,-6.055933 0.21241,-2.412589 -0.0533,-4.883338 0.18663,-7.289181 0.0878,-1.047183 0.96062,-1.936213 2.12159,-1.835439 1.32409,0.0077 1.36126,-1.367298 0.48382,-0.755757 0.49638,-0.514496 2.00306,-3.4811785 0.91713,-2.8788043 -0.54702,-0.1360312 0.17943,-1.1440836 -0.78541,-1.6403603 1.11316,0.3699805 0.20517,-0.8947475 0.72405,-1.2771041 -0.66255,-1.0963816 3.10062,0.8634603 0.95648,-0.4953924 -1.36526,-1.283582 1.04892,0.3128236 1.89795,0.00962 -0.77368,-0.578186 -2.50134,-2.1009448 -1.76746,-2.1881406 -0.68706,-0.8030169 0.55759,0.095134 0.22019,-0.9039153 0.89444,0.5753709 2.59248,2.0988412 1.1709,0.2296639 -0.88848,-1.24401017 -0.47522,-0.9734679 0.42128,-0.941382 0.46376,1.5082868 1.84548,1.4220628 0.58861,0.00991 0.85205,0.4570506 2.08573,2.7981631 1.38999,0.5985389 0.80967,0.5109306 1.12149,0.2984482 1.53506,0.7170228 0.15385,-0.9130828 0.44661,1.2128379 1.39944,0.061116 0.95757,-0.2552343 1.26303,0.7932157 1.78331,1.3194062 1.00917,0.5739861 1.91905,2.0026793 0.68379,2.795136 -0.66076,0.6449226 -0.015,1.9560656 0.26011,2.339624 -1.34262,-0.011247 0.16844,2.0345032 0.1562,3.1114742 -0.2792,1.421305 -1.16194,-2.225471 -1.66029,-1.356746 0.14765,0.911332 0.04,1.819284 -0.48287,0.768432 -0.83985,1.191669 -0.7189,-1.017622 -0.93909,0.492739 0.36889,0.603671 -1.69906,0.437967 -0.18809,0.970354 1.0264,0.162419 2.71904,0.13162 2.76045,1.411618 0.10689,1.038639 -0.0899,2.030364 -0.54902,2.981644 -0.14943,1.460586 -0.11017,2.98718 0.15838,4.405984 1.34982,1.300869 2.05033,3.009195 2.90028,4.599162 0.52617,1.264777 0.19644,2.704329 0.52329,3.960332 0.54904,0.498437 0.49278,1.512178 0.26577,2.107374 -0.81936,0.880592 -0.17175,2.220658 -0.53983,3.285261 -0.41516,2.677731 -0.59616,5.401362 -0.35245,8.095754 0.53309,2.212307 -0.54605,4.414142 -0.55445,6.637799 0.0904,1.098554 -0.74358,2.268696 0.007,3.256338 -1.0089,1.097804 -0.0971,2.615652 -0.0904,3.884898 0.0835,1.530215 1.52495,2.975272 0.81056,4.50641 -0.61579,0.495258 -1.3199,0.685324 -2.13902,0.253295 z M 355.12861,11.974158 c 0.0158,-0.418853 -0.38046,0.456907 0,0 z"
+       id="path2875"
+       inkscape:connector-curvature="0"
+       transform="matrix(0.7640902,0,0,0.7640902,67.428843,12.749115)" />
+    <g
+       id="g3164"
+       transform="matrix(0,-0.32710617,0.32710617,0,256.81897,151.42198)"
+       style="filter:url(#filter3945)">
+      <path
+         style="fill:#fdfdfd"
+         d="m 279.06793,56.225278 0,-43.942726 70.12137,0 70.12137,0 0,43.942726 0,43.942722 -70.12137,0 -70.12137,0 0,-43.942722 z"
+         id="path3170"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:#9e9e9e"
+         d="m 279.06793,56.225278 0,-43.942726 70.12137,0 70.12137,0 0,43.942726 0,43.942722 -70.12137,0 -70.12137,0 0,-43.942722 z m 19.57698,24.951521 0.0599,-18.173122 -2.04664,-0.0036 c -1.12565,-0.0019 -2.17763,-0.08677 -2.33774,-0.188435 -0.22869,-0.145228 -0.30386,-5.493481 -0.35061,-24.947943 l -0.0595,-24.763088 -7.01214,0 -7.01214,0 -0.06,42.890905 c -0.033,23.589998 -0.01,43.023592 0.0521,43.185766 0.0882,0.231926 2.09645,0.281813 9.40949,0.233738 l 9.29738,-0.06112 0.0599,-18.173122 z m 20.10146,0 0.0599,-18.173122 -2.0604,0 c -1.28152,0 -2.20994,-0.110448 -2.45599,-0.292172 -0.36663,-0.270786 -0.39984,-2.097155 -0.45372,-24.951521 l -0.0581,-24.659349 -4.49946,-0.06348 -4.49945,-0.06348 0,24.77304 c 0,24.253159 -0.009,24.77812 -0.45211,25.015004 -0.24866,0.133079 -1.40566,0.241961 -2.57112,0.241961 l -2.119,0 0,18.075731 c 0,9.941653 0.0713,18.14703 0.15844,18.234172 0.0871,0.08714 4.37331,0.13097 9.52482,0.09739 l 9.36637,-0.06105 0.0599,-18.173122 z m 19.86691,-25.013433 0.0591,-43.186559 -6.95433,0.06191 -6.95432,0.06191 -0.0595,24.648739 c -0.0403,16.687292 -0.13809,24.727664 -0.3028,24.893087 -0.1338,0.134392 -1.21143,0.296938 -2.39473,0.361216 l -2.15146,0.116869 -0.0599,17.855232 c -0.0439,13.084208 0.0112,17.940889 0.20615,18.175807 0.21874,0.263563 1.89217,0.309705 9.40942,0.259456 l 9.14337,-0.06112 0.059,-43.186555 z m 20.0424,24.954999 0,-18.231557 -2.33737,-0.116869 -2.33738,-0.116869 -0.11687,-24.776217 -0.11687,-24.776218 -6.9537,-0.06191 -6.95371,-0.06191 0,43.089165 c 0,23.699041 0.0713,43.160478 0.15847,43.247636 0.0872,0.08716 4.32074,0.130985 9.40795,0.09739 l 9.24948,-0.06108 0,-18.231556 z M 378.37939,99.1489 c 0.19203,-0.231389 0.24752,-5.176596 0.20392,-18.173122 l -0.0599,-17.855232 -2.20786,-0.06781 c -1.21433,-0.0373 -2.34503,-0.181652 -2.51269,-0.320791 -0.24709,-0.20507 -0.30482,-4.939873 -0.30482,-25.000578 l 0,-24.747599 -4.43996,0 -4.43995,0 -0.0595,24.834652 -0.0595,24.834652 -2.39581,0.06661 -2.39581,0.06661 0,18.184423 c 0,10.001432 0.0701,18.254545 0.15582,18.340247 0.0857,0.08571 4.22752,0.155826 9.20403,0.155826 7.34383,0 9.09789,-0.05988 9.31203,-0.31789 z m 20.30534,-17.972101 0.0599,-18.173122 -2.0604,0 c -1.28151,0 -2.20994,-0.110448 -2.45599,-0.292172 -0.36663,-0.270786 -0.39984,-2.097155 -0.45371,-24.951521 l -0.0581,-24.659349 -4.61632,-0.06338 -4.61633,-0.06338 0,24.734412 c 0,18.926225 -0.0659,24.800276 -0.28048,25.014897 -0.17794,0.177942 -1.0752,0.280485 -2.45425,0.280485 l -2.17376,0 0,18.075731 c 0,9.941653 0.0713,18.14703 0.15844,18.234172 0.0871,0.08714 4.37331,0.13097 9.52482,0.09739 l 9.36638,-0.06105 0.0599,-18.173122 z m 19.80786,-24.951521 0,-43.124643 -6.89527,0 -6.89527,0 -0.0581,24.659349 c -0.0539,22.854366 -0.0871,24.680735 -0.45372,24.951521 -0.24176,0.178555 -1.15082,0.292172 -2.33769,0.292172 l -1.9421,0 0,18.075731 c 0,9.941653 0.0713,18.147058 0.1585,18.234233 0.0872,0.08717 4.26817,0.131 9.29109,0.09739 l 9.13258,-0.06111 0,-43.124643 z"
+         id="path3168"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:#0a0a0a"
+         d="m 279.06793,56.225278 0,-43.942726 70.12137,0 70.12137,0 0,43.942726 0,43.942722 -70.12137,0 -70.12137,0 0,-43.942722 z m 139.77526,-0.0024 0,-43.472892 -7.24587,0 c -3.98523,0 -7.27097,0.02629 -7.30164,0.05843 -0.0307,0.03214 -0.10956,11.207733 -0.17531,24.834653 l -0.11953,24.776217 -2.33738,0.116869 c -1.28556,0.06428 -3.44179,0.06428 -4.79163,0 l -2.45425,-0.116869 -0.11953,-24.776217 c -0.0657,-13.62692 -0.14463,-24.804606 -0.17531,-24.839301 -0.0307,-0.0347 -2.29088,-0.0347 -5.02269,0 l -4.96693,0.06308 -0.0595,24.819151 -0.0595,24.819153 -2.39476,0.111413 c -2.89228,0.134561 -2.36469,0.134561 -5.25698,0 l -2.39475,-0.111413 -0.0595,-24.819153 -0.0595,-24.819151 -4.79163,0 -4.79163,0 -0.0595,24.70177 -0.0595,24.701767 -2.27788,0.118237 c -2.90255,0.150658 -2.58515,0.152981 -5.31648,-0.03889 l -2.33738,-0.164191 -0.0595,-24.715986 -0.0595,-24.715985 -14.84129,0 c -8.16271,0 -14.86638,0.02549 -14.89705,0.05664 -0.0307,0.03115 -0.10956,11.205935 -0.17531,24.832855 l -0.11953,24.776217 -2.33738,0.116869 c -1.28556,0.06428 -3.44179,0.06428 -4.79163,0 l -2.45425,-0.116869 -0.11953,-24.776217 c -0.0657,-13.62692 -0.14464,-24.804648 -0.17531,-24.839395 -0.0307,-0.03475 -2.23829,-0.03475 -4.90583,0 l -4.85006,0.06318 -0.0595,24.648739 c -0.0327,13.556808 -0.14818,24.737411 -0.25656,24.845783 -0.10837,0.108375 -2.28111,0.197044 -4.82831,0.197044 -3.54098,0 -4.67656,-0.0714 -4.82366,-0.303303 -0.10582,-0.166817 -0.19401,-11.373715 -0.19598,-24.904218 l -0.004,-24.600914 -7.36274,0 -7.36274,0 0,43.472237 0,43.472235 69.65389,7.01e-4 69.65389,7.02e-4 0,-43.47289 z"
+         id="path3166"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+</svg>
diff --git a/data/themes/default/intro_bg.svg b/data/themes/default/intro_bg.svg
new file mode 100644 (file)
index 0000000..6f16c68
--- /dev/null
@@ -0,0 +1,595 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="intro_bg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="725"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.5"
+     inkscape:cx="619.55102"
+     inkscape:cy="354.60886"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1"
+     inkscape:snap-grids="true" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient5448">
+      <stop
+         style="stop-color:#beb7c8;stop-opacity:1;"
+         offset="0"
+         id="stop5450" />
+      <stop
+         style="stop-color:#beb7c8;stop-opacity:0;"
+         offset="1"
+         id="stop5452" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4557">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4559" />
+      <stop
+         style="stop-color:#0300da;stop-opacity:1;"
+         offset="1"
+         id="stop4561" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2518"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9434139,0,0,0.9434139,62.279262,39.359798)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       id="linearGradient3945">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3947" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3949" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 400 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1000 : 400 : 1"
+       inkscape:persp3d-origin="500 : 266.66667 : 1"
+       id="perspective62" />
+    <linearGradient
+       id="linearGradient6053">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6055" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop6057" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6499"
+       inkscape:collect="always">
+      <stop
+         id="stop6501"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6503"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient3245"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8327515,0,0,-0.6476426,-48.09403,12.672202)"
+       x1="311.95688"
+       y1="-116.67703"
+       x2="311.95688"
+       y2="-276.41519" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4108"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3544445,0,0,1.7332213,31.621862,51.58815)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4121"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,133.62899)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4127"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,340.11416)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4133"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,39.887975,233.1463)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <inkscape:perspective
+       id="perspective2886"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter3869-9"
+       x="-0.019231318"
+       width="1.0384626"
+       y="-0.12226724"
+       height="1.2445345">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.4581674"
+         id="feGaussianBlur3871-2" />
+    </filter>
+    <inkscape:perspective
+       id="perspective2849"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3625"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3647"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3669"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3691"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3713"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3713-1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3713-8"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3713-15"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3713-9"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3713-5"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3713-99"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3713-93"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3713-7"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-4"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-3"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-8"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-6"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-17"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-85"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-66"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-49"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-852"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-7"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-46"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3816-63"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5448"
+       id="linearGradient5454"
+       x1="0"
+       y1="768"
+       x2="0"
+       y2="713.1153"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5448"
+       id="linearGradient5460"
+       gradientUnits="userSpaceOnUse"
+       x1="0"
+       y1="768"
+       x2="0"
+       y2="713.1153"
+       gradientTransform="translate(0,-2)" />
+    <inkscape:perspective
+       id="perspective3645"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3629"
+       id="radialGradient3635"
+       cx="727.25122"
+       cy="757.60583"
+       fx="727.25122"
+       fy="757.60583"
+       r="500"
+       gradientTransform="matrix(0.43355171,-0.84504566,1.805509,0.92631863,-955.91397,614.06396)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3629">
+      <stop
+         style="stop-color:#00cbff;stop-opacity:0;"
+         offset="0"
+         id="stop3631" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop3633" />
+    </linearGradient>
+    <radialGradient
+       r="500"
+       fy="757.60583"
+       fx="727.25122"
+       cy="757.60583"
+       cx="727.25122"
+       gradientTransform="matrix(0.43355171,-0.84504566,1.805509,0.92631863,-980.8803,538.04792)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3654"
+       xlink:href="#linearGradient3629"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective3703"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5448-8"
+       id="linearGradient5460-9"
+       gradientUnits="userSpaceOnUse"
+       x1="0"
+       y1="768"
+       x2="0"
+       y2="713.1153"
+       gradientTransform="translate(0,-2)" />
+    <linearGradient
+       id="linearGradient5448-8">
+      <stop
+         style="stop-color:#beb7c8;stop-opacity:1;"
+         offset="0"
+         id="stop5450-7" />
+      <stop
+         style="stop-color:#beb7c8;stop-opacity:0;"
+         offset="1"
+         id="stop5452-5" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective3741"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <radialGradient
+       r="500"
+       fy="757.60583"
+       fx="727.25122"
+       cy="757.60583"
+       cx="727.25122"
+       gradientTransform="matrix(0.43355171,-0.84504566,1.805509,0.92631863,-980.8803,538.04792)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3654-9"
+       xlink:href="#linearGradient3629-3"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3629-3">
+      <stop
+         style="stop-color:#00cbff;stop-opacity:0;"
+         offset="0"
+         id="stop3631-1" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop3633-4" />
+    </linearGradient>
+    <radialGradient
+       r="500"
+       fy="757.60583"
+       fx="727.25122"
+       cy="757.60583"
+       cx="727.25122"
+       gradientTransform="matrix(0.43355171,-0.84504566,1.805509,0.92631863,-980.8803,538.04792)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3750"
+       xlink:href="#linearGradient3629-3"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective2902"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <radialGradient
+       r="500"
+       fy="757.60583"
+       fx="727.25122"
+       cy="757.60583"
+       cx="727.25122"
+       gradientTransform="matrix(0.43355171,-0.84504566,1.805509,0.92631863,-980.8803,538.04792)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3750-6"
+       xlink:href="#linearGradient3629-3-3"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3629-3-3">
+      <stop
+         style="stop-color:#00cbff;stop-opacity:0;"
+         offset="0"
+         id="stop3631-1-8" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop3633-4-5" />
+    </linearGradient>
+  </defs>
+  <rect
+     style="fill:#ffffff;fill-opacity:1;stroke:none"
+     id="rect2855-6"
+     width="1000"
+     height="800"
+     x="0"
+     y="0" />
+  <rect
+     style="fill:url(#radialGradient3750);fill-opacity:1;stroke:none"
+     id="rect2855"
+     width="1000"
+     height="800"
+     x="0"
+     y="0" />
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Goblin"
+     x="266.96185"
+     y="759.88806"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="759.88806" /></text>
+  <g
+     id="g3952"
+     transform="translate(-2.6135359,3.2274215)" />
+</svg>
diff --git a/data/themes/default/intro_configure.svg b/data/themes/default/intro_configure.svg
new file mode 100644 (file)
index 0000000..3e46ac7
--- /dev/null
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1000"
+   height="800"
+   id="svg4003"
+   version="1.1"
+   inkscape:version="0.46+devel"
+   sodipodi:docname="intro_configure.svg">
+  <defs
+     id="defs4005">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4011" />
+    <inkscape:perspective
+       id="perspective3998"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4615"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4040"
+       id="linearGradient4038"
+       x1="-568.24231"
+       y1="-820.92566"
+       x2="-733.16718"
+       y2="-401.87253"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.25866863,0.70093291,-0.70093291,-0.25866863,-99.586642,1046.1972)" />
+    <linearGradient
+       id="linearGradient4040">
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0"
+         id="stop4042" />
+      <stop
+         style="stop-color:black;stop-opacity:0"
+         offset="1"
+         id="stop4044" />
+    </linearGradient>
+    <filter
+       inkscape:collect="always"
+       id="filter4644">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="9.018696"
+         id="feGaussianBlur4646" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.98994949"
+     inkscape:cx="618.06315"
+     inkscape:cy="414.34766"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1280"
+     inkscape:window-height="949"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata4008">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-252.36218)">
+    <path
+       style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline;filter:url(#filter4644)"
+       d="m 811.6875,413.46875 c -27.46192,5.21328 -46.93761,30.03842 -53.9375,55.96875 -6.90588,21.48846 -0.51485,46.31451 15.375,62.21875 -26.28064,72.26371 -51.96523,144.76771 -78.28125,217.03125 -23.89245,0.46637 -48.16793,16.40974 -53.59375,40.40625 -8.65459,25.06212 -6.82152,55.09685 9.90625,76.4375 5.58302,9.72592 17.36083,19.11089 29.0625,14.3125 14.14317,-5.58565 18.24671,-22.69973 17.875,-36.53125 0.35737,-6.44523 -1.19385,-16.83366 6.78125,-19.125 6.1441,-1.37648 14.18585,4.31547 11,10.9375 -3.88135,14.9025 -11.71097,32.05728 -3.3125,46.84375 6.26579,11.03387 22.80504,11.59401 31.5,3.25 27.79889,-16.23545 45.98191,-51.31248 36.125,-83.21875 -3.01361,-10.41319 -8.23834,-19.9738 -15.09375,-28.28125 27.4422,-72.9855 54.17157,-146.59024 82.0625,-219.1875 32.53432,-1.5794 58.65719,-33.16283 56.8125,-65.21875 0.77137,-25.31142 -10.15322,-52.41394 -32.3125,-65.78125 -12.41175,-4.35717 -24.46734,6.80539 -27.75,18.25 -4.6139,11.9195 -2.38946,25.31375 -6.375,37.25 -4.62679,1.06131 -11.27926,0.5028 -14.25,-3 2.37096,-11.49823 3.92988,-23.2497 5.96875,-34.8125 1.20905,-8.89865 0.87375,-20.14033 -7.875,-25.09375 -2.86795,-1.84539 -6.24444,-2.8619 -9.6875,-2.65625 z"
+       id="path3967" />
+    <path
+       style="fill:#000000;fill-opacity:1;display:inline"
+       d="m 814.7439,432.08013 c -24.39035,6.85812 -39.65456,31.17671 -42.03123,55.40625 -1.77359,17.31508 7.49105,32.27997 20.96877,41.87501 l -24.81381,67.21818 -0.0626,-0.0311 -63.84383,172.93744 c -16.83556,-1.25741 -35.39634,0.17572 -42.09375,17.65625 -11.04554,17.23061 -15.23658,39.29813 -6.15629,58.31249 3.05646,8.66604 22.77117,39.04543 23.56251,15.46875 4.00621,-15.09279 1.46393,-33.91034 12.09371,-46.03126 14.49469,-6.43113 45.7708,-0.52893 40.21882,20.75002 -1.54954,14.46272 -7.66992,29.33213 -6.62503,43.46872 24.39036,-6.85808 39.62337,-31.17668 42.00002,-55.40622 1.7731,-17.31029 -7.4972,-32.24847 -20.96878,-41.84376 l 24.81384,-67.21825 0.0936,0.0314 63.81235,-172.96868 c 16.83907,1.25914 35.39453,-0.1711 42.09375,-17.65632 11.04553,-17.23061 15.26778,-39.2981 6.18745,-58.31247 -3.05644,-8.66609 -22.77114,-39.01421 -23.56248,-15.43754 -4.00621,15.09279 -1.49519,33.87914 -12.12497,46.00007 -14.49461,6.43112 -45.73947,0.56015 -40.1875,-20.71878 1.54955,-14.46274 7.66984,-29.36342 6.62503,-43.50002 z"
+       id="rect2874-8-7" />
+    <path
+       style="opacity:0.228;fill:url(#linearGradient4038);fill-opacity:1;display:inline"
+       d="m 281.60683,700.27474 c -15.96178,2.7935 -1.33889,12.69911 26.06207,22.56844 19.50635,7.05289 47.16245,13.14847 72.43229,17.05677 l 57.79595,27.37974 -0.10009,-0.0126 148.69291,70.44196 c -18.38113,-0.51221 -35.18045,0.0716 -20.39468,7.19184 10.13045,7.01846 33.06004,16.00716 65.50863,23.7522 13.70684,3.5299 70.75718,15.90419 42.57314,6.30079 -14.54254,-6.14767 -40.21103,-13.81252 -44.47768,-18.74971 6.59098,-2.61955 45.12066,-0.21545 65.72019,8.45204 16.22485,5.89105 28.3786,11.94777 46.79707,17.70597 15.96194,-2.7935 1.30795,-12.6991 -26.09314,-22.56845 -19.50076,-7.05091 -47.12982,-13.13561 -72.39387,-17.04405 l -57.79595,-27.37974 0.13232,0.0128 -148.76275,-70.45469 c 18.38654,0.51289 35.18422,-0.0697 20.3946,-7.19185 -10.1306,-7.01849 -33.02889,-16.00717 -65.47727,-23.75216 -13.70698,-3.52995 -70.71898,-15.89154 -42.53496,-6.28813 14.54238,6.14766 40.14141,13.79982 44.40807,18.737 -6.59083,2.61959 -45.05097,0.22818 -65.65044,-8.43929 -16.22485,-5.89104 -28.41712,-11.96047 -46.83567,-17.7187 z"
+       id="rect2874-8-7-4" />
+  </g>
+</svg>
diff --git a/data/themes/default/intro_practice.svg b/data/themes/default/intro_practice.svg
new file mode 100644 (file)
index 0000000..add4b50
--- /dev/null
@@ -0,0 +1,308 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.47pre4 r22446"
+   sodipodi:docname="intro_practice.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="726"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.61522534"
+     inkscape:cx="615.71024"
+     inkscape:cy="405.75084"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3694">
+      <stop
+         style="stop-color:black;stop-opacity:0.227"
+         offset="0"
+         id="stop3696" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop3698" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4557">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4559" />
+      <stop
+         style="stop-color:#0300da;stop-opacity:1;"
+         offset="1"
+         id="stop4561" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3945">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3947" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3949" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 400 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1000 : 400 : 1"
+       inkscape:persp3d-origin="500 : 266.66667 : 1"
+       id="perspective62" />
+    <linearGradient
+       id="linearGradient6053">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6055" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop6057" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6499"
+       inkscape:collect="always">
+      <stop
+         id="stop6501"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6503"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient3245"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8327515,0,0,-0.6476426,-48.09403,12.672202)"
+       x1="311.95688"
+       y1="-116.67703"
+       x2="311.95688"
+       y2="-276.41519" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4108"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3544445,0,0,1.7332213,31.621862,51.58815)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4121"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,133.62899)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4127"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,340.11416)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4133"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,39.887975,233.1463)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <inkscape:perspective
+       id="perspective2871"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2518"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9434139,0,0,0.9434139,62.279262,39.359798)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective2871-4"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499-1"
+       id="linearGradient4108-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3544445,0,0,1.7332213,31.621862,-148.41185)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       id="linearGradient6499-1"
+       inkscape:collect="always">
+      <stop
+         id="stop6501-3"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6503-0"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective2894"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2900"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3694"
+       id="linearGradient3692"
+       x1="-340.13901"
+       y1="580.56818"
+       x2="-587.59583"
+       y2="385.5177"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1001.4773,-3.3905771)" />
+    <inkscape:perspective
+       id="perspective4733"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4755"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <filter
+       inkscape:collect="always"
+       id="filter5279">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="9.1336879"
+         id="feGaussianBlur5281" />
+    </filter>
+  </defs>
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Goblin"
+     x="266.96185"
+     y="759.88806"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="759.88806" /></text>
+  <path
+     style="fill:#ffffff;fill-opacity:1;filter:url(#filter5279)"
+     d="m 727.875,183.625 c -54.95141,0.10239 -108.24656,41.45339 -117.4375,96.3125 -7.18751,34.46439 1.06933,74.66203 29.125,97.71875 30.89444,22.7893 81.93759,12.49974 98.61823,-22.93373 14.37819,-30.04999 10.10074,-71.19785 -16.98347,-92.81884 -10.04267,-7.52903 -22.44565,-11.79194 -35.04101,-12.15368 17.69111,-12.77806 43.12833,-17.16843 62.6875,-6.40625 19.28249,12.40743 26.07937,36.25157 30.2523,57.53233 4.48332,27.1286 6.13127,55.01012 3.6227,82.46767 -4.74574,44.68635 -25.036,87.96711 -57.34375,119.15625 -33.53869,34.54528 -77.40287,56.79957 -121.34375,75.625 -11.23396,6.71688 -16.21668,24.32533 -6.09375,34.15625 9.32663,10.21101 25.578,9.01264 37.03884,3.29819 69.94174,-24.1193 137.78775,-61.10272 186.1071,-118.09283 26.51479,-30.77346 44.20182,-68.80511 51.76031,-108.67411 2.18112,16.71195 14.82435,31.27634 31.28125,35.28125 16.4564,4.95509 35.7916,-0.58354 45.625,-14.8125 16.45944,-21.3702 8.44275,-58.05287 -17.46875,-67.90625 -16.4904,-7.48772 -37.54311,-3.0365 -48.65625,11.46875 -3.13644,3.75974 -5.66889,7.93583 -7.53125,12.46875 3.21694,-39.5474 -2.55464,-80.8248 -21.65625,-115.84375 -19.09902,-33.78711 -53.53548,-58.6884 -92.4113,-63.51014 -11.26208,-1.85956 -22.72889,-2.57781 -34.1512,-2.33361 z m 187,37 c -30.09653,-0.77919 -51.82806,35.96111 -38.57033,62.52391 10.36983,26.30104 50.17864,34.80357 69.44533,13.41359 21.02478,-19.99669 15.03046,-61.36333 -12.59375,-72.1875 -5.63765,-2.62212 -11.99793,-4.03541 -18.28125,-3.75 z"
+     id="path2885-8" />
+  <path
+     style="fill:#000000;fill-opacity:1"
+     d="m 729.24652,202.27502 c -24.86194,0.81505 -49.26109,8.55033 -68.65124,25.43509 -33.84869,27.20416 -45.31559,80.90572 -24.37531,120.11021 12.6486,25.44898 45.9923,30.70952 68.65124,17.78104 21.70115,-12.30047 26.26462,-41.57536 20.48939,-64.64756 -5.42006,-25.10698 -34.31987,-39.60578 -56.05143,-29.43879 -9.43877,4.41596 -8.62695,3.35172 -20.13612,12.83532 -1.62864,-17.11896 8.23708,-32.05555 13.30633,-37.44613 19.27587,-20.49767 47.99987,-30.24403 75.01,-25.90612 29.7625,4.20493 48.55508,33.48396 55.46265,61.93918 9.41352,38.70202 11.15741,79.75225 4.9457,119.16817 -10.65921,64.75378 -54.64129,117.90361 -106.68612,151.66858 -23.56149,16.4422 -50.02019,27.00568 -75.59877,39.21245 -13.30203,6.51851 -0.67282,12.80562 7.77183,8.00736 63.47604,-21.20757 125.74376,-53.00609 173.33552,-102.91797 38.21438,-39.44239 62.32847,-94.42174 61.46817,-151.07981 0,-9.45372 -0.43538,-18.99189 -1.53083,-28.37899 -4.02654,-44.97399 -28.88948,-90.38854 -70.65306,-106.68612 -17.7612,-6.73739 -37.4209,-10.28987 -56.75795,-9.65591 z m 184.64,37.09285 c -6.18299,0.28246 -12.21842,2.88239 -16.48571,7.65409 -5.17362,5.33804 -7.47599,13.22873 -6.8298,20.72489 0.48425,9.59273 6.80369,18.45696 15.30817,21.90246 8.58092,3.35825 19.019,2.00507 25.90612,-4.59245 5.38466,-4.83818 8.39584,-12.25578 8.24286,-19.66511 0.0457,-5.66577 -1.48752,-11.39715 -4.82796,-15.89694 -4.33664,-6.10149 -11.34368,-9.96642 -18.60531,-10.12694 -0.88187,-0.0563 -1.82507,-0.0403 -2.70837,0 z m 0,117.16634 c -6.18144,0.27232 -12.3099,2.88445 -16.48571,7.77184 -5.03654,5.41748 -7.49698,13.22312 -6.8298,20.7249 0.47983,9.59774 6.79871,18.33779 15.30817,21.78469 8.58092,3.35803 19.019,2.00507 25.90612,-4.59245 5.39077,-4.84198 8.39581,-12.24996 8.24286,-19.66511 0.009,-3.5795 -0.58712,-7.09786 -2.00184,-10.36245 -3.82409,-8.66819 -12.29913,-15.27689 -21.54919,-15.54367 -0.87904,-0.0541 -1.70755,-0.15665 -2.59061,-0.11775 z"
+     id="path2885" />
+  <g
+     transform="matrix(5.0734563,0,0,5.3232265,-1583.057,-2586.3935)"
+     style="fill:#000000;fill-opacity:1"
+     id="g2887" />
+  <g
+     transform="matrix(5.0734563,0,0,5.3232265,-1583.057,-2586.3935)"
+     style="fill:#000000;fill-opacity:1"
+     id="g2891" />
+  <path
+     style="fill:url(#linearGradient3692);fill-opacity:1"
+     d="m 367.45933,453.36003 c -24.13417,0.31885 -41.62643,3.34489 -45.94006,9.95021 -9.55792,10.64226 26.92567,31.65031 82.87189,46.9871 35.37217,9.95564 73.41303,12.01356 84.52805,6.95594 10.71799,-4.81194 -10.85831,-16.26428 -37.23486,-25.29012 -27.83824,-9.82185 -69.68411,-15.49377 -82.33751,-11.51645 -5.49573,1.72752 -5.63418,1.31119 -8.67537,5.02118 -16.91428,-6.69694 -20.38554,-12.54013 -20.12958,-14.64893 0.97337,-8.01868 20.99477,-11.83146 51.87825,-10.13447 33.51712,1.64497 78.45313,13.09892 110.76856,24.2306 43.97081,15.14023 82.36874,31.19908 111.35175,46.61858 47.1599,25.33168 50.63566,46.12389 28.73979,59.33274 -8.88014,6.43219 -25.90664,10.56462 -40.58571,15.33991 -7.48161,2.55004 10.76141,5.00956 14.92166,3.13248 44.53966,-8.2964 78.41426,-20.73598 81.43935,-40.26151 2.99601,-15.42986 -21.98133,-36.93778 -73.432,-59.10241 -8.44128,-3.69829 -17.39335,-7.42962 -26.87063,-11.10186 -44.18411,-17.59382 -109.59798,-35.35998 -165.9138,-41.7356 -23.77705,-2.63566 -46.60878,-4.02539 -65.37978,-3.77739 z m 217.76046,14.51072 c -5.93077,0.1105 -9.64471,1.12759 -9.65132,2.99428 -0.40725,2.08824 4.33604,5.17508 11.67561,8.10758 9.04964,3.75267 23.28402,7.22036 34.86502,8.56824 11.57952,1.31375 20.80933,0.78438 21.80548,-1.79657 1.06463,-1.89269 -2.54743,-4.79446 -9.31626,-7.69299 -5.0133,-2.21645 -11.6641,-4.45856 -19.02243,-6.21888 -9.7847,-2.3869 -20.24276,-3.89886 -27.64773,-3.96166 -0.93209,-0.022 -1.86113,-0.0158 -2.70837,0 z m 104.6186,45.83546 c -5.93828,0.10653 -9.73434,1.1284 -9.54617,3.04035 -0.19924,2.11931 4.31004,5.17288 11.67561,8.10758 9.04971,3.75463 23.17265,7.17374 34.75987,8.52217 11.57933,1.31366 20.80933,0.78438 21.80548,-1.79657 1.06734,-1.89418 -2.54225,-4.79218 -9.31625,-7.69299 -3.18816,-1.4003 -6.92484,-2.77668 -11.25454,-4.05379 -11.56399,-3.391 -25.93997,-5.97632 -35.42823,-6.08068 -0.92743,-0.0212 -1.84747,-0.0613 -2.69584,-0.0461 z"
+     id="path2885-9" />
+</svg>
diff --git a/data/themes/default/intro_quit.svg b/data/themes/default/intro_quit.svg
new file mode 100644 (file)
index 0000000..18b4e96
--- /dev/null
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.47pre4 r22446"
+   sodipodi:docname="intro_quit.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="726"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.61522533"
+     inkscape:cx="513.67642"
+     inkscape:cy="463.84008"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient4557">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4559" />
+      <stop
+         style="stop-color:#0300da;stop-opacity:1;"
+         offset="1"
+         id="stop4561" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3945">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3947" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3949" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 400 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1000 : 400 : 1"
+       inkscape:persp3d-origin="500 : 266.66667 : 1"
+       id="perspective62" />
+    <linearGradient
+       id="linearGradient6053">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6055" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop6057" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6499"
+       inkscape:collect="always">
+      <stop
+         id="stop6501"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6503"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient3245"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8327515,0,0,-0.6476426,-48.09403,12.672202)"
+       x1="311.95688"
+       y1="-116.67703"
+       x2="311.95688"
+       y2="-276.41519" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4108"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3544445,0,0,1.7332213,31.621862,51.58815)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4121"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,133.62899)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4127"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,340.11416)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4133"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,39.887975,233.1463)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <inkscape:perspective
+       id="perspective2871"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2518"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9434139,0,0,0.9434139,62.279262,39.359798)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective2871-4"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499-1"
+       id="linearGradient4108-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3544445,0,0,1.7332213,31.621862,-148.41185)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       id="linearGradient6499-1"
+       inkscape:collect="always">
+      <stop
+         id="stop6501-3"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6503-0"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective3657"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3680"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3739"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3824"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3852"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3940"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3960"
+       x1="-278.00076"
+       y1="581.71515"
+       x2="-581.52838"
+       y2="292.07993"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(838.63304,-6.8960763)" />
+    <inkscape:perspective
+       id="perspective5309"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective5331"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <filter
+       inkscape:collect="always"
+       id="filter5858"
+       x="-0.10974643"
+       width="1.2194929"
+       y="-0.045678593"
+       height="1.0913572">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="9.5901209"
+         id="feGaussianBlur5860" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter5862">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="9.5901209"
+         id="feGaussianBlur5864" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter5894">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="9.5529999"
+         id="feGaussianBlur5896" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter5898">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="9.5529999"
+         id="feGaussianBlur5900" />
+    </filter>
+  </defs>
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Goblin"
+     x="266.96185"
+     y="759.88806"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="759.88806" /></text>
+  <g
+     id="g3726"
+     transform="translate(119.53198,32.181688)">
+    <path
+       style="fill:#ffffff;fill-opacity:1;filter:url(#filter5898)"
+       d="m 545.21875,82.15625 c -8.11065,2.593197 -7.26147,12.596658 -6.28125,19.3125 -0.72614,100.68434 -0.0968,201.37534 -0.3125,302.0625 0,52.88542 0,105.77083 0,158.65625 81.87811,22.84479 163.72871,45.78951 245.6875,68.34375 0,-160.66667 0,-321.33333 0,-482 -27.99953,-0.27289 -57.3672,0.50146 -84.53125,-0.34375 6.56063,-10.30581 -0.45922,-26.61008 -13.17755,-27.12784 C 639.97424,107.11942 592.98164,94.273234 545.90625,81.8125 l -0.6875,0.34375 z"
+       id="rect2874-7-7-0" />
+    <path
+       style="fill:#ffffff;fill-opacity:1;filter:url(#filter5894)"
+       d="m 508.5,132.1875 c 0,164.21875 0,328.4375 0,492.65625 11.20155,-10.13695 28.96477,0.18691 40,-10.4375 2.94568,-6.65631 1.33518,-15.10244 1.71876,-22.4681 -0.0789,-139.16269 -0.006,-278.33446 -0.0313,-417.50065 69.32292,0 138.64583,0 207.96875,0 0,150.13542 0,300.27083 0,450.40625 11.20155,-10.13695 28.96477,0.18691 40,-10.4375 2.94568,-6.65631 1.33518,-15.10244 1.71876,-22.4681 -0.0779,-153.91269 -0.007,-307.83447 -0.0313,-461.75065 -97.11458,0 -194.22917,0 -291.34375,0 l 0,1 0,1 z"
+       id="rect2874-3" />
+    <path
+       style="fill:#000000;fill-opacity:1"
+       d="m 557.74927,103.97456 0,35.0625 125.625,0 -125.625,-35.0625 z m 209.66954,63.50576 0.018,-0.006 0.0349,0 -0.0529,0.006 z m 0.018,-0.006 -209.6875,0 0,381.875 209.6875,58.5 0,-440.375 z"
+       id="rect2874-7-7"
+       sodipodi:nodetypes="ccccccccccccc" />
+    <path
+       id="rect2874"
+       d="m 523.61644,145.1279 0,461.625 13.69375,0 0,-445.375 235.97508,0 0,445.375 13.66608,0 0,-461.625 -263.33491,0 z"
+       style="fill:#000000;fill-opacity:1" />
+    <path
+       style="opacity:0.228;fill:url(#linearGradient3960);fill-opacity:1"
+       d="m 106.07575,355.85045 181.25931,70.58159 -181.84379,0 416.96879,179.43749 13.71875,0 -402.31254,-173.09374 168.15629,0 255.86646,115.19639 204.38353,56.02235 -394.43749,-171.21874 2,0 402.31249,173.09374 13.65625,0 -416.96874,-179.43749 -16,0 -246.75931,-70.58159 z"
+       id="rect2874-0-5"
+       sodipodi:nodetypes="cccccccccccccccc" />
+  </g>
+  <g
+     id="g3726-0"
+     transform="translate(516.65949,37.209684)" />
+</svg>
diff --git a/data/themes/default/intro_sing.svg b/data/themes/default/intro_sing.svg
new file mode 100644 (file)
index 0000000..26089d5
--- /dev/null
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.47pre4 r22446"
+   sodipodi:docname="intro_sing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="726"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.43503001"
+     inkscape:cx="134.29335"
+     inkscape:cy="407.61507"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="g3955"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient4557">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4559" />
+      <stop
+         style="stop-color:#0300da;stop-opacity:1;"
+         offset="1"
+         id="stop4561" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3945">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3947" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3949" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 400 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1000 : 400 : 1"
+       inkscape:persp3d-origin="500 : 266.66667 : 1"
+       id="perspective62" />
+    <linearGradient
+       id="linearGradient6053">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6055" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop6057" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6499"
+       inkscape:collect="always">
+      <stop
+         id="stop6501"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6503"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient3245"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8327515,0,0,-0.6476426,-48.09403,12.672202)"
+       x1="311.95688"
+       y1="-116.67703"
+       x2="311.95688"
+       y2="-276.41519" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4108"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3544445,0,0,1.7332213,31.621862,51.58815)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4121"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,133.62899)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4127"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,340.11416)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4133"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,39.887975,233.1463)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <inkscape:perspective
+       id="perspective2871"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2518"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9434139,0,0,0.9434139,62.279262,39.359798)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       id="linearGradient3751">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective2871-4"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499-1"
+       id="linearGradient4108-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3544445,0,0,1.7332213,31.621862,-148.41185)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       id="linearGradient6499-1">
+      <stop
+         id="stop6501-3"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop6503-0"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective2849"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2854"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       y2="260.4765"
+       x2="358.07056"
+       y1="260.4765"
+       x1="44.868057"
+       gradientTransform="matrix(1.3544445,0,0,1.8513768,-45.940851,-180.28458)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2880"
+       xlink:href="#linearGradient6499-1-4"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient6499-1-4">
+      <stop
+         id="stop6501-3-4"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop6503-0-4"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       y2="260.4765"
+       x2="358.07056"
+       y1="260.4765"
+       x1="44.868057"
+       gradientTransform="matrix(1.3544445,0,0,1.8513768,-45.940837,-180.2845)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2863"
+       xlink:href="#linearGradient6499-1-4"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective4038"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <filter
+       inkscape:collect="always"
+       id="filter4102">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="10.689196"
+         id="feGaussianBlur4104" />
+    </filter>
+  </defs>
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Goblin"
+     x="266.96185"
+     y="759.88806"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="759.88806" /></text>
+  <g
+     id="g3955"
+     transform="translate(-24.96631,-76.016045)">
+    <path
+       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.67309087999999995px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4102)"
+       d="M 761.625,229.65625 C 747.39502,234.4767 736.35298,246.73304 721.0625,249 c -16.53957,6.42255 -33.9604,17.15883 -39.9375,34.84375 -3.86066,17.63507 7.05157,33.79585 13.44299,49.33403 2.71774,5.64987 5.74176,11.14072 9.18201,16.35347 -16.91479,28.10647 -26.15446,60.97532 -49.84375,84.59375 -3.28446,4.2066 -4.0471,9.91279 -6.4375,14.3125 -11.90138,8.64494 -9.39804,29.48494 3.78125,35.5 -2.72141,10.24779 -1.31106,21.30932 -0.96875,31.84375 2.27202,23.8975 7.39731,47.57451 11.28125,71.21875 4.97381,20.41324 16.81036,38.03645 27.3131,55.93202 4.48373,7.81451 9.85903,15.88888 11.1869,24.81798 -2.73561,7.05561 -11.83548,7.18003 -17.8125,10.0625 -13.11105,5.4779 -20.96481,23.52862 -11.90625,35.71875 8.26796,10.29454 22.63166,7.05398 33.84375,6.34375 5.2536,13.03691 20.58152,18.31912 33.84375,18.71875 11.36573,1.56086 22.75328,-3.18566 30.125,-11.75 9.88814,-7.66249 14.76083,-19.86674 16.75,-31.90625 2.99585,-9.27484 10.9675,-15.48299 17.34375,-22.34375 4.6177,-7.30332 6.21465,-16.08603 9.8125,-23.84375 1.25519,-4.57951 -1.48771,-8.88193 -3.96875,-12.1875 -2.31983,-8.33336 -11.11403,-12.67019 -18.34375,-15.9375 -3.49267,-0.12192 -6.83388,-1.61823 -6.875,-5.46875 -6.04457,-14.60448 -15.68837,-27.98608 -29.65625,-35.75 -3.76008,-5.49339 3.10736,-10.22909 3.125,-15.78125 -0.23194,-6.91335 4.63268,-12.62164 3.96875,-19.6875 -0.19814,-6.0761 4.58616,-10.84205 4.71875,-17.0625 0.88773,-6.01123 7.438,-8.87904 8.625,-14.90625 3.35505,-8.92733 1.82137,-18.80448 1.8125,-27.9375 2.5027,-7.35007 9.06665,-11.79115 14.15625,-17.0625 5.77283,-7.3577 6.60551,-17.60552 13.8125,-23.96875 10.98089,8.55114 27.92664,6.46787 36.9375,17.84375 6.14715,10.97305 20.23191,10.05515 30.59375,13.65625 17.6551,7.4915 35.08597,15.63863 53.125,22 8.84674,6.21187 17.85724,16.61076 29.90625,13.75 6.41713,-0.85646 10.79198,-6.15862 15.6875,-9.5 9.44961,-4.63876 12.90439,-15.83731 16,-25.0625 0.33879,-7.95067 -3.0522,-15.55504 -6.15625,-22.5625 -3.13159,-5.00263 -9.47891,-6.96099 -13.96875,-9.6875 -0.35907,-12.61942 -13.8318,-24.15218 -26.34375,-19.125 -8.36812,1.38541 -15.48913,7.08308 -23.28125,9.375 -3.54222,-0.56964 -4.23235,-3.7164 -4.8125,-6.46875 -5.72019,-10.58512 -18.96404,-12.19175 -28.11704,-18.48735 -3.29936,-1.63505 -7.12007,-3.14924 -9.91421,-5.26265 4.33219,-6.25041 2.55889,-14.59267 0.0625,-20.9375 1.70387,-6.32883 -0.22601,-13.88561 4.65625,-19.09375 2.46623,-6.0895 -2.33021,-11.72068 -2.6875,-17.5 3.65753,-7.75845 -0.26479,-17.53211 -7.53125,-21.625 -0.0204,-10.68903 -2.70341,-21.0945 -5.5625,-31.34375 -7.0238,-1.9202 -12.80876,3.28339 -17.9375,7.15625 -5.05428,-1.03242 -10.13943,0.97113 -14.46875,3.1875 -7.86171,-0.92057 -12.47989,-9.36199 -20.71875,-8.5 -2.55825,0.18376 -4.82854,0.86061 -2.6875,-2.46875 2.27733,-7.12236 0.26858,-14.82375 -2.1875,-21.40625 0.34703,-13.82765 -6.6884,-27.53577 -17.09375,-36.28125 -7.61061,-4.2492 -16.76131,-4.89974 -25.3125,-5 z M 757,293.21875 c 2.34511,6.8718 8.33581,11.94203 14.8125,14.75 -3.00278,1.86643 -5.51663,6.64448 -9.1875,3.15625 -5.2429,-2.51528 -11.79439,-6.36906 -13.6875,-11.8125 2.70289,-1.55258 5.78855,-5.62007 8.0625,-6.09375 z"
+       id="path1939-0" />
+    <path
+       id="path1939"
+       d="m 794.42889,322.92369 -13.59856,0 -2.71967,6.79924 2.71967,7.47917 -1.35984,8.15909 -6.79918,-4.07955 -5.43934,-10.19886 -11.55882,-2.71971 -4.75942,-4.75946 -10.19888,-4.75948 -11.55869,-19.03788 0.67991,-8.83902 28.55686,-21.75758 13.59837,6.11931 2.03984,4.75948 0,5.4394 3.39959,4.75946 6.79928,2.03978 4.75943,-4.07955 0.67992,-4.75947 -2.03975,-4.07954 -4.07951,-2.03977 -2.71977,-3.39963 6.11936,-2.71969 -1.35984,-6.79925 0,-4.07956 -4.07951,-4.07954 -2.03985,-6.11931 -8.15902,-2.03977 -6.79928,-1.35986 -14.27847,10.19887 -36.03596,14.27842 -8.15911,8.15909 -6.11927,4.75947 -1.35994,10.87879 2.71977,5.4394 6.79928,18.35795 8.83894,16.99811 9.51895,12.23864 -14.9583,24.47729 -16.99814,36.71591 -10.19887,16.31818 -16.99806,21.07767 -0.67992,9.51895 -8.83903,8.15908 13.59847,12.23866 -3.3996,14.27839 1.35984,31.95646 6.11926,36.71592 6.11936,32.63638 6.79918,10.87879 9.51906,19.7178 14.9583,22.43751 4.0795,14.27837 4.0796,10.19888 -12.23871,16.99811 -21.75758,8.83902 -2.03976,6.7993 41.4754,-1.35985 -6.11926,10.87876 7.47911,6.79923 19.71782,2.03981 15.63831,-13.59852 5.43944,-19.03784 8.83893,-16.31821 10.8788,-9.51893 3.39959,-10.87882 -11.55861,-0.67991 7.4791,-7.47918 -14.9583,4.75948 10.87879,-10.8788 -8.15911,-2.03977 -6.11937,-7.47917 -10.19886,-21.07766 -23.79734,-19.71781 -4.75943,-1.35984 4.75943,-4.07955 -0.67992,-11.55872 4.75952,-10.19886 -4.0796,0.67992 7.47919,-12.91856 0,-12.91857 4.75944,-6.79924 0,-8.83902 10.19886,-13.5985 0.68002,-11.5587 -2.03985,-9.51895 4.75952,-10.87879 5.43935,-8.83902 0,-5.43939 6.11936,-0.67992 5.43935,-5.4394 4.75952,-13.59848 10.87878,-12.23865 12.91856,-4.75947 8.15901,6.79924 19.71792,6.11933 15.63821,8.15908 7.47911,9.51895 12.91854,1.35985 40.79558,17.67803 21.07757,7.47918 16.99814,12.91856 4.07961,-1.35986 0,-4.07954 -9.51896,-7.47916 18.35789,4.75946 2.03986,-3.39963 -4.0796,-4.07952 6.79928,0 0.67991,-4.07956 -12.23863,-2.7197 9.51886,-2.7197 0,-4.75947 -3.39959,-0.67991 -10.19887,0.67991 -8.15902,-3.39962 -5.43944,-2.71969 8.15911,-6.79925 2.03976,-4.75947 -1.35984,-3.39963 -7.4791,1.35986 -15.63841,8.15908 -2.03966,4.07955 -5.43944,-1.35984 -19.71783,-10.87879 -0.67991,-7.47917 -11.55871,-6.11933 -19.71782,-10.19887 -4.75944,3.39963 0.67993,-4.75947 -10.87879,-10.19887 -9.51896,-2.7197 -8.83903,-10.19886 -2.71966,-3.39963 8.83902,6.11933 -1.35983,-6.79926 6.79918,3.39963 -2.03976,-10.19887 9.51895,8.83903 -4.0795,-6.11932 9.51885,4.07953 -8.15902,-11.5587 6.11927,2.03977 -2.71967,-10.87879 4.75942,4.07954 -6.79918,-10.19887 6.79918,2.03977 -6.11926,-8.15908 8.15902,-0.67993 -8.83894,-5.4394 5.43935,-2.71968 -6.11926,-0.67994 8.15902,-7.47916 -7.47911,0.67992 0.67992,-4.75947 0.67991,-13.59848 -4.0795,9.51894 -4.75952,-13.5985 0.67991,10.8788 -2.71967,0.67992 -6.79928,0 -7.47919,-10.87879 -7.47911,0 -8.83904,-7.47917 -4.0796,4.07954 -10.19877,6.79926 z"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.67309088px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="opacity:0.22790701;fill:url(#linearGradient2518);fill-opacity:1;fill-rule:evenodd;stroke:none"
+       d="m 435.88424,549.14748 -13.60762,0 3.65489,2.67368 9.73545,2.94103 6.29079,3.2084 -10.62954,-1.60421 -15.00754,-4.01048 -14.11696,-1.06948 -9.22613,-1.87156 -14.66914,-1.87157 -29.42027,-7.48627 -7.60882,-3.47577 8.17166,-8.55573 19.34621,2.4063 6.50466,1.87156 5.10103,2.13893 7.86535,1.87158 8.71676,0.80209 0.93671,-1.6042 -3.78299,-1.87156 -5.867,-1.60421 -5.99511,-0.80209 -5.90973,-1.33684 3.5729,-1.06946 -7.73713,-2.67367 -3.82574,-1.60421 -7.90807,-1.6042 -7.77986,-2.4063 -10.07745,-0.8021 -8.07911,-0.53473 -4.7234,4.01051 -22.66986,5.6147 -0.51293,3.20839 -1.65994,1.87157 8.8414,4.27787 7.82259,2.13894 24.01998,7.2189 24.78574,6.68417 21.00277,4.8126 7.98646,9.62519 17.42278,14.43782 5.09755,6.41679 2.75723,8.28838 8.24657,3.74313 -1.19343,3.20841 25.085,4.81261 9.9885,5.61469 31.32954,12.56625 40.55567,14.4378 36.72993,12.83361 17.00589,4.27786 28.01675,7.75364 36.0102,8.82311 17.4726,5.61468 13.64685,4.01051 3.69394,6.68416 -13.4829,3.47577 4.33537,2.67369 40.22783,-0.53473 4.07876,4.27785 13.86045,2.67367 21.64389,0.8021 2.896,-5.34734 -12.41061,-7.48625 -6.45833,-6.41682 1.95919,-3.74312 -6.80031,-4.27787 -12.20401,-0.26737 0.4702,-2.94105 -10.50491,1.87158 0.68387,-4.27787 -10.07745,-0.8021 -13.13732,-2.94103 -29.97245,-8.28838 -42.30467,-7.75363 -6.03793,-0.53473 0.9369,-1.60421 -11.52022,-4.54523 -4.80188,-4.0105 -3.44459,0.26737 -4.63084,-5.07997 -12.11514,-5.07998 -1.61371,-2.67367 -8.28921,-3.47576 -2.54703,-5.34733 -10.15934,-4.54523 -10.96803,-3.74315 -5.43953,-4.27786 -2.8462,-3.47577 -5.10113,-2.13893 5.48586,-0.26737 0.34189,-2.13893 -7.98996,-5.34733 -0.59143,-4.81261 8.46374,-1.87157 14.54084,2.67366 25.46982,2.40631 23.30025,3.20839 16.41106,3.74315 14.20244,0.53473 57.40127,6.95153 28.10571,2.94104 29.12451,5.07998 2.80712,-0.53475 -3.82582,-1.60419 -16.53937,-2.94104 22.83373,1.87156 -1.14709,-1.33682 -7.90798,-1.6042 6.80371,0 -3.14534,-1.60421 -14.79745,-1.06946 6.97476,-1.06947 -4.46349,-1.87158 -4.03942,-0.26736 -9.5681,0.26736 -11.35267,-1.33682 -7.99364,-1.06948 1.78825,-2.67366 -2.42231,-1.87156 -4.54895,-1.33685 -6.20889,0.53474 -7.99714,3.20839 1.78466,1.60421 -6.71823,-0.53473 -29.93321,-4.27787 -7.69429,-2.94103 -17.30515,-2.40631 -29.29554,-4.0105 -1.57446,1.33684 -3.7831,-1.87157 -20.45056,-4.01051 -12.07579,-1.06945 -18.4095,-4.01052 -5.90964,-1.33682 14.58357,2.4063 -7.73703,-2.67368 9.99188,1.33684 -11.60569,-4.01049 17.81459,3.47576 -9.82095,-2.4063 13.35111,1.60419 -19.00432,-4.54522 8.03628,0.8021 -12.92363,-4.27788 8.58845,1.60421 -16.36832,-4.01051 8.71667,0.80211 -13.77506,-3.20841 7.52693,-0.26737 -13.94592,-2.13893 2.8924,-1.06946 -6.76096,-0.26737 1.15048,-2.94104 -6.84644,0.26736 -3.7831,-1.87155 -12.07229,-5.34735 4.84462,3.74314 -17.51533,-5.34733 10.88247,4.27787 -2.08392,0.26737 -6.80371,0 -17.68636,-4.27787 -7.4842,0 -15.85879,-2.94103 -0.25661,1.60418 -3.82922,2.67367 z"
+       id="path2864" />
+    <path
+       sodipodi:nodetypes="cssc"
+       id="path3759"
+       d="m 763.90087,255.09122 c -26.62135,-9.8399 -37.65223,26.15318 -32.15617,47.65699 6.43181,25.16505 8.4097,56.02071 -3.17298,78.7166 -8.29967,16.26295 -46.68286,22.35178 -46.1986,45.20859"
+       style="fill:none;stroke:#ffffff;stroke-width:1.60380363;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  </g>
+</svg>
diff --git a/data/themes/default/intro_webserver_notice.svg b/data/themes/default/intro_webserver_notice.svg
new file mode 100644 (file)
index 0000000..f2b7254
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="800"
+   height="600"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="intro_webserver_notice.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata19">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1056"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.2330895"
+     inkscape:cx="532.40645"
+     inkscape:cy="316.22445"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:current-layer="svg3465"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs3467">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective9" />
+  </defs>
+  <text
+     sodipodi:linespacing="125%"
+     xml:space="preserve"
+     id="text3481"
+     style="font-size:20.34042358px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.67801416;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;font-family:Goblin"
+     y="432.7175"
+     x="578.12286"
+     transform="scale(0.92317546,1.0832177)">Webserver Notice</text>
+</svg>
diff --git a/data/themes/default/logo.svg b/data/themes/default/logo.svg
new file mode 100644 (file)
index 0000000..b5a8317
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="360"
+   height="85"
+   id="svg1901"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="Uusi asiakirja 1"
+   version="1.1">
+  <defs
+     id="defs1903">
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter3869-9"
+       x="-0.019231318"
+       width="1.0384626"
+       y="-0.12226724"
+       height="1.2445345">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.4581674"
+         id="feGaussianBlur3871-2" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.35"
+     inkscape:cx="321.42857"
+     inkscape:cy="-83.214282"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="877"
+     inkscape:window-height="722"
+     inkscape:window-x="177"
+     inkscape:window-y="25"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata1906">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Taso 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-28.571429,-364.1479)">
+    <g
+       transform="matrix(0.98065768,0,0,0.97754687,-1.9638217,255.66295)"
+       id="g3873">
+      <path
+         inkscape:connector-curvature="0"
+         id="text3236"
+         d="m 74.487864,100.57517 c -5.2e-5,2.78873 -0.646212,5.29401 -1.938481,7.51586 -1.269697,2.19925 -3.10615,4.04703 -5.509366,5.54338 -2.380632,1.45105 -5.044624,2.52798 -7.991981,3.2308 -2.924759,0.70286 -6.155557,1.05428 -9.692404,1.05426 l -4.897214,0 -3.02675,13.09325 c -0.09071,0.38543 -0.170061,0.74819 -0.238059,1.08827 -0.04536,0.34009 -0.06804,0.60082 -0.06802,0.78219 -1.9e-5,1.02026 0.419418,1.76844 1.258312,2.24456 0.838854,0.47612 2.482593,0.83888 4.931223,1.08827 l -0.578144,2.48261 -26.220501,0 0.578143,-2.48261 c 0.566808,-0.0227 1.405682,-0.10202 2.516624,-0.23806 1.133612,-0.1587 1.972486,-0.32875 2.516624,-0.51013 0.884215,-0.29473 1.553047,-0.73684 2.006498,-1.32633 0.476112,-0.58947 0.804859,-1.28097 0.986244,-2.07451 l 7.787931,-33.736365 c 0.113347,-0.476078 0.1927,-0.872842 0.238059,-1.190295 0.04533,-0.317371 0.068,-0.555429 0.06802,-0.714178 -1.5e-5,-0.952192 -0.487468,-1.689041 -1.462362,-2.210548 -0.952249,-0.54409 -2.516635,-0.974863 -4.693164,-1.29232 l 0.578143,-2.482616 26.152485,0 c 5.622686,4.9e-5 9.805719,0.827586 12.549111,2.482616 2.765969,1.655121 4.148977,4.205751 4.149029,7.651896 m -14.215525,5.67941 c 0.498752,-1.70039 0.748147,-3.55951 0.748186,-5.57738 -3.9e-5,-2.44857 -0.657535,-4.273688 -1.972489,-5.475361 -1.315028,-1.224259 -3.457558,-1.83641 -6.427594,-1.836455 l -2.482616,0 -4.965231,21.527336 2.210548,0 c 2.44858,2e-5 4.545765,-0.36273 6.29156,-1.08827 1.768406,-0.74816 3.196758,-1.77975 4.285063,-3.09477 1.042888,-1.26961 1.813745,-2.75465 2.312573,-4.4551 m 29.92742,33.56632 c -2.72069,0 -5.112614,-0.37409 -7.175779,-1.12228 -2.040515,-0.72551 -3.729599,-1.74576 -5.067257,-3.06076 -1.314997,-1.31498 -2.301241,-2.84536 -2.958733,-4.59113 -0.657499,-1.74576 -0.986247,-3.6729 -0.986245,-5.78144 -2e-6,-2.67531 0.498788,-5.27129 1.496371,-7.78793 0.997576,-2.5166 2.482609,-4.78382 4.455105,-6.80168 1.859117,-1.92712 4.217033,-3.49151 7.073754,-4.69317 2.85669,-1.2016 6.008135,-1.80241 9.454344,-1.80245 4.058311,4e-5 7.141741,0.6462 9.250291,1.93849 2.13116,1.29235 3.19676,3.23083 3.1968,5.81544 -4e-5,2.4713 -0.91827,4.60249 -2.75469,6.39358 -1.83649,1.76846 -4.33044,3.08345 -7.481853,3.94498 -2.493976,0.7482 -4.625169,1.281 -6.393585,1.5984 -1.745785,0.31742 -3.888314,0.61216 -6.427594,0.88422 0.04533,0.99759 0.181364,2.11987 0.408101,3.36683 0.226708,1.24699 0.566792,2.31258 1.020253,3.19679 0.544119,1.02026 1.314976,1.83646 2.312574,2.44861 0.997561,0.58948 2.267208,0.88422 3.808944,0.88422 2.675306,0 4.942532,-0.51012 6.80169,-1.53038 1.88177,-1.04292 3.67287,-2.68666 5.37333,-4.93122 l 2.48261,2.07451 c -2.04054,2.90206 -4.65918,5.22597 -7.85594,6.97173 -3.174149,1.72309 -6.518308,2.58464 -10.032491,2.58464 m 7.685906,-26.93468 c -2.7e-5,-1.92711 -0.351447,-3.40081 -1.054262,-4.42109 -0.702865,-1.0429 -1.677773,-1.56436 -2.924725,-1.56439 -1.745787,3e-5 -3.400862,1.42838 -4.965231,4.28506 -1.541731,2.83406 -2.527975,6.42762 -2.958734,10.78068 1.33765,-0.15869 2.663977,-0.36274 3.978987,-0.61216 1.314973,-0.24937 2.357897,-0.54411 3.128776,-0.88422 1.700398,-0.74816 2.924701,-1.71173 3.67291,-2.89071 0.74816,-1.17894 1.122252,-2.74333 1.122279,-4.69317 m 50.128435,-1.6324 c -4e-5,1.02028 -0.14741,2.00652 -0.44211,2.95873 -0.29478,0.95226 -0.73689,1.76846 -1.32633,2.44861 -0.65753,0.77088 -1.34904,1.34902 -2.07452,1.73443 -0.72554,0.36278 -1.74579,0.54415 -3.06076,0.54413 -1.70045,2e-5 -3.03811,-0.41941 -4.01299,-1.25831 -0.97493,-0.83885 -1.46239,-1.77975 -1.46236,-2.8227 -3e-5,-0.97488 0.13601,-1.81375 0.4081,-2.51662 0.29471,-0.70282 0.74816,-1.76841 1.36034,-3.19679 -1.51907,0.63485 -2.82273,1.41704 -3.91097,2.34658 -1.0883,0.90692 -2.13122,1.94984 -3.12878,3.12877 l -5.37333,24.07797 -11.25679,0 4.69316,-20.91518 c 0.13603,-0.6348 0.30607,-1.46234 0.51013,-2.48262 0.22671,-1.02023 0.34007,-1.87044 0.34008,-2.55063 -1e-5,-1.31497 -0.26074,-2.21052 -0.78219,-2.68667 -0.4988,-0.47609 -1.47371,-0.71414 -2.92473,-0.71417 -0.72552,3e-5 -1.4737,0.11339 -2.24455,0.34008 -0.74819,0.22675 -1.39435,0.44214 -1.93849,0.64616 l 0.74819,-3.06076 c 1.83645,-0.74815 3.59355,-1.38297 5.27131,-1.90447 1.67774,-0.5441 3.2648,-0.81617 4.76118,-0.8162 2.67531,3e-5 4.67047,0.53283 5.98548,1.59839 1.33765,1.04296 2.22187,2.51666 2.65266,4.4211 l 0.23806,0 c 2.24453,-2.38056 4.149,-4.03563 5.71342,-4.96523 1.56436,-0.9522 3.2421,-1.42832 5.03324,-1.42836 1.92711,4e-5 3.44616,0.61219 4.55713,1.83646 1.11091,1.20166 1.66638,2.94743 1.66642,5.2373 m 20.60911,-2.07452 c -1.13364,5.60008 -2.11988,10.46328 -2.95874,14.58962 -0.81622,4.1037 -1.80246,8.40009 -2.95873,12.8892 -0.56682,2.19921 -1.50772,4.35307 -2.8227,6.4616 -1.29233,2.13119 -2.82271,3.96764 -4.59114,5.50937 -1.85913,1.63239 -3.87697,2.90204 -6.0535,3.80894 -2.15387,0.90688 -4.37575,1.36032 -6.66565,1.36034 -2.06318,-2e-5 -3.72959,-0.20407 -4.99924,-0.61215 -1.29231,-0.40812 -2.30123,-0.92958 -3.02675,-1.56439 -0.70283,-0.63484 -1.17895,-1.33768 -1.42836,-2.10852 -0.24938,-0.77087 -0.37408,-1.53039 -0.37409,-2.27857 10e-6,-1.315 0.47613,-2.48262 1.42835,-3.50287 0.92958,-0.99758 2.18789,-1.49637 3.77494,-1.49637 1.22431,0 2.28991,0.31741 3.19679,0.95224 0.88423,0.65749 1.64375,1.43968 2.27857,2.34658 0.63482,0.88421 1.20163,1.87045 1.70042,2.95873 0.47612,1.08826 0.85021,1.93847 1.12228,2.55063 0.95223,-1.04293 1.84779,-2.61865 2.68666,-4.72717 0.83888,-2.08585 1.62107,-4.87454 2.34658,-8.36607 l 6.08751,-28.77114 -6.59763,0 0.8162,-3.50286 6.52962,0 0.57814,-2.61865 c 0.47611,-2.13116 1.33766,-4.217009 2.58464,-6.257555 1.26964,-2.063134 2.80001,-3.899588 4.59114,-5.509366 1.72308,-1.587011 3.7069,-2.87933 5.95148,-3.876961 2.2672,-0.997528 4.53443,-1.496318 6.80168,-1.496371 1.97246,5.3e-5 3.60486,0.192767 4.89722,0.578143 1.31495,0.362809 2.34654,0.872935 3.09477,1.53038 0.68012,0.612202 1.13357,1.303706 1.36033,2.074514 0.24936,0.748233 0.37406,1.496418 0.3741,2.244557 -4e-5,0.498836 -0.10207,1.054306 -0.30608,1.666413 -0.18142,0.612196 -0.47616,1.167666 -0.88422,1.666413 -0.49883,0.56685 -1.03163,1.008959 -1.5984,1.326329 -0.54417,0.317453 -1.34903,0.476159 -2.41459,0.476118 -1.22434,4.1e-5 -2.2786,-0.317371 -3.16279,-0.952236 -0.88425,-0.657454 -1.63243,-1.428311 -2.24456,-2.312574 -0.65752,-0.929518 -1.21299,-1.927098 -1.66641,-2.992742 -0.45347,-1.065549 -0.82756,-1.915759 -1.12228,-2.550632 -0.92959,1.065646 -1.76846,2.618697 -2.51662,4.659155 -0.74821,2.040549 -1.51907,4.85191 -2.31257,8.434095 l -0.85021,3.91097 8.60413,0 -0.8162,3.50286 -8.43409,0 m 47.44176,9.14827 c -4e-5,2.85673 -0.54417,5.58874 -1.6324,8.19603 -1.08831,2.60733 -2.63003,4.87455 -4.62515,6.80169 -2.1539,2.06318 -4.68186,3.66158 -7.58388,4.79519 -2.87941,1.11094 -6.12154,1.66641 -9.72641,1.66641 -4.82921,0 -8.72884,-1.28098 -11.6989,-3.84295 -2.97008,-2.58463 -4.45511,-6.09884 -4.45511,-10.54261 0,-3.0154 0.55547,-5.81543 1.66642,-8.40009 1.13361,-2.58461 2.70933,-4.8405 4.72717,-6.76767 1.99515,-1.88177 4.44375,-3.36681 7.34582,-4.45511 2.90203,-1.11091 6.04214,-1.66638 9.42034,-1.66641 5.1239,3e-5 9.15957,1.25834 12.107,3.77493 2.97003,2.49398 4.45506,5.97418 4.4551,10.44059 M 204.094,114.48462 c -3e-5,-2.65263 -0.45347,-4.60245 -1.36033,-5.84945 -0.88425,-1.24694 -2.17657,-1.87043 -3.87696,-1.87046 -1.74579,3e-5 -3.34419,0.70287 -4.79519,2.10852 -1.45105,1.38304 -2.63001,3.42354 -3.53688,6.12152 -0.79355,2.24457 -1.36035,4.68184 -1.70042,7.31181 -0.3401,2.60733 -0.51014,4.94257 -0.51013,7.00574 -1e-5,2.74335 0.45343,4.73851 1.36034,5.98548 0.90687,1.22431 2.22186,1.83646 3.94498,1.83646 1.8591,0 3.46883,-0.75952 4.82919,-2.27857 1.36032,-1.51904 2.43725,-3.3895 3.2308,-5.61139 0.79351,-2.17653 1.39432,-4.57979 1.80245,-7.20979 0.40807,-2.65264 0.61212,-5.16926 0.61215,-7.54987 m 51.93087,-3.2308 c -4e-5,1.02028 -0.14741,2.00652 -0.44211,2.95873 -0.29478,0.95226 -0.73689,1.76846 -1.32633,2.44861 -0.65753,0.77088 -1.34904,1.34902 -2.07451,1.73443 -0.72555,0.36278 -1.7458,0.54415 -3.06076,0.54413 -1.70045,2e-5 -3.03812,-0.41941 -4.013,-1.25831 -0.97493,-0.83885 -1.46239,-1.77975 -1.46236,-2.8227 -3e-5,-0.97488 0.13601,-1.81375 0.4081,-2.51662 0.29471,-0.70282 0.74816,-1.76841 1.36034,-3.19679 -1.51907,0.63485 -2.82273,1.41704 -3.91097,2.34658 -1.08829,0.90692 -2.13122,1.94984 -3.12878,3.12877 l -5.37333,24.07797 -11.25679,0 4.69316,-20.91518 c 0.13603,-0.6348 0.30607,-1.46234 0.51013,-2.48262 0.22671,-1.02023 0.34007,-1.87044 0.34008,-2.55063 -1e-5,-1.31497 -0.26074,-2.21052 -0.78219,-2.68667 -0.4988,-0.47609 -1.47371,-0.71414 -2.92473,-0.71417 -0.72551,3e-5 -1.4737,0.11339 -2.24455,0.34008 -0.74819,0.22675 -1.39435,0.44214 -1.93848,0.64616 l 0.74818,-3.06076 c 1.83645,-0.74815 3.59356,-1.38297 5.27131,-1.90447 1.67774,-0.5441 3.2648,-0.81617 4.76118,-0.8162 2.67532,3e-5 4.67048,0.53283 5.98548,1.59839 1.33765,1.04296 2.22187,2.51666 2.65266,4.4211 l 0.23806,0 c 2.24453,-2.38056 4.14901,-4.03563 5.71342,-4.96523 1.56436,-0.9522 3.24211,-1.42832 5.03325,-1.42836 1.92711,4e-5 3.44615,0.61219 4.55713,1.83646 1.1109,1.20166 1.66637,2.94743 1.66641,5.2373 m 68.32294,22.24151 -0.74819,3.06076 c -2.24462,0.88422 -4.03573,1.56439 -5.37333,2.04051 -1.33773,0.45344 -2.89078,0.68017 -4.65915,0.68017 -2.69806,0 -4.79525,-0.66884 -6.29156,-2.0065 -1.49643,-1.36033 -2.24461,-3.03808 -2.24456,-5.03325 -5e-5,-0.54413 0.0226,-1.23563 0.068,-2.07451 0.068,-0.86154 0.26068,-1.92714 0.57814,-3.1968 l 2.44861,-9.04624 c 0.24934,-0.97489 0.43072,-1.84777 0.54413,-2.61865 0.13598,-0.7935 0.204,-1.43966 0.20405,-1.93848 -5e-5,-1.08824 -0.27212,-1.93845 -0.8162,-2.55063 -0.54419,-0.61212 -1.42841,-0.9182 -2.65266,-0.91823 -0.86159,3e-5 -1.9612,0.38546 -3.29882,1.15629 -1.31503,0.77088 -2.6527,1.80247 -4.01299,3.09477 l -5.61139,24.55408 -11.25679,0 4.76118,-20.74514 c 0.24936,-1.13359 0.43074,-2.05182 0.54413,-2.75468 0.136,-0.70282 0.20402,-1.31497 0.20405,-1.83646 -3e-5,-1.08824 -0.2721,-1.93845 -0.8162,-2.55063 -0.54416,-0.61212 -1.43972,-0.9182 -2.68667,-0.91823 -0.70286,3e-5 -1.67777,0.28343 -2.92472,0.85021 -1.247,0.56684 -2.81139,1.70045 -4.69317,3.40085 l -5.61139,24.55408 -11.25679,0 4.8292,-20.91518 c 0.13603,-0.6348 0.30607,-1.47368 0.51013,-2.51663 0.22671,-1.0429 0.34007,-1.88177 0.34008,-2.51662 -1e-5,-1.29229 -0.2494,-2.17651 -0.74818,-2.65266 -0.4988,-0.49876 -1.48505,-0.74815 -2.95874,-0.74818 -0.72552,3e-5 -1.4737,0.11339 -2.24455,0.34008 -0.74819,0.22675 -1.39435,0.44214 -1.93849,0.64616 l 0.74819,-3.06076 c 1.83645,-0.74815 3.59355,-1.38297 5.27131,-1.90447 1.67774,-0.5441 3.2648,-0.81617 4.76118,-0.8162 2.766,3e-5 4.76116,0.56684 5.98548,1.70042 1.22429,1.11097 2.08583,2.55066 2.58464,4.31907 l 0.23806,0 c 2.26721,-2.08582 4.45508,-3.67288 6.56363,-4.76118 2.10849,-1.08824 4.53442,-1.63237 7.2778,-1.63241 2.33521,4e-5 4.25102,0.62353 5.74743,1.87047 1.49633,1.24701 2.32387,2.78872 2.48261,4.62515 l 0.23806,0 c 2.42589,-2.08582 4.68178,-3.68422 6.76768,-4.79519 2.0858,-1.13358 4.46639,-1.70039 7.14177,-1.70043 2.51657,4e-5 4.48905,0.69154 5.91747,2.07452 1.42829,1.38304 2.14247,3.06079 2.14253,5.03325 -6e-5,0.52149 -0.0454,1.25834 -0.13603,2.21055 -0.0681,0.92958 -0.24946,1.92716 -0.54414,2.99274 l -2.58464,9.55637 c -0.22678,0.79354 -0.43083,1.70043 -0.61215,2.72067 -0.18144,1.02026 -0.27213,1.79112 -0.27207,2.31257 -6e-5,1.315 0.28334,2.21056 0.85021,2.68667 0.58942,0.47612 1.60967,0.71418 3.06076,0.71418 0.6801,0 1.45096,-0.11336 2.31257,-0.34009 0.86148,-0.24939 1.48497,-0.46477 1.87047,-0.64616 m 42.98666,-15.16776 c -4e-5,2.85673 -0.54417,5.58874 -1.6324,8.19603 -1.08831,2.60733 -2.63003,4.87455 -4.62515,6.80169 -2.1539,2.06318 -4.68186,3.66158 -7.58388,4.79519 -2.87941,1.11094 -6.12154,1.66641 -9.72641,1.66641 -4.82921,0 -8.72884,-1.28098 -11.6989,-3.84295 -2.97008,-2.58463 -4.45511,-6.09884 -4.45511,-10.54261 0,-3.0154 0.55547,-5.81543 1.66642,-8.40009 1.13361,-2.58461 2.70933,-4.8405 4.72717,-6.76767 1.99515,-1.88177 4.44375,-3.36681 7.34582,-4.45511 2.90203,-1.11091 6.04214,-1.66638 9.42034,-1.66641 5.1239,3e-5 9.15957,1.25834 12.107,3.77493 2.97003,2.49398 4.45506,5.97418 4.4551,10.44059 m -11.97097,-3.84295 c -3e-5,-2.65263 -0.45347,-4.60245 -1.36033,-5.84945 -0.88425,-1.24694 -2.17657,-1.87043 -3.87696,-1.87046 -1.74579,3e-5 -3.34419,0.70287 -4.79519,2.10852 -1.45105,1.38304 -2.63001,3.42354 -3.53688,6.12152 -0.79355,2.24457 -1.36035,4.68184 -1.70042,7.31181 -0.3401,2.60733 -0.51014,4.94257 -0.51013,7.00574 -1e-5,2.74335 0.45343,4.73851 1.36034,5.98548 0.90687,1.22431 2.22187,1.83646 3.94498,1.83646 1.8591,0 3.46883,-0.75952 4.82919,-2.27857 1.36032,-1.51904 2.43725,-3.3895 3.23081,-5.61139 0.7935,-2.17653 1.39431,-4.57979 1.80244,-7.20979 0.40807,-2.65264 0.61212,-5.16926 0.61215,-7.54987 m 41.62631,18.80666 -0.23805,0 c -2.38062,2.17655 -4.64785,3.78628 -6.80169,4.8292 -2.15389,1.04293 -4.64784,1.56439 -7.48186,1.56439 -2.51663,0 -4.46644,-0.69151 -5.84945,-2.07452 -1.36034,-1.383 -2.04051,-3.06075 -2.0405,-5.03324 -10e-6,-0.70284 0.034,-1.41701 0.10202,-2.14254 0.0907,-0.7255 0.30607,-1.74575 0.64616,-3.06075 l 2.55064,-9.55637 c 0.15869,-0.63481 0.34007,-1.49635 0.54413,-2.58464 0.22671,-1.11092 0.34008,-1.92712 0.34009,-2.44861 -10e-6,-1.24695 -0.26075,-2.11983 -0.7822,-2.61865 -0.4988,-0.52143 -1.48504,-0.78217 -2.95873,-0.78219 -0.72552,2e-5 -1.47371,0.11339 -2.24456,0.34008 -0.74819,0.22675 -1.39435,0.44214 -1.93848,0.64616 l 0.74819,-3.06076 c 1.83645,-0.74815 3.59355,-1.38298 5.2713,-1.90447 1.67774,-0.5441 3.2648,-0.81617 4.76118,-0.8162 2.69799,3e-5 4.7725,0.6802 6.22355,2.0405 1.47368,1.3377 2.21052,3.00411 2.21054,4.99924 -2e-5,0.40813 -0.0454,1.15631 -0.13603,2.24456 -0.0907,1.08829 -0.27209,2.09721 -0.54413,3.02675 l -2.48262,9.04624 c -0.22674,0.79354 -0.40812,1.65509 -0.54413,2.58464 -0.13605,0.9069 -0.20407,1.5644 -0.20406,1.97249 -10e-6,1.06561 0.24938,1.91582 0.74819,2.55063 0.49877,0.61216 1.36032,0.91824 2.58464,0.91823 0.8842,1e-5 2.05182,-0.36275 3.50287,-1.08827 1.47367,-0.74818 2.9247,-1.80244 4.35308,-3.16278 l 5.61139,-24.55409 10.84869,-0.47612 0.4081,0.47612 -4.8292,20.91519 c -0.15874,0.6575 -0.35146,1.53039 -0.57814,2.61864 -0.20409,1.08828 -0.30611,1.89315 -0.30608,2.4146 -3e-5,1.315 0.28337,2.21056 0.85022,2.68667 0.58943,0.47612 1.60969,0.71418 3.06075,0.71418 0.68013,0 1.45099,-0.11336 2.31258,-0.34009 0.8615,-0.24939 1.48499,-0.46477 1.87046,-0.64616 l -0.74818,3.06076 c -2.2446,0.88422 -4.03571,1.56439 -5.37334,2.04051 -1.3377,0.45344 -2.89075,0.68016 -4.65915,0.68017 -2.49399,-1e-5 -4.48915,-0.55548 -5.98549,-1.66642 -1.4964,-1.13361 -2.43729,-2.58463 -2.8227,-4.35308 m 35.23273,6.52962 c -2.85672,0 -5.22597,-0.23806 -7.10776,-0.71418 -1.85913,-0.45344 -3.33283,-1.04292 -4.42109,-1.76843 -1.11095,-0.72551 -1.87047,-1.49637 -2.27857,-2.31258 -0.4081,-0.83887 -0.61215,-1.62106 -0.61215,-2.34658 0,-1.31498 0.48745,-2.45993 1.46236,-3.43485 0.99758,-0.99757 2.31257,-1.49636 3.94498,-1.49637 1.36033,10e-6 2.49394,0.35143 3.40084,1.05426 0.92956,0.70285 1.70041,1.58707 2.31258,2.65266 0.56679,0.97491 1.04291,2.05184 1.42835,3.2308 0.38542,1.17896 0.65748,2.05184 0.8162,2.61865 2.56196,0 4.50043,-0.54414 5.81545,-1.63241 1.31497,-1.11093 1.97246,-2.61864 1.97248,-4.52312 -2e-5,-0.83886 -0.20407,-1.5417 -0.61215,-2.10852 -0.38545,-0.5668 -0.90691,-1.06559 -1.56439,-1.49637 -0.65751,-0.40809 -1.49638,-0.80486 -2.51662,-1.1903 -1.02027,-0.38541 -2.02918,-0.74817 -3.02675,-1.08827 -2.74336,-0.92955 -4.9199,-2.21053 -6.52962,-3.84295 -1.58706,-1.65506 -2.38059,-3.7069 -2.38059,-6.15553 0,-1.451 0.32874,-2.81133 0.98625,-4.08101 0.68016,-1.29229 1.73442,-2.48258 3.16278,-3.57088 1.40567,-1.0429 3.18544,-1.87043 5.33932,-2.48262 2.15385,-0.63479 4.67048,-0.9522 7.54988,-0.95224 1.72307,4e-5 3.32146,0.10206 4.79518,0.30608 1.47368,0.20409 2.84535,0.57818 4.11502,1.12228 1.2016,0.54417 2.13117,1.25834 2.7887,2.14253 0.68013,0.86158 1.02021,1.91584 1.02025,3.16278 -4e-5,1.24701 -0.47615,2.32394 -1.42835,3.23081 -0.9296,0.88424 -2.1539,1.32635 -3.67292,1.32632 -1.31502,3e-5 -2.41462,-0.34006 -3.29881,-1.02025 -0.86158,-0.68014 -1.56442,-1.48501 -2.10853,-2.4146 -0.54415,-0.95221 -0.97493,-1.92711 -1.29232,-2.92472 -0.31743,-1.02022 -0.57816,-1.87043 -0.78219,-2.55063 -1.58708,0.0907 -3.03811,0.66886 -4.35308,1.73443 -1.29234,1.04295 -1.9385,2.34661 -1.93848,3.91096 -2e-5,0.95227 0.14735,1.70045 0.44211,2.24456 0.31739,0.54416 0.73683,0.99761 1.25831,1.36034 0.58946,0.40812 1.32631,0.79355 2.21055,1.15629 0.90687,0.3401 2.02915,0.73687 3.36683,1.19029 3.08341,1.08829 5.40732,2.39195 6.97173,3.91097 1.56436,1.51906 2.34655,3.52555 2.34658,6.01949 -3e-5,1.63242 -0.38546,3.1968 -1.15628,4.69317 -0.74822,1.49637 -1.82515,2.74335 -3.2308,3.74092 -1.56442,1.08827 -3.36686,1.90448 -5.40734,2.44861 -2.04053,0.56681 -4.63651,0.85021 -7.78794,0.85021"
+         style="font-size:69.6492691px;font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter3869-9);font-family:Goblin;-inkscape-font-specification:Goblin Bold Italic"
+         transform="matrix(0.8191171,0,0,1.0292651,21.130469,31.087293)" />
+      <path
+         inkscape:connector-curvature="0"
+         id="text2462"
+         d="m 82.144747,134.60581 c -4.3e-5,2.87033 -0.529324,5.44893 -1.587843,7.73581 -1.04003,2.2636 -2.544301,4.16547 -4.512815,5.7056 -1.950018,1.49351 -4.132138,2.60196 -6.546369,3.32535 -2.39572,0.72343 -5.042122,1.08514 -7.939213,1.08512 l -4.011391,0 -2.479263,13.47642 c -0.0743,0.39672 -0.1393,0.77009 -0.194998,1.12012 -0.03716,0.35004 -0.05573,0.6184 -0.05571,0.80508 -1.6e-5,1.05012 0.343553,1.8202 1.030705,2.31024 0.687119,0.49006 2.033534,0.86343 4.039248,1.12012 l -0.473567,2.55527 -21.477659,0 0.473567,-2.55527 c 0.464282,-0.0233 1.151418,-0.105 2.06141,-0.24502 0.92856,-0.16335 1.615696,-0.33837 2.061409,-0.52506 0.724276,-0.30337 1.272127,-0.75841 1.643556,-1.36514 0.389991,-0.60673 0.659275,-1.31847 0.80785,-2.13523 l 6.379227,-34.72366 c 0.09284,-0.49 0.157844,-0.89838 0.194998,-1.22513 0.03713,-0.32666 0.0557,-0.57168 0.05571,-0.73507 -1.2e-5,-0.98007 -0.399294,-1.73848 -1.197846,-2.27525 -0.780003,-0.56001 -2.061419,-1.00338 -3.84425,-1.33013 l 0.473567,-2.55528 21.421945,0 c 4.605639,6e-5 8.032032,0.85181 10.279191,2.55528 2.265652,1.70356 3.398498,4.32882 3.398541,7.87583 m -11.644179,5.84561 c 0.408536,-1.75015 0.61282,-3.66368 0.612851,-5.7406 -3.1e-5,-2.52023 -0.538597,-4.39876 -1.615699,-5.6356 -1.077162,-1.26009 -2.832144,-1.89016 -5.264952,-1.8902 l -2.033552,0 -4.067106,22.15734 1.810698,0 c 2.005674,2e-5 3.723513,-0.37335 5.153524,-1.12012 1.448531,-0.77006 2.618519,-1.83183 3.509968,-3.18534 0.854248,-1.30677 1.48567,-2.83527 1.894268,-4.58548 m 24.514062,34.54864 c -2.228569,0 -4.187834,-0.38504 -5.877806,-1.15512 -1.671421,-0.74675 -3.054978,-1.79685 -4.150676,-3.15033 -1.077137,-1.35347 -1.884986,-2.92864 -2.423549,-4.72549 -0.538569,-1.79686 -0.807851,-3.7804 -0.80785,-5.95064 -10e-7,-2.75361 0.408566,-5.42555 1.225703,-8.01585 0.817131,-2.59024 2.033548,-4.92382 3.649252,-7.00073 1.522835,-1.98351 3.454248,-3.59369 5.79423,-4.83051 2.339965,-1.23677 4.921365,-1.85516 7.744216,-1.85519 3.32423,3e-5 5.84992,0.6651 7.57707,1.99521 1.74567,1.33017 2.61852,3.32538 2.61855,5.98563 -3e-5,2.54362 -0.75216,4.73718 -2.25641,6.58069 -1.50429,1.82021 -3.54713,3.17368 -6.12851,4.06043 -2.042864,0.7701 -3.788553,1.31848 -5.237095,1.64518 -1.430005,0.32671 -3.18499,0.63008 -5.264954,0.91008 0.03713,1.02679 0.14856,2.18192 0.334284,3.46538 0.185698,1.28347 0.464271,2.38026 0.835702,3.29034 0.445698,1.05012 1.077121,1.8902 1.894276,2.52027 0.81712,0.60673 1.857103,0.9101 3.119965,0.91009 2.191396,1e-5 4.048512,-0.52505 5.571382,-1.57517 1.54139,-1.07343 3.00851,-2.76527 4.40139,-5.07553 l 2.03355,2.13523 c -1.67144,2.98698 -3.81642,5.3789 -6.43494,7.17576 -2.6,1.77351 -5.33926,2.66027 -8.21778,2.66027 m 6.29565,-27.72292 c -2e-5,-1.98352 -0.28787,-3.50033 -0.86356,-4.55048 -0.575732,-1.07341 -1.374296,-1.61014 -2.395696,-1.61016 -1.429996,2e-5 -2.785699,1.47018 -4.067099,4.41045 -1.262862,2.917 -2.070713,6.61572 -2.423553,11.09617 1.095693,-0.16333 2.182109,-0.37336 3.259256,-0.63007 1.07712,-0.25666 1.931395,-0.56003 2.562836,-0.91008 1.392822,-0.77007 2.395666,-1.76184 3.008546,-2.97533 0.61283,-1.21343 0.91925,-2.8236 0.91927,-4.8305 m 41.06105,-1.68017 c -3e-5,1.05014 -0.12074,2.06523 -0.36214,3.04531 -0.24145,0.98013 -0.60359,1.82022 -1.08641,2.52027 -0.5386,0.79344 -1.10503,1.3885 -1.69928,1.78519 -0.5943,0.37339 -1.43001,0.56007 -2.50711,0.56005 -1.39287,2e-5 -2.48858,-0.43168 -3.28712,-1.29513 -0.79858,-0.8634 -1.19786,-1.83183 -1.19784,-2.90531 -2e-5,-1.00341 0.1114,-1.86683 0.33428,-2.59027 0.2414,-0.72338 0.61283,-1.82017 1.11428,-3.29035 -1.2443,0.65343 -2.31214,1.45852 -3.20355,2.41526 -0.89144,0.93345 -1.74572,2.0069 -2.56284,3.22034 l -4.40138,24.78261 -9.22063,0 3.84426,-21.52727 c 0.11141,-0.65338 0.2507,-1.50514 0.41784,-2.55527 0.18571,-1.05008 0.27857,-1.92517 0.27858,-2.62528 -10e-6,-1.35345 -0.21358,-2.2752 -0.64071,-2.76529 -0.40858,-0.49002 -1.20715,-0.73504 -2.3957,-0.73508 -0.59428,4e-5 -1.20713,0.11672 -1.83855,0.35005 -0.61285,0.23338 -1.14214,0.45507 -1.58784,0.66506 l 0.61284,-3.15033 c 1.50428,-0.77005 2.94355,-1.42345 4.31782,-1.96021 1.37427,-0.56002 2.67425,-0.84005 3.89997,-0.84008 2.1914,3e-5 3.82566,0.54842 4.90281,1.64517 1.09569,1.07347 1.81997,2.5903 2.17284,4.55048 l 0.19499,0 c 1.83854,-2.45023 3.39852,-4.15374 4.67997,-5.11054 1.28139,-0.98007 2.65566,-1.47012 4.12282,-1.47015 1.57852,3e-5 2.8228,0.63009 3.73282,1.8902 0.90996,1.23682 1.36495,3.03368 1.36498,5.39057 m 16.88128,-2.13523 c -0.92858,5.76396 -1.73643,10.76949 -2.42355,15.01659 -0.66858,4.22378 -1.47643,8.64591 -2.42355,13.26639 -0.46429,2.26357 -1.235,4.48047 -2.31212,6.6507 -1.05857,2.19355 -2.31213,4.08375 -3.76068,5.6706 -1.52285,1.68016 -3.17569,2.98696 -4.95853,3.92041 -1.76427,0.93342 -3.58424,1.40014 -5.45995,1.40015 -1.68997,-1e-5 -3.05496,-0.21003 -4.09495,-0.63007 -1.05856,-0.42006 -1.88498,-0.95677 -2.47927,-1.61017 -0.5757,-0.65341 -0.9657,-1.37682 -1.16999,-2.17023 -0.20427,-0.79342 -0.30641,-1.57517 -0.30643,-2.34524 2e-5,-1.35348 0.39002,-2.55528 1.17,-3.60538 0.76142,-1.02678 1.79213,-1.54017 3.09211,-1.54017 1.00285,0 1.8757,0.32671 2.61855,0.9801 0.72428,0.67674 1.34641,1.48182 1.8664,2.41526 0.52001,0.91009 0.98429,1.9252 1.39285,3.04533 0.39,1.1201 0.69642,1.9952 0.91928,2.62527 0.77999,-1.07346 1.51356,-2.6953 2.20069,-4.86551 0.68714,-2.1469 1.32784,-5.0172 1.92213,-8.61091 l 4.98638,-29.61312 -5.40424,0 0.66857,-3.60538 5.34852,0 0.47357,-2.69529 c 0.38999,-2.19352 1.09569,-4.34042 2.11712,-6.44067 1.03998,-2.12352 2.29354,-4.01372 3.76068,-5.67061 1.4114,-1.63345 3.03639,-2.96359 4.87495,-3.99042 1.85711,-1.02671 3.71423,-1.5401 5.57138,-1.54016 1.61568,6e-5 2.95281,0.19841 4.0114,0.59507 1.0771,0.37342 1.92209,0.89848 2.53497,1.57516 0.55711,0.63011 0.92853,1.34186 1.11428,2.13523 0.20425,0.77012 0.30639,1.54021 0.30642,2.31024 -3e-5,0.51344 -0.0836,1.08516 -0.25071,1.71518 -0.1486,0.63011 -0.39003,1.20184 -0.72428,1.71518 -0.4086,0.58344 -0.84502,1.03849 -1.30927,1.36515 -0.44574,0.32674 -1.10502,0.49009 -1.97784,0.49005 -1.00288,4e-5 -1.86644,-0.32666 -2.59069,-0.98011 -0.72431,-0.67669 -1.33716,-1.47011 -1.83856,-2.38025 -0.53859,-0.95672 -0.99358,-1.9835 -1.36498,-3.08032 -0.37145,-1.09673 -0.67787,-1.97183 -0.91928,-2.62528 -0.76145,1.09683 -1.44858,2.69534 -2.06141,4.7955 -0.61287,2.10027 -1.24429,4.99391 -1.89427,8.68092 l -0.69642,4.02543 7.04779,0 -0.66857,3.60538 -6.9085,0 m 38.86035,9.41599 c -3e-5,2.94033 -0.44575,5.75228 -1.33713,8.43589 -0.89145,2.68362 -2.1543,5.01721 -3.78854,7.00074 -1.7643,2.12356 -3.83498,3.76872 -6.21209,4.93552 -2.35856,1.14345 -5.01425,1.71517 -7.96706,1.71517 -3.95569,0 -7.14994,-1.31846 -9.58277,-3.95541 -2.43283,-2.66028 -3.64925,-6.27731 -3.64925,-10.85114 0,-3.10365 0.45499,-5.98562 1.36498,-8.64592 0.92856,-2.66025 2.21926,-4.98216 3.87211,-6.96573 1.63427,-1.93684 3.63996,-3.46533 6.01709,-4.58548 2.37711,-1.14342 4.94922,-1.71515 7.71635,-1.71519 4.19709,4e-5 7.50277,1.29517 9.91706,3.88541 2.4328,2.56697 3.64922,6.14901 3.64925,10.74614 m -9.80562,-3.95542 c -3e-5,-2.73026 -0.37145,-4.73714 -1.11428,-6.02063 -0.7243,-1.28344 -1.78286,-1.92517 -3.17568,-1.9252 -1.43001,3e-5 -2.73928,0.72344 -3.92783,2.17022 -1.18857,1.42352 -2.15428,3.52373 -2.89711,6.30067 -0.65001,2.31027 -1.11429,4.81886 -1.39285,7.5258 -0.27857,2.68362 -0.41786,5.08721 -0.41785,7.21075 -1e-5,2.82364 0.37142,4.87719 1.11428,6.16065 0.74283,1.26013 1.81996,1.8902 3.2314,1.8902 1.52282,0 2.84138,-0.78174 3.95567,-2.34525 1.11426,-1.56349 1.99639,-3.48869 2.64641,-5.77561 0.64997,-2.24022 1.14211,-4.71381 1.47641,-7.42078 0.33426,-2.73026 0.5014,-5.32053 0.50143,-7.77082 m 42.53746,-3.32534 c -3e-5,1.05014 -0.12075,2.06523 -0.36214,3.04531 -0.24145,0.98013 -0.6036,1.82022 -1.08641,2.52027 -0.5386,0.79344 -1.10503,1.3885 -1.69928,1.78519 -0.59431,0.37339 -1.43001,0.56007 -2.50711,0.56005 -1.39288,2e-5 -2.48858,-0.43168 -3.28712,-1.29513 -0.79858,-0.8634 -1.19786,-1.83183 -1.19785,-2.90531 -1e-5,-1.00341 0.11141,-1.86683 0.33429,-2.59027 0.2414,-0.72338 0.61283,-1.82017 1.11427,-3.29035 -1.24429,0.65343 -2.31214,1.45852 -3.20354,2.41526 -0.89144,0.93345 -1.74572,2.0069 -2.56284,3.22034 l -4.40138,24.78261 -9.22063,0 3.84424,-21.52727 c 0.11143,-0.65338 0.25071,-1.50514 0.41786,-2.55527 0.18571,-1.05008 0.27857,-1.92517 0.27857,-2.62528 0,-1.35345 -0.21357,-2.2752 -0.64071,-2.76529 -0.40857,-0.49002 -1.20714,-0.73504 -2.39569,-0.73508 -0.59428,4e-5 -1.20713,0.11672 -1.83855,0.35005 -0.61285,0.23338 -1.14214,0.45507 -1.58785,0.66506 l 0.61285,-3.15033 c 1.50427,-0.77005 2.94355,-1.42345 4.31782,-1.96021 1.37427,-0.56002 2.67425,-0.84005 3.89997,-0.84008 2.19139,3e-5 3.82566,0.54842 4.90281,1.64517 1.09569,1.07347 1.81996,2.5903 2.17284,4.55048 l 0.19499,0 c 1.83854,-2.45023 3.39852,-4.15374 4.67996,-5.11054 1.2814,-0.98007 2.65566,-1.47012 4.12282,-1.47015 1.57853,3e-5 2.8228,0.63009 3.73283,1.8902 0.90996,1.23682 1.36495,3.03368 1.36498,5.39057 m 55.96449,22.8924 -0.61285,3.15034 c -1.83861,0.9101 -3.30574,1.61017 -4.4014,2.10022 -1.09574,0.46672 -2.36787,0.70008 -3.81639,0.70008 -2.21002,0 -3.92786,-0.68841 -5.15352,-2.06523 -1.22574,-1.40014 -1.83859,-3.12699 -1.83856,-5.18054 -3e-5,-0.56005 0.0185,-1.27179 0.0557,-2.13522 0.0557,-0.88676 0.21352,-1.98353 0.47357,-3.29035 l 2.0057,-9.31098 c 0.20423,-1.00342 0.3528,-1.90185 0.4457,-2.69529 0.11139,-0.81673 0.1671,-1.4818 0.16715,-1.99521 -5e-5,-1.12008 -0.2229,-1.99519 -0.66857,-2.62528 -0.44575,-0.63003 -1.17003,-0.94507 -2.17283,-0.94509 -0.70576,2e-5 -1.60646,0.39673 -2.70212,1.19012 -1.07718,0.79344 -2.17288,1.85523 -3.28712,3.18534 l -4.59638,25.27266 -9.22063,0 3.89996,-21.35225 c 0.20425,-1.16677 0.35283,-2.11186 0.44571,-2.8353 0.1114,-0.72339 0.16711,-1.35345 0.16714,-1.8902 -3e-5,-1.12008 -0.22288,-1.99519 -0.66856,-2.62528 -0.44574,-0.63003 -1.1793,-0.94507 -2.2007,-0.94509 -0.57573,2e-5 -1.37429,0.29172 -2.39569,0.87509 -1.02144,0.58342 -2.30286,1.75021 -3.84425,3.50037 l -4.59638,25.27266 -9.22063,0 3.95567,-21.52727 c 0.11143,-0.65338 0.25071,-1.5168 0.41786,-2.59028 0.1857,-1.07342 0.27855,-1.93684 0.27856,-2.59027 -10e-6,-1.33011 -0.20429,-2.24021 -0.61285,-2.73028 -0.40857,-0.51336 -1.21642,-0.77005 -2.42355,-0.77009 -0.59428,4e-5 -1.20713,0.11672 -1.83856,0.35005 -0.61284,0.23338 -1.14212,0.45507 -1.58784,0.66506 l 0.61286,-3.15033 c 1.50426,-0.77005 2.94354,-1.42345 4.31781,-1.96021 1.37427,-0.56002 2.67426,-0.84005 3.89997,-0.84008 2.26568,3e-5 3.89995,0.58343 4.90281,1.75018 1.00283,1.14349 1.70854,2.62531 2.11713,4.44547 l 0.19499,0 c 1.85711,-2.14686 3.64923,-3.78037 5.37638,-4.90052 1.7271,-1.12008 3.71423,-1.68014 5.96138,-1.68017 1.9128,3e-5 3.48207,0.64176 4.70781,1.92519 1.22567,1.28351 1.90352,2.87034 2.03355,4.76051 l 0.195,0 c 1.98709,-2.14686 3.83493,-3.79204 5.54352,-4.93552 1.70851,-1.16675 3.6585,-1.75015 5.84995,-1.75018 2.06136,3e-5 3.67705,0.71178 4.84709,2.13522 1.16994,1.42352 1.75494,3.15036 1.75499,5.18054 -5e-5,0.53675 -0.0372,1.29517 -0.11143,2.27524 -0.0558,0.9568 -0.20434,1.98358 -0.44571,3.08033 l -2.11712,9.83604 c -0.18577,0.81676 -0.35291,1.7502 -0.50143,2.80029 -0.14862,1.05012 -0.2229,1.84354 -0.22285,2.38025 -5e-5,1.35348 0.23209,2.27525 0.69642,2.7653 0.4828,0.49005 1.31851,0.73508 2.50712,0.73507 0.55708,1e-5 1.1885,-0.11667 1.89427,-0.35003 0.70565,-0.25669 1.21636,-0.47838 1.53213,-0.66508 m 35.21112,-15.61164 c -4e-5,2.94033 -0.44574,5.75228 -1.33713,8.43589 -0.89146,2.68362 -2.1543,5.01721 -3.78854,7.00074 -1.7643,2.12356 -3.83499,3.76872 -6.21208,4.93552 -2.35857,1.14345 -5.01426,1.71517 -7.96707,1.71517 -3.9557,0 -7.14995,-1.31846 -9.58278,-3.95541 -2.43283,-2.66028 -3.64925,-6.27731 -3.64925,-10.85114 0,-3.10365 0.45499,-5.98562 1.36499,-8.64592 0.92856,-2.66025 2.21926,-4.98216 3.87211,-6.96573 1.63426,-1.93684 3.63995,-3.46533 6.01709,-4.58548 2.3771,-1.14342 4.94922,-1.71515 7.71636,-1.71519 4.19707,4e-5 7.50275,1.29517 9.91705,3.88541 2.43279,2.56697 3.64921,6.14901 3.64925,10.74614 m -9.80563,-3.95542 c -3e-5,-2.73026 -0.37145,-4.73714 -1.11427,-6.02063 -0.7243,-1.28344 -1.78287,-1.92517 -3.17569,-1.9252 -1.43,3e-5 -2.73927,0.72344 -3.92781,2.17022 -1.18858,1.42352 -2.15429,3.52373 -2.89713,6.30067 -0.65,2.31027 -1.11428,4.81886 -1.39284,7.5258 -0.27858,2.68362 -0.41786,5.08721 -0.41785,7.21075 -1e-5,2.82364 0.37141,4.87719 1.11427,6.16065 0.74284,1.26013 1.81997,1.8902 3.2314,1.8902 1.52283,0 2.84138,-0.78174 3.95568,-2.34525 1.11425,-1.56349 1.99639,-3.48869 2.6464,-5.77561 0.64997,-2.24022 1.14211,-4.71381 1.47642,-7.42078 0.33426,-2.73026 0.50139,-5.32053 0.50142,-7.77082 m 34.09681,19.35704 -0.19499,0 c -1.95,2.24024 -3.80712,3.89709 -5.57138,4.97053 -1.76429,1.07345 -3.80712,1.61016 -6.12851,1.61016 -2.06142,0 -3.65855,-0.71173 -4.79139,-2.13522 -1.11428,-1.42348 -1.67141,-3.15032 -1.67141,-5.18054 0,-0.7234 0.0279,-1.45848 0.0836,-2.20523 0.0743,-0.74674 0.25071,-1.79685 0.52928,-3.15034 l 2.08926,-9.83603 c 0.13,-0.65339 0.27857,-1.54015 0.44572,-2.66028 0.18571,-1.14344 0.27855,-1.98352 0.27856,-2.52027 -1e-5,-1.28344 -0.21357,-2.18187 -0.64071,-2.69528 -0.40856,-0.5367 -1.21642,-0.80506 -2.42354,-0.80509 -0.59428,3e-5 -1.20713,0.1167 -1.83856,0.35003 -0.61285,0.2334 -1.14213,0.45508 -1.58784,0.66508 l 0.61285,-3.15034 c 1.50427,-0.77004 2.94355,-1.42344 4.31782,-1.9602 1.37427,-0.56002 2.67425,-0.84006 3.89997,-0.8401 2.20997,4e-5 3.90923,0.70011 5.09781,2.10023 1.20711,1.37684 1.81068,3.09202 1.81069,5.14555 -1e-5,0.42006 -0.0372,1.19014 -0.11143,2.31024 -0.0743,1.12014 -0.22287,2.15858 -0.4457,3.11532 l -2.03356,9.31099 c -0.18573,0.81676 -0.3343,1.70352 -0.44571,2.66028 -0.11144,0.93344 -0.16715,1.61017 -0.16714,2.03021 -10e-6,1.09679 0.20427,1.97188 0.61285,2.62528 0.40856,0.63007 1.11426,0.9451 2.11713,0.94509 0.72426,1e-5 1.68068,-0.37336 2.86926,-1.12011 1.2071,-0.77007 2.39566,-1.85519 3.56568,-3.25535 l 4.59638,-25.27266 8.88635,-0.49005 0.33428,0.49005 -3.95567,21.52727 c -0.13003,0.67675 -0.28789,1.57518 -0.47357,2.69529 -0.16718,1.12012 -0.25075,1.94854 -0.25071,2.48526 -4e-5,1.35348 0.2321,2.27525 0.69642,2.76529 0.48281,0.49006 1.31853,0.73508 2.50711,0.73508 0.5571,0 1.18853,-0.11668 1.89428,-0.35004 0.70566,-0.25669 1.21637,-0.47837 1.53212,-0.66507 l -0.61285,3.15033 c -1.83859,0.91009 -3.30571,1.61017 -4.40139,2.10022 -1.09573,0.46672 -2.36786,0.70007 -3.81639,0.70007 -2.04287,0 -3.67713,-0.57172 -4.90281,-1.71517 -1.22573,-1.1668 -1.99643,-2.66027 -2.31213,-4.48048 m 28.85975,6.72071 c -2.33998,0 -4.28068,-0.24503 -5.82208,-0.73508 -1.52286,-0.46671 -2.72998,-1.07344 -3.6214,-1.82018 -0.91,-0.74675 -1.53213,-1.54017 -1.86641,-2.38025 -0.33428,-0.86342 -0.50143,-1.66851 -0.50143,-2.41526 0,-1.35347 0.39929,-2.53193 1.19785,-3.53538 0.81713,-1.02676 1.89427,-1.54014 3.2314,-1.54015 1.11427,1e-5 2.04283,0.36171 2.78568,1.08511 0.76142,0.72341 1.39285,1.63351 1.89427,2.73028 0.46427,1.00345 0.85427,2.1119 1.17,3.32535 0.31569,1.21347 0.53855,2.1119 0.66856,2.69529 2.09854,0 3.68638,-0.56006 4.76352,-1.68018 1.07712,-1.14344 1.61569,-2.69528 1.61571,-4.65548 -2e-5,-0.86342 -0.16716,-1.58684 -0.50143,-2.17024 -0.31573,-0.58338 -0.74286,-1.09677 -1.28142,-1.54016 -0.53858,-0.42003 -1.22571,-0.82841 -2.06141,-1.22513 -0.83572,-0.3967 -1.66213,-0.77007 -2.47925,-1.12012 -2.24714,-0.95675 -4.02998,-2.27523 -5.34853,-3.95541 -1.29999,-1.70349 -1.94998,-3.81538 -1.94998,-6.33568 0,-1.49345 0.26928,-2.8936 0.80785,-4.20044 0.55713,-1.33011 1.4207,-2.55523 2.59069,-3.67538 1.15141,-1.07341 2.60925,-1.92518 4.37353,-2.55527 1.76426,-0.65337 3.82567,-0.98007 6.18423,-0.9801 1.4114,3e-5 2.72067,0.10504 3.92782,0.31502 1.2071,0.21006 2.33067,0.59511 3.37068,1.15513 0.98426,0.56009 1.74568,1.29517 2.28427,2.20523 0.55711,0.8868 0.83567,1.97191 0.83571,3.25534 -4e-5,1.2835 -0.39003,2.39196 -1.17,3.32536 -0.76144,0.91012 -1.76429,1.36516 -3.00854,1.36514 -1.07716,2e-5 -1.97786,-0.35001 -2.70212,-1.05011 -0.70572,-0.70005 -1.28143,-1.52847 -1.72712,-2.48526 -0.44574,-0.98008 -0.79858,-1.98352 -1.05857,-3.01032 -0.26002,-1.05008 -0.47358,-1.92517 -0.64071,-2.62528 -1.3,0.0934 -2.48856,0.68844 -3.56568,1.78519 -1.05857,1.07348 -1.58785,2.41529 -1.58784,4.02543 -10e-6,0.98012 0.1207,1.75021 0.36215,2.31024 0.25998,0.56008 0.60354,1.0268 1.0307,1.40015 0.48284,0.42007 1.0864,0.81677 1.8107,1.19013 0.74283,0.35005 1.6621,0.75843 2.75783,1.22512 2.52567,1.12014 4.42922,2.46194 5.71066,4.02542 1.28139,1.56352 1.9221,3.62874 1.92212,6.19566 -2e-5,1.68019 -0.31574,3.29036 -0.94713,4.83051 -0.61288,1.54017 -1.49501,2.82364 -2.64641,3.8504 -1.28143,1.12012 -2.75784,1.96021 -4.42924,2.52027 -1.67143,0.5834 -3.79784,0.87509 -6.37923,0.87509"
+         style="font-size:63.95185852px;font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#c7e5ff;fill-opacity:1;stroke:none;font-family:Goblin;-inkscape-font-specification:Goblin Bold Italic" />
+    </g>
+  </g>
+</svg>
diff --git a/data/themes/default/mainmenu_back_highlight.svg b/data/themes/default/mainmenu_back_highlight.svg
new file mode 100644 (file)
index 0000000..18beace
--- /dev/null
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="400"
+   height="80"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="mainmenu_back_highlight.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="879"
+     inkscape:window-width="1376"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="2.4609014"
+     inkscape:cx="264.61648"
+     inkscape:cy="41.573564"
+     inkscape:window-x="330"
+     inkscape:window-y="55"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient4557">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4559" />
+      <stop
+         style="stop-color:#0300da;stop-opacity:1;"
+         offset="1"
+         id="stop4561" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3945">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3947" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3949" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 400 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1000 : 400 : 1"
+       inkscape:persp3d-origin="500 : 266.66667 : 1"
+       id="perspective62" />
+    <linearGradient
+       id="linearGradient6053">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6055" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop6057" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6499"
+       inkscape:collect="always">
+      <stop
+         id="stop6501"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6503"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient3245"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8327515,0,0,-0.6476426,-48.09403,12.672202)"
+       x1="311.95688"
+       y1="-116.67703"
+       x2="311.95688"
+       y2="-276.41519" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4108"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3544445,0,0,1.7332213,31.621862,51.58815)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4121"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,133.62899)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4127"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,340.11416)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4133"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,39.887975,233.1463)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <inkscape:perspective
+       id="perspective2871"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       id="linearGradient3751">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective2871-4"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499-1"
+       id="linearGradient4108-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3544445,0,0,1.7332213,31.621862,-148.41185)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       id="linearGradient6499-1">
+      <stop
+         id="stop6501-3"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop6503-0"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective2849"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2854"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       y2="260.4765"
+       x2="358.07056"
+       y1="260.4765"
+       x1="44.868057"
+       gradientTransform="matrix(1.3544445,0,0,1.8513768,-45.940851,-180.28458)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2880"
+       xlink:href="#linearGradient6499-1-4"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient6499-1-4">
+      <stop
+         style="stop-color:#000000;stop-opacity:0.627451;"
+         offset="0"
+         id="stop3786" />
+      <stop
+         id="stop6503-0-4"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499-1-4"
+       id="linearGradient3786"
+       x1="27.637432"
+       y1="154.99852"
+       x2="403.24554"
+       y2="-42.490097"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Goblin"
+     x="266.96185"
+     y="39.888062"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="39.888062" /></text>
+  <rect
+     y="1.2243493"
+     x="1.2243469"
+     height="77.551308"
+     width="397.5513"
+     id="rect6405"
+     style="fill:url(#linearGradient3786);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.44899988000000013;marker:none;visibility:visible;display:inline;overflow:visible"
+     rx="2.6344144"
+     ry="3.6571968" />
+</svg>
diff --git a/data/themes/default/mainmenu_comment.svg b/data/themes/default/mainmenu_comment.svg
new file mode 100644 (file)
index 0000000..c0609a2
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="80"
+   height="20"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="menu_comment.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2522">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1000"
+     inkscape:window-width="1680"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="3.5638182"
+     inkscape:cx="63.312761"
+     inkscape:cy="28.662714"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <text
+     x="1.2611415"
+     y="16.780357"
+     style="font-size:17.99999994px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;fill:#060000;fill-opacity:1;stroke:none;display:inline;font-family:Goblin;-inkscape-font-specification:Goblin"
+     id="text10203"
+     xml:space="preserve"
+     sodipodi:linespacing="125%"
+     transform="scale(1.0082228,0.99184427)"><tspan
+       x="1.2611415"
+       y="16.780357"
+       id="tspan10205"
+       style="font-size:17.99999994px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#060000;fill-opacity:1;stroke:none;font-family:Goblin;-inkscape-font-specification:Goblin;writing-mode:lr;line-height:125%">Comment</tspan></text>
+</svg>
diff --git a/data/themes/default/mainmenu_comment_bg.svg b/data/themes/default/mainmenu_comment_bg.svg
new file mode 100644 (file)
index 0000000..e324e40
--- /dev/null
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1000"
+   height="35"
+   id="svg2919"
+   version="1.1"
+   inkscape:version="0.47pre4 r22446"
+   sodipodi:docname="menu_comment_bg.svg">
+  <defs
+     id="defs2921">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2927" />
+    <inkscape:perspective
+       id="perspective2908"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5448"
+       id="linearGradient5460"
+       gradientUnits="userSpaceOnUse"
+       x1="0"
+       y1="768"
+       x2="0"
+       y2="713.1153"
+       gradientTransform="translate(0,-2)" />
+    <linearGradient
+       id="linearGradient5448">
+      <stop
+         style="stop-color:#beb7c8;stop-opacity:1;"
+         offset="0"
+         id="stop5450" />
+      <stop
+         style="stop-color:#beb7c8;stop-opacity:0;"
+         offset="1"
+         id="stop5452" />
+    </linearGradient>
+    <linearGradient
+       y2="713.1153"
+       x2="0"
+       y1="768"
+       x1="0"
+       gradientTransform="matrix(1.0001729,0,0,0.66978968,-0.08644188,537.20848)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2917"
+       xlink:href="#linearGradient5448"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective2956"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2821"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.70710678"
+     inkscape:cx="403.07156"
+     inkscape:cy="55.181507"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1280"
+     inkscape:window-height="726"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata2924">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1017.3622)">
+    <rect
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.82833934;stroke-opacity:1"
+       id="rect3982-4"
+       width="1003.9697"
+       height="34.171661"
+       x="-1.9808303"
+       y="1017.7764" />
+    <rect
+       style="fill:url(#linearGradient2917);fill-opacity:1;stroke:none"
+       id="rect3982"
+       width="1000.1728"
+       height="33.489483"
+       x="-0.086441576"
+       y="1018.1177" />
+  </g>
+</svg>
diff --git a/data/themes/default/mainmenu_option.svg b/data/themes/default/mainmenu_option.svg
new file mode 100644 (file)
index 0000000..2e6cd75
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="140"
+   height="40"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="mainmenu_option.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2522">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="879"
+     inkscape:window-width="1531"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="3.5638182"
+     inkscape:cx="21.19519"
+     inkscape:cy="28.662714"
+     inkscape:window-x="219"
+     inkscape:window-y="96"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <text
+     x="0.42621329"
+     y="29.832424"
+     style="font-size:30px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.95999995000000005;fill:#ffffff;fill-opacity:0.25098041;stroke:#000000;stroke-width:0.96595240000000004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;font-family:Goblin"
+     id="text10203"
+     xml:space="preserve"
+     sodipodi:linespacing="125%"
+     transform="scale(1.0082228,0.99184427)"><tspan
+       x="0.42621329"
+       y="29.832424"
+       id="tspan10205"
+       style="font-size:30px;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:0.25098041;stroke:#000000;stroke-width:0.96595240000000004;stroke-opacity:1">option</tspan></text>
+</svg>
diff --git a/data/themes/default/mainmenu_option_selected.svg b/data/themes/default/mainmenu_option_selected.svg
new file mode 100644 (file)
index 0000000..e3fb953
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="140"
+   height="40"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="mainmenu_option_selected.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2522">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="879"
+     inkscape:window-width="1531"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="3.5638182"
+     inkscape:cx="1.0200212"
+     inkscape:cy="28.662714"
+     inkscape:window-x="259"
+     inkscape:window-y="109"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <text
+     x="0.42621329"
+     y="29.832424"
+     style="font-size:30px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.9659524;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;font-family:Goblin"
+     id="text10203"
+     xml:space="preserve"
+     sodipodi:linespacing="125%"
+     transform="scale(1.0082228,0.99184427)"><tspan
+       x="0.42621329"
+       y="29.832424"
+       id="tspan10205"
+       style="font-size:30px;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.9659524">option</tspan></text>
+</svg>
diff --git a/data/themes/default/mainmenu_scomment_bg.svg b/data/themes/default/mainmenu_scomment_bg.svg
new file mode 100644 (file)
index 0000000..e150054
--- /dev/null
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1000"
+   height="35"
+   id="svg2919"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="menu_scomment_bg.svg">
+  <defs
+     id="defs2921">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2927" />
+    <inkscape:perspective
+       id="perspective2908"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5448"
+       id="linearGradient5460"
+       gradientUnits="userSpaceOnUse"
+       x1="0"
+       y1="768"
+       x2="0"
+       y2="713.1153"
+       gradientTransform="translate(0,-2)" />
+    <linearGradient
+       id="linearGradient5448">
+      <stop
+         style="stop-color:#beb7c8;stop-opacity:1;"
+         offset="0"
+         id="stop5450" />
+      <stop
+         style="stop-color:#beb7c8;stop-opacity:0;"
+         offset="1"
+         id="stop5452" />
+    </linearGradient>
+    <linearGradient
+       y2="713.1153"
+       x2="0"
+       y1="768"
+       x1="0"
+       gradientTransform="matrix(1.0001729,0,0,0.66978968,-0.08644188,537.20848)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2917"
+       xlink:href="#linearGradient5448"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective2956"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2821"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5448"
+       id="linearGradient2822"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.99852984,0,0,0.66980918,0.81308358,537.19399)"
+       x1="0"
+       y1="768"
+       x2="0"
+       y2="713.1153" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.70710678"
+     inkscape:cx="479.0479"
+     inkscape:cy="122.05966"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1280"
+     inkscape:window-height="725"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata2924">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1017.3622)">
+    <rect
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.8263821;stroke-opacity:1"
+       id="rect3982-4"
+       width="999.17365"
+       height="34.173618"
+       x="0.41319105"
+       y="1017.7752"
+       rx="10"
+       ry="10" />
+    <rect
+       style="fill:url(#linearGradient2822);fill-opacity:1;stroke:none"
+       id="rect3982"
+       width="998.52972"
+       height="33.490456"
+       x="0.81308591"
+       y="1018.1172"
+       rx="10"
+       ry="10" />
+  </g>
+</svg>
diff --git a/data/themes/default/mainmenu_short_comment.svg b/data/themes/default/mainmenu_short_comment.svg
new file mode 100644 (file)
index 0000000..14f30a0
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="80"
+   height="20"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="menu_short_comment.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2522">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1000"
+     inkscape:window-width="1680"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="3.5638182"
+     inkscape:cx="63.312761"
+     inkscape:cy="28.101518"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <text
+     x="1.4361764"
+     y="16.829205"
+     style="font-size:13.92899985px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;fill:#060000;fill-opacity:1;stroke:none;display:inline;font-family:Goblin;-inkscape-font-specification:Goblin"
+     id="text10203"
+     xml:space="preserve"
+     sodipodi:linespacing="125%"
+     transform="scale(1.0082228,0.99184427)"><tspan
+       x="1.4361764"
+       y="16.829205"
+       id="tspan10205"
+       style="font-size:13.92899985px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#060000;fill-opacity:1;stroke:none;font-family:Goblin;-inkscape-font-specification:Goblin;writing-mode:lr;line-height:125%">Comment</tspan></text>
+</svg>
diff --git a/data/themes/default/menu.ogg b/data/themes/default/menu.ogg
new file mode 100644 (file)
index 0000000..6d7347d
Binary files /dev/null and b/data/themes/default/menu.ogg differ
diff --git a/data/themes/default/message_text.svg b/data/themes/default/message_text.svg
new file mode 100644 (file)
index 0000000..f20068d
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="110"
+   height="20"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="message_text.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2522">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="854"
+     inkscape:window-width="1440"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="3.5638182"
+     inkscape:cx="60.101374"
+     inkscape:cy="22.158164"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <text
+     x="0.21655023"
+     y="13.585703"
+     style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.9659524;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;font-family:Droid Sans Mono"
+     id="text10203"
+     xml:space="preserve"
+     sodipodi:linespacing="125%"
+     transform="scale(1.0082228,0.99184427)"><tspan
+       x="0.21655023"
+       y="13.585703"
+       id="tspan10205"
+       style="font-size:22px;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.9659524">message</tspan></text>
+</svg>
diff --git a/data/themes/default/mine.svg b/data/themes/default/mine.svg
new file mode 100644 (file)
index 0000000..4463bbb
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="64"
+   id="svg2463"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   version="1.0"
+   sodipodi:docname="mine.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2465">
+    <linearGradient
+       id="linearGradient3262">
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.22680412;"
+         offset="0"
+         id="stop3264" />
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.96078432;"
+         offset="1"
+         id="stop3266" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2471" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3272"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,40.335717,481.59837)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2406"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,43.114888,485.8841)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#f5f5f5"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6"
+     inkscape:cx="27.116923"
+     inkscape:cy="40.003406"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="860"
+     inkscape:window-height="806"
+     inkscape:window-x="568"
+     inkscape:window-y="26"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata2468">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-110.35967,-771.51188)">
+    <path
+       sodipodi:type="star"
+       style="fill:#1a1a1a;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.50462699;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="path2824"
+       sodipodi:sides="10"
+       sodipodi:cx="30.892857"
+       sodipodi:cy="33.285713"
+       sodipodi:r1="32.142857"
+       sodipodi:r2="20.415771"
+       sodipodi:arg1="1.5707963"
+       sodipodi:arg2="2.5575682"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 30.892857,65.42857 13.860991,44.54268 11.99976,59.289831 10.497109,32.381711 0.32318364,43.218403 14.92371,20.566041 0.32318311,23.353025 25.449981,13.608853 11.999759,7.2815965 38.055246,14.167557 30.892856,1.1428566 47.924722,22.028747 49.785953,7.2815955 51.288604,34.189715 61.46253,23.353023 46.862004,46.005386 61.46253,43.218401 36.335732,52.962574 49.785954,59.28983 23.730467,52.40387 l 7.16239,13.0247 z"
+       transform="matrix(1.0222549,0,0,0.97222224,110.7793,771.15077)" />
+  </g>
+</svg>
diff --git a/data/themes/default/neck_glow.svg b/data/themes/default/neck_glow.svg
new file mode 100644 (file)
index 0000000..7575eda
--- /dev/null
@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="256"
+   height="128"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="neck_glow.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   sodipodi:modified="true">
+  <metadata
+     id="metadata3009">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="854"
+     inkscape:window-width="1440"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.7759539"
+     inkscape:cx="9.4369493"
+     inkscape:cy="44.237484"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:current-layer="svg2"
+     showgrid="true"
+     showguides="false"
+     inkscape:snap-global="true"
+     inkscape:snap-bbox="true"
+     inkscape:snap-grids="true"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3223"
+       visible="true"
+       enabled="true"
+       empspacing="5"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient3655">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.627451;"
+         offset="0"
+         id="stop3657" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3659" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 260 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="250 : 260 : 1"
+       inkscape:persp3d-origin="125 : 173.33333 : 1"
+       id="perspective42" />
+    <linearGradient
+       id="linearGradient4387">
+      <stop
+         style="stop-color:#530d0d;stop-opacity:0;"
+         offset="0"
+         id="stop4389" />
+      <stop
+         id="stop10272"
+         offset="0.03502782"
+         style="stop-color:#5b0d0d;stop-opacity:0.93333333;" />
+      <stop
+         id="stop4395"
+         offset="0.5"
+         style="stop-color:#a61010;stop-opacity:0.93333334;" />
+      <stop
+         style="stop-color:#5a0d0d;stop-opacity:0.93333333;"
+         offset="0.96107578"
+         id="stop10270" />
+      <stop
+         style="stop-color:#530d0d;stop-opacity:0;"
+         offset="1"
+         id="stop4391" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4387"
+       id="linearGradient4393"
+       x1="3.9839032"
+       y1="259.35468"
+       x2="249.84105"
+       y2="259.35468"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9893674,0,0,0.9937313,0,-260.73405)" />
+    <linearGradient
+       id="linearGradient4109">
+      <stop
+         style="stop-color:#beff92;stop-opacity:0.58778626;"
+         offset="0"
+         id="stop4111" />
+      <stop
+         id="stop4117"
+         offset="0.5"
+         style="stop-color:#7fff2a;stop-opacity:1;" />
+      <stop
+         style="stop-color:#beff92;stop-opacity:0.58823532;"
+         offset="1"
+         id="stop4113" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3207">
+      <stop
+         style="stop-color:#999999;stop-opacity:1;"
+         offset="0"
+         id="stop3209" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop3211" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2417">
+      <stop
+         style="stop-color:#f2f2f2;stop-opacity:1;"
+         offset="0"
+         id="stop2419" />
+      <stop
+         style="stop-color:#999999;stop-opacity:0.73282444;"
+         offset="1"
+         id="stop2421" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2417"
+       id="linearGradient3337"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8922696,0,0,1.2260835,253.8584,-0.7360251)"
+       spreadMethod="reflect"
+       x1="-142.75803"
+       y1="0.78900218"
+       x2="-142.75803"
+       y2="4.6783328" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4109"
+       id="linearGradient4301"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(14.263989,1.44282)"
+       x1="92.684113"
+       y1="164.62471"
+       x2="227.01991"
+       y2="194.92398" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4109"
+       id="linearGradient4303"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-12,0)"
+       x1="64.430161"
+       y1="268.30783"
+       x2="146.39825"
+       y2="301.49274" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2417"
+       id="linearGradient2851"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8756075,0,0,1.2260835,249.99996,-0.7360251)"
+       spreadMethod="reflect"
+       x1="-142.75803"
+       y1="0.78900218"
+       x2="-142.75803"
+       y2="4.6783328" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3207"
+       id="linearGradient2853"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2794074,0,0,1.0054914,364.3677,-1.4243308)"
+       spreadMethod="repeat"
+       x1="-265.2009"
+       y1="-3.3672962"
+       x2="-265.91348"
+       y2="-0.3399277" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2417"
+       id="linearGradient2857"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8756075,0,0,1.2260835,249.99996,258.86732)"
+       spreadMethod="reflect"
+       x1="-142.75803"
+       y1="0.78900218"
+       x2="-142.75803"
+       y2="4.6783328" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2417"
+       id="linearGradient2861"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8756075,0,0,1.2260835,249.99996,518.66799)"
+       spreadMethod="reflect"
+       x1="-142.75803"
+       y1="0.78900218"
+       x2="-142.75803"
+       y2="4.6783328" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3207"
+       id="linearGradient2865"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0661728,0,0,1.0054914,357.56648,-1.4243308)"
+       spreadMethod="repeat"
+       x1="-265.2009"
+       y1="-3.3672962"
+       x2="-265.91348"
+       y2="-0.3399277" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3207"
+       id="linearGradient2869"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.85293831,0,0,1.0054914,352.20807,-1.4243308)"
+       spreadMethod="repeat"
+       x1="-265.2009"
+       y1="-3.3672962"
+       x2="-265.91348"
+       y2="-0.3399277" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3207"
+       id="linearGradient2873"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.6397037,0,0,1.0054914,345.40687,-1.4243308)"
+       spreadMethod="repeat"
+       x1="-265.2009"
+       y1="-3.3672962"
+       x2="-265.91348"
+       y2="-0.3399277" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3207"
+       id="linearGradient2877"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.42646909,0,0,1.0054914,337.88424,-1.4243308)"
+       spreadMethod="repeat"
+       x1="-265.2009"
+       y1="-3.3672962"
+       x2="-265.91348"
+       y2="-0.3399277" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3655"
+       id="radialGradient3661"
+       cx="162.5"
+       cy="256"
+       fx="162.5"
+       fy="256"
+       r="157.5"
+       gradientTransform="matrix(1,0,0,0.22222222,0,199.11111)"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <path
+     sodipodi:type="arc"
+     style="fill:url(#radialGradient3661);fill-opacity:1.0;fill-rule:nonzero;stroke:none"
+     id="path2879"
+     sodipodi:cx="162.5"
+     sodipodi:cy="256"
+     sodipodi:rx="157.5"
+     sodipodi:ry="35"
+     d="m 320,256 a 157.5,35 0 1 1 -315,0 157.5,35 0 1 1 315,0 z"
+     transform="matrix(0.81269841,0,0,1.8285714,-4.063492,-340.11428)" />
+</svg>
diff --git a/data/themes/default/no_cover.svg b/data/themes/default/no_cover.svg
new file mode 100644 (file)
index 0000000..0d83d30
--- /dev/null
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="256"
+   height="256"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docbase="/home/yoda/UltraStar/sf/svn/UltraStar-ng/themes/lima"
+   sodipodi:docname="no_cover.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 128 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="256 : 128 : 1"
+       inkscape:persp3d-origin="128 : 85.333333 : 1"
+       id="perspective17" />
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3484"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.336682,0,0,0.336682,-81.3739,-51.8729)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.1191406"
+     inkscape:cx="-30.603843"
+     inkscape:cy="70.174855"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1144"
+     inkscape:window-height="785"
+     inkscape:window-x="136"
+     inkscape:window-y="25"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     width="256px"
+     height="256px"
+     borderlayer="false"
+     showgrid="false" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.31313129000000001;fill-rule:nonzero;stroke:#7f7f7f;stroke-width:10.01399999999999935;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="rect1906"
+       width="246.30026"
+       height="246.30028"
+       x="4.8498545"
+       y="4.0691833"
+       inkscape:export-filename="/home/jesusda/docs/curro/yo/ultrastar-ng/base/theme-pod/images/no_cover.png"
+       inkscape:export-xdpi="89.889648"
+       inkscape:export-ydpi="89.889648" />
+    <rect
+       style="opacity:1;color:#000000;fill:#0000ff;fill-opacity:0.22608696;fill-rule:nonzero;stroke:none;stroke-width:10.60000038000000089;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="rect1913"
+       width="291.42856"
+       height="45.714287"
+       x="-16.285721"
+       y="181.50516" />
+    <path
+       style="font-size:39.83382034000000260px;font-family:Goblin;stroke:none;stroke-opacity:1;fill:#000000;fill-opacity:1"
+       d="M 58.72672,219.00823 L 44.00299,198.17717 L 44.00299,218.61923 L 40.30747,218.61923 L 40.30747,190.12482 L 41.86348,190.12482 L 56.19821,209.82778 L 56.19821,190.12482 L 59.89373,190.12482 L 59.89373,219.00823 L 58.72672,219.00823 M 64.3867,204.1289 C 64.3867,200.0055 65.41756,196.55635 67.47927,193.78144 C 69.55394,191.00659 72.34827,189.61915 75.86227,189.61912 C 79.8171,189.61915 82.84483,190.89637 84.94547,193.45079 C 87.05902,196.00526 88.11581,199.56463 88.11583,204.1289 C 88.11581,208.8099 87.05902,212.47949 84.94547,215.13766 C 82.83187,217.78288 79.80414,219.10548 75.86227,219.10548 C 72.27047,219.10548 69.45669,217.70508 67.42092,214.90426 C 65.39811,212.10345 64.3867,208.51167 64.3867,204.1289 M 68.47123,204.1289 C 68.47122,207.39653 69.11307,210.12603 70.39679,212.3174 C 71.69345,214.50878 73.51528,215.60447 75.86227,215.60447 C 78.52043,215.60447 80.54324,214.59955 81.9307,212.5897 C 83.33109,210.57986 84.03129,207.7596 84.03131,204.1289 C 84.03129,196.78975 81.30828,193.12017 75.86227,193.12014 C 73.45044,193.12017 71.61565,194.10564 70.35789,196.07656 C 69.10011,198.04752 68.47122,200.73163 68.47123,204.1289 M 122.75647,191.17513 L 121.45332,194.5011 C 120.20849,193.59345 118.25052,193.13962 115.57938,193.13959 C 113.07679,193.13962 111.06695,194.21585 109.54985,196.36831 C 108.0457,198.52081 107.29363,201.29569 107.29364,204.69296 C 107.29363,207.93465 108.06515,210.5669 109.6082,212.5897 C 111.1642,214.59955 113.16756,215.60447 115.61828,215.60447 C 118.28942,215.60447 120.34464,214.6579 121.78397,212.76475 L 123.92348,215.74062 C 121.66725,217.98386 118.7627,219.10548 115.20983,219.10548 C 111.48837,219.10548 108.55789,217.76343 106.41838,215.07931 C 104.27887,212.3952 103.20911,208.85529 103.20912,204.45955 C 103.20911,200.20648 104.35019,196.67305 106.63233,193.85925 C 108.91447,191.04549 111.8644,189.6386 115.48213,189.63857 C 118.58117,189.6386 121.00594,190.15079 122.75647,191.17513 M 127.01605,204.1289 C 127.01604,200.0055 128.0469,196.55635 130.10861,193.78144 C 132.18328,191.00659 134.97761,189.61915 138.49161,189.61912 C 142.44645,189.61915 145.47418,190.89637 147.57481,193.45079 C 149.68836,196.00526 150.74515,199.56463 150.74518,204.1289 C 150.74515,208.8099 149.68836,212.47949 147.57481,215.13766 C 145.46121,217.78288 142.43348,219.10548 138.49161,219.10548 C 134.89981,219.10548 132.08603,217.70508 130.05026,214.90426 C 128.02745,212.10345 127.01604,208.51167 127.01605,204.1289 M 131.10057,204.1289 C 131.10056,207.39653 131.74242,210.12603 133.02613,212.3174 C 134.32279,214.50878 136.14462,215.60447 138.49161,215.60447 C 141.14977,215.60447 143.17258,214.59955 144.56004,212.5897 C 145.96043,210.57986 146.66063,207.7596 146.66065,204.1289 C 146.66063,196.78975 143.93762,193.12017 138.49161,193.12014 C 136.07979,193.12017 134.24499,194.10564 132.98723,196.07656 C 131.72945,198.04752 131.10056,200.73163 131.10057,204.1289 M 165.13826,219.00823 L 163.1738,219.00823 L 152.55404,190.12482 L 156.87197,190.12482 L 164.20466,211.11149 L 171.26505,190.12482 L 175.44682,190.12482 L 165.13826,219.00823 M 182.52665,193.62584 L 182.52665,201.54204 L 191.94051,201.54204 L 191.94051,204.84856 L 182.52665,204.84856 L 182.52665,215.11821 L 195.44153,215.11821 L 195.44153,218.61923 L 178.63663,218.61923 L 178.63663,190.12482 L 195.65548,190.12482 L 195.65548,193.62584 L 182.52665,193.62584 M 215.76689,218.61923 L 208.1619,206.38511 C 207.29312,206.38513 205.91864,206.32029 204.03848,206.19061 L 204.03848,218.61923 L 200.14846,218.61923 L 200.14846,190.12482 C 200.29109,190.12485 201.29601,190.07947 203.16322,189.98867 C 205.04339,189.88497 206.41138,189.8331 207.26719,189.83307 C 214.11362,189.8331 217.53683,192.55611 217.53685,198.00212 C 217.53683,199.79155 216.98575,201.4059 215.88359,202.84519 C 214.7814,204.27155 213.47176,205.15977 211.95467,205.50986 L 220.22097,218.61923 L 215.76689,218.61923 M 204.03848,193.62584 L 204.03848,202.8841 C 204.97207,203.01378 205.87974,203.07861 206.76149,203.0786 C 209.09549,203.07861 210.79413,202.70258 211.85742,201.95049 C 212.92068,201.19844 213.45231,199.85638 213.45233,197.92432 C 213.45231,196.32943 212.88178,195.18188 211.74072,194.48165 C 210.59963,193.78147 208.79726,193.43137 206.33359,193.43134 C 205.94458,193.43137 205.17954,193.4962 204.03848,193.62584"
+       id="text1909" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.24020983px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 179.91252,49.32409 L 175.05953,49.32409 L 174.08894,51.75058 L 175.05953,54.41971 L 174.57423,57.33149 L 172.14777,55.8756 L 170.20659,52.23587 L 166.08154,51.26527 L 164.38302,49.56674 L 160.74328,47.8682 L 156.61826,41.07404 L 156.8609,37.91961 L 167.05216,30.15485 L 171.90508,32.33868 L 172.63306,34.03723 L 172.63306,35.97841 L 173.84629,37.67695 L 176.27279,38.4049 L 177.97132,36.94901 L 178.21396,35.25047 L 177.48602,33.79458 L 176.03014,33.06663 L 175.05953,31.85339 L 177.24337,30.88279 L 176.75808,28.45631 L 176.75808,27.00042 L 175.3022,25.54453 L 174.57423,23.36069 L 171.66247,22.63274 L 169.23597,22.14745 L 164.14034,25.78718 L 151.27997,30.88279 L 148.36818,33.79458 L 146.18437,35.49312 L 145.69903,39.3755 L 146.66966,41.31668 L 149.09616,47.8682 L 152.25056,53.9344 L 155.64764,58.30208 L 150.30939,67.03743 L 144.24316,80.14045 L 140.60344,85.96402 L 134.53723,93.48612 L 134.29459,96.88321 L 131.14015,99.79499 L 135.99311,104.16267 L 134.77988,109.25828 L 135.26518,120.66277 L 137.44899,133.76579 L 139.63285,145.41292 L 142.0593,149.2953 L 145.45642,156.33211 L 150.79468,164.33951 L 152.25056,169.43511 L 153.70647,173.07485 L 149.33877,179.14107 L 141.57401,182.2955 L 140.84608,184.722 L 155.64764,184.2367 L 153.46382,188.11907 L 156.13294,190.54555 L 163.16975,191.27351 L 168.75068,186.42053 L 170.69189,179.62638 L 173.84629,173.80281 L 177.72867,170.40573 L 178.9419,166.52334 L 174.81692,166.2807 L 177.48602,163.61156 L 172.14777,165.31011 L 176.03014,161.42773 L 173.11835,160.69978 L 170.93451,158.03064 L 167.29477,150.50854 L 158.80208,143.47174 L 157.10356,142.98643 L 158.80208,141.53054 L 158.55944,137.40552 L 160.25799,133.76579 L 158.80208,134.00844 L 161.47122,129.39811 L 161.47122,124.78779 L 163.16975,122.3613 L 163.16975,119.20687 L 166.80948,114.3539 L 167.05216,110.22888 L 166.32418,106.8318 L 168.02275,102.94942 L 169.96392,99.79499 L 169.96392,97.8538 L 172.14777,97.61115 L 174.08894,95.66997 L 175.78749,90.81699 L 179.66987,86.44932 L 184.2802,84.75078 L 187.19194,87.17727 L 194.22879,89.3611 L 199.80969,92.27288 L 202.47881,95.66997 L 207.08912,96.15526 L 221.64807,102.46413 L 229.17014,105.13326 L 235.23639,109.74358 L 236.6923,109.25828 L 236.6923,107.8024 L 233.29522,105.13326 L 239.84671,106.8318 L 240.57467,105.61855 L 239.11875,104.16267 L 241.54525,104.16267 L 241.78792,102.70677 L 237.42021,101.73618 L 240.8173,100.76558 L 240.8173,99.06704 L 239.60405,98.8244 L 235.9643,99.06704 L 233.05255,97.8538 L 231.11135,96.88321 L 234.02314,94.45672 L 234.75109,92.75818 L 234.2658,91.54494 L 231.59668,92.03023 L 226.01573,94.94201 L 225.28782,96.39791 L 223.34661,95.91262 L 216.30978,92.03023 L 216.06716,89.3611 L 211.94212,87.17727 L 204.9053,83.53753 L 203.20677,84.75078 L 203.44942,83.05223 L 199.56705,79.41251 L 196.16996,78.44191 L 193.01553,74.80218 L 192.04494,73.58895 L 195.19937,75.77278 L 194.71409,73.34629 L 197.14055,74.55953 L 196.41261,70.91981 L 199.80969,74.07424 L 198.35382,71.8904 L 201.75086,73.34629 L 198.83911,69.22127 L 201.02293,69.94922 L 200.05234,66.06684 L 201.75086,67.52273 L 199.3244,63.88299 L 201.75086,64.61094 L 199.56705,61.69916 L 202.47881,61.45652 L 199.3244,59.51532 L 201.26558,58.54474 L 199.08175,58.30208 L 201.99351,55.63296 L 199.3244,55.8756 L 199.56705,54.17705 L 199.80969,49.32409 L 198.35382,52.72116 L 196.65525,47.8682 L 196.89791,51.75058 L 195.92732,51.99322 L 193.50082,51.99322 L 190.83168,48.11084 L 188.16256,48.11084 L 185.00813,45.44171 L 183.55222,46.8976 L 179.91252,49.32409 z "
+       id="path1939" />
+    <path
+       id="path2864"
+       d="M 51.95662,130.05789 L 47.10039,130.05789 L 48.40473,131.01205 L 51.87908,132.06164 L 54.12411,133.20664 L 50.33068,132.63414 L 44.97485,131.20289 L 39.93685,130.82122 L 36.64427,130.1533 L 31.40921,129.48538 L 20.90983,126.81372 L 18.19442,125.5733 L 21.11069,122.51996 L 28.01488,123.37871 L 30.33624,124.04664 L 32.15668,124.80996 L 34.96362,125.47789 L 38.07442,125.76413 L 38.40871,125.19163 L 37.05865,124.52371 L 34.96487,123.95121 L 32.82536,123.66496 L 30.71632,123.18789 L 31.9914,122.80622 L 29.23021,121.85205 L 27.8649,121.27955 L 25.04269,120.70704 L 22.26625,119.84829 L 18.66985,119.56204 L 15.78661,119.37122 L 14.10095,120.80247 L 6.01062,122.80622 L 5.82757,123.95121 L 5.23518,124.61913 L 8.39046,126.1458 L 11.18215,126.90913 L 19.7543,129.48538 L 28.59974,131.8708 L 36.09511,133.5883 L 38.94528,137.02331 L 45.16305,142.17581 L 46.98225,144.46581 L 47.96623,147.42373 L 50.90923,148.75957 L 50.48333,149.90457 L 59.43556,151.62207 L 63.00022,153.62582 L 74.18097,158.11041 L 88.6543,163.2629 L 101.76233,167.84291 L 107.83131,169.36957 L 117.82982,172.13667 L 130.68098,175.28542 L 136.91654,177.28916 L 141.78676,178.72041 L 143.10504,181.10583 L 138.29332,182.34625 L 139.84051,183.30042 L 154.19685,183.10959 L 155.65246,184.63625 L 160.59892,185.59042 L 168.32309,185.87668 L 169.35661,183.96834 L 164.92756,181.29668 L 162.62274,179.00666 L 163.32193,177.67084 L 160.89506,176.14417 L 156.53975,176.04875 L 156.70755,174.99916 L 152.9586,175.66708 L 153.20266,174.14042 L 149.60626,173.85417 L 144.91788,172.80458 L 134.22143,169.84666 L 119.12392,167.07958 L 116.96912,166.88874 L 117.30349,166.31624 L 113.19219,164.69416 L 111.47852,163.2629 L 110.24923,163.35833 L 108.5966,161.54541 L 104.27299,159.73248 L 103.6971,158.77832 L 100.73888,157.5379 L 99.82991,155.62956 L 96.20428,154.00749 L 92.29006,152.67165 L 90.34883,151.14498 L 89.33309,149.90457 L 87.51261,149.14123 L 89.47039,149.04582 L 89.59239,148.28249 L 86.74097,146.37415 L 86.52991,144.65665 L 89.55041,143.98873 L 94.73969,144.9429 L 103.82924,145.80165 L 112.14454,146.94665 L 118.00125,148.28249 L 123.06976,148.47331 L 143.55488,150.95414 L 153.58513,152.00373 L 163.97896,153.81666 L 164.98075,153.62582 L 163.61541,153.05332 L 157.71291,152.00373 L 165.86172,152.67165 L 165.45235,152.19457 L 162.63018,151.62207 L 165.05826,151.62207 L 163.93576,151.04957 L 158.65491,150.6679 L 161.14403,150.28623 L 159.55113,149.61832 L 158.10956,149.5229 L 154.69493,149.61832 L 150.64344,149.14123 L 147.7907,148.75957 L 148.42888,147.8054 L 147.56442,147.13749 L 145.94102,146.66039 L 143.7252,146.85123 L 140.87122,147.99623 L 141.50812,148.56873 L 139.11056,148.3779 L 128.42812,146.85123 L 125.68221,145.80165 L 119.50642,144.9429 L 109.05155,143.51164 L 108.48966,143.98873 L 107.13957,143.32081 L 99.84126,141.88956 L 95.53169,141.50789 L 88.9618,140.07664 L 86.85279,139.59956 L 92.05731,140.45831 L 89.29615,139.50414 L 92.86201,139.98123 L 88.72022,138.54997 L 95.07782,139.79039 L 91.57296,138.93164 L 96.33765,139.50414 L 89.55547,137.88206 L 92.42342,138.16831 L 87.81129,136.64163 L 90.8763,137.21415 L 85.03484,135.78288 L 88.14561,136.06914 L 83.22962,134.92414 L 85.9158,134.82872 L 80.93884,134.06539 L 81.97107,133.68372 L 79.55824,133.5883 L 79.96883,132.53872 L 77.5255,132.63414 L 76.1754,131.96622 L 71.8671,130.05789 L 73.59602,131.39371 L 67.34523,129.48538 L 71.22891,131.01205 L 70.48522,131.10747 L 68.05713,131.10747 L 61.74529,129.58081 L 59.07437,129.58081 L 53.41475,128.53122 L 53.32318,129.10371 L 51.95662,130.05789 z "
+       style="opacity:0.22790701;fill:url(#linearGradient3484);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44754833px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.57235873;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 171.66025,21.79794 C 162.15973,18.28633 157.05504,31.44378 160.18449,38.80558 C 161.31181,48.09876 161.51381,57.85479 159.05213,66.89762 C 154.41828,71.75825 142.39215,74.87443 142.56497,83.03148"
+       id="path3759"
+       sodipodi:nodetypes="cccc" />
+  </g>
+</svg>
diff --git a/data/themes/default/no_player_image.svg b/data/themes/default/no_player_image.svg
new file mode 100644 (file)
index 0000000..6f1593d
--- /dev/null
@@ -0,0 +1,316 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="256"
+   height="256"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.47pre4 r22446"
+   sodipodi:docname="no_player_image.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 128 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="256 : 128 : 1"
+       inkscape:persp3d-origin="128 : 85.333333 : 1"
+       id="perspective17" />
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3484"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.336682,0,0,0.336682,-102.85613,-37.340806)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <filter
+       id="filter5655"
+       height="1.5668966"
+       y="-0.28344828"
+       width="1.1522222"
+       x="-0.076111111"
+       inkscape:collect="always">
+      <feGaussianBlur
+         id="feGaussianBlur5657"
+         stdDeviation="1.4531044"
+         inkscape:collect="always" />
+    </filter>
+    <radialGradient
+       r="17.986024"
+       fy="17.727694"
+       fx="29.922075"
+       cy="17.727694"
+       cx="29.922075"
+       gradientTransform="matrix(0.558489,0,-1.377346e-8,0.563387,14.87134,4.364123)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3816"
+       xlink:href="#linearGradient4562"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.354517,0,-3.340511e-8,1.366395,-8.947464,-9.871365)"
+       r="17.986024"
+       fy="26.814409"
+       fx="24.753788"
+       cy="26.814409"
+       cx="24.753788"
+       id="radialGradient4568"
+       xlink:href="#linearGradient4562"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="35.803486"
+       x2="30.935921"
+       y1="29.553486"
+       x1="30.935921"
+       gradientTransform="matrix(1.33835,0,0,1.33835,-33.47918,-20.70004)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1372"
+       xlink:href="#linearGradient3824"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="35.739632"
+       x2="21.408455"
+       y1="36.390400"
+       x1="22.686766"
+       gradientTransform="matrix(-1.308485,0.281154,0.281154,1.308485,39.09106,-26.21225)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1366"
+       xlink:href="#linearGradient4356"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(-1.308485,0.281154,0.281154,1.308485,57.41196,-17.2385)"
+       y2="35.739632"
+       x2="21.408455"
+       y1="36.390400"
+       x1="22.686766"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4366"
+       xlink:href="#linearGradient4356"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(1.3161,0.243028,-0.243028,1.3161,-9.262129,-16.07396)"
+       gradientUnits="userSpaceOnUse"
+       y2="36.217758"
+       x2="22.626925"
+       y1="35.817974"
+       x1="20.661695"
+       id="linearGradient4362"
+       xlink:href="#linearGradient4356"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient3822"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3816"
+       inkscape:collect="always">
+      <stop
+         id="stop3818"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3820"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3824">
+      <stop
+         id="stop3826"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3828"
+         offset="1.0000000"
+         style="stop-color:#c9c9c9;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4356"
+       inkscape:collect="always">
+      <stop
+         id="stop4358"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop4360"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4562">
+      <stop
+         id="stop4564"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop4566"
+         offset="1"
+         style="stop-color:#d6d6d2;stop-opacity:1;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective2961"
+       inkscape:persp3d-origin="24 : 16 : 1"
+       inkscape:vp_z="48 : 24 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 24 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.5827038"
+     inkscape:cx="99.986465"
+     inkscape:cy="125.13218"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1144"
+     inkscape:window-height="785"
+     inkscape:window-x="136"
+     inkscape:window-y="25"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     width="256px"
+     height="256px"
+     borderlayer="false"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Capa 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g2985"
+       transform="matrix(5.5582986,0,0,5.5582986,-7.1199903,11.2277)">
+      <g
+         style="display:inline"
+         inkscape:label="cipek"
+         id="layer1-1">
+        <path
+           id="path4173"
+           d="m 13.365469,24.850231 5.678138,0 -3.312246,-3.075659 -0.709768,0.946357 -0.709768,-0.709767 -0.946356,2.839069 z"
+           style="color:#000000;fill:url(#linearGradient1372);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           style="opacity:0.22784807;color:#000000;fill:url(#linearGradient1366);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+           d="m 19.882923,32.490544 c 1.647845,-0.777552 2.414892,-2.679807 2.414892,-2.679807 -1.283638,-5.410927 -5.321479,-9.158091 -5.321479,-9.158091 0,0 3.298488,8.488623 2.906587,11.837898 z"
+           id="path4370"
+           sodipodi:nodetypes="cccc" />
+      </g>
+      <g
+         style="display:inline"
+         inkscape:label="dalsi cipek"
+         id="layer2">
+        <rect
+           transform="matrix(0.9351852,0,0,0.9351852,1.5811694,2.2763322)"
+           ry="5.126524"
+           rx="5.126524"
+           y="35.448853"
+           x="5.3033009"
+           height="10.253048"
+           width="38.183765"
+           id="rect4608"
+           style="opacity:0.34857142;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:block;overflow:visible;filter:url(#filter5655);enable-background:accumulate" />
+        <path
+           sodipodi:nodetypes="cczcczc"
+           id="path4308"
+           d="m 17.918908,43.517006 14.195346,0 c 4.022015,0 8.003981,-1.47477 9.463562,-5.678138 1.386048,-3.991597 0.23659,-11.592866 -8.753795,-17.744182 l -16.797826,0 c -8.9903852,5.678137 -10.1138992,13.4435 -8.0440285,17.98077 2.1086975,4.62238 5.6781375,5.44155 9.9367415,5.44155 z"
+           style="color:#000000;fill:url(#radialGradient4568);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999982px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           inkscape:r_cy="true"
+           inkscape:r_cx="true"
+           style="opacity:0.29120878;color:#000000;fill:url(#linearGradient4366);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+           d="m 38.203826,41.464292 c 1.647845,-0.777552 2.414892,-2.679806 2.414892,-2.679806 -1.283638,-5.410928 -5.32148,-9.158091 -5.32148,-9.158091 0,0 3.298489,8.488622 2.906588,11.837897 z"
+           id="path4364"
+           sodipodi:nodetypes="cccc" />
+        <path
+           inkscape:r_cy="true"
+           inkscape:r_cx="true"
+           sodipodi:nodetypes="cccc"
+           id="path4354"
+           d="M 11.642995,42.046125 C 9.9732599,41.316765 9.2259419,39.559099 9.2259419,39.559099 10.351871,34.11317 14.204505,30.128795 14.204505,30.128795 c 0,0 -3.05053,8.580851 -2.56151,11.91733 z"
+           style="opacity:0.54945056;color:#000000;fill:url(#linearGradient4362);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           style="opacity:0.64285715;color:#000000;fill:none;stroke:#ffffff;stroke-width:0.99999988px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+           d="m 17.593144,42.482789 14.527688,-0.03059 c 3.654575,0 7.272757,-1.340038 8.598996,-5.159397 C 41.97925,33.665864 40.58869,26.759027 32.419643,21.169679 L 16.464198,20.833163 C 8.295151,25.99256 6.714018,33.0485 8.6253819,37.507773 c 1.9113661,4.459273 4.7005121,4.944423 8.9677621,4.975016 z"
+           id="path4314"
+           sodipodi:nodetypes="cczcczc" />
+        <path
+           transform="matrix(1.33835,0,0,1.33835,-17.02698,-7.522361)"
+           sodipodi:type="arc"
+           style="color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+           id="path4318"
+           sodipodi:cx="31.112698"
+           sodipodi:cy="19.008621"
+           sodipodi:rx="8.6620579"
+           sodipodi:ry="8.6620579"
+           d="m 39.774755,19.008621 c 0,4.783923 -3.878135,8.662058 -8.662057,8.662058 -4.783923,0 -8.662058,-3.878135 -8.662058,-8.662058 0,-4.783922 3.878135,-8.662058 8.662058,-8.662058 4.783922,0 8.662057,3.878136 8.662057,8.662058 z" />
+        <path
+           transform="matrix(1.33835,0,0,1.33835,-16.85969,-12.20659)"
+           d="m 39.774755,19.008621 c 0,4.783923 -3.878135,8.662058 -8.662057,8.662058 -4.783923,0 -8.662058,-3.878135 -8.662058,-8.662058 0,-4.783922 3.878135,-8.662058 8.662058,-8.662058 4.783922,0 8.662057,3.878136 8.662057,8.662058 z"
+           sodipodi:ry="8.6620579"
+           sodipodi:rx="8.6620579"
+           sodipodi:cy="19.008621"
+           sodipodi:cx="31.112698"
+           id="path4320"
+           style="color:#000000;fill:url(#radialGradient3816);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.74718857px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+           sodipodi:type="arc" />
+        <path
+           transform="matrix(1.215123,0,0,1.215123,-13.02574,-9.864199)"
+           sodipodi:type="arc"
+           style="opacity:0.19620254;color:#000000;fill:none;stroke:#ffffff;stroke-width:0.82296228px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+           id="path4322"
+           sodipodi:cx="31.112698"
+           sodipodi:cy="19.008621"
+           sodipodi:rx="8.6620579"
+           sodipodi:ry="8.6620579"
+           d="m 39.774755,19.008621 c 0,4.783923 -3.878135,8.662058 -8.662057,8.662058 -4.783923,0 -8.662058,-3.878135 -8.662058,-8.662058 0,-4.783922 3.878135,-8.662058 8.662058,-8.662058 4.783922,0 8.662057,3.878136 8.662057,8.662058 z" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/data/themes/default/notebar.png b/data/themes/default/notebar.png
new file mode 100644 (file)
index 0000000..c966ddc
Binary files /dev/null and b/data/themes/default/notebar.png differ
diff --git a/data/themes/default/notebar.svg b/data/themes/default/notebar.svg
new file mode 100644 (file)
index 0000000..0f3e6c0
--- /dev/null
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="128"
+   height="64"
+   id="svg1901"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="notebar.svg"
+   sodipodi:docbase="/home/tsoots/ohj/translations/po"
+   inkscape:export-filename="notebar.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs1903">
+    <linearGradient
+       id="linearGradient2388">
+      <stop
+         style="stop-color:#b4e7e7;stop-opacity:1;"
+         offset="0"
+         id="stop2390" />
+      <stop
+         style="stop-color:#165069;stop-opacity:1;"
+         offset="1"
+         id="stop2392" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2388"
+       id="linearGradient2394"
+       x1="319.99997"
+       y1="525.70605"
+       x2="319.99997"
+       y2="555.01825"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0432362,0,0,1.0929825,-13.835593,-50.244212)" />
+    <filter
+       inkscape:collect="always"
+       id="filter3271"
+       x="-0.066881439"
+       width="1.1337629"
+       y="-0.3485957"
+       height="1.6971914">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.3650731"
+         id="feGaussianBlur3273" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7.9375"
+     inkscape:cx="64"
+     inkscape:cy="32"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     gridtolerance="10000"
+     inkscape:window-width="1279"
+     inkscape:window-height="725"
+     inkscape:window-x="505"
+     inkscape:window-y="123"
+     showgrid="false"
+     inkscape:snap-global="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3154"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata1906">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Taso 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="opacity:1"
+     transform="translate(-255.99998,-508.36216)">
+    <rect
+       style="fill:url(#linearGradient2394);fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2382"
+       width="62"
+       height="30"
+       x="288.80084"
+       y="525.16302"
+       rx="12"
+       ry="12" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="1.8614163"
+       inkscape:original="M 44.09375 20.03125 C 43.272831 20.03125 42.521517 20.241931 41.78125 20.46875 C 57.140936 27.84874 73.786659 26.922094 87.03125 20.6875 C 86.068989 20.275907 85.031058 20.03125 83.90625 20.03125 L 44.09375 20.03125 z "
+       style="fill:#ffffff;fill-opacity:0.45098039000000001;stroke:none;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;filter:url(#filter3271)"
+       id="path3258"
+       d="M 44.09375,18.15625 C 42.954355,18.15625 42.018873,18.451916 41.25,18.6875 C 40.507736,18.902901 39.975772,19.554539 39.913311,20.324897 C 39.850849,21.095255 40.270884,21.824081 40.96875,22.15625 C 56.856448,29.789938 74.088462,28.835283 87.8125,22.375 C 88.481947,22.065076 88.905231,21.389083 88.891698,20.6515 C 88.878164,19.913917 88.430366,19.253906 87.75,18.96875 C 86.587974,18.471711 85.300976,18.15625 83.90625,18.15625 L 44.09375,18.15625 z"
+       transform="matrix(1.0432362,0,0,1.0929825,253.23285,506.83928)" />
+  </g>
+</svg>
diff --git a/data/themes/default/notebar_hi.svg b/data/themes/default/notebar_hi.svg
new file mode 100644 (file)
index 0000000..c3635e8
--- /dev/null
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="128"
+   height="64"
+   id="svg1901"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="notebar_hi.svg"
+   sodipodi:docbase="/home/tsoots/ohj/translations/po"
+   inkscape:export-filename="/home/knittl/git/performous/themes/default/notebar.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs1903">
+    <linearGradient
+       id="linearGradient2388">
+      <stop
+         style="stop-color:#f8fdfd;stop-opacity:1;"
+         offset="0"
+         id="stop2390" />
+      <stop
+         style="stop-color:#cee9f5;stop-opacity:1;"
+         offset="1"
+         id="stop2392" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2388"
+       id="linearGradient2394"
+       x1="319.99997"
+       y1="525.70605"
+       x2="319.99997"
+       y2="555.01825"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1601497,0,0,1.2215012,-51.225596,-119.66742)" />
+    <filter
+       inkscape:collect="always"
+       id="filter3271"
+       x="-0.066881439"
+       width="1.1337629"
+       y="-0.3485957"
+       height="1.6971914">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.3650731"
+         id="feGaussianBlur3273" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3331"
+       x="-0.13569231"
+       width="1.2713846"
+       y="-0.26727273"
+       height="1.5345455">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.0678416"
+         id="feGaussianBlur3333" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7.9375"
+     inkscape:cx="64"
+     inkscape:cy="32"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     gridtolerance="10000"
+     inkscape:window-width="1279"
+     inkscape:window-height="725"
+     inkscape:window-x="505"
+     inkscape:window-y="123"
+     showgrid="false"
+     inkscape:snap-global="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3154"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata1906">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Taso 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="opacity:1"
+     transform="translate(-255.99998,-508.36216)">
+    <rect
+       style="fill:url(#linearGradient2394);fill-opacity:1;stroke:#ffffff;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3331)"
+       id="rect2382"
+       width="68.948219"
+       height="33.527557"
+       x="285.32672"
+       y="523.39923"
+       rx="12"
+       ry="12" />
+  </g>
+</svg>
diff --git a/data/themes/default/notebarfs-hl.png b/data/themes/default/notebarfs-hl.png
new file mode 100644 (file)
index 0000000..949b70e
Binary files /dev/null and b/data/themes/default/notebarfs-hl.png differ
diff --git a/data/themes/default/notebarfs.svg b/data/themes/default/notebarfs.svg
new file mode 100644 (file)
index 0000000..8cf7b44
--- /dev/null
@@ -0,0 +1,254 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="32"
+   height="256"
+   id="svg1901"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="notebarfs.svg"
+   inkscape:export-filename="notebar.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs1903">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 32 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="128 : 32 : 1"
+       inkscape:persp3d-origin="64 : 21.333333 : 1"
+       id="perspective2427" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4724">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop4726" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop4728" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3186">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3188" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3190" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3156">
+      <stop
+         style="stop-color:#00ff00;stop-opacity:0;"
+         offset="0"
+         id="stop3168" />
+      <stop
+         id="stop3158"
+         offset="0.5"
+         style="stop-color:#00ff00;stop-opacity:0.50862068;" />
+      <stop
+         style="stop-color:#00ff00;stop-opacity:0;"
+         offset="1"
+         id="stop3160" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3186"
+       id="linearGradient3192"
+       x1="287.99997"
+       y1="539.13879"
+       x2="289.02505"
+       y2="539.13879"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8859366,-49.31992,55.572479)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4724"
+       id="linearGradient4730"
+       x1="351.99997"
+       y1="540.24847"
+       x2="353.0126"
+       y2="540.24847"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.9087975,0,49.529558)" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.0728926"
+     inkscape:cx="231.53773"
+     inkscape:cy="176.60375"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     gridtolerance="10000"
+     inkscape:window-width="1918"
+     inkscape:window-height="1125"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     showgrid="false"
+     inkscape:snap-global="false"
+     inkscape:window-maximized="0">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3154"
+       visible="true"
+       enabled="true"
+       dotted="false"
+       spacingx="1px"
+       empspacing="8" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata1906">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Taso 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="opacity:1"
+     transform="translate(-255.99998,-508.36216)">
+    <path
+       style="fill:#11991a;fill-opacity:0.73043478;stroke:none;stroke-width:0.05000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 255.99998,524.36216 L 255.99998,748.36216 L 271.99998,764.36216 L 287.99998,748.36216 L 287.99998,524.36216 L 271.99998,508.36216 L 255.99998,524.36216 z"
+       id="rect31607"
+       sodipodi:nodetypes="ccccccc" />
+    <path
+       style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.05000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 255.99998,548.36216 L 255.99998,724.36216 L 271.99998,740.36216 L 287.99998,724.36216 L 287.99998,548.36216 L 271.99998,532.36216 L 255.99998,548.36216 z"
+       id="path31629"
+       sodipodi:nodetypes="ccccccc" />
+    <text
+       xml:space="preserve"
+       style="font-size:160px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Goblin;-inkscape-font-specification:Goblin"
+       x="414.11746"
+       y="740.15057"
+       id="text3170"><tspan
+         sodipodi:role="line"
+         id="tspan3172"
+         x="414.11746"
+         y="740.15057"
+         style="fill:#ffffff;fill-opacity:1;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none" /></text>
+    <text
+       xml:space="preserve"
+       style="font-size:160px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Goblin;-inkscape-font-specification:Goblin"
+       x="424.41928"
+       y="727.78839"
+       id="text3174"><tspan
+         sodipodi:role="line"
+         id="tspan3176"
+         x="424.41928"
+         y="727.78839"
+         style="fill:#ffffff;fill-opacity:1;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none" /></text>
+    <text
+       xml:space="preserve"
+       style="font-size:52px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Goblin;-inkscape-font-specification:Goblin"
+       x="227.65469"
+       y="623.74011"
+       id="text2433"><tspan
+         sodipodi:role="line"
+         id="tspan2435"
+         x="227.65469"
+         y="623.74011"
+         style="fill:#ffffff;fill-opacity:1;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none" /></text>
+    <g
+       id="g3044"
+       transform="translate(0,19.296706)">
+      <text
+         inkscape:tile-y0="16.344164"
+         inkscape:tile-x0="-24.188238"
+         inkscape:tile-h="32.000003"
+         inkscape:tile-w="24.000001"
+         inkscape:tile-cy="32.344166"
+         inkscape:tile-cx="-12.188238"
+         transform="matrix(0.5999227,-0.8243114,0.6961004,0.710419,0,0)"
+         id="text2437"
+         y="562.86029"
+         x="-366.6051"
+         style="font-size:22.18232727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Goblin"
+         xml:space="preserve"><tspan
+           style="fill:#ffffff;fill-opacity:1;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none"
+           y="562.86029"
+           x="-366.6051"
+           id="tspan2439"
+           sodipodi:role="line">FREESTYLE</tspan></text>
+      <use
+         height="64"
+         width="128"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="use31509"
+         xlink:href="#text2437"
+         inkscape:tiled-clone-of="#text2437"
+         y="0"
+         x="0" />
+      <use
+         height="64"
+         width="128"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="use31511"
+         transform="translate(32.000642,0)"
+         xlink:href="#text2437"
+         inkscape:tiled-clone-of="#text2437"
+         y="0"
+         x="0" />
+      <use
+         height="64"
+         width="128"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="use31513"
+         transform="translate(64.001284,0)"
+         xlink:href="#text2437"
+         inkscape:tiled-clone-of="#text2437"
+         y="0"
+         x="0" />
+      <use
+         height="64"
+         width="128"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="use31515"
+         transform="translate(96.001924,0)"
+         xlink:href="#text2437"
+         inkscape:tiled-clone-of="#text2437"
+         y="0"
+         x="0" />
+      <use
+         height="64"
+         width="128"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="use31517"
+         transform="translate(128.00257,0)"
+         xlink:href="#text2437"
+         inkscape:tiled-clone-of="#text2437"
+         y="0"
+         x="0" />
+    </g>
+  </g>
+</svg>
diff --git a/data/themes/default/notebargold.png b/data/themes/default/notebargold.png
new file mode 100644 (file)
index 0000000..d88a2c2
Binary files /dev/null and b/data/themes/default/notebargold.png differ
diff --git a/data/themes/default/notebargold.svg b/data/themes/default/notebargold.svg
new file mode 100644 (file)
index 0000000..ad02c4d
--- /dev/null
@@ -0,0 +1,437 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="128"
+   height="64"
+   id="svg1901"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="notebargold.svg"
+   sodipodi:docbase="/home/tsoots/ohj/translations/po"
+   inkscape:export-filename="notebar.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs1903">
+    <linearGradient
+       id="linearGradient3207">
+      <stop
+         style="stop-color:#fffbb9;stop-opacity:1;"
+         offset="0"
+         id="stop3209" />
+      <stop
+         id="stop3211"
+         offset="0.44999999"
+         style="stop-color:#fff101;stop-opacity:1;" />
+      <stop
+         style="stop-color:#e63600;stop-opacity:1;"
+         offset="1"
+         id="stop3213" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3207"
+       id="linearGradient3203"
+       gradientUnits="userSpaceOnUse"
+       x1="319.99997"
+       y1="525.70605"
+       x2="319.99997"
+       y2="555.27692"
+       gradientTransform="matrix(1.0432367,0,0,1.0929798,-13.83573,-50.242734)" />
+    <filter
+       inkscape:collect="always"
+       id="filter3215"
+       x="-0.070401584"
+       width="1.1408032"
+       y="-0.36694321"
+       height="1.7338864">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.4369205"
+         id="feGaussianBlur3217" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3314">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.2676702"
+         id="feGaussianBlur3316" />
+    </filter>
+    <filter
+       height="1.5963658"
+       y="-0.29818292"
+       width="1.1144185"
+       x="-0.057209262"
+       id="filter3260"
+       inkscape:collect="always">
+      <feGaussianBlur
+         id="feGaussianBlur3262"
+         stdDeviation="1.1676607"
+         inkscape:collect="always" />
+    </filter>
+    <linearGradient
+       gradientTransform="matrix(1.0432362,0,0,1.0929825,-13.835593,-50.244212)"
+       gradientUnits="userSpaceOnUse"
+       y2="555.01825"
+       x2="319.99997"
+       y1="525.70605"
+       x1="319.99997"
+       id="linearGradient2394"
+       xlink:href="#linearGradient2388"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2388">
+      <stop
+         id="stop2390"
+         offset="0"
+         style="stop-color:#84c0d8;stop-opacity:1;" />
+      <stop
+         id="stop2392"
+         offset="1"
+         style="stop-color:#449ec4;stop-opacity:1;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective3325"
+       inkscape:persp3d-origin="64 : 21.333333 : 1"
+       inkscape:vp_z="128 : 32 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 32 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2388"
+       id="linearGradient3341"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0432362,0,0,1.0929825,27.678613,-33.716309)"
+       x1="319.99997"
+       y1="525.70605"
+       x2="319.99997"
+       y2="555.01825" />
+    <filter
+       inkscape:collect="always"
+       id="filter3359"
+       x="-0.070401515"
+       width="1.140803"
+       y="-0.36694285"
+       height="1.7338857">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.4369191"
+         id="feGaussianBlur3361" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="9.125"
+     inkscape:cx="64"
+     inkscape:cy="32"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     gridtolerance="10000"
+     inkscape:window-width="1439"
+     inkscape:window-height="801"
+     inkscape:window-x="250"
+     inkscape:window-y="269"
+     showgrid="false"
+     inkscape:snap-global="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3154"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata1906">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Taso 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="opacity:1"
+     transform="translate(-255.99998,-508.36216)">
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="1.8614163"
+       inkscape:original="M 44.09375 20.03125 C 43.272831 20.03125 42.521517 20.241931 41.78125 20.46875 C 57.140936 27.84874 73.786659 26.922094 87.03125 20.6875 C 86.068989 20.275907 85.031058 20.03125 83.90625 20.03125 L 44.09375 20.03125 z "
+       style="opacity:1;fill:#ffffff;fill-opacity:0.78431373999999998;stroke:none;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;filter:url(#filter3215)"
+       id="path3258"
+       d="M 44.09375,18.15625 C 42.954355,18.15625 42.018873,18.451916 41.25,18.6875 C 40.507736,18.902901 39.975772,19.554539 39.913311,20.324897 C 39.850849,21.095255 40.270884,21.824081 40.96875,22.15625 C 56.856448,29.789938 74.088462,28.835283 87.8125,22.375 C 88.481947,22.065076 88.905231,21.389083 88.891698,20.6515 C 88.878164,19.913917 88.430366,19.253906 87.75,18.96875 C 86.587974,18.471711 85.300976,18.15625 83.90625,18.15625 L 44.09375,18.15625 z"
+       transform="matrix(1.0432367,0,0,1.0929798,253.23284,506.09055)" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient3203);fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3198"
+       width="62"
+       height="30"
+       x="288.80084"
+       y="525.16309"
+       rx="12"
+       ry="12" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="1.8614163"
+       inkscape:original="M 44.09375 20.03125 C 43.272831 20.03125 42.521517 20.241931 41.78125 20.46875 C 57.140936 27.84874 73.786659 26.922094 87.03125 20.6875 C 86.068989 20.275907 85.031058 20.03125 83.90625 20.03125 L 44.09375 20.03125 z "
+       style="opacity:1;fill:#ffffff;fill-opacity:0.56862747999999996;stroke:none;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;filter:url(#filter3359)"
+       id="path3337"
+       d="M 44.09375,18.15625 C 42.954355,18.15625 42.018873,18.451916 41.25,18.6875 C 40.507736,18.902901 39.975772,19.554539 39.913311,20.324897 C 39.850849,21.095255 40.270884,21.824081 40.96875,22.15625 C 56.856448,29.789938 74.088462,28.835283 87.8125,22.375 C 88.481947,22.065076 88.905231,21.389083 88.891698,20.6515 C 88.878164,19.913917 88.430366,19.253906 87.75,18.96875 C 86.587974,18.471711 85.300976,18.15625 83.90625,18.15625 L 44.09375,18.15625 z"
+       transform="matrix(1.0432362,0,0,1.0929825,252.81598,508.3371)" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="stars"
+     style="display:none">
+    <g
+       id="g3241"
+       transform="translate(-254.43583,-507.84078)"
+       style="opacity:0.66000001;filter:url(#filter3314)">
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3221"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(0.2517608,-0.3589923,0.3352142,0.2696192,284.77989,529.17981)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3223"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(-0.4226537,0.1006544,-0.1006544,-0.4226537,343.62899,527.82816)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3225"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(6.0995116e-2,-0.4715566,0.2973004,9.6746097e-2,343.8725,559.8055)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3227"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(-2.3552595e-2,-0.4523683,0.3372133,-3.1595577e-2,319.91763,565.39226)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3229"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(-0.4077357,-0.170593,0.1500638,-0.4635153,297.97321,561.11569)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3231"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(-0.1402938,0.4111997,-0.4111997,-0.1402938,312.90301,550.0936)" />
+      <path
+         transform="matrix(-0.3760896,0.1189566,-0.1233495,-0.3626959,356.26327,529.09824)"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         inkscape:randomized="0.1"
+         inkscape:rounded="0.25"
+         inkscape:flatsided="false"
+         sodipodi:arg2="1.3943643"
+         sodipodi:arg1="0.76604574"
+         sodipodi:r2="7.1444125"
+         sodipodi:r1="14.288825"
+         sodipodi:cy="12.382892"
+         sodipodi:cx="21.637474"
+         sodipodi:sides="5"
+         id="path3318"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         sodipodi:type="star" />
+      <path
+         transform="matrix(-0.4128364,0.1354017,-0.1354017,-0.4128364,329.3917,550.03765)"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         inkscape:randomized="0.1"
+         inkscape:rounded="0.25"
+         inkscape:flatsided="false"
+         sodipodi:arg2="1.3943643"
+         sodipodi:arg1="0.76604574"
+         sodipodi:r2="7.1444125"
+         sodipodi:r1="14.288825"
+         sodipodi:cy="12.382892"
+         sodipodi:cx="21.637474"
+         sodipodi:sides="5"
+         id="path3320"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         sodipodi:type="star" />
+      <path
+         transform="matrix(-0.2934093,0.1234417,-9.6232117e-2,-0.3763705,308.24363,537.32112)"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         inkscape:randomized="0.1"
+         inkscape:rounded="0.25"
+         inkscape:flatsided="false"
+         sodipodi:arg2="1.3943643"
+         sodipodi:arg1="0.76604574"
+         sodipodi:r2="7.1444125"
+         sodipodi:r1="14.288825"
+         sodipodi:cy="12.382892"
+         sodipodi:cx="21.637474"
+         sodipodi:sides="5"
+         id="path3322"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         sodipodi:type="star" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3233"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(-0.2980027,0.1533418,-9.773864e-2,-0.4675352,353.52012,542.52182)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3235"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(0.3282993,0.1583936,-0.128532,0.4045725,281.33727,530.5045)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3237"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(-0.2767973,0.3022505,-0.4685346,-0.1785613,332.55143,518.72922)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3239"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(0.4040586,0.1597003,-0.1597003,0.4040586,302.40603,518.8671)" />
+      <path
+         transform="matrix(0.4344738,0,0,0.4344738,328.72436,551.50037)"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         inkscape:randomized="0.1"
+         inkscape:rounded="0.25"
+         inkscape:flatsided="false"
+         sodipodi:arg2="1.3943643"
+         sodipodi:arg1="0.76604574"
+         sodipodi:r2="7.1444125"
+         sodipodi:r1="14.288825"
+         sodipodi:cy="12.382892"
+         sodipodi:cx="21.637474"
+         sodipodi:sides="5"
+         id="path3219"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         sodipodi:type="star" />
+    </g>
+  </g>
+</svg>
diff --git a/data/themes/default/notebargold_hi.svg b/data/themes/default/notebargold_hi.svg
new file mode 100644 (file)
index 0000000..7675c84
--- /dev/null
@@ -0,0 +1,417 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="128"
+   height="64"
+   id="svg1901"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="notebargold_hi.svg"
+   sodipodi:docbase="/home/tsoots/ohj/translations/po"
+   inkscape:export-filename="/home/knittl/git/performous/themes/default/notebargold.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs1903">
+    <linearGradient
+       id="linearGradient3207">
+      <stop
+         style="stop-color:#fffff5;stop-opacity:1;"
+         offset="0"
+         id="stop3209" />
+      <stop
+         id="stop3211"
+         offset="0.44999999"
+         style="stop-color:#fffee1;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffd2c3;stop-opacity:1;"
+         offset="1"
+         id="stop3213" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3207"
+       id="linearGradient3203"
+       gradientUnits="userSpaceOnUse"
+       x1="319.99997"
+       y1="525.70605"
+       x2="319.99997"
+       y2="555.27692"
+       gradientTransform="matrix(1.3567148,0,0,1.4375736,-114.08888,-236.38543)" />
+    <filter
+       inkscape:collect="always"
+       id="filter3215"
+       x="-0.070401584"
+       width="1.1408032"
+       y="-0.36694321"
+       height="1.7338864">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.4369205"
+         id="feGaussianBlur3217" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3314">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.2676702"
+         id="feGaussianBlur3316" />
+    </filter>
+    <linearGradient
+       id="linearGradient2388">
+      <stop
+         id="stop2390"
+         offset="0"
+         style="stop-color:#84c0d8;stop-opacity:1;" />
+      <stop
+         id="stop2392"
+         offset="1"
+         style="stop-color:#449ec4;stop-opacity:1;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective3325"
+       inkscape:persp3d-origin="64 : 21.333333 : 1"
+       inkscape:vp_z="128 : 32 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 32 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <filter
+       inkscape:collect="always"
+       id="filter3359"
+       x="-0.070401515"
+       width="1.140803"
+       y="-0.36694285"
+       height="1.7338857">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.4369191"
+         id="feGaussianBlur3361" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3383"
+       x="-0.18092308"
+       width="1.3618462"
+       y="-0.35636363"
+       height="1.7127273">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="6.3044256"
+         id="feGaussianBlur3385" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="9.125"
+     inkscape:cx="64"
+     inkscape:cy="32"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     gridtolerance="10000"
+     inkscape:window-width="1439"
+     inkscape:window-height="801"
+     inkscape:window-x="250"
+     inkscape:window-y="269"
+     showgrid="false"
+     inkscape:snap-global="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3154"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata1906">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Taso 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="opacity:1"
+     transform="translate(-255.99998,-508.36216)">
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="1.8614163"
+       inkscape:original="M 44.09375 20.03125 C 43.272831 20.03125 42.521517 20.241931 41.78125 20.46875 C 57.140936 27.84874 73.786659 26.922094 87.03125 20.6875 C 86.068989 20.275907 85.031058 20.03125 83.90625 20.03125 L 44.09375 20.03125 z "
+       style="opacity:1;fill:#ffffff;fill-opacity:0.78431373999999998;stroke:none;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;filter:url(#filter3215)"
+       id="path3258"
+       d="M 44.09375,18.15625 C 42.954355,18.15625 42.018873,18.451916 41.25,18.6875 C 40.507736,18.902901 39.975772,19.554539 39.913311,20.324897 C 39.850849,21.095255 40.270884,21.824081 40.96875,22.15625 C 56.856448,29.789938 74.088462,28.835283 87.8125,22.375 C 88.481947,22.065076 88.905231,21.389083 88.891698,20.6515 C 88.878164,19.913917 88.430366,19.253906 87.75,18.96875 C 86.587974,18.471711 85.300976,18.15625 83.90625,18.15625 L 44.09375,18.15625 z"
+       transform="matrix(1.0432367,0,0,1.0929798,253.23284,506.09055)" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient3203);fill-opacity:1;stroke:#ffffff;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3383)"
+       id="rect3198"
+       width="80.630135"
+       height="39.458378"
+       x="279.48578"
+       y="520.4339"
+       rx="12"
+       ry="12" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="1.8614163"
+       inkscape:original="M 44.09375 20.03125 C 43.272831 20.03125 42.521517 20.241931 41.78125 20.46875 C 57.140936 27.84874 73.786659 26.922094 87.03125 20.6875 C 86.068989 20.275907 85.031058 20.03125 83.90625 20.03125 L 44.09375 20.03125 z "
+       style="opacity:1;fill:#ffffff;fill-opacity:0.56862747999999996;stroke:none;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;filter:url(#filter3359)"
+       id="path3337"
+       d="M 44.09375,18.15625 C 42.954355,18.15625 42.018873,18.451916 41.25,18.6875 C 40.507736,18.902901 39.975772,19.554539 39.913311,20.324897 C 39.850849,21.095255 40.270884,21.824081 40.96875,22.15625 C 56.856448,29.789938 74.088462,28.835283 87.8125,22.375 C 88.481947,22.065076 88.905231,21.389083 88.891698,20.6515 C 88.878164,19.913917 88.430366,19.253906 87.75,18.96875 C 86.587974,18.471711 85.300976,18.15625 83.90625,18.15625 L 44.09375,18.15625 z"
+       transform="matrix(1.0432362,0,0,1.0929825,252.81598,508.3371)" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="stars"
+     style="display:none">
+    <g
+       id="g3241"
+       transform="translate(-254.43583,-507.84078)"
+       style="opacity:0.66000001;filter:url(#filter3314)">
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3221"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(0.2517608,-0.3589923,0.3352142,0.2696192,284.77989,529.17981)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3223"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(-0.4226537,0.1006544,-0.1006544,-0.4226537,343.62899,527.82816)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3225"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(6.0995116e-2,-0.4715566,0.2973004,9.6746097e-2,343.8725,559.8055)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3227"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(-2.3552595e-2,-0.4523683,0.3372133,-3.1595577e-2,319.91763,565.39226)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3229"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(-0.4077357,-0.170593,0.1500638,-0.4635153,297.97321,561.11569)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3231"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(-0.1402938,0.4111997,-0.4111997,-0.1402938,312.90301,550.0936)" />
+      <path
+         transform="matrix(-0.3760896,0.1189566,-0.1233495,-0.3626959,356.26327,529.09824)"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         inkscape:randomized="0.1"
+         inkscape:rounded="0.25"
+         inkscape:flatsided="false"
+         sodipodi:arg2="1.3943643"
+         sodipodi:arg1="0.76604574"
+         sodipodi:r2="7.1444125"
+         sodipodi:r1="14.288825"
+         sodipodi:cy="12.382892"
+         sodipodi:cx="21.637474"
+         sodipodi:sides="5"
+         id="path3318"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         sodipodi:type="star" />
+      <path
+         transform="matrix(-0.4128364,0.1354017,-0.1354017,-0.4128364,329.3917,550.03765)"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         inkscape:randomized="0.1"
+         inkscape:rounded="0.25"
+         inkscape:flatsided="false"
+         sodipodi:arg2="1.3943643"
+         sodipodi:arg1="0.76604574"
+         sodipodi:r2="7.1444125"
+         sodipodi:r1="14.288825"
+         sodipodi:cy="12.382892"
+         sodipodi:cx="21.637474"
+         sodipodi:sides="5"
+         id="path3320"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         sodipodi:type="star" />
+      <path
+         transform="matrix(-0.2934093,0.1234417,-9.6232117e-2,-0.3763705,308.24363,537.32112)"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         inkscape:randomized="0.1"
+         inkscape:rounded="0.25"
+         inkscape:flatsided="false"
+         sodipodi:arg2="1.3943643"
+         sodipodi:arg1="0.76604574"
+         sodipodi:r2="7.1444125"
+         sodipodi:r1="14.288825"
+         sodipodi:cy="12.382892"
+         sodipodi:cx="21.637474"
+         sodipodi:sides="5"
+         id="path3322"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         sodipodi:type="star" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3233"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(-0.2980027,0.1533418,-9.773864e-2,-0.4675352,353.52012,542.52182)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3235"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(0.3282993,0.1583936,-0.128532,0.4045725,281.33727,530.5045)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3237"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(-0.2767973,0.3022505,-0.4685346,-0.1785613,332.55143,518.72922)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path3239"
+         sodipodi:sides="5"
+         sodipodi:cx="21.637474"
+         sodipodi:cy="12.382892"
+         sodipodi:r1="14.288825"
+         sodipodi:r2="7.1444125"
+         sodipodi:arg1="0.76604574"
+         sodipodi:arg2="1.3943643"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.25"
+         inkscape:randomized="0.1"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         transform="matrix(0.4040586,0.1597003,-0.1597003,0.4040586,302.40603,518.8671)" />
+      <path
+         transform="matrix(0.4344738,0,0,0.4344738,328.72436,551.50037)"
+         d="M 31.160812,22.085001 C 29.756913,23.955488 25.54813,19.829732 23.293627,20.053134 C 21.039124,20.276535 17.245375,25.474203 14.971975,24.782986 C 12.698575,24.091769 15.245115,18.647267 14.313005,16.532585 C 13.380895,14.417902 6.9803643,12.208497 6.9519812,9.7565543 C 6.9235982,7.3046114 14.655317,7.8280513 16.440248,6.299865 C 18.225179,4.7716787 18.354583,-1.2069278 20.54349,-1.8373023 C 22.732398,-2.4676768 22.903473,5.8960807 24.965768,7.0572723 C 27.028062,8.2184639 33.821244,4.297162 34.602091,6.4464993 C 35.382938,8.5958367 28.742383,9.9662008 28.138106,12.336218 C 27.533828,14.706235 32.564711,20.214514 31.160812,22.085001 z"
+         inkscape:randomized="0.1"
+         inkscape:rounded="0.25"
+         inkscape:flatsided="false"
+         sodipodi:arg2="1.3943643"
+         sodipodi:arg1="0.76604574"
+         sodipodi:r2="7.1444125"
+         sodipodi:r1="14.288825"
+         sodipodi:cy="12.382892"
+         sodipodi:cx="21.637474"
+         sodipodi:sides="5"
+         id="path3219"
+         style="opacity:1;fill:#fff49f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         sodipodi:type="star" />
+    </g>
+  </g>
+</svg>
diff --git a/data/themes/default/notelines.svg b/data/themes/default/notelines.svg
new file mode 100644 (file)
index 0000000..ee4d341
--- /dev/null
@@ -0,0 +1,292 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1024"
+   height="256"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   version="1.0"
+   sodipodi:docname="notelines.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 60 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1000 : 60 : 1"
+       inkscape:persp3d-origin="500 : 40 : 1"
+       id="perspective46" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.72619046"
+     inkscape:cx="188.34323"
+     inkscape:cy="-69.851903"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     width="1000px"
+     height="120px"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     showborder="true"
+     borderlayer="false"
+     inkscape:showpageshadow="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1053"
+     inkscape:window-x="-1"
+     inkscape:window-y="-1"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       id="GridFromPre046Settings"
+       type="xygrid"
+       originx="0px"
+       originy="10.6667px"
+       spacingx="2.5px"
+       spacingy="10.6667px"
+       color="#0000ff"
+       empcolor="#0000ff"
+       opacity="0.2"
+       empopacity="0.4"
+       empspacing="5"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3792"
+       d="M 297.00863,245.3005 L 1024.1494,245.3005"
+       style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196081" />
+    <text
+       xml:space="preserve"
+       style="font-size:17.21700287px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:justify;line-height:125%;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono"
+       x="357.41422"
+       y="13.133085"
+       id="text2160"
+       sodipodi:linespacing="125%"
+       transform="scale(0.8067704,1.23951)"><tspan
+         sodipodi:role="line"
+         id="tspan2162"
+         x="357.41422"
+         y="13.133085"
+         style="font-size:13.77360535px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#808080;fill-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono">B</tspan><tspan
+         sodipodi:role="line"
+         x="357.41422"
+         y="30.350092"
+         id="tspan2164"
+         style="font-size:13.77360535px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#808080;fill-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono">A#</tspan><tspan
+         sodipodi:role="line"
+         x="357.41422"
+         y="47.567101"
+         id="tspan2166"
+         style="font-size:13.77360535px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#808080;fill-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono">A</tspan><tspan
+         sodipodi:role="line"
+         x="357.41422"
+         y="64.784103"
+         id="tspan2168"
+         style="font-size:13.77360535px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#808080;fill-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono">G#</tspan><tspan
+         sodipodi:role="line"
+         x="357.41422"
+         y="82.001106"
+         id="tspan2170"
+         style="font-size:13.77360535px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#808080;fill-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono">G</tspan><tspan
+         sodipodi:role="line"
+         x="357.41422"
+         y="99.218117"
+         id="tspan2172"
+         style="font-size:13.77360535px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#808080;fill-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono">F#</tspan><tspan
+         sodipodi:role="line"
+         x="357.41422"
+         y="116.43513"
+         id="tspan2174"
+         style="font-size:13.77360535000000041px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#0000ff;fill-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono">F</tspan><tspan
+         sodipodi:role="line"
+         x="357.41422"
+         y="133.65213"
+         id="tspan2176"
+         style="font-size:13.77360535px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#808080;fill-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono">E</tspan><tspan
+         sodipodi:role="line"
+         x="357.41422"
+         y="150.86914"
+         id="tspan2178"
+         style="font-size:13.77360535px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#808080;fill-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono">D#</tspan><tspan
+         sodipodi:role="line"
+         x="357.41422"
+         y="168.08615"
+         id="tspan2180"
+         style="font-size:13.77360535px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#808080;fill-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono">D</tspan><tspan
+         sodipodi:role="line"
+         x="357.41422"
+         y="185.30315"
+         id="tspan2182"
+         style="font-size:13.77360535px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#808080;fill-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono">C#</tspan><tspan
+         sodipodi:role="line"
+         x="357.41422"
+         y="202.52016"
+         id="tspan2184"
+         style="font-size:13.77360535000000041px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;text-anchor:start;fill:#ff0000;fill-opacity:1;font-family:Droid Sans Mono;-inkscape-font-specification:Droid Sans Mono">C</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196078000000000"
+       d="M 0.0074350522,10.699792 L 286.76721,10.699792"
+       id="path2186"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196078000000000"
+       d="M 297.00863,10.699792 L 1024.1494,10.699792"
+       id="path2188"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,6;stroke-opacity:0.50226247000000002;stroke-dashoffset:0"
+       d="M 0.0074350522,32.027129 L 286.76721,32.027129"
+       id="path5117"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,6;stroke-opacity:0.50226247000000002;stroke-dashoffset:0"
+       d="M 302.12934,32.027129 L 1024.1494,32.027129"
+       id="path5119"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196078000000000"
+       d="M 0.0074350522,53.354467 L 286.76721,53.354467"
+       id="path5121"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196078000000000"
+       d="M 297.00863,53.354467 L 1024.1494,53.354467"
+       id="path5123"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,6;stroke-opacity:0.50226247000000002;stroke-dashoffset:0"
+       d="M 302.12934,74.681804 L 1024.1494,74.681804"
+       id="path5131"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196078000000000"
+       d="M 0.0074350522,96.009141 L 286.76721,96.009141"
+       id="path5169"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196078000000000"
+       d="M 297.00863,96.009141 L 1024.1494,96.009141"
+       id="path5171"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,6;stroke-opacity:0.50226247000000002;stroke-dashoffset:0"
+       d="M 0.0074350522,117.33647 L 286.76721,117.33647"
+       id="path5173"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,6;stroke-opacity:0.50226247000000002;stroke-dashoffset:0"
+       d="M 302.12934,117.33647 L 1024.1494,117.33647"
+       id="path5175"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#2101ff;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196081000000004"
+       d="M 0.0074350522,138.66383 L 286.76721,138.66383"
+       id="path5177"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#2101ff;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196081000000004"
+       d="M 297.00863,138.66383 L 1024.1494,138.66383"
+       id="path5179"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196078000000000"
+       d="M 0.0074350522,159.99115 L 286.76721,159.99115"
+       id="path5181"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196078000000000"
+       d="M 297.00863,159.99115 L 1024.1494,159.99115"
+       id="path5183"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,6;stroke-opacity:0.50226247000000002;stroke-dashoffset:0"
+       d="M 0.0074350522,181.31849 L 286.76721,181.31849"
+       id="path5185"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,6;stroke-opacity:0.50226247000000002;stroke-dashoffset:0"
+       d="M 302.12934,181.31849 L 1024.1494,181.31849"
+       id="path5187"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196078000000000"
+       d="M 0.0074350522,202.64585 L 286.76721,202.64585"
+       id="path5189"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196078000000000"
+       d="M 297.00863,202.64585 L 1024.1494,202.64585"
+       id="path5191"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,6;stroke-opacity:0.50226247000000002;stroke-dashoffset:0"
+       d="M 0.0074350522,223.97317 L 286.76721,223.97317"
+       id="path5193"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,6;stroke-opacity:0.50226247000000002;stroke-dashoffset:0"
+       d="M 302.12934,223.97317 L 1024.1494,223.97317"
+       id="path5195"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196081"
+       d="M 0.0074350522,245.3005 L 286.76721,245.3005"
+       id="path5197"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196081000000004;fill-opacity:0.50196081000000004"
+       d="M 297.00863,245.3005 L 1024.1494,245.3005"
+       id="path5199"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 307.25004,0.034974267 L 307.25004,255.96424"
+       id="path2192"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6,6;stroke-opacity:0.50226247000000002;stroke-dashoffset:0"
+       d="M 0.0074350522,74.669333 L 286.76721,74.669333"
+       id="path3271"
+       sodipodi:nodetypes="cc" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3790"
+       d="M 0.0074350522,245.3005 L 286.76721,245.3005"
+       style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196081000000004;fill-opacity:0.50196081000000004" />
+  </g>
+</svg>
diff --git a/data/themes/default/notice.ogg b/data/themes/default/notice.ogg
new file mode 100755 (executable)
index 0000000..8227faf
Binary files /dev/null and b/data/themes/default/notice.ogg differ
diff --git a/data/themes/default/practice.ogg b/data/themes/default/practice.ogg
new file mode 100644 (file)
index 0000000..51c2ab8
Binary files /dev/null and b/data/themes/default/practice.ogg differ
diff --git a/data/themes/default/practice_bg.svg b/data/themes/default/practice_bg.svg
new file mode 100644 (file)
index 0000000..6be5527
--- /dev/null
@@ -0,0 +1,468 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="practice_bg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="725"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.43503001"
+     inkscape:cx="437.45687"
+     inkscape:cy="359.05944"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient4557">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4559" />
+      <stop
+         style="stop-color:#0300da;stop-opacity:1;"
+         offset="1"
+         id="stop4561" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2518"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9434139,0,0,0.9434139,62.279262,39.359798)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       id="linearGradient3945">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3947" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3949" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 400 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1000 : 400 : 1"
+       inkscape:persp3d-origin="500 : 266.66667 : 1"
+       id="perspective62" />
+    <linearGradient
+       id="linearGradient6053">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6055" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop6057" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6499"
+       inkscape:collect="always">
+      <stop
+         id="stop6501"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6503"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient3245"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8327515,0,0,-0.6476426,-48.09403,12.672202)"
+       x1="311.95688"
+       y1="-116.67703"
+       x2="311.95688"
+       y2="-276.41519" />
+    <filter
+       inkscape:collect="always"
+       id="filter3869"
+       x="-0.019231318"
+       width="1.0384626"
+       y="-0.12226724"
+       height="1.2445345">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.4581674"
+         id="feGaussianBlur3871" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4108"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,32.226123)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4121"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,133.62899)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4127"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,340.11416)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4133"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,426.06823,341.18482)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4557"
+       id="radialGradient4563"
+       cx="754.52362"
+       cy="248.26866"
+       fx="754.52362"
+       fy="248.26866"
+       r="648.54285"
+       gradientTransform="matrix(-0.6867835,-1.4236353,1.4876169,-0.7176493,903.38936,1551.3895)"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       inkscape:collect="always"
+       id="filter5083">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.8444007"
+         id="feGaussianBlur5085" />
+    </filter>
+    <inkscape:perspective
+       id="perspective3678"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2860"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3694"
+       id="linearGradient3692"
+       x1="-340.13901"
+       y1="580.56818"
+       x2="-587.59583"
+       y2="385.5177"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(681.47733,-205.59316)" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3694">
+      <stop
+         style="stop-color:black;stop-opacity:0.227"
+         offset="0"
+         id="stop3696" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop3698" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3694"
+       id="linearGradient2933"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(982.98897,55.807426)"
+       x1="-340.13901"
+       y1="580.56818"
+       x2="-587.59583"
+       y2="385.5177" />
+    <inkscape:perspective
+       id="perspective3779"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <radialGradient
+       r="500"
+       fy="757.60583"
+       fx="727.25122"
+       cy="757.60583"
+       cx="727.25122"
+       gradientTransform="matrix(0.43355171,-0.84504566,1.805509,0.92631863,-980.8803,538.04792)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3750"
+       xlink:href="#linearGradient3629-3"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3629-3">
+      <stop
+         style="stop-color:#00cbff;stop-opacity:0;"
+         offset="0"
+         id="stop3631-1" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop3633-4" />
+    </linearGradient>
+    <radialGradient
+       r="500"
+       fy="757.60583"
+       fx="727.25122"
+       cy="757.60583"
+       cx="727.25122"
+       gradientTransform="matrix(0.43355171,-0.84504566,1.805509,0.92631863,-980.88026,538.04793)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3788"
+       xlink:href="#linearGradient3629-3"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective3661"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <radialGradient
+       r="500"
+       fy="757.60583"
+       fx="727.25122"
+       cy="757.60583"
+       cx="727.25122"
+       gradientTransform="matrix(0.43355171,-0.84504566,1.805509,0.92631863,-980.88026,538.04793)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3788-1"
+       xlink:href="#linearGradient3629-3-6"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3629-3-6">
+      <stop
+         style="stop-color:#00cbff;stop-opacity:0;"
+         offset="0"
+         id="stop3631-1-5" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop3633-4-7" />
+    </linearGradient>
+  </defs>
+  <rect
+     style="fill:#ffffff;fill-opacity:1;stroke:none"
+     id="rect2855-8"
+     width="1000"
+     height="800"
+     x="0"
+     y="0" />
+  <rect
+     style="fill:url(#radialGradient3788);fill-opacity:1;stroke:none"
+     id="rect2855"
+     width="1000"
+     height="800"
+     x="0"
+     y="0" />
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Goblin"
+     x="266.96185"
+     y="759.88806"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="759.88806" /></text>
+  <g
+     id="g3955"
+     transform="translate(18.488319,-59.198001)"
+     style="opacity:0.6;filter:url(#filter5083)">
+    <path
+       style="fill:#000000;fill-opacity:1"
+       d="m 710.75817,261.47303 c -24.8619,0.81505 -49.2611,8.55033 -68.6512,25.43509 -33.8487,27.20416 -45.3156,80.90572 -24.3753,120.11021 12.6486,25.44898 45.9923,30.70952 68.6512,17.78104 21.7012,-12.30047 26.2646,-41.57536 20.4894,-64.64756 -5.42,-25.10698 -34.3199,-39.60578 -56.0514,-29.43879 -9.4388,4.41596 -8.627,3.35172 -20.1361,12.83532 -1.6287,-17.11896 8.237,-32.05555 13.3063,-37.44613 19.2759,-20.49767 47.9999,-30.24403 75.01,-25.90612 29.7625,4.20493 48.5551,33.48396 55.4626,61.93918 9.4136,38.70202 11.1575,79.75225 4.9457,119.16817 -10.6592,64.75378 -54.6412,117.90361 -106.6861,151.66858 -23.5615,16.4422 -50.0202,27.00568 -75.5987,39.21245 -13.3021,6.51851 -0.6729,12.80562 7.7718,8.00736 63.476,-21.20757 125.7437,-53.00609 173.3355,-102.91797 38.2144,-39.44239 62.3285,-94.42174 61.4682,-151.07981 0,-9.45372 -0.4354,-18.99189 -1.5309,-28.37899 -4.0265,-44.97399 -28.8894,-90.38854 -70.653,-106.68612 -17.7612,-6.73739 -37.4209,-10.28987 -56.758,-9.65591 z m 184.64,37.09285 c -6.183,0.28246 -12.2184,2.88239 -16.4857,7.65409 -5.1736,5.33804 -7.476,13.22873 -6.8298,20.72489 0.4843,9.59273 6.8037,18.45696 15.3082,21.90246 8.5809,3.35825 19.019,2.00507 25.9061,-4.59245 5.3847,-4.83818 8.3959,-12.25578 8.2429,-19.66511 0.046,-5.66577 -1.4875,-11.39715 -4.828,-15.89694 -4.3366,-6.10149 -11.3437,-9.96642 -18.6053,-10.12694 -0.8819,-0.0563 -1.8251,-0.0403 -2.7084,0 z m 0,117.16634 c -6.1814,0.27232 -12.3099,2.88445 -16.4857,7.77184 -5.0365,5.41748 -7.497,13.22312 -6.8298,20.7249 0.4799,9.59774 6.7987,18.33779 15.3082,21.78469 8.5809,3.35803 19.019,2.00507 25.9061,-4.59245 5.3908,-4.84198 8.3958,-12.24996 8.2429,-19.66511 0.01,-3.5795 -0.5871,-7.09786 -2.0019,-10.36245 -3.8241,-8.66819 -12.2991,-15.27689 -21.5492,-15.54367 -0.879,-0.0541 -1.7075,-0.15665 -2.5906,-0.11775 z"
+       id="path2885-1" />
+    <path
+       style="fill:url(#linearGradient2933);fill-opacity:1"
+       d="m 348.97101,512.55804 c -24.13417,0.31885 -41.62643,3.34489 -45.94006,9.95021 -9.55792,10.64226 26.92567,31.65031 82.87192,46.9871 35.3722,9.95564 73.413,12.01356 84.528,6.95594 10.718,-4.81194 -10.8583,-16.26428 -37.2348,-25.29012 -27.8383,-9.82185 -69.68415,-15.49377 -82.33755,-11.51645 -5.49573,1.72752 -5.63418,1.31119 -8.67537,5.02118 -16.91428,-6.69694 -20.38554,-12.54013 -20.12958,-14.64893 0.97337,-8.01868 20.99477,-11.83146 51.8783,-10.13447 33.5171,1.64497 78.4531,13.09892 110.7685,24.2306 43.9708,15.14023 82.3688,31.19908 111.3518,46.61858 47.1599,25.33168 50.6356,46.12389 28.7398,59.33274 -8.8802,6.43219 -25.9067,10.56462 -40.5858,15.33991 -7.4816,2.55004 10.7615,5.00956 14.9217,3.13248 44.5397,-8.2964 78.4143,-20.73598 81.4394,-40.26151 2.996,-15.42986 -21.9814,-36.93778 -73.432,-59.10241 -8.4413,-3.69829 -17.3934,-7.42962 -26.8707,-11.10186 -44.1841,-17.59382 -109.5979,-35.35998 -165.9138,-41.7356 -23.777,-2.63566 -46.60876,-4.02539 -65.37976,-3.77739 z m 217.76046,14.51072 c -5.9308,0.1105 -9.6447,1.12759 -9.6513,2.99428 -0.4073,2.08824 4.336,5.17508 11.6756,8.10758 9.0496,3.75267 23.284,7.22036 34.865,8.56824 11.5795,1.31375 20.8093,0.78438 21.8055,-1.79657 1.0646,-1.89269 -2.5474,-4.79446 -9.3163,-7.69299 -5.0133,-2.21645 -11.6641,-4.45856 -19.0224,-6.21888 -9.7847,-2.3869 -20.2428,-3.89886 -27.6477,-3.96166 -0.9321,-0.022 -1.8611,-0.0158 -2.7084,0 z m 104.6186,45.83546 c -5.9383,0.10653 -9.7343,1.1284 -9.5462,3.04035 -0.1992,2.11931 4.3101,5.17288 11.6756,8.10758 9.0498,3.75463 23.1727,7.17374 34.7599,8.52217 11.5793,1.31366 20.8093,0.78438 21.8055,-1.79657 1.0673,-1.89418 -2.5423,-4.79218 -9.3163,-7.69299 -3.1881,-1.4003 -6.9248,-2.77668 -11.2545,-4.05379 -11.564,-3.391 -25.94,-5.97632 -35.4282,-6.08068 -0.9275,-0.0212 -1.8475,-0.0613 -2.6959,-0.0461 z"
+       id="path2885-9" />
+  </g>
+  <g
+     id="g4892"
+     transform="matrix(0.99721358,0,0,1,1.6801378,-0.03097843)">
+    <g
+       transform="matrix(1.2468256,0,0,1.1986102,1.2039301,52.246604)"
+       id="g2836">
+      <path
+         style="fill:none;stroke:#141414;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.61153846;stroke-dasharray:none"
+         d="m 0,165 800,0"
+         id="path2327"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#141414;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.61153846;stroke-dasharray:none"
+         d="m 0,140 800,0"
+         id="path3298"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#141414;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.61153846;stroke-dasharray:none"
+         d="m 0,190 800,0"
+         id="path3302"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#141414;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.61153846;stroke-dasharray:none"
+         d="m 0,240 800,0"
+         id="path3306"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#141414;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.61153846;stroke-dasharray:none"
+         d="m 0,215 800,0"
+         id="path3304"
+         sodipodi:nodetypes="cc" />
+    </g>
+    <g
+       transform="matrix(1.2468256,0,0,1.1986102,0.760128,231.91957)"
+       id="g2209">
+      <path
+         style="fill:none;stroke:#141414;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.61153846;stroke-dasharray:none"
+         d="m 0,165 800,0"
+         id="path2211"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#141414;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.61153846;stroke-dasharray:none"
+         d="m 0,140 800,0"
+         id="path2213"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#141414;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.61153846;stroke-dasharray:none"
+         d="m 0,190 800,0"
+         id="path2215"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#141414;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.61153846;stroke-dasharray:none"
+         d="m 0,240 800,0"
+         id="path2217"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#141414;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.61153846;stroke-dasharray:none"
+         d="m 0,215 800,0"
+         id="path2219"
+         sodipodi:nodetypes="cc" />
+    </g>
+    <g
+       transform="matrix(5.0734563,0,0,5.3232265,22.200477,397.25206)"
+       id="g2411">
+      <g
+         transform="translate(-230.9546,-533.6597)"
+         style="fill:#000000;fill-opacity:1"
+         id="g2883">
+        <path
+           d="m 248.25999,536.802 c 0.008,0.36938 -0.14955,0.73865 -0.43121,0.97985 -0.36025,0.32891 -0.90945,0.39628 -1.3583,0.22886 -0.44485,-0.17177 -0.7737,-0.61188 -0.79903,-1.09011 -0.0338,-0.37371 0.0854,-0.76581 0.35602,-1.03193 0.2551,-0.27187 0.63497,-0.4047 1.004,-0.38222 0.37984,0.008 0.74658,0.19956 0.97342,0.50374 0.17473,0.22433 0.25749,0.50935 0.2551,0.79181 z"
+           style="fill:#000000;fill-opacity:1"
+           id="path2885" />
+      </g>
+      <g
+         transform="translate(-230.9546,-533.6597)"
+         style="fill:#000000;fill-opacity:1"
+         id="g2887">
+        <path
+           d="m 248.25999,542.64502 c 0.008,0.36967 -0.14923,0.73944 -0.43121,0.98083 -0.36025,0.32891 -0.90945,0.39628 -1.3583,0.22887 -0.44511,-0.17184 -0.77393,-0.61235 -0.79903,-1.09083 -0.0349,-0.37399 0.0921,-0.76081 0.35555,-1.03089 0.24963,-0.27846 0.6336,-0.4051 1.00145,-0.3835 0.48385,0.0133 0.92314,0.34301 1.12317,0.77515 0.074,0.16275 0.10881,0.34192 0.10837,0.52037 z"
+           style="fill:#000000;fill-opacity:1"
+           id="path2889" />
+      </g>
+      <g
+         transform="translate(-230.9546,-533.6597)"
+         style="fill:#000000;fill-opacity:1"
+         id="g2891">
+        <path
+           d="m 243.979,540.86798 c 0.045,2.8246 -1.2154,5.57017 -3.21431,7.53651 -2.48942,2.48828 -5.74678,4.07085 -9.06707,5.12812 -0.44172,0.23921 -1.10792,-0.0762 -0.41212,-0.40117 1.33796,-0.60855 2.72769,-1.13094 3.96014,-1.95064 2.72235,-1.6833 5.01959,-4.33406 5.57715,-7.56226 0.32492,-1.96502 0.23445,-4.01059 -0.25795,-5.94002 -0.36132,-1.41859 -1.34451,-2.88302 -2.90132,-3.09265 -1.41284,-0.21626 -2.91467,0.27318 -3.92295,1.29506 -0.26516,0.26874 -0.78141,1.0131 -0.69622,1.86654 0.60202,-0.47279 0.56093,-0.42015 1.05465,-0.6403 1.13673,-0.50686 2.64449,0.21388 2.928,1.46555 0.30209,1.15023 0.0685,2.61366 -1.06664,3.22688 -1.18524,0.64453 -2.93424,0.37778 -3.59586,-0.89094 -1.09534,-1.95448 -0.49303,-4.62673 1.27752,-5.98295 1.80312,-1.49647 4.43407,-1.55482 6.55761,-0.78709 2.18456,0.81249 3.48666,3.07621 3.69728,5.31832 0.0573,0.46798 0.0821,0.93974 0.0821,1.41104 z"
+           style="fill:#000000;fill-opacity:1"
+           id="path2893" />
+      </g>
+    </g>
+    <g
+       inkscape:label="Calque 1"
+       id="layer1"
+       transform="matrix(1.2842911,0,0,1.3475176,-322.83945,-416.05452)">
+      <path
+         style="fill:#000000"
+         d="m 293.69923,599.2555 c -5.0833,-2.30755 -8.26176,-7.06977 -8.26692,-12.38618 -0.003,-3.04786 0.70465,-4.55839 3.39626,-7.25 4.12078,-4.12078 7.32215,-4.34612 11.52327,-0.81111 2.481,2.08762 3.07673,3.35498 3.07673,6.54546 0,4.57716 -3.45488,8.84457 -7.20454,8.89892 l -2.29546,0.0333 2.36078,1.96673 c 4.40817,3.67237 13.74161,1.83025 17.97132,-3.54695 2.68695,-3.4159 2.8725,-10.4474 0.58017,-21.98632 l -1.58928,-8 -8.1615,-0.0292 c -6.83293,-0.0244 -8.97541,-0.45585 -13.16149,-2.65039 -6.67455,-3.49912 -12.03482,-9.03283 -15.80893,-16.32046 -2.7541,-5.31803 -3.10958,-6.96613 -3.12752,-14.5 -0.017,-7.12783 0.40892,-9.42312 2.63829,-14.21836 3.69503,-7.94778 8.10406,-14.1647 15.55273,-21.92998 l 6.37727,-6.64834 -1.26075,-4.35166 c -0.69341,-2.39341 -1.25638,-9.52666 -1.25104,-15.85166 0.008,-9.66271 0.38331,-12.45859 2.34822,-17.5 2.41156,-6.18742 8.57143,-13.5 11.37193,-13.5 2.3357,0 6.35748,7.58778 8.22735,15.52231 3.64909,15.48447 -1.4259,36.48399 -10.97239,45.402 -3.04169,2.84145 -3.13291,4.02388 -0.97359,12.62017 l 1.62158,6.45552 3.91826,0 c 13.55768,0 23.53603,17.26888 18.39611,31.83696 -1.95613,5.54426 -5.12113,9.61309 -9.17655,11.79707 -3.88166,2.09042 -3.87522,2.04461 -1.88097,13.36597 0.8235,4.675 1.49048,10.3 1.48218,12.5 -0.0463,12.29085 -13.67914,19.99824 -25.71152,14.53618 z m 18.32225,-40.29576 c 0.26449,-0.26448 -0.9617,-7.51428 -2.72486,-16.11065 -2.15086,-10.48662 -3.63233,-15.62977 -4.5021,-15.62977 -0.713,0 -2.87307,1.38438 -4.80017,3.07639 -6.00998,5.27683 -5.77153,13.04837 0.56393,18.3793 3.26839,2.75017 3.66914,3.76974 1.12029,2.8502 -7.21634,-2.60341 -11.80118,-10.0042 -10.90186,-17.5976 0.71989,-6.07833 4.67165,-13.02449 8.7669,-15.4099 3.07673,-1.79216 3.08517,-1.82092 2.4339,-8.29839 -0.35945,-3.575 -1.00248,-6.84997 -1.42896,-7.27772 -1.18105,-1.18455 -9.63542,6.73915 -14.54996,13.63666 -5.57826,7.82905 -8.02781,15.12796 -7.2581,21.62696 1.60495,13.55125 12.49382,22.4315 26.49409,21.60685 3.46831,-0.20429 6.52241,-0.58784 6.7869,-0.85233 z m 10.79335,-8.74776 c 2.9889,-7.46999 1.47145,-15.15439 -3.92889,-19.89594 -3.35374,-2.94462 -7.9877,-4.89972 -9.06349,-3.82394 -0.28213,0.28214 0.86382,7.3714 2.54657,15.75391 1.68275,8.38251 3.05955,15.43636 3.05955,15.67521 0,0.23886 1.29882,-0.49055 2.88626,-1.62091 1.58744,-1.13036 3.61244,-3.87011 4.5,-6.08833 z M 304.9704,479.46932 c 8.1183,-8.85025 12.55342,-22.40329 9.07069,-27.71861 -4.87006,-7.43266 -13.9101,3.14073 -15.2864,17.87923 -0.65342,6.99729 0.20528,13.58938 1.77018,13.58938 0.55311,0 2.5536,-1.6875 4.44553,-3.75 z"
+         id="path2221" />
+    </g>
+  </g>
+</svg>
diff --git a/data/themes/default/practice_note.svg b/data/themes/default/practice_note.svg
new file mode 100644 (file)
index 0000000..acf897d
--- /dev/null
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="80"
+   height="50"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docbase="/root/USNG/branches/hacking/themes/lima"
+   sodipodi:docname="practice_note.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="9.04"
+     inkscape:cx="44.454683"
+     inkscape:cy="21.792349"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="822"
+     inkscape:window-height="722"
+     inkscape:window-x="608"
+     inkscape:window-y="100"
+     showgrid="false"
+     width="80px"
+     height="50px" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Calque 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-247.7219,-621.15445)">
+    <path
+       style="fill:#000000"
+       d="M 267.56476,668.82743 C 253.30212,663.34553 247.81274,656.94529 247.72256,645.69277 C 247.60494,631.01587 263.31926,621.12949 286.72594,621.15449 C 301.83554,621.17061 311.88394,624.42323 320.26658,632.01135 C 332.61008,643.18489 329.36062,657.70735 312.4874,666.77825 C 303.64922,671.52953 277.67742,672.71429 267.56476,668.82743 z M 299.89352,664.50729 C 305.17218,660.52725 304.77702,643.80935 299.22126,636.06521 C 290.68224,624.16267 275.94586,622.52677 272.065,633.05053 C 265.23,651.58501 285.95748,675.01491 299.89352,664.50729 z "
+       id="path2266" />
+  </g>
+</svg>
diff --git a/data/themes/default/practice_peak.svg b/data/themes/default/practice_peak.svg
new file mode 100644 (file)
index 0000000..2e343fd
--- /dev/null
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="800"
+   height="600"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docbase="/home/yoda/UltraStar/sf/UltraStar-ng/themes/lima"
+   sodipodi:docname="practice_peak.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2881" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.9875"
+     inkscape:cx="401.5626"
+     inkscape:cy="86.866397"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1439"
+     inkscape:window-height="801"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     width="800px"
+     height="600px"
+     showgrid="false" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Calque 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="fill:#000000;fill-opacity:0.3116883;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect2159"
+       width="800"
+       height="8"
+       x="0"
+       y="591" />
+  </g>
+</svg>
diff --git a/data/themes/default/practice_sharp.svg b/data/themes/default/practice_sharp.svg
new file mode 100644 (file)
index 0000000..1ba903f
--- /dev/null
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="50"
+   height="150"
+   version="1.0"
+   sodipodi:docbase="/root/USNG/branches/hacking/themes/lima"
+   sodipodi:docname="practice_sharp.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5" />
+  <sodipodi:namedview
+     inkscape:window-height="801"
+     inkscape:window-width="1439"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="6.1666667"
+     inkscape:cx="20"
+     inkscape:cy="75.341373"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg2"
+     showgrid="false"
+     width="50px"
+     height="150px" />
+  <path
+     style="fill:#000000"
+     d="M 9.5186641,131.30669 C 9.5186641,113.18383 9.4060341,112.71134 5.2352651,113.33693 C 1.3752881,113.91594 0.89447711,113.01437 0.37132411,104.21651 C -0.15465039,95.371246 0.24796011,94.26612 4.6547231,92.458659 C 9.1961101,90.596035 9.5186641,89.560389 9.5186641,76.841322 C 9.5186641,63.33628 9.4776701,63.230019 4.7593321,64.507506 C 0.16666811,65.751012 8.108108e-09,65.44296 8.108108e-09,55.711236 C 8.108108e-09,46.666741 0.49100311,45.493368 4.7593321,44.337717 C 9.4172991,43.076551 9.5186641,42.634412 9.5186641,23.57824 C 9.5186641,11.966774 10.287106,4.107366 11.422395,4.107366 C 12.552339,4.107366 13.32613,11.717374 13.32613,22.830041 C 13.32613,41.243946 13.396771,41.532306 17.609527,40.314407 C 19.965391,39.633325 22.963784,39.063447 24.272601,39.048026 C 26.007516,39.027591 26.652268,33.733912 26.652268,19.509996 C 26.652268,7.8724459 27.420444,-5.8656388e-15 28.556,-5.8656388e-15 C 29.681927,-5.8656388e-15 30.459732,7.43524 30.459732,18.19837 L 30.459732,36.396739 L 35.219064,35.415262 C 39.742736,34.482399 39.978378,34.905746 39.978378,43.965612 C 39.978378,52.243239 39.352141,53.754282 35.219064,55.449475 C 30.802631,57.260829 30.459732,58.382973 30.459732,71.023888 C 30.459732,84.604925 30.474492,84.642301 35.320687,83.330196 C 40.122009,82.030213 40.174558,82.147196 39.604085,92.862535 C 39.100381,102.32385 38.478791,103.79493 34.743132,104.36728 C 30.646879,104.99488 30.459732,105.86979 30.459732,124.39072 C 30.459732,149.00403 26.985202,150.04501 26.247768,125.65262 L 25.7004,107.54741 L 19.513258,109.28188 L 13.32613,111.01635 L 13.32613,130.46761 C 13.32613,142.06603 12.557553,149.91892 11.422395,149.91892 C 10.293282,149.91892 9.5186641,142.34572 9.5186641,131.30669 z M 23.640954,87.061824 C 27.513014,85.458957 28.108842,59.539669 24.272601,59.584851 C 14.703403,59.697646 13.32613,61.662185 13.32613,75.19899 C 13.32613,88.954187 14.846289,90.702513 23.640954,87.061824 z "
+     id="path2161"
+     sodipodi:nodetypes="csssssssssssssscccssssssscccccsccssc" />
+</svg>
diff --git a/data/themes/default/practice_txt.svg b/data/themes/default/practice_txt.svg
new file mode 100644 (file)
index 0000000..e2b3fac
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="800.000000"
+   height="600.000000"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="practice_txt.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="797"
+     inkscape:window-width="1376"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.26"
+     inkscape:cx="400"
+     inkscape:cy="300"
+     inkscape:window-x="0"
+     inkscape:window-y="49"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs561">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <text
+     x="450"
+     y="430"
+     style="font-size:40px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffd100;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;font-family:Droid Sans Mono"
+     id="text10203"
+     xml:space="preserve"
+     sodipodi:linespacing="125%">A#</text>
+</svg>
diff --git a/data/themes/default/score_bar_bg.svg b/data/themes/default/score_bar_bg.svg
new file mode 100644 (file)
index 0000000..66ac3ac
--- /dev/null
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="256"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="bar_stroke.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient2385">
+      <stop
+         style="stop-color:#808080;stop-opacity:1;"
+         offset="0"
+         id="stop2387" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop2389" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient2391"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9544661,0,0,0.9886165,-2.6779771e-2,0.9447589)" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3476">
+      <rect
+         style="opacity:1;fill:url(#linearGradient3480);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.9141736;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect3478"
+         width="176.6787"
+         height="732.00079"
+         x="-208.22636"
+         y="72.247185"
+         ry="14.296889" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient3480"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.7606047,0,0,2.859378,-212.51815,70.765398)"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3482">
+      <rect
+         style="opacity:1;fill:url(#linearGradient3486);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.9141736;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect3484"
+         width="108.34083"
+         height="448.86887"
+         x="-47.562611"
+         y="52.756752"
+         ry="8.7669697" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient3486"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.6928254,0,0,1.753394,-50.19437,51.848108)"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3488">
+      <rect
+         style="opacity:1;fill:url(#linearGradient3492);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.9141736;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect3490"
+         width="84.279854"
+         height="349.1814"
+         x="-164.00085"
+         y="7.1028223"
+         ry="6.8199492"
+         transform="matrix(0.9492114,-0.314639,0.314639,0.9492114,0,0)" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient3492"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3168727,0,0,1.3639898,-166.04815,6.3959756)"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3494">
+      <rect
+         style="opacity:1;fill:url(#linearGradient3498);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.9141736;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect3496"
+         width="79.174919"
+         height="328.03107"
+         x="-45.36124"
+         y="-25.200241"
+         ry="6.4068561"
+         transform="matrix(0.997851,-6.5523259e-2,6.5523259e-2,0.997851,0,0)" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient3498"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2371081,0,0,1.2813713,-47.284519,-25.864273)"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3500">
+      <rect
+         style="opacity:1;fill:url(#linearGradient3504);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.9141736;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect3502"
+         width="73.717499"
+         height="305.42035"
+         x="-141.34662"
+         y="-77.569504"
+         ry="5.9652405"
+         transform="matrix(0.9657312,-0.2595445,0.2595445,0.9657312,0,0)" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient3504"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.151836,0,0,1.1930482,-143.13732,-78.187764)"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3506">
+      <rect
+         style="opacity:1;fill:url(#linearGradient3510);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.9141736;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect3508"
+         width="61.085831"
+         height="253.08583"
+         x="-150.72115"
+         y="-181.22908"
+         ry="4.9430823"
+         transform="matrix(0.5933644,-0.804934,0.804934,0.5933644,0,0)" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient3510"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9544661,0,0,0.9886165,-152.20501,-181.74141)"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.4324324"
+     inkscape:cx="33.554656"
+     inkscape:cy="127.48178"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="877"
+     inkscape:window-height="846"
+     inkscape:window-x="767"
+     inkscape:window-y="23" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect2383"
+       width="61.085831"
+       height="253.08583"
+       x="1.4570868"
+       y="1.4570796"
+       ry="4.9430823" />
+  </g>
+</svg>
diff --git a/data/themes/default/score_bar_fg.svg b/data/themes/default/score_bar_fg.svg
new file mode 100644 (file)
index 0000000..9d351b8
--- /dev/null
@@ -0,0 +1,337 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="256"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="bar_fill.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient2385">
+      <stop
+         style="stop-color:#808080;stop-opacity:1;"
+         offset="0"
+         id="stop2387" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop2389" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient2391"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9544661,0,0,0.9886165,-2.6779771e-2,0.9447589)" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3476">
+      <rect
+         style="opacity:1;fill:url(#linearGradient3480);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.9141736;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect3478"
+         width="176.6787"
+         height="732.00079"
+         x="-208.22636"
+         y="72.247185"
+         ry="14.296889" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient3480"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.7606047,0,0,2.859378,-212.51815,70.765398)"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3482">
+      <rect
+         style="opacity:1;fill:url(#linearGradient3486);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.9141736;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect3484"
+         width="108.34083"
+         height="448.86887"
+         x="-47.562611"
+         y="52.756752"
+         ry="8.7669697" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient3486"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.6928254,0,0,1.753394,-50.19437,51.848108)"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3488">
+      <rect
+         style="opacity:1;fill:url(#linearGradient3492);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.9141736;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect3490"
+         width="84.279854"
+         height="349.1814"
+         x="-164.00085"
+         y="7.1028223"
+         ry="6.8199492"
+         transform="matrix(0.9492114,-0.314639,0.314639,0.9492114,0,0)" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient3492"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3168727,0,0,1.3639898,-166.04815,6.3959756)"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3494">
+      <rect
+         style="opacity:1;fill:url(#linearGradient3498);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.9141736;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect3496"
+         width="79.174919"
+         height="328.03107"
+         x="-45.36124"
+         y="-25.200241"
+         ry="6.4068561"
+         transform="matrix(0.997851,-6.5523259e-2,6.5523259e-2,0.997851,0,0)" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient3498"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2371081,0,0,1.2813713,-47.284519,-25.864273)"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3500">
+      <rect
+         style="opacity:1;fill:url(#linearGradient3504);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.9141736;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect3502"
+         width="73.717499"
+         height="305.42035"
+         x="-141.34662"
+         y="-77.569504"
+         ry="5.9652405"
+         transform="matrix(0.9657312,-0.2595445,0.2595445,0.9657312,0,0)" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient3504"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.151836,0,0,1.1930482,-143.13732,-78.187764)"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3506">
+      <rect
+         style="opacity:1;fill:url(#linearGradient3510);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.9141736;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect3508"
+         width="61.085831"
+         height="253.08583"
+         x="-150.72115"
+         y="-181.22908"
+         ry="4.9430823"
+         transform="matrix(0.5933644,-0.804934,0.804934,0.5933644,0,0)" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="linearGradient3510"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9544661,0,0,0.9886165,-152.20501,-181.74141)"
+       x1="33.554657"
+       y1="258.01822"
+       x2="33.554657"
+       y2="-0.98177975" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.4892738"
+     inkscape:cx="32.000002"
+     inkscape:cy="127.99999"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="877"
+     inkscape:window-height="846"
+     inkscape:window-x="767"
+     inkscape:window-y="23" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="opacity:1;fill:url(#linearGradient2391);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect2383"
+       width="61.085831"
+       height="253.08583"
+       x="1.4570868"
+       y="1.4570796"
+       ry="4.9430823" />
+    <g
+       id="g3467"
+       transform="matrix(1.0029311,0,0,0.9897783,-9.3791356e-2,2.6018796)">
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path2415"
+         sodipodi:sides="5"
+         sodipodi:cx="-33.711109"
+         sodipodi:cy="140.88889"
+         sodipodi:r1="20.809898"
+         sodipodi:r2="41.619797"
+         sodipodi:arg1="0.97658264"
+         sodipodi:arg2="1.6049012"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.1"
+         inkscape:randomized="0"
+         d="M -22.060534,158.13174 C -24.35061,159.67909 -32.368052,182.57872 -35.130272,182.48448 C -37.892492,182.39024 -44.330522,158.99741 -46.50981,157.29758 C -48.6891,155.59774 -72.945472,155.04908 -73.709416,152.39293 C -74.473359,149.73678 -54.214919,136.38507 -53.271717,133.78716 C -52.328515,131.18926 -59.302336,107.95053 -57.012259,106.40318 C -54.722183,104.85583 -35.763748,119.99685 -33.001528,120.09109 C -30.239308,120.18533 -10.292995,106.37167 -8.1137055,108.07151 C -5.9344165,109.77134 -14.4759,132.48071 -13.711956,135.13686 C -12.948012,137.79301 6.3533084,152.49443 5.4101064,155.09233 C 4.4669044,157.69024 -19.770457,156.58439 -22.060534,158.13174 z"
+         transform="matrix(0.5933644,0.804934,-0.804934,0.5933644,152.17823,182.68617)"
+         clip-path="url(#clipPath3506)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path2417"
+         sodipodi:sides="5"
+         sodipodi:cx="-33.711109"
+         sodipodi:cy="140.88889"
+         sodipodi:r1="20.809898"
+         sodipodi:r2="41.619797"
+         sodipodi:arg1="0.97658264"
+         sodipodi:arg2="1.6049012"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.1"
+         inkscape:randomized="0"
+         d="M -22.060534,158.13174 C -24.35061,159.67909 -32.368052,182.57872 -35.130272,182.48448 C -37.892492,182.39024 -44.330522,158.99741 -46.50981,157.29758 C -48.6891,155.59774 -72.945472,155.04908 -73.709416,152.39293 C -74.473359,149.73678 -54.214919,136.38507 -53.271717,133.78716 C -52.328515,131.18926 -59.302336,107.95053 -57.012259,106.40318 C -54.722183,104.85583 -35.763748,119.99685 -33.001528,120.09109 C -30.239308,120.18533 -10.292995,106.37167 -8.1137055,108.07151 C -5.9344165,109.77134 -14.4759,132.48071 -13.711956,135.13686 C -12.948012,137.79301 6.3533084,152.49443 5.4101064,155.09233 C 4.4669044,157.69024 -19.770457,156.58439 -22.060534,158.13174 z"
+         transform="matrix(0.8002508,0.2150709,-0.2150709,0.8002508,118.58362,65.734861)"
+         clip-path="url(#clipPath3500)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path2419"
+         sodipodi:sides="5"
+         sodipodi:cx="-33.711109"
+         sodipodi:cy="140.88889"
+         sodipodi:r1="20.809898"
+         sodipodi:r2="41.619797"
+         sodipodi:arg1="0.97658264"
+         sodipodi:arg2="1.6049012"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.1"
+         inkscape:randomized="0"
+         d="M -22.060534,158.13174 C -24.35061,159.67909 -32.368052,182.57872 -35.130272,182.48448 C -37.892492,182.39024 -44.330522,158.99741 -46.50981,157.29758 C -48.6891,155.59774 -72.945472,155.04908 -73.709416,152.39293 C -74.473359,149.73678 -54.214919,136.38507 -53.271717,133.78716 C -52.328515,131.18926 -59.302336,107.95053 -57.012259,106.40318 C -54.722183,104.85583 -35.763748,119.99685 -33.001528,120.09109 C -30.239308,120.18533 -10.292995,106.37167 -8.1137055,108.07151 C -5.9344165,109.77134 -14.4759,132.48071 -13.711956,135.13686 C -12.948012,137.79301 6.3533084,152.49443 5.4101064,155.09233 C 4.4669044,157.69024 -19.770457,156.58439 -22.060534,158.13174 z"
+         transform="matrix(0.7698721,5.0553166e-2,-5.0553166e-2,0.7698721,36.454649,20.899824)"
+         clip-path="url(#clipPath3494)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path2421"
+         sodipodi:sides="5"
+         sodipodi:cx="-33.711109"
+         sodipodi:cy="140.88889"
+         sodipodi:r1="20.809898"
+         sodipodi:r2="41.619797"
+         sodipodi:arg1="0.97658264"
+         sodipodi:arg2="1.6049012"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.1"
+         inkscape:randomized="0"
+         d="M -22.060534,158.13174 C -24.35061,159.67909 -32.368052,182.57872 -35.130272,182.48448 C -37.892492,182.39024 -44.330522,158.99741 -46.50981,157.29758 C -48.6891,155.59774 -72.945472,155.04908 -73.709416,152.39293 C -74.473359,149.73678 -54.214919,136.38507 -53.271717,133.78716 C -52.328515,131.18926 -59.302336,107.95053 -57.012259,106.40318 C -54.722183,104.85583 -35.763748,119.99685 -33.001528,120.09109 C -30.239308,120.18533 -10.292995,106.37167 -8.1137055,108.07151 C -5.9344165,109.77134 -14.4759,132.48071 -13.711956,135.13686 C -12.948012,137.79301 6.3533084,152.49443 5.4101064,155.09233 C 4.4669044,157.69024 -19.770457,156.58439 -22.060534,158.13174 z"
+         transform="matrix(0.6879861,0.2280496,-0.2280496,0.6879861,120.32451,-3.6910286)"
+         clip-path="url(#clipPath3488)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path2423"
+         sodipodi:sides="5"
+         sodipodi:cx="-33.711109"
+         sodipodi:cy="140.88889"
+         sodipodi:r1="20.809898"
+         sodipodi:r2="41.619797"
+         sodipodi:arg1="0.97658264"
+         sodipodi:arg2="1.6049012"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.1"
+         inkscape:randomized="0"
+         d="M -22.060534,158.13174 C -24.35061,159.67909 -32.368052,182.57872 -35.130272,182.48448 C -37.892492,182.39024 -44.330522,158.99741 -46.50981,157.29758 C -48.6891,155.59774 -72.945472,155.04908 -73.709416,152.39293 C -74.473359,149.73678 -54.214919,136.38507 -53.271717,133.78716 C -52.328515,131.18926 -59.302336,107.95053 -57.012259,106.40318 C -54.722183,104.85583 -35.763748,119.99685 -33.001528,120.09109 C -30.239308,120.18533 -10.292995,106.37167 -8.1137055,108.07151 C -5.9344165,109.77134 -14.4759,132.48071 -13.711956,135.13686 C -12.948012,137.79301 6.3533084,152.49443 5.4101064,155.09233 C 4.4669044,157.69024 -19.770457,156.58439 -22.060534,158.13174 z"
+         transform="matrix(0.5638302,0,0,0.5638302,28.274322,-28.28877)"
+         clip-path="url(#clipPath3482)" />
+      <path
+         transform="matrix(0.3457453,0,0,0.3457453,73.450372,-23.522045)"
+         d="M -22.060534,158.13174 C -24.35061,159.67909 -32.368052,182.57872 -35.130272,182.48448 C -37.892492,182.39024 -44.330522,158.99741 -46.50981,157.29758 C -48.6891,155.59774 -72.945472,155.04908 -73.709416,152.39293 C -74.473359,149.73678 -54.214919,136.38507 -53.271717,133.78716 C -52.328515,131.18926 -59.302336,107.95053 -57.012259,106.40318 C -54.722183,104.85583 -35.763748,119.99685 -33.001528,120.09109 C -30.239308,120.18533 -10.292995,106.37167 -8.1137055,108.07151 C -5.9344165,109.77134 -14.4759,132.48071 -13.711956,135.13686 C -12.948012,137.79301 6.3533084,152.49443 5.4101064,155.09233 C 4.4669044,157.69024 -19.770457,156.58439 -22.060534,158.13174 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0.1"
+         inkscape:flatsided="false"
+         sodipodi:arg2="1.6049012"
+         sodipodi:arg1="0.97658264"
+         sodipodi:r2="41.619797"
+         sodipodi:r1="20.809898"
+         sodipodi:cy="140.88889"
+         sodipodi:cx="-33.711109"
+         sodipodi:sides="5"
+         id="path2413"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         sodipodi:type="star"
+         clip-path="url(#clipPath3476)" />
+    </g>
+  </g>
+</svg>
diff --git a/data/themes/default/score_level.svg b/data/themes/default/score_level.svg
new file mode 100644 (file)
index 0000000..48fd6b3
--- /dev/null
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="800.000000"
+   height="600.000000"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="score_level.svg"
+   sodipodi:docbase="/home/yoda/UltraStar/sf/UltraStar-ng/themes/lima"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="797"
+     inkscape:window-width="1267"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.2233333"
+     inkscape:cx="400"
+     inkscape:cy="300"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg559"
+     showgrid="false" />
+  <defs
+     id="defs561" />
+  <rect
+     style="opacity:1;fill:#000000;fill-opacity:0.69350648;stroke:#323232;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+     id="rect2174"
+     width="120.25723"
+     height="298.035"
+     x="108.52218"
+     y="279.1571" />
+</svg>
diff --git a/data/themes/default/score_rank.svg b/data/themes/default/score_rank.svg
new file mode 100644 (file)
index 0000000..06f3c43
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="800.000000"
+   height="600.000000"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="score_rank.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   sodipodi:modified="true">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="879"
+     inkscape:window-width="1531"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.26"
+     inkscape:cx="285.76321"
+     inkscape:cy="363.49206"
+     inkscape:window-x="168"
+     inkscape:window-y="122"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs561">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <text
+     x="400"
+     y="119.71297"
+     style="font-size:70px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffd100;fill-opacity:1;stroke:#000000;stroke-width:1.58534133;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;font-family:Goblin"
+     id="text10203"
+     xml:space="preserve"
+     sodipodi:linespacing="125%"><tspan
+       x="400"
+       y="119.71297"
+       id="tspan10205"
+       style="font-size:70px;text-align:center;text-anchor:middle;fill:#ffd100;fill-opacity:1;stroke-width:1.58534133">Lead Singer</tspan></text>
+</svg>
diff --git a/data/themes/default/score_txt.svg b/data/themes/default/score_txt.svg
new file mode 100644 (file)
index 0000000..4ddcce5
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="800.000000"
+   height="600.000000"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="score_txt.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   sodipodi:modified="true">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="797"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.26"
+     inkscape:cx="400"
+     inkscape:cy="268.25397"
+     inkscape:window-x="5"
+     inkscape:window-y="73"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs561">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <text
+     x="277.86353"
+     y="317.25027"
+     style="font-size:30px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline;font-family:Goblin"
+     id="text10203"
+     xml:space="preserve"
+     sodipodi:linespacing="125%"><tspan
+       x="277.86353"
+       y="317.25027"
+       id="tspan10205"
+       style="fill:#ff7f2a;fill-opacity:1;font-size:30px">A#</tspan></text>
+</svg>
diff --git a/data/themes/default/score_window.svg b/data/themes/default/score_window.svg
new file mode 100644 (file)
index 0000000..29b42cf
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="800.000000"
+   height="600.000000"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="score_window.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="908"
+     inkscape:window-width="1487"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.1826361"
+     inkscape:cx="400.527"
+     inkscape:cy="360.08523"
+     inkscape:window-x="212"
+     inkscape:window-y="75"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs561">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective2513" />
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2391"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.755727,0,0,0.755727,-21.47999,-0.08973963)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+  </defs>
+  <rect
+     style="fill:#ffffff;fill-opacity:0.74766355;stroke:#000000;stroke-width:1.37750208;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     id="rect2383"
+     width="665.36389"
+     height="441.10852"
+     x="67.317955"
+     y="79.44574"
+     rx="30.002518"
+     ry="27.710554" />
+  <g
+     id="g2386"
+     transform="translate(64.263217,-9.3473116)">
+    <path
+       style="opacity:0.22790701;fill:url(#linearGradient2391);fill-opacity:1;fill-rule:evenodd;stroke:none"
+       d="m 277.79837,408.27854 -10.90046,0 2.92777,2.14176 7.79864,2.35593 5.03927,2.57011 -8.51485,-1.28506 -12.02188,-3.21262 -11.30847,-0.85671 -7.39064,-1.49923 -11.7508,-1.49923 -23.56727,-5.99692 -6.09509,-2.78428 6.54596,-6.85362 15.49739,1.92758 5.21059,1.49923 4.08621,1.7134 6.30058,1.49924 6.98261,0.64252 0.75036,-1.28506 -3.03039,-1.49922 -4.69979,-1.28506 -4.80242,-0.64252 -4.73402,-1.07088 2.86209,-0.8567 -6.19787,-2.14176 -3.06463,-1.28506 -6.3348,-1.28505 -6.2321,-1.92758 -8.0726,-0.64253 -6.47182,-0.42835 -3.7837,3.21264 -18.15982,4.49769 -0.41089,2.5701 -1.3297,1.49923 7.08245,3.42681 6.26633,1.71341 19.24134,5.78274 19.85476,5.35439 16.82438,3.85516 6.3976,7.71032 13.95662,11.56549 4.08342,5.14021 2.20869,6.63945 6.60596,2.99846 -0.956,2.57011 20.09448,3.85517 8.00134,4.49768 25.09671,10.06626 32.48734,11.56548 29.42272,10.28044 13.62266,3.4268 22.44298,6.2111 28.84617,7.0678 13.99652,4.49767 10.93189,3.21264 2.95905,5.35439 -10.80055,2.78428 3.47287,2.14178 32.22473,-0.42835 3.26731,3.42679 11.10299,2.14176 17.33796,0.64253 2.31986,-4.28352 -9.94159,-5.9969 -5.17348,-5.14023 1.56942,-2.99845 -5.44743,-3.42681 -9.77609,-0.21418 0.37666,-2.35594 -8.41502,1.49924 0.54782,-3.42681 -8.0726,-0.64253 -10.52372,-2.35593 -24.0096,-6.63945 -33.88839,-6.21109 -4.83672,-0.42835 0.75051,-1.28506 -9.22834,-3.64098 -3.84657,-3.21264 -2.75931,0.21418 -3.70956,-4.06934 -9.7049,-4.06934 -1.29267,-2.14176 -6.64012,-2.78428 -2.04031,-4.28351 -8.1382,-3.64098 -8.786,-2.99847 -4.35737,-3.4268 -2.27996,-2.78429 -4.08629,-1.7134 4.39448,-0.21418 0.27387,-1.7134 -6.4004,-4.28351 -0.47377,-3.85517 6.77993,-1.49923 11.64802,2.14175 20.40274,1.92759 18.6648,2.5701 13.14617,2.99847 11.37694,0.42835 45.98161,5.56856 22.51424,2.35594 23.33035,4.06934 2.24866,-0.42836 -3.0647,-1.28505 -13.24895,-2.35593 18.29109,1.49922 -0.91889,-1.07087 -6.33473,-1.28505 5.45015,0 -2.51959,-1.28506 -11.85358,-0.8567 5.58717,-0.8567 -3.5755,-1.49924 -3.2358,-0.21417 -7.66458,0.21417 -9.09412,-1.07087 -6.40335,-0.85671 1.43248,-2.14175 -1.9404,-1.49923 -3.64396,-1.07089 -4.97367,0.42836 -6.40615,2.5701 1.42961,1.28506 -5.38168,-0.42835 -23.97816,-3.42681 -6.16356,-2.35593 -13.86238,-1.92759 -23.46736,-3.21263 -1.26123,1.07088 -3.03047,-1.49923 -16.38204,-3.21264 -9.67338,-0.85669 -14.74703,-3.21265 -4.73395,-1.07087 11.68225,1.92758 -6.19779,-2.14176 8.00405,1.07088 -9.2968,-3.21263 14.27047,2.78428 -7.86712,-1.92758 10.69498,1.28505 -15.22352,-3.64098 6.43751,0.64253 -10.35255,-3.42682 6.87983,1.28506 -13.11194,-3.21264 6.98254,0.64253 -11.03459,-2.57011 6.02949,-0.21418 -11.17146,-1.7134 2.31698,-0.8567 -5.41591,-0.21418 0.9216,-2.35593 -5.48438,0.21417 -3.03047,-1.49922 -9.67058,-4.28352 3.88081,2.99846 -14.03075,-4.28351 8.71746,3.42681 -1.66933,0.21418 -5.45015,0 -14.16776,-3.42681 -5.99526,0 -12.70377,-2.35593 -0.20556,1.28504 -3.06742,2.14176 z"
+       id="path2864"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path1939"
+       d="m 562.76779,223.0222 -10.8932,0 -2.17861,5.44657 2.17861,5.99123 -1.08931,6.53589 -5.44652,-3.26795 -4.35722,-8.16985 -9.25925,-2.17864 -3.81256,-3.81259 -8.16987,-3.81261 -9.25916,-15.2504 0.54465,-7.08055 22.87563,-17.42903 10.89305,4.90191 1.63403,3.81261 0,4.35726 2.72326,3.81259 5.4466,1.63398 3.81257,-3.26795 0.54465,-3.8126 -1.63395,-3.26794 -3.26792,-1.63397 -2.17868,-2.72329 4.90194,-2.17862 -1.0893,-5.44658 0,-3.26795 -3.26792,-3.26794 -1.63403,-4.90191 -6.53583,-1.63397 -5.4466,-1.08932 -11.43785,8.16986 -28.86681,11.43781 -6.5359,6.53588 -4.90187,3.8126 -1.08939,8.71452 2.17869,4.35726 5.4466,14.70574 7.08048,13.61643 7.62521,9.80383 -11.98243,19.60767 -13.61646,29.41149 -8.16986,13.07177 -13.61639,16.88438 -0.54465,7.62521 -7.08056,6.53588 10.89313,9.80384 -2.72327,11.43779 1.08931,25.5989 4.90187,29.41149 4.90195,26.14356 5.44652,8.71451 7.62529,15.79506 11.98243,17.97369 3.26791,11.43777 3.26799,8.16987 -9.80389,13.61643 -17.42903,7.08055 -1.63396,5.44661 33.2241,-1.08931 -4.90187,8.71449 5.99118,5.44656 15.79507,1.634 12.52716,-10.89317 4.35729,-15.25037 7.08048,-13.07179 8.71452,-7.62519 2.72326,-8.71454 -9.25909,-0.54465 5.99118,-5.99124 -11.98243,3.81261 8.71451,-8.71452 -6.5359,-1.63397 -4.90195,-5.99123 -8.16986,-16.88438 -19.06299,-15.79506 -3.81257,-1.08931 3.81257,-3.26795 -0.54465,-9.25917 3.81264,-8.16986 -3.26799,0.54466 5.99125,-10.34849 0,-10.34849 3.81257,-5.44657 0,-7.08055 8.16986,-10.89315 0.54473,-9.25916 -1.63403,-7.62521 3.81264,-8.71452 4.35722,-7.08054 0,-4.35726 4.90195,-0.54465 4.35722,-4.35726 3.81264,-10.89314 8.71451,-9.80384 10.34848,-3.8126 6.53582,5.44657 15.79515,4.90192 12.52708,6.53588 5.99118,7.62521 10.34847,1.08931 32.67953,14.16109 16.8843,5.99124 13.61646,10.34848 3.26799,-1.08932 0,-3.26794 -7.62521,-5.99122 14.70569,3.81259 1.63404,-2.72329 -3.26799,-3.26793 5.4466,0 0.54465,-3.26795 -9.80382,-2.17863 7.62513,-2.17863 0,-3.8126 -2.72326,-0.54465 -8.16986,0.54465 -6.53583,-2.72329 -4.35729,-2.17862 6.5359,-5.44658 1.63396,-3.8126 -1.08931,-2.72329 -5.99117,1.08932 -12.52724,6.53588 -1.63388,3.26795 -4.35729,-1.08931 -15.79508,-8.71452 -0.54465,-5.99123 -9.25917,-4.90192 -15.79507,-8.16986 -3.81257,2.72329 0.54466,-3.8126 -8.71452,-8.16986 -7.62521,-2.17863 -7.08056,-8.16986 -2.1786,-2.72329 7.08055,4.90192 -1.0893,-5.44658 5.44652,2.72329 -1.63396,-8.16986 7.62521,7.08055 -3.26791,-4.90191 7.62513,3.26793 -6.53583,-9.25916 4.90188,1.63397 -2.17861,-8.71452 3.81256,3.26794 -5.44652,-8.16986 5.44652,1.63397 -4.90187,-6.53588 6.53583,-0.54466 -7.08048,-4.35726 4.35722,-2.17862 -4.90187,-0.54467 6.53583,-5.99122 -5.99118,0.54465 0.54465,-3.8126 0.54465,-10.89314 -3.26791,7.6252 -3.81264,-10.89315 0.54465,8.71452 -2.17861,0.54466 -5.4466,0 -5.99125,-8.71452 -5.99118,0 -7.08056,-5.99123 -3.26799,3.26794 -8.16978,5.44658 z"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.5391832px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="cccc"
+       id="path3759"
+       d="m 537.51011,167.72564 c -21.32518,-7.88231 -32.78336,21.65136 -25.75888,38.1759 2.53041,20.85981 2.98384,42.75852 -2.54173,63.05637 -10.4013,10.91035 -37.39557,17.90502 -37.00765,36.2146"
+       style="fill:none;stroke:#ffffff;stroke-width:1.28473592;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
diff --git a/data/themes/default/sing-songinfo.svg b/data/themes/default/sing-songinfo.svg
new file mode 100644 (file)
index 0000000..4761e7d
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="1000"
+   height="800"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
+   sodipodi:docname="sing-songinfo.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata3115">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1025"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="false"
+     inkscape:zoom="10.82"
+     inkscape:cx="10.356132"
+     inkscape:cy="58.017773"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:current-layer="svg3465"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs3467">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective9" />
+  </defs>
+  <text
+     xml:space="preserve"
+     id="timer_text"
+     style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12.45777512px;line-height:0%;font-family:'Droid Sans Mono';text-align:start;text-anchor:start;display:inline;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.34604928;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     y="911.35938"
+     x="5.0858607"
+     transform="scale(1.2106374,0.82601117)"><tspan
+       id="tspan4717"
+       y="913.77081"
+       x="5.0858607"
+       style="font-size:13.8419733px;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.34604928;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">00:00</tspan></text>
+  <!--       style="font-size:25px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.56078384;display:inline;font-family:Droid Sans Mono"
+-->
+</svg>
diff --git a/data/themes/default/sing_bg_bottom.svg b/data/themes/default/sing_bg_bottom.svg
new file mode 100644 (file)
index 0000000..d133e4e
--- /dev/null
@@ -0,0 +1,694 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="1000"
+   height="230"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="sing_bg_bottom.svg"
+   sodipodi:docbase="/root/USNG/trunk/themes/lima"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata30">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:cy="115"
+     inkscape:cx="434.23317"
+     inkscape:zoom="0.30370236"
+     inkscape:window-height="726"
+     inkscape:window-width="960"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:window-x="21"
+     inkscape:window-y="92"
+     inkscape:current-layer="svg3465"
+     showgrid="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2419"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <defs
+     id="defs3467">
+    <linearGradient
+       id="linearGradient6239">
+      <stop
+         style="stop-color:#414141;stop-opacity:1;"
+         offset="0"
+         id="stop6241" />
+      <stop
+         style="stop-color:#151515;stop-opacity:1;"
+         offset="1"
+         id="stop6243" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 400 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1000 : 400 : 1"
+       inkscape:persp3d-origin="500 : 266.66667 : 1"
+       id="perspective57" />
+    <linearGradient
+       id="linearGradient3667">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3669" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3671" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3667"
+       id="linearGradient2549"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2504205,0,0,1.1424679,-3.6234642e-2,-3.1313995)"
+       x1="365.07416"
+       y1="121.63737"
+       x2="365.07416"
+       y2="151.1951" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3667"
+       id="linearGradient5768"
+       x1="551.00964"
+       y1="660.33606"
+       x2="551.00964"
+       y2="605.34015"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0140491,0,0,0.8428048,-5.1350533,117.20059)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3667"
+       id="linearGradient3212"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.25042,0,0,1.5212915,-9.8590088e-8,-230.00001)"
+       x1="367.8764"
+       y1="131.46725"
+       x2="367.8764"
+       y2="151.18733" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6281"
+       cx="-52.682827"
+       cy="22.638672"
+       fx="-52.682827"
+       fy="22.638672"
+       r="139.13554"
+       gradientTransform="matrix(0.5485002,4.7588748e-2,-3.8008734e-2,0.486111,-22.925821,11.758401)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6283"
+       cx="54.552696"
+       cy="61.81908"
+       fx="54.552696"
+       fy="61.81908"
+       r="85.972984"
+       gradientTransform="matrix(0.8491493,-0.5169578,0.3359319,0.5286533,-12.537687,75.354409)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6285"
+       cx="-108.65945"
+       cy="46.669819"
+       fx="-108.65945"
+       fy="46.669819"
+       r="85.972984"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6287"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984"
+       gradientTransform="matrix(0.7054225,-0.6154847,1,0.8642415,-0.933785,0.1264853)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6289"
+       cx="-55.975525"
+       cy="110.75415"
+       fx="-55.975525"
+       fy="110.75415"
+       r="139.13554"
+       gradientTransform="matrix(0.4023117,1.7847586e-8,-2.8882931e-8,0.8902338,-33.455913,0.1024879)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6291"
+       cx="-84.775795"
+       cy="102.82321"
+       fx="-84.775795"
+       fy="102.82321"
+       r="139.13554"
+       gradientTransform="matrix(0.609306,0,-1.7525848e-8,0.8902338,-33.121388,0.102488)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6293"
+       cx="121.82938"
+       cy="29.891867"
+       fx="121.82938"
+       fy="29.891867"
+       r="85.972984"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6295"
+       cx="-54.119453"
+       cy="-33.586506"
+       fx="-54.119453"
+       fy="-33.586506"
+       r="85.972984"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6297"
+       cx="73.08477"
+       cy="-64.148376"
+       fx="73.08477"
+       fy="-64.148376"
+       r="139.13554"
+       gradientTransform="matrix(1.2783381,0.4169453,-0.272318,0.846931,-30.398528,-33.221331)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <filter
+       inkscape:collect="always"
+       id="filter6415">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.5378501"
+         id="feGaussianBlur6417" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter6435">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.8924159"
+         id="feGaussianBlur6437" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter6439">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="6.8900544"
+         id="feGaussianBlur6441" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6443"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6445"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6447"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6449"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6451"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6453"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6455"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6457"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6459"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6461"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6463"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6465"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6467"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6469"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6471"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6473"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.2958795,0,-0.2762501)"
+       spreadMethod="reflect"
+       cx="-0.00043312719"
+       cy="0.93365741"
+       fx="-0.00043312719"
+       fy="0.93365741"
+       r="85.972984" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6475"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6239"
+       id="radialGradient6477"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8902338,0,0.1024869)"
+       spreadMethod="reflect"
+       cx="0.00033175375"
+       cy="0.93368369"
+       fx="0.00033175375"
+       fy="0.93368369"
+       r="139.13554" />
+    <filter
+       inkscape:collect="always"
+       id="filter6529">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.8307749"
+         id="feGaussianBlur6531" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter6557">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="6.374635"
+         id="feGaussianBlur6559" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter6593">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.9535839"
+         id="feGaussianBlur6595" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter6609">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.7116756"
+         id="feGaussianBlur6611" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter6693">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.3837536"
+         id="feGaussianBlur6695" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter6781">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="5.8770044"
+         id="feGaussianBlur6783" />
+    </filter>
+  </defs>
+  <rect
+     id="rect3210"
+     style="fill:url(#linearGradient3212);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:17;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     y="-230"
+     x="0"
+     height="230"
+     width="1000.336"
+     transform="scale(1,-1)" />
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     transform="matrix(0.8066215,0,0,0.8008797,451.66415,145.2047)"
+     style="fill:url(#radialGradient6297);fill-opacity:1;filter:url(#filter6439)">
+    <g
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="H:\new\rect2273.png"
+       style="fill:url(#radialGradient6477);fill-opacity:1.0"
+       transform="matrix(0.7844778,0,0,0.7844778,-1023.124,-443.46103)"
+       id="yleiso1">
+      <path
+         sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccsscccccccccccccccccccccccccc"
+         id="path2504"
+         d="M 1181.224,723.79257 C 1199.0901,718.60987 1185.0396,697.72457 1187.3691,684.83127 C 1184.688,666.26335 1171.3704,651.43231 1166.9813,633.26001 C 1160.1207,617.38632 1158.849,599.92929 1153.3602,583.77252 C 1148.7636,571.05526 1143.9694,558.30454 1136.8115,547.14829 C 1128.5489,534.23416 1123.5923,519.2203 1129.3182,503.92685 C 1132.0217,485.7828 1137.0229,468.14408 1139.758,449.9947 C 1147.1751,438.85268 1133.8906,413.77294 1144.9766,408.88718 C 1142.6569,431.31121 1149.9781,411.49517 1156.9042,420.49538 C 1163.9095,414.90467 1162.3914,422.35289 1165.1341,424.4142 C 1171.0661,408.35972 1174.8698,420.56041 1167.9972,429.41733 C 1158.1154,441.97928 1151.3706,461.5574 1152.7012,478.30944 C 1151.2265,485.96869 1154.1129,504.61879 1156.3028,486.18395 C 1158.9392,478.09567 1160.2787,493.25406 1162.4626,493.72715 C 1149.4183,507.35899 1182.8488,491.53847 1169.1093,504.67272 C 1166.0703,513.41577 1149.4599,518.83806 1158.526,528.3426 C 1168.2568,540.01484 1174.4634,555.0484 1186.5999,564.4929 C 1190.7679,563.86303 1203.8036,554.27654 1201.5915,549.09252 C 1197.8442,536.68637 1191.1228,521.94383 1205.0553,510.09744 C 1216.4312,504.07671 1232.7978,494.0759 1243.5494,504.55673 C 1246.6613,520.95199 1254.265,537.76964 1250.3939,554.72426 C 1248.4661,561.95805 1240.3264,580.70989 1254.9838,573.2705 C 1271.4972,566.56068 1275.1832,552.0784 1276.7458,535.84879 C 1279.4894,520.74532 1287.8045,503.8597 1279.1376,489.28238 C 1273.8191,481.68486 1274.1639,470.71136 1281.5231,482.34879 C 1286.0476,477.77342 1287.1139,449.21899 1289.5758,468.75447 C 1291.0788,472.96237 1296.3003,457.53592 1296.8529,471.34617 C 1308.9366,483.16143 1297.2902,498.12169 1298.4281,512.20436 C 1298.4145,519.98988 1293.6444,543.41817 1305.982,528.27346 C 1317.9778,518.59866 1320.579,502.46967 1329.3504,490.31893 C 1337.7237,474.96976 1345.9566,457.63035 1345.2772,439.88738 C 1347.1841,429.39723 1338.239,408.68409 1351.9681,419.34584 C 1351.7099,408.58687 1372.1739,403.35257 1358.9283,415.91499 C 1352.3722,431.19226 1379.9442,395.69031 1370.6096,417.32897 C 1363.9548,422.72554 1365.2976,432.86515 1376.385,420.28147 C 1382.8759,422.22298 1366.3058,440.99887 1364.4973,449.02262 C 1353.2056,469.14576 1350.0496,492.5316 1342.1625,513.96454 C 1336.3527,529.75235 1328.4691,543.59904 1319.8074,557.94366 C 1310.2192,573.82279 1300.026,589.53545 1288.6205,604.10045 C 1279.6747,615.09562 1303.4822,605.24803 1309.6406,610.88682 C 1322.1586,603.01307 1339.0256,609.81366 1341.3848,624.79192 C 1349.9202,631.66381 1338.4258,651.99891 1346.2108,653.04492 C 1353.1707,644.68823 1376.9006,642.82214 1362.6019,629.38502 C 1357.722,615.77507 1349.112,596.42578 1365.5608,586.80732 C 1384.541,575.74506 1394.6894,599.25542 1400.1051,611.32032 C 1398.9907,617.63272 1389.1106,635.48514 1401.404,634.41192 C 1413.3743,639.52316 1418.5455,631.84517 1411.1806,621.42007 C 1405.5681,613.80634 1409.1866,605.72051 1413.6207,617.53459 C 1418.9418,625.96867 1410.3211,591.87473 1418.5981,610.56244 C 1419.8123,609.90142 1423.3305,600.47095 1423.688,611.9527 C 1425.0173,622.38725 1428.2675,619.37152 1430.9161,612.17672 C 1434.0491,621.97072 1430.2978,634.12309 1434.7731,643.22177 C 1449.9279,660.26567 1469.4341,673.70517 1481.0786,693.61147 C 1483.1005,704.21417 1478.731,717.48727 1471.0841,724.34877 C 1374.4648,724.20307 1277.8372,724.75587 1181.224,723.79257 z M 1455.1965,693.09877 C 1449.7389,685.43527 1439.2771,687.73167 1451.6474,693.45447 C 1452.1444,694.17817 1455.238,694.94177 1455.1965,693.09877 z M 1318.1514,671.71397 C 1326.34,655.59568 1302.2616,649.4392 1304.2731,633.07932 C 1303.9936,626.0403 1303.0497,612.64652 1295.8858,625.46256 C 1287.107,632.2499 1304.5643,642.48038 1298.2368,652.57004 C 1300.012,661.49008 1290.9202,673.70597 1306.224,672.69467 C 1310.013,673.91017 1315.3324,675.81437 1318.1514,671.71397 z"
+         style="fill:url(#radialGradient6475);fill-opacity:1.0" />
+    </g>
+  </g>
+  <g
+     id="g2670"
+     inkscape:label="Layer 1"
+     transform="matrix(1,0,0,0.8832743,320.27471,120.95505)"
+     style="fill:url(#radialGradient6295);fill-opacity:1;filter:url(#filter6435)">
+    <g
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="H:\new\rect2273.png"
+       style="fill:url(#radialGradient6473);fill-opacity:1.0"
+       transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+       id="yleiso2">
+      <path
+         sodipodi:nodetypes="cccccccccccccccccccccccccccssccc"
+         id="path2270"
+         d="M 1326.7136,723.79257 C 1308.8475,718.60987 1322.898,697.72457 1320.5685,684.83127 C 1323.2496,666.26335 1336.5672,651.43231 1340.9563,633.26001 C 1347.8169,617.38632 1347.0159,604.07478 1352.5047,587.91801 C 1361.2467,575.89167 1367.4228,568.66827 1371.1261,556.13019 C 1376.625,539.07057 1380.8907,527.51129 1375.1648,512.21784 C 1372.4613,494.07379 1367.4601,476.43507 1364.725,458.28569 C 1357.3079,447.14367 1370.5924,422.06393 1359.5064,417.17817 C 1361.8261,439.6022 1354.5049,419.78616 1347.5788,428.78637 C 1340.5735,423.19566 1342.0916,430.64388 1339.3489,432.70519 C 1333.4169,416.65071 1329.6132,428.8514 1336.4858,437.70832 C 1346.3676,450.27027 1353.1124,469.84839 1351.7818,486.60043 C 1355.3852,518.74824 1355.8198,515.10521 1345.957,536.63359 C 1336.2262,548.30583 1330.7105,562.64847 1318.574,572.09297 C 1314.406,571.4631 1283.4065,595.73147 1306.3461,549.09252 C 1310.0934,536.68637 1316.8148,521.94383 1302.8823,510.09744 C 1291.5064,504.07671 1275.1398,494.0759 1264.3882,504.55673 C 1261.2763,520.95199 1253.6726,537.76964 1257.5437,554.72426 C 1259.4715,561.95805 1267.6112,580.70989 1252.9538,573.2705 C 1230.0238,552.25689 1236.3043,558.74018 1201.9556,528.27346 C 1189.9598,518.59866 1187.3586,502.46967 1178.5872,490.31893 C 1170.2139,474.96976 1161.981,457.63035 1162.6604,439.88738 C 1160.7535,429.39723 1169.6986,408.68409 1155.9695,419.34584 C 1156.2277,408.58687 1135.7637,403.35257 1149.0093,415.91499 C 1155.5654,431.19226 1127.9934,395.69031 1137.328,417.32897 C 1143.9828,422.72554 1142.64,432.86515 1131.5526,420.28147 C 1125.0617,422.22298 1141.6318,440.99887 1143.4403,449.02262 C 1154.732,469.14576 1157.888,492.5316 1165.7751,513.96454 C 1171.5849,529.75235 1179.4685,543.59904 1188.1302,557.94366 C 1197.7184,573.82279 1207.9116,589.53545 1219.3171,604.10045 C 1230.9206,658.44183 1215.0079,686.0741 1203.8726,715.91823 C 1236.4598,732.80965 1210.5013,732.69947 1326.7136,723.79257 z"
+         style="fill:url(#radialGradient6471);fill-opacity:1.0" />
+    </g>
+  </g>
+  <g
+     id="g2674"
+     inkscape:label="Layer 1"
+     transform="matrix(-1,0,0,0.8711992,487.08999,112.44614)"
+     style="fill:url(#radialGradient6293);fill-opacity:1;filter:url(#filter6593)">
+    <g
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="H:\new\rect2273.png"
+       style="fill:url(#radialGradient6469);fill-opacity:1.0"
+       transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+       id="g2676">
+      <path
+         sodipodi:nodetypes="cccccccccccccccccccccccccccssccc"
+         id="path2678"
+         d="M 1326.7136,723.79257 C 1308.8475,718.60987 1322.898,697.72457 1320.5685,684.83127 C 1323.2496,666.26335 1336.5672,651.43231 1340.9563,633.26001 C 1347.8169,617.38632 1347.0159,604.07478 1352.5047,587.91801 C 1361.2467,575.89167 1367.4228,568.66827 1371.1261,556.13019 C 1376.625,539.07057 1380.8907,527.51129 1375.1648,512.21784 C 1372.4613,494.07379 1367.4601,476.43507 1364.725,458.28569 C 1357.3079,447.14367 1370.5924,422.06393 1359.5064,417.17817 C 1361.8261,439.6022 1354.5049,419.78616 1347.5788,428.78637 C 1340.5735,423.19566 1342.0916,430.64388 1339.3489,432.70519 C 1333.4169,416.65071 1329.6132,428.8514 1336.4858,437.70832 C 1346.3676,450.27027 1353.1124,469.84839 1351.7818,486.60043 C 1355.3852,518.74824 1355.8198,515.10521 1345.957,536.63359 C 1336.2262,548.30583 1330.7105,562.64847 1318.574,572.09297 C 1314.406,571.4631 1283.4065,595.73147 1306.3461,549.09252 C 1310.0934,536.68637 1316.8148,521.94383 1302.8823,510.09744 C 1291.5064,504.07671 1275.1398,494.0759 1264.3882,504.55673 C 1261.2763,520.95199 1253.6726,537.76964 1257.5437,554.72426 C 1259.4715,561.95805 1267.6112,580.70989 1252.9538,573.2705 C 1230.0238,552.25689 1236.3043,558.74018 1201.9556,528.27346 C 1189.9598,518.59866 1187.3586,502.46967 1178.5872,490.31893 C 1170.2139,474.96976 1161.981,457.63035 1162.6604,439.88738 C 1160.7535,429.39723 1169.6986,408.68409 1155.9695,419.34584 C 1156.2277,408.58687 1135.7637,403.35257 1149.0093,415.91499 C 1155.5654,431.19226 1127.9934,395.69031 1137.328,417.32897 C 1143.9828,422.72554 1142.64,432.86515 1131.5526,420.28147 C 1125.0617,422.22298 1141.6318,440.99887 1143.4403,449.02262 C 1154.732,469.14576 1157.888,492.5316 1165.7751,513.96454 C 1171.5849,529.75235 1179.4685,543.59904 1188.1302,557.94366 C 1197.7184,573.82279 1207.9116,589.53545 1219.3171,604.10045 C 1230.9206,658.44183 1215.0079,686.0741 1203.8726,715.91823 C 1236.4598,732.80965 1210.5013,732.69947 1326.7136,723.79257 z"
+         style="fill:url(#radialGradient6467);fill-opacity:1.0" />
+    </g>
+  </g>
+  <g
+     id="g2680"
+     inkscape:label="Layer 1"
+     transform="matrix(0.8624259,0,0,0.8624259,266.15497,141.15386)"
+     style="fill:url(#radialGradient6291);fill-opacity:1;filter:url(#filter6609)">
+    <g
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="H:\new\rect2273.png"
+       style="fill:url(#radialGradient6465);fill-opacity:1.0"
+       transform="matrix(0.7844778,0,0,0.7844778,-1023.124,-443.46103)"
+       id="g2682">
+      <path
+         sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccsscccccccccccccccccccccccccc"
+         id="path2684"
+         d="M 1181.224,723.79257 C 1199.0901,718.60987 1185.0396,697.72457 1187.3691,684.83127 C 1184.688,666.26335 1171.3704,651.43231 1166.9813,633.26001 C 1160.1207,617.38632 1158.849,599.92929 1153.3602,583.77252 C 1148.7636,571.05526 1143.9694,558.30454 1136.8115,547.14829 C 1128.5489,534.23416 1123.5923,519.2203 1129.3182,503.92685 C 1132.0217,485.7828 1137.0229,468.14408 1139.758,449.9947 C 1147.1751,438.85268 1133.8906,413.77294 1144.9766,408.88718 C 1142.6569,431.31121 1149.9781,411.49517 1156.9042,420.49538 C 1163.9095,414.90467 1162.3914,422.35289 1165.1341,424.4142 C 1171.0661,408.35972 1174.8698,420.56041 1167.9972,429.41733 C 1158.1154,441.97928 1151.3706,461.5574 1152.7012,478.30944 C 1151.2265,485.96869 1154.1129,504.61879 1156.3028,486.18395 C 1158.9392,478.09567 1160.2787,493.25406 1162.4626,493.72715 C 1149.4183,507.35899 1182.8488,491.53847 1169.1093,504.67272 C 1166.0703,513.41577 1149.4599,518.83806 1158.526,528.3426 C 1168.2568,540.01484 1174.4634,555.0484 1186.5999,564.4929 C 1190.7679,563.86303 1203.8036,554.27654 1201.5915,549.09252 C 1197.8442,536.68637 1191.1228,521.94383 1205.0553,510.09744 C 1216.4312,504.07671 1232.7978,494.0759 1243.5494,504.55673 C 1246.6613,520.95199 1254.265,537.76964 1250.3939,554.72426 C 1248.4661,561.95805 1240.3264,580.70989 1254.9838,573.2705 C 1271.4972,566.56068 1275.1832,552.0784 1276.7458,535.84879 C 1279.4894,520.74532 1287.8045,503.8597 1279.1376,489.28238 C 1273.8191,481.68486 1274.1639,470.71136 1281.5231,482.34879 C 1286.0476,477.77342 1287.1139,449.21899 1289.5758,468.75447 C 1291.0788,472.96237 1296.3003,457.53592 1296.8529,471.34617 C 1308.9366,483.16143 1297.2902,498.12169 1298.4281,512.20436 C 1298.4145,519.98988 1293.6444,543.41817 1305.982,528.27346 C 1317.9778,518.59866 1320.579,502.46967 1329.3504,490.31893 C 1337.7237,474.96976 1345.9566,457.63035 1345.2772,439.88738 C 1347.1841,429.39723 1338.239,408.68409 1351.9681,419.34584 C 1351.7099,408.58687 1372.1739,403.35257 1358.9283,415.91499 C 1352.3722,431.19226 1379.9442,395.69031 1370.6096,417.32897 C 1363.9548,422.72554 1365.2976,432.86515 1376.385,420.28147 C 1382.8759,422.22298 1366.3058,440.99887 1364.4973,449.02262 C 1353.2056,469.14576 1350.0496,492.5316 1342.1625,513.96454 C 1336.3527,529.75235 1328.4691,543.59904 1319.8074,557.94366 C 1310.2192,573.82279 1300.026,589.53545 1288.6205,604.10045 C 1279.6747,615.09562 1303.4822,605.24803 1309.6406,610.88682 C 1322.1586,603.01307 1339.0256,609.81366 1341.3848,624.79192 C 1349.9202,631.66381 1338.4258,651.99891 1346.2108,653.04492 C 1353.1707,644.68823 1376.9006,642.82214 1362.6019,629.38502 C 1357.722,615.77507 1349.112,596.42578 1365.5608,586.80732 C 1384.541,575.74506 1394.6894,599.25542 1400.1051,611.32032 C 1398.9907,617.63272 1389.1106,635.48514 1401.404,634.41192 C 1413.3743,639.52316 1418.5455,631.84517 1411.1806,621.42007 C 1405.5681,613.80634 1409.1866,605.72051 1413.6207,617.53459 C 1418.9418,625.96867 1410.3211,591.87473 1418.5981,610.56244 C 1419.8123,609.90142 1423.3305,600.47095 1423.688,611.9527 C 1425.0173,622.38725 1428.2675,619.37152 1430.9161,612.17672 C 1434.0491,621.97072 1430.2978,634.12309 1434.7731,643.22177 C 1449.9279,660.26567 1469.4341,673.70517 1481.0786,693.61147 C 1483.1005,704.21417 1478.731,717.48727 1471.0841,724.34877 C 1374.4648,724.20307 1277.8372,724.75587 1181.224,723.79257 z M 1455.1965,693.09877 C 1449.7389,685.43527 1439.2771,687.73167 1451.6474,693.45447 C 1452.1444,694.17817 1455.238,694.94177 1455.1965,693.09877 z M 1318.1514,671.71397 C 1326.34,655.59568 1302.2616,649.4392 1304.2731,633.07932 C 1303.9936,626.0403 1303.0497,612.64652 1295.8858,625.46256 C 1287.107,632.2499 1304.5643,642.48038 1298.2368,652.57004 C 1300.012,661.49008 1290.9202,673.70597 1306.224,672.69467 C 1310.013,673.91017 1315.3324,675.81437 1318.1514,671.71397 z"
+         style="fill:url(#radialGradient6463);fill-opacity:1.0" />
+    </g>
+  </g>
+  <g
+     id="g2686"
+     inkscape:label="Layer 1"
+     transform="matrix(1,0,0,0.8551852,53.906246,135.77945)"
+     style="fill:url(#radialGradient6289);fill-opacity:1;filter:url(#filter6781)">
+    <g
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="H:\new\rect2273.png"
+       style="fill:url(#radialGradient6461);fill-opacity:1.0"
+       transform="matrix(0.7844778,0,0,0.7844778,-1023.124,-443.46103)"
+       id="g2688">
+      <path
+         sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccsscccccccccccccccccccccccccc"
+         id="path2690"
+         d="M 1181.224,723.79257 C 1199.0901,718.60987 1185.0396,697.72457 1187.3691,684.83127 C 1184.688,666.26335 1171.3704,651.43231 1166.9813,633.26001 C 1160.1207,617.38632 1158.849,599.92929 1153.3602,583.77252 C 1148.7636,571.05526 1143.9694,558.30454 1136.8115,547.14829 C 1128.5489,534.23416 1123.5923,519.2203 1129.3182,503.92685 C 1132.0217,485.7828 1137.0229,468.14408 1139.758,449.9947 C 1147.1751,438.85268 1133.8906,413.77294 1144.9766,408.88718 C 1142.6569,431.31121 1149.9781,411.49517 1156.9042,420.49538 C 1163.9095,414.90467 1162.3914,422.35289 1165.1341,424.4142 C 1171.0661,408.35972 1174.8698,420.56041 1167.9972,429.41733 C 1158.1154,441.97928 1151.3706,461.5574 1152.7012,478.30944 C 1151.2265,485.96869 1154.1129,504.61879 1156.3028,486.18395 C 1158.9392,478.09567 1160.2787,493.25406 1162.4626,493.72715 C 1149.4183,507.35899 1182.8488,491.53847 1169.1093,504.67272 C 1166.0703,513.41577 1149.4599,518.83806 1158.526,528.3426 C 1168.2568,540.01484 1174.4634,555.0484 1186.5999,564.4929 C 1190.7679,563.86303 1203.8036,554.27654 1201.5915,549.09252 C 1197.8442,536.68637 1191.1228,521.94383 1205.0553,510.09744 C 1216.4312,504.07671 1232.7978,494.0759 1243.5494,504.55673 C 1246.6613,520.95199 1254.265,537.76964 1250.3939,554.72426 C 1248.4661,561.95805 1240.3264,580.70989 1254.9838,573.2705 C 1271.4972,566.56068 1275.1832,552.0784 1276.7458,535.84879 C 1279.4894,520.74532 1287.8045,503.8597 1279.1376,489.28238 C 1273.8191,481.68486 1274.1639,470.71136 1281.5231,482.34879 C 1286.0476,477.77342 1287.1139,449.21899 1289.5758,468.75447 C 1291.0788,472.96237 1296.3003,457.53592 1296.8529,471.34617 C 1308.9366,483.16143 1297.2902,498.12169 1298.4281,512.20436 C 1298.4145,519.98988 1293.6444,543.41817 1305.982,528.27346 C 1317.9778,518.59866 1320.579,502.46967 1329.3504,490.31893 C 1337.7237,474.96976 1345.9566,457.63035 1345.2772,439.88738 C 1347.1841,429.39723 1338.239,408.68409 1351.9681,419.34584 C 1351.7099,408.58687 1372.1739,403.35257 1358.9283,415.91499 C 1352.3722,431.19226 1379.9442,395.69031 1370.6096,417.32897 C 1363.9548,422.72554 1365.2976,432.86515 1376.385,420.28147 C 1382.8759,422.22298 1366.3058,440.99887 1364.4973,449.02262 C 1353.2056,469.14576 1350.0496,492.5316 1342.1625,513.96454 C 1336.3527,529.75235 1328.4691,543.59904 1319.8074,557.94366 C 1310.2192,573.82279 1300.026,589.53545 1288.6205,604.10045 C 1279.6747,615.09562 1303.4822,605.24803 1309.6406,610.88682 C 1322.1586,603.01307 1339.0256,609.81366 1341.3848,624.79192 C 1349.9202,631.66381 1338.4258,651.99891 1346.2108,653.04492 C 1353.1707,644.68823 1376.9006,642.82214 1362.6019,629.38502 C 1357.722,615.77507 1349.112,596.42578 1365.5608,586.80732 C 1384.541,575.74506 1394.6894,599.25542 1400.1051,611.32032 C 1398.9907,617.63272 1389.1106,635.48514 1401.404,634.41192 C 1413.3743,639.52316 1418.5455,631.84517 1411.1806,621.42007 C 1405.5681,613.80634 1409.1866,605.72051 1413.6207,617.53459 C 1418.9418,625.96867 1410.3211,591.87473 1418.5981,610.56244 C 1419.8123,609.90142 1423.3305,600.47095 1423.688,611.9527 C 1425.0173,622.38725 1428.2675,619.37152 1430.9161,612.17672 C 1434.0491,621.97072 1430.2978,634.12309 1434.7731,643.22177 C 1449.9279,660.26567 1469.4341,673.70517 1481.0786,693.61147 C 1483.1005,704.21417 1478.731,717.48727 1471.0841,724.34877 C 1374.4648,724.20307 1277.8372,724.75587 1181.224,723.79257 z M 1455.1965,693.09877 C 1449.7389,685.43527 1439.2771,687.73167 1451.6474,693.45447 C 1452.1444,694.17817 1455.238,694.94177 1455.1965,693.09877 z M 1318.1514,671.71397 C 1326.34,655.59568 1302.2616,649.4392 1304.2731,633.07932 C 1303.9936,626.0403 1303.0497,612.64652 1295.8858,625.46256 C 1287.107,632.2499 1304.5643,642.48038 1298.2368,652.57004 C 1300.012,661.49008 1290.9202,673.70597 1306.224,672.69467 C 1310.013,673.91017 1315.3324,675.81437 1318.1514,671.71397 z"
+         style="fill:url(#radialGradient6459);fill-opacity:1.0" />
+    </g>
+  </g>
+  <g
+     id="g2692"
+     inkscape:label="Layer 1"
+     transform="matrix(-0.7704983,0,0,0.8872993,563.32327,145.61496)"
+     style="fill:url(#radialGradient6287);fill-opacity:1;filter:url(#filter6529)">
+    <g
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="H:\new\rect2273.png"
+       style="fill:url(#radialGradient6457);fill-opacity:1.0"
+       transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+       id="g2694">
+      <path
+         sodipodi:nodetypes="cccccccccccccccccccccccccccssccc"
+         id="path2696"
+         d="M 1326.7136,723.79257 C 1308.8475,718.60987 1322.898,697.72457 1320.5685,684.83127 C 1323.2496,666.26335 1336.5672,651.43231 1340.9563,633.26001 C 1347.8169,617.38632 1347.0159,604.07478 1352.5047,587.91801 C 1361.2467,575.89167 1367.4228,568.66827 1371.1261,556.13019 C 1376.625,539.07057 1380.8907,527.51129 1375.1648,512.21784 C 1372.4613,494.07379 1367.4601,476.43507 1364.725,458.28569 C 1357.3079,447.14367 1370.5924,422.06393 1359.5064,417.17817 C 1361.8261,439.6022 1354.5049,419.78616 1347.5788,428.78637 C 1340.5735,423.19566 1342.0916,430.64388 1339.3489,432.70519 C 1333.4169,416.65071 1329.6132,428.8514 1336.4858,437.70832 C 1346.3676,450.27027 1353.1124,469.84839 1351.7818,486.60043 C 1355.3852,518.74824 1355.8198,515.10521 1345.957,536.63359 C 1336.2262,548.30583 1330.7105,562.64847 1318.574,572.09297 C 1314.406,571.4631 1283.4065,595.73147 1306.3461,549.09252 C 1310.0934,536.68637 1316.8148,521.94383 1302.8823,510.09744 C 1291.5064,504.07671 1275.1398,494.0759 1264.3882,504.55673 C 1261.2763,520.95199 1253.6726,537.76964 1257.5437,554.72426 C 1259.4715,561.95805 1267.6112,580.70989 1252.9538,573.2705 C 1230.0238,552.25689 1236.3043,558.74018 1201.9556,528.27346 C 1189.9598,518.59866 1187.3586,502.46967 1178.5872,490.31893 C 1170.2139,474.96976 1161.981,457.63035 1162.6604,439.88738 C 1160.7535,429.39723 1169.6986,408.68409 1155.9695,419.34584 C 1156.2277,408.58687 1135.7637,403.35257 1149.0093,415.91499 C 1155.5654,431.19226 1127.9934,395.69031 1137.328,417.32897 C 1143.9828,422.72554 1142.64,432.86515 1131.5526,420.28147 C 1125.0617,422.22298 1141.6318,440.99887 1143.4403,449.02262 C 1154.732,469.14576 1157.888,492.5316 1165.7751,513.96454 C 1171.5849,529.75235 1179.4685,543.59904 1188.1302,557.94366 C 1197.7184,573.82279 1207.9116,589.53545 1219.3171,604.10045 C 1230.9206,658.44183 1215.0079,686.0741 1203.8726,715.91823 C 1236.4598,732.80965 1210.5013,732.69947 1326.7136,723.79257 z"
+         style="fill:url(#radialGradient6455);fill-opacity:1.0" />
+    </g>
+  </g>
+  <g
+     id="g2698"
+     inkscape:label="Layer 1"
+     transform="matrix(-1,0,0,1,643.14381,132.95368)"
+     style="fill:url(#radialGradient6285);fill-opacity:1;filter:url(#filter6415)">
+    <g
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="H:\new\rect2273.png"
+       style="fill:url(#radialGradient6453);fill-opacity:1.0"
+       transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+       id="g2700">
+      <path
+         sodipodi:nodetypes="cccccccccccccccccccccccccccssccc"
+         id="path2702"
+         d="M 1326.7136,723.79257 C 1308.8475,718.60987 1322.898,697.72457 1320.5685,684.83127 C 1323.2496,666.26335 1336.5672,651.43231 1340.9563,633.26001 C 1347.8169,617.38632 1347.0159,604.07478 1352.5047,587.91801 C 1361.2467,575.89167 1367.4228,568.66827 1371.1261,556.13019 C 1376.625,539.07057 1380.8907,527.51129 1375.1648,512.21784 C 1372.4613,494.07379 1367.4601,476.43507 1364.725,458.28569 C 1357.3079,447.14367 1370.5924,422.06393 1359.5064,417.17817 C 1361.8261,439.6022 1354.5049,419.78616 1347.5788,428.78637 C 1340.5735,423.19566 1342.0916,430.64388 1339.3489,432.70519 C 1333.4169,416.65071 1329.6132,428.8514 1336.4858,437.70832 C 1346.3676,450.27027 1353.1124,469.84839 1351.7818,486.60043 C 1355.3852,518.74824 1355.8198,515.10521 1345.957,536.63359 C 1336.2262,548.30583 1330.7105,562.64847 1318.574,572.09297 C 1314.406,571.4631 1283.4065,595.73147 1306.3461,549.09252 C 1310.0934,536.68637 1316.8148,521.94383 1302.8823,510.09744 C 1291.5064,504.07671 1275.1398,494.0759 1264.3882,504.55673 C 1261.2763,520.95199 1253.6726,537.76964 1257.5437,554.72426 C 1259.4715,561.95805 1267.6112,580.70989 1252.9538,573.2705 C 1230.0238,552.25689 1236.3043,558.74018 1201.9556,528.27346 C 1189.9598,518.59866 1187.3586,502.46967 1178.5872,490.31893 C 1170.2139,474.96976 1161.981,457.63035 1162.6604,439.88738 C 1160.7535,429.39723 1169.6986,408.68409 1155.9695,419.34584 C 1156.2277,408.58687 1135.7637,403.35257 1149.0093,415.91499 C 1155.5654,431.19226 1127.9934,395.69031 1137.328,417.32897 C 1143.9828,422.72554 1142.64,432.86515 1131.5526,420.28147 C 1125.0617,422.22298 1141.6318,440.99887 1143.4403,449.02262 C 1154.732,469.14576 1157.888,492.5316 1165.7751,513.96454 C 1171.5849,529.75235 1179.4685,543.59904 1188.1302,557.94366 C 1197.7184,573.82279 1207.9116,589.53545 1219.3171,604.10045 C 1230.9206,658.44183 1215.0079,686.0741 1203.8726,715.91823 C 1236.4598,732.80965 1210.5013,732.69947 1326.7136,723.79257 z"
+         style="fill:url(#radialGradient6451);fill-opacity:1.0" />
+    </g>
+  </g>
+  <g
+     id="g2704"
+     inkscape:label="Layer 1"
+     transform="matrix(1.0260797,0,0,1.0483003,955.70074,136.49604)"
+     style="fill:url(#radialGradient6283);fill-opacity:1;filter:url(#filter6693)">
+    <g
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="H:\new\rect2273.png"
+       style="fill:url(#radialGradient6449);fill-opacity:1.0"
+       transform="matrix(0.6938009,0,0,0.6938009,-870.0051,-393.95863)"
+       id="g2706">
+      <path
+         sodipodi:nodetypes="cccccccccccccccccccccccccccssccc"
+         id="path2708"
+         d="M 1326.7136,723.79257 C 1308.8475,718.60987 1322.898,697.72457 1320.5685,684.83127 C 1323.2496,666.26335 1336.5672,651.43231 1340.9563,633.26001 C 1347.8169,617.38632 1347.0159,604.07478 1352.5047,587.91801 C 1361.2467,575.89167 1367.4228,568.66827 1371.1261,556.13019 C 1376.625,539.07057 1380.8907,527.51129 1375.1648,512.21784 C 1372.4613,494.07379 1367.4601,476.43507 1364.725,458.28569 C 1357.3079,447.14367 1370.5924,422.06393 1359.5064,417.17817 C 1361.8261,439.6022 1354.5049,419.78616 1347.5788,428.78637 C 1340.5735,423.19566 1342.0916,430.64388 1339.3489,432.70519 C 1333.4169,416.65071 1329.6132,428.8514 1336.4858,437.70832 C 1346.3676,450.27027 1353.1124,469.84839 1351.7818,486.60043 C 1355.3852,518.74824 1355.8198,515.10521 1345.957,536.63359 C 1336.2262,548.30583 1330.7105,562.64847 1318.574,572.09297 C 1314.406,571.4631 1283.4065,595.73147 1306.3461,549.09252 C 1310.0934,536.68637 1316.8148,521.94383 1302.8823,510.09744 C 1291.5064,504.07671 1275.1398,494.0759 1264.3882,504.55673 C 1261.2763,520.95199 1253.6726,537.76964 1257.5437,554.72426 C 1259.4715,561.95805 1267.6112,580.70989 1252.9538,573.2705 C 1230.0238,552.25689 1236.3043,558.74018 1201.9556,528.27346 C 1189.9598,518.59866 1187.3586,502.46967 1178.5872,490.31893 C 1170.2139,474.96976 1161.981,457.63035 1162.6604,439.88738 C 1160.7535,429.39723 1169.6986,408.68409 1155.9695,419.34584 C 1156.2277,408.58687 1135.7637,403.35257 1149.0093,415.91499 C 1155.5654,431.19226 1127.9934,395.69031 1137.328,417.32897 C 1143.9828,422.72554 1142.64,432.86515 1131.5526,420.28147 C 1125.0617,422.22298 1141.6318,440.99887 1143.4403,449.02262 C 1154.732,469.14576 1157.888,492.5316 1165.7751,513.96454 C 1171.5849,529.75235 1179.4685,543.59904 1188.1302,557.94366 C 1197.7184,573.82279 1207.9116,589.53545 1219.3171,604.10045 C 1230.9206,658.44183 1215.0079,686.0741 1203.8726,715.91823 C 1236.4598,732.80965 1210.5013,732.69947 1326.7136,723.79257 z"
+         style="fill:url(#radialGradient6447);fill-opacity:1.0" />
+    </g>
+  </g>
+  <g
+     id="g2710"
+     inkscape:label="Layer 1"
+     transform="matrix(1,0,0,0.9493148,799.19772,126.72296)"
+     style="fill:url(#radialGradient6281);fill-opacity:1;filter:url(#filter6557)">
+    <g
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="H:\new\rect2273.png"
+       style="fill:url(#radialGradient6445);fill-opacity:1.0"
+       transform="matrix(0.7844778,0,0,0.7844778,-1023.124,-443.46103)"
+       id="g2712">
+      <path
+         sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccsscccccccccccccccccccccccccc"
+         id="path2714"
+         d="M 1181.224,723.79257 C 1199.0901,718.60987 1185.0396,697.72457 1187.3691,684.83127 C 1184.688,666.26335 1171.3704,651.43231 1166.9813,633.26001 C 1160.1207,617.38632 1158.849,599.92929 1153.3602,583.77252 C 1148.7636,571.05526 1143.9694,558.30454 1136.8115,547.14829 C 1128.5489,534.23416 1123.5923,519.2203 1129.3182,503.92685 C 1132.0217,485.7828 1137.0229,468.14408 1139.758,449.9947 C 1147.1751,438.85268 1133.8906,413.77294 1144.9766,408.88718 C 1142.6569,431.31121 1149.9781,411.49517 1156.9042,420.49538 C 1163.9095,414.90467 1162.3914,422.35289 1165.1341,424.4142 C 1171.0661,408.35972 1174.8698,420.56041 1167.9972,429.41733 C 1158.1154,441.97928 1151.3706,461.5574 1152.7012,478.30944 C 1151.2265,485.96869 1154.1129,504.61879 1156.3028,486.18395 C 1158.9392,478.09567 1160.2787,493.25406 1162.4626,493.72715 C 1149.4183,507.35899 1182.8488,491.53847 1169.1093,504.67272 C 1166.0703,513.41577 1149.4599,518.83806 1158.526,528.3426 C 1168.2568,540.01484 1174.4634,555.0484 1186.5999,564.4929 C 1190.7679,563.86303 1203.8036,554.27654 1201.5915,549.09252 C 1197.8442,536.68637 1191.1228,521.94383 1205.0553,510.09744 C 1216.4312,504.07671 1232.7978,494.0759 1243.5494,504.55673 C 1246.6613,520.95199 1254.265,537.76964 1250.3939,554.72426 C 1248.4661,561.95805 1240.3264,580.70989 1254.9838,573.2705 C 1271.4972,566.56068 1275.1832,552.0784 1276.7458,535.84879 C 1279.4894,520.74532 1287.8045,503.8597 1279.1376,489.28238 C 1273.8191,481.68486 1274.1639,470.71136 1281.5231,482.34879 C 1286.0476,477.77342 1287.1139,449.21899 1289.5758,468.75447 C 1291.0788,472.96237 1296.3003,457.53592 1296.8529,471.34617 C 1308.9366,483.16143 1297.2902,498.12169 1298.4281,512.20436 C 1298.4145,519.98988 1293.6444,543.41817 1305.982,528.27346 C 1317.9778,518.59866 1320.579,502.46967 1329.3504,490.31893 C 1337.7237,474.96976 1345.9566,457.63035 1345.2772,439.88738 C 1347.1841,429.39723 1338.239,408.68409 1351.9681,419.34584 C 1351.7099,408.58687 1372.1739,403.35257 1358.9283,415.91499 C 1352.3722,431.19226 1379.9442,395.69031 1370.6096,417.32897 C 1363.9548,422.72554 1365.2976,432.86515 1376.385,420.28147 C 1382.8759,422.22298 1366.3058,440.99887 1364.4973,449.02262 C 1353.2056,469.14576 1350.0496,492.5316 1342.1625,513.96454 C 1336.3527,529.75235 1328.4691,543.59904 1319.8074,557.94366 C 1310.2192,573.82279 1300.026,589.53545 1288.6205,604.10045 C 1279.6747,615.09562 1303.4822,605.24803 1309.6406,610.88682 C 1322.1586,603.01307 1339.0256,609.81366 1341.3848,624.79192 C 1349.9202,631.66381 1338.4258,651.99891 1346.2108,653.04492 C 1353.1707,644.68823 1376.9006,642.82214 1362.6019,629.38502 C 1357.722,615.77507 1349.112,596.42578 1365.5608,586.80732 C 1384.541,575.74506 1394.6894,599.25542 1400.1051,611.32032 C 1398.9907,617.63272 1389.1106,635.48514 1401.404,634.41192 C 1413.3743,639.52316 1418.5455,631.84517 1411.1806,621.42007 C 1405.5681,613.80634 1409.1866,605.72051 1413.6207,617.53459 C 1418.9418,625.96867 1410.3211,591.87473 1418.5981,610.56244 C 1419.8123,609.90142 1423.3305,600.47095 1423.688,611.9527 C 1425.0173,622.38725 1428.2675,619.37152 1430.9161,612.17672 C 1434.0491,621.97072 1430.2978,634.12309 1434.7731,643.22177 C 1449.9279,660.26567 1469.4341,673.70517 1481.0786,693.61147 C 1483.1005,704.21417 1478.731,717.48727 1471.0841,724.34877 C 1374.4648,724.20307 1277.8372,724.75587 1181.224,723.79257 z M 1455.1965,693.09877 C 1449.7389,685.43527 1439.2771,687.73167 1451.6474,693.45447 C 1452.1444,694.17817 1455.238,694.94177 1455.1965,693.09877 z M 1318.1514,671.71397 C 1326.34,655.59568 1302.2616,649.4392 1304.2731,633.07932 C 1303.9936,626.0403 1303.0497,612.64652 1295.8858,625.46256 C 1287.107,632.2499 1304.5643,642.48038 1298.2368,652.57004 C 1300.012,661.49008 1290.9202,673.70597 1306.224,672.69467 C 1310.013,673.91017 1315.3324,675.81437 1318.1514,671.71397 z"
+         style="fill:url(#radialGradient6443);fill-opacity:1.0" />
+    </g>
+  </g>
+</svg>
diff --git a/data/themes/default/sing_bg_top.svg b/data/themes/default/sing_bg_top.svg
new file mode 100644 (file)
index 0000000..3cfee81
--- /dev/null
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="1000"
+   height="230"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="sing_bg_top.svg"
+   sodipodi:docbase="/root/USNG/trunk/themes/lima"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata30">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:cy="93.369316"
+     inkscape:cx="498.16821"
+     inkscape:zoom="0.85529109"
+     inkscape:window-height="726"
+     inkscape:window-width="960"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:window-x="179"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg3465"
+     showgrid="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2392"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <defs
+     id="defs3467">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 400 : 1"
+       inkscape:vp_y="6.1230318e-14 : 1000 : 0"
+       inkscape:vp_z="1000 : 400 : 1"
+       inkscape:persp3d-origin="500 : 266.66667 : 1"
+       id="perspective57" />
+    <linearGradient
+       id="linearGradient3667">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3669" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3671" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3667"
+       id="linearGradient2549"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.2504205,1.5212915)"
+       x1="367.87625"
+       y1="131.46724"
+       x2="367.87625"
+       y2="151.18733" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3667"
+       id="linearGradient5768"
+       x1="551.00964"
+       y1="660.33606"
+       x2="551.00964"
+       y2="605.34015"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0140491,0,0,0.8428048,-5.1350533,117.20059)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3667"
+       id="linearGradient3212"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2504205,0,0,1.1424679,-3.6234642e-2,-800.15761)"
+       x1="365.07416"
+       y1="121.63737"
+       x2="365.07416"
+       y2="151.1951" />
+  </defs>
+  <rect
+     id="rect3040"
+     style="fill:url(#linearGradient2549);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:17;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     y="0"
+     x="0"
+     height="230"
+     width="1000.3364" />
+  <g
+     id="g10046"
+     transform="matrix(0.3236326,1.2078137,-1.2078137,0.3236326,300.76337,-154.11351)">
+    <path
+       sodipodi:type="star"
+       style="opacity:0.22790701;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.70000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="path6523"
+       sodipodi:sides="5"
+       sodipodi:cx="141.42136"
+       sodipodi:cy="350.13498"
+       sodipodi:r1="78.688225"
+       sodipodi:r2="45.665279"
+       sodipodi:arg1="1.0612041"
+       sodipodi:arg2="1.6895226"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 179.80715,418.82535 L 136.01242,395.47879 L 87.954791,407.86853 L 96.625376,359.00278 L 69.991407,317.1259 L 119.14486,310.27177 L 150.74179,272.0007 L 172.4497,316.63036 L 218.61165,334.85441 L 182.87443,369.29119 L 179.80715,418.82535 z"
+       transform="matrix(0.76534,5.189341e-2,-5.189341e-2,0.76534,85.64202,-32.57281)" />
+    <path
+       transform="matrix(0.494335,-0.204386,0.204386,0.494335,90.19682,29.75748)"
+       d="M 179.80715,418.82535 L 136.01242,395.47879 L 87.954791,407.86853 L 96.625376,359.00278 L 69.991407,317.1259 L 119.14486,310.27177 L 150.74179,272.0007 L 172.4497,316.63036 L 218.61165,334.85441 L 182.87443,369.29119 L 179.80715,418.82535 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.6895226"
+       sodipodi:arg1="1.0612041"
+       sodipodi:r2="45.665279"
+       sodipodi:r1="78.688225"
+       sodipodi:cy="350.13498"
+       sodipodi:cx="141.42136"
+       sodipodi:sides="5"
+       id="path5574"
+       style="opacity:0.22790701;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.70000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.22790701;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.70000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="path5576"
+       sodipodi:sides="5"
+       sodipodi:cx="141.42136"
+       sodipodi:cy="350.13498"
+       sodipodi:r1="78.688225"
+       sodipodi:r2="45.665279"
+       sodipodi:arg1="1.0612041"
+       sodipodi:arg2="1.6895226"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 179.80715,418.82535 L 136.01242,395.47879 L 87.954791,407.86853 L 96.625376,359.00278 L 69.991407,317.1259 L 119.14486,310.27177 L 150.74179,272.0007 L 172.4497,316.63036 L 218.61165,334.85441 L 182.87443,369.29119 L 179.80715,418.82535 z"
+       transform="matrix(0.430025,1.278809e-2,-1.278809e-2,0.430025,134.5255,-35.15791)" />
+    <path
+       transform="matrix(0.308608,-0.157328,0.157328,0.308608,141.4555,-15.54061)"
+       d="M 179.80715,418.82535 L 136.01242,395.47879 L 87.954791,407.86853 L 96.625376,359.00278 L 69.991407,317.1259 L 119.14486,310.27177 L 150.74179,272.0007 L 172.4497,316.63036 L 218.61165,334.85441 L 182.87443,369.29119 L 179.80715,418.82535 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.6895226"
+       sodipodi:arg1="1.0612041"
+       sodipodi:r2="45.665279"
+       sodipodi:r1="78.688225"
+       sodipodi:cy="350.13498"
+       sodipodi:cx="141.42136"
+       sodipodi:sides="5"
+       id="path5578"
+       style="opacity:0.22790701;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.70000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.22790701;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.70000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="path5580"
+       sodipodi:sides="5"
+       sodipodi:cx="141.42136"
+       sodipodi:cy="350.13498"
+       sodipodi:r1="78.688225"
+       sodipodi:r2="45.665279"
+       sodipodi:arg1="1.0612041"
+       sodipodi:arg2="1.6895226"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 179.80715,418.82535 L 136.01242,395.47879 L 87.954791,407.86853 L 96.625376,359.00278 L 69.991407,317.1259 L 119.14486,310.27177 L 150.74179,272.0007 L 172.4497,316.63036 L 218.61165,334.85441 L 182.87443,369.29119 L 179.80715,418.82535 z"
+       transform="matrix(0.218514,5.453603e-2,-5.453603e-2,0.218514,186.3547,-54.97931)" />
+    <path
+       transform="matrix(0.164046,9.96525e-3,-9.96525e-3,0.164046,210.6113,-58.34981)"
+       d="M 179.80715,418.82535 L 136.01242,395.47879 L 87.954791,407.86853 L 96.625376,359.00278 L 69.991407,317.1259 L 119.14486,310.27177 L 150.74179,272.0007 L 172.4497,316.63036 L 218.61165,334.85441 L 182.87443,369.29119 L 179.80715,418.82535 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.6895226"
+       sodipodi:arg1="1.0612041"
+       sodipodi:r2="45.665279"
+       sodipodi:r1="78.688225"
+       sodipodi:cy="350.13498"
+       sodipodi:cx="141.42136"
+       sodipodi:sides="5"
+       id="path5582"
+       style="opacity:0.22790701;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.70000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       sodipodi:type="star" />
+  </g>
+</svg>
diff --git a/data/themes/default/sing_lyricscurrent.svg b/data/themes/default/sing_lyricscurrent.svg
new file mode 100644 (file)
index 0000000..2abc87b
--- /dev/null
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="800"
+   height="600"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="sing_lyricscurrent.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata19">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="726"
+     inkscape:window-width="922"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.43596296"
+     inkscape:cx="458.84961"
+     inkscape:cy="340.50263"
+     inkscape:window-x="101"
+     inkscape:window-y="100"
+     inkscape:current-layer="svg3465"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs3467">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective9" />
+  </defs>
+  <text
+     sodipodi:linespacing="125%"
+     xml:space="preserve"
+     id="text3481"
+     style="font-size:30px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#eeeeeeff;stroke:#111111ff;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;display:inline;font-family:Goblin"
+     y="527.65424"
+     x="400"><tspan
+       style="font-size:30px;text-align:center;text-anchor:middle;"
+       id="tspan2921"
+       y="527.65424"
+       x="400">lyrics</tspan></text>
+</svg>
diff --git a/data/themes/default/sing_lyricshighlight.svg b/data/themes/default/sing_lyricshighlight.svg
new file mode 100644 (file)
index 0000000..6de27dc
--- /dev/null
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="800"
+   height="600"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="sing_lyricshighlight.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata19">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1145"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.63333333"
+     inkscape:cx="400"
+     inkscape:cy="-74.420971"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:current-layer="layer10"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs3467">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective2388" />
+  </defs>
+  <g
+     id="layer10">
+    <text
+       x="400"
+       y="527.52618"
+       style="font-size:30px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffd100ff;stroke:#620f01ff;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;display:inline;font-family:Goblin"
+       id="text10203"
+       xml:space="preserve"><tspan
+         x="400"
+         y="527.52618"
+         id="tspan10205"
+         style="text-anchor:middle;text-align:center;font-size:30px">lyrics</tspan></text>
+  </g>
+</svg>
diff --git a/data/themes/default/sing_lyricsnext.svg b/data/themes/default/sing_lyricsnext.svg
new file mode 100644 (file)
index 0000000..1618c53
--- /dev/null
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="800"
+   height="600"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="sing_lyricsnext.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata19">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:cy="417.84947"
+     inkscape:cx="305.25953"
+     inkscape:zoom="0.43415836"
+     inkscape:window-height="616"
+     inkscape:window-width="762"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="false"
+     inkscape:window-x="10"
+     inkscape:window-y="97"
+     inkscape:current-layer="svg3465"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs3467">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective2397" />
+  </defs>
+  <g
+     id="layer17">
+    <text
+       x="400"
+       y="575.25488"
+       style="font-size:30px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#d3d7cf;stroke:#000000ff;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;display:inline;font-family:Goblin"
+       id="text6611"
+       xml:space="preserve"><tspan
+         x="400"
+         y="575.25488"
+         id="tspan6613"
+         style="fill:#d3d7cf;text-anchor:middle;text-align:center;font-size:30px">lyrics</tspan></text>
+  </g>
+</svg>
diff --git a/data/themes/default/sing_pause.svg b/data/themes/default/sing_pause.svg
new file mode 100644 (file)
index 0000000..cd1d636
--- /dev/null
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="500"
+   height="400"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   version="1.0"
+   sodipodi:docname="sing_pause.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <inkscape:perspective
+       id="perspective2963"
+       inkscape:persp3d-origin="88 : 58.666667 : 1"
+       inkscape:vp_z="176 : 88 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 88 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.98994949"
+     inkscape:cx="239.68036"
+     inkscape:cy="233.3315"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1313"
+     inkscape:window-height="722"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Calque 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,80)">
+    <rect
+       style="fill:#ffffff;fill-opacity:0.65016503;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="rect2383"
+       width="478.5"
+       height="378.5"
+       x="10.75"
+       y="-69.25"
+       rx="53.877144"
+       ry="55.004662" />
+    <text
+       xml:space="preserve"
+       style="font-size:49.19297028px;font-style:normal;font-weight:normal;text-align:center;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Goblin"
+       x="127.49952"
+       y="10.672979"
+       id="text3179"
+       transform="scale(0.93017475,1.0750668)"><tspan
+         sodipodi:role="line"
+         id="tspan3181"
+         x="127.49952"
+         y="10.672979"
+         style="-inkscape-font-specification:Goblin;font-family:Goblin">QUIT NOW?</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:28px;font-style:normal;font-weight:normal;text-align:center;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Goblin"
+       x="139.50516"
+       y="255.35054"
+       id="text2817"><tspan
+         sodipodi:role="line"
+         x="139.50516"
+         y="255.35054"
+         id="tspan2823"
+         style="-inkscape-font-specification:Goblin;font-family:Goblin">Enter/Start to quit</tspan><tspan
+         sodipodi:role="line"
+         x="139.50516"
+         y="290.35056"
+         id="tspan2821" /></text>
+    <g
+       id="g2966"
+       transform="translate(159.78738,34.3101)">
+      <path
+         id="path2955"
+         d="M 0,87.7 C 0,39.2 39.2,0 87.7,0 l 0,0 v 15 15 c -16,0 -30.3,6.4 -40.8,16.9 l 0,0 C 36.4,57.4 30,71.7 30,87.7 l 0,0 c 0,16 6.4,30.3 16.9,40.8 l 0,0 c 10.5,10.5 24.8,16.9 40.8,16.9 l 0,0 c 16,0 30.3,-6.4 40.8,-16.9 l 0,0 C 139,118 145.4,103.7 145.4,87.7 l 0,0 c 0,-16 -6.4,-30.3 -16.9,-40.8 l 0,0 C 118,36.4 103.6,30 87.7,30 l 0,0 V 15 0 c 48.4,0 87.7,39.2 87.7,87.7 l 0,0 c 0,48.4 -39.2,87.7 -87.7,87.7 l 0,0 C 39.2,175.3 0,136.1 0,87.7 l 0,0 z" />
+      <path
+         id="path2957"
+         d="m 72.7,115.4 v -55 c 0,-8.3 6.7,-15 15,-15 l 0,0 c 8.3,0 15,6.7 15,15 l 0,0 v 55 c 0,8.3 -6.7,15 -15,15 l 0,0 c -8.3,0 -15,-6.8 -15,-15 l 0,0 z" />
+    </g>
+  </g>
+</svg>
diff --git a/data/themes/default/sing_pbox.svg b/data/themes/default/sing_pbox.svg
new file mode 100644 (file)
index 0000000..8c6ac1e
--- /dev/null
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="59.375919"
+   height="63.933247"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="sing_pbox.svg"
+   sodipodi:docbase="/home/jesusda/docs/curro/yo/ultrastar-ng/base/theme-pod/themes/default"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata13361">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:cy="38.708266"
+     inkscape:cx="37.588867"
+     inkscape:zoom="17.799815"
+     inkscape:window-height="1125"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg3465"
+     showgrid="false">
+    <sodipodi:guide
+       orientation="vertical"
+       position="-118.28318"
+       id="guide17996" />
+    <sodipodi:guide
+       orientation="vertical"
+       position="-110.34334"
+       id="guide17998" />
+  </sodipodi:namedview>
+  <defs
+     id="defs3467">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective14" />
+  </defs>
+  <path
+     style="fill:#323232;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+     d="M 25.824924,11.905843 C 12.794899,12.576431 2.359432,23.508941 2.3594227,36.801008 C 2.3594227,50.521855 13.475822,61.725153 27.090222,61.725153 C 40.70463,61.725153 51.821021,50.521855 51.821021,36.801008 C 51.821021,36.547547 51.79979,36.299178 51.792263,36.047488 L 44.545564,36.047488 C 44.556147,36.300872 44.574321,36.544903 44.574321,36.801008 C 44.574321,46.577208 36.790593,54.421799 27.090222,54.421799 C 17.38986,54.421799 9.5773652,46.577208 9.5773652,36.801008 C 9.5773652,27.28092 16.99677,19.577764 26.342546,19.180217 L 26.342546,11.905843 C 26.169803,11.911099 25.996784,11.897 25.824924,11.905843 z"
+     id="path16205" />
+  <path
+     style="fill:#323232;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+     d="M 48.051209,2.432816 C 43.190794,2.432816 39.251646,7.3242706 39.251646,13.339456 C 39.251646,13.483351 39.27593,13.623977 39.280402,13.766525 L 56.850772,13.766525 C 56.855244,13.623977 56.879529,13.483351 56.879529,13.339456 C 56.879529,7.3242726 52.911632,2.4328141 48.051209,2.432816 z"
+     id="path17986" />
+  <path
+     style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+     d="M 39.379856,16.204808 C 39.375373,16.325202 39.351036,16.443972 39.351036,16.565501 C 39.351036,18.958237 40.221147,21.141277 41.656577,22.780497 L 44.394406,33.684488 L 51.858595,33.684488 L 54.538786,22.94697 C 56.068613,21.290663 57.017241,19.039227 57.017241,16.565501 C 57.017241,16.443971 56.992905,16.325203 56.988421,16.204808 L 39.379856,16.204808 z"
+     id="path17991" />
+  <text
+     xml:space="preserve"
+     id="text18005"
+     style="font-size:34.76020813000000231px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.99999996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;font-family:Droid Sans Mono"
+     y="49.370342"
+     x="17.111099"
+     sodipodi:linespacing="100%"
+     transform="scale(0.9961138,1.0039014)"><tspan
+       id="tspan18007"
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.99999996;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       y="49.370342"
+       x="17.111099">P</tspan></text>
+</svg>
diff --git a/data/themes/default/sing_popup_text.svg b/data/themes/default/sing_popup_text.svg
new file mode 100644 (file)
index 0000000..4b5e4e4
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="256"
+   height="128"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="sing_popup_text.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata3075">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="722"
+     inkscape:window-width="1248"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="false"
+     inkscape:zoom="1.3525"
+     inkscape:cx="199.2681"
+     inkscape:cy="91.992898"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg3465"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs3467">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective9" />
+  </defs>
+  <g
+     style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     id="layer15"
+     transform="translate(-32.532348,10.07024)">
+    <text
+       x="47.081493"
+       y="77.530563"
+       style="font-size:70.43302155px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;font-family:Goblin"
+       id="text10199"
+       xml:space="preserve"
+       sodipodi:linespacing="125%"
+       transform="scale(0.98936247,1.0107519)"><tspan
+         x="47.081493"
+         y="77.530563"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.99999988;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="tspan10201">3..2..1</tspan></text>
+  </g>
+</svg>
diff --git a/data/themes/default/sing_progressbg.svg b/data/themes/default/sing_progressbg.svg
new file mode 100644 (file)
index 0000000..5fbb769
--- /dev/null
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="500"
+   height="40"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.47pre0 r21549"
+   sodipodi:docname="sing_progressbg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata13394">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:cy="20"
+     inkscape:cx="384.05366"
+     inkscape:zoom="1.868"
+     inkscape:window-height="722"
+     inkscape:window-width="1022"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.4745098"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#8e8e8e"
+     id="base"
+     inkscape:window-x="250"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg3465"
+     showgrid="false"
+     inkscape:window-maximized="0">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2385"
+       visible="true"
+       enabled="true"
+       empspacing="5"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <defs
+     id="defs3467">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 20 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="500 : 20 : 1"
+       inkscape:persp3d-origin="250 : 13.333333 : 1"
+       id="perspective13" />
+    <linearGradient
+       id="linearGradient2382">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2384" />
+      <stop
+         id="stop2390"
+         offset="0.25"
+         style="stop-color:#a4a4a4;stop-opacity:1;" />
+      <stop
+         style="stop-color:#404040;stop-opacity:1;"
+         offset="1"
+         id="stop2386" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2382"
+       id="linearGradient2388"
+       x1="250.26767"
+       y1="3.1680942"
+       x2="250.26767"
+       y2="37.752678"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <path
+     style="fill:url(#linearGradient2388);fill-opacity:1;fill-rule:nonzero;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;stroke:none;stroke-opacity:1;stroke-width:3;opacity:0.69999999999999996"
+     d="M 484.25269,4.6680942 C 490.90069,4.6680942 496.25269,10.020094 496.25269,16.668094 L 496.25269,24.252677 C 496.25269,30.900677 490.90069,36.252677 484.25269,36.252677 L 4.2826552,36.252677 L 4.2826552,4.6680942 L 484.25269,4.6680942 z"
+     id="rect2380"
+     sodipodi:nodetypes="ccccccc" />
+</svg>
diff --git a/data/themes/default/sing_progressfg.svg b/data/themes/default/sing_progressfg.svg
new file mode 100644 (file)
index 0000000..ac94f55
--- /dev/null
@@ -0,0 +1,6343 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="500"
+   height="40"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.47pre0 r21549"
+   sodipodi:docname="sing_progressfg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata13394">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:cy="20"
+     inkscape:cx="512.7357"
+     inkscape:zoom="1.744"
+     inkscape:window-height="722"
+     inkscape:window-width="960"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:window-x="312"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg3465"
+     showgrid="true"
+     inkscape:window-maximized="0">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2385"
+       visible="true"
+       enabled="true"
+       empspacing="5"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <defs
+     id="defs3467">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 20 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="500 : 20 : 1"
+       inkscape:persp3d-origin="250 : 13.333333 : 1"
+       id="perspective1383" />
+    <linearGradient
+       id="linearGradient2403">
+      <stop
+         style="stop-color:#f9fbf0;stop-opacity:1;"
+         offset="0"
+         id="stop2405" />
+      <stop
+         id="stop2411"
+         offset="0.25"
+         style="stop-color:#c379ff;stop-opacity:1;" />
+      <stop
+         style="stop-color:#272c13;stop-opacity:1;"
+         offset="1"
+         id="stop2407" />
+    </linearGradient>
+    <filter
+       id="filter3238">
+      <feGaussianBlur
+         stdDeviation="0.065319548"
+         id="feGaussianBlur3240" />
+    </filter>
+    <filter
+       id="filter3244">
+      <feGaussianBlur
+         stdDeviation="0.1306391"
+         id="feGaussianBlur3246" />
+    </filter>
+    <filter
+       id="filter3250">
+      <feGaussianBlur
+         stdDeviation="0.19595864"
+         id="feGaussianBlur3252" />
+    </filter>
+    <filter
+       id="filter3256">
+      <feGaussianBlur
+         stdDeviation="0.26127819"
+         id="feGaussianBlur3258" />
+    </filter>
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter3262">
+      <feGaussianBlur
+         stdDeviation="0.32659774"
+         id="feGaussianBlur3264" />
+    </filter>
+    <filter
+       x="-0.144"
+       width="1.288"
+       y="-0.144"
+       height="1.288"
+       id="filter3268">
+      <feGaussianBlur
+         stdDeviation="0.39191729"
+         id="feGaussianBlur3270" />
+    </filter>
+    <filter
+       x="-0.168"
+       width="1.336"
+       y="-0.168"
+       height="1.336"
+       id="filter3274">
+      <feGaussianBlur
+         stdDeviation="0.45723683"
+         id="feGaussianBlur3276" />
+    </filter>
+    <filter
+       x="-0.192"
+       width="1.384"
+       y="-0.192"
+       height="1.384"
+       id="filter3280">
+      <feGaussianBlur
+         stdDeviation="0.52255638"
+         id="feGaussianBlur3282" />
+    </filter>
+    <filter
+       x="-0.216"
+       width="1.432"
+       y="-0.216"
+       height="1.432"
+       id="filter3286">
+      <feGaussianBlur
+         stdDeviation="0.58787593"
+         id="feGaussianBlur3288" />
+    </filter>
+    <filter
+       id="filter3294">
+      <feGaussianBlur
+         stdDeviation="0.1306391"
+         id="feGaussianBlur3296" />
+    </filter>
+    <filter
+       id="filter3300">
+      <feGaussianBlur
+         stdDeviation="0.26127819"
+         id="feGaussianBlur3302" />
+    </filter>
+    <filter
+       x="-0.144"
+       width="1.288"
+       y="-0.144"
+       height="1.288"
+       id="filter3306">
+      <feGaussianBlur
+         stdDeviation="0.39191729"
+         id="feGaussianBlur3308" />
+    </filter>
+    <filter
+       x="-0.192"
+       width="1.384"
+       y="-0.192"
+       height="1.384"
+       id="filter3312">
+      <feGaussianBlur
+         stdDeviation="0.52255638"
+         id="feGaussianBlur3314" />
+    </filter>
+    <filter
+       x="-0.24"
+       width="1.48"
+       y="-0.24"
+       height="1.48"
+       id="filter3318">
+      <feGaussianBlur
+         stdDeviation="0.65319548"
+         id="feGaussianBlur3320" />
+    </filter>
+    <filter
+       x="-0.288"
+       width="1.576"
+       y="-0.288"
+       height="1.576"
+       id="filter3324">
+      <feGaussianBlur
+         stdDeviation="0.78383457"
+         id="feGaussianBlur3326" />
+    </filter>
+    <filter
+       x="-0.336"
+       width="1.672"
+       y="-0.336"
+       height="1.672"
+       id="filter3330">
+      <feGaussianBlur
+         stdDeviation="0.91447367"
+         id="feGaussianBlur3332" />
+    </filter>
+    <filter
+       x="-0.384"
+       width="1.768"
+       y="-0.384"
+       height="1.768"
+       id="filter3336">
+      <feGaussianBlur
+         stdDeviation="1.0451128"
+         id="feGaussianBlur3338" />
+    </filter>
+    <filter
+       x="-0.432"
+       width="1.864"
+       y="-0.432"
+       height="1.864"
+       id="filter3342">
+      <feGaussianBlur
+         stdDeviation="1.1757519"
+         id="feGaussianBlur3344" />
+    </filter>
+    <filter
+       id="filter3348">
+      <feGaussianBlur
+         stdDeviation="0.016100971"
+         id="feGaussianBlur3350" />
+    </filter>
+    <filter
+       id="filter3354">
+      <feGaussianBlur
+         stdDeviation="0.12295691"
+         id="feGaussianBlur3356" />
+    </filter>
+    <filter
+       id="filter3360">
+      <feGaussianBlur
+         stdDeviation="0.20468029"
+         id="feGaussianBlur3362" />
+    </filter>
+    <filter
+       x="-0.12734667"
+       width="1.2546933"
+       y="-0.12734667"
+       height="1.2546933"
+       id="filter3366">
+      <feGaussianBlur
+         stdDeviation="0.34659277"
+         id="feGaussianBlur3368" />
+    </filter>
+    <filter
+       x="-0.17696159"
+       width="1.3539232"
+       y="-0.17696159"
+       height="1.3539232"
+       id="filter3372">
+      <feGaussianBlur
+         stdDeviation="0.48162712"
+         id="feGaussianBlur3374" />
+    </filter>
+    <filter
+       x="-0.2615855"
+       width="1.523171"
+       y="-0.2615855"
+       height="1.523171"
+       id="filter3378">
+      <feGaussianBlur
+         stdDeviation="0.7119436"
+         id="feGaussianBlur3380" />
+    </filter>
+    <filter
+       x="-0.27089858"
+       width="1.5417972"
+       y="-0.27089858"
+       height="1.5417972"
+       id="filter3384">
+      <feGaussianBlur
+         stdDeviation="0.73729053"
+         id="feGaussianBlur3386" />
+    </filter>
+    <filter
+       x="-0.34566025"
+       width="1.6913205"
+       y="-0.34566025"
+       height="1.6913205"
+       id="filter3390">
+      <feGaussianBlur
+         stdDeviation="0.94076547"
+         id="feGaussianBlur3392" />
+    </filter>
+    <filter
+       x="-0.36905274"
+       width="1.7381055"
+       y="-0.36905274"
+       height="1.7381055"
+       id="filter3396">
+      <feGaussianBlur
+         stdDeviation="1.0044316"
+         id="feGaussianBlur3398" />
+    </filter>
+    <filter
+       x="-0.44557215"
+       width="1.8911443"
+       y="-0.44557215"
+       height="1.8911443"
+       id="filter3402">
+      <feGaussianBlur
+         stdDeviation="1.2126905"
+         id="feGaussianBlur3404" />
+    </filter>
+    <filter
+       id="filter3408">
+      <feGaussianBlur
+         stdDeviation="0.0058695606"
+         id="feGaussianBlur3410" />
+    </filter>
+    <filter
+       id="filter3414">
+      <feGaussianBlur
+         stdDeviation="0.094802867"
+         id="feGaussianBlur3416" />
+    </filter>
+    <filter
+       id="filter3420">
+      <feGaussianBlur
+         stdDeviation="0.23013024"
+         id="feGaussianBlur3422" />
+    </filter>
+    <filter
+       x="-0.16110983"
+       width="1.3222197"
+       y="-0.16110983"
+       height="1.3222197"
+       id="filter3426">
+      <feGaussianBlur
+         stdDeviation="0.43848421"
+         id="feGaussianBlur3428" />
+    </filter>
+    <filter
+       x="-0.19001597"
+       width="1.3800319"
+       y="-0.19001597"
+       height="1.3800319"
+       id="filter3432">
+      <feGaussianBlur
+         stdDeviation="0.51715655"
+         id="feGaussianBlur3434" />
+    </filter>
+    <filter
+       x="-0.24963756"
+       width="1.4992751"
+       y="-0.24963756"
+       height="1.4992751"
+       id="filter3438">
+      <feGaussianBlur
+         stdDeviation="0.67942553"
+         id="feGaussianBlur3440" />
+    </filter>
+    <filter
+       x="-0.30495973"
+       width="1.6099195"
+       y="-0.30495973"
+       height="1.6099195"
+       id="filter3444">
+      <feGaussianBlur
+         stdDeviation="0.82999298"
+         id="feGaussianBlur3446" />
+    </filter>
+    <filter
+       x="-0.35848079"
+       width="1.7169616"
+       y="-0.35848079"
+       height="1.7169616"
+       id="filter3450">
+      <feGaussianBlur
+         stdDeviation="0.97565846"
+         id="feGaussianBlur3452" />
+    </filter>
+    <filter
+       x="-0.39967076"
+       width="1.7993415"
+       y="-0.39967076"
+       height="1.7993415"
+       id="filter3456">
+      <feGaussianBlur
+         stdDeviation="1.0877631"
+         id="feGaussianBlur3458" />
+    </filter>
+    <filter
+       x="-0.43950696"
+       width="1.8790139"
+       y="-0.43950696"
+       height="1.8790139"
+       id="filter3462">
+      <feGaussianBlur
+         stdDeviation="1.1961832"
+         id="feGaussianBlur3464" />
+    </filter>
+    <filter
+       id="filter3468">
+      <feGaussianBlur
+         stdDeviation="0.037862217"
+         id="feGaussianBlur3470" />
+    </filter>
+    <filter
+       id="filter3474">
+      <feGaussianBlur
+         stdDeviation="0.092522311"
+         id="feGaussianBlur3476" />
+    </filter>
+    <filter
+       x="-0.11896952"
+       width="1.237939"
+       y="-0.11896952"
+       height="1.237939"
+       id="filter3480">
+      <feGaussianBlur
+         stdDeviation="0.32379313"
+         id="feGaussianBlur3482" />
+    </filter>
+    <filter
+       x="-0.13209167"
+       width="1.2641833"
+       y="-0.13209167"
+       height="1.2641833"
+       id="filter3486">
+      <feGaussianBlur
+         stdDeviation="0.35950701"
+         id="feGaussianBlur3488" />
+    </filter>
+    <filter
+       x="-0.20052982"
+       width="1.4010596"
+       y="-0.20052982"
+       height="1.4010596"
+       id="filter3492">
+      <feGaussianBlur
+         stdDeviation="0.54577154"
+         id="feGaussianBlur3494" />
+    </filter>
+    <filter
+       x="-0.21604349"
+       width="1.432087"
+       y="-0.21604349"
+       height="1.432087"
+       id="filter3498">
+      <feGaussianBlur
+         stdDeviation="0.58799429"
+         id="feGaussianBlur3500" />
+    </filter>
+    <filter
+       x="-0.30274683"
+       width="1.6054937"
+       y="-0.30274683"
+       height="1.6054937"
+       id="filter3504">
+      <feGaussianBlur
+         stdDeviation="0.82397024"
+         id="feGaussianBlur3506" />
+    </filter>
+    <filter
+       x="-0.31279226"
+       width="1.6255845"
+       y="-0.31279226"
+       height="1.6255845"
+       id="filter3510">
+      <feGaussianBlur
+         stdDeviation="0.85131037"
+         id="feGaussianBlur3512" />
+    </filter>
+    <filter
+       x="-0.37510316"
+       width="1.7502063"
+       y="-0.37510316"
+       height="1.7502063"
+       id="filter3516">
+      <feGaussianBlur
+         stdDeviation="1.0208987"
+         id="feGaussianBlur3518" />
+    </filter>
+    <filter
+       x="-0.41353827"
+       width="1.8270765"
+       y="-0.41353827"
+       height="1.8270765"
+       id="filter3522">
+      <feGaussianBlur
+         stdDeviation="1.1255055"
+         id="feGaussianBlur3524" />
+    </filter>
+    <filter
+       id="filter3530">
+      <feGaussianBlur
+         stdDeviation="0.16623526"
+         id="feGaussianBlur3532" />
+    </filter>
+    <filter
+       x="-0.10506134"
+       width="1.2101227"
+       y="-0.10506134"
+       height="1.2101227"
+       id="filter3536">
+      <feGaussianBlur
+         stdDeviation="0.28593998"
+         id="feGaussianBlur3538" />
+    </filter>
+    <filter
+       x="-0.12861052"
+       width="1.257221"
+       y="-0.12861052"
+       height="1.257221"
+       id="filter3542">
+      <feGaussianBlur
+         stdDeviation="0.35003254"
+         id="feGaussianBlur3544" />
+    </filter>
+    <filter
+       x="-0.19883595"
+       width="1.3976719"
+       y="-0.19883595"
+       height="1.3976719"
+       id="filter3548">
+      <feGaussianBlur
+         stdDeviation="0.54116143"
+         id="feGaussianBlur3550" />
+    </filter>
+    <filter
+       x="-0.2409557"
+       width="1.4819114"
+       y="-0.2409557"
+       height="1.4819114"
+       id="filter3554">
+      <feGaussianBlur
+         stdDeviation="0.65579654"
+         id="feGaussianBlur3556" />
+    </filter>
+    <filter
+       x="-0.26879351"
+       width="1.537587"
+       y="-0.26879351"
+       height="1.537587"
+       id="filter3560">
+      <feGaussianBlur
+         stdDeviation="0.73156128"
+         id="feGaussianBlur3562" />
+    </filter>
+    <filter
+       x="-0.35946567"
+       width="1.7189313"
+       y="-0.35946567"
+       height="1.7189313"
+       id="filter3566">
+      <feGaussianBlur
+         stdDeviation="0.97833895"
+         id="feGaussianBlur3568" />
+    </filter>
+    <filter
+       x="-0.38856919"
+       width="1.7771384"
+       y="-0.38856919"
+       height="1.7771384"
+       id="filter3572">
+      <feGaussianBlur
+         stdDeviation="1.0575485"
+         id="feGaussianBlur3574" />
+    </filter>
+    <filter
+       x="-0.43591387"
+       width="1.8718277"
+       y="-0.43591387"
+       height="1.8718277"
+       id="filter3578">
+      <feGaussianBlur
+         stdDeviation="1.186404"
+         id="feGaussianBlur3580" />
+    </filter>
+    <filter
+       id="filter3586">
+      <feGaussianBlur
+         stdDeviation="0.15889766"
+         id="feGaussianBlur3588" />
+    </filter>
+    <filter
+       id="filter3592">
+      <feGaussianBlur
+         stdDeviation="0.24359875"
+         id="feGaussianBlur3594" />
+    </filter>
+    <filter
+       x="-0.12719755"
+       width="1.2543951"
+       y="-0.12719755"
+       height="1.2543951"
+       id="filter3598">
+      <feGaussianBlur
+         stdDeviation="0.34618693"
+         id="feGaussianBlur3600" />
+    </filter>
+    <filter
+       x="-0.18586325"
+       width="1.3717265"
+       y="-0.18586325"
+       height="1.3717265"
+       id="filter3604">
+      <feGaussianBlur
+         stdDeviation="0.50585432"
+         id="feGaussianBlur3606" />
+    </filter>
+    <filter
+       x="-0.23098861"
+       width="1.4619772"
+       y="-0.23098861"
+       height="1.4619772"
+       id="filter3610">
+      <feGaussianBlur
+         stdDeviation="0.62866965"
+         id="feGaussianBlur3612" />
+    </filter>
+    <filter
+       x="-0.29000815"
+       width="1.5800163"
+       y="-0.29000815"
+       height="1.5800163"
+       id="filter3616">
+      <feGaussianBlur
+         stdDeviation="0.78930006"
+         id="feGaussianBlur3618" />
+    </filter>
+    <filter
+       x="-0.32139738"
+       width="1.6427948"
+       y="-0.32139738"
+       height="1.6427948"
+       id="filter3622">
+      <feGaussianBlur
+         stdDeviation="0.87473047"
+         id="feGaussianBlur3624" />
+    </filter>
+    <filter
+       x="-0.38570958"
+       width="1.7714192"
+       y="-0.38570958"
+       height="1.7714192"
+       id="filter3628">
+      <feGaussianBlur
+         stdDeviation="1.0497656"
+         id="feGaussianBlur3630" />
+    </filter>
+    <filter
+       x="-0.4235"
+       width="1.847"
+       y="-0.4235"
+       height="1.847"
+       id="filter3634">
+      <feGaussianBlur
+         stdDeviation="1.1526179"
+         id="feGaussianBlur3636" />
+    </filter>
+    <filter
+       id="filter3642">
+      <feGaussianBlur
+         stdDeviation="0.14855346"
+         id="feGaussianBlur3644" />
+    </filter>
+    <filter
+       x="-0.11320439"
+       width="1.2264088"
+       y="-0.11320439"
+       height="1.2264088"
+       id="filter3648">
+      <feGaussianBlur
+         stdDeviation="0.30810248"
+         id="feGaussianBlur3650" />
+    </filter>
+    <filter
+       x="-0.15350734"
+       width="1.3070147"
+       y="-0.15350734"
+       height="1.3070147"
+       id="filter3654">
+      <feGaussianBlur
+         stdDeviation="0.4177929"
+         id="feGaussianBlur3656" />
+    </filter>
+    <filter
+       x="-0.18690465"
+       width="1.3738093"
+       y="-0.18690465"
+       height="1.3738093"
+       id="filter3660">
+      <feGaussianBlur
+         stdDeviation="0.50868864"
+         id="feGaussianBlur3662" />
+    </filter>
+    <filter
+       x="-0.2426177"
+       width="1.4852354"
+       y="-0.2426177"
+       height="1.4852354"
+       id="filter3666">
+      <feGaussianBlur
+         stdDeviation="0.66031993"
+         id="feGaussianBlur3668" />
+    </filter>
+    <filter
+       x="-0.26952794"
+       width="1.5390559"
+       y="-0.26952794"
+       height="1.5390559"
+       id="filter3672">
+      <feGaussianBlur
+         stdDeviation="0.73356014"
+         id="feGaussianBlur3674" />
+    </filter>
+    <filter
+       x="-0.35780211"
+       width="1.7156042"
+       y="-0.35780211"
+       height="1.7156042"
+       id="filter3678">
+      <feGaussianBlur
+         stdDeviation="0.97381134"
+         id="feGaussianBlur3680" />
+    </filter>
+    <filter
+       x="-0.39091087"
+       width="1.7818217"
+       y="-0.39091087"
+       height="1.7818217"
+       id="filter3684">
+      <feGaussianBlur
+         stdDeviation="1.0639217"
+         id="feGaussianBlur3686" />
+    </filter>
+    <filter
+       x="-0.42711946"
+       width="1.8542389"
+       y="-0.42711946"
+       height="1.8542389"
+       id="filter3690">
+      <feGaussianBlur
+         stdDeviation="1.1624687"
+         id="feGaussianBlur3692" />
+    </filter>
+    <filter
+       id="filter3696">
+      <feGaussianBlur
+         stdDeviation="0.0025130313"
+         id="feGaussianBlur3698" />
+    </filter>
+    <filter
+       id="filter3702">
+      <feGaussianBlur
+         stdDeviation="0.030306293"
+         id="feGaussianBlur3704" />
+    </filter>
+    <filter
+       id="filter3708">
+      <feGaussianBlur
+         stdDeviation="0.041643686"
+         id="feGaussianBlur3710" />
+    </filter>
+    <filter
+       id="filter3714">
+      <feGaussianBlur
+         stdDeviation="0.053741342"
+         id="feGaussianBlur3716" />
+    </filter>
+    <filter
+       id="filter3720">
+      <feGaussianBlur
+         stdDeviation="0.019336084"
+         id="feGaussianBlur3722" />
+    </filter>
+    <filter
+       id="filter3728">
+      <feGaussianBlur
+         stdDeviation="0.027538608"
+         id="feGaussianBlur3730" />
+    </filter>
+    <filter
+       id="filter3734">
+      <feGaussianBlur
+         stdDeviation="0.011980234"
+         id="feGaussianBlur3736" />
+    </filter>
+    <filter
+       id="filter3746">
+      <feGaussianBlur
+         stdDeviation="0.014656308"
+         id="feGaussianBlur3748" />
+    </filter>
+    <filter
+       id="filter3752">
+      <feGaussianBlur
+         stdDeviation="0.042458024"
+         id="feGaussianBlur3754" />
+    </filter>
+    <filter
+       id="filter3760">
+      <feGaussianBlur
+         stdDeviation="0.062609655"
+         id="feGaussianBlur3762" />
+    </filter>
+    <filter
+       id="filter3768">
+      <feGaussianBlur
+         stdDeviation="0.036467731"
+         id="feGaussianBlur3770" />
+    </filter>
+    <filter
+       id="filter3774">
+      <feGaussianBlur
+         stdDeviation="0.01110042"
+         id="feGaussianBlur3776" />
+    </filter>
+    <filter
+       id="filter3782">
+      <feGaussianBlur
+         stdDeviation="0.034789708"
+         id="feGaussianBlur3784" />
+    </filter>
+    <filter
+       id="filter3788">
+      <feGaussianBlur
+         stdDeviation="0.046814356"
+         id="feGaussianBlur3790" />
+    </filter>
+    <filter
+       id="filter3796">
+      <feGaussianBlur
+         stdDeviation="0.0065951182"
+         id="feGaussianBlur3798" />
+    </filter>
+    <filter
+       id="filter3802">
+      <feGaussianBlur
+         stdDeviation="0.039575814"
+         id="feGaussianBlur3804" />
+    </filter>
+    <filter
+       id="filter3810">
+      <feGaussianBlur
+         stdDeviation="0.012845602"
+         id="feGaussianBlur3812" />
+    </filter>
+    <filter
+       id="filter3822">
+      <feGaussianBlur
+         stdDeviation="0.037223405"
+         id="feGaussianBlur3824" />
+    </filter>
+    <filter
+       id="filter3832">
+      <feGaussianBlur
+         stdDeviation="0.036069328"
+         id="feGaussianBlur3834" />
+    </filter>
+    <filter
+       id="filter3838">
+      <feGaussianBlur
+         stdDeviation="0.011604354"
+         id="feGaussianBlur3840" />
+    </filter>
+    <filter
+       id="filter3846">
+      <feGaussianBlur
+         stdDeviation="0.050664069"
+         id="feGaussianBlur3848" />
+    </filter>
+    <filter
+       id="filter3852">
+      <feGaussianBlur
+         stdDeviation="0.057634159"
+         id="feGaussianBlur3854" />
+    </filter>
+    <filter
+       id="filter3858">
+      <feGaussianBlur
+         stdDeviation="0.09241646"
+         id="feGaussianBlur3860" />
+    </filter>
+    <filter
+       id="filter3864">
+      <feGaussianBlur
+         stdDeviation="0.11148776"
+         id="feGaussianBlur3866" />
+    </filter>
+    <filter
+       id="filter3870">
+      <feGaussianBlur
+         stdDeviation="0.19170749"
+         id="feGaussianBlur3872" />
+    </filter>
+    <filter
+       id="filter3876">
+      <feGaussianBlur
+         stdDeviation="0.14382612"
+         id="feGaussianBlur3878" />
+    </filter>
+    <filter
+       id="filter3882">
+      <feGaussianBlur
+         stdDeviation="0.12959385"
+         id="feGaussianBlur3884" />
+    </filter>
+    <filter
+       id="filter3888">
+      <feGaussianBlur
+         stdDeviation="0.095568269"
+         id="feGaussianBlur3890" />
+    </filter>
+    <filter
+       id="filter3894">
+      <feGaussianBlur
+         stdDeviation="0.092541076"
+         id="feGaussianBlur3896" />
+    </filter>
+    <filter
+       id="filter3900">
+      <feGaussianBlur
+         stdDeviation="0.082877444"
+         id="feGaussianBlur3902" />
+    </filter>
+    <filter
+       id="filter3906">
+      <feGaussianBlur
+         stdDeviation="0.10108857"
+         id="feGaussianBlur3908" />
+    </filter>
+    <filter
+       id="filter3912">
+      <feGaussianBlur
+         stdDeviation="0.18823146"
+         id="feGaussianBlur3914" />
+    </filter>
+    <filter
+       id="filter3918">
+      <feGaussianBlur
+         stdDeviation="0.18802618"
+         id="feGaussianBlur3920" />
+    </filter>
+    <filter
+       id="filter3924">
+      <feGaussianBlur
+         stdDeviation="0.15128426"
+         id="feGaussianBlur3926" />
+    </filter>
+    <filter
+       id="filter3930">
+      <feGaussianBlur
+         stdDeviation="0.11362967"
+         id="feGaussianBlur3932" />
+    </filter>
+    <filter
+       id="filter3936">
+      <feGaussianBlur
+         stdDeviation="0.11237512"
+         id="feGaussianBlur3938" />
+    </filter>
+    <filter
+       id="filter3942">
+      <feGaussianBlur
+         stdDeviation="0.16972173"
+         id="feGaussianBlur3944" />
+    </filter>
+    <filter
+       id="filter3948">
+      <feGaussianBlur
+         stdDeviation="0.11464002"
+         id="feGaussianBlur3950" />
+    </filter>
+    <filter
+       id="filter3954">
+      <feGaussianBlur
+         stdDeviation="0.12702098"
+         id="feGaussianBlur3956" />
+    </filter>
+    <filter
+       id="filter3960">
+      <feGaussianBlur
+         stdDeviation="0.15175032"
+         id="feGaussianBlur3962" />
+    </filter>
+    <filter
+       id="filter3966">
+      <feGaussianBlur
+         stdDeviation="0.099671626"
+         id="feGaussianBlur3968" />
+    </filter>
+    <filter
+       id="filter3972">
+      <feGaussianBlur
+         stdDeviation="0.12162902"
+         id="feGaussianBlur3974" />
+    </filter>
+    <filter
+       id="filter3978">
+      <feGaussianBlur
+         stdDeviation="0.14496786"
+         id="feGaussianBlur3980" />
+    </filter>
+    <filter
+       id="filter3984">
+      <feGaussianBlur
+         stdDeviation="0.12788032"
+         id="feGaussianBlur3986" />
+    </filter>
+    <filter
+       id="filter3990">
+      <feGaussianBlur
+         stdDeviation="0.18945703"
+         id="feGaussianBlur3992" />
+    </filter>
+    <filter
+       id="filter3996">
+      <feGaussianBlur
+         stdDeviation="0.089071601"
+         id="feGaussianBlur3998" />
+    </filter>
+    <filter
+       id="filter4002">
+      <feGaussianBlur
+         stdDeviation="0.083169844"
+         id="feGaussianBlur4004" />
+    </filter>
+    <filter
+       id="filter4008">
+      <feGaussianBlur
+         stdDeviation="0.17416514"
+         id="feGaussianBlur4010" />
+    </filter>
+    <filter
+       id="filter4014">
+      <feGaussianBlur
+         stdDeviation="0.1082853"
+         id="feGaussianBlur4016" />
+    </filter>
+    <filter
+       id="filter4020">
+      <feGaussianBlur
+         stdDeviation="0.1621304"
+         id="feGaussianBlur4022" />
+    </filter>
+    <filter
+       id="filter4026">
+      <feGaussianBlur
+         stdDeviation="0.079451294"
+         id="feGaussianBlur4028" />
+    </filter>
+    <filter
+       id="filter4032">
+      <feGaussianBlur
+         stdDeviation="0.17703656"
+         id="feGaussianBlur4034" />
+    </filter>
+    <filter
+       id="filter4038">
+      <feGaussianBlur
+         stdDeviation="0.098025244"
+         id="feGaussianBlur4040" />
+    </filter>
+    <filter
+       id="filter4044">
+      <feGaussianBlur
+         stdDeviation="0.14845643"
+         id="feGaussianBlur4046" />
+    </filter>
+    <filter
+       id="filter4050">
+      <feGaussianBlur
+         stdDeviation="0.0731429"
+         id="feGaussianBlur4052" />
+    </filter>
+    <filter
+       id="filter4056">
+      <feGaussianBlur
+         stdDeviation="0.07459914"
+         id="feGaussianBlur4058" />
+    </filter>
+    <filter
+       id="filter4062">
+      <feGaussianBlur
+         stdDeviation="0.19529029"
+         id="feGaussianBlur4064" />
+    </filter>
+    <filter
+       id="filter4068">
+      <feGaussianBlur
+         stdDeviation="0.19070701"
+         id="feGaussianBlur4070" />
+    </filter>
+    <filter
+       id="filter4074">
+      <feGaussianBlur
+         stdDeviation="0.098566893"
+         id="feGaussianBlur4076" />
+    </filter>
+    <filter
+       id="filter4084">
+      <feGaussianBlur
+         stdDeviation="0.089230872"
+         id="feGaussianBlur4086" />
+    </filter>
+    <filter
+       id="filter4090">
+      <feGaussianBlur
+         stdDeviation="0.096409182"
+         id="feGaussianBlur4092" />
+    </filter>
+    <filter
+       id="filter4096">
+      <feGaussianBlur
+         stdDeviation="0.25146046"
+         id="feGaussianBlur4098" />
+    </filter>
+    <filter
+       id="filter4102">
+      <feGaussianBlur
+         stdDeviation="0.20135046"
+         id="feGaussianBlur4104" />
+    </filter>
+    <filter
+       x="-0.13916724"
+       width="1.2783345"
+       y="-0.13916724"
+       height="1.2783345"
+       id="filter4108">
+      <feGaussianBlur
+         stdDeviation="0.37876421"
+         id="feGaussianBlur4110" />
+    </filter>
+    <filter
+       x="-0.13306715"
+       width="1.2661343"
+       y="-0.13306715"
+       height="1.2661343"
+       id="filter4114">
+      <feGaussianBlur
+         stdDeviation="0.36216191"
+         id="feGaussianBlur4116" />
+    </filter>
+    <filter
+       x="-0.20670517"
+       width="1.4134103"
+       y="-0.20670517"
+       height="1.4134103"
+       id="filter4120">
+      <feGaussianBlur
+         stdDeviation="0.56257867"
+         id="feGaussianBlur4122" />
+    </filter>
+    <filter
+       x="-0.18020422"
+       width="1.3604084"
+       y="-0.18020422"
+       height="1.3604084"
+       id="filter4126">
+      <feGaussianBlur
+         stdDeviation="0.49045243"
+         id="feGaussianBlur4128" />
+    </filter>
+    <filter
+       x="-0.24330299"
+       width="1.486606"
+       y="-0.24330299"
+       height="1.486606"
+       id="filter4132">
+      <feGaussianBlur
+         stdDeviation="0.66218504"
+         id="feGaussianBlur4134" />
+    </filter>
+    <filter
+       x="-0.22830934"
+       width="1.4566187"
+       y="-0.22830934"
+       height="1.4566187"
+       id="filter4138">
+      <feGaussianBlur
+         stdDeviation="0.62137763"
+         id="feGaussianBlur4140" />
+    </filter>
+    <filter
+       x="-0.27706333"
+       width="1.5541267"
+       y="-0.27706333"
+       height="1.5541267"
+       id="filter4144">
+      <feGaussianBlur
+         stdDeviation="0.75406882"
+         id="feGaussianBlur4146" />
+    </filter>
+    <filter
+       x="-0.27553757"
+       width="1.5510751"
+       y="-0.27553757"
+       height="1.5510751"
+       id="filter4150">
+      <feGaussianBlur
+         stdDeviation="0.74991622"
+         id="feGaussianBlur4152" />
+    </filter>
+    <filter
+       x="-0.34308911"
+       width="1.6861782"
+       y="-0.34308911"
+       height="1.6861782"
+       id="filter4156">
+      <feGaussianBlur
+         stdDeviation="0.93376772"
+         id="feGaussianBlur4158" />
+    </filter>
+    <filter
+       x="-0.3349122"
+       width="1.6698244"
+       y="-0.3349122"
+       height="1.6698244"
+       id="filter4162">
+      <feGaussianBlur
+         stdDeviation="0.91151305"
+         id="feGaussianBlur4164" />
+    </filter>
+    <filter
+       x="-0.36139917"
+       width="1.7227983"
+       y="-0.36139917"
+       height="1.7227983"
+       id="filter4168">
+      <feGaussianBlur
+         stdDeviation="0.98360125"
+         id="feGaussianBlur4170" />
+    </filter>
+    <filter
+       x="-0.40340122"
+       width="1.8068024"
+       y="-0.40340122"
+       height="1.8068024"
+       id="filter4174">
+      <feGaussianBlur
+         stdDeviation="1.0979161"
+         id="feGaussianBlur4176" />
+    </filter>
+    <filter
+       x="-0.43055346"
+       width="1.8611069"
+       y="-0.43055346"
+       height="1.8611069"
+       id="filter4180">
+      <feGaussianBlur
+         stdDeviation="1.1718149"
+         id="feGaussianBlur4182" />
+    </filter>
+    <filter
+       x="-0.42024881"
+       width="1.8404976"
+       y="-0.42024881"
+       height="1.8404976"
+       id="filter4186">
+      <feGaussianBlur
+         stdDeviation="1.1437693"
+         id="feGaussianBlur4188" />
+    </filter>
+    <filter
+       x="-0.46258698"
+       width="1.925174"
+       y="-0.46258698"
+       height="1.925174"
+       id="filter4192">
+      <feGaussianBlur
+         stdDeviation="1.2589988"
+         id="feGaussianBlur4194" />
+    </filter>
+    <filter
+       x="-0.48890042"
+       width="1.9778008"
+       y="-0.48890042"
+       height="1.9778008"
+       id="filter4198">
+      <feGaussianBlur
+         stdDeviation="1.3306148"
+         id="feGaussianBlur4200" />
+    </filter>
+    <filter
+       x="-0.52896512"
+       width="2.0579302"
+       y="-0.52896512"
+       height="2.0579302"
+       id="filter4204">
+      <feGaussianBlur
+         stdDeviation="1.4396568"
+         id="feGaussianBlur4206" />
+    </filter>
+    <filter
+       x="-0.50763412"
+       width="2.0152682"
+       y="-0.50763412"
+       height="2.0152682"
+       id="filter4210">
+      <feGaussianBlur
+         stdDeviation="1.3816013"
+         id="feGaussianBlur4212" />
+    </filter>
+    <filter
+       x="-0.55778624"
+       width="2.1155725"
+       y="-0.55778624"
+       height="2.1155725"
+       id="filter4216">
+      <feGaussianBlur
+         stdDeviation="1.5180977"
+         id="feGaussianBlur4218" />
+    </filter>
+    <filter
+       x="-0.57883381"
+       width="2.1576676"
+       y="-0.57883381"
+       height="2.1576676"
+       id="filter4222">
+      <feGaussianBlur
+         stdDeviation="1.5753818"
+         id="feGaussianBlur4224" />
+    </filter>
+    <filter
+       x="-0.64235606"
+       width="2.2847121"
+       y="-0.64235606"
+       height="2.2847121"
+       id="filter4228">
+      <feGaussianBlur
+         stdDeviation="1.748267"
+         id="feGaussianBlur4230" />
+    </filter>
+    <filter
+       x="-0.63339319"
+       width="2.2667864"
+       y="-0.63339319"
+       height="2.2667864"
+       id="filter4234">
+      <feGaussianBlur
+         stdDeviation="1.7238732"
+         id="feGaussianBlur4236" />
+    </filter>
+    <filter
+       x="-0.65576071"
+       width="2.3115214"
+       y="-0.65576071"
+       height="2.3115214"
+       id="filter4240">
+      <feGaussianBlur
+         stdDeviation="1.7847497"
+         id="feGaussianBlur4242" />
+    </filter>
+    <filter
+       x="-0.68369688"
+       width="2.3673938"
+       y="-0.68369688"
+       height="2.3673938"
+       id="filter4246">
+      <feGaussianBlur
+         stdDeviation="1.8607821"
+         id="feGaussianBlur4248" />
+    </filter>
+    <filter
+       x="-0.69638685"
+       width="2.3927737"
+       y="-0.69638685"
+       height="2.3927737"
+       id="filter4252">
+      <feGaussianBlur
+         stdDeviation="1.8953197"
+         id="feGaussianBlur4254" />
+    </filter>
+    <filter
+       x="-0.72525579"
+       width="2.4505116"
+       y="-0.72525579"
+       height="2.4505116"
+       id="filter4258">
+      <feGaussianBlur
+         stdDeviation="1.9738908"
+         id="feGaussianBlur4260" />
+    </filter>
+    <filter
+       id="filter4264">
+      <feGaussianBlur
+         stdDeviation="0.034680434"
+         id="feGaussianBlur4266" />
+    </filter>
+    <filter
+       x="-0.11297701"
+       width="1.225954"
+       y="-0.11297701"
+       height="1.225954"
+       id="filter4270">
+      <feGaussianBlur
+         stdDeviation="0.30748365"
+         id="feGaussianBlur4272" />
+    </filter>
+    <filter
+       x="-0.22957316"
+       width="1.4591463"
+       y="-0.22957316"
+       height="1.4591463"
+       id="filter4276">
+      <feGaussianBlur
+         stdDeviation="0.6248173"
+         id="feGaussianBlur4278" />
+    </filter>
+    <filter
+       id="filter4282">
+      <feGaussianBlur
+         stdDeviation="0.044224069"
+         id="feGaussianBlur4284" />
+    </filter>
+    <filter
+       id="filter4288">
+      <feGaussianBlur
+         stdDeviation="0.19195257"
+         id="feGaussianBlur4290" />
+    </filter>
+    <filter
+       x="-0.11241407"
+       width="1.2248281"
+       y="-0.11241407"
+       height="1.2248281"
+       id="filter4294">
+      <feGaussianBlur
+         stdDeviation="0.30595151"
+         id="feGaussianBlur4296" />
+    </filter>
+    <filter
+       x="-0.1211947"
+       width="1.2423894"
+       y="-0.1211947"
+       height="1.2423894"
+       id="filter4300">
+      <feGaussianBlur
+         stdDeviation="0.3298493"
+         id="feGaussianBlur4302" />
+    </filter>
+    <filter
+       x="-0.1786772"
+       width="1.3573544"
+       y="-0.1786772"
+       height="1.3573544"
+       id="filter4306">
+      <feGaussianBlur
+         stdDeviation="0.48629641"
+         id="feGaussianBlur4308" />
+    </filter>
+    <filter
+       x="-0.23906237"
+       width="1.4781247"
+       y="-0.23906237"
+       height="1.4781247"
+       id="filter4312">
+      <feGaussianBlur
+         stdDeviation="0.65064357"
+         id="feGaussianBlur4314" />
+    </filter>
+    <filter
+       x="-0.27745368"
+       width="1.5549074"
+       y="-0.27745368"
+       height="1.5549074"
+       id="filter4318">
+      <feGaussianBlur
+         stdDeviation="0.7551312"
+         id="feGaussianBlur4320" />
+    </filter>
+    <filter
+       id="filter4324">
+      <feGaussianBlur
+         stdDeviation="0.044895378"
+         id="feGaussianBlur4326" />
+    </filter>
+    <filter
+       id="filter4330">
+      <feGaussianBlur
+         stdDeviation="0.16513667"
+         id="feGaussianBlur4332" />
+    </filter>
+    <filter
+       x="-0.10720606"
+       width="1.2144121"
+       y="-0.10720606"
+       height="1.2144121"
+       id="filter4336">
+      <feGaussianBlur
+         stdDeviation="0.29177714"
+         id="feGaussianBlur4338" />
+    </filter>
+    <filter
+       x="-0.15838918"
+       width="1.3167784"
+       y="-0.15838918"
+       height="1.3167784"
+       id="filter4342">
+      <feGaussianBlur
+         stdDeviation="0.43107955"
+         id="feGaussianBlur4344" />
+    </filter>
+    <filter
+       x="-0.17001974"
+       width="1.3400395"
+       y="-0.17001974"
+       height="1.3400395"
+       id="filter4348">
+      <feGaussianBlur
+         stdDeviation="0.46273386"
+         id="feGaussianBlur4350" />
+    </filter>
+    <filter
+       x="-0.25167186"
+       width="1.5033437"
+       y="-0.25167186"
+       height="1.5033437"
+       id="filter4354">
+      <feGaussianBlur
+         stdDeviation="0.68496216"
+         id="feGaussianBlur4356" />
+    </filter>
+    <filter
+       x="-0.267254"
+       width="1.534508"
+       y="-0.267254"
+       height="1.534508"
+       id="filter4360">
+      <feGaussianBlur
+         stdDeviation="0.72737128"
+         id="feGaussianBlur4362" />
+    </filter>
+    <filter
+       x="-0.33158342"
+       width="1.6631668"
+       y="-0.33158342"
+       height="1.6631668"
+       id="filter4366">
+      <feGaussianBlur
+         stdDeviation="0.90245328"
+         id="feGaussianBlur4368" />
+    </filter>
+    <filter
+       x="-0.36609217"
+       width="1.7321843"
+       y="-0.36609217"
+       height="1.7321843"
+       id="filter4372">
+      <feGaussianBlur
+         stdDeviation="0.99637396"
+         id="feGaussianBlur4374" />
+    </filter>
+    <filter
+       x="-0.42796274"
+       width="1.8559255"
+       y="-0.42796274"
+       height="1.8559255"
+       id="filter4378">
+      <feGaussianBlur
+         stdDeviation="1.1647639"
+         id="feGaussianBlur4380" />
+    </filter>
+    <filter
+       x="-0.46923011"
+       width="1.9384602"
+       y="-0.46923011"
+       height="1.9384602"
+       id="filter4384">
+      <feGaussianBlur
+         stdDeviation="1.2770791"
+         id="feGaussianBlur4386" />
+    </filter>
+    <filter
+       x="-0.50640947"
+       width="2.0128189"
+       y="-0.50640947"
+       height="2.0128189"
+       id="filter4390">
+      <feGaussianBlur
+         stdDeviation="1.3782682"
+         id="feGaussianBlur4392" />
+    </filter>
+    <filter
+       id="filter4398">
+      <feGaussianBlur
+         stdDeviation="0.17426681"
+         id="feGaussianBlur4400" />
+    </filter>
+    <filter
+       id="filter4404">
+      <feGaussianBlur
+         stdDeviation="0.20695621"
+         id="feGaussianBlur4406" />
+    </filter>
+    <filter
+       x="-0.12453349"
+       width="1.249067"
+       y="-0.12453349"
+       height="1.249067"
+       id="filter4410">
+      <feGaussianBlur
+         stdDeviation="0.3389363"
+         id="feGaussianBlur4412" />
+    </filter>
+    <filter
+       x="-0.21439888"
+       width="1.4287978"
+       y="-0.21439888"
+       height="1.4287978"
+       id="filter4416">
+      <feGaussianBlur
+         stdDeviation="0.58351825"
+         id="feGaussianBlur4418" />
+    </filter>
+    <filter
+       x="-0.22219737"
+       width="1.4443947"
+       y="-0.22219737"
+       height="1.4443947"
+       id="filter4422">
+      <feGaussianBlur
+         stdDeviation="0.60474299"
+         id="feGaussianBlur4424" />
+    </filter>
+    <filter
+       x="-0.28352954"
+       width="1.5670591"
+       y="-0.28352954"
+       height="1.5670591"
+       id="filter4428">
+      <feGaussianBlur
+         stdDeviation="0.77166757"
+         id="feGaussianBlur4430" />
+    </filter>
+    <filter
+       x="-0.33932692"
+       width="1.6786538"
+       y="-0.33932692"
+       height="1.6786538"
+       id="filter4434">
+      <feGaussianBlur
+         stdDeviation="0.92352837"
+         id="feGaussianBlur4436" />
+    </filter>
+    <filter
+       x="-0.37341844"
+       width="1.7468369"
+       y="-0.37341844"
+       height="1.7468369"
+       id="filter4440">
+      <feGaussianBlur
+         stdDeviation="1.0163135"
+         id="feGaussianBlur4442" />
+    </filter>
+    <filter
+       x="-0.45418671"
+       width="1.9083734"
+       y="-0.45418671"
+       height="1.9083734"
+       id="filter4446">
+      <feGaussianBlur
+         stdDeviation="1.2361363"
+         id="feGaussianBlur4448" />
+    </filter>
+    <filter
+       x="-0.49428011"
+       width="1.9885602"
+       y="-0.49428011"
+       height="1.9885602"
+       id="filter4452">
+      <feGaussianBlur
+         stdDeviation="1.3452564"
+         id="feGaussianBlur4454" />
+    </filter>
+    <filter
+       x="-0.50507958"
+       width="2.0101592"
+       y="-0.50507958"
+       height="2.0101592"
+       id="filter4458">
+      <feGaussianBlur
+         stdDeviation="1.3746487"
+         id="feGaussianBlur4460" />
+    </filter>
+    <filter
+       x="-0.62152089"
+       width="2.2430418"
+       y="-0.62152089"
+       height="2.2430418"
+       id="filter4464">
+      <feGaussianBlur
+         stdDeviation="1.691561"
+         id="feGaussianBlur4466" />
+    </filter>
+    <filter
+       id="filter4472">
+      <feGaussianBlur
+         stdDeviation="0.10453632"
+         id="feGaussianBlur4474" />
+    </filter>
+    <filter
+       x="-0.11349907"
+       width="1.2269981"
+       y="-0.11349907"
+       height="1.2269981"
+       id="filter4478">
+      <feGaussianBlur
+         stdDeviation="0.30890451"
+         id="feGaussianBlur4480" />
+    </filter>
+    <filter
+       x="-0.14892072"
+       width="1.2978414"
+       y="-0.14892072"
+       height="1.2978414"
+       id="filter4484">
+      <feGaussianBlur
+         stdDeviation="0.40530974"
+         id="feGaussianBlur4486" />
+    </filter>
+    <filter
+       x="-0.1916642"
+       width="1.3833284"
+       y="-0.1916642"
+       height="1.3833284"
+       id="filter4490">
+      <feGaussianBlur
+         stdDeviation="0.52164246"
+         id="feGaussianBlur4492" />
+    </filter>
+    <filter
+       x="-0.21627814"
+       width="1.4325563"
+       y="-0.21627814"
+       height="1.4325563"
+       id="filter4496">
+      <feGaussianBlur
+         stdDeviation="0.58863293"
+         id="feGaussianBlur4498" />
+    </filter>
+    <filter
+       x="-0.28472778"
+       width="1.5694556"
+       y="-0.28472778"
+       height="1.5694556"
+       id="filter4502">
+      <feGaussianBlur
+         stdDeviation="0.77492875"
+         id="feGaussianBlur4504" />
+    </filter>
+    <filter
+       x="-0.3422242"
+       width="1.6844484"
+       y="-0.3422242"
+       height="1.6844484"
+       id="filter4508">
+      <feGaussianBlur
+         stdDeviation="0.93141376"
+         id="feGaussianBlur4510" />
+    </filter>
+    <filter
+       x="-0.36766771"
+       width="1.7353354"
+       y="-0.36766771"
+       height="1.7353354"
+       id="filter4514">
+      <feGaussianBlur
+         stdDeviation="1.000662"
+         id="feGaussianBlur4516" />
+    </filter>
+    <filter
+       x="-0.41660377"
+       width="1.8332075"
+       y="-0.41660377"
+       height="1.8332075"
+       id="filter4520">
+      <feGaussianBlur
+         stdDeviation="1.1338487"
+         id="feGaussianBlur4522" />
+    </filter>
+    <filter
+       x="-0.47618939"
+       width="1.9523788"
+       y="-0.47618939"
+       height="1.9523788"
+       id="filter4526">
+      <feGaussianBlur
+         stdDeviation="1.2960198"
+         id="feGaussianBlur4528" />
+    </filter>
+    <filter
+       x="-0.53310171"
+       width="2.0662034"
+       y="-0.53310171"
+       height="2.0662034"
+       id="filter4532">
+      <feGaussianBlur
+         stdDeviation="1.4509151"
+         id="feGaussianBlur4534" />
+    </filter>
+    <filter
+       x="-0.59997276"
+       width="2.1999455"
+       y="-0.59997276"
+       height="2.1999455"
+       id="filter4538">
+      <feGaussianBlur
+         stdDeviation="1.6329145"
+         id="feGaussianBlur4540" />
+    </filter>
+    <filter
+       id="filter4544">
+      <feGaussianBlur
+         stdDeviation="0.039304547"
+         id="feGaussianBlur4546" />
+    </filter>
+    <filter
+       id="filter4550">
+      <feGaussianBlur
+         stdDeviation="0.076149485"
+         id="feGaussianBlur4552" />
+    </filter>
+    <filter
+       id="filter4556">
+      <feGaussianBlur
+         stdDeviation="0.25570443"
+         id="feGaussianBlur4558" />
+    </filter>
+    <filter
+       x="-0.16335574"
+       width="1.3267115"
+       y="-0.16335574"
+       height="1.3267115"
+       id="filter4562">
+      <feGaussianBlur
+         stdDeviation="0.4445968"
+         id="feGaussianBlur4564" />
+    </filter>
+    <filter
+       x="-0.21579389"
+       width="1.4315878"
+       y="-0.21579389"
+       height="1.4315878"
+       id="filter4568">
+      <feGaussianBlur
+         stdDeviation="0.58731498"
+         id="feGaussianBlur4570" />
+    </filter>
+    <filter
+       x="-0.21950715"
+       width="1.4390143"
+       y="-0.21950715"
+       height="1.4390143"
+       id="filter4574">
+      <feGaussianBlur
+         stdDeviation="0.59742115"
+         id="feGaussianBlur4576" />
+    </filter>
+    <filter
+       x="-0.30035485"
+       width="1.6007097"
+       y="-0.30035485"
+       height="1.6007097"
+       id="filter4580">
+      <feGaussianBlur
+         stdDeviation="0.81746013"
+         id="feGaussianBlur4582" />
+    </filter>
+    <filter
+       x="-0.3512889"
+       width="1.7025778"
+       y="-0.3512889"
+       height="1.7025778"
+       id="filter4586">
+      <feGaussianBlur
+         stdDeviation="0.95608466"
+         id="feGaussianBlur4588" />
+    </filter>
+    <filter
+       x="-0.3972534"
+       width="1.7945068"
+       y="-0.3972534"
+       height="1.7945068"
+       id="filter4592">
+      <feGaussianBlur
+         stdDeviation="1.0811839"
+         id="feGaussianBlur4594" />
+    </filter>
+    <filter
+       x="-0.43123736"
+       width="1.8624747"
+       y="-0.43123736"
+       height="1.8624747"
+       id="filter4598">
+      <feGaussianBlur
+         stdDeviation="1.1736762"
+         id="feGaussianBlur4600" />
+    </filter>
+    <filter
+       x="-0.45863873"
+       width="1.9172775"
+       y="-0.45863873"
+       height="1.9172775"
+       id="filter4604">
+      <feGaussianBlur
+         stdDeviation="1.2482531"
+         id="feGaussianBlur4606" />
+    </filter>
+    <filter
+       x="-0.52975784"
+       width="2.0595157"
+       y="-0.52975784"
+       height="2.0595157"
+       id="filter4610">
+      <feGaussianBlur
+         stdDeviation="1.4418143"
+         id="feGaussianBlur4612" />
+    </filter>
+    <filter
+       id="filter4618">
+      <feGaussianBlur
+         stdDeviation="0.13866498"
+         id="feGaussianBlur4620" />
+    </filter>
+    <filter
+       id="filter4624">
+      <feGaussianBlur
+         stdDeviation="0.22698549"
+         id="feGaussianBlur4626" />
+    </filter>
+    <filter
+       x="-0.14005551"
+       width="1.280111"
+       y="-0.14005551"
+       height="1.280111"
+       id="filter4630">
+      <feGaussianBlur
+         stdDeviation="0.38118177"
+         id="feGaussianBlur4632" />
+    </filter>
+    <filter
+       x="-0.18402733"
+       width="1.3680547"
+       y="-0.18402733"
+       height="1.3680547"
+       id="filter4636">
+      <feGaussianBlur
+         stdDeviation="0.50085759"
+         id="feGaussianBlur4638" />
+    </filter>
+    <filter
+       x="-0.24011992"
+       width="1.4802398"
+       y="-0.24011992"
+       height="1.4802398"
+       id="filter4642">
+      <feGaussianBlur
+         stdDeviation="0.65352186"
+         id="feGaussianBlur4644" />
+    </filter>
+    <filter
+       x="-0.26466253"
+       width="1.5293251"
+       y="-0.26466253"
+       height="1.5293251"
+       id="filter4648">
+      <feGaussianBlur
+         stdDeviation="0.72031819"
+         id="feGaussianBlur4650" />
+    </filter>
+    <filter
+       x="-0.35128942"
+       width="1.7025788"
+       y="-0.35128942"
+       height="1.7025788"
+       id="filter4654">
+      <feGaussianBlur
+         stdDeviation="0.95608608"
+         id="feGaussianBlur4656" />
+    </filter>
+    <filter
+       x="-0.38661167"
+       width="1.7732233"
+       y="-0.38661167"
+       height="1.7732233"
+       id="filter4660">
+      <feGaussianBlur
+         stdDeviation="1.0522208"
+         id="feGaussianBlur4662" />
+    </filter>
+    <filter
+       x="-0.42591019"
+       width="1.8518204"
+       y="-0.42591019"
+       height="1.8518204"
+       id="filter4666">
+      <feGaussianBlur
+         stdDeviation="1.1591776"
+         id="feGaussianBlur4668" />
+    </filter>
+    <filter
+       x="-0.48898656"
+       width="1.9779731"
+       y="-0.48898656"
+       height="1.9779731"
+       id="filter4672">
+      <feGaussianBlur
+         stdDeviation="1.3308492"
+         id="feGaussianBlur4674" />
+    </filter>
+    <filter
+       x="-0.51718517"
+       width="2.0343703"
+       y="-0.51718517"
+       height="2.0343703"
+       id="filter4678">
+      <feGaussianBlur
+         stdDeviation="1.4075959"
+         id="feGaussianBlur4680" />
+    </filter>
+    <filter
+       id="filter4684">
+      <feGaussianBlur
+         stdDeviation="0.02770413"
+         id="feGaussianBlur4686" />
+    </filter>
+    <filter
+       id="filter4690">
+      <feGaussianBlur
+         stdDeviation="0.16484802"
+         id="feGaussianBlur4692" />
+    </filter>
+    <filter
+       x="-0.11950933"
+       width="1.2390187"
+       y="-0.11950933"
+       height="1.2390187"
+       id="filter4696">
+      <feGaussianBlur
+         stdDeviation="0.3252623"
+         id="feGaussianBlur4698" />
+    </filter>
+    <filter
+       x="-0.16372041"
+       width="1.3274408"
+       y="-0.16372041"
+       height="1.3274408"
+       id="filter4702">
+      <feGaussianBlur
+         stdDeviation="0.44558929"
+         id="feGaussianBlur4704" />
+    </filter>
+    <filter
+       x="-0.21350999"
+       width="1.42702"
+       y="-0.21350999"
+       height="1.42702"
+       id="filter4708">
+      <feGaussianBlur
+         stdDeviation="0.58109899"
+         id="feGaussianBlur4710" />
+    </filter>
+    <filter
+       x="-0.23795555"
+       width="1.4759111"
+       y="-0.23795555"
+       height="1.4759111"
+       id="filter4714">
+      <feGaussianBlur
+         stdDeviation="0.64763119"
+         id="feGaussianBlur4716" />
+    </filter>
+    <filter
+       x="-0.30613573"
+       width="1.6122715"
+       y="-0.30613573"
+       height="1.6122715"
+       id="filter4720">
+      <feGaussianBlur
+         stdDeviation="0.83319365"
+         id="feGaussianBlur4722" />
+    </filter>
+    <filter
+       x="-0.34147808"
+       width="1.6829562"
+       y="-0.34147808"
+       height="1.6829562"
+       id="filter4726">
+      <feGaussianBlur
+         stdDeviation="0.92938307"
+         id="feGaussianBlur4728" />
+    </filter>
+    <filter
+       x="-0.36392297"
+       width="1.7278459"
+       y="-0.36392297"
+       height="1.7278459"
+       id="filter4732">
+      <feGaussianBlur
+         stdDeviation="0.99047016"
+         id="feGaussianBlur4734" />
+    </filter>
+    <filter
+       x="-0.41394345"
+       width="1.8278869"
+       y="-0.41394345"
+       height="1.8278869"
+       id="filter4738">
+      <feGaussianBlur
+         stdDeviation="1.1266083"
+         id="feGaussianBlur4740" />
+    </filter>
+    <filter
+       x="-0.47322939"
+       width="1.9464588"
+       y="-0.47322939"
+       height="1.9464588"
+       id="filter4744">
+      <feGaussianBlur
+         stdDeviation="1.2879637"
+         id="feGaussianBlur4746" />
+    </filter>
+    <filter
+       x="-0.52612452"
+       width="2.052249"
+       y="-0.52612452"
+       height="2.052249"
+       id="filter4750">
+      <feGaussianBlur
+         stdDeviation="1.4319256"
+         id="feGaussianBlur4752" />
+    </filter>
+    <filter
+       x="-0.63714375"
+       width="2.2742875"
+       y="-0.63714375"
+       height="2.2742875"
+       id="filter4756">
+      <feGaussianBlur
+         stdDeviation="1.7340809"
+         id="feGaussianBlur4758" />
+    </filter>
+    <filter
+       id="filter4762">
+      <feGaussianBlur
+         stdDeviation="0.050140689"
+         id="feGaussianBlur4764" />
+    </filter>
+    <filter
+       id="filter4768">
+      <feGaussianBlur
+         stdDeviation="0.16502112"
+         id="feGaussianBlur4770" />
+    </filter>
+    <filter
+       id="filter4774">
+      <feGaussianBlur
+         stdDeviation="0.26536165"
+         id="feGaussianBlur4776" />
+    </filter>
+    <filter
+       x="-0.16123556"
+       width="1.3224711"
+       y="-0.16123556"
+       height="1.3224711"
+       id="filter4780">
+      <feGaussianBlur
+         stdDeviation="0.43882641"
+         id="feGaussianBlur4782" />
+    </filter>
+    <filter
+       x="-0.16855596"
+       width="1.3371119"
+       y="-0.16855596"
+       height="1.3371119"
+       id="filter4786">
+      <feGaussianBlur
+         stdDeviation="0.45874995"
+         id="feGaussianBlur4788" />
+    </filter>
+    <filter
+       x="-0.26058865"
+       width="1.5211773"
+       y="-0.26058865"
+       height="1.5211773"
+       id="filter4792">
+      <feGaussianBlur
+         stdDeviation="0.70923054"
+         id="feGaussianBlur4794" />
+    </filter>
+    <filter
+       x="-0.27111149"
+       width="1.542223"
+       y="-0.27111149"
+       height="1.542223"
+       id="filter4798">
+      <feGaussianBlur
+         stdDeviation="0.73787001"
+         id="feGaussianBlur4800" />
+    </filter>
+    <filter
+       x="-0.34126693"
+       width="1.6825339"
+       y="-0.34126693"
+       height="1.6825339"
+       id="filter4804">
+      <feGaussianBlur
+         stdDeviation="0.92880839"
+         id="feGaussianBlur4806" />
+    </filter>
+    <filter
+       x="-0.37664924"
+       width="1.7532985"
+       y="-0.37664924"
+       height="1.7532985"
+       id="filter4810">
+      <feGaussianBlur
+         stdDeviation="1.0251066"
+         id="feGaussianBlur4812" />
+    </filter>
+    <filter
+       x="-0.42212308"
+       width="1.8442462"
+       y="-0.42212308"
+       height="1.8442462"
+       id="filter4816">
+      <feGaussianBlur
+         stdDeviation="1.1488704"
+         id="feGaussianBlur4818" />
+    </filter>
+    <filter
+       x="-0.54796313"
+       width="2.0959263"
+       y="-0.54796313"
+       height="2.0959263"
+       id="filter4822">
+      <feGaussianBlur
+         stdDeviation="1.4913626"
+         id="feGaussianBlur4824" />
+    </filter>
+    <filter
+       x="-0.61144477"
+       width="2.2228895"
+       y="-0.61144477"
+       height="2.2228895"
+       id="filter4828">
+      <feGaussianBlur
+         stdDeviation="1.6641373"
+         id="feGaussianBlur4830" />
+    </filter>
+    <filter
+       id="filter4836">
+      <feGaussianBlur
+         stdDeviation="0.14138356"
+         id="feGaussianBlur4838" />
+    </filter>
+    <filter
+       id="filter4842">
+      <feGaussianBlur
+         stdDeviation="0.21300944"
+         id="feGaussianBlur4844" />
+    </filter>
+    <filter
+       x="-0.16566398"
+       width="1.331328"
+       y="-0.16566398"
+       height="1.331328"
+       id="filter4848">
+      <feGaussianBlur
+         stdDeviation="0.450879"
+         id="feGaussianBlur4850" />
+    </filter>
+    <filter
+       x="-0.17854326"
+       width="1.3570865"
+       y="-0.17854326"
+       height="1.3570865"
+       id="filter4854">
+      <feGaussianBlur
+         stdDeviation="0.48593187"
+         id="feGaussianBlur4856" />
+    </filter>
+    <filter
+       x="-0.26394315"
+       width="1.5278863"
+       y="-0.26394315"
+       height="1.5278863"
+       id="filter4860">
+      <feGaussianBlur
+         stdDeviation="0.71836031"
+         id="feGaussianBlur4862" />
+    </filter>
+    <filter
+       x="-0.28286261"
+       width="1.5657252"
+       y="-0.28286261"
+       height="1.5657252"
+       id="filter4866">
+      <feGaussianBlur
+         stdDeviation="0.76985241"
+         id="feGaussianBlur4868" />
+    </filter>
+    <filter
+       x="-0.35806459"
+       width="1.7161292"
+       y="-0.35806459"
+       height="1.7161292"
+       id="filter4872">
+      <feGaussianBlur
+         stdDeviation="0.97452571"
+         id="feGaussianBlur4874" />
+    </filter>
+    <filter
+       x="-0.36446966"
+       width="1.7289393"
+       y="-0.36446966"
+       height="1.7289393"
+       id="filter4878">
+      <feGaussianBlur
+         stdDeviation="0.99195806"
+         id="feGaussianBlur4880" />
+    </filter>
+    <filter
+       x="-0.41216202"
+       width="1.824324"
+       y="-0.41216202"
+       height="1.824324"
+       id="filter4884">
+      <feGaussianBlur
+         stdDeviation="1.1217599"
+         id="feGaussianBlur4886" />
+    </filter>
+    <filter
+       x="-0.51496336"
+       width="2.0299267"
+       y="-0.51496336"
+       height="2.0299267"
+       id="filter4890">
+      <feGaussianBlur
+         stdDeviation="1.4015489"
+         id="feGaussianBlur4892" />
+    </filter>
+    <filter
+       x="-0.57460021"
+       width="2.1492004"
+       y="-0.57460021"
+       height="2.1492004"
+       id="filter4896">
+      <feGaussianBlur
+         stdDeviation="1.5638594"
+         id="feGaussianBlur4898" />
+    </filter>
+    <filter
+       id="filter4902">
+      <feGaussianBlur
+         stdDeviation="0.0013317619"
+         id="feGaussianBlur4904" />
+    </filter>
+    <filter
+       id="filter4908">
+      <feGaussianBlur
+         stdDeviation="0.17993542"
+         id="feGaussianBlur4910" />
+    </filter>
+    <filter
+       id="filter4914">
+      <feGaussianBlur
+         stdDeviation="0.22234618"
+         id="feGaussianBlur4916" />
+    </filter>
+    <filter
+       x="-0.13154667"
+       width="1.2630933"
+       y="-0.13154667"
+       height="1.2630933"
+       id="filter4920">
+      <feGaussianBlur
+         stdDeviation="0.3580237"
+         id="feGaussianBlur4922" />
+    </filter>
+    <filter
+       x="-0.19450341"
+       width="1.3890068"
+       y="-0.19450341"
+       height="1.3890068"
+       id="filter4926">
+      <feGaussianBlur
+         stdDeviation="0.52936977"
+         id="feGaussianBlur4928" />
+    </filter>
+    <filter
+       x="-0.25316937"
+       width="1.5063387"
+       y="-0.25316937"
+       height="1.5063387"
+       id="filter4932">
+      <feGaussianBlur
+         stdDeviation="0.68903787"
+         id="feGaussianBlur4934" />
+    </filter>
+    <filter
+       x="-0.26844285"
+       width="1.5368857"
+       y="-0.26844285"
+       height="1.5368857"
+       id="filter4938">
+      <feGaussianBlur
+         stdDeviation="0.73060691"
+         id="feGaussianBlur4940" />
+    </filter>
+    <filter
+       x="-0.31303411"
+       width="1.6260682"
+       y="-0.31303411"
+       height="1.6260682"
+       id="filter4944">
+      <feGaussianBlur
+         stdDeviation="0.85196861"
+         id="feGaussianBlur4946" />
+    </filter>
+    <filter
+       x="-0.37922017"
+       width="1.7584403"
+       y="-0.37922017"
+       height="1.7584403"
+       id="filter4950">
+      <feGaussianBlur
+         stdDeviation="1.0321037"
+         id="feGaussianBlur4952" />
+    </filter>
+    <filter
+       x="-0.45238806"
+       width="1.9047761"
+       y="-0.45238806"
+       height="1.9047761"
+       id="filter4956">
+      <feGaussianBlur
+         stdDeviation="1.231241"
+         id="feGaussianBlur4958" />
+    </filter>
+    <filter
+       x="-0.49715436"
+       width="1.9943087"
+       y="-0.49715436"
+       height="1.9943087"
+       id="filter4962">
+      <feGaussianBlur
+         stdDeviation="1.3530791"
+         id="feGaussianBlur4964" />
+    </filter>
+    <filter
+       x="-0.51654396"
+       width="2.0330879"
+       y="-0.51654396"
+       height="2.0330879"
+       id="filter4968">
+      <feGaussianBlur
+         stdDeviation="1.4058507"
+         id="feGaussianBlur4970" />
+    </filter>
+    <filter
+       x="-0.59793803"
+       width="2.1958761"
+       y="-0.59793803"
+       height="2.1958761"
+       id="filter4974">
+      <feGaussianBlur
+         stdDeviation="1.6273767"
+         id="feGaussianBlur4976" />
+    </filter>
+    <filter
+       x="-0.62197601"
+       width="2.243952"
+       y="-0.62197601"
+       height="2.243952"
+       id="filter4980">
+      <feGaussianBlur
+         stdDeviation="1.6927997"
+         id="feGaussianBlur4982" />
+    </filter>
+    <filter
+       x="-0.68659262"
+       width="2.3731852"
+       y="-0.68659262"
+       height="2.3731852"
+       id="filter4986">
+      <feGaussianBlur
+         stdDeviation="1.8686633"
+         id="feGaussianBlur4988" />
+    </filter>
+    <filter
+       id="filter4994">
+      <feGaussianBlur
+         stdDeviation="0.18558608"
+         id="feGaussianBlur4996" />
+    </filter>
+    <filter
+       id="filter5000">
+      <feGaussianBlur
+         stdDeviation="0.23596101"
+         id="feGaussianBlur5002" />
+    </filter>
+    <filter
+       x="-0.16091065"
+       width="1.3218213"
+       y="-0.16091065"
+       height="1.3218213"
+       id="filter5006">
+      <feGaussianBlur
+         stdDeviation="0.43794211"
+         id="feGaussianBlur5008" />
+    </filter>
+    <filter
+       x="-0.20955819"
+       width="1.4191164"
+       y="-0.20955819"
+       height="1.4191164"
+       id="filter5012">
+      <feGaussianBlur
+         stdDeviation="0.57034358"
+         id="feGaussianBlur5014" />
+    </filter>
+    <filter
+       x="-0.26085608"
+       width="1.5217122"
+       y="-0.26085608"
+       height="1.5217122"
+       id="filter5018">
+      <feGaussianBlur
+         stdDeviation="0.70995837"
+         id="feGaussianBlur5020" />
+    </filter>
+    <filter
+       x="-0.30604953"
+       width="1.6120991"
+       y="-0.30604953"
+       height="1.6120991"
+       id="filter5024">
+      <feGaussianBlur
+         stdDeviation="0.83295903"
+         id="feGaussianBlur5026" />
+    </filter>
+    <filter
+       x="-0.33957928"
+       width="1.6791586"
+       y="-0.33957928"
+       height="1.6791586"
+       id="filter5030">
+      <feGaussianBlur
+         stdDeviation="0.92421522"
+         id="feGaussianBlur5032" />
+    </filter>
+    <filter
+       x="-0.40447062"
+       width="1.8089412"
+       y="-0.40447062"
+       height="1.8089412"
+       id="filter5036">
+      <feGaussianBlur
+         stdDeviation="1.1008266"
+         id="feGaussianBlur5038" />
+    </filter>
+    <filter
+       x="-0.4379643"
+       width="1.8759286"
+       y="-0.4379643"
+       height="1.8759286"
+       id="filter5042">
+      <feGaussianBlur
+         stdDeviation="1.1919846"
+         id="feGaussianBlur5044" />
+    </filter>
+    <filter
+       x="-0.45773017"
+       width="1.9154603"
+       y="-0.45773017"
+       height="1.9154603"
+       id="filter5048">
+      <feGaussianBlur
+         stdDeviation="1.2457803"
+         id="feGaussianBlur5050" />
+    </filter>
+    <filter
+       x="-0.50957661"
+       width="2.0191532"
+       y="-0.50957661"
+       height="2.0191532"
+       id="filter5054">
+      <feGaussianBlur
+         stdDeviation="1.3868881"
+         id="feGaussianBlur5056" />
+    </filter>
+    <filter
+       x="-0.58042361"
+       width="2.1608472"
+       y="-0.58042361"
+       height="2.1608472"
+       id="filter5060">
+      <feGaussianBlur
+         stdDeviation="1.5797087"
+         id="feGaussianBlur5062" />
+    </filter>
+    <filter
+       x="-0.62967944"
+       width="2.2593589"
+       y="-0.62967944"
+       height="2.2593589"
+       id="filter5066">
+      <feGaussianBlur
+         stdDeviation="1.7137657"
+         id="feGaussianBlur5068" />
+    </filter>
+    <filter
+       x="-0.74144341"
+       width="2.4828868"
+       y="-0.74144341"
+       height="2.4828868"
+       id="filter5072">
+      <feGaussianBlur
+         stdDeviation="2.0179479"
+         id="feGaussianBlur5074" />
+    </filter>
+    <filter
+       id="filter5080">
+      <feGaussianBlur
+         stdDeviation="0.17029257"
+         id="feGaussianBlur5082" />
+    </filter>
+    <filter
+       x="-0.11567812"
+       width="1.2313562"
+       y="-0.11567812"
+       height="1.2313562"
+       id="filter5086">
+      <feGaussianBlur
+         stdDeviation="0.3148351"
+         id="feGaussianBlur5088" />
+    </filter>
+    <filter
+       x="-0.15034645"
+       width="1.3006929"
+       y="-0.15034645"
+       height="1.3006929"
+       id="filter5092">
+      <feGaussianBlur
+         stdDeviation="0.40919008"
+         id="feGaussianBlur5094" />
+    </filter>
+    <filter
+       x="-0.1730106"
+       width="1.3460212"
+       y="-0.1730106"
+       height="1.3460212"
+       id="filter5098">
+      <feGaussianBlur
+         stdDeviation="0.47087391"
+         id="feGaussianBlur5100" />
+    </filter>
+    <filter
+       x="-0.24966288"
+       width="1.4993258"
+       y="-0.24966288"
+       height="1.4993258"
+       id="filter5104">
+      <feGaussianBlur
+         stdDeviation="0.67949444"
+         id="feGaussianBlur5106" />
+    </filter>
+    <filter
+       x="-0.27470021"
+       width="1.5494004"
+       y="-0.27470021"
+       height="1.5494004"
+       id="filter5110">
+      <feGaussianBlur
+         stdDeviation="0.74763723"
+         id="feGaussianBlur5112" />
+    </filter>
+    <filter
+       x="-0.33193051"
+       width="1.663861"
+       y="-0.33193051"
+       height="1.663861"
+       id="filter5116">
+      <feGaussianBlur
+         stdDeviation="0.90339795"
+         id="feGaussianBlur5118" />
+    </filter>
+    <filter
+       x="-0.37834318"
+       width="1.7566864"
+       y="-0.37834318"
+       height="1.7566864"
+       id="filter5122">
+      <feGaussianBlur
+         stdDeviation="1.0297169"
+         id="feGaussianBlur5124" />
+    </filter>
+    <filter
+       x="-0.42757149"
+       width="1.855143"
+       y="-0.42757149"
+       height="1.855143"
+       id="filter5128">
+      <feGaussianBlur
+         stdDeviation="1.163699"
+         id="feGaussianBlur5130" />
+    </filter>
+    <filter
+       x="-0.45836088"
+       width="1.9167218"
+       y="-0.45836088"
+       height="1.9167218"
+       id="filter5134">
+      <feGaussianBlur
+         stdDeviation="1.2474969"
+         id="feGaussianBlur5136" />
+    </filter>
+    <filter
+       x="-0.53482938"
+       width="2.0696588"
+       y="-0.53482938"
+       height="2.0696588"
+       id="filter5140">
+      <feGaussianBlur
+         stdDeviation="1.4556172"
+         id="feGaussianBlur5142" />
+    </filter>
+    <filter
+       x="-0.55211873"
+       width="2.1042375"
+       y="-0.55211873"
+       height="2.1042375"
+       id="filter5146">
+      <feGaussianBlur
+         stdDeviation="1.5026727"
+         id="feGaussianBlur5148" />
+    </filter>
+    <filter
+       id="filter5152">
+      <feGaussianBlur
+         stdDeviation="0.035280871"
+         id="feGaussianBlur5154" />
+    </filter>
+    <filter
+       id="filter5158">
+      <feGaussianBlur
+         stdDeviation="0.13696103"
+         id="feGaussianBlur5160" />
+    </filter>
+    <filter
+       id="filter5164">
+      <feGaussianBlur
+         stdDeviation="0.19666941"
+         id="feGaussianBlur5166" />
+    </filter>
+    <filter
+       x="-0.13237757"
+       width="1.2647551"
+       y="-0.13237757"
+       height="1.2647551"
+       id="filter5170">
+      <feGaussianBlur
+         stdDeviation="0.36028513"
+         id="feGaussianBlur5172" />
+    </filter>
+    <filter
+       x="-0.17811526"
+       width="1.3562305"
+       y="-0.17811526"
+       height="1.3562305"
+       id="filter5176">
+      <feGaussianBlur
+         stdDeviation="0.48476701"
+         id="feGaussianBlur5178" />
+    </filter>
+    <filter
+       x="-0.21755012"
+       width="1.4351002"
+       y="-0.21755012"
+       height="1.4351002"
+       id="filter5182">
+      <feGaussianBlur
+         stdDeviation="0.59209481"
+         id="feGaussianBlur5184" />
+    </filter>
+    <filter
+       x="-0.28877711"
+       width="1.5775542"
+       y="-0.28877711"
+       height="1.5775542"
+       id="filter5188">
+      <feGaussianBlur
+         stdDeviation="0.78594958"
+         id="feGaussianBlur5190" />
+    </filter>
+    <filter
+       x="-0.31668856"
+       width="1.6333771"
+       y="-0.31668856"
+       height="1.6333771"
+       id="filter5194">
+      <feGaussianBlur
+         stdDeviation="0.86191473"
+         id="feGaussianBlur5196" />
+    </filter>
+    <filter
+       x="-0.38432137"
+       width="1.7686427"
+       y="-0.38432137"
+       height="1.7686427"
+       id="filter5200">
+      <feGaussianBlur
+         stdDeviation="1.0459874"
+         id="feGaussianBlur5202" />
+    </filter>
+    <filter
+       x="-0.41358611"
+       width="1.8271722"
+       y="-0.41358611"
+       height="1.8271722"
+       id="filter5206">
+      <feGaussianBlur
+         stdDeviation="1.1256357"
+         id="feGaussianBlur5208" />
+    </filter>
+    <filter
+       x="-0.50195004"
+       width="2.0039001"
+       y="-0.50195004"
+       height="2.0039001"
+       id="filter5212">
+      <feGaussianBlur
+         stdDeviation="1.3661312"
+         id="feGaussianBlur5214" />
+    </filter>
+    <filter
+       x="-0.50617579"
+       width="2.0123516"
+       y="-0.50617579"
+       height="2.0123516"
+       id="filter5218">
+      <feGaussianBlur
+         stdDeviation="1.3776322"
+         id="feGaussianBlur5220" />
+    </filter>
+    <filter
+       x="-0.57016796"
+       width="2.1403359"
+       y="-0.57016796"
+       height="2.1403359"
+       id="filter5224">
+      <feGaussianBlur
+         stdDeviation="1.5517964"
+         id="feGaussianBlur5226" />
+    </filter>
+    <filter
+       x="-0.63365438"
+       width="2.2673088"
+       y="-0.63365438"
+       height="2.2673088"
+       id="filter5230">
+      <feGaussianBlur
+         stdDeviation="1.7245841"
+         id="feGaussianBlur5232" />
+    </filter>
+    <filter
+       x="-0.65428753"
+       width="2.3085751"
+       y="-0.65428753"
+       height="2.3085751"
+       id="filter5236">
+      <feGaussianBlur
+         stdDeviation="1.7807402"
+         id="feGaussianBlur5238" />
+    </filter>
+    <filter
+       x="-0.69856106"
+       width="2.3971221"
+       y="-0.69856106"
+       height="2.3971221"
+       id="filter5242">
+      <feGaussianBlur
+         stdDeviation="1.9012372"
+         id="feGaussianBlur5244" />
+    </filter>
+    <filter
+       x="-0.75819736"
+       width="2.5163947"
+       y="-0.75819736"
+       height="2.5163947"
+       id="filter5248">
+      <feGaussianBlur
+         stdDeviation="2.0635462"
+         id="feGaussianBlur5250" />
+    </filter>
+    <filter
+       x="-0.81891541"
+       width="2.6378308"
+       y="-0.81891541"
+       height="2.6378308"
+       id="filter5254">
+      <feGaussianBlur
+         stdDeviation="2.2287993"
+         id="feGaussianBlur5256" />
+    </filter>
+    <filter
+       x="-0.86442673"
+       width="2.7288535"
+       y="-0.86442673"
+       height="2.7288535"
+       id="filter5260">
+      <feGaussianBlur
+         stdDeviation="2.3526651"
+         id="feGaussianBlur5262" />
+    </filter>
+    <filter
+       x="-0.89497776"
+       width="2.7899555"
+       y="-0.89497776"
+       height="2.7899555"
+       id="filter5266">
+      <feGaussianBlur
+         stdDeviation="2.4358143"
+         id="feGaussianBlur5268" />
+    </filter>
+    <filter
+       id="filter5272">
+      <feGaussianBlur
+         stdDeviation="0.021919463"
+         id="feGaussianBlur5274" />
+    </filter>
+    <filter
+       id="filter5278">
+      <feGaussianBlur
+         stdDeviation="0.17527714"
+         id="feGaussianBlur5280" />
+    </filter>
+    <filter
+       id="filter5284">
+      <feGaussianBlur
+         stdDeviation="0.2407119"
+         id="feGaussianBlur5286" />
+    </filter>
+    <filter
+       x="-0.13745977"
+       width="1.2749195"
+       y="-0.13745977"
+       height="1.2749195"
+       id="filter5290">
+      <feGaussianBlur
+         stdDeviation="0.37411709"
+         id="feGaussianBlur5292" />
+    </filter>
+    <filter
+       x="-0.2094002"
+       width="1.4188004"
+       y="-0.2094002"
+       height="1.4188004"
+       id="filter5296">
+      <feGaussianBlur
+         stdDeviation="0.56991358"
+         id="feGaussianBlur5298" />
+    </filter>
+    <filter
+       x="-0.2599545"
+       width="1.519909"
+       y="-0.2599545"
+       height="1.519909"
+       id="filter5302">
+      <feGaussianBlur
+         stdDeviation="0.7075046"
+         id="feGaussianBlur5304" />
+    </filter>
+    <filter
+       x="-0.27280182"
+       width="1.5456036"
+       y="-0.27280182"
+       height="1.5456036"
+       id="filter5308">
+      <feGaussianBlur
+         stdDeviation="0.74247047"
+         id="feGaussianBlur5310" />
+    </filter>
+    <filter
+       x="-0.35972402"
+       width="1.719448"
+       y="-0.35972402"
+       height="1.719448"
+       id="filter5314">
+      <feGaussianBlur
+         stdDeviation="0.97904208"
+         id="feGaussianBlur5316" />
+    </filter>
+    <filter
+       x="-0.37282339"
+       width="1.7456468"
+       y="-0.37282339"
+       height="1.7456468"
+       id="filter5320">
+      <feGaussianBlur
+         stdDeviation="1.014694"
+         id="feGaussianBlur5322" />
+    </filter>
+    <filter
+       x="-0.43005659"
+       width="1.8601132"
+       y="-0.43005659"
+       height="1.8601132"
+       id="filter5326">
+      <feGaussianBlur
+         stdDeviation="1.1704626"
+         id="feGaussianBlur5328" />
+    </filter>
+    <filter
+       x="-0.47489843"
+       width="1.9497969"
+       y="-0.47489843"
+       height="1.9497969"
+       id="filter5332">
+      <feGaussianBlur
+         stdDeviation="1.2925063"
+         id="feGaussianBlur5334" />
+    </filter>
+    <filter
+       x="-0.52891314"
+       width="2.0578263"
+       y="-0.52891314"
+       height="2.0578263"
+       id="filter5338">
+      <feGaussianBlur
+         stdDeviation="1.4395153"
+         id="feGaussianBlur5340" />
+    </filter>
+    <filter
+       x="-0.56779924"
+       width="2.1355985"
+       y="-0.56779924"
+       height="2.1355985"
+       id="filter5344">
+      <feGaussianBlur
+         stdDeviation="1.5453496"
+         id="feGaussianBlur5346" />
+    </filter>
+    <filter
+       x="-0.60192537"
+       width="2.2038507"
+       y="-0.60192537"
+       height="2.2038507"
+       id="filter5350">
+      <feGaussianBlur
+         stdDeviation="1.6382289"
+         id="feGaussianBlur5352" />
+    </filter>
+    <filter
+       x="-0.66254317"
+       width="2.3250863"
+       y="-0.66254317"
+       height="2.3250863"
+       id="filter5356">
+      <feGaussianBlur
+         stdDeviation="1.8032092"
+         id="feGaussianBlur5358" />
+    </filter>
+    <filter
+       x="-0.72886442"
+       width="2.4577288"
+       y="-0.72886442"
+       height="2.4577288"
+       id="filter5362">
+      <feGaussianBlur
+         stdDeviation="1.9837122"
+         id="feGaussianBlur5364" />
+    </filter>
+    <filter
+       id="filter5370">
+      <feGaussianBlur
+         stdDeviation="0.19528857"
+         id="feGaussianBlur5372" />
+    </filter>
+    <filter
+       id="filter5376">
+      <feGaussianBlur
+         stdDeviation="0.20908881"
+         id="feGaussianBlur5378" />
+    </filter>
+    <filter
+       x="-0.12360948"
+       width="1.247219"
+       y="-0.12360948"
+       height="1.247219"
+       id="filter5382">
+      <feGaussianBlur
+         stdDeviation="0.33642147"
+         id="feGaussianBlur5384" />
+    </filter>
+    <filter
+       x="-0.18519643"
+       width="1.3703929"
+       y="-0.18519643"
+       height="1.3703929"
+       id="filter5388">
+      <feGaussianBlur
+         stdDeviation="0.50403945"
+         id="feGaussianBlur5390" />
+    </filter>
+    <filter
+       x="-0.24661936"
+       width="1.4932387"
+       y="-0.24661936"
+       height="1.4932387"
+       id="filter5394">
+      <feGaussianBlur
+         stdDeviation="0.67121104"
+         id="feGaussianBlur5396" />
+    </filter>
+    <filter
+       x="-0.27509966"
+       width="1.5501993"
+       y="-0.27509966"
+       height="1.5501993"
+       id="filter5400">
+      <feGaussianBlur
+         stdDeviation="0.7487244"
+         id="feGaussianBlur5402" />
+    </filter>
+    <filter
+       x="-0.33566427"
+       width="1.6713285"
+       y="-0.33566427"
+       height="1.6713285"
+       id="filter5406">
+      <feGaussianBlur
+         stdDeviation="0.91355992"
+         id="feGaussianBlur5408" />
+    </filter>
+    <filter
+       x="-0.38258444"
+       width="1.7651689"
+       y="-0.38258444"
+       height="1.7651689"
+       id="filter5412">
+      <feGaussianBlur
+         stdDeviation="1.0412601"
+         id="feGaussianBlur5414" />
+    </filter>
+    <filter
+       x="-0.44217586"
+       width="1.8843517"
+       y="-0.44217586"
+       height="1.8843517"
+       id="filter5418">
+      <feGaussianBlur
+         stdDeviation="1.203447"
+         id="feGaussianBlur5420" />
+    </filter>
+    <filter
+       x="-0.49581082"
+       width="1.9916216"
+       y="-0.49581082"
+       height="1.9916216"
+       id="filter5424">
+      <feGaussianBlur
+         stdDeviation="1.3494224"
+         id="feGaussianBlur5426" />
+    </filter>
+    <filter
+       x="-0.52568585"
+       width="2.0513717"
+       y="-0.52568585"
+       height="2.0513717"
+       id="filter5430">
+      <feGaussianBlur
+         stdDeviation="1.4307318"
+         id="feGaussianBlur5432" />
+    </filter>
+    <filter
+       x="-0.57013143"
+       width="2.1402629"
+       y="-0.57013143"
+       height="2.1402629"
+       id="filter5436">
+      <feGaussianBlur
+         stdDeviation="1.551697"
+         id="feGaussianBlur5438" />
+    </filter>
+    <filter
+       x="-0.62791495"
+       width="2.2558299"
+       y="-0.62791495"
+       height="2.2558299"
+       id="filter5442">
+      <feGaussianBlur
+         stdDeviation="1.7089634"
+         id="feGaussianBlur5444" />
+    </filter>
+    <filter
+       x="-0.68211453"
+       width="2.3642291"
+       y="-0.68211453"
+       height="2.3642291"
+       id="filter5448">
+      <feGaussianBlur
+         stdDeviation="1.8564755"
+         id="feGaussianBlur5450" />
+    </filter>
+    <filter
+       x="-0.7302541"
+       width="2.4605082"
+       y="-0.7302541"
+       height="2.4605082"
+       id="filter5454">
+      <feGaussianBlur
+         stdDeviation="1.9874945"
+         id="feGaussianBlur5456" />
+    </filter>
+    <filter
+       id="filter5462">
+      <feGaussianBlur
+         stdDeviation="0.13601415"
+         id="feGaussianBlur5464" />
+    </filter>
+    <filter
+       x="-0.11336916"
+       width="1.2267383"
+       y="-0.11336916"
+       height="1.2267383"
+       id="filter5468">
+      <feGaussianBlur
+         stdDeviation="0.30855092"
+         id="feGaussianBlur5470" />
+    </filter>
+    <filter
+       x="-0.1573958"
+       width="1.3147916"
+       y="-0.1573958"
+       height="1.3147916"
+       id="filter5474">
+      <feGaussianBlur
+         stdDeviation="0.42837595"
+         id="feGaussianBlur5476" />
+    </filter>
+    <filter
+       x="-0.19491618"
+       width="1.3898324"
+       y="-0.19491618"
+       height="1.3898324"
+       id="filter5480">
+      <feGaussianBlur
+         stdDeviation="0.5304932"
+         id="feGaussianBlur5482" />
+    </filter>
+    <filter
+       x="-0.25450608"
+       width="1.5090122"
+       y="-0.25450608"
+       height="1.5090122"
+       id="filter5486">
+      <feGaussianBlur
+         stdDeviation="0.69267591"
+         id="feGaussianBlur5488" />
+    </filter>
+    <filter
+       x="-0.29523575"
+       width="1.5904715"
+       y="-0.29523575"
+       height="1.5904715"
+       id="filter5492">
+      <feGaussianBlur
+         stdDeviation="0.80352773"
+         id="feGaussianBlur5494" />
+    </filter>
+    <filter
+       x="-0.35264913"
+       width="1.7052983"
+       y="-0.35264913"
+       height="1.7052983"
+       id="filter5498">
+      <feGaussianBlur
+         stdDeviation="0.95978672"
+         id="feGaussianBlur5500" />
+    </filter>
+    <filter
+       x="-0.3986366"
+       width="1.7972732"
+       y="-0.3986366"
+       height="1.7972732"
+       id="filter5504">
+      <feGaussianBlur
+         stdDeviation="1.0849484"
+         id="feGaussianBlur5506" />
+    </filter>
+    <filter
+       x="-0.4171793"
+       width="1.8343586"
+       y="-0.4171793"
+       height="1.8343586"
+       id="filter5510">
+      <feGaussianBlur
+         stdDeviation="1.1354151"
+         id="feGaussianBlur5512" />
+    </filter>
+    <filter
+       x="-0.4655886"
+       width="1.9311772"
+       y="-0.4655886"
+       height="1.9311772"
+       id="filter5516">
+      <feGaussianBlur
+         stdDeviation="1.2671682"
+         id="feGaussianBlur5518" />
+    </filter>
+    <filter
+       x="-0.52720701"
+       width="2.054414"
+       y="-0.52720701"
+       height="2.054414"
+       id="filter5522">
+      <feGaussianBlur
+         stdDeviation="1.4348718"
+         id="feGaussianBlur5524" />
+    </filter>
+    <filter
+       x="-0.59928454"
+       width="2.1985691"
+       y="-0.59928454"
+       height="2.1985691"
+       id="filter5528">
+      <feGaussianBlur
+         stdDeviation="1.6310415"
+         id="feGaussianBlur5530" />
+    </filter>
+    <filter
+       x="-0.62463266"
+       width="2.2492653"
+       y="-0.62463266"
+       height="2.2492653"
+       id="filter5534">
+      <feGaussianBlur
+         stdDeviation="1.7000301"
+         id="feGaussianBlur5536" />
+    </filter>
+    <filter
+       x="-0.69508563"
+       width="2.3901713"
+       y="-0.69508563"
+       height="2.3901713"
+       id="filter5540">
+      <feGaussianBlur
+         stdDeviation="1.8917783"
+         id="feGaussianBlur5542" />
+    </filter>
+    <filter
+       x="-0.70150783"
+       width="2.4030157"
+       y="-0.70150783"
+       height="2.4030157"
+       id="filter5546">
+      <feGaussianBlur
+         stdDeviation="1.9092573"
+         id="feGaussianBlur5548" />
+    </filter>
+    <filter
+       id="filter5552">
+      <feGaussianBlur
+         stdDeviation="0.031516855"
+         id="feGaussianBlur5554" />
+    </filter>
+    <filter
+       id="filter5558">
+      <feGaussianBlur
+         stdDeviation="0.17453672"
+         id="feGaussianBlur5560" />
+    </filter>
+    <filter
+       x="-0.11090171"
+       width="1.2218034"
+       y="-0.11090171"
+       height="1.2218034"
+       id="filter5564">
+      <feGaussianBlur
+         stdDeviation="0.30183538"
+         id="feGaussianBlur5566" />
+    </filter>
+    <filter
+       x="-0.15718692"
+       width="1.3143738"
+       y="-0.15718692"
+       height="1.3143738"
+       id="filter5570">
+      <feGaussianBlur
+         stdDeviation="0.42780745"
+         id="feGaussianBlur5572" />
+    </filter>
+    <filter
+       x="-0.19976663"
+       width="1.3995333"
+       y="-0.19976663"
+       height="1.3995333"
+       id="filter5576">
+      <feGaussianBlur
+         stdDeviation="0.5436944"
+         id="feGaussianBlur5578" />
+    </filter>
+    <filter
+       x="-0.23846873"
+       width="1.4769375"
+       y="-0.23846873"
+       height="1.4769375"
+       id="filter5582">
+      <feGaussianBlur
+         stdDeviation="0.64902791"
+         id="feGaussianBlur5584" />
+    </filter>
+    <filter
+       x="-0.30749818"
+       width="1.6149964"
+       y="-0.30749818"
+       height="1.6149964"
+       id="filter5588">
+      <feGaussianBlur
+         stdDeviation="0.83690175"
+         id="feGaussianBlur5590" />
+    </filter>
+    <filter
+       x="-0.33735202"
+       width="1.674704"
+       y="-0.33735202"
+       height="1.674704"
+       id="filter5594">
+      <feGaussianBlur
+         stdDeviation="0.91815338"
+         id="feGaussianBlur5596" />
+    </filter>
+    <filter
+       x="-0.38645435"
+       width="1.7729087"
+       y="-0.38645435"
+       height="1.7729087"
+       id="filter5600">
+      <feGaussianBlur
+         stdDeviation="1.0517926"
+         id="feGaussianBlur5602" />
+    </filter>
+    <filter
+       x="-0.42705495"
+       width="1.8541099"
+       y="-0.42705495"
+       height="1.8541099"
+       id="filter5606">
+      <feGaussianBlur
+         stdDeviation="1.1622932"
+         id="feGaussianBlur5608" />
+    </filter>
+    <filter
+       x="-0.47124098"
+       width="1.942482"
+       y="-0.47124098"
+       height="1.942482"
+       id="filter5612">
+      <feGaussianBlur
+         stdDeviation="1.282552"
+         id="feGaussianBlur5614" />
+    </filter>
+    <filter
+       x="-0.5180253"
+       width="2.0360506"
+       y="-0.5180253"
+       height="2.0360506"
+       id="filter5618">
+      <feGaussianBlur
+         stdDeviation="1.4098824"
+         id="feGaussianBlur5620" />
+    </filter>
+    <filter
+       x="-0.59234003"
+       width="2.1846801"
+       y="-0.59234003"
+       height="2.1846801"
+       id="filter5624">
+      <feGaussianBlur
+         stdDeviation="1.6121409"
+         id="feGaussianBlur5626" />
+    </filter>
+    <filter
+       x="-0.60827391"
+       width="2.2165478"
+       y="-0.60827391"
+       height="2.2165478"
+       id="filter5630">
+      <feGaussianBlur
+         stdDeviation="1.6555073"
+         id="feGaussianBlur5632" />
+    </filter>
+    <filter
+       x="-0.6758845"
+       width="2.351769"
+       y="-0.6758845"
+       height="2.351769"
+       id="filter5636">
+      <feGaussianBlur
+         stdDeviation="1.8395196"
+         id="feGaussianBlur5638" />
+    </filter>
+    <filter
+       x="-0.73917164"
+       width="2.4783433"
+       y="-0.73917164"
+       height="2.4783433"
+       id="filter5642">
+      <feGaussianBlur
+         stdDeviation="2.0117649"
+         id="feGaussianBlur5644" />
+    </filter>
+    <filter
+       id="filter5650">
+      <feGaussianBlur
+         stdDeviation="0.10022346"
+         id="feGaussianBlur5652" />
+    </filter>
+    <filter
+       id="filter5656">
+      <feGaussianBlur
+         stdDeviation="0.22444948"
+         id="feGaussianBlur5658" />
+    </filter>
+    <filter
+       x="-0.14653994"
+       width="1.2930799"
+       y="-0.14653994"
+       height="1.2930799"
+       id="filter5662">
+      <feGaussianBlur
+         stdDeviation="0.39883011"
+         id="feGaussianBlur5664" />
+    </filter>
+    <filter
+       x="-0.18200616"
+       width="1.3640123"
+       y="-0.18200616"
+       height="1.3640123"
+       id="filter5668">
+      <feGaussianBlur
+         stdDeviation="0.49535668"
+         id="feGaussianBlur5670" />
+    </filter>
+    <filter
+       x="-0.25990758"
+       width="1.5198152"
+       y="-0.25990758"
+       height="1.5198152"
+       id="filter5674">
+      <feGaussianBlur
+         stdDeviation="0.70737691"
+         id="feGaussianBlur5676" />
+    </filter>
+    <filter
+       x="-0.26938972"
+       width="1.5387794"
+       y="-0.26938972"
+       height="1.5387794"
+       id="filter5680">
+      <feGaussianBlur
+         stdDeviation="0.73318394"
+         id="feGaussianBlur5682" />
+    </filter>
+    <filter
+       x="-0.35722372"
+       width="1.7144474"
+       y="-0.35722372"
+       height="1.7144474"
+       id="filter5686">
+      <feGaussianBlur
+         stdDeviation="0.97223715"
+         id="feGaussianBlur5688" />
+    </filter>
+    <filter
+       x="-0.3635238"
+       width="1.7270476"
+       y="-0.3635238"
+       height="1.7270476"
+       id="filter5692">
+      <feGaussianBlur
+         stdDeviation="0.98938375"
+         id="feGaussianBlur5694" />
+    </filter>
+    <filter
+       x="-0.42368537"
+       width="1.8473707"
+       y="-0.42368537"
+       height="1.8473707"
+       id="filter5698">
+      <feGaussianBlur
+         stdDeviation="1.1531224"
+         id="feGaussianBlur5700" />
+    </filter>
+    <filter
+       x="-0.4661622"
+       width="1.9323244"
+       y="-0.4661622"
+       height="1.9323244"
+       id="filter5704">
+      <feGaussianBlur
+         stdDeviation="1.2687293"
+         id="feGaussianBlur5706" />
+    </filter>
+    <filter
+       x="-0.51480731"
+       width="2.0296146"
+       y="-0.51480731"
+       height="2.0296146"
+       id="filter5710">
+      <feGaussianBlur
+         stdDeviation="1.4011242"
+         id="feGaussianBlur5712" />
+    </filter>
+    <filter
+       x="-0.55782573"
+       width="2.1156515"
+       y="-0.55782573"
+       height="2.1156515"
+       id="filter5716">
+      <feGaussianBlur
+         stdDeviation="1.5182052"
+         id="feGaussianBlur5718" />
+    </filter>
+    <filter
+       x="-0.63964466"
+       width="2.2792893"
+       y="-0.63964466"
+       height="2.2792893"
+       id="filter5722">
+      <feGaussianBlur
+         stdDeviation="1.7408875"
+         id="feGaussianBlur5724" />
+    </filter>
+    <filter
+       x="-0.69012254"
+       width="2.3802451"
+       y="-0.69012254"
+       height="2.3802451"
+       id="filter5728">
+      <feGaussianBlur
+         stdDeviation="1.8782705"
+         id="feGaussianBlur5730" />
+    </filter>
+    <filter
+       x="-0.71274255"
+       width="2.4254851"
+       y="-0.71274255"
+       height="2.4254851"
+       id="filter5734">
+      <feGaussianBlur
+         stdDeviation="1.9398342"
+         id="feGaussianBlur5736" />
+    </filter>
+    <filter
+       id="filter5740">
+      <feGaussianBlur
+         stdDeviation="0.042788383"
+         id="feGaussianBlur5742" />
+    </filter>
+    <filter
+       id="filter5746">
+      <feGaussianBlur
+         stdDeviation="0.093772311"
+         id="feGaussianBlur5748" />
+    </filter>
+    <filter
+       id="filter5752">
+      <feGaussianBlur
+         stdDeviation="0.26771321"
+         id="feGaussianBlur5754" />
+    </filter>
+    <filter
+       x="-0.1613237"
+       width="1.3226474"
+       y="-0.1613237"
+       height="1.3226474"
+       id="filter5758">
+      <feGaussianBlur
+         stdDeviation="0.4390663"
+         id="feGaussianBlur5760" />
+    </filter>
+    <filter
+       x="-0.19788927"
+       width="1.3957785"
+       y="-0.19788927"
+       height="1.3957785"
+       id="filter5764">
+      <feGaussianBlur
+         stdDeviation="0.5385849"
+         id="feGaussianBlur5766" />
+    </filter>
+    <filter
+       x="-0.23588237"
+       width="1.4717647"
+       y="-0.23588237"
+       height="1.4717647"
+       id="filter5770">
+      <feGaussianBlur
+         stdDeviation="0.64198873"
+         id="feGaussianBlur5772" />
+    </filter>
+    <filter
+       x="-0.26484779"
+       width="1.5296956"
+       y="-0.26484779"
+       height="1.5296956"
+       id="filter5776">
+      <feGaussianBlur
+         stdDeviation="0.72082242"
+         id="feGaussianBlur5778" />
+    </filter>
+    <filter
+       x="-0.3247203"
+       width="1.6494406"
+       y="-0.3247203"
+       height="1.6494406"
+       id="filter5782">
+      <feGaussianBlur
+         stdDeviation="0.8837743"
+         id="feGaussianBlur5784" />
+    </filter>
+    <filter
+       x="-0.37819233"
+       width="1.7563847"
+       y="-0.37819233"
+       height="1.7563847"
+       id="filter5788">
+      <feGaussianBlur
+         stdDeviation="1.0293063"
+         id="feGaussianBlur5790" />
+    </filter>
+    <filter
+       x="-0.44158728"
+       width="1.8831746"
+       y="-0.44158728"
+       height="1.8831746"
+       id="filter5794">
+      <feGaussianBlur
+         stdDeviation="1.2018451"
+         id="feGaussianBlur5796" />
+    </filter>
+    <filter
+       x="-0.50000077"
+       width="2.0000015"
+       y="-0.50000077"
+       height="2.0000015"
+       id="filter5800">
+      <feGaussianBlur
+         stdDeviation="1.360826"
+         id="feGaussianBlur5802" />
+    </filter>
+    <filter
+       x="-0.54056897"
+       width="2.0811379"
+       y="-0.54056897"
+       height="2.0811379"
+       id="filter5806">
+      <feGaussianBlur
+         stdDeviation="1.4712383"
+         id="feGaussianBlur5808" />
+    </filter>
+    <filter
+       x="-0.59840471"
+       width="2.1968094"
+       y="-0.59840471"
+       height="2.1968094"
+       id="filter5812">
+      <feGaussianBlur
+         stdDeviation="1.6286469"
+         id="feGaussianBlur5814" />
+    </filter>
+    <filter
+       x="-0.64247705"
+       width="2.2849541"
+       y="-0.64247705"
+       height="2.2849541"
+       id="filter5818">
+      <feGaussianBlur
+         stdDeviation="1.7485963"
+         id="feGaussianBlur5820" />
+    </filter>
+    <filter
+       x="-0.68534552"
+       width="2.370691"
+       y="-0.68534552"
+       height="2.370691"
+       id="filter5824">
+      <feGaussianBlur
+         stdDeviation="1.8652691"
+         id="feGaussianBlur5826" />
+    </filter>
+    <filter
+       x="-0.71034244"
+       width="2.4206849"
+       y="-0.71034244"
+       height="2.4206849"
+       id="filter5830">
+      <feGaussianBlur
+         stdDeviation="1.9333019"
+         id="feGaussianBlur5832" />
+    </filter>
+    <filter
+       id="filter5838">
+      <feGaussianBlur
+         stdDeviation="0.166259"
+         id="feGaussianBlur5840" />
+    </filter>
+    <filter
+       x="-0.10453114"
+       width="1.2090623"
+       y="-0.10453114"
+       height="1.2090623"
+       id="filter5844">
+      <feGaussianBlur
+         stdDeviation="0.28449694"
+         id="feGaussianBlur5846" />
+    </filter>
+    <filter
+       x="-0.14391859"
+       width="1.2878372"
+       y="-0.14391859"
+       height="1.2878372"
+       id="filter5850">
+      <feGaussianBlur
+         stdDeviation="0.39169571"
+         id="feGaussianBlur5852" />
+    </filter>
+    <filter
+       x="-0.17055307"
+       width="1.3411061"
+       y="-0.17055307"
+       height="1.3411061"
+       id="filter5856">
+      <feGaussianBlur
+         stdDeviation="0.4641854"
+         id="feGaussianBlur5858" />
+    </filter>
+    <filter
+       x="-0.23708238"
+       width="1.4741648"
+       y="-0.23708238"
+       height="1.4741648"
+       id="filter5862">
+      <feGaussianBlur
+         stdDeviation="0.64525473"
+         id="feGaussianBlur5864" />
+    </filter>
+    <filter
+       x="-0.26532448"
+       width="1.530649"
+       y="-0.26532448"
+       height="1.530649"
+       id="filter5868">
+      <feGaussianBlur
+         stdDeviation="0.72211978"
+         id="feGaussianBlur5870" />
+    </filter>
+    <filter
+       x="-0.3548713"
+       width="1.7097426"
+       y="-0.3548713"
+       height="1.7097426"
+       id="filter5874">
+      <feGaussianBlur
+         stdDeviation="0.96583471"
+         id="feGaussianBlur5876" />
+    </filter>
+    <filter
+       x="-0.38708365"
+       width="1.7741673"
+       y="-0.38708365"
+       height="1.7741673"
+       id="filter5880">
+      <feGaussianBlur
+         stdDeviation="1.0535054"
+         id="feGaussianBlur5882" />
+    </filter>
+    <filter
+       x="-0.45394458"
+       width="1.9078892"
+       y="-0.45394458"
+       height="1.9078892"
+       id="filter5886">
+      <feGaussianBlur
+         stdDeviation="1.2354773"
+         id="feGaussianBlur5888" />
+    </filter>
+    <filter
+       x="-0.4729181"
+       width="1.9458362"
+       y="-0.4729181"
+       height="1.9458362"
+       id="filter5892">
+      <feGaussianBlur
+         stdDeviation="1.2871165"
+         id="feGaussianBlur5894" />
+    </filter>
+    <filter
+       x="-0.52062042"
+       width="2.0412408"
+       y="-0.52062042"
+       height="2.0412408"
+       id="filter5898">
+      <feGaussianBlur
+         stdDeviation="1.4169454"
+         id="feGaussianBlur5900" />
+    </filter>
+    <filter
+       x="-0.5688333"
+       width="2.1376666"
+       y="-0.5688333"
+       height="2.1376666"
+       id="filter5904">
+      <feGaussianBlur
+         stdDeviation="1.5481639"
+         id="feGaussianBlur5906" />
+    </filter>
+    <filter
+       x="-0.61848415"
+       width="2.2369683"
+       y="-0.61848415"
+       height="2.2369683"
+       id="filter5910">
+      <feGaussianBlur
+         stdDeviation="1.683296"
+         id="feGaussianBlur5912" />
+    </filter>
+    <filter
+       x="-0.68914787"
+       width="2.3782957"
+       y="-0.68914787"
+       height="2.3782957"
+       id="filter5916">
+      <feGaussianBlur
+         stdDeviation="1.8756178"
+         id="feGaussianBlur5918" />
+    </filter>
+    <filter
+       x="-0.69820109"
+       width="2.3964022"
+       y="-0.69820109"
+       height="2.3964022"
+       id="filter5922">
+      <feGaussianBlur
+         stdDeviation="1.9002575"
+         id="feGaussianBlur5924" />
+    </filter>
+    <filter
+       id="filter5928">
+      <feGaussianBlur
+         stdDeviation="0.018955645"
+         id="feGaussianBlur5930" />
+    </filter>
+    <filter
+       id="filter5934">
+      <feGaussianBlur
+         stdDeviation="0.12696207"
+         id="feGaussianBlur5936" />
+    </filter>
+    <filter
+       x="-0.1147896"
+       width="1.2295792"
+       y="-0.1147896"
+       height="1.2295792"
+       id="filter5940">
+      <feGaussianBlur
+         stdDeviation="0.31241687"
+         id="feGaussianBlur5942" />
+    </filter>
+    <filter
+       x="-0.15539087"
+       width="1.3107817"
+       y="-0.15539087"
+       height="1.3107817"
+       id="filter5946">
+      <feGaussianBlur
+         stdDeviation="0.42291921"
+         id="feGaussianBlur5948" />
+    </filter>
+    <filter
+       x="-0.20480674"
+       width="1.4096135"
+       y="-0.20480674"
+       height="1.4096135"
+       id="filter5952">
+      <feGaussianBlur
+         stdDeviation="0.55741181"
+         id="feGaussianBlur5954" />
+    </filter>
+    <filter
+       x="-0.23532796"
+       width="1.4706559"
+       y="-0.23532796"
+       height="1.4706559"
+       id="filter5958">
+      <feGaussianBlur
+         stdDeviation="0.64047983"
+         id="feGaussianBlur5960" />
+    </filter>
+    <filter
+       x="-0.27664169"
+       width="1.5532834"
+       y="-0.27664169"
+       height="1.5532834"
+       id="filter5964">
+      <feGaussianBlur
+         stdDeviation="0.75292124"
+         id="feGaussianBlur5966" />
+    </filter>
+    <filter
+       x="-0.34431334"
+       width="1.6886267"
+       y="-0.34431334"
+       height="1.6886267"
+       id="filter5970">
+      <feGaussianBlur
+         stdDeviation="0.93709965"
+         id="feGaussianBlur5972" />
+    </filter>
+    <filter
+       x="-0.40041561"
+       width="1.8008312"
+       y="-0.40041561"
+       height="1.8008312"
+       id="filter5976">
+      <feGaussianBlur
+         stdDeviation="1.0897903"
+         id="feGaussianBlur5978" />
+    </filter>
+    <filter
+       x="-0.41222664"
+       width="1.8244533"
+       y="-0.41222664"
+       height="1.8244533"
+       id="filter5982">
+      <feGaussianBlur
+         stdDeviation="1.1219357"
+         id="feGaussianBlur5984" />
+    </filter>
+    <filter
+       x="-0.46832641"
+       width="1.9366528"
+       y="-0.46832641"
+       height="1.9366528"
+       id="filter5988">
+      <feGaussianBlur
+         stdDeviation="1.2746196"
+         id="feGaussianBlur5990" />
+    </filter>
+    <filter
+       x="-0.53659992"
+       width="2.0731998"
+       y="-0.53659992"
+       height="2.0731998"
+       id="filter5994">
+      <feGaussianBlur
+         stdDeviation="1.460436"
+         id="feGaussianBlur5996" />
+    </filter>
+    <filter
+       x="-0.58164518"
+       width="2.1632904"
+       y="-0.58164518"
+       height="2.1632904"
+       id="filter6000">
+      <feGaussianBlur
+         stdDeviation="1.5830333"
+         id="feGaussianBlur6002" />
+    </filter>
+    <filter
+       x="-0.61650886"
+       width="2.2330177"
+       y="-0.61650886"
+       height="2.2330177"
+       id="filter6006">
+      <feGaussianBlur
+         stdDeviation="1.67792"
+         id="feGaussianBlur6008" />
+    </filter>
+    <filter
+       x="-0.67358133"
+       width="2.3471627"
+       y="-0.67358133"
+       height="2.3471627"
+       id="filter6012">
+      <feGaussianBlur
+         stdDeviation="1.8332511"
+         id="feGaussianBlur6014" />
+    </filter>
+    <filter
+       x="-0.70804482"
+       width="2.4160896"
+       y="-0.70804482"
+       height="2.4160896"
+       id="filter6018">
+      <feGaussianBlur
+         stdDeviation="1.9270486"
+         id="feGaussianBlur6020" />
+    </filter>
+    <filter
+       id="filter6026">
+      <feGaussianBlur
+         stdDeviation="0.15441969"
+         id="feGaussianBlur6028" />
+    </filter>
+    <filter
+       x="-0.10392503"
+       width="1.2078501"
+       y="-0.10392503"
+       height="1.2078501"
+       id="filter6032">
+      <feGaussianBlur
+         stdDeviation="0.28284734"
+         id="feGaussianBlur6034" />
+    </filter>
+    <filter
+       x="-0.13646467"
+       width="1.2729293"
+       y="-0.13646467"
+       height="1.2729293"
+       id="filter6038">
+      <feGaussianBlur
+         stdDeviation="0.37140877"
+         id="feGaussianBlur6040" />
+    </filter>
+    <filter
+       x="-0.19164705"
+       width="1.3832941"
+       y="-0.19164705"
+       height="1.3832941"
+       id="filter6044">
+      <feGaussianBlur
+         stdDeviation="0.52159577"
+         id="feGaussianBlur6046" />
+    </filter>
+    <filter
+       x="-0.26128656"
+       width="1.5225731"
+       y="-0.26128656"
+       height="1.5225731"
+       id="filter6050">
+      <feGaussianBlur
+         stdDeviation="0.71113"
+         id="feGaussianBlur6052" />
+    </filter>
+    <filter
+       x="-0.26759372"
+       width="1.5351874"
+       y="-0.26759372"
+       height="1.5351874"
+       id="filter6056">
+      <feGaussianBlur
+         stdDeviation="0.72829587"
+         id="feGaussianBlur6058" />
+    </filter>
+    <filter
+       x="-0.3369152"
+       width="1.6738304"
+       y="-0.3369152"
+       height="1.6738304"
+       id="filter6062">
+      <feGaussianBlur
+         stdDeviation="0.91696453"
+         id="feGaussianBlur6064" />
+    </filter>
+    <filter
+       x="-0.39783707"
+       width="1.7956741"
+       y="-0.39783707"
+       height="1.7956741"
+       id="filter6068">
+      <feGaussianBlur
+         stdDeviation="1.0827724"
+         id="feGaussianBlur6070" />
+    </filter>
+    <filter
+       x="-0.43505875"
+       width="1.8701175"
+       y="-0.43505875"
+       height="1.8701175"
+       id="filter6074">
+      <feGaussianBlur
+         stdDeviation="1.1840767"
+         id="feGaussianBlur6076" />
+    </filter>
+    <filter
+       x="-0.48850195"
+       width="1.9770039"
+       y="-0.48850195"
+       height="1.9770039"
+       id="filter6080">
+      <feGaussianBlur
+         stdDeviation="1.3295303"
+         id="feGaussianBlur6082" />
+    </filter>
+    <filter
+       x="-0.52136748"
+       width="2.042735"
+       y="-0.52136748"
+       height="2.042735"
+       id="filter6086">
+      <feGaussianBlur
+         stdDeviation="1.4189787"
+         id="feGaussianBlur6088" />
+    </filter>
+    <filter
+       x="-0.59508286"
+       width="2.1901657"
+       y="-0.59508286"
+       height="2.1901657"
+       id="filter6092">
+      <feGaussianBlur
+         stdDeviation="1.619606"
+         id="feGaussianBlur6094" />
+    </filter>
+    <filter
+       x="-0.60056817"
+       width="2.2011363"
+       y="-0.60056817"
+       height="2.2011363"
+       id="filter6098">
+      <feGaussianBlur
+         stdDeviation="1.6345351"
+         id="feGaussianBlur6100" />
+    </filter>
+    <filter
+       x="-0.6929372"
+       width="2.3858744"
+       y="-0.6929372"
+       height="2.3858744"
+       id="filter6104">
+      <feGaussianBlur
+         stdDeviation="1.885931"
+         id="feGaussianBlur6106" />
+    </filter>
+    <filter
+       x="-0.72121728"
+       width="2.4424346"
+       y="-0.72121728"
+       height="2.4424346"
+       id="filter6110">
+      <feGaussianBlur
+         stdDeviation="1.9628994"
+         id="feGaussianBlur6112" />
+    </filter>
+    <filter
+       id="filter6116">
+      <feGaussianBlur
+         stdDeviation="0.063753828"
+         id="feGaussianBlur6118" />
+    </filter>
+    <filter
+       id="filter6122">
+      <feGaussianBlur
+         stdDeviation="0.1844166"
+         id="feGaussianBlur6124" />
+    </filter>
+    <filter
+       id="filter6128">
+      <feGaussianBlur
+         stdDeviation="0.25456758"
+         id="feGaussianBlur6130" />
+    </filter>
+    <filter
+       x="-0.13203832"
+       width="1.2640766"
+       y="-0.13203832"
+       height="1.2640766"
+       id="filter6134">
+      <feGaussianBlur
+         stdDeviation="0.35936179"
+         id="feGaussianBlur6136" />
+    </filter>
+    <filter
+       x="-0.17676232"
+       width="1.3535246"
+       y="-0.17676232"
+       height="1.3535246"
+       id="filter6140">
+      <feGaussianBlur
+         stdDeviation="0.48108478"
+         id="feGaussianBlur6142" />
+    </filter>
+    <filter
+       x="-0.23231775"
+       width="1.4646355"
+       y="-0.23231775"
+       height="1.4646355"
+       id="filter6146">
+      <feGaussianBlur
+         stdDeviation="0.63228711"
+         id="feGaussianBlur6148" />
+    </filter>
+    <filter
+       x="-0.29090587"
+       width="1.5818117"
+       y="-0.29090587"
+       height="1.5818117"
+       id="filter6152">
+      <feGaussianBlur
+         stdDeviation="0.79174333"
+         id="feGaussianBlur6154" />
+    </filter>
+    <filter
+       x="-0.35430643"
+       width="1.7086129"
+       y="-0.35430643"
+       height="1.7086129"
+       id="filter6158">
+      <feGaussianBlur
+         stdDeviation="0.96429731"
+         id="feGaussianBlur6160" />
+    </filter>
+    <filter
+       x="-0.40390887"
+       width="1.8078177"
+       y="-0.40390887"
+       height="1.8078177"
+       id="filter6164">
+      <feGaussianBlur
+         stdDeviation="1.0992977"
+         id="feGaussianBlur6166" />
+    </filter>
+    <filter
+       x="-0.41606408"
+       width="1.8321282"
+       y="-0.41606408"
+       height="1.8321282"
+       id="filter6170">
+      <feGaussianBlur
+         stdDeviation="1.1323799"
+         id="feGaussianBlur6172" />
+    </filter>
+    <filter
+       x="-0.46446558"
+       width="1.9289312"
+       y="-0.46446558"
+       height="1.9289312"
+       id="filter6176">
+      <feGaussianBlur
+         stdDeviation="1.2641117"
+         id="feGaussianBlur6178" />
+    </filter>
+    <filter
+       x="-0.53631256"
+       width="2.0726251"
+       y="-0.53631256"
+       height="2.0726251"
+       id="filter6182">
+      <feGaussianBlur
+         stdDeviation="1.4596539"
+         id="feGaussianBlur6184" />
+    </filter>
+    <filter
+       x="-0.57524745"
+       width="2.1504949"
+       y="-0.57524745"
+       height="2.1504949"
+       id="filter6188">
+      <feGaussianBlur
+         stdDeviation="1.565621"
+         id="feGaussianBlur6190" />
+    </filter>
+    <filter
+       x="-0.62242994"
+       width="2.2448599"
+       y="-0.62242994"
+       height="2.2448599"
+       id="filter6194">
+      <feGaussianBlur
+         stdDeviation="1.6940351"
+         id="feGaussianBlur6196" />
+    </filter>
+    <filter
+       x="-0.68973088"
+       width="2.3794618"
+       y="-0.68973088"
+       height="2.3794618"
+       id="filter6200">
+      <feGaussianBlur
+         stdDeviation="1.8772045"
+         id="feGaussianBlur6202" />
+    </filter>
+    <filter
+       x="-0.69778596"
+       width="2.3955719"
+       y="-0.69778596"
+       height="2.3955719"
+       id="filter6206">
+      <feGaussianBlur
+         stdDeviation="1.8991276"
+         id="feGaussianBlur6208" />
+    </filter>
+    <filter
+       id="filter6214">
+      <feGaussianBlur
+         stdDeviation="0.1365937"
+         id="feGaussianBlur6216" />
+    </filter>
+    <filter
+       x="-0.10548826"
+       width="1.2109765"
+       y="-0.10548826"
+       height="1.2109765"
+       id="filter6220">
+      <feGaussianBlur
+         stdDeviation="0.28710189"
+         id="feGaussianBlur6222" />
+    </filter>
+    <filter
+       x="-0.14012679"
+       width="1.2802536"
+       y="-0.14012679"
+       height="1.2802536"
+       id="filter6226">
+      <feGaussianBlur
+         stdDeviation="0.38137578"
+         id="feGaussianBlur6228" />
+    </filter>
+    <filter
+       x="-0.17189177"
+       width="1.3437835"
+       y="-0.17189177"
+       height="1.3437835"
+       id="filter6232">
+      <feGaussianBlur
+         stdDeviation="0.46782887"
+         id="feGaussianBlur6234" />
+    </filter>
+    <filter
+       x="-0.23378948"
+       width="1.467579"
+       y="-0.23378948"
+       height="1.467579"
+       id="filter6238">
+      <feGaussianBlur
+         stdDeviation="0.63629262"
+         id="feGaussianBlur6240" />
+    </filter>
+    <filter
+       x="-0.28048249"
+       width="1.560965"
+       y="-0.28048249"
+       height="1.560965"
+       id="filter6244">
+      <feGaussianBlur
+         stdDeviation="0.76337456"
+         id="feGaussianBlur6246" />
+    </filter>
+    <filter
+       x="-0.35779101"
+       width="1.715582"
+       y="-0.35779101"
+       height="1.715582"
+       id="filter6250">
+      <feGaussianBlur
+         stdDeviation="0.97378113"
+         id="feGaussianBlur6252" />
+    </filter>
+    <filter
+       x="-0.37216094"
+       width="1.7443219"
+       y="-0.37216094"
+       height="1.7443219"
+       id="filter6256">
+      <feGaussianBlur
+         stdDeviation="1.012891"
+         id="feGaussianBlur6258" />
+    </filter>
+    <filter
+       x="-0.41585719"
+       width="1.8317144"
+       y="-0.41585719"
+       height="1.8317144"
+       id="filter6262">
+      <feGaussianBlur
+         stdDeviation="1.1318168"
+         id="feGaussianBlur6264" />
+    </filter>
+    <filter
+       x="-0.47041279"
+       width="1.9408256"
+       y="-0.47041279"
+       height="1.9408256"
+       id="filter6268">
+      <feGaussianBlur
+         stdDeviation="1.2802979"
+         id="feGaussianBlur6270" />
+    </filter>
+    <filter
+       x="-0.54230805"
+       width="2.0846161"
+       y="-0.54230805"
+       height="2.0846161"
+       id="filter6274">
+      <feGaussianBlur
+         stdDeviation="1.4759715"
+         id="feGaussianBlur6276" />
+    </filter>
+    <filter
+       x="-0.57787096"
+       width="2.1557419"
+       y="-0.57787096"
+       height="2.1557419"
+       id="filter6280">
+      <feGaussianBlur
+         stdDeviation="1.5727612"
+         id="feGaussianBlur6282" />
+    </filter>
+    <filter
+       x="-0.6178386"
+       width="2.2356772"
+       y="-0.6178386"
+       height="2.2356772"
+       id="filter6286">
+      <feGaussianBlur
+         stdDeviation="1.6815391"
+         id="feGaussianBlur6288" />
+    </filter>
+    <filter
+       x="-0.6938956"
+       width="2.3877912"
+       y="-0.6938956"
+       height="2.3877912"
+       id="filter6292">
+      <feGaussianBlur
+         stdDeviation="1.8885395"
+         id="feGaussianBlur6294" />
+    </filter>
+    <filter
+       x="-0.74112398"
+       width="2.482248"
+       y="-0.74112398"
+       height="2.482248"
+       id="filter6298">
+      <feGaussianBlur
+         stdDeviation="2.0170785"
+         id="feGaussianBlur6300" />
+    </filter>
+    <filter
+       id="filter6304">
+      <feGaussianBlur
+         stdDeviation="0.057392849"
+         id="feGaussianBlur6306" />
+    </filter>
+    <filter
+       id="filter6310">
+      <feGaussianBlur
+         stdDeviation="0.11679798"
+         id="feGaussianBlur6312" />
+    </filter>
+    <filter
+       id="filter6316">
+      <feGaussianBlur
+         stdDeviation="0.21225022"
+         id="feGaussianBlur6318" />
+    </filter>
+    <filter
+       x="-0.1585007"
+       width="1.3170014"
+       y="-0.1585007"
+       height="1.3170014"
+       id="filter6322">
+      <feGaussianBlur
+         stdDeviation="0.43138309"
+         id="feGaussianBlur6324" />
+    </filter>
+    <filter
+       x="-0.19644302"
+       width="1.392886"
+       y="-0.19644302"
+       height="1.392886"
+       id="filter6328">
+      <feGaussianBlur
+         stdDeviation="0.53464872"
+         id="feGaussianBlur6330" />
+    </filter>
+    <filter
+       x="-0.21882678"
+       width="1.4376536"
+       y="-0.21882678"
+       height="1.4376536"
+       id="filter6334">
+      <feGaussianBlur
+         stdDeviation="0.59556943"
+         id="feGaussianBlur6336" />
+    </filter>
+    <filter
+       x="-0.31141295"
+       width="1.6228259"
+       y="-0.31141295"
+       height="1.6228259"
+       id="filter6340">
+      <feGaussianBlur
+         stdDeviation="0.84755638"
+         id="feGaussianBlur6342" />
+    </filter>
+    <filter
+       x="-0.32723746"
+       width="1.6544749"
+       y="-0.32723746"
+       height="1.6544749"
+       id="filter6346">
+      <feGaussianBlur
+         stdDeviation="0.89062513"
+         id="feGaussianBlur6348" />
+    </filter>
+    <filter
+       x="-0.40541529"
+       width="1.8108306"
+       y="-0.40541529"
+       height="1.8108306"
+       id="filter6352">
+      <feGaussianBlur
+         stdDeviation="1.1033976"
+         id="feGaussianBlur6354" />
+    </filter>
+    <filter
+       x="-0.44868409"
+       width="1.8973682"
+       y="-0.44868409"
+       height="1.8973682"
+       id="filter6358">
+      <feGaussianBlur
+         stdDeviation="1.2211601"
+         id="feGaussianBlur6360" />
+    </filter>
+    <filter
+       x="-0.49784906"
+       width="1.9956981"
+       y="-0.49784906"
+       height="1.9956981"
+       id="filter6364">
+      <feGaussianBlur
+         stdDeviation="1.3549698"
+         id="feGaussianBlur6366" />
+    </filter>
+    <filter
+       x="-0.53134588"
+       width="2.0626918"
+       y="-0.53134588"
+       height="2.0626918"
+       id="filter6370">
+      <feGaussianBlur
+         stdDeviation="1.4461363"
+         id="feGaussianBlur6372" />
+    </filter>
+    <filter
+       x="-0.56037449"
+       width="2.120749"
+       y="-0.56037449"
+       height="2.120749"
+       id="filter6376">
+      <feGaussianBlur
+         stdDeviation="1.525142"
+         id="feGaussianBlur6378" />
+    </filter>
+    <filter
+       x="-0.63780207"
+       width="2.2756041"
+       y="-0.63780207"
+       height="2.2756041"
+       id="filter6382">
+      <feGaussianBlur
+         stdDeviation="1.7358726"
+         id="feGaussianBlur6384" />
+    </filter>
+    <filter
+       x="-0.66999303"
+       width="2.3399861"
+       y="-0.66999303"
+       height="2.3399861"
+       id="filter6388">
+      <feGaussianBlur
+         stdDeviation="1.8234851"
+         id="feGaussianBlur6390" />
+    </filter>
+    <filter
+       x="-0.73159249"
+       width="2.463185"
+       y="-0.73159249"
+       height="2.463185"
+       id="filter6394">
+      <feGaussianBlur
+         stdDeviation="1.9911371"
+         id="feGaussianBlur6396" />
+    </filter>
+    <filter
+       id="filter6400">
+      <feGaussianBlur
+         stdDeviation="0.010980855"
+         id="feGaussianBlur6402" />
+    </filter>
+    <filter
+       id="filter6406">
+      <feGaussianBlur
+         stdDeviation="0.16290031"
+         id="feGaussianBlur6408" />
+    </filter>
+    <filter
+       x="-0.10384288"
+       width="1.2076858"
+       y="-0.10384288"
+       height="1.2076858"
+       id="filter6412">
+      <feGaussianBlur
+         stdDeviation="0.28262374"
+         id="feGaussianBlur6414" />
+    </filter>
+    <filter
+       x="-0.12371628"
+       width="1.2474326"
+       y="-0.12371628"
+       height="1.2474326"
+       id="filter6418">
+      <feGaussianBlur
+         stdDeviation="0.33671214"
+         id="feGaussianBlur6420" />
+    </filter>
+    <filter
+       x="-0.2011107"
+       width="1.4022214"
+       y="-0.2011107"
+       height="1.4022214"
+       id="filter6424">
+      <feGaussianBlur
+         stdDeviation="0.5473525"
+         id="feGaussianBlur6426" />
+    </filter>
+    <filter
+       x="-0.25264489"
+       width="1.5052898"
+       y="-0.25264489"
+       height="1.5052898"
+       id="filter6430">
+      <feGaussianBlur
+         stdDeviation="0.68761042"
+         id="feGaussianBlur6432" />
+    </filter>
+    <filter
+       x="-0.29839475"
+       width="1.5967895"
+       y="-0.29839475"
+       height="1.5967895"
+       id="filter6436">
+      <feGaussianBlur
+         stdDeviation="0.81212541"
+         id="feGaussianBlur6438" />
+    </filter>
+    <filter
+       x="-0.319692"
+       width="1.639384"
+       y="-0.319692"
+       height="1.639384"
+       id="filter6442">
+      <feGaussianBlur
+         stdDeviation="0.87008903"
+         id="feGaussianBlur6444" />
+    </filter>
+    <filter
+       x="-0.37637117"
+       width="1.7527423"
+       y="-0.37637117"
+       height="1.7527423"
+       id="filter6448">
+      <feGaussianBlur
+         stdDeviation="1.0243498"
+         id="feGaussianBlur6450" />
+    </filter>
+    <filter
+       x="-0.45446711"
+       width="1.9089342"
+       y="-0.45446711"
+       height="1.9089342"
+       id="filter6454">
+      <feGaussianBlur
+         stdDeviation="1.2368994"
+         id="feGaussianBlur6456" />
+    </filter>
+    <filter
+       x="-0.50050647"
+       width="2.0010129"
+       y="-0.50050647"
+       height="2.0010129"
+       id="filter6460">
+      <feGaussianBlur
+         stdDeviation="1.3622023"
+         id="feGaussianBlur6462" />
+    </filter>
+    <filter
+       x="-0.53891647"
+       width="2.0778329"
+       y="-0.53891647"
+       height="2.0778329"
+       id="filter6466">
+      <feGaussianBlur
+         stdDeviation="1.4667408"
+         id="feGaussianBlur6468" />
+    </filter>
+    <filter
+       x="-0.57981734"
+       width="2.1596347"
+       y="-0.57981734"
+       height="2.1596347"
+       id="filter6472">
+      <feGaussianBlur
+         stdDeviation="1.5780586"
+         id="feGaussianBlur6474" />
+    </filter>
+    <filter
+       x="-0.63649951"
+       width="2.272999"
+       y="-0.63649951"
+       height="2.272999"
+       id="filter6478">
+      <feGaussianBlur
+         stdDeviation="1.7323275"
+         id="feGaussianBlur6480" />
+    </filter>
+    <filter
+       x="-0.67015353"
+       width="2.3403071"
+       y="-0.67015353"
+       height="2.3403071"
+       id="filter6484">
+      <feGaussianBlur
+         stdDeviation="1.8239219"
+         id="feGaussianBlur6486" />
+    </filter>
+    <filter
+       x="-0.71081765"
+       width="2.4216353"
+       y="-0.71081765"
+       height="2.4216353"
+       id="filter6490">
+      <feGaussianBlur
+         stdDeviation="1.9345953"
+         id="feGaussianBlur6492" />
+    </filter>
+    <filter
+       id="filter6496">
+      <feGaussianBlur
+         stdDeviation="0.0085460739"
+         id="feGaussianBlur6498" />
+    </filter>
+    <filter
+       id="filter6502">
+      <feGaussianBlur
+         stdDeviation="0.1321657"
+         id="feGaussianBlur6504" />
+    </filter>
+    <filter
+       x="-0.11789382"
+       width="1.2357876"
+       y="-0.11789382"
+       height="1.2357876"
+       id="filter6508">
+      <feGaussianBlur
+         stdDeviation="0.32086547"
+         id="feGaussianBlur6510" />
+    </filter>
+    <filter
+       x="-0.15538907"
+       width="1.3107781"
+       y="-0.15538907"
+       height="1.3107781"
+       id="filter6514">
+      <feGaussianBlur
+         stdDeviation="0.42291433"
+         id="feGaussianBlur6516" />
+    </filter>
+    <filter
+       x="-0.20978849"
+       width="1.419577"
+       y="-0.20978849"
+       height="1.419577"
+       id="filter6520">
+      <feGaussianBlur
+         stdDeviation="0.57097039"
+         id="feGaussianBlur6522" />
+    </filter>
+    <filter
+       x="-0.22490103"
+       width="1.4498021"
+       y="-0.22490103"
+       height="1.4498021"
+       id="filter6526">
+      <feGaussianBlur
+         stdDeviation="0.61210141"
+         id="feGaussianBlur6528" />
+    </filter>
+    <filter
+       x="-0.30732421"
+       width="1.6146484"
+       y="-0.30732421"
+       height="1.6146484"
+       id="filter6532">
+      <feGaussianBlur
+         stdDeviation="0.83642827"
+         id="feGaussianBlur6534" />
+    </filter>
+    <filter
+       x="-0.32557592"
+       width="1.6511518"
+       y="-0.32557592"
+       height="1.6511518"
+       id="filter6538">
+      <feGaussianBlur
+         stdDeviation="0.886103"
+         id="feGaussianBlur6540" />
+    </filter>
+    <filter
+       x="-0.38493679"
+       width="1.7698736"
+       y="-0.38493679"
+       height="1.7698736"
+       id="filter6544">
+      <feGaussianBlur
+         stdDeviation="1.0476624"
+         id="feGaussianBlur6546" />
+    </filter>
+    <filter
+       x="-0.40980004"
+       width="1.8196001"
+       y="-0.40980004"
+       height="1.8196001"
+       id="filter6550">
+      <feGaussianBlur
+         stdDeviation="1.1153314"
+         id="feGaussianBlur6552" />
+    </filter>
+    <filter
+       x="-0.49357227"
+       width="1.9871445"
+       y="-0.49357227"
+       height="1.9871445"
+       id="filter6556">
+      <feGaussianBlur
+         stdDeviation="1.3433299"
+         id="feGaussianBlur6558" />
+    </filter>
+    <filter
+       x="-0.53786552"
+       width="2.075731"
+       y="-0.53786552"
+       height="2.075731"
+       id="filter6562">
+      <feGaussianBlur
+         stdDeviation="1.4638805"
+         id="feGaussianBlur6564" />
+    </filter>
+    <filter
+       x="-0.57913498"
+       width="2.15827"
+       y="-0.57913498"
+       height="2.15827"
+       id="filter6568">
+      <feGaussianBlur
+         stdDeviation="1.5762015"
+         id="feGaussianBlur6570" />
+    </filter>
+    <filter
+       x="-0.62891391"
+       width="2.2578278"
+       y="-0.62891391"
+       height="2.2578278"
+       id="filter6574">
+      <feGaussianBlur
+         stdDeviation="1.7116822"
+         id="feGaussianBlur6576" />
+    </filter>
+    <filter
+       x="-0.66066309"
+       width="2.3213262"
+       y="-0.66066309"
+       height="2.3213262"
+       id="filter6580">
+      <feGaussianBlur
+         stdDeviation="1.7980923"
+         id="feGaussianBlur6582" />
+    </filter>
+    <filter
+       x="-0.72407835"
+       width="2.4481567"
+       y="-0.72407835"
+       height="2.4481567"
+       id="filter6586">
+      <feGaussianBlur
+         stdDeviation="1.9706862"
+         id="feGaussianBlur6588" />
+    </filter>
+    <filter
+       id="filter6594">
+      <feGaussianBlur
+         stdDeviation="0.19261968"
+         id="feGaussianBlur6596" />
+    </filter>
+    <filter
+       id="filter6600">
+      <feGaussianBlur
+         stdDeviation="0.21907614"
+         id="feGaussianBlur6602" />
+    </filter>
+    <filter
+       x="-0.15396558"
+       width="1.3079312"
+       y="-0.15396558"
+       height="1.3079312"
+       id="filter6606">
+      <feGaussianBlur
+         stdDeviation="0.41904009"
+         id="feGaussianBlur6608" />
+    </filter>
+    <filter
+       x="-0.20594025"
+       width="1.4118805"
+       y="-0.20594025"
+       height="1.4118805"
+       id="filter6612">
+      <feGaussianBlur
+         stdDeviation="0.56049683"
+         id="feGaussianBlur6614" />
+    </filter>
+    <filter
+       x="-0.22375318"
+       width="1.4475064"
+       y="-0.22375318"
+       height="1.4475064"
+       id="filter6618">
+      <feGaussianBlur
+         stdDeviation="0.60897736"
+         id="feGaussianBlur6620" />
+    </filter>
+    <filter
+       x="-0.30591461"
+       width="1.6118292"
+       y="-0.30591461"
+       height="1.6118292"
+       id="filter6624">
+      <feGaussianBlur
+         stdDeviation="0.83259183"
+         id="feGaussianBlur6626" />
+    </filter>
+    <filter
+       x="-0.34566394"
+       width="1.6913279"
+       y="-0.34566394"
+       height="1.6913279"
+       id="filter6630">
+      <feGaussianBlur
+         stdDeviation="0.94077551"
+         id="feGaussianBlur6632" />
+    </filter>
+    <filter
+       x="-0.36881846"
+       width="1.7376369"
+       y="-0.36881846"
+       height="1.7376369"
+       id="filter6636">
+      <feGaussianBlur
+         stdDeviation="1.003794"
+         id="feGaussianBlur6638" />
+    </filter>
+    <filter
+       x="-0.44040758"
+       width="1.8808152"
+       y="-0.44040758"
+       height="1.8808152"
+       id="filter6642">
+      <feGaussianBlur
+         stdDeviation="1.1986343"
+         id="feGaussianBlur6644" />
+    </filter>
+    <filter
+       x="-0.47236998"
+       width="1.94474"
+       y="-0.47236998"
+       height="1.94474"
+       id="filter6648">
+      <feGaussianBlur
+         stdDeviation="1.2856247"
+         id="feGaussianBlur6650" />
+    </filter>
+    <filter
+       x="-0.53184245"
+       width="2.0636849"
+       y="-0.53184245"
+       height="2.0636849"
+       id="filter6654">
+      <feGaussianBlur
+         stdDeviation="1.4474878"
+         id="feGaussianBlur6656" />
+    </filter>
+    <filter
+       x="-0.57481744"
+       width="2.1496349"
+       y="-0.57481744"
+       height="2.1496349"
+       id="filter6660">
+      <feGaussianBlur
+         stdDeviation="1.5644506"
+         id="feGaussianBlur6662" />
+    </filter>
+    <filter
+       x="-0.61887746"
+       width="2.2377549"
+       y="-0.61887746"
+       height="2.2377549"
+       id="filter6666">
+      <feGaussianBlur
+         stdDeviation="1.6843665"
+         id="feGaussianBlur6668" />
+    </filter>
+    <filter
+       x="-0.68936342"
+       width="2.3787268"
+       y="-0.68936342"
+       height="2.3787268"
+       id="filter6672">
+      <feGaussianBlur
+         stdDeviation="1.8762045"
+         id="feGaussianBlur6674" />
+    </filter>
+    <filter
+       x="-0.71643346"
+       width="2.4328669"
+       y="-0.71643346"
+       height="2.4328669"
+       id="filter6678">
+      <feGaussianBlur
+         stdDeviation="1.9498796"
+         id="feGaussianBlur6680" />
+    </filter>
+    <filter
+       id="filter6686">
+      <feGaussianBlur
+         stdDeviation="0.17404206"
+         id="feGaussianBlur6688" />
+    </filter>
+    <filter
+       x="-0.11791305"
+       width="1.2358261"
+       y="-0.11791305"
+       height="1.2358261"
+       id="filter6692">
+      <feGaussianBlur
+         stdDeviation="0.32091779"
+         id="feGaussianBlur6694" />
+    </filter>
+    <filter
+       x="-0.16623413"
+       width="1.3324683"
+       y="-0.16623413"
+       height="1.3324683"
+       id="filter6698">
+      <feGaussianBlur
+         stdDeviation="0.45243076"
+         id="feGaussianBlur6700" />
+    </filter>
+    <filter
+       x="-0.2155926"
+       width="1.4311852"
+       y="-0.2155926"
+       height="1.4311852"
+       id="filter6704">
+      <feGaussianBlur
+         stdDeviation="0.58676712"
+         id="feGaussianBlur6706" />
+    </filter>
+    <filter
+       x="-0.23551813"
+       width="1.4710363"
+       y="-0.23551813"
+       height="1.4710363"
+       id="filter6710">
+      <feGaussianBlur
+         stdDeviation="0.64099741"
+         id="feGaussianBlur6712" />
+    </filter>
+    <filter
+       x="-0.2803208"
+       width="1.5606416"
+       y="-0.2803208"
+       height="1.5606416"
+       id="filter6716">
+      <feGaussianBlur
+         stdDeviation="0.7629345"
+         id="feGaussianBlur6718" />
+    </filter>
+    <filter
+       x="-0.33068048"
+       width="1.661361"
+       y="-0.33068048"
+       height="1.661361"
+       id="filter6722">
+      <feGaussianBlur
+         stdDeviation="0.8999958"
+         id="feGaussianBlur6724" />
+    </filter>
+    <filter
+       x="-0.37719608"
+       width="1.7543922"
+       y="-0.37719608"
+       height="1.7543922"
+       id="filter6728">
+      <feGaussianBlur
+         stdDeviation="1.0265949"
+         id="feGaussianBlur6730" />
+    </filter>
+    <filter
+       x="-0.42792371"
+       width="1.8558474"
+       y="-0.42792371"
+       height="1.8558474"
+       id="filter6734">
+      <feGaussianBlur
+         stdDeviation="1.1646576"
+         id="feGaussianBlur6736" />
+    </filter>
+    <filter
+       x="-0.45717451"
+       width="1.914349"
+       y="-0.45717451"
+       height="1.914349"
+       id="filter6740">
+      <feGaussianBlur
+         stdDeviation="1.244268"
+         id="feGaussianBlur6742" />
+    </filter>
+    <filter
+       x="-0.54232757"
+       width="2.0846551"
+       y="-0.54232757"
+       height="2.0846551"
+       id="filter6746">
+      <feGaussianBlur
+         stdDeviation="1.4760246"
+         id="feGaussianBlur6748" />
+    </filter>
+    <filter
+       x="-0.56890442"
+       width="2.1378088"
+       y="-0.56890442"
+       height="2.1378088"
+       id="filter6752">
+      <feGaussianBlur
+         stdDeviation="1.5483575"
+         id="feGaussianBlur6754" />
+    </filter>
+    <filter
+       x="-0.61241698"
+       width="2.224834"
+       y="-0.61241698"
+       height="2.224834"
+       id="filter6758">
+      <feGaussianBlur
+         stdDeviation="1.6667833"
+         id="feGaussianBlur6760" />
+    </filter>
+    <filter
+       x="-0.65605612"
+       width="2.3121122"
+       y="-0.65605612"
+       height="2.3121122"
+       id="filter6764">
+      <feGaussianBlur
+         stdDeviation="1.7855537"
+         id="feGaussianBlur6766" />
+    </filter>
+    <filter
+       x="-0.73258731"
+       width="2.4651746"
+       y="-0.73258731"
+       height="2.4651746"
+       id="filter6770">
+      <feGaussianBlur
+         stdDeviation="1.9938446"
+         id="feGaussianBlur6772" />
+    </filter>
+    <filter
+       id="filter6778">
+      <feGaussianBlur
+         stdDeviation="0.17704693"
+         id="feGaussianBlur6780" />
+    </filter>
+    <filter
+       id="filter6784">
+      <feGaussianBlur
+         stdDeviation="0.22443559"
+         id="feGaussianBlur6786" />
+    </filter>
+    <filter
+       x="-0.12897283"
+       width="1.2579457"
+       y="-0.12897283"
+       height="1.2579457"
+       id="filter6790">
+      <feGaussianBlur
+         stdDeviation="0.35101863"
+         id="feGaussianBlur6792" />
+    </filter>
+    <filter
+       x="-0.18554558"
+       width="1.3710912"
+       y="-0.18554558"
+       height="1.3710912"
+       id="filter6796">
+      <feGaussianBlur
+         stdDeviation="0.50498972"
+         id="feGaussianBlur6798" />
+    </filter>
+    <filter
+       x="-0.26304068"
+       width="1.5260814"
+       y="-0.26304068"
+       height="1.5260814"
+       id="filter6802">
+      <feGaussianBlur
+         stdDeviation="0.71590409"
+         id="feGaussianBlur6804" />
+    </filter>
+    <filter
+       x="-0.30296886"
+       width="1.6059377"
+       y="-0.30296886"
+       height="1.6059377"
+       id="filter6808">
+      <feGaussianBlur
+         stdDeviation="0.82457455"
+         id="feGaussianBlur6810" />
+    </filter>
+    <filter
+       x="-0.31767266"
+       width="1.6353453"
+       y="-0.31767266"
+       height="1.6353453"
+       id="filter6814">
+      <feGaussianBlur
+         stdDeviation="0.8645931"
+         id="feGaussianBlur6816" />
+    </filter>
+    <filter
+       x="-0.36306796"
+       width="1.7261359"
+       y="-0.36306796"
+       height="1.7261359"
+       id="filter6820">
+      <feGaussianBlur
+         stdDeviation="0.98814313"
+         id="feGaussianBlur6822" />
+    </filter>
+    <filter
+       x="-0.44088922"
+       width="1.8817784"
+       y="-0.44088922"
+       height="1.8817784"
+       id="filter6826">
+      <feGaussianBlur
+         stdDeviation="1.1999452"
+         id="feGaussianBlur6828" />
+    </filter>
+    <filter
+       x="-0.48130078"
+       width="1.9626016"
+       y="-0.48130078"
+       height="1.9626016"
+       id="filter6832">
+      <feGaussianBlur
+         stdDeviation="1.3099312"
+         id="feGaussianBlur6834" />
+    </filter>
+    <filter
+       x="-0.52350828"
+       width="2.0470166"
+       y="-0.52350828"
+       height="2.0470166"
+       id="filter6838">
+      <feGaussianBlur
+         stdDeviation="1.4248052"
+         id="feGaussianBlur6840" />
+    </filter>
+    <filter
+       x="-0.57182086"
+       width="2.1436417"
+       y="-0.57182086"
+       height="2.1436417"
+       id="filter6844">
+      <feGaussianBlur
+         stdDeviation="1.556295"
+         id="feGaussianBlur6846" />
+    </filter>
+    <filter
+       x="-0.61671473"
+       width="2.2334295"
+       y="-0.61671473"
+       height="2.2334295"
+       id="filter6850">
+      <feGaussianBlur
+         stdDeviation="1.6784803"
+         id="feGaussianBlur6852" />
+    </filter>
+    <filter
+       x="-0.66886465"
+       width="2.3377293"
+       y="-0.66886465"
+       height="2.3377293"
+       id="filter6856">
+      <feGaussianBlur
+         stdDeviation="1.820414"
+         id="feGaussianBlur6858" />
+    </filter>
+    <filter
+       x="-0.7290382"
+       width="2.4580764"
+       y="-0.7290382"
+       height="2.4580764"
+       id="filter6862">
+      <feGaussianBlur
+         stdDeviation="1.9841852"
+         id="feGaussianBlur6864" />
+    </filter>
+    <filter
+       id="filter6870">
+      <feGaussianBlur
+         stdDeviation="0.17628727"
+         id="feGaussianBlur6872" />
+    </filter>
+    <filter
+       id="filter6876">
+      <feGaussianBlur
+         stdDeviation="0.22236866"
+         id="feGaussianBlur6878" />
+    </filter>
+    <filter
+       x="-0.14369669"
+       width="1.2873934"
+       y="-0.14369669"
+       height="1.2873934"
+       id="filter6882">
+      <feGaussianBlur
+         stdDeviation="0.39109178"
+         id="feGaussianBlur6884" />
+    </filter>
+    <filter
+       x="-0.18089999"
+       width="1.3618"
+       y="-0.18089999"
+       height="1.3618"
+       id="filter6888">
+      <feGaussianBlur
+         stdDeviation="0.49234605"
+         id="feGaussianBlur6890" />
+    </filter>
+    <filter
+       x="-0.25288716"
+       width="1.5057743"
+       y="-0.25288716"
+       height="1.5057743"
+       id="filter6894">
+      <feGaussianBlur
+         stdDeviation="0.68826979"
+         id="feGaussianBlur6896" />
+    </filter>
+    <filter
+       x="-0.30356191"
+       width="1.6071238"
+       y="-0.30356191"
+       height="1.6071238"
+       id="filter6900">
+      <feGaussianBlur
+         stdDeviation="0.82618862"
+         id="feGaussianBlur6902" />
+    </filter>
+    <filter
+       x="-0.32955703"
+       width="1.6591141"
+       y="-0.32955703"
+       height="1.6591141"
+       id="filter6906">
+      <feGaussianBlur
+         stdDeviation="0.89693816"
+         id="feGaussianBlur6908" />
+    </filter>
+    <filter
+       x="-0.3610998"
+       width="1.7221996"
+       y="-0.3610998"
+       height="1.7221996"
+       id="filter6912">
+      <feGaussianBlur
+         stdDeviation="0.98278649"
+         id="feGaussianBlur6914" />
+    </filter>
+    <filter
+       x="-0.44923516"
+       width="1.8984703"
+       y="-0.44923516"
+       height="1.8984703"
+       id="filter6918">
+      <feGaussianBlur
+         stdDeviation="1.2226599"
+         id="feGaussianBlur6920" />
+    </filter>
+    <filter
+       x="-0.46588398"
+       width="1.931768"
+       y="-0.46588398"
+       height="1.931768"
+       id="filter6924">
+      <feGaussianBlur
+         stdDeviation="1.2679721"
+         id="feGaussianBlur6926" />
+    </filter>
+    <filter
+       x="-0.50764574"
+       width="2.0152915"
+       y="-0.50764574"
+       height="2.0152915"
+       id="filter6930">
+      <feGaussianBlur
+         stdDeviation="1.3816329"
+         id="feGaussianBlur6932" />
+    </filter>
+    <filter
+       x="-0.5613094"
+       width="2.1226188"
+       y="-0.5613094"
+       height="2.1226188"
+       id="filter6936">
+      <feGaussianBlur
+         stdDeviation="1.5276865"
+         id="feGaussianBlur6938" />
+    </filter>
+    <filter
+       x="-0.60467442"
+       width="2.2093488"
+       y="-0.60467442"
+       height="2.2093488"
+       id="filter6942">
+      <feGaussianBlur
+         stdDeviation="1.6457108"
+         id="feGaussianBlur6944" />
+    </filter>
+    <filter
+       x="-0.67410516"
+       width="2.3482103"
+       y="-0.67410516"
+       height="2.3482103"
+       id="filter6948">
+      <feGaussianBlur
+         stdDeviation="1.8346768"
+         id="feGaussianBlur6950" />
+    </filter>
+    <filter
+       x="-0.7023943"
+       width="2.4047886"
+       y="-0.7023943"
+       height="2.4047886"
+       id="filter6954">
+      <feGaussianBlur
+         stdDeviation="1.9116699"
+         id="feGaussianBlur6956" />
+    </filter>
+    <filter
+       id="filter6960">
+      <feGaussianBlur
+         stdDeviation="0.05473096"
+         id="feGaussianBlur6962" />
+    </filter>
+    <filter
+       id="filter6966">
+      <feGaussianBlur
+         stdDeviation="0.19394764"
+         id="feGaussianBlur6968" />
+    </filter>
+    <filter
+       id="filter6972">
+      <feGaussianBlur
+         stdDeviation="0.21402328"
+         id="feGaussianBlur6974" />
+    </filter>
+    <filter
+       x="-0.16304401"
+       width="1.326088"
+       y="-0.16304401"
+       height="1.326088"
+       id="filter6978">
+      <feGaussianBlur
+         stdDeviation="0.44374837"
+         id="feGaussianBlur6980" />
+    </filter>
+    <filter
+       x="-0.19531386"
+       width="1.3906277"
+       y="-0.19531386"
+       height="1.3906277"
+       id="filter6984">
+      <feGaussianBlur
+         stdDeviation="0.53157555"
+         id="feGaussianBlur6986" />
+    </filter>
+    <filter
+       x="-0.23800023"
+       width="1.4760005"
+       y="-0.23800023"
+       height="1.4760005"
+       id="filter6990">
+      <feGaussianBlur
+         stdDeviation="0.64775281"
+         id="feGaussianBlur6992" />
+    </filter>
+    <filter
+       x="-0.26649845"
+       width="1.5329969"
+       y="-0.26649845"
+       height="1.5329969"
+       id="filter6996">
+      <feGaussianBlur
+         stdDeviation="0.72531493"
+         id="feGaussianBlur6998" />
+    </filter>
+    <filter
+       x="-0.32301244"
+       width="1.6460249"
+       y="-0.32301244"
+       height="1.6460249"
+       id="filter7002">
+      <feGaussianBlur
+         stdDeviation="0.8791261"
+         id="feGaussianBlur7004" />
+    </filter>
+    <filter
+       x="-0.39225201"
+       width="1.784504"
+       y="-0.39225201"
+       height="1.784504"
+       id="filter7008">
+      <feGaussianBlur
+         stdDeviation="1.0675718"
+         id="feGaussianBlur7010" />
+    </filter>
+    <filter
+       x="-0.44851422"
+       width="1.8970284"
+       y="-0.44851422"
+       height="1.8970284"
+       id="filter7014">
+      <feGaussianBlur
+         stdDeviation="1.2206977"
+         id="feGaussianBlur7016" />
+    </filter>
+    <filter
+       x="-0.48467421"
+       width="1.9693484"
+       y="-0.48467421"
+       height="1.9693484"
+       id="filter7020">
+      <feGaussianBlur
+         stdDeviation="1.3191125"
+         id="feGaussianBlur7022" />
+    </filter>
+    <filter
+       x="-0.53841505"
+       width="2.0768301"
+       y="-0.53841505"
+       height="2.0768301"
+       id="filter7026">
+      <feGaussianBlur
+         stdDeviation="1.4653761"
+         id="feGaussianBlur7028" />
+    </filter>
+    <filter
+       x="-0.5796361"
+       width="2.1592722"
+       y="-0.5796361"
+       height="2.1592722"
+       id="filter7032">
+      <feGaussianBlur
+         stdDeviation="1.5775653"
+         id="feGaussianBlur7034" />
+    </filter>
+    <filter
+       x="-0.60622794"
+       width="2.2124559"
+       y="-0.60622794"
+       height="2.2124559"
+       id="filter7038">
+      <feGaussianBlur
+         stdDeviation="1.6499389"
+         id="feGaussianBlur7040" />
+    </filter>
+    <filter
+       x="-0.66712939"
+       width="2.3342588"
+       y="-0.66712939"
+       height="2.3342588"
+       id="filter7044">
+      <feGaussianBlur
+         stdDeviation="1.8156912"
+         id="feGaussianBlur7046" />
+    </filter>
+    <filter
+       x="-0.71994351"
+       width="2.439887"
+       y="-0.71994351"
+       height="2.439887"
+       id="filter7050">
+      <feGaussianBlur
+         stdDeviation="1.9594327"
+         id="feGaussianBlur7052" />
+    </filter>
+    <filter
+       id="filter7056">
+      <feGaussianBlur
+         stdDeviation="0.056953873"
+         id="feGaussianBlur7058" />
+    </filter>
+    <filter
+       id="filter7062">
+      <feGaussianBlur
+         stdDeviation="0.14798624"
+         id="feGaussianBlur7064" />
+    </filter>
+    <filter
+       id="filter7068">
+      <feGaussianBlur
+         stdDeviation="0.22042735"
+         id="feGaussianBlur7070" />
+    </filter>
+    <filter
+       x="-0.16040743"
+       width="1.3208149"
+       y="-0.16040743"
+       height="1.3208149"
+       id="filter7074">
+      <feGaussianBlur
+         stdDeviation="0.43657253"
+         id="feGaussianBlur7076" />
+    </filter>
+    <filter
+       x="-0.18517369"
+       width="1.3703474"
+       y="-0.18517369"
+       height="1.3703474"
+       id="filter7080">
+      <feGaussianBlur
+         stdDeviation="0.50397757"
+         id="feGaussianBlur7082" />
+    </filter>
+    <filter
+       x="-0.24156458"
+       width="1.4831292"
+       y="-0.24156458"
+       height="1.4831292"
+       id="filter7086">
+      <feGaussianBlur
+         stdDeviation="0.65745372"
+         id="feGaussianBlur7088" />
+    </filter>
+    <filter
+       x="-0.31129266"
+       width="1.6225853"
+       y="-0.31129266"
+       height="1.6225853"
+       id="filter7092">
+      <feGaussianBlur
+         stdDeviation="0.84722898"
+         id="feGaussianBlur7094" />
+    </filter>
+    <filter
+       x="-0.34690492"
+       width="1.6938098"
+       y="-0.34690492"
+       height="1.6938098"
+       id="filter7098">
+      <feGaussianBlur
+         stdDeviation="0.94415301"
+         id="feGaussianBlur7100" />
+    </filter>
+    <filter
+       x="-0.38568544"
+       width="1.7713709"
+       y="-0.38568544"
+       height="1.7713709"
+       id="filter7104">
+      <feGaussianBlur
+         stdDeviation="1.0496999"
+         id="feGaussianBlur7106" />
+    </filter>
+    <filter
+       x="-0.43894386"
+       width="1.8778877"
+       y="-0.43894386"
+       height="1.8778877"
+       id="filter7110">
+      <feGaussianBlur
+         stdDeviation="1.1946506"
+         id="feGaussianBlur7112" />
+    </filter>
+    <filter
+       x="-0.495835"
+       width="1.99167"
+       y="-0.495835"
+       height="1.99167"
+       id="filter7116">
+      <feGaussianBlur
+         stdDeviation="1.3494883"
+         id="feGaussianBlur7118" />
+    </filter>
+    <filter
+       x="-0.5121696"
+       width="2.0243392"
+       y="-0.5121696"
+       height="2.0243392"
+       id="filter7122">
+      <feGaussianBlur
+         stdDeviation="1.3939453"
+         id="feGaussianBlur7124" />
+    </filter>
+    <filter
+       x="-0.56884728"
+       width="2.1376946"
+       y="-0.56884728"
+       height="2.1376946"
+       id="filter7128">
+      <feGaussianBlur
+         stdDeviation="1.5482019"
+         id="feGaussianBlur7130" />
+    </filter>
+    <filter
+       x="-0.6379785"
+       width="2.275957"
+       y="-0.6379785"
+       height="2.275957"
+       id="filter7134">
+      <feGaussianBlur
+         stdDeviation="1.7363528"
+         id="feGaussianBlur7136" />
+    </filter>
+    <filter
+       x="-0.68678536"
+       width="2.3735707"
+       y="-0.68678536"
+       height="2.3735707"
+       id="filter7140">
+      <feGaussianBlur
+         stdDeviation="1.8691879"
+         id="feGaussianBlur7142" />
+    </filter>
+    <filter
+       x="-0.72018375"
+       width="2.4403675"
+       y="-0.72018375"
+       height="2.4403675"
+       id="filter7146">
+      <feGaussianBlur
+         stdDeviation="1.9600865"
+         id="feGaussianBlur7148" />
+    </filter>
+    <filter
+       id="filter7154">
+      <feGaussianBlur
+         stdDeviation="0.14639612"
+         id="feGaussianBlur7156" />
+    </filter>
+    <filter
+       id="filter7160">
+      <feGaussianBlur
+         stdDeviation="0.22992421"
+         id="feGaussianBlur7162" />
+    </filter>
+    <filter
+       x="-0.13258697"
+       width="1.2651739"
+       y="-0.13258697"
+       height="1.2651739"
+       id="filter7166">
+      <feGaussianBlur
+         stdDeviation="0.36085502"
+         id="feGaussianBlur7168" />
+    </filter>
+    <filter
+       x="-0.17472936"
+       width="1.3494587"
+       y="-0.17472936"
+       height="1.3494587"
+       id="filter7172">
+      <feGaussianBlur
+         stdDeviation="0.47555178"
+         id="feGaussianBlur7174" />
+    </filter>
+    <filter
+       x="-0.26382247"
+       width="1.5276449"
+       y="-0.26382247"
+       height="1.5276449"
+       id="filter7178">
+      <feGaussianBlur
+         stdDeviation="0.71803186"
+         id="feGaussianBlur7180" />
+    </filter>
+    <filter
+       x="-0.30015438"
+       width="1.6003088"
+       y="-0.30015438"
+       height="1.6003088"
+       id="filter7184">
+      <feGaussianBlur
+         stdDeviation="0.8169145"
+         id="feGaussianBlur7186" />
+    </filter>
+    <filter
+       x="-0.31587524"
+       width="1.6317505"
+       y="-0.31587524"
+       height="1.6317505"
+       id="filter7190">
+      <feGaussianBlur
+         stdDeviation="0.85970116"
+         id="feGaussianBlur7192" />
+    </filter>
+    <filter
+       x="-0.36437445"
+       width="1.7287489"
+       y="-0.36437445"
+       height="1.7287489"
+       id="filter7196">
+      <feGaussianBlur
+         stdDeviation="0.99169893"
+         id="feGaussianBlur7198" />
+    </filter>
+    <filter
+       x="-0.44884049"
+       width="1.897681"
+       y="-0.44884049"
+       height="1.897681"
+       id="filter7202">
+      <feGaussianBlur
+         stdDeviation="1.2215857"
+         id="feGaussianBlur7204" />
+    </filter>
+    <filter
+       x="-0.48894584"
+       width="1.9778917"
+       y="-0.48894584"
+       height="1.9778917"
+       id="filter7208">
+      <feGaussianBlur
+         stdDeviation="1.3307384"
+         id="feGaussianBlur7210" />
+    </filter>
+    <filter
+       x="-0.52802143"
+       width="2.0560429"
+       y="-0.52802143"
+       height="2.0560429"
+       id="filter7214">
+      <feGaussianBlur
+         stdDeviation="1.4370884"
+         id="feGaussianBlur7216" />
+    </filter>
+    <filter
+       x="-0.58778518"
+       width="2.1755704"
+       y="-0.58778518"
+       height="2.1755704"
+       id="filter7220">
+      <feGaussianBlur
+         stdDeviation="1.5997443"
+         id="feGaussianBlur7222" />
+    </filter>
+    <filter
+       x="-0.6197702"
+       width="2.2395404"
+       y="-0.6197702"
+       height="2.2395404"
+       id="filter7226">
+      <feGaussianBlur
+         stdDeviation="1.6867962"
+         id="feGaussianBlur7228" />
+    </filter>
+    <filter
+       x="-0.66538648"
+       width="2.330773"
+       y="-0.66538648"
+       height="2.330773"
+       id="filter7232">
+      <feGaussianBlur
+         stdDeviation="1.8109477"
+         id="feGaussianBlur7234" />
+    </filter>
+    <filter
+       x="-0.72134945"
+       width="2.4426989"
+       y="-0.72134945"
+       height="2.4426989"
+       id="filter7238">
+      <feGaussianBlur
+         stdDeviation="1.9632592"
+         id="feGaussianBlur7240" />
+    </filter>
+    <filter
+       id="filter7246">
+      <feGaussianBlur
+         stdDeviation="0.12013419"
+         id="feGaussianBlur7248" />
+    </filter>
+    <filter
+       id="filter7252">
+      <feGaussianBlur
+         stdDeviation="0.23799125"
+         id="feGaussianBlur7254" />
+    </filter>
+    <filter
+       x="-0.15228462"
+       width="1.3045692"
+       y="-0.15228462"
+       height="1.3045692"
+       id="filter7258">
+      <feGaussianBlur
+         stdDeviation="0.41446511"
+         id="feGaussianBlur7260" />
+    </filter>
+    <filter
+       x="-0.17834175"
+       width="1.3566835"
+       y="-0.17834175"
+       height="1.3566835"
+       id="filter7264">
+      <feGaussianBlur
+         stdDeviation="0.48538343"
+         id="feGaussianBlur7266" />
+    </filter>
+    <filter
+       x="-0.25800698"
+       width="1.516014"
+       y="-0.25800698"
+       height="1.516014"
+       id="filter7270">
+      <feGaussianBlur
+         stdDeviation="0.70220413"
+         id="feGaussianBlur7272" />
+    </filter>
+    <filter
+       x="-0.28247705"
+       width="1.5649541"
+       y="-0.28247705"
+       height="1.5649541"
+       id="filter7276">
+      <feGaussianBlur
+         stdDeviation="0.76880306"
+         id="feGaussianBlur7278" />
+    </filter>
+    <filter
+       x="-0.32085344"
+       width="1.6417069"
+       y="-0.32085344"
+       height="1.6417069"
+       id="filter7282">
+      <feGaussianBlur
+         stdDeviation="0.87325005"
+         id="feGaussianBlur7284" />
+    </filter>
+    <filter
+       x="-0.36242229"
+       width="1.7248446"
+       y="-0.36242229"
+       height="1.7248446"
+       id="filter7288">
+      <feGaussianBlur
+         stdDeviation="0.98638583"
+         id="feGaussianBlur7290" />
+    </filter>
+    <filter
+       x="-0.41116864"
+       width="1.8223373"
+       y="-0.41116864"
+       height="1.8223373"
+       id="filter7294">
+      <feGaussianBlur
+         stdDeviation="1.1190562"
+         id="feGaussianBlur7296" />
+    </filter>
+    <filter
+       x="-0.47396793"
+       width="1.9479359"
+       y="-0.47396793"
+       height="1.9479359"
+       id="filter7300">
+      <feGaussianBlur
+         stdDeviation="1.2899738"
+         id="feGaussianBlur7302" />
+    </filter>
+    <filter
+       x="-0.55093383"
+       width="2.1018677"
+       y="-0.55093383"
+       height="2.1018677"
+       id="filter7306">
+      <feGaussianBlur
+         stdDeviation="1.4994479"
+         id="feGaussianBlur7308" />
+    </filter>
+    <filter
+       x="-0.585909"
+       width="2.171818"
+       y="-0.585909"
+       height="2.171818"
+       id="filter7312">
+      <feGaussianBlur
+         stdDeviation="1.594638"
+         id="feGaussianBlur7314" />
+    </filter>
+    <filter
+       x="-0.64305777"
+       width="2.2861155"
+       y="-0.64305777"
+       height="2.2861155"
+       id="filter7318">
+      <feGaussianBlur
+         stdDeviation="1.7501768"
+         id="feGaussianBlur7320" />
+    </filter>
+    <filter
+       x="-0.67211517"
+       width="2.3442303"
+       y="-0.67211517"
+       height="2.3442303"
+       id="filter7324">
+      <feGaussianBlur
+         stdDeviation="1.8292608"
+         id="feGaussianBlur7326" />
+    </filter>
+    <filter
+       x="-0.69974219"
+       width="2.3994844"
+       y="-0.69974219"
+       height="2.3994844"
+       id="filter7330">
+      <feGaussianBlur
+         stdDeviation="1.9044518"
+         id="feGaussianBlur7332" />
+    </filter>
+    <filter
+       id="filter7338">
+      <feGaussianBlur
+         stdDeviation="0.078269889"
+         id="feGaussianBlur7340" />
+    </filter>
+    <filter
+       id="filter7344">
+      <feGaussianBlur
+         stdDeviation="0.21580285"
+         id="feGaussianBlur7346" />
+    </filter>
+    <filter
+       x="-0.15003761"
+       width="1.3000752"
+       y="-0.15003761"
+       height="1.3000752"
+       id="filter7350">
+      <feGaussianBlur
+         stdDeviation="0.40834953"
+         id="feGaussianBlur7352" />
+    </filter>
+    <filter
+       x="-0.1846199"
+       width="1.3692398"
+       y="-0.1846199"
+       height="1.3692398"
+       id="filter7356">
+      <feGaussianBlur
+         stdDeviation="0.50247035"
+         id="feGaussianBlur7358" />
+    </filter>
+    <filter
+       x="-0.23605978"
+       width="1.4721196"
+       y="-0.23605978"
+       height="1.4721196"
+       id="filter7362">
+      <feGaussianBlur
+         stdDeviation="0.64247157"
+         id="feGaussianBlur7364" />
+    </filter>
+    <filter
+       x="-0.29499853"
+       width="1.5899971"
+       y="-0.29499853"
+       height="1.5899971"
+       id="filter7368">
+      <feGaussianBlur
+         stdDeviation="0.80288211"
+         id="feGaussianBlur7370" />
+    </filter>
+    <filter
+       x="-0.35463518"
+       width="1.7092704"
+       y="-0.35463518"
+       height="1.7092704"
+       id="filter7374">
+      <feGaussianBlur
+         stdDeviation="0.96519207"
+         id="feGaussianBlur7376" />
+    </filter>
+    <filter
+       x="-0.3999415"
+       width="1.799883"
+       y="-0.3999415"
+       height="1.799883"
+       id="filter7380">
+      <feGaussianBlur
+         stdDeviation="1.0884999"
+         id="feGaussianBlur7382" />
+    </filter>
+    <filter
+       x="-0.44039729"
+       width="1.8807946"
+       y="-0.44039729"
+       height="1.8807946"
+       id="filter7386">
+      <feGaussianBlur
+         stdDeviation="1.1986063"
+         id="feGaussianBlur7388" />
+    </filter>
+    <filter
+       x="-0.49047727"
+       width="1.9809545"
+       y="-0.49047727"
+       height="1.9809545"
+       id="filter7392">
+      <feGaussianBlur
+         stdDeviation="1.3349064"
+         id="feGaussianBlur7394" />
+    </filter>
+    <filter
+       x="-0.5195796"
+       width="2.0391592"
+       y="-0.5195796"
+       height="2.0391592"
+       id="filter7398">
+      <feGaussianBlur
+         stdDeviation="1.4141127"
+         id="feGaussianBlur7400" />
+    </filter>
+    <filter
+       x="-0.57114803"
+       width="2.1422961"
+       y="-0.57114803"
+       height="2.1422961"
+       id="filter7404">
+      <feGaussianBlur
+         stdDeviation="1.5544638"
+         id="feGaussianBlur7406" />
+    </filter>
+    <filter
+       x="-0.62999173"
+       width="2.2599835"
+       y="-0.62999173"
+       height="2.2599835"
+       id="filter7410">
+      <feGaussianBlur
+         stdDeviation="1.7146156"
+         id="feGaussianBlur7412" />
+    </filter>
+    <filter
+       x="-0.66404376"
+       width="2.3280875"
+       y="-0.66404376"
+       height="2.3280875"
+       id="filter7416">
+      <feGaussianBlur
+         stdDeviation="1.8072933"
+         id="feGaussianBlur7418" />
+    </filter>
+    <filter
+       x="-0.71785688"
+       width="2.4357138"
+       y="-0.71785688"
+       height="2.4357138"
+       id="filter7422">
+      <feGaussianBlur
+         stdDeviation="1.9537536"
+         id="feGaussianBlur7424" />
+    </filter>
+    <inkscape:perspective
+       id="perspective4209"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2382"
+       id="linearGradient2388"
+       x1="250.26767"
+       y1="3.1680942"
+       x2="250.26767"
+       y2="37.752678"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient2382">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2384" />
+      <stop
+         id="stop2390"
+         offset="0.25"
+         style="stop-color:#a4a4a4;stop-opacity:1;" />
+      <stop
+         style="stop-color:#404040;stop-opacity:1;"
+         offset="1"
+         id="stop2386" />
+    </linearGradient>
+  </defs>
+  <path
+     style="opacity:0.69999999999999996;fill:#ffffff;fill-opacity:0.5350877;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="m 484.25269,4.668094 c 6.648,0 12,5.352 12,12 l 0,7.584583 c 0,6.648 -5.352,12 -12,12 l -479.9700348,0 0,-31.584583 479.9700348,0 z"
+     id="rect2380"
+     sodipodi:nodetypes="ccccccc" />
+</svg>
diff --git a/data/themes/default/sing_score_text.svg b/data/themes/default/sing_score_text.svg
new file mode 100644 (file)
index 0000000..6495db4
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="800"
+   height="600"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="sing_score_text.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata3075">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="722"
+     inkscape:window-width="1248"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="false"
+     inkscape:zoom="0.67625"
+     inkscape:cx="400"
+     inkscape:cy="300"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg3465" />
+  <defs
+     id="defs3467">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective9" />
+  </defs>
+  <g
+     style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none"
+     id="layer15">
+    <text
+       x="102.33772"
+       y="94.271713"
+       style="font-size:40px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Droid Sans Mono;stroke-miterlimit:4;stroke-dasharray:none"
+       id="text10199"
+       xml:space="preserve"><tspan
+         x="102.33772"
+         y="94.271713"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none"
+         id="tspan10201">0000</tspan></text>
+  </g>
+</svg>
diff --git a/data/themes/default/sing_timetxt.svg b/data/themes/default/sing_timetxt.svg
new file mode 100644 (file)
index 0000000..61c57a9
--- /dev/null
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="1000"
+   height="800"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="sing_timetxt.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata3115">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="801"
+     inkscape:window-width="1439"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="false"
+     inkscape:zoom="0.95636192"
+     inkscape:cx="394.87412"
+     inkscape:cy="477.44917"
+     inkscape:window-x="20"
+     inkscape:window-y="145"
+     inkscape:current-layer="svg3465" />
+  <defs
+     id="defs3467">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective9" />
+  </defs>
+  <text
+     sodipodi:linespacing="125%"
+     xml:space="preserve"
+     id="timer_text"
+     style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.50000000000000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;font-family:Droid Sans Mono"
+     y="21.253304"
+     x="400"><tspan
+       id="tspan4717"
+       y="24.737442"
+       x="400"
+       style="font-size:20px;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.50000000000000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">00:00</tspan></text>
+<!--       style="font-size:25px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.56078384;display:inline;font-family:Droid Sans Mono"
+--></svg>
diff --git a/data/themes/default/sing_tostartfg.svg b/data/themes/default/sing_tostartfg.svg
new file mode 100644 (file)
index 0000000..05f0d54
--- /dev/null
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="800"
+   height="600"
+   id="svg3465"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="sing_tostartfg.svg"
+   sodipodi:docbase="/home/yoda/UltraStar/sf/UltraStar-ng/themes/lima"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   sodipodi:modified="true">
+  <metadata
+     id="metadata30">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:cy="279.34391"
+     inkscape:cx="281.09948"
+     inkscape:zoom="0.86831672"
+     inkscape:window-height="785"
+     inkscape:window-width="1144"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg3465"
+     showgrid="false" />
+  <defs
+     id="defs3467" />
+  <rect
+     style="opacity:1;color:black;fill:white;fill-opacity:0.39215686;fill-rule:nonzero;stroke:none;stroke-width:0.93757653;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+     id="rect10068"
+     width="829.06262"
+     height="17.235523"
+     x="-21.343824"
+     y="-10.045292" />
+  <g
+     transform="matrix(-0.289276,1.079594,1.079594,0.289276,546.785,265.1065)"
+     id="g10054"
+     style="fill:white;fill-opacity:1;opacity:1;color:black;fill-rule:nonzero;stroke:white;stroke-width:1.52101099;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible">
+    <path
+       sodipodi:type="star"
+       style="opacity:0.22790701;color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:2.84342982;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="path10056"
+       sodipodi:sides="5"
+       sodipodi:cx="141.42136"
+       sodipodi:cy="350.13498"
+       sodipodi:r1="78.688225"
+       sodipodi:r2="45.665279"
+       sodipodi:arg1="1.0612041"
+       sodipodi:arg2="1.6895226"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 179.80715,418.82535 L 136.01242,395.47879 L 87.954791,407.86853 L 96.625376,359.00278 L 69.991407,317.1259 L 119.14486,310.27177 L 150.74179,272.0007 L 172.4497,316.63036 L 218.61165,334.85441 L 182.87443,369.29119 L 179.80715,418.82535 z "
+       transform="matrix(0.494335,-0.204386,0.204386,0.494335,90.19682,29.75748)" />
+    <path
+       transform="matrix(0.430025,1.278809e-2,-1.278809e-2,0.430025,134.5255,-35.15791)"
+       d="M 179.80715,418.82535 L 136.01242,395.47879 L 87.954791,407.86853 L 96.625376,359.00278 L 69.991407,317.1259 L 119.14486,310.27177 L 150.74179,272.0007 L 172.4497,316.63036 L 218.61165,334.85441 L 182.87443,369.29119 L 179.80715,418.82535 z "
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.6895226"
+       sodipodi:arg1="1.0612041"
+       sodipodi:r2="45.665279"
+       sodipodi:r1="78.688225"
+       sodipodi:cy="350.13498"
+       sodipodi:cx="141.42136"
+       sodipodi:sides="5"
+       id="path10058"
+       style="opacity:0.22790701;color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:3.53546628;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.22790701;color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:4.39094525;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="path10060"
+       sodipodi:sides="5"
+       sodipodi:cx="141.42136"
+       sodipodi:cy="350.13498"
+       sodipodi:r1="78.688225"
+       sodipodi:r2="45.665279"
+       sodipodi:arg1="1.0612041"
+       sodipodi:arg2="1.6895226"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 179.80715,418.82535 L 136.01242,395.47879 L 87.954791,407.86853 L 96.625376,359.00278 L 69.991407,317.1259 L 119.14486,310.27177 L 150.74179,272.0007 L 172.4497,316.63036 L 218.61165,334.85441 L 182.87443,369.29119 L 179.80715,418.82535 z "
+       transform="matrix(0.308608,-0.157328,0.157328,0.308608,141.4555,-15.54061)" />
+    <path
+       transform="matrix(0.218514,5.453603e-2,-5.453603e-2,0.218514,186.3547,-54.97931)"
+       d="M 179.80715,418.82535 L 136.01242,395.47879 L 87.954791,407.86853 L 96.625376,359.00278 L 69.991407,317.1259 L 119.14486,310.27177 L 150.74179,272.0007 L 172.4497,316.63036 L 218.61165,334.85441 L 182.87443,369.29119 L 179.80715,418.82535 z "
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.6895226"
+       sodipodi:arg1="1.0612041"
+       sodipodi:r2="45.665279"
+       sodipodi:r1="78.688225"
+       sodipodi:cy="350.13498"
+       sodipodi:cx="141.42136"
+       sodipodi:sides="5"
+       id="path10062"
+       style="opacity:0.22790701;color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:6.75354546;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.22790701;color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:9.25479653;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       id="path10064"
+       sodipodi:sides="5"
+       sodipodi:cx="141.42136"
+       sodipodi:cy="350.13498"
+       sodipodi:r1="78.688225"
+       sodipodi:r2="45.665279"
+       sodipodi:arg1="1.0612041"
+       sodipodi:arg2="1.6895226"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 179.80715,418.82535 L 136.01242,395.47879 L 87.954791,407.86853 L 96.625376,359.00278 L 69.991407,317.1259 L 119.14486,310.27177 L 150.74179,272.0007 L 172.4497,316.63036 L 218.61165,334.85441 L 182.87443,369.29119 L 179.80715,418.82535 z "
+       transform="matrix(0.164046,9.96525e-3,-9.96525e-3,0.164046,210.6113,-58.34981)" />
+    <path
+       transform="matrix(0.76534,5.189341e-2,-5.189341e-2,0.76534,85.64202,-32.57281)"
+       d="M 179.80715,418.82535 L 136.01242,395.47879 L 87.954791,407.86853 L 96.625376,359.00278 L 69.991407,317.1259 L 119.14486,310.27177 L 150.74179,272.0007 L 172.4497,316.63036 L 218.61165,334.85441 L 182.87443,369.29119 L 179.80715,418.82535 z "
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.6895226"
+       sodipodi:arg1="1.0612041"
+       sodipodi:r2="45.665279"
+       sodipodi:r1="78.688225"
+       sodipodi:cy="350.13498"
+       sodipodi:cx="141.42136"
+       sodipodi:sides="5"
+       id="path10066"
+       style="opacity:0.22790701;color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:1.98281369;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+       sodipodi:type="star" />
+  </g>
+  <rect
+     width="29.287586"
+     height="74.28759"
+     x="10.356207"
+     y="495.35623"
+     style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.71241343;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
+     id="rect2246" />
+</svg>
diff --git a/data/themes/default/songs_bg.svg b/data/themes/default/songs_bg.svg
new file mode 100644 (file)
index 0000000..be56dcc
--- /dev/null
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="songs_bg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1053"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.2304507"
+     inkscape:cx="573.70744"
+     inkscape:cy="517.1618"
+     inkscape:window-x="0"
+     inkscape:window-y="-1"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient3772">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3774" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3776" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 400 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1000 : 400 : 1"
+       inkscape:persp3d-origin="500 : 266.66667 : 1"
+       id="perspective62" />
+    <linearGradient
+       id="linearGradient6053">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6055" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop6057" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6499">
+      <stop
+         id="stop6501"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6503"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6053"
+       id="linearGradient3242"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.0616996,0,0,3.9597975,-718.21316,1166.9898)"
+       x1="410.25833"
+       y1="-446.23236"
+       x2="410.25833"
+       y2="-496.73999" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient3245"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8327515,0,0,-0.6476426,-48.09403,12.672202)"
+       x1="311.95688"
+       y1="-116.67703"
+       x2="311.95688"
+       y2="-276.41519" />
+    <linearGradient
+       id="linearGradient3751">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3772"
+       id="linearGradient3778"
+       x1="254.3235"
+       y1="472.55856"
+       x2="889.60565"
+       y2="472.55856"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Goblin"
+     x="266.96185"
+     y="759.88806"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="759.88806" /></text>
+  <rect
+     style="opacity:0.81779659;fill:url(#linearGradient3778);fill-opacity:1;stroke:none"
+     id="rect3770"
+     width="898.04504"
+     height="61.114971"
+     x="-1.6254208"
+     y="420.46426"
+     ry="0" />
+</svg>
diff --git a/data/themes/default/songs_bg_default.svg b/data/themes/default/songs_bg_default.svg
new file mode 100644 (file)
index 0000000..fdc2600
--- /dev/null
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.0 r9654"
+   sodipodi:docname="songs_bg_default.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="992"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.43503001"
+     inkscape:cx="-54.572096"
+     inkscape:cy="419.08372"
+     inkscape:window-x="0"
+     inkscape:window-y="29"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient4557">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4559" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop4561" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2518"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9434139,0,0,0.9434139,62.279262,39.359798)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       id="linearGradient3945">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3947" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3949" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 400 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1000 : 400 : 1"
+       inkscape:persp3d-origin="500 : 266.66667 : 1"
+       id="perspective62" />
+    <linearGradient
+       id="linearGradient6053">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6055" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop6057" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6499"
+       inkscape:collect="always">
+      <stop
+         id="stop6501"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6503"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient3245"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8327515,0,0,-0.6476426,-48.09403,12.672202)"
+       x1="311.95688"
+       y1="-116.67703"
+       x2="311.95688"
+       y2="-276.41519" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4108"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,32.226123)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4121"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,133.62899)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4127"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,340.11416)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4133"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,426.06823,341.18482)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4557"
+       id="radialGradient4563"
+       cx="754.52362"
+       cy="248.26866"
+       fx="754.52362"
+       fy="248.26866"
+       r="648.54285"
+       gradientTransform="matrix(-0.6867835,-1.4236353,1.4876169,-0.7176493,903.38936,1551.3895)"
+       gradientUnits="userSpaceOnUse" />
+    <inkscape:perspective
+       id="perspective3691"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3986"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9434139,0,0,0.9434139,44.209028,-124.00654)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <filter
+       inkscape:collect="always"
+       id="filter4599">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.4283654"
+         id="feGaussianBlur4601" />
+    </filter>
+  </defs>
+  <rect
+     style="fill:#000000;fill-opacity:1"
+     id="rect2851"
+     width="1000"
+     height="800"
+     x="0"
+     y="0" />
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Goblin"
+     x="266.96185"
+     y="759.88806"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="759.88806" /></text>
+  <g
+     id="g3989"
+     transform="matrix(0.65125866,0,0,0.65125866,222.97032,194.47551)"
+     style="filter:url(#filter4599);opacity:1">
+    <path
+       id="path1939"
+       d="m 776.35866,159.55735 -13.59856,0 -2.71967,6.79924 2.71967,7.47917 -1.35984,8.15909 -6.79918,-4.07955 -5.43934,-10.19886 -11.55882,-2.71971 -4.75942,-4.75946 -10.19888,-4.75948 -11.55869,-19.03788 0.67991,-8.83902 28.55686,-21.75758 13.59837,6.11931 2.03984,4.75948 0,5.4394 3.39959,4.75946 6.79928,2.03978 4.75943,-4.07955 0.67992,-4.75947 -2.03975,-4.07954 -4.07951,-2.03977 -2.71977,-3.39963 6.11936,-2.71969 -1.35984,-6.79925 0,-4.07956 -4.07951,-4.07954 -2.03985,-6.11931 -8.15902,-2.03977 -6.79928,-1.35986 -14.27847,10.19887 -36.03596,14.27842 -8.15911,8.15909 -6.11927,4.75947 -1.35994,10.87879 2.71977,5.4394 6.79928,18.35795 8.83894,16.99811 9.51895,12.23864 -14.9583,24.47729 -16.99814,36.71591 -10.19887,16.31818 -16.99806,21.07767 -0.67992,9.51895 -8.83903,8.15908 13.59847,12.23866 -3.3996,14.27839 1.35984,31.95646 6.11926,36.71592 6.11936,32.63638 6.79918,10.87879 9.51906,19.7178 14.9583,22.43751 4.0795,14.27837 4.0796,10.19888 -12.23871,16.99811 -21.75758,8.83902 -2.03976,6.7993 41.4754,-1.35985 -6.11926,10.87876 7.47911,6.79923 19.71782,2.03981 15.63831,-13.59852 5.43944,-19.03784 8.83893,-16.31821 10.8788,-9.51893 3.39959,-10.87882 -11.55861,-0.67991 7.4791,-7.47918 -14.9583,4.75948 10.87879,-10.8788 -8.15911,-2.03977 -6.11937,-7.47917 -10.19886,-21.07766 -23.79734,-19.71781 -4.75943,-1.35984 4.75943,-4.07955 -0.67992,-11.55872 4.75952,-10.19886 -4.0796,0.67992 7.47919,-12.91856 0,-12.91857 4.75944,-6.79924 0,-8.83902 10.19886,-13.5985 0.68002,-11.5587 -2.03985,-9.51895 4.75952,-10.87879 5.43935,-8.83902 0,-5.43939 6.11936,-0.67992 5.43935,-5.4394 4.75952,-13.59848 10.87878,-12.23865 12.91856,-4.75947 8.15901,6.79924 19.71792,6.11933 15.63821,8.15908 7.47911,9.51895 12.91854,1.35985 40.79558,17.67803 21.07757,7.47918 16.99814,12.91856 4.07961,-1.35986 0,-4.07954 -9.51896,-7.47916 18.35789,4.75946 2.03986,-3.39963 -4.0796,-4.07952 6.79928,0 0.67991,-4.07956 -12.23863,-2.7197 9.51886,-2.7197 0,-4.75947 -3.39959,-0.67991 -10.19887,0.67991 -8.15902,-3.39962 -5.43944,-2.71969 8.15911,-6.79925 2.03976,-4.75947 -1.35984,-3.39963 -7.4791,1.35986 -15.63841,8.15908 -2.03966,4.07955 -5.43944,-1.35984 -19.71783,-10.87879 -0.67991,-7.47917 -11.55871,-6.11933 -19.71782,-10.19887 -4.75944,3.39963 0.67993,-4.75947 -10.87879,-10.19887 -9.51896,-2.7197 -8.83903,-10.19886 -2.71966,-3.39963 8.83902,6.11933 -1.35983,-6.79926 6.79918,3.39963 -2.03976,-10.19887 9.51895,8.83903 -4.0795,-6.11932 9.51885,4.07953 -8.15902,-11.5587 6.11927,2.03977 -2.71967,-10.87879 4.75942,4.07954 -6.79918,-10.19887 6.79918,2.03977 -6.11926,-8.15908 8.15902,-0.67993 -8.83894,-5.4394 5.43935,-2.71968 -6.11926,-0.67994 8.15902,-7.47916 -7.47911,0.67992 0.67992,-4.75947 0.67991,-13.59848 -4.0795,9.51894 -4.75952,-13.5985 0.67991,10.8788 -2.71967,0.67992 -6.79928,0 -7.47919,-10.87879 -7.47911,0 -8.83904,-7.47917 -4.0796,4.07954 -10.19877,6.79926 z"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.67309087999999995px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="cssc"
+       id="path3759"
+       d="m 745.83064,91.72488 c -26.62135,-9.8399 -37.65223,26.15318 -32.15617,47.65699 6.43181,25.16505 8.4097,56.02071 -3.17298,78.7166 -8.29967,16.26295 -46.68286,22.35178 -46.1986,45.20859"
+       style="fill:none;stroke:#000000;stroke-width:1.60380363000000004;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
diff --git a/data/themes/default/songs_bg_ground.svg b/data/themes/default/songs_bg_ground.svg
new file mode 100644 (file)
index 0000000..f7c2ec5
--- /dev/null
@@ -0,0 +1,264 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="1000"
+   height="800"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="songs_bg_ground.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="859"
+     inkscape:window-width="1537"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.87006002"
+     inkscape:cx="232.66006"
+     inkscape:cy="328.41019"
+     inkscape:window-x="225"
+     inkscape:window-y="127"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs561">
+    <linearGradient
+       id="linearGradient4557">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4559" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop4561" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2518"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9434139,0,0,0.9434139,62.279262,39.359798)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       id="linearGradient3945">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3947" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3949" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 400 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1000 : 400 : 1"
+       inkscape:persp3d-origin="500 : 266.66667 : 1"
+       id="perspective62" />
+    <linearGradient
+       id="linearGradient6053">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6055" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop6057" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6499"
+       inkscape:collect="always">
+      <stop
+         id="stop6501"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6503"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient3245"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8327515,0,0,-0.6476426,-48.09403,12.672202)"
+       x1="311.95688"
+       y1="-116.67703"
+       x2="311.95688"
+       y2="-276.41519" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4108"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,32.226123)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4121"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,133.62899)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4127"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,40.754503,340.11416)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6499"
+       id="linearGradient4133"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2483528,0,0,1.0242885,426.06823,341.18482)"
+       x1="44.868057"
+       y1="260.4765"
+       x2="358.07056"
+       y2="260.4765" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4557"
+       id="radialGradient4563"
+       cx="754.52362"
+       cy="248.26866"
+       fx="754.52362"
+       fy="248.26866"
+       r="648.54285"
+       gradientTransform="matrix(-0.6867835,-1.4236353,1.4876169,-0.7176493,903.38936,1551.3895)"
+       gradientUnits="userSpaceOnUse" />
+    <inkscape:perspective
+       id="perspective3691"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3986"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9434139,0,0,0.9434139,44.209028,-124.00654)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6053-8"
+       id="linearGradient3242"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.0616996,0,0,3.9597975,-718.21316,1166.9898)"
+       x1="410.25833"
+       y1="-446.23236"
+       x2="410.25833"
+       y2="-496.73999" />
+    <linearGradient
+       id="linearGradient6053-8">
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="0"
+         id="stop6055-7" />
+      <stop
+         id="stop3782"
+         offset="0.20999999"
+         style="stop-color:#242424;stop-opacity:1;" />
+      <stop
+         style="stop-color:#5f5f5f;stop-opacity:1;"
+         offset="1"
+         id="stop6057-9" />
+    </linearGradient>
+    <linearGradient
+       y2="-496.73999"
+       x2="410.25833"
+       y1="-446.23236"
+       x1="410.25833"
+       gradientTransform="matrix(3.0616996,0,0,4.7562535,-718.21316,1562.6214)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4031"
+       xlink:href="#linearGradient6053-8"
+       inkscape:collect="always" />
+  </defs>
+  <text
+     xml:space="preserve"
+     style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Goblin"
+     x="266.96185"
+     y="759.88806"
+     id="text2508"><tspan
+       sodipodi:role="line"
+       id="tspan2510"
+       x="266.96185"
+       y="759.88806" /></text>
+  <rect
+     y="-800"
+     x="0"
+     height="240.22711"
+     width="1000"
+     id="rect6051"
+     style="fill:url(#linearGradient4031);fill-opacity:1"
+     transform="scale(1,-1)" />
+</svg>
diff --git a/data/themes/default/songs_has_hiscore.svg b/data/themes/default/songs_has_hiscore.svg
new file mode 100644 (file)
index 0000000..17b2465
--- /dev/null
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="800.000000"
+   height="600.000000"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="songs_hiscore.svg"
+   sodipodi:docbase="/home/yoda/UltraStar/sf/UltraStar-ng/themes/default"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="797"
+     inkscape:window-width="1081"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.89095454"
+     inkscape:cx="141.39663"
+     inkscape:cy="249.62029"
+     inkscape:window-x="235"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg559"
+     showgrid="false" />
+  <defs
+     id="defs561">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <text
+     xml:space="preserve"
+     style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Goblin;-inkscape-font-specification:Goblin Bold"
+     x="400"
+     y="240.31577"
+     id="text1990"><tspan
+       sodipodi:role="line"
+       id="tspan1992"
+       x="400"
+       y="332.31577">Hiscore</tspan></text>
+</svg>
diff --git a/data/themes/default/songs_hiscores.svg b/data/themes/default/songs_hiscores.svg
new file mode 100644 (file)
index 0000000..22f7ab3
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="800.000000"
+   height="600.000000"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="songs_hiscores.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1145"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.89095454"
+     inkscape:cx="188.14938"
+     inkscape:cy="292.77184"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+    <inkscape:perspective
+       id="perspective2864"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <text
+     xml:space="preserve"
+     style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.797997px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Goblin;-inkscape-font-specification:Goblin Bold"
+     x="476.60596"
+     y="260.27982"
+     id="text1990"><tspan
+       sodipodi:role="line"
+       id="tspan1992"
+       x="476.60596"
+       y="260.27982"
+       style="font-size:10px;text-align:start;text-anchor:start;stroke-width:0.797997">hiscores</tspan></text>
+</svg>
diff --git a/data/themes/default/songs_order.svg b/data/themes/default/songs_order.svg
new file mode 100644 (file)
index 0000000..16d0e80
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="800.000000"
+   height="600.000000"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="songs_order.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="776"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.89095454"
+     inkscape:cx="436.75329"
+     inkscape:cy="249.62029"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <text
+     xml:space="preserve"
+     style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Goblin,sans-serif;-inkscape-font-specification:Goblin Bold"
+     x="420.20306"
+     y="508.53128"
+     id="text1990"><tspan
+       sodipodi:role="line"
+       id="tspan1992"
+       x="420.20306"
+       y="508.53128">Order by</tspan></text>
+</svg>
diff --git a/data/themes/default/songs_song.svg b/data/themes/default/songs_song.svg
new file mode 100644 (file)
index 0000000..17a24d6
--- /dev/null
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   x="0"
+   y="0"
+   width="800.000000"
+   height="600.000000"
+   id="svg559"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="songs_song.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1053"
+     inkscape:window-width="1920"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.26"
+     inkscape:cx="335.39093"
+     inkscape:cy="318.08787"
+     inkscape:window-x="0"
+     inkscape:window-y="-1"
+     inkscape:current-layer="svg559"
+     showgrid="false"
+     inkscape:window-maximized="1" />
+  <defs
+     id="defs561">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective8" />
+  </defs>
+  <text
+     xml:space="preserve"
+     style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;text-anchor:start;fill:#aaddff;fill-opacity:1;stroke:none;font-family:NewRocker,Goblin"
+     x="25.426828"
+     y="342.27066"
+     id="text1990"><tspan
+       sodipodi:role="line"
+       x="25.426828"
+       y="342.27066"
+       id="tspan3151"
+       style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#aaddff;fill-opacity:1;stroke:none;font-family:NewRocker,Goblin">Artist - Song</tspan><tspan
+       sodipodi:role="line"
+       x="25.426828"
+       y="382.27066"
+       id="tspan3155"
+       style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#aaddff;fill-opacity:1;stroke:none;font-family:NewRocker,Goblin" /></text>
+</svg>
diff --git a/data/themes/default/star.svg b/data/themes/default/star.svg
new file mode 100644 (file)
index 0000000..6645a07
--- /dev/null
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="64"
+   id="svg2463"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   version="1.0"
+   sodipodi:docname="star.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2465">
+    <linearGradient
+       id="linearGradient3596">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3598" />
+      <stop
+         id="stop3604"
+         offset="0.35157821"
+         style="stop-color:#ffffff;stop-opacity:0.82681566;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop3600" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3262">
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.22680412;"
+         offset="0"
+         id="stop3264" />
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.96078432;"
+         offset="1"
+         id="stop3266" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2471" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3272"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,40.335717,481.59837)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2406"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,43.114888,485.8841)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3596"
+       id="radialGradient3602"
+       cx="31.851444"
+       cy="31.795218"
+       fx="31.851444"
+       fy="31.795218"
+       r="30.551558"
+       gradientTransform="matrix(1,0,0,0.95456924,0,1.3128087)"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter3086"
+       inkscape:label="Drop shadow"
+       width="1.5"
+       height="1.5"
+       x="-.25"
+       y="-.25">
+      <feGaussianBlur
+         id="feGaussianBlur3088"
+         in="SourceAlpha"
+         stdDeviation="4.000000"
+         result="blur" />
+      <feColorMatrix
+         id="feColorMatrix3090"
+         result="bluralpha"
+         type="matrix"
+         values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 0.500000 0 " />
+      <feOffset
+         id="feOffset3092"
+         in="bluralpha"
+         dx="0.000000"
+         dy="0.000000"
+         result="offsetBlur" />
+      <feMerge
+         id="feMerge3094">
+        <feMergeNode
+           id="feMergeNode3096"
+           in="offsetBlur" />
+        <feMergeNode
+           id="feMergeNode3098"
+           in="SourceGraphic" />
+      </feMerge>
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#f5f5f5"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6"
+     inkscape:cx="26.939127"
+     inkscape:cy="39.646263"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="854"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata2468">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-110.35967,-771.51188)">
+    <path
+       sodipodi:type="star"
+       style="fill:url(#radialGradient3602);fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3086)"
+       id="path2822"
+       sodipodi:sides="5"
+       sodipodi:cx="31.964287"
+       sodipodi:cy="31.857143"
+       sodipodi:r1="32.125885"
+       sodipodi:r2="4.8188829"
+       sodipodi:arg1="0.93111088"
+       sodipodi:arg2="1.5577518"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 51.141613,57.631213 32.027145,36.675616 13.377809,58.06049 27.401071,33.405915 1.2998864,22.277632 29.081206,27.995864 31.599122,-0.26666619 34.745661,27.92197 62.403003,21.583048 36.566351,33.286352 51.141613,57.631213 z"
+       transform="matrix(1.0474097,0,0,1.0972591,108.99816,771.80448)" />
+  </g>
+</svg>
diff --git a/data/themes/default/star_glow.svg b/data/themes/default/star_glow.svg
new file mode 100644 (file)
index 0000000..da6290f
--- /dev/null
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="64"
+   id="svg2463"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   version="1.0"
+   sodipodi:docname="star_glow.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2465">
+    <linearGradient
+       id="linearGradient3596">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3598" />
+      <stop
+         id="stop3604"
+         offset="0.35157821"
+         style="stop-color:#ffffff;stop-opacity:0.82681566;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop3600" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3262">
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.22680412;"
+         offset="0"
+         id="stop3264" />
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.96078432;"
+         offset="1"
+         id="stop3266" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2471" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3272"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,40.335717,481.59837)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2406"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,43.114888,485.8841)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <filter
+       id="filter3086"
+       inkscape:label="Noisy blur"
+       width="1.5"
+       height="1.5"
+       x="-0.25"
+       y="-0.25"
+       inkscape:menu="Blurs"
+       inkscape:menu-tooltip="Small-scale roughening and blurring to edges and content"
+       color-interpolation-filters="sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur3088"
+         in="SourceAlpha"
+         stdDeviation="4.000000"
+         result="blur" />
+      <feColorMatrix
+         id="feColorMatrix3090"
+         result="bluralpha"
+         type="matrix"
+         values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 0.500000 0 " />
+      <feOffset
+         id="feOffset3092"
+         in="bluralpha"
+         dx="0.000000"
+         dy="0.000000"
+         result="offsetBlur" />
+      <feMerge
+         id="feMerge3094"
+         result="fbSourceGraphic">
+        <feMergeNode
+           id="feMergeNode3096"
+           in="offsetBlur" />
+        <feMergeNode
+           id="feMergeNode3098"
+           in="SourceGraphic" />
+      </feMerge>
+      <feColorMatrix
+         result="fbSourceGraphicAlpha"
+         in="fbSourceGraphic"
+         values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+         id="feColorMatrix2833" />
+      <feGaussianBlur
+         id="feGaussianBlur2835"
+         stdDeviation="5"
+         result="result1"
+         in="fbSourceGraphic" />
+      <feTurbulence
+         id="feTurbulence2837"
+         numOctaves="1"
+         seed="0"
+         type="fractalNoise"
+         baseFrequency="0.1"
+         result="result2" />
+      <feDisplacementMap
+         id="feDisplacementMap2839"
+         in2="result2"
+         scale="5"
+         yChannelSelector="G"
+         xChannelSelector="R"
+         result="result3"
+         in="result1" />
+      <feComposite
+         id="feComposite2841"
+         in2="result3"
+         operator="atop" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#f5f5f5"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6"
+     inkscape:cx="26.939127"
+     inkscape:cy="25.003406"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="852"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata2468">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-110.35967,-771.51188)">
+    <path
+       sodipodi:type="star"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3086)"
+       id="path2822"
+       sodipodi:sides="5"
+       sodipodi:cx="31.964287"
+       sodipodi:cy="31.857143"
+       sodipodi:r1="32.125885"
+       sodipodi:r2="20.280416"
+       sodipodi:arg1="0.93111088"
+       sodipodi:arg2="1.55929"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="M 51.141613,57.631213 32.197635,52.136217 13.377809,58.06049 12.74985,38.345649 1.2998864,22.277632 19.855764,15.588186 31.599122,-0.26666619 43.695245,15.313869 62.403003,21.583048 51.322941,37.901795 51.141613,57.631213 z"
+       transform="matrix(1.0474097,0,0,1.0972591,108.99816,771.80448)" />
+  </g>
+</svg>
diff --git a/data/themes/default/tail.svg b/data/themes/default/tail.svg
new file mode 100644 (file)
index 0000000..06522d9
--- /dev/null
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="256"
+   id="svg2463"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   version="1.0"
+   sodipodi:docname="tail.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2465">
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lend"
+       style="overflow:visible;">
+      <path
+         id="path3829"
+         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Tail"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Tail"
+       style="overflow:visible">
+      <g
+         id="g3844"
+         transform="scale(-1.2)">
+        <path
+           id="path3846"
+           d="M -3.8048674,-3.9585227 L 0.54352094,0"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" />
+        <path
+           id="path3848"
+           d="M -1.2866832,-3.9585227 L 3.0617053,0"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" />
+        <path
+           id="path3850"
+           d="M 1.3053582,-3.9585227 L 5.6537466,0"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" />
+        <path
+           id="path3852"
+           d="M -3.8048674,4.1775838 L 0.54352094,0.21974226"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" />
+        <path
+           id="path3854"
+           d="M -1.2866832,4.1775838 L 3.0617053,0.21974226"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" />
+        <path
+           id="path3856"
+           d="M 1.3053582,4.1775838 L 5.6537466,0.21974226"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" />
+      </g>
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;">
+      <path
+         id="path3811"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible">
+      <path
+         id="path3808"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="DotL"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="DotL"
+       style="overflow:visible">
+      <path
+         id="path3870"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;marker-end:none"
+         transform="scale(0.8) translate(7.4, 1)" />
+    </marker>
+    <linearGradient
+       id="linearGradient3262">
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.22680412;"
+         offset="0"
+         id="stop3264" />
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.96078432;"
+         offset="1"
+         id="stop3266" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2471" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3272"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,40.335717,481.59837)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2406"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,43.114888,485.8841)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <inkscape:perspective
+       id="perspective3603"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <filter
+       id="filter4437"
+       y="-0.25"
+       height="1.5"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark and Glow"
+       color-interpolation-filters="sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur4439"
+         stdDeviation="5"
+         result="result6" />
+      <feComposite
+         id="feComposite4441"
+         in2="result6"
+         result="result8"
+         in="SourceGraphic"
+         operator="atop" />
+      <feComposite
+         id="feComposite4443"
+         in2="SourceAlpha"
+         result="result9"
+         operator="over"
+         in="result8" />
+      <feColorMatrix
+         id="feColorMatrix4445"
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10" />
+      <feBlend
+         id="feBlend4447"
+         in2="result6"
+         in="result10"
+         mode="normal" />
+    </filter>
+    <filter
+       id="filter5783"
+       y="-0.25"
+       height="1.5"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark and Glow"
+       color-interpolation-filters="sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur5785"
+         stdDeviation="5"
+         result="result6" />
+      <feComposite
+         id="feComposite5787"
+         in2="result6"
+         result="result8"
+         in="SourceGraphic"
+         operator="atop" />
+      <feComposite
+         id="feComposite5789"
+         in2="SourceAlpha"
+         result="result9"
+         operator="over"
+         in="result8" />
+      <feColorMatrix
+         id="feColorMatrix5791"
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10" />
+      <feBlend
+         id="feBlend5793"
+         in2="result6"
+         in="result10"
+         mode="normal" />
+    </filter>
+    <filter
+       id="filter5813"
+       y="-0.25"
+       height="1.5"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark and Glow"
+       color-interpolation-filters="sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur5815"
+         stdDeviation="5"
+         result="result6" />
+      <feComposite
+         id="feComposite5817"
+         in2="result6"
+         result="result8"
+         in="SourceGraphic"
+         operator="atop" />
+      <feComposite
+         id="feComposite5819"
+         in2="SourceAlpha"
+         result="result9"
+         operator="over"
+         in="result8" />
+      <feColorMatrix
+         id="feColorMatrix5821"
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10" />
+      <feBlend
+         id="feBlend5823"
+         in2="result6"
+         in="result10"
+         mode="normal" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#f5f5f5"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.5550825"
+     inkscape:cx="32"
+     inkscape:cy="128"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1099"
+     inkscape:window-height="818"
+     inkscape:window-x="200"
+     inkscape:window-y="26"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata2468">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-110.35967,-643.51188)">
+    <rect
+       style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter5813)"
+       id="rect5811"
+       width="24"
+       height="300"
+       x="130.35966"
+       y="647.5119"
+       rx="12"
+       ry="42.907162" />
+  </g>
+</svg>
diff --git a/data/themes/default/tail_drumfill.svg b/data/themes/default/tail_drumfill.svg
new file mode 100644 (file)
index 0000000..1a38db5
--- /dev/null
@@ -0,0 +1,375 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="256"
+   id="svg2463"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   version="1.0"
+   sodipodi:docname="tail_drumfill.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2465">
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lend"
+       style="overflow:visible;">
+      <path
+         id="path3829"
+         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Tail"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Tail"
+       style="overflow:visible">
+      <g
+         id="g3844"
+         transform="scale(-1.2)">
+        <path
+           id="path3846"
+           d="M -3.8048674,-3.9585227 L 0.54352094,0"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" />
+        <path
+           id="path3848"
+           d="M -1.2866832,-3.9585227 L 3.0617053,0"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" />
+        <path
+           id="path3850"
+           d="M 1.3053582,-3.9585227 L 5.6537466,0"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" />
+        <path
+           id="path3852"
+           d="M -3.8048674,4.1775838 L 0.54352094,0.21974226"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" />
+        <path
+           id="path3854"
+           d="M -1.2866832,4.1775838 L 3.0617053,0.21974226"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" />
+        <path
+           id="path3856"
+           d="M 1.3053582,4.1775838 L 5.6537466,0.21974226"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" />
+      </g>
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;">
+      <path
+         id="path3811"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible">
+      <path
+         id="path3808"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="DotL"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="DotL"
+       style="overflow:visible">
+      <path
+         id="path3870"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;marker-end:none"
+         transform="scale(0.8) translate(7.4, 1)" />
+    </marker>
+    <linearGradient
+       id="linearGradient3262">
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.22680412;"
+         offset="0"
+         id="stop3264" />
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.96078432;"
+         offset="1"
+         id="stop3266" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2471" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3272"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,40.335717,481.59837)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2406"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,43.114888,485.8841)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <inkscape:perspective
+       id="perspective3603"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <filter
+       id="filter4437"
+       y="-0.25"
+       height="1.5"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark and Glow"
+       color-interpolation-filters="sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur4439"
+         stdDeviation="5"
+         result="result6" />
+      <feComposite
+         id="feComposite4441"
+         in2="result6"
+         result="result8"
+         in="SourceGraphic"
+         operator="atop" />
+      <feComposite
+         id="feComposite4443"
+         in2="SourceAlpha"
+         result="result9"
+         operator="over"
+         in="result8" />
+      <feColorMatrix
+         id="feColorMatrix4445"
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10" />
+      <feBlend
+         id="feBlend4447"
+         in2="result6"
+         in="result10"
+         mode="normal" />
+    </filter>
+    <filter
+       id="filter5783"
+       y="-0.25"
+       height="1.5"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark and Glow"
+       color-interpolation-filters="sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur5785"
+         stdDeviation="5"
+         result="result6" />
+      <feComposite
+         id="feComposite5787"
+         in2="result6"
+         result="result8"
+         in="SourceGraphic"
+         operator="atop" />
+      <feComposite
+         id="feComposite5789"
+         in2="SourceAlpha"
+         result="result9"
+         operator="over"
+         in="result8" />
+      <feColorMatrix
+         id="feColorMatrix5791"
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10" />
+      <feBlend
+         id="feBlend5793"
+         in2="result6"
+         in="result10"
+         mode="normal" />
+    </filter>
+    <filter
+       id="filter5813"
+       y="-0.25"
+       height="1.5"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark and Glow"
+       color-interpolation-filters="sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur5815"
+         stdDeviation="5"
+         result="result6" />
+      <feComposite
+         id="feComposite5817"
+         in2="result6"
+         result="result8"
+         in="SourceGraphic"
+         operator="atop" />
+      <feComposite
+         id="feComposite5819"
+         in2="SourceAlpha"
+         result="result9"
+         operator="over"
+         in="result8" />
+      <feColorMatrix
+         id="feColorMatrix5821"
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10" />
+      <feBlend
+         id="feBlend5823"
+         in2="result6"
+         in="result10"
+         mode="normal" />
+    </filter>
+    <filter
+       id="filter3704"
+       inkscape:label="Darken edges"
+       inkscape:menu="Shadows and Glows"
+       inkscape:menu-tooltip="Darken the edges with an inner blur"
+       color-interpolation-filters="sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur3706"
+         result="result6"
+         stdDeviation="1.5" />
+      <feComposite
+         id="feComposite3708"
+         in2="result6"
+         operator="atop"
+         in="SourceGraphic"
+         result="result8" />
+      <feComposite
+         id="feComposite3710"
+         in2="SourceAlpha"
+         in="result8"
+         operator="atop"
+         result="result9" />
+    </filter>
+    <filter
+       id="filter3720"
+       y="-0.25"
+       height="1.5"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark and Glow"
+       color-interpolation-filters="sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur3722"
+         stdDeviation="5"
+         result="result6" />
+      <feComposite
+         id="feComposite3724"
+         in2="result6"
+         result="result8"
+         in="SourceGraphic"
+         operator="atop" />
+      <feComposite
+         id="feComposite3726"
+         in2="SourceAlpha"
+         result="result9"
+         operator="over"
+         in="result8" />
+      <feColorMatrix
+         id="feColorMatrix3728"
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10" />
+      <feBlend
+         id="feBlend3730"
+         in2="result6"
+         in="result10"
+         mode="normal" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#f5f5f5"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.5550825"
+     inkscape:cx="-84.392539"
+     inkscape:cy="128"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1099"
+     inkscape:window-height="818"
+     inkscape:window-x="200"
+     inkscape:window-y="26"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata2468">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-110.35967,-643.51188)">
+    <rect
+       style="fill:#dedede;fill-opacity:0.87058824;stroke:none;filter:url(#filter3720)"
+       id="rect5811"
+       width="44"
+       height="250"
+       x="120.35967"
+       y="646.5119"
+       rx="22"
+       ry="29.325443" />
+  </g>
+</svg>
diff --git a/data/themes/default/tail_glow.svg b/data/themes/default/tail_glow.svg
new file mode 100644 (file)
index 0000000..abe540f
--- /dev/null
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="256"
+   id="svg2463"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   version="1.0"
+   sodipodi:docname="tail_glow.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2465">
+    <linearGradient
+       id="linearGradient3262">
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.22680412;"
+         offset="0"
+         id="stop3264" />
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.96078432;"
+         offset="1"
+         id="stop3266" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2471" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3272"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,40.335717,481.59837)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2406"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,43.114888,485.8841)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <inkscape:perspective
+       id="perspective3615"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <filter
+       id="filter3684"
+       inkscape:label="Glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:menu-tooltip="Glow of object's own color at the edges"
+       color-interpolation-filters="sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur3686"
+         result="result6"
+         stdDeviation="1.5" />
+      <feComposite
+         id="feComposite3688"
+         in2="result6"
+         operator="atop"
+         in="SourceGraphic"
+         result="result8" />
+      <feComposite
+         id="feComposite3690"
+         in2="SourceAlpha"
+         in="result8"
+         operator="atop"
+         result="fbSourceGraphic" />
+      <feColorMatrix
+         result="fbSourceGraphicAlpha"
+         in="fbSourceGraphic"
+         values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+         id="feColorMatrix3700" />
+      <feGaussianBlur
+         id="feGaussianBlur3702"
+         stdDeviation="5"
+         result="result91"
+         in="fbSourceGraphic" />
+      <feComposite
+         id="feComposite3704"
+         in2="result91"
+         in="fbSourceGraphic"
+         operator="over" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#f5f5f5"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="-33.154762"
+     inkscape:cy="129.0314"
+     inkscape:document-units="px"
+     inkscape:current-layer="g3643"
+     showgrid="false"
+     inkscape:window-width="1099"
+     inkscape:window-height="818"
+     inkscape:window-x="306"
+     inkscape:window-y="14"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata2468">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-110.35967,-643.51188)">
+    <g
+       id="g3643">
+      <g
+         id="g3676"
+         style="stroke:#ffffff;stroke-opacity:1;filter:url(#filter3684)">
+        <g
+           id="g3651"
+           style="stroke:#ffffff;stroke-opacity:1">
+          <path
+             sodipodi:nodetypes="cc"
+             id="path2822-9"
+             d="m 142.35967,643.51188 c -1.82001,9.86717 -24.72011,65.93297 0,128"
+             style="fill:none;stroke:#ffffff;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+          <path
+             style="fill:none;stroke:#ffffff;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+             d="m 142.35967,899.51188 c 1.82001,-9.86717 24.72011,-65.93297 0,-128"
+             id="path3649"
+             sodipodi:nodetypes="cc" />
+        </g>
+        <g
+           transform="matrix(-1,0,0,1,284.71934,0)"
+           id="g3670"
+           style="stroke:#ffffff;stroke-opacity:1">
+          <path
+             style="fill:none;stroke:#ffffff;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+             d="m 142.35967,643.51188 c -1.82001,9.86717 -24.72011,65.93297 0,128"
+             id="path3672"
+             sodipodi:nodetypes="cc" />
+          <path
+             sodipodi:nodetypes="cc"
+             id="path3674"
+             d="m 142.35967,899.51188 c 1.82001,-9.86717 24.72011,-65.93297 0,-128"
+             style="fill:none;stroke:#ffffff;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/data/themes/default/tap.svg b/data/themes/default/tap.svg
new file mode 100644 (file)
index 0000000..2976aed
--- /dev/null
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="64"
+   id="svg2463"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="tap.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs2465">
+    <linearGradient
+       id="linearGradient3262">
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.22680412;"
+         offset="0"
+         id="stop3264" />
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:0.96078432;"
+         offset="1"
+         id="stop3266" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751"
+       inkscape:collect="always">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2471" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient3272"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,40.335717,481.59837)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3751"
+       id="linearGradient2406"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3868046,0,0,0.3868046,43.114888,485.8841)"
+       x1="665.12128"
+       y1="684.16162"
+       x2="381.28015"
+       y2="449.80624" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#f5f5f5"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6"
+     inkscape:cx="-1.9902199"
+     inkscape:cy="38.579797"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1021"
+     inkscape:window-height="720"
+     inkscape:window-x="87"
+     inkscape:window-y="34" />
+  <metadata
+     id="metadata2468">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-110.35967,-771.51188)">
+    <path
+       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.16799999999999993;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       d="M 145.82521,786.11711 L 144.45057,786.11711 L 144.17565,786.80444 L 144.45057,787.56047 L 144.31311,788.38526 L 143.62581,787.97287 L 143.07595,786.94189 L 141.90751,786.66697 L 141.42639,786.18585 L 140.39542,785.70472 L 139.22698,783.78023 L 139.29572,782.88672 L 142.18244,780.6873 L 143.55706,781.30589 L 143.76326,781.78703 L 143.76326,782.33687 L 144.10692,782.81799 L 144.79423,783.02419 L 145.27535,782.61179 L 145.34408,782.13067 L 145.13789,781.71829 L 144.7255,781.51209 L 144.45057,781.16843 L 145.06916,780.89351 L 144.9317,780.20618 L 144.9317,779.7938 L 144.51932,779.3814 L 144.31311,778.76281 L 143.48834,778.55663 L 142.80102,778.41916 L 141.35765,779.45014 L 137.71489,780.89351 L 136.8901,781.71829 L 136.27151,782.19941 L 136.13404,783.29911 L 136.40899,783.84896 L 137.09631,785.70472 L 137.98981,787.42302 L 138.95205,788.66018 L 137.43996,791.13453 L 135.72166,794.84603 L 134.69068,796.49558 L 132.97241,798.62627 L 132.90367,799.58851 L 132.01017,800.4133 L 133.38479,801.65047 L 133.04114,803.09384 L 133.1786,806.32421 L 133.79717,810.03572 L 134.41577,813.33485 L 135.10307,814.43455 L 136.06533,816.42776 L 137.57742,818.69592 L 137.98981,820.13927 L 138.4022,821.17025 L 137.16502,822.88855 L 134.96561,823.78205 L 134.75943,824.46937 L 138.95205,824.33192 L 138.33347,825.43162 L 139.08951,826.11894 L 141.08274,826.32513 L 142.66356,824.9505 L 143.21342,823.02602 L 144.10692,821.37645 L 145.20662,820.41421 L 145.55028,819.3145 L 144.38186,819.24576 L 145.13789,818.48971 L 143.62581,818.97084 L 144.7255,817.87112 L 143.90073,817.66494 L 143.28213,816.90889 L 142.25117,814.77821 L 139.84556,812.785 L 139.36445,812.64753 L 139.84556,812.23514 L 139.77683,811.06671 L 140.25796,810.03572 L 139.84556,810.10446 L 140.60161,808.79856 L 140.60161,807.49266 L 141.08274,806.80534 L 141.08274,805.91182 L 142.1137,804.53718 L 142.18244,803.36875 L 141.97624,802.40652 L 142.45737,801.3068 L 143.0072,800.4133 L 143.0072,799.86344 L 143.62581,799.7947 L 144.17565,799.24485 L 144.65677,797.87022 L 145.75648,796.63305 L 147.06237,796.15193 L 147.88715,796.83925 L 149.88037,797.45783 L 151.4612,798.28261 L 152.21723,799.24485 L 153.52314,799.38231 L 157.64704,801.16934 L 159.77771,801.92538 L 161.49601,803.23129 L 161.90839,803.09384 L 161.90839,802.68144 L 160.94616,801.92538 L 162.8019,802.40652 L 163.0081,802.06285 L 162.59571,801.65047 L 163.28303,801.65047 L 163.35176,801.23808 L 162.11459,800.96314 L 163.07683,800.68821 L 163.07683,800.2071 L 162.73317,800.13837 L 161.70219,800.2071 L 160.87743,799.86344 L 160.32757,799.58851 L 161.15235,798.90119 L 161.35855,798.42008 L 161.22108,798.07642 L 160.46504,798.21388 L 158.8842,799.03866 L 158.67802,799.45105 L 158.12816,799.31359 L 156.13494,798.21388 L 156.0662,797.45783 L 154.89777,796.83925 L 152.90456,795.80826 L 152.42345,796.15193 L 152.49216,795.6708 L 151.39247,794.63983 L 150.43021,794.36491 L 149.53671,793.33393 L 149.26179,792.99027 L 150.1553,793.60886 L 150.01784,792.92154 L 150.70515,793.26519 L 150.49895,792.23422 L 151.4612,793.12772 L 151.04882,792.50914 L 152.01105,792.92154 L 151.18628,791.75311 L 151.80485,791.95929 L 151.52993,790.8596 L 152.01105,791.27198 L 151.32373,790.24102 L 152.01105,790.44721 L 151.39247,789.62243 L 152.21723,789.55369 L 151.32373,789.00384 L 151.87358,788.72892 L 151.25501,788.66018 L 152.07977,787.90413 L 151.32373,787.97287 L 151.39247,787.49175 L 151.4612,786.11711 L 151.04882,787.07936 L 150.56768,785.70472 L 150.63642,786.80444 L 150.36149,786.87316 L 149.67417,786.87316 L 148.91813,785.77346 L 148.16207,785.77346 L 147.26856,785.0174 L 146.85617,785.42979 L 145.82521,786.11711 z"
+       id="path1939" />
+  </g>
+</svg>
diff --git a/data/themes/default/vumeter_bg.svg b/data/themes/default/vumeter_bg.svg
new file mode 100644 (file)
index 0000000..6080845
--- /dev/null
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="256"
+   id="svg1901"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="vumeter_bg.svg"
+   sodipodi:docbase="/home/tsoots/ohj/translations/po"
+   version="1.0"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs1903">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective7" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="4.9720185"
+     inkscape:cx="-36.525743"
+     inkscape:cy="96.674529"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     gridtolerance="10000"
+     inkscape:window-width="1920"
+     inkscape:window-height="1125"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     showgrid="true"
+     inkscape:showpageshadow="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3164"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata1906">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Taso 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="opacity:1">
+    <rect
+       style="fill:#000000;fill-opacity:0.75294119;stroke:none;stroke-width:0.05000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2380"
+       width="62"
+       height="254"
+       x="1"
+       y="1"
+       rx="5"
+       ry="5" />
+    <text
+       xml:space="preserve"
+       style="font-size:29.48888778999999971px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#d9d9d9;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Droid Sans Mono"
+       x="18.861689"
+       y="199.61098"
+       id="text3152"
+       transform="scale(0.7952629,1.2574459)"><tspan
+         sodipodi:role="line"
+         id="tspan3154"
+         x="18.861689"
+         y="199.61098">dB</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20.84702301px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Droid Sans Mono"
+       x="4.7968478"
+       y="21.889374"
+       id="text3156"
+       transform="scale(1.0423512,0.9593696)"><tspan
+         sodipodi:role="line"
+         id="tspan3158"
+         x="4.7968478"
+         y="21.889374">CLIP</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Droid Sans Mono"
+       x="15"
+       y="111"
+       id="text3160"><tspan
+         sodipodi:role="line"
+         id="tspan3162"
+         x="15"
+         y="111">-20</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;opacity:1;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Droid Sans Mono"
+       x="15"
+       y="61"
+       id="text3166"><tspan
+         sodipodi:role="line"
+         id="tspan3168"
+         x="15"
+         y="61">-10</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;opacity:1;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Droid Sans Mono"
+       x="15"
+       y="211"
+       id="text3170"><tspan
+         sodipodi:role="line"
+         id="tspan3172"
+         x="15"
+         y="211">-40</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;opacity:1;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Droid Sans Mono"
+       x="15"
+       y="161"
+       id="text3174"><tspan
+         sodipodi:role="line"
+         id="tspan3176"
+         x="15"
+         y="161">-30</tspan></text>
+  </g>
+</svg>
diff --git a/data/themes/default/vumeter_fg.svg b/data/themes/default/vumeter_fg.svg
new file mode 100644 (file)
index 0000000..c85c2b0
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="256"
+   id="svg1901"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="vumeter_fg.svg"
+   sodipodi:docbase="/home/tsoots/ohj/translations/po"
+   version="1.0"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs1903">
+    <linearGradient
+       id="linearGradient3220">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0.75294119;"
+         offset="0"
+         id="stop3222" />
+      <stop
+         id="stop3228"
+         offset="0.16923039"
+         style="stop-color:#ffff41;stop-opacity:0.75294119;" />
+      <stop
+         style="stop-color:#ffff41;stop-opacity:0.75294119;"
+         offset="0.38175285"
+         id="stop3230" />
+      <stop
+         style="stop-color:#00ff00;stop-opacity:0.75294119;"
+         offset="1"
+         id="stop3224" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective7" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3220"
+       id="linearGradient3226"
+       x1="30"
+       y1="6"
+       x2="30"
+       y2="221"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.515748"
+     inkscape:cx="32"
+     inkscape:cy="128"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     gridtolerance="10000"
+     inkscape:window-width="1920"
+     inkscape:window-height="1125"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     showgrid="true"
+     inkscape:showpageshadow="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3164"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata1906">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Taso 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="opacity:1">
+    <rect
+       style="fill:url(#linearGradient3226);fill-opacity:1.0;stroke:none;stroke-width:0.05000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3218"
+       width="55"
+       height="215"
+       x="5"
+       y="6"
+       rx="5"
+       ry="5" />
+  </g>
+</svg>
diff --git a/data/themes/default/warning.svg b/data/themes/default/warning.svg
new file mode 100644 (file)
index 0000000..083e1fc
--- /dev/null
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="800"
+   height="400"
+   id="svg1901"
+   sodipodi:version="0.32"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="warning.svg"
+   version="1.0"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs1903">
+    <linearGradient
+       id="linearGradient4769">
+      <stop
+         style="stop-color:#ffff00;stop-opacity:1;"
+         offset="0"
+         id="stop4771" />
+      <stop
+         id="stop4783"
+         offset="0.25"
+         style="stop-color:#ffff00;stop-opacity:1;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0.25"
+         id="stop4785" />
+      <stop
+         id="stop4777"
+         offset="0.5"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0.75"
+         id="stop4779" />
+      <stop
+         id="stop4781"
+         offset="0.75"
+         style="stop-color:#ffff00;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffff00;stop-opacity:1;"
+         offset="1"
+         id="stop4773" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective7" />
+    <filter
+       inkscape:collect="always"
+       id="filter4825">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="8.445"
+         id="feGaussianBlur4827" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.92658226"
+     inkscape:cx="-194.1015"
+     inkscape:cy="321.93945"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     gridtolerance="10000"
+     inkscape:window-width="1920"
+     inkscape:window-height="1056"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     showgrid="true"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid4789"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata1906">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Taso 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="opacity:1">
+    <rect
+       style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter4825)"
+       id="rect4791"
+       width="760"
+       height="360"
+       x="20"
+       y="20" />
+  </g>
+</svg>
diff --git a/data/themes/default/wave.png b/data/themes/default/wave.png
new file mode 100644 (file)
index 0000000..81e1ced
Binary files /dev/null and b/data/themes/default/wave.png differ
diff --git a/data/xsl/songlist-to-tex.xsl b/data/xsl/songlist-to-tex.xsl
new file mode 100644 (file)
index 0000000..ac1c808
--- /dev/null
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+
+<!-- Use xmlstarlet tr songlist-to-tex.xsl songlist.xml > songlist.tex -->
+<!-- Then compile the tex into pdf with pdflatex songlist.tex -->
+
+<xsl:stylesheet  version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:output method="text" encoding="UTF-8" use-character-maps="tex"/>
+
+<!-- LaTex escaping, doesn't work with xmlstarlet :/
+<xsl:character-map name="tex">
+  <xsl:output-character character="&lt;" string="\textless{}"/>
+  <xsl:output-character character="&gt;" string="\textgreater{}"/>
+  <xsl:output-character character="~" string="\textasciitilde{}"/>
+  <xsl:output-character character="^" string="\textasciicircum{}"/>
+  <xsl:output-character character="&amp;" string="\&amp;"/>
+  <xsl:output-character character="#" string="\#"/>
+  <xsl:output-character character="_" string="\_"/>
+  <xsl:output-character character="$" string="\$"/>
+  <xsl:output-character character="%" string="\%"/>
+  <xsl:output-character character="|" string="\docbooktolatexpipe{}"/>
+  <xsl:output-character character="{" string="\{"/>
+  <xsl:output-character character="}" string="\}"/>
+  <xsl:output-character character="\" string="\textbackslash "/>
+</xsl:character-map>
+-->
+
+<xsl:template match="/songlist">
+
+\documentclass[a4paper,6pt]{report}
+\usepackage[utf8]{inputenc}
+\usepackage{graphicx}
+\usepackage{multicol}
+\oddsidemargin -0.5in
+\textwidth 185mm
+\begin{document}
+\tiny
+\begin{multicols}{4}
+<xsl:for-each select="song">
+\begin{minipage}{45 mm}
+<xsl:choose>
+<xsl:when test="cover">\includegraphics[width=1cm]{<xsl:value-of select="cover"/>}</xsl:when>
+<xsl:otherwise>\hspace{1cm}</xsl:otherwise>
+</xsl:choose>
+\begin{minipage}{35 cm}
+\textbf{<xsl:value-of select="title"/>}
+\newline
+<xsl:value-of select="artist"/>
+\end{minipage}
+\end{minipage}
+</xsl:for-each>
+\end{multicols}
+\end{document}
+
+</xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/data/xsl/songlist-to-xhtml.xsl b/data/xsl/songlist-to-xhtml.xsl
new file mode 100644 (file)
index 0000000..945f922
--- /dev/null
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+
+<!-- Use xmlstarlet tr songlist-to-xhtml.xsl songlist.xml > songlist.xhtml -->
+
+<xsl:stylesheet  version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
+
+<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+
+<xsl:template match="/songlist">
+  <html>
+    <head>
+      <title>Karaoke</title>
+      <meta http-equiv="Content-type" content="application/xhtml+xml; charset=UTF-8"/>
+      <style>
+       body { font-size: xx-small; font-family: sans; }
+       tr { overflow: auto; }
+       th { text-align: left; }
+       td { white-space: pre; overflow: hidden; }
+        #layout { border-spacing: 10mm; }
+        table { float: left; margin: 3mm; table-layout: fixed; width: 46%; border: 2px solid black; border-collapse: collapse; }
+        th:first-child, td:first-child { text-align: right; width: 5ex; }
+        th, td { padding: 2px; padding-left: 3mm; padding-right: 3mm; }
+        table th { background: black; color: white; border-bottom: 2px solid black; }
+        #byArtist tr.fifth { background: #ddf; }
+        #byTitle tr.fifth { background: #cfc; }
+      </style>
+    </head>
+    <body>
+            <table id="byArtist">
+              <thead>
+                <tr><th>#</th><th>Artist</th><th>Title</th></tr>
+              </thead>
+              <tbody>
+                <xsl:for-each select="song">
+                  <tr>
+                    <xsl:if test="position() mod 5 = 0"><xsl:attribute name="class">fifth</xsl:attribute></xsl:if>
+                    <td><xsl:value-of select="@num"/></td><td><xsl:value-of select="artist"/></td><td><xsl:value-of select="title"/></td>
+                  </tr>
+                </xsl:for-each>
+              </tbody>
+            </table>
+            <table id="byTitle">
+              <thead>
+                <tr><th>#</th><th>Title</th><th>Artist</th></tr>
+              </thead>
+              <tbody>
+                <xsl:for-each select="song">
+                  <xsl:sort select="collate/title"/>
+                  <tr>
+                    <xsl:if test="position() mod 5 = 0"><xsl:attribute name="class">fifth</xsl:attribute></xsl:if>
+                    <td><xsl:value-of select="@num"/></td><td><xsl:value-of select="title"/></td><td><xsl:value-of select="artist"/></td>
+                  </tr>
+                </xsl:for-each>
+              </tbody>
+            </table>
+    </body>
+  </html>
+</xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/docs/Authors.txt b/docs/Authors.txt
new file mode 100644 (file)
index 0000000..afd25db
--- /dev/null
@@ -0,0 +1,145 @@
+ACTIVE DEVELOPERS
+-----------------
+
+Vincent Le Ligeour  <yoda-jm at users.sourceforge.net>
+       * Original author
+       * Core developer
+
+Lasse Kärkkäinen  <tronic+ndrm at trn.iki.fi>
+       * Core developer
+       * FFT/Analyzer, LibDA and a lot of other things
+
+Tapio Vierros <aave000 at users.sourceforge.net>
+       * Core developer
+       * Lots of stuff in various areas
+       * Overall quality control
+
+Niek Nooijens <https://github.com/nieknooijens>
+       * Playlist Support
+       * SDL2.0 Port
+       * Some minor usability improvements
+       * libavresample port with help from Tobix and Elenril (libav-irc channel)
+       * Emedded Webserver (with help from Lasse Kärkkäinen)
+       * Mobile page design.
+
+Arjan Speiard <https://asgardsings.nl>
+       * WebServer features.
+               * Autocompletion
+               * Localization
+               * Structure
+               * Set song position
+       * Introduced 8 player mode.
+       
+Gregorio Litenstein <http://www.fail.cl>
+       * macOS builds, fixes and testing.
+       * Spanish localization.
+       * Very occasional contributions in other areas.
+       * A doctor, not an engineer; goddamn it, Jim.
+
+
+INACTIVE DEVELOPERS
+-------------------
+
+No commits for a long time, but their stuff is still used.
+
+Stefan Kristiansson  <stekern at users.sourceforge.net>
+       * Core developer
+
+jEsuSdA  <info at jesusda.com>
+       * SVG design (the original lima theme)
+
+Tobias Gehrig <tgehrig at users.sourceforge.net>
+       * Pre-calculate FFT window patch
+
+Topnob <topnob at users.sourceforge.net>
+       * Non-power-of-two texture loading on older hardware
+       * Many other fixes
+       * SVG design (tux theme)
+
+Jack_MD <jack-md at users.sourceforge.net>
+       * OSX build fixes and testing
+
+zarrn <zarrn at users.sourceforge.net>
+       * OSX build fixes and testing
+
+knittl <knittl at users.sourceforge.net>
+       * Code documentation (Doxygen comments)
+       * SVG design
+
+Fabian Fingerle  <fabian at datensalat.eu>
+       * Dependency testing
+
+Miguel Sánchez de León Peque <msdeleonpeque at gmail.com>
+       * Main menu
+       * SVG design
+
+Xaldyz <xaldyz at users.sourceforge.net>
+       * Windows build fixes and testing
+
+Markus Raab <ich at markus-raab.org>
+       * Hiscore (xml + ultrastar format)
+
+Matti Kemppainen <mpkemppa at users.sf.net>
+       * Prototyping dance game
+       
+Jaakko Nikkola <jnikkola at users.sourceforge.net>
+       * Dance game developer
+
+Fredrik Klasson <scientica at gmail.com>
+       * Logging stuff, xml i18n, image loading tweaks
+
+
+GUEST DEVELOPERS
+----------------
+
+These guys have provided some important part for the game, but have never been
+directly involved in the project.
+
+Tryad <http://tryad.org/>
+       * The menu song (CC-by-sa)
+
+Oxetti choir <http://www.oxetti.info/>
+       * Practice background vocalization (recorded for this project)
+
+Joonas Kerttula / Frets on Fire <http://fretsonfire.sourceforge.net/>
+       * SVGs borrowed from FoF under GNU GPL :)
+
+
+PAST DEVELOPERS
+---------------
+
+Cool guys who have contributed to the project in the past, but whose
+contributions have been superceded and are no longer part of the distribution.
+
+John Stumpo <stump at jstump.com>
+       * Windows compilation scripts
+
+dex7 <dex7 at users.sourceforge.net>
+       * Website layout
+
+Jami Pekkanen  <jami.pekkanen at ateco.fi>
+       * Cairotosdl and pitchgraph class
+
+Sebastian Sproesser  <sebastian at sproesser.org>
+       * Background management
+       * Song sync improvement
+       * Current position in the track
+
+Matias Holte  <matiasholte at users.sourceforge.net>
+       * Screen sing propositions and patchs
+
+Ignacio Casal Quinteiro  <nacho.resa at gmail.com>
+       * GStreamer implementation
+
+Sylvain Henry <hsyl20 at yahoo.fr>
+       * Long sentence display patch
+
+Olli Salli <osalli at cc.hut.fi>
+       * Silky Strings glfw window management, input and graphics
+
+Ville Virkkala <vvirkkal at cc.hut.fi>
+       * Silky Strings original MIDI parser
+       * Silky Strings game logic
+       
+Tuomas Perälä <tuomas.perala at hut.fi>
+       * Silky Strings Qt-based launcher
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
new file mode 100644 (file)
index 0000000..790aefd
--- /dev/null
@@ -0,0 +1,3 @@
+if(UNIX)
+       add_subdirectory(man)
+endif(UNIX)
diff --git a/docs/Compiling.txt b/docs/Compiling.txt
new file mode 100644 (file)
index 0000000..2a0d822
--- /dev/null
@@ -0,0 +1,64 @@
+To install from git:
+
+       # Checkout the git
+       git clone git://github.com/performous/performous.git
+       # Create separate build folder under trunk to avoid polluting the source tree
+       mkdir performous/build
+       cd performous/build
+       # Compile the game and its support libraries
+       cmake ../
+       make
+       sudo make install
+       # Run the game
+       performous
+       
+       In order to change installation location (the default is /usr/local/),
+       use cmake parameter -DCMAKE_INSTALL_PREFIX=/where/to.
+       
+Dependencies:
+
+       - OpenGL : graphics
+
+       - Boost : threads, parsers/conversions, pointer containers, ...
+
+       - SDL : window management and input
+
+       - FFmpeg (avcodec, avformat and swscale): A/V decoding
+       
+       - Cairo >= 1.2 : scalable graphical support
+
+       - librsvg : svg rendering (themes)
+
+       - libxml++ : XML parser, used for themes etc.
+
+       - PortAudio v19 : audio capture and playback
+
+       - Gettext (optional) for internationalization
+
+       - PortMidi (optional) for MIDI drum support
+
+       - OpenCV (optional) for webcam support
+
+       https://github.com/performous/performous/wiki/Building-and-installing-from-source
+       
+       for package names on various systems (or just performous.org if the above no
+       longer works).
+       
+
+You can find songs online by Google or at your favorite Torrent sites. We
+recommend starting with the ultrastar-songs package that can be download from
+our project website. You need to extract that tarball into ~/.ultrastar/ or to
+one of the other folders that the game searches songs for. Run ultrastar from
+a terminal to see the list of folders.
+
+If your songs are not in UTF-8 (most songs aren't yet), please do:
+       recode CP1252..UTF-8 songs/*/*.txt
+
+After that make sure that all the characters display correctly. If they don't,
+you need to guess which charset the original used (instead of CP1252) and retry.
+
+If you want to improve the game, join our IRC channel #Performous (Freenode) and
+you'll get git write access.
+
+For more (up to date) information, see http://performous.org/
+
diff --git a/docs/doxygen.config b/docs/doxygen.config
new file mode 100644 (file)
index 0000000..960836b
--- /dev/null
@@ -0,0 +1,1522 @@
+# Doxyfile 1.5.8
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file 
+# that follow. The default is UTF-8 which is also the encoding used for all 
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the 
+# iconv built into libc) for the transcoding. See 
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = Performous
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = 
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+# the index file will be docs/doxygen/html/index.html
+# N.B: don't add docs/doxygen to git!
+OUTPUT_DIRECTORY       = docs/doxygen
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
+# 4096 sub-directories (in 2 levels) under the output directory of each output 
+# format and will distribute the generated files over these directories. 
+# Enabling this option can be useful when feeding doxygen a huge amount of 
+# source files, where putting all generated files in the same directory would 
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
+# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, 
+# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), 
+# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, 
+# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, 
+# Spanish, Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator 
+# that is used to form the text in various listings. Each string 
+# in this list, if found as the leading text of the brief description, will be 
+# stripped from the text and the result after processing the whole list, is 
+# used as the annotated text. Otherwise, the brief description is used as-is. 
+# If left blank, the following values are used ("$name" is automatically 
+# replaced with the name of the entity): "The $name class" "The $name widget" 
+# "The $name file" "is" "provides" "specifies" "contains" 
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = 
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
+# inherited members of a class in the documentation of that class as if those 
+# members were ordinary class members. Constructors, destructors and assignment 
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user-defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. The tag can be used to show relative paths in the file list. 
+# If left blank the directory from which doxygen is run is used as the 
+# path to strip.
+
+STRIP_FROM_PATH        = 
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
+# the path mentioned in the documentation of a class, which tells 
+# the reader which header file to include in order to use a class. 
+# If left blank only the name of the header file containing the class 
+# definition is used. Otherwise one should specify the include paths that 
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    = 
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments will behave just like regular Qt-style comments 
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF      = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
+# interpret the first line (until the first dot) of a Qt-style 
+# comment as the brief description. If set to NO, the comments 
+# will behave just like regular Qt-style comments (thus requiring 
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF           = YES
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
+# a new page for each member. If set to NO, the documentation of a member will 
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 4
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user-defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
+# sources only. Doxygen will then generate output that is more tailored for C. 
+# For instance, some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
+# sources only. Doxygen will then generate output that is more tailored for 
+# Java. For instance, namespaces will be presented as packages, qualified 
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 
+# sources only. Doxygen will then generate output that is more tailored for 
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 
+# sources. Doxygen will then generate output that is tailored for 
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it parses. 
+# With this tag you can assign which parser to use for a given extension. 
+# Doxygen has a built-in mapping, but you can override or extend it using this tag. 
+# The format is ext=language, where ext is a file extension, and language is one of 
+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, 
+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat 
+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), 
+# use: inc=Fortran f=C
+
+EXTENSION_MAPPING      = 
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
+# to include (a tag file for) the STL sources as input, then you should 
+# set this tag to YES in order to let doxygen match functions declarations and 
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
+# func(std::string) {}). This also make the inheritance and collaboration 
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT    = YES
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to 
+# enable parsing support.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 
+# Doxygen will parse them like normal C++ but will assume all classes use public 
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter 
+# and setter methods for a property. Setting this option to YES (the default) 
+# will make doxygen to replace the get and set methods by a property in the 
+# documentation. This will only work if the methods are indeed getting or 
+# setting a simple type. If this is not the case, or you want to show the 
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
+# the same type (for instance a group of public functions) to be put as a 
+# subgroup of that type (e.g. under the Public Functions section). Set it to 
+# NO to prevent subgrouping. Alternatively, this can be done per class using 
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
+# is documented as struct, union, or enum with the name of the typedef. So 
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
+# with name TypeT. When disabled the typedef will appear as a member of a file, 
+# namespace, or class. And the struct will be named TypeS. This can typically 
+# be useful for C code in case the coding convention dictates that all compound 
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to 
+# determine which symbols to keep in memory and which to flush to disk. 
+# When the cache is full, less often used symbols will be written to disk. 
+# For small to medium size projects (<1000 input files) the default value is 
+# probably good enough. For larger projects a too small cache size can cause 
+# doxygen to be busy swapping symbols to and from disk most of the time 
+# causing a significant performance penality. 
+# If the system has enough physical memory increasing the cache will improve the 
+# performance by keeping more symbols in memory. Note that the value works on 
+# a logarithmic scale so increasing the size by one will rougly double the 
+# memory usage. The cache size is given by this formula: 
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
+# defined locally in source files will be included in the documentation. 
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local 
+# methods, which are defined in the implementation section but not in 
+# the interface are included in the documentation. 
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be 
+# extracted and appear in the documentation as a namespace called 
+# 'anonymous_namespace{file}', where file will be replaced with the base 
+# name of the file that contains the anonymous namespace. By default 
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES   = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these classes will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
+# friend (class|struct|union) declarations. 
+# If set to NO (the default) these declarations will be included in the 
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
+# documentation blocks found inside the body of a function. 
+# If set to NO (the default) these blocks will be appended to the 
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower-case letters. If set to YES upper-case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put a list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
+# brief documentation of file, namespace and class members alphabetically 
+# by member name. If set to NO (the default) the members will appear in 
+# declaration order.
+
+SORT_BRIEF_DOCS        = YES
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the 
+# hierarchy of group names into alphabetical order. If set to NO (the default) 
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES       = YES
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
+# sorted by fully-qualified names, including namespaces. If set to 
+# NO (the default), the class list will be sorted only by class name, 
+# not including the namespace part. 
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. 
+# Note: This option applies only to the class list, not to the 
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = YES
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
+# disable (NO) the deprecated list. This list is created by putting 
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consists of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+# If the sources in your project are distributed over multiple directories 
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES       = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. 
+# This will remove the Files entry from the Quick Index and from the 
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES             = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the 
+# Namespaces page. 
+# This will remove the Namespaces entry from the Quick Index 
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
+# doxygen should invoke to get the current version for each file (typically from 
+# the version control system). Doxygen will invoke the program by executing (via 
+# popen()) the command <command> <input-file>, where <command> is the value of 
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
+# provided by doxygen. Whatever the program writes to standard output 
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER    = 
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by 
+# doxygen. The layout file controls the global structure of the generated output files 
+# in an output format independent way. The create the layout file that represents 
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a 
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name 
+# of the layout file.
+
+LAYOUT_FILE            = 
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
+# potential errors in the documentation, such as not documenting some 
+# parameters in a documented function, or documenting parameters that 
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for 
+# functions that are documented, but have no documentation for their parameters 
+# or return value. If set to NO (the default) doxygen will only warn about 
+# wrong or incomplete parameter documentation, but not about the absence of 
+# documentation.
+
+WARN_NO_PARAMDOC       = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text. Optionally the format may contain 
+# $version, which will be replaced by the version of the file (if it could 
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = 
+
+# This tag can be used to specify the character encoding of the source files 
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
+# also the default input encoding. Doxygen uses libiconv (or the iconv built 
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
+# the list of possible encodings.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank the following patterns are tested: 
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+#FILE_PATTERNS          = *.cc *.hh *.c *.h *.txt
+FILE_PATTERNS          = 
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+# Exclude the build directory, lest we get config.h file pollution
+EXCLUDE                = build
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
+# directories that are symbolic links (a Unix filesystem feature) are excluded 
+# from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories. Note that the wildcards are matched 
+# against the file with absolute path, so to exclude all test directories 
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       = 
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
+# (namespaces, classes, functions, etc.) that should be excluded from the 
+# output. The symbol name can be a fully qualified name, a word, or if the 
+# wildcard * is used, a substring. Examples: ANamespace, AClass, 
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS        = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = 
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
+# searched for input files to be used with the \include or \dontinclude 
+# commands irrespective of the value of the RECURSIVE tag. 
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output. 
+# If FILTER_PATTERNS is specified, this tag will be 
+# ignored.
+
+INPUT_FILTER           = 
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
+# basis. 
+# Doxygen will compare the file name with each pattern and apply the 
+# filter if there is a match. 
+# The filters are a list of the form: 
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
+# is applied to all files.
+
+FILTER_PATTERNS        = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+# Note: To get rid of all source code in the generated output, make sure also 
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES 
+# then for each documented function all documented 
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES 
+# then for each documented function all documented entities 
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 
+# link to the source code. 
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code 
+# will point to the HTML generated by the htags(1) tool instead of doxygen 
+# built-in source browser. The htags tool is part of GNU's global source 
+# tagging system (see http://www.gnu.org/software/global/global.html). You 
+# will need version 4.8.6 or higher.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet. Note that doxygen will try to copy 
+# the style sheet file to the HTML output directory, so don't put your own 
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
+# documentation will contain sections that can be hidden and shown after the 
+# page has loaded. For this to work a browser that supports 
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS  = YES
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files 
+# will be generated that can be used as input for Apple's Xcode 3 
+# integrated development environment, introduced with OSX 10.5 (Leopard). 
+# To create a documentation set, doxygen will generate a Makefile in the 
+# HTML output directory. Running make will produce the docset in that 
+# directory and running "make install" will install the docset in 
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
+# it at startup. 
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET        = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
+# feed. A documentation feed provides an umbrella under which multiple 
+# documentation sets from a single provider (such as a company or product suite) 
+# can be grouped.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
+# should uniquely identify the documentation set bundle. This should be a 
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen 
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
+# be used to specify the file name of the resulting .chm file. You 
+# can add a path in front of the file if the result should not be 
+# written to the html output directory.
+
+CHM_FILE               = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
+# be used to specify the location (absolute path including file name) of 
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING 
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file 
+# content.
+
+CHM_INDEX_ENCODING     = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER 
+# are set, an additional index file will be generated that can be used as input for 
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated 
+# HTML documentation.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can 
+# be used to specify the file name of the resulting .qch file. 
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE               = 
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating 
+# Qt Help Project output. For more information please see 
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE          = 
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating 
+# Qt Help Project output. For more information please see 
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. 
+# For more information please see 
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME   = 
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see 
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS  = 
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's 
+# filter section matches. 
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS  = 
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
+# be used to specify the location of Qt's qhelpgenerator. 
+# If non-empty doxygen will try to run qhelpgenerator on the generated 
+# .qhp file.
+
+QHG_LOCATION           = 
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
+# structure should be generated to display hierarchical information. 
+# If the tag value is set to FRAME, a side panel will be generated 
+# containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
+# probably better off using the HTML help feature. Other possible values 
+# for this tag are: HIERARCHIES, which will generate the Groups, Directories, 
+# and Class Hierarchy pages using a tree view instead of an ordered list; 
+# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which 
+# disables this behavior completely. For backwards compatibility with previous 
+# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE 
+# respectively.
+
+#GENERATE_TREEVIEW      = FRAME
+GENERATE_TREEVIEW      = ALL
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+# Use this tag to change the font size of Latex formulas included 
+# as images in the HTML documentation. The default is 10. Note that 
+# when you change the font size after a successful doxygen run you need 
+# to manually remove any form_*.png images from the HTML output directory 
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE       = 10
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
+# generate index for LaTeX. If left blank `makeindex' will be used as the 
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
+# include the index chapters (such as File Index, Compound Index, etc.) 
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimized for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assignments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
+# then it will generate one additional man file for each entity 
+# documented in the real man page(s). These additional files 
+# only source the real man page, but without them the man command 
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_SCHEMA             = 
+
+# The XML_DTD tag can be used to specify an XML DTD, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_DTD                = 
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
+# dump the program listings (including syntax highlighting 
+# and cross-referencing information) to the XML output. Note that 
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
+# generate an AutoGen Definitions (see autogen.sf.net) file 
+# that captures the structure of the code including all 
+# documentation. Note that this feature is still experimental 
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
+# generate a Perl module file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
+# nicely formatted so it can be parsed by a human reader. 
+# This is useful 
+# if you want to understand what is going on. 
+# On the other hand, if this 
+# tag is set to NO the size of the Perl module output will be much smaller 
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file 
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
+# This is useful so different doxyrules.make files included by the same 
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = /usr/include/qt4
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = *.h *.hpp
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed. To prevent a macro definition from being 
+# undefined via #undef or recursively expanded use the := operator 
+# instead of the = operator.
+
+PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all function-like macros that are alone 
+# on a line, have an all uppercase name, and do not end with a semicolon. Such 
+# function macros are typically used for boiler-plate code, and will confuse 
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles. 
+# Optionally an initial location of the external documentation 
+# can be added for each tagfile. The format of a tag file without 
+# this location is as follows: 
+#  
+# TAGFILES = file1 file2 ... 
+# Adding location for the tag files is done as follows: 
+#  
+# TAGFILES = file1=loc1 "file2 = loc2" ... 
+# where "loc1" and "loc2" can be relative or absolute paths or 
+# URLs. If a location is present for each tag, the installdox tool 
+# does not have to be run to correct the links. 
+# Note that each tag file must have a unique name 
+# (where the name does NOT include the path) 
+# If a tag file is not located in the directory in which doxygen 
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
+# in the modules index. If set to NO, only the current project's groups will 
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
+# or super classes. Setting the tag to NO turns the diagrams off. Note that 
+# this option is superseded by the HAVE_DOT option below. This is only a 
+# fallback. It is recommended to install and use dot, since it yields more 
+# powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# You can define message sequence charts within doxygen comments using the \msc 
+# command. Doxygen will then run the mscgen tool (see 
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
+# the mscgen tool resides. If left empty the tool is assumed to be found in the 
+# default search path.
+
+MSCGEN_PATH            = 
+
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
+# or is not a class.
+
+#HIDE_UNDOC_RELATIONS   = YES
+HIDE_UNDOC_RELATIONS   = NO
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+#HAVE_DOT               = NO
+HAVE_DOT               = YES
+
+# By default doxygen will write a font called FreeSans.ttf to the output 
+# directory and reference it in all dot files that doxygen generates. This 
+# font does not include all possible unicode characters however, so when you need 
+# these (or just want a differently looking font) you can specify the font name 
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font, 
+# which can be done by putting it in a standard location or by setting the 
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory 
+# containing the font.
+
+DOT_FONTNAME           = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
+# The default size is 10pt.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the output directory to look for the 
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a 
+# different font using DOT_FONTNAME you can set the path where dot 
+# can find it using this tag.
+
+DOT_FONTPATH           = 
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
+# collaboration diagrams in a style similar to the OMG's Unified Modeling 
+# Language.
+
+#UML_LOOK               = NO
+UML_LOOK               = YES
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
+
+#TEMPLATE_RELATIONS     = NO
+TEMPLATE_RELATIONS     = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
+# doxygen will generate a call dependency graph for every global function 
+# or class method. Note that enabling this option will significantly increase 
+# the time of a run. So in most cases it will be better to enable call graphs 
+# for selected functions only using the \callgraph command.
+
+#CALL_GRAPH             = NO
+CALL_GRAPH             = YES
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
+# doxygen will generate a caller dependency graph for every global function 
+# or class method. Note that enabling this option will significantly increase 
+# the time of a run. So in most cases it will be better to enable caller 
+# graphs for selected functions only using the \callergraph command.
+
+#CALLER_GRAPH           = NO
+CALLER_GRAPH           = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
+# then doxygen will show the dependencies a directory has on other directories 
+# in a graphical way. The dependency relations are determined by the #include 
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
+# generated by dot. Possible values are png, jpg, or gif 
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH               = 
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
+DOTFILE_DIRS           = 
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
+# nodes that will be shown in the graph. If the number of nodes in a graph 
+# becomes larger than this value, doxygen will truncate the graph, which is 
+# visualized by representing a node as a red box. Note that doxygen if the 
+# number of direct children of the root node in a graph is already larger than 
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note 
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
+# graphs generated by dot. A depth value of 3 means that only nodes reachable 
+# from the root by following a path via at most 3 edges will be shown. Nodes 
+# that lay further from the root node will be omitted. Note that setting this 
+# option to 1 or 2 may greatly reduce the computation time needed for large 
+# code bases. Also note that the size of a graph can be further restricted by 
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
+# background. This is disabled by default, because dot on Windows does not 
+# seem to support this out of the box. Warning: Depending on the platform used, 
+# enabling this option may lead to badly anti-aliased labels on the edges of 
+# a graph (i.e. they become hard to read).
+
+#DOT_TRANSPARENT        = NO
+DOT_TRANSPARENT        = YES
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
+# files in one run (i.e. multiple -o and -T options on the command line). This 
+# makes dot run faster, but since only newer versions of dot (>1.8.10) 
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermediate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Options related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO
diff --git a/docs/instruments.txt b/docs/instruments.txt
new file mode 100644 (file)
index 0000000..e3e5135
--- /dev/null
@@ -0,0 +1,187 @@
+This file aims to list common band instruments (including dance carpet).
+B means button
+A means axis (+: positive values, -: negative values)
+SDL report axis or button ID minus one.
+
+Ex: A5- => SDL axis 4 with negative value
+
+[Guitar Hero III: Legends of Rock] PS3 Guitar
+ USB id: 12ba:0100
+ SDL name: Licensed by Sony Computer Entertainment Guitar Hero3 for PlayStation (R) 3
+ GREEN FRET:  B2
+ RED FRET:    B3
+ YELLOW FRET: B1
+ BLUE FRET:   B4
+ ORANGE FRET: B5
+ START:       B10
+ SELECT:      B9
+ PS3:         B13
+ STAR POWER:  N/A?
+ MIC SWITCH:  N/A?
+ DOWN:        A6+
+ UP:          A6-
+ LEFT:        A5-
+ RIGHT:       A5+
+ BEND:        A3+
+ PICK DOWN:   A6+
+ PICK UP:     A6-
+
+[Guitar Hero World Tour] PS3 Guitar
+ USB id: 12ba:0100
+ SDL name: Licensed by Sony Computer Entertainment Guitar Hero4 for PlayStation (R) 3
+ GREEN FRET:  B2
+ RED FRET:    B3
+ YELLOW FRET: B1
+ BLUE FRET:   B4
+ ORANGE FRET: B5
+ HAMMER ZONE: A4 APPROX  VALUES:
+       - GREEN -26000
+       - RED   -10000
+       - YELLOW  2000
+       - BLUE   16000
+       - ORANGE 32000
+ START:       B10
+ SELECT:      B9 (Also activate star power)
+ PS3:         B13
+ DOWN:        A6+
+ UP:          A6-
+ LEFT:        A5-
+ RIGHT:       A5+
+ BEND:        A3+
+ PICK DOWN:   A6+
+ PICK UP:     A6-
+
+[Rock Band I] PS3 Guitar
+ USB id: 12ba:0200
+ SDL name: Licensed by Sony Computer Entertainment America Harmonix Guitar for PlayStation®3   (Note: Latin-1 encoding)
+ GREEN FRET:  B2
+ RED FRET:    B3
+ YELLOW FRET: B4
+ BLUE FRET:   B1
+ ORANGE FRET: B5
+ START:       B10
+ SELECT:      B9
+ PS3:         B13
+ STAR POWER:  B5
+ MIC SWITCH:  A4
+ DOWN:        A6+
+ UP:          A6-
+ LEFT:        A5-
+ RIGHT:       A5+
+ BEND:        A3 = 1.0 (fully pressed) .. -1.0 (fully released), but resets to 0.0 after a while when fully released
+ PICK DOWN:   A6+
+ PICK UP:     A6-
+
+[Rock Band I] Xbox360 Guitar
+ SDL name: Controller (Harmonix Guitar for Xbox 360) (at least on Windows)
+ GREEN FRET:  B1
+ RED FRET:    B2
+ YELLOW FRET: B4
+ BLUE FRET:   B3
+ ORANGE FRET: B5
+ START:       B8
+ SELECT:      B7
+ MIC SWITCH:  A3
+ TILT:        A4
+ WHAMMY:      A5
+ UP:          HAT0: 4
+ DOWN:        HAT0: 1
+ LEFT:        HAT0: 8
+ RIGHT:       HAT0: 2
+
+[Guitar Hero X0] Guitar Hero X-plorer
+ USB id: 1430:4748
+ SDL name: Guitar Hero X-plorer
+ GREEN FRET:  B1
+ RED FRET:    B2
+ YELLOW FRET: B4
+ BLUE FRET:   B3
+ ORANGE FRET: B5
+ START:       B8
+ SELECT:      B7  (Says "BACK" on the guitar)
+ STAR POWER:  A4  (Y axis on Windows, didn't verify that it is A4 but A3 is X axis)
+ DOWN:        A6+
+ UP:          A6-
+ LEFT:        A5-
+ RIGHT:       A5+
+ BEND:        A3
+ PICK DOWN:   A6+
+ PICK UP:     A6-
+
+
+[Guitar Hero World Tour] PS3 Drumkit
+ USB id: 12ba:0120
+ SDL name: Licensed by Sony Computer Entertainment Guitar Hero4 for PlayStation (R) 3
+ RED FRET or CIRCLE:      B3
+ YELLOW FRET or TRIANGLE: B4
+ BLUE FRET or SQUARE:     B1
+ ORANGE FRET:             B6
+ GREEN FRET or CROSS:     B2
+ KICK:                    B5
+ START:                   B10
+ SELECT:                  B9
+ PS3:                     B13
+ DOWN:                    A6+
+ UP:                      A6-
+ LEFT:                    A5-
+ RIGHT:                   A5+
+
+[Rock Band I] PS3 Drumkit
+ USB id: 12ba:0210
+ SDL name: Licensed by Sony Computer Entertainment America Harmonix Drum Kit for PlayStation(R)3
+ RED PAD or CIRCLE:       B3
+ YELLOW PAD or TRIANGLE:  B4
+ BLUE PAD or SQUARE:      B1
+ GREEN PAD or CROSS:      B2
+ KICK:                    B5
+ START:                   B10
+ SELECT:                  B9
+ PS3:                     B13
+ DOWN:                    A6+
+ UP:                      A6-
+ LEFT:                    A5-
+ RIGHT:                   A5+
+
+[Rock Band I] Xbox360 Drumkit
+ SDL name: Controller (Harmonix Drum Kit for Xbox 360) (at least on Windows)
+ RED PAD       B2
+ YELLOW PAD    B4
+ BLUE PAD      B3
+ GREEN PAD     B1
+ KICK:         B5
+ START:        B8
+ SELECT:       B7
+ UP:           HAT0: 1
+ DOWN:         HAT0: 4
+ LEFT:         HAT0: 8
+ RIGHT:        HAT0: 2
+
+Performous InputDev button numbers
+----------------------------------
+
+drums:
+0 = kick
+1 = red
+2 = yellow
+3 = blue
+4 = green (also orange of GHWT drums)
+
+guitar:
+0 = green
+1 = red
+2 = yellow
+3 = blue
+4 = orange
+
+dancepad:
+0 = left
+1 = down
+2 = up
+3 = right
+4 = down left
+5 = down right
+6 = up left
+7 = up right
+8 = start
+9 = select
+
diff --git a/docs/license/Apache-2.0-DroidSansMono.txt b/docs/license/Apache-2.0-DroidSansMono.txt
new file mode 100644 (file)
index 0000000..d645695
--- /dev/null
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/docs/license/Boost-LICENSE_1_0.txt b/docs/license/Boost-LICENSE_1_0.txt
new file mode 100644 (file)
index 0000000..36b7cd9
--- /dev/null
@@ -0,0 +1,23 @@
+Boost Software License - Version 1.0 - August 17th, 2003
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/docs/license/SIL OFL Font License New Rocker.txt b/docs/license/SIL OFL Font License New Rocker.txt
new file mode 100644 (file)
index 0000000..f2fc8fb
--- /dev/null
@@ -0,0 +1,96 @@
+Copyright (c) 2011, Pablo Impallari (www.impallari.com|impallari@gmail.com),
+Copyright (c) 2011, Brenda Gallo (gbrenda1987@gmail.com),
+Copyright (c) 2011, Rodrigo Fuenzalida (www.rfuenzalida.com|hello@rfuenzalida.com), 
+with Reserved Font Name &#39;New Rocker&#39;
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+&quot;Font Software&quot; refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+&quot;Reserved Font Name&quot; refers to any names specified as such after the
+copyright statement(s).
+
+&quot;Original Version&quot; refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+&quot;Modified Version&quot; refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+&quot;Author&quot; refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION &amp; CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/docs/license/SIL OFL Goblin.txt b/docs/license/SIL OFL Goblin.txt
new file mode 100644 (file)
index 0000000..68e0492
--- /dev/null
@@ -0,0 +1,82 @@
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+&quot;Font Software&quot; refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+&quot;Reserved Font Name&quot; refers to any names specified as such after the
+copyright statement(s).
+
+&quot;Original Version&quot; refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+&quot;Modified Version&quot; refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+&quot;Author&quot; refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION &amp; CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
\ No newline at end of file
diff --git a/docs/man/CMakeLists.txt b/docs/man/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b06ad5a
--- /dev/null
@@ -0,0 +1,45 @@
+find_program(HELP2MAN help2man DOC "Location of the help2man program")
+find_program(GZIP gzip DOC "Location of the gzip program")
+mark_as_advanced(HELP2MAN)
+mark_as_advanced(GZIP)
+if(HELP2MAN AND GZIP)
+       set(MANFILE ${CMAKE_CURRENT_BINARY_DIR}/performous.6.gz)
+       set(H2MFILE ${CMAKE_CURRENT_SOURCE_DIR}/performous.h2m)
+       set(PERFORMOUS_EXEC ${CMAKE_BINARY_DIR}/performous)
+       add_custom_command(
+               OUTPUT ${MANFILE}
+               COMMAND ${HELP2MAN} ${PERFORMOUS_EXEC} -s 6 -i ${H2MFILE} -N | ${GZIP} > ${MANFILE}
+               MAIN_DEPENDENCY ${H2MFILE}
+               DEPENDS ${PERFORMOUS_EXEC}
+               COMMENT "Building Performous man page"
+               VERBATIM
+       )
+       add_custom_target(manpage ALL DEPENDS ${MANFILE})
+       iF (APPLE)
+           install(FILES ${MANFILE} DESTINATION Resources/man/man6)
+       else(APPLE)
+       install(FILES ${MANFILE} DESTINATION share/man/man6)
+       endif()
+else(HELP2MAN AND GZIP)
+       message("WARNING: One of the following is missing: help2man, gzip; performous man page will not be generated")
+endif(HELP2MAN AND GZIP)
+if(ENABLE_TOOLS AND GZIP)
+       set(TOOLS 
+               "ss_pak_extract" "ss_extract" "ss_cover_conv"
+               "ss_adpcm_decode" "ss_ipu_conv" "ss_chc_decode"
+               "gh_fsb_decrypt" "gh_xen_decrypt")
+       set(MAN_SECTION "1")
+       foreach(TOOL ${TOOLS})
+               set(TOOL_MANFILE ${CMAKE_CURRENT_SOURCE_DIR}/${TOOL}.${MAN_SECTION})
+               set(TOOL_MANFILE_GZ ${CMAKE_CURRENT_BINARY_DIR}/${TOOL}.${MAN_SECTION}.gz)
+               add_custom_command(
+                       OUTPUT ${TOOL_MANFILE_GZ}
+                       COMMAND ${GZIP} -c ${TOOL_MANFILE} > ${TOOL_MANFILE_GZ}
+                       MAIN_DEPENDENCY ${TOOL_MANFILE}
+                       COMMENT "Building ${TOOL} man page"
+                       VERBATIM
+               )
+               add_custom_target(${TOOL}.${MAN_SECTION} ALL DEPENDS ${TOOL_MANFILE_GZ})
+               install(FILES ${TOOL_MANFILE_GZ} DESTINATION share/man/man${MAN_SECTION})
+       endforeach(TOOL)
+endif(ENABLE_TOOLS AND GZIP)
diff --git a/docs/man/gh_fsb_decrypt.1 b/docs/man/gh_fsb_decrypt.1
new file mode 100644 (file)
index 0000000..e025573
--- /dev/null
@@ -0,0 +1,12 @@
+.TH "gh_fsb_decrypt" "1" "" "" ""
+.SH "NAME"
+gh_fsb_decrypt \- Tool for decoding FMOD Sample Bank (FSB) files
+.SH "SYNOPSIS"
+\fBgh_fsb_decrypt\fR input.fsb
+.TP
+\fBinput.fsb\fR
+FSB source file
+.SH "DESCRIPTION"
+Tool for decoding FMOD Sample Bank (FSB) files
+.SH "SEE ALSO"
+\fIperformous\fR(6)
diff --git a/docs/man/gh_xen_decrypt.1 b/docs/man/gh_xen_decrypt.1
new file mode 100644 (file)
index 0000000..d11b5a2
--- /dev/null
@@ -0,0 +1,15 @@
+.TH "gh_xen_decrypt" "1" "" "" ""
+.SH "NAME"
+gh_xen_decrypt \- Tool for decrypting Guitar Hero xen files
+.SH "SYNOPSIS"
+\fBgh_xen_decrypt\fR input.xen output
+.TP
+\fBinput.xen\fR
+Xen source file
+.TP
+\fBoutput\fR
+destination file
+.SH "DESCRIPTION"
+Tool for decrypting Guitar Hero xen files
+.SH "SEE ALSO"
+\fIperformous\fR(6)
diff --git a/docs/man/performous.h2m b/docs/man/performous.h2m
new file mode 100644 (file)
index 0000000..ec1a850
--- /dev/null
@@ -0,0 +1,95 @@
+Include file for Performous man page
+
+[name]
+performous \- The free music and rhythm game
+
+[description]
+Performous is a free cross-platform karaoke, band and dancing game, where
+one or more players perform a song and the game scores their performances
+based on timing and accuracy.
+
+Performous supports songs in UltraStar, Frets on Fire and StepMania formats.
+Also, microphones and instruments from SingStar, Guitar Hero and Rock Band
+as well as some dance pads are autodetected.
+
+If you have trouble with the program (no songs found, audio not working, etc),
+try running it on a terminal. Some useful debug information is printed there.
+
+[navigation]
+In-game navigation uses the following keys:
+.SS "Global shortcuts:"
+.TP
+\fBLeft\fR/\fBRight\fR/\fBUp\fR/\fBDown\fR/
+Change selected option/song
+.TP
+\fBEnter\fR
+Enter selection
+.TP
+\fBEsc\fR
+Exit the current screen/mode
+.TP
+\fBAlt+Enter\fR
+Switch between full screen and windowed modes
+.TP
+\fBPause\fR or \fBCtrl+P\fR
+Pause audio/game
+.TP
+\fBCtrl+Up/Down\fR
+Change audio volume
+
+.SS "Song selection:"
+.TP
+\fBUp\fR/\fBDown\fR
+Switch the sort order (song name, artist, edition, genre or song folder path)
+.TP
+\fBAny text\fR
+Search for songs (write the text to find, uses regexp format)
+.TP
+\fBTab\fR
+Randomize songs (sort them again)
+.TP
+\fBCtrl+R\fR
+Refresh song list (reload from disk)
+.TP
+\fBF4\fR
+Enter jukebox mode (play songs entirely, hide song browser, allow seeking with Up/Down)
+
+.SS "Singing screen:"
+.TP
+\fBCtrl+Left/Right\fR/\fBHome\fR
+Fast forward or rewind the song
+.TP
+\fBEnter\fR
+Skip long instrumental breaks, or get the grading instantly at the end of song.
+.TP
+\fBCtrl+S\fR
+Toggle synth mode (synthesized tone for notes)
+.TP
+\fBCtrl+F1/F2\fR
+Adjust audio/video sync. Use if the notes pass the black line at incorrect time.
+.TP
+\fBCtrl+F3/F4\fR
+Adjust audio roundtrip latency. Use if the pitch wave does not match the notes, when you match your timing to what you hear.
+.TP
+\fBCtrl+F5/F6\fR
+The total of USB controller latency combined with audio output latency. Adjust so that you can hit the notes best when playing by ear (not looking on screen).
+.TP
+\fBCtrl+K\fR
+Toggle karaoke mode (hide notes and scores)
+.TP
+\fBCtrl+W\fR
+Toggle pitch wave rendering (only when karaoke mode is disabled)
+.TP
+\fBCtrl+R\fR
+Hot reload song from disk (useful for making or repairing songs)
+
+[audio device configuration]
+Performous normally autodetects microphones and playback devices correctly, but if this fails on your machine, you will need to configure them in the Audio Devices screen. Advanced configuration is possible through the command line, just remember to enter the configuration menu and press \fBCtrl+S\fR to save them to your config file so that they don't need to be specified every time the program starts.
+
+The list of available PortAudio devices is printed to the console, but it can also be seen from the GUI.
+
+[see also]
+You can find more information at http://performous.org/ or
+http://wiki.performous.org or
+http://sourceforge.net/projects/performous/
+
diff --git a/docs/man/ss_adpcm_decode.1 b/docs/man/ss_adpcm_decode.1
new file mode 100644 (file)
index 0000000..aaf64eb
--- /dev/null
@@ -0,0 +1,18 @@
+.TH "ss_adpcm_decode" "1" "" "" ""
+.SH "NAME"
+ss_adpcm_decode \- Tool for converting ADPCM Singstar audio format to WAV
+.SH "SYNOPSIS"
+\fBss_adpcm_decode\fR [archive.pak] input.mib output.wav
+.TP
+[ \fBarchive.pak\fR ]
+Optional Singstar archive name to look in
+.TP
+\fBinput.mib\fR
+ADPCM source file
+.TP
+\fBoutput.wav\fR
+WAV destination file
+.SH "DESCRIPTION"
+Tool for converting ADPCM Singstar audio format to WAV
+.SH "SEE ALSO"
+\fIperformous\fR(6)
diff --git a/docs/man/ss_chc_decode.1 b/docs/man/ss_chc_decode.1
new file mode 100644 (file)
index 0000000..8e4c154
--- /dev/null
@@ -0,0 +1,18 @@
+.TH "ss_chc_decode" "1" "" "" ""
+.SH "NAME"
+ss_chc_decode \- Tool for decoding Singstar CHC (melody cache) files
+.SH "SYNOPSIS"
+\fBss_chc_decode\fR chc_file key1 key2 key3 key4 track_id
+.TP
+\fBchc_file\fR
+Singstar melody cache file
+.TP
+\fBkey1 to key4\fR
+keys to decode the cache file
+.TP
+\fBtrack_id\fR
+Singstar track id to extract
+.SH "DESCRIPTION"
+Tool for decrypting Singstar CHC files.
+.SH "SEE ALSO"
+\fIperformous\fR(6)
diff --git a/docs/man/ss_cover_conv.1 b/docs/man/ss_cover_conv.1
new file mode 100644 (file)
index 0000000..a2f69b6
--- /dev/null
@@ -0,0 +1,21 @@
+.TH "ss_cover_conv" "1" "" "" ""
+.SH "NAME"
+ss_cover_conv \- Tool for converting Singstar song cover
+.SH "SYNOPSIS"
+\fBss_cover_conv\fR [\-h|\-\-help] pak_file track_id output_image
+.TP
+\fB\-h\fR [ \fB\-\-help\fR ]
+you are viewing it
+.TP
+\fBpak_file\fR
+Singstar Pak file to look in
+.TP
+\fBtrack_id\fR
+Singstar track id to extract
+.TP
+\fBoutput_image\fR
+Output image (format will be automatically detected)
+.SH "DESCRIPTION"
+Tool for converting internal Singstar song cover (TX2 format) into a standard format
+.SH "SEE ALSO"
+\fIperformous\fR(6)
diff --git a/docs/man/ss_extract.1 b/docs/man/ss_extract.1
new file mode 100644 (file)
index 0000000..5395e09
--- /dev/null
@@ -0,0 +1,27 @@
+.TH ss_extract "1" "" "" ""
+.SH "NAME"
+ss_extract \- Tool for converting Singstar DVDs to Ultrastar format
+.SH "SYNOPSIS"
+\fBss_extract\fR [\-h|\-\-help] [\-\-dvd arg] [\-l|\-\-list] [\-\-song arg] [\-\-video arg] [\-\-audio arg]
+.TP
+\fB\-h\fR [ \fB\-\-help\fR ]
+you are viewing it
+.TP
+\fB\-\-dvd\fR arg
+path to Singstar DVD root
+.TP
+\fB\-l\fR [ \fB\-\-list\fR ]
+list tracks only
+.TP
+\fB\-\-song\fR arg
+only extract the given track (ID or partial name)
+.TP
+\fB\-\-video\fR arg (=mkv)
+specify video format (none, mkv, mpeg2)
+.TP
+\fB\-\-audio\fR arg (=ogg)
+specify audio format (none, ogg, wav)
+.SH "DESCRIPTION"
+Tool for converting original Singstar DVDs to the format used by Performous.
+.SH "SEE ALSO"
+\fIperformous\fR(6)
diff --git a/docs/man/ss_ipu_conv.1 b/docs/man/ss_ipu_conv.1
new file mode 100644 (file)
index 0000000..32eee37
--- /dev/null
@@ -0,0 +1,15 @@
+.TH "ss_ipu_conv" "1" "" "" ""
+.SH "NAME"
+ss_ipu_conv \- Tool for converting Singstar videos
+.SH "SYNOPSIS"
+\fBss_ipu_conv\fR infile.ipu outfile.m2v
+.TP
+\fBinfile.ipu\fR
+Singstar ipu video file
+.TP
+\fBoutfile.m2v\fR
+Video output file (MPEG2-Video)
+.SH "DESCRIPTION"
+Tool for converting Singstar videos
+.SH "SEE ALSO"
+\fIperformous\fR(6)
diff --git a/docs/man/ss_pak_extract.1 b/docs/man/ss_pak_extract.1
new file mode 100644 (file)
index 0000000..fa60bfb
--- /dev/null
@@ -0,0 +1,17 @@
+.TH "ss_pak_extract" "1" "" "" ""
+.SH "NAME"
+ss_pak_extract \- Tool for reading general PAK files (used by Singstar)
+.SH "SYNOPSIS"
+.TP
+\fBss_pak_extract\fR [\-h|\-\-help] file.pak \-\-extract [files]
+Extract \fBfiles\fR from \fBfile.pak\fR pak file.
+.TP
+\fBss_pak_extract\fR file.pak \-\-dump file
+Dump \fBfile\fR content from \fBfile.pak\fR pak file to stdout.
+.TP
+\fBss_pak_extract\fR file.pak \-\-list
+List files from \fBfile.pak\fR pak file to stdout.
+.SH "DESCRIPTION"
+Tool for reading general PAK files (used by Singstar)
+.SH "SEE ALSO"
+\fIperformous\fR(6)
diff --git a/game/3dobject.cc b/game/3dobject.cc
new file mode 100644 (file)
index 0000000..94a02be
--- /dev/null
@@ -0,0 +1,118 @@
+#include "3dobject.hh"
+
+#include <boost/filesystem/fstream.hpp>
+#include <stdexcept>
+#include <sstream>
+
+#include "texture.hh"
+
+// TODO: test & fix faces that doesn't have texcoords in the file
+// TODO: group handling for loader
+
+namespace {
+       /// Returns a word (delimited by delim) in a string st at position pos (1-based)
+       std::string getWord(std::string& st, size_t pos, char delim) {
+               std::istringstream iss(st);
+               std::string ret;
+               for (size_t i = 1; i <= pos; i++)
+                       getline(iss, ret, delim);
+               return ret;
+       }
+}
+
+/// A polygon containing links to required point data
+struct Face {
+       std::vector<int> vertices;
+       std::vector<int> texcoords;
+       std::vector<int> normals;
+};
+
+/// Load a Wavefront .obj file and possibly scale it also
+void Object3d::loadWavefrontObj(fs::path const& filepath, float scale) {
+       int linenumber = 0;
+       std::string row;
+       fs::ifstream file(filepath, std::ios::binary);
+       if (!file) throw std::runtime_error("Couldn't open object file "+filepath.string());
+       std::vector<glmath::vec3> vertices;
+       std::vector<glmath::vec3> normals;
+       std::vector<glmath::vec2> texcoords;
+       std::vector<Face> m_faces;
+       while (getline(file, row)) {
+               ++linenumber;
+               std::istringstream srow(row);
+               float x,y,z;
+               std::string tempst;
+               if (row.substr(0,2) == "v ") {  // Vertices
+                       srow >> tempst >> x >> y >> z;
+                       vertices.push_back(glmath::vec3(x*scale, y*scale, z*scale));
+               } else if (row.substr(0,2) == "vt") {  // Texture Coordinates
+                       srow >> tempst >> x >> y;
+                       texcoords.push_back(glmath::vec2(x, y));
+               } else if (row.substr(0,2) == "vn") {  // Normals
+                       srow >> tempst >> x >> y >> z;
+                       double sum = std::abs(x)+std::abs(y)+std::abs(z);
+                       if (sum == 0) throw std::runtime_error("Invalid normal in "+filepath.string()+":"+std::to_string(linenumber));
+                       x /= sum; y /= sum; z /= sum; // Normalize components
+                       normals.push_back(glmath::vec3(x, y, z));
+               } else if (row.substr(0,2) == "f ") {  // Faces
+                       Face f;
+                       srow >> tempst; // Eat away prefix
+                       // Parse face point's coordinate references
+                       for (std::string fpoint; srow >> fpoint; ) {
+                               for (size_t i = 1; i <= 3; ++i) {
+                                       std::string st_id(getWord(fpoint,i,'/'));
+                                       if (!st_id.empty()) {
+                                               // Vertex indices are 1-based in the file
+                                               int v_id = std::stoi(st_id) - 1;
+                                               switch (i) {
+                                                       case 1: f.vertices.push_back(v_id); break;
+                                                       case 2: f.texcoords.push_back(v_id); break;
+                                                       case 3: f.normals.push_back(v_id); break;
+                                               }
+                                       }
+                               }
+                       }
+                       if (!f.vertices.empty() && f.vertices.size() != 3)
+                               throw std::runtime_error("Only triangle faces allowed in "+filepath.string()+":"+std::to_string(linenumber));
+                       // Face must have equal number of v, vt, vn or none of a kind
+                       if (!f.vertices.empty()
+                         && (f.texcoords.empty() || (f.texcoords.size() == f.vertices.size()))
+                         && (f.normals.empty()   || (f.normals.size() == f.vertices.size()))) {
+                               m_faces.push_back(f);
+                       } else {
+                               throw std::runtime_error("Invalid face in "+filepath.string()+":"+std::to_string(linenumber));
+                       }
+               }
+       }
+       // Construct a vertex array
+       for (std::vector<Face>::const_iterator i = m_faces.begin(); i != m_faces.end(); ++i) {
+               bool hasNormals = !i->normals.empty();
+               bool hasTexCoords = !i->texcoords.empty();
+               for (size_t j = 0; j < i->vertices.size(); ++j) {
+                       if (hasNormals) m_va.normal(normals[i->normals[j]]);
+                       if (hasTexCoords) m_va.texCoord(texcoords[i->texcoords[j]]);
+                       m_va.vertex(vertices[i->vertices[j]]);
+               }
+       }
+}
+
+void Object3d::load(fs::path const& filepath, fs::path const& texturepath, float scale) {
+       if (!texturepath.empty()) m_texture = std::make_unique<Texture>(texturepath);
+       loadWavefrontObj(filepath, scale);
+}
+
+void Object3d::draw() {
+       UseShader us(getShader("3dobject"));
+       if (m_texture) {
+               UseTexture tex(*m_texture);
+               m_va.draw(GL_TRIANGLES);
+       } else {
+               m_va.draw(GL_TRIANGLES);
+       }
+}
+
+void Object3d::draw(float x, float y, float z, float s) {
+       using namespace glmath;
+       Transform trans(translate(vec3(x, y, z)) * scale(s));  // Move to position and scale
+       draw();
+}
diff --git a/game/3dobject.hh b/game/3dobject.hh
new file mode 100644 (file)
index 0000000..f47997a
--- /dev/null
@@ -0,0 +1,34 @@
+#pragma once
+
+#include "fs.hh"
+#include "glutil.hh"
+#include <memory>
+#include <string>
+
+// TODO: Exception handling
+// TODO: Texture loading
+
+class Texture;
+
+/// A class representing 3d object
+/// Non-copyable because of display lists getting messed up
+class Object3d {
+  private:
+       glutil::VertexArray m_va;
+       std::unique_ptr<Texture> m_texture; /// texture
+       /// load a Wavefront .obj 3d object file
+       void loadWavefrontObj(fs::path const& filepath, float scale = 1.0);
+  public:
+       Object3d(const Object3d&) = delete;
+       const Object3d& operator=(const Object3d&) = delete;
+       Object3d() {}
+       Object3d(fs::path const& filepath, fs::path const& texturepath = fs::path(), float scale = 1.0) {
+               load(filepath, texturepath, scale);
+       }
+       /// load a new object file
+       void load(fs::path const& filepath, fs::path const& texturepath = fs::path(), float scale = 1.0);
+       /// draws the object (with texture if given)
+       void draw();
+       /// draws the object with a transform
+       void draw(float x, float y, float z = 0, float s = 1.0);
+};
\ No newline at end of file
diff --git a/game/CMakeLists.txt b/game/CMakeLists.txt
new file mode 100644 (file)
index 0000000..de33f2c
--- /dev/null
@@ -0,0 +1,188 @@
+cmake_minimum_required(VERSION 2.6)
+
+file(GLOB SOURCE_FILES "*.cc")
+file(GLOB HEADER_FILES "*.hh" "libda/*.hpp")
+
+if(WIN32)
+       # We want to support all these version numbers:
+       # 1.0 1.0.1 1.0+ 1.0.1+ 1.0-2-g123abcd 1.0.1-5-g123abcd
+       # We use the 2-3 digits of the version as MAJOR.MINOR.PATCH
+       # and the git patch number as TWEAK
+       string(REGEX REPLACE "\\." ";"  VERSIONING ${PROJECT_VERSION})
+       list(GET VERSIONING -1 LAST_ENTRY)
+       list(REMOVE_AT VERSIONING -1)
+       string(REGEX REPLACE "^([0-9]+)(.*)$" "\\1;\\2"  LAST_ENTRIES ${LAST_ENTRY})
+       list(GET LAST_ENTRIES 0 LAST_ENTRY_NUM)
+       list(GET LAST_ENTRIES 1 LAST_ENTRY_ADD)
+       list(APPEND VERSIONING ${LAST_ENTRY_NUM})
+
+       list(GET VERSIONING 0 VERSION_MAJOR)
+       list(LENGTH VERSIONING VERSION_LENGTH)
+       if(VERSION_LENGTH GREATER 1)
+               list(GET VERSIONING 1 VERSION_MINOR)
+       endif()
+       if(VERSION_LENGTH GREATER 2)
+               list(GET VERSIONING 2 VERSION_PATCH)
+       endif()
+
+       string(REGEX REPLACE "^-([0-9]+)-.*$" "\\1" VERSION_TWEAK "${LAST_ENTRY_ADD}")
+
+       set(VERSIONS "MAJOR" "MINOR" "PATCH" "TWEAK")
+       foreach(v ${VERSIONS})
+               if(NOT VERSION_${v} MATCHES "^[0-9]+$")
+                       set(VERSION_${v} "0")
+               endif()
+       endforeach()
+       message(STATUS "Setting .exe version: ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_TWEAK}")
+
+       set(RESOURCE_FILES "${CMAKE_BINARY_DIR}/performous.rc")
+       configure_file("../win32/performous.cmake.rc" "${RESOURCE_FILES}")
+
+       if(MINGW)
+               # According to MinGW tools, we need to compile the rc file, and then link it into projects:
+               # windres foo.rc foores.o
+               # gcc -o foo.exe foo.o foores.o
+               find_library(WSOCK32_LIBRARY wsock32)
+               find_library(WS2_32_LIBRARY ws2_32)
+               if(NOT CMAKE_RC_COMPILER)
+                       find_program(CMAKE_RC_COMPILER windres)
+               endif()
+               if(NOT CMAKE_RC_COMPILER)
+                       message(STATUS "Cannot find windres. Will not create a versioned exe.")
+                       set(RESOURCE_FILES)
+               else()
+                       set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>")
+               endif()
+       endif()
+else()
+       set(RESOURCE_FILES) #nothing
+endif()
+
+set(SOURCES ${SOURCE_FILES} ${HEADER_FILES} ${RESOURCE_FILES})
+
+# Libraries
+
+find_package(Boost 1.36 REQUIRED COMPONENTS program_options filesystem iostreams system locale)
+include_directories(${Boost_INCLUDE_DIRS})
+list(APPEND LIBS ${Boost_LIBRARIES})
+
+if (Boost_VERSION VERSION_LESS 105500)
+       message("-- Using Boost < 1.55: defining BOOST_NO_CXX11_SCOPED_ENUMS")
+       set(CMAKE_CXX_FLAGS "-DBOOST_NO_CXX11_SCOPED_ENUMS ${CMAKE_CXX_FLAGS}")
+endif()
+
+find_package(ICU REQUIRED uc data i18n io)
+include_directories(${ICU_INCLUDE_DIRS})
+list(APPEND LIBS ${ICU_LIBRARIES})
+
+# LibEpoxy < 1.2 crashes with binary drivers (nvidia & fglrx) when creating shaders
+# (see https://github.com/anholt/libepoxy/issues/23 for the exact problem)
+find_package(LibEpoxy 1.2 REQUIRED)
+include_directories(${LibEpoxy_INCLUDE_DIRS})
+list(APPEND LIBS ${LibEpoxy_LIBRARIES})
+
+# Find all the libs that don't require extra parameters
+foreach(lib ${OUR_LIBS} SDL2 PangoCairo LibRSVG LibXML++ AVFormat SWResample SWScale ZLIB JPEG PNG PortAudio Fontconfig GLM)
+       find_package(${lib} REQUIRED)
+       message(STATUS "${lib} includes: ${${lib}_INCLUDE_DIRS}")
+       include_directories(${${lib}_INCLUDE_DIRS})
+       list(APPEND LIBS ${${lib}_LIBRARIES})
+       add_definitions(${${lib}_DEFINITIONS})
+endforeach(lib)
+
+option(ENABLE_MIDI "Enable support for MIDI hardware (e-drums with USB/MIDI connection)." ON)
+if(ENABLE_MIDI)
+       find_package(PortMidi)
+       if(PortMidi_FOUND)
+               include_directories(${PortMidi_INCLUDE_DIRS})
+               list(APPEND LIBS ${PortMidi_LIBRARIES})
+               add_definitions("-DUSE_PORTMIDI")
+               message(STATUS "MIDI I/O: Enabled")
+       else()
+               message(STATUS "MIDI I/O: Disabled (libportmidi not found)")
+       endif()
+else()
+       message(STATUS "MIDI I/O: Disabled (explicitly disabled)")
+endif()
+
+option(ENABLE_WEBCAM "Enable webcam support (OpenCV)." ON)
+if(ENABLE_WEBCAM)
+       find_package(OpenCV)
+       if(OpenCV_FOUND)
+               include_directories(${OpenCV_INCLUDE_DIRS})
+               list(APPEND LIBS ${OpenCV_LIBS})
+               add_definitions("-DUSE_OPENCV")
+               message(STATUS "Webcam support: Enabled")
+       else()
+               message(STATUS "Webcam support: Disabled (libcv/libhighgui not found)")
+       endif()
+else()
+       message(STATUS "Webcam support: Disabled (explicitly disabled)")
+endif()
+
+option(ENABLE_WEBSERVER "Enable webserver support (cpprestsdk)." ON)
+if(ENABLE_WEBSERVER)
+       foreach(lib CppRest)
+               find_package(${lib})
+       endforeach(lib)
+       if(CppRest_FOUND)
+               find_package(Boost 1.36 REQUIRED COMPONENTS chrono thread)
+               include_directories(${Boost_INCLUDE_DIRS})
+               list(APPEND LIBS ${Boost_LIBRARIES})
+
+               include_directories(${CppRest_INCLUDE_DIRS})
+               list(APPEND LIBS ${CppRest_LIBRARIES})
+               message(STATUS "Webserver support: Enabled")
+               add_definitions("-DUSE_WEBSERVER")
+       else()
+               message(STATUS "Webserver support: Disabled (cpprestsdk not found)")
+       endif()
+else()
+       message(STATUS "Webserver support: Disabled (explicitly disabled)")
+endif()
+
+if(UNIX AND NOT APPLE)
+       # Note: cannot use list APPEND here because it inserts semicolons instead of spaces
+       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
+       set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pthread")
+endif()
+
+if(WIN32)
+       add_definitions("-DEPOXY_SHARED")
+       option(MXE_HACK "Features horrible hacks, but is able to compile a static performous.exe (that may not work)." OFF)
+       mark_as_advanced(MXE_HACK)
+       if(MXE_HACK)
+               execute_process(COMMAND "${CMAKE_SOURCE_DIR}/win32/mxe/libs.sh"
+                       OUTPUT_VARIABLE MXE_HACK_STRING
+               )
+               set(CMAKE_CXX_LINK_EXECUTABLE ${CMAKE_CXX_LINK_EXECUTABLE}${MXE_HACK_STRING})
+               add_definitions(-DBOOST_THREAD_USE_LIB)
+       endif()
+       set(BIN_INSTALL .)  # Straight to Program Files/Performous with no bin subfolder.
+       set(SUBSYSTEM_WIN32 WIN32)
+else()
+       set(BIN_INSTALL bin)
+endif()
+
+# Build main executable
+add_executable(performous ${SUBSYSTEM_WIN32} ${SOURCES} ${SDL2_SOURCES})
+if(WIN32)
+  target_link_libraries(performous wsock32 ws2_32)
+endif()
+target_link_libraries(performous ${LIBS})
+target_link_libraries(performous ced)
+
+install(TARGETS performous DESTINATION ${BIN_INSTALL})
+
+set_target_properties(performous PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)  # Store library paths in executable
+set_target_properties(performous PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})  # Produce executable in build/, not build/game/
+
+# Capitalized Performous.exe on Windows (this is considered more beautiful).
+if(WIN32)
+       set_target_properties(performous PROPERTIES OUTPUT_NAME "Performous")
+endif()
+
+# Generate config.hh
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.cmake.hh" "${CMAKE_CURRENT_BINARY_DIR}/config.hh" @ONLY)
+include_directories("${CMAKE_CURRENT_BINARY_DIR}")
+
diff --git a/game/animvalue.hh b/game/animvalue.hh
new file mode 100644 (file)
index 0000000..df5d423
--- /dev/null
@@ -0,0 +1,117 @@
+#pragma once
+
+#include "chrono.hh"
+#include "util.hh"
+#include <cmath>
+#include <stdexcept>
+
+/// class for simple/linear animation/transition of values
+class AnimValue {
+  public:
+       /// constructor
+       AnimValue(double value = 0.0, double rate = 1.0): m_value(value), m_target(value), m_rate(rate), m_time(Clock::now()) {}
+       /// move animation forward by diff
+       void move(double diff) { m_value += diff; }
+       /// gets animition target
+       double getTarget() const { return m_target; }
+       /// sets animation target (end point)
+       void setTarget(double target, bool step = false) { m_target = target; if (step) m_value = target; }
+       /// sets animation range
+       void setRange(double tmin, double tmax) {
+               if (tmin > tmax) throw std::logic_error("AnimValue range is reversed");
+               m_target = clamp(m_target, tmin, tmax);
+       }
+       /// hard-sets anim value
+       void setValue(double value) { m_value = value; }
+       /// set the adjustment rate
+       void setRate(double value) { m_rate = value; }
+       /// get current anim value
+       double get() const {
+               double maxadj = m_rate * duration();
+               double diff = m_value - m_target;
+               double adj = std::min(maxadj, std::fabs(diff));
+               if (diff > 0.0) m_value -= adj; else m_value += adj;
+               return m_value;
+       }
+
+  private:
+       double duration() const {
+               auto newtime = Clock::now();
+               Seconds t = newtime - m_time;
+               m_time = newtime;
+               return clamp(t.count());
+       }
+       mutable double m_value;
+       double m_target;
+       double m_rate;
+       mutable Time m_time;
+};
+
+/// easing animations
+class AnimAcceleration {
+  public:
+       /// constructor
+       AnimAcceleration(): m_target(), m_songs(), m_position(), m_velocity(), m_marginLeft(), m_marginRight(), m_time() {}
+       /// set margins
+       void setMargins(double left, double right) { m_marginLeft = left; m_marginRight = right; }
+       /// get current value
+       double getValue() {
+               const double acceleration = 50.0; // the coefficient of velocity changes (animation speed)
+               const double overshoot = 0.95; // Over 1.0 decelerates too late, less than 1.0 decelerates too early
+               if (m_songs == 0) return m_target;
+               double num = m_marginLeft + m_songs + m_marginRight;
+               auto curtime = Clock::now();
+               double duration = Seconds(curtime - m_time).count();
+               m_time = curtime;
+               if (!(duration > 0.0)) return m_position; // Negative value or NaN, or no songs - skip processing
+               if (duration > 1.0) {
+                       // More than one second has elapsed, assume that we have stopped on target already
+                       m_velocity = 0.0;
+                       return m_position = m_target;
+               }
+               std::size_t rounds = 1.0 + 1000.0 * duration; // 1 ms or shorter timesteps
+               double t = duration / rounds;
+               for (std::size_t i = 0; i < rounds; ++i) {
+                       double d = remainder(m_target - m_position, num); // Distance (via shortest way)
+                       // Allow it to stop nicely, without jitter
+                       if (std::abs(m_velocity) < 0.1 && std::abs(d) < 0.001) {
+                               m_velocity = 0.0;
+                               m_position = m_target;
+                               break;
+                       }
+                       double a = d > 0.0 ? acceleration : -acceleration; // Acceleration vector
+                       // Are we going to right direction && can we stop in time if we start decelerating now?
+                       if (d * m_velocity > 0.0 && std::abs(m_velocity) > 2.0 * overshoot * acceleration * d / m_velocity) a *= -1.0;
+                       // Apply Newtonian mechanics
+                       m_velocity += t * a;
+                       m_position += t * m_velocity;
+               }
+               if ((m_position = fmod(m_position, num)) < 0.0) m_position += num; // Normalize to [0, num]
+               if (m_position > m_marginLeft + m_songs) m_position -= num; // Normalize to [-m_marginLeft, songs + m_marginRight]
+               return m_position;
+       }
+       /// get target
+       unsigned int getTarget() const { return m_target; };
+       /// set target
+       void setTarget(unsigned int target, unsigned int songs) {
+               m_target = target;
+               if (m_songs == songs) return;
+               // Number of songs has changed => reset animation
+               m_songs = songs;
+               m_position = target;
+               m_velocity = 0.0;
+       };
+       /// resets animation target to 0
+       void reset() { setTarget(0, 0); }
+       /// get current velocity
+       double getVelocity() const { return m_velocity; }
+
+  private:
+       unsigned int m_target;
+       unsigned int m_songs;
+       double m_position;
+       double m_velocity;
+       double m_marginLeft;
+       double m_marginRight;
+       Time m_time;
+};
diff --git a/game/audio.cc b/game/audio.cc
new file mode 100644 (file)
index 0000000..e9ba5a7
--- /dev/null
@@ -0,0 +1,679 @@
+#include "audio.hh"
+
+#include "chrono.hh"
+#include "configuration.hh"
+#include "util.hh"
+#include "libda/portaudio.hpp"
+#include <cmath>
+#include <future>
+#include <iostream>
+#include <map>
+#include <unordered_map>
+#include <boost/range/iterator_range.hpp>
+
+namespace {
+       /**
+        * A function to parse key=value pairs with quoting capabilites.
+        */
+       std::map<std::string, std::string> parseKeyValuePairs(const std::string& st) {
+               std::map<std::string, std::string> ret;
+               bool inside_quotes = false;
+               int parsing_key = true;
+               std::string key = "", value = "";
+               for (size_t i = 0; i < st.size(); ++i) {
+                       // Quotes
+                       if (st[i] == '"') { inside_quotes = !inside_quotes; continue; }
+                       // Value end
+                       if (st[i] == ' ' && !inside_quotes && !parsing_key) {
+                               if (value.empty()) continue; // Skip whitespace after equals sign
+                               ret[key] = value;
+                               key = ""; value = "";
+                               parsing_key = true;
+                               continue;
+                       }
+                       // Space in key (bad)
+                       if (st[i] == ' ' && parsing_key && !key.empty())
+                               throw std::logic_error("Space in key in string: " + st);
+                       // Value start
+                       if (st[i] == '=' && !inside_quotes) {
+                               if (key.empty()) throw std::logic_error("Empty key in string: " + st);
+                               parsing_key = false;
+                               continue;
+                       }
+                       // Key start
+                       if (st[i] != ' ' && parsing_key) { key += st[i]; continue; }
+                       // If we got here, it is value
+                       value += st[i];
+               }
+               // Handle last key
+               if (!key.empty()) ret[key] = value;
+               return ret;
+       }
+
+       /**
+        * Pitch shifter.
+        * @param begin start of the buffer
+        * @param end end of the buffer
+        * @param factor shift factor from 0 (no shift) to 1 (maximum)
+        */
+       template <typename It> void PitchShift(It begin, It end, double factor) {
+               //FIXME: Dummy volume bender
+               for (It i = begin; i != end; ++i)
+                       *i *= factor * factor; // Decrease music volume
+       }
+}
+/**
+* Advanced audio sync code.
+* Produces precise monotonic clock synced to audio output callback (which may suffer of major jitter).
+* Uses system clock as timebase but the clock is skewed (made slower or faster) depending on whether
+* it is late or early. The clock is also stopped if audio output pauses.
+**/
+class AudioClock {
+       mutable std::mutex m_mutex;
+       Time m_baseTime; ///< A reference time (corresponds to m_basePos)
+       Seconds m_basePos = 0.0s; ///< A reference position in song
+       double m_skew = 0.0; ///< The skew ratio applied to system time (since baseTime)
+       std::atomic<Seconds> m_max{ 0.0s }; ///< Maximum output value for the clock (end of the current audio block)
+       /// Get the current position (current time via parameter, no locking)
+       Seconds pos_internal(Time now) const {
+               Seconds t = m_basePos + (1.0 + m_skew) * (now - m_baseTime);
+               return std::min<Seconds>(t, m_max);
+       }
+public:
+       /**
+       * Called from audio callback to keep the clock synced.
+       * @param audioPos the current position in the song
+       * @param length the duration of the current audio block
+       */
+       void timeSync(Seconds audioPos, Seconds length) {
+               constexpr Seconds maxError = 100ms;  // Step the clock instead of skewing if over 100 ms off
+               // Full correction requires locking, but we can update max without lock too
+               std::unique_lock<std::mutex> l(m_mutex, std::defer_lock);
+               Seconds max = audioPos + length;
+               if (!l.try_lock()) {
+                       if (max > m_max.load()) m_max = max; // Allow increasing m_max
+                       return;
+               }
+               // Mutex locked - do a full update
+               auto now = Clock::now();
+               const Seconds sys = pos_internal(now);  // Current position (based on system clock + corrections)
+               const Seconds audio = audioPos;  // Audio time
+               const Seconds diff = audio - sys;
+               // Skew-based correction only if going forward and relatively well synced
+               if (max > m_max.load() && std::abs(diff.count()) < maxError.count()) {
+                       constexpr double fudgeFactor = 0.001;  // Adjustment ratio
+                       // Update base position (this should not affect the clock)
+                       m_baseTime = now;
+                       m_basePos = sys;
+                       // Apply a VERY ARTIFICIAL correction for clock!
+                       const Seconds valadj = length * 0.1 * rand() / RAND_MAX;  // Dither
+                       m_skew += (diff < valadj ? -1.0 : 1.0) * fudgeFactor;
+                       // Limits to keep things sane in abnormal situations
+                       m_skew = clamp(m_skew, -0.01, 0.01);
+               } else {
+                       // Off too much, step to correct time
+                       m_baseTime = now;
+                       m_basePos = audio;
+                       m_skew = 0.0;
+               }
+               m_max = max;
+       }
+       /// Get the current position in seconds
+       Seconds pos() const {
+               std::lock_guard<std::mutex> l(m_mutex);
+               return pos_internal(Clock::now());
+       }
+};
+
+class Music {
+       struct Track {
+               FFmpeg mpeg;
+               float fadeLevel = 1.0f;
+               float pitchFactor = 0.0f;
+               template <typename... Args> Track(Args&&... args): mpeg(args...) {}
+       };
+       std::unordered_map<std::string, std::unique_ptr<Track>> tracks; ///< Audio decoders
+       double srate; ///< Sample rate
+       int64_t m_pos = 0; ///< Current sample position
+       bool m_preview;
+       AudioClock m_clock;
+       Seconds durationOf(int64_t samples) const { return 1.0s * samples / srate / 2.0; }
+public:
+       bool suppressCenterChannel = false;
+       double fadeLevel = 0.0;
+       double fadeRate = 0.0;
+       using Buffer = std::vector<float>;
+       Music(Audio::Files const& files, unsigned int sr, bool preview): srate(sr), m_preview(preview) {
+               for (auto const& tf /* trackname-filename pair */: files) {
+                       if (tf.second.empty()) continue; // Skip tracks with no filenames; FIXME: Why do we even have those here, shouldn't they be eliminated earlier?
+                       tracks.emplace(tf.first, std::make_unique<Track>(tf.second, sr));
+                       //tracks.insert(tf.first, std::auto_ptr<Track>(new Track(tf.second, sr)));
+               }
+               suppressCenterChannel = config["audio/suppress_center_channel"].b();
+       }
+       /// Sums the stream to output sample range, returns true if the stream still has audio left afterwards.
+       bool operator()(float* begin, float* end) {
+               size_t samples = end - begin;
+               m_clock.timeSync(durationOf(m_pos), durationOf(samples)); // Keep the clock synced
+               bool eof = true;
+               Buffer mixbuf(samples);
+               for (auto& kv: tracks) {
+                       Track& t = *kv.second;
+// FIXME: Include this code bit once there is a sane pitch shifting algorithm
+#if 0
+//                     if (it->first == "guitar") std::cout << t.pitchFactor << std::endl;
+                       if (t.pitchFactor != 0) { // Pitch shift
+                               Buffer tempbuf(end - begin);
+                               // Get audio to temp buffer
+                               if (t.mpeg.audioQueue(&*tempbuf.begin(), &*tempbuf.end(), m_pos, t.fadeLevel)) eof = false;
+                               // Do the magic
+                               PitchShift(&*tempbuf.begin(), &*tempbuf.end(), t.pitchFactor);
+                               // Mix with other tracks
+                               Buffer::iterator m = mixbuf.begin();
+                               Buffer::iterator b = tempbuf.begin();
+                               while (b != tempbuf.end())
+                                       *m++ += (*b++);
+                       // Otherwise just get the audio and mix it straight away
+                       } else
+#endif
+                       if (t.mpeg.audioQueue(&*mixbuf.begin(), &*mixbuf.end(), m_pos, t.fadeLevel)) eof = false;
+               }
+               m_pos += samples;
+               for (size_t i = 0, iend = mixbuf.size(); i != iend; ++i) {
+                       if (i % 2 == 0) {
+                               fadeLevel += fadeRate;
+                               if (fadeLevel <= 0.0) return false;
+                               if (fadeLevel > 1.0) { fadeLevel = 1.0; fadeRate = 0.0; }
+                       }
+                       begin[i] += mixbuf[i] * fadeLevel * static_cast<float>(m_preview ? config["audio/preview_volume"].i() : config["audio/music_volume"].i())/100.0;
+               }
+               // suppress center channel vocals
+               if(suppressCenterChannel && !m_preview) {
+                       float diffLR;
+                       for (size_t i=0; i<mixbuf.size(); i+=2) {
+                               diffLR = begin[i] - begin[i+1];
+                               begin[i] = diffLR;
+                               begin[i+1] = diffLR;
+                       }
+               }
+               return !eof;
+       }
+       void seek(double time) { m_pos = time * srate * 2.0; }
+       /// Get the current position in seconds
+       double pos() const { return m_clock.pos().count(); }
+       double duration() const {
+               double dur = 0.0;
+               for (auto& kv: tracks) dur = std::max(dur, kv.second->mpeg.audioQueue.duration());
+               return dur;
+       }
+       /// Prepare (seek) all tracks to current position, return true when done (nonblocking)
+       bool prepare() {
+               bool ready = true;
+               for (auto& kv: tracks) {
+                       FFmpeg& mpeg = kv.second->mpeg;
+                       if (mpeg.terminating()) continue;  // Song loading failed or other error, won't ever get ready
+                       if (mpeg.audioQueue.prepare(m_pos)) continue;  // Buffering done
+                       ready = false;  // Need to wait for buffering
+                       break;
+               }
+               return ready;
+       }
+       void trackFade(std::string const& name, double fadeLevel) {
+               auto it = tracks.find(name);
+               if (it == tracks.end()) return;
+               it->second->fadeLevel = fadeLevel;
+       }
+       void trackPitchBend(std::string const& name, double pitchFactor) {
+               auto it = tracks.find(name);
+               if (it == tracks.end()) return;
+               it->second->pitchFactor = pitchFactor;
+       }
+};
+
+struct Sample {
+  private:
+       double m_pos;
+       FFmpeg mpeg;
+       bool eof;
+  public:
+       Sample(fs::path const& filename, unsigned sr) : m_pos(), mpeg(filename, sr), eof(true) { }
+       void operator()(float* begin, float* end) {
+               if(eof) {
+                       // No more data to play in this sample
+                       return;
+               }
+               std::vector<float> mixbuf(end - begin);
+               if(!mpeg.audioQueue(&*mixbuf.begin(), &*mixbuf.end(), m_pos, 1.0)) {
+                       eof = true;
+               }
+               for (size_t i = 0, iend = end - begin; i != iend; ++i) {
+                       begin[i] += mixbuf[i] * static_cast<float>(config["audio/fail_volume"].i())/100.0;
+               }
+               m_pos += end - begin;
+       }
+       void reset() {
+               eof = false;
+               m_pos = 0;
+       }
+};
+
+struct Synth {
+  private:
+       Notes m_notes;
+       double srate; ///< Sample rate
+  public:
+       Synth(Notes const& notes, unsigned int sr) : m_notes(notes), srate(sr) {}
+       void operator()(float* begin, float* end, double position) {
+               static double phase = 0.0;
+               for (float *i = begin; i < end; ++i) *i *= 0.3; // Decrease music volume
+
+               std::vector<float> mixbuf(end - begin);
+               Notes::const_iterator it = m_notes.begin();
+
+               while (it != m_notes.end() && it->end < position) ++it;
+               if (it == m_notes.end() || it->type == Note::SLEEP || it->begin > position) { phase = 0.0; return; }
+               int note = it->note % 12;
+               double d = (note + 1) / 13.0;
+               double freq = MusicalScale().setNote(note + 4 * 12).getFreq();
+               double value = 0.0;
+               // Synthesize tones
+               for (size_t i = 0, iend = mixbuf.size(); i != iend; ++i) {
+                       if (i % 2 == 0) {
+                               value = d * 0.2 * std::sin(phase) + 0.2 * std::sin(2 * phase) + (1.0 - d) * 0.2 * std::sin(4 * phase);
+                               phase += TAU * freq / srate;
+                       }
+                       begin[i] += value;
+               }
+       }
+};
+
+struct Command {
+       enum { TRACK_FADE, TRACK_PITCHBEND, SAMPLE_RESET } type;
+       std::string track;
+       double factor;
+};
+
+/// Audio output callback wrapper. The playback Device calls this when it needs samples.
+struct Output {
+       std::mutex mutex;
+       std::mutex samples_mutex;
+       std::mutex synth_mutex;
+       std::unique_ptr<Synth> synth;
+       std::unique_ptr<Music> preloading;
+       std::vector<std::unique_ptr<Music>> playing, disposing;
+       std::vector<Analyzer*> mics;  // Used for audio pass-through
+       std::unordered_map<std::string, std::unique_ptr<Sample>> samples;
+       std::vector<Command> commands;
+       std::atomic<bool> paused{ false };
+       Output(): paused(false) {}
+
+       void callbackUpdate() {
+               std::unique_lock<std::mutex> l(mutex, std::try_to_lock);
+               if (!l.owns_lock()) return;  // No update now, try again later (cannot stop and wait for mutex to be released)
+               // Move from preloading to playing, if ready
+               if (preloading && preloading->prepare()) {
+                       std::clog << "audio/debug: preload done -> playing " << preloading.get() << std::endl;
+                       if (!playing.empty()) playing[0]->fadeRate = -preloading->fadeRate;  // Fade out the old music
+                       playing.insert(playing.begin(), std::move(preloading));
+               }
+               // Process commands
+               for (auto const& cmd: commands) {
+                       switch (cmd.type) {
+                       case Command::TRACK_FADE:
+                               if (!playing.empty()) playing[0]->trackFade(cmd.track, cmd.factor);
+                               break;
+                       case Command::TRACK_PITCHBEND:
+                               if (!playing.empty()) playing[0]->trackPitchBend(cmd.track, cmd.factor);
+                               break;
+                       case Command::SAMPLE_RESET:
+                               auto it = samples.find(cmd.track);
+                               if (it != samples.end())
+                                       it->second->reset();
+                               break;
+                       }
+               }
+               commands.clear();
+       }
+
+       void callback(float* begin, float* end, double rate) {
+               callbackUpdate();
+               std::fill(begin, end, 0.0f);
+               if (paused) return;
+               // Mix in from the streams currently playing
+               auto arrayEnd = playing.end();
+               for (auto i = playing.begin(); i != arrayEnd;) {
+                       bool keep = (*i->get())(begin, end);  // Do the actual mixing
+                       std::unique_lock<std::mutex> l(mutex, std::defer_lock);
+                       if (!keep && l.try_lock()) {
+                               // Dispose streams no longer needed by moving them to another container (that will be cleared by another thread).
+                               disposing.push_back(std::move(*i));
+                               i = playing.erase(i);
+                               arrayEnd = playing.end();
+                       }
+                       else { ++i; }
+               }
+               // Mix in microphones (if pass-through is enabled)
+               if (mics.size() > 0 && config["audio/pass-through"].b()) {
+                       // Decrease music volume
+                       float amp = 1.0f / config["audio/pass-through_ratio"].f();
+                       if (amp != 1.0f) for (auto& s: boost::make_iterator_range(begin, end)) s *= amp;
+                       // Do the mixing
+                       for (auto& m: mics) if (m) m->output(begin, end, rate);
+               }
+               // Mix in the samples currently playing
+               {
+                       // samples should not be created/destroyed on the fly
+                       std::unique_lock<std::mutex> l(samples_mutex, std::defer_lock);
+                       if(l.try_lock()) {
+                               for(auto it = samples.begin() ; it != samples.end() ; ++it) {
+                                       (*it->second)(begin, end);
+                               }
+                       }
+               }
+               // Mix synth if available (should be done at the end)
+               {
+                       std::unique_lock<std::mutex> l(synth_mutex, std::defer_lock);
+                       if(l.try_lock() && synth.get() && !playing.empty()) {
+                               (*synth.get())(begin, end, playing[0]->pos());
+                       }
+               }
+       }
+};
+
+
+Device::Device(unsigned int in, unsigned int out, double rate, unsigned int dev):
+  in(in), out(out), rate(rate), dev(dev),
+  stream(*this,
+  portaudio::Params().channelCount(in).device(dev).suggestedLatency(config["audio/latency"].f()),
+  portaudio::Params().channelCount(out).device(dev).suggestedLatency(config["audio/latency"].f()), rate),
+  mics(in, nullptr),
+  outptr()
+{}
+
+void Device::start() {
+       PaError err = Pa_StartStream(stream);
+       if (err != paNoError) throw std::runtime_error(std::string("Pa_StartStream: ") + Pa_GetErrorText(err));
+}
+
+void Device::stop() {
+       PaError err = Pa_StopStream(stream);
+       if (err != paNoError) throw std::runtime_error(std::string("Pa_StopStream: ") + Pa_GetErrorText(err));
+}
+
+int Device::operator()(void const* input, void* output, unsigned long frames, const PaStreamCallbackTimeInfo*, PaStreamCallbackFlags) try {
+       float const* inbuf = static_cast<float const*>(input);
+       float* outbuf = static_cast<float*>(output);
+       for (std::size_t i = 0; i < mics.size(); ++i) {
+               if (!mics[i]) continue;  // No analyzer? -> Channel not used
+               da::sample_const_iterator it = da::sample_const_iterator(inbuf + i, in);
+               mics[i]->input(it, it + frames);
+       }
+       if (outptr) outptr->callback(outbuf, outbuf + 2 * frames, rate);
+       return paContinue;
+} catch (std::exception& e) {
+       std::cerr << "Exception in audio callback: " << e.what() << std::endl;
+       return paAbort;
+}
+
+struct Audio::Impl {
+       Output output;
+       portaudio::Init init;
+       std::deque<Analyzer> analyzers;
+       std::deque<Device> devices;
+       bool playback = false;
+       std::string selectedBackend = Audio::backendConfig().getValue();
+       Impl() {
+               populateBackends(portaudio::AudioBackends().getBackends());
+               std::clog << portaudio::AudioBackends().dump() << std::flush; // Dump PortAudio backends and devices to log.
+               // Parse audio devices from config
+               ConfigItem::StringList devs = config["audio/devices"].sl();
+               for (ConfigItem::StringList::const_iterator it = devs.begin(), end = devs.end(); it != end; ++it) {
+                       try {
+                               struct Params {
+                                       unsigned out, in;
+                                       unsigned int rate;
+                                       std::string dev;
+                                       std::vector<std::string> mics;
+                               } params = Params();
+                               params.out = 0;
+                               params.in = 0;
+                               params.rate = 48000;
+                               // Break into tokens:
+                               for (auto& kv: parseKeyValuePairs(*it)) {
+                                       // Handle keys
+                                       std::string key = kv.first;
+                                       std::istringstream iss(kv.second);
+                                       if (key == "out") iss >> params.out;
+                                       else if (key == "in") iss >> params.in;
+                                       else if (key == "rate") iss >> params.rate;
+                                       else if (key == "dev") std::getline(iss, params.dev);
+                                       else if (key == "mics") {
+                                               // Parse a comma-separated list of mics
+                                               for (std::string mic; std::getline(iss, mic, ','); params.mics.push_back(mic)) {
+                                                       ++params.in;
+                                               }
+                                       }
+                                       else throw std::runtime_error("Unknown device parameter " + key);
+                                       if (!iss.eof()) throw std::runtime_error("Syntax error parsing device parameter " + key);
+                               }
+                               if (params.mics.size() < params.in) { params.mics.resize(params.in); }
+                               portaudio::AudioDevices ad(PaHostApiTypeId(PaHostApiNameToHostApiTypeId(selectedBackend)));
+                                       bool wantOutput = (params.in == 0) ? true : false;
+                                       unsigned num;
+                                       std::string msg = "audio/info: Device string empty; will look for a device with at least ";
+                                       if (wantOutput) {
+                                               msg += std::to_string(params.out) + " output channels.";
+                                               num = params.out;
+                                       }
+                                       else {
+                                               msg += std::to_string(params.in) + " input channels.";
+                                               num = params.in;
+                                       }
+                                       if (!params.dev.empty()) {
+                                       std::clog << "audio/debug: Will try to find device matching dev: " << params.dev << std::endl;
+                                       }
+                                       else { std::clog << msg << std::endl; }
+                                       portaudio::DeviceInfo const& info = ad.find(params.dev, wantOutput, num);
+                                       std::clog << "audio/info: Found: " << info.name << ", in: " << info.in << ", out: " << info.out << std::endl;
+                               if (info.in < int(params.mics.size())) throw std::runtime_error("Device doesn't have enough input channels");
+                               if (info.out < int(params.out)) throw std::runtime_error("Device doesn't have enough output channels");
+                               // Match found if we got here, construct a device
+                               devices.emplace_back(params.in, params.out, params.rate, info.index);
+                               Device& d = devices.back();
+                               // Assign mics for all channels of the device
+                               int assigned_mics = 0;
+                               for (unsigned int j = 0; j < params.in; ++j) {
+                                       if (analyzers.size() >= AUDIO_MAX_ANALYZERS) break; // Too many mics
+                                       std::string const& m = params.mics[j];
+                                       if (m.empty()) continue; // Input channel not used
+                                       // Check that the color is not already taken
+                                       bool mic_used = false;
+                                       for (size_t mi = 0; mi < analyzers.size(); ++mi) {
+                                               if (analyzers[mi].getId() == m) { mic_used = true; break; }
+                                       }
+                                       if (mic_used) continue;
+                                       // Add the new analyzer
+                                       analyzers.emplace_back(d.rate, m);
+                                       d.mics[j] = &analyzers.back();
+                                       ++assigned_mics;
+                               }
+                               // Assign playback output for the first available stereo output
+                               if (!playback && d.out == 2) { d.outptr = &output; playback = true; }
+                               std::clog << "audio/info: Using audio device: " << info.desc();
+                               if (assigned_mics) std::clog << ", input channels: " << assigned_mics;
+                               if (params.out) std::clog << ", output channels: " << params.out;
+                               std::clog << std::endl;
+                               // Start capture/playback on this device (likely to throw due to audio system errors)
+                               // NOTE: When it throws we want to keep the device in devices to avoid calling ~Device
+                               // which often would hit the Pa_CloseStream hang bug and terminate the application.
+                               d.start();
+                       } catch(std::runtime_error& e) {
+                               std::clog << "audio/error: Audio device '" << *it << "': " << e.what() << std::endl;
+                       }
+               }
+               // Assign mic buffers to the output for pass-through
+               for (size_t i = 0; i < analyzers.size(); ++i)
+                       output.mics.push_back(&analyzers[i]);
+       }
+       ~Impl() {
+               // stop all audio streams befor destoying the object.
+               // else portaudio will keep sending data to those destroyed
+               // objects.
+               for (auto& device: devices) device.stop();
+       }
+};
+
+Audio::Audio(): self(std::make_unique<Impl>()) {}
+Audio::~Audio() { close(); }
+
+ConfigItem& Audio::backendConfig() {
+       static ConfigItem& backend = config["audio/backend"];
+       return backend;
+}
+
+void Audio::restart() { close(); self = std::make_unique<Impl>(); }
+
+void Audio::close() {
+       // Only wait a limited time for closing of audio devices because it often hangs (on Linux)
+       auto audiokiller = std::async(std::launch::async, [this]{ self.reset(); });
+       if (audiokiller.wait_for(2.5s) == std::future_status::ready) return;
+       throw std::runtime_error("Audio hung for some reason.\nPlease restart Performous.");
+}
+
+bool Audio::isOpen() const {
+       return !self->devices.empty();
+}
+
+bool Audio::hasPlayback() const {
+       for (size_t i = 0; i < self->devices.size(); ++i)
+               if (self->devices[i].isOutput()) return true;
+       return false;
+}
+
+void Audio::loadSample(std::string const& streamId, fs::path const& filename) {
+       std::lock_guard<std::mutex> l(self->output.samples_mutex);
+       self->output.samples.emplace(streamId, std::unique_ptr<Sample>(new Sample(filename, getSR())));
+}
+
+void Audio::playSample(std::string const& streamId) {
+       Output& o = self->output;
+       std::lock_guard<std::mutex> l(o.mutex);
+       Command cmd = { Command::SAMPLE_RESET, streamId, 0.0 };
+       o.commands.push_back(cmd);
+}
+
+void Audio::unloadSample(std::string const& streamId) {
+       std::lock_guard<std::mutex> l(self->output.samples_mutex);
+       self->output.samples.erase(streamId);
+}
+
+void Audio::playMusic(Audio::Files const& filenames, bool preview, double fadeTime, double startPos) {
+       Output& o = self->output;
+       auto m = std::make_unique<Music>(filenames, getSR(), preview);
+       m->seek(startPos);
+       m->fadeRate = 1.0 / getSR() / fadeTime;
+       // Format debug message
+       std::string logmsg = "audio/debug: playMusic(";
+       for (auto& kv: filenames) logmsg += kv.first + "=" + kv.second.filename().string() + ", ";
+       logmsg += ") -> ";
+       std::clog << logmsg << m.get() << std::endl;
+       // Send to audio playback thread
+       std::lock_guard<std::mutex> l(o.mutex);
+       if (o.preloading) std::clog << "audio/debug: earlier music still preloading, disposing " << o.preloading.get() << std::endl;
+       o.preloading = std::move(m);
+       o.disposing.clear();  // Delete disposed streams
+       o.commands.clear();  // Remove old unprocessed commands (they should not apply to the new music)
+}
+
+void Audio::playMusic(fs::path const& filename, bool preview, double fadeTime, double startPos) {
+       Audio::Files m;
+       m["MAIN"] = filename;
+       playMusic(m, preview, fadeTime, startPos);
+}
+
+void Audio::stopMusic() {
+       playMusic(Audio::Files(), false, 0.0);
+       {
+               Output& o = self->output;
+               // stop synth when music is stopped
+               std::lock_guard<std::mutex> l(o.synth_mutex);
+               o.synth.reset();
+       }
+}
+
+void Audio::fadeout(double fadeTime) {
+       playMusic(Audio::Files(), false, fadeTime);
+       {
+               Output& o = self->output;
+               // stop synth when music is stopped
+               std::lock_guard<std::mutex> l(o.synth_mutex);
+               o.synth.reset();
+       }
+}
+
+double Audio::getPosition() const {
+       Output& o = self->output;
+       std::lock_guard<std::mutex> l(o.mutex);
+       return (o.playing.empty() || o.preloading.get()) ? getNaN() : o.playing[0]->pos();
+}
+
+double Audio::getLength() const {
+       Output& o = self->output;
+       std::lock_guard<std::mutex> l(o.mutex);
+       return (o.playing.empty() || o.preloading.get()) ? getNaN() : o.playing[0]->duration();
+}
+
+bool Audio::isPlaying() const {
+       Output& o = self->output;
+       std::lock_guard<std::mutex> l(o.mutex);
+       return o.preloading || !o.playing.empty();
+}
+
+void Audio::seek(double offset) {
+       Output& o = self->output;
+       std::lock_guard<std::mutex> l(o.mutex);
+       for (auto& trk: o.playing) trk->seek(clamp(trk->pos() + offset, 0.0, trk->duration()));
+       pause(false);
+}
+
+void Audio::seekPos(double pos) {
+       Output& o = self->output;
+       std::lock_guard<std::mutex> l(o.mutex);
+       for (auto& trk: o.playing) trk->seek(pos);
+       pause(false);
+}
+
+void Audio::pause(bool state) { self->output.paused = state; }
+bool Audio::isPaused() const { return self->output.paused; }
+
+void Audio::streamFade(std::string track, double fadeLevel) {
+       Output& o = self->output;
+       std::lock_guard<std::mutex> l(o.mutex);
+       Command cmd = { Command::TRACK_FADE, track, fadeLevel };
+       o.commands.push_back(cmd);
+}
+
+void Audio::streamBend(std::string track, double pitchFactor) {
+       Output& o = self->output;
+       std::lock_guard<std::mutex> l(o.mutex);
+       Command cmd = { Command::TRACK_PITCHBEND, track, pitchFactor };
+       o.commands.push_back(cmd);
+}
+
+void Audio::toggleSynth(Notes const& notes) {
+       Output& o = self->output;
+       std::lock_guard<std::mutex> l(o.synth_mutex);
+       if (o.synth.get()) o.synth.reset();
+       else o.synth = std::make_unique<Synth>(notes, getSR());
+}
+
+void Audio::toggleCenterChannelSuppressor() {
+       Output& o = self->output;
+       std::lock_guard<std::mutex> l(o.mutex);
+       for (size_t i = 0; i < o.playing.size(); i++) {
+               o.playing[i]->suppressCenterChannel = !o.playing[i]->suppressCenterChannel;
+       }
+}
+
+std::deque<Analyzer>& Audio::analyzers() { return self->analyzers; }
+std::deque<Device>& Audio::devices() { return self->devices; }
diff --git a/game/audio.hh b/game/audio.hh
new file mode 100644 (file)
index 0000000..1d9be79
--- /dev/null
@@ -0,0 +1,108 @@
+#pragma once
+
+#include "configuration.hh"
+#include "ffmpeg.hh"
+#include "notes.hh"
+#include "pitch.hh"
+#include "util.hh"
+#include "libda/portaudio.hpp"
+#include <deque>
+#include <map>
+#include <memory>
+#include <string>
+#include <vector>
+
+const unsigned AUDIO_MAX_ANALYZERS = 11;
+
+struct Output;
+
+struct Device {
+       // Init
+       const unsigned int in, out;
+       const double rate;
+       const unsigned int dev;
+       portaudio::Stream stream;
+       std::vector<Analyzer*> mics;
+       Output* outptr;
+
+       Device(unsigned int in, unsigned int out, double rate, unsigned int dev);
+       /// Start
+       void start();
+       /// Stop
+       void stop();
+       /// Callback
+       int operator()(void const* input, void* output, unsigned long frames, const PaStreamCallbackTimeInfo*, PaStreamCallbackFlags);
+       /// Returns true if this device is opened for output
+       bool isOutput() const { return outptr != nullptr; }
+       /// Returns true if this device is assigned to the named channel (mic color or "OUT")
+       bool isChannel(std::string const& name) const {
+               if (name == "OUT") return isOutput();
+               for (auto const& m: mics) if (m && m->getId() == name) return true;
+               return false;
+       }
+};
+
+extern int getBackend();
+class ConfigItem;
+
+/** @short High level audio playback API **/
+class Audio {
+       friend int getBackend();
+       struct Impl;
+       std::unique_ptr<Impl> self;
+public:
+       typedef std::map<std::string, fs::path> Files;
+       static ConfigItem& backendConfig();
+       Audio();
+       ~Audio();
+       void restart();
+       void close();
+       std::deque<Analyzer>& analyzers();
+       std::deque<Device>& devices();
+       bool isOpen() const;
+       bool hasPlayback() const;
+       /** Play a song beginning at startPos (defaults to 0)
+        * @param filename the track filename
+        * @param preview if the song preview is to play
+        * @param fadeTime time to fade
+        * @param startPos starting position
+        */
+       void playMusic(fs::path const& filename, bool preview = false, double fadeTime = 0.5, double startPos = 0.0);
+       /** Plays a list of songs **/
+       void playMusic(Files const& filenames, bool preview = false, double fadeTime = 0.5, double startPos = 0.0);
+       /** Loads/plays/unloads a sample **/
+       void loadSample(std::string const& streamId, fs::path const& filename);
+       void playSample(std::string const& streamId);
+       void unloadSample(std::string const& streamId);
+       /** Stops music **/
+       void stopMusic();
+       /** Fades music out **/
+       void fadeout(double time = 1.0);
+       /** Get the length of the currently playing song, in seconds. **/
+       double getLength() const;
+       /**
+        * This methods seek forward in the stream (backwards if
+        * argument is negative), and continues playing.
+        * @param seek_dist number of seconds to seek from current position
+        */
+       void seek(double seek_dist);
+       /** Seek to specific time **/
+       void seekPos(double pos);
+       /** Is the music playing (loaded and not at EOF yet, pause doesn't matter) **/
+       bool isPlaying() const;
+       /** Get the current position. If not known or nothing is playing, NaN is returned. **/
+       double getPosition() const;
+       void togglePause() { pause(!isPaused()); }
+       void pause(bool state = true);
+       bool isPaused() const;
+       /** Toggle synth playback **/
+       void toggleSynth(Notes const&);
+       /** Toggle center channel suppressor **/
+       void toggleCenterChannelSuppressor();
+       /** Adjust volume level of a single track (used for muting incorrectly played instruments). Range 0.0 to 1.0. **/
+       void streamFade(std::string track, double volume);
+       /** Do a pitch shift - used for guitar whammy bar */
+       void streamBend(std::string track, double pitchFactor);
+       /** Get sample rate */
+       double getSR() const { return 48000.0; }
+};
diff --git a/game/backgrounds.cc b/game/backgrounds.cc
new file mode 100644 (file)
index 0000000..bdb37b8
--- /dev/null
@@ -0,0 +1,75 @@
+#include "backgrounds.hh"
+
+#include "configuration.hh"
+#include <boost/filesystem.hpp>
+#include <algorithm>
+#include <iostream>
+#include <sstream>
+#include <stdexcept>
+#include <random>
+#include <regex>
+
+void Backgrounds::reload() {
+       if (m_loading) return;
+       // Run loading thread
+       m_loading = true;
+       m_thread = std::make_unique<std::thread>([this] { reload_internal(); });
+}
+
+void Backgrounds::reload_internal() {
+       {       // Remove old ones
+               std::lock_guard<std::mutex> l(m_mutex);
+               m_bgs.clear();
+               m_dirty = true;
+       }
+       // Go through the background paths
+       Paths paths = getPaths();
+       for (auto it = paths.begin(); m_loading && it != paths.end(); ++it) {
+               if (!m_loading) break;
+               *it /= "backgrounds";
+               if (!fs::is_directory(*it)) { std::clog << "backgrounds/info: >>> Not scanning for backgrounds: " << *it << " (no such directory)" << std::endl; continue; }
+               std::clog << "backgrounds/info: >>> Scanning " << *it << " (for backgrounds)" << std::endl;
+               size_t count = m_bgs.size();
+               reload_internal(*it); // Scan the found folder
+               size_t diff = m_bgs.size() - count;
+               if (diff > 0 && m_loading) std::clog << "backgrounds/info: " << diff << " backgrounds loaded" << std::endl;
+       }
+       m_loading = false;
+       {       // Randomize the order
+               std::lock_guard<std::mutex> l(m_mutex);
+               std::shuffle(m_bgs.begin(), m_bgs.end(), std::mt19937(std::random_device()()));
+               m_dirty = false;
+               m_bgiter = 0;
+       }
+}
+
+void Backgrounds::reload_internal(fs::path const& parent) {
+       if (std::distance(parent.begin(), parent.end()) > 20) { std::clog << "backgrounds/info: >>> Not scanning: " << parent.string() << " (maximum depth reached, possibly due to cyclic symlinks)" << std::endl; return; }
+       try {
+               // Find suitable file formats
+               std::regex expression(R"(\.(png|jpeg|jpg|svg)$)", std::regex_constants::icase);
+               for (fs::directory_iterator dirIt(parent), dirEnd; m_loading && dirIt != dirEnd; ++dirIt) {
+                       fs::path p = dirIt->path();
+                       if (fs::is_directory(p)) { reload_internal(p); continue; }
+                       std::string name = p.filename().string(); // File basename
+                       std::string path = p.string(); // Path without filename
+                       path.erase(path.size() - name.size());
+                       if (!regex_search(name, expression)) continue;
+                       {
+                               std::lock_guard<std::mutex> l(m_mutex);
+                               m_bgs.push_back(path + name); // Add the background
+                               m_dirty = true;
+                       }
+               }
+       } catch (std::exception const& e) {
+               std::cout << "Error accessing " << parent << std::endl;
+       }
+}
+
+/// Get a random background
+std::string Backgrounds::getRandom() {
+       if (m_bgs.empty()) throw std::runtime_error("No random backgrounds available");
+       // This relies on that the bgs are in random order
+       return m_bgs.at((++m_bgiter) % m_bgs.size());
+}
+
diff --git a/game/backgrounds.hh b/game/backgrounds.hh
new file mode 100644 (file)
index 0000000..b727e44
--- /dev/null
@@ -0,0 +1,45 @@
+#pragma once
+
+#include "fs.hh"
+#include <atomic>
+#include <memory>
+#include <mutex>
+#include <thread>
+#include <vector>
+
+/// songs class for songs screen
+class Backgrounds {
+  public:
+       /// constructor
+       Backgrounds(const Backgrounds&) = delete;
+       const Backgrounds& operator=(const Backgrounds&) = delete;
+       Backgrounds() {
+               reload();
+       }
+       ~Backgrounds() {
+               m_loading = false; // Terminate loading if currently in progress
+               m_thread->join();
+       }
+       /// reloads backgrounds list
+       void reload();
+       /// array access
+       std::string& operator[](std::size_t pos) { return m_bgs.at(pos); }
+       /// number of backgrounds
+       int size() const { return m_bgs.size(); };
+       /// true if empty
+       int empty() const { return m_bgs.empty(); };
+       /// returns random background
+       std::string getRandom();
+
+  private:
+       typedef std::vector<std::string> BGVector;
+       BGVector m_bgs;
+       int m_bgiter = 0;
+       void reload_internal();
+       void reload_internal(fs::path const& p);
+       std::atomic<bool> m_dirty{ false };
+       std::atomic<bool> m_loading{ false };
+       std::unique_ptr<std::thread> m_thread;
+       mutable std::mutex m_mutex;
+};
+
diff --git a/game/cache.cc b/game/cache.cc
new file mode 100644 (file)
index 0000000..7592660
--- /dev/null
@@ -0,0 +1,20 @@
+#include "cache.hh"
+#include "fs.hh"
+
+#include <boost/format.hpp>
+#include <algorithm>
+#include <boost/algorithm/string/classification.hpp>
+
+namespace cache {
+       fs::path constructSVGCacheFileName(fs::path const& svgfilename, double factor){
+               fs::path cache_filename;
+               std::string const lod = (boost::format("%.2f") % factor).str();
+               std::string const cache_basename = svgfilename.filename().string() + ".cache_" + lod + ".premul.png";
+               std::string fullpath = svgfilename.parent_path().string();
+               // Windows drive name handling
+               std::replace_if(fullpath.begin(), fullpath.end(), boost::is_any_of(":"), '_');
+               cache_filename = getCacheDir() / "misc" / fullpath / cache_basename;
+               return cache_filename;
+       }
+
+}
diff --git a/game/cache.hh b/game/cache.hh
new file mode 100644 (file)
index 0000000..1cd1bbf
--- /dev/null
@@ -0,0 +1,25 @@
+#pragma once
+
+#include "configuration.hh"
+#include "fs.hh"
+#include <boost/filesystem.hpp>
+#include <cstring>
+#include <stdexcept>
+
+namespace cache {
+
+       /** Builds the full path and file name for the SVG cache resource **/
+       fs::path constructSVGCacheFileName(fs::path const& svgfilename, double factor);
+
+       /** Load an SVG from the cache, if loading fails invalid_cache_error is thrown **/
+       template <typename T> bool loadSVG(T& target, fs::path const& source_filename, double factor) {
+               fs::path const cache_filename = cache::constructSVGCacheFileName(source_filename, factor);
+               // Verify that a cached file exists and that it is more recent than the original SVG
+               if (!fs::is_regular_file(cache_filename)) return false;
+               if (fs::last_write_time(source_filename) > fs::last_write_time(cache_filename)) return false;
+               // Try to load the cached file          
+               try { loadPNG(target, cache_filename.string()); } catch( ... ) { return false; }
+               return true;
+       }
+}
+
diff --git a/game/chrono.hh b/game/chrono.hh
new file mode 100644 (file)
index 0000000..851c312
--- /dev/null
@@ -0,0 +1,12 @@
+#pragma once
+
+#include <chrono>
+
+using namespace std::literals::chrono_literals;
+using Clock = std::chrono::steady_clock;
+using Time = Clock::time_point;
+using Seconds = std::chrono::duration<double>;
+
+static inline Clock::duration clockDur(Seconds d) {
+       return std::chrono::duration_cast<Clock::duration>(d);
+}
diff --git a/game/color.cc b/game/color.cc
new file mode 100644 (file)
index 0000000..e0acec8
--- /dev/null
@@ -0,0 +1,75 @@
+#include "color.hh"
+#include <cstdio>
+#include <iostream>
+#include <map>
+#include <string>
+
+std::istream& operator>>(std::istream& is, Color& color) {
+       std::string str;
+       is >> str;
+       color = Color(str);
+       return is;
+}
+
+namespace {
+       struct ColorNames {
+               typedef std::map<std::string, Color> Map;
+               Map m;
+               ColorNames() {
+                       m["maroon"] = Color("#800000FF");
+                       m["red"] = Color("#FF0000FF");
+                       m["green"] = Color("#008000FF");
+                       m["lime"] = Color("#00FF00FF");
+                       m["navy"] = Color("#000080FF");
+                       m["blue"] = Color("#0000FFFF");
+                       m["purple"] = Color("#800080FF");
+                       m["fuchsia"] = Color("#FF00FFFF");
+                       m["olive"] = Color("#808000FF");
+                       m["yellow"] = Color("#FFFF00FF");
+                       m["teal"] = Color("#008080FF");
+                       m["aqua"] = Color("#00FFFFFF");
+                       m["white"] = Color("#FFFFFFFF");
+                       m["none"] = Color("#00000000");
+                       m["black"] = Color("#000000FF");
+                       m["gray"] = Color("#808080FF");
+                       m["silver"] = Color("#C0C0C0FF");
+                       }
+       } colors;
+
+       // Convert sRGB color component into linear as per OpenGL specs
+       float lin(float sRGB) {
+               if (sRGB <= 0.04045) return sRGB / 12.92;
+               return std::pow((sRGB + 0.055)/1.055, 2.4);
+       }
+}
+
+Color::Color(std::string const& str) {
+       unsigned int r = 0, g = 0, b = 0, a = 255;
+       if (str.size() > 0 && str[0] == '#' && sscanf(str.c_str() + 1, "%02x %02x %02x %02x", &r, &g, &b, &a) >= 3) {
+               *this = Color(lin(r / 255.0), lin(g / 255.0), lin(b / 255.0), a / 255.0);
+               return;
+       }
+       ColorNames::Map::const_iterator it = colors.m.find(str);
+       if (it != colors.m.end()) { *this = it->second; return; }
+       std::clog << "color/warning: Unknown color: " << str << " (using magenta to hilight)" << std::endl;
+       *this = Color(1.0, 0.0, 1.0, 1.0);
+}
+
+glmath::vec4 Color::linear() const {
+       return a * glmath::vec4(r, g, b, 1.0);
+}
+
+Color MicrophoneColor::get(std::string name) {
+       if (name == "black") return Color(3.0/255.0, 3.0/255.0, 3.0/255.0, 1.0);
+       else if (name == "gray") return Color(24.0/255.0, 24.0/255.0, 24.0/255.0, 1.0);
+       else if (name == "white") return Color(1.0, 1.0, 1.0, 1.0);
+       else if (name == "aqua") return Color(0.0, 1.0, 1.0, 1.0);
+       else if (name == "purple") return Color(63.0/255.0, 0.0, 1.0, 1.0);
+       else if (name == "orange") return Color(1.0, 52.0/255.0, 0.0, 1.0);
+       else if (name == "fuchsia") return Color(1.0, 0.06, 127/255.0, 1.0);
+       else if (name == "yellow") return Color(1.0, 1.0, 0.0, 1.0);
+       else if (name == "green") return Color(0.0, 1.0, 0.0, 1.0);     
+       else if (name == "red") return Color(1, 0.0, 0.0, 1.0);
+       else if (name == "blue") return Color(0.0, 43.75/255.0, 1.0, 1.0);
+       else return Color(0.5, 0.5, 0.5, 1.0);
+}
diff --git a/game/color.hh b/game/color.hh
new file mode 100644 (file)
index 0000000..a3c060e
--- /dev/null
@@ -0,0 +1,28 @@
+#pragma once
+
+#include "glmath.hh"
+#include <istream>
+
+/// A struct for holding RGBA color in non-premultiplied linear RGB format (and conversions)
+struct Color {
+       float r;
+       float g;
+       float b;
+       float a;
+       /// Default-construct white
+       Color(): r(1.0), g(1.0), b(1.0), a(1.0) {}
+       /// Construct using RGB(A)
+       Color(float red, float grn, float blu, float alp = 1.0): r(red), g(grn), b(blu), a(alp) {}
+       /// Construct white color with alpha
+       static Color alpha(float alp) { return Color(1.0, 1.0, 1.0, alp); }
+       /// Parse CSS color string (sRGB)
+       explicit Color(std::string const& str);
+       /// Return premultiplied linear color suitable for use with OpenGL
+       glmath::vec4 linear() const;
+};
+
+std::istream& operator>>(std::istream& is, Color& color);
+
+namespace MicrophoneColor {
+       Color get(std::string name);
+}
diff --git a/game/config.cmake.hh b/game/config.cmake.hh
new file mode 100644 (file)
index 0000000..3e7e516
--- /dev/null
@@ -0,0 +1,30 @@
+#pragma once
+
+// CMake uses config.cmake.hh to generate config.hh within the build folder.
+#ifndef PERFORMOUS_CONFIG_HH
+#define PERFORMOUS_CONFIG_HH
+
+#define LOCALEDIR "@LOCALE_DIR@"
+
+#define PACKAGE "@CMAKE_PROJECT_NAME@"
+#define VERSION "@PROJECT_VERSION@"
+
+#define SHARED_DATA_DIR "@SHARE_INSTALL@"
+
+// FFMPEG/libav libraries use changing include file names... Get them from CMake.
+#define AVCODEC_INCLUDE <@AVCodec_INCLUDE@>
+#define AVFORMAT_INCLUDE <@AVFormat_INCLUDE@>
+#define SWSCALE_INCLUDE <@SWScale_INCLUDE@>
+#define SWRESAMPLE_INCLUDE <@SWResample_INCLUDE@>
+//libav 0.9 fix
+#define AVUTIL_INCLUDE <@AVUtil_INCLUDE@>
+#define AVUTIL_OPT_INCLUDE <@AVUtil_INCLUDE_DIRS@/libavutil/opt.h> //HACK to get AVOption class!
+#define AVUTIL_MATH_INCLUDE <@AVUtil_INCLUDE_DIRS@/libavutil/mathematics.h>
+#define AVUTIL_ERROR_INCLUDE <@AVUtil_INCLUDE_DIRS@/libavutil/error.h>
+
+// libxml++ version
+#define LIBXMLPP_VERSION_2_6 @LibXML++_VERSION_2_6@
+#define LIBXMLPP_VERSION_3_0 @LibXML++_VERSION_3_0@
+
+#endif
+
diff --git a/game/configuration.cc b/game/configuration.cc
new file mode 100644 (file)
index 0000000..9f7ef5f
--- /dev/null
@@ -0,0 +1,438 @@
+#include "audio.hh"
+#include "configuration.hh"
+#include "libxml++-impl.hh"
+
+#include "fs.hh"
+#include "util.hh"
+#include "i18n.hh"
+#include "screen_intro.hh"
+#include <boost/filesystem.hpp>
+#include <boost/format.hpp>
+#include <algorithm>
+#include <future>
+#include <iomanip>
+#include <stdexcept>
+#include <iostream>
+#include <cmath>
+
+Config config;
+
+ConfigItem::ConfigItem(bool bval): m_type("bool"), m_value(bval), m_sel() { }
+
+ConfigItem::ConfigItem(int ival): m_type("int"), m_value(ival), m_sel() { }
+
+ConfigItem::ConfigItem(float fval): m_type("float"), m_value(fval), m_sel() { }
+
+ConfigItem::ConfigItem(std::string sval): m_type("string"), m_value(sval), m_sel() { }
+
+ConfigItem::ConfigItem(OptionList opts): m_type("option_list"), m_value(opts), m_sel() { }
+
+
+ConfigItem& ConfigItem::incdec(int dir) {
+       if (m_type == "int") {
+               int& val = boost::get<int>(m_value);
+               int step = boost::get<int>(m_step);
+               val = clamp(((val + dir * step)/ step) * step, boost::get<int>(m_min), boost::get<int>(m_max));
+       } else if (m_type == "float") {
+               double& val = boost::get<double>(m_value);
+               double step = boost::get<double>(m_step);
+               val = clamp(round((val + dir * step) / step) * step, boost::get<double>(m_min), boost::get<double>(m_max));
+       } else if (m_type == "bool") {
+               bool& val = boost::get<bool>(m_value);
+               val = !val;
+       } else if (m_type == "option_list") {
+               size_t s = boost::get<OptionList>(m_value).size();
+               m_sel = (m_sel + dir + s) % s;
+       }
+       return *this;
+}
+
+bool ConfigItem::isDefaultImpl(ConfigItem::Value const& defaultValue) const {
+       if (m_type == "bool") return boost::get<bool>(m_value) == boost::get<bool>(defaultValue);
+       if (m_type == "int") return boost::get<int>(m_value) == boost::get<int>(defaultValue);
+       if (m_type == "float") return boost::get<double>(m_value) == boost::get<double>(defaultValue);
+       if (m_type == "string") return boost::get<std::string>(m_value) == boost::get<std::string>(defaultValue);
+       if (m_type == "string_list") return boost::get<StringList>(m_value) == boost::get<StringList>(defaultValue);
+       if (m_type == "option_list") return boost::get<OptionList>(m_value) == boost::get<OptionList>(defaultValue);
+       throw std::logic_error("ConfigItem::is_default doesn't know type '" + m_type + "'");
+}
+
+void ConfigItem::verifyType(std::string const& type) const {
+       if (type == m_type) return;
+       std::string name = "unknown";
+       // Try to find this item in the config map
+       for (Config::const_iterator it = config.begin(); it != config.end(); ++it) {
+               if (&it->second == this) { name = it->first; break; }
+       }
+       if (m_type.empty()) throw std::logic_error("Config item " + name + ", requested_type=" + type + " used in C++ but missing from config schema");
+       throw std::logic_error("Config item type mismatch: item=" + name + ", type=" + m_type + ", requested=" + type);
+}
+
+int& ConfigItem::i() { verifyType("int"); return boost::get<int>(m_value); }
+int const& ConfigItem::i() const { verifyType("int"); return boost::get<int>(m_value); }
+bool& ConfigItem::b() { verifyType("bool"); return boost::get<bool>(m_value); }
+double& ConfigItem::f() { verifyType("float"); return boost::get<double>(m_value); }
+std::string& ConfigItem::s() { verifyType("string"); return boost::get<std::string>(m_value); }
+ConfigItem::StringList& ConfigItem::sl() { verifyType("string_list"); return boost::get<StringList>(m_value); }
+ConfigItem::OptionList& ConfigItem::ol() { verifyType("option_list"); return boost::get<OptionList>(m_value); }
+std::string& ConfigItem::so() { verifyType("option_list"); return boost::get<OptionList>(m_value).at(m_sel); }
+
+void ConfigItem::select(int i) { verifyType("option_list"); m_sel = clamp<int>(i, 0, boost::get<OptionList>(m_value).size()-1); }
+
+namespace {
+       template <typename T, typename VariantAll, typename VariantNum> std::string numericFormat(VariantAll const& value, VariantNum const& multiplier, VariantNum const& step) {
+               T m = boost::get<T>(multiplier);
+               // Find suitable precision (not very useful for integers, but this code is generic...)
+               T s = std::abs(m * boost::get<T>(step));
+               unsigned precision = 0;
+               while (s > 0.0 && (s *= 10) < 10) ++precision;
+               // Format the output
+               boost::format fmter("%f");
+               fmter % boost::io::group(std::setprecision(precision), double(m) * boost::get<T>(value));
+               return fmter.str();
+       }
+
+       std::string getText(xmlpp::Element const& elem) {
+               auto n = xmlpp::get_first_child_text(elem);  // Returns NULL if there is no text
+               return n ? std::string(n->get_content()) : std::string();
+       }
+
+       std::string getText(xmlpp::Element const& elem, std::string const& path) {
+               auto ns = elem.find(path);
+               if (ns.empty()) return std::string();
+               return getText(dynamic_cast<xmlpp::Element const&>(*ns[0]));
+       }
+}
+
+std::string const ConfigItem::getValue() const {
+       if (this->getShortDesc() == config["audio/backend"].getShortDesc()) {
+               int AutoBackendType = 1337;
+               static int val = boost::get<int>(m_value);
+               if (val != boost::get<int>(m_value)) val = PaHostApiNameToHostApiTypeId(this->getEnumName()); // In the case of the audio backend, val is the real value while m_value is the enum case for its cosmetic name.
+               int hostApi = Pa_HostApiTypeIdToHostApiIndex(PaHostApiTypeId(val));
+               std::ostringstream oss;
+               oss << "audio/info: Trying the selected Portaudio backend...";
+               if (val != AutoBackendType) {
+                       oss << " found at index: " << hostApi;
+               }
+               else {
+                       oss << " not found; but this is normal when Auto is selected."; // Auto is not a real PaHostApiTypeId, so it will always return paHostApiNotFound
+               }
+               oss << std::endl;
+               std::clog << oss.str();
+               if ((hostApi != paHostApiNotFound) || (val == AutoBackendType)) {
+                       std::string backendName = (val != AutoBackendType) ? Pa_GetHostApiInfo(hostApi)->name : "Auto";
+                       std::clog << "audio/info: Currently selected audio backend is: " << backendName << std::endl;
+                       return backendName;
+               }
+               else std::clog << "audio/warning: Currently selected audio backend is unavailable on this system, will default to Auto." << std::endl;
+               return "Auto";
+       }
+       if (m_type == "int") {
+               int val = boost::get<int>(m_value);
+               if (val >= 0 && val < int(m_enums.size())) return m_enums[val];
+               return numericFormat<int>(m_value, m_multiplier, m_step) + m_unit;
+       }
+       if (m_type == "float") return numericFormat<double>(m_value, m_multiplier, m_step) + m_unit;
+       if (m_type == "bool") return boost::get<bool>(m_value) ? _("Enabled") : _("Disabled");
+       if (m_type == "string") return boost::get<std::string>(m_value);
+       if (m_type == "string_list") {
+               StringList const& sl = boost::get<StringList>(m_value);
+               return sl.size() == 1 ? "{" + sl[0] + "}" : (boost::format(_("%d items")) % sl.size()).str();
+       }
+       if (m_type == "option_list") return boost::get<OptionList>(m_value).at(m_sel);
+       throw std::logic_error("ConfigItem::getValue doesn't know type '" + m_type + "'");
+}
+
+namespace {
+       struct XMLError {
+               XMLError(xmlpp::Element& e, std::string msg): elem(e), message(msg) {}
+               xmlpp::Element& elem;
+               std::string message;
+       };
+       std::string getAttribute(xmlpp::Element& elem, std::string const& attr) {
+               xmlpp::Attribute* a = elem.get_attribute(attr);
+               if (!a) throw XMLError(elem, "attribute " + attr + " not found");
+               return a->get_value();
+       }
+       template <typename T, typename V> void setLimits(xmlpp::Element& e, V& min, V& max, V& step) {
+               xmlpp::Attribute* a = e.get_attribute("min");
+               if (a) min = sconv<T>(a->get_value());
+               a = e.get_attribute("max");
+               if (a) max = sconv<T>(a->get_value());
+               a = e.get_attribute("step");
+               if (a) step = sconv<T>(a->get_value());
+       }
+}
+
+void ConfigItem::addEnum(std::string name) {
+       verifyType("int");
+       if (find(m_enums.begin(),m_enums.end(),name) == m_enums.end()) {
+               m_enums.push_back(name);
+       }
+       m_min = 0;
+       m_max = int(m_enums.size() - 1);
+       m_step = 1;
+}
+
+void ConfigItem::selectEnum(std::string const& name) {
+       auto it = std::find(m_enums.begin(), m_enums.end(), name);
+       if (it == m_enums.end()) throw std::runtime_error("Enum value " + name + " not found in " + m_shortDesc);
+       i() = it - m_enums.begin();
+}
+
+
+std::string const ConfigItem::getEnumName() const {
+       int const& val = i();
+       if (val >= 0 && val < int(m_enums.size())) { return m_enums[val]; }
+       else { return std::string(); }
+}
+
+template <typename T> void ConfigItem::updateNumeric(xmlpp::Element& elem, int mode) {
+       auto ns = elem.find("limits");
+       if (!ns.empty()) setLimits<T>(dynamic_cast<xmlpp::Element&>(*ns[0]), m_min, m_max, m_step);
+       else if (mode == 0) throw XMLError(elem, "child element limits missing");
+       ns = elem.find("ui");
+       // Default values
+       if (mode == 0) {
+               m_unit.clear();
+               m_multiplier = static_cast<T>(1);
+       }
+       if (!ns.empty()) {
+               xmlpp::Element& e = dynamic_cast<xmlpp::Element&>(*ns[0]);
+               try { m_unit = getAttribute(e, "unit"); } catch (...) {}
+               std::string m;
+               try {
+                       m = getAttribute(e, "multiplier");
+                       m_multiplier = sconv<T>(m);
+               } catch (XMLError&) {}
+               catch (std::exception&) { throw XMLError(e, "attribute multiplier='" + m + "' value invalid"); }
+       }
+}
+
+
+void ConfigItem::update(xmlpp::Element& elem, int mode) try {
+       if (mode == 0) {
+               m_type = getAttribute(elem, "type");
+               if (m_type.empty()) throw std::runtime_error("Entry type attribute is missing");
+               // Menu text
+               m_shortDesc = getText(elem, "short");
+               m_longDesc = getText(elem, "long");
+       } else {
+               std::string type = getAttribute(elem, "type");
+               if (!type.empty() && type != m_type) throw std::runtime_error("Entry type mismatch: " + getAttribute(elem, "name") + ": schema type = " + m_type + ", config type = " + type);
+       }
+       if (m_type == "bool") {
+               std::string value_string = getAttribute(elem, "value");
+               bool value;
+               if (value_string == "true") value = true;
+                       else if (value_string == "false") value = false;
+                               else throw std::runtime_error("Invalid boolean value '" + value_string + "'");
+               m_value = value;
+       } else if (m_type == "int") {
+               std::string value_string = getAttribute(elem, "value");
+               if (!value_string.empty()) m_value = std::stoi(value_string);
+                       // Enum handling
+                       if (mode == 0) {
+                               auto n2 = elem.find("limits/enum");
+                               if (!n2.empty()) {
+                                       for (auto it2 = n2.begin(), end2 = n2.end(); it2 != end2; ++it2) {
+                                               xmlpp::Element& elem2 = dynamic_cast<xmlpp::Element&>(**it2);
+                                               m_enums.push_back(getText(elem2));
+                                       }
+                                       m_min = 0;
+                                       m_max = int(m_enums.size() - 1);
+                                       m_step = 1;
+                               }
+                       }
+               updateNumeric<int>(elem, mode);
+       } else if (m_type == "float") {
+               std::string value_string = getAttribute(elem, "value");
+               if (!value_string.empty()) m_value = std::stod(value_string);
+                       updateNumeric<double>(elem, mode);
+                       } else if (m_type == "string") {
+                               m_value = getText(elem, "stringvalue");
+                       } else if (m_type == "string_list" || m_type == "option_list") {
+                               //TODO: Option list should also update selection (from attribute?)
+                               std::vector<std::string> value;
+                               auto n2 = elem.find("stringvalue");
+                               for (auto it2 = n2.begin(), end2 = n2.end(); it2 != end2; ++it2) {
+                                       value.push_back(getText(dynamic_cast<xmlpp::Element const&>(**it2)));
+                               }
+                               m_value = value;
+                       } else if (!m_type.empty()) throw std::runtime_error("Invalid value type in config schema: " + m_type);
+       // Schema sets all defaults, system config sets the system default
+       if (mode < 1) m_factoryDefaultValue = m_defaultValue = m_value;
+               if (mode < 2) m_defaultValue = m_value;
+                       } catch (std::exception& e) {
+                               int line = elem.get_line();
+                               throw std::runtime_error(std::to_string(line) + ": Error while reading entry: " + e.what());
+                       }
+
+// These are set in readConfig, once the paths have been bootstrapped.
+fs::path systemConfFile;
+fs::path userConfFile;
+
+void writeConfig(bool system) {
+       xmlpp::Document doc;
+       auto nodeRoot = doc.create_root_node("performous");
+       bool dirty = false;
+       for (auto& elem: config) {
+               ConfigItem& item = elem.second;
+               std::string name = elem.first;
+               if (item.isDefault(system) && name != "audio/backend" && name != "graphic/stereo3d") continue; // No need to save settings with default values
+               dirty = true;
+               xmlpp::Element* entryNode = xmlpp::add_child_element(nodeRoot, "entry");
+               entryNode->set_attribute("name", name);
+               std::string type = item.get_type();
+               entryNode->set_attribute("type", type);
+               if (name == "graphic/stereo3d") {
+                       std::string prev3DState = item.oldValue;
+                       if (prev3DState != std::to_string(item.b()) && !prev3DState.empty()) {
+                               std::clog << "video/info: Stereo 3D configuration changed, will reset shaders." << std::endl;
+                               Game::getSingletonPtr()->window().resetShaders();
+                       }
+               }
+               if (name == "audio/backend") {
+                       std::string currentBackEnd = Audio::backendConfig().oldValue;
+                       int oldValue = PaHostApiNameToHostApiTypeId(currentBackEnd);
+                       int newValue = PaHostApiNameToHostApiTypeId(item.getEnumName());
+                       if (currentBackEnd != item.getEnumName() && !currentBackEnd.empty()) {
+                               entryNode->set_attribute("value", std::to_string(newValue));
+                               std::clog << "audio/info: Audio backend changed; will now restart audio subsystem." << std::endl;
+                               Audio::backendConfig().selectEnum(item.getEnumName());
+                               Game::getSingletonPtr()->restartAudio();
+                       }
+                       else {  entryNode->set_attribute("value", std::to_string(oldValue)); }
+               }
+               else if (type == "int") entryNode->set_attribute("value",std::to_string(item.i()));
+               else if (type == "bool") entryNode->set_attribute("value", item.b() ? "true" : "false");
+               else if (type == "float") entryNode->set_attribute("value",std::to_string(item.f()));
+               else if (item.get_type() == "string") xmlpp::add_child_element(entryNode, "stringvalue")->add_child_text(item.s());
+               else if (item.get_type() == "string_list") {
+                       for (auto const& str: item.sl()) xmlpp::add_child_element(entryNode, "stringvalue")->add_child_text(str);
+               }
+               else if (item.get_type() == "option_list") {
+                       //TODO: Write selected also (as attribute?)
+                       for (auto const& str: item.ol()) xmlpp::add_child_element(entryNode, "stringvalue")->add_child_text(str);
+               }
+       }
+       fs::path const& conf = system ? systemConfFile : userConfFile;
+       std::string tmp = conf.string() + "tmp";
+       try {
+               create_directories(conf.parent_path());
+               if (dirty) doc.write_to_file_formatted(tmp, "UTF-8");
+               if (exists(conf)) remove(conf);
+               if (dirty) {
+                       rename(tmp, conf);
+                       std::cerr << "Saved configuration to " << conf << std::endl;
+               } else {
+                       std::cerr << "Using default settings, no configuration file needed." << std::endl;
+               }
+       } catch (...) {
+               throw std::runtime_error("Unable to save " + conf.string());
+       }
+       if (!system) return;
+       // Tell the items that we have changed the system default
+       for (auto& elem: config) elem.second.makeSystem();
+       // User config is no longer needed
+       if (exists(userConfFile)) remove(userConfFile);
+}
+
+ConfigMenu configMenu;
+
+void readMenuXML(xmlpp::Node* node) {
+       xmlpp::Element& elem = dynamic_cast<xmlpp::Element&>(*node);
+       MenuEntry me;
+       me.name = getAttribute(elem, "name");
+       me.shortDesc = getText(elem, "short");
+       me.longDesc = getText(elem, "long");
+       configMenu.push_back(me);
+}
+
+void readConfigXML(fs::path const& file, int mode) {
+       if (!fs::exists(file)) {
+               std::clog << "config/info: Skipping " << file << " (not found)" << std::endl;
+               return;
+       }
+       std::clog << "config/info: Parsing " << file << std::endl;
+       xmlpp::DomParser domParser(file.string());
+       try {
+               auto n = domParser.get_document()->get_root_node()->find("/performous/menu/entry");
+               if (!n.empty()) {
+                       configMenu.clear();
+                       std::for_each(n.begin(), n.end(), readMenuXML);
+               }
+               n = domParser.get_document()->get_root_node()->find("/performous/entry");
+               for (auto nodeit = n.begin(), end = n.end(); nodeit != end; ++nodeit) {
+                       xmlpp::Element& elem = dynamic_cast<xmlpp::Element&>(**nodeit);
+                       std::string name = getAttribute(elem, "name");
+                       if (name.empty()) throw std::runtime_error(file.string() + " element Entry missing name attribute");
+                       auto it = config.find(name);
+                       if (mode == 0) { // Schema
+                               if (it != config.end()) throw std::runtime_error("Configuration schema contains the same value twice: " + name);
+                               config[name].update(elem, 0);
+                               // Add the item to menu, if not hidden
+                               bool hidden = false;
+                               try { if (getAttribute(elem, "hidden") == "true") hidden = true; } catch (XMLError&) {}
+                               if (!hidden) {
+                                       for (auto& elem: configMenu) {
+                                               std::string prefix = elem.name + '/';
+                                               if (name.substr(0, prefix.size()) == prefix) { elem.items.push_back(name); break; }
+                                       }
+                               }
+                       } else {
+                               if (it == config.end()) {
+                                       std::clog << "config/warning:   Entry " << name << " ignored (does not exist in config schema)." << std::endl;
+                                       continue;
+                               }
+                               it->second.update(elem, mode);
+                       }
+               }
+       } catch (XMLError& e) {
+               int line = e.elem.get_line();
+               std::string name = e.elem.get_name();
+               throw std::runtime_error(file.string() + ":" + std::to_string(line) + " element " + name + " " + e.message);
+       } catch (std::exception& e) {
+               throw std::runtime_error(file.string() + ":" + e.what());
+       }
+}
+
+int PaHostApiNameToHostApiTypeId (const std::string& name) {
+       if (name == "Auto") return 1337;
+       if (name == "Windows DirectSound") return 1;
+       if (name == "MME") return 2;
+       if (name == "ASIO") return 3;
+       if (name == "Core Audio" || name == "CoreAudio") return 5;
+       if (name == "OSS") return 7; // Not an error, stupid PortAudio.
+       if (name == "ALSA") return 8;
+       if (name == "Windows WDM-KS") return 11;
+       if (name == "JACK Audio Connection Kit") return 12;
+       if (name == "Windows WASAPI") return 13;
+       throw std::runtime_error("Invalid PortAudio HostApiTypeId Specified.");
+}
+
+
+void readConfig() {
+       // Find config schema
+       fs::path schemaFile = getSchemaFilename();
+       systemConfFile = getSysConfigDir() / "config.xml";
+       userConfFile = getConfigDir() / "config.xml";
+       readConfigXML(schemaFile, 0);  // Read schema and defaults
+       readConfigXML(systemConfFile, 1);  // Update defaults with system config
+       readConfigXML(userConfFile, 2);  // Read user settings
+       pathInit();
+       // Populate themes
+       ConfigItem& ci = config["game/theme"];
+       for (std::string const& theme: getThemes()) ci.addEnum(theme);
+       if (ci.i() == -1) ci.selectEnum("default");  // Select the default theme if nothing is selected
+}
+
+void populateBackends (const std::list<std::string>& backendList) {
+       ConfigItem& backendConfig = config["audio/backend"];
+       for (std::string const& backend: backendList) backendConfig.addEnum(backend);
+       static std::string selectedBackend = std::string();
+       selectedBackend = backendConfig.getValue();
+       backendConfig.selectEnum(selectedBackend);
+       backendConfig.oldValue = backendConfig.getEnumName();
+}
diff --git a/game/configuration.hh b/game/configuration.hh
new file mode 100644 (file)
index 0000000..18bfe05
--- /dev/null
@@ -0,0 +1,88 @@
+#pragma once
+
+#include "libxml++.hh"
+
+#include <boost/variant.hpp>
+#include <map>
+#include <string>
+#include <vector>
+#include <list>
+
+// configuration option
+class ConfigItem {
+  public:
+       typedef std::vector<std::string> StringList; ///< a list of strings
+       typedef std::vector<std::string> OptionList; ///< a list of string options
+       ConfigItem() : m_sel() {}
+       ConfigItem(bool bval);
+       ConfigItem(int ival);
+       ConfigItem(float fval);
+       ConfigItem(std::string sval);
+       ConfigItem(OptionList opts);
+       void update(xmlpp::Element& elem, int mode); ///< Load XML config file, elem = Entry, mode = 0 for schema, 1 for system config and 2 for user config
+       ConfigItem& operator++() { return incdec(1); } ///< increments config value
+       ConfigItem& operator--() { return incdec(-1); } ///< decrements config value
+       /// Is the current value the same as the default value (factory setting or system setting)
+       bool isDefault(bool factory = false) const { return isDefaultImpl(factory ? m_factoryDefaultValue : m_defaultValue); }
+       std::string get_type() const { return m_type; } ///< get the field type
+       int& i(); ///< Access integer item
+       int const& i() const; ///< Access integer item
+       bool& b(); ///< Access boolean item
+       double& f(); ///< Access floating-point item
+       std::string& s(); ///< Access string item
+       StringList& sl(); ///< Access stringlist item
+       OptionList& ol(); ///< Access optionlist item
+       std::string& so(); ///< Access currently selected string option
+       void select(int i); ///< Set optionlist selected item index
+       void reset(bool factory = false) { m_value = factory ? m_factoryDefaultValue : m_defaultValue; } ///< Reset to default
+       void makeSystem() { m_defaultValue = m_value; } ///< Make current value the system default (used when saving system config)
+       std::string const getValue() const; ///< Get a human-readable representation of the current value
+       std::string const& getShortDesc() const { return m_shortDesc; } ///< get the short description for this ConfigItem
+       std::string const& getLongDesc() const { return m_longDesc; } ///< get the long description for this ConfigItem
+       void addEnum(std::string name); ///< Dynamically adds an enum to all values
+       void selectEnum(std::string const& name); ///< Set integer value by enum name
+       std::string const getEnumName() const; ///< Returns the selected enum option's text
+       std::string oldValue;
+       
+  private:
+       template <typename T> void updateNumeric(xmlpp::Element& elem, int mode); ///< Used internally for loading XML
+       void verifyType(std::string const& t) const; ///< throws std::logic_error if t != type
+       ConfigItem& incdec(int dir); ///< Increment/decrement by dir steps (must be -1 or 1)
+       std::string m_type;
+       std::string m_shortDesc;
+       std::string m_longDesc;
+
+       typedef boost::variant<bool, int, double, std::string, StringList> Value;
+       bool isDefaultImpl(Value const& defaultValue) const;
+       Value m_value; ///< The current value
+       Value m_factoryDefaultValue; ///< The value from config schema
+       Value m_defaultValue; ///< The value from config schema or system config
+       std::vector<std::string> m_enums; ///< Enum value titles
+       boost::variant<int, double> m_step, m_min, m_max;
+       boost::variant<int, double> m_multiplier;
+       std::string m_unit;
+       int m_sel;
+};
+
+typedef std::map<std::string, ConfigItem> Config;
+extern Config config; ///< A global variable that contains all config items
+
+/** Read config schema and configuration from XML files **/
+void readConfig();
+void populateBackends(const std::list<std::string>& backendList);
+
+/** Write modified config options to user's or system-wide config XML **/
+void writeConfig(bool system = false);
+
+/// struct for entries in menu
+struct MenuEntry {
+       std::string name; ///< name of the menu entry
+       std::string shortDesc; ///< a short description
+       std::string longDesc; ///< a longer description
+       std::vector<std::string> items; ///< selectable options
+};
+
+int PaHostApiNameToHostApiTypeId(const std::string& name);
+
+typedef std::vector<MenuEntry> ConfigMenu;
+extern ConfigMenu configMenu;
diff --git a/game/controllers-buttons.ii b/game/controllers-buttons.ii
new file mode 100644 (file)
index 0000000..f551461
--- /dev/null
@@ -0,0 +1,63 @@
+// This header should be used for generating input button definitions and code:
+// #define DEFINE_BUTTON(devtype, button, num, nav) do something with devtype##_##button etc.
+// #include "controllers-buttons.ii"
+
+// Numeric values have special meanings tied to them
+// 0x000xxxyy where xxx = plane, yy = num (e.g. fret keys), planes >= 0x100 are reserved for GENERIC keys
+// 0x00100000 and greater are not used
+
+// Guitar buttons
+DEFINE_BUTTON(GUITAR, GREEN, 0, NAV_SOME)
+DEFINE_BUTTON(GUITAR, RED, 1, NAV_SOME)
+DEFINE_BUTTON(GUITAR, YELLOW, 2, NAV_SOME)
+DEFINE_BUTTON(GUITAR, BLUE, 3, NAV_SOME)
+DEFINE_BUTTON(GUITAR, ORANGE, 4, NAV_SOME)
+DEFINE_BUTTON(GUITAR, PICK_DOWN,11, NAV_DOWN)
+DEFINE_BUTTON(GUITAR, PICK_UP, 10, NAV_UP)
+DEFINE_BUTTON(GUITAR, GODMODE, 0xF00, NAV_NONE)
+DEFINE_BUTTON(GUITAR, WHAMMY, 0xF01, NAV_NONE)
+// Drums buttons
+DEFINE_BUTTON(DRUMS, KICK, 0x000, NAV_START)
+DEFINE_BUTTON(DRUMS, RED, 0x001, NAV_LEFT)  // Snare
+DEFINE_BUTTON(DRUMS, YELLOW, 0x002, NAV_UP)
+DEFINE_BUTTON(DRUMS, BLUE, 0x003, NAV_DOWN)
+DEFINE_BUTTON(DRUMS, GREEN, 0x004, NAV_RIGHT)
+DEFINE_BUTTON(DRUMS, YELLOW_TOM, 0x102, NAV_UP)  // Tom 1
+DEFINE_BUTTON(DRUMS, BLUE_TOM, 0x103, NAV_DOWN)  // Tom 2
+DEFINE_BUTTON(DRUMS, GREEN_TOM, 0x104, NAV_RIGHT)  // Tom 3
+DEFINE_BUTTON(DRUMS, YELLOW_CYMBAL, 0x202, NAV_SOME)  // Hi-Hat
+DEFINE_BUTTON(DRUMS, BLUE_CYMBAL, 0x203, NAV_SOME)  // Ride
+DEFINE_BUTTON(DRUMS, GREEN_CYMBAL, 0x204, NAV_SOME)  // Crash
+// Keytar buttons
+DEFINE_BUTTON(KEYTAR, C, 0, NAV_SOME)
+DEFINE_BUTTON(KEYTAR, D, 1, NAV_SOME)
+DEFINE_BUTTON(KEYTAR, E, 2, NAV_SOME)
+DEFINE_BUTTON(KEYTAR, F, 3, NAV_SOME)
+DEFINE_BUTTON(KEYTAR, G, 4, NAV_SOME)
+DEFINE_BUTTON(KEYTAR, GODMODE, 5, NAV_NONE)
+DEFINE_BUTTON(KEYTAR, WHAMMY, 6, NAV_NONE)
+// DANCEPAD buttons
+DEFINE_BUTTON(DANCEPAD, LEFT, 0, NAV_LEFT)
+DEFINE_BUTTON(DANCEPAD, DOWN, 1, NAV_DOWN)
+DEFINE_BUTTON(DANCEPAD, UP, 2, NAV_UP)
+DEFINE_BUTTON(DANCEPAD, RIGHT, 3, NAV_RIGHT)
+DEFINE_BUTTON(DANCEPAD, DOWN_LEFT, 4, NAV_SOME)
+DEFINE_BUTTON(DANCEPAD, DOWN_RIGHT, 5, NAV_MOREUP)
+DEFINE_BUTTON(DANCEPAD, UP_LEFT, 6, NAV_MOREDOWN)
+DEFINE_BUTTON(DANCEPAD, UP_RIGHT, 7, NAV_SOME)
+// Generic controls
+DEFINE_BUTTON(GENERIC, UNASSIGNED, 0x10000, NAV_NONE)
+DEFINE_BUTTON(GENERIC, START, 0x10001, NAV_START)
+DEFINE_BUTTON(GENERIC, CANCEL, 0x10002, NAV_CANCEL)
+DEFINE_BUTTON(GENERIC, UP, 0x10010, NAV_UP)
+DEFINE_BUTTON(GENERIC, DOWN, 0x10011, NAV_DOWN)
+DEFINE_BUTTON(GENERIC, LEFT, 0x10012, NAV_LEFT)
+DEFINE_BUTTON(GENERIC, RIGHT, 0x10013, NAV_RIGHT)
+DEFINE_BUTTON(GENERIC, MOREUP, 0x10020, NAV_MOREUP)
+DEFINE_BUTTON(GENERIC, MOREDOWN, 0x10021, NAV_MOREDOWN)
+DEFINE_BUTTON(GENERIC, VOLUME_UP, 0x10022, NAV_VOLUME_UP)
+DEFINE_BUTTON(GENERIC, VOLUME_DOWN, 0x10023, NAV_VOLUME_DOWN)
+DEFINE_BUTTON(GENERIC, PAUSE, 0x10024, NAV_PAUSE)
+
+#undef DEFINE_BUTTON
+
diff --git a/game/controllers-joystick.cc b/game/controllers-joystick.cc
new file mode 100644 (file)
index 0000000..de0818b
--- /dev/null
@@ -0,0 +1,104 @@
+#include "controllers.hh"
+
+#include <cmath>  // For std::abs
+#include <memory>
+#include <sstream>
+#include <vector>
+
+namespace input {
+       struct Joysticks: public Hardware {
+               Joysticks() {
+                       for (int id = 0; id < SDL_NumJoysticks(); ++id) {
+                               JoyPtr joy(SDL_JoystickOpen(id), SDL_JoystickClose);
+                               std::ostringstream oss;
+                               oss << "controller-joystick/info: Opened joystick " << id << ": " << getName(id) << " ("
+                                 << SDL_JoystickNumButtons(joy.get()) << " buttons, "
+                                 << SDL_JoystickNumAxes(joy.get()) << " axes, "
+                                 << SDL_JoystickNumHats(joy.get()) << " hats, "
+                                 << SDL_JoystickNumBalls(joy.get()) << " balls)";
+                               std::clog << oss.str() << std::endl;  // Logging system barks if this is not one atomic write (thus the ostringstream).
+                               m_joysticks.push_back(joy);
+                       }
+               }
+               std::string getName(unsigned device) const override {
+                       return SDL_JoystickNameForIndex(device);
+               }
+               bool process(Event& event, SDL_Event const& sdlEv) override {
+                       if (sdlEv.type == SDL_JOYBUTTONDOWN || sdlEv.type == SDL_JOYBUTTONUP) {
+                               event.hw = sdlEv.jbutton.button;
+                               event.value = (sdlEv.type == SDL_JOYBUTTONDOWN ? 1.0 : 0.0);
+                       }
+                       else if (sdlEv.type == SDL_JOYAXISMOTION) {
+                               event.hw = hwIsAxis.min + sdlEv.jaxis.axis;
+                               event.value = (sdlEv.jaxis.value + 0.5) / 32767.5;  // Convert to -1.0 .. 1.0 range
+                               if (std::abs(event.value) < 0.001) event.value = 0.0;  // Some dead zone around zero
+                       }
+                       else if (sdlEv.type == SDL_JOYHATMOTION) {
+                               event.hw = hwIsHat.min + sdlEv.jhat.hat;
+                               event.value = sdlEv.jhat.value;
+                       }
+                       else return false;
+                       event.source = SourceId(SOURCETYPE_JOYSTICK, sdlEv.jbutton.which);  // All j* structures have .which at the same position as jbutton
+                       return true;
+               }
+               typedef std::shared_ptr<SDL_Joystick> JoyPtr;
+               std::vector<JoyPtr> m_joysticks;
+
+       };
+
+       Hardware::ptr constructJoysticks() { return Hardware::ptr(new Joysticks()); }
+}
+
+
+#if 0
+
+// Forcing menu
+
+void init() {
+       std::map<unsigned int, Instrument> forced_type;
+       ConfigItem::StringList instruments = config["game/instruments"].sl();
+
+       // Populate controller forcing config items
+       ConfigItem& ci0 = config["game/instrument0"];
+       ConfigItem& ci1 = config["game/instrument1"];
+       ConfigItem& ci2 = config["game/instrument2"];
+       ConfigItem& ci3 = config["game/instrument3"];
+       int i = 0;
+       for (ControllerDefs::const_iterator it = m_controllerDefs.begin(); it != m_controllerDefs.end(); ++it, ++i) {
+               // Add the enum
+               std::string title = it->second.description;
+               ci0.addEnum(title);
+               ci1.addEnum(title);
+               ci2.addEnum(title);
+               ci3.addEnum(title);
+               // Check for active items
+               if (i == ci0.i()-1) instruments.push_back("0:" + it->first);
+               if (i == ci1.i()-1) instruments.push_back("1:" + it->first);
+               if (i == ci2.i()-1) instruments.push_back("2:" + it->first);
+               if (i == ci3.i()-1) instruments.push_back("3:" + it->first);
+       }
+
+       // Check all forced instruments
+       for (ConfigItem::StringList::const_iterator it = instruments.begin(); it != instruments.end(); ++it) {
+               std::istringstream iss(*it);
+               unsigned sdl_id;
+               char ch;
+               std::string type;
+               if (!(iss >> sdl_id >> ch >> type) || ch != ':') {
+                       std::clog << "controllers/error: \"" << *it << "\" invalid syntax, should be SDL_ID:CONTROLLER_TYPE" << std::endl;
+                       continue;
+               } else {
+                       bool found = false;
+                       for (Instruments::const_iterator it2 = g_instruments.begin(); it2 != g_instruments.end(); ++it2) {
+                               if (type == it2->first) {
+                                       forced_type.insert(std::pair<unsigned int,Instrument>(sdl_id, Instrument(it2->second)));
+                                       found = true;
+                                       break;
+                               }
+                       }
+                       if (!found) std::clog << "controllers/error: Controller type \"" << type << "\" unknown" << std::endl;
+               }
+       }
+
+#endif
+
diff --git a/game/controllers-keyboard.cc b/game/controllers-keyboard.cc
new file mode 100644 (file)
index 0000000..6a6a0d3
--- /dev/null
@@ -0,0 +1,143 @@
+#include "controllers.hh"
+#include "platform.hh"
+
+#include <set>
+
+namespace {
+       bool g_enableInstruments = false;
+}
+
+namespace input {
+       class Keyboard: public Hardware {
+               std::set<unsigned> m_pressed;
+               bool m_guitar, m_keytar, m_drumkit, m_dancepad;
+               /// Set the value of an instrument bool from a config variable and return a log message snippet if value was changed.
+               static std::string setMode(bool& var, std::string const& name) {
+                       bool value = config["game/keyboard_" + name].b();
+                       if (var == value) return std::string();
+                       var = value;
+                       return " " + name + (value ? " enabled." : " disabled.");
+               }
+       public:
+               Keyboard(): m_guitar(), m_keytar(), m_drumkit(), m_dancepad() {}
+               bool process(Event& event, SDL_Event const& sdlEv) override {
+                       if (sdlEv.type != SDL_KEYDOWN && sdlEv.type != SDL_KEYUP) return false;
+                       // Switch modes only when no keys are pressed (avoids buttons getting stuck on mode change)
+                       if (m_pressed.empty()) {
+                               std::string msg;
+                               if (g_enableInstruments) {
+                                       msg += setMode(m_guitar, "guitar");
+                                       msg += setMode(m_keytar, "keytar");
+                                       msg += setMode(m_drumkit, "drumkit");
+                                       msg += setMode(m_dancepad, "dancepad");
+                               } else if (m_guitar || m_keytar || m_drumkit || m_dancepad) {
+                                       msg = " all instruments disabled.";
+                                       m_guitar = m_keytar = m_drumkit = m_dancepad = false;
+                               }
+                               if (!msg.empty()) std::clog << "controller-keyboard/info: Mode change:" + msg << std::endl;
+                       }
+                       // Keep track of pressed keys
+                       {
+                               unsigned pressedId = sdlEv.key.keysym.sym << 16 | sdlEv.key.keysym.sym;
+                               if (sdlEv.type == SDL_KEYDOWN) m_pressed.insert(pressedId);
+                               else m_pressed.erase(pressedId);
+                       }
+                       // Convert SDL event into controller Event
+                       event.source = SourceId(SOURCETYPE_KEYBOARD, 0);  // FIXME! cmake the device ID zero because in SDL2 it ain't zero!!
+                       event.hw = sdlEv.key.keysym.scancode;
+                       event.value = (sdlEv.type == SDL_KEYDOWN ? 1.0 : 0.0);
+                       // Get the modifier keys that we actually use as modifiers
+                       unsigned mod = sdlEv.key.keysym.mod & (Platform::shortcutModifier(false) | KMOD_LALT);
+                       // Map to keyboard instruments (sets event.button if matching)
+                       if (!mod) mapping(event);
+                       // Map to menu navigation
+                       if (event.button == GENERIC_UNASSIGNED) event.button = navigation(sdlEv.key.keysym.scancode, mod);
+                       return event.button != GENERIC_UNASSIGNED;
+               }
+               void mapping(Event& event) {
+                       unsigned button = 0;
+                       switch (event.hw) {
+                               // Guitar on keyboard
+                               case SDL_SCANCODE_BACKSPACE: button = GUITAR_WHAMMY; goto guitar_process;
+                               case SDL_SCANCODE_RCTRL: case SDL_SCANCODE_RALT: button = GUITAR_GODMODE; goto guitar_process;
+                               case SDL_SCANCODE_RSHIFT: button = GUITAR_PICK_UP; goto guitar_process;
+                               case SDL_SCANCODE_RETURN: case SDL_SCANCODE_KP_ENTER: button = GUITAR_PICK_DOWN; goto guitar_process;
+                               case SDL_SCANCODE_F5: case SDL_SCANCODE_5: case SDL_SCANCODE_B: button++; [[fallthrough]];
+                               case SDL_SCANCODE_F4: case SDL_SCANCODE_4: case SDL_SCANCODE_V: button++; [[fallthrough]];
+                               case SDL_SCANCODE_F3: case SDL_SCANCODE_3: case SDL_SCANCODE_C: button++; [[fallthrough]];
+                               case SDL_SCANCODE_F2: case SDL_SCANCODE_2: case SDL_SCANCODE_X: button++; [[fallthrough]];
+                               case SDL_SCANCODE_F1: case SDL_SCANCODE_1: case SDL_SCANCODE_Z:
+                               guitar_process:
+                                       if (!m_guitar) return;
+                                       event.devType = DEVTYPE_GUITAR;
+                                       break;
+
+                               // Keytar on keyboard
+                               case SDL_SCANCODE_F12: button++; [[fallthrough]];
+                               case SDL_SCANCODE_F11: button++; [[fallthrough]];
+                               case SDL_SCANCODE_F10: button++; [[fallthrough]];
+                               case SDL_SCANCODE_F9: button++; [[fallthrough]];
+                               case SDL_SCANCODE_F8: button++; [[fallthrough]];
+                               case SDL_SCANCODE_F7:
+                                       if (!m_keytar) return;
+                                       event.devType = DEVTYPE_KEYTAR;
+                                       break;
+
+                               // Drums on keyboard
+                               case SDL_SCANCODE_8: button = DRUMS_YELLOW_CYMBAL; goto drum_process;
+                               case SDL_SCANCODE_9: button = DRUMS_BLUE_CYMBAL; goto drum_process;
+                               case SDL_SCANCODE_0: button = DRUMS_GREEN_CYMBAL; goto drum_process;
+                               case SDL_SCANCODE_U: button = DRUMS_RED; goto drum_process;
+                               case SDL_SCANCODE_I: button = DRUMS_YELLOW_TOM; goto drum_process;
+                               case SDL_SCANCODE_O: button = DRUMS_BLUE_TOM; goto drum_process;
+                               case SDL_SCANCODE_P: button = DRUMS_GREEN_TOM; goto drum_process;
+                               case SDL_SCANCODE_SPACE:
+                                       drum_process:
+                                       if (!m_drumkit) return;
+                                       event.devType = DEVTYPE_DRUMS;
+                                       break;
+
+                               // Dance on keypad
+                               case SDL_SCANCODE_KP_9: button++; [[fallthrough]];
+                               case SDL_SCANCODE_KP_7: button++; [[fallthrough]];
+                               case SDL_SCANCODE_KP_3: button++; [[fallthrough]];
+                               case SDL_SCANCODE_KP_1: button++; [[fallthrough]];
+                               case SDL_SCANCODE_KP_6: case SDL_SCANCODE_RIGHT: button++; [[fallthrough]];
+                               case SDL_SCANCODE_KP_8: case SDL_SCANCODE_UP: button++; [[fallthrough]];
+                               case SDL_SCANCODE_KP_2: case SDL_SCANCODE_DOWN: case SDL_SCANCODE_KP_5: button++; [[fallthrough]];
+                               case SDL_SCANCODE_KP_4: case SDL_SCANCODE_LEFT:
+                                       if (!m_dancepad) return;
+                                       event.devType = DEVTYPE_DANCEPAD;
+                                       break;
+
+                               default: return;
+                       }
+                       event.button = ButtonId(button);
+                       event.source.channel = event.devType;  // Each type gets its own unique SourceId channel
+               }
+               Button navigation(unsigned k, unsigned mod) {
+                       if (!mod) {
+                               if (k == SDL_SCANCODE_UP) return GENERIC_UP;
+                               if (k == SDL_SCANCODE_DOWN) return GENERIC_DOWN;
+                               if (k == SDL_SCANCODE_LEFT) return GENERIC_LEFT;
+                               if (k == SDL_SCANCODE_RIGHT) return GENERIC_RIGHT;
+                               if (k == SDL_SCANCODE_RETURN || k == SDL_SCANCODE_KP_ENTER) return GENERIC_START;
+                               if (k == SDL_SCANCODE_ESCAPE) return GENERIC_CANCEL;
+                               if (k == SDL_SCANCODE_PAGEUP) return GENERIC_MOREUP;
+                               if (k == SDL_SCANCODE_PAGEDOWN) return GENERIC_MOREDOWN;
+                               if (k == SDL_SCANCODE_PAUSE) return GENERIC_PAUSE;
+                       }
+                       else if (mod == Platform::shortcutModifier(false)) {
+                               if (k == SDL_SCANCODE_UP) return GENERIC_VOLUME_UP;
+                               if (k == SDL_SCANCODE_DOWN) return GENERIC_VOLUME_DOWN;
+                               if (k == SDL_SCANCODE_P) return GENERIC_PAUSE;
+                       }
+                       return GENERIC_UNASSIGNED;
+               }
+       };
+
+       void Hardware::enableKeyboardInstruments(bool state) { g_enableInstruments = state; }
+       Hardware::ptr constructKeyboard() { return Hardware::ptr(new Keyboard()); }
+       
+}
+
diff --git a/game/controllers-midi.cc b/game/controllers-midi.cc
new file mode 100644 (file)
index 0000000..a4f21e5
--- /dev/null
@@ -0,0 +1,73 @@
+#ifdef USE_PORTMIDI
+
+#include "controllers.hh"
+#include "portmidi.hh"
+#include "fs.hh"
+#include <regex>
+#include <unordered_map>
+
+namespace input {
+
+       class Midi: public Hardware {
+       public:
+               Midi() {
+                       std::regex re(config["game/midi_input"].s());
+                       for (int dev = 0; dev < Pm_CountDevices(); ++dev) {
+                               try {
+                                       PmDeviceInfo const* info = Pm_GetDeviceInfo(dev);
+                                       if (!info->input) continue;  // Not an input device
+                                       if (info->opened) continue;  // Already opened
+                                       std::string name = getName(dev);
+                                       if (!regex_search(name, re)) continue;
+                                       // Now actually open the device
+                                       m_streams.emplace(dev, std::unique_ptr<pm::Input>(new pm::Input(dev)));
+                                       std::clog << "controller-midi/info: Opened MIDI device " << name << std::endl;
+                               } catch (std::runtime_error& e) {
+                                       std::clog << "controller-midi/warning: " << e.what() << std::endl;
+                               }
+                       }
+               }
+               std::string getName(unsigned dev) const override {
+                       PmDeviceInfo const* info = Pm_GetDeviceInfo(dev);
+                       if (!info) throw std::logic_error("Invalid MIDI device requested in Midi::getName");
+                       std::ostringstream name;
+                       name << dev << ": " << info->name;
+                       return name.str();
+               }
+               bool process(Event& event) override {
+                       PmEvent ev;
+                       for (auto it = m_streams.begin(); it != m_streams.end(); ++it) {
+                               if (Pm_Read(*it->second, &ev, 1) != 1) continue;
+                               unsigned char evnt = ev.message & 0xF0;
+                               unsigned char note = ev.message >> 8;
+                               unsigned char vel  = ev.message >> 16;
+                               unsigned chan = (ev.message & 0x0F) + 1;  // It is conventional to use one-based indexing
+                               if (evnt == 0x80 /* NOTE OFF */) { evnt = 0x90; vel = 0; }  // Translate NOTE OFF into NOTE ON with zero-velocity
+                               if (evnt != 0x90 /* NOTE ON */) continue;  // Ignore anything that isn't NOTE ON/OFF
+                               std::clog << "controller-midi/info: MIDI NOTE ON/OFF event: ch=" << unsigned(chan) << " note=" << unsigned(note) << " vel=" << unsigned(vel) << std::endl;
+                               event.source = SourceId(SOURCETYPE_MIDI, it->first, chan);
+                               event.hw = note;
+                               event.value = vel / 127.0;
+                               return true;
+                       }
+                       return false;
+               }
+       private:
+               pm::Initialize m_init;
+               std::unordered_map<unsigned, std::unique_ptr<pm::Input>> m_streams;
+       };
+
+       Hardware::ptr constructMidi() { return Hardware::ptr(new Midi()); }
+       bool Hardware::midiEnabled() { return true; }
+}
+
+#else
+
+#include "controllers.hh"
+
+namespace input {
+       Hardware::ptr constructMidi() { return Hardware::ptr(); }
+       bool Hardware::midiEnabled() { return false; }
+}
+
+#endif
\ No newline at end of file
diff --git a/game/controllers.cc b/game/controllers.cc
new file mode 100644 (file)
index 0000000..82334ef
--- /dev/null
@@ -0,0 +1,424 @@
+#include "controllers.hh"
+
+#include "chrono.hh"
+#include "fs.hh"
+#include "libxml++-impl.hh"
+#include "unicode.hh"
+#include <boost/filesystem.hpp>
+#include <SDL2/SDL_joystick.h>
+#include <deque>
+#include <regex>
+#include <stdexcept>
+#include <algorithm>
+
+using namespace input;
+
+namespace {
+       struct XMLError {
+               XMLError(xmlpp::Element const& e, std::string const& msg): elem(e), message(msg) {}
+               xmlpp::Element const& elem;
+               std::string message;
+       };
+       std::string getAttribute(xmlpp::Element const& elem, std::string const& attr) {
+               xmlpp::Attribute const* a = elem.get_attribute(attr);
+               if (!a) throw XMLError(elem, "attribute " + attr + " not found");
+               return a->get_value();
+       }
+       template <typename T> bool tryGetAttribute(xmlpp::Element const& elem, std::string const& attr, T& var) {
+               xmlpp::Attribute const* a = elem.get_attribute(attr);
+               if (!a) return false;
+               try {
+                       var = sconv<T>(a->get_value());
+               } catch (std::exception&) {
+                       throw XMLError(elem, "attribute " + attr + " value invalid: " + a->get_value());
+               }
+               return true;
+       }
+       template <typename Numeric> void parse(MinMax<Numeric>& range, xmlpp::Element const& elem) {
+               tryGetAttribute(elem, "min", range.min);
+               tryGetAttribute(elem, "max", range.max);
+       }
+       // Return a NavButton corresponding to an Event
+       NavButton navigation(Event const& ev) {
+               #define DEFINE_BUTTON(dt, btn, num, nav) if ((DEVTYPE_##dt == DEVTYPE_GENERIC || ev.devType == DEVTYPE_##dt) && ev.button == dt##_##btn) return nav;
+               #include "controllers-buttons.ii"
+               return NAV_NONE;
+       }
+
+       std::ostream& operator<<(std::ostream& os, SourceId const& source) {
+               switch (source.type) {
+                       case SOURCETYPE_NONE: return os << "(none)";
+                       case SOURCETYPE_KEYBOARD: return os << "(keyboard " << source.device << " instrument " << source.channel << ")";
+                       case SOURCETYPE_JOYSTICK: return os << "(joystick " << source.device << ")";
+                       case SOURCETYPE_MIDI: return os << "(midi " << source.device << " channel " << source.channel << ")";
+                       case SOURCETYPE_N: break;
+               }
+               throw std::logic_error("Unknown SOURCETYPE in controllers.cc SourceId operator<<");
+       }
+       std::string buttonDebug(DevType type, Button b) {
+               #define DEFINE_BUTTON(dt, btn, num, nav) if ((DEVTYPE_##dt == DEVTYPE_GENERIC || type == DEVTYPE_##dt) && b == dt##_##btn) \
+                 return #dt " " #btn " (" #nav ")";
+               #include "controllers-buttons.ii"
+               throw std::logic_error("Invalid Button value in controllers.cc buttonDebug");
+       }
+       std::ostream& operator<<(std::ostream& os, Event const& ev) {
+               os << ev.source << ' ';
+               // Print hw button info if the event is not assigned to a function, otherwise print assignments
+               if (ev.button == GENERIC_UNASSIGNED) {
+                       if (hwIsAxis.matches(ev.hw)) {
+                               os << "axis hw=" << ev.hw - hwIsAxis.min << " value=" << ev.value;
+                       } else if (hwIsHat.matches(ev.hw)) {
+                               os << "hat hw=" << ev.hw - hwIsHat.min << ' ';
+                               std::string dir;
+                               unsigned val = ev.value;
+                               if (val & SDL_HAT_UP) dir += "up";
+                               if (val & SDL_HAT_DOWN) dir += "down";
+                               if (val & SDL_HAT_LEFT) dir += "left";
+                               if (val & SDL_HAT_RIGHT) dir += "right";
+                               os << (dir.empty() ? "centered" : dir);
+                       }
+                       else os << "button hw=" << ev.hw << " value=" << ev.value;
+               } else {
+                       os << buttonDebug(ev.devType, ev.button) << " value=" << ev.value;
+               }
+               return os;
+       }
+}
+
+struct ButtonMap {
+       Button map;  // Generic action
+       Button negative, positive;  // Half-axis movement
+       Button up, down, left, right;  // Hat direction
+       ButtonMap() { std::memset(this, 0, sizeof(*this)); }
+};
+
+typedef std::map<HWButton, ButtonMap> ButtonMapping;
+
+/// A controller definition from controllers.xml
+struct ControllerDef {
+       std::string name;
+       std::string description;
+       SourceType sourceType;
+       DevType devType;
+       double latency;
+       std::regex deviceRegex;
+       MinMax<unsigned> deviceMinMax;
+       MinMax<unsigned> channelMinMax;
+       ButtonMapping mapping;
+       ControllerDef(): sourceType(), devType(), latency() {}
+       bool matches(Event const& ev, std::string const& devName) const {
+               if (ev.source.type != sourceType) return false;
+               if (!deviceMinMax.matches(ev.source.device)) return false;
+               if (!channelMinMax.matches(ev.source.channel)) return false;
+               if (!regex_search(devName, deviceRegex)) return false;
+               return true;
+       }
+};
+
+struct Controllers::Impl {
+       typedef std::map<std::string, ControllerDef> ControllerDefs;
+       ControllerDefs m_controllerDefs;
+
+       typedef std::map<std::string, Button> NameToButton;
+       NameToButton m_buttons[DEVTYPE_N];
+
+       typedef std::map<SourceId, ControllerDef const*> Assignments;
+       Assignments m_assignments;
+       
+       typedef std::map<SourceType, Hardware::ptr> HW;
+       HW m_hw;
+
+       std::deque<NavEvent> m_navEvents;
+       std::map<SourceId, DevicePtr> m_orphans;
+       std::map<SourceId, std::weak_ptr<Device> > m_devices;
+       bool m_eventsEnabled;
+       
+       typedef std::pair<SourceId, ButtonId> UniqueButton;
+       std::map<UniqueButton, double> m_values;
+
+       std::map<NavButton, NavEvent> m_navRepeat;
+
+       Time m_prevProcess{};
+
+       Impl(): m_eventsEnabled() {
+               #define DEFINE_BUTTON(devtype, button, num, nav) m_buttons[DEVTYPE_##devtype][#button] = devtype##_##button;
+               #include "controllers-buttons.ii"
+               readControllers(getShareDir() / "config/controllers.xml");
+               readControllers(getConfigDir() / "controllers.xml");
+               m_hw[SOURCETYPE_KEYBOARD] = constructKeyboard();
+               m_hw[SOURCETYPE_JOYSTICK] = constructJoysticks();
+               if (Hardware::midiEnabled()) m_hw[SOURCETYPE_MIDI] = constructMidi();
+       }
+       
+       void readControllers(fs::path const& file) {
+               if (!fs::is_regular_file(file)) {
+                       std::clog << "controllers/info: Skipping " << file << " (not found)" << std::endl;
+                       return;
+               }
+               std::clog << "controllers/info: Parsing " << file << std::endl;
+               xmlpp::DomParser domParser(file.string());
+               try {
+                       parseControllers(domParser, "/controllers/joystick/controller", SOURCETYPE_JOYSTICK);
+                       parseControllers(domParser, "/controllers/midi/controller", SOURCETYPE_MIDI);
+               } catch (XMLError& e) {
+                       int line = e.elem.get_line();
+                       std::string name = e.elem.get_name();
+                       throw std::runtime_error(file.string() + ":" + std::to_string(line) + " element " + name + " " + e.message);
+               }
+       }
+
+       void parseControllers(xmlpp::DomParser const& dom, std::string const& path, SourceType sourceType) {
+               auto n = dom.get_document()->get_root_node()->find(path);
+               for (auto nodeit = n.begin(), end = n.end(); nodeit != end; ++nodeit) {
+                       const xmlpp::Element& elem = dynamic_cast<const xmlpp::Element&>(**nodeit);
+                       ControllerDef def;
+                       def.name = getAttribute(elem, "name");
+                       def.sourceType = sourceType;
+                       // Device type
+                       {
+                               std::string type = getAttribute(elem, "type");
+                               if (type == "guitar") def.devType = DEVTYPE_GUITAR;
+                               else if (type == "drumkit") def.devType = DEVTYPE_DRUMS;
+                               else if (type == "keytar") def.devType = DEVTYPE_KEYTAR;
+                               else if (type == "piano") def.devType = DEVTYPE_PIANO;
+                               else if (type == "dancepad") def.devType = DEVTYPE_DANCEPAD;
+                               else {
+                                       std::clog << "controllers/warning: " << type << ": Unknown controller type in controllers.xml (skipped)" << std::endl;
+                                       continue;
+                               }
+                       }
+                       // Device description
+                       auto ns = elem.find("description/text()");
+                       if (ns.size() == 1) def.description = dynamic_cast<const xmlpp::TextNode&>(*ns[0]).get_content();
+                       // Read filtering rules
+                       ns = elem.find("device");
+                       if (ns.size() == 1) {
+                               const xmlpp::Element& elem = dynamic_cast<const xmlpp::Element&>(*ns[0]);
+                               std::string regex;
+                               if (tryGetAttribute(elem, "regex", regex)) { def.deviceRegex = regex; }
+                               parse(def.deviceMinMax, elem);
+                               double latency;
+                               if (tryGetAttribute(elem, "latency", latency)) def.latency = latency;
+                       }
+                       ns = elem.find("channel");
+                       if (ns.size() == 1) parse(def.channelMinMax, dynamic_cast<const xmlpp::Element&>(*ns[0]));
+                       // Read button mapping
+                       ns = elem.find("mapping/*");
+                       for (auto nodeit2 = ns.begin(), end = ns.end(); nodeit2 != end; ++nodeit2) {
+                               const xmlpp::Element& elem = dynamic_cast<const xmlpp::Element&>(**nodeit2);
+                               HWButton hw;
+                               if (!tryGetAttribute(elem, "hw", hw)) throw XMLError(elem, "Mandatory attribute hw is missing or invalid");
+                               // Axes and hats use different HWButton ranges internally
+                               if (elem.get_name() == "axis") hw = HWButton(hw + hwIsAxis.min);
+                               else if (elem.get_name() == "hat") hw = HWButton(hw + hwIsHat.min);
+                               // Parse the mapping for this HWButton
+                               ButtonMap& m = def.mapping[hw];
+                               m.map = parseButton(elem, "map", def);
+                               m.negative = parseButton(elem, "negative", def);
+                               m.positive = parseButton(elem, "positive", def);
+                               m.up = parseButton(elem, "up", def);
+                               m.down = parseButton(elem, "down", def);
+                               m.left = parseButton(elem, "left", def);
+                               m.right = parseButton(elem, "right", def);
+                       }
+                       // Add/replace the controller definition
+                       std::clog << "controllers/info: " << (m_controllerDefs.find(def.name) == m_controllerDefs.end() ? "Controller" : "Overriding")
+                         << " definition: " << def.name << ": " << def.description << std::endl;
+                       m_controllerDefs[def.name] = def;
+               }
+       }
+       /// Read a button attribute from XML element
+       Button parseButton(xmlpp::Element const& elem, std::string const& attr, ControllerDef const& def) {
+               std::string action;
+               tryGetAttribute(elem, attr, action);
+               return findButton(def.devType, action);
+       }
+       /// Find button by name, either of given type or of generic type
+       Button findButton(DevType type, std::string name) {
+               Button button = GENERIC_UNASSIGNED;
+               if (name.empty()) return button;
+               name = UnicodeUtil::toUpper(name);
+               std::replace( name.begin(), name.end(), '-', '_');
+               // Try getting button first from devtype-specific, then generic names
+               buttonByName(type, name, button) || buttonByName(DEVTYPE_GENERIC, name, button) ||
+                 std::clog << "controllers/warning: " << name << ": Unknown button name in controllers.xml." << std::endl;
+               return button;
+       }
+       /// Try to find button of specific type
+       bool buttonByName(DevType type, std::string const& name, Button& button) {
+               NameToButton const& n2b = m_buttons[type];
+               auto it = n2b.find(name);
+               if (it == n2b.end()) return false;
+               button = it->second;
+               return true;
+       }
+       /// Return the next available navigation event from queue, if available
+       bool getNav(NavEvent& ev) {
+               if (m_navEvents.empty()) return false;
+               ev = m_navEvents.front();
+               m_navEvents.pop_front();
+               return true;
+       }
+       /// Register an orphan device
+       DevicePtr registerDevice(SourceId const& source) {
+               auto it = m_orphans.find(source);
+               if (it == m_orphans.end()) return DevicePtr();
+               DevicePtr ret = it->second;
+               m_orphans.erase(it);
+               return ret;
+       }
+       void enableEvents(bool state) {
+               m_eventsEnabled = state;
+               Hardware::enableKeyboardInstruments(state);
+       }
+       /// Do internal event processing (poll for MIDI events etc)
+       void process(Time now) {
+               for (auto& typehw: m_hw) {
+                       while (true) {
+                               Event event;
+                               event.time = now;
+                               if (!typehw.second->process(event)) break;
+                               pushHWEvent(event);
+                       }
+               }
+               // Reset all key repeat timers if there is a latency spike
+               if (now - m_prevProcess > 50ms) {
+                       for (auto& kv: m_navRepeat) kv.second.time = now;
+               }
+               m_prevProcess = now;
+               // Spawn key repeat events when holding buttons
+               for (auto& kv: m_navRepeat) {
+                       NavEvent& ne = kv.second;
+                       Seconds delay(2.0 / (10 + ne.repeat));
+                       Seconds since = now - ne.time;
+                       if (since < delay) continue;  // Not yet time to repeat
+                       // Emit auto-repeated event
+                       // Note: We intentionally only emit one per frame (call to process) to avoid surprises when latency spikes occur.
+                       ++ne.repeat;
+                       ne.time += clockDur(delay);  // Increment rather than set to now, so that repeating is smoother.
+                       std::clog << "controllers/debug: NavEvent auto repeat " << ne.repeat << " after " << since.count() << " s, next delay " << delay.count() << "s " << std::endl;
+                       m_navEvents.push_back(ne);
+               }
+       }
+       /// Handle an incoming SDL event
+       bool pushEvent(SDL_Event const& sdlEv, Time t) {
+               for (auto& typehw: m_hw) {
+                       Event event;
+                       event.time = t;
+                       if (typehw.second->process(event, sdlEv)) { pushHWEvent(event); return true; }
+               }
+               return false;
+       }
+       /// Assign event's source a ControllerDef (if not already assigned) and return it
+       ControllerDef const* assign(Event const& event) {
+               // Attempt insertion (does not override existing values)
+               std::pair<Assignments::iterator, bool> ret = m_assignments.insert(Assignments::value_type(event.source, nullptr));
+               ControllerDef const*& def = ret.first->second;  // A reference to the value inside the map
+               if (!ret.second) return def;  // Source already assigned, just return it.
+               std::string devName = m_hw[event.source.type]->getName(event.source.device);
+               // Find a matching ControllerDef
+               for (ControllerDefs::const_iterator it = m_controllerDefs.begin(); it != m_controllerDefs.end() && !def; ++it) {
+                       if (it->second.matches(event, devName)) def = &it->second;
+               }
+               if (def) std::clog << "controllers/info: Assigned " << event.source << " as " << def->name << std::endl;
+               else if (!event.source.isKeyboard()) std::clog << "controllers/warning: \"" << devName << " " << event.source << "\" not found from controllers.xml. Please report a bug if this is a game controller." << std::endl;
+               return def;
+       }
+       /// Handle an incoming hardware event
+       void pushHWEvent(Event event) {
+               ControllerDef const* def = assign(event);
+               if (!def) {
+                       pushMappedEvent(event);  // This is for keyboard events mainly (they have no ControllerDefs)
+                       return;
+               }
+               event.time -= clockDur(def->latency * 1s);
+               event.devType = def->devType;
+               // Mapping from controllers.xml
+               auto it = def->mapping.find(event.hw);
+               if (it != def->mapping.end()) {
+                       Event ev = event;  // Make a copy for fiddling
+                       bool handled = false;
+                       ButtonMap const& m = it->second;
+                       double value = ev.value;
+                       unsigned val = value;
+                       ev.button = m.map; if (pushMappedEvent(ev)) handled = true;
+                       ev.button = m.positive; ev.value = clamp(value); if (pushMappedEvent(ev)) handled = true;
+                       ev.button = m.negative; ev.value = clamp(-value); if (pushMappedEvent(ev)) handled = true;
+                       if (hwIsHat.matches(ev.hw)) {
+                               ev.button = m.up; ev.value = !!(val & SDL_HAT_UP); if (pushMappedEvent(ev)) handled = true;
+                               ev.button = m.down; ev.value = !!(val & SDL_HAT_DOWN); if (pushMappedEvent(ev)) handled = true;
+                               ev.button = m.left; ev.value = !!(val & SDL_HAT_LEFT); if (pushMappedEvent(ev)) handled = true;
+                               ev.button = m.right; ev.value = !!(val & SDL_HAT_RIGHT); if (pushMappedEvent(ev)) handled = true;
+                       }
+                       if (!handled) std::clog << "controllers/info: ignored " << event << std::endl;  // No matching attribute in controllers.xml
+               } else {
+                       std::clog << "controllers/warning: not mapped " << event << std::endl;  // No matching button/axis/hat element in controllers.xml
+               }
+       }
+       bool pushMappedEvent(Event& ev) {
+               if (ev.button == GENERIC_UNASSIGNED) return false;
+               if (!valueChanged(ev)) return false;  // Avoid repeated or other useless events
+               std::clog << "controllers/debug: processing " << ev << std::endl;
+               ev.nav = navigation(ev);
+               // Emit nav event (except if device is currently registered for events)
+               if (ev.nav != NAV_NONE) {
+                       NavEvent ne(ev);
+                       // Menu navigation mapping
+                       {
+                               bool vertical = (ev.devType == DEVTYPE_GUITAR);
+                               if (ne.button == NAV_UP) ne.menu = (vertical ? NAVMENU_A_PREV : NAVMENU_B_PREV);
+                               else if (ne.button == NAV_DOWN) ne.menu = (vertical ? NAVMENU_A_NEXT : NAVMENU_B_NEXT);
+                               else if (ne.button == NAV_LEFT) ne.menu = (vertical ? NAVMENU_B_PREV : NAVMENU_A_PREV);
+                               else if (ne.button == NAV_RIGHT) ne.menu = (vertical ? NAVMENU_B_NEXT : NAVMENU_A_NEXT);
+                       }
+                       if (ev.value != 0.0) {
+                               m_navEvents.push_back(ne);
+                               if (ne.button >= NAV_REPEAT) m_navRepeat.insert(std::make_pair(ne.button, ne));
+                       } else {
+                               if (ne.button >= NAV_REPEAT) m_navRepeat.erase(ne.button);
+                       }
+               }
+               if (m_eventsEnabled) {
+                       // Emit Event and construct a new Device first if needed
+                       DevicePtr ptr = m_devices[ev.source].lock();
+                       if (!ptr) {
+                               ptr = std::make_shared<Device>(ev.source, ev.devType);
+                               m_orphans[ev.source] = ptr;
+                               m_devices[ev.source] = ptr;
+                       }
+                       ptr->pushEvent(ev);
+               }
+               return true;
+       }
+       /// Test if button's value has changed since the last call to this function
+       bool valueChanged(Event const& ev) {
+               // Find the matching UniqueButton or add a new one with NaN value
+               auto res = m_values.insert(std::make_pair(UniqueButton(ev.source, ev.button), getNaN()));
+               double& value = res.first->second;
+               // Check and update value
+               if (value == ev.value) return false;
+               value = ev.value;
+               return true;
+       }
+};
+
+// External API simply wraps self (pImpl)
+Controllers::Controllers(): self(new Controllers::Impl()) {}
+Controllers::~Controllers() {}
+bool Controllers::getNav(NavEvent& ev) { return self->getNav(ev); }
+DevicePtr Controllers::registerDevice(SourceId const& source) { return self->registerDevice(source); }
+void Controllers::enableEvents(bool state) { self->enableEvents(state); }
+void Controllers::process(Time now) { self->process(now); }
+bool Controllers::pushEvent(SDL_Event const& ev, Time t) { return self->pushEvent(ev, t); }
+
+bool Device::getEvent(Event& ev) {
+       if (m_events.empty()) return false;
+       ev = m_events.front();
+       m_events.pop_front();
+       return true;
+}
+
+void Device::pushEvent(Event const& ev) {
+       m_events.push_back(ev);
+}
+
diff --git a/game/controllers.hh b/game/controllers.hh
new file mode 100644 (file)
index 0000000..ddd4ead
--- /dev/null
@@ -0,0 +1,143 @@
+#pragma once
+
+#include "chrono.hh"
+#include "configuration.hh"
+#include "util.hh"
+#include <SDL2/SDL_events.h>
+#include <climits>
+#include <deque>
+#include <iostream>
+#include <memory>
+#include <stdexcept>
+#include <vector>
+
+namespace input {
+       enum SourceType { SOURCETYPE_NONE, SOURCETYPE_JOYSTICK, SOURCETYPE_MIDI, SOURCETYPE_KEYBOARD, SOURCETYPE_N };
+       enum DevType { DEVTYPE_GENERIC, DEVTYPE_VOCALS, DEVTYPE_GUITAR, DEVTYPE_DRUMS, DEVTYPE_KEYTAR, DEVTYPE_PIANO, DEVTYPE_DANCEPAD, DEVTYPE_N };
+       /// Generalized mapping of navigation actions
+       enum NavButton {
+               NAV_NONE /* No NavEvent emitted */, NAV_SOME /* Major gameplay button with no direct nav function, used for joining instruments */,
+               NAV_START, NAV_CANCEL, NAV_PAUSE,
+               NAV_REPEAT = 0x80 /* Anything after this is auto-repeating */,
+               NAV_UP, NAV_DOWN, NAV_LEFT, NAV_RIGHT, NAV_MOREUP, NAV_MOREDOWN, NAV_VOLUME_UP, NAV_VOLUME_DOWN
+       };
+       /// Alternative orientation-agnostic mapping where A axis is the one that is easiest to access (e.g. guitar pick) and B might not be available on all devices
+       enum NavMenu { NAVMENU_NONE, NAVMENU_A_PREV, NAVMENU_A_NEXT, NAVMENU_B_PREV, NAVMENU_B_NEXT };
+
+       enum ButtonId: unsigned {
+               // Button constants for each DevType
+               #define DEFINE_BUTTON(devtype, button, num, nav) devtype##_##button = num,
+               #include "controllers-buttons.ii"
+       };
+
+       struct Button {
+               ButtonId id;
+               Button(ButtonId id = GENERIC_UNASSIGNED): id(id) {}
+               Button(unsigned layer, unsigned num): id(ButtonId(layer << 8 | num)) {}
+               operator ButtonId() const { return id; }
+               unsigned layer() const { return id >> 8; }
+               unsigned num() const { return id & 0xFF; }
+               bool generic() const { return layer() == 0x100; }
+       };
+
+       typedef unsigned HWButton;
+       static const MinMax<HWButton> hwIsAxis(0x10000000u, 0x1000FFFFu);
+       static const MinMax<HWButton> hwIsHat(0x11000000u, 0x1100FFFFu);
+       
+       /// Each controller has unique SourceId that can be used for telling players apart etc.
+       struct SourceId {
+               SourceId(SourceType type = SOURCETYPE_NONE, unsigned device = 0, unsigned channel = 0): type(type), device(device), channel(channel) {
+               }
+               SourceType type;
+               unsigned device, channel;  ///< Device number and channel (0..1023)
+               /// Provide numeric conversion for comparison and ordered containers
+               operator unsigned() const { return unsigned(type)<<20 | device<<10 | channel; }
+               bool isKeyboard() const { return type == SOURCETYPE_KEYBOARD; }  ///< This is so common test that a helper is provided
+       };
+       
+       struct Event {
+               SourceId source; ///< Where did it originate from
+               HWButton hw; ///< Hardware button number (for internal use and debugging only)
+               Button button; ///< Mapped button id
+               NavButton nav; ///< Navigational button interpretation
+               double value; ///< Zero for button release, up to 1.0 for press (e.g. velocity value), or axis value (-1.0 .. 1.0)
+               Time time; ///< When did the event occur
+               DevType devType; ///< Device type
+               Event(): source(), hw(), nav(NAV_NONE), value(), time(), devType() {}
+               bool pressed() const { return value != 0.0; }
+       };
+
+       /// NavEvent is a menu navigation event, generalized for all controller type so that the user doesn't need to know about controllers.
+       struct NavEvent {
+               SourceId source;
+               DevType devType;
+               NavButton button;
+               NavMenu menu;
+               Time time;
+               unsigned repeat;  ///< Zero for hardware event, increased by one for each auto-repeat
+               NavEvent(): source(), devType(), button(), menu(), time(), repeat() {}
+               explicit NavEvent(Event const& ev): source(ev.source), devType(ev.devType), button(ev.nav), menu(), time(ev.time), repeat() {}
+       };
+       
+       /// A handle for receiving device events
+       class Device {
+               typedef std::deque<Event> Events;
+               Events m_events;
+       public:
+               Device(const Device&) = delete;
+               const Device& operator=(const Device&) = delete;
+               const SourceId source;
+               const DevType type;
+               Device(SourceId const& source, DevType type): source(source), type(type) {}
+               bool getEvent(Event&);
+               void pushEvent(Event const&);
+       };
+       typedef std::shared_ptr<Device> DevicePtr;
+
+       /// The main controller class that contains everything
+       class Controllers {
+       public:
+               Controllers(const Controllers&) = delete;
+               const Controllers& operator=(const Controllers&) = delete;
+               Controllers();
+               ~Controllers();
+               /// Return true and a nav event if there are any in queue. Otherwise return false.
+               bool getNav(NavEvent& ev);
+               /// Enable or disable event processing (pending events will be cleared).
+               void enableEvents(bool state);
+               /// Adopt a specific orphan device (for receiving Events).
+               DevicePtr registerDevice(SourceId const& source);
+               /// Internally poll for new events. The current time is passed for reference.
+               void process(Time now);
+               /// Push an SDL event for processing. Returns true if the event was taken (recognized and accepted).
+               bool pushEvent(SDL_Event const& sdlEv, Time now);
+       private:
+               struct Impl;
+               std::unique_ptr<Impl> self;
+       };
+
+       /// Base class for different types of hardware backends.
+       class Hardware {
+       public:
+               Hardware(const Hardware&) = delete;
+               const Hardware& operator=(const Hardware&) = delete;
+               static bool midiEnabled();
+               static void enableKeyboardInstruments(bool state);
+               Hardware() {}
+               virtual ~Hardware() {}
+               /// Get the name of a specific device of this type
+               virtual std::string getName(unsigned) const { return std::string(); }
+               /// Return an Event and true if any are available. The Event is pre-initialized with current time.
+               virtual bool process(Event&) { return false; }
+               /// Convert an SDL event into Event. The Event is pre-initialized with event's time. Returns false if SDL_Event was not handled.
+               virtual bool process(Event&, SDL_Event const&) { return false; }
+               // Note: process functions are expected to return Event with source, hw and value set and possibly with time adjusted.
+               typedef std::shared_ptr<Hardware> ptr;
+       };
+       
+       Hardware::ptr constructKeyboard();
+       Hardware::ptr constructJoysticks();
+       Hardware::ptr constructMidi();
+}
+
+
diff --git a/game/dancegraph.cc b/game/dancegraph.cc
new file mode 100644 (file)
index 0000000..6946008
--- /dev/null
@@ -0,0 +1,546 @@
+#include "dancegraph.hh"
+#include "song.hh"
+#include "i18n.hh"
+
+#include <stdexcept>
+#include <algorithm>
+
+namespace {
+       // Position mappings for panels
+       static const int mapping4[max_panels] = {0, 1, 2, 3,-1,-1,-1,-1,-1,-1};
+       static const int mapping5[max_panels] = {0, 1, 3, 4, 2,-1,-1,-1,-1,-1};
+       static const int mapping6[max_panels] = {0, 2, 3, 5, 1, 4,-1,-1,-1,-1};
+       static const int mapping7[max_panels] = {0, 2, 4, 6, 1, 5, 3,-1,-1,-1};
+       static const int mapping8[max_panels] = {0, 3, 4, 7, 1, 6, 2, 5,-1,-1};
+       static const int mapping10[max_panels]= {0, 3, 4, 7, 1, 6, 2, 5,-1,-1};
+       #if 0 // Here is some dummy gettext calls to populate the dictionary
+       _("Beginner") _("Easy") _("Medium") _("Hard") _("Challenge")
+       #endif
+       const std::string diffv[] = { "Beginner", "Easy", "Medium", "Hard", "Challenge" };
+       const float past = -0.3f; // Relative time from cursor that is considered past (out of screen)
+       const float future = 2.0f; // Relative time from cursor that is considered future (out of screen)
+       const float timescale = 12.0f; // Multiplier to get graphics units from time
+       const float texCoordStep = -0.25f; // Four beat lines per beat texture
+       // Note: t is difference from playback time so it must be in range [past, future]
+       float time2y(float t) { return timescale * (t - past) / (future - past); }
+       float time2a(float t) {
+               float a = clamp(1.0 - t / future); // Note: we want 1.0 alpha already at zero t.
+               return std::pow(a, 0.8f); // Nicer curve
+       }
+       const double maxTolerance = 0.15; // Maximum error in seconds
+       int getNextBigStreak(int prev) { return prev + 10; }
+
+       /// Get an accuracy value [0, 1] for the error offset (in seconds)
+       double accuracy(double error) { return 1.0 - (std::abs(error) / maxTolerance); };
+
+       /// Gives points based on error from a perfect hit
+       double points(double error) {
+               double ac = accuracy(error);
+               if (ac > .90) return 50.0;  // Perfect
+               if (ac > .80) return 40.0;  // Excellent
+               if (ac > .70) return 30.0;  // Great
+               if (ac > .60) return 20.0;  // Good
+               if (ac > .40) return 15.0;  // OK
+               if (ac > .20) return 10.0;  // Late/Early
+               return 5.0;  // Way off
+       }
+
+       std::string getRank(double error) {
+               double ac = accuracy(error);
+               if (error < 0.0) {
+                       if (ac > .90) return "Perfect!";
+                       if (ac > .80) return "Excellent!-";
+                       if (ac > .70) return "Great!-";
+                       if (ac > .60) return " Good!- ";
+                       if (ac > .40) return "  OK!-  ";
+                       if (ac > .20) return "Late!-";
+                       return "Way off!";
+               } else {
+                       if (ac > .90) return "Perfect!";
+                       if (ac > .80) return "-Excellent!";
+                       if (ac > .70) return "-Great!";
+                       if (ac > .60) return " -Good! ";
+                       if (ac > .40) return "  -OK!  ";
+                       if (ac > .20) return "-Early!";
+                       return "Way off!";
+               }
+       }
+
+       struct lessEnd {
+               bool operator()(const DanceNote& left, const DanceNote& right) {
+                       return left.note.end < right.note.end;
+               }
+       };
+}
+
+
+/// Constructor
+DanceGraph::DanceGraph(Audio& audio, Song const& song, input::DevicePtr dev):
+  InstrumentGraph(audio, song, dev),
+  m_level(BEGINNER),
+  m_beat(findFile("dancebeat.svg")),
+  m_arrows(findFile("arrows.svg")),
+  m_arrows_cursor(findFile("arrows_cursor.svg")),
+  m_arrows_hold(findFile("arrows_hold.svg")),
+  m_mine(findFile("mine.svg")),
+  m_insideStop()
+{
+       // Initialize some arrays
+       for (size_t i = 0; i < max_panels; i++) {
+               m_activeNotes[i] = m_notes.end();
+               m_pressed_anim[i] = AnimValue(0.0, 4.0);
+               m_arrow_map[i] = -1;
+       }
+
+       if(m_song.danceTracks.empty())
+               throw std::runtime_error("Could not find any dance tracks.");
+       changeTrack(0); // Get an initial game mode and notes for it
+       setupJoinMenu(); // Finally setup the menu
+}
+
+
+void DanceGraph::setupJoinMenu() {
+       m_menu.clear();
+       updateJoinMenu();
+       // Populate root menu
+       m_menu.add(MenuOption(_("Ready!"), _("Start performing!")));
+       { // Create track selector
+               ConfigItem::OptionList ol;
+               int i = 0, cur = 0;
+               // Add tracks to option list
+               for (auto it = m_song.danceTracks.begin(); it != m_song.danceTracks.end(); ++it, ++i) {
+                       ol.push_back(it->first);
+                       if (m_gamingMode == it->first) cur = i; // Find the index of current track
+               }
+               m_selectedTrack = ConfigItem(ol); // Create a ConfigItem from the option list
+               m_selectedTrack.select(cur); // Set the selection to current level
+               m_menu.add(MenuOption("", _("Select track")).changer(m_selectedTrack)); // MenuOption that cycles the options
+               m_menu.back().setDynamicName(m_trackOpt); // Set the title to be dynamic
+       }
+       { // Create difficulty opt
+               ConfigItem::OptionList ol;
+               int i = 0, cur = 0;
+               // Add difficulties to the option list
+               for (int level = 0; level < DIFFICULTYCOUNT; ++level) {
+                       if (difficulty(DanceDifficulty(level), true)) {
+                               ol.push_back(std::to_string(level));
+                               if (DanceDifficulty(level) == m_level) cur = i;
+                               ++i;
+                       }
+               }
+               m_selectedDifficulty = ConfigItem(ol); // Create a ConfigItem from the option list
+               m_selectedDifficulty.select(cur); // Set the selection to current level
+               m_menu.add(MenuOption("", _("Select difficulty")).changer(m_selectedDifficulty)); // MenuOption that cycles the options
+               m_menu.back().setDynamicName(m_difficultyOpt); // Set the title to be dynamic
+       }
+       m_menu.add(MenuOption(_("Quit"), _("Exit to song browser")).screen("Songs"));
+}
+
+void DanceGraph::updateJoinMenu() {
+       m_trackOpt = getTrack();
+       m_difficultyOpt = getDifficultyString();
+}
+
+/// Attempt to select next/previous game mode
+void DanceGraph::changeTrack(int direction) {
+       // Cycling
+       if (direction == 0) {
+               m_curTrackIt = m_song.danceTracks.find("dance-single");
+               if (m_curTrackIt == m_song.danceTracks.end())
+                       m_curTrackIt = m_song.danceTracks.begin();
+       } else if (direction > 0) {
+               ++m_curTrackIt;
+               if (m_curTrackIt == m_song.danceTracks.end()) m_curTrackIt = m_song.danceTracks.begin();
+       } else if (direction < 0) {
+               if (m_curTrackIt == m_song.danceTracks.begin()) m_curTrackIt = (--m_song.danceTracks.end());
+               else --m_curTrackIt;
+       }
+       finalizeTrackChange();
+}
+
+/// Attempt to select a specific game mode
+void DanceGraph::setTrack(const std::string& track) {
+       auto it = m_song.danceTracks.find(track);
+       if (it == m_song.danceTracks.end()) return;
+       m_curTrackIt = it;
+       finalizeTrackChange();
+}
+
+void DanceGraph::finalizeTrackChange() {
+       // Determine how many arrow lines are needed
+       m_gamingMode = m_curTrackIt->first;
+       std::string gm = m_gamingMode;
+       if (gm == "dance-single") { m_pads = 4; std::copy(mapping4, mapping4+max_panels, m_arrow_map); }
+       else if (gm == "dance-double") { m_pads = 8; std::copy(mapping8, mapping8+max_panels, m_arrow_map); }
+       else if (gm == "dance-couple") { m_pads = 8; std::copy(mapping8, mapping8+max_panels, m_arrow_map); }
+       else if (gm == "dance-solo") { m_pads = 6; std::copy(mapping6, mapping6+max_panels, m_arrow_map); }
+       else if (gm == "pump-single") { m_pads = 5 ; std::copy(mapping5, mapping5+max_panels, m_arrow_map); }
+       else if (gm == "pump-double") { m_pads = 10; std::copy(mapping10, mapping10+max_panels, m_arrow_map); }
+       else if (gm == "pump-couple") { m_pads = 10; std::copy(mapping10, mapping10+max_panels, m_arrow_map); }
+       else if (gm == "ez2-single") { m_pads = 5; std::copy(mapping5, mapping5+max_panels, m_arrow_map); }
+       else if (gm == "ez2-double") { m_pads = 10; std::copy(mapping10, mapping10+max_panels, m_arrow_map); }
+       else if (gm == "ez2-real") { m_pads = 7; std::copy(mapping7, mapping7+max_panels, m_arrow_map); }
+       else if (gm == "para-single") { m_pads = 5; std::copy(mapping5, mapping5+max_panels, m_arrow_map); }
+       else throw std::runtime_error("Unknown track " + gm);
+
+       changeDifficulty(0); // Construct new notes
+       setupJoinMenu();
+       m_menu.select(1); // Restore selection to the track item
+}
+
+/// Get the track string
+std::string DanceGraph::getTrack() const {
+       return _(m_gamingMode.c_str());
+}
+
+/// Get the difficulty as displayable string
+std::string DanceGraph::getDifficultyString() const {
+       return _(diffv[m_level].c_str());
+}
+
+/// Get a string id for track and difficulty
+std::string DanceGraph::getModeId() const {
+       return m_gamingMode + " - " + diffv[m_level] + (isKeyboard() ? " (kbd)" : "");
+}
+
+/// Attempt to change the difficulty by a step
+void DanceGraph::changeDifficulty(int delta) {
+       int newLevel = m_level + delta;
+       if(newLevel >= DIFFICULTYCOUNT || newLevel < 0) return; // Out of bounds
+       auto it = m_song.danceTracks.find(m_gamingMode);
+       if(it->second.find((DanceDifficulty)newLevel) != it->second.end())
+               difficulty((DanceDifficulty)newLevel);
+       else
+               changeDifficulty(delta + (delta < 0 ? -1 : 1));
+}
+
+/// Select a difficulty and construct DanceNotes and score normalizer for it
+bool DanceGraph::difficulty(DanceDifficulty level, bool check_only) {
+       // TODO: error handling
+       DanceDifficultyMap const& ddm = m_song.danceTracks.find(m_gamingMode)->second;
+       if (ddm.find(level) == ddm.end()) return false; else if (check_only) return true;
+       m_notes.clear();
+       DanceTrack const& track = ddm.find(level)->second;
+       for (auto const& n: track.notes) m_notes.push_back(DanceNote(n));
+       std::sort(m_notes.begin(), m_notes.end(), lessEnd()); // for engine's iterators
+       m_notesIt = m_notes.begin();
+       m_level = level;
+       for (auto& noteIt: m_activeNotes) noteIt = m_notes.end();
+       m_scoreFactor = 1;
+       if (!m_notes.empty()) m_scoreFactor = 10000.0 / (50 * m_notes.size()); // maxpoints / (notepoint * notes)
+       updateJoinMenu();
+       return true;
+}
+
+/// Handles input and some logic
+void DanceGraph::engine() {
+       double time = m_audio.getPosition();
+       time -= config["audio/controller_delay"].f();
+       doUpdates();
+       // Handle stops
+       bool outsideStop = true;
+       for (auto const& stop: m_song.stops) {
+               if (stop.first >= time) break;
+               if (time < stop.first + stop.second) {  // Inside stop
+                       time = stop.first;
+                       if (!m_insideStop) {
+                               m_popups.push_back(Popup(_("STOP!"),  Color(1.0, 0.8, 0.0), 2.0, m_popupText.get()));
+                               m_insideStop = true;
+                       }
+                       outsideStop = false;
+                       break;
+               }
+               time -= stop.second;
+       }
+       if (outsideStop && m_insideStop) m_insideStop = false;
+       bool difficulty_changed = false;
+       // Handle all events
+       for (input::Event ev; m_dev->getEvent(ev); ) {
+               m_dead = 0; // Keep alive
+               // Menu keys
+               if (menuOpen() && ev.value != 0.0) {
+                       if (ev.nav == input::NAV_START || ev.nav == input::NAV_CANCEL) m_menu.close();
+                       else if (ev.nav == input::NAV_RIGHT) m_menu.action(1);
+                       else if (ev.nav == input::NAV_LEFT) m_menu.action(-1);
+                       else if (ev.nav == input::NAV_UP) m_menu.move(-1);
+                       else if (ev.nav == input::NAV_DOWN) m_menu.move(1);
+                       difficulty_changed = true;
+                       // See if anything changed
+                       if (m_selectedTrack.so() != m_gamingMode) setTrack(m_selectedTrack.so());
+                       else if (std::stoi(m_selectedDifficulty.so()) != m_level)
+                               difficulty(DanceDifficulty(std::stoi(m_selectedDifficulty.so())));
+                       else if (m_rejoin.b()) { unjoin(); setupJoinMenu(); m_dev->pushEvent(input::Event()); /* FIXME: HACK? */ }
+                       // Sync dynamic stuff
+                       updateJoinMenu();
+               // Open Menu
+               } else if (!menuOpen() && ev.value != 0.0) {
+                       if (ev.nav == input::NAV_CANCEL || ev.nav == input::NAV_START) m_menu.open();
+               }
+               if (ev.button < max_panels) {
+                       // Gaming controls
+                       if (ev.value == 0.0) {
+                               m_pressed[ev.button] = false;
+                               dance(time, ev);
+                               m_pressed_anim[ev.button].setTarget(0.0);
+                       } else if (ev.value != 0.0) {
+                               m_pressed[ev.button] = true;
+                               dance(time, ev);
+                               m_pressed_anim[ev.button].setValue(1.0);
+                       }
+               }
+       }
+
+       // Countdown to start
+       handleCountdown(time, time < getNotesBeginTime() ? getNotesBeginTime() : m_jointime+1);
+
+       // Notes gone by
+       for (DanceNotes::iterator& it = m_notesIt; it != m_notes.end() && time > it->note.end + maxTolerance; it++) {
+               if(!it->isHit) { // Missed
+                       if (it->note.type != Note::MINE) m_streak = 0;
+               } else { // Hit, add score
+                       if(it->note.type != Note::MINE) m_score += it->score;
+                       if(!it->releaseTime) it->releaseTime = time;
+               }
+               if (!joining(time)) ++m_dead;  // Increment dead counter (but not while joining)
+       }
+       if (difficulty_changed) m_dead = 0; // if difficulty is changed, m_dead would get incorrect
+
+       // Holding button when mine comes?
+       for (auto it = m_notesIt; it != m_notes.end() && time <= it->note.begin + maxTolerance; ++it) {
+               if(!it->isHit && it->note.type == Note::MINE && m_pressed[it->note.note] &&
+                 it->note.begin >= time - maxTolerance && it->note.end <= time + maxTolerance) {
+                       it->isHit = true;
+                       m_score -= points(0);
+               }
+       }
+
+       // Check if a long streak goal has been reached
+       if (m_streak >= getNextBigStreak(m_bigStreak)) {
+               m_bigStreak = getNextBigStreak(m_bigStreak);
+               m_popups.push_back(Popup(std::to_string(unsigned(m_bigStreak)) + "\n" + _("Streak!"),
+                 Color(1.0, 0.0, 0.0), 1.0, m_popupText.get()));
+       }
+}
+
+/// Handles scoring and such
+void DanceGraph::dance(double time, input::Event const& ev) {
+       // Handle release events
+       if (ev.value == 0.0) {
+               auto it = m_activeNotes[ev.button];
+               if(it != m_notes.end()) {
+                       if(!it->releaseTime && it->note.end > time + maxTolerance) {
+                               it->releaseTime = time;
+                               it->score = 0;
+                               m_streak = 0;
+                       }
+               }
+               return;
+       }
+
+       // So it was a PRESS event
+       for (auto it = m_notesIt; it != m_notes.end() && time <= it->note.end + maxTolerance; ++it) {
+               if(!it->isHit && std::abs(time - it->note.begin) <= maxTolerance && ev.button == unsigned(it->note.note)) {
+                       it->isHit = true;
+                       if (it->note.type != Note::MINE) {
+                               it->score = points(it->note.begin - time);
+                               it->error = it->note.begin - time;
+                               m_streak++;
+                               if (m_streak > m_longestStreak) m_longestStreak = m_streak;
+                       } else { // Mine!
+                               m_score -= points(0);
+                               m_streak = 0;
+                       }
+                       m_activeNotes[ev.button] = it;
+                       break;
+               }
+       }
+}
+
+
+namespace {
+       const float arrowSize = 0.4f; // Half width of an arrow
+       const float one_arrow_tex_w = 1.0 / 8.0; // Width of a single arrow in texture coordinates
+
+       /// Create a symmetric vertex pair for arrow drawing
+       void vertexPair(glutil::VertexArray& va, int arrow_i, float y, float ty) {
+               if (arrow_i < 0) {
+                       // Single thing in a texture (e.g. mine)
+                       va.texCoord(0.0f, ty).vertex(-arrowSize, y);
+                       va.texCoord(1.0f, ty).vertex(arrowSize, y);
+               } else {
+                       // Arrow from a texture atlas
+                       va.texCoord(arrow_i * one_arrow_tex_w, ty).vertex(-arrowSize, y);
+                       va.texCoord((arrow_i+1) * one_arrow_tex_w, ty).vertex(arrowSize, y);
+               }
+       }
+}
+
+/// Draw a dance pad icon using the given texture
+void DanceGraph::drawArrow(int arrow_i, Texture& tex, float ty1, float ty2) {
+       glActiveTexture(GL_TEXTURE0);
+       glBindTexture(tex.type(), tex.id());
+       glutil::VertexArray va;
+       vertexPair(va, arrow_i, -arrowSize, ty1);
+       vertexPair(va, arrow_i,  arrowSize, ty2);
+       va.draw();
+}
+
+/// Draws the dance graph
+void DanceGraph::draw(double time) {
+       for (auto const& stop: m_song.stops) {
+               if (stop.first >= time) break;
+               if (time < stop.first + stop.second) { time = stop.first; break; } // Inside stop
+               time -= stop.second;
+       }
+
+       Dimensions dimensions(1.0); // FIXME: bogus aspect ratio (is this fixable?)
+       dimensions.screenTop().middle(m_cx.get()).stretch(m_width.get(), 1.0);
+       ViewTrans view(0.5 * (dimensions.x1() + dimensions.x2()), 0.0, 0.75);  // Apply a per-player local perspective
+       {
+               using namespace glmath;
+               // Some matrix magic to get the viewport right
+               float temp_s = dimensions.w() / 8.0f; // Allow for 8 pads to fit on a track
+               Transform trans(translate(vec3(0.0f, dimensions.y1(), 0.0)) * scale(temp_s));
+
+               // Draw the "neck" graph (beat lines)
+               drawBeats(time);
+
+               // Arrows on cursor
+               {
+                       UseShader us(getShader("dancenote"));
+                       m_uniforms.clock = static_cast<float>(time);
+                       m_uniforms.noteType = 0;
+                       m_uniforms.scale = getScale();
+                       for (unsigned arrow_i = 0; arrow_i < m_pads; ++arrow_i) {
+                               float l = m_pressed_anim[arrow_i].get();
+                               m_uniforms.hitAnim = l;
+                               m_uniforms.position = glmath::vec2(panel2x(arrow_i), time2y(0.0));
+                               glBufferSubData(GL_UNIFORM_BUFFER, m_uniforms.offset(), m_uniforms.size(), &m_uniforms);
+                               drawArrow(arrow_i, m_arrows_cursor);
+                       }
+               }
+
+               // Draw the notes
+               if (time == time) { // Check that time is not NaN
+                       for (auto& n: m_notes) {
+                               if (n.note.end - time < past) continue;
+                               if (n.note.begin - time > future) continue;
+                               drawNote(n, time); // Let's just do all the calculating in the sub, instead of passing them as a long list
+                       }
+               }
+       }
+       drawInfo(time, dimensions); // Go draw some texts and other interface stuff
+}
+
+void DanceGraph::drawBeats(double time) {
+       UseTexture tex(m_beat);
+       glutil::VertexArray va;
+       float texCoord = 0.0f;
+       float tBeg = 0.0f, tEnd;
+       float w = 0.5 * m_pads * getScale();
+       for (auto it = m_song.beats.begin(); it != m_song.beats.end() && tBeg < future; ++it, texCoord += texCoordStep, tBeg = tEnd) {
+               tEnd = *it - time;
+               //if (tEnd < past) continue;
+               /*if (tEnd > future) {
+                       // Crop the end off
+                       texCoord -= texCoordStep * (tEnd - future) / (tEnd - tBeg);
+                       tEnd = future;
+               }*/
+               glmath::vec4 c(1.0f, 1.0f, 1.0f, time2a(tEnd));
+               va.color(c).normal(0.0f, 1.0f, 0.0f).texCoord(0.0f, texCoord).vertex(-w, time2y(tEnd));
+               va.color(c).normal(0.0f, 1.0f, 0.0f).texCoord(1.0f, texCoord).vertex(w, time2y(tEnd));
+       }
+       va.draw();
+}
+
+/// Draws a single note (or hold)
+void DanceGraph::drawNote(DanceNote& note, double time) {
+       float tBeg = note.note.begin - time;
+       float tEnd = note.note.end - time;
+       int arrow_i = note.note.note;
+       bool mine = note.note.type == Note::MINE;
+       float x = panel2x(arrow_i);
+       float yBeg = time2y(tBeg);
+       float yEnd = time2y(tEnd);
+
+       // Did we hit it?
+       if (note.isHit && (note.releaseTime > 0.0 || std::abs(tEnd) < maxTolerance) && note.hitAnim.getTarget() == 0.0) {
+               if (mine) note.hitAnim.setRate(1.0);
+               note.hitAnim.setTarget(1.0, false);
+       }
+       double glow = note.hitAnim.get();
+
+       {
+               UseShader us(getShader("dancenote"));
+               m_uniforms.hitAnim = static_cast<float>(glow);
+               m_uniforms.clock = static_cast<float>(time);
+               m_uniforms.scale = getScale();
+
+               if (yEnd - yBeg > arrowSize) {
+                       // Draw holds
+                       if (note.isHit && note.releaseTime <= 0) { // The note is being held down
+                               yBeg = std::max(time2y(0.0), yBeg);
+                               yEnd = std::max(time2y(0.0), yEnd);
+                       }
+                       if (note.releaseTime > 0) yBeg = time2y(note.releaseTime - time); // Oh noes, it got released!
+                       m_uniforms.noteType = 2;
+                       m_uniforms.position = glmath::vec2(x, yBeg);
+                       glBufferSubData(GL_UNIFORM_BUFFER, m_uniforms.offset(), m_uniforms.size(), &m_uniforms);
+                       // Draw begin
+                       drawArrow(arrow_i, m_arrows_hold, 0.0f, 1.0f/3.0f);
+                       if (yEnd - yBeg > 0) {
+                               glActiveTexture(GL_TEXTURE0);
+                               glBindTexture(m_arrows_hold.type(), m_arrows_hold.id());
+                               glutil::VertexArray va;
+                               // Middle
+                               vertexPair(va, arrow_i, arrowSize, 1.0f/3.0f);
+                               float l = (yEnd - yBeg) / getScale();
+                               float yMid = std::max(l-arrowSize, arrowSize);
+                               vertexPair(va, arrow_i, yMid, 2.0f/3.0f);
+                               // End
+                               vertexPair(va, arrow_i, l, 1.0f);
+                               va.draw();
+                       }
+               } else {
+                       // Draw short note
+                       if (mine && note.isHit) yBeg = time2y(0.0);
+                       m_uniforms.noteType = (mine ? 3 : 1);
+                       m_uniforms.position = glmath::vec2(x, yBeg);
+                       glBufferSubData(GL_UNIFORM_BUFFER, m_uniforms.offset(), m_uniforms.size(), &m_uniforms);
+                       drawArrow((mine ? -1 : arrow_i), (mine ? m_mine : m_arrows));
+               }
+       }
+
+       // Draw a text telling how well we hit
+       double alpha = 1.0 - glow;
+       if (!mine && note.isHit) {
+               std::string text;
+               if (note.releaseTime <= 0.0 && tBeg < tEnd) { // Is being held down and is a hold note
+                       text = "HOLD";
+                       alpha = glow = 1.0;
+               } else if (glow > 0.0) { // Released already, display rank
+                       text = note.score ? getRank(note.error) : "FAIL!";
+               }
+               if (!text.empty()) {
+                       double sc = getScale() * 0.6 * arrowSize * (3.0 + glow);
+                       Transform trans(glmath::translate(glmath::vec3(0.0, 0.0, 0.5 * glow))); // Slightly elevated
+                       ColorTrans c(Color::alpha(std::sqrt(alpha)));
+                       m_popupText->render(text);
+                       m_popupText->dimensions().middle(x).center(time2y(0.0)).stretch(sc, sc/2.0);
+                       m_popupText->draw();
+               }
+       }
+}
+
+/// Draw popups and other info texts
+void DanceGraph::drawInfo(double /*time*/, Dimensions dimensions) {
+       if (!menuOpen()) {
+               // Draw scores
+               m_text.dimensions.screenBottom(-0.35).middle(0.32 * dimensions.w());
+               m_text.draw(std::to_string(unsigned(getScore())));
+               m_text.dimensions.screenBottom(-0.32).middle(0.32 * dimensions.w());
+               m_text.draw(std::to_string(unsigned(m_streak)) + "/"
+                 + std::to_string(unsigned(m_longestStreak)));
+       }
+       drawPopups();
+}
diff --git a/game/dancegraph.hh b/game/dancegraph.hh
new file mode 100644 (file)
index 0000000..d1095a8
--- /dev/null
@@ -0,0 +1,78 @@
+#pragma once
+
+#include "instrumentgraph.hh"
+
+class Song;
+
+struct DanceNote {
+       DanceNote(Note note) :
+               note(note), hitAnim(0.0, 5.0), releaseTime(0), error(getNaN()), score(0), isHit(false) {}
+       Note note;
+       AnimValue hitAnim; /// for animating hits
+       double releaseTime; /// tells when a hold was ended
+       double error; /// time difference between hit and correct time (negative = late)
+       int score;
+       bool isHit;
+};
+
+
+typedef std::vector<DanceNote> DanceNotes;
+
+/// handles drawing of notes
+class DanceGraph: public InstrumentGraph {
+  public:
+       /// constructor
+       DanceGraph(Audio& audio, Song const& song, input::DevicePtr dev);
+       /** draws DanceGraph
+        * @param time at which time to draw
+        */
+       void draw(double time);
+       void engine();
+       std::string getTrack() const;
+       std::string getDifficultyString() const;
+       std::string getModeId() const;
+       void changeTrack(int dir = 1);
+       void changeDifficulty(int dir = 1);
+
+  private:
+       // Difficulty & mode selection
+       enum DanceStep { STEP_LEFT, STEP_DOWN, STEP_UP, STEP_RIGHT };
+       void setupJoinMenu();
+       void updateJoinMenu();
+       void setTrack(const std::string& track);
+       void finalizeTrackChange();
+       bool difficulty(DanceDifficulty level, bool check_only = false);
+       DanceDifficulty m_level;
+       std::string m_gamingMode; /// current game mode
+       DanceTracks::const_iterator m_curTrackIt; /// iterator to the currently selected game mode
+
+       // Scoring & drawing
+       void dance(double time, input::Event const& ev);
+       void drawBeats(double time);
+       void drawNote(DanceNote& note, double time);
+       void drawInfo(double time, Dimensions dimensions);
+       void drawArrow(int arrow_i, Texture& tex, float ty1 = 0.0, float ty2 = 1.0);
+
+       // Helpers
+       float panel2x(int i) const { return getScale() * (-(m_pads * 0.5f) + m_arrow_map[i] + 0.5f); } /// Get x for an arrow line
+       float getScale() const { return 1.0f / m_pads * 8.0f; }
+       double getNotesBeginTime() const { return m_notes.front().note.begin; }
+       glutil::danceNoteUniforms m_uniforms;
+
+       // Note stuff
+       DanceNotes m_notes; /// contains the dancing notes for current game mode and difficulty
+       DanceNotes::iterator m_notesIt; /// the first note that hasn't gone away yet
+       DanceNotes::iterator m_activeNotes[max_panels]; /// hold notes that are currently pressed down
+
+       // Textures
+       Texture m_beat;
+       Texture m_arrows;
+       Texture m_arrows_cursor;
+       Texture m_arrows_hold;
+       Texture m_mine;
+
+       // Misc
+       int m_arrow_map[max_panels]; /// game mode dependant mapping of arrows' ordering at cursor
+       bool m_insideStop;
+};
+
diff --git a/game/database.cc b/game/database.cc
new file mode 100644 (file)
index 0000000..d387a15
--- /dev/null
@@ -0,0 +1,117 @@
+#include "database.hh"
+
+#include "libxml++-impl.hh"
+#include "i18n.hh"
+#include <boost/filesystem.hpp>
+#include <iostream>
+
+Database::Database(fs::path const& filename): m_filename(filename) {
+       load();
+}
+
+Database::~Database() {
+       save();
+}
+
+void Database::load() {
+       if (!exists(m_filename)) return;
+       try {
+               xmlpp::DomParser domParser(m_filename.string());
+               xmlpp::Node* nodeRoot = domParser.get_document()->get_root_node();
+               m_players.load(nodeRoot->find("/performous/players/player"));
+               m_songs.load(nodeRoot->find("/performous/songs/song"));
+               m_hiscores.load(nodeRoot->find("/performous/hiscores/hiscore"));
+               std::clog << "database/info: Loaded " << m_players.size() << " players, " << m_songs.size() << " songs and " << m_hiscores.size() << " hiscores from " << m_filename.string() << std::endl;
+       } catch (std::exception& e) {
+               std::clog << "database/error: Error loading " + m_filename.string() + ": " + e.what() << std::endl;
+       }
+}
+
+void Database::save() {
+       try {
+               create_directories(m_filename.parent_path());
+               fs::path tmp = m_filename.string() + ".tmp";
+               {
+                       xmlpp::Document doc;
+                       auto nodeRoot = doc.create_root_node("performous");
+                       m_players.save(xmlpp::add_child_element(nodeRoot, "players"));
+                       m_songs.save(xmlpp::add_child_element(nodeRoot, "songs"));
+                       m_hiscores.save(xmlpp::add_child_element(nodeRoot, "hiscores"));
+                       doc.write_to_file_formatted(tmp.string(), "UTF-8");
+               }
+               rename(tmp, m_filename);
+               std::clog << "database/info: Saved " << m_players.size() << " players, " << m_songs.size() << " songs and " << m_hiscores.size() << " hiscores to " << m_filename.string() << std::endl;
+       } catch (std::exception const& e) {
+               std::clog << "database/error: Could not save " + m_filename.string() + ": " + e.what() << std::endl;
+               return;
+       }
+}
+
+void Database::addPlayer(std::string const& name, std::string const& picture, int id) {
+       m_players.addPlayer(name, picture, id);
+}
+
+void Database::addSong(std::shared_ptr<Song> s) {
+       m_songs.addSong(s);
+}
+
+void Database::addHiscore(std::shared_ptr<Song> s) {
+       int playerid = m_players.lookup(m_players.current().name);
+       int score = scores.front().score;
+       std::string track = scores.front().track;
+       int songid = m_songs.lookup(s);
+
+       m_hiscores.addHiscore(score, playerid, songid, track);
+       std::clog << "database/info: Added new hiscore " << score << " points on track " << track << " of songid " << songid << std::endl;
+}
+
+bool Database::reachedHiscore(std::shared_ptr<Song> s) const {
+       int score = scores.front().score;
+       std::string track = scores.front().track;
+       int songid = m_songs.lookup(s);
+
+       return m_hiscores.reachedHiscore(score, songid, track);
+}
+
+void Database::queryOverallHiscore(std::ostream & os, std::string const& track) const {
+       std::vector<HiscoreItem> hi = m_hiscores.queryHiscore (10, -1, -1, track);
+       for (size_t i=0; i<hi.size(); ++i) {
+               os << i+1 << ".\t"
+                  << m_players.lookup(hi[i].playerid) << "\t"
+                  << m_songs.lookup(hi[i].songid) << "\t"
+               // << hi[i].track << "\t"
+                  << hi[i].score << "\n";
+       }
+}
+
+void Database::queryPerSongHiscore(std::ostream & os, std::shared_ptr<Song> s, std::string const& track) const {
+       int songid = m_songs.lookup(s);
+       if (songid == -1) return;  // Song not included in database (yet)
+       // Reorder hiscores by track / score
+       std::map<std::string, std::multiset<HiscoreItem>> scoresByTrack;
+       for (HiscoreItem const& hi: m_hiscores.queryHiscore(-1, -1, songid, track)) scoresByTrack[hi.track].insert(hi);
+       for (auto const& hiv: scoresByTrack) {
+               os << hiv.first << ":\n";
+               for (auto const& hi: hiv.second) {
+                       os << "\t" << hi.score << "\t" << m_players.lookup(hi.playerid) << "\n";
+               }
+               os << "\n";
+       }
+}
+
+void Database::queryPerPlayerHiscore(std::ostream & os, std::string const& track) const {
+       int playerid = m_players.lookup(m_players.current().name);
+       std::vector<HiscoreItem> hi = m_hiscores.queryHiscore(3, playerid, -1, track);
+       for (size_t i=0; i<hi.size(); ++i) {
+               os << i+1 << ".\t"
+                  << m_songs.lookup(hi[i].songid) << "\t"
+                  << hi[i].score << "\t"
+                  << "(" << hi[i].track << ")\n";
+       }
+}
+
+bool Database::hasHiscore(Song& s) const {
+       int songid = m_songs.lookup(s);
+       return m_hiscores.hasHiscore(songid);
+}
+
diff --git a/game/database.hh b/game/database.hh
new file mode 100644 (file)
index 0000000..6b04173
--- /dev/null
@@ -0,0 +1,107 @@
+#pragma once
+
+#include "color.hh"
+#include "controllers.hh"
+#include "fs.hh"
+#include "hiscore.hh"
+#include "players.hh"
+#include "songitems.hh"
+#include <string>
+#include <ostream>
+
+struct ScoreItem {
+       int score;
+       input::DevType type;
+       std::string track;  ///< includes difficulty
+       std::string track_simple; ///< no difficulty
+       Color color;
+       bool operator<(ScoreItem const& other) const { return score < other.score; }
+};
+
+/**Access to a database for performous which holds
+  Player-, Hiscore-, Song-, Track- and (in future)
+  Partydata.
+
+  This is a facade for Players, Hiscore and SongItems.
+
+  Will be initialized at the very beginning of
+  the program.
+
+  The current lists (Players and scores) are used
+  to pass the information which players have won
+  to the ScoreScreen and then to the players window.
+ */
+class Database {
+public:
+       /**Will try to load the database.
+         If it does not succeed the error will be ignored.
+         Only some information will be printed on stderr.
+         */
+       Database(fs::path const& filename);
+       /**Will try to save the database.
+         This will even be done if the loading failed.
+         It tries to create the directory above the file.
+         */
+       ~Database();
+
+       /**Loads the whole database from xml.
+         @exception bad_cast may be thrown if xml element is not of correct type
+         @exception xmlpp exceptions may be thrown on any parse errors
+         @exception PlayersException if some conditions of players fail (e.g. no id)
+         @exception HiscoreException if some hiscore conditions fail (e.g. score too high)
+         @exception SongItemsExceptions if some songs conditions fail (e.g. no id)
+         @post filled database
+         */
+       void load();
+       /**Saves the whole database to xml.
+         Will write out everything to the file given in the constructor, @see file()
+       */
+       void save();
+
+       friend class ScreenHiscore;
+       friend class ScreenPlayers;
+       friend class ScreenSing;
+       friend class ScoreWindow;
+       friend class LayoutSinger;
+       friend class NoteGraph;
+       friend class Engine;
+private: // will be bypassed by above friend declaration
+       typedef std::list<Player> cur_players_t;
+       typedef std::list<ScoreItem> cur_scores_t;
+
+       //This fields are misused as additional parameters
+       cur_players_t cur;
+       cur_scores_t scores;
+
+public: // methods for database management
+
+       /**A facade for Players::addPlayer.*/
+       void addPlayer(std::string const& name, std::string const& picture = "", int id = -1);
+       /**A facade for SongItems::addSong.*/
+       void addSong(std::shared_ptr<Song> s);
+       /**A facade for Hiscore::addHiscore.
+        The ids will be looked up first by using the songs and current players data.
+        */
+       void addHiscore(std::shared_ptr<Song> s);
+
+public: // methods for database queries
+       /**A facade for Hiscore::reachedHiscore.
+         Queries if the current player with current score has reached a new hiscore
+         for the song s.
+        */
+       bool reachedHiscore(std::shared_ptr<Song> s) const;
+
+       void queryOverallHiscore(std::ostream & os, std::string const& track = std::string()) const;
+       void queryPerSongHiscore(std::ostream & os, std::shared_ptr<Song> s, std::string const& track = std::string()) const;
+       void queryPerPlayerHiscore(std::ostream & os, std::string const& track = std::string()) const;
+
+       bool hasHiscore(Song& s) const;
+       bool noPlayers() const;
+
+private:
+       fs::path m_filename;
+
+       Players m_players;
+       Hiscore m_hiscores;
+       SongItems m_songs;
+};
diff --git a/game/dialog.cc b/game/dialog.cc
new file mode 100644 (file)
index 0000000..29862bf
--- /dev/null
@@ -0,0 +1,40 @@
+#include "dialog.hh"
+
+Dialog::Dialog(std::string const& text) :
+       m_text(text),
+       m_dialog(findFile("warning.svg")),
+       m_svgText(findFile("dialog_txt.svg"), config["graphic/text_lod"].f())
+       {
+               m_dialog.dimensions.screenTop(-0.1f);
+               m_animationVal.setValue(1);
+               m_state = SLIDEIN;
+       }
+
+void Dialog::draw() {
+       double verticaloffset = 1.0;
+       switch(m_state) {
+       case IDLE:
+               verticaloffset = 0.0;
+               if(m_animationVal.get() == 0) {
+                       m_state = SLIDEOUT;
+                       m_animationVal.setValue(1);
+               }
+               break;
+               case SLIDEIN :
+               verticaloffset = 1.0 - 1.0 * (1.0-m_animationVal.get()); //TODO animate dialog
+               if(m_animationVal.get() == 0) {
+                       m_state = IDLE;
+                       m_animationVal.setValue(6);
+               }
+               break;
+               case SLIDEOUT:
+                       verticaloffset = 1.0 - 1.0 * m_animationVal.get();
+               break;
+       }
+
+
+       m_dialog.dimensions.fixedHeight(0.15).right(0.5).screenTop(-0.10 + 0.11 - verticaloffset);
+       m_dialog.draw();
+       m_svgText.dimensions.right(0.35).screenTop(0.08 - 0.10 + 0.11 - verticaloffset);
+       m_svgText.draw(m_text);
+}
diff --git a/game/dialog.hh b/game/dialog.hh
new file mode 100644 (file)
index 0000000..eb430d5
--- /dev/null
@@ -0,0 +1,24 @@
+#pragma once
+
+#include "configuration.hh"
+#include "fs.hh"
+#include "opengl_text.hh"
+#include "texture.hh"
+#include "animvalue.hh"
+
+/// class for printing dialogues
+class Dialog {
+  public:
+       /// constructor
+       Dialog(std::string const& text);
+       /// draws dialogue
+       void draw();
+
+  private:
+       std::string m_text;
+       Texture m_dialog;
+       SvgTxtTheme m_svgText;
+       AnimValue m_animationVal;
+       enum state {SLIDEIN, IDLE, SLIDEOUT};
+       state m_state;
+};
diff --git a/game/engine.cc b/game/engine.cc
new file mode 100644 (file)
index 0000000..1deeefb
--- /dev/null
@@ -0,0 +1,40 @@
+#include "engine.hh"
+
+#include "audio.hh"
+#include "song.hh"
+#include "database.hh"
+#include "configuration.hh"
+#include <iostream>
+#include <list>
+
+const double Engine::TIMESTEP = 0.01;
+
+Engine::Engine(Audio& audio, VocalTrackPtrs vocals, Database& database):
+  m_audio(audio), m_time(), m_quit(), m_database(database)
+{
+       auto& analyzers = m_audio.analyzers();
+       if (analyzers.size() != vocals.size()) throw std::logic_error("Engine requires the same number of vocal tracks as there are analyzers.");
+       // Clear old player information
+       m_database.cur.clear();
+       m_database.scores.clear();
+       unsigned i = 0;
+       for (Analyzer& a: analyzers) {
+               // Calculate the space required for pitch frames
+               size_t frames = vocals[i]->endTime / Engine::TIMESTEP;
+               m_database.cur.push_back(Player(*vocals[i], a, frames));
+               ++i;
+       }
+       m_thread.reset(new std::thread(std::ref(*this)));
+}
+
+void Engine::operator()() {
+       while (!m_quit) {
+               for (Player& player: m_database.cur) player.prepare();
+               double t = m_audio.getPosition() - config["audio/round-trip"].f();
+               double timeLeft = m_time - t;
+               if (timeLeft != timeLeft || timeLeft > 1.0) timeLeft = 1.0;  // FIXME: Workaround for NaN values and other weirdness (should fix the weirdness instead)
+               if (timeLeft > 0.0) { std::this_thread::sleep_for(std::min(TIMESTEP, timeLeft) * 1s); continue; }
+               for (Player& player: m_database.cur) player.update();
+               m_time += TIMESTEP;
+       }
+}
diff --git a/game/engine.hh b/game/engine.hh
new file mode 100644 (file)
index 0000000..298d264
--- /dev/null
@@ -0,0 +1,33 @@
+#pragma once
+
+#include <atomic>
+#include <memory>
+#include <thread>
+#include <vector>
+
+class Audio;
+class Database;
+class VocalTrack;
+
+/// performous engine
+class Engine {
+       Audio& m_audio;
+       double m_time;
+       std::atomic<bool> m_quit{ false };
+       Database& m_database;
+       std::unique_ptr<std::thread> m_thread;
+
+  public:
+       typedef std::vector<VocalTrack*> VocalTrackPtrs;
+       static const double TIMESTEP;  ///< The duration of one engine time step in seconds
+       /// Construct an engine thread with vocal tracks and players specified by parameters
+       Engine(Audio& audio, VocalTrackPtrs vocals, Database& database);
+       ~Engine() { kill(); }
+       /// Terminates processing
+       void kill() { 
+               m_quit = true;
+               if (m_thread->joinable()) m_thread->join();
+               }
+       /** Used internally for std::thread. Do not call this yourself. (std::thread requires this to be public). **/
+       void operator()();
+};
diff --git a/game/execname.cc b/game/execname.cc
new file mode 100644 (file)
index 0000000..8112a2c
--- /dev/null
@@ -0,0 +1,18 @@
+#include "platform.hh"
+#include "fs.hh"
+
+/// Get the current executable name with path. Returns empty path if the name cannot be found. May return absolute or relative paths.
+
+#if (BOOST_OS_WINDOWS)
+#include "platform/execname.win.inc"
+#elif (BOOST_OS_MACOS)
+#include "platform/execname.mac.inc"
+#elif (BOOST_OS_BSD)
+#include "platform/execname.bsd.inc"
+#elif (BOOST_OS_SOLARIS)
+#include "platform/execname.sun.inc"
+#elif (BOOST_OS_LINUX)
+#include "platform/execname.unix.inc"
+#else
+       return fs::path();
+#endif // BOOST_OS_WINDOWS
\ No newline at end of file
diff --git a/game/fbo.hh b/game/fbo.hh
new file mode 100644 (file)
index 0000000..68bc38f
--- /dev/null
@@ -0,0 +1,69 @@
+#pragma once
+
+#include "texture.hh"
+#include "video_driver.hh"
+
+/// Frame Buffer Object class
+class FBO {
+  public:
+       FBO(const FBO&) = delete;
+       const FBO& operator=(const FBO&) = delete;
+       /// Generate the FBO and attach a fresh texture to it
+       FBO(float w, float h): m_w(w), m_h(h) {
+               // Create FBO
+               if (glIsFramebuffer(m_fbo) != GL_TRUE) glGenFramebuffers(1, &m_fbo);
+               update();
+       }
+       /// Handle clean-up
+       ~FBO() {
+               if (m_fbo) glDeleteFramebuffers(1, &m_fbo);
+       }
+       /// Returns a reference to the attached texture
+       OpenGLTexture<GL_TEXTURE_2D>& getTexture() {
+               return m_texture;
+       }
+       /// Bind the FBO into use
+       void bind() {
+               glBindFramebuffer(GL_FRAMEBUFFER, m_fbo);
+       }
+       /// Unbind any FBO
+       static void unbind() {
+               glBindFramebuffer(GL_FRAMEBUFFER, 0);
+       }
+       void resize(float w, float h) {
+               m_w = w;
+               m_h = h;
+               update();
+       }
+       float width() const { return m_w; }
+       float height() const { return m_h; }
+       void update() {
+               {
+                       UseTexture tex(m_texture);
+                       glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, m_w, m_h, 0, GL_RGBA, GL_FLOAT, nullptr);
+                       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0);
+               }
+               {
+                       UseTexture tex(m_depth);
+                       glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, m_w, m_h, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, nullptr);
+                       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0);        
+               }
+               // Bind texture as COLOR_ATTACHMENT0
+               bind();
+               glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, m_texture.id(), 0);
+               glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, m_depth.id(), 0);
+               unbind();
+       }
+  private:
+       float m_w;
+       float m_h;
+       GLuint m_fbo;
+       OpenGLTexture<GL_TEXTURE_2D> m_texture;
+       OpenGLTexture<GL_TEXTURE_2D> m_depth;
+};
+
+/// RAII FBO binder
+struct UseFBO {
+       UseFBO(FBO& fbo) { fbo.bind(); }
+       ~UseFBO() { FBO::unbind(); }
+};
diff --git a/game/ffmpeg.cc b/game/ffmpeg.cc
new file mode 100644 (file)
index 0000000..ca7f735
--- /dev/null
@@ -0,0 +1,331 @@
+#include "ffmpeg.hh"
+
+#include "chrono.hh"
+#include "config.hh"
+#include "util.hh"
+#include <memory>
+#include <iostream>
+#include <sstream>
+#include <stdexcept>
+#include <system_error>
+#include <thread>
+
+extern "C" {
+#include AVCODEC_INCLUDE
+#include AVFORMAT_INCLUDE
+#include SWSCALE_INCLUDE
+#include SWRESAMPLE_INCLUDE
+#include AVUTIL_INCLUDE
+#include AVUTIL_OPT_INCLUDE
+#include AVUTIL_MATH_INCLUDE
+#include AVUTIL_ERROR_INCLUDE
+}
+
+#if (LIBAVCODEC_VERSION_INT) < (AV_VERSION_INT(52,94,3))
+#      define AV_SAMPLE_FMT_S16 SAMPLE_FMT_S16
+#endif
+
+// Some versions of libav does not contain this definition.
+#ifndef AV_ERROR_MAX_STRING_SIZE
+#      define AV_ERROR_MAX_STRING_SIZE 64
+#endif
+
+#define AUDIO_CHANNELS 2
+
+/*static*/ std::mutex FFmpeg::s_avcodec_mutex;
+
+namespace {
+       std::string ffversion(unsigned ver) {
+               unsigned major = ver >> 16;
+               unsigned minor = (ver >> 8) & 0xFF;
+               unsigned micro = ver & 0xFF;
+               std::ostringstream oss;
+               oss << major << "." << minor << "." << micro << (micro >= 100 ? "(ff)" : "(lav)");
+               return oss.str();
+       }
+}
+
+
+FFmpeg::FFmpeg(fs::path const& _filename, unsigned int rate):
+  m_filename(_filename), m_rate(rate),
+  m_mediaType(rate ? AVMEDIA_TYPE_AUDIO : AVMEDIA_TYPE_VIDEO),
+  m_thread(std::make_unique<std::thread>(std::ref(*this)))
+{
+       static bool versionChecked = false;
+       if (!versionChecked) {
+               versionChecked = true;
+               bool matches =
+                 LIBAVUTIL_VERSION_INT == avutil_version() &&
+                 LIBAVCODEC_VERSION_INT == avcodec_version() &&
+                 LIBAVFORMAT_VERSION_INT == avformat_version() &&
+                 LIBSWSCALE_VERSION_INT == swscale_version();
+               if (matches) {
+                       std::clog << "ffmpeg/info: "
+                         " avutil:" + ffversion(LIBAVUTIL_VERSION_INT) +
+                         " avcodec:" + ffversion(LIBAVCODEC_VERSION_INT) +
+                         " avformat:" + ffversion(LIBAVFORMAT_VERSION_INT) +
+                         " swresample:" + ffversion(LIBSWRESAMPLE_VERSION_INT) +
+                         " swscale:" + ffversion(LIBSWSCALE_VERSION_INT)
+                         << std::endl;
+               } else {
+                       std::clog << "ffmpeg/error: header/lib version mismatch:"
+                         " avutil:" + ffversion(LIBAVUTIL_VERSION_INT) + "/" + ffversion(avutil_version()) +
+                         " avcodec:" + ffversion(LIBAVCODEC_VERSION_INT) + "/" + ffversion(avcodec_version()) +
+                         " avformat:" + ffversion(LIBAVFORMAT_VERSION_INT) + "/" + ffversion(avformat_version()) +
+                         " swresample:" + ffversion(LIBSWRESAMPLE_VERSION_INT) + "/" + ffversion(swresample_version()) +
+                         " swscale:" + ffversion(LIBSWSCALE_VERSION_INT) + "/" + ffversion(swscale_version())
+                         << std::endl;
+               }
+       }
+}
+
+FFmpeg::~FFmpeg() {
+       m_quit.set_value();
+       videoQueue.reset();
+       audioQueue.quit();
+       m_thread->join();
+}
+
+void FFmpeg::open() {
+       std::lock_guard<std::mutex> l(s_avcodec_mutex);
+#if    (LIBAVFORMAT_VERSION_INT) < (AV_VERSION_INT(58,0,0))
+       av_register_all();
+#endif
+       av_log_set_level(AV_LOG_ERROR);
+       if (avformat_open_input(&m_formatContext, m_filename.string().c_str(), nullptr, nullptr)) throw std::runtime_error("Cannot open input file");
+       if (avformat_find_stream_info(m_formatContext, nullptr) < 0) throw std::runtime_error("Cannot find stream information");
+       m_formatContext->flags |= AVFMT_FLAG_GENPTS;
+       // Find a track and open the codec
+       AVCodec* codec = nullptr;
+       m_streamId = av_find_best_stream(m_formatContext, (AVMediaType)m_mediaType, -1, -1, &codec, 0);
+       if (m_streamId < 0) throw std::runtime_error("No suitable track found");
+
+#if (LIBAVCODEC_VERSION_INT) >= (AV_VERSION_INT(57,0,0))
+       AVCodec* pCodec = avcodec_find_decoder(m_formatContext->streams[m_streamId]->codecpar->codec_id);
+       AVCodecContext* pCodecCtx = avcodec_alloc_context3(pCodec);
+       avcodec_parameters_to_context(pCodecCtx, m_formatContext->streams[m_streamId]->codecpar);
+       if (avcodec_open2(pCodecCtx, pCodec, nullptr) < 0) throw std::runtime_error("Cannot open codec");
+       pCodecCtx->workaround_bugs = FF_BUG_AUTODETECT;
+       m_codecContext = pCodecCtx;
+#else
+       AVCodecContext* cc = m_formatContext->streams[m_streamId]->codec;
+       if (avcodec_open2(cc, codec, nullptr) < 0) throw std::runtime_error("Cannot open codec");
+       cc->workaround_bugs = FF_BUG_AUTODETECT;
+       m_codecContext = cc;
+#endif
+
+       switch (m_mediaType) {
+       case AVMEDIA_TYPE_AUDIO:
+               m_resampleContext = swr_alloc();
+               av_opt_set_int(m_resampleContext, "in_channel_layout", m_codecContext->channel_layout ? m_codecContext->channel_layout : av_get_default_channel_layout(m_codecContext->channels), 0);
+               av_opt_set_int(m_resampleContext, "out_channel_layout", av_get_default_channel_layout(AUDIO_CHANNELS), 0);
+               av_opt_set_int(m_resampleContext, "in_sample_rate", m_codecContext->sample_rate, 0);
+               av_opt_set_int(m_resampleContext, "out_sample_rate", m_rate, 0);
+               av_opt_set_int(m_resampleContext, "in_sample_fmt", m_codecContext->sample_fmt, 0);
+               av_opt_set_int(m_resampleContext, "out_sample_fmt", AV_SAMPLE_FMT_S16, 0);
+               swr_init(m_resampleContext);
+               if (!m_resampleContext) throw std::runtime_error("Cannot create resampling context");
+               audioQueue.setSamplesPerSecond(AUDIO_CHANNELS * m_rate);
+               break;
+       case AVMEDIA_TYPE_VIDEO:
+               // Setup software scaling context for YUV to RGB conversion
+               width = m_codecContext->width;
+               height = m_codecContext->height;
+               m_swsContext = sws_getContext(
+                 m_codecContext->width, m_codecContext->height, m_codecContext->pix_fmt,
+                 width, height, AV_PIX_FMT_RGB24,
+                 SWS_POINT, nullptr, nullptr, nullptr);
+               break;
+       default:  // Should never be reached but avoids compile warnings
+               abort();
+       }
+}
+
+void FFmpeg::operator()() {
+       try { open(); } catch (std::exception const& e) { std::clog << "ffmpeg/error: Failed to open " << m_filename << ": " << e.what() << std::endl; return; }
+       m_duration = m_formatContext->duration / double(AV_TIME_BASE);
+       audioQueue.setDuration(m_duration);
+       int errors = 0;
+       bool eof = false;
+       std::clog << "audio/debug: FFmpeg processing " << m_filename.filename().string() << std::endl;
+       while (!terminating()) {
+               if (eof) break;
+               try {
+                       if (audioQueue.wantSeek()) m_seekTarget = 0.0;
+                       if (m_seekTarget == m_seekTarget) seek_internal();
+                       decodePacket();
+                       errors = 0;
+               } catch (eof_error&) {
+                       videoQueue.push(Bitmap()); // EOF marker
+                       eof = true;
+                       std::clog << "ffmpeg/debug: done loading " << m_filename << std::endl;
+               } catch (std::exception& e) {
+                       std::clog << "ffmpeg/error: " << m_filename << ": " << e.what() << std::endl;
+                       if (++errors > 2) { std::clog << "ffmpeg/error: FFMPEG terminating due to multiple errors" << std::endl; break; }
+               }
+       }
+       m_quit_future.wait();  // Wait until we are requested to quit before clearing queues
+       audioQueue.reset();
+       videoQueue.reset();
+       // TODO: use RAII for freeing resources (to prevent memory leaks)
+       std::lock_guard<std::mutex> l(s_avcodec_mutex); // avcodec_close is not thread-safe
+       if (m_resampleContext) swr_close(m_resampleContext);
+       if (m_codecContext) avcodec_close(m_codecContext);
+#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 17, 0)
+       if (m_formatContext) avformat_close_input(&m_formatContext);
+#else
+       if (m_formatContext) av_close_input_file(m_formatContext);
+#endif
+}
+
+void FFmpeg::seek(double time, bool wait) {
+       m_seekTarget = time;
+       videoQueue.reset(); audioQueue.reset(); // Empty these to unblock the internals in case buffers were full
+       if (wait) while (!terminating() && m_seekTarget == m_seekTarget) std::this_thread::sleep_for(5ms);
+}
+
+void FFmpeg::seek_internal() {
+       videoQueue.reset();
+       audioQueue.reset();
+       int flags = 0;
+       if (m_seekTarget < m_position) flags |= AVSEEK_FLAG_BACKWARD;
+       av_seek_frame(m_formatContext, -1, m_seekTarget * AV_TIME_BASE, flags);
+       m_seekTarget = getNaN(); // Signal that seeking is done
+}
+
+class FfmpegError: public std::runtime_error {
+public:
+       FfmpegError(int errorValue): runtime_error(msgFmt(errorValue)) {}
+private:
+       static std::string msgFmt(int errorValue) {
+               char message[AV_ERROR_MAX_STRING_SIZE];
+               av_strerror(errorValue, message, AV_ERROR_MAX_STRING_SIZE);
+               std::ostringstream oss;
+               oss << "FfmpegError: code=" << errorValue << ", error=" << message;
+               return oss.str();
+       }
+};
+
+void FFmpeg::decodePacket() {
+#if LIBAVCODEC_VERSION_INT >= (AV_VERSION_INT(57, 37, 0))
+       AVPacket pkt;
+       while (true) {
+               // FIXME: we might want to take a look at m_quit.
+               int ret = av_read_frame(m_formatContext, &pkt);
+               if(ret == AVERROR_EOF) {
+                       // End of file: no more data to read.
+                       throw FFmpeg::eof_error();
+               } else if(ret < 0) {
+                       throw FfmpegError(ret);
+               }
+               if (terminating() || m_seekTarget == m_seekTarget) return; // something weird required
+               if (pkt.stream_index != m_streamId) return; // wrong stream
+               ret = avcodec_send_packet(m_codecContext, &pkt);
+               if(ret == AVERROR_EOF) {
+                       // End of file: no more data to read.
+                       throw FFmpeg::eof_error();
+               } else if(ret == AVERROR(EAGAIN)) {
+                       // not enough data for decoder, read more
+                       continue;
+               } else if(ret < 0) {
+                       throw FfmpegError(ret);
+               }
+               while (ret >= 0) {
+                       std::shared_ptr<AVFrame> frame(av_frame_alloc(), [](AVFrame* ptr) { av_frame_free(&ptr); });
+                       ret = avcodec_receive_frame(m_codecContext, frame.get());
+                       if(ret == AVERROR_EOF) {
+                               // End of file: no more data.
+                               throw FFmpeg::eof_error();
+                       } else if(ret == AVERROR(EAGAIN)) {
+                               // not enough data to decode a frame, go read more and feed more to the decoder
+                               break;
+                       } else if(ret < 0) {
+                               throw FfmpegError(ret);
+                       }
+                       // frame is available here
+                       if (frame->pts != int64_t(AV_NOPTS_VALUE)) {
+                               m_position = double(frame->pts) * av_q2d(m_formatContext->streams[m_streamId]->time_base);
+                               if (m_formatContext->start_time != int64_t(AV_NOPTS_VALUE))
+                                       m_position -= double(m_formatContext->start_time) / AV_TIME_BASE;
+                       }
+                       if (m_mediaType == AVMEDIA_TYPE_VIDEO) processVideo(frame.get()); else processAudio(frame.get());
+                       //av_frame_free(&frame);
+               }
+               av_packet_unref(&pkt);
+       }
+       return;
+#else
+       struct ReadFramePacket: public AVPacket {
+               AVFormatContext* m_s;
+               ReadFramePacket(AVFormatContext* s): m_s(s) {
+                       if (av_read_frame(s, this) < 0) throw FFmpeg::eof_error();
+               }
+#if LIBAVCODEC_VERSION_INT > (AV_VERSION_INT(55, 0, 0))
+               ~ReadFramePacket() { av_packet_unref(this); } //YES THEY DID IT AGAIN
+#else
+               ~ReadFramePacket() { av_free_packet(this); }
+#endif
+       };
+
+       // Read an AVPacket and decode it into AVFrames
+       ReadFramePacket packet(m_formatContext);
+       int packetSize = packet.size;
+       while (packetSize) {
+               if (packetSize < 0) throw std::logic_error("negative packet size?!");
+               if (terminating() || m_seekTarget == m_seekTarget) return;
+               if (packet.stream_index != m_streamId) return;
+#if (LIBAVCODEC_VERSION_INT) < (AV_VERSION_INT(55,0,0))
+               std::shared_ptr<AVFrame> frame(avcodec_alloc_frame(), &av_free);
+#else
+               std::shared_ptr<AVFrame> frame(av_frame_alloc(), [](AVFrame* ptr) { av_frame_free(&ptr); });
+#endif
+               int frameFinished = 0;
+               int decodeSize = (m_mediaType == AVMEDIA_TYPE_VIDEO ?
+                 avcodec_decode_video2(m_codecContext, frame.get(), &frameFinished, &packet) :
+                 avcodec_decode_audio4(m_codecContext, frame.get(), &frameFinished, &packet));
+               if (decodeSize < 0) return; // Packet didn't produce any output (could be waiting for B frames or something)
+               packetSize -= decodeSize; // Move forward within the packet
+               if (!frameFinished) continue;
+               // Update current position if timecode is available
+               if (frame->pkt_pts != int64_t(AV_NOPTS_VALUE)) {
+                       m_position = double(frame->pkt_pts) * av_q2d(m_formatContext->streams[m_streamId]->time_base);
+                       if (m_formatContext->start_time != int64_t(AV_NOPTS_VALUE))
+                               m_position -= double(m_formatContext->start_time) / AV_TIME_BASE;
+               }
+               if (m_mediaType == AVMEDIA_TYPE_VIDEO) processVideo(frame.get()); else processAudio(frame.get());
+       }
+#endif
+}
+
+void FFmpeg::processVideo(AVFrame* frame) {
+       // Convert into RGB and scale the data
+       int w = (m_codecContext->width+15)&~15;
+       int h = m_codecContext->height;
+       Bitmap f;
+       f.timestamp = m_position;
+       f.fmt = pix::RGB;
+       f.resize(w, h);
+       {
+               uint8_t* data = f.data();
+               int linesize = w * 3;
+               sws_scale(m_swsContext, frame->data, frame->linesize, 0, h, &data, &linesize);
+       }
+       videoQueue.push(std::move(f));  // Takes ownership and may block until there is space
+}
+
+void FFmpeg::processAudio(AVFrame* frame) {
+       // resample to output
+       int16_t *output;
+       int out_linesize;
+       int out_samples = swr_get_out_samples(m_resampleContext, frame->nb_samples);
+       av_samples_alloc((uint8_t**)&output, &out_linesize, AUDIO_CHANNELS, out_samples,
+               AV_SAMPLE_FMT_S16, 0);
+       out_samples = swr_convert(m_resampleContext, (uint8_t**)&output, out_samples,
+               (const uint8_t**)&frame->data[0], frame->nb_samples);
+       // The output is now an interleaved array of 16-bit samples
+       std::vector<int16_t> m_output(output, output+out_samples*AUDIO_CHANNELS);
+       audioQueue.push(m_output,m_position);
+       av_freep(&output);
+       m_position += double(out_samples)/m_rate;
+}
+
diff --git a/game/ffmpeg.hh b/game/ffmpeg.hh
new file mode 100644 (file)
index 0000000..78edc0f
--- /dev/null
@@ -0,0 +1,211 @@
+#pragma once
+
+#include "chrono.hh"
+#include "texture.hh"
+#include "util.hh"
+#include "libda/sample.hpp"
+#include <boost/circular_buffer.hpp>
+#include <atomic>
+#include <condition_variable>
+#include <cstdint>
+#include <future>
+#include <deque>
+#include <iostream>
+#include <memory>
+#include <mutex>
+#include <thread>
+#include <vector>
+
+/// single audio frame
+struct AudioFrame {
+       /// timestamp of audio frame
+       double timestamp;
+       /// audio data
+       std::vector<std::int16_t> data;
+       /// constructor
+       template <typename InIt> AudioFrame(double ts, InIt begin, InIt end): timestamp(ts), data(begin, end) {}
+       AudioFrame(): timestamp(getInf()) {} // EOF marker
+};
+
+/// Video queue
+class VideoFifo {
+  public:
+       VideoFifo(): m_timestamp(), m_eof() {}
+       /// trys to pop a video frame from queue
+       bool tryPop(Bitmap& f) {
+               std::unique_lock<std::mutex> l(m_mutex);
+               if (m_queue.empty()) return false; // Nothing to deliver
+               if (m_queue.front().buf.empty()) { m_eof = true; return false; }
+               f = std::move(m_queue.front());
+               m_queue.pop_front();
+               m_cond.notify_all();
+               m_timestamp = f.timestamp;
+               return true;
+       }
+       /// Add frame to queue
+       void push(Bitmap&& f) {
+               std::unique_lock<std::mutex> l(m_mutex);
+               m_cond.wait(l, [this]{ return m_queue.size() < m_max; });
+               if (m_queue.empty()) m_timestamp = f.timestamp;
+               m_queue.emplace_back(std::move(f));
+       }
+       /// Clear and unlock the queue
+       void reset() {
+               std::unique_lock<std::mutex> l(m_mutex);
+               m_queue.clear();
+               m_cond.notify_all();
+               m_eof = false;
+       }
+       /// Returns the current position (seconds)
+       double position() const { return m_timestamp; }
+       /// Tests if EOF has already been reached
+       double eof() const { return m_eof; }
+
+  private:
+       std::deque<Bitmap> m_queue;
+       mutable std::mutex m_mutex;
+       std::condition_variable m_cond;
+       double m_timestamp;
+       bool m_eof;
+       static const unsigned m_max = 20;
+};
+
+class AudioBuffer {
+       typedef std::recursive_mutex mutex;
+  public:
+       AudioBuffer(size_t size = 1000000): m_data(size) {}
+       /// Reset from FFMPEG side (seeking to beginning or terminate stream)
+       void reset() {
+               {
+                       std::unique_lock<mutex> l(m_mutex);
+                       m_data.clear();
+                       m_pos = 0;
+               }
+               m_cond.notify_one();
+       }
+       void quit() {
+               m_quit.store(true);
+               m_cond.notify_one();
+       }
+       /// set samples per second
+       void setSamplesPerSecond(unsigned sps) { m_sps = sps; }
+       /// get samples per second
+       unsigned getSamplesPerSecond() const { return m_sps; }
+       void push(std::vector<std::int16_t> const& data, double timestamp) {
+               std::unique_lock<mutex> l(m_mutex);
+               m_cond.wait(l, [this]{ return condition(); });
+               if (m_quit) return;
+               if (timestamp < 0.0) {
+                       std::clog << "ffmpeg/warning: Negative audio timestamp " << timestamp << " seconds, frame ignored." << std::endl;
+                       return;
+               }
+               // Insert silence at the beginning if the stream starts later than 0.0
+               if (m_pos == 0 && timestamp > 0.0) {
+                       m_pos = timestamp * m_sps;
+                       m_data.resize(m_pos, 0);
+               }
+               m_data.insert(m_data.end(), data.begin(), data.end());
+               m_pos += data.size();
+       }
+       bool prepare(std::int64_t pos) {
+               std::unique_lock<mutex> l(m_mutex, std::try_to_lock);
+               if (!l.owns_lock()) return false;  // Didn't get lock, give up for now
+               if (eof(pos)) return true;
+               if (pos < 0) pos = 0;
+               m_posReq = pos;
+               wakeups();
+               // Has enough been prebuffered already and is the requested position still within buffer
+               return m_pos > m_posReq + m_data.capacity() / 16 && m_pos <= m_posReq + m_data.size();
+       }
+       bool operator()(float* begin, float* end, std::int64_t pos, float volume = 1.0f) {
+               std::unique_lock<mutex> l(m_mutex);
+               size_t idx = pos + m_data.size() - m_pos;
+               size_t samples = end - begin;
+               for (size_t s = 0; s < samples; ++s, ++idx) {
+                       if (idx < m_data.size()) begin[s] += volume * da::conv_from_s16(m_data[idx]);
+               }
+               m_posReq = std::max<std::int64_t>(0, pos + samples);
+               wakeups();
+               return !eof(pos);
+       }
+       bool eof(std::int64_t pos) const { return double(pos) / m_sps >= m_duration; }
+       void setEof() { m_duration = double(m_pos) / m_sps; }
+       double duration() const { return m_duration; }
+       void setDuration(double seconds) { m_duration = seconds; }
+       bool wantSeek() {
+               // Are we already past the requested position? (need to seek backward or back to beginning)
+               return m_posReq > 0 && m_posReq + m_sps * 2 /* seconds tolerance */ + m_data.size() < m_pos;
+       }
+  private:
+       /// Handle waking up of input thread etc. whenever m_posReq is changed.
+       void wakeups() {
+               if (wantSeek()) reset();
+               else if (condition()) m_cond.notify_one();
+       }
+       bool wantMore() { return m_pos < m_posReq + m_data.capacity() / 2; }
+       /// Should the input stop waiting?
+       bool condition() { return m_quit.load() || wantMore() || wantSeek(); }
+       mutable mutex m_mutex;
+       std::condition_variable_any m_cond;
+       boost::circular_buffer<std::int16_t> m_data;
+       size_t m_pos = 0;
+       std::int64_t m_posReq = 0;
+       unsigned m_sps = 0;
+       double m_duration = getNaN();
+       std::atomic<bool> m_quit{ false };
+};
+
+// ffmpeg forward declarations
+extern "C" {
+  struct AVCodecContext;
+  struct AVFormatContext;
+  struct AVFrame;
+  struct SwrContext;
+  struct SwsContext;
+}
+
+/// ffmpeg class
+class FFmpeg {
+  public:
+       /// Decode file; if no rate is specified, decode video, otherwise decode audio.
+       FFmpeg(fs::path const& file, unsigned int rate = 0);
+       ~FFmpeg();
+       void operator()(); ///< Thread runs here, don't call directly
+       unsigned width = 0; ///< width of video
+       unsigned height = 0; ///< height of video
+       /// queue for video
+       VideoFifo  videoQueue;
+       /// queue for audio
+       AudioBuffer  audioQueue;
+       /** Seek to the chosen time. Will block until the seek is done, if wait is true. **/
+       void seek(double time, bool wait = true);
+       /// duration
+       double duration() const;
+       bool terminating() { return m_quit_future.wait_for(0s) == std::future_status::ready; }
+
+       class eof_error: public std::exception {};
+  private:
+       void seek_internal();
+       void open();
+       void decodePacket();
+       void processVideo(AVFrame* frame);
+       void processAudio(AVFrame* frame);
+       fs::path m_filename;
+       unsigned int m_rate = 0;
+       std::promise<void> m_quit;
+       std::future<void> m_quit_future = m_quit.get_future();
+       std::atomic<double> m_seekTarget{ getNaN() };
+       double m_position = 0.0;
+       double m_duration = 0.0;
+       // libav-specific variables
+       int m_streamId = -1;
+       int m_mediaType;  // enum AVMediaType
+       AVFormatContext* m_formatContext = nullptr;
+       AVCodecContext* m_codecContext = nullptr;
+       SwrContext* m_resampleContext = nullptr;
+       SwsContext* m_swsContext = nullptr;
+       // Make sure the thread starts only after initializing everything else
+       std::unique_ptr<std::thread> m_thread;
+       static std::mutex s_avcodec_mutex; // Used for avcodec_open/close (which use some static crap and are thus not thread-safe)
+};
+
diff --git a/game/fs.cc b/game/fs.cc
new file mode 100644 (file)
index 0000000..2e7d345
--- /dev/null
@@ -0,0 +1,202 @@
+#include "fs.hh"
+
+#include "config.hh"
+#include "configuration.hh"
+#include "platform.hh"
+#include <boost/algorithm/string/replace.hpp>
+#include <boost/filesystem.hpp>
+#include <boost/range.hpp>
+#include <algorithm>
+#include <cstdlib>
+#include <mutex>
+#include <set>
+#include <sstream>
+
+#if (BOOST_OS_WINDOWS)
+#include <windows.h>
+#include <shlobj.h>
+#endif
+
+namespace {
+       /// Test if a path begins with name and if so, remove that element and return true
+       /// Mostly a workaround for fs::path's crippled API that makes this operation difficult
+       bool pathRootHack(fs::path& p, std::string const& name) {
+               if (p.empty() || p.begin()->string() != name) return false;
+               fs::path ret;
+               // Add all but first element
+               for (auto dir = ++p.begin(); dir != p.end(); ++dir)
+                       ret /= *dir;
+               p = ret;
+               return true;
+       }
+
+       const fs::path performous = "performous";
+       const fs::path configSchema = "config/schema.xml";      
+
+       struct PathCache {
+               Paths paths;
+               bool didMigrateConfig = false;
+               fs::path base, share, locale, sysConf, home, conf, data, cache;
+               /// Expand a path specifier as a list of actual paths. Expands ~ (home) and DATADIR (Performous search path).
+       Paths pathExpand(fs::path p) {
+                       Paths ret;
+                       if (pathRootHack(p, "~")) ret.push_back(home / p);
+                       else if (pathRootHack(p, "DATADIR")) {
+                               // Add all data paths with p appended to them
+                               for (auto const& path: paths) ret.push_back(path / p);
+                       }
+                       else ret.push_back(p);
+                       return ret;
+               }
+               // Note: three-phase init:
+               // 1. Default constructor runs in static context (before main) and cannot do much
+               // 2. pathBootstrap is called to find out static system paths (critical for logging and for loading config files)
+               // 3. pathInit is called to process the full search path, using config settings
+               
+       #if (BOOST_OS_WINDOWS)
+       #include "platform/fs_paths.win.inc"
+       #else
+       #include "platform/fs_paths.unix.inc"
+       #endif
+       } cache;
+
+       std::mutex mutex;
+       using Lock = std::lock_guard<std::mutex>;
+}
+
+void copyDirectoryRecursively(const fs::path& sourceDir, const fs::path& destinationDir)
+{
+       if (!fs::exists(sourceDir) || !fs::is_directory(sourceDir)) {
+               throw std::runtime_error("Source directory " + sourceDir.string() + " does not exist or is not a directory");
+       }
+       if (!fs::create_directory(destinationDir) && !fs::exists(destinationDir)) {
+               throw std::runtime_error("Cannot create destination directory " + destinationDir.string());
+       }
+#if ((BOOST_VERSION / 100 % 1000) >= 55)
+       for (const auto& dirEnt : fs::recursive_directory_iterator{sourceDir})
+#else
+       for (fs::recursive_directory_iterator dirEnt(sourceDir); dirEnt !=fs::recursive_directory_iterator(); ++dirEnt)
+#endif
+       {
+#if ((BOOST_VERSION / 100 % 1000) >= 55)
+               const auto& path = dirEnt.path();
+#else
+               const auto& path = dirEnt->path();
+#endif
+               auto relativePathStr = path.string();
+               boost::algorithm::replace_first(relativePathStr, sourceDir.string(), "");
+               try { 
+                       if (!fs::is_directory(path)) { fs::copy_file(path, destinationDir / relativePathStr); }
+                       else { fs::copy_directory(path, destinationDir / relativePathStr); }
+               } catch (...) {
+                       throw std::runtime_error("Cannot copy file " + path.string() + ", because it already exists in the destination folder.");
+               }
+       }
+}
+
+void pathBootstrap() { Lock l(mutex); cache.pathBootstrap(); }
+void pathInit() { Lock l(mutex); cache.pathInit(); }
+fs::path getLogFilename() { Lock l(mutex); return cache.cache / "infolog.txt"; }
+fs::path getSchemaFilename() { Lock l(mutex); return cache.share / configSchema; }
+fs::path getHomeDir() { Lock l(mutex); return cache.home; }
+fs::path getShareDir() { Lock l(mutex); return cache.share; }
+fs::path getLocaleDir() { Lock l(mutex); return cache.locale; }
+fs::path getConfigDir() { Lock l(mutex); return cache.conf; }
+fs::path getSysConfigDir() { Lock l(mutex); return cache.sysConf; }
+fs::path getDataDir() { Lock l(mutex); return cache.data; }
+fs::path getCacheDir() { Lock l(mutex); return cache.cache; }
+Paths const& getPaths() { Lock l(mutex); return cache.paths; }
+
+Paths getThemePaths() {
+       const fs::path themes = "themes";
+       const fs::path def = "default";
+       const fs::path www = "www";
+       const fs::path js = "js";
+       const fs::path css = "css";
+       const fs::path images = "images";
+       const fs::path fonts = "fonts";
+
+       std::string theme = config["game/theme"].getEnumName();
+       Paths paths = getPaths();
+       Paths infixes = { 
+                                         themes / theme,
+                                         themes / theme / www,
+                                         themes / theme / www / js,
+                                         themes / theme / www / css,
+                                         themes / theme / www / images,
+                                         themes / theme / www / fonts,
+
+                                         themes / def,
+                                         themes / def / www,                                     
+                                         themes / def / www / js,
+                                         themes / def / www / css,                               
+                                         themes / def / www / images,                    
+                                         themes / def / www / fonts,
+                                         fs::path() };
+       if (!theme.empty() && theme != def) infixes.push_front(themes / theme);
+       // Build combinations of paths and infixes
+       Paths themePaths;
+       for (fs::path const& infix: infixes) {
+               for (fs::path p: paths) {
+                       p /= infix;
+                       if (fs::is_directory(p)) themePaths.push_back(p);
+               }
+       }
+       return themePaths;
+}
+
+fs::path findFile(fs::path const& filename) {
+       if (filename.empty()) throw std::logic_error("findFile expects a filename.");
+       if (filename.is_absolute()) throw std::logic_error("findFile expects a filename without path.");
+       Paths list;
+       for (fs::path p: getThemePaths()) {
+               p /= filename;
+               list.push_back(p);
+               if (fs::exists(p)) return p.string();
+       }
+       std::string logmsg = "fs/error: Unable to locate data file, tried:\n";
+       for (auto const& p: list) logmsg += "  " + p.string() + '\n';
+       std::clog << logmsg << std::flush;
+       throw std::runtime_error("Cannot find file \"" + filename.string() + "\" in Performous theme or data folders");
+}
+
+Paths listFiles(fs::path const& dir) {
+       if (dir.is_absolute()) throw std::logic_error("listFiles expects a folder name without path.");
+       std::set<fs::path> found;  // Filenames already found
+       Paths files;  // Full paths of files found
+       for (fs::path path: getThemePaths()) {
+               fs::path subdir = path / dir;
+               if (!fs::is_directory(subdir))
+                       continue;
+               for (fs::recursive_directory_iterator dirIt(subdir), dirEnd; dirIt != dirEnd; ++dirIt) {
+                       fs::path name = dirIt->path().filename();  // FIXME: Extract full path from current folder, not just the filename
+                       // If successfully inserted to "found", it wasn't found before, so add to paths.
+                       if (found.insert(name).second) files.push_back(*dirIt);
+               }
+       }
+       return files;
+}
+
+std::list<std::string> getThemes() {
+       std::set<std::string> themes;
+       // Search all paths for themes folders and add them
+       for (auto p: getPaths()) {
+               p /= "themes";
+               if (!fs::is_directory(p)) continue;
+               // Gather the themes in this folder
+               for (fs::directory_iterator dirIt(p), dirEnd; dirIt != dirEnd; ++dirIt) {
+                       fs::path p2 = dirIt->path();
+                       if (fs::is_directory(p2)) themes.insert(p2.filename().string());
+               }
+       }
+       return std::list<std::string>(themes.begin(), themes.end());
+}
+
+Paths getPathsConfig(std::string const& confOption) {
+       Lock l(mutex);
+       Paths ret;
+       for (auto const& str: config[confOption].sl()) {
+               ret.splice(ret.end(), cache.pathExpand(str));  // Add expanded paths to ret.
+       }
+       return ret;
+}
diff --git a/game/fs.hh b/game/fs.hh
new file mode 100644 (file)
index 0000000..49fd95d
--- /dev/null
@@ -0,0 +1,50 @@
+#pragma once
+
+#include <boost/filesystem/path.hpp>
+#include <list>
+
+namespace fs = boost::filesystem;
+
+std::list<std::string> getThemes();  ///< Find all theme folders and return theme names.
+
+/// Recursively copies a folder, throws on error.
+void copyDirectoryRecursively(const fs::path& sourceDir, const fs::path& destinationDir);
+
+/// Determine where the important system paths and most importantly the config schema are. Must be run before any of the functions below.
+void pathBootstrap();
+
+/// Do full data dir (search path) init or re-init after config options have been modified.
+/// - Full search path and themes will only be available after this.
+/// - Logging and config must be running before pathInit (pathInit is first called from configuration.cc).
+void pathInit();
+
+/// Test if a path begins with name and if so, remove that element and return true
+/// Mostly a workaround for fs::path's crippled API that makes this operation difficult
+bool pathRootHack(fs::path& p, std::string const& name);
+
+fs::path execname(); ///< Get the path and filename of the main executable.
+fs::path getLogFilename();  ///< Get the log filename.
+fs::path getSchemaFilename();  ///< Get the config schema filename.
+fs::path getHomeDir();  ///< Get user's home folder.
+fs::path getConfigDir();  ///< Get user-writable Performous config folder.
+fs::path getSysConfigDir();  ///< Get root-writable Performous config folder.
+fs::path getDataDir();  ///< Get user-writable Performous data folder.
+fs::path getCacheDir();  ///< Get user-writable temporary folder.
+fs::path getShareDir();  ///< Get Performous system-level data folder.
+fs::path getLocaleDir();  ///< Get the system local folder.
+
+typedef std::list<fs::path> Paths;
+
+struct pathCache {
+       Paths pathExpand(fs::path p);
+       void pathBootstrap();
+       void pathInit();
+};
+
+fs::path findFile(fs::path const& filename);  ///< Look for the specified file in theme and data folders.
+Paths listFiles(fs::path const& dir);  ///< List contents of specified folder in theme and data folders (omit duplicates).
+
+Paths const& getPaths();  ///< Get the data file search path
+Paths getThemePaths();  ///< Get the data/theme file search path (includes current and default themes in addition to data folders)
+Paths getPathsConfig(std::string const& confOption);  ///< Return expanded list of paths specified by a path config option
+
diff --git a/game/game.cc b/game/game.cc
new file mode 100644 (file)
index 0000000..0bb1c29
--- /dev/null
@@ -0,0 +1,158 @@
+#include "audio.hh"
+#include "screen.hh"
+#include "fs.hh"
+#include "configuration.hh"
+#include "glutil.hh"
+#include "util.hh"
+
+#include <thread>
+#include <stdexcept>
+#include <cstdlib>
+
+template<> Game* Singleton<Game>::ms_Singleton = nullptr;
+
+Game::Game(Window& _window, Audio& _audio):
+  m_audio(_audio), m_window(_window), m_finished(false), newScreen(), currentScreen(), currentPlaylist(),
+  m_timeToFadeIn(), m_timeToFadeOut(), m_timeToShow(), m_message(),
+  m_messagePopup(0.0, 1.0), m_textMessage(findFile("message_text.svg"), config["graphic/text_lod"].f()),
+  m_loadingProgress(0.0f), m_logo(findFile("logo.svg")), m_logoAnim(0.0, 0.5)
+{
+       m_textMessage.dimensions.middle().center(-0.05);
+}
+
+void Game::activateScreen(std::string const& name) {
+       newScreen = getScreen(name);
+}
+
+void Game::updateScreen() {
+       if (!newScreen) return;
+       Screen* s = newScreen;  // A local copy in case exit() or enter() want to change screens again
+       newScreen = nullptr;
+       if (currentScreen) currentScreen->exit();
+       currentScreen = nullptr;  // Exception safety, do not remove
+       s->enter();
+       currentScreen = s;
+}
+
+Screen* Game::getScreen(std::string const& name) {
+       auto it = screens.find(name);
+       if (it != screens.end()){
+               return it->second.get();
+       }
+       throw std::invalid_argument("Screen " + name + " does not exist");
+}
+
+void Game::prepareScreen() {
+       getCurrentScreen()->prepare();
+}
+
+void Game::drawScreen() {
+       getCurrentScreen()->draw();
+       drawLogo();
+       drawNotifications();
+}
+
+void Game::loading(std::string const& message, float progress) {
+       // TODO: Create a better one, this is quite ugly
+       flashMessage(message + " " + std::to_string(int(round(progress*100))) + "%", 0.0f, 0.5f, 0.2f);
+       m_loadingProgress = progress;
+       m_window.blank();
+       m_window.render([this] { drawLoading(); });
+       m_window.swap();
+}
+
+void Game::drawLoading() {
+       drawLogo();
+       drawNotifications();
+       const int maxi = 20;
+       const double x = 0.3;
+       const double spacing = 0.01;
+       const double sq_size = (2*x - (maxi-1)*spacing) / maxi;
+       for (int i = 0; i <= m_loadingProgress * maxi; ++i) {
+               ColorTrans c(Color(0.2, 0.7, 0.7, (m_loadingProgress + 1.0)*0.5));
+               UseShader shader(getShader("color"));
+               float cx = -x + i * (sq_size + spacing);
+               float cy = 0;
+               float r = sq_size/2;
+               glutil::VertexArray va;
+               va.vertex(cx - r, cy + r);
+               va.vertex(cx + r, cy + r);
+               va.vertex(cx - r, cy - r);
+               va.vertex(cx + r, cy - r);
+               va.draw(GL_TRIANGLE_STRIP);
+       }
+}
+
+void Game::fatalError(std::string const& message) {
+       dialog("FATAL ERROR\n\n" + message);
+       m_window.blank();
+       m_window.render([this] { drawNotifications(); });
+       m_window.swap();
+       std::this_thread::sleep_for(4s);
+}
+
+void Game::flashMessage(std::string const& message, float fadeIn, float hold, float fadeOut) {
+       m_message = message;
+       m_timeToFadeIn = fadeIn;
+       m_timeToShow = hold;
+       m_timeToFadeOut = fadeOut;
+       m_messagePopup.setTarget(fadeIn + hold + fadeOut);
+       m_messagePopup.setValue(0.0);
+}
+
+void Game::dialog(std::string const& text) {
+       m_dialogTimeOut.setValue(10);
+       m_dialog = std::make_unique<Dialog>(text);
+}
+
+bool Game::closeDialog() {
+       bool ret = !!m_dialog;
+       m_dialog.reset();
+       return ret;
+}
+
+void Game::drawLogo() {
+       m_logo.dimensions.fixedHeight(0.1).left(-0.45).screenTop(-0.1 + 0.11 * smoothstep(m_logoAnim.get()));
+       m_logo.draw();
+}
+
+void Game::drawNotifications() {
+       double time = m_messagePopup.get();
+       if (time != 0.0) {
+               bool haveToFadeIn = time <= (m_timeToFadeIn); // Is this fade in?
+               bool haveToFadeOut = time >= (m_messagePopup.getTarget() - m_timeToFadeOut); // Is this fade out?
+               float fadeValue = 1.0f;
+
+               if (haveToFadeIn) { // Fade in
+                       fadeValue = float(time / m_timeToFadeIn); // Calculate animation value
+               } else if (haveToFadeOut) { // Fade out
+                       fadeValue = float((m_messagePopup.getTarget() - time) / m_timeToFadeOut); // Calculate animation value
+                       if (time >= m_messagePopup.getTarget()) m_messagePopup.setTarget(0.0, true); // Reset if fade out finished
+               }
+
+               ColorTrans c(Color::alpha(fadeValue));
+               m_textMessage.draw(m_message); // Draw the message
+       }
+       // Dialog
+       if (m_dialog) {
+               m_dialog->draw();
+               if(m_dialogTimeOut.get() == 0) closeDialog();
+       }
+}
+
+void Game::finished() {
+       m_finished = true;
+}
+Game::~Game() {
+       if (currentScreen) currentScreen->exit();
+}
+bool Game::isFinished() {
+       return m_finished;
+}
+
+void Game::restartAudio() { 
+               m_audio.restart();
+               m_audio.playMusic(findFile("menu.ogg"), true); // Start music again
+       }
diff --git a/game/glmath.hh b/game/glmath.hh
new file mode 100644 (file)
index 0000000..61fda55
--- /dev/null
@@ -0,0 +1,43 @@
+#pragma once
+
+#define GLM_ENABLE_EXPERIMENTAL
+#include <epoxy/gl.h>
+#include <glm/glm.hpp>
+#include <glm/gtc/matrix_access.hpp>
+#include <glm/gtc/matrix_transform.hpp>
+#include <glm/gtc/type_ptr.hpp>
+#include <glm/gtx/matrix_operation.hpp>
+#include <algorithm>
+#include <cmath>
+#include <iomanip>
+#include <iostream>
+#include <sstream>
+
+namespace glmath {
+
+typedef glm::highp_vec2 vec2;
+typedef glm::highp_vec3 vec3;
+typedef glm::highp_vec4 vec4;
+typedef glm::highp_dvec4 dvec4;
+
+typedef glm::highp_mat3 mat3;
+typedef glm::highp_mat4 mat4;
+
+       // Template functions to allow them to work with different types of floating-point values
+
+       template <typename Scalar> static inline vec2 operator*(Scalar k, vec2 const& v) { return vec2(k * v.x, k * v.y); }
+       template <typename Scalar> static inline vec3 operator*(Scalar k, vec3 const& v) { return vec3(k * v.x, k * v.y, k * v.z); }
+       template <typename Scalar> static inline vec4 operator*(Scalar k, vec4 const& v) { return vec4(k * v.x, k * v.y, k * v.z, k * v.w); }
+
+       template <typename T> T mix(T const& a, T const& b, double blend) {
+               return (1.0-blend) * a + blend * b;
+       }
+       
+       static inline mat4 translate(vec3 const& v) { return glm::translate(mat4(1.0f), v); }
+       static inline mat4 scale(vec3 const& v) { return glm::scale(glm::mat4(1.0f), v); }
+       static inline mat4 scale(float k) { return glm::scale(mat4(1.0f),vec3(k, k, k)); }
+       static inline mat4 diagonal(vec4 const& v) { return glm::diagonal4x4(v); }      
+       static inline mat4 rotate(float rad, vec3 axis) { return glm::rotate(mat4(1.0f), rad, glm::normalize(axis)); }
+       
+}
+
diff --git a/game/glshader.cc b/game/glshader.cc
new file mode 100644 (file)
index 0000000..9058bee
--- /dev/null
@@ -0,0 +1,192 @@
+#include "glshader.hh"
+
+#include "glutil.hh"
+#include "video_driver.hh"
+#include <boost/filesystem/fstream.hpp>
+#include <algorithm>
+#include <stdexcept>
+
+using namespace glutil;
+
+namespace {
+       /// Loads a file into memory
+       std::string loadFile(fs::path const& filepath) {
+               fs::ifstream f(filepath, std::ios::binary);
+               if (!f) throw std::runtime_error(std::string("Couldn't open ") + filepath.string());
+               f.seekg(0, std::ios::end);
+               size_t size = f.tellg();
+               f.seekg(0);
+               std::vector<char> data(size+1); // +1 for terminating null
+               if (!f.read(&data[0], size)) throw std::runtime_error(std::string("Unexpected I/O error in ") + filepath.string());
+               data.back() = '\0';
+               return std::string(&data[0]);
+       }
+}
+
+/// Dumps Shader/Program InfoLog
+void Shader::dumpInfoLog(GLuint id) {
+       int maxLength;
+
+       if (glIsShader(id)) glGetShaderiv(id, GL_INFO_LOG_LENGTH, &maxLength);
+       else glGetProgramiv(id, GL_INFO_LOG_LENGTH, &maxLength);
+
+       char infoLog[maxLength];
+       int infoLogLength = 0;
+
+       if (glIsShader(id)) glGetShaderInfoLog(id, maxLength, &infoLogLength, infoLog);
+       else glGetProgramInfoLog(id, maxLength, &infoLogLength, infoLog);
+
+       // Ignore success messages that the Radeon driver always seems to give
+       if (std::equal(infoLog, infoLog + infoLogLength, "Vertex shader(s) linked, fragment shader(s) linked, geometry shader(s) linked.")) return;
+
+       if (maxLength == 0) return;
+       // Format a (possibly multi-line) log message
+       std::string prefix = "opengl/error: Shader " + name + ": ";
+       std::string logmsg = prefix;
+       for (char ch: std::string(infoLog)) {
+               if (logmsg.back() == '\n') logmsg += prefix;
+               logmsg += ch;
+       }
+       if (logmsg.back() != '\n') logmsg += '\n';
+       std::clog << logmsg << std::flush;
+}
+
+void Shader::bindUniformBlocks() {
+       glUseProgram(program);
+       glBindBuffer(GL_UNIFORM_BUFFER,Window::UBO());
+       GLsizei bufferSize = glutil::danceNoteUniforms::offset() + glutil::danceNoteUniforms::size();
+       glBufferData(GL_UNIFORM_BUFFER, bufferSize, NULL, GL_DYNAMIC_DRAW);
+       for (std::pair<std::string, unsigned int> const& uniformBlock: Shader::m_uniformblocks) {
+                       GLuint blockIndex = glGetUniformBlockIndex(program, uniformBlock.first.c_str());
+                       if (blockIndex != GL_INVALID_INDEX) {
+               glutil::GLErrorChecker ec("Shader::bindUniformBlocks");
+               ec.check("glBindBufferRange()");
+               {
+                               switch (uniformBlock.second) {
+                               case 7:
+                                       glBindBufferRange(GL_UNIFORM_BUFFER, 7, Window::UBO(), glutil::shaderMatrices::offset(), sizeof(glutil::shaderMatrices));
+                                       break;
+                               case 8:
+                                       glBindBufferRange(GL_UNIFORM_BUFFER, 8, Window::UBO(), glutil::stereo3dParams::offset(), sizeof(glutil::stereo3dParams));
+                                       break;
+                               case 9:
+                                       glBindBufferRange(GL_UNIFORM_BUFFER, 9, Window::UBO(), glutil::lyricColorUniforms::offset(), sizeof(glutil::lyricColorUniforms));
+                                       break;
+                               case 10:
+                                       glBindBufferRange(GL_UNIFORM_BUFFER, 10, Window::UBO(), glutil::danceNoteUniforms::offset(), sizeof(glutil::danceNoteUniforms));
+                                       break;
+                               }
+                       }
+               ec.check("glUniformBlockBinding()");
+               {
+                               glUniformBlockBinding(program, blockIndex, uniformBlock.second);
+               }
+               }
+       }
+}
+
+Shader::Shader(std::string const& name): name(name), program(0) {}
+
+Shader::~Shader() {
+       glDeleteProgram(program);
+       std::for_each(shader_ids.begin(), shader_ids.end(), glDeleteShader);
+}
+
+Shader& Shader::compileFile(fs::path const& filename) {
+       fs::path ext = filename.extension();
+       GLenum type;
+       if (ext == ".vert") type = GL_VERTEX_SHADER;
+       else if (ext == ".geom") type = GL_GEOMETRY_SHADER;
+       else if (ext == ".frag") type = GL_FRAGMENT_SHADER;
+       else throw std::logic_error("Unknown file extension on shader " + filename.string());
+       std::string srccode = loadFile(filename);
+       // Replace "//DEFINES" with defs
+       if (!defs.empty()) {
+               std::string::size_type pos = srccode.find("//DEFINES");
+               if (pos != std::string::npos) srccode = srccode.substr(0, pos) + defs + srccode.substr(pos + 9);
+       }
+       try {
+               return compileCode(srccode, type);
+       } catch (std::runtime_error& e) {
+               throw std::runtime_error(filename.filename().string() + ": " + e.what());
+       }
+}
+
+const std::forward_list<std::pair<std::string, unsigned int>> Shader::m_uniformblocks = {
+// Holds the block names for our uniform blocks, this list will be iterated on Shader::link to assign valid bindings to each of these.
+// Make sure to update this if ever the uniform block names change in GLSL.
+       {"shaderMatrices", 7},
+       {"stereoParams", 8},
+       {"lyricColors", 9},
+       {"danceNote", 10}
+};
+
+
+Shader& Shader::compileCode(std::string const& srccode, GLenum type) {
+       glutil::GLErrorChecker ec("Shader::compile");
+       GLuint new_shader = glCreateShader(type);
+       ec.check("glCreateShader");
+       if (new_shader == 0) {
+               throw std::runtime_error("Couldn't create shader.");
+       }
+       char const* source = srccode.c_str();
+       glShaderSource(new_shader, 1, &source, nullptr);
+       ec.check("glShaderSource");
+
+       glCompileShader(new_shader);
+       ec.check("glCompileShader");
+       glGetShaderiv(new_shader, GL_COMPILE_STATUS, &gl_response);
+       dumpInfoLog(new_shader);
+       if (gl_response != GL_TRUE) {
+               throw std::runtime_error("Shader compile error.");
+       }
+
+       shader_ids.push_back(new_shader);
+       return *this;
+}
+
+
+Shader& Shader::link() {
+       glutil::GLErrorChecker ec("Shader::link");
+       if (program) throw std::runtime_error("Shader already linked.");
+       // Create the program id
+       program = glCreateProgram();
+       ec.check("glCreateProgram");
+       if (program == 0) {
+               throw std::runtime_error("Couldn't create shader program.");
+       }
+       // Attach all compiled shaders to it
+       for (ShaderObjects::const_iterator it = shader_ids.begin(); it != shader_ids.end(); ++it)
+               glAttachShader(program, *it);
+       ec.check("glAttachShader");
+
+       // Link and check status
+       glLinkProgram(program);
+       glGetProgramiv(program, GL_LINK_STATUS, &gl_response);
+       dumpInfoLog(program);
+       if (gl_response != GL_TRUE) {
+               throw std::runtime_error("Something went wrong linking the shader program.");
+       }
+       ec.check("glLinkProgram");
+
+       return *this;
+}
+
+
+Shader& Shader::bind() {
+       glutil::GLErrorChecker ec("Shader::bind");
+       glUseProgram(program);
+       return *this;
+}
+
+
+Uniform Shader::operator[](const std::string& uniform) {
+       bind();
+       // Try to use a cached value
+       auto it = uniforms.find(uniform);
+       if (it != uniforms.end()) return Uniform(it->second);
+       // Get the value and cache it
+       GLint var = glGetUniformLocation(program, uniform.c_str());
+       if (var == -1) throw std::logic_error("GLSL shader '" + name + "' uniform variable '" + uniform + "' not found.");
+       return Uniform(uniforms[uniform] = var);
+}
diff --git a/game/glshader.hh b/game/glshader.hh
new file mode 100644 (file)
index 0000000..4220141
--- /dev/null
@@ -0,0 +1,92 @@
+#pragma once
+
+#include "fs.hh"
+#include "glutil.hh"
+#include <forward_list>
+#include <map>
+#include <string>
+#include <vector>
+#include <epoxy/gl.h>
+
+struct Uniform {
+       GLint id;
+       explicit Uniform(GLint id): id(id) {}
+       void set(int value) { glUniform1i(id, value); }
+       void set(float value) { glUniform1f(id, value); }
+       void set(int x, int y) { glUniform2i(id, x, y); }
+       void set(float x, float y) { glUniform2f(id, x, y); }
+       void set(int x, int y, int z) { glUniform3i(id, x, y, z); }
+       void set(float x, float y, float z) { glUniform3f(id, x, y, z); }
+       void set(int x, int y, int z, int w) { glUniform4i(id, x, y, z, w); }
+       void set(float x, float y, float z, float w) { glUniform4f(id, x, y, z, w); }
+       void set(glmath::vec4 const& v) { glUniform4fv(id, 1, glm::value_ptr(v)); }
+       void setMat3(glmath::mat3 const& m) { glUniformMatrix3fv(id, 1, GL_FALSE, &m[0][0]); }
+       void setMat4(glmath::mat4 const& m) { glUniformMatrix4fv(id, 1, GL_FALSE, &m[0][0]); }
+};
+
+struct Shader {
+       Shader(const Shader&) = delete;
+       const Shader& operator=(const Shader&) = delete;
+       /// Print compile errors and such
+       /// @param id of shader or program
+       void dumpInfoLog(GLuint id);
+
+       /// Bind uniform blocks to their respective indexes.
+       void bindUniformBlocks();
+
+       Shader(std::string const& name);
+       ~Shader();
+       /// Set a string that will replace "//DEFINES" in anything loaded by compileFile
+       Shader& addDefines(std::string const& defines) { defs += defines; return *this; }
+       /// Load shader from file
+       Shader& compileFile(fs::path const& filename);
+       /** Compiles a shader of a given type. */
+       Shader& compileCode(std::string const& srccode, GLenum type);
+       /** Links all compiled shaders to a shader program. */
+       Shader& link();
+
+       /** Binds the shader into use. */
+       Shader& bind();
+
+       /** Allow setting uniforms in a chain. Shader needs to be in use.*/
+
+
+       /** Get uniform location. Uses caching internally. */
+       Uniform operator[](const std::string& uniform);
+
+       // Some operators
+       bool operator==(const Shader& rhs) const { return program == rhs.program; }
+       bool operator!=(const Shader& rhs) const { return program != rhs.program; }
+
+private:
+       std::string name; ///< for debugging purposes only
+       GLuint program; ///< shader program object id
+       int gl_response; ///< save last return state
+       
+       const static std::forward_list<std::pair<std::string, unsigned int>> m_uniformblocks;
+
+       std::string defs;
+
+       typedef std::vector<GLuint> ShaderObjects;
+       ShaderObjects shader_ids;
+
+       typedef std::map<std::string, GLint> UniformMap;
+       UniformMap uniforms; ///< Cached uniform locations, use operator[] to access
+
+};
+
+
+/** Temporarily switch shader in a RAII manner. */
+struct UseShader {
+       UseShader(Shader& new_shader): m_shader(new_shader) {
+               glGetIntegerv(GL_CURRENT_PROGRAM, &m_old);
+               m_shader.bind();
+       }
+       ~UseShader() { glUseProgram(m_old); }
+       /// Access the bound shader
+       Shader& operator()() { return m_shader; }
+
+  private:
+       Shader& m_shader;
+       GLint m_old;
+};
diff --git a/game/glutil.cc b/game/glutil.cc
new file mode 100644 (file)
index 0000000..b3bfa42
--- /dev/null
@@ -0,0 +1,76 @@
+#include "glutil.hh"
+#include "video_driver.hh"
+
+namespace glutil {
+
+       GLintptr alignOffset(GLintptr offset) {
+               if (Window::bufferOffsetAlignment == -1) {
+               glGetIntegerv(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, &Window::bufferOffsetAlignment);
+               }
+               float result;
+               result = std::ceil(static_cast<float>(offset) / static_cast<float>(Window::bufferOffsetAlignment));
+               result *= Window::bufferOffsetAlignment;
+               return result;
+       }
+               
+       VertexArray::VertexArray() {
+               glGenVertexArrays(1, &m_vao);
+               glGenBuffers(1, &m_vbo);
+       }
+
+       VertexArray::~VertexArray() {
+               clear();
+       }
+
+       void VertexArray::clear() {
+               m_vertices.clear();
+       }
+
+       void VertexArray::draw(GLint mode) {
+               GLErrorChecker glerror("VertexArray::draw");
+               if (empty()) return;
+       
+               glBufferData(GL_ARRAY_BUFFER, stride() * size(), &m_vertices.front(), GL_DYNAMIC_DRAW);
+
+               glerror.check("draw arrays");
+               glDrawArrays(mode, 0, size());
+       }
+
+       GLErrorChecker::GLErrorChecker(std::string const& info): info(info) {
+               stack.push_back(std::string());
+               check("before starting");
+               stack.back() = info;
+       }
+
+       GLErrorChecker::~GLErrorChecker() { check("after finishing"); stack.pop_back(); }
+
+       void GLErrorChecker::check(std::string const& what) {
+               GLenum err = glGetError();
+               if (err != GL_NO_ERROR) {
+                       stack.back() = info + " " + what;
+                       // Prefix with all currently active GLErrorChecker contexts
+                       std::string logmsg = "opengl/error: ";
+                       for (auto s: stack) logmsg += s + ": ";
+                       logmsg += msg(err) + "\n";
+                       std::clog << logmsg << std::flush;
+               }
+               stack.back() = info + " after " + what;
+       }
+
+/* static */ std::string GLErrorChecker::msg(GLenum err) {
+       switch(err) {
+               case GL_NO_ERROR: return std::string();
+               case GL_INVALID_ENUM: return "Invalid enum";
+               case GL_INVALID_VALUE: return "Invalid value";
+               case GL_INVALID_OPERATION: return "Invalid operation";
+               case GL_INVALID_FRAMEBUFFER_OPERATION: return "FBO is not complete";
+               case GL_STACK_OVERFLOW: return "Stack overflow";
+               case GL_STACK_UNDERFLOW: return "Stack underflow";
+               case GL_OUT_OF_MEMORY: return "Out of memory";
+               default: return "Unknown error";
+       }
+}
+
+/* static */ thread_local std::vector<std::string> GLErrorChecker::stack;
+
+}
diff --git a/game/glutil.hh b/game/glutil.hh
new file mode 100644 (file)
index 0000000..fbe6df1
--- /dev/null
@@ -0,0 +1,163 @@
+#pragma once
+
+
+#include "color.hh"
+#include "glmath.hh"
+#include <epoxy/gl.h>
+#include <string>
+#include <iostream>
+#include <vector>
+
+namespace glutil {
+
+       GLintptr alignOffset(GLintptr offset);
+
+       // Note: if you reorder or otherwise change the contents of this, VertexArray::Draw() must be modified accordingly
+       struct VertexInfo {
+               glmath::vec3 vertPos = glmath::vec3(0.0f);
+               glmath::vec2 vertTexCoord = glmath::vec2(0.0f);
+               glmath::vec3 vertNormal = glmath::vec3(0.0f);
+               glmath::vec4 vertColor = glmath::vec4(1.0f);
+       };
+       
+       // Uniform block structs
+       struct shaderMatrices {
+               glmath::mat4 projMatrix; // 0 --- Equals vec4[4].
+               glmath::mat4 mvMatrix; // 64 --- Equals vec4[4].
+               glmath::mat4 normalMatrix; // 128 --- Equals vec4[4], but this one should be converted to mat3 in the shader.
+               glmath::mat4 colorMatrix; // 192 --- Equals vec4[4].
+               
+               static GLsizeiptr size() { return sizeof(shaderMatrices); };
+               static GLintptr offset() { return 0; };
+               shaderMatrices() {};
+               shaderMatrices(const shaderMatrices&) = delete;
+               shaderMatrices& operator=(const shaderMatrices&) = delete;
+       }; // 256 bytes
+       
+       struct stereo3dParams {
+               float sepFactor; // 256
+               float z0; // 260
+               float padding[2] = {7.0, 13.0}; // 264
+               
+               static GLsizeiptr size() { return sizeof(stereo3dParams); };
+               static GLintptr offset() { return alignOffset(shaderMatrices::size()); };
+               stereo3dParams() {};
+               stereo3dParams(const stereo3dParams&) = delete;
+               stereo3dParams& operator=(const stereo3dParams&) = delete;
+       }; // 16 bytes
+       
+       struct lyricColorUniforms {
+               glmath::vec4 origFill; // 272
+               glmath::vec4 origStroke; // 288
+               glmath::vec4 newFill; // 304
+               glmath::vec4 newStroke; // 320
+
+               static GLsizeiptr size() { return sizeof(lyricColorUniforms); };
+               static GLintptr offset() { return alignOffset(stereo3dParams::offset() + stereo3dParams::size()); };
+               lyricColorUniforms() {};
+               lyricColorUniforms(const lyricColorUniforms&) = delete;
+               lyricColorUniforms& operator=(const lyricColorUniforms&) = delete;
+       }; // 64 bytes
+       
+       struct danceNoteUniforms {
+               int noteType; // 336
+               float hitAnim; // 340
+               float clock; // 344
+               float scale; // 348
+               glmath::vec2 position; // 352
+               float padding[2] = {7.0, 13.0};
+
+               static GLsizeiptr size() { return sizeof(danceNoteUniforms); };
+               static GLintptr offset() { return alignOffset(lyricColorUniforms::offset() + lyricColorUniforms::size()); };
+               danceNoteUniforms() {};
+               danceNoteUniforms(const danceNoteUniforms&) = delete;
+               danceNoteUniforms& operator=(const danceNoteUniforms&) = delete;
+       }; // 32 bytes
+       // Total 368 bytes
+
+       /// Handy vertex array capable of drawing itself
+       class VertexArray {
+       private:
+               std::vector<VertexInfo> m_vertices;
+               VertexInfo m_vert;
+               GLuint m_vbo = 0, m_vao = 0;
+       public:
+               VertexArray();
+               ~VertexArray();
+
+               VertexArray& vertex(float x, float y, float z = 0.0f) {
+                       return vertex(glmath::vec3(x, y, z));
+               }
+
+               VertexArray& vertex(glmath::vec3 const& v) {
+                       m_vert.vertPos = v;
+                       m_vertices.push_back(m_vert);
+                       m_vert = VertexInfo();
+                       return *this;
+               }
+
+               VertexArray& normal(float x, float y, float z) {
+                       return normal(glmath::vec3(x, y, z));
+               }
+
+               VertexArray& normal(glmath::vec3 const& v) {
+                       m_vert.vertNormal = v;
+                       return *this;
+               }
+
+               VertexArray& texCoord(float s, float t) {
+                       return texCoord(glmath::vec2(s, t));
+               }
+
+               VertexArray& texCoord(glmath::vec2 const& v) {
+                       m_vert.vertTexCoord = v;
+                       return *this;
+               }
+
+               VertexArray& color(glmath::vec4 const& v) {
+                       m_vert.vertColor = v;
+                       return *this;
+               }
+
+               void draw(GLint mode = GL_TRIANGLE_STRIP);
+
+               bool empty() const {
+                       return m_vertices.empty();
+               }
+
+               GLsizei size() const {
+                       return m_vertices.size();
+               }
+               
+               static GLsizei stride() { return sizeof(VertexInfo); }
+               
+               void clear();
+       };
+
+       /// Wrapper struct for RAII
+       struct UseDepthTest {
+               /// enable depth test (for 3d objects)
+               UseDepthTest() {
+                       glClear(GL_DEPTH_BUFFER_BIT);
+                       glEnable(GL_DEPTH_TEST);
+               }
+               ~UseDepthTest() {
+                       glDisable(GL_DEPTH_TEST);
+               }
+       };
+
+       /// Checks for OpenGL error and displays it with given location info
+       class GLErrorChecker {
+               static thread_local std::vector<std::string> stack;
+               std::string info;
+               void setWhat(std::string what);
+       public:
+               GLErrorChecker(std::string const& info);
+               ~GLErrorChecker();
+               void check(std::string const& what = "check()");  ///< An error-check milestone; will log and  any active GL errors
+               static void reset() { glGetError(); }  ///< Ignore any existing error
+               static std::string msg(GLenum err);
+       };
+}
+
+
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
new file mode 100644 (file)
index 0000000..739ba2e
--- /dev/null
@@ -0,0 +1,1234 @@
+#include "guitargraph.hh"
+#include "fs.hh"
+#include "song.hh"
+#include "i18n.hh"
+
+#include <cmath>
+#include <cstdlib>
+#include <stdexcept>
+#include <boost/format.hpp>
+
+namespace {
+       #if 0 // Here is some dummy gettext calls to populate the dictionary
+       _("Kids") _("Easy") _("Medium") _("Hard") _("Expert")
+       #endif
+       struct Diff { std::string name; int basepitch; } diffv[] = {
+               { "Kids", 0x3C },
+               { "Easy", 0x3C },
+               { "Medium", 0x48 },
+               { "Hard", 0x54 },
+               { "Expert", 0x60 }
+       };
+       const float g_angle = 1.4f; // How many radians to rotate the fretboards
+       const float past = -0.2f; // Relative time from cursor that is considered past (out of screen)
+       const float future = 1.5f; // Relative time from cursor that is considered future (out of screen)
+       const float timescale = 25.0f; // Multiplier to get graphics units from time
+       const float texCoordStep = -0.5f; // Two beat lines per neck texture => 0.5 tex units per beat
+       const float flameSpd = 6.0f; // Multiplier for flame growth
+       // Note: t is difference from playback time so it must be in range [past, future]
+       float time2y(float t) { return -timescale * (t - past) / (future - past); }
+       float time2a(float t) {
+               float a = clamp(1.0 - t / future); // Note: we want 1.0 alpha already at zero t.
+               return std::pow(a, 0.8f); // Nicer curve
+       }
+       float y2a(float y) { return time2a(past - y / timescale * (future - past)); }
+       float tc(float y) { return y * 0.1; } // Get texture coordinates for animating hold notes
+       const double maxTolerance = 0.15; // Maximum error in seconds
+
+       const float drumfill_min_rate = 6.0; // The rate of hits per second required to complete a drum fill
+       double points(double error) {
+               // error    points
+               // 150ms      15
+               // 100ms      30
+               //  50ms      45
+               //  30ms      50
+               double score = 0.0;
+               if (error < maxTolerance) score += 15;
+               if (error < 0.1) score += 15;
+               if (error < 0.05) score += 15;
+               if (error < 0.03) score += 5;
+               return score;
+       }
+
+       const int streakStarBonus = 500;
+       int getNextBigStreak(int prev) { return prev + 50; }
+       inline float blend(float a, float b, float f) { return a*f + b*(1.0f-f); }
+}
+
+void GuitarGraph::initGuitar() {
+       // Copy all tracks of guitar types (not DRUMS and not KEYBOARD) to m_instrumentTracks
+       for (auto const& elem: m_song.instrumentTracks) {
+               std::string index = elem.first;
+               if (index != TrackName::DRUMS && index != TrackName::KEYBOARD) m_instrumentTracks[index] = &elem.second;
+       }
+       if (m_instrumentTracks.empty()) throw std::logic_error("No guitar tracks found");
+
+       // Adding fail samples
+       m_samples.push_back("guitar fail1");
+       m_samples.push_back("guitar fail2");
+       m_samples.push_back("guitar fail3");
+       m_samples.push_back("guitar fail4");
+       m_samples.push_back("guitar fail5");
+       m_samples.push_back("guitar fail6");
+}
+
+void GuitarGraph::initDrums() {
+       // Copy all tracks of drum type  to m_instrumentTracks
+       for (auto const& elem: m_song.instrumentTracks) {
+               std::string index = elem.first;
+               if (index == TrackName::DRUMS) m_instrumentTracks[index] = &elem.second;
+       }
+       if (m_instrumentTracks.empty()) throw std::logic_error("No drum tracks found");
+
+       // Adding fail samples
+       m_samples.push_back("drum bass");
+       m_samples.push_back("drum snare");
+       m_samples.push_back("drum hi-hat");
+       m_samples.push_back("drum tom1");
+       m_samples.push_back("drum cymbal");
+       //m_samples.push_back("drum tom2");
+}
+
+GuitarGraph::GuitarGraph(Audio& audio, Song const& song, input::DevicePtr dev, int number):
+  InstrumentGraph(audio, song, dev),
+  m_tail(findFile("tail.svg")),
+  m_tail_glow(findFile("tail_glow.svg")),
+  m_tail_drumfill(findFile("tail_drumfill.svg")),
+  m_flame(findFile("flame.svg")),
+  m_flame_godmode(findFile("flame_godmode.svg")),
+  m_tap(findFile("tap.svg")),
+  m_neckglow(findFile("neck_glow.svg")),
+  m_neckglowColor(),
+  m_drums(dev->type == input::DEVTYPE_DRUMS),
+  m_level(),
+  m_track_index(m_instrumentTracks.end()),
+  m_dfIt(m_drumfills.end()),
+  m_errorMeter(0.0, 2.0),
+  m_errorMeterFlash(0.0, 4.0),
+  m_errorMeterFade(0.0, 0.333),
+  m_drumJump(0.0, 12.0),
+  m_starpower(0.0, 0.1),
+  m_starmeter(),
+  m_drumfillHits(),
+  m_drumfillScore(),
+  m_soloTotal(),
+  m_soloScore(),
+  m_solo(),
+  m_hasTomTrack(false),
+  m_proMode(config["game/drum_promode"].b()),
+  m_whammy(0)
+{
+       if(m_drums) {
+               initDrums();
+       } else {
+               initGuitar();
+       }
+       // Load 3D fret objects
+       m_fretObj.load(findFile("fret.obj"));
+       m_tappableObj.load(findFile("fret_tap.obj"));
+       // Score calculator (TODO a better one)
+       m_scoreText = std::make_unique<SvgTxtThemeSimple>(findFile("sing_score_text.svg"), config["graphic/text_lod"].f());
+       m_streakText = std::make_unique<SvgTxtThemeSimple>(findFile("sing_score_text.svg"), config["graphic/text_lod"].f());
+       for (size_t i = 0; i < max_panels; ++i) {
+               m_pressed_anim[i].setRate(5.0);
+               m_holds[i] = 0;
+       }
+       m_pads = 5;
+       m_track_index = m_instrumentTracks.begin();
+       while (number--)
+               if (++m_track_index == m_instrumentTracks.end()) m_track_index = m_instrumentTracks.begin();
+       // Pick a nice default difficulty (note: the execution of || stops when true is returned)
+       difficulty(DIFFICULTY_EASY) ||
+       difficulty(DIFFICULTY_SUPAEASY) ||
+       difficulty(DIFFICULTY_MEDIUM) ||
+       difficulty(DIFFICULTY_AMAZING) ||
+       (difficultyAuto(), true);
+       updateNeck();
+       setupJoinMenu();
+}
+
+void GuitarGraph::setupJoinMenuDifficulty() {
+       ConfigItem::OptionList ol;
+       int cur = 0;
+       // Add difficulties to the option list
+       for (int level = 0; level < DIFFICULTYCOUNT; ++level) {
+               if (difficulty(Difficulty(level), true)) {
+                       ol.push_back(std::to_string(level));
+                       if (Difficulty(level) == m_level) cur = ol.size()-1;
+               }
+       }
+       m_selectedDifficulty = ConfigItem(ol); // Create a ConfigItem from the option list
+       m_selectedDifficulty.select(cur); // Set the selection to current level
+       m_menu.add(MenuOption("", _("Select difficulty")).changer(m_selectedDifficulty)); // MenuOption that cycles the options
+       m_menu.back().setDynamicName(m_difficultyOpt); // Set the title to be dynamic
+}
+
+void GuitarGraph::setupJoinMenuDrums() {
+       setupJoinMenuDifficulty();
+       m_menu.add(MenuOption(_("Lefty-mode"), "").changer(m_leftymode));
+       m_menu.back().setDynamicComment(m_leftyOpt);
+}
+
+void GuitarGraph::setupJoinMenuGuitar() {
+       ConfigItem::OptionList ol;
+       int cur = 0;
+       // Add tracks to option list
+       for (InstrumentTracksConstPtr::const_iterator it = m_instrumentTracks.begin(); it != m_instrumentTracks.end(); ++it) {
+               ol.push_back(it->first);
+               if (m_track_index->first == it->first) cur = ol.size()-1; // Find the index of current track
+       }
+       m_selectedTrack = ConfigItem(ol); // Create a ConfigItem from the option list
+       m_selectedTrack.select(cur); // Set the selection to current track
+       m_menu.add(MenuOption("", _("Select track")).changer(m_selectedTrack)); // MenuOption that cycles the options
+       m_menu.back().setDynamicName(m_trackOpt); // Set the title to be dynamic
+       setupJoinMenuDifficulty();
+       m_menu.add(MenuOption(_("Lefty-mode"), "").changer(m_leftymode));
+       m_menu.back().setDynamicComment(m_leftyOpt);
+}
+
+void GuitarGraph::setupJoinMenu() {
+       m_menu.clear();
+       updateJoinMenu();
+       // Populate root menu
+       m_menu.add(MenuOption(_("Ready!"), _("Start performing!")));
+       if(m_drums) {
+               setupJoinMenuDrums();
+       } else {
+               setupJoinMenuGuitar();
+       }
+       m_menu.add(MenuOption(_("Quit"), _("Exit to song browser")).screen("Songs"));
+}
+
+void GuitarGraph::updateJoinMenu() {
+       m_trackOpt = getTrack();
+       m_difficultyOpt =  getDifficultyString();
+       std::string s("\n (");
+       std::string le = m_leftymode.b() ? _("ON") : _("OFF");
+       m_leftyOpt = _("Toggle lefty-mode") + s + le + ")";
+}
+
+/// Load the appropriate neck texture
+void GuitarGraph::updateNeck() {
+       // TODO: Optimize with texture cache
+       std::string index = m_track_index->first;
+       if (index == TrackName::DRUMS) m_neck = std::make_unique<Texture>(findFile("drumneck.svg"));
+       else if (index == TrackName::KEYBOARD) m_neck = std::make_unique<Texture>(findFile("guitarneck.svg"));
+       else if (index == TrackName::BASS) m_neck = std::make_unique<Texture>(findFile("bassneck.svg"));
+       else m_neck = std::make_unique<Texture>(findFile("guitarneck.svg"));
+}
+
+/// Cycle through the different tracks
+void GuitarGraph::changeTrack(int dir) {
+       if (dir >= 0) ++m_track_index; else --m_track_index;
+       if (m_track_index == m_instrumentTracks.end()) m_track_index = m_instrumentTracks.begin();
+       else if (m_track_index == (--m_instrumentTracks.end())) m_track_index = (--m_instrumentTracks.end());
+       difficultyAuto(true);
+       updateNeck();
+       setupJoinMenu();  // Reset menu as difficulties might have changed
+       m_menu.select(1); // Restore selection to the track item
+}
+
+/// Set specific track
+void GuitarGraph::setTrack(const std::string& track) {
+       InstrumentTracksConstPtr::const_iterator it = m_instrumentTracks.find(track);
+       if (it != m_instrumentTracks.end()) m_track_index = it;
+       difficultyAuto(true);
+       updateNeck();
+       setupJoinMenu();  // Reset menu as difficulties might have changed
+       m_menu.select(1); // Restore selection to the track item
+}
+
+/// Get the trackname string
+std::string GuitarGraph::getTrack() const {
+       return _(m_track_index->first.c_str());
+}
+
+/// Get the difficulty as displayable string
+std::string GuitarGraph::getDifficultyString() const {
+       return _(diffv[m_level].name.c_str());
+}
+
+/// Get a string id for track and difficulty
+std::string GuitarGraph::getModeId() const {
+       return m_track_index->first + " - " + diffv[m_level].name;
+}
+
+/// Cycle through difficulties
+void GuitarGraph::changeDifficulty(int dir) {
+       for (int level = ((int)m_level + dir) % DIFFICULTYCOUNT; level != m_level;
+         level = (level+dir) % DIFFICULTYCOUNT)
+               if (difficulty(Difficulty(level))) return;
+}
+
+/// Find an initial difficulty level to use
+void GuitarGraph::difficultyAuto(bool tryKeep) {
+       if (tryKeep && difficulty(Difficulty(m_level))) return;
+       for (int level = 0; level < DIFFICULTYCOUNT; ++level) if (difficulty(Difficulty(level))) return;
+       throw std::runtime_error("No difficulty levels found for track " + m_track_index->first);
+}
+
+/// Attempt to use a given difficulty level
+bool GuitarGraph::difficulty(Difficulty level, bool check_only) {
+       InstrumentTrack const& track = *m_track_index->second;
+       // Find the stream number
+       for (auto const& elem: m_song.instrumentTracks) {
+               if (&track == &elem.second) break;
+       }
+       // Check if the difficulty level is available
+       uint8_t basepitch = diffv[level].basepitch;
+       NoteMap const& nm = track.nm;
+       unsigned fail = 0;
+       for (unsigned fret = 0; fret < m_pads; ++fret) if (nm.find(basepitch + fret) == nm.end()) ++fail;
+       if (fail == m_pads) return false;
+       if (check_only) return true;
+       Difficulty prevLevel = m_level;
+       m_level = level;
+       updateChords();
+       if (m_chords.size() <= 1) { // If there is only one chord, it's probably b0rked
+               m_level = prevLevel;
+               updateChords();
+               return false;
+       }
+       return true;
+}
+
+/// Core engine
+void GuitarGraph::engine() {
+       double time = m_audio.getPosition();
+       time -= config["audio/controller_delay"].f();
+       doUpdates();
+       if (!m_drumfills.empty()) updateDrumFill(time); // Drum Fills / BREs
+       m_whammy = 0;
+       // Countdown to start
+       handleCountdown(time, time < getNotesBeginTime() ? getNotesBeginTime() : m_jointime+1);
+       // Handle all events
+       for (input::Event ev; m_dev->getEvent(ev); ) {
+               // Lefty mode flip of buttons
+               if (m_leftymode.b() && m_drums && ev.source.type != input::SOURCETYPE_MIDI) {
+                       unsigned layer = ev.button.layer(), num = ev.button.num();
+                       // Layers 0-1: reverse all but kick; layer 2: swap yellow and blue cymbals
+                       if ((layer < 2 && num >= 1 && num <= 4) || (layer == 2 && num >= 2 && num <= 3)) ev.button = input::Button(layer, 5 - num);
+               }
+               // Keypress anims
+               {
+                       unsigned layer = ev.button.layer(), num = ev.button.num();
+                       // Guitar numbering hack
+                       if (!m_drums) {
+                               if (ev.button == input::GUITAR_PICK_DOWN || ev.button == input::GUITAR_PICK_UP) { layer = 0; num = 0; }
+                               else ++num;
+                       }
+                       // Update key pressed status
+                       if (layer < 8 && num < max_panels) {
+                               if (!m_drums && num > 0) m_pressed[num] = ev.value; // Only guitar frets can be held
+                               if (ev.pressed()) m_pressed_anim[num].setValue(1.0); // Hit flash
+                       }
+               }
+               m_dead = 0; // Keep alive
+               // Menu keys
+               if (menuOpen()) {
+                       // Check first regular keys
+                       if (ev.pressed()) {
+                               if (ev.nav == input::NAV_START) m_menu.action();
+                               else if (ev.nav == input::NAV_LEFT) m_menu.action(-1);
+                               else if (ev.nav == input::NAV_UP) m_menu.move(-1);
+                               else if (ev.nav == input::NAV_DOWN) m_menu.move(1);
+                               else if (ev.nav == input::NAV_RIGHT) m_menu.action(1);
+                               else if (ev.nav == input::NAV_CANCEL) m_menu.close();
+                               if (!m_drums) {
+                                       if (ev.button == input::GUITAR_GREEN) m_menu.action(-1);
+                                       else if (ev.button == input::GUITAR_RED) m_menu.action(1);
+                               }
+                       }
+                       // See if anything changed
+                       if (!m_drums && m_selectedTrack.so() != m_track_index->first) setTrack(m_selectedTrack.so());
+                       else if (std::stoi(m_selectedDifficulty.so()) != m_level)
+                               difficulty(Difficulty(std::stoi(m_selectedDifficulty.so())));
+                       else if (m_rejoin.b()) { unjoin(); setupJoinMenu(); m_dev->pushEvent(input::Event()); /* FIXME: HACK! */ }
+                       // Sync menu items & captions
+                       updateJoinMenu();
+                       break;
+
+               // If the songs hasn't yet started, we want key presses to bring join menu back (not pause menu)
+               } else if (time < -2 && ev.pressed() && ev.button != input::GUITAR_WHAMMY && ev.button != input::GUITAR_GODMODE) {
+                       setupJoinMenu();
+                       m_menu.open();
+                       break;
+               // Handle Start/Select keypresses
+               } else if (!isKeyboard()) {
+                       if (ev.button == input::GENERIC_CANCEL) ev.button = input::GUITAR_GODMODE; // Select = GodMode
+                       if (ev.button == input::GENERIC_START) { m_menu.open(); continue; }
+               }
+
+               // Disable gameplay when game is paused
+               if (m_audio.isPaused()) continue;
+
+               // Guitar specific actions
+               if (!m_drums) {
+                       if (ev.button == input::GUITAR_GODMODE && ev.pressed()) activateStarpower();
+                       if (ev.button == input::GUITAR_WHAMMY) m_whammy = (1.0 + ev.value + 2.0*(rand()/double(RAND_MAX))) / 4.0;
+                       if (ev.button <= m_pads && !ev.pressed()) endHold(ev.button, time);
+               }
+
+               // Playing
+               if (m_drums) {
+                       if (ev.pressed() && ev.button.layer() < 8 && ev.button.num() < m_pads) drumHit(time, ev.button.layer(), ev.button.num());
+               } else {
+                       guitarPlay(time, ev);
+               }
+               if (m_score < 0) m_score = 0;
+       }
+       // Handle fret hold markers
+       if (!m_drums) for (unsigned num = 0; num < max_panels; ++num) m_pressed_anim[num].setTarget(m_pressed[num] ? 1.0 : 0.0);
+
+       // Skip missed chords
+       // - Only after we are so much past them that they can no longer be played (maxTolerance)
+       // - For chords played or skipped by playing (i.e. play another chord that quickly follows), ++m_chordIt is done elsewhere
+       while (m_chordIt != m_chords.end() && m_chordIt->begin + maxTolerance < time) {
+               if (m_chordIt->status < m_chordIt->polyphony) endStreak();
+               // Calculate solo total score
+               if (m_solo) { m_soloScore += m_chordIt->score; m_soloTotal += m_chordIt->polyphony * points(0);
+               // Solo just ended?
+               } else if (m_soloTotal > 0) {
+                       m_popups.push_back(Popup(std::to_string(unsigned(m_soloScore / m_soloTotal * 100)) + " %",
+                         Color(0.0, 0.8, 0.0), 1.0, m_popupText.get()));
+                       m_soloScore = 0;
+                       m_soloTotal = 0;
+               }
+               if (!joining(time)) ++m_dead;  // Increment dead counter (but not while joining)
+               ++m_chordIt;
+       }
+       // Start decreasing correctness instantly if the current note is being played late (don't wait until maxTolerance)
+       if (m_chordIt != m_chords.end() && m_chordIt->begin < time && m_chordIt->status == 0) m_correctness.setTarget(0.0);
+       // Process holds
+       if (!m_drums) {
+               // FIXME: Why do we have per-fret hold handling, why not just as a part of the current chord?
+               // FIXME: Use polyphony from proper chord (which isn't always m_chordIt); now it only counts frets currently held
+               unsigned count = 0, polyphony = 0;
+               bool holds = false;
+               for (unsigned fret = 0; fret < m_pads; ++fret) {
+                       if (!m_holds[fret]) continue;
+                       holds = true;
+                       ++polyphony;
+                       Event& ev = m_events[m_holds[fret] - 1];
+                       ev.glow.setTarget(1.0, true);
+                       // Whammy animvalue mangling
+                       ev.whammy.setTarget(m_whammy);
+                       if (m_whammy > 0) {
+                               ev.whammy.move(0.5);
+                               if (ev.whammy.get() > 1.0) ev.whammy.setValue(1.0);
+                       }
+                       // Calculate how long the note was held this cycle and score it
+                       double last = std::min(time, ev.dur->end);
+                       double t = last - ev.holdTime;
+                       if (t < 0) continue;  // FIXME: What is this for, rewinding?
+                       // Is the hold being played correctly?
+                       bool early = time - ev.dur->begin < 1.5;  // At the beginning we don't require whammy
+                       bool whammy = ev.whammy.get() > 0.01;
+                       bool godmode = m_starpower.get() > 0.01;
+                       if (early || whammy || godmode) ++count;
+                       // Score for holding
+                       m_score += t * 50.0 * m_correctness.get();
+                       // Whammy fills starmeter much faster
+                       m_starmeter += t * 50 * ( (ev.whammy.get() > 0.01) ? 2.0 : 1.0 );
+                       ev.holdTime = time;
+                       // If end reached, handle it
+                       if (last == ev.dur->end) endHold(fret, time);
+               }
+               // Set correctness as a percentage of chord being held
+               if (holds) m_correctness.setTarget(clamp(double(count) / m_chordIt->polyphony));  // FIXME: polyphony doesn't seem to be set correctly for guitar tracks (workaround by clamping)
+       }
+       // Update solo status
+       m_solo = false;
+       for (Durations::const_iterator it = m_solos.begin(); it != m_solos.end(); ++it) {
+               if (time >= it->begin && time <= it->end) { m_solo = true; break; }
+       }
+       // Check if a long streak goal has been reached (display a nasty combo breaker popup)
+       if (m_streak >= getNextBigStreak(m_bigStreak)) {
+               m_bigStreak = getNextBigStreak(m_bigStreak);
+               m_starmeter += streakStarBonus;
+               m_popups.push_back(Popup(std::to_string(unsigned(m_bigStreak)) + "\n" + _("Streak!"),
+                 Color(1.0, 0.0, 0.0), 1.0, m_popupText.get()));
+       }
+       // During GodMode, correctness is full, no matter what
+       if (m_starpower.get() > 0.01) m_correctness.setTarget(1.0, true);
+}
+
+/// Attempt to activate GodMode
+void GuitarGraph::activateStarpower() {
+       if (canActivateStarpower()) {
+               m_starmeter = 0;
+               m_starpower.setValue(1.0);
+               m_popups.push_back(Popup(_("God Mode\nActivated!"),
+                 Color(0.3, 0.0, 1.0), 0.666, m_popupText.get(), _("Mistakes ignored!"), &m_text));
+       }
+}
+
+/// New hit for the error indicator
+void GuitarGraph::errorMeter(float error) {
+       error /=  maxTolerance;
+       m_errorMeter.setTarget(error, true);
+       m_errorMeterFade.setValue(1.0);
+       if (std::abs(error) < 0.10) m_errorMeterFlash.setValue(1.0);
+}
+
+/// Mark the holding of a note as ended
+void GuitarGraph::endHold(unsigned fret, double time) {
+       if (fret >= m_pads || !m_holds[fret]) return;
+       m_events[m_holds[fret] - 1].glow.setTarget(0.0);
+       m_events[m_holds[fret] - 1].whammy.setTarget(0.0, true);
+       m_holds[fret] = 0;
+       if (time > 0) { // Do we set the releaseTime?
+               // Search for the Chord this hold belongs to
+               for (auto& chord: m_chords) {
+                       if (time > chord.begin + maxTolerance && time < chord.end - maxTolerance) {
+                               chord.releaseTimes[fret] = time;
+                               if (time >= chord.end - maxTolerance) chord.passed = true; // Mark as past note for rewinding
+                               else m_correctness.setValue(0.0);  // Note: if still holding some frets, proper percentage will be set in hold handling
+                               break;
+                       }
+               }
+       }
+}
+
+/// Do stuff when a note is played incorrectly
+void GuitarGraph::fail(double time, int fret) {
+       if (fret == -2) return; // Tapped note
+       if (fret == -1) {
+               for (unsigned i = 0; i < m_pads; ++i) endHold(i, time);
+       }
+       if (m_starpower.get() < 0.01) {
+               // Reduce points and play fail sample only when GodMode is deactivated
+               m_events.push_back(Event(time, 0, fret));
+               if (fret < 0) fret = std::rand();
+               m_audio.playSample(m_samples[unsigned(fret) % m_samples.size()]);
+               // remove equivalent of 1 perfect hit for every note
+               // kids tend to play a lot of extra notes just for the fun of it.
+               // need to make sure they don't end up with a score of zero
+               m_score -= (m_level == DIFFICULTY_KIDS) ? points(0)/2.0 : points(0);
+               m_correctness.setTarget(0.0, true);  // Instantly fail correctness
+       }
+       endStreak();
+}
+
+/// Ends the Big Rock Ending and gives score if appropriate
+void GuitarGraph::endBRE() {
+       float l = m_dfIt->end - m_dfIt->begin;
+       // Completion requires ~ 6 hits per second
+       if (m_drumfillHits / l >= 6.0) {
+               m_score += m_drumfillScore; // Add score from overlapped notes if there were any
+               m_score += 50.0 * l; // Add score as if it were a single long hold
+       }
+       m_drumfillHits = 0;
+       m_drumfillScore = 0;
+       m_dfIt = m_drumfills.end();
+}
+
+/// Calculates the start and end times for the next/current drum fill
+/// Also activates GodMode if fill went well
+void GuitarGraph::updateDrumFill(double time) {
+       // Check if fill is over
+       if (m_dfIt != m_drumfills.end()) {
+               // Reset stuff for drum fills but not for BREs (handled elsewhere)
+               if (time > m_dfIt->end - past && (m_dfIt != (--m_drumfills.end()) || (m_drums && !m_song.hasBRE))) {
+                       m_drumfillHits = 0;
+                       m_drumfillScore = 0;
+                       m_dfIt = m_drumfills.end();
+               }
+               return;
+       } else if (m_drums && canActivateStarpower()) {
+               // Search for the next drum fill
+               for (Durations::const_iterator it = m_drumfills.begin(); it != m_drumfills.end(); ++it) {
+                       if (it->begin >= time + future) { m_dfIt = it; return; }
+               }
+       } else if (!m_drums && m_drumfills.back().begin >= time + future) {
+               m_dfIt = (--m_drumfills.end()); return; // Guitar Big Rock Ending
+       } else if (m_drums && m_song.hasBRE && m_drumfills.back().begin <= time + future) {
+               m_dfIt = (--m_drumfills.end()); return; // Drum Big Rock Ending
+       }
+       m_dfIt = m_drumfills.end(); // Reset iterator
+}
+
+/// Handle drum hit scoring
+void GuitarGraph::drumHit(double time, unsigned layer, unsigned fret) {
+       std::cout << "drumHit: " << time << " layer:" << layer << " fret:" << fret << std::endl;
+       // Handle drum fills
+       if (m_dfIt != m_drumfills.end() && time >= m_dfIt->begin - maxTolerance
+         && time <= m_dfIt->end + maxTolerance) {
+               m_drumfillHits += 1;
+               // Check if we hit the final note in drum fill to activate starpower and get the points
+               if (fret == 4 && time >= m_dfIt->end - maxTolerance
+                 && (!m_song.hasBRE || m_dfIt != (--m_drumfills.end()))) {
+                       // GodMode and scores require ~ 6 hits per second
+                       if (m_drumfillHits >= drumfill_min_rate * (m_dfIt->end - m_dfIt->begin)) {
+                               activateStarpower();
+                               m_score += m_drumfillScore;
+                       }
+                       m_drumfillScore = 0;
+                       m_drumfillHits = 0;
+               }
+               m_flames[fret].push_back(AnimValue(0.0, flameSpd));
+               m_flames[fret].back().setTarget(1.0);
+               return;
+       }
+       // Find any suitable note within the tolerance
+       double tolerance = maxTolerance;
+       double signed_error = maxTolerance;
+       auto best = m_chords.end();
+       // when we get here m_chordIt points to the last best fit chord
+       for (auto it = m_chordIt; it != m_chords.end() && it->begin <= time + tolerance; ++it) {
+               // it->dur[fret]          == NULL for a chord that doesn't include the fret played (pad hit)
+               // m_notes[it->dur[fret]] != 0    when the fret played (pad hit) was already played
+               if (m_level == DIFFICULTY_KIDS) {
+                       // in kiddy mode we don't care about the correct pad
+                       // all that matters is that there is still a missing note in that chord
+                       if (m_chordIt->status == m_chordIt->polyphony) continue;
+               } else if (m_notes[it->dur[fret]]) continue;  // invalid fret/hit or already played
+
+               // Check Pro Mode stuff...
+               if ( m_proMode ) {
+                       if ( fret > 1 && it->fret_cymbal[fret] && layer != 2 ) continue; // require cymbal if it's a cymbal.
+                       if ( fret > 1 && !it->fret_cymbal[fret] && layer != 1 ) continue; // require not a cymbal if it's not a cymbal.
+               }
+
+               double error = std::abs(it->begin - time);
+               if (error < tolerance) {
+                       best = it;
+                       tolerance = error;
+                       signed_error = it->begin - time;
+               }
+       }
+       if (best == m_chords.end()) fail(time, fret);  // None found
+       else {
+               // Skip all chords earlier than the best fit chord
+               for (; best != m_chordIt; ++m_chordIt) {
+                       // End streak if skipped chords had not been played properly
+                       if (m_chordIt->status < m_chordIt->polyphony) endStreak();
+               }
+               ++m_chordIt->status;  // One more drum belonging to the chord hit
+               double percentage = clamp(double(m_chordIt->status) / m_chordIt->polyphony); // FIXME: clamping should not be necessary but polyphony seems incorrect
+               m_correctness.setTarget(1.0, true);  // Instantly correct
+               m_correctness.setTarget(percentage);  // ... but keep fading if chord is incomplete
+               Duration const* dur = m_chordIt->dur[fret];
+               // Record the hit event
+               m_events.push_back(Event(time, 1, fret, dur));
+               m_notes[dur] = m_events.size();
+               // Scoring - be a little more generous for kids
+               double score = (m_level == DIFFICULTY_KIDS) ? points(tolerance/2.0) : points(tolerance);
+               m_chordIt->score += score;
+               m_score += score;
+               if (!m_drumfills.empty()) m_starmeter += score; // Only add starmeter if it's possible to activate GodMode
+               // Graphical effects
+               m_flames[fret].push_back(AnimValue(0.0, flameSpd));
+               m_flames[fret].back().setTarget(1.0);
+               if (fret == input::DRUMS_KICK) m_drumJump.setTarget(1.0); // Do a jump for bass drum
+               // All drums of the chord hit already?
+               if (m_chordIt->status == m_chordIt->polyphony) {
+                       //m_score -= m_chordIt->score;
+                       //m_chordIt->score *= m_chordIt->polyphony;
+                       //m_score += m_chordIt->score;
+                       m_streak += 1;
+                       if (m_streak > m_longestStreak) m_longestStreak = m_streak;
+                       // Handle Big Rock Ending scoring
+                       if (m_drumfillHits > 0 && *best == m_chords.back()) endBRE();
+                       // ErrorMeter
+                       errorMeter(signed_error);
+               }
+       }
+}
+
+/// Handle guitar events and scoring
+void GuitarGraph::guitarPlay(double time, input::Event const& ev) {
+       bool picked = (ev.button == input::GUITAR_PICK_UP || ev.button == input::GUITAR_PICK_DOWN) && ev.pressed();
+       // Handle Big Rock Ending
+       if (m_dfIt != m_drumfills.end() && time >= m_dfIt->begin - maxTolerance
+         && time <= m_dfIt->end + maxTolerance) {
+               if (!ev.pressed() || ev.button >= m_pads) return;  // No processing for release events or non-fret buttons
+               m_drumfillHits += 1;
+               m_flames[ev.button].push_back(AnimValue(0.0, flameSpd));
+               m_flames[ev.button].back().setTarget(1.0);
+               return;
+       }
+       bool frets[max_panels];  // The combination about to be played
+       if (picked) {
+               for (unsigned fret = 0; fret < m_pads; ++fret) {
+                       frets[fret] = m_pressed[fret + 1];
+               }
+       } else { // Attempt to tap
+               if (ev.button >= m_pads) return;
+               if (m_correctness.get() < 0.5 && m_starpower.get() < 0.001) return; // Hammering not possible at the moment
+               for (unsigned fret = 0; fret < m_pads; ++fret) frets[fret] = false;
+               for (unsigned fret = ev.button + 1; fret < m_pads; ++fret) {
+                       if (frets[fret]) return; // Extra buttons on right side
+               }
+               if (ev.pressed()) {
+                       // Hammer-on, the fret pressed is played
+                       frets[ev.button] = true;
+               } else {
+                       // Pull off, find the note to played that way
+                       int fret = ev.button;
+                       do {
+                               if (--fret < 0) return; // No frets pressed -> not a pull off
+                       } while (!frets[fret]);
+                       frets[fret] = true;
+               }
+       }
+       // Find any suitable note within the tolerance
+       double tolerance = maxTolerance;
+       double signed_error = maxTolerance;
+       auto best = m_chords.end();
+       for (auto it = m_chordIt; it != m_chords.end() && it->begin <= time + tolerance; ++it) {
+               if (it->status > 1) continue; // Already picked, can't play again
+               if (!picked) { // Tapping rules
+                       if (it->status > 0) continue; // Already tapped, can't tap again
+                       if (!it->tappable) continue; // Cannot tap
+                       auto tmp = it;
+                       if ( (tmp == m_chords.begin() || (--tmp)->status == 0) &&
+                         m_starpower.get() < 0.001) continue; // The previous note not played
+               }
+               if (!it->matches(frets)) continue;
+               double error = std::abs(it->begin - time);
+               if (error < tolerance) {
+                       best = it;
+                       tolerance = error;
+                       signed_error = it->begin - time;
+               }
+       }
+       if (best == m_chords.end()) fail(time, picked ? -1 : -2);
+       else { // Correctly hit
+               m_chordIt = best;
+               int& score = m_chordIt->score;
+               m_score -= score;
+               m_starmeter -= score;
+               bool first_time = (score == 0 ? true : false);
+               if (first_time) m_streak++;
+               if (m_streak > m_longestStreak) m_longestStreak = m_streak;
+               score = points(tolerance);
+               score *= m_chordIt->polyphony;
+               m_chordIt->status = 1 + picked;
+               m_score += score;
+               m_starmeter += score;
+               m_correctness.setTarget(1.0, true); // Instantly go to one
+               errorMeter(signed_error);
+               for (unsigned fret = 0; fret < m_pads; ++fret) {
+                       if (!m_chordIt->fret[fret]) continue;
+                       Duration const* dur = m_chordIt->dur[fret];
+                       m_events.push_back(Event(time, 1 + picked, fret, dur));
+                       m_notes[dur] = m_events.size();
+                       m_holds[fret] = m_events.size();
+                       if (first_time) {
+                               m_flames[fret].push_back(AnimValue(0.0, flameSpd));
+                               m_flames[fret].back().setTarget(1.0);
+                       }
+               }
+               // Handle Big Rock Ending scoring
+               if (m_drumfillHits > 0 && *best == m_chords.back()) endBRE();
+       }
+}
+
+/// Modify color based on things like GodMode and solos
+Color const GuitarGraph::colorize(Color c, double time) const {
+       const static Color godmodeC(0.5f, 0.5f, 1.0f); // Color for full GodMode
+       const static Color soloC(0.2f, 0.9f, 0.2f); // Color for solo notes
+       // Solo? (cannot use m_solo, as time can be in future)
+       for (auto const& solo: m_solos) {
+               if (time >= solo.begin && time <= solo.end) { c = soloC; break; }
+       }
+       double f = m_starpower.get();
+       if (f < 0.001) return c;
+       f = std::sqrt(std::sqrt(f));
+       c.r = blend(godmodeC.r, c.r, f);
+       c.g = blend(godmodeC.g, c.g, f);
+       c.b = blend(godmodeC.b, c.b, f);
+       return c;
+}
+
+namespace {
+       const float fretWid = 0.5f; // The actual width is two times this
+
+       /// Create a symmetric vertex pair of given data
+       void vertexPair(glutil::VertexArray& va, float x, float y, Color color, float ty, float fretW = fretWid, float zn = 0.0) {
+               color.a = y2a(y);
+               {
+                       glmath::vec4 c(color.r, color.g, color.b, color.a);
+                       va.color(c).texCoord(0.0f, ty).vertex(x - fretW, y, 0.1 + zn);
+                       va.color(c).texCoord(1.0f, ty).vertex(x + fretW, y, 0.1 - zn);
+               }
+       }
+
+}
+
+void GuitarGraph::drawNotes(double time) {
+       glutil::UseDepthTest depthtest;
+       // Draw drum fills / Big Rock Endings
+       bool drumfill = m_dfIt != m_drumfills.end() && m_dfIt->begin - time <= future;
+       if (drumfill) {
+               drawDrumfill(m_dfIt->begin - time, m_dfIt->end - time);
+               // If it is a drum fill (not BRE), draw the final note
+               if (m_drums && (!m_song.hasBRE || (m_dfIt != (--m_drumfills.end())))) {
+                       Color c(0.7f, 0.7f, 0.7f);
+                       if (m_drumfillHits >= drumfill_min_rate * (m_dfIt->end - m_dfIt->begin))
+                               c = colorize(color(4), m_dfIt->end);
+                       drawNote(4, c, m_dfIt->end - time, m_dfIt->end - time, 0, false, false, 0, 0);
+               }
+       }
+       if (time != time) return;  // Check that time is not NaN
+
+       glmath::dvec4 neckglow;  // Used for calculating the average neck color
+
+       // Iterate chords
+       for (auto& chord: m_chords) {
+               float tBeg = chord.begin - time;
+               float tEnd = m_drums ? tBeg : chord.end - time;
+               if (tBeg > future) break;
+               if (tEnd < past) {
+                       chord.passed = true; // Mark as past note for rewinding
+                       continue;
+               }
+               // Don't show past chords when rewinding
+               if (chord.passed || (tBeg > maxTolerance && chord.status > 0)) continue;
+               // Handle notes during drum fills / BREs
+               if (drumfill && chord.begin >= m_dfIt->begin - maxTolerance
+                 && chord.begin <= m_dfIt->end + maxTolerance) {
+                       if (chord.status == 0) {
+                               chord.status = chord.polyphony; // Mark as hit so that streak doesn't reset
+                               m_drumfillScore += chord.polyphony * 50.0; // Count points from notes under drum fill
+                       }
+                       continue;
+               }
+               // Loop through the frets
+               for (unsigned fret = 0; fret < m_pads; ++fret) {
+                       if (!chord.fret[fret] || (tBeg > maxTolerance && chord.releaseTimes[fret] > 0)) continue;
+                       if (tEnd > future) tEnd = future;
+                       unsigned event = m_notes[chord.dur[fret]];
+                       float glow = 0.0f;
+                       float whammy = 0.0f;
+                       if (event > 0) {
+                               glow = m_events[event - 1].glow.get();
+                               whammy = m_events[event - 1].whammy.get();
+                       }
+                       // Set the default color (disabled state)
+                       Color c(0.5f, 0.5f, 0.5f);
+                       if (!joining(time)) {
+                               // Get a color for the fret and adjust it if GodMode is on
+                               c = colorize(color(fret), chord.begin);
+                               if (glow > 0.1f) { neckglow = neckglow + glmath::dvec4(c.r, c.g, c.b, 1.0); } // neck glow tracking
+                               // Further adjust the color if the note is hit
+                               c.r += glow * 0.2f;
+                               c.g += glow * 0.2f;
+                               c.b += glow * 0.2f;
+                       }
+                       if (glow > 0.5f && tEnd < 0.1f && chord.hitAnim[fret].get() == 0.0) chord.hitAnim[fret].setTarget(1.0);
+                       // Call the actual note drawing function
+                       bool tap = m_drums ? chord.fret_cymbal[fret] : chord.tappable;
+                       drawNote(fret, c, tBeg, tEnd, whammy, tap, glow > 0.5f, chord.hitAnim[fret].get(),
+                         chord.releaseTimes[fret] > 0.0 ? chord.releaseTimes[fret] - time : getNaN());
+               }
+       }
+       // Mangle neck glow color as needed
+       // Convert sum into average and apply correctness as premultiplied alpha
+       if (neckglow.w > 0.0) neckglow = (correctness() / neckglow.w) * neckglow;
+       // Blend into use slowly
+       m_neckglowColor = glmath::mix(m_neckglowColor, neckglow, 0.05);
+}
+
+double GuitarGraph::neckWidth() const { return std::min(0.5, m_width.get()); }
+
+void GuitarGraph::drawNeckStuff(double time) {
+       using namespace glmath;
+       mat4 m = translate(vec3(0.0f, 0.5 * virtH(), 0.0f)) * rotate(g_angle, vec3(1.0f, 0.0f, 0.0f)) * scale(neckWidth() / 5.0f);
+       // Do some jumping for drums
+       if (m_drums) {
+               float jumpanim = m_drumJump.get();
+               if (jumpanim == 1.0) m_drumJump.setTarget(0.0);
+               if (jumpanim > 0) m = translate(vec3(0.0f, -m_drumJump.get() * 0.01, 0.0f)) * m;
+       }
+       //Transform trans(m);
+       ViewTrans trans(m);
+
+       // Draw the neck
+       {
+               UseTexture tex(*m_neck);
+               glutil::VertexArray va;
+               float w = (m_drums ? 2.0f : 2.5f);
+               float texCoord = 0.0f;
+               float tBeg = 0.0f, tEnd;
+               for (auto it = m_song.beats.begin(); it != m_song.beats.end() && tBeg < future; ++it, texCoord += texCoordStep, tBeg = tEnd) {
+                       tEnd = *it - time;
+                       //if (tEnd < past) continue;
+                       if (tEnd > future) {
+                               // Crop the end off
+                               texCoord -= texCoordStep * (tEnd - future) / (tEnd - tBeg);
+                               tEnd = future;
+                       }
+                       glmath::vec4 c = colorize(Color::alpha(time2a(tEnd)), time + tBeg).linear();
+                       va.normal(0.0f, 1.0f, 0.0f).color(c).texCoord(0.0f, texCoord).vertex(-w, time2y(tEnd));
+                       va.normal(0.0f, 1.0f, 0.0f).color(c).texCoord(1.0f, texCoord).vertex(w, time2y(tEnd));
+               }
+               va.draw();
+       }
+
+       if (!menuOpen()) {
+               // Draw the cursor
+               {
+                       float level = m_pressed_anim[0].get();
+                       ColorTrans c(Color(level, level, level));
+                       drawBar(0.0, 0.01f);
+               }
+               // Fret buttons on cursor
+               for (unsigned fret = m_drums; fret < m_pads; ++fret) {
+                       float x = getFretX(fret);
+                       float l = m_pressed_anim[fret + !m_drums].get();
+                       // The note head
+                       {
+                               ColorTrans c(colorize(color(fret), time)); // Get a color for the fret and adjust it if GodMode is on
+                               m_button.dimensions.center(time2y(0.0)).middle(x);
+                               m_button.draw();
+                       }
+                       // Tap note indicator
+                       {
+                               ColorTrans c(Color(l, l, l));
+                               m_tap.dimensions = m_button.dimensions;
+                               m_tap.draw();
+                       }
+               }
+       }
+
+       drawNotes(time);
+
+       // Draw flames
+       for (unsigned fret = 0; fret < m_pads; ++fret) { // Loop through the frets
+               if (m_drums && fret == input::DRUMS_KICK) { // Skip bass drum
+                       m_flames[fret].clear(); continue;
+               }
+               Texture* ftex = &m_flame;
+               if (m_starpower.get() > 0.01) ftex = &m_flame_godmode;
+               float x = getFretX(fret);
+               for (auto it = m_flames[fret].begin(); it != m_flames[fret].end();) {
+                       float flameAnim = it->get();
+                       if (flameAnim == 1.0) {
+                               it = m_flames[fret].erase(it);
+                               continue;
+                       }
+                       float h = flameAnim * 4.0f * fretWid;
+                       UseTexture tblock(*ftex);
+                       glutil::VertexArray va;
+                       glmath::vec4 c(1.0, 1.0, 1.0, 1.0 - flameAnim);
+                       va.texCoord(0.0f, 1.0f).color(c).vertex(x - fretWid, time2y(0.0f), 0.0f);
+                       va.texCoord(1.0f, 1.0f).color(c).vertex(x + fretWid, time2y(0.0f), 0.0f);
+                       va.texCoord(0.0f, 0.0f).color(c).vertex(x - fretWid, time2y(0.0f), h);
+                       va.texCoord(1.0f, 0.0f).color(c).vertex(x + fretWid, time2y(0.0f), h);
+                       va.draw();
+                       ++it;
+               }
+       }
+       // Accuracy indicator
+       UseShader us(getShader("color"));
+       float maxsize = 1.5f;
+       float thickness = 0.12f;
+       float x = -2.5 - thickness;
+       float y = time2y(0.0);
+       float alpha = m_errorMeterFade.get();
+       float bgcol = m_errorMeterFlash.get();
+       // Indicator background
+       {
+               glmath::vec4 c(bgcol, bgcol, bgcol, 0.6f * alpha);
+               glutil::VertexArray va;
+               va.color(c).texCoord(0,0).vertex(x - thickness, y + maxsize);
+               va.color(c).texCoord(0,0).vertex(x, y + maxsize);
+               va.color(c).texCoord(0,0).vertex(x - thickness, y - maxsize);
+               va.color(c).texCoord(0,0).vertex(x, y - maxsize);
+               va.draw();
+       }
+       // Indicator bar
+       float error = m_errorMeter.get();
+       if (error != 0) {
+               if (m_errorMeter.get() == m_errorMeter.getTarget()) m_errorMeter.setTarget(0.0);
+               float y1 = 0, y2 = 0;
+               glmath::vec4 c;
+               if (error > 0) { c = glmath::vec4(0.0f, 1.0f, 0.0f, alpha); y2 = -maxsize * error; }
+               else { c = glmath::vec4(1.0f, 0.0f, 0.0f, alpha); y1 = -maxsize * error; }
+               glutil::VertexArray va;
+               va.color(c).texCoord(0,0).vertex(x - thickness, y1 + y);
+               va.color(c).texCoord(0,0).vertex(x, y1 + y);
+               va.color(c).texCoord(0,0).vertex(x - thickness, y2 + y);
+               va.color(c).texCoord(0,0).vertex(x, y2 + y);
+               va.draw();
+       }
+}
+
+/// Main drawing function (projection, neck, cursor...)
+void GuitarGraph::draw(double time) {
+       glutil::GLErrorChecker ec("GuitarGraph::draw");
+       ViewTrans view(m_cx.get(), 0.0, 0.75);  // Apply a per-player local perspective
+
+       drawNeckStuff(time);
+
+       if (m_neckglowColor.w > 0.0) {
+               // Neck glow drawing
+               using namespace glmath;
+               ColorTrans c(glmath::diagonal(m_neckglowColor));
+               m_neckglow.dimensions.screenBottom(0.0).middle().fixedWidth(neckWidth());
+               m_neckglow.draw();
+       }
+
+       drawInfo(time); // Go draw some texts and other interface stuff
+}
+
+/// Draws a single note
+/// The times passed are normalized to [past, future]
+void GuitarGraph::drawNote(int fret, Color color, float tBeg, float tEnd, float whammy, bool tappable, bool hit, double hitAnim, double releaseTime) {
+       float x = getFretX(fret);
+       if (m_drums && fret == input::DRUMS_KICK) { // Bass drum? That's easy
+               if (hit || hitAnim > 0) return; // Hide it if it's hit
+               color.a = time2a(tBeg);
+               {
+                       ColorTrans c(color);
+                       drawBar(tBeg, 0.015f);
+               }
+               return;
+       }
+       // If the note is hit, limit it to cursor position
+       float yBeg = (hit || hitAnim > 0) ? std::min(time2y(0.0), time2y(tBeg)): time2y(tBeg);
+       float yEnd = time2y(tEnd);
+       // Long notes
+       if (yBeg - 2 * fretWid >= yEnd) {
+               // A hold is released? Let it go...
+               if (releaseTime == releaseTime && tEnd - releaseTime > 0.1) yBeg = time2y(releaseTime);
+               // Short note? Render minimum renderable length
+               if (yEnd > yBeg - 3 * fretWid) yEnd = yBeg - 3 * fretWid;
+               // Skip the fret head
+               float y = yBeg + fretWid;
+               y -= fretWid;
+               float fretY = y;
+               color.a = clamp(time2a(tBeg)*2.0f,0.0f,1.0f);
+               y -= fretWid;
+               // Render the middle
+               bool doanim = hit || hitAnim > 0; // Enable glow?
+               Texture const& tex(doanim ? m_tail_glow : m_tail); // Select texture
+               UseTexture tblock(tex);
+               glutil::VertexArray va;
+               double t = m_audio.getPosition() * 10.0; // Get adjusted time value for animation
+               vertexPair(va, x, y, color, doanim ? tc(y + t) : 1.0f); // First vertex pair
+               while ((y -= fretWid) > yEnd + fretWid) {
+                       if (whammy > 0.1) {
+                               // FIXME: Should use Boost/C++11 random, and use the same seed for both eyes in stereo3d.
+                               float r1 = rand() / double(RAND_MAX) - 0.5;
+                               float r2 = rand() / double(RAND_MAX) - 0.5;
+                               vertexPair(va, x+0.2*(cos(y*whammy)+r1), y, color, tc(y + t), fretWid, 0.1*(sin(y*whammy)+r2));
+                       } else vertexPair(va, x, y, color, doanim ? tc(y + t) : 0.5f);
+               }
+               // Render the end
+               y = yEnd + fretWid;
+               vertexPair(va, x, y, color, doanim ? tc(y + t) : 0.20f);
+               vertexPair(va, x, yEnd, color, doanim ? tc(yEnd + t) : 0.0f);
+               glDisable(GL_DEPTH_TEST);
+               va.draw();
+               glEnable(GL_DEPTH_TEST);
+               // Render the fret object
+               {
+                       ColorTrans c(color);
+                       m_fretObj.draw(x, fretY, 0.0f);
+               }
+       } else {
+               // Too short note: only render the ring
+               if (hitAnim > 0.0 && tEnd <= maxTolerance) {
+                       float s = 1.0 - hitAnim;
+                       color.a = s;
+                       {
+                               ColorTrans c(color);
+                               m_fretObj.draw(x, yBeg, 0.0f, s);
+                       }
+               } else {
+                       color.a = clamp(time2a(tBeg)*2.0f,0.0f,1.0f);
+                       {
+                               ColorTrans c(color);
+                               m_fretObj.draw(x, yBeg, 0.0f);
+                       }
+               }
+       }
+       // Hammer note caps
+       if (tappable) {
+               float l = std::max(0.3, m_correctness.get());
+               float s = 1.0 - hitAnim;
+               ColorTrans c(Color(l, l, l, s));
+               m_tappableObj.draw(x, yBeg, 0.0f, s);
+       }
+}
+
+/// Draws a drum fill
+void GuitarGraph::drawDrumfill(float tBeg, float tEnd) {
+       for (unsigned fret = m_drums; fret < m_pads; ++fret) { // Loop through the frets
+               float x = -2.0f + fret - 0.5f * m_drums;
+               float yBeg = time2y(tBeg);
+               float yEnd = time2y(tEnd <= future ? tEnd : future);
+               float tcEnd = tEnd <= future ? 0.0f : 0.25f;
+               Color c = color(fret);
+               UseTexture tblock(m_tail_drumfill);
+               glutil::VertexArray va;
+               vertexPair(va, x, yBeg, c, 1.0f); // First vertex pair
+               if (std::abs(yEnd - yBeg) > 4.0 * fretWid) {
+                       float y = yBeg - 2.0 * fretWid;
+                       vertexPair(va, x, y, c, 0.75f);
+                       while ((y -= 10.0 * fretWid) > yEnd + 2.0 * fretWid)
+                               vertexPair(va, x, y, c, 0.5f);
+                       vertexPair(va, x, yEnd + 2.0 * fretWid, c, 0.25f);
+               }
+               vertexPair(va, x, yEnd, c, tcEnd); // Last vertex pair
+               va.draw();
+       }
+}
+
+/// Draw popups and other info texts
+void GuitarGraph::drawInfo(double time) {
+       // Draw score/streak counters
+       if (!menuOpen()) {
+               using namespace glmath;
+               Transform trans(translate(vec3(0.0f, 0.0f, -0.5f)));  // Add some depth
+               double w = neckWidth();
+               double xcor = 0.53 * w;
+               double h = 0.15 * w;
+               // Draw scores
+               {
+                       ColorTrans c(Color(0.1, 0.3, 1.0, 0.9));
+                       m_scoreText->render((boost::format("%04d") % getScore()).str());
+                       m_scoreText->dimensions().middle(-xcor).fixedHeight(h).screenBottom(-0.22);
+                       m_scoreText->draw();
+               }
+               // Draw streak counter
+               {
+                       ColorTrans c(Color(0.6, 0.6, 0.7, 0.95));
+                       m_streakText->render(std::to_string(unsigned(m_streak)) + "/"
+                         + std::to_string(unsigned(m_longestStreak)));
+                       m_streakText->dimensions().middle(-xcor).fixedHeight(h*0.75).screenBottom(-0.18);
+                       m_streakText->draw();
+               }
+       }
+       // Status text at the bottom
+       {
+               ColorTrans c(Color::alpha(std::abs(std::fmod(time, 1.0) - 0.5f) * 2.0f));
+               if (canActivateStarpower()) {
+                       m_text.dimensions.screenBottom(-0.02).middle(-0.12);
+                       if (!m_drums) m_text.draw(_("God Mode Ready!"));
+                       else if (m_dfIt != m_drumfills.end() && time >= m_dfIt->begin && time <= m_dfIt->end) m_text.draw(_("Drum Fill!"));
+               } else if (m_solo) {
+                       m_text.dimensions.screenBottom(-0.02).middle(-0.03);
+                       m_text.draw(_("Solo!"));
+               }
+       }
+       drawPopups();
+}
+
+/// Draw a bar for drum bass pedal/note
+void GuitarGraph::drawBar(double time, float h) {
+       UseShader shader(getShader("color"));
+       glutil::VertexArray va;
+
+       va.normal(0.0f, 1.0f, 0.0f).texCoord(0,0).vertex(-2.5f, time2y(time + h));
+       va.normal(0.0f, 1.0f, 0.0f).texCoord(0,0).vertex(2.5f, time2y(time + h));
+       va.normal(0.0f, 1.0f, 0.0f).texCoord(0,0).vertex(-2.5f, time2y(time - h));
+       va.normal(0.0f, 1.0f, 0.0f).texCoord(0,0).vertex(2.5f, time2y(time - h));
+
+       va.draw();
+}
+
+bool GuitarGraph::updateTom(unsigned int tomTrack, unsigned int fretId) {
+       auto tomTrackIt = m_track_index->second->nm.find(tomTrack);
+       if (tomTrackIt == m_track_index->second->nm.end()) return false;  // Track not found
+       auto chordIt = m_chords.begin();
+       for (Duration const& tom: tomTrackIt->second) {
+               // Iterate over chords of the song
+               for (; chordIt != m_chords.end() && chordIt->begin < tom.end; ++chordIt) {
+                       if (!chordIt->fret[fretId]) continue;  // Chord doesn't contain the fret we are looking for
+                       chordIt->fret_cymbal[fretId] = (chordIt->begin < tom.begin);  // If not within tom, it is a cymbal
+               }
+       }
+       return true;
+}
+
+/// Create the Chord structures for the current track/difficulty level
+void GuitarGraph::updateChords() {
+       m_chords.clear(); m_solos.clear(); m_drumfills.clear();
+       m_scoreFactor = 0;
+       NoteMap const& nm = m_track_index->second->nm;
+
+       Durations::size_type pos[5] = {}, size[5] = {};
+       Durations const* durations[5] = {};
+       for (unsigned fret = 0; fret < m_pads; ++fret) {
+               int basepitch = diffv[m_level].basepitch;
+               auto it = nm.find(basepitch + fret);
+               if (it == nm.end()) continue;
+               durations[fret] = &it->second;
+               size[fret] = durations[fret]->size();
+       }
+       double lastEnd = 0.0;
+       const double tapMaxDelay = 0.15;  // Delay from the end of the previous note
+       while (true) {
+               // Find the earliest
+               double t = getInf();
+               for (unsigned fret = 0; fret < m_pads; ++fret) {
+                       if (pos[fret] == size[fret]) continue;
+                       Durations const& dur = *durations[fret];
+                       t = std::min(t, dur[pos[fret]].begin);
+               }
+               // Quit processing if none were left
+               if (t == getInf()) break;
+               // Construct a chord
+               GuitarChord c;
+               c.begin = t;
+               int tapfret = -1;
+               for (unsigned fret = 0; fret < m_pads; ++fret) {
+                       if (pos[fret] == size[fret]) continue;
+                       Durations const& dur = *durations[fret];
+                       Duration const& d = dur[pos[fret]];
+                       if (d.begin > t) continue;
+                       c.end = std::max(c.end, d.end);
+                       c.fret[fret] = true;
+                       c.dur[fret] = &d;
+                       tapfret = fret;
+                       ++c.polyphony;
+                       ++pos[fret];
+                       m_scoreFactor += 50;
+                       if (d.end - d.begin > 0.0) m_scoreFactor += 50.0 * (d.end - d.begin);
+               }
+               // Check if the chord is tappable
+               if (!m_drums && c.polyphony == 1) {
+                       c.tappable = true;
+                       if (m_chords.empty() || m_chords.back().fret[tapfret]) c.tappable = false;
+                       if (lastEnd + tapMaxDelay < t) c.tappable = false;
+               }
+               lastEnd = c.end;
+               m_chords.push_back(c);
+       }
+       m_chordIt = m_chords.begin();
+
+       m_hasTomTrack = false;
+       if(m_drums) {
+               // HiHat/Rack Tom 1 detection
+               m_hasTomTrack = updateTom(110, input::DRUMS_YELLOW) || m_hasTomTrack;
+               // Ride Cymbal/Rack Tom 2 detection
+               m_hasTomTrack = updateTom(111, input::DRUMS_BLUE) || m_hasTomTrack;
+               // Crash Cymbal/Floor Tom detection
+               m_hasTomTrack = updateTom(112, input::DRUMS_GREEN) || m_hasTomTrack;
+       }
+
+       // Solos
+       auto solotrack = nm.find(103); // 103 = Expert Solo - used for every difficulty
+       if (solotrack != nm.end()) {
+               for (auto const& solo: solotrack->second) {
+                       // Require at least 6s length in order to avoid starpower sections
+                       if (solo.end - solo.begin >= 6.0) m_solos.push_back(solo);
+               }
+       }
+       // Drum fills
+       auto dfTrack = nm.find(124); // 124 = drum fills (actually 120-124, but one is enough)
+       if (dfTrack != nm.end()) {
+               m_drumfills = dfTrack->second;
+               // Big Rock Ending scoring (single hold note)
+               if (!m_drums || m_song.hasBRE)
+                       m_scoreFactor += 50.0 * (m_drumfills.back().end - m_drumfills.back().begin);
+       }
+       m_dfIt = m_drumfills.end();
+
+       // Normalize maximum score factor
+       m_scoreFactor = 10000.0 / m_scoreFactor;
+}
diff --git a/game/guitargraph.hh b/game/guitargraph.hh
new file mode 100644 (file)
index 0000000..8d0d363
--- /dev/null
@@ -0,0 +1,158 @@
+#pragma once
+
+#include "instrumentgraph.hh"
+#include "3dobject.hh"
+
+class Song;
+
+struct GuitarChord {
+       double begin, end;
+       bool fret[5];
+       bool fret_cymbal[5];
+       Duration const* dur[5];
+       int polyphony;
+       bool tappable;
+       bool passed; // Set to true for notes that should not re-appear when rewinding
+       int status; // Guitar: 0 = not played, 1 = tapped, 2 = picked, drums: number of pads hit
+       int score;
+       AnimValue hitAnim[5];
+       double releaseTimes[5];
+       GuitarChord(): begin(), end(), polyphony(), tappable(), passed(), status(), score() {
+               std::fill(fret, fret + 5, false);
+               std::fill(fret_cymbal, fret_cymbal + 5, false);
+               std::fill(dur, dur + 5, static_cast<Duration const*>(nullptr));
+               std::fill(hitAnim, hitAnim + 5, AnimValue(0.0, 1.5));
+               std::fill(releaseTimes, releaseTimes + 5, 0.0);
+       }
+       bool matches(bool const* fretPressed) {
+               if (polyphony == 1) {
+                       bool shadowed = true;
+                       for (int i = 0; i < 5; ++i) {
+                               if (fret[i]) shadowed = false;
+                               if (!shadowed && fret[i] != fretPressed[i]) return false;
+                       }
+                       return true;
+               }
+               return std::equal(fret, fret + 5, fretPressed);
+       }
+};
+
+static inline bool operator==(GuitarChord const& a, GuitarChord const& b) {
+       return std::equal(a.fret, a.fret + 5, b.fret);
+}
+
+/// handles drawing of notes and waves
+class GuitarGraph: public InstrumentGraph {
+  public:
+       /// constructor
+       GuitarGraph(Audio& audio, Song const& song, input::DevicePtr dev, int number);
+       /** draws GuitarGraph
+        * @param time at which time to draw
+        */
+       void draw(double time);
+       void engine();
+       std::string getTrack() const;
+       std::string getDifficultyString() const;
+       std::string getModeId() const;
+       void changeTrack(int dir = 1);
+       void changeDifficulty(int dir = 1);
+       double getWhammy() const { return m_whammy; }
+
+  private:
+       // refactoring methods
+       void initDrums();
+       void initGuitar();
+       void setupJoinMenuDifficulty();
+       void setupJoinMenuDrums();
+       void setupJoinMenuGuitar();
+       // Engine / scoring utils
+       void updateNeck();
+       bool canActivateStarpower() { return (m_starmeter > 6000); }
+       void activateStarpower();
+       void errorMeter(float error);
+       void fail(double time, int fret);
+       void endHold(unsigned fret, double time = 0.0);
+       void endBRE();
+       void endStreak() { m_streak = 0; m_bigStreak = 0; }
+       void updateDrumFill(double time);
+       void drumHit(double time, unsigned layer, unsigned pad);
+       void guitarPlay(double time, input::Event const& ev);
+
+       // Media
+       Texture m_tail;
+       Texture m_tail_glow;
+       Texture m_tail_drumfill;
+       Texture m_flame;
+       Texture m_flame_godmode;
+       Texture m_tap; /// image for 2d HOPO note cap
+       Texture m_neckglow; /// image for the glow from the bottom of the neck
+       glmath::dvec4 m_neckglowColor;
+       Object3d m_fretObj; /// 3d object for regular note
+       Object3d m_tappableObj; /// 3d object for the HOPO note cap
+       std::vector<std::string> m_samples; /// sound effects
+       std::unique_ptr<Texture> m_neck; /// necks
+       std::unique_ptr<SvgTxtThemeSimple> m_scoreText;
+       std::unique_ptr<SvgTxtThemeSimple> m_streakText;
+
+       // Flags
+       bool m_drums; /// are we using drums?
+
+       // Track stuff
+       enum Difficulty {
+               DIFFICULTY_KIDS,     // Kids
+               DIFFICULTY_SUPAEASY, // Easy
+               DIFFICULTY_EASY,     // Medium
+               DIFFICULTY_MEDIUM,   // Hard
+               DIFFICULTY_AMAZING,  // Expert
+               DIFFICULTYCOUNT
+       } m_level;
+       void setupJoinMenu();
+       void updateJoinMenu();
+       void nextTrack(bool fast = false);
+       void setTrack(const std::string& track);
+       void difficultyAuto(bool tryKeepCurrent = false);
+       bool difficulty(Difficulty level, bool check_only = false);
+       InstrumentTracksConstPtr m_instrumentTracks; /// tracks
+       InstrumentTracksConstPtr::const_iterator m_track_index;
+       unsigned m_holds[max_panels]; /// active hold notes
+
+       // Graphics functions
+       Color const colorize(Color c, double time) const;
+       void drawNeckStuff(double time);  ///< Anything in neck coordinates
+       void drawNotes(double time);  ///< Frets etc.
+       void drawBar(double time, float h);
+       void drawNote(int fret, Color, float tBeg, float tEnd, float whammy = 0, bool tappable = false, bool hit = false, double hitAnim = 0.0, double releaseTime = 0.0);
+       void drawDrumfill(float tBeg, float tEnd);
+       void drawInfo(double time);
+       float getFretX(int fret) { return (-2.0f + fret- (m_drums ? 0.5 : 0)) * (m_leftymode.b() ? -1 : 1); }
+       double neckWidth() const; ///< Get the currently effective neck width (0.5 or less)
+       // Chords & notes
+       void updateChords();
+       bool updateTom(unsigned int tomTrack, unsigned int fretId); // returns true if this tom track exists
+       double getNotesBeginTime() const { return m_chords.front().begin; }
+       typedef std::vector<GuitarChord> Chords;
+       Chords m_chords;
+       Chords::iterator m_chordIt;
+       typedef std::map<Duration const*, unsigned> NoteStatus; // Note in song to m_events[unsigned - 1] or 0 for not played
+       NoteStatus m_notes;
+       std::vector<Duration> m_solos; /// holds guitar solos
+       std::vector<Duration> m_drumfills; /// holds drum fills (used for activating GodMode)
+       Durations::const_iterator m_dfIt; /// current drum fill
+
+       // Animation & misc score keeping
+       std::vector<AnimValue> m_flames[max_panels]; /// flame effect queues for each fret
+       AnimValue m_errorMeter;
+       AnimValue m_errorMeterFlash;
+       AnimValue m_errorMeterFade;
+       AnimValue m_drumJump;
+       AnimValue m_starpower; /// how long the GodMode lasts (also used in fading the effect)
+       double m_starmeter; /// when this is high enough, GodMode becomes available
+       double m_drumfillHits; /// keeps track that enough hits are scored
+       double m_drumfillScore; /// max score for the notes under drum fill
+       double m_soloTotal; /// maximum solo score
+       double m_soloScore; /// score during solo
+       bool m_solo; /// are we currently playing a solo
+       bool m_hasTomTrack; /// true if the track has at least one tom track
+       bool m_proMode; /// true if pro drums. (it would be better to split guitar/trum tracks into sep classes)
+       double m_whammy; /// whammy value for pitch shift
+};
diff --git a/game/hiscore.cc b/game/hiscore.cc
new file mode 100644 (file)
index 0000000..47ef4ed
--- /dev/null
@@ -0,0 +1,74 @@
+#include "hiscore.hh"
+
+#include "libxml++-impl.hh"
+
+#include <algorithm>
+#include <sstream>
+#include <stdexcept>
+
+bool Hiscore::reachedHiscore(unsigned score, unsigned songid, std::string const& track) const {
+       if (score > 10000) throw std::logic_error("Invalid score value");
+       if (score < 2000) return false; // come on, did you even try to sing?
+
+       unsigned position = 0;
+       for (auto const& elem: m_hiscore) {
+               if (elem.songid != songid) continue;
+               if (elem.track != track) continue;
+               if (score > elem.score) return true; // seems like you are in top 3!
+               if (++position == 3) return false; // not in top 3 -> leave
+       }
+       return true; // nothing found for that song -> true
+}
+
+void Hiscore::addHiscore(unsigned score, unsigned playerid, unsigned songid, std::string const& track) {
+       if (track.empty()) throw std::runtime_error("No track given");
+       if (!reachedHiscore(score, songid, track)) return;
+       m_hiscore.insert(HiscoreItem(score, playerid, songid, track));
+}
+
+Hiscore::HiscoreVector Hiscore::queryHiscore(unsigned max, unsigned playerid, unsigned songid, std::string const& track) const {
+       HiscoreVector hv;
+       for (auto const& h: m_hiscore) {
+               if (playerid != unsigned(-1) && playerid != h.playerid) continue;
+               if (songid != unsigned(-1) && songid != h.songid) continue;
+               if (!track.empty() && track != h.track) continue;
+               if (--max == 0) break;
+               hv.push_back(h);
+       }
+       return hv;
+}
+
+bool Hiscore::hasHiscore(unsigned songid) const {
+       for (auto const& h: m_hiscore) if (songid == h.songid) return true;
+       return false;
+}
+
+void Hiscore::load(xmlpp::NodeSet const& nodes) {
+       for (auto const& n: nodes) {
+               xmlpp::Element& element = dynamic_cast<xmlpp::Element&>(*n);
+               xmlpp::Attribute* a_playerid = element.get_attribute("playerid");
+               if (!a_playerid) throw std::runtime_error("Attribute playerid not found");
+               xmlpp::Attribute* a_songid = element.get_attribute("songid");
+               if (!a_songid) throw std::runtime_error("Attribute songid not found");
+               xmlpp::Attribute* a_track = element.get_attribute("track");
+
+               int playerid = std::stoi(a_playerid->get_value());
+               int songid = std::stoi(a_songid->get_value());
+
+               auto tn = xmlpp::get_first_child_text(element);
+               if (!tn) throw std::runtime_error("Score not found");
+               int score = std::stoi(tn->get_content());
+
+               addHiscore(score, playerid, songid, a_track ? a_track->get_value() : "vocals");
+       }
+}
+
+void Hiscore::save(xmlpp::Element *hiscores) {
+       for (auto const& h: m_hiscore) {
+               xmlpp::Element* hiscore = xmlpp::add_child_element(hiscores, "hiscore");
+               hiscore->set_attribute("playerid", std::to_string(h.playerid));
+               hiscore->set_attribute("songid", std::to_string(h.songid));
+               hiscore->set_attribute("track", h.track);
+               hiscore->add_child_text(std::to_string(h.score));
+       }
+}
diff --git a/game/hiscore.hh b/game/hiscore.hh
new file mode 100644 (file)
index 0000000..3c116f0
--- /dev/null
@@ -0,0 +1,59 @@
+#pragma once
+
+#include "libxml++.hh"
+
+#include <set>
+#include <string>
+#include <vector>
+
+/// This struct holds together information for a single item of a highscore.
+struct HiscoreItem {
+       unsigned score, playerid, songid;
+       std::string track;
+       HiscoreItem(unsigned score, unsigned playerid, unsigned songid, std::string const& track):
+         score(score), playerid(playerid), songid(songid), track(track) {}
+       /// Operator for sorting by score. Reverse order, so that highest is first!
+       bool operator<(HiscoreItem const& other) const { return other.score < score; }
+};
+
+class Hiscore {
+public:
+       void load(xmlpp::NodeSet const& n);
+       void save(xmlpp::Element *players);
+
+       /**Check if you reached a new highscore.
+
+         You must be in TOP 3 of a specific song to enter the highscore list.
+         This is because it will take forever to fill more.
+         And people refuse to enter their names if they are not close to the top.
+
+         @param score is a value between 0 and 10000. values below 2000 will lead to instant disqualification.
+         @return true if the score make it into the list
+         @return false if addNewHiscore does not make sense for that score.
+         */
+       bool reachedHiscore(unsigned score, unsigned songid, std::string const& track) const;
+
+       /**Add a specific highscore into the list.
+
+         @pre Hiscore is added.
+
+         There is no check regarding if it is useful to add this hiscore.
+         To check this, use reachedHiscore() first.
+
+         The method will check if all ids are non-negative and the score
+         in its valid interval. If one of this conditions is not net a
+         HiscoreException will be raised.
+         */
+       void addHiscore(unsigned score, unsigned playerid, unsigned songid, std::string const& track);
+
+       typedef std::vector<HiscoreItem> HiscoreVector;
+
+       /// This queries the database for a sorted vector of highscores. The defaults mean to query everything.
+       /// @param max limits the number of elements returned.
+       HiscoreVector queryHiscore(unsigned max, unsigned playerid, unsigned songid, std::string const& track) const;
+       bool hasHiscore(unsigned songid) const;
+       std::size_t size() const { return m_hiscore.size(); }
+private:
+       typedef std::multiset<HiscoreItem> hiscore_t;
+       hiscore_t m_hiscore;
+};
diff --git a/game/i18n.hh b/game/i18n.hh
new file mode 100644 (file)
index 0000000..f14c7e0
--- /dev/null
@@ -0,0 +1,27 @@
+#pragma once
+
+#include <boost/locale.hpp>
+#include <iostream>
+#include "fs.hh"
+
+#define _(x) boost::locale::translate(x).str()
+#define translate_noop(x) x
+
+class TranslationEngine {
+public:
+       TranslationEngine(const char *package) {
+               boost::locale::generator gen;
+               gen.add_messages_path(getLocaleDir().string());
+               gen.add_messages_domain(package);
+               try {
+                       std::locale::global(gen(""));
+               } catch (...) {
+                       std::clog << "locale/warning: Unable to detect locale, will try to fallback to en_US.UTF-8" << std::endl;
+                       std::locale::global(gen("en_US.UTF-8"));
+               }
+       };
+       static bool enabled() {
+               return true;
+       };
+
+};
\ No newline at end of file
diff --git a/game/image.cc b/game/image.cc
new file mode 100644 (file)
index 0000000..e4924ed
--- /dev/null
@@ -0,0 +1,223 @@
+#include "image.hh"
+
+#include <boost/filesystem/fstream.hpp>
+#include <boost/filesystem/path.hpp>
+#include <jpeglib.h>
+#include <png.h>
+
+#include <iostream>
+#include <string>
+
+using fs::ofstream;
+using fs::ifstream;
+
+namespace {
+       void writePngHelper(png_structp pngPtr, png_bytep data, png_size_t length) {
+               static_cast<std::ostream*>(png_get_io_ptr(pngPtr))->write((char*)data, length);
+       }
+
+       void readPngHelper(png_structp pngPtr, png_bytep data, png_size_t length) {
+               static_cast<std::istream*>(png_get_io_ptr(pngPtr))->read((char*)data, length);
+       }
+       void loadPNG_internal(png_structp pngPtr, png_infop infoPtr, ifstream& file, Bitmap& bitmap, std::vector<png_bytep>& rows) {
+               if (setjmp(png_jmpbuf(pngPtr))) throw std::runtime_error("Reading PNG failed");
+               png_set_read_fn(pngPtr,(png_voidp)&file, readPngHelper);
+               png_read_info(pngPtr, infoPtr);
+               png_set_expand(pngPtr);  // Expand everything to RGB(A)
+               png_set_strip_16(pngPtr);  // Strip everything down to 8 bit/component
+               png_set_gray_to_rgb(pngPtr);  // Convert even grayscale to RGB(A)
+               png_set_filler(pngPtr, 0xFF, PNG_FILLER_AFTER); // Add alpha channel if it is missing
+               bitmap.resize(png_get_image_width(pngPtr, infoPtr), png_get_image_height(pngPtr, infoPtr));
+               rows.resize(bitmap.height);
+               for (unsigned y = 0; y < bitmap.height; ++y) rows[y] = reinterpret_cast<png_bytep>(&bitmap.buf[y * bitmap.width * 4]);
+               png_read_image(pngPtr, &rows[0]);
+       }
+
+       static void writePNG_internal(png_structp pngPtr, png_infop infoPtr, ofstream& file, unsigned w, unsigned h, int colorType, std::vector<png_bytep>& rows) {
+               // There must be no objects initialized within this function because longjmp will mess them up
+               if (setjmp(png_jmpbuf(pngPtr))) throw std::runtime_error("Writing PNG failed");
+               png_set_write_fn(pngPtr, &file, writePngHelper, nullptr);
+               png_set_IHDR(pngPtr, infoPtr, w, h, 8, colorType, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
+               png_write_info(pngPtr, infoPtr);
+               png_write_image(pngPtr, &rows[0]);
+               png_write_end(pngPtr, nullptr);
+       }
+
+       struct my_jpeg_error_mgr {
+               struct jpeg_error_mgr pub;      /* "public" fields */
+               jmp_buf setjmp_buffer;  /* for return to caller */
+       };
+
+       typedef struct my_jpeg_error_mgr * my_jpeg_error_mgr_ptr;
+
+       static inline void my_jpeg_error_exit(j_common_ptr cinfo) {
+               my_jpeg_error_mgr_ptr myerr = (my_jpeg_error_mgr_ptr) cinfo->err;
+               (*cinfo->err->output_message) (cinfo);
+               longjmp(myerr->setjmp_buffer, 1);
+       }
+
+       #if JPEG_LIB_VERSION < 80 && !defined(MEM_SRCDST_SUPPORTED)
+       // Implementation of jpeg_mem_src from
+       // http://stackoverflow.com/questions/5280756/libjpeg-ver-6b-jpeg-stdio-src-vs-jpeg-mem-src 
+
+       /* Read JPEG image from a memory segment */
+       static void init_source(j_decompress_ptr /*cinfo*/) {}
+       static boolean fill_input_buffer(j_decompress_ptr /*cinfo*/) {
+               //ERREXIT(cinfo, JERR_INPUT_EMPTY);
+               return true;
+       }
+       static void skip_input_data(j_decompress_ptr cinfo, long num_bytes) {
+               auto src = static_cast<jpeg_source_mgr*>(cinfo->src);
+               if (num_bytes > 0) {
+                       src->next_input_byte += num_bytes;
+                       src->bytes_in_buffer -= num_bytes;
+               }
+       }
+       static void term_source(j_decompress_ptr /*cinfo*/) {}
+       static void jpeg_mem_src(j_decompress_ptr cinfo, void* buffer, long nbytes) {
+               if (!cinfo->src) {   /* first time for this JPEG object? */
+                       cinfo->src = static_cast<jpeg_source_mgr*>(
+                         (*cinfo->mem->alloc_small) ((j_common_ptr)cinfo, JPOOL_PERMANENT, sizeof(jpeg_source_mgr))
+                       );
+               }
+               auto src = static_cast<jpeg_source_mgr*>(cinfo->src);
+               src->init_source = init_source;
+               src->fill_input_buffer = fill_input_buffer;
+               src->skip_input_data = skip_input_data;
+               src->resync_to_restart = jpeg_resync_to_restart; /* use default method */
+               src->term_source = term_source;
+               src->bytes_in_buffer = nbytes;
+               src->next_input_byte = static_cast<JOCTET*>(buffer);
+       }
+       #endif
+
+       typedef std::vector<std::uint8_t> BinaryBuffer;
+
+       BinaryBuffer readFile(fs::path const& path) {
+               BinaryBuffer ret;
+               fs::ifstream f(path, std::ios::binary);
+               f.seekg(0, std::ios::end);
+               ret.resize(f.tellg());
+               f.seekg(0);
+               f.read(reinterpret_cast<char*>(ret.data()), ret.size());
+               if (!f) throw std::runtime_error("File cannot be read: " + path.string());
+               return ret;
+       }
+}
+
+void writePNG(fs::path const& filename, Bitmap const& img, unsigned stride) {
+       fs::path name = filename;
+       // We use PNG in a non-standard way, with premultiplied alpha, signified by .premul.png extension.
+       std::clog << "image/debug: Saving PNG: " + name.string() << std::endl;
+       std::vector<png_bytep> rows(img.height);
+       // Determine color type and bytes per pixel
+       unsigned char bpp;
+       int colorType;
+       switch (img.fmt) {
+               case pix::RGB: bpp = 3; colorType = PNG_COLOR_TYPE_RGB; break;
+               case pix::CHAR_RGBA: bpp = 4; colorType = PNG_COLOR_TYPE_RGBA; break;
+               default:
+                       // Byte order would need to be changed for other formats and we don't currently need them...
+                       throw std::logic_error("Unsupported pixel format in writePNG_internal");
+       }
+       // Construct row pointers
+       bool reverse = img.bottomFirst;
+       if (stride == 0) stride = img.width * bpp;
+       unsigned pos = reverse ? img.height * stride : -stride;
+       for (unsigned y = 0; y < img.height; ++y) {
+               pos += (reverse ? -stride : stride);
+               rows[y] = (png_bytep)(&img.data()[pos]);
+       }
+       // Initialize libpng structures
+       png_structp pngPtr = png_create_write_struct(PNG_LIBPNG_VER_STRING, nullptr, nullptr, nullptr);
+       if (!pngPtr) throw std::runtime_error("png_create_read_struct failed");
+       png_infop infoPtr = nullptr;
+       struct Cleanup {
+               png_structpp pngPP;
+               png_infopp infoPP;
+               Cleanup(png_structp& pngP, png_infop& infoP): pngPP(&pngP), infoPP(&infoP) {}
+               ~Cleanup() { png_destroy_write_struct(pngPP, infoPP); }
+       } cleanup(pngPtr, infoPtr);
+       infoPtr = png_create_info_struct(pngPtr);
+       if (!infoPtr) throw std::runtime_error("png_create_info_struct failed");
+       png_set_gAMA(pngPtr, infoPtr, img.linearPremul ? 1.0 : 2.2);
+       // Write file
+       ofstream file(name, std::ios::binary);
+       writePNG_internal(pngPtr, infoPtr, file, img.width, img.height, colorType, rows);
+}
+
+void loadPNG(Bitmap& bitmap, fs::path const& filename) {
+       std::clog << "image/debug: Loading PNG: " + filename.string() << std::endl;
+       // A hack to assume linear premultiplied data if file extension is .premul.png (used for cached SVGs)
+       if (filename.stem().extension() == "premul") bitmap.linearPremul = true;
+       ifstream file(filename, std::ios::binary);
+       png_structp pngPtr = png_create_read_struct(PNG_LIBPNG_VER_STRING, nullptr, nullptr, nullptr);
+       if (!pngPtr) throw std::runtime_error("png_create_read_struct failed");
+       png_infop infoPtr = nullptr;
+       struct Cleanup {
+               png_structpp pngPP;
+               png_infopp infoPP;
+               Cleanup(png_structp& pngP, png_infop& infoP): pngPP(&pngP), infoPP(&infoP) {}
+               ~Cleanup() { png_destroy_read_struct(pngPP, infoPP, (png_infopp)nullptr); }
+       } cleanup(pngPtr, infoPtr);
+       infoPtr = png_create_info_struct(pngPtr);
+       if (!infoPtr) throw std::runtime_error("png_create_info_struct failed");
+       std::vector<png_bytep> rows;
+       loadPNG_internal(pngPtr, infoPtr, file, bitmap, rows);
+}
+
+void loadJPEG(Bitmap& bitmap, fs::path const& filename) {
+       std::clog << "image/debug: Loading JPEG: " + filename.string() << std::endl;
+       bitmap.fmt = pix::RGB;
+       struct my_jpeg_error_mgr jerr;
+       BinaryBuffer data = readFile(filename);
+       jpeg_decompress_struct cinfo;
+       cinfo.err = jpeg_std_error(&jerr.pub);
+       jerr.pub.error_exit = my_jpeg_error_exit;
+       if (setjmp(jerr.setjmp_buffer)) {
+               jpeg_destroy_decompress(&cinfo);
+               throw std::runtime_error("Error in libjpeg when decoding " + filename.string());
+       }
+       jpeg_create_decompress(&cinfo);
+       jpeg_mem_src(&cinfo, data.data(), data.size());
+       if (jpeg_read_header(&cinfo, TRUE) != JPEG_HEADER_OK) throw std::runtime_error("Cannot read header of " + filename.string());
+       jpeg_start_decompress(&cinfo);
+       bitmap.resize(cinfo.output_width, cinfo.output_height);
+       unsigned stride = (bitmap.width * 3 + 3) & ~3;  // Number of bytes per row (word-aligned)
+       unsigned char* ptr = &bitmap.buf[0];
+       while (cinfo.output_scanline < bitmap.height) {
+               jpeg_read_scanlines(&cinfo, &ptr, 1);
+               ptr += stride;
+       }
+       jpeg_destroy_decompress(&cinfo);
+}
+
+void Bitmap::crop(const unsigned width, const unsigned height, const unsigned x, const unsigned y) {
+       if (ptr) throw std::logic_error("Cannot Bitmap::crop foreign pointers.");
+       if (x + width > this->width || y+ height > this->height)
+               throw std::logic_error("Cannot crop to a size bigger then source image.");
+
+       unsigned char bpp;
+       switch (fmt) {
+       case pix::INT_ARGB: bpp = 4; break; // Correct?
+       case pix::BGR: bpp = 3; break;
+       case pix::RGB: bpp = 3; break;
+       case pix::CHAR_RGBA: bpp = 4; break;
+       default: throw std::logic_error("Unsupported picture format.");
+       }
+
+       unsigned newpos = 0;
+       for (unsigned row = y; row < y + height; row++) {
+               for (unsigned col = x; col < x + width; col++) {
+                       for (char subp = 0; subp < bpp; subp++) {
+                               unsigned oldpos = (row * this->width + col) * bpp + subp;
+                               if (oldpos != newpos) {
+                                       buf[newpos] = buf[oldpos];
+                               }
+                               newpos++;
+                       }
+               }
+       }
+       this->width = width;
+       this->height = height;
+}
diff --git a/game/image.hh b/game/image.hh
new file mode 100644 (file)
index 0000000..bcf997a
--- /dev/null
@@ -0,0 +1,54 @@
+#pragma once
+
+#include <boost/filesystem/path.hpp>
+
+#include <algorithm>
+#include <cstddef>
+#include <stdexcept>
+#include <vector>
+
+namespace fs = boost::filesystem;
+
+namespace pix { enum Format {
+       INT_ARGB,  // Cairo's pixel format (SVG, text): premultiplied linear RGB (BGRA byte order)
+       CHAR_RGBA,  // libpng w/ alpha: non-premul sRGB (RGBA byte order)
+       RGB,  // libpng w/o alpha, libjpeg, ffmpeg: sRGB (RGB byte order, no padding)
+       BGR  // OpenCV/webcam: sRGB (BGR byte order, no padding)
+}; }
+
+struct Bitmap {
+       std::vector<unsigned char> buf;  // Pixel data if owned by Bitmap
+       unsigned char* ptr;  // Pixel data if owned by someone else
+       unsigned width, height;
+       float ar;  // Aspect ratio
+       double timestamp;  // Used for video frames
+       pix::Format fmt;
+       bool linearPremul;  // Is the data linear RGB and premultiplied (as opposed to sRGB and non-premultiplied)
+       bool bottomFirst;  // Upside-down (only used for taking screenshots)
+       Bitmap(unsigned char* ptr = nullptr): ptr(ptr), width(), height(), ar(), timestamp(), fmt(pix::CHAR_RGBA), linearPremul(), bottomFirst() {}
+       void resize(unsigned w, unsigned h) {
+               if (!ptr) buf.resize(w * h * 4); else buf.clear();
+               width = w;
+               height = h;
+               ar = float(w) / float(h);
+       }
+       void swap(Bitmap& b) {
+               if (ptr || b.ptr) throw std::logic_error("Cannot Bitmap::swap foreign pointers.");
+               buf.swap(b.buf);
+               std::swap(width, b.width);
+               std::swap(height, b.height);
+               std::swap(ar, b.ar);
+               std::swap(timestamp, b.timestamp);
+               std::swap(fmt, b.fmt);
+       }
+       unsigned char const* data() const { return ptr ? ptr : &buf[0]; }
+       unsigned char* data() { return ptr ? ptr : &buf[0]; }
+
+       void crop(const unsigned width, const unsigned height, const unsigned x, const unsigned y);
+};
+
+// The total number of bytes per line (stride) may be specified. By default no padding at end of line is assumed.
+void writePNG(fs::path const& filename, Bitmap const& bitmap, unsigned stride = 0);
+void loadPNG(Bitmap& bitmap, fs::path const& filename);
+void loadJPEG(Bitmap& bitmap, fs::path const& filename);
+
diff --git a/game/instrumentgraph.cc b/game/instrumentgraph.cc
new file mode 100644 (file)
index 0000000..b4dfefc
--- /dev/null
@@ -0,0 +1,240 @@
+#include "instrumentgraph.hh"
+#include "i18n.hh"
+#include "glutil.hh"
+#include "theme.hh"
+
+namespace {
+       const double join_delay = 3.0; // Time after join menu before playing when joining mid-game
+       const unsigned death_delay = 20; // Delay in notes after which the player is hidden
+}
+
+//const unsigned InstrumentGraph::max_panels = 10; // Maximum number of arrow lines / guitar frets
+
+
+InstrumentGraph::InstrumentGraph(Audio& audio, Song const& song, input::DevicePtr dev):
+  m_audio(audio), m_song(song),
+  m_stream(),
+  m_dev(dev),
+  m_cx(0.0, 0.2), m_width(0.5, 0.4),
+  m_menu(),
+  m_button(findFile("button.svg")),
+  m_arrow_up(findFile("arrow_button_up.svg")),
+  m_arrow_down(findFile("arrow_button_down.svg")),
+  m_arrow_left(findFile("arrow_button_left.svg")),
+  m_arrow_right(findFile("arrow_button_right.svg")),
+  m_text(findFile("sing_timetxt.svg"), config["graphic/text_lod"].f()),
+  m_selectedTrack(""),
+  m_selectedDifficulty(0),
+  m_rejoin(false),
+  m_leftymode(false),
+  m_pads(),
+  m_correctness(1.0, 5.0),
+  m_score(),
+  m_scoreFactor(),
+  m_starmeter(),
+  m_streak(),
+  m_longestStreak(),
+  m_bigStreak(),
+  m_countdown(3), // Display countdown 3 secs before note start
+  m_dead(),
+  m_ready()
+{
+       double time = m_audio.getPosition();
+       m_jointime = time < 0.0 ? -1.0 : time + join_delay;
+
+       m_popupText = std::make_unique<SvgTxtThemeSimple>(findFile("sing_popup_text.svg"), config["graphic/text_lod"].f());
+       m_menuTheme = std::make_unique<ThemeInstrumentMenu>();
+       for (auto& elem: m_pressed) elem = false;
+}
+
+InstrumentGraph::~InstrumentGraph() = default;  // For destruction of unique_ptrs (only forward-declared in header)
+
+bool InstrumentGraph::dead() const { return m_jointime != m_jointime || m_dead >= death_delay; }
+
+void InstrumentGraph::setupPauseMenu() {
+       m_menu.clear();
+       m_menu.add(MenuOption(_("Resume"), _("Back to performing!")));
+       m_menu.add(MenuOption(_("Rejoin"), _("Change selections")).changer(m_rejoin));
+       m_menu.add(MenuOption(_("Restart"), _("Start the song\nfrom the beginning")).screen("Sing"));
+       m_menu.add(MenuOption(_("Quit"), _("Exit to song browser")).screen("Songs"));
+}
+
+
+void InstrumentGraph::doUpdates() {
+       if (!menuOpen() && !m_ready) {
+               m_ready = true;
+               setupPauseMenu();
+       }
+}
+
+void InstrumentGraph::togglePause(int) {
+       m_audio.togglePause();
+}
+
+void InstrumentGraph::toggleMenu(int forcestate) {
+       if (forcestate == 1) { m_menu.open(); return; }
+       else if (forcestate == 0) { m_menu.close(); return; }
+       m_menu.toggle();
+}
+
+
+void InstrumentGraph::drawMenu() {
+       ViewTrans view(m_cx.get(), 0.0, 0.75);  // Apply a per-player local perspective
+       if (m_menu.empty()) return;
+       Dimensions dimensions(1.0); // FIXME: bogus aspect ratio (is this fixable?)
+       if (getGraphType() == input::DEVTYPE_DANCEPAD) dimensions.screenTop().middle().stretch(m_width.get(), 1.0);
+       else dimensions.screenBottom().middle().fixedWidth(std::min(m_width.get(), 0.5));
+       ThemeInstrumentMenu& th = *m_menuTheme;
+       th.back_h.dimensions.fixedHeight(0.08f);
+       m_arrow_up.dimensions.stretch(0.05, 0.05);
+       m_arrow_down.dimensions.stretch(0.05, 0.05);
+       m_arrow_left.dimensions.stretch(0.05, 0.05);
+       m_arrow_right.dimensions.stretch(0.05, 0.05);
+       const auto cur = &m_menu.current();
+       double w = m_menu.dimensions.w();
+       const float s = std::min(m_width.get(), 0.5) / w;
+       Transform trans(glmath::scale(s));  // Fit better menu on screen
+       // We need to multiply offset by inverse scale factor to keep it always constant
+       // All these vars are ultimately affected by the scaling matrix
+       const float txth = th.option_selected.h();
+       const float button_margin = m_arrow_up.dimensions.w()
+               * (isKeyboard() && getGraphType() != input::DEVTYPE_DANCEPAD ? 2.0f : 1.0f);
+       const float step = txth * 0.7f;
+       const float h = m_menu.getOptions().size() * step + step;
+       float y = -h * .5f + step;
+       float x = -w*.5f + step + button_margin;
+       float xx = w*.5f - step - button_margin;
+       // Background
+       th.bg.dimensions.middle().center().stretch(w, h);
+       th.bg.draw();
+       // Loop through menu items
+       w = 0;
+       unsigned i = 0;
+       for (MenuOptions::const_iterator it = m_menu.begin(); it != m_menu.end(); ++it, ++i) {
+               std::string menutext = it->getName();
+               SvgTxtTheme* txt = &th.option_selected; // Default: font for selected menu item
+
+               if (cur != &*it) { // Unselected menuoption
+                       txt = &(th.getCachedOption(menutext));
+
+               // Selected item
+               } else {
+                       // Left/right Icons
+                       if (getGraphType() == input::DEVTYPE_DRUMS) {
+                               // Drum colors are mirrored
+                               m_arrow_left.dimensions.middle(xx + button_margin).center(y);
+                               m_arrow_right.dimensions.middle(x - button_margin).center(y);
+                       } else {
+                               m_arrow_left.dimensions.middle(x - button_margin).center(y);
+                               m_arrow_right.dimensions.middle(xx + button_margin).center(y);
+                       }
+                       m_arrow_left.draw();
+                       m_arrow_right.draw();
+
+                       // Up/down icons
+                       if (getGraphType() != input::DEVTYPE_GUITAR) {
+                               if (i > 0) { // Up
+                                       m_arrow_up.dimensions.middle(x - button_margin).center(y - step);
+                                       m_arrow_up.draw();
+                               }
+                               if (i < m_menu.getOptions().size()-1) { // Down
+                                       m_arrow_down.dimensions.middle(x - button_margin).center(y + step);
+                                       m_arrow_down.draw();
+                               }
+                       }
+
+                       // Draw the key letters for keyboard (not for dancepad)
+                       if (isKeyboard() && getGraphType() != input::DEVTYPE_DANCEPAD) {
+                               float leftx = x - button_margin*0.75f;
+                               float rightx = xx + button_margin*0.25f;
+                               {
+                                       std::string hintletter = (getGraphType() == input::DEVTYPE_GUITAR ? (m_leftymode.b() ? "Z" : "1") : "U");
+                                       SvgTxtTheme& hintfont = th.getCachedOption(hintletter);
+                                       hintfont.dimensions.left(leftx).center(y);
+                                       hintfont.draw(hintletter);
+                               }{
+                                       std::string hintletter = (getGraphType() == input::DEVTYPE_GUITAR ? (m_leftymode.b() ? "X" : "2") : "P");
+                                       SvgTxtTheme& hintfont = th.getCachedOption(hintletter);
+                                       hintfont.dimensions.right(rightx).center(y);
+                                       hintfont.draw(hintletter);
+                               }
+                               // Only drums has up/down
+                               if (getGraphType() == input::DEVTYPE_DRUMS) {
+                                       if (i > 0) {  // Up
+                                               SvgTxtTheme& hintfont = th.getCachedOption("I");
+                                               hintfont.dimensions.left(leftx).center(y - step);
+                                               hintfont.draw("I");
+                                       }
+                                       if (i < m_menu.getOptions().size()-1) {  // Down
+                                               SvgTxtTheme& hintfont = th.getCachedOption("O");
+                                               hintfont.dimensions.left(leftx).center(y + step);
+                                               hintfont.draw("O");
+                                       }
+                               }
+                       }
+               }
+               // Finally we are at the actual menu item text drawing
+               ColorTrans c(Color::alpha(it->isActive() ? 1.0 : 0.5));
+               txt->dimensions.middle(x).center(y);
+               txt->draw(menutext);
+               w = std::max(w, txt->w() + 2 * step + button_margin * 2); // Calculate the widest entry
+               y += step; // Move draw position down for the next option
+       }
+       // Draw comment text
+       if (cur->getComment() != "") {
+               //th.comment_bg.dimensions.middle().screenBottom(-0.2);
+               //th.comment_bg.draw();
+               th.comment.dimensions.middle().screenBottom(-0.12);
+               th.comment.draw(cur->getComment());
+       }
+       // Save the calculated menu dimensions
+       m_menu.dimensions.stretch(w, h);
+}
+
+
+void InstrumentGraph::drawPopups() {
+       for (auto it = m_popups.begin(); it != m_popups.end(); ) {
+               if (!it->draw()) { it = m_popups.erase(it); continue; }
+               ++it;
+       }
+}
+
+
+void InstrumentGraph::handleCountdown(double time, double beginTime) {
+       if (!dead() && time < beginTime && time >= beginTime - m_countdown - 1) {
+               m_popups.push_back(Popup(m_countdown > 0 ?
+                 std::string("- ") +std::to_string(unsigned(m_countdown))+" -" : "Rock On!",
+                 Color(0.0, 0.0, 1.0), 2.0, m_popupText.get()));
+                 --m_countdown;
+       }
+}
+
+
+Color const& InstrumentGraph::color(unsigned fret) const {
+       static Color fretColors[5] = {
+               Color(0.0, 0.9, 0.0),
+               Color(0.9, 0.0, 0.0),
+               Color(0.9, 0.9, 0.0),
+               Color(0.0, 0.0, 1.0),
+               Color(0.9, 0.4, 0.0)
+       };
+       if (fret >= m_pads) throw std::logic_error("Invalid fret number in InstrumentGraph::color");
+       if (getGraphType() == input::DEVTYPE_DRUMS) {
+               if (fret == 0) fret = 4;
+               else if (fret == 4) fret = 0;
+       }
+       return fretColors[fret];
+}
+
+
+void InstrumentGraph::unjoin() {
+       m_jointime = getNaN();
+       m_rejoin = false;
+       m_score = 0;
+       m_starmeter = 0;
+       m_streak = 0;
+       m_longestStreak = 0;
+       m_bigStreak = 0;
+       m_countdown = 3;
+       m_ready = false;
+}
diff --git a/game/instrumentgraph.hh b/game/instrumentgraph.hh
new file mode 100644 (file)
index 0000000..256ef80
--- /dev/null
@@ -0,0 +1,167 @@
+#pragma once
+
+#include <vector>
+
+#include "audio.hh"
+#include "animvalue.hh"
+#include "notes.hh"
+#include "controllers.hh"
+#include "texture.hh"
+#include "opengl_text.hh"
+#include "glutil.hh"
+#include "menu.hh"
+#include "screen.hh"
+#include "fs.hh"
+
+/// Represents popup messages
+class Popup {
+  public:
+       /// Constructor
+       Popup(std::string msg, Color c, double speed, SvgTxtThemeSimple* popupText, std::string info = "", SvgTxtTheme* infoText = nullptr):
+         m_msg(msg), m_color(c), m_anim(AnimValue(0.0, speed)), m_popupText(popupText), m_info(info), m_infoText(infoText)
+       {
+               m_anim.setTarget(1.0, false);
+       }
+       /// Draw the popup
+       /// Returns false if it is expired
+       bool draw() {
+               double anim = m_anim.get();
+               if (anim <= 0.0 || !m_popupText) return false;
+               float a = 1.0 - anim;
+               m_color.a = a;
+               ColorTrans color(m_color);
+               m_popupText->render(m_msg);
+               {
+                       using namespace glmath;
+                       Transform trans(translate(vec3(0.0f, 0.0f, 0.5f * anim)));
+                       m_popupText->dimensions().center(0.1 - 0.03 * anim).middle().stretch(0.2f, 0.2f);
+                       m_popupText->draw();
+               }
+               if (m_info != "" && m_infoText) {
+                       m_infoText->dimensions.screenBottom(-0.02).middle(-0.12);
+                       m_infoText->draw(m_info);
+               }
+               if (anim > 0.999) m_anim.setTarget(0.0, true);
+               return true;
+       }
+  private:
+       std::string m_msg;  /// Popup text
+       Color m_color;  /// Color
+       AnimValue m_anim;  /// Animation timer
+       SvgTxtThemeSimple* m_popupText;  /// Font for popup
+       std::string m_info;  /// Text to show in the bottom
+       SvgTxtTheme* m_infoText;  /// Font for the additional text
+};
+
+
+const unsigned max_panels = 10; // Maximum number of arrow lines / guitar frets
+
+class Audio;
+class Song;
+class ThemeInstrumentMenu;
+
+class InstrumentGraph {
+public:
+       /// Constructor
+       InstrumentGraph(Audio& audio, Song const& song, input::DevicePtr dev);
+       /// Virtual destructor
+       virtual ~InstrumentGraph();
+
+       // Interface functions
+       virtual void draw(double time) = 0;
+       virtual void engine() = 0;
+       virtual void process(input::Event const&) {}
+       virtual std::string getTrack() const = 0;
+       virtual std::string getDifficultyString() const = 0;
+       virtual std::string getModeId() const = 0;
+       virtual void changeTrack(int dir = 1) = 0;
+       virtual void changeDifficulty(int dir = 1) = 0;
+
+       // General shared functions
+       bool dead() const;
+       void setupPauseMenu();
+       void doUpdates();
+       void drawMenu();
+       void toggleMenu(int forcestate = -1); // 0 = close, 1 = open, -1 = auto/toggle
+       void togglePause(int);
+       void quit(int) { Game::getSingletonPtr()->activateScreen("Songs"); }
+       void unjoin();
+
+       // General getters
+       bool joining(double time) const { return time < m_jointime; }
+       bool ready() const { return m_ready; };
+       bool menuOpen() const { return m_menu.isOpen(); }
+       void position(double cx, double width) { m_cx.setTarget(cx); m_width.setTarget(width); }
+       unsigned stream() const { return m_stream; }
+       double correctness() const { return m_correctness.get(); }
+       int getScore() const { return (m_score > 0 ? m_score : 0) * m_scoreFactor; }
+       input::DevType getGraphType() const { return m_dev->type; }
+       virtual double getWhammy() const { return 0; }
+       bool isKeyboard() const { return m_dev->source.isKeyboard(); }
+
+  protected:
+       // Core stuff
+       Audio& m_audio;
+       Song const& m_song;
+       std::size_t m_stream; /// audio stream number
+       input::DevicePtr m_dev;
+       AnimValue m_cx, m_width; /// controls horizontal position and width smoothly
+       struct Event {
+               double time;
+               AnimValue glow;
+               AnimValue whammy;
+               int type; // 0 = miss (pick), 1 = tap, 2 = pick
+               int fret;
+               Duration const* dur;
+               double holdTime;
+               Event(double t, int ty, int f = -1, Duration const* d = nullptr): time(t), glow(0.0, 5.0), whammy(0.0, 0.5), type(ty), fret(f), dur(d), holdTime(d ? d->begin : getNaN()) { if (type > 0) glow.setValue(1.0); }
+       };
+       typedef std::vector<Event> Events;
+       Events m_events;
+       typedef std::vector<Popup> Popups;
+       Popups m_popups;
+       Menu m_menu;
+
+       // Shared functions for derived classes
+       void drawPopups();
+       void handleCountdown(double time, double beginTime);
+
+       // Functions not really shared, but needed here
+       Color const& color(unsigned fret) const;
+
+       // Media
+       Texture m_button;
+       Texture m_arrow_up;
+       Texture m_arrow_down;
+       Texture m_arrow_left;
+       Texture m_arrow_right;
+       SvgTxtTheme m_text;
+       std::unique_ptr<SvgTxtThemeSimple> m_popupText;
+       std::unique_ptr<ThemeInstrumentMenu> m_menuTheme;
+
+       // Dynamic stuff for join menu
+       ConfigItem m_selectedTrack; /// menu modifies this to select track
+       ConfigItem m_selectedDifficulty; /// menu modifies this to select difficulty
+       ConfigItem m_rejoin; /// menu sets this if we want to re-join
+       ConfigItem m_leftymode; /// switch guitar notes to right-to-left direction
+       std::string m_trackOpt;
+       std::string m_difficultyOpt;
+       std::string m_leftyOpt;
+
+       // Misc counters etc.
+       unsigned m_pads; /// how many panels the current gaming mode uses
+       bool m_pressed[max_panels]; /// is certain panel pressed currently
+       AnimValue m_pressed_anim[max_panels]; /// animation for panel pressing
+       AnimValue m_correctness;
+       double m_score; /// unnormalized scores
+       double m_scoreFactor; /// normalization factor
+       double m_starmeter; /// when this is high enough, GodMode becomes available
+       int m_streak; /// player's current streak/combo
+       int m_longestStreak; /// player's longest streak/combo
+       int m_bigStreak; /// next limit when a popup appears
+       int m_countdown; /// countdown counter
+       double m_jointime; /// when the player joined
+       unsigned m_dead; /// how many notes has been passed without hitting buttons
+       bool m_ready;
+};
+
diff --git a/game/layout_singer.cc b/game/layout_singer.cc
new file mode 100644 (file)
index 0000000..746f8b8
--- /dev/null
@@ -0,0 +1,179 @@
+#include "layout_singer.hh"
+
+#include "configuration.hh"
+#include "fs.hh"
+#include "song.hh"
+#include "database.hh"
+
+#include <list>
+#include <boost/format.hpp>
+
+LayoutSinger::LayoutSinger(VocalTrack& vocal, Database& database, std::shared_ptr<ThemeSing> theme):
+  m_vocal(vocal), m_noteGraph(vocal),m_lyricit(vocal.notes.begin()), m_lyrics(), m_database(database), m_theme(theme), m_hideLyrics() {
+       m_score_text[0] = std::make_unique<SvgTxtThemeSimple>(findFile("sing_score_text.svg"), config["graphic/text_lod"].f());
+       m_score_text[1] = std::make_unique<SvgTxtThemeSimple>(findFile("sing_score_text.svg"), config["graphic/text_lod"].f());
+       m_score_text[2] = std::make_unique<SvgTxtThemeSimple>(findFile("sing_score_text.svg"), config["graphic/text_lod"].f());
+       m_score_text[3] = std::make_unique<SvgTxtThemeSimple>(findFile("sing_score_text.svg"), config["graphic/text_lod"].f());
+       m_line_rank_text[0] = std::make_unique<SvgTxtThemeSimple>(findFile("sing_score_text.svg"), config["graphic/text_lod"].f());
+       m_line_rank_text[1] = std::make_unique<SvgTxtThemeSimple>(findFile("sing_score_text.svg"), config["graphic/text_lod"].f());
+       m_line_rank_text[2] = std::make_unique<SvgTxtThemeSimple>(findFile("sing_score_text.svg"), config["graphic/text_lod"].f());
+       m_line_rank_text[3] = std::make_unique<SvgTxtThemeSimple>(findFile("sing_score_text.svg"), config["graphic/text_lod"].f());
+       m_player_icon = std::make_unique<Texture>(findFile("sing_pbox.svg"));
+}
+
+LayoutSinger::~LayoutSinger() {}
+
+void LayoutSinger::reset() {
+       m_lyricit = m_vocal.notes.begin();
+       m_lyrics.clear();
+}
+
+void LayoutSinger::drawScore(PositionMode position) {
+       unsigned int i = 0, j = 0;
+       for (std::list<Player>::const_iterator p = m_database.cur.begin(); p != m_database.cur.end(); ++p, ++i) {
+               if (p->m_vocal.name != m_vocal.name) continue;
+               Color color(p->m_color.r, p->m_color.g, p->m_color.b, p->activity());
+               if (color.a == 0.0) continue;
+               m_score_text[i%4]->render((boost::format("%04d") % p->getScore()).str());
+               switch(position) {
+                       case LayoutSinger::FULL:
+                               m_player_icon->dimensions.left(-0.5 + 0.01 + 0.125 * j).fixedWidth(0.035).screenTop(0.055);
+                               if (m_database.cur.size() < 9){
+                                       m_player_icon->dimensions.left(-0.5 + 0.01 + 0.125 * j).fixedWidth(0.035).screenTop(0.05);
+                                       m_score_text[i%4]->dimensions().middle(-0.425 + 0.01 + 0.125 * j).fixedHeight(0.035).screenTop(0.055);}                 
+                               else{
+                                       m_player_icon->dimensions.left(-0.506 + 0.01 + 0.0905 * j).fixedWidth(0.028).screenTop(0.050);                          
+                                       m_score_text[i%4]->dimensions().middle(-0.519 + 0.08 + 0.0905 * j).fixedHeight(0.029).screenTop(0.053);}
+                               break;
+                       case LayoutSinger::TOP:
+                               m_player_icon->dimensions.right(0.35).fixedHeight(0.050).screenTop(0.025 + 0.050 * j);
+                               m_score_text[i%4]->dimensions().right(0.45).fixedHeight(0.050).screenTop(0.025 + 0.050 * j);
+                               break;
+                       case LayoutSinger::BOTTOM:
+                               m_player_icon->dimensions.right(0.35).fixedHeight(0.050).center(0.025 + 0.050 * j);
+                               m_score_text[i%4]->dimensions().right(0.45).fixedHeight(0.050).center(0.025 + 0.050 * j);
+                               break;
+                       case LayoutSinger::LEFT:
+                       case LayoutSinger::RIGHT:
+                               m_player_icon->dimensions.left(-0.5 + 0.01 + 0.25 * j).fixedWidth(0.075).screenTop(0.055);
+                               m_score_text[i%4]->dimensions().middle(-0.350 + 0.01 + 0.25 * j).fixedHeight(0.075).screenTop(0.055);
+                               break;
+               }
+               {
+                       ColorTrans c(color);
+                       m_player_icon->draw();
+                       m_score_text[i%4]->draw();
+               }
+               // Give some feedback on how well the last lyrics row went
+               double fact = p->m_feedbackFader.get();
+               if (p->m_prevLineScore > 0.5 && fact > 0) {
+                       std::string prevLineRank;
+                       double fzoom = 3.0 / (2.0 + fact);
+                       if (p->m_prevLineScore > 0.95) prevLineRank = "Perfect";
+                       else if (p->m_prevLineScore > 0.9) prevLineRank = "Excellent";
+                       else if (p->m_prevLineScore > 0.8) prevLineRank = "Great";
+                       else if (p->m_prevLineScore > 0.6) prevLineRank = "Good";
+                       else if (p->m_prevLineScore > 0.4) prevLineRank = "OK";
+                       m_line_rank_text[i%4]->render(prevLineRank);
+                       switch(position) {
+                               case LayoutSinger::FULL:
+                                       m_line_rank_text[i%4]->dimensions().middle(-0.350 + 0.01 + 0.25 * j).fixedHeight(0.055*fzoom).screenTop(0.11);
+                                       break;
+                               case LayoutSinger::TOP:
+                                       m_line_rank_text[i%4]->dimensions().right(0.30).fixedHeight(0.05*fzoom).screenTop(0.025 + 0.050 * j);
+                                       break;
+                               case LayoutSinger::BOTTOM:
+                                       m_line_rank_text[i%4]->dimensions().right(0.30).fixedHeight(0.05*fzoom).center(0.025 + 0.050 * j);
+                                       break;
+                               case LayoutSinger::LEFT:
+                               case LayoutSinger::RIGHT:
+                                       m_line_rank_text[i%4]->dimensions().middle(-0.350 + 0.01 + 0.25 * j).fixedHeight(0.055*fzoom).screenTop(0.11);
+                                       break;
+                       }
+                       {
+                               color.a = clamp(fact*2.0);
+                               ColorTrans c(color);
+                               m_line_rank_text[i%4]->draw();
+                       }
+               }
+               ++j;
+       }
+}
+
+void LayoutSinger::draw(double time, PositionMode position) {
+       // Draw notes and pitch waves (only when not in karaoke mode)
+       if (!config["game/karaoke_mode"].i()) {
+               switch(position) {
+                       case LayoutSinger::FULL:
+                               m_noteGraph.draw(time, m_database, NoteGraph::FULLSCREEN);
+                               break;
+                       case LayoutSinger::TOP:
+                               m_noteGraph.draw(time, m_database, NoteGraph::TOP);
+                               break;
+                       case LayoutSinger::BOTTOM:
+                               m_noteGraph.draw(time, m_database, NoteGraph::BOTTOM);
+                               break;
+                       case LayoutSinger::LEFT:
+                       case LayoutSinger::RIGHT:
+                               m_noteGraph.draw(time, m_database, NoteGraph::LEFT);
+                               break;
+               }
+       }
+
+       // Draw the lyrics
+       if (!m_hideLyrics) {
+               double linespacing = 0.0;
+               Dimensions pos;
+               switch(position) {
+                       case LayoutSinger::FULL:
+                               if(config["game/karaoke_mode"].i() >= 2) {
+                                       pos.center(0);
+                               } else {
+                                       pos.screenBottom(-0.07);
+                               }
+                               linespacing = 0.04;
+                               break;
+                       case LayoutSinger::TOP:
+                               pos.center(-0.06);
+                               linespacing = 0.04;
+                               break;
+                       case LayoutSinger::BOTTOM:
+                               pos.screenBottom(-0.07);
+                               linespacing = 0.04;
+                               break;
+                       case LayoutSinger::LEFT:
+                       case LayoutSinger::RIGHT:
+                               pos.screenBottom(-0.1);
+                               linespacing = 0.06;
+                               break;
+               }
+               bool dirty;
+               do {
+                       dirty = false;
+                       if (!m_lyrics.empty() && m_lyrics[0].expired(time)) {
+                               // Add extra spacing to replace the removed row
+                               if (m_lyrics.size() > 1) m_lyrics[1].extraspacing.move(m_lyrics[0].extraspacing.get() + 1.0);
+                               m_lyrics.pop_front();
+                               dirty = true;
+                       }
+                       if (!dirty && m_lyricit != m_vocal.notes.end() && m_lyricit->begin < time + 4.0) {
+                               m_lyrics.push_back(LyricRow(m_lyricit, m_vocal.notes.end()));
+                               dirty = true;
+                       }
+               } while (dirty);
+               if (m_theme.get()) // if there is a theme, draw the lyrics with it
+               {
+                       for (size_t i = 0; i < m_lyrics.size(); ++i, pos.move(0.0, linespacing)) {
+                               pos.move(0.0, m_lyrics[i].extraspacing.get() * linespacing);
+                               if (i == 0) m_lyrics[0].draw(m_theme->lyrics_now, time, pos);
+                               else if (i == 1) m_lyrics[1].draw(m_theme->lyrics_next, time, pos);
+                       }
+               }
+       }
+
+       if (!config["game/karaoke_mode"].i() ) drawScore(position); // draw score if not in karaoke mode
+}
+
+double LayoutSinger::lyrics_begin() const {
+       return m_lyricit->begin;
+}
diff --git a/game/layout_singer.hh b/game/layout_singer.hh
new file mode 100644 (file)
index 0000000..528ae71
--- /dev/null
@@ -0,0 +1,79 @@
+#pragma once
+
+#include "theme.hh"
+#include "opengl_text.hh"
+#include "notegraph.hh"
+#include "configuration.hh"
+
+#include <deque>
+
+class Database;
+
+/// handles songlyrics
+class LyricRow {
+  public:
+       AnimValue extraspacing; ///< extraspacing for lyrics (used when the previous line is removed)
+       AnimValue fade; ///< fade
+       /// iterator
+       typedef Notes::const_iterator Iterator;
+       /// constructor
+       LyricRow(Iterator& it, Iterator const& eof): extraspacing(0.0, 2.0), fade(0.0, 0.6) {
+               fade.setTarget(1.0);
+               m_begin = it;
+               while (it != eof && it->type != Note::SLEEP) ++it;
+               m_end = it;
+               if (it != eof) ++it;
+               if (m_begin == m_end) throw std::logic_error("Empty sentence");
+       }
+       /// lyric expired?
+       bool expired(double time) const {
+               double lastTime = 0.0;
+               for (Iterator it = m_begin; it != m_end; ++it) lastTime = it->end;
+               return time > lastTime;
+       }
+       /// draw/print lyrics
+       void draw(SvgTxtTheme& txt, double time, Dimensions &dim) const {
+               std::vector<TZoomText> sentence;
+               for (Iterator it = m_begin; it != m_end; ++it) {
+                       sentence.push_back(TZoomText(it->syllable));
+                       if(!config["game/Textstyle"].i()) {
+                       bool current = (time >= it->begin && time < it->end);
+                       sentence.back().factor = current ? 1.1 - 0.1 * (time - it->begin) / (it->end - it->begin) : 1.0; // Zoom-in and out while it's the current syllable.
+                       } else {
+                       bool current = time >=it->begin;
+                       sentence.back().factor = current ? std::min(1.0 + (0.15 * (time - it->begin) / (it->end - it->begin)), 1.1) : 1.0; // Zoom-in and out syllable proportionally to their length.
+                       }
+               }
+               ColorTrans c(Color::alpha(fade.get()));
+               txt.dimensions = dim;
+               txt.draw(sentence, true);
+       }
+
+  private:
+       Iterator m_begin, m_end;
+};
+
+class LayoutSinger {
+  public:
+       enum PositionMode {FULL, TOP, BOTTOM, LEFT, RIGHT};
+       /// ThemeSing is optional if you want to use drawScore only
+       LayoutSinger(VocalTrack& vocal, Database& database, std::shared_ptr<ThemeSing> theme = std::make_shared<ThemeSing>());
+       ~LayoutSinger();
+       void reset();
+       void draw(double time, PositionMode position = LayoutSinger::FULL);
+       void drawScore(PositionMode position);
+       double lyrics_begin() const;
+       void hideLyrics(bool hide = true) { m_hideLyrics = hide; }
+  private:
+       VocalTrack& m_vocal;
+       NoteGraph m_noteGraph;
+       Notes::const_iterator m_lyricit;
+       std::deque<LyricRow> m_lyrics;
+       std::unique_ptr<Texture> m_player_icon;
+       std::unique_ptr<SvgTxtThemeSimple> m_score_text[4];
+       std::unique_ptr<SvgTxtThemeSimple> m_line_rank_text[4];
+       Database& m_database;
+       std::shared_ptr<ThemeSing> m_theme;
+       AnimValue m_feedbackFader;
+       bool m_hideLyrics;
+};
diff --git a/game/libda/fft.hpp b/game/libda/fft.hpp
new file mode 100644 (file)
index 0000000..cddcf3f
--- /dev/null
@@ -0,0 +1,81 @@
+#pragma once
+
+/**
+ * @file fft.hpp FFT and related facilities.
+ */
+
+#include "sample.hpp"
+#include <complex>
+#include <cstddef>
+#include <vector>
+
+
+namespace da {
+
+       constexpr double TAU = 2.0 * 3.141592653589793238462643383279502884;
+
+       // With g++ optimization -fcx-limited-range should be used for 5x performance boost.
+       
+       // Based on the description of Volodymyr Myrnyy in
+       // http://www.dspdesignline.com/showArticle.jhtml?printableArticle=true&articleId=199903272
+       template<unsigned P, typename T> struct DanielsonLanczos {
+               static void apply(std::complex<T>* data) {
+                       constexpr std::size_t N = 1 << P;
+                       constexpr std::size_t M = N / 2;
+                       // Compute even and odd halves
+                       DanielsonLanczos<P - 1, T>().apply(data);
+                       DanielsonLanczos<P - 1, T>().apply(data + M);
+                       // Combine the results
+                       std::complex<T> w(1.0);
+                       for (std::size_t i = 0; i < M; ++i) {
+                               const std::complex<T> temp = data[i + M] * w;
+                               data[M + i] = data[i] - temp;
+                               data[i] += temp;
+                               w *= std::polar<T>(1.0, - TAU / N);
+                       }
+               }
+       };
+
+       template<typename T> struct DanielsonLanczos<0, T> { static void apply(std::complex<T>*) {} };
+
+       /** Perform FFT on data. **/
+       template<unsigned P, typename T> void fft(std::complex<T>* data) {
+               // Perform bit-reversal sorting of sample data.
+               constexpr std::size_t N = 1 << P;
+               std::size_t j = 0;
+               for (std::size_t i = 0; i < N; ++i) {
+                       if (i < j) std::swap(data[i], data[j]);
+                       std::size_t m = N / 2;
+                       while (m > 1 && m <= j) { j -= m; m >>= 1; }
+                       j += m;
+               }
+               // Do the actual calculation
+               DanielsonLanczos<P, T>::apply(data);
+       }
+
+       /** Perform FFT on data from floating point iterator, windowing the input. **/
+       template<unsigned P, typename InIt, typename Window> std::vector<std::complex<float> > fft(InIt begin, Window window) {
+               std::vector<std::complex<float> > data(1 << P);
+               // Perform bit-reversal sorting of sample data.
+               constexpr std::size_t N = 1 << P;
+               std::size_t j = 0;
+               for (std::size_t i = 0; i < N; ++i) {
+                       data[j] = *begin++ * window[i];
+                       std::size_t m = N / 2;
+                       while (m > 1 && m <= j) { j -= m; m >>= 1; }
+                       j += m;
+               }
+               // Do the actual calculation
+               DanielsonLanczos<P, float>::apply(&data[0]);
+               return data;
+       }
+
+       template<unsigned P, typename T> void ifft(std::complex<T>* data) {
+               constexpr std::size_t N = 1 << P;
+               for (std::size_t i = 0; i < N; ++i) data[i] = std::conj(data[i]);  // Invert phase so that we can use FFT to do IFFT
+               fft<P>(data);
+               constexpr std::complex<T> scale(1.0/N, 0.0);
+               for (std::size_t i = 0; i < N; ++i) data[i] = scale * std::conj(data[i]);  // Invert back, and apply IFFT scaling
+       }
+       
+}
diff --git a/game/libda/mixer.hpp b/game/libda/mixer.hpp
new file mode 100644 (file)
index 0000000..8e6c441
--- /dev/null
@@ -0,0 +1,309 @@
+#pragma once
+
+/**
+ * @file mixer.hpp LibDA mixer interface, version 1.
+ *
+ * This appears to be too complex and will probably be removed in later release in
+ * favor of something easier and faster. Actually it is not even used currently.
+ */
+
+#include "audio.hpp"
+#include <algorithm>
+#include <memory>
+#include <mutex>
+
+namespace da {
+
+       template <typename T> class shared_reference_wrapper {
+         public:
+               typedef T type;
+               explicit shared_reference_wrapper(std::shared_ptr<T> const& ptr): m_ptr(ptr) {}
+               bool operator()(pcm_data data) { return get()(data); }
+               operator T&() const { return *m_ptr; }
+               T& get() const { return *m_ptr; }
+               //T* get_pointer() const { return m_ptr; }
+         private:
+               std::shared_ptr<T> m_ptr;
+       };
+
+       template <typename T> shared_reference_wrapper<T> shared_ref(T* ptr) {
+               return shared_reference_wrapper<T>(std::shared_ptr<T>(ptr));
+       }
+
+       template <typename T> shared_reference_wrapper<T> shared_ref(std::shared_ptr<T> const& ptr) {
+               return shared_reference_wrapper<T>(ptr);
+       }
+
+
+       class chain {
+         public:
+               chain(const chain&) = delete;
+               const chain& operator=(const chain&) = delete;
+               typedef std::vector<callback_t> streams_t;
+               void add(callback_t const& cb) { streams.push_back(cb); }
+               void clear() { streams.clear(); }
+               /** Calls every stream in the chain and removes those that return false. **/
+               bool operator()(pcm_data& data) {
+                       streams_t::iterator wr = streams.begin();
+                       for (streams_t::iterator it = wr; it != streams.end(); ++it) {
+                               if ((*it)(data)) *wr++ = *it;
+                       }
+                       if (wr != streams.end()) streams.erase(wr, streams.end());
+                       return !streams.empty();
+               }
+               streams_t streams;
+         private:
+       };
+
+       namespace {
+               bool voidOp(pcm_data const&) { return true; }
+               bool zero(pcm_data& data) {
+                       std::fill(data.rawbuf, data.rawbuf + (data.channels * data.frames), 0.0f);
+                       return true;
+               }
+       }
+
+       class accumulate {
+         public:
+               accumulate(const accumulate&) = delete;
+               const accumulate& operator=(const accumulate&) = delete;
+               typedef std::vector<callback_t> streams_t;
+               void add(callback_t const& cb) { streams.push_back(cb); }
+               void clear() { streams.clear(); }
+               /** Calls every stream in the chain and removes those that return false, summing the results. **/
+               bool operator()(pcm_data& data) {
+                       std::vector<sample_t> buffer(data.samples());
+                       pcm_data accumbuf(&buffer[0], data.frames, data.channels, data.rate);
+                       streams_t::iterator wr = streams.begin();
+                       for (streams_t::iterator it = wr; it != streams.end(); ++it) {
+                               if ((*it)(accumbuf)) *wr++ = *it;
+                               for (std::size_t i = 0; i < buffer.size(); ++i) {
+                                       data.rawbuf[i] += buffer[i];
+                                       buffer[i] = 0.0f;
+                               }
+                       }
+                       if (wr != streams.end()) streams.erase(wr, streams.end());
+                       return !streams.empty();
+               }
+               streams_t streams;
+         private:
+       };
+
+       class buffer {
+         public:
+               buffer(const buffer&) = delete;
+               const buffer& operator=(const buffer&) = delete;
+               explicit buffer(std::size_t s): m_data(s) {}
+               sample_t* begin() { return &m_data[0]; }
+               sample_t* end() { return begin() + m_data.size(); }
+         private:
+               std::vector<sample_t> m_data;
+       };
+
+       class stream {
+         public:
+               stream(const stream&) = delete;
+               const stream& operator=(const stream&) = delete;
+               stream(): m_pos() {}
+               bool operator()(pcm_data& data) {
+                       sample_t* b = m_buffer->begin();
+                       sample_t* e = m_buffer->end();
+                       size_t size = std::min<size_t>(data.frames * data.channels, e - b - m_pos);
+                       for (size_t i = 0; i < size; ++i, ++m_pos) {
+                               if (m_pos < 0) continue;
+                               data.rawbuf[i] += b[m_pos];
+                       }
+                       return true;
+               }
+         private:
+               std::shared_ptr<buffer> m_buffer;
+               int64_t m_pos;
+       };
+
+       class fadeinOp {
+         public:
+               fadeinOp(const fadeinOp&) = delete;
+               const fadeinOp& operator=(const fadeinOp&) = delete;
+               fadeinOp(double time = 1.0, int64_t pos = 0): m_pos(pos), m_time(time) {}
+               bool operator()(pcm_data& data) {
+                       size_t end = m_time * data.rate;
+                       size_t size = data.frames * data.channels;
+                       if (m_pos > int64_t(end)) return 1.0f;
+                       for (size_t i = 0; i < size; ++i, ++m_pos) {
+                               if (m_pos < 0) data.rawbuf[i] = 0.0f;
+                               sample_t level = size_t(m_pos) < end ? sample_t(m_pos) / end : 1.0f;
+                               data.rawbuf[i] *= level;
+                       }
+                       return m_pos < int64_t(end);
+               }
+         private:
+               int64_t m_pos;
+               double m_time;
+       };
+
+       class fadeoutOp {
+         public:
+               fadeoutOp(const fadeoutOp&) = delete;
+               const fadeoutOp& operator=(const fadeoutOp&) = delete;
+               fadeoutOp(callback_t cb, double time = 1.0, int64_t pos = 0): m_stream(cb), m_pos(pos), m_time(time) {}
+               bool operator()(pcm_data& data) {
+                       bool ret = m_stream(data);
+                       size_t end = m_time * data.rate;
+                       size_t size = data.frames * data.channels;
+                       for (size_t i = 0; i < size; ++i, ++m_pos) {
+                               if (m_pos < 0) continue;
+                               sample_t level = size_t(m_pos) < end ? 1.0f - sample_t(m_pos) / end : 0.0f;
+                               data.rawbuf[i] *= level;
+                       }
+                       return ret && m_pos < int64_t(end);
+               }
+         private:
+               callback_t m_stream;
+               int64_t m_pos;
+               double m_time;
+       };
+
+       class volume {
+         public:
+               volume(sample_t level = 1.0f): m_level(level) {}
+               void level(sample_t level) { m_level = level; }
+               bool operator()(pcm_data& data) {
+                       if (m_level == 1.0f) return true;
+                       for (size_t i = 0, s = data.samples(); i < s; ++i) data.rawbuf[i] *= m_level;
+                       return true;
+               }
+         private:
+               sample_t m_level;
+       };
+
+       class mutex_stream{
+         public:
+               mutex_stream(const mutex_stream&) = delete;
+               const mutex_stream& operator=(const mutex_stream&) = delete;
+               mutex_stream(callback_t const& stream): m_stream(stream) {}
+               bool operator()(pcm_data& data) {
+                       std::lock_guard<std::recursive_mutex> l(m_mutex);
+                       if (!m_stream) return false;
+                       return m_stream(data);
+               }
+               void clear() {
+                       std::lock_guard<std::recursive_mutex> l(m_mutex);
+                       m_stream.clear();
+               }
+         private:
+               callback_t m_stream;
+               mutable std::recursive_mutex m_mutex;
+       };
+
+       typedef std::auto_ptr<scoped_lock> lock_holder;
+
+       template <typename Key> class select {
+               typedef std::map<Key, callback_t> streams;
+         public:
+               void choose(Key const& k) {
+                       typename streams::iterator it = m_streams.find(k);
+                       if (it == m_streams.end()) throw std::logic_error("da::select::key: Invalid key");
+                       m_key = k;
+                       m_stream = it->second;
+               }
+               void insert(Key const& k, callback_t const& cb) {
+                       m_streams[k] = cb;
+               }
+               bool operator()(pcm_data& data) {
+                       if (!m_stream) return false;
+                       return m_stream(data);
+               }
+         private:
+               streams m_streams;
+               Key m_key;
+               callback_t m_stream;
+       };
+
+       class mixer {
+         public:
+               mixer(): m_mutex(boost::ref(m_select)) { init(); }
+               mixer(settings& s): m_mutex(boost::ref(m_select)) { init(); start(s); }
+               ~mixer() {
+                       // Make sure that all processing has stopped before exiting
+                       scoped_lock l(m_mutex);
+                       m_mutex.clear();
+                       m_playback.reset();
+               }
+               void start(settings& s) { m_settings = s; start(); s = m_settings; }
+               void start() {
+                       stop();
+                       m_settings.set_callback(boost::ref(m_mutex));
+                       m_playback.reset(new playback(m_settings));
+               }
+               void stop() { m_playback.reset(); }
+               bool started() const { return m_playback; }
+               void add(callback_t const& cb) {
+                       scoped_lock l(m_mutex);
+                       m_user.add(cb);
+               }
+               void fadein(callback_t const& cb, double time, double startpos = 0.0) {
+                       scoped_lock l(m_mutex);
+                       if (m_user.streams.size() <= 1) {
+                               // The simple case
+                               m_user.add(cb);
+                               m_user.add(shared_ref(new fadeinOp(time)));
+                               return;
+                       }
+                       // Make a new chain that produces the same output as the old one
+                       std::shared_ptr<chain> origch(new chain());
+                       origch->streams.insert(origch->streams.end(), m_user.streams.begin() + 1, m_user.streams.end());
+                       // Make a new chain for cb + fade
+                       std::shared_ptr<chain> fadech(new chain());
+                       fadech->add(cb);
+                       fadech->add(shared_ref(new fadeinOp(time, startpos * m_settings.rate() * m_settings.channels())));
+                       // Replace the output with accumulate of both chains
+                       clear();
+                       std::shared_ptr<accumulate> accu(new accumulate());
+                       accu->add(shared_ref(origch));
+                       accu->add(shared_ref(fadech));
+                       add(shared_ref(accu));
+               }
+               void fadeout(double time, double startpos = 0.0) {
+                       scoped_lock l(m_mutex);
+                       if (m_user.streams.size() <= 1) return;
+                       // Make a new chain that produces the same output as the old one
+                       std::shared_ptr<chain> ch(new chain());
+                       ch->streams.insert(ch->streams.end(), m_user.streams.begin() + 1, m_user.streams.end());
+                       // Replace the output with our new stream (with fade)
+                       clear();
+                       add(shared_ref(new fadeoutOp(shared_ref(ch), time, startpos * m_settings.rate() * m_settings.channels())));
+               }
+               void clear() {
+                       scoped_lock l(m_mutex);
+                       m_user.clear();
+                       m_user.add(voidOp);
+               }
+               void set_volume(sample_t level) {
+                       scoped_lock l(m_mutex);
+                       m_volume.level(level);
+               }
+               void pause(bool p) {
+                       scoped_lock l(m_mutex);
+                       m_select.choose(p ? "paused" : "normal");
+               }
+               settings get_settings() { return m_settings; }
+               lock_holder lock() const { return lock_holder(new scoped_lock(m_mutex)); }
+         private:
+               void init() {
+                       m_master.add(zero);
+                       m_master.add(boost::ref(m_user));
+                       m_master.add(boost::ref(m_volume));
+                       m_select.insert("paused", zero);
+                       m_select.insert("normal", boost::ref(m_master));
+                       pause(false);
+                       clear();
+               }
+               volume m_volume;
+               chain m_user;
+               chain m_master;
+               select<std::string> m_select;
+               mutex_stream m_mutex;
+               settings m_settings;
+               std::unique_ptr<playback> m_playback;
+       };
+}
diff --git a/game/libda/portaudio.hpp b/game/libda/portaudio.hpp
new file mode 100644 (file)
index 0000000..6f543b7
--- /dev/null
@@ -0,0 +1,260 @@
+#pragma once
+
+/**
+ * @file portaudio.hpp OOP / RAII wrappers & utilities for PortAudio library.
+ */
+
+#include "../unicode.hh"
+#include "../platform.hh"
+#include <portaudio.h>
+#include <cstdint>
+#include <cstdlib>
+#include <future>
+#include <regex>
+#include <set>
+#include <stdexcept>
+
+#define PORTAUDIO_CHECKED(func, args) portaudio::internal::check(func args, #func)
+
+namespace portaudio {
+       class Error: public std::runtime_error {
+       public:
+               Error(PaError code_, char const* func_):
+                 runtime_error(std::string(func_) + " failed: " + Pa_GetErrorText(code_)),
+                 m_code(code_),
+                 m_func(func_)
+               {}
+               PaError code() const { return m_code; }
+               std::string func() const { return m_func; }
+       private:
+               PaError m_code;
+               char const* m_func;
+       };
+
+       namespace internal {
+               void inline check(PaError code, char const* func) { if (code != paNoError) throw Error(code, func); }
+       }
+
+       struct DeviceInfo {
+               DeviceInfo(int id, std::string n = std::string(), int i = 0, int o = 0, unsigned index = 0): name(n), flex(n), idx(id), in(i), out(o), index(index) {}
+               std::string desc() const {
+                       std::ostringstream oss;
+                       oss << name << " (";
+                       if (in) oss << in << " in";
+                       if (in && out) oss << ", ";
+                       if (out) oss << out << " out";
+                       oss << ")";
+                       return oss.str();
+               }
+               std::string name;  ///< Full device name in UTF-8
+               std::string flex;  ///< Modified name that is less specific but still unique (allow device numbers to change)
+               int idx;
+               int in, out;
+               unsigned index;
+       };
+               typedef std::vector<DeviceInfo> DeviceInfos;
+               struct AudioDevices {
+               static int count() { return Pa_GetDeviceCount(); }
+               static const PaHostApiTypeId AutoBackendType = PaHostApiTypeId(1337);
+               static PaHostApiTypeId defaultBackEnd() {
+                       return PaHostApiTypeId(Platform::defaultBackEnd());
+               }
+               /// Constructor gets the PA devices into a vector
+               AudioDevices(PaHostApiTypeId backend = AutoBackendType) {
+               PaHostApiIndex backendIndex = Pa_HostApiTypeIdToHostApiIndex((backend == AutoBackendType ? defaultBackEnd() : backend));
+               if (backendIndex == paHostApiNotFound) backendIndex = Pa_HostApiTypeIdToHostApiIndex(defaultBackEnd());
+                       for (unsigned i = 0, end = Pa_GetHostApiInfo(backendIndex)->deviceCount; i != end; ++i) {
+                               PaDeviceInfo const* info = Pa_GetDeviceInfo(Pa_HostApiDeviceIndexToDeviceIndex(backendIndex, i));
+                               if (!info) continue;
+                               std::string name = UnicodeUtil::convertToUTF8(info->name);
+                               /// Omit some useless legacy devices of PortAudio/ALSA from our list
+                               for (auto const& dev: { "front", "surround40", "surround41", "surround50", "surround51", "surround71", "iec958", "spdif", "dmix" }) {
+                                       if (name.find(dev) != std::string::npos) name.clear();
+                               }
+                               if (name.empty()) continue;  // No acceptable device found
+                               // Verify that the name is unique (haven't seen duplicate names occur though)
+                               std::string n = name;
+                               while (true) {
+                                       int num = 1;
+                                       for (auto& dev: devices) if (dev.name == n) goto rename;
+                                       break;
+                               rename:
+                                       std::ostringstream oss;
+                                       oss << name << " #" << ++num;
+                                       n = oss.str();
+                               };
+                               devices.push_back(DeviceInfo(i, name, info->maxInputChannels, info->maxOutputChannels, Pa_HostApiDeviceIndexToDeviceIndex(backendIndex, i)));
+                       }
+                       for (auto& dev: devices) {
+                               // Array of regex - replacement pairs
+                               static char const* const replacements[][2] = {
+                                       { "\\(hw:\\d+,", "(hw:," },  // Remove ALSA device numbers
+                                       { " \\(.*\\)", "" },  // Remove the parenthesis part entirely
+                               };
+                               for (auto const& rep: replacements) {
+                                       std::string flex = std::regex_replace(dev.flex, std::regex(rep[0]), rep[1]);
+                                       if (flex == dev.flex) continue;  // Nothing changed
+                                       // Verify that flex doesn't find any wrong devices
+                                       bool fail = false;
+                                       try {
+                                               if (find(flex, false, 0).idx != dev.idx) fail = true;
+                                       } catch (...) {}  // Failure to find anything is success
+                                       if (!fail) dev.flex = flex;
+                               }
+                       }
+               }
+               /// Get a printable dump of the devices
+               std::string dump() const {
+                       std::ostringstream oss;
+                       for (auto const& d: devices) { oss << "    #" << d.idx << " " << d.desc() << std::endl; }
+                       return oss.str();
+               }
+               DeviceInfo const& find(std::string const& name, bool output, unsigned num) {
+                       if (name.empty()) { return findByChannels(output, num); }
+                       // Try name search with full match
+                       for (auto const& dev: devices) { if (dev.name == name) { return dev;  } }
+                       // Try name search with partial/flexible match
+                       for (auto const& dev: devices) {
+                               if (dev.name.find(name) != std::string::npos) { return dev; }
+                               if (dev.flex.find(name) != std::string::npos) { return dev; }
+                       }
+                       throw std::runtime_error("No such device.");
+               }
+               DeviceInfo const& findByChannels(bool output, unsigned num) {
+                       for (auto const& dev: devices) {
+                               unsigned reqChannels = output ? dev.out : dev.in;
+                               if (reqChannels >= num) { return dev;  }
+                       }
+                       throw std::runtime_error("No such device.");
+               }
+               DeviceInfos devices;
+       };
+       
+       struct BackendInfo {
+               BackendInfo(int id, PaHostApiTypeId type, std::string n = std::string(), int n_dev = 0): idx(id), name(n), type(type), devices(n_dev) {}
+               int idx;
+               std::string name;
+               PaHostApiTypeId type;
+               int devices;
+               std::string desc () const {
+               std::ostringstream oss;
+               oss << "  #" << idx << ": " << name << " (" << devices << " devices):" << std::endl;
+               oss << portaudio::AudioDevices(type).dump();
+               return oss.str();
+               }
+       };
+
+       typedef std::vector<BackendInfo> BackendInfos;
+       
+       struct AudioBackends {
+       static int count() { return Pa_GetHostApiCount(); }
+       AudioBackends () {
+               if (count() == 0) throw std::runtime_error("No suitable audio backends found."); // Check specifically for 0 because it returns a negative error code if Pa is not initialized.
+               for (unsigned i = 0, end = Pa_GetHostApiCount(); i != end; ++i) {
+                       PaHostApiInfo const* info = Pa_GetHostApiInfo(i);
+                       if (!info || info->deviceCount < 1) continue;
+                       /*
+                       Constant, unique identifier for each audio backend past alpha status.
+                               1 = DirectSound
+                               2 = MME
+                               3 = ASIO
+                               4 = SoundManager
+                               5 = CoreAudio
+                               7 = OSS
+                               8 = ALSA
+                               9 = AL
+                               10 = BeOS
+                               11 = WDMKS
+                               12 = JACK
+                               13 = WASAPI
+                               14 = AudioScienceHPI
+                               0 = Backend currently being developed.
+                       */
+                       PaHostApiTypeId apiID = info->type;
+                       std::string name = UnicodeUtil::convertToUTF8(info->name);
+                       backends.push_back(BackendInfo(i, apiID, name, info->deviceCount));             
+               }
+       };
+               BackendInfos backends;
+               
+               std::string dump() const {
+               std::ostringstream oss;
+               oss << "audio/info: PortAudio backends:" << std::endl;
+               for (auto const& b: backends) { oss << b.desc() << std::endl; }
+                       return oss.str();
+               }
+               std::list<std::string> getBackends() {
+                       std::set<std::string> bends;
+                       for (auto const& temp: backends) {
+                               bends.insert(temp.name);
+                       }
+                       return std::list<std::string>(bends.begin(),bends.end());
+               }
+       };
+
+       struct Init {
+               Init() { PORTAUDIO_CHECKED(Pa_Initialize, ()); }
+               ~Init() { Pa_Terminate(); }
+       };
+
+       struct Params {
+               PaStreamParameters params;
+               Params(PaStreamParameters const& init = PaStreamParameters()): params(init) {
+                       // Some useful defaults so that things just work (channel count must be set by user anyway)
+                       if (params.channelCount == 0) sampleFormat(paFloat32).suggestedLatency(0.05);
+               }
+               Params& channelCount(int val) { params.channelCount = val; return *this; }
+               Params& device(PaDeviceIndex val) { params.device = val; return *this; }
+               Params& sampleFormat(PaSampleFormat val) { params.sampleFormat = val; return *this; }
+               Params& suggestedLatency(PaTime val) { params.suggestedLatency = val; return *this; }
+               Params& hostApiSpecificStreamInfo(void* val) { params.hostApiSpecificStreamInfo = val; return *this; }
+               operator PaStreamParameters const*() const { return params.channelCount > 0 ? &params : nullptr; }
+       };
+
+       template <typename Functor> int functorCallback(void const* input, void* output, unsigned long frameCount, const PaStreamCallbackTimeInfo* timeInfo, PaStreamCallbackFlags statusFlags, void* userData) {
+               Functor* ptr = *reinterpret_cast<Functor**>(&userData);
+               return (*ptr)(input, output, frameCount, timeInfo, statusFlags);
+       }
+
+       class Stream {
+               PaStream* m_handle;
+       public:
+               // We are non-copyable
+               Stream(Stream const&) = delete;
+               Stream& operator=(Stream const&) = delete;
+               /// Construct a stream as with Pa_OpenStream
+               Stream(
+                 PaStreamParameters const* input,
+                 PaStreamParameters const* output,
+                 double sampleRate,
+                 unsigned long framesPerBuffer = paFramesPerBufferUnspecified,
+                 PaStreamFlags flags = paNoFlag,
+                 PaStreamCallback* callback = nullptr,
+                 void* userData = nullptr)
+               {
+                       if (output != nullptr) {
+                               if (output->channelCount > 0) { flags = paPrimeOutputBuffersUsingStreamCallback; }
+                       }
+                       PORTAUDIO_CHECKED(Pa_OpenStream, (&m_handle, input, output, sampleRate, framesPerBuffer, flags, callback, userData));
+               }
+               /// Construct stream using a C++ functor as callback
+               template <typename Functor> Stream(
+                 Functor& functor,
+                 PaStreamParameters const* input,
+                 PaStreamParameters const* output,
+                 double sampleRate,
+                 unsigned long framesPerBuffer = paFramesPerBufferUnspecified,
+                 PaStreamFlags flags = paNoFlag
+               ): Stream(input, output, sampleRate, framesPerBuffer, flags, functorCallback<Functor>, (void*)(intptr_t)&functor) {}
+               ~Stream() {
+                       if (!m_handle) return;
+                       // Give audio a little time to shutdown but then just quit
+                       auto audiokiller = std::async(std::launch::async, Pa_CloseStream, m_handle);
+                       if (audiokiller.wait_for(std::chrono::seconds(5)) == std::future_status::ready) return;
+                       std::cerr << "PortAudio BUG: Pa_CloseStream hung for more than five seconds. Aborting." << std::endl;
+                       abort();  // Crash. Calling exit() is prone to hang.
+               }
+               operator PaStream*() { return m_handle; }
+       };
+
+}
diff --git a/game/libda/sample.hpp b/game/libda/sample.hpp
new file mode 100644 (file)
index 0000000..a6d0bc6
--- /dev/null
@@ -0,0 +1,81 @@
+#pragma once
+
+#include <cmath>
+
+/**
+ * @file sample.hpp Sample format definition and format conversions.
+ */
+
+namespace da {
+
+       using namespace std;  // For std::round which apparently is not in std namespace on mingw and thus cannot be directly used
+       
+       // Should be a floating-point type
+       typedef float sample_t;
+
+       // A helper function for clamping a value to a certain range
+       template <typename T> T clamp(T val, T min, T max) {
+               if (val < min) val = min;
+               if (val > max) val = max;
+               return val;
+       }
+
+       constexpr sample_t max_s16(32767), min_s16 = -max_s16 - sample_t(1);
+       constexpr sample_t max_s24(8388607), min_s24 = -max_s24 - sample_t(1);
+       constexpr sample_t max_s32(2147483647), min_s32= -max_s32 - sample_t(1);
+       constexpr double tau(6.2831853071795864769252867665590057683943387987502116);  ///< One full circle
+       constexpr double pi = tau / sample_t(2);  ///< Half circle
+       constexpr double eps(1e-10);  ///< Tiny positive value
+       
+       /// Mathematical sinc function
+       template<typename Float> static inline Float msinc(Float x) { return std::abs(x) < Float(eps) ? Float(1) : std::sin(x) / x; }
+       
+       /// Normalized (signal processing) sinc function
+       template<typename Float> static inline Float sinc(Float x) { return msinc(Float(pi) * x); }
+       
+       /// Lanczos kernel of size A
+       template<unsigned A, typename Float> static inline Float lanc(Float x) {
+               return std::abs(x) < A ? sinc(x) * sinc(x / A) : Float();
+       }
+
+       // The following conversions provide lossless conversions between floats
+       // and integers. Be sure to use only these conversions or otherwise the
+       // conversions may not be lossless, due to different scaling factors being
+       // used by different libraries.
+
+       // The negative minimum integer value produces sample_t value slightly
+       // more negative than -1.0 but this is necessary in order to prevent
+       // clipping in the float-to-int conversions. Now amplitude 1.0 in floating
+       // point produces -32767 .. 32767 symmetrical non-clipping range in s16.
+
+       static inline sample_t conv_from_s16(int s) { return s / max_s16; }
+       static inline sample_t conv_from_s24(int s) { return s / max_s24; }
+       static inline sample_t conv_from_s32(int s) { return s / max_s32; }
+       // The rounding is strictly not necessary, but it greatly improves
+       // the error tolerance if any floating point calculations are done.
+       // The ugly static_casts are required to avoid warnings in MSVC.
+       static inline int conv_to_s16(sample_t s) { return clamp(static_cast<int>(round(s * max_s16)), static_cast<int>(min_s16), static_cast<int>(max_s16)); }
+       static inline int conv_to_s24(sample_t s) { return clamp(static_cast<int>(round(s * max_s24)), static_cast<int>(min_s24), static_cast<int>(max_s24)); }
+       static inline int conv_to_s32(sample_t s) { return static_cast<int>(clamp(static_cast<sample_t>(round(s * max_s32)), min_s32, max_s32 )); }
+       // Non-rounding non-clamping versions are provided for very low end devices (still lossless)
+       static inline int conv_to_s16_fast(sample_t s) { return static_cast<int>(s * max_s16); }
+       static inline int conv_to_s24_fast(sample_t s) { return static_cast<int>(s * max_s24); }
+       static inline int conv_to_s32_fast(sample_t s) { return static_cast<int>(s * max_s32); }
+
+       template <typename ValueType> class step_iterator: public std::iterator<std::random_access_iterator_tag, ValueType> {
+               ValueType* m_pos;
+               std::ptrdiff_t m_step;
+         public:
+               step_iterator(ValueType* pos, std::ptrdiff_t step): m_pos(pos), m_step(step) {}
+               ValueType& operator*() { return *m_pos; }
+               step_iterator operator+(std::ptrdiff_t rhs) { return step_iterator(m_pos + m_step * rhs, m_step); }
+               step_iterator& operator++() { m_pos += m_step; return *this; }
+               step_iterator operator++(int) { step_iterator ret = *this; ++*this; return ret; }
+               bool operator!=(step_iterator const& rhs) const { return m_pos != rhs.m_pos; }
+               std::ptrdiff_t operator-(step_iterator const& rhs) const { return (m_pos - rhs.m_pos) / m_step; }
+               // TODO: more operators
+       };
+
+       typedef step_iterator<sample_t> sample_iterator;
+       typedef step_iterator<sample_t const> sample_const_iterator;
+}
diff --git a/game/libxml++-impl.hh b/game/libxml++-impl.hh
new file mode 100644 (file)
index 0000000..01db6bb
--- /dev/null
@@ -0,0 +1,37 @@
+#pragma once
+
+#include "config.hh"
+
+#include <libxml++/libxml++.h>
+
+namespace xmlpp {
+#if LIBXMLPP_VERSION_2_6
+       typedef NodeSet const_NodeSet; // implementation to satisfy libxml++ 2.6 API
+
+       static inline Element* add_child_element(Element* element, const Glib::ustring& name) {
+               return element->add_child(name);
+       }
+
+       static inline const TextNode* get_first_child_text(const Element& element) {
+               return element.get_child_text();
+       }
+
+       static inline void set_first_child_text(Element* element, const Glib::ustring& content) {
+               return element->set_child_text(content);
+       }
+#elif LIBXMLPP_VERSION_3_0
+       typedef Node::const_NodeSet const_NodeSet; // correct libxml++ 3.0 implementation
+
+       static inline Element* add_child_element(Element* element, const Glib::ustring& name) {
+               return element->add_child_element(name);
+       }
+
+       static inline const TextNode* get_first_child_text(const Element& element) {
+               return element.get_first_child_text();
+       }
+
+       static inline void set_first_child_text(Element* element, const Glib::ustring& content) {
+               return element->set_first_child_text(content);
+       }
+#endif
+}
diff --git a/game/libxml++.hh b/game/libxml++.hh
new file mode 100644 (file)
index 0000000..7e0db98
--- /dev/null
@@ -0,0 +1,11 @@
+#pragma once
+
+#include <vector>
+
+// A few forward definitions of libxml++ types
+namespace xmlpp {
+       class Node;
+       class Element;
+       typedef std::vector<Node*> NodeSet;
+}
+
diff --git a/game/log.cc b/game/log.cc
new file mode 100644 (file)
index 0000000..252640e
--- /dev/null
@@ -0,0 +1,193 @@
+#include "log.hh"
+
+#include "fs.hh"
+#include <boost/filesystem.hpp>
+#include <boost/iostreams/device/file_descriptor.hpp>
+#include <boost/iostreams/stream.hpp>
+#include <iostream>
+#include <memory>
+#include <mutex>
+#include <stdexcept>
+
+/** \file
+ * \brief The std::clog logger.
+ *
+ * General message format: <tt>subsystem/level: message</tt>
+ *
+ * Example:
+ * \code
+ * std::clog << "foo/info: Here's an info message from subsystem foo" << std::endl;
+ * \endcode
+ *
+ * Each message may contain newlines and flushing the stream (i.e. by std::endl or std::flush) must be done
+ * when and only when the message is complete.
+ *
+ * Any lower-case subsystem name including hyphens may be used. The levels, in descending order of priority
+ * are as follows:
+ *
+ * error    A serious and rare message that usually means that a function requested by user cannot be completed.
+ * warning  Less critical errors that should still be emitted sparingly (consider using "debug" for repeated warnings).
+ * notice   A non-error situation that might still require user attention (the lowest level displayed by default).
+ * info     Any information that might be of interest but that does not appear too often and glog the log output.
+ * debug    Any information that is flooded so much that it should normally be suppressed.
+ *
+ * The user may either choose a desired level of messages to emit, or he may choose a specific subsystem (by
+ * substring search) to be monitored all the way down to debug level, in which case only errors from any other
+ * subsystems will be printed.
+ *
+ **/
+
+/** \internal
+ * Guard to ensure we're atomically printing to cerr.
+ * \attention This only guards from multiple clog interleaving, not other console I/O.
+ */
+std::mutex log_lock;
+
+// Capture stderr spam from other libraries and log it properly
+// Note: std::cerr retains its normal functionality but other means of writing stderr get redirected to std::clog
+#if defined(__unix__) || defined(__APPLE__)
+#include <unistd.h>
+#include <future>
+struct StderrGrabber {
+       boost::iostreams::stream<boost::iostreams::file_descriptor_sink> stream;
+       std::streambuf* backup;
+       std::future<void> logger;
+       StderrGrabber(): stream(dup(STDERR_FILENO), boost::iostreams::close_handle), backup(std::cerr.rdbuf()) {
+               std::cerr.rdbuf(stream.rdbuf());  // Make std::cerr write to our stream (which connects to normal stderr)
+               int fd[2];
+               pipe(fd);  // Create pipe fd[1]->fd[0]
+               dup2(fd[1], STDERR_FILENO);  // Close stderr and replace it with a copy of pipe begin
+               close(fd[1]);  // Close the original pipe begin
+               std::clog << "stderr/info: Standard error output redirected here\n" << std::flush;
+               logger = std::async(std::launch::async, [fdpipe = fd[0]] {
+                       std::string line;
+                       unsigned count = 0;
+                       for (char ch; read(fdpipe, &ch, 1) == 1;) {
+                               line += ch;
+                               if (ch != '\n') continue;
+                               std::clog << "stderr/info: " + line << std::flush;
+                               line.clear(); ++count;
+                       }
+                       close(fdpipe);  // Close this end of pipe
+                       if (count > 0) std::clog << "stderr/notice: " << count << " messages logged to stderr/info\n" << std::flush;
+               });
+       }
+       ~StderrGrabber() {
+               dup2(stream->handle(), STDERR_FILENO);  // Restore stderr (closes the pipe, terminating the thread)
+               std::cerr.rdbuf(backup);  // Restore original rdbuf (that writes to normal stderr)
+       }
+};
+#else
+struct StderrGrabber {};  // Not supported on Windows
+#endif
+
+std::unique_ptr<StderrGrabber> grabber;
+
+/** \internal The implementation of the stream filter that handles the message filtering. **/
+class VerboseMessageSink : public boost::iostreams::sink {
+  public:
+       std::streamsize write(const char* s, std::streamsize n);
+};
+
+// defining them in main() causes segfault at exit as they apparently got free'd before we're done using them
+static boost::iostreams::stream_buffer<VerboseMessageSink> sb; //!< \internal
+static VerboseMessageSink vsm; //!< \internal
+
+//! \internal used to store the default/original clog buffer.
+static std::streambuf* default_ClogBuf = nullptr;
+
+fs::ofstream file;
+
+std::string target;
+int minLevel;
+
+void writeLog(std::string const& msg) {
+       std::lock_guard<std::mutex> l(log_lock);
+       std::cerr << msg << std::flush;
+       file << msg << std::flush;
+}
+
+int numeric(std::string const& level) {
+       if (level == "debug") return 0;
+       if (level == "info") return 1;
+       if (level == "notice") return 2;
+       if (level == "warning") return 3;
+       if (level == "error") return 4;
+       return -1;
+}
+
+std::streamsize VerboseMessageSink::write(const char* s, std::streamsize n) {
+       std::string line(s, n);  // Note: s is *not* a c-string, thus we must stop after n chars.
+       // Parse prefix as subsystem/level:...
+       size_t slash = line.find('/');
+       size_t colon = line.find(": ", slash);
+       if (slash == std::string::npos || colon == std::string::npos) {
+               std::string msg = "logger/error: Invalid log prefix on line [[[\n" + line + "]]]\n";
+               write(msg.data(), msg.size());
+               return n;
+       }
+       std::string subsystem(line, 0, slash);
+       std::string level(line, slash + 1, colon - slash - 1);
+       int lev = numeric(level);
+       if (lev == -1) {
+               std::string msg = "logger/error: Invalid level '" + level + "' line [[[\n" + line + "]]]\n";
+               write(msg.data(), msg.size());
+               return n;
+       }
+       if (lev >= minLevel || (!target.empty() && subsystem.find(target) != std::string::npos)) {
+               writeLog(line);
+       }
+       return n;
+}
+
+Logger::Logger(std::string const& level) {
+       if (default_ClogBuf) throw std::logic_error("Multiple loggers constructed. There can only be one.");
+       if (level.find_first_of(":/_* ") != std::string::npos) throw std::runtime_error("Invalid logging level specified. Specify either a subsystem name (e.g. logger) or a level (debug, info, notice, warning, error).");
+       pathBootstrap();  // So that log filename is known...
+       std::string msg = "logger/notice: Logging ";
+       {
+               std::lock_guard<std::mutex> l(log_lock);
+               if (level.empty()) {
+                       minLevel = 2;  // Display all notices, warnings and errors
+                       msg += "all notices, warnings and errors.";
+               } else if (level == "none") {
+                       minLevel = 100;
+                       msg += "disabled.";  // No-one will see this, so what's the point? :)
+               } else {
+                       minLevel = numeric(level);
+                       if (minLevel == -1 /* Not a valid level name */) {
+                               minLevel = 4;  // Display errors from any subsystem
+                               target = level;  // All messages from the given subsystem
+                               msg += "everything from subsystem " + target + " and all errors.";
+                       } else {
+                               msg += "any events of " + level + " or higher level.";
+                       }
+               }
+               if (minLevel < 100) {
+                       fs::path name = getLogFilename();
+                       fs::create_directories(name.parent_path());
+                       file.open(name);
+                       msg += " Log file: " + name.string();
+               }
+               sb.open(vsm);
+               default_ClogBuf = std::clog.rdbuf();
+               std::clog.rdbuf(&sb);
+               atexit(Logger::teardown);
+       }
+       std::clog << msg << std::endl;
+       grabber = std::make_unique<StderrGrabber>();
+}
+
+Logger::~Logger() { teardown(); }
+
+void Logger::teardown() {
+       grabber.reset();
+       if (default_ClogBuf) std::clog << "logger/info: Exiting normally." << std::endl;
+       std::lock_guard<std::mutex> l(log_lock);
+       if (!default_ClogBuf) return;
+       std::clog.rdbuf(default_ClogBuf);
+       sb.close();
+       file.close();
+       default_ClogBuf = nullptr;
+}
+
diff --git a/game/log.hh b/game/log.hh
new file mode 100644 (file)
index 0000000..c86f4b3
--- /dev/null
@@ -0,0 +1,11 @@
+#pragma once
+
+#include <string>
+
+class Logger {
+public:
+       Logger(std::string const& level);
+       ~Logger();
+       static void teardown();
+};
+
diff --git a/game/main.cc b/game/main.cc
new file mode 100644 (file)
index 0000000..815a31d
--- /dev/null
@@ -0,0 +1,406 @@
+#include "backgrounds.hh"
+#include "chrono.hh"
+#include "config.hh"
+#include "controllers.hh"
+#include "database.hh"
+#include "engine.hh"
+#include "fs.hh"
+#include "glutil.hh"
+#include "i18n.hh"
+#include "log.hh"
+#include "platform.hh"
+#include "profiler.hh"
+#include "screen.hh"
+#include "songs.hh"
+#include "video_driver.hh"
+#include "webcam.hh"
+#include "webserver.hh"
+
+// Screens
+#include "screen_intro.hh"
+#include "screen_songs.hh"
+#include "screen_sing.hh"
+#include "screen_practice.hh"
+#include "screen_audiodevices.hh"
+#include "screen_paths.hh"
+#include "screen_players.hh"
+#include "screen_playlist.hh"
+
+#include <boost/program_options.hpp>
+#include <cstdlib>
+#include <csignal>
+#include <string>
+#include <thread>
+#include <vector>
+
+// Disable main level exception handling for debug builds (because gdb cannot properly catch throwing otherwise)
+#ifdef NDEBUG
+#define RUNTIME_ERROR std::runtime_error
+#define EXCEPTION std::exception
+#else
+namespace { struct Nothing { char const* what() const { return nullptr; } }; }
+#define RUNTIME_ERROR Nothing
+#define EXCEPTION Nothing
+#endif
+
+std::atomic<bool> g_quit{ false };
+
+bool g_take_screenshot = false;
+
+// Signal handling for Ctrl-C
+
+static void signalSetup();
+
+extern "C" void quit(int) {
+       using namespace std; // Apparently some implementations put quick_exit in std:: and others in ::
+       if (g_quit) abort();  // Instant exit if Ctrl+C is pressed again
+       g_quit = true;
+       signalSetup();
+}
+
+static void signalSetup() {
+       std::signal(SIGINT, quit);
+       std::signal(SIGTERM, quit);
+}
+
+/// can be thrown as an exception to quit the game
+struct QuitNow {};
+
+static void checkEvents(Game& gm, Time eventTime) {
+       if (g_quit) {
+               std::cerr << "Terminating, please wait... (or kill the process)" << std::endl;
+               throw QuitNow();
+       }
+       Window& window = gm.window();
+       SDL_Event event;
+       while (SDL_PollEvent(&event) == 1) {
+               // Let the navigation system grab any and all SDL events
+               gm.controllers.pushEvent(event, eventTime);
+               auto type = event.type;
+               if (type == SDL_WINDOWEVENT) window.event(event.window.event);
+               if (type == SDL_QUIT) gm.finished();
+               if (type == SDL_KEYDOWN) {
+                       auto key  = event.key.keysym.scancode;
+                       auto mod = event.key.keysym.mod;
+                       bool altEnter = (key == SDL_SCANCODE_RETURN || key == SDL_SCANCODE_KP_ENTER) && mod & KMOD_ALT;  // Alt+Enter
+                       bool modF = key == SDL_SCANCODE_F && mod & KMOD_CTRL && mod & KMOD_GUI;  // MacOS Ctrl+Cmd+F
+                       if (altEnter || modF || key == SDL_SCANCODE_F11) {
+                               config["graphic/fullscreen"].b() = !config["graphic/fullscreen"].b();
+                               continue; // Already handled here...
+                       }
+                       if (key == SDL_SCANCODE_PRINTSCREEN || (key == SDL_SCANCODE_F12 && (mod & Platform::shortcutModifier()))) {
+                               g_take_screenshot = true;
+                               continue; // Already handled here...
+                       }
+                       if (key == SDL_SCANCODE_F4 && mod & KMOD_ALT) {
+                               gm.finished();
+                               continue; // Already handled here...
+                       }
+               }
+               // Screens always receive SDL events that were not already handled here
+               gm.getCurrentScreen()->manageEvent(event);
+       }
+       for (input::NavEvent event; gm.controllers.getNav(event); ) {
+               input::NavButton nav = event.button;
+               // Volume control
+               if (nav == input::NAV_VOLUME_UP || nav == input::NAV_VOLUME_DOWN) {
+                       std::string curS = gm.getCurrentScreen()->getName();
+                       // Pick proper setting
+                       std::string which_vol = (curS == "Sing" || curS == "Practice")
+                         ? "audio/music_volume" : "audio/preview_volume";
+                       // Adjust value
+                       if (nav == input::NAV_VOLUME_UP) ++config[which_vol]; else --config[which_vol];
+                       // Show message
+                       gm.flashMessage(config[which_vol].getShortDesc() + ": " + config[which_vol].getValue());
+                       continue; // Already handled here...
+               }
+               // If a dialog is open, any nav event will close it
+               if (gm.isDialogOpen()) { gm.closeDialog(); }
+               // Let the current screen handle other events
+               gm.getCurrentScreen()->manageEvent(event);
+       }
+
+       // Need to toggle full screen mode or adjust resolution?
+       window.resize();
+}
+
+void mainLoop(std::string const& songlist) {
+       Platform platform;
+       std::clog << "core/notice: Starting the audio subsystem (errors printed on console may be ignored)." << std::endl;
+       Audio audio;
+       std::clog << "core/info: Loading assets." << std::endl;
+       TranslationEngine localization(PACKAGE);
+       Window window;
+       TextureLoader m_loader;
+       Backgrounds backgrounds;
+       Database database(getConfigDir() / "database.xml");
+       Songs songs(database, songlist);
+       loadFonts();
+       Game gm(window, audio);
+       WebServer server(songs);
+       try {
+               // Load audio samples
+               gm.loading(_("Loading audio samples..."), 0.5);
+               audio.loadSample("drum bass", findFile("sounds/drum_bass.ogg"));
+               audio.loadSample("drum snare", findFile("sounds/drum_snare.ogg"));
+               audio.loadSample("drum hi-hat", findFile("sounds/drum_hi-hat.ogg"));
+               audio.loadSample("drum tom1", findFile("sounds/drum_tom1.ogg"));
+               audio.loadSample("drum cymbal", findFile("sounds/drum_cymbal.ogg"));
+               //audio.loadSample("drum tom2", findFile("sounds/drum_tom2.ogg"));
+               audio.loadSample("guitar fail1", findFile("sounds/guitar_fail1.ogg"));
+               audio.loadSample("guitar fail2", findFile("sounds/guitar_fail2.ogg"));
+               audio.loadSample("guitar fail3", findFile("sounds/guitar_fail3.ogg"));
+               audio.loadSample("guitar fail4", findFile("sounds/guitar_fail4.ogg"));
+               audio.loadSample("guitar fail5", findFile("sounds/guitar_fail5.ogg"));
+               audio.loadSample("guitar fail6", findFile("sounds/guitar_fail6.ogg"));
+               audio.loadSample("notice.ogg",findFile("notice.ogg"));
+               // Load screens
+               gm.loading(_("Creating screens..."), 0.7);
+               gm.addScreen(std::make_unique<ScreenIntro>("Intro", audio));
+               gm.addScreen(std::make_unique<ScreenSongs>("Songs", audio, songs, database));
+               gm.addScreen(std::make_unique<ScreenSing>("Sing", audio, database, backgrounds));
+               gm.addScreen(std::make_unique<ScreenPractice>("Practice", audio));
+               gm.addScreen(std::make_unique<ScreenAudioDevices>("AudioDevices", audio));
+               gm.addScreen(std::make_unique<ScreenPaths>("Paths", audio, songs));
+               gm.addScreen(std::make_unique<ScreenPlayers>("Players", audio, database));
+               gm.addScreen(std::make_unique<ScreenPlaylist>("Playlist", audio, songs, backgrounds));
+               gm.activateScreen("Intro");
+               gm.loading(_("Entering main menu"), 0.8);
+               gm.updateScreen();  // exit/enter, any exception is fatal error
+               gm.loading(_("Loading complete"), 1.0);
+               // Main loop
+               auto time = Clock::now();
+               unsigned frames = 0;
+               std::clog << "core/info: Assets loaded, entering main loop." << std::endl;
+               while (!gm.isFinished()) {
+                       Profiler prof("mainloop");
+                       bool benchmarking = config["graphic/fps"].b();
+                       if (songs.doneLoading == true && songs.displayedAlert == false) {
+                               gm.dialog(_("Done Loading!\n Loaded ") + std::to_string(songs.loadedSongs()) + " Songs.");
+                               songs.displayedAlert = true;
+                       }
+                       if( g_take_screenshot ) {
+                               try {
+                                       window.screenshot();
+                                       gm.flashMessage(_("Screenshot taken!"));
+                               } catch (EXCEPTION& e) {
+                                       std::cerr << "ERROR: " << e.what() << std::endl;
+                                       gm.flashMessage(_("Screenshot failed!"));
+                               }
+                               g_take_screenshot = false;
+                       }
+                       gm.updateScreen();  // exit/enter, any exception is fatal error
+                       if (benchmarking) prof("misc");
+                       try {
+                               window.blank();
+                               // Draw
+                               window.render([&gm]{ gm.drawScreen(); });
+                               if (benchmarking) { glFinish(); prof("draw"); }
+                               // Display (and wait until next frame)
+                               window.swap();
+                               if (benchmarking) { glFinish(); prof("swap"); }
+                               updateTextures();
+                               gm.prepareScreen();
+                               if (benchmarking) { glFinish(); prof("textures"); }
+                               if (benchmarking) {
+                                       ++frames;
+                                       if (Clock::now() - time > 1s) {
+                                               std::ostringstream oss;
+                                               oss << frames << " FPS";
+                                               gm.flashMessage(oss.str());
+                                               time += 1s;
+                                               frames = 0;
+                                       }
+                               } else {
+                                       std::this_thread::sleep_until(time + 10ms); // Max 100 FPS
+                                       time = Clock::now();
+                                       frames = 0;
+                               }
+                               if (benchmarking) prof("fpsctrl");
+                               // Process events for the next frame
+                               auto eventTime = Clock::now();
+                               gm.controllers.process(eventTime);
+                               checkEvents(gm, eventTime);
+                               if (benchmarking) prof("events");
+                       } catch (RUNTIME_ERROR& e) {
+                               std::cerr << "ERROR: " << e.what() << std::endl;
+                               gm.flashMessage(std::string("ERROR: ") + e.what());
+                       }
+               }
+               writeConfig();
+       } catch (EXCEPTION& e) {
+               std::clog << "core/error: Exiting due to fatal error: " << e.what() << std::endl;
+               gm.fatalError(e.what());  // Notify the user
+               throw;
+       } catch (QuitNow&) {
+               std::cerr << "Terminated." << std::endl;
+       }
+}
+
+/// Simple test utility to make mapping of joystick buttons/axes easier
+void jstestLoop() {
+       try {
+               config["graphic/fullscreen"].b() = false;
+               config["graphic/window_width"].i() = 640;
+               config["graphic/window_height"].i() = 360;
+               Window window;
+               // Main loop
+               int oldjoy = -1, oldaxis = -1, oldvalue = -1;
+               while (true) {
+                       SDL_Event e;
+                       while(SDL_PollEvent(&e) == 1) {
+                               if (e.type == SDL_QUIT || (e.type == SDL_KEYDOWN && e.key.keysym.scancode == SDL_SCANCODE_ESCAPE)) {
+                                       return;
+                               } else if (e.type == SDL_KEYDOWN) {
+                                       std::cout << "Keyboard key: " << int(e.key.keysym.scancode) << ", mod: " << int(e.key.keysym.mod) << std::endl;
+                               } else if (e.type == SDL_JOYBUTTONDOWN) {
+                                       std::cout << "JoyID: " << int(e.jbutton.which) << ", button: " << int(e.jbutton.button) << ", state: " << int(e.jbutton.state) << std::endl;
+                               } else if (e.type == SDL_JOYAXISMOTION) {
+                                       if ((oldjoy != int(e.jaxis.which)) || (oldaxis != int(e.jaxis.axis)) || (oldvalue != int(e.jaxis.value))) {
+                                               std::cout << "JoyID: " << int(e.jaxis.which) << ", axis: " << int(e.jaxis.axis) << ", value: " << int(e.jaxis.value) << std::endl;
+                                               oldjoy = int(e.jaxis.which);
+                                               oldaxis = int(e.jaxis.axis);
+                                               oldvalue = int(e.jaxis.value);
+                                       }
+                               } else if (e.type == SDL_JOYHATMOTION) {
+                                       std::cout << "JoyID: " << int(e.jhat.which) << ", hat: " << int(e.jhat.hat) << ", value: " << int(e.jhat.value) << std::endl;
+                               }
+                       }
+                       window.blank(); window.swap();
+                       std::this_thread::sleep_for(10ms); // Max 100 FPS
+               }
+       } catch (EXCEPTION& e) {
+               std::cerr << "ERROR: " << e.what() << std::endl;
+       } catch (QuitNow&) {
+               std::cerr << "Terminated." << std::endl;
+       }
+       return;
+}
+
+template <typename Container> void confOverride(Container const& c, std::string const& name) {
+       if (c.empty()) return;  // Don't override if no options specified
+       ConfigItem::StringList& sl = config[name].sl();
+       sl.clear();
+       std::copy(c.begin(), c.end(), std::back_inserter(sl));
+}
+
+void outputOptionalFeatureStatus();
+
+void fatalError(std::string msg, bool hasLog = false, std::string title = "FATAL ERROR") {
+       std::ostringstream errMsg;
+       errMsg << msg;
+       if (hasLog) {
+               errMsg << std::endl << "More details might be available in " << getLogFilename() << ".";
+       }
+       errMsg << std::endl << "If you think this is a bug in Performous, please report it at "
+         << std::endl << "  https://github.com/performous/performous/issues";
+       SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, title.c_str(),
+         errMsg.str().c_str(), nullptr);
+       std::cerr << title << ": " << msg << std::endl;
+       if (hasLog) {
+               std::clog << "core/error: " << errMsg.str() << std::endl;
+       }
+}
+
+int main(int argc, char** argv) try {
+       signalSetup();
+       std::srand(std::time(nullptr));
+       // Parse commandline options
+       std::vector<std::string> devices;
+       std::vector<std::string> songdirs;
+       namespace po = boost::program_options;
+       po::options_description opt1("Generic options");
+       std::string songlist;
+       std::string loglevel;
+       opt1.add_options()
+         ("help,h", "you are viewing it")
+         ("log,l", po::value<std::string>(&loglevel), "subsystem name or minimum level to log")
+         ("version,v", "display version number")
+         ("songlist", po::value<std::string>(&songlist), "save a list of songs in the specified folder");
+       po::options_description opt2("Configuration options");
+       opt2.add_options()
+         ("audio", po::value<std::vector<std::string> >(&devices)->composing(), "specify an audio device to use")
+         ("audiohelp", "print audio related information")
+         ("jstest", "utility to get joystick button mappings");
+       po::options_description opt3("Hidden options");
+       opt3.add_options()
+         ("songdir", po::value<std::vector<std::string> >(&songdirs)->composing(), "");
+       // Process flagless options as songdirs
+       po::positional_options_description p;
+       p.add("songdir", -1);
+       po::options_description cmdline;
+       cmdline.add(opt1).add(opt2);
+       po::variables_map vm;
+       // Load the arguments
+       try {
+               po::options_description allopts(cmdline);
+               allopts.add(opt3);
+               po::store(po::command_line_parser(argc, argv).options(allopts).positional(p).run(), vm);
+       } catch (EXCEPTION& e) {
+               std::cerr << cmdline << std::endl;
+               std::cerr << "ERROR: " << e.what() << std::endl;
+               return EXIT_FAILURE;
+       }
+       po::notify(vm);
+
+       if (vm.count("version")) {
+               std::cout << PACKAGE " " VERSION << std::endl;
+               return EXIT_SUCCESS;
+       }
+       if (vm.count("help")) {
+               std::cout << cmdline << "  any arguments without a switch are interpreted as song folders.\n" << std::endl;
+               return EXIT_SUCCESS;
+       }
+
+       Logger logger(loglevel);
+       try {
+               outputOptionalFeatureStatus();
+
+               // Read config files
+               readConfig();
+
+               if (vm.count("audiohelp")) {
+                       std::clog << "core/notice: Starting audio subsystem for audiohelp (errors printed on console may be ignored)." << std::endl;
+                       Audio audio;
+                       // Print the devices
+                       std::cout << portaudio::AudioBackends().dump();
+                       // Some examples
+                       std::cout << "Example --audio parameters" << std::endl;
+                       std::cout << "  --audio \"out=2\"         # Pick first working two-channel playback device" << std::endl;
+                       std::cout << "  --audio \"dev=1 out=2\"   # Pick device id 1 and assign stereo playback" << std::endl;
+                       std::cout << "  --audio 'dev=\"HDA Intel\" mics=blue,red'   # HDA Intel with two mics" << std::endl;
+                       std::cout << "  --audio 'dev=pulse out=2 mics=blue'       # PulseAudio with input and output" << std::endl;
+                       return EXIT_SUCCESS;
+               }
+               // Override XML config for options that were specified from commandline or performous.conf
+               confOverride(songdirs, "paths/songs");
+               confOverride(devices, "audio/devices");
+               getPaths(); // Initialize paths before other threads start
+               if (vm.count("jstest")) { // Joystick test program
+                       std::clog << "core/notice: Starting jstest input test utility." << std::endl;
+                       std::cout << std::endl << "Joystick utility - Touch your joystick to see buttons here" << std::endl
+                       << "Hit ESC (window focused) to quit" << std::endl << std::endl;
+                       jstestLoop();
+                       return EXIT_SUCCESS;
+               }
+               // Run the game init and main loop
+               mainLoop(songlist);
+
+               return EXIT_SUCCESS; // Do not remove. SDL_Main (which this function is called on some platforms) needs return statement.
+       } catch (EXCEPTION& e) {
+               // After logging is initialized, we can also inform the user about the log file.
+               fatalError(e.what(), true);
+               return EXIT_FAILURE;
+       }
+} catch (EXCEPTION& e) {
+       fatalError(e.what());
+       return EXIT_FAILURE;
+}
+
+void outputOptionalFeatureStatus() {
+       std::clog << "core/notice: " PACKAGE " " VERSION " starting..."
+         << "\n  Internationalization: " << (TranslationEngine::enabled() ? "Enabled" : "Disabled")
+         << "\n  MIDI Hardware I/O:    " << (input::Hardware::midiEnabled() ? "Enabled" : "Disabled")
+         << "\n  Webcam support:       " << (Webcam::enabled() ? "Enabled" : "Disabled")
+         << std::endl;
+}
diff --git a/game/menu.cc b/game/menu.cc
new file mode 100644 (file)
index 0000000..9f0806e
--- /dev/null
@@ -0,0 +1,106 @@
+#include "menu.hh"
+#include "screen.hh"
+#include "texture.hh"
+#include "fs.hh"
+
+
+MenuOption::MenuOption(std::string const& nm, std::string const& comm, MenuImage img):
+  type(), value(), newValue(), callback(), image(img), name(nm), comment(comm), namePtr(), commentPtr()
+{}
+
+std::string MenuOption::getName() const {
+       if (namePtr) return *namePtr;
+       if (!name.empty()) return name;
+       if (value) return value->getValue();
+       return "";
+}
+
+std::string MenuOption::getVirtName() const {
+       return virtualName.empty() ? std::string() : virtualName;
+}
+
+const std::string& MenuOption::getComment() const { return commentPtr ? *commentPtr : comment; }
+
+bool MenuOption::isActive() const {
+       if (type == OPEN_SUBMENU && options.empty()) return false;
+       if (type == CHANGE_VALUE) {
+               if (!value) return false;
+               if (value->get_type() == "option_list" && value->ol().size() <= 1) return false;
+       }
+       return true;
+}
+
+
+Menu::Menu(): dimensions(), m_open(true) { clear(); }
+
+void Menu::add(MenuOption opt) {
+       root_options.push_back(opt);
+       clear(true); // Adding resets menu stack
+}
+
+void Menu::move(int dir) {
+       if (dir > 0 && selection_stack.back() < menu_stack.back()->size() - 1) ++selection_stack.back();
+       else if (dir < 0 && selection_stack.back() > 0) --selection_stack.back();
+}
+
+void Menu::select(size_t sel) {
+       if (sel < menu_stack.back()->size()) selection_stack.back() = sel;
+}
+
+void Menu::action(int dir) {
+       switch (current().type) {
+               case MenuOption::OPEN_SUBMENU: {
+                       if (current().options.empty()) break;
+                       menu_stack.push_back(&current().options);
+                       selection_stack.push_back(0);
+                       break;
+               }
+               case MenuOption::CHANGE_VALUE: {
+                       if (current().value) {
+                               if (current().value->getShortDesc() == config["audio/backend"].getShortDesc()) {
+                                       current().value->oldValue = current().value->getValue();
+                               }
+                               else if (current().value->getShortDesc() == config["graphic/stereo3d"].getShortDesc()) {
+                                       current().value->oldValue = (current().value->getValue() == _("Disabled")) ? "0" : "1";
+                               }
+                               if (dir > 0) ++(*(current().value));
+                               else if (dir < 0) --(*(current().value));
+                       }
+                       break;
+               }
+               case MenuOption::SET_AND_CLOSE:
+                       if (current().value) *(current().value) = current().newValue;
+                       [[fallthrough]];  // Continuing to CLOSE_SUBMENU is intentional
+               case MenuOption::CLOSE_SUBMENU: {
+                       closeSubmenu();
+                       break;
+               }
+               case MenuOption::ACTIVATE_SCREEN: {
+                       Game* gm = Game::getSingletonPtr();
+                       std::string screen = current().newValue.s();
+                       clear();
+                       if (screen.empty()) gm->finished();
+                       else gm->activateScreen(screen);
+                       break;
+               }
+               case MenuOption::CALLBACK_FUNCTION: {
+                       if (current().callback) current().callback();
+                       break;
+               }
+       }
+}
+
+void Menu::clear(bool save_root) {
+       if (!save_root) root_options.clear();
+       menu_stack.clear();
+       selection_stack.clear();
+       menu_stack.push_back(&root_options);
+       selection_stack.push_back(0);
+}
+
+void Menu::closeSubmenu() {
+       if (menu_stack.size() > 1) {
+               menu_stack.pop_back();
+               selection_stack.pop_back();
+       } else close();
+}
diff --git a/game/menu.hh b/game/menu.hh
new file mode 100644 (file)
index 0000000..db0526e
--- /dev/null
@@ -0,0 +1,112 @@
+#pragma once
+
+#include "opengl_text.hh"
+#include "configuration.hh"
+#include <functional>
+#include <memory>
+#include <string>
+#include <vector>
+
+class Texture;
+class MenuOption;
+class Menu;
+
+typedef std::vector<MenuOption> MenuOptions;
+typedef std::vector<MenuOptions*> SubmenuStack;
+typedef std::function<void ()> MenuOptionCallback;
+typedef std::shared_ptr<Texture> MenuImage;
+
+/// Struct for menu options
+class MenuOption {
+public:
+       enum Type { CLOSE_SUBMENU, OPEN_SUBMENU, CHANGE_VALUE, SET_AND_CLOSE, ACTIVATE_SCREEN, CALLBACK_FUNCTION } type;
+
+       /// Construct a menu option. Default function is to close the menu.
+       /// @param nm Name (menu item title)
+       /// @param comm Comment
+       /// @param img Image filename
+       MenuOption(const std::string& nm, const std::string& comm, MenuImage img = MenuImage());
+
+       /// Make the option change values of a ConfigItem.
+       MenuOption& changer(ConfigItem& val, std::string virtOptName = std::string()) {
+               type = CHANGE_VALUE;
+               value = &val;
+               if (!virtOptName.empty()) { virtualName = virtOptName; }
+               return *this;
+               }
+       /// Make the option set a given value for ConfigItem and close the menu.
+       MenuOption& setter(ConfigItem& val, ConfigItem newval) { type = SET_AND_CLOSE; value = &val; newValue = newval; return *this; }
+       /// Make the option open a submenu
+       MenuOption& submenu(MenuOptions opts) { type = OPEN_SUBMENU; options = opts; return *this; }
+       /// Make the option activate a screeen
+       MenuOption& screen(std::string const& scrn) { type = ACTIVATE_SCREEN; newValue = scrn; return *this; }
+       /// Make the option call a callback
+       MenuOption& call(MenuOptionCallback f) { type = CALLBACK_FUNCTION; callback = f; return *this; }
+       /// Sets name to follow a reference
+       MenuOption& setDynamicName(std::string& nm) { namePtr = &nm; return *this; }
+       /// Sets comment to follow a reference
+       MenuOption& setDynamicComment(std::string& comm) { commentPtr = &comm; return *this; }
+       /// Return name
+       std::string getName() const;
+       /// Return virtual name (for options living only inside the screen)
+       std::string getVirtName() const;
+       /// Return comment
+       const std::string& getComment() const;
+       /// Check if this option can be selected
+       bool isActive() const;
+       ConfigItem* value;  ///< Setting to be adjusted
+       ConfigItem newValue;  ///< Value to be set or screen name
+       MenuOptions options;  ///< Submenu
+       MenuOptionCallback callback;  ///< Callback function
+       MenuImage image;  ///< Image to use with option
+private:
+       std::string virtualName; ///< Non-localized name for referring to options that exist only on-screen.
+       std::string name;        ///< Option name (it will be displayed as this)
+       std::string comment;     ///< Extended information about the option displayed usually when selected
+       std::string* namePtr;    ///< Optional pointer to dynamically changing name
+       std::string* commentPtr; ///< Optional pointer to dynamically changing comment
+};
+
+
+/// Menu for selecting difficulty etc.
+class Menu {
+public:
+       /// constructor
+       Menu();
+       /// add a menu option
+       void add(MenuOption opt);
+       /// move the selection
+       void move(int dir = 1);
+       /// set selection
+       void select(size_t sel);
+       /// adjust the selected value
+       void action(int dir = 1);
+       /// clear items
+       void clear(bool save_root = false);
+       /// closes submenu or if in root menu, closes the whole menu
+       void closeSubmenu();
+
+       bool empty() const { return (menu_stack.empty() || (menu_stack.size() == 1 && menu_stack.back()->empty())); }
+       bool isOpen() const { return m_open; }
+       size_t getSubmenuLevel() const { return menu_stack.size() - 1; }
+       void open() { m_open = true; }
+       void close() { m_open = false; }
+       void toggle() { m_open = !m_open; }
+       void moveToLast() { selection_stack.back() = menu_stack.back()->size() - 1; }
+
+       size_t curIndex() { return selection_stack.back(); }
+       MenuOption& current() { return menu_stack.back()->at(selection_stack.back()); }
+       MenuOption& back() { return root_options.back(); }
+       const MenuOptions::const_iterator begin() const { return menu_stack.back()->begin(); }
+       const MenuOptions::const_iterator end() const { return menu_stack.back()->end(); }
+       const MenuOptions getOptions() const { return *menu_stack.back(); }
+
+       Dimensions dimensions;
+
+private:
+       MenuOptions root_options;
+       SubmenuStack menu_stack;
+       std::vector<size_t> selection_stack;
+
+       bool m_open;
+};
diff --git a/game/midifile.cc b/game/midifile.cc
new file mode 100644 (file)
index 0000000..7a9e419
--- /dev/null
@@ -0,0 +1,346 @@
+#include "midifile.hh"
+
+#include <boost/filesystem/fstream.hpp>
+#include <algorithm>
+#include <iomanip>
+#include <iostream>
+#include <stdexcept>
+#include <sstream>
+#include <string>
+
+#define MIDI_DEBUG_LEVEL 0
+
+
+/**
+ * @short The MidiStream class reads midifile for MidiFileParser.
+ */
+
+class MidiStream {
+  public:
+
+       /** Constructor.
+        *
+        * Creates MidiStream object that reads given midiFile.
+        *
+        * @param file MidiFile to be read
+        */
+       MidiStream(fs::path const& file) {
+               fs::ifstream ifs(file, std::ios::binary);
+#if MIDI_DEBUG_LEVEL > 1
+               std::cout << "Opening file: " << file << std::endl;
+#endif
+               f << ifs.rdbuf();
+               f.exceptions(std::ios::failbit);
+       }
+
+       /// read bytes
+       std::string read_bytes(size_t bytes);
+
+       class Riff {
+         public:
+               MidiStream& ms;
+               std::string name;
+               size_t pos;
+               size_t size;
+               size_t offset;
+               Riff(MidiStream& ms);
+               ~Riff();
+               bool has_more_data() const { return offset < size; }
+               uint8_t read_uint8() { consume(1); return ms.f.get(); }
+               uint16_t read_uint16() { consume(2); return ms.read_uint16(); }
+               uint32_t read_uint32() { consume(4); return ms.read_uint32(); }
+               uint32_t read_varlen();
+               template <typename T> T read(T& value) {
+                       consume(sizeof(T));
+                       value = 0;
+                       for (int i = sizeof(T) - 1; i >= 0; --i) value |= ms.f.get() << (8 * i);
+                       return value;
+               }
+               std::string read_bytes(size_t size) { consume(size); return ms.read_bytes(size); }
+               void ignore(size_t size) { consume(size); ms.f.ignore(size); }
+               void seek_back(size_t offset = 1);
+         private:
+               void consume(size_t bytes);
+       };
+
+private:
+
+       std::stringstream f;
+       uint16_t read_uint16() { return f.get() << 8 | f.get(); }
+       uint32_t read_uint32() { return f.get() << 24 | f.get() << 16 | f.get() << 8 | f.get(); }
+
+};
+
+namespace { bool is_not_alpha(char c) { return (c < 'A' || c > 'Z') && (c < 'a' || c > 'z'); } }
+
+MidiStream::Riff::Riff(MidiStream& ms): ms(ms), name(ms.read_bytes(4)), size(ms.read_uint32()), offset(0) {
+       if (std::find_if(name.begin(), name.end(), is_not_alpha) != name.end()) throw std::runtime_error("Invalid RIFF chunk name");
+       pos = ms.f.tellg();
+}
+
+MidiStream::Riff::~Riff() {
+#if MIDI_DEBUG_LEVEL > 0
+       if (has_more_data()) std::clog << "midistream/warning: Only " << offset << " of " << size << " bytes read of RIFF chunk " << name << std::endl;
+#endif
+       ms.f.seekg(pos + size);
+}
+
+uint32_t MidiStream::Riff::read_varlen() {
+       unsigned long value = 0;
+       size_t a = 0;
+       unsigned char c;
+       do {
+               if (++a > 4) throw std::runtime_error("Too long varlen sequence");
+               consume(1);
+               c = ms.f.get();
+               value = (value << 7) | (c & 0x7F);
+       } while (c & 0x80);
+       return value;
+}
+
+std::string MidiStream::read_bytes(size_t bytes) {
+       std::string data;
+       for(size_t i=0; i < bytes; ++i) data += f.get();
+       return data;
+}
+
+void MidiStream::Riff::consume(size_t bytes) {
+       if (size - offset < bytes) throw std::runtime_error("Read past the end of RIFF chunk " + name);
+       ms.f.seekg(pos + offset);
+       offset += bytes;
+}
+
+void MidiStream::Riff::seek_back(size_t o) {
+       if (offset < o) throw std::runtime_error("Seek past the beginning of RIFF chunk " + name);
+       offset -= o;
+       ms.f.seekg(pos + offset);
+}
+
+
+MidiFileParser::MidiFileParser(fs::path const& name):
+  format(0), division(0), ts_last(0)
+{
+       MidiStream stream(name);
+       size_t ntracks = parse_header(stream);
+       if (format > 0) {
+               // First track is a control track
+               read_track(stream);
+               --ntracks;
+       }
+       for (size_t i = 0; i < ntracks; ++i) tracks.push_back(read_track(stream));
+}
+
+uint16_t MidiFileParser::parse_header(MidiStream& stream) {
+       MidiStream::Riff riff(stream);
+       if (riff.name != "MThd") throw std::runtime_error("Header not found");
+       if (riff.read(format) > 1) throw std::runtime_error("Unsupported MIDI format (only 0 and 1 are supported)");
+       uint16_t ntracks = riff.read_uint16();
+       if ((format == 0 && ntracks != 1) || (format == 1 && ntracks < 2)) throw std::runtime_error("Invalid number of tracks");
+       riff.read(division);
+       if (division & 0x8000) throw std::runtime_error("SMPTE type divisions not supported");
+#if MIDI_DEBUG_LEVEL > 1
+       std::cout << "Division: " << division << std::endl;
+#endif
+       return ntracks;
+}
+
+MidiFileParser::Track MidiFileParser::read_track(MidiStream& stream) {
+       MidiStream::Riff riff(stream);
+       if (riff.name != "MTrk") throw std::runtime_error("Chunk MTrk not found");
+       Track track;
+       uint32_t miditime = 0;
+       uint8_t runningstatus = 0;
+       bool end = false;
+       while (!end) {
+               miditime += riff.read_varlen();
+               uint8_t event = riff.read_uint8();
+
+               if (event & 0x80) {
+                       // Store current status, with exceptions:
+                       // * Not stored for RealTime Category messages (0xF8..0xFF)
+                       // * Running status cleared for System Common Category (0xF0..0xF7)
+                       if (event < 0xF8) runningstatus = (event < 0xF0 ? event : 0);
+               } else {
+                       riff.seek_back();
+                       if (!runningstatus) throw std::runtime_error("Invalid MIDI file (first MIDI Event of a track wants running status)");
+                       event = runningstatus;
+               }
+
+               if (event == 0xFF) {
+                       // Meta event
+                       uint8_t type = riff.read_uint8();
+                       std::string data = riff.read_bytes(riff.read_varlen());
+                       switch (type) {
+                         // 0x00: Sequence Number
+                         case 0x01: { // Text Event
+                               const std::string sect_pfx = "[section ";
+                               // Lyrics are hidden here, only [text] are orders
+                               if (data[0] != '[') m_lyric = data;
+                               else if (!data.compare(0, sect_pfx.length(), sect_pfx)) {// [section verse_1]
+                                       std::string sect_name = data.substr(sect_pfx.length(), data.length()-sect_pfx.length()-1);
+                                       if (sect_name != "big_rock_ending") {
+                                               bool space = true;
+                                               for (auto& ch: sect_name) {
+                                                       if (space) ch = toupper(static_cast<unsigned char>(ch));  // Capitalize first letter of each word
+                                                       if (ch == '_') { ch = ' '; space = true; }  // underscores to spaces
+                                                       else space = false;
+                                               }
+                                               // replace gtr => guitar
+#if MIDI_DEBUG_LEVEL > 2
+                                               std::cout << "Section: " << sect_name << " at " << get_seconds(miditime) << std::endl;
+#endif
+                                               midisections.push_back(MidiSection(sect_name, get_seconds(miditime)));
+                                       } else cmdevents.push_back(std::string(data)); // see songparser-ini.cc: we need to keep the BRE in cmdevents
+                               }
+                               else cmdevents.push_back(std::string(data));
+#if MIDI_DEBUG_LEVEL > 2
+                               std::cout << "Text: " << data << std::endl;
+#endif
+                         } break;
+                         // 0x02: Copyright Notice
+                         case 0x03: // Sequence or Track Name
+                               track.name = data;
+#if MIDI_DEBUG_LEVEL > 1
+                               std::cout << "Track name: " << data << std::endl;
+#endif
+                               break;
+                         // 0x04: Instrument Name
+                         case 0x05: // Lyric Text
+                               m_lyric = data;
+#if MIDI_DEBUG_LEVEL > 2
+                               std::cout << "Lyric: " << data << std::endl;
+#endif
+                               break;
+                         // 0x06: Marker Text
+                         // 0x07: Cue point
+                         // 0x20: MIDI Channel Prefix Assignment
+                         case 0x2F: // End of Track
+                               end = true;
+                               break;
+                         case 0x51: // Tempo Setting
+                               if (data.size() != 3) throw std::runtime_error("Invalid tempo change event");
+                               add_tempo_change(miditime, static_cast<unsigned char>(data[0]) << 16 | static_cast<unsigned char>(data[1]) << 8 | static_cast<unsigned char>(data[2])); break;
+                         // 0x54: SMPTE Offset
+                         case 0x58: // Time Signature
+                               if (data.size() != 4) throw std::runtime_error("Invalid time signature event");
+#if MIDI_DEBUG_LEVEL > 3
+                               // if none is found "4/4, 24,8" should be assume
+                               std::cout << "Time signature: " << int(data[0]) << "/" << int(data[1]) << ", " << int(data[2]) << ", " << int(data[3]) << std::endl;
+#endif
+                               break;
+                         // 0x59: Key Signature
+                         // 0x7f: Sequencer Specific Event
+                         default:
+#if MIDI_DEBUG_LEVEL > 1
+                               std::cout << "Unhandled meta event  type=" << int(type) << " (" << data.size() << " bytes)" << std::endl;
+#endif
+                               break;
+                       }
+               } else if (event==0xF0 || event==0xF7) {
+                       // System exclusive event
+                       uint32_t size = riff.read_varlen();
+                       riff.ignore(size);
+#if MIDI_DEBUG_LEVEL > 1
+                       std::cout << "System exclusive event ignored (" << size << " bytes)" << std::endl;
+#endif
+               } else {
+                       // Midi event
+                       uint8_t arg1 = riff.read_uint8();
+                       uint8_t arg2 = 0;
+                       uint8_t ev = event >> 4;
+                       switch (ev) {
+                       case 0x8: case 0x9: case 0xA: case 0xB: case 0xE: arg2 = riff.read_uint8(); break;
+                       case 0xC: case 0xD: break;  // These only take one argument
+                       default: throw std::runtime_error("Unknown MIDI event");  // Quite possibly this is impossible, but I am too tired to prove it.
+                       }
+                       process_midi_event(track, ev, arg1, arg2, miditime);
+               }
+       }
+       if (miditime > ts_last) ts_last = miditime;
+       return track;
+}
+
+void MidiFileParser::add_tempo_change(uint32_t miditime, uint32_t tempo) {
+       if (tempo == 0) throw std::runtime_error("Invalid MIDI file (tempo is zero)");
+       if (tempochanges.empty()) {
+               if (miditime > 0) throw std::runtime_error("Invalid MIDI file (tempo not set at the beginning)");
+       } else {
+               // Ignore duplicate (identical) tempo changes.
+               if (tempochanges.back().miditime == miditime && tempochanges.back().value == tempo) return;
+               if (tempochanges.back().miditime >= miditime) throw std::runtime_error("Invalid MIDI file (unexpected tempo change)");
+       }
+#if MIDI_DEBUG_LEVEL > 2
+       std::cout << "Tempo change at miditime=" << miditime << ":  " << tempo << " us/QN  " << 6e7 / tempo << " BPM" << std::endl;
+#endif
+       tempochanges.push_back(TempoChange(miditime, tempo));
+}
+
+void MidiFileParser::cout_midi_event(uint8_t t, uint8_t arg1, uint8_t arg2, uint32_t miditime) {
+       std::cout << "Midi event:" << std::setw(12) << miditime << std::fixed << std::setprecision(2) << std::setw(12) << get_seconds(miditime) << "  ";
+       switch (t) {
+         case 0x8: std::cout << "note off   pitch=" << int(arg1) << " velocity=" << int(arg2); break;
+         case 0x9: std::cout << "note on   pitch=" << int(arg1) << " velocity=" << int(arg2); break;
+         case 0xA: std::cout << "aftertouch pitch=" << int(arg1) << " value=" << int(arg2); break;
+         case 0xB: std::cout << "controller num=" << int(arg1) << " value=" << int(arg2); break;
+         case 0xC: std::cout << "program change num=" << int(arg1); break;
+         case 0xD: std::cout << "channel value =" << int(arg1); break;
+         case 0xE: std::cout << "pitch bend value=" << (arg2 << 8 | arg1); break;
+         default: std::cout << "UNKNOWN EVENT=0x" << std::hex << int(t) << std::dec << ")"; break;
+       }
+       std::cout << std::endl;
+}
+
+uint64_t MidiFileParser::get_us(uint32_t miditime) {
+       if (tempochanges.empty()) throw std::runtime_error("Unable to calculate note duration without tempo");
+       uint64_t time = 0;
+       auto i = tempochanges.begin();
+       // TODO: cache previous
+       for (; i + 1 != tempochanges.end() && (i + 1)->miditime < miditime; ++i) {
+               time += static_cast<uint64_t>(i->value) * ((i + 1)->miditime - i->miditime);
+       }
+       time += static_cast<uint64_t>(i->value) * (miditime - i->miditime);
+       return time / division;
+}
+
+void MidiFileParser::process_midi_event(Track& track, uint8_t t, uint8_t arg1, uint8_t arg2, uint32_t miditime) {
+#if MIDI_DEBUG_LEVEL > 3
+       cout_midi_event(t, arg1, arg2, miditime);
+#endif
+
+       std::vector<Note>& pitch(track.notes[arg1]);
+       // common track management
+       if (t == 8 || (t == 9 && arg2 == 0)) {
+               if (pitch.empty() || pitch.back().end != 0) {
+                       // Note end event with no corresponding beginning
+               } else {
+                       pitch.back().end = miditime;
+               }
+       } else {
+               pitch.push_back(Note(miditime));
+       }
+       // special management for lyrics
+       if (track.name == "PART VOCALS" || track.name == "PART HARM1" || track.name == "PART HARM2" || track.name == "PART HARM3") {
+               // Discard note effects
+               if( arg1 < 20 ) return;
+               if (t == 8 || (t == 9 && arg2 == 0)) {
+                       // end of note (note off or note on with zero velocity)
+                       if( !m_lyric.empty()  ) {
+                               // here we should update the last note lyric with the current m_lyric
+                               track.lyrics.back().lyric = m_lyric;
+                               // here we should update the last note end time with the miditime
+                               track.lyrics.back().end = miditime;
+                       } else {
+                               if( track.lyrics.back().lyric.empty() ) {
+                                       // bad notes, removing it
+                                       track.lyrics.pop_back();
+                               }
+                       }
+                       m_lyric.clear();
+               } else {
+                       // beginning of note then
+                       // here we should add a lyric with the start time at miditime
+                       track.lyrics.push_back(LyricNote("", arg1, miditime, miditime));
+               }
+       }
+}
+
diff --git a/game/midifile.hh b/game/midifile.hh
new file mode 100644 (file)
index 0000000..d32f7d3
--- /dev/null
@@ -0,0 +1,102 @@
+#pragma once
+#include "fs.hh"
+#include <map>
+#include <string>
+#include <vector>
+
+using std::uint8_t;
+using std::uint16_t;
+using std::uint32_t;
+using std::uint64_t;
+
+#if 0
+
+class MidiEvent {
+  public:
+       /** Constructs new MidiEvent
+       * @param fret Fret(1,2,3,4,5) in which the event is connected.
+       * @param evt Tells the type of midievent Noteon or Noteoff.
+       * @param time Time, absolute time in seconds. Tells when the event should happen.
+       */
+       MidiEvent(int f, unsigned char e, double t): fret(f), event(e), time(t) {}
+
+       int fret; ///< Tells the quitar fret where the event is linked.
+       unsigned char event; ///< MIDI event type
+       double time; ///< Time in seconds
+};
+
+#endif
+
+class MidiStream;
+
+/**
+ * The Parser class, that contains needed information of given midi-file
+ */
+
+class MidiFileParser {
+public:
+
+       /** Constructor
+        *
+        * Creates a MidiFileParser which contains      information of given midifile.
+        *
+        * @param name Name of midifile, which want to be read
+        */
+       MidiFileParser(fs::path const& name);
+
+       struct TempoChange {
+               uint32_t miditime;
+               uint32_t value;
+               TempoChange(uint32_t miditime, uint32_t value): miditime(miditime), value(value) {}
+       };
+       typedef std::vector<TempoChange> TempoChanges;
+       TempoChanges tempochanges;
+       typedef uint8_t Pitch;
+       struct Note {
+               uint32_t begin;
+               uint32_t end;
+               Note(uint32_t begin, uint32_t end = 0): begin(begin), end(end) {}
+       };
+       typedef std::vector<Note> Notes;
+       typedef std::map<Pitch, Notes> NoteMap;
+       struct LyricNote {
+               std::string lyric;
+               int note;
+               uint32_t begin;
+               uint32_t end;
+               LyricNote(std::string const& lyric, int note, uint32_t begin, uint32_t end = 0): lyric(lyric), note(note), begin(begin), end(end) {}
+       };
+       typedef std::vector<LyricNote> Lyrics;
+       struct Track {
+               std::string name;
+               NoteMap notes;
+               Lyrics lyrics;
+               Track(std::string const& name = "default"): name(name) {}
+       };
+       typedef std::vector<Track> Tracks;
+       Tracks tracks;
+       struct MidiSection {
+               std::string name;
+               double begin;
+               MidiSection(std::string const& name, const double begin): name(name), begin(begin) {}
+       };
+       typedef std::vector<MidiSection> MidiSections;
+       MidiSections midisections; ///< vector of song sections
+       uint16_t parse_header(MidiStream&);
+       Track read_track(MidiStream&);
+       void cout_midi_event(uint8_t type, uint8_t arg1, uint8_t arg2, uint32_t miditime);
+       void process_midi_event(Track& track, uint8_t type, uint8_t arg1, uint8_t arg2, uint32_t miditime);
+       uint64_t get_us(uint32_t miditime);
+       double get_seconds(uint32_t miditime) { return 1e-6 * get_us(miditime); }
+       void add_tempo_change(uint32_t miditime, uint32_t tempo);
+       uint16_t format;
+       typedef std::vector<std::string> CommandEvents;
+       CommandEvents cmdevents;
+
+       /** Ticks per beat == number of divisions per every quarter note **/
+       uint16_t division;
+       uint32_t ts_last;
+private:
+       std::string m_lyric;
+};
+
diff --git a/game/musicalscale.cc b/game/musicalscale.cc
new file mode 100644 (file)
index 0000000..ee02dcf
--- /dev/null
@@ -0,0 +1,47 @@
+#include "musicalscale.hh"
+
+#include "util.hh"
+#include <cmath>
+#include <sstream>
+#include <stdexcept>
+
+MusicalScale& MusicalScale::clear() { m_freq = m_note = getNaN(); return *this; }
+
+MusicalScale& MusicalScale::setFreq(double freq) {
+       m_freq = freq;
+       m_note = m_baseId + 12.0 * std::log(freq / m_baseFreq) / std::log(2.0);
+       if (!isValid()) m_note = getNaN();
+       return *this;
+}
+
+MusicalScale& MusicalScale::setNote(double note) {
+       m_note = note;
+       m_freq = m_baseFreq * std::pow(2.0, (m_note - m_baseId) / 12.0);
+       return *this;
+}
+
+unsigned MusicalScale::getNoteId() const {
+       if (!isValid()) throw std::logic_error("MusicalScale::getNoteId must only be called on valid notes.");
+       return round(m_note);
+}
+
+// NOTE: Only C major scale is currently implemented.
+
+static const char* const noteNames[12] = {"C ","C#","D ","D#","E ","F ","F#","G ","G#","A ","A#","B "};
+static const int noteLines[12] = { 0, 0, 1, 1, 2, 3, 3, 4, 4, 5, 5, 6 };
+
+std::string MusicalScale::getStr() const {
+       if (!isValid()) return std::string();
+       std::ostringstream oss;
+       oss << noteNames[getNum()] << " " << round(m_freq) << " Hz";
+       return oss.str();
+}
+
+int MusicalScale::getNoteLine() const {
+       return (getOctave() - 4) * 7 + noteLines[getNum()];
+}
+
+bool MusicalScale::isSharp() const {
+       return noteNames[getNum()][1] == '#';  // Uses the second character of noteNames!
+}
+
diff --git a/game/musicalscale.hh b/game/musicalscale.hh
new file mode 100644 (file)
index 0000000..5f9e339
--- /dev/null
@@ -0,0 +1,28 @@
+#pragma once
+
+#include <string>
+
+/// Conversions for the C major musical scale
+class MusicalScale {
+  private:
+       double m_baseFreq;
+       static const int m_baseId = 69;  ///< MIDI note that corresponds to baseFreq
+       double m_freq;
+       double m_note;
+  public:
+       MusicalScale(double baseFreq = 440.0): m_baseFreq(baseFreq) { clear(); }  ///< Construct a C major scale (no others are currently implemented)
+       MusicalScale& clear();  ///< Clear current note/freq values
+       MusicalScale& setFreq(double freq);  ///< Set note by frequency
+       MusicalScale& setNote(double note);  ///< Set note by note value
+       double getFreq() const { return m_freq; }  ///< Get the note frequency
+       double getNote() const { return m_note; }  ///< Get the precise (non-rounded) note id for a the frequency
+       unsigned getNoteId() const;   ///< Get the nearest note for the frequency
+       double getNoteOffset() const { return m_note - getNoteId(); }  ///< Get the note offset (-0.5 to 0.5)
+       std::string getStr() const;  ///< Get a human-readable string representation for the note
+       unsigned getNum() const { return getNoteId() % 12; }  ///< Get note number within an octave (0 to 11, begins at key, e.g. C)
+       int getOctave() const { return int(getNoteId() / 12) - 1; }   ///< Get the octave number (-1 to 9, A4 ~ baseFreq)
+       int getNoteLine() const;  ///< Get a note line number in traditional notation (0 ~ key base e.g. C4, odd values are between lines, negative for lower octaves)
+       bool isSharp() const;  ///< Check if the note is sharp (#)
+       bool isValid() const { return m_note >= 0.0 && m_note <= 127.0; }  ///< Test if a valid note value is stored
+};
+
diff --git a/game/notegraph.cc b/game/notegraph.cc
new file mode 100644 (file)
index 0000000..11a98df
--- /dev/null
@@ -0,0 +1,254 @@
+#include "notegraph.hh"
+
+#include "configuration.hh"
+#include "database.hh"
+#include "engine.hh"
+#include "player.hh"
+
+Dimensions dimensions; // Make a public member variable
+
+NoteGraph::NoteGraph(VocalTrack const& vocal):
+  m_vocal(vocal),
+  m_notelines(findFile("notelines.svg")), m_wave(findFile("wave.png")),
+  m_star(findFile("star.svg")), m_star_hl(findFile("star_glow.svg")),
+  m_notebar(findFile("notebar.svg")), m_notebar_hl(findFile("notebar_hi.svg")),
+  m_notebarfs(findFile("notebarfs.svg")), m_notebarfs_hl(findFile("notebarfs-hl.png")),
+  m_notebargold(findFile("notebargold.svg")), m_notebargold_hl(findFile("notebargold_hi.svg")),
+  m_notealpha(0.0f), m_nlTop(0.0, 4.0), m_nlBottom(0.0, 4.0), m_time()
+{
+       dimensions.stretch(1.0, 0.5); // Initial dimensions, probably overridden from somewhere
+       m_nlTop.setTarget(m_vocal.noteMax, true);
+       m_nlBottom.setTarget(m_vocal.noteMin, true);
+       for (auto const& n: m_vocal.notes) n.stars.clear(); // Reset stars
+       reset();
+}
+
+void NoteGraph::reset() {
+       m_songit = m_vocal.notes.begin();
+}
+
+namespace {
+       void drawNotebar(Texture const& texture, double x, double ybeg, double yend, double w, double h) {
+               glutil::VertexArray va;
+               UseTexture tblock(texture);
+
+               // The front cap begins
+               va.texCoord(0.0f, 0.0f).vertex(x, ybeg);
+               va.texCoord(0.0f, 1.0f).vertex(x, ybeg + h);
+               if (w >= 2.0 * h) {
+                       // Calculate the y coordinates of the middle part
+                       double tmp = h / w;  // h = cap size (because it is a h by h square)
+                       double y1 = (1.0 - tmp) * ybeg + tmp * yend;
+                       double y2 = tmp * ybeg + (1.0 - tmp) * yend;
+                       // The middle part between caps
+                       va.texCoord(0.5f, 0.0f).vertex(x + h, y1);
+                       va.texCoord(0.5f, 1.0f).vertex(x + h, y1 + h);
+                       va.texCoord(0.5f, 0.0f).vertex(x + w - h, y2);
+                       va.texCoord(0.5f, 1.0f).vertex(x + w - h, y2 + h);
+               } else {
+                       // Note is too short to even fit caps, crop to fit.
+                       double ymid = 0.5 * (ybeg + yend);
+                       float crop = 0.25f * w / h;
+                       va.texCoord(crop, 0.0f).vertex(x + 0.5 * w, ymid);
+                       va.texCoord(crop, 1.0f).vertex(x + 0.5 * w, ymid + h);
+                       va.texCoord(1.0f - crop, 0.0f).vertex(x + 0.5 * w, ymid);
+                       va.texCoord(1.0f - crop, 1.0f).vertex(x + 0.5 * w, ymid + h);
+               }
+               // The rear cap ends
+               va.texCoord(1.0f, 0.0f).vertex(x + w, yend);
+               va.texCoord(1.0f, 1.0f).vertex(x + w, yend + h);
+
+               va.draw();
+       }
+}
+
+const double baseLine = -0.2;
+const double pixUnit = 0.2;
+
+void NoteGraph::draw(double time, Database const& database, Position position) {
+       if (time < m_time) reset();
+       m_time = time;
+       // Update m_songit (which note to start the rendering from)
+       while (m_songit != m_vocal.notes.end() && (m_songit->type == Note::SLEEP || m_songit->end < time - (baseLine + 0.5) / pixUnit)) ++m_songit;
+
+       // Automatically zooming notelines
+       {
+               int low = m_vocal.noteMax;
+               int high = m_vocal.noteMin;
+               int low2 = m_vocal.noteMax;
+               int high2 = m_vocal.noteMin;
+               for (auto it = m_songit; it != m_vocal.notes.end() && it->begin < time + 15.0; ++it) {
+                       if (it->type == Note::SLEEP) continue;
+                       if (it->note < low) low = it->note;
+                       if (it->note > high) high = it->note;
+                       if (it->begin > time + 8.0) continue;
+                       if (it->note < low2) low2 = it->note;
+                       if (it->note > high2) high2 = it->note;
+               }
+               if (low2 <= high2) {
+                       m_nlTop.setRange(high2, high);
+                       m_nlBottom.setRange(low, low2);
+               }
+       }
+       switch(position) {
+               case NoteGraph::FULLSCREEN:
+                       dimensions.stretch(1.0, 0.50).center();
+                       break;
+               case NoteGraph::TOP:
+                       dimensions.stretch(1.0, 0.32).bottom(0.0);
+                       break;
+               case NoteGraph::BOTTOM:
+                       dimensions.stretch(1.0, 0.32).top(0.0);
+                       break;
+               case NoteGraph::LEFT:
+                       dimensions.stretch(0.50, 0.50).center().left(-0.5);
+                       break;
+               case NoteGraph::RIGHT:
+                       dimensions.stretch(0.50, 0.50).center().right();
+                       break;
+       }
+       m_max = m_nlTop.get() + 7.0;
+       m_min = m_nlBottom.get() - 7.0;
+       m_noteUnit = -dimensions.h() / std::max(48.0 * dimensions.h(), m_max - m_min);
+       m_baseY = -0.5 * (m_min + m_max) * m_noteUnit + dimensions.yc();
+       m_baseX = baseLine - m_time * pixUnit + dimensions.xc();  // FIXME: Moving in X direction requires additional love (is b0rked now, keep it centered at zero)
+
+       // Fading notelines handing
+       if (m_songit == m_vocal.notes.end() || m_songit->begin > m_time + 3.0) m_notealpha -= 0.02f;
+       else if (m_notealpha < 1.0f) m_notealpha += 0.02f;
+       if (m_notealpha <= 0.0f) { m_notealpha = 0.0f; return; }
+
+       ColorTrans c(Color::alpha(m_notealpha));
+
+       drawNotes();
+       if (config["game/pitch"].b()) drawWaves(database);
+
+       // Draw a star for well sung notes
+       for (auto it = m_songit; it != m_vocal.notes.end() && it->begin < m_time - (baseLine - 0.5) / pixUnit; ++it) {
+               float player_star_offset = 0;
+               for (std::vector<Color>::const_iterator it_col = it->stars.begin(); it_col != it->stars.end(); ++it_col) {
+                       double x = m_baseX + it->begin * pixUnit + m_noteUnit; // left x coordinate: begin minus border (side borders -noteUnit wide)
+                       double w = (it->end - it->begin) * pixUnit - m_noteUnit * 2.0; // width: including borders on both sides
+                       float hh = -m_noteUnit;
+                       float centery = m_baseY + (it->note + 0.4) * m_noteUnit; // Star is 0.4 notes higher than current note
+                       float centerx = x + w - (player_star_offset + 1.2) * hh; // Star is 1.2 units from end
+                       float rot = std::remainder(time * 5.0, TAU); // They rotate!
+                       bool smallerNoteGraph = ((position == NoteGraph::TOP) || (position == NoteGraph::BOTTOM));
+                       float zoom = (std::abs((rot-180) / 360.0f) * 0.8f + 0.6f) * (smallerNoteGraph ? 2.3 : 2.0) * hh;
+                       using namespace glmath;
+                       Transform trans(translate(vec3(centerx, centery, 0.0f)) * rotate(rot, vec3(0.0f, 0.0f, 1.0f)));
+                       {
+                               ColorTrans c(Color(it_col->r, it_col->g, it_col->b, it_col->a));
+                               m_star_hl.draw(Dimensions().stretch(zoom*1.2, zoom*1.2).center().middle(), TexCoords());
+                       }
+                       m_star.draw(Dimensions().stretch(zoom, zoom).center().middle(), TexCoords());
+                       player_star_offset += 0.8;
+               }
+       }
+}
+
+void NoteGraph::drawNotes() {
+       // Draw note lines
+       m_notelines.draw(Dimensions().stretch(dimensions.w(), (m_max - m_min - 13) * m_noteUnit).middle(dimensions.xc()).center(dimensions.yc()), TexCoords(0.0, (-m_min - 7.0) / 12.0f, 1.0, (-m_max + 6.0) / 12.0f));
+
+       // Draw notes
+       for (auto it = m_songit; it != m_vocal.notes.end() && it->begin < m_time - (baseLine - 0.5) / pixUnit; ++it) {
+               if (it->type == Note::SLEEP) continue;
+               double alpha = it->power;
+               Texture* t1;
+               Texture* t2;
+               switch (it->type) {
+                 case Note::NORMAL: case Note::SLIDE: t1 = &m_notebar; t2 = &m_notebar_hl; break;
+                 case Note::GOLDEN: t1 = &m_notebargold; t2 = &m_notebargold_hl; break;
+                 case Note::FREESTYLE:  // Freestyle notes use custom handling
+                       {
+                               Dimensions dim;
+                               dim.middle(m_baseX + 0.5 * (it->begin + it->end) * pixUnit).center(m_baseY + it->note * m_noteUnit).stretch((it->end - it->begin) * pixUnit, -m_noteUnit * 12.0);
+                               float xoffset = 0.1 * m_time / m_notebarfs.dimensions.ar();
+                               m_notebarfs.draw(dim, TexCoords(xoffset, 0.0, xoffset + dim.ar() / m_notebarfs.dimensions.ar(), 1.0));
+                               if (alpha > 0.0) {
+                                       float xoffset = rand() / double(RAND_MAX);
+                                       m_notebarfs_hl.draw(dim, TexCoords(xoffset, 0.0, xoffset + dim.ar() / m_notebarfs_hl.dimensions.ar(), 1.0));
+                               }
+                       }
+                       continue;
+                 default: throw std::logic_error("Unknown note type: don't know how to render");
+               }
+               double x = m_baseX + it->begin * pixUnit + m_noteUnit; // left x coordinate: begin minus border (side borders -noteUnit wide)
+               double ybeg = m_baseY + (it->notePrev + 1) * m_noteUnit; // top y coordinate (on the one higher note line)
+               double yend = m_baseY + (it->note + 1) * m_noteUnit; // top y coordinate (on the one higher note line)
+               double w = (it->end - it->begin) * pixUnit - m_noteUnit * 2.0; // width: including borders on both sides
+               double h = -m_noteUnit * 2.0; // height: 0.5 border + 1.0 bar + 0.5 border = 2.0
+               drawNotebar(*t1, x, ybeg, yend, w, h);
+               if (alpha > 0.0) {
+                       ColorTrans c(Color::alpha(alpha));
+                       drawNotebar(*t2, x, ybeg, yend, w, h);
+               }
+       }
+}
+
+namespace {
+       void strip(glutil::VertexArray& va) {
+               if (va.size() > 3) va.draw();
+               va.clear();
+       }
+}
+
+void NoteGraph::drawWaves(Database const& database) {
+       if (m_vocal.notes.empty()) return; // Cannot draw without notes
+       UseTexture tblock(m_wave);
+       for (auto const& player: database.cur) {
+               if (player.m_vocal.name != m_vocal.name)
+                       continue;
+               float const texOffset = 2.0 * m_time; // Offset for animating the wave texture
+               Player::pitch_t const& pitch = player.m_pitch;
+               size_t const beginIdx = std::max(0.0, m_time - 0.5 / pixUnit) / Engine::TIMESTEP; // At which pitch idx to start displaying the wave
+               size_t const endIdx = player.m_pos;
+               size_t idx = beginIdx;
+               // Go back until silence (NaN freq) to allow proper wave phase to be calculated
+               if (beginIdx < endIdx) while (idx > 0 && pitch[idx].first == pitch[idx].first) --idx;
+               // Start processing
+               float tex = texOffset;
+               double t = idx * Engine::TIMESTEP;
+               double oldval = getNaN();
+               glutil::VertexArray va;
+               auto noteIt = m_vocal.notes.begin();
+               glmath::vec4 c(player.m_color.r, player.m_color.g, player.m_color.b, 1.0);
+               for (; idx < endIdx; ++idx, t += Engine::TIMESTEP) {
+                       double const freq = pitch[idx].first;
+                       // If freq is NaN, we have nothing to process
+                       if (freq != freq) { oldval = getNaN(); tex = texOffset; continue; }
+                       tex += freq * 0.001; // Wave phase (texture coordinate)
+                       if (idx < beginIdx) continue; // Skip graphics rendering if out of screen
+                       double x = -0.2 + (t - m_time) * pixUnit;
+                       // Find the currently active note(s)
+                       while (noteIt != m_vocal.notes.end() && (noteIt->type == Note::SLEEP || t > noteIt->end)) ++noteIt;
+                       auto notePrev = noteIt;
+                       while (notePrev != m_vocal.notes.begin() && (notePrev->type == Note::SLEEP || t < notePrev->begin)) --notePrev;
+                       bool hasNote = (noteIt != m_vocal.notes.end());
+                       bool hasPrev = notePrev->type != Note::SLEEP && t >= notePrev->begin;
+                       double val;
+                       if (hasNote && hasPrev) val = 0.5 * (noteIt->note + notePrev->note);
+                       else if (hasNote) val = noteIt->note;
+                       else val = notePrev->note;
+                       // Now val contains the active note value. The following calculates note value for current freq:
+                       val += Note::diff(val, MusicalScale(m_vocal.scale).setFreq(freq).getNote());
+                       // Graphics positioning & animation:
+                       double y = m_baseY + val * m_noteUnit;
+                       double thickness = clamp(1.0 + pitch[idx].second / 60.0) + 0.5;
+                       thickness *= 1.0 + 0.2 * std::sin(tex - 2.0 * texOffset); // Further animation :)
+                       thickness *= -m_noteUnit;
+                       // If there has been a break or if the pitch change is too fast, terminate and begin a new one
+                       if (oldval != oldval || std::abs(oldval - val) > 1) strip(va);
+                       // Add a point or a pair of points
+                       if (!va.size()) va.texCoord(tex, 0.5f).color(c).vertex(x, y);
+                       else {
+                               va.texCoord(tex, 0.0f).color(c).vertex(x, y - thickness);
+                               va.texCoord(tex, 1.0f).color(c).vertex(x, y + thickness);
+                       }
+                       oldval = val;
+               }
+               strip(va);
+       }
+}
+
diff --git a/game/notegraph.hh b/game/notegraph.hh
new file mode 100644 (file)
index 0000000..e4628c4
--- /dev/null
@@ -0,0 +1,46 @@
+#pragma once
+
+#include "animvalue.hh"
+#include "texture.hh"
+#include "notes.hh"
+
+class Song;
+class Database;
+
+/// handles drawing of notes and waves
+class NoteGraph {
+  public:
+       enum Position {FULLSCREEN, TOP, BOTTOM, LEFT, RIGHT};
+       /// constructor
+       NoteGraph(VocalTrack const& vocal);
+       /// resets NoteGraph and Notes
+       void reset();
+       /** draws NoteGraph (notelines, notes, waves)
+        * @param time at which time to draw
+        * @param players reference to the list of singing Players
+        */
+       void draw(double time, Database const& database, Position position = NoteGraph::FULLSCREEN);
+  private:
+       /// draw notebars
+       void drawNotes();
+       /// draw waves (what players are singing)
+       void drawWaves(Database const& database);
+       VocalTrack const& m_vocal;
+       Texture m_notelines;
+       Texture m_wave;
+       Texture m_star;
+       Texture m_star_hl;
+       Texture m_notebar;
+       Texture m_notebar_hl;
+       Texture m_notebarfs;
+       Texture m_notebarfs_hl;
+       Texture m_notebargold;
+       Texture m_notebargold_hl;
+       float m_notealpha;
+       AnimValue m_nlTop, m_nlBottom;
+       Notes::const_iterator m_songit;
+       double m_time;
+       double m_max, m_min, m_noteUnit, m_baseY, m_baseX;
+
+};
+
diff --git a/game/notes.cc b/game/notes.cc
new file mode 100644 (file)
index 0000000..0e365f7
--- /dev/null
@@ -0,0 +1,60 @@
+#include "notes.hh"
+
+#include "util.hh"
+#include <cmath>
+#include <sstream>
+#include <stdexcept>
+
+Note::Note(): begin(getNaN()), end(getNaN()), phase(getNaN()), power(getNaN()), type(NORMAL), note(), notePrev() {}
+
+double Note::diff(double note, double n) { return remainder(n - note, 12.0); }
+double Note::maxScore() const { return scoreMultiplier() * (end - begin); }
+
+double Note::clampDuration(double b, double e) const {
+       double len = std::min(e, end) - std::max(b, begin);
+       return len > 0.0 ? len : 0.0;
+}
+
+double Note::score(double n, double b, double e) const {
+       return scoreMultiplier() * powerFactor(n) * clampDuration(b, e);
+}
+
+double Note::scoreMultiplier() const {
+       switch(type) {
+               case GOLDEN:
+                       return 2.0;
+               case SLEEP:
+                       return 0.0;
+               case FREESTYLE:
+               case NORMAL:
+               case SLIDE:
+               case TAP:
+               case HOLDBEGIN:
+               case HOLDEND:
+               case ROLL:
+               case MINE:
+               case LIFT:
+                       return 1.0;
+       }
+       return 0.0;
+}
+
+double Note::powerFactor(double note) const {
+       if (type == FREESTYLE) return 1.0;
+       double error = std::abs(diff(note));
+       return clamp(1.5 - error, 0.0, 1.0);
+}
+
+Duration::Duration(): begin(getNaN()), end(getNaN()) {}
+
+DanceTrack::DanceTrack(std::string& description, Notes& notes) : description(description), notes(notes) {}
+
+VocalTrack::VocalTrack(std::string name) : name(name) {reload();}
+
+void VocalTrack::reload() {
+       notes.clear();
+       m_scoreFactor = 0.0;
+       noteMin = std::numeric_limits<int>::max();
+       noteMax = std::numeric_limits<int>::min();
+       beginTime = endTime = getNaN();
+}
diff --git a/game/notes.hh b/game/notes.hh
new file mode 100644 (file)
index 0000000..3f7d74d
--- /dev/null
@@ -0,0 +1,136 @@
+#pragma once
+
+#include <map>
+#include <string>
+#include <vector>
+
+#include "color.hh"
+#include "musicalscale.hh"
+
+/// stores duration of a note
+struct Duration {
+       double begin; ///< beginning timestamp in seconds
+       double end;   ///< ending timestamp in seconds
+       Duration();
+       /// create a new Duration object and initialize begin and end
+       Duration(double b, double e): begin(b), end(e) {}
+       /// compares begin timestamps of two Duration structs
+       static bool ltBegin(Duration const& a, Duration const& b) { return a.begin < b.begin; }
+       /// compares end timestamps of two Duration structs
+       static bool ltEnd(Duration const& a, Duration const& b) { return a.end < b.end; }
+};
+
+typedef std::vector<Duration> Durations;
+typedef std::map<int, Durations> NoteMap;
+
+/// Sort by instrument track name
+struct CompInstrumentTrack {
+       bool operator()(std::string const& l, std::string const& r) const {
+               // TODO: Sort other guitar tracks (coop / rhythm) properly
+               return l > r;
+       }
+};
+
+struct InstrumentTrack {
+       // TODO: name should not be needed here (contained into the map)
+       InstrumentTrack(std::string n): name(n) {}
+       std::string name;
+       NoteMap nm;
+};
+
+// keep these ones
+typedef std::map<std::string, InstrumentTrack, CompInstrumentTrack> InstrumentTracks;
+typedef std::map<std::string, InstrumentTrack const*, CompInstrumentTrack> InstrumentTracksConstPtr; // this one really needed ? can't we save only the map key for comparison ?
+
+static inline bool isTrackInside(InstrumentTracks const& track_map, std::string const& name) {
+       return track_map.find(name) != track_map.end();
+}
+
+// TODO: Make Note use Duration
+
+/// note read from songfile
+struct Note {
+       Note();
+       double begin; ///< begin time
+       double end; ///< end time
+       double phase; /// Position within a measure, [0, 1)
+       // FIXME: Remove gameplay variables from here (Note should be immutable).
+       /// power of note (how well it is being hit right now)
+       mutable double power;
+       /// which players sung well
+       mutable std::vector<Color> stars;
+       /// note type
+       enum Type { FREESTYLE = 'F', NORMAL = ':', GOLDEN = '*', SLIDE = '+', SLEEP = '-',
+         TAP = '1', HOLDBEGIN = '2', HOLDEND = '3', ROLL = '4', MINE = 'M', LIFT = 'L'} type;
+       int note; ///< MIDI pitch of the note (at the end for slide notes)
+       int notePrev; ///< MIDI pitch of the previous note (should be same as note for everything but SLIDE)
+       /// lyrics syllable for that note
+       std::string syllable;
+       /// Difference of n from note
+       double diff(double n) const { return diff(note, n); }
+       /// Difference of n from note, so that note + diff(note, n) is n (mod 12)
+       static double diff(double note, double n);
+       /// Maximum score
+       double maxScore() const;
+       /// The length of the time period [a,b] that falls within the note in seconds
+       double clampDuration(double b, double e) const;
+       /// Score when singing over time period (a, b), which needs not to be entirely within the note
+       double score(double freq, double b, double e) const;
+       /// How precisely the note is hit (always 1.0 for freestyle, 0..1 for others)
+       double powerFactor(double note) const;
+       /// Compares begin of two notes
+       static bool ltBegin(Note const& a, Note const& b) {
+               if (a.begin == b.begin) {
+                       if (a.type == Note::SLEEP) return true;
+                       if (b.type == Note::SLEEP) return false;                        
+               }
+               return a.begin < b.begin; 
+       }
+       /// Compares end of two notes
+       static bool ltEnd(Note const& a, Note const& b) { return a.end < b.end; }
+       /// Compare equality of two notes, used for deleting duplicates when programatically creating the duet track.
+       static bool equal(Note const& a, Note const& b) { 
+               if (a.type == Note::SLEEP) return (a.type == b.type);
+               return (a.begin == b.begin && a.end == b.end && a.note == b.note && a.type == b.type);
+       }
+       /// Check if two notes overlap
+       static bool overlapping(Note const& a, Note const& b) { return (a.end > b.begin && a.type != Note::SLEEP && b.type != Note::SLEEP); }
+  private:
+       double scoreMultiplier() const;
+};
+
+typedef std::vector<Note> Notes;
+
+class VocalTrack {
+public:
+       VocalTrack(std::string name);
+       void reload();
+       std::string name;
+       Notes notes;
+       int noteMin, noteMax; ///< lowest and highest note
+       double beginTime, endTime; ///< the period where there are notes
+       double m_scoreFactor; ///< normalization factor for the scoring system
+       MusicalScale scale; ///< scale in which song is sung
+};
+
+typedef std::map<std::string, VocalTrack> VocalTracks;
+
+struct DanceTrack {
+       DanceTrack(std::string& description, Notes& notes);
+       //track description
+       std::string description;
+       //container for the actual note data
+       Notes notes;
+};
+
+enum DanceDifficulty {
+       BEGINNER,
+       EASY,
+       MEDIUM,
+       HARD,
+       CHALLENGE,
+       DIFFICULTYCOUNT
+};
+
+typedef std::map<DanceDifficulty, DanceTrack> DanceDifficultyMap;
+typedef std::map<std::string, DanceDifficultyMap> DanceTracks;
diff --git a/game/opengl_text.cc b/game/opengl_text.cc
new file mode 100644 (file)
index 0000000..d391eb0
--- /dev/null
@@ -0,0 +1,293 @@
+#include "opengl_text.hh"
+
+#include "libxml++-impl.hh"
+
+#include "fontconfig/fontconfig.h"
+#include <cmath>
+#include <iostream>
+#include <sstream>
+#include "fs.hh"
+
+void loadFonts() {
+       FcConfig *config = FcInitLoadConfig();
+       for (fs::path const& font: listFiles("fonts")) {
+               FcBool err = FcConfigAppFontAddFile(config, reinterpret_cast<const FcChar8*>(font.string().c_str()));
+               std::clog << "font/info: Loading font " << font << ": " << ((err == FcTrue)?"ok":"error") << std::endl;
+       }
+       if (!FcConfigBuildFonts(config))
+               throw std::logic_error("Could not build font database.");
+       FcConfigSetCurrent(config);
+
+       // This would all be very useless if pango+cairo didn't use the fontconfig+freetype backend:
+
+       PangoCairoFontMap *map = PANGO_CAIRO_FONT_MAP(pango_cairo_font_map_get_default());
+       std::clog << "font/info: PangoCairo is using font map " << G_OBJECT_TYPE_NAME(map) << std::endl;
+       if (pango_cairo_font_map_get_font_type(map) != CAIRO_FONT_TYPE_FT) {
+               PangoCairoFontMap *ftMap = PANGO_CAIRO_FONT_MAP(pango_cairo_font_map_new_for_font_type(CAIRO_FONT_TYPE_FT));
+               std::clog << "font/info: Switching to font map " << G_OBJECT_TYPE_NAME(ftMap) << std::endl;
+               if (ftMap)
+                       pango_cairo_font_map_set_default(ftMap);
+               else
+                       std::clog << "font/error: Can't switch to FreeType, fonts will be unavailable!" << std::endl;
+       }
+}
+
+namespace {
+       PangoAlignment parseAlignment(std::string const& fontalign) {
+               if (fontalign == "start") return PANGO_ALIGN_LEFT;
+               if (fontalign == "center" || fontalign == "middle") return PANGO_ALIGN_CENTER;
+               if (fontalign == "end") return PANGO_ALIGN_RIGHT;
+               throw std::logic_error(fontalign + ": Unknown font alignment (opengl_text.cc)");
+       }
+
+       PangoWeight parseWeight(std::string const& fontweight) {
+               if (fontweight == "normal") return PANGO_WEIGHT_NORMAL;
+               if (fontweight == "bold") return PANGO_WEIGHT_BOLD;
+               if (fontweight == "bolder") return PANGO_WEIGHT_ULTRABOLD;
+               throw std::logic_error(fontweight + ": Unknown font weight (opengl_text.cc)");
+       }
+
+       PangoStyle parseStyle(std::string const& fontstyle) {
+               if (fontstyle == "normal") return PANGO_STYLE_NORMAL;
+               if (fontstyle == "italic") return PANGO_STYLE_ITALIC;
+               if (fontstyle == "oblique") return PANGO_STYLE_OBLIQUE;
+               throw std::logic_error(fontstyle + ": Unknown font style (opengl_text.cc)");
+       }
+}
+
+OpenGLText::OpenGLText(TextStyle& _text, double m) {
+       m *= 2.0;  // HACK to improve text quality without affecting compatibility with old versions
+       // Setup font settings
+       PangoAlignment alignment = parseAlignment(_text.fontalign);
+       std::shared_ptr<PangoFontDescription> desc(
+         pango_font_description_new(),
+         pango_font_description_free);
+       pango_font_description_set_weight(desc.get(), parseWeight(_text.fontweight));
+       pango_font_description_set_style(desc.get(), parseStyle(_text.fontstyle));
+       pango_font_description_set_family(desc.get(), _text.fontfamily.c_str());
+       pango_font_description_set_absolute_size(desc.get(), _text.fontsize * PANGO_SCALE * m);
+       double border = _text.stroke_width * m;
+       // Setup Pango context and layout
+       std::shared_ptr<PangoContext> ctx(
+         pango_font_map_create_context(pango_cairo_font_map_get_default()),
+         g_object_unref);
+       std::shared_ptr<PangoLayout> layout(
+         pango_layout_new(ctx.get()),
+         g_object_unref);
+       pango_layout_set_alignment(layout.get(), alignment);
+       pango_layout_set_font_description(layout.get(), desc.get());
+       pango_layout_set_text(layout.get(), _text.text.c_str(), -1);
+       // Compute text extents
+       {
+               PangoRectangle rec;
+               pango_layout_get_pixel_extents(layout.get(), nullptr, &rec);
+               m_x = rec.width + border;  // Add twice half a border for margins
+               m_y = rec.height + border;
+       }
+       // Create Cairo surface and drawing context
+       std::shared_ptr<cairo_surface_t> surface(
+         cairo_image_surface_create(CAIRO_FORMAT_ARGB32, m_x, m_y),
+         cairo_surface_destroy);
+       std::shared_ptr<cairo_t> dc(
+         cairo_create(surface.get()),
+         cairo_destroy);
+       // Keep things sharp and fast, we scale with OpenGL anyway...
+       cairo_set_antialias(dc.get(), CAIRO_ANTIALIAS_FAST);
+       cairo_push_group_with_content (dc.get(), CAIRO_CONTENT_COLOR_ALPHA);
+       cairo_set_operator(dc.get(),CAIRO_OPERATOR_SOURCE);
+       // Add Pango line and path to proper position on the DC
+       cairo_move_to(dc.get(), 0.5 * border, 0.5 * border);  // Margins needed for border stroke to fit in
+       pango_cairo_update_layout(dc.get(), layout.get());
+       pango_cairo_layout_path(dc.get(), layout.get());
+       // Render text
+       if (_text.fill_col.a > 0.0) {
+               cairo_set_source_rgba(dc.get(), _text.fill_col.r, _text.fill_col.g, _text.fill_col.b, _text.fill_col.a);
+               cairo_fill_preserve(dc.get());
+       }
+       // Render text border
+       if (_text.stroke_col.a > 0.0) {
+               // Use proper line-joins and caps.
+               cairo_set_line_join (dc.get(), _text.LineJoin());
+               cairo_set_line_cap (dc.get(), _text.LineCap());
+               cairo_set_line_join (dc.get(), _text.LineJoin());
+               cairo_set_miter_limit(dc.get(), _text.stroke_miterlimit);
+               cairo_set_line_width(dc.get(), border);
+               cairo_set_source_rgba(dc.get(), _text.stroke_col.r, _text.stroke_col.g, _text.stroke_col.b, _text.stroke_col.a);
+               cairo_stroke(dc.get());
+       }
+       cairo_pop_group_to_source (dc.get());
+       cairo_set_operator(dc.get(),CAIRO_OPERATOR_OVER);
+       cairo_paint (dc.get());
+       // Load into m_texture (OpenGL texture)
+       Bitmap bitmap(cairo_image_surface_get_data(surface.get()));
+       bitmap.fmt = pix::INT_ARGB;
+       bitmap.linearPremul = true;
+       bitmap.resize(cairo_image_surface_get_width(surface.get()), cairo_image_surface_get_height(surface.get()));
+       m_texture.load(bitmap, true);
+       // We don't want text quality multiplier m to affect rendering size...
+       m_x /= m;
+       m_y /= m;
+}
+
+void OpenGLText::draw() {
+       m_texture.draw();
+}
+
+void OpenGLText::draw(Dimensions &_dim, TexCoords &_tex) {
+       m_texture.dimensions = _dim;
+       m_texture.tex = _tex;
+       m_texture.draw();
+}
+
+namespace {
+       void parseTheme(fs::path const& themeFile, TextStyle &_theme, double &_width, double &_height, double &_x, double &_y, SvgTxtTheme::Align& _align) {
+               xmlpp::Node::PrefixNsMap nsmap;
+               nsmap["svg"] = "http://www.w3.org/2000/svg";
+               xmlpp::DomParser dom(themeFile.string());
+               // Parse width attribute
+               auto n = dom.get_document()->get_root_node()->find("/svg:svg/@width",nsmap);
+               if (n.empty()) throw std::runtime_error("Unable to find text theme info width in "+themeFile.string());
+               xmlpp::Attribute& width = dynamic_cast<xmlpp::Attribute&>(*n[0]);
+               _width = std::stod(width.get_value());
+               // Parse height attribute
+               n = dom.get_document()->get_root_node()->find("/svg:svg/@height",nsmap);
+               if (n.empty()) throw std::runtime_error("Unable to find text theme info height in "+themeFile.string());
+               xmlpp::Attribute& height = dynamic_cast<xmlpp::Attribute&>(*n[0]);
+               _height = std::stod(height.get_value());
+               // Parse text style attribute (CSS rules)
+               n = dom.get_document()->get_root_node()->find("/svg:svg//svg:text/@style",nsmap);
+               if (n.empty()) throw std::runtime_error("Unable to find text theme info style in "+themeFile.string());
+               xmlpp::Attribute& style = dynamic_cast<xmlpp::Attribute&>(*n[0]);
+               std::istringstream iss(style.get_value());
+               std::string token;
+               while (std::getline(iss, token, ';')) {
+                       std::istringstream iss2(token);
+                       std::getline(iss2, token, ':');
+                       if (token == "font-size") {
+                               // Parse as int because https://llvm.org/bugs/show_bug.cgi?id=17782
+                               int value;
+                               iss2 >> value;
+                               _theme.fontsize = value;
+                       }
+                       else if (token == "font-family") std::getline(iss2, _theme.fontfamily);
+                       else if (token == "font-style") std::getline(iss2, _theme.fontstyle);
+                       else if (token == "font-weight") std::getline(iss2, _theme.fontweight);
+                       else if (token == "stroke-width") iss2 >> _theme.stroke_width;
+                       else if (token == "stroke-opacity") iss2 >> _theme.stroke_col.a;
+                       else if (token == "stroke-linejoin") iss2 >> _theme.stroke_linejoin;
+                       else if (token == "stroke-miterlimit") iss2 >> _theme.stroke_miterlimit;
+                       else if (token == "stroke-linecap") iss2 >> _theme.stroke_linecap;
+                       else if (token == "fill-opacity") iss2 >> _theme.fill_col.a;
+                       else if (token == "fill") iss2 >> _theme.fill_col;
+                       else if (token == "stroke") iss2 >> _theme.stroke_col;
+                       else if (token == "text-anchor") {
+                               std::string value;
+                               std::getline(iss2, value);
+                               _theme.fontalign = value;
+                               if (value == "start") _align = SvgTxtTheme::LEFT;
+                               else if (value == "middle") _align = SvgTxtTheme::CENTER;
+                               else if (value == "end") _align = SvgTxtTheme::RIGHT;
+                       }
+               }
+               // Parse x and y attributes
+               n = dom.get_document()->get_root_node()->find("/svg:svg//svg:text/@x",nsmap);
+               if (n.empty()) throw std::runtime_error("Unable to find text theme info x in "+themeFile.string());
+               xmlpp::Attribute& x = dynamic_cast<xmlpp::Attribute&>(*n[0]);
+               _x = std::stod(x.get_value());
+               n = dom.get_document()->get_root_node()->find("/svg:svg//svg:text/@y",nsmap);
+               if (n.empty()) throw std::runtime_error("Unable to find text theme info y in "+themeFile.string());
+               xmlpp::Attribute& y = dynamic_cast<xmlpp::Attribute&>(*n[0]);
+               _y = std::stod(y.get_value());
+       }
+}
+
+SvgTxtThemeSimple::SvgTxtThemeSimple(fs::path const& themeFile, double factor) : m_factor(factor) {
+       SvgTxtTheme::Align a;
+       double tmp;
+       parseTheme(themeFile, m_text, tmp, tmp, tmp, tmp, a);
+}
+
+void SvgTxtThemeSimple::render(std::string _text) {
+       if (!m_opengl_text.get() || m_cache_text != _text) {
+               m_cache_text = _text;
+               m_text.text = _text;
+               m_opengl_text = std::make_unique<OpenGLText>(m_text, m_factor);
+       }
+}
+
+void SvgTxtThemeSimple::draw() {
+       m_opengl_text->draw();
+}
+
+SvgTxtTheme::SvgTxtTheme(fs::path const& themeFile, double factor): m_align(),m_factor(factor) {
+       parseTheme(themeFile, m_text, m_width, m_height, m_x, m_y, m_align);
+       dimensions.stretch(0.0, 0.0).middle(-0.5 + m_x / m_width).center((m_y - 0.5 * m_height) / m_width);
+}
+
+void SvgTxtTheme::setHighlight(fs::path const& themeFile) {
+       double a,b,c,d;
+       Align e;
+       parseTheme(themeFile, m_text_highlight, a, b, c, d, e);
+}
+
+void SvgTxtTheme::draw(std::string _text) {
+       std::vector<TZoomText> tmp;
+       TZoomText t;
+       t.string = _text;
+       t.factor = 1.0;
+       tmp.push_back(t);
+       draw(tmp);
+}
+
+void SvgTxtTheme::draw(std::vector<TZoomText>& _text, bool lyrics) {
+
+       std::string tmp;
+       for (auto& zt: _text) { tmp += zt.string; }
+       if (m_opengl_text.size() != _text.size() || m_cache_text != tmp) {
+               m_cache_text = tmp;
+               m_opengl_text.clear();
+               for (auto& zt: _text) {
+                       m_text.text = zt.string;
+                       auto openGlPtr = std::unique_ptr<OpenGLText>(std::make_unique<OpenGLText>(m_text, m_factor));
+                       m_opengl_text.push_back(std::move(openGlPtr));
+               }
+       }
+       double text_x = 0.0;
+       double text_y = 0.0;
+       // First compute maximum height and whole length
+       for (size_t i = 0; i < _text.size(); i++ ) {
+               text_x += m_opengl_text[i]->x();
+               text_y = std::max(text_y, m_opengl_text[i]->y());
+       }
+
+       double texture_ar = text_x / text_y;
+       m_texture_width = std::min(0.96, text_x / targetWidth); // targetWidth is defined in video_driver.cc, it's the base rendering width, used to project the svg onto a gltexture. currently we're targeting 1366x768 as base resolution.
+       
+       double position_x = dimensions.x1();
+       if (m_align == CENTER) position_x -= 0.5 * m_texture_width;
+       if (m_align == RIGHT) position_x -= m_texture_width;
+
+       if ((position_x + m_texture_width) > 0.48) { 
+               m_texture_width = (0.48 - position_x);
+       }
+       m_texture_height = m_texture_width / texture_ar; // Keep aspect ratio.
+       for (size_t i = 0; i < _text.size(); i++) {
+               double syllable_x = m_opengl_text[i]->x();
+               double syllable_width = syllable_x *  m_texture_width / text_x * _text[i].factor;
+               double syllable_height = m_texture_height * _text[i].factor;
+               double syllable_ar = syllable_width / syllable_height;
+               Dimensions dim(syllable_ar);
+               dim.fixedHeight(m_texture_height).center(dimensions.y1());
+               dim.middle(position_x + 0.5 * dim.w());
+               TexCoords tex;
+               double factor = _text[i].factor;
+               if (factor > 1.0) {
+                       LyricColorTrans lc(m_text.fill_col, m_text.stroke_col, m_text_highlight.fill_col, m_text_highlight.stroke_col);
+                       dim.fixedWidth(dim.w() * factor);
+                       m_opengl_text[i]->draw(dim, tex);
+               } 
+               else { m_opengl_text[i]->draw(dim, tex); }
+               position_x += (syllable_width / factor) * (lyrics ? 1.1 : 1.0);
+       }
+}
+
diff --git a/game/opengl_text.hh b/game/opengl_text.hh
new file mode 100644 (file)
index 0000000..21658ed
--- /dev/null
@@ -0,0 +1,177 @@
+#pragma once
+
+#include "color.hh"
+#include "texture.hh"
+#include "unicode.hh"
+#include <pango/pangocairo.h>
+#include <vector>
+
+/// Load custom fonts from current theme and data folders
+void loadFonts();
+
+/// zoomed text
+struct TZoomText {
+       /// text
+       std::string string;
+       /// zoomfactor
+       double factor;
+       /// constructor
+       TZoomText(std::string const& str = std::string()): string(str), factor(1.0) {}
+};
+
+/// Special theme for creating opengl themed surfaces
+/** this structure does not include:
+ *  - library specific field
+ *  - global positionning
+ * the font{family,style,weight,align} are the one found into SVGs
+ */
+struct TextStyle {
+       cairo_line_join_t LineJoin() {  ///< convert svg string to cairo enum.
+               if (UnicodeUtil::toLower(stroke_linejoin) == "round") return CAIRO_LINE_JOIN_ROUND;
+               if (UnicodeUtil::toLower(stroke_linejoin) == "bevel") return CAIRO_LINE_JOIN_BEVEL;     
+               return CAIRO_LINE_JOIN_MITER;
+       };
+       cairo_line_cap_t LineCap() {    ///< convert svg string to cairo enum.
+               if (UnicodeUtil::toLower(stroke_linecap) == "round") return CAIRO_LINE_CAP_ROUND;
+               if (UnicodeUtil::toLower(stroke_linecap) == "square") return CAIRO_LINE_CAP_SQUARE;     
+               return CAIRO_LINE_CAP_BUTT;
+       };
+       Color fill_col; ///< fill color
+       Color stroke_col; ///< stroke color
+       double stroke_width; ///< stroke thickness
+       double stroke_miterlimit; ///< stroke miter limit
+       double fontsize; ///< fontsize
+       std::string fontfamily; ///< fontfamily
+       std::string fontstyle; ///< fontstyle
+       std::string fontweight; ///< fontweight
+       std::string fontalign; ///< alignment
+       std::string     stroke_linejoin; ///< stroke line-join type
+       std::string     stroke_linecap; ///< stroke line-join type
+       std::string text; ///< text
+       TextStyle(): stroke_width(), stroke_miterlimit(1.0), fontsize() {}
+};
+
+/// this class will enable to create a texture from a themed text structure
+/** it will not cache any data (class using this class should)
+ * it provides size of the texture are drawn (x,y)
+ * it provides size of the texture created (x_power_of_two, y_power_of_two)
+ */
+class OpenGLText {
+public:
+       /// constructor
+       OpenGLText(TextStyle &_text, double m);
+       /// draws area
+       void draw(Dimensions &_dim, TexCoords &_tex);
+       /// draws full texture
+       void draw();
+       /// @return x
+       double x() const { return m_x; }
+       /// @return y
+       double y() const { return m_y; }
+       /// @returns dimension of texture
+       Dimensions& dimensions() { return m_texture.dimensions; }
+
+private:
+       double m_x;
+       double m_y;
+       Texture m_texture;
+};
+
+/// themed svg texts (simple)
+class SvgTxtThemeSimple {
+public:
+       /// constructor
+       SvgTxtThemeSimple(fs::path const& themeFile, double factor = 1.0);
+       /// renders text
+       void render(std::string _text);
+       /// draws texture
+       void draw();
+       /// gets dimensions
+       Dimensions& dimensions() { return m_opengl_text->dimensions(); }
+
+private:
+       std::unique_ptr<OpenGLText> m_opengl_text;
+       std::string m_cache_text;
+       TextStyle m_text;
+       double m_factor;
+};
+
+/// themed svg texts
+class SvgTxtTheme {
+public:
+       /// enum declaration Gravity:
+       /** <pre>
+        * +----+---+----+
+        * | NW | N | NE |
+        * +----+---+----+
+        * | W  | C |  E |
+        * +----+---+----+
+        * | SW | S | SE |
+        * +----+---+----+ (and ASIS)
+        *
+        * Coord:
+        * (x0,y0)        (x1,y0)
+        *    +--------------+
+        *    |              |
+        *    |              |
+        *    +--------------+
+        * (x0,y1)        (x1,y1)
+        *
+        * gravity will affect how fit-inside/fit-outside will work
+        * fitting will always keep aspect ratio
+        * fit-inside: will fit inside if texture is too big
+        * force-fit-inside: will always stretch to fill at least one of the axis
+        * fit-outside: will fit outside if texture is too small
+        * force-fit-outside: will always stretch to fill both axis
+        * gravity does not mean position, it is only an anchor
+        * Fixed points:
+        *   NW: (x0,y0)
+        *   N:  ((x0+x1)/2,y0)
+        *   NE: (x1,y0)
+        *   W:  (x0,(y0+y1)/2)
+        *   C:  ((x0+x1)/2,(y0+y1)/2)
+        *   E:  (x1,(y0+y1)/2)
+        *   SW: (x0,y1)
+        *   S:  ((x0+x1)/2,y1)
+        *   SE: (x1,y1)</pre>
+        */
+       /// TODO anchors
+       enum Gravity {NW,N,NE,W,C,E,SW,S,SE};
+       /// where to position when space is too small
+       enum Fitting {F_ASIS, INSIDE, OUTSIDE, FORCE_INSIDE, FORCE_OUTSIDE};
+       /// vertical align
+       enum VAlign {V_ASIS, TOP, MIDDLE, BOTTOM};
+       /// horizontal align
+       enum Align {A_ASIS, LEFT, CENTER, RIGHT};
+       /// dimensions, what else
+       Dimensions dimensions;
+       /// constructor
+       SvgTxtTheme(fs::path const& themeFile, double factor = 1.0);
+       /// draws text with alpha
+       void draw(std::vector<TZoomText>& _text, bool lyrics = false);
+       /// draw text with alpha
+       void draw(std::string _text);
+       /// sets highlight
+       void setHighlight(fs::path const& themeFile);
+       /// width
+       double w() const { return m_texture_width; }
+       /// height
+       double h() const { return m_texture_height; }
+       /// set align
+       void setAlign(Align align) { m_align = align; }
+
+private:
+       std::vector<std::unique_ptr<OpenGLText>> m_opengl_text;
+       Align m_align;
+       double m_x;
+       double m_y;
+       double m_width;
+       double m_height;
+       double m_factor;
+       double m_texture_width;
+       double m_texture_height;
+       std::string m_cache_text;
+       TextStyle m_text;
+       TextStyle m_text_highlight;
+};
+
diff --git a/game/pitch.cc b/game/pitch.cc
new file mode 100644 (file)
index 0000000..7ebf35d
--- /dev/null
@@ -0,0 +1,234 @@
+#include "pitch.hh"
+
+#include "util.hh"
+#include "libda/fft.hpp"
+#include <cmath>
+#include <iostream>
+#include <iomanip>
+#include <stdexcept>
+
+// Limit the range to avoid noise and useless computation
+static const double FFT_MINFREQ = 45.0;
+static const double FFT_MAXFREQ = 5000.0;
+
+Tone::Tone():
+  freq(0.0),
+  db(-getInf()),
+  stabledb(-getInf()),
+  age()
+{
+       for (auto& h: harmonics) h = -getInf();
+}
+
+void Tone::print() const {
+       if (age < Tone::MINAGE) return;
+       std::cout << std::fixed << std::setprecision(1) << freq << " Hz, age " << age << ", " << db << " dB:";
+       for (std::size_t i = 0; i < 8; ++i) std::cout << " " << harmonics[i];
+       std::cout << std::endl;
+}
+
+bool Tone::operator==(double f) const {
+       return std::abs(freq / f - 1.0) < 0.05;
+}
+
+Analyzer::Analyzer(double rate, std::string id, std::size_t step):
+  m_step(step),
+  m_resampleFactor(1.0),
+  m_resamplePos(),
+  m_rate(rate),
+  m_id(id),
+  m_window(FFT_N),
+  m_fftLastPhase(FFT_N / 2),
+  m_peak(0.0),
+  m_oldfreq(0.0)
+{
+       if (m_step > FFT_N) throw std::logic_error("Analyzer step is larger that FFT_N (ideally it should be less than a fourth of FFT_N).");
+       // Hamming window
+       for (size_t i=0; i < FFT_N; i++) {
+               m_window[i] = 0.53836 - 0.46164 * std::cos(TAU * i / (FFT_N - 1));
+       }
+}
+
+void Analyzer::output(float* begin, float* end, double rate) {
+       constexpr unsigned a = 2;
+       const unsigned size = m_passthrough.size();
+       const unsigned out = (end - begin) / 2 /* stereo */;
+       if (out == 0) return;
+       const unsigned in = m_resampleFactor * (m_rate / rate) * out + 2 * a /* lanczos kernel */ + 5 /* safety margin for rounding errors */;
+       float pcm[m_passthrough.capacity];
+       m_passthrough.read(pcm, pcm + in + 4);
+       for (unsigned i = 0; i < out; ++i) {
+               double s = 0.0;
+               unsigned k = m_resamplePos;
+               double x = m_resamplePos - k;
+               // Lanczos sampling of input at m_resamplePos
+               for (unsigned j = 0; j <= 2 * a; ++j) s += pcm[k + j] * da::lanc<a>(x - j + a);
+               s *= 5.0;
+               begin[i * 2] += s;
+               begin[i * 2 + 1] += s;
+               m_resamplePos += m_resampleFactor;
+       }
+       unsigned num = m_resamplePos;
+       m_resamplePos -= num;
+       if (size > 3000) {
+               // Reset
+               m_passthrough.pop(m_passthrough.size() - 700);
+               m_resampleFactor = 1.0;
+       } else {
+               m_passthrough.pop(num);
+               m_resampleFactor = 0.99 * m_resampleFactor + 0.01 * (size > 700 ? 1.02 : 0.98);
+       }
+}
+
+
+namespace {
+       struct Peak {
+               double freq;
+               double db;
+               bool harm[Tone::MAXHARM];
+               Peak(double _freq = 0.0, double _db = -getInf()):
+                 freq(_freq), db(_db)
+               {
+                       for (auto& h: harm) h = false;
+               }
+               void clear() {
+                       freq = 0.0;
+                       db = -getInf();
+               }
+       };
+
+       Peak& match(std::vector<Peak>& peaks, std::size_t pos) {
+               std::size_t best = pos;
+               if (peaks[pos - 1].db > peaks[best].db) best = pos - 1;
+               if (peaks[pos + 1].db > peaks[best].db) best = pos + 1;
+               return peaks[best];
+       }
+}
+
+bool Analyzer::calcFFT() {
+       float pcm[FFT_N];
+       // Read FFT_N samples, move forward by m_step samples
+       if (!m_buf.read(pcm, pcm + FFT_N)) return false;
+       m_buf.pop(m_step);
+       // Peak level calculation of the most recent m_step samples (the rest is overlap)
+       for (float const* ptr = pcm + FFT_N - m_step; ptr != pcm + FFT_N; ++ptr) {
+               float s = *ptr;
+               float p = s * s;
+               if (p > m_peak) m_peak = p; else m_peak *= 0.999;
+       }
+       // Calculate FFT
+       m_fft = da::fft<FFT_P>(pcm, m_window);
+       return true;
+}
+
+void Analyzer::calcTones() {
+       // Precalculated constants
+       const double freqPerBin = m_rate / FFT_N;
+       const double phaseStep = TAU * m_step / FFT_N;
+       const double normCoeff = 1.0 / FFT_N;
+       const double minMagnitude = pow(10, -100.0 / 20.0) / normCoeff; // -100 dB
+       // Limit frequency range of processing
+       const size_t kMin = std::max(size_t(1), size_t(FFT_MINFREQ / freqPerBin));
+       const size_t kMax = std::min(FFT_N / 2, size_t(FFT_MAXFREQ / freqPerBin));
+       std::vector<Peak> peaks(kMax + 1); // One extra to simplify loops
+       for (size_t k = 1; k <= kMax; ++k) {
+               double magnitude = std::abs(m_fft[k]);
+               double phase = std::arg(m_fft[k]);
+               // process phase difference
+               double delta = phase - m_fftLastPhase[k];
+               m_fftLastPhase[k] = phase;
+               delta -= k * phaseStep;  // subtract expected phase difference
+               delta = std::remainder(delta, TAU);  // map delta phase into +/- pi interval
+               delta /= phaseStep;  // calculate diff from bin center frequency
+               double freq = (k + delta) * freqPerBin;  // calculate the true frequency
+               if (freq > 1.0 && magnitude > minMagnitude) {
+                       peaks[k].freq = freq;
+                       peaks[k].db = 20.0 * log10(normCoeff * magnitude);
+               }
+       }
+       // Prefilter peaks
+       double prevdb = peaks[0].db;
+       for (size_t k = 1; k < kMax; ++k) {
+               double db = peaks[k].db;
+               if (db > prevdb) peaks[k - 1].clear();
+               if (db < prevdb) peaks[k].clear();
+               prevdb = db;
+       }
+       // Find the tones (collections of harmonics) from the array of peaks
+       tones_t tones;
+       for (size_t k = kMax - 1; k >= kMin; --k) {
+               if (peaks[k].db < -70.0) continue;
+               // Find the best divider for getting the fundamental from peaks[k]
+               std::size_t bestDiv = 1;
+               int bestScore = 0;
+               for (std::size_t div = 2; div <= Tone::MAXHARM && k / div > 1; ++div) {
+                       double freq = peaks[k].freq / div; // Fundamental
+                       int score = 0;
+                       for (std::size_t n = 1; n < div && n < 8; ++n) {
+                               Peak& p = match(peaks, k * n / div);
+                               --score;
+                               if (p.db < -90.0 || std::abs(p.freq / n / freq - 1.0) > .03) continue;
+                               if (n == 1) score += 4; // Extra for fundamental
+                               score += 2;
+                       }
+                       if (score > bestScore) {
+                               bestScore = score;
+                               bestDiv = div;
+                       }
+               }
+               // Construct a Tone by combining the fundamental frequency (freq) and all harmonics
+               Tone t;
+               std::size_t count = 0;
+               double freq = peaks[k].freq / bestDiv;
+               t.db = peaks[k].db;
+               for (std::size_t n = 1; n <= bestDiv; ++n) {
+                       // Find the peak for n'th harmonic
+                       Peak& p = match(peaks, k * n / bestDiv);
+                       if (std::abs(p.freq / n / freq - 1.0) > .03) continue; // Does it match the fundamental freq?
+                       if (p.db > t.db - 10.0) {
+                               t.db = std::max(t.db, p.db);
+                               ++count;
+                               t.freq += p.freq / n;
+                       }
+                       t.harmonics[n - 1] = p.db;
+                       p.clear();
+               }
+               t.freq /= count;
+               // If the tone seems strong enough, add it (-3 dB compensation for each harmonic)
+               if (t.db > -50.0 - 3.0 * count) {
+                       t.stabledb = t.db;
+                       tones.push_back(t);
+               }
+       }
+       mergeWithOld(tones);
+       m_tones.swap(tones);
+}
+
+void Analyzer::mergeWithOld(tones_t& tones) const {
+       tones.sort();
+       auto it = tones.begin();
+       // Iterate over old tones
+       for (auto const& old: m_tones) {
+               // Try to find a matching new tone
+               while (it != tones.end() && *it < old) ++it;
+               // If match found
+               if (it != tones.end() && *it == old) {
+                       // Merge the old tone into the new tone
+                       it->age = old.age + 1;
+                       it->stabledb = 0.8 * old.stabledb + 0.2 * it->db;
+                       it->freq = 0.5 * old.freq + 0.5 * it->freq;
+               } else if (old.db > -80.0) {
+                       // Insert a decayed version of the old tone into new tones
+                       Tone& t = *tones.insert(it, old);
+                       t.db -= 5.0;
+                       t.stabledb -= 0.1;
+               }
+       }
+}
+
+void Analyzer::process() {
+       // Try calculating FFT and calculate tones until no more data in input buffer
+       while (calcFFT()) calcTones();
+}
+
+
diff --git a/game/pitch.hh b/game/pitch.hh
new file mode 100644 (file)
index 0000000..e541127
--- /dev/null
@@ -0,0 +1,136 @@
+#pragma once
+
+#include <atomic>
+#include <complex>
+#include <vector>
+#include <list>
+#include <algorithm>
+#include <cmath>
+
+/// struct to represent tones
+struct Tone {
+       static const std::size_t MAXHARM = 48; ///< The maximum number of harmonics tracked
+       static const std::size_t MINAGE = 2; ///< The minimum age required for a tone to be output
+       double freq; ///< Frequency (Hz)
+       double db; ///< Level (dB)
+       double stabledb; ///< Stable level, useful for graphics rendering
+       double harmonics[MAXHARM]; ///< Harmonics' levels
+       std::size_t age; ///< How many times the tone has been detected in row
+       Tone();
+       void print() const; ///< Prints Tone to std::cout
+       bool operator==(double f) const; ///< Compare for rough frequency match
+       /// Less-than compare by levels (instead of frequencies like operator< does)
+       static bool dbCompare(Tone const& l, Tone const& r) { return l.db < r.db; }
+};
+
+static inline bool operator==(Tone const& lhs, Tone const& rhs) { return lhs == rhs.freq; }
+static inline bool operator!=(Tone const& lhs, Tone const& rhs) { return !(lhs == rhs); }
+static inline bool operator<=(Tone const& lhs, Tone const& rhs) { return lhs.freq < rhs.freq || lhs == rhs; }
+static inline bool operator>=(Tone const& lhs, Tone const& rhs) { return lhs.freq > rhs.freq || lhs == rhs; }
+static inline bool operator<(Tone const& lhs, Tone const& rhs) { return lhs.freq < rhs.freq && lhs != rhs; }
+static inline bool operator>(Tone const& lhs, Tone const& rhs) { return lhs.freq > rhs.freq && lhs != rhs; }
+
+static const unsigned FFT_P = 10;
+static const std::size_t FFT_N = 1 << FFT_P;
+
+/// Lock-free ring buffer. Discards oldest data on overflow (not strictly thread-safe).
+template <size_t SIZE> class RingBuffer {
+public:
+       constexpr static size_t capacity = SIZE;
+       RingBuffer(): m_read(), m_write() {}  ///< Initialize empty buffer
+       template <typename InIt> void insert(InIt begin, InIt end) {
+               unsigned r = m_read;  // The read position
+               unsigned w = m_write;  // The write position
+               bool overflow = false;
+               while (begin != end) {
+                       m_buf[w] = *begin++;  // Copy sample
+                       w = modulo(w + 1);  // Update cursor
+                       if (w == r) overflow = true;
+               }
+               m_write = w;
+               if (overflow) m_read = modulo(w + 1);  // Reset read pointer on overflow
+       }
+       /// Read data from current position if there is enough data to fill the range (otherwise return false). Does not move read pointer.
+       template <typename OutIt> bool read(OutIt begin, OutIt end) {
+               unsigned r = m_read;
+               if (modulo(m_write - r) <= end - begin) return false;  // Not enough audio available
+               while (begin != end) *begin++ = m_buf[r++ % SIZE];  // Copy audio to output iterator
+               return true;
+       }
+       void pop(unsigned n) { m_read = modulo(m_read + n); } ///< Move reading pointer forward.
+       unsigned size() const { return modulo(m_write - m_read); }
+private:
+       static unsigned modulo(unsigned idx) { return (SIZE + idx) % SIZE; }  ///< Modulo operation with proper rounding (handles slightly "negative" idx as well)
+       float m_buf[SIZE];
+       // The indices of the next read/write operations. read == write implies that buffer is empty.
+       std::atomic<unsigned> m_read{ 0 };
+       std::atomic<unsigned> m_write{ 0 };
+};
+
+/// analyzer class
+ /** class to analyze input audio and transform it into useable data
+ */
+class Analyzer {
+public:
+       Analyzer(const Analyzer&) = delete;
+       const Analyzer& operator=(const Analyzer&) = delete;
+       /// fast fourier transform vector
+       typedef std::vector<std::complex<float> > fft_t;
+       /// list of tones
+       typedef std::list<Tone> tones_t;
+       /// constructor
+       Analyzer(double rate, std::string id, std::size_t step = 200);
+       /** Add input data to buffer. This is thread-safe (against other functions). **/
+       template <typename InIt> void input(InIt begin, InIt end) {
+               m_buf.insert(begin, end);
+               m_passthrough.insert(begin, end);
+       }
+       /** Call this to process all data input so far. **/
+       void process();
+       /** Get the raw FFT. **/
+       fft_t const& getFFT() const { return m_fft; }
+       /** Get the peak level in dB (negative value, 0.0 = clipping). **/
+       double getPeak() const { return 10.0 * log10(m_peak); }
+       /** Get a list of all tones detected. **/
+       tones_t const& getTones() const { return m_tones; }
+       /** Find a tone within the singing range; prefers strong tones around 200-400 Hz. **/
+       Tone const* findTone(double minfreq = 65.0, double maxfreq = 1000.0) const {
+               if (m_tones.empty()) { m_oldfreq = 0.0; return nullptr; }
+               double db = std::max_element(m_tones.begin(), m_tones.end(), Tone::dbCompare)->db;
+               Tone const* best = nullptr;
+               double bestscore = 0;
+               for (tones_t::const_iterator it = m_tones.begin(); it != m_tones.end(); ++it) {
+                       if (it->db < db - 20.0 || it->freq < minfreq || it->age < Tone::MINAGE) continue;
+                       if (it->freq > maxfreq) break;
+                       double score = it->db - std::max(180.0, std::abs(it->freq - 300.0)) / 10.0;
+                       if (m_oldfreq != 0.0 && std::fabs(it->freq/m_oldfreq - 1.0) < 0.05) score += 10.0;
+                       if (best && bestscore > score) break;
+                       best = &*it;
+                       bestscore = score;
+               }
+               m_oldfreq = (best ? best->freq : 0.0);
+               return best;
+       }
+       /** Give data away for mic pass-through */
+       void output(float* begin, float* end, double rate);
+       /** Returns the id (color name) of the mic */
+       std::string const& getId() const { return m_id; }
+
+private:
+       const std::size_t m_step;
+       RingBuffer<2 * FFT_N> m_buf;  // Twice the FFT size should give enough room for sliding window and for engine delays
+       RingBuffer<4096> m_passthrough;
+       double m_resampleFactor;
+       double m_resamplePos;
+       double m_rate;
+       std::string m_id;
+       std::vector<float> m_window;
+       fft_t m_fft;
+       std::vector<float> m_fftLastPhase;
+       double m_peak;
+       tones_t m_tones;
+       mutable double m_oldfreq;
+       bool calcFFT();
+       void calcTones();
+       void mergeWithOld(tones_t& tones) const;
+};
diff --git a/game/platform.cc b/game/platform.cc
new file mode 100644 (file)
index 0000000..100ecef
--- /dev/null
@@ -0,0 +1,49 @@
+#include "platform.hh"
+#include "fs.hh"
+
+Platform::platforms Platform::currentOS() {
+if (BOOST_OS_WINDOWS != 0) { return windows; }
+else if (BOOST_OS_LINUX != 0) { return linux; }
+else if (BOOST_OS_MACOS != 0) { return macos; }
+else if (BOOST_OS_BSD != 0) { return bsd; }
+else if (BOOST_OS_SOLARIS != 0) { return solaris; }
+else if (BOOST_OS_UNIX != 0) { return unix; }
+}
+
+uint16_t Platform::shortcutModifier(bool eitherSide) {
+       if (currentOS() == macos) { return eitherSide ? KMOD_GUI : KMOD_LGUI; }
+       else { return eitherSide ? KMOD_CTRL : KMOD_LCTRL; }
+}
+
+Platform::Platform() {
+       #if (BOOST_OS_WINDOWS)
+       _putenv_s("FONTCONFIG_PATH",".\\etc\\");
+       #endif
+}
+
+const std::array<const char*,6> Platform::platformNames = {{ "Windows", "Linux", "MacOS", "BSD", "Solaris", "Unix" }}; // Relevant for debug only.
+
+int Platform::defaultBackEnd() {
+               switch (Platform::currentOS()) {
+                       case windows: return 13; // WASAPI
+                       case macos: return 5; // CoreAudio
+                       case solaris: return 7; // OSS
+                       case bsd: return 7; // OSS
+                       case linux: return 8; // ALSA
+                       case unix: return 8; // ALSA
+                       default: break;
+               }
+       throw std::runtime_error("Unable to determine a default Audio backend.");
+}
+
+#if (BOOST_OS_WINDOWS)
+extern "C" {
+// For DWORD (see end of file)
+#include "windef.h"
+// Force high-performance graphics on dual-GPU systems
+       // http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf
+       __declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
+       // https://community.amd.com/thread/169965
+       __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
+}
+#endif
\ No newline at end of file
diff --git a/game/platform.hh b/game/platform.hh
new file mode 100644 (file)
index 0000000..ac4e8dc
--- /dev/null
@@ -0,0 +1,36 @@
+#pragma once
+
+#include "fs.hh"
+#include "log.hh"
+
+#include <array>
+#include <iostream>
+
+#if ((BOOST_VERSION / 100 % 1000) >= 55)
+#include <boost/predef/os.h>
+#else
+#include "../boost_predef/os.h"
+#endif
+
+#include <boost/filesystem.hpp>
+#include <SDL2/SDL_events.h>
+
+#if (BOOST_OS_WINDOWS) 
+#include <sys/types.h>
+#include <sys/stat.h>
+#define _STAT(x, y) _stat(x, y)
+#else
+#include <sys/stat.h>
+#define _STAT(x, y) stat(x, y)
+#endif
+
+struct Platform {
+enum platforms { windows, linux, macos, bsd, solaris, unix };
+Platform();
+static platforms currentOS();
+static uint16_t shortcutModifier(bool eitherSide = true);
+static int defaultBackEnd();
+
+private:
+static const std::array<const char*,6> platformNames;
+};
\ No newline at end of file
diff --git a/game/platform/execname.bsd.inc b/game/platform/execname.bsd.inc
new file mode 100644 (file)
index 0000000..9c537cb
--- /dev/null
@@ -0,0 +1,16 @@
+#include <sys/sysctl.h>
+
+fs::path execname() {
+       int mib[4];
+       mib[0] = CTL_KERN;
+       mib[1] = KERN_PROC;
+       mib[2] = KERN_PROC_PATHNAME;
+       mib[3] = -1;
+       char buf[1024];
+       size_t maxchars = sizeof(buf) - 1;
+       size_t size = maxchars;
+       sysctl(mib, 4, buf, &size, NULL, 0);
+       if (size == 0 || size >= maxchars) return fs::path();
+       buf[size] = '\0';
+       return buf;
+}
\ No newline at end of file
diff --git a/game/platform/execname.mac.inc b/game/platform/execname.mac.inc
new file mode 100644 (file)
index 0000000..2b78811
--- /dev/null
@@ -0,0 +1,9 @@
+#include <mach-o/dyld.h>
+
+fs::path execname() {
+       char buf[1024];
+       uint32_t size = sizeof(buf);
+       int ret = _NSGetExecutablePath(buf, &size);
+       if (ret != 0) return fs::path();
+       return buf;
+}
\ No newline at end of file
diff --git a/game/platform/execname.sun.inc b/game/platform/execname.sun.inc
new file mode 100644 (file)
index 0000000..53a32c3
--- /dev/null
@@ -0,0 +1,5 @@
+#include <stdlib.h>
+
+fs::path execname() {
+       return getexecname();
+}
\ No newline at end of file
diff --git a/game/platform/execname.unix.inc b/game/platform/execname.unix.inc
new file mode 100644 (file)
index 0000000..de5a0d5
--- /dev/null
@@ -0,0 +1,10 @@
+#include <unistd.h>
+
+fs::path execname() {
+       char buf[1024];
+       ssize_t maxchars = sizeof(buf) - 1;
+       ssize_t size = readlink("/proc/self/exe", buf, sizeof(buf));
+       if (size <= 0 || size >= maxchars) return fs::path();
+       buf[size] = '\0';
+       return buf;
+}
\ No newline at end of file
diff --git a/game/platform/execname.win.inc b/game/platform/execname.win.inc
new file mode 100644 (file)
index 0000000..8cd5157
--- /dev/null
@@ -0,0 +1,8 @@
+#include <windows.h>
+
+fs::path execname() {
+       char buf[1024];
+       DWORD ret = GetModuleFileName(NULL, buf, sizeof(buf));
+       if (ret == 0 || ret == sizeof(buf)) return std::string();
+       return buf;
+}
\ No newline at end of file
diff --git a/game/platform/fs_paths.unix.inc b/game/platform/fs_paths.unix.inc
new file mode 100644 (file)
index 0000000..05f7a92
--- /dev/null
@@ -0,0 +1,136 @@
+               // 2. pathBootstrap is called to find out static system paths (critical for logging and for loading config files)
+               void pathBootstrap() {
+                       if (!base.empty()) return;  // Only bootstrap once
+                       // Base (e.g. /usr/local), share (src or installed data files) and locale (built or installed .mo files)
+                       {
+                               char const* root = getenv("PERFORMOUS_ROOT");
+                               base = fs::absolute(root ? root : execname().parent_path());
+                               do {
+                                       if (base.empty()) throw std::runtime_error("Unable to find Performous data files. Install properly or set environment variable PERFORMOUS_ROOT.");
+                                       for (fs::path const& infix: { fs::path(SHARED_DATA_DIR), fs::path("data"), fs::path() }) {
+                                               if (!fs::exists(base / infix / configSchema)) continue;
+                                               share = base / infix;
+                                               goto found;
+                                       }
+                                       // Use locale .mo files from build folder?
+                                       if (base.filename() == "build" && fs::exists(base / "lang")) {
+                                               locale = base / "lang";
+                                       }
+                                       base = base.parent_path();
+                               } while (true);
+                       found:;
+                               if (locale.empty() && fs::exists(base / LOCALEDIR)) locale = base / LOCALEDIR;
+                       }
+                       // System-wide config files
+                       {
+                               sysConf = (Platform::currentOS() == Platform::macos) ? "/Library/Preferences/Performous" : "/etc/xdg/performous";
+                       }
+                       
+                       // Home
+                       {
+                       char const* p = getenv("HOME");
+                               if (p) home = p;
+                       }
+                       
+                       // Config
+                       {
+                               if (Platform::currentOS() == Platform::macos) {
+                                       conf = (home / "Library/Preferences/Performous");
+                               }
+                               else {
+                                       char const* p = getenv("XDG_CONFIG_HOME");
+                                       conf = (p ? p : home / ".config");
+                                       conf /= performous;
+                               }
+                       }
+                       
+                       // Data
+                       {
+                               if (Platform::currentOS() == Platform::macos) {
+                                       data = share;
+                               }
+                               else {
+                               char const* p = getenv("XDG_DATA_HOME");
+                               data = (p ? p / performous : home / ".local" / SHARED_DATA_DIR);
+                               }
+                       }
+                       // Cache
+                       {
+                               if (Platform::currentOS() == Platform::macos) {
+                                       cache = (home / "Library/Caches/Performous"); 
+                               }
+                               else {
+                               char const* p = getenv("XDG_CACHE_HOME");
+                               cache = (p ? p / performous : home / ".cache" / performous);
+                               }
+                       }
+                       pathInit();
+               }
+               
+               /// Initialize/reset data dirs (search path).
+               void pathInit() {
+                       bool bootstrapping = paths.empty();  // The first run (during bootstrap)
+                       if (!bootstrapping) {
+                               std::string logmsg = "fs/info: Found system paths:\n";
+                               logmsg += "  base:     " + base.string() + '\n';
+                               logmsg += "  share:    " + share.string() + '\n';
+                               logmsg += "  locale:   " + locale.string() + '\n';
+                               logmsg += "  sysConf:  " + sysConf.string() + '\n';
+                               logmsg += "  home:     " + home.string() + '\n';
+                               logmsg += "  config:   " + conf.string() + '\n';
+                               logmsg += "  data:     " + data.string() + '\n';
+                               logmsg += "  cache:    " + cache.string() + '\n';
+                               std::clog << logmsg << std::flush;
+                       }
+                               if (Platform::currentOS() == Platform::macos) {
+                               char const* p = getenv("XDG_CONFIG_HOME");
+                               fs::path oldConf = (p ? p : home / ".config/performous");
+                               if (fs::is_directory(oldConf)) {
+                               std::clog << "fs/info: Configuration files found in old path, " << oldConf << std::endl;
+                               conf = (home / "/Library/Preferences/Performous");
+                                       if (bootstrapping) {
+                                               copyDirectoryRecursively(oldConf, conf);
+                                       try {
+                                               fs::remove_all(oldConf);
+                                               fs::path oldCache = (home / ".cache/performous");
+                                               fs::remove_all(oldCache);
+                                               didMigrateConfig = true;
+                                       }
+                                       catch (...) {
+                                               throw std::runtime_error("There was an error migrating configuration to " + conf.string());
+                                       }
+                                       }
+                               }
+                               if (didMigrateConfig) { std::clog << "fs/info: Succesfully moved configuration files to their new location: " << conf.string() << std::endl; }
+                               }
+                       // Data dirs
+                       std::string logmsg = "fs/info: Determining data dirs (search path):\n";
+                       {
+                               Paths dirs;
+                               dirs.push_back(data);  // Adding user's data dir
+                               dirs.push_back(share);  // Adding system data dir (relative to performous executable or PERFORMOUS_ROOT)
+                               
+                               // Adding XDG_DATA_DIRS
+                               {
+                                       char const* xdg_data_dirs = getenv("XDG_DATA_DIRS");
+                                       std::istringstream iss(xdg_data_dirs ? xdg_data_dirs : "/usr/local/share/:/usr/share/");
+                                       for (std::string p; std::getline(iss, p, ':'); dirs.push_back(p / performous)) {}
+                               }
+                               // Adding paths from config file (during bootstrap config options are not yet available)
+                               if (!bootstrapping) {
+                                       auto const& conf = config["paths/system"].sl();
+                                       for (std::string const& dir: conf) dirs.splice(dirs.end(), pathExpand(dir));
+                               }
+                               // Check if they actually exist and print debug
+                               paths.clear();
+                               std::set<fs::path> used;
+                               for (auto dir: dirs) {
+                                       dir = fs::absolute(dir);
+                                       if (used.find(dir) != used.end()) continue;
+                                       logmsg += "  " + dir.string() + '\n';
+                                       paths.push_back(dir);
+                                       used.insert(dir);
+                               }
+                       }
+                       if (!bootstrapping) std::clog << logmsg << std::flush;
+               }
\ No newline at end of file
diff --git a/game/platform/fs_paths.win.inc b/game/platform/fs_paths.win.inc
new file mode 100644 (file)
index 0000000..7658287
--- /dev/null
@@ -0,0 +1,92 @@
+               // 2. pathBootstrap is called to find out static system paths (critical for logging and for loading config files)
+               void pathBootstrap() {
+                       if (!base.empty()) return;  // Only bootstrap once
+                       // Base (e.g. /usr/local), share (src or installed data files) and locale (built or installed .mo files)
+                       {
+                               char const* root = getenv("PERFORMOUS_ROOT");
+                               base = fs::absolute(root ? root : execname().parent_path());
+                               do {
+                                       if (base.empty()) throw std::runtime_error("Unable to find Performous data files. Install properly or set environment variable PERFORMOUS_ROOT.");
+                                       for (fs::path const& infix: { fs::path(SHARED_DATA_DIR), fs::path("data"), fs::path() }) {
+                                               if (!fs::exists(base / infix / configSchema)) continue;
+                                               share = base / infix;
+                                               goto found;
+                                       }
+                                       // Use locale .mo files from build folder?
+                                       if (base.filename() == "build" && fs::exists(base / "lang")) {
+                                               locale = base / "lang";
+                                       }
+                                       base = base.parent_path();
+                               } while (true);
+                       found:;
+                               if (locale.empty() && fs::exists(base / LOCALEDIR)) locale = base / LOCALEDIR;
+                       }
+                       // System-wide config files
+                       {
+                               sysConf = execname().parent_path() / "config";
+                       }
+                       // Home
+                       {
+                       char const* p = getenv("USERPROFILE");
+                               if (p) home = p;
+                       }
+                       // Config
+                       {
+                               ITEMIDLIST* pidl;
+                               HRESULT hRes = SHGetSpecialFolderLocation(nullptr, CSIDL_APPDATA|CSIDL_FLAG_CREATE, &pidl);
+                               if (hRes != NOERROR) throw std::runtime_error("Unable to determine where Application Data is stored");
+                               char p[MAX_PATH];
+                               SHGetPathFromIDList(pidl, p);
+                               conf = p;
+                               conf /= performous;
+                       }
+                       // Data
+                       {
+                               data = conf;
+                       }
+                       // Cache
+                       {
+                               cache = data / "cache";  // FIXME: Should we use GetTempPath?
+                       }
+                       pathInit();
+               }
+               /// Initialize/reset data dirs (search path).
+               void pathInit() {
+                       bool bootstrapping = paths.empty();  // The first run (during bootstrap)
+                       if (!bootstrapping) {
+                               std::string logmsg = "fs/info: Found system paths:\n";
+                               logmsg += "  base:     " + base.string() + '\n';
+                               logmsg += "  share:    " + share.string() + '\n';
+                               logmsg += "  locale:   " + locale.string() + '\n';
+                               logmsg += "  sysConf:  " + sysConf.string() + '\n';
+                               logmsg += "  home:     " + home.string() + '\n';
+                               logmsg += "  config:   " + conf.string() + '\n';
+                               logmsg += "  data:     " + data.string() + '\n';
+                               logmsg += "  cache:    " + cache.string() + '\n';
+                               std::clog << logmsg << std::flush;
+                       }
+                       // Data dirs
+                       std::string logmsg = "fs/info: Determining data dirs (search path):\n";
+                       {
+                               Paths dirs;
+                               dirs.push_back(data);  // Adding user's data dir
+                               dirs.push_back(share);  // Adding system data dir (relative to performous executable or PERFORMOUS_ROOT)
+
+                               // Adding paths from config file (during bootstrap config options are not yet available)
+                               if (!bootstrapping) {
+                                       auto const& conf = config["paths/system"].sl();
+                                       for (std::string const& dir: conf) dirs.splice(dirs.end(), pathExpand(dir));
+                               }
+                               // Check if they actually exist and print debug
+                               paths.clear();
+                               std::set<fs::path> used;
+                               for (auto dir: dirs) {
+                                       dir = fs::absolute(dir);
+                                       if (used.find(dir) != used.end()) continue;
+                                       logmsg += "  " + dir.string() + '\n';
+                                       paths.push_back(dir);
+                                       used.insert(dir);
+                               }
+                       }
+                       if (!bootstrapping) std::clog << logmsg << std::flush;
+               }
\ No newline at end of file
diff --git a/game/player.cc b/game/player.cc
new file mode 100644 (file)
index 0000000..69aff10
--- /dev/null
@@ -0,0 +1,85 @@
+#include "player.hh"
+#include "song.hh"
+#include "engine.hh" // just for Engine::TIMESTEP
+
+
+Player::Player(VocalTrack& vocal, Analyzer& analyzer, size_t frames):
+         m_vocal(vocal), m_analyzer(analyzer), m_pitch(frames, std::make_pair(getNaN(),
+         -getInf())), m_pos(), m_score(), m_noteScore(), m_lineScore(), m_maxLineScore(),
+         m_prevLineScore(-1), m_feedbackFader(0.0, 2.0), m_activitytimer(),
+         m_scoreIt(m_vocal.notes.begin())
+{
+       // Initialize note powers
+       for (Notes::const_iterator it = m_vocal.notes.begin(); it != m_vocal.notes.end(); ++it) it->power = 0.0f;
+       // Assign colors
+       m_color = MicrophoneColor::get(m_analyzer.getId());
+}
+
+void Player::update() {
+       if (m_pos == m_pitch.size()) return; // End of song already
+       double beginTime = Engine::TIMESTEP * m_pos;
+       // Get the currently sung tone and store it in player's pitch data (also control inactivity timer)
+       Tone const* t = m_analyzer.findTone();
+       if (t) {
+               m_activitytimer = 1000;
+               m_pitch[m_pos++] = std::make_pair(t->freq, t->stabledb);
+       } else {
+               if (m_activitytimer > 0) --m_activitytimer;
+               m_pitch[m_pos++] = std::make_pair(getNaN(), -getInf());
+       }
+       double endTime = Engine::TIMESTEP * m_pos;
+       // Iterate over all the notes that are considered for this timestep
+       while (m_scoreIt != m_vocal.notes.end()) {
+               if (endTime < m_scoreIt->begin) break;  // The note begins later than on this timestep
+               // If tone was detected, calculate score
+               m_scoreIt->power *= std::pow(0.05, m_scoreIt->clampDuration(beginTime, endTime));  // Fade glow
+               if (t) {
+                       double note = MusicalScale(m_vocal.scale).setFreq(t->freq).getNote();
+                       // Add score
+                       double score_addition = m_vocal.m_scoreFactor * m_scoreIt->score(note, beginTime, endTime);
+                       m_score += score_addition;
+                       m_noteScore += score_addition;
+                       m_lineScore += score_addition;
+                       // Add power if already on the note
+                       m_scoreIt->power = std::max(m_scoreIt->power, m_scoreIt->powerFactor(note));
+               }
+               // If a row of lyrics ends, calculate how well it went
+               if (m_scoreIt->type == Note::SLEEP) {
+                       calcRowRank();
+               } else {
+                       m_maxLineScore = 0; // Not in SLEEP note anymore, so reset maximum
+               }
+               if (endTime < m_scoreIt->end) break;  // The note continues past this timestep
+               // Check if we got a star
+               if ((m_scoreIt->type == Note::NORMAL || m_scoreIt->type == Note::SLIDE || m_scoreIt->type == Note::GOLDEN)
+                 && (m_noteScore / m_vocal.m_scoreFactor / m_scoreIt->maxScore() > 0.8)) {
+                       m_scoreIt->stars.push_back(m_color);
+               }
+               m_noteScore = 0; // Reset noteScore as we are moving on to the next one
+               m_scoreIt->power = 0.0; // Remove glow
+               ++m_scoreIt;
+       }
+       if (m_scoreIt == m_vocal.notes.end()) calcRowRank();
+       m_score = clamp(m_score, 0.0, 1.0);
+}
+
+void Player::calcRowRank() {
+       if (m_maxLineScore == 0) { // Has the maximum already been calculated for this SLEEP?
+               m_prevLineScore = m_lineScore;
+               // Calculate max score of the completed row
+               Notes::const_reverse_iterator maxScoreIt(m_scoreIt);
+               // NOTE: MacOSX needs the following cast to compile correctly
+               // it is related to the fact that OSX default compiler is 4.0.1 that is buggy when not casting
+               while ((maxScoreIt != static_cast<Notes::const_reverse_iterator>(m_vocal.notes.rend())) && (maxScoreIt->type != Note::SLEEP)) {
+                       m_maxLineScore += m_vocal.m_scoreFactor * maxScoreIt->maxScore();
+                       maxScoreIt++;
+               }
+               if (m_maxLineScore > 0) {
+                       m_prevLineScore /= m_maxLineScore;
+                       m_feedbackFader.setValue(1.0);
+               } else {
+                       m_prevLineScore = -1;
+               }
+               m_lineScore = 0;
+       }
+}
diff --git a/game/player.hh b/game/player.hh
new file mode 100644 (file)
index 0000000..8a6a41d
--- /dev/null
@@ -0,0 +1,94 @@
+#pragma once
+#include "color.hh"
+#include "fs.hh"
+#include "pitch.hh"
+#include "notes.hh"
+#include "animvalue.hh"
+
+#include <string>
+#include <vector>
+#include <utility>
+
+class Song;
+
+/// player class
+struct Player {
+       /// currently played vocal track
+       VocalTrack& m_vocal;
+       /// sound analyzer
+       Analyzer& m_analyzer;
+       /// player color for bars, waves, scores
+       Color m_color;
+       /// typedef for pitch
+       typedef std::vector<std::pair<double, double> > pitch_t;
+       /// player's pitch
+       pitch_t m_pitch;
+       /// current position in pitch vector (first unused spot)
+       size_t m_pos;
+       /// score for current song
+       double m_score;
+       /// score for current note
+       double m_noteScore;
+       /// score for current line
+       double m_lineScore;
+       /// maximum score for the previous line
+       double m_maxLineScore;
+       /// score for the previous line (normalized [0,1])
+       double m_prevLineScore;
+       /// fader for text feedback display
+       AnimValue m_feedbackFader;
+       /// activity timer
+       unsigned m_activitytimer;
+       /// score iterator
+       Notes::const_iterator m_scoreIt;
+       /// constructor
+       Player(VocalTrack& vocal, Analyzer& analyzer, size_t frames);
+       /// prepares analyzer
+       void prepare() { m_analyzer.process(); }
+       /// updates player stats
+       void update();
+       /// calculate how well last lyrics row went
+       void calcRowRank();
+       /// player activity singing
+       float activity() const { return m_activitytimer / 300.0; }
+       /// get player's score
+       int getScore() const {
+               return 10000.0 * m_score;
+       }
+       /**Operator for sorting by score.*/
+       bool operator < (Player const& other) const
+       {
+               return other.m_score < m_score;
+       }
+};
+
+/** Static Information of a player, not
+  dependent from current song.
+
+  Used for Players Management.
+  */
+struct PlayerItem {
+       int id; ///< unique identifier for this PlayerItem, Link to hiscore
+
+       std::string name; ///< name displayed and used for searching the player
+       fs::path picture; ///< the filename which was passed from xml (and is written back)
+       fs::path path; ///< a full path to a picture shown, generated from picture above
+/* Future ideas
+       std::string displayedName; /// artist name, short name, nick (can be changed)
+       std::map<std::string, int> scores; /// map between a Song and the highest score the Player achieved
+*/
+
+       /**For insertion in set.
+        Provides ordering and ensures id is unique.*/
+       bool operator< (PlayerItem const& pi) const
+       {
+               return id < pi.id;
+       }
+
+       /**Checks if a player has the same name.
+         Used to find a PlayerItem with the same name.*/
+       bool operator== (PlayerItem const& pi) const
+       {
+               return name == pi.name;
+       }
+};
diff --git a/game/players.cc b/game/players.cc
new file mode 100644 (file)
index 0000000..88fa2a3
--- /dev/null
@@ -0,0 +1,150 @@
+#include "players.hh"
+#include "unicode.hh"
+
+#include "configuration.hh"
+#include "fs.hh"
+#include "libxml++-impl.hh"
+
+#include <algorithm>
+#include <regex>
+#include <unicode/stsearch.h>
+
+UErrorCode Players::m_icuError = U_ZERO_ERROR;
+
+Players::Players():
+       m_players(),
+       m_filtered(),
+       m_filter(),
+       math_cover(),
+       m_dirty(false)
+{}
+
+Players::~Players() {}
+
+void Players::load(xmlpp::NodeSet const& n) {
+       for (auto const& elem: n) {
+               xmlpp::Element& element = dynamic_cast<xmlpp::Element&>(*elem);
+               xmlpp::Attribute* a_name = element.get_attribute("name");
+               if (!a_name) throw PlayersException("Attribute name not found");
+               xmlpp::Attribute* a_id = element.get_attribute("id");
+               if (!a_id) throw PlayersException("Attribute id not found");
+               int id = -1;
+               try { id = std::stoi(a_id->get_value()); } catch (std::exception&) { }
+               xmlpp::NodeSet n2 = element.find("picture");
+               std::string picture;
+               if (!n2.empty()) // optional picture element
+               {
+                       auto tn = xmlpp::get_first_child_text(dynamic_cast<xmlpp::Element&>(**n2.begin()));
+                       picture = tn->get_content();
+               }
+               addPlayer(a_name->get_value(), picture, id);
+       }
+       filter_internal();
+}
+
+void Players::save(xmlpp::Element *players) {
+       for (auto const& p: m_players) {
+               xmlpp::Element* player = xmlpp::add_child_element(players, "player");
+               player->set_attribute("name", p.name);
+               player->set_attribute("id", std::to_string(p.id));
+               if (p.picture != "")
+               {
+                       xmlpp::Element* picture = xmlpp::add_child_element(player, "picture");
+                       picture->add_child_text(p.picture.string());
+               }
+       }
+}
+
+void Players::update() {
+       if (m_dirty) filter_internal();
+}
+
+int Players::lookup(std::string const& name) const {
+       for (auto const& p: m_players) {
+               if (p.name == name) return p.id;
+       }
+
+       return -1;
+}
+
+std::string Players::lookup(int id) const {
+       PlayerItem pi;
+       pi.id = id;
+       auto it = m_players.find(pi);
+       if (it == m_players.end()) return "Unknown Player";
+       else return it->name;
+}
+
+void Players::addPlayer (std::string const& name, std::string const& picture, int id) {
+       PlayerItem pi;
+       pi.id = id;
+       pi.name = name;
+       pi.picture = picture;
+       pi.path = "";
+
+
+       if (pi.id == -1) pi.id = assign_id_internal();
+
+       if (pi.picture != "") // no picture, so don't search path
+       {
+               try {
+                       pi.path =  findFile(fs::path("pictures") / pi.picture);
+               } catch (std::runtime_error const& e)
+               {
+                       std::cerr << e.what() << std::endl;
+               }
+       }
+
+       m_dirty = true;
+       std::pair<players_t::iterator, bool> ret = m_players.insert(pi);
+       if (!ret.second)
+       {
+               pi.id = assign_id_internal();
+               m_players.insert(pi); // now do the insert with the fresh id
+       }
+}
+
+void Players::setFilter(std::string const& val) {
+       if (m_filter == val) return;
+       m_filter = val;
+       filter_internal();
+}
+
+int Players::assign_id_internal() {
+       auto it = m_players.rbegin();
+       if (it != m_players.rend()) return it->id+1;
+       else return 1; // empty set
+}
+
+void Players::filter_internal() {
+       m_dirty = false;
+       PlayerItem selection = current();
+
+       try {
+               fplayers_t filtered;
+               if (m_filter == std::string()) filtered = fplayers_t(m_players.begin(), m_players.end());
+               else {
+                       icu::UnicodeString filter = icu::UnicodeString::fromUTF8(m_filter);
+                       std::copy_if (m_players.begin(), m_players.end(), std::back_inserter(filtered), [&](PlayerItem it){
+                       icu::StringSearch search = icu::StringSearch(filter, icu::UnicodeString::fromUTF8(it.name), &UnicodeUtil::m_dummyCollator, nullptr, m_icuError);
+                       return (search.first(m_icuError) != USEARCH_DONE);
+                       });
+               }
+//             for (auto const& p: m_players) {
+//                     if (regex_search(p.name, std::regex(m_filter, std::regex_constants::icase))) filtered.push_back(p);
+//             }
+               m_filtered.swap(filtered);
+       } catch (...) {
+               fplayers_t(m_players.begin(), m_players.end()).swap(m_filtered);  // Invalid regex => copy everything
+       }
+       math_cover.reset();
+
+       // Restore old selection
+       int pos = 0;
+       if (selection.name != "") {
+               auto it = std::find(m_filtered.begin(), m_filtered.end(), selection);
+               math_cover.setTarget(0, 0);
+               if (it != m_filtered.end()) pos = it - m_filtered.begin();
+       }
+       math_cover.setTarget(pos, size());
+}
diff --git a/game/players.hh b/game/players.hh
new file mode 100644 (file)
index 0000000..31e9bd9
--- /dev/null
@@ -0,0 +1,110 @@
+#pragma once
+
+#include <set>
+#include <list>
+#include <vector>
+#include <string>
+#include <stdexcept>
+
+#include <unicode/tblcoll.h>
+#include <unicode/unistr.h>
+#include <unicode/utypes.h>
+
+#include "player.hh"
+#include "animvalue.hh"
+#include "libxml++.hh"
+
+/**Exception which will be thrown when loading or
+  saving Players fails.*/
+struct PlayersException: public std::runtime_error {
+       PlayersException (std::string const& msg) :
+               runtime_error(msg)
+       {}
+};
+
+/**A collection of all Players.
+
+ The current players plugged in a song can
+ be retrieved with Engine::getPlayers().
+
+ There are 3 different views united in that collection.
+ There is a full players list which are used by the
+ database, but also for the filtering.
+
+ The filtered list is used to show players in
+ the screen_players.
+ */
+class Players {
+  private:
+       typedef std::set<PlayerItem> players_t;
+       typedef std::vector<PlayerItem> fplayers_t;
+
+  private:
+       players_t m_players;
+       fplayers_t m_filtered;
+
+       std::string m_filter;
+       AnimAcceleration math_cover;
+
+       bool m_dirty;
+
+  public:
+       Players(const Players&) = delete;
+       const Players& operator=(const Players&) = delete;
+       Players();
+       ~Players();
+
+       void load(xmlpp::NodeSet const& n);
+       void save(xmlpp::Element *players);
+
+       void update();
+
+       /// lookup a playerid using the players name
+       int lookup(std::string const& name) const;
+
+       /** lookup a players name using the playerid.
+         @return the players name or "Unknown Player"
+         */
+       std::string lookup(int id) const;
+
+       /// add a player with a displayed name and an optional picture; if no id is given one will be assigned
+       void addPlayer (std::string const& name, std::string const& picture = "", int id = -1);
+
+       /// const array access
+       PlayerItem operator[](std::size_t pos) const {
+               if (pos < m_filtered.size()) return m_filtered[pos];
+               else return PlayerItem();
+       }
+       /// number of songs
+       size_t size() const { return m_filtered.size(); };
+       /// true if empty
+       int empty() const { return m_filtered.empty(); };
+       /// advances to next player
+       void advance(int diff) {
+               int size = m_filtered.size();
+               if (size == 0) return;  // Do nothing if no songs are available
+               int _current = size ? (int(math_cover.getTarget()) + diff) % size : 0;
+               if (_current < 0) _current += m_filtered.size();
+               math_cover.setTarget(_current,this->size());
+       }
+       /// get current id
+       int currentId() const { return math_cover.getTarget(); }
+       /// gets current position
+       double currentPosition() { return math_cover.getValue(); }
+       /// gets current velocity
+       double currentVelocity() const { return math_cover.getVelocity(); }
+       /// sets margins for animation
+       void setAnimMargins(double left, double right) { math_cover.setMargins(left, right); }
+       /// @return current PlayerItem (the copy is very cheap at the moment)
+       PlayerItem current() const {
+               if (math_cover.getTarget() < m_filtered.size()) return m_filtered[math_cover.getTarget()];
+               else return PlayerItem();
+       }
+       /// filters playerlist by regular expression
+       void setFilter(std::string const& regex);
+  private:
+       int assign_id_internal(); /// returns the next available id
+       void filter_internal();
+       static UErrorCode m_icuError;
+       static icu::RuleBasedCollator icuCollator;
+};
diff --git a/game/playlist.cc b/game/playlist.cc
new file mode 100644 (file)
index 0000000..66f9d56
--- /dev/null
@@ -0,0 +1,74 @@
+#include "playlist.hh"
+#include "song.hh"
+#include <algorithm>
+#include <random>
+
+void PlayList::addSong(std::shared_ptr<Song> song) {
+       std::lock_guard<std::mutex> l(m_mutex);
+       m_list.push_back(song);
+}
+
+std::shared_ptr<Song> PlayList::getNext() {
+       std::lock_guard<std::mutex> l(m_mutex);
+       if (isEmpty()) return std::shared_ptr<Song>();
+       std::shared_ptr<Song> nextSong;
+       nextSong = m_list[0];
+       m_list.erase(m_list.begin());
+       currentlyActive = nextSong;
+       return nextSong;
+}
+
+PlayList::SongList& PlayList::getList() {
+       return m_list;
+}
+
+
+bool PlayList::isEmpty() {
+       return m_list.empty();
+}
+
+void PlayList::shuffle() {
+       std::lock_guard<std::mutex> l(m_mutex);
+       std::shuffle(m_list.begin(), m_list.end(), std::mt19937(std::random_device()()));
+}
+
+void PlayList::clear() {
+       std::lock_guard<std::mutex> l(m_mutex);
+       m_list.clear();
+}
+
+void PlayList::removeSong(int index) {
+       std::lock_guard<std::mutex> l(m_mutex);
+       m_list.erase(m_list.begin() + index);
+}
+void PlayList::swap(int index1, int index2) {
+       std::lock_guard<std::mutex> l(m_mutex);
+       std::shared_ptr<Song> song1 = m_list[index1];
+       m_list[index1] = m_list[index2];
+       m_list[index2] = song1;
+}
+void PlayList::setPosition(unsigned int index1, unsigned int index2) {
+       if(index1 != index2) {  
+               int diff = index1 - index2;
+               if(diff > 0) {
+                       // Going to Top
+                       swap(index1, index1 - 1);
+                       setPosition(index1 - 1, index2);
+               } else {
+                       // Going to Bottom
+                       swap(index1, index1 + 1);
+                       setPosition(index1 + 1, index2);
+               } 
+       }
+}
+
+
+std::shared_ptr<Song> PlayList::getSong(int index) {
+       std::lock_guard<std::mutex> l(m_mutex);
+       if (isEmpty()) return std::shared_ptr<Song>();
+       std::shared_ptr<Song> nextSong;
+       nextSong = m_list[index];
+       m_list.erase(m_list.begin() + index);
+       currentlyActive = nextSong;
+       return nextSong;
+}
diff --git a/game/playlist.hh b/game/playlist.hh
new file mode 100644 (file)
index 0000000..6bec185
--- /dev/null
@@ -0,0 +1,44 @@
+
+#pragma once
+
+#include "song.hh"
+#include <memory>
+#include <mutex>
+#include <sstream>
+#include <vector>
+
+class PlayList
+{
+public:
+       //needs function that returns the song properties in a list for display on screen
+
+       typedef std::vector< std::shared_ptr<Song> > SongList;
+
+       /// Adds a new song to the queue
+       void addSong(std::shared_ptr<Song> song);
+       /// Returns the next song and removes it from the queue
+       std::shared_ptr<Song> getNext();
+       /// Returns all currently queued songs
+       SongList& getList();
+       ///array-access should replace getList!!
+       std::shared_ptr<Song> operator[](std::size_t index) { return m_list[index]; }
+       /// Returns true if the queue is empty
+       bool isEmpty();
+       /// Randomizes the order of the playlist
+       void shuffle();
+       ///clears list
+       void clear();
+       ///removes a song
+       void removeSong(int index);
+       /// swaps two songs
+       void swap (int index1, int index2);
+       void setPosition (unsigned int index1, unsigned int index2);
+       /// gets a specific song and removes it from the queue
+       std::shared_ptr<Song> getSong(int index);
+       /// this is for the webserver, to avoid crashing when adding the current playing song
+       std::shared_ptr<Song> currentlyActive;
+private:
+       SongList m_list;
+       mutable std::mutex m_mutex;
+};
+
diff --git a/game/portmidi.hh b/game/portmidi.hh
new file mode 100644 (file)
index 0000000..291ca21
--- /dev/null
@@ -0,0 +1,36 @@
+#pragma once
+
+#include <portmidi.h>
+#include <stdexcept>
+#include <iostream>
+
+namespace pm {
+       struct Initialize {
+               Initialize() { Pm_Initialize(); }
+               ~Initialize() { Pm_Terminate(); }
+       };
+       class Stream {
+       public:
+               operator PortMidiStream*() { return m_handle; }
+               Stream(Stream const&) = delete;
+       protected:
+               PortMidiStream* m_handle;
+               Stream(): m_handle() {}
+               void abort() { Pm_Abort(m_handle); m_handle = nullptr; }
+               ~Stream() { if (m_handle) Pm_Close(m_handle); }
+       };
+
+       class Input: public Stream {
+       public:
+               Input(int devId) {
+                       // Errors must be handled here because otherwise PortMidi will just exit() the program...
+                       if (devId < 0 || devId >= Pm_CountDevices()) throw std::runtime_error("Invalid PortMidi device ID");
+                       PmDeviceInfo const* info = Pm_GetDeviceInfo(devId);
+                       if (!info->input) throw std::runtime_error(std::string(info->name) + ": The PortMidi device is an output device (input device needed)");
+                       if (info->opened) throw std::runtime_error(std::string(info->name) + ": The PortMidi device is already open");
+                       PmError err = Pm_OpenInput(&m_handle, devId, 0, 1024, 0, 0);
+                       if (err) throw std::runtime_error(std::string(info->name) + ": Pm_OpenInput failed");
+               }
+       };
+}
+
diff --git a/game/profiler.hh b/game/profiler.hh
new file mode 100644 (file)
index 0000000..28d8a99
--- /dev/null
@@ -0,0 +1,70 @@
+#pragma once
+
+#include "chrono.hh"
+#include <iomanip>
+#include <iostream>
+#include <map>
+#include <sstream>
+#include <string>
+#include <vector>
+
+struct ProfCP {
+       unsigned long samples;
+       double total;
+       double peak;
+       double avg;
+       ProfCP(): samples(), total(), peak(), avg() {}
+       void add(double t) {
+               ++samples;
+               total += t;
+               avg = total / samples;
+               if (peak < t) peak = t;
+       }
+};
+
+static inline std::ostream& operator<<(std::ostream& os, ProfCP const& cp) {
+       os << std::fixed << std::setprecision(1);
+       if (cp.samples == 0) return os << "no data";
+       if (cp.samples > 1) os << cp.samples << "x ";
+       os << cp.avg * 1000.0 << " ms";
+       if (cp.peak > 2.0 * cp.avg) os << " peak " << cp.peak * 1000.0 << " ms";
+       return os;
+}
+
+/// @short A simple performance profiling tool
+class Profiler {
+       typedef std::map<std::string, ProfCP> Checkpoints;
+       typedef std::pair<std::string, ProfCP> Pair;
+       Checkpoints m_checkpoints;
+       std::string m_name;
+       Time m_time;
+       static bool cmpFunc(Pair const& a, Pair const& b) { return a.second.total > b.second.total; }
+  public:
+       /// Start a profiler with the given name
+       Profiler(std::string const& name): m_name(name), m_time(Clock::now()) {}
+       ~Profiler() { dump(); }
+       /// Profiling checkpoint: record the duration since construction or previous checkpoint.
+       /// If no tag is specified, no recording is done.
+       void operator()(std::string const& tag = std::string()) {
+               auto n = Clock::now();
+               std::swap(n, m_time);
+               double t = Seconds(m_time - n).count();
+               m_checkpoints[tag].add(t);
+       }
+       /// Dump current stats to log and reset
+       void dump(std::string const& level = "debug") {
+               if (m_checkpoints.empty()) return;
+               if (level.empty()) { m_checkpoints.clear(); return; }
+               std::vector<Pair> cps(m_checkpoints.begin(), m_checkpoints.end());
+               m_checkpoints.clear();
+               std::sort(cps.begin(), cps.end(), cmpFunc);
+               std::ostringstream oss;
+               oss << "profiler-" << m_name << "/" << level << ":";
+               for (std::vector<Pair>::const_iterator it = cps.begin(); it != cps.end(); ++it) {
+                       oss << "  " << it->first << " (" << it->second << ")";
+               }
+               std::clog << oss.str() << std::endl;
+       }
+};
+
+
diff --git a/game/progressbar.cc b/game/progressbar.cc
new file mode 100644 (file)
index 0000000..2597583
--- /dev/null
@@ -0,0 +1,45 @@
+#include "progressbar.hh"
+
+#include "util.hh"
+
+#include <stdexcept>
+
+ProgressBar::ProgressBar(fs::path const& bg, fs::path const& bar, Mode mode, float begin, float end, bool sliding):
+  m_bg(bg), m_bar(bar), m_mode(mode), m_begin(begin), m_end(end), m_sliding(sliding), dimensions(m_bg.dimensions)
+{}
+
+void ProgressBar::draw(float value) {
+       value = clamp(value);
+       float scale = 1.0f - m_begin - m_end;
+       float off = (1.0f - value) * scale;  // Offset for sliding mode
+       m_bg.draw(dimensions);
+       switch (m_mode) {
+         case HORIZONTAL:
+               {
+                       Dimensions dim = dimensions;
+                       TexCoords tex;
+                       if (m_sliding) { dim.move(-off * dim.w(), 0.0f); tex.x1 = m_begin + off; }
+                       else { tex.x1 = m_begin; tex.x2 = tex.x1 + value * scale; }
+                       m_bar.drawCropped(dim, tex);
+               }
+               break;
+         case VERTICAL:
+               {
+                       Dimensions dim = dimensions;
+                       TexCoords tex;
+                       if (m_sliding) { dim.move(0.0f, off * dim.h()); tex.y2 = 1.0f - m_begin - off; }
+                       else { tex.y2 = 1.0f - m_begin; tex.y1 = tex.y2 - value * scale; }
+                       m_bar.drawCropped(dim, tex);
+               }
+               break;
+         case CIRCULAR:
+               {
+                       UseTexture texblock(m_bar);
+                       throw std::logic_error("ProgressBar::draw(): CIRCULAR not implemented yet");  // TODO: Implement
+               }
+               break;
+         default: throw std::logic_error("ProgressBar::draw(): unknown m_mode value");
+       }
+       // Reset dimensions due to async image loading
+       dimensions = m_bg.dimensions;
+}
diff --git a/game/progressbar.hh b/game/progressbar.hh
new file mode 100644 (file)
index 0000000..253f19c
--- /dev/null
@@ -0,0 +1,31 @@
+#pragma once
+
+#include "texture.hh"
+
+/// simple progressbar class
+class ProgressBar {
+  public:
+       /// type of progressbar
+       enum Mode { HORIZONTAL, VERTICAL, CIRCULAR };
+       /**
+       * Construct a new progress bar.
+       * @param bg filename of background image
+       * @param bar filename of the bar image
+       * @param mode specifies bar appearance
+       * @param begin margin before the bar begins [0, 1]
+       * @param end margin after the bar ends [0, 1]
+       * @param sliding makes the bar move; the texture is anchored at bar end rather than at bar beginning
+       **/
+       ProgressBar(fs::path const& bg, fs::path const& bar, Mode mode = HORIZONTAL, float begin = 0.0f, float end = 0.0f, bool sliding = false);
+       /** Draw a progress bar with the given percentage [0, 1] **/
+       void draw(float value);
+  private:
+       Texture m_bg, m_bar;
+       Mode m_mode;
+       float m_begin, m_end;
+       bool m_sliding;
+  public:
+       /// dimensions of progressbar
+       Dimensions dimensions;
+};
+
diff --git a/game/requesthandler.cc b/game/requesthandler.cc
new file mode 100644 (file)
index 0000000..1f37c1d
--- /dev/null
@@ -0,0 +1,375 @@
+#include "requesthandler.hh"
+#include "unicode.hh"
+
+#ifdef USE_WEBSERVER
+RequestHandler::RequestHandler(Songs& songs):m_songs(songs)
+{
+}
+RequestHandler::RequestHandler(std::string url, Songs& songs):m_listener(url),m_songs(songs)
+{
+    m_listener.support(web::http::methods::GET, std::bind(&RequestHandler::Get, this, std::placeholders::_1));
+    m_listener.support(web::http::methods::PUT, std::bind(&RequestHandler::Put, this, std::placeholders::_1));
+    m_listener.support(web::http::methods::POST, std::bind(&RequestHandler::Post, this, std::placeholders::_1));
+    m_listener.support(web::http::methods::DEL, std::bind(&RequestHandler::Delete, this, std::placeholders::_1));
+
+}
+RequestHandler::~RequestHandler()
+{
+}
+
+void RequestHandler::Error(pplx::task<void>& t)
+{
+    try
+    {
+        t.get();
+    }
+    catch(...)
+    {
+    }
+}
+
+void RequestHandler::HandleFile(web::http::http_request request, std::string filePath) {
+    auto path = filePath != "" ? filePath : request.relative_uri().path();
+    auto fileName = path.substr(path.find_last_of("/\\") + 1);
+        
+    std::string fileToSend = findFile(fileName).string();
+
+    concurrency::streams::fstream::open_istream(U(fileToSend), std::ios::in).then([=](concurrency::streams::istream is) {
+        std::string content_type = "";
+        if(path.find(".html") != std::string::npos) {
+            content_type = "text/html";
+        } else if(path.find(".js") != std::string::npos) {
+            content_type = "text/javascript";
+        } else if (path.find(".css") != std::string::npos) {
+            content_type = "text/css";
+        } else if (path.find(".png") != std::string::npos) {
+            content_type = "image/png";
+        } else if (path.find(".gif") != std::string::npos) {
+            content_type = "image/gif";
+        } else if (path.find(".ico") != std::string::npos) {
+            content_type = "image/x-icon";
+        }
+
+        request.reply(web::http::status_codes::OK, is, U(content_type)).then([](pplx::task<void> t) {
+            try {
+                t.get();
+            } catch(...){
+                //
+            }
+        });
+
+    }).then([=](pplx::task<void>t) {
+        try {
+            t.get();
+        } catch(...) {
+            request.reply(web::http::status_codes::InternalError,U("INTERNAL ERROR "));
+        }
+    });
+}
+
+void RequestHandler::Get(web::http::http_request request)
+{
+    std::string content_type = "text/html";
+    auto uri = request.relative_uri().path();
+    if(request.relative_uri().query() != "") {
+        uri += "?" + request.relative_uri().query();
+    }
+    std::clog << "requesthandler/debug: path is: " << uri << std::endl;
+    auto path = request.relative_uri().path();
+    if (path == "/") {
+        HandleFile(request, findFile("index.html").string());
+    } else if (path == "/api/getDataBase.json") { //get database
+        m_songs.setFilter("");
+        if(request.relative_uri().query() == "sort=artist&order=ascending") {
+            m_songs.sortSpecificChange(2);    
+        } else if(request.relative_uri().query() == "sort=artist&order=descending") {
+            m_songs.sortSpecificChange(2, true);
+        } else if(request.relative_uri().query() == "sort=title&order=ascending") {
+            m_songs.sortSpecificChange(1);    
+        } else if(request.relative_uri().query() == "sort=title&order=descending") {
+            m_songs.sortSpecificChange(1, true);
+        } else if(request.relative_uri().query() == "sort=language&order=ascending") {
+            m_songs.sortSpecificChange(6);    
+        } else if(request.relative_uri().query() == "sort=language&order=descending") {
+            m_songs.sortSpecificChange(6, true);
+        } else if(request.relative_uri().query() == "sort=edition&order=ascending") {
+            m_songs.sortSpecificChange(3);    
+        } else if(request.relative_uri().query() == "sort=edition&order=descending") {
+            m_songs.sortSpecificChange(3, true);
+        }
+        web::json::value jsonRoot = SongsToJsonObject();
+        request.reply(web::http::status_codes::OK, jsonRoot);
+        return;
+    }  else if(path == "/api/language") {
+        auto localeMap = GenerateLocaleDict();
+        web::json::value jsonRoot = web::json::value::object();
+            for (auto const &kv : localeMap) {
+                std::string key = kv.first;
+                //Hack to get an easy key value pair within the json object.
+                if(key == "Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding Performous see /docs/Authors.txt"){
+                    key = "Credits";
+                }
+                std::replace(key.begin(), key.end(), ' ','_');
+                key = UnicodeUtil::toLower(key);;
+                jsonRoot[key] = web::json::value(kv.second);
+            }
+        request.reply(web::http::status_codes::OK, jsonRoot);
+        return;
+    } else if(path == "/api/getCurrentPlaylist.json") {
+        Game* gm = Game::getSingletonPtr();
+        web::json::value jsonRoot = web::json::value::array();
+        auto i = 0;
+        for (auto const& song : gm->getCurrentPlayList().getList()) {
+            web::json::value songObject = web::json::value::object();
+            songObject["Title"] = web::json::value::string(song->title);
+            songObject["Artist"] = web::json::value::string(song->artist);
+            songObject["Edition"] = web::json::value::string(song->edition);
+            songObject["Language"] = web::json::value::string(song->language);
+            songObject["Creator"] = web::json::value::string(song->creator);
+            songObject["Duration"] = web::json::value(song->getDurationSeconds());
+            jsonRoot[i] = songObject;
+            i++;
+        }
+
+        request.reply(web::http::status_codes::OK, jsonRoot);
+        return;
+    } else if(path == "/api/getplaylistTimeout") {
+        request.reply(web::http::status_codes::OK, U(config["game/playlist_screen_timeout"].i()));
+        return;
+    } else {
+        HandleFile(request);
+    }
+};
+
+void RequestHandler::Post(web::http::http_request request)
+{
+    Game* gm = Game::getSingletonPtr();
+
+    auto uri = request.relative_uri().path();
+    if(request.relative_uri().query() != "") {
+        uri += "?" + request.relative_uri().query();
+    }
+    std::clog << "requesthandler/debug: path is: " << uri << std::endl;
+
+    auto path = request.relative_uri().path();
+
+    web::json::value jsonPostBody = ExtractJsonFromRequest(request);
+
+    if(jsonPostBody == web::json::value::null()) {
+        request.reply(web::http::status_codes::BadRequest, "Post body is malformed. Please make a valid request.");
+        return;
+    }
+
+    if (path == "/api/add") {
+        m_songs.setFilter("");
+        std::shared_ptr<Song> songPointer = GetSongFromJSON(jsonPostBody);
+        if(!songPointer) {
+            request.reply(web::http::status_codes::NotFound, "Song \"" + jsonPostBody["Artist"].as_string() + " - " + jsonPostBody["Title"].as_string() + "\" was not found.");
+            return;
+        } else {
+            std::clog << "requesthandler/debug: Adding " << songPointer->artist << " - " << songPointer->title << " to the playlist " << std::endl;
+            gm->getCurrentPlayList().addSong(songPointer);
+            ScreenPlaylist* m_pp = dynamic_cast<ScreenPlaylist*>(gm->getScreen("Playlist"));
+            m_pp->triggerSongListUpdate();
+
+            request.reply(web::http::status_codes::OK, "success");
+            return;
+        }
+    } else if(path == "/api/remove") {
+        if(gm->getCurrentPlayList().isEmpty()) {
+            request.reply(web::http::status_codes::BadRequest, "Playlist is empty.");
+            return;
+        }
+        try {
+            auto songIdToDelete = jsonPostBody["songId"].as_integer();
+            if(songIdToDelete >= 0) {
+                gm->getCurrentPlayList().removeSong(songIdToDelete);
+                ScreenPlaylist* m_pp = dynamic_cast<ScreenPlaylist*>(gm->getScreen("Playlist"));
+                m_pp->triggerSongListUpdate();
+
+                request.reply(web::http::status_codes::OK, "success");
+                return;
+            } else {
+                request.reply(web::http::status_codes::BadRequest, "Can't remove songs from the playlist with a negative id \"" + std::to_string(songIdToDelete) +"\". Please make a valid request.");
+                return;
+            }
+        } catch(web::json::json_exception const & e) {
+            std::string str = std::string("JSON Exception: ") + e.what();
+            request.reply(web::http::status_codes::BadRequest, str);
+            return;
+        }
+    } else if(path == "/api/setposition") {
+        if(gm->getCurrentPlayList().isEmpty()) {
+            request.reply(web::http::status_codes::BadRequest, "Playlist is empty.");
+            return;
+        }
+        try {
+            auto songIdToMove = jsonPostBody["songId"].as_integer();
+            auto positionToMoveTo = jsonPostBody["position"].as_integer();        
+            int sizeOfPlaylist = gm->getCurrentPlayList().getList().size();
+            if(songIdToMove < 0) {
+                request.reply(web::http::status_codes::BadRequest, "Can't move songs with a negative id \"" + std::to_string(songIdToMove) + "\". Please make a valid request.");
+                return;
+            }
+            if(positionToMoveTo < 0) {
+                request.reply(web::http::status_codes::BadRequest, "Can't move songs to a negative position \"" + std::to_string(positionToMoveTo) + "\". Please make a valid request.");
+                return;
+            }
+            if(songIdToMove > sizeOfPlaylist - 1) {
+                request.reply(web::http::status_codes::BadRequest, "Not gonna move the unknown song you've provided \"" + std::to_string(songIdToMove + 1) + "\". Please make a valid request.");
+                return;
+            }
+            if(positionToMoveTo <= sizeOfPlaylist - 1) {
+                gm->getCurrentPlayList().setPosition(songIdToMove,positionToMoveTo);
+                ScreenPlaylist* m_pp = dynamic_cast<ScreenPlaylist*>(gm->getScreen("Playlist"));
+                m_pp->triggerSongListUpdate();
+                request.reply(web::http::status_codes::OK, "success");
+                return;
+            } else  {
+                request.reply(web::http::status_codes::BadRequest, "Not gonna move the song to \""+ std::to_string(positionToMoveTo + 1) + "\" since the list ain't that long. Please make a valid request.");
+                return;
+            }
+        } catch(web::json::json_exception const & e) {
+            std::string str = std::string("JSON Exception: ") + e.what();
+            request.reply(web::http::status_codes::BadRequest, str);
+            return;
+        }     
+    } else if(path == "/api/search") {
+        auto query = jsonPostBody["query"].as_string();
+        m_songs.setFilter(query);
+        web::json::value jsonRoot = web::json::value::array();
+        for(int i = 0; i < m_songs.size(); i++) {
+            web::json::value songObject = web::json::value::object();
+            songObject["Title"] = web::json::value::string(m_songs[i]->title);
+            songObject["Artist"] = web::json::value::string(m_songs[i]->artist);
+            songObject["Edition"] = web::json::value::string(m_songs[i]->edition);
+            songObject["Language"] = web::json::value::string(m_songs[i]->language);
+            songObject["Creator"] = web::json::value::string(m_songs[i]->creator);
+            jsonRoot[i] = songObject;
+        }
+        request.reply(web::http::status_codes::OK, jsonRoot);
+        return;
+    } else {
+        request.reply(web::http::status_codes::NotFound, "The path \""+ path +"\" was not found.");
+        return;
+    }
+};
+
+void RequestHandler::Delete(web::http::http_request request)
+{
+    request.reply(web::http::status_codes::OK);
+};
+
+void RequestHandler::Put(web::http::http_request request)
+{
+    request.reply(web::http::status_codes::OK);
+};
+
+web::json::value RequestHandler::ExtractJsonFromRequest(web::http::http_request request) {
+    web::json::value jsonBody = web::json::value::null();
+    request.extract_json().then([&jsonBody](pplx::task<web::json::value> task)
+    {
+         try
+         {
+            jsonBody = task.get();
+         }
+         catch (web::json::json_exception const & e)
+         {
+            std::clog << "webserver/error: JSON exception was thrown \"" << e.what() << "\"." << std::endl;
+         }
+    }).wait();
+
+    return jsonBody;
+}
+
+
+web::json::value RequestHandler::SongsToJsonObject() {
+    web::json::value jsonRoot = web::json::value::array();
+    for (int i=0; i< m_songs.size(); i++) {
+        web::json::value songObject = web::json::value::object();
+        songObject["Title"] = web::json::value::string(m_songs[i]->title);
+        songObject["Artist"] = web::json::value::string(m_songs[i]->artist);
+        songObject["Edition"] = web::json::value::string(m_songs[i]->edition);
+        songObject["Language"] = web::json::value::string(m_songs[i]->language);
+        songObject["Creator"] = web::json::value::string(m_songs[i]->creator);
+        songObject["name"] = web::json::value::string(m_songs[i]->artist + " " + m_songs[i]->title);
+        jsonRoot[i] = songObject;
+    }
+
+    return jsonRoot;
+}
+
+std::shared_ptr<Song> RequestHandler::GetSongFromJSON(web::json::value jsonDoc) {
+    m_songs.setFilter("");
+
+    for(int i = 0; i< m_songs.size(); i++) {
+        if(m_songs[i]->title == jsonDoc["Title"].as_string() &&
+           m_songs[i]->artist == jsonDoc["Artist"].as_string() &&
+           m_songs[i]->edition == jsonDoc["Edition"].as_string() &&
+           m_songs[i]->language == jsonDoc["Language"].as_string() &&
+           m_songs[i]->creator == jsonDoc["Creator"].as_string() ) {
+            std::clog << "webserver/info: Found requested song." << std::endl;
+            return m_songs[i];
+        }
+    }
+
+    std::clog << "webserver/info: Couldn't find requested song." << std::endl;
+    return std::shared_ptr<Song>();
+}
+
+std::map<std::string, std::string> RequestHandler::GenerateLocaleDict() {
+    std::vector<std::string> translationKeys = GetTranslationKeys();
+    std::map<std::string, std::string> localeMap;
+    for (auto const &translationKey : translationKeys) {
+        localeMap[translationKey] = _(translationKey);
+    }
+    return localeMap;
+}
+
+std::vector<std::string> RequestHandler::GetTranslationKeys() {
+    std::vector<std::string> tranlationKeys = { 
+        translate_noop("Performous web frontend"),
+        translate_noop("View database"),
+        translate_noop("View playlist"),
+        translate_noop("Search and Add"),
+        translate_noop("Sort by"),
+        translate_noop("Artist"),
+        translate_noop("Title"),
+        translate_noop("Language"),
+        translate_noop("Edition"),
+        translate_noop("Creator"),
+        translate_noop("Sort order"),
+        translate_noop("Normal"),
+        translate_noop("Inverted"),
+        translate_noop("Update every 10 sec"),
+        translate_noop("Refresh database"),
+        translate_noop("Upcoming songs"),
+        translate_noop("Refresh playlist"),
+        translate_noop("Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding Performous see /docs/Authors.txt"),
+        translate_noop("Search"),
+        translate_noop("Available songs"),
+        translate_noop("Search for songs"),
+        translate_noop("Yes"),
+        translate_noop("No"),
+        translate_noop("Move up"),
+        translate_noop("Move down"),
+        translate_noop("Set position"),
+        translate_noop("Remove song"),
+        translate_noop("Desired position of song"),
+        translate_noop("Cancel"),
+        translate_noop("Successfully removed song from playlist"),
+        translate_noop("Failed removing song from playlist"),
+        translate_noop("Successfully changed position of song"),
+        translate_noop("Failed changing position of song"),
+        translate_noop("Successfully moved song up"),
+        translate_noop("Failed moving song up"),
+        translate_noop("Successfully moved song down"),
+        translate_noop("Failed moving song down"),
+        translate_noop("Successfully added song to the playlist"),
+        translate_noop("Failed adding song to the playlist"),
+        translate_noop("No songs found with current filter")
+    };
+
+    return tranlationKeys;
+}
+#endif
diff --git a/game/requesthandler.hh b/game/requesthandler.hh
new file mode 100644 (file)
index 0000000..abc88ee
--- /dev/null
@@ -0,0 +1,48 @@
+#pragma once
+#ifdef USE_WEBSERVER
+
+#include <cpprest/http_listener.h>
+#include <cpprest/filestream.h>
+
+#include "screen_playlist.hh"
+
+class RequestHandler
+{
+    public:
+        RequestHandler(Songs& songs);
+        RequestHandler(std::string url, Songs& songs);
+        virtual ~RequestHandler();
+
+        pplx::task<void>open() { return m_listener.open(); }
+        pplx::task<void>close() { return m_listener.close(); }
+
+    protected:
+
+    private:
+        void Get(web::http::http_request request);
+        void Put(web::http::http_request request);
+        void Post(web::http::http_request request);
+        void Delete(web::http::http_request request);
+        void Error(pplx::task<void>& t);
+
+        web::json::value ExtractJsonFromRequest(web::http::http_request request);
+
+        void HandleFile(web::http::http_request request, std::string filePath = "");
+        web::json::value SongsToJsonObject();
+        std::map<std::string, std::string> GenerateLocaleDict();
+        std::vector<std::string> GetTranslationKeys();
+        std::shared_ptr<Song> GetSongFromJSON(web::json::value);
+
+        web::http::experimental::listener::http_listener m_listener;
+
+        Songs& m_songs;
+};
+#else
+class Songs;
+
+class RequestHandler
+{
+public:
+    RequestHandler(Songs&) {}
+};
+#endif
\ No newline at end of file
diff --git a/game/screen.hh b/game/screen.hh
new file mode 100644 (file)
index 0000000..435fb04
--- /dev/null
@@ -0,0 +1,138 @@
+#pragma once
+
+#include "controllers.hh"
+#include "singleton.hh"
+#include "animvalue.hh"
+#include "opengl_text.hh"
+#include "video_driver.hh"
+#include "dialog.hh"
+#include "playlist.hh"
+#include "fbo.hh"
+
+#include <SDL2/SDL.h>
+#include <string>
+#include <memory>
+
+class Audio;
+
+/// Abstract Class for screens
+class Screen {
+  public:
+       /// counstructor
+       Screen(std::string const& name): m_name(name) {}
+       virtual ~Screen() {}
+       /// Event handler for navigation events
+       virtual void manageEvent(input::NavEvent const& event) = 0;
+       /// Event handler for SDL events
+       virtual void manageEvent(SDL_Event) {}
+       /// prepare screen for drawing
+       virtual void prepare() {}
+       /// draws screen
+       virtual void draw() = 0;
+       /// enters screen
+       virtual void enter() = 0;
+       /// exits screen
+       virtual void exit() = 0;
+       /// reloads OpenGL textures but avoids restarting music etc.
+       virtual void reloadGL() { exit(); enter(); }
+       /// returns screen name
+       std::string getName() const { return m_name; }
+  private:
+       std::string m_name;
+};
+
+/// Manager for screens and Playlist
+/** manages screens
+ * @see Singleton
+ */
+class Game: public Singleton <Game> {
+  public:
+       /// constructor
+       Game(Window& window, Audio& audio);
+       ~Game();
+       /// Adds a screen to the manager
+       void addScreen(std::unique_ptr<Screen> s) { 
+               std::string screenName = s.get()->getName(); 
+               std::pair<std::string, std::unique_ptr<Screen>> kv = std::make_pair(screenName, std::move(s));
+               screens.insert(std::move(kv));
+       }
+       /// Switches active screen
+       void activateScreen(std::string const& name);
+       /// Does actual switching of screens (if necessary)
+       void updateScreen();
+       /// Prepare (slow loading operations) of the current screen for rendering
+       void prepareScreen();
+       /// Draws the current screen and possible transition effects
+       void drawScreen();
+       /// Reload OpenGL resources (after fullscreen toggle etc)
+       void reloadGL() { if (currentScreen) currentScreen->reloadGL(); }
+       /// Returns pointer to current Screen
+       Screen* getCurrentScreen() { return currentScreen; }
+       /// Returns pointer to Screen for given name
+       Screen* getScreen(std::string const& name);
+       /// Returns a reference to the window
+       Window& window() { return m_window; }
+
+       /// Restarts Audio subsystem and begins playing menu music.
+       void restartAudio();
+
+       /// Draw a loading progress indication
+       void loading(std::string const& message, float progress);
+       /// Internal rendering function for loading indicator
+       void drawLoading();
+       /// Draw an error notification and quit
+       void fatalError(std::string const& message);
+       /// Set a message to flash in current screen
+       void flashMessage(std::string const& message, float fadeIn=0.5f, float hold=1.5f, float fadeOut=1.0f);
+       /// Create a new dialog message
+       void dialog(std::string const& text);
+       /// Close dialog and return true if it was opened in the first place
+       bool closeDialog();
+       /// Returns true if dialog is open
+       bool isDialogOpen() { return !!m_dialog; }
+       /// Draw dialogs & flash messages, called automatically by drawScreen
+       void drawNotifications();
+
+       /// Sets finished to true
+       void finished();
+       /// Returns finished state
+       bool isFinished();
+       /// Show performous logo
+       void showLogo(bool show = true) { m_logoAnim.setTarget(show ? 1.0 : 0.0); }
+       /// Draw the logo
+       void drawLogo();
+       ///global playlist access
+       PlayList& getCurrentPlayList() { return currentPlaylist; }
+
+private:
+       Audio& m_audio;
+       Window& m_window;
+
+public:
+       input::Controllers controllers;
+
+private:
+       bool m_finished;
+       typedef std::map<std::string, std::unique_ptr<Screen>> screenmap_t;
+       screenmap_t screens;
+       Screen* newScreen;
+       Screen* currentScreen;
+       PlayList currentPlaylist;
+       // Flash messages members
+       float m_timeToFadeIn;
+       float m_timeToFadeOut;
+       float m_timeToShow;
+       std::string m_message;
+       AnimValue m_messagePopup;
+       SvgTxtTheme m_textMessage;
+       float m_loadingProgress;
+       Texture m_logo;
+       AnimValue m_logoAnim;
+       AnimValue m_dialogTimeOut;
+       // Dialog members
+       std::unique_ptr<Dialog> m_dialog;
+};
+
+// Declaration for the singleton pointer defined in game.cc
+template<> Game* Singleton<Game>::ms_Singleton;
+
diff --git a/game/screen_audiodevices.cc b/game/screen_audiodevices.cc
new file mode 100644 (file)
index 0000000..92c9024
--- /dev/null
@@ -0,0 +1,209 @@
+#include "screen_audiodevices.hh"
+
+#include "audio.hh"
+#include "configuration.hh"
+#include "controllers.hh"
+#include "platform.hh"
+#include "theme.hh"
+#include "i18n.hh"
+
+namespace {
+       static const int unassigned_id = -1;  // mic.dev value for unassigned
+       static const float yoff = 0.18; // Offset from center where to place top row
+       static const float xoff = 0.45; // Offset from middle where to place first column
+
+       bool countRow(std::string needle, std::string const& haystack, int& count) {
+               if (haystack.find(needle) != std::string::npos) ++count;
+               if (count > 1) return false;
+               return true;
+       }
+}
+
+int getBackend() {
+       static std::string selectedBackend = Audio::backendConfig().getValue();
+       return PaHostApiNameToHostApiTypeId(selectedBackend);
+}
+
+
+ScreenAudioDevices::ScreenAudioDevices(std::string const& name, Audio& audio): Screen(name), m_audio(audio) {
+       m_selector = std::make_unique<Texture>(findFile("device_selector.svg"));
+       m_mic_icon = std::make_unique<Texture>(findFile("sing_pbox.svg"));
+       m_pdev_icon = std::make_unique<Texture>(findFile("icon_pdev.svg"));
+}
+
+void ScreenAudioDevices::enter() {
+       int bend = getBackend();
+       std::clog << "audio-devices/debug: Entering audio Devices... backend has been detected as: " << bend << std::endl;
+       m_theme = std::make_unique<ThemeAudioDevices>();
+       PaHostApiTypeId backend = PaHostApiTypeId(bend);
+       portaudio::AudioDevices ads(backend);
+       m_devs = ads.devices;
+       // FIXME: Something more elegant, like a warning box
+       if (m_devs.empty()) throw std::runtime_error("No audio devices found!");
+       m_selected_column = 0;
+       // Detect if there is existing advanced configuration and warn that this will override
+       if (!config["audio/devices"].isDefault()) {
+               ConfigItem::StringList devconf = config["audio/devices"].sl();
+               std::map<std::string, int> countmap;
+               bool ok = true;
+               for (ConfigItem::StringList::const_iterator it = devconf.begin(); it != devconf.end(); ++it) {
+                       if (!countRow("blue", *it, countmap["blue"])) { ok = false; break; }
+                       if (!countRow("red", *it, countmap["red"])) { ok = false; break; }
+                       if (!countRow("green", *it, countmap["green"])) { ok = false; break; }
+                       if (!countRow("yellow", *it, countmap["yellow"])) { ok = false; break; }
+                       if(!countRow("fuchsia", *it, countmap["fuchsia"])) { ok = false; break; }
+                       if(!countRow("orange", *it, countmap["orange"])) { ok = false; break; }
+                       if(!countRow("purple", *it, countmap["purple"])) { ok = false; break; }
+                       if(!countRow("aqua", *it, countmap["aqua"])) { ok = false; break; }
+                       if(!countRow("white", *it, countmap["white"])) { ok = false; break; }
+                       if(!countRow("gray", *it, countmap["gray"])) { ok = false; break; }
+                       if(!countRow("black", *it, countmap["black"])) { ok = false; break; }
+                       if (!countRow("out=", *it, countmap["out="])) { ok = false; break; }
+               }
+               if (!ok)
+                       Game::getSingletonPtr()->dialog(
+                               _("It seems you have some manual configurations\nincompatible with this user interface.\nSaving these settings will override\nall existing audio device configuration.\nYour other options changes will be saved too."));
+       }
+       // Populate the mics vector and check open devices
+       load();
+       // TODO: Scrolling would be nicer than just zooming out infinitely
+       float s = std::min(xoff / m_channels.size() / 1.2, yoff*2 / m_devs.size() / 1.1);
+       m_mic_icon->dimensions.fixedWidth(s);
+       m_pdev_icon->dimensions.fixedWidth(s);
+}
+
+void ScreenAudioDevices::exit() { m_theme.reset(); }
+
+void ScreenAudioDevices::manageEvent(input::NavEvent const& event) {
+       Game* gm = Game::getSingletonPtr();
+       input::NavButton nav = event.button;
+       auto& chpos = m_channels[m_selected_column].pos;
+       const unsigned posN = m_devs.size() + 1;
+       if (nav == input::NAV_CANCEL) gm->activateScreen("Intro");
+       else if (nav == input::NAV_PAUSE) m_audio.togglePause();
+       else if (m_devs.empty()) return; // The rest work if there are any devices
+       else if (nav == input::NAV_START) { if (save()) gm->activateScreen("Intro"); }
+       else if (nav == input::NAV_LEFT && m_selected_column > 0) --m_selected_column;
+       else if (nav == input::NAV_RIGHT && m_selected_column < m_channels.size()-1) ++m_selected_column;
+       else if (nav == input::NAV_UP) chpos = (chpos + posN) % posN - 1;
+       else if (nav == input::NAV_DOWN) chpos = (chpos + posN + 2) % posN - 1;
+}
+
+void ScreenAudioDevices::manageEvent(SDL_Event event) {
+       if (event.type == SDL_KEYDOWN) {
+               int key = event.key.keysym.scancode;
+               uint16_t modifier = event.key.keysym.mod;
+               if (m_devs.empty()) return; // The rest work if there are any config options
+               // Reset to defaults
+               else if (key == SDL_SCANCODE_R && modifier & Platform::shortcutModifier()) {
+                       config["audio/devices"].reset(modifier & KMOD_ALT);
+                       save(true); // Save to disk, reload audio & reload UI to keep stuff consistent
+               }
+       }
+}
+
+void ScreenAudioDevices::draw() {
+       m_theme->bg.draw();
+       if (m_devs.empty()) return;
+       // Calculate spacing between columns/rows
+       const float xstep = (xoff - 0.5 + xoff) / m_channels.size();
+       const float ystep = yoff*2 / m_devs.size();
+       // Device text & bg
+       m_theme->device_bg.dimensions.stretch(std::abs(xoff*2.15), m_mic_icon->dimensions.h()*0.9).middle();
+       m_selector->dimensions.stretch(m_mic_icon->dimensions.w() * 1.75, m_mic_icon->dimensions.h() * 1.75);
+       for (size_t i = 0; i <= m_devs.size(); ++i) {
+               const float y = -yoff + i*ystep;
+               float alpha = 1.0f;
+               // "Grey out" devices that doesn't fit the selection
+               if (m_channels[m_selected_column].name == "OUT" && !m_devs[i].out) alpha = 0.5f;
+               else if (m_channels[m_selected_column].name != "OUT" && !m_devs[i].in) alpha = 0.5f;
+               m_theme->device_bg.dimensions.center(y);
+               m_theme->device_bg.draw();
+               ColorTrans c(Color::alpha(alpha));
+               m_theme->device.dimensions.middle(-xstep*0.5).center(y);
+               m_theme->device.draw(i < m_devs.size() ? m_devs[i].desc() : _("- Unassigned -"));
+       }
+       // Icons
+       for (size_t i = 0; i < m_channels.size(); ++i) {
+               Texture& srf = (i < m_channels.size()-1) ? *m_mic_icon : *m_pdev_icon;
+               {
+                       ColorTrans c(MicrophoneColor::get(m_channels[i].name));
+                       int pos = m_channels[i].pos;
+                       if (pos == unassigned_id) pos = m_devs.size();  // Transform -1 to the bottom of the list
+                       srf.dimensions.middle(-xoff + xstep*0.5 + i*xstep).center(-yoff+pos*ystep);
+                       srf.draw();
+               }
+               // Selection indicator
+               if (m_selected_column == i)
+                       m_selector->dimensions.middle(srf.dimensions.xc()).center(srf.dimensions.yc());
+       }
+       m_selector->draw(); // Position already set in the loop
+       // Key help
+       m_theme->comment_bg.dimensions.stretch(1.0, 0.025).middle().screenBottom(-0.054);
+       m_theme->comment_bg.draw();
+       m_theme->comment.dimensions.left(-0.48).screenBottom(-0.067);
+       m_theme->comment.draw(_("Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select to cancel. Ctrl + R to reset defaults"));
+       // Additional info
+       m_theme->comment_bg.dimensions.middle().screenBottom(-0.01);
+       m_theme->comment_bg.draw();
+       m_theme->comment.dimensions.left(-0.48).screenBottom(-0.023);
+       m_theme->comment.draw(_("For advanced device configuration, use command line parameter --audio (use --audiohelp for details)."));
+}
+
+void ScreenAudioDevices::load() {
+       std::string names[] = { "blue", "red", "green", "yellow", "fuchsia", "orange", "purple", "aqua", "white", "gray", "black", "OUT" }; //there were 4 colors here
+       m_channels.assign(std::begin(names), std::end(names));
+       // Get the currently assigned devices for each channel (FIXME: this is a really stupid algorithm)
+       for (auto const& d: m_audio.devices()) {
+               for (auto& c: m_channels) {
+                       if (!d.isChannel(c.name)) continue;
+                       for (size_t i = 0; i < m_devs.size(); ++i) {
+                               if (unsigned(m_devs[i].idx) == d.dev) c.pos = i;
+                       }
+               }
+       }
+}
+
+bool ScreenAudioDevices::save(bool skip_ui_config) {
+       if (!skip_ui_config) {
+               ConfigItem::StringList devconf;
+               // Loop through the devices and if there is mics/pdev assigned, form a config line
+               for (auto const& d: m_devs) {  // PortAudio devices
+                       std::string mics = "", pdev = "";
+                       for (auto const& c: m_channels) {  // blue, red, ..., OUT
+                               if (c.pos == unassigned_id || m_devs[c.pos].idx != d.idx) continue;
+                               if (c.name == "OUT") pdev = "out=2"; // Pdev, only stereo supported
+                               else { // Mic
+                                       if (!mics.empty()) mics += ","; // Add separator if needed
+                                       mics += c.name; // Append mic color
+                               }
+                       }
+                       if (mics.empty() && pdev.empty()) continue; // Continue looping if device is not used
+                       std::string dev = "dev=\"" + d.flex + "\""; // Use flexible name for more robustness
+                       // Use half duplex I/O even if the same device is used for capture and playback (works better)
+                       if (!mics.empty()) devconf.push_back(dev + " mics=" + mics);
+                       if (!pdev.empty()) devconf.push_back(dev + " " + pdev);
+               }
+               config["audio/devices"].sl() = devconf;
+       }
+       writeConfig(false); // Save the new config
+       m_audio.restart(); // Reload audio to take the new settings into use
+       m_audio.playMusic(findFile("menu.ogg"), true); // Start music again
+       // Check that all went well
+       bool ret = verify();
+       if (!ret) Game::getSingletonPtr()->dialog(_("Some devices failed to open!"));
+       // Load the new config back for UI
+       load();
+       return ret;
+}
+
+bool ScreenAudioDevices::verify() {
+       for (auto const& c: m_channels) {
+               if (c.pos == unassigned_id) continue;  // No checking needed of unassigned channels
+               // Find the device
+               for (auto const& d: m_audio.devices()) if (d.isChannel(c.name)) goto found;
+               return false;
+               found:;
+       }
+       return true;
+}
diff --git a/game/screen_audiodevices.hh b/game/screen_audiodevices.hh
new file mode 100644 (file)
index 0000000..8f487a5
--- /dev/null
@@ -0,0 +1,42 @@
+#pragma once
+
+#include "screen.hh"
+#include "glutil.hh"
+#include "libda/portaudio.hpp"
+#include "theme.hh"
+#include <map>
+
+class Audio;
+class ThemeAudioDevices;
+
+/// options dialogue
+class ScreenAudioDevices: public Screen {
+  public:
+       /// constructor
+       ScreenAudioDevices(std::string const& name, Audio& m_audio);
+       void enter();
+       void exit();
+       void manageEvent(SDL_Event event);
+       void manageEvent(input::NavEvent const& event);
+       void draw();
+
+  private:
+       struct Channel {
+               Channel(std::string const& name): name(name), pos(-1) {}
+               std::string name;
+               int pos;
+       };
+       void load(); ///< Check what devices are open
+       bool save(bool skip_ui_config = false); ///< Save the config to disk xml and then reload
+       bool verify(); ///< Check that all were opened after audio reset
+
+       Audio& m_audio;
+       std::unique_ptr<ThemeAudioDevices> m_theme;
+       unsigned int m_selected_column;
+       portaudio::DeviceInfos m_devs;
+       std::vector<Channel> m_channels;
+       std::unique_ptr<Texture> m_selector;
+       std::unique_ptr<Texture> m_mic_icon;
+       std::unique_ptr<Texture> m_pdev_icon;
+};
+
diff --git a/game/screen_intro.cc b/game/screen_intro.cc
new file mode 100644 (file)
index 0000000..c5be94a
--- /dev/null
@@ -0,0 +1,233 @@
+#include "screen_intro.hh"
+
+#include "fs.hh"
+#include "glmath.hh"
+#include "audio.hh"
+#include "i18n.hh"
+#include "controllers.hh"
+#include "platform.hh"
+#include "theme.hh"
+#include "menu.hh"
+
+ScreenIntro::ScreenIntro(std::string const& name, Audio& audio): Screen(name), m_audio(audio), m_first(true) {
+}
+
+void ScreenIntro::enter() {
+       Game::getSingletonPtr()->showLogo();
+
+       m_audio.playMusic(findFile("menu.ogg"), true);
+       m_selAnim = AnimValue(0.0, 10.0);
+       m_submenuAnim = AnimValue(0.0, 3.0);
+       populateMenu();
+       if( m_first ) {
+               std::string msg;
+               if (!m_audio.hasPlayback()) msg = _("No playback devices could be used.\n");
+               if (!msg.empty()) Game::getSingletonPtr()->dialog(msg + _("\nPlease configure some before playing."));
+               m_first = false;
+       }
+       reloadGL();
+       webserversetting = config["game/webserver_access"].i();
+       m_audio.playSample("notice.ogg");
+}
+
+void ScreenIntro::reloadGL() {
+       theme = std::make_unique<ThemeIntro>();
+}
+
+void ScreenIntro::exit() {
+       m_menu.clear();
+       theme.reset();
+}
+
+void ScreenIntro::manageEvent(input::NavEvent const& event) {
+       input::NavButton nav = event.button;
+       if (nav == input::NAV_CANCEL) {
+               if (m_menu.getSubmenuLevel() == 0) m_menu.moveToLast();  // Move cursor to quit in main menu
+               else m_menu.closeSubmenu(); // One menu level up
+       }
+       else if (nav == input::NAV_DOWN || nav == input::NAV_MOREDOWN) m_menu.move(1);
+       else if (nav == input::NAV_UP || nav == input::NAV_MOREUP) m_menu.move(-1);
+       else if (nav == input::NAV_RIGHT && m_menu.getSubmenuLevel() >= 2) m_menu.action(1); // Config menu
+       else if (nav == input::NAV_LEFT && m_menu.getSubmenuLevel() >= 2) m_menu.action(-1); // Config menu
+       else if (nav == input::NAV_RIGHT && m_menu.getSubmenuLevel() < 2) m_menu.move(1); // Instrument nav hack
+       else if (nav == input::NAV_LEFT && m_menu.getSubmenuLevel() < 2) m_menu.move(-1); // Instrument nav hack
+       else if (nav == input::NAV_START) m_menu.action();
+       else if (nav == input::NAV_PAUSE) m_audio.togglePause();
+       // Animation targets
+       m_selAnim.setTarget(m_menu.curIndex());
+       m_submenuAnim.setTarget(m_menu.getSubmenuLevel());
+}
+
+void ScreenIntro::manageEvent(SDL_Event event) {
+       if (event.type == SDL_KEYDOWN && m_menu.getSubmenuLevel() > 0) {
+               // These are only available in config menu
+               int key = event.key.keysym.scancode;
+               uint16_t modifier = event.key.keysym.mod;
+               if (key == SDL_SCANCODE_R && modifier & Platform::shortcutModifier() && m_menu.current().value) {
+                       m_menu.current().value->reset(modifier & KMOD_ALT);
+               }
+               else if (key == SDL_SCANCODE_S && modifier & Platform::shortcutModifier()) {
+                       writeConfig(modifier & KMOD_ALT);
+                       Game::getSingletonPtr()->flashMessage((modifier & KMOD_ALT)
+                               ? _("Settings saved as system defaults.") : _("Settings saved."));
+               }
+       }
+}
+
+void ScreenIntro::draw_menu_options() {
+       // Variables used for positioning and other stuff
+       double wcounter = 0;
+       const size_t showopts = 5; // Show at most 5 options simultaneously
+       const float x = -0.35;
+       const float start_y = -0.1;
+       const float sel_margin = 0.03;
+       const MenuOptions opts = m_menu.getOptions();
+       double submenuanim = 1.0 - std::min(1.0, std::abs(m_submenuAnim.get()-m_menu.getSubmenuLevel()));
+       theme->back_h.dimensions.fixedHeight(0.038f);
+       theme->back_h.dimensions.stretch(m_menu.dimensions.w(), theme->back_h.dimensions.h());
+       // Determine from which item to start
+       int start_i = std::min((int)m_menu.curIndex() - 1, (int)opts.size() - (int)showopts
+               + (m_menu.getSubmenuLevel() == 2 ? 1 : 0)); // Hack to counter side-effects from displaying the value inside the menu
+       if (start_i < 0 || opts.size() == showopts) start_i = 0;
+
+       // Loop the currently visible options
+       for (size_t i = start_i, ii = 0; ii < showopts && i < opts.size(); ++i, ++ii) {
+               MenuOption const& opt = opts[i];
+               ColorTrans c(Color::alpha(submenuanim));
+
+               // Selection
+               if (i == m_menu.curIndex()) {
+                       // Animate selection higlight moving
+                       double selanim = m_selAnim.get() - start_i;
+                       if (selanim < 0) selanim = 0;
+                       theme->back_h.dimensions.left(x - sel_margin).center(start_y + selanim*0.065);
+                       theme->back_h.draw();
+                       // Draw the text, dim if option not available
+                       {
+                               ColorTrans c(Color::alpha(opt.isActive() ? 1.0 : 0.5));
+                               theme->option_selected.dimensions.left(x).center(start_y + ii*0.065);
+                               theme->option_selected.draw(opt.getName());
+                       }
+                       wcounter = std::max(wcounter, theme->option_selected.w() + 2 * sel_margin); // Calculate the widest entry
+                       // If this is a config item, show the value below
+                       if (opt.type == MenuOption::CHANGE_VALUE) {
+                               ++ii; // Use a slot for the value
+                               theme->option_selected.dimensions.left(x + sel_margin).center(-0.1 + (selanim+1)*0.065);
+                               theme->option_selected.draw("<  " + opt.value->getValue() + "  >");
+                       }
+
+               // Regular option (not selected)
+               } else {
+                       std::string title = opt.getName();
+                       SvgTxtTheme& txt = getTextObject(title);
+                       ColorTrans c(Color::alpha(opt.isActive() ? 1.0 : 0.5));
+                       txt.dimensions.left(x).center(start_y + ii*0.065);
+                       txt.draw(title);
+                       wcounter = std::max(wcounter, txt.w() + 2 * sel_margin); // Calculate the widest entry
+               }
+       }
+       m_menu.dimensions.stretch(wcounter, 1);
+}
+
+void ScreenIntro::draw() {
+       glutil::GLErrorChecker glerror("ScreenIntro::draw()");
+       {
+               float anim = SDL_GetTicks() % 20000 / 20000.0;
+               ColorTrans c(glmath::rotate(TAU * anim, glmath::vec3(1.0, 1.0, 1.0)));
+               theme->bg.draw();
+       }
+       if (m_menu.current().image) m_menu.current().image->draw();
+       // Comment
+       theme->comment_bg.dimensions.center().screenBottom(-0.01);
+       theme->comment_bg.draw();
+       theme->comment.dimensions.left(-0.48).screenBottom(-0.028);
+       theme->comment.draw(m_menu.current().getComment());
+       // Key help for config
+       if (m_menu.getSubmenuLevel() > 0) {
+               theme->short_comment_bg.dimensions.stretch(theme->short_comment.w() + 0.065, 0.025);
+               theme->short_comment_bg.dimensions.left(-0.54).screenBottom(-0.054);
+               theme->short_comment_bg.draw();
+               theme->short_comment.dimensions.left(-0.48).screenBottom(-0.067);
+               theme->short_comment.draw(_("Ctrl + S to save, Ctrl + R to reset defaults"));
+       }
+       // Menu
+       draw_menu_options();
+       draw_webserverNotice();
+}
+
+SvgTxtTheme& ScreenIntro::getTextObject(std::string const& txt) {
+       if (theme->options.find(txt) != theme->options.end()) return (*theme->options.at(txt).get());
+       std::pair<std::string, std::unique_ptr<SvgTxtTheme>> kv = std::make_pair(txt, std::make_unique<SvgTxtTheme>(findFile("mainmenu_option.svg"), config["graphic/text_lod"].f()));
+       theme->options.insert(std::move(kv));
+       return (*theme->options.at(txt).get());
+}
+
+void ScreenIntro::populateMenu() {
+       MenuImage imgSing(new Texture(findFile("intro_sing.svg")));
+       MenuImage imgPractice(new Texture(findFile("intro_practice.svg")));
+       MenuImage imgConfig(new Texture(findFile("intro_configure.svg")));
+       MenuImage imgQuit(new Texture(findFile("intro_quit.svg")));
+       m_menu.clear();
+       m_menu.add(MenuOption(_("Perform"), _("Start performing!"), imgSing).screen("Songs"));
+       m_menu.add(MenuOption(_("Practice"), _("Check your skills or test the microphones"), imgPractice).screen("Practice"));
+       // Configure menu + submenu options
+       MenuOptions configmain;
+       for (MenuEntry const& submenu: configMenu) {
+               if (!submenu.items.empty()) {
+                       MenuOptions opts;
+                       // Process items that belong to that submenu
+                       for (std::string const& item: submenu.items) {
+                               ConfigItem& c = config[item];
+                               opts.push_back(MenuOption(_(c.getShortDesc().c_str()), _(c.getLongDesc().c_str())).changer(c));
+                       }
+                       configmain.push_back(MenuOption(_(submenu.shortDesc.c_str()), _(submenu.longDesc.c_str()), imgConfig).submenu(opts));
+               } else {
+                       configmain.push_back(MenuOption(_(submenu.shortDesc.c_str()), _(submenu.longDesc.c_str()), imgConfig).screen(submenu.name));
+               }
+       }
+       m_menu.add(MenuOption(_("Configure"), _("Configure audio and game options"), imgConfig).submenu(configmain));
+       m_menu.add(MenuOption(_("Quit"), _("Leave the game"), imgQuit).screen(""));
+}
+
+#ifdef USE_WEBSERVER
+// FIXME: Move most of this code to webserver.cc. In particular, print the IP address you actually bind to, not something else.
+
+void ScreenIntro::draw_webserverNotice() {
+       if(m_webserverNoticeTimeout.get() == 0) {
+               m_drawNotice = !m_drawNotice;
+               m_webserverNoticeTimeout.setValue(2);
+       }
+       std::stringstream m_webserverStatusString;
+       if(webserversetting == 1 && m_drawNotice) {
+               m_webserverStatusString << _("Webserver active!\n use a webbrowser\nand navigate to localhost:") << config["game/webserver_port"].i();
+               theme->WebserverNotice.draw(m_webserverStatusString.str());
+       }
+       else if(webserversetting == 2 && m_drawNotice) {
+               if(m_ipaddr.empty()) {
+                       m_ipaddr = getIPaddr();
+               }
+               m_webserverStatusString << _("Webserver active!\n connect to this computer\nusing ") << m_ipaddr << ":" << config["game/webserver_port"].i();
+               theme->WebserverNotice.draw(m_webserverStatusString.str());
+       }
+}
+
+
+std::string ScreenIntro::getIPaddr() {
+       try {
+               boost::asio::io_service netService;
+               boost::asio::ip::udp::resolver resolver(netService);
+               boost::asio::ip::udp::resolver::query query(boost::asio::ip::udp::v4(), "8.8.8.8", "80");
+               boost::asio::ip::udp::resolver::iterator endpoints = resolver.resolve(query);
+               boost::asio::ip::udp::endpoint ep = *endpoints;
+               boost::asio::ip::udp::socket socket(netService);
+               socket.connect(ep);
+               boost::asio::ip::address addr = socket.local_endpoint().address();
+               return addr.to_string();
+       } catch(std::exception& e) {
+               std::string ip = boost::asio::ip::host_name();
+               return ip.empty() ? "localhost" : ip;
+       }
+}
+#else
+void ScreenIntro::draw_webserverNotice() {}
+#endif
diff --git a/game/screen_intro.hh b/game/screen_intro.hh
new file mode 100644 (file)
index 0000000..521c1b6
--- /dev/null
@@ -0,0 +1,44 @@
+#pragma once
+
+#include "animvalue.hh"
+#include "menu.hh"
+#include "screen.hh"
+#include "theme.hh"
+
+#include <boost/asio.hpp>
+
+class Audio;
+class ThemeIntro;
+class SvgTxtTheme;
+class MenuOption;
+
+/// intro screen
+class ScreenIntro : public Screen {
+  public:
+       /// constructor
+       ScreenIntro(std::string const& name, Audio& audio);
+       void enter();
+       void exit();
+       void reloadGL();
+       void manageEvent(SDL_Event event);
+       void manageEvent(input::NavEvent const& event);
+       void draw();
+
+  private:
+       void draw_menu_options();
+       void draw_webserverNotice();
+       void populateMenu();
+       std::string getIPaddr();
+       SvgTxtTheme& getTextObject(std::string const& txt);
+
+       Audio& m_audio;
+       std::unique_ptr<ThemeIntro> theme;
+       Menu m_menu;
+       bool m_first;
+       bool m_drawNotice = false;
+       AnimValue m_selAnim;
+       AnimValue m_submenuAnim;
+       AnimValue m_webserverNoticeTimeout;
+       int webserversetting = 0;
+       std::string m_ipaddr = "";
+};
diff --git a/game/screen_paths.cc b/game/screen_paths.cc
new file mode 100644 (file)
index 0000000..69325e1
--- /dev/null
@@ -0,0 +1,157 @@
+#include "screen_paths.hh"
+
+#include "configuration.hh"
+#include "controllers.hh"
+#include "platform.hh"
+#include "theme.hh"
+#include "audio.hh"
+#include "i18n.hh"
+
+ScreenPaths::ScreenPaths(std::string const& name, Audio& audio, Songs& songs): Screen(name), m_audio(audio), m_songs(songs) {}
+
+void ScreenPaths::enter() {
+       m_theme = std::make_unique<ThemeAudioDevices>();
+       fs::path homedir(getenv("HOME"));
+       generateMenuFromPath(homedir);
+}
+
+void ScreenPaths::exit() {
+       m_theme.reset();
+       m_songs.reload();
+}
+
+void ScreenPaths::manageEvent(SDL_Event event) {
+       if (event.type == SDL_KEYDOWN) {
+               SDL_Keycode key = event.key.keysym.scancode;
+               uint16_t modifier = event.key.keysym.mod;
+               // Reset to defaults
+               if (key == SDL_SCANCODE_R && modifier & Platform::shortcutModifier()) {
+                       config["paths/songs"].reset(modifier & KMOD_ALT);
+                       config["paths/system"].reset(modifier & KMOD_ALT);
+                       // TODO: Save
+               }
+               else if (key == SDL_SCANCODE_S && modifier & Platform::shortcutModifier()) {
+                       writeConfig(modifier & KMOD_ALT);
+                       Game::getSingletonPtr()->flashMessage((modifier & KMOD_ALT)
+                               ? _("Settings saved as system defaults.") : _("Settings saved."));
+               }
+       }
+}
+
+void ScreenPaths::manageEvent(input::NavEvent const& ev) {
+       Game* gm = Game::getSingletonPtr();
+       if (ev.button == input::NAV_CANCEL) {
+               gm->activateScreen("Intro");
+       }
+       else if (ev.button == input::NAV_PAUSE) m_audio.togglePause();
+       else if (ev.button == input::NAV_DOWN) m_menu.move(1); //one down
+       else if (ev.button == input::NAV_MOREDOWN) m_menu.move(5); //five down (page-dwon-key)
+       else if (ev.button == input::NAV_UP) m_menu.move(-1); //one up
+       else if (ev.button == input::NAV_MOREUP) m_menu.move(-5); //five up (page up key)
+       else if (ev.button == input::NAV_START) m_menu.action(); //enter: execute currently selected option.
+}
+
+void ScreenPaths::generateMenuFromPath(fs::path path) {
+       m_menu.clear();
+       bool folderInConfig = false;
+       ConfigItem::StringList& sl = config["paths/songs"].sl();
+       ConfigItem::StringList::iterator position = sl.begin();
+       for(unsigned int i=0; i<sl.size(); i++) {
+               std::string pathstring = path.string();
+               if(sl.at(i) == pathstring) {
+                       folderInConfig = true;
+                       position = sl.begin() + i;
+                       break;
+               }
+       }
+       bool showHiddenfolders = config["paths/showhiddenfolders"].b();
+       if(showHiddenfolders) {
+               m_menu.add(MenuOption(_("Hide hidden folders"),_("Hide hidden folders")).call([this, sl, path]() {
+                       config["paths/showhiddenfolders"].b() = false;
+                       generateMenuFromPath(path);
+               }));
+       } else {
+               m_menu.add(MenuOption(_("Show hidden folders"),_("Show hidden folders")).call([this, sl, path]() {
+                       config["paths/showhiddenfolders"].b() = true;
+                       generateMenuFromPath(path);
+               }));
+       }
+
+       if(folderInConfig) {
+               m_menu.add(MenuOption(_("Remove this folder"),_("Remove current folder from song folders")).call([this, sl, path, position]() {
+                       config["paths/songs"].sl().erase(position); //WHY the fuck is this const??
+                       generateMenuFromPath(path);
+                       //Reload internal, but that crashes!! rely on the user to press ctrl+r in song selection screen
+               }));
+       } else {
+               m_menu.add(MenuOption(_("Add this folder"),_("Add current folder to song folders")).call([this, sl, path]() {
+                       config["paths/songs"].sl().push_back(path.string()); //WHY the fuck is this const??
+                       generateMenuFromPath(path);
+                       //Reload internal, but that crashes!! rely on the user to press ctrl+r in song selection screen
+               }));
+       }
+       m_menu.add(MenuOption(_(".."),_("Go up one folder")).call([this, sl, path]() {
+               generateMenuFromPath(path.parent_path());
+       }));
+//todo sort folders
+       for (fs::directory_iterator dirIt(path), dirEnd; dirIt != dirEnd; ++dirIt) { //loop through files and directories
+               fs::path p = dirIt->path();
+               if (fs::is_directory(p)) {
+                       if(p.filename().c_str()[0] == '.' && !showHiddenfolders) {
+                               std::clog << "screen_paths/notice: Ignoring hidden folder: ." << p.c_str() << std::endl;
+                               continue;
+                       } else {
+                               m_menu.add(MenuOption(p.string(),_("Open folder")).call([this, p](){ generateMenuFromPath(p);
+                               }));
+                       }
+                       
+               }
+       }
+}
+
+
+void ScreenPaths::draw() {
+
+       m_theme->bg.draw();
+
+       //draw menu:
+       {
+               m_theme->back_h.dimensions.fixedHeight(0.065f);
+               m_theme->back_h.dimensions.stretch(m_menu.dimensions.w(), m_theme->back_h.dimensions.h());
+               const size_t showopts = 13; // Show at most 8 options simultaneously
+               const float sel_margin = 0.04;
+               const float x = -0.45;
+               const float start_y = -0.15;
+               double wcounter = 0;
+               const MenuOptions opts = m_menu.getOptions();
+               int start_i = std::min((int)m_menu.curIndex() - 1, (int)opts.size() - (int)showopts
+                       + (m_menu.getSubmenuLevel() == 2 ? 1 : 0)); // Hack to counter side-effects from displaying the value inside the menu
+               if (start_i < 0 || opts.size() == showopts) { start_i = 0; }
+               for (size_t i = start_i, ii = 0; ii < showopts && i < opts.size(); ++i, ++ii) {
+                       MenuOption const& opt = opts[i];
+                       if (i == m_menu.curIndex()) {
+                               double selanim = m_selAnim.get() - start_i;
+                               if (selanim < 0) { selanim = 0; }
+                               m_theme->back_h.dimensions.left(x - sel_margin).center(start_y + selanim*0.08);
+                               m_theme->back_h.draw();
+                               // Draw the text, dim if option not available
+                               {
+                                       ColorTrans c(Color::alpha(opt.isActive() ? 1.0 : 0.5));
+                                       m_theme->device.dimensions.left(x).center(start_y + ii*0.03);
+                                       m_theme->device.draw(opt.getName());
+                               } // to make the colortrans object go out of scope
+                               wcounter = std::max(wcounter, m_theme->device.w() + 2 * sel_margin); // Calculate the widest entry
+                               // If this is a config item, show the value below
+                       } else {
+                               ColorTrans c(Color::alpha(opt.isActive() ? 0.8 : 0.5));
+                               m_theme->device.dimensions.left(x).center(start_y + ii*0.03);
+                               m_theme->device.draw(opt.getName());
+                       }
+               }
+       } //draw menu
+       m_theme->comment_bg.dimensions.center().screenBottom(-0.01);
+       m_theme->comment_bg.draw();
+       m_theme->comment.dimensions.left(-0.48).screenBottom(-0.028);
+       m_theme->comment.draw(m_menu.current().getComment());
+
+}
diff --git a/game/screen_paths.hh b/game/screen_paths.hh
new file mode 100644 (file)
index 0000000..db214b0
--- /dev/null
@@ -0,0 +1,36 @@
+#pragma once
+
+#include "config.hh"
+#include "menu.hh"
+#include "screen.hh"
+#include "songs.hh"
+#include "textinput.hh"
+#include "theme.hh"
+#include <boost/filesystem.hpp>
+#include <iostream>
+#include <map>
+#include <string>
+
+class Audio;
+class ThemeAudioDevices;
+
+/// options dialogue
+class ScreenPaths: public Screen {
+  public:
+       /// constructor
+       ScreenPaths(std::string const& name, Audio& audio, Songs& songs);
+       void enter();
+       void exit();
+       void manageEvent(SDL_Event event);
+       void manageEvent(input::NavEvent const& event);
+       void draw();
+       void generateMenuFromPath(fs::path path);
+
+  private:
+       Audio& m_audio;
+       Songs& m_songs;
+       std::unique_ptr<ThemeAudioDevices> m_theme;
+       Menu m_menu;
+       AnimValue m_selAnim;
+};
+
diff --git a/game/screen_players.cc b/game/screen_players.cc
new file mode 100644 (file)
index 0000000..1beab13
--- /dev/null
@@ -0,0 +1,198 @@
+#include "screen_players.hh"
+#include "screen_songs.hh"
+
+#include "configuration.hh"
+#include "audio.hh"
+#include "database.hh"
+#include "fs.hh"
+#include "util.hh"
+#include "layout_singer.hh"
+#include "theme.hh"
+#include "video.hh"
+#include "i18n.hh"
+#include "controllers.hh"
+
+#include <iostream>
+#include <sstream>
+#include <boost/format.hpp>
+
+ScreenPlayers::ScreenPlayers(std::string const& name, Audio& audio, Database& database):
+  Screen(name), m_audio(audio), m_database(database), m_players(database.m_players)
+{
+       m_players.setAnimMargins(5.0, 5.0);
+       m_playTimer.setTarget(getInf()); // Using this as a simple timer counting seconds
+}
+
+void ScreenPlayers::enter() {
+       keyPressed = false;
+       m_layout_singer = std::make_unique<LayoutSinger>(m_song->getVocalTrack(0), m_database);
+       theme = std::make_unique<ThemeSongs>();
+       m_emptyCover = std::make_unique<Texture>(findFile("no_player_image.svg"));
+       m_search.text.clear();
+       m_players.setFilter(m_search.text);
+       m_audio.fadeout();
+       m_quitTimer.setValue(config["game/highscore_timeout"].i());
+       if (m_database.scores.empty() || !m_database.reachedHiscore(m_song)) {
+               Game::getSingletonPtr()->activateScreen("Playlist");
+       }
+}
+
+void ScreenPlayers::exit() {
+       m_layout_singer.reset();
+
+       m_covers.clear();
+       m_emptyCover.reset();
+       theme.reset();
+       m_video.reset();
+       m_songbg.reset();
+       m_playing.clear();
+       m_playReq.clear();
+
+       m_database.save();
+}
+
+void ScreenPlayers::manageEvent(input::NavEvent const& event) {
+       keyPressed = true;
+       Game* gm = Game::getSingletonPtr();
+       input::NavButton nav = event.button;
+       if (nav == input::NAV_CANCEL) {
+               if (m_search.text.empty()) { gm->activateScreen("Songs"); return; }
+               else { m_search.text.clear(); m_players.setFilter(m_search.text); }
+       } else if (nav == input::NAV_START) {
+               if (m_players.empty()) {
+                       m_players.addPlayer(m_search.text);
+                       m_players.setFilter(m_search.text);
+                       m_players.update();
+                       // the current player is the new created one
+               }
+               m_database.addHiscore(m_song);
+               m_database.scores.pop_front();
+
+               if (m_database.scores.empty() || !m_database.reachedHiscore(m_song)) {
+                       // no more highscore, we are now finished
+                       gm->activateScreen("Playlist");
+               } else {
+                       m_search.text.clear();
+                       m_players.setFilter("");
+                       // add all players which reach highscore because if score is very near or same it might be
+                       // frustrating for second one that he cannot enter, so better go for next one...
+               }
+       }
+       else if (m_players.empty()) return;
+       else if (nav == input::NAV_PAUSE) m_audio.togglePause();
+       else if (nav == input::NAV_LEFT) m_players.advance(-1);
+       else if (nav == input::NAV_RIGHT) m_players.advance(1);
+       else if (nav == input::NAV_UP) m_players.advance(-1);
+       else if (nav == input::NAV_DOWN) m_players.advance(1);
+       else if (nav == input::NAV_MOREUP) m_players.advance(-10);
+       else if (nav == input::NAV_MOREDOWN) m_players.advance(10);
+}
+
+void ScreenPlayers::manageEvent(SDL_Event event) {
+       keyPressed = true;
+       if (event.type == SDL_TEXTINPUT) {
+               m_search += event.text.text;
+               m_players.setFilter(m_search.text);
+       }
+       else if (event.type == SDL_KEYDOWN) {
+               int key = event.key.keysym.scancode;
+               if (key == SDL_SCANCODE_BACKSPACE) {
+                       m_search.backspace();
+                       m_players.setFilter(m_search.text);
+               }
+       }
+}
+
+Texture* ScreenPlayers::loadTextureFromMap(fs::path path) {
+       if(m_covers.find(path) == m_covers.end()) {
+               std::pair<fs::path, std::unique_ptr<Texture>> kv = std::make_pair(path, std::make_unique<Texture>(path));
+               m_covers.insert(std::move(kv));
+       }
+       try {
+               return m_covers.at(path).get();
+       } catch (std::exception const&) {}
+       return nullptr;
+}
+
+void ScreenPlayers::draw() {
+       m_players.update(); // Poll for new players
+       double length = m_audio.getLength();
+       double time = clamp(m_audio.getPosition() - config["audio/video_delay"].f(), 0.0, length);
+       if (m_songbg.get()) m_songbg->draw();
+       if (m_video.get()) m_video->render(time);
+       theme->bg.draw();
+       std::string music, songbg, video;
+       double videoGap = 0.0;
+       std::ostringstream oss_song, oss_order;
+       // Test if there are no players currently selected
+       if (m_players.empty()) {
+               // Format the song information text
+               if (m_search.text.empty()) {
+                       oss_song << _("No players found!");
+                       oss_order << _("Enter a name to create a new player.");
+               } else {
+                       oss_song << _("Press enter to create player!");
+                       oss_order << m_search.text << '\n';
+               }
+       } else if (m_database.scores.empty()) {
+               oss_song << _("No players worth mentioning!");
+       } else {
+               // Format the player information text
+               oss_song << m_database.scores.front().track << '\n';
+               // TODO: use boost::format
+               oss_song << boost::format(_("You reached %1% points!")) % m_database.scores.front().score;
+               oss_order << _("Change player with arrow keys.") << '\n'
+                       << _("Name:") << ' ' << m_players.current().name << '\n';
+               //m_database.queryPerPlayerHiscore(oss_order);
+               oss_order << '\n'
+                       << (m_search.text.empty() ? _("Type text to filter or create a new player.") : std::string(_("Search Text:")) + " " + m_search.text)
+                       << '\n';
+               double spos = m_players.currentPosition(); // This needs to be polled to run the animation
+
+               // Draw the covers
+               std::size_t ss = m_players.size();
+               int baseidx = spos + 1.5; --baseidx; // Round correctly
+               double shift = spos - baseidx;
+               // FIXME: 3D browser
+               for (int i = -2; i < 5; ++i) {
+                       PlayerItem player_display = m_players[baseidx + i];
+                       if (baseidx + i < 0 || baseidx + i >= int(ss)) continue;
+                       
+                       Texture& s = !player_display.path.empty() ? *loadTextureFromMap(player_display.path) : *m_emptyCover;
+                       double diff = (i == 0 ? (0.5 - fabs(shift)) * 0.07 : 0.0);
+                       double y = 0.27 + 0.5 * diff;
+                       // Draw the cover
+                       s.dimensions.middle(-0.2 + 0.17 * (i - shift)).bottom(y - 0.2 * diff).fitInside(0.14 + diff, 0.14 + diff); s.draw();
+                       // Draw the reflection
+                       s.dimensions.top(y + 0.2 * diff); s.tex = TexCoords(0, 1, 1, 0);
+                       {
+                               ColorTrans c(Color::alpha(0.4));
+                               s.draw();
+                       }
+                       s.tex = TexCoords();
+               }
+               /*
+               if (!song.music.empty()) music = song.music[0]; // FIXME: support multiple tracks
+               if (!song.background.empty()) songbg = song.path + song.background;
+               if (!song.video.empty()) { video = song.path + song.video; videoGap = song.videoGap; }
+               */
+       }
+
+       // Draw song and order texts
+       theme->song.draw(oss_song.str());
+       theme->order.draw(oss_order.str());
+
+       // Schedule playback change if the chosen song has changed
+       if (music != m_playReq) { m_playReq = music; m_playTimer.setValue(0.0); }
+       if (m_quitTimer.get() == 0.0 && !keyPressed) { Game::getSingletonPtr()->activateScreen("Playlist"); return; }
+       // Play/stop preview playback (if it is the time)
+       if (music != m_playing && m_playTimer.get() > 0.4) {
+               m_songbg.reset(); m_video.reset();
+               if (music.empty()) m_audio.fadeout(1.0); else m_audio.playMusic(music, true, 2.0);
+               if (!songbg.empty()) try { m_songbg = std::make_unique<Texture>(songbg); } catch (std::exception const&) {}
+               if (!video.empty() && config["graphic/video"].b()) m_video = std::make_unique<Video>(video, videoGap);
+               m_playing = music;
+       }
+       m_layout_singer->drawScore(LayoutSinger::TOP);
+}
+
diff --git a/game/screen_players.hh b/game/screen_players.hh
new file mode 100644 (file)
index 0000000..e84014c
--- /dev/null
@@ -0,0 +1,55 @@
+#pragma once
+
+#include "animvalue.hh"
+#include "screen.hh"
+#include "theme.hh"
+#include "textinput.hh"
+#include "layout_singer.hh"
+
+class Song;
+class Audio;
+class Video;
+class Players;
+class Texture;
+class Database;
+class ThemeSongs;
+class LayoutSinger;
+
+/** Player hiscore addition screen.
+  Database is passed as argument, but only the players is stored
+  and used everywhere.
+ */
+class ScreenPlayers : public Screen {
+  public:
+       /// constructor
+       ScreenPlayers(std::string const& name, Audio& audio, Database& database);
+       void enter();
+       void exit();
+       void manageEvent(SDL_Event event);
+       void manageEvent(input::NavEvent const& event);
+       void draw();
+
+       void setSong (std::shared_ptr<Song> song_)
+       {
+               m_song = song_;
+       }
+
+  private:
+       Texture* loadTextureFromMap(fs::path path);
+       Audio& m_audio;
+       Database& m_database;
+       Players& m_players;
+       std::shared_ptr<Song> m_song; /// Pointer to the current song
+       std::unique_ptr<Texture> m_songbg;
+       std::unique_ptr<Video> m_video;
+       std::unique_ptr<ThemeSongs> theme;
+       std::string m_playing;
+       std::string m_playReq;
+       AnimValue m_playTimer;
+       AnimValue m_quitTimer;
+       TextInput m_search;
+       std::unique_ptr<Texture> m_emptyCover;
+       std::map<fs::path, std::unique_ptr<Texture>> m_covers;
+       std::unique_ptr<LayoutSinger> m_layout_singer;
+       bool keyPressed = false;
+};
diff --git a/game/screen_playlist.cc b/game/screen_playlist.cc
new file mode 100644 (file)
index 0000000..718af69
--- /dev/null
@@ -0,0 +1,401 @@
+#include "screen_playlist.hh"
+#include "menu.hh"
+#include "screen_sing.hh"
+#include "playlist.hh"
+#include "theme.hh"
+#include "util.hh"
+#include "i18n.hh"
+
+#include <iostream>
+#include <sstream>
+
+ScreenPlaylist::ScreenPlaylist(std::string const& name,Audio& audio, Songs& songs, Backgrounds& bgs):
+       Screen(name), m_audio(audio), m_songs(songs), m_backgrounds(bgs), keyPressed()
+{}
+
+void ScreenPlaylist::enter() {
+       Game* gm = Game::getSingletonPtr();
+       // Initialize webcam
+       gm->loading(_("Initializing webcam..."), 0.1);
+       if (config["graphic/webcam"].b() && Webcam::enabled()) {
+               try {
+                       m_cam = std::make_unique<Webcam>(config["graphic/webcamid"].i());
+               } catch (std::exception& e) { std::cout << e.what() << std::endl; };
+       }
+       m_audio.togglePause();
+       if (gm->getCurrentPlayList().isEmpty()) {
+               if(!config["game/autoplay"].b()) {
+                       gm->activateScreen("Songs");
+               }
+       }
+       keyPressed = false;
+       auto timervalue = config["game/playlist_screen_timeout"].i();
+       if(timervalue < 0.0) {
+               timervalue = 0.0;
+       }
+       m_nextTimer.setValue(timervalue);
+       overlay_menu.close();
+       gm->loading(_("Loading song timestamps..."), 0.2);
+       createSongListMenu();
+       songlist_menu.open();
+       reloadGL();
+}
+
+void ScreenPlaylist::prepare() {
+       return;
+}
+
+void ScreenPlaylist::reloadGL() {
+       theme = std::make_unique<ThemePlaylistScreen>();
+       m_menuTheme = std::make_unique<ThemeInstrumentMenu>();
+       m_singCover = std::make_unique<Texture>(findFile("no_cover.svg"));
+       m_instrumentCover = std::make_unique<Texture>(findFile("instrument_cover.svg"));
+       m_bandCover = std::make_unique<Texture>(findFile("band_cover.svg"));
+       m_danceCover = std::make_unique<Texture>(findFile("dance_cover.svg"));
+}
+
+void ScreenPlaylist::exit() {
+       overlay_menu.clear();
+       songlist_menu.clear();
+       m_menuTheme.reset();
+       theme.reset();
+       m_audio.togglePause();
+       m_background.reset();
+       m_cam.reset();
+}
+
+
+void ScreenPlaylist::manageEvent(input::NavEvent const& event) {
+       input::NavButton nav = event.button;
+       Menu& menu = overlay_menu.isOpen() ? overlay_menu : songlist_menu;
+
+       if (keyPressed == false)
+               keyPressed = true;
+
+       if (nav == input::NAV_CANCEL) {
+               if(overlay_menu.isOpen()) {
+                       overlay_menu.close();
+               } else {
+                       createEscMenu();
+                       overlay_menu.open();
+               }
+       } else {
+               if (nav == input::NAV_PAUSE) {
+                       m_audio.togglePause();
+               } else if (nav == input::NAV_START) {
+                       menu.action();
+               } else if (event.menu == input::NAVMENU_A_PREV) {
+                       menu.move(-1);
+               } else if (event.menu == input::NAVMENU_A_NEXT) {
+                       menu.move(1);
+               } else if (event.menu == input::NAVMENU_B_PREV) {
+                       menu.move(-1);
+               } else if (event.menu == input::NAVMENU_B_NEXT) {
+                       menu.move(1);
+               }
+       }
+}
+
+void ScreenPlaylist::manageEvent(SDL_Event) {
+       return;
+}
+
+void ScreenPlaylist::draw() {
+       Game* gm = Game::getSingletonPtr();
+       if (!m_background || m_background->empty()) m_background = std::make_unique<Texture>(m_backgrounds.getRandom());
+       m_background->draw();
+       if (m_nextTimer.get() == 0.0 && keyPressed == false) {
+               Screen* s = gm->getScreen("Sing");
+               ScreenSing* ss = dynamic_cast<ScreenSing*> (s);
+               assert(ss);
+               if(gm->getCurrentPlayList().isEmpty()) {
+                       m_songs.setFilter("");
+                       auto randomsong = std::rand() % m_songs.size();
+                       ss->setSong(m_songs[randomsong]);
+               } else {
+                       ss->setSong(gm->getCurrentPlayList().getNext());
+               }
+               gm->activateScreen("Sing");
+       }
+       if (m_cam && config["graphic/webcam"].b()) m_cam->render();
+       draw_menu_options();
+       //menu on top of everything
+       if (overlay_menu.isOpen()) {
+               drawMenu();
+       }
+       if(needsUpdate) {
+               std::lock_guard<std::mutex> l(m_mutex);
+               createSongListMenu();
+               needsUpdate = false;
+       }
+       auto const& playlist = gm->getCurrentPlayList().getList();
+       for (unsigned i = playlist.size() - 1; i < playlist.size(); --i) {
+               if(i < 9) { //only draw the first 9 covers
+                       Texture& s = getCover(*playlist[i]);
+                       float pos =  i / std::max<float>(9, 9);
+                       using namespace glmath;
+                       Transform trans(
+                         translate(vec3(-0.4f + 0.9f * pos, 0.045f, 0.0f)) //vec3(horizontal-offset-from-center, vertical offset from screen_bottom)
+                         * rotate(-0.0f, vec3(0.0f, 1.0f, 0.0f))
+                       );
+                       s.dimensions.middle().screenBottom(-0.06).fitInside(0.08, 0.08);
+                       s.draw();
+               }
+       }
+}
+
+Texture* ScreenPlaylist::loadTextureFromMap(fs::path path) {
+       if(m_covers.find(path) == m_covers.end()) {
+               std::pair<fs::path, std::unique_ptr<Texture>> kv = std::make_pair(path, std::make_unique<Texture>(path));
+               m_covers.insert(std::move(kv));
+       }
+       try {
+               return m_covers.at(path).get();
+       } catch (std::exception const&) {}
+       return nullptr;
+}
+
+Texture& ScreenPlaylist::getCover(Song const& song) {
+       Texture* cover = nullptr;
+       // Fetch cover image from cache or try loading it
+       if (!song.cover.empty()) cover = loadTextureFromMap(song.cover);
+       // Fallback to background image as cover if needed
+       if (!cover && !song.background.empty()) cover = loadTextureFromMap(song.background);
+       // Use empty cover
+       if (!cover) {
+               if(song.hasDance()) {
+                       cover = m_danceCover.get();
+               } else if(song.hasDrums()) {
+                       cover = m_bandCover.get();
+               } else {
+                       size_t tracks = song.instrumentTracks.size();
+                       if (tracks == 0) cover = m_singCover.get();
+                       else cover = m_instrumentCover.get();
+               }
+       }
+       return *cover;
+}
+
+void ScreenPlaylist::createEscMenu() {
+       overlay_menu.clear();
+       overlay_menu.add(MenuOption(_("Continue"), _("Continue playing")).call([this]() {
+               Game* gm = Game::getSingletonPtr();
+               Screen* s = gm->getScreen("Sing");
+               ScreenSing* ss = dynamic_cast<ScreenSing*> (s);
+               assert(ss);
+               if(!gm->getCurrentPlayList().isEmpty()) {
+                       ss->setSong(gm->getCurrentPlayList().getNext());
+               } else {
+                       m_songs.setFilter("");
+                       auto randomsong = std::rand() % m_songs.size();
+                       ss->setSong(m_songs[randomsong]);
+               }
+               gm->activateScreen("Sing");
+       }));
+       overlay_menu.add(MenuOption(_("Add songs"), _("Open the song browser to add more songs")).screen("Songs"));
+       overlay_menu.add(MenuOption(_("Shuffle"), _("Randomize the order of the playlist")).call([this]() {
+               Game* tm = Game::getSingletonPtr();
+               tm->getCurrentPlayList().shuffle();
+               overlay_menu.close();
+               createSongListMenu();
+       }));
+       overlay_menu.add(MenuOption(_("Clear and exit"), _("Remove all the songs from the list")).call([this]() {
+               Game* tm = Game::getSingletonPtr();
+               tm->getCurrentPlayList().clear();
+               overlay_menu.close();
+               tm->activateScreen("Songs");
+       }));
+       overlay_menu.add(MenuOption(_("Back"), _("Back to playlist viewer")).call([this]() {
+               overlay_menu.close();
+       }));
+}
+
+void ScreenPlaylist::drawMenu() {
+       if (overlay_menu.empty()) return;
+       // Some helper vars
+       ThemeInstrumentMenu& th = *m_menuTheme;
+       const auto cur = &overlay_menu.current();
+       double w = overlay_menu.dimensions.w();
+       const float txth = th.option_selected.h();
+       const float step = txth * 0.85f;
+       const float h = overlay_menu.getOptions().size() * step + step;
+       float y = -h * .5f + step;
+       float x = -w * .5f + step;
+       // Background
+       th.bg.dimensions.middle(0).center(0).stretch(w, h);
+       th.bg.draw();
+       // Loop through menu items
+       w = 0;
+       for (MenuOptions::const_iterator it = overlay_menu.begin(); it != overlay_menu.end(); ++it) {
+               // Pick the font object
+               SvgTxtTheme* txt = &th.option_selected;
+               if (cur != &*it)
+                       txt = &(th.getCachedOption(it->getName()));
+               // Set dimensions and draw
+               txt->dimensions.middle(x).center(y);
+               txt->draw(it->getName());
+               w = std::max(w, txt->w() + 2 * step); // Calculate the widest entry
+               y += step;
+       }
+       if (cur->getComment() != "") {
+               th.comment.dimensions.middle(0).screenBottom(-0.12);
+               th.comment.draw(cur->getComment());
+       }
+       overlay_menu.dimensions.stretch(w, h);
+}
+
+void ScreenPlaylist::draw_menu_options() {
+       // Variables used for positioning and other stuff
+       double wcounter = 0;
+       const size_t showopts = 7; // Show at most 8 options simultaneously
+       const float x = -0.35; // x xcoordinate from screen center, the menu should be aligned left of the center therefore it´s negative.n
+       const float start_y = -0.15;
+       const float sel_margin = 0.04;
+       const MenuOptions opts = songlist_menu.getOptions();
+       double submenuanim = 1.0 - std::min(1.0, std::abs(m_submenuAnim.get()-songlist_menu.getSubmenuLevel()));
+       // Determine from which item to start
+       int start_i = std::min((int)songlist_menu.curIndex() - 1, (int)opts.size() - (int)showopts
+               + (songlist_menu.getSubmenuLevel() == 2 ? 1 : 0)); // Hack to counter side-effects from displaying the value inside the menu
+       if (start_i < 0 || opts.size() == showopts) start_i = 0;
+
+       // Loop the currently visible options
+       for (size_t i = start_i, ii = 0; ii < showopts && i < opts.size(); ++i, ++ii) {
+               MenuOption const& opt = opts[i];
+               ColorTrans c(Color::alpha(submenuanim));
+
+               // Selection
+               if (i == songlist_menu.curIndex()) {
+                       // Animate selection higlight moving
+                       double selanim = m_selAnim.get() - start_i;
+                       if (selanim < 0) selanim = 0;
+                       // Draw the text, dim if option not available
+                       {
+                               ColorTrans c(Color::alpha(opt.isActive() ? 1.0 : 0.5));
+                               theme->option_selected.dimensions.left(x).center(start_y + ii*0.049);
+                               theme->option_selected.draw(opt.getName());
+                       }
+                       wcounter = std::max(wcounter, theme->option_selected.w() + 2 * sel_margin); // Calculate the widest entry
+                       // If this is a config item, show the value below
+                       if (opt.type == MenuOption::CHANGE_VALUE) {
+                               ++ii; // Use a slot for the value
+                               theme->option_selected.dimensions.left(x + sel_margin).center(-0.1 + (selanim+1)*0.08);
+                               theme->option_selected.draw("<  " + opt.value->getValue() + "  >");
+                       }
+
+               // Regular option (not selected)
+               } else {
+                       std::string title = opt.getName();
+                       SvgTxtTheme& txt = getTextObject(title);
+                       ColorTrans c(Color::alpha(opt.isActive() ? 1.0 : 0.5));
+                       txt.dimensions.left(x).center(start_y + ii*0.05);
+                       txt.draw(title);
+                       wcounter = std::max(wcounter, txt.w() + 2 * sel_margin); // Calculate the widest entry
+               }
+       }
+       songlist_menu.dimensions.stretch(wcounter, 1);
+}
+
+SvgTxtTheme& ScreenPlaylist::getTextObject(std::string const& txt) {
+       if (theme->options.find(txt) != theme->options.end()) return (*theme->options.at(txt).get());
+       std::pair<std::string, std::unique_ptr<SvgTxtTheme>> kv = std::make_pair(txt, std::make_unique<SvgTxtTheme>(findFile("mainmenu_option.svg"), config["graphic/text_lod"].f()));
+       theme->options.insert(std::move(kv));
+       return (*theme->options.at(txt).get());
+}
+
+void ScreenPlaylist::createSongListMenu() {
+       Game* gm = Game::getSingletonPtr();
+       std::ostringstream oss_playlist;
+       int count = 1;
+       songlist_menu.clear();
+       SongList& currentList = gm->getCurrentPlayList().getList();
+       int totaldurationSeconds = 0;
+       for (auto const& song: currentList) {
+               //timestamp handles
+               int hours = 0;
+               int minutes = 0;
+               int seconds = totaldurationSeconds;
+               while(seconds >= 60) {
+                       minutes++;
+                       seconds -= 60;
+               }
+               while(minutes >= 60) {
+                       hours ++;
+                       minutes -=60;
+               }
+               oss_playlist << "#" << count << " : " << song->artist << " - " << song->title << "  +";
+               if(hours > 0) {
+                       oss_playlist << std::setw(2) << std::setfill('0') << hours << ":";
+               }
+                       oss_playlist << std::setw(2) << std::setfill('0') << minutes << ":" << std::setw(2) << std::setfill('0') << seconds;
+               std::string songinfo = oss_playlist.str();
+               if (songinfo.length() > 20) {
+                       songinfo = songinfo + "                           >"; //FIXME: ugly hack to make the text scale so it fits on screen!
+               }
+               //then add it to the menu:
+               songlist_menu.add(MenuOption(_(songinfo.c_str()),_("Press enter to view song options")).call([this, count]() {
+                       createSongMenu(count);
+                       overlay_menu.open();
+               }));
+               oss_playlist.str("");
+               count++;
+               totaldurationSeconds += song->getDurationSeconds();
+               totaldurationSeconds += config["game/playlist_screen_timeout"].i();
+       }
+       songlist_menu.add(MenuOption(_("View more options"),_("View general playlist settings")).call([this]() {
+               createEscMenu();
+               overlay_menu.open();
+       }));
+}
+
+void ScreenPlaylist::createSongMenu(int songNumber) {
+       overlay_menu.clear();
+       std::string firstOption = songNumber >= 2 ? _("Play first") : _("Continue");
+       std::string firstDesc = songNumber >= 2 ?
+               _("Ignore the playlist's order and play this song first") :
+               _("Start the song already!");
+       overlay_menu.add(MenuOption(firstOption, firstDesc).call([songNumber]() {
+               Game* gm = Game::getSingletonPtr();
+               Screen* s = gm->getScreen("Sing");
+               ScreenSing* ss = dynamic_cast<ScreenSing*>(s);
+               assert(ss);
+               ss->setSong(gm->getCurrentPlayList().getSong(songNumber - 1));
+               gm->activateScreen("Sing");
+       }));
+       overlay_menu.add(MenuOption(_("Remove"), _("Remove this song from the list")).call([this, songNumber]() {
+               Game* gm = Game::getSingletonPtr();
+               // Minus 1 so it doesn´t remove #2 when you´ve selected #1
+               gm->getCurrentPlayList().removeSong(songNumber - 1);
+               overlay_menu.close();
+               if (gm->getCurrentPlayList().isEmpty()) {
+                       gm->activateScreen("Songs");
+               } else {
+                       createSongListMenu();
+               }
+       }));
+       if (songNumber >= 2) { //can't move up first song
+               overlay_menu.add(MenuOption(_("Move up"), _("Move this song up the list")).call([this, songNumber]() {
+                       Game* gm = Game::getSingletonPtr();
+                       gm->getCurrentPlayList().swap(songNumber -1, songNumber -2);
+                       createSongListMenu();
+                       overlay_menu.close();
+               }));
+       }
+       Game* gm = Game::getSingletonPtr();
+       int size = gm->getCurrentPlayList().getList().size();
+       if (songNumber < size) { //can't move down the last song
+               overlay_menu.add(MenuOption(_("Move Down"), _("Move this song down the list")).call([this, songNumber]() {
+                       Game* gm = Game::getSingletonPtr();
+                       gm->getCurrentPlayList().swap(songNumber -1, songNumber);
+                       createSongListMenu();
+                       overlay_menu.close();
+               }));
+       }
+       overlay_menu.add(MenuOption(_("Back"), _("Back to playlist viewer")).call([this]() {
+               overlay_menu.close();
+       }));
+}
+
+void ScreenPlaylist::triggerSongListUpdate() {
+std::lock_guard<std::mutex> l (m_mutex);
+needsUpdate = true;
+}
diff --git a/game/screen_playlist.hh b/game/screen_playlist.hh
new file mode 100644 (file)
index 0000000..cef1881
--- /dev/null
@@ -0,0 +1,72 @@
+#pragma once
+
+#include "backgrounds.hh"
+#include "screen.hh"
+#include "menu.hh"
+#include "song.hh"
+#include "animvalue.hh"
+#include "playlist.hh"
+#include "controllers.hh"
+#include "songs.hh"
+#include "texture.hh"
+#include "webcam.hh"
+#include "theme.hh"
+#include "configuration.hh"
+#include <mutex>
+#include <vector>
+
+class Audio;
+class Database;
+class Song;
+class Texture;
+class ThemePlaylistScreen;
+class Backgrounds;
+class ThemeInstrumentMenu;
+
+class ScreenPlaylist : public Screen
+{
+public:
+       typedef std::vector< std::shared_ptr<Song> > SongList;
+       ScreenPlaylist(std::string const& name, Audio& audio, Songs& songs, Backgrounds& bgs);
+       void manageEvent(input::NavEvent const& event);
+       void manageEvent(SDL_Event);
+       void prepare();
+       void draw();
+       void enter();
+       void exit();
+       void reloadGL();
+       void triggerSongListUpdate();
+private:
+       Menu overlay_menu;
+       Menu songlist_menu;
+       bool m_first;
+       AnimValue m_selAnim;
+       AnimValue m_submenuAnim;
+       Audio& m_audio;
+       Songs& m_songs;
+       void createSongListMenu();
+       void createEscMenu();
+       void createSongMenu(int songNumber);
+       void drawMenu();
+       void createMenuFromPlaylist();
+       Texture* loadTextureFromMap(fs::path path);
+       Backgrounds& m_backgrounds;
+       std::map<fs::path, std::unique_ptr<Texture>> m_covers;
+       std::unique_ptr<ThemeInstrumentMenu> m_menuTheme;
+       std::unique_ptr<ThemePlaylistScreen> theme;
+       std::unique_ptr<Texture> m_background;
+       SvgTxtTheme& getTextObject(std::string const& txt);
+       AnimValue m_nextTimer;
+       void draw_menu_options();
+       bool keyPressed;
+       bool needsUpdate = false;
+       mutable std::mutex m_mutex;
+       Texture& getCover(Song const& song);
+       std::unique_ptr<Texture> m_singCover;
+       std::unique_ptr<Texture> m_instrumentCover;
+       std::unique_ptr<Texture> m_bandCover;
+       std::unique_ptr<Texture> m_danceCover;
+       std::unique_ptr<Webcam> m_cam;
+};
+
+
diff --git a/game/screen_practice.cc b/game/screen_practice.cc
new file mode 100644 (file)
index 0000000..037478a
--- /dev/null
@@ -0,0 +1,111 @@
+#include "screen_practice.hh"
+
+#include "audio.hh"
+#include "util.hh"
+#include "fs.hh"
+#include "controllers.hh"
+#include "theme.hh"
+#include "progressbar.hh"
+
+ScreenPractice::ScreenPractice(std::string const& name, Audio& audio):
+  Screen(name), m_audio(audio)
+{}
+
+void ScreenPractice::enter() {
+       m_audio.playMusic(findFile("practice.ogg"));
+       // draw vu meters
+       for (unsigned int i = 0, mics = m_audio.analyzers().size(); i < mics; ++i) {
+               auto progressBarPtr = std::unique_ptr<ProgressBar>(std::make_unique<ProgressBar>(findFile("vumeter_bg.svg"), findFile("vumeter_fg.svg"), ProgressBar::VERTICAL, 0.136, 0.023));
+               m_vumeters.push_back(std::move(progressBarPtr));
+       }
+       m_samples.push_back("drum bass");
+       m_samples.push_back("drum snare");
+       m_samples.push_back("drum hi-hat");
+       m_samples.push_back("drum tom1");
+       m_samples.push_back("drum cymbal");
+       //m_samples.push_back("drum tom2");
+       reloadGL();
+       Game::getSingletonPtr()->controllers.enableEvents(true);
+}
+
+void ScreenPractice::reloadGL() {
+       theme = std::make_unique<ThemePractice>();
+}
+
+void ScreenPractice::exit() {
+       Game::getSingletonPtr()->controllers.enableEvents(false);
+       m_vumeters.clear();
+       m_samples.clear();
+       theme.reset();
+}
+
+void ScreenPractice::manageEvent(input::NavEvent const& event) {
+       Game* gm = Game::getSingletonPtr();
+       input::NavButton nav = event.button;
+       if (nav == input::NAV_CANCEL || nav == input::NAV_START) gm->activateScreen("Intro");
+       else if (nav == input::NAV_PAUSE) m_audio.togglePause();
+       // Process all instrument events that are available, then throw away the instruments...
+       input::DevicePtr dev = gm->controllers.registerDevice(event.source);
+       if (dev) {
+               for (input::Event ev; dev->getEvent(ev);) {
+                       if (ev.value == 0.0) continue;
+                       if (dev->type == input::DEVTYPE_DANCEPAD) {}
+                       else if (dev->type == input::DEVTYPE_GUITAR) {}
+                       else if (dev->type == input::DEVTYPE_DRUMS) m_audio.playSample(m_samples[ev.button.num() % m_samples.size()]);
+               }
+       }
+       // TODO: We could store the DevicePtrs and display the instruments on screen in a meaningful way
+       // Note: Alternatively this could be done via listening to NavEvents and not even registering the devices, simplifying the above processing.
+}
+
+void ScreenPractice::draw() {
+       theme->bg.draw();
+       this->draw_analyzers();
+}
+
+void ScreenPractice::draw_analyzers() {
+       theme->note.dimensions.fixedHeight(0.03f);
+       theme->sharp.dimensions.fixedHeight(0.09f);
+       auto& analyzers = m_audio.analyzers();
+       if (analyzers.empty()) return;
+       MusicalScale scale;
+       double textPower = -getInf();
+       double textFreq = 0.0;
+
+       for (unsigned int i = 0; i < analyzers.size(); ++i) {
+               Analyzer& analyzer = analyzers[i];
+               analyzer.process();
+               Tone const* tone = analyzer.findTone();
+               double freq = (tone ? tone->freq : 0.0);
+               if (tone && tone->db > textPower) {
+                       textPower = tone->db;
+                       textFreq = freq;
+               }
+               // getPeak returns 0.0 when clipping, negative values when not that loud.
+               // Normalizing to [0,1], where 0 is -43 dB or less (to match the vumeter graphic)
+               m_vumeters[i]->dimensions.screenBottom().left(-0.4 + i * 0.08).fixedWidth(0.04); //0.08 was originally 0.2. Now 11 in a row fits
+               m_vumeters[i]->draw(analyzer.getPeak() / 43.0 + 1.0);
+
+               if (freq != 0.0) {
+                       Analyzer::tones_t tones = analyzer.getTones();
+
+                       for (Analyzer::tones_t::const_iterator t = tones.begin(); t != tones.end(); ++t) {
+                               if (t->age < Tone::MINAGE) continue;
+                               if (!scale.setFreq(t->freq).isValid()) continue;
+                               double line = scale.getNoteLine() + 0.4 * scale.getNoteOffset();
+                               float posXnote = -0.25 + 0.2 * i + 0.002 * t->stabledb;  // Wiggle horizontally based on volume
+                               float posYnote = -0.03 - line * 0.015;  // On treble key (C4), plus offset (lines)
+
+                               theme->note.dimensions.left(posXnote).center(posYnote);
+                               theme->note.draw();
+                               // Draw # for sharp notes
+                               if (scale.isSharp()) {
+                                       theme->sharp.dimensions.right(posXnote).center(posYnote);
+                                       theme->sharp.draw();
+                               }
+                       }
+               }
+       }
+       // Display note and frequency
+       if (textFreq > 0.0) theme->note_txt.draw(scale.setFreq(textFreq).getStr());
+}
diff --git a/game/screen_practice.hh b/game/screen_practice.hh
new file mode 100644 (file)
index 0000000..4bbc78e
--- /dev/null
@@ -0,0 +1,31 @@
+#pragma once
+
+#include "controllers.hh"
+#include "screen.hh"
+#include "theme.hh"
+
+class Audio;
+class Sample;
+class ProgressBar;
+class ThemePractice;
+
+/// screen for practice mode
+class ScreenPractice : public Screen {
+  public:
+       /// constructor
+       ScreenPractice(std::string const& name, Audio& audio);
+       void enter();
+       void exit();
+       void reloadGL();
+       void manageEvent(input::NavEvent const& event);
+       void draw();
+
+       /// draw analyzers
+       void draw_analyzers();
+
+  private:
+       Audio& m_audio;
+       std::vector<std::string> m_samples;
+       std::vector<std::unique_ptr<ProgressBar>> m_vumeters;
+       std::unique_ptr<ThemePractice> theme;
+};
diff --git a/game/screen_sing.cc b/game/screen_sing.cc
new file mode 100644 (file)
index 0000000..97ae822
--- /dev/null
@@ -0,0 +1,754 @@
+#include "screen_sing.hh"
+
+#include "backgrounds.hh"
+#include "dancegraph.hh"
+#include "database.hh"
+#include "engine.hh"
+#include "fs.hh"
+#include "glutil.hh"
+#include "guitargraph.hh"
+#include "i18n.hh"
+#include "layout_singer.hh"
+#include "menu.hh"
+#include "platform.hh"
+#include "screen_players.hh"
+#include "songparser.hh"
+#include "util.hh"
+#include "video.hh"
+#include "webcam.hh"
+#include "screen_songs.hh"
+
+#include <boost/format.hpp>
+#include <iostream>
+#include <stdexcept>
+#include <cmath>
+#include <utility>
+
+namespace {
+       /// Add a flash message about the state of a config item
+       void dispInFlash(ConfigItem& ci) {
+               Game* gm = Game::getSingletonPtr();
+               gm->flashMessage(ci.getShortDesc() + ": " + ci.getValue());
+       }
+}
+
+ScreenSing::ScreenSing(std::string const& name, Audio& audio, Database& database, Backgrounds& bgs):
+       Screen(name), m_audio(audio), m_database(database), m_backgrounds(bgs),
+       m_selectedTrack(TrackName::LEAD_VOCAL)
+{}
+
+void ScreenSing::enter() {
+       keyPressed = false;
+       m_DuetTimeout.setValue(10);
+       Game* gm = Game::getSingletonPtr();
+       // Initialize webcam
+       gm->loading(_("Initializing webcam..."), 0.1);
+       if (config["graphic/webcam"].b() && Webcam::enabled()) {
+               try {
+                       m_cam = std::make_unique<Webcam>(config["graphic/webcamid"].i());
+               } catch (std::exception& e) { std::cout << e.what() << std::endl; };
+       }
+       // Load video
+       gm->loading(_("Loading video..."), 0.2);
+       if (!m_song->video.empty() && config["graphic/video"].b()) {
+               m_video = std::make_unique<Video>(m_song->video, m_song->videoGap);
+       }
+       reloadGL();
+       // Load song notes
+       gm->loading(_("Loading song..."), 0.4);
+       try { m_song->loadNotes(false /* don't ignore errors */); }
+       catch (SongParserException& e) {
+               std::clog << e;
+               gm->activateScreen("Songs");
+       }
+       // Notify about broken tracks
+       if (!m_song->b0rked.empty()) gm->dialog(_("Song contains broken tracks!") + std::string("\n\n") + m_song->b0rked);
+       // Startup delay for instruments is longer than for singing only
+       double setup_delay = (!m_song->hasControllers() ? -1.0 : -5.0);
+       m_audio.pause();
+       m_audio.playMusic(m_song->music, false, 0.0, setup_delay);
+       gm->loading(_("Loading menu..."), 0.7);
+       {
+               m_duet = ConfigItem(0);
+               for (size_t player = 0; player < players(); ++player) {
+                       ConfigItem& vocalTrack = m_vocalTracks[player];
+                       vocalTrack = ConfigItem(0);
+               }
+               prepareVoicesMenu();
+       }
+       gm->showLogo(false);
+       gm->loading(_("Loading complete"), 1.0);
+}
+
+void ScreenSing::prepareVoicesMenu(size_t moveSelectionTo) {
+               VocalTracks const& tracks = m_song->vocalTracks;
+               m_menu.clear();
+               m_menu.add(MenuOption(_("Start"), _("Start performing")).call([this]{ setupVocals(); }));
+
+               if (players() > 1) { // Duet toggle
+                       m_duet.addEnum(_("Duet mode"));
+                       m_duet.addEnum(_("Normal mode"));
+                       m_menu.add(MenuOption("", _("Switch between duet and regular singing mode")).changer(m_duet,"song/duet"));
+               }
+               // Add vocal track selector for each player
+               for (size_t player = 0; player < players(); ++player) {
+                       ConfigItem& vocalTrack = m_vocalTracks[player];
+                       for (auto const& track: tracks) vocalTrack.addEnum(track.second.name);
+                       if (tracks.size() > 1) {
+                               if (player % 2) vocalTrack.selectEnum(m_song->getVocalTrack(SongParserUtil::DUET_P2).name);  // Every other player gets the second track
+                               else vocalTrack.selectEnum(m_song->getVocalTrack(TrackName::LEAD_VOCAL).name);
+                       }
+                       m_menu.add(MenuOption("", _("Change vocal track")).changer(vocalTrack));
+                       if (m_duet.i() == 1) {
+                               vocalTrack.selectEnum(m_song->getVocalTrack(SongParserUtil::DUET_BOTH).name);
+                               break; // If duet mode is disabled, the vocal track selection for players beyond the first is ignored anyway.
+                       }
+               }
+               m_menu.add(MenuOption(_("Quit"), _("Exit to song browser")).screen("Songs"));
+               m_menu.select(moveSelectionTo);
+               m_menu.open();
+               if (tracks.size() <= 1) setupVocals();  // No duet menu
+}
+
+void ScreenSing::setupVocals() {
+       if (!m_song->vocalTracks.empty()) {
+               m_layout_singer.clear();
+               Engine::VocalTrackPtrs selectedTracks;
+               auto& analyzers = m_audio.analyzers();
+               //size_t players = (analyzers.empty() ? 1 : analyzers.size());  // Always at least 1; should be number of mics
+               std::set<VocalTrack*> shownTracks;  // Tracks to be included in layout_singer (stored by name for proper sorting and merging duplicates)
+               for (size_t player = 0; player < players(); ++player) {
+                       VocalTrack* vocal = &m_song->getVocalTrack(m_vocalTracks[(m_duet.i() == 0 ? player : 0)].i());
+                       selectedTracks.push_back(vocal);
+                       shownTracks.insert(vocal);
+               }
+               //if (shownTracks.size() > 2) throw std::runtime_error("Too many tracks chosen. Only two vocal tracks can be used simultaneously.")
+               for (auto const& trk: shownTracks) {
+                       auto layoutSingerPtr = std::unique_ptr<LayoutSinger>(std::make_unique<LayoutSinger>(*trk, m_database, theme));
+                       m_layout_singer.push_back(std::move(layoutSingerPtr));
+               }
+               // Note: Engine maps tracks with analyzers 1:1. If user doesn't have mics, we still want to have singer layout enabled but without engine...
+               if (!analyzers.empty()) m_engine = std::make_unique<Engine>(m_audio, selectedTracks, m_database);
+       }
+       createPauseMenu();
+       bool sameVoice = true;
+       for (size_t player = 0; player < players(); ++player) {
+               ConfigItem& vocalTrack = m_vocalTracks[player];
+               if (player == 0) { m_selectedVocal = vocalTrack.i(); }
+               if (vocalTrack.i() != static_cast<int>(m_selectedVocal)) { sameVoice = false; break; }
+       }
+       m_singingDuet = (m_song->hasDuet() && m_duet.i() == 0 && players() > 1 && sameVoice != true);
+       m_audio.pause(false);
+}
+
+void ScreenSing::createPauseMenu() {
+       m_menu.clear();
+       m_menu.add(MenuOption(_("Resume"), _("Back to performing!")));
+       m_menu.add(MenuOption(_("Restart"), _("Start the song\nfrom the beginning")).screen("Sing"));
+       Game* gm = Game::getSingletonPtr();
+       if(!gm->getCurrentPlayList().isEmpty() || config["game/autoplay"].b()){
+               m_menu.add(MenuOption(_("Skip"), _("Skip current song")).screen("Playlist"));
+       }
+       m_menu.add(MenuOption(_("Quit"), _("Exit to song browser")).call([]() {
+               Game* gm = Game::getSingletonPtr();
+               gm->activateScreen("Songs");
+       }));
+       m_menu.close();
+}
+
+void ScreenSing::reloadGL() {
+       // Load UI graphics
+       theme = std::make_shared<ThemeSing>();
+       m_menuTheme = std::make_unique<ThemeInstrumentMenu>();
+       m_pause_icon = std::make_unique<Texture>(findFile("sing_pause.svg"));
+       m_player_icon = std::make_unique<Texture>(findFile("sing_pbox.svg")); // For duet menu
+       m_help = std::make_unique<Texture>(findFile("instrumenthelp.svg"));
+       m_progress = std::make_unique<ProgressBar>(findFile("sing_progressbg.svg"), findFile("sing_progressfg.svg"), ProgressBar::HORIZONTAL, 0.01f, 0.01f, true);
+       // Load background
+       if (!m_song->background.empty()) m_background = std::make_unique<Texture>(m_song->background);
+}
+
+void ScreenSing::exit() {
+       Game::getSingletonPtr()->controllers.enableEvents(false);
+       m_engine.reset();
+       m_score_window.reset();
+       m_menu.clear();
+       m_instruments.clear();
+       m_layout_singer.clear();
+       m_help.reset();
+       m_pause_icon.reset();
+       m_player_icon.reset();
+       m_cam.reset();
+       m_video.reset();
+       m_background.reset();
+       m_song->dropNotes();
+       m_menuTheme.reset();
+       theme.reset();
+       m_audio.fadeout(0);
+       if (m_audio.isPaused()) m_audio.togglePause();
+       Game::getSingletonPtr()->showLogo();
+}
+
+
+
+/// Manages the instrument drawing
+void ScreenSing::instrumentLayout(double time) {
+       if (!m_song->hasControllers()) return;
+       int count_alive = 0, count_menu = 0, i = 0;
+       // Remove dead instruments and do the counting
+       for (Instruments::iterator it = m_instruments.begin(); it != m_instruments.end(); ) {
+               if ((*it)->dead()) {
+                       it = m_instruments.erase(it);
+                       continue;
+               }
+               ++count_alive;
+               if ((*it)->menuOpen()) ++count_menu;
+               ++it;
+       }
+       if (count_alive > 0) {
+               // Handle pause
+               bool shouldPause = count_menu > 0 || m_menu.isOpen();
+               if (shouldPause != m_audio.isPaused()) m_audio.togglePause();
+       } else if (time < -0.5) {
+               // Display help if no-one has joined yet
+               ColorTrans c(Color::alpha(clamp(-1.0 - 2.0 * time)));
+               m_help->draw();
+       }
+       double iw = std::min(0.5, 1.0 / count_alive);
+       typedef std::pair<unsigned, double> CountSum;
+       std::map<std::string, CountSum> volume; // Stream id to (count, sum)
+       std::map<std::string, CountSum> pitchbend; // Stream id to (count, sum)
+       for (Instruments::iterator it = m_instruments.begin(); it != m_instruments.end(); ++it, ++i) {
+               (*it)->engine();
+               (*it)->position((0.5 + i - 0.5 * count_alive) * iw, iw); // Do layout stuff
+               (*it)->draw(time);
+               {
+                       CountSum& cs = volume[(*it)->getTrack()];
+                       cs.first++;
+                       cs.second += (*it)->correctness();
+               }{
+                       CountSum& cs = pitchbend[(*it)->getTrack()];
+                       cs.first++;
+                       cs.second += (*it)->getWhammy();
+               }
+       }
+       // Set volume levels (averages of all instruments playing that track)
+       for (auto const& track: m_song->music) {
+               std::string const& name = track.first;
+               std::string locName = _(name.c_str());  // FIXME: There should NOT be gettext calls here!
+               double level = 1.0;
+               if (volume.find(locName) != volume.end()) {
+                       CountSum cs = volume[locName];
+                       if (cs.first > 0) level = cs.second / cs.first;
+                       if (m_song->music.size() <= 1) level = std::max(0.333, level);
+               }
+               m_audio.streamFade(name, level);
+               if (pitchbend.find(locName) != pitchbend.end()) {
+                       CountSum cs = pitchbend[locName];
+                       level = cs.second;
+                       m_audio.streamBend(name, level);
+               }
+       }
+}
+
+void ScreenSing::activateNextScreen()
+{
+       Game* gm = Game::getSingletonPtr();
+
+       m_database.addSong(m_song);
+       if (m_database.scores.empty() || !m_database.reachedHiscore(m_song)) {
+               // if no highscore reached..
+               gm->activateScreen("Playlist");
+       }
+
+       // Score window visible -> Enter quits to Players Screen
+       if(!config["game/karaoke_mode"].i() && !m_song->hasDance() &&!m_song->hasDrums() &&!m_song->hasGuitars()) {
+               Screen* s = gm->getScreen("Players");
+               ScreenPlayers* ss = dynamic_cast<ScreenPlayers*> (s);
+               assert(ss);
+               ss->setSong(m_song);
+               gm->activateScreen("Players");
+       } else {
+               gm->activateScreen("Playlist");
+       }
+}
+
+void ScreenSing::manageEvent(input::NavEvent const& event) {
+       keyPressed = true;
+       input::NavButton nav = event.button;
+       m_quitTimer.setValue(config["game/results_timeout"].i());
+       double time = m_audio.getPosition();
+       Song::Status status = m_song->status(time, this);
+       // When score window is displayed
+       if (m_score_window.get()) {
+               if (nav == input::NAV_START || nav == input::NAV_CANCEL) activateNextScreen();
+               return;  // The rest are only available when score window is not displayed
+       }
+       // Instant quit with CANCEL at the very beginning
+       if (nav == input::NAV_CANCEL && time < 1.0) {
+               if (m_menu.isOpen()) { m_menu.moveToLast(); }
+               else { Game::getSingletonPtr()->activateScreen(config["game/autoplay"].b() ? "Songs" : "Playlist"); }
+               return;
+       }
+
+       if (event.repeat == 0 && devCanParticipate(event.devType)) {
+               Game* gm = Game::getSingletonPtr();
+               input::DevicePtr dev = gm->controllers.registerDevice(event.source);
+               if (dev) {
+                       // Eat all events and see if any are valid for joining
+                       input::DevType type = input::DEVTYPE_GENERIC;
+                       std::string msg;
+                       for (input::Event ev; dev->getEvent(ev);) {
+                               if (ev.value == 0.0) continue;
+                               if (dev->type == input::DEVTYPE_DANCEPAD && m_song->hasDance()) {
+                                       if (ev.button == input::DANCEPAD_UP) type = dev->type;
+                                       else msg = dev->source.isKeyboard() ? _("Press UP to join dance!") : _("Step UP to join!");
+                               }
+                               else if (dev->type == input::DEVTYPE_GUITAR && m_song->hasGuitars()) {
+                                       if (ev.button == input::GUITAR_GREEN) type = dev->type;
+                                       else if (ev.button != input::GUITAR_WHAMMY && ev.button != input::GUITAR_GODMODE) {
+                                               msg = dev->source.isKeyboard() ? _("Press 1 to join guitar!") : _("Press GREEN to join!");
+                                       }
+                               }
+                               else if (dev->type == input::DEVTYPE_DRUMS && m_song->hasDrums()) {
+                                       if (ev.button == input::DRUMS_KICK) type = dev->type;
+                                       else msg = dev->source.isKeyboard() ? _("Press SPACE to join drums!") : _("KICK to join!");
+                               }
+                       }
+                       if (!msg.empty()) gm->flashMessage(msg, 0.0, 0.1, 0.1);
+                       else if (type == input::DEVTYPE_DANCEPAD) m_instruments.push_back(std::make_unique<DanceGraph>(m_audio, *m_song, dev));
+                       else if (type != input::DEVTYPE_GENERIC) m_instruments.push_back(std::make_unique<GuitarGraph>(m_audio, *m_song, dev, m_instruments.size()));
+               }
+       }
+
+       // Only pause or esc opens the global menu (instruments have their own menus)
+       // TODO: This should probably check if the source is participating as an instrument or not rather than check for its type
+       if (!devCanParticipate(event.devType) && (nav == input::NAV_PAUSE || nav == input::NAV_CANCEL) && !m_audio.isPaused() && !m_menu.isOpen()) {
+               m_menu.open();
+               m_audio.togglePause();
+       }
+       // Global/singer pause menu navigation
+       if (m_menu.isOpen()) {
+               int do_action = 0;
+               if (nav == input::NAV_START) { do_action = 1; }
+               else if (nav == input::NAV_LEFT) {
+                       if (m_menu.current().type == MenuOption::CHANGE_VALUE) { do_action = -1; }
+                       else { m_menu.move(-1); return; }
+               }
+               else if (nav == input::NAV_RIGHT) {
+                       if (m_menu.current().type == MenuOption::CHANGE_VALUE) { do_action = 1; }
+                       else { m_menu.move(1); return; }
+                       }
+               else if (nav == input::NAV_DOWN) { m_menu.move(1); return; }
+               else if (nav == input::NAV_UP) { m_menu.move(-1); return; }
+
+               if (do_action != 0) {
+                       std::string currentOption = m_menu.current().getVirtName();
+                       m_menu.action(do_action);
+                       if (currentOption == "song/duet") { prepareVoicesMenu(m_menu.curIndex()); }
+                       // Did the action close the menu?
+                       if (!m_menu.isOpen() && m_audio.isPaused()) {
+                               m_audio.togglePause();
+                       }
+                       return;
+               }
+       }
+       // Start button has special functions for skipping things (only in singing for now)
+       if (nav == input::NAV_START && m_instruments.empty() && !m_layout_singer.empty() && !m_audio.isPaused()) {
+               // Open score dialog early
+               if (status == Song::Status::FINISHED) {
+                       if (m_engine) m_engine->kill(); // Kill the engine thread
+                       m_score_window = std::make_unique<ScoreWindow>(m_instruments, m_database); // Song finished, but no score window -> show it
+               }
+               // Skip instrumental breaks
+               else if (status == Song::Status::INSTRUMENTAL_BREAK) {
+                       if (time < 0) m_audio.seek(0.0);
+                       else {
+                               // TODO: Instead of calculating here, calculate instrumental breaks right after song loading and store in Song data structures
+                               double diff = getNaN();
+                               for (size_t i = 0; i < m_layout_singer.size(); ++i) {
+                                       double d = m_layout_singer[i]->lyrics_begin() - 3.0 - time;
+                                       if (!(d > diff)) diff = d;  // Store smallest d in diff (notice NaN handling)
+                               }
+                               if (diff > 0.0) m_audio.seek(diff);
+                       }
+               }
+       }
+}
+
+
+void ScreenSing::manageEvent(SDL_Event event) {
+       keyPressed = true;
+       double time = m_audio.getPosition();
+       SDL_Scancode key = event.key.keysym.scancode;
+       // Ctrl combinations that can be used while performing (not when score dialog is displayed)
+       if (event.type == SDL_KEYDOWN && (event.key.keysym.mod & Platform::shortcutModifier(false)) && !m_score_window.get()) {
+               if (key == SDL_SCANCODE_C) {
+                       m_audio.toggleCenterChannelSuppressor();
+                       ++config["audio/suppress_center_channel"];
+                       dispInFlash(config["audio/suppress_center_channel"]);
+               }
+               if (key == SDL_SCANCODE_S) m_audio.toggleSynth(m_song->getVocalTrack(m_selectedTrack).notes);
+               if (key == SDL_SCANCODE_V) m_audio.streamFade("vocals", event.key.keysym.mod & KMOD_SHIFT ? 1.0 : 0.0);
+               if (key == SDL_SCANCODE_K)  { // Toggle karaoke mode
+                       if(config["game/karaoke_mode"].i() >=2) config["game/karaoke_mode"].i() = 0;
+                       else ++config["game/karaoke_mode"];
+                       dispInFlash(config["game/karaoke_mode"]);
+               }
+               if (key == SDL_SCANCODE_H) {
+                       config["game/Textstyle"].i() ?  config["game/Textstyle"].i() = 0 : ++config["game/Textstyle"];
+                       dispInFlash(config["game/Textstyle"]);
+                       }
+               if (key == SDL_SCANCODE_W) dispInFlash(++config["game/pitch"]); // Toggle pitch wave
+               // Toggle webcam
+               if (key == SDL_SCANCODE_A && Webcam::enabled()) {
+                       // Initialize if we haven't done that already
+                       if (!m_cam) { try { m_cam = std::make_unique<Webcam>(config["graphic/webcamid"].i()); } catch (...) { }; }
+                       if (m_cam) { dispInFlash(++config["graphic/webcam"]); m_cam->pause(!config["graphic/webcam"].b()); }
+               }
+               // Latency settings
+               if (key == SDL_SCANCODE_COMMA) dispInFlash(--config["audio/video_delay"]);
+               if (key == SDL_SCANCODE_PERIOD) dispInFlash(++config["audio/video_delay"]);
+               if (key == SDL_SCANCODE_MINUS) dispInFlash(--config["audio/round-trip"]);
+               if (key == SDL_SCANCODE_EQUALS) dispInFlash(++config["audio/round-trip"]);
+               if (key == SDL_SCANCODE_LEFTBRACKET) dispInFlash(--config["audio/controller_delay"]);
+               if (key == SDL_SCANCODE_RIGHTBRACKET) dispInFlash(++config["audio/controller_delay"]);
+               bool seekback = false;
+
+               if (m_song->danceTracks.empty()) { // Seeking backwards is currently not permitted for dance songs
+                       if (key == SDL_SCANCODE_HOME) { m_audio.seekPos(0.0); seekback = true; }
+                       if (key == SDL_SCANCODE_LEFT) {
+                               Song::SongSection section("error", 0);
+                               if (m_song->getPrevSection(m_audio.getPosition(), section)) {
+                                       m_audio.seekPos(section.begin);
+                                       // TODO: display popup with section.name here
+                                       std::cout << section.name << std::endl;
+                               } else m_audio.seek(-5.0);
+                               seekback = true;
+                       }
+               }
+               if (key == SDL_SCANCODE_RIGHT) {
+                       Song::SongSection section("error", 0);
+                       if (m_song->getNextSection(m_audio.getPosition(), section)) {
+                               m_audio.seekPos(section.begin);
+                               // TODO: display popup with section.name here
+                               std::cout << section.name << std::endl;
+                       } else m_audio.seek(5.0);
+               }
+
+               // Some things must be reset after seeking backwards
+               if (seekback)
+                       for (unsigned i = 0; i < m_layout_singer.size(); ++i)
+                               m_layout_singer[i]->reset();
+               // Reload current song
+               if (key == SDL_SCANCODE_R) {
+                       exit(); m_song->reload(); enter();
+                       m_audio.seek(time);
+               }
+       }
+}
+
+namespace {
+       const double arMin = 1.33;
+       const double arMax = 2.35;
+
+       void fillBG() {
+               Dimensions dim(arMin);
+               dim.fixedWidth(1.0);
+               glutil::VertexArray va;
+               va.texCoord(0,0).vertex(dim.x1(), dim.y1());
+               va.texCoord(0,0).vertex(dim.x2(), dim.y1());
+               va.texCoord(0,0).vertex(dim.x1(), dim.y2());
+               va.texCoord(0,0).vertex(dim.x2(), dim.y2());
+               getShader("texture").bind();
+               va.draw();
+       }
+}
+
+void ScreenSing::prepare() {
+       Game* gm = Game::getSingletonPtr();
+       // Enable/disable controllers as needed (mostly so that keyboard navigation will not be obstructed).
+       gm->controllers.enableEvents(m_song->hasControllers() && !m_menu.isOpen() && !m_score_window.get());
+       double time = m_audio.getPosition();
+       if (m_video) m_video->prepare(time);
+       // Menu mangling
+       // We don't allow instrument menus during global menu
+       // except for joining, in which case global menu is closed
+       if (m_menu.isOpen()) {
+               for (auto& i: m_instruments) {
+                       if (i->joining(time)) m_menu.close(); else i->toggleMenu(0);
+               }
+       }
+}
+
+/// Test if a given device type can join the current song.
+// TODO: Somehow avoid duplicating these same checks in ScreenSing::prepare.
+bool ScreenSing::devCanParticipate(input::DevType const& devType) const {
+       if (devType == input::DEVTYPE_DANCEPAD && m_song->hasDance()) return true;
+       if (devType == input::DEVTYPE_GUITAR && m_song->hasGuitars()) return true;
+       if (devType == input::DEVTYPE_DRUMS && m_song->hasDrums()) return true;
+       return false;   
+}
+
+
+void ScreenSing::draw() {
+       // Get the time in the song
+       double length = m_audio.getLength();
+       double time = m_audio.getPosition();
+       time -= config["audio/video_delay"].f();
+       double songPercent = clamp(time / length);
+
+       // Rendering starts
+       {
+               Transform ft(farTransform());
+               double ar = arMax;
+               // Background image
+               if (!m_background || m_background->empty()) m_background = std::make_unique<Texture>(m_backgrounds.getRandom());
+               ar = m_background->dimensions.ar();
+               if (ar > arMax || (m_video && ar > arMin)) fillBG();  // Fill white background to avoid black borders
+               m_background->draw();
+               // Webcam
+               if (m_cam && config["graphic/webcam"].b()) m_cam->render();
+               // Video
+               if (m_video) {
+                       m_video->render(time); double tmp = m_video->dimensions().ar(); if (tmp > 0.0) ar = tmp;
+               }
+               // Top/bottom borders
+               ar = clamp(ar, arMin, arMax);
+               double offset = 0.5 / ar + 0.2;
+               theme->bg_bottom.dimensions.fixedWidth(1.0).bottom(offset);
+               theme->bg_bottom.draw();
+               theme->bg_top.dimensions.fixedWidth(1.0).top(-offset);
+               theme->bg_top.draw();
+       }
+
+       for (unsigned i = 0; i < m_layout_singer.size(); ++i) m_layout_singer[i]->hideLyrics(m_audio.isPaused());
+
+       instrumentLayout(time);
+
+       bool fullSinger = m_instruments.empty() && m_layout_singer.size() <= 1;
+       for (unsigned i = 0; i < m_layout_singer.size(); ++i) {
+               m_layout_singer[i]->draw(time, fullSinger ? LayoutSinger::FULL : (i == 0 ? LayoutSinger::TOP : LayoutSinger::BOTTOM));
+       }
+
+       Song::Status status = m_song->status(time, this);
+
+       // Compute and draw the timer and the progressbar
+       {
+               unsigned t = clamp(time, 0.0, length);
+               m_progress->dimensions.fixedWidth(0.4).left(-0.5).screenTop();
+               theme->timer.dimensions.screenTop(0.5 * m_progress->dimensions.h());
+               theme->songinfo.dimensions.screenBottom(-0.01);
+               m_progress->draw(songPercent);
+
+               Song::SongSection section("error", 0);
+               std::string statustxt;
+               if (m_song->getPrevSection(t - 1.0, section)) {
+                       statustxt = (boost::format("%02u:%02u - %s") % (t / 60) % (t % 60) % section.name).str();
+               } else  statustxt = (boost::format("%02u:%02u") % (t / 60) % (t % 60)).str();
+
+               if (!m_score_window.get() && m_instruments.empty() && !m_layout_singer.empty()) {
+                       if (status == Song::Status::INSTRUMENTAL_BREAK)  statustxt += _("   ENTER to skip instrumental break");
+                       if (status == Song::Status::FINISHED && !config["game/karaoke_mode"].i()) {
+                               if(config["game/autoplay"].b()) {
+                                       if(m_displayAutoPlay) {
+                                               statustxt += _("   Autoplay enabled");
+                                       }
+                                       else {
+                                                statustxt += _("   Remember to wait for grading!");
+                                       }
+
+                                       if(m_statusTextSwitch.get() == 0) {
+                                       m_displayAutoPlay = !m_displayAutoPlay;
+                                       m_statusTextSwitch.setValue(1);
+                                       }
+                                       } else {
+                                       statustxt += _("   Remember to wait for grading!");
+                               }
+                       } else if(status == Song::Status::FINISHED && config["game/autoplay"].b()) {
+                               statustxt += _("   Autoplay enabled");
+                       }
+               }
+
+               theme->timer.draw(statustxt);
+       }
+
+       if (config["game/karaoke_mode"].i() && !m_song->hasControllers()) { //guitar track? display the score window anyway!
+               if (!m_audio.isPlaying()) {
+                       Game* gm = Game::getSingletonPtr();
+                       gm->activateScreen("Playlist");
+                       return;
+               }
+       } else {
+               if (m_score_window.get()) {
+                       // Score window has been created (we are near the end)
+                       if (m_score_window->empty()) {  // No players to display scores for
+                               if (!m_audio.isPlaying()) { activateNextScreen(); return; }
+                       } else {  // Window being displayed
+                               if (m_quitTimer.get() == 0.0 && !m_audio.isPaused()) { activateNextScreen(); return; }
+                               m_score_window->draw();
+                       }
+               }
+               else if (!m_audio.isPlaying() || (status == Song::Status::FINISHED
+                 && m_audio.getLength() - time <= (m_song->instrumentTracks.empty() && m_song->danceTracks.empty() ? 3.0 : 0.2) )) {
+                       // Time to create the score window
+                       m_quitTimer.setValue(config["game/results_timeout"].i());
+                       if (m_engine) m_engine->kill(); // kill the engine thread (to avoid consuming memory)
+                       m_score_window = std::make_unique<ScoreWindow>(m_instruments, m_database);
+               }
+       }
+
+       // Menus on top of everything
+       for (auto& i: m_instruments) if (i->menuOpen()) i->drawMenu();
+       if (m_menu.isOpen()) drawMenu();
+       if(!keyPressed && m_DuetTimeout.get() == 0) {
+               m_menu.action();
+               }
+       std::string songinfo = m_song->artist + " - " + m_song->title;
+       theme->songinfo.draw(songinfo);
+}
+
+void ScreenSing::drawMenu() {
+       if (m_menu.empty()) return;
+       // Some helper vars
+       ThemeInstrumentMenu& th = *m_menuTheme;
+       const auto cur = &m_menu.current();
+       double w = m_menu.dimensions.w();
+       const float txth = th.option_selected.h();
+       const float step = txth * 0.85f;
+       const float h = m_menu.getOptions().size() * step + step;
+       float y = -h * .5f + step;
+       float x = -w * .5f + step;
+       // Background
+       th.bg.dimensions.middle(0).center(0).stretch(w, h);
+       th.bg.draw();
+       // Loop through menu items
+       w = 0;
+       std::size_t player = 0;
+       auto& analyzers = m_audio.analyzers();
+       for (MenuOptions::const_iterator it = m_menu.begin(); it != m_menu.end(); ++it) {
+               // Pick the font object
+               SvgTxtTheme* txt = &th.option_selected;
+               if (cur != &*it)
+                       txt = &(th.getCachedOption(it->getName()));
+               // Set dimensions and draw
+               txt->dimensions.middle(x).center(y);
+               txt->draw(it->getName());
+               if (it->value == &m_vocalTracks[player]) {
+                       if (player < analyzers.size()) {
+                               Color color = MicrophoneColor::get(analyzers[player].getId());
+                               ColorTrans c(color);
+                               m_player_icon->dimensions.right(x).fixedHeight(0.040).center(y);
+                               m_player_icon->draw();
+                       }
+                       player++;
+               }
+
+               w = std::max(w, txt->w() + 2 * step); // Calculate the widest entry
+               y += step;
+       }
+       if (cur->getComment() != "") {
+               th.comment.dimensions.middle(0).screenBottom(-0.08);
+               th.comment.draw(cur->getComment());
+       }
+       m_menu.dimensions.stretch(w, h);
+}
+
+
+ScoreWindow::ScoreWindow(Instruments& instruments, Database& database):
+  m_database(database),
+  m_pos(0.8, 2.0),
+  m_bg(findFile("score_window.svg")),
+  m_scoreBar(findFile("score_bar_bg.svg"), findFile("score_bar_fg.svg"), ProgressBar::VERTICAL, 0.0, 0.0, false),
+  m_score_text(findFile("score_txt.svg")),
+  m_score_rank(findFile("score_rank.svg"))
+{
+       Game::getSingletonPtr()->showLogo();
+       m_pos.setTarget(0.0);
+       m_database.scores.clear();
+       // Singers
+       for (auto p = m_database.cur.begin(); p != m_database.cur.end();) {
+               ScoreItem item; item.type = input::DEVTYPE_VOCALS;
+               item.score = p->getScore();
+               if (item.score < 500) { p = m_database.cur.erase(p); continue; } // Dead
+               item.track = "Vocals"; // For database
+               item.track_simple = "vocals"; // For ScoreWindow
+               item.color = Color(p->m_color.r, p->m_color.g, p->m_color.b);
+
+               m_database.scores.push_back(item);
+               ++p;
+       }
+       // Instruments
+       for (Instruments::iterator it = instruments.begin(); it != instruments.end();) {
+               ScoreItem item;
+               item.type = (*it)->getGraphType();
+               item.score = (*it)->getScore();
+               if (item.score < 100) { it = instruments.erase(it); continue; } // Dead
+               item.track_simple = (*it)->getTrack();
+               item.track = (*it)->getModeId();
+               item.track = UnicodeUtil::toUpper(item.track, 1); // Capitalize
+               if (item.track_simple == TrackName::DRUMS) item.color = Color(0.1, 0.1, 0.1);
+               else if (item.track_simple == TrackName::BASS) item.color = Color(0.5, 0.3, 0.1);
+               else item.color = Color(1.0, 0.0, 0.0);
+
+               m_database.scores.push_back(item);
+               ++it;
+       }
+
+       if (m_database.scores.empty())
+               m_rank = _("No player!");
+       else {
+               // Determine winner
+               m_database.scores.sort([](ScoreItem i, ScoreItem j) -> bool { return (i.score>j.score); });
+               ScoreItem winner = *std::max_element(m_database.scores.begin(), m_database.scores.end());
+               int topScore = winner.score;
+               // Determine rank
+               if (winner.type == input::DEVTYPE_VOCALS) {
+                       if (topScore > 8000) m_rank = _("Hit singer");
+                       else if (topScore > 6000) m_rank = _("Lead singer");
+                       else if (topScore > 4000) m_rank = _("Rising star");
+                       else if (topScore > 2000) m_rank = _("Amateur");
+                       else m_rank = _("Tone deaf");
+               } else if (winner.type == input::DEVTYPE_DANCEPAD) {
+                       if (topScore > 8000) m_rank = _("Maniac");
+                       else if (topScore > 6000) m_rank = _("Hoofer");
+                       else if (topScore > 4000) m_rank = _("Rising star");
+                       else if (topScore > 2000) m_rank = _("Amateur");
+                       else m_rank = _("Loser");
+               } else {
+                       if (topScore > 8000) m_rank = _("Virtuoso");
+                       else if (topScore > 6000) m_rank = _("Rocker");
+                       else if (topScore > 4000) m_rank = _("Rising star");
+                       else if (topScore > 2000) m_rank = _("Amateur");
+                       else m_rank = _("Tone deaf");
+               }
+       }
+       m_bg.dimensions.middle().center();
+}
+
+void ScoreWindow::draw() {
+       using namespace glmath;
+       Transform trans(translate(vec3(0.0, m_pos.get(), 0.0)));
+       m_bg.draw();
+       const double spacing = 0.1 + 0.1 / m_database.scores.size();
+       unsigned i = 0;
+
+       for (Database::cur_scores_t::const_iterator p = m_database.scores.begin(); p != m_database.scores.end(); ++p, ++i) {
+               int score = p->score;
+               ColorTrans c(p->color);
+               double x = spacing * (0.5 + i - 0.5 * m_database.scores.size());
+               m_scoreBar.dimensions.fixedWidth(0.09).middle(x).bottom(0.20);
+               m_scoreBar.draw(score / 10000.0);
+               m_score_text.render(std::to_string(score));
+               m_score_text.dimensions().middle(x).top(0.24).fixedHeight(0.042);
+               m_score_text.draw();
+               m_score_text.render(p->track_simple);
+               m_score_text.dimensions().middle(x).top(0.20).fixedHeight(0.042);
+               m_score_text.draw();
+       }
+       m_score_rank.draw(m_rank);
+}
+
+bool ScoreWindow::empty() {
+       return m_database.scores.empty();
+}
diff --git a/game/screen_sing.hh b/game/screen_sing.hh
new file mode 100644 (file)
index 0000000..5015297
--- /dev/null
@@ -0,0 +1,116 @@
+#pragma once
+
+#include "animvalue.hh"
+#include "audio.hh" // for AUDIO_MAX_ANALYZERS
+#include "configuration.hh"
+#include "menu.hh"
+#include "opengl_text.hh"
+#include "progressbar.hh"
+#include "screen.hh"
+#include "texture.hh"
+#include "theme.hh"
+#include "instrumentgraph.hh"
+
+#include <deque>
+
+class Audio;
+class Backgrounds;
+class Database;
+class Engine;
+class InstrumentGraph;
+class LayoutSinger;
+class Players;
+class Song;
+class ThemeInstrumentMenu;
+class ThemeSing;
+class Video;
+class Webcam;
+
+typedef std::vector<std::unique_ptr<InstrumentGraph>> Instruments;
+
+/// shows score at end of song
+class ScoreWindow {
+  public:
+       /// constructor
+       ScoreWindow(Instruments& instruments, Database& database);
+       /// draws ScoreWindow
+       void draw();
+       bool empty();
+  private:
+       Database& m_database;
+       AnimValue m_pos;
+       Texture m_bg;
+       ProgressBar m_scoreBar;
+       SvgTxtThemeSimple m_score_text;
+       SvgTxtTheme m_score_rank;
+       std::string m_rank;
+};
+
+/// class for actual singing screen
+class ScreenSing: public Screen {
+  public:
+       /// constructor
+       ScreenSing(std::string const& name, Audio& audio, Database& database, Backgrounds& bgs);
+       void enter();
+       void exit();
+       void reloadGL();
+       void manageEvent(SDL_Event event);
+       void manageEvent(input::NavEvent const& event);
+       Menu const& getMenu() const { return m_menu; }
+       void prepare();
+       void draw();
+
+       size_t selectedVocalTrack() const { return m_selectedVocal; }
+       bool singingDuet() const { return m_singingDuet; }
+       void setupVocals();
+
+       void setSong (std::shared_ptr<Song> song_)
+       {
+               m_song = song_;
+       }
+
+  private:
+       /**Activates Songs Screen or Players Screen.
+         This depends on
+         - the configuration (is Hiscore enabled)
+         - did a player reach a new hiscore
+         - is the hiscore file writable
+         */
+       void activateNextScreen();
+       void instrumentLayout(double time);
+       void createPauseMenu();
+       void drawMenu();
+       void prepareVoicesMenu(size_t moveSelectionTo = 0);
+       bool devCanParticipate(input::DevType const& devType) const;
+       Audio& m_audio;
+       Database& m_database;
+       Backgrounds& m_backgrounds;
+       std::shared_ptr<Song> m_song; /// Pointer to the current song
+       std::unique_ptr<ScoreWindow> m_score_window;
+       std::unique_ptr<ProgressBar> m_progress;
+       std::unique_ptr<Texture> m_background;
+       std::unique_ptr<Video> m_video;
+       std::unique_ptr<Webcam> m_cam;
+       std::unique_ptr<Texture> m_pause_icon;
+       std::unique_ptr<Texture> m_player_icon;
+       std::unique_ptr<Texture> m_help;
+       std::unique_ptr<Engine> m_engine;
+       std::vector<std::unique_ptr<LayoutSinger>> m_layout_singer;
+       std::unique_ptr<ThemeInstrumentMenu> m_menuTheme;
+       Menu m_menu;
+       Instruments m_instruments;
+       std::shared_ptr<ThemeSing> theme;
+       AnimValue m_quitTimer;
+       AnimValue m_statusTextSwitch;
+       AnimValue m_DuetTimeout;
+       std::string m_selectedTrack;
+       std::string m_selectedTrackLocalized;
+       ConfigItem m_vocalTracks[AUDIO_MAX_ANALYZERS];
+       ConfigItem m_duet;
+       size_t players() const { auto& analyzers = m_audio.analyzers(); return (analyzers.empty() ? 1 : analyzers.size()); } // Always have at least one player to display lyrics and prevent crashes.
+       bool m_singingDuet;
+       size_t m_selectedVocal;
+       bool m_displayAutoPlay = false;
+       bool keyPressed = false;
+};
+
diff --git a/game/screen_songs.cc b/game/screen_songs.cc
new file mode 100644 (file)
index 0000000..0b16aff
--- /dev/null
@@ -0,0 +1,554 @@
+#include "screen_songs.hh"
+
+#include "audio.hh"
+#include "configuration.hh"
+#include "database.hh"
+#include "hiscore.hh"
+#include "i18n.hh"
+#include "platform.hh"
+#include "screen_sing.hh"
+#include "screen_playlist.hh"
+#include "songs.hh"
+#include "theme.hh"
+#include "util.hh"
+#include "playlist.hh"
+#include <iostream>
+#include <sstream>
+
+static const double IDLE_TIMEOUT = 45.0; // seconds
+
+ScreenSongs::ScreenSongs(std::string const& name, Audio& audio, Songs& songs, Database& database):
+  Screen(name), m_audio(audio), m_songs(songs), m_database(database)
+{
+       m_songs.setAnimMargins(5.0, 5.0);
+       // Using AnimValues as a simple timers counting seconds
+       m_clock.setTarget(getInf());
+       m_idleTimer.setTarget(getInf());
+}
+
+void ScreenSongs::enter() {
+       m_menu.close();
+       m_songs.setFilter(m_search.text);
+       m_audio.fadeout();
+       m_menuPos = 1;
+       m_infoPos = 0;
+       m_jukebox = false;
+       reloadGL();
+}
+
+void ScreenSongs::reloadGL() {
+       theme = std::make_unique<ThemeSongs>();
+       m_menuTheme = std::make_unique<ThemeInstrumentMenu>();
+       m_songbg_default = std::make_unique<Texture>(findFile("songs_bg_default.svg"));
+       m_songbg_ground = std::make_unique<Texture>(findFile("songs_bg_ground.svg"));
+       m_singCover = std::make_unique<Texture>(findFile("no_cover.svg"));
+       m_instrumentCover = std::make_unique<Texture>(findFile("instrument_cover.svg"));
+       m_bandCover = std::make_unique<Texture>(findFile("band_cover.svg"));
+       m_danceCover = std::make_unique<Texture>(findFile("dance_cover.svg"));
+       m_instrumentList = std::make_unique<Texture>(findFile("instruments.svg"));
+}
+
+void ScreenSongs::exit() {
+       m_covers.clear();
+       m_menu.clear();
+       m_menuTheme.reset();
+       m_singCover.reset();
+       m_instrumentCover.reset();
+       m_danceCover.reset();
+       m_bandCover.reset();
+       m_instrumentList.reset();
+       theme.reset();
+       m_video.reset();
+       m_songbg.reset();
+       m_songbg_default.reset();
+       m_songbg_ground.reset();
+       m_playing.clear();
+}
+
+/// Implement left/right on menu
+void ScreenSongs::menuBrowse(int dir) {
+       switch (m_menuPos) {
+               case 4: m_infoPos = (m_infoPos + dir + 5) % 5; break;
+               case 3: m_songs.typeChange(dir); break;
+               case 2: m_songs.sortChange(dir); break;
+               case 1: m_songs.advance(dir); break;
+               case 0: /* no function on playlist yet */ break;
+       }
+}
+
+void ScreenSongs::manageEvent(input::NavEvent const& event) {
+       Game* gm = Game::getSingletonPtr();
+       input::NavButton nav = event.button;
+       // Handle basic navigational input that is possible also with instruments
+       m_idleTimer.setValue(0.0);  // Reset idle timer
+       if (nav == input::NAV_PAUSE) m_audio.togglePause();
+       else if (event.menu == input::NAVMENU_A_PREV) {
+               if (m_menu.isOpen()) m_menu.move(-1);
+               else menuBrowse(-1);
+       }
+       else if (event.menu == input::NAVMENU_A_NEXT) {
+               if (m_menu.isOpen()) m_menu.move(1);
+               else menuBrowse(1);
+       }
+       else if (nav == input::NAV_MOREUP) m_songs.advance(-10);
+       else if (nav == input::NAV_MOREDOWN) m_songs.advance(10);
+       else if (m_jukebox) {
+               if (nav == input::NAV_CANCEL) m_jukebox = false;
+               else if (nav == input::NAV_START) { addSong(); sing(); }
+               else if (event.menu == input::NAVMENU_B_NEXT)  m_audio.seek(-5);
+               else if (event.menu == input::NAVMENU_B_PREV) m_audio.seek(5);
+               else if (nav == input::NAV_MOREUP) m_audio.seek(-30);
+               else if (nav == input::NAV_MOREDOWN) m_audio.seek(30);
+       } else if (nav == input::NAV_CANCEL) {
+               if (m_menuPos != 1) m_menuPos = 1;  // Exit menu (back to song selection)
+               else if (!m_search.text.empty()) { m_search.text.clear(); m_songs.setFilter(m_search.text); }  // Clear search
+               else if (m_songs.typeNum()) m_songs.typeChange(0);  // Clear type filter
+               else gm->activateScreen("Intro");
+       }
+       // The rest are only available when there are songs available
+       else if (m_songs.empty()) return;
+       else if (nav == input::NAV_START) {
+               if (m_menu.isOpen()) {
+                       m_menu.action();
+               }
+               else if (m_menuPos == 1 /* Cover browser */) {
+                       if (addSong()) sing();  // Add song and sing if it was the first to be added
+               }
+               else if (m_menuPos == 4) {
+                       m_menuPos = 1;
+                       m_jukebox = true;
+               }
+               else if (m_menuPos == 0 /* Playlist */) {
+                       if (gm->getCurrentPlayList().isEmpty()) {
+                               m_menuPos = 1;
+                               addSong();
+                       } else {
+                               createPlaylistMenu();
+                               m_menu.open();
+                       }
+               }
+       }
+       else if (event.menu == input::NAVMENU_B_PREV) {
+               if (m_menu.isOpen()) m_menu.move(-1);
+               else if (m_menuPos < 4) ++m_menuPos;
+       }
+       else if (event.menu == input::NAVMENU_B_NEXT) {
+               if (m_menu.isOpen()) m_menu.move(1);
+               else if (m_menuPos > 0) --m_menuPos;
+       }
+}
+
+void ScreenSongs::manageEvent(SDL_Event event) {
+       // Handle less common, keyboard only keys
+       if (event.type == SDL_TEXTINPUT) {
+               m_search += event.text.text;
+               m_songs.setFilter(m_search.text);
+       }
+       else if (event.type == SDL_KEYDOWN) {
+               SDL_Keysym keysym = event.key.keysym;
+               int key = keysym.scancode;
+               uint16_t mod = event.key.keysym.mod;
+               if (key == SDL_SCANCODE_F4) m_jukebox = !m_jukebox;
+               else if (key == SDL_SCANCODE_BACKSPACE) {
+                       m_search.backspace();
+                       m_songs.setFilter(m_search.text);
+               }
+               else if (!m_jukebox) {
+                       if (key == SDL_SCANCODE_R && mod & Platform::shortcutModifier()) {
+                               m_songs.reload();
+                               m_songs.setFilter(m_search.text);
+                               }
+                       // Shortcut keys for accessing different type filter modes
+                       if (key == SDL_SCANCODE_TAB) m_songs.sortChange(1);
+                       if (key == SDL_SCANCODE_F5) m_songs.typeCycle(2);
+                       if (key == SDL_SCANCODE_F6) m_songs.typeCycle(3);
+                       if (key == SDL_SCANCODE_F7) m_songs.typeCycle(4);
+                       if (key == SDL_SCANCODE_F8) m_songs.typeCycle(1);
+               }
+       }
+       if (m_songs.empty()) m_jukebox = false;
+}
+
+void ScreenSongs::update() {
+       Game* sm = Game::getSingletonPtr();
+       sm->showLogo(!m_jukebox);
+       if (m_idleTimer.get() < 0.3) return;  // Only update when the user gives us a break
+       m_songs.update(); // Poll for new songs
+       bool songChange = false;  // Do we need to switch songs?
+       // Automatic song browsing
+       if (!m_audio.isPaused() && m_idleTimer.get() > 1.0) {
+               // If playback has ended or hasn't started
+               if (!m_audio.isPlaying() || m_audio.getPosition() > m_audio.getLength()) {
+                       songChange = true;  // Force reload even if the music happens to stay the same
+               }
+               // If the above, or if in regular mode and idle too long, advance to next song
+               if (songChange || (!m_jukebox && m_idleTimer.get() > IDLE_TIMEOUT)) {
+                       m_songs.advance(1);
+                       m_idleTimer.setValue(0.0);
+               }
+       }
+       // Check out if the music has changed
+       std::shared_ptr<Song> song = m_songs.currentPtr();
+       Song::Music music;
+       if (song) music = song->music;
+       if (m_playing != music) songChange = true;
+       // Switch songs if needed, only when the user is not browsing for a moment
+       if (!songChange) return;
+       if (song) song->loadNotes();  // Needed for BPM info; TODO: drop notes when switching to another song.
+       m_playing = music;
+       // Clear the old content and load new content if available
+       m_songbg.reset(); m_video.reset();
+       double pstart = (!m_jukebox && song ? song->preview_start : 0.0);
+       m_audio.playMusic(music, true, 1.0, pstart);
+       if (song) {
+               fs::path const& background = song->background.empty() ? song->cover : song->background;
+               if (!background.empty()) try { m_songbg = std::make_unique<Texture>(background); } catch (std::exception const&) {}
+               if (!song->video.empty() && config["graphic/video"].b()) m_video = std::make_unique<Video>(song->video, song->videoGap);
+       }
+}
+
+bool ScreenSongs::addSong() {
+       Game* gm = Game::getSingletonPtr();
+       auto& pl = gm->getCurrentPlayList();
+       bool empty = pl.getList().empty();
+       pl.addSong(m_songs.currentPtr());
+       return empty;
+}
+
+void ScreenSongs::sing() {
+       Game* gm = Game::getSingletonPtr();
+       ScreenSing& ss = dynamic_cast<ScreenSing&>(*gm->getScreen("Sing"));
+       ss.setSong(gm->getCurrentPlayList().getNext());
+       gm->activateScreen("Sing");
+}
+
+void ScreenSongs::prepare() {
+       double time = m_audio.getPosition() - config["audio/video_delay"].f();
+       if (m_video) m_video->prepare(time);
+}
+
+void ScreenSongs::drawJukebox() {
+       double pos = m_audio.getPosition();
+       double len = m_audio.getLength();
+       double diff = len - pos;
+       if (pos < diff) diff = pos;  // Diff from beginning instead of from end
+       if (!m_songbg.get() && !m_video.get()) diff = 0.0;  // Always display song name if there is no background
+       if (diff < 3.0) {
+               Song& song = m_songs.current();
+               // Draw the cover
+               Texture* cover = nullptr;
+               if (!song.cover.empty()) cover = loadTextureFromMap(song.cover);
+               if (cover && !cover->empty()) {
+                       Texture& s = *cover;
+                       s.dimensions.left(theme->song.dimensions.x1()).top(theme->song.dimensions.y2() + 0.05).fitInside(0.15, 0.15);
+                       s.draw();
+               }
+               // Format && draw the song information text
+               std::ostringstream oss_song;
+               oss_song << song.title << '\n' << song.artist;
+               theme->song.draw(oss_song.str());
+       }
+}
+
+void ScreenSongs::drawMultimedia() {
+       if (!m_songs.empty()) {
+               Transform ft(farTransform());  // 3D effect
+               double length = m_audio.getLength();
+               double time = clamp(m_audio.getPosition() - config["audio/video_delay"].f(), 0.0, length);
+               m_songbg_default->draw();   // Default bg
+               if (m_songbg.get() && !m_video.get()) {
+                       if (m_songbg->width() > 512 && m_songbg->dimensions.ar() > 1.1) {
+                               // Full screen mode
+                               float s = sin(m_clock.get()) * 0.15 + 1.15;
+                               Transform sc(glmath::scale(glmath::vec3(s, s, s)));
+                               m_songbg->draw();
+                       } else {
+                               // Low res texture or cover image, render in tiled mode
+                               double x = 0.05 * m_clock.get();
+                               m_songbg->draw(m_songbg->dimensions, TexCoords(x, 0.0, x + 5.0, 5.0));
+                       }
+               }
+               if (m_video.get()) m_video->render(time);
+       }
+       if (!m_jukebox) {
+               m_songbg_ground->draw();
+               theme->bg.draw();
+               drawCovers();
+       }
+}
+
+void ScreenSongs::draw() {
+       update();
+       drawMultimedia();
+       std::ostringstream oss_song, oss_order, oss_hiscore;
+       // Test if there are no songs
+       if (m_songs.empty()) {
+               // Format the song information text
+               if (!m_search.text.empty()) {
+                       oss_song << _("Sorry, no songs match the search!");
+                       oss_order << m_search.text;
+               } else if (m_songs.typeNum()) {
+                       oss_song << _("Sorry, no songs match the filter!");
+                       oss_order << m_songs.typeDesc();
+               } else {
+                       oss_song << _("No songs found!");
+                       oss_order << _("Visit performous.org for free songs");
+               }
+       } else {
+               Song& song = m_songs.current();
+               // Format the song information text
+               oss_song << song.artist << ": " << song.title;
+               // Get hiscores from database
+               m_database.queryPerSongHiscore(oss_hiscore, m_songs.currentPtr());
+               // Escaped bytes of UTF-8 must be used here for compatibility with Windows (MSVC, mingw)
+               char const* VERT_ARROW = "\xe2\x86\x95 ";  // ↕
+               char const* HORIZ_ARROW = "\xe2\x86\x94 ";  // ↔
+               char const* ENTER = "\xe2\x86\xb5 ";  // ↵
+               char const* PAD = "   ";
+               switch (m_menuPos) {
+               case 1:
+                       if (!m_search.text.empty()) oss_order << m_search.text;
+                       else if (m_songs.typeNum()) oss_order << m_songs.typeDesc();
+                       else if (m_songs.sortNum()) oss_order << m_songs.sortDesc();
+                       else oss_order << _("<type in to search>") << PAD << HORIZ_ARROW << _("songs") << PAD << VERT_ARROW << _("options");
+                       break;
+               case 2: oss_order << HORIZ_ARROW << _("sort order: ") << m_songs.sortDesc(); break;
+               case 3: oss_order << HORIZ_ARROW << _("type filter: ") << m_songs.typeDesc(); break;
+               case 4: oss_order << HORIZ_ARROW << _("hiscores") << PAD << ENTER << _("jukebox mode"); break;
+               case 0:
+                       bool empty = Game::getSingletonPtr()->getCurrentPlayList().isEmpty();
+                       oss_order << ENTER << (empty ? _("start a playlist with this song!") : _("open the playlist menu"));
+                       break;
+               }
+       }
+
+       if (m_jukebox) drawJukebox();
+       else {
+               // Draw song and order texts
+               theme->song.draw(oss_song.str());
+               theme->order.draw(oss_order.str());
+               drawInstruments(Dimensions(1.0).fixedHeight(0.09).right(0.45).screenTop(0.02));
+               theme->hiscores.draw(oss_hiscore.str());
+       }
+       // Menus on top of everything
+       if (m_menu.isOpen()) drawMenu();
+}
+
+void ScreenSongs::drawCovers() {
+       double spos = m_songs.currentPosition(); // This needs to be polled to run the animation
+       std::size_t ss = m_songs.size();
+       int currentId = m_songs.currentId();
+       int baseidx = spos + 1.5; --baseidx; // Round correctly
+       double shift = spos - baseidx;
+       // Calculate beat
+       double beat = 0.5 + m_idleTimer.get() / 2.0;  // 30 BPM
+       if (ss > 0) {
+               // Use actual song BPM. FIXME: Should only do this if currentId is also playing.
+               double t = m_audio.getPosition() - config["audio/video_delay"].f();
+               Song::Beats const& beats = m_songs.current().beats;
+               auto it = std::lower_bound(beats.begin(), beats.end(), t);
+               if (it != beats.begin() && it != beats.end()) {
+                       double t1 = *(it - 1), t2 = *it;
+                       beat = (t - t1) / (t2 - t1);
+               }
+       }
+       beat = 1.0 + std::pow(std::abs(std::cos(0.5 * TAU * beat)), 10.0);  // Overdrive pulse
+       // Draw covers and reflections
+       for (int i = -2; i < 6; ++i) {
+               if (baseidx + i < 0 || baseidx + i >= int(ss)) continue;
+               Song& song = *m_songs[baseidx + i];
+               Texture& s = getCover(song);
+               // Calculate dimensions for cover and instrument markers
+               double pos = i - shift;
+               // Function for hilight effect (offset = 0 for current cover), returns 0..1 hilight level
+               auto hilightf = [=](double offset) { return smoothstep(3.5, 0.0, std::abs(pos + offset)); };
+               // Coordinate translations (pos and offset in cover units to z and x in OpenGL space)
+               auto ztrans = [=](double offset) { return -0.5 + 0.3 * hilightf(offset); };
+               auto xtrans = [=](double offset) { return -0.2 + 0.20 * (pos + offset); };
+               // A cover is angled to a line between the surrounding gaps (offset +- 0.5 covers)
+               double angle = -std::atan2(ztrans(0.5) - ztrans(-0.5), xtrans(0.5) - xtrans(-0.5));
+               double y = 0.5 * virtH();
+               double x = xtrans(0.0);
+               double z = ztrans(0.0);
+               double c = 0.4 + 0.6 * hilightf(0.0);
+               if (m_menuPos == 1 /* Cover browser */ && baseidx + i == currentId) c = beat;
+               using namespace glmath;
+               Transform trans(translate(vec3(x, y, z)) * rotate(angle, vec3(0.0, 1.0, 0.0)));
+               ColorTrans c1(Color(c, c, c));
+               s.dimensions.middle().screenCenter().bottom().fitInside(0.17, 0.17);
+               // Draw the cover normally
+               s.draw();
+               // Draw the reflection
+               Transform transMirror(scale(vec3(1.0f, -1.0f, 1.0f)));
+               ColorTrans c2(Color::alpha(0.4));
+               s.draw();
+       }
+       // Draw the playlist
+       Game* gm = Game::getSingletonPtr();
+       auto const& playlist = gm->getCurrentPlayList().getList();
+       double c = (m_menuPos == 0 /* Playlist */ ? beat : 1.0);
+       ColorTrans c1(Color(c, c, c));
+       for (unsigned i = playlist.size() - 1; i < playlist.size(); --i) {
+               Texture& s = getCover(*playlist[i]);
+               double pos =  i / std::max<double>(5.0, playlist.size());
+               using namespace glmath;
+               Transform trans(
+                 translate(vec3(-0.35 + 0.06 * pos, 0.0, 0.3 - 0.2 * pos))
+                 * rotate(-0.0, vec3(0.0, 1.0, 0.0))
+               );
+               s.dimensions.middle().screenBottom(-0.06).fitInside(0.08, 0.08);
+               s.draw();
+       }
+}
+
+Texture* ScreenSongs::loadTextureFromMap(fs::path path) {
+       if(m_covers.find(path) == m_covers.end()) {
+               std::pair<fs::path, std::unique_ptr<Texture>> kv = std::make_pair(path, std::make_unique<Texture>(path));
+               m_covers.insert(std::move(kv));
+       }
+       try {
+               return m_covers.at(path).get();
+       } catch (std::exception const&) {}
+       return nullptr;
+}
+
+Texture& ScreenSongs::getCover(Song const& song) {
+       Texture* cover = nullptr;
+       // Fetch cover image from cache or try loading it
+       if (!song.cover.empty()) cover = loadTextureFromMap(song.cover);
+       // Fallback to background image as cover if needed
+       if (!cover && !song.background.empty()) cover = loadTextureFromMap(song.background);
+       // Use empty cover
+       if (!cover) {
+               if(song.hasDance()) {
+                       cover = m_danceCover.get();
+               } else if(song.hasDrums()) {
+                       cover = m_bandCover.get();
+               } else {
+                       size_t tracks = song.instrumentTracks.size();
+                       if (tracks == 0) cover = m_singCover.get();
+                       else cover = m_instrumentCover.get();
+               }
+       }
+       return *cover;
+}
+
+namespace {
+       float getIconTex(int i) {
+               static int iconcount = 8;
+               return (i-1)/float(iconcount);
+       }
+       void drawIcon(int i, Dimensions const& dim) {
+               glutil::VertexArray va;
+               va.texCoord(getIconTex(i), 0.0f).vertex(dim.x1(), dim.y1());
+               va.texCoord(getIconTex(i), 1.0f).vertex(dim.x1(), dim.y2());
+               va.texCoord(getIconTex(i + 1), 0.0f).vertex(dim.x2(), dim.y1());
+               va.texCoord(getIconTex(i + 1), 1.0f).vertex(dim.x2(), dim.y2());
+               va.draw();
+       }
+}
+
+void ScreenSongs::drawInstruments(Dimensions dim) const {
+       bool have_bass = false;
+       bool have_drums = false;
+       bool have_dance = false;
+       // TODO: Do something with is_karaoke
+       //bool is_karaoke = false;
+       int guitarCount = 0;
+       int vocalCount = 0;
+       if( !m_songs.empty() ) {
+               Song const& song = m_songs.current();
+               have_drums = song.hasDrums();
+               have_dance = song.hasDance();
+               //is_karaoke = (song.music.find("vocals") != song.music.end());
+               if (song.hasVocals()) vocalCount = song.hasDuet() ? 2 : 1; // Make sure our generated duet track is not counted as a third vocal track for drawing.
+               if (isTrackInside(song.instrumentTracks,TrackName::GUITAR)) guitarCount++;
+               if (isTrackInside(song.instrumentTracks,TrackName::GUITAR_COOP)) guitarCount++;
+               if (isTrackInside(song.instrumentTracks,TrackName::GUITAR_RHYTHM)) guitarCount++;
+               if (isTrackInside(song.instrumentTracks,TrackName::BASS)) { guitarCount++; have_bass = true; }
+       }
+
+       UseTexture tex(*m_instrumentList);
+       double x = dim.x1();
+       // dancing
+       if (have_dance) {
+               drawIcon(6, dim.left(x));
+               x -= dim.w();
+       }
+       // drums
+       if (have_drums) {
+               drawIcon(4, dim.left(x));
+               x -= dim.w();
+       }
+       // guitars & bass
+       for (int i = guitarCount-1; i >= 0; i--) {
+               drawIcon(i == 0 && have_bass ? 3 : 2, dim.left(x));
+               x -= (i > 0 ? 0.3 : 1.0) * dim.w();
+       }
+       for (int i = vocalCount-1; i >= 0; i--) {
+               drawIcon(1, dim.left(x));
+               x -= (i > 0 ? 0.3 : 1.0) * dim.w();
+       }
+}
+
+void ScreenSongs::drawMenu() {
+       if (m_menu.empty()) return;
+       // Some helper vars
+       ThemeInstrumentMenu& th = *m_menuTheme;
+       const auto cur = &m_menu.current();
+       double w = m_menu.dimensions.w();
+       const float txth = th.option_selected.h();
+       const float step = txth * 0.85f;
+       const float h = m_menu.getOptions().size() * step + step;
+       float y = -h * .5f + step;
+       float x = -w * .5f + step;
+       // Background
+       th.bg.dimensions.middle(0).center(0).stretch(w, h);
+       th.bg.draw();
+       // Loop through menu items
+       w = 0;
+       for (MenuOptions::const_iterator it = m_menu.begin(); it != m_menu.end(); ++it) {
+               // Pick the font object
+               SvgTxtTheme* txt = &th.option_selected;
+               if (cur != &*it)
+                       txt = &(th.getCachedOption(it->getName()));
+               // Set dimensions and draw
+               txt->dimensions.middle(x).center(y);
+               txt->draw(it->getName());
+               w = std::max(w, txt->w() + 2 * step); // Calculate the widest entry
+               y += step;
+       }
+       if (cur->getComment() != "") {
+               th.comment.dimensions.middle(0).screenBottom(-0.12);
+               th.comment.draw(cur->getComment());
+       }
+       m_menu.dimensions.stretch(w, h);
+}
+
+void ScreenSongs::createPlaylistMenu() {
+       m_menu.clear();
+       m_menu.add(MenuOption(_("Play"), "").call([this]() {
+               Game* tm = Game::getSingletonPtr();
+               tm->getCurrentPlayList().addSong(m_songs.currentPtr());
+               m_menuPos = 1;
+               m_menu.close();
+               sing();
+       }));
+       m_menu.add(MenuOption(_("Shuffle"), "").call([this]() {
+               Game* tm = Game::getSingletonPtr();
+               tm->getCurrentPlayList().shuffle();
+               m_menuPos = 1;
+               m_menu.close();
+       }));
+       m_menu.add(MenuOption(_("View playlist"), "").screen("Playlist"));
+       m_menu.add(MenuOption(_("Clear playlist"), "").call([this]() {
+               Game* tm = Game::getSingletonPtr();
+               tm->getCurrentPlayList().clear();
+               m_menuPos = 1;
+               m_menu.close();
+       }));
+       m_menu.add(MenuOption(_("Back"), "").call([this]() {
+               m_menuPos = 1;
+               m_menu.close();
+       }));
+}
diff --git a/game/screen_songs.hh b/game/screen_songs.hh
new file mode 100644 (file)
index 0000000..903fae7
--- /dev/null
@@ -0,0 +1,73 @@
+#pragma once
+
+#include "animvalue.hh"
+#include "controllers.hh"
+#include "screen.hh"
+#include "theme.hh"
+#include "song.hh" // for Music class
+#include "textinput.hh"
+#include "video.hh"
+#include "playlist.hh"
+#include "menu.hh"
+
+class Audio;
+class Database;
+class Song;
+class Songs;
+class Texture;
+class ThemeSongs;
+
+class Backgrounds;
+class ThemeInstrumentMenu;
+
+/// song chooser screen
+class ScreenSongs : public Screen {
+public:
+       /// constructor
+       ScreenSongs(std::string const& name, Audio& audio, Songs& songs, Database& database);
+       void enter();
+       void exit();
+       void reloadGL();
+       void menuBrowse(int dir); ///< Left/Right on menu options
+       void manageEvent(SDL_Event event);
+       void manageEvent(input::NavEvent const& event);
+       void prepare();
+       void draw();
+       void drawCovers(); ///< draw the cover browser
+       Texture& getCover(Song const& song); ///< get appropriate cover image for the song (incl. no cover)
+       void drawJukebox(); ///< draw the songbrowser in jukebox mode (fullscreen, full previews, ...)
+
+private:
+       void manageSharedKey(input::NavEvent const& event); ///< same behaviour for jukebox and normal mode
+       void drawInstruments(Dimensions dim) const;
+       void drawMultimedia();
+       void update();
+       void drawMenu();
+       bool addSong(); ///< Add current song to playlist. Returns true if the playlist was empty.
+       void sing(); ///< Enter singing screen with current playlist.
+       void createPlaylistMenu();
+       Texture* loadTextureFromMap(fs::path path);
+
+       Audio& m_audio;
+       Songs& m_songs;
+       Database& m_database;
+       std::unique_ptr<Texture> m_songbg, m_songbg_ground, m_songbg_default;
+       std::unique_ptr<Video> m_video;
+       std::unique_ptr<ThemeSongs> theme;
+       Song::Music m_playing;
+       AnimValue m_clock;
+       AnimValue m_idleTimer;
+       TextInput m_search;
+       std::unique_ptr<Texture> m_singCover;
+       std::unique_ptr<Texture> m_instrumentCover;
+       std::unique_ptr<Texture> m_bandCover;
+       std::unique_ptr<Texture> m_danceCover;
+       std::unique_ptr<Texture> m_instrumentList;
+       std::unique_ptr<ThemeInstrumentMenu> m_menuTheme;
+       std::map<fs::path, std::unique_ptr<Texture>> m_covers;
+       int m_menuPos, m_infoPos;
+       bool m_jukebox;
+       bool show_hiscores;
+       int hiscore_start_pos;
+       Menu m_menu;
+};
diff --git a/game/singleton.hh b/game/singleton.hh
new file mode 100644 (file)
index 0000000..d051eb2
--- /dev/null
@@ -0,0 +1,16 @@
+#pragma once
+
+/// template for creating singletons
+template <class T> class Singleton {
+  protected:
+       /// pointer to object
+       static T* ms_Singleton;
+
+  public:
+       Singleton() { ms_Singleton = static_cast<T*>(this); }
+       ~Singleton() { ms_Singleton = 0; }
+       /// gets reference to singleton object
+       inline static T& getSingleton() { return *ms_Singleton; }
+       /// gets pointer to singleton object
+       inline static T* getSingletonPtr() { return ms_Singleton; }
+};
diff --git a/game/song.cc b/game/song.cc
new file mode 100644 (file)
index 0000000..3d909d5
--- /dev/null
@@ -0,0 +1,182 @@
+#include "song.hh"
+#include "config.hh"
+#include "screen_sing.hh"
+#include "songparser.hh"
+#include "unicode.hh"
+#include "util.hh"
+
+#include <algorithm>
+#include <limits>
+
+extern "C" {
+#include AVFORMAT_INCLUDE
+#include AVCODEC_INCLUDE
+}
+
+Song::Song(web::json::value const& song): dummyVocal(TrackName::LEAD_VOCAL), randomIdx(rand()) {
+       path = song.has_field("TxtFileFolder") ? fs::path(song.at("TxtFileFolder").as_string().substr(0, song.at("TxtFileFolder").as_string().find_last_of("/\\"))) : "";
+       filename = song.has_field("TxtFile") ? fs::path(song.at("TxtFile").as_string()) : "";
+       artist = song.has_field("Artist") ? song.at("Artist").as_string() : "";
+       title = song.has_field("Title") ? song.at("Title").as_string() : "";
+       language = song.has_field("Language") ? song.at("Language").as_string() : "";
+       edition = song.has_field("Edition") ? song.at("Edition").as_string() : "";
+       creator = song.has_field("Creator") ? song.at("Creator").as_string() : "";
+       genre = song.has_field("Genre") ? song.at("Genre").as_string() : "";
+       cover = song.has_field("Cover") ? song.at("Cover").as_string() : "";
+       background = song.has_field("Background") ? song.at("Background").as_string() : "";
+       video = song.has_field("VideoFile") ? fs::path(song.at("VideoFile").as_string()) : "";
+       videoGap = song.has_field("VideoGap") ? song.at("VideoGap").as_number().to_double() : 0.0;
+       start = song.has_field("Start") ? song.at("Start").as_number().to_double() : 0.0;
+       preview_start = song.has_field("PreviewStart") ? song.at("PreviewStart").as_number().to_double() : 0.0;
+       m_duration = song.has_field("Duration") ? song.at("Duration").as_number().to_double() : 0.0;
+       music["background"] = song.has_field("SongFile") ? fs::path(song.at("SongFile").as_string()) : "";
+       music["vocals"] = song.has_field("Vocals") ? fs::path(song.at("Vocals").as_string()) : "";
+       loadStatus = Song::LoadStatus::HEADER;
+       collateUpdate();
+}
+
+Song::Song(fs::path const& path, fs::path const& filename):
+  dummyVocal(TrackName::LEAD_VOCAL), path(path), filename(filename), randomIdx(rand())
+{
+       SongParser(*this);
+       collateUpdate();
+}
+
+void Song::reload(bool errorIgnore) {
+       try { *this = Song(path, filename); } catch (...) { if (!errorIgnore) throw; }
+}
+
+void Song::loadNotes(bool errorIgnore) {
+       if (loadStatus == LoadStatus::FULL) return;
+       try { SongParser(*this); } catch (...) { if (!errorIgnore) throw; }
+}
+
+void Song::dropNotes() {
+       for (auto& trk: vocalTracks) trk.second.notes.clear();
+       for (auto& trk: instrumentTracks) trk.second.nm.clear();
+       for (auto& trk: danceTracks) trk.second.clear();
+       b0rked.clear();
+       loadStatus = LoadStatus::HEADER;
+}
+
+void Song::collateUpdate() {
+       songMetadata collateInfo {{"artist", artist}, {"title", title}};
+       UnicodeUtil::collate(collateInfo);      
+       
+       collateByTitle = collateInfo["title"] + "__" + collateInfo["artist"] + "__" + filename.string();
+       collateByTitleOnly = collateInfo["title"];
+       
+       collateByArtist = collateInfo["artist"] + "__" + collateInfo["title"] + "__" + filename.string();
+       collateByArtistOnly = collateInfo["artist"];
+}
+
+Song::Status Song::status(double time, ScreenSing* song) {
+       if (song->getMenu().isOpen()) return Status::NORMAL; // This should prevent querying getVocalTrack with an out-of-bounds/uninitialized index.
+       if (vocalTracks.empty()) return Status::NORMAL;  // To avoid crash with non-vocal songs (dance, guitar) -- FIXME: what should we actually do?
+       Note target; target.end = time;
+       Notes s1, s2, notes;
+       Notes::const_iterator it;
+       if (song->singingDuet()) {
+               s1 = getVocalTrack(0).notes;
+               s2 = getVocalTrack(1).notes;
+               std::merge(s1.begin(), s1.end(), s2.begin(), s2.end(), std::back_inserter(notes), Note::ltBegin);
+       }
+       else {
+               notes = getVocalTrack(song->selectedVocalTrack()).notes;
+       }
+       it = std::lower_bound(notes.begin(), notes.end(), target, [](Note const& a, Note const& b) { return a.end < b.end; });
+       if (it == notes.end()) return Status::FINISHED;
+       if (it->begin > time + 4.0) return Status::INSTRUMENTAL_BREAK;
+       return Status::NORMAL;
+}
+
+bool Song::getNextSection(double pos, SongSection &section) {
+       for (auto& sect: songsections) {
+               if (sect.begin > pos) {
+                       section = sect;
+                       return true;
+               }
+       }
+       // returning false here will jump forward 5s (see screen_sing.cc)
+       return false;
+}
+
+bool Song::getPrevSection(double pos, SongSection &section) {
+       for (auto it = songsections.rbegin(); it != songsections.rend(); ++it) {
+               // subtract 1 second so we can jump across a section
+               if (it->begin < pos - 1.0) {
+                       section = *it;
+                       return true;
+               }
+       }
+       // returning false here will jump backwards by 5s (see screen_sing.cc)
+       return false;
+}
+
+std::ostream& operator<<(std::ostream& os, SongParserException const& e) {
+       os << (e.silent() ? "songparser/debug: " : "songparser/warning: ") << e.file().string();
+       if (e.line()) os << ":" << e.line();
+       os << ":\n  " << e.what() << std::endl;
+       return os;
+}
+
+void Song::insertVocalTrack(std::string vocalTrack, VocalTrack track) {
+       eraseVocalTrack(vocalTrack);
+       vocalTracks.insert(std::make_pair(vocalTrack, track));
+}
+
+void Song::eraseVocalTrack(std::string vocalTrack) {
+       vocalTracks.erase(vocalTrack);
+}
+
+VocalTrack& Song::getVocalTrack(std::string vocalTrack) {
+       VocalTracks::iterator it = vocalTracks.find(vocalTrack);
+       if (it != vocalTracks.end()) {
+               return it->second;
+       } else {
+               it = vocalTracks.find(TrackName::LEAD_VOCAL);
+               if (it != vocalTracks.end()) return it->second;
+               else if (!vocalTracks.empty()) return vocalTracks.begin()->second;
+               else return dummyVocal;
+       }
+}
+
+VocalTrack& Song::getVocalTrack(size_t idx) {
+       if (idx >= vocalTracks.size()) {
+               throw std::logic_error("Index " + std::to_string(idx) + " out of bounds in Song::getVocalTrack (size: " + std::to_string(vocalTracks.size()) +").");
+               }
+       VocalTracks::iterator it = vocalTracks.begin();
+       std::advance(it, idx);
+       return it->second;
+}
+
+double Song::getDurationSeconds() {
+       if(m_duration == 0) {
+               AVFormatContext *pFormatCtx = avformat_alloc_context();
+               if (avformat_open_input(&pFormatCtx, music["background"].string().c_str(), nullptr, nullptr) == 0) {
+                       avformat_find_stream_info(pFormatCtx, nullptr);
+                       m_duration = pFormatCtx->duration / AV_TIME_BASE;
+                       avformat_close_input(&pFormatCtx);
+                       avformat_free_context(pFormatCtx);
+                       return m_duration;
+               }
+               std::clog << "song/info: >>> Couldn't open file for calculating duration." << std::endl;
+               return 0;
+       } else { //duration is still in memmory that means we already loaded it
+               return m_duration;
+       }
+       return 0;
+}
+
+std::string Song::str() const { return title + "  by  " + artist; }
+
+std::string Song::strFull() const {
+       return title + "\n" + artist + "\n" + genre + "\n" + edition + "\n" + path.string();
+}
+
+std::vector<std::string> Song::getVocalTrackNames() const {
+       std::vector<std::string> result;
+       for (auto const& kv: vocalTracks) result.push_back(kv.first);
+       return result;
+}
+
diff --git a/game/song.hh b/game/song.hh
new file mode 100644 (file)
index 0000000..317086b
--- /dev/null
@@ -0,0 +1,129 @@
+#pragma once
+
+#include "fs.hh"
+#include "i18n.hh"
+#include "notes.hh"
+#include "util.hh"
+
+#include <cpprest/json.h>
+#include <stdexcept>
+#include <string>
+
+class SongParser;
+
+namespace TrackName {
+       const std::string BGMUSIC = "background";
+       const std::string PREVIEW = "Preview";
+       const std::string GUITAR = "Guitar";
+       const std::string GUITAR_COOP = "Coop guitar";
+       const std::string GUITAR_RHYTHM = "Rhythm guitar";
+       const std::string BASS = "Bass";
+       const std::string KEYBOARD = "Keyboard";
+       const std::string DRUMS = "Drums";
+       const std::string LEAD_VOCAL = "Vocals";
+       #if 0 // Here is some dummy gettext calls to populate the dictionary
+       _("Guitar") _("Coop guitar") _("Rhythm guitar") _("Bass") _("Drums") _("Vocals")  _("Harmonic 1") _("Harmonic 2") _("Harmonic 3")
+       #endif
+}
+
+class ScreenSing;
+
+/// Song object contains all information about a song (headers, notes)
+class Song {
+       friend class SongParser;
+public:
+       /// Is the song parsed from the file yet?
+       enum class LoadStatus { NONE, HEADER, FULL } loadStatus = LoadStatus::NONE;
+       /// status of song
+       enum class Status { NORMAL, INSTRUMENTAL_BREAK, FINISHED };
+       VocalTracks vocalTracks; ///< notes for the sing part
+       VocalTrack dummyVocal; ///< notes for the sing part
+       InstrumentTracks instrumentTracks; ///< guitar etc. notes for this song
+       DanceTracks danceTracks; ///< dance tracks
+       fs::path path; ///< path of songfile
+       fs::path filename; ///< name of songfile
+       fs::path midifilename; ///< name of midi file in FoF format
+       std::vector<std::string> category; ///< category of song
+       std::string genre; ///< genre
+       std::string edition; ///< license
+       std::string title; ///< songtitle
+       std::string artist; ///< artist
+       std::string text; ///< songtext
+       std::string creator; ///< creator
+       std::string language; ///< language
+       using Music = std::map<std::string, fs::path>;
+       Music music; ///< music files (background, guitar, rhythm/bass, drums, vocals)
+       fs::path cover; ///< cd cover
+       fs::path background; ///< background image
+       fs::path video; ///< video
+       std::string collateByTitle;  ///< String for sorting by title, artist
+       std::string collateByTitleOnly;  ///< String for sorting by title only
+       std::string collateByArtist;  ///< String for sorting by artist, title
+       std::string collateByArtistOnly;  ///< String for sorting by artist only
+       double videoGap = 0.0; ///< gap with video
+       double start = 0.0; ///< start of song
+       double preview_start = getNaN(); ///< starting time for the preview
+       int64_t m_duration = 0;
+       using Stops = std::vector<std::pair<double,double> >;
+       Stops stops; ///< related to dance
+       using Beats = std::vector<double>;
+       Beats beats; ///< related to instrument and dance
+       bool hasBRE = false; ///< is there a Big Rock Ending? (used for drums only)
+       std::string b0rked; ///< Is something broken? (so that user can be notified)
+       struct SongSection {
+               std::string name;
+               double begin;
+               SongSection(std::string const& name, const double begin): name(name), begin(begin) {}
+       };
+       std::vector<SongSection> songsections; ///< vector of song sections
+       int randomIdx = 0; ///< sorting index used for random order
+
+       // Functions only below this line
+       Song(web::json::value const& song);  ///< Load song from cache.
+       Song(fs::path const& path, fs::path const& filename);  ///< Load song from specified path and filename
+       void reload(bool errorIgnore = true);  ///< Reset and reload the entire song from file
+       void loadNotes(bool errorIgnore = true);  ///< Load note data (called when entering singing screen, headers preloaded).
+       void dropNotes();  ///< Remove note data (when exiting singing screen), to conserve RAM
+       void insertVocalTrack(std::string vocalTrack, VocalTrack track);
+       void eraseVocalTrack(std::string vocalTrack = TrackName::LEAD_VOCAL);
+       std::string str() const;  ///< Return "title by artist" string for UI
+       std::string strFull() const;  ///< Return multi-line full song info (used for searching)
+       /** Get the song status at a given timestamp **/
+       Status status(double time, ScreenSing* song);
+       // Get a selected track, or LEAD_VOCAL if not found or the first one if not found
+       VocalTrack& getVocalTrack(std::string vocalTrack = TrackName::LEAD_VOCAL);
+       VocalTrack& getVocalTrack(size_t idx = 0);
+       std::vector<std::string> getVocalTrackNames() const;
+       double getDurationSeconds();
+       bool hasDance() const { return !danceTracks.empty(); }
+       bool hasDrums() const { return instrumentTracks.find(TrackName::DRUMS) != instrumentTracks.end(); }
+       bool hasKeyboard() const { return instrumentTracks.find(TrackName::KEYBOARD) != instrumentTracks.end(); }
+       bool hasGuitars() const { return instrumentTracks.size() - hasDrums() - hasKeyboard(); }
+       bool hasVocals() const { return !vocalTracks.empty(); }
+       bool hasDuet() const { return vocalTracks.size() > 1; }
+       bool hasControllers() const { return !danceTracks.empty() || !instrumentTracks.empty(); }
+       bool getNextSection(double pos, SongSection &section);
+       bool getPrevSection(double pos, SongSection &section);
+private:
+       void collateUpdate();   ///< Rebuild collate variables (used for sorting) from other strings
+};
+
+/// Thrown by SongParser when there is an error
+struct SongParserException: public std::runtime_error {
+       /// constructor
+       SongParserException(Song& s, std::string const& msg, unsigned int linenum, bool sil = false): runtime_error(msg), m_filename(s.filename), m_linenum(linenum), m_silent(sil) {
+               if (!sil) s.b0rked += msg + '\n';
+       }
+       ~SongParserException() noexcept = default;
+       fs::path const& file() const { return m_filename; } ///< file in which the error occured
+       unsigned int line() const { return m_linenum; } ///< line in which the error occured
+       bool silent() const { return m_silent; } ///< if the error should not be printed to user (file skipped)
+private:
+       fs::path m_filename;
+       unsigned int m_linenum;
+       bool m_silent;
+};
+
+/// Print a SongParserException in a format suitable for the logging system.
+std::ostream& operator<<(std::ostream& os, SongParserException const& e);
+
diff --git a/game/songitems.cc b/game/songitems.cc
new file mode 100644 (file)
index 0000000..52af2f8
--- /dev/null
@@ -0,0 +1,102 @@
+#include "songitems.hh"
+
+#include "unicode.hh"
+#include "libxml++-impl.hh"
+#include <memory>
+#include <string>
+
+
+void SongItems::load(xmlpp::NodeSet const& n) {
+       for (auto const& elem: n) {
+               xmlpp::Element& element = dynamic_cast<xmlpp::Element&>(*elem);
+
+               xmlpp::Attribute* a_id = element.get_attribute("id");
+               if (!a_id) throw SongItemsException("No attribute id");
+
+               xmlpp::Attribute* a_artist = element.get_attribute("artist");
+               if (!a_artist) throw SongItemsException("No attribute artist");
+
+               xmlpp::Attribute* a_title = element.get_attribute("title");
+               if (!a_title) throw SongItemsException("No attribute title");
+
+               addSongItem(a_artist->get_value(), a_title->get_value(), std::stoi(a_id->get_value()));
+       }
+}
+
+void SongItems::save(xmlpp::Element* songs) {
+       for (auto const& song: m_songs) {
+               xmlpp::Element* element = xmlpp::add_child_element(songs, "song");
+               element->set_attribute("id", std::to_string(song.id));
+               element->set_attribute("artist", song.artist);
+               element->set_attribute("title", song.title);
+       }
+}
+
+int SongItems::addSongItem(std::string const& artist, std::string const& title, int id) {
+       SongItem si;
+       if (id==-1) id = assign_id_internal();
+       si.id = id;
+       songMetadata collateInfo {{"artist", artist}, {"title", title}};
+       UnicodeUtil::collate(collateInfo);              
+       si.artist = collateInfo["artist"];
+       si.title = collateInfo["title"];
+       std::pair<songs_t::iterator, bool> ret = m_songs.insert(si);
+       if (!ret.second)
+       {
+               si.id = assign_id_internal();
+               m_songs.insert(si); // now do the insert with the fresh id
+       }
+       return si.id;
+}
+
+void SongItems::addSong(std::shared_ptr<Song> song) {
+       int id = lookup(song);
+       if (id == -1)
+       {
+               id = addSongItem(song->artist, song->title);
+       }
+
+       SongItem si;
+       si.id = id;
+       auto it = m_songs.find(si);
+       if (it == m_songs.end()) throw SongItemsException("Cant find song which was added just before");
+       // it->song.reset(song); // does not work, it is a read only structure...
+
+       // fill up the rest of the information
+       si.artist = it->artist;
+       si.title = it->title;
+       si.song = song;
+
+       m_songs.erase(it);
+       m_songs.insert(si);
+}
+
+int SongItems::lookup(std::shared_ptr<Song> song) const {
+       for (auto const& s: m_songs) {
+               if (song->collateByArtistOnly == s.artist && song->collateByTitleOnly == s.title) return s.id;
+       }
+       return -1;
+}
+
+int SongItems::lookup(Song& song) const {
+       for (auto const& s: m_songs) {
+               if (song.collateByArtistOnly == s.artist && song.collateByTitleOnly == s.title) return s.id;
+       }
+       return -1;
+}
+
+std::string SongItems::lookup(int id) const {
+       SongItem si;
+       si.id = id;
+       auto it = m_songs.find(si);
+       if (it == m_songs.end()) return "Unknown Song";
+       else if (!it->song) return it->artist + " - " + it->title;
+       else return it->song->artist + " - " + it->song->title;
+}
+
+int SongItems::assign_id_internal() const {
+       // use the last one with highest id
+       auto it = m_songs.rbegin();
+       if (it != m_songs.rend()) return it->id+1;
+       else return 1; // empty set
+}
diff --git a/game/songitems.hh b/game/songitems.hh
new file mode 100644 (file)
index 0000000..392596e
--- /dev/null
@@ -0,0 +1,98 @@
+#pragma once
+
+#include "song.hh"
+
+#include "libxml++.hh"
+
+#include <memory>
+#include <set>
+#include <vector>
+#include <string>
+#include <stdexcept>
+
+/**Exception which will be thrown when loading or
+  saving Players fails.*/
+struct SongItemsException: public std::runtime_error {
+       SongItemsException (std::string const& msg) :
+               runtime_error(msg)
+       {}
+};
+
+struct SongItem
+{
+       int id; ///< The unique id for every song
+
+       /** This data is stored separate because it is read in before
+         the song is added.
+         A short, but relatively non-ambiguous collate form is used.
+         */
+       std::string artist;
+       std::string title;
+
+       /** This shared pointer is stored to access all song
+         information available.
+         E.g. the full artist information can be accessed using
+         this pointer.
+        */
+       std::shared_ptr<Song> song;
+
+       bool operator< (SongItem const& other) const
+       {
+               return id < other.id;
+       }
+};
+
+/**A list of songs for the database.
+
+  Every song has a unique id managed by that database.
+  This class was introduced to hide the implementation
+  detail which data structure is used for the list away.
+
+  Currently a std::set is used, which makes both addSongItem()
+  and addSong() slow. The only advantage is that the id is
+  unique and it is cheap to get a new unique id.
+
+  When one of the methods is to slow, it can be optimized
+  easily. */
+class SongItems {
+public:
+       void load(xmlpp::NodeSet const& n);
+       void save(xmlpp::Element *players);
+
+       /**Adds a song item.
+         If the id is not unique or -1 a new one will be assigned.
+         There will be no check if artist and title already exist - if you
+         need that you want addSong().
+        */
+       int addSongItem(std::string const& artist, std::string const& title, int id = -1);
+       /**Adds or Links an already existing song with an songitem.
+
+         The id will be assigned and artist and title will be filled in.
+         If there is already a song with the same artist and title the existing
+         will be used.
+
+         Afterwards the pointer to the song will be stored for entire available
+         song information.
+
+         lookup is used internally to achieve that.
+         */
+       void addSong(std::shared_ptr<Song> song);
+
+       /**Lookup a songid for a specific song.
+         @return -1 if no song found.*/
+       int lookup(std::shared_ptr<Song> song) const;
+       int lookup(Song& song) const;
+
+       /**Lookup the artist + title for a specific song.
+         @return "Unknown Song" if nothing is found.
+         */
+       std::string lookup (int id) const;
+
+       std::size_t size() const { return m_songs.size(); }
+
+private:
+       int assign_id_internal() const;
+
+       typedef std::set<SongItem> songs_t;
+       songs_t m_songs;
+};
diff --git a/game/songparser-ini.cc b/game/songparser-ini.cc
new file mode 100644 (file)
index 0000000..287c12e
--- /dev/null
@@ -0,0 +1,46 @@
+#include "songparser.hh"
+
+#include "unicode.hh"
+#include <boost/algorithm/string.hpp>
+#include <stdexcept>
+#include "midifile.hh"
+
+/// @file
+/// Functions used for parsing the Frets on Fire INI song format
+
+using namespace SongParserUtil;
+
+/// 'Magick' to check if this file looks like correct format
+bool SongParser::iniCheck(std::string const& data) const {
+       static const std::string header = "[song]";
+       return std::equal(header.begin(), header.end(), data.begin());
+}
+
+/// Parse header data for Songs screen
+void SongParser::iniParseHeader() {
+       Song& s = m_song;
+       std::string line;
+       while (getline(line)) {
+               if (line.empty()) continue;
+               if (line[0] == '[') continue; // Section header
+               std::istringstream iss(line);
+               std::string key, value;
+               if (!std::getline(iss, key, '=') || !std::getline(iss, value)) std::runtime_error("Invalid format, should be key=value");
+               boost::trim(key); key = UnicodeUtil::toLower(key);
+               boost::trim(value);
+               // Supported tags
+               if (key == "name") s.title = value;
+               else if (key == "artist") s.artist = value;
+               else if (key == "cover") s.cover = fs::absolute(value, s.path);
+               else if (key == "background") s.background = fs::absolute(value, s.path);
+               else if (key == "video") s.video = fs::absolute(value, s.path);
+               else if (key == "genre") s.genre = value;
+               else if (key == "frets") s.creator = value;
+               else if (key == "delay") { assign(s.start, value); s.start/=1000.0; }
+               else if (key == "video_start_time") { assign(s.videoGap, value); s.videoGap/=1000.0; }
+               else if (key == "preview_start_time") { assign(s.preview_start, value); s.preview_start/=1000.0; }
+               // Before adding other tags: they should be checked with the already-existing tags in FoF format; in case any tag doesn't exist there, it should be discussed with FoFiX developers before adding it here.
+       }
+       if (s.title.empty() || s.artist.empty()) throw std::runtime_error("Required header fields missing");
+}
+
diff --git a/game/songparser-mid.cc b/game/songparser-mid.cc
new file mode 100644 (file)
index 0000000..0a932e2
--- /dev/null
@@ -0,0 +1,219 @@
+#include "songparser.hh"
+
+#include <boost/algorithm/string.hpp>
+#include <stdexcept>
+#include "midifile.hh"
+
+/// @file
+/// Functions used for parsing MIDI files (FoF and other song formats)
+
+using namespace SongParserUtil;
+
+const std::string HARMONIC_1 = "Harmonic 1";
+const std::string HARMONIC_2 = "Harmonic 2";
+const std::string HARMONIC_3 = "Harmonic 3";
+
+namespace {
+       bool isVocalTrack(std::string name) {
+               if(name == TrackName::LEAD_VOCAL) return true;
+               else if(name == HARMONIC_1) return true;
+               else if(name == HARMONIC_2) return true;
+               else if(name == HARMONIC_3) return true;
+               return false;
+       }
+       /// Change the MIDI track name to Performous track name
+       /// Return false if not valid
+       bool mangleTrackName(std::string& name) {
+               if (name == "T1 GEMS") { // Some old MIDI files have a track named T1 GEMS
+                       name = TrackName::GUITAR; return true;
+               }
+               else if (name.substr(0, 5) != "PART ") return false;
+               else name.erase(0, 5);
+               if (name == "GUITAR COOP") name = TrackName::GUITAR_COOP;
+               else if (name == "RHYTHM") name = TrackName::GUITAR_RHYTHM;
+               else if (name == "DRUM") name = TrackName::DRUMS;
+               else if (name == "DRUMS") name = TrackName::DRUMS;
+               else if (name == "BASS") name = TrackName::BASS;
+               else if (name == "KEYS") return false; // TODO: RB3 5 lane keyboard track
+               else if (name == "GUITAR") name = TrackName::GUITAR;
+               else if (name == "VOCALS") name = TrackName::LEAD_VOCAL;
+               else if (name == "HARM1") name = HARMONIC_1;
+               else if (name == "HARM2") name = HARMONIC_2;
+               else if (name == "HARM3") name = HARMONIC_3;
+               // expert stuffs
+               else if (name == "REAL_KEYS_X") return false; // TODO: RB3 pro keyboard expert track
+               else if (name == "REAL_KEYS_H") return false; // TODO: RB3 pro keyboard hard track
+               else if (name == "REAL_KEYS_M") return false; // TODO: RB3 pro keyboard medium track
+               else if (name == "REAL_KEYS_E") return false; // TODO: RB3 pro keyboard easy track
+               else if (name == "REAL_BASS") return false; // TODO: RB3 pro bass track
+               else if (name == "REAL_GUITAR") return false; // TODO: RB3 pro guitar 17 frets (Mustang) track
+               else if (name == "REAL_GUITAR_22") return false; // TODO: RB3 pro guitar 22 frets (Squier) track
+               else return false;
+               return true;
+       }
+}
+
+void SongParser::midParseHeader() {
+       Song& s = m_song;
+       // Parse tracks from midi
+       MidiFileParser midi(s.midifilename);
+       for (MidiFileParser::Tracks::const_iterator it = midi.tracks.begin(); it != midi.tracks.end(); ++it) {
+               // Figure out the track name
+               std::string name = it->name;
+               if (mangleTrackName(name)) ; // Beautify the track name
+               else if (midi.tracks.size() == 1) name = TrackName::GUITAR; // Original (old) FoF songs only have one track
+               else continue; // not a valid track
+               // Add dummy notes to tracks so that they can be seen in song browser
+               if (isVocalTrack(name)) s.insertVocalTrack(name, VocalTrack(name));
+               else {
+                       for (auto const& elem: it->notes) {
+                               // If a track has not enough notes on any level, ignore it
+                               if (elem.second.size() > 3) { s.instrumentTracks.insert(make_pair(name,InstrumentTrack(name))); break; }
+                       }
+               }
+       }
+}
+
+/// Parse notes
+void SongParser::midParse() {
+       Song& s = m_song;
+       s.instrumentTracks.clear();
+
+       MidiFileParser midi(s.midifilename);
+       int reversedNoteCount = 0;
+       for (uint32_t ts = 0, end = midi.ts_last + midi.division; ts < end; ts += midi.division) s.beats.push_back(midi.get_seconds(ts)+s.start);
+       for (MidiFileParser::Tracks::const_iterator it = midi.tracks.begin(); it != midi.tracks.end(); ++it) {
+               // Figure out the track name
+               std::string name = it->name;
+               if (mangleTrackName(name)) ; // Beautify the track name
+               else if (midi.tracks.size() == 1) name = TrackName::GUITAR; // Original (old) FoF songs only have one track
+               else continue; // not a valid track
+               if (!isVocalTrack(name)) {
+                       // Process non-vocal tracks
+                       double trackEnd = 0.0;
+                       s.instrumentTracks.insert(make_pair(name,InstrumentTrack(name)));
+                       NoteMap& nm2 = s.instrumentTracks.find(name)->second.nm;
+                       for (auto const& elem: it->notes) {
+                               Durations& dur = nm2[elem.first];
+                               MidiFileParser::Notes const& notes = elem.second;
+                               for (auto const& note: notes) {
+                                       double beg = midi.get_seconds(note.begin)+s.start;
+                                       double end = midi.get_seconds(note.end)+s.start;
+                                       if (end == 0) continue; // Note with no ending
+                                       if (beg > end) { // Reversed note
+                                               if (beg - end > 0.001) { reversedNoteCount++; continue; }
+                                               else end = beg; // Allow 1ms error to counter rounding etc errors
+                                       }
+                                       dur.push_back(Duration(beg, end));
+                                       if (trackEnd < end) trackEnd = end;
+                               }
+                       }
+                       // Discard empty tracks
+                       // Note: some songs have notes at the very beginning (but are otherwise empty)
+                       if (trackEnd < 1.0) s.instrumentTracks.erase(name);
+               } else {
+                       // Process vocal tracks
+                       VocalTrack vocal(name);
+                       for (auto const& lyric: it->lyrics) {
+                               Note n;
+                               n.begin = midi.get_seconds(lyric.begin)+s.start;
+                               n.end = midi.get_seconds(lyric.end)+s.start;
+                               n.notePrev = n.note = lyric.note;
+                               n.type = n.note > 100 ? Note::SLEEP : Note::NORMAL;
+                               if(n.note == 116 || n.note == 103 || n.note == 124)
+                                       continue; // managed in the next loop (GOLDEN/FREESTYLE notes)
+                               else if(n.note > 100) // is it always 105 ?
+                                       n.type = Note::SLEEP;
+                               else
+                                       n.type = Note::NORMAL;
+                               {
+                                       std::stringstream ss(lyric.lyric);
+                                       UnicodeUtil::convertToUTF8(ss, std::string());
+                                       n.syllable = ss.str();
+                               }
+                               std::string& syl = n.syllable;
+                               if (n.type != Note::SLEEP) {
+                                       if (!syl.empty()) {
+                                               bool erase = false;
+                                               // Examine note styles (specified by the last character of the syllable)
+                                               {
+                                                       char& ch = *syl.rbegin();
+                                                       if (ch == '#') { n.type = Note::FREESTYLE; erase = true; }
+                                                       if (ch == '^') { n.type = Note::GOLDEN; erase = true; }
+                                                       if (ch == '+') { n.type = Note::SLIDE; ch = '~'; }
+                                               }
+                                               if (erase) syl.erase(syl.size() - 1);
+                                               // Add spaces between words, remove hyphens
+                                               {
+                                                       char ch = *syl.rbegin();
+                                                       if (ch == '-') syl.erase(syl.size() - 1);
+                                                       else if (ch == '=') { *syl.rbegin() = '-'; }
+                                                       else if (ch != '~') syl += ' ';
+                                               }
+                                       }
+                                       // Special processing for slides (which depend on the previous note)
+                                       if (n.type == Note::SLIDE) {
+                                               auto prev = vocal.notes.rbegin();
+                                               while (prev != vocal.notes.rend() && prev->type == Note::SLEEP) ++prev;
+                                               if (prev == vocal.notes.rend()) throw std::runtime_error("The song begins with a slide note");
+                                               eraseLast(prev->syllable); // Erase the space if there is any
+                                               {
+                                                       // insert new sliding note
+                                                       Note inter;
+                                                       inter.begin = prev->end;
+                                                       inter.end = n.begin;
+                                                       inter.notePrev = prev->note;
+                                                       inter.note = n.note;
+                                                       inter.type = Note::SLIDE;
+                                                       inter.syllable = std::string("~");
+                                                       vocal.noteMin = std::min(vocal.noteMin, inter.note);
+                                                       vocal.noteMax = std::max(vocal.noteMax,inter.note);
+                                                       vocal.notes.push_back(inter);
+                                               }
+                                               {
+                                                       // modifying current note to be normal again
+                                                       n.type = Note::NORMAL;
+                                               }
+                                       }
+                                       vocal.noteMin = std::min(vocal.noteMin, n.note);
+                                       vocal.noteMax = std::max(vocal.noteMax, n.note);
+                                       vocal.notes.push_back(n);
+                               } else if (!vocal.notes.empty() && vocal.notes.back().type != Note::SLEEP) {
+                                       eraseLast(vocal.notes.back().syllable);
+                                       vocal.notes.push_back(n);
+                               }
+                       }
+                       for (auto const& lyric: it->lyrics) {
+                               if(lyric.note == 116 || lyric.note == 103 || lyric.note == 124) {
+                                       for (auto& n: vocal.notes) {
+                                               if (n.begin == midi.get_seconds(lyric.begin) + s.start && n.type == Note::NORMAL) {
+                                                       if (lyric.note == 124) {
+                                                               n.type = Note::FREESTYLE;
+                                                       } else {
+                                                               n.type = Note::GOLDEN;
+                                                       }
+                                                       break;
+                                               }
+                                       }
+                               }
+                       }
+                       s.insertVocalTrack(name, vocal);
+               }
+       }
+       // Figure out if we have BRE in the song
+       for (MidiFileParser::CommandEvents::const_iterator it = midi.cmdevents.begin(); it != midi.cmdevents.end(); ++it) {
+               if (*it == "[section big_rock_ending]") s.hasBRE = true;
+       }
+       // Output some warning
+       if (reversedNoteCount > 0) {
+               std::ostringstream oss;
+               oss << "songparser/notice: Skipping " << reversedNoteCount << " reversed note(s) in " << s.midifilename.string();
+               std::clog << oss.str() << std::endl; // More likely to be atomic when written as one string
+       }
+       // copy midi sections to song section
+       // design goals: (1) keep midi parser free of dependencies on song (2) store data in song as parsers are discarded before song
+       // one option would be to pass a song reference to the midi parser however, that conflicts with goal (1)
+       for (auto& sect: midi.midisections) s.songsections.emplace_back(sect.name, sect.begin);
+}
+
+
diff --git a/game/songparser-sm.cc b/game/songparser-sm.cc
new file mode 100644 (file)
index 0000000..8d06bdf
--- /dev/null
@@ -0,0 +1,261 @@
+#include "songparser.hh"
+#include "unicode.hh"
+
+#include <boost/algorithm/string.hpp>
+#include <algorithm>
+#include <stdexcept>
+#include <map>
+
+/// @file
+/// Functions used for parsing the StepMania SM format
+
+using namespace SongParserUtil;
+
+/// 'Magick' to check if this file looks like correct format
+bool SongParser::smCheck(std::string const& data) const {
+       if (data[0] != '#' || data[1] < 'A' || data[1] > 'Z') return false;
+       for (char ch: data) {
+               if (ch == '\n') return false;
+               if (ch == ';') return true;
+       }
+       return false;
+}
+
+/* Parsing the note data is separated into three different functions: smParse, smParseField and smParseNote.
+- smParse only begins a loop which continues as long as there is something to read in the file. It also checks if the needed information
+could be read.
+- smParseField reads all data beginning with '#'. That is, all but the actual notes. This function calls smParseNotes every time it
+reaches value #NOTES.
+- smParseNotes reads the notes into vector called notes which is a vector of structs (Note);
+*/
+
+/// Parse header data for Songs screen
+// TODO: This actually parses the whole thing
+// TODO: Songparser drops parsed notes, remove it when smParseHeader is more intelligent
+void SongParser::smParseHeader() {
+       Song& s = m_song;
+       std::string line;
+       // Parse the the entire file
+       while (getline(line) && smParseField(line)) {}
+       if (m_song.danceTracks.empty() ) throw std::runtime_error("No note data in the file");
+       if (s.title.empty() || s.artist.empty()) throw std::runtime_error("Required header fields missing");
+       // Convert stops to the format required in Song
+       s.stops.resize(m_stops.size());
+       for (std::size_t i = 0; i < m_stops.size(); ++i) s.stops[i] = smStopConvert(m_stops[i]);
+       m_tsPerBeat = 4;
+}
+
+/// Parse remaining stuff
+void SongParser::smParse() {
+       m_song.stops.clear();
+       m_song.danceTracks.clear();
+       smParseHeader();
+}
+
+bool SongParser::smParseField(std::string line) {
+       boost::trim(line);
+       if (line.empty()) return true;
+       if (line.substr(0, 2) == "//") return true; //jump over possible comments
+       if (line[0] == ';') return true; // HACK: Skip ; left over from previous field
+
+       //Here the data contained by the current line is separated in key and value.
+       //However, because of the differing format of notedata the value is analyzed only if key is not NOTES
+       std::string::size_type pos = line.find(':');
+       if (pos == std::string::npos) throw std::runtime_error("Invalid sm format, should be #key:value");
+       std::string key = boost::trim_copy(line.substr(1, pos - 1));
+       if (key == "NOTES") {
+               /*All remaining data is parsed here.
+                       All five lines of note metadata is read first and then smParseNotes is called to read
+                       the actual note data.
+                       All data is read into m_song.danceTracks map container.
+               */
+
+               while (getline(line)) {
+                       //<NotesType>:
+                       std::string notestype = boost::trim_copy(line.substr(0, line.find_first_of(':')));
+                       notestype = UnicodeUtil::toLower(notestype);
+                       //<Description>:
+                       if(!getline(line)) { throw std::runtime_error("Required note data missing"); }
+                       std::string description = boost::trim_copy(line.substr(0, line.find_first_of(':')));
+                       //<DifficultyClass>:
+                       if(!getline(line)) { throw std::runtime_error("Required note data missing"); }
+                       std::string difficultyclass = boost::trim_copy(line.substr(0, line.find_first_of(':')));
+                       difficultyclass = UnicodeUtil::toUpper(difficultyclass);
+                       DanceDifficulty danceDifficulty = DIFFICULTYCOUNT;
+                       if(difficultyclass == "BEGINNER") danceDifficulty = BEGINNER;
+                       if(difficultyclass == "EASY") danceDifficulty = EASY;
+                       if(difficultyclass == "MEDIUM") danceDifficulty = MEDIUM;
+                       if(difficultyclass == "HARD") danceDifficulty = HARD;
+                       if(difficultyclass == "CHALLENGE") danceDifficulty = CHALLENGE;
+
+                       //ignoring difficultymeter and radarvalues
+                       //<DifficultyMeter>:
+                       if(!getline(line)) { throw std::runtime_error("Required note data missing"); }
+                       if(!getline(line)) { throw std::runtime_error("Required note data missing"); }
+
+                       //<NoteData>:
+                       Notes notes = smParseNotes(line);
+
+                       //Here all note data from the current track is inserted into containers
+                       // TODO: support other track types. For now all others are simply ignored.
+                       if (notestype == "dance-single" || notestype == "dance-double" || notestype == "dance-solo"
+                         || notestype == "pump-single" || notestype == "ez2-single" || notestype == "ez2-real"
+                         || notestype == "para-single") {
+                               DanceTrack danceTrack(description, notes);
+                               if (m_song.danceTracks.find(notestype) == m_song.danceTracks.end() ) {
+                                       DanceDifficultyMap danceDifficultyMap;
+                                       m_song.danceTracks.insert(std::make_pair(notestype, danceDifficultyMap));
+                               }
+                               m_song.danceTracks[notestype].insert(std::make_pair(danceDifficulty, danceTrack));
+                       }
+               }
+               return false;
+       }
+       std::string value = boost::trim_copy(line.substr(pos + 1));
+       //In case the value continues to several lines, all text before the ending character ';' is read to single line.
+       while (value[value.size() -1] != ';') {
+               std::string str;
+               if (!getline (str)) throw std::runtime_error("Invalid format, semicolon missing after value of " + key);
+               value += boost::trim_copy(str);
+       }
+       value = value.substr(0, value.size() - 1);      //Here the end character(';') is eliminated
+       if (value.empty()) return true;
+
+       // Parse header data that is stored in SongParser rather than in song (and thus needs to be read every time)
+       if (key == "OFFSET") { assign(m_gap, value); m_gap *= -1; }
+       else if (key == "BPMS"){
+                       std::istringstream iss(value);
+                       double ts, bpm;
+                       char chr;
+                       while (iss >> ts >> chr >> bpm) {
+                               if (ts == 0.0) m_bpm = bpm;
+                               addBPM(ts * 4.0, bpm);
+                               if (!(iss >> chr)) break;
+                       }
+       }
+       else if (key == "STOPS"){
+                       std::istringstream iss(value);
+                       double beat, sec;
+                       char chr;
+                       while (iss >> beat >> chr >> sec) {
+                               m_stops.push_back(std::make_pair(beat * 4.0, sec));
+                               if (!(iss >> chr)) break;
+                       }
+       }
+
+       if (m_song.loadStatus >= Song::LoadStatus::HEADER) return true;  // Only re-parsing now, skip any other data
+
+       // Parse header data that is directly stored in m_song
+       if (key == "TITLE") m_song.title = value.substr(value.find_first_not_of(" :"));
+       else if (key == "ARTIST") m_song.artist = value.substr(value.find_first_not_of(" "));
+       else if (key == "BANNER") m_song.cover = fs::absolute(value, m_song.path);
+       else if (key == "MUSIC") m_song.music[TrackName::BGMUSIC] = fs::absolute(value, m_song.path);
+       else if (key == "BACKGROUND") m_song.background = fs::absolute(value, m_song.path);
+       else if (key == "SAMPLESTART") assign(m_song.preview_start, value);
+       /*.sm fileformat has also the following constants but they are ignored in this version of the parser:
+       #SUBTITLE
+       #TITLETRANSLIT
+       #SUBTITLETRANSLIT
+       #ARTISTTRANSLIT
+       #CREDIT
+       #CDTITLE
+       #SAMPLESTART
+               #SAMPLELENGTH
+       #SELECTABLE
+       #BGCHANGE
+       */
+       // Add beat info to song
+       return true;
+}
+
+
+
+
+Notes SongParser::smParseNotes(std::string line) {
+       //container for dance songs
+       typedef std::map<int, Note> DanceChord; //int indicates "arrow" position (cmp. fret in guitar)
+       typedef std::vector<DanceChord> DanceChords;
+
+       DanceChords chords;     //temporary container for notes
+       Notes notes;
+       unsigned measure = 1;
+       double begin = 0.0;
+       bool forceMeasure = false;
+
+       std::map<int, int> holdMarks; // Keeps track of hold notes not yet terminated
+
+       while (forceMeasure || getline(line)) {
+               if (forceMeasure) { line = ";"; forceMeasure = false; }
+               boost::trim(line); // Remove whitespace
+               if (line.empty()) continue;
+               if (line.substr(0, 2) == "//") continue;  // Skip comments
+               if (line[0] == '#') break;  // HACK: This should read away the next #NOTES: line
+               if (line[0] == ',' || line[0] == ';') {
+                       double end = tsTime(measure * 16.0);
+                       unsigned div = chords.size();
+                       double step = (end - begin) / div;
+                       for (unsigned note = 0; note < div; ++note) {
+                               double t = begin + note * step;
+                               double phase = double(note) / div;
+                               for (auto& elem: chords[note]) {
+                                       int& holdIdx = holdMarks[elem.first];  // holdIdx for current arrow
+                                       Note& n = elem.second;
+                                       n.begin = n.end = t;
+                                       n.phase = phase;
+                                       // TODO: Proper LIFT handling
+                                       if (n.type == Note::TAP || n.type == Note::MINE || n.type == Note::LIFT) notes.push_back(n);
+                                       // TODO: Proper ROLL handling
+                                       if (n.type == Note::HOLDBEGIN || n.type == Note::ROLL) {
+                                               notes.push_back(n);  // Note added now, end time will be fixed later
+                                               holdIdx = notes.size(); // Store index in notes plus one
+                                               continue;
+                                       }
+                                       if (n.type == Note::HOLDEND) {
+                                               if (holdIdx == 0) throw std::runtime_error("Hold end without beginning");
+                                               notes[holdIdx - 1].end = t;
+                                       }
+                                       holdIdx = 0;
+                               }
+                       }
+                       chords.clear();
+                       begin = end;
+                       ++measure;
+                       continue;
+               }
+               /*Note data is read into temporary container chords before
+               finally reading it into vector notes. This is done so that the bpm and time stamp values
+               would be easier to count afterwards.
+               */
+               DanceChord chord;
+               // Deal with ; or , being on a same line
+               if (line[line.size()-1] == ';' || line[line.size()-1] == ',') {
+                       forceMeasure = true;
+                       line = line.substr(0, line.size()-1);
+               }
+               for(std::size_t i = 0; i < line.size(); i++) {
+                       char notetype = line[i];
+                       if (notetype == '0') continue;
+                       Note note;
+                       if(notetype == '1') note.type = Note::TAP;
+                       else if(notetype == '2') note.type = Note::HOLDBEGIN;
+                       else if(notetype == '3') note.type = Note::HOLDEND;
+                       else if(notetype == '4') note.type = Note::ROLL;
+                       else if(notetype == 'M') note.type = Note::MINE;
+                       else if(notetype == 'L') note.type = Note::LIFT;
+                       else if(notetype >= 'a' && notetype <= 'z') note.type = Note::TAP;
+                       else if(notetype >= 'A' && notetype <= 'Z') note.type = Note::TAP;
+                       else throw std::runtime_error(std::string("Invalid note command: ") + notetype);
+                       note.note = i;
+                       chord[i] = note;
+               }
+               chords.push_back(chord);
+       }
+       m_tsEnd = std::max(m_tsEnd, measure * 16);
+       return notes;
+}
+
+/// Convert a stop into <time, duration> (as stored in the song)
+std::pair<double, double> SongParser::smStopConvert(std::pair<double, double> s) {
+       s.first = tsTime(s.first);
+       return s;
+}
diff --git a/game/songparser-txt.cc b/game/songparser-txt.cc
new file mode 100644 (file)
index 0000000..ac58918
--- /dev/null
@@ -0,0 +1,238 @@
+#include "songparser.hh"
+
+#include <boost/algorithm/string.hpp>
+#include <algorithm>
+#include <stdexcept>
+
+/// @file
+/// Functions used for parsing the UltraStar TXT song format
+
+using namespace SongParserUtil;
+
+/// 'Magick' to check if this file looks like correct format
+bool SongParser::txtCheck(std::string const& data) const {
+       return data[0] == '#' && data[1] >= 'A' && data[1] <= 'Z';
+}
+
+/// Parse header data for Songs screen
+void SongParser::txtParseHeader() {
+       Song& s = m_song;
+       std::string line;
+       s.insertVocalTrack(TrackName::LEAD_VOCAL, VocalTrack(TrackName::LEAD_VOCAL)); // Dummy note to indicate there is a track
+       while (getline(line) && txtParseField(line)) {}
+       if (s.title.empty() || s.artist.empty()) throw std::runtime_error("Required header fields missing");
+       if (m_bpm != 0.0) addBPM(0, m_bpm);
+}
+
+/// Parse notes
+void SongParser::txtParse() {
+       std::string line;
+       m_curSinger = CurrentSinger::P1;
+       m_song.insertVocalTrack(TrackName::LEAD_VOCAL, VocalTrack(TrackName::LEAD_VOCAL));
+       m_song.insertVocalTrack(DUET_P2, VocalTrack(DUET_P2));
+       while (getline(line) && txtParseField(line)) {} // Parse the header again
+       txtResetState();
+       while (txtParseNote(line) && getline(line)) {} // Parse notes
+       // Workaround for the terminating : 1 0 0 line, written by some converters
+       // FIXME: Should we do this for all tracks?     
+       
+       for (auto const& name: { TrackName::LEAD_VOCAL, DUET_P2 }) {
+               Notes& notes = m_song.getVocalTrack(name).notes;
+               auto it = notes.rbegin();
+               if (!notes.empty() && it->type != Note::SLEEP && it->begin == it->end) notes.pop_back();
+               if (notes.empty()) m_song.eraseVocalTrack(name);
+       }
+       
+       if (m_song.hasDuet()) {
+               bool skip;
+               Notes s1, s2, merged, finalDuet;
+               s1 = m_song.getVocalTrack(TrackName::LEAD_VOCAL).notes;
+               s2 = m_song.getVocalTrack(SongParserUtil::DUET_P2).notes;
+               std::merge(s1.begin(), s1.end(), s2.begin(), s2.end(), std::back_inserter(merged), Note::ltBegin);
+               VocalTracks const& tracks = m_song.vocalTracks;
+               std::string duetName = tracks.at(TrackName::LEAD_VOCAL).name + " & " + tracks.at(SongParserUtil::DUET_P2).name;
+               m_song.insertVocalTrack(SongParserUtil::DUET_BOTH, duetName);
+               VocalTrack& duetTrack = m_song.getVocalTrack(SongParserUtil::DUET_BOTH);
+               Notes& duetNotes = duetTrack.notes;
+               duetNotes.clear();
+               
+               for (auto currentNote: merged) {
+                       skip = false;
+                       if (!finalDuet.empty()) { 
+                               if (currentNote.type == Note::SLEEP) {
+                                       auto prevToLast = ++(finalDuet.rbegin());
+                                       if (prevToLast->type == Note::SLEEP) {
+                                               std::clog << "songparser/info: Phrase formed by a single syllable is most likely our fault, We'll skip the break." << std::endl;
+                                               skip = true;
+                                       }
+                               }
+                               else {
+                                       if (Note::overlapping(finalDuet.back(),currentNote)) {
+                                               std::clog << "songparser/info: Will try to fix overlap (most likely between both singers) with a linebreak." << std::endl;
+                                               Note lineBreak = Note();
+                                               lineBreak.type = Note::SLEEP;
+                                               double beatDur = getBPM(finalDuet.back().begin).step;
+                                               double newEnd = (currentNote.begin - 2*beatDur);
+                                               lineBreak.begin = lineBreak.end = newEnd;
+                                               if (finalDuet.back().type != Note::SLEEP) {
+                                                       finalDuet.back().end = newEnd;
+                                                       if (currentNote.type == Note::SLEEP) { skip = true; }
+                                                       if (!skip) { finalDuet.push_back(lineBreak); }
+                                               }
+                                       }
+                               }       
+                       }
+                       if (!skip) { finalDuet.push_back(currentNote); }
+               }
+               auto finalNote = std::unique(finalDuet.begin(), finalDuet.end(), Note::equal);
+               finalDuet.erase(finalNote, finalDuet.end());
+               duetNotes.swap(finalDuet);
+               duetTrack.noteMin = std::min(m_song.getVocalTrack(TrackName::LEAD_VOCAL).noteMin, m_song.getVocalTrack(SongParserUtil::DUET_P2).noteMin);
+               duetTrack.noteMax = std::max(m_song.getVocalTrack(TrackName::LEAD_VOCAL).noteMax, m_song.getVocalTrack(SongParserUtil::DUET_P2).noteMax);
+       } 
+}
+
+bool SongParser::txtParseField(std::string const& line) {
+       if (line.empty()) return true;
+       if (line[0] != '#') return false;
+       std::string::size_type pos = line.find(':');
+       if (pos == std::string::npos) throw std::runtime_error("Invalid txt format, should be #key:value");
+       std::string key = boost::trim_copy(line.substr(1, pos - 1));
+       std::string value = boost::trim_copy(line.substr(pos + 1));
+       if (value.empty()) return true;
+       
+       // Parse header data that is stored in SongParser rather than in song (and thus needs to be read every time)
+       if (key == "BPM") assign(m_bpm, value);
+       else if (key == "RELATIVE") assign(m_relative, value);
+       else if (key == "GAP") { assign(m_gap, value); m_gap *= 1e-3; }
+       else if (key == "DUETSINGERP1" || key == "P1") m_song.insertVocalTrack(TrackName::LEAD_VOCAL, VocalTrack(value.substr(value.find_first_not_of(" "))));
+       // Strong hint that this is a duet, so it will be readily displayed with two singers in browser and properly filtered
+       else if (key == "DUETSINGERP2" || key == "P2") m_song.insertVocalTrack(DUET_P2, VocalTrack(value.substr(value.find_first_not_of(" "))));
+       
+       if (m_song.loadStatus >= Song::LoadStatus::HEADER) return true;  // Only re-parsing now, skip any other data
+       
+       // Parse header data that is directly stored in m_song
+       if (key == "TITLE") m_song.title = value.substr(value.find_first_not_of(" :"));
+       else if (key == "ARTIST") m_song.artist = value.substr(value.find_first_not_of(" "));
+       else if (key == "EDITION") m_song.edition = value.substr(value.find_first_not_of(" "));
+       else if (key == "GENRE") m_song.genre = value.substr(value.find_first_not_of(" "));
+       else if (key == "CREATOR") m_song.creator = value.substr(value.find_first_not_of(" "));
+       else if (key == "COVER") m_song.cover = fs::absolute(value, m_song.path);
+       else if (key == "MP3") m_song.music["background"] = fs::absolute(value, m_song.path);
+       else if (key == "VOCALS") m_song.music["vocals"] = fs::absolute(value, m_song.path);
+       else if (key == "VIDEO") m_song.video = fs::absolute(value, m_song.path);
+       else if (key == "BACKGROUND") m_song.background = fs::absolute(value, m_song.path);
+       else if (key == "START") assign(m_song.start, value);
+       else if (key == "VIDEOGAP") assign(m_song.videoGap, value);
+       else if (key == "PREVIEWSTART") assign(m_song.preview_start, value);
+       else if (key == "LANGUAGE") m_song.language = value.substr(value.find_first_not_of(" "));
+       return true;
+}
+
+bool SongParser::txtParseNote(std::string line) {
+       if (line.empty() || line == "\r") return true;
+       if (line[0] == '#') throw std::runtime_error("Key found in the middle of notes");
+       if (line[line.size() - 1] == '\r') line.erase(line.size() - 1);
+       if (line[0] == 'E') return false;
+       std::istringstream iss(line);
+       if (line[0] == 'B') {
+               unsigned int ts;
+               double bpm;
+               iss.ignore();
+               if (!(iss >> ts >> bpm)) throw std::runtime_error("Invalid BPM line format");
+               addBPM(ts, bpm);
+               return true;
+       }
+       if (line[0] == 'P') {
+               if (m_relative) // FIXME?
+                       throw std::runtime_error("Relative note timing not supported with multiple singers");
+               if (line.size() < 2) throw std::runtime_error("Invalid player info line [too short]: " + line);
+               else if (line[1] == '1') m_curSinger = CurrentSinger::P1;
+               else if (line[1] == '2') m_curSinger = CurrentSinger::P2;
+               else if (line[1] == '3') m_curSinger = CurrentSinger::BOTH;
+               else if (line.size() < 3) throw std::runtime_error("Invalid player info line [too short]: " + line);
+               else if (line[2] == '1') m_curSinger = CurrentSinger::P1;
+               else if (line[2] == '2') m_curSinger = CurrentSinger::P2;
+               else if (line[2] == '3') m_curSinger = CurrentSinger::BOTH;
+               else throw std::runtime_error("Invalid player info line [malformed]: " + line);
+               txtResetState();
+               return true;
+       }
+       Note n;
+       n.type = Note::Type(iss.get());
+       unsigned int ts = m_txt.prevts;
+       switch (n.type) {
+               case Note::NORMAL:
+               case Note::FREESTYLE:
+               case Note::GOLDEN:
+               {
+                       unsigned int length = 0;
+                       if (!(iss >> ts >> length >> n.note)) throw std::runtime_error("Invalid note line format");
+                       if (length < 1) std::clog << "songparser/info: Notes must have positive durations." << std::endl;
+                       n.notePrev = n.note; // No slide notes in TXT yet.
+                       if (m_relative) ts += m_txt.relativeShift;
+                       if (iss.get() == ' ') std::getline(iss, n.syllable);
+                       n.end = tsTime(ts + length);
+               }
+                       break;
+               case Note::SLEEP:
+               {
+                       unsigned int end;
+                       if (!(iss >> ts >> end)) end = ts;
+                       if (m_relative) {
+                               ts += m_txt.relativeShift;
+                               end += m_txt.relativeShift;
+                               m_txt.relativeShift = end;
+                       }
+                       n.end = tsTime(end);
+               }
+                       break;
+               default: throw std::runtime_error("Unknown note type");
+       }
+       n.begin = tsTime(ts);
+       VocalTrack& vocal = m_song.getVocalTrack(
+         (m_curSinger == CurrentSinger::P1) || (m_curSinger == CurrentSinger::BOTH)
+         ? TrackName::LEAD_VOCAL : DUET_P2);
+       Notes& notes = vocal.notes;
+       if (m_relative && notes.empty()) m_txt.relativeShift = ts;
+       m_txt.prevts = ts;
+       // FIXME: These work-arounds don't work for P3 (both singers) case
+       if (n.begin < m_txt.prevtime) {
+               // Oh no, overlapping notes (b0rked file)
+               // Can't do this because too many songs are b0rked: throw std::runtime_error("Note overlaps with previous note");
+               if (notes.size() >= 1) {
+                       Note& p = notes.back();
+                       if (p.begin > n.begin) {
+                               std::string msg = "Skipped overlapping notes:\n" + p.syllable + ", " + n.syllable + "\n";
+                               m_song.b0rked += msg;
+                               std::clog << "songparser/notice: " + m_song.filename.string() + ": " + msg << std::endl;
+                               return true;
+                       }
+               } else throw std::runtime_error("The first note has negative timestamp");
+       }
+       double prevtime = m_txt.prevtime;
+       m_txt.prevtime = n.end;
+       if (n.type != Note::SLEEP && n.end > n.begin) {
+               vocal.noteMin = std::min(vocal.noteMin, n.note);
+               vocal.noteMax = std::max(vocal.noteMax, n.note);
+       }
+       if (n.type == Note::SLEEP) {
+               if (notes.empty()) return true; // Ignore sleeps at song beginning
+               else {
+                       Note& p = notes.back();
+                       n.begin = n.end = prevtime; // Normalize sleep notes
+                       
+                       if (p.type == Note::SLEEP) return true; // Ignore consecutive sleeps
+               }
+       }
+       notes.push_back(n);
+       if (m_curSinger == CurrentSinger::BOTH) { m_song.getVocalTrack(DUET_P2).notes.push_back(n); }
+       return true;
+}
+
+void SongParser::txtResetState() {
+       m_txt = TXTState();
+       m_bpms.clear();
+       if (m_bpm != 0.0) { addBPM (0, m_bpm); }
+}
+
diff --git a/game/songparser-xml.cc b/game/songparser-xml.cc
new file mode 100644 (file)
index 0000000..0c9e9c0
--- /dev/null
@@ -0,0 +1,210 @@
+#include "songparser.hh"
+
+#include "util.hh"
+#include "libxml++-impl.hh"
+#include <boost/algorithm/string.hpp>
+#include <stdexcept>
+
+/// @file
+/// Functions used for parsing the SingStar XML song format
+
+using namespace SongParserUtil;
+
+/// 'Magick' to check if this file looks like correct format
+bool SongParser::xmlCheck(std::string const& data) const {
+       static const std::string header = "<?";
+       return std::equal(header.begin(), header.end(), data.begin());
+}
+
+
+/*
+// LibXML2 logging facility
+extern "C" void xmlLogger(void* logger, char const* msg, ...) { if (logger) *(std::ostream*)logger << msg; }
+void enableXMLLogger(std::ostream& os = std::cerr) { xmlSetGenericErrorFunc(&os, xmlLogger); }
+void disableXMLLogger() { xmlSetGenericErrorFunc(NULL, xmlLogger); }
+*/
+
+struct SSDom: public xmlpp::DomParser {
+       xmlpp::Node::PrefixNsMap nsmap;
+       SSDom(std::stringstream const& _ss) {
+               load(_ss.str());
+       }
+       void load(std::string const& buf) {
+               set_substitute_entities();
+               /*
+               struct DisableLogger {
+                       DisableLogger() { disableXMLLogger(); }
+                       ~DisableLogger() { enableXMLLogger(); }
+               } disabler;
+               */
+               parse_memory(buf);
+               nsmap["ss"] = get_document()->get_root_node()->get_namespace_uri();
+       }
+       bool find(xmlpp::Element const& elem, std::string xpath, xmlpp::const_NodeSet& n) {
+               if (nsmap["ss"].empty()) boost::erase_all(xpath, "ss:");
+               n = elem.find(xpath, nsmap);
+               return !n.empty();
+       }
+       bool find(std::string const& xpath, xmlpp::const_NodeSet& n) {
+               return find(*get_document()->get_root_node(), xpath, n);
+       }
+       bool getValue(std::string const& xpath, std::string& result) {
+               xmlpp::const_NodeSet n;
+               if (!find(xpath, n)) return false;
+               result = xmlpp::get_first_child_text(dynamic_cast<const xmlpp::Element&>(*n[0]))->get_content();
+               return true;
+       }
+};
+
+namespace {
+       /// Parse str (from XML comment node) for header/value and store cleaned up value in result.
+       bool parseComment(std::string const& str, std::string const& header, std::string& result) {
+               if (!boost::starts_with(str, header)) return false;
+               result = boost::replace_all_copy(
+                 boost::trim_left_copy(str.substr(header.size())),
+                 "&amp;", "&");
+               return true;
+       }
+}
+
+/// Parse header data for Songs screen
+void SongParser::xmlParseHeader() {
+       Song& s = m_song;
+
+       // Parse notes.xml
+       SSDom dom(m_ss);
+       // Extract artist and title from XML comments
+       {
+               xmlpp::const_NodeSet comments;
+               // Comments inside or before root element
+               dom.find("/ss:MELODY/comment()", comments) || dom.find("/ss:MELODY/../comment()", comments);
+               for (auto const& node: comments) {
+                       std::string str = dynamic_cast<xmlpp::CommentNode const&>(*node).get_content();
+                       boost::trim(str);
+                       parseComment(str, "Artist:", s.artist) || parseComment(str, "Title:", s.title);
+               }
+               if (s.title.empty() || s.artist.empty()) throw std::runtime_error("Required header fields missing");
+       }
+       // Read TRACK elements (singer names), if available
+       std::string singers;  // Only used for "Together" track
+       xmlpp::const_NodeSet tracks;
+       dom.find("/ss:MELODY/ss:TRACK", tracks);
+       for (auto const& elem: tracks) {
+               auto const& trackNode = dynamic_cast<xmlpp::Element const&>(*elem);
+               std::string name = trackNode.get_attribute("Name")->get_value();  // "Player1" or "Player2"
+               auto attr = trackNode.get_attribute("Artist");
+               std::string artist = attr ? std::string(attr->get_value()) : name;  // Singer name
+               if (attr) singers += (singers.empty() ? "" : " & ") + artist;
+               m_song.insertVocalTrack(name, VocalTrack(artist));
+       }
+       // If no tracks are specified, we can assume that it isn't duet
+       if (tracks.empty()) m_song.insertVocalTrack("Player1", VocalTrack(s.artist));
+       else if (tracks.size() > 1) m_song.insertVocalTrack("Together", VocalTrack(singers.empty() ? _("Together") : singers));
+}
+
+void addNoteToTrack(VocalTrack& vocal, const Note& note) {
+       if (note.type == Note::SLEEP) {
+               // Skip extra sleep notes
+               if (vocal.notes.empty() || vocal.notes.back().type == Note::SLEEP) return;
+       } else {
+               vocal.noteMin = std::min(vocal.noteMin, note.note);
+               vocal.noteMax = std::max(vocal.noteMax, note.note);
+       }
+       vocal.notes.push_back(note);
+}
+
+/// Parse notes
+void SongParser::xmlParse() {
+       // Parse notes.xml
+       SSDom dom(m_ss);
+       Song& s = m_song;
+       // Extract tempo
+       {
+               xmlpp::const_NodeSet n;
+               if (!dom.find("/ss:MELODY", n)) throw std::runtime_error("Unable to find BPM info");
+               auto const& e = dynamic_cast<xmlpp::Element const&>(*n[0]);
+               std::string res = e.get_attribute("Resolution")->get_value();
+               SongParserUtil::assign(m_bpm, e.get_attribute("Tempo")->get_value().c_str());
+               if (res == "Semiquaver") {}
+               else if (res == "Demisemiquaver") m_bpm *= 2.0;
+               else throw std::runtime_error("Unknown tempo resolution: " + res);
+       }
+       addBPM(0, m_bpm);
+
+       // Parse each track...
+       xmlpp::const_NodeSet tracks;
+       // First try version 1 (MELODY/SENTENCE), fallback to version 2/4 (MELODY/TRACK/SENTENCE).
+       dom.find("/ss:MELODY[ss:SENTENCE]", tracks) || dom.find("/ss:MELODY/ss:TRACK[ss:SENTENCE]", tracks);
+       if (tracks.empty()) throw std::runtime_error("No valid tracks or sentences found");
+       // Process each vocalTrack separately; use the same XML (version 1) track twice if needed
+       unsigned players = clamp<unsigned>(s.vocalTracks.size(), 1, 2);  // Don't count "Together" track
+       auto vocalIt = s.vocalTracks.begin();
+       for (unsigned player = 0; player < players; ++player, ++vocalIt) {
+               if (vocalIt == s.vocalTracks.end()) throw std::logic_error("SongParser-xml vocalIt past the end");
+               VocalTrack& vocal = vocalIt->second;
+               auto const& trackElem = dynamic_cast<xmlpp::Element const&>(*tracks[player % tracks.size()]);
+               std::string sentenceSinger = "Solo 1";  // The default value
+               xmlpp::const_NodeSet sentences;
+               dom.find(trackElem, "ss:SENTENCE", sentences);
+               unsigned ts = 0;
+               for (auto it = sentences.begin(); it != sentences.end(); ++it ) {
+                       auto const& sentenceNode = dynamic_cast<xmlpp::Element const&>(**it);
+                       // Check if SENTENCE has new attributes
+                       {
+                               auto attr = sentenceNode.get_attribute("Part");
+                               if (attr) m_song.songsections.push_back(Song::SongSection(attr->get_value(), tsTime(ts)));
+                               attr = sentenceNode.get_attribute("Singer");
+                               if (attr) sentenceSinger = attr->get_value();
+                       }
+                       // Begin each sentence with sleep (extras will be purged in addNoteToTrack)
+                       {
+                               Note sleep;
+                               sleep.type = Note::SLEEP;
+                               sleep.begin = sleep.end = tsTime(ts);
+                               addNoteToTrack(vocal, sleep);
+                       }
+                       // Notes of a sentence
+                       xmlpp::const_NodeSet notes;
+                       dom.find(sentenceNode, "ss:NOTE", notes);
+                       for (auto const& elem: notes) {
+                               auto const& noteNode = dynamic_cast<xmlpp::Element const&>(*elem);
+                               Note n = xmlParseNote(noteNode, ts);
+                               if (n.note == 0) continue;
+                               // Skip sentences that do not belong to current player
+                               if (player != 0 && sentenceSinger == "Solo 1") continue;
+                               if (players > 1 && player != 1 && sentenceSinger == "Solo 2") continue;
+                               // Actually add the note to current player's track...
+                               addNoteToTrack(vocal, n);
+                       }  // notes
+               }  // sentences
+       } // players (vocal tracks)
+}
+
+Note SongParser::xmlParseNote(xmlpp::Element const& noteNode, unsigned& ts) {
+       Note n;
+       std::string lyric = noteNode.get_attribute("Lyric")->get_value();
+       // Pretty print hyphenation
+       if (lyric.size() > 0 && lyric[lyric.size() - 1] == '-') {
+               if (lyric.size() > 1 && lyric[lyric.size() - 2] == ' ') lyric.erase(lyric.size() - 2);
+               else lyric[lyric.size() - 1] = '~';
+       } else {
+               lyric += ' ';
+       }
+       unsigned note, duration;
+       SongParserUtil::assign(note, noteNode.get_attribute("MidiNote")->get_value().c_str());
+       SongParserUtil::assign(duration, noteNode.get_attribute("Duration")->get_value().c_str());
+       if (noteNode.get_attribute("FreeStyle")) n.type = Note::FREESTYLE;
+       else if (noteNode.get_attribute("Bonus")) n.type = Note::GOLDEN;
+       else n.type = Note::NORMAL;
+
+       n.begin = tsTime(ts);
+       ts += duration;
+       n.end = tsTime(ts);
+       n.syllable = lyric;
+       n.note = note;
+       n.notePrev = note;
+
+       return n;
+}
+
+
diff --git a/game/songparser.cc b/game/songparser.cc
new file mode 100644 (file)
index 0000000..f39d328
--- /dev/null
@@ -0,0 +1,305 @@
+#include "songparser.hh"
+
+#include <boost/algorithm/string.hpp>
+#include <boost/filesystem/fstream.hpp>
+#include <regex>
+
+
+namespace SongParserUtil {
+       void assign (int& var, std::string const& str) {
+               try {
+                       var = std::stoi (str);
+               } catch (...) {
+                       throw std::runtime_error ("\"" + str + "\" is not valid integer value");
+               }
+       }
+       void assign (unsigned& var, std::string const& str) {
+               try {
+                       var = std::stoi (str);
+               } catch (...) {
+                       throw std::runtime_error ("\"" + str + "\" is not valid unsigned integer value");
+               }
+       }
+       void assign (double& var, std::string str) {
+               std::replace (str.begin(), str.end(), ',', '.');  // Fix decimal separators
+               try {
+                       var = std::stod (str);
+               } catch (...) {
+                       throw std::runtime_error ("\"" + str + "\" is not valid floating point value");
+               }
+       }
+       void assign (bool& var, std::string const& str) {
+               if ((str == "YES") || (str == "yes") || (str == "1")) {var = true; } else if ((str == "NO") || (str == "no") || (str == "0")) {
+                       var = false;
+               }
+               else { throw std::runtime_error ("Invalid boolean value: " + str); }
+       }
+       void eraseLast (std::string& s, char ch) {
+               if (!s.empty() && (*s.rbegin() == ch)) {s.erase (s.size() - 1); }
+       }
+}
+
+SongParser::SongParser(Song& s): m_song(s) {
+       try {
+               enum { NONE, TXT, XML, INI, SM } type = NONE;
+               // Read the file, determine the type and do some initial validation checks
+               fs::ifstream f (s.filename, std::ios::binary);
+               if (!f.is_open()) {
+                       throw SongParserException (s, "Could not open song file", 0);
+               }
+               m_ss << f.rdbuf();
+               int size = m_ss.str().length();
+               if ((size < 10) || (size > 100000)) {
+                       throw SongParserException (s, "Does not look like a song file (wrong size)", 1, true);
+               }
+               // Convert m_ss; filename supplied for possible warning messages
+               if (xmlCheck (m_ss.str())) {
+                       type = XML;     // XMLPP should deal with encoding so we don't have to.
+               }
+               else {
+                       UnicodeUtil::convertToUTF8(m_ss, s.filename.string());
+                       if (smCheck (m_ss.str())) {type = SM; } else if (txtCheck (m_ss.str())) {
+                               type = TXT;
+                       }
+                       else if (iniCheck (m_ss.str())) {
+                               type = INI;
+                       }
+                       else { 
+                               throw SongParserException (s, "Does not look like a song file (wrong header)", 1, true);
+                       }
+               }
+               // Header already parsed?
+               if (s.loadStatus == Song::LoadStatus::HEADER) {
+                       if (type == TXT) txtParse();
+                       else if (type == INI) midParse();  // INI doesn't contain notes, parse those from MIDI
+                       else if (type == XML) xmlParse();
+                       else if (type == SM) smParse();
+                       finalize();  // Do some adjusting to the notes
+                       s.loadStatus = Song::LoadStatus::FULL;
+                       return;
+               }
+               // Parse only header to speed up loading and conserve memory
+               if (type == TXT) txtParseHeader();
+               else if (type == INI) iniParseHeader();
+               else if (type == XML) xmlParseHeader();
+               else if (type == SM) {
+                       smParseHeader(); s.dropNotes();  // Hack: drop notes here (load again when playing the song)
+               }
+
+               // Default for preview position if none was specified in header
+               if (s.preview_start != s.preview_start) {
+                       s.preview_start = (type == INI ? 5.0 : 30.0);  // 5 s for band mode, 30 s for others
+               }
+               guessFiles();
+               if (!m_song.midifilename.empty()) {midParseHeader(); }
+               
+               s.loadStatus = Song::LoadStatus::HEADER;
+       } catch (SongParserException&) {
+               throw;
+       } catch (std::runtime_error& e) {
+               throw SongParserException (m_song, e.what(), m_linenum);
+       } catch (std::exception& e) {
+               throw SongParserException (m_song, "Internal error: " + std::string (e.what()), m_linenum);
+       }
+}
+
+void SongParser::guessFiles () {
+       // List of fields containing filenames, and auto-matching regexps, in order of priority
+       const std::vector<std::pair<fs::path*, char const*> > fields = {
+               { &m_song.cover, R"((cover|album|label|banner|bn|\[co\])\.(png|jpeg|jpg|svg)$)" },
+               { &m_song.background, R"((background|bg|\[bg\])\.(png|jpeg|jpg|svg)$)" },
+               { &m_song.cover, R"(\.(png|jpeg|jpg|svg)$)" },
+               { &m_song.background, R"(\.(png|jpeg|jpg|svg)$)" },
+               { &m_song.video, R"(\.(avi|mpg|mpeg|flv|mov|mp4|mkv|m4v)$)" },
+               { &m_song.midifilename, R"(^notes\.mid$)" },
+               { &m_song.midifilename, R"(\.mid$)" },
+               { &m_song.music[TrackName::PREVIEW], R"(^preview\.(mp3|ogg|aac)$)" },
+               { &m_song.music[TrackName::GUITAR], R"(^guitar\.(mp3|ogg|aac)$)" },
+               { &m_song.music[TrackName::BASS], R"(^rhythm\.(mp3|ogg|aac)$)" },
+               { &m_song.music[TrackName::DRUMS], R"(^drums\.(mp3|ogg|aac)$)" },
+               { &m_song.music[TrackName::KEYBOARD], R"(^keyboard\.(mp3|ogg|aac)$)" },
+               { &m_song.music[TrackName::GUITAR_COOP], R"(^guitar_coop\.(mp3|ogg|aac)$)"},
+               { &m_song.music[TrackName::GUITAR_RHYTHM], R"(^guitar_rhythm\.(mp3|ogg|aac)$)"},
+               { &m_song.music[TrackName::LEAD_VOCAL], R"(^vocals\.(mp3|ogg|aac)$)" },
+               { &m_song.music[TrackName::BGMUSIC], R"(^song\.(mp3|ogg|aac)$)" },
+               { &m_song.music[TrackName::BGMUSIC], R"(\.(mp3|ogg|aac)$)" },
+       };
+       
+       std::string logMissing, logFound;
+
+       // Run checks, remove bogus values and construct regexps
+       std::vector<std::regex> regexps;
+       bool missing = false;
+       for (auto const& p : fields) {
+               fs::path& file = *p.first;
+               if (!file.empty() && !is_regular_file (file)) {
+                       logMissing += "  " + file.filename().string();
+                       file.clear();
+               }
+               if (file.empty()) { missing = true; }
+               regexps.emplace_back (p.second, std::regex_constants::icase);
+       }
+       
+       if (!missing) {
+               return; // All OK!
+       }
+       // Try matching all files in song folder with any field
+       std::set<fs::path> files (fs::directory_iterator {m_song.path}, fs::directory_iterator {});
+       for (unsigned i = 0; i < fields.size(); ++i) {
+               fs::path& field = *fields[i].first;
+               if (field.empty()) {
+                       for (fs::path const& f : files) {
+                               std::string name = f.filename().string();  // File basename
+                               if (!regex_search(name, regexps[i])) continue;  // No match for current file
+                               field = f;
+                               logFound += "  " + name;
+                       }
+               }
+               files.erase (field);  // Remove from available options
+       }
+       
+       m_song.music[TrackName::PREVIEW].clear();  // We don't currently support preview tracks (TODO: proper handling in audio.cc).
+       
+       if (logFound.empty() && logMissing.empty()) {
+               return;
+       }
+       std::clog << "songparser/" << (logMissing.empty() ? "debug" : "notice") << ": " + m_song.filename.string() + ":\n";
+       if (!logMissing.empty()) {
+               std::clog << "  Not found:    " + logMissing + "\n";
+       }
+       if (!logFound.empty()) {
+               std::clog << "  Autodetected: " + logFound + "\n";
+       }
+       std::clog << std::flush;
+}
+
+void SongParser::vocalsTogether () {
+       auto togetherIt = m_song.vocalTracks.find ("Together");
+       if (togetherIt == m_song.vocalTracks.end()) {return; }
+       Notes& together = togetherIt->second.notes;
+       if (!together.empty()) {return; }
+       Notes notes;
+       // Collect usable vocal tracks
+       struct TrackInfo {
+               typedef Notes::const_iterator It;
+               It it, end;
+               TrackInfo(It begin, It end) :
+                       it (begin), end (end) {}
+       };
+       std::vector<TrackInfo> tracks;
+       for (auto& nt : m_song.vocalTracks) {
+               togetherIt->second.noteMin = std::min (togetherIt->second.noteMin, nt.second.noteMin);
+               togetherIt->second.noteMax = std::max (togetherIt->second.noteMax, nt.second.noteMax);
+               
+               Notes& n = nt.second.notes;
+               if (!n.empty()) {tracks.push_back (TrackInfo (n.begin(), n.end())); }
+       }
+       if (tracks.empty()) {return; }
+       // Combine notes
+       // FIXME: This should do combining on sentence level rather than note-by-note
+       TrackInfo* trk = &tracks.front();
+       while (trk) {
+               Note const& n = *trk->it;
+               // std::cerr << " " << n.syllable << ": " << n.begin << "-" << n.end << std::endl;
+               notes.push_back (n);
+               ++trk->it;
+               trk = nullptr;
+               // Iterate all tracks past the processed note and find the new earliest track
+               for (TrackInfo& trk2 : tracks) {
+                       // Skip until a sentence that begins after the note ended
+                       while (trk2.it != trk2.end && trk2.it->begin < n.end) {++trk2.it; }
+                       if (trk2.it == trk2.end) {continue; }
+                       if (!trk || (trk2.it->begin < trk->it->begin)) {trk = &trk2; }
+               }
+       }
+       together.swap (notes);
+}
+
+void SongParser::finalize () {
+       vocalsTogether();
+       for (auto& nt : m_song.vocalTracks) {
+               VocalTrack& vocal = nt.second;
+               // Remove empty sentences
+               {
+                       Note::Type lastType = Note::NORMAL;
+                       std::clog << "songparser/debug: In " << m_song.artist << " - " << m_song.title << std::endl;
+                       for (auto itn = vocal.notes.begin(); itn != vocal.notes.end();) {
+                               if (itn->type == Note::SLEEP) { itn->end = itn->begin; ++itn; continue; }
+                               auto next = (itn +1);
+                               
+                               // Try to fix overlapping syllables.
+                               if (next != vocal.notes.end() && Note::overlapping(*itn, *next)) {
+                                       double beatDur = getBPM(itn->begin).step;
+                                       double newEnd = (next->begin - beatDur);
+                                       std::clog << "songparser/info: Trying to correct duration of overlapping notes (" << itn->syllable << " & " << next->syllable << ")..." << std::endl;
+                                       std::clog << "songparser/info: Changing ending to: " << newEnd << ", will give a length of: " << (newEnd - (itn->begin)) << std::endl;
+                                       if ((newEnd - itn->begin) >= beatDur) {
+                                               itn->end = newEnd;
+                                       } else if (next->type != Note::SLEEP) {
+                                               std::clog << "songparser/info: Resulting note would be too short, will combine them instead." << std::endl;
+                                               itn->syllable += std::string("-") += next->syllable;
+                                               itn->end = next->end;
+                                               vocal.notes.erase(next);
+                                       } else {
+                                               next->begin = next->end = itn->end;
+                                       }
+                               }
+                               Note::Type type = itn->type;
+                               if(type == Note::SLEEP && lastType == Note::SLEEP) {
+                                       std::clog << "songparser/info: " + m_song.filename.string() + ": Discarding empty sentence" << std::endl;
+                                       itn = vocal.notes.erase(itn);
+                               } else {
+                                       ++itn;
+                               }
+                               lastType = type;
+                       }
+               }
+               // Adjust negative notes
+               if (vocal.noteMin <= 0) {
+                       unsigned int shift = (1 - vocal.noteMin / 12) * 12;
+                       vocal.noteMin += shift;
+                       vocal.noteMax += shift;
+                       for (auto& elem : vocal.notes) {
+                               elem.note += shift;
+                               elem.notePrev += shift;
+                       }
+               }
+               // Set begin/end times
+               if (!vocal.notes.empty()) { vocal.beginTime = vocal.notes.front().begin, vocal.endTime = vocal.notes.back().end; } else { vocal.beginTime = vocal.endTime = 0.0; }
+               // Compute maximum score
+               double max_score = 0.0;
+               for (auto& note : vocal.notes) { max_score += note.maxScore(); }
+               vocal.m_scoreFactor = 1.0 / max_score;
+       }
+       if (m_tsPerBeat) {
+               // Add song beat markers
+               for (unsigned ts = 0; ts < m_tsEnd; ts += m_tsPerBeat) { m_song.beats.push_back (tsTime (ts)); }
+       }
+}
+
+SongParser::BPM SongParser::getBPM(double ts) const {
+       for (auto& itb: boost::adaptors::reverse(m_bpms)) {
+               if (itb.begin <= ts) return itb;
+       }
+       throw std::runtime_error("No BPM definition prior to this note...");
+}
+
+void SongParser::addBPM(double ts, double bpm) {
+       if (!(( bpm >= 1.0) && ( bpm < 1e12) )) { throw std::runtime_error("Invalid BPM value"); }
+       if (!m_bpms.empty() && ( m_bpms.back().ts >= ts) ) {
+               if (m_bpms.back().ts < ts) { throw std::runtime_error("Invalid BPM timestamp"); }
+               m_bpms.pop_back();      // Some ITG songs contain repeated BPM definitions...
+       }
+       m_bpms.push_back (BPM (tsTime (ts), ts, bpm));
+}
+
+double SongParser::tsTime(double ts) const {
+       if (m_bpms.empty()) {
+               if (ts != 0) { throw std::runtime_error("BPM data missing"); }
+               return m_gap;
+       }
+       for (std::vector<BPM>::const_reverse_iterator it = m_bpms.rbegin(); it != m_bpms.rend(); ++it) {
+               if (it->ts <= ts) { return it->begin + (ts - it->ts) * it->step; }
+       }
+       throw std::logic_error("INTERNAL ERROR: BPM data invalid");
+}
diff --git a/game/songparser.hh b/game/songparser.hh
new file mode 100644 (file)
index 0000000..5605ba5
--- /dev/null
@@ -0,0 +1,86 @@
+#pragma once
+
+#include "libxml++.hh"
+#include "song.hh"
+#include "unicode.hh"
+#include <boost/filesystem.hpp>
+#include <boost/range/adaptor/reversed.hpp>
+#include <sstream>
+
+namespace SongParserUtil {
+       const std::string DUET_P2 = "Duet singer";      // FIXME
+       const std::string DUET_BOTH = "Both singers";   // FIXME
+       /// Parse an int from string and assign it to a variable
+       void assign(int& var, std::string const& str);
+       /// Parse an unsigned int from string and assign it to a variable
+       void assign(unsigned& var, std::string const& str);
+       /// Parse a double from string and assign it to a variable
+       void assign(double& var, std::string str);
+       /// Parse a boolean from string and assign it to a variable
+       void assign(bool& var, std::string const& str);
+       /// Erase last character if it matches
+       void eraseLast(std::string& s, char ch = ' ');
+}
+
+/// Parse a song file; this object is only used while parsing and is discarded once done.
+/// Format-specific member functions are implemented in songparser-*.cc.
+class SongParser {
+public:
+       /// Parse into s
+       SongParser (Song & s);
+private:
+       // Variables and types
+       Song& m_song;
+       std::stringstream m_ss;
+       unsigned m_linenum = 0;
+       bool m_relative = false;
+       double m_gap = 0.0;
+       double m_bpm = 0.0;
+       unsigned m_tsPerBeat = 0;  ///< The ts increment per beat
+       unsigned m_tsEnd = 0;  ///< The ending ts of the song
+       enum class CurrentSinger { P1, P2, BOTH } m_curSinger = CurrentSinger::P1;
+       struct BPM {
+               BPM (double _begin, double _ts, double bpm) :
+               begin (_begin), step (0.25 * 60.0 / bpm), ts (_ts) {}
+               double begin;  // Time in seconds
+               double step;  // Seconds per quarter note
+               double ts;
+       };
+       std::vector<BPM> m_bpms;
+       Song::Stops m_stops;  ///< Stops stored in <ts, duration> format
+       /// The following struct is cleared between tracks
+       struct TXTState {
+               double prevtime = 0.0;
+               unsigned prevts = 0;
+               unsigned relativeShift = 0;
+       } m_txt;
+       // Functions
+       void finalize();
+       void vocalsTogether();
+       void guessFiles();
+       bool getline (std::string& line) { ++m_linenum; return (bool) std::getline (m_ss, line); }
+       BPM getBPM(double ts) const;
+       void addBPM(double ts, double bpm);
+       double tsTime(double ts) const;  ///< Convert a timestamp (beats) into time (seconds)
+       bool txtCheck(std::string const& data) const;
+       void txtParseHeader();
+       void txtParse();
+       bool txtParseField(std::string const& line);
+       bool txtParseNote(std::string line);
+       void txtResetState();
+       bool iniCheck(std::string const& data) const;
+       void iniParseHeader();
+       bool midCheck(std::string const& data) const;
+       void midParseHeader();
+       void midParse();
+       bool xmlCheck(std::string const& data) const;
+       void xmlParseHeader();
+       void xmlParse();
+       Note xmlParseNote(xmlpp::Element const& noteNode, unsigned& ts);
+       bool smCheck(std::string const& data) const;
+       void smParseHeader();
+       void smParse();
+       bool smParseField(std::string line);
+       Notes smParseNotes(std::string line);
+       std::pair<double, double> smStopConvert(std::pair<double, double> s);
+};
diff --git a/game/songs.cc b/game/songs.cc
new file mode 100644 (file)
index 0000000..73d1722
--- /dev/null
@@ -0,0 +1,515 @@
+#include "songs.hh"
+
+#include "configuration.hh"
+#include "fs.hh"
+#include "song.hh"
+#include "database.hh"
+#include "i18n.hh"
+#include "profiler.hh"
+#include "libxml++-impl.hh"
+#include "unicode.hh"
+#include "platform.hh"
+
+#include <algorithm>
+#include <cstdlib>
+#include <iostream>
+#include <regex>
+#include <stdexcept>
+
+#include <boost/filesystem.hpp>
+#include <boost/format.hpp>
+#include <cpprest/json.h>
+#include <unicode/stsearch.h>
+
+Songs::Songs(Database & database, std::string const& songlist): m_songlist(songlist), m_database(database), m_order(config["songs/sort-order"].i()) {
+       m_updateTimer.setTarget(getInf()); // Using this as a simple timer counting seconds
+       reload();
+}
+
+Songs::~Songs() {
+       m_loading = false; // Terminate song loading if currently in progress
+       m_thread->join();
+}
+
+void Songs::reload() {
+       if (m_loading) return;
+       if (doneLoading == true) {
+               doneLoading = false;
+               displayedAlert = false;
+       }
+       // Run loading thread
+       m_loading = true;
+       if (m_thread) m_thread->join();
+       m_thread = std::make_unique<std::thread>([this]{ reload_internal(); });
+}
+
+void Songs::reload_internal() {
+       {
+               std::lock_guard<std::mutex> l(m_mutex);
+               m_songs.clear();
+               m_dirty = true;
+       }
+       LoadCache();
+       std::clog << "songs/notice: Done loading the cache. You now have " << m_songs.size() << " songs in your list." << std::endl;
+       std::clog << "songs/notice: Starting to load all songs from disk, to update the cache." << std::endl;
+       Profiler prof("songloader");
+       Paths paths = getPathsConfig("paths/songs");
+       for (auto it = paths.begin(); m_loading && it != paths.end(); ++it) { //loop through stored directories from config
+               try {
+                       if (!fs::is_directory(*it)) { std::clog << "songs/info: >>> Not scanning: " << *it << " (no such directory)\n"; continue; }
+                       std::clog << "songs/info: >>> Scanning " << *it << std::endl;
+                       size_t count = m_songs.size();
+                       reload_internal(*it);
+                       size_t diff = m_songs.size() - count;
+                       if (diff > 0 && m_loading) std::clog << "songs/info: " << diff << " songs loaded\n";
+               } catch (std::exception& e) {
+                       std::clog << "songs/error: >>> Error scanning " << *it << ": " << e.what() << '\n';
+               }
+       }
+       prof("total");
+       if (m_loading) dumpSongs_internal(); // Dump the songlist to file (if requested)
+       std::clog << std::flush;
+       m_loading = false;
+       std::clog << "songs/notice: Done Loading. Loaded " << m_songs.size() << " Songs." << std::endl;
+       CacheSonglist();
+       std::clog << "songs/notice: Done Caching." << std::endl;
+       doneLoading = true;
+}
+
+void Songs::LoadCache() {
+       fs::path songsMetaFile = getCacheDir() / "Songs-Metadata.json";
+       std::ifstream file(songsMetaFile.string());
+       web::json::value jsonRoot;
+    if (file)
+    {
+       try {
+               std::stringstream buffer;
+               buffer << file.rdbuf();
+               file.close();
+               jsonRoot = web::json::value::parse(buffer);
+       } catch(std::exception const& e) {
+                       std::clog << "songs/error: " << e.what() << std::endl;
+                       return;
+       }
+    } else {
+       std::clog << "songs/info: Could not open songs meta cache file " << songsMetaFile.string() << std::endl;
+       return;
+    }
+
+    auto stringList = config["paths/songs"].sl();
+
+    for(auto const& song : jsonRoot.as_array()) {
+       struct stat buffer;
+       auto songPath = song.at("TxtFile").as_string();
+       auto isSongPathInConfiguredPaths = std::find_if(
+                                                        stringList.begin(), 
+                                                        stringList.end(), 
+                                                                                                               [songPath](const std::string& stringListItem) { 
+                                                                                                                       return songPath.find(stringListItem) != std::string::npos;
+                                                                                                                }) != stringList.end();
+       if(_STAT(songPath.c_str(), &buffer) == 0 && isSongPathInConfiguredPaths) {
+               std::shared_ptr<Song> realSong(new Song(song));
+               m_songs.push_back(realSong);
+       }       
+    }
+}
+
+void Songs::CacheSonglist() {
+    web::json::value jsonRoot = web::json::value::array();
+    auto i = 0;
+       for (auto const& song : m_songs)
+    {  
+        web::json::value songObject = web::json::value::object();
+        if(!song->path.string().empty()) {
+               songObject["TxtFileFolder"] = web::json::value::string(song->path.string());
+        }
+        if(!song->filename.string().empty()) {
+               songObject["TxtFile"] = web::json::value::string(song->filename.string());
+        }
+        if(!song->title.empty()) {
+               songObject["Title"] = web::json::value::string(song->title);
+       }
+               if(!song->artist.empty()) {
+               songObject["Artist"] = web::json::value::string(song->artist);
+       }
+        if(!song->edition.empty()) {
+               songObject["Edition"] = web::json::value::string(song->edition);
+       }
+       if(!song->language.empty()) {
+               songObject["Language"] = web::json::value::string(song->language);
+        }
+        if(!song->creator.empty()) {
+               songObject["Creator"] = web::json::value::string(song->creator);
+       }
+       if(!song->genre.empty()) {
+               songObject["Genre"] = web::json::value::string(song->genre);
+       }
+       if(!song->cover.string().empty()) {
+               songObject["Cover"] = web::json::value::string(song->cover.string());
+       }
+       if(!song->background.string().empty()) {
+               songObject["Background"] = web::json::value::string(song->background.string());
+           }
+       if(!song->music["background"].string().empty()) {
+               songObject["SongFile"] = web::json::value::string(song->music["background"].string());
+           }
+       if(!song->video.string().empty()) {
+               songObject["VideoFile"] = web::json::value::string(song->video.string());
+           }
+       if(!std::isnan(song->start)) {
+               songObject["Start"] = web::json::value(song->start);
+           }
+       if(!std::isnan(song->videoGap)) {
+               songObject["VideoGap"] = web::json::value(song->videoGap);
+           }
+       if(!std::isnan(song->preview_start)) {
+               songObject["PreviewStart"] = web::json::value::number(song->preview_start);
+           }
+       if(!song->music["vocals"].string().empty()) {
+               songObject["Vocals"] = web::json::value::string(song->music["vocals"].string());
+           }
+       auto duration = song->getDurationSeconds();
+       if(!std::isnan(duration)) {
+               songObject["Duration"] = web::json::value(duration);
+           }
+           if(songObject != web::json::value::object()) {
+               jsonRoot[i] = songObject;
+               i++;
+       }
+       }
+
+       fs::path cacheDir = getCacheDir() / "Songs-Metadata.json";
+
+       try {
+               std::stringstream stream;
+               jsonRoot.serialize(stream);
+               std::ofstream outFile(cacheDir.string());
+       outFile << stream.rdbuf();
+       outFile.close();
+       } catch (std::exception const& e) {
+               std::clog << "songs/error: Could not save " + cacheDir.string() + ": " + e.what() << std::endl;
+               return;
+       }
+}
+
+void Songs::reload_internal(fs::path const& parent) {
+       if (std::distance(parent.begin(), parent.end()) > 20) { std::clog << "songs/info: >>> Not scanning: " << parent.string() << " (maximum depth reached, possibly due to cyclic symlinks)\n"; return; }
+       try {
+               std::regex expression(R"((\.txt|^song\.ini|^notes\.xml|\.sm)$)", std::regex_constants::icase);
+               for (fs::directory_iterator dirIt(parent), dirEnd; m_loading && dirIt != dirEnd; ++dirIt) { //loop through files
+                       fs::path p = dirIt->path();
+                       if (fs::is_directory(p)) { reload_internal(p); continue; } //if the file is a folder redo this function with this folder as path
+                       if (!regex_search(p.filename().string(), expression)) continue; //if the folder does not contain any of the requested files, ignore it
+                       try { //found song file, make a new song with it.
+                               auto it = std::find_if(m_songs.begin(), m_songs.end(), [p](std::shared_ptr<Song> n) {
+                                       return n->filename == p;
+                               });
+                               auto alreadyInCache = it != m_songs.end();
+
+                               if(alreadyInCache) { 
+                                       continue;
+                               }
+
+                               std::clog << "songs/notice: Found song not which was not in the cache: " << p.string() << std::endl;
+
+                               std::shared_ptr<Song>s(new Song(p.parent_path(), p));
+                               std::lock_guard<std::mutex> l(m_mutex);
+                               int AdditionalFileIndex = -1;
+                               for(unsigned int i = 0; i< m_songs.size(); i++) {
+                                       if(s->filename.extension() != m_songs[i]->filename.extension() && s->filename.stem() == m_songs[i]->filename.stem() &&
+                                                       s->title == m_songs[i]->title && s->artist == m_songs[i]->artist) {
+                                               std::clog << "songs/info: >>> Found additional song file: " << s->filename << " for: " << m_songs[i]->filename << std::endl;
+                                               AdditionalFileIndex = i;
+                                       }
+                               }                               
+
+                               if(AdditionalFileIndex > 0) { //TODO: add it to existing song
+                                       std::clog << "songs/info: >>> not yet implemented " << std::endl;
+                                       s->getDurationSeconds();
+                                       m_songs.push_back(s); // will make it appear double!!
+                               } else {
+                                       s->getDurationSeconds();
+                                       m_songs.push_back(s); //put it in the database
+                               }
+                               m_dirty = true;
+                       } catch (SongParserException& e) {
+                               std::clog << e;
+                       }
+               }
+       } catch (std::exception const& e) {
+               std::clog << "songs/error: Error accessing " << parent << ": " << e.what() << '\n';
+       }
+}
+
+// Make std::find work with shared_ptrs and regular pointers
+static bool operator==(std::shared_ptr<Song> const& a, Song const* b) { return a.get() == b; }
+
+/// Store currently selected song on construction and restore the selection on destruction
+/// Assumes that m_filtered has been modified and finds the old selection by pointer value.
+/// Sets up math_cover so that the old selection is restored if possible, otherwise the first song is selected.
+class Songs::RestoreSel {
+       Songs& m_s;
+       Song const* m_sel;
+  public:
+       /// constructor
+       RestoreSel(Songs& s): m_s(s), m_sel(s.empty() ? nullptr : &s.current()) {}
+       /// resets song to given song
+       void reset(Song const* song = nullptr) { m_sel = song; }
+       ~RestoreSel() {
+               int pos = 0;
+               if (m_sel) {
+                       SongVector& f = m_s.m_filtered;
+                       auto it = std::find(f.begin(), f.end(), m_sel);
+                       m_s.math_cover.reset();
+                       if (it != f.end()) pos = it - f.begin();
+               }
+               m_s.math_cover.setTarget(pos, m_s.size());
+       }
+};
+
+void Songs::update() {
+       if (m_dirty && m_updateTimer.get() > 0.5) filter_internal(); // Update with newly loaded songs
+       // A hack to move to the first song when the song screen is entered the first time
+       static bool first = true;
+       if (first) { first = false; math_cover.reset(); math_cover.setTarget(0, size()); }
+}
+
+void Songs::setFilter(std::string const& val) {
+       if (m_filter == val) return;
+       m_filter = val;
+       filter_internal();
+}
+
+void Songs::filter_internal() {
+       m_updateTimer.setValue(0.0);
+       std::lock_guard<std::mutex> l(m_mutex);
+       m_dirty = false;
+       RestoreSel restore(*this);
+       try {
+               SongVector filtered;
+               if (m_filter == std::string() && m_type == 0) filtered = m_songs;
+               else {
+                       std::string charset = UnicodeUtil::getCharset(m_filter);
+                       icu::UnicodeString filter = ((charset == "UTF-8") ? icu::UnicodeString::fromUTF8(m_filter) : icu::UnicodeString(m_filter.c_str(), charset.c_str()));
+                       UErrorCode icuError = U_ZERO_ERROR;
+                       std::copy_if (m_songs.begin(), m_songs.end(), std::back_inserter(filtered), [&](std::shared_ptr<Song> it){
+                       icu::StringSearch search = icu::StringSearch(filter, icu::UnicodeString::fromUTF8((*it).strFull()), &UnicodeUtil::m_dummyCollator, nullptr, icuError);
+                               if (m_type == 1 && !(*it).hasDance()) return false;
+                               if (m_type == 2 && !(*it).hasVocals()) return false;
+                               if (m_type == 3 && !(*it).hasDuet()) return false;
+                               if (m_type == 4 && !(*it).hasGuitars()) return false;
+                               if (m_type == 5 && !(*it).hasDrums() && !(*it).hasKeyboard()) return false;
+                               if (m_type == 6 && (!(*it).hasVocals() || !(*it).hasGuitars() || (!(*it).hasDrums() && !(*it).hasKeyboard()))) return false;
+                               return (search.first(icuError) != USEARCH_DONE);
+                       });
+               }
+               m_filtered.swap(filtered);
+       } catch (...) {
+               SongVector(m_songs.begin(), m_songs.end()).swap(m_filtered);  // Invalid regex => copy everything
+       }
+       sort_internal();
+}
+
+namespace {
+
+       /// A functor that compares songs based on a selected member field of them.
+       template<typename Field> class CmpByField {
+               Field Song::* m_field;
+         public:
+               /** @param field a pointer to the field to use (pointer to member) **/
+               CmpByField(Field Song::* field): m_field(field) {}
+               /// Compare left < right
+               bool operator()(Song const& left , Song const& right) {
+                       return left.*m_field < right.*m_field;
+               }
+               /// Compare *left < *right
+               bool operator()(std::shared_ptr<Song> const& left, std::shared_ptr<Song> const& right) {
+                       return operator()(*left, *right);
+               }
+       };
+       
+       template<> class CmpByField<std::string> {
+               std::string Song::* m_field;
+         public:
+               /** @param field a pointer to the field to use (pointer to member) **/
+               CmpByField(std::string Song::* field): m_field(field) {}
+               /// Compare left < right
+               bool operator()(Song const& left , Song const& right) {
+                       icu::UnicodeString leftVal = icu::UnicodeString::fromUTF8(left.*m_field);
+                       icu::UnicodeString rightVal = icu::UnicodeString::fromUTF8(right.*m_field);
+                       UErrorCode sortError = U_ZERO_ERROR;
+                       UCollationResult result = UnicodeUtil::m_sortCollator.compare(leftVal, rightVal, sortError);
+                       if (U_SUCCESS(sortError)) {
+                       return (result == UCOL_LESS);
+                       }
+                       else {
+                       throw std::runtime_error("unicode/error: Sorting comparison error in CmpByField<std::string> ");
+                       }
+               }
+               /// Compare *left < *right
+               bool operator()(std::shared_ptr<Song> const& left, std::shared_ptr<Song> const& right) {
+                       return operator()(*left, *right);
+               }
+       };
+
+       /// A helper for easily constructing CmpByField objects
+       template <typename T> CmpByField<T> customComparator(T Song::*field) { return CmpByField<T>(field); }
+       static const int types = 7, orders = 7;
+
+}
+
+std::string Songs::typeDesc() const {
+       switch (m_type) {
+               case 0: return _("show all songs");
+               case 1: return _("has dance");
+               case 2: return _("has vocals");
+               case 3: return _("has duet");
+               case 4: return _("has guitar");
+               case 5: return _("drums or keytar");
+               case 6: return _("full band");
+       }
+       throw std::logic_error("Internal error: unknown type filter in Songs::typeDesc");
+}
+
+void Songs::typeChange(int diff) {
+       if (diff == 0) m_type = 0;
+       else {
+               m_type = (m_type + diff) % types;
+               if (m_type < 0) m_type += types;
+       }
+       filter_internal();
+}
+
+void Songs::typeCycle(int cat) {
+       static const int categories[types] = { 0, 1, 2, 2, 3, 3, 4 };
+       // Find the next matching category
+       int type = 0;
+       for (int t = (categories[m_type] == cat ? m_type + 1 : 0); t < types; ++t) {
+               if (categories[t] == cat) { type = t; break; }
+       }
+       m_type = type;
+       filter_internal();
+}
+
+std::string Songs::sortDesc() const {
+       std::string str;
+       switch (m_order) {
+         case 0: str = _("random order"); break;
+         case 1: str = _("sorted by song"); break;
+         case 2: str = _("sorted by artist"); break;
+         case 3: str = _("sorted by edition"); break;
+         case 4: str = _("sorted by genre"); break;
+         case 5: str = _("sorted by path"); break;
+         case 6: str = _("sorted by language"); break;
+         default: throw std::logic_error("Internal error: unknown sort order in Songs::sortDesc");
+       }
+       return str;
+}
+
+void Songs::sortChange(int diff) {
+       m_order = (m_order + diff) % orders;
+       if (m_order < 0) m_order += orders;
+       RestoreSel restore(*this);
+       config["songs/sort-order"].i() = m_order;
+       switch (m_order) {
+               case 1:
+                [[fallthrough]];
+               case 2:
+                [[fallthrough]];
+               case 3:
+                [[fallthrough]];
+               case 4:
+                [[fallthrough]];
+               case 6:
+                       UErrorCode collatorError = U_ZERO_ERROR;
+                       UnicodeUtil::m_sortCollator.setAttribute(UCOL_STRENGTH, (config["game/case-sorting"].b()) ? UCOL_TERTIARY : UCOL_SECONDARY, collatorError);
+                       if (U_FAILURE(collatorError)) {
+                               std::clog << "sorting/error: Unable to change collator strength." << std::endl;
+                       }
+                       break;          
+               }
+       sort_internal();
+       writeConfig(false);
+}
+
+void Songs::sortSpecificChange(int sortOrder, bool descending) {
+       if(sortOrder < 0) {
+               m_order = 0;
+       } else if(sortOrder <= 6) {
+               m_order = sortOrder;
+       } else {
+               m_order = 0;
+       }
+       RestoreSel restore(*this);
+       config["songs/sort-order"].i() = m_order;
+       sort_internal(descending);
+}
+
+void Songs::sort_internal(bool descending) {
+       if(descending) {
+               switch (m_order) {
+                 case 0: std::stable_sort(m_filtered.begin(), m_filtered.end(), customComparator(&Song::randomIdx)); break;
+                 case 1: std::sort(m_filtered.rbegin(), m_filtered.rend(), customComparator(&Song::collateByTitle)); break;
+                 case 2: std::sort(m_filtered.rbegin(), m_filtered.rend(), customComparator(&Song::collateByArtist)); break;
+                 case 3: std::sort(m_filtered.rbegin(), m_filtered.rend(), customComparator(&Song::edition)); break;
+                 case 4: std::sort(m_filtered.rbegin(), m_filtered.rend(), customComparator(&Song::genre)); break;
+                 case 5: std::sort(m_filtered.rbegin(), m_filtered.rend(), customComparator(&Song::path)); break;
+                 case 6: std::sort(m_filtered.rbegin(), m_filtered.rend(), customComparator(&Song::language)); break;
+                 default: throw std::logic_error("Internal error: unknown sort order in Songs::sortChange");
+               }
+       } else {
+               switch (m_order) {
+                 case 0: std::stable_sort(m_filtered.begin(), m_filtered.end(), customComparator(&Song::randomIdx)); break;
+                 case 1: std::sort(m_filtered.begin(), m_filtered.end(), customComparator(&Song::collateByTitle)); break;
+                 case 2: std::sort(m_filtered.begin(), m_filtered.end(), customComparator(&Song::collateByArtist)); break;
+                 case 3: std::sort(m_filtered.begin(), m_filtered.end(), customComparator(&Song::edition)); break;
+                 case 4: std::sort(m_filtered.begin(), m_filtered.end(), customComparator(&Song::genre)); break;
+                 case 5: std::sort(m_filtered.begin(), m_filtered.end(), customComparator(&Song::path)); break;
+                 case 6: std::sort(m_filtered.begin(), m_filtered.end(), customComparator(&Song::language)); break;
+                 default: throw std::logic_error("Internal error: unknown sort order in Songs::sortChange");
+               }
+       }
+}
+
+namespace {
+       void dumpCover(xmlpp::Element* song, Song const& s, size_t num) {
+               try {
+                       std::string ext = s.cover.extension().string();
+                       if (exists(s.cover)) {
+                               std::string coverlink = "covers/" + (boost::format("%|04|") % num).str() + ext;
+                               if (fs::is_symlink(coverlink)) fs::remove(coverlink);
+                               create_symlink(s.cover, coverlink);
+                               xmlpp::set_first_child_text(xmlpp::add_child_element(song, "cover"), coverlink);
+                       }
+               } catch (std::exception& e) {
+                       std::cerr << "Songlist error handling cover image: " << e.what() << std::endl;
+               }
+       }
+       template <typename SongVector> void dumpXML(SongVector const& svec, std::string const& filename) {
+               xmlpp::Document doc;
+               xmlpp::Element* songlist = doc.create_root_node("songlist");
+               songlist->set_attribute("size", std::to_string(svec.size()));
+               for (size_t i = 0; i < svec.size(); ++i) {
+                       Song const& s = *svec[i];
+                       xmlpp::Element* song = xmlpp::add_child_element(songlist, "song");
+                       song->set_attribute("num", std::to_string(i + 1));
+                       xmlpp::Element* collate = xmlpp::add_child_element(song, "collate");
+                       xmlpp::set_first_child_text(xmlpp::add_child_element(collate, "artist"), s.collateByArtist);
+                       xmlpp::set_first_child_text(xmlpp::add_child_element(collate, "title"), s.collateByTitle);
+                       xmlpp::set_first_child_text(xmlpp::add_child_element(song, "artist"), s.artist);
+                       xmlpp::set_first_child_text(xmlpp::add_child_element(song, "title"), s.title);
+                       if (!s.cover.empty()) dumpCover(song, s, i + 1);
+               }
+               doc.write_to_file_formatted(filename, "UTF-8");
+       }
+}
+
+void Songs::dumpSongs_internal() const {
+       if (m_songlist.empty()) return;
+       SongVector svec = m_songs;
+       std::sort(svec.begin(), svec.end(), customComparator(&Song::collateByArtist));
+       fs::path coverpath = fs::path(m_songlist) / "covers";
+       fs::create_directories(coverpath);
+       dumpXML(svec, m_songlist + "/songlist.xml");
+}
+
diff --git a/game/songs.hh b/game/songs.hh
new file mode 100644 (file)
index 0000000..3ee5f2c
--- /dev/null
@@ -0,0 +1,104 @@
+#pragma once
+
+#include "animvalue.hh"
+#include "fs.hh"
+#include <atomic>
+#include <memory>
+#include <mutex>
+#include <set>
+#include <sstream>
+#include <thread>
+#include <vector>
+#include "screen.hh"
+
+class Song;
+class Database;
+
+/// songs class for songs screen
+class Songs {
+  public:
+       Songs(const Songs&) = delete;
+       const Songs& operator=(const Songs&) = delete;
+       /// constructor
+       Songs(Database& database, std::string const& songlist = std::string());
+       ~Songs();
+       /// updates filtered songlist
+       void update();
+       /// reloads songlist
+       void reload();
+       /// array access
+       std::shared_ptr<Song> operator[](std::size_t pos) { return m_filtered[pos]; }
+       /// number of songs
+       int size() const { return m_filtered.size(); }
+       /// true if empty
+       int empty() const { return m_filtered.empty(); }
+       /// advances to next song
+       void advance(int diff) {
+               int size = m_filtered.size();
+               if (size == 0) return;  // Do nothing if no songs are available
+               int _current = (int(math_cover.getTarget()) + diff) % size;
+               if (_current < 0) _current += size;
+               math_cover.setTarget(_current, size);
+       }
+       /// get current id
+       int currentId() const { return math_cover.getTarget(); }
+       /// gets current position
+       double currentPosition() { return math_cover.getValue(); }
+       /// gets current velocity
+       double currentVelocity() const { return math_cover.getVelocity(); }
+       /// sets margins for animation
+       void setAnimMargins(double left, double right) { math_cover.setMargins(left, right); }
+       /// @return current song
+       std::shared_ptr<Song> currentPtr() { return m_filtered.empty() ? std::shared_ptr<Song>() : m_filtered[math_cover.getTarget()]; }
+       /// @return current song
+       Song& current() { return *m_filtered[math_cover.getTarget()]; }
+       /// @return current Song
+       Song const& current() const { return *m_filtered[math_cover.getTarget()]; }
+       /// filters songlist by regular expression
+       void setFilter(std::string const& regex);
+       /// Get the current song type filter number
+       int typeNum() const { return m_type; }
+       /// Description of the current song type filter
+       std::string typeDesc() const;
+       /// Change song type filter (diff is normally -1 or 1; 0 has special meaning of reset)
+       void typeChange(int diff);
+       /// Cycle song type filters by filter category (0 = none, 1..4 = different categories)
+       void typeCycle(int cat);
+       int sortNum() const { return m_order; }
+       /// Description of the current sort mode
+       std::string sortDesc() const;
+       /// Change sorting mode (diff is normally -1 or 1)
+       void sortChange(int diff);
+       void sortSpecificChange(int sortOrder, bool descending = false);
+       /// parses file into Song &tmp
+       void parseFile(Song& tmp);
+       std::atomic<bool> doneLoading{ false };
+       std::atomic<bool> displayedAlert{ false };
+       size_t loadedSongs() const { return m_songs.size(); }
+
+  private:
+       void LoadCache();
+       void CacheSonglist();
+
+       class RestoreSel;
+       typedef std::vector<std::shared_ptr<Song> > SongVector;
+       std::string m_songlist;
+       SongVector m_songs, m_filtered;
+       AnimValue m_updateTimer;
+       AnimAcceleration math_cover;
+       std::string m_filter;
+       Database & m_database;
+       int m_type = 0;
+       int m_order;  // Set by constructor
+       void dumpSongs_internal() const;
+       void reload_internal();
+       void reload_internal(fs::path const& p);
+       void randomize_internal();
+       void filter_internal();
+       void sort_internal(bool descending = false);
+       std::atomic<bool> m_dirty{ false };
+       std::atomic<bool> m_loading{ false };
+       std::unique_ptr<std::thread> m_thread;
+       mutable std::mutex m_mutex;
+};
+
diff --git a/game/svg.cc b/game/svg.cc
new file mode 100644 (file)
index 0000000..7520c0c
--- /dev/null
@@ -0,0 +1,55 @@
+#include "svg.hh"
+
+#include "cache.hh"
+#include "configuration.hh"
+#include "image.hh"
+
+#include <librsvg/rsvg.h>
+#include <iostream>
+
+// Avoid deprecation messages with new versions since Ubuntu 12.10.
+#if LIBRSVG_MAJOR_VERSION * 10000 + LIBRSVG_MINOR_VERSION * 100 + LIBRSVG_MICRO_VERSION < 23602
+#include <librsvg/rsvg-cairo.h>
+#endif
+
+void loadSVG(Bitmap& bitmap, fs::path const& filename) {
+       double factor = config["graphic/svg_lod"].f();
+       // Try to load a cached PNG instead
+       if (cache::loadSVG(bitmap, filename, factor)) return;
+       std::clog << "image/debug: Loading SVG: " + filename.string() << std::endl;
+       // Open the SVG file in librsvg
+#if !GLIB_CHECK_VERSION(2, 36, 0)   // Avoid deprecation warnings
+       g_type_init();
+#endif
+       GError* pError = nullptr;
+       std::shared_ptr<RsvgHandle> svgHandle(rsvg_handle_new_from_file(filename.string().c_str(), &pError), g_object_unref);
+       if (pError) {
+               g_error_free(pError);
+               throw std::runtime_error("Unable to load " + filename.string());
+       }
+       // Get SVG dimensions
+       RsvgDimensionData svgDimension;
+       rsvg_handle_get_dimensions(svgHandle.get(), &svgDimension);
+       // Prepare the pixel buffer
+       bitmap.resize(svgDimension.width*factor, svgDimension.height*factor);
+       bitmap.fmt = pix::INT_ARGB;
+       bitmap.linearPremul = true;
+       // Raster with Cairo
+       std::shared_ptr<cairo_surface_t> surface(
+         cairo_image_surface_create_for_data(&bitmap.buf[0], CAIRO_FORMAT_ARGB32, bitmap.width, bitmap.height, bitmap.width * 4),
+         cairo_surface_destroy);
+       std::shared_ptr<cairo_t> dc(cairo_create(surface.get()), cairo_destroy);
+       cairo_scale(dc.get(), factor, factor);
+       rsvg_handle_render_cairo(svgHandle.get(), dc.get());
+       // Change byte order from BGRA to RGBA
+       for (uint32_t *ptr = reinterpret_cast<uint32_t*>(&*bitmap.buf.begin()), *end = ptr + bitmap.buf.size() / 4; ptr < end; ++ptr) {
+               uint8_t* pixel = reinterpret_cast<uint8_t*>(ptr);
+               uint8_t r = pixel[2], g = pixel[1], b = pixel[0], a = pixel[3];
+               pixel[0] = r; pixel[1] = g; pixel[2] = b; pixel[3] = a;
+       }
+       bitmap.fmt = pix::CHAR_RGBA;
+       // Write to cache so that it can be loaded faster the next time
+       fs::path cache_filename = cache::constructSVGCacheFileName(filename, factor);
+       fs::create_directories(cache_filename.parent_path());
+       writePNG(cache_filename, bitmap);
+}
diff --git a/game/svg.hh b/game/svg.hh
new file mode 100644 (file)
index 0000000..77412e0
--- /dev/null
@@ -0,0 +1,9 @@
+#pragma once
+
+#include <boost/filesystem/path.hpp>
+
+namespace fs = boost::filesystem;
+
+struct Bitmap;
+
+void loadSVG(Bitmap& bitmap, fs::path const& filename);
diff --git a/game/textinput.hh b/game/textinput.hh
new file mode 100644 (file)
index 0000000..3a3b8fb
--- /dev/null
@@ -0,0 +1,41 @@
+#pragma once
+#include <SDL2/SDL.h>
+#include <string>
+
+/// type text
+struct TextInput {
+       /// text to operate on
+       std::string text;
+       /// appends unicode symbol
+       TextInput& operator+=(unsigned int ucs) { //don't know if this is still relevant since SDL2 handles unicode
+               if (ucs < 0x80) {
+                       text += ucs;
+               } else if (ucs < 0x800) {
+                       text += 0xC0 | (ucs >> 6);
+                       text += 0x80 | (ucs & 0x3F);
+               } else if (ucs < 0x10000) {
+                       text += 0xE0 | (ucs >> 12);
+                       text += 0x80 | ((ucs >> 6) & 0x3F);
+                       text += 0x80 | (ucs & 0x3F);
+               } else {
+                       text += 0xF0 | (ucs >> 18);
+                       text += 0x80 | ((ucs >> 12) & 0x3F);
+                       text += 0x80 | ((ucs >> 6) & 0x3F);
+                       text += 0x80 | (ucs & 0x3F);
+               }
+               return *this;
+       }
+       TextInput& operator+=(char cr[]) {
+               text += cr;
+               return *this;
+       }
+
+       /// deletes last char
+       void backspace() {
+               if (text.empty()) return;
+               std::string::size_type pos = text.size() - 1;
+               while ((text[pos] & 0xC0) == 0x80) --pos;
+               text.erase(pos);
+       }
+};
+
diff --git a/game/texture.cc b/game/texture.cc
new file mode 100644 (file)
index 0000000..e62a2b7
--- /dev/null
@@ -0,0 +1,208 @@
+#include "texture.hh"
+
+#include "configuration.hh"
+#include "video_driver.hh"
+#include "screen.hh"
+#include "svg.hh"
+#include <boost/algorithm/string/case_conv.hpp>
+#include <boost/filesystem.hpp>
+#include <atomic>
+#include <cctype>
+#include <condition_variable>
+#include <stdexcept>
+#include <sstream>
+#include <thread>
+#include <vector>
+
+using std::uint32_t;
+
+Shader& getShader(std::string const& name) {
+       return Game::getSingletonPtr()->window().shader(name);  // FIXME
+}
+
+float Dimensions::screenY() const {
+       switch (m_screenAnchor) {
+         case CENTER: return 0.0;
+         case TOP: return -0.5 * virtH();
+         case BOTTOM: return 0.5 * virtH();
+       }
+       throw std::logic_error("Dimensions::screenY(): unknown m_screenAnchor value");
+}
+
+struct Job {
+       fs::path name;
+       typedef std::function<void (Bitmap& bitmap)> ApplyFunc;
+       ApplyFunc apply;
+       Bitmap bitmap;
+       Job() {}
+       Job(fs::path const& n, ApplyFunc const& a): name(n), apply(a) {}
+};
+
+class TextureLoader::Impl {
+       /// Load a file from disk into a buffer
+       static void load(Bitmap& bitmap, fs::path const& name) {
+               try {
+                       std::string ext = boost::algorithm::to_lower_copy(name.extension().string());
+                       if (!fs::is_regular_file(name)) throw std::runtime_error("File not found: " + name.string());
+                       else if (ext == ".svg") loadSVG(bitmap, name);
+                       else if (ext == ".jpg" || ext == ".jpeg") loadJPEG(bitmap, name);
+                       else if (ext == ".png") loadPNG(bitmap, name);
+                       else throw std::runtime_error("Unknown image file format: " + name.string());
+               } catch (std::exception& e) {
+                       std::clog << "image/error: " << e.what() << std::endl;
+               }
+       }
+       std::atomic<bool> m_quit{ false };
+       std::mutex m_mutex;
+       std::condition_variable m_condition;
+       typedef std::map<void const*, Job> Jobs;
+       Jobs m_jobs;
+       std::thread m_thread;
+public:
+       Impl(): m_quit(), m_thread(&Impl::run, this) {}
+       ~Impl() { m_quit = true; m_condition.notify_one(); m_thread.join(); }
+       /// The loader main loop: poll for image load jobs and load into RAM
+       void run() {
+               while (!m_quit) {
+                       void const* target = nullptr;
+                       fs::path name;
+                       {
+                               // Poll for jobs to be done
+                               std::unique_lock<std::mutex> l(m_mutex);
+                               for (auto& job: m_jobs) {
+                                       if (job.second.name.empty()) continue;  // Job already done
+                                       name = job.second.name;
+                                       target = job.first;
+                                       break;
+                               }
+                               // If not found, wait for one
+                               if (!target) {
+                                       m_condition.wait(l);
+                                       continue;
+                               }
+                       }
+                       // Load image file into buffer
+                       Bitmap bitmap;
+                       load(bitmap, name);
+                       // Store the result
+                       std::lock_guard<std::mutex> l(m_mutex);
+                       auto it = m_jobs.find(target);
+                       if (it == m_jobs.end()) continue;  // The job has been removed already
+                       it->second.name.clear();  // Mark the job completed
+                       it->second.bitmap.swap(bitmap);  // Store the bitmap (if we got any)
+               }
+       }
+       /// Add a new job, using calling Texture's address as unique ID.
+       void push(void const* t, Job const& job) {
+               std::lock_guard<std::mutex> l(m_mutex);
+               m_jobs[t] = job;
+               m_condition.notify_one();
+       }
+       /// Cancel a job in progress (no effect if the job has already completed)
+       void remove(void const* t) {
+               std::lock_guard<std::mutex> l(m_mutex);
+               m_jobs.erase(t);
+       }
+       /// Upload all completed jobs to OpenGL (must be called from a valid OpenGL context)
+       void apply() {
+               std::lock_guard<std::mutex> l(m_mutex);
+               for (auto it = m_jobs.begin(); it != m_jobs.end();) {
+                       {
+                               Job& j = it->second;
+                               if (!j.name.empty()) { ++it; continue; }  // Job incomplete, skip it
+                               j.apply(j.bitmap);  // Upload to OpenGL
+                       }
+                       m_jobs.erase(it++);
+               }
+       }
+};
+
+std::unique_ptr<TextureLoader::Impl> ldr = nullptr;
+
+TextureLoader::TextureLoader() {
+       if (ldr) throw std::logic_error("Texture Loader initialized twice. There can be only one.");
+       ldr = std::make_unique<Impl>();
+}
+
+TextureLoader::~TextureLoader() { ldr.reset(); }
+
+void updateTextures() { ldr->apply(); }
+
+template <typename T> void loader(T* target, fs::path const& name) {
+       // Temporarily add 1x1 pixel black texture
+       Bitmap bitmap;
+       bitmap.fmt = pix::RGB;
+       bitmap.resize(1, 1);
+       target->load(bitmap);
+       // Ask the loader to retrieve the image
+       ldr->push(target, Job(name, [target](Bitmap& bitmap){ target->load(bitmap); }));
+}
+
+Texture::Texture(fs::path const& filename) { loader(this, filename); }
+Texture::~Texture() { ldr->remove(this); }
+
+// Stuff for converting pix::Format into OpenGL enum values & other flags
+namespace {
+       struct PixFmt {
+               PixFmt(): swap() {} // Required by std::map
+               PixFmt(GLenum f, GLenum t, bool s): format(f), type(t), swap(s) {}
+               GLenum format;
+               GLenum type;
+               bool swap;  // Reverse byte order
+       };
+       struct PixFormats {
+               typedef std::map<pix::Format, PixFmt> Map;
+               Map m;
+               PixFormats() {
+                       using namespace pix;
+                       m[RGB] = PixFmt(GL_RGB, GL_UNSIGNED_BYTE, false);
+                       m[BGR] = PixFmt(GL_BGR, GL_UNSIGNED_BYTE, true);
+                       m[CHAR_RGBA] = PixFmt(GL_RGBA, GL_UNSIGNED_BYTE, false);
+                       m[INT_ARGB] = PixFmt(GL_BGRA, GL_UNSIGNED_INT_8_8_8_8, true);
+               }
+       } pixFormats;
+       PixFmt const& getPixFmt(pix::Format format) {
+               PixFormats::Map::const_iterator it = pixFormats.m.find(format);
+               if (it != pixFormats.m.end()) return it->second;
+               throw std::logic_error("Unknown pixel format");
+       }
+       GLint internalFormat(bool linear) {
+               return (!linear && GL_EXT_framebuffer_sRGB ? GL_SRGB_ALPHA : GL_RGBA);
+       }
+}
+
+void Texture::load(Bitmap const& bitmap, bool isText) {
+       glutil::GLErrorChecker glerror("Texture::load");
+       // Initialize dimensions
+       m_width = bitmap.width; m_height = bitmap.height;
+       dimensions = Dimensions(bitmap.ar).fixedWidth(1.0f);
+       m_premultiplied = bitmap.linearPremul;
+       UseTexture texture(*this);
+       // When texture area is small, bilinear filter the closest mipmap
+       glTexParameterf(type(), GL_TEXTURE_MIN_FILTER, isText ? GL_LINEAR : GL_LINEAR_MIPMAP_NEAREST);
+       // When texture area is large, bilinear filter the original
+       glTexParameterf(type(), GL_TEXTURE_MAG_FILTER, isText ? GL_NEAREST : GL_LINEAR);
+       if (!isText) glTexParameterf(type(), GL_TEXTURE_MAX_LEVEL, 4);
+       glerror.check("glTexParameterf");
+
+       // Anisotropy is potential trouble maker
+       if (epoxy_has_gl_extension("GL_EXT_texture_filter_anisotropic")) {
+               glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 16.0f);
+               glerror.check("MAX_ANISOTROPY_EXT");
+       }
+
+       // Load the data into texture
+       PixFmt const& f = getPixFmt(bitmap.fmt);
+       glPixelStorei(GL_UNPACK_SWAP_BYTES, f.swap);
+       glTexImage2D(type(), 0, internalFormat(bitmap.linearPremul), bitmap.width, bitmap.height, 0, f.format, f.type, bitmap.data());
+       if (!isText) glGenerateMipmap(type());
+}
+
+void Texture::draw() const {
+       if (empty()) return;
+       // FIXME: This gets image alpha handling right but our ColorMatrix system always assumes premultiplied alpha
+       // (will produce incorrect results for fade effects)
+       glBlendFunc(m_premultiplied ? GL_ONE : GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+       draw(dimensions, TexCoords(tex.x1, tex.y1, tex.x2, tex.y2));
+}
+
diff --git a/game/texture.hh b/game/texture.hh
new file mode 100644 (file)
index 0000000..454731d
--- /dev/null
@@ -0,0 +1,216 @@
+#pragma once
+
+#include "glutil.hh"
+#include "image.hh"
+#include "video_driver.hh"
+
+#include <cairo.h>
+
+#include <algorithm>
+#include <memory>
+#include <stdexcept>
+#include <string>
+#include <vector>
+
+/// class for geometry stuff
+class Dimensions {
+  public:
+       /** Initialize with aspect ratio but no size, centered at screen center. **/
+       Dimensions(float ar_ = 0.0f): m_ar(ar_), m_x(), m_y(), m_w(), m_h(), m_xAnchor(), m_yAnchor(), m_screenAnchor() {}
+       /** Initialize with top-left corner and width & height **/
+       Dimensions(float x1, float y1, float w, float h): m_ar(), m_x(x1), m_y(y1), m_w(w), m_h(h), m_xAnchor(LEFT), m_yAnchor(TOP), m_screenAnchor() {}
+       /// sets middle
+       Dimensions& middle(float x = 0.0f) { m_x = x; m_xAnchor = MIDDLE; return *this; }
+       /// sets left
+       Dimensions& left(float x = 0.0f) { m_x = x; m_xAnchor = LEFT; return *this; }
+       /// sets right
+       Dimensions& right(float x = 0.0f) { m_x = x; m_xAnchor = RIGHT; return *this; }
+       /// sets center
+       Dimensions& center(float y = 0.0f) { m_y = y; m_yAnchor = CENTER; return *this; }
+       /// sets top
+       Dimensions& top(float y = 0.0f) { m_y = y; m_yAnchor = TOP; return *this; }
+       /// sets bottom
+       Dimensions& bottom(float y = 0.0f) { m_y = y; m_yAnchor = BOTTOM; return *this; }
+       /// reset aspect ratio and switch to fixed width mode
+       Dimensions& ar(float ar) { m_ar = ar; return fixedWidth(m_w); }
+       /// fixes width
+       Dimensions& fixedWidth(float w) { m_w = w; m_h = w / m_ar; return *this; }
+       /// fixes height
+       Dimensions& fixedHeight(float h) { m_w = h * m_ar; m_h = h; return *this; }
+       /// fits inside
+       Dimensions& fitInside(float w, float h) { if (w / h > m_ar) fixedHeight(h); else fixedWidth(w); return *this; }
+       /// fits outside
+       Dimensions& fitOutside(float w, float h) { if (w / h > m_ar) fixedWidth(w); else fixedHeight(h); return *this; }
+       /// stretches dimensions
+       Dimensions& stretch(float w, float h) { m_w = w; m_h = h; m_ar = w / h; return *this; }
+       /// sets screen center
+       Dimensions& screenCenter(float y = 0.0f) { m_screenAnchor = CENTER; center(y); return *this; }
+       /// sets screen top
+       Dimensions& screenTop(float y = 0.0f) { m_screenAnchor = TOP; top(y); return *this; }
+       /// sets screen bottom
+       Dimensions& screenBottom(float y = 0.0f) { m_screenAnchor = BOTTOM; bottom(y); return *this; }
+       /// move the object without affecting anchoring
+       Dimensions& move(float x, float y) { m_x += x; m_y += y; return *this; }
+       /// returns ar XXX
+       float ar() const { return m_ar; }
+       /// returns left
+       float x1() const {
+               switch (m_xAnchor) {
+                 case LEFT: return m_x;
+                 case MIDDLE: return m_x - 0.5 * m_w;
+                 case RIGHT: return m_x - m_w;
+               }
+               throw std::logic_error("Unknown value in Dimensions::m_xAnchor");
+       }
+       /// returns top
+       float y1() const {
+               switch (m_yAnchor) {
+                 case TOP: return screenY() + m_y;
+                 case CENTER: return screenY() + m_y - 0.5 * m_h;
+                 case BOTTOM: return screenY() + m_y - m_h;
+               }
+               throw std::logic_error("Unknown value in Dimensions::m_yAnchor");
+       }
+       /// returns right
+       float x2() const { return x1() + w(); }
+       /// returns bottom
+       float y2() const { return y1() + h(); }
+       /// returns x center
+       float xc() const { return x1() + 0.5 * w(); }
+       /// returns y center
+       float yc() const { return y1() + 0.5 * h(); }
+       /// returns width
+       float w() const { return m_w; }
+       /// returns height
+       float h() const { return m_h; }
+
+  private:
+       float screenY() const;
+       float m_ar;
+       float m_x, m_y, m_w, m_h;
+       enum XAnchor { MIDDLE, LEFT, RIGHT } m_xAnchor;
+       enum YAnchor { CENTER, TOP, BOTTOM } m_yAnchor, m_screenAnchor;
+};
+
+/// texture coordinates
+struct TexCoords {
+       float x1; ///< left
+       float y1; ///< top
+       float x2; ///< right
+       float y2; ///< bottom
+       /// constructor
+       TexCoords(float x1_ = 0.0, float y1_ = 0.0, float x2_ = 1.0, float y2_ = 1.0):
+         x1(x1_), y1(y1_), x2(x2_), y2(y2_) {}
+       bool outOfBounds() const {
+               return test(x1) || test(y1) || test(x2) || test(y2);
+       }
+private:
+       static bool test(float x) { return x < 0.0 || x > 1.0; }
+};
+
+/// This function hides the ugly global vari-- I mean singleton access to ScreenManager...
+Shader& getShader(std::string const& name);
+
+/** @short A RAII wrapper for allocating/deallocating OpenGL texture ID **/
+template <GLenum Type> class OpenGLTexture {
+  public:
+       OpenGLTexture(const OpenGLTexture&) = delete;
+       const OpenGLTexture& operator=(const OpenGLTexture&) = delete;
+       /// return Type
+       static GLenum type() { return Type; };
+       static Shader& shader() { return getShader("texture"); }
+       OpenGLTexture(): m_id() { glGenTextures(1, &m_id); }
+       ~OpenGLTexture() { glDeleteTextures(1, &m_id); }
+       /// returns id
+       GLuint id() const { return m_id; };
+       /// draw in given dimensions, with given texture coordinates
+       void draw(Dimensions const& dim, TexCoords const& tex = TexCoords()) const;
+       /// draw a subsection of the orig dimensions, cropping by tex
+       void drawCropped(Dimensions const& orig, TexCoords const& tex) const;
+  private:
+       GLuint m_id;
+};
+
+/** @short A RAII wrapper for binding to a texture (using it, modifying it) **/
+class UseTexture {
+  public:
+       UseTexture(const UseTexture&) = delete;
+       const UseTexture& operator=(const UseTexture&) = delete;
+       /// constructor
+       template <GLenum Type> UseTexture(OpenGLTexture<Type> const& tex):
+         m_shader(/* hack of the year */ (glutil::GLErrorChecker("UseTexture"), glActiveTexture(GL_TEXTURE0), glBindTexture(Type, tex.id()), tex.shader())) {}
+
+  private:
+       UseShader m_shader;
+};
+
+template <GLenum Type> void OpenGLTexture<Type>::draw(Dimensions const& dim, TexCoords const& tex) const {
+       glutil::GLErrorChecker glerror("OpenGLTexture::draw()");
+       glutil::VertexArray va;
+
+       UseTexture texture(*this);
+       glerror.check("texture");
+
+       // The texture wraps over at the edges (repeat)
+       const bool repeating = tex.outOfBounds();
+       glTexParameterf(type(), GL_TEXTURE_WRAP_S, repeating ? GL_REPEAT : GL_CLAMP_TO_EDGE);
+       glTexParameterf(type(), GL_TEXTURE_WRAP_T, repeating ? GL_REPEAT : GL_CLAMP_TO_EDGE);
+       glerror.check("repeat mode");
+
+       va.texCoord(tex.x1, tex.y1).vertex(dim.x1(), dim.y1());
+       va.texCoord(tex.x2, tex.y1).vertex(dim.x2(), dim.y1());
+       va.texCoord(tex.x1, tex.y2).vertex(dim.x1(), dim.y2());
+       va.texCoord(tex.x2, tex.y2).vertex(dim.x2(), dim.y2());
+
+       va.draw();
+}
+
+template <GLenum Type> void OpenGLTexture<Type>::drawCropped(Dimensions const& orig, TexCoords const& tex) const {
+       Dimensions dim(
+         orig.x1() + tex.x1 * orig.w(),
+         orig.y1() + tex.y1 * orig.h(),
+         orig.w() * (tex.x2 - tex.x1),
+         orig.h() * (tex.y2 - tex.y1)
+       );
+       draw(dim, tex);
+}
+
+void updateTextures();
+
+/**
+* @short High level texture/image wrapper on top of OpenGLTexture
+**/
+class Texture: public OpenGLTexture<GL_TEXTURE_2D> {
+public:
+       struct Impl;
+       /// dimensions
+       Dimensions dimensions;
+       /// texture coordinates
+       TexCoords tex;
+       Texture(): m_width(0), m_height(0), m_premultiplied(true) {}
+       /// creates texture from file
+       Texture(fs::path const& filename);
+       ~Texture();
+       bool empty() const { return m_width * m_height == 0; } ///< Test if the loading has failed
+       /// draws texture
+       void draw() const;
+       using OpenGLTexture<GL_TEXTURE_2D>::draw;
+       /// loads texture into buffer
+       void load(Bitmap const& bitmap, bool isText = false);
+       Shader& shader() { return m_texture.shader(); }
+       float width() const { return m_width; }
+       float height() const { return m_height; }
+private:
+       float m_width, m_height;
+       bool m_premultiplied;
+       OpenGLTexture<GL_TEXTURE_2D> m_texture;
+};
+
+/// A RAII wrapper for texture loading worker thread. There must be exactly one (global) instance whenever any Textures exist.
+class TextureLoader {
+public:
+       TextureLoader();
+       ~TextureLoader();
+       class Impl;
+};
+
diff --git a/game/theme.cc b/game/theme.cc
new file mode 100644 (file)
index 0000000..6201e53
--- /dev/null
@@ -0,0 +1,85 @@
+#include "theme.hh"
+
+#include "fs.hh"
+#include "configuration.hh"
+
+Theme::Theme()
+{}
+Theme::Theme(fs::path const& path) : bg(path)
+{}
+
+ThemeSongs::ThemeSongs():
+       Theme(findFile("songs_bg.svg")),
+       song(findFile("songs_song.svg"), config["graphic/text_lod"].f()),
+       order(findFile("songs_order.svg"), config["graphic/text_lod"].f()),
+       has_hiscore(findFile("songs_has_hiscore.svg"), config["graphic/text_lod"].f()),
+       hiscores(findFile("songs_hiscores.svg"), config["graphic/text_lod"].f())
+{
+       order.dimensions.screenBottom(-0.03f);
+}
+
+ThemePractice::ThemePractice():
+       Theme(findFile("practice_bg.svg")),
+       note(findFile("practice_note.svg")),
+       sharp(findFile("practice_sharp.svg")),
+       note_txt(findFile("practice_txt.svg"), config["graphic/text_lod"].f())
+{}
+
+ThemeSing::ThemeSing():
+       bg_top(findFile("sing_bg_top.svg")),
+       bg_bottom(findFile("sing_bg_bottom.svg")),
+       lyrics_now(findFile("sing_lyricscurrent.svg"), config["graphic/text_lod"].f()),
+       lyrics_next(findFile("sing_lyricsnext.svg"), config["graphic/text_lod"].f()),
+       timer(findFile("sing_timetxt.svg"), config["graphic/text_lod"].f()),
+       songinfo(findFile("sing-songinfo.svg"), config["graphic/text_lod"].f())
+{
+       lyrics_now.setHighlight(findFile("sing_lyricshighlight.svg"));
+}
+
+ThemeAudioDevices::ThemeAudioDevices():
+       Theme(findFile("audiodevices_bg.svg")),
+       device(findFile("mainmenu_comment.svg"), config["graphic/text_lod"].f()),
+       device_bg(findFile("audiodevices_dev_bg.svg")),
+       comment(findFile("mainmenu_comment.svg"), config["graphic/text_lod"].f()),
+       comment_bg(findFile("mainmenu_comment_bg.svg"))
+{}
+
+ThemeIntro::ThemeIntro():
+       Theme(findFile("intro_bg.svg")),
+       back_h(findFile("mainmenu_back_highlight.svg")),
+       options(),
+       option_selected(findFile("mainmenu_option_selected.svg"), config["graphic/text_lod"].f()),
+       comment(findFile("mainmenu_comment.svg"), config["graphic/text_lod"].f()),
+       short_comment(findFile("mainmenu_short_comment.svg"), config["graphic/text_lod"].f()),
+       WebserverNotice(findFile("intro_webserver_notice.svg"), config["graphic/text_lod"].f()),
+       comment_bg(findFile("mainmenu_comment_bg.svg")),
+       short_comment_bg(findFile("mainmenu_scomment_bg.svg"))
+{}
+
+ThemeInstrumentMenu::ThemeInstrumentMenu():
+       Theme(findFile("instrumentmenu_bg.svg")),
+       back_h(findFile("instrumentmenu_back_highlight.svg")),
+       options(),
+       option_selected(findFile("instrumentmenu_option_selected.svg"), config["graphic/text_lod"].f()),
+       comment(findFile("instrumentmenu_comment.svg"), config["graphic/text_lod"].f())
+       //comment_bg(findFile("menu_comment_bg.svg"))
+{
+       comment.setAlign(SvgTxtTheme::CENTER);
+}
+//at the moment just a copy of themeSong
+ThemePlaylistScreen::ThemePlaylistScreen():
+       Theme(findFile("songs_bg.svg")),
+       options(),
+       option_selected(findFile("mainmenu_option_selected.svg"), config["graphic/text_lod"].f()),
+       comment(findFile("mainmenu_comment.svg"), config["graphic/text_lod"].f()),
+       short_comment(findFile("mainmenu_short_comment.svg"), config["graphic/text_lod"].f()),
+       comment_bg(findFile("mainmenu_comment_bg.svg")),
+       short_comment_bg(findFile("mainmenu_scomment_bg.svg"))
+{}
+
+SvgTxtTheme& ThemeInstrumentMenu::getCachedOption(const std::string& text) {
+       if (options.find(text) != options.end()) return (*options.at(text).get());
+       std::pair<std::string, std::unique_ptr<SvgTxtTheme>> kv = std::make_pair(text, std::make_unique<SvgTxtTheme>(findFile("instrumentmenu_option.svg"), config["graphic/text_lod"].f()));
+       options.insert(std::move(kv));
+       return (*options.at(text).get());
+}
diff --git a/game/theme.hh b/game/theme.hh
new file mode 100644 (file)
index 0000000..1d195a0
--- /dev/null
@@ -0,0 +1,135 @@
+#pragma once
+
+#include "opengl_text.hh"
+#include "texture.hh"
+#include <string>
+
+/// abstract theme class
+class Theme {
+protected:
+       Theme(const Theme&) = delete;
+       const Theme& operator=(const Theme&) = delete;
+       Theme();
+       Theme(fs::path const& path); ///< creates theme from path
+public:
+       /// background image for theme
+       Texture bg;
+};
+
+/// theme for song selection
+class ThemeSongs: public Theme {
+public:
+       ThemeSongs();
+       /// song display
+       SvgTxtTheme song;
+       /// ordering display
+       SvgTxtTheme order;
+       /// has hiscore display
+       SvgTxtTheme has_hiscore;
+       /// hiscores display
+       SvgTxtTheme hiscores;
+};
+
+/// theme for practice screen
+class ThemePractice: public Theme {
+public:
+       ThemePractice();
+       /// note
+       Texture note;
+       /// sharp sign
+       Texture sharp;
+       /// note name text
+       SvgTxtTheme note_txt;
+};
+
+/// theme for singing screen
+class ThemeSing: public Theme {
+public:
+       ThemeSing();
+       /// top background
+       Texture bg_top;
+       /// bottom background
+       Texture bg_bottom;
+       /// current lyrics line
+       SvgTxtTheme lyrics_now;
+       /// next lyrics line
+       SvgTxtTheme lyrics_next;
+       /// time display
+       SvgTxtTheme timer;
+       /// show the current song info
+       SvgTxtTheme songinfo;
+};
+
+/// theme for audio device screen
+class ThemeAudioDevices: public Theme {
+public:
+       ThemeAudioDevices();
+       /// device item
+       SvgTxtTheme device;
+       /// device item background
+       Texture device_bg;
+       /// comment text
+       SvgTxtTheme comment;
+       /// comment background
+       Texture comment_bg;
+       /// back highlight for selected option
+       Texture back_h;
+};
+
+/// theme for intro screen
+class ThemeIntro: public Theme {
+public:
+       ThemeIntro();
+       /// back highlight for selected option
+       Texture back_h;
+       /// menu option texts
+       std::map<std::string, std::unique_ptr<SvgTxtTheme>> options;
+       /// selected menu option text
+       SvgTxtTheme option_selected;
+       /// menu comment text
+       SvgTxtTheme comment;
+       /// configuration comment text (short tip)
+       SvgTxtTheme short_comment;
+       /// notice to remind people the webserver is active
+       SvgTxtTheme WebserverNotice;
+       /// configuration comment background
+       Texture comment_bg;
+       /// configuration comment background (short tip)
+       Texture short_comment_bg;
+};
+
+/// theme for instrument menu
+class ThemeInstrumentMenu: public Theme {
+public:
+       ThemeInstrumentMenu();
+       /// back highlight for selected option
+       Texture back_h;
+       /// menu option texts
+       std::map<std::string, std::unique_ptr<SvgTxtTheme>> options;
+       /// menu selected option text
+       SvgTxtTheme option_selected;
+       /// menu comment text
+       SvgTxtTheme comment;
+       /// menu comment background
+       //Texture comment_bg;
+       /// get a cached option test
+       SvgTxtTheme& getCachedOption(const std::string& text);
+};
+
+//at the moment just a copy of ThemeSongs
+class ThemePlaylistScreen: public Theme {
+public:
+       ThemePlaylistScreen();
+       /// menu option texts
+       std::map<std::string, std::unique_ptr<SvgTxtTheme>> options;
+       /// selected menu option text
+       SvgTxtTheme option_selected;
+       /// menu comment text
+       SvgTxtTheme comment;
+       /// configuration comment text (short tip)
+       SvgTxtTheme short_comment;
+       /// configuration comment background
+       Texture comment_bg;
+       /// configuration comment background (short tip)
+       Texture short_comment_bg;
+};
diff --git a/game/unicode.cc b/game/unicode.cc
new file mode 100644 (file)
index 0000000..79499a7
--- /dev/null
@@ -0,0 +1,109 @@
+#include "unicode.hh"
+
+#include "configuration.hh"
+#include <regex>
+#include <sstream>
+#include <stdexcept>
+#include <unicode/unistr.h>
+#include <unicode/ustream.h>
+#include "../ced/compact_enc_det/compact_enc_det.h"
+
+UErrorCode UnicodeUtil::m_staticIcuError = U_ZERO_ERROR;
+icu::RuleBasedCollator UnicodeUtil::m_dummyCollator (icu::UnicodeString (""), icu::Collator::PRIMARY, m_staticIcuError);
+icu::RuleBasedCollator UnicodeUtil::m_sortCollator  (nullptr, icu::Collator::SECONDARY, m_staticIcuError);
+
+std::string UnicodeUtil::getCharset (std::string const& str) {
+       const char* text = str.c_str();
+       int bytes_consumed;
+       bool is_reliable;
+       
+       Encoding encoding = CompactEncDet::DetectEncoding(
+        text, strlen(text),
+        nullptr, nullptr, nullptr,
+        UNKNOWN_ENCODING,
+        UNKNOWN_LANGUAGE,
+        CompactEncDet::WEB_CORPUS,
+        true,
+        &bytes_consumed,
+        &is_reliable);
+        
+       if (!is_reliable) {
+                       std::clog << "unicode/warning: detected encoding (" <<
+                       MimeEncodingName(encoding) << ") for text: " <<
+                       ((str.size() <= 256) ? str : str.substr(0,255)) <<
+                       " was flagged as not reliable." <<
+                       std::endl; // Magic number, so sue me.
+               }
+       return MimeEncodingName(encoding);
+}
+
+void UnicodeUtil::convertToUTF8 (std::stringstream &_stream, std::string _filename) {
+       std::string data = _stream.str();
+       std::string charset = UnicodeUtil::getCharset(data);    
+       icu::UnicodeString ustring;
+       // Test for UTF-8 BOM (a three-byte sequence at the beginning of a file)
+       if (data.substr(0, 3) == "\xEF\xBB\xBF") {
+               _stream.str(data.substr(3)); // Remove BOM if there is one
+       }
+       if (charset != "UTF-8") {
+               if (!_filename.empty()) { std::clog << "unicode/info: " << _filename << " does not appear to be UTF-8; (" << charset << ") detected." << std::endl; }
+               std::string _str;
+               const char* tmp = data.c_str();
+               icu::UnicodeString ustring = icu::UnicodeString(tmp, charset.c_str());
+               if (!ustring.isEmpty()) {
+                       _stream.str(ustring.toUTF8String(_str));
+               }
+               else {
+                       if (!data.empty()) {
+                               std::clog << "unicode/error: tried to convert text in an unknown encoding: " << charset << std::endl;
+                       }
+               }
+       }
+}
+
+std::string UnicodeUtil::convertToUTF8 (std::string const& str) {
+       std::stringstream ss (str);
+       convertToUTF8 (ss, std::string());
+       return ss.str();
+}
+
+std::string UnicodeUtil::toLower (std::string const& str, size_t length) {
+       std::stringstream ss (str);
+       convertToUTF8 (ss, std::string());
+       std::string ret;
+       if (length == 0 || length >= str.size()) length = str.size();
+               icu::UnicodeString tmp = icu::UnicodeString::fromUTF8(ss.str());
+               tmp = tmp.tempSubString(0, length).toLower() + tmp.tempSubString(length, tmp.length() - 1);
+               tmp.toUTF8String(ret);
+       return ret;
+}
+
+std::string UnicodeUtil::toUpper (std::string const& str, size_t length) {
+       std::stringstream ss (str);
+       convertToUTF8 (ss, std::string());
+       std::string ret;
+       if (length == 0 || length >= str.size()) length = str.size();
+               icu::UnicodeString tmp = icu::UnicodeString::fromUTF8(ss.str());
+               tmp = tmp.tempSubString(0, length).toUpper() + tmp.tempSubString(length, tmp.length() - 1);
+               tmp.toUTF8String(ret);
+       return ret;
+}
+
+void UnicodeUtil::collate (songMetadata& stringmap) {
+       for (auto& kv: stringmap) { 
+               ConfigItem::StringList termsToCollate = config["game/sorting_ignore"].sl();
+               std::string pattern = std::string ("^((");
+               for (auto term : termsToCollate) {
+                       if (term != termsToCollate.front()) {
+                               pattern += std::string("|");
+                       }
+                       pattern += term;
+                       if (term == termsToCollate.back()) {
+                               pattern += std::string(")\\s(.+))$");
+                       }
+               }
+               std::string collatedString = std::regex_replace(convertToUTF8(kv.second),
+               std::regex(pattern, std::regex_constants::icase), "$3,$2");
+               stringmap[kv.first] = collatedString;
+       }
+}
diff --git a/game/unicode.hh b/game/unicode.hh
new file mode 100644 (file)
index 0000000..38df5a3
--- /dev/null
@@ -0,0 +1,24 @@
+#pragma once
+
+#include <iostream>
+#include <map>
+#include <string>
+#include <unicode/tblcoll.h>
+#include <unicode/uclean.h>
+#include <unicode/ucsdet.h>
+
+typedef std::map<std::string, std::string> songMetadata;
+
+struct UnicodeUtil {
+       UnicodeUtil() {}
+       ~UnicodeUtil() {};
+       static void collate (songMetadata& stringmap);
+       static std::string getCharset(std::string const& str);
+       static void convertToUTF8 (std::stringstream &_stream, std::string _filename);
+       static std::string convertToUTF8 (std::string const& str);
+       static std::string toLower (std::string const& str, size_t length = 0);
+       static std::string toUpper (std::string const& str, size_t length = 0);
+       static icu::RuleBasedCollator m_dummyCollator;
+       static icu::RuleBasedCollator m_sortCollator;
+       static UErrorCode m_staticIcuError;
+};
diff --git a/game/util.cc b/game/util.cc
new file mode 100644 (file)
index 0000000..fcb7356
--- /dev/null
@@ -0,0 +1,7 @@
+#include "util.hh"
+
+// Only conversion types used in Performous are provided
+template <> int sconv(std::string const& s) { return std::stoi(s); }
+template <> unsigned int sconv(std::string const& s) { return std::stoul(s); }
+template <> double sconv(std::string const& s) { return std::stod(s); }
+template <> std::string sconv(std::string const& s) { return s; }
diff --git a/game/util.hh b/game/util.hh
new file mode 100644 (file)
index 0000000..108b9c6
--- /dev/null
@@ -0,0 +1,37 @@
+#pragma once
+
+#include <cstdint>
+#include <limits>
+#include <string>
+#include <vector>
+
+constexpr double TAU = 2.0 * 3.141592653589793238462643383279502884;  // https://tauday.com/tau-manifesto
+
+/** Templated conversion functions for string to T, specializations defined in util.cc **/
+template <typename T> T sconv(std::string const& s);
+
+/** Limit val to range [min, max] **/
+template <typename T> constexpr T clamp(T val, T min = 0, T max = 1) {
+       return (val < min) ? min : (val > max) ? max : val;
+}
+
+template <typename Numeric> struct MinMax {
+       Numeric min, max;
+       explicit MinMax(Numeric min = std::numeric_limits<Numeric>::min(), Numeric max = std::numeric_limits<Numeric>::max()): min(min), max(max) {}
+       bool matches(Numeric val) const { return val >= min && val <= max; }
+};
+
+/** A convenient way for getting NaNs **/
+static inline constexpr double getNaN() { return std::numeric_limits<double>::quiet_NaN(); }
+
+/** A convenient way for getting infs **/
+static inline constexpr double getInf() { return std::numeric_limits<double>::infinity(); }
+
+/** OpenGL smoothstep function **/
+template <typename T> T smoothstep(T edge0, T edge1, T x) {
+       x = clamp((x - edge0) / (edge1 - edge0));
+       return x * x * (3 - 2 * x);
+}
+
+/** Convenience smoothstep wrapper with edges at 0 and 1 **/
+template <typename T> T smoothstep(T x) { return smoothstep<T>(0, 1, x); }
diff --git a/game/video.cc b/game/video.cc
new file mode 100644 (file)
index 0000000..6c77a76
--- /dev/null
@@ -0,0 +1,36 @@
+#include "video.hh"
+
+#include "util.hh"
+#include <cmath>
+
+Video::Video(fs::path const& _videoFile, double videoGap): m_mpeg(_videoFile), m_videoGap(videoGap), m_textureTime(), m_lastTime(), m_alpha(-0.5, 1.5) {}
+
+void Video::prepare(double time) {
+       time += m_videoGap;
+       Bitmap& fr = m_videoFrame;
+       // Time to switch frame?
+       if (!fr.buf.empty() && time >= fr.timestamp) {
+               m_texture.load(fr);
+               m_textureTime = fr.timestamp;
+               fr.resize(0, 0);
+       }
+       // Preload the next future frame
+       if (fr.buf.empty()) while (m_mpeg.videoQueue.tryPop(fr) && fr.timestamp < time) {};
+       // Do a seek before next render, if required
+       if (time < m_lastTime - 1.0 || (!fr.buf.empty() && time > fr.timestamp + 7.0)) {
+               m_mpeg.seek(std::max(0.0, time - 5.0));  // -5 to workaround ffmpeg inaccurate seeking
+               fr.buf.clear();
+       }
+       m_lastTime = time;
+}
+
+void Video::render(double time) {
+       time += m_videoGap;
+       double tdist = std::abs(m_textureTime - time);
+       m_alpha.setTarget(tdist < 0.4 ? 1.2f : -0.5f);
+       double alpha = clamp(m_alpha.get());
+       if (alpha == 0.0) return;
+       ColorTrans c(Color::alpha(alpha));
+       m_texture.draw();
+}
+
diff --git a/game/video.hh b/game/video.hh
new file mode 100644 (file)
index 0000000..2ee55ee
--- /dev/null
@@ -0,0 +1,29 @@
+#pragma once
+
+#include "animvalue.hh"
+#include "texture.hh"
+#include "ffmpeg.hh"
+#include <string>
+   
+/// class for playing videos  
+class Video {
+  public:
+       /// opens given video file
+       Video(fs::path const& videoFile, double videoGap = 0.0);
+       void prepare(double time);  ///< Load the current video frame into a texture
+       void render(double time);  ///< Render the prepared video frame
+       /// returns Dimensions of video clip
+       Dimensions& dimensions() { return m_texture.dimensions; }
+       /// returns Dimensions of video clip
+       Dimensions const& dimensions() const { return m_texture.dimensions; }
+
+  private:
+       FFmpeg m_mpeg;
+       double m_videoGap;
+       Bitmap m_videoFrame;
+       Texture m_texture;
+       double m_textureTime;
+       double m_lastTime;
+       AnimValue m_alpha;
+};
+
diff --git a/game/video_driver.cc b/game/video_driver.cc
new file mode 100644 (file)
index 0000000..8975256
--- /dev/null
@@ -0,0 +1,513 @@
+#include "video_driver.hh"
+
+#include "chrono.hh"
+#include "config.hh"
+#include "controllers.hh"
+#include "fs.hh"
+#include "glmath.hh"
+#include "image.hh"
+#include "platform.hh"
+#include "screen.hh"
+#include "util.hh"
+#include <boost/filesystem.hpp>
+
+namespace {
+       float s_width;
+       float s_height;
+       /// Attempt to set attribute and report errors.
+       /// Tests for success when destoryed.
+       struct GLattrSetter {
+               GLattrSetter(SDL_GLattr attr, int value): m_attr(attr), m_value(value) {
+                       if (SDL_GL_SetAttribute(attr, value)) std::clog << "video/warning: Error setting GLattr " << m_attr << std::endl;
+               }
+               ~GLattrSetter() {
+                       int value;
+                       SDL_GL_GetAttribute(m_attr, &value);
+                       if (value != m_value)
+                               std::clog << "video/warning: Error setting GLattr " << m_attr
+                               << ": requested " << m_value << ", got " << value << std::endl;
+               }
+               SDL_GLattr m_attr;
+               int m_value;
+       };
+
+       float getSeparation() {
+               return config["graphic/stereo3d"].b() ? 0.001f * config["graphic/stereo3dseparation"].f() : 0.0;
+       }
+
+       // stump: under MSVC, near and far are #defined to nothing for compatibility with ancient code, hence the underscores.
+       const float near_ = 0.1f; // This determines the near clipping distance (must be > 0)
+       const float far_ = 110.0f; // How far away can things be seen
+       const float z0 = 1.5f; // This determines FOV: the value is your distance from the monitor (the unit being the width of the Performous window)
+
+       glmath::mat4 g_color = glmath::mat4(1.0f);
+       glmath::mat4 g_projection = glmath::mat4(1.0f);
+       glmath::mat4 g_modelview = glmath::mat4(1.0f);
+}
+
+float screenW() { return s_width; }
+float screenH() { return s_height; }
+
+GLuint Window::m_ubo = 0;
+GLuint Window::m_vao = 0;
+GLuint Window::m_vbo = 0;
+GLint Window::bufferOffsetAlignment = -1;
+
+Window::Window() {
+       std::atexit(SDL_Quit);
+       if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_JOYSTICK))
+               throw std::runtime_error(std::string("SDL_Init failed: ") + SDL_GetError());
+       SDL_JoystickEventState(SDL_ENABLE);
+       { // Setup GL attributes for context creation
+               SDL_SetHintWithPriority("SDL_HINT_VIDEO_HIGHDPI_DISABLED", "0", SDL_HINT_DEFAULT);
+               GLattrSetter attr_r(SDL_GL_RED_SIZE, 8);
+               GLattrSetter attr_g(SDL_GL_GREEN_SIZE, 8);
+               GLattrSetter attr_b(SDL_GL_BLUE_SIZE, 8);
+               GLattrSetter attr_a(SDL_GL_ALPHA_SIZE, 8);
+               GLattrSetter attr_buf(SDL_GL_BUFFER_SIZE, 32);
+               GLattrSetter attr_d(SDL_GL_DEPTH_SIZE, 24);
+               GLattrSetter attr_db(SDL_GL_DOUBLEBUFFER, 1);
+               GLattrSetter attr_glmaj(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
+               GLattrSetter attr_glmin(SDL_GL_CONTEXT_MINOR_VERSION, 3);
+               GLattrSetter attr_glprof(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
+               auto flags = SDL_WINDOW_HIDDEN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_OPENGL;
+               if (config["graphic/highdpi"].b()) { flags |= SDL_WINDOW_ALLOW_HIGHDPI; }
+               else { SDL_SetHintWithPriority("SDL_HINT_VIDEO_HIGHDPI_DISABLED", "1", SDL_HINT_OVERRIDE); }
+               int width = config["graphic/window_width"].i();
+               int height = config["graphic/window_height"].i();
+               std::clog << "video/info: Create window " << width << "x" << height << std::endl;
+               screen = SDL_CreateWindow(PACKAGE " " VERSION, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, width, height, flags);
+               if (!screen) throw std::runtime_error(std::string("SDL_SetVideoMode failed: ") + SDL_GetError());
+               SDL_GL_CreateContext(screen);
+               glutil::GLErrorChecker error("Initializing buffers");
+               {
+                       initBuffers();
+               }
+       }
+       SDL_SetWindowMinimumSize(screen, 640, 360);
+       SDL_GetWindowPosition(screen, &m_windowX, &m_windowY);
+       // Dump some OpenGL info
+       std::clog << "video/info: GL_VENDOR:     " << glGetString(GL_VENDOR) << std::endl;
+       std::clog << "video/info: GL_VERSION:    " << glGetString(GL_VERSION) << std::endl;
+       std::clog << "video/info: GL_RENDERER:   " << glGetString(GL_RENDERER) << std::endl;
+       // Extensions would need more complex outputting, otherwise they will break clog.
+       //std::clog << "video/info: GL_EXTENSIONS: " << glGetString(GL_EXTENSIONS) << std::endl;
+       if (epoxy_gl_version() < 33) throw std::runtime_error("OpenGL 3.3 is required but not available");      
+       createShaders();
+       resize();
+       SDL_ShowWindow(screen);
+       m_fullscreen = !config["graphic/fullscreen"].b();
+}
+
+void Window::createShaders() {
+       // The Stereo3D shader needs OpenGL 3.3 and GL_ARB_viewport_array, some Intel drivers support GL 3.3,
+       // but not GL_ARB_viewport_array, so we just check for the extension here.
+       if (config["graphic/stereo3d"].b()) {
+               if (epoxy_has_gl_extension("GL_ARB_viewport_array")) {
+               // Compile geometry shaders when stereo is requested
+               shader("color").compileFile(findFile("shaders/stereo3d.geom"));
+               shader("texture").compileFile(findFile("shaders/stereo3d.geom"));
+               shader("3dobject").compileFile(findFile("shaders/stereo3d.geom"));
+               shader("dancenote").compileFile(findFile("shaders/stereo3d.geom"));
+               }
+               else { 
+               std::clog << "video/warning: Stereo3D was enabled but the 'GL_ARB_viewport_array' extension is unsupported; will now disable Stereo3D." << std::endl;
+               config["graphic/stereo3d"].b() = false;
+               }
+       }
+
+       shader("color")
+         .addDefines("#define ENABLE_VERTEX_COLOR\n")
+         .compileFile(findFile("shaders/core.vert"))
+         .compileFile(findFile("shaders/core.frag"))
+         .link()
+         .bindUniformBlocks();
+       shader("texture")
+         .addDefines("#define ENABLE_TEXTURING\n")
+         .addDefines("#define ENABLE_VERTEX_COLOR\n")
+         .compileFile(findFile("shaders/core.vert"))
+         .compileFile(findFile("shaders/core.frag"))
+         .link()
+         .bindUniformBlocks();
+       shader("3dobject")
+         .addDefines("#define ENABLE_LIGHTING\n")
+         .compileFile(findFile("shaders/core.vert"))
+         .compileFile(findFile("shaders/core.frag"))
+         .link()
+         .bindUniformBlocks();
+       shader("dancenote")
+         .addDefines("#define ENABLE_TEXTURING\n")
+         .addDefines("#define ENABLE_VERTEX_COLOR\n")
+         .compileFile(findFile("shaders/dancenote.vert"))
+         .compileFile(findFile("shaders/core.frag"))
+         .link()
+         .bindUniformBlocks();
+       
+       updateColor();
+       view(0);  // For loading screens
+}
+
+void Window::initBuffers() {
+       glGenVertexArrays(1, &Window::m_vao); // Create VAO.
+       glBindVertexArray(Window::m_vao);
+       glGenBuffers(1, &Window::m_vbo); // Create VBO.
+       glGenBuffers(1, &Window::m_ubo); // Create UBO. 
+
+       GLsizei stride = glutil::VertexArray::stride();
+       glBindBuffer(GL_ARRAY_BUFFER, Window::m_vbo);
+       
+       glEnableVertexAttribArray(vertPos);
+       glVertexAttribPointer(vertPos, 3, GL_FLOAT, GL_FALSE, stride, (void *)offsetof(glutil::VertexInfo, vertPos));
+       glEnableVertexAttribArray(vertTexCoord);
+       glVertexAttribPointer(vertTexCoord, 2, GL_FLOAT, GL_FALSE, stride, (void *)offsetof(glutil::VertexInfo, vertTexCoord));
+       glEnableVertexAttribArray(vertNormal);
+       glVertexAttribPointer(vertNormal, 3, GL_FLOAT, GL_FALSE, stride, (void *)offsetof(glutil::VertexInfo, vertNormal));
+       glEnableVertexAttribArray(vertColor);
+       glVertexAttribPointer(vertColor, 4, GL_FLOAT, GL_FALSE, stride, (void *)offsetof(glutil::VertexInfo, vertColor));
+}
+
+Window::~Window() {
+       glBindBuffer(GL_ARRAY_BUFFER, 0);
+       glBindBuffer(GL_UNIFORM_BUFFER, 0);
+       glBindVertexArray(0);
+       glDeleteBuffers(1, &m_vbo);
+       glDeleteBuffers(1, &m_ubo);
+       glDeleteVertexArrays(1, &m_vao);
+}
+
+void Window::blank() {
+       glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+}
+
+void Window::updateStereo(float sepFactor) {
+               try {
+                       m_stereoUniforms.sepFactor = sepFactor;
+                       m_stereoUniforms.z0 = (z0 - 2.0f * near_);
+                       glBufferSubData(GL_UNIFORM_BUFFER, m_stereoUniforms.offset(), m_stereoUniforms.size(), &m_stereoUniforms);
+               } catch(...) {}  // Not fatal if 3d shader is missing           
+}
+
+void Window::updateColor() {   
+       m_matrixUniforms.colorMatrix = g_color;
+       glBufferSubData(GL_UNIFORM_BUFFER, (glutil::shaderMatrices::offset() + offsetof(glutil::shaderMatrices, colorMatrix)), sizeof(glmath::mat4), &m_matrixUniforms.colorMatrix);
+}
+
+void Window::updateLyricHighlight(glmath::vec4 const& fill, glmath::vec4 const& stroke, glmath::vec4 const& newFill, glmath::vec4 const& newStroke) {
+       m_lyricColorUniforms.origFill = fill;
+       m_lyricColorUniforms.origStroke = stroke;
+       m_lyricColorUniforms.newFill = newFill;
+       m_lyricColorUniforms.newStroke = newStroke;
+       glBufferSubData(GL_UNIFORM_BUFFER, m_lyricColorUniforms.offset(), m_lyricColorUniforms.size(), &m_lyricColorUniforms);
+}
+
+void Window::updateLyricHighlight(glmath::vec4 const& fill, glmath::vec4 const& stroke) {
+       m_lyricColorUniforms.newFill = fill;
+       m_lyricColorUniforms.newStroke = stroke;
+       glBufferSubData(GL_UNIFORM_BUFFER, m_lyricColorUniforms.offset(), m_lyricColorUniforms.size(), &m_lyricColorUniforms);
+}
+
+void Window::updateTransforms() {
+       using namespace glmath;
+       mat4 normal(g_modelview);
+       m_matrixUniforms.projMatrix = g_projection;
+       m_matrixUniforms.mvMatrix = g_modelview;
+       m_matrixUniforms.normalMatrix = normal; 
+       glBufferSubData(GL_UNIFORM_BUFFER, m_matrixUniforms.offset(), m_matrixUniforms.size(), &m_matrixUniforms);
+}
+
+void Window::render(std::function<void (void)> drawFunc) {
+       glutil::GLErrorChecker glerror("Window::render");
+       ViewTrans trans;  // Default frustum
+       bool stereo = config["graphic/stereo3d"].b();
+       int type = config["graphic/stereo3dtype"].i();
+
+       static bool warn3d = false;
+       if (!stereo) warn3d = false;
+       if (stereo && !epoxy_has_gl_extension("GL_ARB_viewport_array")) {
+               stereo = false;
+               if (!warn3d) {
+                       warn3d = true;
+                       std::clog << "video/warning: Your GPU does not support Stereo3D mode (OpenGL extension ARB_viewport_array is required)" << std::endl;
+                       Game::getSingletonPtr()->flashMessage("Your GPU does not support Stereo3D mode");
+               }
+       }
+
+       // Over/under only available in fullscreen
+       if (stereo && type == 2 && !m_fullscreen) stereo = false;
+
+       glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+       updateStereo(stereo ? getSeparation() : 0.0);
+       glerror.check("setup");
+       // Can we do direct to framebuffer rendering (no FBO)?
+       if (!stereo || type == 2) { view(stereo); drawFunc(); return; }
+       // Render both eyes to FBO (full resolution top/bottom for anaglyph)
+       
+       glerror.check("FBO");
+       {
+               UseFBO user(getFBO());
+               blank();
+               view(0);
+               glViewportIndexedf(1, 0, (getFBO().height() / 2), getFBO().width(), (getFBO().height() / 2));
+               glViewportIndexedf(2, 0, 0, getFBO().width(), (getFBO().height() / 2));
+               drawFunc();
+       }
+       glerror.check("Render to FBO");
+       // Render to actual framebuffer from FBOs
+       UseTexture use(getFBO().getTexture());
+       view(0);  // Viewport for drawable area
+       glDisable(GL_BLEND);
+       glmath::mat4 colorMatrix = glmath::mat4(1.0f);
+       updateStereo(0.0);  // Disable stereo mode while we composite
+       glerror.check("FBO->FB setup");
+       for (int num = 0; num < 2; ++num) {
+               {
+                       float saturation = 0.5;  // (0..1)
+                       float col = (1.0 + 2.0 * saturation) / 3.0;
+                       float gry = 0.5 * (1.0 - col);
+                       bool out[3] = {};  // Which colors to output
+                       if (type == 0 && num == 0) { out[0] = true; }  // Red
+                       if (type == 0 && num == 1) { out[1] = out[2] = true; }  // Cyan
+                       if (type == 1 && num == 0) { out[1] = true; }  // Green
+                       if (type == 1 && num == 1) { out[0] = out[2] = true; }  // Magenta
+                       for (unsigned i = 0; i < 3; ++i) {
+                               for (unsigned j = 0; j < 3; ++j) {
+                                       float val = 0.0;
+                                       if (out[i]) val = (i == j ? col : gry);
+                                       colorMatrix[j][i] = val;
+                               }
+                       }
+               }
+               // Render FBO with 1:1 pixels, properly filtered/positioned for 3d
+               ColorTrans c(colorMatrix);
+               Dimensions dim = Dimensions(getFBO().width() / getFBO().height()).fixedWidth(1.0);
+               dim.center((num == 0 ? 0.25 : -0.25) * dim.h());
+               if (num == 1) {
+                       // Right eye blends over the left eye
+                       glEnable(GL_BLEND);
+                       glBlendFunc(GL_ONE, GL_ONE);
+               }
+               getFBO().getTexture().draw(dim, TexCoords(0.0, 1.0, 1.0, 0));
+       }
+}
+
+void Window::view(unsigned num) {
+       glutil::GLErrorChecker glerror("Window::view");
+       // Set flags
+       glClearColor (0.0f, 0.0f, 0.0f, 1.0f);
+       glDisable(GL_DEPTH_TEST);
+       glDisable(GL_CULL_FACE);
+       glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+       glEnable(GL_BLEND);
+       if (GL_EXT_framebuffer_sRGB) glEnable(GL_FRAMEBUFFER_SRGB);
+       glerror.check("setup");
+       shader("color").bind();
+       // Setup views (with black bars for cropping)
+       int nativeW;
+       int nativeH;
+       if (std::stoi(SDL_GetHint("SDL_HINT_VIDEO_HIGHDPI_DISABLED")) == 1) {
+               SDL_GetWindowSize(screen, &nativeW, &nativeH);
+       }
+       else { SDL_GL_GetDrawableSize(screen, &nativeW, &nativeH); }
+       float vx = 0.5f * (nativeW - s_width);
+       float vy = 0.5f * (nativeH - s_height);
+       float vw = s_width, vh = s_height;
+       if (num == 0) {
+               glViewport(vx, vy, vw, vh);  // Drawable area of the window (excluding black bars)
+       } else {
+               // Splitscreen stereo3d
+               if (nativeW == 1280 && nativeH == 1470) {  // HDMI 720p 3D mode
+                       glViewportIndexedf(1, 0, 750, 1280, 720);
+                       glViewportIndexedf(2, 0, 0, 1280, 720);
+                       s_width = 1280;
+                       s_height = 720;
+               } else if (nativeW == 1920 && nativeH == 2205) {  // HDMI 1080p 3D mode
+                       glViewportIndexedf(1, 0, 1125, 1920, 1080);
+                       glViewportIndexedf(2, 0, 0, 1920, 1080);
+                       s_width = 1920;
+                       s_height = 1080;
+               } else {  // Regular top/bottom 3d
+                       glViewportIndexedf(1, 0, vh / 2, vw, vh / 2);  // Top half of the drawable area
+                       glViewportIndexedf(2, 0, 0, vw, vh / 2);  // Bottom half of the drawable area
+               }
+       }
+}
+
+void Window::swap() {
+       SDL_GL_SwapWindow(screen);
+}
+
+void Window::event(Uint8 const& eventID) {
+       switch (eventID) {
+               case SDL_WINDOWEVENT_MAXIMIZED:
+                       config["graphic/fullscreen"].b() = true;
+                       break;  
+               case SDL_WINDOWEVENT_RESTORED:
+                       config["graphic/fullscreen"].b() = false;
+                       break;  
+               case SDL_WINDOWEVENT_RESIZED:
+                       [[fallthrough]];
+               case SDL_WINDOWEVENT_SHOWN:
+                       [[fallthrough]];
+               case SDL_WINDOWEVENT_SIZE_CHANGED:
+                       m_needResize = true;
+                       break;
+               default: break;
+       }       
+}
+
+FBO& Window::getFBO() {
+       if (!m_fbo) m_fbo = std::make_unique<FBO>(s_width, (2 * s_height));
+       return *m_fbo;
+}
+
+void Window::setFullscreen() {
+       if (m_fullscreen == config["graphic/fullscreen"].b()) return;  // We are done here
+       m_fullscreen = config["graphic/fullscreen"].b();
+       std::clog << "video/info: Toggle into " << (m_fullscreen ? "FULL SCREEN MODE" : "WINDOWED MODE") << std::endl;
+       auto ret = SDL_SetWindowFullscreen(screen, (m_fullscreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0 ));
+       if (ret < 0) std::clog << "video/error: SDL_SetWindowFullscreen returned " << ret << std::endl;
+       // Resize window to old size and position (if windowed now)
+       if (!m_fullscreen) {
+               int w = config["graphic/window_width"].i();
+               int h = config["graphic/window_height"].i();
+               std::clog << "video/debug: Restoring window size " << w << "x" << h << " and position " << m_windowX << "," << m_windowY << std::endl;
+               SDL_SetWindowSize(screen, w, h);
+               SDL_SetWindowPosition(screen, m_windowX, m_windowY);
+       }
+}
+
+void Window::resize() {
+       setFullscreen();
+       if (!m_needResize) return;
+       m_needResize = false;
+       // Get nominal window dimensions
+       int w, h;
+       SDL_GetWindowSize(screen, &w, &h);
+       if (m_fullscreen) {
+               SDL_ShowCursor(SDL_DISABLE);
+               SDL_DisableScreenSaver();
+       } else {
+               SDL_ShowCursor(SDL_TRUE);
+               SDL_EnableScreenSaver();
+               config["graphic/window_width"].i() = w;
+               config["graphic/window_height"].i() = h;
+               SDL_GetWindowPosition(screen, &m_windowX, &m_windowY);
+       }
+       // Get actual resolution
+       int nativeW, nativeH;
+
+       if (std::stoi(SDL_GetHint("SDL_HINT_VIDEO_HIGHDPI_DISABLED")) == 1) {
+               SDL_GetWindowSize(screen, &nativeW, &nativeH);
+       }
+       else { SDL_GL_GetDrawableSize(screen, &nativeW, &nativeH); }
+       s_width = nativeW;
+       s_height = nativeH;
+       // Enforce aspect ratio limits
+       if (s_height < 0.56f * s_width) s_width = round(s_height / 0.56f);
+       if (s_height > 0.8f * s_width) s_height = round(0.8f * s_width);
+       std::clog << "video/info: Window size " << w << "x" << h;
+       if (w != nativeW) std::clog << " (HiDPI " << nativeW << "x" << nativeH << ")";
+       std::clog << ", rendering in " << s_width << "x" << s_height << std::endl;
+       if (m_fbo) { m_fbo->resize(s_width, 2 * s_height); }
+}
+
+void Window::screenshot() {
+       Bitmap img;
+       int nativeW;
+       int nativeH;
+       if (std::stoi(SDL_GetHint("SDL_HINT_VIDEO_HIGHDPI_DISABLED")) == 1) {
+               SDL_GetWindowSize(screen, &nativeW, &nativeH);
+       }
+       else { SDL_GL_GetDrawableSize(screen, &nativeW, &nativeH); }
+       img.width = nativeW;
+       img.height = nativeH;
+       unsigned stride = (img.width * 3 + 3) & ~3;  // Rows are aligned to 4 byte boundaries
+       img.buf.resize(stride * img.height);
+       img.fmt = pix::RGB;
+       img.linearPremul = true; // Not really, but this will use correct gamma.
+       img.bottomFirst = true;
+       // Get pixel data from OpenGL
+       glReadPixels(0, 0, img.width, img.height, GL_RGB, GL_UNSIGNED_BYTE, img.data());
+       // Compose filename with first available number
+       fs::path filename;
+       for (unsigned i = 1;; ++i) {
+               filename = getHomeDir() / ("Performous_" + std::to_string(i) + ".png");
+               if (!fs::exists(filename)) break;
+       }
+       // Save to disk
+       writePNG(filename.string(), img, stride);
+       std::clog << "video/info: Screenshot taken: " << filename << " (" << img.width << "x" << img.height << ")" << std::endl;
+}
+
+ColorTrans::ColorTrans(Color const& c): m_old(g_color) {
+       using namespace glmath;
+       g_color = g_color * diagonal(c.linear());
+       Game::getSingletonPtr()->window().updateColor();
+}
+
+LyricColorTrans::LyricColorTrans(Color const& fill, Color const& stroke, Color const& newFill, Color const& newStroke) {
+       oldFill = fill.linear();
+       oldStroke = stroke.linear();
+       Game::getSingletonPtr()->window().updateLyricHighlight(fill.linear(), stroke.linear(), newFill.linear(), newStroke.linear());
+}
+
+LyricColorTrans::~LyricColorTrans() {
+       Game::getSingletonPtr()->window().updateLyricHighlight(oldFill, oldStroke);
+}
+
+ColorTrans::ColorTrans(glmath::mat4 const& mat): m_old(g_color) {
+       g_color = g_color * mat;
+       Game::getSingletonPtr()->window().updateColor();
+}
+
+ColorTrans::~ColorTrans() {
+       g_color = m_old;
+       Game::getSingletonPtr()->window().updateColor();
+}
+
+ViewTrans::ViewTrans(float offsetX, float offsetY, float frac): m_old(g_projection) {
+       // Setup the projection matrix for 2D translates
+       using namespace glmath;
+       float h = virtH();
+       const float f = near_ / z0;  // z0 to nearplane conversion factor
+       // Corners of the screen at z0
+       float x1 = -0.5, x2 = 0.5;
+       float y1 = 0.5 * h, y2 = -0.5 * h;
+       // Move the perspective point by frac of offset (i.e. move the image)
+       float persX = frac * offsetX, persY = frac * offsetY;
+       x1 -= persX; x2 -= persX;
+       y1 -= persY; y2 -= persY;
+       // Perspective projection + the rest of the offset in eye (world) space
+       g_projection = glm::frustum(f * x1, f * x2, f * y1, f * y2, near_, far_)
+         * translate(vec3(offsetX - persX, offsetY - persY, -z0));
+       Game::getSingletonPtr()->window().updateTransforms();
+}
+
+ViewTrans::ViewTrans(glmath::mat4 const& m): m_old(g_projection) {
+       g_projection = g_projection * m;
+       Game::getSingletonPtr()->window().updateTransforms();
+}
+
+ViewTrans::~ViewTrans() {
+       g_projection = m_old;
+       Game::getSingletonPtr()->window().updateTransforms();
+}
+
+Transform::Transform(glmath::mat4 const& m): m_old(g_modelview) {
+       g_modelview = g_modelview * m;
+       Game::getSingletonPtr()->window().updateTransforms();
+}
+
+Transform::~Transform() {
+       g_modelview = m_old;
+       Game::getSingletonPtr()->window().updateTransforms();
+}
+
+glmath::mat4 farTransform() {
+       float z = far_ - 0.1f;  // Very near the far plane but just a bit closer to avoid accidental clipping
+       float s = z / z0;  // Scale the image so that it looks the same size
+       s *= 1.0 + 2.0 * getSeparation(); // A bit more for stereo3d (avoid black borders)
+       using namespace glmath;
+       return translate(vec3(0.0f, 0.0f, -z + z0)) * scale(s); // Very near the farplane
+}
+
diff --git a/game/video_driver.hh b/game/video_driver.hh
new file mode 100644 (file)
index 0000000..310c1e9
--- /dev/null
@@ -0,0 +1,126 @@
+#pragma once
+
+#include "glmath.hh"
+#include "glshader.hh"
+#include "glutil.hh"
+#include <map>
+#include <SDL2/SDL_events.h>
+
+float screenW();
+float screenH();
+const float targetWidth = 1366.0f; // One of the most common desktop resolutions in use today.
+static inline float virtH() { return float(screenH()) / screenW(); }
+
+struct SDL_Surface;
+struct SDL_Window;
+class FBO;
+
+struct ColorTrans {
+       ColorTrans(Color const& c);
+       ColorTrans(glmath::mat4 const& mat);
+       ~ColorTrans();
+private:
+       glmath::mat4 m_old;
+};
+
+struct LyricColorTrans {
+       LyricColorTrans(Color const& fill, Color const& stroke, Color const& newFill, Color const& newStroke);
+       ~LyricColorTrans();
+       private:
+       glmath::vec4 oldFill;
+       glmath::vec4 oldStroke;
+};
+
+class ViewTrans {
+public:
+       /// Apply a translation on top of current viewport translation
+       ViewTrans(glmath::mat4 const& m);
+       /// Apply a subviewport with different perspective projection
+       ViewTrans(float offsetX = 0.0, float offsetY = 0.0, float frac = 1.0);
+       ~ViewTrans();
+private:
+       glmath::mat4 m_old;
+};
+
+/// Apply a transform to current modelview stack
+class Transform {
+public:
+       Transform(glmath::mat4 const& m);
+       ~Transform();
+private:
+       glmath::mat4 m_old;
+};
+
+/// Performs a GL transform for displaying background image at far distance
+glmath::mat4 farTransform();
+
+/// handles the window
+class Window {
+public:
+       Window();
+       ~Window();
+       void render(std::function<void (void)> drawFunc);
+       /// clears window
+       void blank();
+       /// Initialize VAO and VBO.
+       void initBuffers();
+       /// swaps buffers
+       void swap();
+       /// Handle window events
+       void event(Uint8 const& eventID);
+       /// Resize window (contents) / toggle full screen according to config. Returns true if resized.
+       void resize();
+       /// take a screenshot
+       void screenshot();
+       
+       /// Return reference to Uniform Buffer Object.
+       static GLuint const& UBO() { return Window::m_ubo; }    
+       /// Return reference to Vertex Array Object.
+       GLuint const& VAO() const { return Window::m_vao; }
+       /// Return reference to Vertex Buffer Object.
+       GLuint const& VBO() const { return Window::m_vbo; }
+       /// Store value of GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT.
+       static GLint bufferOffsetAlignment;
+       
+       /// Construct a new shader or return an existing one by name
+       Shader& shader(std::string const& name) {
+               ShaderMap::iterator it = m_shaders.find(name);
+               if (it != m_shaders.end()) return *it->second;
+               std::pair<std::string, std::unique_ptr<Shader>> kv = std::make_pair(name, std::make_unique<Shader>(name)); 
+               return *m_shaders.insert(std::move(kv)).first->second;
+       }
+       /// Compiles and links all shaders.
+       void createShaders();
+       void resetShaders() { m_shaders.clear(); createShaders(); };
+       void updateColor();
+       void updateLyricHighlight(glmath::vec4 const& fill, glmath::vec4 const& stroke, glmath::vec4 const& newFill, glmath::vec4 const& newStroke);
+       void updateLyricHighlight(glmath::vec4 const& fill, glmath::vec4 const& stroke);
+       void updateTransforms();
+private:
+       const GLuint vertPos = 0;
+       const GLuint vertTexCoord = 1;
+       const GLuint vertNormal = 2;
+       const GLuint vertColor = 3;
+       void setFullscreen();
+       /// Setup everything for drawing a view.
+       /// @param num 0 = no stereo, 1 = left eye, 2 = right eye
+       void view(unsigned num);
+       void updateStereo(float separation);
+       bool m_fullscreen = false;
+       bool m_needResize = true;
+       static GLuint m_ubo;
+       static GLuint m_vao;
+       static GLuint m_vbo;
+       glutil::stereo3dParams m_stereoUniforms;
+       glutil::shaderMatrices m_matrixUniforms;
+       glutil::lyricColorUniforms m_lyricColorUniforms;
+       std::unique_ptr<FBO> m_fbo;
+       int m_windowX = 0;
+       int m_windowY = 0;
+       using ShaderMap = std::map<std::string, std::unique_ptr<Shader>>;
+       ShaderMap m_shaders; ///< Shader programs by name
+       SDL_Window* screen = nullptr;
+       public:
+       FBO& getFBO();
+};
+
diff --git a/game/webcam.cc b/game/webcam.cc
new file mode 100644 (file)
index 0000000..b01c169
--- /dev/null
@@ -0,0 +1,125 @@
+#include "webcam.hh"
+
+#include "chrono.hh"
+#include "fs.hh"
+#include <cstdint>
+#include <iostream>
+#include <stdexcept>
+#include <thread>
+
+#ifdef USE_OPENCV
+#include <opencv2/opencv.hpp>
+
+#else
+// Dummy classes
+namespace cv {
+       class VideoCapture {};
+       class VideoWriter {};
+}
+#endif
+
+Webcam::Webcam(int cam_id):
+  m_thread(), m_capture(), m_writer(), m_frameAvailable(false)
+{
+       #ifdef USE_OPENCV
+       // Initialize the capture device
+       m_capture.reset(new cv::VideoCapture(cam_id));
+       if (!m_capture->isOpened()) {
+               if (cam_id != -1) {
+                       std::clog << "Webcam/warning: Webcam id " << cam_id << " failed, trying autodetecting...";
+                       m_capture.reset(new cv::VideoCapture(-1));
+               }
+               if (!m_capture->isOpened())
+                       throw std::runtime_error("Could not initialize webcam capturing!");
+       }
+       // Try to get at least VGA resolution
+       if (m_capture->get(CV_CAP_PROP_FRAME_WIDTH) < 640
+         || m_capture->get(CV_CAP_PROP_FRAME_HEIGHT) < 480) {
+               m_capture->set(CV_CAP_PROP_FRAME_WIDTH, 640);
+               m_capture->set(CV_CAP_PROP_FRAME_HEIGHT, 480);
+       }
+       // Print actual values
+       std::cout << "Webcam frame properties: "
+         << m_capture->get(CV_CAP_PROP_FRAME_WIDTH) << "x"
+         << m_capture->get(CV_CAP_PROP_FRAME_HEIGHT) << std::endl;
+
+       // Initialize the video writer
+       #ifdef SAVE_WEBCAM_VIDEO
+       float fps = m_capture->get(CV_CAP_PROP_FPS);
+       int framew = m_capture->get(CV_CAP_PROP_FRAME_WIDTH);
+       int frameh = m_capture->get(CV_CAP_PROP_FRAME_HEIGHT);
+       int codec = CV_FOURCC('P','I','M','1'); // MPEG-1
+       std::string out_file = (getHomeDir() / "performous-webcam_out.mpg").string();
+       m_writer.reset(new cv::VideoWriter(out_file.c_str(), codec, fps > 0 ? fps : 30.0f, cvSize(framew,frameh)));
+       if (!m_writer->isOpened()) {
+               std::cout << "Could not initialize webcam video saving!" << std::endl;
+               m_writer.reset();
+       }
+       #endif
+       // Start thread
+       m_thread.reset(new std::thread(std::ref(*this)));
+       #else
+       (void)cam_id; // Avoid unused warning
+       #endif
+}
+
+Webcam::~Webcam() {
+       m_quit = true;
+       #ifdef USE_OPENCV
+       if (m_thread) m_thread->join();
+       #endif
+}
+
+void Webcam::operator()() {
+       #ifdef USE_OPENCV
+       m_running = true;
+       while (!m_quit) {
+               if (m_running) {
+                       try {
+                               // Get a new frame
+                               cv::Mat frame;
+                               *m_capture >> frame;
+                               if (m_writer) *m_writer << frame;
+                               std::lock_guard<std::mutex> l(m_mutex);
+                               // Copy the frame to storage
+                               m_frame.width = frame.cols;
+                               m_frame.height = frame.rows;
+                               m_frame.data.assign(frame.data, frame.data + (m_frame.width * m_frame.height * 3));
+                               // Notify renderer
+                               m_frameAvailable = true;
+                       } catch (std::exception&) { std::cerr << "Error capturing webcam frame!" << std::endl; }
+               }
+               // Sleep a little, much if the cam isn't active
+               std::this_thread::sleep_for(m_running ? 10ms : 500ms);
+       }
+       #endif
+}
+
+void Webcam::pause(bool do_pause) {
+       #ifdef USE_OPENCV
+       std::lock_guard<std::mutex> l(m_mutex);
+       #endif
+       m_running = !do_pause;
+       m_frameAvailable = false;
+}
+
+void Webcam::render() {
+       #ifdef USE_OPENCV
+       if (!m_capture || !m_running) return;
+       // Do we have a new frame available?
+       if (m_frameAvailable && !m_frame.data.empty()) {
+               std::lock_guard<std::mutex> l(m_mutex);
+               // Load the image
+               Bitmap bitmap;
+               bitmap.fmt = pix::BGR;
+               bitmap.buf.swap(m_frame.data);
+               bitmap.resize(m_frame.width, m_frame.height);
+               m_texture.load(bitmap);
+               bitmap.buf.swap(m_frame.data);  // Get back our buffer (FIXME: do we need to?)
+               m_frameAvailable = false;
+       }
+       using namespace glmath;
+       Transform trans(scale(vec3(-1.0, 1.0, 1.0)));
+       m_texture.draw(); // Draw
+       #endif
+}
diff --git a/game/webcam.hh b/game/webcam.hh
new file mode 100644 (file)
index 0000000..add7720
--- /dev/null
@@ -0,0 +1,59 @@
+#pragma once
+
+#include "texture.hh"
+#include <atomic>
+#include <mutex>
+#include <thread>
+#include <vector>
+
+namespace cv {
+       // Forward declarations
+       class VideoCapture;
+       class VideoWriter;
+}
+
+struct CamFrame {
+       int width = 0;
+       int height = 0;
+       std::vector<std::uint8_t> data;
+};
+
+class Webcam {
+  public:
+       /// cam_id -1 means pick any device
+       Webcam(int cam_id = -1);
+       ~Webcam();
+
+       /// Thread runs here, don't call directly
+       void operator()();
+
+       /// Is good?
+       bool is_good() const { return m_capture != 0 && m_running; }
+       /// When paused, does not get or render frames
+       void pause(bool do_pause = true);
+       /// Display frame
+       void render();
+
+       Dimensions& dimensions() { return m_texture.dimensions; }
+       Dimensions const& dimensions() const { return m_texture.dimensions; }
+
+  private:
+       std::unique_ptr<std::thread> m_thread;
+       mutable std::mutex m_mutex;
+       std::unique_ptr<cv::VideoCapture> m_capture;
+       std::unique_ptr<cv::VideoWriter> m_writer;
+       CamFrame m_frame;
+       Texture m_texture;
+       bool m_frameAvailable;
+       std::atomic<bool> m_running{ false };
+       std::atomic<bool> m_quit{ false };
+
+  public:
+       static bool enabled() {
+               #ifdef USE_OPENCV
+               return true;
+               #else
+               return false;
+               #endif
+       }
+};
diff --git a/game/webserver.cc b/game/webserver.cc
new file mode 100644 (file)
index 0000000..9b1cbf5
--- /dev/null
@@ -0,0 +1,55 @@
+#include "webserver.hh"
+#ifdef USE_WEBSERVER
+
+void WebServer::StartServer(int tried, bool fallbackPortInUse) {
+       if(tried > 2) {
+               if(fallbackPortInUse == false) {
+                       std::clog << "webserver/error: Couldn't start webserver tried 3 times. Trying fallbackport.." << std::endl;
+                       StartServer(0, true);
+                       return;
+               }
+
+               std::clog << "webserver/error: Couldn't start webserver tried 3 times using normal port and 3 times using fallback port. Stopping webserver." << std::endl;
+               if(m_server) {
+                       m_server->close().wait();
+               }
+       }
+
+       std::string portToUse = fallbackPortInUse ? std::to_string(config["game/webserver_fallback_port"].i()) : std::to_string(config["game/webserver_port"].i());
+       std::string addr("");
+       if(config["game/webserver_access"].i() == 1) {
+               addr = "http://127.0.0.1:" + portToUse;
+               std::clog << "webserver/notice: Starting local server on: " << addr <<std::endl;
+       } else {
+               addr = "http://0.0.0.0:" + portToUse;
+               std::clog << "webserver/notice: Starting public server on: " << addr << std::endl;
+       }
+
+       try {
+               m_server = std::shared_ptr<RequestHandler>(new RequestHandler(addr, m_songs));
+               m_server->open().wait();
+       } catch (std::exception& e) {
+               tried = tried + 1;
+               std::clog << "webserver/error: " << e.what() << " Trying again... (tried " << tried << " times)." << std::endl;
+               std::this_thread::sleep_for(20s);
+               StartServer(tried, fallbackPortInUse);
+       }
+}
+
+WebServer::WebServer(Songs& songs)
+: m_songs(songs)
+{
+       if(config["game/webserver_access"].i() == 0) {
+               std::clog << "webserver/notice: Not starting webserver." << std::endl;
+       } else {
+               m_serverThread = std::make_unique<std::thread>([this] { StartServer(0, false); });
+       }
+}
+
+WebServer::~WebServer() {
+       if( m_server ) {
+               m_server->close().wait();
+               m_serverThread->join();
+       }
+}
+#endif
\ No newline at end of file
diff --git a/game/webserver.hh b/game/webserver.hh
new file mode 100644 (file)
index 0000000..00b07eb
--- /dev/null
@@ -0,0 +1,27 @@
+#pragma once
+
+#ifdef USE_WEBSERVER
+
+#include "requesthandler.hh"
+
+class WebServer
+{
+public:
+       WebServer(Songs& songs);
+       ~WebServer();
+
+private:
+       void StartServer(int tried, bool fallbackPortInUse);
+       std::shared_ptr<std::thread> m_serverThread;
+       std::shared_ptr<RequestHandler> m_server;
+       Songs& m_songs;
+};
+#else
+class Songs;
+
+class WebServer
+{
+public:
+       WebServer(Songs&) {}
+};
+#endif
diff --git a/lang/CMakeLists.txt b/lang/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8dcc3e3
--- /dev/null
@@ -0,0 +1,24 @@
+cmake_minimum_required(VERSION 2.8)
+
+# It should be possible to switch to CMake's GETTEXT_CREATE_TRANSLATIONS
+# if we either drop the LOCALE_DIR or that function gets a customised
+# INSTALL_DESTINATION.
+# FIXME: Always execute msgmerge, like in CMake's GETTEXT_CREATE_TRANSLATIONS?
+
+file(GLOB _languages *.po)
+set(_mofiles)
+foreach(_pofile ${_languages})
+       get_filename_component(_language ${_pofile} NAME_WE)
+       set(_mofile ${CMAKE_CURRENT_BINARY_DIR}/${_language}.mo)
+       add_custom_command(
+               OUTPUT ${_mofile}
+               COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -v ${_pofile} -o ${_mofile}
+               DEPENDS ${_pofile}
+               COMMENT "Building ${_language} locale"
+               VERBATIM)
+       install(FILES ${_mofile} DESTINATION ${LOCALE_DIR}/${_language}/LC_MESSAGES RENAME ${CMAKE_PROJECT_NAME}.mo)
+       set(_mofiles ${_mofiles} ${_mofile})
+endforeach()
+
+add_custom_target(translations ALL DEPENDS ${_mofiles})
+
diff --git a/lang/README b/lang/README
new file mode 100644 (file)
index 0000000..f60db7c
--- /dev/null
@@ -0,0 +1,66 @@
+Translation guide
+=================
+
+We recommend using POEdit (http://www.poedit.net/)
+For Windows, download it from the website.
+Most Linux distros have it in their repositories.
+
+NOTE: Don't generate the binary .mo files - they are
+      compiled (and installed) with Performous build
+
+Updating existing translations
+------------------------------
+  1. Open the .po file in POEdit.
+  2. Hit the Synchronize to source button in the toolbar.
+  3. Start translating.
+  4. Remember to save.
+
+NOTES:
+  * Setup your name and email in POEdit preferences if you haven't used it before
+  * Also setup the Performous XML parser as instructed below
+  * POEdit C/C++ parser might not recognize .hh extension by default, so add that:
+    Edit -> Preferences -> Parsers -> C/C++ -> Edit -> List of extensions
+
+Configuring the Performous XML parser
+-------------------------------------
+These steps enable translation of the XML locate bits.
+  1. Click Edit -> Preferences
+  2. Click the Parsers tab
+  3. Click the New button and fill out the form like this:
+       Language: Performous XML
+       List of extensions: *.xml
+       Parser command: $SOURCE_ROOT/tools/scripts/xml_gettext.sh %o %F
+       An item in keywords list:
+       An item in input files list: %f
+       Source code charset:
+     Where $SOURCE_ROOT is the path to the performous sources root.
+  4. Click Okay
+
+Creating a new catalog
+----------------------
+These are the steps to create a new catalog, but easiest
+is probably just copy one of the existing ones and start
+from there (in which case you can skip these steps.)
+
+   1. Start POEdit
+   2. Click File -> New Catalog
+   3. Enter a project name (performous)
+   4. Click the Paths tab at the top
+   5. Click the New Item icon (second one, looks like a little square)
+   6. Enter the path to the directory containing your plug-in file ("." tells POEdit to scan the directory that you will save the file to, usually only need to include ../game and ../data), press enter
+   7. Click the Keywords tab at the top
+   8. Click the New Item icon
+   9. Enter _ (that's underscore), press enter
+  10. Enter translate_noop and press enter
+  11. Click Okay
+  12. Choose a name for your .po file (performous) 
+  13. Follow the instructions above to enable XML translation
+
+REMEMBER TO SAVE WITH YOU LOCALE NAME
+
+Example for English:
+en.po
+
+Acknowledgements
+----------------
+Thanks to guide at http://codex.wordpress.org/User:Skippy/Creating_POT_Files
\ No newline at end of file
diff --git a/lang/TRANSLATORS b/lang/TRANSLATORS
new file mode 100644 (file)
index 0000000..f83ec37
--- /dev/null
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+#
+# Lines like this one (starting with a # are comments)
+# The rest of the lines have the following format:
+#  "$1:$2 Single line of text"
+#
+# Where $1 is the ISO-369-1 two letter language code
+# (the same as for the PO file name)
+#
+# The $2 is one of:
+#  COMMENT  - The comment that shows up on the wiki
+#             translation overview page
+#  CONTACT  - The contact for the translation
+#  STATUS   - The status of the translation, keep this short.
+#             ideally one of: active, inactive, not yet ready
+#
+# TRANSLATOR and LEAD is not yet known by translation_wiki_helper.sh.
+#
+# Also, presently only one CONTACT field per language is allowed
+# for now. (This limitation is indented to be fixed later)
+
+es:STATUS active
+es:CONTACT [[User:Peque|peque]] (Spanish native speaker)
+
+fr:STATUS active
+fr:CONTACT [[User:Yoda|yoda]] (French native speaker)
+
+ja:COMMENT Translations not ready for release.
+ja:STATUS not yet ready
+#ja:TRANSLATOR [[User:Scientica|scientica]] (not native speaker)
+ja:CONTACT [[User:Scientica|scientica]] (not native speaker)
+
+sv:STATUS active
+#sv:LEAD [[User:Scientica|scientica]] (Swedish native speaker)
+sv:CONTACT [[User:Scientica|scientica]] (Swedish native speaker)
+
+fa:STATUS not yet ready
+fa:CONTACT [[User:sajjadG|sajjadg]] (Farsi native speaker)
+fa:COMMENT work in progress...
diff --git a/lang/ast.po b/lang/ast.po
new file mode 100644 (file)
index 0000000..c259608
--- /dev/null
@@ -0,0 +1,1458 @@
+# Asturian translation for performous
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the performous package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:33+0200\n"
+"PO-Revision-Date: 2017-08-30 22:33+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: Asturian <ast@li.org>\n"
+"Language: ast\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-08-01 18:01+0000\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "Xuegu"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "Opciones rellacionaes col mou de xuegu"
+
+#: ../data/config/schema.xml:23
+#, fuzzy
+msgid "Graphic"
+msgstr "Gráficos."
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Configurar axustes de vidéu y renderizáu"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "Presos soníu"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "Configurar microfonos y playback"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "Soníu"
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr "Configuara axustes xenerales soníu"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "Cartafueyos"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "Configurar canción y datos cartafueyos"
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr ""
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr ""
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr ""
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr ""
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr ""
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr ""
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr ""
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr ""
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr ""
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr ""
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr ""
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr ""
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr ""
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr ""
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr ""
+
+#: ../data/config/schema.xml:106
+msgid "Keyboard as keytar"
+msgstr ""
+
+#: ../data/config/schema.xml:107
+msgid "Enable keyboard as keytar."
+msgstr ""
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr ""
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr ""
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr ""
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr ""
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr ""
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr ""
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr ""
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr ""
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr ""
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr ""
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr ""
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr ""
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr ""
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr ""
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr ""
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr ""
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr ""
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr ""
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr ""
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr ""
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr ""
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+
+#: ../data/config/schema.xml:211
+#, fuzzy
+msgid "Webcam background"
+msgstr "Fondu al debalu..."
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr ""
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr ""
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr ""
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr ""
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr ""
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr ""
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr ""
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr ""
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+
+#: ../data/config/schema.xml:266
+#, fuzzy
+msgid "Audio devices"
+msgstr "Presos soníu"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr ""
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr ""
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr ""
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr ""
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr ""
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr ""
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr ""
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr ""
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr ""
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr ""
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr ""
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr ""
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr ""
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr ""
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "Activáu"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "Desactiváu"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d oxetos"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "Ñovatu"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "Cenciello"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "Medio"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "Difícil"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "Retu"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "¡Preparate!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "¡Entamar  actuación!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "Esbillar camción"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "Esbillar dificultá"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "Colar"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "Colar pal restolador canciones"
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "¡APARAR!"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "¡Racha!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "Guaḥes"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "Espertu"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "Mou izquierdu"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "ENCESU"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "APAGÁU"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "Camudar mou izquierdu"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"Mou Dios\n"
+"¡Activáu!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "¡Erros inoraos!"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "¡Preparate pal Mou Dios!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "Drum Fill!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "¡Soledu!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "reentamar"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "¡Tornar de la actuación!"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "Reaxuntar"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "Camudar les esbilles"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "Reaniciar"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"Entamar la canción\n"
+"Dende l'entamu"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "Cargando exemplos de sonios..."
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "Criando pantalles..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "Entrando al menú d'entamu"
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "Carga fecha darreu"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "¡Semeya coyía!"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "¡Semeya fallida!"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"Parez que dalgunes configuraciones manuales\n"
+"son incompatibles con esta interfaz d'usuariu.\n"
+"Atroxar estos axustes sobroescribirán\n"
+"toles esistentes na configuración del preséu de soníu.\n"
+"Les otres opciones camudaes atroxaranse tamién."
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "- Non asignáu -"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"Usa les fleches pa configurar. Primi Enter/Start p'atroxar y prevar o Esc/"
+"Select p'atayar. Ctrl + R pa reaniciar"
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"Pa configuración avanzada de preséu, usa'l parámetru na llinia de comandos --"
+"audio (usa --audiohelp pa detalles)"
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "¡Dalgunos preseos nun s'abren!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "Preséu dalu de playback puen usase\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Por favor configura daqué enantes d'entamar."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr "Axustes atroxaos como per defeutu del sistema"
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr "Axustes atroxaos"
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Ctrl + S p'atroxar, Ctrl + R pa reaniciar axustes"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "Actuar"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "Prauticar"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "Compreba les tos habilidades o preba los micrófonos"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "Configurar"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "Configuar soníu y axustes de xuegu"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "Colar del xuegu"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "¡Xugador dalu!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Pon un nome pa criar un xugador."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "¡Primi Intro pa criar xugador!"
+
+#: ../game/screen_players.cc:124
+#, fuzzy
+msgid "No players worth mentioning!"
+msgstr "¡Xugador dalu!"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "¡Llegasti a los %1% puntos!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Camudar xugador coles fleches."
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Nome:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Pon fieltru de testu o criar un nuevu  jugador."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "Guetar testu:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "Aniciando Cámara Web..."
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr ""
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr ""
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+#, fuzzy
+msgid "View general playlist settings"
+msgstr "Configuara axustes xenerales soníu"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr ""
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "Cargando vidéu..."
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "Cargando canción..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "¡Les canciones tienen pistes rotes!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "Cargando menú..."
+
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start"
+msgstr "Reaniciar"
+
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start performing"
+msgstr "¡Entamar  actuación!"
+
+#: ../game/screen_sing.cc:82
+#, fuzzy
+msgid "Duet mode"
+msgstr "Mou izquierdu"
+
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:92
+#, fuzzy
+msgid "Change vocal track"
+msgstr ""
+"Camudar pista de voz\n"
+"(Tienes de reaniciar)"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr ""
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "   INTRO pa saltar rotura instrumental"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr ""
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   ¡Remembra asperar pola clasificación!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "¡Ensín xugador!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "Hit cantante"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "Cantante"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "Medra d'estrella"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "Amateur"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "Tapecíu"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "Maniacu"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "Artista"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "Perdedor"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "Virtuosu"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "Roqueru"
+
+#: ../game/screen_songs.cc:290
+#, fuzzy
+msgid "Sorry, no songs match the search!"
+msgstr "Nun coinciden les canciones na gueta"
+
+#: ../game/screen_songs.cc:293
+#, fuzzy
+msgid "Sorry, no songs match the filter!"
+msgstr "Nun coinciden les canciones na gueta"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "¡Canción dala alcontrada!"
+
+#: ../game/screen_songs.cc:297
+#, fuzzy
+msgid "Visit performous.org for free songs"
+msgstr ""
+"Visita performous.org\n"
+"pa canciones llibres"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr "<Escribe pala gueta>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr ""
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr ""
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr ""
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr ""
+
+#: ../game/screen_songs.cc:319
+#, fuzzy
+msgid "hiscores"
+msgstr "Rexistru pa %1%\n"
+
+#: ../game/screen_songs.cc:319
+#, fuzzy
+msgid "jukebox mode"
+msgstr "Mou izquierdu"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr ""
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr ""
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr ""
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr ""
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "Guitarra"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "Guitarra Coop"
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "Guitarra rítmica"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "Baxu"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "Batería"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "Vocales"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "Harmónica 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "Harmónica 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "Harmónica 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr ""
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr ""
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr ""
+
+#: ../game/songs.cc:198
+#, fuzzy
+msgid "has vocals"
+msgstr "Vocales"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr ""
+
+#: ../game/songs.cc:200
+#, fuzzy
+msgid "has guitar"
+msgstr "Guitarra rítmica"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr ""
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr ""
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "Orde al debalu"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "Ordenao per canción"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "Ordenao per artista"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "Ordenao per edición"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "Ordenao per xeneru"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "Ordenao per cartafueyu"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "Ordenao per llingua"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr ""
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr ""
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr ""
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr ""
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr ""
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr ""
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr ""
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr ""
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr ""
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr ""
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr ""
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr ""
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr ""
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr ""
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr ""
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr ""
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr ""
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr ""
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr ""
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr ""
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "Esta ferramienta nun ta enta disponible.\n"
+#~ "Configura cartafueyos añadiendolos\n"
+#~ "como parametru de llinia comandu y\n"
+#~ "dempués atroxales nel menú de configuración."
+
+#~ msgid "Press any key to exit."
+#~ msgstr "Primi cualaquier tecla pa colar"
+
+#, fuzzy
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr ""
+#~ "LOs usuarios de Windows puen tamién usar ConfigureSongDirectory.bat nel "
+#~ "cartafueyu bin."
+
+#, fuzzy
+#~ msgid "Back to song browser"
+#~ msgstr "Colar pal restolador canciones"
+
+#~ msgid "No Items up to now."
+#~ msgstr "Nun hai oxetos agora."
+
+#~ msgid "Be the first to be listed here!"
+#~ msgstr "¡Se'l primeru en ser escucháu eiquí!"
+
+#~ msgid "Song is broken!"
+#~ msgstr "¡La canción ta rota!"
+
+#~ msgid "Loading instruments..."
+#~ msgstr "Cargando instrumentos..."
+
+#~ msgid "Finalizing..."
+#~ msgstr "Finando..."
+
+#, fuzzy
+#~ msgid "Loading graphics..."
+#~ msgstr "Cargando canción..."
+
+#~ msgid "Random background..."
+#~ msgstr "Fondu al debalu..."
+
+#~ msgid "(press END to view hiscores)"
+#~ msgstr "(primi END p'agüeyar rexistros)"
+
+#~ msgid "Graphics"
+#~ msgstr "Gráficos."
+
+#, fuzzy
+#~ msgid "Gameplay settings."
+#~ msgstr "Opciones rellacionaes col mou de xuegu"
+
+#, fuzzy
+#~ msgid "Video and rendering settings."
+#~ msgstr "Configurar axustes de vidéu y renderizáu"
+
+#~ msgid "Loading theme..."
+#~ msgstr "Cargando tema..."
+
+#~ msgid "Loading background..."
+#~ msgstr "Cargando fondu..."
+
+#~ msgid "Loading user interface..."
+#~ msgstr "Cargando interfaz d'usuariu..."
diff --git a/lang/da.po b/lang/da.po
new file mode 100644 (file)
index 0000000..8a22b37
--- /dev/null
@@ -0,0 +1,1461 @@
+# Danish translation for Performous.
+# Copyright (C) 2010 performous.org
+# This file is distributed under the same license as the Performous package.
+# Anders Jenbo <anders@jenbo.dk>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:34+0200\n"
+"PO-Revision-Date: 2017-08-30 22:34+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: Danskgruppen <dansk@dansk-gruppen.dk>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+#, fuzzy
+msgid "Game"
+msgstr "Spil"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr ""
+
+#: ../data/config/schema.xml:23
+#, fuzzy
+msgid "Graphic"
+msgstr "Grafik"
+
+#: ../data/config/schema.xml:24
+#, fuzzy
+msgid "Configure rendering and video settings"
+msgstr "Konfigurer renderings- og videoindstillinger"
+
+#: ../data/config/schema.xml:28
+#, fuzzy
+msgid "Audio Devices"
+msgstr "Lydenheder"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr ""
+
+#: ../data/config/schema.xml:32
+#, fuzzy
+msgid "Audio"
+msgstr "Lyd"
+
+#: ../data/config/schema.xml:33
+#, fuzzy
+msgid "Configure general audio settings"
+msgstr "Konfigurer renderings- og videoindstillinger"
+
+#: ../data/config/schema.xml:36
+#, fuzzy
+msgid "Paths"
+msgstr "Stier"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr ""
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr ""
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr ""
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr ""
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr ""
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr ""
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr ""
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr ""
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr ""
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr ""
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+#, fuzzy
+msgid "Keyboard as guitar"
+msgstr "Afslut"
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr ""
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr ""
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr ""
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr ""
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr ""
+
+#: ../data/config/schema.xml:106
+msgid "Keyboard as keytar"
+msgstr ""
+
+#: ../data/config/schema.xml:107
+msgid "Enable keyboard as keytar."
+msgstr ""
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr ""
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr ""
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr ""
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr ""
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr ""
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr ""
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr ""
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr ""
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr ""
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr ""
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr ""
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr ""
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr ""
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr ""
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr ""
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr ""
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr ""
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr ""
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr ""
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr ""
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr ""
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+
+#: ../data/config/schema.xml:211
+#, fuzzy
+msgid "Webcam background"
+msgstr "Tilfældig bauggrund..."
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+
+#: ../data/config/schema.xml:216
+#, fuzzy
+msgid "Webcam id"
+msgstr "Tilfældig bauggrund..."
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr ""
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr ""
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr ""
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr ""
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr ""
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr ""
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr ""
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+
+#: ../data/config/schema.xml:266
+#, fuzzy
+msgid "Audio devices"
+msgstr "Lydenheder"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr ""
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr ""
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr ""
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr ""
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr ""
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr ""
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr ""
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr ""
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr ""
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr ""
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr ""
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr ""
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr ""
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr ""
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr ""
+
+#: ../game/configuration.cc:116
+#, fuzzy, c-format
+msgid "%d items"
+msgstr "%d emner"
+
+#: ../game/dancegraph.cc:18
+#, fuzzy
+msgid "Beginner"
+msgstr "Begynner"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+#, fuzzy
+msgid "Easy"
+msgstr "Let"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+#, fuzzy
+msgid "Medium"
+msgstr "Medium"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+#, fuzzy
+msgid "Hard"
+msgstr "Hård"
+
+#: ../game/dancegraph.cc:18
+#, fuzzy
+msgid "Challenge"
+msgstr "Udfordring"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#, fuzzy
+msgid "Ready!"
+msgstr "Klar!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "Begynd at optræde!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr ""
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+#, fuzzy
+msgid "Select difficulty"
+msgstr "Vælg sværhedsgrad"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "Afslut"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr ""
+
+#: ../game/dancegraph.cc:248
+#, fuzzy
+msgid "STOP!"
+msgstr "STOP!"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr ""
+
+#: ../game/guitargraph.cc:14
+#, fuzzy
+msgid "Kids"
+msgstr "Børn"
+
+#: ../game/guitargraph.cc:14
+#, fuzzy
+msgid "Expert"
+msgstr "Ekspert"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr ""
+
+#: ../game/guitargraph.cc:206
+#, fuzzy
+msgid "ON"
+msgstr "Tænt"
+
+#: ../game/guitargraph.cc:206
+#, fuzzy
+msgid "OFF"
+msgstr "Slukket"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr ""
+
+#: ../game/guitargraph.cc:461
+#, fuzzy
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"Gudetilstand\n"
+"Aktiveret!"
+
+#: ../game/guitargraph.cc:462
+#, fuzzy
+msgid "Mistakes ignored!"
+msgstr "Fejl ignoreret!"
+
+#: ../game/guitargraph.cc:1104
+#, fuzzy
+msgid "God Mode Ready!"
+msgstr "Gudetilstand klar!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr ""
+
+#: ../game/guitargraph.cc:1108
+#, fuzzy
+msgid "Solo!"
+msgstr "Solo!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+#, fuzzy
+msgid "Resume"
+msgstr "Genoptag"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+#, fuzzy
+msgid "Back to performing!"
+msgstr "Tilbage til optræden!"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr ""
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr ""
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+#, fuzzy
+msgid "Restart"
+msgstr "Genstarter"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+#, fuzzy
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"Start sangen\n"
+"fra begyndelsen"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "Indlæser lydprøver..."
+
+#: ../game/main.cc:177
+#, fuzzy
+msgid "Creating screens..."
+msgstr "Opretter sener..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr ""
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+#, fuzzy
+msgid "Loading complete"
+msgstr "Indlæsning færdig"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr ""
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr ""
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr ""
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+
+#: ../game/screen_audiodevices.cc:190
+#, fuzzy
+msgid "Some devices failed to open!"
+msgstr "Nogle enheder kunne ikke åbnes!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "Ingen afspilningsenhed kunne bruges\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"konfigurer venligst en før du spiller."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr ""
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr ""
+
+#: ../game/screen_intro.cc:154
+#, fuzzy
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Ctrl+s for at gemme, ctrl+r for at genoprette standarder"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "Optræd"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "Øv"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "Tjek dine evner eller test mikrofonerne"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "Indstillinger"
+
+#: ../game/screen_intro.cc:189
+#, fuzzy
+msgid "Configure audio and game options"
+msgstr "Konfigurer lyd- og spilindstillinger"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "Forlad spillet"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "Ingen spillere fundet!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Indtaste et navn for at oprette ny spiller."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "Tryk enter for at oprette spilleren!"
+
+#: ../game/screen_players.cc:124
+#, fuzzy
+msgid "No players worth mentioning!"
+msgstr "Ingen spillere fundet!"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "Du opnåede %1% point!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Skift spiller med piletasterne."
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Navn:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Skriv tekst for at filtere eller oprette en ny spiller."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "Søgeord:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+#, fuzzy
+msgid "Initializing webcam..."
+msgstr "Starter webcam..."
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr ""
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr ""
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+#, fuzzy
+msgid "View general playlist settings"
+msgstr "Konfigurer generelle lydindstillinger"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr ""
+
+#: ../game/screen_sing.cc:54
+#, fuzzy
+msgid "Loading video..."
+msgstr "Indlæser video..."
+
+#: ../game/screen_sing.cc:61
+#, fuzzy
+msgid "Loading song..."
+msgstr "Indlæser sang..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr ""
+
+#: ../game/screen_sing.cc:73
+#, fuzzy
+msgid "Loading menu..."
+msgstr "Indlæser menu..."
+
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start"
+msgstr "Genstarter"
+
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start performing"
+msgstr "Begynd at optræde!"
+
+#: ../game/screen_sing.cc:82
+msgid "Duet mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:92
+msgid "Change vocal track"
+msgstr ""
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr ""
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "   ENTER for at springe over instrumental pause"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr ""
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   Husk at vendte på karakteruddeling!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "Ingen spiller!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "Hitsanger"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "Forsanger"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "Ny stjerne"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "Amatør"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "Tonedøv"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "Galning"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "Professionel danser"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "Taber"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "Virtuos"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "Rocker"
+
+#: ../game/screen_songs.cc:290
+#, fuzzy
+msgid "Sorry, no songs match the search!"
+msgstr "ingen sange matchede søgning"
+
+#: ../game/screen_songs.cc:293
+#, fuzzy
+msgid "Sorry, no songs match the filter!"
+msgstr "ingen sange matchede søgning"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "Ingen sange fundet!"
+
+#: ../game/screen_songs.cc:297
+#, fuzzy
+msgid "Visit performous.org for free songs"
+msgstr ""
+"Besøg performous.org\n"
+"for gratis sange"
+
+#: ../game/screen_songs.cc:315
+#, fuzzy
+msgid "<type in to search>"
+msgstr "<skriv for at søge>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr ""
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr ""
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr ""
+
+#: ../game/screen_songs.cc:318
+#, fuzzy
+msgid "type filter: "
+msgstr "filtrer: "
+
+#: ../game/screen_songs.cc:319
+#, fuzzy
+msgid "hiscores"
+msgstr "Højeste resultater for %1%\n"
+
+#: ../game/screen_songs.cc:319
+msgid "jukebox mode"
+msgstr ""
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr ""
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr ""
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr ""
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr ""
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr ""
+
+#: ../game/song.hh:26
+#, fuzzy
+msgid "Guitar"
+msgstr "Afslut"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr ""
+
+#: ../game/song.hh:26
+#, fuzzy
+msgid "Bass"
+msgstr "Bas"
+
+#: ../game/song.hh:26
+#, fuzzy
+msgid "Drums"
+msgstr "Trummer"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr ""
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr ""
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr ""
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr ""
+
+#: ../game/songs.cc:198
+msgid "has vocals"
+msgstr ""
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr ""
+
+#: ../game/songs.cc:200
+#, fuzzy
+msgid "has guitar"
+msgstr "Afslut"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr ""
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr ""
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "tilfældig rækkefølge"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "sorter efter sang"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "sorter efter kunstner"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "sorter efter udgave"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "sorter efter genre"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "sorter efter sti"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "sorter efter sprog"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr ""
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr ""
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr ""
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr ""
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr ""
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr ""
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr ""
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr ""
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr ""
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr ""
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr ""
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr ""
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr ""
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr ""
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr ""
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr ""
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr ""
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr ""
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr ""
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr ""
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#, fuzzy
+#~ msgid "Song is broken!"
+#~ msgstr "Sangen er i stykker!"
+
+#, fuzzy
+#~ msgid "Loading instruments..."
+#~ msgstr "Indlæser instrumenter..."
+
+#, fuzzy
+#~ msgid "Loading graphics..."
+#~ msgstr "Indlæser sang..."
+
+#, fuzzy
+#~ msgid "Random background..."
+#~ msgstr "Tilfældig bauggrund..."
+
+#~ msgid "(press END to view hiscores)"
+#~ msgstr "(tryk END for at se bedste resultater)"
+
+#, fuzzy
+#~ msgid "Graphics"
+#~ msgstr "Grafik"
+
+#, fuzzy
+#~ msgid "Video and rendering settings."
+#~ msgstr "Konfigurer renderings- og videoindstillinger"
+
+#~ msgid "Loading theme..."
+#~ msgstr "Indlæser tema..."
+
+#~ msgid "Loading background..."
+#~ msgstr "Indlæser baggrund..."
+
+#, fuzzy
+#~ msgid "Loading user interface..."
+#~ msgstr "Indlæser brugerflade..."
+
+#, fuzzy
+#~ msgid "Audio..."
+#~ msgstr "Lyd..."
+
+#~ msgid "No microphones found.\n"
+#~ msgstr "Ingen mikrofon fundet.\n"
+
+#~ msgid "none"
+#~ msgstr "ingen"
diff --git a/lang/de.po b/lang/de.po
new file mode 100644 (file)
index 0000000..dabf72b
--- /dev/null
@@ -0,0 +1,1523 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:31+0200\n"
+"PO-Revision-Date: 2017-08-30 22:33+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: \n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "Spiel"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "Einstellung, die das Spiel selbst betreffen"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "Grafik"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Grafik- und Darstellungseinstellungen"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "Audiogeräte"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "Konfiguriere Mikrofone und Abspielgeräte"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "Audio"
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr "Konfiguriere algemeine Audioeinstellungen"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "Pfade"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "Richte Lied- und Datenpfade ein"
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr "Karaoke-Modus"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "Verstecke Tonhöhen-Welle, Noten und Punkte."
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr "Liedtext-Anzeige-Stil"
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr "Automatische Wiedergabe"
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr "Zufällige Lieder abspielen, wenn die Abspielliste leer ist."
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "Tonhöhe"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr "Aktiviere Tonhöhen-Welle (wenn nicht im Karaoke-Modus)."
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "Thema"
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr "Name des zu benutzenden Themas."
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr "Tastatur als Gitarre"
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr "Aktiviere Tastatur als Gitarre (\"Frets on Fire\"-Modus)."
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr "Tastatur als Schlagzeug nutzen"
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr "Aktiviere Tastatur als Schlagzeug"
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr "Tastatur als Dancepad nutzen"
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr "Aktiviere Keyboard als Dancepad"
+
+#: ../data/config/schema.xml:106
+msgid "Keyboard as keytar"
+msgstr "Tastatur als Keytar"
+
+#: ../data/config/schema.xml:107
+msgid "Enable keyboard as keytar."
+msgstr "Benutze Tastatur als Keytar"
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr "Erzwinge Typ von Eingabegrät A"
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+"Automatische Erkennung übergehen und immer diesen Typ für das erste "
+"Eingabegerät wählen."
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr "Erzwinge Typ von Eingabegrät B"
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+"Automatische Erkennung übergehen und immer diesen Typ für das zweite "
+"Eingabegerät wählen."
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr "Erzwinge Typ von Eingabegrät C"
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+"Automatische Erkennung übergehen und immer diesen Typ für das dritte "
+"Eingabegerät wählen."
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr "Erzwinge Typ von Eingabegrät D"
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+"Automatische Erkennung übergehen und immer diesen Typ für das vierte "
+"Eingabegerät wählen."
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr "Eingabegeräte konfigurieren"
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr "Erzwinge Eingabegerät als spezielles Instrument"
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr "MIDI Eingabegerät"
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+"Regex, um die zu benutzenden MIDI-Geräte zu wählen. Standardmässig werden "
+"alle verfügbaren Geräte benutzt."
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr "Fallback-Lied-Codierung"
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr "Wähle die Textkodierung für Lieder, die nicht in UTF-8 vorliegen."
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr "Fensterbreite"
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr "Breite des Fensters"
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr "Fensterhöhe"
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr "Höhe des Fensters"
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr "Vollbildmodus"
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr "Aktivere Vollbild beim Start"
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr "Stereoskopisches 3D"
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr "Aktiviere 3D-Darstellung in Performous."
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr "Stereo3D-Typ"
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr "Einige Modi werden nur im Vollbildmodus aktiv."
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr "Stereo3D-Trennung"
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+"Die Stärke des 3D-Effektes. Experimentiere mit verschiedenen Werten, um die "
+"beste Einstellung zu finden."
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr "Video-Wiedergabe …"
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+"Erlaubt es Hintergrundvideos komplett zu deaktivieren. Es ist empfehlenswert "
+"dies Option aktiviert zu lassen - Performous wird das Video trotzdem flüssig "
+"ausblenden, wenn dein Computer nicht schnell genug ist."
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr "Webcam als Hintergrund"
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"Performous kann eine Webcam für Hintergrundvideos nutzen. Du kannst diese "
+"Option deaktivieren, falls Performous abstürzt, wenn du ein Lied startest."
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr "Webcam ID"
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+"Benutze -1 für Autoerkennung oder wähle eine Zahl für ein spezielles Geräte"
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "SVG Grafikqualität"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+"Bei Hohen Werten rendert Performous Vektorgraphiken in höherer Auflösung. "
+"Niedrigere Werte ermöglichen eine schnellere Navigation in den Menüs."
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "Textqualität"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+"Bei hohen Werten rendert Performous Texte in höherer Auflösung. Niedrigere "
+"Werte erhöhen die allgemeine Performance ein wenig."
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr "Benchmarkmodus"
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"Das Limit für die Bildwiederholrate wird aufgehoben und die maximal "
+"möglichen Werte in der Konsole ausgegeben. Bemerkung: Es ist möglich, dass "
+"der Grafiktreiber die Geschwindigkeit immer noch auf die Bildwiederholrate "
+"des Bildschirms beschränkt."
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr "Empfohlene Latenz"
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+"Die Audioengine nutzt diesen Wert für die gewünschte Latenz im Spiel. Diese "
+"Wert beeinflusst die Audiowiedergabequalität im Spiel. Bemerkung: So "
+"niedrig, wie möglich, so hoch wie nötig - Erfordert einen Neustart."
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr "Audio-/Videolatenz"
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+"Betrifft alle Modi. Verwende negative Werte, wenn dein Bildschirm-Eingabe-"
+"Lag größer ist als die Soundkarten-Ausgabe-Latenz, positive Werte im "
+"umgekehrten Fall und Null, falls sie gleich sind. Dies sollte so eingestellt "
+"sein, dass die Noten den Cursor in dem Moment passieren, wenn der Ton zu "
+"hören ist. Verwende Strg+F1/F2, um dies während deines Auftritts anzupassen."
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr "Gesangslatenz"
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+"Betrifft nur den Gesang. Er markiert die Zeit von der Wiedergabe an den "
+"Lautsprechern, zum Mikrofon und den gesamten Weg bis zur Aufnahme und "
+"Analyse durch Performous. Kann durch während des Spiels direkt durch das "
+"betätigen von Strg+S für den Synth-Modus und durch die Tasten Strg+F3/F4 "
+"reguliert werden."
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr "Audio/Controller Latenz"
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+"Betrifft nur Instrumente und Tanzpads. So einstellen, dass du die Noten gut "
+"nach Gehör spielen kannst. Es ist möglich, diesen Wert während des Spiels "
+"mit den Tasten Strg+F5/F6 zu regulieren."
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr "Wiedergabegeräte"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr "Liste von Audiogeräten, die ausprobiert werden sollen."
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "Menü Lautstärke"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr "Lautstärke in den Menüs, Lied-Previews und im Jukebox-Modus"
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "Musik Lautstärke"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+"Lautstärke im Spiel. Werte über 90 sind nicht zu empfehlen aufgrund von "
+"Verzerrungen und anderen Störungen."
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "Versager Lautstärke"
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+"Die Lautstärke der Musik im Falle des Verspielens. Werte über 90 werden "
+"nicht empfohlen aufgrund von Verzerrungen und anderen Störungen."
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr "Mikrofon-Durchleitung"
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr "Sende die aufgezeichnete Singstimme an die Lautsprecher."
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr "Durchleitungslautstärkenverhältnis"
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr "Wie stark die Stimmen im Vergleich zur Musik verstärkt werden."
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr "Center-Kanal unterdrücken"
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr "Unterdrückt die Mitte des Stereo-Signals (normalerweise Stimmen)."
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr "Liederordner"
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+"Dieser Ordner wird (rekursiv, d.h. mit allen Unterordnern) nach Liedern "
+"durchsucht. Die Verwendung von DATADIR bezeichnet hierbei den Datenordner "
+"von Performous."
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr "Ordner für Daten"
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+"Standardpfade werden automatisch eingefügt. Hier können Neue hinzugefügt "
+"werden."
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr "Sortierreihenfolge"
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "Aktiviert"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "Deaktiviert"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d Einträge"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "Anfänger"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "Leicht"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "Medium"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "Schwer"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "Herausforderung"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "Bereit?!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "Starte deinen Auftritt!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "Titel auswählen"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "Schwierigkeit auswählen"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "Beenden"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "Zurück zum Liedbrowser."
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "STOP!"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "Serie!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "Kinderleicht"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "Experte"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "Linkshänder"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "AN"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "AUS"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "Modus Linkshänder auswählen"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr "God Mode aktiviert"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "Fehler ignoriert!"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "God Mode bereit!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "Drummer Einsatz!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "Solo!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "Weiter machen"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "Zurück zu deinem Auftritt!"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "Wieder einsteigen"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "Auswahl ändern"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "Neustarten"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"Das Lied von\n"
+"Neuem beginnen"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "Lade Audiodaten..."
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "Erstelle Bildschirme..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "Betrete Hauptmenü"
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "Laden abgeschlossen"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "Screenshot gemacht!"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "Screenshot schlug fehl!"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"Es scheint als hättest du manuelle Einstellungen,\n"
+"die mit der Benutzeroberfläche inkompatibel sind.\n"
+"Falls du diese Einstellungen speicherst, werden alle\n"
+"existierenden Audio-Geräte-Einstellungen überschrieben.\n"
+"Deine anderen Änderungen werden auch gespeichert."
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "- Nicht zugeordnet -"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"Benutze Pfeiltasten zum Einstellen. Drücke Enter/Start zum speichern und "
+"testen oder Esc/Select zum Abbrechen. Ctrl + R, um auf Standard "
+"zurückzusetzen"
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"Für erweiterte Gerätekonfiguration, benutze den Kommandozeilenparameter --"
+"audio (benutze --audiohelp für Details)."
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "Einige Geräte konnten nicht geöffnet werden!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "Kann keine Wiedergabegeräte benutzen.\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Du musst zuerst die Ein- und Ausgabegeräte konfigurieren, bevor du spielst."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr "Einstellungen als Systemstandard gespeichert."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr "Einstellungen gespeichert."
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr ""
+"Drücke die Kombinationen Strg + S zum Speichern oder Strg + R um die "
+"Standardeinstellung wiederherzustellen"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "Spielen"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "Üben"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "Teste deine Fähigkeiten - oder das Mikro!"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "Konfigurieren"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "Ton- und Spieloptionen konfigurieren"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "Spiel verlassen"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "Keine Spieler gefunden!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Namen eingeben um neuen Spieler zu erstellen."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "Enter drücken um einen Spieler zu erstellen!"
+
+#: ../game/screen_players.cc:124
+msgid "No players worth mentioning!"
+msgstr "Keine erwähnenswerten Spieler gefunden!"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "Du hast %1% punkte erreicht!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Du kannst die Spieler mit den Pfeiltasten wechseln"
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Name:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Tippen um Spieler herauszufiltern oder einen Neuen zu erstellen."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "Suchtext:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "Initialisiere Webcam..."
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr "Fortsetzen"
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr "Auftritt fortsetzen"
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr "Lieder hinzufügen"
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr "Öffne den Liederbrowser, um mehr Lieder hinzuzufügen"
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr "Mischen"
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr "Einträge der Abspielliste zufällig anordnen"
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr "Leeren und beenden"
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr "Alle Lieder aus der Liste entfernen"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr "Zurück"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr "Zurück zur Abspiellisten-Ansicht"
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr "Drücke Enter, um Liedoptionen anzuzeigen"
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr "Mehr Optionen anzeigen"
+
+#: ../game/screen_playlist.cc:326
+msgid "View general playlist settings"
+msgstr "Allgemeine Abspiellisten-Einstellungen anzeigen"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr "Zuerst abspielen"
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr ""
+"Ignoriere die Reihenfolge der Abspielliste und spiele dieses Lied als erstes"
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr "Spiel das Lied endlich ab!"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr "Entfernen"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr "Entferne das Lied von der Abspielliste"
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr "Hochschieben"
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr "Schiebe dieses Lied auf der Liste nach oben"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr "Runterschieben"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr "Schiebe dieses Lied auf der Liste nach unten"
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "Lade Video..."
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "Lade Lied..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "Das Lied enthält fehlerhafte Tonspuren!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "Lade Menü..."
+
+#: ../game/screen_sing.cc:78
+msgid "Start"
+msgstr "Start"
+
+#: ../game/screen_sing.cc:78
+msgid "Start performing"
+msgstr "Starte deinen Auftritt"
+
+#: ../game/screen_sing.cc:82
+msgid "Duet mode"
+msgstr "Duettmodus"
+
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr "Normaler Modus"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr "Wechsele zwischen Duett und normalem Gesangmodus"
+
+#: ../game/screen_sing.cc:92
+msgid "Change vocal track"
+msgstr "Wähle Gesangspur"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr "Überspringen"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr "Aktuelles Lied überspringen"
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr "Drücke HOCH zum Tanzen!"
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr "Trete auf HOCH um teilzunehmen!"
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr "Drücke 1 für Gitarre!"
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr "Drücke GRÜN, um teilzunehmen!"
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr "Drücke LEER für Schlagzeug!"
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr "KICK um teilzunehmen!"
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "ENTER um Vorbereitung abzubrechen"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr "   Automatische Wiedergabe aktiviert"
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "Bitte Warte auf die Bewertung!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "Keine Spieler!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "Hitsänger"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "Leadsänger"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "Nachwuchskünstler"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "Amateur"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "Taub"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "Wahnsinniger"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "Profi-Tänzer"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "Verlierer"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "Virtuose"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "Rocker"
+
+#: ../game/screen_songs.cc:290
+msgid "Sorry, no songs match the search!"
+msgstr "Tut mir leid, keine Lieder entsprechen der Suche!"
+
+#: ../game/screen_songs.cc:293
+msgid "Sorry, no songs match the filter!"
+msgstr "Tut mir leid, keine Lieder entsprechen dem Filter!"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "Keine Lieder vorhanden!"
+
+#: ../game/screen_songs.cc:297
+msgid "Visit performous.org for free songs"
+msgstr "Besuche performous.org für freie Lieder"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr "<für Suche tippen>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr "Lieder"
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr "Optionen"
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr "Sortierreihenfolge:"
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr "Typfilter:"
+
+#: ../game/screen_songs.cc:319
+msgid "hiscores"
+msgstr "Highscores"
+
+#: ../game/screen_songs.cc:319
+msgid "jukebox mode"
+msgstr "Jukebox-Modus"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr "Eine Abspielliste mit diesem Lied anlegen!"
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr "Abspiellisten-Menü öffnen"
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr "Abspielen"
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr "Abspielliste anzeigen"
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr "Abspielliste leeren"
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "Gitarre"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "Coop Gitarre"
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "Rhythmusgitarre"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "Bass"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "Schlagzeug"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "Gesang"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "Harmonic 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "Harmonic 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "Harmonic 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr "Zusammen"
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr "Zeige alle Lieder"
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr "hat Tanz"
+
+#: ../game/songs.cc:198
+msgid "has vocals"
+msgstr "Hat Gesang"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr "Hat Duett"
+
+#: ../game/songs.cc:200
+msgid "has guitar"
+msgstr "hat Gitarre"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr "Schlagzeug oder Keytar"
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr "Komplette Band"
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "Zufällige Reihenfolge"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "nach Liedern sortiert"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "nach Interpreten sortiert"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "nach Edition sortiert"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "nach Genre sortiert"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "nach Dateipfad sortiert"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "nach Sprache sortiert"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr "Performous website"
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr "Datenbank anzeigen"
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr "Suchen & Hinzufügen"
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr "Sortieren nach"
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr "Performer"
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr "Titel"
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr "Sprache"
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr "Version"
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr "Schöpfer"
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr "Normal"
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr "Umgekehrt"
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr "Alle 10 Sekunden aktualisieren"
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr "Datenbank aktualisieren"
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr "Die nächste Songs"
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr "Abspielliste aktualisieren"
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+"Web-Interface von Niek Nooijens und Arjan Speiard, für volle Credits in "
+"Bezug auf Performous see /docs/Authors.txt"
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr "Suchen"
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr "Verfügbare Songs"
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr "Suche nach Liedern"
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr "Ja"
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr "Nein"
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "Dieses Werkzeug ist leider noch nicht verfügbar.\n"
+#~ "Du kannst Pfade konfigurieren, indem du sie als\n"
+#~ "Befehlszeilenparameter angibst und dann im\n"
+#~ "Konfigurationsmenü speicherst."
+
+#~ msgid "Press any key to exit."
+#~ msgstr "Drücke eine beliebige Taste zum Beenden."
+
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr ""
+#~ "Windows-Benutzer können auch das ConfigureSongDirectory.bat Script "
+#~ "benutzen."
+
+#, fuzzy
+#~ msgid "Back to song browser"
+#~ msgstr "Zurück zum Songbrowser."
+
+#~ msgid "No Items up to now."
+#~ msgstr "Hier steht noch nichts."
+
+#~ msgid "Be the first to be listed here!"
+#~ msgstr "Trag dich als Erster in diese Liste ein!"
+
+#~ msgid "Song is broken!"
+#~ msgstr "Der Song ist fehlerhaft!"
+
+#, fuzzy
+#~ msgid "Loading instruments..."
+#~ msgstr "Lade Song ..."
+
+#, fuzzy
+#~ msgid "Loading graphics..."
+#~ msgstr "Lade Song ..."
+
+#, fuzzy
+#~ msgid "Random background..."
+#~ msgstr "Webcam als Hintergrund"
+
+#~ msgid "(press END to view hiscores)"
+#~ msgstr "(ENDE drücken um Highscores anzuzeigen)"
+
+#, fuzzy
+#~ msgid "Graphics"
+#~ msgstr "Grafik"
+
+#~ msgid "Gameplay settings."
+#~ msgstr "Spieleinstellungen"
+
+#~ msgid "Video and rendering settings."
+#~ msgstr "Video- und Rendereinstellungen"
+
+#~ msgid "Audio-related settings."
+#~ msgstr "Audioeinstellungen"
+
+#~ msgid "System paths."
+#~ msgstr "Systempfad"
+
+#~ msgid ""
+#~ "Part of sound card name or its number or empty to use the first available "
+#~ "device. Used currently for MIDI drum controllers."
+#~ msgstr ""
+#~ "Teil der Bezeichnung der Soundkarte oder die Nummer oder Freilassen für "
+#~ "das erste verfügbare Gerät. Momentan für MIDI Schlagzeug genutzt."
+
+#~ msgid "3D notes"
+#~ msgstr "3D Noten"
+
+#~ msgid ""
+#~ "Draw instrument notes as 3-dimensional objects. May hurt performance on "
+#~ "older hardware."
+#~ msgstr ""
+#~ "Zeichnet die Noten der Instrumente als dreidimensionale Objekte. "
+#~ "Deaktivieren kann auf älterer Hardware die Performance verbessern."
+
+#, fuzzy
+#~ msgid "Loading theme..."
+#~ msgstr "Lade Song ..."
+
+#, fuzzy
+#~ msgid "Loading background..."
+#~ msgstr "Lade Song ..."
+
+#, fuzzy
+#~ msgid "Loading user interface..."
+#~ msgstr "Lade Song ..."
+
+#, fuzzy
+#~ msgid "Audio..."
+#~ msgstr "Audio"
+
+#, fuzzy
+#~ msgid "Press Enter to configure (TODO: implement)"
+#~ msgstr "Bestätige Enter, um dies zu Konfigurieren"
+
+#~ msgid "Miscellaneous..."
+#~ msgstr "Sonstiges …"
+
+#~ msgid "System"
+#~ msgstr "System"
diff --git a/lang/es.po b/lang/es.po
new file mode 100644 (file)
index 0000000..2817c5d
--- /dev/null
@@ -0,0 +1,1547 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:34+0200\n"
+"PO-Revision-Date: 2017-08-30 22:34+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: \n"
+"Language: es_ES\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "Juego"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "Opciones de juego"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "Gráficos"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Configurar las opciones de vídeo y gráficos"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "Dispositivos de Audio"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "Configurar los micrófonos y la reproducción"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "Sonido"
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr "Configuración general de sonido"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "Directorios"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "Configurar los directorios de datos y canciones"
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr "Modo karaoke"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "Oculta el sonido captado, las notas y la puntuación."
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr "Estilo para resaltar letras"
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr "Comienzo automático"
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr "Seguir reproduciendo canciones al azar una vez acabada la playlist."
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "Sonido captado"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr ""
+"Muestra el tono correspondiente al sonido captado por el micrófono (fuera "
+"del modo karaoke)."
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "Tema"
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr "Nombre (o ruta absoluta) del tema a usar."
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr "Tiempo entre canciones"
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+"El tiempo que pasará antes que Performous inicie la siguiente canción en "
+"forma automática."
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr "Acceso a la interfaz web"
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+"Define si quieres permitir controlar Performous remotamente con una interfaz "
+"web (requiere reiniciar)."
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr "Puerto del servidor"
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+"Puerto para la interfaz web. Elige uno que no esté en uso por otras "
+"aplicaciones."
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr "Teclado como guitarra"
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr "Habilita el teclado como guitarra (Modo Frets on Fire)."
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr "Teclado como batería"
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr "Habilita el teclado como batería."
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr "Teclado como pad de baile"
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr "Habilita el teclado como alfombrilla de baile."
+
+#: ../data/config/schema.xml:106
+msgid "Keyboard as keytar"
+msgstr "Teclado como keytar"
+
+#: ../data/config/schema.xml:107
+msgid "Enable keyboard as keytar."
+msgstr "Habilita el teclado como keytar."
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr "Forzar tipo para el control A"
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+"Ignorar autodetección y tratar el primer control como el tipo escogido."
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr "Forzar tipo para el control B"
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+"Ignorar autodetección y tratar el segundo control como el tipo escogido."
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr "Forzar tipo para el control C"
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+"Ignorar autodetección y tratar el tercer control como el tipo escogido."
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr "Forzar tipo para el control D"
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+"Ignorar autodetección y tratar el cuarto control como el tipo escogido."
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr "Configuración del Joystick"
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr "Fuerza el joystick a algún tipo de instrumento."
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr "Dispositivo de entrada MIDI"
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+"Regex para filtrar dispositivos MIDI. Por defecto se usan todos los "
+"dispositivos disponibles."
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr "Codificación de caracteres"
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr "Selecciona la codificación para canciones que no sean UTF-8."
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr "Ancho de ventana"
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr "Ancho en modo ventana."
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr "Altura de ventana"
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr "Altura en modo ventana."
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr "Modo pantalla completa"
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr "Habilita el modo pantalla completa al iniciar la aplicación."
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr "3D Estereoscópico"
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr "Habilitar renderizado 3D de Performous."
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr "Tipo de 3D Estereoscópico"
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr "Algunos modos pueden usarse solo en modo pantalla completa."
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr "Distancia interaxial"
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+"Intensidad del efecto. Prueba diferentes valores para encontrar el mejor "
+"resultado."
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr "Reproducción de vídeo de fondo"
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+"Permite desactivar la reproducción de videos de fondo. Se recomienda dejarla "
+"activada\n"
+" ya que Performous lo hará automáticamente si el computador no es lo "
+"suficientemente rápido."
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr "Cámara web como fondo"
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"Performous puede usar la webcam como vídeo de fondo. Deshabilita esta opción "
+"si se cuelga al comenzar una canción."
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr "ID de la cámara web"
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+"Usa -1 para detectar automáticamente o un número mayor o igual que 0 para "
+"escoger un dispositivo en particular."
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "Calidad de SVG"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+"A mayor valor, mayor resolución de gráficos vectoriales. Disminúyelo si "
+"navegar por los menús es demasiado lento."
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "Calidad del texto"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+"A mayor valor, mayor resolución del texto. Valores más bajos hacen que todo "
+"sea un poco más rápido."
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr "Modo prueba de rendimiento"
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"Elimina el límite de 100 cuadros por segundo (FPS) y el juego se ejecuta a "
+"la máxima velocidad.\n"
+" Los valores de FPS son impresos en la consola. Nótese que los controladores "
+"de la tarjeta gráfica\n"
+" podrían de todos modos limitar la velocidad a la tasa de refresco de la "
+"pantalla."
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr "Latencia sugerida"
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+"Es un tip para el sistema de sonido sobre la latencia deseada. Utiliza el "
+"valor más bajo posible que\n"
+" no resulte en sonido distorcionado. Requiere reiniciar la aplicación."
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr "Latencia audio/vídeo"
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+"Afecta a todos los modos. Deber ser 0 si latencias de la pantalla y salida "
+"de sonido son iguales,\n"
+"negativo si la de la pantalla es mayor, positivo en caso contrario. Las "
+"notas deben pasar el cursor\n"
+"al mismo tiempo que se escucha el sonido. Puedes ajustar estos valores "
+"mientras juegas con las teclas Ctrl+F1/F2."
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr "Latencia de ida y vuelta"
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+"Afecta sólo al cantar. Es el tiempo que le lleva a Performous reproducir el "
+"sonido a través de tus altavoces, viajar hasta el micrófono y de vuelta otra "
+"vez para que Performous lo capture y analice.\n"
+"Mientras juegas, presiona Ctrl+S para activar el modo sintetizador, y a "
+"continuación ajústalo con Ctrl+F3/F4."
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr "Latencia audio/controlador"
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+"Afecta sólo a los instrumentos y al baile. La latencia total de los USB "
+"(guitarras o alfombrillas de baile) combinada con la latencia de salida del "
+"sonido. Ajústala de forma que aciertes el mayor número de notas\n"
+"cuando juegas sólo escuchando (sin mirar a la pantalla). Utiliza Ctrl+F5/F6 "
+"durante el juego para ajustar estos valores."
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr "Dispositivos de audio"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr "Lista de dispositivos para probar."
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "Volumen del menú"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr ""
+"Volumen del menú del juego, la vista previa de las canciones y el modo "
+"tocadiscos (jukebox)."
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "Volumen de la música"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+"Volumen de la música durante el juego. Valores por encima de 90 no son "
+"recomendables ya que pueden distorcionar el sonido."
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "Volumen de fallo"
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+"Volumen de los sonidos de error. No se recomiendan valores sobre 90, ya que "
+"pueden causar distorción.\n"
+"11 es más que 10, pero estos llegan a 100. eso es 89 más fuerte!"
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr "Amplificar el micrófono"
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr "Envía el sonido capturado por el micrófono a los parlantes."
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr "Razón de volumen del micrófono"
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr "Cuánto es amplificada la voz en comparación a la música."
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr "Suprimir canal central"
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr "Suprimir canal central de la mezcla Estéreo (usualmente la voz)."
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr "Carpetas de canciones"
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+"Dónde buscar canciones de forma recursiva (con subcarpetas). DATADIR al "
+"comienzo significa todas las carpetas de datos de Performous."
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr "Carpetas de datos"
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+"Las predefinidas por el sistema son incluidas de forma automática. Cualquier "
+"otra puede ser añadida aquí."
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr "Ordenar por"
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "Habilitado"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "Deshabilitado"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d elementos"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "Principiante"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "Fácil"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "Media"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "Difícil"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "Desafío"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "¡Listo!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "¡Comienza!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "Selecciona la canción"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "Selecciona la dificultad"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "Salir"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr ""
+"Salir al menú de\n"
+"selección de canciones"
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "¡PARA!"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "¡Racha!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "Niños"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "Experto"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "Modo para zurdos"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "ACTIVADO"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "DESACTIVADO"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr ""
+"Activar/desactivar\n"
+"el modo para zurdos"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"¡Modo Dios\n"
+"Activado!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "¡Ignorando los errores!"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "¡Modo Dios Disponible!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "¡Batería!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "¡Solo!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "Continuar"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "¡De vuelta al juego!"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "Reincorporarse"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "Cambiar las selecciones"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "Reiniciar"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"Empezar de nuevo\n"
+"la canción"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "Cargando muestras de audio..."
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "Generando pantallas..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "Entrando en el menú principal"
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "Carga completada"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "¡Captura de pantalla exitosa!"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "¡Captura de pantalla fallida!"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"Parece que tienes alguna configuración manual incompatible con esta interfaz "
+"de usuario.\n"
+"Guardando estas opciones sobreescribirás cualquier configuración existente "
+"de dispositivos\n"
+"de audio. Tus otros cambios en la configuración también se guardarán."
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "- Sin asignar -"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"Usa las flechas para cambiar la configuración. Presiona Enter/Start para "
+"guardar, y Test o Esc/Select para cancelar.\n"
+"Ctrl+R para restablecer la configuración"
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"Para configuración avanzada de dispositivos, utilizar el parámetro de "
+"comando --audio (utilizar --audiohelp para más detalles)."
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "Algunos dispositivos no se pudieron abrir!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr ""
+"No se pudo usar ningún dispositivo\n"
+"de reproducción de audio.\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Por favor configura alguno antes de jugar."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr "Configuración guardada como predeterminada."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr "Configuración guardada."
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Ctrl + S para guardar, Ctrl + R para restablecer valores"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "Jugar"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "Practicar"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "Comprueba tus habilidades o prueba los micrófonos"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "Opciones"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "Configurar las opciones de audio y de juego"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "Sal del juego"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+"Interfaz web activada!\n"
+"usa un navegador\n"
+"y navega a localhost:"
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+"Interfaz web activada!\n"
+"conéctate a este computador\n"
+"usando "
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "¡No se han encontrado jugadores!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Introduce un nombre para crear un nuevo jugador."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "Presiona “Enter\" para crear un nuevo jugador!"
+
+#: ../game/screen_players.cc:124
+msgid "No players worth mentioning!"
+msgstr "¡Ningún jugador destacable!"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "¡Has conseguido %1% puntos!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Usas las fechas para cambiar de jugador."
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Nombre:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Introduce texto para buscar o crear un nuevo jugador."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "Buscar texto:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "Inicializando la webcam…"
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr "Cargando tiempos de la canción…"
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr "Continuar"
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr "Continuar reproduciendo"
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr "Agregar canciones"
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr "Abrir el buscador de canciones para agregar más canciones"
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr "Aleatorio"
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr "Aleatorizar el orden de la playlist"
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr "Limpiar y salir"
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr "Borrar todas las canciones de la lista"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr "Atrás"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr "Volver al visor de playlist"
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr "Presiona ENTER para ver opciones de la canción"
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr "Ver más opciones"
+
+#: ../game/screen_playlist.cc:326
+msgid "View general playlist settings"
+msgstr "Ver configuración general de playlist"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr "Reproducir ahora"
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr "Ignorar el orden de la playlist y reproducir ahora esta canción"
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr "¡Iniciar la canción ya!"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr "Borrar"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr "Borrar esta canción de la lista"
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr "Subir"
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr "Subir esta canción en la lista"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr "Bajar"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr "Bajar esta canción en la lista"
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "Cargando video..."
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "Cargando canción..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "¡La canción contiene pistas defectuosas!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "Cargando el menú..."
+
+#: ../game/screen_sing.cc:78
+msgid "Start"
+msgstr "Comenzar"
+
+#: ../game/screen_sing.cc:78
+msgid "Start performing"
+msgstr "Comenzar"
+
+#: ../game/screen_sing.cc:82
+msgid "Duet mode"
+msgstr "Dueto"
+
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr "Modo normal"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr "Cambiar entre modos normal y dueto"
+
+#: ../game/screen_sing.cc:92
+msgid "Change vocal track"
+msgstr "Cambiar la pista de voz"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr "Saltar"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr "Saltar la canción actual"
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr "¡Presiona ARRIBA para bailar!"
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr "¡Pisa ARRIBA para unirte!"
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr "¡Presiona 1 para unirte en guitarra!"
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr "¡Presiona VERDE para unirte!"
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr "¡Presiona ESPACIO para unirte en batería!"
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr "¡Da con el pie para unirte!"
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "   ENTER para saltar la parte instrumental"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr "   Comenzar automáticamente"
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   Recuerda esperar para ser evaluado!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "¡No se han encontrado jugadores!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "Superestrella"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "Vocalista"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "Aficionado"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "Novato"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "Sordo"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "Maníaco"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "Artista"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "Perdedor"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "Virtuoso"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "Rockero"
+
+#: ../game/screen_songs.cc:290
+msgid "Sorry, no songs match the search!"
+msgstr "¡Sin canciones que satisfagan la búsqueda!"
+
+#: ../game/screen_songs.cc:293
+msgid "Sorry, no songs match the filter!"
+msgstr "¡Sin canciones que satisfagan la búsqueda!"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "¡No se encontraron canciones!"
+
+#: ../game/screen_songs.cc:297
+msgid "Visit performous.org for free songs"
+msgstr ""
+"Visita https://performous.asgardsings.nl/ para descargar canciones gratuitas"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr "<escribe para buscar>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr "canciones"
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr "opciones"
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr "ordenar por: "
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr "tipo de canción: "
+
+#: ../game/screen_songs.cc:319
+msgid "hiscores"
+msgstr "puntajes"
+
+#: ../game/screen_songs.cc:319
+msgid "jukebox mode"
+msgstr "modo tocadiscos"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr "¡comenzar una playlist con esta canción!"
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr "abrir el menú de playlist"
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr "Reproducir"
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr "Ver playlist"
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr "Limpiar playlist"
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "Guitarra"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "Guitarra cooperativo"
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "Guitarra rítmica"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "Bajo"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "Batería"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "Voz"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "Armónico 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "Armónico 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "Armónico 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr "Juntos"
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr "mostrar todas las canciones"
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr "tiene baile"
+
+#: ../game/songs.cc:198
+msgid "has vocals"
+msgstr "tiene voz"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr "tiene dúo"
+
+#: ../game/songs.cc:200
+msgid "has guitar"
+msgstr "tiene guitarra"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr "batería o keytar"
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr "banda completa"
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "aleatorio"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "ordenadas por canción"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "ordenadas por artista"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "ordenadas por edición"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "ordenadas por género"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "ordenadas por directorio"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "ordenadas por idioma"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr "Interfaz web de Performous"
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr "Ver canciones"
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr "Buscar y agregar"
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr "Ordenar por"
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr "Artista"
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr "Título"
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr "Idioma"
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr "Edición"
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr "Creador"
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr "Modo normal"
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr "Invertir"
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr "Actualizar cada 10 segundos"
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr "Actualizar base de datos"
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr "Próximas canciones"
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr "Actualizar playlist"
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+"Interfaz web por Niek Nooijens y Arjan Speiard, para ver el resto del "
+"equipo, revisa /docs/Authors.txt"
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr "Buscar"
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr "Canciones disponibles"
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr "Buscar canciones"
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr "Si"
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr "No"
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "Esta herramienta aún no se encuentra disponible.\n"
+#~ "Configura los directorios añadiéndolos\n"
+#~ "como parámetros en la línea de comandos y\n"
+#~ "guárdalos en el menú de configuración."
+
+#~ msgid "Press any key to exit."
+#~ msgstr "Presiona cualquier tecla para salir."
+
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr ""
+#~ "Los usuarios de Windows también pueden utilizar \"ConfigureSongDirectory."
+#~ "bat\" dentro de la carpeta \"bin\"."
+
+#~ msgid "<type in to search>   ↔ songs    ↕ options"
+#~ msgstr "<escribe para buscar>   ↔ canciones    ↕ opciones"
+
+#~ msgid "↔ hiscores   ↵ jukebox mode"
+#~ msgstr "↔ mejores puntuaciones   ↵ modo \"jukebox\""
+
+#~ msgid "Start the game with all songs in playlist"
+#~ msgstr ""
+#~ "Comenzar el juego con todas las canciones en la lista de reproducción"
+
+#~ msgid "View the current playlist"
+#~ msgstr "Ver lista de reproducción actual"
+
+#~ msgid "Back to song browser"
+#~ msgstr "De vuelta al buscador de canciones"
+
+#~ msgid "No Items up to now."
+#~ msgstr "No hay mejores puntuaciones guardadas."
+
+#~ msgid "Be the first to be listed here!"
+#~ msgstr "¡Sé el primero en aparecer aquí!"
+
+#~ msgid "Song is broken!"
+#~ msgstr "¡Canción defectuosa!"
+
+#~ msgid "Loading instruments..."
+#~ msgstr "Cargando los instrumentos..."
+
+#~ msgid "Finalizing..."
+#~ msgstr "Finalizando..."
+
+#, fuzzy
+#~ msgid "Loading graphics..."
+#~ msgstr "Cargando canción..."
+
+#~ msgid "Random background..."
+#~ msgstr "Fondo aleatorio..."
+
+#~ msgid "(press END to view hiscores)"
+#~ msgstr "(presiona FIN para ver las mejores puntuaciones)"
+
+#~ msgid "Graphics"
+#~ msgstr "Gráficos"
+
+#~ msgid "Gameplay settings."
+#~ msgstr "Opciones del juego."
+
+#~ msgid "Video and rendering settings."
+#~ msgstr "Opciones de vídeo y reproducción."
+
+#~ msgid "Audio-related settings."
+#~ msgstr "Opciones de audio."
+
+#~ msgid "System paths."
+#~ msgstr "Directorios del sistema."
+
+#~ msgid ""
+#~ "Part of sound card name or its number or empty to use the first available "
+#~ "device. Used currently for MIDI drum controllers."
+#~ msgstr ""
+#~ "Parte del nombre de la tarjeta de sonido, o su número, o vacío para "
+#~ "utilizar el primer dispositivo disponible. Actualmente se usa para los "
+#~ "controladores de batería MIDI."
+
+#~ msgid "3D notes"
+#~ msgstr "Notas 3D"
+
+#~ msgid ""
+#~ "Draw instrument notes as 3-dimensional objects. May hurt performance on "
+#~ "older hardware."
+#~ msgstr ""
+#~ "Dibujar las notas de los instrumentos como objetos tridimensionales. "
+#~ "Puede perjudicar el rendimiento en máquinas antiguas."
+
+#~ msgid "Loading theme..."
+#~ msgstr "Cargando el tema..."
+
+#~ msgid "Loading background..."
+#~ msgstr "Cargando el fondo..."
+
+#~ msgid "Loading user interface..."
+#~ msgstr "Cargando la interfaz de usuario..."
+
+#~ msgid "Miscellaneous..."
+#~ msgstr "Varios..."
diff --git a/lang/fa.po b/lang/fa.po
new file mode 100644 (file)
index 0000000..91862c5
--- /dev/null
@@ -0,0 +1,1435 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:34+0200\n"
+"PO-Revision-Date: 2017-08-30 22:34+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: Sajjad Gerami <sajjad.gerami@gmail.com>\n"
+"Language: fa_IR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "بازی"
+
+# ترجمه جایگزین برای گیم پلی چیست؟
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "تنظیمات مریوط به گیم پلی"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "گرافیک (نگاره)"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "پیکربندی رندر کردن و تنظیمات تصویر"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "دستگاه های صوتی"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "راه اندازی میکروفن(دهنی) و بازبخش"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "صوت"
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr "پیکربندی کلی تنظیمات صوتی"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "مسیر"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "راه اندازی آهنگ و مسیرهای داده"
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr "حالت همخوانی"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "مخفی کردن دانگ صدا نت ها و امتیازها"
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr ""
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr ""
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr ""
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "دانگ‌ اصوات"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr "فعال کردن نمایش زیر و بمی صدا (زمانی که در حالت همخوانی نیستید)"
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "پوسته"
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr "نام پوسته یا مسیر پوشه ی پوسته ها"
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr "صفحه کلید به جای گیتار"
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr "فعال کردن صفحه کلید بجای گیتار(حالت Frets on Fire)"
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr "صفحه کلید بجای درام"
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr "فعال کردن صفحه کلید بجای درام"
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr "صفحه کلید بجای تخته رقص"
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr "فعال کردن صفحه کلید بجای تخته رقص."
+
+#: ../data/config/schema.xml:106
+msgid "Keyboard as keytar"
+msgstr "صفحه کلید بجای کیتار."
+
+#: ../data/config/schema.xml:107
+msgid "Enable keyboard as keytar."
+msgstr "فعال کردن صفحه کلید بجای کیتار."
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr "مدل A دسته را اعمال کن"
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr "شناسایی خودکار را با اولین نوع دسته داده شده جایگزین کن"
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr "مدل B دسته را اعمال کن"
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr "شناسایی خودکار را با دومین نوع دسته داده شده جایگزین کن"
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr "مدل C دسته را اعمال کن"
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr "شناسایی خودکار را با سومین نوع دسته داده شده جایگزین کن"
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr "مدل D دسته را اعمال کن"
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr "شناسایی خودکار را با چهارمین نوع دسته داده شده جایگزین کن"
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr "پیکربندی دسته فرمان"
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr "اجبار کردن دسته فرمان برای ساز"
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr "دستگاه سخت افزار ورودی MIDI"
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr "الگوی تطابق دستگاه های MIDI. پیش فرض استفاده از همه دستگاه هاست."
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr "رمزگزاری آهنگ جایگزین"
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr "برای آهنگ هایی که UTF-8 نیستند رمزگشای متن را استفاده کن."
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr "عرض صفحه"
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr "عرض صفحه"
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr "ارتفاع صفحه"
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr "ارتفاع صفحه"
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr "حالت تمام صفحه"
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr "فعال کردن حالت تمام صفحه هنگام شروع"
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr "برجسته بین سه بعدی"
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr "فعال کردن حالت سه یعدی پرفورمیوس"
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr "حالت سه بعدی"
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr "بعضی از حالات فقط در حالت تمام صفحه فعال می شوند"
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr "تفکیک سه بعدی"
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr "قدرت اثر. برای نتیجه بهتر با یک تنظیم دیگر امتحان کنید."
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr "پخش تصویر"
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+"اجازه دادن برای غیر فعال کردن کامل پس ضمینه ی تصویری. توصیه می شود این گزینه "
+"را در حالت فعال قرار دهید چون که اگر رایانه شما به اندازه کافی سریع نباشد "
+"پرفورمیوس تصویر را به نرمی محو می کند."
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr "تصویر زمینه دوربین..."
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"پرفورمیوس میتواند از دوربین به عنوان تصویر پس ضمینه استفاده کند. اگر "
+"پرفورمیوس موقع ورود به یک آهنگ متوقف شد این گزینه را غیر فعال کنید."
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr "شماره دوربین"
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+"برای شناسایی خودکار -۱ و یا یک عدد که با ۰ شروع می شود را برای انتخاب دستگاه "
+"خاص وارد کنید."
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "کیفیت SVG"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+"مقادیر بزرگ باعث می شود که بردارهای گرافیکی با کیفیت بالا نقش شوند. کاهش "
+"مقادیر باعث سرعت منو می شود."
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "کیفیت متن"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+"مقادیر بزرگ باعث می شود که متون با کیفیت بالا نقش شوند. کاهش مقادیر باعث "
+"سرعت اندکی در همه چیز می شود."
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr "حالت محک"
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"حد نرخ عبور تصویر(FPS) برابر ۱۰۰ حذف گردید و بازی با سرعت بالا نگاره می شود. "
+"مقادیر FPS در کنسول چاپ می شود. لطفا توجه داشته باشید که درایور صفحه نمایش "
+"هنوز هم ممکن است سرعت نگاره را با سرعت جاروب صفحه نمایش محدود کند."
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr "زمان تاخیر پیشنهادی"
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+"این یک تذکر برای متور صدا درمورد تاخیر خواسته شده است. اگر کیفیت صدای پایین "
+"دارید این مقدار را پایین بیاورید. نیاز به شروع مجدد دارد."
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr "تاخیر صدا و تصویر"
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+"روی همه ی حالت ها تاثر دارد. اگر تاخیر در ورودی نمایش بزرگتر از تاخیر کارت "
+"صداست از مقادیر منفی استفاده کنید در حالت برعکس از مقادیر مثبت و صفر اگر "
+"باهم برابر است. این مقدار باید تنظیم شود تا نت همان زمانی که صدایش شنیده می "
+"شود از خط عبور کند. از کلید Ctrl+F1/F2 در حال اجرا برای تنظیم استفاده کنید."
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr "تاخیر در رفت و آمد صدا"
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+"فقط روی خواندن تاثیر میگذارد. زمانی که طول می کشد که پخش پرفورمیوس به "
+"بلندگوی شما برسد از میکروفن عبور کند و پرفورمیوس آن را دریافت کند و تجزیه و "
+"تحلیل کند. در زمان اجرا Ctrl+S بزنید تا به حالت تنظیم بروید و با Ctrl+F3/F4 "
+"تنظیم کنید."
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr "تاخیر در صدا و کنترلر"
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+"فقط روی ساز و رقص تاثیر دارد. کل تاخیر یو اس بی (گیتار و تخته رقص) به همراه "
+"تاخیر خروجی صدا. تنظیم کنید تا بتوانید در بهترین حالت زمانی که نت را می "
+"شنوید بزنید (نه زمانی که نت را روی صفحه می بینید). از کلید Ctrl+F5/F6 برای "
+"تنظیم حین اجرا استفاده کنید."
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr "دستگاه های صوتی"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr "فهرستی از دستگاه های صدا برای آزمایش کردن."
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "میزان صدای منو"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr "میزان صدای منوها پیش نمایش آهنگ ها و حالت جعبه موزیک"
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "میزان صدای آهنگ"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+"میزان صدای آهنگ داخل بازی. مقادیر بالاتر از ۹۰ توصیه نمی شوند چون ممکن است "
+"باعث اغتشاش صوتی گردند."
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "میزان صدای خراب کردن آهنگ"
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+"میزان صدای خراب کردن آهنگ داخل بازی. مقادیر بالاتر از ۹۰ توصیه نمی شوند چون "
+"ممکن است باعث اغتشاش صوتی گردند. 11 بلندتر از 9 است اما تا ۱۰۰ می رود. 89 "
+"بلندترین"
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr "صدای میانی میکروفن"
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr "ارسال صدای خواننده به بلندگو"
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr "میزان حجم صدای میانی"
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr "چقدر صدا در مقایسه با موسیقی بلند شده."
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr ""
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr ""
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr "پوشه آهنگ ها"
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+"جایی که به صورت بازگشتی به دنبال آهنگ میگردد. DATADIR در آغاز به معنی تمامی "
+"پوشه های پرفورمیوس است."
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr "پوشه اصلی اطلاعات"
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+"پیش فرض های سیستم بصورت خودکار اضافه شده اند. مسیر های اضافی را اینجا وارد "
+"کنید."
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr ""
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "فعال شد"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "غیر فعال شد"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "مورد %d"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "تازه کار"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "آسان"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "متوسط"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "دشوار"
+
+# مسابقه
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "رقابت"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "آماده!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "اجرا رو شروع کن!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "انتخاب قطعه"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "انتخاب میزان سختی"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "خروج"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "خروج به مرورگر آهنگ"
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "توقف!"
+
+# نوار باریک
+# خط
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "ماشاالله!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "بچه ها"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "حرفه ای"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "چپ دست"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "روشن"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "خاموش"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "تعویض به چپ دست"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"حالت فوق العده\n"
+"فعال شد!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "از اشتباهات صرف نظر شد!"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "حالت فوق العاده آماده است!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "درام پر است!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "تک نوازی!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "ادامه دادن"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "بازگشت به اجرا"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "پیوستن مجدد"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "تغییر انتخاب ها"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "شروع مجدد"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"آهنگ رو از ابتدا\n"
+"شروع کن"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "در حال بارگزاری آهنگ ..."
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "در حال ایجاد صفحات ..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "ورود به منو اصلی"
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "بارگزاری کامل شد"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "عکس صفحه گرفته شد!"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "گرفتن عکس صفحه با شکست مواجه شد!"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"به نظر میرسد که شما کمی تنظیمات دستی دارید\n"
+"که با این رابط کاربری مطابقت ندارد\n"
+"ذخیره کردن این تنظیمات باعث پاک شدن تمام\n"
+"تنظیمات مربوط به دستگاه ها می شود\n"
+"تغییرات دیگر شما در تنظیمات نیز ذخیره می شود."
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "-تخصیص نیافته-"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"از کلیدهای جهت نما جهت پیکربندی استفاده کنید. برای ذخیره Enter/Start و برای "
+"لغو test یا Esc/Select بزنید. Ctrl + R برای بازگشت به حالت اولیه"
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"برای پیکربندی پیشرفته دستگاه از پارامتر audio-- خط فرمان استفاده کنید (برای "
+"اطلاعات بیشتر از audiohelp-- استفاده کنید)."
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "باز کردن بعضی از دستگاه ها با مشکل مواجه شد!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "از هیچ دستگاهی با قابلیت پخش نمی توان استفاده کرد. \n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"لطفا قبل از بازی پیکربندی کنید."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr "تنظیمان به عنوان پیش فرض سیستم ذخیره شد."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr "تنظیمات ذخیره شد."
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "برای ذخیره Ctrl + S و برای تنظیمات اولیه Ctrl + R"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "اجرا"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "تمرین"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "مهارتتان را بررسی و یا میکروفن را تست کنید"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "پیکربندی"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "پیکربندی صوت و تنظیمات بازی"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "ترک کردن بازی"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "هیچ بازیکنی یافت نشد."
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "برای ایجاد بازیکن جدید نامی را وارد کنید."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "برای ساختن بازیکن Enter را بزنید!"
+
+#: ../game/screen_players.cc:124
+msgid "No players worth mentioning!"
+msgstr "هیچ بازیکنی یافت نشد."
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "به امتیاز %1% رسیدی!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "با کلید های جهت نما  بازیکن را تغییر دهید."
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "اسم:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "برای فیلتر کردن یا ایجاد بازیکن جدید‍‍‍‍ متنی را وارد کنید."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "متن جستجو:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "در حال راه اندازی دوربین..."
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr "ادامه"
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr "ادامه اجرا"
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr "اضافه کردن آهنگ"
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr "برای اضافه کردن آهنگ جدید، پویشگر آهنگ را باز کن"
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr "مخلوط کردن"
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr "ترتیب لیست اجرا را بهم بزن"
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr "پاک کردن و خروج"
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr "همه آهنگ ها را از لیست حذف کن"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr "بازگشت"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr "بازگشت به لیست نمایش آهنگ ها"
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr "برای دیدن تنظیمات enter بزن"
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr "تنظیمات بیشتر را ببین"
+
+#: ../game/screen_playlist.cc:326
+msgid "View general playlist settings"
+msgstr "نمایش تنظیمات کلی"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr "اول اجرا کن"
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr "اولویت لیست پخشو بی خیال و این آهنگ رو اول اجرا کن"
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr "همین الان آهنگ رو اجرا کن"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr "حذف"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr "حذف این آهنگ رو از لیست"
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358
+#, fuzzy
+msgid "Move this song up the list"
+msgstr "حذف این آهنگ رو از لیست"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+#, fuzzy
+msgid "Move this song down the list"
+msgstr "حذف این آهنگ رو از لیست"
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "در حال بارگیری تصویر"
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "در حال بارگذاری آهنگ..."
+
+# آهنگ شامل موردهای خراب است
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "قسمتی از آهنگ خراب است!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "در حال بارگیری فهرست..."
+
+#: ../game/screen_sing.cc:78
+msgid "Start"
+msgstr "شروع"
+
+#: ../game/screen_sing.cc:78
+msgid "Start performing"
+msgstr "شروع اجرا "
+
+#: ../game/screen_sing.cc:82
+msgid "Duet mode"
+msgstr "دونوازی"
+
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr "حالت عادی"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr "تغییر بین دونوازی و تک نوازی"
+
+#: ../game/screen_sing.cc:92
+msgid "Change vocal track"
+msgstr "تغییر شیار صوتی"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr "پرش"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr "برش از روی آهنگ فعلی"
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr "واسه رقص بالا را بزن"
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr "برای ملحق شدن بالا رو بزن"
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr "برای اضافه کردن گیتار ۱ رو بزن"
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr "برای ملحق شدن سبز رو بزن"
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr "برای اضافه کردن تمبک space بزن"
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr "برای اضافه شدن ضربه بزن"
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "برای پخش نشدن صدای خراب کردن ساز کلید Enter بزنید"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr ""
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "  فراموش نکنید که برای درجه بندی صبر کنید!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "هیچ بازیکنی!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "انتخاب خواننده"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "خواننده را بارگیری کن"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "افزایش ستاره"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "مبتدی"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "کر"
+
+# ديوانه‌
+# مجنون
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "ديوانه‌ وار"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "رقاص‌ حرفه‌ اي‌"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "بازنده‌"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "هنرشناس‌"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "گیتاریست"
+
+#: ../game/screen_songs.cc:290
+msgid "Sorry, no songs match the search!"
+msgstr "هیچ آهنگی با واژه جستجو شده مطابقت ندارد!"
+
+#: ../game/screen_songs.cc:293
+msgid "Sorry, no songs match the filter!"
+msgstr "ببخشید، هیچ آهنگی با واژه جستجو شده مطابقت ندارد!"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "هیچ آهنگی یافت نشد!"
+
+#: ../game/screen_songs.cc:297
+msgid "Visit performous.org for free songs"
+msgstr "برای دریافت موسیقی رایگان به سایت www.performous.org مراجعه کنید."
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr "<تایپ کن تا بگردم>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr "آهنگ ها"
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr "تنظیمات"
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr "مرتب سازی اولویت"
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr "فیلتر رو تایپ کن:"
+
+# \n
+#: ../game/screen_songs.cc:319
+msgid "hiscores"
+msgstr "برترین امتیازات"
+
+#: ../game/screen_songs.cc:319
+msgid "jukebox mode"
+msgstr "حالت جوکباکس"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr "لیست پخشی با این آهنگ بساز"
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr "لیست پخش را باز کن"
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr "اجرا"
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr "لیست پخش رو ببین"
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr "لیست پخش را پاک کن"
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "گیتار"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "گیتار دوم"
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "گیتار ریتم"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "باس"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "تمبک"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "خوانندگی"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "هارمونیک ۱"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "هارمونیک ۲"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "هارمونیک ۳"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr ""
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr "نمایش همه آهنگ ها"
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr "رقص دار"
+
+#: ../game/songs.cc:198
+msgid "has vocals"
+msgstr "خوانندگی دار"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr "دو نوازی دار"
+
+#: ../game/songs.cc:200
+msgid "has guitar"
+msgstr "گیتار دار"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr "تمبک یا درام"
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr "گروه کامل"
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "ترتیب تصادفی"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "مرتب شده توسط آهنگ"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "مرتب شده بر اساس خواننده"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "مرتب شده بر اساس ویرایش"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "مرتب شده بر اساس سبک"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "مرتب شده بر اساس مسیر"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "مرتب شده بر اساس زبان"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr ""
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr ""
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr ""
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr ""
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr ""
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr ""
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr ""
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr ""
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr ""
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr ""
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr ""
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr ""
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr ""
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr ""
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr ""
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr ""
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr ""
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr ""
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr ""
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr ""
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "این ابزار هنوز موجود نیست.\n"
+#~ "مسیرها را با اضافه کردن آنها به عنوان\n"
+#~ "پارامترهای خط فرمان پیکربندی کنید سپس\n"
+#~ "آنها را در منو پیکربندی(تنظیمات) ذخیره کنید."
+
+#~ msgid "Press any key to exit."
+#~ msgstr "برای خروج کلیدی را بفشارید."
+
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr ""
+#~ "کاربران ویندوز همچنین می توانند از ConfigureSongDirectory.bat استفاده "
+#~ "کنند."
+
+#~ msgid "<type in to search>   ↔ songs    ↕ options"
+#~ msgstr "<تایت کن تا بگردم>         ↔ آهنگ        ↕ تنظیمات"
+
+#~ msgid "↔ hiscores   ↵ jukebox mode"
+#~ msgstr "↔ برترین امتیازات    ↵ جعبه آهنگ"
diff --git a/lang/fi.po b/lang/fi.po
new file mode 100644 (file)
index 0000000..a67590c
--- /dev/null
@@ -0,0 +1,1519 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:35+0200\n"
+"PO-Revision-Date: 2017-08-30 22:35+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: \n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "Peli"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "Peliasetukset"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "Grafiikka"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Muokkaa grafiikka- ja videoasetuksia"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "Äänilaitteet"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "Tee mikrofoni- ja äänentoistoasetukset"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "Ääni"
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr "Muokkaa yleisiä ääniasetuksia"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "Tiedostopolut"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "Aseta musiikki- ja datakansioiden polut"
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr "Karaoketila"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "Piilota ääniaallon piirto, nuotit ja pisteytys."
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr "Lyriikoiden korostustyyli"
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr "Automaattinen toisto"
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr "Jatka soittamalla satunnaisia kappaleita kun soittolista on tyhjä."
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "Äänenkorkeusaallot"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr ""
+"Ota käyttöön laulun äänenkorkeuden näyttäminen (kun ei olla karaoketilassa)."
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "Teema"
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr "Käytettävän teeman nimi."
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr "Näppäimistö kitarana"
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr "Käytä näppäimistöä kitarana (Frets on Fire -pelitila)."
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr "Näppäimistö rumpuina"
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr "Käytä näppäimistöä rumpusettinä."
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr "Näppäimistö tanssimattona"
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr "Käytä näppäimistöä tanssimattona."
+
+#: ../data/config/schema.xml:106
+msgid "Keyboard as keytar"
+msgstr "Näppäimistö pianona"
+
+#: ../data/config/schema.xml:107
+msgid "Enable keyboard as keytar."
+msgstr "Käytä näppäimistöä pianona."
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr "Pakota peliohjain A:n tyyppi"
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+"Ohita automaattinen tunnistus ja pakota ensimmäisen peliohjaimen tyyppi."
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr "Pakota peliohjain B:n tyyppi"
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr "Ohita automaattinen tunnistus ja pakota toisen peliohjaimen tyyppi."
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr "Pakota peliohjain C:n tyyppi"
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr "Ohita automaattinen tunnistus ja pakota kolmannen peliohjaimen tyyppi."
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr "Pakota peliohjain D:n tyyppi"
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr "Ohita automaattinen tunnistus ja pakota neljännen peliohjaimen tyyppi."
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr "Peliohjain säädöt"
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr "Pakota peliohjain jonkinlaiseksi instrumentiksi."
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr "MIDI sisääntulolaite"
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+"Säännöllinen lauseke MIDI laitteen valitsemiseksi. Oletuksena käytetään "
+"kaikkia saatavilla olevia."
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr "Tekstin varakoodaus"
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr "Tekstin koodaus jos se ei ole UTF-8."
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr "Ikkunoitu leveys"
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr "Ikkunan leveys."
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr "Ikkunoitu korkeus"
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr "Ikkunan korkeus."
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr "Kokoruututila"
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr "Ota kokoruututila käyttöön."
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr "Stereo 3D"
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr "Aktivoi Performouksen 3D renderöinti."
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr "Stereo 3D:n tyyppi"
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr "Jotkin tilat aktivoituvat vain kokoruudun tilassa."
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr "Stereoerotus"
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+"Efektin voimakkuus. Kokeile erilaisia arvoja saavuttaaksesi parhaan tuloksen."
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr "Videotoisto"
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+"Poista musiikkivideot käytöstä. Suositeltavaa on jättää ne päälle, koska "
+"Performous osaa häivyttää ne automaattisesti, jos tietokoneesta näyttää "
+"loppuvan tehot."
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr "Web-kamera taustana"
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"Performous voi yrittää käyttää web-kameran videota kappaleiden taustakuvana. "
+"Poista käytöstä jos peli kaatuu kappaletta ladatessa."
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr "Web-kameran tunniste"
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+"Arvo -1 valitsee kameran automaattisesti, sitä suuremmat kokonaisluvut "
+"valitsevat tietyn laitteen."
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "Vektorikuvien laatu"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+"Suuremmilla luvuilla vektorikuvat luodaan korkeammalla tarkkuudella. "
+"Pienentämällä arvoa valikoissa liikkuminen nopeutuu."
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "Tekstin laatu"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+"Suuremmilla arvoilla teksti piirretään tarkempana. Tämä vaikuttaa hieman "
+"suorituskykyyn lähes kaikkialla."
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr "Suorituskyvynmittaustila"
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"Ruudunpäivitysnopeuden raja 100 FPS poistetaan ja sen nopeusarvoja "
+"tulostetaan terminaaliin. Huomaa, että näytönohjainajurit saattavat vielä "
+"rajoittaa nopeutta."
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr "Toivottu latenssi"
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+"Vihje äänilaitteille latenssin suuruudesta. Aseta niin matalaksi kuin "
+"mahdollista ilman äänen häiriöitä. Vaatii uudelleenkäynnistyksen. "
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr "Ääni/video latenssi"
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+"Vaikuttaa kaikkiin pelimuotoihin. Käytä negatiivista arvoa jos näytön "
+"sisääntuloviive on suurempi kuin äänikortin ulostulolatenssi ja päinvastoin. "
+"Tämän pitäisi olla säädetty siten, että nuotit ohittavat \"kursorin\" samaan "
+"aikaan kun ääni kuullaan. Ctrl+F1/F2 säätävät pelin aikana."
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr "Äänen edestakainen latenssi"
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+"Vaikuttaa ainoastaan laulamiseen. Tämä on aika, joka Performouksen ääniltä "
+"kestää saavuttaa kaiuttimesi, lentää mikrofoniin ja takaisin Performouksen "
+"kaapattavaksi ja analysoitavaksi. Pelatessa, paina Ctrl+S aktivoidaksesi "
+"syntetisaattoritilan ja säädä Ctrl+F3/F4 näppäimillä."
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr "Ääni/peliohjain latenssi"
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+"Vaikuttaa vain soittamiseen ja tanssimiseen. Tämä on USB:n viive "
+"yhdistettynä äänen ulostuloviiveeseen. Säädä siten, että osut nuotteihin "
+"hyvin pelkän kuulon avulla. Ctrl+F5/F6 pelin aikana."
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr "Äänilaitteet"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr "Lista kokeiltavista äänilaitteista."
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "Valikkojen äänenvoimakkuus"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr ""
+"Äänenvoimakkuus valikoissa, kappaleiden esikuunteluissa ja jukeboksitilassa."
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "Musiikin voimakkuus"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+"Pelin äänenvoimakkuus. Yli 90 menevät arvot eivät ole suositeltavia "
+"mahdollisen äänen vääristymisen takia."
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "Virheiden äänenvoimakkuus"
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+"Virheäänien voimakkuus. Yli 90 menevät arvot eivät ole suositeltavia "
+"mahdollisen äänen vääristymisen takia."
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr "Äänen läpivienti"
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr "Lähetä mikrofonista nauhoitettu ääni kaiuttimille."
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr "Läpiviennin äänenvoimakkuussuhde"
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr ""
+"Kuinka paljon laulun äänenvoimakkuutta kasvatetaan musiikkiin suhteutettuna."
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr ""
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr ""
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr "Kappaleiden sijainnit"
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+"Mistä etsiä rekursiivisesti kappaleita. DATADIR alussa tarkoittaa kaikkia "
+"Performouksen järjestelmäkansioita."
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr "Järjestelmäkansiot"
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+"Järjestelmän oletuskansiot sisällytetään automaattisesti. Omia voi lisätä "
+"tähän."
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr ""
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "Päällä"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "Pois"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d kohtaa"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "Aloittelija"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "Helppo"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "Keskitaso"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "Vaikea"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "Haastavin"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "Valmis!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "Aloita esiintyminen!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "Valitse pelimuoto"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "Valitse vaikeusaste"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "Lopeta"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "Poistu kappalevalintaan"
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "SEIS!"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "Sarja!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "Lapset"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "Ekspertti"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "Vasuritila"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "Päällä"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "Pois"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "Vasenkätisyystila"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"Jumalmoodi\n"
+"Aktivoitu!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "Virheitä ei huomioida!"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "Jumalmoodi valmis!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "Rumpufilli!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "Soolo!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "Jatka"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "Takaisin esiintymään!"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "Liity uudelleen"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "Vaihda valintoja"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "Uudestaan"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"Aloita kappale\n"
+"alusta uudelleen"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "Ladataan ääniä..."
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "Luodaan näkymät..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "Päävalikko..."
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "Lataaminen valmis"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "Kuvakaappaus tallennettu!"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "Kuvakaappaus epäonnistui!"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"Näyttäisi, että sinulla on manuaalisia säätöjä,\n"
+"jotka ovat epäyhteensopivia tämän työkalun kanssa.\n"
+"Tallentaminen ylikirjoittaa kaikki aiemmat\n"
+"äänilaitevalintasi. Muut mahdolliset säädöt\n"
+"tallennetaan samalla."
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "- Ei asetettu -"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"Nuolinäppäimet säätävät. Enter/Start tallentaa ja testaa, Esc/Select "
+"peruuttaa. Ctrl + R palauttaa oletukset."
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"Monimutkaisempia asetuksia halutessasi, käytä --audio komentoriviparametriä "
+"(--audiohelp auttaa)."
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "Jotkin laitteista eivät olleet saatavilla!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "Äänen ulostulolaitteita ei löytynyt.\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Säädä ääniasetuksia ennen pelaamista."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr "Asetukset tallennettu järjestelmän oletuksiksi."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr "Asetukset tallennettu."
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Ctrl + S tallentaaksesi, Ctrl + R palauttaaksesi oletusarvot"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "Esiinny"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "Harjoittele"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "Tarkista taitosi tai testaa mikrofonit"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "Asetukset"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "Muokkaa pelin asetuksia"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "Poistu pelistä"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "Pelaajia ei löytynyt!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Syötä nimi luodaksesi uuden pelaajan."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "Paina Enter luodaksesi pelaajan!"
+
+#: ../game/screen_players.cc:124
+msgid "No players worth mentioning!"
+msgstr "Ei maininnan arvoisia pelaajia!"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "Sait %1% pistettä!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Valitse pelaaja nuolinäppäimillä."
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Nimi:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Kirjoita etsiäksesi tai luodaksesi uuden pelaajan."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "Etsi:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "Alustetaan webkameraa..."
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr "Jatka"
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr "Jatka esiintymistä"
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr "Lisää kappaleita"
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr "Avaa musiikkiselain lisätäksesi kappaleita"
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr "Sekoita"
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr "Sekoittaa soittolistan järjestyksen"
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr "Tyhjennä ja poistu"
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr "Poista kaikki kappaleet listasta"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr "Takaisin"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr "Takaisin soittolistaan"
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr "Paina enter avataksesi kappalevalinnat"
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr "Näytä lisää valintoja"
+
+#: ../game/screen_playlist.cc:326
+msgid "View general playlist settings"
+msgstr "Näytä yleiset soittolista-asetukset"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr "Soita ensimmäinen"
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr "Jätä soittolistan järjestys huomioimatta ja soita tämä kappale ensin"
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr "Aloita jo!"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr "Poista"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr "Poista tämä kappale listasta"
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr "Siirrä ylös"
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr "Siirrä tämä kappale ylöspäin listalla"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr "Siirrä alas"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr "Siirrä tämä kappale alaspäin listalla"
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "Ladataan videota..."
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "Ladataan kappaletta..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "Kappaleessa on rikkinäisiä osia!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "Ladataan valikkoa..."
+
+#: ../game/screen_sing.cc:78
+msgid "Start"
+msgstr "Aloita"
+
+#: ../game/screen_sing.cc:78
+msgid "Start performing"
+msgstr "Aloita esiintyminen"
+
+#: ../game/screen_sing.cc:82
+msgid "Duet mode"
+msgstr "Duettotila"
+
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr "Normaalitila"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr "Vaihda dueton ja normaalin laulamisen välillä"
+
+#: ../game/screen_sing.cc:92
+msgid "Change vocal track"
+msgstr "Vaihda lauluraita"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr "Ohita"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr "Hyppää nykyisen kappaleen yli"
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr "Paina YLÖS liittyäksesi tanssiin!"
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr "Paina YLÖS tanssiaksesi!"
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr "Paina 1 liittyäksesi kitaralla!"
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr "Paina VIHREÄÄ liittyäksesi!"
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr "Paina VÄLI liittyäksesi rummuilla!"
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr "Paina BASSORUMPUA liittyäksesi!"
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "   ENTER hypätäksesi lauluosaan"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr "  Automaattinen toisto päällä"
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   Muista odottaa arvostelua!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "Pelaajia ei löytynyt!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "Tähti"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "Solisti"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "Harrastaja"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "Amatööri"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "Lahjaton"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "Maanikko"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "Ekspertti"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "Luuseri"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "Virtuoosi"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "Rokkari"
+
+#: ../game/screen_songs.cc:290
+msgid "Sorry, no songs match the search!"
+msgstr "Yksikään kappale ei vastannut hakuasi!"
+
+#: ../game/screen_songs.cc:293
+msgid "Sorry, no songs match the filter!"
+msgstr "Valitun tyyppisiä kappaleita ei löydy!"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "Kappaleita ei löytynyt!"
+
+#: ../game/screen_songs.cc:297
+msgid "Visit performous.org for free songs"
+msgstr "Hae ilmaista musiikkia osoitteesta performous.org"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr "<kirjoita etsiäksesi>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr "kappaleet"
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr "vaihtoehdot"
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr "järjestys: "
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr "tyyppisuodin: "
+
+#: ../game/screen_songs.cc:319
+msgid "hiscores"
+msgstr "ennätykset"
+
+#: ../game/screen_songs.cc:319
+msgid "jukebox mode"
+msgstr "musiikkisoitin"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr "aloita soittolista tällä kappaleella"
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr "avaa soittolistavalikko"
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr "Pelaa"
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr "Näytä soittolista"
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr "Tyhjennä soittolista"
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "Kitara"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "Soolokitara"
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "Rytmikitara"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "Basso"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "Rummut"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "Laulu"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "Harmonia 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "Harmonia 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "Harmonia 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr "Yhdessä"
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr "näytä kaikki kappaleet"
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr "tanssi"
+
+#: ../game/songs.cc:198
+msgid "has vocals"
+msgstr "laulu"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr "duetto"
+
+#: ../game/songs.cc:200
+msgid "has guitar"
+msgstr "kitara"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr "rummut tai koskettimisto"
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr "täysi bändi"
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "satunnainen järjestys"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "järjestetty kappaleen mukaan"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "järjestetty esittäjän mukaan"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "järjestetty julkaisun mukaan"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "järjestetty lajityypin mukaan"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "järjestetty polun mukaan"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "järjestetty kielen mukaan"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr ""
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr ""
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr ""
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr ""
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr ""
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr ""
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr ""
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr ""
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr ""
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr ""
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr ""
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr ""
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr ""
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr ""
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr ""
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr ""
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr ""
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr ""
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr ""
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr ""
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "Tämä työkalu ei ole vielä saatavilla.\n"
+#~ "Aseta polut antamalla ne\n"
+#~ "komentoriviparametreinä ja\n"
+#~ "tallenna sitten asetusvalikosta."
+
+#~ msgid "Press any key to exit."
+#~ msgstr "Paina mitä tahansa näppäintä jatkaaksesi."
+
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr ""
+#~ "Windows-käyttäjät voivat myös käyttää ConfigureSongDirectory.bat-skriptiä."
+
+#~ msgid "<type in to search>   ↔ songs    ↕ options"
+#~ msgstr "<kirjota etsiäksesi>   ↔ kappaleet    ↕ valinnat"
+
+#~ msgid "↔ hiscores   ↵ jukebox mode"
+#~ msgstr "↔ ennätykset   ↵ jukeboksi"
+
+#~ msgid "No Items up to now."
+#~ msgstr "Ei pisteitä tähän mennessä."
+
+#~ msgid "Be the first to be listed here!"
+#~ msgstr "Ole ensimmäinen!"
+
+#~ msgid "Start the game with all songs in playlist"
+#~ msgstr "Aloita peli kaikilla soittolistan kappaleilla"
+
+#~ msgid "View the current playlist"
+#~ msgstr "Näytä tämän hetkinen soittolista"
+
+#~ msgid "Back to song browser"
+#~ msgstr "Takaisin kappalevalintaan"
+
+#~ msgid "Song is broken!"
+#~ msgstr "Kappale on rikki!"
+
+#~ msgid "Loading instruments..."
+#~ msgstr "Ladataan instrumentteja..."
+
+#~ msgid "Finalizing..."
+#~ msgstr "Viimeistellään..."
+
+#~ msgid "Loading graphics..."
+#~ msgstr "Ladataan grafiikoita..."
+
+#~ msgid "Random background..."
+#~ msgstr "Satunnainen taustakuva..."
+
+#~ msgid "(press END to view hiscores)"
+#~ msgstr "(paina END nähdäksesi ennätykset)"
+
+#~ msgid "Graphics"
+#~ msgstr "Grafiikka"
+
+#~ msgid "Gameplay settings."
+#~ msgstr "Peliasetukset."
+
+#~ msgid "Video and rendering settings."
+#~ msgstr "Video ja kuva-asetukset."
+
+#~ msgid "Audio-related settings."
+#~ msgstr "Ääniasetukset."
+
+#~ msgid "System paths."
+#~ msgstr "Järjestelmän tiedostopolut."
+
+#~ msgid ""
+#~ "Part of sound card name or its number or empty to use the first available "
+#~ "device. Used currently for MIDI drum controllers."
+#~ msgstr ""
+#~ "Osa äänikortin nimestä tai sen numero. Tyhjä arvo valitsee ensimmäisen "
+#~ "mahdollisen. Käytetään MIDI rumpujen kanssa."
+
+#~ msgid "3D notes"
+#~ msgstr "3D nuotit"
+
+#~ msgid ""
+#~ "Draw instrument notes as 3-dimensional objects. May hurt performance on "
+#~ "older hardware."
+#~ msgstr "Piirrä instrumenttinuotit kolmiulotteisina objekteina."
+
+#~ msgid "Loading theme..."
+#~ msgstr "Ladataan teemaa..."
+
+#~ msgid "Loading background..."
+#~ msgstr "Ladataan taustaa..."
+
+#~ msgid "Loading user interface..."
+#~ msgstr "Ladataan käyttöliittymää..."
+
+#~ msgid "Audio..."
+#~ msgstr "Ääni..."
+
+#~ msgid "Launching background loaders..."
+#~ msgstr "Käynnistetään taustalataajat..."
+
+#~ msgid "Press Enter to configure (TODO: implement)"
+#~ msgstr "Käytä Äänilaitteet-työkalua."
+
+#~ msgid "Go back to main menu"
+#~ msgstr "Palaa päävalikkoon"
+
+#~ msgid "System"
+#~ msgstr "Järjestelmä"
+
+#~ msgid "Miscellaneous..."
+#~ msgstr "Sekalaista..."
diff --git a/lang/fr.po b/lang/fr.po
new file mode 100644 (file)
index 0000000..030c9d1
--- /dev/null
@@ -0,0 +1,1505 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:35+0200\n"
+"PO-Revision-Date: 2017-08-30 22:35+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: \n"
+"Language: fr_FR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "Jeu"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "Configurer les options de jeu"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "Graphique"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Configurer les options vidéos et graphiques"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "Périphériques audio"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "Configurer les microphones et la sortie son"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "Audio"
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr "Configurer les options audio"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "Chemins"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "Configurer les chemins des morceaux et des données"
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr "Mode karaoké"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "Cache la hauteur chantée, les notes et le score."
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr "Type d'affichage des paroles"
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr "Autoplay"
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr "Jouer un morceau aléatoire après la fin de la playlist"
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "Hauteur chantée"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr "Active l'affichage de la hauteur du chant (pas dans le mode karaoké)"
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "Thème"
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr "Nom du thème à utiliser"
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr "Guitare au clavier"
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr "Activer la guitare au clavier (mode Frets on Fire)"
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr "Batterie au clavier"
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr "Activer la batterie au clavier"
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr "Tapis de dance au clavier"
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr "Activer le tapis de dance au clavier"
+
+#: ../data/config/schema.xml:106
+msgid "Keyboard as keytar"
+msgstr "Keytar au clavier"
+
+#: ../data/config/schema.xml:107
+msgid "Enable keyboard as keytar."
+msgstr "Activer le keytar au clavier"
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr "Forcer le contrôleur de type A"
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+"Ignorer l'auto-détection et forcer le premier contrôleur à utiliser un "
+"certain type d'instrument."
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr "Forcer le contrôleur de type B"
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+"Ignorer l'auto-détection et forcer le deuxième contrôleur à utiliser un "
+"certain type d'instrument."
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr "Forcer le contrôleur de type C"
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+"Ignorer l'auto-détection et forcer le troisième contrôleur à utiliser un "
+"certain type d'instrument."
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr "Forcer le contrôleur de type D"
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+"Ignorer l'auto-détection et forcer le quatrième contrôleur à utiliser un "
+"certain type d'instrument."
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr "Configuration des manettes"
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr "Attribuer de force une manette à un type d'instrument."
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr "Périphérique MIDI d'entrée"
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+"Expression régulière pour sélectionner le périphérique MIDI à utiliser. Par "
+"défaut utiliser tous les périphériques disponibles."
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr "Encodage des morceaux de secours"
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr "Choisir l'encodage utilisé pour les morceaux qui ne sont pas en UTF-8."
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr "Largeur de la fenêtre"
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr "La largeur de la fenêtre"
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr "Hauteur de la fenêtre"
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr "La hauteur de la fenêtre"
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr "Mode plein écran"
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr "Activer le mode plein écran au démarage"
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr "Stéréoscopie"
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr "Activer le rendu 3D stéréoscopique"
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr "Type de rendu stéréoscopique"
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr "Certains modes ne peuvent être activés qu'en plein écran."
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr "Séparation Stereo3D"
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+"Espacement des deux images stéréoscopiques. Essayez plusieurs valeurs pour "
+"obtenir le meilleur résultat."
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr "Vidéo playback"
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+"Permet de désactiver toutes les vidéos. Il est recommandé de garder cette "
+"option activée car Performous va automatiquement désactiver la vidéo en cas "
+"de problème de performances de votre ordinateur."
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr "Webcam en fond d'écran"
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"Performous peut essayer d'utiliser une webcam comme vidéo. Désactivez en cas "
+"de crash."
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr "Id de la webcam"
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+"Utilisez -1 pour l'autodétection ou un numéro en partant de 0 pour choisir "
+"un périphérique spécifique."
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "Qualité SVG"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+"Les grandes valeurs génèrent les images vectorielles en haute résolution. "
+"Diminuez cette valeur en cas de problèmes de performance."
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "Qualité des textes"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+"Les grandes valeurs génèrent les textes en haute résolution. Diminuez cette "
+"valeur en cas de problèmes de performance."
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr "Mode perfomance"
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"La limite de 100 FPS est supprimée et le jeu tourne à vitesse maximale. Les "
+"FPS sont affichées dans la console. Veuillez noter que le driver peut "
+"néanmoins limiter la vitesse au taux de rafraîchissement."
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr "Latence suggérée"
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+"Ceci est une aide donnée au moteur audio pour la latence souhaitée. Choisir "
+"la valeur la plus petite possible sans que cela ne nuise à la qualité audio. "
+"Redémarrez."
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr "Latence audio/vidéo"
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+"Affecte tous les modes. Choisissez une valeur négative si le lag entre "
+"l'entrée et l'affichage est plus important que la latence audio. Choisissez "
+"une valeur positive dans le cas opposé, et une valeur nulle s'ils sont "
+"égaux. Ajustez pour faire en sorte que les notes passent le curseur en "
+"rythme avec la musique. Utilisez Ctrl+F1/F2 pour l'ajuster pendant une "
+"chanson."
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr "Latence audio/audio"
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+"Affecte uniquement la voix. Latence entre la capture du micro et le son des "
+"enceintes. Utilisez Ctrl+F3/F4 pour l'ajuster pendant une chanson"
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr "Latence audio/controlleur"
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+"Affecte uniquement les instruments et les tapis de danse. Latence entre le "
+"périphérique USB et la sortie sonore. Utilisez Ctrl+F5/F6 pour l'ajuster "
+"pendant une chanson."
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr "Périphériques audio"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr "Liste des périphériques audio à tester."
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "Volume du menu"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr ""
+"Le volume sonore des menus, de l'aperçu des chansons et du mode jukebox."
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "Volume de la musique"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+"Le volume de la musique pendant le jeu. Les valeurs supérieures à 90 ne sont "
+"pas recommandées (distorsion)."
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "Volume des erreurs"
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+"Le volume des morceaux en cas d'erreur. Les valeurs supérieures à 90 ne sont "
+"pas recommandées (distorsion)."
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr "Microphone \"pass-through\""
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr "Envoyer la sortie des micros vers les haut-parleurs."
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr "Volume du \"pass-through\""
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr ""
+"Quel est le niveau d'amplification des micros par rapport à la musique."
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr ""
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr ""
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr "Répertoires des chansons"
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+"Où chercher récursivement pour des morceaux. DATADIR au début désigne tous "
+"les répertoires de données."
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr "Répertoire de base pour les données"
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+"Les valeurs par défaut du système sont incluses automatiquement. D'autres "
+"chemins peuvent être ajoutés ici."
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr ""
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "Activé"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "Désactivé"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d entrées"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "Débutant"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "Facile"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "Moyen"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "Difficile"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "Défi"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "Prêt !"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "Commencer une partie !"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "Sélectionner la piste"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "Sélectionner la difficulté"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "Quitter"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "Revenir vers la liste des morceaux"
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "STOP !"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "d'affilées !"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "Enfantin"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "Expert"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "Mode gaucher"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "Activé"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "Désactivé"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "Basculer en mode gaucher"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"God Mode\n"
+"Activé"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "Erreurs ignorées !"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "God Mode Prêt !"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "Solo Batterie"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "Solo !"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "Reprendre"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "Retourner à la partie !"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "Rejoindre le jeu"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "Changer les paramètres"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "Redémarrer"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"Démarrer le morceau\n"
+"depuis le début"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "Chargement des samples..."
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "Création des écrans..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "Entrée dans le menu principal..."
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "Chargement effectué"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "Capture d'écran effectuée"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "Echec de la capture d'écran"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"Il semble que vous ayez certaines configurations\n"
+"incompatibles avec cette interface d'utilisation.\n"
+"Sauvegarder cette configuration va écraser\n"
+"toutes les configurations audio préexistantes.\n"
+"Vos autres changements seront également sauvegardés."
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "- Non assigné -"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"Utilisez les flèches pour configurer. Tapez Entrer/Démarrer pour sauvegarder "
+"ou Ech/Select pour annuler. Ctrl+R pour remettre à zéro."
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"Pour une configuration avancée veuillez utiliser la ligne de commande --"
+"audio (--audiohelp pour l'aide)."
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "Certains périphériques n'ont pas pu être ouverts !"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "Aucun périphérique audio de sortie n'est utilisable.\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Veuillez les configurer avant de jouer."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr "Configuration enregistrée comme configuration par défaut."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr "Configuration enregistrée."
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Ctrl + S pour sauvegarder, Ctrl + R pour réinitialiser"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "Jouer"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "S'exercer"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "Chauffer votre voix et tester les micros"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "Options"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "Configurer les options de jeu"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "Sortir du jeu"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "Aucun joueur n'a été trouvé !"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Entrez un nom pour créer un nouveau joueur."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "Pressez Entrer pour créer un nouveau joueur !"
+
+#: ../game/screen_players.cc:124
+msgid "No players worth mentioning!"
+msgstr "Pas de joueur digne de ce nom !"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "%1% points marqués !"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Changez de joueur avec les flèches."
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Nom :"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Entrez un nom pour créer un nouveau joueur."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "Recherche :"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "Initialisation de la webcam..."
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr "Continuer"
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr "Continuer à jouer"
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr "Ajouter des morceaux"
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr "Ouvrir le navigateur de morceaux pour ajouter plus de morceaux"
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr "Aléatoire"
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr "Mélanger l'ordre de la liste de lecture"
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr "Vider et quitter"
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr "Enlever l'ensemble des morceaux de la liste"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr "Précédent"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr "Retourner à la liste de lecture"
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr "Appuyer sur ENTREE pour voir les options du morceau"
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr "Voir plus d'options"
+
+#: ../game/screen_playlist.cc:326
+msgid "View general playlist settings"
+msgstr "Configurer les options de la liste de lecture"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr "Jouer en premier"
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr "Ignorer l'ordre de la liste de lecture et jouer ce morceau en premier"
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr "Démarre-le ce morceau !"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr "Enlever"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr "Enlever ce morceau de la liste"
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr "Monter"
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr "Monter ce morceau dans la liste"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr "Descendre"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr "Descendre ce morceau dans la liste"
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "Chargement de la vidéo..."
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "Chargement de la chanson..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "Chanson contenant des pistes défectueuses !"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "Chargement du menu..."
+
+#: ../game/screen_sing.cc:78
+msgid "Start"
+msgstr "Démarrer"
+
+#: ../game/screen_sing.cc:78
+msgid "Start performing"
+msgstr "Commencer une partie"
+
+#: ../game/screen_sing.cc:82
+msgid "Duet mode"
+msgstr "Mode duo"
+
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr "Mode normal"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr "Basculer entre le mode standard et le mode duo"
+
+#: ../game/screen_sing.cc:92
+msgid "Change vocal track"
+msgstr "Change la piste de chant"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr "Passer"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr "Passer le morceau actuel"
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr "Appuyer sur HAUT pour entrer dans la danse !"
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr "Appuyer sur HAUT pour jouer !"
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr "Appuyer sur 1 pour jouer avec une guitare !"
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr "Appuyer sur VERT pour jouer !"
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr "Appuyer sur ESPACE pour jouer avec une batterie !"
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr "Appuyer sur la PEDALE pour jouer !"
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "   \"Entrée\" pour passer l'instrumental"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr "   Autoplay activé"
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   Restez pour votre classement !"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "Aucun joueur n'a été trouvé !"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "Superstar"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "Soliste"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "Etoile montante"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "Amateur"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "Casserole"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "Maniac"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "Claquettiste"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "Perdant"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "Virtuose"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "Rockeur"
+
+#: ../game/screen_songs.cc:290
+msgid "Sorry, no songs match the search!"
+msgstr "Désolé, aucun morceau ne correspond à cette recherche !"
+
+#: ../game/screen_songs.cc:293
+msgid "Sorry, no songs match the filter!"
+msgstr "Désolé, aucun morceau ne correspond à ce filtre !"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "Aucun morceau trouvé !"
+
+#: ../game/screen_songs.cc:297
+msgid "Visit performous.org for free songs"
+msgstr "Visitez performous.org pour des morceaux gratuits"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr "<Entrez votre recherche>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr "morceaux"
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr "options"
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr "ordre :"
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr "filtre :"
+
+#: ../game/screen_songs.cc:319
+msgid "hiscores"
+msgstr "Records"
+
+#: ../game/screen_songs.cc:319
+msgid "jukebox mode"
+msgstr "Mode jukebox"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr "Commencer une liste de lecture avec ce morceau !"
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr "ouvrir le menu de listes de lecture"
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr "Jouer"
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr "Voir la liste de lecture"
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr "Vider la liste de lecture"
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "Guitare"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "Guitare Coop"
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "Guitare rythmique"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "Basse"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "Batterie"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "Voix principale"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "Harmonique 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "Harmonique 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "Harmonique 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr "Ensemble"
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr "Montrer tous les morceaux"
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr "Contient de la danse"
+
+#: ../game/songs.cc:198
+msgid "has vocals"
+msgstr "Contient du chant"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr "Contient un mode duo"
+
+#: ../game/songs.cc:200
+msgid "has guitar"
+msgstr "Contient une guitare"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr "batterie ou keytar"
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr "Groupe complet"
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "ordre aléatoire"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "classement par chanson"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "classement par artiste"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "classement par édition"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "classement par genre"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "classement par chemin"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "classement par langue"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr ""
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr ""
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr ""
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr ""
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr ""
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr ""
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr ""
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr ""
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr ""
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr ""
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr ""
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr ""
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr ""
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr ""
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr ""
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr ""
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr ""
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr ""
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr ""
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr ""
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "Cet outil n'est pas encore disponible.\n"
+#~ "Configurez les chemins en les ajoutant\n"
+#~ "à la ligne de commande et\n"
+#~ "sauvegardez-les dans le menu de configuration."
+
+#~ msgid "Press any key to exit."
+#~ msgstr "Appuyer sur n'importe quelle touche pour quitter."
+
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr ""
+#~ "Les utilisateurs de Windows peuvent aussi utiliser le script "
+#~ "ConfigureSongDirectory.bat."
+
+#, fuzzy
+#~ msgid "Back to song browser"
+#~ msgstr "Quitter vers la liste des morceaux"
+
+#~ msgid "No Items up to now."
+#~ msgstr "Aucun élément jusqu'à présent"
+
+#~ msgid "Be the first to be listed here!"
+#~ msgstr "Soyez le premier à être listé ici!"
+
+#~ msgid "Song is broken!"
+#~ msgstr "Chanson cassée"
+
+#~ msgid "Loading instruments..."
+#~ msgstr "Chargement des instruments..."
+
+#~ msgid "Finalizing..."
+#~ msgstr "Finalisation"
+
+#, fuzzy
+#~ msgid "Loading graphics..."
+#~ msgstr "Chargement de la chanson..."
+
+#~ msgid "Random background..."
+#~ msgstr "Papier peint aléatoires..."
+
+#~ msgid "(press END to view hiscores)"
+#~ msgstr "(presser Fin pour voir le classement)"
+
+#~ msgid "Graphics"
+#~ msgstr "Graphiques"
+
+#~ msgid "Gameplay settings."
+#~ msgstr "Options de jeu"
+
+#~ msgid "Video and rendering settings."
+#~ msgstr "Options vidéo et de rendu"
+
+#~ msgid "Audio-related settings."
+#~ msgstr "Options audio"
+
+#~ msgid "System paths."
+#~ msgstr "Chemins système"
+
+#~ msgid ""
+#~ "Part of sound card name or its number or empty to use the first available "
+#~ "device. Used currently for MIDI drum controllers."
+#~ msgstr ""
+#~ "Partie du nom de la carte son ou son numéro ou vide pour utiliser la "
+#~ "première disponible. Utilisé pour les batteries MIDI pour le moment."
+
+#~ msgid "3D notes"
+#~ msgstr "Notes 3D"
+
+#~ msgid ""
+#~ "Draw instrument notes as 3-dimensional objects. May hurt performance on "
+#~ "older hardware."
+#~ msgstr "Dessinne les notes des instruments en 3D"
+
+#~ msgid "Loading theme..."
+#~ msgstr "Chargement du thème..."
+
+#~ msgid "Loading background..."
+#~ msgstr "Chargement du fond d'écran..."
+
+#~ msgid "Loading user interface..."
+#~ msgstr "Chargement de l'interface utilisateur..."
+
+#~ msgid "Audio..."
+#~ msgstr "Audio..."
+
+#~ msgid "Launching background loaders..."
+#~ msgstr "Lancement des chargements en arrière plan..."
diff --git a/lang/hu.po b/lang/hu.po
new file mode 100644 (file)
index 0000000..ec51554
--- /dev/null
@@ -0,0 +1,1401 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Skyli <skyli91@gmail.com>, 2015-2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:35+0200\n"
+"PO-Revision-Date: 2017-08-30 22:35+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: \n"
+"Language: hu_HU\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Generator: Poedit 2.0.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "Játék"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "Játékkal kapcsolatos beállítások"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "Grafika"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Videó és megjelenítési beállítások"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "Hangeszközök"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "Mikrofonok és hangszóró beállítása"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "Hang"
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr "Általános hangbeállítások"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "Dalok helye"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "Dalok mappájának beállítása"
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr "Karaoke mód"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "Énekhang-hullámok, hangjegyek és pontozás elrejtése."
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr "Dalszöveg stílus"
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr "Automatikus Lejátszás"
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr "Folytatja a lejátszást azután is, amikor a lejátszási lista már üres."
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "Énekhang-hullámok"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr "Énekhang-hullámok megjelenítése (normál módban)."
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "Téma"
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr "Válassz témát."
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr "Billentyűzet, mint gitár"
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr "Billentyűzet használata gitárként (Frets on Fire mód)."
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr "Billentyűzet, mint dobfelszerelés"
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr "Billentyűzet használata, mint dobfelszerelés."
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr "Billentyűzet, mint táncszőnyeg"
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr "Billentyűzet használata tánszőnyegként."
+
+#: ../data/config/schema.xml:106
+msgid "Keyboard as keytar"
+msgstr "Billentyűzet, mint keytar"
+
+#: ../data/config/schema.xml:107
+msgid "Enable keyboard as keytar."
+msgstr "Billentyűzet használata keytarként."
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr ""
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr ""
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr ""
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr ""
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr "Joystick konfiguráció"
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr ""
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr "Hardveres MIDI beviteli eszköz"
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr "Karakterkódolás"
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr "Karakterkódolás nem UTF-8-as fájloknál. A magyar kódolás CP"
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr "Szélesség"
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr "Az ablak szélessége."
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr "Magasság"
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr "Az ablak magassága."
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr "Teljesképernyős mód"
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr "Indításkor teljes képernyős mód."
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr "3D"
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr "3D megjelenítés bekapcsolása."
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr "3D típusa"
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr "Néhány mód csak teljes képernyős módban működik."
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr "3D mélysége"
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr "Az effekt erőssége."
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr "Videó lejátszás"
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+"Kikapcsolhatod az összes háttérvideót. Ajánlott bekapcsolni, mert ha nem "
+"elég gyors a géped, a automatikusan kikapcsolódik."
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr "Webkamera háttér"
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"Webkamera használata háttérvideóként. Kapcsold ki, ha összeomlik tőle a "
+"játék."
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr "Webkamera ID"
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr "Automatikus: -1."
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "SVG Minőség"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+"Nagyobb érték: jobb minőségű vektorgrafika. Csökkentsd, ha lassú a navigálás "
+"a menüben."
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "Szöveg minőség"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+"Nagyobb érték: élesebb, nagyobb felbontású szöveg. Ha csökkented az értéket, "
+"minden kicsit gyorsabb lesz."
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr "Benchmark mód"
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"100-as FPS limit eltávolítása és FPS érték kijelzése teljesítmény-felméréshez"
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr "Javasolt késleltetés"
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+"Tipp az audió-motornak késleltetéséhez. Legyen olyan alacsony, amennyire "
+"csak lehet, amíg működik a hang. Újraindítást igényel."
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr "Audió/videó késleltetés"
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+"Minden módra hat. Negatív: ha a megjelenítés késik, a hanghoz képest. A "
+"hangjegyek pontosan zenére jelenjenek meg. Játék közben: Ctrl+,/."
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr "Audió oda-vissza késleltetés"
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr "Audió/vezérlő késleltetés"
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+"Csak táncra és hangszerekre hat. Igazítsd a hanghoz (ne a képhez). Ctrl+Ő/Ú"
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr "Hangeszközök"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr ""
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "Háttérzene hangerő"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr "Hátterzene, menü, dal előlnézet és zenedoboz-mód hangereje."
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "Játékbeli hangerejő"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "Hiba hangerő"
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr "Mikrofon kihangosítás"
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr "Mikrofon kihangosítása a hangszórókra"
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr "Mikrofon kihangosítás hangereje"
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr ""
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr "Közép-csatorna némítása (Énekhang-eltávolító)"
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr "Elnémítja az énekhangot a zene alól. Játék közben: Ctrl+C"
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr "Dalok mappái"
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr ""
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr ""
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "Bekapcsolva"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "Kikapcsolva"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d eszköz"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "Kezdő"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "Könnyű"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "Közepes"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "Nehéz"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "Verseny"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "Kész!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "Lépj a színpadra!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "Dal választása"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "Nehézségi szint választása"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "Kilépés"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "Kilépés a dalválasztóba"
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr ""
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "Sorozat!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "Gyerekek"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "Haladó"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "Balkezes mód"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "BE"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "KI"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "Balkezes mód ki-be kapcsolása"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"Isten mód\n"
+"Aktiválva!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "Hibák figyelmen kívül hagyva!"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "Isten mód kész!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "Dobpergés!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "Solo!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "Folytatás"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "Vissza a játékba!"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "Újracsatlakozás"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "Kijelölések módosítása"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "Újrakezdés"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"Újrakezdés\n"
+"a dal elejéről"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "Hangminták betöltése..."
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "Képernyők létrehozása..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "Belépés a főmenübe"
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "Betöltés kész"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "Képernyőkép mentve!"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "Képernyőkép mentése sikertelen!"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "- Nincs hozzárendelve -"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"A nyilakkal állítsd be a mikrofonokat és a hangszórót. Mentés: Enter/Start, "
+"Mégse: Esc/Select. Alapértelmezés: Ctrl+R"
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"Haladó eszköszkonfigurációhoz használj parancssoros paramétereket: --audio "
+"(--audiohelp)"
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "Egyes eszközöket nem sikerült betölteni!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "Nincs hozzáadva a hangszóró!\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Kérlek állítsd be, mielőtt elkezdesz játszani:\n"
+"Beállítások > Hangeszközök"
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr "Beállítások mentve, mint rendszer alapértelmezés."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr "Beállítások mentve."
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Mentés: Ctrl+S, Alapértelmezett érték: Ctrl+R"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "Játék"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "Gyakorlás"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "Próbáld ki a hangod, vagy teszteld a mikrofonokat."
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "Beállítások"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "Hang- és játékbeállítások"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "Kilépés a játékból"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "Nem található játékos!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Új játékos létrehozásához adj meg egy nevet."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "Nyomj entert a játkos létrehozásához."
+
+#: ../game/screen_players.cc:124
+msgid "No players worth mentioning!"
+msgstr "Egyik játékos se szerepelt említésre méltóan..."
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "%1% pontot szereztél!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Játékos váltása nyilakkal."
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Név:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Írj be valamit a szűréshez, vagy új játékos létrehozásához."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "A keresett szöveg:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "Webkamera betöltése..."
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr "Folytatás"
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr "Játék folytatása"
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr "Dalok hozzáadása"
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr "Dalböngésző megnyitása további dalok hozzáadásához"
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr "Véletlenszerű"
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr "Lejátszási lista rendezése véletlenszerűen"
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr "Törlés és kilépés"
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr "Összes dal eltávolítása a listából"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr "Vissza"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr "Vissza a lejátszási lista megtekintéséhez"
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr "Nyomj entert a dal beállításainak megtekintéséhez"
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr "További beállítások"
+
+#: ../game/screen_playlist.cc:326
+msgid "View general playlist settings"
+msgstr "Általános lejátszási lista beállítások"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr "Az első szám lejátszása"
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr "Dal lejátszása soron kívül"
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr "Indítsd el a dalt!"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr "Eltávolítás"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr "Dal törlése a listáról"
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr "Mozgatás fel"
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr "Dal mozgatása FEL"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr "Mozgatás le"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr "Dal mozgatása LE"
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "Videó betöltése..."
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "Dal betöltése..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "Hibás dal!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "Menü betöltése..."
+
+#: ../game/screen_sing.cc:78
+msgid "Start"
+msgstr "Indítás"
+
+#: ../game/screen_sing.cc:78
+msgid "Start performing"
+msgstr "Játék indítása"
+
+#: ../game/screen_sing.cc:82
+msgid "Duet mode"
+msgstr "Duett mód"
+
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr "Normál mód"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr "Választás duett és normál énekmód között"
+
+#: ../game/screen_sing.cc:92
+msgid "Change vocal track"
+msgstr "Duett-énekes kiválasztása"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr "Kihagyás"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr "Jelenlegi dal kihagyása"
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr "Nyomj FEL-t, hogy csatlakozz a tánccal!"
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr "Lépj a FEL-re, hogy csatlakozz!"
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr "Nyomj 1-et, hogy csatlakozz a gitárral!"
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr "Nyomj ZÖLDET, hogy csatlakozz!"
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr "Nyomj SPACE-t hogy csatlakozz a dobokkal!"
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr "RÚGJ a csatlakozáshoz!"
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "    ENTER: Zenei rész átugrása"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr "   Automatikus lejátszás engedélyezve"
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   Várd meg a pontozást!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "Nincs játékos!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "Szupersztár"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "Tehetséges énekes"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "Kezdő énekes"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "Reményteljes"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "Botfülű"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "Mániákus"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "Profi táncos"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "Vesztes"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "Virtuóz"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "Rocker"
+
+#: ../game/screen_songs.cc:290
+msgid "Sorry, no songs match the search!"
+msgstr "Sajnos nem találtam ilyen dalt!"
+
+#: ../game/screen_songs.cc:293
+msgid "Sorry, no songs match the filter!"
+msgstr "Sajnos nincs dal, ami megfelel a szűrési feltételeknek!"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "Nem található dal!"
+
+#: ../game/screen_songs.cc:297
+msgid "Visit performous.org for free songs"
+msgstr "Látogasd meg facebook csoportunkat: facebook.com/groups/UltrastarHu"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr "<A kereséshez írj be valamit>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr "dal"
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr "beállítások"
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr "rendezés: "
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr "szűrés: "
+
+#: ../game/screen_songs.cc:319
+msgid "hiscores"
+msgstr "legmagasabb pontszámok"
+
+#: ../game/screen_songs.cc:319
+msgid "jukebox mode"
+msgstr "zenegép mód"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr "Lejátszási lista kezdése ezzel a dallal!"
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr "Lejátszási lista menüjének megnyitása"
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr "Lejátszás"
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr "Lejátszási lista megtekintése"
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr "Lejátszási lista törlése"
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "Gitár"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "Coop-gitár"
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "Ritmusgitár"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "Basszusgitár"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "Dobok"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "Éneklés"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "Harmonikus 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "Harmonikus 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "Harmonikus 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr "Együtt"
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr "összes dal"
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr "szűrés: táncot tartalmaz"
+
+#: ../game/songs.cc:198
+msgid "has vocals"
+msgstr "éneket tartalmaz"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr "duettet tartalmaz"
+
+#: ../game/songs.cc:200
+msgid "has guitar"
+msgstr "szűrés: gitárt tartalmaz"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr "szűrés: dobokat vagy keytart tartalmaz"
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr "szűrés: teljes zenekar"
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "véletlenszerű"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "dal szerint"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "előadó szerint"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "kiadás szerint"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "műfaj szerint"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "mappa szerint"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "nyelv szerint"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr ""
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr ""
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr ""
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr ""
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr ""
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr ""
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr ""
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr ""
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr ""
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr ""
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr ""
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr ""
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr ""
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr ""
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr ""
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr ""
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr ""
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr ""
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr ""
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr ""
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "Ez az eszköz még nem elérhető.\n"
+#~ "Állítsd be a mappát a ConfigureSongDirectory.bat-al (Windows),\n"
+#~ "vagy parancssori paraméterekkel."
+
+#~ msgid "Press any key to exit."
+#~ msgstr "Nyomj meg egy gombot a kilépéshez."
+
+#~ msgid ""
+#~ "Affects singing only. The time it takes for Performous playback to reach "
+#~ "your speakers, fly to the microphone and all the way back until "
+#~ "Performous captures and analyzes it. While performing, press Ctrl+S for "
+#~ "synth mode and adjust with Ctrl+Ü/Ó."
+#~ msgstr ""
+#~ "Csak az éneklésre hat. Az idő, ami eltelik, amíg a Performousból a "
+#~ "hangszórókon át a mikrofonba és vissza jut a hang. Játék közben: Ctrl+F3/"
+#~ "F4"
diff --git a/lang/it.po b/lang/it.po
new file mode 100644 (file)
index 0000000..723965d
--- /dev/null
@@ -0,0 +1,1522 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Perf try\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:35+0200\n"
+"PO-Revision-Date: 2017-08-30 22:35+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: \n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "Gioco"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "Opzione relative al Gameplay"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "Grafica"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Impostazioni video e rendering"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "Dispositivi audio"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "Imposta microfoni e riproduzione"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "Audio"
+
+#: ../data/config/schema.xml:33
+#, fuzzy
+msgid "Configure general audio settings"
+msgstr "Impostazioni video e rendering"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "Percorsi (path)"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "Imposta percorsi (path) canzoni e dati"
+
+#: ../data/config/schema.xml:48
+#, fuzzy
+msgid "Karaoke mode"
+msgstr "Modalità benchmark"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "Nascondi pitch wave, note e punteggio"
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr ""
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr ""
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr ""
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "Pitch wave"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr ""
+"Abilita la visualizzazione dinamica delle note da cantare (quando non si è "
+"in modalità karaoke)"
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "Tema"
+
+#: ../data/config/schema.xml:71
+#, fuzzy
+msgid "Name of the theme to use."
+msgstr "Nome del tema da usare oppure la path assoluta alla cartella del tema"
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr "Tastiera come chitarra"
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr "Abilita la tastiera come chitarra (modalità Frets on Fire)."
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr "Tastiera come drumkit"
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr "Abilita la tastiera come drumkit"
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr "Tastiera come dance pad"
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr "Abilita la tastiera come dance pad"
+
+#: ../data/config/schema.xml:106
+#, fuzzy
+msgid "Keyboard as keytar"
+msgstr "Tastiera come chitarra"
+
+#: ../data/config/schema.xml:107
+#, fuzzy
+msgid "Enable keyboard as keytar."
+msgstr "Abilita la tastiera come dance pad"
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr ""
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr ""
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr ""
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr ""
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr "Configurazione joystick"
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr "Forza il joystick a qualche tipo di strumento"
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr "Dispositivo hardware di input MIDI"
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr ""
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr ""
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr "Larghezza finestra"
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr "La larghezza della finestra"
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr "Altezza finestra"
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr "L'altezza della finestra"
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr "Fullscreen"
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr "Abilita fullscreen all'avvio."
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr ""
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr ""
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr ""
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr ""
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr ""
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr "Riproduzione video"
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+"Abilita la completa disabilitazione del video di background. Si raccomanda "
+"di lasciare questa opzione attivata perchè Performous farà svanire il video "
+"se il computer non è abbastanza veloce."
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr "Sfondo della webcam"
+
+#: ../data/config/schema.xml:212
+#, fuzzy
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"Performous può provare ad usare la webcam come video di background. Lo puoi "
+"disabilitare se ti dà fastidio."
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr "Webcam id"
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+"Usa -1 per la rilevazione automatica oppure un numero che parte da 0 per "
+"selezionare uno specifico dispositivo."
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "Qualità SVG"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+"Numeri grandi aumentanno la risoluzione di visualizzazione delle immagini. "
+"Diminuisci questo per navigare nei menu più rapidamente."
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "Qualità testo"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+"Numeri grandi aumenteranno la risoluzione di visualizzazione del testo. "
+"Diminuisci questo per rendere tutto un po' più veloce."
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr "Modalità benchmark"
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"Il limite di framerate di 100 FPS è rimosso e il gioco gira a piena potenza. "
+"I valori degli FPS sono stampati su console. Da notare che i driver della "
+"scheda video potrebbero ancora limitare la velocità di rendering alla "
+"velocità di refresh dello schermo."
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr "Latenza suggerita"
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+"Questo è un consiglio per il motore audio relativo alla latenza desiderata. "
+"Imposta questo valore il più piccolo valore possibile per avere un buon "
+"playback audio. Richiede riavvio."
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr "Latenza audio/video"
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+"Influisce su tutte le modalità. Usa dei valori negativi se il lag del "
+"display è maggiore della latenza della scheda audio, positivi nel caso "
+"opposto e zero se sono uguali. Questo parametro dovrebbe essere impostato in "
+"maniera tale che le note passino sotto al cursore nell stesso tempo che si "
+"sente l'audio. Usare Ctrl+F1/F2 per regolare mentre si è in performing."
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr "Latenza audio di ritorno"
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+"Influisce solo la parte cantata. Il tempo che serve al playback di "
+"Performous per raggiungere gli altoparlandi, volare al microfono e tutta la "
+"strada indietro finchè Performous non lo cattura e lo analizza. Mentre si è "
+"in performing, premere Ctrl+S per la modalità synth e regolare con Ctrl+F3/"
+"F4."
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr "Latenza audio/controller."
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+"Influisce solo strumenti e danza. Il totale della latenza USB (chitarra o "
+"dance pad) combinata con la latenza di output audio. Regolala in maniera "
+"tale che puoi colpire le note meglio quando si suona ad orecchio (senza "
+"guardare lo schermo). Usa Ctrl+F5/F6 per regolare mentre si è in performing."
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr "Dispositivi audio"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr "Lista dei dispositivi audio da provare."
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "Volume menu"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr ""
+"Il livello del volume dei menu, anteprima delle canzoni e modalità jukebox."
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "Volume musica"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+"Il volume della musica nel gioco. Valori sopra 90 sono sconsigliati perchè "
+"potrebbero verificarsi distorsioni."
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "Volume errore"
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+"Il volume del suono dell'errore nel gioco. Valori sopra 90 sono sconsigliati "
+"perchè potrebbero verificarsi distorsioni. 11 è più alto di 10, ma questi "
+"vanno a 100. 89 il più alto!"
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr ""
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr ""
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr ""
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr ""
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr ""
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr ""
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr "Cartella canzoni"
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+"Dove guardare ricorsivamente per tutte le canzoni. DATADIR all'inizio vuol "
+"dire tutte le cartelle dei dati di Performous."
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr "Cartelle basi per i dati"
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+"Le predefinite di sistema sono incluse automaticamente. Path addizionali "
+"possono essere aggiunte qui."
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr ""
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "Abilitato"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "Disabilitato"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d elementi"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "Principiante"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "Facile"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "Medio"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "Difficile"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "Sfida"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "Pronto!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "Comincia il performing!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "Seleziona la canzone"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "Seleziona la difficoltà"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "Esci"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "Ritorna alle canzoni"
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "STOP!"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "Streak!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "Bambini"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "Esperto"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "Modalità Lefty"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "ON"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "OFF"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "Abilita/disabilita modalità lefty"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"Modalità God\n"
+"Attivata!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "Errori ignorati!"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "Modalità God pronta!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "Fill di batteria!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "Assolo!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "Ritorna"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "Ritorna a fare performing!"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "Riunisciti"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "Cambia selezione"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "Ricomincia"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"Comincia la canzone\n"
+"dall'inizio"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "Caricamento canzoni di esempio..."
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "Creazione dele schermate..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "Entrando nel menu principale"
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "Caricamento completato"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "Screenshot eseguito!"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "Screenshot fallito!"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"Sembra che qualche configurazione manuale\n"
+"sia incompatibile con questa interfaccia utente.\n"
+"Salvando queste impostazioni verranno sovrascritte\n"
+"tutte le impostazioni di configurazione dei dispositivi audio.\n"
+"Saranno salvate anche le tue altre opzioni."
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "- Non assegnato -"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"Usa le frecce direzionali per configuare. Premi Invio/Start per salvare e "
+"fare il test oppure Esc/Select per cancellare. Crtl + R per tornare ai "
+"parametri originali"
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"Per la configurazione avanzata, usa il parametro --audio nella riga di "
+"comando (--audiohelp per i dettagli)"
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "Errore di apertura su qualche dispositivo!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "Nessun dispositivo di playback può essere usato.\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Per favore configura qualcosa prima di giocare."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr "Impostazioni salvate come default di sistema."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr "Impostazioni salvate."
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Ctrl + S per salvare, Ctrl + R per tornare al default"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "Gioca"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "Pratica"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "Controlla la tua bravura! / Test microfono"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "Configura"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "Impostazioni audio e gioco"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "Lascia il gioco"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "Nessun giocatore trovato!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Inserisci un nome per creare un nuovo giocatore."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "Premi invio per creare il giocatore!"
+
+#: ../game/screen_players.cc:124
+#, fuzzy
+msgid "No players worth mentioning!"
+msgstr "Nessun giocatore trovato!"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "Hai fatto %1% punti!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Cambia il giocatore con le frecce."
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Nome:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Inserisci un nome per selezionare un giocatore o crearne uno nuovo."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "Testo di ricerca"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "Inizializzazione webcam..."
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr ""
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr ""
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+#, fuzzy
+msgid "View general playlist settings"
+msgstr "Impostazioni generali audio"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr ""
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "Caricamento video..."
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "Caricamento canzoni..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "La canzone contiene tracce rovinate!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "Caricamento menu..."
+
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start"
+msgstr "Ricomincia"
+
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start performing"
+msgstr "Comincia il performing!"
+
+#: ../game/screen_sing.cc:82
+#, fuzzy
+msgid "Duet mode"
+msgstr "Modalità Lefty"
+
+#: ../game/screen_sing.cc:83
+#, fuzzy
+msgid "Normal mode"
+msgstr "Modalità karaoke"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:92
+#, fuzzy
+msgid "Change vocal track"
+msgstr ""
+"Cambia traccia vocale\n"
+"(riavvio richiesto)"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr ""
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "   INVIO per saltare la pausa strumentale"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr ""
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   Ricordati di aspettare per il punteggio!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "Nessun giocatore trovato!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "Star"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "Cantante"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "Dilettante"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "Amatore"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "Stonato"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "Maniaco"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "Professionista"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "Perdente"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "Virtuoso"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "Rockstar"
+
+#: ../game/screen_songs.cc:290
+#, fuzzy
+msgid "Sorry, no songs match the search!"
+msgstr "nessuna canzone trovata"
+
+#: ../game/screen_songs.cc:293
+#, fuzzy
+msgid "Sorry, no songs match the filter!"
+msgstr "nessuna canzone trovata"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "Nessuna canzone trovata!"
+
+#: ../game/screen_songs.cc:297
+#, fuzzy
+msgid "Visit performous.org for free songs"
+msgstr ""
+"Visita performous.org\n"
+"per canzoni gratuite"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr "<premi qualche lettera per cercare>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr ""
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr ""
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr ""
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr ""
+
+#: ../game/screen_songs.cc:319
+#, fuzzy
+msgid "hiscores"
+msgstr "Highscore per %1%\n"
+
+#: ../game/screen_songs.cc:319
+#, fuzzy
+msgid "jukebox mode"
+msgstr "Modalità Lefty"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr ""
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr ""
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr ""
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr ""
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "Chitarra"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "Chitarra coop"
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "Chitarra ritmica"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "Basso"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "Batteria"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "Cantato"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "Armonico 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "Armonico 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "Armonico 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr ""
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr ""
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr ""
+
+#: ../game/songs.cc:198
+#, fuzzy
+msgid "has vocals"
+msgstr "Cantato"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr ""
+
+#: ../game/songs.cc:200
+#, fuzzy
+msgid "has guitar"
+msgstr "Chitarra ritmica"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr ""
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr ""
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "ordine casuale"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "ordinato per canzone"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "ordinato per artista"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "ordinato per edizione"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "ordinato per genere"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "ordinato per percorso"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "ordinato per lingua"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr ""
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr ""
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr ""
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr ""
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr ""
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr ""
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr ""
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr ""
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr ""
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr ""
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr ""
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr ""
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr ""
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr ""
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr ""
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr ""
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr ""
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr ""
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr ""
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr ""
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "Questo strumento non è ancora disponibile.\n"
+#~ "Configura le path aggiungendole\n"
+#~ "come parametro da linea di comando\n"
+#~ "e salvale nel menu di configurazione."
+
+#~ msgid "Press any key to exit."
+#~ msgstr "Premi qualsiasi tasto per uscire."
+
+#, fuzzy
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr ""
+#~ "Gli utenti Windows possono anche usare ConfigureSongDirectory.bat nella "
+#~ "cartella bin."
+
+#, fuzzy
+#~ msgid "Back to song browser"
+#~ msgstr "Ritorna alle canzoni"
+
+#~ msgid "No Items up to now."
+#~ msgstr "Nessun elemento fino ad ora."
+
+#~ msgid "Be the first to be listed here!"
+#~ msgstr "Sii il primo ad essere qui!"
+
+#~ msgid "Song is broken!"
+#~ msgstr "La canzone è corrotta!"
+
+#~ msgid "Loading instruments..."
+#~ msgstr "Caricamento strumenti..."
+
+#~ msgid "Finalizing..."
+#~ msgstr "Finalizzazione..."
+
+#, fuzzy
+#~ msgid "Loading graphics..."
+#~ msgstr "Caricamento canzoni..."
+
+#~ msgid "Random background..."
+#~ msgstr "Sfondo casuale..."
+
+#~ msgid "(press END to view hiscores)"
+#~ msgstr "(premi END per vedere i punteggi migliori)"
+
+#~ msgid "Graphics"
+#~ msgstr "Grafica"
+
+#~ msgid "Gameplay settings."
+#~ msgstr "Impostazioni gameplay."
+
+#~ msgid "Video and rendering settings."
+#~ msgstr "Impostazioni video e rendering."
+
+#~ msgid "Audio-related settings."
+#~ msgstr "Impostazioni relativa all'audio"
+
+#~ msgid "System paths."
+#~ msgstr "Path di sistema."
+
+#~ msgid ""
+#~ "Part of sound card name or its number or empty to use the first available "
+#~ "device. Used currently for MIDI drum controllers."
+#~ msgstr ""
+#~ "Parte della scheda audio oppure il suo numero oppure vuoto per prendere "
+#~ "il primo dispositivo disponibile. Utilizzato al momento per il controller "
+#~ "batteria MIDI."
+
+#~ msgid "3D notes"
+#~ msgstr "Note 3D"
+
+#~ msgid ""
+#~ "Draw instrument notes as 3-dimensional objects. May hurt performance on "
+#~ "older hardware."
+#~ msgstr ""
+#~ "Disegna le note degli strumenti come oggetti tridimensionali. Potrebbe "
+#~ "diminuire le performance nei vecchi hardware."
+
+#~ msgid "Loading theme..."
+#~ msgstr "Caricamente tema..."
+
+#~ msgid "Loading background..."
+#~ msgstr "Caricamento sfondo..."
+
+#~ msgid "Loading user interface..."
+#~ msgstr "Caricamento interfaccia utente..."
diff --git a/lang/ja.po b/lang/ja.po
new file mode 100644 (file)
index 0000000..538a723
--- /dev/null
@@ -0,0 +1,1454 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:47+0200\n"
+"PO-Revision-Date: 2017-08-30 22:47+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: \n"
+"Language: ja_JP\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../data\n"
+"X-Poedit-SearchPath-1: ../game\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "ゲーム"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr ""
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr ""
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Renderingとビデオのオプションを設定する"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr ""
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr ""
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "オーディオ"
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr "全般オーディオのオプションを設定する"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "パス"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr ""
+
+# could 開式 be used for this?
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr "カラオケモード"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr ""
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr ""
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr ""
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr ""
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr ""
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr ""
+
+# Note: skin
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "スキン"
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr ""
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr ""
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr ""
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr ""
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr ""
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr ""
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr ""
+
+#: ../data/config/schema.xml:106
+msgid "Keyboard as keytar"
+msgstr ""
+
+#: ../data/config/schema.xml:107
+msgid "Enable keyboard as keytar."
+msgstr ""
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr ""
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr ""
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr ""
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr ""
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr ""
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr ""
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr ""
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr ""
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr ""
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr ""
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr ""
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr ""
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr ""
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr ""
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr ""
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr ""
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr ""
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr ""
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr ""
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr ""
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr ""
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr ""
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr ""
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "SVGの品質"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "テクストの品質"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr ""
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr ""
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr ""
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr ""
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr ""
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr ""
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr ""
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "メニューの音量"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr ""
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "音楽の音量"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "失敗の音量"
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr ""
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr ""
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr ""
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr ""
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr ""
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr ""
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr ""
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr ""
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr "ソート順"
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "使用可能"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "使用禁止"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d 細目"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "初心者"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "易しい"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+#, fuzzy
+msgid "Medium"
+msgstr "中間"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "難しい"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "挑戦"
+
+# There's probably a better word
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "レディー!"
+
+# See comment about Perform
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "演奏しはじめて"
+
+# or would トラックにして下さい work?
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "トラックを決めて下さい"
+
+# or would 難しさにして下さい work?
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "難しさを決めて下さい"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "終了"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "音楽ブラウザに終了する"
+
+# 止まって or 止めて, not sure which english stop that's indented.
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "止まって!"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "ストリーク!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "子供"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "専門家"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "左手モード"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "オン"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "オフ"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "左手モードをトグル"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"神モード\n"
+"活性化!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "間違い無視"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "神モードできた"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "ドラム・フィル"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "ソロー"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "再会"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "演奏に再会する"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "再加入"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "曲目を変更"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "再起動"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr "初めから曲を開始する"
+
+# note: says "music" instead of "audio samples"
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "音楽を読み替えていまうす…"
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "画面を作り中"
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "メインメニューに入り中"
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "良い込みできた"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "スクリーンショットを取りました"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "スクリーンショットを失敗しました"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"自分の相対立する設定が有るのようです。 \n"
+"この設定をセーブするのは他の機会コンフィグレーションを上書きます。\n"
+"別の設定変更もセーブしますよ。"
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "ー 当たらない ー"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"矢印キーはコンフィギアーのに使います。エンターとスタートはセーブとテストのに"
+"使ってエスケープとセレクトはキャンセルのにつかいます。ctrl+R は設定を戻るのに"
+"使います"
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "機械をあけません。"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "再生装置が見つかりませんでした\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+" 遊ぶ前に再生装置を設定して下さい。"
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr "設定はシステム・デファウルトにセーブされました。"
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr "設定をセーブしました。"
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "セーブするはCtrl + S で、設定元に戻るはCtrl + Rです。"
+
+# 塩素する = musical performance
+# I think 本番 could work, unless sence 3 of Jim's WWWJDIC is the most common meaning...
+# I get the feeling that 演じろ is more theatrical.
+# パフォーマンスする feels to english imo
+# Perhaps suru should be dropped?
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "演奏する"
+
+# not sure this is the best word
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "トレーニング"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "自分の能力とマイクをテストできます。"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "設定"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "オーディオとゲームのオプションを設定する"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "ゲームを終了する"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+# or perhaps a less polite for would do?
+# 見つからなかった, but that's only 2 kana less.
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "千住が見つかりませんでした"
+
+# Unless I'm wrong:
+# [S1]なら[S2] = if S1 then S2 will happen
+# or is 名前に入れば... better?
+# なら is same as 入れば only なら should be put after a noun or な-adjective,
+# so 入れば would be better.
+# however, to "insert" text like a name is 入力する and a goal can be described either as ように
+# or as ために, ように is used with verbs that don't contain volition but ために is used with verbs that do.
+# finally, from the dictionary I got: 選手 せんしゅ (n) player (in game); team member; 千住 isn't anything according to my
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "選手を作るように名前を入力して下さい"
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "エンターキーを押せば選手を作って"
+
+# or perhaps a less polite for would do?
+# 見つからなかった, but that's only 2 kana less.
+#: ../game/screen_players.cc:124
+#, fuzzy
+msgid "No players worth mentioning!"
+msgstr "千住が見つかりませんでした"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "%1%点をとりました"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "矢印キーで千住を変えます。"
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "名前:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "新しい選手を作るように字を入力して下さい"
+
+# will search criteria do? 検索テクスト feels wrong to me (僕がでもが外人だ… ;)
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "検索条件:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "カメラを組み立ています"
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr "続く"
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr "遊び続く"
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr "曲を加え"
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr "もっと曲を加えるのに曲選択画面へ戻る"
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr "シャッフル"
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr "リストの曲を更迭する。"
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr "消すと止める。"
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr "全曲をリストから消すと止める。"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr "戻る"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr "リスト画面へ戻る"
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr "曲設定を見る為にエンターを押して下さい"
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr "もっとの設定をみる"
+
+#: ../game/screen_playlist.cc:326
+#, fuzzy
+msgid "View general playlist settings"
+msgstr "全般オーディオのオプションを設定する"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr "今すぐプレイする"
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr "この曲を今すぐプレイされます"
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr "曲を始めよう"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr "消す"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr "この曲はリストから消す。"
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358
+#, fuzzy
+msgid "Move this song up the list"
+msgstr "この曲はリストから消す。"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+#, fuzzy
+msgid "Move this song down the list"
+msgstr "この曲はリストから消す。"
+
+# ます-form (suspended form) + 中 means that something is in progress and is more often used in signs,
+# て+います is more conversational
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "ビデオを読み込み中…"
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "音楽を読み替えていまうす…"
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "音楽には壊れてトラックが含まれます"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "メニューを読み込み中…"
+
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start"
+msgstr "再起動"
+
+# See comment about Perform
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start performing"
+msgstr "演奏しはじめて"
+
+#: ../game/screen_sing.cc:82
+msgid "Duet mode"
+msgstr "二部合唱モード"
+
+# could 開式 be used for this?
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr "普通モード"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:92
+msgid "Change vocal track"
+msgstr "歌手トラックを変更する"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr ""
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr ""
+
+# maybe 無視 instead of skip?
+# is 場合は superflous?
+# インストゥルメンタル could work instead of 楽器の休憩
+# or should a のに construction be used?
+# 場合 if a hepothetical situation, とき could be better because it has a wider range of usage
+# 押して下さい is however more polite than 押す
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "   楽器の休憩をスキップ欲しい場合は、エンターキーを押して下さい"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr ""
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   採点を待って忘れないで下さい"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "選手がいません!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "ヒット歌手"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "歌手一番"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "上がる星"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "素人"
+
+# from dictionary: 音痴 おんち (n,adj-no) (1) tone-deafness; amusia; having no ear for music; (adj-na) (2) tone-deaf; off-key; (suf) (3) having no sense (of something); being hopeless (when it comes to something)
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "音痴"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "マニアック"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "ホーファー"
+
+# 敗者 はいしゃ (n) the defeated; vanquished; loser; could be here as well
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "負け犬"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "妙手"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "ロッカー"
+
+#: ../game/screen_songs.cc:290
+msgid "Sorry, no songs match the search!"
+msgstr ""
+
+#: ../game/screen_songs.cc:293
+msgid "Sorry, no songs match the filter!"
+msgstr ""
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "曲が全然見つけませんでした。"
+
+#: ../game/screen_songs.cc:297
+msgid "Visit performous.org for free songs"
+msgstr "無料曲をダウンロードに「performous.org」行って下さい"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr ""
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr ""
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr ""
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr ""
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr ""
+
+# ハイスコア or 高得点?
+#: ../game/screen_songs.cc:319
+#, fuzzy
+msgid "hiscores"
+msgstr "%1%の高得点\n"
+
+#: ../game/screen_songs.cc:319
+#, fuzzy
+msgid "jukebox mode"
+msgstr "左手モード"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr ""
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr ""
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr ""
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr ""
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "ギタ−"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "コーオップ・ギター"
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "リズムギター"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "ベースギター"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "ドラム"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "ボーカル"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "ハルモニク 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "ハルモニク 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "ハルモニク 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr ""
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr "全部の曲を見せて"
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr "「踊」がある。"
+
+#: ../game/songs.cc:198
+#, fuzzy
+msgid "has vocals"
+msgstr "ボーカル"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr "二部合唱がある"
+
+#: ../game/songs.cc:200
+#, fuzzy
+msgid "has guitar"
+msgstr "リズムギター"
+
+#: ../game/songs.cc:201
+#, fuzzy
+msgid "drums or keytar"
+msgstr "どラムズかキーターか。"
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr "全楽団"
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "無作為並べ替え"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "歌順に並べ替えた"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "アーティスト順に並べ替えた"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "版順に並べ替えた"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "ジャンル順に並べ替えた"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "パス順に並べ替えた"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "言語に並べ替え"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr "ペルフォームース・ウエブ・フロントエンド"
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr "ダタベースを見る"
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr "探索と加える"
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr "並べ替える"
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr "歌手"
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr "曲名"
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr "言語"
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr "版"
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr "創作者"
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr "普通"
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr "反転"
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr "毎十秒更新"
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr "ダタベース更新"
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr "今後の曲"
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr "プレイリスト更新"
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+"ウェブ・インターフェースはニク・ノーイエンスとアルジャン・スペイアルドによっ "
+"て作られました。創作者は/docs/Authors.txt に書かれています。"
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr "探索"
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr "利用可能曲"
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr "曲に探索する"
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr "はい"
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr "いいえ"
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "この道具はまた使えません。\n"
+#~ "コマンドラインで加えて\n"
+#~ "コンフィグレーシオンメニユーでセーブして下さい。"
+
+#, fuzzy
+#~ msgid "Press any key to exit."
+#~ msgstr "止める為キーを打って下さい。"
+
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr "ウィンドーズ・ユーザーズはConfigureSongDirectory.batも使えますよ。"
+
+# could 開式 be used for this?
+#, fuzzy
+#~ msgid "Karaoke mode centered text"
+#~ msgstr "文はカラオケモードで画面中に"
+
+#, fuzzy
+#~ msgid "Back to song browser"
+#~ msgstr "音楽ブラウザに終了する"
+
+#~ msgid "Song is broken!"
+#~ msgstr "音楽が壊れています!"
+
+#~ msgid "Loading instruments..."
+#~ msgstr "楽器を読み込み中…"
+
+#~ msgid "Finalizing..."
+#~ msgstr "纏め中"
+
+#, fuzzy
+#~ msgid "Loading graphics..."
+#~ msgstr "音楽を読み込み中…"
+
+#~ msgid "Random background..."
+#~ msgstr "ランダム・バックグラウンド"
diff --git a/lang/nl.po b/lang/nl.po
new file mode 100644 (file)
index 0000000..e5db756
--- /dev/null
@@ -0,0 +1,1537 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:36+0200\n"
+"PO-Revision-Date: 2017-08-30 22:41+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: \n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "Spel"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "Aan spel gerelateerde opties"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "Grafisch"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Aanpassen render- en video-instellingen"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "Geluidsapparaten"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "Regel microfoons en afspelen"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "Geluid"
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr "Aanpassen algemene geluidsinstellingen"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "Locaties"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "Aanpassen locatie van liedjes en bestanden"
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr "Karaoke modus"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "Verberg toonhoogte, noten en sores."
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr "Songtekst markeer stijl"
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr "Automatisch afspelen"
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr "Blijf willekeurige nummers afspelen nadat de afspeellijst leeg is"
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "Toonhoogte golven"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr "Toon toonhoogte (indien niet in karaoke modus)."
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "Thema"
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr "Naam van het te gebruiken thema."
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr "Afspeellijst pauze"
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+"Hoelang het duurt voordat het volgende nummer automatisch wordt afgespeeld."
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr "Webserver toegang"
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+"Defineerd of Performous publiek of lokaal toegangkelijk gemaakt wordt "
+"middels de website. Vereist een herstart."
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr "Poort"
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+"De poort om te gebruiken voor de webserver. Kies een die nog niet in gebruik "
+"is door een ander programma."
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr "Toetsenbord als gitaar"
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr "Gebruik toetsenbord als gitaar (Frets on Fire modus)."
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr "Toetsenbord als drumstel"
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr "Gebruik toetsenbord als drumstel."
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr "Toetsenbord als dance pad"
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr "Gebruik toetsenbord als dance pad."
+
+#: ../data/config/schema.xml:106
+msgid "Keyboard as keytar"
+msgstr "Toetsenbord als gitaar"
+
+#: ../data/config/schema.xml:107
+msgid "Enable keyboard as keytar."
+msgstr "Gebruik het toetsenboard als gitaar."
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr "Forceer het type van controller A"
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+"Stop automatische herkenning en forceer het type van de eerste controller"
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr "Forceer het type van controller B"
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+"Stop automatische herkenning en forceer het type van de tweede controller"
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr "Forceer het type van controller C"
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+"Stop automatische herkenning en forceer het type van de derde controller"
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr "Forceer het type van controller D"
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+"Stop automatische herkenning en forceer het type van de vierde controller"
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr "Joystickinstellingen"
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr "Forceer joystick als een soort instrument."
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr "Hardware MIDI invoerapparaat"
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+"Regex voor het herkennen van de te gebruiken MIDI apparaten. Normaal worden "
+"alle beschikbare apparaten gebruikt."
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr "Reserve lied codering"
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr ""
+"Selecteer de tekst codec om te gebruiken voor nummers die niet UTF-8 zijn."
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr "Breedte in venstermodus"
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr "De breedte van het venster."
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr "Hoogte in venstermodus"
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr "De hoogte van het venster."
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr "Fullscreen modus"
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr "Gebruik fullscreen modus vanaf het starten."
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr "Stereoscopisch 3D"
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr "Schakel 3D-toepassingen van Performous in."
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr "Stereo3D-type"
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr "Sommige functies zullen alleen werken in volledig-scherm modus."
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr "Stereo3D-sterkte"
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+"De sterkte van het effect, probeer verschillende instellingen voor de beste "
+"resultaten."
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr "Video weergave..."
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+"Staat je toe de achtergrondvideo's volledig uit te zetten. Het is aangeraden "
+"om dit aan te laten aangezien Performous de video zacht zal uitfaden als je "
+"computer niet snel genoeg is."
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr "Webcam achtergrond"
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"Performous kan een webcam als achtergrond video gebruiken. Zet dit uit als "
+"performous vastloopt bij het spelen van een liedje."
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr "Webcam id"
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+"Gebruik -1 om automatisch te detecteren of een nummer vanaf 0 om een "
+"specifiek apparaat te kiezen."
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "SVG-kwaliteit"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+"Grotere getallen zorgen voor het renderen van vectorafbeeldingen in hogere "
+"resolutie. Verlaag dit om het navigeren in menu's vlugger te maken."
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "Tekstkwaliteit"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+"Grotere getallen zorgen voor een rendering in hogere resolutie. Verlaag dit "
+"om alles wat sneller te maken."
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr "Benchmark modus"
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"De framerate limiet van 100 FPS is verwijderd en het spel rendert nu op "
+"volle snelheid. FPS waarden worden geprint in de console. De "
+"videokaartdrivers kunnen nog altijd de rendersnelheid beperking tot de "
+"verversingssnelheid van het scherm"
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr "Voorgestelde latency"
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+"Dit is een suggestie voor de latency voor de geluidverwerking. Zet dit zo "
+"laag mogelijk terwijl je goed geluid behoudt. Vereist een herstart."
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr "Geluid/video latency"
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+"Heeft effect op alle modussen. Gebruik negatieve waarden als je "
+"scherminvoervertraging groter is dan de geluidskaard outputlatency, gebruik "
+"positieve waarden in het omgekeerde geval en nul als ze gelijk zijn. Dit zou "
+"zo gezet moeten worden dat de noten de cursor passeren op hetzelfde moment "
+"dat het geluid te horen is. Gebruik Ctrl+F1/F2 om aan te passen tijdens het "
+"opvoeren."
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr "Geluid round-trip latency"
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+"Heeft enkel effect tijdens het zingen. De tijd die het Performousgeluid "
+"nodig heeft om de luidsprekers te bereiken, naar de microfoons te vliegen en "
+"de ganse weg terug tot Performous het opvangt en analyseert. Gebruik Ctrl+S "
+"voor synth mode en Ctrl+F3/F4 om aan te passen tijdens het opvoeren."
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr "Geluid/controller latency"
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+"Heeft enkel effect op instrumenten en dansen. De totale USB- (gitaar of "
+"dancepad) latency, gecombineerd met de geluidlatency. Aanpassen zodat je de "
+"noten goed kunt treffen tijdens het spelen op gehoor (zonder te kijken op "
+"het scherm). Gebruik Ctrl+F5/F6 om aan te passen tijdens het opvoeren."
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr "Geluidsapparaten"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr "Lijst van te proberen geluidsapparaten."
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "Menu volume"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr "Het volumeniveau voor menu's, liedvoorbeelden en jukebox modus."
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "Muziekvolume"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+"Volume voor muziek tijdens het spel. Waarden boven 90 zijn niet aangeraden "
+"aangezien dan vervorming kan voorkomen."
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "Foutboodschapvolume"
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+"Volume voor foutboodschappen tijdens het spel. Waarden boven 90 zijn niet "
+"aangeraden aangezien dan vervorming kan voorkomen. 11 is luider dan 10, maar "
+"het gaat tot 100."
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr "Microfoon doorgeven"
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr "Stuur de opgenomen zangstem door naar de luidsprekers."
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr "Doorgeef volume sterkte"
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr "Hoeveel de zangstem versterkt wordt vergeleken met de muziek."
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr "Onderdruk het middenkanaal"
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr "Onderdruk het geluid van het middenkanaal (e.g. zangstem)."
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr "Mappen voor liedjes"
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+"Locatie om recursief te zoeken naar liedjes. DATADIR in het begin betekent "
+"alle Performous mappen voor data."
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr "Toon verborgen mappen"
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr "Wanneer WAAR dan zal screen_paths verborgen mappen laten zien."
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr "Basismappen voor gegevens"
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+"Systeem standaardinstellingen worden automatisch geladen. Extra locaties "
+"kunnen hier toegevoegd worden."
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr "Sorteervolgorde"
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr "Actieve sorteervolgorde"
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr "Performous"
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr "Een karaoke spel"
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr "performous"
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr "liedje;muziek;dansen;karaoke;microfoon;geluid;zingen;"
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "Ingeschakeld"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "Uitgeschakeld"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d items"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "Beginner"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "Gemakkelijk"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "Medium"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "Moeilijk"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "Daag uit"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "Klaar!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "Opvoering starten!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "Selecteer track"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "Selecteer moeilijkheidsgraad"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "Afsluiten"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "Ga naar muziekverkenner"
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "STOP!"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "Streak!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "Kinderen"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "Expert"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "Linkshandige modus"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "AAN"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "UIT"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "Linkshandige modus aan/uit"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"God Mode\n"
+"Geactiveerd!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "Fouten genegeerd!"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "God Mode Klaar!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "Drum Fill!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "Solo!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "Hervatten"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "Terug naar het optreden!"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "Opnieuw meedoen"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "Wijzig selecties"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "Herstart"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"Start het liedje\n"
+"vanaf het begin"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "Geluidsfragmenten worden geladen..."
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "Schermen aanmaken..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "Hoofdmenu tonen"
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "Laden afgerond"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "Schermafdruk genomen!"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "Schermafdruk nemen mislukt!"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"Het lijkt erop dat je enkele handmatige opties hebt\n"
+"die niet compatibel zijn met deze interface.\n"
+"Opslaan van deze instellingen zal de bestaande\n"
+"opties voor audio-apparaten overschrijven.\n"
+"De andere optiewijzigingen zullen ook opgeslagen worden."
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "- Niet toegewezen -"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"Gebruik de pijltjestoetsen om aan te passen. Druk op Enter/Start om op te "
+"slaan en te testen of Esc/Select om te annuleren. Ctrl + R herlaadt de "
+"standaardopties"
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"Voor geavanceerde apparaatinstellingen, gebruik de commandolijnparameter --"
+"audio (voor details: --audiohelp)."
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "Openen van sommige apparaten is mislukt!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "Geen bruikbare afspeelapparaten gevonden.\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Gelieve dit eerst in te stellen."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr "Instellingen opgeslagen als systeem-standaard"
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr "Instellingen opgeslagen"
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Ctrl + S: opslaan, Ctrl + R: standaardinstellingen"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "Optreden"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "Oefenen"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "Je vaardigheden testen en de microfoons controleren"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "Opties"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "Aanpassen geluids- en spelinstellingen"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "Spel verlaten"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+"Webserver actief!\n"
+" Verbind met deze computer\n"
+"door gebruik te maken van"
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+"Webserver actief!\n"
+"gebruik een browser\n"
+"en surf naar localhost:"
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr "Verberg verborgen mappen"
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr "Verwijder deze map"
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr "Verwijder huidge map van liedjes map"
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr "Voeg deze map toe"
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr "Voeg huidge map toe aan liedjes map"
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ".."
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr "Een map naar boven"
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr "Open map"
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "Geen spelers gevonden!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Voer een naam in om een nieuwe speler aan te maken."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "Druk op enter om de nieuwe speler te maken!"
+
+#: ../game/screen_players.cc:124
+msgid "No players worth mentioning!"
+msgstr "Geen spelers gevonden!"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "Je hebt %1% punten behaald!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Verander de speler met de pijltjes-toetsen"
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Naam:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Typ tekst om te zoeken of een nieuwe speler aan te maken."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "Zoek op tekst:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "Initialiseren van de webcam..."
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr "Laden van tijdsafdrukken..."
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr "Doorgaan"
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr "Doorgaan met spelen"
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr "Nummers toevoegen"
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr "Open de muziekverkenner om meer nummers toe te voegen."
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr "Door elkaar"
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr "Gooi de volgorde van de afspeellijst door elkaar"
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr "Leegmaken en afsluiten"
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr "Haal alle nummers uit de lijst"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr "Terug"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr "Terug naar afspeellijstoverzicht"
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr "Druk op enter om nummeropties weer te geven."
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr "Meer opties"
+
+#: ../game/screen_playlist.cc:326
+msgid "View general playlist settings"
+msgstr "Pas algemene afspeellijstinstellingen aan"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr "Speel als eerste"
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr "Negeer de volgorde van de afspeellijst en speel dit liedje als eerste"
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr "Start het lied eens!"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr "Verwijderen"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr "Verwijder dit lied uit de lijst"
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr "Omhoog"
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr "Verplaats dit lied omhoog in de lijst"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr "Omlaag"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr "Verplaats dit lied omlaag in de lijst"
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "Video wordt geladen..."
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "Liedje wordt geladen..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "Liedje bevat kapotte tracks!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "Menu wordt geladen..."
+
+#: ../game/screen_sing.cc:78
+msgid "Start"
+msgstr "Start"
+
+#: ../game/screen_sing.cc:78
+msgid "Start performing"
+msgstr "Optreden starten!"
+
+#: ../game/screen_sing.cc:82
+msgid "Duet mode"
+msgstr "Duet modus"
+
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr "Normale modus"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr "Wissel tussen duet en normale zangmodus."
+
+#: ../game/screen_sing.cc:92
+msgid "Change vocal track"
+msgstr "Verander van zanger"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr "Overslaan"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr "Sla huidig lied over"
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr "Druk op ↑ om mee te dansen!"
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr "Ga op ↑ staan om mee te doen!"
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr "Druk op 1 om mee te spelen op gitaar!"
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr "Druk op GROEN om mee te doen!"
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr "Druk op SPATIE om mee te drummen!"
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr "TRAP om mee te doen!"
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "   ENTER: sla muzikaal stuk over"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr "   Automatisch afspelen aan"
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   Wacht a.u.b. op de uitslag!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "Geen speler!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "Hitzanger"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "Solozanger"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "Opkomende ster"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "Amateur"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "Toondoof"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "Maniak"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "Professional"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "Verliezer"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "Virtuoos"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "Rocker"
+
+#: ../game/screen_songs.cc:290
+msgid "Sorry, no songs match the search!"
+msgstr "filter geeft geen resultaat"
+
+#: ../game/screen_songs.cc:293
+msgid "Sorry, no songs match the filter!"
+msgstr "Filter geeft geen resultaat"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "Geen liedjes gevonden!"
+
+#: ../game/screen_songs.cc:297
+msgid "Visit performous.org for free songs"
+msgstr "Bezoek performous.org voor gratis nummers"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr "<typ tekst om te zoeken>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr "liedjes"
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr "opties"
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr "sorteervolgorde:"
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr "type sortering:"
+
+#: ../game/screen_songs.cc:319
+msgid "hiscores"
+msgstr "scores"
+
+#: ../game/screen_songs.cc:319
+msgid "jukebox mode"
+msgstr "jukebox modus"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr "begin een afspeellijst met dit liedje!"
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr "open het afspeellijst menu"
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr "Afspelen"
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr "Bekijk afspeellijst"
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr "Afspeellijst wissen"
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "Gitaar"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "Coop gitaar"
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "Ritmegitaar"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "Bas"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "Drum"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "Stemmen"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "Harmonische 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "Harmonische 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "Harmonische 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr "Samen"
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr "Laat alle nummers zien"
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr "heeft dans"
+
+#: ../game/songs.cc:198
+msgid "has vocals"
+msgstr "heeft zang"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr "heeft duet"
+
+#: ../game/songs.cc:200
+msgid "has guitar"
+msgstr "heeft gitaar"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr "drums of toetsengitaar"
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr "volledige band"
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "willekeurige volgorde"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "gesorteerd op titel"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "gesorteerd op artiest"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "gesorteerd op editie"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "gesorteerd op genre"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "gesorteerd op pad"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "gesorteerd op taal"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr "Performous website"
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr "Bekijk database"
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr "Zoeken & Toevoegen"
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr "Gesorteerd op"
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr "Artiest"
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr "Titel"
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr "Taal"
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr "Editie"
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr "Maker"
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr "Normaal"
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr "Omgekeerd"
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr "Ververs iedere 10 seconden"
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr "Ververs database"
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr "Aankomende liedjes"
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr "Vernieuw afspeellijst"
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+"Web interface gemaakt door Niek Nooijens en Arjan Speiard, voor de volledige "
+"lijst bekijk /docs/Authors.txt"
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr "Zoeken"
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr "Beschikbare liedjes"
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr "Zoek een liedje"
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr "Ja"
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr "Nee"
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr "Omlaag"
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr "Naar positie"
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr "Verwijder liedje"
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr "Gewenste positie van het liedje"
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr "Annuleren"
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr "Sucecsvol verwijderd van de afspeellijst"
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+"Er is een probleem opgetreden tijden het verwijderen van een liedje uit de "
+"playlist"
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr "Succesvol de positie gewijzigd van het liedje"
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+"Er is een probleem opgetreden tijdens het wijzigen van de positie van een "
+"liedje"
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr "Succesvol het liedje omhoog verplaatst"
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+"Er is een probleem opgetreden tijdens het omhoog verplaatsen van het liedje"
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr "Succes het liedje omlaag verplaatst"
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+"Er is een probleem opgetreden tijdens het omlaag verplaatsen van het liedje"
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr "Succesvol het liedje toegevoegd aan de afspeellijst"
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+"Er is een probleem opgetreden tijdens het toevoegen van een liedje aan de "
+"afspeellijst"
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr "Geen liedjes gevonden met het huidige filter"
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "Deze functie is nog niet beschikbaar.\n"
+#~ "Pas de locaties aan door deze toe te voegen\n"
+#~ "als commando parameters en\n"
+#~ "daarna op te slaan in het optie menu."
+
+#~ msgid "Press any key to exit."
+#~ msgstr "Druk een toets om dit scherm te verlaten."
+
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr ""
+#~ "Windowsgebruikers kunnen ook gebruik maken van het ConfigureSongDirectory."
+#~ "bat script."
+
+#~ msgid "<type in to search>   ↔ songs    ↕ options"
+#~ msgstr "<typ om te zoeken> ↔ nummers  ↕ opties"
+
+#~ msgid "↔ hiscores   ↵ jukebox mode"
+#~ msgstr "↔ scores  ↵ jukebox mode"
+
+#~ msgid "Start the game with all songs in playlist"
+#~ msgstr "Start het spel met alle nummers in de afspeellijst"
+
+#~ msgid "View the current playlist"
+#~ msgstr "Bekijk de huidige afspellijst"
+
+#~ msgid "Back to song browser"
+#~ msgstr "Ga naar muziekverkenner"
+
+#~ msgid "No Items up to now."
+#~ msgstr "Geen item tot nu toe."
+
+#~ msgid "Be the first to be listed here!"
+#~ msgstr "Wees de eerste hier!"
+
+#~ msgid "Song is broken!"
+#~ msgstr "Nummer is kapot!"
+
+#~ msgid "Loading instruments..."
+#~ msgstr "Laden instrumenten..."
+
+#~ msgid "Finalizing..."
+#~ msgstr "Beëindigen"
+
+#, fuzzy
+#~ msgid "Loading graphics..."
+#~ msgstr "Laden lied..."
+
+#~ msgid "Random background..."
+#~ msgstr "Willekeurige achtergrond"
+
+#~ msgid "(press END to view hiscores)"
+#~ msgstr "(gebruik END-toets om recordscores te zien)"
+
+#~ msgid "Graphics"
+#~ msgstr "Visueel"
+
+#~ msgid "Gameplay settings."
+#~ msgstr "Spelopties."
+
+#~ msgid "Video and rendering settings."
+#~ msgstr "Beeld- en tekenopties."
+
+#~ msgid "Audio-related settings."
+#~ msgstr "Aan geluid gerelateerde opties."
+
+#~ msgid "System paths."
+#~ msgstr "Systeemlocaties"
+
+#~ msgid ""
+#~ "Part of sound card name or its number or empty to use the first available "
+#~ "device. Used currently for MIDI drum controllers."
+#~ msgstr ""
+#~ "Deel van de geluidskaartnaam of zijn nummer of leeg om het eerste "
+#~ "beschikbare apparaat te gebruiken. Momenteel gebruikt voor MIDI drum "
+#~ "controllers."
+
+#~ msgid "3D notes"
+#~ msgstr "3D noten"
+
+#~ msgid ""
+#~ "Draw instrument notes as 3-dimensional objects. May hurt performance on "
+#~ "older hardware."
+#~ msgstr ""
+#~ "Teken instrumentnoten als 3-dimensionale objecten. Kan een negatieve "
+#~ "invloed hebben op prestaties op oudere hardware."
+
+#~ msgid "Loading theme..."
+#~ msgstr "Laden thema..."
+
+#~ msgid "Loading background..."
+#~ msgstr "Laden achtergrond..."
+
+#~ msgid "Loading user interface..."
+#~ msgstr "Laden gebruikersinterface..."
+
+#~ msgid "Miscellaneous..."
+#~ msgstr "Diversen..."
diff --git a/lang/performous.pot b/lang/performous.pot
new file mode 100644 (file)
index 0000000..9ce7fa2
--- /dev/null
@@ -0,0 +1,1352 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:31+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr ""
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr ""
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr ""
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr ""
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr ""
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr ""
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr ""
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr ""
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr ""
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr ""
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr ""
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr ""
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr ""
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr ""
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr ""
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr ""
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr ""
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr ""
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr ""
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr ""
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr ""
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr ""
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr ""
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr ""
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr ""
+
+#: ../data/config/schema.xml:106
+msgid "Keyboard as keytar"
+msgstr ""
+
+#: ../data/config/schema.xml:107
+msgid "Enable keyboard as keytar."
+msgstr ""
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr ""
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr ""
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr ""
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr ""
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr ""
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr ""
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr ""
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr ""
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr ""
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr ""
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr ""
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr ""
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr ""
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr ""
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr ""
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr ""
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr ""
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr ""
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr ""
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr ""
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr ""
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr ""
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr ""
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr ""
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr ""
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr ""
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr ""
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr ""
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr ""
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr ""
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr ""
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr ""
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr ""
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr ""
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr ""
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr ""
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr ""
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr ""
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr ""
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr ""
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr ""
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr ""
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr ""
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr ""
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr ""
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr ""
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr ""
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr ""
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr ""
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr ""
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr ""
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr ""
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr ""
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr ""
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr ""
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr ""
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr ""
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr ""
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr ""
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr ""
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr ""
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr ""
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr ""
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr ""
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr ""
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr ""
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr ""
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr ""
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr ""
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr ""
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr ""
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr ""
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr ""
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr ""
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr ""
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr ""
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr ""
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr ""
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr ""
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr ""
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr ""
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr ""
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr ""
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr ""
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr ""
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr ""
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr ""
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr ""
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr ""
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr ""
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr ""
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr ""
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr ""
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr ""
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr ""
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr ""
+
+#: ../game/screen_players.cc:124
+msgid "No players worth mentioning!"
+msgstr ""
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr ""
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr ""
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr ""
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr ""
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr ""
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr ""
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr ""
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+msgid "View general playlist settings"
+msgstr ""
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr ""
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr ""
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr ""
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr ""
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr ""
+
+#: ../game/screen_sing.cc:78
+msgid "Start"
+msgstr ""
+
+#: ../game/screen_sing.cc:78
+msgid "Start performing"
+msgstr ""
+
+#: ../game/screen_sing.cc:82
+msgid "Duet mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:92
+msgid "Change vocal track"
+msgstr ""
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr ""
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr ""
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr ""
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr ""
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr ""
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr ""
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr ""
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr ""
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr ""
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr ""
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr ""
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr ""
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr ""
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr ""
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr ""
+
+#: ../game/screen_songs.cc:290
+msgid "Sorry, no songs match the search!"
+msgstr ""
+
+#: ../game/screen_songs.cc:293
+msgid "Sorry, no songs match the filter!"
+msgstr ""
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr ""
+
+#: ../game/screen_songs.cc:297
+msgid "Visit performous.org for free songs"
+msgstr ""
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr ""
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr ""
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr ""
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr ""
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr ""
+
+#: ../game/screen_songs.cc:319
+msgid "hiscores"
+msgstr ""
+
+#: ../game/screen_songs.cc:319
+msgid "jukebox mode"
+msgstr ""
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr ""
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr ""
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr ""
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr ""
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr ""
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr ""
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr ""
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr ""
+
+#: ../game/songs.cc:198
+msgid "has vocals"
+msgstr ""
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr ""
+
+#: ../game/songs.cc:200
+msgid "has guitar"
+msgstr ""
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr ""
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr ""
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr ""
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr ""
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr ""
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr ""
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr ""
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr ""
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr ""
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr ""
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr ""
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr ""
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr ""
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr ""
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr ""
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr ""
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr ""
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr ""
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr ""
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr ""
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr ""
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr ""
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr ""
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr ""
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr ""
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr ""
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr ""
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr ""
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr ""
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
diff --git a/lang/pl.po b/lang/pl.po
new file mode 100644 (file)
index 0000000..25fd76b
--- /dev/null
@@ -0,0 +1,1519 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:36+0200\n"
+"PO-Revision-Date: 2017-08-30 22:36+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: \n"
+"Language: pl_PL\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "Gra"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "Konfiguracja ustawień gry"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "Grafika"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Konfiguracja ustawień video"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "Urządzenia audio"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "Ustawienia mikrofonów oraz odtwarzania"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "Audio"
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr "Konfiguracja ustawień audio"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "Foldery"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "Ustawienia katalogów"
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr "Tryb karaoke"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "Wyłącza wyświetlanie aktualnej wysokości dźwięku, nut oraz punktacji,"
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr "Styl podświetlania tekstu"
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr "Autoodtwarzanie"
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr "Odtwarzaj losowe utwory po zakończeniu playlisty."
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "Wysokość dźwięku"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr ""
+"Aktywuje wyświetlanie aktualnej wysokości dźwięku (gdy wyłączony tryb "
+"karaoke)."
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "Kompozycja"
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr "Nazwa kompozycji do użycia."
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr "Klawiatura w roli gitary"
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr ""
+"Wykorzystanie klawiatury jako wirtualnej gitary(tryb \"Frets on Fire\")."
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr "Klawiatura w roli perkusji"
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr "Wykorzystanie klawiatury jako wirtualnej perkusji."
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr "Klawiatura w roli maty do tańczenia"
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr "Wykorzystanie klawiatury jako wirtualnej maty do tańczenia."
+
+#: ../data/config/schema.xml:106
+msgid "Keyboard as keytar"
+msgstr "Klawiatura w roli keytara"
+
+#: ../data/config/schema.xml:107
+msgid "Enable keyboard as keytar."
+msgstr "Wykorzystanie klawiatury jako keytara"
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr "Wymuś typ kontrolera A"
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+"Pomiń wynik autodetekcji i wykorzystaj pierwszy kontroler jako konkretne "
+"urządzenie."
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr "Wymuś typ kontrolera B"
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+"Pomiń wynik autodetekcji i wykorzystaj drugi kontroler jako konkretne "
+"urządzenie."
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr "Wymuś typ kontrolera C"
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+"Pomiń wynik autodetekcji i wykorzystaj trzeci kontroler jako konkretne "
+"urządzenie."
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr "Wymuś typ kontrolera D"
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+"Pomiń wynik autodetekcji i wykorzystaj czwarty kontroler jako konkretne "
+"urządzenie."
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr "Konfiguracja joystick'a"
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr "Wykorzystaj joystick jako kontroler gry."
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr "Urządzenie wejściowe MIDI"
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+"Regex wyznaczające urządzenie MIDI do użycia. Domyślnie używane są wszystkie "
+"urządzenia."
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr "Alternatywne kodowanie tekstu"
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr "Wybierz kodek dla tekstów utworów nie zapisanych w UTF-8. "
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr "Szerokość okna"
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr "Rozdzielczość pozioma aplikacji uruchomionej w oknie."
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr "Wysokość okna"
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr "Rozdzielczość pionowa aplikacji uruchomionej w oknie."
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr "Tryb pełnoekranowy"
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr "Aktywuj tryb pełnoekranowy przy starcie."
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr "Tryb 3D"
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr "Włącz tryb 3D"
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr "Typ trybu 3D"
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr "Niektóre tryby mogą być aktywowane jedynie w trybie pełnoekranowym."
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr "Separacja kanałów 3D"
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+"Siła efektu. Eksperymentuj z różnymi wartościami dla uzyskania żądanego "
+"efektu."
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr "Odtwarzanie video"
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+"Pozwala wyłączyć odtwarzanie klipów video. Zaleca się pozostawienie tej "
+"opcji włączonej a Performous wyłączy klip w przypadku, gdy komputer okaże "
+"się zbyt mało wydajny."
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr "Obraz z kamery jako tło"
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"Performous może wykorzystać obraz z kamery internetowej jako tło. Dezaktywuj "
+"opcję przy problemach z uruchomieniem utworów."
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr "ID kamery internetowej"
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+"Użyj wartości -1 aby dokonać autodetekcji lub wprowadź liczbę wskazującą na "
+"konkretne urządzenie."
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "Jakość grafiki SVG"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+"Wyższe wartości spowodują, że grafika wektorowa będzie renderowana w wyższej "
+"rozdzielczości, niższe przyspieszą działanie menu."
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "Jakość tekstu"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+"Wyższe wartości spowodują, że tekst będzie renderowany w wyższej "
+"rozdzielczości, niższe przyspieszą działanie menu."
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr "Tryb Benchmark"
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"Znosi limit dot. maks. wartości FPS.Aktualna wartość FPS wyświetlana jest w "
+"konsoli. Jednak sterowniki karty graficznej mogą wciąż ograniczać ilość FPS "
+"do wartości wyznaczonej przez częstotliwość odświeżania ekranu."
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr "Zalecane opóźnienie"
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+"Odpowiada za parametr właściwego opóźnienia dla silnika audio. Wskazana jak "
+"najniższa wartość, lecz nie zniekształcająca dźwięku. Wymagany restart."
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr "Opóźnienie audio/video"
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+"Dotyczy wszystkich trybów. Użyj ujemnych wartości, jeśli input lag video "
+"jest większy  niż opóźnienie audio, w przeciwnym razie użyj dodatnich "
+"wartości lub 0 jeśli są równe. W efekcie nuty powinny przechodzić przez "
+"kursor w momencie ich odgrywania. Użyj Ctrl+F1/F2 aby dostosować ten "
+"parametr podczas występu."
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr "Opóźnienie wokalu"
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+"Dotyczy śpiewania. Czas pomiędzy odtworzeniem dźwięku przez głośniki a jego "
+"ponowną analizą po przechwyceniu przez mikrofon.  Użyj  Ctrl+S aby aktywować "
+"tryb Synth oraz Ctrl+F3/F4 aby dostosować ten parametr podczas występu."
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr "Opóźnienie kontrolera"
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+"Dotyczy trybu instrumentów i tańca. Dotyczy całkowitego opóźnienia USB (np. "
+"gitary) oraz opóźnienia audio. Ustaw tak, aby móc trafiać w dźwięki "
+"najdokładniej w momencie ich odtwarzania. Użyj Ctrl+F5/F6 aby dostosować ten "
+"parametr podczas występu."
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr "Urządzenia audio"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr "Lista dostępnych urządzeń audio"
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "Głośność menu"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr "Głośność menu, podglądu utworów oraz w trybie Grającej szafy."
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "Głośność muzyki"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+"Głośność muzyki podczas gry. Wartości powyżej 90 mogą powodować "
+"zniekształcenia."
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "Głośność dźwięku błędu"
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+"Głośność dźwięku błędu podczas gry. Wartości powyżej 90 mogą powodować "
+"zniekształcenia."
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr "Odsłuch dla mikrofonu"
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr "Przesyła dźwięk z mikrofonu do głośników."
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr "Współczynnik głośności odsłuchu"
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr "Stosunek głośności odsłuchu względem muzyki."
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr "Tłum kanał centralny"
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr "Tłumi dźwięk z centralnego kanału (np. wokal)"
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr "Katalog utworów"
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr "Katalog ten jest przeszukiwany rekursywnie w poszukiwaniu utworów."
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr "Katalogi danych"
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+"Domyślne ustawienia uwzględnione automatycznie. Dodatkowe ścieżki można "
+"dodać tutaj."
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr ""
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "Aktywne"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "Nieaktywne"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d elementów"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "Początkujący"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "Łatwy"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "Średni"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "Trudny"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "Wyzwanie"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "Gotowy?!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "Rozpocznij występ!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "Wybierz utwór"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "Wybierz poziom trudności"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "Wyjdź"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "Powrót do wyboru utworów."
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "STOP!"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "Streak!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "Bardzo łatwy"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "Bardzo trudny"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "Tryb dla leworęcznych"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "Włączone"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "Wyłączone"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "Przełącz tryb dla leworęcznych"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"God Mode\n"
+"Aktywny!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "Ignorowanie błędów!"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "God Mode gotowy!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "Perkusja!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "Solo!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "Kontynuuj"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "Wróć do występu!"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "Powrót"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "Zmień zaznaczenie"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "Restart"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr "Rozpocznij od nowa"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "Wczytywanie sampli audio..."
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "Tworzenie ekranów..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "Uruchamianie menu głównego"
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "Wczytano"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "Utworzono zrzut ekranu!"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "Błąd tworzenia zrzutu ekranu!"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"Twoje ręczne ustawienia wydają się być\n"
+"niekompatybilne z tym controlerem.\n"
+"Zapis spowoduje nadpisanie\n"
+"ustawień wszystkich urządzeń audio.\n"
+"Pozostałe zmiany w ustawieniach również zostaną zapisane."
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "-Nieprzydzielone-"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"Nawiguj za pomocą strzałek. ENTER/START aby zapisać i przetestować. ESC/"
+"SELECT aby anulować.Ctrl + R aby przywrócić wartości domyślne."
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"Zaawansowanej konfiguracji dokonaj wykorzystując parametr --audio w konsoli "
+"(--audiohelp wyświetla pomoc)."
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "Problem z uruchomieniem urządzeń audio!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "Brak urządzeń odtwarzających.\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Skonfiguruj zanim rozpoczniesz grę."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr "Zapisano ustawienia jako domyślne."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr "Zapisano ustawienia."
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Ctrl + S zapisuje ustawienia, Ctrl + R przywraca ustawienia domyślne"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "Występ"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "Próba"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "Próba mikrofonu oraz twoich możliwości"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "Ustawienia"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "Konfiguracja ustawień"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "Wyjście z gry"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "Nie znaleziono żadnego gracza!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Podaj imię, aby utworzyć nowego gracza."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "Wciśnij ENTER, aby dodać nowego gracza!"
+
+#: ../game/screen_players.cc:124
+msgid "No players worth mentioning!"
+msgstr "Brak graczy do wyróżnienia!"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "Zdobyłeś %1% punktów!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Użyj strzałek, aby zmienić gracza."
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Imię:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Wpisz tekst aby wyszukać lub utworzyć nowego gracza."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "Wyszukaj tekst:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "Inicjalizacja kamery..."
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr "Kontynuuj"
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr "Kontynuuj występ"
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr "Dodaj utwory"
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr "Otwórz przeglądarkę aby dodać więcej utworów"
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr "Losuj"
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr "Losuj utwory z playlisty"
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr "Wyczyść i wyjdź"
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr "Usuń wszystkie utwory z listy"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr "Powrót"
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr "Powrót do widoku playlisty"
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr "Naciśnij ENTER aby zobaczyć opcje dotyczące utworów"
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr "Więcej ustawień"
+
+#: ../game/screen_playlist.cc:326
+msgid "View general playlist settings"
+msgstr "Podstawowe ustawienia playlisty"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr "Graj ten utwór"
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr "Ignoruj playlistę i rozpocznij od tego utworu"
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr "Graj ten utwór!"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr "Usuń"
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr "Usuń ten utwór z listy"
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr "Przesuń do góry"
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr "Przesuń utwór w górę listy"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr "Przesuń w dół"
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr "Przesuń utwór w dół listy"
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "Wczytywanie video..."
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "Wczytywanie utworu..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "Utwór zawiera uszkodzone ścieżki!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "Wczytywanie menu głównego…"
+
+#: ../game/screen_sing.cc:78
+msgid "Start"
+msgstr "Rozpocznij"
+
+#: ../game/screen_sing.cc:78
+msgid "Start performing"
+msgstr "Rozpocznij występ!"
+
+#: ../game/screen_sing.cc:82
+msgid "Duet mode"
+msgstr "Tryb Duetu"
+
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr "Tryb Normalny"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr "Przełącz pomiędzy trybem duetu a trybem solo"
+
+#: ../game/screen_sing.cc:92
+msgid "Change vocal track"
+msgstr "Zmień ścieżkę wokalną"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr "Pomiń"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr "Pomiń aktualny utwór"
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr "Naciśnij GÓRA aby tańczyć"
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr "Naciśnij GÓRA aby dołączyć!"
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr "Naciśnij 1 aby uruchomić gitarę"
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr "Naciśnij ZIELONY aby dołączyć!"
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr "Naciśnij SPACJĘ aby uruchomić perkusję!"
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr "Uderz STOPĘ aby dołączyć!"
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "   ENTER pomija część instrumentalną"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr "   Auto odtwarzanie włączone"
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   Pamiętaj, aby poczekać na klasyfikację!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "Brak Graczy!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "Gwiazda piosenki"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "Wokalista"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "Debiutant"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "Amator"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "Głuchy"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "Maniak"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "Tancerz"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "Przegrany"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "Wirtuoz"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "Rocker"
+
+#: ../game/screen_songs.cc:290
+msgid "Sorry, no songs match the search!"
+msgstr "Brak utworów spełniających kryterium!"
+
+#: ../game/screen_songs.cc:293
+msgid "Sorry, no songs match the filter!"
+msgstr "Brak utworów spełniających kryterium!"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "Nie znaleziono żadnych utworów!"
+
+#: ../game/screen_songs.cc:297
+msgid "Visit performous.org for free songs"
+msgstr "Odwiedź performous.org, aby pobrać darmowe utwory"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr "<wpisz szukaną frazę>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr "utwory"
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr "opcje"
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr "sortowanie:"
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr "filtruj:"
+
+#: ../game/screen_songs.cc:319
+msgid "hiscores"
+msgstr "Punktacja"
+
+#: ../game/screen_songs.cc:319
+msgid "jukebox mode"
+msgstr "Tryb grającej szafy"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr "umieść utwór na początku playlisty!"
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr "otwórz menu playlisty"
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr "Graj"
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr "Zobacz playlistę"
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr "Wyczyść playlistę"
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "Gitara"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "Gitara Coop"
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "Gitara Rhythm"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "Gitara Basowa"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "Perkusja"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "Wokal"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "Harmonika 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "Harmonika 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "Harmonika 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr "Razem"
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr "Pokaż wszystkie utwory"
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr "Taniec"
+
+#: ../game/songs.cc:198
+msgid "has vocals"
+msgstr "Wokal"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr "Duet"
+
+#: ../game/songs.cc:200
+msgid "has guitar"
+msgstr "Gitara"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr "Perkusja lub Keytar"
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr "Zespół"
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "Losowo"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "sort. wg. Tytułu"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "sort. wg. Artysty"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "sort. wg. Źródła"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "sort. wg. Gatunku"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "sort. wg. Katalogu"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "sort. wg. Języka"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr ""
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr ""
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr ""
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr ""
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr ""
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr ""
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr ""
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr ""
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr ""
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr ""
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr ""
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr ""
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr ""
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr ""
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr ""
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr ""
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr ""
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr ""
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr ""
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr ""
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "Opcja jeszcze nie gotowa.\n"
+#~ "Dodaj katalogi wpisując je\n"
+#~ "w postaci parametrów linii poleceń\n"
+#~ "następnie zapisz ustawienia w menu."
+
+#~ msgid "Press any key to exit."
+#~ msgstr "Naciśnij dowolny klawisz aby wyjść."
+
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr "Użytkownicy Windows mogą użyć skryptu ConfigureSongDirectory.bat."
+
+#~ msgid "Song is broken!"
+#~ msgstr "Utwór jest uszkodzony!"
+
+#~ msgid "Loading instruments..."
+#~ msgstr "Wczytywanie instrumentów..."
+
+#~ msgid "Finalizing..."
+#~ msgstr "Finalizowanie..."
+
+#~ msgid "Loading graphics..."
+#~ msgstr "Wczytywanie grafiki..."
+
+#~ msgid "Random background..."
+#~ msgstr "Losowe tło..."
+
+#~ msgid "no songs match search"
+#~ msgstr "Brak utworów spełniających kryterium!"
+
+#~ msgid "(press END to view hiscores)"
+#~ msgstr "(END wyświetla listę zwycięzców)"
+
+#~ msgid "Hisccore for %1%\n"
+#~ msgstr "Punktacja dla %1%\n"
+
+#~ msgid "Graphics"
+#~ msgstr "Opcje Video"
+
+#~ msgid "No Items up to now."
+#~ msgstr "Lista jest pusta."
+
+#~ msgid "Be the first to be listed here!"
+#~ msgstr "Bądź pierwszym na tej liście!"
+
+#~ msgid "Gameplay settings."
+#~ msgstr "Ustawienia gry"
+
+#~ msgid "Video and rendering settings."
+#~ msgstr "Ustawienia video"
+
+#~ msgid "Audio-related settings."
+#~ msgstr "Ustawnienia audio"
+
+#~ msgid "System paths."
+#~ msgstr "Katalog systemowy"
+
+#~ msgid ""
+#~ "Part of sound card name or its number or empty to use the first available "
+#~ "device. Used currently for MIDI drum controllers."
+#~ msgstr ""
+#~ "Część nazwy karty dźwiękowej lub puste aby użyć pierwszego urządzenia."
+#~ "Używane jednocześnie dla kontrolerów MIDI perkusji."
+
+#~ msgid "3D notes"
+#~ msgstr "Nuty 3D"
+
+#~ msgid ""
+#~ "Draw instrument notes as 3-dimensional objects. May hurt performance on "
+#~ "older hardware."
+#~ msgstr ""
+#~ "Wyświetla trójwymiarowe nuty. Może powodować spadek wydajności na "
+#~ "starszym sprzęcie."
+
+#~ msgid "<type in to search>   ↔ songs    ↕ options"
+#~ msgstr "<pisz aby wyszukać>   ↔ utwory    ↕ opcje"
+
+#~ msgid "↔ hiscores   ↵ jukebox mode"
+#~ msgstr "↔ punktacja   ↵ tryb grającej szafy"
+
+#~ msgid "Start the game with all songs in playlist"
+#~ msgstr "Rozpocznij grę ze wszystkimi utworami na playliście"
+
+#~ msgid "View the current playlist"
+#~ msgstr "Zobacz aktualną playlistę"
+
+#~ msgid "Back to song browser"
+#~ msgstr "Powrót do wyboru utworów."
+
+#~ msgid "Loading theme..."
+#~ msgstr "Wczytywanie kompozycji..."
+
+#~ msgid "Loading background..."
+#~ msgstr "Wczytywanie tła..."
+
+#~ msgid "Loading user interface..."
+#~ msgstr "Wczytywanie interfejsu urzytkownika..."
+
+#, fuzzy
+#~ msgid "Audio..."
+#~ msgstr "Audio"
+
+#~ msgid "System"
+#~ msgstr "System"
diff --git a/lang/pt_BR.po b/lang/pt_BR.po
new file mode 100644 (file)
index 0000000..2f38b12
--- /dev/null
@@ -0,0 +1,1518 @@
+# Brazilian Portuguese translation for Performous
+# Copyright (C) 2006-2012 Performous Devel Team
+# This file is distributed under the same license as the Performous package.
+# Rafael Ferreira <rafael.f.f1@gmail.com>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:36+0200\n"
+"PO-Revision-Date: 2017-08-30 22:36+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: \n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "Jogo"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "Opções relacionadas à jogabilidade"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "Gráfico"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Configurar renderização e configurações de vídeo"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "Dispositivos de áudio"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "Configurar microfones e reprodução"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "Áudio"
+
+#: ../data/config/schema.xml:33
+#, fuzzy
+msgid "Configure general audio settings"
+msgstr "Configurar renderização e configurações de vídeo"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "Caminhos"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "Configurar caminhos de músicas e dados"
+
+#: ../data/config/schema.xml:48
+#, fuzzy
+msgid "Karaoke mode"
+msgstr "Modo benchmark"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "Esconder onda de frequência, notas e pontuação."
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr ""
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr ""
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr ""
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "Ondas de frequência"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr ""
+"Habilitar visualização de frequência no canto (quando não estiver no modo "
+"karaokê)."
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "Tema"
+
+#: ../data/config/schema.xml:71
+#, fuzzy
+msgid "Name of the theme to use."
+msgstr "Nome do tema usado ou caminho absoluto para a pasta do tema."
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr "Teclado como guitarra"
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr "Habilita o teclado como guitarra (modo Frets on Fire)."
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr "Teclado como kit de bateria"
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr "Habilita o teclado com kit de bateria."
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr "Teclado como tapete de dança"
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr "Habilita o teclado como tapete de dança."
+
+#: ../data/config/schema.xml:106
+#, fuzzy
+msgid "Keyboard as keytar"
+msgstr "Teclado como teclado"
+
+#: ../data/config/schema.xml:107
+#, fuzzy
+msgid "Enable keyboard as keytar."
+msgstr "Habilita o teclado como teclado."
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr ""
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr ""
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr ""
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr ""
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr "Configuração do joystick"
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr "Forçar o joystick para algum tipo de instrumento."
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr "Dispositivo de entrada MIDI de hardware"
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr ""
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr ""
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr "Largura de janela"
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr "A largura da janela."
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr "Altura de janela"
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr "A altura da janela."
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr "Modo tela cheia"
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr "Habilita o modo tela cheia na inicialização."
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr "3D estereoscópico"
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr "Habilita renderização 3D do Performous."
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr "Tipo do stereo3D"
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr "Alguns modos podem ser ativados somente em modo tela cheia."
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr "Separação do stereo3D"
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+"A qualidade do efeito. Experimente com configurações diferentes para "
+"melhores resultados."
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr "Reprodução de vídeo"
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+"Permite desabilitar completamente vídeos em plano de fundo. É recomendado "
+"manter isso habilitado pois o Performous vai continuar a escurecer o vídeo "
+"suavemente se o seu computador não foi suficientemente rápido."
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr "Webcam como plano de fundo"
+
+#: ../data/config/schema.xml:212
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"Performous pode usar a webcam como vídeo de plano de fundo. Desabilite essa "
+"opção se o Performous travar enquanto estiver entrando em uma música."
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr "ID da webcam"
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+"Use -1 para detectar automaticamente ou um número começando em 0 para "
+"escolher um dispositivo específico."
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "Qualidade SVG"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+"Números grandes fazem com que o vetor de gráficos seja renderizado em "
+"resolução mais alta. Reduza-o para tornar a navegação nos menus mais rápida."
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "Qualidade do texto"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+"Números muito grandes fazem com que o texto seja renderizado em resolução "
+"mais alta. Reduza-o para tornar tudo um pouco mais rápido."
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr "Modo benchmark"
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"Limite de framrate de 100 FPS é removido e, portanto, o jogo renderiza em "
+"velocidade máxima. Os valores de FPS são exibidos no console. Por favor, "
+"repare que os drivers de vídeo ainda podem limitar a velocidade de "
+"renderização à taxa de atualização da tela."
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr "Latência sugerida"
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+"Essa é uma dica para o motor de áudio sobre a latência desejada. Defina isso "
+"para o mínimo possível, e preservando uma reprodução limita do áudio."
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr "Latência de áudio/vídeo"
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+"Afeta todos os modos. Use um valor negativo se o lag da entrada de vídeo for "
+"maior do que a latência da saída da placa de som, valores positivos no caso "
+"oposto e zero se eles forem iguais. Isso pode ser definido de forma que as "
+"notas passem o cursor ao mesmo tempo que o áudio é ouvido. Use Ctrl+F1/F2 "
+"para ajustar isso enquanto durante a apresentação."
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr "Latência de ida e volta do áudio"
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+"Afeta somente o canto. O tempo que leva para a reprodução do Performous "
+"chegar ao seus alto-falantes, ir até o microfone e todo o caminho de volta "
+"até que Performous capture e analise-o. Durante a apresentação, pressione "
+"Ctrl+S para o modo sintetizador e ajuste com Ctrl+F3/F4."
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr "Latência do áudio/controle"
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+"Afeta instrumentos e dança somente. O total de latência do USB (guitarra ou "
+"tapete de dança) combinado com a latência da saída. Ajuste de forma que você "
+"possa acertar melhor as notas enquanto joga só ouvindo (não olhando para a "
+"tela). Use Ctrl+F5/F6 para ajustar durante a apresentação."
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr "Dispositivos de áudio"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr "Lista de dispositivos de áudio para tentar."
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "Volume dos menus"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr ""
+"O nível do volume de menus, pré-visualização de músicas e modo jukebox."
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "Volume das músicas"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+"O volume da música durante a apresentação. Valores acima de 90 não são "
+"recomendados pois pode ocorrer distorção."
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "Volume das falhas"
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+"O volume do som de falhas  durente a apresentação. Valores acima de 90 não "
+"são recomendados pois pode ocorrer distorção. 11 é mais alto do que 10, mas "
+"pode chegar até 100. 89 é bem alto!"
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr ""
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr ""
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr ""
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr ""
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr ""
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr ""
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr "Pastas das músicas"
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+"Onde procurar recursivamente por músicas. DATADIR no começo significa todas "
+"as pastas de dados do Performous."
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr "Pastas base para dados"
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+"Padrões do sistema são incluídos automaticamente. Caminhos adicionais podem "
+"ser adicionados aqui."
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr ""
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "Habilitado"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "Desabilitado"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d itens"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "Iniciante"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "Fácil"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "Médio"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "Difícil"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "Desafio"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "Pronto!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "Comece a apresentação!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "Seleciona a faixa"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "Selecione a dificuldade"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "Sair"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "Sair do navegador de músicas"
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "PARE!"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "Acerto!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "Crianças"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "Especialista"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "Modo canhoto"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "ON"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "OFF"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "Ativar modo canhoto"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"God Mode\n"
+"ativado!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "Erros ignorados!"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "God Mode disponível!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "Ritmo de bateria!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "Solo!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "Resumir"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "Volte à apresentação!"
+
+# Rejoin is described as change song.
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "Alterar"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "Alterar seleções"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "Reiniciar"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"Comece a música\n"
+"do começo"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "Carregando amostras de áudio..."
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "Criando telas..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "Entrando no menu principal"
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "Carregamento concluído"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "Captura de tela armazenada!"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "Captura de tela falhou!"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"Parece que você tem algumas configurações\n"
+"manuais incompatíveis com essa interface de\n"
+"usuário. Ao salvar essas configurações vai\n"
+"sobrescrever todos as configurações dos \n"
+"dispositivos de áudio existentes. Suas outras\n"
+"alterações também serão salvas."
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "- Não atribuído -"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"Use as setas do teclado para configurar. Pressione Enter/Start para salvar e "
+"testar ou Esc/Select para cancelar. Ctrl + R para redefinir para o padrão"
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"Para configurações avançada de dispositivo, use o parâmetro de linha de "
+"comando --audio (use --audiohelp para detalhes)."
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "Alguns dispositivos falharam ao abrir!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "Nenhum dispositivo de reprodução pôde ser usado.\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Por favor, configure algumas algum antes de jogar."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr "Configurações salvas como padrão do sistema."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr "Configurações salvas."
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Ctrl + S para salvar, Ctrl + R para redefinir para o padrão"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "Apresentar"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "Praticar"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "Verifique suas habilidades ou teste seus microfones"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "Configurar"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "Configurar opções de áudio e jogo"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "Sair do jogo"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "Nenhum jogador encontrado!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Digite um nome para criar um novo jogador."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "Pressione enter para criar o jogador!"
+
+#: ../game/screen_players.cc:124
+#, fuzzy
+msgid "No players worth mentioning!"
+msgstr "Nenhum jogador encontrado!"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "Você alcançou %1% pontos!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Mude de jogador com as setas do teclado."
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Nome:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Digite texto para filtrar ou criar um novo jogador."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "Pesquisar texto:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "Inicializando webcam..."
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr ""
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr ""
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+#, fuzzy
+msgid "View general playlist settings"
+msgstr "Configurar configurações gerais de áudio"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr ""
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "Carregando vídeo..."
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "Carregando música..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "A música contém faixas corrompidas!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "Carregando menu..."
+
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start"
+msgstr "Reiniciar"
+
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start performing"
+msgstr "Comece a apresentação!"
+
+#: ../game/screen_sing.cc:82
+#, fuzzy
+msgid "Duet mode"
+msgstr "Modo canhoto"
+
+#: ../game/screen_sing.cc:83
+#, fuzzy
+msgid "Normal mode"
+msgstr "Modo karaokê"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:92
+#, fuzzy
+msgid "Change vocal track"
+msgstr ""
+"Altere a faixa vocal\n"
+"(requer reinicialização)"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr ""
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "   ENTER para pular o intervalo instrumental"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr ""
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   Lembre-se de esperar pela pontuação!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "Nenhum jogador!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "Cantor de sucesso"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "Cantor líder"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "Estrela em ascensão"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "Amador"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "Surdo"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "Maníaco"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "Dançarino"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "Perdedor"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "Virtuoso"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "Rockeiro"
+
+#: ../game/screen_songs.cc:290
+#, fuzzy
+msgid "Sorry, no songs match the search!"
+msgstr "Nenhuma música corresponde à pesquisa"
+
+#: ../game/screen_songs.cc:293
+#, fuzzy
+msgid "Sorry, no songs match the filter!"
+msgstr "Nenhuma música corresponde à pesquisa"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "Nenhuma música encontrada!"
+
+#: ../game/screen_songs.cc:297
+#, fuzzy
+msgid "Visit performous.org for free songs"
+msgstr ""
+"Visite performous.org\n"
+"para obter músicas livres"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr "<digite para pesquisar>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr ""
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr ""
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr ""
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr ""
+
+#: ../game/screen_songs.cc:319
+#, fuzzy
+msgid "hiscores"
+msgstr "Recorde de %1%\n"
+
+#: ../game/screen_songs.cc:319
+#, fuzzy
+msgid "jukebox mode"
+msgstr "Modo canhoto"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr ""
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr ""
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr ""
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr ""
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "Guitarra"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "Guitarra co-op"
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "Guitarra rítmica"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "Baixo"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "Baterias"
+
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "Vocais"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "Harmônica 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "Harmônica 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "Harmônica 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr ""
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr ""
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr ""
+
+#: ../game/songs.cc:198
+#, fuzzy
+msgid "has vocals"
+msgstr "Vocais"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr ""
+
+#: ../game/songs.cc:200
+#, fuzzy
+msgid "has guitar"
+msgstr "Guitarra rítmica"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr ""
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr ""
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "ordem aleatória"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "ordenar por música"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "ordenar por artista"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "ordenar por edição"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "ordenar por gênero"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "ordenar por caminho"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "ordenar por idioma"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr ""
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr ""
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr ""
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr ""
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr ""
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr ""
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr ""
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr ""
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr ""
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr ""
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr ""
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr ""
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr ""
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr ""
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr ""
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr ""
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr ""
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr ""
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr ""
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr ""
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "Essa ferramenta não está disponível ainda.\n"
+#~ "Configure os caminhos adicionando-os\n"
+#~ "como parâmetros de linha de comando e,\n"
+#~ "então, salve-os no menu de configuração."
+
+#~ msgid "Press any key to exit."
+#~ msgstr "Pressione qualquer tecla para sair."
+
+#, fuzzy
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr ""
+#~ "Usuários Windows também podem user ConfigureSongDirectory.bat no "
+#~ "diretório bin."
+
+#, fuzzy
+#~ msgid "Back to song browser"
+#~ msgstr "Sair do navegador de músicas"
+
+#~ msgid "No Items up to now."
+#~ msgstr "Nenhum item até agora."
+
+#~ msgid "Be the first to be listed here!"
+#~ msgstr "Seja o primeiro a estar listado aqui!"
+
+#~ msgid "Song is broken!"
+#~ msgstr "A música está corrompida!"
+
+#~ msgid "Loading instruments..."
+#~ msgstr "Carregando instrumentos..."
+
+#~ msgid "Finalizing..."
+#~ msgstr "Finalizando..."
+
+#~ msgid "Loading graphics..."
+#~ msgstr "Carregando gráficos..."
+
+#~ msgid "Random background..."
+#~ msgstr "Planos de fundo aleatórios..."
+
+#~ msgid "(press END to view hiscores)"
+#~ msgstr "(pressione END para ver os recordes)"
+
+#~ msgid "Graphics"
+#~ msgstr "Gráficos"
+
+#~ msgid "Gameplay settings."
+#~ msgstr "Configurações de jogabilidade."
+
+#~ msgid "Video and rendering settings."
+#~ msgstr "Configurações de vídeo e renderização."
+
+#~ msgid "Audio-related settings."
+#~ msgstr "Configurações relacionadas ao áudio."
+
+#~ msgid "System paths."
+#~ msgstr "Caminhos do sistema."
+
+#~ msgid ""
+#~ "Part of sound card name or its number or empty to use the first available "
+#~ "device. Used currently for MIDI drum controllers."
+#~ msgstr ""
+#~ "Parte do nome da placa de som ou seu número ou vazio, para usar o "
+#~ "primeiro dispositivo disponível. Atualmente usado para controles de "
+#~ "bateria MIDI."
+
+#~ msgid "3D notes"
+#~ msgstr "Notas em 3D"
+
+#~ msgid ""
+#~ "Draw instrument notes as 3-dimensional objects. May hurt performance on "
+#~ "older hardware."
+#~ msgstr ""
+#~ "Desenhar notas de instrumentos como objetos tridimensionais. Pode afetar "
+#~ "a performance em hardwares antigos."
diff --git a/lang/sk.po b/lang/sk.po
new file mode 100644 (file)
index 0000000..fffbcc7
--- /dev/null
@@ -0,0 +1,1160 @@
+# Performous Slovak translation.
+# This file is distributed under the same license as the Performous package.
+# Jose Riha <jose 1711 at gmail dot com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-11-05 19:35+0100\n"
+"PO-Revision-Date: 2018-11-05 11:29+0100\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _\n"
+"X-Poedit-Basepath: .\n"
+"X-Generator: Poedit 2.2\n"
+"Last-Translator: Jose Riha <jose1711@gmail.com> \n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n>=2 && n<=4 ? 1 : 2);\n"
+"Language: sk_SK\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../game/song.hh:25
+msgid "Guitar"
+msgstr "Gitara"
+
+#: ../game/song.hh:25
+msgid "Coop guitar"
+msgstr "Gitara (režim spolupráce)"
+
+#: ../game/song.hh:25
+msgid "Rhythm guitar"
+msgstr "Rytmická gitara"
+
+#: ../game/song.hh:25
+msgid "Bass"
+msgstr "Basová"
+
+#: ../game/song.hh:25
+msgid "Drums"
+msgstr "Bicie"
+
+#: ../game/song.hh:25
+msgid "Vocals"
+msgstr "Spev"
+
+#: ../game/song.hh:25
+msgid "Harmonic 1"
+msgstr "Harmonika 1"
+
+#: ../game/song.hh:25
+msgid "Harmonic 2"
+msgstr "Harmonika 2"
+
+#: ../game/song.hh:25
+msgid "Harmonic 3"
+msgstr "Harmonika 3"
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "Zapnuté"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "Vypnuté"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d položiek"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "Začiatočník"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "Ľahké"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "Stredne ťažké"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "Ťažké"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "Výzva"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "Pripravený!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:166
+msgid "Start performing!"
+msgstr "Predveďte sa!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "Vyberte stopu"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "Vyber náročnosť"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:184
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:128
+msgid "Quit"
+msgstr "Ukončiť"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:128
+msgid "Exit to song browser"
+msgstr "Vrátiť sa na výber skladby"
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "ZASTAV!"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "Šnúra!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "Deti"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "Expert"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "Režim pre ľavákov"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "ZAPNUTÉ"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "VYPNUTÉ"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "Prepnúť režim pre ľavákov"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"Režim pre bohov\n"
+"Aktivovaný!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "Chyby ignorované!"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "Režim pre bohov pripravený!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "Dávka bicích!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "Sólo!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "Pokračovať"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "Nazad k vystúpeniu!"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "Znova sa pripojiť"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "Zmena výberu"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "Reštart"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"Spustiť skladbu\n"
+"od začiatku"
+
+#: ../game/main.cc:151
+msgid "Loading audio samples..."
+msgstr "Nahrávam zvukové vzorky..."
+
+#: ../game/main.cc:165
+msgid "Creating screens..."
+msgstr "Vytváram obrazovky..."
+
+#: ../game/main.cc:175
+msgid "Entering main menu"
+msgstr "Vstupujem do hlavnej ponuky"
+
+#: ../game/main.cc:177 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "Nahrávanie dokončené"
+
+#: ../game/main.cc:188
+msgid "Screenshot taken!"
+msgstr "Snímka obrazovky vytvorená!"
+
+#: ../game/main.cc:191
+msgid "Screenshot failed!"
+msgstr "Chyba pri vytváraní snímky obrazovky!"
+
+#: ../game/screen_audiodevices.cc:54
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"Vyzerá, že časť vašich manuálnych nastavení\n"
+"je nekompatibilná s užívateľským rozhraním.\n"
+"Uloženie aktuálnych nastavení prepíše\n"
+"všetky existujúce nastavenia audio zariadení.\n"
+"Zvyšné nastavenia sa uložia takisto."
+
+#: ../game/screen_audiodevices.cc:113
+msgid "- Unassigned -"
+msgstr "- Nepriradené -"
+
+#: ../game/screen_audiodevices.cc:134
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"Použite kurzorové šípky na konfiguráciu. Stlačte Enter/Start pre uloženie a "
+"test konfigurácie a Esc/Select pre jej zrušenie. Ctrl - R pre reštart "
+"nastavení na východzie hodnoty"
+
+#: ../game/screen_audiodevices.cc:139
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"Pre pokročilú konfiguráciu zariadení použite prepínač --audio v príkazovom "
+"riadku (--audiohelp zobrazí podrobnosti)."
+
+#: ../game/screen_audiodevices.cc:187
+msgid "Some devices failed to open!"
+msgstr "Chyba pri prístupe k niektorým zariadeniam!"
+
+#: ../game/screen_intro.cc:24
+msgid "No playback devices could be used.\n"
+msgstr "Nebolo možné použiť žiadne zariadenia na prehrávanie zvuku.\n"
+
+#: ../game/screen_intro.cc:25
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Prosím nastavte nejaké pred tým, ako začnete hrať."
+
+#: ../game/screen_intro.cc:69
+msgid "Settings saved as system defaults."
+msgstr "Nastavenia boli uložené ako východzie."
+
+#: ../game/screen_intro.cc:69
+msgid "Settings saved."
+msgstr "Nastavenia uložené."
+
+#: ../game/screen_intro.cc:149
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Ctrl + S pre uloženie, Ctrl + R pre reštart na východzie hodnoty"
+
+#: ../game/screen_intro.cc:166
+msgid "Perform"
+msgstr "Ukážte sa"
+
+#: ../game/screen_intro.cc:167
+msgid "Practice"
+msgstr "Cvičte"
+
+#: ../game/screen_intro.cc:167
+msgid "Check your skills or test the microphones"
+msgstr "Vyskúšajte svoje schopnosti alebo otestujte mikrofóny"
+
+#: ../game/screen_intro.cc:183
+msgid "Configure"
+msgstr "Nastavenia"
+
+#: ../game/screen_intro.cc:183
+msgid "Configure audio and game options"
+msgstr "Nastavenia zvuku a hry"
+
+#: ../game/screen_intro.cc:184
+msgid "Leave the game"
+msgstr "Opustiť hru"
+
+#: ../game/screen_paths.cc:19
+msgid ""
+"This tool is not yet available.\n"
+"Configure paths by adding them\n"
+"as command line parameters and\n"
+"then save them in configuration menu."
+msgstr ""
+"Tento nástroj ešte nie je dostupný.\n"
+"Nastavte cesty tak, že ich pridáte\n"
+"ako parametre v príkazovom riadku a\n"
+"potom ich uložte v ponuke s nastaveniami."
+
+#: ../game/screen_paths.cc:65
+msgid "Press any key to exit."
+msgstr "Ľubovoľný kláves ukončí hru."
+
+#: ../game/screen_paths.cc:71
+msgid "Windows users can also use ConfigureSongDirectory.bat script."
+msgstr ""
+"Používatelia Windows môžu tiež použiť skript ConfigureSongDirectory.bat."
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "Nenašiel som žiadnych hráčov!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Zadajte meno pre vytvorenie nového hráča."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "Stlačte Enter pre vytvorenie hráča!"
+
+#: ../game/screen_players.cc:124
+msgid "No players worth mentioning!"
+msgstr "Žiadni hráči, ktorí by stáli za zmienku!"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "Dosiahli ste %1% bodov!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Hráčov vymeníte pomocou kurzorových šípok."
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Meno:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Zadajte text pre filtrovanie alebo vytvorenie nového hráča."
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "Text pre hľadanie:"
+
+#: ../game/screen_playlist.cc:24 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "Nastavujem webovú kameru..."
+
+#: ../game/screen_playlist.cc:166 ../game/screen_playlist.cc:309
+msgid "Continue"
+msgstr "Pokračovať"
+
+#: ../game/screen_playlist.cc:166
+msgid "Continue playing"
+msgstr "Pokračovať v hre"
+
+#: ../game/screen_playlist.cc:174
+msgid "Add songs"
+msgstr "Pridať skladby"
+
+#: ../game/screen_playlist.cc:174
+msgid "Open the song browser to add more songs"
+msgstr "Otvoriť prehliadač skladieb a umožniť ich pridanie"
+
+#: ../game/screen_playlist.cc:175 ../game/screen_songs.cc:520
+msgid "Shuffle"
+msgstr "Zamiešať"
+
+#: ../game/screen_playlist.cc:175
+msgid "Randomize the order of the playlist"
+msgstr "Náhodne zamiešať poradie skladieb v playliste"
+
+#: ../game/screen_playlist.cc:181
+msgid "Clear and exit"
+msgstr "Vyčistiť a ukončiť"
+
+#: ../game/screen_playlist.cc:181
+msgid "Remove all the songs from the list"
+msgstr "Odstrániť všetky skladby zo zoznamu"
+
+#: ../game/screen_playlist.cc:187 ../game/screen_playlist.cc:350
+#: ../game/screen_songs.cc:533
+msgid "Back"
+msgstr "Naspäť"
+
+#: ../game/screen_playlist.cc:187 ../game/screen_playlist.cc:350
+msgid "Back to playlist viewer"
+msgstr "Naspäť do režimu zobrazenia playlistu"
+
+#: ../game/screen_playlist.cc:294
+msgid "Press enter to view song options"
+msgstr "Stlačte Enter pre zobrazenie možností skladby"
+
+#: ../game/screen_playlist.cc:301
+msgid "View more options"
+msgstr "Zobraziť dalšie možnosti"
+
+#: ../game/screen_playlist.cc:301
+msgid "View general playlist settings"
+msgstr "Zobraziť všeobecné nastavenia playlistu"
+
+#: ../game/screen_playlist.cc:309
+msgid "Play first"
+msgstr "Hrať ako prvú"
+
+#: ../game/screen_playlist.cc:311
+msgid "Ignore the playlist's order and play this song first"
+msgstr "Ignorovať poradie v playliste a túto skladbu hrať ako prvú"
+
+#: ../game/screen_playlist.cc:312
+msgid "Start the song already!"
+msgstr "Spusti už tú skladbu!"
+
+#: ../game/screen_playlist.cc:321
+msgid "Remove"
+msgstr "Odstrániť"
+
+#: ../game/screen_playlist.cc:321
+msgid "Remove this song from the list"
+msgstr "Odstrániť skladbu zo zoznamu"
+
+#: ../game/screen_playlist.cc:333
+msgid "Move up"
+msgstr "Presunúť vyššie"
+
+#: ../game/screen_playlist.cc:333
+msgid "Move this song up the list"
+msgstr "Presunúť skladbu v zozname o pozíciu vyššie"
+
+#: ../game/screen_playlist.cc:343
+msgid "Move Down"
+msgstr "Presunúť nižšie"
+
+#: ../game/screen_playlist.cc:343
+msgid "Move this song down the list"
+msgstr "Presunúť skladbu v zozname o pozíciu nižšie"
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "Nahrávam video..."
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "Nahrávam skladbu..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "Skladba obsahuje rozbité stopy!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "Nahrávam ponuku..."
+
+#: ../game/screen_sing.cc:78
+msgid "Start"
+msgstr "Štart"
+
+#: ../game/screen_sing.cc:78
+msgid "Start performing"
+msgstr "Spusti hru"
+
+#: ../game/screen_sing.cc:82
+msgid "Duet mode"
+msgstr "Režim duetu"
+
+#: ../game/screen_sing.cc:83
+msgid "Normal mode"
+msgstr "Normálny režim"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr "Prepnúť medzi duetom a klasickým spevom"
+
+#: ../game/screen_sing.cc:92
+msgid "Change vocal track"
+msgstr "Zmeniť stopu so spevom"
+
+#: ../game/screen_sing.cc:127
+msgid "Skip"
+msgstr "Preskočiť"
+
+#: ../game/screen_sing.cc:127
+msgid "Skip current song"
+msgstr "Preskočiť aktuálnu skladbu"
+
+#: ../game/screen_sing.cc:279
+msgid "Press UP to join dance!"
+msgstr "Stlačte HORE a pridajte sa k tancu!"
+
+#: ../game/screen_sing.cc:279
+msgid "Step UP to join!"
+msgstr "Stlačte HORE  a pridajte sa!"
+
+#: ../game/screen_sing.cc:284
+msgid "Press 1 to join guitar!"
+msgstr "Stlačte 1 a pridajte sa k hre na gitaru!"
+
+#: ../game/screen_sing.cc:284
+msgid "Press GREEN to join!"
+msgstr "Stlačte ZELENÚ a pridajte sa!"
+
+#: ../game/screen_sing.cc:289
+msgid "Press SPACE to join drums!"
+msgstr "Stlačte MEDZERU a pridajte sa s bicími!"
+
+#: ../game/screen_sing.cc:289
+msgid "KICK to join!"
+msgstr "KOPNITE a pridajte sa!"
+
+#: ../game/screen_sing.cc:517
+msgid "   ENTER to skip instrumental break"
+msgstr " Inštrumentálnu časť preskočíte ENTEROM"
+
+#: ../game/screen_sing.cc:521 ../game/screen_sing.cc:535
+msgid "   Autoplay enabled"
+msgstr " Automatické prehrávanie zapnuté"
+
+#: ../game/screen_sing.cc:524 ../game/screen_sing.cc:532
+msgid "   Remember to wait for grading!"
+msgstr " Počkajte ešte na hodnotenie!"
+
+#: ../game/screen_sing.cc:662
+msgid "No player!"
+msgstr "Žiaden hráč!"
+
+#: ../game/screen_sing.cc:669
+msgid "Hit singer"
+msgstr "Spevák hitov"
+
+#: ../game/screen_sing.cc:670
+msgid "Lead singer"
+msgstr "Popredný spevák"
+
+#: ../game/screen_sing.cc:671 ../game/screen_sing.cc:677
+#: ../game/screen_sing.cc:683
+msgid "Rising star"
+msgstr "Vychádzajúca hviezda"
+
+#: ../game/screen_sing.cc:672 ../game/screen_sing.cc:678
+#: ../game/screen_sing.cc:684
+msgid "Amateur"
+msgstr "Amatér"
+
+#: ../game/screen_sing.cc:673 ../game/screen_sing.cc:685
+msgid "Tone deaf"
+msgstr "Bez hudobného sluchu"
+
+#: ../game/screen_sing.cc:675
+msgid "Maniac"
+msgstr "Maniak"
+
+#: ../game/screen_sing.cc:676
+msgid "Hoofer"
+msgstr "Profík"
+
+#: ../game/screen_sing.cc:679
+msgid "Loser"
+msgstr "Lúzer"
+
+#: ../game/screen_sing.cc:681
+msgid "Virtuoso"
+msgstr "Virtuóz"
+
+#: ../game/screen_sing.cc:682
+msgid "Rocker"
+msgstr "Rocker"
+
+#: ../game/screen_songs.cc:288
+msgid "Sorry, no songs match the search!"
+msgstr "Ľutujem, žiadna skladba nezodpovedá hľadanému reťazcu!"
+
+#: ../game/screen_songs.cc:291
+msgid "Sorry, no songs match the filter!"
+msgstr "Ľutujem, žiadne skladby nezodpovedajú filtru!"
+
+#: ../game/screen_songs.cc:294
+msgid "No songs found!"
+msgstr "Neboli nájdené žiadne skladby!"
+
+#: ../game/screen_songs.cc:295
+msgid "Visit performous.org for free songs"
+msgstr "Pre viac skladieb zdarma navštívte performous.org"
+
+#: ../game/screen_songs.cc:313
+msgid "<type in to search>"
+msgstr "<začnite písať pre vyhľadávanie>"
+
+#: ../game/screen_songs.cc:313
+msgid "songs"
+msgstr "skladby"
+
+#: ../game/screen_songs.cc:313
+msgid "options"
+msgstr "voľby"
+
+#: ../game/screen_songs.cc:315
+msgid "sort order: "
+msgstr "poradie: "
+
+#: ../game/screen_songs.cc:316
+msgid "type filter: "
+msgstr "filter podľa typu: "
+
+#: ../game/screen_songs.cc:317
+msgid "hiscores"
+msgstr "rekordy"
+
+#: ../game/screen_songs.cc:317
+msgid "jukebox mode"
+msgstr "režim jukeboxu"
+
+#: ../game/screen_songs.cc:320
+msgid "start a playlist with this song!"
+msgstr "playlist začať touto skladbou!"
+
+#: ../game/screen_songs.cc:320
+msgid "open the playlist menu"
+msgstr "otvoriť ponuku playlistu"
+
+#: ../game/screen_songs.cc:513
+msgid "Play"
+msgstr "Hrať"
+
+#: ../game/screen_songs.cc:526
+msgid "View playlist"
+msgstr "Otvoriť playlist"
+
+#: ../game/screen_songs.cc:527
+msgid "Clear playlist"
+msgstr "Vymazať playlist"
+
+#: ../game/songparser-xml.cc:109
+msgid "Together"
+msgstr "Spolu"
+
+#: ../game/songs.cc:191
+msgid "show all songs"
+msgstr "zobraziť všetky skladby"
+
+#: ../game/songs.cc:192
+msgid "has dance"
+msgstr "má tanec"
+
+#: ../game/songs.cc:193
+msgid "has vocals"
+msgstr "má spev"
+
+#: ../game/songs.cc:194
+msgid "has duet"
+msgstr "má duet"
+
+#: ../game/songs.cc:195
+msgid "has guitar"
+msgstr "má gitaru"
+
+#: ../game/songs.cc:196
+msgid "drums or keytar"
+msgstr "bicie alebo keytara"
+
+#: ../game/songs.cc:197
+msgid "full band"
+msgstr "celá skupina"
+
+#: ../game/songs.cc:225
+msgid "random order"
+msgstr "náhodné poradie"
+
+#: ../game/songs.cc:226
+msgid "sorted by song"
+msgstr "zoradené podľa názvu skladby"
+
+#: ../game/songs.cc:227
+msgid "sorted by artist"
+msgstr "zoradené podľa autora"
+
+#: ../game/songs.cc:228
+msgid "sorted by edition"
+msgstr "zoradené podľa edície"
+
+#: ../game/songs.cc:229
+msgid "sorted by genre"
+msgstr "zoradené podľa žánru"
+
+#: ../game/songs.cc:230
+msgid "sorted by path"
+msgstr "zoradené podľa cesty"
+
+#: ../game/songs.cc:231
+msgid "sorted by language"
+msgstr "zoradené podľa jazyku"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "Hra"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "Voľby súvisiace s hrou"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "Grafika"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Nastaviť vykresľovanie a prehrávanie videa"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "Zvukové zariadenia"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "Nastaviť mikrofóny a prehrávanie audia"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "Audio"
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr "Nastaviť všeobecné voľby audia"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "Cesty"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "Nastaviť cesty pre skladby a údaje"
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr "Režim karaoke"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "Nezobrazovať vizualizáciu hlasu, noty a skóre."
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr "Štýl zvýrazňovania textu"
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr "Automatické prehrávanie"
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr "Po vyprázdnení playlistu pokračovať v prehrávaní náhodných skladieb."
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "Vizualizácia hlasu"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr "Povoliť zobrazenie výšky hlasu (ak nie je zapnutý režim karaoke)."
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "Téma"
+
+#: ../data/config/schema.xml:71
+msgid "Name of the theme to use."
+msgstr "Názov témy, ktorá sa má použiť."
+
+#: ../data/config/schema.xml:74
+msgid "Keyboard as guitar"
+msgstr "Klávesnica miesto gitary"
+
+#: ../data/config/schema.xml:75
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr "Použiť klávesnicu ako gitaru (režim ako vo Frets on Fire)"
+
+#: ../data/config/schema.xml:78
+msgid "Keyboard as drumkit"
+msgstr "Klávesnica ako sada bicích"
+
+#: ../data/config/schema.xml:79
+msgid "Enable keyboard as drumkit."
+msgstr "Použiť klávesnicu ako sadu bicích."
+
+#: ../data/config/schema.xml:82
+msgid "Keyboard as dance pad"
+msgstr "Klávesnica ako tanečná podložka"
+
+#: ../data/config/schema.xml:83
+msgid "Enable keyboard as dance pad."
+msgstr "Použiť klávesnicu miesto tanečnej podložky."
+
+#: ../data/config/schema.xml:86
+msgid "Keyboard as keytar"
+msgstr "Klávesnica ako keytara"
+
+#: ../data/config/schema.xml:87
+msgid "Enable keyboard as keytar."
+msgstr "Použiť klávesnicu miesto keytary."
+
+#: ../data/config/schema.xml:94
+msgid "Force controller A's type"
+msgstr "Vynútiť typ ovládača A"
+
+#: ../data/config/schema.xml:95
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+"Ignorovať automatickú detekciu a vynútiť použitie prvého ovládača pre "
+"vybraný typ."
+
+#: ../data/config/schema.xml:102
+msgid "Force controller B's type"
+msgstr "Vynútiť typ ovládača B"
+
+#: ../data/config/schema.xml:103
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+"Ignorovať automatickú detekciu a vynútiť použitie druhého ovládača pre "
+"vybraný typ."
+
+#: ../data/config/schema.xml:110
+msgid "Force controller C's type"
+msgstr "Vynútiť typ ovládača C"
+
+#: ../data/config/schema.xml:111
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+"Ignorovať automatickú detekciu a vynútiť použitie tretieho ovládača pre "
+"vybraný typ."
+
+#: ../data/config/schema.xml:118
+msgid "Force controller D's type"
+msgstr "Vynútiť typ ovládača D"
+
+#: ../data/config/schema.xml:119
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+"Ignorovať automatickú detekciu a vynútiť použitie štvrtého ovládača pre "
+"vybraný typ."
+
+#: ../data/config/schema.xml:126
+msgid "Joystick configuration"
+msgstr "Konfigurácia joysticku"
+
+#: ../data/config/schema.xml:127
+msgid "Force joystick to some kind of instrument."
+msgstr "Vynútiť použitie joysticku pre nejaký druh nástroja."
+
+#: ../data/config/schema.xml:130
+msgid "Hardware MIDI input device"
+msgstr "Vstupné zariadenie MIDI"
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+"Regulárny výraz pre výber MIDI zariadenia. Štandardne sa použijú všetky "
+"dostupné zariadenia."
+
+#: ../data/config/schema.xml:146
+msgid "Fallback song encoding"
+msgstr "Záložné kódovanie textu"
+
+#: ../data/config/schema.xml:147
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr "Vyberte kódovanie textu pre piesne, ktoré nie sú v kódovaní UTF-8."
+
+#: ../data/config/schema.xml:154
+msgid "Windowed width"
+msgstr "Šírka pri zobrazení v okne"
+
+#: ../data/config/schema.xml:155
+msgid "The width of the window."
+msgstr "Šírka okna."
+
+#: ../data/config/schema.xml:160
+msgid "Windowed height"
+msgstr "Výška pri zobrazení v okne"
+
+#: ../data/config/schema.xml:161
+msgid "The height of the window."
+msgstr "Výška okna."
+
+#: ../data/config/schema.xml:164
+msgid "Fullscreen mode"
+msgstr "Režim celej obrazovky"
+
+#: ../data/config/schema.xml:165
+msgid "Enable fullscreen mode on startup."
+msgstr "Zapnúť celoobrazovkový režim pri štarte."
+
+#: ../data/config/schema.xml:168
+msgid "Stereoscopic 3D"
+msgstr "Stereoskopické 3D"
+
+#: ../data/config/schema.xml:169
+msgid "Enable 3D rendering of Performous."
+msgstr "Zapnúť 3D zobrazovanie."
+
+#: ../data/config/schema.xml:177
+msgid "Stereo3D type"
+msgstr "Typ Stereo3D"
+
+#: ../data/config/schema.xml:178
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr ""
+"Niektoré režimy 3D zobrazenia je možne aktivovať len v režime celej "
+"obrazovky."
+
+#: ../data/config/schema.xml:183
+msgid "Stereo3D separation"
+msgstr "Stereo3D separovanie"
+
+#: ../data/config/schema.xml:184
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+"Intenzita efektu. Vyskúšajte viac nastavení a nájdite tak to, ktoré vám "
+"vyhovuje najviac."
+
+#: ../data/config/schema.xml:187
+msgid "Video playback"
+msgstr "Prehrávanie videa"
+
+#: ../data/config/schema.xml:188
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+
+#: ../data/config/schema.xml:191
+msgid "Webcam background"
+msgstr "Pozadie webkamery"
+
+#: ../data/config/schema.xml:192
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"Performous môže ako pozadie použiť obraz vašej webkamery. Vypnite túto "
+"voľbu, ak Performous spadne pri spúšťaní skladby."
+
+#: ../data/config/schema.xml:196
+msgid "Webcam id"
+msgstr "Id webkamery"
+
+#: ../data/config/schema.xml:197
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr "Zadajte -1 pre automatickú detekciu, kamery sú číslovane od nuly."
+
+#: ../data/config/schema.xml:202
+msgid "SVG quality"
+msgstr "Kvalita SVG"
+
+#: ../data/config/schema.xml:203
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+"Vyššie čísla znamenajú, že vektorová grafika bude vykreslená vo vyššom "
+"rozlíšení. Nižšie umožňujú plynulejší pohyb v ponuke."
+
+#: ../data/config/schema.xml:208
+msgid "Text quality"
+msgstr "Kvalita textu"
+
+#: ../data/config/schema.xml:209
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+"Vyššie čísla vykreslia text v lepšom rozlíšení. Použite nižšie čísla pre "
+"celkové zrýchlenie hry."
+
+#: ../data/config/schema.xml:212
+msgid "Benchmark mode"
+msgstr "Režim benchmarku"
+
+#: ../data/config/schema.xml:213
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"Obmedzenie FPS na 100 je vypnuté a hra tak používa vykreslenie najvyššou "
+"rýchlosťou. Hodnoty FPS sú vypisované do konzoly. Uvedomte si však, že "
+"niektoré ovládače grafiky môžu stále obmedzovať rýchlosť vykresľovania podľa "
+"obnovovacej frekvencie obrazovky."
+
+#: ../data/config/schema.xml:220
+msgid "Suggested latency"
+msgstr "Navrhovaná latencia"
+
+#: ../data/config/schema.xml:221
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+
+#: ../data/config/schema.xml:226
+msgid "Audio/video latency"
+msgstr "Audio/video latencia"
+
+#: ../data/config/schema.xml:227
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+
+#: ../data/config/schema.xml:232
+msgid "Audio round-trip latency"
+msgstr ""
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+
+#: ../data/config/schema.xml:238
+msgid "Audio/controller latency"
+msgstr "Latencia pre audio/ovládač"
+
+#: ../data/config/schema.xml:239
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+
+#: ../data/config/schema.xml:246
+msgid "Audio devices"
+msgstr "Audio zariadenia"
+
+#: ../data/config/schema.xml:247
+msgid "List of audio devices to try."
+msgstr "Zoznam audio zariadení na vyskúšanie."
+
+#: ../data/config/schema.xml:252
+msgid "Menu volume"
+msgstr "Hlasitosť v ponuke"
+
+#: ../data/config/schema.xml:253
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr "Hlasitosť v ponukách, náhľadoch skladieb a režime jukeboxu."
+
+#: ../data/config/schema.xml:258
+msgid "Music volume"
+msgstr "Hlasitosť hudby"
+
+#: ../data/config/schema.xml:259
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+"Hlasitosť hudby v hre. Hodnoty nad 90 nie sú odporúčané nakoľko môže "
+"dochádzať ku skresleniu."
+
+#: ../data/config/schema.xml:264
+msgid "Failure volume"
+msgstr "Hlasitosť chyby"
+
+#: ../data/config/schema.xml:265
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+"Hlasitosť pri chybe. Hodnoty nad 90 nie sú odporúčané, pretože môže dojsť ku "
+"skresleniu. Úroveň 11 je hlasnejšia ako 10, ale hodnoty idú až ku stovke. 89 "
+"je naozaj nahlas!"
+
+#: ../data/config/schema.xml:268
+msgid "Microphone pass-through"
+msgstr "Pass-through mikrofónu"
+
+#: ../data/config/schema.xml:269
+msgid "Send captured singing voice to speakers."
+msgstr "Poslať zosnímaný hlas spevu do reproduktorov."
+
+#: ../data/config/schema.xml:274
+msgid "Pass-through volume ratio"
+msgstr "Pomer hlasitosti pre pass-through"
+
+#: ../data/config/schema.xml:275
+msgid "How much voice is amplified compared to the music."
+msgstr "Koľkokrát je zvuk oproti hudbe zosilnený."
+
+#: ../data/config/schema.xml:278
+msgid "Suppress center channel"
+msgstr "Potlačiť stredový kanál"
+
+#: ../data/config/schema.xml:279
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr "Potlačiť výstup pre stredný kanál (napr. spev)"
+
+#: ../data/config/schema.xml:290
+msgid "Song folders"
+msgstr "Priečinky so skladbami"
+
+#: ../data/config/schema.xml:291
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+"Ktoré priečinky rekurzívne prehľadávať. DATADIR na začiatku znamená všetky "
+"dátové priečinky Performous."
+
+#: ../data/config/schema.xml:294
+msgid "Base folders for data"
+msgstr "Základný priečinok pre dáta"
+
+#: ../data/config/schema.xml:295
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+"Východzie nastavenia sú automaticky prevzaté zo systému. Tu môžete pridať "
+"dodatočné cesty."
diff --git a/lang/sv.po b/lang/sv.po
new file mode 100644 (file)
index 0000000..cb4f0a6
--- /dev/null
@@ -0,0 +1,1522 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:36+0200\n"
+"PO-Revision-Date: 2017-08-30 22:36+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: \n"
+"Language: sv_SE\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "Spel"
+
+# Gameplay skulle nog tom kunna funka...
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "Spelstils relaterade alternativ"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "Grafik"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "Ställ in renderings- och videoalternativ"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "Ljudenheter"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "Ställ in mikrofoner och uppspelning"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "Ljud"
+
+#: ../data/config/schema.xml:33
+msgid "Configure general audio settings"
+msgstr "Konfigurera allmänna ljudalternativ"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "Sökvägar"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "Ställ in låt- och datasökvägar"
+
+#: ../data/config/schema.xml:48
+msgid "Karaoke mode"
+msgstr "Karaoke-läge"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "Döljer tonhöjdsvågorna, noterna och poängräkningen"
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr ""
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr ""
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr ""
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "Tonhöjdsvågor"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr "Aktivera tonhöjds visning (när ej i karaoke-läge)"
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "Tema"
+
+#: ../data/config/schema.xml:71
+#, fuzzy
+msgid "Name of the theme to use."
+msgstr "Namnet på temat att använda eller absolut sökväg till temakatalogen"
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr "Tangentbord som gitarr"
+
+# ...
+# Enable -> Use?
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr "Använd tangentbordet som gitarr (Frets on Fire läge)"
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr "Tangentbord som trumkit"
+
+# ...
+# Enable -> Use?
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr "Använd tangentbordet som trumkit "
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr "Tangentbord som dansmatta"
+
+# ...
+# Enable -> Use?
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr "Använd tangentbordet som dansmatta"
+
+#: ../data/config/schema.xml:106
+#, fuzzy
+msgid "Keyboard as keytar"
+msgstr "Tangentbord som gitarr"
+
+# ...
+# Enable -> Use?
+#: ../data/config/schema.xml:107
+#, fuzzy
+msgid "Enable keyboard as keytar."
+msgstr "Använd tangentbordet som dansmatta"
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr ""
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr ""
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr ""
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr ""
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr "Joystick-konfiguration"
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr "Tvinga joysticken till något from av instrument"
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr "Hårdvaru MIDI indataenhet"
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr ""
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr ""
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr "Fönsterbredd"
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr "Fönstrets bredd i fönsterläge"
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr "Fönsterhöjd"
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr "Fönstrets höjd i fönsterläge"
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr "Helskärmsläge"
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr "Aktivera helskärmsläge vid uppstart"
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr ""
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr ""
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr ""
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr ""
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr ""
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr "Video uppspelning"
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+"Möjliggör total avstängning av bakgrundsvideor. Det är rekommenderat att "
+"lämna detta aktiverat eftersom Performous automatiskt tonar ut video om din "
+"dator inte är snabb nog."
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr "Web-kamerabakgrund"
+
+#: ../data/config/schema.xml:212
+#, fuzzy
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"Performous kan försöka använda web-kameran som bakgrundsvideo. Du kan stänga "
+"av detta om det stör dig."
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr "Web-kamera id"
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr ""
+"Använd -1 för autodetektering eller ett tal med början från 0 för att välja "
+"en specifik enhet."
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "SVG-kvalitet"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr ""
+"Större tal gör att vektorgrafiken renderas is högre upplösning. Minska detta "
+"för att göra menynavigation snabbare."
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "Textkvalitet"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr ""
+"Större tal gör att text renderas is högre upplösning. Minska detta för att "
+"göra allt lite snabbare."
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr "Prestandamätnings-läge"
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"Ramhastighetsbegränsningen på 100 FPS tas bort och spelet renderas istället "
+"i full hastighet. FPS värden skrivs ut till konsollen. Notera att skärmens "
+"drivrutin fortfarande kan begränsa renderingshastigheten till skärmens "
+"uppdateringshastighet."
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr "Föreslagen fördröjning"
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+"Detta är en ledtråd till ljudmotorn om den önskade fördröjningen. Ställ in "
+"detta till lägsta möjliga värde med bibehållet klar ljuduppspelning. Kräver "
+"omstart."
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr "Ljud/video-fördröjning"
+
+# display input lag.
+# sound card output latency.
+# IMO: the details ("Use neg...") should be *after* the "This should be set". (translation preserves current order.)
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+"Påverkar alla lägen. Använd negativa värden om skräm in eftersläpet är "
+"större än ljudkortets ut fördröjning, välj positiva värden om det är tvärtom "
+"och noll om de lika stora. Detta bör ställas in så att noterna passerar "
+"markören samtidigt som ljudet hörs. Använd Ctrl+F1/F2 för att justera under "
+"pågående uppträdande."
+
+# ...
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr "Ljud round-trip fördröjning"
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+"Påverkar endast sjungande. Tiden det tar för Performous ljuduppspelning att "
+"från högtalarna, till mikrofonen och hela vägen tillbaks tills Performous "
+"plockar upp det och analyserar det. Tryck Ctrl+S för synt-läge under "
+"pågående uppträdande och justera med Ctrl+F3/F4."
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr "Ljud/kontroll-fördröjning"
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+"Påverkar endast instrument och dans. Den totala USB (gitarr eller dansmatta) "
+"fördröjningen kombinerat med utgående ljud-fördröjning. Justera så att du "
+"kan träffa noterna när du spelar efter känsla (inte ser på skärmen). Använd "
+"Ctrl+F5/F6 för att justera under uppträdande."
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr "Ljudenheter"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr "Lista med ljudenheter att prova."
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "Meny-volym"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr "Ljudvolymen i menyer, vid förhandsgranskning av låtar och jukebox-läge"
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "Musik-volym"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr ""
+"Ljudvolymen i spelet. Värden över 90 rekommenderas inte då distortion kan "
+"ske."
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "Misslyckande-volym"
+
+# ... heh?
+# Following the german trans: ignoring "89 louder!"
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+"Ljudvolymen vid misslyckande under spel. Värden över 90 rekommenderas inte "
+"eftersom förvrängning kan ske. 11 är högre än 10, men dessa går upp till 100."
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr ""
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr ""
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr ""
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr ""
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr ""
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr ""
+
+# Låt/Sång
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr "Låtkataloger"
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr ""
+"Anger var rekursiv sökning efter låtar sker. DATADIR i början innebär alla "
+"Performous datakataloger."
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr "Baskatalog för data"
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr ""
+"Systemets standardvärden inkluderas automatiskt. Extra sökvägar kan läggas "
+"till här."
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr ""
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "Aktiverad"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "Inaktiverad"
+
+# alternativ verkar passa med string_list i koden
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d alternativ"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "Nybörjare"
+
+# Lätt eller enkel
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "Lätt"
+
+# Medium eller mellan kanske
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "Medium"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "Svårt"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "Utmaning"
+
+# Redo! eller klar!
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "Redo!"
+
+# ...
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "Börja uppträd!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "Välj spår"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "Välj svårighetsgrad"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "Avsluta"
+
+# låt/sång
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "Återgå till låt bläddraren"
+
+# stanna eller sluta?
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "STANNA!"
+
+# [RFC:sv] "Stråk!" känns rumphugget, "Vinnar Stråk!" inte heller bra. "Serie" blir också konstigt...
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr ""
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "Barn"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "Expert"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "Vänsterläge"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "PÅ"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "AV"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "Växla vänsterläge"
+
+# ...
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"God Mode\n"
+"Aktiverat!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "Misstag ignorerade"
+
+# ...
+# förberet?
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "God Mode Redo!"
+
+# ...
+# kör på en översättning av tysk översättningen :P
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "Trum-insats!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "Solo!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "Fortsätt"
+
+# ...
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "Tillbaks till uppträdande"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "Välj om"
+
+# ...
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "Ändra val"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "Börja om"
+
+# start <-> restart?
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"Börja låten\n"
+"från början"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "Laddar ljud..."
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "Skapar skärmar..."
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "Går in i huvudmenyn"
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "Laddning klar"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "Skärmdump tagen!"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "Misslyckades att ta skärmdump!"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"Det ser ut som om du har några manuella inställningar\n"
+"som är inkompatibla med detta användargränssnittet.\n"
+"Sparande av dessa inställningar kommer skriva över\n"
+"alla befintliga alternativ för ljudenhetskonfiguration.\n"
+"Alla andra ändringar av alternativ kommer sparas också."
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "- Ej tilldelad -"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"Använd piltangenterna för att konfigurera. Tryck Enter/Start för att spara "
+"och testa eller Esc/Select för att avbryta. Ctrl + R för att återställa "
+"standardvärden"
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"För avancerad enhetskonfiguration, använd kommandoradsparametern --audio "
+"(använd --audiohelp för detaljer)."
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "Några enheter kunde inte öppnas!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "Inga uppspelningsenheter kunde användas.\n"
+
+# ...
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Var god och konfigurera något innan du spelar."
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr ""
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr ""
+
+# add "ESC returns" to it?
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Ctrl + S sparar, Ctrl + R återställer ursprungsvärden"
+
+# ...
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "Uppträd"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "Träna"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "Testa dina förmågor eller mikrofoner"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "Konfigurera"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "Ställ in ljud- och spelalternativ"
+
+# Avsluta/Lämna
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "Avsluta spelet"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "Inga spelare funna!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "Ange ett namn för att skapa spelare."
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "Tryck på enter för att skapa spelaren!"
+
+#: ../game/screen_players.cc:124
+#, fuzzy
+msgid "No players worth mentioning!"
+msgstr "Inga spelare funna!"
+
+# fick/klarade/tog/plockade
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "Du fick %1% poäng!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "Byt spelare med piltangenterna."
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "Namn:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "Skriv in en text för att filtrera eller skapa spelare"
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "Sök text:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "Sätter upp web-kamera"
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr ""
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr ""
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+#, fuzzy
+msgid "View general playlist settings"
+msgstr "Konfigurera allmänna ljudalternativ"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr ""
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "Laddar video..."
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "Laddar låt..."
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "Låten innehåller trasiga spår!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "Laddar meny..."
+
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start"
+msgstr "Börja om"
+
+# ...
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start performing"
+msgstr "Börja uppträd!"
+
+#: ../game/screen_sing.cc:82
+#, fuzzy
+msgid "Duet mode"
+msgstr "Vänsterläge"
+
+#: ../game/screen_sing.cc:83
+#, fuzzy
+msgid "Normal mode"
+msgstr "Karaoke-läge"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:92
+#, fuzzy
+msgid "Change vocal track"
+msgstr ""
+"Byt röst spår\n"
+"(omstart krävs)"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr ""
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr ""
+
+# skippa/hoppa över
+# ... instrumentalt mellanspel ...
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "   ENTER för att skippa mellanspel"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr ""
+
+# gradering eller betygsättning?
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   Kom ihåg att vänta på graderingen!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "Ingen spelare!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "Hit sångare"
+
+# ...
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "Lead sångare"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "Stjärnskott"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "Amatör"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "Tondöv"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "Galning"
+
+# ...
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "Dansare"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "Förlorare"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "Virtuos"
+
+# ...
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "Rockare"
+
+#: ../game/screen_songs.cc:290
+#, fuzzy
+msgid "Sorry, no songs match the search!"
+msgstr "inga låtar matchar sökningen"
+
+#: ../game/screen_songs.cc:293
+#, fuzzy
+msgid "Sorry, no songs match the filter!"
+msgstr "inga låtar matchar sökningen"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "Inga låtar funna"
+
+# gratis eller fria?
+# (tysk översättning ger freie)
+#: ../game/screen_songs.cc:297
+#, fuzzy
+msgid "Visit performous.org for free songs"
+msgstr ""
+"Besök performous.org\n"
+"för fria låtar"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr ""
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr ""
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr ""
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr ""
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr ""
+
+# ...
+#: ../game/screen_songs.cc:319
+#, fuzzy
+msgid "hiscores"
+msgstr "Highscore för %1%\n"
+
+#: ../game/screen_songs.cc:319
+#, fuzzy
+msgid "jukebox mode"
+msgstr "Vänsterläge"
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr ""
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr ""
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr ""
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr ""
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "Gitarr"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Rhythm guitar"
+msgstr "Kompgitarr"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "Bas"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "Trummor"
+
+# Vokal (musik), Sång, etc
+#: ../game/song.hh:26
+msgid "Vocals"
+msgstr "Såmg"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "Överton 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "Överton 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "Överton 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr ""
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr ""
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr ""
+
+# Vokal (musik), Sång, etc
+#: ../game/songs.cc:198
+#, fuzzy
+msgid "has vocals"
+msgstr "Såmg"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr ""
+
+#: ../game/songs.cc:200
+#, fuzzy
+msgid "has guitar"
+msgstr "Kompgitarr"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr ""
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr ""
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "slumpmässig ordning"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "sorterat efter låt"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "sorterat efter artist"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "sorterat efter utgåva"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "sorterat efter genre"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "sorterat efter sökväg"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "sorterat efter språk"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr ""
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr ""
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr ""
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr ""
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr ""
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr ""
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr ""
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr ""
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr ""
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr ""
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr ""
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr ""
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr ""
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr ""
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr ""
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr ""
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr ""
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr ""
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr ""
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr ""
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "Detta verktyget är inte tillgängligt ännu.\n"
+#~ "Ställ in sökvägar genom att lägga till\n"
+#~ "dem som kommandoradsargument och\n"
+#~ "spara dem sedan i inställningsmenyn."
+
+#~ msgid "Press any key to exit."
+#~ msgstr "Tryck på valfri knapp för att avsluta."
+
+#, fuzzy
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr ""
+#~ "Windows användare kan också använda ConfigureSongDirectory.bat i bin-"
+#~ "katalogen"
+
+# låt/sång
+#, fuzzy
+#~ msgid "Back to song browser"
+#~ msgstr "Återgå till låt bläddraren"
+
+# items -> players?
+#~ msgid "No Items up to now."
+#~ msgstr "Inga spelare ännu."
+
+#~ msgid "Be the first to be listed here!"
+#~ msgstr "Bli den första att bli listad här!"
+
+#~ msgid "Song is broken!"
+#~ msgstr "Låten är trasig!"
+
+#~ msgid "Loading instruments..."
+#~ msgstr "Laddar instrument..."
+
+#~ msgid "Finalizing..."
+#~ msgstr "Slutför..."
+
+#, fuzzy
+#~ msgid "Loading graphics..."
+#~ msgstr "Laddar låt..."
+
+#~ msgid "Random background..."
+#~ msgstr "Slumpmässig bakgrund"
diff --git a/lang/zh.po b/lang/zh.po
new file mode 100644 (file)
index 0000000..40e0fc3
--- /dev/null
@@ -0,0 +1,1489 @@
+# Traditional Chinese Messages for performous.
+# Copyright (C) 2010 The performous Project (msgids)
+# This file is distributed under the same license as the performous package.
+# Wei-Lun Chao <william.chao@ossii.com.tw>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: performous 0.6.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-30 22:37+0200\n"
+"PO-Revision-Date: 2017-08-30 22:37+0200\n"
+"Last-Translator: Arjan Speiard | Asgard Sings! <arjan.spieard@gmail.com>\n"
+"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Poedit-KeywordsList: _;translate_noop\n"
+"X-Poedit-Basepath: .\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-SearchPath-0: ../game\n"
+"X-Poedit-SearchPath-1: ../data\n"
+
+#: ../data/config/schema.xml:19
+msgid "Game"
+msgstr "遊戲"
+
+#: ../data/config/schema.xml:20
+msgid "Gameplay related options"
+msgstr "遊戲相關的選項"
+
+#: ../data/config/schema.xml:23
+msgid "Graphic"
+msgstr "圖形"
+
+#: ../data/config/schema.xml:24
+msgid "Configure rendering and video settings"
+msgstr "組配潤算和影像設定值"
+
+#: ../data/config/schema.xml:28
+msgid "Audio Devices"
+msgstr "音效裝置"
+
+#: ../data/config/schema.xml:29
+msgid "Setup microphones and playback"
+msgstr "設定麥克風和播放控制"
+
+#: ../data/config/schema.xml:32
+msgid "Audio"
+msgstr "音效"
+
+#: ../data/config/schema.xml:33
+#, fuzzy
+msgid "Configure general audio settings"
+msgstr "組配潤算和影像設定值"
+
+#: ../data/config/schema.xml:36
+msgid "Paths"
+msgstr "路徑"
+
+#: ../data/config/schema.xml:37
+msgid "Setup song and data paths"
+msgstr "設定歌曲和資料路徑"
+
+#: ../data/config/schema.xml:48
+#, fuzzy
+msgid "Karaoke mode"
+msgstr "效能評定模式"
+
+#: ../data/config/schema.xml:49 ../data/config/schema.xml:57
+msgid "Hide pitch wave, notes and scoring."
+msgstr "隱藏音高、音符和評分。"
+
+#: ../data/config/schema.xml:56
+msgid "Lyric highlight style"
+msgstr ""
+
+#: ../data/config/schema.xml:60
+msgid "Autoplay"
+msgstr ""
+
+#: ../data/config/schema.xml:61
+msgid "Keep playing random songs after the playlist is empty."
+msgstr ""
+
+#: ../data/config/schema.xml:64
+msgid "Pitch waves"
+msgstr "音波"
+
+#: ../data/config/schema.xml:65
+msgid "Enable singing pitch display (when not in karaoke mode)."
+msgstr "啟用歌唱音高顯示 (當不在卡拉OK模式下)。"
+
+#: ../data/config/schema.xml:70
+msgid "Theme"
+msgstr "布景主題"
+
+#: ../data/config/schema.xml:71
+#, fuzzy
+msgid "Name of the theme to use."
+msgstr "使用的布景主題名稱或是布景主題資料夾的絕對路徑。"
+
+#: ../data/config/schema.xml:75
+msgid "Playlist screen timeout"
+msgstr ""
+
+#: ../data/config/schema.xml:76
+msgid ""
+"How long it will take before the next song in the playlist starts "
+"automatically."
+msgstr ""
+
+#: ../data/config/schema.xml:84
+msgid "Webserver access"
+msgstr ""
+
+#: ../data/config/schema.xml:85
+msgid ""
+"Define if you want to control performous remotely with web interface "
+"(requires restart)."
+msgstr ""
+
+#: ../data/config/schema.xml:90
+msgid "Webserver port"
+msgstr ""
+
+#: ../data/config/schema.xml:91
+msgid ""
+"Port to use for the web server. Choose one that is not used by other "
+"applications."
+msgstr ""
+
+#: ../data/config/schema.xml:94
+msgid "Keyboard as guitar"
+msgstr "鍵盤做為吉他"
+
+#: ../data/config/schema.xml:95
+msgid "Enable keyboard as guitar (Frets on Fire mode)."
+msgstr "啟用鍵盤做為吉他 (Frets on Fire 模式)。"
+
+#: ../data/config/schema.xml:98
+msgid "Keyboard as drumkit"
+msgstr "鍵盤做為爵士鼓"
+
+#: ../data/config/schema.xml:99
+msgid "Enable keyboard as drumkit."
+msgstr "啟用鍵盤做為爵士鼓。"
+
+#: ../data/config/schema.xml:102
+msgid "Keyboard as dance pad"
+msgstr "鍵盤做為舞墊"
+
+#: ../data/config/schema.xml:103
+msgid "Enable keyboard as dance pad."
+msgstr "啟用鍵盤做為舞墊。"
+
+#: ../data/config/schema.xml:106
+#, fuzzy
+msgid "Keyboard as keytar"
+msgstr "鍵盤做為吉他"
+
+#: ../data/config/schema.xml:107
+#, fuzzy
+msgid "Enable keyboard as keytar."
+msgstr "啟用鍵盤做為爵士鼓。"
+
+#: ../data/config/schema.xml:114
+msgid "Force controller A's type"
+msgstr ""
+
+#: ../data/config/schema.xml:115
+msgid ""
+"Override autodetection and force the first controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:122
+msgid "Force controller B's type"
+msgstr ""
+
+#: ../data/config/schema.xml:123
+msgid ""
+"Override autodetection and force the second controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:130
+msgid "Force controller C's type"
+msgstr ""
+
+#: ../data/config/schema.xml:131
+msgid ""
+"Override autodetection and force the third controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:138
+msgid "Force controller D's type"
+msgstr ""
+
+#: ../data/config/schema.xml:139
+msgid ""
+"Override autodetection and force the fourth controller to the given type."
+msgstr ""
+
+#: ../data/config/schema.xml:146
+msgid "Joystick configuration"
+msgstr "搖桿組態"
+
+#: ../data/config/schema.xml:147
+msgid "Force joystick to some kind of instrument."
+msgstr "強制搖桿成為某種樂器。"
+
+#: ../data/config/schema.xml:150
+msgid "Hardware MIDI input device"
+msgstr "硬體 MIDI 輸入裝置"
+
+#: ../data/config/schema.xml:151
+msgid ""
+"Regex for matching the MIDI devices to use. The default is to use all "
+"available devices."
+msgstr ""
+
+#: ../data/config/schema.xml:166
+msgid "Fallback song encoding"
+msgstr ""
+
+#: ../data/config/schema.xml:167
+msgid "Pick the text codec used for song files that are not UTF-8."
+msgstr ""
+
+#: ../data/config/schema.xml:174
+msgid "Windowed width"
+msgstr "視窗寬度"
+
+#: ../data/config/schema.xml:175
+msgid "The width of the window."
+msgstr "視窗的寬度。"
+
+#: ../data/config/schema.xml:180
+msgid "Windowed height"
+msgstr "視窗高度"
+
+#: ../data/config/schema.xml:181
+msgid "The height of the window."
+msgstr "視窗的高度。"
+
+#: ../data/config/schema.xml:184
+msgid "Fullscreen mode"
+msgstr "全螢幕模式"
+
+#: ../data/config/schema.xml:185
+msgid "Enable fullscreen mode on startup."
+msgstr "啟動時啟用全螢幕模式。"
+
+#: ../data/config/schema.xml:188
+msgid "Stereoscopic 3D"
+msgstr ""
+
+#: ../data/config/schema.xml:189
+msgid "Enable 3D rendering of Performous."
+msgstr ""
+
+#: ../data/config/schema.xml:197
+msgid "Stereo3D type"
+msgstr ""
+
+#: ../data/config/schema.xml:198
+msgid "Some modes may only get activated in fullscreen mode."
+msgstr ""
+
+#: ../data/config/schema.xml:203
+msgid "Stereo3D separation"
+msgstr ""
+
+#: ../data/config/schema.xml:204
+msgid ""
+"The strength of the effect. Experiment with different settings for best "
+"results."
+msgstr ""
+
+#: ../data/config/schema.xml:207
+msgid "Video playback"
+msgstr "影像播放控制"
+
+#: ../data/config/schema.xml:208
+msgid ""
+"Allows completely disabling background videos. It is recommended to leave "
+"this enabled as Performous will still smoothly fade out the video if your "
+"computer is not fast enough."
+msgstr ""
+"允許完全停用背景影像。建議保持其為啟用,因為如果您的電腦不夠快,Performous 仍"
+"將平滑淡出影像。"
+
+#: ../data/config/schema.xml:211
+msgid "Webcam background"
+msgstr "網路攝影機背景"
+
+#: ../data/config/schema.xml:212
+#, fuzzy
+msgid ""
+"Performous can use webcam as a background video. Disable it if Performous "
+"crashes while entering a song."
+msgstr ""
+"Performous 可以試著使用網路攝影機做為背景影像。如果它使您厭煩,您可以停用它。"
+
+#: ../data/config/schema.xml:216
+msgid "Webcam id"
+msgstr "網路攝影機識別號"
+
+#: ../data/config/schema.xml:217
+msgid ""
+"Use -1 to autodetect or a number starting from 0 to choose specific device."
+msgstr "使用 -1 以自動偵測,或是一個從 0 開始的數字以選擇特定的裝置。"
+
+#: ../data/config/schema.xml:222
+msgid "SVG quality"
+msgstr "SVG 品質"
+
+#: ../data/config/schema.xml:223
+msgid ""
+"Larger numbers cause vector graphics to be rendered in higher resolution. "
+"Decrease this to make navigating in menus faster."
+msgstr "較大的數字會造成向量圖形以較高解析度進行潤算。減少它以便較快巡覽選單。"
+
+#: ../data/config/schema.xml:228
+msgid "Text quality"
+msgstr "文字品質"
+
+#: ../data/config/schema.xml:229
+msgid ""
+"Larger numbers cause text to be rendered in higher resolution. Decrease this "
+"to make everything a little faster."
+msgstr "較大的數字會造成文字以較高解析度進行潤算。減少它好讓所有東西快一點。"
+
+#: ../data/config/schema.xml:232
+msgid "Benchmark mode"
+msgstr "效能評定模式"
+
+#: ../data/config/schema.xml:233
+msgid ""
+"Framerate limit of 100 FPS is removed and the game instead renders at full "
+"speed. FPS values are printed to console. Please note that the display "
+"drivers may still limit the rendering speed to the screen refresh rate."
+msgstr ""
+"已移除 100 FPS 的影格率限制,遊戲則以全速進行潤算。FPS 值已印出至主控臺。要注"
+"意的是,顯示卡驅動程式也許仍然會限制潤算速度為螢幕重新整理速率。"
+
+#: ../data/config/schema.xml:240
+msgid "Suggested latency"
+msgstr "建議的延時"
+
+#: ../data/config/schema.xml:241
+msgid ""
+"This is a hint for the audio engine about the desired latency. Set this as "
+"low as possible while retaining clear audio playback. Requires restart."
+msgstr ""
+"這是關於所設想延時用於音效引擎的提示。在保持乾淨的音效播放條件下,儘可能將它"
+"設低一點。需要重新啟動。"
+
+#: ../data/config/schema.xml:246
+msgid "Audio/video latency"
+msgstr "音效/影像延時"
+
+#: ../data/config/schema.xml:247
+msgid ""
+"Affects all modes. Use negative value if your display input lag is greater "
+"than the sound card output latency, positive values in the opposite case and "
+"zero if they are equal. This should be set so that the notes pass the cursor "
+"at the same time the audio is heard. Use Ctrl+F1/F2 to adjust this while "
+"performing."
+msgstr ""
+"會影響所有模式。如果您的顯示輸入滯後大於音效卡輸出延時就使用負值,反之則用正"
+"值,如果它們相等就為零。這個應該要設定才會讓音符經過游標的同時也會聽到音效。"
+"執行時期可以使用 Ctrl+F1/F2 來調整它。"
+
+#: ../data/config/schema.xml:252
+msgid "Audio round-trip latency"
+msgstr "音效往返延時"
+
+#: ../data/config/schema.xml:253
+msgid ""
+"Affects singing only. The time it takes for Performous playback to reach "
+"your speakers, fly to the microphone and all the way back until Performous "
+"captures and analyzes it. While performing, press Ctrl+S for synth mode and "
+"adjust with Ctrl+F3/F4."
+msgstr ""
+"只會影響歌唱。Performous 的播放控制到達您的揚聲器所需的時間,傳到麥克風然後一"
+"路回來直到 Performous 擷取並分析它。執行時期可以按下 Ctrl+S 進入同步模式,並"
+"利用 Ctrl+F3/F4 來調整。"
+
+#: ../data/config/schema.xml:258
+msgid "Audio/controller latency"
+msgstr "音效/控制器延時"
+
+#: ../data/config/schema.xml:259
+msgid ""
+"Affects instruments and dancing only. The total of USB (guitar or dance pad) "
+"latency combined with audio output latency. Adjust so that you can hit the "
+"notes best when playing by ear (not looking on screen). Use Ctrl+F5/F6 to "
+"adjust while performing."
+msgstr ""
+"只會影響樂器和跳舞。USB 裝置(吉他或舞墊) 與音效輸出延時合併的延時總計。如此調"
+"整您就可以很好地經由聽聲音而點擊音符 (不需要看著螢幕)。執行時期可以使用 Ctrl"
+"+F5/F6 來調整它。"
+
+#: ../data/config/schema.xml:266
+msgid "Audio devices"
+msgstr "音效裝置"
+
+#: ../data/config/schema.xml:267
+msgid "List of audio devices to try."
+msgstr "要嘗試的音效裝置清單。"
+
+#: ../data/config/schema.xml:272
+msgid "Menu volume"
+msgstr "選單音量"
+
+#: ../data/config/schema.xml:273
+msgid "The volume level of menus, song previews and jukebox mode."
+msgstr "選單、歌曲預覽和媒體櫃模式的音量等級。"
+
+#: ../data/config/schema.xml:278
+msgid "Music volume"
+msgstr "音樂音量"
+
+#: ../data/config/schema.xml:279
+msgid ""
+"The ingame music volume. Values above 90 are not recommended as distortion "
+"may occur."
+msgstr "遊戲時音樂音量。不建議 90 以上的值,因為也許會發生扭曲。"
+
+#: ../data/config/schema.xml:284
+msgid "Failure volume"
+msgstr "失敗音量"
+
+#: ../data/config/schema.xml:285
+msgid ""
+"The ingame fail sound volume. Values above 90 are not recommended as "
+"distortion may occur. 11 is louder than 10, but these go to 100. 89 louder!"
+msgstr ""
+"遊戲時失敗音量。不建議 90 以上的值,因為也許會發生扭曲。11 要比 10 大聲,但是"
+"這些會到 100。89 比較大聲!"
+
+#: ../data/config/schema.xml:288
+msgid "Microphone pass-through"
+msgstr ""
+
+#: ../data/config/schema.xml:289
+msgid "Send captured singing voice to speakers."
+msgstr ""
+
+#: ../data/config/schema.xml:294
+msgid "Pass-through volume ratio"
+msgstr ""
+
+#: ../data/config/schema.xml:295
+msgid "How much voice is amplified compared to the music."
+msgstr ""
+
+#: ../data/config/schema.xml:298
+msgid "Suppress center channel"
+msgstr ""
+
+#: ../data/config/schema.xml:299
+msgid "Suppress audio of center channel (e.g. vocals)."
+msgstr ""
+
+#: ../data/config/schema.xml:310
+msgid "Song folders"
+msgstr "歌曲資料夾"
+
+#: ../data/config/schema.xml:311
+msgid ""
+"Where to recursively look for songs. DATADIR at the beginning means all "
+"Performous data folders."
+msgstr "遞迴找尋歌曲的位置。起始部分的 DATADIR 表示所有 Performous 的資料夾。"
+
+#: ../data/config/schema.xml:314 ../game/screen_paths.cc:74
+msgid "Show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:315
+msgid "When true the screen_paths will also show hidden folders"
+msgstr ""
+
+#: ../data/config/schema.xml:318
+msgid "Base folders for data"
+msgstr "資料的基底資料夾"
+
+#: ../data/config/schema.xml:319
+msgid ""
+"System defaults are included automatically. Additional paths can be added "
+"here."
+msgstr "自動會包含系統預設值。可以在此加入額外路徑。"
+
+#: ../data/config/schema.xml:325 ../game/webserver.cc:294
+msgid "Sort order"
+msgstr ""
+
+#: ../data/config/schema.xml:326
+msgid "Currently active sort order"
+msgstr ""
+
+#: ../data/performous.desktop:3
+msgid "Performous"
+msgstr ""
+
+#: ../data/performous.desktop:4
+msgid "A karaoke game"
+msgstr ""
+
+#: ../data/performous.desktop:13
+msgid "performous"
+msgstr ""
+
+#: ../data/performous.desktop:17
+msgid "song;music;dance;karaoke;microphone;sound;singing;"
+msgstr ""
+
+#: ../game/configuration.cc:112
+msgid "Enabled"
+msgstr "已啟用"
+
+#: ../game/configuration.cc:112
+msgid "Disabled"
+msgstr "已停用"
+
+#: ../game/configuration.cc:116
+#, c-format
+msgid "%d items"
+msgstr "%d 項"
+
+#: ../game/dancegraph.cc:18
+msgid "Beginner"
+msgstr "初學者"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Easy"
+msgstr "輕鬆"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Medium"
+msgstr "中等"
+
+#: ../game/dancegraph.cc:18 ../game/guitargraph.cc:14
+msgid "Hard"
+msgstr "硬底"
+
+#: ../game/dancegraph.cc:18
+msgid "Challenge"
+msgstr "挑戰"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+msgid "Ready!"
+msgstr "就緒!"
+
+#: ../game/dancegraph.cc:107 ../game/guitargraph.cc:193
+#: ../game/screen_intro.cc:172
+msgid "Start performing!"
+msgstr "開始歡唱!"
+
+#: ../game/dancegraph.cc:118 ../game/guitargraph.cc:182
+msgid "Select track"
+msgstr "選取軌段"
+
+#: ../game/dancegraph.cc:134 ../game/guitargraph.cc:162
+msgid "Select difficulty"
+msgstr "選取難度"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_intro.cc:190
+#: ../game/screen_sing.cc:94 ../game/screen_sing.cc:131
+msgid "Quit"
+msgstr "離開"
+
+#: ../game/dancegraph.cc:137 ../game/guitargraph.cc:199
+#: ../game/instrumentgraph.cc:59 ../game/screen_sing.cc:94
+#: ../game/screen_sing.cc:131
+msgid "Exit to song browser"
+msgstr "離開到歌曲瀏覽器"
+
+#: ../game/dancegraph.cc:248
+msgid "STOP!"
+msgstr "停止!"
+
+#: ../game/dancegraph.cc:321 ../game/guitargraph.cc:449
+msgid "Streak!"
+msgstr "劃線!"
+
+#: ../game/guitargraph.cc:14
+msgid "Kids"
+msgstr "兒童"
+
+#: ../game/guitargraph.cc:14
+msgid "Expert"
+msgstr "專家"
+
+#: ../game/guitargraph.cc:168 ../game/guitargraph.cc:185
+msgid "Lefty-mode"
+msgstr "左手模式"
+
+#: ../game/guitargraph.cc:206
+msgid "ON"
+msgstr "開"
+
+#: ../game/guitargraph.cc:206
+msgid "OFF"
+msgstr "關閉"
+
+#: ../game/guitargraph.cc:207
+msgid "Toggle lefty-mode"
+msgstr "切換左手模式"
+
+#: ../game/guitargraph.cc:461
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"上帝模式\n"
+"啟用!"
+
+#: ../game/guitargraph.cc:462
+msgid "Mistakes ignored!"
+msgstr "忽略錯誤!"
+
+#: ../game/guitargraph.cc:1104
+msgid "God Mode Ready!"
+msgstr "上帝模式就緒!"
+
+#: ../game/guitargraph.cc:1105
+msgid "Drum Fill!"
+msgstr "填滿鼓聲!"
+
+#: ../game/guitargraph.cc:1108
+msgid "Solo!"
+msgstr "獨唱!"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Resume"
+msgstr "再續"
+
+#: ../game/instrumentgraph.cc:56 ../game/screen_sing.cc:125
+msgid "Back to performing!"
+msgstr "回到歡唱!"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Rejoin"
+msgstr "重新連結"
+
+#: ../game/instrumentgraph.cc:57
+msgid "Change selections"
+msgstr "變更選擇"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid "Restart"
+msgstr "重新啟動"
+
+#: ../game/instrumentgraph.cc:58 ../game/screen_sing.cc:126
+msgid ""
+"Start the song\n"
+"from the beginning"
+msgstr ""
+"從開始部分\n"
+"播放歌曲"
+
+#: ../game/main.cc:162
+msgid "Loading audio samples..."
+msgstr "載入音效樣本…"
+
+#: ../game/main.cc:177
+msgid "Creating screens..."
+msgstr "建立畫面…"
+
+#: ../game/main.cc:187
+msgid "Entering main menu"
+msgstr "進入主選單"
+
+#: ../game/main.cc:189 ../game/screen_sing.cc:99
+msgid "Loading complete"
+msgstr "載入完成"
+
+#: ../game/main.cc:200
+msgid "Screenshot taken!"
+msgstr "拍下螢幕快照!"
+
+#: ../game/main.cc:203
+msgid "Screenshot failed!"
+msgstr "螢幕快照失敗!"
+
+#: ../game/screen_audiodevices.cc:57
+msgid ""
+"It seems you have some manual configurations\n"
+"incompatible with this user interface.\n"
+"Saving these settings will override\n"
+"all existing audio device configuration.\n"
+"Your other options changes will be saved too."
+msgstr ""
+"您似乎有某些手動的組態\n"
+"與這個使用者介面不相容。\n"
+"儲存這些設定值將會強制變更\n"
+"所有現存音效裝置的組態。\n"
+"您的其他選項變更也將被儲存。"
+
+#: ../game/screen_audiodevices.cc:116
+msgid "- Unassigned -"
+msgstr "- 未賦值的 -"
+
+#: ../game/screen_audiodevices.cc:137
+msgid ""
+"Use arrow keys to configure. Hit Enter/Start to save and test or Esc/Select "
+"to cancel. Ctrl + R to reset defaults"
+msgstr ""
+"使用方向鍵以組配。點擊 輸入/開始 以儲存與測試,或 Esc/選取 以取消。Ctrl + R "
+"以重置預設值"
+
+#: ../game/screen_audiodevices.cc:142
+msgid ""
+"For advanced device configuration, use command line parameter --audio (use --"
+"audiohelp for details)."
+msgstr ""
+"使用命令列參數 --audio (使用 --audiohelp 以瞭解細節) 用於進階裝置組態。"
+
+#: ../game/screen_audiodevices.cc:190
+msgid "Some devices failed to open!"
+msgstr "無法開啟某些裝置!"
+
+#: ../game/screen_intro.cc:25
+msgid "No playback devices could be used.\n"
+msgstr "沒有播放控制裝置可供使用。\n"
+
+#: ../game/screen_intro.cc:26
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"請於播放前設定一些項目。"
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved as system defaults."
+msgstr ""
+
+#: ../game/screen_intro.cc:74 ../game/screen_paths.cc:36
+msgid "Settings saved."
+msgstr ""
+
+#: ../game/screen_intro.cc:154
+msgid "Ctrl + S to save, Ctrl + R to reset defaults"
+msgstr "Ctrl + S 以儲存,Ctrl + R 以重置預設值"
+
+#: ../game/screen_intro.cc:172
+msgid "Perform"
+msgstr "開唱"
+
+#: ../game/screen_intro.cc:173
+msgid "Practice"
+msgstr "練習"
+
+#: ../game/screen_intro.cc:173
+msgid "Check your skills or test the microphones"
+msgstr "檢查您的技巧或測試一下麥克風"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure"
+msgstr "設定"
+
+#: ../game/screen_intro.cc:189
+msgid "Configure audio and game options"
+msgstr "組配音效和遊戲選項"
+
+#: ../game/screen_intro.cc:190
+msgid "Leave the game"
+msgstr "離開遊戲"
+
+#: ../game/screen_intro.cc:200
+msgid ""
+"Webserver active!\n"
+" use a webbrowser\n"
+"and navigate to localhost:"
+msgstr ""
+
+#: ../game/screen_intro.cc:207
+msgid ""
+"Webserver active!\n"
+" connect to this computer\n"
+"using "
+msgstr ""
+
+#: ../game/screen_paths.cc:69
+msgid "Hide hidden folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:81
+msgid "Remove current folder from song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add this folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:87
+msgid "Add current folder to song folders"
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid ".."
+msgstr ""
+
+#: ../game/screen_paths.cc:93
+msgid "Go up one folder"
+msgstr ""
+
+#: ../game/screen_paths.cc:104
+msgid "Open folder"
+msgstr ""
+
+#: ../game/screen_players.cc:117
+msgid "No players found!"
+msgstr "找不到演唱者!"
+
+#: ../game/screen_players.cc:118
+msgid "Enter a name to create a new player."
+msgstr "輸入名稱以建立新的演唱者。"
+
+#: ../game/screen_players.cc:120
+msgid "Press enter to create player!"
+msgstr "按下輸入以建立演唱者!"
+
+#: ../game/screen_players.cc:124
+#, fuzzy
+msgid "No players worth mentioning!"
+msgstr "找不到演唱者!"
+
+#: ../game/screen_players.cc:129
+msgid "You reached %1% points!"
+msgstr "您得到了 %1% 分!"
+
+#: ../game/screen_players.cc:130
+msgid "Change player with arrow keys."
+msgstr "利用方向鍵變更演唱者。"
+
+#: ../game/screen_players.cc:131
+msgid "Name:"
+msgstr "名稱:"
+
+#: ../game/screen_players.cc:134
+msgid "Type text to filter or create a new player."
+msgstr "輸入文字到篩選器或建立新的演唱者。"
+
+#: ../game/screen_players.cc:134
+msgid "Search Text:"
+msgstr "搜尋文字:"
+
+#: ../game/screen_playlist.cc:21 ../game/screen_sing.cc:47
+msgid "Initializing webcam..."
+msgstr "初始化網路攝影機…"
+
+#: ../game/screen_playlist.cc:46
+msgid "Loading song timestamps..."
+msgstr ""
+
+#: ../game/screen_playlist.cc:171 ../game/screen_playlist.cc:334
+msgid "Continue"
+msgstr ""
+
+#: ../game/screen_playlist.cc:171
+msgid "Continue playing"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Add songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:179
+msgid "Open the song browser to add more songs"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180 ../game/screen_songs.cc:522
+msgid "Shuffle"
+msgstr ""
+
+#: ../game/screen_playlist.cc:180
+msgid "Randomize the order of the playlist"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Clear and exit"
+msgstr ""
+
+#: ../game/screen_playlist.cc:186
+msgid "Remove all the songs from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+#: ../game/screen_songs.cc:535
+msgid "Back"
+msgstr ""
+
+#: ../game/screen_playlist.cc:192 ../game/screen_playlist.cc:375
+msgid "Back to playlist viewer"
+msgstr ""
+
+#: ../game/screen_playlist.cc:317
+msgid "Press enter to view song options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+msgid "View more options"
+msgstr ""
+
+#: ../game/screen_playlist.cc:326
+#, fuzzy
+msgid "View general playlist settings"
+msgstr "組配一般音效設定值"
+
+#: ../game/screen_playlist.cc:334
+msgid "Play first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:336
+msgid "Ignore the playlist's order and play this song first"
+msgstr ""
+
+#: ../game/screen_playlist.cc:337
+msgid "Start the song already!"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove"
+msgstr ""
+
+#: ../game/screen_playlist.cc:346
+msgid "Remove this song from the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358 ../game/webserver.cc:307
+msgid "Move up"
+msgstr ""
+
+#: ../game/screen_playlist.cc:358
+msgid "Move this song up the list"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move Down"
+msgstr ""
+
+#: ../game/screen_playlist.cc:368
+msgid "Move this song down the list"
+msgstr ""
+
+#: ../game/screen_sing.cc:54
+msgid "Loading video..."
+msgstr "載入影像…"
+
+#: ../game/screen_sing.cc:61
+msgid "Loading song..."
+msgstr "載入歌曲…"
+
+#: ../game/screen_sing.cc:68
+msgid "Song contains broken tracks!"
+msgstr "歌曲含有不完整的軌段!"
+
+#: ../game/screen_sing.cc:73
+msgid "Loading menu..."
+msgstr "載入選單…"
+
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start"
+msgstr "重新啟動"
+
+#: ../game/screen_sing.cc:78
+#, fuzzy
+msgid "Start performing"
+msgstr "開始歡唱!"
+
+#: ../game/screen_sing.cc:82
+#, fuzzy
+msgid "Duet mode"
+msgstr "左手模式"
+
+#: ../game/screen_sing.cc:83
+#, fuzzy
+msgid "Normal mode"
+msgstr "卡拉OK模式"
+
+#: ../game/screen_sing.cc:84
+msgid "Switch between duet and regular singing mode"
+msgstr ""
+
+#: ../game/screen_sing.cc:92
+#, fuzzy
+msgid "Change vocal track"
+msgstr ""
+"變更人聲軌段\n"
+"(需要重新啟動)"
+
+#: ../game/screen_sing.cc:129
+msgid "Skip"
+msgstr ""
+
+#: ../game/screen_sing.cc:129
+msgid "Skip current song"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Press UP to join dance!"
+msgstr ""
+
+#: ../game/screen_sing.cc:283
+msgid "Step UP to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press 1 to join guitar!"
+msgstr ""
+
+#: ../game/screen_sing.cc:288
+msgid "Press GREEN to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "Press SPACE to join drums!"
+msgstr ""
+
+#: ../game/screen_sing.cc:293
+msgid "KICK to join!"
+msgstr ""
+
+#: ../game/screen_sing.cc:521
+msgid "   ENTER to skip instrumental break"
+msgstr "   按下輸入鍵以跳過樂器演奏中斷時間"
+
+#: ../game/screen_sing.cc:525 ../game/screen_sing.cc:539
+msgid "   Autoplay enabled"
+msgstr ""
+
+#: ../game/screen_sing.cc:528 ../game/screen_sing.cc:536
+msgid "   Remember to wait for grading!"
+msgstr "   記得等一下看評分!"
+
+#: ../game/screen_sing.cc:669
+msgid "No player!"
+msgstr "沒有演唱者!"
+
+#: ../game/screen_sing.cc:677
+msgid "Hit singer"
+msgstr "熱門歌手"
+
+#: ../game/screen_sing.cc:678
+msgid "Lead singer"
+msgstr "領先歌手"
+
+#: ../game/screen_sing.cc:679 ../game/screen_sing.cc:685
+#: ../game/screen_sing.cc:691
+msgid "Rising star"
+msgstr "上升之星"
+
+#: ../game/screen_sing.cc:680 ../game/screen_sing.cc:686
+#: ../game/screen_sing.cc:692
+msgid "Amateur"
+msgstr "業餘"
+
+#: ../game/screen_sing.cc:681 ../game/screen_sing.cc:693
+msgid "Tone deaf"
+msgstr "音癡"
+
+#: ../game/screen_sing.cc:683
+msgid "Maniac"
+msgstr "瘋子"
+
+#: ../game/screen_sing.cc:684
+msgid "Hoofer"
+msgstr "舞者"
+
+#: ../game/screen_sing.cc:687
+msgid "Loser"
+msgstr "輸家"
+
+#: ../game/screen_sing.cc:689
+msgid "Virtuoso"
+msgstr "鑒賞家"
+
+#: ../game/screen_sing.cc:690
+msgid "Rocker"
+msgstr "搖滾者"
+
+#: ../game/screen_songs.cc:290
+#, fuzzy
+msgid "Sorry, no songs match the search!"
+msgstr "沒有符合搜尋的歌曲"
+
+#: ../game/screen_songs.cc:293
+#, fuzzy
+msgid "Sorry, no songs match the filter!"
+msgstr "沒有符合搜尋的歌曲"
+
+#: ../game/screen_songs.cc:296
+msgid "No songs found!"
+msgstr "找不到歌曲!"
+
+#: ../game/screen_songs.cc:297
+#, fuzzy
+msgid "Visit performous.org for free songs"
+msgstr ""
+"造訪 performous.org\n"
+"以取得免費歌曲"
+
+#: ../game/screen_songs.cc:315
+msgid "<type in to search>"
+msgstr "<輸入以搜尋>"
+
+#: ../game/screen_songs.cc:315
+msgid "songs"
+msgstr ""
+
+#: ../game/screen_songs.cc:315
+msgid "options"
+msgstr ""
+
+#: ../game/screen_songs.cc:317
+msgid "sort order: "
+msgstr ""
+
+#: ../game/screen_songs.cc:318
+msgid "type filter: "
+msgstr ""
+
+#: ../game/screen_songs.cc:319
+msgid "hiscores"
+msgstr ""
+
+#: ../game/screen_songs.cc:319
+msgid "jukebox mode"
+msgstr ""
+
+#: ../game/screen_songs.cc:322
+msgid "start a playlist with this song!"
+msgstr ""
+
+#: ../game/screen_songs.cc:322
+msgid "open the playlist menu"
+msgstr ""
+
+#: ../game/screen_songs.cc:515
+msgid "Play"
+msgstr ""
+
+#: ../game/screen_songs.cc:528 ../game/webserver.cc:286
+msgid "View playlist"
+msgstr ""
+
+#: ../game/screen_songs.cc:529
+msgid "Clear playlist"
+msgstr ""
+
+#: ../game/song.hh:26
+msgid "Guitar"
+msgstr "吉他"
+
+#: ../game/song.hh:26
+msgid "Coop guitar"
+msgstr "合奏吉他"
+
+#: ../game/song.hh:26
+#, fuzzy
+msgid "Rhythm guitar"
+msgstr "節奏吉他"
+
+#: ../game/song.hh:26
+msgid "Bass"
+msgstr "低音"
+
+#: ../game/song.hh:26
+msgid "Drums"
+msgstr "鼓聲"
+
+#: ../game/song.hh:26
+#, fuzzy
+msgid "Vocals"
+msgstr "人聲"
+
+#: ../game/song.hh:26
+msgid "Harmonic 1"
+msgstr "調和 1"
+
+#: ../game/song.hh:26
+msgid "Harmonic 2"
+msgstr "調和 2"
+
+#: ../game/song.hh:26
+msgid "Harmonic 3"
+msgstr "調和 3"
+
+#: ../game/songparser-xml.cc:104
+msgid "Together"
+msgstr ""
+
+#: ../game/songs.cc:196
+msgid "show all songs"
+msgstr ""
+
+#: ../game/songs.cc:197
+msgid "has dance"
+msgstr ""
+
+#: ../game/songs.cc:198
+#, fuzzy
+msgid "has vocals"
+msgstr "人聲"
+
+#: ../game/songs.cc:199
+msgid "has duet"
+msgstr ""
+
+#: ../game/songs.cc:200
+#, fuzzy
+msgid "has guitar"
+msgstr "節奏吉他"
+
+#: ../game/songs.cc:201
+msgid "drums or keytar"
+msgstr ""
+
+#: ../game/songs.cc:202
+msgid "full band"
+msgstr ""
+
+#: ../game/songs.cc:230
+msgid "random order"
+msgstr "隨機排序"
+
+#: ../game/songs.cc:231
+msgid "sorted by song"
+msgstr "依歌曲排序"
+
+#: ../game/songs.cc:232
+msgid "sorted by artist"
+msgstr "依歌手排序"
+
+#: ../game/songs.cc:233
+msgid "sorted by edition"
+msgstr "依專輯排序"
+
+#: ../game/songs.cc:234
+msgid "sorted by genre"
+msgstr "依類型排序"
+
+#: ../game/songs.cc:235
+msgid "sorted by path"
+msgstr "依路徑排序"
+
+#: ../game/songs.cc:236
+msgid "sorted by language"
+msgstr "依語言排序"
+
+#: ../game/webserver.cc:284
+msgid "Performous web frontend"
+msgstr ""
+
+#: ../game/webserver.cc:285
+msgid "View database"
+msgstr ""
+
+#: ../game/webserver.cc:287
+msgid "Search and Add"
+msgstr ""
+
+#: ../game/webserver.cc:288
+msgid "Sort by"
+msgstr ""
+
+#: ../game/webserver.cc:289
+msgid "Artist"
+msgstr ""
+
+#: ../game/webserver.cc:290
+msgid "Title"
+msgstr ""
+
+#: ../game/webserver.cc:291
+msgid "Language"
+msgstr ""
+
+#: ../game/webserver.cc:292
+msgid "Edition"
+msgstr ""
+
+#: ../game/webserver.cc:293
+msgid "Creator"
+msgstr ""
+
+#: ../game/webserver.cc:295
+msgid "Normal"
+msgstr ""
+
+#: ../game/webserver.cc:296
+msgid "Inverted"
+msgstr ""
+
+#: ../game/webserver.cc:297
+msgid "Update every 10 sec"
+msgstr ""
+
+#: ../game/webserver.cc:298
+msgid "Refresh database"
+msgstr ""
+
+#: ../game/webserver.cc:299
+msgid "Upcoming songs"
+msgstr ""
+
+#: ../game/webserver.cc:300
+msgid "Refresh playlist"
+msgstr ""
+
+#: ../game/webserver.cc:301
+msgid ""
+"Web interface by Niek Nooijens and Arjan Speiard, for full credits regarding "
+"Performous see /docs/Authors.txt"
+msgstr ""
+
+#: ../game/webserver.cc:302
+msgid "Search"
+msgstr ""
+
+#: ../game/webserver.cc:303
+msgid "Available songs"
+msgstr ""
+
+#: ../game/webserver.cc:304
+msgid "Search for songs"
+msgstr ""
+
+#: ../game/webserver.cc:305
+msgid "Yes"
+msgstr ""
+
+#: ../game/webserver.cc:306
+msgid "No"
+msgstr ""
+
+#: ../game/webserver.cc:308
+msgid "Move down"
+msgstr ""
+
+#: ../game/webserver.cc:309
+msgid "Set position"
+msgstr ""
+
+#: ../game/webserver.cc:310
+msgid "Remove song"
+msgstr ""
+
+#: ../game/webserver.cc:311
+msgid "Desired position of song"
+msgstr ""
+
+#: ../game/webserver.cc:312
+msgid "Cancel"
+msgstr ""
+
+#: ../game/webserver.cc:313
+msgid "Successfully removed song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:314
+msgid "Failed removing song from playlist"
+msgstr ""
+
+#: ../game/webserver.cc:315
+msgid "Successfully changed position of song"
+msgstr ""
+
+#: ../game/webserver.cc:316
+msgid "Failed changing position of song"
+msgstr ""
+
+#: ../game/webserver.cc:317
+msgid "Successfully moved song up"
+msgstr ""
+
+#: ../game/webserver.cc:318
+msgid "Failed moving song up"
+msgstr ""
+
+#: ../game/webserver.cc:319
+msgid "Successfully moved song down"
+msgstr ""
+
+#: ../game/webserver.cc:320
+msgid "Failed moving song down"
+msgstr ""
+
+#: ../game/webserver.cc:321
+msgid "Successfully added song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:322
+msgid "Failed adding song to the playlist"
+msgstr ""
+
+#: ../game/webserver.cc:323
+msgid "No songs found with current filter"
+msgstr ""
+
+#~ msgid ""
+#~ "This tool is not yet available.\n"
+#~ "Configure paths by adding them\n"
+#~ "as command line parameters and\n"
+#~ "then save them in configuration menu."
+#~ msgstr ""
+#~ "這個工具尚不可用。\n"
+#~ "經由做為命令列參數\n"
+#~ "加入它們以組配路徑\n"
+#~ "然後將它們儲存在組態選單中。"
+
+#~ msgid "Press any key to exit."
+#~ msgstr "按下任何鍵以離開。"
+
+#~ msgid "Windows users can also use ConfigureSongDirectory.bat script."
+#~ msgstr "Windows 使用者也可以使用在 中的 ConfigureSongDirectory.bat。"
+
+#~ msgid "Graphics"
+#~ msgstr "圖形"
+
+#~ msgid "Loading theme..."
+#~ msgstr "載入布景主題…"
+
+#~ msgid "Song is broken!"
+#~ msgstr "歌曲已損壞!"
+
+#~ msgid "Loading background..."
+#~ msgstr "載入背景…"
+
+#~ msgid "Random background..."
+#~ msgstr "隨機背景…"
+
+#~ msgid "Loading user interface..."
+#~ msgstr "載入使用者介面…"
+
+#~ msgid "Loading instruments..."
+#~ msgstr "載入樂器…"
+
+#~ msgid "Finalizing..."
+#~ msgstr "結束…"
+
+#~ msgid "No Items up to now."
+#~ msgstr "目前還沒有名單。"
+
+#~ msgid "Be the first to be listed here!"
+#~ msgstr "在此成為清單中的第一位!"
+
+#~ msgid "(press END to view hiscores)"
+#~ msgstr "(按下結束以檢視評分結果)"
+
+#~ msgid "Hisccore for %1%\n"
+#~ msgstr "%1% 的評分結果\n"
+
+#~ msgid "Gameplay settings."
+#~ msgstr "遊戲設定值。"
+
+#~ msgid "Video and rendering settings."
+#~ msgstr "影像和潤算設定值。"
+
+#~ msgid "Audio-related settings."
+#~ msgstr "音效相關設定值。"
+
+#~ msgid "System paths."
+#~ msgstr "系統路徑。"
+
+#~ msgid ""
+#~ "Part of sound card name or its number or empty to use the first available "
+#~ "device. Used currently for MIDI drum controllers."
+#~ msgstr ""
+#~ "音效卡的部分名稱、它的編號或是空白,以使用第一個可用裝置。使用目前的做為 "
+#~ "MIDI 鼓聲控制器。"
+
+#~ msgid "3D notes"
+#~ msgstr "立體音符"
+
+#~ msgid ""
+#~ "Draw instrument notes as 3-dimensional objects. May hurt performance on "
+#~ "older hardware."
+#~ msgstr "以立體物件繪製樂器音符。在舊硬體上也許有損效能。"
diff --git a/licence.txt b/licence.txt
new file mode 100644 (file)
index 0000000..1f27350
--- /dev/null
@@ -0,0 +1,347 @@
+Performous is
+   Copyright (C) 2006-2016 The Performous Team
+
+Performous is GNU GPLv2 or later. Some parts of the project may have more
+liberal licenses, see docs/license for details.  See docs/Authors.txt for
+information on copyright holders and licenses of specific parts.
+
+
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                            NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/osx-utils/CMakeFiles/cmake.check_cache b/osx-utils/CMakeFiles/cmake.check_cache
new file mode 100644 (file)
index 0000000..3dccd73
--- /dev/null
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/osx-utils/performous-app-build.sh b/osx-utils/performous-app-build.sh
new file mode 100755 (executable)
index 0000000..708ddb5
--- /dev/null
@@ -0,0 +1,194 @@
+#!/bin/bash
+set -o errexit
+# the very first step is to check that dylibbundler exists,
+# without it the bundle would be broken
+
+PREFIXDIR="/opt/local" # By default, the default prefix for macports, change this if you're using a different path or package manager.
+DEPLOYMENT_TARGET="10.9" # Change this if you want to target a different version of macOS.
+MAKE_JOBS=$(sysctl -n hw.ncpu)
+CCPATH="/usr/bin/clang" # Path to system Clang, change if you want another compiler.
+CXXPATH="/usr/bin/clang++" # Path to system Clang, change if you want another compiler.
+
+
+args=("$@")
+debug="^(--debug|--DEBUG|-d|-D)$"
+
+function asksure {
+       echo -n "$1"
+               while read -r -n 1 -s answer
+                       do
+                               if [[ $answer = [YyNn] ]]
+                                       then
+                                               [[ $answer = [Yy] ]] && retval=0
+                                               [[ $answer = [Nn] ]] && retval=1
+                                               break
+                               fi
+                       done
+
+       echo # just a final linefeed, optics...
+
+       return $retval
+}
+
+function exists {
+       if hash "$1" 2>/dev/null
+               then
+                       return 0
+       else
+               return 1
+       fi
+}
+
+function arewedebug {
+       if [[ ${args[0]} =~ ${debug} ]]
+               then
+                       DEBUG=1
+       else
+               DEBUG=0
+       fi
+}
+
+function bundlelibs {
+       dylibbundler -od -b -x "${BINDIR}/performous" -d "${LIBDIR}" -p @executable_path/../Resources/lib/
+               declare -a performous_tools
+               performous_tools=(gh_fsb_decrypt gh_xen_decrypt itg_pck ss_adpcm_decode ss_archive_extract ss_chc_decode ss_cover_conv ss_extract ss_ipu_conv ss_pak_extract)
+               for i in "${performous_tools[@]}"
+                       do
+                               if [ -f "${BINDIR}/$i" ]
+                                       then
+                                               dylibbundler -of -b -x "$BINDIR/$i" -d "$LIBDIR" -p @executable_path/../Resources/lib/
+                               fi
+                       done
+}
+
+function createdmg {
+       if [ "${FANCY_DMG}" == 0 ]
+               then
+                       ln -sf /Applications "${CURRDIR}/out/Applications"
+                       rm "${CURRDIR}/out/.DS_Store"
+                       /usr/bin/hdiutil create -ov -srcfolder out -volname Performous -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW RWPerformous.dmg
+                       /usr/bin/hdiutil convert -ov RWPerformous.dmg -format UDZO -imagekey zlib-level=9 -o Performous.dmg
+                       rm -f RWPerformous.dmg
+                       cd ..
+       elif [ "${FANCY_DMG}" == 1 ]
+               then
+                       rm -f "${CURRDIR}/Performous.dmg"
+                       appdmg "${CURRDIR}/resources/dmg_spec.json" "${CURRDIR}/Performous.dmg"
+       fi
+}
+
+function main {
+       if [[ "${DEBUG}" = 1 ]]
+               then
+                       echo "Will create bundle for debugging..."
+                       RELTYPE=Debug
+                       ENABLE_TOOLS=OFF
+       else
+               RELTYPE=Release
+               ENABLE_TOOLS=ON
+               if exists dylibbundler
+                       then
+                               echo "dylibbundler found!"
+               else
+                       echo "dylibbundler not found! you need to install it before creating the bundle."
+                       exit 1
+               fi
+
+               if exists appdmg
+                       then
+                               FANCY_DMG=1
+                               echo "appdmg found! Will build styled bundle."
+                       else
+                               if exists npm
+                                       then
+                                               if asksure "appdmg is not installed, would you like to install it? (y/n)"
+                                                       then
+                                                               sudo npm install -g https://github.com/LinusU/node-appdmg.git && FANCY_DMG=1
+                                                       else
+                                                               echo "Will build DMG without the fancy style then..."
+                                                               FANCY_DMG=0
+                                               fi
+                                       else
+                                               echo "npm not found!"
+                                               echo "Will build DMG without the fancy style then..."
+                                               FANCY_DMG=0
+                               fi
+               fi
+       fi
+
+       SOURCE="${BASH_SOURCE[0]}"
+       while [ -h "${SOURCE}" ]
+               do # resolve $SOURCE until the file is no longer a symlink
+                       DIR="$( cd -P "$( dirname "${SOURCE}" )" && pwd )"
+                       SOURCE="$(readlink "${SOURCE}")"
+                       [[ "${SOURCE}" != /* ]] && SOURCE="${DIR}/${SOURCE}" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
+               done
+       CURRDIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
+
+# first compile performous, build dir shouldn't exist at this stage
+
+# define Bundle structure
+       TEMPDIR="${CURRDIR}/out/Performous.app/Contents"
+       RESDIR="${TEMPDIR}/Resources"
+       LIBDIR="${RESDIR}/lib"
+       LOCALEDIR="${RESDIR}/Locales"
+       FRAMEWORKDIR="${RESDIR}/Frameworks"
+       BINDIR="${TEMPDIR}/MacOS"
+       ETCDIR="${RESDIR}/etc"
+
+       rm -rf "${TEMPDIR}"
+       mkdir -p "${TEMPDIR}"
+
+       rm -rf ./build
+       mkdir build
+       cd build
+
+       cmake -DCMAKE_INSTALL_PREFIX=$TEMPDIR -DCMAKE_BUILD_TYPE=${RELTYPE} -DENABLE_WEBSERVER=ON -DCMAKE_VERBOSE_MAKEFILE=1 -DFreetype_INCLUDE_DIR="${PREFIXDIR}"/include/freetype2 -DCMAKE_OSX_DEPLOYMENT_TARGET=${DEPLOYMENT_TARGET} -DFontconfig_INCLUDE_DIR="${PREFIXDIR}"/include/fontconfig -DPng_INCLUDE_DIR="${PREFIXDIR}"/include/libpng -DAVCodec_INCLUDE_DIR="${PREFIXDIR}"/include/libavcodec -DAVFormat_INCLUDE_DIR="${PREFIXDIR}"/include/libavformat -DSWScale_INCLUDE_DIR="${PREFIXDIR}"/include/libswscale -DFreetype_INCLUDE_DIR="${PREFIXDIR}"/include/freetype2/ -DLibXML2_LIBRARY="${PREFIXDIR}"/lib/libxml2.dylib -DLibXML2_INCLUDE_DIR="${PREFIXDIR}"/include/libxml2 -DGlibmmConfig_INCLUDE_DIR="${PREFIXDIR}"/lib/glibmm-2.4/include -DGlibConfig_INCLUDE_DIR="${PREFIXDIR}"/lib/glib-2.0/include -DCMAKE_C_COMPILER="${CCPATH}" -DCMAKE_CXX_COMPILER="${CXXPATH}" -DCMAKE_C_FLAGS="-arch x86_64" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DSHARE_INSTALL=Resources -DLOCALE_DIR=Resources/Locales -DCMAKE_CXX_FLAGS="-std=c++1y -Wall -Wextra -stdlib=libc++ -arch x86_64" -DCMAKE_EXE_LINKER_FLAGS="-stdlib=libc++ -lc++ -lc++abi -arch x86_64" -DCMAKE_OSX_ARCHITECTURES="x86_64" ../..
+       
+       make -j${MAKE_JOBS} install # You can change the -j value in order to spawn more build threads.
+
+# then create the rest of the app bundle
+
+       mv "${TEMPDIR}/bin" "${BINDIR}"
+
+       cp ../resources/performous-launcher "${BINDIR}"
+       if [[ "${DEBUG}" = 1 ]]
+               then
+                       sed -i '' -e 's|"\${CURRDIR}\/performous"|"\${CURRDIR}\/performous" --log debug|g' "$BINDIR/performous-launcher" # enable debug logging.
+       fi
+       cp ../resources/performous.icns "${RESDIR}"
+       cp ../resources/Info.plist "${TEMPDIR}"
+
+       mkdir -p "${FRAMEWORKDIR}"
+       mkdir -p "${LIBDIR}"
+
+       if [[ "${DEBUG}" = 0 ]]
+               then
+                       bundlelibs
+               else
+                       echo "Skipping dylibbundler..."
+       fi
+
+       mkdir -p "${ETCDIR}"/fonts
+       cp -pLR "${PREFIXDIR}"/etc/fonts "${ETCDIR}"
+
+       cd $ETCDIR/fonts
+       sed -i '' -e 's|\/opt\/local/share|\.\.\/\.\.\/\.\.\/Resources|g' fonts.conf
+       sed -i '' -e 's|\/opt\/local/var/cache|\~\/\.cache|g' fonts.conf
+       sed -i '' -e 's|\<\!-- Font directory list --\>|\<\!-- Font directory list --\>\
+    <dir>\.\.\/\.\.\/pixmaps</dir>|g' fonts.conf
+
+       cd "$CURRDIR"
+
+# then build the disk image
+       if [[ "${DEBUG}" = 0 ]]
+               then
+                       createdmg
+               else
+                       echo "Skipping creation of .dmg image."
+       fi
+}
+
+arewedebug
+
+main
\ No newline at end of file
diff --git a/osx-utils/resources/Info.plist b/osx-utils/resources/Info.plist
new file mode 100644 (file)
index 0000000..4a6df83
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>English</string>
+       <key>CFBundleExecutable</key>
+       <string>performous-launcher</string>
+       <key>CFBundleGetInfoString</key>
+       <string>Performous</string>
+       <key>CFBundleIconFile</key>
+       <string>performous.icns</string>
+       <key>CFBundleIdentifier</key>
+       <string>org.performous.Performous</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundleName</key>
+       <string>performous</string>
+       <key>CFBundlePackageType</key>
+       <string>APPL</string>
+       <key>CFBundleShortVersionString</key>
+       <string>1.1</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleVersion</key>
+       <string>1.1.0</string>
+       <key>LSUIElement</key>
+       <false/>
+       <key>NSHighResolutionCapable</key>
+       <true/>
+       <key>NSHumanReadableCopyright</key>
+       <string>Performous contributors GPLv2+</string>
+</dict>
+</plist>
diff --git a/osx-utils/resources/default_bg_illustrator.ai b/osx-utils/resources/default_bg_illustrator.ai
new file mode 100644 (file)
index 0000000..e5282e5
--- /dev/null
@@ -0,0 +1,5849 @@
+%PDF-1.5\r%âãÏÓ\r
+1 0 obj\r<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 90 0 R 195 0 R 299 0 R 383 0 R 487 0 R 591 0 R 695 0 R 811 0 R 927 0 R 1043 0 R]/Order 1044 0 R/RBGroups[]>>/OCGs[5 0 R 90 0 R 195 0 R 299 0 R 383 0 R 487 0 R 591 0 R 695 0 R 811 0 R 927 0 R 1043 0 R]>>/Pages 3 0 R/Type/Catalog>>\rendobj\r2 0 obj\r<</Length 16624/Subtype/XML/Type/Metadata>>stream\r
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c067 79.157747, 2015/03/30-23:40:42        ">
+   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+      <rdf:Description rdf:about=""
+            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+            xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
+            xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+            xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+            xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
+            xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
+            xmlns:dc="http://purl.org/dc/elements/1.1/"
+            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/">
+         <xmp:CreatorTool>Adobe Illustrator CC 2015 (Macintosh)</xmp:CreatorTool>
+         <xmp:CreateDate>2016-01-26T17:21:28-03:00</xmp:CreateDate>
+         <xmp:ModifyDate>2016-01-26T18:15:59-03:00</xmp:ModifyDate>
+         <xmp:MetadataDate>2016-01-26T18:15:59-03:00</xmp:MetadataDate>
+         <xmp:Thumbnails>
+            <rdf:Alt>
+               <rdf:li rdf:parseType="Resource">
+                  <xmpGImg:width>256</xmpGImg:width>
+                  <xmpGImg:height>160</xmpGImg:height>
+                  <xmpGImg:format>JPEG</xmpGImg:format>
+                  <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAoAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq+Vf+c5/+mJ/&#xA;7en/AGJ4q+VcVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVfav/ADhV&#xA;/wCSs1X/ALblx/1B2mKvf8VdirsVdirsVdirsVfKv/Oc/wD0xP8A29P+xPFXyrirsVdirsVdirsV&#xA;dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir7V/5wq/8AJWar/wBty4/6g7TFXv8AirsV&#xA;dirsVdirsVdir5V/5zn/AOmJ/wC3p/2J4q+VcVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir&#xA;sVdirsVdirsVdirsVfav/OFX/krNV/7blx/1B2mKvf8AFXYq7FXYq7FXYq7FXzZ/zm5pME/lfyzq&#xA;fxfWrW+mtowD8Pp3MId6inWtslPpxV8ii0kPtii14sX7nDS2uFgfE40tt/o8+JxpFsm8rflN5081&#xA;Wkt3oFkt7DA/pzUubWN0alfiSWRHAPY0ocnHFKXJjLKBza138p/Ouh6Smsajp5XSpCAl9BNBdQ/E&#xA;aCr27yqATtU98ZYpAWoygmmMGwfschTO1pspRgpbTXyn5J1/zVrcOjaREr3UoLu7txiijX7ckjUP&#xA;FF/sFTkowMjQRKYAspt+YP5Yaj5Mt9Hu5NQtdUsNbhaeyurMuVIQIWqHVdv3q8T39slPHw15sYZB&#xA;JhhBHUUytsaxV2KuxV2KuxV2KuxV2KuxV2KuxV61/wA44/ld5a/MXzXqWla+9yltaWJuojayLG/M&#xA;TRx7lkk2o57Yq+zvy2/LTy7+XmhT6LoDXD2dxdPeyG6dZH9V444jQqqfDxhXtirLMVdirsVdirsV&#xA;dirsVeBf85ixep5G0UeGp1/6d5cIYTfJaWntkqY2qrZ+2GkcSqtl7Y0jiXix9saRxPavyP0yax8h&#xA;+dtWhKJcXEX1O1lkdIVWVIXK1lkZEUcrhKknMnCKiS1ZDZDcBsbf8s7H8sNOv4NT8ya7coJ/q0gn&#xA;trRXnEzcpU5IeKx/EFJ3qfm/w8I5lf4uJBXH5TeQ007zdbpNerc+VoIi2tSvGIJ7to2Z4Uh4CgDK&#xA;qAcy1W69OUfCjv5J8Q7earp/5Rfljc6P5Y1q6v77TrTWJXhkgupIKuyrIV/ehUWIH0uu9ahRua4R&#xA;ijQKnJKyE58haR5L8s6F+YGpad9buYLP1rBr5ZoW9SH4yq2zCOgajpyZuQLAEADYygIgSLGZJIYL&#xA;feQPK2h+UNO8za6moXsOrT00PRPrCxNFZMS/qSyiNwzMlGARVFWH0VHGALLYJkmgnM/5GeTLH81b&#xA;fynezX89hqtsbnTnheJHh4LKZBOzI3Khh+Dio679N5eCBKkeMeG0Dq35Ufk/pWkTyS6rfX+o2msN&#xA;pstrbvbxXElJTGY0iYMfgHVz1INAARgOKAHPqkZJEpsPyD/K2H8yD5Uku9VuJLqyN3BDGYlW3AqC&#xA;ZZitXLEfAAm37Va5LwI8Vbo8aXDbG7j8oPy9f8ufNOs6bf39xqfl24kt/r0wjjtZpI2X4Y41DMVI&#xA;kC1LV5fFsDTIeFHhJHRn4suIDvQK/ld5T8r+W/K+peb0u7/VfNU8Yg061mW3jtrV+JaR2KSM8irK&#xA;h4/CKmnbceGIgE9U+ISTXRPbX8hvJtv+bNz5K1CfUZra6sv0hpNxA8KmOH4lb6wSjcmEiFV4qPfJ&#xA;eAOPhY+MeG2N+Wvyq8tzeUvP+u6rPcSJ5ZlmtNJlhdUSWaEOAZAVaoZmi6EdchHEKJPRlLIbAHVP&#xA;dA/JryVZeTvLnmDzJHqF7Z64jS6nqdk9INMieIvCzxpHK5+Kis5+FT1yUcUQAT1YnKbIHR4prEOn&#xA;QavfQaZO11psVxKllcuOLSwK5EcjLQULJQ0pmOeezkDlug8CXYq7FX0T/wA4Tf8Akwdc/wC2S3/U&#xA;TDir7LxV2KuxV2KuxV2KuxV2KvDf+ctI+fkvSB4ajX/khJkoteTk+Wo7T2yymm0Qln7YaRastl7Y&#xA;0i1UWW1aYaRb01dT8p2n5S3flS11uKXVbmb6zPxtr0ROVlVxGjtAm5WJRVgBXrQb5bY4atjvdsT8&#xA;kajF5c82aZrcsRlhtJG9ZFFW9OWNonKjuVVyQMhA0bUmxTI/zCu/Luq3l/fReYbrWYJy0mmaOqTx&#xA;RW80goZHMoCBU3ICrybatBvkp0eqxNLPPOo6bruheU/L+gepfNpNmy3aRwzAmURRhqKyKWp6bsSN&#xA;sZkEABRtaMjjXS/yFe22EnmHUWKL+1xidQzAeH+iU+n5YeUPet+pvVdY8qeZtB8mwahqCaaPLwWH&#xA;VLSSKd3eNFiSsHpRyK3MQ9ztXfpiSCB5KLFo3SvzJ0G9/NSfzVrLPY6ba6e1npKGOSSQn1AauIlk&#xA;ozc5D4DYV2wjIDKyivTQeZeXzZDzrp+saw4htV1BL29lKNJssvrN8KBmNSKbDKY87LYTtT0jS/zE&#xA;8qwfml5m823F0RBLZLaaMDDO3qlVjqKBCU5ND+0B1y4THESwMTwgMY0XXfLb/k5q3lW/1JtO1W6v&#xA;TdyD0JZjcAGOQAFBxBYxAfEw6ZWCOAhmb4rTfXPMvkbzTP5H1rUNUj06Py6o/SulPDO0peIxsqQL&#xA;FG6MjtDSvIUWnfbJSlGVHuWIIsd7vJ/5seXbn83tY81a67abZ3Nh9S0t5EaT0443jbi4jDkM/At4&#xA;VqPDGGUcZJWUDw0Epj1z8tofyh17yTa+Yp47u5vPrUuoTWUtb1vUikLRRqW4BvRCfvHB2qaA7RuP&#xA;AY2yqXEDTIfKf5ieQPJrhtI8yyz+TBpxI8uXUc016uochURFo+KI615D1OHIkjbcTjkjHkdmMoSl&#xA;zG75ku3WS6mlSIQxyOzJEOiqxqFHy6ZhFywo4pdirsVfRP8AzhN/5MHXP+2S3/UTDir7LxV2KuxV&#xA;2KuxV2KuxV2KvFv+cpk5+T9KH/L/AP8AMiTJw5tWbk+Z4rcZbTjWi47X2wotEx2nthpjauln7Y0i&#xA;0uvNd0iymaKd2DqaGgr/ABwGQDMYyVAecPL387/8CP64OMMvBku/xh5d/nf/AIEf1x4wjwZJj5f/&#xA;ADJsNF1aDUtMm43UXJQssfNGVxRlYBlND7EYRkAOy+FJPtQ1e98x+jd3Dp6EastpawoIoIVY8mEa&#xA;CtOR3JJJPjk7trJpAnTfbBSOJTbTfbGl4kpS606XVrjSg3G9twpMbUHIMof4PGgbfI2Lpso1fRES&#xA;aZ7YaY8SFm04KrMRsBU/IYKZCSQXGp6SjFWY1HsP65DiDaIFCSanpR6MfuH9cFhlwlDSXumt0Y/c&#xA;P64LDLhKgXspDRTufbBsndbLpwIqBUY0okgZtMp0FPlkaZCSDktJU7VwMrUSCDQihxS+iP8AnCb/&#xA;AMmDrn/bJb/qJhxV9l4q7FXYq7FXYq7FXYq7FXjn/OTi8vKOlj/l+/5kyZPHzac3J85Qw9MucUlG&#xA;xQZJjaMit/bCxtFx2vtii3i/ncsNeuFrsHbb6cxZ83Y4vpY/kWx2Kr4iRIpGxqMVe26ZrWm6F5Ls&#xA;9R1Ev6TuIkEa8mZ2BIAGw6KT1zJEqju6+UDKZAQp/Nfyf/Jdf8il/wCa8HihP5aS0/mr5PP7F1/y&#xA;KX/mvHxQv5aTzbzRrcWoeZrnVdPMkKO0bQM3wuDHGq12JpuuUylZty8cKjRegeSPOlrrITT9RKxa&#xA;mBSNzRUm+Xg/t92XQnexcXNh4dxyZRqmncbC5anSJz/wpywjZpid3gl8zG6kqehzDLswh8UuxVE6&#xA;dX62gHc4Qgs/TTawKada/rOXU4hkhZ9M9sFMhJL59N67ZEhmJJfPpvWoyJDMSe6f84Y2nofmDrZ7&#xA;HSWH/TzDgIZgvsLAl2KuxV2KuxV2KuxV2KvIP+clhXynpn/Md/zJkyzHzaM/J88wJ0y5xCmEMfTJ&#xA;MSjoYsWKNihwoeD+fRTzJdj/AIsb9eYs+bssP0hjuQbXYquj/vF+Y/Xir1PzrFx/KLR38b+Mf8kZ&#xA;sul9IcTH/eH3PKspct2KuxVtWZWDKSrKagjYgjFXs/5feadT8w+X9TtL+F5ZbG3c/pGnwuCpAR/8&#xA;v9Y/HIhMkbuDmxiMgQ8evv8AeuX/AFjmOXNChil2KozShW/hHiw/XhCJcns1tptbNDTx/wCJHMkB&#xA;1xO6Hn0z2xpIkl0+me2RpkJJdcab12wUzEnsf/OJlp6PnnWGpSumEf8ATxFlcg3YzZfVOQbnYq7F&#xA;XYq7FXYq7FXYq8h/5yV/5RTTP+Y7/mTJlmPm0Z+T57t8vcQpnbjCwTGBcLEo+BBhQ+f/AMwRTzPe&#xA;f8ZG/XmJPm7PD9IY1kG12Kro/wC8X5j9eKvctb8qa55g/KDSLbRrU3d1FeJO8Ssqn0xFIhI5FR1c&#xA;ZeQTHZwozEcht58Pyc/Mw/8ASim/4OH/AJryvw5dzkePDvb/AOVNfmb/ANWGb/g4f+a8fDkvjw72&#xA;L6vpGpaPqM2m6nbta31uQJoHpyXkoYdKjdWBGRIpsBBFhlX5a/ldq/nS9LqGttFgbjd31O9K+nED&#xA;9p/wXv2BlCFtWXKIDzfRknlTTND8p3Wn6bbiC1htpaKOrHgasx6sx7k5k0AHX8RlKy+RtRFL6b/W&#xA;OYZdqENil2Ko7RafpOCpoOQ3PzwhEuT6M0/Tw2nRMBUHlQ/7I5mDk6qR3U59N9saW0un03rtgpIK&#xA;W3Gm9dsFMxJ6l/zjPaej5x1RqUrp5H/JaPKsg2cjAd30flLlOxV2KuxV2KuxV2KuxV4//wA5MNTy&#xA;npf/ADHf8yZMsx82nPyfPNs/TLg4ZTW3bJMCmdu2FiUytzhQ8m87fl/rl/rdxc2kXNXcsCCOhNfH&#xA;MecDbnYswA3SAflX5vPS0P4f1yHhls8eK8flL5yPSzP4f1x8Mr48UTafk95yaZC9oQoIqaj+uPhl&#xA;Tni+l/IWizaZ5Zs7OcASxr8Q65kxFBwMhuVsnS3r2yTBXW1HhgTT53/NH8qta1Tz55k8y3YWz8v2&#xA;wtDFNKaG5cW8EZjiA3+1UFvEU+VEoWbc3FkAiB1ZR5Y/MTRNMubXS9J0FbHTrh4klijlLFZCEi5I&#xA;pFD8K792O5NcsBprliJ3JT/WPzK8tSQX2mXVte2Ny0ckRW4hC0ZlI3CuzD7sJkwGE83z235W+ZtY&#xA;up7jRrc30PKrGL4itenJeq/SMx+AuZ4gHNo/kp+Yg66RP/wBx8Mr40e9afyY/MIddJn/AOAOPhlf&#xA;Hj3oGXyN5g0jUUh1C1eCWgfiwp8JOx/DHgLITBGz6H8m6aV8qaeDU1RiCadC7EdCe2ZUeTrcp9RR&#xA;s+ne2FrS6407rtim0tuNO67YKTb0H8gbX0fNGotSlbIj/kqmU5eTlaY7l7vlDmuxV2KuxV2KuxV2&#xA;KuxV41/zlA/HyjpR/wCX/wD5kSZOHNpzcnznbTjbfLg4pCbW0w2yTAprbS9MkwKZ28oxQmdrMjfZ&#xA;IPywoKaW79MUJhFIqryY0UdThVE6ZqVje1NrMkoQ0biQaHBaSCE4hAxVGIFAqxAHcnAyC46hpkTo&#xA;ktzEjyV9MMwFadaVwWyEXlP58axfi8sdGUBLAxC7JB3kkLMgr7KBt88hIt+GPVEeS/yba98tWeuJ&#xA;qD2etTUurF0CvCiUrGHUipJ6nf6MUynvSF8zfmKmk61+hfOen2d9e29rMlrIiB4pZyfgkaKVQVHw&#xA;8a08SNjsDJRj2sMX/LPWtU0zW5Z7Ro/qiwtNqMchVQ8MfZWYbNyYcdxU7YQWU4ghHebPOHnex8yL&#xA;fzSSvZwNDdx21q5Nr6LhX4Fkoj0qUZj3riZIjjjVPRNF/Mjy7qlvbSypNY/WywgM6hUZlbjRWruc&#xA;ImGiWIh5r+bF23+K7y09JOCi3ZJty/ERcgAa7AmU12wSLdiGy3yPq3mSVzFbA3cNhERFbyXCwRIG&#xA;LHk6ULy036dPuwglGSMUw0TzHe+ZJbxbjUhYQWhInFpGFFBWp9WQuw6eGIlbCUBHpadeXtG0lIHu&#xA;tNvpb6KXZpJJOYqCT0oN98nGmrJInmEXcWHXbC1sx/Jq3EHmG+Y7A2hFT/xkTKc3JytL9RewJIji&#xA;qMGHSoNcx3PbxV2KuxV2KuxV2KuxV4l/zlZJw8naQfHUKf8AJCTJwasvJ8q6rdyenDHHIUd3A5A0&#xA;2yci1QCeLqsen2CPK3PiBU165K6DXw2U40rX7W5tPrQbjGv2q+2SEmuUCDSM1HWYDoNxcQy7FCEY&#xA;HucJOyxh6qVfy7gvbfSRLdzNI8xLAMTsPpwYxsuYgnZFaVr2q3HnrULVLofomyjVpIqAnmVGwOIJ&#xA;4lMQIA9WSWvnLRb69bSo5OczgqygjbJcQOzDwyBaTfl/Lb6B5t1TRpZv70+pDyPjvTIR2NNuT1RB&#xA;Tb8ptX8xajea7qmp3pm0sXDw2QfoOB6r4CmMCTaMoAoDmr3n5j2d/qV75fublLRJAY7a4BIJc9KE&#xA;YmXRkMdC2FeWFh8yeafLflzUJGuBYT3FzcOxJLBKcVJ8DTKxuabjsCWV/wDORrWlrJpN+ksfP03t&#xA;3iDLyAUhk+Gtd+TZORY4WX/lv+aqaq+maS1kVWe19WOZKBI4ojwo3hTjTIiSZQp4T+bmpRedPzJv&#xA;r7TGVreF47C2etOZi2ZlPQ7nIHct0RQQHmKLVvL12uiXKFZ4ZvTmhLclDjZiKbHp1yZKALQeqvbs&#xA;sMNw/pxSsA7j9kVqcEisXpnl/S9C8y6t5V0yzn52GiRPLdTEhekpK8thQ0GDqxNgFk2r+WNO86+Y&#xA;Ne1f6wY9K0Ux2NubcLynaFf31WNfssaBqdKeGWW1i4imOeSNc0Cz8m61qctnDFew3M8NpMwDShGH&#xA;EIHI5bdMAlss4kkMk/L7yJbS+TLr6xHSTV1ZnPQgOu2/05KA2askvV7ks/J20j0+31jy7KaXmm3b&#xA;BlPUoSeLfhjj22XPvRZ1cWXXbLXGRGjeXn1Ww12xime2mlsH9GeI8WV1ZSpBGVZuTlaT6in/APzj&#xA;3fS3P5dW8NxM095ZzzwXMjnkxdJCKk5jOe9LxV2KuxV2KvPPz182az5V8iy6zo8qxXsEycA+4fY/&#xA;DTvXFUz/ACp1Xzdq/k611PzSkcWo3dZFiiXiFj/ZqPHFWYYq+af+cyPNElpY6LpAjqpm+tepXuEe&#xA;OlKe+EGmMhb5Rv8AVZboqRVeOJNrGNK8uvyvp62jDlT9onDxbIEN7VtP8zS2unSWZTkr13r44iWy&#xA;JY7NuPmiZrWC040giNWUH7WPEvh72ye2/Nm4giWJLYcVFB8X9mWeK0nTBj2lecb2w16bVAS3rsWk&#xA;jJ2ap6ZWJUbbpYwRSKsvPktn5lbWYLZVLE8o+Rpv70wie9oOK40htT84XN1rF1qsHKG6uHDKQxPH&#xA;ahFTgMt7TGFCk7g/NjULbyePLtrCIFAIM6seRJNSTt3yXHtTHwRxWw6HVJ1mjnlYySRSLIpJ68TW&#xA;hyttpNtJ89avpXmJNds24Xa8gw7FX6jCJbsTAEUhfMvmW91/Uvr13I7yGgPIkgU8MSbTGNJrafmL&#xA;q+l29xbaO5tRdQ/VprgE8yh+1x/l5e2EyXhSyx8wxWGrWF9bQnjZlWeJ25CR13Ynb9rBaaV/M3nX&#xA;U9ev0u7ghXjDBSooTzdpGY06ku7GuJKgLdQ8xWl1psUHot9ZQgtMXqDTsFoKffiTagN6b501PS7G&#xA;5trFjEbwBbhxSpANQAabdcbWk48p/mrrPl7RNR0yEl1v1YFy26lqVI2PhiCgxBSGw8z3UMYt5mL2&#xA;pm9d4q05NXxxtNPW7T/nJ28tLSK1h0tBHEoRR6h6AU/lywZGg6cFhw/OPU4fO0nme0tlheccbq3D&#xA;EpIKd9hkePe2RxDhpOPMf/OQmuanpktraQfUppOk6OSwHtsMkcpYR0wBUPy8/wCcg/NflWa5a6Y6&#xA;lHcRGPhK1CKkH7VG8MgZEt0cYBsPfP8AnETXLzVtF8xzyx+nbvfmWIDcBpAWYD78izfQOKuxV4h+&#xA;cH5i+efKnmnS7O24jSdRlWMT/wAtWoQdvDFXtNlI0lpC7HkWQEnxqMVeGf8AOVmq8dN8s6GNzqOp&#xA;Rl17FFIG/wDwWKvbrQQWWlwhisUMES1J2VQBiqS6P+ZPkrWdZfRtM1SK51FAWaFK9F670pir5w/5&#xA;zYP+5LQ/+MZ/W2Kvl/FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXv&#xA;/wCW3nPzB5T8p+XbfREBj1PUH+tGpHI/AKGmKvr6TX7TTtCh1LWZktUMatKzEBQzDxOKr9F8z6Dr&#xA;UfPTL2K5FK0jdWP4HFXg3/OWHnPSLfT9P0oDlqEcwmRtvh44q9j/ACw1xda8kaZfA1Lx0beu67Yq&#xA;8G/5zJGoWOq+VdaiqYLV2oN6CRWDj9WKsy80ec3/ADA/5x61PVdCkaO7W3pdRI3xqYyOY+HfdRir&#xA;5o/5x0v7q0/N/QmiqTLK0UvX7LKa1xVn3/OZXmTS9Q81abplnMs09jCfrXAghWYmimnfFXzrirsV&#xA;dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirLtD886hZWemaYwHoWV4LqKQ&#xA;9RUrUf8AC4q+hf8AnIvzbPqP5RaJNZyB7e8WIzuhqAQpqMVeZ/8AOL+tzWn5hRrPfi2s/Sb1Fkai&#xA;nb3xVPv+clfOWj+cvNdjoegwpc3ML+m9zHUlmLcaYq+mvye8rXPlnyHp+mXJPrqpZwexY1piqz84&#xA;vy+0/wA7+S7vTrmongR57SReqyKhp9+KvhXyp+Y3m7yM+oafpk4Ftc84by1lUMjbFTt264qkeg+Z&#xA;tV0LV/0tpkghvQHVJKA8fUBBpX54qgb26u724kvbp2lmndmklbcs3U/rxVD4q7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqyuLRNLvPI7aqt0kep2t08TWzGjNEEjKsB82b&#xA;FUsl82a7Loi6JLcl9ORuSQneh9sVSuGeaF+cTlHH7SmhxV7j/wA4p+Tk1/ztLqd2hki09RIGP8/I&#xA;HFX2+AAKDoMVadA6Mh6MCD8jir87fz18m3HlX8xtSsnjKW87C4tmPRkcV2PzxV59iqNnCfom0I+2&#xA;ZZ+X0COmKoLFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FWU2ttHH+X&#xA;lxeFVMkt+0AY/aASKJtv+DxVi2KrkRncIoqzGgGKvuz/AJxj/Lx/K/k367dRhb3UuMhPfjxBGKvZ&#xA;sVdir5e/5zV0GBrLRdaSMCZC8Ekg6laggH78VfJmKrzIxiWM/ZUlgP8AWpX9WKrMVdirsVdirsVd&#xA;irsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVTKx0rXL6zIs4JZ7VXNQgJUPQV+mlMVVf&#xA;8J+Y/wDq3zf8CcVTvyV5P1qTzRpy3VjKkHqjmzKaUGKv0Z0yKOHTraKMAIkaBQNugGKonFXYqxH8&#xA;wvyx8u+fLOG01symCAlkSJgoqabmoPhirzG7/wCcN/y5lNYby8h9gUP8MVVLD/nDn8r4gBez311Q&#xA;mnGVYutOvFT0piqO/wChQvyb/wCWe/8A+ktv6Yq7/oUL8m/+We//AOktv6Yq7/oUL8m/+We//wCk&#xA;tv6Yq7/oUL8m/wDlnv8A/pLb+mKu/wChQvyb/wCWe/8A+ktv6Yq7/oUL8m/+We+/6S2/pirv+hQv&#xA;yb/5Zr7/AKS2/pirv+hQvyb/AOWa+/6S2/pirv8AoUL8m/8Almvv+ktv6Yq4/wDOIX5N/wDLPfD/&#xA;AKO2/pirX/QoP5Of74v/APpLP/NOKu/6FB/Jz/fF/wD9JR/5pxVr/oUD8nP983//AElH/mnFW/8A&#xA;oUH8nP8AfF//ANJZ/wCacVa/6FB/Jz/fN/8A9JR/5pxV3/QoP5Of75v/APpKP/NOKu/6FB/Jz/fN&#xA;/wD9JR/5pxV3/QoP5Of75v8A/pKP/NOKu/6FB/Jz/fN//wBJR/5pxVv/AKFC/Jv/AJZ7/wD6S2/5&#xA;pxVv/oUL8m/+Wa+/6S2/pirv+hQvyb/5Zr7/AKS2/pirv+hQvyb/AOWa+/6S2/pirO/In5U+TPJG&#xA;kTaVotoxtZ7hrpzct6z+o6JGaMw6cYhtirJP0PpX/LHD/wAAv9MVcNI0tTUWkII6EIv9MVRYAAoB&#xA;QDoMVdir/9k=</xmpGImg:image>
+               </rdf:li>
+            </rdf:Alt>
+         </xmp:Thumbnails>
+         <xmpTPg:NPages>1</xmpTPg:NPages>
+         <xmpTPg:HasVisibleTransparency>True</xmpTPg:HasVisibleTransparency>
+         <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+         <xmpTPg:MaxPageSize rdf:parseType="Resource">
+            <stDim:w>1000.000000</stDim:w>
+            <stDim:h>800.000000</stDim:h>
+            <stDim:unit>Pixels</stDim:unit>
+         </xmpTPg:MaxPageSize>
+         <xmpTPg:PlateNames>
+            <rdf:Seq>
+               <rdf:li>Cyan</rdf:li>
+               <rdf:li>Magenta</rdf:li>
+               <rdf:li>Yellow</rdf:li>
+               <rdf:li>Black</rdf:li>
+            </rdf:Seq>
+         </xmpTPg:PlateNames>
+         <xmpTPg:SwatchGroups>
+            <rdf:Seq>
+               <rdf:li rdf:parseType="Resource">
+                  <xmpG:groupName>Default Swatch Group</xmpG:groupName>
+                  <xmpG:groupType>0</xmpG:groupType>
+               </rdf:li>
+            </rdf:Seq>
+         </xmpTPg:SwatchGroups>
+         <illustrator:Type>Document</illustrator:Type>
+         <dc:format>application/pdf</dc:format>
+         <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+         <xmpMM:DocumentID>uuid:c9065145-261b-3f47-bdd8-4e4c9bf48079</xmpMM:DocumentID>
+         <xmpMM:InstanceID>uuid:6e0b7d0c-ad20-f64d-a9b8-58cf76be91ab</xmpMM:InstanceID>
+      </rdf:Description>
+   </rdf:RDF>
+</x:xmpmeta>
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                           
+<?xpacket end="w"?>\rendstream\rendobj\r3 0 obj\r<</Count 1/Kids[7 0 R]/Type/Pages>>\rendobj\r7 0 obj\r<</ArtBox[0.0 0.0 1000.0 800.0]/BleedBox[0.0 0.0 1000.0 800.0]/Contents 1045 0 R/Group 1046 0 R/LastModified(D:20160126181558-03'00')/MediaBox[0.0 0.0 1000.0 800.0]/Parent 3 0 R/PieceInfo<</Illustrator 1047 0 R>>/Resources<</ColorSpace<</CS0 1048 0 R>>/ExtGState<</GS0 1049 0 R/GS1 1050 0 R/GS2 1051 0 R/GS3 1052 0 R/GS4 1053 0 R/GS5 1054 0 R/GS6 1055 0 R>>/ProcSet[/PDF/ImageC/ImageI]/Properties<</MC0 1043 0 R>>/Shading<</Sh0 1056 0 R/Sh1 1057 0 R>>/XObject<</Fm0 1058 0 R/Fm1 1059 0 R/Fm2 1060 0 R/Im0 1061 0 R/Im1 1062 0 R/Im10 1063 0 R/Im11 1064 0 R/Im12 1065 0 R/Im13 1066 0 R/Im14 1067 0 R/Im15 1068 0 R/Im16 1069 0 R/Im17 1070 0 R/Im18 1071 0 R/Im2 1072 0 R/Im3 1073 0 R/Im4 1074 0 R/Im5 1075 0 R/Im6 1076 0 R/Im7 1077 0 R/Im8 1078 0 R/Im9 1079 0 R>>>>/Thumb 1080 0 R/TrimBox[0.0 0.0 1000.0 800.0]/Type/Page>>\rendobj\r1045 0 obj\r<</Filter/FlateDecode/Length 31192>>stream\r
+H\89TWK\8e%7\ eÜ¿Sä\ 5^\96DýÈ­Û\861\8b\81axaï\e3îE\97\rÛ÷\a\1c\11T¾ÊF\ 1U\15LJ")2H½ýôéxûï§r|÷ý§ãQ\ eþüýûãíÇ_Êñû?\12ÔRÊ1ÃO\1fëøû\7f\8fÿ?êÁ\1f¨ác\8d³\9a§ÒXý\=Ré¯Û×ð\85\ fã®ðëñ\87TtVåYV×iaÍ=\8eVÚ9ÆX6êñ\8cÒÏ(c¶\98Gkv®Qº-;¦ÇÙj¸\8fvXïç\1cn\1d\8b?¿?¾ûíxûåK9þùrüðÛñóãç4\aúm¥­v7\ 3&\18M¨X¯\10ðë³Z=½âw\99¹t\8eº\1a·\7fûÏ{9¾ÿóqmìe\87éÉÿö¶å´\11G9[1þ\86û\88Ø_\b\9c\82z¬ZÏ:k= u®\ 2\7f°1?ñw=Kñã+÷¨ë\86`ÃFåìÁ}\ 3\97RÎ1\a~{ôã3´Ü(\9bÓ©;á       \94)\89¢ÿ\11ÕT[UÐ'¾Uwx¼·.-.@ÅR?¾qÅ\18]N|~|y<Û8\83WkP[0þÙ*\8cê\148¬}Z\87ïÇhg\9b8\ ew\1cc\12Úàæ\bòi\b\10\ 4uöãÉ<áRü~\8esÂBnÌK}\0×\85¥Ø¾5DãÂã\õ\85\17rì\\88\f\90\95v ¶\ 3iCÔ\ 6Ѳ\9a{Ù\ÄÞõµá"&¢Pun\83Å@\r\ eI·-a¬ @¼\bB\16\9a\110\86ÒôpbþyγÀþ\89k.ë\86\9aÉ\9b\17î0\1aÖ#ù±å\aös\96\9e\98ÑÇ_Ü4à\98p®vÔ\95\11Î¥Ý*\8e\85èbu\9dø"\81¹K\80°´4\9c\9f\17V"\0\13©ñD¦\17è\ 1\96ô\ 4·æ\fe\8f\86¯~\ eõ̳ã
+\eoz0î¡üx¶v\96\91\17\81\84WB õ\b\11Ì\ 6\90§¥m\9dü:u«Ï\86­\11\1dÀQ\86 \9b¾ÆêÒö3pc°¤â°ggA(â$\86\ e÷\19ï~\ ed\ 4´{;I\ 6\vW7©ÝÏ\ e»\17ÊXêÐC&\13N9 \817}\ fÜ4!Ï"\1c\\8d|B\ 6-;k\97\9f\10\18\1c\87ÀPn\84Ì\vÀ±Õ\11I :\90ÚHèÕTÿ¸\80>E\85\10Ôº¶ Å¢\80á|ö¥\14Å\ 6ô\89\12v8Ìý\1cñ\9c2Çhl\9cÝ\97\9céMpâz\ 1\97§zèzVU\11\10 \82>n\82éâ\90\84$U$ï\14\úHÖÏý:ä\10,9\ f(4÷Z¢\85\1c|)\vW2\87\96VÂb        \17\1dW¿L%t¯Ç˪   Nl\1f\107Ùâæ×TL\a¸iª\88Xp)°]\aLk@ï=Ë\84\10Õ°òc\96+n:?û\18úÌÞCmë\1f\10üÕ¶¶0\12:t\81`&kU\82Y· ×Ôàz¤\ 2.\16h°lÈpRÞ\8e\0Ï®0ØHú\82`ª¦­×K°T\e\ 56$¨`ú<Ðq\e\14\90\15ö\89\84èS2'×7¯\97\a8\v\825\9b\1c\1c\910\86\82Õ\8bª|¶+\85j®ïô\87   \88Üâvºs\17\15ñ°]|\ e\8aÒúbMß\eª\8e\85¿ÕÑ»Å
+óRoEß'Ò\8eиz\9cÃ\9bÒ\9f|\aØËU«\1dy;º.\8f¥ß\9a³mPJ\9aXH1õ\ 6Û¼QÔ+º\8b\ fÁ:\83]ªòj\12\e­¯ê\86d)^\12\ 3\14=)\fUµ{\9aÚÜB0`8Ì(Kmn!lH\a\18ºè.ë\1a\8cc0'\98\14I\8e\1db&Ý#:¸\ 5^![\83+\rØ\15Ùq> klk§`±I\ 3\1a\9bh\1eþD%ES,,\99     \82\81Ê\83 38\13A.\8a¥z*2\985ËX\8eÜ\1dVåÅ\16pËSýKiÓyØ`Íg\1eÄPÚ,ĺRà\8bY6U.üþF=S\16µÈ:a,µÞFª÷\95°VÁVÛ\ 5\96\91\ 2å4yR5m»Í3Ãv¡Ì-\98Èï]J)`ÇQ¥\1d2·g\15r\8c\ 1\84\19D#¶7ÞîU\9c\18¡+~Ã-§\1e"\9c\8a\88\15Å\ 6\10^¸\bE\1eÁ*È+r
+?\87\8a\81\fR\13\8e\10¡\90£©\1dú\8f˧8\98\825tºm\1c\b*ÉpIA3É\10w\96\ 5\8d\9d\1fÜÚì[\81¯;vÑ\v!\86jñv\e2    Ã¸x½\8fË$\>\ 5nÇË ¤o}!ö\8cõÒ¦\0\ eÎ\ fûÔB׺̱®FÄ2Ö-ª\8b\19Û7ÂØ\8aZæ¬
+\b\1c'û±Kö´\1e\ 2ø¥.Ù.AQÛS\9fc¤`§z´     \92"ÕåúÞ\90Óïâ¸\14ª\84\9a]ÐT\95hÙ6/HuÔ\ 4êóö\9d\14\f\7fWdYN6.tø¼m|\98EÓH\87\91OZ±²J9&-Nª\8bp6\19³L¯\1d\90Àd\7fÁã\aÛ\0ñF\9f\vsP×xk9Þ.Ç\10.Êh¤$@vtB\ e/\84È\11¬y   V
+¶ú\12¡9¹\9f\90tTE²©¾¸\1e×\93Í
+\82\81\8bb\vÍHó|\10\1cç\8aÜ\80sJg^$ìØOl7nûõ©\10\90\1eñ<:8ô0q\0\ e°¸.\1a\ 2\ 1N\¦ÏäY¾ÙVB\8e{\98Þ"\93Òa\14\8eé\9bÝ      ±¬'m\11V\1cÒÙíæV'C@À1õ«N\vd\ 1\8cx ¨\ e\e\16\ e\86\8bó\89\13Î\92Æ¿¸Ý\93î«áªaL\v\r\97¤K\12\18\9fcXÅ\9e39¡\87Þ=\1c\v\87z\10%\ 6\ 2f\9fÍ\98SÒë~,ÍK2\9bZÍ\{\17×ûhÚµ)ÇgR}\ eú8\96M@än[cf\1fEÖ     \8f\1c¯¿±\ 1´\9büF      ½Õpÿ²\8aì\ 6.\ec\1fZØþpÅEo\8fL\ 2¾\ e®]=[\ 6¶R,\80§éýÐb&\1eùÞâè°W4×\8bk¬½\82Ù½ß\1f\82¦GV¶{
+,ô&ë¶wäXÄÉ\9fµF̶1³Tµ"_+$ßÐ\96¼\b\16\1a\9d\11³¥j\ 1\ fKªç¨  ¢PG#VdË\10Ë\13gë¨\ 5ì\ 3\9e\98ùà\ 1F7ÇS\82\98\89yÃPÍ\15\1f\92VS\83c\ 2°Ù\85«lh×
+\8e\f\14p\98ú\9a\1d\ 2É\1cvIÈ\9f\9cLÉ+Ä\1c\ 3Á^e]\18\8fL\8e\ 1ö2Ã\8bzh\1d-5FU\9f  N\bµ$ï¡a\ 6+\ 2ý\ 5[:ß\99ð40ì \99:B\8a\ 1\97pb\98\ 1ôd\17\b\ 6Üt¨\91\8c\82\1f\8e!\8b³QL5Sç\94¢Ê\b\ e\85A\ 1ߤ\84\9cWÜUæ\84\86tsd®é9\11$Î8"Y\81\90oØ(I»\80<\e0\92v!è\14àMË\17(`óNhß\80ì@7\81\1cÅÞÈ\1aÂ\91\90\83 ¡oÃÁv\80\8d½5\\13Qì×\ 6£¸pb º[\q\9f)é®83pG4\r\r\80,ö ^m]99\90(\90¸*\ f>¸`¼p$^»N*\12(%ºY\83\ 6\92\ 2ÝÅ8V\13\evÀ´êù\8e¤\84¯\14HÆJ\ eâ\1a\90\ e$}\8c\8b\11\82»àâú&\99\8eq\e\1dlÆÅRÙ·­÷\17-M=_Gr£g£íÊP\9e\99SAÉ\11\94\12v
+tT½>\89\11(@rzBÈÙ\89¯\ 3rÄ`\v\16\81\18\9fc\84älÁ\b\r.=\eT5\ e\1dýÐì\1cé'ßgzµnò\85\80´53ñn\12ðm«ßH:.¦¿$\1dÎS\923\99lA#\81¤mã\91\9f@|·]\10}cÝ|\97 Ç¥\8e$\ 3nk_ápÁìô\12 )(Ùß9¨·ÈêÊàj¿\9a9-  È\11\8f ¨Û\ 2ò²pßIb/¼¯oÁ\83\ f\8d"b&nváW;T\8bä³Q\1a\13Uø.\8c¹\93/1=i\14µFJå`\ 5\8f\12í¹\v\9d:r·©¯é^\19Z9âv\12wÊ®Ë\87\90¦@ZÅén©\8cds\ e\19ðR>¸¦3°@=öË\90ß¶±¾U«\f¢WØ6¼%âPywlO\ 3¦Øâ]ØÑmÞÿ%»J²,IaؾO\91\17Èz\80±\81óô¶êþÛ\96d\13?²z\93?E\98Á³\.GÀbp\1c£L:¸\8b·¦½Ø;\0÷þXxéµý\9c'íÎß+¶Æ]©T\9d»ÿÀ-Î'\99'ïáu\15\e#ï­\1d\f[âöì\88®\95e¯è\ 4\e\1dë\r=æ;Xa°\9b§hü\80\850\f\14\ 6nçI»iÚÐ>\194émrÃõYÁ«§\1e\97\18Ì\ 2xìHl\91ß½ßSI¶°Âz\90É=xd\8fýõ·\7fä³a\9aÅ\fµ\16½ãÏ{a°Ä`ËbNXÒm\1e¸\84B\ 1B=\87¤\99I¿µÐ\8e®\1cGD\8a)\81ÈB\ 4\90w\91\r\ e©=h\18@ö0\9am«²s¡Ép\9e¥\ 6ÏYë\8d!jñsa2%\19¹~\17ò\ 6¦\14\91§å9\1fp;ôÀkf\8ejX`ÝÃBã,\ 3Ø]NX,2\84<\f\16F¨~ÒI0,!)\f §\ 3Âæ\17Q\1aû\12â\ej%Ó\17ì\99®\81^\f\10Söý+=\ 3)@³\87¾:\9a\ f½²RxæÇ6WI³\b\1aI\90\7f=>\ 3d«ÿéÓtsÓ\ 4\a\89ÕÓÍXXZØädô\vìy\ f$;f]²'¾Ir\a\15X\9c\8a\\91(¾¶Õé      û*ñn\19©Ô\1d\9csK\9a^þ&ãÄ/LÞK\9am|e¶(\e\95J;\rE\94U§yJ\ fuW.ð0û\95å´\89Öã¤Ì3\8e@\14&\15ëJìizÈi\8a\ 3´X\17Q\98\ 4?±²ö(&\ 4§ ¬\8aÈëW\9c4\91µÌô\99%\8eqØ"áVe\es\944\a\1e)¹õ}\85â\8e­\87aß3T\92\8a\92\19\84\1c`,?Ì*Ö/¸\87t\85eÓåï=nÚ°eнäc\1f\18ÇK¼\13ú\95>GxÖÙCgÛO8\92;}\16ºÎ\ 6lÚ¬Á\8aõzöÜíu¸w½Í[&üô\93w§¢¯8¼¡ÙÀC­)\15þÈR\9bÁß4±\11\ 6\9b\10\9bózCVË4l-DK?l\90)@WJ"°Y\8fÀÿ,ê}jÀ8]õ¡k¬\ 1dú¥¡õ\98(u°À:ÝÔ\9a¥\1d:ƨù\8c\10¯ ô{º\8füîUîPÞG\ e\9f\7f©\9aÚ#£\10\16Ú\17U\7f\ f¢®\98\84 ¦/¾ºÏ7<õ¾Z`Ù]ù\1dÄ\9c\8a\f:$Q\95/ÓD!¶\9bÒ\9bÒdâã\ 3M\¸Ä¹À\ 6SâÜí·Fép¡z      \85\9f¯z\17û\80¿!ãùõnÖ\82¬\8e4óÈÎ$«\fAW\ 5ã\ 2Û\11\16ÒM(%Ð\bð(ª0Êàæ¸¹\ 6\1c\94\8elÞø\9d²:§\b!r\ e\92î&¬\8eääË\83\1d3\84Ö\96\ 1Ö¼\ 5\1du\86\ 6añás\10z#Ç\17BEÃP9Kq\940v]}4KÓûH\88:QÙ\94²c¥£=Å\aub6\15ÒÇ\19~¥§Â\86\8c\80°ãWU<ÍC6W0\rÂly}·¦ÃgOã¿b0©\1ckc=w\88·>+¡êXãÏ\80\95Ð$\9bå@Ä\0Ç\ 5lºV\ 3N0b\96Æ*Ñ"Öü\81ac®\87\99!\93°âÛ.Ë\97Ä>wàQ>Y{æ²\852\8c\95ùLDÊÀ\98µ\7fÓCGùR\9c\88½\ 1þmV¬\89#\98±0Ì;\12\99
+\86=\83Ç\19j\86Q\83\1e÷ìl°\88ÖZa³B\81îuè¸ýÜ\8a\9a\99hSÜi\86S\95*ú¹\Lt\ f\15ÞkÇD\12ÂT§ÿ \88¢Xó¹\14¡«!ð\99IwW¾Ç¸Æ\90×ü¼`\93\86×z¹2ç¾.ë\88xv춯[iì\8e)b°þÒñH\9cN\12´
\83ÿ­ÐÀq?$&\8fÌÉ+a\85R\85\17+"D\9aòì\86\17B½£Ì{\85\17g¤àÊ\1aqW6Ì\v\ 6м\ eÞ`-ÀIü\857ñÎ|Õ
+Tïôüú\ 6\12\ fÚõÙ¯\r}B\1f4öVd\9dl\ 6[c\94§\fl¢py\86\1cà-AßáÌ&ö4òA|G{fÓ\ 3\v!*÷\8d9¨ÆÑöqÛ\ 2´Ï4±àVä×òJ
+xà¨\87=\10\ 3ÝsxâeOT8\ 2\18º_¥\91\96#àÉ´\Æó\V£/ÆõEMr.æÆ\afö£Fìà\8b\ 3>üýYèS\19ý¬¸¬rG\1a×\ 4Æ\95û\10×ÌÆ\15\19\8e\ 4c\16öĽ\ 2ÖÕö\15\83Ú\11jµpVK\8c|1F^¹\ 6iM~\ 5ÓgZ±×2\88\102
+f¦=
+\ 3\82ª\ 61,° sA¼\r\95£S\8b®Q)/\90mvÜ\a\ 5\féíQ\91\ f\83eí³`!_Ú]ø\98ò7­Ûô¶£\16÷ç\1fT]ùþ\0!ø7/\v8¿\8b%\138_
+\ f2l\9bRÿ{¨&0EÅJ°y\13\1d%Ø7\88\7f(\1cUj\80\18¬è\89ãh'zRg5ÊÎ\8a\94\ 4¸¬ë-&Àÿ­x\13\92\84\8a\12D\8e\ 3\f\97ÜD\ 4\98\124#lG/3èN:\1e\1f°®\9c\90\8b\0\83\7fMJ\b\11}¨þ\8c¨\a
+2\94®pÙ\9a!eÆYf¬¨m¢\ f¸aVÏ\82*ðÛ\12]\16tÓþ^å\83<\98¾;·Z¤Ê¢ÿÕð\8eèÂ\vÆyjK.Ðø·<¡)CbÙ­¤­)Ϭ®\8f0åíÌ,\1cG&õ*øMGáµ£²~.j3£²\9e¤#[k¥=Ù\11\ 6\8eÈÓXQa¶j¼\1fKÈ8à5º¬7\ 6\1d¡\ f\vÿ¯F3\fhóÍxæÿ[í\96ù9i0\15\96D\1cÀæyáÈÎÊQë(êHº\TCèäI³b´n\19\19¡¤É@'e\97§ì\ 2=a\8e3%Q©ùÍ\19\93[ó'Ç<\11èo8\a\0\18ÛÈ\ eÇ:sFuµ\89·\12V£jÙcÈ­q-ýÂ\0b
+AãCEÏ\92ÞTI¦UR\ 3Éò\11\9ej\1fÙ\9ds\ 6\81±ö¶Täcä
+I\9c[/Ê>×äNhÐH\19\fûpï÷Òð@;$wÁ½à\18\f«¶ê\1dÄh\vö\ 3.r@>Y\80-\18E
+\81ÇY(\e¿+\8d\99\ e«TH®a6¯#Á^P"T£\14\ 4\9døÔç\ 5\85ÍsäÃcsV\1d¬¨\ f\9aÙ\8d\1e¼vÊ"\0\818GÐ\93C#oß©\1e§\10Ë\9foÒòC¤\82\80\9f#Ù°\14\ 6ܨ»ßüq!,Âj\8dw$\82,´Zï¯\13õ\ 6\88\9dô\ 1s\9d\14å?|\ 1ï\84\83ѵùXhû½Ô,©H6exuK±È@\8cT3Pì\80è?ÊfW9\9aV,\94þD;oY\8a:#\ f\18\18%ÕX\ 6\94TG\13æ\e/ôÐÂ@g
+\99Ú\1f¢   \95\r°\15ÛÅTÃqviÓ7»\18G\9f\95ã( Þ\ 5hÅÜÒ\ 5U\85\11­kÊê®fɱJ\ 6±t\182rÌä¬\93§óX\91^R\0A2Zt£´®\18Upa\8b\9d\96ø(\12\847Z²ì\19\1e\88\85É\91±«8\19Ù:\ fG\9d\87\aÑ\9dÏɾÅYFÃ\87\9bxÜ]\80ß=~.4Í\94M}j(O\88¶i <9Xp\12Û\1ag÷P\8aÜ\85®áî³ 5­.\88þ×B÷¿p\17\9digÔ\82:3yjè\11-\89ò>G:\92\ 6\11f\1d$\13OFµ=m ,f\9bé\82t\9eÈS/ñ¡Ãg÷¯\8b  \ 6£\12Î\80­³\11\80X\98½Î\9eú>Û}\8avÛµvcå\ 4¦7\bI\91]d]z²`#³}\95x\9fê\ 5ì?/S}\16Ê\98ÿ[@ÍÙû½`¨v³Î8]\¾?Ö\f^[ñÇùµ«=\9dío\98Öùà\11Ù¯·\b/sUе/~1¡Y\91û\17õ9\ 2\1c&\91¿\913(\8cè\9b\92c(KX϶\92$\vþ¸\ 5?{ÀÒÿPì¨\ 30\89ì\8b\15\98ND¸"[XUF"x     (3\ 2\9d QtY*\14..\1a\96ñ\1c;oêWÁÕ´àéÁ#\8efìÆì\ 4Îþ6æ\r\15\869,pÒù¼!Ù\0]/Ñ\1e%9EüêÛ\14Uh;#¬76Â\91^W`Ò.´s"Ú\93$\86²\rñ\ 5\eÎQÇv¤iTé8\8a\17¤¦æ8&\0´\1eÞëØ\ 5\r篵\96>:Bp"·O"/\90¢nþúÈSç/ñ§\97\17ä\16Å\17
+\f\8e\eô\v\9e*\bBH=²\96#\84É£P\16\8b¾^\1f\aÞ\87î¸z"ã=ËJr8¡\89\ 3¡¶\99æS"v\7f\93\1fSÖð\16V×üÈ×\99\\8f}\83ûfÎ\93¼_pæý\8dE\1cf¿èª\95\8a\9a\8cb"C\7f\84\r/5e\1e\11U[¢rB\93ÓH?ÉúM9±£ª"\86¼­@\1aYdY/é9ÒÉo\14×h´S°\82\13Ñ.ái\8aÐ`èúË\8dÇià¦ÜuÝ\v3Y]»\8c*uË'Æ¢J¬\aBl#ÈÆY²Áþÿ\1f×å\91%W²ÃЭh\ 3ê\13Þ¬GSýýO?.ÈȬîII`Æ\vC\ 3\82rW<`âÒqW\0;qΧÇt\9e«"õìEñ"\ 5\199\8eK\99"\16:QØM\19×L7\7f¼¶\15~uÝJ"éÔ¡ëO#¶\19V"É\10\87\94µ*tųQ1\13\87«ë\13y`xé\1f§¬*\1e\96\a\8dã\ f÷ÊmwÜÀ\19\8dÈ3Ú\81¾/ó[·\99´yöúß\83à   ø\178%Y\86\99Ͱ\15GãX&ѯ¦+ÔJì@Wý+\8c\91ïO\916B|ê}B¹»¨S73Ð\ 5\ 3\18î\r!0\1eq\9dþ\19ÿD\ e\8c\8c}¶'Ó+s\18Ùn\rc\9a\86\84iÌX'H\ f¼HØ\1d3\eew\93Õä\vÏ8³\ 6=uy\15Êi§;ºWaÐ\8bg\80Ú\9d\8c7CÍíôw\85*Ò«\94\a\b\a÷\93ú+d\89Ç0%Bspy\87\87\1c\89¯\98UôzÉ\87 s=øò\e­ÃÁ¸^X\1f\88@=jZîð\9a\15<ÈBípª&Æ'm<0¨Í~\9a'ů¶\1c\14TT\93%Æ2ÿV\85ÆymâJå3.~t\13ªB4\10}ðÆ4öO¨\86Õ¹tK\96æÎ·¯'        :ÉÙëëÆäu{Á§ß*ßY\1fzkn\10ÃVs\8bª\9eQþd\1fç\ 6\9d\b\83âÌP\16(~]î>:-Þ´\ 4+2kè%\8dʧ\10ü®¤\9bf\89.\9còMXéPÞð*\8c²\97Ï:ÙÒP©\9cè|24\rë¦+·Û\96\91V·¹\1f\85©öd0\86º@Õ\94hz\8d\90\béL.òøÉ÷×Aþ`¦:ÐÀçºÝ1Zó!²NGÝϯè\13>dî\ 1t\83\18E\ 4íUÉ<ïÃ\fû[<ç^ªQ£\19\9dÐ\9b\16èÆñ+÷\11\15»õÿ¼-û2¯¹â\96rN×_Í4\8bE¥ó{©î\b\12\9d\1dJ\11?7_ul§á\1eá`\1dFô¶8Ç~r£û½OH¯b\rÁô¥sªY\9eò9ôLºPá¾GsJµRìÃÞÁ@
+wËl\85æÐ^\8c\1dÆÓe\83Éð,û®\12¬\9d\86\8bòVÕ\94ñ\f&\13r>±\89\9a;\9e\8e$è¡Mu\85u-
+P\13BÍýàâ\ 3¡jîå\rqÝjɰà\10!\1aø°J4Z4ë\13Õ{¢ãt³`\9cSõTuÊÙ\13·\8b\9fj\rÏL¹¤\9bÏAÛú¢ÆÈ\83WØ*\v_°±Óøø\8c¾¤ð\93# IGv\9f\17\1ak\18\8dÜi\9døU\19p$µ\ 6­¦\a8\17I6B¢\1d\94$\8d\93y\0Ô+è\90Á\89¦\9f\14k\ 3÷·¶[\84Ak \10hó­\1dÐù´¿\8fÅ\1e\ 2mþ@}®\\9a\98Ì;â¸\ 6¡Of°[¢^ô\ fK¯êæD\85Á
+\82\87\9e¤NF\1a\ 2!Æm\ 1\16Ë\8fÓW      Ùýû-fûEeÞ\9e\ f\11t\9eÊ\0\99Òð*Â÷>Á\10\93+x´m\9cT)Ë\9d\1ct©ök|PUwyÌó\ e¡ôe\993Ϩ^@3û\8dþ\ f¸ \19x~½åÇ\1dy\8c¸ÑT\1a«JÇ\8e\vM\1e\14:)î\83ÿehä\e°ú÷V\ 2öê¯Ûê¹¼EÍû\ eÔAR@¬®INõ­f\9eÄ\10Î\9b&ÐË\81\17¶;°{äòÅEÌ\17å:{\89cg\16iý$ö@×á2ÀB´\ e\83R'|ðrÈ\8bóM=\9a´¸ø\95I©ìw,E¢\9c\8b\95\a\19>\8c\8a\9eH;ù|\1fKç \9dëÖ\0Ç\84z"¥é\914®ñ1\88\85\86\13æ\19ô\89\828ZîQê\7f\f¨ã\7f\e¼ õûðþU©\9b\eÉϸ:3a\8b\ 5`\85ÆòyÃh\87\9f\82'\10\e«â¢ßÊ0EühÔ¨#£\93\89\93«\19åÞjovLÑy\90À\1dß[0\ 6Îô\9coy\92}â   Beÿz\ fTH,|?\1e\90´\8c¾ü|ô5¤\17ÿk\90Øhwü4t\ f\81aØi\88à\11x102\81$©!Ô)ÿý+Ó¼\ 5\19ðXI|\9dd\83\83\92\ 6\ 2\ fò(\ f\134QQ¯\>Ò¨v§öv\ 5[\9e¯\987\81\83¾TG\94÷\9d D{l³\13ŵj]?~­Ö¼ôÈ\87ºÛ`®í°ä¹ï¾\92lÍ,\12\18\96\91öi¤\11ÞB\1aò÷÷\rÿóiÔ×Í9
+\19ú7pcJ»Ñ{ÁºÐ°p\8e_\19­\18;A¨*\84ùÛ«ÜxB\8d\93Ü\ 4Ú}çnÏ\9f±öø1ò"¢\eÔÍ\ 1Û@MÎÿ\8f\85{ÔïO[Rk{
+z\88ÀE;KC\83éoÞ\9ey\11Ãp¦h\bð}Z\ f\92PóÕOÆ-\88\99\1f\86q\10\ 5\96\1e\96\9e\9a\1c\8b(T\19:ö×r\@×c\890R\85ò³´ã÷k\893Ûøìz\18«Ú\1eß\ f$ÓFÞb*UT¯õs\89¥ÿÒfs?\84³Ø\8b>ó`\8c.o¹\rk¼û]\15ñö$c\ 3ô~Ó`ا\7f÷¤\v\94\83·\výO,\9f\rÃöt\v\14\ 1\1fSh@½E´Öû|ë\15V¹l\ 4ácØb&,ë>Ëé±&z¤ªD¹.<{\v\8cz\0ï¼\ 4\158±¬\83ü.
+®ºc\vÁ&©ËðPÁ}\87פ~\a©?<Dý\r\v¹Â\9a[\9f%\f
+2À\80\8fç]i\ eØ\ 2\1c¾U\10\99\ 5¾Sú5=\9bC|­\8a\85ÞÓò\8b¸\91,&        ð Mg´Zc%Râüb*²ß\15ª)¹Z\18áf¼\9bñÊ#\96\87\b\19N\*¸¦©\ 5/\7f\80¢¯Æ'f\16Y\90ײÔ\9a+j÷µ÷í\ f+¨ê\93!§ÂB\ e¯\99ÎT\94!Nu\88²#¨êt«{°ê\11Ã&bÒÔ²<E\11\b\11</Q.JO¶¬(Ç\86¢Pêµ\13ØqÙoô°\ 5U£NÞsÅìÖq£Õ¨\85â¾$üjaôi\83\1fZ\82ÛØÀ\ fÕ\15\9a\ fø\99ë¾Âì3.½x\8d\\e¥Ê\10\a\9cï\ 3ý¬ àx\b+[\rǯl\9e\16\8bXA   Áø\14í\96L¥KÊ+dº<
+I\85¦\8fØoJó\93Åò»¦:ef\19+\1cO$,|Ú×°\18pvy±<'\89Ù°MëúþÙ\91¡rä\1c\e0¦RX¬³¼\96L®ûÏ­Í\ 3\ 5»\8b÷Êö¼Ñ{@Æ\1d\ 6µÑ¹;Ë/úÁp2ÙX*\ 2{c:Yé\f\f\9båÝ\ 5\b«zJB¨\ 5¼,¯\19\7f\19æ\1c\9e¢rùîô«r|\199©x\8c*¹¼zì\90!\14\17\86N¿\8bÞo\88@\91\14\1añ=¢\14\80M¡Ñ\19\18\14äâÆ\17p\82Æ        4*«Ë¾oõTädȽ÷a5Õ"Ødöê\92{\8bjÔ"1Ôø}6ÃÖ\12ú*õùMÊô²\1dÞ5dw\9dh\8aö¯\97\1c\8b\86\89a÷÷3
+¢Û\1f_\ 4Æ.û­>\9b¹wï\e¿Ó@\95_c<H£?ó³9]t}2\14Z¯tí\12¢\ eõ6ȤPnv\9a|uÑB\8d\17Øb\16Ã0\17\13C¿\196\f(\84\93T\83A¤¢Ô®y¤Ú\9fÞ¦äÝ\19Z5W9HÉkÖíÅþd8{\18ùËð¶ã\15\9d°_
+\8dù\89-úò\føQ\86¢\1c_ *
+ømÐ`äýfA`|QF¡LÙsÈÅz\99)\8f¸\fýDÙ¨%¸ö\ 6\89î±kö\88ë`¶²eÛ7\83\9e        ¼å\a\9co­AÌ8À9ÌM\8d¨\ræA%ær\17ôúélû½³»  £mà:Ó¯ð\82$·å^~q\82\90\9d\bcy\94\85.gây\82\9f³àd9°\9d>\18~ Ôä\15c\9d\87\17\18yï/¾\96ZsO\\16Á÷\15öô+ÓA"ìv\83_g<³F\97©î:Â¥Ûå¯ec\89¾Ó\zýz¨T'\89L\80\19QSè\8aÌ>J\vªùd\9f\rÕÒÿß\96á6\ 4>\867\13z\8a\9b\85×cEµ\aúk\b\90Hùá\15\ 6\12\1fÆI\1e\88\7f\9f\84Òp=\1e~,"¿åÚÊk5¥Iß\9ef_\9d@\90Û\ 2÷Y`PÆ¿omÉ YÍ!\ 3«\ e\86¸&\8a\15)6ÁÜø=F·Æò\9eÛ\14äQ¬B\8c\8bN\13\1e}¿×,5\rYæ£\b\14UBý\1aD"jk{~Þ§ÇËRw\7fW-*\17YÚóZ\818\84Ob\ 6\94¥i£\7f®Ú\94F²¸\16À´\eáSó±]\9f\82{ý<N*\1e\8bŸ\88Åglïi^a\9e[*¶\1c\11D\1c¤Ú*©D{³Ä\98ò¹ÕWWÑKËΠ+\7fÑ-\1ae!/\81Ku9ã$ãS½AÏ\1e¬\1c¥:d±\92ê\bX\7fßÝzDfèù¥\8a_¡JZ¨ñ-z«¡Áe!\13vuóJÊlâ\18Yn\ 4~;\9e»Ûeÿ§º\²dIa\18:\7f«¨\rT\1f¾\ 6ÖÓÓÞÿ¸ue"2ߨJ\86\1fYö/h\b\8eõ\9cJ~­ù4\ eý£°®xÚ1\94³Àðâ\r|WºÊ2MJ4\ 2½iÝ"\a+S\ 4£Î·\97´´Ìý¨\eøwO?î*OfÝ£|skE¥ï\9f#\1f\99¥\80*\bð¹\8a§YP\1f.SSsQ\9f\aÑÞRté¾\82û¼\rp)£\ f\ 6}êS\1a(»I¦3áH\94i\9e<\97¸UPÈ4f/\v9êgÑ`¦ÅKv\v$µTr|ÚÃd\8bz\97Å©ð\12Ãx¶i\91\ 6e\ e\8a±ÞÔ\19Õo`R)Ö\97ª[2Ø\93\8c\1f#>\b\e\9aÃyóm\8djÓ2çé=¥¶4ìÛ\91\eí\11ßÝH0\vy\8fî\rA\1fúóÌÛ\16$v\8eh\9eVsFXâPE \96r»Æ0!\9c\9d\85Ab)ß\8fzJ>f©q¦ß+RXë]L~t'¤¶²lKû\1cÞ\95ÛU\1fºÛá>¬ë\rZ\10\84þ7l½É        \84¦vË ú\ 2Ëé¿»:×\ 5=!}ÁðÕ¿\fh\1cAe¾\10¢\8a£¶þ\ 2\93ÏvqeÊ0aó\85öØ?ûäð¤ÜÝz\96`ÏùL\2UQ[I/ç\8b9\16ò½¹v~£¹Dõ\9a,]á%·Ë\97Ç\8b4?\1cK\1e\ 6çëíJ/ÎR\99ÈU\a"\bz\9fëÓªÂÐh:G?\18M©ßÊq\8a\11\920ªç\e¡¶}\8d©Çp-$\86Å\8f\f\94¡\f\91Ý\ 6Ã2]\1c\89\84¨\13
+>\11TS½(Ïk\1fCÂmø\17Ú©
+\1eô\8cÍ\8fQ\19\80\fb[d\0IRÛc\18æ\9e\9aý\11Cr\11Ü\ 4Ú#!ãÜv\8a\17¥PZÿ¬\vöH\18     5aÝÃïöõýy\1dXÊÎ\v\8ek\98Ê\16?!\1e\a`Àk\80M\95þ)\93e ­®\8fÒ Úµ\ 1½\ 5¬éb\14\ e\9f\94w\14\80\15é5\19¶#\82â3Tl\1dÂã7 ç©²5¾ß ²\yÃk\10+%Ó>\ 6%ÇØ×\10¸\rÙòìP\8b^\f³ñ\85\aÒ\8fKÞ`Ë\ 3j×{Ý\v\80£Þ\v\91æ\18\18Eioáî\1e=a    Ë\81q·OïSg\ eòY\10©\ f\F½\1aÝ\9a\95Ò`4À\80f\17\8c²\13\ eÃÞïvÓßT\ f\1ey\1aÚ\1e\88ò\10\1c\9c\ e\91æ]ªG\16\19FYy×ðú\15*\e¹\ f¬  §©lÊ£)\6"\16¸ýë\ 3C\\88\17S\r>\ 6¹9½¬óô;Â0û5tq±\ 3õìP\8a(\92£·\ak\85X÷¼\7fo   ï÷O&\ e­$?\18\99Z#r\1d¹ëÄúFÌ\83Ïî鼤1\0E"À\96?\1eÛ2¢¬çñ¼\8b¼ÏË\v\87ëà|\f£gé¬kX\8a\9d\8bk¾ï­Y~¯\ 3êùª~\f=Ë¿d\ 4:\ e\11\99Í-  8\9f'ìåõ©¬ø\1d\1a\eëú\861û×öq^¡Ãq\86õý\18\17[`ØëûºÅ­ìëA(ãöýäk\90SÚøÛÐèPÀ\96\f\88Ö6ÊÖ*L\v0Ul/K¬\99«#a¹\11lw7¥åp[\8dk(ÛáóÈ\ f\f\91\85?|á_&ÅéûK\7f$\1c \87\13\16COCxù,»¯Ú=\8cvrþz\ 6
+F@©+µÀJúß\89P°Ãz\86^]ïnÝ\92\86\1fy\1aÉ·QWy3H\85î\9aÍ\97yQ\14½\87\9fø+E%Õ\86\9a\9c(9©'î´ó\ 6ÚÞ§'¥\8d]\9eêÅ"\12]\0lá@#A¼[²i\1dã¥À\ 2\87N\ 5\8a¢~Q\91+\12z·òú\18\12\13ÆÉi}³ /ÆÍê£föÀz\9c\92þ\16ºN-ÑË\15§ÔíÙÏz&\15¿\9aɲF Ä\9a`O9Ô\e*Q
+E      ¨Wµ;Q\88È0l\ f\12@\9a·`µ,\87y7^!n¹½)\7f\96ñ\vy$\14V\93BÊQÁy\a\93ã\9f£\95Ã\1dq£J\8d",\85Jkwo\884\88\87W\9bêL±\9a\95\83»I\15¹sÕo±@XT\ f×@\ 3x>¤\1d^´^\11ÿ`t¡RX\11­fð¹\8cõ8#+U÷3P5â!Bµ\99\r\17Ñ\ eÍ\ 2Ý]Y¤ Rü`å:ãß7\96.ÒÏa¹Äz\14­ÃL$§\9dlZÔí?     VdÙ\9a\96\ 2\85M\99z
+\05h×rW¯íW\82üSÜR\96kFñ\9dÙ`à+W)í$ý6¬?Ý^Ü\1d\98{:Ý¡µ\vÃÒeì\91¸§r\99ù UPJ\9büR©fÞ\89¨P[<¹Ó>\978\=Oâ\879\vù;óâá\80\9d8\89Çt\17Ýûbx\1f¬\12\ 5µÏ\v»ªÞoj\19\14áv^Wu×/Á\87\9e$©Ã\8eK-ÛÄ\10^\\93ªTÈ×\eù\17µ^s¯1ÁÌñ\13%óBÕw\9b\ fdxâ9¢3\ 5¦BrZ\9b\1e\ 2þý£ª\90\13\ 4§b rd\86\12bÒq­êBÃc\85¶J5\88/\84WñÞ\89¶Ð·tk
+YF¡îù n·Ñ\18öÃ\7f\7f¼¾Àe\9cÄêä\81çO~v\82h°Tµö0p\fß\90\ 1n\81GeôS±éR\92\ 2:^?hü¿
+qíö\9c i#JQë\12\18\v¢QÆÖ\aÙ\7fÈò\8bÿ3öæÖû\85J5áb¾t\17\974G\99ázê¨xìóQ\84V8æ=ê\1cc\8d \99-E>õ\B\ 2\14yK\927\9c9\9aZ\7f$\ 1#ó_X½\ 1]²Æ=I¿\11\9e\96`\ 6\17ßj)rB½;]\103BõI¦ÉWuçæ½Ó\0ÉIê\9c\9fA1Ì'\95öÏÐ}ç¾o\17¹ªã\90'N­Ý\8dÃ\8cn
+\12\1aæTËÖ\ e\1f'_+\12û§\arÚ[\ 3à\16¦\86&U&TïW»r©3\11\1e\16µE`\97\96ÀK\91²\12ìÕA\97ÖC\15ä\8eLv]\88\v\ 4\10þö`)\13¼ú­lp#£Æ\a«G\1dg!>4Ü«&d¸\12^\19è®ûW\1eþ\8dJÜ[\19«
+\ eìDñ\92\9cÍÂVweæ\14!©ùyâ\92\14VF\89ì)|ùzQÆ\15\81\9c/V"¸\8f Ó\94\8bË\bQ+ä¶,\1c\ 4zXAÒ\82äÔmvyAo\94Á\v©^ê\1d§\8a\9e$}\84ð­\91\ f\1d\8e²±
+^Ã\86·NQC\85^½Ô\9cQ\15\9d\1ct\9dÃAÊMM«º[å\7fÕ²@qhá\9bpÏP\99ðÂ|Óê\ 3ÿ ü T·`÷¾íÜPné\12"r5M9M\9c¨êQn\87\8fT\85\1c\9c§u\1dØqêRÆU«Nýï=[%¬`Ñ\1a\90\ 60Π     ¤¦(\16\aÀÆ\1a\83ÒB³èÿ\ 1c¨EõÜW\19
+\95!ÁZi\0J\a ò%¯×ݨ\93\ 5»\ f!"Ã\95\96ÿCDq÷µìE%\17³yzÈäÈi4[îÍ&¼óÌB£QAä©\17\8dSïÖÄ]/¿\92c:Á\ 4<\b\99Íÿý#¸zBÓc÷Æ&²*wtUX¶]Ù<L*\8e\9d\18P\fÓDÂ\8c´     uØGb¢a!Âw\0ü\8fÔ®\99»ö+Ûp,hò-¥:ÚÅ\82.Õ°rjÞ¢Òm\9cÈ=ë @Ñ\13-gnd©\vï\µ^\16\ 39ç×±°\80r\85NêüîF\88´²û\95\89úÿÆ"Á£\v.\8câJ«¤\85Ò\8b\ f©Ï­ý \7fÿ¼k3£'TìÓÁ\95\8egW+ ]ò6'R\98­æß¶ZSáÑ\98Ù\1fv`\fßaØ1\81è>bü\93\12/\8a\17¯\1c\8c¼à<v©  :Qî=ñ®n\ f\1aBeÞ\a»¶QßðvWÿÏ\f **Ü;í\1e«te\ 2é\88\8a2y×\9c^ð+ý\11h§[t£#\1d\83:\9fÍP$Ä5s=õY_yô\88\,ëîî»?$hØ\12å½ÚNN¼ÃÇÌI@Á!bz\86ý\11W\96gôF»O4<mzÍ).J©çJx:2\14s\87\ 3\1dé·1þì¼èÈ\1dù\88}\1cãc"ÇpÒ¿Ì\0\9e\102\93\18o\81c'³Æ|F\8f\eßÈõÓ\1dоþ\82µ<ÓÇ¡\ 6è«9\ 6\8aÐï\85Ë\ eo±î\8c\15\9e¦D\82
+ú6\1e)¤eè~\8bÕ$p\12\ 3½Ô_\17\819áM;)×[±´\17<ûx>\84^,m\9dK\r\86vù4ú\85§ËËBÛÐ\9c¦H¶~·o|4-¹\80'Ik\94üµý\8aZ¹»Ïñ²7\13F÷¡B4\ 4\17é¡\ 2\8b}çÞ\80dÕM¨)ÁS\1d\ 6TøoÓ7fÂ\1cÅd8OËÓrXB\99\9c\12Yfv\8b\fã¤ÁrL)1Ü\ 6\17Ù'XfÞ3îUʪ\99©yó\99^s3\10d¨1L}/Cµañ\ràòt±¨!A\8feÿ\93]&9\92äF\14Ýç)ê\ 2Ù qæ1t\86\ 4\ 4\16}ÿ\8dþûF\8f\88\96Ð\r\83N7Úð\87æoÝÓ«·O\1f§eóécçÛgZf\9cD$=pBÄ\997\180G\9dÍ\ 5îJÝ\92àùZ'zU\ 6T\1a\94kÈ@úñ¯\ 1RIj\85\1a[\82\fªÑªòwäA´·¹\91HGb\a¥ÉU"\7fINE'ÆÕ4\0\r\ 3\90`ֹײÕcÚ\9aÛB\ fRæÃ.Ç\eìÆ\10\18~A5îóµæ\8d}çû½Ãåe\r\9d\9c\18°æºo,\f®f\9e¤²Ü\ 6ý½r5\1dà6åùý½\13\8cª/0V2§\91TËÈU½×íÙÈf\1en\9f½\146\rÃ\ 3>lKÙ­Æ5%GdîJÒå `ÄðI\80\9d\19I\7f\9aå¸\85z\ 6Ö-K}V1\82Î\14æ$"\19ÚìÛk.\8fåîwG\ 2eÚzRG\97\93£th;æ\ 4Ë1¼4ä\r:{z=\8b?04\853_\98\ 6\ 6­ÉëkÍ\Ý\17\7f¾þýõ¯¯¿\7fIÏè?ù%Y\97ÒUå¶¶iáçÏ\17¿ü\81\93©z¡-\87\9d\b*=½Tþ\ 4\9e¿cõh¿t|\9aâpÆQ\89Z«Óâú\v;  \18Ò\1d¥Ûz\ 3\T­ kK\98E|065ÍZõÑêèu\97(\1egÉs#e<\8b\r\ 4¦Õ\11ìn-O!¼Æ\r¢ÐGûX73¸opÔÒ:°\9d\96Þf¤Ã\98;Ò·\1dåO\9f\89r}Ü\9c~\7fÍ\8cÈÓh\ 6\8d|\1f\99b¿ÐÞ\19\13¹\94k\95
+·´s­\94\98·\16\8fÑ{\8d[\ùúP\8d\8cÐñN8èqü»\ eÒà\b="ϧ£\14\1f0\9b\15²4à\0º\9b\0¶UÝG\ 4\98ÛÏ\vhëä\82£\9e»\1ei\15\9ai¯©\ 4\9aØWÉõ>þì]±\95\ 3Eä^_:aÐ}@\15\91ZY,;­ß\9e­\83\8eÐQq\1dæN\1fÐ\92\ eHDOìîbÈl\1d=Y\bb\86)\19¹§ßùîV¢<hI\1fÍ3\9fïT\vvÈýÙ\82>ÿ\9e\88Ь\98Jlç§Z9\96\933x4ú·GVRßYôjæh\99ô\v\96¥ß<\ f«\ 3µÎ¸Í{3\13ºyÏdW\98\8d\T\ 4RÜôä`W<Ô¸ßK-Ñ\8aé/\13T!ëP9zæÌ\89æø¦\9e]÷ô«ÓÆ«]\9b\8fÚ\ 6Çß\96E="\1fí\1c\92¸$\16ªL\94\99\93\\fäºD\9fïÁqä$н\1dyc\91\82#\ 2Ãü\0²ºÓp\12Ö ðñ\9e\1f=Ñ1g|`H &sÈs¦\14Õ±(¶ø·¢.ÛAx\ eÌ2S~l\\hdñlã5\1fÒH#r\8f\84Õy°¥\ 1FG\ 5\8fó\8f=\bÚq\9fØ\11Á!WôULÊÓ\1cÏ\e»>\13ËdA¢k?íýz¢{ÄþLù\8a§xÏ\93©·ò\8aQS]Ìæ|¼±î{ -ç\85Óf£*\r{+\17\16Vߣ>ÉS_#Ï^3ñ¬áúøÈ·\1e ¶ß /\82¸É\14Éu¨±hòw\16¶¶Ô\13ÍiÁEF\92¢Q5A\96¾-\95\17\ 2\80KÉO6 \86apñb    &Sµ°äx}\14AÔ2
+\ 3±>~l\v\11Ì~\80¾¬&>\8cÑï¯\81TÞN\ f\82_\ fðPãcØ_\ f\10>¤KYj\fÈû\f¡T_\1f        Õa¶4\ 3sºrGÁU¼0e\82Ýõ\9f\ fè\10\9d]]m\9dÕfF\8eÌö\99\13®\1fÅÕ{?Ð\95²¿Ç¶UåA¯\91w;\88\95÷\8e\9anäUF\1d\16û\13\r\15\ f\b\ fä\85Éw´[yµÆ^ù \1aRE~y\82µ      \86\87
+t(ÁïOSÇ\v\81§å¥\1e\bÙ@½>¬Â\7f\7f5\fïç\11È"7ÊS÷\ 6Ï~v\8646
+\b\ 4íÎï%üw/A]HþV/ü>#( ì¦¤¸\86C\90Û\rá\1e\9d\96NÅ¡\az£¦µi3\e\12\ 5c»áÐõ`\\11O<z \97¸Ó\ 4L£°\1e\84Õ¸´G\1d\1f\1d®Ñ3æ87s\80v¦ûz\9d©²R\81 ©\88ëA\ fý\eë\9e¹\8c¡ê\99µ?Î\b¨­æ\8eb\9d×­¸?v qúG~^\9aå\99-²0÷Ç\19Ç®Ða\0r<Í(\17\96t_BÔ\a@odôú\8cà\11yÏ÷ºGç\9d\97ò\91\13áT\16"aî\11\vÈ´þ¡/UÉ\89ê®\17ò\1e|{­\8b IbE­Î\97\10?óµ\82[ú/¬\1e+t\9c\84\91\ en\89X\ 5K@Lÿ«\84×*pï\96\12F<ª×^RX?t\7f\8ewù_¸\91¯ý|\89\b×\8ed`x÷\ f\9d:\0 \b¸ª\14´ß\89dò]½N\1agãFö×\87\ f)â´LÛ¨á \ f40ZÇ8©\18öÆt"\80\87e¿¦SðGoYPCxj²\9aYк\18 ü\8dí(
\85\17Ú\99Ö.GÁÀ\81\14è\84ýØ\ fÕÞ`ä^Æ_ÎÓË[\9f\89\fG\1f_Çò;7c{\96\82QíYBYJ(AÔHÈ\9eº~;\19<yù\9ea\15Æ%©öÀÄv\96\83¾\ 3\16\e\ e-°d      \82Ë\92º\8däº\8e\84®\895@寡éÂ\1eXñå\11ÓÍëD¶©\bjXf`´ê\8fº\ 3\85·hiÅ©Iêy+f¯X\1f|o\95d5{9\81ư\ 6(ËÍjUs\10^\9318\8cß\99þì\ f\ 4\eÍÞ.2Ó\8eÔêDÝ=©®ª¼VÖ\88¾×;ÀO\16ººÃ\99Õ6\1f¥d\85(\18tݧ6\9cûÎÎv\12zLw¢B¡ö*\1a.Â;\f\rôj\9b~ééZ\1eM\ 3\r\10iiyð·ªBd\vïíÛ\ 3\ e\ 6-úܸ\8b qD\17\99+(\7fµh­á\97¤X\9fc\971\90\1aßïv¦É\8då`õöª~\89&Û9\1fü[Ñ0-/¸z"ë¨=\15fÉd\83mésAò0\94®rå#Ùg}v
+L¨\93w"='zÒ1\9d;\97EºÅç#\1aGÊù½ÏÍÛèÃz2<±*\98§f\8fÌ|£:[\1d\9bw  ô<O¤\ e\bCÙæ¶t\1cÍ5ÓbHÿÕîóy®íS\83D²¯\9f@}\90=µ6\81J\ 5\94ðö\vg\1a\95Ê\10«õZj\ 1I\93nzÆØìÈ^\a Qo³\82\8fõJ3a:\9d}̵$D3¤~Ù&Rç;²D*Ç\19\ 6\84ì þ<\18\9b¦­DÁÏ®\16»I"W\80Ú¦EÂ\ f²2y\\1f   ÓÇ&L\94\801%3)MÑJÍ\8c\90\1aäÇ¡X:Æfoåô)\9f\96¹h-7öÊ[K\17\ 5\ 6#¡¥¬¤¶Ù¯&c÷6X\ 2--»Gëåã\96Ìå÷¹"º¹\1f¼\7f´{\1cuëv¥èÈ\ 5à\vÇl3\87é!«o½AÁ<ñêdî,        \18ç\ es=\16åò0~£\1a\8a\10WÕ#«Îð}[âs\80F.bË\ e\b\8eJÍ}\8c.¡2\87U\91      B1¥6éåA%ÊÁäØ\17å´ð\16\9d.
+ç¾\86go.Å´;\8aS¿\b\ 5\94q\17LR©¾n\91­hÝ©5\8d\vë,õ\95\ 1    Jj¢Ï!B!d3R5^V\7fÿò¹^Rv\8eU\8a÷\89t\8fA_§jþH\ e2½ºÆøÂÊÆbü#·f@\ 5»`     ²¡ \ 4é`å¾\9fÞúC\83>\85`J\81ÊÅ\ 4Ç´Bø\15©$¼\11Ñ\ e\1d«³5\8cjl\8d\8d\97\8d\99óǽ\87\9d\839KQ"\0Ìê"Ie«\99ÉÃ1\1eE\ 5úU\rf(6¶MÆPO4\1cá\0\87½\ 3ZSUSV\184Ä!<\86\ 1c3\16ÝîC\ 3ª×\b\8f?C3¼\9c.-\8as-\9b \94º<\804\10´kEï\1c·0;\9dD\1am:\92­V¶\fîùéõp¬~#Ã?_æ\93N0\ 1_\ f\83XEôWç:Râ@\eJ\1a{ôêáGä\8b\ 5AS\9auzÛ\96\16\18\82\93Ç\96íÌ-RFÐÛ\ f\97\ 3:}\ÕEMÐþê3eJå"\12Þ\9cÙTêP\8f!q
+ë"²ãP!UÅÇÏÁOJÔ2dY#\15ehÙ?è·\83\92R\11\96\17Óí½\8c\90\86(qJLbÕ\85\18\ 4>ÕÌé=~P\83\82\125pßÏ\9d\0T4\95®&¼VûVoÔ%`Þj\ e©¼\ 1L÷ãkîüºe)[wËA\18îuÈJU¨ìlFW]$2§\9eó\96ß\a=\rÑ\rQ\fû\fϵ¿ÿ(\18÷¼Vm[Uè\80áZï\96|7G¦Ê\©<\16wìÆ:@Õá\12\ eð\93¾îN\17\9aj&*MÊuÐ2\r\8a\92Þn\96\vßM\84RÍTê\7f\ 4\8cüã\10,7èiÙ_"\bõë\80J\ 5ÚÓú°Íëpåcô5\99M\v]\81üÔ}´¬0µ08&\9d®ã¬ï\10\90ºRëi\12'\ÚùØ\ 6hgµ¤Õöjðø\9eª\81\8aÖ(Ï1\83Ûf \ 2E3ÝíéÐ\e¼´\8fU¨HÎtur8´ìçjB\9ek\7f\18\9fQ\18ΣòÓvJ\10\ 6ÙïÇ\95ñYú\9dd\8bB\84\8dí1f
+ÂCÃh½®XB\13ø\13ùQ\ 6ßéHá§ÉWké¾½\Ñæ)$"î\8b¬ë*\8bB:í®OõȬýè@\83åÿ\19)ñaC/5´×ù/Óå\92eG\8eÃÐy¯Â\ep\1dý?ëé©÷?.\@\91®I¾D\88¡ (\12\ 4\95iÿ\1d¤6\19ß§ÿª\ 2\8b\ 3QÌ{<1WînPY¦Ã\16û\LÞúÿö0ê\8a\95(HÍ\12ú\9d\90»
+s³á±\90AÒG{ªQ*Ù2%V\93\9fN:ó=ÒF\8f\9aÝ9\8c  \85¦Ó\eE=Ö°U\11\9fÃ\14Ôacà\84uÜëÜ\ 2ê\13OTi3ýÜEá3,xÀeÞ¥µ!+Ý;t¹Êw\177<3!ÆéA\84£!i-:\87[¬n\8fÙJº`º\91ôI«,)ÕÖ{F\9f=\8c÷²\ 3nlÛÁcN¤\99\11Ù\1eÏ´\10 \82íFg\963}"­à
+\1f\8a2s-\1f×î2âÓVú\ 6\83Æ äÊ÷\8bî´C\r¡~ÅLµ¼W'\9b<µHÏ\bu\ 2©\86¨\94RÅv(S\96¢\81ãĬ\96,ÔqsY30Ìe½£\9aïòf&\ 2Z»öUx)VP\80:Ë*\9e¸\84 
+M\9bH+ö\19äÆ\82Ù]\10üPïê\ 4\90\vS£(Iå\ 6\198\8f\16µ`\9f\96Ò\ 3d 0éÿ)fÃÛ½b¹t\19\14\87\88ÁȤAM\81NÎyÞ®$&\1c2üÍ­¤d\9aR\88@ÕÜWÚ|û¦\«\82!t\8aQQZ­a%þVú­û;\f\93\7fÀ}ù;K\870^Ò\ 3ö±ñöaçæ2XÓ\82@h,ï\95ð@{Õ\8b^#\90z\8f4\86/<ë°\ f\1ef\85vØHy%\0\ 5u\8aï<\a×5V\ 1\bÕþV»\ f\13\1eëfÔ\ 5í\0) ¢2mº¦ã\89|\87àz,óùå+B7\83\14\12PÙAoÏ\16Ôb\99÷òZÏ\8eëÝ&       Ê÷t5\7fÀ±\1dª\88?¤ÐÞþ
+MVhV'5\84¹ ¥\v\1aV\80ô\97åÞW$\81H\\94\90òU]d\1e\93\9d\90ëx¢LÝ\fP\85\89L\12k(\86p«ò\1f\18WÈB\83NuuÈ\1f\81)ÙF\83\e^Ê(¥¹\84\96\85\94Ñ\8dN´&`\88t\19Y\90.¢©Ë\ 5©YN·q:$\9ds[7rM cv:î¾Æ\ 3<\91@\83É
+e3\r úÆ89¿]7\98¢\15ZVt\885&*\b\bI\18WÉØ\ 6éÚ»Å\0¡YF·\ e\ 3hJAr·\93\b<\1aíÒ6\8a\ fýP¨¨û¹\13]Pue\b\8fa¹^\95Î\93áÂ\9aɹŰf¹ÍÀùÿÿmj¾¡Ù\90\v'-\ 3\1d*Ç®Êc'\94\97\84º¡\r\ 2¯ã_\8dQ××¹'Ã\8dBs,RÃú\85ÒpáÈßZ®U9\ 5\86F§mÀv*÷§Ëá]\13Skä\1c\ f(Ðá\91(x\1cË"ôIu«1%6%\ 4\90"\87\ 3Ë·\1f-\19Ñ$\89V\11è#|z«a\87ÎÖ?\9e\0Á{ØZ\89 \8d-\97\8d.7@#\93ðbÑÓKE\8e_¿}Ð¥
+åTnz=Hf~\19c\86\ví\ 2~ËK±ëº¡úÞ=FNHcøYÅ0b\r\8b\v.NIÞ°\97à|Öµ{y\97X×âå­d\a\96l\1evÇï«`¨c1Uy\9d\81åm+%)¯\1f_*ÝK×|bN\9d\ 2\89(\19Máë^\1dp¥;\8aExðmæÓc4\ 3\ f\8eG¶c-½M²èAá`j°Ê\öVÍ\1a^¿]Êyæ\9dË\97oµy}T\1f¤ynk\16ú>×üÌÙN'\7f»\9bya\988s\1d¥ÙÛó|sÝÌCY6Û\ 1ãy÷b¹óY\9fdÊyË»}¹ác\95dÆùÎ9\97óî,\ e&\16¹I¥Ù\f[\19Y]6\1f\96x<Ø#ë5\89x\9eyó9¸æg\9eûï\8e\ 3Úÿe\93POãâ\9c\96MzpÎßÔênÖ?A¡å$Ñ>ãy\93Z-\9b\8f\19ÆÖÕ×QÚ³ÞÛ÷[u®?ñ¬ú\ 6a\99<¸Û\17>*\81Òè´½Þ©fÁS\9d[4E6\14\89+\87\9d\8cÃëh\87\9e©ÀP))\98òE\8a5/W\17ä²¶\90ïß»Õ7¸_ÕÌïJ\91\8fo\88sAÆ1\bǰ?ë\9e8\8d\1aó¾\9dZ}µ\98çJÊø6Gbr\83%\a\17ÇLgÀÞ&6±)Aâ\ 1\91¤\96»Ñ\9c\81+påó©mï×¼¾}§ô±XÛ·^Ö³^ÝÞ÷9¼>\1f½\94|\8b\f\a¶úÌÛËü\95íêzä³\ 3\9b7[çÛÝE«²úYwQö\87B.{\9c\99"îßÁgO\92(\92<Ð}-?h\ e\85\88èîðÍ5¼Ýï×wo7Ò\?>ÍMqh\7f\97\16\8d\91ÏßþY\ fã}c<ÔW\80}\ 6®PßhÏz\861îyæÜ\11GÏÞ-¥4Îþ\    M÷}½N\e\ 6ö\1eϯ\93¢·\98+oó~¯9h®¡\9bwOòS7|ë³f\94Ð\83u\1c¸Î\ 4f\v.7\ fv:\ eÕZû£^Á\ab\½\1d\92¯\99sPÃõiEH\ 4\89\80y\o\1eCü GkY®©\95^\ 3Kj©Ïl^è\98N0å\0~]\87\rµe\98t\9aó\19¯Äe×gí\er\87ö»®øy¾\9d\97oÌ}\13xr¿wÛ\91Y\9c:i÷Lhª\ fr\83\9aGå×\9e\867Ý£go\86\8f\91løe\14öXô*`ºI\9f\9fumé£vTëáQĹ÷®        ÁÛ¼Y\aúz\9f+ÃëÍÓ*Ó\89ßn£>ó\91ÜhY\1e«\ 55CÔß_:àÁrÇ\bÏ" |·\90\ eXZ´äAãhRKÍ\99ÁPiØ[`|\1d\9606¿YO2\14_þ0ݺßì\1fó¤N6ß¡Êz\1f\f\156\8bPûr^Ud·ÞæO³Bé%Wf\9a\19\ ffO\³\9d\13\93ô\bì3é1û3\87\90¹ÔóN~öN¾\f?\98þ\90S\84ÏO\11iZ\8c\13Hz³¼ôJ\ 6I\1aºÁ]\1f\1e\8e[EµPL\8a\8cý¬W³;c]¯¯í[½õÁ>Ó<\9fõ\û§\87ð©´í:\9e+}\ 4~æåõù\9eÝ\9c\9fÛÝÝp®°ÁúÌ\97ùb¬lg2Z\16Ü\86g\ 5öÏ<lÑ[\9c!7\f\9ba¤//c\1d'ì2ÖÜÎÉú5¼íí\95\12\17¥\9f·þ«ZZ®¿{Gi\1aîg=^vö,g³3bÝCd·?ã¾[\92ó-G\v3QùÃaìúhOÁ¿;­²ÙÓ½F\98k\e\9eã\ 6ÐÊ|æw¾ö5r°åtØóó<ÉösNT\94\ 5Iõú~ú\ 4©Ìo\9aORëFæ      Ò©\ 4÷\89¶ñõßïS¤\90Ì\87\84ø¹IuÅx\94¨º\13>\ 1ÞtªÈ:=h=¤\8bòæí0Hòüú@ÀWò7Ê\8bù(\14rÃHÊÑóó         Ö\11¡À$P\v¸æ\9f\1a9Ìþ¥ç\81\97\11® ¸\11_\1e\f%èÁB¸Í°øP;é\1eâ¬\8e\ 5;®i\88K\94\a:¾2ó]ªL\10\9d,\88Ø\ 2ºOv÷¤\98û\ eeÖß:\81\15eªÏdu\ 3\9f9é§é eÝ\ 3MU\1có±u3¾Fã\8ef\95¤F4Èm9{u6µþC\91â{5\1c}\7fG]à2j®A9߸äeØ´\17ðÕðq×n¡7W\9d\9c@(\84|\14bDÈWÀp<\82\87üp0Ak\r£\15/K\8c§XõÚë\13ÖufʹDZ\14\8d\86ÎÚ^«;T  g\9cnuk{³î¢Phdg\1dV\9f\f*2otÆ\88ÓÅ:Î[\85+\1f\91¿{=e\8c´Õ\83z"˧\98¢½Tit*½\eÝÿf\e}T\ f6·Ç4£þ\ f¬\81\f\À6¾      D\aä\81Õ(\9e{;\ fNݵÁ\0ú\eËH@\<o\80Ô%¢o=9U7\ 5\ 4ì\93\9f¥\ eؾÑI\12I\15\19-^\9b\84\8bÒ\90 dæ«*h_e%\86\ 6Î@\8e/X\8eC^\ fó$\98\9c\16\1a\14» ª¡í¯KUB½ü\80ñ£RYöDÇ;L\83zIDq\88ÉA#É]Ý\8a\14\8dèp\8a\88(y\17kéJ\8bÆé¥Uº\ 552\7fÍ\9b\82Ô}\8b\b&>\19\99*çv\14«RH÷3§\12m\81¨ô©[\12/@pÄy6\17Ïucÿ\ 3äФÏC\8a_¤3@÷z|¬Y=í\9d\17ÐIiÝ_\b\ 1\96P\17â"±\90ÀÖ³\91.«-\98\eà\88\89#V\19nÛs\98\95\8aÉY\86ÓAE}6üG­Q\ fÚPG\93\96S9ì\9d\93.\ 5[p8&å\1e¯\rÀ\16\97ð\96£WÜßµ£.m¡\91/kê\90«úåâv)C\ 5dþú­`)\ 4\vB9 ¡\98\v-]åoñ\8de§ð\9eƧfU\91ùÝL\13BMmç÷¿|\97É\8a\15\84÷õ\14ÿÚ\90Ýw\1e¶Â\ 3\ 6o\8c\fÖ¾°¤\85ÚFÒû\83¿\88só¯\12]\12ÕMÕÉÌ;\9c)"\8e\90¯\9cm©Ol9Æ\99jG¬\8e¼Å\9aüÂ\9a\16
+Ó¥ö\1ardkew±\92i\81ÈÕ=s\12\0\97j½>̤×ð\94FÜ: }\895\1cÔ\16W\90
+\7f¼\9c\94\\13ÁTY\1a_^_°E¦¶ó£\91æìm\85|X\1a4t\88\87¾&öo²\v\18\8d\ 5.Èʸß(½0\&­ZPúS\ eÍ\1eÝt\bbB¤I¥\âH\ 5A*P¾¨Í¬\ 2\12[\\ 2ç\19T\89'\ 2T!\91\84\167ÃÞ!\9b¤\18.
\9a4\95\ 1YÝz       ¸í=\1e\98\b» îÊ9Ä.¨Ô\94S2/ï\ 4¨º\86Ú0\19\875?^9²¡9P\aÓäÉ£\85à*k7Õ%]O³5­Ö\8c\vfdËí\v\84©Ë\10ºí»\1eL\98LТr\13<\r¡\82KHV\0\11$\v\10]ÀY*\ 2{Ê$\16\v¦ñgïí³bÊI\96¨º\8a\bC\88w¬ªv÷±Ð\80\e\13Ô\áÕ Ó\87e\99\\9e\84\97ÒRB9­fíÛ̦\8aWÇ®\16iD>\8bÂ\9cW%tèK\rmÛµI©BñD@5-ä¥\v\þ1\1a\92½©&[Ûc\ 1¸`+{j0 ]BpI\9fd\81\86¹Ë´©iI\1dY\ 3\8d%(qì\ 4d¯|V¦?Kêúìí7E !\96ex`QÓ'w;\85"#~å\83\a©Æ/møãË÷/ÿäçç\97:AbñB*\9e,\8a4¤Ø\1e¬üå?/ÿ~ü\97\8f>ÿíÛòøá×\97\12?z\19\vÛ´òñ⥠       ñõËËç¿\7fÉ\8f?ÿï\1cp¯ÍÄ9Öò\7fËãÑ·¦      h¸7ä\89²ãÅ%\16ÿL¿\91\95U\82x\ar§q¾º×so^Æ¢DÒ\9f\vÇRçxïúõÅ
+\ 4äÅHÔ\92\18\r¸\99Zi«ªö\18é^Ûî{%\1c\86ï³\14\135-¥Ä\ 1_G\8bJ\89\8d\87`5QFMB.ÖÒ\ 2ûlÜß.ÕÅË%Ò¡ÄIäýn:¤\91îtÄB¦\9b|Ö¶©ê\8f\ 3Æ\1f¤\83b\85\8bh\83±E*9\89uç2?yñ¼Ý^`n¢\81\95<kk\90Sb¬EÅ|\90\95\15GàèY\vAôXï´\9c\13ÖÛõ\86\84\ 1ýºÁì$±+ÁõQ%Þ±ååY3 \9bXÆ0s_~¿m]wõ\90\98Ðã,\1cÐ\15\81þjg½ôÎ\1aÞ¼$\8fÒ\ 2ÕÊlKi?E\9e>(&Q±W\93\92¥             rVTÑ· ê3å9ßQ­K\94\88\ 2\ 3a\86¢)¡7>\8eèsw\91H¬Ë\ 3<÷Ú<Å¡gûò.¤jN\ 1\ac\r\9fÎíùôk¿[\14D\85{bÉb0\ 5ò¤ª[\995=\9bû]\13-\95\1dðLKÌla]\10\89ÔÏ\a\a\9c\94\89\87bYí\15á.\18ï%¯\92\9e·oï²&ùÞ|\80¤\97TJû°Ö\ e2\ 1¶±¤Rk5¸\8aÑcÍ»Øò»n+)0>EØw·\9cýݰ\8b\92T)ä\8b¸·]¨\8e~oþ®Ó´biH"·Ôå.\1f\95±@\;\9b\94\15ÁÁ~ÒRL (\Ólì<\7f»3¯Ä\10\f¯°Ý\1f\ 4\9b\8c\\92×kï\96\84C0X¦E\9e\1d\92×o7\ 6\0\ 4¤Ðãx·ozü ½«öÆ-iy\94Ã\96\8e\99úp³wAO\ 1\86!\eð³uøy9òß|÷øüí\8fùñë\8f\8f¿|÷¸\8f\1cxé¯sZôß/?¼\98íéØ\85\bÚ¦\19°}Y\81´nUÉ\8aï_~~\ 4\f¢×¶'\13©&\91\8a\eUo¾¼\b\7f\83iW·T\1dbs\80H\8c\eV>Rû\98\0\ 1Gß6¨­\1d8\98rä|½\95 ÛO\8bµYª¦åûÉOzÂ\8aý|ryâÒ\17\f\9dÝÓÛ\1eñ$W\91F\8fMîGÍlýÜ5WcÌãyðý\80}ân÷\ 3v\89«?\97\1c·\89imof+÷úó`\85:ùéíAõØtB
+í3VD\83\16Kó×\97-\ 5O\ 5 Àt0Y\91\92ß\fN\94å±Ö\ e]\17\9f\ 2f\9aάLþt\8aÃ\15×¢âþõ\8fÏ\7fý\92Þ\bØïú»w7\9e>ka2p¶\89Øê\9aZçûZpoñ§ÄºÇ´&\86Î\1aX5Ð\15\8ff\92Ð\vHÒD¹¬&7ÈXù¦X0\vÖA:Ï\e\12­I\13ܧ)í\aæÐ\1e\8f\19ÒKâØ\83g\9f\ e+òW£¥çÙn5ÜÁ\ fú¸       ¯n\93PÎ|>÷\ 3µ\¨eu\80¤ï\bµLÑKyïl\rÈ\8b\84TbÕ°\bîâZ)÷¾b,Xãiêódy|¿§\14p²H¥ztáÞº~òÖèâÕ,ò\9b\9a\9b@,Æ(B:¡\18\ 5iDélëû\1c#cyx<qÍ ù\bÏò\8e\ 2\8bG\\98^\9cT\13»f\e\9d{ÐÃ\9aIÐæÅ\7f³»¾P\9cBãOO+¯/ËòPC\1f\12\80\8a\1f2è6\84ëÊé1cüÚV\ 3j,Ê\90\ 1GÒL\14¿¼¡Ù&ùÒ\1aé\1c\9a!29\80Û\9a\9b\9dq\b\1eÐ(ؤü\99\99\90\r\8fâ\84\80¶)f\9fO\12Ç\98Ê*\99\87(àU\97\12·\86V\98À\8a3Ò¹\16§i\0S
+\849E\13Tv\85â:¨°O}n\1a\95\ 1puC"Á\ 4ù\98¦Êz\9a ÖNQÎç\81\1cÈ\9e\87\86*\98©Í\85Á\84ÑÉ\92ç\ 3\8dG\13\9eEµõ\1c³h!\ 6]R êZ\9aP;¼½£025\88
+k½\19GúBBÄÆÉe\ 2m\8bg\95L\bó\81öÊ\ 4\1d\9f©l    1áHr¥\1e\8b\88\11Óþö\96Ü\13\¬Þ\ýP\98·Y-æP\18A§,\8d0d*ùL®^\94\b¶å\99Û\9a\14\bæ¹\9e<%\a\9bËöåy\8c$\b ð\v±¦o5z.y½\94\85\9c\13\12\rHc«M\8fݶ\11EÙ£ \81ø^»¶­Ù$±=Íq\85\rý6ÊEÉ¥?(½&Ï\8aî\9e¨\90c\85gTÓ±ñ\e\95\1a\rØ\16ÁȶUBÿE­Î~JðrÀ\9cnM\ 5\88
+ÒõF\ 4¬\18\8d¸~å&YºC\8e©9²\v¼·sYì$Gi¸º\94¤aeû©t[Ü\y7²Ñ4\\ e³fõ\89\97ñá\14Nf\9dÆ\85\85Ã\14\ 1r\87\13$¶¢ü{qzÂà\96uEÏÈR,õjdWoåH1Ï~ó<\8aJñ$Tȳ\1d\ 1\94\14ü´H\0\94¦Z|}iÞ
+S¹\a¬)É\96]á#8:\19\1eåJAyaÊM!n4\16ÊÂz\vk9\1e\r|â\18ÁQ\11| x\90Ù\14\8129-Ðh$g\9dºY\9ahÜè\14^6\ 2¸\ 6³x\86\86Ñ\86~#>Q\1d\11#C¿ \8a\r\9a\89\9b®K\bç\19\8c\8b³Õ4\f±xq7ªvï¸áÀÝjÄ¢,,HMºYúG)è%|¦©\93¡\12\ fX{¥óO°$,´û\ 3ÍþÅ\ fF}>\90ºÐÖÂä\89\9b\17M$Ò\rÖ¼\86æ\9f¥Ü4\93\1a\9d˨úPSB%\83èk\1c\ 5c\0\17T°5¹-¾\9ddMcÛy;\8dòÔ\ 6 7])õ`ñ\85R\11¤\8fàsÔH\91\bù\8d%Ð<\1f\9f\aÒÃñZÚ\88\8cÐ\10\ 5\86\9d\89¯S6Ï&Ë>²jjÜÒÔX¥\18jJ7ÖrITÇÃÊʱá\81\86.
+ª      È§\14ØR!ª9/ƽ¥ ãÈ0\að \89O\84NÍï\99BÕ    -¿3×\81©û\ 1\19é
+'¦t\9azJjD\11S9Ô\ 3Á×\\82\ fáØÈ\8ea\17\ 4\92ò2íË\0U\8e\19\9e\8fýî=x<\8c\ frùB[©cØl\99\89/F\ 3õ\1a\ f\85k8~\ e¿\16\15Z}µ1"® \15ú\ 1\9cÐ]\89\14ûK¤\1ePÑuZÕ@úéÜ\95J\ 6Ë\ 3\1cíià¾Yj\8a\80·h!%\85µ¸d\8e©ª#b;?ßK Ví6\97\8aP\10i\16«Q ¼(ݨå8\991\ 2þ×;3ÙO}\1e\ f\ eÄÚD\19\9c\ 1 \16ðëþ¸S\95@\96)\13s.ã\94´\94¹Ê\ 3È\ e\91Æ035z\12ëì\99\82\9b«\91\8eÔ\90Y\85\1f¯¶5\$dhîØª\f4¿\96»0IÝåÍ$\90£\9eÏý@Ò}Þ1\92\94S)\9d\8b\1cq\157KêÆlEu\r©Ö!^°ÏÙP\17\96 d»tÎ[R\9eÀ\18a\10(\7fu         ©­ÕÞúZ<ë£\85\9fW\ f÷hСB"Ì+×\e\1c\1c_Üid÷\101:¬+Mà\98\95n!ñö\ 1:j\90\ 3aìó\81\86Ã;ªµ\9aA\15WÍiUðë\9e_+4®nf5©Q²V³D>òê6»7\8f¯ýà\16Åì&1-ZÓìU,\18$ð¢/ªN­\aݯJõLI[\83\93´\ 6 \1a\96T4¹¬íù\16BòJéG\9cN\14¥f\8d\98épnÆA½I\8eãòòû-\90\14§TóB¹¿nxCäæ<1\1dd§Y©]PY\1eVºä¯J¸@D\8eÙ«\83¹%CH\82Þj\f\11¦\87;p\ 4J!¬È]Y·}IÝHñ\ 5sÐ1\ 5O\88Þ\8eo\91ÄÒ\9e|\ee0!\82\15SÃÿ¹.\97,¹u\18\86Îß*z\ 3u\8e%ê»§dÿÓ\87\vÊvu&IS%Y\14?\0ø\9b£<Ýlß\84RС¿ï\8a¶^\rÕ\8c\86\11\94#t\ 3¡Ëa\0Mo\1e=\95°^¢7\89Ð\90Û²\11ñ\ 1P\14t´ò_\89\91Mï'ôïï\8c
+Ób\99â\92­\96i¾ Ri+¨°pÏÑLöôÜ©§Õâ\91M ·Ç-o8¡r¨h»\vö\93©ÐC\83tPI»«s"cï\ 3"\1a\8dg¤¯sEÀT\ 5Âjë5ÕLs\97û\80W(Ú\9e\9fDC\10,ûDAê\83°aÞ\80\93\90\8a5\87ß\0\9e\v°®\96o¶ð²éí0_<¿3cVDX\195C:U\95\9213'\1dµÑR¹¢Mï\14\ 4î4·^\91\9b\7f\933BBy_'«\0è4n9é\1d\11Wü³\ f\ö_1ì\ eÉ]8
+í/;\vI'v5\93\ 5\13Z£²î\ 5¡\aĸ!ÀÂ\9c\0zmyªrr÷9`[\17\81¤\14        »\15zÕ³Þ  \9céºbÜ8ðàJV\bEz3\eU\90é\ 4±\1f÷ôÞØíÕWÅ8$µ(\15Þ²\bK °òó`Ä:\96Ó\1df\9cûgÄ-ôâ\99A\83c5å\89\a#£+!Rk¦Ã_G°\93\9eiÝùØ îJïÏJä\14&{9Î
+wY4E\83d«õ÷I\b\91n\ e¸eGièúv\ fX²Õ\ 3ÅJâ\9eo\85*1Ì×u\92d\10wÞ£\9d+tê\ f\9aù\fù\87J\83\89Ñeu\90\8d\8a²W²\8eí\1cè[#Þ\1d\97À<9g\bdIâFwM\8f\9f$\19\12\83t=\15\82\ 6¨?ÿ\14\10\9fG@ës\85¾-\ 6+\81\84\1e×\1dÖ?Ø\8cSÒ       Ö\99\9fÂ[¢\9e¬Ë¬'meeÛ\88\9d\a],\84#-\92Ù\8c³\82Ù\89÷c[\ 2¤Éö\19ÖÀ÷ï\13"Y|\ e&)R\8d\81*QafÑ,5QqYÀ\96EJ­«]·cð\98jÍgÿYÑ\17âÞ! ,°KI»-ϸu>'B\ 5Ä<SÎ\8e\ 2\8c\89%áP<\0Ï*õ\995 ­[t]$3\112kën1\85BÁæVÕtsç \9dU\ 4\95*\85\95âá²"Æ0/=ðdí1UlI^ÏÊö°h\e\91/\86\99Ó\81\9bþ\ 1\ 1s\aZ¸)²¡vÓ\a\1dÝ\16É\96±¼ójý¶\1d\89êÄ¿;Âó\1e\9ca8\90êv¥)\84-\ 1ÙJÛ^\NßÚf|5^­D\7f\97gÄHý*~\96\98i)\aÙ[¼|/¨þ§4-ѽâ^\ 1å\1aðòc³H¤5d`Å\863a®+E\ 1\v\13.Spá\15ìÁ\8ea&{Ì'¸ÏÊ   .7\tõ   .ö\1aí+¸UH=ôÐ;¸\15m£|Þ¡«\82Êù\15Ú\8aÀL]\7f~ïÖJL,\97Ï«\80\b}1ýûÄRÙu|ð$PU\8fH;\85ÖÓZ\15Êwºô      m\85\91\851o$õBWî»\80ò«\84¶½+P\0ÿQxØ\10\v3ãm_áÂ=\0XuX\8dÓú       ~lc,`ýË^¾â\1c`\85`ÂêØûrUUX\9c+Fñpwb¥<Gõ,x|P,ÃÃ`[|@\99V/\1dÓ\a\84]ó{ÃÈé®\9düË\99«yZ¼\ f@\88Õã#ã_¥~#³±vÚÌ@rq\1e\89j        \18\9e ÷º\83+\81\81\0ë1Ò«¡òd\86\ 4\1aeu`û\ 4bI\8e0GNN\88\10\96AqP×\ 1\v\95Û>\19m\8aê³C<?ª¹Ä²²Öá\87ëΫf%\8bm\90Æ\8c=öª\86µ\92 Þ\84\86]T#'ø>¡înó^qGª¶Ë\8f\9d¥Ù\92âÖ@ù\17¢æKWê êYkàÖì;\e\8cy@n3\vÉ\ e·Ó±\ f
+Ìþî(['\b\96ØÊ\98+N[BiæÙ\83¹\eÚéN\80Yi\17Ã\ 6\ fK+Â\8f\10¡æ~õÍ~Vþ$VA        ½\e\83e7\8fnúâ¼\ eSDø]ãèSȨÛ+W®Ä\8bºýuz
+\8fÚ÷«Æt¥?\e\18d\19\ 6Å\ 2\16\94<oÇWºàÖÑMæÝs\82ª        ºVåþ¶Ësâ^¹²Tm\ 3]+û\11{U÷#\88|Nìj h×áó\92\4j¤=à®b¾;\8c^å0zºº$ÌñH[æÊ|\98BTÁ\eS~7{£¯s®d¥É\8b3µbRéÈE˪Ûî¾à\1cð\8a.°tã\93=î!Ë7Fó\b¹²#żÒ\9e\15%\90\9aÍöQÖ<z¶c\9e(P\93Ïïò̧éÿ¢Z\1f\8a\9e¾®?s»\1eм2¬åÉH·\8d\bøWEÑ\ 4\1d¡áL\89ðþ>\v\ f§È\ 4®gÖB¥0\ f\8eæÈÉJ×\9fðX\82\90bÁô\82\82ÃÔúð¬ÐNÛ¡Ûô¤\96àe[\95\10<\94\13/Ѷ¤ßMs \ 2ð/ZÈOn\8f\aHÚàFaU¨À\8fÍ        D(CÞ³CîJ\9eÇ:>\ e@°qg_ç\84\1a\8e\91&w0`~\91õm« "ùá^9ì<¶¡@\812\96ë{ò§ÜÛ¥-$ÏÔ\0\fªv\81¢zèDús,³Ç\11Ô\9c\ 4\93\ 44SÙéD\14NÌj-Øéżcòlç.#;5&\14Ë1ЩJ{MæÎîpr@XÒ®õ2m\\82DI\87\97zwXK|Q¯V\18\f\1eê\95\1dÍ\91¢×mÓ\96\8fd¬@`õµÆa\99}¸¢\ 4\7f_ö˼g\ 5æu ÊÞ\89\92æ\ 6]0\96\9e\1a\16ì2à¹ÔìBÎV\ f±
\97BôE½\9aF\96ÒðîPß\91\8dC½¡\11\93iï¡Þ¸T÷u?Ô\epC¯\ fõb/~\7f¨\97\13\93O<ÔKp\8bÊñ¡Þ\8d
+}\99W^\8bK¿\99wÃq/ñ\8a\eúl/­.¦£õM¼\v¼Û_;\8aÇ\87\ 1\9bP\0Û¯Ö\8d5\aI\81\96\80ÁdÂÔá
+\11Rª#Í-ØåúE»*©9Æ7íN²UáÝÞG6ÂBrì#\19
+Ã`¸ÍØ«\19C`ÉdéNa@©/ëÊ»¦\10¾ü\ 4"\8cùÅËr¯Ë\7fh)f"\ e"\96\83\89\9a`R\84eO6×\ 19\81ó\9c?ÿ`\1e¹ªÝx­\12\r}øï»\ 2_Áh!É\12ÕZ¬ÓZQ§\99\85H\8dÌ·DÎb²\99\96Â\9f\b\95¯p¬oÇ^î\98\19Òd¿dÓ@\19Ü¿ë\9cº¤O÷¿lfE+ 07\ 5\ræ&X\8a¿Ì°\14\ 1§A\87 «\11°Íøâ\ 3J\9e\1cB\1a{Ã0Ì"\8f¸\ fDW%\aL\90\15z@/E}Ë\ 6±\1a\ 3d[¯)}?Sg<+4IÏOR\ 2"\9b(çFe÷\aÐ=7 Dô\ 6k;?A\88(À£Ö\ 2=\1dÇr|ä\ e99?\13.\15\90ÞD\8b\13Nĵb>wnW©\v\ 3Älý\ e\7fÅ\99f*\8fª0\8b\11äý.'ç$ªð¼u\9d\8c\16Õ\fÿA\9dd¼;>ëêw\9104)\82æâ§hÊ]"¿\8aÈ\10°<Ù\ 4}Ú\V^Ñ\90\18\1eWdoa\9a\ e¼ô86Ñ+3\9bE\14¨4\154J¡\9b¤ü\92ò»ñI¶bn>\1fåxy9\0T\13I\94\18"Gl·Ï4º<\92˧
+õ}\ 4\8cЬe\15^òø:_g\18PË¥é\f\12Æ÷wá%ÊPÝÖm*º
+áð¿lWË\96i9Ôýyµ¾à\e}µ\\93Ç®\89×>\91+Q²UC\ 2ª\13\9f¬ê©Q¥r'E¸R·\83Þ*ûÑK\1a\vägK\ f)\18ãÕ\19\ 4C-Lyê\aO~<i1\10\9f\eiL£É\9a§ó\8a\ 1\eÀ\1a'F9\ 4\9cN%Hå¶\9d\ 3tæxw\90=½ÿ »\93¸\9b{½$Ò\93ø\99Ý=\1a;N\9d¨\83àØ§l²\908 dö\14ЬÃ(- \aW\8fQ;²UZJ2\r¿øÆRa(è5ç\ 6¾\ 1;è~éá0¤,eKXTàW\9c\10\9bL\90Ýxà\ 3\ 2^\8aQÀæß\95hC¼g7ÙËÎ|²¿9°¯\84héU\92\ 1\9f¡\11TÔÛ]¹»ËQº\14\91é\13¨\i'éòO\13a\ 2©\9aÄÜÄM$»Í\19I9Úß\98ÙLuM%¢ÿ\9b"Y-~ZÞ!Õ)¶hÏ\ 2\87\18\r=\88>{\96§\8fÏ\19\1d>M7\8eÆÍq¿¥\19\a\87\97PSMÿ»Å*é÷\ 2è\ 6?\15#\88Ï\0\19(õmàÓÂ0èóD"¢\9aMÕ[Pªç\8cþô¨¨³T\ f\væ\1cU\8d¡í]\90\ 2Jå÷.)R"l_´\ 4_\1f=\f\93¦>ù@\ 2\91G\9a§\1fe«Ú\1351ýÐ\12¼\89@aîj7?\10$µ×»CQt\17·\84ÿ&\87\vÃä\ 1Ô\94¾\8dÒ\e\99     ÿ±Î;
+"Â>×2ò\84J\91F/\80ùÊlö\99\bÖ\ 4\98\8b|sY64KN½bØ\1c0uËð\18º<LyÁ\99º\8c\82>£88îP\98Ïô3Vª"Ér»\9aeÈç\85Vʯ\ 2\11ó<\18Mh]\95\10\8dPªjú\14³b\9a:\94¾øó\9f·¬+~­Ð"\vl¸ÔeÈÄ\r%\8f_+R6¢*O1\16\14\ 6]=\98\vw¶^W¨'sèÎÖ\z\9fPb×$\12\96R\15
+\fÊ7V5±ªç\1d\bà¡
+\93tð0\8fðd
+stÓ0\9bO}@\15%ï6Y\8bÉ`X~þçº\r,×\91$:ÏUÄ\ 6²!Rüi\19µ\86\aTM:\aÝû\1fÔ9FêF ñð\10é¼\94ä_s3\ 5ÂÖiw4\14âõ´Z°\1c\10\7fTHk£·kçØÁbØ\vIþÜ\0\94\17\ 3\89}e\1f*\15\89O\98èíEïB\9bÂø§}ÎÞa\ 3=ñBYu«\86\0c2?^ZC\0C·{@Kq\ 4\ 3 ¥uÍMk\86y¡W®õÒ\1aÉãb¤Î\85BÜ$ÆUømÓöO\7f\1f8'WàÝ\17\90SR{]϶;Õ\ 6n\9fòyb\91;r¾Î
+r\17IÏ÷
\1fÄ;]§û\ 1ÂêD!Æ\87½\116\84E»Ü±iEV\14õî[
+x"Ó\81¯?)Æ\11Gò÷Rwjûº_;O\88AåÇ\r\9cÜïÜ=ÅF¼H5ßlå³|ù_?û³ëÛh\8d)ØÅf\12HÈrûïû\0\ 2ûl©Üên\10\85ª­ù6\8cÊníáÌ\13ÒîTg]¡\ 3#ãOõîd
+q\81豺m|\9ap0\19´mOù\94#Ta÷5]ëZ\9fº`âÒç\94\85yÅë\96bLÉ\116ó/\80Ú÷*\17Þk+æ   Ú\91\18Py\ e\1fùyB¨³ý\18ô¿6vF¿\87Ã\1e\1dòçûÄ~Pùj?ìG¹z\10\13Ø"dÙ\8eï8@6Wh\7ft¨û°¡\85\9aÚèE¾"Gm\9bö\ 6-©"\14ÊÔ\aa\8b\1cõÙ\8bH\b®ìh¨Æ]\ e\8c×x\ 3í\19ygqâ\9b6"åà>Þ\1cûl\8a\v'¾o<Á\8c{\1d'e\1c´1ßìë³\m:¹ô¾qÿ\ f¾\eÆÌRzí\16>\91'ÎÉ\88ºÑ¬2Ã\19QéûVM"Ë{\9fæ\8432Hê£ø0\89ê\bÙ컵R\9eÃâ|å\ 5·î\86»Î~'\89jËòì\15ÛT3 Î»\85\95\10\93Ü":º
+gnÆ\80$y o*µÃ^ÈÈÀ)p\91î¶%$Ôóç\81¢Ì\9dBw~\9fÌ-ëºÜP[^§<¬Ç\16È\11W«í­ªò\ 3ûBl¿bN{µ\~Ø+\9f8\ fxBd3mض42ò±ÍÅDtS^ö\ 3A\80\ 31\98Ô\9bYÂn©\ 6\ fÊ\98\8fí\ 3<k¡¿o0d$±Ë\18Ì\1cè$µéJËýÀ\88bâ@Õ\8am\94ña7L7õ]\17gíï\13\8f¯\0\9c¡\12'¹ÈÈ/\96NO\1c\f\9eM\ 2®\8d\901E\83D~Óô\7fv®¯ÍüûLä\92ky}8gË\94µ×>\ 5]\80ãçÆÝCü\86LAs\8f)_¬[¿4Ä\83bDYv:\84V!z9zì\e2u\9a4-&¸Þï\89\86idåêØmz1uFYúnôu\85N\94y\88\1c?¡ÊÔ3áXs\ 3\1c\82\93\8dZ^ûв5¿/\0!\13¬\18u\93{AFqJT4Â\8bJ\9d\81'¬=\/Òõ­êþB>\9f`«xÕU:Z°ð\9c¸àM\1d¦\8cÆ\ e\91@·¹Â_\bû\1a;5®O\10¡ÏLÙïÆÞ\89¬[ézøÎ³^Óë\88\996\7f^P\94v_x\17K÷l¶È÷ëÖK\rRQù\16ÓQ\127¤c\10έºÑEHI\15\bK\94äy\ 2¢õ¥B,û\95\8dòßu\93ZZ\9fØøù\ elÄ)\8a\89ó\9c´íTO¸Ø[¨°*\8b6%:$[\11GËØh^pùÎo¬\96B\AÚ9Ë\9bè¥L,»øoÞ[Bù»\ eùÀ
+9ù}¥*DTl³Ëp\94\83\11k\8fìo\1cèâÁ\ e×\95\ eH\ 2ð¬_\ 2\12b2Z±_Q|,«µïâ09£\82Ò\19@3\bZÔykÛ2y6Í®uWç\909u\9b©ï\11\ eõK-æÖÿØj\91ý\85sÂD-¹\87o\18I\e°°¿\90Dó¡Í4ui  æí½ÑÓõBÝ\15\9fjd\80Ìk«\97~)=\8b\ 3\83\8fd¥g¸\1dLR'¡fL\
+'µSÚP³ARÝïÁK-Éß\8f9\84\9aȬ?\17à6\17UÿÀ\13ìè"ÇÂËØð"\10±%\9c    \83hC\1aü\r»Û\94n\8e½*Î\ 1Yi:$DÜ¡\ f#!\8c\1e\89\ 5Ê\ 1\81µ5\8fT?cêÕn\8b?   ÁYi\8eÄ=?S:ð\99\ 52\97\93i\ 2×6\90Ûñd\8fUÚß\99`áá|}cxv  ±[\9d{ìÀ]ký\9c9\ 5çÁ7$oZU»ðuöyiÏ\9eÛ\ 5µcã\1f\12ÅA'Lºi\9cß/Vg\91Zµ]¸\eì ûêÙ\vðÍÁ²\85  \19V\ÒÛ"ÃO\10\16f~\15ù}\7f\83\18ø´ç0QBºì¹L5@ÂþÜæ\veíó3It!ÉÔ\12\ f\10\88_ÛpKÒ+ã^\9c0qe¬¨£O\0C
+¿\fx\9e'F\rÎ\0ý×ÚËQîMÍ\85ú@6½\85\8adBg»¿¿Ù\12w¾I\ f@Cè\97]FÈ\09½¾>\80qe&ÜhOv¬ìäÏ>\91²¿+²»Ñ\98Q\99¾\82ìcógë«÷dZV'Ñ\19\1e\11?Ù?\9df\9b$\8a¤Íµ'ñÞ+LÅ%ÐvñpE\90y¿     ÐÇò¶í\ eØí\ 3\99éî\18´Ì\95'\8cÈMA\7f\9eô ë9Á¦ã¯PóZu\12~¦Ljnº\9d\ 2PB\ 6\97j©32jÀöì]¯Ï\95O\84+\9d(j¤\8b´¥ú      ¦h^ÙôÏ*_\7fçöÀâd/ rÜè\7f¾O¨nÈ\9e08jvõÜÀé¦y|ç¼\ fP\12Á
\906`3w8Øä²>!y¿\13\98ä)õ\81\15¹RZà\ f{\85`\91\91ûêßõ\91Üo\ 5ů\19\14×\920aE¸¥]Ò\13fm\95×ö     \88^\9f\9f\e)\92é¼\9dJJ\9c\83\95<\14éµnÈüp\ 3:£ö\89]ï=%{¡çÄÁ\ 6\18Ô\9fÚ^p6~ZÐ\99÷ú\9d1ìI?\ eLâuJs\1d\9f\19©\15m\98ëÈÄÛ       Ê\84ØT\8fÜ\ f¯\132dSì\ 6iÏÛ¯è\8a\ fõïÁ½úó@\1e?Î#ç °û9Èä¬\96¬\82\16Õ\ 6£\9foüå\83s;\14ªàÒ\r\8côE pO`TËéÁÏ\19Èð¶\ 3N\13©\ 3u\9fi£ÐD[.Ý\9f¾v¼\98\94û8ó\ 4@jîS\17àÙôí÷;dÉõÚ»©\ fúº;Õvæÿî\83\ 2\1aqóJF±Ý-¾©×cã¡J`¿@L\1a\1e¬Ä¯M¥ñ4\fî\87Ý\9fùyÂ\13¦y¿o0_äa\94<Ïú¼\82\1aýx8ÝÜl¨^s\9f\11x\82\13U      I?\86\11,C*;\a\12åþ\ 5\ 2î\1ee¦YY\1f\93\15ÅÀm\ek+¸å 9g#\93ùãmän\90cü{2yït\8f\88\85¿\86ý\9f_ÿþõ¯_\1c-\18Ù²«¿þÿ?¿þ\8f?\17ÿ\996ù.0g\9bT\1aü\9f?¿üERG\9a\97Ðm+p\9f½JÅ,­\v\81ËI^©!à5\eã7Sõ0Ü®T\9cÇ÷ÖÝ\ eíÎ\80³I/6QÏjÿ\8dÞ(tä\8c\12zV80wIC%«|Îbkvh\15\9cÂ׬/\81}\ f$\925oc¨\940®n¾Û\f}¥Ì:Â\82cgðÐxô¤gÒ\81°\9e j\88Ï1½.%h\9fßi\13F_\9e@>\b     ·õ~\93\0ÊŤøÅô7OÜn\»\9b\8cÊëÌQf\83®³ñ«]Æ\9fÍ\14ªxl\85\9d©­\82 \92Ô3\1eÿ.áx¼¶Ä\80~\92^\13&\ 1¯ùws\8dõä    ø&>êWÌ?<f:ª\ 2\17\ 4Å\9cÛcðÖ¬¾cΠ\fÁÖ0êê.äë\8fÁÖ´\16HJ\96S)!¢µäH¯éè+\19|º!H}§4|ð\eó=B»nÆ¥¦$\8aÓåôR^pÃÍ1í¸Kå@(V\14·×Oæ\8e_a\7f\16XâY%\8bÙ\80\1d®y\1a\90½ú¤C\95\1al\8c^×ÇlwÖ´×ÏÁØ{­l\ e\ 6½\8fz´áê\ fñGÁ&ËË5\94&¾Âͺ¤©éV¥>] Ù­QÔ\9aÏV\ e¾x¹qóâ+\8d\ 2ÿºê\93jB/%CÊ-é{\7fé½ó÷MöÉ\98*áûW\8aÏlaõ\96þ\97\9a ·\13ÇüIß])\94êÊ7\v\84£Z       Þ[\ elP\83Á\1aS4\10*Exð\96\86­n«i`w¶\14UX\808aË\rØó7U''Oý\18ð\8bÇA=¶k\ eL±|´$ä\aÞãkoÚZ
+UÚváYaW·ÕeDh¾v\a\1eqþ¢E\8eµC\ 3.\8e\8dÍ'©
+Ówó-^{GÎ8íª\17ÉD2\96z\1f\96@Wnö5vÆjð¨\97°P©õ00Ç£¤Å{;Îb_\ 6º\19\932\92V\94IôXxná\83m\8c\rÎaº\8fÆ~Lr,R\16¿6"Tì\ 2\165_PYîþWVÎy\fÙçÚC£e.ýi\94´ï}\875\98²7òÝUæ\93É\83Ö>;\81d\81í²©Ù\13\ 1×ò*LkïÆ~¤i¶8\ç®#\rq\en\8di\98`îÚ\93Õ\96ùQUÜë0HªÀgF\98\1dÅ\82?~±\ 6[@b\92rYld\ eu~ȽÊ\8fº¨Ö\/JÏ\8fqm\85sL·\8a½ÔÜÏÒTF\86\97´¬\87\8dà4÷½Ä¹G\85\88óê\82\80\11\ f/üë\917ñr\10ò\1dÜ¢5®ÛÕÖ\9eÔ»\14ËÐë\8e\9bɾ\ 2\98D¡4rkþÞêæÚü±dOÿÉÁ¸?\a\91        ¼y\1eV\ 5?Èæuu²2\98¸\9büý\97ë2É\92\1c\87aèUò\ 2ñ\9e%j<Oo«î¿m|P¶#k\95I\85dQ\1c\00ܺ \86\9e"\9dA_ò+*?~®T\97\12\16àEZÚ;s\10»\7f\9d\86z\95\87\80nºXâ\0òGj\ 6\\1fIêÒ2h\97ýË\ 28Ïæ³Ð¬á°\14?EÚúR¦\ 5Á¸%¢\16®b¶\ 5Ó?\96\97¤Ü¯\93U%g\94\90Ú\8d·È0\9dSÕDÊWt\9a~bP\ 2Ìe^
+f«îÏ\ fª\8e\98ë!Ã<0\91¹aÐ\0U-\ 3\vÍÐÊ\97¹\ e\vÊ\88ç3\99C°A[!I\88\18Õ\10\a\86?R»*z \8cÙA1ì  2^§ß2F½Í|ùØ_¿\v\93\87!\82'\7f$°h\1a}l\99\8e?«»Ý´`_Q|zø¹ü³\98cíÚ\18\19W\ 1\96T\84ç\17+ÿ\85Ðm7®àN\vÏpÇW\15²à<ñÑ/Mì7S©RB\80£âº\10d\8eIÕ1°\94çwTbðµ¹(BPÒL\16Y ú¡v\ 3\97ãdÒH\ 6X_æåw²=\17\ eÊÚ\94<8Ir\ 3\88]\ 4a÷f)dPË´É\88*6lÐÞÏÇtÕ(\96\9dRMâ}ªø\ 4\ 6K­® \rÆ\86\rÌ\0rV?¯\924¨Pª\ f\8b·\91\8d\12¡*.L\9e+2av{L\ 52§Ï{AW*o'F\b:Jé8r\14VzvÑ\8dŲê3\90®\9e\94üæb´K\v\bÙ.\9dó+#¬ \ 6\b\12ÐkâÐæù=\82Bµ¾\1a\bÕ\bàç©A=ñ)Ì«Ä\r\93Ú.(_òi\14÷\90bt\88\17\98Õn1ñn\90\96\1aÕº¬?\vK©¿£\1aa\12%®:\87Ùº{~­TºxfI¹\9b\7f\86(\14Èþ\1aÝ\9fν^¸\85±¾\85 \86ר^­\18\90\15Á\9dq ý\13ª\9d\89º54!6\ 4Ói!¤\95Éhϯb$[ä\9c7_ªIæ\8d\9d\ 3\88\9bzC\92ëÅËæ\ 6#a\940+Ô{w\13\17)ps\9e\90\ e%§Y¬}DfeXì*}\81tQE:dÿ9\96\e\1cð+³\b\90\9eï\11EH+¤\95©«ë¶?è\eD\9f\8f\1a¦J\f+|;÷J\15#?µ7«`\8a\aVN\ e¿)Ê#ÎöMh\ 5\1dúû®hëÕ\10Ψ\18!9Z7к\1c\ 6ÏôæÑS\fë%z\93ø\fÅ-\e\1d\1fàDAJ+ý\95\18Ùô~Å~¿¿3.LëejK¶:¦ù\82H±­ ÂÁ=ç3ÙÓ³§\9eV\8bç6aÞ\1e·Àá\84ê¡¢î.ÈO¦B\ f\vÒ@%í®Æ b\9fÃ\82\92qiF#}\9d+\ 2¢²:në5ÕKs\97û\80WµîO¢ \b\96}¢"õAÈ0gI\9c\84S¬8ü\ 6à\xuµ|ó\90þNÓÛ!¾x~gЬȰ2j\86t\8aý$bfú¯>ZÍ\83d¿S\10¸ÓÜyEn\96iÿ\19»NÎ\b        å}\9d¬\96ee\ en9ë\1d\1dWü»O\~\80\82Ø\1d\93»rÊ©\93ß\95¤\13»\9aÉ\82)­QZ÷\82Ð\ 3\10`aT\0½¶\U=¹ý\1c±­\8b@Rª\84Ý\8a½\92¥\87\ 2gº®\189\ e\94\15C¡ÍÌN\15d:CìÇ]=8v{õU\ 1\87ä(ú½e\15\96@aåçA\89u,ç;Ì8÷ÏèÛ\86FdlÐðXMyâÁÈðJ\88Ô\9aùð×ÑìägZv>6\88»Òû³\12ÅJ_ör\9c\15n\86\90\ 4?       !ÒÍ\ 1·ì(\rißî\19\9a XIÜ3®`%\86ùºN\92\fæÎ{ºs\89Ný#ª]óTa·J\83\89Ñeu\90\9d\8a¸W²\8eí\1cè[#Þ\1d\97à<9g\beIâFwM\8f $\19\12Mµã"È
+A\ 3ԟ\7f
+\88Ï# õ¹Bã\16£\95PB\8fë\ eë\1fl&*é\ 4ëÌOá-Òò\99u\99õ¤­¬ì\e±ó \8d\ 5q¤E2\9b\89V8;ñ~lK\804Ù>Ã\1aøþ}B%\8bÏ\r:@ª1P%*Ì,\9a¥&*.\v\94ZW¿îߦzóÙ\7f\85¸w\b      \vôRÒnËcn\9dÏ\89P\ 1\94³£\80câIX\14\ f\0´J}f\r\16]\17IM\84ÌÚº[L¡P°¹U5ÝÜ9hg\15\81Êk¥Ja¥x¾¬\881ÌKÀ{²\96fE\8bG²×³a{^´\8dÈ\17ÅÌéÀMÿ\80\80¹\ 3\14ÛP»é\83\8en\8bdËXÞyµ~Û\8eDuâß\1dáq\ fÒ0\1cHu»Ò\14Â\96\88l¥m/.§omS¾\1a¯V¢¿Ë3b¤~\15AK8jÊ´\94\83í-_¾\17TÿS\9a\96è^q¯\80r\rxù±Y$Ò\1a2°bC\9a\95ª\80\85       \99)¸J¬íÁ\8ea*{Ì'¸ÏÊ        .7\tõ   .ö\1aí+¸UH=ôÐ;¸\15q£|Þ¡«¥ú\8bop+\123\95ýÙÑ-\97\98Y.\7fA%Dð\8b\15\80O,\15\vÏ\ 2U\15\89¼Sp=¯Uá|§O\9fàVHY(óÆRotí¾\v¨¿JpÛ»Ò\87\87\1dÛP\vSãm_BdÆÆ\84ÀªÃj\9dÖOøc\ee\81ë_öò\15ç\0+\84\13bÇÞ\97ëªBä\1\8aÇ»\13+e:ª§Áã\83R\1d\1e\aÛâ\ 3ʵºé\98> ô\9aß\eFÎwíT\80\9c¹\9açÅû\0\94X=@2\0V*82\e)i/OArq\1e\95j\15\18\9e!÷º\83+\8d\81\ 6ë1Ò«¡\ 2e\8a\ 4\1aqu\80û\ 4bI\910INN\88Lº0\96QqPÙ\ 1\ f\95Û>\19m\8aê³CL?ªÙÄ\8a¡Öá\87ëΫf-\8boPÇ\f>öª¢j\17\94\86]T#'ø>Q\8dJgÅ=©ê.?\1e\96v\96\b]\80ú/DÍ\97®\94BÕÓÖÀ­Ùw¶\18#\81Üf\1a\92M\Çm\1f\1c\98ýÝQ¶N\10\8dQW¬¶\90\ 3ÈÏDÝ\rñt'À¼´\8b\81\83\87¥\15\12\83z\84\94]îWßìgåO¢\15¤Ð»ß+»yxÓ\17çu\101Âï\1aG¢BGÝ^¹r%_Ôï¯ÓS\88Ô¾_5¦+ýÙÀ(Ë8(\1e°¦äy;¾Ò\ 5»\8en:ï\96\80ª&\b[\95ûÛ.Ï\89{åÊRµ\rx­ìGìUÝ\8f`ò9±«\81¢]\87ÑK²Ñ¨\91ö\80½\8a_y8½Êa$uuI\98åõce¶Ì\87)D\15¼Á\87ÑÍßHì\9c-YiòâÌ­\98T:\82ÑÂê¶»/8\a¼¢\v,Þød\8f{Îò\8dÑ<e®ìHq¯ÔgE\v¤Ò¨æ³}´5\8f\9eí\98'
+Ôäó»<óiú¿¨Ö\87¢§¯ëßÜ®\a\f«y2Òm#\ 3þÕQ4AGj8S¢¼¿ÏÂÃ*2\81ë\99µP)Ì\83£9u²Òaýv\83\90\0\83\86ÃÔúð´Ð\ eÞ£Üô¤\96àe[\95\10<\94\13/\11·ÄßMt \ 2ð/ZÈOn\ f\b\88ÚàFaU¨À\8fÍ       d(sÞ³Cî\8a\ eb\1d\1f\a Ø¹³¯sBª[hÎP\93;\981¿èú¶UP\91üp¯\1c~\1eÛP @\19Ëõ½aáSîíR\17\12hj\0fU»@Q=t"\ 5:\96ÙãHjN¬n\82I\ 2\9a©ít\82áUvµ\1aìôbÞ1y¶s\97\91\9d\1a\14\84u@>\b(õ5\19=»ÃÉ\ 1aI»ÖË´q  \12%\1e^êÝa5ñE½Za4x¨Wv4G\8a^·M[>¢±\ 2\81Õ×\1a\87eöá\8a\12ü}Ù/ó\9e\15\98×%({'J\9a\etÁXfÁzjX°Ë\88çR#¶;§«\87X\ 5ÓK!ú¢^Í#Kixw¨ïÈÆ¡ÞÐ\90ɼ÷Po\ªûº\1fê\r¸¡×\87\17¿?ÔË\89\98\97Ø\16Uãü\e\19ú\12¯\9c\16\95~\13ï\86â^Þ\155ôÙ^V]\8c\9bw\17p·¿v\14Ï\ f\ 32!ÿÛ\8fÖ\8d5'Ia\96pÁ\ÂØá\ 2\11Pª!çuìrýb]UÔ\1c¿Xw\92¬
+íö>²\ f\16\8ac\1fŨ:W \aÓm\86\18ÂJFK7
+\13J}IWÞµúMO\0Â\98_´,÷ºü\87\95b&à b9\98   $EXõdo\1d\8c\136Ïùó\ fä\91ªÚ\rתÐÐsÿ¾+Ð\15\84\16R,Q-Å\9c»¨ÓÄB¤F¦[\1a\aê\a \ 1Ê\bU¯`¬oÇ^î\98\18Òd¿TÓ@\18Ü¿ë\9c\9a¤O·¿l\86ÅÍ\ 5\fúË=`5#R±\12\ 1¦\ 1\87 ©Ñ¯Íðâ\ 3J\9e\1cB\19{Ã0Ê¢\8e¸\ f@W!G1\98xÿt\vè¥\88\0Vc\82lë5%ïgÊ\8cg\85\1e\19ùIJ@\\13åܨìþ\80¹ÙC\r\1d¢7¨
+w>A\80(¼£Ö\ 29\1dÇr|ä\ e99?\13.\15\90Þ¤O:\9chkÅ|¦÷zÈ\14\ 4\88Øú\1dþ\8a3ÍL\1eUa\16!Èû]NÎITáy\v\19\85]T3ü\819Éxw|ÖÕï"ajR\ 4MÅOÑ\94»D¾\8aè \808E¬\eôisYÝ+áiEö\16¤éRíÀKÏc\13¹2³YÄ\80JSA¢\14ºIÂ/\19¿\e\9ed+æ¦óQ\8e\97\97\ 3@5¹N\9bsÄvûL£ë~¹|ªPßG¿üÏu¹äXr[AtÞ«¨\r\94\94Ìä/Ƕå\89=0ì\1d\b°&j\18\86÷\ fø\9c ó½R\ f¤êËG2y\7fq#\0³ºªPÆ{ìÛÕ\ 2´Ü2\93AÃøþ\1d¸\94\18ÒmÍ\90Ño7!ìù¿ÛiÙ2Â\86Zóõ´>è-½\9a©Ém\9f\v®sb­\eµê\ 5\7fj\86\87\ 5Và'¥ò$\ 5\9ï\ 4½\9eî\97.á ï¬ë\85\16LðjëÀ\8b\16¶<ù!ÂO\97¦z\88·\9f»\91ú\b\9a̱;¯¤é\ 5¬¾c´4ÀîT\83T\1e;9\90fö÷\ e³Gx7²'\89wM¯\97\85ô&~¬îî)\84]'t\90\87\0È\1c\11PCÃ,-¡\Å[S;Ø\94\16I¶á§wL
+\83 \9f3Øî\1dN\a\e\1c\bè:6¯¨Ëâxõ\99L\93\a\ fr\0àµ\18\ 1¶üÞ\93\8dÏ3Ò\r{æ1\9f«¿=p\1f\v¢¡«&Ãy&E ¨ïtå-ºI\93\9b\1c3'$¹P'hùge`
\b±4qeÆÞ\99\19\13û«\92-£®R"ü­Dò\f÷©ë\eµÈ·ëkÁC*ÃèÐ×\9e\19ññ¹\95Ãgå\8b½úåëñ¥\ 6\a{\96$S\95¿i±ÓôgAts>\95 HÎ\b\19\12õ;ÀÇB\ fèë¢\11¡f\17é-\12Õ}\86\7fF)rÖêq¡é\11U\13h{/@\80\16ñ{/\11)&X>4m9\1c\13\8b}I¥O>\1d\ 2×:R#~ÈÖ\99\97ÐÄ
+\92ºÀÛ\b\14eײ\135UåýÞA\14ÓÅJ^\9fÅ\83\e\83ÿÓ   ³\ eH¦¸[¢×W&
\967-?\8a$"o>K_'(E\e½\bæse³\8dåj\14X\ 50§ùöc«¡]Jê\89aMÀè\96\1e\15:£¥²pöUGÂ`\ e\11\88\ 4Þ\19\96CmËJJÒ4×\ 3j(F¿±Õú;-\93±=\96\13\86\81V%\8dÎT\8azW3A]<ÔÆøý[¶ÌãúÃ\8a=2\ 5\87\836\93'ÞÎäñ\87\15¨\r³**&¬ë\9aÄ\81Owuá½z¯ÑæC\1dz¯Þ\9cø\aL\88ji^Ê\13¦
+\ftë÷\9ag&+M\9f@\88\ f' ÄÁ=z\0\94\ 1èð¥\9eq>¸\80\92âu·i»\86°|(\10\96N»¢¡\10¯»Ö\ 2æ ø­B\9a\v¾\9d\ e\18C_\bòk\a¨<éHì#8¨TÄ?q¢Õ\a¾\v¸\rã\1f\16ú\ 5\8bë\ 4ßW(«.Õ\10hLä{\99ÏÌ\ 2Þxv\vj)\8e \0\84ô\9c\9an\(\96c>¼Fö8驽¡à7\81q\16¾mêþnÏ\81½r\ 4ß½\80\98\12Úã¸\97ÝÈ6x{\97×\89\88ùÜ3Èa$?Ï\14s&áïp\9e®\ 3¸Õ@\10A>ô\r·a,Úå\8aM)2£Èw[ZÀ\15©\ e\84ýN2"\8eNmÓ\95жy=vN\bBåË\ e\1e¹î\5ÅH<\b5߬å5}ùÏw¶{å·R\1a\8bM'\10\90éø_ûA\ 4\ 6ÚT¹\9d«@\14ª\96æS0*»¹\9a3'äÝÉÎ<Â\a\9fì]\89\14ê\ 2Õcvk\7f\15a§3(Û\96ô©GȪkªÖ¹>|\82\81K\9d\93\16ú\95W×$cÈ\8e°éÿ\90\16þ¡tá^K1'(Gòù¥A%:|äë
\8eú¥Ñ\7f\18Ùiý\16\12»\85È÷÷\8aõ òÕ¾\19\90\92õ@&°\85ËÒ\1dïØ@6fx\7f\ 3±Bè«âè\r}P\98ºxoà\92,¡\f} ¶È-î5\89Äà\93!\r×¸ÊÆñ3¯\81÷ôÜYìø¦\8dJÙÀÏk¶½GÅÁ#Þ;î`Æ5÷#¥\1c\941ßló5]\a\ f\94\1d×O¼]7\86,íe×\10\8a\9cØ+=òFó$ºuDUzß<\13Èòì§8!\8d4\92\ 2)o\18\95l\ 6Þ\9cIϦq^yÀk\9bîÎ=ày£â²ÜkÆVå\f\88ó\8cá\19u%Ä$¶¨\ eº\9c7\851 Inè\9bJmÕj% \9d7\ 1\8b\14·\15\1e_\17\14e\8e\14\8aó½2\96¬krCmy\9dòðܶ8\8e¸\9auMU\95\1fÐ\17\11sôõª»|±g>±\ f¸\82c#UX\974Òñ¾ÌIC4#¾XX\0î#\bchñÿ¦\95°k\92ÁA\19ó¶=ÀYóüÞA\8f\11Ã&c0p\80\93\94\96ë\808Ð]Pµbëe6¬ziF¾ùÄq¶çÄí\95`3Tb\a\17\19ùÁÌiñ\83¾\13n\81µ\1e2¦h\90È/\9aþë\8aõ±\98\7f\eñ\r\1dª¿\1dµËêcï\8cNzãµãja~]¦ Y\95¼|ñ\ú¥"\1e\14#ʲ]!\9a-Ä<¶\0ºk4\15&¶¾Vô\8a*L\1d+WûªR\ 5\9f\95×V\99O\ 6e/\ 1±4'?Áô\943¡XcÁ\eUîx\93µõ³<öfe\0Äk\ 3\02@\8a~.n/ĨMq\8a:x0©ÑîxµZëÁ¹¶DÝ\ f¸ç    f\8a[\1d¤½\ 6 ÷\8aãÝÀaÊg,\10ùs\1d\ 5¯\8f¾"ãð\ 4\ fÚH\93}V¦NTÝLÑÃvîù\98nGËÔñu\83\9a´yáULܽ¸"ß?\97\ªP\8a\93\1c%~C9ú\bp\8eä\16Jr
+\83ò£ñ\9c\80f}(\10˺²R¬×¹8-\95\8foü|\ 54ò(rÉãY©ëQ-îb/\9d ,Ú¤hsl5\1càb\99¹ÁÑ;ÞH-\81`£O\1cå     ô¼\82³Iþ\13÷\1aW~ÌC>0CM\8e$\ 5\87
+EvèÌÒ\82Ç\96j·Ô¯oàâ\\83èÊ\ 5d\0\1dÂ\11R2J±\1dÑ{Lª¹öò^BF\ 2å2íXðYTysÙòxÆÌJuSå(Tg80vI\9cUb\8eü\97­\12Y_Ø+ôÓ\94xxCOÔ\0\85õ\85\13°$N÷¢\99>i\8aäõÙÑRô\ 2Ý\917\9dÑ\0Ò®²\1dVx\16\8b¼%ö·L¥¥µmKB'\9b¦KøÚ\13Ù!\18\9c\19\1fIî»ï\92Jâ÷¥\rá%Òê×\ 6\88ÍAÒ_à\ 45:\88±àÒ\17¸\88\b[B'j\97\ 3\977êÆvZ;&ÅÞÀ¤\0úÜp&%TK\8f\13½Eb\ 1r Ù:1\97ä\91é§OÝÚ¬ñ;NØ,Õ\9e¸Æ«M;T\86L\1c\19_4æ \9dÀµ\ 5ä\96\91\9e¦`àñüóñâ6\89\97v=Çê;`×lß»Qk¤,\92·\ 4\11o   ÜýÁ8/õ^\8d;av\füÍ¡Xh¸I=õýûA5\14\99U]©»h
+êïÜs\ 1ºÙ\19\10!ÝÊ\93|m\91àÇ    S3>\8aô¾=NtÞ´\1a1^"2­º´5HÂü\æ\83eõõ3At IÔâ\ f\85\88_[xKÐOj®Øc\ 2K\9f\11G/\aº\f~êðØ'ú\19 \ 1û\8f¹\86£Ô\9b\9c\8bõÁlª\v\11I\8f\8ez½¿Yãw¾I\r@C(\98Z\96\v'1=>¾ \86]áD³h\8f°\93ïkEÆþLÈæD£K%úê±\97Í\9f\9e\95aZíE»xi¡.õk\14Û P\ 4m̾¾ºf\98\82K¤m\ 2â\8c\1eó\vU\84Þ\96»-wÐn-\10\8bFW7\e£¦³\¡G.\12úu¥E£ì\15l*þ\b3?O\1f    ?S%UGá¹\1e\ 5¤Ü!¨î§cT\80õ^£Þ'\9fwè¨
+"ûÏ\b\17\99\13\91A\7fÏòñch7.\ eà\1e\89ãDÿþ^!¹ázâ`?3«ÇBN'Íí\9dãÚH\89\ 3r·3´\ 1\9b¶ã\81¼³)\ f\9aÔý\8a_òë¤\aRäH©Á?ì\19~E@®£½Ó#µ_ú\89_Ó'\8e%QÂ\84°K»¤$\fÚ,\8fí        x^\e¯\1dÉ\91ѼlJ2\9c\ 5\19`\16\ e\19\83\19Ð\19\95OìóZM²\ 6zV\b9+Eõ©í\ 6[ã«\ 5\9dy¶_éÂ\96ðó\80\81¿6i¶óf:jF\19f;"ñ²\81Ò Ö\14}EÔ\96ÇPM±\e\9cÝ\97\1f\11\15/âß\82zç×\ 5Y|ßGö\82³\87\85ôͬ       *XÁØÀ\ 4\9bx.\1f\1cë=a
+\ eÝ\80H\9bø\ 1Õ\ 4Dµì\1d\9e9\ 2\18î¶½©!E ¯§×È3Î\96Ãç\ f¯í\ f"e?\8f¹\ 3\1f\93\16ÀÙè­ûm±\84z®ÙÔ:eÝìéB@~_\v\ 5,bç\91\80b;Y¼©\9dÛæ\85ê\80u\81\88Ô]\98ñ_\9bDóÒ\10¸/v»Çë\84+ôòº¯Ó^Ä¡\97\9cg|\1eÁ\8c¶_8\9cÜ̧vf?\1dp\a%Nõ#å\18F0u©¬\18\94D\ 5ü[%JK3°^&\ 3\8a~[6ÖÒoÓ>²Íz\1aóËmÄNNÆûî4ÞÓÜ=Rá\87^ÿõÛ¿¿ýãÛ\7f¿\1d\1f¿}ûù¯ÿì\1f¿ý\8f\7fÿëo?ÿòýüøó\7føí/\7fÿÓ\a\7fþ/À\06\ 4¤ð\rendstream\rendobj\r1046 0 obj\r<</CS/DeviceRGB/I false/K false/S/Transparency>>\rendobj\r1080 0 obj\r<</BitsPerComponent 8/ColorSpace 1081 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 84/Length 1696/Width 105>>stream\r
+8;Z]"9pVk/&;>,B@Y,2M_%DUA&[`ErjC2jcIH(RNPcV$3?I)e7OdVBtN@uJ@FREj=
+HeQsJ09*PgZZF@ElZiA0C(&7l]oK8uk&&=a^A^mlA2lYM\.9fja8Ur`(p#[H6^d#E
+Fr^OI$A]IBm.'>d%ZP*#hVI;F&*+@mX4imPrRNM$Y)c;":(gG4U`Rt?qfbN)EGoYl
+TLn4;nC>'3)b6*QD/:A*=HL'\NB%p34E;PeMA0I#j6ZIg*pRZ"B([N'?.dtG,,9[W
+DeeW=qmPDW%SB*)NUY/V+1!j?]!)<>']8C#S"D_WN,Crfe[+su,e?H_:mGtZ$KJl%
+fCYSRL2G4aDXF#E`fQqgokNJt44_^?%_a(/6$<&sEml!76I\*8ApS[HcoK)qI,:h8
+HoUBeRQM`#mHu@Bf_IL"?cCU[S=X5j-^W,tc8?nG*kp(Am['?>i'_!R:N0H<+W=BL
+?8\&[d2OmJMVipuD\grr*9<=,.sb+Rl`sBn=)DML,=kMLR)UnVEEc_]QY(1em`Li'
+11kO%H_lk2>3&Zg^?RL+p?X2':6+bQ"Aso6R?"7e\u4ArQEacl$PW4"R+dM_51H;c
+-'Ck?WfYQ;cu:&3$[8=f-7"h",2Bi_@Q<OPVo_YM6:=`r;2TS$=D4XXNM)1S:Qc,[
+Y0D#2\)f[`;J^FEU)(,M#IRq%83D_&*!M\KR;CP3N?iRuCF]>jdHhr%dQ'5NKq9HG
+*Jc&ipde@3?:C2tXboLD/h6Z!dIN-mk'ROW8h>n@VInMEWk6dTXQh.];KY/7Xn`aG
+lQ"&mRh>HV;+3"!#ER?\XF8?&]sHkLT+]Z`6>8?=nu1'EeQ)09<EH$aYZKA[QQ4n(
+KW<31OkE^9ALe0hQ_Y[7<L;Jfrbiu.@o9)oN2WeY@ndffC:k+(^QtfX-@+-/N5lM$
+^q[A5>-C>:U_:Aa4CU17cQ.Q'PEUYpj0i%G:*lJL@a`sD@H"UT\@Y?sT+:2/`92qP
+"f=!fT#Tjb6m+7CKJSK&cBl(Ejf5@"`B.!NYhIT#8S_`NVS79*DiF4a['g4u/*4Cn
+`&gg^^XMO=K>++9FR;/>*^]bt:[$Jp[GdZiCIB))mA,lsBm039,rI"'qf,H4*l$Y_
+d9!s8@[=QR>DAs5G%Qp(m/#!>H`$S/AFJ3pZkg9fLmm_r#,\o-+bH']-PQ*J[-s/"
+`%[jOgTDPml[o0'#YCdX[$h?5m[R4&-Li\geQd/eKmhX[:Jf/1il6358TV7g+5]0J
+:6l@5K'H:X&XK:lUFTLkm&Bhjq`9QUY$e!CCR)fL]#!-)$M[PnEe&u:%\fNgE9\l:
+mKt8"AuIS_ZKEOa?Ki<i*K%KIkrM4=(C7/M:a)XBi75#KJU_51!`<2NVt-Bh2N(>k
+ocp+F!oDC>7rWXS%%64OL*sRFNB-H=n%sEi?=+r<E""Xc6apoT%90QF&7QIlmg@V)
+G^%%;+he=o#37DK[3XJ!Of1c&bB[FS\)IJEMKNsta.u'\1G+;nA)^cP$ba!#2(5-3
+AS3$H7?4FBHE'Kp!%4@Z*)!G[SgC[4?Y!^V+g?Hf1R7`LLZ\i`"0=-*<RsoODmM"+
+n42Ag86CJFVsH\u`1-\Co+#st]#)?"4knP3fi(M^o$okFb.L)[B.Pq^Gd#;'H'RcD
+?[51/.'6'#0lKg@V`jE]:OCgET(]Oh4mf`GT)eq?:e]R~>\rendstream\rendobj\r1081 0 obj\r[/Indexed/DeviceRGB 255 1082 0 R]\rendobj\r1082 0 obj\r<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream\r
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
+VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
+PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>\rendstream\rendobj\r1058 0 obj\r<</BBox[179.0 550.424 368.0 361.424]/Group 1083 0 R/Length 195/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 1049 0 R>>>>/Subtype/Form>>stream\r
+0 0 0 rg
+/GS0 gs
+q 1 0 0 1 356 361.4236 cm
+0 0 m
+-165 0 l
+-171.6 0 -177 5.4 -177 12 c
+-177 177 l
+-177 183.6 -171.6 189 -165 189 c
+0 189 l
+6.6 189 12 183.6 12 177 c
+12 12 l
+12 5.4 6.6 0 0 0 c
+f
+Q
+\rendstream\rendobj\r1059 0 obj\r<</BBox[162.0 696.0 809.0 544.0]/Group 1084 0 R/Length 43/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ColorSpace<</CS0 1048 0 R>>/ExtGState<</GS0 1085 0 R>>/ProcSet[/PDF/ImageC/ImageI]/XObject<</Im0 1086 0 R>>>>/Subtype/Form>>stream\r
+q
+/GS0 gs
+647 0 0 152 162 544 cm
+/Im0 Do
+Q
+\rendstream\rendobj\r1060 0 obj\r<</BBox[605.5 549.5 794.5 360.5]/Group 1087 0 R/Length 194/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 1049 0 R>>>>/Subtype/Form>>stream\r
+0 0 0 rg
+/GS0 gs
+q 1 0 0 1 782.5 360.5 cm
+0 0 m
+-165 0 l
+-171.6 0 -177 5.4 -177 12 c
+-177 177 l
+-177 183.6 -171.6 189 -165 189 c
+0 189 l
+6.6 189 12 183.6 12 177 c
+12 12 l
+12 5.4 6.6 0 0 0 c
+f
+Q
+\rendstream\rendobj\r1061 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 249/Intent/RelativeColorimetric/Length 1683/Name/X/SMask 1088 0 R/Subtype/Image/Type/XObject/Width 1248>>stream\r
+H\89ìÔÁ\91\10A\10Ä@ðßi°¡ö\ 2M\13\99&è¡_¿\0\0\0\0\0\0\0ø§~\ 3üU¿ègÕ5\81÷Ô_ú\19uEàMõ\9b¾«\v\ 2ïªÿôQ\9d\ fxY}¨OêxÀÛêG}P§\ 3^W_jW\97\ 3^W_jV\87\ 3ÞW\7fjUw\ 3ÞW\7fjTg\ 3.¨Oµ©«\ 1\17Ô§ÚÔÕ\80\vêSmêjÀ\ 5õ©&u4à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«\16u3à\86úU\8bº\19pCýªEÝ\f¸¡~Õ¢n\ 6ÜP¿jQ7\ 3n¨_µ¨\9b\ 17Ô¯ZÔÍ\80\eêW-êfÀ\rõ«&u4à\82úT\9bº\1apA}ªM]\r¸ >Õ¦®\ 6\P\9fjTg\ 3ÞW\7fjUw\ 3ÞW\7fjV\87\ 3^W_jW\97\ 3^W_ê\83:\1dð¶úQ\9fÔñ\80\97Õ\87ú¨Î\a¼«þÓwuAàMõ\9b~F]\11xOý¥\9f\ 4ÞP¿\b\0\0\0\0\0\0\0\80ÿÆ\1f\ 1\ 6\0¤\93×Â\rendstream\rendobj\r1062 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 211/Intent/RelativeColorimetric/Length 611/Name/X/SMask 1089 0 R/Subtype/Image/Type/XObject/Width 239>>stream\r
+H\89ìÒA\92"1\fDÑæþ\97\9eu3\ 1]²e§¤ü¹%¨¯GñóÃØ¥½Þw½z%ø_õÞ\ 1÷\8b\1fª7ò\8aæwìɸ$û\17V\19Î/?\89\1eñ>
+g§%Ñ@8·­hÆÂ\99mÉO\1c,çÅ%?q<Ý\9f\eÒ&Å\ 5ɵ´\e7%îÅ\15$\95m¸pkp÷ãáb¢WÐ\86\v\17nÂàÂõå
+\92p¯µ\ 5I¸×Ú\8b\81\9bI\11÷Ãw;qw\1f<\94\e6uæfb\95\/í³t®ÖìåVçÖÕ\ 6OSh͸^ÚâÜÊÚØqùOlÏ-­\r]\97þÀÒZ³\97«àæjáîÅkkw¹ï\1fçA?\ 4oj\7få³e\7fä$Ü×ê÷Ö&çÞ\9d\177[kÆU{¾/[\v·Ò¼¸éZ3®\1aô}^Üt-ÜBóâæk͸jÑ×Á\1dÌÍ×­3/î\ 1-Ü2\83;\98{B\v·Ê¼¸G´p\8bÌ\8b{F\v·Ä\ ei«zá\ eæ\1eÓÂÕï\9c¶¤×\8b{RëÆ-ç=«\85«Ýan5¯\19÷}nÞW2Y\8dy4¼£¹\89`5äá̸xgsñâ\9dĵó¦\80Õ\86è̸¯M±úø¥\99qí¼Ë`õÝ«Ã;\9a»èU_½>3¯\19wÍ«>zcf^¸\93¹n^¸p½¹n^õÑë\83\vw\8c\17.Ü1\¼³¹K^õÍ;3ãâ\9dÍ\8d\83Õ÷î\ eïhnЫ¾v\7fxGsC^õ­\19Ã;\9a\eðª/M\19¯w4\17ïlîc¯úΤñzGsݼf\7¯\19×ÍkÆuóÂ\9dì5ãòo\1eí\85\v\17nÏ=æÎðÂ\85\v·çàÂ\85Ûsp\as½´páÂí¹çÚ\11\83¹\11-Ünóâ\86´í½A­\e··7¬mÍ\8dk;{W´}½kÚ®àemGð\ e\9bxÛÚ\87\9dIm¼\7f\ 2\f\0\90Î\81\8c\rendstream\rendobj\r1063 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 283/Intent/RelativeColorimetric/Length 1158/Name/X/SMask 1090 0 R/Subtype/Image/Type/XObject/Width 320>>stream\r
+H\89ìÖÑR\e1\10\ 5Qöÿ\7f:\95\ 2\13\ 3\ eÞU\8ffFV÷;Ñ\9dS\9b\90·73333û¥ã_ÕS\16ëxTõ¨Uz\88×\95°Ý¸_ôú\8cü¨áº'|-6~ÔpÞs½ê\85·ZÎ;Å×@°ëº³~U\e[\8f»ÂW±±õ¸\8b\ 3Ó7vÞ6¶1uäÅi%\80W7&\8el<\r\8cL[Ùw\19\1a\99µr`Yï_oÉ+û.[båȰ|¿¾+û.£#sf¶\1d\86G6öË\ 6ìë×wÙ\1a+û.ã#õc#õc#õc#3f¶\1d\160R?6R?6R?6R?6R?6R?6Òÿÿ±\91ú-°²ï2<R?6R?6R?62geßet¤~l¤~ldcÀ\94atä\7ffF\1f±\91ß\9cCVð\vøgfÞ)+\0R¿\99·¬à\aÿ\99\99{Ì«ú\1d'\7f8\7f\e}1eämæüs\ 6\87åÖØo        À\ 1¿ãì\8f¥o\vð\98?2Ïïò6®1\7fcæ=Ùï¥\8c̼'û½\84\8d©\ae¿\9722ó äç26¦^\94ûZÎÈÌ\93R\1fK\1a\99zSæ[I#¯\969-\bdîÈÌ\9b2ßJ[\99xTâSy+\13\8fJ|*qfÚQ\99o\91\85Ü\94ù\16i\82ZÄM\99o±âÕ"\8eJ|
+\16\8f\16pTâS¸p4~Tæ[¸`²ÿÜtåXúVn\18éÙMWO&oU4¸÷äQ\97¯\1e\7fª¨ÑÁAE­)±C\8bÃ\8a\19³1à\111eg¿§¿jÎþ Ûú\9dø]óôç7\a\84é\aÓ\8fUæ÷"\80ú±ôcÕù      ¨ß¡\1fM?V\9dßk\0ê\aÓ\8fUç÷\1a\80ú±ôcéÇ*ô{   @ýXú±*ý^\ 1P?\96~,ýX¥~/\0¨\1f«Öo}@ýXú±\8aý\96\aÔ\8f¥\1f«ÚoqÀj=ýpÕ\ 4¨j¼7ýpÕ\ 6¤j»¿U\e\80ªéÞ«V\18¯Zî½j\85ñªå>ªf\18­ÚíVµÃhÕn\9fUC\fVÍöY5ÄXÕjwUS\fU\8dvW5ÅPÕh÷U[\fTMö¥j\8c\81ªÉ¾V­q¹j°oUs\®\1aì{Õ\1e\17«æúQ5ÈŪ¹~V-r©j¬\aU\93\1aëQÕ&\17j\ 2´ª_\a»\a[\12\ 5Xmð¾ÍI9\9e×KïnÑôËcjÇ÷¹iîÝA5Ô»­\9axu\-ùÖ\ 1lÊ÷¾lÎÉ\91õå[\ 3°1ß1ôCÉuö[à\ 3lÍ·\0`o¾ö\7f\83\9bóµÿ\0Wðk\fØ\9e¯ù\aØ\1dïhþ\ 1öe»ß\18óçL¨?^ïÔC©Ç\92\8f¥\1eJ>\96|,ùPò±äcé\87\92\8f%\1fK?\96~(ùXú±ôcé\87\8açÓO¾óéÇÒ\ f\15ϧ\9f~çÓ\8f¥\1fj\ 2\9f\9dN?\96~(ùXò±äcé\87R\8f%\1fK>\94|,ùXò¡äcÉÇ\92\ f%\1fK>\96|(ùXò±äCÉÇ\92\8f%\1fJ>\96|(ùXò¡äcé\87\92\8f%\1fJ>\96|(??\96|(??\96|(??\96|(??\96|,ýP\98O?ùÆóócéÇÒ\ fÅùôÓo<ýXò±ôcéÇÒ\ fÅùôÓo<ýXú±ôc\ 5øm\r¨\1fK?\98~,ýXú±ô\83éÇâ~{\ 3êÇÒ\8f¥\1f+Àok@ýXú±"üv\ 6Ô\8f\15â·1 ~¬\18¿}\ 1õc\ 5ùí
+\18Å·+`\9cß\96\80\81|;\ 2\86òm\b\18ì·\e`4ß^\82\13ô6"\9c¥·\83á\»¹mw°\99\99\99Y\8fþ\b0\0òmÍ4\rendstream\rendobj\r1064 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 281/Intent/RelativeColorimetric/Length 952/Name/X/SMask 1091 0 R/Subtype/Image/Type/XObject/Width 245>>stream\r
+H\89ìÕYr\e1\10\ 3Pëþ\97N\95?R\89%Y$\eè\85\0\ e\80ÁãP£¯/Çq\1cÇq\1cÇAåñ_ª×$äñ&Õ»\88yG¾Øý+ùNõ'ò\85ì\15òeêEò\ eºýQ-\9bW÷÷¿!\eäµù\81ÓÊÊ\9eya|า²iþ¼=t`IA£a\87G̶ùÓZ\\13/h4²\8b\96\ 3ô¯K\91\9c\98\7f]\8aìb\ 5\8d\86\96±bt\r:_}\86~¿Óè¦èCóÛ\9dØ6R\8c6úb4úCf´ÑF\e=\ 5\9dUG\8aÑEèDn`¥$\1aÜ\97\86\8d\8c\94DgöQÒ\0\9d\8d4º©\19>r\ 2ZÑl4b£¢y»0\ 3\19Ý\88~Ñ)HöÈ     høÆ\ 1æjt\820:qeä}ht!\1f\18\9e\b\81á\89K#\8d¶¹ zÓì\17\r¨dóÂ\ 3UÑèJ6/<P\15\rï$óÂû\18h2/:oc£"\1a^\88Í®ù\ 64ÇL@#Ok\ 4:<'hÆßîO\8d\90A    f\1c\1a¸i
+\1a;êØ\9c\88Ư:E3\8a\11Ó\98\8b~ÕÉ\1aÖ\ 6\rÙŹ\83¼f\8c\99r\aw\9a\93YëÛhÅ¡\9fôɪõm¬Þ\18údÕÆ8Vo\b}2jc\1d©6\86>\1aµ±\8eÓzR\9d\87æ´\ 6ÑG£Ö÷QJ£è³QËû\18\9d§íÑUË\ 3\19\9daôÙ¨å\85\84Êóö$4¾1T\9f\82Æ7BЧ³V&â\e\e¡ßlD÷\ 1\9e@G£û \8fÀ\99_\8eD÷µC¿X\89m\83¡\1fD4¶m\ 6\1aZ\86E?Xhh\19\1aý  ¡e\ftxàóP`\15\a\8d\vpÇ<4®i\f\1a×4\a\8dk\9a\81\86ýýí\98ëѨ\9eIhP¶ÌFÏÍ\9eÙè±Ù4ß¡VDo\9b/@ï\9b\8d\1e\99\ 3ó|µ"úȬ\89\9e­>4\8fF\9f\9a\8d\1e\96códµ":`\1e\8b\8e\98Ǫ\15Ñ1óLuÔlô\90\84Í\ 3Õ\0³&z\9a\1ab\1e\86Æ\985Ñ£Ô(ó$4Ì<H\r4ÏQ+¢¡æ!j°Y\13=A\r7\ fP\13ÌíÕ\14³&º·\9adn­¦\99\15ÑDs[5ÕÜTM6÷T+¢éæ\86ê\ 4s;t\86¹\9b:Çlty\92Ì­ÔiæFè<s\1ft¢¹\r:ÓÜF­\88Î5÷@'\9b5Ñ-Ô\8aèt³ÑE1ZEm´\bºÀ¬\89.W\emôÅj£UÔF\e}±Úh£/V\e­¢\96Dû~˨\8dVQ\emµÑ\97©\8d¶ÚèËÔ¥hMµ$ºJ-\89ÖT\emµÑV\e=S-\89ÖTK¢ý)\93Akª%ѵj£\8d¾Xm´ÕF\e=_m´ÑF_\85®3k¢ËÔ\95\8d¾Ø,\89.2\em´ÑF\e=Ñl´\8a¹R­\88.4\97¡+ÍEêZr\rºÚ\ ®\ 6\7fG\90ü\95ª®¦þ\13Aòw\ 4É\7f#Hþ\11=ñsôÄÏQó¾\89\14Öq\1cÇq\1cçeþ\b0\0\91¬\852\rendstream\rendobj\r1065 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 277/Intent/RelativeColorimetric/Length 990/Name/X/SMask 1092 0 R/Subtype/Image/Type/XObject/Width 245>>stream\r
+H\89ì×árÂ0\f\ 3`xÿ\97ÞvÛØ1\1a\9a:²eÇÒ\7f\14}\17®\94ÛMQ\14EQ\14EQ\14EQ¼r\7f
+{\8d\87a¯rÍ1yoöؼ¯ú\9dy[ö  zK÷¹95Û¶o
+\9dTm\9d8gΩ6O,\8c6o\9c5gT[7Î\9béè\97\8deÐÀ\91\17Ì\5rc\154t¤ÐyÑÐ\91\97ÌBÇ\ 6º²\b\1a»²%ºÈ\83Lh¡\85ö@ûã\10+Á¯dî¶°\95-ÑØWy¯\b\8dXY\ 1\8d¿\1a¡\93¢ñßÇ
+j8z¶ÑÑDØX\ 1=9\92\10üÍ\14@\93®Ú\8dÃ\1a¹\8d\1aÝGGSÔ^\16ÞÈ]Ôè¾ýÐøB\8f GNôñÕð\8d\15Ð\13#Ñ}  Ôð\89\15Ðç#Ñ}\19Ôð\89\15кjÈB¡¥n\8e¦«ñ\ 3\v¨\85\86\f\9cA\93Õ\ eûò£IßïìW\8doä«\1dÖm\80Þñªih¦Úc\\84z©«$zµÐcÜ$Úª^¯tÙæ\89F´2Ñ\165¤¶\18\1aSLÝæóoæ¼z[ôÛr*\1aþû:Yî\82vR_D\8fÛáË2¡Gõdô\95îëæQ½\ fÚåª-èã~6úByG´É|Ü\8f\1dæ©6¢\8fú¡»l\13[¢çêMàA=p\96¯ÚÂ\1dµãV­\8ctE¿¶ÃFy«\rØQ9lÓêJGs^ôÙ\11W¡oªQ\93 ;[¢ß\1dr¹k\\fÙ\13¢¾\5îEÌA¢Çç\18ª\ 6­\801hôè KÕqéú\96(µ¥è¸sy\8a\vÚþ_p¦ry\89\97Úü²<Q¸¸Ã\11m}Y>ï[\9c\11«6Öü¯[\á\8cþ\7f ¹æ©lmC´Ú\òܵ° \b\9d\197-\f\88S[\9f?\83\1eûñ¡hë\ 3è°Æ~:I½Rq§ ×&£ÐÆ\939hãb@Ã\1az}3¥\80\8aþ<~ñã¸?>\91ê¥p.\9a¬&]4\19müXmµ)\0s=µÐMÔ\18s1µÐMÔ0s%uG4Ð\G\rEWQwDcÍEÔht\ 55Ü\AÝ\11í`ίvA'Wû\98{¢S«½Ì\99Õ~æ¼jOsOtRµ¯9§ÚÛ\9cQíoÎ\87\ e0çS\87 \93©c̹ÔQæLè0s"u 9\8f:\14\9dD\1dkN¢\16º\89\9cAM@óÕ\f4]MA\93Õ\1c3Y-t\17µÐMÔ<³ÐB\v½\97¹'\9a¦\16º      \9aj\16Zh¡÷2\vÝÅ,´Ð\e\9b)j6¹¥Yh¡76\vÝÅ,´Ð\e\9b\85\96Yè­ÌBw1Ç¢ÙØ\9f\84\9a[¢ÙØß\b-³Ð;\99#Ñlê#\81æ\96h6õ/\1dÑ\1dÍBË,ôVè\8eæ\96è@³ÐÌD\9a\85f¦#:ÔÜ\12ÍÆþ$Ô,4/±f¡iéh\16º\v:Ø,4-B7Q\87\9b3¨      h¾\9a\81¦«\85\96Zh¡\85.\89îùKÝó¥\8c f\8b¿ÒÑ|\8bf³µ\8ft4ß\ 2Ùlès\1a\92¿ÒOü\9dVØ¿4a¾¦\87ò0=\94\8a¢(\8a¢(\8a¢(Mó!À\0D³nT\rendstream\rendobj\r1066 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 305/Intent/RelativeColorimetric/Length 1598/Name/X/SMask 1093 0 R/Subtype/Image/Type/XObject/Width 343>>stream\r
+H\89ìÖÑ\92Ü6\fDQëÿ\7f:U[Þ\8d´\9e\11A4\e\r\8eú>g¨Æ\89ãÊ\9f?Î9ç\9csÎ9ç\9csÎ9ç\9c»t\R¯       Ô}ëñ2õªAÝǾFm9õT÷±oUûM=Õ}ì\8dj·©çºo½eí6ö§îS\aª]æþ^Óuçw\ 1VýàÐHýÌS;\f\ eªîÇ*]\1cUmĺÃâýXÃ\8b\85\93ã\e»¸n±x\8b\91\97¶X¼ÅÈs\13\83u\93wØxͬ\94ÌJɬ\94ÌJɬ\94ÌJi\vVÿ\7f«|¥lã%³Rú4VÙÄk[¨NÌ\14n¼dVJf¥´\akx¦rã%³RÚ\835:SºñÒ\1e¬Á\99Ú\8dç6a\8dí\14o<gVN{°\86fª7\9eÛ\845²S=ñ\92Y)mÂjWÙLõÄk{°\ 6\17\18Ö\ 6#ÏíÁú\91\7f\\83\8fhg2¿\9e\bf­¹í\ 3Yï&W\1d·\e+ôǵî:èß½¢<kéu»±f]\8b¯{8+ë¼íXs\7fo\95\9f÷\81¬/6\9buX\82µþ¼ù\8dê\96²ú/×\9f¦]\15ç\99U2\92õ] IWÉ\81s\13\96\95sáG²\1eé\7fºl#á\9bh«Y     7~&ë1õ\ f\9bõ«\19¨\88*áHÁ'ñ& Ì\1a¯;«à\93+\9a\98\1dc]{dý\17\17\15\9e\1dT5ëWáÝ
+VÁ'\17eVNÑÝ\ 2VÁ'\97eVJÑáõ7F¿¸/ë¡ø{.̺¯«\805®º/ë\ 1³ÎÝ?aúTÖy\858hðAE³GL\1d\98\91À¿Ú!ÈñþÀ\9c\ 5üÙ\16e   \87ç%5àïö(qF輬\aúÝ.%î\b\\97\15\81?Ü¥Ì!ãë²&ð\87»\949dx\É\ f_¿Ð¥Ô%+uà1¥\ÑR\97\fnKÿ\16ÿt\97R\97Üß\96ÿ1üé6¥.¹¿-ÿkøÓ}J\9dr{[þçø·Û\94;åî4à÷ð·Û\94ºäî4ä÷è·\e\95:åæ4ä\ 1ôÛ\8dÊ1¼?\rz\0üv£r\fïOÃ^\0?Þ§$ûËÀ\17°\8fw*\vñú2ô       èã\9dJC¼<\r~\ 1øv¯Ò\12¯N\83\9f\0¾Ý«¼Ä¿§)\9eШ\r\ 3(þ¹\r\7f\r\8dÚ8Àâ÷mø\vó\8f\ 2\ 1\16¿oÃ_\98\7fEA\16      °øuÛ\82\9fÑ \ 5\824ÎÇá/$\ 6\ 2A\1açãð\17\12Ï\88Ð\ 2A\1c§ãð\17æ\9f\11\91E\828þ¿\ e\7f!±F\866\ eóø9\ f~ 3FÈ6\f\ 3ù>\ f~ ³E¨6\f\ 3ù>\ f~ 3EÉ6\f\13ù{\1eü@â\r©Ú0Läï}ð\ 3\897¤jã0\92¯ûÐß§fhÕ\86a&_\a\82?Ï­\10³\8dÂL¾\ e\ 4\7f\9eZ!V\e\87¡\1cKXs¿j\1d\86r¬`Íýªy\98
\9a[ 6\v\ 4©\1c\vXs¿j\1fÄ\82³¦~´A\10\vÚç²J]S\1fW\83\ 5[mENÍ\15Mí4\99\9a+\9c\1aj*5V<µÔLj«\99ÔV\13©©fR[ÅSKÍ¥Ö
\86\9a\15Mí4\9bÚ+\96Zi>µX(5Ò|j±Hj£Lj³@j¢Lj³qj¡\jµaj dj¶Aj\9elj·Aj\9etj¸ÛÔ8ùÔr·©q\80Ôt7©i ÔxïSË@©ñÞ¦\86yÕÄ2-ÞûÈB\93Íï«\17\8bTa\15.³±T+\\11X¤äÊ2ª\99ªÌ\86¥gÖ8ÍU¦6
+\18Zá4Y\19Û h)\9fi²2¶AØV¶Òtup·¡c¹HóÕÉÝ\85¯e\1aÍW'w\e¾\97h\94¨\90î¦\15{yF\89êènZ3\98E\94¨\8eî¦E\8bID\99êìnZ5\99C\94©Îî}ë&S\88\12\95Ñݵn3Å(Q\19ÝM+G\13\882\95Ù½>?G\11xX[    áòÃß¼¸èõ\ 5mhzY½ä¹õm©z,}\8cÑ\96ª\8dþk\7fÝ\9eªGoÔbÖ\95»\17¾EhOÔöY\95Q\9dªY­\8afVJV¥dVFeªf5+\9cY)\99\95\91U)\99\95\92Y)\99\95Q\9dªYÍ\8afVJfeT¨jV³\82\99\95Q¥ªYÍ\8aeVFV¥dVJVedUJV¥dUFV¥dUJVedUJV¥dUFV¥dUFV¥dUJVedUJVedUJVedUJVedUJVedUJVedUJVedUJVedUJfedUJVedUJf¥dUFV¥dVJV¥dVJV¥dVF,U³\9au}V¥dVJf¥dVJf¥dVF,U³\9au}f¥dVJf¥dVF4U³Úuyf¥dVJfådVNvådVNf¥Äbµ«Y  ±X\1fîjVJ4Ög»\9a\95\12\8fõÑ®f¥Dd}°+SõÁ®\Ö§º\92U\9fêJg}¢+\1fõi°5¢\9f\80[.å\9csÎ9ç\9csÎ9ç\9csniÿ    0\0\8cÚ¾\1a\rendstream\rendobj\r1067 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 302/Intent/RelativeColorimetric/Length 1647/Name/X/SMask 1094 0 R/Subtype/Image/Type/XObject/Width 397>>stream\r
+H\89ì\94Ar\eI\10\ 3íÿ\7fz÷ ï\92´FÓU\r\14Ð$òÌé(d\86ôëW\b!\84\10B\b!\84\10BPñû\ fêC>\9bßß ¾é#ù.Äé9Î\1cq]â´%ÿsê\8a\9b\16ç\fyàÐ\15÷)ÎØñÈ©+\96Z\9c\81cG¬Æ0_ò\ e\e
+-\§\94\16xNø¢¶ÄpËñ\ 3\1e¨n1\eS>ßmÀ#\87\8fi\9couÿ3g¯é\otþ\v\87¯i\9dotÿ\13½16k\ e?ÿ\85Ã×\1c~þ3Í1.k\ e?ÿ\85î\1a\939g_ÿB»\85É\9c³¯\7fáSc\98\9cÿLb\18\91\18F$\86\ fý\16&k\ e?ÿ\89Ä0"1\8cH\f#>6\86úîoI\f#\12Ã\88Ä0"1\8c8=Fw\80úìoI\f'\12Ã\88Óc4\a¨¯þ\9eÄpâô\18½\ 1ê£/H\f'N\8fÑ\1a ¾ù\8aãct\16¨O¾ä\13c8\9dÿÌé1ò§¡>ú\89ÃÏ\7f\82\13crxjT\1e´\e@>h\ah\fÅúĨ½äµ\80\1e¨\1a²ýï\14\ 3ó_W)à\9dj bh\ 5¼Q\f@\r±\80Ä(>`´\80zÊ6»5ä\ 6¶®7c3\86\81\817\8a±WÃÁ@ûxG\ 6bP\15´\8fw¤Ú¢\13\83*¡}½#µ1\8f{<,4\8f÷¤6æaPï+ñý¬+P\14¥vcxÔ`\1d\81¢*õkQï+ùý¬+Pô´\96¿by°8\ 2FOkï+ùõ\9c#\80\96¿!y°8\ 2IÇký\e\8a\b\8b#°tÌ6°¸\9cp\ 4\16¼÷!\ f\16\81{\9fñ`q\ 4\1c´ö!\ f\16GÀAk\1fòàq\ 5\1c°ö\19\r\1eWàÁZ\9fÑàq\ 5\ 1¨ôu\r;®pWرḩaO\18ì\fG6Ƶ,\94~\8c½\96ê\11ÃÖ¾ª\85êï¡·\ eÈÜeo`ÉBã\13ä©cJûl.,Hè}\85»tÒj\97Ý\8d«\12ºßá\ e\1d\16Ûa{ã\9a\83\8dOQ\87
+äVÙÞ¸¤`ëcÐ\9d\12½EöW.(Øü\1cr¦Èo\89ý\95÷
\1f\80\9c©s¼\f`å­\0õ\13\8f\ fy\ 3\98y#Àà\8dÿÞ1\a0óf?à\15Ü1Þ vþ¼\1fð\fà\96O¯Á~¿\88\1aìõ¼÷\8bh5¯Á^Ï{¿\88Vó"äõ´ç«h-/Â]O{½\8eØó\12Üñ´×ë\88=¯A\1dÏz¼\81\1aÌñ¬·;¨=/Á\1cÏz»\83Úó\1aÄõ¬§;¨5¯Á[Ïz¹\85\1a¼õ¬\97[¨5/¢Ö4\83Úò"jM3¨-¯¢ö4\82Zò*jO+l_©\96¼
\16\99\8f\89qB\8dí+Õ\8e\97Áø¢²}¥Úñ:\18aL>çßTbX\ 1\11f\8dÚp\ 1µ*:jÁ%Բبý\96PËb£ö[Cm\8b\8cZo\rµ-2j½EÔº¨¨åVQû¢¢\96[F-\8c\89Úm\19µ0"jµ\rÔÊx¨Í6P+ã¡6ÛAí\8c\85Úk\ fµ5\12j­=ÔÖH¨µ6Qk£ \96ÚEí\8d\82Zj\eµ8\ 2j¥}Ôæð¨\8dî v\aG-t\vµ<0j\9d{¨í\81QëÜD­\ f\8aZæ6j\81@Ô*÷Q\e\ 4¢V    @­\10\86Z$\ 4µD\10j\8d\18Ô\16A¨5\82Pk\84 \96\bC-\12\80Z!\10µÊ}Ô\ 6\7f¤vî¼<0SZë4n\9eÓFaPn\8dÞÙ3ÒXLú-Ð=\9c/\8cȬâU6nçêâ2ly\89½ëy®ØL{^a÷~\96+:Ó¢\17Ø\1eÀ1ÅgÜô=\80   \fS\ 3\8c«¾\ 5²\ 1/j\80qÕ·`V =\8d0/û\ 6Ô\f¬¦\11æeß\80Û\ 1õ4¸ì\e\90C\80\9aF\18\97}\ar     ÐÓ\bã²oÀN\81i\1aa\ö\rè-(O#L˾\ 1>\ 6ci\86qÛTUì÷É\b\ 2\10M\11\9f\1eà­R|í¡<<Á\9bµøw\10éÝ     Þ­ÅÉ$\85\11iaDZø\90\14\85\11iáCZ\18\91\16F$\86\ fó-\12ã\92´0"1\8cH\f\1fæ[$Æ%iaDb\18\91\18>Ì·H\8cK\12Ã\88Ä0"1|\10´H\8c+\12Ã\88ÄðAÑ"1.H\f#ÒÂ\aE\8bĸ 1\8cH\v\1f\92Â\88´0"-|H\v#ÒÂ\87¤0"-\8cH\v\1fÒÂ\88´ð!)\8cH\v#ÒÂ\87´0")|H\v#ÒÂ\88´ð!-\8cH\v\1fÒÂ\88¤ð!-|H\v#ÒÂ\87´0"-|H\v#ÒÂ\87´ð\81Ü"1*¤\85\ fiaDZø\90\16>p[$F\89´ð!-\8cH\f\1fÒÂ\88Äð\81Û"1J$\86\11\ 3·Eb\94H\f#\12Ã\88´0"1\8cH\f#\12Ã\88Äð\81Û"1J$\86\11\89aDb\18\91\18F$\86\11\89a\ 49FjTH\f#\12Ã\89Ä0"1\9cH\r#\12Ã\89Ä0"1\8càÆH\8d\1a\89aDb\18Á\8d\91\1a%\12Ã\br\8cÔ¨\90\18F°c¤F\81Äð\81Þ"5Ö\19\88\91\1a«LÄH\8dE\12Ã\87\91\16©±ÄP\8bäXa.FjÜ1Ø"9~f6Ezü\80 E\9aü\8d2C\b!\84\10B\b!\84\10ÂÛð\8f\0\ 3\0l\7fô\99\rendstream\rendobj\r1068 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 282/Intent/RelativeColorimetric/Length 800/Name/X/SMask 1095 0 R/Subtype/Image/Type/XObject/Width 189>>stream\r
+H\89ì×ËrÝ0\f\ 3Ðøÿ\7fº»&½µcñ\ 1\92\90\80=\893\1eÍXúúR\14EQ\14EÙ?×uu\13\1c¹>ÒíYϧ\9c\88\7fKçà?Ò  ô¿ÙÇó_ð³õoø\ 6þr÷»½Zo(_Á\97ê\ríKöJ½¥}\1aÞR¿hGë}í\13ðîö\ 1xwý²\1d\86\ fÔ\1f\82\99ñ\91v\1aü]½ðÂ\13âCõÂ\v\ fÅCì·ácWrá\85÷ô\vß\85\8f<e*õ\eâ\17Ç©ñÝúظð\80záÁzØøÉø¥ú±ø\ 2=5~ì¹!øô»âçë©ñ:7múmñÍúÍñ:7·à;\9f$ûâ¹õûãaúhóþx«~uj\18Þ6\1am^Ã/ê­Ãáâ<¼}¾\b\1f?¿\93ñ®\15Uø7½kEMíë\16ß\92®^×\8eÏ-eøð\93ìf\r\1dþ2\8eý\8eOÐ[ì?÷\10âmú$|è7\7f¿(ÔÊ\8f\ f\9f\e«ý{S!þiÏaøË0\99\85÷ßlqø¨Þ\81¿\f\93P¼ÇÞ\82¿ÛÄ\83÷=)\9eö8\e\13õ.ûµ>\99\89ÿo\99C~µá\1d/\8a\87%®¾T½\99ýw\87«.\8c7?\87îwxÚ\12ðÖçÐí
+OY¶Þ:iO:Þt1\ffo¼[\ fÀ>4eâ-×\93X\10xÃõ$\96w¼W\9fN½¯ÉÇ\e~4\91,àK\1c®\bß\94\15ûXý\ 1ø¡zỲ\88\9f©gƯÚGê\ fÁ\ fÔ3ã\röyúsðÓôÌx\9b}\98þ(ü(=3Þl\9f¤?\r?Fï±sã§è\99ñ>û\10=3Þk\1f¡÷ã\aè\99ñ\ 1{¿\9e\19\1f²wë\99ñA{¯\9e\19\1f¶7ê\13ìÜø.}\8a½I\9fdçÆwèÓìÜøz}¢\9d\e_®OÅ\17ësíÜøZ}6¾TÏ\8cO·Wê\ 1ø:½ð]zf<ÄÎ\8d\v/üax\90]ø6|\89^ø&<Ì.¼ð3ñ8»ðÂ\8fÄ\ 3íÂ\v?\11\8f´\v¿+\1ej§Æ3Û\85ß\14\8fµ\v¿'\9eÙN\8d\aÛ\85ï²Sã\91vj<Ú.ü\86vj<ÜN\8d\aÚ©ñp»ð]xf»ð]x ]ømñH»ð]xf»ð»â¡vá\85?Ì.¼ð\ 3õÂwé\85ïÒ\vߥ\17\91záwÄë\1fÛe'¿Òcùp<P\8f·\ 3õ\15x\14¿Æ\8eÑWÙ\ 1üBz²¾V\9eÂo \aýÝâ\7fÃ'þ\f\9bWQ\14EQ\14ePþ\b0\0{\9b\rendstream\rendobj\r1069 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 318/Intent/RelativeColorimetric/Length 1024/Name/X/SMask 1096 0 R/Subtype/Image/Type/XObject/Width 245>>stream\r
+H\89ì×[\ eã0\fCÑvÿ\9b\1e\fæcúHÚF¢,ɺ\\0Í\ 3\aiz»\11B\b!\84\10B\bY\91ûS²×Äç~\9cìY\819\11ïÌþDÞUýż%û»yCöOèÍÔ¿\997cÿ\8c®É6\r¼`.¨6.¼\84.¦6O¼\86.¥6O¼h®\84¶oì\85~Øá\18\9c¨\96m¼nÎB\vG¶A+GvA+G\1aÌ)jéÆmÑ\9fF\82\ 6]
\1d     \1a\86è\ f+A\83\ 6Ý\10\ 3½& SЫ¤\81+A\83.\84\96¯l¡\ 6­\189\12}¹q\85Ò»\11´¢q\81ѽq\ f´~$è¢hýÈ\ ejýÆ\ 6èä«\ eç­\1a        z\auNaD2Ñ\õÒ\80^\8cî V÷\rEwx\95É\v¹ê¥\91\80þ}¤º/S-\1f¸\15z§«\1e\89Î}¾Ë_µ¼p't\aµ~\1fèîj}ãXt\8e\1atCµ©&\1dmV;º\9a¢}}ùh\83ÚÛ\181.\18íï,\80¾¨\16´¶C+zC¶\ 5ª%Å!Ó®-\8bl>®\ eÙ¦\99¦(>®\8e\98V
+}Ô\1d1-N}¹÷¤\¿,\ e}¹ö¬]¾Ì¶.\14ýÖ®\1ef\9c\17\8b\97/3Î\v5¿Ö\8b\87\81vÌR£ïæ¦ßÑ!W}½ó¬_»Ë30ÖlFÇ>ßßÚ-\95'õÊYÎ\89#Ñ_ê-\8d'õÂUþ\89¡f+:Smê;)\97\8dÒ\8c\1c\89>?ÁØwÔ­\9a\14®6¶\1dVk\16Ig\8eD\1f\1fbn{/Ö\fZ¡6\97½÷JöÈÑ\aÇ8º^k\ 5kbÐoçxº^ZýcV©=UÏ¥þ-qè»°ê©Ó=%\12}\17V=Tº\97¬Sû\8a\1e\1a½CÂÑæ\8få\ f\85Î\1d+ÔÖo¨Ó:ß\8aEhó÷\844«Ñ÷\86h\95Ú_ã\9e°\14\9d\11æ*Z£\16\94¸ÎO@[_ºª\Gg?\9a\82\80\ 6½±z"Úbn¯\ 6=EmD·V[Í3Ñ\9dÕ \87¨\1dæ\99è¶j\17º©Úg\9e\89î©\9e\88ö\9a[ªA\ fQ\vÌýÔ \87¨5æ\99è^j\15º\93Zf\9e\89î£\16\9ag¢Û¨¥è&j­¹\aZlî¡\96£\e¨õæ\99èòê\bsut\88¹º:\b]Z\1d\8c\ e3WV\a¢Ëª#ÍUÑ¡æªê`tIu´¹":Ü\Q½\0]N½Â<\13]L½Æ\L\rz\88z\99¹\92z!º\8e\1aô\10õRs\15õbt\r5è)ê\89èåæ
+jРA\83î\8eN0ç«A\83Þ\17\9db\ 6\r\1aô^fР76\83\ 6½±\19\8dÍ Aol\ 6\rzc3è)fР1\83în\ 6=Å<\12\fz\8ay$z¢\194fÐ[\99Ac\ 6½\95y$:Á<\12\9dMæ¢Ac\ 6\rº!:Ã\fz\8a\19ô\14ôD3è)fР76\8f\9aAOA'\99A\8fA§ªAOQç¡\13Õ §¨A\83\ 6\rº=z¦\1aô\103_ßsÐ3ÿ]¦©SÑYê\t\ e\9c¢Î&ÿÍDóm1;\eû?\13ÍËÔÙÌ×\8c\ 3ÿË êSÆ@_2Åù\9e)Σ\f \12B\b!\84\10BÈí\8f\0\ 3\0ú¶\8f\95\rendstream\rendobj\r1070 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 333/Intent/RelativeColorimetric/Length 1130/Name/X/SMask 1097 0 R/Subtype/Image/Type/XObject/Width 252>>stream\r
+H\89ì×Qrâ@\10\ 3P|ÿKo%\9blØT\ 2Ó¶Ô\9aFÒ¿\85Þ0E\99Û-I\92$I\92$I\92$I\92$éËñ\15õ\94Þ\1c?D½©'?É=ü¿Ë_\1eÿ\90þÚø'ô\17Æ?\95¿,~E^µÏ8´5y\8d0äʬÒ\v\80«w¦+ËôuÀÕKÓ\96\8eø\ 2}uÿµ\83kLɾ\ 6xüì>'Q£/MÆ\1e$1EûÊ^ðQò¢µkñUûÂZp\1d/x;¸\8e\18µ]\89\8f=v\89]\88\8f=öØc\8f=öÚÒØ\aÐ­íø¿]±{Ú        \8d¬à\87\8e¡\97\96â\e\9dí\\ep)¾1vU\b;§Ð\vC\95\95\9cÄ\ eÝ9\85®´óPº¡Ævczì\ 3è\8c¡/FÏ×\8e¬d\81
+1¶\13èk\9d$O%±c\87\ e±¯ÑóµC;9\1cøL\86\9dÃ)\85A\8f}{û\1a=W\1eZJÑÀWzÛ\19­\f\r|$ÇÎÐÀG\9e\18Ê8Nx8ôØ7·/Ò\9dí\94^\ 2\a=ñÌLÎ\81bclgÑcßÚ¾Jç\y©\9dF\8f}gû2}\a;öäÖéê\9f:Ü®Ò>"}±\16<­°Olg\8c[Þ'µ\93ÖQ¯<f4oß:]c/ì#½y\9d³_ï­ÈË\ 3\89Õ\0{\8d^]Ȥ_µWåÅ\89´b\80½N¿ú\86\88é\ 5ØOÈK\eY½¥z \9degÑ\7f.>á®\8d\ 2ìuuu$©öº½\8e®®¤\94Æ^©GÒWgRJc¿f¯zë;    \95±Wû¡ô¥¡\84Ê)v|ãùO\80Ú\9fO\85\17αÃ\v\81öò¶ÚTtßÕ\ fi´£ûö²?\1c\v®C|L\97\1dÛ6Ê\8em\ 3Ù\8f³Ï\95ÖbÛ¶´ÿ2\17Ù\ 5µ\1fg\9f\8bì\1af\aVÁíÇÙçÖ\ 6\ 3«¦Ù\81U\fûqö¹\85Ű"\96ý8ûÜÓɰ¢yvT\ fÓ~Pì¨\1e²ý ØQ=\ 3í \9a\ 6û\81\83jZì\aÖ\8eii´ã^n0-mvÌ\17¯¦\9fÇ_Ü|\80~3çÚ\11\1díö\ 3bGt\bì\80ÈéJüõ\18Û¯Òc\1f\99ËôÁxc;\80\8e OÅ\eÛ1ôØ\87\ 5D\1f\897¶Ãèóì8ú<¼±\1dI·¶ÏÂcé£ì`ºµ}\10\1eN·¶\8fÁ\13èSì\fºµ}\ 6\9eC\9f\817¶³è\ 3ð<ºµ}w<\93¾9\9eK·¶ï\8cgÓwÆ\eÛùômñ\1dô]ñ=ö-ñMô\1dí]ô\1dñ}öíð\8dôÝì\9dôÝðÆö^úVöfúVxc{;}\1f{?}\e¼\82\1e»<\12ú\1ev\rÝÚ¾\ 3^EßÀ.£ëí:zì±ÛÙÕx%=öØc7²\8bñÆv-=vS»\14\1f{ì±ûàÕôØcw£\vñjøÍÛ.ëÝo\89=v7»
+¯f¿'vO»5ÞÙ.«Õ\7f\13»§]\83W£?âl\97àÕæÏÄ\1e|ìFv\ 5^Mþ\17\0¯\16\7f¥ßn\8dW\8b¿âlïÇ«Áwi·[ãÕà»8ÛÛñjï}ºíÖxµ÷>Îvk|ì\9evk|ì\9evk|ì\9evk|ì\9eøØcwÃÇ\1e»\e>vO¼³=\97Þ\14\1f»'ÞÙ\9eK\1f»\1dÞØ.¡Ç®\8e\86¾\85]DßÁ®¢ÇîI\8f=öØ}ìjø-öØíèÎ/ó\1a»\1aý\11\0¯\ 6ßÅW~kÆ«±ßã+\7f\8b¯ü=Æô»øÊ¿ÅWþ\7fláßãêN\92$I\92$I\92$I\92$I
+ù#À\0Å\81\8b®\rendstream\rendobj\r1071 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 336/Intent/RelativeColorimetric/Length 1807/Name/X/SMask 1098 0 R/Subtype/Image/Type/XObject/Width 397>>stream\r
+H\89ìÕQnc9\fDÑÎþ7=ÀôLàçäY¢D²Jö=ßm[¬\8b ÿü\ 1\0\0\0\0\0\0>Ü×\13õ{>Õs\a\82¨Ü\9689Ç\997¼NqÔ)ß\ e=b\9câ\90C\1e\9czÅT\8b\13\ eypê\15³-ì\ fypê\11\81\16Þ\87üïä\eB1LOy\83\13þ\15laxËù\17|\8b\9fâuËÂû½\ ex°r\8bÓ1§¿ÿbé\18\9f\9eïóþ\8bÅc\®9üùW«Ç\98\søó\9f\1c~ÍáÏ¿Z>Æã\9c³_ÿìccX<ÿjã\18\8bk\ e\7fþÕ\aǰxÿÅéÇ\9cþþG;·X\søó/\88a\84\18F\88aäô\18\87?ÿ\8a\18F\88aäô\18ü\9fátÍáÏ¿ \86\91O\8e¡~ú\ fÄ0B\f#ÄpB\f#Ä0rz\8c\8d\ 3Ô/ÿ\89\18NN\8f±~\80úá¿ \86\11b89=Æò\ 1êwÿæø\18«\17¨\9fý+b89=Æâ\ 1êWÿîø\18k\17¨\1f}ã3cø<ÿâø\18üi\f®é=ü\8dbdÿ\9d÷ß\9eû~­µ\187×H\8e\7f£\18\89\7f\1aªë\89\11ý\1e¯\v
+_³g¥ÅÏs\94÷ï¿ÞÇB\8a\1fçH\aØ~½\91ø-?Î\11\ f°û|'ñ[\9eÎQ\ f°÷z/ñ[®çÈ\aØz½\9bø1+1\9cjÔ=e[ø\96Ë=\ 6\vl¼ÞOü\98\95\18N5ê\9e²-|ËÃ=\16\13¬>ÞRø\98¯¥\18e#¬>ÞRø\98ï\83<VX{»«ð5_\8b1¨1\16>æ¿\83Ö>eðþ\92WdYXu1FÉ\ e\16\8fH³²ê\171\8a¬ÌºÈâõ\ 5\8fÈ\93¿yç\ e\16\8fÈ\93¿yã\ e\16\8fÈ\94¾yß\ e\16\8fH\95=yß\ e\1e¯È\95»xã\f\1e¯È\95»xß\f\1e¯H\96:xã\f\1e¯È\96ºxÛ\f\1e¯H\979xß\f&ÏÈ\96¸wß
+&ÏÈ\97·wx\85Õ\99\92\9fadoãÅ\15¶ÆÊ{\86\9d\9dÓÖV\büÓô÷\96N\99`ïºð
\7f\9dþÚ\86Awì\9e\17\1a!úïÓ\1fÛµê¢íû\ 2#,|$ù­­Ó.Ø¿pv\84¥\ få¾´}Ý \84\13çFXüXêK\15\ 3G$\9c85Âò\aS\1fªZyVÊ\91à    v>\9bøNÝÌsR\8e\1cN°õá¼w
+w\9e\92räh\82Í\8f§=S¼õPÎ\95\83\ 5¶¿ ë\99â±\87\92Î|5Àö7|\11#íþê\9f\98§\1e{¤þþê_\bP\8f=T~~í\ f\84¨·\1e*?¿ö\aBÔ[\ f\95\9f\ 31ê±Gª¯¯ýþ õØCÅÇW~}\98zë¡âã+¿>L½õPíõ¥ß\1e¦Þz¬ôúÊ/_ Þz¨ôøÊ/_ ÞzH=P'õÖcê\85\1a©§\1eS/ÔH=õ\98z¡Fê©'¨'ê£^z\82z¢>ê¥'¨'ê£^z\86z£6ê¡g¨7j£\1ez\86z£6ê¡§¨Gê¢Þy\8az¤.ê\9dç¨Wj¢\9ey\8ez¥&ê\99ç¨Wj¢\9ey\92\1eê\95'©gj¡\1ey\9a\ eê\8d§©\87ê Þx\9e\ 6ê\89ç©\97ª§^8@=U=õÂ\11ê­Ê©\a\8ePoUN=p\88z¬jê}CÔc\15\e¤\9e«\96zÝ õ\µÔëF©÷ª¤Þ6L=X%õ¶qêÅê¨\97]¡Þ¬\8c\15êÍʨ\87\1e­\88zÖ5êÕ\8a¨g]¤\9e­\84zÔUêÝJ¨G]¦\1e®\80zÒuêå
+¨'Ý \9e.\9dzÐ-êñ\92©çÜ£^/\99zÎMêùR©ÇÜ¥Þ/\95zÌmê\ 1\13©§L \9e0\8d\fê\rÓ¨\87\1e1\89\1cê\15s¨WÌ¢Þ1\85zÄWB¯í\9f.]Û°Qá'÷mV¦uàiK¯î\98«TóÈsV\1f^=Vµî\9d'¬?½r¨\ 6ýS\ fí<¾n¨\ eý[\8fì½¾j§\ eý[\ fì\1eP1R\17ÅÞ¯ì_\90¿Q\17ÅÞ¯dÜ\90½Q\eÅà/¤\1c\91»P#Éä·\92\8eH]¨\8f\17²ÎÈ\9c¨\8fbñ{iwä\rÔH2ù­ÄCÒ\16\98üVê%I\ 35RL~/õ\94¤\85\1a)&¿\95|KÊ@\9d\14\9bßI¿%c F\82É\9f\15\1e\93÷Õ-\ 4ã\17nUýýÅ$\11Ê\96:µÂ_o\95âï=EßÜàÍZ\1c\8d\14Fha\84\14>\14-\88q\83\14Fha\84\16>ha\84\16Fhá\83\16F\88a\84\18F\88᣹\ 51^!\86\11b\18!\85\11bøèmA\8c\97\88a\84\18F\88᣹\ 51^!\86\11bøènA\8c\17\88a\84\18F\88a\84\18>ha\84\18F\88á\83\16Fha\84\16>ha\84\16Fhá\83\16Fhá\83\16Fha\84\14>ha\84\16Fhá\83\16Fhá\83\16Fha\84\16>Ha\84\16>ha\84\16Fhá\83\16>ha\84\16Fhá\83\16>ha\84\18>ha\84\16>ha\84\16>*[\10#\88\16>ha\84\16>
+[\10#\8a\16>ha\84\18>
+[\10#\8a\16F\88á\83\16F\88a\84\18>
+[\10#\8a\18F\88a\84\16Fha\84\18F\88a\84\18F\88ᣮ\ 5\88a\84\18F\88a\84\18>
+[\10#\8a\18F\88a\84\18N¨a\84\18F\88á\84\1aF\88á\84\18F\88a\84\18N\88a¤.\ 6\88a\84\18N¨a\84\18F
+cP#\8a\18F*cP#\88\18>J[P#\86\18F\8acP#¢:\ 6\95· Æ¼\86\18Ô\98ÔÑ\82\1a\93zbPcFS\vjLhkA\8e¡Î\16äx©9\ 5AnIJ\©'\10\ f\0\0\0\0\0\0àÍý#À\0Úý\16\r\rendstream\rendobj\r1072 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 210/Intent/RelativeColorimetric/Length 645/Name/X/SMask 1099 0 R/Subtype/Image/Type/XObject/Width 183>>stream\r
+H\89ì×K\8eÃ0\f\ 3Ðæþ\97\9eE7-¦I,\89úÐ!÷\12\9f\ 3\ 3u_/EyF\8eïts\96rüL·ê&¿ÑÃáçèÉðkõTø­º\1c¾T»Â®s¯\16/©«ÜËÍ\8bêt·­zY\9dçöTw³\9dÝ\ 6v\86ÛYmQãÙîn\13\eîöVÛÔh¶»Zì\õw÷3ØX7';P-¶Øb\8b-¶Ø\ 5ìÖG\89Ø$ìÎ\7fe¤l[7p\96\85ÝxK Ã$nRv£\e;\æ\ 6\1fº\8a­Ï]ê\8e±Û®IhX\9fÛÚ\1d:3-»Ë\1d:3Þ\1d©Í`/Î\85jÑnÃè\18¶m:Ô
+t\eÇëØWnó\82Xi-ûcE!ûÜmß1\81íX\12ìD¸m;Þ[\82\9d\8eÆ0û\18Á6®x¯\89U"ÜÆ\rï5¡ÆÇ°ÿo±.0'Ç\9d!½,tÖ\92²\8fZõÙ\8f\l\11\9e\16+.eÃn\89ç%\17\bîsÛ_r\81 ÙÖ\97\ PöÑÍ\ e¸¡¼«" »,{±§»7c\ fw\8b]\99Söl÷vìÑnNö\85z²{Gö\÷\96ì±nNö\8dzªû\96=Ó½-{¢{AÍÊ\1eèæd/©ç¹\17ÙÓÜ\9cìUõ0÷:{\92Û fe\ fr\9bØcÜ6õ\187'Ûª\1eâ¶³'¸\1dê\ 1l\8fz\80ÛÇîv;ÕÍn·\9a\95Ýé\ e¨\eÝ!u\e;¦nsGÙ=î°ºÅ\rP³²ëÝ\10\eÄ®v£ØÅn\18»Ô\8dS³²+Ýb\17º¡j±Å\9eã\ 6«ÅÞ\90\8dV\8b\106\-övlN5)\e¯\16{76§\9a\94\9d &esªÅ\96ZìG©IÙ\9cjRv\8a\9a\94Í©&esªIÙéj±éÙùj±+Ù\19j±KÝ\9cì\ 2µØboËfu\8b-¶Ø»³I\1f%¬/×|·Ø\95î$v²;K\9d\vOTgºSÙiðdu\ e<\1f\9dà.A\83åuf\b¼\98ë§7B\7f\86Å©(\83ó'À\0÷bUÈ\rendstream\rendobj\r1073 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 207/Intent/RelativeColorimetric/Length 657/Name/X/SMask 1100 0 R/Subtype/Image/Type/XObject/Width 183>>stream\r
+H\89ì×KrÃ0\f\ 3Ðèþ\97î"3]4±Í\1fHA\ 5Ö\81ù$;\89üz)\8a¢(JAÖo¦%ö¬\8fL\8b\fùD3À¿«7w_¡Mî©õÝ \9f8swæ\16ý\80\99\9eÔw\16ç­éTßXÂ7ic6TnP_\8eO,xo6Ìmb_L?\97\8dr'Ø\89\ 5\8b-6Þ-¶Øãl\8cúhvyu\92½û\9f;¢»7\e¤\86¾ÜвQêÔè\9dÙ î\7fTCÙ8uj´6»\98\9dè\ eªIÙ\89ò \9a\94} ZìNõ}\1d§Öf7²\9fÔbÓ¨QìG5x³\83Ë\9bc\87VY¥\ e²Ãã\8cjÄ£\9d\1a8ÅÎN¬P»Ù\86\91Ù\99õl\v:{\83ëÙ6uî\10T¡^®\ fÛ¦¦/àd\9bÕ[±íj÷¿\94Wíx´=ê\9b¹É:t³÷a»Ô\81C\81GÝÎN\95\1d\97 ª/&§Êcì6u\98ýev¢ê¿R\19»Nmg»Õ\1fÃãÍ\10{Õ°ãÍ^vð4Sõrô¾N\8e\1dí¥Ø+Ë®V·°\83µ<{eØÁZ\ 5{Eرï²E\1dÒx\ 4¡Ò8;Ò\99gG:óì@lêÝÜVµØ\ 51«ÅÎÇ®ÞÉíQ\8b\9d\8c\8dÛ©feïáv«·`ûÕ¬ì\rÜ\11õ<;¤\9ews²\83êavT=ìædÇÕ\93î\8c\9dS³²\87ÜYõ\8c\9epW¨YÙíî\1au·»JÝë®S·º9Ù\95ê>w­º\8b]¬nbW«\9bÜ\9cìzu\a\e n`#Ô\rnN6F-¶Øãn\94Zl±§ÝbwºÅ>\84\8dt\8b}
+\eè\16»Ó-ö9lV7)\eæ\16»Ó\8df³ºIÙ 7)\9bÕ-öYnR6ÆMÊfu\93²Yݤlý\ 6¶²u|meë\9d²ÕMÊÖS"ö´\e¦\86²qj±Oa\ 3Õbw²\81\ fa#ÕbwªY\8f\7f\187\1a\raãÑ\0w\vº\1aÞ\86®´w£K\960\8bþ\eBò·Ð\81\15EQ\14\~\ 4\18\0\16\ eE\ f\rendstream\rendobj\r1074 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 228/Intent/RelativeColorimetric/Length 791/Name/X/SMask 1101 0 R/Subtype/Image/Type/XObject/Width 256>>stream\r
+H\89ìÖQnÃ0\f\ 3Ðæþ\97\1e\86¡Ûº¥\91\1dY¢dRß\8eÅÇ\14A\1f\ f\8dF£Ñh4\1aM\9d9\9e\ 3Ü\ eYý³þ×À¶§.>Ù\9f\1f\ 4ÙüY\80ä Ø\9fÞ[}Z\90³Åy Þë\93üW\ 1ÂC w\8fE\b\r\ 1í~0C`
+àê\12!*øí\fa)\80«K\84\90¿@\ 1À\10òSû\876Óû£\v\90_~P\866~àê\12ß?àjù\83G~X\84\12þ\81\14¸Í        |;\ 5ns\86\1f\18¡\ 2\1føú{ø\81«3øòã\124à»#\ÝR\80\1fûú¯o²øíýÆ]\15øF\88µWO­nï7ïÛ\9b\7f~õðêö~óÊ
+|ùÃ"X\97\96àÇùÍ[KøÃ2\98·\96à\87ùí[\eø\83®=ì\13Yü ÿ\0\8eÙ\7f\14ùï\13õ\16,\9cí_\8at$\8d¹õ¨òúQ~» ¤\89       Ò\86Ïî\8f\89âæ7÷»\vXÍt\ 5\rº¶\8dÿ}\9a·Çöò\9fç¹:·\19ÿ\7f"ãàvþcø©íýC'=ú<þLÌñ'6ö/>yuA1þÌ[ÝÕ?\93\7f^ýòxEÿ\9c`Výút=ÿ¬À÷4±¿?\9fÞ?ó±<{V~^\7f\1e_þ¸éðó/éOäË\1f®\99\9f\8aþÐ_ÊßUòWóO4å\9dT~Á÷/\7fE\7fÚ÷?\97\9føY\e\1cr\7f6_þZCîOç\17+\80Ü\ fà\97*\80Ü\ fáÓûË\14\0âÓû\8b\14\0ãÓûK\14\0äWð#ù\15
+Àúá\ 5\80ùô~p\ 1h½üÐ\ 2ÐöÏ!ç#\v¸\bÄà·£l]ÀP\ e\1eÿà±m
+\18\8eÀà\1f?¹K\ 13û7ôÏ­g÷oWÀôò½ü7\96ïë¿ñHó\ 2n­ÞÇ\7fsó×á\rüO\8ccsÿ\ 2¾\19\8eGÛû=ÃîW\ 1ìþµ\r -·\86ÝO_\0»\7fa\ 1hɽ\91\9fÛO_\80üòËÏ[\80üòËÏ[\80üò3ûé\v`÷«\0ù¹ý\v\e@Cî\8e
+ ÷«\0vÿ¢\ 2Ð
+Ǩ\0r¿
+`÷¯(\0\8d
+ ÷«\0v¿
+`÷«\0ùU\0µ_\ 5ȯ\ 2ä'öÓ\17Àî÷\15\80\ e¿`ä\97\9fÙï*\0\9d}ÅÈÏ]\80üòË/?©ßÅg÷£Ã/\18r¾üÜ~r¾üÜ~\ f_þþCîwñåï>>~{¿\93ß½\07¿·ßÏo]À
+~ß\ 6\16é\e\96°V®Ñh4\1a\8dF£Ñ4\9e\ f\ 1\ 6\0\1f#t9\rendstream\rendobj\r1075 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 226/Intent/RelativeColorimetric/Length 853/Name/X/SMask 1102 0 R/Subtype/Image/Type/XObject/Width 297>>stream\r
+H\89ìÕÛvÜ \10\ 5Qûÿ\7f:×I<\8e3* ¡[Põ,ÃÑ^Zã·733³\8cÞ?\95½çiQö\94G\9f\91
+ì«´åÑÿ\98\12ç\95\1aójRò¸z\93®\98rv\91Ukg¡E˥ت\85êíiݵjZ±9\1d»ÖL«µ¦oØ\8aiÅæô.\9b?­Ö\9aÞaó·ÕZ3°L¨\1aÓj­)<­uÍ:©æes§ÕZ3´L¨\12Ó\8aÍ)»¬}\8dP\15æ\8cM«µF¨
+sƦÕZ#T\859cÓj­9\14ªÚ\9c\91eÅæ\bUcÏÀ²£æÔ]VlÎÀ²bs\84*²§{Yä\85\ 1sÖ9­\85º<¯Õ©,Ô\8c«ú×\9cåôtªP¯oê\9c³Ð©mÙ¼\8bzÖÔ\85\9ayQû\9aµNË Øá:±ÓÛ\9cªB;¦mÍb§EPð\82ÂN\rÛ\96\R\16jÉ®\r\9c\96|P;8   \15ÿ\12\v®ØÂI¨{B\ 5\1a\84¿Ä\82\80ê\1cw\9e\93P\81ó¾xj\ 2Ór§ö\97h9§÷\8eþ\19ó\8a\98xõt/FÓ\88Ù\r\8f¼~¼ã\8aÆ\r5\9d\9eV\ 6¿\7fÇ\82ÊP3\7f{\9a\ 6Ü\ 3*öÕ;\ 6Ü\0ê=\97é>NÙ        \ 5\13\8aµÞI(¡tò\83    \ 5\13\8a\95à$ÔÎNBÁ\12\9c\84\12\14\84\12*ÅI¨}¡r\9c\84\12êt¨$'¡v\95Js\12jO¨<'¡¶\84Jtº\97\94P¬T'¡ö\83Êuº\91\94P¬l'¡6\93ÊVz» T6Òϲ\11HÙF¿ÊV¸.[èwÙ\f×e\v=Êv¸*ÛçoÙ\12¯ËÖùP6Åë^.UêO×#\95ú\11Z(ÔÃ\0>v°\14\1fw¶TË´ã¡\9a\1e>Tªq×±Pͳ\ e\95ê\18%TËß\9c&Õ7é<¨îI§I\ 5\f:\ 3êû{F\9cq\84THBÑ\94      ES\8a&\14M(\9cR4¡`BÑ\94\82        E\13
+\16\vµ±\94P0¡hBÁb¡6\96\12
+&\14L(X0Ô¾RBÁ\84\82EC)u<\94ÿ÷pJÑ\84¢     \85S\8a&\14M(\9aR4¡pJÑ\84¢        ES\8a&\14N)\9aP4¡hJÑ\84¢)ES\8a&\14M)\9aP0?)\9aP4¥`\83PJ   õOJÁ\84¢)\ 5\13
+6\bu\8e\94P4¡`BÁ\ 6¡Î\91\12
+&\14L(\98P0¡`BÁ\84\82  \ 5\13
+&\14L'\98P0¡X\83NB   õ)\9d`B±\ 6\9d\84\12ê¹Q'¡\94zN(Ö¸\93PB}(Àé\b©\10\94z\14ä´½T\98ÓæR\81N;K\852íK\15δ%×4¥}\14Ó\88ÌÌleß\ 4\18\0Ù\8d\98s\rendstream\rendobj\r1076 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 211/Intent/RelativeColorimetric/Length 544/Name/X/SMask 1103 0 R/Subtype/Image/Type/XObject/Width 141>>stream\r
+H\89ì×Av\ 3!\f\ 3ÐpÿKwÛ×ÂÄ\ 2Ëh@Z+æ\a\160\9f\8fã8¯Mû\1d\1dÉ^O\87²\8d3°lÑ\f-\e4\ f\96\9e\86i}¤ü_\8eºu_,\7f\9eäWK\vÖk0-Ü\96¬r\ 2\96\86´¥0K\9a\b¦!m)Ì\8aF    \13²4¨m\8c1ÆìÇ`ó\8d1&8\7fNÎÆ(ÜÚP»Ì"\85\ 1é\ 4ÌtûtÌ|;ß"\85Áê+\96ìSZ²\80ã\956f7\ 6«s-/Æ(YnÂ\80\ 5ĬX¤0Ù\96\11&¤¤c\82Ø\98e   \13óV`Â#§-q\f4\95\8b\ 1§Æ,è)5¨FÞ\986ù'9¿   Î­Â\84,E\98\98\ 5}\vô,á¥*0y\16ð\91\80\1f©u\98)\v  \83ö¯Á }\82%z§\8e,\14\fÖæb°6\17\83µ\89\98ð¥Úµdc\90\18\13\18£\87éX\8c\91Ãô,ƨaº\16\1eÍÀbÌÈr=fhÙ¡QÂ<XîÆ<YÊ5J\98gËÅ\98/\96Z\8d\12æ«E\vS§      XîÄD,e\1a%LÌR¤QÂD-%\1a%LÜR A0l\rdÑÂp5 \85\8aA-T\8d\12\ 6·\105J\98\19\v\v3eai\940\93\16
+fÖr<fÚ¢\85!h\8cy\ 3fÁbL\9dÆ\98ó1Ù\1ac8\98d\8d17`r5ư0Z\1a)LªÆ\18\1aFK#\85ÉÔHa´4Æð0Z\1a)L¢F
+sÚ9Ia´4Æ\14`\ e\18S\819ë[Î\18\8c\18c\8c1"\16cJ0«\96c¿\ eÖ-i\98\ 4J\9a\92£É²$p\12\9c\92\88c\99qñ%AX9Äq\1cåü\b0\0"ô@í\rendstream\rendobj\r1077 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 237/Intent/RelativeColorimetric/Length 690/Name/X/SMask 1104 0 R/Subtype/Image/Type/XObject/Width 183>>stream\r
+H\89ì×;bÃ0\f\ 3Ðúþ\97îÜÄ\96Å\1fH¨À\ eñQÉ ÿü(\8a¢(\93rýI·f/×]ºQo¹EO\87?¢'Ã\97è±î7õÒݵß;zÁiûavÔO\1aë/\83Vß[l;6¨o)®UÁì\e\84s[¨ú\eà^\97\82]á6°¿Æû\17Fª?§û÷%a§»MìËÝ\15\ e,,¶Øb\8b-¶ØÇ±Óª\9dìÐS]ìBv²\1aóM&vÂèãÙÙêÈèÈÆ0õ)\97MÁNî\82Ô\11\9aô²!ìYêÃÙÃÔ¤lNõÙìij±ÿ\81\9a\94½­&e\87ú;\82\12uè²\rådv¬oj&ª\93ÿ#¾avu*Û=­\93\1d\19\aU_\8e\99£Øñ\89¦3\92Ø\96\89\8f\11\1euð¦òØ6u!ÛT7ªc\1fSil³:Î~P[ØvõíÔð\ 1õlÛKf¯od\9bÉ÷c\83uã!Yì`ÝÌ6z\9fæ\ 6ë ¶ýå¸j{\8f±§D\rf\87ÊmìP\19ªö½x?«\8dì@µ\91\1d¨6²ýÍ&¶óíx\r\8b­lo¯\95í\8dØÀ,Ôbgg¥\16;9KµØÉY³§º_ÔbgæM-vb^Õ¬ì\89î\rµØYÙQ³²Ç¹÷ÔÓØ\9bjVö,÷¶ZìxöÕ£Ü\9cl\8bz\ eÛ¤\9eãæd\eÕSÜ\9cl³z\ 4Û®\1eáæd{Ô\ 3Ü>v·Û©nf{ÕÍnN¶_Ýé\8e¨\eÝ\9cì\98ºË\1dU7¹9Ùqu\87;CÍÊ\86»sÔhv\92\9a\95\8du§©¡ì<5\92\9d¨feãÜ©j±\91j±¡l\90;[-¶ØSÜb\8bÝÀ\86¸Å&g#Üb³³\ 1n±éÙõn±ùÙ¬nRv¹[ì\ 3جnRvµ\9b\94Íê\16\eé&e³ºÅ>ÃMÊfu\8b\8dd³ºÅFºÅ>\88­OÊ\13جn±ÅîV\8bÍÏ.W\8b-¶Øç³ëÕbCÝ\9cì\12µØG±kÔÕì"u±»L]É®CWºKÕUîbt\8d»\1e]\ 1Ǩ\93é@t\9a¿Çü\11FógøÄ\8a¢(\ù\15`\0Ú·[\95\rendstream\rendobj\r1078 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 249/Intent/RelativeColorimetric/Length 742/Name/X/SMask 1105 0 R/Subtype/Image/Type/XObject/Width 188>>stream\r
+H\89ì×KR$A\f\ 3Pêþ\97\9e\151\ 1T\81ÿ²²¤½­GFt·ùøP\14EQ\14¥-×× 9ö\7A\9b\93\93è\9fè\ 4øgúzý¯ôåú¿ì\0½µúoú4ÞÞm±\8fâ\1dåÛì\8ev\13}\ eï)7Ò{íÁv«½\11\1f-7Óûìár¼=Þ\ e·'Úeo§Ë.û«ìwõ²Ëîm\aÓsg¬ì²»ëeïÆ§¦e¯¶ÛÆ»ìɧËMcí\f\ f\9f\e\97½¡\9d\19Ïl·\8c÷Ù\93íÉ?\1dj?ýá×Ú×ã_l\87âsÓÜvj<³\1dùû\94\1c\87>|Ú\ e|xfûf¼ìKñÉq¨}óÃOØíxßd¶·Ðî\9e\1e±[ð\81ù-öÈ\86to\r>´b\87\84Éþ}\v¨6´ãû\9a´½âáíöË9Vbÿm\8b\83þe\ f\9dýrÍýaÏã}öË3·Ö>öaÍÜ%O\8bðv/ýÿ¦Di\11\9eÂ\1e=\a\83×àã\9eQûݪ¸=ÚX\87ç±ÿÜ\15±_\18»ÿ\90}Z\12ª+Å\aà\17Îî=Â\1fVDÊòvï\11~¿!ÐU\8d÷ª?\17\ 4ªjì®;ö~ÞÝT\8f÷Î}\8e»\8b
+í®ß\97LZì\8eß\97L\fö(¾ÜzWÒ`w|ÓÅc±ÇðÕÒ\9b\8a.û@\8e·/Å\9fo_\897Ò©í\eñ¯°ïÃÛéÔöuø·Ø\97á]tjû.¼Ó¾
+Ol÷Ò7áße_\83\ fÐ×à_gß\81\8fÑ©í\eðQú\ 6ü;íp|\82Nm\aãSt,>I§¶\ 3ñi:\ e_@§¶\83ð%t\f¾\88Nm\aàËèóøB:µ}\18_J\1fÆË\ eÁWÓ'ñ²cð\rö)|\a\9dÚ>\84\97\1d\83\97\1dbo¢Ë\ e²Oàe\87ØÛè²Ë¾ÏÞG\97ýP{#]ö3í\9d\8f´·Òe?ÑÞKg¶\13Óe?ÐÞL\97ý8:³½\9bÎl'¦Ë~\1a\9dÙÞNg¶\13ÓeÇØ\89é²cìÄtÙ1ö>ºì\18ºìgÚ;éÌöf:³½\93.»ìÛð²cð²cð²Ë.;\87]_\92 ;õU@}J2ÿëÔ\89o§÷é'è]ø\19{\8b~\8a\1f\94\97âgÝ\ 5|\b8¡Gk\7f\86\8c«(\8a¢(Ê1ù'À\0\85¡Wå\rendstream\rendobj\r1079 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 251/Intent/RelativeColorimetric/Length 911/Name/X/SMask 1106 0 R/Subtype/Image/Type/XObject/Width 297>>stream\r
+H\89ìÔÛn"1\14\ 5Qøÿ\9f\1eM+\89&d\bÕ¶Ï\ 5wÕ3âl/\91Ünfff\15Ý\1fªÞÓ²G¤\16X}\96\8c©r`£)¿L*ß×iË\8bI¥ë\9aÍyµ¨lZ»UlPº\14\9e\95µ«Ý ³³\92\96uÛ3²+cY·=c»â\975\9b3<,|Z³9ãÃ\82\975\9b3³,vZ³9m\97\9d\18*rZ¯5\93Ë.  5âÔ\f*GJ¨Àa\81Ë\9aÍ黬Ù\9c¾Ë\9aÍ黬Ù\9c¶Ë\86Ö\bU>gzZ¯5B\95Ï\99\9ev\999}\975\9b3;­×\1a¡êçLNëµF¨\ e{æ¦õZ#T\839sÓz­¹æ\ fj+¨µ\ag×lú\97÷ê\vw\82\8a¸5¾¦/TЩÁ5}\9d&v\91ïmë\94ø\83Bß,\1484°&Ïéì´´Cñ\83B÷gÝI\18\14»?ëNø\9eà\a$\9dI\18\14ü\82¤3ñ{\82_\90s%cPð\vr®Äï \7f\91ø=ñoȸ\11>'ã\11\197Âçd<"ãFô\9a\947dÜ\b^3XÆ´\10¤Ñ1£e\8c\8b@\1aÝ2\Ƹ\b¤Á)Ã¥Ì[o4ºd¼\95û\9e~rÞäÜ\90\88V\rüåÃÃ\10\ 33zA=N\\f0¸¢#Ô}þ\eæËu\1a}fµÒý=~P\9f3\17>{pA\7f¨À\7fÒôþ\9b@U'\14L'V®\93PB õ\91P¬d'¡\84Òé(ÙI(¡\84:Ò      &\14L(V¶\93PB       õ·t'¡\84\12ê^á$\94PB\958        %\94P%No)%\14«ÆI¨}¥\84bU9     µ)T\99\93P{J\15:      µ#T¥Ó[I Åªu\12j;©j'¡6\93ªVº½        T5ÒQ5\ 2©Úè¨\1a\ 1TMôQ5Ãë\9eíUê{¿\ f\15ê«\97+\95:"\13\85º\1f\bìS\17\97¢ë\94¢ \85S\8a&\14M)\9aP°x(¥.\ 6¥\14O¨S    u&¥pBá\94        E\13
\14M(\9aR4¡hBÁ\84¢)E\13
+&\14l!ÔÞRBÁ\84\82    \85S
+&\14L(\98\85P{K    \ 5\13
+&\14l%ÔÖRBÑ\84\82    ES\8a&\14M(\9aR4¡hBÑ\94¢        \85\13\8a¦\14M(\9aR4¡hBÑ\94¢        ES\8a&\14M(\9aR4¡hJÑ\84¢)\ 5\13\8a¦\14M(\9aR0¡hJÑ\84\82ù\93\82    ES
+&\14M)\98P0¡`BÁ\84\82Í@)%Ô\7f\12
+&\14L(\98\19¨KI    \ 5\13
+&\14L'\98P0¡X3NB   õ3\9d`BÁ\84bÍ8      %ÔÏ\84\82   Å\9ar\12J¨Çæ\9c\84\12ê¡I'¡\94úÞ´\93PJýÛ\ 2§K@­pº\82Ô\1a§ý¡\169m/µÌioª\95L\eK-fÚ\13+\ 4i\e²\ 4\1d33³7ë\8f\0\ 3\0(þ­\ 1\rendstream\rendobj\r1048 0 obj\r[/Indexed/DeviceRGB 1 1107 0 R]\rendobj\r1106 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 297>>/Filter/FlateDecode/Height 251/Intent/RelativeColorimetric/Length 24180/Name/X/Subtype/Image/Type/XObject/Width 297>>stream\r
+H\89ì\97é?Tý\eÇ\93,cfÌfv³0Ã\98\193\18»AÆ:Ù"K\960\92\90e¤_IÖ\94\10m\88H©PJE\89Û\92!ÒæVÚîî?çþ\9esf\18=þÍ\99\1e¸\9e\9c\açÉçõ¾>×纾{öìÖníÖníÖn\99£,~+sëù#Ë\0g/R\7f\ 6¬?¯m[\8c,\rµ\8dˬ\9aþ,\8bë)YZî\ 3e\ 5\15ø"°Ì¦ÏØÞÆ&7\87\16#I\b%++kk\e¤¬­!Z\10+ó¨ÛêÝ\ e\8b\9bÓXzL\80\12`d\8bÁØÁ\85ÁØ\ 2X\10\902²¸ÕN\8bo§'ªª\8c1Ùbì°8¼=\x\1cÖ\ e°\ 2¨ô¦BQÓ\1e='ØãÖz\8f[#\167ÐBÛ\\ 6AVÖ\80\12\80D$\91É\14Pd\12\91`\ fX!¨ U(   2\96\85t\ f\98\1c\83XÜÖ\10\bûvL"\8a\82\80\1e\80É\9eH¦Pit\ 6\13\14\83Nu \13íñX\fB
+eKmÉ\82M\8eÃC\85\ 3}³ÛIk/Z±`àdc\va¢PéL6\87Ëã\83âqØL:\95B´ÇÙÙ¢O
+Òeh\1fÞ\9e@$\ 1\9f\93 \8fC\89\80ÕÓ²²BmÕè9\ 1=X<\91Le°¹|\81\8b«\9bX,v\13¹8ó9,º\ 3\99\0\93²´Duø ]0',\9e@";Pi4:\9dN£R\1d\90HÐç'z\ 1ªçd\8bÁÙ\93\1cèl®³\8bX*÷ôR(\14^\1e2\89HÈç0i\b)\94-\ 5\e
\ 4Ò\80Jg°Ø\8e\1cP\8el\16\93A\83h!ù   X\19H\99Z\ e¢Ç\ eG Ó\98\1c'W\89\e\10\14\1c\12\12¬\fôóö\90\8a\ 4\\16D
+c\83\f\9f\18+\83\f\ 5s¢Ð\98\8e\¾³@\bJàì\ 4\91Å\84ó\93\80ÇA«f\9f¥é{\88\ 4\81\r\ 6G ÐØ<¡Xîí\1f\1c\16\11\15£V«£#Â\82\ 3¼åb!\ f\90²ÇBÃ\87¦¥à\ 6ÚÚá\89\14:\8bë$t\15KÜe2\99»T\ 2"AàÌç²Y ?I\ 4\98~'Ã\83\87p¢³ù®R/ÿàð\98¸\83É)©©)É\89qÑ*¥\9f§\ 4\90¢\92ð\86á3¥\9c\1dÒ\fÂ@\ 3\ 5"\89ÌÓÛÇ\ f\94¯\8fÂÓÃ]âæ"àsØ\f*\99\b\912ý¦A\ 6Ï\16kO¦±\9dD2ï °\98\84C\87³s5ùù\9a\9c¬ô¤ØÈP\7fO\89\80àÀÃ\87"(\v\vàt`(\12\95Å\13¸É¼|\ 3\83CÃT*UØþ\10e ¿\8f\97\ê&tâ°h\14@ʰ\93M)\a6\14,\87ï*óQFÄ&gä\16\14\97\96WT\94\95\14æg§&D\87ú{¸9;ÒÈÀRVûP\ 3\85t\102\14\83#p\93{\a\84¨¢Ôqñ       ññ±\ab"ÃC\95þp~òØt@
+\ 5³ë\rEp`ò\Ü}\82#ãS\8f\1c;Qù¿³çjkkÎ\9c,+ÌMO\8c
\95¹ò\98\ eÀR(Î\9e\ 52y \83l¾Hæ\13\14\16\15{0%=#33ãpZJRBl´J\9f\9fl(?1Ö¦6»A\ eÍQ Q(#âÓó\8a´gêη´¶µ¶4×Wk\8bòÒ\13"\94
+\89À\91\ 6R
+ÅÙC@ÙÙ\93é\1c¡T\11\18\16\93\98\9a\99\93_Px¼ðØQMNfZR\tX\90\8f\87XÀe:\10!eû@\9c\9bT\ e\b\ 2,\81Âä\8b<\ 2Tqiy%UµÍíWoôôôܸÒv¾¦²(756Ì_îÊcPÀâCoö\8c\95ÉýöÇ$¦\1f)(.ÓVUU\9dÔ\96\97\14j²Ó\ eªÃ\95>r\91\93#\1d\90ÙM)\a\ e\ 2"0\94Ô'T}(§¸ª®åjÏÀ\9d\86îÜêê¸P£-ÌJ\8aR*ÄÎl*\11gj9;\94í\ 5\99\80#RÙÎÀê\91       i9\85eUÕµ\r\8d\8d\ruP(\1cÏËH: 
+RH]¸L
+Áô \80¿­1x2\83ëê\11\18\91\98YXY{éú­¡Ñ±ññ'\8f\1e\föt\9c?SªI\8bÝïë.ä\80Ùà\ e
+d\82ÐÝ\17´0»°üt]ó¥ö\8e\8eËm-çëÎh\8b5\19\acBýä">\v´ÐÔÊôA@a:\89½CÔ©\9a²³\17¯õ?x<15==59>2ØÝV\7f²0+1"ÀÃ\95K'ã\91\ 3Átr\8c\95A @xÒ¹®ò\80ðøÃù¥§\eZ:oÜìíëí¹ÑÙÚt\16\84BZ|D\90\17ð:\8d\843±2$1±\ 4*[àî§JÈ<~ª±£ïþøËÙ×:ÝëÙ©ñáþ«ÍgNä$G+½Üx\f²½\1dê È\f\9eÈ3(*éHÑI\90        7o\ fÝ\7fp\7fèvïõö¦ê\8acYIÑÁÞRxÏ \ 1Ê\16K¤q\<\ 2#\93sKÏ^êºûøåüÒêÚÚêÒÜËÇw»/\9d+פª\83\15b>\93b\16P|7E°:ESZÝÜyóÎðØ\93ñ'c#C·®·Ö\9f*ÎIQ\87\1aBÁä àĤsE^Ê\98Ô£Úú\8e[#\13sËï>­¯\7f\ÓÍ<{Ð{¹^{4í@¨·Ä\89e\16PL¾Ø;46½@[×Ú582>9555ùôáPogsu©&\15­ô4$&\9dç¦\b\89=\xêüµ;\8f_éÖÖ¿lnn|\\99\9f\1cíïl8Y\90\1ekFPN\12\9f°¸\f\10
+\9d\9f¼\98\99\9b\9f\9by1><p½¥¦<\1f^3`ôÐ\bsè: 1@ÛöÇg\16\9d¹Ø}ïÙìÊÇ/ß\7f|ß\_{ýòá@g#\ 2Jìd\96Ñ\ 3kFâ«JÈ*>}áÚí\87\133\vº%ÝÂôÄÃÁ.\90  ùÀê>Rèp\81Î\ 3\93^x[A\0Ú\96\90]r¶õæðäÂÚÆ·\9f¿~~Ûx·\b\81j¨,H;\10\82zFíÙ\ 2%õS%f\9f¨n\ 1é95¿´²úfqvrìNWKMY^J\f\bO'\96\ 3Áä§ð¶¿}U\89GJϵ÷\8d¾\|ÿåǯ\7f\7f}ßx\a\1cu«£^\9b\9f\1a£ô\12\81­\a"\13µ;j\v\94³Ô/ü`NiMkÏý§Ó¯WÞ®­êf'\1f\r^¿X]\92\93\14\19è)Ú^Ǩ\80\82Ô\94Õ^î\7f4µôaóç¿\10¨µ\85ÉáÞ¶se¹ÉQ\81Ð\1dE\82\93\0¥'\8c\11(ÿ\88¤\9c²sm½\ f\9eý¥\83Ö±nvbtàJÓ©ã\99    *?\19\94å&\8f¨mPPÛrËë:\ 6Æ^-\7f\84@ýóu}eöÙ½î\96êâìÄp\7fw¡#ò\84Aë­\aK³ÃSXÎî\0Tnym{ßðóYènYY\9c~
+¶q\1dØÆê\10ot&Ï\18\14¤¦¾s`l\1a\80úñë\9f\1f_>,M?\1e¼ÚTuì0²ô\1c챦6øïÒÀ\9b\ 1\ 2\15\99\9cWQw\19\1c.³ºÕ·«Ëóà¾ëj©>q\ 4L\1eòb0ùä\19\81\82ÚVQßy\e\ 2õåûÏ\1f_ÿ~»09Ò×^[\9ew(:ÈÓ(¢Ð\ 3\ 5=®X\ 2Y@ä!M\ 5|áÍêÞ¬¼Y\9cy>ÒßÙ\b5p?²ó §£\ 2
+\ 4\ 1ð7h\e\ 4êÕÒ\87Ïß¾\7fýüayf|èÆ\85ÓEY    À±¢\9f<´²\\ fÊ\81-\94\ 5F¥äk\e:ûG'þz½¼¬\ 3\ f\86¡îK5¥ :\83<\Q\89ò-P\88¿5Ú\86+\10¨÷\7fon~þôváÅh?¼óÀ\ 3Æmû8@ËP\16{­lì\b\ e\8eBy\10x3T6\ 2PÏg\16\16\17ç§\9f\8dô_iª*Ì\88CÏPÆþ\8e:¤Ñ6B Àa¾±±þn       \18
+$A     \14寫\ 5µÉ³´²Á\12¨\8e.\9eJuZAUÓ\95\81ÑçÓs\vó3\93cw»[k\f»\98ñÿJ(\8b\9dõûO½¿\ 5°¿+\e¯Þ\1e\9bZ|ûáÓ§÷oæÀû¥£¡\12Z-à¨c«\ 5=N0(ð
\8fø2ÿfsÝ£øi\ 5!ÆJ"\12\11¢\bQS¨\99ÖTJ«\86j\9d*-ªª\83jMUZc\8bª ¨1æ$2!ÄP¥GWOï¹w\9d?ê~\9fç}#zÎ\1dÖ\12+Þ_ü kåÉ~÷³÷g3a\85\12ãª\7fbI³±µ½©S-\8c\ 1\e`C\ 5ð9è\8\11L:\98A\9e³èù\ fZ\11B9B\10`\7f×´öO)Ö¿|ûñ\8f\1fß¾l(¥C\9dG\feoVC!¡È\15*JÌ,|X×.\9e\Òèôúu­|zè\1dP9  w¨bL}\81F\8d,ðs¨Ö\91O\1cñwAù\8b\94B·{ðýû·ý-í"P9i(H(\ 3«\98S(r\]\86qÕÐ90µ¤^[__QÎ#CU\10\86:\11\86"d\ 2\81(\86\87\10ë\88TØß´C\7f×v\fL+t\9f¿\1e\1cìï¬)¦\a;ë+      C¹\9b;¡°×­l\1c\84\ 5ón\b\84Z][U˦%ï\9b\9eÞ\ 3fÁkÁt£\932Q(\96\96Väci\89Ä:kô\ 5~m¤¿³
+\1fÖw\ eJ\97u;{û{\9f7T\18~Qå\85\9a¿ò°×\r¡\10\r5óôu·D*S¯¬j\96çÇúÛ1³D\bIC\9d\84\93\95µ5\95j\ 3\ f\95jmm\85¤2*e\9cz\11\97¯\17U5¾\93Ì,¯mí~ù¬×Ê&Å\1du\95F\862¯¡\f^gpqé\95>oé\1d\99\91©´ZÕ\92\a¯\97¸P?\9cP&\9e\8bÔ  d¢ÚØÒhvè¡ÙÚP\91T\16\16¤RÄkCt\80\18\86çðìòÚæÎÎæÚòìHOó³ûùWbCýÌÄt?\9f\1f\97\9e³«\87_X\ 2*½Ö¾O³r\95\98\9f\18èl¨º{#9ò\827\87q\12\86Â:\81L4;{\aG'ô8: ­°Td\ 5â×\86²<8&\rè·¥wtN¹ªßÒëÔ\8b\13¤ÁÁP\9cC(7§P\14C\96_ºöke]{ÿØ\9c\¥VÊfFû\88(\17\0CaC\99ð=X'+k\90ÉÁÉÙ\85Î`0\19\fú9gG{\9a-Õ¨\14YÁ(Ë3n\95¿xÛ76¯\]ßÐiåÒáî×FC\99auþíü\14+[c\967v\rLÌ+TªåÅ)I7\8aÎ+±!¾\&¼@ÓÎeÔÉÁé\1c\83Ébs8î\1c\9b+ÃÅÙÑî\88R\16\86\88"_\9bxbA¹¢ÓA\ 5\8fÿd(ÌtfÔ\89à\16bÀD§åÝ{öúýÐÔâ²J%G7¯ñ1ºyp0º#ñ\ 2\9a3\84Nv\ eÎtW¶;Ï\93ïíÍ÷òôà°\98.Nöð³-QN\9d%V\ 2âò¨\94\eÅðÚ\ 6§\16U+«+ª¥i  a¨¸Ó1Ô!·p}CâÒ\vÊjÞô\8eH\97\96UJÙì§\8f\ f\7fͺ\14îïÉÂQn¢¡P>ÙØ9\9ecºq=½}\ 5\ 1Ba\80¿\9f\8f\97\aÇ\95\8e\95¢`ü¤ \9bÇôð\r\89\ 5.¯nî\1e\96.©´+\1aÅÜØÇö:ÄP§d¨¿pyE-dù\8cL©Z^\92\8eô¾©)/È@\9d\apG5ÑPF\9dØ<o¿\80 \900Q¸(,8ÐßÇ\8bË\ 2¥l±R\16ÈÞ\ e.n\9eþá\89\99·+ YF¡\825\1aåâ4
+\ 2TÁa\82Ó1ÔÏÜò¨¾C<\ eYND\14X=/-&ÈÇ\1d:Ϥ\9bw\86¸S64Ð\89ãé\13\10\18\13\17\9f\10\1f\e\15\11\1aèÇGJÙÁ>\ 2J àÎ\83\9b\87\ 2³ª\ 1\9dF¡R«äsÀtõ\8f\8a²\93\11\94\93\95g^Cá\rê@g£PÈ)yòêÝàä\ 2D\94bar\10v^qN
+D\14\9b\ eÐB±8öÁÈ\80¢Ò\1c\90\81¡\91±\97\92ÓÒÓ¯¤&%D\87\aù{sY0Ü\90RÈuö¸óâÒóïãÀ\ÀÍ2=ÜÓò¼¬àj\ 2ª`³Cù/G7hp\f\ e\85\1e\b\ 5¥Ú@QEÙI\17\85^n.&E\14¡\93%ÕÖÞ\99Á\ 6\9d\89©W¯çäæåÞÈJO\8a»\18,à»»\ 2@B [\82\9a\8et6ØûRV!ܼ\ f£80åsãbh\96â\9cÔè \1f\Áæ6\14\89\9b\87\e\14¸\ 5pS\8dp\13Ú¸\1eö        d9\81\91\10PNt7\9eO (&)#;¿°¨¸øî\9d\99©    \17\83ý<Ùh\92X[¡Ztfr}`Må@çu¢\1c \ 2óÃÛ\97\15\85Ð,\ 1^ìÓ0\14\81\9bvÎ,\94\9eY\98[Æç\975Z\18z\18[
\07y,g\13\85"/\9e\8b+÷¼0,&93·°¤¼òQÕ£\8aÒ¢\9b×Rã#.øxÀ&¡Áö\83\18CQ.\82\91P^ÓÒ#A7O©\98\87\1chzz/\ f1\9d\87«³\9d\89\15|¼ß\80²ÜÅÍKx1)û.æ\96\16-\12
+è \10¸\`¢Pd\92ÃÅcrøþ¡ÑI\99ùEeUÕ/ëêkk\9eT\14\17\K\89\r\vàCåÛÓllЧÜÏ_\88\86biïÿ4\v\r\8cQ\ 5±Av\12Át´S0\14±A\11àE§æÞ{\ 6\115#׬­­(\17ÀQµ\84£L¼z\ 6C\81Ux¾A\91\97®æÝ­xVÛô¦­­µ¹áyeÉÍÌË\91\1e\90çv4\9a\9d#ÝÍS\10\16\9f~³´\1a¢|Ò\18å5å·®&\84    ÈÃ\98´¦\8eó#\bÜdp}BbÓo\96Õ\90Ój}\r\18-\ 6\94
+DÍP\8eû\12É\84BVñ\ e\10Å¥åÜ©¨n|ÛÕÓ××û¾­©æáÝÜôx\11²\94³\83½=ð\ 3\18*2éú\9dʺ¶\8f\béÔ*T,]¯\9e\94ä¦F\aû\9cÀ\9a\8fÀY\ e},\bK\0À«m\17O.itzýºF65ØÙðèÎõË\11B>\eÜ~üáë\8d1\92Åó\r\8eJºv»ìYc[\8fxxttdðCÇ«êòÂkI\91Pf,\17'GGÔ\8b\82C6\0RQkTr4\12ðÌCg1DùIKñ\7f\7f\ 3ÂM\96'lÐëEU\8d]CRŪ~{[¿ª\90JÞ½z\|#%
+\b\ fÞ"a÷ã\1c\8f¼yN\f\ e?@\14\9f\9eWRUßÚ;46=3+\9d\90|hkx\\92\a\ 3NàÉfº8\9f£³¸¤¡jÁPPÀZ\8djIJ@TF<P¹«iÅrÌ\87ÄM\176?029§äéë\9e\919Õúöîî¶N97ÚÓ\fd\ eE\ 3#\94|\8dÿë|gþú\1cþ\ 3 \ 5Íê\8a\9cuûAMK÷ÐÄ\9c\90ÍOJº!|ng&F\b\81:\19t\86+ÇË?ì\106\17\95Ú\15­r\11³o     \82(Då&\98ûØÏ!n\9e\ f\8aIË/}þ¦o|Q»¹»¿¿«×.\8e\7fl}ñàVfb¸\10U\12\9a\18ÿU)R\9a³ÆçP,\ 3D\81my~!1©9h\98ôÃ0Ñ\10Ý*îh@Ë$*È\87Çf¹²8(ïÉ\84\1a\83\ f­\12\ 5ÜNÞ<\ 2¢Ì\1eå\86,gr}Cã2n=xÙ.\9eRèv¾\1e\1cìï¬)¦\a»\0Ío¤D\aûòÜ`bàÕúw¥\8c\1aY\1c}\8e¨uöpéB\9bå߯nî\1e\96ʵë\9b\9b\e+\8a\99áî×\0Hi±!\ 2/.\9bÍñ8/\14Åg@å5wK¦eêUÝ\9aV1;úáM\rºy¡~¼S\81(,\14¾\14<\81\báfC\97dV¥ßûöýû·½MÍühoKuéÍ\8c\84p¡·;ó\9c½-\95\88©\9fÎH\8a\ 4ÊP`¨Ácee\85þP(X,âßX(4LÂ\133\81þ[?\8e/¨×wvww64\8bc}o±\b¢\80ó<.\97Ç\17\84Dc\86ê\10\8f/@ÿnè42©ä}ÓSÔyGn\9eyuú\85ÌrÀÍ\bÀÍ'M=£\v+Û¿ýþÇ\1f?\ e>ëäS\ 3\1d\88òRbàmÃİ\87\89ñ³R¤\97\90\90µ5\15\1e\e\eàkªµ5ÈEÁ¾\82\ f Ò\83\ 5Ç\17¢\ 5÷°®c`J¾ºµ÷õ·½í5ù\94¸½¶\ 2\85T /ßÓ\93ïw!"ñjAÙó\96Þ\91\19Åʺ^¯S/M\ etÔW\92ýKÜ<³\e\8aÈr\84\9bQ)¹÷ª[ú&äº/ßÿùç\9fÿúýë\16Xª§¹ºôßÄ\97×CSy\1eÅÇQG\85\ 4\b\ e¡÷Þ!R\ 4\81\0Ò\82\14é
+H\93\88\1a\ 4YP:\ 3R¤)¡C\b\10:\91.Ȩ#\ e\8a\95Qìè_°ßß\rºì>Î>$\ f\aî¹ßsÎçøºÚ\1aÃÄ\0ó¡\98Ú÷ëO¥~\1c\13¨\84D:Ä\ 3¸\88Ãáñð\87\97\87çÐAÐ\8a#ÕÞ}ûÑÔ\95TÐ0¶s\v\84»-©£÷³&§Ù\93#\fz]É\154)\819U\95\15\95H\9aú\16(Æ2®ÀBèìg\ e2{Û\eáè\92\8169\9dÇ-çq²\YÇÜÉ'<9çz-\9d91wïþêÊâÝÑþ;µ7.§\9f
+òr²4\80N"¢1¶\13S{~È\ 4Ç´\1f-Y\1e^\1c\9e\8f_\80\b
+\12\b\ 2ü|x\10kG*ôÌAÎE\19Û¹\a\9e\ 5\833F§\90Á\aÚ\eJi\b×ìMu5H*ª\1az¦¨\17\93³ÿUÙØÞÇ\1c\1efö¶5\94\86z9\9aë(sÏy\b7\ 5DeHzV.þQ©WJ\e:\87ÙK«\ f\1f=¸¿0=ÜÝ\Yp!92À\9dl\ 6æ\ 3r\86\98ÚÏ1ß.\99à\96xq|ü\ 4A!\11Q"Q\f~DQ\11aA\ 2?\1eI\85\19\90Ã\9bÈzpQ\1c¡        gfØãÌ\8e[e¹\19§\8e\83¿õµÔÕ5u\8d­\ 1´âÎæ\96\ 2Ï1Y#,fÏ\9dÚ\12\1a<ánoüÓy\\8a(\82\98\9c\9a¡-¼ÁÙ¼\8aæÞÑÙ\95\87kO\1e?\\99\9f\18h¯/ÍÍ\8c?áãbk¬\rÍ'Ìÿ\93\11þ#Ó!\1e\1c\9e\9f\0"\89IHJËÈ¢\9f\8c´\94\84\98¨0\92ê\10:*\b0¬õP\98Ce¤ÑJêÿW(Êa\vC\1d--]#ËÃ\1eÔè39EÕÍ\9d\fÖè\18\8bÙÝRS\94\93\12éïbm *ûÿ\8dÎ\7f®\13G(x\ 3\rc{\8fàøs\ 5¿ßfL,ü±¶þtýÉÃå\99ѾÖ\1a \98\93`>«\1fæã0¯\9cäÁdâ\13\10\14&\8aKÊÈ)()\93TUÕTUIÊ\8aò²RâDa\ 2\1f\ eª\12\ 1\1e\84ÿ\9c\9d\94\182
+¬7\ 3ÝÚÑP\9a\8b ÄÁÒX_WÏÐÜÎÕ7ìô¹üò\ 6zÿðØ\ 4ð\gSeÁù\84\13ÞÈy°ó¸ã¼={\7f\83×\89Äì¢Zúàô½Gë\e/\9e?{ò`iz¨\v!BRd\80\e\98\8f$'ÁÁÎ}\9c\80Þ\a¦C2   \89\88\81J\8a*j\1aZ:zú\ 6\ 6\ 6úz:Zê$%9iqQA~\8eR (\1e\ 6%     hÍ7"%\aÑ\1ak\92Í\9e\1aeÐëK £\8eS\1c­L\f\r\8cÌl\9c=\83\0\rP-\ e\8dMNM°\18í\reWÏÆ\ 6y\90M4\15%\84¹±óvq¹²\8e\85³ODÊ¥â\86NÖÌýµ\8dW¯_¿ÜXûc~\82ÑVWLË\88\v=\ 60¥©\84N
+ÁÔ>,\9f\7f\83lB2\89KÉ*¨¨ié\1a\18\9bYXYÛØØX[\9a\9b\18êjª*ÉJ\12\85\ 4\10~¡¸\87(\94\86Î@ü\9f]XÝÚ34>5=Áêo«-FÝOq´1311³vp÷\8fHºPPÙÔÉ\1c\9d\ 3}¨QR£\ 3\m\fÔä¸ä¼]Y®\ fY\1e\9dF+kê\19\9b\7f°þróï·\9b¯\9e=^\99\19éA@\98\1cE\85<×!ÉAJAñíÇÐ\12Π    Ï/("&%«HÒÐ10±°±wp:âzô¨«\8b³£½µ¹\91®\86\8a¼\14Q\bÝÔ\ 1\10
+>\bF!\9e!§Ï]Ã\84àpT\rpTt ÅÉÖÂÜÜ\9aìz,$.\ 3ð¡­\7fd\92}\97=1ÜÓR\rD\1av\f
+8\ fÇ\85\9d·\93å¸\1fY~êl^ekÿäÒ\9f\e¯ßn½\7f·ùrýáâ$\138\87\96\11\eâ\r\88 ® )JÀñ\1cà\84\ e\9c\13A\98()«¨ª©gdnCvrõðòñ\v R\ 3ü}¼Ü]\1c\f´H
+\98R\80T\a\ eòbµ\aY\18\14\9byµüV;DÐØ\b³«\ 5\16eJ\14\95âdgmem\7fÄ30:\ 5À½¥{hâîì,{|\10Ì\9f\97\19\17L!\9bh)J
+ósÅy¿üw\96Ç\9d+¨ncN¯¬½øûýÇ\8f\1f¶Þ<_[\99au7U^;\9f\18îçjk\84y\ f\8fî\ 3K'8'qi\ 5\92¦\9e±\85\9d£+åX@PhxTtLLtTxh /Å\85li¤M\92\97\14\ 5Bñð r¾\bõ$"Î;½\83,\980\1d\8d\18\81P)Îd[[²\93\87_ØéÌ«e\r\1d\ 3cì¹ù96pV=\ 6¤Gm\fÕäĹä¼_v¸\b\87Ë!ËÛ\87gVÿzõîãçÏ\9f>¼}µþ`~¼ÿ6jç(ª\9b½\89¶²\8c\18\83\88ÂqüBpNJê:F\16vNn^þAaѱ       É©iééig\92âcÂ\8eû¸9X\81RX\ 3ðÀ¨\81Ú\83I\89j\ fÛ0­Ý\ 3C@\93t Éó\89\91TO\17\aòa'7\9fà\93©\97®×Üî\e\99\9e[X\98c\ 3ôÖ\14]L
+÷q¶ÔU\91\ 1\8eóöìâòcáÉ\90å]#s\ f\9e¾Ùúôåë\97O[o\9e=Z\9abÒQÚ\9e\ 4"4ÓQ\91\15C\91\ 3k\8e\17/ D\94\92WÑÔ7³qtó¦\86FÅ&¥e^ȹBËÍ¥]ÎÎJM\88     õóp´2Ô\ 4q\85\90¸ \14ATF\ 5jÏ/2\ 5Ã$Ø'\8cî;u¥yY\89\11T/WgGç£^\81\91\89çó+\1a»\ 6'f\17\96\16ç¦X=Í\95ùYñ!\9e\87M1çñrÉy\90å¼PF*ºèß\a.oì\19[|´±ùáËöö×Ïï77þ¼7=\88n\1fv\f\ 5\84"É¢Á\a;\ eé$&­ ªmdIvñ
+\b\8d>}&3\9b\96_x£´¬¼¼´¸0ïRÖ\99Ø0\7fw\a\v}\b6\11h¾CàU¬ö ^Ã\93³\v«\9aÚ{\19\ 3}\9d­7Kr3\13"\ 2½Ý\\Ü<\ 3Ââ`äÕ¶1ư½9;9\b\98ECγ5T\97\17\17BÎÛË\rça¥G\94A\86\b\88I¿ZÑÒ?yïñ\8b·\1f¿~û¶ýåÃæóÇËì¡\ e$\14\80\ evQâÂ\ 2x^\98u\98Njº&Ö\8eî¾ÁQñ©ç.å\15\95Vݬoljnj¬¯©¸\9e\97\9d\16\17æwÔÞ\14ÔE'Å\ 3f\15ØÙ\94a¨ÿoÑ{úû{;\9aknÐ2\13"\8fûPÜ=¼üBbR²\vª\9a»\87§æï­,/Î\8c3Ún\16]LFÎÓ#aÎãRDíýí \94\9eìNéåWÝ\1e\98^^{ùîÓö·ïß@(ÎEÕa ãA6ÕV\ 1\e      àq\b2\89\93©­3\1cAlJÖåkÅ\95µ\8d­ôÎ\9eÞÞÞî\8e;M7Ë
+rÒb1üÒPD'\ 5g\88\84\ 6\93\87%"¡ÚºûúzèMÕH¨¨ ?o/o¿à¨ÄÌÜR\987ã³K+÷\97\17Ø#½-Uײâ\83\91ó\94$E¸å<Né       \8aË©\eÙy\ 4ÅeAé\r²ïÿõjëóö÷ïÛ_Þ£\8c\9a\1c\80o
+a\1eàfg¬¥$\rBñáA'QIyUÐé\88÷ñÈ\84\8c\8bù7ªê[è=\8c¡\91±ññ±ÑaF×íúò\82\8bgb8w(\ 3\9c\8aCvÝ%TEC[\17hÚÖøûuZfbt(ÕÏ/ (">ýRQukï\b{qeuuy~j¨óÖnçññpÇy?\84\92×0!SBN\9f/¼Ù>4³ºþú=&Ôç­×O¡õúZª
+\0\ f|]ÐmH\89
+
+ðñ\ 1\17HÈ©h\9b\80NAÑIYW
++êZ:ú\ 6a¼Í-,..ü\9bøò\8cj2O£ø\9c\9d³{fv\\ 1A\9a\80T\ 1)\8a\88¨\8c`Åî(\8e\8a½"*\8aÒ\14\ fEP)º ½\b"R¥Iï-\94\0\86\b      \10B\87Ð¥
+\96}þoÄÁ³{ökÞïorróÜ{\7f·\ 1\8f+ÉM\8dEm\ 6¯\99m\«*\8f\f»\fÂ\1ceÔÞ\13W1ë!¡2\91PÞ.ö·®^8wîâ5\eÇGÏÃâÞ\15U5\90\9bhM¤z¡óPç\99|ë<Ñ8\ fÑÁ¯\b\ 3u\11\1dÀÒ{\9dQZ\ f¥78:þabl¸\9fßB­+Í\8c\87©uû¢\85¹\89\81\16
+±åb\12R²JêºF¦û,Î[Û»ù\ 4E%¤ç\16WÖ¾'QéL\16\93\80gòRb\82¼°\ eج\ f[\16Nê_ËWÈ ÚØwò\9aý#¿H°\1e&TT \8f\9bã\1dë«\97¯\·qpõ\ e\8aIÉ«¨#6ÑéT"¾,\a:o  m\8aÆyB¡þ¹\\12\86Å\96=Ç/Ûy\ 4ƾ+k`´¡Ò\9b\80\88êå5\93j\80\ e\ 2\1f;Y/b\94\94\84\98\98ø
+éUªÚ\e\1c={ÝÞÍ7$&9«\10Z\8aÂhæ´¶óÚÛ¸Ít\12üƤ\97~îp\fû·mÐ\82²D\87()«¤i\0[ÉÊÑóÅË\84´ìÜܬ´\84èàg\1eÎv67¬oÞqpyúâ%$y\r\81JgÐ)\84êâ\8c7ÁO\17w\9e\906Eà¼E¡¤V©ëo\81©jï      \18\9e\81ÑÁÄø\bD\14\83P\99\9bü\12\9cwåÄ~SX0ÈybpPr«Áx;\ eY^»çê\13\ 2\8c]Zý\9eÂhiëèêîíííîäq\18Ä\9aâwPì\ fn\9e=²c\93\ e\10\ 2\12XJNYËÐìÐ\19\0Î\80èÄ\8c\9c¼¼ìô¤\98P¿'®Nv¶¶÷\9c\\9eø\85Çe\14â\1aÈ4&\93F\ 6ç¥Dû»ß»ü§ùÖuÂ\9d'\12ç-\15
+ñ¦Ãã ¸¬rÂ"F\r÷wr\9aê˲âC½\9d\1fÛ³u=PÔ÷\83Zk¸mßñK·\1fz\81UrËðD\1a»\8dßÝ7(\18\1a\1e\12ô÷tpè\ 4@z\90Øö\92Å\9e-à=\19I       qH6\15¨\8d#çnÁê\8dIÎÌ+\0\8ez\e\e\11àãáòÀÉÉÙí\89_Xlj^9|\1a\89\88\87ù\14æóðÖ¹?vnÒU\15ÙÎÃÀ\1c\84\12\93RP_'\14*8.«\ 2\13jdl|t¨¯\83\ 58\b|ìxýô¡\1d\9bÐÒ\93\14\17Ch ¨¡g¼óÈ\19\10ê(<\99Áíèî\17\f\82Ä\83=ð*¾$#6è±\83Õ)ä=\14n+\0)Ôt¡6.Ü\865\17\9b\92]P\ 4d\9e\1a\1f\1dâçíéîêæáí\17\1aó6\e\19\8fÁb1¨ï«
+ÓàË¿}ÂjY\919ïÿ
+56\ 2\11Å"Vç§Dù¹#çm3ÔVA\ 6\1cs\90\81ÉÞã\97l]\9e\85'd\96âIÌV~/¼4195==5¹èÚ\9cÄp\1fç\9bg\ fo7\ 2ÓÊHI­\94UÒÐGix×íyD|znQII\11 yld°\9f¯\97\97÷³\800H;h<\b;6\8bN®+G\10å
\ 5ݤ\82´øo"Ùy?ýh=s\98z\90QY\90Qm=\83H¨Á\9e6f#\ eà\0M-\vs¡óP$K¬\ 4çm4;hyÝñq`LZa5\91ÑÚ\89`~jzvnnnvfr\1c
+\93M®)L\8dòs³Åf\9aº\92\9côJ\19yeMaéyøG%e\16\94\96\97\97\16æ¤%¾\8e\f       ð÷\ f\b\8e|\9d\9cYXYO¢³ØlVS#J¹à§÷­Oc\10%\ f\10%"çý\18æÇ¯Øy\ 6Æf\96\81\83ã£ÃØUTÀUø>´\11\96¼\92\8c¤\18\82(i\ 5u=ã]\7f\9c·yè\e\9e\90]Þ@ãðA§I\90i\1e\9e\8fs3\93c\82îVZ}黨@O\98\1f{MÖk*¯\92\95\91\ 5\987\84­\ 4Y\1e\18\93\92S\\81ÃU\94\16d¥&ÆFE\84\87\8a{\9bUXYG¤±ZZØLJ\ 3\84\1cºæË\7fîý\ 6Q¿\8a\7fÀ\83Í{,.ß{\14 ä¨®\81á\91Ña\f7+²!N\9d!NwmÖ\83D^\81  \ 5\11µn«98ÈÝ/:¥ \9aÄâõ
+Æ>ÌÌÍ/|\82ga~nzb¸\8fÇl¬ÌI\bõºomyÐÔP[UQ^N^I]\aËò\87>¡oÒó˪jk«+A©ôäø7±±ñ\80öEB\9d8\9cf:±¶$\13õ\bÔ&D9\ 6Q¢rÞRà4Þuì;\99s:û\87FF\86@(tQ      á>è¢v!lÄ\84\12\97\94]­iðû¾\13×ìá\ 43JÐ\v\ 3#\1f¦\91N\9fáù´ðqfrt\0¼W\9d\9f\1cù\fJ\v\0AWcµÂ*\ 5 ùÍ»\8f]¼ãú<"1³\18\87¯o¨«Å\95\15æf¦¥¦¤¦gå\97à0\9d¸\\ e\8bú\1e\97\9f\82QùÉ¥Q.\12ç-\9d0\9bv
+·^Ja-¥\85ß'\18\ 6¡\84\18\95\84¡1ä)L64ô\844´Áô\80åu§§!ñÂP\e\1a\9f\9a\9d_øüù\v<\9f?ÍÏN\8d        º¸T|QZô·\90Ò×TQRTRÕZo\ 2KÏîÑ\8bè·¹e5\r\8dÄÆ\ 6|uyIA^NNn~qyM\ 3\89\ 6ÐÚÖÚ }c\ 3ì?ÒSWX)2\88ú.Ô2       Yeí\8dÛ\ f\9f½åì\e\91\9cWEjæõ\f\ 2\ e\rt·³\88\90\13nw!'~Ç\ 6\8c\84¸¸\ 4ì<mC³\83§o<ð\ eKÌÅ\11Y¼¾á\89é9¸§/B¡\16æ¦Ç\87zÚè\r¥ï^\azØ]\81\901ÐVS^­¢¡chzà\94\95ã\93 ×i\ 5¸z"\85J!56ÔVU\94\95\96\96UT×\11(t6·\r¡}\13¡ª õU\80§ýµS\aL\11\95/F¹¨\84úù\1f¿,\93\90QÒܰ\r]\88Wh|v\ 5\81ÑÖ\ 5H44ØÃk&\ 3\ 4x:XY\1eÜn¤£¦\0Ø(\81aãFàë\9bÎ>\11IHX~ÿÈ\87\99\8f\v Óׯ_A)ðÞ\a\14R\84\8aì¸\90'\8eV`\1eC\1d\rU\155M½MÛ\ f\9f¹ùÀ;4>S¸S\18t*¹\11\fX[\8b¯'\90Áv°\81xm\1c&¹®,+!Ü\17ÝònÄ«Ò"\8cr¤Ôß~þû/¿\89KC8\83%®Bí¡4o\82\12\e\1c\1a\1aìå/!ó£»·¬ÓT\96\97\96\94\94\92At°\1d      \ 5\17\98_Mfó\aF'g>ÂA}E\ f\9c\14\b5ÚßÑLÄå&\86ycýn¤§©®¦¡½~ó®£`ñç\91I9åõdz3\e8\80\92\89D"\89Bc²¹í\1d|~G\e\9b\86\ e
\87N\1d4Cl %Ê\83\12
+\85\88\13Õ\1e\16²(¤jÈà½\ 1Á\90 ¯³\95Ñ\88CÞ{\ 4\91zÀÌHG]\11hh%´¼Î\7f      5»T¨ùÙɱ\81Î\16Hó·\91¾(Íw\1a¯Ó^³FSg\83\89ùñKwÝý¡,«\bMÍ\\88#.\87Íb2è\ffs\vÈÔÙÕÕÉã²(\7f\1d\14
+GE\19    \11FùOB4\874\97\94\83     \ 6!\ 5^
+KÈ©$ ~\1c\14\bú»yÍ0D`Ûz;ßBcÏ@[EANFFNQ\r\13ê\86³O8²Þÿ\12jj\ÐÅ¡Ö\ 2rþÛåö\ 58G\ 3\1d--m}#Óý'\85eY\KbrÐýðyí \16\174ãñ»º{zº;Û[èß\12ê¯\83\12!\e\b\95\12¦¹\fôý6ø     \ eÈ{%x*\e\9d\94\97Ï¥\13p\80\1eöV\96\87v\18ë¯QQ\90\97_\ 58´qI\987wôÿ`½/\9fçQ\9a\ 3\15§¿òw³½danb¨·v­îzã\1d\87N[ß\87(Ì*«§²Û;»{zA\9a®NÐë?Ì\97gP\94Y\1a\85KÇÚr«vj§,\9d\9a\1a\1d×<º"*\82 \b\12\ 4\ 1%\88\80\ 2¢\ 2\92\95 `\0Y2¢\ 4i\82\80Hh%IV\90,Ir°É9CÓ4tÓMÓ\88\80îî{ï×$Ë\9a\9fÂýÅ\1f°<ß9ç}ÎàÐ\bu\946J\1d\1eè\ 6C好\84\93·xm\97\fµ\86\92Ú¶\ 3Ø\9c\0\9c°¸Ì¢\9a\16l):m¸\17,\95\97ú2ØËáö\ru\ 5    A¾\ 3»wîøc×~>´`\8c¡üÁ\805­ý\8beþ?\9e¥àìM¡³W\91\97\1cùÔ  ØZ^\è(\1f\1fÿ       Q\19\15ÀM¯\90Ø·àÛ®\81\11Ú\18\9d>6F\e\85GC?ÓÇF\87û:áëd&\84û9£\93\a\86Ú³ö\86â\95\14 'Ê\1eúØî\81Ñ©yå\94\8eþ\11\1a\1d[ª¹¦ø]b\84¿Û]Ó«\17\ 4àxíÚµç\0\9fÐ\19\ 3Ép%[\0\ f¾\11jn\86àö6Wæ§F\ 1\1f\18h(\9c\11>ÎÏ\7fLH\Ní\86ÅC\1fÔ\84u­½Ã´ñ        \ 6\93É`L Ç\807>6:ØÓZ_\96\9bJ^:!û×\81¡\16K
+\ 1\ 2BA4J\9e'd\16/[ª¯£¡òý\9b¸0\1f§;\86ZJ2P5\aöíÝw\90\1f\veãJ\8aN\ 5àì¥b\8e\80\10ê\13\879ÚÛRU\90\16Mr\ 5c\9c\97\149qìØ     \11IEM\ 3kgXJ¹ð1\80k\99,6{\8aÍf³ð\9b\ 4Ê\1déïl¬Â+\ f]\10\ 5\89\13ë¡¡\b\92\82ìýsÛö½|'¥\95uLïy\ 4\92\91¥ ¥ÀRôÑ!âû¢ðYêk\9e\97\129ÎwðÏ\83\87\8f        K*^¾    BE¥äW6\ 1\99càüF(\ 4Riä\0W °\vÒ¢\82\ 2\ 2Bb2JZÆvàCày<)YSÓÓ\î4<\ e\87\9e\9c ¡\7fðCNrt\80Ç=S´0ÑpZ{CáìmBÙC«D\^Cß
+,\15\ f\96B\87\8f×çÍ5%Y\89\91\ 1\1e÷ͯ«+H\8a\bðCÙ\b\9c\92º\0\8e\82ó\95\92WÑØ\r\13æ{Bµ"â\fp³5\ 2/\8a\9d\14\14\12\91\90SÕ5C·\12ó<u\9cÅáÎ|Âof\86;Ía3Ç\81Ý\1aÁ±¡Þ\8e\96ú\1aòâ\ 2\87x\86Z;Øä    \85îÞæ\7füòë\8e}G\84¥U®bK¥ä\96}lï\83\ 6\ 1D\18éïh@Q\b÷sµ3ÕU\93\97<%(p\àäé³JZF6®<¡\86ÇÙÜÏóË|°B¨\97\80æÆÚÊgÅEN
+\8bI)ªëYð`­}\80Æ\98â~\9aý<77÷ùóì§O\\ e\9b\ 1û²¥\ e}\17\7f7;cm%iá#ûxP¾Æ\86"²GXêТ¥Ââ2\8aª\9bº\ 6©\80çãøò\95ç§Ç\84z;Ý1Ò¹(/uZDXDLò\9cª\8e\89\9d\eé/\85âm\18ø/«È\9e\11=%*!«tÅð\8e\v®¨\86®!ú$gfvn\1e
+\84bM\8cöwP*0kÂ\99½\ 4\13ñà\1a¯¼\15Jmü       £Ô¯\7f K)ë\98Üu\ f@8Xß\86\8fÒ\ 4\1dÎPK]iN
+9øñC+C\1d5ų\92\12\12\17Ô¯\9bßG\85\ 6\1dÕ=ò]¡z[ª\v £@(\1dÕs\92§ÅÄ¥äÕtÁ²Ä ì\85¼rA§\85/_\16\16æ\91PS̱!Ø\ 2Å\ 4\1aàyÉ·wǶ_Ö\83¡VYê Àés(\1a°ÄÞ¾¯jì\1a\0K1Ðäëjª)ÎJ\8c
+|ä`i¨£®¤ ''\7fAMÛÀÒÁ+øU:Ôr\ fî¨UB\11xPU\90\1a\rB\99\½(/s\ 6ÔUÒÄ\7f>.³¸®\rÁ\17ü\12è\ 4o\ 1\84\9afMPûÚ\97§\80ª¬èÑ?ÿõÛ\96õa(,\14²\14j)¾\93RJÚÆv®þ\91\98\0nÐÅÆ5\95\10Aò°·2ºvYMEEõ\92Ö\rS[g\94ÒÂ\9a\96^*ºz+\85\ 2àdP{\9a\80£¢IH¨K\8a²ÒÒ²\8aj:Æ6.O#\92rÊ(\9d\90<Àù\85/_á\81P³ÈP\83]\8dUïߢ&·ÒÇh°g;\18józ0ÔJKÁ\8e\11\93S»~Ûáñ³\98ô\82ÊÆN\0\1dàÁ\89±áÞvJEÁ\9b¸p\7f\ f\akS}]í+ZWõL¬\1c<I\91\89Y%um\0\9cßà\ 1&ón ó\94(\10Êô\9aº\92¼\9c\9c\82Êe½[\ f\1e\80½zpòæ\17¾b¡æ\91¡ÆGz[Q\93\ 3ÞÚ\99è(K\v#4Øòóú0Ô
+K\ 1K\1d\16\92<\7f\ 5®þÓ\17¯A\0l)&P \86\9b²¼ôØçþ\9e\8e\16&\86\ 67\8d̬\1f¸ú\84¼Â\18?@L\18\9ePÿý
+[\8fË\1eG[/7\19\84ºkv]Sõ¼âye\r]c\e'ßç    ï@ÜþQ\94¼\15\86b3F\a:(åù0ò¼ìo_¿tî4jr\1e\1a¬\a¡\96,µå·\9d\a\8e\8aÊ^¼fþàQ0Z­\rÈRÌÉIæøè`wKminZl8ÉËÙÞÖÚÒÒÚÎÞõIPäëÌÂj G"E_\17\85ú2?\8b\84êj(ËI\8e$¹Ý3×Óº¤ª¢ª®sÓâ\81g`tJ^y\ 3NÞìbòæ?Ïp&Q\93W\17\ 1\93û:-5ùú@\ 3Þ#,\ 5x¾uû\9e\7f\vJ\0qßqö\v\7fý®¤\16Y\8a1Éb!\ e\84B/ÍI\8b\8b\bòõtqtpptöð     z\11\97\9eW\ 6ç\91ÊKÑ
+¡¦Yô¡NJYNR$Éýþí\9bº\975Ô5uôÍí\|\9f\ 3|@­¡ä¡Z#\f\85\82Gík«ÿ\90\9d\1c\15à\ eL\8eF\1e4ù:A\ 3Þ#,\85\17ß~~\11\19\ 4Ï\9eA\8b\96\9a\98\84%ƤSû;\9bjJrÓ\13¢Ã\ 2ý\9exy=öñ\7f\16\11\9b\9a]\ÝØ9Hc®îr,ÔØ`'åCNRT\80§½\95\89ÞUm\1d]}3\eG¯ \84³¼´\12B}Y\0\ 3N1h\ 3\9d\r\15\ 5é1!\8f\1f\ 1\93¯¯&Ç\ f\84Ú¸      -¾­¿ï>tB\AÃÀÚÉ7<\ 1[j\84ÎdOM\81Rpú\1akJó2\92\9e\87\ 4\a\ 5\87¾ Ç§f\15VRÚzGÆYÄýZ\12jnvzrl°ã#\1amA^\8e¶·\8côõô\rÍï8xø¿HÈ,ªiî\19\86ßá%\8f\b\1e}\18\10ª\b!\94\8b\rL\1e)á#xä­'C-÷9A\9d2hÈx\ 6\91±¥\ 6i0\9S,\ 6}¤¯£©¶ì}VzRü+2ùeL|òÛ\9c¢\8aú\96î!4E\96\93Gð&!\140\11ù\99·Ë}ë[¦&f\166\ eî~a1iDý£;9\8f\84BM\8e\11
+\82\aº\ 6¦¼vQV\14394ù÷\fµaé­\85RKÔ\89\87\fa©ºÖ¾\91ñÉ)\ e¡T\7fgs}eI~vFzjJjzFvAIe}K\17¤\13\f\85\93·\12Ì\91P\94ò¼´\980?\ fÇ{6ÖÖ6÷\1cÝ}CÈÉÙ%µ-ØPÈ\84\885çgg\88àU¢à=q´Ô×T\94\10<¼wûw\98|Ã÷Þ\ f\16j\91:aÈ\80¥pK\ 1Ku\r\8d\9céi\ e\eÒ7ÐÕÚP[QZ\98\9f\97\9b\97_XR^CiEø\8e&\e2Ç·B¡Îy\13\1f\11èíþ\1f\87\aö\ f\9d\1fù\85D'f\16V-µÚ\ 2Öi)x°]^<u±5ÖV\96\16áß¿s\99É7¬Ti#z?¡\87\7fÚøcµZ=dä\89\96z\9dUZßÖO\9d`q¸\.R\8a:ØÛÑL©«®(/+¯¨ªýØÔÞ\ 3:1!xs+tZ\8cÞ\10`vaf\129\8cäíéæêæéM
+%¿Î(¨øØÞGÅ\86\9a'ÆËÒÅËÁÛÅü\9a\9a\9cØñ\83»\7fߺ:x<\91@ MË\8f\90ë\aJ\85ûüo\9b\97-evÿ\11ì¸÷UMÝÃôÉ)îÌ\fw\9a=9N\eîïéhmj P(\rM-í]}C\0Zl\14< ìÕB±°IJrÒâ£B\ 3\9fúúø\91\82Ã_&fä\97Õ·ö\f\8f-Í<¼]xÁ{\13\13úÄÑÊ@Sñ\8cÐa\84P?ÿ}ÙP\84Lÿç½ÌÃbÞ÷8þÜçj\9bi\96\9a¦ifÚfªi\9bJ&\85\16´HG\85È\92+\94½âàd\89G\9c¸äèp\1dRîqÉ\92\8bêX*K¨Sä¦Å!\916&mJHÚä\9e{?ßï÷7Óâ\9cóð<§¾\7fö<ãñ{=\9f÷ûóú H**ªªªjø©ªª¨ XÃ\89j`KùÌ
+\ 5\97:zîJ^        êÝ·í\1d\9d\9d\1dí¨¨\1a^<¯®|Z^^þ´¢ê\99¼®©åu\eæ¤\1c(\ 2ª\v\1f$\8f\8bïÜÌHM>þcÂáà  ?\1eONM¿q»¨´\12\16\ 4xW\ f\ 2E\ 5¯v@ð<ÆØJpð\94N®Ä\ 4\94ÔÔ54häih¨#X
+TÃFJ9Rȥ¢vÇ\9fºt«àQ\15Úþ\1d\9d]]\9d\10¿×-/\eë_ÈåÏ\9fËkëê\9b\9a[!\96
+N\14(ÔQÈÌ[\1a@(
+r³ÒÓÎ\9e>\91\94t2ùü\85+7ï\14\95\9f\v\1el¼¿oBÁs\19e\89\82§P(E5\ 1&D\89F×d0\99,\16\8bÉdhÒi\88\15F5\¤ú\8d\94¥\fô|ɺo÷ÿ+å\1a\1c\er\14\94®îîî®\ e\84êUËË¦ÆÆÆ¦\97Í-­oÚ\0!ÙòJNX8»;ÚZá$)+\81-\99y1-å|JÚÅ\8cë9ùÅÀ©¾\19Ú¿»§·\178)n<¢\9a\8aàI\a\ 4¯?&\1a\9dÁdkistÐãhk±\99\f:\8d \1a¶¡R\8e\94\81\99íX¯é\v"¶ìILNÏ),«©\87¤tv÷ôô`Tmoß¼n\85÷úÍÛ¶ö÷\9d8Bý9\11P°ö\9aë±OäÞº~%3#ójVöí\ 2¼%\11'ü«ÞÞ\1e\b^+¹ñú\ 5Ï\ e\82ÇQ\ 6¯\8f\13ÂÄÒâpyz|\81P(\14ðõx\\ e°Ò\ 4TÃHJ9R\ 2\91\95Ãxß¹Ë"wü\90\94\96u\17Õ9\8a\87\ f\1f\0U'Ôú;ôÚÛßC »\15\9c\ 6\80BmþöUc-,É\92{ùy?ggçäÞ)(\86-)\aNm¸ à\91àÕU\97\15\91àmü\9dà!Nªj\1a\80I[\87Ç\17\1a\1a\89Ä&&&b\91±¡¾\80ÇÕf3è\1ajªÃJ
+ë9ÏP2rܤ\19\8bVoÅ\86\ 4Ýe\1dÝøÛ\0\15°"¯\vQBM\830õq @"a¤\1aäÕO\1f=()¼WPp¯èþÃÇxK\ 2'\94V\1c¼NRe÷ó³\94ª©\b\1e­/x\14'M¦\96\ eO``l"±°²\96ÚH¥V\96\12S\91¡\90§£Å\82¡RU\19.Rd¤àâ\13\8a­\1d'ú#C\88?u\11꼺¾\ 5m©^¼Î{a®¨÷\ 1}î q"k\ f\1dÄ«¡¶¦²¼¬ôáÃ\87¥eO*ªÑ\96¤Ú\1f\a\ fÌ µI^ñ°àÖå3pã}³\14«æààaNê4M\96¶.ß@df!µ\eåàè4ÆÉq´l¤\8d¥Dl(Ðå°\19\98Ô0\9d\85\19ÚzF\16ö`\b\8b×n'u^Qû\92:8à2C¬¨÷\11ýaÐ8Q \0B\a\90jn¬\93×TUVTTTV\83L4\82t¡½@8QJ^õ¨0÷Êùc\avRª\89\82Ç\1e\10\89Íá   \8dL-mF9\8es\9dàîáéá>ÁÍÙIfkef¬¯§\ 3ñSÌÔ0\80B#¥Ngs\91!x\92:?\ 3\aßãg\90=|Í)ÞGÂ\88P\1a\88  \83\82\91"¤Z^6Ô¿¨\95ËA&\1a\9a\9a_¡-I\ 4\8a2\83\96ú\9a'%·¯§\9d\88\8fݲ:$\10ßx\836\1eêq5ÄIO_$\91Ú;¹Lôòñ\9d:mú´©~_Mrw\1d#³±01äsµ\98ÃI
+þSØ\10¨:_¿óà     °óÒªº\96·\1däìýôýï\93\87\ 3¬HPÔÖ\96æ\97Mð(\99\93â\84Í\0\94üÁÝ\9b\97\92\8fÄm[·t®\9f»\13 \1e}@ðT \9fX\1c=\ 3±\85­\83óDo¿\80YA\7f\v\ e\ e\9e\1f4{\86¿\8f\87«ãH+S#\ 1W\v¥o\98\1a\9d2\ 4\çÎÞ3CÖ\80\9d\9f¿
+*\85²\a%õ ¨O!)G
+\91èüM\99è%'^\17Q-Pò\8csGÿ±cÃÊùÓ½È\8dÇÖÔ\18\14<:\8bÃÓ\17[Ú9ºyùÎ\98» tÙÊð\88ð°åK\16Î\vô÷\9e0v\94µÙ R\7f\19Ú\9b¦¯ÎM¤N\1e\87GÅ&$§+²\87Aý6\9aÁ (RÈ»ÚA&Ú\90M(eâ#\15¼wäÊÉ»\96\9ath÷æU\8b\ 2}ÜFKM\rxèvQ\82"Áchéê\8b-F:\8d÷\9e:{ÁÒð5ë7mÞ²yÓ\86\96/
+
+\98âá,\93"RÐèÄ\12\94¨\86\8c\161\ 4¨sdçSæ \95ÂÙ\83½×F²÷9 \94¤°wuv ×O&PÅQf\0J~÷ÆÅÓ\89{£×Bð@5Í\8dùh \94þ\88\82\aÊÂæ
+\8cÍí\9cÆO\9e\1e\14\1a¶nSô\8e]±{öìÞ¹}K䪥Á³ü<]\1c\80\14ú%\8dºgÈ\e:T¤Î±\9dÛ\8d\9b43äëhÈ\1eµ÷Þw}6(\8aÔG¢\12ÝèõÉ\ 4\ 2\85\94|Pð\82\ 3¼]eÖ&\ 6<\ e\v@)>÷¯8xL\8e\9e¡\99Íh·É\ 1ó\96¬Ú\10½+îÀ¡\84Ä\84ø\1föÅÆl^·rÑl\7f/\17\99µ)\94\eñ)\95\11ðcô\14°\86\82\14±s\1d\81Xêè\ eÙÛ\8c÷^18çëöÏÏ\1eEê¿D%Àè?\10\9bÀ{\12ý\9d(y}ÍcjãÁ\8d7Û×}\8c\9d\85H¨«\r_\8bHáÏ\1d\ 1ÁÓ`°¹B±Õ(\97IÓæ-ù:*fïÁ#ÇN&\9fI>\95tôðþÝÛÖ\87\87Ìñ÷t\1eeE Ã9£¦
+¿F¿\1f\81a\r        ª¾ìY@öðÞ;yñ&rÎW\90½Þ\8f\9f\v
+\91úU!\12\1f\156A6\0\11÷¶ÖF¬\9aèÆ\8bY¿b~\80·Ûh\e\89±\90Ç\81ã\8dNÓP'\9f\8b.\17ØxF\12»1\1e~s\16¯\8eÚ¹/áø\99\94\v\97ÓÓ/¥\9d;uôÐÞo7F\84Îñó\18go)Ö\87\1f3ÐoÕ\81\96\9a\ 2ö\90ìÁ¾ìIì`ï\85®\ 1çL½\9eÿ òEóÛ÷\9f_R
+T\ 4V\9fq)@õà\e¯æqñíkd \16Ï\85¡\90I%à\8epç²\98\fÌ
+>W\1d.<hr\13k\a7\9f\99\v#6íØwädÊå«7²srnee^8\9b\94ð}ÌÆ\88\90\13Ñ<ê£s\86¡©I§Óh4\r\ 4[EÑv\7f6*\92=jïM\v\8eØòÝ\91³\99y%åò¦×í_PRýP\r\94\89\81\83\e
+\ 6*;ý,4ÔÆð\85\81SÜÇɤæb#}>\8f«ÃÑb\13X4\1a\9dÁÆ\ 35Öcê¼å\91Ûã\12O¥fÞÌ»{¯°° ?÷FFÊÉÄïc6\84-\9cé3ÞÑÖ\\849³Ù,\16\93É °UÑT\rÁPõÛ{\ e\13|\83VÀ½wúRvá\17
\1fÁÃ÷\rZyÏ\9eÜÏϺp:1n[ä\8aà\99_¹;;ØYIL\8c\rõ\85\ 2=\9e.\ 5\8bÁdkëBCÉ\}\ 2CVo\89\8dOJÍÌÎ/ú¥´¬¬ô\97¢üì+i§\12ã¶G¢èº\8e¶1\17\19\bôt¹:::\1c\8e\9eAênhHQÙ3\94Ø»øÌZòMÌ\81¤\9fn\80\9ccAø\82\92úCP8yÕeEyWSOÄïÙºnyðÌ)\9ep\8dØY[\9a\9b\99\8a\86\ 6B\98,øX--\ e\97\ f+ÏÉÝ/hYdÌþ£gÓoݽÿ¨¼ªººêiÙýÿü|%õÄáï¶®]\124ÕËÅÁÆÜÄØ\0@\vø|`\8d\86\8b\89Ú}HHQÎÉ\15\9aÚ\8eõ
+X´:\9aÈy\ 5*©/ÍÞï\80\82佣ܠóüñ\83±\0jÁ,ÿÉî®c\1deöv¶Rk+\vs34Z|=]]®.ß@liïì\15° <jwüÉ\9f²î\94\94U>«­«{ñ¼êÉ\83\ 2üOì\8aZ\ 55åáì`k)1\15\8bE"c##\98L¾®\8e6\8bA×P\e\8aÓ\ 6g\ fß{ÖH\10¢\90 ä\16\93\92êù³@Q;/;ãܱ\83±Ñ\91a!A3ü'{Ntsq\1e;ÆÉÑAfo+µ¤b(406\93B\95\a\86®\89\8eûç¿3r
+\1f\9föò\8cj2Í£ø\99³3;®®u\94±\8c°((¢HQ\ 1A\1c\90&M R\12i¡j\80Ð{\ f\81P\12jh\ 1¤
+¡I\91\80\88 \884\ 3!tPJ\90*E@"Í=gÏ>o\ 2Î\9cù°çìáõù\90\97\9b{\7fÿ{?Ì|\X\98\9f\9b\1a\1fîi\87îf,ÞÃ\96\93Þ\eb"\97\85/                 ]¼ (À\ f\80Ç\ 3\8eè\1fJÁ.Ô?ÀÞãÛ)\b\84ÄÜ\8a\81ñYX \ 5Π(\a_>/ÍM¼ëio¨*ÎJ"\ 6{9>D?Ð×½§¡¦ª¢¬¤xGþö-`.Ñ+B\82çùùøø\ 5.\89J)h¢lÜðq\99%/Z\98ì\99ù¥å\95å¥ùéq\ eç\9e\80ð9Û\18éªÝ¹%}ã\9a8xbb¢"\97\81Ô|\80îG\ fíT}¸-\ 5\0T\10Ädïê[¹\ 4Çe\95¾lë\1d\9d\86\ 5R;B­r\84\ 2¹)É¡Ä\10üÝ\1d\1eY\9a\19!\rôï#\10º:ÚZ\1aw\95ïÜ\96\91\14\17\11¾((xAè\8a\84\8c\92\11Æ34!\að²wdêã§Õ5öÚê§ù)\0º¦çÅ\19ñ¡ÞX\v\94\8e\9aâï·deÀ»ySZòºøUá\vçxO\9d8ö}\94úá\87¿ýÈ-\b"ÒJ\b´c@TzQM3X1\vÿ×\8aù\1fBms\84\ 2Ñ£7Õ\94å?N \85ø{8c16V\96\16æh33S\13#\94\ 1B[]Y^VJBôÊåË"b\92r*º&vÞaIO\80¹Aû]\Yû²¾Îæt\8c\9e¶ú\8a¼\14\eÆÌPGCUI\91û\80-Áϯ^\12à;ÍsìÐ\81\87o· \9câ\17¾¡pÏØÎ'"\85J\83V\f,\90ú#z\93\9dÍ/+\8brRã\89¡A¾\9eî.ÎN\8e\8e\ e\ e\1dæ¡\15ÚØPWS\ 5HuM\LüúMyµû\10Ë\93¡ª2À\9a]úüecss\ 3\94\f0\83\80¥\8a2âB}\1cmL\r\11Ú\9a\1a\1a\9aZàiªßU\92\97\95\14\13\ 6J\9d8zp?G)س÷÷}\1cHIÜÖ@rW\fl\90â
+\ 5õÍ©ÑÁ®¶\86çeÔ¬Trt\ 4\ 1\8f\v\fð\87\9e\9f\9f\8f\97\87\8b\83­\95)RW\ 3¸JZRò¦\9c¢\86>\1aë\e\91\9cWÉít\9f×7···6Ö\96?~x×Ýú²,7\99\18ènoe\8a2ÐÓÓÓ70D"\rõ\11÷Ô\95nK\8b\v\vð\9e:~\ 4
+ßw\10
+\82Ô\89³\82`Åè[ºàb3\9fr!µºwH\ 1¡8õ`\19\80\87þ¦\8eVJÍNON\88\8b\8e"\11\89D\12        |F\84\85âü½\ì¬L\f´\ 1uänÉÉ+k\19\98c¿9
+\94ßõ­í¯\9cÞ:=ÚGo¨¤¦Å\84ø8ÛZ¡M\8c\8dMLÑ\16à¡MPzZªò@©ógOþ²\13>\98ï\1e\ 4©C\Hé\9a\93Ò\8a\9e73ßMÎÃ\0)n=\0\85sqvb¤¿«­±\96VZ\98\97\9d\91\9eJI¡P(©àQR\92ȱDB \97\1c\85ÐTUTPPº«m\b     \ 5\ epýÛþq\10½õ­¯_¡\9a±4Ë\ 2Ù«.Ê$\87\ax8bl,--­\1fÚÚc±öv\8f,M\ruîÊK\89      ñ\9fá\81,\ 5¿P\7f\86\94\91­wDJ>íuçÐÄÜ2{ÏÙÛmæ«K\1f§Æ\86z;Z\1ak«*\9e\16\15äç\81\97O-((,( æådPÈQ\84\0\10&c}muU\15U\r\1d¤9Ö\9b\90\0­\ 4\8e·Á_öï¯Û {s\13Ã]Í/\9ef'\91\82}\\1dì0\18\93«»§'`\9eÃ#s\94\8eêmI\91\v|ÀRû÷ýô#Üwo\a\17%äÔ\916î!        9åßþHX\84\ 24_\9e\9f\99\18\19覷4ÖÕTUV\94\97\95\97W<«¤UUWWÑ\9e\95\95P³Sã#q^\0Ð\ 6ºZ\1a\1aZ\b¤¹½g\b§GA+\ 1x{û+\10\8a½\v©'\94èÐ\0OWp\ e\9cݼ|\ 3\82p¸ \90^[\v¤¶²¬\84ð¹3'\80¥`Ç9\17R\87Oü&(*£ªgá\1c\14\93QRÛÚ3\ 2­\98­=fï?\1c\9a\ 3H­,ÎM\8e¿ëcÒ[\9a\1aêj_\80W[WßÐøº©©éuC]\r@Wf\12       ïÍ=e÷´ï#ѶîÁ1é\85ÕM]ÐJ\0w\ 5\bµÉ^\99\87
+B]E~Z\8Î×ÃÍÍÝÓ7\10\1f\16\11I\8c à|]mÑ\ 6\9a
+ÒW/ð\9e<vp?ì8ß\85ÔésW¤\14uL±~ÄÔÂê7]Ü\15³g¡ Hm\83Ëþ       Xjt¨·\8bÞÖÜôº\11(ô¦¥ímG'\83Áèìhonxñ¬(;%\8a£\14R\ f\81ÐC¡1®\81$J>8{\ 3»\90\82\84Z\98\1aém¯\7fFM'Gâ\ 3|¼¼|üq\84Èè8rB|,1ÄÏå\91 BUî\9a0ÿéã\87\ f|\a¡¸\90:ù¯K×å5\1f`¼Â\92 k3È\82£ ìd\ fÜ=\8e¥\ 6z\18\1dím­-­mít\ 6³§o`phhp \97Io®¯*ÉI\8e
+öt°6Eêëé£Ì\1e\85\94\81\ 3<2\r¼\rúÁ7¡^U\16d$\90B\83\b\b\ e#Å%RÒÒÓRȤ\10\1fG+¤\96\82\94\88Ào\0çàî}\8f\82ðÏ#<¼\17Åo©\19X»áã³JëÚû¸\ 5\ 1\ 6KAÙc¯,}\9cf\8d\fõu3:èoßÒ;ººû\ 6\86ß\8f\8e³X¬±\91á>F[CuqvRd »\9d¥    ÒÀ\0ejíà\1d\1a\97Q\\ 3\ e0'{[ H±W\17¦FûÞ6Ð
+3\93¢ÃñA\81Ax\ 2).9=+'7'+-\81\88ó°5E¨È\8a]äýõèA\b\võ3\ 4)\81«7\95¿­\18NAàfo¯\96\82
+\ 2ÈÞôÄèp\7fOWg'H\1c³§\7fèýØÄäôÌììÌ$kd\90Ùö\8aV\98\11\1fæçüÈÜ\18i\882±²÷ÀE¥Ri\8d\90·Aö6·8Bq\8aTUqvJld(>\18O Æ&¥gç\17\14\15RsÒâÃý\9c,\rÕ\7f¿.Ì\7f
+ܽ\9fa\17\8a\v©_Nó_Þ]1ù´ÆN¨\12Ã\93½]H}\80\84b2:;\19ÀO\83ïÇ?LÏÎ/,..ÎÏN\8e\r2[ë*òRAø°Öf\ f\90(c\v\8ck@dRn9ÇÛ\v\8dÍ\1d¡úé\8dÕ%¹©ñQá\ 4BXdLbZ6µ¸´¼üiAvJt°\aÆXû\8e\94Èù3Ç\ fC4\87[(\bR;+\86S\10ÈP\81\81+{;\ 5\81Cóáþnà( TOÿðèÄÔÜÂÒòÊê
+į±\ 1Æ\9b\9a\92¬\84p?\17\8c\85É\ 3\941ú¡\93/\81\9c\ 5\15\84w\93 {ë`í±ÁÚ\e\eèhª)Í{\9c\18K\8a\88 Æ$P²òK*hÕU\95¥Ô\fr¸/\16}_EFTð,Ï\91\ 3û~\82¹rî®\18\1e°bdTî[8\ 5F?\ 6\86){\7f\12
+0\8aÉèèèèä\bõaf~iåó\1a\9b½¶º47        AúY>%
\ 1,eôÀÈÌÚÁ\vÏ)\b\8c\1cÈÞ\ 6W¨ñAFsmEA\16%!6::\96\9c\92\91W\QýâåË\1aÚÓ'\94¨ \17+C59    !¾_\8fBMê;\bµS\10$ïh\9bü5{{Û{\10͹BM³Þ\ fötqXÞÉì\e\82\84ú´Êþ²¾±\ e\ 4\98e\r1Þ</Î\8c'ø8\ 1J\19\19\99ZÙ»\aEA\ 5\81>0>\ 3Êù\ 6ô=°a\86\99­õ´\92'\8fS\12ÉäDJFnQyuí«ÆÆúÿÒ^æAM\9fi\1c\1fg¶Óݵ­[Ýj½vÕîxµ«n]ÏÝ©¶uZ[Ýqjë´\8e\82Z©X)»\1e\80BU¢ \82r
+\ 4Â\11\ 4B8\ 2\81\84$\84\1c\84\90\84\84\84\90@\12\ 2\ 1\ 2!\90\90\10)¨³Ïûþ\ 2µÎtÿ0Ù÷?\1c\fÃ\87ïó}>\ f³\8c\9aq/æÜñ\ 3ÿÚ¾\ 1\95\14\98\94ß×Þ´ ¬\ÿÁ®_Î\1eá\9c>\90Âk\ f\81²ö\18\96f\89X\8cÜ@ÙÖÑ\ 5 \9c\1ed\ f\ 3°÷Ål:%\89\14\11\16\12\14xð`àÑ\90°\bR2\85^ç-)\0
+\9fÒoÖ+%<&½\90\92\99\96\9a\9a\9eI),eÔrù\ 2\ 1¿®ª$')6<4ð\8b\1d\9bqI\11&ågPÏÏÞ\11\98=bïaçô¹Î1(|íµ·\82p
+\ 5\ 2a£T¡Ö\99,\90(7ÚûÀq¨Ï¨\91ò*\vÒãÁ¥\8e\1d  \f8\14tâÌ\95XlRÊ\8eî\ 1()\8fÇ\8d\80\9b\ 5l\ 6\8d\9a\9b\9dEÎÎÃ\9c\ 4bI£¨¾¶,?-.òÔ·_}ú\8f\17c\93ò³r¾0{hï%çýìÄ\93>Ö¹\17\14\14¶VÕÜ(là\83\9576+µ\9dÝý6\87\v@\81!\8dÂ\15×®\100Ñì\85\9f>\11tøÐ\91ïB\10¨lZ­¨E\8fÛ\1cfotd°×¨m\91Ô×V\96\16\v
+\8bé\8cZ\9e@"\9557     9\8c¢¬{Ñg\83¿Ùµmýª%oÏÆ\82ð\7f\92s¼÷¾>\86\9d\1391¾G}\9d½iP\9dm-RQ\ 3\8fËåò\85\12¹ZßÕ;\88\19vn\arn1«4\a¤ó\hðÑo\8f\ 6\87\9e\8dÀ `í!åô\96T¿¹C-\13óXUå¥4\1a½¢\9aÅ\136ÉZ\94\84_SJIºy)$`ÏÇ\9bÞ{gá[hï¡\96ò#©\19Sr\ e³G8çít¼nº¼uîK¤¦A\99;4\8a&a=\87Ífsø"©Rkèî\1fò\1e'n',~u\13ì½´øèK§C\82\8f\ 5\9f8yþê­ä\9cRH\14\ 6\85Ö\1e\9a=\8bQ§j\16óëj««ª\98,\ e_,U¨Ô\1a\8dJ&âT\14¤ÇE\9eij\ar>ûõß\13÷\9e?IMÏ\1e\ 3pï= \94q$j\83\1fê\1c\19ç4(I\ 3\97][S\83~?Y«Î\84#5>\ eÇ Ô´©­¹¾ê\11ÈPäù\93?\84\84ü',<&>5\8fÎ\16+õ^\91z\8c#ÕmhWÉ$B>D\93Ç\17Id ù:½®MÙÄg\16g%Ä\9c\vÞ¿{û\86w\97\90\97\94wöÀ9ñ½\17túêÝL¬z¨Î}´óç@©å\8dÞ$Ôr\1a$\8a¶N\1c)Ï8Ú{v\R5´\9c\94¸\98ËçN\9f:\15v1*61\83\91@\ 5 2GG\fìÇAðx\10WYS#^\9f-p\vu\1a\8c\ 6½F\8eÜ>\99\14\1ezhï'[×­øóü9³fþÖϤ¦ö\1eÜ{\7fݼã\8bÀ\1fÂI)ù\15¼©:÷)RøØ\es\12 Äõl&£¢¢²º\96+\94ªÚ\8d\16¼Î\1ecAèÖ+Åuå\ 5\19\89¤è+\17/\\b\8fºq'%§¸º^
+ÁF7Ì8<\8fÛ\89H\19õZµªE¡hQ!L&sw·Ù¨k\95B 3î^\v;\ 6\91ÚøÞ_\16Ï\83>ǤüØè\0
+ß{ó\97®úû¶]û\83ÏÆ :\17\91\9dû\14)¤æ\0ÊníîÐÈQ\vW\94ÑéåUµ<\91\fú¼Ï\86\f      jz\ 4\9fqõUÅ9©÷H?^\8d\8a\8a¾\19ÿ \93\12*´¦>\eö\b(3\8fËi\1fì·t\19;tíZm»®ÃÐÕméíë³\98\rZ\85\88\ 5"\16\8bÎ\98Oÿùþêe\8bæ¾ùº¿IMÝ{sÿ´\1c«\14Ôy\1a\95Á\97µ\99|\8eÔ³g\b\14\8cVw'L\a·¦\92N+.¦\951Xõ\8dhø¬v§klÌí\1a\89\82ë$%!\8et3ööݤ\8c<Z5O¢Ò\9bá\9b`;NLL`Rö\81>Kw\97  \1ePêë\1f\18\1c\1c´ö\9a;¦"uöø\81=;¶¬[¹tá[Ï\91ò\ f*<{¯Î\9cõÇ\85ËÞÝ\88êüüõû9tv#6\ 4ß"\85o\18\ fVE\rl&fyÉ#*\15        \10\8bߤÄÃçt»Ý¨¥»t ÝÕ¥\ 5ä´¤Ä\ 48O²òK\18u"y\9bwò&&''\11)÷è\88Ý6`íïë\85$Y\alCöáa»Íj1µ·@Kå¦\90®\9c\fúz÷\87\9bÖ®X²\80 õ\8a?IÁì\11*\ 5u¾sßÑSQ`çÕ\rrl\b\84t¾4)\ 4ÊE\80\12ÖUÑ\8b
+r)¹ù Ôl\81T¥CÃ7êr\8d:àÆ!¾\81F¥de<ÌÈ¢Pi\8c:Ask\87\99°\88\89É'O\80\144ºËé\18\ fÙà\ 1¤\11\87Ó  _\ f¡ÿÞ̯.&'^¿\18zxßçÛ7®Y\8eIA£¿â¿J\7f¾Î7}¼' äâͤܲ:    ¾³@:}\89ÔÓ'`\94#\83=\ 6\8dLÀ®,) \9033É\18\83\86á\er\8c\8e\8eBI÷\9aÚ\95M\ruUeÅ\85\ 5ù\ 5\8f\99\1c\84\12$b\ 4þV\88\13\90\9a\9c\18\7f\f¨F\ 1\ ezN\80\8c\ 2é\1c±õA"\e9\15Ô\87w¢Ï\9d\bürç6/©7üL\8aP©9ó\97¬Z\ fv\1etæê\9d\8c"¦@Þîs¤\b?\80²6h\9a\ 5¬ò¢Ü¬ôÔ\94Ô\87Ù\ 5¥U\±BkD'\9fs\14~Sìî\12\ 1§\ 6ú¾¬¼²\9a]/jÆ\9bÑî\84@\ 1§§O\9f\12¡z\f¬Üø\8dÁ&À_\ 1h\8bQ+\17²èy©qQaÇ\ 3öîü`ã\9a\15K\16Î\9dýÆÌß½ê?R¸Î   ;_³\ 5\19\ 2:øÊ98R\ e\9f\15)\fª¡\86NÍNOº\9f\90\98\94F¦Ò\99õ\12\95ÎÜg\e\86ñ\19±\ fôvuhàÊásÙ,\16\9bS\ fwN«ÎØ\ 3\89Ã\r\ 5\9c\9eyQ\ 1+\90/ôÆÑ.\ 4\rhvÕÍ|fINò­È3Á\a÷¢L­XêoR3¦"µ`éj0\84\v»\ 6ÒÉ\14(p¤<>DÊ\vÊf1¨¥|&-?39!>.îNbjva9K Ó\18z\ 6ì#¨flÖ\1e\93¾M     *)\12
+E\8dR¹ª­Ãd±\ e\81@x9Á#PÁ\ 4N½IÜñã\1e|\aêUM¼ªâì\a¤\88Ó\ 4©µ+\97.\9a7{Ökþ$\85ëüµ7ç\81!ÀÁw(4<6%¯\9cÛ¤ö5Rà\aÓ ê«K(é÷ãI7nÄÆ%¦å\1418\8dJÔç(R\ e»­¿ÇÔÙ®QµÈår\85²µMo0÷\ e@\83\8d¡Á#8M³úÅCÍåA\86\ 1-×Èe\14\91ïÇ\ 2©\80½\9fmß´vå²Eóæø\93Ô´!,X\ 6\91Ú½ÿXXô½¬â\1aß#\85@\8d\8faPM<FQvÊ=ÒõèkÑ7âî?Ì/­i\90Áú÷¶\94}Ðj1\e;õíÚ6ä\92F³¥\7fÐîp!\85"8áO\9b\82õü{2ùÓ8:o ¦ZÄ\9cÊGY@êÌñ\80/?Û¾yÝ*¿\93"\f\ 1Gjë'{\ f\87^Fw\fDÊ`±ù\12©_\82zDN\8a¿q-2"òÚÍ;Éä"\ 6\17\84\12\11',>Ç\94J\1a\8dF\93¹§·\7f\10þÝåA\9c\9ex9y?ñ\85\87I=\86\9a\1aè1´)Du@
+¦/ìûÀ¯>ÿ\10H½³øm\7f\92ò\1a\ 2\96Î\rÛwÃ\1d\83#%TèÀ\8cG=?½l¤\bPN\f\8a[Y\98õ îǨË\97Â#¢I\89\ fóËX"\88,áR.\14*PÉ>PÉ^\10n\eT\17Ü7ãxá=ûõ\9fM\90\9aÀ¤¬@J\8eH\91\1f\90"þ?´o×G[þ¶Ú¿¤fLI'Dj\1dÜ1\87ÿýB¤|\ 4Õ\8b\12\85\8e\89¸tá"\1c½wS)44{FdJ°êÝ\bÕÏ*épºÜ\1e,\9aOÿ\17'ü#\10©q\8fÛ1dÅ\99âT\16\91\93nE\9d=qxßî\8f¶¾\8fIýÁ\9f¤~óB¤\12È%5Â\16\88Ô°7R/\ fê¿Ô\97{8\94y\eǯëm·Tê\8dJ*EÑ \1dt\90RÛIg\1dT*m)¼z\95ò®Ú\8d²\16\85\ eKh\9dBB\11r\8a\1cs>k\90C\f\83\99q\183ã0Ã\8c\99!Û^ïï÷<3ch÷ª}æ¹öÒý\97¿<ó|\9eûþÞ\9f»\87ÖRG\80£çãæ\ 2@ÙÞrp}è\17\1a\93\9aG\0\1f¢\8bÅ\19\0FÄGX¡&        (ñø\ 2x¸|\96\13Bêw$Ð\85¤J²A\18ú¹9ݰ49©¿\v\90R[¨8\v7RHKMBï\985º°¥ì\7f}üâu.¡®\85\ 6Zj\10cK\ 1\10T'¹\1e\9e\18¡~\ f]\1dínÚÚ9¸¸û\86¼LÉ\ 5\9dÉâ@*À\87$LR08ôA¬\ 5\9f{ÆXR9)1a~î·m®\98\9c:\ 4HiàM
+i©ÙóU56ì8tÆâ\86ó£\90¸\8câ*R\e\93Å\ 5-\85\11ÔÇáA>§\97N!V\16¦Ç=\ fðº\7fç\17;;{§»\1e\10T-
+J\80º#*\92\88I\8a»éóO\1dC\8aXU\9a\vLÄÿá\1dÛ«¦§\ eééâKjtKí=aò?{·\80Èä¼òzrgO?\ fi)l \86ø\1c\16£µ±ª8312ØçáÝ;\8e\ eN.\ f¼\ 2\9eÅÂÑknïb\ 3ù\86` BB^\88I"GË\97`\1aM
+$:¹¡º,75îùc\84ÔéÃBR¸%ºDKijï8üý%\e\17ï°øÌ\92\9a&ð*Xã\1c\ 1%à²\99íMµÀ\9b\81qþæ~ßÕÅõ\81\87ï\13(Råu £Øè\95\82Úãð0ò×Ç/ì¦1¤ %t@Ryi }=\9coZ\99ý\19)\1cZj
+ÒRZ[ö\19\9aZ;¸\a\16T\12\11é\ 4q\8e\11\14¢æ4r}Eá\9bĨÐ\0oOw7wO\9fÀ°\97IYE\95D2\8c\96\8f¿\81é\13R\94Æ\9a·ùéñá\12¤ÔÕÄ\96ð/\1c\96\9a1[IUsãÎ#g/ß¼ëûüUvÙ{\18ç\18g\ fþ~díÑ©\8d` Ò\12¢Â\82ü}||ü\83¢\12ÒòÊÀ\rC\a\83\80\88Úèú\9b\ f\12\93b1i"R\81\9e#¤T\17\0G\9f:yâ·\13¤%%l©é3çª,_»õÀ)óë·=¡tÂ8gs\ 5\18C
+Ú \b)&"\839©      Ñá¡O\83\83Cã\13\8b\9aÛ\80} _\ 13$IRÐ<Y]4jc\r!?=AD
+î>uU¥9òÓ§ÊL\94>¦`KM\94\91\9d¡ ´dÕ&=\83óW\7f\ 6\86\90\9cWA¤ ³\87)¤Ð\ 3£¯»\93Jª-/ÎIO\8a{\19\19\19\19\1d\9b\98\9aUH¨i¤Ð`D¡æ\8féHú+R¤ZBAFB\ 4\14Z\82\16¸û\14FHIÛRß"-µH}ývý3\166®ÞÏ\12²\90Ùú÷\90\90\827+L\8eÚ\8a\92¼Ì´ä¤ÄÄשor\8aÞVÕ·´1zûADaôÙ/$\ 5,A\7fç¦5Ë\17ÍW\90\9b6\ 5\87@GZj²¬\1c¼ct÷\19\9a]sò\f\8eI/®&µw     \9d\13\v(´¥\80á\90\ek+ß\16åçdeffç\16\94\94W×7·ÂK\8f\8fUgÿ\92\14g\84Tx \87³í\15\93\93\awè¬^¦2o6¢SÒ\ e\1fÚRð\8eQ]¹QÏÀ\18Ì^@dJ~e\ 38c¸\ 28{Ø@AÃa\ 3R\14R}M%¡´¤¸¸¤¬ü]mCs+\8d)n(éA\89\13}TO\81ÝwÇÆòÂ\89\ 3ÛµW.U\9e\v\ 2\1d\97á\9bðÍÄ)Óå窬\80³wÉ\16ì½Ä\1cB\1d¥\13{H¡-Åã\0R\1d­-$âû\9aªªªê\9a:"\89Ü\ 68õq\91\86Â\r\94x÷       I¥Ç\ 3ó¼}ã²ññ}ß­×P[\0\ 2\1d\ e\1f\1e)%#+§°\10¨Ôþ\93æ×ï<
+\8dÏ,­m¡A9ÇjRpñ!¤\98\9d\1d­äfRcCC#©\99ÒÚAï\ 2\9cx\83x5\14\ 4õ      ©|p8ù»9þhqöènݵ+\16Ï\87Ã\87CK¡³7[ImÕ¦ÝÇM~pxø\ 4\bB5\90sĤ0\81\12\ 6\a\8fÛÇêaÒiím­Tjk[;\8dÎìaõsyP6ñi¨\11PC"RÀ§òÒbÃ|\1fübmnth\97Îê¥Ê\8a3§O\91Á£¥\10\95\9a·XC{ç\91sW@HE¥\14T6\ 2\93\1aÀjR"Rü\ 1\ e@ÕÍd0èt\ 6\83ÙÝÃêã\fð\ 1\1aJ\ 4JDª·\v\9agYnJL\88÷=;+Ó\93\a¶mÐTUR\90ç¥ÀÞ\9b&§¨²bÝ6\18R÷ü"^ç\96\13©H\9acÛá"R\83\ 2Þ\0§¿\8fÍê\ 5Åb÷õs\ 6x\82A!'\1cA¡¤\ 4|.¸fh\94\86êÒ\9cä¨`/g\9bËÆ\ 6{tµ\96«Ì\9d   S
+\8fÙ\83Π  B
+ÈùÅ\9f\9f½Ê~['VN\8c \84\9fYÀç\rp9Hq\ax|\14\13n\9c$A!³\ eï>2±ª$+1"ÀÝñº¹\91þ\ emM5%\85\19²`ñI¿÷Ð\90Z²zó^`R·½B\84i\8e\8dD\aD5(\10ðÑ\12\fBLÃH>á×P((\11©¾^ät*Ì\88\vó¹gwõÂñ½ºZË\94\15å§M\9e\ 4gO:PHHA\93ÒÙ}\f¤¹GpLFqMs\ats\8c \84M\ 5¿4|\ 1Q}\80\98PNx`\1a\r
+<h\10!Åhk~OÈK\89~âyûÇ\8bFúÛ7h,\9e?ëßS\91Ù\93\16\14\b)pÅhhï:j|ÕÞ-0:­°JäæXßiÔ;\bëwH        ·v\1aý\10ô\93@R=tjcuIæ«ç¾÷o]16ÐÛ´jÉ\ 28{pïI\ 3
+MsYyE¨\9c\87ÏZÞzð829_ªµ'ñ\16ð5$ë\ f\1c1\8d\80\92$ÅawÑÈõ\15ù©ÑA\1e\8e×ÌNîߺv¹²¢Ü´ÉÒ\87\14ª\9cs\94\97¯ûî \91\85í]¿ð$ÑÚ\93\ 6\94\98Õ\98Â\rÓ\18P°s!©~0|$ÐRñaÞ.7,Îèo_¯¾hîL<@\814\97\99:CaÁR­­û\85k/\87PO¡³¸|\8c~ðgï\83/"\89\7füQL
+6\15<2»iä:BnR\84?\98½sGvnÔ\<o\16"\b¸­=Ý}\86ÿ\81GLBVÙ{r'v?øÇêSRC\83 ¥èÔ\86Ê\82Ô¨@÷_¬.\1cÛ­³J\r¤9\1e \84k\ f\1c1{N\98Z;y>\8d{#¼ö¾\1eP\1fE\960Äç²\98m¤ª¢ô\98`\ fGkÓã{6¯^¢4\e§µ\87\1c\ fô\8e]\0×\9e¤\1f`^{ÿD}²/\0©!\ 1\97ÝÕÞTS\92\11ûÔÓé\9aÙ\89½º8\81\12\1e1àÚÓܸëèy+{÷ è´"Ô\ f\904\1fçõq,¨\ 1vWGsMÉ\9b¸\10/\0Ê\10oPòP¤v\1e9wåç_\ 3¢R
+ÞA?\0i.\12éñX\923',dô`GU\17\8b;jdô¤Ë(\11(E\15õ\r; HÝ÷\7f\91\9cWA¤\82k\8f'\80§Ù8¯a\89BLª\97ÑÚXU\94öò\89\87Ã\ f&Ç÷lZ¥\ 6@I\1fæ# \80q\1eúþ\92í= R9\84:2­\9bÍå Àá1Þkh¤à\15Ãîî¤\10+òS¢\ 2Ýì­Î\eèé¬T\9d\8f\8f\1e\88A­Û¦odaãêý,!«´¦©\8dÑÛÇ\19à\v¾\9aâóù¼\ 1\ e»\87ÑÖT[\96\9d\18îwï\96%ð(m\8dÅóf\ 2\v'\ 2JN\11QóÓ\17\7fr~\14\12\9b\8eHé`ö°û9\îÀ8-î'Åéïcu3ÚÉõ\95\85é±!\8f\9coü×H\7fÛú\15*\8aò¸\98¹\18ÔÚ­\aN\99_wòx\12\9d\92G¨%Q;è]=½,\16{\1c\17kTõöt3;ÛÈ\rÕ¥ÙI/\ 2Ü\1d¬Í\f÷mÑZ¶p\8e\9c¬\f\ 4%\r'IPà\8614³vp\v\88HÌ,®¬#\91[;:é\f\ 6s\9c\16ã\93¢wv´Q\9a\88ÕoóRcB½ïÞ´<wTO\a\8c©28Ø\ 1\9aQs\94\97imÙ{ÂÄÊî¾ohljnIe-\91ÔB¦R[¿\96¢R)ä\16\12±ö]Y^züóÇn\8e×ÌO\1fܶ^\1d\8d(\1cÄ|Â7\93 ¨\85ËÖlÞc`liëì\15\14\91\90\9e[LxWó¾\9eHløZ\8aHü?{õþÓÔ\19\ 6p<Q
+íéýrzá´\85öô^(mmJ/\94A     Ð\965bÇh\19¢¨He\83¨E\ 1ec\9a\82¨\19\eÊÚÝØH7Ú\18\13¦R3\17âD³¸e\8c-Y\96íïÙ{Î)MösÏ\96¼¦ß¿à}?y\9e÷ýû¯?ÿø}ïåî÷\ f\vë«\8b\9c\88õøíÆ\ 6ê\89ªüÓ\ 3P\b\ 1ehñv\1d\1dNN¿\7f;³qïá\93\1f^¼üyï×ýßài\7f\7fï\97\9f~ÜÝy¼\95_¿»<\7fþL¼¯ÃÝ\84S\9bGÃ[NB    e*}skg_üôÔ\95ôJv£°µýÝÎÓg»Ï_ÀÓóÝgOw\9e\14¿½\97ûüÎò{©ñáþn\9fÃÔ¨ cóÊ«'\94*q««=\14\eI^\9c_ZÉ|\91+Üßzðh»X|\fKÅâö£\a\v¹õÌÊÒ»©s#±P»Ë\8a+¥B\ e±yt@Õ²8\ 2\14Ó\9a\1d¾®h|ôíéùô­ÕÌg_nä¾ÙÌçó\ 58Êç77¿Î}µþéÚ\877¯_¹\90\1c\19\88t´Ú\f\r` ¨?\8f&(\89¢Ñhs¿ÖÛ?tjââÜBúæ\a\1fÝYû8\93Í~\ 2IÙl&³vwuåöÒµ«\97\8e¿\11 z\1df-\86
+J\ 3E\a\14\93Í\17ËÕ:«ÓÛ\19>\96\18\1d\9fLÍ\]¸\96^\º±\fQ7\96\16Ó×\17ægSSÉÑ¡cáN¯Ó\82«d"\1eRùS^\86Bx")¦16»üÁðÑÁáSg'¦.¤.]\9e\99\9d\9d\9d\83$pÔ\99ËÓ©ó\93\13c'ß\1a\88övx\1cV\9dZ!áÓ2P\14\14\ 3|{`÷Ô¸Ùæòwô¼ÞÿæÐñ\93§ÇÎ\8e'ÏÁT29>vfôÄp<\16\r\ 5ÛÜv\vpB\ 5\ðåÕ\1cªð)'¡\ e\1dfÔ±Ø`¤ê\etfÛ\11O Ø\13\8eöÇ\ 6\ 6ã\89Ä\10L%\12ñÁ\81X\7f\13\fx\8eØL8p\12r\11&\1d\ 3\ 5 J»Ç\15\88eX\ 3nl²»<þöήîÞP8\12é\83©H$\1cêíîê\bøÜN\9bE¯QÉQ!øñj+ÿòÊPÄH\11Rõj\8dÞdµ9\n\8f×ço\v\ 4\ 2íÐ\ 4\ eÛÖæ÷yZ]Î\96&³A«Æd\12\ 1\97p"\16¯b(j÷jj))T\8e©5¸Ád±6ÛZìv\aÈ     KÄaí-¶æ&\8bÉ\80\98\1c\15ñÁÞ\81\a\8a\8e\81*\8f\14\17J¤òz¥ºQ£Åuz\83Á`\84*p`½\ e×j\1aT\98B\86\8a\ 4<\ e\13áD\ 3Ti¤\b)\84Ãã\vÅ\12©LQ\8faJ\95\86,\95J©Äê\15r)*\16\12L¬:\1a\9dÈ\91¢¤\98,6\87Ë\13\bEb±\ 4E¥0\86¢\12±X$äó¸\80\89\1c\9cÊR\14\15Âæ\0,\1e\9fÏ\17À\1887\8fËå°\81\121M`\9cès" \b)\92
+X1Y,\ 4Aذ\86 ,\16\13(\95\98ht:\90"©j\18\0«¶\8e\8a  YÔ©Áù\19\fB©ÄD\9fS\89\8a²"µH0(£\ eO\£¤D+Ó\81\14iEv\18Ú\ enPº\10ÍLÿÂzeúO\90^\19²ÿA§ZµjÕªU\83¬\7f\ 4\18\0ýå\14¢\rendstream\rendobj\r1107 0 obj\r<</Length 6>>stream\r
+ÿÿÿ\0\0\0\rendstream\rendobj\r1105 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 188>>/Filter/FlateDecode/Height 249/Intent/RelativeColorimetric/Length 13316/Name/X/Subtype/Image/Type/XObject/Width 188>>stream\r
+H\89ì\97i4\95k\eÇ\13Û\9eØ\ 3\e{\9bmÛ<\93\f!$\92DÈÔ\1ceÈ)§T$ÇQÊI§\fIr*\11¥\94#D\87³Í;2Ïc\86¼¥Þ¯ïý<\ f½ïY˦µ\8eí¼­åú´¿Üëúíÿ}Ýÿëÿlذ^ëµ^ëµ^ëµ^\1c+®¿Ö?\8dóí\ 5Ñnܸ\91\e)ð뻡\87Á¹¹yP(\14/(\14\8a\aâÿ.èar\1e\14/\1a\83ÅA\85Å y\ 1þ÷\0\ fÐ\ 19\1a\83Ãó\13H$2\99D$ðá0èï\81\1eFçÅàø\89d\8a0\95F£QE\84\ 4I\ 4<\16\8dú¿\1f\1c\18\1d\8b'
+\bÓÄ¥é\f\ 6C\96.%N\15"\13ð\18^Xúµ§ÿV·\ 3²\ 3ÕùH\14\9a$]AE]K[[KCUQVRT\88Ì\8fûG\ 6gÁó\10³[¶7\90\1d\85Á\93\84Äd\14Ôt\fMÌ---L\8dt5\95\19\92TA"ß\82ôk\85\r\ 3!¦÷-^\rdGã\88\141º²¶¡\85í¶í;Ü\]\1c¬Í\f4\95èâÂd~,\1a\82_;ò\ 5Ó\83ì\1a±êeà\81ì¼X~AQºò&\13\eg\ f\1fÿÀ @\7f\1f\ f\17[3=uyIª\0\98\9bµ\84çBL\ fØ5¨\15\9c\9a\8b\8b\9b\a\8d'\8bH)é\98nuó  >\1a\1e\15}2"ô\80¿§³õf-Ei\9a\0?\96\97\87Ãìÿ\93D\90E\83Áâù@áq\18^\14{xXv\ 2E\^ÓØÎÝïpä\99øÄ¤¤K\17b"\ eù¹Û\9bê(ISÉ|\18\147''þ/i\84\a^4|\ 4\12Y@\80¼hÔK7\87L\ 6ÍG¦ÑU\r¬wø\1dù!þrZzVVÆ\8d\94\84\98ãA\9e\8ef:\8a\92ÂD\1cG\85ÿ:ß \8c Ñð\86$     \b\89\80EC\15\ 6f\ 1n\9d\9b\r;,»\90\84\82\8e¹³Ïá\1f\12R3óò\1f?.|\90sëÊ\85È\10O{\13M\86¨\0\1f\9a\83ì_ç\e\8bÃ\83A\ 1\9b]\80""*!-C\97\91\12§QHÀéØ\b\ fÉ\8e'SéjFv»B¢âS³ó\9f\96UTV\94=ÍÏN\8d\8b\bÚi£¯,)DÀ 8ƾ¸ÔñüD0&\82\14!aª\98\84\fCAYUUY\91!%J!âÙ)ǵ\11\85á\17\14\97×±pñ\r\8dMÉÊ\7f^UÛÐØøguÙã\9cÔóa¾Î¦\1at*     ÇËæÚV\81\1d\ 4² 0UT\BRJFV^IMs\93¾\81¾®¶\9a\ 2ì\15¨¥»sq£°\ 4a)e\ 3[\8f\90èÄ\9b÷\9fUÕ³Þuu¶·Ô\95\9d|zÿÎ-\9bäEÉ\9cc\87\97:\16,uª\98\94¬\9c¢²\8a\9a\86¶®\81±\99\95µÍ\16\vcÈ¥¡çÆ\8e\9d\17G\14\91Q7vô>zöê\9d¢WÌ·Ý\ 3ÃÃ\ 3ݬº\97\ fÒ.\1cÛ³Õ@Q\\0ÏAvd©\8bJË)kèè\en65·²µß¶ÝÍÝÝÕ        ¬\18UY\1aüÜØ±\93\9af.þ'âoÜ/}ÓÒ=4þþýøpwËë¢ÌÄ\b?G#e      A\ e²C²\13(¢2\8a\1az&\96\ e\80ÚÃËÛ7 ((Ðo·ëVSm\ 5       
+?\86-;\9eLch[¸\ 6F%¦?*g¶\ f\8cO\7fø031Ø^û,'ùä>'c\15IA>N²C^!­¨edåàêéí\17¸ÿб°ðȨ¨ð£ÁÞ®Öú*RÂD,\8a­î\10»å\8e \93IY\8f+\e»\86ßÏ}ü47=ÒUÿâÞ\95\1f\ 2\9d\ ey\85\98\9c\86\91µóî}\aBãcb/\¼\94\98\98pþôñàÝ\ eÆêÀ*°KÛ\1c<3TY-s×@À^TÕÜ=:ýqþó§Ù±\9e\86²¼\14\98\9d³3\ 3y\85¤\92®¥\93WpØ©s       É×®ßLÏÈH¿q5!æ\98\9f\8b¹\16\83F±a\ag¡·jêì\1fq)£°²©glæÓ\97\1fÆ{\e\0çÍÊ\12\9c\88W\80õâ\11xüLâµ[Ùy\ f\vÀrÌÏËJ\8d\8f\fr·Ò\91\ 3\8e\9d\aÃ/$©bäà\1d\1a÷k~yC×(`ÿ÷üÜ\ 4`¿w%z\9f\93\91\12ð\196\ e»:ì$*]Ãd\9b÷áÓ\89iw\1e\16\97\96WVUU\94\95<ÌL\8e9¸ËFW\1ef_ò,ôV\ 4Ä\14t­=\ eþxí^iÝ»¡©\8f\9f¿ÌÏ\8d÷4¼Ì½|ÒßÑPQ\8cÝáÕ`ß\88\82fVÓÌÙ7ìÜÕìG¥\95µ\rÍ-Í\8dµ\15OsSc\8fzÙê±g\87\96\13¸4º\86©Ë¾È\9f²\8a^·öOÎÍ\7f\ 63Ó]ÿâîÏ\91¾\ e\ 6
+b$\8e²cáöÎ~'âÒòJ*\99¬Î\9eÞ\9e\8eÖº²\87¿Æ\85î±\ 3ìlÛÃCC\91PÒ·Û}$öúý²úÎÑ\99\8fóà­v×\97æ$Eìµ×W`\7fxUØ1\ 4ai5ãm{ÃâàýÒ502:2ÐÙTY\98\1e\1f\12;â4`;\ 5D%Ý.®f\rL~øø¯Ù±.æs\98\1d:\8c]z9¬
+;\88à@:\83­^Gb\7fÉ+ýãmßèäÔäh/«º(ã"`×\95£±o\ f\v/(¡¨gëy8ö\17 |×ÈôÜÜô(`¿\ 3Ø·r\98\1d^\8e¢r:Vî!§.ç\94Ô°úƦg§'\ 6ÚÞ\14g^\fó²Ý$G#.þ\10iL\80M&f\ 2áû'ff§FÖF÷\850\b\r\8dï\89\84ô\82\8a¦\9eÑ©ÙÙ÷\83ío\9ed^\fõ²ÑaPÙ³#×&\88\99Ôß^2;\87'§ß\8ft2×bÞ\91î\8bFw\156ºÉ\99\99IÀ^\9c\11\7fl·µ\8e,\95À&Ïl@¢\1c\96\88üõðK\19ÀjúÆ&'\86\ 1ûÝ\9f£ü \9fá G.t\aÛ \11¾°ª¥wljjb°\rf÷´Ö\96\15Y\86}!\ fA3·óÀ\8f×ò^2;\ 6ÇÆ\86:ë_@þ¾ÍPI\1c°ss\8a}QxyÐ}\7fLJ.\10~p|r¬ÿmMQzÜQÏ-+±C\19\9a $¥ºÙÑ÷Ä¥L |ÏðÈ`gÃZd\82\ 5áÁç\ fXí>añ·
+*\9b»\87ÇFú¾\91\1dy®d\1a,<<ñïú\87\ 6:\e~¿\9f\1a\13¼ÝDU\8a¹\1c¹\ 1\89ðp\ e·t\v>uåîóÚ¶¾¡¡^VMÑ7Ìû\86ÅT#¥²\19L|bVquKW\7f_gã«üëg\ f¸\99«K\vñ£y8È\ eç`\8a¤²¡=ÈT7\v*\1a\azX5Å\99        a^6\9bä\96ó\99\r\88Ëâ \89ßâqè,ðxf{O/Øl\ 5\1fÙe¥µÂ­ý}øÅõh±\ 3\b\9fû¼\96ÕÝÛÕZóôvâ     ox¯²ùöøz\1c\16^ÕØÉ?2)ûIusGwGókx³ÙÂ\9b\14ºjð\vËÕÞ\eL|aEc{Wgë\9b\92;IP\9cB¢à2Ý¡¿\ e¬F^ׯóȹ´\87¿3ßv¼k©y\9a\9d\14\ 1\9f\16Àqràáç
+\7f\ 1\85Ä\0\8f¯míèh­-ͽ\12\1dà\ 4¬b¥O\1f$\13\81o\10\97\80èä;%5Mmí-\7f\94æ¦\9c
+t1Q\95¤ð¡9ɾ <\98x\87½áÀèª\1aÛÚYu/\7f»\16\13âjª&µRwXx\ 1qE=;¯cq7\1f\95ÿÙÚ\ 6\83ëg\ fº[hÒ\85¡\81ç¸ð4\ 6ôÞb¯?(«kmc1ËóÓÎ\1dÚi¹Ð}ÙãH\90Ö4ß\11|:%÷YM\13«\95ùªàV|(ôÔ9=ðÿ}oÎ\ 1'\93sJª\9bX¬ú
+\10\82\91îÄ\15º#©FBÉÐÞçxBFá+fKKCÕ\93ÛI\91~\8e\86+\8fÜßf\87ã¤\98\82\9eÝ\9e°\8bé\85\15ÌVVÃë'·\7f\ 2yjåÇ\8a|@\91¨\f\9dP"+}ÓØÒXóüÞÕÓÁ®fêÒÂü\9c\1d\9aÅkײt?ø\1fÞ«4\10ʵ\r\9fìûNö]ʾ\95\84ÈVJ\14eM\v-\92%¥R:Jè\94¥E\9b\94\92\10!\11\85Æ\12Ã,\96\98±\8c±\1c[Ñ9çûÎwþ}÷ó\ e¢óeæÏ|ï\9fù5ïs½×s_Ë\r&ý¶\85H&4VæÝBbÕeÎ\1c"^X
+\8a\81k\0ÚAêÛ\88\84\96\9aÂôø0\1fGÓÿÃЬâDjECsáV^ec\a\99ÐRýüÞ¥ \ f\e,\e\99`gä\13ؤoxBFQMK\a¡µîUN\12¸¤Å:%I¤u¶\82G§+h\9b;ïG\95ª\1eO"~¬-J\8f\võ²7Vg\9e\8dH/`\93\86\98Zqx\ 2\1eWù4õçc\1e\86jìv\1at:¿¨¬\86\89\83wX|\ 6ø\1c\91Ø\ 6b½¶ VfØÑµ!µ\82É&e\97Öµ\12:Zj\8a2\12Â}\9dÖ¯\91\17GñÄVð0²Òª\ 66\1eÇ/Ý{^ÝL áçÅj®Í\¬\98^0\93õ\ e\8dK{ñ¶¹\83ÐV_\96\9b\12\15àj¥§"Ívµ\82ÓH*éZºÎ\ f<X\ 5\12k +K%\9ca²ª\ 6\9bw\1f\85\1a\87'¶7Våß»|ÂÓÞDS\ e\16\12\ fÌa\ 3¿ýÀ\99äÜò\ 6<\91Ð\fbe-Y\7fb|º\84"T"\94Ì¥uà4­ïK²®G\1eØ\ 1\16\ fÿg/ñÈ%eµÌ\9cü"0\87'\82X\vÓ¿%+3ìØß\19C\93^XÓB µcj\ròØb¤\ 15\9aÍÄ#«P7¶÷
+e\88\95\84Ä
\87\93©&\93
+ÏÀ¾04Ç.¦>}\ 3&\vß^\9cùK\84¿óFÌ&Ù[j81±Úî       \8eE\95\86HjÿP\96\9b|\ 6\89U\9e¹X\17\86ÆbÇÁ³°>5´\93;;p¯\9fÜ\8a>ênk¤Înâáp!Ie=ëÝÇbî>¯n!v\12\9a\16ÅÊB'a8\8d\96©£\ fÄSñ»6(\93­µE\19WOîs6g;ñ\18qJ:\96n\87£S\9fU5\13»HP\83!YÝmôU\98&ëüРxò\b\8a¹\9b_ÝBîé&,\12¯!+Æ^\8f\87B%\ e\97¾3àü­¼7Í$¨Áï\8bYNÖ\ 5\93ÕÙ´3 êÆã\8aFbO/êÑ\19   @<L¼\14{=\9ea\92\ew\1c<wãIe\13©§»£\ 1m\9d~,n\9dÈdÅ Ólõ\8bø%«´¾£§\ fV?\8cx\8f\1ar\88\81çà\82³\91Á\9fMyüº\89ôé\13éÛÎ
+['sì`T°\81 *úàE-¾\87JíÁ¿/μ\1aá¿ÝBG\19\88\87Ïg\1düªï\1f&Øù\81·\rÎûÏ$ÿúº\89ÜÛ×õ±ú\19Ú:­t\95%\85\98/\10ߪhôí§U-]Ô\ 1
+¹¹2ïöÏA{ìL4åÅ\ 5yX\9e\1a\80ÊÁÁÁÉÉÉ\85\1eøåäàX\11?jcrZë·ùG&åV4\91û¨=íï
+\1fÄ\ 6ï\81.\bbe\96NóUt­ùöý\91I9å\8ddêÐ`oGÝË\87×N\1f\84V#ªO"ä\0\9b\9b\87\87\97\97\ f\1e^^\1enn®yü+a7ÛºïtbNES'¥¿\8fØPò0!ÜÇÁ\ 4\92\91\ 5±.FkXBæËz"\85F\eèn©zv'&ØÓÁl\8d\82\84 k>\89\90\ 3p>~\ 1A!a\11x\84\85\ 4\ 5øùx1ø?@\ fØEd5¡\14\9cº\ e´uR\a©\9dM\15¹\89\91þÛ6¬\91\17c\9eN?q,TÑ \98{\ 5µø^ÚÈ0\85ØPú(ñÌ!W+}U\19Ö\88\ 1¹\80°¨¸¤\94´\f<ÒR\92â¢Â\82\ 2|<\0ÿ\7f£GZ\93Õ0uô\8d¸ö¨¬±³\7fh §µ*ïfTÀN\8bu\8aÌ«ä2\97¼ùäÍÇ\9e¡ÑÑ¡O­\10\12\97\1d×k+H°\12P\0\9d\8b\e\90\8b\96WTQUSWWSUQR\90\95\96\14\13\16äçý\ 1zÌ'`ûð    ¿\9aõ
+Gî§\rõ¶×>¿ûóÑÝÖzÊ,TÉE\97ܶïÔõì²Æ®ÁÑñ\91\ 12®,'ù\\80\9bµ\81Új¬\190}    '7\9f ¨¤¬¢\9aÖ:=C#cc#C}\1dmMUE9i      \11¡\ 5ôÿ \r\82\b\95±Ì\92\ fäþa\1a\85XW\9cvåÄÞ-°¸±"V\86K\1aÛy\86\I/®'ö\8fNüFïÃ×¾xp%ÔÇ\89\19ÐŤ\15Ô´\rL7ZÛÚÙÛÛÙn¶471X§©¢ #!\8aÐcªý\ e;\8c«\9aá\96½!q\19/\eHýÃô\81NÜ«¬«á>\8e¬\89\95á\92*úÖ°\80Üɯi§\8cLL\8e\ fu5Uü\9a\12\15¸k³\81\1a\9ax¦Ø¹x\ 5\155õ̬\1c¶»yxzy{íqwuv°±0Ñ[£\ 6èE\ 4ùxþA=v2\92ZplZQ\1d\91J\1f\19ìn®ÈM\9a\17+ód]Ú%S\1eW~üD\9f\98\9e\1c¥t¼+L\8b\vc\10/È$\añåá\17\91RÔ4Øhç²×?0($4,4øXà~o÷\1döVë\r´U\15¤Å\85\ 5\10õËÀ£"      Ù²ÙýX̽\17ï       Tú(­\97!V\17$VæÉºÐ%Í\9c|O^Í*Åu\rMÌÌLк\19Ä»Y#«á[\99\ 1\90\84\9c\86¾\85ãnÿ \88¨\98+ññq±1ç#C\8f\1eðtu´^¯¯¥"+   Ô\7f\a~~cµÚuäâ\9d\82Ú\ e
+}\94N\ 1±Þ¹xt\17\88\95\95dÅä\ e]\12v\80Ë÷\vß\13\ 6Æg>O\8fQ\81x\98xoG³5(\W$~\15'7¿\88\8c\8aÎ\ 6\a÷Ca\17\12Rî¦edf¤Ý½\99\18w1òD\80·\9b£\95©\8eº\82´Ø÷àá\7fpã:\9b\ 4£i¥\8f\8dô\13ë\8a\18ɪÊB\rf\8c\9d¤²®¥k tѪ¶¾Ñé/\9f'\87\81ø\°\1aW+\bW&u\12ñ'.¯el»ëàÉKÉi¹ùE%%%E\ 5y9é©\89\97Ï\85\ 4x¹Ø\99\eh)É\88       aà\97°\86JðZ¬\ 4?}\8b§ÐÇÇ\ 6;q¥\ f\13¼!YY©Áèó\ 5Äåµ7ló?}=»¼©{xêËì\f\10_ûâ~l\88\97\83©\16l`+öx´\ 4H)ëZ8û\85ÆÜÌ*(\7f\ 1÷¡þ]uEñ³ìûɱg\83\ fxlµ4ÖV^-&È»,è°\12¼vã\8eCQ7óªÛúè¿\8dÓz\9a+r®\9fÚ·P\83\99bG½bµ\86±=¸$è\9d48ñyîË$­«±<'éÌÁ\9d\96\18ñ+L<£Vh\18oq?r>9«¨
+×Fììê"\13ñÍõoË
+rï'Å\9c:âµ}³\89¶²\8c\98\0òÛÅ7¡h\99/ðèÂGÀ\9dA¬On0j0\v;+£\16H©èYï:\ 2\1aO\19\9b\99\9b\9b\19£´×@¸B«Aį4ñ\98Q)À½ù\85Ç?x^ÕDê\1d\1c¦Ói\83\94Od|cmyAvj¹ã¾.6&ÚJPí\96¾\88\81Ý|\1e;rçQj{M~jôa7+]VvÖ\85Ã×\9a;ï?\9d\bCÓC\9f\9aý
+ÄCNd'bÄ3ZÍ\8fÀ¯âB\ 1\ 15:0*%·\1c\8eLLÏÌLO\8e\8f\fQºÚ\ekJóÒ\12£Oø¹X\ei*H
+-½Á%\8bS\1ep6:95>@¬+¼\7fù¸\87\8d\ 1\8bbe\º\89½\1764ÄÁ\89/_çfF)xÔjNxA«QDgþ`ä\17\83y/ø\14´¹¾\91éÙßÿøó\8f¯³\9f§Æ\87©]ø\86Ê\82Ìäè`_çMúj«\97mb\9c\f­º`Zm§\8eMOOÐ:?\94dƳ¼³bþ,,\8d\86æð\85[O\91ÓÌÌ\ 1ñC\9d¸²ì$h5\9b\r5äÄ\ 5\97Mêò/g¬\8dû`m|\85ë¤MÎý믿ÿþÏ_ÿþóëìô8­\8fØT]ø0éB\90§ã\86µJRK<\v»o%\1dK×Ã\17nç×tô\839OÑ{\9a˳¯Eø9\99\89²\90¬\v\13kîì\7fêÚ£W\8d]ÃS³¿cÄ×\14<\88\vóû/çe\1e\ fåÞ\86ñ\8f\16\85D\96\94¥([*
+\95ÓBBû"\1d-ªS\94\96S
+­êtNä%\95%\95£´ÈöV*¥RDèPöÈ.;\83\991fç½\7f¿ç\991\96?Æù\7ff\9ek®çº¯û{Û.\9a£ñ\1f9iÉáÅ\8b\80\83×_Ê\1a:ºY\\1e\8fÇå°\99\fZgk}EaVrlø\15\ f\97uK\8d4U\80ËG÷k\87\a\1a9{3&%¯ª\89ÒÑ^_öåuÔ\7fOî\m6KM¬aÅ¡\81¦Á¯=6å[ES\a\95Ö\89ªæåýÀÓ\a6¯X \8bÇlXñ\12ä\ 1°\ 1\1d\0)ß*[¨L.¿··\97ÏçqA=µ½±ª0óut°\8f»\93\8d\99\ føP¢ÿ\9bx)ú\84Ƨ\16T·ttQ\1aËsß>\ eòÞã`>\e!¼8ÚѸ¡õ\ 4ÞE%e}ÿÙÖE£R ã?$ÜA\86Y\99ÌTW\1a^<\8a»\1c¢pÇÃ\88d\vkÛè,^o__\1f\92\ fê{è\94ÆÊ\82O\89÷\10Ú-6D\84A\86\ 6\1c\13|óòm\80\91Ú¶.jgsU^J\8c\10áÅ(\1aâj\85ÌZ;\1d\81Ë/­ º¹\93Fëj­-É~\13\1dréè\ e\aÜ\11Ã\8aGqG\9bÍÖ\19]\9dYßë;\18l>ÒNªç0é\94\14rÑi«\bùPb\94¤`'Â73¿×·Sé]­5\ 5©ñ¡\17ÜpÑ\88q~\10\16 ¦Yºaÿ\99ë\8f\93ÿùÑ@¡Òi\1dMU\ 5é/£\82λo·³4ÒVS\94\1dF¼0î\88(\92\9bºz8¤v¤\1eÄ÷ÐZk\8b2\12ÿö=¾ÃÖLw\8a\824á¦\ 4F`\ 1\8bÀ3\e;èÝÔ¶Ú¢OOÃ/\1dÚ²Ì\18\9d\1fâhÇL3Uoáê\1dÇ}#\9e§\17Õ´vÑéÔöúòo©Ï"\ 3θm³µ0Ô\1aV<> È¸Ç~È«j¡1¹\ 2éH=\9fÇft4\94ýóæá5¯=k,úW\ eÙ­Æ¿lr\85!CßìêfÐ)?K2\9e\11·$     \14\94WÑ6Y¶ÅíBpÌûÜòF
\eÞ`]iNJÂ]\7fï\ 3\8e«Ì\87\17O\1c\9dsÑá\16þôSQm;\9dÍ\13Ñ\ eâ¹LjKå·\94\98às\a6,1Р\93 \81       \ eÖ±ÍvèV\1cwZ\ f\fGý÷ÌÄ\88¿\8e¢ÓI\í\98§4æX8ì>é\7fï%\ 22*¸\0]S\92ý6î¶\9fçþ­\84øÁ\99\1fÚ\1dÎÝ\17\99\9c\ 1Úûz¹,z\e¤8!Ì\a\1d¢x]\8e"\9f¨\8c×±W Ù­LfwG}).x§\95ó´TÄÓ.\98Öù+\1dÝ/\86Åá\9a¤3\18\10ùꢬä\98pß~ñÒøxë×.)\r<±È~÷©\80\aÀ$\8d¢q'´óØÝíD\8aÝ\89\14\8f\aí\12ø\81ª:óVl=ä\13\8aÎ\86æ®\1e\16\viÏÂÚ­a¬ÅÕ\8e§uºÁb \92\80¨W\99%umTF\ f\83FAíü&æÖ\95SX¼ö\14¥\89À\82ý'\ 4±_\88ÛçÉ{²Ýû\ 6k§Ô\15§ãU¿ÌX\13k\97 l\9f6ÇÜ~\97\87_dbFq];\9dÉf1þ\95ï£H\1a´q:üÇ­xð¡©³»\87\89ÄW\16|~ý\84\14o\ 4âåD/OrT­`àBã?\16Ô\bÚ}xí¤ï\90:ô¸IªÚ&Ë7»\9e¿\19\r\87Gc'\83Ía\83ï#λ`·Î0\²~¯w ì'0\9eÖÃ\ 2ñí\r\15\84x\88\8d­\85\91\8eº²\9cÈñF\82Øò­°\99\9e¥\83{Ýì¡Úéíµ\85iÿ»uQ\90\8eÎDH»\85ýÎ\13¾\11Ï>\15Ö´Ò\98\1cÐþ/z\86Ü­\8aêº\18Ão\ 1M"ãá-ö\bÅûz\1ep\mi<Sx¼I`í\80 :ó­·\1f»"\18Uþ`í0«Õ\ 5\1fãB1Ú¢\9e\81ÌÁÃ\14¦Ì\9c¿b\8bÛù\eÑp35PºÙ\.«»½n¤ýN¼}d¼¦ÑÒõû¼\ 3\1f\0\18ÔµÓ\10\ f
\87ûy¹:ÙÁý£1yÒ\84ñDÝ\10\109ËlõN\ fÿ¨¤/ðæaTû\ 6j':òý\93\eg~[g©?\r\ 1Íè1\92Òò\935\r\17¯Ùíá\a\ 3ËP{8\²\91âCI\80\17\8a\1ao¶jûÑËá     Øx\ 6\8bÃ\11\88\7f\13sû*\9c\10\ eVóô¦«(\90E\8fÚBA]\8f@ðäÜ\8aæ¡£Êçôt5\95ç$?\fôtqX¤\87\b\18\94\98izf6ÛÜ}\82\9f¼\ 5ꦠøä2i-$Ϭ[\8cþ¥8<\83µ\ f\ 4\19Ï\ 1\94%Äg&ÇÞñ?ãî¼ö\97\ 5³g¨\92âGa"\98c±vßéë¸fh,nï`í¨<²^Þó;álk:\13ÈVrìXH\8c\9a\8e     ºpÑ©\ 5Ì\ f¶óxø_æ&?ºæåâ`®'\1eG\ e\b®\9a
+0\1eBÈÅâ+\v3߯G\ 4\9c;²sýr3}M²èGc\0\ 5\ 4ß\8f\88 ¿º\956´fX0ªEP30\80+L´Tä¤$Ç\8e\83ÄÌ0°´ßñû\9fáq)p1\11ÌÏat6\94e¿º\7fÕ\ 3ÈGL~\1fÎx¢ãÁx\1e\ f\8bo¬,Ê~\97\10yÍçØî\8d+\17\1ahá¢\1f;f,ZÇ\ 6K7BEÆ\rW\91\ 4\12Tå}\88\r>ïºÑÊ\b\18XjÜ8HÌT=SkÇ\83ço<z\9dURÛF\85çðQ\99þ,Îx~÷Ï£PïÚð/Ç\88«]Äx'0>.\ 5®0d<!\1e\96\97\94§÷¯_:¾g\93õ"C¢è%%¥\88zwó    \8bO-\ 4íìÁÚÁÌÆ\1f\80b\81^.\bÅ\94d¥Æ\8d'\13³×Óÿïgiù\95øýòù\\16\r#0\86\a¨\19q+r\80ñKÖíõ
\8f©\86\86\rÁâ\9bªKr><\7f\10|Ùcß\96UdÑK\8d\97\86mLhOH+\1cBb\ 4\11Ô\15g$F\ùý×U¦³Ô\14&HIÉ ÄXØï8vùVìû\9c²zX©\\1e\9fÏaR\9b+¾¾\8b¾~fß:|z\88[3¢Æ\9bÚl;|14ö}î\ f"\88øz£w4×\94榾x\14òשý\8e¶DÑËÊL\0\1d\86V(3p¶\rñ]\10\19hw\9f\83[\96ÍÕR\91\97\91\92\9e¨4U\17%æÜõ\87I\99Å5­hPáDä XÎNºï\7fr\97ÝB\0}\19qkFÄxX®k]NùG&¦\17âÞ\85ßåsáþél©+ûöéÕã°+\9e®Û\88¢W\90\93SP\99\81èý|HÜÇüêÁyïÅó\87"sÍ{ïZK}\rxW2²
+jÚs­Ö\13\89Á;\10\12\83@\9f\ eo(ýÙ\1d\88»õ|\1d\815\ 2ã\81j\16¬t<x!\18ö])¼Od<r\85ÙÝÕúóG^z\12l)o7¢èU\95\15\95T5\ 1$~;{3&%¯ªu`G\82í°nàjz\8e#c¦«®8q\82ì¤ÉÓõ-ì 1a\82Ä\06\v\87:.ä\82ë&+£\91Å]h<थî\13¾w\9f¦æW6Ã\1cñøøxc1ºÚêËó?¿é/zMu\15\15u-ÃÅk÷z\a=~÷uðnÂ\8b©\19\ e\8fØ\90\vn\9b!2ª
+\13\95!1+·º\rHL/ú(\1aêdò¾Bûw\ 4\91!\8d\97\81\12\98\a|w6è!\81\16\10Ïe1¨mõhKÅ    \8aÞ@[cª\86\8e¡å\1a\17\11|\1f\94úÒ줨\0O\975\96úÓ'O\92\93W\9a¢\83\12sêj\84HbzñG\7f\96|~\ 1w­3\1ajh÷\11j'\ 1o\8eùjçc\97ÃãS¾\967¢qå\13âÙ\f*ÚRY¢_d¤«­=ËØ\12pÐ/òeVé@\16C9@µ\97öô6dØÆt\96ºò$yEUM\ 3\v;çc\7f\84ž#;\ 6ÿ:úhuþÇø°\8b\87ÐPO\1e\v\8dÇ`=×
+öuÀ½\17\19ä¾F?\ f¿?¸èm,Lôgë\9bX\82\16tt\ eb`<©\8då¹o£o\9cÝ¿ÑÊX[MYAQEc¶\99µ£Û¹ \87¯>\17 \13CF&'ùQÐiÔ\90\1aJ\b\95G$\1d\8c\1f\85VåT\82\93B\b\13Æ\vÄ\8b\14ýVÛ%f&&¦Kì~\85m\96\0%)
+\ 5½\98\aê \a\91W=vÙ\9bëÏPUVV\99¦;\7fÙÆ}¨cRó*à¥\12\89\11~\14"\ 3@0Ò\86\14\18?z\0\9f¦    Ç\15\89á\ f.úmÿç½Ìã©Êû8nÚ\17M\8b©iQÚ\ 6£MF\8aP\83&\89ТH¢G´ TZ0F\94\8a!\85\10\ 5  yPöe\14c/Û½\ûrm×ÅåÚ\97ùýÎ9w\11=óÌ=÷Îù×}Õç|Ïûóù|¿êÊòròJ\1aúàEC\93Çß|¬p\ fóq4?¶g\9b¸È²¥ËV\89nÝ¥ixÙÉ\17\10CªÇ2f\94Ý\ 3\10\19edíùG      É\14Ϻ\vÎþúðe,Û®\88øáqA\7fã\9c¾¶ª\8a²ªÖ    s{xº\91\9b YG9\91\ 1Ñ\ 1809¸\eô\81°°\88¨¤\82ú\89\v7=_Å\82\8ciéìE¦\ 2\9d
+\8b);\16¬\ eH\ f Èüsí\88]\97\88l\94\ 3\10;qÚu\8c)\9e#èmÌ\8dt´44u\f/Ø{¼\8aË.kä0+¶\ f\0\ e\9c­\f5\14$ÅÖ¬^+¾U^Mï¼\9d;!*\1dì1Ì\18ÀL]\94\1eé\7fÇ\12®\ e+\16r\81\f6xÄ®p½v#°ì:Ê\12Ï\11ô®v\96&\ 6ºº'L.9\80\950\8b\ 4\8e\b¦YG\91媺0-üñí\8bújò[\7f\14\15Û ¥ ¦{ÖÆ5àmJ~9³\95бC§&\ 6\9d9ü³äÚï¹B\ 6\1d<fW=¦]©ÝØàÇÆ\a}ØSwÇk榧Mͯ;y\ 5ÅþI¬\1f§½\ f\14S~ÒëG7ÍõÔ\14¤·l\96\94Ùµ_÷¬µ\8b\7fXb\ e±\ edÌÀ0kì°~£à\17R\97\93\80{\18\17È\bL°ë[lK\1d\1eajâ\bú\88g\9ewí®]¾|ÍÞåqH\\16±\9eÊ¡\1dÆ\1e97!Øó7³ãê?Ëmß!¯¢yü\9cµ³_hü\9f%5ÍÈæ\8bH\87´\83,\85oyþ¨ÊO`\97\99Ã\152\ 2\15i×Z\96]ǰ¸a\ 6}äKßûw\1cn::{\ 6\86\90ÀÜûÙÚ¡ÿrâ\83<ì-\f\ eîSVÚ³ÿ°¡¹­\8b_h\fQ\15\ 2;FÌ`oWk\r\18{ ËU£\ 3pc\9b7\8b»±³íº\ 1Úõ6¸BÀ2Üδ+\87x\18ôi1¯\ 3}\1eº?ðz\12\1c\9d\96\ f\7fÇ\9e;\9a\1dñÁ\8fn]>­wHKû\88¾É%{·'¡q\19\85\95\94v\b;FL\7fw{CYnB\88×M³c{¤E\97#áÎ\9dv¶]a»º>\8búPXÝÜɦ\86\1dôµ¤ü\ fñ\91\ 3\ 2\b!\91       \99\85 :\18,íHî\ 1\ 3\86ú9Û\01:idzáÆí\87\81áàw\15\8dT:«­Áï:\9b«>§G>u¶\ 2\ 4ïB®\9cÊ\1a<³]Í@pÇg\11ë8©á\búò¬Ը¨\88ð·1\89\1fò\89µHb³çÞA©(H\8d$x8ÙZYZ^±vtõy\19\99\94UTÙH\ 5>ÅÊ\1aüCô¶ºÒ¬ØW\1evçtT¤EA§réTlðÀ®ð
+\81Ëð]ÿð\94\ 2\8e\90g\8b\aAßPY\92\9fùGrRrZF^    Ð\ 4Þp\84íÕÎæê¢\8cØÐ§\1e\1doÝuó\ e\f}\97\96[REá\90\8e\10ÓHÎO {|ç\92\81úÎ\8dÈØ¹t*&\1eµëOÊ\87Mmî\13b>\82\13
++A\ eñ +©\94\9aò\92O¹99y\9fK+ê[:Ø/8
+\ fж:\12°D(ÁÏû\91\8f?áuTbF\ 1©¦©\9d\8eJ\1fc\11Sô!\9aàfmrHIê\87å\vq\8d\9d½\fKÈî;ná\0B>\9bT?\8e\1afÐÓi-\r5\15eD"\89\ÝÐB£÷rd)\98(\8dRY\9c\9d\1a\eù&$$4\ 2`\95[\f^\90Æ\94\8ef\f \86\98\15\1fì\ 5Z@u\87ĪÅßÎ\9aεS\99\83\9f1wÁ²u[ÀíjuïIDjAÅxj° ïíPêëêê\1a\9aZit\ 6\9a\9fÁH[ëÉE¹\1fS\13ã\13\92Ò2r\8bÊk(m\9d=},é,bÂýï^1: ¸eíR\90í¸Æ\8e\f~Ú,A!a1i\95#glÝ\9f\ 6ý¯\ 1\9d4j[k\e\95ÖÙÍè\1fä\b#ÔÎõ\95ÄÂü\9cl\0UIyu#ò~H°^\ f%æ¾\8dé\11ei1a!A\98í¸´#v\85·ë\ 6Y5ý\v\8e\93Q\83q3Ð×ÛÓMï¢Ó»\19},U\184à³ÐZ\ek+Ée¤2rUmcK{\17\1c:óGÐ\12ô¶z"è\0/\a\8bãûd7\88,\99?{ÆT|c\17`\85ü:É]Z§®NN\r*~p ¿¯¯··¯\7f`p\88C:\8b©öÖ¦Æ\86\86Ʀ\966ZWOoÿàÐ\bKú0\16£\11þ÷¬\8c4\15·¬[\86ר\98v4ä\85Ŷ\81Õ\0¡¦x\ 25cH·\f\ f\r\r\82ghh\18i\9bñ\86ècл:híí´\8e®n\ 6TÎ~=l\a+É|÷ÂÝöÌ\11\15HÌ<¼Fe\ e\1e£FîëÔ êÁ3\ft\8f \89ýåWéïëeô\80\a\bÇ>\f\v*dìäüä7¾·À\96Ì3bPñ\7fO\rª\9eõ\8c\97\11¨~p\0>\83P8çwAB¦\r\1c'1\ 4·\eÆÚ»%yE\f¢\9d\83\1avÖ0ÆSó?\1fä£\f\84Ï\82\14oeAÊ\e\1fG\v½½2â+yE\f"~\ 25ÄI¨ù;õ_û,ð&lo e½\7f\ 1\8eT-ÅÍkàµÄ\ebPñljÐ\86"OF\rw\ f¼ ÛÀ\91úÖÏéâqU\19qáEÜ^K\93kÇMÍ×\1f\80;@¦"?)\ 4\1c©\87v3\8fT\9eiÿ?³\86Kíð®\ 2È\10\1a©ËJ¬\14âéØ\ 5&dÍÛ4\905\1d=\ 3\ 6âN­+ù\10éïtQï\17ix¤r\7fqL®\1d¡F\bm¨_\1f¼x\97YRÛÚ\ 5\a\8f[;À½µúsê\eoûs\87woY³ä[®\8fÔ¯\8aǨÙ(§vââ-\9f7Iàx¥õð\80xPª]Í\15y    A\ fl\8c5å7¬\12\12\9c\81çâø\8axæñªm|ÝõYôÇâ\9aVz\1fnh`ºwPʲß\13~·:©¶]|ÅB^##À>^Åeöê\9a;x\87\91)\1d\8c\ 1¼ÐÀs¶½¾4#êé\1dK\80ûú¥HÊðX;ûxUÐüÏuWBLfi\1dµ»\7fx\ 4§öá\81njmqzÄcG3\1d%ɵ\10w\9eKg\1d¯bÛ~ѵ¸å\e\96ú¹ª¥\v74£Ã\88USB½~;sPq\93Èw\823y\8e»\0óx]²f³¢öi\9b\a¯âsÊ)\1d½\838µ#V­ÌO\fz`m|`'H÷¹¼·*"~ÊÔ\99s\17     \8boW3¸ì\1c\10\9dQZßÞ\83\17\88QÊsb\9f»^5Ü¿\83?VÅÄO\9f=\7féz)壿\8e¾\11\7f\14Õ´\ 1àqiGZµ\81\98\19\1d\92þ^ÐLЪü\90\8e\10?oñêM\8a\aM\7fõ|\9d\\80\ 2\8fK;³Uýn[\1cSÞºö{ØL|Ñ.ðÍÔ\19\0\9a\1få4N]¿ÿ2>\97ÜÔÙ\8bW;¸;j
+SüíÏ\1eÞ½yõây|±*¢}Êô9\v\96\8bʨ\9e¸âüì]\16©±\83\81ϬЪ-\95`\89ô°=­Å§Ve>S¦Í\9a¿t\9dÔ\1eÝ\8bNOþ\vÍÊ\18À£\1dmÕò\9c¸\17\8cöË\8a¯X4g\ 6\7f¬
+\9eo\0ðKÖH*é\989>\8eH/®£â\v\1a\80;\87\81%\92\1f­ÊÔ>u¦àw"\9bv\1d:kï\1d\96V\887h\10Ük\8b\9a\1få¯U\11³
+
+­Ú¨ e\ 2\82&åSu+\1d\8föQ\14÷\82ä×\9ev¦°UùhU,hVJì<`ló08       \84\ f\97v\16î×OiÈI¬\ħVE\1f\104\v\85Åe5NÝp\ fJÈ«lÆ\15ð0ÝÑ%ò.Ä]t9Ïo¦/µ/X!¶c¿á57\10ð\15Mx´Cd\90\9b)ÌÇá¼\8e\12\86;\1fµO\ 3\ 1/¶]íäU×\17\9cºp\94\13D¦³\89\9c\vo¦ÓZ
+\eùµD²µÏ\86å´ÏÀê÷ç±9ø\8a\15C&3:Ðù\8aÁ>p3ñ\17w¨}þ2\96ör
+\ eí\0\19¸»\17¦\85ûÂ\84\94\9f\9bé\ví?l\ 3K\81\vá}6Ní\b2y     A\ fmM´Ñ\84ä'î<Õ\8e CÌ\8c       t¹b ¶C\\98ÏÈðP;\962\182*Rëù\8d\fOµÃbb¥\fÿ\91á\9döQ¸ËPëJ3¢\ 3\9cÿ\1ddx¨\1dÙeª>Áb2û7R\86wÚG\91õ·±,;µ±&(&¾#Ã;í\88Sk\8aÒ#\9fܱÔW\95\11\90ßÈðJ;\18û \ 385/1ä/ÞËû/çý\8dã|IÝí½÷\1eÚ¥\89ö]J¢N4­ê\b¥a\85\9ch\91\93ìN\ 3¥8qP¢a\15¢a\15J¡´ÓÞ\e9×ûsßwñË÷ñíþöù\\7fÁóñz¼®×õºÎ\1côu2Õ\90\16ÀÝ2sÆ\ e7u¨«©ªøNʱ]\eì\f\95Å¡Ëàl\99\ 4Hv¸©µå\ 5×ãaS-´áÛcÆÛ2sÔÅ0Ù! Kr/\1dß»yÕRUI>|ë/\95}\ e:0EööºòÂ\e    \11þ®Vº
+\94
+\897û\ü\1e\14Ù\9b«KóÒâB¼\1c\96©Iñ³ã¾©sôóQe\87»\94\10±Ã\8d¼\ 4n*þ\9b:oþ\82E,ÜbÊFö^ûOe<,ÿÜ18öm\8a~ÙÓãöy¯^®\8e\ 5\9b\8aØYyÄ\17/uð     =s­°¢¾sp\9c\ ev\9aì7\13#\ 3ܬõ\14Ey\b\90\1dØ\19Yy%T\97\86Åßxü¶¡khöì\98ìPÜËòÓOì÷Y3-;îì\v\19Ùø¥4Ì\9c·\87'f\16U6u\ fOÐÁ>9
+-ìÍã̤¨\0wÂd\87\88db\17\90ѲtÙ\11u>»ø}sÏÈÄ÷Y²OaÿRK\r´°\93 »\89\ 6A²CÌ\908\85ä¡\12\ 4Ǥæ\96Ö´ö\8d\9a\1d\95\97\9ed%G\ayØè+\89\11#û|\14\91"\8aúv\e÷\1cO¿KßYEå·¯íãËû\19§C·8\9aj`Å\9d\0Ù)1£bìà}\0"òu]Çìã\9dÒÂ\1a«\9eÝ\86\7fi½­\81²\18\ 1-\fc\87\93R7qÚ
+1óèmCçìc\ 6m*ª\ 3\ 5ÿ\9c;´ÍÙ\K\16Z\18!²£\16)(«eá²#2ùÖÓ*zb\ 6mjoKMY^Úñ½\9bì\8dÑ¿\84\7f\v\9bGµ;41\eÏ\9dǰUí\9dõª"Ë\fvÁ¿\94\95\14\19\0-L^\98\8b\19ÿ\166\8fjw1\15#ûÍûN\¹÷\92²ª³eÇ\8aûkô/mq4Q\87\16F\90ì\90îüÈî¾aç®\17V|î\1c\9cýªBÊ\80eJs/ý¹{\83\9d\ 1\16\90\84È\8e¥»\9c\8e\95k@\14Ø\1d®ê\10\1dvG)\83Yf\87\8b¥\ eú\97ð/¿ó¨%RTÉÀvÃîØKyetÚ}l \ 3RæÚY°Ìr°\fQ\9bº\90\89\8dORmÙ\9aßCO_}𺶽\7f\8c\1e»Ãazq÷rÜÞM+\r\95ÅxXp\7fS)ì\f(!µ-ÖùG$f>y×Ð58þuÖé\8eì^]\92\93r4ØÃz    J\19\ 2-£¨¿bý®c©9¥Õ-=ô¥{wSåS°»ÿ:s-\19\ 1\ e¢,\ 3GURuÙj\1f(\ 4÷_¡\84\9c}\11C«ÚðöÑ\8dø0_'\135I>6Æ\85ÄYFËb\9d_xÂMø;àg\9a­Ý\7f|ÿ66Øñ¹üáÕÓ\a¼\1d\8cUÄyX\89±û´eà¨æ\94T7Óa\99\1f(fÚk_Ý¿r"dÓJ\ 3%Qn\16üÿÔé\94ùÿ,\ 3ìpU?½ÈO\8fݽ~\85\9e\820JwÜÑ©\87       ¥\8c_D"X¦\9e\1eËü@\11Ùú¡,75\ 6bFWN\88\83´\90\b\f\ f:LXÊÐi\19`Ç"òÎ\85#\81®\96Ú²\82¨Ìà\8fNé2jËÑaÊx@§e¦¾M\ e÷4¿\7fv+\19E¤¦´\0\v\18\98Q\97±\84ê\9e\94ù\84¾\94¡Ä{ceQfÂám¿\99ªKAD⿪(ÜáÛS6\¹qOì%¨îô\1c¦\99x¿~î\8f-k\96«Jð²\12Â\ eá. ­aêäûÇÙk\ fQ\97¡Ã2?¦àñ\80x/\98\8ew"Ú\f\16î"
+K¬Ý\ 3£ÏCýmì\1a¢Ã2¿Æ»!Ä;ó"Ü\e\ 1%Ü%T\97®ò
+\89»\9cÿü\ 3Ô_:,\83Å;´Èü4j¼\13ÑÄ`SI\9cÐ\aÌ×n?ü\17ú\98:\ 6Æè±\fDd_kMiNJL°;\19â\9d\93\84ÿi¢~\1dú+<wÆ\¼]\\ 5\1f\13=\96\99¢Ä{ñí\vÑ\ 1\10ï2\82\1cøG$­\ f,uðÞ\7fòʽ\17\1fÛúF&é°\f\8aÈ\9e¦ª§?Ç;þvG)#£iæ¼íP<²LûÀ¬?&\1a;´÷¢¬Äp?g3\ri~bØ\99¹\84åu­\\ 3¢\92²\8aÞÁa¢\9f\1d\9d¦Äðí4vÜ=\83%¤¢\9e\8dGðÑ\vÙ\90\90\14vºN\13\95Ýo­¹&!_\13µ\87Áªbìïê;\ 6F'¾ýïðSÔ\81x\1fìjxW\94\95\14á¿Î\ 2ª\18Ê\19ÜÙ\191v\e\8f è¤ÌGåµ­=Cc\93_¿ÿ\17ú©éù\8eÍ74\93\13\1dõo\9fd%E\ 5¸ZéÊC¾Ã]Å\17\9evUÉ.~\87ÏfÜ-­ªoï\1d\1a\1d\9fü\86´Gó+-\15\97Âû\15frrrbbb||ld §­¶âqfrt »\8d\9e¢(\ f+#Þ¦\ 1vØU9-3'\9f\17³
+_¾oøÒÝ?\fô_\81îûÌLÓ"\*ïØØèèÈÈððÐÐà@_÷\97Æ\9aW\ 57\93¢\83<m\r\94ÅyÙ\90áq\85\avÈH)5c;Ï\80C§Ó²\v_TÕµtôô\ f\8d\8c\8dOLLÎÌ\fí\fï@\7f\7f_ooOwWgg{[sý\877%÷®%D\ 5­·3Z,ÉÏNbÀÙ4\90\91Lì¼b\8aºæ\8e\9bwF\9eI»õ°¤¢¦¾¥½»o`pxxddt\94\ 2;CÛßGãíhÿÒÖÖÚÒÜÔXÿ¹îSMeyiAvú\99ð\0O;cU)\ 1\ e0<¾¦Aí\9d\85KHZÕ\90ìì½+âTÊõ¼ÇÏßÖÔ5µ¶wv÷ôööQf\86\16Ã¥òÖ~úø¡¦ºªòÝ\9b\8a×/Ë\8a\1fßÏÎH\8a\rÝî¶Â\bØ9 `\aÓ°ó\8aÊi\18Y;{\ 5\85Å&\κ÷¤¬¢êC]}csKkk\eLëO´\b\97Æûêåó²ÒâgE\8f\v\v\1eÜË»\93u--1îðNog+}\15\8eó²Î\9f¿\0\84çä\17\93×0";nð\v\89:uþï¬üÂgÏ_¿©|_]ó\ 1\9b\9fh_\0n      \8d÷n^î\9dÛ·2oüsõïËi)É\7f\9d\8c   Ûåënoª£$ÎÏ\81;;\12\9e\81        ÁË©é\9bÛ»ú\ 4\86\1e9\95\9c~=;ÿÁ£¢g%¥eØLÓÞ¿\9b\9f\97\9bs'\9bÂ{%ýRêÅóI  ñgO\9f\8c\8b\8d\89\ e?¸7àw÷ÕV\86êr¢¼ì$¼=\ 3Âÿg!\82ç\13\91QÑYfíèé\e\1c\1a\15\17\7f>-ãzæ­Û9¹ØÐh3®¤§]JM¹0ÍûgÌ\91èÈðC\a\ fìÛ»{g ÿVoϵ«,\8dµ\94$\ 5¹Ù\98\18ðf§Ásð\bI*¨ë\9bÚþæ¹%0äPtì©s\89É\17.¦¤Â¤\¤Ñ\9e8\ e¸G\8fDQy÷ì
+\ e
+ðß¾u\8b\8fצ\r\9eî.ÎkV\92M\f4\95¤Eø8X\18ñÎH
\ 2\ 6Ff6.~Q\19e-Cs['w¯m\81{\ e\84\85GF\1f\8dÁf\9a6dÏnÀ\rÜ1Íëáæ²ÎÙi\8d\83½\9d­\rÙÒÜÄXOKUAJ\84\8f\93\95´\bïÛD\83\bI/(.«¢ehj½ÊÙm£·ïvÿ\80 `lfh7®÷ôpwsYKãµ¶²475Yflh ¿DW[S}±\92\9c\94\98 /\86¾\80\0v\80§JÏÉ+$!«¬©glF¶spt^çêæî\ 1ãîæJ¥]i»ÂÆ\9aleAåÕ\ 3^-MuµÅ*Ê\8a
+òr²2R\12\ 2¼\ì,$F\ 6BÐçMK\ fÆá\13\12\97QX¬©k`¼ÜÌÂÒ\8aL¶¶&\93­,)´F\ 6ú\80«ó+¯´\94¤¸\98¨\88°°\90 \0?\1f\ f7';+3\13AªSá©Æaãâ\15\14\91\90\96WRQÓÐÔÖÖÑ\85Ñ\99¦UR@¸3¼B\18/\1f/\ f7\17\17''\a;;\e+\v3\89q\11\ 3\86N\10;&=\18\aiÏÁÍ+ $*.!%-#++\a\ 3°4Z\f÷'^\ e\8c\97\95\85\85\99\99D"11ýË.\1då0\bBA\14-`yR\v5\1a\85ý¯ÔA°\ 1ÓojÌ»+8\99\f\91\8ep%[Ò\93^AOf°n\9cæeõ>\84\10­Á\97ëVÞ>yõ\13uHEw\84·\94?Òqð\1cðû×ð¶Ö¹ÏQ¹néÍÜ\1d,3º¹»æÃ¯\89`4&cëuK¯\10ÿ\ 4\9fõàã=ª«ú±î%¼ç\ e\99ü&®Ìå8\8eã8î6m\ 2\f\0\1däÀZ\rendstream\rendobj\r1104 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 183>>/Filter/FlateDecode/Height 237/Intent/RelativeColorimetric/Length 14513/Name/X/Subtype/Image/Type/XObject/Width 183>>stream\r
+H\89ì\97çW\93Ù\16Æu()\90\844\b!\ 4\12B\ f\10zoÒ\9b\80\80\ 2CQ\ 1)\ 2\ 2" 4+ ÝB\13\ 4\11\11\90"CoJQ\10PÚàÈxÑQï_rÏy\13Ûõ\ 5g]\13\9d»\96ûK>\9dµ\7fïs\9eý\9c\9d={~ÖÏúY?ëgý\93jïgõ£iþ^!¨¿¼¯ÿ\13t\11³\14(iiiø#bÿÑ`»\15Â\f\81edd\91\92\91\81ìÿlp!4`\96Å`±8\1c\1e\8fÃa±\18YH\8e\80ÿh>ô\12BCf\9c\9c<\81\b\8b /\87Ça\ 1øW¹\7fÔ\10C©¥¤\04\ e/OT S¨4PT\8a\ 2\91 \aÁ\11î¯@\7f2Ãß\95ZZ\ 6\83\93#\90È4E\ 6S\85Åb©0\19\8a42\89\80ß\9dû=²\94h\82¿ß$\b\r"\8bÅË\93(t\86
+\9b£ÁÓÔÒäqÕU\99J42Q\ e'äÞ\89Z8Ç¢ú~#\8c4\96\91ÅÊ\11É4\ 6K\9d§­o`$0\16\18ñuµ¸l¦"\85$äFE\11\r\1e\f(YÙOÂGÂô\88Cdqr$\8a¢\8a\1aO×ÐÄÂÚÖÞÞÎÖÊL ¯Åa)QIrXYitnd&¤á \83ìAÒ\a\ 3sSh\17\89Z]H\8d\95#Q\19ª\\1dC3\eG\17\ f/\1f\1foOWG\esC\1d.K\89BÄce¤Ñ°\853!ûyú`1HnJKöµ\ 2·,-\83P³yúÆÖNî¾\81!¡aa¡!\81¾î\8eV\ 2].K\91LÀa ÜègáP\10\15(T*\f\1f2H\1fy\90\9b\18̧¯\95D°¥d0x\ 2\85ÁÖä\9bÙ¹ú\ 6\87\1f\8e\8dOL\8c\8f\8d\ e\rôv¶6Öå0i\88MPäÞ+\1c
+\82\ 2\95®¤Ì\ 4¥\fÒ\87J&\81à\14¡Kê±\ 2÷\f,"¯ ÈâñÍ\1d<\ 2Â\8e&\9eÈÌ>\9d\93\95\91\12\17\19â³ÏÊH[\8dA!àÑä\16\9eÅÃQVa«s¸\.G\9dÍ\82ÁI\ 1è\88_d¡à\12Á\96\92Æà\89T&GÏÔÞó@d|ZNáÅâ\92\92KçÎd$\1e\ eñq²àóXt\ 5\f
+¶ð¢Ète6GSGO\9fÏ××ÕÖÔ\80èJt :°\v|ew}¬þWlÐ\1a+§ ÈÖ\12غ\aF&f\16\14W^«­¯»^URx*):ÈÓÞDG\1dÈ\8dCq      "¶\1c\89¦Ìæé\18\bLÍ-,-ÌL\ 4\ 6ú:\0]\95É S\14D\8f\95$°Aø\11(Ê\}\8b\7fMÈ<[v½©µýn{kÓõ²³§\12"ü],\r4Th$è\92/°ÁE\81³Jª\1az\ 2s\e\a§}..Î\8eö6\96f\ 2\ 3\90ùj*\føX      ÃS\12Øx"\9d¥)°ó:\18\9bQX^×ÚÕ70ø[_ç­ÚÒ\82ô\98\83^vÆÚlE4\97\0\7fÉ`\80ØL\8e®ÀÒÁÕÓ×? ÀßÏÇÓÍÙÞÚLÀ׿²\95éd0\15èáùÍØ\18è\11]3gÿÈäÜËu·{\87&\1e<|0>p¯åZQNRÄ~gs=à\12ytl¬<Y\89­ehéè±?8,"*:*2üP\90¿\8f»\93­¹@\8f§¦LS\90ÇIB\0ÅÈ\f\ eßÊ-8æä\85«·zF§\1f/..ÌM\ et4V\14¦\1d9àjÅç2©ÀÜ(ØÀ_Te8Ìîþ¡Ñq\89)©©ÉIñ1QaA~\1eNÖ&ú<6\83J\ 4rK\ 4\e+OQÖ0´õ
+K<}¹¡shúÉÊúúêÒÜxï­«\172cC<l\fyL*\11\99ÉÿÂ\86þ¢©ð\f¬\üB\8f$¥gçæçç\9dÉ>\99\9ap$ü\80÷>\ec=®
+]\ 1å\9eÄ\83M ¨ð\ 4\ e¾\91)\ 5U-}\93\v«Ï·¶\9e¯->\1ch¯-Î\8e?äekÄS¡¡añ ÑUµ\8cí<\83£\932ó.\94\94\95\97\97\16\9dÏËJ=\16\19ìíle¤ÅV"\13¾<)&lª\8a¦±£\7ftÚùkw\ 6g\9en¾|õêåæÓÙá\8eú\92\9c\84P/»\9d±1x\92"[ÇÔÑ7ìXF~qUMCccCÍ\95²\v¹éñ\91\a<ìMõ8Êh÷$.l\96\96\89\91\93\97j;F\1e¯m½zóæÕ\8b\95G#\9d\r\97!6T\eÕÛÈ4+©é\9aï\v\88J>}©ºáV{gçݶ溪¢Ü´¸0?g\v>ÈN"^\82ئû\ 2cN\15×w\8d/l¼|óîíë­ÕG#\1dõÅÙÇ\ e\18h0)\ 4\94$\11b«ëYº\ 6\1dM+,¯¿ÝÝ?84xÿ^Û\8dê\8b9Ç£\ 2ݬ\ry\12Ç>\10\9bUr£{bqsûí¿ß½~±2;Ô^s13&ÈÍR\9fà£\ 5 \b[ßÊ=$.óâÕ\96{\83ã0:\a{n×\95æ\9f8\12ìncÄcI\10\9b¦ªmæ\12\14\9bu¹±gréùöÛwo·\9f/?ìo½röD´¿³\99\8e\1axn¾|%?`[{\1c\8aÏ.®½Ó?1;¿0?;9ÐÙTy6#\ 6É Ô©\10+v\vicÏ\14À~óö¯\97\eO&z\9aÊr\93Â}ì\ 5\9aè\92}Äö\fM8]z£sxzaùÙòÂôHwsõ¹\8c\98`wk`/´©\10;vïÔÒæ¿^ÿµýÇÊÜðÝÚK\99±ÁnàµQF{$áN"\8b\17a'\9e)oê\1e\9b[^]\ 3\89?ÖÓ\u\16<T.\16À^èGÅ\81\80ÝÔ3¹øû\9fÛÛ[\e\8bS}-\95\ 5)\91û\1dM\91\95\ 4e\93ú\14;)·âfÏÄãgë\ekËs£Ý7+òÁQ'S\9d\9d\8e\8a\ 1\e\a±Í]\83\8få@ì'ë/^nm>\9b\eî¨+Î\8a;èñþ¢Qö!\88M\12açU4÷Nίll¬.Í\f\8b\92ÓÎh\a{\89\r[\aÁ.kê\99XX{þÇæêÂd_KUAj\14¢\98\12P\fí¢?b\87%åU6÷MÎ?[_\7f¶0ÕßvíBÆÑ W\10A;ØëÛ±Á:D¤³u,ÜBâOCl ØïkK3Cw¿*ö\9e_>\98$ìx^%Ø\væ\9f®®,!\1eÉKþÕ×ÁD[\95\8eº¨\8b\a\9bDWÓµt?\98\1cúóéêêò£ñÞæªO\9d\8dª\98\b\9b\15v<\1f`O<Zzº<ÿ`àNÍ¥SïgY\98#bÇ\86­I\8aàÉ@ƪ¹g\Ôº½¶èT\\88;\ZÑÿ\91!ga\0rø6ÞáÉ`\vë\1d\9f{²¸0\ 3Ä®ÌO\89ðs\ 4b+\92à@\8aß#°5\1e\15\9e\9c_ÕÜ;>ûdq~f\ 4¶N\8eðûxÏ(­\91Ü&3¸\86v>\11)\85Õ-½c3\8fçg'úïÔ¼ÿb\89\89-l­\fZûF¤\16\82­\1f\83ÖmÂ{¶ä\7f\18*tl¸ª\eÙûE\9e8{\ 5\9c\9d\9e\9b\9d\1a¾×\ 4\83\13\88­%1gÃÖà_\ 2\13¬Ûû£ÓÎ]mí\e\9b\9e\9d\99\1aêjª\0bû:\18\8b
+\86\9c¥2áÎ{8ýüÕÖÞÑ\aÓ\ fÆî·Õ\14e!bïòÅß\8c-%\83#ÐÀ&å\1cxôäÅë·û`ëѾÛ×\85bï°D}vVûÃÙ\91É©ñÁ®\9b\95\85 8Eb£\ fÅ7S#ÑKgëZ¸\ 6Çe\15ÕÞ¹?:956ÐÙX\ 1\87
+\88ÍÚ¥5Ä\86Ùi.<ÛÖ7211Ò×\86ü%ò°Þq%\10\a¶h\eâ#ÛÐåúöû#\13ãC=­@lá=ï&6òÉ\8ajúV\1e\87\84g\87ÇF\aºÀ\16\95~8À\19\ 4§ÄÄF6\12`m\r#0\91Éù\15\8d\1dý#c#ý\1d\8d\15\ 5_¿gá'38\ 6 ÿ\8eç\96ݸ{\7fxt¸¯½¡\14¬\8dÞ¶\86è\7f-ÄD\rï\19ZÛ)àpú¹êæ®ß\86G\ 6º[k\8aþÆ=\v\83\84\89\ 4IjAeSGÿð08\8bL\85ë\7fh¯Î®¦Ò5º\10\95^\ 5D  Ò«H\95¦\11\10\90¢\80\12D\11\ 5\11PAÚ\88 H\11\10)#U\9a \9d@H É¡C¨\86®0\882ÎÜ;ë\8eë®{×̯¸Ï{Π   X \99Yëò~Ê\97\93³Ï~\9f½\9f½íMuP$Ø/²\ fÂ\9eSÓ1u8\7fåÎÃ\82ê\16\ 6\aJ\15½\11b'ºgc¡÷Lô"MCkj@DÒÓ
+øä\81\ 1v7<\vÕ\ 2.
+B\94Ô>\91\r¢\92DÎkéì\13zïqQm;\93\83qzÛj\8aÒï\86\8a¼g"Í@\b\83^\ 4\9fÜ\8a>\99ÕQ_BÌ\b~QûE6z3Ì\885õÒÍ\84ì\17¯ºX\n\7f÷ë\8a§)·/{Ø\9b\b½g1"\16è\98\82"cÒ\9e×´3¹\ 3\1c|¾¢\83=\1dL¡ÇíKbEd\93>\82f$
+uØî~.\87 \84eâîg ©"·÷=\93«] ÈúN\16\86±{\9a+óR"\ 3Ýl\8c\8cì\13Ùh:5ôOºø^C3ÒÖËæö÷´T\ 3a\90X\91û   \11\95`¿â\8aÌ\ 6Eöc¸,²\13Â/\9e±Ò×@bÞ7²á\9aµ\8d\ 2o%æ\945v±8\9c¾®Æ²Ü¤\88@7ÛmAîñ8þÍ0`ç\ 2"\92\91\ 3X_WC)$m\1fg\8b\13ä'ï\ 3ì\ 3\84 OX8z\87Ä<zVÝÒÃ\86\19i¯+θ\7fÝ×å¤>Ô\ 3ɽïYÐ/`Gâ\8aìå\ e\82"ë@ÍW½N\9b\1d?
+£½\1f>"\86»\9f\82*ÅÈúìÅð\aOJ\e:Y\\8cÍh©.H\8d¦yâo\16B\18¡H¨6Ä\8e¬í`a\83\18\13möèàóö&Úªò\10\8d\94ùiÏà;\ fó«\9a{Øh:\9b\ 4Ë\99\82¿yoØDضpö¹\1e\97\8aÞ?8\84¡TðÃí w[\81"ÿÿ¨I²µ\fO\9dñ\ f\8bË,©Çù\82å\\ 2Ó\89Ï\b¾!÷\9c\91\9dÄ\e\9e\90\ 3û\95;4\8cõ¶Tæ%G\ 4\9c³6ÐD\ 3\1f3" Û\fw¿¼Êf´Ø1fÛK\bp¢gä\9bÄ[ÕÊ\1c\18\19Áz\9b+r\93`G\12F"B\91bäù[¨      \eÁÉ\86\14\85\ f\ 58FsåÓäHä#"f\ 4)\12O¼ç\83£\1f\15Övô\ f\8d\8e`\8c×å9      áþ®'õ\8e  3\12\ 1à\ 3èü-ð\ 2\eÙ!\9b\81\8d\8c\ e\89Fåj%ð\91=\9fGi\86H¼÷ þÑ9#ã£\0»,+>Ì×ÅR\88ÿ   ð\8ao\1f\ 1ø¿\80ZL\1c'\9bB\90\9d        ±\93=<>>Ìî\ 4\a\8b½ê½³kö\86MvPß°ø¬²×\8c\81±\891\8cÑôâ    Ø¶\93¹.ø\9f\84ø\81=0\8b\8b\1f<xèÐ¡Ãø\81\1f\aqè¢\81\8báiD\ e<\el\ 4íu\98ÍÁqÞÄp_ûKÈ\9d\97=ìL´Õ\14\84\19/\19ÿvzäÐ\ 4o\1cUÐÌû¡Þ\8e \fôô·\ f\93 \ 1óa       II)it¤¤$%$\ eãÈEâÆÉ\96QTÓ\ 6Ïö¿\11\ fý \9b;6951Ä\ 4M%\82¦N!+\10\96)ðB¦B1²u\v\8az\be\8e=:9 °_\95f m\ 3Aê{Ø\ 2¢\ 1³\94´\8c¬\9c¼\ 2:òòr²ÒR\92\bø\ 1\11y\117?)H#z\16\8e^àÙ\ 5/ÛûF&g¦'\bº\88Ü©$+lFÈB\ 6!\8c\16\93^\ß\8d\8dOÁãÝ\r%é±4O\aØ6
+ßl\e\92hij´\8c\9c\82¢ò\11U5tTU\94\95\14ädHàBq#=âd\eÛPaAf½hb\fòfçfƹ]uÏ!F¡ÜyThî$³£®¹Ó\85Ðû\99?6õ\ eñff\10ìâ´\18X\92Æß.I|<\b¢\ 1³Ò\11Uu\rM\8a\ e\1c\8a\96\86ºê\11E\0.!\ 2÷\ eÙ\96NÞ!Ⱦ:9ã3|þÌ\18»½:\1frç9"w\1e\162#x!;\ 6\85ÌïFBNEKßÈÔì,\ f£×\17=ºsÅÃ\8eX\92;\1f\8d\83\16'@+*«ªkjëê\19\1a\9b\98\9a\9a\9a\18\eê\1d§\1cSSV\90\85Í      IöQ\1d\13Ûs\ 17aÅ53G¦ù\8bó3£¬\96òì\a7ü\EæÎmER/E$ç¿ì\80Ï~\83\15¦F\ 5AÚÖRùrI\92ó\81\83>¢¦AÑ506?imkïàà`o{ÊÒÔP\97¢®¢('-qH\bÝ\ 4Ùò*\9aú'\9d/\\8dM+ª£c\93ü¥å\85éaFcéã»\84ý    ]\91\ 2E\1aÛB!K}^G\1fàÍñçxXWí³\1fn\a\9e³6üj·\93ó!)\8d\83ÖÖ32³²ut¡º\9f÷ôôôp;ëdoef £¡ª('%qP\98wÁ¦\91Q\ 2²í g'åV´ö\8dÍ-­®,L\ràl]v·3Á£¶Ð¿ \15éI\8b}\ÒÈ\18\9aâÏÏñ¸\9d5\ 5)\11\ 1Tð¡/.\8b@-!%« \8c@\e\9cvuóò½\14\14L£Ñ®\ 4ú{»¹ØY\1aé\ 2nYÉÃ{·\92\1d²]|Bï¦\17\fN/¾}·:Ïã´W=M\12Ø\9f\90\18E*R\1d)òZ\VY3ktv~á\r\8fÛQ\9d\97t\8bì6\82ËÂQãT«¨SN\18[Ø:Q=ý\82BÂnEEÇÄÆÜ\89¸\11\12àM=me¬«¡¢ #!¤\ 3â\19
+\1a¤\9d{ ô\92ª6öÄüêÚÚ*\7f¬¯\19\96Ü_°¿/\14é\1f\9e\90[       ÿðfqñ\rþÙ\89ßD\12\ 1jy%5Íã\86æ6\8e\8bÁa\91±ñÉ\ fÓÒÓÓR\93ã¢Ã\83ýÜ\1d­\8c\95å¤ör¯m²\r¬\| A\96¼b\fÏ.¯o¬¯Ì\r3À¿ ä\83ý©    µ?²\90i\1aZS\ 3"R
+jº°Éù¥%þ\ 4§­27á\86ßW\91\84@-#¯|Të\84\89\95ÃY¯K´ðèø\94ÇÙù\85Å%%Å\85yO\1eÆÝ¾êïvÚÒ@KU\11ѽë\1d\v\ 2ëqS{÷ Èä¼êvîäâÚû÷ëËÓ\ 3]5ù)\11Èþ´\88\90/\\91ª\14c;÷Ëw\1e\15\fÍ,®,óyì¶Ê\9c\aa¾¨I
+\14-\86Û\96´¼²:EßÌÆÙÃ/8<:!5« ¤¢¦¾±©éU]Õ\8fù\19\89QWý¨vfºÇ\10Ý»N      Ñ\ eäU´\f¬\}¯ÝË(mì\1d}³ºñasm\91Çn-Ï\8e\ fó\83;\16i\7fÛ\8a\f\89Í(mb\8eÎ-¯®ÌÃ\1fTdÇ_÷q¶Ø1"\ 2µ\9còQm\ 3\v»3^\81×£\1e<Êy^VÓÔFïeõõ1»Û\e«\9e?I¼M»àrÊ\90\ 2F°ël\8a\ e<.C¾¯îàN-­\7fø¸ù\8e?Æl,y\1c\eâ%²!l+ÒÂÉ\a\14\8aÄ\81$MÂÞ\ e\80bäHÊ*©Qô-ì©>WnÞû!«°¼®\85ÎÂ\86Çy\93¼qHø­5E\99\ fn\ 6º;\98\94Ý5,\7f\15X¯£µÌ\1cå¿ÛÜÚz¿:;D\a×\8d\f\12Ù\10¾VdâÓª\ eljñÝúÛ\85IÎ÷°ñͦ ª©gnGõ¥EƧ罨méa\ fófç\97VVW\96øSÃ,(Ti±¡¾®V\ 6Z*»¾\98\ëx`Eí àe'6½¼±õóÖÆò\14§­"\87\\91Âío{G\12\8a¬¥\ fÍ®¬ÿ´¶\88þáë!Ù~ßq\13\9b3>´È\84\8cª&:{d\8a¿²öþ#¼vs}yv\84Õ\\9e\9b\14\11\bë\ 2YÁ÷×L\8c\b¬uÈPgýÃâ\9f¼xÍ\1a\9b_ûøéÓÇõyÁ\8c\88l\b\82\1e\89R+Ú\91\r\8cQþÛ\r¤i¬½
+IrÇIàr\11Ùj\14C+g¯+\11       \99E5\10ì'ù«\e[¿þö¯Ï\9f\7fÿí\97M¸æîz¼\9b8Y ãý®\82\92ªV\80McéäE\8bN}VÛ58³òþç_>m¾\9d\e¢×\14\103"bE"Ø`¡D\8f\8cI/mbM,¬m~ØX\9d\1dè¬\16ø¶2þz\9c&9TýìÝ\ 3Âã2\8ajÚûGg\97\7fÚúçïÿþï\1f\7fþùÇ\7f>ÿcsy\124\ 1\15ôâNÊß\ 5µü\11ô/nx\86\9bXXÿ\1fåeâ\båÚ\86ñNõµhAHvYJ¶¤\94\83\94RQ¤UѦ´ï\89SiÕ¢í´'NÚÄ\11I'KH*²G²\8c\99afÌ0«1ÆÌ0dIç~Þw\ 6ßé|ñÍ\1fðºÜÏuÿ®ë&USÈå\85ïå\1c±2ê'"{ʶ\99í¢µ»O\\7fòê}a9\91D(ÉI}\16zÞϧoÊ"l)ªjO\9a6{±×Î#Á!Oÿz\9b[RI­åÔ\v\84"±¨IÀ«£\94妯\84\ 5\aøB©øqbxá\1d\ eF\9b gbí¸Ä{×±Ë\7fĤd\7f®¬¦RH¥yoâ¡+{.\ 4\8eôS£àSC\87Éʶ÷ÞÓ·\9e&f\15\13ÈÈgo\9eß¿\14à\v\ f6\19-5äô`ì\88RÇ2bó¡ \9b\8fãÓs¿\90jXõ\8d"I\8bT*m\117r\19Ä¢w/\1f¡«\b*Ü?\19ö\v\91c\94Õu\91ÑVoõ?w'2\ 1æD¦RÁ`YðÀÐ'\96¡ª­6¶\1f\8fàü3°tX²~\7fÐ\9d¨äì\12"öb\19ñ\ f¯\1eÛÑçÊÀh\vȱDU\13Æ\14\9b\9a]B¢s\1a\9a$Ò¶¯ííímRq\ 3\8bR\9a\9d\1c\89rÊÍ¡Ç]?¨\1e¯clië¼Üç\0Ü4\0¿/D
+\8dJ.+ÈxùHv\8eáYó\13\8fà²\95eü;\17\12\9d\92SJ¦Ò(\95Å\99      \117NÉn:ì#C\10GÀ#Ös\96n\84k""áC\11±\86Ó jiûÚÑÙÙÕÙÑÖ"äÑ      ùi1¡Xu´\9e¤\8d»«ÇÖrÕÚF\16³æy¬ß\13\b5\eö\91PM«¡\10\11´\ 3¶®t\9e\89\ 6õs\8fàØVÖ4´r\ºéÐù{1iyeU5t\1aùKöëhx2¨\90ðç\11\81\87\ eA\89¬¦\8bJ\80o@phLjn\19\95\85Twtv}\83_g»T̯#\15\bÇÏ"ù5'ï\8e\83\87¢\8cEªÍg:¹{ÃzÜ\8dLxWPF¦ÑiÕ\15\9fð\85Üàî8í\7f!ÿ\9f²Çi\1aYÍñðñ»\10\1aû&¿\9c¨¥SÊóÓãî_ú\rþüLS̤ÿ\19\8að§®gj»ÐsDZ«\ fâ3>\11\19¼¦æ¶\ e\10Ý\r¿®\8e6\89\80U]\92ùêñu07\1eÐò\12'ëéÐgÔu@õ\7¯íþçn=ÁÖ\83J§ÓH_rÓbá
\ e\vi.\ fØ\9fÊF\8eÕ2B\17Ùáà°çé\ 5\ 4j-³\8eF,þ\0\7fþ$¸Äa*\8a¬\91Ãà¤\91Õr¯='o<IÈ,©f5\88[Û;\91èïÝÝß:¿¶\b9´20·,¨z»ã/½ÝQÇ\18\9a\81ÛÚm\87\83n<\8cK\ 5\8a\f:\85Pô!\11*çÁM\1esÑB*þ´³öÊ\86CrÙ\16Lv!\81VÇf1ªKsR¢CÎûm^>oÆ\14äµ\11Ã\86CÿÑ0°°_¼nßé[\91ÉÙeTNcs[g\17\88\86_7rI\13\98;/õY\b¸Kv``ÄïQ­2Aרr\96\13¨ö;sýA,flzmm\r\19§\9f<§°]ú?eWÖ°8\1c&\8d\16\8bÚµ®v°Ù*c\15F\8cÀ\9a\84¥\83Û\86\ 3AwþLÉ­¨á5µ|\85a\7fÇ~Ý]í­b~-±0ýù\1fÐ\87Ð\15\8aïä`¹jE\15\r½I\96¶óܽ@õµð\98äÌO\15ÕtÈW*\10   ]c@?HHY+\18\80ì^\93 Ù<\1e§\96\\92\95\14 Ï\86¾\ 4ãV\1e­0\12:«& \ad\9f½\e\9d\9aG ó\9a¤_»¾}\97Ëîh\9540ÉÅïâ\1f\\81\9d\84À\91Õ8\84\10¨\8e\8aª\1aú\93§þ:\7f©÷öÃg®\87?KþPX^E¯c1éUeùX\1dÙååjo\89\9faÿ¸\92\ 5\955ìz>\8fE«È\87ÄAïæj?ÕH[Uqô(xä\1fd·÷ÊþÖÙÖ,ÛÉk\81;1â\8fG&\1d2\ 4\81\92\9aæD\13+;g\8fu;ü\83®\87Ç$aª\99l6Z¤¬$8]\91#m¦àôûéBþ\v\0ó        5l~\ 3\9f[Kþ\9c\99\18yû,ªs3MáX\19;z´"È\86\Ú°¿Ç$}§\r;Ù,äPK?&FÜ8¹ÛËåW3\19\82\86b¸VÓ\9a8ÅÚ~Áòõ»\ 2ÎÞx\10\83Ï\9aÅá²k«ËѰ\7f?¾Û\ví¿\96J\7fô\eÔ7nÜ n£!V\80ìF\ 1\1f\ew\øÕÀÝÞKfñ2^Yq¬\92\8a¦l%oG%ç\94Ó¸Â¾ÞÆPÂ¥\95ç$GÝ\96w^ \19 \bǵ\81ét\87E+6î>rþæÃØ×\99\85åÕ\f\16\97ÇeÕ\90>ãÃÞ²b¾\8d\8c¶ý\f»'Ü-ì!ÜÏÜ\8ez\9d[N\ 3ÙB\ 1\ fÆ\8d¾vþ°ïª\ 5\16\86ZjÊJʪ\9a\ 6æv.\b\80\11\89\1fKq\92Èe\7fÿÖ\85¡¤"/%únÐ\81\rn\ e(_Ç(\8c\18\8e\83ÏÐl\86£ËÊM{\8f^¸ý(.%\v¶±\96Íã×së(òac°Õ²­\9facUJ\ 1
+\12ªR{NÝ|\9aô±\94Ââ\v\9b\84\rlZEÁÛø\87×NîÛ°tî\8c\1ajãÆ\81=Íláæ\f¼öø\15â¶@\ 2iÓݳ\93íRQ=£2?\r\b\b\9d×\11{ðQ
+
+`.\0\9f¹Í\9cÅ«7ï\v¼xçÉ\8bÔ\8fE\ 4J\1d\87ßÐPϦ÷\196\8a6åQýÑoPoq\85ð[³ë8®\86É\17\8aDÂúº*Høg¡\17\8fìXãê`5Iw\82\9aª\9a&\14@çUÛ\8e\\ e\7fñ®\88\17·vȸ\8d\13PÄg\10\vÞÄÜ\83Î\8b*·¶\9aÒØ1c\94T\11øfÍ]²fË\81\13\97B"âÓ²\8b+©uÜ\86ÆF\ 1\8fIE\81\f\18Á\9cm,\1fv?²±ëf¬\9a\8e\89\r¨9zåAü»brm½P,\16   8ôJ¬õÃ\91µÂy\96¹¡Î\84ñê\9aú&3\9c\96£ë\r1\87\81Pò/à\8eEeÊ\ 3Ê\94®º\8a\92\12¼\11\80\ fp½vë¡\93WB#ÿJÏùL¤1y\ 2ô¦\1c\ 6 ­þ\9d³~è\92\eè°1Ù#P±\9bî´|\8b?\ en\ 6¯Q,\914ñY\94²¼´çáW\8fïYï\ e6\99¨­1AKo²µ£ûFÈ\9b¨×9e4\8e°ù\87¼!AÞ\84\ 5C\at\9an¢§1^UM]\v\ 3\1fàÚïôïaQ¯ÞÊjz\93HÔX\ fÃÆ\ 2\12\98Ý×ÙýËÆò\ 6À\rj\10JR`'9\8dâæf±\10ßÊ?C\82\ 3¶{ºØ[MÖ×ÖÔÒ\9b4ÕÞÕ\v»\832Kª\98\r\12p\89\7fËÞ\ 2­ÀÔ@[CCSÇÐ\14À·lýNÿ k÷£\133òJÉt6øP\ 2/Êe\90\8a?$@\e\833{\80Ã\96\11\10Pb·Ø{ï©\9b\11\89Y_(ÐG\9b[\9aÅ\ 2N\r¡0ãå\93\9bg\ eú¬p¶µ0Ö×ÑÑ3¶°]¸\1aÌ}?îm!\91Q/êuI\9ft\ f\83t\87\ 537Ò×Õ\9dhl6}6\ 2ßoç\0×Iï\vʪ\18p\`\83á3á\8cCÕï(\9ej\ 3\1eö üD\84\9d\9c\85\15Ò\87/ѪÕ75K¥ÍM|fu)|õþ\95À=ëÀ&fFúzúP;ç-ó9\84.
+ì]Ps\95\95)ÙJ\16¾\89\r\rö÷\85\7fÔÒÄÈÐØÄÒÆÑu\95\ f\80ïÖ£Ø×\102Õµ\\ 1Üq0\97F.\9dX\84\99\ 3\9b<\9cðÊ6|@ÃF(\81\9d\99\8c\9b\e5n\ 2\9d+\94H[¥\12!\ fÞ03)*äBÀ6OW\akS#\ 3\ 3#Óé\8enëöBu}\95ù\19\\ 2ÕUæ\129\0\v°ûÆwåB;ksSSói¶N\8b=7ï\að=ÆpM©ã      D0\95\16    6\96\9c\94ga\17¡g/Â\1aÛ\98\ 1\ e\eßIÌÜP6 p \91\96\ 2±´µµE,`Ó\bpã=Æl²ÀÎj\8a±\91±é4{\17ÏíÈ%é\ 5\95tY      ìî\8d\eÔ\ï\81ìU.³gZ[M³±\9fï¾Ö÷à\89Ë\b|\1f\8b  T&,|K+öuNMå߬WwTTw\1aÝ=9»ÙÄlLܬ\89Q7\96\ 4×B@\8d\88FÅ. "\ 2
+Q¤,`\ 1\ 4\r\ 2\11PD\ 5E\ 5\11\90¦R\ 4\94\16éÅÐ\11¥÷A@¤\97\ 1\862C\99\19\ 6\18÷û~ï\r 1'\80¼?eÎxç¾ûÝ\ 2"ôqº\80Ѱ\16«ßdÉ\1e\13÷âU\edÕOZÞô\89H-¨jêd\ fpy\J&Y        \13p\13ÅíÒ\12+\96-[!¹a§²Î\99ËnAqä\abâ Ý$Ü{\99uåϰ¨\9bê\1d\92ßö£´ôF\99Ýû\ fëÿ|á\86ÈøZ:zúà»y AH\86¢ÌØ ;vgõTwK\8b/\99
\0\e\ 3\87\8cDe\18\89\9e¨\92:fO?~õ¸LìÍ\8f«ïÝ*%±rÅJÉõÛ\145\8cÎ;ùÒ?\90>ʱy\93\15\17äv嬾ºâîm2[wÊ+k\1c7½èè\15\14E\8c\ f,¤o\90ÇçóÈ«,§bÝð\88Â\96\16Î\9dýçÕo\1c6qî\7fÍÿ\ e,\90¨$&\13½\84\ 3\e\r2ñ»mû³îA9\19©Õââ\92R2òêÇ-®y\85R?\90V     )®Ý­5%\99±ÐdÌ\8ek(+ÈÊÊï?¤e`~        ÚutJ6\1a\1f\v\8e\9dÇ\1fâsû #0Å iþ\a\12Jæ?ÿ\81Õor°'¨d\8fÚ        Ñ¸íè\1dàòùÜ\ 1ÚMBïÞ<o¬­"»eýÚÕk×o\91=¨kzÙ-\10Π¦\85V\89\10f\ 2¯\ fúv16\f;\v\ 3mue¥\ 3\a\8fè\9eú\ 5\1a\1fôTb|p\8c\þÐÐ\10o\80\8diö,\812?ùM\92P\ 4f\7f<y²E\16\b*ùa;Äö\15wp¶RÔì \1fp\13\99\14fÄ>ôt°4ÔTÞ#³QJj\83\8c¬\8a\89\8d³_d\1aª\84ò\12!½nª\8b\ 3ï\µ4Ö×<rXCçÄ\19+{\17\9fÐ8Ü_`|\9c\ 1\1e\0²ûºá\1eóR"|oÙ\98h)AÒ,Â\92;Ù{\9c \92¯¿\95Ø´\97r6DÓÁ\1e@       ¢Lê\18y©Q\ 1\16\ 6G\95å¶oÞ´y»\9c\8aÖ)ë\9b÷Â\93° Ð^2JÒ¦¹º0=&ÈãúySÃczz'N\99Ù8¸Aã\83­ûª        -\847$\18\16\0Ùô=>t·\ao\ 5óäùxÒ÷8®\12(¯+ÖïRÕ7¿ê\19\92ø¼\1c\82¤\ f^'\1fß&DYvÒc?\97+æ'\8fªìݽcÇn\ 5U-#«ëÞøA¼^\11ìAvgS\15¾\1a/ÇK\96¦&ƧÏZ]¾éñ\804¾Úæ\ e<Æ¡ááa\ 1\1fÉ \9aßMk#\8d}2\94ùM\89lÊK q\16\88­\91\81£´¹í\1f\95^\b\ e\88n§±º8+1ÌÇù²¹\81\96\9a\92Â^\ 5%5\9dSV\ e\9eÁñY '\12\94£p\91\14ì¢Ì¸\90û.\ e¶ÖçÎYÛ^»í\1dD\8c¯®\ 5-\84/\0ÔÃCä\1e_äc\19\81{T\81z¹dÞTÌo\82J>\993o       \1c%\ 6     XÄsØ8¨n8\9eAÌàÊÂÌøÐûÎ\97-\8ct5\ e©ªª\1dÕ?m}ÝëQ<u\93Ü        °ñ\17þúÀÓùºý\15;\a'w\9fàèdÊøzá\18\ 5Ã##@6¾AÌÇ`ÏkÔ=\8a-¤îq*dS*Á£\¶vë~-\93\8b@wZAec\aþGD&¬Öº\8a\82\f ñ¶\9då\99\93ºZ\9aÚzFf\17\1d½\83ß\86Í!\82J\8e
+öõtuvvq¿\17\10\1e\9b\8aÆ×\ 6å\8c;\84¨G\80ì¾®6Lß_!\1f\8d5÷o\83\9a-ºÇ)ÂÆ£\9cóõRñ\8d²jèÈ!\89`&Ä»\87P&P½k\19ùéq¡>®×l,N\e\19\18\1a\9fµ\ 6\83\bK|V\82\16\84À\86)ÇÈËH\88\b~àsï\9eo@Hdbz.e|p\8c\0z\14Èæ¡ì`\1càP=«wpÏ\86ï\97\1e)\95\90£\9cû\9fÿ\ 2Ý\9ahm\11©y/ê\99ä*    n¨ó\8cü\8cøp\7f\ fG;\eK\v\8bs\17ì\9c<\ 3"\92²ËÐ*E°ÑÖê+\8b\9e§&D\86\87\ 4\87\84EƧdå\8b\8c\ fP\8f\8e\8e\8eÀ=²YhÙ\89¡Ð,\rH>Nã\1eEtÿý#ð@ \eÔmnïñ(îiq5¹JÈ\ 6>\84\9d\99ø8è\9e\9b\93\83Ý\15{\87[î~¡±iy\8c\1c"\92\11ä±£©¦¼àYÚoñ±1q\89É\99\15"ã£PS¿\r*TJ\ 4éñ\avH\91|\9cê=Òt\7f ¢\eÌÄè¼ãýð¤\9còZ,\82$Ó(Ü\15\85YI1a\ 1÷=Ý\]ݽý\83£\92²\8a*\eÚ{h'\ 1Øx\ 6õUe\ 5ÙOÓÓÒÒ\9fæ\14\96Uáüâ \85 êQ\90\bX6®¦Ø w{ócj²?J\88òqÊdSI\89t/Y%½K\15\82Û5 :½\80@\ 2\99\b(Ü-µ/\8a³Ó\13£Â\1e\ 5øû\a<\f\8b~\92     í¹¹\13^   \ 5{\18^Kw{s]\15£¤ /7/¿¨¬²¦¡\956>\82zL"¸\1f\89eC_\85%6\8d{¤a\7fð·\ f\9e»Plõæ½\87O\9e
+IÈ*yÙÜ\89§\84i\f¸;[ë«ËP\0qQ\11\11\911      É\99¹¥à\11øF\861ÝAÜ@w\17³¹¾¦ª\82QΨ¨ª©onï"Æ\a 1\90D\12ÉK\89ô¿m{\ 6*\94ô*è«\93]b¿\87MÑ=gÞâ\95R;\ e@á¸åû89\97\12.\94\b\ 1¹KV[ã«\17¥ùÙ\99i)É)i\99ÏóK+±>\83³aJ¢JðS]í­Mõµ¯^ÕÖ5¶0;q\12\88P\13õ£D0Õ=®Z\1cW\97#\96=\85qð{Ü\1f w\7f±à[   \18/úfvw\82b3
\1aÉU\92@æö³»;Z\1aj*Ë\8aA\ 2¹y\85%\8cê:\9c*\83\ 1"\99 &vwg{[kKKk[{g7\9bä9A-|C"\98êG\15a?\12Ë\9e\84n\8cÊÏ¿ü\ 6¯RÃÐêÆÝ0ÈJ2ÏP\99¤ÿôõ²\98-\rµ/++\18\8c\8aÊêW\r-8\v       .á\18î~Now\17\8bÅêêî\81¡\v§1á¯\13$\82©¾KZ\9c¶ìi\92-\92ɧx\95ëqt]ry\80Y\89\ 5\8f\e\10Îéaµ·57Ö×ÕÕ74¡\ 6Ø\94r\85\ 4Ø(ùÐ`\7f\1f\87Ãæpúúa|a2Ò\7f\85ß\84ACº\16\91\88üæÕb\vE\96=MØ¢«ü÷B1ÉMrê'~\81¬L \8a7\97¼fB8á\92ÕÑÎd2Û;XݽD¹\ 4\18¬2!õ!>\8f;\88\ f\17\9a\98\80\16\b%\11ÒEJÉè \12ÁT\9f¦e¿I7Èä«EË\7fØ\ 6Õ\ 4g@j>V\93\ 1rS\ 4\13\14ð\81>\ e»\a\9f^v\1f\ e,\11ê×4ß\0|\b\ 6\ 6ø½`\1c4e\8f\18¹É\11~è"c\12\99\9eeO¤\efΧ_Ì_ú=f¥ÅUÏà\84geP¼ûéÕ5Næ@?<\ 3c|
+       ì×´PF\86égd\f´\90\8e~&ÌGX\11\104è"3 \91¿ÐW)ª&\8a\9aÆ6ÎTñîä\fR\ eG\ 3\aä|\1e<\84PÄF£\1e\ 3\8eÐGÈû\11
+é÷@"\14\16\rÔÕ\84\10ï\eVF\1a\8a[ÑEÞW"4n:+Å©âí\1dú[\ e£^´ºD2@6\ 5ø\8c\13úzì\11¾õ¼¦Q£D \1e\96ç$=ö\85.¢£<C\12¡p\13ó\9eK\15ïÓ\97\\ 3c\9f\96Ðóe¢\ e(:ß ôõ;\90\8fÿÃ(Y4ÌzX4Ñ\81nvfÇÔHÐÌ\80DhºIñ\9e\aMPî'\ 3+G\9f\88Ô\82ª&ºPÿ\ 1\9fo\81~Ç#r\91¦\97ÅY  Á^XW÷ÉÌ\94DhÜ@÷gs¿Y¾n\87\8a®ÙUÏ\90'9\15`ÝDÜï`ôO\11\8f\93\rA\ 3\8b\ 6$rËÆDû\0ÎGè"3!\11\82\eè\ 6uÏÿNrË>M\13[×À¸¬ÒÚ¶\1e"îIa|'l$\9bª«1\81wìÌô\ fQuuf$2F÷¬Ï¿Z¼j\83ìO\ 6ÖN~\91éE/a-¢¸§\r{t\ 4çckm\19ÖÕ\eV\86 \11ª®Î\8cD\bnØ9x\94Ë×íTÕ·p¸\e\9e\9c_        \16È}/Ø`#l » =ú\81Ë¥3:Ê´D>z\8f.ò6ì¿\12\95,\10[³UIÇÔÎ#\18ÅÝÁ\1e\9cp\93SE-ľ
+Ê.Ï~\ 2óñÜ       ¬«¸h¨º:3°qç|ø   x\89Ä&\85£Æ\17QÜeµÌ÷\11\b\87Õ\]\94\11\1dàb{Z[iû:ª®Î j\ 2{Ög_.¢Ä}Ë/*£¸æÿ¼\97yT\8dk\eÆÃqÌÇX\89L\15*Gq4 \f\95¤B*©dH\11\91>\8a4pL\11*sè$\993%TD#Qê$¢Ie7\ f»qk\9e×¹\9fç}÷®¾ï|kíwÛ\8f÷\8f½ÖþïzîuÝ¿ëº1¹\ 5\97\r\1e©-ÏOO\8cxtÕ\13\86½LMA\ 6\82FxÆÆ²ûôûuÐpÑ\89r*Ú&6Î\9eþ\8f£\93¿\16UÖ        nî®NÊ#©o\9fßõqwØd¨©$7I|\84P-\82t#s\8f\91\9c6GÃÐj\8f\87ï\83W\89\19\ 5\15\1c\b\1cAew´\ 1G\8a²Sb\9f^?sÀÎB_]Qfüh\b\1a¡ª\ 6\97À\953j\9c̬\85+7î:ê\13ø"\1eÕ\92ÿ       \1cþ\87ÝÑÚÈ©(ÈH\8a|äwr\9f\8d\89¶ªüd4laZD\846÷ȱR3Õô,v\1e<w+4.5·´¦^Ð\9dDÖn¨-ÏK\8b\ f\ f¼äî`¹jñ\1fÓ$\91³\85Å>\9elDnñI3æê\98Úºy\aü`à`Ù5`í¸Ð[ç\ eî\§¯® -1
+0"Üa#sÃM):A\16\7f\ 5\8e ºñFV\15\83µ\9f\ 4x»Ù\9aéÌ\9dÁõ\88PU£\9d\1c\88j   
+\1c\a\b\9cð\84\1f17ÞÈÊ¢¬ä¨ «§ömY½DYv¢(ò\88\90\87Ý3pÖÙ\1f:O·)AÍÝ\85¦¢ 31â\81¯Ç\1e+C\r°öèa\105BVÝ3pÌ Mý ¹»\10HØùé    á÷.¹ïÞ¸rá,\99q`m¡{\ 4ï$\ e\1c^\9bJÊ,¨èu*0P\8dd\ 3H¾Ä?¿sñð\7fÖ/WW\90\92\18IÀÚ\s£6e`éà~)\902·`µ\84â_\19ëóÛ°[ç\ fî´Ð\9bÿû\14´\91ýú
+[5ÏÜ
+êúë\10¹CÞÐ\a¥ ²1ÿBn\9e=°Ã|Ù¼\19\93Å\86\ fþUèÖ¦d\ f\ 6s#rosõº\ 6µ$«¨\12!\90¹n$»¾¦4÷Óëg×O»Ù\9aê¨ÊO\12\e>\88\8cl\9aÜJ\9aFÖ{\8fÿß\83\92oÙÕ%9\1f\11¶]·­Yª"GóOè²¹ä\96éqPæ\96
\12ªÿ\15ç¤Ä<¹æå²ÕD\e°\rÑÞ_ø\eÉ«%S0\ 2Q¾Ç|ø* KhÙÙ\1fb\82ý=\9dm m¦O '\9b{Pj\19ovBå\95r\89\0,A²ë Û?D?F!i¬¥\ 4²\87\r$#\9b\9bï³\17®Ü°\8bv       f       ã^BÉ.ê%{4!Ù\14\ 2Qy\9d\ f\97\19¸$8&9«P Ä¡e\7fM\8e¢eÏ¡²\9d\94ìn\97ìõ\0\96t'\ e3Ýݲ\83üN:m6Ò$*\e_fØ%À\92Cç!q>æ@/a¾\94?UvO\96@âxú\aEA/as\1a\19\8fû§Ë\ 6\97\88N\84Ä1´r<v)ðÅ»Ïß0º\19\8eû§z\e!\10±d\9c\8c¢º¾\85Ý\81\ 1ݰ\94\1c\9c\94LtÿT\92t\97î\19ªÚ&[\9cNøÂR~a\95Õ0\1ew/n;\93å¶\b·\97\8c\81öºh%,å¹\9bÏ^§ ¤d:nnJ¦ðRR\96XJ\8aÐ\89\ 3íUjæ<\1dÓ­.§ü\1e¾z\9f\96Ç|Ü »¥W'Q\91%V¥°nÔ^\ 1ݲJ\1a«,w\1f¹p\e\18\98\8d\8a  ³qw7À§T\ 3T%×\0\18Ýã¤\15ÔtÍl]=¯>\8aHLg>n^ß~óìÆ\99ýÛÍt梾MäL dÓK9INYÓp\93ÃÑ\8bwB\ 5\19w¯ëæÏ\1dæºpÝ\88\8f\0ÙÂ?ÊhÝh)QëVT×\83bâå\1f\14    ã.¯i`4î®®öVú\96¼}þÐN\v\99RcG\ e\19ð\v¡\9dÄK\89Ç-¯¬edåèîs',îcv1=nþew´6rÊóÒâ_Üõ9²kÃ\8a\ 5\8aÒ\12#\87\92\93\8d\93\12\188~ê,u½µÔ¸\93PínhaÒ_±lv~úû\97÷/\1fs°4X4{êøÑC\a\92\94\r\f\1c2R|²¼
+5î»aq\9fp¡bÒ_»:Ú\9a¾W\14f&E>üëÄ^k(%Ó%Ç\f\eÔ\9fÔNâ¥Ä\913uÖ\ 2}\8b\1dû½¯=\8eJÊÈg3믠\e\97\12\88I\7fO\17\e\07Y\ 2Òã\86k\ 1Æ½ÄØz\ f\14ªçèÊ©ªc²\94\80\92f\fî×O¯\9f\ 6\ 2.£QBÐ%=ƽ\1c\15ª\80àèäÌ\ 2ºPñ/\e\b\8dB\89ý:}u\ 5\92\1e÷\14(T«·8Á\95\13\1eÏ-Tüº\ 4d·6Ö\ 2J\12Â\ 3/¹sw\92\\99\12¡Ç=ø7QÉip嬷§
+\15\159|»\ 4\11\10v² 3)\ 2vÒi³±¦\92ì\ 407ì$éqKÀ\95£³f«ó)?Hx´\94øÊá×%Ü\9d\8c    ¾æåºÍt©ªü$ñá$ÍM\8f{¸è\84és P9\1cõ¹\vKI_9Ìv\12µ\92\90\9bç\ eÚYè©\1177}å\8cB\85Joí\ etåÄ~\80Ú]×ÄÈÜ-\rµå¬/ñ/\ 2}\8eîÞ¸\92knr\bì.Tò*°\94ûNþõ\10\RÀ\ 6\96ðoîN\94\93\15\ 5\19\sk)Ó\95\9bì¸é+g±\81ånpÉ\vÌ\92\ 6\81Ìý$ÀÛÍ\16º+"7a\97ôéK]9à\12\v»?ÏÞ\fyó)§\ 4\99\9b\11¹\91¹SãBo!r/_ (3nÔP¢.Á\85j0r\89êÒ5Û\½®\ 5Gcs3ÛÉ\16\8aÜ/ï]>æhe¨1g:º'ɺ\ 4úë ß\80%J\9aFÖ{O\80¹\93 (\11¹ù\97\8dÉ]\98ùwTÐUO\97­p\98É\13w\89\br  \\vSg/2°tp¿t/<!-\1fï$Ã6\85jÉ3¸pì, ß¥i\97\90\J`ÉH i\ 5õåëì\ f\13öî3«¬\96ÑNRµ\ 4#\10ò}ÓªÅ?Ã%}û\r\0sCPê\9aï8\80w2·\94\19Jh\ 4Bç~tõ\94³\8dÉRUò,\11éÓ\ f\82R\fí¤é67ï\80\1f\99¢\84rIq6¸ä\ 6å\12EpÉ0Â.A;9f\82¬ò\92Õ6Χü\1f#\94 ÎÍàÂéå\12ÇM\98%¢ÐKȺ\ 4í¤ä´9\14J\1e\9dU\b%\90\7f\ 2\95ÃF.Á,1Õ\99ûû\94±T/!X\ 3\0J\16\elr<~åÁ+\88wF\ 4ä¹$ç#®Söë\97/\98\85z       ´W\92ÇÂ/\ 3\86B\9bR\¸b#Ä{`xB:M@~ew»$!üÞ\95ã{¬\8d´\94å&\8a\11\98\80\14Ôõ×Ù\1f¾pçù»/¬òZT¦\98ÈF,)ÌJ\8e~|\rz\89¹îü\99R\12\8dâ}\b"à|ݵv\aÏÝ
+}ûù\e³2ÅuIIΧ¸ÐÛ\17\8eì\82öúÇ4I²èî\83   (>yƼeæÛ\ f\9c¹ñ\8c1¸y¥;/íý«\a¾'\9c¶¬^¢\ 27\ eYt÷\0·­\9b÷õ§¯)p3\93\92¬ä\98à\80Óû·\9bëª)H\93v      ªÜ¢\13åT´×lu\81\ e\18\93\92]\Å$o¸.©.ÉÅ.9¼k\ 3Ü8à\12¢,¡eCÞ\98Ø8{BÞ$£¼a\ 2n,»¥\1e'Nø½Ë\88%\9aJpã\10e  %\eÇ$Üe~AQ\907\18Ü\9d]ÔÇ\97lÊÜé\89\11\ fýNB/Ñ&ÝKúðdk\19ov:\81ÏÉ|6tÀ¶\8eNüuõúþU4x»­\19dçgà tÝf¶l\1e/(     Éî\8bV\12\ 4²÷zøÞ\7f\99\90Æ*­®klimk\87¯\ 3\7f\9d\9dÿö\ 6úëììhomª«.\83iG\ 6ù{õ&7qÙFÖ{\8e_\ e|ñ.5§\88]S×ÐÔÜ\ 2_kkk\eúÚ»ßÀ{\ 4|èo{{[KS=§¢8÷s«\87~\9e®¶fºóy(!£\1a¥$\0\10dk\1aZ9º_¼\1dòúC\ 6«\84]Íù^W_ßÐÐØØØÔÔÔÜÌ}\ 3õ\88\9e_kkKsc}mei^fÊ\9b°À+\1eû MÍ#;m,{È\b±Ir Ûr÷ás7\82#\13R³XE¥ìʪêê\9a\9aZ\ e\87óý{\1d<\81÷\ 6ô\bî\aÿ\1a\eêë8Õ\15%ù_S\13"\83o\9c?êhm\f+        Þ&)»\1f\92-\ e²5\f6Øÿé}õþóØÄÔÌ\1cVAQqIiiYy9»¢¢²²\8azC-z\ 3<\82÷Á?NmM\15»¬\88\95\95ú>:$Ð×s¿Ýz\ 3\re9\1c\93\ 4\1f\88dËÎY¼Âb»\8b\87ÏÍ ðØ\84\ f©i\99_³sr¿±Xyù\ 5\85\85EÅÜ7àGà¯
+ÿVT°ËK\8b\vX_ÓRâ£Cïû\9f=â¸ÅTW}ö4t)\10#        l$\92-6qúì\ 5z¦[\1c\ fyûÞ\ e
+\8b\88}÷>)9åã§ÔÏ_ÒÒ32³²xo@\8fø\87ýrýiê\ e\ 3p\88ÐûýNoÐ;ÐB¡Ü\ 4ÖBq\ 5\1cEZÀ¥r±Ø²É\ 4aBAp\10oE\8aD6&(TtD&\83Ѻ©\84     \94Íé¦B\9dÉb6·%[6ö\8fìw\ e\12¶o\a\92\85çÓéI?<ÏÛ÷\ºúw\98ÕÕ¿þüã÷ß^¿z¹üxáÞÔÍA÷é\13Õ¥\a252>\93\82Þã\ 6Ñ\16)µÙ\ 5eöÆ\8e\8b\ 3#ãSwïÏÍ\a¾þæÑã'ß}ÿôÙòJðÅ\ fH\ 3\88\0\15¿ü
+\ 3\ e^ÿüÓ«\1f_\ 6\9f}\e\98õ\7fêýÐÝÑh//ÌIQÅpÁj£õ
+\18±¦Me\ve\9a\f£Ùælê¼Ð\7fuôÖÄä´ÏÿÅ\97÷\1fÌÎ}õp~1°\14nx¾¼²\12\f¾\b\11\f®,?\7fúäÑÒÃ\aþ;7\87úÏ·7Ø+\ e\1aÒÔR\ 1\8b
+­6\8aÚà\ 6ÈâKâu9&K¥ód[·»oàãá\11ïØ­OÆoOÜ\99ülúó\19ÿÝpÃÂâb °\84\10X\\98\9f\9b½ç\9fº=6|ÅýAËñ\9aò"CºF.âÐIx\fjÿ&\816¸o\93\19\±"1ÝPh±ÕÖ7¹:»Ï»/y.÷_\19øhðêеë#Þ\eá\86)\101ãóùü\10>ßÌÌôÔäÄøØõÁ~w\97«ÁqÄR OÓÈÅ<\ 6\85\0\ f\e=m\f\9eDc\v$qÚ\f\83É\^i¯«olnqµ\9fî<ÓÕ}öÜ\85\8b=\97\90\86a\101êõÞ\báõ\8e\8e\\e\1a\1c¸ÜsîLkc]uyq~¶N-\17ñ\98\14"\ e\13\89Ú{+ô¸Áà\88\14\ 6W(\8dKJË1\16\98-\15¶ª£µ\8eºw\8e׿×ÐØÔ|ªÅÕÖÞ\814¸AD¯Çãé\83ðxz{{Ü\17Îvu´6Õ;ª*JLú\fm\9c\r[£§\r\96\eO¢2yB\89R\9d\9c\9emÈ7\15\15\97\94ZË*\ e¿m;RY]c¯=æ\f\7fªµÕÕÖÖ\8eÐæjmi>yâ]G\8d­Ìl2ìOQ+bù\1c\1aEíHpQ\92hL® F¦JHJIËÌzC\9f\9b\97\7fàÍ\82¢\83Åæ\92RËzÃQ\10áp:\9duk8\9d\8e\9a*ÛakIQ¾>S§QI\84<\16\8dL@×\1ahÃÛ\8d#\90¨\f6O \96È\94q      \9a$m\8a.5-=c\7fVv\ e\94`\o8Tj±X­e\bVké!ó[E&£>+=Y­\92\8a¢Ù\f
+       \8f\8d\1a\1e\8dÅ\13ÉT\ 6\8bÃã\vű\12©L¡Tªââ\13Ô\9aÄ$mòÆ\ 6Cn^\9eÑhÌ\87\ 1\a\ 6}NVFj²&^!\11Es\18T\12\185ÚÖð¸á=Á\11\88d
+\8dÁdq¸¼h¾@ \14\89Ä1±\12\90 W(Uë\r B§KEÐéR\92µ\89êx\95\"\16ðØ\f\ fxÔ¨]\8d[¼1X\1c\9e@$\91)T\1a\9dÎ`2Y,6\9bÃ\ 5      [\1aä
+\ 5ø)Â(\14r\994V,âó8,:\90Æc1kÒèZ#Þû"!s \8e'\10\88D\12\89L¦P¨T8as\ 3\88\0\19\b\ 2\ 1\9f\1fÍãrXLà\fÖ\ 3\92Fy?6x\ 3qØ<2*
+\83\ 1öX\1c\ e\ 4\80\ 28!Ü\10\8aØ\ 4\83A§Ó¨\142\91\80\87wz\87¤\11qX\1d¸Ãö\90\7f\14\92°±\ 1\8a\0\15ë\80\8fD"\ 1(c1\98ÐNï\94õ\ 6õ\90=R°M\ 3\14±       p
+\18GEB\83Þiéíüÿ¥\ 1É\80        \9dØ\a)ï¢ó\16"¶mØ\86µ/ì¶î¶Dü\17»-·Ç\1e{ìñ?à\1f\ 1\ 6\0ÎÅ&\11\rendstream\rendobj\r1103 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 141>>/Filter/FlateDecode/Height 211/Intent/RelativeColorimetric/Length 10897/Name/X/Subtype/Image/Type/XObject/Width 141>>stream\r
+H\89ì\97éS\93Y\16Æ\85ld\ fI\80$@ØÂ\1a¾/\1d\ 4DvP@\16Q\10\94ED\14\ 4\91]6\11d\15\ 4#K \ 4HHP\10\ 1\17\14èFÆÑi»µgl»ÿ\99¹÷\rbH°f LYSÕ÷\ 3Å\87[oýò\9cç<çÜ#Gþ:\7f\9d¿ÎÿíÑS?ß\9dDÿëù\9e<\b    
+\85F£1\18\fø\8bB!<ß\8d\ 5\85Æ`±8\ 3xpX,\ 6\8dà|\17\16\ 4Å\0O$\91Èd2\89\e 8ß\81\ 6²\0\14\ 2\89B£3\98L&Ã\90J&âqߢù_Ú\1cº\ 5\8dÁ\11HTº\11\8bcfnnfÊ6fÐÈ\ 4\ 3,¤Ù\vEÍä\87\8b\83\94\bk@¤Ð\8d9\k\9e½\83\83½­5\97cL§\10\r0h-i¶\9d®:\87Ýt\88.X<\89Ædsm\1c\ 5î^ÞÞ^î\ 2\a\e.\8bA!à0\9aÒ (HËÁó¥é\ e\v        |\1dèB¢\19\99Z9¸z\a
+CÃÃC\85þ\9e\ 2;\v6 ÁjH£bÁâ¶\9b\ e\a\\8e\0\1dRÅ w\ 1\8b±\99\rß30,:!)9ùdÜq¡¯«\9d\85\89!É@C\9aí®#\10\91ID\ 2\8c\ 15 ÝYpDª\91\19\13\12\9d\94\91}>ïBNfJl¨\9f\8b­\99\11\95\80C«Ã@\1918<\91B5¤3\18\f:\8dJ\ 1@x\ 4\b\85Ò\99\ 6\16    Oa\9aÚ\b|CãÓs\8bJ+*+J/å¦Ç\85ú8[±éP\1au\18\88\8e\87mgÂæp8l\961\88\ 1\1a\ 4\ 2<º§¤\1e
+\8d#\1a²¬ø>¡       \99\ 5eµMm·o5U_½\90\1e#ô°77¢à±êuÒÛö:Ë\94keÍãÙXY\98\9b²M\8cè\80\a\ 4\ 1\90ÔCaðd¦\99\9d\870ötáõ¦Îþ!ÑP_{}éù\94ãþÎV,Câ®:é!5\85}gï$pqu\11ð\1dìl¬Ì9&L:\95\84ÇéJ\ 3~*\91fbåì\1f\99\9aWÑÒ7<9#\9b\16\ fvÔ^>\e/ô°3e\90\r\0aÈt\16×\96ïæå\17\18\14\14èïãé&pàY\9a±\984\12\90Ü\870úh\1c\89αõ\bIÌ¾ÚØ;&_XZ^TJîݪÈK9æãÈ\ 5uR3\r¼\8d\98ÝÙ3 äXTLLtdD¨0ÀÛÕ\89gÁaÒ\88\9a½·\7f\18\ 32ÓÜÑ'"µ êÎðìÒêÆÆËeÅXwÝ¥\8cè\0gK\13*\ 1«\ e\ 3\90eéä\19\14\1e{2õtæé\8cÔ¤ø¨Ð o\17{K\18K»{oÿ0\18\ 3\8a\91\85s@Ì\99\92Æ\ 1éâÚÖÛ·[¯\16§\ 6\9a®fÅ\ 5»Z³h\1a0x2ÃÔÖ5 <>5;¯¨¸¸¨à|Vú\89È\10\10K\U,é\ 6\83§\1a\ 4'\9c+o{ x¾õó\87\ fÿØ|6+ºu-'QèfÃ6$jÀP\8d¸\ e^!±i¹ÅåÕuuµU\15W
+²RbB|\9cm8\f2^w\18\13kWá\89\v7:Åóëï~ûô¯\ foVç\86oWä\9e\bqçiÂ`   TcK¾_Dò¹â\e\8dí]Ý]\1d­õ×/e§D\ 5»Ã P\97ñ`04\96µÛѤüênÉ\93\9fÞ\7fúãóoo_>\1ci¯ÈE\94Ñ(\13\96\0\ 4Åd\14\oî\1e\1c\1e\e}p¯«¹²èLb\98\8f\93\851õP`Ü\8f&\17ÔôJ\97^ÿúû\9f\7f\0\98¹á¶kç\12~Ðö\f\96`Ȳq\13&d\95ÔwÞ\97È\14
+\99DÔ}³L\95J&4Ý`\8eÀ2Ae\92\vj{¥Ë¯?üþçç\8fo\9eÏ\ eµ\=\e\e(°4¦înm\0Ãæ¹\1f=\91{­e`B¹¸\fr`r°íFaZT\80àp`L`\99T0¿~úüé\97Íå©þ\86KéÇ}\9d¸L²\ 1F_\13Æ#4éBe»HöäÅÚÚ\8bEùHgÍÅô(­\1c8\b\f\1a\81    IÊ\87eÚ|ÿÏO\1fß­/\8cwVå%\87\99ÒIêÑ\ 1\8aª\82Iίê\1cU>ÛØÜ\[Q\8euÕ\L\8bôã[ìNÈ\83ÂX¹B\98\9eÉ'?þüñãû­ç³¢Ö2\103.*Ëì\86¡!0\ 5ÕÝã\8fV7ÿ¶µñT9z§*?%ÜÛÁ|·\8c:ÁT÷H\167Þþòþïë\8b\93}õEi\11¾\8eH\95PêC\eÀ°lÜ\ 1LMÏÄüË×o¶Ö\97墶r\18\ 3\1c:Q·\ 4V/S\8fäñÚ\9bwo7\9f+\87\91Ævçq4\86ö\11¤÷¾Âlnm¾\ 4iÝX\92\19\13\büKÝ%ãA`vº  À,¼zýæõ«EiÿÍË\19Qþ|\v\ 4z\1a··aÆç_ü¸¹ñln¬«ºàpª´-¼GXJam¯daõ§Íõ§Ê\91\8eÊ\v'\8fz\0ÝI\1aº«)\ 3<ólm}uqz¨µ,;\1e\19cD¬nURõ\87­gxjQ}\9fdþÅúú\8b\ 5é@SIft\0\7f;dôvߦ±m<BS\0\8cxneuuyNÜS§î/\9d`PX"ÝÔÎ;"½øæÝÉùg/W\97\14#\9dUùÉaZ}½\ 3Ãó\f?UXÛ-V.=]\99\9f\1ej+ß\19©º      \ 3`p$\86\99\83_TfIÓ\80t~åùÊ#é½æÒ¬XÄ\90\1a è\86\1c;¯ciEu=bÅã¥Ç³â\9eúâ\8cH?'°\86é*\fØ#qd&\97\1f\10\9bUÚ2(}´¼²8;ÚUS\98zÌÛÞ\8c¡)\8cJG3{\9fã\19Å\r½âÙùÇsS÷o_\87þÒn¼\ 3°\80E\8fbl)\bNÈ)o\e\9azôdñ¡t°U}FjÀ\0\1dÍ\1dý£3K\1aûÄò\87\ fåâ¾Æ+gbÀ(Ðj¼\83À¨Úã(\186\1d¢é\87\8fçå£*Ý\11CjþT=°£\82µ00.«´¹\7f\>§\90\8aîT\17\9e\ 22\9aj˸\7f\98/&H-¬é\1c\9e\99\9c\1c\ 2º'©t×\8c0=\98\90`-ü!1§¼õÞ\84L!\e\1fh\85öEdÔm,\1dA,\ 3\8b:]ÜÐ3:£\9c\93\8d\ 1ÝÁò Ò]S\98\1d\1dó*o\ fIdò©\91\9e\ 6\90\ 2þ|®\91\8cûfÙ¶L\10нé®X¦\98\95\8a:ª¿e_¨#\ 1ÑñTaõ\1dѤL6yÿ\8eê¶)\9d¨é¯ýà\90\10s\ f9y¾â\16Ð}vFÜߢÚÄY{,JÀ¿D\90\ 3¾\91\19\97êº\86'eÓãà}uþd\br[·I\0\85ARÆÞ;"UõSåÒáîúËßÔ]\95\ 3NàYsåfï\88tfjìnSiv\\10X\b)\87S%#\v>|45ô\8cHe3\13Cí7Ànâ\ 5Ò\97\88Ó\9aÀ_r þ\YsÿØÔ\8ct¸§\ 1 û9\9a3I8\1dí«\a=\0ªä\16r"·¼u@<-\9f\1e»Û\\86\84\8c    U{iÛ~Ö¸©\8a:>=3)ê¬\ 5\8bet\83ÑG#³À\a\ 3ìú2X¥âÓÑþN{\85ÌÎ\9e\17\96\92_Õ~_23#¹ßQU\90\12æÉc\1f\82ePð5i)\b\8c=\v=0%\97!_?¥ª\92öOÝ\19ªiEµ]\ f¤àúÐíJ\90InÖ,ªV\fì\97\ 5\bC¤slá®\7f½\rö\12\92aðí\ 62l\8f¯o\ f\ 38Toö\8eNÏÊ&\ 6ÛÀ»SèjeBÁ£õua\81ª\ 3ûr\9dü£2\8aA§N)\143cªI\ 3öü½2lg\18dÃa SÊ'îµ^ËI\b\16XÀfÒQ\188
+\80}\85\899×Z\aÀ¤QN\ fw\ 1C\1e÷q\80\89§]%Õîî"LÌ­h\e\9cTÌÍ\ 2\18°ä\ 5\1cø¦\7fÿ«(\84Â\90\99æ\8e¾\11i\17k:\1fL\83¹4%j¿\ 1\9eK\1e<¶á\1e¯±¯O\83üª\ ex_!\19h)Í\8a\väs÷ìl=äè\83£úï?\b\ 3¾mí\1a\1c\ fU\9fPÌ/\80\87*²=ü\9bïê\fk*Û¢c!!$\80\ 1\94\84"\bRD@¥¨X)\8a0â(*ò\0\15»4áCT\9a"\882R\15)¢4C'B0$@\12Jh\ 1\1d\ec\99±\8dè\ 3\ 2¾sïM¤\98\98\1fùuÎýÖÙ{íµÖÖ\85c\95\0ÊÌ$«[)äGÔüô¸ë\9eGwoÒ\12 3\b\8cEà·x1ô\8f \12\ e\ 60@FAÓ\106\9aÄ\9cGtZ~Z, \f\ 2ò\0/\14n°tð¸\16CÊ+¤A` ó«æw\15®\b\80!"\82B¡Á\ f\85\12\ 1\90 <?+\f`\0ðHÏàØ´|z =\ fÉÖÂ4\8c\17
+7[9z\85Äg\16Ðé\94ôX\90Ü-7\ 2\8aÍ9\ f\15\ 5 A¡E1bX\1c\ e\87Å\8a\0Ï¢\85B\8a\ 3\15\ 6²%\83\1d@Á"\92ri\f\ 6\9d\9c\föÔ\83¦ë\84h\18b\ 6 Ì\9cô\ e½\9fSX\\ 4À\sw°X?\17<\ f
+ZT\f'.\89\97\92\92\96\92ÂKJàÄDQ"\8b\ 4×\ 6v\ 20\1a°à\ 5Ǧ\170JY´\1c°§\82IÕ]! ÊðÌ\80 ºÖäÀY¿Èä\87tF1%-&è\9cÝ.Cu°×¢øç¡\ 6\ 1(\18¬ø\12©¥²D9y\ 5y9¢¬\f^\12\87A\8b,\16\88\ 6v\ 2 ¦úf\aÏøF$=,*«`\15fÅ_÷\9c¡Ì\8fWP¼\rË% \9a\ 4Ö\14\0æÎU·ÿí4P\93Ãó+    \97\ 5\82"\81\97!È/_±R]CCCMUY\91¸\14/!\86\16X\9b\ 5<'Ð\86üúZl\ 6µ\94ÍfQÓï\ 4ºÙ        §\fl\ 6Ðfà\ en<b°J(¤è\0\97C;fY\13\\16\94¨\988^\86¨¨¢®¥«g`¸ÞP\7f­¶\86\8a"A\9a\87FPaøNà\13\9e\9cW®®b\15<\88òÿ  e a\92QÔ2Ú}\14,5Ù\85¬Rh\99¼âdcºN\95o\1e\10\16\11\14\ 6')MPTÕÔ50ÚfºÃÜ|§ÙöM\ 6:êJD\b\8d\80Ô\ 3\15\ 6
+2F\96\ eîA±\99´ò\1aN\153/)ì\92pÊðÍ`ËoÇ/\86&\92\8bJËJ(©\0\93<Y\82± AY\96ɯÐ\³~«Ù¯{\ fÚÚÙÙ\1eÜkib´VS\99(%\8e\99\9fñ¿;ÁÊuÆÖ§¼Ã\92ò\98ÕuuU%¹      7\80\84     £Ì/\88\19¬Ùn}Ú72%¯¤¼\9c\91\9f\1aéwz?ì\93\90\93ñ°HH\13\96«i\elÙ¹Çæð\89³®nn.g\8eÙí3ߢ§©$»DÀ¢\878ÁòU\evÙ¹\ 5ÆdÐØuÜúÊ¢¬Ø\9fR\86·\19\98Ú8]¾M*`²+\18ù)\11>§¬·éòB'\1f\vQYs­\91\99Õ!dz\1e\97ü¯\ 6\ 5\ 6ø\9ewv<°kóZ5\ 5\19\89\1f"Ûw'Ø\ 6öÈÐÄ<f-·±¾¢0í\16 \8cÉ:!á\1a\1e&95`\ 6\10þÂÒJ6\ 4Æû$lÚ°Ç\ 3î\ 2,2r*Zú[-ö\1fq:ï\1f\1cv;&.6:âº\9fûñ\ 3æ\eµW\10~,\râ\ 4\8a\ 3S\9aNc747Õ\95Q\92\b\v×üa²pð\b¾\9b]TQ]ÉÌO\ e\87Àh#\81cáÂÅ(\8c\84´\9cÊjCãݶ'=ünDÝMÉÈÎÉÎH\89\v»âî¸ÏD\1fì?ó£       Ï       Tt·î9æõûý\87ÌÚ¦Ö¦Z&\19\b\1c®\ 5Ræû09\82;dFem\15\8b\92\12î}bï\16>\98E"¢8)â\8aÕ\86&{ìÏ^\b\8a\91©ÅL\16³\88\92y/ÌßÅÞr\13Ø\fçEë\ 5pa`'8ätùVZ!\9bÛÚÖT]\9c\19sÕÕv§\ 1\ 2ÂÉ÷a:q)<%\9fU]WSJAÚ\84\80\ 1¾\88Æ.\91UZe`üÛa\17\9f\90\98T2­´º¾±±¡¶\9c\96u\17$Hk\13½\95rø¹\1fç[¤Î\16\18  d&§¥½­\91M}\10é{\1aìcÂòìÌ0ùE\91¨å\9c\ 6NÙ£ÔH\1f>gD\80\a`$d\14Ô×m³rpñ½\19\9f^Àªiêèéëïi粩iÑ\ 1®v»6Ì/;Äy\881\1a\86;l\9cüÁwÙÜöζú²üÄ\9b^\8eV\9bÁ3\ 5S\86?L\a\9d¯DgÐ+ë\ 1婤(ßÓÈ4a@F@cñ\ 4\15\9dM\16¶N>7\13²h\15Ü\8eþ\91g£Ï\9f\ evqK\1fÞÿÝ\8b·íÍz*0\ 2è\16Q\150ÆÑóFB.\93ÓÚÙÙÊaäÄA¦'$q"1\ fq&·À¸ì\92\9aÆfn%=ý6\10=cxÉB\89  x¤a`ºÿä\85\eñYôªæ\9e\91ÑW\7f½yózt¨£\86F\8aò;s`Þ¨B\84\ 1v½LIk\ 3X\96.ß"Q+\e;º;\9b«hÐ`\83Ó\90\17\b¤\f2L\86»ì=\82\13Ȭºæ¶¦\9aâ¬\98\0g\eS=Up\a\8dB#)`÷a÷À;é´Ê\96¾'/ß|øøÏÇ÷\7f>ëkd\81·º\81¨4{\a\82±À­Õ3ÞwÜ+ä\1e\99Y×ÖÝÓÁ-§$\85^ü±\8es\87     Ä¼\8d\96G<C\12óË\1aÚ:Zë\98¹ñAç\80k«Ëã±¢h0J\90Ùí?í\1d\96L©hê}úúÝ?\9f>\7fù<öîåp{%%1ä<\94\b`Ò,\98Á".-§ª»ùW\a·«@cª\9a»z{Ú¡ï^s··Ø ©\bº$\802³&ûBhò#vSG7xAþý\e\9e é­R\94\16Ç\88bàt\ fkzVI}×ãWïǾ\8cOL\8c\7fþø×Ón\ eíA\84÷\1c\15ãa\ 1Z ½ÑüÐY\9fð$ðÄ\8eÞ¾\9e\96j:,¿Âö\82_\90̹\14dÎ=Ç/\85§\16Vµt÷v5WRSÂ.\1e\a«
+\90\ f,\ 6\v\9a\ fv* C\89\14vëà\1foǾL|\9d\9cüúߨÛÑ~.#óöeÈTU\91a]\80`Áá ÊZëÍö\9fð\ 2A ¤¶µg ¿«±\82\92tóÂϺ4Kf¼#H´\9a¶Þ\81Þ¶Ú¢ô[þ0-\89x\1c\16\a\19ÌvëS>\91$:§ûÉ\9f\7f\7f\9e\98\9c\9a\9e\9a\1cÿôþåPKYn\ «í\ e}(\88\81×~Ç\ 2tÉd¯£GÐ\9dôÂʦî\81Á¾\8eº9³$¨K\10\18\909t¶î=é\13\99F¯mï\1f\1aèj`å\ 2\99\83k2\92â\12RDhò\9d.Gg2¸ý£oÇþû:5===5ñùï×#íìü{×=\1c\0\ f\14¤À´"Þ\81ÃË*iê\eï9rîJT*¥\9cÛ90<ÔÛZ]È\9b<¡]\82Á,SÖÙºï\94oTZ\11§s`d¸·\85]\80\88\93\8e²,^RRZ^Mßì\90ËÕØ\9cÒæÁ\17ïÿ\1d\9f\9c\9eþ6=õõ\v MW\r5\19\1c\ 5;\16\b(°\ó±l·rpõ\aÁ\97U×Ñ?<2ØÝX\96w/äüQ xB»\84\80Q\82ÁDB`\86\9e<\19ìà\14ñ¨¦&¿\14\8f_ª n\0d((\8e\Þ2üòç\89©éoß¾MOþ7öæyO\1d\9d\84X<O!yXô¶YÙ;û\85ÝÏeÔ¶õ\8d<y<ÐÎ)μ\13àb»ÓPCh\97ø\9cAÚTÄé\1a~öl¤·±47>ØÃÁÒhµ2AFz\99"´mº\ 5Å\93Ë[\87\80\19ÿ÷Ý\1fýÜ\92\8cÛþgà$&       \89\12\1fËn{gßÐ\84\9câ\9aÖ¾\91§OGz\9bÙ\ 5pzضF\85 Xñæ\11ø\ 1\1d\80y>úl°­\9a\9a\1aî}ÊÚXO]Qv\19A\11x¯­k`\nYËÐLe¦\0\83_\f6±²a\85\84É\ eé\0\ f\8b\1dä\1dÙEÕ-}#à\8bC]õ\8cl@_{\8b\8dp?\ 5w       Ò\19h\9dÜduìbXjaMçðè\8bÑÇ=\r\8cìXèª\91\8a<\81¸\CßÌÆ9 &\9bÕ\ 48ói\9c\afâÓ\87WÃ-åä¸@7h\9cä¥%°ØÙXþÏy\99ÇÕ\9c¯q|^÷¾îkæÎf®k»\18ÛXJD%J\8a\14\91ÆZ\8d-R\83,\91HsM$aÐUQd"\14\91c\e\19Z¯hOu\92S\9dN\9d}ßÏ©\94û<ßßi±4:óû¯×9¯Îû÷y>Ïó|\9e\1d\86f\ e»ñeiöí¤c!~\9e`_Xð½TÉ0\81Mm\}wD&fäVÔ5s¹M¯J³AT\90ÆÑÊdÔða#'XÂ\85·ï$v\13[\82\ 6\ 6\987ímØNeY7â\7fÞ\8a©vøÀo¾î×\7fH'K¤\81\85Íå6×WA\83Bá½]g\9a\8d\1cô~Dí\86é
+z\11gÓ³Ê\18Í<>\87YUðÛ\15\90fµëLóq#G\8c\1ao1{1Î\99{O«\9bDÐÚ\ 6\18\9dBÀ¬È¾yîP\10ô¶éÈ!\ 3ú\ fx\87¥\86Éæ\vxMPwÚÅã¡\e½æZÁ\12ë;oE`pèï%µM|!¿\19¤É¸\10\1dâ·ÔÉÚlìè1\13¦Bx\84uq;ï\ 5S ÐµQu"0/ro%\1cÆ{Õlô°!\83\87\8ez\87\85#\10  ¹LúóÌ´¸\88 \1f7\1c\16ýÈpì\ 5¦;Ï\9c¾ò°°\86Å\17\89xÌêg\ f¯\9d9¸Íg\91½\85騱\13¦Ø¹zo\8b\88¿ñ¤¬G;µé\940hr3\12#wÂø\0      ¿\1d1Æôm\16®P,\16°\19å$jlòr\9a\86}ý¡XÕ\rÓoÐhs\a8\9bN$ß/¨nä\8b%B6£,\a"b¨ÿ²ù¶æ&ãMÌm\V\ 4\86\83\83\vk»Lc\80Á©\a\eÇÁÂdìwã̬z²4rER©\98\ fIãQZ|Äv \9e<z0öuo0\9fü\85ô6lÊ5ÁQ\17 \ e\r<±TÂgÑñ\1f\1cÚ±ÆÃÑz²©©ù\f§¥pãýz÷i5K¨¤êÔ\r\13µk­Ç\9ci\93'N4·\9eÝ\93\85'\96Ée"N\1dÉ`û6}O\84\8cø@;\99ÌXà\1dt\b\1d\11Édbn}E>\ 4¾°À\95\vgYM63·\9eã\ 1\17Gâ­\9còz>nÊn\98\\80    ^·ÄÉÖÊÂÊÆqQO\16\89\1c#XS\970³>&\fi'p0äÎ@Ü>EµÍ"x\1faÓËâÇé   Q»7,u¶µ4\9f2ÍÁmõÖÿ\9cI\85ÏI\9d`U¶\e\f\9cq\1e¾ååâ`kkïì¾Ê\7fO7\8bB¥RHàµ\fÂ8\7fT\18Ê4\83ÇL\9dã¹1ô\97\vè,\81\90ð\98\95O\1f@{oõqw´±´\986Ëe\99ÿ¾_.Ýëª\13Àh\15ü\86\8a\9c[\89Q»ý\96»9;Î]°xõæ.\16¾D¡Ö¨äðVE}\16\86\9c¡\10"&u\9b\86/U*åb6iïc{ý\97/t\981ÍÚn\9eçúà(R'\9e\\ 3uêÌ\10Ù\10lCüW-qsu÷ò       \b\89\8cM¡X¤\90M5J)¯þEß\85éa\1a¸o¡yK\19\1c\89\92 X0\1d\ eí\ë9ßÞf\86\9d\93\87oÐϱ\86:é_··Së ,ëfâѽ\81?,_êµbÍ\8fo±èt\1a\85¨Ù\18a\88ipìYÂúÁIó¼¦Y¤P«\95\93O\1eØâãálo7ËÉ}u \VÐü,\11ÖÉ\10õJ\9f¤'Fïßæçëíë·5\14Xîd\17\13\16­^¯SIy\rF        c0\rL\9aÅëaqßɯ\84d©Ö¨å"âáÄ£!þ+Ý\9dçÌq^´Â\7fﱤ۹\15\r¤\9f\0F\r[»äIúùãá»\ 27m
+ر?*ö²\81E¥Õ·èµF\vCL\ 3\8b{¢­«Ïvª¹¹R\95\92òÑÃWc#vnXîî2ÏÅ}ÅÆÝG\12Ò¡\8e\10#Z0\91C\9e\ 1\98\9bI§"Bwnß±'ühÜeZV1½\91\87,­-zµ¬[\98\8fÏ\98®:Á®\844·,à@\fÖ©I¤\0ó)Ä8\87iɧ~
+Z¿|ñ¢EKVm\f>\1c\9ff0M\e\9e\a\b\93\95\91|æèÁýû\ eD\1c\8fO¡e\15Ñ\99ÈBn\19¥Ñ \fiî)³¡NÑ\98i\1aø2µV«\96ÃÉXô\18ª\10¶mýªï½\96ùúï>\1c\97\9a  ¦ÂPÞFÁ\94æÜ¹\92pêhddô©\84+´'\85ÕL\9eD     ,m­(\f5cBû.\f\81X'ï \88øë\8f\8bkÙbìK´_eÁôsÑaA\9bÖøønز÷H|êÃgô&pp+\81á0Êó\1fÜH>÷ßÓ1ñI©w²
\1a¸È\ 2¨(\f\19¾q}ÚJÝ0\7fýô\8bþCÇC\9cóß\7f\12æ\1a\1cG(\r)Tyþý«g£Ã\83·lÞ¼eWø±\84´Ìç]0j)·¾òÙcZÚ¥¤\v\17SnÜÏ.¬ªç\88\91åõk\10\ 6fL\ 5É1\86\17a:ë4Ú\1cBËÎÈséOJ^¡4:(\94°©¶4çîÕs'"öï       \ e9\10yúâÍß\vkº`düFzq^æ\9d\9bׯ§Ó\1eæ\16!\8bB\83\8cBØTó\1c\ 3\1eÉ1}\14¦³\9f¾5\99>\7f\ 1\18%O+\99è\1a\9d\16:ª±¦8çîµó1Ñ\87#\ eE\81-îd\97`\15\11¦E#\1763^\14æ=~øàAfÖÿJªëÙ`}ð6i5)·®<\a\92ïÞ\8dÆ\b\83u\82eù¯ï¦:x¬Ý\15\99\90\ e®\81Á\87\13T   ;\8a^\9cóàÆ¥\84Ø\98\98ØÄ\94[p\93Õq$*\ 2£\85ÉÈ|YQT\90\9f\97÷´¨¢¦\81#\92kô8\82à3¹ \11s=$4oW»I}\16\86ªÓ×\ 3G\98ÎpY\11\10\ 6®É\87T\ 3ý\89ó\1c~\8e^\92ÿ\88výÊ¥äË©\19¿å\16ÓQ6|ýV\9dZ&d7ÔVU\94\96\96½ 3 KÉÕÈÒ\ e\1f\91NË"±Þ\13\93ï\1f\ 5¼÷êô©A\9a5;\ f\9f½\8e¾\10\824zBÓø²üYNæ=ÚmÚýG¹\85\95\fTÍà\v¥TÀn¬{õòem\1d³\99/\96«uÈÒ\ e\15\94áȼ\9f\12óÓ\96U\vm'QÉ·\8f0\9dÒL\9f\aAáį´Ür\1cø^°R,FUéóü\9cìì¼\82âÊW,\18ö:êýõ\1a\85TÈc7±XMl\9e\bw#a\ 1apÞa :\12¼nñ\1cËqp\12ôU\98ni¦Ø»ûn\8fÀÉFg ¡þ--z\r¾=óUuEY   )\ 6\8b+&&mGg\0«L"\12
+\ 4B±T\8e;\80°´Qm\9dw7ùdXÀ
+\17\9b\89#\aõû{_\851H\83\reíäµ\11×aN\19\83\v6\85©®×ªäb>»±\9eQ[ûª¾±\99G\8a\15ÒhÕJ\85\1c\1e¥J\ 3ßF\16Ø ÐÖ\86\0²ã\87\7f;L\1d\ fn¥^¤ùü\9b!£'Û¹yo;xæ*ÌY\96PA\8dR|}±\80Ça7³¹|¡\ 4XÀ1\0\834­z\9dV\83\8f\16PP®\ eʽ\1cFYvFÒ1X\ 4ÎÖ&#\ 6â\11i\ 4\fHóÙWÿ\1c>Þj®§_Hô\85\8c\1ct\ri\1aøAx}¹T"\16\8b%R9\18ÃÀ\824ð)\94\12Êi@Á4JÜ[E\85Vo7;ó1Cþñ\851ÂP³æó~\83GM\9a¹põÖ\83\91}¨¤\8c\8aï¯Q«\94J¥J­\81 B±¼Á_F\1cò¼¦PP\18m§{£v¯÷t´\1a?|ÀW\9fý­·#²\17i P_ö\1f6ÎÒ\11\8b4¼dI\88ê 8ðú:xô\94\ 4È\82w\1cá¡\9e\ eêi§V\16åÞÀ\95\vlÍFá¼3J\18"\rÞ\96 \8d\e\84¬ø\e\8fK\18\16Ê\1cD\80Vxº$xC=\1d=\1eü«\87\ 44¸×Ha>¡<ü%\15²6\87\9dJy\0Q\ 1sK{Ç[\ 2´÷Dy÷!Âôtï¼é¦èÞ¾·u\17\8c!d\99Û{¬Û\8d!\v°\82ºdßV 7\14ø\16¦t¹\80YUð\9e{\8d\84é\fæ6\v;/]\9eLÛÚÞûo\7f\0¦M§\12\93`\f\97\1dYJÆ»·K\1aÃ¥»,\0.ÝÌ¢Z\ e\9a¦ï0\1d\1d¯q[ãRº|:üGʽý\8cvo§4\860¼Ä\8f\º$ì\1a\ 3C9\ 6Ï\17²\94f[\8cûSî5À`\18ÆKwmðÑ$Z~Õÿi¯ÒpªÖ6Ü\97J\87N¥"Ã)\85\ 6¤PÔIejP©\14\8a\9ch\90¡Ò(R\882V(ÂQH\ 3Be(C\8a\90Yf\12Q\11Ñ.Dfåú\9e÷]+úƵث÷ǾöÏûZÏ=Ö²`®\r\aL_7H©<+>ØÓö Îº¥\12Â#b/\89\86Xº@\9acN×\1e¤\16¿Á\f¦\ f\ 6è\v\8b·(%2ÀÕ\ 2>\8c´\98ÀÈØK\82\99»d­®Ù9ß\88¤\82a2x\0¯\97Wy\89w½íÍvª-\95 BidX\10i -EeT´Mm½B\13óª\1aZ:{i\83AZjÿT[\9e\19{Ëý´\91¦²\8c\98 \ f÷ÈØ\8bßè1h&\10\f¾\13\9f]ñ¾y\18r\ 2Ê\80\96Þ\14§Fú»\98\e¨+,\98Å\a\1ff\84GB\9f\86\8aÍ{-/\ 6=Ê(¯ý4\f9\ 1\18 Ìëü¤\bßs\87\93\9fÿÇÔaÕ\98ÿ\0\ 3\f\9e6CâÏ\8dú'\ü£ÒJÞ\ e\87ÁÀß\8eæ\86ÊÜÇ!\9e¶¦Ú*²@_(¾#Æ\82\19<Eh\9eüº\9dG\1cÀ\83\8bj\9a¾ÐgðÀ·\9e¯\9fß¿Ì\8a»åne¸uÕÂÙÓ'¡+\8d\1c\f0\98G\0<xÇA;ï°§\10Ü­\9dôÁô÷\0\7fËÒ\1fÞ¸prÏ&\ 5Ia^Øm#ÇBx0¿\88´\92¦±õ\95à\84\9cWõÃ`ð@\7fwÛÇ·%iQþÎÇwmX&>\ 3(ÃÆ\95\90\9cÆOä\9b%µrË>ËK7\1fe\ 2\83Û{èzð÷þ®/Mo\8aRîû9\1c\ 1þÎ\13\9aÂÍ\ ee\90\9c8!¸ÿ\9dÁôРe7Ö\14$Gø\9c3ÓY³d\8e \ f\17;\94ù\99Á\87ÏûF$#\ f¦K\1a¬ì\ f¯ó\9f\86]={`»ª¬¨ÀdöÁpM\16\10\93E\1eì\19ò8w\18¤A`Z\1aªò\12C=mL´\94¥Eø\91\98ØÀB¶\88Ù\vWi\18\9er\e$\r­O3ð½·\13ÙLBðå3FÛ\14\17Í\9e>ñ·1l\82ÁmOrùF\83\13Îþ\91\10Ü´\9d\ 6{^ý«\9cø;\1e§÷\83Í@\18°¥ìQ\84\a#Ò àö \7f\9a\ 1²\92Ö\9d\10\98Ïï+²ãn¹\9dÚ·e¥\14»63j\9042ÊZÆÖ\97ïü4\11h\80éé@\ 6\1c\92åÞÍ+\16Ì\ 40l)\9b \rr\9a\15\9b¡í\ 5â)×ÖMëNd\1ad>Â`\14$\ 1\f{\9eG®§©3Ä\97ªé\1dqøû^r\ 1J\ 4ZwB`>Õ\ 1\98 \8b\16(\rfNcÓ\80Gýh{s\16«j\9bÚx\86$äàVNçN\ 4\98òA03\98\0óCÜ[ Ó@+GS\8e\96\9eH0\19\ f1\98å\12Ì\80Áâ\96@SÎÁ\ fß        ë\89\12ͯø2D" ;m\87;\ 5'dWÔ}¦å{¿\823?ßÉâB`ôó\12ì{Ô\14þ\ 5j\1a¼\93ø²õzGÎû\86?}QÕÐÜAãÓ\10>S1è3Âìû\f\80!õ$«¢e|\ 6VnfÙ;\16\1d«Á\ e\\8f\1c\18Z'r`>¶\1d\18¡á\80;ñÍ\96Z±i÷      çë\ fR
+«1\85©Ðü×lb+(1\18ì{\7fÌ\97_«sð¬Wèã\9c\8aºOíÔ\15\v¥v\v\1a\aÁW¬\8d5\95\16¡>Î\0\18"\9f\15\81ÕD§\15×4µR«\e÷\99\ fU/\9e\84z¡¥"#Êv\9f!?ÍØñ\13y¡|"
\84=É{UOÃ\85Ñ lm¬ÎO
+÷¶;¸cõb1¶\9b\1e    f\f\1aY\15M£Óî7\1f!\17¦¡nÔ\81\9bj
+\9fÝûûüá\9dkåæ²]ÈI4\98³¤\14Ôõ\8f;\81\vçW5´P«û;\9e*Å©\91×\9d\8eíZ¿\14¯[&À\10\14\9e\1a\øJp|\16j\9f\94êF#\8e\ 5#.&Ðõänõå`Á¿s²¯m\92Âü"\vWB«q\r\88J-ªi¤.\12Ø\82ë ]¡ª§±R\8a\19mÿpah5ëtÍì½ï&¢\95@IaÒh \91#mÿ\98\aLÜ      ¹0´O¥mû­`%dÐqá¡áDÈ      ­8&\18L¶OaX       @ák÷\9f\15VSßi\80\90\13Ú·\8eGõÔ\18c0AaX       KÖìÀ.LÜ\89\824HN¬w¥Ï£\ 3]Íw«+Hâ}ÀÀ\9d\90º\11\85\17)nÅk\ eÝ\892\12\86\18\fQ¹U\11\a\ 2\13¤!(Ì;\13ß    ¥eQ\rõ\9aÃ\f\84\81\8b\ 2AUVL\80)ÒàÂ'4On\8dÎ!{ï0Ôj(×\1cfpcuA2öàuò\8c\91\ 6Q\18î$*­¬i|\ 6­9¼\12¨À`\ f.I\8b
+p17\0Ûc\8e4p'bÍíµ¸\18ô0£\fL¸§\9f\8aÁ¸\93cÒì\aÒ\880E\1a 0ç\ 4ð½?7ì\ 2ÒD¦\16£iÙÿýÿ\82ù\894g\ flÇNÃHV\92+Ah®ÜZÝÃçaZ\16Òa0Ñ"
+\9f!§ùký2q4W\18º\13\90F@LVuû\81³Wï>y\81ö\13%\18ÂiÒcn\´Ø»\19Ç\13\86\1eÁ/"­¤il}%äqn%\8c\ 4ʬìGs¥";\1eâÉDK\859q\8f"\18¼p\95\86¡\95ûí8$'j0ß \aC<%\85û\9e\e\1473wB¶'¼\0ädy)èQæËºO\94\81@ÄÓ\9bb\107$Â&\85\ 5¨F0s','\89åê\ 6æ®\811éXÛ\94`ú»Û\91¸ãn{\9c1ÒT\96\11\85\8c        sàŲ\fiÛ?*­\ 4§\13\8dñÔÒ\0\13!ÌÇÞL\97Á;\91\81 ¯¦wÔñÚ\83\14:F3X#R#ý]N\18¨3w§\7f\8c\1eÇÅ#øÃh\9ea£¡\ 6\83îT[\9e\19{Ëã´Ñ6%XOÌÜ    \19\r\8fÀ\9cÅ«!*}Â\93
\e\91ëQ\80!ºgeÞ\93»Þv\87tÖÊÍ\13\9a\ 2aÉÈ\96#]ï \1däv>\94=*\vF¤AÉ]S\98òà\9aÓqý\8d°\11\98       Käz\90Û²*Ú?,¸\95Ê\82\a\93\e\9b°åÞ-+\172Ô°H02*Ú¦¶^¡\89y4\1aÍ\10i\86Ä\r¤\19Ë>iÈF#£¢ebã\89ò\80\9c+äû\1f\9c!\9c¦";!ØÓ\ 6ê\1eSÉMpFTFYËÄ\1afevE\1d«­«·ÿ\e¼ïø\r\fü+0ôïû·¾®6VíËì\84\10O[¨\11
+Na\ 4\f\a  \ 6º\9eÇíØ\8c²·\8d-í]=½½½}}}ýð¾\ráBÈÐï·þ¾\9e\8eÖ¦·¥\99qw®Ø\982   \ 6|\ 6\86\9c²¦Ñi· \98´Âªº\8fÍm_;::;»ºº»»{H\\18\18ñúz{º;¾°ÞW\15¤Fßp³2ÒRaèL¸\92ó\b\ 2\98m\86\96\17üï?Í)«®ûÀúÜÜÜÒÚú¥­­ý+\89\8b\0\ 6¯»»«³£­\85U_]\9a\95\18îçl¾GCQZT\80\110£I0J\1a\1d}CcSóJ+kÞÕ½¯oøÐØô\91Åú4\84\8b|m_Z\9bY\8du¯Ks\92¢\82\1eÒÛ  \ 5ÒfÀ\82Ѩäæ\11\10]´rÓ®Ãg=\ 2#âS²ò\8bË^VTV½®®yóö]-\89\v\ 3C\8fõ±éC}mMEQVRô\1doGó}\9aªrâ3y¡ì1\ 4\86_Dj¹Ú\ ec\v\ea1  ÉiéYÙ¹yù\ 5\85Å%¥å/+^\91¸ÞÕ¢÷îí\9b×\95åE¹i\8f#oû8\9f2Ñݰb\91\98à\94 \f80\80\19Ç=yú,      yU\rýCVN\97¯Ý\f½\17õ06>!ñIÒ³\94´ô\8cÌì\9c¼\17\ 5\85E\0¬\f½Ò\92¢\82ÜÌÔÄ\98°@O§S\aô6)-\99?\93o\12\17\ 3\1d\ 2\81á\9aÄ;c®Ì
+5í=f\96\1eÞ~þ7nÞ\ e\ e½\e~ïAdôÃØ8\84+9%5íyzzFzúó´\94¤ÄØÈ° _7û\93&z\9bUä%g\vÀ\87\19ËÁ\0\18\8eq¿ý>UPDRNi\83\81ÉQKk{G\97\v\97Ü/{^õñõ»\1e\80p\85\0®û\91QÑ1èEGÝ\8f\b½åïíæpú\88¡\8eº²ü\ 2Q¡i\13¹Æ1\92\93\1ccÇOàá\9b1GJ^QMCGßÐÔìè\89\93\96VglÎÚ\9dsp\1aÂuÍ? \10½\80ë~>^î.öVÇ\8cwi®_%')*Ä;\89\9b\93\81\ f\83|f\f'×Ä©üÂs¤\96(¨¨mÚ¶]÷/\83Ý{\r\8dLL\ f\9a\1d96\84ËÑÙÅÅ\15\9e\8b\93\83½­\95¹\99\91¾¶ºêr\19ñÙB¼\93¹ñ\91\18\03zÌØñÜ\93þÉ~\9dô$\f\ 5\ 1\1cOXJ÷Ò\ 5ÊR¨lR\15\10\90U$(\ 1\11\14â\12£¢¢\17\ f&&.ðýã¼W\158\18/\85\7fzéé\97\99¹Tö\85c\e\99B¥¾ßêt\8fû\83Óó\8bË«\9báÝèÇõöþ1\9eL&ãñûëËóÓãð⤵WL¯ë~E`H´$Kþâì\ e\82b\ 4É\eÔcÉ­Ln§X®îîÕ\e\aÍV»Óí\9d\fNÏÀu=¼½\1f\8d\1e ÑÝíõåY¿Ó¬\153FTS%\9e&\9d\ e\9b5\18t5\ 4ÉpnÙë×ôH,\9146·Réíln§P\ 2W­ÞØ\a×áQ·×;\86zÝN»Ù¨\95ói#\1aò)n\96Â÷b\85\ 50x6$\ 5\1cIñ¨þ@P\v\85õµH4\16\aׯf*\9dÉæò\85b©\©T¡J¹TÈo§\8cDDó)"\87VdŽÌj\9c\84\8b¢Y\8e\17Ü¢$Ë\8aÇëU}s®u\80\99\19ÉD<ª\87\ 2ª"ò\f\8cÅ¢\15M5\88\ 3\1e\92¢h\86aY\8eã\81\ 5.        \\1eì\ 2\98\16BiZ0àW=²(p\98\8aæ86»Ý\81D\ 4ár¹H`Q´     3]\bf&I¢[àY\86"1űL9\18\84H\b\85X_0\12Á\90\v`8xÑ\0!\88ÅPfES\16v}Ã\bsb(ôt\ 2\ 4K\16eùÓ5\13ú¶\1cɯ°ù\96\ eYµjÕ\7fîS\80\ 1\0 \ 1\16.\rendstream\rendobj\r1102 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 297>>/Filter/FlateDecode/Height 226/Intent/RelativeColorimetric/Length 21953/Name/X/Subtype/Image/Type/XObject/Width 297>>stream\r
+H\89ì\97×_SÙ\1a\86\aHHHB\1a\ 4\92@ $$@è½\17\1d¤* ÝAPº\88\ 6Js\14\ 5¥(\ 3*\1d\1d\a\90\ 3C\95&HQ9Âȱý#gí½\13\ 1=w#;ç\82ï\82\póü\9eïÝïZë\97_\ eçp\ eçp\ eçpd1rß\8d¬yö\11É\1aE:\b\8düîÈ\9eïû½ý?¸\92HRØ;RY2Dúqq2\82ÙE\82-a0X,V\11\1að\8bÁH]É\10
+Z\18\ 6"\81Yäe\9a-)\11\ 6(ÂáñJðàñ8`\v\10"p2¡Ú³:ìîâd¦\v!\ 2@\8a8%\ 2\91HR\86\87D$(\ 1WX\bN\16¦$TÐîÀò Á\ 1\1a¬$\
+»¾P\aÂá De2\85J£«\80¡Ó¨\14e\12A V%\8b¯O\8a\85\87\97\a\86\b\ 4ÙBZ\ 1³Û¡(ñÈAù\864\91ÈTº*C\9dÉb³Ù,¦:C\95N%\93\bx\9cLL!\9e \8c\93 íQiT*\85L\86rN\80k\ 1I\17\0{\82ö\ 64ÑTÔ\98\1a\1cm.\8fÇçñ¸Ú\9al&\83NU&*IL¡@³\ f\fñD\ 4ÛSQe¨\81a¨Â9§@ºöô\ 2*h\12O\80G\99ª¢ÆâpùB}\91\91\91±\91¡HOÀÓÖ`2hdÙ\98\92p\91(4Uu\16[\93ÃÑâhj@AWcÀºÈÊDi/ \81\8d\87Î`qt\ 4\ 6Æf\966¶vvv6V\16&"!O\8b­F§@¦Ð\16\ 5\81!\j,Mm\1d¾@(\14
+tù èÀ\17\8b        lÑÐì\85]O*ê\1a\\81ÈÔÊÎÉÍ]ìé)öps¶³2\15   ¸\1ajt2\11¯\88v¤à\ f\ fO$ÓÕØZ<¡\81\91\89©\99\99©\89±\91H_O\0tii²Ô\19t\8a2\11\8fNÚ¥{£ª29<}\13+\a7O\9f\80à\90ÐÐ\90à\0\8b\9d\85\91\10\98¢)\13\0\ eꢰ8\822\8dÁÖÖ506·¶spttt°·\ 5I7314\10êêpØêª4`J\11\85´#\85©D¤¨0µtEæv®^þ!\91Ñq \89\89ñ±QáA>î\8eVÆB.[\95JR\82#u°4ûÑä1X<\0c\ 103k\aWwÏ£ÞÞG½<=\8e¸:ÙÛZ\99\19\19\bt4\99À\14\ 1\8f\ 2\9a\1c\84\83#\90éÀ\93¡¥\83»_HTü¯i\19YÙÙ\99gS\12£ÃüÅNVF\ 2
+\99\80G·¥ 2E%\12MM\93\ f\16è"ö     <\16\16\1e\11\1e\16z,Èß×ËÃÕÑÆÜH\8fÇaÂ;<x4$P$*À1´t\14\aDÄ¥dæ\15\96\94\97\97\97\16æe¦ÄE\ 6\88\1d-D<\r\ 6ê\91\92\93\80\rª0µõLm]½\ 2ÂNÄ&$%''\81¨G\1f\ f\vòóts°2ÑçiªÓÉhÔ\ 2R\ 4d\15\16WßÜA\1cx<ñl^É¥ª\9aºººêÊ\8a¢Ü´\84H\7fw{S=m(RðÁw 4ûÈä\0\19\91ÂÐà\19Z9{\ 5\9eJËÌÎÍÍÍÉJOû5!&"Ø×ÃÉ\1a®\ 5
+       |{\a/
+\9c, P\1c\81\89\9d{Àñ¤\8c\82\8a\e¿Ý½ßÚÚr¯¡îZY^Z|\98\8f«µ!_\83A!¢ûíA¢ðD\84Ì# "þtV~qYEEÅŲâ\vç2R\13£Cý<\1c-\fù\9aà¤\81Â~°dH\11\99\\ 3K\17\9fð\84ô\82+u\8dm\9d]=½Ý\8fÛïߪ*;w:&Xlo*ÔR§Aß\1eÚ¢H4¦¶¾\85³whìé\9c¢\8aÊ\9aú\9b7ëko\½Xt.ýTL¨\8f\9b­\89P\8bIWV¡!
+|yª\1a|c;qðÉ´üËõ÷;z\9f\r\8d\8c\fýÑ÷¨åVeqfb\84\8f\8b¥\ 1\97EWFY\94¼\ 2´B\16Wdíæ\7f"9«èJÍí¦\96¶¶ÖæÆÛµ×ÊòÓ\93N\ 4y:\9aësYh´\82¤\bÔ8B3'\9f\88ä\9cò\9a{\9d\ 3ÃãS33SãÃ\ 3\9d÷ë*òNG\ 5\1c±1ä±!\9c\83ÞÛ>4D\14\9bgdë\ 1VxþRÍ]8ê=]\9dmM7+ËÎ¥Æ\86z;[\8a\88¨\83N\14\\ 4êÚúVn\811i\ 5×î´÷\8fLÎ--//½\9c\18î{ØPYx66XlgÌ×P¥ÈB\94
+\9bolï\15\96\90Y\ÕðàÉÀó¡á¡ç\ 3]íMõW
+3\12#|]­Dè¬PZ\ 4\\91\8dGH|fims÷ÐäÂë\8d·oÖ\97_\8e={ÔT]\92\19\1fâio¢«        \89:è½íCCDiðM\1c¼#Nå^¬k~<82>959>ò´ëAÃõ\92ìäH? J\87\85\9e(:KÇÈÎ+<9÷Ò­öÁ±¹Õwï··6×\97¦\86º\9bk˲\12\1cd(J×ÔÑçxÊù+·\1fö\rOÌÎ/ÌÏü5ÜßÑX]\ 6DùBíÉD£=aQP\11\18;\1c\8dLÉ¿v÷Ñó©Wo¶vþ³³ývef¤§µ®<\e\88\ 2\89\92ͧG\86D9ùF¥\16TÞí|:6»´²²¼0=:ØÙT]\9a\95\18îíd®\a\9dÇhÜ£\14°PcòMÀÚR\vªîu\8dÌ®þ{çÓçO\1f6_Ï\8eô´\80D%\84\1dE&\1cøme\1f\99T\94\99³_ô\99¢ë÷\9eü9±°²¶þziæ_\83\1d\17¥Ç\1d\83;AzÃ;`\1cH\94
+$Ê7*­èFsïèüúÖÇ/_?ïl¾\9e\19î¾_]\92\1e\eìnc\b\9a@\16×\ 3pq\11\989ûÇ\9c-®nî\1e\9e^ZÝØX]\9ayÑß~ûj~jT\80\9bµäÐ;øÇ\95D\14\9cï3ÅÕ-}c\vo¶?}ýúùûå©ç\8f\1a«
+Ò¢ý]-\r´\99¨\ 4|/Ù7Q.þ1é%5-½/f^­\ 1Q\8bSC=-uå9IáÞ\8efh}y{DùE\9f-®ií\1f[|ó÷§/_>no,\8e\ f¶ßº|îT\ 4à\11rÔ¨h\ 4|/\19"JS`î\12p2£´¶µïÅìòÚÆúòÜø³ÎƪÂ31Aî6F<6rÈ +ª¤¶µ\7f|ñÍöGIEu7×\94\1dó°\85xP   ø^2\89(¡¹k`lfY][ßèì«Õµ×\8bÓ#½m7+r\93A\95#\81\12\10Qàhqö\ 3ù®m\e\18_ÜØÚù¸³µ±4ñ¬£áj~Ê      ?\17\v}mÔ\9fz°(\ 2\85Áѳp\v\8aË*¯\7fÐ?:\ 3\ e½%èz\a\a\88µ!²@\14\ 2õM\14Ô\98é¥u@ÔÂúû¿?l¿[\81ϼRpÝ\ 4÷r]\rp´ Â³\87L\1e\ 3D©ié[\1d  NÈ®øí!\10µðjinr¸§µþbNb\98\97\83©\04ÂOk(¹oó¿þ+9\83Ac\82"(«{00¶°¶¹õ~smaü)\bÔyI P¹Ô}Ç-\8fÁA\8f+\ 3k\8f\90¤ÜË·Ú\aF§ç\17æÀ%ªãNå\85Ô(è\88á²\0\17Ü\bÿ\10\87ù\81fo\11\80|\ f\8cͯ¾Ý|\a]Ë»ÀÝ\04\94Ø\16~è¡\1d(D\14x\\19Úz\86\9dÊ»ÒðûÀèÔË\97ÓãÏ»\90Ë\1dü\0ý9A\87ÍÈC£ \0ÿÈÿà
+É7(\ 2K· ø¬\8b7\1f\ e\8cÍ­ll¬-Ï\8e\ e<\84\8e¼H\1fÉå\17õ@I\1eW<c{ïÈ\94\v\95w:\ 6_LÎL\83çËï\r×òO\9fðs¶øY\\88&\ 5\ 5\ 5\8cd`]ûMAkC\8aÀýXb\ eüÔ{¹¼ºº<÷×\1f\8f\9b®\17\9d9\19\ 6ÅÆÜG&=fÀ\r/­ðz㣧/&¦&F\9f=\81Þ\9fñ èà(\96Þ5ÿ\11\97D\13\ 6\8bUTTÄáÀ\1f,âj¯*I\11pE6â°d(ßÐ{jùÕüäpo\eh̤°ÿ\12_¦OMei\18\1f[\96ì$\81@\12\b$\84}_\ 4\ 1\8d²)È&È\8e \88\b\82¢ \b\8aÚh£"\88¸!\9b,²È¾&d\ f\9b\b\8a¥-jOiMÏôÔô_2ï¹÷\82ô\8c3eCJÎ'>P\95{\9eó¼Ïû{"ô\9c\98ßþùÈë\f\ e
+\85Ø,àÍ'ýRõÌ\8cN1Úý¸úâÉô(\89·\83õ*ÛéA'\ 3C#c\12\89L¡PÈd\12É\18´ú\83Rkþv\v\8cHÉ/¯nz&Õ½xµüò\8f\89\89'ù÷5Ô:¯\87Äg\17_»×>(SOëÔÒ\ 1\80ò\12H(ÌPúØ0 ÓöíH&
+\95F§3\18\f:\8dJ!¤ZS
+ËrÂßéàï\96~\99naiiA75\88\19\1cOÌ-Hrôi\86kY\9e[Zõ°sxJ­Ó(Æz\9bj* Uí\81\84Ò\93¡0;\91(4º   \93m
+\87Í2aÐ@ªõJ­e¹ÏÞ8äï¶Á)Ý<JÌÑ®\86\9beùi`ðïV¦þóûÁët\94åA\90ååÕ\8f»Gåj­J6ÔùðFinòþ@w1$Ôæ\r\85ëdL¦ÒMØfæ\\1e\8fÏãZpØL\ 6\8dlüe\8aÐ×À³Yظø\85%\1c+¹~¿cH®\9b\9b\9fUOöµ"4\88\ fEI®\97ÄüÓ\17À¹\ 5\0O\12}øÔåÚæÞ1¹Z£\98è{r÷dzG\ f\86ìpFeaÓí\13å\13¦\13\83efÁ\17Ø\bE"\91ÐÚ\92Ëa\9bÐ)¤5¥\88ÍÂ\87\15\1c\91\ 2¬ÒÐ5"×ÍÎh§\86áÝ.ä\ 1\1ax9\bôbð?\7f\83uÜräÌ\8f\90å\13
+µzj´§ñö¥\82\8cèÝ^öV°\8a7k(\14äà\15\84mη\16Ù9:»¸º89\88m¬¸fL:\85\98>$'
+L´Y$Ѱ\82k\9a\14Úi­b¼·ùÎ\95¢#\aCý\D¼ïÏäØ\15V¹Ü?ìPι\9fîw\fJ\95j|ò.\9c\1fàf\v\1f¶YC}ÑÉÔÂJdïâîíëç·ÃÇÓÍQlÍã°è\ 4\13aÿE¢±,\84Î~¡ñGÏbϦÔhUÒÁ\8e\aU¥'R"wyÚ[}ÿ\92\87_\ 1_Ç"·\80\88\94¼2ðú°L¥VN\ e´¡\9d\97\10ê\a\93ǤB"læ»0\ 5\f\8cÈT\13S®ÀÖÉÃwç®=ÁÁÁ\92 ?/W{!\9fä\11Ë\1eÙ\e\8a\1e_\f\93\97|\ 26\völÈßMµWN\ 3kú¹\b· äawX\87\9bé\ 5\97j\9az ¢Ô\8aq\94\9dEY±{}\1c\ 4\1c\13lò6ñ\e¸N$ÐÉB vñÞ)        \8d\88\8a\89\8d9°/8h\87»\83\90\ fÛ\1e\8f)d;*ÓÜÚÑgOÌáÂ\8aÛ\8dÝ#2¥J11ð\15CéO\83o»Ä*nú`¸Y×Ú\a^WËq8È\88Úíigi\ 6;oS\1f\86\a9\89Â`#\9d|\82B"ã\12SÓ3ÒS\12¢Ã%~\1e\ e6\S¼\90`¶C\eØmgø¡cÅ\95õOúƦ\94JÙHOs-\91P[e("¢Ìm\9c¡Z¡uÜ>(Ui5r\84ååù©\91A\b\ eèäM½ \11P\14:ËÜÊÖÅgWXLbFvn~~Þñ¬Ô\83\11{üÜí\ 4æX\95\84\12\b\86\82Åâàµ;*-¿ìæ£ÎÁI¹R\ e\86Z]yÈP8\1aèQ\83\ 4\96\9e\\91kÀþdXÇ\8f`\1dkt\1aù\b»¼\94\88@=d9\11P4&\87/rö\ e
+\8fM=\9a_t®ôBiqáñ\8c\84\b\89¯\vÑq\r\fpC\89\ý!ÊÏ\½ÓÜ3"S(d£½-\88¡\12Âü]·jå­q\8bØc×\81´\82\9b\95º\19-&\94¾\96\1eNP\14\86)ÏÆÑ30,6-çÔù\8aÊ\9fª®_-?{âpü¾ /\aÄÚd#Càv*\93#°÷Ú} 5ïBÕ\83ö\81      ¹B>9ØùèV9Þ:\ 5[\94PDD\99\ 1·ì\89Í<}µîI¿T33«S\8c®\13
+\15½MlãUC±Ì\ 5vîþÁÑ©9Eåתëîݯ¯­ª(>\91\1e\eBÀ6ÉÈ\bæ\93\91¢+µM=#R\85rj¬¯µ¾²äX"j\9d<½´Î\8dÜ\ 2\8f(k§\1d!ñÙÅÐ\18\86åÓóó3ʱîÇ·°Ñó\80\ 6Jðæ\ 6?\8eH(\86\19\f\9e¯$2)»èbUÝ£\96¶¶ÖÆ{7+Îä$Gâ´M#\93H0\9fæ(¡ÀP¥¸¡\94
+ép\17°oáaØÀXëÜ\1aC\11\11%tݹ/)\17\1aC÷¸zvaaN=ÑÛxûâÉ´ÕÆ°\19ÀÃà\88\84\14°÷\b\b;\98YPVu·©£·\7f ¯«åÞ\8dòÂÌ8\9c\8e\18T2\ 2-¾­«\7fXüQÜP8\e´?¨:\9f\9b\8c=\9a>Zç\86.\81H\18\8b¨ È´\93\97j\9aû¤º\85¥¥çZi\7fKíåS\99±{}\9d\89\85ümJmûoãÁc`\19Í\15:ùH\ e¤ä\96TÖ5u\r\8e\13Ã=Íu\95%9Iû\ 3ÝÁ·L\1a\95\ 6\0aíè-\81\95\ 6Àæ$\94\95\96;WÏ\1cÑ[ëÜÐ\ 1¡\80\84ͬì½÷Ä@DÝm\eRÌ.-//ÎÈ\87Úë+Ïf'\84\a¸ÛYq\98\ 4\ fþO©¶}í|ù\r\ 3\14å|[7ÿÐ\83\99\85\97ª\e:\87\80A´jÙðÓ\ 6\91oY\f:\83ű\14»\a\84\1fÊ>ûc]K/ ¯F%\eîBÿ\94\16µÆ\ 6[`¨¿à\1dt-¢\1e<\1dÓ,,¿yóê¹z¬ë\11\86.\12\1fg!Ï\94ñ\7f\94ÂUù\ 1Îvâ ¿\7f
+\8f((ºv\1e\81û\13\ 1#¡ÀMªg\9f/Ìi¤ý­Pu³â\82}\9d\0:YL\96\19Oèì»7&£ üVÃÓa\99Z§UM\ e´ß¿~.'qßN7\91\1e\ 6\ fD\94ñº\88zÜ+\9d~ùvåÝ\9b¥iY\1fÌÞé#ñá\ 1\1e°¼Ùh'}M©U\91¶o\a\b2\=\ 6\ 6\98\\98\88^\82\81\14\9e\8e*g\17\97\97\97æ\94#\9d÷Q£\fów\11ñ9¦¦f\k\aÏ \88¤ã%×ê\9fôO¨t3:åø³\96;Póâöú:aQ¾¹Ö¹Q\9dP\96ÓÙÐAñ\88j\19PÌ¿^ùøqåõsÕH'ªWiÑÁ~nb+s\16ýkJá*!\91\f\e\93`mÁê"\19\e\e\19\b\158oItúÉòêÆÞIí\8b×oß¾^ÔMô4Ü(=\9e\ 4n\11[q9æ\\81\18\8dgÖé\8a\9aÆ\9eQ\85n\16@\ 5\88îV\19t\84]\1ex\99ÚTëܰP«\11å%Á"ªcD³øó/\9f>ýòîå\fXêÎ\953ÙI\91\12_g[K\ e\93\8eÐy½Rk*\ 1'\1a\93È\14*\95F££C£R)d\92±\91!!Õº¦\e\9dQ\0\e£\7fjæåÛ÷ï\7f~5+{Öx«\fp-ÐÃÎ\9aÏåY\89\9c}$Q\18kv\fMigçç´S\83í÷®\97\1c;\ 4¦\13r·*Ê¿D\94/\16Q\ f»'f\96ß\7fúÛ¯\9f?¾}\81RêfyAV\ 2\90³\93\90\ fK\89\8cõVB(B&ä%c\12\85\9b0Yl¶)\1c6\9be S) \95\ 1\9eW¸P\ 2\80Z$TmË\80|nùÝ\87\ f+Ësòþ¦êrÀµ O\a¡\95¥@\bä¾\ fKòÖ¾I\râ\14Í$¼×åÓ\99\b¢\ 4[\16å8n²,\84.þá\89¹¥7\eû¦æßüõ×ßþù÷Ï\1f^ÏÉ\aÛê¯\9fÏË\88\v\85\98²á\99\99¬\vôU\99p\95è\f\14\ 6\87ÇG\87ǵ07c3\194\18VÌT«a\ e¾\8d\ 6\1c\84Â\ 6|^Þß\]\8eæÊËÑÖÆZdïî\1f\12{¸ðbõãî1ÕìÂâ\8b9Õ8F¾©\91A\1eb>Q\11¶@'\f7Ù<[÷ÀÈÔ\93\17kZ\87T\8b+\9f\7fûý÷\7fýãóÊËéÉg͵W\8b\8f§F\aû»Ù\vP ¯\ eß\17\99È\14\1a¨dfγ\14Ø\bmÅb;;±­èßÌ\97ù;Ôý\1eÆÏ¹\9e\8ahÑ¢\88l!c_\92e\90¥¡x¬Y²'Ù\97P
+£M¢HÉz"B\92\9d²¯ÃX\87Énì¡\10\12ÉöüxÞ\9fïL\9dó\9c\7f\1f0s]\9fûû¾ïûuó\9fäá:v\84\ 3\b\12û\ 1Z0\0æ<Â2ø\vVn·#\93sÊI\94^\86\910\0.àåpÂBB"\12
+\b´n\84ŦçW4¶vt´\92*\vÒc\1fÐã\9e©ÎÃ"\8a\a\81­whLzq}çàÄìüÂüç)ZOkmqfBd\88\8f\13\8a)q!\bt´[\19±Ã\90\89}ÿÁC \12/¿ °(NBRZFFFZJ\ 2'zJ\80\97\9bóðÁ}\98R\7f\898JY×\1c\ e\17ºµ±£g` \97ÒT\9e\93\14\11èb©\87\97\13\17\15\11\15\97S%\98:úÞ\89~\89¸·³«³µ¡<\17\0ÂÛîO\r9Qæ:o\ fxâäi\ 5McÇë÷_d½'QiÓs\8bKK\v\9f'\87¨äÊüô\17°1ìMΫÈ\9eF4ÅÆJ÷\12\8apºL\879¹xø\84DÄ$eä\15\95Tðjjjx\15%E9)\9c\88\0ïñ#\1c\f¥Ð\84\ 1\b\11?«cêä\1f\16\97YR×FíëûØÑø!\eZ\ fÖ      ^^\12'&.«¤ehã~;"\11\86\14¹³\9bJi­{\9f\9d\84mNU)&:\8f\1eQ\1cÇùqguÌ\9co\84'æT´ô\8eÍ~ý¶²²¼0;>@i,{\97\12s?ÀÅ\8aÁ\bðnz>Ã9A6!\99¸y\ 5\84Å$eÏ(ãÏi\13ô.ê\eè_Ô#h©«(HãNñq\1fe(µ\8b^{b
+\9aF\ e¾w\9f§\17U·Pzzº\ 1\ f²âÂ\0&uñ
+R\12\922\8a\1a\17-\9c\ 3\1e<O/¨lê ö|¤\90k\8a2^`Î\835H\9f/Ì8¨\7f0"JPRYÏÒõöã\97y5í\ 3\93sËß×Ö¾//L\8fö¶Õ\16g%F\86x; æ;Í\ f\9b\8f\8da¥Ý,{÷ÁÞàâ\15\14\11\97VPVÓ"è\e\99\9a[YÛØØX[^2Ö'\9cS\96\97\10a4\0 \15¤9\9dB\f\88Ñ©y\15M\1dp0-5E\0\9c~Nf\ 4ü\19\19iYE5\82©\8371êeNYC;µ·¯§³©2/õi¨\17ó\9d÷Çn\94\1d\10²ú6\9eħiEõ\94áé\85\95\1fë?\7f¬.ÍM\ru7Uä¦>»\1fpÍò¢\86\ 2N\10y\ f*\1f\11\ 1\9c\13Ç\91ã<\ 2"â2\8aªç\búÆæÖöN.n\1e\9e^\9e\1e®W\1d.\9b\19èàÏH\8aðq\1dÁ\1a`\17=¤NI«B\9a\a\17\8aȼ2?-殯£)AMQ^^QUÛÐÚ-0<>³¤¶µ»o \1fYóíÿ\87ó踠 |chï{/6£\94D\1d\9d]\ý¹±¹ñcåë\f:©¢\8cøG·Üm\fµ\14%\84xè÷±\eÓé\10'7ß)\9c\8c"^KÏð\92µã5\ fß\80À \10b(1øV\80\8f\9b£\95±®ú\19Ia\98ºð<P
+\v)ÁßK©´\8eÜÞA\8fj¢·½       A]Iñ¬ª¦¾ÅU¿{Ï^åW6C)\ e\r|l«+¦;O\9bÉÎû\85\9bg\07ýÃâ³Ëɽã_\96\7fllmmþ\]ú21ÐÙ\0aú8ØËÎX[Iê\14\ fçA(|Ø*¬ì\a\ e\1fã\11\10\95TPÕÔ3¶°sö¸\1e\18rïaä\93è\98\98§Q\11\81>×lLõPW\9e@â"ï±ba¨¨cv5àa\fQuSkks\1d\0È\93`O;\13\82\86ª2^SÏÔÞ+øqò[Ô\89\83ÃÃýÝäªüÔh¢\97-\93\9d÷;Ë\7fáæ»ª¶þÉù\95õÍíí­\8dµeð^\17é\ 3<%\ 4¾¹\8e\92\940/'Êf\16h;Ð\89WHLæ¬\86®¡\85ý5ï\eÁ÷\1fE?OHNy\95\96ö*%).:\9cèïjkBÀÓ\83\r\9dÔîÿ^\0±¯\v+\eÉdRMÉ\9bÄÈ \ f;\13]MuuM]ck×\9ba/2\8aj[?\ eÒF\86û(\8c\85c©§"%ÄDçѳ\1c\f\ 1xcé\ 6Y\9e_Ó9ôéë÷\9f[;;Û\9b?¾Í#¡ÊÞ&?    ñ²7Ö\81ÙÊ\83\84\82ÝK×   '§¢¥\7fÉö\9a÷ÍÐ\87Q±I©\19Ù¹\ 5\85ÅE\85ù9\99)q\8fï\ 6 ¤Gg\b\ 2veÁ8D\1eã\90çÀ\93õMÍ\rUE\99ÈØ¶&\17t´´u\r-¯^¿ó4%·¢¹«\9f6::ÜÛ\ eÎ\83¬¿b¢­\88ã?~\88\9diΣ\97Þ        !iÕ\8bÖ\1e!ѯ\8aê»h3\8b«\eÛ;\7f\81PËs\93\83\94\86÷Ø7·5B\19\ 56ÚǶ\17èéÐ1\1e!qyU\1dCË+\1e7\88áOãS2r
+JË«jë\eêëªËKr_'FÝõ¿f¥¯!/Æ\8f²eÏß\84º÷\1c[¼¤ú\8a\82×qá·ÜíÌôu       z\86æ\8e^A\11\89oJ\e:z\87ÇÆG\a©äª¼\94¨\10O\e\ 3uY\11^pÞ\1ef9ï\9fXéÁ²P\ 3.¿óìuI#udvimsû¯\9dí\8dµ¥ÏãýíµÅ\19q\ foº^Ö\87ÖCÄ      B±íã8zB\10'§zÞÈÚÙ7(,:>õM^iEm#¹½³«««³½¹¾¼03é       ÑÇÑì¼2j+Ô\95{þç¢\90Puå\bhoyØ\9b\e\19\18\18\99Û»ÝD\bUÝòqhlb|¤\9fÒøá\rÂQs\82²¤\1078\98\ 5\13
++=\11Fée¾oê\19\83,ßÜùkgëç÷¯3#=dà\98\98»×\9d.éªÊ\8aòÁÚcgcÛwð\b\17ÿiY\95óÆ6.þ¡\11±)Yù\1fª\e[:©½\ 3C4\1am\bZ½©ª\10+Kk\ 3\rùÓ|Ç8ØYYö°²\1fä¤g\94?dT~E\1d©±¶,\ f#ÿ+\97ÍLL-ì\üÐv)'u\r\8cNL\8e\ f\16¦=»ëco¤© \86þ\84\85IÎû\ f\1dÈ\9f3rô{\10÷¦\fJoîÛ:DÔÎæ:\16Q\8dPz\91A\9e༳XDíggCÆã\15\96R\ 2æqñ¿ó$!=·´\9aÔÖÝ;42>5=33ýi\ 2n\ 1\0é\15\b|\ 5¶¬\84 :\ 6VhJ\8ec¿[/£°²\9eDª-ËO\8f{\14äãlgeyÙÞåzHdBVI]{/mbjrl°»¹<'9ò¶\9bÕ\ 5¼\8c0ÏÑ\ 3Ls\1e&\14Û\ 1Î\93¢°ôètÐÒ71·\82\84¢;¯¯­¦0=öA\80³Å\ 5591~.ä<tPÜ\ 28\ 5\r}Kg¿;QI\99\85\15\rmÝý´ñO³_\16¾....|\99\1e\83ñó!;1â\96\9bÕEì\91\aÙö²îEc\8fÁQ  YEU\rMÈz¯ã#\89~îN\ e\ eN®¾Aá±é\ 5UdêÐØÔÔäH_G}IÆ\v\88r\10[\\80ë0\82(æ8\8f.\14
+\ eð\83SÀÃ\84·\15-\18\1dlm\83óVÁyÔæòw\7f\83\83_\a%"­B0sô!>IÊ*ªn¦ôÑ&f¾,,}û¾º¶¶º²4?3Ö×^S\98\16sç·m ÚØ÷\1fæ\16\92RÁÈ<9»´\86Dn®¯\80,\8bº\17èãîâêé\17\14ö,å]\19\8920:ùéÓøðGreî˨`\ f\88r\f¢ØYv1Éy¿\84â\ 3¡LéBµ2\84ÚÞ\_\ 1çQ\1aJ³âÃ\ 3]­~E9$\14 \ 1\17\1cÔ¹?mÜo?\8a\ap$w\ f\8eMÏ-~û¾¶\ eD¿¹±¾öm~\9aFmBAüoæË<\1cê}\8fãÏsï}\9e\9e{\qìG\12   Ù\97\89D\8b´\b'\95£¢ý\9crJR:-¤E¥DY+ÙÂ!¡lÙ\r\1aë\8c\18f13Æ`f\8c}«ûùþ\ 6Ç9÷9÷ß9ßÿ=cÞóy¿ß¯·\8f\97³½\19æ=1¸D\19¬6ÐÖ\8bIÉ)®ÀU\96æg&E?\ eºvÉû¼·\8fÿí\90(\0vd¼^JOg3\1e><,ð¢§3\8ar\f¢Då¼åBí[.\14ð&P\14£»\19\9dÅã\9b¿\1cs¶·ÐWGc\ 4*OLBFQM×ÜÞù\98pl\80Sºi¬AîÈè\18\14Ô\0 j\1fümAZLðÕÓn\vÞ\13ÿ\8f¸¤\1c\94\9eõ\1e\8fó7\9f¼LÏ-­ª©.ÿ\98\9dò2<8àÚ\15¿«7î<\8eLÈ,\84Æ#õR)Ý\9f\eqB*wßm\r7)/)&:ç-e\94æ\ 6\9b}Ë3jl||\94Ïé#\11«\80\14Ûkk\8aA\94Ø¿\11\eÈ*©\eZ9¸\9dò»\e\91\9cSV×ÚMg\ fÃê\99\9c\9a\9e\99\9d\9d\9d\99\9a\80¤´×\95¼\8b{\82*ËÚX\134^).!¥°\98åáñ\99\85\15\9fp%¹é       Ñ¡ÁA\ 1\ 1AÁ¡Q      \19ù\15u-]½Tj/J¹ìÄp`\ 3×m\16\bZE\18å\8bBɬÖ@pó{ëñ\91P\90å]\ 4\n
+\9ab\87\1c­MÀyR+¿AB}+\ f%o³çÇs×C^¦\17Ö\10I4öðÈØ$¨477??7735\8eT&T~Hzvû¢çþ­°g\15¤%%¾\95Q\\8b&ÀÉË÷`Í\15W×6Ô}ª(ÌJ\8d\8b
+\vyøèɳØÄ\8c¼òÚæÎ\1e*\8dJnoB\aõè×\9f!äL´0f\15ÝA-á\ 1â(\8fE\8e¢sx\904\ 2$TS%\buÿÊ\19\10
+"
+6\e\12J\1cºKÛtëþc\17\ 2Ã\12²ËêÛ),Ô\93 Óüü\17xósÓpR¬\9e\16ð^ô}¿\93°Ó bd¥$aõ@D9\1c:{íalZ^9¾\91ÐTW]\9a\97\99ò:62"2&îMf~\19\9eØA¦Òh\v\a\85`Óu»¥>V\9b¢\8bòedn\88\91yÈ«w¥õ\1d46W° \14\ 1\a½\13ì\7föðn\9bß/
+ºKUÇÜÞõ\84ï\9d\887¹8\ 2©\8fÃ\e\9b\9cY\90        \1e\9cÔ\18\8fMm¯+~ûòѵ³\87\1c¬\fÔWËËHÉ((/FT\1cÌÞ\ 6bK\v¡\ eW\9cû.-)!>!9=»°\1cOh'Séô?\1cÔ\16øh\ 54\82þ)2ç        ·\9e¸\94¢\1al=·3W\1fÄf\14Õ¶õö\ fC.\v°@®.@ÿí9\8f¥\8cB¥'­\b%¿ýÀ)¿ûÑi\ 55-(ý'¦g\91L_Ñû2?;\rÞ£w6\96\87Þ<ï\81BjÍw²2r\8aªÚÂ\88z\96\98]\8a'\0Å·\12jq%ù9\99\19\19\99ÙyÅ\95\80\19 S\1f\1d8\f\8fõ-vP\ 6ëÐÌ\83\83\12\99ó\84B\ 1\ 6ªBt¸\9e¸|725¿º\99Ì\18ä      F\ 5ÐzäV|Qf\hÀ\ 5O\17øw±Ö\13\13\ 3ÜTTÓ³Üávúê\83\98ô\8fx$ì(:(¡LH(ðÞÈ\10£\9b\88ÃBê\98\93íFmÕUòr
+Jjz\16\10Q~÷¢Rr+ê[;I¤\8e6B]UYQA~~aqyMC3ø®\8fÁ \91Û\81¡°\1aqG \85L/B6À\94úÇ¿V\88IÊC\19Ù:Aæ\84'æT4v\82÷F\ 4\ 2þ\10\8bÒ^_ö>\19\16ÌéC\8e6&Úª\8a2\92Pò@C\8bBŦ\17Õ~¦°¹H¨/KB\81÷&G±\90ÊO\8d¼ë\v\93ÖLWMé;\ 5Ee\rC,¢\1e½H/¬F´ÔKîúLlÀWUVTàjê\b\0ä4\ 6\93    `ß\fP\1e\1f\16èã\85%\14vP"\8cò\ 5¡047¶Þí\8eBêm1x\8f9\bèÈ\1ffÓº\88U\ 5é\b¤à¤6\19j(+HK¬\))û?B\8dMÍÎ-ê\84yoj\8c˦´á?¦Ç\ 4_9u\0¾¬ºò*E%UÀT\14Q¡¯ß\95Ô¶\90(4:\rva+±±¾¾¾\91ØÚÑM¡3Y,&\8dü¹¡\ 2Õíb8\8aþ \90PP{\90æú\9bv¢Ð\89JÉ«"\90è\ 3Ãü\91\11.\87ÑÓVW\96\93\14qïêY÷½¶hÃÈKKJJ!¡PF]   \8eù\r¬Géç\8eNÍüY(Þ\0­½¾$s!Í\r5UV+­QÓ1Ý\8a-\80¤÷\15\rí= 
\8fÚCêlokkkïìî¥3`*ö3(\9dÄ\9a\8foãBo]ðD +¬<Ñ\1e\14â\ 3\b))\ 5U\1dS;èû\80§ñY¥u\9fᤸü\11ÞP?\9cTuáÛ¸§\81\97N¸í²6Ñ^»JNZJZ\ e²\ 62\rp(*­àSko¿ÐzË\85ZH󲬸Ç×Ϲ;n6ÖZ»FYUCß\ 2EὨÔü*b\17\95É\1e\18`³úh\94\1e2¹§\97Jgö\ fp8l\16\8d\f?\8fÐñ\awm6^\8f\18\a\85¥9\84\94\1côöfÇÃgý\1fĤåW\11ºhì!\1e\9fÏå0{\91   Rc\1eÝ\0óí°2Z\ f\99,+\v¡\f\vÆå¸ïÝÈ\94üê\96\1eÖ°`yF-¤ù`_WSE\ eÔ\9e·\a\ 4²Î:U\155-#+\87\83\1f¾È(·\92û`\1d\ e\ f\r\ eô3\19\8c>\ 6\93Åæ\f\ e\r\8cÞ\8e¦ª\82ß^\84Üð>êd\aé\86 \¤\95'TjÁ{¨\8f\¼.\ 6\86Åg\95Ô¶õ0À||Þ\10\9bÞÝZ[\92\9d\14qßÿg\ f'{\v\ 3M\15,\94×é\9aÙ9{ù\ 4=\87qHìf\ e      &\96µÞׯós3\13\ 2T{\95ï\13Ã\ 2~9²o\8b©®\86ÚZ\r\1d\13àùó7\9e¼Î*E\98
+g\v\1fÂ\ 5\r\ e\rs¹Ü!\ e\8bFjÁ\17#4ð=y`ç÷F\9aÊò"f¨E¡0@\80Þ3±Ùíþ\93ÿ\83èÔ<\S'\15û\16ÜA\16µ\vò"3>ü\8eß\99Ã{lÍõ5UW+)©¨ë\99Ùa<\94ô\ 1Û<ÀQË\85Bµ'\18bv7ãr\93Â\ 3/\1csÚj¦¿^]}½¾9ø\e\86\1eü\15\f\0Ø=£ð\ 4#|\1e<>zÜ!6£\aKòè\a×~ZX\98Ò\7f\87\83BÞC½'£´Nßr\9b\8bçÅ\80§¯3\8b>µÀÌEæ\eæ0)\1d\82ôW¡\81\97N\1etÜb¦¯©¦¢¢¦i\80¾²\10'\9aºú\ 6\11pþQ¨a&¹¹*7\19[{væ\ 6Z\9a\9a:ÆV;~\10F\94\90ÖFÇ'&&ÆÇÇF\85O0\82ý2\84êÂ\8cWOn-Á\9b¤\18¶òD.\14ò\9e¸\94\82
+T·ã¡3WîG&¿/¯\87<çÀIñ\86\aà\17®\87\98\8a\r¹yáø\81]6¦\ 6Z\1aê\9a:F\96Û\9c=Á¨       9å\8d0\ eù\7f%T^ò³ \1fè.K#\1d-mý\8d6\8e\18EaüÏ\1a\86\818\ 5orrr\ 2        66
+DÒ\a^\87\91÷ü®ßé\83\8b\ 3\13\92\a%ôÞ
+1      ÙUëôÌí÷\1fõ¾ñøEzA\15¡\93Ú\ f'5²\10S¥9o¢\1e^÷ötu°13ÒÓÑ5ܸy§ëq\9fÛpQÿ_¨\$\94\97ó¶M\eôtõ\8c\9c\8e\82f-kè \rðF'¦fÐ\9b\9e\9e\ 6¹&Æ\ 5¼Afo{#j\8f\87¿\9e;\ 2\86ÕS[%+!¶âopP\8b'\85Rj½ñ÷\ en'}\83Â\13²JP)a0\85\18\81\ 4\9c\9c\95\b\81~î¨\8bÃ\16Ë\8d\e6\98nÚºûà©Ëw\9e\ 3\105ý¥P(£Àz>^.Û­L\f\r\8cL7ïüá\84ï\9d\887¹8"       ùujfv\ eÞìììÌôÔÄØ\b\86¸\88GB\ 3.\1ew\85\96Å\92\äh°$\14\9cÔ7+e\14×ê\9aÚîý\11åyÊ\aàÁÿ2_æÑT¯k\1c\94\10\90JtR\12\95J
+%)C4I¤t\95,å¤hÖ\89¥Â\15\10çÈ\94\142\15\192\86ÌÃ&3Û°±M¡:÷yßßo³Ñ¹ÿ]×»\96¿Pög}\9fïóy`+\81\9f÷÷BmT\15eA¡{:ÚY\9a\18ìWSÙ¶mÇ.M}ãóöÎp³e\14ÕÌè¨É­\17\eâ\81@íÝ¡´Q~\93òî\83Fç¯=ð\8dHÊ.EN1<:þí;<\84jìëð@o'\\97äàY\1cÓFG\930jò9\11(2Rì\vy\ 4EWÉmÝsèÔÅÛnþ\91\89YÅ5°\96úè@
+lªòSFBdÀ£{W-M\8fèìÓPߣ¥{ìÌÅ[.~á  Y\9fkñÖc\ 2Åð¨\9a¢\ f \a\ e\97Ì\f4wnQTÚºSÓà\14á´ù\95\r\1d½\83#È)~ü@¨ÆGG\ 6ûÑqY01xj\9bÑ\9177\9a\1c?\14)X|\\8b\85Q\9fkÁD9z\ 5ǼÏ+«\83\93\8f>0\80O\19XÙñáþî÷ì¬N\9f0ÔÓÕ38nvÁÎÑ#(:%\aÂÑM\9f\ 1j\b\vgÚëç\b\94¡Ö®íÊÛvîÑ1:g\87®$Æä\8d#N\88Ô7\b\14\9dF\f^¤?\1a<C4xbs¦ÉñÃÃÇ\8eú|ÅoJ»u\8c/\\7fà\13\86\910\9dþ\1ej3¥4/-.ìÙ#Çk\97Î\9d61665·ºâàêû"6­ ¢\818a\98A\91'LAjL\90;|ê#Ú\1aª;U5\ e\1c9}é¶[ÀËä\1c´óèØ½0(\1c¨ÞNø_rÞ½
\84\8d\a\83·IFbé\1c\1a<ôP¤p\9f/_µ^y/l3\a÷@\14\15JKg/}p\10HÁê+ÉM\8d\ró÷p¾}õ\92\95¥¥\95\8d\9dÃCïàè¤\8f0¢Tr\8a\98@}\1dì¥6Tæ¿\7f\15èî`c~Lw\9f\86ÆÞ\ 3\86&\96öÎÞ\7fÅ~øT\ 5;oðëØ\ 4¨±¯C0xõ\15\ 5i±H5/\183\ 6\ f\9c|N49ñ\18}¾XXB\ 6üü8\9a\ fôq*\eÚ!RÈoðêËI\8d\8b\bôvuºsÝÞþúmGWï È·\1f\90qu£)b¾õà\83\ fÒ:\1a*òÞE\ 3¨Ëÿ268¨­­cxÒÂö.öÙR
\9dÑñ\89@Áàõ´ÃÎÈL\88x\ 6ªif0uðæ
+¨Éá\ 3?ߢ®gj}ËÍ?*)»\ 4Ej`hh\bH\811\7fÎM\8d\8f
+ñóú÷Cgç\a®\1e>Ï#âRs>CçÓ\ 6pE1@ý@v0@kÿR\9e\9b\12\1døè\8f+çO\1d3<dpÔÄÂæ¶\8bï\8b¸t\bT\a9­äàÁÆ£6×~ÎN\8e\ eòøÃö,¨¦ÂÜ\e<ô~ù\15û9C¦Î^q|\f~^\80#5\bÒ<\80$¡º$ïCbLx\88¿ïÓ'Oý\82B_Ƨf\17W}iC\81Â\1fz
\9eöú2\0\15äédo}Öô\84ÑI³s67ï{\87ļË-\855\81CH\80\1a\1f\e\19ìëj­+ËK}ý§·³ýù\13\9aÄÆ\9bK\83\87Þ\14\99Ú­sÒê¦Ë³ÈÄ\8f%µ8R\fR5¥\ 5YïÞÆD\85\85\86¾\b\7f\19\9bô!§¸²\1eý\ 4\16"æ¥\87\r@A5?¾\7fËÖÊÂÜÜÂÊö\96³WPTbVQ5\ e\149y\8c\82úRù)=>Ì×妵©þ\1eåõ«@5\7f6x¿L\7fÿ\ fR\84L­ß¦yØü2H÷k"Rô!8Æ0©ÆÚò¢Ü\8c÷Ioãââ\13\92Ó²ò?WÖ7Siô©\81"4
+\81\83ÓÇÇíÞ\rÛKÖ\17\7f·wxà\15\18ñ6½ ¢~2\84Äà1Ì *ÀÝá÷3\87÷í\80\eï'ªI\90ù\95ùÍ>,bóqñA\9foR=h|á\86\8b_\ 4D\8aÒÒÕ78\f\97\18ê©öæúªÒ¼ìÌ\8cô\8c¬ìü¢²\9a/-T\98Í\11\1c¨é Ú\91\87\ax=¼wëúµ\ewPûGħå\95Q\9a!\84(Pß\99\vª\ 4\99\81\97ãU\8bã\aT\15×â\e\8f\9d\85yðHHóæÍ\9f|óæ\91°f\11\14\1e>Ôç+å\94÷¢\93Ì\93\88T\a\8d\ e àf\1dèë¡¶6RªÊK\8a\8b
+\8b\8aKÊ«ë\1aÛ:gr  Ì;\1aª
+3\93¢ÿôót½ïääìâá\e\1c\19\9f\96[\82Ú\1fþIt½\80j"\83B\ 5U\9e\9f\16û×Óû äzê[äV\8a
\eo2P$¥ùóYXXYÙ\88ÇÊÊÂ\ 2°\bV³I
+GJH\FAõà\89)\91\1a\19\1dÅG+­«£¥±\9eRS]]]CùÒØÚ\ 1ê\ eß$\86èï)\1d5@£6\81\8f\8b\fñ\7fâåáùØ'04:\ 18U7¶ãÁ\eÿ\8eϼ\89\82Êx\eîçJ\9a\814\98Á\94ÁÃi\82,±°²±sp,àää\\b_\v88ØÙXYP®f3UD\9fãHmÅ\91ò
+y\93Flòáѱ±1<~´.j[ksSSSsk\eµ\8bÖ70\8491\a\8a\0\87\ f\9fÌ\94بÐàÀ\80ÀàШ7Ééy%Õ\rmÝ}D\bINô\1e\PIQ\81\8fî^\ 63Ø© #¹\94\9f\9bùÆÃqÂ\98\0\12×"n\1e\1e^^^\1e\1eîE\\0\v£\9aÍP\11\91Z\b\91Z£@´Ô³È¤lXåD\0ÆÇP¨è}½=Ý]\9d\9d\9d]Ý=½}t¨/ü\91\999ý=±È@½ò2Râ_¿\8c\8c\8cz\15\9b\98úñSiMC[W\1f±%\11'TP\10=² \9cìÎ\19\1dÄf \88\95\9c\ 1
+Ç      0±sprqóðñ\v\b.\11\12\12Z"(ÀÏÇÃÍÅÉÁ\8eQÍ")økÈHAK\99Û\82KŦ\17\vet|\9c@54@ïïC¯\9f\ eÞðutl\ 6'äQx\93Q\9bë*\8aó²ÒR\12\13\12\12SÒ²ò\8a+(\8dí\88\13Úx\ 4§\91\81^H\1e\18Ô\eTPV&z\1a[\91\19LQr\92\13\eÂÄÇ¿DXDTL\\B\\LTDx   ?\1fBÅÆJ\84j\96@ÁßCDJfÓ.\1d\9bnþ/SrÉûuü\e<\84j\ 4¬
+¿á\11\8cij?\11 \88\8a\86»\87RYò)÷cfFFV\ e,Éêúæ\8enÌ      \aê\eYäpâ\81\822ÔÜ.?Ý\f\bN¬ì\v\16ró      \b\89,\97\90Z½FFVVVfÍj)I1\11!\ 1\85\v T³Ij"RàR çNOBã3\8aj\9a\86\88\f TcÐëè\8dBo!L38ýMJ$\9dÖÙÖXW\rK²°°\90X\92­H&&9á\ 1mGË112À\9d(¨M²\92"üÌf0Á\89\8b\87_h\99¸\94´¬\9c¼\82¢Òf%E\ 5y¹µÒRâË\84øy\17qÎ*)Æâ\13\96\90UÜ­kb}Û=ðÕûü\8a\ 6ò0#ÖÔ·qÆC\94fb"@¡°ôÓ:Û\9b\eêj««ªªj(õ\93Krz\91\7fL\8e~îéx\95,¨if@râ\Ä+°Tl\85ôoòJÊ*»ÔÔ5ÔÕv©(+m\·FJLD\10BÅÁ6\9b¤H\97\12]µa»ÖQ\v»û>a   Y%\14¨óaÂ\ f\81\ 1óûñ\13L\13\91B:ÑMmkijlhhljaZ\92\fN¨Çp\91Ç\84x;_C\ 6\85
+J\88\8fkÊà\91\9cø\ 4E$V­Ý¸y\87\9a¦¶\8eþ!\83Cú:Ú\9aj*[\14ÖIK\8a
+-&IÍR£\93\91Z,,¹v³º¾\99Í]\8fà×È\10 ÎÉ\8bcúû        &2RcxGÒº;©\1dð¨]=½ý¨ýÉ8\91FÞÙB\81"\8f\rõyxÓú\14\18\94¼ôôÓ\85q\85ò  .\93\94\96SÜ¡®¥{ØÈäÔé3§ÍL\8c\8eèí×PÙ¼AFj¹0?ÏD¦f\ 3\15\11)\1eÁå«åU´\8d\10¢\92sÊêÛ{ðì1¸ü3¢\89ïcR#C\83°"{ið@%&\97äô"\ f\7fævÇæÌ\11-\15\ 5((\81if\80z\93\83\8b\178­Ù°EUS÷¨\89ùyk\9b˶\97m¬-Ï\9a\1eÓ߯¶MaíJ1a~È\14ÙS\93ï\7f\a
+GjÑb\91\15ë¶î\ 1Cpò\ e\8dÏ,®méê\1f\82Ùû¯tþC{\99GC½÷qüt\9en\88d\8bÂXb\90\9d\9d±e/Y³oc'û\bWczÈ\9a\14BÊ.¤(ɾF!%ZT\8aGTzTºÝ§{u\9eï÷÷\9bqÜ{îíäÜ\99Ï\1f3ÿÍùÍû÷y¿?¯÷\9fVj\8dr"?¯~\82³J=\92\88_©A¾0ûh¼ÿ& Í\13Q~N\16zÊ2X\f\ fb¼­\14ÖÞ\82<\10#H\ 3^á}
+jú\aí\}C¢â\93\92SO$\13£ÃüÝ\1d¬\8c´p2bP)f&\94=)CW­àJ1²°\ 3è\ 4\84\0ã¼ìJ×ÝiÄ{¿ýþÃB¡J!Rýú\ 5\19p%¿ReúF\r¨EPr\86Ú¯\Ê?\19\17èj\83WW\90\10âE,´\ri»[Ðâ\ 2\8dǹGP\^MßÂÞ#0ò8)=;/ÿìÙ39\19ä¤\98P_\17[\13\1d\9c¬\98 È)\0T°üQ\86*\16}\84\ 2o\90B\b\9af\8e\84¸ô¢:@ç\0¥Pïý¸P\14©\0N ó\e\15%¾Q\8e"\85\91\80\ 2\ 4eª­$-\8aáá\84P\ 4[ÉVô\9fÂ$gaãÆ`e\95õÌí½BâNd\9c)ºP^YUUq±ølöÉÄH\82ÛaS\1d\9c\fV\0Q\8aqÛ¶\9fÐÙº\95*7}\94\ 2¯\10\12\ 2\8cóC^\91¤üÊ\96¾{O\80÷àÝûa¡¨R­ý¾>kkëÇ\80Rq^ÏN\8fõ·\ 2\82\82Ƴ4P\93\97\10æçádceÙ\ e».ª\15$r¸PÂ\92\a´Mí<CâÉ9E\97j\e¯]¿q½¹érei~FJL\90ûá\r*311"Ã\0Ôþ\89\8eRmÙB\89s        Pø\C\92²7xïÇC\8a¢Ô\ 6\9aX?\92ë\vµ4\87\90AÅÙ4b\88\aø«8YqaþÝ»8ÙA×eaFÄ\ 2\8d\81  Y(95¼­[P\1cùtIuSkGOÿ@\7foW[s}EQ\ e)\16(e¢u@J\ 4\ 3eÞÁ\ 2\87\99\99ò\v[é§\14HÏí¬\|X9\rS\a\7fÄ{ðî!̹\19¡Öµú\13I¬/ÔÂ\8bé±¾Öº\92\9c\94(\7f\17k#M%Y      \11Aþ=<Ü\\9c\1cì ì²\0\1f10021£\v¥cîä\17MÊ-­mîè\1f\1e½711~w¨§íjuInjl «­\91\86¢¤\b\ 6êÌÎ\86\f\94{;ÓºTô\10
+Æ9 sÔ{©ù\95ÈÝ{\aúÞ&Bê{ê­ýöõË*D¨\aÃ\9d×*\vN%\86{;Z\1ajâä¥ÄE\84\ 5\ 5øùx÷ìæ\86\9b\ 5\17k;3D\ 3QYUü!\8fÐÄÌó5Í]Cc\93\80ô\9f>\ 1=r°³¹¶$\97\14Mp±2TSØ'"À·\9b\87\e\9d]\9c\1c\88\8b\19è¥\14\12çëÞ\vMιØ\ 4\98ó\15ì{\9b
+©ï     \ 5Xó=µ»\9c9I\fõr°4\ 2\8c-/\ 3\8a®\18VTDXH\80\9f\17u!++\e×\1eA  E-3\a¿hr~ySÇнé\99Ù¹ùù¹Ù\99é{Ã]-µÅÙ?Gú:Zè«*Hb\81Ð\18\fF\0|\80\1fàæd\aRQ[ Í¥BQ\8a\v½{\ 1ÄSÅõíÃ\ f_,¾\87p¾Iïý¥P ¢\80ó\96_#Ϋ¿\90G\8e\ fõv²13ÔVW\ 1=WAA^NFZR\ 2+"\84ÙÃÃÅÁÁÁÅÿW
+§gå\1a\fø·îfÿøôóùÅ7oß¾Y\9c\7fñøþpWsuQFb\98ç\113]\15\ 5i       1,\16+\ 6\ 6\17ø\98\9b\93m\aÝ\94\87Ü=U¼\9dO4ù\uëàýg\vË\1f7\ 5\bß\13
+\8d¨çS£½7._È;\99\10îï\ 6Ê\88±¡\9e®¶¶\96¦\86º\9a
+n¿¼Ì>¬0â$\1e^A¬¬ªá!Ïð\9fs/6u\8d<|6¿´¼òáÃÊû·\v/\9f M\11\ 11\80S`)eeddåäå\81ÚR\12¢Bà8°³2S\89\9dÖB¡Þã\11\ 4Ìií\1e\9erº¼¹wüÉܦ\ 1áotB\85¢´\97Öú²üôäè`_7';[+K\v\83\aÍL\8dñ\ 6º\9aªJòRb{\ 51üü\ 2{%\144\8c\8føD¥BV\19\7fürqùÃêçÏ\9f?­¼{\rýÛV_\9a\93\12éçlm¬«¡¢\8cSVQUSWSUQR\90Ù'*ÈËÍÁÊ\8cì\14=V
+ܽ\9d»0b
+Zæ.AdzJ\e\0@XY¥EH¡B¡5o´¿­±¼0\9b|<*\94àãávÔÅ\19\8c\93\93£½\9d­¥\19^W\1d\8dwá½bÒ\a`DÅü» \ 6,÷ÌüÛ\95\87~ýe\15\9eΩÑ\9e\96ª\82ô\ 4\10tV&\ 6º::ºz\ 6x<ÞP_GCYQZL\88\ fUj½=ÒT(È\9c\9c¼"²ê&öþ±iÿ\0\10þv£\10:\18\1fl¿VS\9a\9f\99\9a\18\17\19\1e\12\14\88N\0ÁÏÇÓÕñ°¥±\9eº\92\9c\94\84¸¸¤\1cN×Ü\89\10\87<      ¬       à\ 2\7f\ 5ýè\vÐ{~æþЭ\ 6Ð\16£\ 3Üì­\ f\9a\9a\98\98\99[ZÛØX[\1e4ÒÓP\82l\ 6\94\82õ\91öæ\83Ì      û\9e°\942
+\bU×û'fþ\ 3\0\81\ 6\81Ë\1fO\fwßh¨(ÎÏJ#%'&\10ã\89DbB\ 2ø\8e\8d\8a\b!x¹ØY\18ÁÔ\91\91\96UTÕ³p\ e\88ÛøÊ@#B\8fçìôhOså¹´\840_WûC66¶\87í\9d\\]\8f:ÛÛ\9aãµ\95å$\84ù¸ÙA\7f¤ÏJ\81\90Ú      \0a¿®\95[hrîÅ«=c\8f! Ð ¤(B}\^|õtòn\7f{óå\8aÒ\82¼\9cÌSé`Nedfff\9cJ#\9fH\8c\8b\bôr¶5Ó×T> ¸\1f§a`  \85*¬½    \8a'ºÛkÈõ\y;÷tb µ®8+%:ÈÛÕÉÑÑÙÕÓ\87\10\10\18àïíæ`m¢£,'.Ä˵\93\99\11¬\14]B\8a
+\bN\81Ä\8c\92\86\8e\91©ÙÅM·\98¿Vj\rY\ 5\0\9cÏ\ 1\ 6õ´]«¯ºTz¾°   °è|qIiiIqѹ¼¬´\94ø\b\82Û\11\v¼\8eº\8a²ª\16ÞÊ\99\10{\12É(ê\ 1\ 6Jýï\97\8fË\vÏ'o·7\96å\91\89á\ 4o\ fw\ foÿ °È\98Ø\98¨ð@o\17[S\1deY1\81Ý\1c;\98\90\94¢¹P\14@\90Q5:â\e\8d\ 3Z\ 1\ 2Zõ@º\80Û>9:ØÝÖrårMUeeeUum]}CCcC}]uyiAnZrL°§£µ\89¾\96\86¦\8e\91\15(0ÈÕ\ 3-\ 1=À@¨¯_>½\7f=;u§³©ülzRT\bÁ×\17È\14MLJ!\91R\12cÃü\8eÚ"%\90o\17\)Ú{\ f\86\14\ 33;\8f\90$N߯#"%\8f
+\b4ôÞ\87åŹçÓ\13w\ 6ºoµ¶\mjjºÚÜrãæ­ö\8eÎ\8eö¶ÖæÆ\9a²\82l\12\82¢¦\86º:úÆV\8e>ÇRN_º
+[Â\12Ò\12\10ï­þwéåôÝnÐ\842Râ"\82\ 3\83B\8eÅ&\91Ò3³s²ÒI   \11~.Öxu\ 5qA\1ev¸Rô  )\b\bâ\8aÚ\16.Ádz. \80\0½÷\8fïÞ7\ 4Í¡÷\16f\9f>\1c\1f\19èélokk»ÕÞÕÓ7x{xäÎ\9d\91Û\ 3½\1d7\1a«JN\83v\ 3¡ÝÈÀÐÄÒÁ+,)«¤\ 1\84?\84ÔÒ«Gc½-ÕEÙ¤\84¨ð°ðȸdrfÞ¹¢ó\85ùÙ\0e}\1cÌõpÒ"¼\àðmý\17=\0a\e\0\ 4>Q¹u@\18BÎ2\r¼÷\8dê½w\8b\1e=\18\e\1eìëéîîé\1d¸=2zïþäé©©ÉûcÃ}í͵\80ÚãC¼\1c\ 1´\e\99Z\1eq\ f\17Ö´\ eLÌÌ¿C½\87\bõæÕã±¾ë5Å9äÄØ¨È¨¸$rfþù²ò\8aò²Â\r|\88û!c\ry1\f7\eê=Z\vµ\11\10<\8f\91ÎT\0"^÷\1e\r\94\82wïýÒü\8bÿÓ^î_Mßw\18?\9emÝÚY\9d:ë¥ÕÚu:uõÒ­öâ:[=\1eç\94\81\8a`9(\16(^\a*^\11\a\82\80 \88ÜÂ\1d¹\18ä\1a!        $$\10HBn\10\92@\ 2\81\0!\ 4\ 2$\\82\10 \bÈÙûóI°ý\9døù\ f¾¯ïó<ïçioil\10    ø<\9e@$\96Ê[Ú:Ô\9aîîî®NU³LĦ\15\87ùy{¸@=:jïtöÒí0\ 2\91Ê\91´amÃ/³\80êUÉjé\85Oã#\82îùݹ\e\10\1a\95\90þ¬\80ô\82THL\8b ¹}ÑÕ~ÿ\9eí\9bÖ®Xúv@á\15\83
+Â÷\ en>\811Y¥à=|÷\16ß9- ¦Æ\8d\83}à½&I½P \10Ö\89e\8aÖ\8e.­®\7f\1fèëQ·Éë9´Â\8c\98\a·.\9du>fgg\7fòôùëA1\99à½f\9q\93 Ú\ey\15ÅY\84È\90\80\ 1\ f"bSs
+KËhå\94bbJTàU\ fÇCßìøtý*KHÙ\18ÔBA\0ï}{Ä\ 5¼\87\v\8c\1aWb\eÝ=\b©!\14RM\ruB\81\10lפl×ôö\e\86F\8cÆ\91aC_w»¢¾\86
+Û$à\9a\97«£\83\9dý     \17Ï+È{t\1e¾{ m\fj\f\81â3H9IÑaA\81\81Á`¼Ì¼RZ%\8bÅ,+Ê\8a\ f»uÁåÈ?woþhõr\b©·\ 1
+yoå:\8b÷®\87\10r˸RUï >76\90Ô\ 2\9eX$\0EÕKå­\9dÚþÁ\91\97c&\93ilth@ÛÞ$\84~\14\1f
+ÛäÔqûÿ\1c?õãå;à=
\ 1ß\15(ç³èz\ eé:\9a\ 4\95°\19c\1f\85>x\10\16\19\97F,.¯b×Ö²\99\94¼Ô¨{Þn\ eû¿Øº\11Bê­\80Zò«7ÞÃw/\13\9bsc\vPf\0\ 5²i\96Ö\vQDÕIä­êÞ\81áÑñ\89)³yÊô\12&N\9b´\96^\90\1a\15p\15IÊþ\98Ó\99ó7~é½W\16PÃ}\9d
+\11\8b\92ÿ\94\10ý(<<2&9«\80Ìä\bD"\ 1»\82\94\15\17ìëéxð«¿~b\r)[\83ú\85÷àî]¸\ 3\9d\93þó¹Y´¤ S\ 3¨Á>M\9b\"âq9\\9ePܨT÷êGÆ&¦¦_½Â\85´OÝ\Ç*É\8e{pó¢\9bóq{\a\9f®\ 6\15ÂÝÃÞ\9b\9e\99\9d\81j>ÜßÕ"æÐ\8a\9f¥%ÄDGÇ&fä¾ Õðë%\121\9fEÉMzxûü\ f\87÷î´\84\94íÓ|Á{p÷¾<xÂÝ7ØRõ¬çÆV t¨q
+¸5Õ5\1c\9eHÚÒ¡\1d\18\1e\9b0\83R°à\fp÷¹åÏ\93"îúx¸8\1e;æèâéã\1f\91\9c\95¡á9a\ 1e2êAz¼Jr~vZ\12\81\90\9cA,*«ª­\975Éeõ\zazÔ½ÿ\9e¶Û÷ù\96\rÖ\90z\v\ 5\ 1¼·ü\ 3è\9cûì\/ß\8bJ/f\8a\14\89óy<>\0\94Z)««­aUV²Ø|±\ÕÝ?ô\12\1c
+ûñá>µ\È,J\8f\ eô=wÆùÄñ\93.\1eÞ~\ f\13s©Ö?f~53c\ 1Ú!¯cÓKòs232²\88E\14\ 6G$S(\95
\02.6è\9aûñ\ 3{¶mZc-\b\9c£Î¹þSØ{N^7ñÌ\82*e\938_\0Õ«n\91
+9,fE\ 5\93Å\15ÉÀ{\86Q\13x{βâôhÅ\95\85ܾìîâäèìê      Ík\1a ©@ZbPÈ£]J© \9aVZ\ 4\8b±\80Da°\85\12E«ª½U^\ fÓ&1ìÖ9ç\7fAAø\10Êù;¿~\v{\ f{oÅ\9a\8f·}±ßáì\95À'\99%6\8bó7 :[$\ 2v%½¼\9cƨæ\89åíÝà½É\9f«$ò^\19xïÞ\95sn.§\ܼ®ø\87'\ 2(±Ò
+j\16õ±\11}O\87¢\81_Í(#\97\94\99l\81D\ 1ÍUÝ¡\94ò*\8aÒ¢ü/»ÚíûÛ_6"IA\95²5©%Ö½÷ÑæÝß\1e\818\8fHɧ[StÑq>?\ f &, ø5\8cr*\85
+ß'\94*ÕºÁQ\0\1eºgMü\8aÂôè \9b\97\9eqó¸t= 2ù9\95ýFQ³VIiT\8a\ 6!\97UÉ`TV×\8a\80Sg·VÛ¥\92\8bX¥Ø{'\ e\19Hj9Ì\18¬)\9b¢B\92z÷}\¥\ e\9eðð\r\8eË!/h\1eIj1¤\16@éÔ\0ªº\82ZZRB¡Urë\9a ¥,\92Â!5ÒßÕ,ªz\91\15ÿÐß÷\92\97§×Å+w\1e<I/ q¥mZ\fj\16\17\ 4¼\85\88\85¼ÚZ¾P,kV©µº>]\8fZ)á\96ç%\87ß¹àrtßß·nZ·jÙ{¿µ=)´÷p\95²Ä¹\7fdZ\11C ïì³\81¤P\91\ 2k¡p\ 1PtÊ\8bââ\17d\1a\8b×ÐÜÙ£7â\86\84î\1e\ e©\1aJnÊã`?_ïËÞ×n\aF\10²I\f~c{\8f¥q" æ\89±\11\83®»£UÑ(\95H¤MÍ­\1dÐðõ\ 6}\1fª¬LÒÓ'÷¯º;\1eÚ»kËÆµ+\97½÷»wlMj\89¥Já8?tò§\e! D¸7­Z\9bH
+\81\1a\83\ 6¤\94òY´Òâ\82ü\82b2½\ 6Ì×e1\1f\8ei\\10jéE\99        \8f\82ýoß¼u÷~xlz\1eµºNÑ©\eÂõ`nn\ e\1a\ 2"ÕߣéTµÂSuvõôé\a\87\87\87\fº.e\ 3\9b\9a\9b\14îwé´ý\81¯vlÞ°få²ßcR6\rª7q\8eÛ¹÷ÿ\1eg\143\85\v\92Z\\9eã\r\ 3 4­R\ 1«¼¤à9\91\98WD®`\8b\9aÚ4ý¸KáÎ9¨ë\90\v«ÈÏÓã"C\83î\a\85<\8aK%\960xÒV\8dÕ¡¯!õ!Ï'Æ\8cCúþ^m·FÓ­íE\98\8c££Æa}O{\93\80\8c\r¾áõÃÑï÷|ög+©ßØ\96\94%ÎQ;ß¹÷°³×ÍPB.\95c\eI¡Æ       \19\ 4+E&¨*#åådef\13\vÉ\fN½¼]«\1f\19\9f4OO\83¥PénàÐIÄtBLTäã\18B:\91Dg×+:z\rFK\8dX 5þÒ8<¨\1f\80§7\f\8d\8c\8e\8d\9bÆa/öi\94\r\9cò|´\82<\9c\8f|\a¤6®]µ|é»¶\ e*«¤ÖnÚ¾g¿\83\9bÏ\82¤ð|X\9c¤æ­EIÛ&ãWQ\v\9f=MKIÍÈ)(epÅÍ\98¤Ùl\9e\84ïU5
+«ËI¹YiÉÉ)éÙù%ô\1aQc\e\8aü   ,¨yLê\95\19P\8d\8d\1a\19G_\8e\9b&&''Af\86Þ\ e8|dbb\84¿\8f»Ó¿¿Û³cóÇëþø\87¥¶\8etÜÎqCØõ\8fçÎÝB\92²\9eæÅ.¾y\¤\fZ\95\8c\ fã#+\95\10\1fOHÍÊ'3k%-j\b ÓÔÔÔä¸õ.²h%\85yD"\94I*\93#jlÅ9\86\ 55\ fï5JôióÔä\84i\1c\9e       (M!A¢èB\92å3HÙ    \ fý¼\7ft:òý\97;·lZ¿zÅû6\8etK\9c£\86°}Ï\81cXRpø Kᡵ(ó\ 1¨i\1cÖ2>³$7\83\10ó8êqlRf>¹\92/kë\1e\18\19\83¯\9d\1c\1eènW\88QÕ¢\90¡KB+­o\ 2N\ 6ã8$Ôìk\fÊ"ª\19`e\ 6ºSf\80ô
+\1d\83é)\13¾«\r\8\aña~ÞîÎG÷\7f½kë'\1f~`ó BÞ\83Á·zÃæÝ )H©\ 4\\8b5\ 3hñ-JRèìY@ñ\18¤g)±\91a¡¡\11Ñ\89\99\ 5Ôj\91\1c\99o|\ 2\9bgP§i\93KDµlV\15«\9aï\936«4:Ã\b\8a{« ¬¨æf\11,ôfffñ\83è2\81ù:\9bÅ\1cZQf\Ø]\1f\8fSv\a¾ù|Û\9fþÏ|y¸5y®a¼==õ\9cj\15÷ÂUT¨Uê@ÅjÝÊq\14q+ZgÑj\11e\89 \e\ 5\88 "ÊF\14\94eYÊPdï\11@FÂ
+\81l\92\90°\ 4¯>ïû%\ 1íuYK>Ïåó\aäM~¹\9fû¹ï)\13F+\r\ 3£"\8fÔ[\92Ò9d`uýnx"¤\18:\e¥\18E$\85\8eR\9c\91ø8ÀËÕÉÞÆÆÞÉÕ+ðQ|ZAe]\v\ e6\ 3\92bÒëª+J
+órrrò
+\8a!r72\bNøyü>\81
+XɧOjò\12¢Þä½\0R\90Z\rõt·mX±h¤[z¿¤À¥öê\99\b\8aNÍ«\80\1f\82$Õ«\18(\æ\8aÓ\13Âý<\9cí-Í/XØ8þ~'$*)«\14ò$!)Q\e\97Ù\O­ª,/+£\94WVS\e\9a[9|)§þÿI¦+éÈö±»S\ 26ÕXS\86H\ 5x:[\e\9d<¸]kåâyØÒ\87\93iérIÍønñÚm?ë[^ó       \8bO/®&\82±\ 2\92\92\83*J\8f\ fóuw²¹`blbn{å¦oX\1cHª¾\95\8b]
+\91b1è\ruTj-\95VßÔÜÊæ\81ÖÞá4\0Ö\80Á¤Ä`s\8d5\94¼´\84ÇA^.¶¦§\ eíÚ´zé÷jd[úç2IM\81,¥µû\17c\a÷\80¨äÜr\1a\83\8bS'9 îÝp´25<{ÎÄÂáºwHLJ\ e\ 5\1f>8^( ñ8¬VF3\f£\15"\92@$îè        êýo¿Eª\96\92ÿ212ØÛÕÞLÿè\1e°ô\ 5rK'\91\14\96ÔÄ\19s4Vÿtð7\v\a\94²Ú\14J\9d(\9a\ 3(zM1\ 6uÙÒä¬þ\19C3\9b«\9e\ 1¸Ë\81\v\82pÐÑo\17
+ø<\ e\87ÍápQ\90\14w\80\9cþ\9eÓÛ¤\9a\vÒ\9fE\87Þu»lnp|\9föúå\84¥\93\bI\rU\1a«<S}ÙÆ]Ç\fínøG&Á_NHJ1PB\ e½¦$#!Ü×ÝÑ
+@é\9f5µrºé\17\9e\0»Ý\88¢7\9cy\8cJ$\14
+\ 4\ 2!P\92ôcúÛ\871)T\19\85<&\9dZQ\94\99üä¡ïM'Ëszº:\eWhô[:i¤þ=\84h|\8bVmÕ=e~åvh,!)Â¥\14\ 2Õ\[\9aõ4"Àóª\8d\99¡\81\81áyk'wßðxôñL\f
+]|ÄJ"\ 6k\87\8cÔ\850\11±à\ 3Þ\90iJÈc5Ó^\15g§Æ\86û\83¥\e\9f\ 3[ú´\89cÉ$õ¯/pã\9b¬2OsÃ\8e£çlÝü"\bI)\92¥\88²ÇeÐ(9ÉÑ!Þ®\97\e\e\99\9aÛ9{ø?J\90\83Â\89\b±Â\ 3\11éµTM\1fö¨\8c\94DÄg3ê«Js_Ä#K·\ 3Kß¹iÕ\12uUÜgÈ"õ9ÑøF\8e\9f¦¶på\96ý¿^\0I\81KáÃ×5hIaPí¼Vh­/âÂü<®9XY\98_´qt½\1d\14ñ4CºzàÙh\10,\9c"qBú`Lo\91jc·4@L\0K\ f¹ãê`¦\7f\965\9aèø\91I
+$5ä«\11c&«Ì]º\1eKÊ?\12\ e_]\v\8aç
+\80\92\97=è0wo^s´·spºîéû &9»´\86\8e6\e\1f7y\94\94\7fò A
+eô6\ e\1c¿~K?Cô\19\14\13¤¤\14¿}\84¤\86\8d\1c?U\15\94ùUï\87ñ\19p\988\ 2I×`wï\r.{\ 2N3µ\1cÒ`Dð]O·ë.×Ý<ï\85D$¤å\95£x\80õ*ks}²ºò\8fß\91\91BÇOféîÐg~A}\ 6\0R
+K\8a\88\bc&©ÌÕܰó\98\91½{`tj~e\ 3\13Ûù A½\ 6\93âµ6T\95d§ÆEÜ÷÷¹íuÛÇïþãØ\94¬âªú\168ª]=ýmn0\90d/\11¤Ä\ 28~´JdéaÐg¬\fõök¯\97\93\14\19\92ú\ f\92\94ÚÂU[\ füvÑånøÓl
+M\91Ý{\83Î\1eì\1e»\99VQ\94\95\9a\10\1d\1e\1a\1c\14|?,*.9£ \9cJ',J\8129à%Lª»\ 3\1f¿ºª\92\9cçq\8f\ 2nA\9f9¡»\r\91\ 2\9fRúú¿d\91Â\92\9a¬¢¾Lk·\9e©ã­û±/\8b\88(5¸ï\ f\ 5U\fJkEQvZRü\93訨\98اÏ3\vʪ\e\ 2Å*Ò_I\81¦\84|\16£¾\1a\8e_BD\90×5\eã\93\a\10\19\93Æ(¡\8c\ e\86® ¨Ï¤.\ 5YJc\8dÎá³¶n\ 1QÒÝ\e¼Iõ\17\fjeI~ÖËÔ䤤\94\17\199\85\94êz\ 6\9b\18üI}\ f)6\ 3\8e\1fî3·]l1©eóU§O\1c=b()6\85%\ 5YJyÖü\15\9buO[\û\aw¯]\ 1\93B\92Âר\89V]^R\98\97\93\9d\9d\9b_TVY[ßÌâ      %\9d=¤l\9e\14T?)\88     \94\82ô§Q!Þ@ê\84®ö:MõÙS'\8c\1aN\92Má,5zÒ7s57¢Ýó
+\8dË(©mæ*dRè»KÚÛ¸ÌæFZÍ«
+JY\19¥¢ª¶®©\ 58\11Ù\80\PÝ\98\14§\ 5bBaÆ3\88¹.6Fzû·®Y2w¦ò¸\91xùH\91\14²óißj¬Õ9bhï\1eôäEau\13[\11\93ÂË\a¤\ 4<6\93ÑÔPG£Riu\rt\ 6\93Ã\17\8a;\88l@\12'\f
\96NL
\84ÂÌ$DÊÚðø\9eÍ+5æ|3i\f\87ì|ÄØ)³\17¬Üzð\8c\95«_d
+\98\14\8b0©Á~\7fLªC,\12ð8,f\v\ 3¦\85Éâð\ 5"q'´\17R\ 5\85AAm\94\88\85°ì\10\13\8a ç\ 6{9[\1a\1cÙ©µ|¾ê´    £¾&GRh÷\86\8f\9e¤¢þæ}§Ì\9d\9få\94×µòÁ¤\ 6û¿Ë\9c\ 3¾¼HØÆçqaxü6¡HÜÑÙMp"qóà%\ 4
+=\ 6Ë\8eHe<\8b\fôt2?}pÛº¥óT&\8f\ 5I!\97R\10Ôgx÷FM\98ñÝÒ\r»ôÎ;y=HÈ,£)âærRðõ;$âv\91H(\14\89ÚÅ\92\ e,'Ò8\r\ 4E<\ 5
+f\ 1©ÂôÄÇ~7\1cLNìݼr¡\1a\96Ô\97$\81\1aª\ 4&µxíö£F\ e\1e!\90¤\14rsùOÀ;\ 1¿\0OggWw\ f\92\13i\9cú_A @S\1dâvLª"?-î¡\8f\8b\95Á\91íë5ARcF|EÒîa\93R]¸JûÐYÛ\e\81127W í¼\91ýÛð+àgÀ\0$¤¦¾A7\96÷\83\ 2RHTí8èRrSb\82=\1dÏ\9fÜ·åÇ\ 5ªSÇ)\r\ 3;'áî}ñ%
+ç³æÿ¸å\80>áæ¯\1aY\ 2É Ý|\0*\ 4K>}¤bz\a\94\14\15Ô\99ÖÆê\92ÌÄG÷\­\r\ eë¬]2gÆD²v\8fHRàæÿÛw
+"磤Ü\8a\ 2goÀ\ f\91áê\93B"\11Ó@P\ 4)ìTí\ 2NK]Eþó'Á\9e\97Lôöhý \ e»\a¡\93D7G\91ó\84Ù\15ï\87\89Y\14âìõ\92Ò\û\87\ 48ï|¶l½\89åF^\ 5\95\80E¯)ÉL\b»ãlqZwË\8fóg+\8f%L\8a\14P#ÇO\9f³dýÎã&\97o\85Æg\94R\19<\11) >æ\fôAÙtwJ\84Ü\96ºòÜä\b?Wë3\87´W/B&5\94$PC\86*\8d\9bª¦!?{D\89!«»~¬é¿\18\18Õk4=Ý\1dí|fã«\82ç1\81îvç\8eè¬ÕøvÚx%HRd\80\92\9d½ÕÛ\ e\9f³s\ f|\92VTMç\b\15É\aÿ\9f\91FóÞ×ÒéE¡ªSÜÆnª.Jû#ØÃÁèØ\8eu\8b\ 1ÔÈa$\82R\86\12óÓÏ\ 66nþÑÏ\vª\88³×ûñ\f\86\84y#\ 3\85Q\11\97\15
+\81XÀ¦×\14¿ü#ÄÃÁ\18@-\993\9d<P(\1f(Ëò\81oDJ^e\ 3\13ܼ\eå÷nÖ§6}\7f\ 5Õ         >\9a¢p\90\9aùý\8aͺ§/B>x\96C¡µp\85\12ÔÌd\9a\96%¡Okz¥\94äÓÓõ\8eG­ÑP#Ñ£\0ÔèÉ3Õ\97oÚ÷«ùÕ;a \99¥5t\16\1f\95XHqÒ\8cÒ#7ÌOj¤Ç\8eø~(\1e\88\ 5ÄÕ\8bôûÝÚà\90öª\85ªSÆ\8d éêaP8qî=iæä\15\1a\9bVøª\9eÁæ\v Ê\8a%x\88ºÖ\89À}jÓ9`¤%\ 6rTb\98\8f4GÍÂ9\8a\94À        f\8e@Í[¦µ[Ïô\92GPLJnYM\ 3\83ÉáñÛ`\ 40B¡ðOöëü\1fê<\ eàx=¤¹Ç\Æ\98\8bqÍ0\86\ãH®qS\19\86EÉM©\15ÅPm\84P©ìv8RÙj)²Ý\87\89v\95tH\17\93JÒ¦\92\ eõXý\ 3ûùÌPmµ?í·Ýï\ f^\7fÁûñ||Þ\9fïç;>>þþ=\90C_ï?4þç»7£O\aÕÝðe¾>\a¼Ì]¬M\fi$$~a¦Ãw\14¸£\0\94³_DRöºÊ½-­\9d\81¡ág#/FGG_\82^½zýúÍ\9b±±±· wèêíÇÆÆ^¿\1c\19\1eì¿Ñ        ÿõ
+2ãÃàGÏ@ó¯7\1d9(±³L\9e\90¹¶¢¶ñD{WOoÿ\83Á¡Ç\8fÿ\0=y2<üôé³çÏGF^\80FQ\1a\18mäÙðÐ\80úFWÛÑý;Ê\94é1Ásì4\ fsx\97#\ 3\e
+ÄR\9fùqKó˶×7\9fjï¼Ús«·O}÷n\7f\7fÿ½{÷ï?\18\18x8øèÑÐ\10ÀCmC\8f\1e>¸{çú¥¶ã\8dµ\15k3\13Â}Áæ±é\býê}\80²rô\f\8dI[Y¸¹z_ó\89Öó\1d\9d]W®^½víZw÷õ\9e\9e\e7oݾs§·¯O­\ 6z¨L­îë½}³»«Cu¬±®²('-:ÄÃ^4±yH@éÀÕ£±\8cEöî\81\8a\84eù%[ªë\e\ e\1f;yú¬Juî\[[{ûùß~ï¸pñb祮Ë\97¯\0=\94vårWç\85óª\93-\avU\96äeÄ\85É\$¦\1c\ 6Ü<D®(-\94\ 1ßÂÖU6/6eùªâ\8am5{öýÒx¨©¹ùðá\96\96_\8f\1c9zìøÉS§Ï\9c9ÛÚª\82|hL¥j={úÄÑæ\86½U\9b\8bó\96ÆG\ 4¸Û   \8dXT\92\90\82¢2yfÖN\9e\81á\vS3ó
+J7mݶ£ª¦¶v×®ººÝ»÷ì­ÿyßþ\ 3\r\8d\a\ f\1ejj\ 2|è¬éÐÁ\86\ 3õu;+Ë\vr3\12"\83<\1dÅ&à@\110Èl\9e\ 6\8aHÑç\bDv®>!\11\v\92\95k
+\8b×\97\96oذqãÆM\9b*6oÙZùãOÛw쬪®®\ 1|(­¦¦jç¶Ê\8a²Âü¬ôE\8a`/©Ä\9cǤ\12\119P\10
+\æX\82\1e\9dÅ7·v\98-\v\96G/J^¼lyöÊ\1c¥2//??\7fÕê5?¬-(\WT\²¾´¬¼\1cø¡³ò²Ò\92¢\82Õʬ%I±ò /g\e\v#\16\9d\8cGä@\ 1(ðÕÓÅàÁîq\ 4B\89£\9b\97\7f¨<*&.>19%55---=}ñâ%\19K\97e.ÏÊ^±2'7W  ýÐ\98R\99\9b³"ëû\8c´Ä\ 5\8a¹~\1eR\e¡1\e,\1e\16\91\ 3¥Ý=]\f\8e\b\8e\14×Dhmïìîå\17\182/L\1e\11¡\88\8c\8c\8c\8a\8aú.::&vaÜ¢ø\84Ĥää\14à\97ª!DWp¨\94äÄ\84¸Ø¨ðÐ\0o7\a\89\851[\9f\ 2\17O\a1(°{x\12\85Áâ
+Ì-mì\9d\g{xyËd¾~~~þþþ\ 1\ 1\81AAÁ!¡óæ\87Éåá\80O\ 1\ 1Q\98B\11\11.\ f\9b\e\12 óts²µ23bëSIÚÅCÀI{I\81#E S\18\ 6\1c¾\89¹H,±µspt\92J¥Î \17\17WW·Ùîsæxxzyû\0\87Î|}e>Þ\9eînR\a[+\v\ 1\8fÅ @'\84\ e\94æ\92ÒÑH\91(4}\16\9bg$05·\10\8a,-­`b±ØÚZbcc;ËÎÞ\ 1ðA?\r ú\ 2\8399:ØÍ\92\88Ef\ 2\1e\9bI×#â1H-Þ4í\91\82RX<\91L¡1\98,C\ e\97Çç\e\81\8ca\ 2\81ÀÄÄÔÌ\1cè       EÀO\v\88Ê,-EB\v3S\ 1\9fkȤSÉ\ 4\1crçi\9aöHA©\99X\1c\81HÖ£Ðè\f\86>\93É4ÐÆ\ 2\19\1a²Ù\1c.\977á7!\88¶À\|>\8fËa³\98\f\1a\85LÄc'\9c\10\82ú(\85Áâð\ 4"\89D&ëéQ&£\82h4\1a\1dòA¿I@4\ 6¦Óg0èT\8a\1e\89\88Çaf"ë4)\ 5¨\80\15ÀÂáð ÂÇ\88\aø\80ß'\82h\fÌG&\93\88\ 4<\ e«eBÔI#¥¥\9a\ 1°tgÂ0\9f\86\ 5á&\0ÿF\88²àt8\1c\16\8b\81J\13LH:i¥\0\15Ä\82Íø<]ÝIÀÏ\bQ\96f@]\804Cç[0} \9aäú2\1d\9d\7f D[\9a)áÄÓ¿    Ó\17\_íë\86¨krÜo¦ôï\14ÑÔÿF4ÕTSM5Õ\7fÙ_\ 2\f\0\ 27Rè\rendstream\rendobj\r1101 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 256>>/Filter/FlateDecode/Height 228/Intent/RelativeColorimetric/Length 16041/Name/X/Subtype/Image/Type/XObject/Width 256>>stream\r
+H\89ìWgTSé\165½CB\12 $\90PB\91\17é\ 2"¨ "\82 \ 2\8e¢ \82088vQ@EÄÊ\88(\16PÁÂPÔ\19\8aX(\8eH\11B\15\89è\88\ 2\8aø\9c?ï»       \16fæ­õÞbîõýàü½kÝ}ö>çìs¾\193¦c:¦c:¦c:¦c:¦ãÿ'P\9fâ\e¢\7f\13è        x4\1a\ 3\ 2\r\ 2ñL$èß\ 2ø3>à\8eÅá¡Àa±\18I&H¢CðØ        `Äp¿$\80\ 6ä        $2\85J¥RÈ$\ 2Ð\0\83\"( <\9e@ àñHâ~\8d\8f#\90©²\f&\8bÅb2di\14\12\ 1\87\"\12x"$>\84+U\09+\92¨\8f\18l\ e\8f/P\15¨ð8l9\19
+\11\8fE#Ã\1f\85\82Ô§Ñ\19rr\fYªDù/\ 1·\ 4ÐèaqD
+\9dÍ\15\1a\18\19\19êÏ\14
+¸ò\f*   \8fAF\0\14\1aK Ë2\158\.G\81        )\80ÇI\ 3ø\ 1Ì]8Ñú2L\8e@ÛÐÂÖÉÙe¶\83µ\99¾&_Q\8eJÄa\90á\8fÁ\93dXJ|u¡¦\86ª²"\8b.\ 3<\b
+\12\11(\ 1«\0\80>(>\95.¯,4°tòô\v\b
+
+\9cïíbk¢#PdP\bÈL\0
+C ÊqTµõ\8dM\8c\rtÔùJ
+l&\93    \86\ 1\bA&âàL\ 2Ð\a\93Ïä¨Î4sðZ\18\1a¹fÝÚ5\91a\ 1^\8ef:*ò2$D\1a\0ä@\92\91çë\98XÙ;:ÚY\9aèkk¨     ø|\15e\1eG\9eI\87º\106\ 1 ç\ 1­ÇÕ0°v\9f\1f¶:>eÇ®\9dÛ\92×G\ 5û8\9ahrå¨\884\0
+\8d#3\94\84F¶®Þóü|½\\1dm,L\8d\8d\f\rôt\84ª<àCD\1c|üÑX"\8dÉÓ4¶÷\ e\8e\96\9e}"çÄ\91ý;\13W\ 5\1a¨*È"Ò\0(4\9eÂT\9eiéæ\17¼lùò°à\0?\1fOwWg'{+àC*òt2\1e¶$\80ó\90\19\1c\rc\aßÐu)éÇÎ^*¾ZTp:{ObT \9b\856\8f\89H\ 3\80$¨l\81¡\83oHt\BbÂú\98U+ÃC\97,\ eô÷v±1Öâ±hDØ\92\0ÎCcóõíæ\86ÅmÏÊ»RökMMeyñÙÃ;7\84ûÚ\eªA\r\80\b\7f\9a\82º©k`TüÖÔ´´½»·oIN\8c\8f\8b\89\f]àa+I\ 26þÀyd9Bs\8fàµÛ³Ï\97TÕ=zÜÔx÷vñé\ 3\83Ü-´¹r\14øzïs\80"È(
+-æ,\8dÝzàxn^^nαìÌ\8c½Û\93c#\16ºZhq\19\8a\0Æ\9fÌàéÚùEnÎ<Wv·©½»·»½éÞÍÂ\13{âÃ}íô\ 5l\1a\18\0X ¿Î\ 2â¯eé\13\91¸/çâµÒ²Ò\92kE\85çr\8f¦oY\17êc£«,\a#\7f\1c\85É7t\ e\8aÝsêzms÷Àà\8bçOE\8fî\94\9cÍLY\15àbª¡(\vßì}É\ 2ðçhYÏ\8bJÉ:ÿsÕýú\86ºûµ\95\15×/\9eÜ\97´Òß^O\85I\81\93?KÕØmiÂþ\v·\1fv=\1f\1a\1e\1e\1aì{R\7fûÒñ]±!\9e³´\94èðÍÞ\97, þÚ6þ«¶\1d/ªll\15uuv´5ÕU\95ä\1fJ\89^à §\ 2oýYª¦\1e˾Ϻ\ÝÒÿjtìÝè\90¸«©æznZÂ2\1fk\1d\18gï«,&ø¯Þ\91sã^k¯\184a\7f\83\9b\ 5\87S¢üíty\f\18ýOÂß3<9»èn»xxìÃ\87±\91\97}­÷Kó÷'-\9fk\ 3ø#R\7f<\98\7fkÿÕ;O\95Ö\8bÄCÃ#o^öw4ܺ\90\99¼|®\95\16\a\9aA\98 ÁåÅ\14\98x,KÎ.¾Û182þñãøÛ¡gíu\15ç\ e$E̵Ò\96ô?LØ\9fC²ÿ4­æ}·ãTYC÷\8b\91±±·C\ 3íuegöm\bq7U\97§\11`ÛAÀÿ\99|#·°¤¬"À\7fôÃ\1f\7fük쵸£¾<?cSØ\1c\v\7fðï?4\9e*/\9cå\e½=§´¡ç÷·ïÇß¾êo©)>¶uÕ|{=e9Øì\ f@cIr*\86.K7e^®mÿÄ\7f ý~InjÜbW\1356\8cÚ\7fI\ 2\8d£²Õ-|"·\9e,©ï\ 6üß\8f¼èj¬ÈO\8f_êa®¡(\ 3ã
+Ba\89\feýÙÁñ\a
+k\9e<\1f\81ø¿{õ´¹úÊÑ\1f£ý!í\11°?\89\v³Õ̼Vl9~£®ëå(h\7fP~\90B\94\9f\1dØþp\9e`(\f\91ÎÓsZ¼q\7fAu\9b\ 3\98\7f©ö\19ñ¡\9eæBDÖÿg\17\8eøáèµ\a\9d\83ãÃ\83\9dõey{ã\82]MÔ\15à,?´zè\]Ç \r\19\17«ZÅÃã\1fAû?k½#\1d=}py pþNâ\7f_ôüõ\9bß\9f6W]ÊÚ\fÌ_\eZÀ0¦\0øËru\1d\16­O¿PÕ:0üþÃøè\8b®\86ò³i\eCÜÍ\90¹þ&®\105³9ËS@ýEâW¯\9e\8bê~>µ{màlC\ 1\vÞ\17èdþoÞ\8f¿{ÝßR}9;%r\9eíL\1e\9f  ÿW7÷^ù#\98\7f\91øå\8b¾æªÂCß\87{ÍÒäÀü\0\9dÔÿ\ 3\8d\8d\80Ñ+=\9d\1a\eäb¬*O\83Uû¯\92\0û_h        ößO¥\r\9d\ 3\83\ 3¢úÒÜÝ1\ 1\8eð\ fà×þ×:ðúí(0ÿÊÂCÉ\11Þ\96Ðí\8f\80ùÏ\90\92\8eí\82\98=y\15\ f»\ 6Ľ \ 3\ f'Gx\81ó\ 3\9b1±ÿ\ff/I8XXÓ6ðzä\8ddôvÅ\ 48\19ðYT ="ü±$\ 6(BÐúôó¿4u?ëïl¬8\93\1a»ÈÉ\0~ÿE\83û\87oäº4ñÐ\95Ú'â!à¼\8f+\v2\93\96M\9c\94_r\84\e»\85&\1eºTÓÒÓßÛv÷ê±-+çZjþ3åGIâï¿\ 1h\96ª\89Gøæ#Wïu\0ç\15\8bêJ~Úµf¡\ 3b»Oj\7flus¯\15)Ç®Ý{Òû´ëÑ/\17öÇ/q1\12°¦\9e\82\84;\1aý\1f$\90\ 5\13\9f\9c·²\10*¿¹\10Þ»cR\12\18\ 2ôüóû\ ezþuôõµ×\95\9eÚ¹z¾­\ e\97\14 î\18IH4ø\eh\9a¢¦\15\ 4]ÖØ%\968/\98~P~èòE¦ü\90\a\81\1dä\10\18»/ÿÖo\9d}=-µEG6GÌ1\a\ f¿©\96\1fÐÇ`qx<\ 1\8fÇa1è¿\b\0 e¹3í\ 3Öí={ëQ7pÞæêKY`ñZ X~\89\a\817\18äÁU\8f»ú:\1fýz!cc°³\81Ê\94\1f\1f\80>\16\91)T
+\99DÀÿU\ 1 ´\81ó\92ø\ 3\ 5UÍ=\ 3ý¢\86ò¼Ôu\81Nú*p>:ÿ\94¤ôú\ 5\1e\94]\ÛÚÝÛÑP~z÷\1aÐþJÀ\80§X~4\16O¤ÈÐå\98L\86,\8dLÄýI\0éáiê       \8bjÛzû{[î\14\1dùa\85Ï?å¼ÿe\92À\834fùDn=yãÁ\93\9e\9e¶{×\8foYém¡!O\9dbû£P\18\1c\89Ê`s¸ÊÊ\E\16\9dJÂc'     \1d\7fpxmË)yÐÞ÷´óá­ü´õ\8b\9d\rù\88\99¿Ôþ8Ú6þkv\9d.oèèén®¹\9c\95\14êf,`N¹ýÑX"\95¡ ¢®¥££­¡ÂaÊ\90ñ\93ª*u\1e0þ©gn6\8aú éOl\8b\9eg­­\84Ôîÿ\9c\84⸴s·\7fëìí\ 4Û/cC\90\93>\8fA¢§ög\f\9eLW\10h\e\9a[ZÍ2ÑÓP\96\97\9d$\80äð\0×OHÂÁ\82Ê&\bº²àà¦Pw\135öT[ï\7f\88     û\vÙt°°úqW¯¨±"oOÌ\ 2[\1d\8e,a\8aí\ fÊOc«è\98Ù¹Îñòt±1ù7ïe\1e\rõþÆñßÍ2öa\18Û\8cmì²\13nJ$I¤\846\14J\eéÖÕb©tCÚ¥D\9b´\97\84\12\95È\88\90e\18Æ\8c\19clc\97¤ú}>_\84sîù\9dÃ\9cß|þr\8eï\99ó,ïçõ¼\1f-%i´à4O\vå/£fæ\ 4\8cdz¢\9a¦fRiÎ\9dè@w«ùHé¹Õþqü\ 1\ 6%<-®m¦Ö\97¾¼\15±kµ\85º\f\87Û\ fL?¿0\ 6§abí´Îk\8b×úUKÍt\14±¢SÂ\ 6õ\11\14Çé,v\v\8c¾\9dSJ¢4VCúms\ 2ËO\94ÃÒÏ&Ì)ü\ 1\ 6Q©¤\12\80??GS\ 2\96³\r\ 4v\1f\9f\0Z\86`°ÄÙsç¾ ¿ý}ÜìÌ´ð\98)°ÁúH)\e\ 1ù_Lίh 4|~óèB\90\a¤\1f§ä\99M\9cÓð\a\18\ 4ÌÿÓø0\1f{c\ 4\7f\1cü,è.JDJQg¡£×\9eÐÈSÑá\a¶»Û\9a¨Éþ>jáx å4-\9c·\87\ 3ùW76Õ\95\8aô_k\89,^ÎÈ3\9b@§ð\97_Ii¡Ö~H»\1c¼ÙÎ@\11à    þ\80øyQÂ\12ò\1a¦v\e\ 3\8e\9cK¸y#.ú°ßZ+xÕNh\e\ e\9e¤¢¾Í\86}gîå~\ 2òÿò>íJ\98¯\83©*Ç\8bw6o
+\7fàø\83\16¤0%ö\90§­¾\ 2\87Ý\17\16\97U5´vÝ\11z>19#ýÑõÓ\a½\1dÍ5åÑãl\83í\17\93U7sÜ\1av%í]\15\99ÒP\ e\97ÿFèý¸)ÿ)ü=ûHji¥Ö¼O¹x\10æ\8fá\80ÁÀöó\v¡eTô\16­ò9x&1-·  'åZdàz\e}hmÆóç\13Â(è.Y\aè÷\92XG¡Ô\95¼H\8cØí²PK\8ecß9«H§ð÷\89Ì`Ò@þ±\87¼\96M@h\8eq@ö\81Õ§ó§\83羨k©y\1fËË\8bs\1f]
+\19¿là\0 í\97Q[°Ò'äÒ\93\82J2µ   È?.ÔÇÁ\84«Ë\7f:þ^UP\98m-µ\85©\97\82¡\a\91\16AÍY\0\10íÈð¯÷\ f\8f\8aXÝP_UôüVT\80Ûb\1d\9c8\14ÖdûÝ÷DÝÊ*©k¦\92¡÷Ý\ fä\ f\ 6\8f\9f\8e¿\82/4V;\83T\94\1e\7fd\9b\93¹\86< 5Ï\1c\ 3\81Î\ 6«¬gµf[È\85{YÅ5\14z\v¹â\r8+=\81°\90ñ\9eh¿\83w0l\7fc\v\95DÌBä¯)'&À½öÏÀ_\1d½£³µ¡$óÆ \7fW+=eàUøæ\18      Â65Óå\9bþ\8aº\91ñ®\8aÒÖÑÞRW\94\11\ fðnB\90\ 2Æb\1eÏôö\93hôæ\9a\ fé\bý¹,ÿéøk`vu·5~ʾs6Ès\85\99\16\ e#<Ç     @\9c\9d¼¦\85\93opÌ\83ÜÒ\86Öî\1ev[ciÖÍ\7fv8\9b#wådû}\82c\9f\14TQ\18\fJeþ£óA\9b\96ês\95þ3ñ×Äb³Û©\95ùÉqÇvºÚ\18©Ê\82sen­@\9c­¶å\9a\1dÇâSßVQ;ú\ 6ú:\9a?ç&Eú»ü©\ 1Ü-/à\83¤¢Þxû\89õt&\83ü);)
+\98\1fH\7f\7f\ 6þ¨\9d½½]ôڢ̤3\a¼W-ÒU\92\12\9dã\19\8aô_ËrÍÎð«\19\1fjéÝ\ 3C\ 3]´Ê×w£÷¬]¨)+\86â\ 3Ö\18ìþqøW53YtRñSàý\1d\17p×üÌÀ_5½»¿\9fÝF.Ë{\92ðOà&{3M\1ctëÿ£\0\7fÀ7\ f>øÇô\7fð\80ù×°pö;\9a\90^XË`\ f\ e\ fv·Tæ\81ü]-Aþ\ 2ü(aI%}ëu\81'\93²\88\r\8cv\16­úm2°\1d\93tüÿ'>ñfà\8fÙ38Ø×I«)~yÿbØN7\eC\ 2pë°\0ÿ\1a\ fÌ\9c\87\87\97\97\ f>^\1e\9eyÓ¾\83ü\97V5Eèþ¶\9a\8eä\ fú\7fçd\0Ò\7f\ 1\94 8pþN[C/§¼ýBeu¶Q>¿º{*Ð\1dnG.\9a\9f\99ø#³ú\86\86\a{\98\8d\15ï\9eÝ:sÐ×ÙRWIZL\90\9f÷_
+\80$ÏËÇ\8f\12\14\12\12\16\16\12\12\14à\a5øý!âí\95\fl7î?{ÿu\ 5µ\vê\9f
\7f÷\1a\v\rY1AA°\1d\rm7üuêvv)\99ÙÕÅ$\13_Ü8\ eà¨\ eàÀMù\8fãÏ\19Á\1f¥càëÈp\7f'½¾ìMJBÄ^\ f{3-\ 5)1!~^\9e\99\ 5\80¢\aÉ£\ 4\85EÄÄ1\92RR\92\18q1\11!\14ßïJ\8d/\0mK\97Ý\117_\10\eÛ{\aú;(e/\ 1ÿW\99©É\88   \8bHà´\17\82é\88O{_ÝÒÁîdÔ\81«+\ 4¸.\15¸\1c¹\8e?×=Ñ\0\7f´î¡\91Ñ\91¡ÞvZmIö\83Ø#»ÜmM5ñH\ 1¦\87\84´\1e&/*.)-\87WTVQQVÄÉJI\88
+¢x'i19\0>¡qi\85u­ì¾^V#1óêÑ­+M     Òh\11´4ÁØÎãï³÷rË\1a\9e\ e\9b\87çöo°ÖÅstuÍ>\7f\80?¼®5Àߣ\82jFÏðè÷Ñ\91Á\1e\16åKafÒÙÃÛ\l\8c5@\ 1\80\ fü-\0\98=h½\90\88¸¤\fNYMK×ÀÈØØH\7f¾\86²<V\\185ù%bo\15õlÀ/?xSEëìa3ë\8bÒãB¶,7RÆ¢Å$ñ:\8b\v\1e¿ö\14,\87®Þ\9eö¦²l¸\e¡ùã¦üÿ\ 3£T2´Û|øRê\aR[ßÈ÷±±Ñ¯\ 3Ý­äòü´ë'\83¼W/1R\93ÇL\1d\ 2Pù0{Q     ¬¼\92ú|C3Këeö+VØÛZ\99\eh*ÉJLû\92W\0\r\94åâ\1f\95\94]NauwÒkÞ%Ç\1cØ´TO\11+.\ 1¼¡ýæ\83\17\1e¾þLiïíïaÖ\7f\ 4Û\ fhC\15\98?nÊ\1f`
+K0]¹õèÕg%äö\81oc?~\8c}\83\b \11s\1f_9±×ËÑRO\190pb&áÜÃì1Òx\82¶¡¹\95\9dÓÚ\r^Þ¾¾[<Ü\9c\96\9aë\12ä$~;Fp\ 1\89H«.pô\v¿ö\9cHfv´S«òî\9fÞën¥£\80Å`\15u­\ý#nd\16\93ZÙýýݰ6`ûÙ\1ap×üÁ EeÔ-Vï\8aHÌ.£t\ e\8eþøùóÇ÷o\0\ 1Í_>¼¸\e\13¶kÝ2\13uy\89\89 `óù\ 5E$¤ñªóM,\979¹{ù\ 5ì?\14\1a\16\16\1c\14à»ÎÁR\1fîË\89\93\ 1\ e\80¤²\91½wè\95\8cb\12\83ÕÖT\9e\ 3ñ¿P\v\87\95\92W_à°åðÅÇù\95ÔÎþÁþNj\ 5Ü~à6\94GssûA\9b\82\96×^ì¾÷ô½¼Ê\16öðw\90?(ÀÈ {b\ 2öo^i¡\8d\87\ f\98>\ f/J\b-\85#Ì7Ylïâá\17xèØÉs±Wâã/\9f\8f\fö÷p\ 4û\12+:)\0ÄYèÛ"΢¶\ 5\18ÜR°á¶;\99ià¤e\95ô¬Ü\ 2"\13_\944´õ\ e\ eõµ7\12\9f_?¾}\15Ü~Ü4\7f`H\ 5%\14ôl6\ 5]H~[ÓÚûuìç¯_?\7f\8c\8d\ e÷u\0\17\94u÷üa`\ 2t\14\90üÁ\ 3Ú\17\96\90QÒ2^dïºyWÐÑèØk·\1f¦d<ÍH}x3&<ÐÓÁ\\v\95\82ß>\10óä}\r­\95Núø,á\b¸ïÔp²x\rx÷Æ&\17TѺ\ 6\86\87zZë
+S/\aC4rwû\81\1e     I*\19\12\12\97^TßÖ?\ 2óÿ\ 5\ 50ÐÍ \11s\1eÄ\84l\ 5ùã\91¡\84âG\89\bº\16Ë\¼v\1f:q>áÎ\93Ì\9cüÂâ\8fÅ\85y\99÷/\1f\ fXok¨\82\15\99\0\968N×z#¨í»j*\83V[\94\ es4VÃãUô\96¸í\89JÌ"\92Y½C_¡3Ì»\7ffßzîo?èþ\b&\10\7f\99À¤\f|û1=ÿ\92\97wÏý\97ø2\8f\87z_ãx7\955KJ+e)Q)%%ÔEÅ\91#-ºÚ\94ÔisB\9b\8aÛ=\92äТE\v\95dM\v!\91¦TȾ\8c}\9ba\86\19ë\8c1̪s\9fïwFéèÞ?Ǽ^½úÇoøü\9eçù|Þ\9fÓ{mWèÎPFþ\87äË«ÌÐYlf»ýà)¿ëá±I\19\1fóJ\88ÕuõuU¥Ù\0\fÞûíMæ£\v\1e;R?\85\ùéY\88×®µ\86:³çÌ7\16\8d\9fØÒÍæpX\1d\8d\ 5¯\1fø\1dÞh\ 2d(Ñô\13Ñ\9fñ¯@\7fi`\7fýüA$ÿ+D`o\a\99ø)1Ìÿ\98\93ÕR­©\8a¨\ 5\82WÊ)O×^²ÚÞÙý?WÃãR\b¹Å\95õ$J\e½\9dFmªÈM\8d\bôÜni0[uÈ,¥\10ZàýÿXAj!\11?>½vr\87\95á<­¹Kþ)ê½\0Ü\ 3Ü\ 1f\eÀßís{m\96iN\91\97dú!ý\13§Î3q8zéqF     ¹\eìO<~v7µ6?=úúY´þꪸ\ 4\8e\1d'£¨¦i°z£Ë        ÿÐèW\84/eµ$*½\8bÑËbõö´\93ʳ\9eßöÙgû½¿Âý«¨\eXîòºñìs%¹¥©üCÜ\95\13Û-\97Î×]¸ÒÖ\ 5z\11\1e?\97\8b×?&ø¸\93Å"u´þ\12µÿ        \8aÓt\11ý>AöÏ\11|Åãçõ3h\r%\84gw|\8fn³4Ô\86ñÃDÇJM\90WU×_e·÷äåû  \199euÍm\9d\f\16{\80Ëã\ 13Óë\vÒ\1eù\1fÝl\8a\ e\0ëGþ\8fÐêì­\97ÙU ¿\8c\10\13ìéde´p\91\91å¶¡ñsx\1cV{\ 3^\7f\a\13\9f\98þͶºÿ\19M R\18\17ÀE\92Ê?%\86\axî´1Ö\9d©24~¥is\97[ïò\f\b{A(¬&Óº\98 \9e\ fÄ(\847ÖÝB|\1fwõ$à\9dºØÃ ÿ'k.µÁͲº¹¥±ô]Ô\9f\1eNkW\18\1a\99Ûï;w3!\v\8f\9f7Àh­\ 2÷Gë¯5EA¢é\87ô+M×3ßæ\11\14\83è\1fÙ?\1a\9bR\9d\9bú8èÔ^»Uú\1a\93q¢ÿ\ 3\8d_\ 3|ûÈ\85»Ïß\17×S;\99l\ eO DÀ\0Ïp{iµ9\89¡Þ.pÄ¢\fÃÞ¢ml÷\9boxj~mKKCñÛÈËîÛ×\9b®4·Ùáq9"­\0\8f\9fËî"\97fF\ 5y\80ûKzý±~À\9fm\9eÁ± \9f\89õÃø{é\rEocC¼\ f8\98\95Áá\a}nª\ eÄö\99ë±\99EõmÝ}bõ\7faËà³;\e\va\8b\ fÙ¯\143\fz`Ú<\13ÄÿéEõ\94\96ú¢ôÇ\97ÝwØZXX;\1e:\1fúüc\ 5\8c\9f\aNK¯ËK\ eó=h¿RÒî/Ö¯¿\1aë\aü\11éç÷÷Pª>'Ý÷sÃǯ\84Ë\1f¬¿¬òL}s\80ö\a)_\0ÚÙÜoêá3(\18\0\17Ë\8c
+twÄ\f\8bôýÌ\84ïö\b\8a&\945Q)õ\85o".{:;ØnØêêu%*½°\ 1ÆÏçÁ/«Èz\1aâµ\eÃ\8fDÝÿçó\87õï$\95¾\8b»~\ 6E?à\1c:~Q\9d\9d½ØjçÉ«q\842rW\1fWð]=,\80\90ÃlÅýn§\95\81Æ$´ÆbüÝu:\ 4â\8fÜJ\ 1\7f\8c\b<éê´ÕÉõÄ¥pè½Ô\9e~\1e\9fÛ×ÑXô&"àw`ÿ\99Ê\12^ÿ¡ûw\84û\7f?tÿBn_{cá\9bÈ@\ f'K 91Î\8b\97}>¡\8995mL\8e`ð»z¤\9fÇ¢×å&Þñùf\0è\ 1MôÀ\9d¤Ü\1a
+\8d
\8f¼rîè>\97\83'üî$¼/%u°8|þ\0³µ:ûe¨\8fë\86å:S'JxýGø¿\0ëÇ\81ôè\92ÛÖ5\v5T1ù\8bHAMg\85=\90ÒëÂÆ\ e6O8\¾È\0\9aD\ 6 .1¢fi\7fÈ\ f\1ehh¥·6\14eÄܸpÊÝÃëâíØ\8c\82º6\ 6\8c\9f\87Ý/:ø8\80\93Æ$9\89²ÿ\98¡ü_µ\19ò?\13×?låH\7f\1a¬¤ã\9aE"ý¢\9f\14»Ù0R\1aö\11\e\0*±fz3\94¤¥P\ÎÐ3Ûz,ðIf)\89ÞAk,!$Ü\ f¾pÞ704&-·\8a\ 2ÙÇ\a÷£Õ澺ï{p#\84ÿ\108KPÿX<$\87\8fÒ\8bÉ]À¿(þú:IÅo£\82\8fïXkø}ÿÑ\9b\9aoºåX`Ô»r1)ý°\0\ 2\ e\93Z\99\15\ f\84+Â8©oÍ2>«²¥£«\1dx:9úÞ\8dë7ÃãÒr*ÈxûaüÍå\84¸k§v­3Ô\9c,áðÇúÇ+LÑ^n÷Û\1f\ 5h«A?ø?°LÖ³[Þ®v+ÅÕçÛ¥8\ e\1fôÃÚ\0\ 1¼@\ro     ª\0RãåTç\18®ß\8b\9bek7£\93ZSð.).22æeF.\91ÔÞ;À\13\88Â/åÁÅ#\9bÍô$ï~bW\ 3Fsñ\ 6W«¥õ\82\ 1¢üg¶Õæ¥>
+pÿ\176@Ô}Dúõ̰S\12©?Ñ?ÈëkoÈO¾w~¿­\91\16\ 4Ù¸     èÍn8ðGXJ~\ 3\9dÑÛCo"~!¤¥¤¼ù\90_I\82ÚË\13\b\0´Z\88\1f\9e\86\9cÙc½LKMâî7\ 6\8a\86\81%ÚÒ\ f\15\14\ 6\9cõ×At\0ä²\ f  ·|\ el4Õ\9f5        ;àÏHùG\ 3à÷w\91\8aÒ\1e"\ 3ÔQS\90\1e/\8d\9bÕ\11ÿ\88ôbR'«¯·\8bZO,Èù\9c\9dWZC¦\83÷       Pˤ×ç§>ôwÛ²zÁ,\15\89»ß\18ÜÑ\90Kmù=àqzqS'²u8\80\ 1&­®àMdÐÉÝÖFs§)¡\v\10\ fMi¤\ 1\96¾\8d\fpÛ¼J\17@n\ 2úbst/à\17Ýì\ 1\83ÚXSI¬¨i¤v é\v\85âñß8»÷\17£Q\b\1fS­±Ýþów\93\86b}\10ÿa\95\9f\13\81\0\1d-\16ÏÁ\168\16Å\19Ìó\7fù?2@\ 6\85H\88        òp4\87\0\90\91\96U\9eµÐb;,ÖÇÊVF?\97ÃfvÒ(Íäf*½»\17Ë\17àñ¿~\bA»z¡ºäÃ\ fë\a\ 3P\15a],¡¬¹K´\0P\0Û\9bJ    ñ7½÷Û¯\12]\0èWPÓ1þ\15ò?­¨©\13\92âïú\85\ À¬ø«'\9cÖ,\0/\93\91\a\\ç|öÖ\8bì\1a\1a\80.\9fÛÏbtuvvõô¢Þ4\88Þ2\98¿hüÀ>\8aÒ\12w?¬\7f\9c\8cò\f=ÓM\87ýÂSòêà\ fEX+ä\ f0Úêò\87_\80\94\14æ?[×ó÷\92ó\1aÚûx\83#\ 3 ·­úS\ 2\10°Å"8fY\ 5L\7fÿ¾û*¯¾\1dhYÀçqúûàÓÏáñ\85\83\83ÈfiuyèúGoüø\0\14¦h-³vö
+\89\7f_>´\0è\ 2(\95\9f\93¾_À8ȳÙKÖï\11\r\94Å\1d\19\80<\16­&ûùÍ3»Q\ 3\90\97\9b(^\97×\85à+ X\bo\80Ëåò°zü+ºÈeïãÁüÑõ+Ê\8cÆøñ\ 1È©ÌZ êu°\0Ø\ 1à\ 2¸¬\ eR)áéM\9fýö¢\f\18?~\88g\9efUR\99?\v@\16½6çå­³Îë\16ÏVU\90W\ 2»Üä\16ð8£´¹\e\83Õ \10n\1eþ\81zl²\8c\9aÜäð\8bGÁüGmüb\aÔ6²Ùs\ 6\16\0\8a\1d^\80\1f2ÀfùÜéÊr\13&È*C\9d\15\e\b\ 3Äú¡\ 1Ý>\87\0hòD\ 5\15øi(\96\80\v¨X Íè{¿\8aÿ\87\96ÕA*É\8c½vÚÙÚH{\94®\1fëGÅV\1d-\80_xrnM\ec@4+|\ 1ÙIa\17ݶY,ÑTS\94\95\96U\9a®kºÙ\r\a\0Fåÿ§_QQUÃÀjçé\90\84OUmÌ¿_\v\82Ì\1ejUvâ=ßC\9bÌ`¿FmüÈ\ 1¥\15§j\83\ 3\9c¾\16\9bYBêèã
+\87_\0¢ ³\ 5\1a\93'ÊÉ+O×5q8|ñ!
+\0öOõÃþ\83þu _IIMs\99\8d\8bÏ\9dÄÜ::kD[\84ooo,Ê\88
+>±sÝR\84~£5~ñ\ 2ÌÒ7ÛtÈ÷~Rv\15µ\a\1fë·\vxråÔ\9eÿ2_åñPç}üå¾24\8cQ2D\87+\95\84Ø¥ÒJ*J\91\15Ý$ÙòDÇ\93£b;Ö¦'*:7\89RT´*BåL\93äh\1c\143r̸©ÝÏ÷7Cf\8cv{½d\9eï?óÇüæ5¿÷çûþ¼\ f+C\8d)r28¼\92\861\86?\8f\17þ/ú·d¶
+A\16?i\86\91µ[ È_Õ\88\87áYè\18o2î\84ù»X\ek*ñ%ú}Á/,&­ ¦÷Óz¯\93Q\8f_U51z°mÅ6 $ûþ\95\1d-æÏ\9c¢ OTÑ1]ãq,"\89çý³ý/dßúź$\ 2^^YÛÌÞ3(*µ\10ä¯\9fãa\140Ú?T\90\1fE\9cðtX<G\950AL\88\7føY\16 ¤ilíâ\1f~7\93R\ fj\8dI ¶\ 1\85ÏâÂ\8fì´7××PUV\9d9ï'Ç=¿G¥ÀþóÀßÝÖðæYLð\1e\87\85:$\ 5yE5=\8b\r\aBã2J¨m\9ci\19\8d\16\1aFÑÓÛg\ enYn8c\12»bò\ f\0ªsÌ\1d<\7f»\96ô²²±\9dE\0l\ 3*^¥Ä\9cñs[»Ä@WKg\9eÙªm¾gcÓ\8bëZFê_\7fWK]QZÔo»Öþ¨E"\12\955\8d\ 2 TU4r\85\ 5Ìû¨à}W~õ°3\9bE\92Ã
+\16ÿð#\ 2H\80\19­Øês6.ýM\1dË®±\rhi({\91\14uÚg»½¥\99±Ébë\r{N\MÌ-g\15\ 5\ eüXÿËO¾zÔ}\95±&i\92\92ú\sG¯àèÔ\ 2n®°Ä¯:?õ\ 6x\9f¥þ4E~E\9f/ø¡ÜA\vÐ]h¿ëxÄÃ\97\15,\ 2`/Êl®£ä<\88<å»Óy\8dµ\8dÝ&Ï\80ðا\ 5\11ù\ fä\9fI«$'^:ìºÒHCEyª¶±\8dë¡óñÙ¥TÎY±\84¥\8e\92yïüað>\14}DùPü8\a\0-@Fqº\81Õæ\83g\10»?²Ø\rDín§Õ\16g%F\86\1cñrwqÙ¹÷×s7\93ÉåÔ\16$\11ÜòÇø\0ö\17æ³ÙÊ@SMMc¾\ 5¦§ùÕ4&\87û±\8d\85üèZÐ\7f\1c\97ðÙû\86\ 6\80\b@\9aef÷Ëñ«\88\0èz?ÿ\85\15¡¶¦\9a¢¬\aÑáA\ 1~~\ 1'/Ä<zNyGgöpÓ\1fÉ\1fµ$#6dÿ\ 6KC\9d\99Zz\8bÖº\1f¹\10\8fü´k8ý1RÑk
+Aü|¶®\ Á_ï\eÂ\ f\ 4À\11§ÏG\ 4\0\ 5¨o\19$\0\18u[cuqNr\ä۰\8b\91w\1f?\7fSÛÔÞÅ}ý\7f}ÂäïÉÍ`ÈË\væÎÖ7³Ùúß\10ÈSÕ\«\ 2#\85äW\9asÿ2\88ßB]\15yþzßÐ\0\84P
+\ 6\ 2\80\ 2$å¡\f\80½46\80ÖÆ\1a
+ùÙ£\84;w\12\92Ò_\96Ô6µuö\ e\8cH\7f}\9d\1fk\vR£NzoX\81\94Òf\93wPÄ\83Ü2j+÷õw·7VBò\vÞël©?]Q\86¿Þ7\84\9fE\0\83å[|ÎÝÉ,ihíb\11\1cÞ\17\18Ðô®¼\90\9c\9d\99\99ó²èm\1d\82ÏÍ~\84¿\83^\93\ f\81\965Ë,¬ÖlÞsìR|F1Z\15´JÃůù]q:$?W\eV±ä¯÷\r\1eð@)<iÖ¢u\9eA×A´è\83¢\85\r \9dþ¾¶¢\94B)­¨}ßÜÎ\ 3>\v\7fu~Jôi_wçuöN®{\8f]\88{úºª±­\9bóúQí-Ï}põøn\as¨Uÿ\ fâ\87\1d\8c\0\8a3\8cVºø\9f\8fÏ)Ã\f~\90±½]ÌVz#µ¡\81ÚHoev\8f ?öT/Ü\7fAÚí°£û<ÜÜ=}\82.Å¥å½\ 5£è\1d~ýÀ~°~¨½§\ fl²â\7fò\e~X\19`6
+-7ÒPf\1f¼7Ð\80¾\9eNf{kKKk;³«§\8f\a|ìþ\81×\19        \11!Gý}\ f\1d\ f½z÷I^yÃG\ e£\18´þ¬{\17\8eì°5Õùzò\13\10\18×ÅÀ2ÀdTð\ 2/'\92\87\87V\18@\7f_Ow\17\9cîÞ¾þO<àcú\a²þâq\DxhhØ\95\98Äôüòúf\ 6gôAÖÿ\1e³þ=P{Õ\89£$?\84\\90}Æo
+@\80     \ 45½¥\e\ f\84ÆfP\86\14\10»·O0\82þ¾¾þþ\ 1\ 3>b6¤\9aªÂìÇñ·oÆÄý\99ú¼¨\92
+ðû8Ù\8f\1a\93[¡CÖÏ#ù!ìBÂ""¢pDD\84\85Ð\fÆ\ 5¿ °ÄÄ)Ú¦v»ND&ç×Ð;z\873\17F\80Îg\9eèÙØ\9aëß\16䦧¦¤¥?\7f]Zóá#³{ø®°Ø_OÉJ¸\18¸\93mý#¯\1fÐ\v    \8b\8aIHJM\80#%)!&
+#\18\97    \b\b\89I\83\ 5®Øæ\7f>áyù\87\88ÿy4ì¬oQR¢ÕW\96\14æ¿z]\VÝ@këà\94
+vð}\99\14ù»\97ÓRè=<¬\9f\85^\JZ\16/OPP Èãe¥¥Ä±      \8c\ 3~A\11\80ë½ÿ\17ó\14*n×H\9bû
+~ @G\eý}]MUUMÝ{Z\v£«·\7f\80+øbì\87à»ÍÚX\93\97õ#ø"âR2rD%ÒTõiÓÔ§\92&+àqRb"ã2\0L\ 15Mlw\1e½ú(¯\8a«·ü\13þÏÈ%\18­Í´¦&úÇ6F'vùܵ¯\9e\92\9dp)ÐÃnÑlUÂHë\aøÂ¢\128¼"i\9a¦î<\ 3CÃùzº\9aêÊD¼´\84èx\f\0\82ºþ²-¾a÷ \ 2p/À?\11` ¯·»\93É`0\98\9dÝ=à\13\1cû2\8cýÞÎKy\ 6_\ 4_LR\860e\9a\8eþ\ fæ\96+¬­WX.6Ñ×VW\92ÇI\8a\8eCNB\v\80'é.þÙ+øæ\93¢o]\0Ì&{{{zzÀ$¹}b\18û}\81ý<\83/\82/%KTÕÔ7µ´uÜìâ¶Ýe\93ãê¥?êi\90\14d$Ç\83\ 1\ 2°\0\934\8cW»£\ 5¨¦\rw\80\7f3\0d\93Ø\19á\13_´ÿ+ì\17\14\12\95\94U\9cªcda»ÑÝËçp`Àá\83^;\9cW/1ÔR\1d\9f\ 1°"\0\0ñ9#\1dàß\8c\80}¸¿\18@¹ÿ-ù+ìG\15TB\868u\96\89ÕÏnû\ 2\83Ï]ºråâ¹\93\ 1{]×Y.Ð\86\ 1H\88|÷¦4¸\0\8eÞ§À\ 1êÑ\ 2|\13þQçÂÊý\90|0í\1f\95ýÒ\ 4\15\1d\93åλ\ e\9dº|ã^âÃ\87\7fÞ\8d¾\18ìç±Þj\81
+\ 1'þý»\82\80\10Z\0\13[\8fc\11\10\81\9a;ú¾e\ 1¾\ 2\7f \87Ù\÷&+þâ¨ìGÜ\93Ä+i\18.sò\f<\17}?-\9b\9c\97÷"+5áú\99\80ÝNË\8c4\95åxÅ¥1Ç\8f\1c`þòmþ\17îçB\aø\16\a\1c\1d>ÊF-Ôò\17\ f¯\ 5¡äÃ\9bý¨\7f\12Õõ\96\12\18~+9§ ´²ºº¢äuvRLXà.Ç¥\ 63'O\94\1c$ÍwÛ\ 3v\ 4Zâ¼?46³\84ÚÖ=&ø\91õ5Væ§Æ\84\1cܺ\92\9d|°b#ÀùÏ\13§hý°ÊÕïì­\14rI\rµ\89No¢VSÈ)·Ã\8ex¬3\87º\84$@\90]\8e\ 4¾O1\ 2\a\90UÒ2µ÷\f\8aN+¬\e\13\ 1À¬\8f^[\9cq÷ü\91\9dk\17Î\9eª\80\93Àj\rG¿c·/\v\93×\93Èeõ´6FG\a£\95VWö2%æ\8cßöÕ¦³°Â \84\8e°0ú\14ü\ e\13À:À\f#\9b\1d\81\7f\80\ 3ÒÇ@\0Øì/Ë}\0ìw¶4\98©$'\r¥\86uP¿cS\ 1)ÏÌ\ 5\ f_\88ϦÔ5C|îëíéb47\94\91\93£Níß´Ü\b6\0\920\14C1qqq1Q\91ïÑ\8b\80\86Ròjó\96\vOÈ};\16\ 20¤ý·Ïúo·]8G}\92\9cÌ\ 4)hwÒÒÒÃú\1d*\9fÊ:\v×y\ 6E¥äWÓ\18Ý(BA¤f6×\97<Oüãøn\aó¹jD\19I Ô\fq8\9c´\14ú¥à\98\v\a8 ¹Ó¾\90Ø\8c1\11\0°~ÖõG\ 4yo\a¢«>\85H\90\93\83vG$\12\15 ßá\0\88\b°YDJNu\8eÅ\86\ 3¡q\99%\r­]}(B¡ÕaÂê¤ß      ówµ1Ñ&\11dq8¨\86
+D\ 5\ 2^v\82\84ØØ\17C\14\ 1A\0ìv\83\0\14ýÍz\95\87C\9d7ðçííÙjKµåµ\8e\8aÅÈ\91\9bL)6CE¥¨\å(Kd\11B!¹*\1dbÝrDB\8e\91\90\18\93û\9cq\ e\8cq\8caÜ)õ¼ßßLd÷Ùýc\9bßü;ó\9bßóù~?'\f\ 6\0è\ fAè¬É\8d\vr¾¤wDQJLDXX\ 4¬;\ 4\ 2\8b°\10?/\0\ 2\84°     j^zÖ¾±ù\10ï¾6/\88<3c\ 3-ï^>¹yù¸\8aÄ\1e¾ÿñ ì\11\16\15\13\15ÙÃÏ»\833\fa=\ 1\8e\ 1\1c:k\1fô¼¤\ 5\86\ 6ÀF0>ØV\99\1d\1dàlq\16uXEA^N^QYU\r\89D\1eT\96\97A\b\v\ 2 \9b7mÙÎ'~ð\8c­\7fB\11\98\9e«¯ýÂf\ f­\a÷&ÎßÎ@C\1e!¼OD\JVQI\91=\f\7fÚ¶\19î\ 3\80\f\80s\11\rÄñ¹\7f5\ 1þ ?\b¿Ê\9c¸\aî×Ì\fô\8e£P(\9d\13º§õÏ\9e;{FW[CM~¿0ÿ.\9e­[wð#Ôôí\80ï\82c_øøy=}Hmei!7Íu\ fÉII\1dPBjhi£4\91\8aR"à¹-Ð0\84ó\06lüq\97°\82\8eù­\btm/ý_O\80¿Ç?Ø\8eÉK\ eówwøÍòò¥K\97-¬¬mìì¯ÛÛ^½|á´\16RV\\88wçö]\ 2\12\0\7f@"ÀÏXÃ\ f=¿8=Ò]û:æîµóÚ\87TUÕµô\f\8cL\8d\rõ\8e\1d< *\0²\ 4æ]\ 45\80=2¿\9a¸\86dT\11¨ÓK\9f`À?A&Ô\95d%þñÀÏËÓý¦»Ç-o_ÿÀ{÷\82ü}<\1c­\8dOi(íßË·\9bWPâài[ÿø·M\83ës\17ÄçÜø@sqr°\8b¹¾Î1\94Þys\e\a§ßmÍ\r\8f\1f\96\15\13ÜÍÃ\96\0\8cøÿ»i»À~0\ 1\1e¼x×Ff.pi\80l\v\9f¤õµb\8bÑ© Ñáa¡¡aá\91Ñq      IÉÉÏ\13\1ex;Y\19 T$÷ñÿ,\84PÕ³¾\13û\17Ù\81ö¸À\1cî¨È\b½mkrî\8c\81\99Í\r/ÿ \0o\17\e\13]\90&\82»¶Á»\8bþ³\ 1L\0\8e\13\81\9b\98àÖ\0Ùõgz\8cÜÛ\8a«(z\83ÎÊ|\95\99\95\93\9bW𶸴´äm^frä}OÛ\8bÚª\92ÂB{\11ÊÇ-oGæâzG×Ë\ e\10h\9aJÀdGÝu´25µ°÷\b\b\89\8a\8b        »\7fûº\99îaYQþ\9dÐ,\80\13?\94ÄJ'¬¼£óÞ÷­%Ñ÷\1fÀÊÇ¥¹©±á~|K}-¦ºªª\1a\83ÅÕ56·¶µµ6ÕU\17g'\86xÙ]ÐRÞ/"\8cPD\99¹=}UM ­\97Ý\97OK,Z\17\16\1d\13àbkuÕÞ#(âù«\9cì\97qO|\1cLO ¥÷ñòl\86u\17²\9b\98¬\96\99{X\16¦\8bÆâÞ\0V\96\17ç¦Æi¤þn|G{{G'¡»·\7f`\88D&\93\ 6ûðMÕù)¡^6\ 6\9a
+\12¢\b\v\8elÙA\ 1°&\0pÿ´®\1atL \9b½\8d\9d«_X2º¸¼¼(;é©\8fÝE\94²øß­In>P\13\17\94:zÁéajyÇ0\93Û\ 6\ 4\958p\0Ó\8cQ*i\90H$\ e\f\rSGFÇ\19\93LæäÄ(\85ØQ[\98òÄÃêÔ¡\ 3\12\12²\87õmýâ\v\e\a\80\ 1¬Ñ\ e\ 4À\14\15_\9d\15åïj\7fíw\8fû±\99\86F\YnÒc\8f+úêÒ{wm\85\19ÿ\ f<?#ØQ\ 4ª\b÷\13\0&èT2\89\8c\8c1¦À¸[\0\9f¹\19æè\10¾öMâ='c\94\8aô~\195]ËÛ\11hlÏÈ7ÚAþ7In/O\ f»ãdkãpëaÂëªf|WgC\ 5:.ÐÑ\18¥ Â»\rv\ 3àýEùä\15\9f輺¾Q®\r\0RÀÇ¥y\16\83N\19\1a\1c$Qè\8cé¹Å\ fË\1f?}\ 2\ 3o\815>ÔQ\95\1dém}F]^JZ\19eâò8\r¢Ý\9a\0¾|^\9e\9f\18l.Nyìiwå\8a\9dGpâ\elGÿ \91ÐP\9aöÔÃRWE\8c\8f\a\1c\ 3\90Ó2»\19\9a\89ù³\15\ 1|b[à@owOß\10m\825ÿ\ 1¬;À\vÈ\1aX£Ä¦â\94`g@\0\19i\85£\ 6v\ 1     \85\8dÄñµc\a\ 5pv¬¿>?þ\9eËÕK\97¬]ïÅçÕâ\87¨\94ÁÎ\9a×1¾¶úH þí\9b`ÅÏ1\80\1d\83ÿjEß\8dÿãâÌ\ 4¥\1fßÚÜÒÞ=DgÎ\7fXaÿ'§ÞS       59\11^WN\81v+\8bÔµ¼\15\9e]ÓE\9bZ\\9d\0+K,zOmn´\9f\83ùE#\vGÿØ\,\81L\1f¥ô5\16%\ 59\18\1e\96\14\80\1dÿ\ f\ 1\9c¶ñ{V\0ºÈì2×\ 2XY\9eg\8e\10;êkª1¸\96îá\89Ù¥¯¦
+ÕûÙñ\81¦¢Ä ë\86\1a
+ÒÒÊZÆÎÁ/J[\86&V\1dð«ýgGܱ3544³÷\8dÊÆà\87Ç&F\aÛÊ^\ 4;]8"%°\ 3füì\ 6  cq+<\aÛ=Âu\ 2²)<NÂ×W\14\15\14¾Ã¶\12éÓ TVÕ\rµ»Î\8aô'®¦ÚÊÒ\92rêú¿Ý\89y\8dë\19\rÔÿAýÉ\8aðaã·ó\89ȪÆ\ f\8fO\8e\93;+Ó\1f»\18iH\vÂ\8c\1f2\00\ 14\8d\9c\1f½,o\87A\0@þ,z\7fKUaö«Ì¼wu]\94Éo¡\ 2µ\e@otÄmË\93\a¥%¤UtÌÜ\9e¤\95·\93\18ó\1c\ 2@ø¡ø\8fös´022¿î\e\91UÕ9<ÁdPº0¯\9eº\99\bí\84\19?4\ 1ø%\90ú×üã\v\eÖYÑ÷ã_\9c¢õÔ\97æ¤>OÎ(Àt@ä^Ã\ fÍ\ebCÁ³»6§\912\b    ¹£\ 6öÀ\ 1ëûGg\0ï¾p\ eo¤ç}~b°\87\9d\95¥\8dk`,\1aC 0¦&iÝØ¬0w³c\aöìܼ\11^üP\ 2\8a(\1e\87\ 4\0¬\b$\0W\ 4\0ö¿À¤táÞf$Æ>KA\97·\f\8c­ó\14 \0\ 6©¥$)Ðþ\9cú\ 1q1)5]+¯\88\1c\ 3²_\vüof\8cØ\\9a\11\19èáìäæ\e\92\ð¾\876Éb\8eôâÐá\9e\97Qr{\7fÚ²q\ 3¼øÙ\ 2иèü0µ\f$\0·\15\88\8d\9fP[\98ö,*&)«´±oý¾\ 1ä`\ e·\97½xàxþ¨¬\98¨\84²¶\99[HzEÇêk\81yÌ1ÈxlAjdp\80_PH|VY3qtjfz´¿./ÚÛê\84¢Èî\1fa-\80l\ 1@\15ð\8c-\94\0ý\o v\83\ 5÷\9f\1e\1f\15\9d\90Q\\ fÌí\9b§\ 2\ 3\98¢vV¦=ºa¤)\8f\10\95PÒ2¹ñ(õ]+d\0\80 ÓtbkuAzbLTìó¬b\1c\81\9ac\8d\ f4\16>ó³9¥*Æ\ao\ 1\\13\80\8e¹ç\1fP\16Os¹\ 1 \b\eé­/ÉL\8c\89NH/ÄuQ\99 ÝW¿\\ 1ùF¨Î\0\ 1\80R\92\84\fÐÔ\ 5Â?Äà$ T\9ef'©}­ØÒ79Ùèü2\Ç\0}jn~\96Aj-I¾ï` .)¸\ 3Þ\ 5ÈI\0!i°\81@\ 5\82n\82;\ 1\0
+C\12®@§ÄÅ&¤å×t\92\9dó%k¤\v\93\19êa~\12)/«xä\94\95ghzyÛÚý\83\8e´8à\12ñM8\fè\ fÍø\ 1ÚäìâÒ<\93ÒY\99\11âfª%/¼{+ \0¼\15\b\b\0ª@wãòëþ$×ïÂÿyy\8eAê¨ÉOK\8c\8bO}]ÙB\84ÌýóZ¿eÑ»±Ùá^Ög\7f=¤vä\84±\83\7f\f\1a\83§¬N\0ö|\9a\99¤\ f\13{\bx|7\91L\að?ü\9fù2\8f\86zýãøQ*D
+%qiÓJºI¥¤ÜpKE·´¸º\92n\8b%¿ë\14©ärHÑB©D\19WR¢(ÊrÉV(\8dmBY\87\19ë\98ÅÌ\98\1dý\9eç;3\9cs;§e¾ßÎñüY§ïô~?ïçýy}ø\06KÒ¢Î\1dÚ¶z\81\96ª"¶\r\80 \90\9e\91å~ïðG\85ïÉ#0*«~H¹õeÙÉq11à\ 1#\ 4\0\ 20,\r\a¢$Àmß6këmû\8e\9e¹\9a\90õ¶\ 1\0\90D¿d\7fìëé$\93H\1dÝ}t6W \14òY`+Ê\86\8b\83\85Ñìé*\93À\vÀÎ\ 10\ 1\14¦Â\1dÀ#ä\9f,|Ë\b\8cÊj\80\88ÇìnÄç=\89\8f\89\8aA\ 2\0\10P(6\0\0\0³»áMFìEïÃ\8e{\1d\9cÝÏ\Æ=+&\10),¾$"Ãp\81äsÙL\ 6\9dFgô³8<¡h\10,\ e\14=¾é÷§íÚ%:êÊ\18\e\0\1eÀ\8cy&6.~·R_\7f\80\f\8c*\0\0r(­Õ\ 5i÷nGFÆ$f¼ª!";\80D?Ø\0ð9\89×\ 3Oz¸yz\a\86Ç=-\0\8c\8cV\ 40@$\14ð¹\\ e\87Ëã\vÀò8\ 4Z\11tÊ»ì{a'öÿºj¡¶\1a0\0Ã\ e\0\ f@IM×Ðb\9f×%\84\81\aP\ 5\0>\0j;¡øiü\8d+\97£\1ff\96\82\17À\16߯¤\1c
+Sq\11!\ 1`¾ßNÌ(ªlì\90þõ\88\ 3C\83\83"\91P(\ 2W?4\f\ eÜ©Hµ¯Òb\82<öZ\1aëÏRSV\980\1e»\12\90\93WPÕZhj{4 \ 6i@t\ 1@\b öÕS\ÄùÀ K·\93\0\ 3\v\ 6ßD6 r= ãøh\80\a÷SsJj\9a@Ãó$ïcÔ\ 2\10¢]2\16\99½-U/\1fÝðwµÿÅx\81¶º
+\96\ 6È\8d\9f¨¬1çg+Ð\80\84v\1aº\11\b!\a,1©wÂÎùøø\85F'\ 3\bîî\87\15\0\85pû»[jJrÓáxÏ)Æ×\13»hPþ\97\7f\10\8cE\ e½³¡<;1âìQûMÆ\vu4¦(NÄÌ\0\84\81µ\17\9bít\v\8e}\ e\18\10]\0 \ 1\16?\8e
+öv?vÜ÷bLj\91´\ 2\80~>\9bJn¬yûª ¿¨´¢¶\99La\f|Uþ'ñ¿#Õ\97e&\84\9f=ºÛÒd±îtU¥\89\98\81\10Ò\80s\8d\7f=à{-¹pt\1aË®\9f\[\98\1cé\7fÜÙÑ騩0\Fi=\99\86\f\92\14rs=¡ºúý\87fR\ f\8dÅ\85\15÷µ_\ 3\ f\87Ç¢´Õ\96¼¸\17îçº×zÍ\92Ù\9aS±3\06à4°\ 4íò8\8f{QÞ\84.\00ÿ\10×Â}\ fï±ÛápôôÕÄ\1c|³ø\9bð"\a\18\94.R[+±½³\97Æäðáå\7fõ·\100ìï%¾/yqÿ\9a¿Çï[Ö\1aÌÁÔ\0\84\ 1Wnq>}\1du\0\86\91%//áÒ §íV\966{]ÿ¾\85 \1el\15¨\837À¤S)\14
+\95Á\1aà    )ßðS`*\82äô\10kK³\1eÜ\bôÜ¿u\9dáÜ\99Ø\19\80\8cÀ\9f\fÌí=Bâ2Q\ 6`HÄ¡¶UåÄ_ðÜgmfjnãè\15\1a\9fõ®¹\17n\96\12¼\19`³Xì\ 1.2Ý¿Eý\88\ 1½muor\92n\ 5{9m7[\86¡\ 1 \ 1'MÑ\9co\ 2\ 3\90\822\0\13+²pÁîö\16&?\9blØqØ?*MÊUR¼\ 1G üvõ\9fÄ«\ 1è\8eö\ få¹)Ñ!'\9c\eaj\0\12\80\röÇ%\ 1àË\1c\80!á@_+>36Èmç\ 6cÃå¦\9bÿð       O* \90è\øI1Ý\f\ 2²\19\1cú\ eõ\9fÄ    \80ËáG|þ\93;\17O\1e´5ÇÐ\0¸\ 4H\ 2\10\99R\84&\0ÃbýY¸óîö\eW\1a\1a­¶rð
+KÈ­j£Jw¼Ñó½_\ 6åÁ¢v4V\16¤Ý\rõ>h\87­\ 1â\0ì\86\ 1x×Ô\ 3_+
\15`[ûËÁÚtÅ
+Sk\a¯Ð{9\95Ä>tX%5\80Mëlª*L\8bÅØ\0i\0l\ e\9e\89|\TK¦Ë\1a\0¨\9fÚV\9d÷ Ü×Ån\93\99\99Åö\ 3Þ\97ïÿ[E¤¢Ö\ fÇ \98\9fô®æê¢§±aÞ.Ø\1a     \80ç\85øl|K¯¬\ 1\0=Å¡\93j\8b\83þç´s«\8d\9d\83ë¹ÈGù5íè¨Jj\0\ 4\bzw\8bØ\80\91\ 4`\80ÂH\0fê¯Úêâw3õu}'\83+c\ 3BÆïjx\9b\9dx=ÀëÈ\ 1'\177ß°Øg¯ë;`ÿ¡\94/5\801b\80íúes4U12`ÂduÝe\16û¼ÂîçV\81ç*\90ñ\ 1\fòY\14"áUFBd\88\9f\8f÷©¿/Å$çâ\9bàZ\89öú\91ÏÃ9(1\0t\80­\99!0@qÂx9´\ 6\88\ 3°`\8dí\91\80\98ô7\rÝLY\1f\0\0\15zWSUñó¤»7¯\84ßÄ¥ä\94Õµ÷±emÔ/\19pÒyû:\ 3½éS\14&`\10\80ñ\13'kÌ^n¹ß'âQá{2]Æ\a\0þ\7f`J\91\e«KsÓS\1e&>LÉÈ+#´öôsÑ?ÿÿ\1a\90v÷â §­¦Kt5T&¡ï@\18\80©Ú\8bÍvy\84ü\93]Ñ*ë¼Bv\15f_gK}eYq~ÞËÂÒ\8aºÖ.ú\80ìDõÙ\ fH; 0íN\88×þÍ«\17é¨MÆ \ 2@\0TfÌ3ÙzÈÿö³²F\99\11\0Þ\ f\97Eë!·6Ô\11jj\90=\97Îæ      ±\89ÿ'1C#c°ªàIt\90§\83ÕJ}-8\ 4ÐV\02\ 2õ\8c69úD$\17Õu0d,,x?\ 2°åÑ(Ý\1d¤övRg\ fµ\7f\80\a÷\lÔ#\b-\84\ 64U¾L¾\15à¶Ûbù\M,*@N^AuÖ\92õö\9e¡ y``Ë:°\90\v\12ð8l&\83N£Ñ\19L6\97\8f\9dü!x\ 6\11\ 3:\eñ¹\ f¯\9f=¼c½\81\9e\86
+\80\ f@S\7f\8dí± \\96ì\ 5 \8d¨PÀãr9\1c\ e\97Çÿ¾Uï+ò\a\91#\82(ÜññmVÂ\15\9f\ 36k\16iO\83/\0¥~\80\0Óç®´9ä\1f\9dQÞLaËÞØ\92ÿ¨H$\14
+E¢ï]õ¾ðYñGEð\0\ 3¨¤º\92ôØ\v\7f9X®\98\a^\0ê\0\8c\93WR×[n}àÌÍ´²\86\1e\96\8c\ 4\818­ß¿ê}A>pT \10@W\81\ 1\10´\8a\9eD\ 5\1cÛin «>\19}\0ä\15§ý´ì\17G\9fk\8f_\7f\90\99\80\11\17\v\1f\1e\ 1H\15\183ý=Í\15¹\ fÂO9Û¬Z ¥\8a:\0\ 1\ 1,Ýèpâê£âúÎþ1¨\1f´
+\9fÇãñ\ 5 R\80\ 1\1czçDzç¸\90ã{6\1aÂ\0 Ö?     \ e\80=^\97\1f\16Ö\82\ 18Öô\ f\ 1ý@>\97'®TÀAlj;¡0%òÌA\e\93ù\9a*\93P>\0 \7f\8aÖ¢u`\0ÞÏ'\90éØl,Ø\1dñý#ú\ 5\88~\80ÚÌ\9e¦òLÜy÷]ë\97hOU\94\1f\87R?\18\80\vL\7fó¸p/·\1a\ 2À\98Ó?8\9a\7fX¬`×¢µ\13
+\92®\9etÜd¤«¦\84\92\81äÆMT\9e1\7fµ­kp\v%\91Ê\91\11\80\91`\ 5¬?1QÀ]\8bÙõ±4íÖÙ\83\9b\8dçhLF­\1f\0\0Ø\0\ e\aÜyñ®Ev\0úAgX:\0\85B1SÀ\0°{\9bË_Ü     8²mÕü\19Êh\v\10l\0ê³Wlvñ\8bJ\7fÓÔËF\a\0Ø\1f\84ª\10ø\91 Õð\90\90ÓG¬ÈÆ\ 5¹Ú­Ö\9f¡\82Z¿¼¢\9a®\91\95Óé\e©%\1f»Y\8216\0\10\ 3 \0\8b©
\ 1ÐOm«Ì\89\vv³[£¯\89Z?Ø\80¦ê\18Xüî\1d\91<\16\ 1`t\ 1\922%ÔO¬Ì\8e\v\1fuþÅ\0`\ e\0àAÁ{2c¬\rÀO\12ª\1e!j\90ÿ\81¾V|æÝÀ#ÛLæMWFÙ\7fR\0Øå\19\9a\90WC¢\8fµ\ 1øÙAú¯éMúís.[0è\7fDÿÌ\85k\7fó\b\89ÿ\17\ 1\80±5\0?;Ã\83|f×\87×O"}ÿ°Z®§¦\84\92\7fFô»\ 3ýUm´±\ 6\0ÿ= þ\\1a\89\90ÿà²×Þ\8dKu\0ÿ¡¼þqò
+ª³\16¯Ûéq\ 1ê§r\84CÃcù\80\ 5\80ÕÛü.\13\17ì¶cíB­)(ù_\ eð\8fÒ4\9d¥æ»=ÿ¯\8eE»ÎÝ{õùǯ?\83\18\0;C_Þ>¾zhí\94ªDO\13%Q\1e6
+ýÏÄÌÎ#¢ ï\14Yصx×Ù;Ïß\7fùöýÇ`\ 5À~Ð×Oo\9fÞ:½cQgA¸£.5\9aÿ¬\1c|â*Æn1%=\8bw\9cºþèÅÛ÷\1f\ 61xÿöåãÛçö­\9eR\93âk¡.ÉÏAYö\aF?\e\97 ´\86¹W|YÏÂ-G.ܼ÷èÉÓÁ\v\9e<~x÷Ú\99ýëg·åG8\19(\88P\9eüY\80É_NÛÊ7¡´sÎ\9a]GN_¸|åêà\ 5W._8st÷Ú¹]¥       Þ\16êR\ 2\9cTHþ¼¢ò:Ö>q\ 5M\13ç¯Ú¼sïþ\ 3\a\ e\ eRpàÀþ}»·­_:£³<%ÀNW^\84\87ÂÒ\1f\92ýEåµ-="ÒË\9aû§Ï[´tù\8aA\f\96/]4ozocqr\90£¡\8a\ 4?¥Ñ\ f\8d\7f9\r\13Gÿ\98\8c¢êƶÎî\9eÞA\fzº:\9akK²bý\1d\8dÕ¤\85¸\81¹\9fòÖ\ f\8f°´\8a\9e¥\8b_x|jVn~aaÑà\ 5\85\85ù¹\99É1Á\1e\86j2¼\1c,\14F?¸üã\16\10\97SÓ3·sõò\ f
+       \r\v\1fÌ ,4ØßÛÕÖTGY\1aè}VJ£\1fTÿ±rò
+\89Ë*kê\19\9b[YÛÚ\rr`kmaj ­*'!ÄËÉÊLiô\83\9a¿,l\9c¼\ 2¢\92²
+ʪê\1a\9a\9a\9aZ\83\18hjj¨«*+ÈH\bóssPÁûà\ 4\0\f\0n>\ 1aQ1  II©Á\ e$%ÄE\85\ 5ùx8ÙX¨á}P\ 2`faeçàâæáåãã\1fô\80\8f\8f\97\87\9b\93\83\r\14ùTð>(\0@!ÀÂÊÆÆ>4\0\e\e+\v0î©ä}h\b\0\ 1óP\ 1L ¿SÍ÷\88@\182\80º>\1f\ 5£`\14\8c\82Q0
+FÁ(\18\ 5£`\b\ 3\80\0\ 3\0®«q«\rendstream\rendobj\r1100 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 183>>/Filter/FlateDecode/Height 207/Intent/RelativeColorimetric/Length 10801/Name/X/Subtype/Image/Type/XObject/Width 183>>stream\r
+H\89ì\97i8Ôm\eÆ1»\991ÃÌØ\97!c\9blC¶h\92­\90J\88PQBj$"¥B\1eiQ¢\ 5í\85Þ"É[J¥P¨F\8a²/3ö\97")Ú¾¼÷\7fx:\9e/3Óqhê}\8fÃõe>ÝÇõ\9bë\7f\9eç}Ýbb³5[³5[³5[¿ Ä\7fÔ\9f&ùù\ 2°\12\12\120Pàçÿ\85\1db\86Á\11\10\b8\1cÆCÿÓTÂ
+PÃ\11(´$\16\a
++\89A!\11\80ü\7f\9c\e\10(\f\8e M¢P(d\924\ 1\8fÅ \10?Çý§Ì\0\91\18\1c\91,¯¬¦®¡NUU\96§ÈHaÑH¸\84\10\1cñ)CHü~EA}á\b4\96@V¤Òè\86Æ\f\86\91¾.\8dª$+\8dCCó\16v\16\ 6\87
\9b\15\ fI)\92¼\9a¶¡\99Í"\aGG»\85V¦úZªò\10·@lÞY$
+\8dF\ 3+üVnÈ\8aH4\8e(«B30·uv÷öó÷óñXj?\9f¡K\95#bQ\82d2uV\12\87Çãq\92@Q0     ñß\15ü`^H\f^F\81ªkÊtöZ\17º5j{dxh\80\97\vÓTG\95"\85\ 4`\ 3j\f\9eH"\ 3\13\13ñ\92h({~\94HÉÅÅa\b\f\9e¤¤i`é¸rÝæ\98\84\94é\87\92÷D\85ø.e2hJ28\ 1ã\ 6g\91\18)\92\9c\92ª\9a\9a\8a\ 2E\1a\80\ 3­  ØG\88Xë``(\9c\8c\12ÍÈÆÅ'$&éhÖ\85\9c\9c\8b§3öÇnòu±ÖW\97#\b\18·¸\ 4\ 2\8d')RµôæÒuij\8a\14\19\ 2\1e\87\ 5%)\89A\8bVë 5\86 ¯ah³Ô\9fµ'õtÞ\8d\92Ò»·\vs3\ fÄ\86¬r4ÓQ&     P7\186VZAC\8faneea¢¯­®¬ K!\93É$\19"\81'\19aé9\ 3\9a¤¢gåâ\1f\9e\98q¹èþãgìgU\ fo]ÉÜ¿=pù\ 2C\r9 n¾Øp4\9e¢¦7\8féèì²Ä~\81¹\11][\13\84>UMEQ\8eLÄ¡\91BÒsFØ(¼¬\86±Ýª°øãy·+k_·´67°Ëÿ\9d\93\11¿ÙÇÉL[IZ\12ÉG%@_\18¢"Íd¡«§ï\1a\7fowgû\ 5\96\fc#\ 3=-\re9¡é9#l8\9a  eî\12°ãÈå\92ªúöî¾¾\9eÎFvYáÙ\83Ñ\81nÖsUÉ8\14_l\ 4\96¤J\9fïâ\13´%"\82\15\12àë¹ÜÕÙÉÁ\8eiej ¥*Kàû\87\7f       6QI×Ú}Sbö\8dÊ\86Î\81á\91wC}\1d¯«ïä¦ï\ eõ°5R\97ÅóÇFâ(êF\8b<\82"÷$%'Åï\8cd\85\ 6\ 5®õó^éjge¤¥L\82RHdØ\18ie:Ó+<åâ]vÛÀÈ\87\8fãï\87{ZjË
+2÷±¼í\19sä¤Ðü°aH¼ì\1cS'_ÖÞÃ'²³O¥§¦ì\8b\8fÛ\11Å
+^ãîd¥¯.+\85\16\99)yØsm}"Só\1eÖsß\8eO~\9e\1c\1f\19èxUQt&yëj\a\13\80ÍwÚ\0[\8e\12\10} +· ðúµ¼Kg³O¤\1dÚ·\93µnÅ"\13\9a\ 2\11#Bl´´²¾íꨣW+Þô\8eN|ùúebì?\9c\86Ç\0;ÜÇÞXC\80H`H)y-\v· ¸c9Å÷Ë+ÊËî\95\14\17ä\9d?ypWØêÅæÚ\8a¢Å&\82i\ 3ìk\95Mýc\9f¿}ÿ:96Ä©¯(ÌJ\fó\h FÆñM\120m\80½,xïÉü\a5u\r\rõuìêòÒ¢\9c\93I\11k\,tD\8a\r\ 3\96\9c»Ð\87\87=0öåû÷o\93c\83\1dueWÓwmp³Ò\ 5\ 1È/Æ\80%\81H,\96\85$d\15U¾jåts»Ú\9b^Vß¿~æ@ÔZgs-\ 5\ 2Ft\96\84¡\88Jt¦wä\91«ÓØ_'Fû\9a\9fÞ¾p`\9b¯#$m¾¾\82\92DVÓ|ipBvqu\13wpøíP?·åEyÑÙ\94\b?'SMþfþ%Ø\84\1fØ\90H¾}\19\1fæ¼z\94\7f|÷ÆåÖt\15\12\96oøB¹M\993Ï%hovñÓÖþ\91\ fãcoûÛ_>º\ eÉËÖP\80¼~\r¶¢\1e\ f»¢\11Â\ 6Ãîo®¹un?0$CаÅÄ\06YÝdÉúÝ\99ÅOÛ\ 6Ç>M|\1céocßËK\8b\rtµÔQ\92æ¿\16ü\12ì¿§\r°'¿|\1e\1fêª{p%-6ÀÕBGÀÕ\ eaÃ%ITc§u»N\16Õ\0ì\89\89ñwÝo\9e\14\9dNÚâµÈH\9d\82\17øÄ\9816¤m`IH$ï'?\7f\1aím|R\94\95¸i%S\1f|gA­ÁN"£jä°&öø\8dêV0íOï\aÛÙ¥9©ÑÀ\90 þ$\ 5½0f\8c=\15\80ÛÓò\1f\ 3ìO ´;jK/\1f\8a\ 4\84¶mAo2\bÛÐÞ\7fGFaUËÀèø\87anCyÁ\89=Á+lx»\8c(\17Wpݨ\18\8bI/xÒ<ðþãø»\9e×\15\ 5'â6¸YêNI\84\7fk\89\7f\8f¼\7f××\ 2L\91\1cîmg\f\16^\11î\7fS­Õ¦?4\98Ø\87Ñ\81¶ç%ç÷³VÙ\1aR\85\rlúìÚ\9dÐÙþ·ï\ 6;_>È;\1a³\ e\92\88\90\7f<cl\84$Y\9d±8\90\97\ 6\ 3#£CÜúGWÓc\ 3\9cÍ ëBðÀ ³TÆâ\80¸S7kZû\86\86z\9aª\8a²\12\81DÀö'º7Âô\951ÇÌucÂ\99Ûìö\81·Ã}-Oo\9dM
+óX\0\8fì\7f\9c\ 5¹\1d\7fúÖó¶¾Áþ\8e\17÷r\80)\1c\18\1a¢\þx­a()ym«\15\17Kë:\a\86\ 6:_\96]9\1a½f1ï\92\13Ü\1az\18ÉkY.ßô×ù»µí½ýÜÆ'72÷nt³Ô\ 1\12\11a\8a\88MoRtæª\88Ã`oíê\1fènª.ÎN\fu·¦+Ë\bkÍ{aè-ðÚz(÷Á«\8eÞ\9eöºû¹\87·ùØ\19Qy/"Q\ e\eÈ\93D\ 5\8eÜ\91Qðø\r§¯\17´ÎK\8dòsd@\v«\90a\83³2j\86ö~ÑÇò+^wõp\9aj\8a³\13\82\97Yj+\12D·úMµ\ 6ßYNÓÌ5(>»¸¦\99ÛËi\ 4¦\8a\ f^>_Ðæ÷\ 3\e¼É4L\9dÁÝ~³º\89ÓÝ\ 1¼\9c\16íç`L\15å22Õ\19\8e\ 1ßÙÆ\83\95r©´¶­»»íÅýÜÔ(_\acèj\16\12\ 5<[\0i\87&\9d¿Ãnår[Ùw/$o^i­§$Â={º3\12\1a;øÇ\1c»V^ßÁíj¬º     }g+hÅ\17v[ð¤M\9f\92öËvp¶º(sÏz\97y\9a²x\91\ f\eMPжpÛ\b4RÝØÅi«+»rd»\1f4l\9cÐÛ\ 2,R¼;2&=¿òugwg}ùÕ´í¾v\86ª2Âä5cl\ 4\96¤j`ë\1dq(ç^m+§«    dö¾M+\80²\85\7fgÞ¶­aºdZÚܶ\17÷.§°<lt\15   h¸¨\87-%O3sY\1fw²°²¡\83Ó^_\9e\9f\1e»ÖÉD\83"ÜT<7\83\97dhÒ9\9e´[\9eÝ>\93\18¼Ô\9c&'j\8dÀ@\82©è3½X)\17ï<oîâ´°ï^Jay2éÊ?±á\ 3i\13@j{\86\1f\ 4Òîèæ4U\17\9d\8a\vXÌP'cEª\11Þ°åhó\9c\ 3vfäó\fù¦
+\98j\83«\19\18\18JèÀxë\9f\81\9dïtjw½©Ì?\16ãgg *#º\87/\ f\eÄ\bIU\9fé¹eÿù\92\9cîöW\ fÿu4
+\98J\8d$ÜTâÓ/²@°GU7s{ºê\1f]Iݶ\8aIW"\8aîá+6\1d#@Ù\7f\ f»\87Û\ 26Ö¿ÂÜçóL%l`àOãåh\16ËBö\9d+a·õô\82\9dõò\ 1ÖJk\1d\ 5)á_j\ 6Ô /\8e¬ö_ÚË<\10ʵ\rã_'%û¾\8cå\102(²\97­p\94\16É\96S*)       uT:IÒצN¢¢sÔW!\95\15J\8b
+ERBvYÆ>Ã0ÃÌ`6\83s\9eç})JyýÑó×ü3ï{=÷û»¯ûºõlÜ÷\9e½ùä}]\e\98\90\ 5éW\8eîXm¬.\8b\81­HLAÇ
+ }'»¼\89ØAøðìæ\99ÝNf\9a?¶#ÁG\16\10WÀ/uð>\1as/¯²\99ØÑT\9e\93|á÷M6º\98\8cw\1cí è»ùÕ­$bcÉÓ\ea~\8eK4À\9d\7fà.\ 6\10\11\91U3°Û\14\18q;«¸¾½³£þý\93\e§w;\9bká0\18ï\18ÚpEÈx[×ÑEl,~\1c{Âg­\89ºÌ\ f4\12\88\88\90¤òBK'ßãWÓ^W·vv¶Õ\14¤]\ eݾ\1a\93i\8f£íè\17\16ÿ¤\84@"\93\1a\8a\1dó^m\84ø\1f\86÷£g¦²\ 1"b¸\ 5&«<\ f]LzQÚH"w6\97ç&_8\0\18QÆ`Ú(ÚÚ \83\9d\ 3\90»I\rï\1e\0Û¶7T\85.ô}Á?\813\e9àÇLÄ\ 3DøEdT\17Û¸\a\9c\89Ë,¬mïî!5\16CF\9cÌñ8Q\f\ e\ 6Ð\96PÖµõ\0hçÕ´÷ô\90êßf\>²m¥¾\8a¤à·]\bJ\9eÍÇ7gî\~äÌ\9d3\87o6\94\8eM5\82\88\92¶¹ãΣ1ÿ\7fYÑL¦ôtÔ¾I\a\8c¬ÂÈ\bL3ª\86ö^¡W2
+ëI\14
+©®0-&ÄÓnñ·§\r¬ól¾9üó\ 4\84\84EDá\11\11\16\12\14à\87Ê1     G\10\91×0¶ßr021«¸\81Díín­\98\11#`E\90Õ0]·ëdÜãb\ 2¹\97JúXpïO8$Áß§ìg¤Ð@³\90\88\98¤´\8c\9c<\ e\87\93\97\97\95\96\14\17\11\9c7\87\ f\8bnpi~hÙÖn{Âb\1f¼©i§Ðz»\b3b\ 4®\b\85Ëogo?/kéé£\12k_ß\8d\ eò°Y¤$>\95\rAÑ Ð\82ÂâRr
+ʪê\vðZZZxM\8dùÊ
+2\12"\ 2s±è\86K ¸\82\96\99\83÷\91?SsË\9b»iô^âÇ\990\82¬\bJ\v­7\1e¸\90ò²º\9dJ£vTçý\8dÎv±¯\87\ 3\8a\16\91\90QPÑÐÖ34Yjaieiafj¨\8b\9f¯(-&8ÍÚ\8aª\ 6ý\b-Û#ð\1cH~\r\9d}\f\ 6¥­r&\8c +\82\8aþ\8a­\87ÿº_ð\91ÔK§¶Wå&Eîß`¥=Ål\87LCÑ\92rJjÚ\8bM-mW98¹¸mpsu^go½T\1fÿ³¬\98à´K \9aW\95t,\9d}O\M\7f\r\18 w\13JfÄ\bº"¬ñ>víaQ#\99F§´Ud'\86\a¸\98ãåE¿üX°\11ç
+\88HÈ*«/4²øÅÁÕÃËgwÀÞ}û\ 2vûlsw°1ÑV\91\15\9d~\ 5Dòªº±=°ìä\17\1f\9aºé\83\ 34ÒÇ7i3a\ 4Y\11ÌÀ\8a\90\90UÚÜC§SZÊ`$Y¿\14.       \93\ 5ÀRÏ\13\12\97QT_hleï¼ygÀÁÐ\13gÂ#"#ÂÏ\1c\ f\ eØîjgª­,%<]þBçã¢e®{NÇe¾­#õ\r2\a¨m\159Éç\ flÄÊÈ\84\15!§²\8dÊ ÷4\97<\89?åë`ª.#<ùÿPµ\80\88$NUÛÐj\95«§ÿÁcg£®ÄÞLLJNJL¸\16}úЮ\rvF\vpbÓ,\81\9fòªWÈ¥Ô\97\15­\94~\16\8bÑ\r|$>Ì\1fa\ 4\9c°"ä×\92úú\ 1\8f®\1fß¹ÆXí\8bÙ\8e¨\16\95VÔÐ3_áâ¹'8ìâÕ[©é\8f\9feçäæfg=H\89\8d\fñqY¦«"%ôÝ\8f<\9eW­Ý÷þ\91𸨡\8bÎd3i¤Ú\82û1G¼032aEx\v\1e\ 1z£±èáÕÿîXõÕl\a\8d4OTZ\19o´|ÝfÿC§£ãR\1e<{UX\VQUUUQZ\98\9d~#2hÛ\1aÓ\ 5ò¢ß\8d\1f?çÕªvê \9b=@m-Ͼ\13¹ÿWëEpX``db\8ejîé\1fd\90\eÑHb\0dO\1c\92е\84¥\94´\8c\7f\11x2*.õQná\87êú¦Öö\ ebG[ÓÇÒWé×Ã~s[¾èûp"ý\88\9a\1fÌ«\ 42\83Åa1È ¾Å\9eôu\ª)\8f\89\11Ð\91 GY\82\1c\95\98]ÑÖ;À\9c${bµa#I(h\1aÛmØuøÜÕ\94Ì\97E\15\1d]=Ô>\1a\8dÖÛCl(Íþ;:ØÓÞp¾Ìwb:zù\9f\17Y9ûAó«éè\1däp\98}`Vܽ\14¼u¥\81ª´\10\96\8c?\vÉQ6\1e\a£Rój\884&«\7f\f\92±Üúé      ¨k©\19ظú\1e¹\90\90\96ý®²¡­\93ÒÇ\18`²Øl\16³¿\97X÷63ö\94ßz3üw
+\ 6ú\ 3\^\11¿d\8dWp\14b~ýl.»¿§©4ëæÙ\07+\1dEq,\8cÀa#¥¢¿r[HLZa}\17\83Å\1eèiB¶\ 4\a\13õIË\r\88.Hª_ï\1drñVfþ\87º¶.*}\90Åá\ eñxü!Î\0¥¥<;)2\10à©$ñÍ\b\ 6T\v\8aã4\8cVlÚ\7föÆ#h~L\ e\97\ 5M\e,\91ÞkM4äD01\ 2;RÍ\b\ e\9bÌ"B÷\0\9b3Hmù\90\95\0WÉÉU\83þ.«nd¿å÷\88\84Ì\82Ê&\12\951Èæò\86GFFÁ\19á±é \82Ý\8f      Ù\ 6>´ÔÔ[\11Ì\ 5@µ¼\9a¾\8d\9bÿ\89ÿÝÏ«l¥\f°¹àÆ !\93Î\1fØd«\87i\89ü\1cÿ|OÅ?-m¦\fr¹Ì¾öÊ\1c0ÜÝ\97/T\9aØÔÀ(Å\15´- \92\95-d\1a*ztô\1fxF\87¹\ 3Ý\84÷\8fbOîZ·\ 4Ω)J6¦Zn¾Þ2'\9fÐK)/J        d:\8bËeÑ;ëß>¼~Â\17ð\ 5\97Èé\17*(\eÎH§=\7fÜz^ÖÚËä\ e\81ªÕ¾¾÷×aÏ\95\ 6\0îO¯\87\99\rø»­Ç\81óIÏáû\98\13D\ 3Ù#CÌÞÖò\17\89á{Ý,µ\15ĦH\15À¯ùø\85@­õ¬\1cw\ 4_¸ýä]\1d±o\90Ã\ 5ß\17\94¨ -+À\e±\986b\ f¢òx\v×\80ðÄ\9c\8aö>Ö\10\8fÓOnDÍhìî³ÆeC\9aVo\ f½\9cVPKìcr'\88\86ºyl\1a±&ïnT\90\87-\12Ô¿¬\19\12\f\84%pê\8b­\1c½\82"n<,¨n£\80~D\8aý.3.ÌßÙR\ecC¢a[ËÒ\r\8cöܪ\ e\1a\9b7<4\88Z\7fàF\e½\9f?\ f¼O4\81eâ=h\ 2ÎðDÑ\90\12p_°Í]9
+ÒÐd\ fBKý\13Ì`R\8a\1aúËÖo?\18\1e\9f\91_ÑÒÍ`qa/\83b#Öi¤&\8b©!QÛÆi[mØ\1f\99ü²\9a\be\83ª\81A\9b\ 6û\1a\1dxèû\91±¤iæ\8cÒDe\ e\8dLR\r)\19¤4Á4ãçø5ÜP5¿ \98\8c2ÞÐÆyGPx\ú«ò¦.\1a`\92\væ:tΰÝ.V:J\12\98\1ar|ÚX¹\a\9eOyUM¤sx#Ã\1c`\81%Y·Â÷¹[ë¢å\9eõ\9f¯iâ\8dü3ù\8cðX½0ò\9e\9eTµ±ä(§¢cjçæ\13\1c\11\9fþª\8cР  À\1e\1a\ 2\9eÝ\\96\9d|1h«½\91:Öb\7f%\eøÙ\10\9cYù÷bBw¬]¢      â\1cz\7f\94&\v0MïäVvô±y£_È\ 6\ 1Ü©Q\a=\90ðù9\96\8c\ 1"\89SÓ5[õ«?\18V\19ye\8d¨j`\ÄÚ\82\8ck'ý\9c\17\eU3\ 1\92áÑ\11\b)¡øé­ðý\emõçË\88 K\16Rm-\vW ;gjÙà\7f\85iйõU&Ä\99q@\94\16\18,sØ\12p<úvf~9ZkÞ\10\9bA&\94<K\8c<°y\85!$\eSCNÑ\92£\88\95\81rß¿rl×z\v\1deI!äY\90my¼¹Ë¿¬\97y4Ôû\1fÆ»Bt    E²$Y\8a\14\12-$KI\vBI\eñÓ&QÝ\14®¸$\11)\12EnÙ+T¶²$²E\96ìd_ƾ\8cu\183Ãý}¾Ë\8c\99QçX\9asú'sf\9ey¾¯÷ûý<\96n¡i0$³dOA\9bû[B\80£Ù¡m"33I\ 1DRA]Ïô/\17¿È\8f¹å\8d\88j"\1eÔ\83\8aÌ\18?\87ó:\8a\12\ 2s6\eE\16¨q\ fCÔL\81\83\87\1f\ 1Å.%ü\81µÑ\ 1\85\rü\ \1c\81&EÝË®Á)ÐHÎbû?ðsû\9a\8a\93@ÃÐÞ.FÎ\ 5Ô\80h\1e¿`ã\1e\10\95\9a_   \1d+<\81D\ 4g\1d,¿\ f/îY\19ªË\bó\80Z4WÙ\fôj`»\ 1p¹qÏïZ\1aªo\15å\ 5x\83±d`bã\11Uк\0\16`acï\18ý&Af²¥$5ä\9e\85î®\rh\9f£\ 2DYëô\15\87\87/ß§\17Ö´ö\fáðD\12       Ìc\ f\98ÇWÞ¶&\87¶Ï\8cÑ\9cdÏR\ 3ÛÝÛ\\9a\1eõÄá¢Þ\1eia\9e\15,L\f\fp\9d\90;`
\89î\91IÒOf\12ÛVö9ÌÝò¨\12\88\ 6¤\ 5äú\1dßð\84¬\92:L\1fØ×@5qrl ­*ç}\80³¹¾òæ\99¥57Ùôj »Áë+L    \7fhkª­¸i-7\eÀ\eDE¨¼\9d\81Ê[UûÐÏfrb\10S\91\1eáqõØn    ¸\10Î\ 2äMòW\80õÀÈ\ 4\ 1l,\12ü-\ 5I!\1eÐ<\8aòRNÄ\^h\95DÔt@j\80l\12ð\ 1Sý5ñåý\eF\a·o\14àú\93\99q)#\v§À¦=\ 6\87}*ýɽ\81e·WfDz^3P\96äã\80\7f)\r /Þ}.¨nA°\9e\9a\ 2\99\11~¦o\1eÛ\9b\82çqn;\e±\9b¬Æ#<­´u\0V3\r\7fdKyÖûÀ»V'öm\13[\ 3°cd\\ 6··\8bÎÏ\13\vê{Fðô\94\80\r\bd\7f\ 1²\8f+Ca\8a\89\91i\19\1d ßë0½0ÖS¨5U9q\81.\16\ 6ªÒëà':\ fÙKQ5w\90¬\ 11;=\r\1eàPwcIz´ß?æGUeÖ¯\ 6x32³\ 1\9cö\eÛ>\86(\19\84\96Î¯Ýæç`effù\19 \0k(¡CßÐUW\98\1cêyã\8c¦<lÌ<T\93áÖ<kçû6»\1a¢\ 4\9b\ 4²Bg]Qj¤÷ßf:JRBÜl,ÌÌ˹\ 4¥T\f¬ÜCS¾7õ\8eÒ\ f%\94\ 1ÉlKòs.g]¾\82[P\\96\ e\10\bëiª±÷µ?§£()¸r\1eó\88È\ 6eRp³ªá5\88\122³àcÁ3l¯Éÿ\18âim|p\87\84ÀJ6\96\1ckÄwh\9ds|\1a\9b[Ó1Do÷4q\1cl\924x\93\80÷³³s®\16\92\90WÓ5¡\ 5\ 4)C\b"`ɺ\1P\ 3+{Î÷\91\8a\92\15k6ÀÌ&|\ 3»\ 4a\16²c´¯µ2'.ÈõêI\ryq~.6VVvna\99½PQH+i\ 6M\88Öî)"®¿¥$%Øõ²\9e¢\84 ÏJn¾õR;÷\eÌ\ 6ä?xW¡\88X\e\8bÏ\17\91%Hµå\16ÞºßÈÆ'*³\12\83EM\84Ær¸§©4#æ©Óe\ 3u91>.¶ål\\ 2\12\8aG.:\aÆçýèDx\9a1\eM®Aw@Á\90\14â[#(&³ûÐ)\8bÛ^´\80 \9e \88Ü\ 6\88l\9a7"(%`\97(\1f³t\vN.n$3\8b\ eM}ñ§W\8fo_ÔW\95\15åã\ 2Ï\9dWDNãÌÍ\87¯>\97µôÓÚ\rÚäHw]~ü3ÇsZ»¤D\84E$äTt\8c¯:?\ eKȤ\ 2\ 4ùht\8b,\18\91%è.\11S8dvÛÿ=`v\105\11þplû\8foIá\8fìÎé©\0Ý«88¹×JíÖ3w    Jȯë\1a\9e \ e&`ÿ\ruÖä¼õýÛô°¢\8c¤¤ô\8e}Gͬï=}M\v\bj\bth\16\81È\12J¹U;qÝ3ü\13\15³0ÞýmU_\13C\1eØ\98éªÈ\8añó¬â\16\10W8`lãó&£¼m\80æä\80H\82ÅTd¼~dc¢¥¬ § |Ðð\92\9dgPLZA\15\b\8b\80C\ 3o\91\ 5!\ 2½\18\18Y8ø6îÒ¹à\14\10÷\150K^\11\80Ö\89áÞ\96\8a\9cø\97\9e\90î­âk×ð
+\88ʨ\1aXÞ{\99TØ@sr \0\ 6Jè§\88\a7M\8eìÝ£¢qÄÈÒÑ;$îKqm\e\15 Ð\eI\90\e\95\81\8b@d \1c^Ù¸\85\9d¶ö\8aL+mî#×[\ 4ï\9e¦òì8H·\9e\9a¼äz!!Ñ-»\8f\9cw|
+ñD\1dL@Ü\1e\ 3¹5%Ôó\96\99\81öa\1dC³¿\\9eD|È.mèè\9f\ 1\ 4a\ f\87í¨ýö1Ä\ 3:4\vDd      y(%\95t/9\aÆ}­iÇâ\b¨nèê\fu7\95e\ 1ݶç\8f\94\96Ø !£¤ebëMO     P\ 3ZBaR¨\97\9d¹ñÉS¦\16\ 3¢Rò*\9bº°£3\80ÀO\ 5\1cà\86ïi¯}þ6Ó^À¡¡¶{\19\e\ f´"¬\1f\84§\167v\ fOP0\81®eWcYV|°\97½ùÉÃ*Ûå¶*¨h\9f½é\85\8c\ 1µlÐåê\v\93Ã}\9cnX\98_¹éü\b\8dÖ 9\11IÓ3ª\91¸\93ùî\99óåcªÒ\vF\ 4\9b\89\95\vØ}ä\82£ÿÛ¬\8aV\80     E7\11Ñ\9d\9d\10êãtÕäØAu\155MýÿÝz\10\962³,ɲ{\1a\8a?E\ 5x8ÙÛ;{<\8dH¤Dë)*Õh¸Lxáví\94ƶyg\11z»ÙyÖËî=qÍýeb>À\ 4l\13\1aÝMå¹\1f#ýÝl-Î\1aêë\19\18YÜö\8eH\9d-»·¹,3>ì\99·\97·\7fpLÊL´\9eQ=\rg\9dÚ\82äp¯[&\87w\82\f°`DP»9ù7î<ljû(2µ¨¾kp\1cÅ\eÕÝÝ\\99\9f\1aóÂÛÅÖêÒù\8b\96¶nÏ¢ÓK\9aheO\8eõ·U\7fK\8b}\15\1a\12\1eýáK!%ZÏ,I\ 4ìÆï\9fßø:\ÐUÞ<߸J/\e¢\9b\96\97þñ\8fÎ(mê\19\9e Ì¬Y0\97=­5E_\12_\aù¸9;88Ý÷\vKÌ©l¥¾\93Ð\ 2\1cìl(ËKOJLLÎÈ+£9\8c´`g½\v¸s帺¬\b/T÷\16¬\1a\9b\85\83WTnß +×ç±Ù\0ï\11\88îá>L}yþç\84\ 1~Oü\83"âÒ\8bj;°Ô\9b\ 4\92Ô\87©«(ÊËÍ+(­i¦>\8c³Àv¿~ZSA\9c\8fsù"\10\ 6iZ`ã\8e\83ÆÖ\1eÁ\1fòj0\ 3\14¼á¯\e\1f\19èj©-ÍÏH\8e{\e\1d\13ûñ\v¸}=ÃTa
+y(½\98¦Úêª\9aºæö^êÃH\r68êá\ fmLµv!»o1fû\e`"$¥¤cfç\1d\91RX×9\bmo\8aM\84\89±¡¾Î\96Z`fvffvþ÷êæ.ì\18\9eJ\17¸Mø±¡þî\ e\f¦½«\17;\82£µ\9aR\99\10°õ\94·¬ãa\9fOéý\95n&\96\15«×K«è_rô\8bN\87ñ¦x       t\13'ÇG\87úºÚ\1ak«++ª~4´u\ f@g\84\ 6\ 1\ 2\1e72\84\1d\18À\ e\8dàðÔ\e\84vcÃ`o\15á]Ìî£Èþc)\13h/¢r{\r-ï>\8fÍ©l£\198HÔäøØð@oW\a¦\rÓÑÝ78J\ f\ 1ôÛ&Æqc8Ü\ 4\9e@$Ñu\1f4\98åþ6°ÉvCxóoØ~ÀÈÚ34© ®\8b¦vM#ªp£Ã\83X,vpx\14G»Ûàw\80·\10\b\93\ 4 \99ÎjrË\ 318Ì\vDÄß\ 26Y7À{ÕÚMJ:çì}£2ÊZúh[.,\9c0\89\a\86\8e\8fOà'\89³¤AÂ\81tðo\9aö/hJè¬/\82JÇyÝß\ 46E7\v;\8f°\8c\9a\81¥ë¿\89ùµôµ\vÖE"\11\89D\ 2\11ñ\93V\eò\ eø5ë¿\91q,É\88ö\a\15OMö÷\80\8dÊFð\ 6=à¬\8d÷ëô2pN\bSÓ³uM!vÎ\16ýË\17\9cÜ{\9a˳Þ\aºZ\9dÔ\90ÿ]`St3ÿ¹r­\94òQ\8b»ÿ~(¨ï¦î\ 1\8b\95·¯µ27þÅÿy/óh¬ö5\8e§"\99çdxIBæJ\19#Q\8a(\9d\92\12EÃÁ)S2Ô¡ºB\84L')¥ÌE\ eé e\8e\94¡Ì3ñ\9aç!ó°îï·_º\9d«s×µ_{ÿÖÚkÿû}\9eõy¾Ï÷ñ°1<(+²b`/è\ 6xÓsl\969pÆ1 6§²mpüÇk\11½j¸\1dÛª\v\92üí\8dµ\15Ä\blèÓê?覤aæ\15W9né\11\9eöùkߨ\12JÐÈ\86`wÖ\17¥Eù]\87ãÈÏAf\14ù\89n\10a7l\91Õ¾xóaÒÇúî\91)ò)A\10\ 1\996+îþM³c\vã¸b`/È^MIËÊ/½ÏÐÁ?.·
+\\8b\e\1e\8fμW!®\96'Áe\80\8cãÊ6{Õ*`\82LÜbÊzVw#ÓK[\aÈ\87\e6{¸»¡(-Âûê\19MYax\19¬(ØÈ\83\94p
\1d6sy\92RÔÔ»Ô\ 2\97/{\1a4»27>èÆ¯G\94Ä\b¬d]\ 6ÿ(\ePÂ&°ã \89SPbA]\17ùp\ 3FF{\1a\8bß\84yZ\9fTÛ&\0Æ\11\ 3Õ\90\92õ,\ 4IµÓv~±9+\ 1÷üÌÄPGMÞ\9f\17´å\84¹\98V|\1cI\8fb-5#·¨òqKÏÈô2òá\ 6h\8f÷·\96eDûØ\9eR\93âg#çäý\9f²¡\ 5
\1f\1d\9aZÜL6Ü\0ío½MÅ)¡®æº\8a"\\8cØ B\82\9b]@Fó\9csð+àÜ£dÂ\rÐ\1eéª+H|àtNSf3\a\1dh6\16ª!Ü4,|RêйßWw\f\93\19Kæg'\87:ªscýìO«K\11XhVx=þçQ Î­rÂÚ+*£\9cH.Ü`"\a\89å\99Q^ÖzÊ¢ÜLÔk1R\ráfà\14VÐ5w}\9aZB6Üp"[¾¼\rs¿tTA\98\93a\1dV\8c\0¸©èØ7\93à\86ÎM\1e%`Ùô5\17§<v1Õ\91\15\ 4hcÅ\b\92\ 2\88s\83ð:A\ e%ÐHz\1a>½~x㼦\8c\0\e-fh/À\r\9cÛÂ#ü-\b¯dQ2?75Ú]_\90\18ô»±Æ6~V\9aµ«±Rý·ðJ.%\88ÿÕæÇ\a:\1aA#Y\8f¥ìÅðjï÷"»\82\bO\1cÔº\81ìáÎ\9a÷q~v\ 6{%x\99±3\12ä4[\ f(Ù}ìò\9dgoJ@
+\9c"Göä0´mß«§TÅy\98¨13\92U\v\94\bîÒ:ïü !¿¶\93\9c\8d\83l\9bª\9cç÷lOª\88q3aç\7f«H^ÂÊ'¥vÊÖ':³¬µ\9f\8c\8b\12Ên¯ÌyîsE_E\8c\8b\11SÙðÄaä\12QÔ5¿ý$¹°\81\9c\B\92\9d\1dãmsBY\14\14kÀÆ\11ØqàìµÀ\97à¢\84Ö\8dR7¾²\ 1%̼â{NXy\ 2ë\ 6\v\1eu»q\95MÊ%BrÚ\17o\ 4'~¨í\18BÝn\9ce¯¦¢eã\97V7\0C\99Q
+6%Úvã-\eX7×VE]³\7f\85$\15Ôv¢n7®N\82P\ 2\87RÃÈÎ7\ 6´\e¡\e\8dn<}{ÕÂPò\88î>jî\12\92ô¡¦cp\1c\9dwã¹%\11Ý`SrlÞ¡ahç\13õîssÏèä,\1aÝ8f\12\92lR»\95tMo\ 5'äUµ\r [\95 ¸â\95\0\17\ 5í\16ؾÏà\8aWDZqc÷È$\9a©ü1oo\ay\9b\12cÙ¤vsoUйà\1c\14\9f[ID\97L\90릱ðõ£\9b\17´d\ 4ر¼n\16eC3á\97VÓ·òx\96ZØÐ5\8cªÝÈ-Y\92\1azÛì°Ü\96\rôTXÏ$l÷z¦\8dÂr\87Î]\ f\8cË®@\19\ 4çfÆ\aZJß\85ß±øEId#\ 3Ö\ e\bd\83@EËÊ'¹GÏÂýira}×0\9a\9d3?;1ØV\91\15\ 3öÍ\1eè\80X[   2\95Ô\8c\9c[vi\1a_\v\88Í.G×nhÜ\9d5y/\ 3\1c\8cöIó±`?\93H~¥e%H¨\1c¿ì\16\9aü©\1e\15Ý$+ù\98\14ì|^\13Î$\15Ö3Ij7Ã\ 6Á\9d\a\8d\1dQ·{~q&]Í\8fÈ\vqÒc\ f7l7%\r\v¯8©Ý\80î\11\14W%\9cÉÖ²\8cÈ»VzÊ \95à\0÷÷vCº\81\99\10ѬJ0\93CíU¹qþö\86\0n¸pðÐMj·\9eÅ\9dg©E\8d0\99,_öÔ\b\80ûUð\8dóZ;7sÐaïÜ\ví\ 6f¢uî÷ûñïQ]\95pO\ 2¸ß<s¿tTQ\84\8b\11\ fJ`»\81\99Hªê[ß\8d\ 5\9c9˧\ 4À=H\ 4Î}ÏöÔ^I\ 2\vN\94\0ïÞ(,¯óë­GI\1fQ\r%âܵù     AN&\9a28Q\82x7Û¦mû\8d\1cüãr«ÚÁu\86¹¿õ6\15§>uûí¨ÒVH ö\e\87tUò\88©èYÝ\8dL/m\19\18\9f\99[¶l`\81ÄòÌ\98{W\rÔ¤pò\12xæ0p
\1f6»ý$¥¸©\17\ 5Ü$J>$>p>\7fh\17H\81xl\1cÐn*Zv\ 1\19ÍóÎÁI\9f\1azFÑ,J@        ð\92°;\16Ç\95Åx\98Á\89\83\83n`ݬ|ÒûÎ\ûãÏüÚ®\91©åÏ$ô\92¶Ê\9cX\7f\873\1aÛ\ 5Øq\1aʵÔ̼\12{\rìübs«;\86Qìw@ÉHWý§×!.fG\14\10ëÆÃ\ 3×P3r\8b©èÛxÇdW¶\ f¡\91\râT\7fKiz\94÷\95Sp(iqÙ\94`&7nU:né\19\99QN\1c\ 3Â\8d31ÔQ\93\9fðÀù\82\9c\10'\ 3\1eí\ 6ÎMÏ)¬ {É=ìí\97\96þå; \92KF{\9bJÒÂ=­N¨J\10Xhqð@`%t\1c\82²:¦.ORK\9aû@\b\¾ld(«r_þqÝD\v\1eí\86±\ 48 Ö\85\9b\8f^\176ö 0nÒPv7\14¥<u·8®"Î\8bK0\81\ eÈ¿MÃø÷ Ä\82º®Ñ)4²ÁP\ e\10+²c\ 3\1cÏ\1eÜ)\88ËÊ\ 1ë\9d\85 ¥nè\10ð2¯¦\13\8d\ 3~÷Àä'®\97\rW\ eöí\ 6ÆÍÄ#®zÒöÞó\1ct\ e¸è\81e\99Ï}í\f÷oÛ\84ÇÊ\ 1ÆÍÄ-ªrÂÚ+:\13¥\ 3¡\84\1eø!1øÆEÄ\ 3±§\ 4v\9b[T\19\8c2"È\80¨d/\ e¥Û¥c»E¹\990\ f&0º2/FײV\14Ñ\15¨\ 6Ý\9e\1céi\´nì½\84\82b\r%\r\vABU߯\v&î¾±©Ù¹ùÅ÷ÿ«\9e\1a\eì¬/z\13îi­\8fÇm\ 6\9a½\8e\8e}\93´º\81­wÔ»ÏÍ=#ãS33³¤7\aßü\ fï§\9a\ 1\93ß\86º[*ò\92\1e»Yèí\91ÀC6åzFNA\99\ 3Fv>\91iEuí}Ã߯Æ'&&&Á\9b\9a\9a\9e\9eù^ÄOÊ\0\92çfg¦'ÇFú;¿V}L\8b pºxDI\94\87\19\14«Á1ÉÌ-"§elï\13\9e\9c_ÞØÖÕÛ?08444<<<2:
+j\80E U,)cvffzzrâÛp\7f7±¾ìCÚ\8b`WëÓ\av        mÄz$\11\bb\8aÚÆv\9e\8fãÓ\v\e\9a[Z\89míí\1d\1d\9d]Ý=½} \bXÅÒ2ào|ìÛÈ`_gkCEaö_ÑAn¶&\87\95%ù9è1N%\80\11jzv>qÅCFÖ.\ 1añ©Yù\9f\94\95WTVUU×ÔÖ74}%\15±´\fð\ 6\a\aúzºÚ¾Ö\95\17æ¤Ä\85úÞ²1ÖUݾ\85\8b\19ëÈ\re3°ó\89É\1fÐ7µwõ{\14\11\9bð:5-=#3+;'÷}~Á§"R\11\95\0¯\8dØúµ±®òsAVJܳ@wGóÓ:{v\bó²ÑSc?\91 Û\ 4\11\99½\87O\9bÚ:¹yû\a=
+}\16\11\19\1d\13ó<6.>!)9õ-,"+û¿Ë\80¯¢¼ôsá\87ì·I/B\ 3ï\·0>¦¡(½\85\87\8da=Õ\1aÌý\8f\9a\8e\95[PR^]Gÿ¬©\85­£ÓÍÛî\1e\9e^Þ>÷|ý\ 3ï\a\87\84\86EDFÁ*þ^FV6ø23Þ½ù+áEøC_·k\96&z\9a*2¢\9b¸X\81j\1cvä:Z¦\r\ 4!IY\95ý\87\8eê\19\9c1¹höÛeK+k\9b+Wí\1c®;ßB\8aðò^R\ 6xÑQ\91áOCîûzü\9bý2éI\18\b\ 3h\90®\94.\94¥-Z\96°£\80\e\8baUÜŸ\ 1n1\91\98p0n`ôäA\ f&Æð£\9d©6Ø\ 6\8f\80\87¾Ãd2§÷¾Ë\97y}¾i5w*\99DPvÙ¬\8aõ°µÍ(Ió\82\1c\88¥\16s\85Ju}«¶wpTo\1e\1f\9f\9c\9d_\^©\11ÝG]\ 6 ×ûüx\7f{yºk_Ô·+ÙdÈ#ò\8c\ 5GÍö\ 6»}\ 2ÁH\9asJ²/\10\8eM'g\17ÒÙ¥|¡X*W\96WV7~"`Åéï\fÐÑít\1eîo¯Û­óÆîZ1\9d\b{E;C\11(\1cõ\b¾\92fàM1\9cÝ)Hî)Ùë\ f\ 4Ã\91h,\16\9f\9eI¤æÔ\88RY\9f\ 1h6ê\87ûµÍj1;\17\ fzD;K\11\182üQ+ÚÐ\eÅ    \ve¥Y\96³Ù\1dN\97 J\92Û=9%{ú\11q]\86\90Ïeæ\93ñ\90oRà\99ÑI+ÞP\1cA1\fÇ  \92\ 4úV\9aa\18\166ðý\b]\ 6ì\0g4\12
+ø=nÁÁÑ\96QJ«â\03\0\ 1þJ\0H ´\11,§Ë\0H\92(8\1d<GS$\8e\8eVºï®0¡\16h#`\85.\ 3\0\95²\108\1cô\18¤\a'h#´\19*\18\86"ßÎc\96Öc2ý\95\ 1\81\ fÿNy\10&-ãÖ10000\18'_\ 2\f\0WFhÇ\rendstream\rendobj\r1099 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 183>>/Filter/FlateDecode/Height 210/Intent/RelativeColorimetric/Length 13748/Name/X/Subtype/Image/Type/XObject/Width 183>>stream\r
+H\89ì\97çW\93Ù\16ÆÇ\91\18JBz \85\14J(!´\0\81 %t\10¤H\17¤I\95\8e\88t\94\12\9a
+R\15Az\11H\ 2(]\ 4\ 6ð\8e::Êxÿ\9e{Þ7 \83\12¼³ÖMôÞug\7fȧ\9cµ\7fg¿Ï~ö>?ýôwü\1dÿ\1fqîËøÑ8\7f)ä¨?\1fÇÿ\ 4º\ 2ù<\14Zðïy\ 5ú\8f&ûFÈ¡\ 1°\16\ 2\81¸\0\ 5\ 2¡¥¥$ÿÑtg\85\12\1a\10#µµu ÐÖF\ 2v\98ü¿\15\N\r \91Ú:ºz(4\14(\94\9e®\ eòG\81ÿ%W\90S\ 3h]=´>\16\87'\10\bx\1c\16£\8fÒÓÑFÂàß\93û+;;31L\8d¸ ­£\87Æâ\89d\ 3C
+\95B14 \11ñ\184\0\87*þý¸UÙÙ7©uÑ\18\90jÄd±\8d\8dÙ,¦\11Õ\90\84Ç\ 2pä÷áVVWégßv3è\8f\105(5Ñ\80Æ063·âZ[s­,8&L:\85\84Ç tµ/h\96ûÜ        b\b\19ö3(´\94\9du:5D­\ 5Õ\1a\18\19s¬l\1c\1c\9d\ 5\ 2g'¾\9dµ\85)\8bf@Ä¢\95Ü\9acþY\ 1\f\13\ 3;C\ 2C\ 3?ßð2pD\v\81\84¨©LSK[GWw/o__\1f\91§\9bÀ\81ga \90p\9aäVN\f\0¬ \ 6\ 6¬«\a\85®.p\ 4¸³N§\96KD\a\85%R\98f\\a\17\ fßÀ\90°\88È\88°\90@\1f\ f\17\19\93
+q#\11\1aÁ>\1es\bÅÈÐ\85\fX\1f\83Á`1\18}4êLG\0Ç\80Dô0\ 4C\86\995_è\1d\14\16\9d\90\94\9c\92\9c\94\10\1d\1eìãæÈã°¨$,JG3å\86\eëxbÀÄ\90\ 1\13\88\ 4<V\1f4\96Â\11¾¦>¯\85ÔAãÈt\13.ßÍ'$êjZÖ\8düÂ\82¼ìô¤\98Ëþ\1eN6\1c&\85\80ÑÓFh©\1f\e¦\86¡A\91\ 11\ 4\fù/\8dN§Ó¨À\83!'\ 3õ\86dr
+\e\ 1\8aM¤²,ì\85>!1ÉY\ 5e\15Õ55Uå%7Ò\13"\ 2=\9cxfF\ 68´¼ÜjÇ\86©¡1\87Á\11HdC*Í\88\ 1ü×ÄÔÔÄ\98\r\84!|}P\v(\eG62ã   D\97¢SrK«î\8aÛ:Ú[\9bêo\17e&F\ 4¸ó­\8c©D\8c\1e¬nµS+'\ 6\8eH¦Ð\18,cS\8e\85\9agóæZrLXtC"\10èéÆ\825¢«O °,\1c.\ 6D^˹Y+¾ß3ðøQ\7f÷½¦ê\92¬«á¾B[\ e\83\8cC\81;k\0[î½X\ 2\99bÄ2áXZÛØñ\9d\9c\ 5.®.\ 2G{\e+\ e\9bn\0       \14\94û\146\ 2  4B3±v\16\85Æg\94Ô´<|<21=51òøaKMñõ¸\10/'+6\85\0©DÝâVx/
+K0 1MÌ­íø\ 2¡»§ÈÇ×ÏÏ×ÛÃÍÙ\81gΦ\91\81@O}i¹´±@#¶B¿Èä¼\8a¦®Á\899éÒ\92l~r¨[\\99\9f\12éïjcJ'at\91êÆ\96\17[\a¸\98\ 1\9dÍáÚ9  =}ü\83\8d\8c\f\ f\ròó\14òyJ?P\85\8dÂ\190Ìí/\ 6Ť\17×u\f\8cÏ?_ßÚÚX\91M?él(Ë\8a¿äá`Πc!q«\1f\e\1etd\1aÛÜ\9aïêé\17\1c\16\15\vÙ/ðßø¨°@o!\9fkB'cO\vT\89Í´pð¸\14\97YÖÐ54»¼¹³\7fðË«5Ùä@[uþµpo'+\96!\10·\ 6°µ \17#\80A\aF\86(0,&15#'¯ ° ?7#%>"XäbkÎ4ÄË\ 5ª\ 2Û\90iÉ÷\fIÈ.oî\19]XÛ9|óöÍáÎêüÓÎ;%éQ~.Öl
+^3Ø\17´QX\12ÍØÒÞU\14\14\99\90\9a]PZ^Y]S]Y^\9c\vì7ÀÃÑ\8aM%èÃ\ 2U\81\rª\raçÜ\16÷\8eË6÷ß|øýû\83­Å\89Þæ[\99±\81B\e\13*èIu; Ü|Ñ8\ 3#S\9e\93G@DBzÞÍÊú¦\96¶ö6qCMY^Z\¨·\80wÜWª°\19æ@$ñ Ú½\13²­\83w\9f\8e\8e~\7f³ûbæQ[eNBðE[S\1ad%jÇ\86:\12\8d7d\9aÛºú\84Ʀå\95Õ6wtõö\ fôwß\17×Þ̹v%ÀÍ\8ec\ 4÷Õil$ä$\1c»\8b\19e\8d=cÒÍ\83ß\8e>\7fþôn\7f}îIGu^b\88»\9d\19\8d¨¯9l0 Ýü#\12³KkÅ\9dýC£ããcÃ\ 3]âê¢ë±ÁÇvp
+\e\8c\eàÛ¦6®þWÒ\8aït>]Xß\7f÷éó?\8fÞ\1fnJ\9e>¨-H
+õ°7£k\ 4ûg\ 5¶¥\83{`TJÞíÆ\a\ 3#Ss\v\92ù\99±G÷\enå\½ìåhÉ4\90Û\81\8a£\ 4
+\9bëì\1d\96\94_Ý18»²ûæã\1f\9f\8f>¼Þ\92\8e\17&_ötà\18\11õu5\87máà\1e\14\9dVXÝÒ3<-Y^Yy.\9b\1dém©ÊO\ e÷v>v±¯\8e\1e\e·{p\Ö- îÅ\97\87ï?ýqôþõ\96l´ëNQJ\98\17ßÜ\88¤!lØ\ fÀÐ\b\8cN+ªmï\1f\9b[^ßz¹¹*\9dz|¯®(í\8a¯\80ËV\81-\17\12\13\9e\8bodJQÝý¡¹ÕÝ_?|üøÛá\96lìáÝâÔp\11ß\9c\ 1ÚYíKÉñ\88æØ
+ý¯¤\16Ö´\ fLHV¶vvw6\9f?\eîº[z\1d\98ï\19ØÊ/\ 5,\10ò\92Ûâ¾\89Å­\83·ïß¿=\0ØÝ\r¥i\11Þ\8e\16\f²\86°\15%\13ø\84_Ë«jí\e\97¬nïý²·½º0ÚÝX\96\11ãïjmLQ\8d\r/S$º)ÏÅ/2\15*÷³\95W`àüº¿)\eïi¼\99~ÅÇÉ\92  µ³Ú±\15%£°,\1dáa×Ô=2¿òro\7f\7fg]:ÞÛ\\9e\15\e\0aãOcÃk\98¢ÜJë\1e\97®ï\1eþãõ\1eÀîm*\ 3_J`Å2Ð\f6ÔX°ýº\ 5\17×?x2³¼¹\v°7d\13ý-·³ã\ 2\85¼3°Oì®\ 2ß\88\94ÂÚ{\833Kʳ}Íå\991þ`ºÃ\ 2Sû­Øö©Æ\'ÑåÄ\e\95­ý\13Òµí½½\9d\8dÅÉ\81Ö\8a\9cø 70¡ñèÓØÇ\ f\1cØL\82b3Ë\1aÁ§z\ 1\1ac{íÏ+\9fqö?ÅVx    \99\ 1Ê\1d\18s½ôn×ðìòÆ«\9d\8bS\8fÚªrá       -_,T`\1fßÙÙ;üZ~uûÀ¤tuk{kU
+vÀÊÜ\84Kîv`º«\7fÞ|\91ÚI\14\96\ 4\9a²\7f\²²¹ýr\r`·+'´<µªÃ
+#\82î\9cqónçÐÌâêÆÆ\8atòqGM~\12\987À¸5`%\8aÝ\15V·­[@4(·"õªlJ\91Ú\9e\84V.\a\14\15\90X\12\90XߨÜÒÊê\véÔàýº¢\94\bo`%\9aèIå\ 3\a\b«»¥otniu\rJ}¯®09LÄ·8«b'LÐF\18\10\9d^rçÁàäÂÒ\8beéôP'dú '\8d5±q«N=%Y~±,\ 1\15«/N\8dü\96ù\9eXj\1c½B\13s+Ä=Og$KK\92\99áî¦òì8xu\85>\95ÚËýej¸Ü½#³à-+\99z\ 2WÌO>Ý\91*íàx^\81;ûG¥\97Ôß{4þL*\93Ì\8cô¶Vå%]öâ[0\14\84L\94©au?\18\9c\98\93Ê\16¦\87\1e6Âo\14ȸѪ?ô¹?\1fgòr7w\ fOÍI\16\ 6\8aR#¡\8dF~X\13å\96§\ 6å\16\85\ 1\1f\e\99Y\90.L?í\11Wä$\ºhgzö²ÿå\9d¡r\ f\8cÎÌÏÏ\8e\ fv6\94\ 6\ 5+·üq¤~n85\89n\ 6^*`\amìz29·0?3Ò×Zõï\ìä\9d!\89U\88»\87&gç\9eM\ eu\8bÿE{u~5\95æa\11A:\ 1\ 4¤\87\16 \80\10\10¤HG\9a´\ 1©\ 2RED\8a\80\80\91"%ôÞ¤\84\1a $¡\86Ð;\91*EÎìÑ33{æÌ®{Î\9cÙù'ö}on\98\88&Ì~à~â\ 3yïs\7fïó{
+15Úßå<®_       MDÄ \98\18ßs\aM¥¸¾s\88\ 6&\ 6.ºèR\15C¿ù\96º\9e\99\1dô+8n*\9d>:ð®®øeÂ#\ f[S]5X\15®jÜÀ64\r-\9dý¡å´÷S\19ãtJw#ØÉ\90ódñ]\15\r6\1a\1a\10ó\82\bÆ=L£\8f\ 1\96\94ç¥Dú:Y\18j^Ѹ¯!b"\ 3\bjvß\ad9RKï\bc\9c1ÒÛBÊK\ eGR    bï\82ÆÍ¡XØÓ\9cÒ\86.0nÚH_{MaF\Ð\ 3\e\90K\90q_ÅV"\13SÑ1±ñ\b\ 1&\r´\84>1Nío¯"¦F\81&\v}\92\9fEÃqsüÊ\18\ 6Áô\82êö¾\11\1a\9d:ÔÝX\96\9b\1cñÐÑÂðªØ\rÇ\rX¢¬\85·r\v\8a\ 3äî\1a¢O *V\94\11\e\88\94\14þ\16Íñ+@1\ 3\vGßÈ\94<Rs\ fe\8c\ 1Ç]]\90\11\8b\8c[\r\8aÉUl%`       ¸h\r\ 3\80\98ôÂÚw\83´\89IÆp\ f w\ 2×pøY4ǯ@\1aÓ5µõ\80\99½\ e,%\831Fén*Ë}\ 6Ømi¨u[^ZüÿÙJ¡\8b\ f?ØÂ\90Üêú\ 4Gß(ØÍ\ 6i\93@¹û8ä¶\13Hîk¨\ 6*kAÝ\8f~A¬j\ 3\963Á \ e\14\ 5{ØÞÑSW\94\95üÛãFp^ç}øB\ao\16\97VP\85;\19\99òº\12øûäÌ\14m°£\9a\98úØ×\91 ¯. Y\b¡w\ 5\97Ò'<ùUy\13ÐýÉIÆ\b¹\99\94\97òØÏù.\1eZ¥øßÚJ\14²°°ð\rî\ 3þæBÿæ¿Ñ\9d4µó
+\aµ°­\1fÄ\92\99ñá®ú¢\8c'\81.\90Ü\1c«ûþ«PÝ×1¹÷ 8>³\18\r&ô¡Îú·Y    !^öæ8\r%\f`Ùå4A@CÈ"¢¢79\8f¨¨\88\bÄÎ\81~ñÍ7 ×i\9bØx\86>Í%µöÓ¦gg'\91ü\89\90\e\8b\92\9bÏ»xt?ê\ 5±\1a\rccýmUÄ\17Ñ\81®Ö&:P\ 4/¥   \17´\88èM1q         Iä\91\90\10\17\83Ø\11ä\17F\8eJ  \16\7fïÁ£Ä\9c²\96>Ú4\8b5C\1fh«ÈK\ eãé\84üÆÍÕ}{ï0\90\ eZúƦfYÌ       \10"A2    ÷q@Dðò­DP\ 3Ð\0³\94´\8c,\ 6#'\87ÁÈÊHKI\ 2èpè\17\81s`+i\19\a\8drfn~v\82ÒYó\ 6\90\e\143~\r\aý5\87ch:xÛ\0";ka\9e9Né¬-\84"\88nå%â\8d \ 6\93\16\97\94\96ÅÈßRTR\ 6\8f\92\92¢\82<FV\1a ¿)z\118g«À5ßuý!.«\ 46³ùŹiX®@Ãq¶4\10Lnô«ÑtPPÓ9<ÁZ\Z\98¡õ·Väs·Rá\92­\84¨á¨%¤eån)©¨ihja±X-Mu5\15eE\ 59\19iI8r\14øù¼Páv        \8cÍ|Û\b\våÒ\ 2\93Þ×\\96\9d\10ìn\8dÇ
\84¼,   O\ 6+=8ÎZZ\ 1\85\94Jn,ÉJü[[É\995\18µ\8cÜ-e5Mm=\9c¡\11\1e\8f72Äéik©«*ß\92\97ý\ 68*Ü\1a8\vç\80'\19Å\rä±\99Å\95¥¹\89¡ö\8a¼§¡\9e¶¦\82;!\ fK\1e\ 4'd\956õÑf\97×ÖWæ')ï@Í\89       t»|+\91P&*.)+¯¤ª©k`|\87`iemmmeI031Âéh©«(Êc\0ð\9b¢p99¸yüÆ/:½¨¾g\8c¹¸º²05ÒYC|\ eª\ 2è\84ð\8eù\92\9b\97%Àf뺩3Kë\9b\e+,F\7fKù«dîVJñßJ¤e\89\8aIÊ*(«kãL\bÖv\ eήîîîn.N÷mî\12L\8dôµ5T\94ÀÄ%ÄnÂ\81#¸a\98\ 2~£¦gî\0l²°®\87Ê\Z[[b\8e\91\e\8aÒc@UÀñ¯
+¼,Ñ\87\192%¿ªcxjqc{{c\99\ 1Ú\1f\95\r¿\DLRFAYC×ÈÌú¾«çÃ\80\1f\82\83\83\83\ 2ý|<\\1d\9aáq\0¸¢\9c\8c\94ø9n$\ 3rlòáãÔ7µÝTæòúÆê\1c£¿¹4+>\bV\ 5\ 1i\8a\87%&6@A³ËZ\ 6Æ\17ÖÙ;ì\8dÅIJGåëçp+\8d°\82¼\12Id\12Òò\05ÞÂÖÙËÿQDL\|BB|ltDHàC\ fg{+s¼>VMY\ 1\ 3\ 6\8e\9c\8d®ªºwì}"\9e\13k ì\8dÍuðÒö\8aÜ$P\15ÎÓ\14\1fØç\8e\ 3ûhzQ\ 3\996·ÆÞÝe¯ÍÑû\9a`Ûøk+¿;n$!\88Ia\14Õtð\16ön¾\8f¢â\9f¥½ÌÎÉÉÊLKI\8a\8d|äïåjoef¤«      \ 6~\8e[è/w÷\ eO!Öt\8d2W6·7\97gF»j^§D UA\8c_\9aB\15\14.\879dÉëêÎ\11æ
+{o\7fo{\ 5\1eQ\90\16s\89Wr\86-£ \825$Ø»û\87Å¥¼Ì/,)#\91ÊJ\8a\88¯2\9f'F\87\ 6x¹ØY\9aà°ª\107\97'H\8a\ 3±Â\16\84\92×Õ\10ö\16{{\8dE#×\17¦E\9d§)\ 1°yX\92\90]Ö:8¹´µwx¸·µ89ØJÊ\ 5[    \vÃm.M.\1eÃ\19\9c²\ 6ÎÌÖÍ?"!=ïme}s[{{[KcmÅ[bNZRL¨¿\87£õ\1d\ 3m5%\ 47<\ 5¬1'\94Øz\86=˯ê\1ce®nï¼ßX\98\18h.É\8c\r\14\9c¦¾Ê%\90%õdúüÆîáÑáÎú\1c\8dÜP\f\12,g+1\92b\88\9a\b}ûsp[ª:ÆVξá\89\19DRC\ay`xdt\842@~×\[^ø*-ñq\90·³\8d¹¡¶\9a"F\8aóõ¼°\93!ìYHÍíåiJ;)'ñrÃá²\84ã8àÃß\8d0Ww\ e\8f\8f\ fØ+ÓÃ\1dU`+ý]¬\8c\ 1M¸j"ôõ¯áeÁ\8aD¸ï\15\12\97þ¦²\ 5\14éٹ9\16s\9aA\1dìi«+/ÈN\89\rõuµ57ÄÂS u]çD}î´«»¨¬õ\9dýý÷k³£\9dUùÉa\9e¶&\Ãá\v\eaÉm\98K\82â³J\9b\a&\96\ f\8eO\8e÷·\16Æ\81\1ee'\85z;\10 M¸ô¾\10å@!UPÑ1¶v\v\8cNͯhí\ 3\86·¶¹Ífo­/ÏOÓ)ä¶Ú\92¼´ø0?W\e3\1c$\e¸záë×¹+\89p»¦{l\ e\ñáÞæ<\9d\÷&5Ò\a\18\8e \86ÃÃ\12\ 3\v'¿(¨¡à\88½ãÓÓ£ÝõYjw]a:\8cTfú\1aÊ(1yù\8dØ\15\f\178óûÞaI9¥M½4Ö*ûàèôãéÉÑþûõ%&c¨«\89DÌH\bóu±6\85dC\92\820\92ô¡\0z\ 3\ 1¬í¡Ïoí\1f\1d\1d°\97\e\8bÓ£ý\9c\b8Á;y\8d§Rz\86$½"µQ¦Ww\8e>\9e\9d~x¿<Ei¯Ì\a4\ 1j¢§®Ä#\ 4_]\95Üm,ÞÊ5 &­ ¶\8b:»¾wòãç\9f~þù§Ïÿøøawcq\9aÚÛZù&=>ÄÛÑ\12X\80\ 2¬[ \9bÃwªq즠¾\97±È><\ 1\93Z\9d\1ej-}\19wiùP)¡t÷2\16\ eNÏÎN\ e\16\18@¼s\9e\86?tºk¬û\1dÜH¶\0n§{ÇÎ34)§¼uhzu÷ôÓ?\7fû÷\97/_þõë/\9fÎ>¼_cÑû[+\89/\9e\ 4=°3ÓGv\e´\1eN\1dÄ\11\9c@&)nì\9f\\86\93:Ùß\98\1dí@wRë\92\9dD/\1aJ7\8c\81\95\1d#̵½ã³\1fÏ\8e÷\10\9a\14e\82I9Xâu\10\ 1ã\1a\ 6÷¦8\1c!8úB\93î¡-°O>ÿúå÷?þüó¿\7füþ\9fß~ùtº¿1\ f\ 3Nî³H_踷å¡\98Üø\1fãUâ\ eåÚ\87¿ë;WÇéH\8aD\94\92T4É\96¥ì\14ñQ¶\16:$\9d\93P\8aJ*\1d¡Ò¢¤\9d(r²+\8aB\96Ê6\96\f\183\98\19f\18c-!Ñ÷{Þ\17Õ¹®Â\1f0îç÷Þë,|&h@q=\12\14\11\97\91_VC&×V¾ÉN¼\17
+%p³6\ 1ÏÉ\9fôeìd¨\ 6j\9aØ@û\r\7f\90\9aó¶\92\ 4¿RU\fn\ 2Uðà\1e;3]À½x¡Ø\ðÁ)\82£Ô\10\12\9e\ fãj½\89\8dë\91³\11±O\v*(̶ÎîÞþþ¾Þî®\8e\96ÆZbQVRT\18n¥0·Ä\91´¡\9e£ÿH@£ìØùÛ\8f\9f\17UÔRëÉÕÅ9)Q\97O\1eØ        ÃìçÝu"èàíp3=KG\94\94\8f\9f\15\96×\90)dRÅ\9b\97i±7Ïû{:Û"ÜòK$ÅD\85§\1a\11VYÑ¿\aC\80)ëwánBv1\89Îîèîÿ088øá}\7f\ f\9fÛJ¯+/È\8c¿}ÞÏ}\97¥\9e*ªvðò_\85&M\17¢ùRdò\8b·Õ\14\1a\8dJ*ËK\8b  ;\8dY\89<n%?\86=ábÒË!)a\9b\9d\ 5\ fÌ-®ª£RÉ5Ä¢ì\94\98\88\10?\ fÀ­§¾f\85¬\94¸è×&7Ñ\1f\81^z¸²Òò\88\94f® \7fphxddxhð}\9f\80ÛÚH*ÉI\89\ e\v8ä¼ÕHC\11«ÁB¿ÍFjZ­\81"\ eQûU\19©\81No¨#æ?ypí\fÄ»\9e
+V¹\7f\ 2\e\17\81@Q\8f\93Èý\v\89$J}=ù]YÁó¤èðàã\80Û\\7fýZ\85¥\8b$&\9b\1c\96uBØ$\84mårøìõ¸Ì¢j\1a»³÷ÃÐÈ(ü}\1aùø¡¯«½\99ZY\98ñèF\90\ fÌ--¨v`ݳa\v-\90\ 1ïÚl¿ïhÈ­øgE\95\14:\83ÑH®(È\88\rG\ e8ÕJ~\ 2\eOJä\81èÜ(rÒs\8b«Éõ4`[iþ³ÄûáÁ~\1e.ö[\f Y,\93\99$ø/ÿ\9d²?MSø÷çn?Î.®e´        ú?\8e\8c~\1e\e\eû<:2ô¾·\93M¯)ÎN¸sþ8>·\80Ü¿\v\8b cãW\ 2×~YRÓÀhin\82\afÆ]\ fô\86¥0]\99úÏ7\1e¸ZÝ\0;÷]ìÜTZcÃ$î\90\13^{\1c,\8d´U\14\97/\96\9c$
+r_\9cÚæ(¢#\93sË)ͼ\9e÷C\9f>\8f\8d\8f\8f\1fû\ 5íLrYNräE\7fwP\9a²¼Ì\ 2Q\919"óб1N\ 6!!\13Éô\16V+£¾ª\b\83í\82\ 6Îô°'
+\11úlèÜ8»A$@7ru  à\8e¾~ÎÿÐÞ\9d\eÕ\80à\8b\16`D\995k\16®,\15<4bÒó+ëYÀ\91áQ\84\1aáþ4ô¾\87×B%æ¥Þ¿|Ò\ 3\8aô:\bÊùsçÎ\13\97Z\86näè\ 1­51\e¹&\9bÃbNÂF×\9e ìoÏ\8d~
+\99      ±¶\81Îh¢Qн\93b".\9c:ü§ã¶Íz\1ak±ê\fD\11úUh¶ð<pm5\ 3kgïÀë±\19\1a9üþÁ\11\80ýåË\97ññÏ\9f\86?ôv´R+^¥A×ðp´@°\17\8aÍ\9b\a\13NAyÃf{ìDO^\11ÉM¬¶66À.ĸíl5mãþ×¹±\ f\17\18\1e\93\9a\ 3çnd0\19\8d\14ÐeVòÃ[\17Ïøºÿa·Å@kÝj¹Åà\84s@Y¿\8b`ñjlãê\13\9fçoIMm\82\81\8f\88#8ìÑIØèÚh¶ r³@L|¡\f4]#ëÝ\9e°lðcs¸\\ e³¾²àéÃ\99:ÉwçVÓ·Üå~\ 2EeAym\ 3£¹\85I\87¤+ÊN\8d»såìq\ f ¸±\8e*8¸\14\10e\8e°\88¨ø"Ô\1dQhÜIxQRÇäv#j#ÔØµ1\92PÊsS¢.aÜ\ 6ØR\12\12\9220\86ôPù\82]ò4\9fHf°¹\1d<\ e\93Z\91\9f>Sß\9e\10%^÷å Ú¦¶{¼ÿ¾\8aÚM5\95ÞÜÊja4ÔV¼~ù$>òZ\88ÿ!·\9dÖ\9bt5\b
+K¥%Äæ\89\8a\8aI A °  ½\97\9c\83+r\18çÈ\ 4ìn.³®ôeÒÝ\v~ÈI\94\15d¥%¥¤\97®TÖÙd»çP\0Ì\92\17Å5´Öö\8eN\1e\87A)ÏK\9diJ~wnèûz\16\1fGE0¿¼\96Æd±Ù,f#¹êm^FBtÄ\85ÓGþr²1Ç7\96ä\ 2qq        )Y\ 540 ë¢Ró\88ÔÖ\ e\\91\18ì±ÏÈIÚ\9aHo³\1eß
+9êf¿I\e\9c_FZf©\ 2AÓÈÚé\0|ÕøÌÂJ*\93ÓÁçóØMè}\13\9dd\rÞI~¸\13¾;7Då\1aMãmÐA¯D&e¿®¢4µr@+-tÊ»R¨r\ fo]úûè\ 1g{\v#\1dUEyYi)I)ìs[:z\9eº\12\9d\96_\ 1FÒ78<©È±ÑáÁ>>\9bV]\94\ 1þpx\8f\8d\89&AaÙ\92%KW¬Q×·Øñ§oÐõ\ai¹¥µt\16\8fßÅç±\1ak°÷ùºÙ\9a¬W\9c¦\ 1~{n¬\99¨l4ß¾Ï78âaz^)\89ÖÌiçqÛX\8cz\12\10<íÑݰ ?/Ø*¦\eÕ       +åd1\b\1a°/¼\ 2Àÿ
+*\eXü¾)#ùê\7f¯Ò¢ÃN{í¶6\OP\90[&·BImãf;Wï3W¢\92²ßT7´´ó\ 5\ 2¨/\rUØû¼]¶\1aª¯\82òò³¾=\85û\17|_É)i\18Z9yø\87Þ\ 1\13¬\0gjïèèà²\9biu\15or\9e>\8e\82­\82\9cÐL_s\9d¢\82üò\15«\95µÐD8sõÁ\93\82*ÚWØèØ\18G\18µ%/\12a"ºï´Ð\87·ÊË+(©n0\85     ç\8f\86+TF\ 6§SÐÝÍogRð÷y:Yê©(ÈLë\7fß\9c\e
+P\8b\9dëaL\95ÅX{æcÝ\99N©.y\ 5\ e~\139¡³\1d\10E}­\92¢\12Am\83©\8d\8b7\14¢\7fÃÆì¯\93\ 5\1cÉ|t#Ø×ÍÁLW\8d°jå*%\15mc+ÇýÇB"bá\83"\8atõô\b:9Mµ% ÝP?¼\ 4,\12\13ùíÇ[ò[ÜXVKa&\88©2\ eTYGgq;»\ 4]\9d\6£¾¦¬0+5\169¡§ëv+S=-u\15\155-}3xeàµ\87\0û+I°\8cü8ÐÍm\ 6{H\8b¾\1apÈÅÆt\83\1aAI\91 ¢eh¹c\9fOàµèd´*Z¸]=½=\ 2\1e¼ïõ3x\9fÏ^[\13M¥e\92ó\85\85¦1\92©sC¡\83Ì!h\99lsö:ué^BÖë*$ó®î\9eî.\1e§\99\869á?\91×`Ôîs´17ÒÕÑÖÑ5¶Üî\ 6  \ 5°\81Û\13\92\1c\9f\14$\87N\82"\ 5\1c9àde¬£¦¼VYUË`\8b\83«w\0\fÏçEà"müîÞ¾\1eh\8aÀ\91ô\98«\ 1\aw[\19¨Í\90Ú\93ç\ 6\13\(\vª4spó9\8b²²\ 4L\95\v?\f÷èlo¥\93añd&Fß\b\rðÙïì`efbhhb¾Õñ/ß \80\r\95¤uª\92à\82ìh­\87Ú\1a\17\11ì»o\87%ÐJUU]ÛÀÜÎÅëdèíø\fø\98M°*úúûº;Ñû\90\ 6üöï@\8d\v\85ÍôÔÆpO\98à"9E\r¨&î~ço=Ê\80\b\83_\16ôöÁÈ\ 2keÔ¿+-ÈJ\89½}9ð\98çÞ]¶V\16[,¬\1d\9c\ f\1c\v\86n\ 1\ 68éÛ¸ \a þÕ\95å¦F\87\9dñvµßb¸ASCSÇÐÜö\ f\ f¿s7bÓsKI\8d,\9e\0\16\80\a>\82Þ\17\15ã\bîÚ3\82ýU\95kµAf\aO_¾\97\b4©onç÷ô\r\fÀ\8fw ¢\10_¿H\8f¿w5Äß{¿Ë.\a[;\a§½\aO\9c\8b\88\ 5ØÔ\16¼·\8ec\82\8d¼8áîÅ\93°ë\10§tt\8dÌmv»\1f\v\ e\8fI\99 voÿ\0¬·6F]YNÊý˧<\9dþ§\8fm7\8c#ÿ§½¼ã¢º³(înLLUWÝX\13ËêjÔUãFc×D¬Áè\8abtÁ. \11]\9a\15\14l\88\14\88 \88 R¥\888R\14éEêP\85¡Î\0Ã0Lg\98\19\94½÷÷Þ\0cvW\18Ù÷\9få3\9fóÎûÞsÏí\85\9bL%Ù\95KÖvcR^\ 3\96\88%\12±\10b
+@ÉN\8e\8d|àý\9b½\8dåá\ 3»\r\rvî51³¾ì~7<!³¸«n÷dÄßýâñ\83\ 6\9b×­\¾l\85ÎúÍ\ 6Æ\96v.ÞA\8f_\10°[EbøÝÆ\1a\1cÈ\80ë\17-÷o]½ðo\14#½A{@×T\ e¦Â\9b`Bv|aE=\97/\92Hñ¨å\ 1(ÅôÊt:wÊü°\89\91ñ¡£Çm\1d\7fâ%Iª\14Þ6
\11\163#î¡ïµsV&\ 6zºktV­Ù°ÅÐØÂÖùÖ\ 3hÆLü]¡X"\12\80ÙÌt\128¦]\17g/\19¡t\ fÄ]Ic²Ó\14Ó\ 4Ç\1d0\11\88¥2\99T,DPJ©\95ééjo{ÒÒÜÌâ¸ÍÅ«·îÃê(\ 6Ù¤¸¾\ 6´e"\1e»¢ íiÈí«v\96&;·nÔýIwÓ¶]&\16g\9d\8bLHÇÄn\ 1Õj³£ïÝ\80ËmÛZh·ãFô\9e\11Ên\rLÌ \qé\94\ 1&B\89¬­M\ 6\867sªË\v³ae>ð¹îlowÆÚÆö¢Óu\9f ò~([Ñ\81\87$\15\7fy)O\82½]ì¬\ eíÙ±UOOÿ\9f{\ fYÚ:Ý\f\88ÀâP\ 3`\ 3\8bõ@vl\98\8fË\99#»6ý8\7fúÄQÃz\9b#\9a\98\8c\ 1L\96ën7>vÁÍ/<\ e\8c©ã¶\8a¥mry\9bT,à5ÔVàÊ\8c\ e¹ëåîrå²½\83\8b\9bW@\18#)§¤ºQ-\e\ f\en]ynrL\90÷Õó'\8e\18Á\14\18î1:rÜ\ eT\87ǦÂ8rxÔÄ´4TÃ9ö\bÍ6þeÝ\9298\90¸kz-[\ 3\13X:\86¿\9er\80âð<«\b\86\91ÉÛÛå2     \82ÂÂ\95ù$<ÐÏËÃÝÍÝÃûnpT<f|S+ÈVuàD\92Í\9e\9bü$Øç·KÖ\16¦&FF&¦\16§/¸x\82ê\94Ü\92*\1cG    Ì\v¿©îU~*°ä\8c\9c?câèaÔ@öE¶\1a\13\:°µÏ8Ó5­¡E(mk\aÝmR\11\9fË®\86n\95\1c\17ý0Ðÿ\8e\8f¯ß½àHFbf!~\14\89\ÑÑ%»</åi\98ß\r§ó§­ÌÍÌ­NÙ^¾æu?"6%§\84Åæ\12Õb\98GVQÖ3Ì\e+£mÄì/\87~Öû\81ÔÄdô\84oH)¶$¥8\15\16C\13_\fv+\14ír©¸\15z&\94ðôÄØè\88Ðàà\90\87\8f\18ÏÓr0Ð\ 4RH\12µl°1-.ò¾·\9bã\85³66gÎÙ»Üð\r\8c\8aKÍ-aÑáD\10)ÍI\8a  ¼åxú°áÆ\1fÑìá}4»\e\93!pmÑ'\b,KHAL+\81¤­]¡T(\0\14Øku¬Ò\82ìÔÄ8FÌã\18F\bjvay\r~\92v%Í6\8cd%3óyL¨?\8c\80£\83\83\93ëuoÿÐè\844Jµ\90D*"R\90\16\eæëjg\ e%qñ\9c)Z\98Ý\85        t\93¯¦Ì\86\83\8f,K:\ 5y\88\89R©T´Ó ¼*ÎÏNO~\91\98ø"%ãeA)\88i\15ËÔ²eBèG%9)q\8fB\ 2|<=nxxÞö\ f\8a`$fä\97\89×2ülìJ@$*à\86ý\89\83;6¬ønú\84>\93­\81       VX:\ 5\8a )(\92É\15J\95R         @n5Ô±Ê\8b\vr²³²²sò\99e\95Ð\9c\85\122\91$\0E|8´àº\88\8d~\18tÏß?àAHDLB
+|\94jµL\86Ó­FÄ    ªíf\9d\ 5³&\8f\83\18!f÷MvW7\191f\12.ËíXèïP½§  ÍT¨T*%\80"\86\8e©e½*-f2\99Å¥¯ªê\1a\9a\89Ù*\\92Ф$\ 2.\9bU\9a\9f\99\9cÀ\88\8e\8c\88\88\8af$$eä\16W@¥l\15Iem2)"R\9e\8f\88\;g±_\7fÝÒo§\8d\1f¥\95Ù\ 3¨*\b\15\97$\ 57âùDZ¦\1ao%èV\11PZyM\9cºjVeE%«ª\16Π¾HJ\99\r[\12fRÔ\82\9d1?;-éyB|³\17©\99¹Ì2V]#ä5ì\0Ø]$E2\9fE\ 6\·ÇBþü\19\93Æ\8c\18üé -ÌîNÁa\98\82\8bVëíîîô\887bÒÑA\19\ eý\9eÛÀa×׳9\8d\\1e|y|)lR\b\r\9b©²\8c\99÷2+##3+'¿¨¬²\86\83Ã(\93ËI\90B_¥R\ 4\11Yµp\16Îãç\1fkeö[)¸t\9d¾ú\82"é-\ 2Ý \eu\83á \9cÏk\86\87×\ 2å\16&\16Í&W\82
+^\8bð_]QVRÄd\16\ 1G¬Zv\13\ f×-ä?¾U3\1c\90=\10\99K!2h 6f\ fÐHÁ\19óVÀ½z\fð\86ôÎ\83\17\1d\94\f¶³P \10\bEb(-D5u\93uÀ¿R\18Õ×T±*Y¬êÚz\ e\88F«!ýñ¥ø\8dÕPla«\13DV\10Dèµ®\8dj\8d\14\9cµ\0\97üI{Hïøt²\aÅ@B\a¦\ 5q\1c\18\85ü\95B?l#øPªÑn%ù\1a|\1e·±\81Ãá4465· hÌ~%¾\13¹4S\19!Þpüì&\88\8c£\11é[fkê\ 6\80\14\9c:g1à}ÄúÊÍû\8f \9cTb9\91ÓsG\84\83r|ÚQM\97jZ7,&Ĩ\ 5\1f¸t©\ f¢$Q\ 4u\9c\98­ÞêÝ)¢­Ù\ 34N\ 6\82÷>³³p\91Ä$á\89\ 6x\93Á£\85C\8cS\8fJÕA©îìì¤u\ 3þ2ÀH,\12\ 1C YÞ® \0\83mDêx*#ØËÉÚ\94lõ÷H\91nÝx¡a\17\1c;     ðÖÝndyþ\9aoèÓ\14hyXNÛi_\89rõó\9a²º³S­\9b¢H\ e=\1dºº\9ch¦?\13Õ´J_&Fù»_°< ¿\ 6\8e\ 3\92"\1fj\97"=í¦ñ&émp\bÊÉÝ\88x<Ѱ/)TÝ8¨\1fê\8f\9d\9d]º_\93o¡ \9eîÏ\81·\ f\9elUÌ\8cØÐÛÎ6¦\86?ÿеÕßËì\9excz\93r\82x\93\13¦ED\9a\aj|£ùtv?Ô\e\91ÈÁ§ÇçxC\9dlpû$?¾\8f\97\98þÚE³ÉV\7fODzèÆô\9e6w)]NàDËÃ%\8fSùZCåï\9f·¾\ 5-\19ÿ\1e\1a\va$ûYÄ\1d\7fÁ%6oú\ 4­·úïd\13¼\87\8c\0¼Õ'\1a\84e       v«:Þ!»Kù[ß\ 23].AFÒcC¼\1cO\1dÚ±~É\9c)`6\9c½\1f¼¯ên¼ér²Éððé+\9e\ f\1e\96\11»\91\92wÉþÏïòºCÑ&jaWä##\17­öoYµ`æ¤ÑôÙûÞ²iLºN´-ûÌí\}\1fÆ¡Ý-¢¶wSò_eC«\15\95å$Fú]³=ºkã\8a¿Oû\1a\8e\83~1{\80fz\ 3&;\ e\9e¼|\13í.¯ã\92+F{ÙRASuqf|Øm§Ó\14#cG\f&d÷\83j\90­.'\80É\ 2\9dÍ{Ìl]ï\84'd\16W7jO        L$A\9bU\98Æ\b¼i\7fÜH\7f5aäó>_bÿC7\9dÞ#ÇO\9d»ì'°ÛÁ3èIjA%\9b¦D+³\11m\1eûU^Rt\80ûyó=ÿøqÞ7ãG"#ý¤\9aÖ\r\98À©3sÁ*½½\16çÝü£\12sÊê\9a\85\90%ZÊF´¹µe/\9fGܹzæ\88á\86åßþ\15s¤¿\18Qëþðc°ûëis\97o00µqö      \8b\aJ\9aZ¥@\89\16²\91\91vik# \1d\17êíxêàöu\8bgýeÌð/>é7FhÝ\ 3?\ 2»ÇN\9eµhí6ã\13\97=\83\18i\85¬\ 6>­ÅL\92Ô\16ó9\95\85©O\ 2=.\1d;°uÕ÷3&\8eú\13¢Ý/9¢ÖMÙ=jÂôù+7ﵸà\1e\10\9d\9c_Áæ\ 1ÜÚÌd÷fOzäïvÎ\fÐþ\8e\8e¿~4\9b²{ЧCþüÕÔ¹Ë\7fÞyô¬«_$\r·63ù\86\8a?²ÙÃ}]lL\rt\97\ 1ÚPYû\13m¢û\8f\1f|ôÉàác'Ï^²~ǯÖN·Ã\12²Jj¸\ 2©63IÇ_#nöà[WN\9aü²vÑÿ\ 1m\94ý\a¤dØèI3\17®\ 1¸\1dn\ 5Çf\14Ark'\9b\8e¿\8aü\14Üì\96ûôt¾\9f1¡ÿÑFÝ@ÉgCG\ 2Ü:[ö[]ò\bd¤ý\9b÷2\ f§:oÃxïTSi\8aöFZD£\14%)\19\8c\14\92%¥H&4ITDB\91PqL"$Lö\9d²$R\96d?Y³/É.ûNÑ:ïóýýÎ9ô.×åô\9eïûýç÷ûós=×ýÜ÷ýT4t\10\81Ã,ö×)ö75ÙQ\8dbí°Il6öåk6î\90>\ 4;y/ìINÙ\9b·ý#ß\83M´?°¿Ê\97`\7f\15X\9cìS±g\82\ 5¢\9d\94:¨mlç\1e\92\90\ 5VÒ7ò\9ey\aD>B´¿²\9c¤\bÂþX\9eìß`Ï[¸\94k\83\90¤\92Ö\ 5[· Ç\99%¯Û¾Ç\ 1\19>\82Ú_°\9b\9d±\8e\8aô\ eZ²³ZÚÀ=sö¼\ 5ÈJ$\14\7f7¼v'ðQFqÝ÷aÓ/\ 4\9aFÎi*HÀ\85\80ÁþhØs\17,æä\11\14? yÞÚ% îE\11\18÷ð;f±'¯ÈÒì$¸"Í@#»\ 5\88\v\81õ\1a!±Á\ 1y\ 4\7f\95\aãvö\8fM/¬mAyÃ,6¹\90]ÍÕpE\ 6¹\82\8f¨ì¡i\84åö\87°\7f \8d[@L^ã¬Õm¿Øç\855-ÌÇäWÚBB\1fÉK\86¬\81\1aE\\91\984Bb/BØû\8f\19X:ùÆ ìn汿 òG,dfB¨ÇMÓS\8c+\12\87F\18Ø[\18Ø\ 5ß\81M\ e{¤¯£¡âej\8c\9f³µá  eú\15\89C#,\9a6}Ø­u%Y\10ì\ eæzjÐGxWÑ4\82    û\7fÕ6mØÈýòÓb\ 3îØÀBJ\8bðÓú\b\ 6\8d°ÄI¾N\ eûUvR\84·ãeýc°\90Ä9\86#kf°Æ·\19ÊFÃ\8e\vtµ5>y\18Ê\1f7ZH<\1aaEJ\12Ã\1e\9f:l\ 3\r\ 5      !>ÚBbÑ\b\v:       \9c\a¤g7 eÓ\87½e=ç\92\85Ø\86\ 1ê\98\¿\e\92Èt\ 3$\87=\8a<\el\84\86\82ävbØ\98\16\92\15}\e¨á<@Ã\ 6Ï\8e\r\98:lLîÇ\8aëæ+½\8d \80L\f÷¢Xè\93Ê^ÁAº\1f\16\7f\8bVro\11\95Sû¾[\12)\e\86Ý\vm\84\9a\1aã\ f\9e­sh/cØXÜoÆ?\bÿ[Â\89l\9bH\9b\98´\82êæîÁécO\ e»\ 6\86\1dæé`qæØ\ 1\9a\8dà\eö\14#!ý\8f°m&B\92Ö³Qõ£¦Dû¹\3ÒVÙ»s3ÍFð\f{r#\85÷¨\10F\92\90õêu;3þGólBÙ   a¨\8d¨ËC@®Æ:lÐÈ\9cù\8b\88\8dTÕ5³÷\8cHÊe\18É´°é\ 1       6BM\8dö'\86\13k@\12\1aAÑNô?uý+äF6v2a$°\90\8cê\97\18>9ìe´\80Ä¥\11RÚÛ$\14Q#ñ'ú\1fS\eÉ8|'«ßN~ÌÃ&]\e\85\rHÛØÎ=\18¢½®\r\15©éc\13\87o{}iNR$QýÈa³ãj#3h\1a\81ÖʽYT\86\b\9b\88$\94\91D´O\ f\9b®\91\96\9a¢\17ñÁîv&'\ fïÅ­lºF þ\89\1fÐ\80ÓÆçá\14iO\ f\9b®\91
+jÊCßÛVç4\15$\85\b\eÁ8l\86F\84¥\94µ\8cl\\ 3\1f¥\171+mÔý\90F²Ñ-fvú¨ìn\ 1ðl¼Ã¦kd\97\8cê©KУ\12³i®Í\ 4öÄ»!è~ \91 7[cm\95=;6­]\81¯ú\91Ã\86ÒJ×È\95\1f$S¡G\11®Í\8c´\aº\9aªòS£A#g\8f+\88oÛÀ\85íð%±QÖp¬X»q\87ÔA­\v \91¸ôÂ\9aæ.ÐÈôÃ\86\94vCyÞ³Ho\8a\85ÞQYÑ-ëa!ñ\r\9bì#(k¶\88Ê\1eѽd\ f]\e4\ 2\97\r3ö÷\19E$\92vb¨Ç\8d\8b\7f\1c\92\16!4\82éð\9dA[H6öe«\7f\11\92P8~Ö
\b\93\1a¡¹vOk]qF|\90«\8d\91\96òoÛ\91i\13\1aÁBM[ÈE+×ñ\8bH\1f\82¬q\v\8a\7f\91i\1fdh#Ç`#k
+\9fÇú9_=wü\80øVÞUÈGð/¤ ô\913\16\14\1a8#\99Ñ\b\89=\b\eù2åáý?/ë«ËíFÒFW\rÎa\13\v       ¦}Â\10úHLZ>dMÿèô5ò7}#+`#½\1cÌt\8fìÛÅ¿\8e\906ÎaÏ\83»\ 6\16RæÈ)Ó\9b\1e¡       \99ŵ­ÝC\905ÓÕ\b\81\r¥õMYÎ\930\8f\e¦°\91;6®YÎÎ\86\11{&$$c!-où<HÎ+'ú\bÒ\b\13F\ 2\19ùúUVB\88»\9d±öA)´\91àÚx[\14c!mÝ\82\1e¥\17V7w\r\11À\86ú×\86\8c\8e\8dÑ    %I"l°m$©\91\85KVñ\b\8aÉ©é\99;x\85\13¦\rWäÄ´\87MúßP\ fÔ¿ô8\7f0\12M\ 50\12THfãº!'5"©¨yÎê¶/Ý´§\7f\8d¤»¹º -Æ×ÉÒ@C^L\90\87\93ÈH\8cרOpDn\12\91VѾ`\8bÊ\1f³\1aùJ¶Ö\81ΦJä\7f·® ÿ\13Àê\7f\b\9b\16ìS|\ 4e\r\81ý_¸¿~û¾|\86Ö:Bú_\94·£\85\9e\1a4\12î\95\8bpb3¤½\1fIÛ3üIVI]k÷ Lû\13âþÏï\vã}FïÓ\87ñ±¡Þ6t\90Ex"Û\96Ùµy\1d\r\e\93H\88\88äÚ°U\þØ\19\v\bÀ®mé\1a\18y?\ 1Ü\9f¿üÛûL{\9f\88÷\11½\ f\13ãcÃý]-µÅ\99       ¡\1e7MO©îÛ        i\83\ f\9b^£¸6l\13?pLß\82â\15\9e\98YTÝÔÑ;4ú~âÃÇ\8f\9fþõ\91\9cèM 7>>þþý»±Ñáþîö\86Ê\82ôGAnpG\1eÚ+ò\7fÃ\96W×3·¿\17\12\9f\9e_QßÚÕ742öîýøøÄ·o\9cà\ 4ÒwïÆà\8d\8e\8e\8e\8c\f\ f\ f\ eôuµ7Õ\96æ¦Dû»Ø\ÐV\91\rvì¥\¼[Åä\8eê\9a^w\r\88NÎ)®zÓÚÙÓ?8<2::öÍ#0\81sxhhppp`` ¿¿¯¯·§»ómkc]yAÆ\93ÈûNWÏ\9fP\96b`c\89\eFýã\11\10ÝwXÛèª\93wØã´¼\92ªúæöÎîÞ¾þþ\81\81\e 0\11goOOwwWWggGÇÛ·ím­-M\r¯«Ë
\93c\83=\1c.\eh*þ&¼\11;6\14©\9f¹ùE¤\94\8eë\9bÝpõ\8bJx\9e[T^SߨÒÖþ¶£³³\8bþ:;é\9cm­­-ÍÍMM\8d\r\roê_¿®«©ª(-¢f¦Ä\87û¸Ø\99\9eV\97\97\10â[³\82\83ÄÆÂ\8d°!nÖò \89Ë©ê\18ZRîúG>Nɤ\16\95UÖÔÕ¿ihllb¼ÆF:gmmMuUUeEyyYé«\92âÂ|jNfZR\\84\9f»\83¥¡\8eª¬ØÖ\r«\97cÅ&Úö2.Þ-;÷(\1eÓ5¾Jq÷\r\8bILÍÈ}YXRZV^QYYYE<ø©¨(/#8\8b
+\v\vò_Rórss²³2^¤§%?M\88\8b
+ñqw´¾¨w\Yz\97\0/×2\8eùX±ç°-\òó:¾mbû\ e\1e?mleïâ\15\10\1eóøijzFvNn\1e\95ú\92ö¨Ô¼<\84\99\95\99ñâùó´Ô\94ägO\93\9e$&Ä?\8a\8dy\10\19\1aèãy\87b}É@Ku¿¤0ÿzÎ¥ìóç`Ã\86*\ 5*áX¶j=¿°¸ÌA\r]C\v[GW/¿\90Èè¸Ç\89IO\9f%''§ \aßg\80IrÆÅÆD?|\10\15\19\11\1e\16\1a\1c\14èï{ßû\9e\9b3ÅÎò¢\81\8e\9a¢´èV¾µ+\97,dÃ\88M\8e\8aÕ¼\9b\81[Y]ÇÀä\8a-Åù®\97O@phxDdTÔ\ 3òEE\ 1&p\86\0g\80¿\9fÏý¿¼½<ïyÜus½ãìt\8bbog}ÅÔPOKMIF\x3\ f×òE\væÍ\99\85\11\8fsç³/Y¹\86wóv1é\ 3\875ÿ8kba}\9dâäâv÷\9e§\97÷_ôçííEçt\ 1Ð?\1d)\ eö7oØÙÚ\»jyÙü\92\89ÑÙÓÚ\1aª
+û$D\ 4~Yǹ\94ã§y?âÂ&Ç\r2\ 1îÕ<\9b¶í\92\94U:¢yòÌy\13sKkÛë7í\1d(\14GòQ(\ 4æu\82ÓÊòÊe\vs³K\17M\8c/\18\9d?g ¯wê¤\96¦úa%¹=¿î\10äãæZ¾x!ÛÜÙ³~À\87ýìÙs\10÷
+.n>\ 1áÝR²\8a\87Õ\7f?yÚà¼\91ÉÅ\7f²Kg]i\83A\0\86õT4d%d!²\ 6\89@\10P\96Ä]\11âBµZ\ 4ª­§Ö\ 5»ÝVèßï|_B ÒÛX/|oæÌÝsæÌc¿?\18üF\r\ 6\83~ÿñ\97ãüùãû·¯\ f½»Û\9b\9f¯>}¼è¶[g'ÍýÚÖj9\ fjEàh¿g¯=å¼  v\aåpBÓ\8bÕõ\1dëè]«{yu}s{wß{\18ÖëÝß»ÎË\8b\ fÝNû¼õþìôäømóðÀª×v6×\8cRA×ÔhH\f0$áÝ\8f ¶ã¦X^T¢ª¦\17Êææný y|zÖ:ow:\9d.
+f\e\98CçÑáÁ¾Õ¨×k»;Û[\9b\eëk¦Q)-\17r\19M\8dÍË\ 2Vñ=c\ fݳ\ 4     \a\97\0\9eÊ,\15ËÆÚÆön­ÞhXÖ¾\93e5\1aõ=Ç      ÐUÓ¨V+åÒÊr±\90_ÊéÙ´¶ Æ£ó²Ès4Rãc{ÅÆnçà\f\82GâI-­ç\8b+¥JÕ0LÓ\EÁ4\r£Zq\9c\b
+ÒL&½¨i©\85dRMÄc\91°\12\92\ 4\9ec(¿çê©ÑÁ1\9c\17d%\12K$SZ:\93Íêzn\98®ëYì\\ 4çBRU\13 \8d\91px^QB²,\89B\90çX\9a"\899¬öîEFn\aNÒl\80\17¤\90\12\8eDcñx\ 2¥""*î:\11\14I%Q\14\84`\90ç\ 3\ 1\8ec\19\1aÌ~\e\8dÕÞ²Çá\84\9f¢\19\a\ 5Q\92dY\ e¹Á2æ\ 4(\92²,\ 3X\9a¢(\92ôû b\ eÌ.Úkõ\bnËI 3,Ëq\`,XÇ\9d\0\ 5\ 2\16¸³\0öÍÌ`ó3¡m7\82c9Р   \0\81\8b¤\86\91¸1'\82b*Æ"î\e,¶ÍÏ\83þK\8eè>\1fVÍιÙû\98Ó\86\ e­®÷yÍ.|\1a\ 1lÏÌ\93&\9c\7fáNÐ\1dýdÓ/\aúÏ\9eú^ªóµ×^p\7f\ 4\18\0\87\18êä\rendstream\rendobj\r1098 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 397>>/Filter/FlateDecode/Height 336/Intent/RelativeColorimetric/Length 34339/Name/X/Subtype/Image/Type/XObject/Width 397>>stream\r
+H\89ì\97é[Sg\1aÆEYÂ\92\90\85\90\95$\84\ 4B\ 2a       \84%ìkØ1È*\8b\80"KA@dS´\18Qp¡\82\88\b\8a\bT\11\14TD\ 5+\ e"î"µ"ZѪå\1a\1d«µí_0ï9I\10ìÌ\3ó%\87«¹?\9d\8fÏsýÞû¾\9f³l\99F\1a\91F\1a\91F\1a\91F\1a\91F\1aýÅ¥õ\85Ô=Ï_Uó\0\96\ 1¢&-À°b^óDÔ=Ýÿ©¥éq\15    \0@\eH\a\16ø\80\81,­Uæõeà.\91%\94(`\10::ººz
+éêê\ 2"*\1cê\1eò\7fÔâÀ]:\16ÿ\8cB\ap@¡ô\r\14Ò×G\ 1"À K\10\87\8aÄ¢È]\ 28T(\80\0\bC#4\1a\ 3       \8d624\0<\96"\8e\ 5\9eOÜåÈ_b\9e\85®\1eD\ 2c\8cÅáñ\ 4 <\1eg\8cA\e\ 1\1eºóa¥îaÿ\eii-´:\10\94·\v\ 2WÝóý'Áskk\ 3W\18\18¢\8d±x\ 2Ñ\94\0\91I¦D\ 2\ e\8b\ 18 w(\1f\96ºÇý\97ú²¨\97\7f¶:J\1f\12
+28\8c\ 3©+À\82FWØ\ 2 À\11\88$
+\8dÎ`²\80\98\f:\8dB"â\17â@¢Í¿ü;RÞ\84\8aÐ\ 5^\a2Tå-Âi@,VÀ,0X<\91L5c²9\+\1e\90\95%\87Í2£\91\89\ 4\b\aJ\ f\99>ÿÓï\91¢&Tõ\8716Æb\8d¡¸5Ô\87W\806P÷ÌÿN\8a\90\ 2,\8c08\13\12Õ\8ceaim#´w\0²·³\15ð¸l&À\81Ç¢\r\17\98CÝC/ÐçPRV5\\12*\12 þ\b&@\ 4¨þ\94\ f
+Ù0`\16\86\18\1c\91LgZX   \84\8eÎ.n\12\89\87ÄÝÍÅÉAÈ·\84p\98à\8cU» \8a\86\12\85ê÷\b\85\82;ÂÀÐ\10X\ 2®?¸ý@ý\81ö3F:\rEa(XPÌ̹|¡ÈEâå\e\10\18\14\1c\14\18àë%q\11Ù\ 1\1c\fª)\ 16\aÂh,¸\ 4\15\ 5\ 15\ 4\1a\ 2\81#\98\ f\88aF\87Ê\ f¢¡\8b\\18p{ëè¢\fÑ8\13²\19ÛÊÆA,ñ   \90\86\94Éd+£"B\83ü<]EBk.\8b\ eÌ\81\81¢
+I©«`¡½  °X\1ct\98\9b\98\92(T:\83enÁµ\ 4âX\983èd\88\86â9!dü/¤\f)\ 34\16fa+rõ
+\b\89\8c\89OJNMKKMN\8c\93EHý=]\1dm¬Øf\14"\1e£Z\ 6!Û̳Ð70B+Ü`J\ 2w9\95¦\0ae-°\15
+\85\ 2k+\ e\v,\0=']¤ÂP\18\ 3\94·1\9eD7\a,Ü}\82#b\12S3²²sóòr³³2R\13WEJý$ÎvÖ\1c\14\8f\81\93
+)ÖP]å(ÕUN¦ÒÌ\18\f\16\8b\r\fÁã\83;ÄÑI,v\11;\8bìmù\s3²  \16m §\83X\18\901P\ 6h\1c\91ÊâÚ\88Ü}¥Qq)\999ùE\9bÊÊËËJ7nÈËZ\93\14\13\1eèåêÀç2©ÐÓBPêÂÆ\0,\fÀ%H\80¯rs\v\8e¥\15\ fò\ 3ÄÁÕÝÃËÇÇÇÛSâêd/°4§\91ð\8aù\911þbÍ\e\ 3\84\14\83Ãwpó\95F'¤­ÏßXQU-¯©©\91\7f½¥¼8?+-!Zêãæ(à2)Døi!ÅèªKpÁU.°µs\0\18\0\ 6¿\80 ihhX¨4Èß["¶çs\98\14\13¬\11RsJi\fC\fÞ\94nγsñ\ e\8eNHÏ),ߺ£nï7\r\8d\rû÷ÕÕl«(ÎËL\92\85úº9ò9\f2ÁXi\r\ e        6\ 6|     \9a\90é,è*w\80®r/o_\7f\80!<2Z¶*6.n\95,*,ØÏClÇcÓMqÊ\9cBÄü\8bôÙ\18\14&×ÖÉ302~MNqeum}SKÛÑöö#­Í\8d{wn++X\97\1c\ 3hØ[³i`\e}Ĥ®*d\81±éÐUîè"ñö\v\f\860ÄÄÆ'­NIKÏÈHOKI\\15\15â'q²á\82Ç\841D&\fEý¡\f0 ½ÙÖ\ en~á±iÙE\95ò=\8d\87Û»Nôôöö\9cèjoiܳ½¢0+Y&õ\16\v-\99\14°\r
+T8"¶\81a\0càI4\96¥ÀÞ\19\å!\11Ñ1q\89É©é\99YÙ9yù\ 5\ 5\ 5ù¹ë3RâAкÚóÌ©&ÆÈ\19\7f\91\14)\ 5N)`\fK[±\97T\96\9cUX!ßÛÔÖÙsæìàÐÐ\85sý½ÝíÍûvT\16®[\1d\1dä!â³iDEê"b\9b\ 5Ææðí]<ýC"W%$¯ÉÌÊùjCqIiyEåæÍ\95å\9b\8aòÖ¥ÆE\ 6z\88\ 4\16tS¬\11\88Y\84Â\0Ë q¦4`\fwÿ\88ø\8c¯Êªw7\1déî;wqäêµk£ß\r\ f\rô\1co©ßQQ\90\11\1fîë"ä2Hx´¾.BrJk9dl4h<6ÏNì\19\10¶2!53;¿¨¤¬²êkù\8e\9d»jkkwÊ·U\96ä\83\9c\rñ\11ÛrÍH8è-!\13\86\8e\1e\94R\f\8e\8d30FJvqUmc[÷éÁáÑñ\9b·oß\9a\18\1f\1d>ß×Ù²¯º47E\16äáÈc\81\9cBÌ©\ eæ\87Î\ f\ 28\ 5mD\12¿PYRzvA    8\ 5\ 3ä@ÓÁ\83\a\9b\1aëëä[Jò2\12"üÝì,\19dè-!\15\ 6\98@aZÙ¹ú\85Çgä\97Ëë[:û\ 6GÆnÞ\9d\9c\9a\9a\9a¼wëú\95\v½\1d\aëª
+3ãü\9d\ 5l\1aH]\84ÀPÍoBaY     ]¼¥Ñ\89\19¹Å\15Ûjv×\1fhn=zìxggçñ\8e£-\aöîØ\´>ye\90Ä\81ÇD.\fø\18\ 1\91K5·v\90\ 4F­Î*®ªkjï97<vëÁ÷Ó3Og\9eüððîøwç{\8eì\97\97æ$Gù»
+9t"\16T r`\80Ê Bó»û\87ÇAçÇöºý\a[\8fu\9dì=Ýß?Ð\7f¦ïdgÛ\81=Õ¥yi1ROGk\16\ 5Ñ0 ehl¾È3X\96\9a[º}ßá®3\17¯Ý|ðhæù\8b\97/g\7f|òýÝëÃý\9dÍu\9bó×È\82Üí-Íà
+D\16\fh~\8fÀ¨¤µ\ 5åÕ»\e\ fw|Û70xñòÈÈÈð¥\vg{»Z\evnÞ\90\11\17ê%\ 20\bÈ\86\813¥[Ø8{\87ƦçWÔ4\1cí9\7f寽G3³¯ÞÌýüæÕìÌÔíÑÁ\93mû¶\15eÆJ=\1c¬\18 \ 2á{DÝÓ/St\86\ 2\86\0zL)Ù\e«v5´v\9e\1a\18\1a\1e\1d\e\9f\98\98¸1võòùS\1dÍ»·\16¯K\bóvâ\9b/\ 1\18\1c\e±OX\æ\86-µM\1d}C×n=|2ûjîí»woç^ÏN?\18¿|úXÃö\92¬øP/G\1eSu\8f¨{úeÊ\ 2W8ÃÉK\1a\ 3\9c]½·¹£ç쥫×oÝ{0ùpòþ\9d\89k\97\a¾m­¯.ÉJ\f÷\81` <¦ \18¶b\9fðøµ\85\9b;Ï\¾~÷ѳ\9fæÞ½ÿðáý»¹\9f\9eMݼ2ÐÙTSº>1Ì[dÍ$#
+\86\ eTàT(f¥1iyeòúÃÝg\86®Þ¸3ùhúÉÌôã©û\13W/\9c:Ú /ÍN\8a@6\f¥Í\95Î\88_[´uÏ¡®\81\91ñû\8f\9f¿þûû\8f¿þúñ\97·o\9eÿpgô\wó®ò\9c$ð¶¬Y\88\82±\ 2:Í      \14\16ÏÑ#\bt^\99ü\9b\13g\87Çî<|üôùì\8bÙg òÆ.\9dî8PS¦\80ÁR]Sê\1eýOÒ\9a·¹\85ÀÙ\eÄ\14pÆ¡î\81\91\e\93O^üüîçß~ÿôñýÜËé{\7f\e<q¨¶"wu\ 4"a ñd¦\95½{@trö¦í\0Æ9¨ó\9eξzýúÕË\1f§\1fÜ\18éïlÚ `(\9e\12\1e1Ó/\96Ö¼ÍÍ\81ÍCbÓ\v¶Ô5wÁ0^Îýãão\7füñû§_þI}y}5µnQ\1c¤D @è¡\ 4é\88H\11\10D\ 3R\14;\b\1c{\81ãQ\ fØ;v<*v\8f(\16@±S\ 4E¤#\86\ eé¡K;4ib»\96\7fà®oï\9d\90\ f\8e}¿\17xa\8c½\98k®ù\9bým\82ÊüôÄó\87¥Å \ 5M\8dÝY\86\8d\93\97ÿ\92U\9böÄ^JJÍ)­\11¶tö\ e\f\ e\röw·5°_å<º\81\89\81\8e¬\11y¾^ö)JÙ|Ú¬ °\88m\87Î^\7fð¬¤Z\bb¼ûôåÛ·¯\9f?\8côµ\v«
\93Æ\89A\8a£+i}(4|\89mz\98]\82îlßàðÈ0$^\13\87õ\ 2\13\ 3%\1e\86\1f$iIã\1fÚ,\8a\9a¦\8e\91¹­ó\8cÀ\905Q\aN]½\9bUT%hí\1e\1cÅÅøø¶¿]TU\90!\11\83Ø-²\88\81m\13v§¼áNm\899}õnfa%¿¹³ohäíÈP?\9e\ 6à\87¯\e\809\8d´b(*I\87Æ\8a\8d{b/'§ç\95s\9b»Þ¼ý\bb|ûòC1`\1cÒ\88\817\r3b\80ÝÇ/%¥å²Ø\rí½\83cb<º\ 1,¸r¡\ f´$C\9a\ 6Y¾~Ü\ew§Â#¶\1f>wãÑóÒº\86\8e¾\91\ f\9f¿\8e9\838ScF'Ç8Xêa\ 3 \b\9f\eºnËÁ¸\84ûO\8b«\85­Ýo\86F$b\0\98oFbØ1È-\ 6l\96&$ ­\93\92Õ\7fî?\19\9f\92Y\88Ý)\b\8d¯cb$\9e;\14\8d"\10\89A\9eq$Ö0Ĭ±\90°F^\19\a\9aÒÀðð`\9fX\8cý\9bW,`\92Z\f\b\rq\ 2Z:¸ùÌÿ\r\12\10àö\ 5\8bÓØùæí\87Ï_¾ü\v\ 5ø81È4\8eÄ\1a\90\1a.(5¢câ®ÝìñOßÀà@og3\97%\11ÃÕ\8ea M¢¯\97\9dB\11ΰuö
+\b^\13µ\1f\8bpÄSCï>}þüé=ASä\15\83H\rS\1c¨6ì<v115\17Ö©½»ÿM\7fOG\93\94\18$w\86\8c5\98RÖhêì\1fyÿéÓÇ÷Ã}m²b\90j\1cEEqñCD\bë\ 4\97öT<F\84Í\1d=½½Ýí\8d\1cÖÿGfÈXÃF\92\1ah\16T5F?|üð\ eJ\1f\89\9dAX\ 3­\13\82\10æ¼ðÈíGÎßz\9c󪮾µ³»»«\r\89\ 1h\8bÑ\94\9b\98¦È\88¶øf)«À,8Pá³Ü\84\8d\1d}ãïß\8f\ e}'\ 6\89\ 2\aìPé@\86O\9dî·xåæ½\7f]\ 1\b©ä5¶uvu¾nà\94å>¾yö`\14ê\19d.}
+?\98e\13ÌrçIa%\0ÕÀÈèèÈ`\ f&\ 69ÑVaìPáÍ\ fðvý¶Ãçn>Ê)­\156·u´·\82\18y©·Î\1d"Z\12\1d«¬$\15c¬k\88gÙzèì\8d\87¨k@o\1a\1e\19\1eèy-\1c_úÔH$\86äPa\19î\ 1x»i\ f\82
+nCK[[K=§<?=éÂ\91­ë\82ý§O±4ÖÕTSU&³\180\vÎ#\1e¾\bÕc/ßÎ(¨à·tõ\r\ e\r½é\ 61
+3\92a\9cµÁþ\1e\ e\16øn\91G\f©Ü\83\f\a¼]¿\15·F\8d ±¥µ¹\9e[Q\90\91|éØ\8e\88Ð@¯©V&zZêä\15CA\86Gf\ 4\86¬ÝrðLÂ\83ì\97µõmÝý\ 3\ 3ýÿ¼\16V\17=¹}ñè¶u!\ 1°[t]*¹vK\92{\80\84\80·`\r<5*8¢¦\16\10£²03åïØ]¿\87Ïõv¶1Õ×V§(\93i\97d\1e\86·*\92æ\a¨¾ëø¥äôür^SGO_\7f\1f&Fæ\1dØ­õK\ 3=\1dIhô±Üc k@j`@UZÃohjªçU\15?½wõäÞ\8dËæÏrµe\18\90\18§\14dfAx\e¼&ú@\Âýg%5ÂÖÎ\9eÞ\9e®VaMq\16ìÖÎÈÐ93\90Ñ5ÿ³Ñ\15eÞÿb\ 207f\r\8fÙ\8bVnÞwê꽬¢
+\8e°¡±\9eW]\92ý !N̶¤Æ)\ 5©\fÇP\1d\9a\1f´Ø¤ô¼rNc[Wwwg«¨¦äéÝ+'vo\b\ fòv\ 2£k\81Ñ\7f1\8dâ\8f\9eÜ\aÀÖÉ\88aç23(,r\a\f\90\96ûª\96_ß â×\94æ<¾)Æ)\v:al²ª!\9e\85f\0xëé¿duÔ\81Ó×À\1aÕ\82æöή\8e\16QíËìû\98ÑçÍr±53ÐÖ ¨Lø\99\1aØ¿~\82ì\93»\1cø:¡Kkå8ÝoÉêè\98\1f<+®ä\bëEüZVnZÒÅ£ÛÑ\95\1dKp²\8a¡ \8dêÐüpk¤å\95±ë[Ú;Ú[Du¥Ï\1f&\9cÞ¿yÅ\ 2\9fiv\8c_\95XB       %xÊø\83ß\b9ä:\ 1¶N\b¨ìÁÛËþØ}\ 2è6¿¬\8e/\12ñëÊ
+\9eÜ\91Mp2¡ùø\87e8\8e·ÒÖ(®â7¶¶½n\16Õ±^<¾\ 1%võb¢õý¤7áR`B¨¨¨¨Â\83\1f\b.\87|'PB\10\ 2\ 38y\ 5.Å"<5§´\9a+\10
\15EYX\82/\9fÏtýõ.\91âIð\16·F8a\rV\9d°©µµYÄ.ËKK<\7f\18\15\r©ÞôÝ8\84\14 \84ª*e"þ(\14PD\19¹CÎjàÖÐ5¶pp\9f½hÕ\9f\18\83\14U°ùB\ 1§
+\12üz\LÔªE¾ø.Müñ.\91å!TÇ[¬Ä\1a       È\1aÜúæ\96&\11§¼ ã6°-Â)'k<Á¿7:®\ 5®\84\9aº\86\ 6\95JÕÐPWS\9bHArÈY\r´NÈÛ\86\f;W8´\ev\9fø\eÝ©Z\9e@À­\86\ 4¿õÝ.Éï[þÛ7Î\1a\90\1a¨kä²j\ 5\rM\8d"neQVÊ\95¿öü\81%øOP\1d\84´@JPµ´´i4\9a¶¶\96&U]m¢X\ryN@Ð-l\13~§.$¦¾@wJÀ«aå¥'Ã.E\84Îñ\9aj\8d\12\9c\ 4\1fo\rè\1a1q 8\8f44\88¸U%Ïî£\ 4_¹Ð×\8d\b\8dñã\10Z¨RÔÔ©\9aÚ:ºzú\ 6\ 6úúzº:Ú ÇD
+RCÞÖÀî\14ÝÂÁcöâÕQÀS\ f³\8b+Ù|\ 1\ f\12<3\ 5¡ùoA3]lp\1a$q\82ËX\ 3u\8de\evÅ^NNÏcÕòEõ"^5\81ê\84Ñ1:\94\1d\a×\ 2Ù\82ªEÓÕ74261551¡\e\19è\81\1c\125ä<\0ºSæv®ÌùË7î=\19\7f7«°¼\8e'àC\82\7f\r£Aæ4;sÒ'8¾Y*È\1aÐ5¼\ 2BÖn9\88£:[ \12òj     £G\86!:$vk\82¬\18\90\17 \85:U[WßÈØÌÜÂÒÊÊÒb\12Ã\94n GÓÔ@\97\87J\5Lm\9c¼ç\86Eî<~ùvF\1e«\86+àC\82?\7f\b4\18\8dhÐa\12ý§4H\9a\875?¬kXLvóY°|ã\1e\88@4\rO ä×\95\83Ñã\11\1dÂnÙ\9b\7f\7f§$ZhÒô\f\8d\19\16V¶ö\ eS¦8L¶³¶471\ 25ÔA\r¹[CYU]KÏØÒÑ3 dÝÖ#ç±Ðàðù\90à/R\13/\1cÙ¶.$ÀÓñç4H¢\87§\ 6øÜÌÆi\ 6\8aÀÃçn>Ê.AW\97Ï®,~öàú\99\98è5Kü\88;EQ\96^.LJL\v\99\85µý\14'W7w77WgG{\e\v3º>¦\86¼\ f\15ð\94\1aUÇhÒdwIh`\9fÏ\ 5cgܾ||gdدh\90L\8fH\rX-@uß\85+7í;\19\9fò$\1f\8cÎ\a£¿\84ݺxtG\ 4\88³«(õ·Ê(r@\v\86\95\9d£\8b»\97÷,&s\96·§»\8b£\9d¥\19]\8fFU\97wlà½\ f\83\82å\9bö\9dºvï)j\1a\90àå\85YwãÅ4ø£+Kº\87ó\b\90\82®î\8e£\17\12\1fçÀnñøÜ\1a\13\80[t§|\80§è\98Ó\95dÄP¡¨Q\91\16Ö\93\9dÝg0ýç\ 4Í\9b77Ð\8féåædoef¤§MU£à±!¯\7f\8284Ìl\9cg\ 6¡¦q%%³\0Opdì\848D\83>pe\riT²'¸Ä\1aú&VS¦û-FÅïÚ½¬Â²Z.\8f[W^\84îÔÁ-k\82ý=\1d­Lô\89åR\94ü%\ 2cm=#\86µ\83\8b'Ó?hQHhXØÒà\85sýfz8Û[\9a\19êji`±!?5Ð2!g\9bXMõ\9a\13\1a±\ 3Op¼ö½Äi\10®¬\87\83\ 5\9dôµO\ 1\84P]ÇÈÜ\1e\18Ýæ\96V±y<6Ü©´¤\8bÇvþ\1e\ e¬nÇ0ü7õeþ\rõþÇño\890ÖJ\97\14)"\11Bd-\91-I²f)Ù£"Ä\15J(Y
+\11\85dI¶\12Y2ÊX\e3f1v))ѽ\7fÅ÷õþ,¨{î½ç\9eÓ\9cÓ|~ê\87æ\9c·÷óý\\1eßU8¶Ä ¤d·nߥ¡kdaãèâîíëçëãuÚÙþ¨\99á~õ\9d\8a[e¥ðÚà£\1a8i(¨h\1aB\83#ì{ÚÒ=À`±\18\ 3Ý-púk\91~'\8f¢§\84Mó_»Á\89©N\91Fàg\84\ 6I­Âʦ\ e\1aX\83\ e9U_\9ew36ØËÑÒ`/^á¤5pc@HÉmÛ©®cdi{ÂÝ' 84<,$ÐßËõ¸µ\99\81ö\1eåmrd\89óM\r¢Á\11ö\1dv:\13\9ep»¨º\99\8aÄ@k°®47åò9WTy\8a\7fù\ 6Çþ\1a\82b5\ eX8x\ 4]!*\9c\ e9Eë|^U\94\99\18áçbm\f\15\8er\97|]+Õ/¯¤¦mha{ÒólHdtl\ì\95\81¾nNÖfúZªJ
+hRa%Î/5pì\ 3cÃé\1d½`N\15V½èêg°Ø#ôÞ\8eÆÇy7c\ 2ÝíÌtÁ׿>ö\91à\aëv\87Ú~²Âk\9a» Â\19ôþîÖg¥¹×£ñ
+ß¹²n×\91\1a\821\14wiê\9b\1d\15p!:!ùFjjJbì¥\10\7fw§£&\a4wï\90'J\\88_ðGÎ)%u=s\aÏà¸ô\82'Ï_÷3Ø\1c6£¿\v°/ãj¨\97£\85¾\862p\92è/\8e}ÿ#\ 6    ê@\88ÝÃNÞaWÓ\v*\1aÛ{P\85\ f\92\15îãle¤M¬[d\8d\9bXY]çÐÑ\13\9eç#b\93Ò2³ss²2®'D\85ù»9Z\1dÒÝ\v\93j\934EL\ 4\1f¸ü¸\88ï¶­GPlZ~EÓë>\ 6\9bËa\ ev·Ô\14gþ~ÁçÄ\11ÄI\ 2\80}«ë\16*\ÏÌÎí|ôõÜÒg­Ý\ 3t&T8õåÓ\879)\97\ 3ÜìÌô°uK´\ 6I\8brÛwk\19Z:¸\9f\8b\88»~ûîýâ\92\92¢ü¬´kÑa~§\1d\ e\eýXâü8=\16\18v\18h`bpF¹¬wP\1a\18ö¹\b
+ö­­pUmck\17¿ÈÄÌ\aÕÍ]}ï\98L°F{cEAúÕ0´nµv+"k`Ïk¥i\94ÕuMl\|ÃbR2ó\1f>®ª®~RZ\94\9bq-:Äç\94­\85¡¶\9a²\82\9c\f\11Tü¸\at\10\91U1\ 2cnæ\81\18ý\f\ e\8fÇaôu6\12Øg" ØGÄ?J\1cX$\96ǽBãPNuÐ\109ÑaÝÖ`ëö´­©\9eú\8a\93°µm×>CKG\8fÀ¨¤Û\ 5¥UuM/\9e7ÔV\14ßËH¼\1cäílcJÔ\ 6N\e|\10\ 3´XO.s=3{ä\fL\f&wlltd\0Jã>\8e}\aÔ\95Pi\b\80\18xäÈnUÚ\ 3¨áv>
+åÔ+\8c\9c\18\83\e\1eç§Å\85z;­µÆz\fø\88Ö·vñ½\10\9fvïQucK{gG[s}eÉÝ´\84È\0\8fãVƺ\1a*\8ar²Ä¢úé÷\80;\14ª\v\1c\8a\18¬3ú\99£ãã<öÐ\9b\96\9a\a\7fÁ¾_]\râ\99#Ô8zÒ/\ 2Ë)jÿ0Ú\87}]Í5Å\18ø}o\r2¥4\ e\98Û»\9f\8fJÉ.®jj£öÐho_·6T\16ç¤Æ\85û¹ÚY\18j©)Éo\96¢`­Á\a1Ö£)\88\1cª¢\89\\1d\82­©®\81\11ÞÄä8w\98Ööìa6\86}FZ\18öm\14\01\b\8c\ 5rÒ'þ¢\8a¦Î^ú\b\9b\rèô£5\10k\b    \11\v\f\88Ó\19X`ùåõ¯ºû\86èô¡^jk}Eá\9d¤¨ ¯\13Ö&z{UÐoÄDø\90\10ø¦C)µ\15vÄA«\13gÂâ3
++_P\aYcSS\93<f\7fgCùÝëQ\ 1®Ç\0û 4Ð;\12\01V&       \99Sum=C#\1c\ e\9fú\12·\ 6Ù\1aRXæ`\ fRn»*°\89\8b?b\13ÔùÃ,\ e\87E<+ËK\8f\8f8{Ú\1e¬¡ºã7Yb\84ñáÜ\90\96\14 Oå=:p\10¿\88ßÁÔ/ß¼ãLLÏL\8f³\a©/\9e\14Ü\8c        r·7Ó\13\10ì#Q\ 3å\946Ê©ÈDà¾\96îA&>\10¿³Ævü\99o\10&7\8c)ZÃ7î\96Õ·Ñèì±\89\891Îpïë\17ÕÅY)ÑA^NVÆ:{\b\ 1\7fú5 \90\82s#c ò4·w\v¸\9c\9cý°¶µgxtröýì$\97þ¶¥ºèV|¨÷qKÀ>yY    ¬4~î)~úGæ\14¾§¼C¯¦ß¯D\1cË\19\1då0\a¨ä B¬±S\ 1k\0\ 4@\13T\9b\8e\9e!±xRC8ÌÎÂ\83|÷öU]y^ÚÕp_\97c¦ØO¤qXüé§Æ\8c!\rä¹g¿\91\95\93wpLê½²úö^&oznnn\9aǤµÕ>¼\93\18áëlup\9f\8aÂfÁhp<§°=\ 5Ü\17\b/½¼¡\1d^:o\8cǦÓ:\1a\915\80\8c´Uwl\95\95\14Û(""*\8e\95\8cÁa§3á    ·\1fÔ´¼¡s§Þ\7fü8736ÒÿúyeQfâEÐÏ\_s×¶-ü\10\ 3ÓB\18\8e\81\1aCSßÌÖÕ?"!ãþ\13\18\89Ù\ f\1f\8e³ 4Êr\ 1ûN \ eö­ÝS\88û \ 3²Jj[ß¾cñÆÇGG\ 6»[\9e\96d'_\ ep³7?°W\ 5]­ØÆ\8d\15\1d´rö\8dH¼SRû\8aÆ\1c\9b\9d_øüin\8aûî\rúEJT \87\83¥Á¾]\8aÿ$ƺµß\7f92¶¤À\9f2rÛvªë\18[9y\ 6E%g\97Ô¼ì\1eâNÍÍ\7f\9a\87\83\fQ\9fWä¥^\ 1ì3\15\18ì#s
+nW\13=õ°ø[\85UÍÔÁ\91Ññ\89q.\90lSEAz|¸\8fóQãýjJ¿m\92¤\88\89\8a\87\8b\8fêÚûY\93s\v_\16¿ÌÏ\8e1hmu¥wo\        ò<~Ø\90\14ã/·°"Ázìûo\92\90K
+BJ^IMËÐÂÎÕÿB|z^9t\17\837óqáóÂÇ\19ÞðÛ\97U\85éq!\82\84}+ÜG\82ì\95Ô¼Ç\8d\9d}ÌÑ\89ÉÉ1è\80ÖÚG9ØC·0ÐÜ\ 5SUR\\\\ 2\a\130Ò¥äܲ\86Î\ 1ÎÔÇ/_\97\16\17æ&Fú:\1aÊî¥Æ\ 4{ý­\18«2\b­~kDù·ó®,©M(¤\ e\98Ú8{\aG§d\15W¿\80î\9a\98[X\üòéý8\93öêiqæ\8fØÇ׫ü    \1f\91SøV=uöRrö£gm´aîÄÔôä(\13u@á­\84\v~.6&º0o7KKP(\922rXª¡ÿ\r\1eäNÏ/.-/}þ0\89²º\1c\89áéhi         Áöã\9a"\95\10\12Ú°a\830ùÁ¿        EþE\ fìÇH\vT\18\8a*\1aºÆVÇ=\ 2\9e\ 1´ÓÖC\1f\9d\99ÿ²´ôõó\87)v\7fGý£ì¤5Ø'\0\r\ e\7f\9eÐ\ 6DqÐ\ 2\86GNø`\95\f{\9d=\ e{}\82KïÁc'\18b\aÍÛ­\9b¤$%¥dWÄHÉ-k\ 41fæ\17\97\97\97¾ 1À\19woD#+éïE\ 3ì;1V\95\10\16\16\11Ù\bý\83\ f\11\11$       &È?ȱF\v\99-hI\1d´´wõ\v\8fKÍ)©iÆ\8cñyéÛ·åÅù\19îPWÓ*ö\81C\ 5\ 1û\88ÒÀǪ¹\83GplZ>>V§ÑXe\rR\9b«\1fd&F\9euµEóv\9b\9c¬\94\944!\ 6\11S¸3\96\913 ¦Úë × òa\r#PDñ°"\ 6!\ 5XBd£¨\98\988\85B\91\80\8fB\11\17\17\13\13E\82àzü\9d=\b-\80\8c$d¶È+©j\19\98\1fs9\13\12\9d|§ðIc\am\18\8cñõÛ\9f\7fþ±´ð\9eGïnƱÏÎLW`°\ fË)Q\8a\8cÜv5\1d\93c®ç.§ä\96ÖwôÁ`\7f?7;Åcôv4\94çÝ\8c\r\16:\~³\8c´\fJkTàþ\17\93rJë¡3¦!\1d\96¿.Ì¡¨®-ɺvÑÿ\94Í!\1d\ 3    ÑÕx ïR\18\94\10§HHJIËü\9fú2\8f¦rßÃø­Î:®neÜÛfï\8dmÛæy(3E2\86B\88\C(\95\10    \15E\86&E*\1d*:¥é ¤É\90dÊ<Ë<Ï"DTkÝïï}7é¬sÖýó^ïß{½ëÝ¿ç÷<\9fçaçàà`gggÛ°\1e4Y\8b\ 4Azü\8d=\96´`]ÇÆÅC\ 5`¨ém·uõ\82\90JL}\9aSTÙØÞ;8266:ÔÛÞP\96\a³ïÌQ\ f[c-\98}+\84àH\f,§ø\84\16Ûêµ»hÊ6µ¶··4Vaeõ,Voµ`9P\88\\1c\1c\H\fôã\83ÁgQ\9bªlêè\ 1\80wµ \12\ 3Ë÷\18Ô¯-\90jd\ 2\93ߨ!,\9eå¯ÐÇÖ\81½8¹¸      D\1ex\88\ 4\ 27\17\a(²¤Ç¢=þô¥øÀ`\81"\ 5×\ 1\ 1c³±µÓ\81\80Ó\17\13 ¤
+ÊëZº\aFÆ?~\1c\1féïlªxû,õzt §ýöÍÊ\12\95Bp¼Ür\92\ 4Ä\14µ\8cmÝýÃã\92Ó³\8bª\1aaǵ\7f¨\87\1d\aõöLÀ~\as=UYQ\b*..n\1e\8a\10F\18ÏÀèë©Ïòñ\12ÓÓÑ\8cÕûËa~\88ß\8aâ4\f\19¿0ÅÀ\8e\12:)\v\92\82\9d\93\9bHâ#S¨üðP©\14>^\12\11        \82ôø;9\98Z "ÅA\84\85\81\ 3c\9f_ȹ«É\8f\9fç\97Ö@X\ e\8fOLNN\8c\rv\7f¨~÷âÁoçO\1cr´Ðc\12\9ce\ 5\10|1§\88T\119õmV.>¡1I\8f^\ 2\f[;`>5×\94æe¦Þ¸\10â³×ÆXGYJ\98J"p\13@\f        %m\13»}\ 1\91Wï>}SVßÚÕ\ 3£\ fç÷\85\93ÞÎ\96ÛÔåDP½g]L©¥£\\vRp\11Hdª\0\8dÎ\10\11\85G\84!L§       Pɼ<\ 4.\ e¶õëÖ²þ¥\1cË\8a\14\81O\80\81\ 3ÃÍçxTÜÍ\a\99¹ÅUMí½Cc\13\9f¦¦&Ç\87{[k\8b_?¾\19\13
+\9f¢¯&#Ì\9c}+C\f\96µh;H£í\0Ñ\93\0·½¬®¥£»»³­±ªðuZJ|dàAÇ\1dúêòâ4
+\89H$Qhâ\8aZF6`£+)\19¹¥°µºº:Ðæ\ 3dD\a\1d\80B©"\r'Àþ#¥°£DZ¬gã$\90(\ 2B\f1IiY9yy\ 5yyY\19)      1\11:\8d\9f\ 2zp"{°þó\87\1cKß¹j     \18\0oI\ 5u\f\18Ag.%Þ{\92]\88Ü98:15=3=51Òß^_\9a\9b\9e\1c\eæ·w\97¡\86ü
+"83§x\ 5%\94tLá¶GÄßÉÈ\85ÎÞÑÝÛÓÙR_\96\9fõ\0\83\9f»\9d)b¸\0\99Ä\ 3b\88Ék\18X»ú\9e\86îõº¨º©­££­©¦8'=å
+PÓÎD\aVÆò\94ZÖI¹xÈ\ 2tQI\19\ 5e\155uMx4ÔU7)+ÈIK\88
+ÓøÉ$"²Ç\92\1cKæøií ý\ 4\8c´\97\ 5pwº\ 6F>~\9aù<ûyzrl°³±üÍÓßã#\ 2öÙ\99h3    þëÊ\10\ 3r
+Ê-¿¨¼\86¡õ^ßÓ\97nýñª\bl\8f\83\0\8eøÉï×¢\8f{9Y\1ah*JÐùùxy)4Q9è^Î\87C.â\99ÖÒÖÖÒPùîåã\9b\97NùºZÃm\14ýSJ-í\ 3PRDRVIESGWßÀÐÈÈÈÐ@_o³\96º\8a²¼´\84\b]\90ÂKäÆäÀÂjÉ\1cHNÌ\18ØÂ\90VÖ2Øáàq$ä,\ 2\ 6Þj\87Ç?ÍÌÎÍÍÎL\8d\ fu7W\16d¥&\80K\1dÌ\96\13üÿ_\r\94Sÿb#P\84eT·Â\92;\ 1}õyAE#P¹¿¯»­¡\ 2ÎøÖåð£ûìÍt\81á4*\99L\15\14\95ECãÐñsP§ \b7Á*©-{\9b\85 éõo(¶2?¥\143b0-¨Bb2\8aªZz\ 6¦æ;­wÙØØì²¶´Ønl §£¡¢$'%&L£òñpslX\87PÎ4Ç?V-ɹ\81\93\87²Øj\ f\aEÄ&ÝÏÌÁ\811>9=;÷åËÜìôÄHoKuáKà\17ú\18=\15i:\1f÷J!8Ê)(·¼4¬"í\ f\8c\ 2*罯oíî\eÀ\vk^æ½\84s'½]¬\8d´\94¤\18\82T
+UPDzÓ\16T§¢°"\ÝÐÜÜP]\9a÷\14C\86\ 3\14[If\83Y³Ì\18XÜSéâ²\e5u\rͬìö8¹º¹»»»¹:;ÚÛZY\98\1aêé¨oT\90\11g\80\1cD.v$Ç\929\96R
+\11\83!­¬mhé¸ßÿÔ\ 5¼ÕÖ·ö\f\8eML\7f\9e\9b_X\98\9f\9b\99\1cík«+\81fw)ÔÇÅr\9b\9a,cå\10\1c\83\ 6ä\94\80\98\82¦\91\8d\9b_Xìí´ìâ\9a\ f]}\83\83\ 3½\1dMU\85¯þH\8e;\13àé`¾UMN\9c.ÀÏOcH)ë\98Øz\1c=s%\ 5\8ape]cc]eQ6Z\19\ 1\1e(¦Å\ 5I?\92\ 17\ 6\8a{Øjâr*ÚúÛ­v;»\1fðò9âïïïçë}ÈÓÝÅq·µ\85ɶ-\9a*\8a\98\1c¼DN,«~¨\81ëÉNà\13\14\93SÕ5µq=\1c\1c\19wëa\16\1eR#\1f§\90\16_¿.|ùüil £á}nFJ\¸\9fÛ.#MÈL´?W\ 2Á\17Ë-\81Â\90Å@pòBâÃ\17ï`Êõ\r\ e\r\r\ 2Ã\9fÝÿ\rÕÛ]ÆÚÊÒ¢B\82\ 24\86¤\92\96Ñ®½GN_\ 6À¼+«©¯¯)\7f÷*ívì_ý}\fK,¬ÐIÉh«é\18XØ:yxù\ 5\9e\b=\1d\1e\1e\1ev*äx ¿Ï¡}®\8e\96Û\r\90\1cÂ\82\14\12Ê*V\14U\98\1a«±w¬ã \92\85$\144ô-ì=\8e\84\9e¿\ eÆ\0dµAH\ 1\80\16_\17æg§>\ eu5\95çgÞ½\1a\89\13\\\80\84\0¶"ÄXµæ\17\16È)>!©\8d\1c\ e\ 4E_¿\97ù¦¬¡½wpxx¨¿óCuqv:ª·\aöìØª® Á\10¢ 1$\154¶Y:{\87^Lz\b\8b«ª¶¶ú}Á\8bÇ·.\9döuµ2PÇ\83a\99\18\0ze6i\eîØízÐ/øTä¹\98Ëqqq±\97/\9e\8b
+\ f\r\ eð9èîlomn¤§¥¢ -
+M\ 1Ì\81¢
+Wc5SP"\85\ e\17Á`§£g@Ø¥ÄÔÌÜ\92êæÎ~hµ\9f¿Ì\7fýöíÛ×ù¹é\89á\9e\ fU\ 5\13Î\ 6ã¡  Õ\ e÷éÿú¬ÿë³XnI\82°\1e\8cma=Ä%§ç\94Ô¶v\ f\f\8f\8c\fö¶7\94¿}þ ñb¨¯\9b\8d\89Î&Yq\ 6\9dÎ\90\90WÇi\7f#õY^qEuueiþó\87I1¡>øÎ"s£\94^\8d\8b\81%\f\9c#UXJIk\9b\85½\9bױШ\98ø\e\93SR\92o'ݸ\16\17s6"4Øÿð~\17\aksC]\8d\8dr\92\fA2\ f\17ûz\ 4\ e4901Öâ/\ 1dX9\1d\f\8c\88½     )õ¾®¥{plrfv~áÛ·ïß¿-|\99\99\1cém­)B\ 4?É$8y\ 5\11\1cË)"UDN\1d]w¬°\16\85\e\1e\1d\1d\1eèn©-Éɸs5*\b-?\rE)1\86°\88\84¼ª\9eù\1epѵ»Or
+Ë*«*JÞd\81b!ÞN;õU¥\85\97ý{æûÙ¸!íAB3»½\87\ 3ÃÎÇ'¦¤>JKÏÈHO{üà^ÊÍ\84+1Ña'\ 2¼=]\1d¬Í\f6«)B\1eRIÜ\98\1aÈ\e«×,:\ 3\89adåt(("îÖ£çoËêÛzPJÍ\81\83\18_\114úÛëJ²\81à§|\¬\96\11|%X\ 3»tlÜdºÔ&]ì\84!§òË\eÚû\86FÇF\87ú:\1a+
+^À­?uÄÍÖt\8b\8a¼¤\98\88¨¤\9c
+Ô©ýÇ"ã錄.x_QY^üæ\19\12ã?Ô\97y<\95ù\1eÇïD÷uïë\9aî´k¦TÓfÉ\92\8d­BD©\88dI\11E
+Ñh³µ TJ\92"B!±\1fÇv\ egsèØ²d_Ϧ½¦\9aûý=Ïciæ5¯×ýïÞóüß©\9e÷óý|Þ\9f\13NV[µ¦?Å¿M\e\ 2\8aêúfÖ\87¼Î\84FÝIÎÈ)(.-'W\90ËJ\8aòs³ÒS\12ïÜ\88\f»\10àí~Èn\8f\99\91®º²Ü*\99%\934$p\18RDL\99ìA\97\81`T\120ÞNÁ\80Òà\ f¿üS\83ÿKL\1a|FNý23§ú\86Çy¼±á¾\8e¦z2Z~\81\9e\8eVÆ[6)+ÈÊ\ 1\f}s[·Ó¡7\93²\8b«ê\98,\ 6µâ¯``¬Á\9dWÈBÑ`a\1f\15\9f\92UPZYC«§3èõ´\9aJr        )73-énìµKçýO¸9ÚX\1aëin\90_\8dÓ@N\ 5\ fnSPà\eñ\9f     ½\9eø¸\0bª£wxú2¾ Òøc\83Ë.\87   ú\ f1ip\94#R3s
+ùTC[ÏÐ\18\8fÏ\e\1d|ÙÊ®)ʼ\1f\13ìëj»ÓpóF%\ 5\ 5Å\r\9aúfàÁ S\99\85\14\1a\839 ÃÛ\19bJiFLM¦ÔÂ¥«Ö«\ 3@×S\17"ï¤d\17VP\19\rMÜææfn\13\87E§V\91\8bó\9ff$'ÄF\86\9dó=îbgej°YUaµ\8cô\82\7f\13§\81\ 2`ª²ÙÈÂ\ elêZ|Ú³r\1a\14øÐ8,>\ 2ÆçOïß \ 6gW\93ÒãÑìÙ©¿I~å\92ybÒà\7fÈ){¬        0\9f\1a\18åñùãp\1aÏaÑ=\8a\v\ fôtÚk¢§©ª¤¨¤ª©¿Ãúð© èÄ'$x¯\0\83
+\1cÍ,¬Àá\83&``õ½Xf\1d ¶rôüõrlRV!¥®\81ÛÖÑÕý²»«³½\95ÛÈ¢×RJI9\19Éwo\84\a\9fñv=¸×Ìp³ªüêeÒóÁËþ.      4$Ñ\81Í[\f£O]o\a¤]à\95[ÉÙÅÕ,ð¾Q\98\19\1f>\11\ 6\7fÁ©-z\92\10yÖÓa\97¡Æz´A'gÏÿùó­OÙ¸\12»¯é\ 5ä\14\1f\e|ÙÖPS\9cõàz\88\9fÛ\ 1Ëmº\1aª*\eÔ´\0\86ËI8¢\8c\ 2r-\9dÉ Q
+Ññø¸ì\9bT[¼1\91Kaæ¼R^\r\86¢«OP4ü\91\8a:NkgOßàÐÐÐà@_OWG+\97äU\95\91\9e¦'ÅE_:ëãî¸\ fhl\90ûy颹DPI¢ÒÀr
+\r\rû£~ÁQ        éyä:اH§f6øø`g\13­$ë>&\14\94ÄG§0\18DNÁîÛã\ 4»/áqa5»\15\96-_ à\8dôwré\15yiw"Î\9d8dmf¨£¡¦¦®m\0_§÷ùkwÁõ1\18\95EYÓ£oÙdcN§Ôj%M£] \aWn§ä\94Q\eZ»ú\86FÇ!\ 6yã£Ã\83ý=]í-\8d,ZUi~Vê½\eW/øz\0\r\ 3M\15Ù\15?.ø\ 1\16\eÐ\90D95g¾´\f¬\15L\ 4\ 2¯À\8d\15U3ñÓxG\9c\ 6jpÞP\17·¾ìiÒõ SS:\ 5D%Ä\0ÆtNa»\ fIÒíÔg\15tngÿ(O ä\8f\rõ´5Ô\96dûöw?heb £©¡¥kh\86`ÀÐÈ+\a\18̺ª\92§\ fc/ù»íÿ¦1']
+Rj\83\8eÉ>\97\93\17£î=.¬B/pd\ \9axõjB$\14\80&\föuw´41©\94âÜ\8c\a·".úy8î5ÕSW\##=oÎôi|?\17NCNU{«å\ 1¬5\1ea­Ñ34}\1aßèT\88ïak\13\1d\95µËð\11*\16\93Àsj¹¬ª®)ª\82\98ûY%TN{ïð¸@\88\9f\ 6\83\92\9f~7òüÉ#¶\96Æúº::zÛvÚ¸\0\8cø4\ 4\83Ū¯)ÍM½}å\8cÇ\ 1Ô\98\89ÆÄ` \97Z)¿IÏÜî¨\7fXìÃ\9c²:\88À\11\9eèÕ\9b·ïÞ½}ûæÕ\84\90\ f\8b¦ïeG\v\87^S\96ÿ$évÄE_÷\83»·ën\94ÿù§\85ß\9cÆ<i\19l÷íq<\16\10\86v\1f²[ì4&a`:Õ¨x\96\12\eæçj3ÃmÅ\ 3\ 6±û\96®QÒÚºÛÁólx|zA%³¥\erJ(\14\8c\ fõ´s¨¥O\93c/\9dñt¶±06Ô×74±´=|\92\80Á`³\19µåyiñ\11g\8f;X\12\8d\89\874::\90 \9fV+BJÁ/G _fµ`\ 6ôöý\87\8f\1f?~xÿ\ ex\88\ 4<ÀÑÝÎeQɤÌäÛáçO¹ÚY\18i)¯[þÍiHý\0ëq\9d²¦\81¹Íaïsá\90y¥T$~¼     ¢ÂA§^\vÁmYÈmÑ¥îØ¢*+³ø\a)1\81\ 5~ľ_l?$£ï·\ 3¾_¡PÈ\1f\1dèjfV\92\1eß\8b\ eö\83jµ0Ý¾ÍØÌê\0h*tF\1e\99Ê`70i\15$bhàn\8b\85ô¬YÓÚ¬c\f)\15\14\8dn®ñEߨà5¤üoèù\84ñx=!\ 4\8dîíli¨« e&Å^        ô:´Ïô\175\ 58\rL¨$p¡ú~î"ÔáÚx\87#\e Ài\f\8c _ã9\85»mo\e\82\11w9`ÆÐ\10\8bÕ7éSR\84\7fîuö\9eªð!È)\91`|¸÷E#­<75\ e>X7\aë]æf滬\1dÝý\82@hòÉT&\87î¯*\ 2á
+ö9¼Ï\18\854Ñà³f\fJ3 \1c\16\9b\92K¦s»\a±/\19÷\9fÏ8\ fÀ\ 1\7fQ\7fW+§\ e6KbLèiwû]p\1akeàMBNI\10[cÎüÅËPP\99îuFzû\10N\ 3\ 2u\84OäÔ$\fvUAZÜ\95\0w;sñ\83\81;\ f\9a\1a\ 6\16ö\1e\ 1\97o¥<#×?\87\vEè4º[XÕE\99\ fn^\ eôvuØ¿×Êjß\ 1\97ãþ!1÷\1e\17TÐX\8dM\1cFMiÎÃØ°Ó(\17ðÿ=*\8d\ 550´\ 4\97\82ü#U±ÛzG\ 4øLû
+\ fÆ\ 3Ç!â\8f\ft·rhåÏ\1eÅG\9e÷v±6ݲQnå\12\94y\0c\96\84ÄløfÐò[§¬e\bËÏ\17N\ 3|\80ÕÒ=\95SS«o
+\86\9e\9aÜ\94Pü¯ßô\7fó`k\0ÿ\82U·`\15\1e}?³¸\16Â\18*\$\12òF`ùÑ+òÓ\13¢CÏ\9cps²·µµw:ê\1dx      kÐú\86¦ç\8d\90õ0\f¯\12\rNl^ø\98q±]£´y\9b\95³÷\85¨ÄÌbjcGÿ\18ØÏ'\9c\ 5\86ã\v\86ãÝ\9b     \8c;»¦8;éf\98¿û\ 1\vC\rÅÕXNAi ´\98Q-ZºJ~ã\16\138\8d³áq\8f\9eCN¡_\ 4¼\7f¾\f½\8db\ 6\ 3å\14\96í¨Âw9\1c\ f¼zçQ>\85ÑÜ50Ê\17M\88\ 4hùq¨e9©ñ×BÎx{\1c>äìâæéw!üVrvQ\15\9dÃm~Ω¯$e$D\9eórÜm¤©\88ϬÙX°àb«kb}\ 4ædrNy=·\vK©ß>\7fýú;z\88ó\0\1cï\81\ 66k(ù`\ 3ç¼\9cöl×VY\v.\ 4¯\12Î\fÑÀÇÆòµÊZF\96ö\1eþa7\93a ¢\12\82Ò\0\18\9f§;\ 3`\88cgà9ET¸\9a\9eÙ~Wß\90ë\ f²q»å     E \9e£ýÐáÕEÙ\ fã"C~õñ:æ~ÌË704*>5§´\86ÙÔÒÚÜĬ.κ\1f\13t\12f\96¶ò\9ae\vQiHJ\12\95\ 1¿jn\87\r\98<
+³¥g\18Kø/\ 4\8ci\1c\88\ 6o¸·\9dS[\82\15Ð\11\e\94SËqQ\ 6\19B>\0F\85Nc½º¾¹­«opÌ\83¬\92Zøw\82\11 \ 6\a¤È¦zgÚ\14\82!>65³Âתho³rò:\171e·°ÍDBèp\b*
+xÎíkaç\ 3|}|N\a\ 6\87ßLÌÈ+§±¹mím\6\1cÎÃ\9b¡`öH&\89Ò\90\9cMT\86\86¡¥Ãñ³\11w3
\eÚá3ÆSê÷©g\8aÆkáø@\17\97N~\96zër\80;Ê<\ 5(\r\ 2Æwøi }*¯ö\1fêË3ª©l\8fâ¾±!\1d\ 4\ 4DAa\14» ¢"\8c]ÁÆ8*\8eÏÂ\8c¢#\8e(¶QG\10±\ e
+\16Ä\ 6\82(\8a\14ET\9a4\91\8e\94Ð[H\b¡\ 4\12\b\81\10\ 4Â̼ÿ9÷^\12\14ß¼ooå|Óµ¸ëæì»÷oïÅk\7fÜ{Ìí¦\7fXl\1a­\92¢\10<¢Kjg\9cD;ÃT\96\10       Â5Æ\1aN3[ºa»\ 3\84ÿ¡Ý¶SA\95\99\ 4\8bìþM÷\v®..ç.^½å\13ø2&9» ¬\8a^U^\98ý\1e á.\ 5\rÈ©á#\bdÌ2_µ\19\90\81\8bm\11½\9e'À´\95\12\83\90£OÜ-êhå°ÊóS¢\83}<\9c\ fÙm\84ÕbH¬\16,Æ7ÃðkêN\982\aàf\7fÔí\ 6\16£BZ\fx\ 2³ôcÒë@ï\8b'önµ\96\94;\19\11\ 3#\1c'\8aþd\13\v«-»\9d\=}C¢QOÁÖh\17\10dÍH\8c\f{âë}ýê\1fWÜ=¼î\a\84¼\81\94*®¨fTW\16ç¦Ä\04\à\ 2W,\80\vÔP\86u0\82lÌ&\96k$ÈÀÕG:¥¤Ô@!í«*H\7f÷Âï\86\96\95\92Õ2@\fÒ\19çoú£¦!qFo·¨½¥\81Q\9c\95ð*àÖùcDhêi\92\ fø\7f_óÿvPNÁÏTÕÔ3\9a\ 1ívÇ\81SWî\ 4F$d\16!k\bÚ;ÚQ£ª.ÍKO\8c|ñÌÿÁ\1d¯[^w|\ 2\9e\87ǼϢ\95Ñ\995Lz\19\r\82þÑM·£{6¯6G¿\1fbzä\bXi¨£!d8\02\82\0\19å,\ e¾¸\81ÆÀrü\89ï\92×P]\9c\19\1f\1e\r\ 1ȼÿ.¿!bj\94"¼¥áôy\98\19À60[\ 1\ 1p\10CÜÛÝ)àÕÓ\v3Þ½ðGjþ°r!Y'\86É\92\18\ 4Âu\f\8cM-­m÷\1c9\aÃ\8f²F{\a¨\81°Q\92\97\9e\14ý*äé#¿\87\ f\1f\ 5\ 6\87G%\801*\99¬Z\16³¢0+\11AãÄ>"¦Ç¨)\8d\1a9\12u\1f\ 2\19»\1c\9d¿\8e\fÊ\e\7f\8a{D\1d-\8dÌ\92ìÄ\88Ç·/\1c··µZ4\eÚ\80
+9!ñK*©\8f\19ÿíÌ\ 5¨M\9dF\9fLbV\11\94exf\8fX\8c©\ 33\83\96\1a\13âëáì¸ë{ȹ\89\90shõÈ\8a\18\92v\vÖX°\9cú\9d  YÈ\1a­\82\ eaG;\9fÛ\88ÔÈH~÷6<ôyPPpXDT|JvAy5«®\8eÍ¢\97ä$¿\rº÷\a¹³\f´Õ\95ååä`£i\8e5\9a¹\10J\81\13Z\19q°2Hdüõ\85\18\7f#1 ò\eqä?¹\r\91o\8b#¿_\f\92ß\80\fSK+¼3\1e\15¼\81\87w\ 6Ôã.\f\9d\©w\99j@Ô1\99\12\83´\ 6f£­ýÑ\ 1Ö\10b5\1aXôRZVjblä\9b\88\887\91±\89)Yù%U5u\r\8d\rlFY^j´ôר¡¢0j\94<L´q\93f[XÙî=~Áëñ+je|\89\f)185\9fñ\17÷drôÉ+#c@\96nÀÍÖÿElj>$_+,\17$\ 6\81\fä,$f¿KegóáCæ±\1a\1a~\92\b \v\15X£S(ÀÞ(+ÌÉLIJ\88\8b\8bOLNËÎ\87\90b765qêk*\vpN\9f;²{Ó* .\82\86¼¼\ 2\\9d¾±éwk·í?yùîÓ7ïsÊj¨\95ñ\85\16\ 3ÅøÜ\19Ã\86\ e\1d:\1c\13\ 3\8aí\1cK«Í?\1frv¿÷ô5J)6Ì\8c.\10\ 3íFT\0
+ÓÉWÁü¢Ä\94!1$ÃOb\r(T¹¤5:  5Ø\8c\8a\12ZNVzZjZFV\ e­¤\92Ánlær\9bA&h08è÷ÚZá:©¦¤  ¨\ 2\14\9a:oé\86\1d¿þîþàyTJ~E-bí`È\90\8a)â˦\98¡G\89\81Cj´\8eþäY\v\97ÛlßÿÛ\85\9bþ¡1ø\rQJõôööv\13)\95\97\12\15üà\1aiR\82ß2%Æ Öxò*\1e¬QËi\11\b;E\9dÂv>\8fSWC//)ÌÏËÍË/(.«\ 2_4óZ[xMu\8cR\18ZÏî^9I®^\80\86¢\82\92ª\ 6\ e¹x<\f\8dM+¨ªã
+:¿X\19\121\10À\19%D3%\9a\99\11)\ 6\9e\90@ïqFÓÍ\96¬ÝºÇéìµûÏ^'¢\17ljí\10u\83\18`\fèR\8cbÐ2\10&ßþ\7f¯[\fÈÐ\911d\f¡¬A-*T¨`k\ 4G}\0<Ösù\1d\9d"\91H\88\1an\ 3\9bI¯,/-)-+¯¬®\ 1-ZømüV\18\85Ä÷xµ\7föi¨()*«A\r\9d±p%Áï\97q\99EÕõ<\88÷Á\91\ 1b\10Õ¶(\13ÕäsG$;CnÄpÐ\82
+)\8bÕ\9bì\ e\9e¾|;\0\88\81¨ÆkC)\85\8dÁoª­¤¥Ç\86AJA3¶²0!\911L\96\8c1ä_\ 3¬±\1cm\8dËÞ\8fáÅW²\905D]]¢Î\ eA+\97ÓÀf1\19ÕÕ\f&\8b]Ïá¶¶Á&lkáÔV\16¤Å\86\12³\ f\11|¬¦\9a²\92\8a:<mÖ¢Õ[ì\8f\9d\a~'\0¿\e\8e\8c>4\13¸uôB¸M?ϳ\87a@\12Í\14\891|$jR:\ 6\93g/\\ 1!uâü\8d\87Á\91ï³\8béld\8cO\941\1a\98¥¨×Ý¿zæ ¤Ô\82\19ØX2\96R\9fYÃÒz\vä\80\87\ f\8f%ÕuÍ`\8d®O\9fº°9¸M\8dõupê\e8Í<¾\0U-\ 1¿¹\8e^\94\19\8ff\1f`s\959\10\K]EYuô\98ñ\93L,¬·î;qÉ;ðuRN)ÁﯤT_/\0\18Ï\84è\10\9fkg\ eî´Yf6m\82\ e\16c\ 4\0CY]\e\9a\94ÙÒu[í\8f@H=\8d\88Ï UÔ4\ 21º ¥z\901\9aÙU\85\19\ 1^\17Oü²m-¤\14þs\98|²'\ 6i\r\8e\1dN^\82\81û.\9dVÁjDÖø\ 4\aÌÑÞÖÊã67757s[À\16@\13øÏ6^\7f¡<Nt ñÚ£UUT5´©2uåɹå¬&þ×ùÝ\a\9b\8dß\ 4\0þ\109`²(ÉËÁ\80D=YÏpÚÜï¬6ÿäøû\15ï\80\97±©¹D\88J\88ÑÀ,Ëý\10\15ìãárøçM«Ìá=¨\94\92)1¤¶\86\81±©\ 5tG4ª\82Þ&A\12 k\88>uww#9\84\10K|~+\9fß&h\a\96\80cÀ0-\9c\9a2\98Z\14ÁM\8d\rt4ÔTÕ V¦Ì]²~û\81Óî÷©2Õ9¸\18\7fQe\8a\98\19w.ýö\v5\13@\f99y\0\86î\ 4c\93E+7ît\80\17\12\95ü\11\87T;®R=Ý" \ 6\18#3þÕcïK'\1d¶oXj\86º\14\99R²'\ 6a\r=#È\82õĪ
+\ 3F\96£(\0Föôô\80\1eÀ\ ea\a:B!\92\ 2I\84®¡¶"\7f\0ÁÇjª«©Ãõ\11ÍöÌU\9f\90èTZ%\eÊ\14\881(¿ûÄÄf+FeÊëü1û-ÐlqI\96\87ý\b5Y[\7fÒ¬\ 5ËÖoÛwÔÕãAÐ\9bÄLà\19\98\96
+)\82\18È\18¾\9e®N»\11¾Q«C]JÆRjÈ@k\98,Z½é'Ç3䬪Bß\1f@\12}\80X\8f.(W\80tP\ 2\7f\93]B´µ
+Ò¥\bn¨7Fcôh­±\13§\99-³Ùéèìá\e\1aÓßl\a/SÀo\11TSz!\9e\8f®ND\99\82ù¨¤@ìGhµó\16¯±Ý}ØÙýî\93ð¸´|4\82P\93Â!%êh\85*U\90\81\8cqùÔ\81\1d6ËæÏÀãS\ 6SJb\rUè£Óç-Y÷ã¾cn7üB£?ä\96öÿh±¸\97\10\ 4\1d$\8eX,&û}õ\0\82\7f;^[SCc\f\84¼Ùòïw\1drñ|\18\16\9b^Hÿ/ÍVÂï´\98\10_\ f\17G;b³!1\14 %k\11­ö\a»_O]òz\14\16ý!\87¨\16D\93Â\1fD=£$'92ØÇó¬Ó\9e\96¦S\f0¾e/¥\86H¬¡®­?y¶ùÊ\8d»\ e\12Ë\ fêm-\87\88f±¸O,Æ\8a \ 3ÿ\82#îEñÒÈì'øVkè÷\ 6ºZ\9a\9aÚã\faóm´;tÖÓ/ì]Æ?\8a!Dq\a\83å9\15wÓ&ê\82\18\8ah±è\1a\18Ï6G­ö¸Ûuß``Y\11Ú£\ 40Ð÷\0ÜbUÐÒã^\ 6Ü\ 6bì°Y\ eÆ\18§¥ª(\93)EYCN\ 1O«¹\8b×@\83tõô  &ë-^Vøö¥Î\9f\10\1c\16IðS\ e°|çL\99¨§­¥¥\ 3É2\7fÅF»Ãg¯û½ø'1à1Bê1÷Ðc LM\9d «©¦¢¬\ 2U@\7fÒÌùÿá¾Ì£©Ü÷0~k\9d³Ö¹ë¬îн'\95!\14\15\92
+I¦v\929s\86\90¡(C:\86P$\8aÌ!eÌ<\93\12ÛpdÌ\9cm\8aMÆÌB³U\8ejÝïï÷îm¨­sÿÝÞµú¯ÞÕÚÏû}>\9fç\88²î7VKÌ=BkGú:\1aÊ\1f¥Fú»!b0÷a,\9eÆ\86\8d0\ fðò\ 3½\r\ 3½}B\ 1\86\ 3)?Î/\10¿ÿÒó\15þ,\80\92¾\9e\ 2\82W\93Óéû@`\aû\16\16\96-\1c É8\8cÿã2°LM\fv6\95ç%\87{\83\95\9dÀºiã¿@Ë6#`H)h\9b «M\0«mFVûú\1d\ 6\ 6Q\94ã\83Ôæê¢ì¸\10/'K\ 3U\12>\8c\7f3ëaü\r§ñÓÏ¿Ð\97\9f¼¶)èmDJ\1e0\1c\1c\12ù<\9c\ 6\ 4°ò\81~ùôáÍË\91Þ¶\9aâìØ \82¼{y9Y·lÞ
+#\r×\14bFñ_0\ 3\85\ 1m\87Íö6\98-\1emÜX\ 4\ 10ä4\8cÎ_º\1e\12\9bI·Z\f\8c\ 5¬µ³Hkë\1f?L¾ë{Åö´æqP)¦>\8cE\86o -?¤·\9e·b3\v«\10硨æ\19\86±ÌI\13\104 #¸Ù·neÝ\86ÂP3²q\v\88É,ªù¡MÑÃxÖ@\ fCYFD`\aÇ\16\96M,[Ø·ïÞ\87\80aáà\11\18\85¬¶­gh\ 2ß*r\8ay\82Þ µäÌØàk\ e\94acì`[$\ 6S\86A?\r\9aÞÊi\18Û¸Þ\f\f\1f\ 2\86£ÓÀa¬pRzÁt5\95\13Ð0P\81\9f\91g\e\e+\e
+\ 3ÔÖú²\7fTFauËóa\1c\ 6\83Ñ\87ßBx\0Þ|Þhµ\91\ e
+òr±³neÛ¶}·Ð!\92\8a®¹\9d\9bßݤÜ\92\1a
+\95ø8>á,>ν\9d\9d\18ÂZ\9b\18îãbm¤qL\hç¶ÍL}\18\96_DFéä\99ß=\ 2£ÓóË\e;\90GÂi _òÛ0è\1e\ 4Ð@Rjk¬\ 1\8b\9b\83\8d\9d\93G@\14\8d>WßÈ´\82*J÷\8b©×hô­\12\ 6­¦\80\19wnºX\19ª\1d\13ßÇÇÃÅÉÉÅÃ'$vDIÇÔ\16\80\11\9f\r\87J³ÚOóHí\88\9dÓ÷¬±<?-*ðêEó\93\8aÒÂüܬį`Þ0\96ë-ïÞC²j\86ç/Ý\b\8dÏ.B\f\1f\9b&\18þMË,\83FmIN\\88§½¹\8e\82ä\ 1~\1eN\ e\ e.\1eX,*úç\9c}î¦<ªxJ\1d\9a|õþãüêaÌ\8e\ f\82Må§Eú_±5ÑR\90\16ÝË·\93\97w\97À~±#\8aÚ§­\9d\ 1\18\19ùåØj鮽\80µ\16èMyR\9c\13\1f\8aµV\16\98ÅÁ²q\ 3S\1fÆ\92Þ\ 2ÃacI* \86ûE¤<\84\96\ 2\11\13\97ÌÊ0¾Ò \81\1a\ 6>j\1fçó§TIb{wmçääæ\15\10\91VÒµpºq;éaYcçàÄì;\0Ï÷a,ÚÔ\10µ¹ª03&ÈÃþ¬¾ª¬\84è>Á={\84\84ÅI\8aZÆç\9d<\8300Z»\87ƧiÀÀ\87\ 1ZÛÛ^_\96\97\12áçvÁ\ 4´öÀn®­ÿýç¯Ì}\18ôÓ\0\86³°ó\10\f\f\8eÍ@\83\17¹$ÁpFÐx59D¥TAO\ 5ºÛ\99h\1d\97< À»\9d{ûN\ 1a)\ 5\9d3ö^¡        ¹¥õ\1dýc3«èÔWlÈPv=­x¸y;[\9fÖV\96\95<$*"zHJVIËè\9c\83G@DrnÉ\13\0þ\9f `àÃ@ZÛ\ 5\19fÝ»åéh¡¯r\84ÐÚ\r\7fgîÃÀa\10z»Èpk\170ûû%5heÍ0**\f\8d\ f¯QOÕýq?!ìº\93¥¾
+IL\88\8fw\aÏ.\ 1a¤È\17=\82ïÑV\1f\10|\81QO}Y ½¤½¡,/52ઽ¥¡\96²\1cIZZ樼ª\8eñ9\87«þw\12s\8a\96\80\81&(:\fø\ e@këJ\1f$ݹéjc¬!w\98ÐÚ_\7fùù§õL\1dÆ\12Ã7!\86K+\9d\84Í\e\10\99\9aWÖ°86\18\84AôTgÓbßËK\89@ßïܽGXâ¸æi[·\80h¤S=ë\12\9cxÉôØ@×SøÆãÂ|.Û\9d5ÔQSVTTRÕÔ7µr¼ê\17\9e\90M®lì\0`̼%\16ègâ0Ð?ª$gÄ\ 4]³?£«$#¿\9dí7æÖZú³Äp\ e`øÑ\13§,\9d¼Bîe¡±Á¸¨\88\9eÂ\15ÓRS\9c\13\17êådipBö°° ?\1fÿ^a        9u#ë˾\11©ù\95\ 4Á\19B\ 3Ï\15\80\ 6¼¤­îq^jtðuW;K\13\ 3]\1d\9d\93\ 6Ægm\9d<üÂã³
+Êëaa\00\90×­<\fBk­\8cÔ1½7odn­¥?Ë\18ε{¿¤¼Öi\9bË7ïà±Ñ=\84¿Ibl,\ f\ 3õÔ\9b\97£H/\1f¥Fú»]0ÕQ:".¼WPPHDâ\188\99³Ox2"øÀø\fAðoÓ@a\04\88ñV]|?)"èúe{\eKsSSs\vk{W¯\80\99ùe\0ïÁ1\1a0ÐaüI\1c\ 6ì½\82ôhÐZ3\1d\ 3|Ük\81ÞijÈðMì;\ 4De\94uÑØ\88J{TÞÐÑ;<Å ¨ðW=\87T¨»\ 5ùeØ\rçóF\9a
+2â"û÷\1d8()§f`ét#\f\13¼ol\1a\11üó÷aÐËnâÅóö\86
+rvbD°\8f\87\8bãE;»\8b\8e.\1e\11    Yù\8fk[¨\ 3£\8bÀøüùÏyÚaÀÞK¸í\r\1ewâ¨\98 \ f\1a 7ñÐ\19þ\8fÿlÙ¶SHü\1816â²\8bª\9b»\ 6Æ\18\14ÕWB\85Ðòê \96\97\87½\85\81º¼Ìá\83¢\aÅ¥\8f«\19X8z\85Äå\94\0ÁG^\ 2Á\19@ã+>\r4ßF\a¨-ue\ 5ÙIÑa\ 1Þ\9eWÝݯzú\ 4\86E'e\17\94ÕRºúG&giÀø\82Zjùa¸Û\99i+Hî§i-Ð{\1dó\87±ÄðßXalH)h\9b\¸â{7ùAimk\ f£¢¢\7fÕø4jJr\13ïø^±3×S\93'IIHH\91\14Ô\r,\1c®\ 5Çf\15\ 4\7f¿
\91OÁK&Gú:)µeäû©q\91\81þ\ 1\81·nGŧå\16\96×Q:û\86\97² Ò{5E?\f¼÷H\84Ö®    z\13\ f\8dá\e6ÒÆ\86ÞYûkAÑéùå\8d\1d½#\f\8ajYá?kª$gÝ\võv±5ÓSW<F:rTNYÓÐÒáZPL\ 6¹\8aÒ½:Á\89Óøð\ 6\8aª\17Ò(/z\98\95\12\1f\e\15\19\19}/!5;¯¸²¾¥«oxbæ\r\ 2\ 6Ê\82ÖkãH¥\88Ã0Õ\96\97Ø\8fµvMÐ\9bx\96\18N\8c\ru#+gï°xZQM÷½²¨\96N\ 3\¨¾ìQZt°\97³\8d\99¾¦\8a¢¼¼\92\1a\8c\ 4G\b\0tjpböÝja|Arôþõô8¤ÑR_UJ~\98\93\99\9e\96\96\9euÿQÑã'\8d­Ô~z\16\v8\vü\ 1L¡yS\9a\9bxÛûÒ9\ 3Ut\18l\9bÖ\86ÖÒ\9f¥¢\82±!,¥¨czÁÍ\ f\15U\1dQTs+\8b\8aøª       ±¡Rjþx\90\12\19èyÉÆÜð¤\86\9a\9aº¶\81\99õ%¯à\18\14F×àø,c\9d¢¿dî\1d\8fÚö´¶òq19??¿ °¤¬º¾¹£»\7fdy\16ôÃ\18¤6W\913\90J­ÉÃ@a¬\ 3\86ÓÆ\86 \18IU\1fµ~Lz~EcG\1f\83¢¢\9dÆ»WS#}Ï\9eV\15\81\99\ 6z:_°09¥§«wÊÄÒÎõFH,\ e\ 3ÜöíÜ<\ 3\9d\82w,¥11<Ð󬵩¾¦ª¢¢¢²º¦¡¹­ëùàè$d1GÏ\ 2\a\90\86ÞöúÒ\aIá>H¥ðaÀÞ\ 3­]¿~\8dd±rl ¢Ò0²r\81¢ÊY¥¨è§A\98iceaN"Þ       Ö\16f&&f\96\8eî¾·ã²ÈU´0\18¹-QT «(\8d\99ÉÑ¡¾îÎö\96榦¦§Í­í]=ý/Ʀf\17ï\82F\18¬Ó\94êÂÌ\98 \ fØ\18 RÌr\18ë¾{~ø\97éc\ 3\8aJDZQÇÌÎÍ/"ùá\ f\8b
+\17þ`O\eÚ I\91Á>îοÛZ[ÙØ9^¹\1e\18\91\88\93\1c\=\8cei¼\99}912ÔßÛMíììì¢öô\ e¼\18\9d\98~õ?æË<\1aê½\8fã§\eÙ\rc\9fìÙEÙJ%YJ%¤n«h½¹¡ý¦B)©\88V-\94´Z\1e©¬Åco\91µ\be\94\r\ 6c\18)×}¾ßß2F͸\9dã¹çÎç\8fÒéÌÏ9¿×¼7:`1\84±@\87fgs]Uqnrôµ`\1f/7g[s41 0x\98\ 5öö\7fa»ñ\81`c\ 37*[hT' ïs6*,~\81Q\81\9d@®(Ê{ú(:2,ô¤¿ï¡\83\87|\8e\ 6\86^\8e\8aKÎ*('7\82\0ç\ e\ 3§Á ÷tQÛ\9a\9b(\rõà\1a(\9f[Ú:h=}ý,]`ì»Û)µ`g>¼u1à\8fíkí-Mty^\18,\ e\93áñññ!\7fOf\11áò!ĨD¡Qé\1a[Ø­Ü´\93ͨ~\98~¸áÓiT°Ú*\8aòÓ\13co\85_\f9\1d\18\10\10\18t6ì\ 6\18myEok)íH\80s\84\81Ñø6ô\85      qÐ:©í­­--­míÔNZ\ f\9d10Èb\81Õ·.0øJóRc#Büvm\±p\8e¡¦\12o\v\ 3#\81Pàçç\9f\82\1cø\ 1\81\82ñàü¹Q£\9aÎÁ¨àôã\14\e\ 1\1aÅÏþ\9bòà~TxØ\85sçÎ_º\1ay/>9óEi5\9c)\f®0p\1a@\1cÌ~\ 6½·\9bÖ\ 5\8fFëé\ 5(\80E¡¿\11\81\81öZ8ø2\1fß    \vôv_·l\81©\9e\1a\89\97\85\81¢\80$\0\ 6\ 1AAA!ä\ 4\ 5\ 5\ 4\0\12\94\ag\1c\92\ 2F5\83eTH£úØ4jT#c\f\1f¬6H\83ü¶äEö\93Äøû·#¯\83Ùv;úARF^ayM}s\a\12þ\1cª-;\ràx\83Ì\81~F\1f\1d¹>Fÿ\0s\10¢`±\18þö\ 5ÆwÃû×`ðÝ8{tÏæ_íæÎÐR\96\93\84\e\83gY (ø\ 1\b!!a\11QQ1äDED\84\85\ 4\11\1e\18\ eN\9fýÞ¨\90Fõp<£\82«­\178UCmÕëWù\99i\89 ÿ\89\89\8e\89\8d\7f\94\92\91[PVõ\81\ 2\96\ 2\94\147\18£âø:\ 4x0\a\90c2\a¡*p\8bB]
+Äw\a\88ï¢\9c$tð9Z\9bé«\93¤      "¼*\fÈ\ 2C\ 1@\88\89\13$$\89ÈIJ\10Ä\ 1\11È\ 3à\18\87\ 6\18\ec\8d
+N¿W\15äÆVøV9Ò\0Ú ¶4~|W^ò2/+=-9))95=+¿ ´\92\ßÌR\14\17\16\18\rD\1d_\87\86¾ 74ô\15E\81
+\11u)$¾Éå/3\1eDÁ^\v\ 6\9f\91\8a\1cQ\f\bc2\ fn\fT\16\10\85\90°¨\18A\92(-#+'¯   //'+#E\94 \88\89\b\8f\83\83ͨTp£B¦_^10ªvX\8bØûí\b\8b\ 6½»£\95ò\89\õ¦¤ày^NVVvNþË¢²Ê\9aº¦¶Î^LP\aü5\82á\18\ 6\12ø'ø\a\8abä/ÖÄDâ»$/%&<Ø×Ëm¹íl\83iSe\b"\82<)\f\9c\ 5P\85¨¸\ 4QZV\9e¤¨¤¢ªª¦¦ª¢¬¤H\92\97\95&¢8Æ¡\81\18\95\ 4nT\e½\ eC£J\7f^öî\13t\7fæw±\81ÓèëélknøXSU^V\øªàUaqYE\15¹\8eÒÒ\ 1\841ø70P\1c\90\a\ 4\82Ü\9f\18\89\11\96\ 4\81Kañýèö¥\13\að^K\14\13\16àEa \16\ 5e!"&A\94\91')©ªkhéèêéééêhki¨©(\91ä\10\1cB\ 2SÆ¡1ƨ¶î9\12\12~?\11.\86\86ÖÎ\1f\8dj\ 4íBp¶Q[\9b\1aêÈï«ÞV\94\97WTV×|¨oj¡Òzq\80ãÁÀp`DXA1úkàÈ\0ñÝXóú9\88ïУ»7¯\Ä˽\16a\ 1,
\82\0PLUV×ÔÑ7\9cilbjffjb4Ó@_GCM\19à\90\14\17\15\16\9cÂÏ\91Æ\98FehnãäâþGÀùȸÔÜ¢J\10Æ4:7\1aL\ 6½»\8bÚú¹±¾îC-\99\û¡®\9eÒ\f\86[/c`ì'~\ 2È\18\10È\7f .ÕÛ â»8'é>\88ï\1d.\8eVf¼ÛkGY\88IHÉ\91\94Õµô\f\8d\99g¹ÀÊÚÚjÁüyæfF\86zZêÊ$Y)\82\18\8bÆ\8f\8fa3*£yv+6z\1e:\15v+áé³ÒêºÏh\1a³Å\ 6«\vÁÙÖ\vp´µ|n¢46R(\9f\9b\9dÝ\b\8b¯Ã\7fþ\14\fî\90ð\91Q[Q\90\91\10u\ 1\8dï\99Ú ×\8añd¯EY\b\b\8a\88KJË+ªiéÍ0\9d3ßzÑ\12{\a'''G\aûÅ\v­,ÌM\fõ4U\15å¥%Ƨ\81O?}SË¥«·ìö\v¾zïqæË7X¿\1d\13\ecf[_o\ f­³\83ÚÞÖÖÖNíè¢õÐ\11\16?)\8cq` .ÕÚð¾,?-6â\8cßÎ\8dμ\1cßHvóO\11\ 2,d\14\94§é\1a\9aÎY°p©ÓÊÕë\\]]7¸¬]µÂq\89­¥¹\89\81\8eº\92\82´$¤\ 1\83\8f»Q\11¡QͶq\¿}ÿ±³×c\92³\v+j9ô[´\v\r\ f\r¬¶Þ\9en\1a¼î\9e^:£\9f\89³\98\10\fèRýÐ¥*\8b²\13ï^>éýûºex|ó`¯ÅX\0]\10eI*\9aúF³-\17Ú;¯Ù°i\9b»\87§\97\97ç\ e÷­\e]V/_jk1k¦®\86²\82Ì(\r\ e\8f§\9fª\8eÑÜEή\1e\a\ 3/FÅ\83~[       û-ý\87\10\18\9dm\83Ì\81~\ 6£¯\8fNïëcô\ f ÓmøÏ\89ÁÀ\ª\9b\85#ãæùc{·üj7w\ 6\1aßü<çR\93°7\bYLUÕ\9an2×z\89ó\1a·m\1e»÷{\1föñõõ9t`ß®\1d[]W;-¶27Ò\a4 S\81\86û÷F5\7fɪͻ|\83°~Ë)6ð¡\0g\e\18m\83\08&s\10A1a\16ì.U\9a\9f
+F\86\8f\97ër\9bYúê$i\ 2\1aßÿÆ+ç~\18\vaqIÀBÛÀÌb¡Ã*×m\9eû\ e\1d9~2(øÌ\99àÓ\81Çü\ eîñØâ²ÒÞf®1 !/M\10\15\9aÂÑoG\8dJNYÓ`\96Õ²µÛö\1e\85ý6³àM\r§ØÀÅ\ 1Í
\ 3\10ùòehh\bηᠠ ³øÞ¥Â\ 2\ f¸¯µ\9fo¬£"OäÅøÆÂ\eÌ\ 3\19\92ª¶¡\99¥Ýòµ\9bwì=|ìTÈ\85Ë×Â#"¯\86\9d?sòèÁÝîn«\1dl\ 1\8diJrDq\91ñ\8dJ\84 ­ ª=s\8eír\97ß\ f\ 4\9c»\11\9b\92\96cl`8p\1e¬CÆÛÈ\ 4Y 0`\97\82.\95þàæ9ÿ=À¥ÀÈP\94\91àÁøF\ 3C@\böQ\15-ÃY\96\8b\9d]¶íôö?}îòõ¨»Ñ±qq±Ñwo\86\87\85\ 6úí÷Ø´\ 6Ð0ÒUW\94\ 5µ\90KGÇ\8cJTBfªº®±\85ÝJÐoO^\8a\8a\7f\92_RÅ96p\1cÈh\eFot¾M\8c\ 5\8c\f¸ø`\97J\8d\ 5.åéêd\r]
+\8e\f\1e\89ïIl\87}\93¥\14T4\rÌ,\17¯Ø°}\8fÏ\89ÐË7îÆ%$¦¤=y\92\96üøAÌí\88\8bÁþÞ\9e\9b×8Ø\98ÏÐVU\90&`ÒàðhLiD9%\8déf\v`¿õ\rºr÷Q\ 6ר\18Å\81\11Á8L\14\ 5¾øèpñ¡]
+w)Þ\18\19\93¾»_ðð\ 6¯\ e$.`á¾×ïÔ\85\88;q\8fÓ2²ó\9e=\7f\9e\9f\9b\95\9eò0&êJÈqoÏM«ì\17\98\0FÅE\1a£\8f\84xa¿uX÷Û>ÿÐðèÄ,î±ñ=\91ÿ\v   \fÆ`?X|\1f\90Å\87u)Þp)\16\0¶Ã\ 2CVQ]ÏxÞ"g\97íû\8e\ 4]\8a\8c~\98\96\99ÿ²¨´ìõë²\92Â\17¹\19Éñw®\85\1e?àá¶ÂÎÂXW\8d\ 4¥1¦\19²á\850À3\81Q©é"ýv\87wÀùȸÔÜ"\10\em\9c\1f9Ì¥ºÛ\1a\9e¥ÅE\9cñõrC»Ô¿îR,\10\93Ù\8f\ f\v\fU\1d\10·Në\7fÛ{$(,*61#¯ ´¼ò]\r¹æ}uå\9bâ\17Ùi w®\85øïß¾ÞÑf¶¡¦\12ªsì»5\861|&\80!\ 4¤\81¨Í\12ôÛ\9d>§Ân'<}VZ\rc\83\8b\130\86¿\ 1\97êjùT]\9c\93tïÊ©\83pññB\97¾´ðUññÃã\83Ç\ f_\9b¸\94<ZD×lÝí{:,*î\7fÄWù?\94û\1e?÷vn\91}7v3c\9f\99È6"û¾ïK²SÈZÊZ¶\84d­,\91:²U\92%\1dK:%J]´QBI*J(9u;\9dî¹\9fçyf,çþÌ|þ\80Ïëy>ïï{klïº{\7fpxìÅøË\97ãÏG\9f>ê»}ýÊ\853ÇÓãÂ|\1c\ 35pÈÛB\89¾D\87\rØndûÆ\8d\15Íg[¨\88PÑòm7]¨Ö\87\1a´`û~rôáíöºòܤH_G\13¬ña*Å8(\10\80^j\13:\e\91Ù\84`A¯h\ e^!1iùe5M\1dÝ}\8f\86\9f¿\9c|35==õæÕøÈÐÀíÎæÚ²¼Ôý\81îÖúêd"ªº\1850$P\84±\8d\9b6111ofeçâ\15\14#*(k\19Ûy\ 4\1dHÉ-«\ 5¡z4215ûiñëºP\ 3\v¶sÓ\13Ã\ 3·®Ö\9eÊJ\bõ´5P'\11\84x\19ªRKPÀ­\98\98\997#ÃÌÌ\8c\1c\8d\ 5m\18²\8a\98¸§ä\94V7vôô\ f\8e\8c¿\9ezÿavnnvæÝ\9b\89±'\ 3=\1d\r\95EG\13Â|\1cL4\15eÄP\9d\82×õO:Ä(\ 4ØæÍ,,¬¬ì\1cܼ\82¢xYE \86\8b_x|ÆIHT·ú\87\9e¿F©ñÇÚScE°ý÷oMU\85é1A;,uTä$\18ªRôØ\ 4\17C®ÏÊÆÆÎÎÆÆÆÊ
+Gc\83\a\8c\ 3\91R×ÃbOqeC{wÿÐèÄÛ÷³ó\9f\16>\7f^ø873õjl¨¯ë×\8båùPaÝ,tTäi:õ3*M´½Øbv\ et8¹¸yùq¢x\19è.¦ö\1eAûSr1\ fG©As\8dµ\ 6\83n\19h°-H\8d
+p6ÓR\92\16ãçde\9cJÑi\ 1'c\81\17\vwB\86\8b\93\139\1aò~ òÊ RÞ¡X!¸Õ\a>;53ÿiñ÷/0\8b\vó\1f¦&F\1eõv6V\16\81\ 4¡º0Z5þ\85:\ 4Ê/t/\ f\ f/møøø\ 5p"â\ 4Y\8aª\96\91\r\84´\83\99\85\15õmÝýOP×X\8f@µd\19\10lÛ°`ko¤A\ 1\89å`ÙÄ 0\96iÁÌÂ\86\1c\1fÎ$(( ÀÏÇË\vÇã\17\14\91D\92\94\8d;\88TÞéó-7î=\1e\9d\80\ 4úù÷¯ÿù\ 6óõËçù\99·ãOû»®\9e/Í>\14\8eDuÔ\ 4Y\99\99\10\8f@\11æä\82M\ 2\828!!aú\88\88\8aIà¥å·\0\18Ö.¾a±G
+Ê/ Ë_MÏ-кÆ\9a\83\8c®\96Ú\92£ñ!h°EIÍ \95\82      ñT\1e>\ 1\9c°¨\18\8c¨\88°\10N\10Î'*     R¢cîì\e~0«¸ª±ó\ eÖ\ 6 \9b}ûã;\f\859èM\90H.\9dÉOÙçïlª¥\ 4¦ÁÍÎ\ 2¦Ã\84 L_+!\89'\10\bD\ 2m\88Ò²
+\14eª¶±µ\8bOHt*èTSç\9d\aÈvD§Ö\1a\8c\18\ 2˨<y$:ÐÍB[\19\82-\17+\83,\ 3ÁbÃ\86\9f1Zpó        
+\8b\89RÒÒRR\ 4¼\848\80\ 2¯\97\84&\9eàè´\82³um\10?ÇßÌ\80Ç\82¬ÿùãÇ\8f?¿C\89ý8\83eõs´¬®,+\81ãá`e\ 1¯F àÇ    \8bI\12¤dääI$2\99B&\93\90)[\94T¨ÛõÍlÝ|C¢SrJª\1a:zÐõôâ·¶`¬°\8cú³Ø3ÒT\94f\°¥ñ\ 2m\13\ 2p3)\19y\12\ 5\86¬ /+-E$JÉ\92¶j@à\ 1÷>vª¦ù·{\83c\93ïh:\ 2o\17¸N\8f$}7\9a«\8aÐH¢\v\ e.ÄËÉÎ\86ø?@!*A\90\96'mÙª¢ªN¥jÀP©êêjjêêÔmZ:\86¦ÖN\1e\ 1ᱩ\0\ 6T\r0\8d×K¦±¦`üÍ2\ e\85\e\88Û!\15\89\81ñ\ 2\93(n>\9c¨¤\94\1cYQ\199\99º\9aÊVE
+IA\81DÙJÕ1µ÷\ 4b\1c?{©½ç>ÈÈ,&#\b\16\b\1aß¾ ÊÛ\7fóJMqfl°»\95\9eª\ 2^\98\9f\9b\13ñ\7f>A\11       ¢,IQE}Ûv\1d}\ 3C#ccc##CC\ 3}\18\ 3Cc3K;ç\9d~Áû\12\8eä\97V#Ií      -Ü®µ\83ÿ\9fe@ôÐWE,\83\96Î\vÀ\82\83\9b_H\8c KVRÕØ®£§¯¯§«­I\ 5@\94¶ªPµ\8d¬]ý#\ ee\95T#Ä\80[ÑUä¿Kÿ4ÿ\8eþOq{vZë©\91\b"\ 2¼ÜÜ<@6qd«\9a¦\8e\81\89¹¥\8d\9d½\83£££\83\83½\9d­­\r\8c­½£Ë\ e/ÿàÈØä¬\13åµM×z\ 6Ö  \8cÕ-c\85e\b \96±þ*E÷n\f\vaq"D\9bmèѬ¬,ÍM\8dôµµ¶ihhj\eZ8z\ 6\1fHÍ?S×Ú}\7f\18z\0\88ÔÒ©P0\16çß½z¶\f\86¾\1a\89(\86ãç\ 3Û\16\95\94VPRÓÒ3¶°\85³{xyû"ããííåé\81\8c§·o@Pؾؤ\8c¼\92\8a\8b-×ïÜ\7f\8afÛu\ 1cUË@\93\aã,\ 3\15\17̬\1c<\ 2Â\12p5ª¶¡\99µ½\93«\9b«\8b\93½\8d\85\89¡¾®®\9e\91¹\9d\9b\7fxBfaecgïã1x·\8b_\97³Î*fÔ\94db`\90¥Ä\85q\828\84\16\14\95mz&V\ e®\1e¾»\82BÂÂ##÷FFF\84\87\87\85\86ì\81          \r\8fÜ\1fs053¯èLMCÛÍ»\ f\9faù`ÍÁ [ÆèÃ\15-\83Ld\94e,c\ 1¼\90\80дMÏÔÚÑÍÓÇ/ÀßÏÛÃÍÉÖÊÌÄØÄÂÆÙ+(*)ûTmË;'ão\91àùýï`LO<\ 5Ϩ.Ê\0Ï\0\99"KK\88
+C2#Ê+ªm7²tpóÞµ'"*&þ`bRrrrRRâ¡\83 ñqq±±qq \87\92\ fgd\17\14\9f©®oéìé\1fDKÌâ\9a·¾\95\8fèjí©\15-\83Q\96\81\19\ 6;\8a\ 5YEÓÀÜÞÍ+ (4<"",$ÐÏÓÍÉÎÚÊÊÖÑÝ/4æp~ùÅÖî\81á\89é9äÙ.\1d\8afàS/Ñ4U\98\1e\1d¸ÃJO\8d"\83\17\17\13Ç#dÓ5µqñÚ\15\1a\15\97\98\9a~ôXNn\1eLnNö±¬£\99\19\19é\19\19\99YÙyÇ\8bÊ~©©¿ÒÑu÷ÁÓç\93Ó³\9fÖ\1c\8cU\96\81|wLà\ eK\1de¹¥\96±ÎXü\84\11c3+\17\9f\90¸\14       °°tÜé¿'b\7fl|BBÜ\81½¡»}=\\9d\1c\1c\9cܼvGħ\9fø¥¾ýö\83\91ÉÕ*õ\17í§Þ¾\18ºw½±âÄáýÐ3tÕ(²D<\9e \ 3©XÏÌÞÝ/$*>\ 5^\7faIééò30å§ËJO\95\14\17\15\9e<y²°¨¤´¼¢úBCKÇÍÞ\81Á\91\97oÞÏ-@Zûþc-£í²e\fÞE-#*ÀÙ\8c\81\96ñ\13F\f\16\ e\1eA1¢\822`áä¹;ü@BrZzFzZrÂ\81\88`\7f/wWW7\ fßà}\87\8e\16\9ek¸Öûhô542$×Ò± W§±Ç½\1d´êd®£F\91\93\82\86B\ 6\1d=vGÄ&gæ\15\96\9d­¬¹Pw©¾¾þÒ¥º\8bçkkª«*ÏUT\9c«¬ª>_w¹¹µ³«·ÿñ³\17\93Ó\1f>~FkÌ:YÆí¶ºò\°\f\a#\r
+Ã,\ 3À@\88ÁÆÅ/\82\97SÒзpò
\e\97\9c\91\9d_p¼ 7+-1&rO\80·ÇN\ fï\80\90ý\89YE4ÿ\9eA-c\85J­ªN\89\11¾\8e¦Úª\14y\19\199\f\vÏÀ½      i9\85§+Ï×7µ´¶ut\ëèhokýõê\95æ¦\86Ë\97ëë/746·´^»Ñ}wàñðóWog\80\18ëi\19·À2²âC<\11ËÀ\vñ°of\80eüc\89\188q\19\8aº.ílÇ\8e\17\97\9e>]V|"çHb4pÃç\7fÄ\97iT\93g\1a\86çÌ´µÎØV­µ¶µ¶µc\9d±Ö\ 5\12\16\ 5\15µ\8cK±nuå\14Y\f \9b\82¸°\89\82\b\88(\b"";\8a\b1@\80,$$d!! d!\84@D6\11TÐV=ó¼_\12¤íï\98ïo\ e9|¹Þ÷¾¯ÛÅÅÍÓïDdÂu\80Áù3\8c×S§\13z©0?\97\9d\8eöøåß/Y\ 2,ÖmÞõ«wPDlrF>±¢º¶\81Îd±\9báa³\9a\18ôÆ\ 6j]\r`¡Pjêê\e\19ì\16¡¤£³[×?<\8a.Æ[¬\8cJT\19ÞXe|=o¶Yú\eÁx÷½é3àb|û½¥ýÿv8{\ 6\86Å\NËÌ»UXX\90\9b\91zé|X°¿\97\87««»\97¿\ 1Æ_n\86ñ¥\1etIÑt\82\97:â¼ýÇÕ¸å?,]fa³vÓNg¯ \88¸\94¬Â²j*\9dÍå·\8aÚÐ#\16µ
+ø-\1c6\8bÉ Óh4:\83   \9f\89ô, ¤\8c\17Ã\940^þqe`\95±ò»\ 5sgÎ0ÏÊ\0\18ÓþùáÇó¾Z¼Üf½Ó>\8f\80\90óWÒs\vï\96\95\97\15ßÉËH\8e?{êØ\91Ãnn\1e\bÆÅ´ÉÎ\98
+C\9fR\83½*1ª\8cä¨`ÏýN\eVáV,[namï¸ý\0áXx\JvQe\r­\99/\92v(\94ªÎÎN\95R!o\97IÄ­\ 2\1e\97ÓÌf³\9b¹<\81H*Wiz\1f\ e\8e\8c\81J\99øb\18§ê\94tÕWÆüO>ú×4óÀxç]H©9\9f/\bi¿i·\8bÏɨÄô<bù=2¹\9aTz''íRth\90/ÁÝÍÝÓ/8".5¯´\96%Rö\fL)pìb@JõkåBæ}âÍÄ3ÇÜ÷lu°Å­\aae·Ái¯{@è\85«ÙDR\1d³E$S¨5Ú\9e^\9dN×Û£íîêTÊe\12\91\90Ïk\81\87/\84{¡ìêy00%¤L\9cR(]5\1d|4U\8d+Ã\\95\81Áxïý\193çÎ_´Ìz½Ó\ 1\94t.±ò~]}=\95r¯¸àÆ\95\98ðã~\9e\0\83à\e\14\1e\9b\92SBij\95\rjk8`è¶CJ¡\95qûz\¨\9fË®Mkmp\16\16øU\ e\9b\11àè¤Ì"\12\95Å\97(ÔZ]_ÿÀàÐÐàà@\7f\9f®G£VvHÛ ¯x<¾ U,\95wÂÅ\18\1a\rßoz\18ã£Cz!ÏO\8d9éµ\7fëZËÿÀÊ0×ä\83þ\9eþÁ,H©\95«\1dwºø\9e\8eIÎ*ª¤40\98LzýýòÂÌäØ\88`\18\e®®\87\8f\ 4\86Â\87úÑ×?òÄ\bC_ßàR\90Rl\88Þ«Ñ'¼\ enw´·ÁYâlÖ8n?H\b\8a¼tãve\1dK UA\1d\f\ e\8f<\1e\85çñÈ£¡\81¾Þnµ²\1d»\e<\9e@\88`\18\1aÃä\17ãMº*ÅìÚ\92ì¤s\81î¿lZmÎ\95\ 10Pe|öÍ\12ÜÚ-{=\ 2Ï$¤ß*»ßØÔÌå°èµ¤¢¬«\b\ 6ÁíÐ!wï£P'\99EÕt~»æá£'Я(Ñ\11\v\98K1ÈXJyìûi\83\9d5\ egm·~ë\1eWÿÐXH·\1a&_ªÒö\r>\1a\1d\f=O\9f\8c\8e\f\ 3\r\8dªC"\12ðZ¸-<A«¤C¥Á`\8cë\a\9fi\17\1fæ\80ýÝr!\83\\94\91\10îï²c£Í\ fß\1aV\86Y`@\7f\7f\8b\85K­Öo;è}ò|röÝêú&._Àç6Q«îf§ÄE\ 4û\12\90Ûz\ 5\9c\8aº\9c\8aÆ\93\r\8f\8dc0^¿6\1e0\98±\\10Ä´Ø\10_\97Ý\9b\1dVYá­l×\82\9ey\ 5\9f»\92I¬¦µHTZ\98rcÏÆ'\9e?\7fñüùÄøÓ±\91¡~\9dFÕÞ&äq¡Â9\\ 1tJWï\94ÁgZ\18\ 6\a\94µ4\92àÿ>}ä Ó:ü\92o>ûØ<)\85Á\80þþdþ¿\97Ùþ¸ÓÅ/4>­ ¼\96Á\15\8aÅ­|vCuqNj\ÄqßÃØÐð?u.1£ð^c\8b´ëÁ\14\18èb úV´²jà¶\83KAJ­±µÂ[ÛmغÇÍ?,>í\16\b±XÑÝ\87ýÊ`Iðüöâùø\93ÇÃ\0C)\13ñ9à·\f&\8b\8b-¾¾Á\91'ã¦\1e\94z\86\1cpRl÷n¶_¹xÁ§³f¼\8f`¼m\16\ 6\183ç~ùÝ\8aÕ\9b~q?v&ñfQUC³ M*m\13rhä\92ÜÔø3\86\9b\81Á¸\81ÁP?\18B0^\1a/\ 6È:ªoZUá\8d\84ð\0·=(¥ÐÅ\80Æð\84\8b\ 1\10´w=\18\14\93$hæ\97/\7f{1ñtt¸¿W-o\13p\9ah\rõõ\8dô&®P¢Ðè\ 6\f\84,ô)5btÀK\11\ 1oÄÖ,\95\81`\80LÍúô«Å\16ö[ö\12\82£\92A\97\18<±¬£C*âÒï\97ä]\8b\8f<\ 1\ 5\ e\9dá\15p\1abê¯0\90\1f\82¬+ÅpÀòRbN\1dùuç¦u\90RÖ«\1d¶ì>ä\17\1a{­ ¢\9eÓ¦ê\19@\aÞàH¨h&@Á\1ejU²VnSc]\r\85RC¥5µ\88Ú;{\1e\ e\8f=\9b4gÓÁ0¦\14r@H)\1fçm\ e\ 6±\9döÎ?Þ~Jý\r\99íô\19³æ}ý_ܺ\9f\ ex\9f\8aI\85\12
+E{\e\8fA)ËOK8{2ÀÛÃÍý°O`èù$¸8´70^a¿êsx§>\r\99\89\91\81\87÷oÛho\83ÇÛØo\84\11\19\18\99x\93Hf\b:4}ãÏ\fM\801D
+6Ô§Q´ñX\8dµä{$R\15¹\8eÆæK\94\10g£¦\871¹T±\94º\1a\1dLØ·ÅÞÂ|bk\80ñÁl\90)¼ÃÏÎ>¡q×o\93\1a8¢v¥J%\97ð\9b\vÒ\13£B\ 2\b\ 4oÿà\88Ø«ÙwÉt¾ÌÐ\19z\18\7f¨o\18\19\87vo\81úÆá\91×:\83\12\Í-«k\16ÃP\84m¢ï\19ãàz:2 S··rèuÕ\95e¥¥e\95d*\83+êèÒA\9eM\98\16ÆäRí6.Õ£®»\1cW-_4)¶f\81\81Ìöó\85K­7ìpñ\ f\0uåIä\9dêN¥LÈ¢V\16ÞLº\10\98\9f\8foÀñ\90¨Kiù¥\14&vÊ\r0^\19ÞI«\10±jKs\92ad8C}ÛàqxÛu\9bwAJÅ\ 3ßF\10°\aè¸\e[Y\1f\12ðw=*)¿©\9e\QB,*º[J¢4²\85²ÎÞ\ 14c~7-\f\87ô.u;-.ÄÇùçõ(¥æ`)e\96Êø;\98í\87\0\99rÜåz4òrV1üØ2e\97¦KÕ!â4T\11sR\13¢ÂN\ 6\ 5\ 6\ 6\87\9c\8dK¾YXIe\8bäݰ3\f0°w\82\94\8f\8cH\18\19N\eì¬p\96V«`d¸\1f=\83R\8a)\94\1fé\7fàׯ\83\89¥[·BÌ¥Õ\90JîÜ*(¸M,«¢2y\12UO¿aÆ\98\90\85þFcKµ¶\14¹\14¤Ô\1a\94R³Í\97Rz³ýr\11\92)\8f sÉ9¥µìÖ\8eÎnm·ZÑÖB§\94\16d$ÇGE\84\86\84\84\9f\8b½\92\9e_LF\83\ 1\ 4\82ñÊàR:µ\14\1d°ëñaþ®(¥ð\96\96Vv\e·í'\1c\8fJB_)VõBô¼é\ 18\98\ 6\ak\17²ëÉåE·òrró\v\8bI5ô\966%\ 27nj\18ØÍ4.UÌ¥Ì\9eRz\99Z\80dj\9fç\89ó)ù\15T\8eXÑ¥ííѨd\ 2\16\95DÌMOºx!:*:æbÒõ\9c"\12Ô{»Z\1fê¿¿Â`L`\a¬\8dC­ÈO½pÚ\a¹\94\12gm\8fU\ 6(AE=W¢6¤Ôë70°¿ë\94ò\99u÷Jnçegeå\16\10+(4®X¡}hr\18È;ÐaPKQÕ]\83Å7Å¥Ì$¶úþÆdÊéà\91Ó±i\90ïpò»{u:íÿ\89/Ó ¦Ï<\8e\8f³³£«®ÔÖcÕZ±îzíªu\1d\8fV«,[WªµU,-ë\8d\17 õ\0\15ªÈÒ"¨¨\1cÊ\99\80I¸ï#\10®p
+\84û
+\90H8\13\ 29I8\fDÄ¥û{\9eÿ?\ 1¶ûbß$>¯\1c\19\98ù?\9fç{u\v\9akJóÒã\19Ô@\7f_\1f_ÿ jD\ 23\ f^n»HF\16#8\13¸¬\8b\95ùÐI¼\ìO\1d=°ïS\14\19û,,OÿpÇ\eýɺ\97\1aRF\9fÉÄÃ\84\92ß\81äÇL\8c¦\87\87\87Ó£\12Ò\8d\ 3\83\18\19\1aTȹ°T\19O=n Å÷.]j\16r©ÙóL\16­X\ 3ù}äô\95»\8f©\90ßõü.±D*í\17\e+\8bÁB¢hÔÐPJ\18\1d\92ª¦\97Ý}x1L\100Èünª`£üF0`eìܱs·ùA+\9bkn\8f©ñÙ¥\rm"9Êd½K¡ß\eE\91!àV\95ä¤ÅG>\ f£\86Ñ\b\18\84M\1943t#\ 3¢®¾4;\1e\96êÕ³\96Äâ{G.5k\16¹2\96¬\»e÷\81oÏ9âüæ4A·\94ÉåÒ¾\1e\98\0\9c¢Ü\fHר(\88×T\16ûEU\ 3¯³\17v\80F;\95ß`½½\ 2\f\ 3\94qùô±\83æ{>ÝõÙÞý°2\1cQ~ç\967µ÷*¦·U">\89Ȩ(\ 4\97b\84S\11\8cD&d\ 6
+ðéä\fÂ\ 2E\16.äØ]ï»Ø\1f?l¶}ãjrñ\19Ý¥f\11Â\80b»Ìtö}\87¬/Ýò$'\81H¢P*\15Rqw[3\1a\99éi©iLV^QYu#\ f\ 4a`\97ÒÁ \9amZdà\83ÛWl¾;¼ßìó={Í-\8e\9e°½éáOOΫàÂÊÀù­ïRoAP\83\105¼º²ü\8c¤hz\18\ 5I/)3¿¼\9e\aÕÖ°;C?2à\r\92i~?;\9d·²Ø³uÝGK\17Î\7f\17.\85Y\10Âøð\8f\9bÀ¥N9`\7f\85Ë\90)Uª\ 1\85´·»­¥¡º¼¤0\9fÍf\17\14\97UÖqù\1dÂ~\85zxTKN>üUàýíÍ\95\ 5Ìè\90Gn×/\1e?zp¿ùßÌÿñ\95Õ\19\87\1f\91e
+å·~dàøTÉ ØV¿ÈM\8f\8f¤Q)ÔpFL2«\10ú\ 1\1a}£¯\r      C\1fßüº\12\16t@×\1fN\1fùû®MàR&ïÂ¥H\16Ðk\17-3]ÿ×Ï-¬ÎcKÉ)kxÙ#Q¨\ 6\a\aU
+\89¸[ÀãÖ×Tr8å\9cÊ꺦V(½ðÃaÍØ8\16\86\ e\86BÜÙRSÌ\8a\ fóõp¾|öû#\87,\ eX|eyüÂ5×\87ÁQé\85U-]ý\ 3z\18\93èa¢øTöw#\97ÊJ\89\8d\b\a\18Ï#âÒrJª¸\ 2\98\94Ã(\92&\r\ 4cZ|ã\91\11àyËö\9f\87ömÛ`ºì\9d¸\94\8eÅÜ\ 5ï/ýèO\9bw\9a\7fsÂÞ\ 5^qZ~%\17ÊÌÀàðÈð\90Z)\85\82+à·p\eáp[x\82Î\1e±\14t\81L
+\v\83ü,0ßn^]iN2#ðá]G»3ÖÇ\8e|ýÍ1ë³ö7Ü\9fPb3\8aõÍ\16Á\98$\1d{D%Ã]\8a\9d\91\18MC.\ 5ù\8dËZ\87¾L\19\ 6Æäô¥Z\9a\9d\10¦\e\19kW.Y8\7f\8eÑ]\8ad1{îïÁ¤>Þ¸mï\97Vç®»=¡Ä±J\90K¡ûÖh^\r«\aä\12±°«£]ÐÖ&hïì\16\8a%rà¤\19{=N²\98$G\9fTØÖTQÀ\8c\róó¼sÝÎæ¤õ÷ÖÇÏ\ºvÛÓ?<!«¤\96ß#Q\8d\10÷;IÜ\ 5\92\13\12FeQvj\D8\ 5µµ\98¤Ì\ 2\ et9(kDd\18\ e\ 6~Aúqô#92V,21þÈ\0\14$\8b÷\16¯X½~ëgû\8f\9cºìâõ\8c\91\92Çil\13J\a\86^\8d\8e\8d\8djF\86TJ¹¤O,\12     \85¢^q¿T®T\ f\8d\90,¦`\8c\8d@\14v´Ö¾ÈI\89\fõ¹wÇÉáÒ9\e\9bó¶W\9dݽ\ 3\19ɹeõ03¦`\0\8b7Z\ 4\10\12\ 3\86\f3!ê9%$$4\8c\11\9b\92UT    ]\ e«Èp\91A
+C-\13    \1aËs\93P|_ønÚÈø\8dQ\85\98\83X,7]·e\97ùaë\8bNîO¨q\99ÅÕ-P,Õ#£cZ­vlôÕð z@!\97ɤR\99\¡T!\14£ZìQ\ 4\vÝ+Wö÷´5U\16±\12\19!>\9e\8eW\1c\1c®8:»Ý÷£Æ¤ç\ 3`\91Þy f°I©åâN^=§\80\95\14\ 4\a\ 6\85\841PdT£É§\ 3g\18\16D¯F½\96WS\9c\19\eê\8dâû\v\1cßF\1f\19³¦³X¶jíæ\1df°Î®º>\f\8cHÍ+Gñ=0\84\1eÿøøk\84cdxpP­R©ÔêÁ!0/@1®c¡Ëb\\8c\88«ÍL\8c\bõ\7fèávÛÅÙå\8eû}\9f`z"«¨
+bH7ãþMhIgRÅÙ)14Jг§\ 1ÁTF|z\1e^\19
+re\18\ 4ÆäômÄa§Ð\9fÞ»yÉ\1aâ{ãj\1cßFu)\82Åo\11\8b\85\8b\97¯Z»iû^\8bcg\1c\<ý\9f\83»×\10Â\0\16oÞL¼Á8 <FÐy\ 5\b\14:\16S\9f\94\88`"\96ÃC\8f
+\vôõöºçqÏËÛ/èylZ.ºà>tÁ\0\ 3\ e\92\92fh@"\14 Z\9b\16K\ f\rðóõõ\ f¤0â\99ìòz~7\14[\8dá\jJ\18ݼÚ\12V\1cå±ÛÕ³\96ºø6îÈ ¢\eXÌÓ³8`yÊîæÏ>\94\18fAES\9b\10\1c[£ÅW>1ñ\ 6\ 6¿ÂGû\1a#"QLN½3ì:\8a~!Ðà\14B\1e\82\9f¡û\r\b¥Å@\fÀrÀ\17\8c§       f\81\94\84\9bT^z\1c=äé\93\8f|\9e\86Ðã\99ù\1c¬LT¼\fTl'gîTÔk\9dí\8e\1f6Ûþç\8f\97/2\99\98.5Åb\ 1°0Å,\8e\9e´½áþ8$*5¯¬\1eU©A²¹ÂÅa\1e\89\ 3ÿ\9a\98\89BÿqZͰZÞßÓÞZ_Q\92\97\91\1c\17I\v§RÃh\91q)¬ü²Ú\96v\91\14g2üÑ·d`ôuñêËó\99ñô\10¿G^÷@E¾A´8f~\ 5ê\ f\86\8c\8cé¨{\91\15O}\ 2½öÛ\ 3»?Y·j)\11ßFs)\92ÅìßÍ[ðþ\92\15$\8b\13\97\9cܼ\83"\92s^Ô \8e¯\1a\1eÕ\12,°©¼EDðyû\16ÿçät\16¿\90\81\19VÉû\85\1d¼Æê²ÂÜÌÔ¤øØØ¸\84äôìüÒê¦\97]\84õ\11j\83g\89ò\1eͽÌ\ 4z°ï\ 3\8f\7f¹¹ýäõ8 <\16`4        \88¬7\90KMê«\14\16FZD\80\97\8bý       èµ\7fY³b±\89Qã{\8a\85   °X½nó\ eÌÂÑía =1«¸\8a+\10J\94C¨öLµ¥\19gr&\89_\88\bGF\ 5
+\89¨«­¹¾ª¬\88\9dÃÊ`fdf³\8bʪ\ey\1d"â¯b\18HE¨Õr«\8a³\12\19Á>^îw ì]\7fzàO\8d\86âEÀÐ\1a\12\86\820`ð]?ge±g+îµsg\eO\18z\16óM>Xúáêõ[vì³°<\89X\ 4Ð\12XPñÁÛ\15\83è   ëYüúüúó¦h(¥â\9e\ e>·¾\9aSZ\TXXTRVQÓØÚÞÓ'GrC0&\88U"î$V   ôà»Î\8e×®9Þºëé\13\12\99Êæ4
+Dr²L\19\88Å\fa\ 4Þw±?ùµùNÜkçÏ1^|ë¦\1eÁâãõ[v\9a}iyÒÖ       ³È,¬hä#;A·6ñ_½ò\7f0\98ñ\81$\8d\91Á\ 1¹¤·»\9dßÒXWSUYYU]ÛÐÌoï\11Ë`E"\97\823\8e\9feÏË\86rvZ4Å×ÓõÆ\15{[;\87ë.îÞA°9Ë\ 1\86Ì 0&t¨\9d\12\ 6\f>S}¯5
+\fý¼\98ÿÞ\a\7fX¹fÃ'»Ì\ e\1e;ewÃÍ;\10³h\0\16\10\18\1a\92Åÿ\7f\17$\r(I¯@\1c²þÞî\8e6~k3·\89ÛÜÊ\17t
+ÅR%¬H$\8c        \¼T2Q{sUQf\¸¿\97«Óå\8b6gm.\vr½ÿ\8c\96ô\1fâË3(\8a4\8dãWÞÕ\9e®Z«\9e\87awÕuõt\8dëºzê\1a\10X\82\12\94$
+"A\14D\91U\ 4D\90 \b\82 \12EN\10AD\14   \12\ 4\91,aÈ\92ã\fi\18\ 6f`f\18\92
+÷¼Ý=\ 4½ª+ËéÞ·\8a\81ê~\7fýOÉ9¥Ø>$    Æ¤0Zë˱*\ 5\89¡£\82   C\82BaL\9dz\v\81ź-;÷\1fP×5¹xõ\86o\bÆ¢º©\8d\85æÞ\bnR\9fõ\8ec¨%\8d qô#\1cí\8c\96¦Æ\86úú\86Æfz['«\87Ë\eÀ\851\8a\v£¹º8;ùi\88\8f«í\ 5\13\ 3\9d£ZÇt\8dÎY9Ý
+z\92\98]RË /3&\85Ñ\8c6\ 6ªR\7f\860¦L½y\v\97,[µþ\97]R\a5N\9c±°w÷\v\89JÀYt\11\99,p\1a¸8p\1cÝ]\9d\1dm­pÚ::»Ø½}<\ 1Z\91\980°Ï²¡"?-6<ÀÃÞÂDÿ\98\86ªªúQ=\13\vû\9b\81\8f\132\8bkè]dµ)L\18Ã"a¤>'ª\94H\18TõÚiSoÉòÕë·þ&­¨©gzÉÁÃÿÁÇ,Þ\7f~ÅÇi äÀpôqzØÝ¬®.\16«»§\97ÛÏ\1fÀX Z;\fUª³¥¦8;)êþmg«³\ 6\94\15\15UÔu\8cÌíÜ\ 3\1eÅg\14UÓE;\83\f\18¸0:\9a«@\18\8f        aì¦V\18Ó§ÞòÕ\e¶î\96Q>¢\7fÖÊñf@èÓÄôü²\9aé,>ÿ"&Ä\81p\b\80\a\97\83\ e·¯\9f/\10â,0é\búØí\8do\v\85\a¸Û\99\ei«))ÈÉ\1d<¤ehfãæ\1f\1e\97N«na\92\ 4C\94\18\1c$\8c7©Ñ\ f|\,\8d?\16\ 6é0>\99z¿îþ]EËð\9cõ5Ï»\ f\9f%eä£\1eÅú"\16\18\r\1c\aâ!\1c\0 |\1e\9fÏ\17\f\b\a\87p\16\b\ 6ò\bF]Ynʳ\10og+Ó\13\9aÊò2Ò2òÊ\9aúg/»ú\85ž.¬jfö\92\ 6cB\184\10\87Ýy}u´1(\14Æt\160õ¶í\91=tô¤Ùeg¯À°èäÌ\82òÚ/g1>\89\ 3É\ 3ô1(\84388$B\81õ_!¯\97    .\85µJû\8b§´U\ fÈì\97\94\92UÔÐ3µ¾îû\10\83ÑÙË\13\ e¿û|¯üÿ,¦\vÃÛÙÒø\98Òþí\e~$6\ 6\ 5\891eê-\80©·fÓö½r\87µ\8dÎÛ¸Àæ}þ2«°¢®\ 5\17³\18\9fÀ\81ñ\18\ 1"pFFF!¹\ 1Å\a\ 2\ 64\99*Zzü£»î¶æ\86Z*òÒ\92ûö#\18 \f\8cJ2a\10\8a\96ñ\82\10\86Üo[Ö._L\950¦° ¦Þ>yU\9dS\7f\¹~'("&%\9b\ 6,:º9xùü2\16ã"\1c\18\ f 2\8a@`ªø\80~ÅL\82Ý\ 1\91\91\16\eæïfcfpDYNJRRJNISÿ\9c\8d\9b_X\1c\99Ê\98²1þ§0f\90\ eã#\16hê)¨\1d?}ÁÖÕû?\8fcSs\8aÞÖÓÅÇb\1cÇ\81n\1e\80\10ç\ 3ªÊc\84c£ü®È\7f\15óÐÏ\15ÁPQ\90\91\92úý\0¸¦¹-jSé´ª\16r``Â\18\9eØ\18¸0Ô@\18k\96/^@\8d0¦²\80©\a,ÐÔ3¾xÕÍ'82îUNqe\ 3£\93\r£lhD<,Æ       \1c8\10ì\8c\89~x\8fÃhÀa¸]9oxLUQ^VVAY\ 3\1eÉÁó^dBf\11Þ¦H\80\81       CÀeµ5 \8d1E\18ß\12 \98ź-;ÑÔ\83\81åî\eòäEZnqU\ 3\83ÉæòÅÉ\ 2\8fÏ\84eãÊ\0\9b\82f{á´®æa%43´\rÍ.»x\a?MÎ)©e\88v\86XaàÂ\10¢\95S]\9c\856\ 6\91\18H\18s)\12Ƨ,ôÎÀÔóCSïMIUc+³§\8f/\ 4\16ï?\88\8fÅÄ\ 5\8cMþKQ~b3#=>â\9e§\93Õ¹\93ǵÔÕÔ\8fè\18\98^²÷\b\b\8by\95W^ßÊâ
+H\81ñ\ e­\9cî6L\98¡>.VÆÚ"a̦F\183fü\95È\vÄb\97\94¢¦\9e©¥ãM\7f4õòJ«aêá,Þ\91Àâ\93ÛÀ=\eZ~QfbT°·«\9d\85©\91þñãºúF¦\16v®Þ÷\9f$d\14¾mlïî\13\f\89\1f\ 6¸Ô°\90Ïé¢×\96d'=  ò¼jn .·\9b:aà,¾\9a5[ÄBZ\11Æ\95\95\93g\0\80Eo\9f`\82\858_þÓÛ\10ù\ 4ì\8c\92Ü\94çá\81^.¶\16çM\8dO\e\9b\9a[Ú]\87\9e\1d\93\92[RÓÒÙÓ?04*f\18\13ºìhª,x\1d\eæwÝú\8c\8e²\14^¥¨\10\ 6\1e\18\84­\87z\14bq\ 4cq7,:)cÊÔ£\82\ 5öm\8ebß&£¾¢ =!ê\81¿×u{\eK\8b\8b\16VW\1cÝn\a¢\ f¤°¢\1e"\ 3Ê\14¸¦ø]
+Åwk]Yî˧÷o9\0ÔTØóËZ\8a\841\85\85\ 4b±S
+cqÍ+0ìyrfaym\vÁb\94\12\16p\1fx\9dénoª*ÎI\8d\8b\f       ¸íîâäààèìæé\13\14ö4áu^iMs{7\16\19â\86\81¹\14\16ßE\19/\1e\ 5ܰ9{ü\90ô\8e\8d«¾£¦J\11\9e;_âÛ\1fÖþ\f,À£¬\81Eøó\97Y\85øÔ£\90Å814ú{\98ôº\8a¬\97±\91¡A~wnyzzÝö\r\f\89\88N\80rWÙÐÚÕ\v.E\ 6\fQ\95Ë{\ 5½ö\9aÅ)­\83{·þ´bÉ?¨Ø\18D\91\ 2\16ÿ\ 4\16\9bwì?¨\89ë"<æe\16­¢\8e>\9d\ 5ù0&|\8aÕÞ\S\96\9f\99\12ÿ,"48èÞ½ àÐGQ±Ééo\8aa\80Âèáã.%æÈÀ]\8aQW\8aâ\e\9eªì®Í«¿\97\98O\810Pxc¥vÞÂ¥+Ölú·ä\ 1\r=S+'Ä"%\9b\ 6o\r,x\93yA\11\ft# \8dÖÆêÒ\82ì´¤¸è¨ÈÇ\8f#£¢ã\92^eå\97\83srx\84\vCäRU´ôøp\7fWk\13èµÛÖ¯\º\90\ 2a`\81\ 1EjÎ7\v\97,ÿׯíû\14ÔO\9c±\9c¢\93`1J%\fð)\90\ 6\97ÝÉh¬.§½ÉJKIJLHHLN}\9d\95G+«n w\88\83ø]j\18Û8\15y©Ñ!w\9c.\9eÔT@½vÑü¹³¨\10\ 6\16Þ0ö\96­Ú°m¯¼ª®É%GÏ»\90\17SX\f!\16\ 4\fJB\ 3¤14Àãtw2\9aj+Kiù¹ÙY\99\99Y9o
+\8aÊ*ë\9a\18ÀB´zľ2F\87°.U\9a\93\8c\Êì\84ª\f\16ßßÌ\9eI¾0P`Ìü\1a\95Ú\1f×oÝ-{XÇØÂáæÝ0Èî     \16\ 2\83A\8d4Æpi\80QqØÌ¶\96\86Úª\8a²\92â¢ââÒò·ÕuMôv&\9bÓÏ'eõ`\91\81\16_MQ&t)7ë3ÚJ\92ÛÖý\80Å÷ß\0\ 6©,\90Iý}\16\16Þ00dT\8e\9dºpÕÝÿatòT\16Ã\130(£\ 1Ò\0\1a<n\ f«£\95ÞÔPW[\ 3§®¾±\85ÑÎìîá\12_\88Ø\85!\8a\8cæÊ\82´\98P\9fk\16FG\14ölY³lÑü9¤»\14aR(0V¬Ù¼CJI뤹Ý\r¿ÐgI\99\10\8b~\9c\ 5À\0\1aTi\ 3I\ 3£1Àëëe³:;Ú\18tz\v\9dÎhkïì\ 2\14ýü\81A\11\v\80°Â##åYð-\as}5Ù\9d\9b&]\8aD\16\7fÁ\9a\142©ÅËVoÜ.yPÓÀÌÆÕ'$*\11&.Ñi\85\83Ã\bÆ\9fDC(àõqzج®.&\93ÙÅêf÷pú\0\ 5.V±³\10­\8cî¶ú2\88\8c{\1e¶çt\ fIoß°r)îRä\v\ 3Zí|\89ïV®ÛºG^í\84©µó\9dûO\12Ò\vÊ\89­'\1c\84÷\86#ÂA\15\f\8cÆèðÐà\80\80×ßÇåpz{9\1c.\17H\bD(Þ\8bÿQ\0Æ\bÊoFmqVBD\80Ûe(¶\92¿þ´bñ\ 2ò»\14.\fhR`R?ï\929¤c|ÉÑ+(">-¯¬v\92Å0Fc\ 4óª÷\14\r?\11\8d\11À!\1c\10\bø|>\ fþ\0\ 4öu\8c\92ó c\13ù]MK\8f\vóu±<¥u\0E\86ļ9d»\14\9e\18\90Þ\8b¾_\ 5&¥¨uò\8f«\1e\ 1á1©¹¥5ͰªD,ðCР\ 6\ 6A\ 3á\0\1eC\83Ä\19\1aÂ\1f\83$\85\120z\99ÍU\85\90ßÞ°24þK~\99ÇSµîaüÞ\9c\ e!ó¸ÍlC±\8d\99\87d\8eBTD
+\85(CÊPÒ\80PDÉX¤\ 1\95éd*)\87r\94\94\92\84R¦Ì$S¦tÏ}ßµö\8eÎ\1dþºk¹\1fûùÓ?öz¿\9fç÷<\8f±¦\9c8\8c\fZ\1c`@cp\10DÖ(j\19[;z\1e\8d\88¿\9aWúøEã\87.¸ª(,¦§§)4ð²\ 6¤\81âø\ 6.äì,Å\9c\8b;öÿüW@\18°Lu\7fhxZ\96\87æ·¡:I\8c\8f\ 3F\ 6ÖW
+\1a\ 3$\86\80¸¬ª\9e¹ý>¿\90ói·K*kß¼ïìû\99\ 5\14¤\81\9f5\10\1a\0\aà\ 1\89 \9a\10\ 6´Ù\8e\ e\812U]\9a\93zî¸×î-úª2¢¼ì«éad`ÈâoÈÆ g\ 2\89±FQÛd\9b³wðÙäÌ\82ò§õï:z\87àÂ\9d¡°@/\ 4Rqq\83\ 1y,\16V Ð\7f\b\9aíäè`×{´L\ 5\1dp°Ø\0&\1f%¿±\85\ 1ã\9b\85\93\9fH\82Æp÷\ f\8bKÏ-­ªkjë\19DXÀË0C9ÙÓÓxÃø\93ÂãgaùßÐfÛÙòòqÉÍä3G<\902%\84L>ÌW\ 6\1aßB\92
+\9aÆ[\9d¼\83£R²\8a*jß|ø402>\89²Xb\18\vÏ\84Ïe\ 40Ðf[Y\94\99\18\11°o\87\99\8e",Spòa\1d\19è\95\12Y»ný¦\1dn~aqWóîW¿jéè\e\1e\9b\9cB¦ÞÜÿ     \f|\ 4gÆÔÄH_{Óó\8aBÐlý\m6j)H\bpb\ e\ 3éR´\fÌ\9c|D\92\9a¾å®\ 3Ag\923\v+j\e?v\ f~\99\98\9a\81ÅenQ³¤
+\18ÈÌèm{û¬üÎõ¸PÐlMÐfKO\8b\ 3\f\10\19\\ 2\12òàJ9\1f<\19\93\96\8f\97À\18\9fǾÎÌ"õå\875¦Ñ\0DZM-\81 \8c¯ãÃ=\1fßÔ<È¿zþ\94¯³µ\91º,\11\87f\vaüJÇ\b"CJQÛÔÖÕ/ìâµß\1eÖ4|\80Æ\98\9e\9dC+%j\8di\94Å,\8e;c)\84Î\8c!03\9e\94å^\899áãhe &#J`Ç\ 3\ 6Ìo6\1eá5ët7Û¹\aF$\82+õüm{ï00ÆÜ72\fH\ 3\15¾3c       \ 4j4Òl?½¯¯.ÍN\8d\ eöÜe©¯"-ÂKn¶8Àà\15\91Vѳp8\10t6åVÉã\97-\9dý#ãS³ðÕ¿ShÌ"(\90ÄXÖ0¾£Í¶ëÝ«ª»·.\9d\rÚ¿Ó\1cÌ\fa\1cf\ 6\84\8a\89\9d *£ªo¹Û+8ú2\88\8cú÷]\ 3àJÍ!K\97Lc\ eé¸0ÐÉ,\963\8c\89\9d-u\8f\8a³\92"\ 3Ýí6­W\92\823\83\ eã\99±\0\83¤f°ÅÑûxLZÎýê×­\9f\ 6G'gææÁ£\93i@\1cs\10\ 5Âbù\1aãG³í\80Í6#!ÜßÍÖT[\8123°\87\ 1f\ 6A\fÀ°rô9\11{%·ìICk÷Ð\18\19\ 6Jcþ\e\14\16Ë\17\ 6¥ÙÖ\82f{1ô°Ëv\13-y03\98\190n¶ÿ\r\ 6ÈoôÕÑSEÑ÷åÍ\ 2\851\86\87ùW/\9còݳÕHC\96ÈÏ\ 1fÆ/8À@3\83r¦rï?y½Ø\19d\1cß)$п-õ\9b\7füÜlcOø8Y\19ª\91Ä\bä\99\81!\vJ\9bZ\bðs©Ù¥Õõï\172c\11\8e\ 5\14Ë\96\ 5\801?7óutèS+h¶9©ç\8e{íÞ¢¯\8aÌ\f¬ËÔ¿VÛ¨K·ïV½zGnS?`üEKýdØ        \81\81Ì\8cW\7fÜ»}9ú\98ç.\v½E3\ 3\a\18¬èè³÷8\12\99\9cUü¨®¹\83¼3¨\ fÆ\8f\99ñ\92<3\1càÌÀ\v\ 6ͯt\8c¬ÜBR\8a:f¶nþ§ão\14ü^ÛØÖ3\f\13|þû\7fòƲ\15Èo03\ 6:[^>.¹\99ræè_6\1f¶4VЬ¤c`á\12\90\90×4Ù¶×7äBz^\19HðOàNMÍÎÍ\7fÿwZê\aÃN §|\9b\99\1a\1féïh\86\9b/ùÌ\11\ f{\ 4\ 6/^0hé\99\88²ê\86V\8e^ÁÑ\97oß}\×ÜÞ;<:9=;\87,\vj\120ÆäØpo{ÓóÊ¢¬¤H\0c3ùL!m
+ã;E\83\ e\rQi\95\ræ;=\8eD$f\14\94×4´võ\7f\1e\9b\9c\9a\99\9d\9d£.ÍN\7f\1dÿ2Øý±±¶¢031\92ì\f\11^vXmi0·\ 6R§x@hh\9bÚ¸\1c
+9\7f%ç^U]S[÷ÀçÑñɯSÓÔ¥©ÉñÑáþ®Ö\86\9aò\82\8cÄ\88@\ f\90\19*Ò¢\ 4\ ef\ 6Ú\95ØÃ\0¡Á\bBC\\ eÜ©Ý\9eÇÎ&e\14<|ZßÒÖÝ?42:6>\ 14I-\9a\98\18\1fû2<ÐÓÞRÿäÁo×\13 \fPmeÄø\0\f:\ 4\ 6\964È¡Á\ 1î\94²îf;7¿ÐóiÙ%\95Ï^·|ìêí\1f\1cþ<22ò\85j42òyx°¿§£µñEUiÞµ\8bá\10\86¾*\89ÈÏÉÂ\b\12\1cckÀРß)\ 5-ckG¯ È\84ky÷\1e=«ojmïêîéëë\87\1a \ eõ÷÷õvwµ·6Õ×T\94d_\89\v\vp\a0ÔdÅ\ 5¸XWã\ 1\ 3\84\ 6¸S\9cüD\92ê\86Ív®\87N\9eKÉÈ/­|Z×ÐôîC[{GG'\15©££ýckËÛúÚª²\82\9b\97cCýÝwZ\1a¨ËI\b\81\ 4ÇúNý\1d½SLì¼ÂÐ\1aV»ö\a\84Æ^ÊÈ¿[^USWßÐØÔÜÜBMjnj|S_WSõ°8çzRôÉÃnö\16\0\86¤\10\ f;\13\b\8d_V`l\8d\15ðN1²r      \10eTtͶ;{\1d9\1d\9br#§°´üQõÓgÏ_¼¨£&½x^[󤪢¬8/35.âØA\97\1dæúêò\92B¼0Áñ¸S O1@kHÊ«\e\98ïØë}4,&)=+· ¤ôAyEeå#jReåïå\ fJ\8bïdg¤ÅG\85\ 4x:ÛlÒS\93\93\14\ 60\18ñ\81\81Z\83_l­\92\96\91¥\9d\8bw`ÈÙ¸\94ô\e·ròï\14\14\16\15\15S\91\8a
+\vîäçÞμzébtXÐÁ}\ eÖ\euUe% 3(u
\b_I\aR\83GP\9c¤¬c¼Ån¯§_ðé¨\v        )ié×nddfffQ\8d233n\¿\96\9e\9a\1c\1f{&$èÐ~g[\v#me\928\8e0\10k°p\10\84%eUt\8c-m\9dÜ}\ 2\82C"¢bÎÇÅ'$&&&Q\8dÀÇ&Ä_¼\10\13\15\19z<Ðwÿ\1e{kS=\rEi¢\0\ f;.0(\85j5+\17\9f\88\94\9c\8a\8eÑæm;÷¸{\1f\ e<vâThXxx\ 4U)<ütXÈÉãA\ 1¾\9eû\9cì·n2ÔV\91\93\12åçfû\11à\98Ã\0[\83\81\89\8d\9b_TJVYKßÔrûN'W\ fO\1fßÃ~þ\ 1\ 1\ 1\81Ô#ðµþ~\87}}<=\\9d\1dl­6\19®WS\94\16\17&p±2á\ 2\ 3µ\ 68TÌìÜü"\92$%õõ\86¦\16[míw9íqqusÛG]rssuÙëìè`gce¾Ñ@GM\89$)*ÀÃÁ²\9a\1e/\18 Ãi\11\1a|Ââkå\955tô\8dÍÌ-­·m·±µÝAe²µµÙ¾Õz\8b¹\99\89\81®¦ª"IJL\90ÀÅ\ 6"\83v%ÖÕ\96L\83\ 6¥ÁÆE\10\14\93\94\96_§ª©³AßÐØd£©©\19\95ÉÔt£\89±\91\81\9e®¶\86ª\92\9c´¤\98\10\1f7;b\8c\954+ð\80\81Ä\ 6¤ÁÊÉÃ/$&±\96$¯¤¬ª®¡©¥\r¤CM\ 2ß«¥¥©¡¦ª¬$/+-E\14\11$ps\80ÄXE\8bÇ\95ZL\83\81\89\85\9d\8b\97_P\84(!µV\86$+'¯\0¤HE\82ß« //'+#½FJ\LD\90\8f\87\8b\9d\85\89\11\1a\ 3\1f\18HlÀKEGÏÈÄÊÎÉMà\17\14\12\11\15#\8aKHHHR\9bÀ7\8b\8b\13ÅDE\84\ 5ù     <\\1clÌ«\19È,°¿R\8bhüJ·\8a\81\91\89\85\rðàá%ðý\93\9dzÁA\18\ 4¢(\9a¨­\85¶Ð\ fÔh\8bû_¦3|\8cÝ\0$òÎ\ ex7Ãq8÷®\90sîØ÷×ó±Ùu¦³èÅ·E\8e\18±\ 6\1f\87\90è¦yY\8d±v«\95µÆ¬Ë<éq ³¸s\8b<\9f\11\8e£i¹GOA\94Özª\96ÖJ\8d\Bp\8aÔ"S\8cX\83¯£¥\1e\9d\10RöU\93R\88®»§\149[ø\1a\94#ô \ 3¡$^W£ðtÚ\80\96¸ù\14y[Ä\1c¡\a\17aM½Â\0<Å%¦ÈÚ"åðA¼kÕÒ
+q\94Ì)NAàW\91\12g¥'(¬ôü\0\0\0\0\0\0\0\0\0ðç>\ 2\f\0ùe\9e'\rendstream\rendobj\r1097 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 252>>/Filter/FlateDecode/Height 333/Intent/RelativeColorimetric/Length 18009/Name/X/Subtype/Image/Type/XObject/Width 252>>stream\r
+H\89ì\97\89;Ôí\1aÇ_\r³\8f13flÃØ²\8fµ²gI\94¥,E²$K¡,u$\12^´+\8a´ê\12Y*I)ÞBEè¤\94J\8a\84le\8d"Qê:Ïï\87Þ³^ç×{\8eÆéÌ÷\ fx®çó|ïû{ßÏ/¿pÅ\15W\qÅ\15W\qÅ\15W\qÅ\15W\qõãÄó»8}\95\1f+\88xÎ7ý?½\0Ä\8dBñòòAâåE¡PÓ\ fÀé\9bÍ´ ËQ¼|h\f\16\8bÃá°X\f\ 6\r¿\0ÌÏéËͬ&É1X<\81Ä\ f\89D$àqXÀ\ füÿÉáat4\96@\12 
\19\f\ 6]\90F\11à'\11ðX\f ÿ\99áázçÃàI\ 2\82B¢â,III\96\ 4ST\98!H!\93ðXôO\fÏ3m:\99&,.5WQ\99Íf++ÊÏ\95f1E\18T2\11\aà¿\97ý\7fcTNe\1c0\9dÂ`J+°µ´õô\rôõtækª*ÉI\8b\8b\b
+\10±h`üw\9eÉóW\83r¦®þ\9fj\8a\1cG$\v\8a°äØó\rLÍ-­m¬--Ì\8c\r´5Tä$E\ 5É\ 4\fï÷°óL\ fK^hPÎÞ11]îüT\ 6SFIKßÌÊ~\95«»»»Ëª\15Ë-Í\f\17¨ÉK\8aÐH8¾ï(úéa\89FcÐhxJÎRx8ãpD\ 1Èt5\1d\13«\15nÞþ\81Á\9b\82\ 3ü|Ö8Û[\9aè¨ÉI0\ 4¾Ëx87Ñ\18\1c\1e\b7\8bÇÄT¼S\84\982ÊZ\86\16v®ë\82¶FÆÄÅÅFGl ò]ãhmªÍ\96\11¥\91°È\8d\aèP\ f\815\81L&ó\13§ÆÄÌbü!\81{¢q$ª0dº©Í*¯À°Ø½\89É))\87\ fÆï\8c
+ݸÖÑr¡\96\82\ 4\83\8cG#6ozZ\82=\81N§Qø       \7f3&fOôóð ø°D\8a0KACßÜÞÝ?4&þpjzVvvæé\13\87÷Ç\85môp0×eK\8bP\89\88\8d\87\8eÄàA|\88\88\89\8b3E\85À\98ÀM.\b<ßÒ\7fVðC¶ãÉ\f        yMÃ¥\8e^ÁÛ÷$\9fÊÎ+(,*,¸x6ýXBl¨¯\8b\8d\91¦¼8\1d\18Ï\8bÌx¸\92ø©BL)Y99°"\88Ò)$<Ôô\93\82£\7f2ü9L\ f.\8a%ÑÄdÕ\r\96\84Ä$\9cÈÊ/ºQ^QqûVñ\95Ü\8c£ñQÁ\9e+ÌuT¦\8cGÔµ<s J\12\92\90Ud«©«©ÈK3\85 õ\b|\8d¦\85\86Ò\9fó£\ f\\14Gf°\94uÌWúlÙ\91\94\96[x³êÞÃÚÚ\aÕ\957®æ\9e\15æ·Ú\1a\18\ fu<\ 6\99ñ<(PIt¦¬\8a\91ô´5Uæ\ 2ë© ô¾\890;Ò\1fº(EDVÃØvíæ¸ä\8cü\92Ê\9a\e\e\e\9e=©©*-È9q :Ø\13êxäQ\ f*    C¤\8aH+Ï\ 3K\92\85ù"CmuE\19\96\18ø\1a\b
+Ò`QÁ\1fi6¤?\ f
+C 1\15´-\9c7D\1dL¿tãîã\86æ¶öö¶\96ƺû\15×òÒ\ f\ 3ã]l\8cç)°\18\93\1dÿïO\ 4%ÏO\a\ 1b`ncçà`k\ 5íGJr2R,\96\84\848\10SLD\88þ\a?        ÿUÍAa\88\82\12Êú6\1e!{N^(­~ú²ýuOoÏ\9bÎÖÆÇwo^É9y z\93×J\v=U\19Q*\11Ñ~\ 3Øñ\ 2ÂÒlÝÅËW¹{¬uwv°Z¼Pw¾\86\1a\9b­¢¬¬¤¤¨ '# \7f\12p\88Þræ4\a\85%1$U\8dìÖE\1c<SXõ¤¹³w`hh°¿§³åÙÃÊâ\8b\19)»Ã7¸.3Ö\92\17\17\ 4E\8f\84\1d\85&PEçj\1aY;{ú\ 5\ 6\ 5øy¹:ÚZY,21Zh¨¯¯§«³@KMYNR\8c\ evEÐD?\80ñ_       \8ay\86\94ºÉJÿ_SÎ\95Ö4vô\ e\r\8f\8c\f\ f\rt·7ÕU\97\15\9eKM\8cÙìµb±¶\12\8bÁ\8f\8e!ÒÄ\15\17,vX»q˶ÈÈm!A~^k\\9cV:ØÙ.\ 3_¤%\8bM\f@\ 4H\89Òøqh\8e\16=`ç\17\92ÖXä\14\10wübÙãæî·#\1fÇÆFG\86ú_·6ÔÞ)¹\94ydO¸\9fóR=¶\94\10\191;è"½¥Î¾[¢wÇïß·;62,$8Àßw½\8f×Z\ f·Õ\8ev\96¦z\1a
+,!\ 1\ 2g\8b~\9a}Uà\8e\93\97*ê^õ¾\e\1dÿôiltx°·³ùiÍí¢ó©  Q\ 1\ 6ªÒÈÙItI¶\81\8d{PäÞ¤c'O\1eK9t`ß®¸\98èÈ\88ðÐ\90à\8dë=\9c\96\99éªÊ"\r\90\19Óïì;S/WÖ·÷\ f\8f}\9e\98\0ðï\aºÛ\1a\1fÿ¹4?=)&ØÝÆP\15©ïp\82\19Ùz\86ìHJÍ:\97{þlVFZêñ£)É\87\12â÷ì\88Ú\1aèílc¬¥\0\ 5\bGÙyà\9bª\9b:\ 5\0ß!ö\91ñ\89/_\0üÈP_WKýý²\82ÌäØ`7k}¶$\83\1fQÖM±\eÛû\84í=\9e\95_x½¸øZÑÕËùy¹ç²Ï¤\9dLIÜ\15\11ä  \a\b\1dÙ\813&¸B¥ÔLVn\88=\9e_ñ´\rfÿúåóøèðÛî¶\86\87·¯f&ÿ\1aà²TGIB\90\84lÆM±;¬\8fHHË»^vçî½ê»w*o\97ß*½^tùBÖ)hW\ 4\ 1¢\ 2=&\87}\aÉ\ 4f\9c\83\7f̱¼òº¶¾áñ\89¯_!ã?\fõv¼¨½]\90\91¸ÝÏÑl\9e¼\18\95\80(\96¡×\84Ù}#\ f\9e¹RVý¨þyÃógõuO\1e=¸w§¼¤à,\14 ®Vú³\81\1d\rRYe¡ýú¨\94\ve\8f\86Ç\0;lü»¾\8eÆ\a·òOí\võ²5R\93\16\16À#\1aÇ\93Y\a^Ó72)û·ªG\8d\1d\9d\1dím­ÍMÏë\1eT\95\ÊH\8a     r³ÒSfÑ9Þïh\ 2M\ÙÀÖg{òù\9b\8fZzßO²O\0öÞ¶çÕÅç\8eÄ\ 6N\95\9bÂ\95Äb\83×\8cLι^]ßÚÕÓ?0Ðß×ÛÝÕö²¾¦\1c4QL\80Ë\12\1dEq\1a\11ÃÑÝ\86\aÅG 2\95ô\96yG$\9d-­mîyÿ\11ô;äû\87Áî\96'\95\13Â}ìM4dE( ä\91±£\89\15CÛuÛ\93r\8aï7tô\ e¾\aÛÒûw\83ýoÚ\1ak+®f\1e\8aòw2\9b''
+\9dÈÑÏ\fؾ)L\ 5]kÏð\83Ù%\ f\9a»ß}ü\f³\8f\r\ ft6Ö\94æ\1eÛ\11ä
+ÙNG¶ÑNí´âJú˽·\1dÊ)©yÑ50<:6>öqtx¨¯³©¶üòéýaÞv \89\10ÎÌ\19\14Ä.&¯cµ6,1«¸æå\14ûħÑw=­u\95\ f\84\19«Ë\88PðÈl\87ÿ2\14¦¢®\8dgxbvqMÓëÁ\ fã\9f'>\83\95\ 1
+\90\9a\e\17\8eï\fv³ÔEÞD3'è×%*¯mé±5!ózMÓ\e\98\1dØ>\ 2Û~þHlÀj\vmÅ©\8f\f¢\9bB'\8aA'\86\1eȼvÿÅë¡ÑO`e\80³çÕÓ;E\99\a·¯_aª9ÙD\1cýÃ\82Ån\92}\r¸)Ì>ú\19ÚmF\87zZ\9fT\14¤Å\87z.7\ 4û¬\0RÛ¡\13q\ 2"ró\97¸\85ÄgüVÝøz\10°Ã¯ù¶«éáͼ\13»6M¦<\877\9b_þ)ûÄd·7Ü+Î9\1cíï´\18ÌvÚw¬Þ\80\9d,,;ÏÜeó޴»\r]\83\1f\80ïP\13õ¾zZU\98\91¸m\9d\83\89&òì\9cAýCÍ\8fBûüèPwËãòK§öüi\8d\85àø\10×'üE\90Ñ4s\ eÚuêÊ\9dg\1do?\8cOLLgçù£qAÓ#\93Ó¶ÿ}Ö\ 1öO\7fa¾ÌãjLÛ8þ\16\95H!kÂ\84è\r£x\vÉV\96\92\10²\84Þ>\8c\16[²e¨©fJ¶¨,\91,IaÒ"M\8b\1aTRZhÑ®:uÎé\9có<gï\94eþy¯û~Î\89\99yÿð\1cÓ§sÿõüõ|îë¾®ë÷ûþþ\80\8bò\99u¯²\12"ü=a5\8dÁ\8dh$.µþ\0µ\13©\88\80â\91@öñ\ fØvxM¼D¾\88\94&\8d¦±D½vþæqP;ºhsE^ÊuXM¤ÈÈß¾^\96þ\16\11:?|úô\1e¿fö½\8b\ 1{6-³\98j¨¯\83D¾okÇl\ 3nÜÃ6\92î\8f\9f\8b3ãÃOÀj\9aO\1aC¯G\bì\0j\17o\80\88\90\9c\8f"Âû\8f\1fºD\9cæ\8aç)1¡h\89 \13êi÷}Û1Ó\8e\a¦u÷¿\ 4LÛJH»á¢¨íÏ\93£C\ e\0Ö`\7f£cÄ\14Ô\ 2Ð{\ 5F%åU1Hi÷\87n)Ù^[\9c)÷7c\83at\96¨·\ eÎ2\88¾=\ 3®<|^Å\80Ú?¼§Ú~\17Ú¾\ e°\ 6¯&\8dñü?µwËD\9cwo\9e%]ï   K¤Kg\89zëüi9Ñ\80J»ß\7fnûV»98rÐê\91<ÈQ3\9fWÍ $2\99\ 4Ú^\94\11\aÙÀi\91\99j\b\1d\16eÝQ\13Ím7ï\ f\89yTXÓÎïìê\96b\91Çm_d\86±\9bV\8fÔúk\r\1eùÅs\12\92\10µýáÕàý\0\89&r¡ë½¢¾òô\80\88Ï©[éEu,Ag\97\f{{òõ\93\a¶AÛ\ré¶]îïø9±Ç\91b©XÑö\1fÖ.\9cIÿ5{éPhciïzäÜ\9dÌ\92\ 6¶P*\93òYõ¯²â#ð¶+Ñvu\rm½1Æø9o¦\ 3Û\90b\89\10\89|Òµ`o\97\15\96S\r\87Ñ}ÍÞ98pR¡+\1c\87.¡T*\ 2\92ÏO\8d    õÁ"O»íj\14-\ 1%£ç|UÏ"E"\92    ¯y÷Âñ]N\v¿7R\95¶c\99\1f?}\ 1eqo\9a¹B\89\84Ïj(}r/Òßc=\12\17Å®\89\88açq ¥²&6_(\0¤Ë\aRBÚi¢*mÿ¬K ÉàG­<\91XÄcT\17<\ 2\92w\ 5¤£ßvüK\90ùEë=\ 3.'>«hæð\ 5$«±,Gþ\9aò%ê­\82\93\92ºÙË wĤ\15Ö´\11B\11\9fÝT\9eûàR\80\97³\8d9r#ºm\a©Ó\83(c»y_ptjAu+\97Ïç2j
+\1fß:s\18^S\89%ꥣØM{×Ãgc3\8aë\98\84PÀk«y\99~ûì\11·UVÓ mÑn;VÏ)\96\ f\9d¾ý[Qm;\8fOv4\83ÁE\ 5íÙh;kòè!ªÑv¼î@´@óÇ#@ê\1aÙ¤\80ìx÷æibTÐÞMKg\e\8f¡\89tÿêQO+Ç\1d\10\f³K\eX\ 4\9f\97dÇ_øqç\1aëé\13è¿fï\1c4\9fº°î\8b7x\ 5^y\b»ÙAòyíuÅàÄÇv®\86\8b\8e Gòø\9f\98hg,tòÀêù\8eM\92\ÆÛ´\9b§|¶ÙYN\1d;\14½f/ÕCç +\1e\82¬ØåÀÉ\98G/ª[9$Ìge^Jt\88·Ër\8b)c\87\ e¢ÛvL6#'\9aÙlÜûóµäüª\16üË
+\18ùÀÝÎK@étU\ 2é>»»\83ÛѰ;\99Åuí\\92Ç\ 4\83K\88ð\ 3\9c\9di4\12"\aÝ\8b*@ÑÅ'ôæã\975mðKä\99      áÇa\92@@t´TÁÛñÈc;Zçá\7fñAny#\8bGt´V¿H»yúÐö\95s1ÎÒ\8d\1cX=\r>\93\r\93GrÛj\8bÒo\9f9´Ý^õF\1e\1cn\7fptJ~eK\a\8fÇjzý4ñ
+Ì'28pbºmÇ£4ÎÔ
+È&â^NY#\8b 8\80\89)ÑÁû6ÙÎ\9a\ 4æ®\12\86U~\1c\1eùs±\19\f\ e\8fÓV[\9c\19\17æ»Ãq¾2\ 6÷YêÖyü\ 4dó¦¹\83 Ø`\1c¿^þÉcÝÂ\19ß\8d\80_ª@é=*ß3òL.\8fÝ\\99\9fz\9dR:\ 3eæS\rÖh¤\11%u)ùU­\1c\ 2¯;8Ü\ eG+SÃa\83TdäûiÂjN±Xîâ\1dr=5¿ª\99Íã2\eËrï_ô÷\90+\1dýùT\80¢Ë\81Ð\e\8f\ 1\14¹\ 4\17\99f,¬»\9då\14\ 3ÀD\95\18yu\0ïá\06\8e;|Ãâ2\8bkÛ`ä\195E¿Å\ 2Ó9 ø¤oprª\9bj\89@\11I];\8fà0Þ¾H\8b9é½e)ZwxÎÞ)\87ÖAJ§7z\92¹\8dóîÀ+\89O_7±ðÈ\83¹\aïß¼töä1Cè+Ý\17T÷c8\ 2Ep\ eNKU^òÕ p÷\99F*²îjê Jú\86ÿ\9e»\12Àûf\1a\80M\a\8c|CYÎýH?w§\85ß\7f§\ 4Ó)¤nú\ 2\ 5Õ\81Ô\ 1Ì?ýõ\92¿\87Ó\82éàî*±îÐv¹Ò¹û\ 1Ë\97Ö·s        Py<òÿu\0sWJ\96P\80\85\9f.qÞóóÕd$u$\ 1±0ç^\ 4\90\8dÊH\1d2¸ACÇRJ\17\9d\9cWÙÌ\86\16µTæ+F^\19sÇD\8b¥n\8b÷É\eiHêH\ 2d>ûnØQ7\879\88l4T`Ý)¦\9b0ÝzõÎcçã2@éÐ5\e˱Ê+?òò\0\8b¤.6\ 3¨\ e\87¸W\94Ì[@,ÔV\ 1©Cm\1f\88\98n馽AQHéØ\ 4\89\9dsG\91Ê+9ò\7f\91:6Ê\85\10â\\96¡YR\ 5\99W\18\9cÕ*·#go§\17¾epù|Nku\ 1\ 2\9b-Ëf\e+¥ò\7f\95ºæ\ e¾\80×VS\98\16\13²\7f³­9\15âz£\1cZwTë\aÃ\89\rÎ+àÒ\83\ÄÝ\ 2²\ 3Ãg\80çz\ 4\8c¼\82ê\90Ô¡\0ÛÊ\15\bx\8c·\ 5©Ñ¿ìÝhc\ 6?Õê{©Cm×\19>ÎtÞJ×C§n<*¨F·$\98\r%YwÏ\1fCðI\81\ríÿ~Iui/kÚ     !Ô^\9d\8fì}Ãb¤!}_»¢ífKÖ{øGÞ{RÚÀ"\85B4\9d\8fa3·®°P\12>\15\ 1ÖÞõ\b¦:\16)\12òZ«ò\92¢\ 2½Ö/\9a1a¸\8e
\8eÚ\ e   n®ýv\9fÐ\98TH¯\1c\81HÀm©|\9et5h\8f³\8d\19µ\99JI\9dþ8Óù\10\13\9b:\ 4b¨½òùÃ+\ 1\9e\90â&¨\0ÚP"\ fm_¼ÎÃ/">\v¼\88\14\89ùì¦2\80\90\13»ÖX#\0S¦C uà\9b\10`=Q\80­há
+Å"¨ýY"$X\84uú*P;òöá¨íÛ|N^OÉ\83\vÅb\92\89òÖÙî+ç\98\8cU&¾b²Ñ\1d5ÑÜvÓ¾_¢S
+Þ¶\11b\89\88ÛR\81\90Ö}­õ´ñÊ\89È?y\80ä\91·O6\87mÇm¯c\92pI\10%äpß\0u(\1d\ 13X¬ØzðÔ­ô¢:&_"¥j¿è·\vjWR@ÿÁ\83\84n\80î\88 Ó¬\1c\\ f\86BÛ+\9a9B©TÈE\99ãòOàpX\90\950b5uÍ\81ÃÆ\9aÌupó\r»\9bUÒØ!\94vBío~\7f\0µ¯\99o:®Ïq\1e  Ý a\ 6Ƴm\9d½ü#\13²QÛ%\9dR\ 1»±4;þ·8\1cÈ\88\8eþøiÖkwùEÞÏ}ÝÌ\15uv\8aáIsïG\9eøaõ|\14e4ú´v4ñÚz£\8cfX;º\1d>}\ 3\89<ÜQ&á3k_¦ß:}p\9b\9d²\ e\87\b£\99\8b\ e\8aJÊ«b\10\12\99\fj\7f\9d\8bb\9c£\15p2ÝߪQG\1d\8eü\93ö¥þô7\10$\1d}C\13Ëå\9b÷\ 6^ºÿ¤¤\9eÅ\97Êd\12\82Q\95\9f|\rñ\97¹\92\ eG\85¸I³\96\ e\89yTXÓÎ\97vÉÄ\9cwå9     0N«æ\99Ð\8bqTÑýúõëO\1dø¢\9e\80ö½zþ¨Þ\9fò·Ekwú\9e»ýøEu+O,ë\92\898ï^£½twZ ,\83(B\9cÝöÃgb3\8aëÙÂNôߦ²ìøó¾n\ eséDXyÝý545µ´\ 6ࣥ©©\ 1/\80ʧ}5ù?±Ð\8d7\9dg¿Õ;øjâïå\8dlAgww§\90ÝP\92\19\17ö\r\19N\11âæ9î8v!þIY\13G$ë\96\89:\1aK³âÎ\1dqµ·\84UÒþªÚ©Â¡n­\ 1Ú\ 3\aé\fÖEgð`\9d\81Ú\ 3´4\94¯\1e\vÝP\ 3ãY6\e<N\84Çe¼¬i#$]ﻥüv\88[7B\ f¸,ÿ\8f\92\19\8e
+qã!Ĺã\10×Â\93tuËàM_eÄ\9e9\ 42b<FOû+Ü\ 3U\ e\1d×ÔÒ\1e¨£;d¨þð\11#Gý\8fõ2\8f§j_Ãøý|î§ÌdNÔ\ eE\911R\86B\86H\b\95©¤I\1a\f9¥R¦:\8e&'*9©Äé\96¡$ÑQ"\15\95BI\84$B\12Û´íÑpîûû­­º¥²×¹û\7fËzÖó¾Ïû}à'#-).&"$À7\11Ô\93\12\ f\v\88ÊL\9fcdç\15\ 4÷­èY\ 3¸Ãd1ú0z\9e\8eزÂ\fê\16¹ª\89¢NFQ\v\95¸\ 4(qM\9dý\fæ@wkí£\9c¤è@w+D\r?\7f.V\ e\96ó\v
+\8b\89KÉÈÉO¥(*)+++)R¦ÊO\96\96\10\13\16à\9b@J<qßäUô,Vm  ;q\19Ý·®~\ 6\8bEGk    @»w\83\ 3à\17ÉÊÁ\8d:K7ÿ¨sÙ%5-T\1a\939@m©\81y\8aòwµàFèx\94ó        \b\89\8aKÉN\99¦8s\96º\86\96\8e®®®\8e\96\86\9aª2e\8a\8c\84¨ ?)ñ\88¼Àv\rc{ï]\87\93²\1f¼hüÐKg±Y\ 3ÔÖW\8fs\11ÐÚ\18¨\92\ 4ZLuDÔ\1dI¾Y
+Q7ÀdÒ`\97\8a³Î ó\ 1óô\93
+ûI¹°\98\84´Ü4%\15u-½ùF\vÍ\16[XZ,6[h4OG}&ENJL\b\8bçùõP\1c\81í\96®Û"âÓî\94ÕAб8\1cf\7fg3\0í\99\83\0´º$\81\96 :\88:»Ñ¨\83¯Ê¤Á\83ïg&Dlq1\ 5Züñ<}V.)+?}¦\9aö<#3+[\a§\15«ÜÜÜ\W8-³63ÔUSV\90\9e$\ 4cÏ«ñ`\r?aû:¸o9%/\ 1?\18l\ e\9bÑ\aôU\90~2ÔÇ\894Ðr©n\8e\89ã¦}'Ò
+PÔ1XÌþ\8f\15\8f+,Îv®r\ 5EU\8d¹\86fÖö.î^\e6oÝî\1fàï·ÕÇÛÃÙÖÌ@s¦\82´\98àD^ù\ 3uW\by®íé\ 5å¯ßw\ f°\ 6\aÙô\1e¸py\17c\82½í\fIS7.°Ó5?Q]'\8d\89´\8f³Ê`Ó'ò\v\89J\80òY\9aú&\16v.\1eë}\ 3\r\8d<\18\15\15u0b\7f°ÿ&Ïå\96\86Z3ä%E\ 4x5\1ewWiÊ\1c£eÞ»°íÍ\9dýLÎà \8bƽp\81\1eÖp\89È\ 1í§\ 2ëê÷kâõâêwÔ\ 1\16\9bÙ×1\8aó\86?Äy$}\ 2\9f \88¸´¼¢ªæ¼\85V\ e®k}\ 3v\87E\1d\8d=\95\90xöܹÄ\84¸£\a÷úy»X-ÐP\92\13\17âãÍxd;ê®s\17¯Ü\1aNØÞCg\ f\ e\r\e\9fÃ\85\vG\17NI\86\1cÐþ\v¢NLn¦\9eµç\8eC¨À¶vC\88¢e\ 2¤=¾\a!­Â÷±\ e\17\12\93\94£¨hè/´vt[¿mghTÌ©³)\9732³²odg]MMN8\16¾c½³Å¼ÙÓ¤Eùyó\a\1d8\11©iê\86vkw\1eNºÁµ}h\88Ã\0ø*»}éø?ºp\88hÅq\81Ýuìϼ§õï{\19lÐÞÞPv{\14i'}O;*\19\13ù\85'IË+«Í5¶rpßà·;òÈɳ\173®ßÌ¿{¿¸äáÃâ¢ü\9cô¤¸È\1dk\1d\17éÌ\90ãñ\14!\9cE$¯c¾Â7ôdj~Y=²}hh\90\8d\8e0êpA«mæ\91½p\98h%§ª\19ÙoØ\e{\19\15Ø>&Ö\ e8\7fñØ./[\ 3Uh\87cg(\96. ,.;MEk¾ù2×õ~{\ e\1c;}!-+¯°¸´üyUuMMÍËʲ\92ü¬äØðí\1e6óÕ¦\82A¼ä1²]\18Þn\81í\9a ès×\1fT5}ìg\ e\82v\b¤·\95÷2\13"·­Z¬£,KîÂ\11DKÑXä´9,>ãnå[x8\1c\90Þö×_âü\98ï\8b\ 6\80\88ÄdÊ,]ã%Î^[\83#\8f%¤däÜyðäÙËÚ\86Ææw-­-Íoë«J\v¯%\1dݳÑÉT[\89··D¶\v\0wi\9b:ûì\8f»|ûi\1dÀ\a{h\18\97\80º\90\8d\8e¨Ã\91»p8êd\94´ÍWn;pæÚ\83\97Í]\b\1c\18½_T\99ïá<Þua\89ÉÓÕôLíÜ6\ 5\85\1d9\9dr%·ðayUÝ\9bæ¶ö\8f\9d]T*µ«£µ±úI~zÂ\ 1\7fwk4\9d¼\1c#®í³çÛx\ 6þv6ëþ\8b·\1d}°íÃChä_=ʽpø\97\ 6³äÉ^8nÔYy\ 4F\9f¿ñðU\v\15b\14k\87z\88´\7f·Êàj),\ eÒõÍ\1dVoÝ\13u")#·ðQEõ릶\ f]ݽý´\81\ 1:\9dÖGmo¬*ÉI>\16¼ÎÞ\88·TâÚ®¤mê´)$ö?y¥µ­Ô\ 1öàð0\1eù\17÷2ÿ8°}\15y¨û\1cu^(ê\9e@\9608ãÔ\ e¦\bN\92¥ÌÖ7wôòÛ\7fôÌ¥ì\82\87\155\rÍï?v÷ÑèÐ6Ø\80_,\ 6\8dÚöº¼ ýT\98¯Ëè5\1a÷»\11\eØx\ 6D%^»W   $Ïà\8c\8e|yþå¸}\9b\96/Ô `¨#\17u@uêÆ\ e\eBâRïT4@ÔqµÿdæÑÄ\v\88JO\9d¥gæ¸6 ü÷óWò\1e\94U7¼kïìé\aáìA\88¤áaxOÄ\88UÅ×ÏF\ 5¸[é\ 1\85\8cÛ#â¶£m\aÛ\8f\83íPàh,°ýÓÈC\8f±\9d?K\81äÈã\ 2\8b©Î7<þJ\11\8a:Ö ñ]A;äüw³\ e\9b"1e¦Î"{¯\80\88Øäkw\1eWÖ7\83r\1a\9dÉæ Ý#è\a/Jïn«+ý\v\1e¶vé\82Ù<¼(F:)bÛ£Îd\16=\7fCØþÿ\ey(°²Êº\16\ 4Õ½|×5\80Î'\93¸qpß\89\e÷í}Ǧ\88É*j\18Ùzl\ f\8bM¹~÷iucÛGð\1c,ÇÂÿÆ¿\11xS\0¥\8a\82´\13û7-G\99\85Ç\ 5N\n\86\8e\99³Ï¾ÿ±\1d\81\rJù¸\90\8d0òÓI\8f<*°r*úKV\a\1d¾\90û\18Q\1d\akÿÐP~ûÒ﻽\81ë\80\1c&ü{\8c\8f\ 6»¨ ªo¹rsHÌ\85¬»e¯\9aÚ©}à9(\1f\19U\8eÄ\ f±h\9dM/îgþ\11¹m¥¹\8e\92ì8\17\9e»S\14uÃ¥kvü\ 6ÛþÉv\18ù.\ 468åÿÉÈ\8f\16Xïà\98\8b·\9eÖ·ÃãñPu¼©¸\93\1a\v<o4vIÂ\11,«¨iâà½óÐÙ«\85\9a;zhß(GÚ  \ 6»q>\9a[;Æ5¡Ä\15\91\94WѳXé\e\1awéÖ'ÛÑ u4V\16]Å`C~ä  ªCQ·qß\89Ô\82goà~¢©bÁBA\8f;\19ê³Üdì\ e\8bþPB^Uß
+ªå©ÔÛ¥5Í\1d½\ 3,Î×ÊÑÐcöæÖÍñ.<BF>!ñÉJZ&öðqÏ_¿?\1aò0òtxÞSÌò\b\8e<¦:i\8aæ"gß0\1cu\9dý¬!È'<¦\80\8c\11Ð\92´\14eàé_=\1cw\f¨\96Æöë\82\8f^¸Qü¢ñC\ f\9d\85Mÿû«\1f±ðÏxZxLË\82b2\14õ\ 5KÜý"ãÓò\9fÖµR\91í\90\1fðrÍP_ÏGïXmc J\16l\90v~\11\19Å/©\8e=4\82Æ´ë]5ºKþn\96\9a*\8cD²¨cl   ?\95~§¬\1e`\13½Ù7Ê¿^xíñ,<Q\14Ð\ 1Õ·Xá\13\12\93\92SR\ 5H\87lGcÔ\v\9f²0#\1eê«9y\96'\88VV bÞ?ê\vIM\vu\80\ 3Ú\879ôîÖÚÇ7\93\8fp\99ñ\9b\9a\84\91h\8aʼ%\9e\81Ñç²\8b\89\8e1¦t\12\vÏ\95.¥ ¢kê¸ngtbæÝ\8a×Ü\8f\8b\8f{k-ÜÌ\98Ý£ Hnä±öÉ3æZ¹\aF'å<ªE1?<\82¿-ê
+\97b÷np0F\vÿõóqN(¨\19.[·;æbÞ\13è\18t40cHç}á¹Ò%ågh\9b,[\13p >õ\16ÄI'&ù\11îq¿\7f-ñW\7fw+}\95)$ë+Ö\8eiÞÚ3èpòÍÒº¶\1eÆà0¾Éý\1do+\8b®\9c\8eØ
+wIùÛ¡'Úß\1c\93å>ûO¦AF"\1c\1c\1eSúè£\v\ f\b\8a£ó\87\vÿYº\96ñRÄ\ e\7fæ\12qÂ&l\aT\82¤\ 3\9eõqZ\ 4Y$ÊOrä¹Úá¼ÿr$å/ ù^¤\1d\8d)\r\16¾äÆùCA\90'Ü¢ôå\7f\0í\80\83Z¦.["\12þËz\99ÇC½¶aüÃ)\89\95±F\96ÈÒªM(*I¥\ 6-Ç)Y\8aJ+ZT$òÒr¢,\9d´¾\15^\84\13\15-
+eI$\85\94\92vJ\8b\8eê¼÷óü\96ùÍ\98\19>\19ÿ\8fçw=÷u_×÷I½vï   dd§\0éÔÂCtî\\89\16^8ÒC¯CÌ\81t\1d\13+\aWß-ÑÇ2®UÔ5¿kÿÚ\89¶±³ãã\9b§Õ\85\99ðePî\ 6êòè"\7f\1c¬­Ã\92\rQ'.Þáh'z$÷ôþ`Ï9\b\9dÐç2O\10G\19©mf³Ð/4!½ð~\13¼¯¾\vÖN-|øZ÷n\90^\fIï'%£0D×ÄÊ\9eí\1d\14\95\94\96_ZÛô\86\f:ôa-uåð4
+ñ]0\15Ê\1dþ×/Z\9eÖ\8e_qwêZHí4?\02³í,\87\11[%Æü\1dd$ °+d$zù"\1c\14 \9d\87·/b¤\1f\8b8QB\80v$½o?)Y\90nje¿Ð;02!åRIÍ\93WmØñDÁ5Ý¿\95\9d\1cµÑÃÑÊHCa ä/&\1d­}\ 6h?ÉÐ\8el
+ÜXD\9dÁRà\ 1\b\9c\91:\16\8c\14¤\9dXøzàD\0p§    F,y>¬Ä\91.)-«8t\98©\95\ 3Û{sDüù¼âêÆ\16\94ñÈñø\95U_\91\9frx'\9aIo\92NÐÜ\91é¿\80·ÊÀ[Û¡EÍuUå¸\aOj'ú¡¸öy«0í?1'¢è\fñ\9d\14?>ø}0!}\80\9c\92ºÞÈ    3ØÞ\81\11ñçr\8bª\1e¿\80eÇÄ\88Æþ¶©¦(\a
+n\99ÓÄ\11\9a½H:AûN$=\9d)3Ç\19²xÌÅ;÷n´S¬\14æÏ¶5×\11@78à%\a\fRÖÐ7\9f4ÓÍ'0\12¤ßº×ðâÝGB:\9a\bâ\9a\82Ô#¡þnÓG\13\eí|r\1e\7f.Ù%\a·zÏ·6ÓÁ\83ç\1cCî»\9dë\9að£\17\8a\1e\b÷<ÅJÙÇ"×-²\1f¥Ç?ì\88n\e8XEÓÀb\8a£ûÊའ XzóÛ\8f_¾aéxìÏ\1e\14ÿ}"&h¹ó$\13­_g:\86vî~'>\17Ò\ e\18"=1<`É\fbðp\8e\18ý;Ä\83f6lÿ°D\9a\a\ 5/<ZS¨\r \e2ìº~2%]UËp\94µÓb¿-Q\89çó\8aHé(稱ß\85\ 4\ e]ín?zøPù_f:J;â:w\9e½¥Øñvîé\ 30ø©æ\10õÒ\8c\83P¿s½\ 3\84t\1cü7T\e\r\96;Y\19ªËw%;ªÖÕ´\8dÇØ8/]½-úhꥢ*¦tzì'c\82<\9d'\9bj£±ÿrÒqwUæ­\1aNW¡bB5\a\83ß³né,+cM%t\12%\1e¿ÿ4Ñû/$\ e³M{\870íDØ\15\9c?´ÍËy\12\1f²ãÔºÎ\88±vó<ÖîØw,írIuÃ\v\8etzìiñakÜíÇôvì\9cw\9c_h|zau\13=?|Ëhð°ñÛ}\17Ú\8dÒ\87£$ûRY\8fy\9ee<qÎ\8a-\a\81i\1f¿úðU ×\91\9cø´êzÚá\1d\10ô&\9a\8a\19µn2nÚüeëv\1d8\9e\9e\7fû>$<)\9dü >cï\8dv<?`SÞùák\86\8d¿\91ñ×Þ\8d\7f8M2ÕQe¸^L\BzðP\ 3ô\96\899\95W\8aÊQ Ï\93d\aA\9f\9e\10ê\aT«¥4P\92©\9d«Öí\17xn\b;t2³ ´¦±\85!]äcGó\e \80ç\ao\92|4?\8aËÑ=ÃÆ?,½|.n\97¿»Ã8#\rp=\95õè\r\8bËqñúÈäìbò\ 1(pð\80¢ï\81j3\93v¯fÛ\9ais\97\1cW­;°½6\85Ç\9eκVVûäåûö¯¤ô\7f©n\17ÝØ±w\ 5Ì\ f\87WOªof\9f\88     ör±±\ 4×\ f¤\/\86C\12\82\ 2\82\1e\80\1eÂNèÂ\13%W\94\ 5Dïfg¡£ÂÔÎ]ë®>\9b÷\1c>\93s£âaÓ«V\12iþÅcÿ\ 6$_\8f»}µHÆÎ\99ß\92õ{\93s\8ak\9b9óÃ\83\7fÿ¢®¼ -qÏz\ f\1e×\8b÷!\1eró|¶Ç\9e\8b\17^ðà\7ft~nmF\ 5\1f\11à>ÍBWE¦?­\9d§Ö}\83"ãÏþ]x÷ѳ×m\9fhé$la¤\13ÕØÉùéZ@Ð\87%f0Ã\ eo\18:ïAIÞ\7f\ fíàu=Z\16yu#«ÙË\ 2cNå\ 2\11
+[ø\1f\9d_Z\9b\1f\96ä$\ 3ÜL·ÔU\91¥µó«õÜ[\95uÏß´}î`HGc\7fQ_\9e\9f\ 2cw\13ÉØ\89ù)i\99N\99ï\13\12\9bRp·ñõÇ\8eN\92Ðð\81m/\1fß+Ì:\1e\13ìíbËt=2Ì 5ýÑö\8b\ 3"þʺ\85èFHÃ\83ö¶\17´öaª´v>µ\9e\ 2DSÿüÍ\87Ïð|¡¤#Ô\ 2Æ\86\aÜñèÀås&\89bìäüX0¿åAûNó,<ÑsÍØõ\11\e ëGr\\ fã\92\94UÖ1\ 3ºÙy8õj%\\9a\10Ócí\8fncíö£híük½\18\11Í\ax´~§þ\1f|È·O\80ØeWÎÇíôw\9dÞk¤#µ£ù\rÑ\1f\ 3\v\1fy,»\18\919=?Ü+Èõ·óÎÆîäv½\182\8c\82\ 64\84gð~¸4á¦ç¯½'µN\7f\aÄnUá\85cQ\9b\969\91$ßÛ±#íháQ`\ 3ÝܨzÊ$4Òõ\8dU(ë·\90®\1f Ù\aN\15Ã\r1d8\Ú:lú¦·í\82MÏ×ó=©ujì¸nï\:{(d\15\e8kÈ`\11\8c\9d
+l\93És½¶ýyîJEÃKF`\13®\7fß\Wqõ\7fàz"ëå¤%àX1âÒtÌm\bÓ\vOz~Y×£Z§Ç\ e¹Sy=ãhä\ 6\ fÇ #\b¾îíØÉ\86W7\1c?ËcSôÉ\8b·á)Ç \14:ëi×\ej(ÊàsiÓ;AR\9cÊ\85\1f2¶¥\8bö\7fºtÜo=©uzì\88fKà]µÍg\81­\85\9eÚ`iQ\8c\9dhxô\8cu_\e\9e\94yó~\13×\93\8cpý+p=Êz¯ù6\16z¤ßHÓCÒ/
\93\94    xó\ 6U\ 4\7fñ\98m\1e ¶Yãfg®\83µ÷¤ÖéO@Xs5-!<`ÉÌñFÔõ\8b@;<å\94´GZ»\0Ò§ ïr\ 56E8\15\98p~\9f=ÑD[EN
\1d6½2üp¾ÏöCç®\94×\vaúïÿ|z÷¬æffb\98\ 61mÿ¾}zPëäÞ\11ýV\94sr_°×<ks](\e      Q\8c\9dxÎ(°\8c&8\11\13ØÜ\84ãç:}\8c\ 1\v_»82=ú¡\95£ÇƨãÙE5ÏÞ~êøÎW<z˼mª¾\91\1e¿k\15~ËÈô\97\90è¾Ö\19\97ß\Wv%å0ЬÃXC\96\ 2@\86¸\bÆ\8e\17\1eµ\1c<KÖñ£\14*ëï\15^HþOà
+¸÷ajØõââè\87jÃ,í\ýw\1dI»Z\89Ò\8eÿà\7f~ïh\7fóäÞµÔ¸\10\9fy\93M4\95d¤$%»¯uêî¡ß\1aq¿m^>\ah\96ô\9d\b¤\13-\a\94\10\ 2;íZ\17J!\1a¦ùQy~jüî\80¥³&\8cÐR\86ÓA<Ä´\8c\92¦É$gÏ`ái÷³³ãëÇ\15\1eܲbÎDc\rEYi©\ 1ÝÖ:}zûÛ絨ßv¬bO\13\11ÖP\7fD`\8fÀ\94\12\17Ú1]_S|ñôÁí+Ù\1c×Ã\ fá\11\b\15¿( <)ãFÕ\13\ 1l\a\eû¥­¥®4ïTÌæ?\1cÇ\e²\14ådd\ 6u[ë´ëZ_6T^OO\82\92\9d\8d.^4ýFüQ\942\ 3¡]VQ\174'Ï\7f\y#\13lç9×Ú\o\bæúß~Ã\8eAi·íϳ\97ËêZ *ø\fþ'\8ay¨¸\9cä½ë\978ÀÕ)\r\1e$¯Ü]­\13÷þ\83º÷Sû·ú¸à\9a\11M¿\91ÚI´³Yè\a{ÛÕô\84ï\80«J¯¤\1c\ 1×;N$^³ \1e9\86\ 5lðûƽÉ\90vÀv\0\85\93QW\98\91¸{µÛ´Qú,eE%U\8dáÝÔ:½oÐ2hßÂÖ.\16e¿QÚ\11Ú1LÏ\8bæDÞ¼\86\9a\ 1×\87¬r³\1fg¤©,\aâ¡§\10\eXزýh¶ã\93v°î\1f_7V^M\89\rñu\99j¡ÇRS\1dªe`)¼Ö9\a\ 3ÈßÌJ\8e\ eô\9c;ÅL\84ýF\8ag\98\9eDsî²Âï¨Ö\96\ 6äúè /\17ÛÑà[Y)\10\1fÒ\ enM\18ÛQë~éÌþ`OçÉfú\9a,\r]ãÑÂk\9dËp\10t±D¿ª\8b®ßHí\f4\8fK)è:>Äõ_!m\1f\96å§&Dl\ælm¡¯®\bâ%\80JÑ­Ù/\ 2(Ì@l×Þ\95íðº?Gë\1eµÑÃq¢Ùp]]}\93±ÝÔ:ñC*è0È#®R\16]¿QÚ±é\8d\ 1o\ 2c\80ék\9f¿GiÇ\1dwØõ5%ygãB\ 3\96:M6Ó\e
+M%ÙORZNEÇ\8c`»üò\86\97\ eÖ½\9dX÷pXÙ    æF\ 6Ff㻩uòÆé ;°\15@ÞRODï7.ñ`z\847öîkw'¦ÿ\9fø2\8f\87zmÃø9rZ\1câU©ôjsRiU©¤\85:RÂ)\9c$JEt$\89\94\8e\ eu²¤\17\11\92\12\92µ2S\96H4ÖÆÎØ\86±\8ceìÌÐò¾ÏóûÍ Yê|>¯ßxþ\1e\9fñ\9dûº¯ëº³J\1a:Øo2¨zèõ¥ÙÉ\11Þ7-N¨ï\96\93\91\9a'&,4ëgQ\89%k\155Î\õ\bÃåVq\13=kÝc\1fܲÐWÛµe£\9cü®\ 3¿\7f;ÖY\8ag\19\9d34ºµK$&ÕèPvf5WÒ>÷\97wTJ\ 1©\ 5\ e\9eÝîè\ 3´\96ZâÛ¤PO{s}õ]rÀ¯Åg\8b\88\88Î\95ZµUUßÒ9\88)zvv°/}Ôº¢´§¾À'\ f))lÛ¡¤¦{ö²£\ fïXg}%ÓèB¡Ñ)#F7Ùcÿ\ 1­æR²
+\87\f\ 6\ 3-\ 5ÙxvÕ÷wRª\vß$\84x\?¯¯¾{óê¥\92óÄÅÄAIÙ´\ f\B÷cP«`[øq«óv0××TQVVÑÔ3½â|?\82\8f\8d\1dz\fjtÇYF7ÉcG;½ØB\10ñGÍ\1c|¢S
+\80a\ f2¸¨¾·£±2?-î¡ûõó\ 6\9aÊ[×þ²x¡\84Ä\ 2©\15rJZ&v^à\12b/\85\9eVRþëHï\e\16\86:\1ajêÚ'@¬ûE¾ä\19ëÌ\1f\e\9e®°Ñaft(;8d¡Û)j\9c²¹\13\9c\ 46¾½\17V46¯g\föPÉ幩±\ fÝÿ²0<¢¢(·Zz\89Ôâe«6í9ld\v\17\1e¦\1c'ûPO\v`\8fò½emb «{üÌ\85?]ý£\92yÆúØ\92\81Óµ\82\80ÃÐè\10vÄí$AK\ 1\83÷\8e|\9dWEébO+øß\0ïik(#¤Ä\ 6ß½qÉH÷\90òv¹5+eV­\93W>|æª\e¨v\95Í´¡\11.ì­¤\82Ô\18\7f\8b¦ÆgͬíÝ\ 2¢ñÙ<c\9d¥xpº\92
\9fù3\e\1d\ 6F\87Â\v\80\9b\f\ e^ÝÐúvP|&±®­gèk»CV\1eø]k}YnjÜ£{\8eWÍNj\1fTRØ"''¯¸_ÇØÖí\11èEìÇ\0Sómµ\1f2\12\1ey9ÙÙXÛØ9y>\84\8d\86W¬³\14\8b\9c®\8fÝÇ\1a\1d\16c\87ìèà7íÕ9wÝ+\1c÷¾¼±£\8fMõ(|?\84ÏKO\f÷»coeb ¥ö«Òn%\15\8dã\7fØy\84\82JOéâÆÞK­/ÉÆE\ay¹::º¸û\85Æ¥\80FÃ#ÖY\vFïï¢Tå\81M¹i®\87\99Ñ1á\91Á¯QP3°tò\7f\96VHj¡!ªÿzåÁ4\0|CEAfòÓà{Îv\96&'\8e\1eÑÔÔÒ3¾tÓ;\ 2O¨ä6÷\8f°¡Tæ¿y\1e\15òÀ××ÿQTRZ.Òh¸f\eóoF@´\ 3±Ä\aݾ|
+\18\1d8]±0:&;\1cüBé\8dJG z\81ÝÕS\81êÙW\1eüO\0¾\8d\õ!;%!"ÐÓÉÎÊÌø\94á\19SËëw\ 2cRó¹4z´\94·Ö\96\10Ò_ÆF=\89\8cI|õ6\1f4\9a.î±\8e~\ fR#Ée9Éa\9e×Ï¡§+&F\87²ÃÁ\8bÀ\9a²ÿ\98ù\r\9fH<¡\ 2U=\17ø\81îö¦\9aÒ¼L|\x\80§\8bÃ5\ekë«\ e®÷Ã\9f¿%ÖB\9b`÷ºO0\1c\9bHŹoSñ8|j&\81XEæÕh&ü\ÍÕ\ 5©Oýn]48¨0Ù§+;<\18¼\90èüeëvj\18\ 4Ħ\17\92\9ai0{¿pÀÓ\a{;[\1aª\8a    \19¸¸\88 _\ fW\17\97;\9e\ fÂâSsËÉð÷bÛ`¤\12vS\eIeEyïß\13ò\89\15µM Ñ|\v\1d\89özpÃ\84üçªÑá=\e¥'ûtå\80\aåN|Ñ\8aÍ{µM®¹\ 3Õ\17\ 3¯go8ÈÎ\8f2\86úií\94ºJ"!\ 3\9f\10\1d\16\1c\18\18ô8*áu6±¦\99ÆyÈ1\17\85J©'U\96\97WT×5¶vöð(s,Å£Ñ\8e\7frÏÞLWE~å¿ç\88Ì\14ÄlìHÆÿ4kö¼Å²Û\ fè\99ßð~\82' ^Ï\16t\b<Ô}o\17µ   Ðçf¥â\92âãâ\93pé9\1fª\1aÛ{Ù=\ 2\8d\aðkuw¶575665·ut÷\rqo4c\8a\1f¤Áh\a7\8cÕIuŵK%DgaetLx\ 1Áéà"]¾~\97\86¡\953ðú\82jJW?»êQøQ\ 6BO©¯*)$¼ËÌÈÈÊ)(©\ 6[̱%,øá\81¾\1eZggg\17­§op\98\19S|/µ¡\84\19íà\86\91Ä*ÚÇÙ\7f\9c&8SxÎ"\19 ú³¶n!\89ÀºZ9z=\84GFÏ\18\82ôÍä\9aʲ\12"±¤¬ª®\89e`\1c"\86\9f§\ f\ f\ eô÷÷\ f\f\ eÑ\19£Ü\eÍ\ 4Å7UæÂh¿\0£}1vÑ>\ e/ÀTý6Õcç\1dîEàÞ\97\91Û9U?N\ ffOëhknl¨¯o SZ;ºûÑ\8aÊÉ\ 3¥2Â`Ðét\ 6c\ 4\8eÎ,³­5\1fÞı¢}\ 1&7\f\a¼à\f! úu;ÕO^rz\10\93ZPÝÌÑë'Ð\ 3%\ fö\ 3%w´SÛ;ººû\ 6\86¹¢3?þé#ú>}\83\9c©xPf³_\84Þµ3ÕÁ8Ú'°\ 3»\9b        ½~\93²\961¢úâzj/{¯ÿ\8a\1e\95r\1fx\ 3\83Ãô\11\9e\ 2?\8f¾/¼ÉÇ\15\9f÷:úþß\16ú\a\15\8dö    ð¨ê¥V\83\86\ 1x}ne\13°;.\83\1f\1f&Ð2\9d>\fÕ<ò\8d5fâ\7f\8bû¿h}`\ft·Ô\14\812ëjsú·Ý\e¤\17\8aa\1aí\13á\ 5§\v\89\81\86\ 3\ e:+\97À¸\8c\ fHSûÄË\97À,\11-\8f\8e~OÌÿèÁ*0ÔCE\15\ fÊì¯[@´\vc\1aí\13ØÑ\86\ 3\ f:mS;Ïp\1c¡¢\89ûÆO\18æçÏãjþ\7fÈ\910\ 4=\1eñxTñk\96`\1eí\13áÁÊ\8bÀ\86s\10\1ct\ 1q\19Ä:j/GMåäÿ\9e\9aÿ\11:Ò~iͤBèñPñH\99å\83ѱàa¯\17[\0\ e:-\13\b|nUs7ûY\8aÑCâ­§­®8ëùc\ f;Óß÷mAÊ,?\8cn\f\1e¨~\8eÔêm\a\r\ 4%f\95\92\81èù\81þid¸¯\9d\NÀGúܼp\9cÏ\8aGØa¯\17\ 5\83WÖùÃÞ':­¨¶í{¢\9f\1ct$Þº(Õ\ 5iÏü\9d­A«ÙÀ_Å#ðpðs¥dw¨\9f¾â\1e\9a\fEÏÓé'\13\1d-tµÄÌÄ\107Û³Ú{7ËðYñ\bü´\9f\84Ä\16®Ø¢¢wÑ)0!«¬±s\80\81=;\8c7pÂ\94æ$\87\9f?¦ºMv1h5üT<Â. 8s¶Ä²\rJÚç\1c|cÒ\89õí}t¬\17\1e\8d7XèR¢ý\1c-O¨ï\·|\81\18\9f\15\8fÀO\9bþó\1c z\8d3×îF¼Ê'a¿ðh¡£µ\90\8aÞ\80BwÅè\88\92Ü
+Iqa~+\1e²\v\0ÑKÊl=pÂÚõÑË÷\95pá1fG\v]}É;¤Ð\1dU\91_%5\17öx~\8f\1d\15ý|i¹}º\17\1c\ 3àÂw\r`lvÌ\13¦"÷U\94ïM\v\1dk\97Î\17\15âO\8fg\87\9f6CdÞÒõ{\90\85\7fClè\0  \8f%;Óãk\8a`¡»<±ÐM\ 5;²ð\8a\9aF\7fzE¦\14ÖR16;8ö¾\ erYÎ˰»SRè&²\83\85ÿ\97äÊmj\866n¡¸¼êÖ\1e\ eÔ\9a\91Áî\16RaZ\8cß­\8bè        Ãÿxc=\ 1APí~Ù¼ÿ¸¥Kðó\9c
+
+\r\ 3\92\aÛÞX\96ýâ±\9b­Ñá=\e¤\17ð»ÐMx?Â\84_¾qïQó[\ 1ñY¥\18\9bÝ\97ϣýmµEé1~\7f_ÐÛ¿u
+\15ÿ\ 3bvÂs\97¬Û­\85\98]14;,Ù\81äiÍ\95\ 4\\98\87­Ño»Ö/\9b/:\15ñ6ÆÎ4;c`v©EuØ\9aÝçO\8c\81NriVB ³¥¾êÖ\95\8bħNñL³[´jû¡SWÜÃðù¤VØì°cÿHï£Ö\15¥=õ±?§­´a9\1cûTÄ\eó    \80;\16\9c\ 6V®!/\90f\87\9dÑÃuïi%åáÃ=lOkì\90\95\9a#<CpêÐ\7f@\9aÝr¹}Ç,\9c\ 2\13ß\957u\rbgvȺS*s\9e\87ܶ2P\95\97\91\14\13\ 2F7eè¬f§¤cvÃ/6³\84\8cå\19\vØ\aº\1aÿÇ|\99°cÙµQøQ\9a\94Ò$\12\91\99¤\84\902\94(IÉ[\19\1a\14\95Þ
+\89J\83ze¨H)¥\90\88O¤H¢\81\14\r\9412$$$eJJ\1aô]{ß\ fù\ 1û>\9e½ÿÁ:®µ×:WIvâE¯í«\rgM\9b4z8ÿ ÞIGa7j¼ÄtÝå\ e\aÎÄe\14\19Ë\9eöï\9d\1fk\8b\ 5{nµ\98¯2u¨a¼<;\84ÝP\81qS\14µ\97Úí\85\19\9bW\ 53\96µ çF]zìi\ fûesá»\8f\1cÊcíCF\b\89ÊiÀ\8c=~ùvNE#\8ba÷ûç·\8e÷¯_Ü\89\ epß`ª¥ 6V`\bÏ
+\ e?fƪ-\84°\vc7ì æ¿¶5Väܾ|\fE\9d¬(j8^J\aªEa§\8aÃ.á!\9bd×û»çkk}Ù\93äp\1f\85jÒ¼\8eº¾°SÖ5wØ\1ft5½\80Å\19\8b*®¥®\14Çü*\83\99\82Ðî¼Õ\ ea×Ov¬ÎØ^L´/\1f^?\7fØq¥\1eïc¾/ìdÕÿÎX¶><®¸\9a¢\añg\ fn^®«,Áë\98ç0a\a3Öà\9f\7f\8f\84 ºaíã\8akf*nÓ2\1dÅ)ãFò\94êÐÃ3Vbú< \eøðùo>tÀ\87gC<ÒÞô&ï^Là^»¾\8aã­t<cÇ¡\ f¿ÞÍ?*-\177<+\87ï«÷+þnë\16k\ 2Íóºâú>¼Ìl#+'\1fhøÒº\16\96\90\1e­¸ÆÊÜÔÈã®ÜzçqÅq¸\1f^JU\7f¥£gðµ\a\855\béÙ0=B\9b\86òg)\97ü\¬\8dfK\8bð¼Þ9Ü\86\17W\9ak¶qo`ô\9dç\95\8dí¬`-`]\17F\9b\9dk\16ð~Åqµ\ f\11\18;YNÃØÖÅïRò\13ÀZVL\8fÑæ]iv\12F\eU\84\8eyôá\11Ò£\96CX\9b\92éAû\97Ou%\8fn\84\1cÙf©?Cr"ÏÑ\ 6½A¸å\94u\97\a;öÅë÷¬\98\1ec]mñÃ\84`Ï­\16ó§KL\18Ås´áà\ f\ f¦\97×4±Ýåwé\16[¦ïǺ3\a\1c\0ëÄ)À:\ en¹ác&M\9be\b\9eé{\7fuw6W\17¦_\rÚo¿LG\89\ 6¬CÚaÇ"´Ó5\1f`zâ\87GX÷¡:ÿþÿNíÛ¸T[a
+\ 5X\87\1e\18˦ïGÚ\93{6\98\8b    Q¢}\10ÿ\bÆôÛØ3= í禪¼»Ñ\ 1îë\97Ì\91\9f,$ÀûzGo\10ÿÀ¤\a¼iûJ|È"\9c\ 2\9c\aí\fÎÓ¡ýoÒ»ø\86'\ 3Ó\7fúò\9dôáûµ÷O\19J´÷á\8d%0}ü\83\82ê\ f\1dßHW<½Ú\19¼\ 1¦ß\13p%-§¼¡µ\vLOT<­\9eç\9a^N}\91µ\93÷ÅĬ\97µ\1f\89§\1d­YÇ\98\1e\86¬\9eÅæ\ 3A±÷^¼fÒ\8e¤xJ;\ eá\r\98\14E­%ë\\8f]Âi×I8í(e\e\ e\1e²#\84DdÔ â\ f\aÇg\14T5a¶#(\9eN¦E\ f\99^pÂTH;;wÿÈÛO_½#]stn\19üúÒÎhÍ\8eÿB\12\1e\14¾i\82\9a#yx¼aßÂ\86=\877ìT:6,~hÌ\8d\16\96T\99g¾iïÉ+©ÏÊ\10Ô\93<|ï¯\9e/-u%Y7B\8el³Ô\9f!9qÔ0z´\ f\1e:r\1c\f\1a\9dG/\Ï,Ä|Cð𠽫õÝ«ÇI\17½¶¯2\9c)%,H\8dvtx\184R3毰÷\bD|SOöð½¿\7f|m«/{\9a\1cîã´f¡\9aô¤ÑÃ))x\9cv¨æ\144Ml\9càð\ f\8bH\1f\1e´·7Tä¤Dø¹Ø,R\97\11\19C\vØq\98\9a\83%«ª·ÂÁ#0\9aüá\ 1ìÚßW>O\8b:±{­\89\86\9c(5PËù{ø9&6ÎÞ\17\1f\9e ö\ e\fµ\°£\an0Û±zx\ 6ì
+îÇ\9eòØd¦£H\11ÜpX?<\82\9bæ¿p#A\11Ü\f<¼Åæý§¢ÓrÉ\1e\9e\81\9b\97\bn\1cWê©\0ÜÐSr\ 3\ foëì\1dzãQq\r:<9í=]-u¥Ù\89¨à\rpÁóS¤\9d\99úpøÓ1wr+\1aZ»z~\11\12ßû»çk+·à­(+xNßáÅ\15µ\16Ûºø\86%e½¬mþÜMêð\b\e+rR#\8f»rK\8e\9e ï;¼\88ôL\83\95[\ e\ 6ÅÞ{QÙØöµ\87TÚ1%÷\ 2\95\9c\9d©\96\ 2.9zLÏ\1c~\82¸\92ö\92u®Ç.%?.}û©³\9bTÚ¡\92k®.ȸ\1a´ßÁ\1c\ 5==K\ e=tx\ 1!\11\99Y\86ÿló\f\8eËȯjj'Vs(è?ÖÂ\8a=\7fØq%ZrT\85\1dsxÁ       \12ÊsÍìÜý#o3S\96\10Ôã \7fWúøf¨÷NÚÖ\fzpø¡\ 2c'˪\e­Ùá\15\ 2\8b¦\86\Úá%×P\9esû2\13v\93QØQvøá\82\13%Uæ-·÷8\15s÷9Á´\ 3íLØÅ\ 4îݸT\eQ-U\1f\1e\1f~ä81yM\13¨¹ð\9b\8fKë>\11c;\1cv5\85\ fâÏ\1eܲb>mdÇA\87gøÆÀÒÑ38>£ \9a\1cÛ1T[\92\95x\ 1ÈÎpÖ4Ú><·æ$\94uÌìö\ 4\I\ 3¶#gz\b;Dv)\11~»l\8d5dEiûð\1c\s\90v\8b¬\9d¼C\93²KÞ"Ó\13ûðíï_¿¸\83è\86Æ\ f\8fÓn´°\94ªÞÊ­\87ÎÆaÓ\93Â\e\86n
+3âú>¼ e\1f\9e\83Òn¼¸\92ÎRÆô(éYøð«\17Ìb\1a\9e\90v\ 2B¢ÈôÎ>\90ô¯\0o\88~øòg)\11Ç\mM4å&S\86ô\7fM¯o¹íð¹\84\87ŵ\1f;¡å\88hç~xhø}\e\97ÍU\12§\fé9Èô°d\81kÍí=NÇÞÏ\7fÓÔñ\8d\17e^;ç      H¯*%L¥éÇ\8aÉÏY²ÎíDT*|øv\92\1f¾¥\ e\90>ÌÇÉÚH\9dÆ\96Cx#"3ÛÈÚÙ7<ùIY}kW\ f\80ô\8d\15¹iQþî\eLil9\ e\1fþð3\rWm÷º\90\98UR×ÒE\fé\7f~ëøð¦ =îÌÁ-\16zhÇRgzøð\13¦ªÌ·ØêÉ\84\1dÚ±$´ÿéýù½\13·ÜÅ£;­\8cfËPhzÜðʺæ\ e\aÎÄe\14Ö4w\12Ó\8eZ\ evlj¤¿\e6ýxêL?xÈȱS\14µÍ6î;\ 5A_ýás7\99\92ãîØ7ùéW\19ÓS\98ô\88nÄäµL7ì9\19s7¯ª\89 v0ýGdúPo'+\9cô\ 2Cè:ü þ\11B\93å4\17¯só¿rçùë÷¨à\89\9a¾"'5*ÀÝn©\ eÂ\e`z\9aÄ\83ö1¢²\1aƶ®Ç#qÁ\93ÓÎ\98¾ #þì!GKý\99Ó\80ééJ;DµPð\8bl\ü"Rr*\1a\10Ü\90Òþ\13öL]IöÍ0_\17\ecMy`zºÒ\ ei\9f$­¶ÐÊÉ'üÖÓòú6bÚ\91é\ 1o*\9fß\89\ eÜ·i\99ît4d©J;¾ÁÃ\ 5\11ܬÞq44     \96\+)¸Á¦ïþü¡º03áü\91\7fW-P\93\16\19CWÅ\ 3Ü\bN\94\9c\ 1KîHÈ\r\ 4v¤V,hÇLÿîÕ\93[0d×-ÑR \8dkûÁnË¡àk\99\92Ò\8e\99\1e\86lÞ½ØÓû7¯\98\ f\KWÅsÁ\ eVìþ «\19\ 5ÕÍPðÄ´Ã\90íüX[üèÆ\ 5ĵÔU<³b\15´\97Úqá¦\83\14ÜüáV|}ù³T4æ¸\15OÑáÑ\8a\15\12\95Ó4Y»û\ 4·à\7f\90\7f\ 6T|\1cªx\ 3¨xºÒ\ eJn\f\14¼\91\95³oxòÓ²z\bz\82ÚÑ\98C\15\1fîëbk¢)/FWÚññ\ fC%g°j»×\85D²A? âc\ 2÷Ù\9bÏS\99:Q\90¦´ë\ fú­\9eÄ\83\9e©øæ\9a¢Ì\84\90ÿ¶¯^8[\86®´c\82^\89 úô\ 2\82+öO\7fÅ\97=M¹|Üm½©¶"]\83\86\eôZ¦ýAOlÍü髸ª¼ûWÏ\1cÜb¡¯*%LUÅ£ Ç+v÷\89¨´ÜÊ÷(èÉiÇ\15ÿöeVb¨·\93õ"\r\ 6\rZ±"²êÆ6»\8e\86%\87Ö\f±\ fÏT|CyNjTÀ\1e;3¦âiÒÎ\94\9cµ³ï%Xr¤µã\8a¯ÊOǦףÌôX»4Sð·PÁ\13Öþ\13%}ñÃë\17¼v¬^¨&CÓ\98C`\87î¾\88¹{Y=é»ã\ f_\92\9d\14æãlc\8c?<5-Ç7\18r\1e²ÎÄÖõXDÊ3²\9eïíýýëÇ·Ï͵\bíüv­]<\87&´ã\eÄ?lÔxqEmÓ\rîþQ©¹\15\8d\ 4µcéß»Ú\9aª\8b\1e%\86\ 1Ö.\9e£0\85\1aí|pö\11£\85%Uæ\99Û{\9c\8a¹û¼\12´÷üúÝ\v\8f\84ò\9f?º»:\9aÿÏn¹\87C\95Æq|\19Æ\1\18\19ã21Æ¥\10FÈ%\1a\8c\9eÊ­f%µ\95R\8c\94Öz\94\87\98t±]dÛrÙ.Òn»¹\96T\8fVi¤MÛ\8di+ª!
+ɽUϾç\f\99\8fÝ\7f:=ÏùüwÞóÏù~~ß÷=oë\83\e\17\8asRcÂø(ºÒ+\81±ãÉ4\ 6Ûn΢5Éû\8a.4H¤]}ÃoGGßÉx?ÎÿI\ e\r}°¯§ã©äÖ\95Ò½Ik\16ó\1cÌôihÉ®\8cS%Pu\f-fòC×oÏ)®nh~ö²w`hdä-à\1fÀ(Ä\7f÷ð\1e\1eú\b\18ú«öÖ¦[µ\95E9iÂå\v<lMô4Ñq¹\81ÇNÒ\98²v\r\10Ä¥å\9e®®¿ßÒþªçM_ÿÀÀàààÐÐÐðð\b,BÁÃ\84\88\8f\8bïàä\ 3½Ý\1dÏ\1fÝk¸RQô£(qu0ßÙÊ\98®NDÅ9\ fv;8é´ôÙ3f/\8c\8cß\91[|þÚmI\8bôEç«®îî\9e\9eׯ{{ßôõõÃ"ä<|$B\91Q°ÏAò7Ý\9dÒ'M\8du\17K\8e\1f\12m\8d\ e\ fp\9faÆÔ¢ ãn3Vy\ 3s\879A+6¥ç\9c(»,n¼/yÜòôÙs©´­½ýEGgçKX\ 4Â\ 3B\ 4lb\ 2hedxh°¿·»³­Er§¾¦ò\97ü}é[Ö.\9dïɵ0ÒÕ áÑ\92\1dOT§\eYpç\ 4EÆmÏÎ;]~±V|³ñ¯»÷\1e45K$\ fÿ~ôøI+$¢­MÎ\83¼\bÈ\84\ 2\ 3\ 3ý}½=]\1dÒÖ\87w\ej«~?\9e»+E¸*4À\93kÅÒ£Q\bª8td\87¶;\94Ýk\81`ýw\19û\8f\9e<Sz®úRÍ\1fW¯Õ\89ëo4Üü³ñö\1d\99\88      \ fÈB@¼þ\0ôÔÝÝõ²£íÙ\13ÉÝ\9bW«K\8a\8ed§%®\8bXäçnoÉbhQ\89è\18ûxvC\8e\9d\87\7fpTlRúî\83?\15\1c+:ýëogKËÊ+Ï\9d¿P}é2$⺸^ÞÃ\84\bÈ\84\ 2Réó§-\8f%÷oߨ­.+ÎÛ\9fù}ìÊÐ@\9e\8b-ÇXO\8bJRSÁ)¡#;Ôy\1d&ÛÆÙ{AXTLÂ÷©\19Y{~8\90\93{øH^~áÏÇN\14\9d\92\89¨¨<_5æ\ 1Y\88¦f B\9eææ¦\a÷î46ÔÕT\95\14ç\1fÜ\99\12¿fY\10ß\9d;ÍÔ@\97F%\82èÊhÉ\ eÎ:-\ 6ËÒÞÕ'p\89 jí\ 6aBbRrJjZz\86hgÖî½Ùûd"
+
+\8f\9d8yêãBÔ]\17\8bë\11\88ÅׯÕÖ\ª*;sòè\81¬m  Ñ\11\8bý=\9dl8Æ\f\1d\r2(<J¢ÃÙÕÈ\9at¦©\95½\8b\17\7f~Pp\98 bÅÊÕk×Ål\88\15ÆoÚ\9c¸5)y[jÚ\8e\fQÖ®=ã\1eä
+QRV^QQ\89 ¢¼¬ôì\99âãù¹Ù\99)  ë"\83çófÙY\9a0ÁÐIjª*Ê(\89.»Û\10©4]\ 3\13\v\e\agw/oþÜy\81\v\83\16-     \ e\r_ºì\9b\88ȨU\90\88\8dqÂM\9b·È< \vq4/¿   ð\ 3à!?ïÈáCû÷\88R\93â£\97\87\ 4ú¸9Lc\eêi«\93      è\19úWpv0x\12\95F×725·²\9eáàèä<ËÍc¶\17ÏÛ\97ïç?/\0\16\11\12\1a¾L0î\ 1Q\88ô\8cL\91h'\ 2QfÆ\8e´mÉ\89ñëW       \96\ 4ú¸s­Í@Ý5)D5ðoCOtÙàAx\8a¦¶.ÃÀ\88eÂ63·°\9a6ÝÆÖÎÞ\81ë8ÓÙÅÕÍÃÓ\8bçãë7wÌ\ 3²\10\e\84Âx\ 4¸Ø\8d1Ñß®\10\84|íÏsãZsXútYÝQ4t\b\90\1d
+O$S5hÚ:ºSô\18úL\ 3C#ÖT\13\99\19gB\84ãL'\97\aùB\ 4\87\86\ 1\13
+,\r\ f\vY\1c\148×ÛÃÙ~:\87ÅÔÕB[ÝÇ\80ÂãTðj\ 4\12\99BU×ÐФѴ´uèt \ 1x\90\13Á\99´\10Þ>¾|¾\1f\ 2>ß×\87çåáêdocÉ6Ö\87\92\13ñÐU\ emÑ¡ð`ÏãTTñ ?\81@$\92Hd2\ 5h\80\89`|ª\10\®£\ 2\\a{;[k+s6Ë\80\81äh:Ý\15\80Ò\83á\ 3\ 1**ª\0<Рó\80\101y!LÙ@\ 5\126ÛÔdª±!S\8f®­I\85\93£¯îr(ÉP\86Áád\1e\14DL^\b`\ 2tB\1e°0E\97®£MÓ \92I\ 4¼,9z£Ë¡¤\84ð\80\101y!&A]\9dJ!\93\88\ 4hä_Lr\ 5\14DLZ\bÈ\84\ 2`QM\r¯
+\aÿB\93#ùd!&\a7\96ûË\ f®\88\92¢    \ 5Æ^~îÏÄÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀø\9cü+À\0Eªÿ\15\rendstream\rendobj\r1096 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 245>>/Filter/FlateDecode/Height 318/Intent/RelativeColorimetric/Length 19355/Name/X/Subtype/Image/Type/XObject/Width 245>>stream\r
+H\89ì\97y4Ô{\1fÇo·Æ\8cY,3ÆÌ0f\183vÆ\12CF\18Kv®½"ÊZB  -TÜ,ÕM)\94ê\96,­¸\85J%¹:RÒ"Q9®åºBÙ\92êþû|\7f¿\99IÝç9Æ}ÎÑ8\9dy\9fãøËï|_Þ\9fåýùá\a\89$\92H"\89$\92H"\89$\92H"\89¾\85\16}%q¿fþ%$ýQ¨ï\1eü3îbHK\96,\81~ ÀÅý¶y\92\80\18¦E ¤`!\10\b\80\ ec\8bûyó"\18\19"\ 6¼H\14JZZ\1a\r~PH¤\14â»Åæ3\ 3b$J\1a\8dÁâp2\90pX\fZúûÅ\160#Qh\fNFV\1eOP\0"\10ðr28\8c4
+Æþî¨ùÌRHi\fNV\9e@$Q\94\94©Tª²\12YQ\ 1pc\80Û`ª}oØ\0\1a0£ÐXY¼\ 2II\85®¦Îd±XLu5\1a\95¢H\90\ 3n#\17r\8dÿ_ÁBÈ\8c\93\ 3È45\96\96®>ÛÐÐ\90­¯«ÅR£))\12dqè\85[ã_D\8b\7f\83\rþ\ 4ô3ÄLQQÓÐ1063_Æår--8&l]M\ 6\8dB\94\97\11\98½à¨¿
+\17\8bX\ 1\8cF ¥±\80\99¦®m`bneë°ÂÙÅÅÙÑÞÆÒÌHOC\8dJ"ÈaÑPg/4ê/Ò\ 5¬ÅsmBÈh)\14F\96@¦1u\8c8VvÎ\1eÞ~\ 1\81\81\ 1~ÞîNvVf\86:LÈl¨ÄaêùG\99³\ 4«\16J\17RH8NÍuâÂF£eð$\15¦®±\85\8d\93§ßêаȨ¨ÈðµAþ^.vÜ¥ú\1aªÊ\8a\80\9a_áß\0f¶×Î\8c,a¢\82ã\ 5$\14
+9ÇÑÃ7\1a+GTfh\eYð\¼W­\8d\8eMHJÞ\9a\9c¸)&"$ÐËÉ\9ac¨Å ò©Åjõ¢\7fH\80\f\ 2\15\16\ 4*\1c\16;\13*D}\88o4\81B×d\9bÛºú\ 6GÆ%¥¤íÉÊÊÊHKI\8a\8b\ãçf·ÌH\9b¡L\94ÃJK\89Ñê\99)½X(¾É ]ÈÉãñòòp\96\81Zh´"\95©gjíì³&jó\8e\9f÷\1e<\92_P\90\97ûK殤\8da\81\1eö\80ZMIA\16\ 3[ým\18ÿû¡Âû\0:\89`\81F\ 6&ËÈá\15\14I@\8aD\82\1c\7fÍ\88\84\ 6\83\06ZUËÈÒñ§ ¨\84ÔÌ\9c\82\93E%ee%E'òs2R6E¬ò´_f¨I'Éã\80Õb\82þbf!ÁI\ 4    \Eü\bIV¢ªÐh4ª\12\99\88\87©E8\ 3W7
+\ 3\19­Ïṯ\fß\94\92\95{üÌù\8aËUUW*/\94\9c<²oWBä*\ f\1eGO]YA\16\8d\²X,M\r1/þ|\12\1e\86Î\ 4(4Sé\f&KC\83¥\ e%)@\8d\12å\f\ÝÒ8<YUË\98ëä\eºq[Æ¡\13¥åUµuõwêo]¿rñÌÑ_vm\ e\ fpYn¬\ 5¬Æ \10â\82\ 6Ì\b¸\9c\ 1+ÔÂ\ 4\82\ 2Q\11xLgÀ\11\92m\0\ 2$\93®$\98·³>\92?Æd\15\94ÕõÌx\1e«¢\12Ór
+K+®Ö5Þ{Ðò ùîík\15%Çö¥Æ\85z;\98ë1(\ 4\9c´¸ Am# ó\0ê`"\89LQ\ 2G\91
+]U\1d\10³\8dMÍ-,ÌÍ@~dÑÁäÁ¢DÔ7\Ý`\8cÑ4\f-Wø\84ƦìÍ?S~µ¾éá\93gíím\8fïÿ~£²8?kkôJW+#\16UA\ 6\98 \ 5ç\ 1ÜÁtU\86:\93©¡©­k`hÂY¶ÜÖÎÞ\9egÃå\18ë2i$¼ÈÉ\ 3>Ưní¥Ö®\81\91\89é\87N\9e¯¾ÝÔúìEWww×\8bg\ f\ekËO\1dÜ\15\1fâe»T\8b¦(\8b\16Ï$\83Ï\ 3ø$"+Cõ¬£gÀ64615·´²µwrõðòòtwq°¶\0«\15^2¢ ¡\96&(1ô8<Ïà\98íÙ\ 5%\957î¶¶¿êé\1f\18èïíjoi¨)+ÈL
+÷uàè¨\92äD}o\9e4s\1e¨0 \93È\14\9cDVÖ¶ö\8eÎn\9e>þ+\83\82\83\83\ 2}=VØp\f4h$y¨¾EA£e\14\94\99\ 6\16\ e>kãw\1d8q¾æÎ\83\97½\ 3C##Ã\83}]mÍ7/\9dÜ¿#:Ði\99\9e\1aY\9cÐ(\8c\f\81¬¢®Å?\89\9c\Ü<~\82xCÂ"×ÇÄl\88\ e_\13àéhe¢­JÁÃ\93gÖ¯ÁÐT\16Ûr\85_xBzîéòÚ»\8f:ÿ\18\18~;6>úf°·³õÎå¢\83;cV»X\1a0(òb\83\ 6\ 5   F\ f\88Êl3.ÏÉÃ\eÂ]\e\1eµ!vÓ\96ämÛ·oM\8c\8f\ e\rpçqôÁf\ 5\93gnÐ\86\80\88Ä\8c¼âËuÍm¯ú\87F'Þ½\9b\1c\e\19èzÒX]z8-.È\95k N\91Ç\8a\r\1aº\89Èt\r\ 3³å\8eB#Öo\8cOHÞ\9eº;=#kïÞì\8c´í\9b£×x;Z²YT¢\fZjÖ\1d3ã4\80\8eLÎÌ/­ªoiï\1e\18\19\9fz?ý~rt°ûYÓµ³yéñÁnVl1BC±\11,V\86®       ×Á# $*n˶Դ=Ùûsr\8fä\1f=v4?wÿ\9e\1dñp\9cÐT!Ê\8a\84\ 6Ó[\86 Ìd[:ùG&e\16\94U7<ìè\19|;9ýáã\87©±¡\9eç÷®\9fËÿyÓ\1awñB#\90Pld\19\98óÜüC7$ìHÏ>\90\9b_xòtqiÙÙ³eÅ¿\16\1cHOZ\1fäa#Ø1¢ \11`e)1ô-\1cýÂ\133òK«\eZ;{_\8fM}øôéãûñáÞç͵04ßiqõ4?+Ó4Á}à\1d\1c½egÖÁ\82\13Ee\17Ê/WU×ÔÔ\©8w:ooJl\88\17ÏT\9b®('
+\1aú\1cV\9e¬ªkfç½vsúáâ+w\1e\ e\8dM}üûïOÓ\13ý\1d04(o®8\a\19\ 4-O¢k\19/wñ_\17·\ 3Ü\aÅç+«koÕ74666Ô]¿|öDÎîÍë¼íÍ\84г~\ e\8c\bè\7f¨ebã\11\1c»óàéʺ\aÏ{^\v¡Gú\9e7\83òNçC\93Å\b\r^     M \bµ%í@aIyõÍ\86¦û­\8f\1e?~ôð^Ãõ\8a¢#{¶\84ùØ\9béÐùå=ëç e\0-j¶¥s`ô¶}Ç/Ô6µuÿ5úî\83ÀiÐÓ`\90\81ém©Ï\10ã\9e\16Zcí¶2:9ãð©\8bÕuw[\9e´w¾|õòEûãæú*A\84\82\9c\9e\ 34¿¾Õt9öÞë\12öä\95Vÿþèå\9fo&§?       ¡¯\95\1dI\8b\ 5{Z_\9cá\ 4\9aÞD\15\r#+×\95\99yg*o4¶´½èîíïïëézÞÚxíü±ìä\b_PÞ4¢hè\99ï-w[\1d\93zà×\8a[ ¾\87Ƨ>\82A\ 6 Û\9b\0ôn\0\r\12\19Id·Ì\93¾¨G'ÿ\88$\10'~»Õô¤ó\8f?\a\87\86\87þê{õ´©öBavr¸\8f½©\16\8d(*\9c|>9(\f=s\aßðÄÌ\82³Wï>é\1a\0;ëã\87÷ãC=\v\ 4\1aÔ£à\91>ëÀ¼-ª¼uï髾Á7££o\87\aºÛ\9bo^<\9e\9d\14îc·TS\ 5$²Ùc(<¿á~QÑ4¶v\ fÚ\98\9as
+\8c²\8e^`õôô\14\1fºTüÐ3\93\fÌÛ\8d \1e/Ýhz
+\ 5Çñ\89ñ·¯{:îß¼T\98\9d\14æÍ3Ñ *àP\b\11=¸è+«Ã\123\ 4V¿\99\98zÿnì\7f8ýã7\ 2ýú\95ÂÃ\bÔ7H\8eYGÏ]m|ü²\7fhlbrbt¨·ãÁÍ\8b\85Y\89ë¼l\8c\ 4ÑÐ|«gº:\ 5t5lõØ$\bß\0z!\f²ÏóVUÇ\94ç\15\12¿ûPÑo·[:z^\83\13arl¸¯\13@\1fËL\bõ´6b*á±(\91\8f\Äÿ \9e"\1càùe5\8dÀê\91qðO|ÝóyeqõÅ·§?;\ 3\9d\83Îÿa¾Ìß¡Üß8\9eS\92d\89$DJi\17Ú¨\8eR\89ê¤hѪRZT\1c¥´P\12\95DG    \91¨\88¬-¶Æ¾\ ecÆÌ<Ï,fÆ\fcIõ½Îÿð½?Ïó\f:×õý6\8fërÍùü>Ï|îÏû¾_ï÷í{6ìajny\13WÚ÷ýoRife^rtÈq/W\a\1a\97\1cù Ã\86\1d\87Îß\8cK/`0! üø\eÆ\85\8a¡há°×\\fU)CHí¶Û/\88\94\1aò2º$*º"÷ù=Õ\82 Ö%G÷\8e÷É\90¨go?7pº\94C@ÆAò\11ï¡G\a«Þ#\8eË!­\15Mµý:\8f\ 3\ 1hªË\9a¸\12åÐ\8fÿ|\1f\90\8f,\bj+£5
+\13\10Ën<"¤îîÿöãÛ Á\88\94\98\8fËø\1cJj2\8a\82ËD\90.#ï\1fú>Ôß\8d\11« ½\ 5\81ø r\84Å«6ï9\11\12õôí'\90ºwðÛÐ\80BØ^UðâA¨¿·\9b\93\9dZ`\1c§C(£«obAºÌ\95è$ä2`Õ_¿\82\8a¦1\83ä\a\rL wFKÝ7øµ_!bU\17¦Ç\86Q¾¯ÿKß\1f·\83\94ÑÑ£²èá@ä2\f&&S\ e\f(¥|(úy\94j¦Õ\9c\83¨wV¹!©\89©\16\a è\8eÚâ\8c¸\eg÷»£Xûë\847nGå2³æ.Y³Åç$é2\1c\91\Ù×\ 3EWä\8e¢·z3H%\14\13\v[Rê¸ôÂ*xÅÞ>¥BÌ©ÿ\98\95\10~þ \87³:[Û8\1e\15zÀ¶H\97ARó%\8a^\85\84ßZ\99\aà9¹g\93£zá\84ú \19FÑT\ 3Àá\15KÑ+ööÊÅ\9d\r\9fß$Þ¾x\18E2Í¥\93        #¶\ 5èA.CJÍ\16Êär   \9fÉÈ\7fAÆÐ\85³Õ\9fA\95Ô\bàð\8a\8f\11\e1\89¼G.æ6\95å$ÝE\90 1/ãr´F-[;\ eÁTÃ%\99ü.Yw\17ÖVUøòÑõ3û¶®VÍ \r©Ñ+nñö¿B$p\ e¼b·\98×R\91GE<\1a­3.g\18=pI\1ftÉwe\8d\1c\81\85µ×\94dÆßB3¸Ô\ 6m\bj*CI\r¯¸aÇá\váñ¯\8a«Ûøb\99LÌkeä§=¼\86ð½H\9dµm\1c\ f\89\1e\ 3â\92;\8f\\8cHÈ,©\81KJÄxGݧ7\89h-ZoO',«¤¶Y²fëÞS¡1ɹä+\8aùmÕE\19\8fo\9e;°m-E2\rJ=|ɵîû\ 2®=H}_ÑÌ\11\88Å8»±4\a"Ù0¾ÕmGò\15\81\8d\ e¿ÿqôâí'è\15y¢.1ƪýøú/D²õ\9a\9~¾¤\9dãF/¿àHHQu,¾H$à4W\10»¥·\e"\99úí\b¯¨­\ 3    \1c\96\15ó*\9aظH\84u4 W\ 4\13T\rµz\94\18\97\83.\89Ö\84¹Ë\<}Ï\ 1o\v\19­\\81HÀme\10$#Ò\ 4i¬êJ\8dlÐt¶\9d\13ñ\8a\89o>Ö¶ñ\ 4B\9cÓTñ\1eü\80\18jkSÍö7yICSëE«6ûø\87Ƥä\967²1¡\80×VS\92\95\10\11xÈÓeÙ\3\1aÆJ%\1eóyË\<|ÏB\16ͯlæ`\ 2¼³\95\81\86\1aÐ\b\1fÔx\7f\91µ¢!\fº\83\94iç   \ 4|Výç·Oï\ 6\91ÆJc\19ÔR½âÂ\95(\8b"ï¯kçá8·­öã\9bÄHôA\87ù\9aîo$5 l\96ÍRg\ f¢¿\8b\18­\9d¸\0c7\96ç&\13\99Ì\89\9e±\12\e£,
\ f®UÄháðq\1e«¡,7\ 5(á³\99êoÍ£ÌÔ
+õ÷©Ðû\ 4y0\ 1Æiù\92\9f\16K\19«)\rcÕ"_\11¼\7fÍ\96½§¯ÞOÉ-k`ñ0>»ùKá˸\9bç|Gõ·fQFô·ë.¿à»Ï²?׳x\ 2\9cˬ*~\ 5ÆêKÛX\91Ôºú3,\17À\a\8f\ 5E&¾þPÃìäc\9dÌ\9a\ fÐßÁÇv¹\ 2¿\89h«Y\94éè!~¯Û~èBDB\168+\17Çyí\94±n_·\9cÞ\8a 5üA40\80²\82ʦ\ e\1eÆEý\9d\8aø½uÍâ9\14\e5\99E\81<3­\17¯qß\7fæú£\97\ 50\83\18\ e$+Í\86xâ·\8b\86\rÁ
+P\ 6k\f
+àõí\èï\16FÑ«øð@È'ö¶\16Æ\be\9a\94\9ahÇÙvpG\7fÕPã\18»©\9cÚ.i\92\8c\1a\18@\19\91mo?É*©nåð1n[ݧì¤{!'ö¸­\1cF\99\ 6¥\9e\ 4ÎJ\ eõ\9fQI9¥\r,>\8eHV\90\16\e\160\86\15\81B\19ʶÐ;±iù\15M\1d|\8c×ÑT\99\9fþèÆY\84²yæ(Ûj2\80S3¸|Ý\8eÃ\17o\83S\93ÆÊ¬þ\aÉÔ\96e8Û:mÚ=bÕ\ 4Ê^\ 3Êü¼6:Ù\81#hTjj¨ç,\ 1ð\9c¿\15\9fY\Íü\99dËè\91\8cÊ¶ÆæÈª\ f_\88x\ 2_lí\ 4Lt4\96ç¥>¸\16°ßÝy)¸\96\86¥\86¡6\80$ºzë>D²B"\9eðaEÈNº\eL;\93M {g*Xõ\12ÄÆ0èïJäý\10\8a3\9fܾtô\ fWG;Xc4,5rjD2\9fSW\1f¼\80´Ld²1\93\8c´ê\91þFüfñ\ 5B>¸Ö»äûWOïÛºv©\8d\86¥¦H¶Àqãî\13\97cR\0ß\1c\\88w\12$£2\19=\92\11ÏHõ7Éï\9a6\9eP$\0©\8b^%D\<²ów\87\ 5\1a\96\1auã´éæ¶+~Gø~þ®¬\91\8d\v\85¼6\92d\ahg2ʪQ\7f\13ü\86|ò¥¥S \16a029É1¡§  ,ѰÔ\14¾ç-_¿óhPä³ìÒ\ 66.\12a¬º1f²\91þF«ÖÉ+ÑÉÄ;\8a»\84\\90:#>ü¿Aj\84o#3\14D     ÏúTß\81\8bÅ8»±,')*\98Èd\16ôHFõ7\91O\8e\93øúc\1d\vë\92táHêç\84Ôk5\rp-³`»ô<\18\18ñ\ 4\81dél®ÌK¹O\90Ì\8e \19­¡&óÉRçm°°Æe\14U1ùb©TÄc\ eK\r\0\87X¦¹\ 4\ e\1a\9aÂ\ 4n\ 3£NÈüPË»$b>³ª0\1d2Ù¾-«\89ír2­¢É\85uáðÂÚÂ\15ɺ%\ 2¶Jjw\90Z£±L\8b¸!Z9\ e\9c»\19ÿª\ 4\15-íÂYµ%\99ñ·Îûz8/µ¡I²        ÿ\XK\e8B\99¼»\v^\12Ö\8e\88\8b\84W[\11\1fõþç\9fQ\87Þ\8f~Cر"ÒÉ\8d¸\8câ\1a\16.\91I\85ì\86Ïo\13ï\:²cýòy³¦Ó"ÙÈÂêây(0<!\13\1eR S(d"N#xu\fxµ»3Jàúºè-Ç\5UíoÄ¡W:Â\ e\14½pÕ\96½\ 1\10É\8aªÛqI·LÌm.\7f÷ü^Èq/W\87ù@²)ô\8a¦\16VxÈ\0\be\ 5\f&&Uô*¤\188afÂíKÇvmtZh=\13¹ÂX¥¦Ê\9d8ê¨JW³h"\92mÞ{:,6½\10\8a\96Êå\12>óKþ\8b\a¡þÞn+!5êÓ\8b\85\15\85²ËÑɹåÍ<\89\94\8b;\9bÊsSP\ 2÷pYnka\ 2R\8f\8deDÅ\13'N\9a¤­=\99:ÚÚ\93&\r\17®~Ñ>§¯=L+¬\82¢\15
\80US\94\11wýÌ~÷5\8b­M\rui,ZTâA¡lÃÎ#`Zo>5pÄ
+e_¯\f¾Z\92õ×\9d ?¯M+\17\11R\8f\85edÉPñd\9d)ººS\89£«;EGg2Uø/Ë&\8b¶\àäæ\rá;­ ª\r\97õôt\8bØõ\1f³\12Â\ 3\ fzº,³13"\92\ 4\9d¢\91ùS¦õ\18\81B(ï\eèï\91ð\9a+òR\1f\86\9dõõ\g?V©É\92QÅSõ¦é\e\18\1a\1a\19\19\19\1a\1aèOÓ\9bªKÖýK¹É(a¹ÀqÓ\1eÿÐû/ò\19¨è^E\17·©4ûidÐÑ\9d\eìç\99Ó%\99Ö(ÓBkÌ\17&Þ­\1c\1cì\93\v; ê%F\ 6\1fßã¶jñ\1c³±HMÔ\f%ëêé\e\18\19\9b\98Î4\833Ót\86\89±\91¡þ4²î\89\13ÿ\7fÙd+ZÌ\87\8dãä\95\98Ô÷p?Y¯²G\8aµVæ%G_>±{£#ÝEëgÓú3*)§¬\99'U\ e\ e\r*¥üÖÊü´Øëç\ en_¿b¾%ì2t¥\86\9aAf\9d)zú\86Æ3ÌÌ-­¬çØØØÌ±¶²4735\99n¨¯7u\8a\8eö/º\9cÜ8,l\1d\8e\87D'çU21Yo\9f²û¿¤W\89?Ôë\1eþÔ§{Jq,'"[ÆqlQbl\87:Y¢h#¢´©\bŽ*][ç¨8\89´I\e\92¥Õ!K%²gIcÉÒ\8cÆ6Ì\8c\18\83Ó©N÷}\7f¿\19Ùê\18÷÷\a¼¿÷y\9fçû|\9f§õUÑ£\9bg\83\ e8Y\19i\8aZ´Æ\96\96\9eùzw¿ð\v)9eõ\84\1e
\9fÜ\8dÇ\95å¦^\8eøÏÞ­VX@µô"\11\13\8a\0³\98¸¤\8c¬\82\92*FCS[GWWWG[SC]MEQ^\ eà\16Òýu¶Ñû    jÖé«÷
\9b\89¤¾Þ®·¸\92ìäØ`oW[\13m´h\89ädÈÒR\ 5\91\aiZ\99/êÚºÈ4z\7f_GsMá£[çB|Ü7XÌ\82j¨m\80\84Ôby%5\rm=\ 3#cSS3S\13c#\83\15˵40\0·¬\f \eÀ\16\88üë å1ú\16\8e»\ 2NÅß}Zõ\86H\ 2\9eCh(Ͻs!ÜÏ}½Ùrµ%¢\15­ñK\v4­H \9fêæ\8e>\1a\83Ní!Ô\97ç¥_9\15¸o«5Vg\99¨TC¢!fiÙ¥ª\1a:+±æ«­lÖÙÛÛÛÙZ­±0Ã\1aèik¨)+Èý %\80=wú\a\ 1P"Ú-ÁøAÐd0}/\9ff\\89\bØåh¡¯® -ZÑ\12Ø£\82°i¥åU4¾ë¥1\98trgKmafbL\88/¤ZCTª¡¸ç\8bIHË)ªiéc-¬ì7nݶÝÍÝm»\8bÓf\a;ëÕæØ\95º\9a\18\95¥\10öÂ\ 5B\8dOsθn      ®\97_     =\87ÒÛÑRóüþµY;ÙXÓ²\83K+9«\ 4\87ïég²\98ý¤ö\86\8aüôøÓ\81\9eNÖÆ\90jQzÇ\1c¸\fÅÄ¥d\15\ 6fk×oÙî±ïà!___\1fï\ 3{=Ü\9c7Ú[[\9a¬ÒÓR\a°eÀl/øî+¨\91n     ®\a\82²_øÅÔ¼
+\b\9aJîj«{\91ù\7f8\19º´´Ð¥\ 5\96Bmk\17\85Áb3(]­µE\99\89±¡¾;6X¬\14\91jDÜ\8b$\17/UÓ^õ³ÍF×=^G\ 2O\84\84\85\85\85\ 6\a\ 5\1eñÙ¿ÛÍÉÑv\8d\99¡\9e\16FYAVúûE\80ìi%>\aõ\1c\1dS;7ß°\vwr\81\10ávéÁãJ\ 5N\ 62\19êd3\a-XZ\8acMëIe\13\91Lg\ f°h½í\8d\15ù\19ñg\8eÎ\82j\84h   \19ùeZ\ 6?ÛnÙqÀ?(üÌÙØ¸\vqçcÎ\9eù5ôx\80\8f§\87Ë&»_Ì\f\97kª)-ùAR\lþ´¨a\90\90\94UÕ6Y·Ý'4.%§¼¡\9dDí§\92Þ5V N6\9bL6¾i\81·<\7fûqi=\81Dc\r\f0©]­¯^ü\91\ 4©v\10\91\8f`jd\955V\98Ùlñð\ e\f\8f\8a\8b¿\91tûNÊí¤\9b      \97b\7f\8f\b9vøàn×Ív¿\98\1aèü¨¢°XJ\ 2 \9e7\155\9a\9eTÀvq=\14\ 2nW\ 6AÓÀrySõ$ýÊ,3Ù¸¦eí\f2=LzmÝT\16\87æ÷¾\ 3i/ãª\90\99S\8d\f\8d\84\8c\ 2FרjÓÎCÇ~\8b¹\9a\9cñ0ëqNÎã¬G÷Ò\92¯_\8e\8d<\19äïµÛu\93­%V_s\99¢¬´ÄB$ôM\ 6=÷_bß/VÑÂÚ¸x\aÇ&g\97Ö\ 3Ðt\1a¹³µf,\93!íR4'C\96\16Èô\ 6k6íACÙ\9b\ e2c\80ËaQ»ÚÆS­4sª¡|\16JÊ*ÿd`¹ÁÍëhDÜÍô?ò\9f\17\97\95\97\97\95\14\15äe?HOJ¸ðû¯'ü\ fz8oXkf \8dQ\92\9b\1e5
+ZY\13k³Íë¿1I\bè~:\9dÚý¶\ ef²ãû\9d¬\f5Em\97¤§\80\81¡Ì7,.\ 5軽\97>Àå\ eÐû\0ÕOfC54
+q03º&6Nûþ}òüÍ»9\85å5¯\e\1a\e\epu5\95%Ïó³î¥\¿xö× Ã\9en\9bm-\fuÕ!j±©¨áJ\85 \8d¬\11ÐY%\104\83ÑO"Ô\97d%Å\ 4{\vÚ¥¨N\ 6\9b\16\12Êl¶\1d\ 4\9dõQÑ«¶î~6w\90Ë¢v£T\87ùíp°D¨^8#ªÑ\95°XIc¥¥Ã\ eßàèëws\8b«ë[ðíDâ»ö·­M¸ÚÊâg\8f\1fܹ~1*,Ð{\97\93ýj#\ 4µ¸\18²¹&\83\96@@;\1f<q.\11\82î¥1\99\a\92É|gédÂP6^ß\14&\9778À\18£z¿³\8d\89®\9a\90ê\7f:\1d\14xG¬µ\93gà©Ë©\8f_Ô4á;{ú(\14r\1f©»\83ÐÚôºª´ ç~JBlD\90ßÞmë!jEY©ES\8e\9f\1e4\8bAél~9ædê";Ù\ 4}û õÍà\fò¸ì~\94êóa~;\1dW\eü¤\fd4\7fÞ?g{pâ\ 2Á\89n>Áçn=,¨j"tSÀeÙ,&\83Féí&â\9bqեϲ3\12/E\85øïs\ 1¨uÔ\96\ 2%Mn°_äý\ 54\9dÅfR»Ç9\99è\99lª¾\v\11}\ fòx\1c@uSå\93»  \91Ç\ el³5]\8eQ\90\91\98\89\97\8dóF°û/§æ\96áðÝT&xÇ!\1e\8fËa\ 3ܤNB3®ª8ÿaJüÙ°\0O\17{ËUZªòS\8f\9fÆÈú\90\14AÂ×½\98}»DÒ\13Ô÷\ 4ÿ¦°¸¼¡AHu]qVr\ø\11\8f\8dk\fµTä¦Qàt\a\82\15T·t\82\81\19\1a\19\1d\1d\1d\19æ\ f\rrXt*©\13ÿ¦®¼ +5!:Ì\7f¯ó:ó\15\1a@I\8b&Q=gîwèʲ\15¬¬\86w}\8c\ 1°OûÚë\85\99ÌD\am\97³Ö7Ì'Ù¥8\ 2Ð7 \85à\13\9b^>½w-*ÈËÕÎ\\1fTLÉi×é\94ó`5\82yÇ'ô|rv \8e@¢sø£ïÿ\ 2ßû?GGø`tè\14\12±­þeavZBtÈá]\9b­\8c\10%M\ 4-HdÆë\ 4á¤\91Hfr¸\1c&¥£©böír\9c¾±6\90\99\e\ f\86ú\1e\82T÷¼}]\92\9drñ·\80=[¬°:èµæ}\e5ÚÜ\96þ¸ÂÒq\17Pwz~%P\ e\9b7òþÃÇO\9f>~ü\0q\ fCØä.|cuQvêÕ¨\13\87Ü\1d,\r4\95å i\8c¿<*\9ae\82ì\9d\92\ 4Mv\90˦v5W   Ûå
+ÑÛ¥@ßp\ 6\91ü\ro    ò7\90#\7f\88Ë$\13ßT\15\11\1dìãî°z\95¦Ê\12ábùú\1fàH\83\85¥i¸v«ç±(ØaÚºi\1cþ\9f\1f\r>\147\84ÍaR{\b\85Y)\97"\ 2=\9d\81i\807\9d\18\ 5ÀÕ`     D«åÉK©àý:©,¸Yh=mµ ]FÎÖÉ\ 4ú\16è1$6)«ø5\1eè\91ÇçóÀá Ðä¦]9}ô\80\8b\1d\9c;9)ñ\ 5ßD-\18i I[\17`>\89YÅ`Z\98\83#ï?~úûóg\ 1n\0{\84Ïeõ÷\10\1a_\16\15\13\8aî\a$õM\0\rn&£ ®o\ 1Es%ãiUK\17Ô \18¼^\81\93í\87N&z&\13ê[\ 5öKÏc\91×î?«n\aù\80j\16¥³¥¦03)î¤ÿ\9e­Ö&ËÑuú-Ôc\15\ 6®ÀpP\aË\e\89\14öÐè_\10\ 4°ß\8f\ eC§ÄãÊòÒ\85]NuÒp
+: ðØÍ{\ 3Ï$Ü/¨ií¡\ 1\ 4ÛÑLæ\85f2øX"\82\16öKKG\8f#'/ÞÉ\ 1\8fÁ\1d\1aæó8ôÞö\86\8a'÷®G\aûîܸ\16«\8b\ 1föMÔÂ\91^i  \86\ 5,\83§UÍ]ý\ 3\88º?\7fþ\ 2\e\92=<\bÞ´µ¶(31&ÄÇm½¹\1e\ 6Õ÷\9c/\17\83%KYË\biC -ÖáIè½X\14bcyNJ\\98\8f\9b\9d©.jß3j\80\93ÉY¦kº\ e(2\1a¬j0\86ý\ 3<þ0\7f\10\86Ѻ\92\9c´øÈã^n\ ek\90\10ñMÔÂ\84'\1cipV\ f\9d;\8cª{\ 2l\80\9aË\80o\9a\97v9"`÷&áp\8e\ 3\r÷À\12p/»í\87Bbá\1eø\1fëÕ\1dWcß\87íö\14\9ah(DQ2Z²\eJ=Be$¼$JÆK¤d\84\14\95\83\12ÙÍGdd$#d¤\1e+y³\13§Nû|\9eï÷÷»ïÓY=ïÇ¡ÿ»Ï}Ý×õ½FIùçïÕÜ\1aÎ×\8a\97\8f®§\1f\8d\v_èãd\8dö\rEôgAÓ/jbé0Áwñº\1d¬\95U×Ôpª ¶\8aòsN\1f\8a[»dÎd';Ë>\82¨Å\7f\86\9fÒ䤷\90\93\86\17å64  `&°\ 1u-§òý«Çù\17N$nÄÁ4¨·\1eÕ)}l[2\Ôµ\rÍm]¦\ 5®\89?\92\9e÷\10.åGM-\97SùáÕã\9b\99ɤ\88Úô7ÐüéÌb\9f\ e\86\ 1w8?\94XÙ³7\1f*95Ü\1að²²\92\a׳S÷o]\13\13¢V\ 5\ fï(\11\ eº¢w\0\9côyÑ\93\16@ÝX\8fT\17ßÍ=\8d\83©¥f° ù\\8c\83\93Nɾ\ 5>VÉáÖÕV\7fûøúÉ­ìc;×\ 5Ï\18ognðóí[d",\8b\84Çß,\82V\ 6\12\81?»w-#eOtØ"?OG[DÝ\ 5PËHDÍ\1a.Mé\1dÉ\997\8b^\8a\9c4\1fuS\ 3÷Ç\97w¥x\9cB\83\89>\14¨ \96\bW7y\1e\88æÔ¥;ÏÊàRj!ðª>Bfaû^ìëjon¨ýÓA-\10Õ`eS\17\86ÇÂê -\8aÃårÁ)Ámî\IKNÜ\ 2\85ÑÓÑβ¯\81N\175%\82Zì°Yõpp÷[\1a\99\80)-~Ò\fêæÆºêJ<Î\8c£ñk\ 2§:Ûô×\17Ð)!ZI\83¼\14¨;\ er °ôÝ\97\1fܺz4\83²g·/\9cÀ v\e>ÀH[]
+ÐÌGíi:d\f¬\ e¦/WàùÔÖp`xü]t;÷|RBT(\8bZ·«\9a\124Rq;#Õ\ 4\f×
+wQÔ¾S\97î\16¿\95\14tS]õ7<N¶[\99        è\94¾\93j7"¿Ù4I\1f\83h8Pg)è\82\9c\13´\9dH\a\9aD5Ö(c\vXFA\11ñ°\8cp`VUÃH\80³þø¶ôQþ¥sP\93C\83ü<a\b\9a\1aêuSW\96\97\15CÍV\93¾CÆNñ\ fŶLØ\11?iüknª¯\11>NC>è¶\94h\bRs\e\0èð´3UÕÔ5@³ùþ;@3VfÐoØ8¸\9f¨½©9ùO^\11ª±1~\ 53{xë"¢^\1d4k\92óp«~F\88Z<ºØµÑßÚ\99\14Çt(Þ\15\95\1c   'Í\80®\ 2ÐùÙ)»Ö\aÏp\15\ 2\r\17G\89\1e4ÒÃoÉú\9dÉ$R¾`\87oø-òf[Y\97î$µ\82×n?\9a\90P][\a^\89Ë\83¢NØ\12\16<{\8a\8bÃàþ½ºkv\16\8f®\16\1fs\9d\ 1;õX\16\18.S¼ÿ\15´(Óm©ö\80h3\e'¯ù+£÷\9dºX@;|CccÝï02¶\95A&\9aY;zù¯Ü²\ f
+
\1am\ 3PcMFÔI     Ñá\8bçx¹\8e\1cjnÜCKCE4º°\8f\91â(êc\120SyÃMßÊ:&rÓmÉû(ªáE\8ft\9f  Ý\81°\80\81\ fc\8d\80þåÈ"'\84ºÄ\ 2>¢åG\bÕõ,jàúÒùä=1k\96Ìõq\e5l@ï\9e\85¢\8béc&Pã¡8¢\8f=oÍÇ\18÷~ÿ²èFfÒö\b\ 6Ì\10¢*\1aº½Ìm¡:\10\12àÞÐÆ\1a`¥1þ÷Kå\84¡\1a}\ 3¨&r\12¢º¾\9eE\9d\9f\9bvlïÖµËæMu\1fc=°\8f\ fáèjKú\ 4écóVF\1f8{å~I«>\86 9\95\15/\1eæ¥\1f\89\v\92Óí¨¸\95ÔµôM\a\8fúÃo        p\90F9¨\ 1¢¡¿Ò¤ã×Ð\9eRÔPJ5?!Fz\10ªÓ®Ýg¨nh ¨ËJ\1eݾ\9c~|_ìºåó§{\8cµµ\10\8b.x
+5ohËóWoû\93íc\12O\9a×\f=\14ÊIáÕs\87\86úO\19Ë4²\ eíÚ¡¸Qw&\16öã§\ 6\84\a¢\1f\ 3\ 5\84h¬¯_\ 5\aG_i\ 6\87 Õ\18\11NäªS/ä\93¬æBF\10Ô_ß\97\95\16\15\É8q ~Ã\8a\ 5¾\13\1dí ºt\85¢\8bø!L\84\9c|\16\84Ç¡y·ÒÇ\1044²ï\9fË\9fßË=½\7f\7f<G[Ñî\r QÜÊ\1a:\86ý\87\8dõ\9c³lîä\f\86èºÆ¦f,r\9fËé´\f\99;i´TÓ\92O5?#Üg\82\81cVc-\ 3ª\e\e\ 1uÍ÷¯\1fÞþýøÎµ¬\93\87¶o\\198ÓÓI,ºø\89eã<-0b{RæMjÞMÍ\92\88&æýæiANjâÆe³<FX\1aëj(ÉÁ±´'âÖìÙ×jÄ\84\19AáÛ\ e\9e¾Tð\84\19þ\rcºøÎÅ\93{7áN±4¡ÿ&\ 5è6\ 2!á8Å?$j\ fÔ2ÒÀ¹\98\12\8dõ$¯Ë_<¹\9b\97}êÏ\9d\9bC\83fM\16\8f.2Rµ\fÌl¡yCbeßzòº5óf|\f\v\19qaW{\92·¨\9a\ eDÜzÆ\ 3í\9c½üC6'¦d]\7fPZÎ\10\rÿ\ 6\9e\ fA÷W
+&Ö\ 4²Háß~ÞÇÚ\bÕ\81\11\13|\17\1d>w\99\8e­Zt\ f¬\ 4ÐÍÊ_>½\7fýÂ\99#»£Â\82çx\8d\17\89®v\18Ój\10Óö®¾\8b×ï>þW~ë\89\ 5ê®ý\81·\99\97v\18\rÉÙ\1a\XM\ 1@wèÈ\88\98\89³\96¬Û~\ 4_ä5µn \9aØ\1fiìàùÓ\\84ÊëO\83¦\96\89\ 6n=nòÜ\15\9b\12\8f\80\12ôù;4¿&\82\9aûãÛ§w¯\9e\15ÞÌ9\9b\94\18\rÑå-\12]$]Õµ\8d\ 6Ø»Í\BbúYÙ'ÈVÉÍ\eeúöùÝÜ3dY\12\1fSEW\14\10÷ôÀÕ1ûO^\0Éá{Ô#Ñø­øö\87>fÊz¾\14 Yª!«-\1dܦ\a\86Ç\1e:\93{ç)ùÂH5AÍùöù\7f¯\8b\1f@`\1fÛ³5B ºÈêêÐ\9e\ 1=pø\ 4?\ 4\9dSð/ IÜ\82L¡MÒ\936ÑÓP\ 6Ð\1d;\11ç&â\9e·bS±\8c¼Bj.H4~«*<éK§öE­ öG}LJÐ,Õ\ 6ý\87\8e\9d4ç¿\91»áç\1e\94\90["ºjj¨Ç¥YA\ 2;=EBtÁ\v\ 3I:\ 4ôÒ\8d\89©9\ 5Å­\80æñhò¼xHd\1a4}¼\1d\9ctg%8\93N¬sSq\1f>\a\9f\9e4\86úFÀÌ~«[xÒ07\1c,\8cu:+ÉJçcmجVéªGâqÁê\98\ 3§rnÓØ"Â\82s\82èªú")ºèêêÔIF\8e¶Ðÿ\v\9aU÷½Ëg\ fÆ\80\9aèkª)ÊÊà#Ôµ\84Äý\b\8e\8c~y^3û­òÒ\8fƯ!'m¨%ÕÜh¡º}'YR\84\86\8c\86¯¼\1e\1a
+\13[\84j\ 65\13]WÙè\9a\84Ñ\85&®¬ '+'¯\8c \91éH\ 4Ý\8a¼yTÝï\89º\137Bò\8c\ 2\99v\85\18\90\91\91SÄZB\9c»EÜÔÅxô[a¸_>s0f\95ÿ\14椥\a\86±¥Ûk\80­3VÞ½©ll!Õø\93\8d\r\ 5¢k\11\1030ñÎ*\8aò
+\8a*\1a\b\9aodo>UI\ 2Íø\11xw:Q7\ 4V/\1d8iY\19Y\ 5x\82\11Ö\92ÙbâÆo\85#\ 5&VÎ\89D\92Ò\83\91ò¤       j:nÐ9±¡DÄ·Ä\16ùÎ\ 4µptmÁèÂÕe\82&®¬¤¬\8aßÌÞ\r"kWë\91E^¾êcYñÝÜÓ\a¢\911T·º\92<J\ 5¤FjI`ØV\11q3NPñâ\11\8c\14Xf$Ü\7fé¤Û0^\866b\ 4\13s
+ÄV\82P/@Ô@\91xtù¸\8d\1eÐ[_§«º\9aªzW\0mGËI\16\94\93\ fß\0´H#c_þeÑÍì\94Ý\91Kgy\0cÝ»ª*ÊËÉ+©u#âöö\ f\ 1qgRçnù褺\96Ü¿\ 2\81µ:\80q\ 2iSZ\90jl(4¶Â°\ 12k\väÅã£\16\88.\]þÓÜÇØXô1ÐíÖE£K7=\18\84\86fÜ(\92ؽÙÓ,¹\7fõüáØð\85S]ìÌ\8dt4T\14äå\15A)Ff\8c¸¡\96´\88\9büz#¿ºîÙ¼|ÎÄQV}º\93µñK \ 5cËsö²\r;\93Ò¯µx\19\8fG¿vKt]NOÙ\1f»~yÀ\8c?ÆÙY\9a\1au×ÖÔÔî\ 1 \9d}\16\84Å\1eNË{ø¢B|eQ\e«\84à¹\9d\93ºwó\8a¹\93Æ\f1\ 5u++\80%tÖ\86A9\92\88û\0Ö\12\1e\91\1fg\ 4\ 2êN\86êêëF:()Þ¿\0\9ai(*X|í]|\ 2VEÃÚâ{\19\ 5Í\13\8e®L\88®È\90\85°?ì­ú\19ëëéêõ46·qô\9a\1f\1asðì\95ÂÒw_~\806y"DÃR"6\96\ 1§\19ì\vik¢\aQ¯¨¨¬®Ù£·\85½\8b÷|ìÜ\99\ 2µ\84'¢îm«\ 3¼\9d ºj©ýB`ñ©Æ\89\89±5x\94\87ßâµb^ÆG-°ºvlZ\15ä7ÙÙa°Ù?¼\97iTÍû\1eÆ­û⮳Ö=§\83[±ÂU+¤\84Â!ʬ"÷\94R§Ð E¤2¤á°Ëi>i°5(\9a£$\1a(\rv*ek\9e\87]\9açy\9eåp¿¿ÿ°÷\7f·\9dWí®W­¥Ízöïù~\9eçÙ,.&&¾Y\ 6\15Y[÷ \97\19E¬vÈ,\10ý\95K4\8c\ 6ÀXm!`Ìóö\15\9d\13û¶\89\ 3\ 6\7fúI`\850\1cÇ>e-cK'ßÈW`î\16¶¹q\83`ì.@\ 6±6Ö\84\1e¹{\91¢ÉØ\12\»q»ü  m\13\e´q>\94SX\86¹\93\12]Å9iq\11þî´ëFÚ°?d·Hl\92\90\92ݧ¤ilå\1a\b\99\9bêo\1e\8cAHK\8aÂX\13øy\85Ð\1aqé=ÇÔÏ_³÷\86j\94\87wnâ?¦²\9bínbV.N4\19[hm\1dRÕ7ç¬Yò\v'UcÑÕÙT[òámÂ\93\0\ fû\9b\17Ϩ\1e\93ßµ]z˶\9dòJ¨ÜøG§0+\9byHF¶1äÒp\841¨ \9bÖ     ¯\¾|\85\90\b¤Õ¡_uMo»?\8aIÉ-­og\9b\9bÚâ²\12\10»ùåîe$Ë\ 4`m¡\82`|ËÙ\7f\ 1ËpÕdtu5³Ê\98\8cWQ°?,a\7f(\1dسSvÇîýJ\1a\10ó>\91I9e\r]@²ÏÜ¢\89þ\9c\8f\18\f\18S\92\93\16Gq·RHD\14\ e\1av\86µ\8bß\93×YhPr¾k\ 2\7fD\8bs³â°{ñ¢9k\vUp.\96M\91\r\87
+\11]u°?^?\vòv´º¢§qâ°¼\9cܾ\83Ê\1a\ 6\16°Ó\12³Jê;\ 6°£æv÷ø`W\ 3l\8d§¾àRµÃ»$EE\84\ 5\ 5\85ED%då\8fk\19Ýt \87Å3ò«¨æ¦â\ fµ8ÔLHvóA4\1e[<,ë!YÆQ=7\r\10\87èªÈÏJ\8e  ¡;ÁþÐú¯âá\83\a\8fª\9c60§y\85Äe\14Âä@E\94óÔÈ¥S£ýí¬"èÏ^wLϪ(ÈJ¬\17Y%¼j\8d¨\84Ì>E\r8h¯àØ4      \97¹q\83ôµÖ\16\ 5³[Üb\9b        å©\89
+\8e³Ì-\90»\97}c«Æ \8e¢\vöÇ\9bØP\1f\97ßÍ/è\9cRQV:®úÛys\9a\8b·ù5X'\9b§\8a\8d¹Ôú¢\96ÒÞm\9b\8a\88¬\13Û,³÷Ø)}³;î\81Ï\92ß\97°à{¦\9a\e7\b`,%ÚßÙÒ\10kqBüq7\1e[\1c\96éa,cäW7QYFâl\ e\83x;ì\8f÷°?|Ýî\¿¨«¥®ªvú¬Ñ5\9a\a\f\96¼ª\85$ûJ®Cp·\9fã\rCõcrÛ$ÄÖÿGT\\12iÖ5µuó\7f
+iUÝ\8c.\8a\12\19ØC·±`\8c\86yÛ]=wRaû\ 6\11¬wóC4/Ë \97\11\e\93cp.\88Ãþ(ÎÅ¢ËÞò\8aá9\1d\9d³\ 6&7í=\1f?OcV6u\ fOPD£\93&+h8ý®\85¾Ú\91=Û%7nØ !½S^ñ\94î\15\e\17ß\88\ 4F^e\ 3X\8bjn@7zhȹ\98\0W+\bé=R°*ùäîe\1c\96­\93À{\19Ú\98Ì\8a\ 66V8uò¯y\ 4ña´?ðèòt°±012¼pÉÜÚÁ\e.\93Y\89\15Q\ e¾\89\93F\ 3+>Ä\8bf¦§vtï\8e­RRÒ2»\ f(«ë]±vö      \8bKg\96CZ\ 1D¨æ&\1e\1ar\8eno\ ecTvÓZÁÅ­JnÑ\,\83ð¡\87'À®¥\ 6\bç°1\88\13Ñ\95\18õø¾\víÖ533\8b[4×\a¡¨<㢿pDÃhÀj\15ãE\90Ç\9d«z§\14÷ïÙ¹cçnù#*\9a\ 6¦6Îð©´ÜÒºVü?ã\98\e2z°³±\ 2\1e\1a'\81\9c´\18\84ô\ f\8bo&lÕÿ zÙ\ 6¨ÑÚ\97¬]\1f¢\91\87U\ 5,¬¿q©Æ÷\aD×G\88®\10ß{\8e4[\e[;'Ï\80ÈxF^U\13\8fh\82coA4ÍÜ@Såè\ 1\ 5\85\ 3G\8e«é\0ÿÝÅ'ôEjNImK÷ ¹3H\8aM\f÷¶Ö\16e&\84ß¿k¡§z\10ê:ß0\86\8b\fmL]3\9aW0V
+ÙÃ\83K5¾?°èÊL\8e\8d\b¤ßsqrvóô\vy\96\84xÔÃ+z¸§¹*/ýE°§ýuã3ê'\95\95\94UÔ~Ó7¹AûÓ7\f4\17×4u\rp\1f4°c´¿ãSYnʳ\0W\fùÐÆVò\rc¤jbcJË)B¥t\84ú\9fE\1d\1e\94®A\89®ÊÂ÷©ñÑ¡\81¾tºÏÃ\90¨ø´\\b\9eÞáÉï\88®ÎgÄ\85Ò\1d­L\rÏjihhêè_4·qð\b\88\8cÃ4wö\ 34ñ]G\9a{|¨\eÿ\90·\1d\4<4jc\bc|\13MnL!Ø\98ûUÎ\¶E]\98\1c\1e\9f\17ì\aÊêª.Îe$½\8c\8e\b\r   \8d\88\8e{\93\99_\815\f*½1ѽ-5\ 5ï\12#ýÿ´³¼jlxþ¼Ñe\v+;·\aAQ        é¹¸æ    êAãæn«+ÉNzêç|ËHSQN\1a=4ÿ0\86\8bF\eó\87\1f\16\95úåÈ)}è\940<PX\ f\8c\12]cC\10]µ¥yÙéIñ/bcã^¥¼c\96 £"æÿµà¦[YÅÙÉ1AtW;ë\e×,®[ÚÚ»x\a\84?OÊ`\96Ö6u\ 2¸¹5\83¹\a:\e*\98\8fïÝ6={\12нNøgÈ+¾a\fW\8d±L@pÍ\86m{aß\12aÍjã58\19]SXtÕU\14\19i))i\8cì\8fÅU\9fà\ 3ø×D\11\8dZh}\19ómü\93Gtw§»vö\7f8¹ß\7f\18\1a\9d\90\9a\9d_Îjîì\87\8fp öõ\v\82w    áô?®\9fW?º{\8b\18zh~^4&\1ac\199<αúc`\94MUªjb\7ft·6Ô\94\17å}ÈÉÉýXPZUßÂ&\12%² \9ct5U\17f§¼|\12ìÿÀÛË\9bî÷(\f®áÝ\aø\96\90·©\8bn\9e4÷ûä¨\87®Ö\97´\8fËo߸V\b]4\7f\1fúoº ºyA\eå\ eìÑÁÞ\8eæOµ\95å¥%¥åUµ\r-àTx5j£ÁªÕPO+\8c³Ì\94ø\98Ȱ\90àÐð§Ï\13Þdä\16\96³\1aÛ{\ 6GIÍ\9cZ\ 2äÆÌ\1däI3ÓU=´Krý*,£ù\891\5exàa\1d\ 53 ®­w\84Çà\94ý1ÜßÝÑÒø©\8eUWßÐÜÞÕ74\ 6\ fM-4\88J ¢\13?ÿäĸ\97\12\93Ó3s\vÊj\1a\ f\91\9a¿aÿ,Ô\12ÂÜ\ f\1cn\8­(·U\äß\ 2XFóY3wXÿªkvÇ3(6\1dk£¼\ 6\9e\1a\1f\1dêïélokmkëèê\1d\18\1eCÑý,¡\92\8d£\95R[^ÈÌ~ÇxËÈÈÊÉ+*¯ùÔÒÑ;82>\85\7f\8047QKX\84¹MtN(È\0Å\96ÿ\8b¯\19MU\8d\ f\ f\bëc\1a\867\1c\1eDP\fþ\85K4\eâÓ\93 { ¿¯··¯\7f`ht\1c4s}Aø\8dB\99éioª«*+.ÈÏË/,.«b5´tô ï\b¬ÍÖü\8d]Kps{\10æ\16]\8dâj   \1ez\19{x@XË(\9cÐ1±\816\8a\e\1c\11|ÁY\938\9b\9b\99\9e\9c\18\e\1d\19\1e\1e\19\1d\e\9f\84gû<ÏÝf0âëïlm¬gÕTWW×Ö54·u"[L°\7fÿ+ù\r\ræ6Ä̽FP\0Ql \1e\9axj0øjQÉ]\87TõÌh`p\8cà0úx\fNZüóÜìÌÔÔäÄÄääÔôÌ,¼3\ fêqæagÐÚÒÜÜÒÚÞÙÓ7È\91ÌY¯ä¸"Ém¢Íeî¥\10\8d±ì\9f\10Ö"â[Q\e\ 5\83\87'd\14T7u\r\12#\93W5\92\rºggfffgçH\r¼]\ 6Î`dh ¯·§§\a\ eapx\94í
+ί\13\ f=ØÕXù\115õÿ\83¹\97\9a08"xRv1êÓ\13<¹Å\91ýe\1e\84Ã\9fùùù/\v5\93ª\81y\93ãc#p\ 6Ã##cã\13SÓ³<ß\10ô\92ÏD}Ëz\15éãx\93 ÷\12\9a\9bP\8d\855np ¸Çãç©ÐÁQ¡æÉ-B5ÈFÂÑ\1fôÓ×\85¿\83_Á<\ÁôÔ$\9cÁÄä\14~\a¼¦À2\1d\1eº\82\99úü\91»íe\1d\95%77¦\9al£Èà\1a\86PQÂâ\19ùU\8d\9d\ 3c¼¹Å\96\8dK'\7fúÎo +\80ׯÎ`\16Î\0\ñ=O`=½¯\8dU\94\99\18N¿{Í@íð/R`î\1f\97ÐÜ\98h.\83k_²rñ{ò\1aFfË÷sk\81ðïÿ-a\at\ 5 |\1e;\ 2\ñBD \8c\1eênªd¦Æ\ 4þ\8fù2ñ§jí£øý4¹\86BE)C\91\90¡$\99*cI\92K\92\8a\ 6\9a\15¢4«\10%¤LM4Ò`¬(Eé\1a\8aR\882¦8IeH¤Iù¼¿çÙû\1cîýè¾÷}í}öÙÿÁÚk=k}\7fþ[WÛ\9aêªÑÚÜ=Ts\ 2®o\ 1\f\8e\8e̬'Änõö¬ÿÕÇ~\ 5\9c¯×D`L\7f_\a\17åÕ³!{\\96Î3ÐP\94\86póÑ\1a\9a\b8B\14-c«e®^ÁQñ·îÿr·þ'Ý]ÿ\18  ò
+}Y\9awûÊ\89\83Èh\1dUÙQÃèln\8eh2à\98ÁáÈôð9z6\19\81\19g·þ?Ñÿâ·àt×W\15e§\\bõv[fi ¡ %NÇqÕ«j\b8fðÉ3Ì\17­Ýæ\1f\89Àì×»E\95fÔÝ(Ý\ 5w\13£\83v®³3ÓU\95\93\18:\98Þææ¨&\ 3\ eG¦¦\91¥ÃF\ff°[¬÷\1fú\14ðÿ*ºók\aN÷­ËÇü·8Y\ek*Ic£¹ \99\b8\9f \1c\99ãÔt0\98\85\9cIÌÈ+Á`öË\ 6§Dt{Ë\9b\17Å9\90î}®K-fL\92\1f\r/\9a\96ãªWÕ\ 3Ð\91).­ \8evËÓ/ü\ 2\eÌzE\14jDÃ\93nkz]ùä^òéà]ëífë¨\8c\1d)*È\1d£±êþÝ`faï\8cÀ,-·¨\8aÕØ\8aº\8c\16Ñ°ÒøI\97\88?ypë*\e\13\98°À î\18Í\ e8\ 63\15m\13\ffg\92îä?«ih&¬¦C4¬4~Ò\ fÒ.Eøº/·4PGé\86\1aã\8eÑ\7f\ 53=\1cð\88ØÔ¬Â
+\18\9a\96\95&\9fôѽ.öæÓÔä$D\85Pº¹£¹{·Ø\97Çî ¨\84ô¼Ò\9a\86\16º¬îúI¬tá\9fWÏ 'mª­<f\84\88À î\8a\86gM\80\99öÌùN\1e¾a1)Y\85\95¬Æ\8fx«i\10ýãûç¶FVyÁ\9d\84S\ 1ÛV\13Oz\bÿ ®¥û·îÝ\82\80«O7_ì¼30*!#ÿÙ«·°Õ4\89þö¹õ}íóüÛW\8eùmv´2\9c<^\92xÒ\ÓÌ~ÖBCG\8eU\9ejbíèá\e\1e{#§¸º\1eW\19õ\8f\9aÓc÷o^\f÷qC+=nÔP¡ß¹\98nR5
+øpIùIÓÍ\97\1d|:9³ ¼\ eå\9b\86GÝ£ÇÎ\1fÙ³qÉ\1c=UYr¥¹,\1aY\r]¦¬5Óf\95ç\81ãWnç¡|wÐ\91o\10Ý£ÇÖá\1e\13çâJ÷PMX=~²þ¼enÞa1©9Å/Þ´´Ó"\1añX#«\ 2®\r²Ç\14É\1eãªf\ffèUKȪê\9a-rÞ\15|æê½'\95¯\9bÚУ¦^4â±Ú²\87éqÇáÚ°2Ô\18/9\9cÛ=F¨FV\v\8bË(M5±Y½-àdBÆ£òº÷\1f?S/\1aÝ\95\1d­\98Ç.FølZ6\8f\99\1eâÁjþÁ(ß\ 6\7f¬ðØ\1f\16<êw­\1dß(¯o¢Ç\1a^<ÍI%xLO\8d\89\1e#T÷\e\0ù\1e%7qú\\a×}a17rKj\1aèXê\9e=v\18\9fX\ç±\9e¢ù\ 4EF\8eUÑ5[ìì\15rîzVQõ\9b\16:D\13<\86z,êÐöÕ\vfNUb¦Ç°êþøQOÐ\9aµpí\8e ÓɨÉ\10\9eP,º\8bÃcéWÈ\1eS\80\1eãg Ç°è\81üC\86K)j\1aÛ¬Ú\1ap*ánA\ 5\vÕ7Õ¢Ñ\93æðXw\8f\rd Ý(ß\ 3\7f\1f<\f\9aÌÐÊq\8bÿñ¸ô\87etÔ7\12ÝÞü¦º8û:\93\11\8d\9blÜ$}Ëå\9f×¾k\ 5\10¥X4B\93&VÅã̤è \1dk\172pWþU4\9f ¨\ 4Ô·ÅR7ïðØ\9b÷K_¾Å\9bE©f¼Òð¤\ 1MN\1cð\9ßx\8a¢\14·ïÊ¿\89\16\19)«ªgnï²7ôB*l\16Ð÷·NJ\87\9a\r5%ä\93¶ÔW\97\1fÍõ»²ûë\aõ-2b\8c\8a\8eÙâ\r^GΧd\17¿h z³ºPºñJg];\17âµ\ 1\9e´\9a¬\84¨\10COº{³´MíÖï:|ö\1a\1dC\8dÒ\rà]W^p\a­ô\1aÛYZ\13\18|ÒX4ÿ\101i%­Y¶ÄP\17VÕ7S|gq\ 6ëÁ­ËÇü6;Z\19i(\10O\9a1ÑäP\9b,X½ýPTR&õtÂNwuQvÊy\0o\87¹ÓÉ\95fèI\13C=\Ja\8añ|D'\894Р \91îFH÷ݤèÀ\9dëìLuTÆ2·Ò¿uÓ\89\86\91µ\93ç\81\13ñp\²\1a©\16M¦;\ fÒ\r\fjm¬©(-&,ÀXºIÑ£åá¸tÜL"Y# \19u¢{¦ûBè>×¥\163&±\a\8b\ 4\92©ë[®ðð;våv~Y-p(\85tÒÝÝ\90î H÷l¦Ó\8dé\ 4\8cyËÝ} \ e¥Zt/é\16\17fn°HÑ\88CgX,Ûä\13q)-ïÙ«wTr(Nw\e§»]\1d\98Ow\ fø\9e\8bàûâÍ\a¥\14\8b&¸»®üÑÝĨÀ\1d¼\90n¶hYµis\1d\½ÃðÅA¥è.\9cî\16àî\ai\97"ý6;Y\eMa¸»Ù¢G\82hs\a×}a±7(>³Àèï\9fÛ\9a^W\16þyíÜ\91=.ö\88L\18N7çÌ\ 2Ñö.ûBc°è\ f\94\89ÆFw|x÷êùÃ\8cøS\ 1ÀݦÚÊL§\9bvÑ?É\91.ν\11\eîë¾â\ fCÌÝ\8c¦\9bæx#£\89\1a+ÈL>\1d¼Ûyñ\9ci\13åHîfZ4]EF\18\8dk\f\8d´çJ\e\93©èªd6ÝôN\16aôÇFVÅ\13Tcp`Yè«\8f\97\1cÎàUÉ\11M\e\9cp\8c.Í»\1dw2`Û\9a\85p`ÉJ\882\9cnZ1\14\e\rG%«²0ëú\85PïMË¡Æ\88\91f4Ý´\1e\1cl£_>ËO\8f?u\bhÌLOMn\14\1ei\86E\93§¥!å§eO£S.\84ù¸¯°2ÒT\92\11'j\8c\92ã5\8c¬\9d<\ f\9c\88ÏxTÎjlûB\89èn£3\12¢\ 2w®_\ 4{\85h\8cá\1a#E\ f\97R\98b<\7fÕÖ\80S\89w\v*XM\94\88f\e\r\ 4\9a\9d\12\13æëî\b\ 4\19´WÌÖ\18\88î?\90\7f\88\98´¢¦É\82\ fE'e>©|ÝÜN\89hdô§\96·\1c£\11\98È\8fF{Ål\8d\83ø\85Åd\94´fÙ®Ý\19túê½Âªúæö¯\9dT\88æ\18\9d\1a\13îë\ 1F#0\11\15dºÆ°h\ 1añ1ÊÚ³íÖï>|öZVQõ\9b\96O\14\88îêúñýë§\ f`ôC0:\b\8c6\9f6\89c4³¢ûõç\13\10\191VEwÎâ\r{\8e\9cOÉyú¢á\ 3\7fþ\0£\9b^W\15e§Ær\8c\1e\89Á\84i£9÷\ 6 7:²rKð\91ÕÙÕGÑ`t'2\1anÊ;\89ÑA»\9c\17\9bO\9f$/É\13F³Ù\ 4\80\fQèÅ´\a\14Q(6º­©¾ª(çFlÄþÍNóMxÅèn61\06Á@F\r\85¢½\ 2£ßÕ\96\93\14\1d¼{Ã\12Þ1\9aX,b¦Wn=x2á\ ef\93Ïßû,\1aíU[s}uqîÍ\8b\91~\9bWÎ7ÑRæ\11£Éò\96\99\80\16kG 1ÓT°    ¾)[ß×\96\17d&\9f9ìµÑ~î\fud´\0/\18\8dz\f\95·\8eÙ"göbQ0Óh¯¾´7¿yQr?íò1\7fÏU63µ\94Çò\8aÑè°\14\95\90Cåí\ 2å\9d\9aû´\86\8aÅb\9f\1a\15\8fï]={d\8f\8b\83\85þäñ\92b<a4§Çà°\îî\eyéV\1eYÞ}\13\15\9c\1a¥y·ãN\1cܶÆÖTGEVb(O\18M\92·\94"ê1|cÁa  åÝ×\1eC5\ 6{õº
\94¡ÞnË,\r4\14¤Ä\84yÄè¿÷Øc¢Çú,\1aÕØ»Z\0\1385v¬³\9b­«*7\8aW\8c&yLU\ f Ô+äÜujz\8cScOa¯"ö\ 3\81\1ai*I\8b\v\vðñ\80ÑøI\v\r#xÌÍ'<öæý\92\9a·}ï1\ 2»\89\1a\83½\ 20\996qÜèa\83ùyÂh\ e\9a\18Y;mñ?\8ey\8c\8a\1e\ 3\1aë\0ì~\96\8fjlëê\ 5°WcF\88\bò\88Ñ\ 38OzÍöÀ¨Ä»\ 5\15\18\99îêâ\9cÔ\980ïMPc°W\88@yÀhòIKô|ÒUõÍí_(xÒ\9fÛPº3\93O\aïZ¿ÈLW\95Ü+æ\8dF\83E®4:±\88'M\ 1\9a '\8d»;?=îÄ\ 1 1\93©J2âÄ^1-\19\ f\16¬´4{¥ãÒ©{Ò@&5%¹7cÃ} Ýúê\90nÞ¨16x\8fQÖ6]¸ng\10Zij\9eôÏNxÒõUEY×Î\85@wÏÑS\93\95\10\15âã\ 5£qº\85\86\8e\92\9b8}®½ËÞ£çS²\8bÑJ÷õIã\1e#\9etRtà\8eµ¶³´&È\8c\10á¥tÃ`i\18Z9zì\8f¼\94ö ô%\ 5+\r¢a¥ß×\95=ÄOÚÉÚh
+ è\10þÿ0_'ÞT¯]\1cÀ\97÷.Ed*óxÌó\94y¸\\12\19*cæ+\19*S\ 3\87Dh06\10\92BR\8aJ
+\912\!2$\94\84\90\84ÌÃ1Ö½½Ïóû\1dºwÝÓ»Ö»\9cµ~çù\ f>kïg\7f÷¦\8c1Fìn4°âÒòÊ\e\91Å\9b\f×\ 6\9ccýoë\9eä\>sÔ\ 5|i\11°\99ÐPSB¡W»[VËÄ\ 1\ 6VAUK÷g2-Þ\84)8Ç\8a³\13\9cLµd\858\99é(âK\13»\9bGl\9bî\9e}GÏ\¾\83\ 4Ö$\19º\e\19ÞC\1f\vá\1c³ß©!\8d\83ë\18%ÍnIU\ 3k\8f Ø4xV~\1c]\7f`!h8¼[ª\1ee^8qp¯!\98c0¥\7f¡\0óÚìF»ûFAÕ«Õ³r½h0¼Ç\a»ÀðN\8f;îim ,ÎÇ
+wP
+@£\9b    \9cÝäín"úÓû¦ò¼k1x7K}0¼·RÈ\1cCön\ e°\99ÀÙ\1d\9b\96\a»\e®cëG\83Í{f\fI¬Ô(\7fWóß\14)exS\11÷nay°\99ø\84%ÀÙM\9eîFbzz´¿£¾47å,L,ya.pmPÀð&^\95`ïÖ³põ\87\9b    ¹ºû;znô½©+¹\93|ê°³\99\1c\85$\16\15Õ\7f¨7Ò3sà¤Õ\8dl\ f\ 6\9fK\7f\06\13dv\93áK\7f["L\8d\80\98~|ëR¸¯£\89¦\8c \a\13\89!-¢ðë.g¿\88\8aª_¯n&ëF#1Ý\83Æ´\97ÝNui\ 1dóÆ|      \85cl\13\13\e¿¤Êv+7|TêÝÒzòìÝ?n,\18ÓçALï \94\98þ±\82j\1aÛ{\85\¸þ°²¹s`lý{÷÷µ\98~ß\ñ =.ÈÃz»²8ñÜÀ\1a\rº{\13\12Òº{\\8e\9cN¾]\\83^\95ëïîµÄj,\ 37V\0¸±¶\89ñÀ\98Æ\1aME\fi\1c\12ÒA±×î?{ÙÑÿej\9e\fÝý}õÆZK,xcÑc\1fÓ ÐÔ´?B\1a\1eX`\ 5\1d\9b]X!Gw\7f]\9e\9f\1aék\7fQr;i-±è±\1fÞ«!-¡¬o±ß?r5¤ç\96Vþ\\7fw#Ã{øCkMÑÍ\840\1f\acM\19\1c%$\16\989\ 5e4@H\9f8\97\90^»±z^W\15ܸ\18rÈÖHMJ\80\1d\ eo¬ÑÄ\90\16\81!\9d\90F\87÷\1c¸±^Uæg\9c\vö´1P\91àceÄþÆBB\9a\91\8d_Be»¥[@Tjni\1d¹B\9a\98XcàÆªÈK\8b\rt·Ò\a\89µ\95\ 2\12\v¢Á
+Jìîó\19ù\15M\9d\ 3°»×?ÆÖ\12«³±ìþÕhüjba\8eþû\81åä\e\9e\90Uø¼¥\e\1c\98ÝDô(ñ°\f\80\87¥(Ï\16ìc\9aø¥ÑÍä(ÜLjÛ> \9b    YÐË\0ý±ãåÓ»©\91þ(\9a\12*M"°ÖÐëN,d7AÑW\104loäOcªF\8f\röÕcãJ.\8a\9e]\0\89µ\1eõ_È\ 3\89\ 5\172¤ÒQp\vU\12\ 3«7æ\91\85ì Lì\ 2\92ª\ 6\0\9dSRÛÚ=86MX\ù
+ký\7f°ÿúÇû\13¾o+\8b\ 4°\90½­\87\9b¥¾²\ 4\1f8²àr\82¥\9a\88\86\95¶Üï\7f&9»¨ªù]ÿðÄÌüÒ2PCöÿp\93pB*ò¾~ýº²²4?31Ôû¦®ônj4ÞÝÊ@UR\80\9d\99n#ìo\fÕ(\1aÄ´²\9e¹ËáðøÌü²ú¶î\81\91\89\19ÂÂ\12(6Ñý³÷/'\94\82·¼¼¼´´´¸@\98\9d\1cýÔÝöâInjt \87\8d¡\9a´ '\v\1cß\98\96\1aÝMÀ]©¨cæà\15\1c\9bz§è\8f\86öî\81áñ©YÀ^FÝ$Þ7ÒÎ¥ÅÅÅ\85\85\85ùùy\ 2annvzbt¨¯óUuqNjt\90ç^#\rY!n0É6ÀþÆN\8dLo\86­Ü"r\9aF6nÇNÅgÜ+©jhëêÿü\ 5a/\ 2÷
+pý\8d¸ª\84Ì\7f;çfggf¦§§§&''&ÆG\87\aû»Ú\e*\vo§D\a\1d°5Ö\92\17áae\84ý\8d\91\9cÞÌÂ\89\93RÑÛíx((21ó^qeýë\8e\9e\8f\80=93K\98\að¥¥eô-\11\91\b\93´s|lltôËÈÈðÐÐçÁ\81¾\9eÎö¦\9a§ùYI\91\81\9evÆÚ
+b|lLô\18÷7@\83#\8b\89\8dOT^ÓÐÒÅ'8*1#·°¬¦±õ]OÿàðèøäôÌì\1c\810\8f<\ 2\81\88\84\9c\1cü40𱿯·÷COwWçÛ¶\96\86\9a²Â\9c´øSþ\1e¶ÆÚ\8aâüìÌôh\7fc\87¦ú\ 5|j\86­\\82\92J:ÆÖû|\82ÏÆ_Ë~P\QÛÔÚÑÝ;ðyøËØøÄää\14ú&Q$PB&IçûÎÎw\1doß´·µ¾nin|ù¢º¢´ 739&ô°«µ\91\16@s°l\ 6h,£\9a
+~j\1azf6^a\19\15]ck\17o|ĹË×s\1e\96TÖ6´¼éìîí\1f\18ü<4<\82¼ah\84ÈO\b\93\94óUsScÃ˺\17µ5ÕÏÿ¨,\7föäñ£ûÙ\19Éq\11øCÎ\16;4åÅ(\0\8dô7(5\v\a\9f\88\8c\8aÎNK'Ï£!\91\17¯dæ<,.\7f^רÒþ¶³«ûCoo\1fx\80\b\8cÝ]]ïQ&IgEyÙ³Ò'%ÅE\85\ 5\ fóóîådg¥§$ÄD\ 4ú¸Ú\9aé©É\8a𱯢±-55\r\1dã\16¨VÒÞ±ÛÎÕ;àdTü\95Ì;y\85OÊ«jë\e\9b[ZÛÚÛß´···!F\80lj\ 4Ìz\92Î\ay÷îæÞ¹\9d}3+ózzÚÕ\94ä\84óѧCü½÷Ûï1ÔV\92\12âac¦\ 4ô/ Á\11µ°\94¢\86\9e±¥£»/>,êâåô\9b9\ f
+\8aKË*«ªkj_\80W[\ 3\8cU\0       \94\9e\92tf¤]»z%årRbBü\85óq±Ñ\91§ÃC\83ü}=]ìÌ\8dtUåÄq\¬LôX·7¢¦Þ@\vÔì<\82â²*Ú\ 6fÖÎ\1e¾ø\93gã.¥¤ßÈν\9fÿ¨°èq1x\8f\1f\ 3ã#\88Ì»\ f\98\9d1Q\91gO\9f
+\ f\v\r    >\1e\88÷?âç}Àíw{+3C]5\ 5Ia^\8e-\8ct4`zc\8cFÔ4t\f̬\üÂR
+j:\86»l\9cݽ\8f\ 5\87GÆ]LJ¹\96\91\99uóVöíìì[·nfÝ\0Èt L\ 5ÌdRΠ|\80ÿÑ#~¾Þ^\a\ fxº»¹º8;ØZ\9b\9b\1aêi©ÈK\8aðs±2oÞ\84ñr²ª\ 6\1d¾i3\13(6NTZQ]×p\97µ£ë\ 1_ÿã¡§ÎÆÄ]\88OHLLJJL¼\94\10\7fñü¹¸ØØ\98hÀ<ó\13çþ}.¿;9ÚÛÙÚX[Y\98ï6312ÐÓÑTQ\94\11\17âçbca\80\85Æ\1aMTSo¤\85Åæä\15\14\93Ù¦®c`j±×ÉÕÓëð1üñ\90аð\bðÂÃN\86\86\9c\0È@|@\80ÿ±#\87\7fâܳÛÌÔd§\91á\8eíúzº:ÚZ\1aªÊ\8arÒâÂ\ 2<\9c¬,\fô´\e©±G#j´Øô\8c\9c|Bâ2\8aªÚzFfæ6öÎûÜ<\ fzùøúúùùúúx{\1d\ 2H\ f t\ 5LgÒÎß TSC]MEYi\9b¢\82\9c¬´\94\84\98° ?\ f\16f\ 6\8dh¡1F¯\15\eö8#\v\e\17\9f \98\94¼\92º¶Þ\8e\9df{,­mí\1c\1c\1d\9d\9c\1c\1d\1d\80q/@ZZ@æ®\9f:ååde¤¥$%ÄÅDEE\84\ 5q\ 2|¼Ü\9cì¬[\98\197\13Í\98\17zUMìqðµÙ8yqÂâÒòÛT5´uõ\r\f\8d\8cMLLMML\8c¡Ñ`»>P\ 2毤\9dbÀ)$\88à       ðóñòòpssqr°³±neafd §£¥Ù@\8d\9a)\0ý£Ç!\e49\a7\1fNXLRFNQIEM]ã¿ìÓëNÂ@\10\86áªÔ\96íqi\8bDE¬¡\18\15ü£\89\1azÿ×å7;[ñ\0Õ\9f+Ì{\ 5ódfÖmÛ®A|{}\ 1òù      Ì^' \90VeY\14#­ó,M\938R ;eöì\8d\e6~[\17ãÉùtVÏ\9bÛ»û\87åê\11­\9602rÑ4ó\1e§\81fDMâ8\8aÀ\1d\86a@âÁ\89Sfï\13;TX·.*À/¦W³ëº¾A ÂHÈKbö8\ 1U
+RPà\80öÔ÷\r\18b";d6jÃöiÝQ\92fzT\94Õølb\83Ñ ¡dæN§\85\12u`´Äe°[dêÈþ6¹CÀã$M³<×Tn\8d@Zæ/N+ýÀº\bæ,\9bÜ\80C>T*â\14\e ÉÌ¿9\9d¥~\89Ý\80³\1c\ eÉÊ^ç\7f\80~\8bç>f:á7Ä\rr\ f\9c?ë,»\8cûâÜÖ\ 1\10%I\92$I\92$I\92¼w\ 1\ 6\0§zñ²\rendstream\rendobj\r1095 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 189>>/Filter/FlateDecode/Height 282/Intent/RelativeColorimetric/Length 14878/Name/X/Subtype/Image/Type/XObject/Width 189>>stream\r
+H\89ì\97ù;Ôý\1aÇÃ\8cÙ\173Ã0\fc\18ëP¶P!²Fve)¥Í\9a\92S*!Ñ\93N\85"\94çI%\89J:¥l)-L\8c²ï;\89¶§\9eó\ f\9cÏ÷k¤ó\ÍÔu®¾õ<çrÿä\17×ýúÞ\9fû~¿ß³hÑB-ÔB-ÔB-ÔB-Ôÿ\7fIIIýl\84ÿ¡¤þT?\9bçÛ\v¢\95\96\96\96\11\15øóo\83\ f\93ËÈ Ph´,(4\1a\85\ 2\1fð·À\9fEG¡e1X,\ e\ f
+\87Åbгø?\9bík\ 5±CèX\1c\81H"S@\91ID\ 2\ e#\8b\92\91þËãÃì²\18\1c\81L¥1ä\15\98L\ 5\ 5\ 6\8dJ\ 6ø`ú\7fuz\98\1d\8b'Qé
+J*ª\1cuu\8e\1a\9bÅdÈ\ 1|YôÏÙüoÖ<0xÀN Ó\14Xª\-]}¾\ 1_O\87§ÎVdPIø\9f2|)\91ôÍJ\9eÄæ`ðhÀNWdsu\f\8cÌ,\96-[fafÄ׿ª0é\14\ 2\87Ó\7f.Ú_\91l))\19\14\ 6O¦)ªòô\8d-¬W9¹¬vq²·±41Ðâ°\18T"îGÓÏ«ö×\15\e\f^\16K\94cªò\f̬\1cܼ×\ 6\ 4\ 6úûz8ÛZ\1aéqU\14äDô?\96\1d\92\80åH\92<hã1\ 4\8a¼\8a&\7f©\8d\8bW`HhDTdø¶\8dþ\9eNÖf|Mö,=â£\9f?P\11\e\ 2d8\18I\ f\ fm<\8eDSR×3µYí\e\1c¶+.>!!>.&"d\9d\9b\9d\85!\8f­@%`ÑÈ\8eþ³\ 3\9dC'À\86\ 3ü\ 6\8f\95ððÐàñ\14\ 5\96Ñ
+gßM\91{\93\8e\9eÈÈ8y,%~wh\90\87½\85¡¦
+\83\8cÇ \90\84\17e\13°æ(hÓ1À,IT\1a\9dÁ`Ði@ðÄÓ\83sEc\894%.ßÜÞ+8r_ÊÉ3ù\ 5\17
+ò³O\1c\8e\8bØà¹Ê\9cÏU¢\11Áè\11\83\17m
+\987´æXÈæÉÀq\14YÊÊ,%ÈmðX´\98ÙAç\8a§È³µ\8c­Ý\ 2Ãö¦d\9e+,-+/»Vô[ÖÑý\91ëÝW\9aê¨Ê\93ñ²HÂ\83©C±
+\87'\10\89$\12\ 5Ø<\93Åæp5¸ê\1c6K^\8e\84à¾Ü\1e>W9Eu}s\a\9fÍ1\87Òó¯Ü¼[sÿ~õ\9dë\97r\8eî\v\vpYnÈU\92# ¸7p®\ 2÷I$Säht:\ 3Ì\9cÍÑ\80ÌR_W[S\8d%\ fßÜ\97áÁÖ\90èʼ%V®\81\11\a\8eå\16\95W×7>{ÖP_u³0;5v³·\9d©¶
+\9d\84E\f\1eì\fÄN¤ÈAØÊ \9epyÚz\86F¦K\97\9a\19/Öç©)ÑIx w_\86\97Å\91åUuLí¼Bb\92O]¸Qõ¸¹­³³­åiÍÍ\82\8c\84È\0gK}5y2\ e\8d\1c¼\f\1a\ 3r\15\83©¬ª®©¥£Ç_ldj¾ÜÚÖÎÖf\85\851$ÖTq\ f/\ 5­<\93£oá´64.ílqE}sGßàÐ@÷\8b§\95%¹Gvor·2TgR\90\84GÉâ\88Ty\96\9a\86\ e\7f\89\89\99\ 5à¶wZ½ÆÃÃÝÕÑv\99±®º"$\18_l\ f­<U\91k¸Ü5(*!½ ¬¦±­\7fdbr|¨»åaùùãû¶y¯\¢¡HÅË"\ 6\ f\ 5+
+CY]ÛÀÄÂÊÖÁÙÍÃÛÏ?hCppÐ:¯ÕÀi4\95\19â\1e\1e¾W%\8d%Ök\82w&g]¾]/ì\1ey9=ójb°ýiEaæÁ0?;cM%9äà\81Ú\ 1\8fTäh/6·vpóZ\e\18\1c²-,bGôÎ\1dá[Öû¸X\9b\0µ£\88i?\v¯idã±iwjNñ½'­ý\133oß½y5Úý¬ª8+1b­½  \ fAøY\8f\94\19\9aÛ®ö\ 6á$*fϾø\84¤¤¤\83q;·¯÷´·Ðç0©b¤Zj\16~\89\8dGHì\91¼\92ªÆ\8e¡©7¿\7fxÿz¼·¹æjö¡ÈuÈÃ\13ä\98\1c(\9cøm\f\8fÙ\97\98\9av"#óTfÆñÔø][×AR­(G\10\ 3\ f\ e\96ª¨±ØÚ}Óî#y¥Õ\82®\91Wï>þñáÍd¿°¶ä\f\f\ f­\rR\a+%\r\19<KÃp\99£ÏÆÈ¸äc\99\ 5\17\v\v/\9e?\9byd\7fä\ 6w\e#M%\1a\ 1#\16\9eÂT7Xá\16¼+%çj\95 ktúý\1fÿþøö%\ 4\9f\9d\14±v\15Øy*¢ð\90Ï\88\f>=ïBñõ[·ïÜ.¿^\94\9f\91¼\eø\8c   \8f%\1e\1e\rt^MÏÂ%pÇ¡¬+÷\1a:G>Á×\ÍJ\f÷³3\ 2j\ 3Î\1d\11v\11¼\8a¶©­çÆ\9d\89\15\95Ý­}øøñ£ºª[EyiqÛýìMµ\94éâà¥QX"ôÏö~añé\17o?n\e\9a\11ÀOö5W\17\9fN\bóµ]Â\85u\1e)xÔ,ü*ï-±©Ù\97ʪ\1e   ZZ[\9f7=©¾Q\90~0Âßq©¶2\9d(\ e^F\16ÖJ\e\8fÍ{ÒòËêZú'ß~\0;?Ñ×TUtê`¨÷ÊÅêL2îËþü\1d
+\1c,\91®¬ejç³uÏѼâ\8a\87Mí=ýý½\1dÂú;\97O'E\ 58Aðb&?»7
+jú\96.A;\92³\8b«\ 4Ýc3ï?üþz¢÷Yåå\8c\ 3Û¼l\f9
+d,bð°Ü±xƶ^[ö\1c=[Zù´µwxl|¤¿½±òê\99äè@g\89ðЧÓ\94µLì|¶í?qá_\8fÀÞ¼}ÿnf¼Gp¯0}ÿVOk\ 3\18\1e±P     Ë\1dwVîrKª\1aÚ\aǧ¦&\87»\9bjJsSv\ 6Að41R)
+ô@o\96»nØ\95\9a[ZÓÜ;>óöíôX·à.\foe \86,üüË\ 3Ÿû´}p\128üX_Ëýky);\ 3\9d$ÁÏ\9fì*¿Pèd\9f´\ f½\9cy\r\1c¶ñÇÀÏ+Fè\81\93àå[\a&¦_O\8f÷?¯»\9e\97\12\1dèh¦\ 5¤R\9cG£§ÎJ}Ì\91³×j\85½cSÓ/Gº\7fÐÚH\8böÆÊ}Sì/ }sÏØÔÌ«ñþ\96ºk¹\87w\ 48\9aòX\12\f~N­Ì\80Z\1eÌ(¬\0\ f7ñrr¤KpïG\1c¬ÈiTuÍ\1d×E$\9cº\fÚ\ f\9a\82×&'9Êß\ 1N'b=rîÛ\rW¬Ù\18û˹ëuÂ\9e\91\89ñá.A%$\95>\90TR\90\93JQº\81\82­GÈ?ÒòoÔ {G&'F{\85µ¥g\ eEÁéD\92Áãg°uÌ\1cào¿ÛÐ>0::Ô\ 5RåéÄp_[#®"r&\ 5º\7f\1a½\93\7fdâéËàd\a\86»\9bk hõÕtòÙÚ\81oÿµì\81°ghx°« N\95\bg\9bEÿ=ú= }\9d°{px ëYõ·µ\87\ 3\ 6\83­»ÔÉ?*)ëJeC{ßà@WSm)t1\ e\92/æ;À\7f>zÐþÞÓ¶Þ\81¾\8e\9fBíWàç2\82ç\96¸ãçË\1f¶tõõu6ß¿~öÈ.É.ñ}èçF\ fÚïýço7\1f4wöö´\vªKD\aË\92\9cÈ¡Ñ\83o\aÙ2(úpNIuc[wO§ðÁÍ_Ób\83]-uÙâ\92Ñw\82\87~ÇÂí\9d\ 3£\93Ï\­lxÑÙÕ&\80\1c6:\0è¼²¸\1f#sðàÛi aØùl?\0\8cª^ØÑÕ!|x«àøÞ\10÷\15|5y\12rB?×^\8e¥idë½m?0ª\87Ím\1d­\82Zèá×;\9bë¨Ð\88\12\1f\1eZ;\8a\ 2\87¿Ü-x7PË\9aÆ\17\1díÂG·/¥ÃB?\e+\91\1d=\94\11øË\\83c\80QU7<o{!¸_\ 6\1e~£«¥\9e*\83\84\914;8\9eAFå°6\ 2ÈUÅ£æ¶6áã\8a¢S   á¾ð¯\11$åf>\1d\9aÚ\8bÚ7½x.¨+?\7f|ïfðð\1cyÉ&)õ)Üylþ\ fïeþ\bÕÞÇñ6ûàÉV\94­'WQ"\14ÊV\8aÈ\15\15ÅE\85\16QájS¢E\85\88\12\8a²oe\19Kö1\8b\9933fÆ6b\88R×­Û_ñ|¾gf¢î\939÷¹ÏÜó3sÞçóy\7fÞ\9f×\af¦¡\17\13\fòú\11\94ÂÈØÉrÝÿA=êü*x=\9e\18\8d½\18\9fÏ¡6\97\ 3\88\8f¡ÅK\8f§%\9a\99\9byÕí\f®\80ÇìzYx'.t\9f\83¼'Vúz\94\18¿\¸]PÛÁàò8´¶JX\92\87  ì\19IZ®ßê\8e\84LÁx\ 3¬\9e\86âôÄã_\e'Oß,E¯70³Ý\1dx&9§¢\95Ê\1eàÐÛk\9e 2\83¸\91\15Õ\90\9603hdÃ\11Üu28\\8cB\86Æ\9d\f\ 6Ó/Þ¸¿¯~\19ò\8d©\95Ä7=L.§¿óeaZ\¨7\81ÆÏ\8f,¬¹Ü\8a\96>\8c\8bQ[+\1f¥\9cÅM/ß55ï\eGïPàòº\ e\ 6\87ÃìÆ\eï»\83@T\8bG\16Ö\9c\7fäå\8cç\rÝýl6½£¶\0\8d§\95|}\83\86òfÏ\91\98\94ÇUmT\8cÃêm*yp%ÊßÅÊTOC\ 6Öâß®kd\89\7f{~m;\rc3ºë\8b3.EøÁ¿Ë\1aø¿/\1e|\83jçvð$Üsä^&\9bÕ×R\9esý´8ªe¼\1dFVIM\9aµ9åÍ\14&Æìm.{x\1d\ 6\1eñÅ?à\e\r]\93M;\7f>\ eY]\ f\8dǨmU\8fSPT\13 Ão²¶¸¾\8b\81±¨¯«\9fÜ:\1f\82Â\12m99û\ 6f\ e²z\9fØôt\f£·×\16Ü>\1f\82\ 3\82¬Ò}33\ 5à\e\16Æè|Utÿâ   ?ç\7fÂ7(,ŦOÍ\ 3Óão\7f&\ 6\ 4C\1d\99{F:3\1eAhG·P\98lf/¹ìáµÓó¾\91+"( À°Ùuèôõ\9cò\16
+\8bÝßÓð<ã\12\94n³±\f@X"ÉZ@\ 4\947\99/\1aÁv\v|#÷¼\81Æ«h@Ò»úG]É*iêÅKW\9a\8dö\8cl@\98Ï\e`»ø4d;6\9bÑU_\94\ e¾q±Âÿ_¾#\8bÞn,\99X\14Õ¬¾Ö\8aÜäh\82\87èR<oÌí÷\1e\8dI\95d-¥\19â*:Ð\ 3í)\92|GV2±\8ePº»O_u2Ø\18\rú.\ 6\ 4\ 3ÙK\12ò\ 6·\9dûÁSIÙ¥d
+\8bËF\13\ f{ÊÇÉÒ\186\85\18\1f9óm^!8\9b¡¾wJÉp­l2ijVÏd3t.ñ~Q}7\93Ëeö4¾È¼\12\15àf³^\1f\8d¬<O\92e\8aªÀfv{\8eÆÞ|RÓNgã\80p?ñ\98ï\ eK#ÝÅï\91%R¾AY\v`\9a/\ 5Ӫǩ±Á\9eÛñ\91\95géñ¸\ 1®Ý\1d\18}ãQU\e\8dÍeQÈ\0\b\91\ap@\90\157K¤`
+KöFne\e\8dÃ\1f`v×\17ÝO\84\91ݲ\ eî)¹\96^\1cv6î\90\95¹\15­4ö\0\9bÚZ\81\0Á\9d\0 HÁ\14\85\95\a%ä>\8e@À¡¶Tä$G\aíÙ¶ÁPÎi     Y       T¼Å-àdÒÃò\16*\87Çe´Wç¥Ä\ 4\12\0\ 4IX\1a[îð=öëý¢\86\1eL0Ä\87{êéÝ\84c¾ÎVò.ýR|â¬\ü£®f\95\81xh{çK\1c\10\99\13ar<®ÖnØî\15rþv~]\17K02Ä¥¶ -\eèao¾V[®¥\17\aýfg¿\88Ë\ fJ\9b©\\ 1\1fëi("\f\b8ÔKMÿ¨ª½_0::Èêª+¼\13\1f\7fçfÓUÿSé\97\8a\1fÙ\7f·\1cíHØR'.e\96\80øÁAn\1f¹$óÒ   8D      \0¼é\ 3ðÖÑù±\11\1e­¹4;éôa\ f»¿\z±êeâGæ\17@ÛÑ\82ßá{übÆ\v2u`h\88Go+\7f\98t2À\95\b HM¿  ~ 1ýy\13\95'\1c\7f3\8cuÕÁ¢
+Û¿ã/\96^¬{ùò\15âgùrñ\17,&\9e¤³@üð\88\80ÙQýèFôab\80 1=\9eôw
+_õr\85\13¢1>\94>ëê©C»QéIDK\8f¤\83p\ 5EE%%eee%%E\ 5\ 5ü\ 3\1f\17ohá´ÿ\18\14\8e\8d\b\87°îº|    \10¸\86$Io·'(&%¯¦\8b=*\9a\12\8d°»êòo_\bõA¥×T%DƸtP®¤¬ªF"©««\93HjªÊð\ 1+~,_"ÞÑ'ü×ûHüèØ\b\97Òð,\8d( |=%\11Þ<¬xÍ\1c\16M¿\1d\17Ð\9bK\1f\=yh·-Q<\13kWTVQS×\©¥­\ 3\8föÊ\7fi\90TU\94\14\7f(_Òu\10\9f\18\8d\90G#¿H'
+\b_ñÆ\19F>ãE3}H4ónJÈéªÍ¿uá\17o§M&z8\19ËR\8f´+(©\904Vê¬Ò_chddd¸Ö`µ®6èWQVTÀåÿ7ñjȲÞa        ÷\8a\9a¨|áøØ`\7fkY\16a@\80°\15÷Î;4>íYC\1f\7fbæý;Ñ ½\19 #ê ûV3\80SÙ¥\aí+\14\94TÕWêê\e\9a¬7ßhai±q\83Ù:㵫uµ4IªÊ\92êÿI¼¢\1aZ2ûBãï>kìã\8dM\8c\ fc\1d\84\ 1Az\vÚï=\12\9bú¤¶\9bûfæÃì4\94¾æÉÍs!û\1c-!pe\1e%xÝ\95Õ4´W\e®3ßdc¿ÝÑÉÉa\9b­µ¥ù¿\8d\fô@¾\8a\12òþ÷ê\17\9d§\r ^41Êé®ÍK9\8b\0A_6 |=%Ý\ f\9dº\96\8e        §?||/\1a¤\91á\9c\8cô'FƸgT5uôM~Úlçä¶ÇË{¿\8f·§\87«\93½µ\85\99É\1a\90¯\ 6òÿT|`b5-\83\9fì=\83Ïß.¬§ðÆ&Ec<J}!\0\82'A@\90\9aÞ\ fL_ÒÂ\18\9eú0÷qFÈî¬~\9c\12s\14ÈØP6\19Ão(ªjh\e\98n´qÚåí\1f\14\12\1a\1e\1e\1a\1cèï³ÇÕa«¥\99±\81îJu±w¾Q\8fê\86\91Ø\9bù/{\aÆ&'ß\bhM\0\ba>\8e\e\r   ÄÍ\92e_M\1f\97\ 6Í\13LÎÎÍÍ\8a\ 4ÔÆâ\85d¼ØÈ.\85\8bL\99¤¥ojaëìé\1f\12qæ\\BBܹèȰ \ 3\8e[-×\eéë\80w¾W/\ 1z[\8f ³)yuÝܱɩ\89!FKIÆE1 Àv\97\19\14bÓÃ÷CÒ×v\ f\8c¿\9fûôÛ\8c\10k¯ÌEdl/{Q¡\9bFUSÏh\83­\8bwàñ\98Äë7ÓîÝK»\95|9>:"8`\9f\9b\83õÆukô øÈ:\vÕ\8bcÚf×áè\e\8fkº8©·¢\11Öëòì«Qþ®\ 4ãF\92ô\b«³Ë_cÂ\99¹Ï¿Ï\8aø\94z ãp_\84g2Ò\12\15^]{\8d\99õÎ}A\91q×ï>|ò´¨èYÁ£\a\17c#\83ý=]ì7\9b\19­ÖÒø^½\18¬¬ñk¤ª\93-\9c\9a\9eB~ý+q\83L¯k²i'\8e7dúðÛß>\7f\9e\9b\1e\95e'\9d"²¨\10\9aj®2±tØ{(">%«°¬¦¾©©ñeuéÓÜôÔK±'\8eü¼ÛÑz\83\89¾¶Dý¼xx3\#®è\1a©ì\0ñ3oß\fôÔIî\11\88\eÙW(Jz)Ó\17¼¢ð'?~þãÓìÄ@\ f\1c\ 6hQY\1aë-\9a\96È5$-\ 33\e7¿ð\v)Ùŵ-]\14\1a\9dFél­¯*~\9c\9e\92\18\1dvÐËÙv£)R¯¸bAé\17\#Ù\15íØèÔÌô8¿\ fÅM0Á¸ùÊô»\ f\9fI\86îqÆg?}ùcnz\98Ñ\\92y9*ÀÝf=@Ò"¥\aßAë\8c,\1c<\8fD'e\16¿ì q\ 4ÃÃC\ 2.³¯£©ºøÑ½k\17"\82|\í,@½º\8aâ\82\1f\88\1e\#\a"¯d\95¿f\8d\9b\81\90n*º\e\1fæí@,nÄLojår ârfi+stæ÷/_>Í\8eâÊK\8d\rör°0\82ËàÇ\1d\ 4ËæX·ÅÅïxBZA\r\4c\93Ó3ÓS\13£\ 26­³±òiÖÍÄSÁ¾nv\16&«W\92\94\17\8c\8fø\94Ú\84\9fRem¬Ñ·ÿá¼ÜãbÎ×8þªÐ\96¤UnQ\16¹´¹t\92{n     Që\92ËJ²h¥tJg£ä®\16±¹\9d\88]l!´\9c%\95BÒUJ7ݦ{35SÓ4׿ÖÔ\84ó|¿¿ßL3É1N\7f\9b\99\8fçûy>\9f÷C£Ö\96f'Dý\16¸\ 3èF³¸ALob\ e\r\11Bzq-£\8dÍbÔ¾Ë\88ûól ÇÚEÖãÿgQá¸2\9dhë°Ñëð\85\19EUT\ 6³µµ\85N«¥\14ç¦'=\8c\8e8\15äíæ¼hÆdóa\83õUÞ\90\14oG\8a/¯£A¹¿Iº\ 3t³NCºQ\12\82",«\9aX\1c6\93V\91ûì^Ä1\9fÍ\8a¢ú\àÀÎ\f21C'ÁÞЫ\10×\14\1a\93Ã\17\bø\1cVKc\1d¥èuJ\LdØ\ 1ï-N\v¬'\8c\ 2ãô|Q¯É\97×765Pò\9e+éæËÇ\94âÝqX\1e<\7f\a¾\84ÊdsÚ\185Ei\8fn\84íÛ\ 1E\85Fÿ9׫pi N«ú\16n»D*\95\88Úym-\8d5¥yi  ÷®\9e\ eÚýã\8a¹SÆ\8ePý"\85ç×\80ço'½©h 3hU\ 5ʸ1Õ\80nȰ\84[Ðù§}À¦\19ïê\9aÙ\\ e\93Z\9e\93\14séè\9eÍËgY\9ac<ëó\9b\94p\84/\82ä\Jc[»´³««S&\15\83|F\ 3¥ #ñnäÉ}\1e.ö¶\93È7$>ª­\96\14*£¹©¦\18Ç\8d\9b£¦q£M\84å¬\15®¾!\91\ f^\16TÓÛ¸Ü6:*ªë§aô\8b¬-L!ëû6\ eq\8bá\86>qå¯\97\ 55Í<±LÞÝÝ-ïBò9LZeazü\9d\7f\1f÷Ûêd7\8d\80\rr
+ÚýPIM_¼\1e1!Ä\1cêöú\92L\92n¾73Ñ npX\ 2dàá¡\92­ µrx\1cfC\19\1e½\8f«ã\1c«ï\86\eáUëó¤00Æ\96Gl\94þ®¡U ízÿáÃ\87÷X¾\90×J«Ì\7fõøÏð`Ï\r\ e¶ª°A°Íx\e{Èè\88Ø\94üê&fk3µüuâ×Ð\r\ eKx?(ÙíûÎÜ\ 4ßÔ·°y<rôg\ 2=\\96Ì\98d\ 6Æ\19Ð\97zmbëæÿ°#ðlT|v9­MØ!\7fÿá#!¿³CÄ\ 3\ 3æ>\8f\8d\fõww\9a\ f§\99¡b\rñ\9baªB\ f\9eZXKo\85\88¦ä&+éf°&q£æ\eÈ\eð\r\8f\8f]\9f|ïò        ¿­ÎvÓ-LÉ\86é}Q\10-1}\11\9d¤ÜJ:G$ëþð\11þ°ü®\ e\11·¹î]æ\93(²ñÐ\91¡£ÕëÍN¢7«onã°èÕùÏ¿æ\98"K\16ûÆ\13\14@ÞÐZ¹|\18}MQz\Ô¹\83^((Æ\8d\1cÒ\97z\92km\96nÚs4âþ\8b|°¼¤\93\10\8fä\83zi;»©2\ fß\a°ûÈ7ºØ\f
\9a\8f¡*>«\8cÊäp!ä
+_¢cjÓR\e\8b\91F\1aÐ\8dÒ7\907\ 1§QOÕ5CTs[!ë_<¸vz¿Çz\87YD?~¢\9e¼åà\1cò\v\ 52*®cò\91å?ö¨ï\94ðZê\8aÓ\1f]?õË6§yVæ\907Øôª    \8d6\8dÒÈ\82ç\86\7fúêáÕ\10_×e¶\9aee\8fo\96CO\ 1Z¿­ljã       ølxï¬Ä\98\88\10ÿík\97ØZ\8e\19Þ\87zôöè\96\81z>}#.³\94ÊjÇ\96ïQ/ïho£\95¿N\88\ e\ fòX³`Úw¸8µÐí¨\8bÿÛËðo\82W\19l\18\18³á]º*\9a}Y<\917h
+ë~>p.:!»¬\81É\15´óXMU\ 5iqÑ\17\8eúºÿ\80Ú}8f\13õ\83\ 2¿ýT»Õ;\83£\13_W4²\852¹R;Rß-\13\95yÉ1\17\ fí^¿ØzÜp\\9cZd»XÍSPI=\93Û\ eÙD-Íx|ýÔ¿¶:ÎÖ,è\15d\bß\ 4ÇàÉß\11\17\82öv.\93Z\91\97ò÷ÍðC>nÎ\vm&\99\ f3\1a¨®^\8b<(Ð)\ 3\15\95WEç\8a\95\96'Ôww\8ayÍ5\ 5/b#\8eîÙ\bN\1e\81\9d¬Eä3\9a×®àsÀ\83å4\96@$â³h¥\99\88+ÝWÎ\99<ÚXCñ\88É!¶\1c6y\1f¹t7ùME#\8b/\14
+8Íõ¥9Ï\1füq6ØÛÕiÁ?&\9a\81\83Be_á\94K)PÛWBüû.   ¿¥®PõÈ\03|âÔ*\ 6§],\16°heYXü*\8dÅãíA\¼`õ\8eý8êë\80PDB\ 1\eè2;9öZØ\ 1¯Í+í¬'\8c\1e\8a¸°G}ï}­g
+Tö\95\14/\15\8a^=\8c<á»\19Ö\10g¥¶¶\ e\8eØ©Ð-\ 1a8#\98<\91Dòÿ\89Ç\lf9{Å\16_hy\18\ 4\9d-\10\89Eü¶¦ê⬧@V\81\9e?:Î\9fn1ÚÄ\10©W\82!\99Õ«Üa_\1f+öõ£ê\1f\16__\843DE<ñÔp\ 2y\1d¾\88Ó¹\rp\ e\8bÿZÛ Ý\87ºCQï\82,\b+KmåÃ$À\84\8dUE@VWNîßµqÅÜiãG\19«V-âá¡æVD¿&¼.ッÄäù0ùÔ\a\91'\94¶ÑÑA\83\87p\86%óÿõÚCà)\ 6W$í\0ñÔÒL¼°+gO\1e¥¡x2êÇL\99ç\84W6µ°¦\99#\84Q\88\8d@V   1\97\7f\rðذlÎ\94qjU«\0õ\98jUûUÝóµ\ 5)\7f]>¶g\13±°\ 3úéôG\83\9f`³d=Ì*:>«\14\90HÒ!\93\bZ\e\1fýqÒßMÓ+\96ô\8dÊÊÆ :c Ä\1d\1dR\11\82´'·#B~Ùéâ0Ûj¬JÕ*Ã\86\0÷0¿^aC¦\8d²ô­\81+áÓý\ 6è\13\83\e\12\89\8a\85Î\11JeH|}qÚ\7f®\85ú¹.\9f9Q³\92Âê!ºÈ\95\ 5ª\7f\f\eÔÂ\13Á÷\ 1\17\94üWq·.\1d\87²²\9f      U«P¯\85ÄC?\0\18\12aSÛÂ\97¨ï+\12\8fr^\81[ÓÇBÎ\ fèßÿ\e\ 3cp¼½Ë®\ 3áQO\0\ 5\99|±¬S&\ 1\83\15¦B.ù\80Á\10\ 6i\80\aäèñÊ\ 2\9dýóxÄýg¹\94&X!øB©\10ÅýÛÔÇQ\17\8eùm[\ 3U\8b@\81T\ fIùíÈ  3\1c\0æ\ 1\f\8bêpبíë\a¹LÈn¬\80\86U\80.ìÌ\0]}#\88\9ay«¶î\r¹\12û<\8fÒÄ\16Â\ 5#C\8d\90ÿâ~ÄQï\8dö\9a\82\19!\1e¯ìxëEë<\82~\83{\ e¦Á\13wt"&ç¶4\94çBY\9d;âë¾zñ\fË1¤zmô\99\13g.ÇI\99\86a^=l0\1e -D\11B\9c\18\83ôtuõ\ 6\99\8c\9ed»t\83g0\1e<¼²XÖÕ%\13q\19\8b=]\887ú2\12+Ôã\96ý~îJ7?\18\a\ 2\1c<\8e®N©\10ʪìÍ\8b\877PÕ"P@\98\ 3êu´\89\98\9fåèæ\ fT\9bQòiRâ}Å1\7f\ f\ 3\8b±\81\9eî7\ 6ß\8e\187ÍÎÙÝ?4\12\r\1e\9f\8eò®\ e!»©"'ñVxÐÎ5vSá\8d4ày¥o\80\94L\89\ 4\b\87\ 4(ÁFì\82{HÒÎaÔ\95ä<\83ª=¸g\8b³\8az¢&g£3ê:Ä<\8d\ 5\97È'ûÊeT¿%¼\808\17>¨§?x¨¹å¬e\9b¼\ e\9d\8f\8eÏ$\a/\az\867Êzr3,à'x#àOÝ/_R
+õÊìÝê\1fzõA
+\14\15GØÑ%ÇêÙt\µ¿\9f öÞâ´Ð\86T\8f\17oôd¢£â²Êð\19¥Þ¯\84ås\9eÞ>\17ü3ìë¸áF\ 3õô\a\r1µ°^¸z{À©kð;ø\89áw:%ÐfÅi\b\1c\81ü5MJÅè\89ÖÛày\10\8a
+\85/_Ò)ïî\ 6õ\ 28M\8a³\92î\ 3(¨¨ÇæE\ 5»- ìæ\93¬²F\10ß\9b\ 2VC      X\1eÆé<Ïj̰Á\ 3õ\r\8c\86\8d±\9a³b³Ï\91\8bw\12³K\eÐ\vËáfÄ\ 4\97\12\98\8f²Í4\16O¦åÔùNP{0ú|bôÝH½\98Ïjª.Ê|\8aÔ{¹\92ê\aéëé\e\ e\9c«"^Ö\9b\16©-L\ 58@\96\9f\fxa``h2j¢Í\92u\1eûîÿ\9dZPMþ\8a\FdjÌ\ 5ØW%;k(\1e§%¸\0¥Àî\83çUG\ f§¨\18\83B&`N\8fú! \ 4¹wîç&\8f\\83iþÙÝK\87½6ØÛX\98\1a\e\1a\18\ e\19\81bÒÍïxĽä\9crªâ}ÑÕR\96\1d\1fu6p\a\91©ÄÉ¥©xÄØhôÎÛþËz\99\87S\99·q¼ë\9dk\9a÷\9df\12\11     \13¥PT(ÊRS\1aYçõFJ¥EËÐ2Q(\9a\16YÚ,Q\83\16"iH¢lID\84d)\84c;\1cûΡ÷þý\9eó\9cÕÌ\95Ãùg®«y:}Ï÷ùÞßûs[;û1­\1f\83St\10\81Binj\f@\1a©^D\80\8f\8f_XBn-\91ù4®ÌCjPQ"EÐòpGI\8a\bÌ\9e=GH\1c×äék\ 1Q¯ó(\rí½èß\80k\17ök\ 1\82\ 3 \eUYqòØ\9d\84õ?bëM\ e;²X?666:\8cÔ×p¨\9f/8WPä'9U\9dݨmR    ¨\1cgO\r\80M^r\84¿ó    P$'1\8f\9f\8fo®è¢\15\1a\ 6æÖ¨&³\88\9a\90\91Gûu³2ÀÁ$æ\95Õzu.ëIõ%lê\17\8a
+\v/\90\94S\85\9e\7fò\1a\96T7ë\92b¦&Ôû\9cå6-å%bBüs\ 4\84\7f\92SùÅÔò¬G\10Y\93Ø\1ex´öSf\1c`\ 4\8eü×ï×  ¬Ç©G]OX\ fê\a¸ÔËJ\89\8bIH-SÝbvÜÉ÷1y\8bL\98\1a{\8bÿj®X$*È/ $&½jý¯ûN¹ù?NÊ)­më\1e\0\8f\a\±Ýk 6ÙÈÏàL½/½\83\añ\97O¤^In±¤\94´<´ÞÑ\v·Â\92r9À\8cÞ5(5.'vé®]¶P\ 4r6_rùZ\1d³£ç½Cb3È\\8e\13\ 1\83M\1cá\87Z^\ 5.\91ÉE\9eÍz(\1c\0í4bÍ¢o\9fHýzey\99¥²+Öj\9bZ\9dó\ eåDb®ÔÈH\b\v
+\89HÈ(oÜzÀþêÝÈäܲz\1cKøv\1az´4û\ 5zÔd\93\92´èdZ\9eÓz=Ä\1da\89Ù%ä{\85\7f\80K½þ\ 6\95\95ò
+\8aë´aÑ{>\80\96õ\18A\e
+G\81HÍú\95ÒbÂó\84ŤWj\0Ô8Ýz\94\90Y\ 4GCÿ0úrÄo­5E\0\9f×QÀ\14$'×ò\Ö³\12\1f²~\ 2õf\ 6\e×­V^£¡m\ 2\ fß\873\10\18Wjü kt×ÉK-\10\11\11\93Z®ªmj   P\13\9d\9a_\ e5I|7\ró\e°ÁmWëݺ\18l&\19y\16ë\97«é\11¬Mt\19a=\97\9d¿nÖTSÛ ³í ýÕ{Qi\1fªZPÝ\8csn(ï?,·m^#')&*&)«¼Ñh¿-L+\f\14ã«Qj\0\87\81ß\10\e@Q~õ  Èe=qål=Hl\11¦=\13¨ße¤£µq³¾éA;Xõ)ù\15\89\86H\8dÑÏJ2\92\12\12\922\8a\9a\ 6»\7f¿èó\10Mk\13ùRÇF\88ÔÄ\ 4¹\9fÆü\86\8a\92\17ñ\98p\0.uv\1e»p34\1e\a\13­\11\90Ä©þò\99#{L\fõô\8dÌ\ eÙ¡æ{Oiè`L,.\10@yÀDW\es\ 3\8dU2\8b$\17ɬR×Ùaåè\1e\18\95BN+N\rî\1a"5æzÀoB<¤\86´^`\81´â\ 6#\v»+¨\12(õ°À\91A\13¨w8¶ßÌÄØÔÜÒÞ\r-5Öº!P\1e¢ð×Í\8bÇvꪯ\92[²Dn\95\9aö¶Cö\97o\87'f\17ãi%\8c\ap¦Ö\96@×ø\9c³\82Ô,\85Ô|÷\rOâ¿\99  \\ f̺eÇ\11(ã¸\8cÂêf¢\13¾p©÷»rÖúð>ó=\a\8e9\öCÝTǬ\e\8còhg\86xýaµ]G]Ia¹\82\92\9a¶±ÅIç[¡qé\1f*\1a\8cãq\ 5®©bÔ\12JÍ÷<¤f\ 6Éõp-à5x;\82\84Vl=§zÿkçm\8fYZ\1e=yî\1ar\13í´!\82nèíW\98þ<ÈÝá·íºëU\94\95U4·\18ï·vò\ e~\96\9aWV×\86¡\860\1eƵì}R¸ï¥ßwé@×ð\98\1alý·ÿ\99\r¤\v\0bE?\17Ð\1e$¬gW\1fûè¶§³£Ý)»³Î^\ 1\11ô\85Lt%¾C\9aá\ e\89\ e¼î`¹Ã@KS]s\93Þ6\vë\v\9f&ç|ªiéì§O+2\1e&;#&ØÓñ°ñFØP<¦\86ný,þù\80~\86{m\1\81Ôµ\11\8b\90S}ZlX\80ÏUç\8b\17]Ü}\1fD%\13\ f2ÄüV\16¤F\ 5º;\1e1ÿ\9f\9e¶¶®\91ÙA\9b\8b^\81\91IYEÐ4½\83#,ÆSr_EÜvµÙ£¯.\8f7\14O©Á'\15X/(.³z3lN\92Ïú\86\19\ 5Ϊ>>"ØßÛÓã\86o`xlZ\1e¥\9e\8aj\95\98Wºøèû\9eç­\ fì4Ùj¼c¯\95Ý¥\e\81O^f~¬h ö\90¡\81ªÁÆÇ>ðBû`õRà\1a\1eSCX?sÖ\1c\11)\ 5\8cƾa\89ïè\900Ω¾4/=1ú¯ {wï\ 5\87=KÊüXÙØÎ\14\8f\9a²òÃ\9b\98\90\9b\8f\1fÚ¿ÏÂÒÚÑífP$h/¯oë¦7Í8:t¨\90x0Þíä^C\r<®3yL\raý¿\7f\14¤C\82{`4\ 3»éØÂPÿ¹¬ 39.*"<<òùË7¹%5Í\18ãHç»\9a«\vß&\84Ýñp:sò\84õ)\87Kî~!QIY\1fËëZ»à9\92\98ú;¡j°ñV¦¿¬\91\15\a4\984×°ZÏà3NHàTO)ÌION\8cOHLNÏ)¬À\86\12U\89ú¯»õó§w¯¢Bü<Ü\9c.8¹^¿\15\10\16\93\92\r\8f\81v2ðð\184jiNÒc\7fW0\1e \7f>ÿ¬ïxN\r²þ_ß">#!á)\v$°«o©«üT\90\93\99\91þ6;¯\88ò¹\19Oá8I\a=ÔzJ~ú\8bÈ\90»\7fzßðñ\v\b}ú"í}qe}\eC;\9aÖ¾\8eÆ\8a\82´çA\9eg\11\ 1ÉJ\bÍæy\\99Ö3 Á'4þmQu\vcS1Ô\ föv¶6Ô\94\97\14~(øPTRñ¹\91ÚÝO\86\v\97HGSUñû´\84¨ð\87Á\ f\1e\86=\8dOÉ,(­ndÕ\8e§µ¦8ëEØ\9fÎÖ\0\11S6~\ 6'$ÜyÂr7°©ïë¢6×\7f®ª(¯¨¬©k¢\82*Æ>@aîj­+\87\½J\88yþ<.1åmnQymS;üBºvú´Rò^G\ 5\?sÈXkµ\f$\1e\19?5ñ$$hï8rîÆ\83XØTÄ9Ë<ò@ÞÈ`\7fO'µ¥©¡¡¡±¹µ½«w`x\94!\1e  ëh®-/ÎÏÎx\93ö&#;¯°¬º¡µ£\87®ý\v9­0Õq\ f}.\1cß©«&/)2gªÆ³AÂÞ\93Ħb«KB=mdh ¯§«£\9dJmïèê\ 1ßY\86\9a6:ÔßÝÞ\WUVü\11rUø\89R]×\f/\87ø\81\18óà÷õ´Õ\95BMÞ¹l\vج¸dÁ\¨\9a©\19Ï\ 2   k\88\8cY\97lêG\87\87\ 6úûz{zzûú\a\86HY¤õH}kcmMUEEeumC3µ\13ÙN>\84\8cï#vA0\827mÕe\vçñ}?sªÆ3 AJACß\1cÎY².Yf\96PO\e\1d\19\1e\1a\84ÏÐÐ0!\8b¥\90P¬ºÚ[[\9a\1a\9b\9aZÚÚ»zú\89w3N¶)\18_[òîe¸\9f\8b\rÔäÊÅ¢\ 2?LÝxƦ\12Ç\9b\8a¸©0س\ 6çË8!\7ft\ 4}FA:S;¶~\14Ǫ»«³££³«§\17Ig¾\e\5ØøgA\1e\8e¿\99Ðk\92÷åÊn=±©Ö颺|\18÷\16À\9e}féòáC£ÑÐ\7fÆÇÙ~\19ü9z-\90«>\bÕ ç«\ 1h\86\14\8c÷\85\9aÔWW\90\12!jr\1aÄcëá\9cUüÙÈÂöò\9d\88W\18\1aYö,C>Ë\87ýÿ\80zx-Ãø\ 3¯\86Fc{3\ 4
+\7f\ 4â÷p8l¼Iy©\98à4L+i=ÚT¸.·\ 3Ø\a\ 3]rÍì?\7f\88×\ 2o\856JÃï\86íס;±£\ 1¡°¿\v\18\ f5)<\15\10ϨKMÃ=6@\97\18wç×\89'_\v\99\1f\8dR\83ïÄø\90\e\80ÂZÊ$
+O\8bxF]ʬÖ29tæzÀÓ\94\
+±g¿^=ã\a\rÆ©\15\8aí>C\r\85©¡ð\ 4êQ]\8aHÉ«\113\e\9b\ 1{vRÁù§ß\84RÓHA\97«Óq³-*\18\85§^ñLñÄÌ\8a¡\99Ý\7fÊÍÿ1\©\eϳx\07j]IV|\88×Y¸\\15\17\ 3\91Í\9c\9ei¥«GuÉ7o!̬©¥£ÇýèÔ|ÄÆìeÏ£v\88|wkMaú³À«vû\fÕå\17Î\ 3\14\9e>ãéÖÃÌ.Z¡a\0{öÖ£\84Ì¢êæÉÍìß\8aG\91¯ÌOyâïrb\97\8e*¤æ\87)\13\19\87zD\97³\85Äe\947m=h\7fõn$\93\8d§*\1eÖ+\8aü˰\9b\17\8e\98j)I\8bâÔL£öÿó^æo9u}\14O2eL\86JD4H\86&¥(\r2\13Md.$B\1e\99U¦Lñ"¤2\85Ê\94!\85\fÉTJ(T$E¥Ò<Ïî\9e÷»÷9ç®ç¹Þ\1fÞû\9c{\9fý\17¬k_ë»ÖgQqÙ\15z\16f\89\83«\97oðýØÏY¨g9»\1eÄ3\96ß±rîÄ1Êr=Åë\1a\89Ö\9e\9ahµÌý@`Xô;øúêzξ\81{­*ÎN\89\8d\bòÙì8k¼¦Rß\1eâÌ\1aZ=ݳ\1aú\96öгWàëa\11Öqö\rºW`\83\97\1døkÑ´qØòâu\8d\ 4c\1c\19ù¡Ð³Káëa\11\95Õ4r\14\8fïµ 3éY\98ÿÞu\ e\96zj\ 3z\8bÛòX½p\96XÎ[ãå\eò0>-§¸\8a«oZ\ 4ô½^;åµÚÎ\1c\97´¸-O©\97ê\88¿ÞÄÊi\8bÏ\85ð\97\9f°o8\8a\87~-ýõ5!\8aº×ÑÊýÅ\7f¯X|;É\ e\9dáë5\f¦.tÛç\7f3ú}F>Ê\e\8eâ\eª\8bsRã"/\1dÙâ4{ÂÈÁø^Å®\9dºÙ®½\15TtÌm]<}C\1f%|ýUÊÕô-\80\94Я¯ÂÏ\1ft_2ÝP\83ȽÒê;téÙ\7fÈ(c«å[\8f^\8a\8cK\ 5Ó74s\12/hFH\99üüv ·Û\82)úê\8a\95\12/Õ¹;øÆpú\92\8d\aÏßE¦¯\84\8båòñ\10\ 5ß?DßðÛí:o\92.ô«tG\ 2\96Çê\91o\14ÕÆNY°~_À­\98äÌßèb¹\88Gp\90÷-ññU_O\17[3­¡r½\88Ü+\16/ÙQZ\ 6Loaïºëô\8d§ï¿\17\94×r\8a\e\146\18\ e®\1cÛ¾b\8eɨ!\106DîU\826½ÜP-S\9bU\1e¾W\1f'~Ë+«mä$\1eÃA*\86\83e\18\ e`\88\90ùx         0}\ f¸X\939+¶\1f\v~È=n\18\v\18Á\81,©°\81×\ e\92æ\84ÙN\107÷ߤå\96T7p\10ÿO8\98L
+\ e\18ñí;uï3h\84á\8c¥\9b\ e_\8c\88MÍ.æ&\9eºWâp \14ßMVq¸Á´Å\90\95á¯>ÿ,\ 2ºá"\9eٯǶ¯\9ckB\f\ e\18ñ\90\95\ 3Ôô§,tó\ e¼ýâ#· Gû\15ú5åuÄEæ^      Á\ 1%^\12ØLAUÏrþº½þa1ÉY\10ô\Ä7Ñýzvÿ\86\fÈÞ+ÊJi\19ùa(èwûÝ\88þ\0AÏ¡¥¨ý\9añþ)ݯª
+$ï\15²²C\97^rCµÍmW{\9dºö\ 4s%û\96¢-\9f\10\15rb§³µ)êW\82÷\8aÅ÷ì¯<¦mK±\16ÏX\1e\16GÄÃý\bì×¶âqK\8d6\99»rÇñ\90¨·éyÐRìÅ#Ëg"¤Ä\96Ç<Lî^qKõè7x\94±8*\16\81\rNùë§wñayºbGâ\8a½ü þKn kñà\1a´¢ÒÞ<¸\82R~â\18\92HI\89o\8f\88^sü,Ç-G(>¨a[±È5\18lÂÏ\1fr_:Ó\88Ny¢â;\81ø\11FX|d\1c\17¸a\822úæ\19\0\e´¢ å\89!%-¾\eÀ\8dÑÌe\9b}\82@|\ ek¸Á®¡\83Òc\95­\19\80\r¬(\92\96§Ä\ fÔ ÅǦr\11ß\84pøóë{À\ 6\10\94x\88\10µ<#^\88\95\1cÄ\83kÊó3><\v\vØç¶p*°A\9fîd-/>ñ­®   \85ùjg®£¢ C6(Åh\e:k°k¶8Í6æÁ5b;Ø\16:kÀ5þØ5\1a\83\88»FlQ\89¹\ 6\1a*þ!d\8d\8b-r\r®WÂâÅSR-\7f\7f|\19~ápkÖ\90µ¼¸ð\0\9dkMé¯ôw\80ò{PCñ\905b\ 33\1cò@Ãq÷/\1fÛál\r\rEe\r\92R]þ\85ĵ,\90¸E\80\80\12Î5æöÙ\ 3\e\97Ì0\ 2\94'\9e\18\91ã<F\84ç\1a\15zÒk\8dý$=5Ì5¤]\ 3\e\16Ï@;\98\81×\9f²\9c\818'Ë\v2©su²2A4L\98khñ2
+*º\93æ¹îö»ùìÃ÷\82\8aº&\ 1\8b\8fGíú5ñÉu8×\ 5(äûvïLÜ5íÚwìÚ{\80ªÞd\87õû\ 2nÅ$gý®¨k\16]<ÊI ù×\11\97\8en[imª\8dÐ\80¸k°xYEuý©\8b6ì?{çå§\1f\85\95õÍ"»\ 6ç$ì¿è°\0ï\r\8b§\eiâs%í\9aV.[â~è½×)ÙEU\r,ÄÓ9ù øøN\17[\v\ 1<\9c+ÓQtÁ²D\e\94\93\80\93 '\ fº/\9d5a\94r\7f|®¤ÅK¢\8e\1aBuÔ\95\87ñ_Øt\14\9d\93\b\86!'çY\8eUç£]qØ´Æ|è£Ät\88y\91\15k\10\f£\9c\94G\1fÏ\87xi\19ùa:\16ökv\9df\19óm°æÌÞõTNö \9f\93LRª\8dEIé\1f\16\93\94ù\eż¨âÛb\8d\8d\996\82a\1eÎ\15\87\8dìÀá\ 6Ó\16ÿuàÜ]:)E\8cyª]ñ¹¶Á\1aâ9\89ï\95
+\e´£"bS²\8bENJáv}t\15\9d+OX#Aß+bJ&l`G\89\1a6Âí\1a\11tdëò9B¬áC¼t/ùaÚf¶.\9e')¦\149)±kðv\rðv[4m\1cÆ\1a\1e>\9e¹W=Ëùëö\9cÁXV.ê½
+]\13\15êëébg¡£:\0mW>ÄKa8\18\87îõì\9d\17\1f©{\15U<Ê\1aä\1a\14òÆÐ®ü\9ck;ܯ\83\ 2\1c°½×?MTÖÜ\ 2&îá¥]\85Kd\8c©µóNØ\80  _rE\87\ 3°<\0ezâãk§`BYèª* ×\90×ÎÀ<^"T¿\ 2\1c\88*\1eY>'íÍ\83+ÿÙ¾b®Éhe9\1e¶«\ 4v\r²<T\14À|àíçÉlú\95¶ü«ð\v\876-\9di¤©\ 4\8fk\84\96G\15õ:ågQ\95è÷\8a¡,ùùí@o·\85SõÕ\aBCñã\1a\9còZ¦6Î;O`Ë\97\88\fóH<Üëûè\e~»]çMÒEû\8f'Ëw¢S~í\1e¿\e,-/\80\1d\92÷-ññUHy\e3-T¯<Y\1eÀfÐ\bÃéK6\1e8\a)\9fÅ\ 6)QØüú\9a\10\15||ÇJ¸×!ý{t\91\92\9d\ 6\ee\0\9båÛ\8e\1f\97
+)/ªåA<ê×´7÷/\1fÝê4{ÂH¥~\90ò<\ 5¥\8c\82ª®\85Ýj/\0\9b·é¬& \88/ÎI\8d\8d¸è³yÙL£\11PQ|Ü+
+Êî}\ 6i\18L]èæ\1dp+& À¦¶Idñ0_\8b²!)Ï\1fܸdú¸á\ 3ûð\1264\ e\8fBlàs1âõç\9fE"\83\r\16\ f<üéÅ\9d³û7 ¤T\94å%l(רè\98Ûºxø2A)²xAs]%\8aù[\ 1ûÖ;LÖÃpÀÇ\ e¡ëuÊ\ 24_\9f}ÈÈ/\179(A<tTÁ÷\ fÑ7é\98\97\97á#)±kú\r\199a\96ãæÃ\17Â_¡ù*rP¢\8eBKäÝ\13À²ÕvæÚ\10ó|\90\rí\1am3\9bUP¯°\0sظ\ 6Å|Y^úÛG¡'v:[O\1c\83a\9exÌ3®Ñ\a×ì=s3\9aU½Ò\1d\95û%\1e\98\8a9Æ£\ 6÷CXF^<ã\9ae\9bØ»\86\89ù¸È \9fÍ\8e³Æ\ 3SòÑQØ5òÃ(×\ 4?\8cOcå\1a\11\10\9f\ e1¯ÁKÌc×Èb׬c\#z½R4_øãã\8bÛ\81tÌó1£\90k\10Ê\8f§\óòSV¡èPö7\95\94¿3\93bÂü÷®\9bo    1Ï\a\10\83k¤)×ÀzÅ®)få\1a\9fÞ\ 5\ 3Vg\98<\1f@\8c]£¨>v2\85òï¾å±r\r\8aù2\1có'=]l1Í\93OJ
\95F\18Îà\80ò\7f·N\91G¡¾\1e«¬MqÌ\13OJ\ 6Ê\8c­\9c\1e        \8a\8ce³^iñ5¥¨£B £æN\84\87x´^å\86j\99Z;ïà`y¡ø¨\10´£x\13O\13¥\9d\8b§o([¢dF \12\81\Oòh\83Ä÷F#Ê~µçI$>\a\16 \f\11\ 6
+\16-X\846\1e«là`QÚ\90\8eJ¡x;\17\8f\13Á\ fÞ¤ü,¬¨ml\16\bþ\ fù-Ì\13\b\ 4\7f\9aêaÁ~M\80\83\85´1×Q¡r\9e¬zÆ6f6+·\1f\rº÷29ãWIU]có\1fPÿ¿ä·´U\8cD£×ÜÜÜÔP[Q\98\9d\16\1f\15zÒk\8dý$]UEÙn\9d¤\bû\86"\9b¡cL¬\1cÝ\ f\ 4Ü|\92\90\92\95_ZUÛ\80ä\vZþý\ 4ÿTÜÜÔÔÔØØØÐP__WSY\92\9f\95\12÷0ä¤\97ëüÉcÕ\aö\ 10\93$ûõ¨`!*G\1aM[°ÖëÄå{1\89i?òK*ªë\1a\1a\9b\9aÿü\11´\95+\14Ì(®¯««­­©©®®ª¬(+.ÈNOz\15\19ìëµÖa\8a\81\86R?¸Øöd¿\1e¢²K\8f¾\83\86ëYX/ß´ß/4òybjfnaiEum}Cc#\bÅj\91\8bÿ¸UqeEyyYiiIqQÑïüÜ\1fé\9f\12¢ï\ 6\1d÷tu\98j¨9¤\7f\8eíÿËn\9d>5u\85a\0×Jn\92\ 2\81\90°&\80Ä\0\ 1\13\88\80\b"»H(H\1a\14Á\ 1D\96**0Q\8bqA\91ªP1EE\14\10\81Ô\85\82¥*PKU°\b\bZQ\96V©Ê\8c\1dµË÷\9e\93¨Mdê·D;\93ç/ø½Ï<sî5lõð\vK2g9\v\16G'e\15\95\1dnlëî»565=óôÙ\8b?ÿú\eH¡VÃ\85Þ?ôÄ3O\1e?úmúá\83_\7f\99\9a\1c\1f»=Ø×ÓqºfoIvR\94¿\a\87IÇð\ 6Þ\rü#F©Vön¢àØä\9câ²êú³\17{\aFïM=|<óô÷gÏ\9f¿\0\85^-XG<1~ÿÞÝ\9fïÜ\1e¹5tóƵ+\97Ú[j+\95\85\11~îÆÁÏÃ\81êm8|ß\10IòÚ¢\9d\95µÍí]W\a\8eO=\98~ôøÉ\fÔ\ 2\ 2°\9exxðæO7ú®_ý±÷JO×Å\vmêÆ£\95»KrSãCÅ|'\rÞÀ\8f\1eA)\96\878D²*³ðó}ª\93ê\8e˽ý\83#wÆî\8fOLNNN@î\18ô\8e\8e\8e\f\ fé\88»/_üîÛ\8eö¶sgÔ-M\ruG\ eUì(ÉO\97-\ f\12ò\1c¬\8d\82\9f\87ÃcT\86-×Ýwi\8clu^ÉÎ\ 35õ­m\9dÝ?\ë\1f\18\1c\1a\1a\1eÒpûû®_\83àï{º^\8b¿nmnjl8YW{´FU]u ¢L©Ø¸.].        õ\13¸ØYÑ\8c\80×\f\a£1Ø\1c¾(02!9s½b×~ÕñSêó\1d\9d\97ºº{zzº!·óBGû7çÏ\9d=£Ö\15\1fª:¸¿¢|Ïî\9dÊÒm\8aâ\8d\ 59\19)ÒØ°ÅÂ\ 5N,K
+\8a\18ú¡\87z3\84\80Q-Y\8en^~ËVHS³7(v\94\8e\9dh<ÝÒªV«[[\9a\9bN5Ô\9f¨;~ìè\91¯ôÅ[\15%E\9b
\17ä­[\9b\99\91\96"O\94D\86ø\vùÎvÖt\12Ñ(ø\ fÌ@÷\14\v¦½\8b»(0\"KÍ*ؼE¹§â`Uõa\95Ju¸úKÀýb_ù޲ݻvè\8b³2פ§¥¦|,\97IWÆKb"C\83\ 3|\ 4\1dÓ\82\82â\rý\91Òè5»GÉt+¶\93\9b@¼$<V\9a\9c\9e\9d_X¤ØZº]©Tn/ݶEQR¼yÓÆ\rë?Ë×\15'}\94\98ða\lLtTDز\90 À\80E>Þ\1e<\17G[k\v*F0|ñZ>Ð#D\12Õ\82iÇåy\89\ 3C£ã¤«RÓ3³sróòrss 7cuÚ§\9f¤$¯\92ËtÄ¡!Á\80ìï'ö\15\16xðyó\9d9\ el&\83NÁÀh\fü\81ÕÑ\9biÊgØØsy\ 2\91\7fPhä\8a¸\95RY\92\.O\92I\13\13âã$±+\96GGE\86ë\8a\85Þ^\9e\1eî\vxnó]\9c¹\1cG\a;[\16ÓÊ\92N%¡\ 4\ 4g\1cû«é D\8c\ 2ù\1cW¾@(\ eX²tYXxDDx8\98DpÐ\12è]$öõ\ 1\1dë\8a\9d\1c\1dìílÙ,\e¦µ\15ÃÒÂ\9cF%\93P"\1eön$üëò\89$
\92Évà¸ðø\9e^\vE> "!à
+<Ýù|\bv\9d%\86ds:\8d\90É$\f%\12ð\b\823¦ýeùf\b\9e\88\91\f&ËÖÁ\89ëìâ
\92\v¼\10ü¦\98B&\910\fE\89D\ 2\ 1\8fÇ#8\9c\99Ù<\rÝhö9ÚG\13¶O@I\14\82aÅ´a±ØP\v¸Z/\ 4Ï\12\ 32\ 2º\86\ 6n\8dÜ\98ô9Úò!\1f\ 1~\8cD¦Pit:\1dh_rÉ\1að\7f\88µf­ÚøòW|0\1eà\87\a\10\89(\8a\80«Ý\ 4\ 4¿Eü.ȳýð\0p\ 1\ eÑ\ 6§ë}ïÄú\99«=\0\9e Çý×û¾\89ßÌÜYy×"SL1Å\14SL1Å\94ÿMþ\11`\0\8eßdU\rendstream\rendobj\r1094 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 397>>/Filter/FlateDecode/Height 302/Intent/RelativeColorimetric/Length 30613/Name/X/Subtype/Image/Type/XObject/Width 397>>stream\r
+H\89ì\97i<\94{\1fÆ\8f:\18ÌnvÆÌX\acÏ6\96ìk\960ÈcM\96\12åDÖ\13I\896\95"\9e¤8Q¡\93TR     -¤R\89R:H\ eJ©£Óò¼{þ÷Ü\83rÎó¼uû\9c¹Þ\8c\97ÿË÷ú]¿ßýÃ\ fb\89%\96Xb\89%\96Xb\89%\96Xb\89%\96Xb-\94$f´Ð\ fùgKâo´ÐoúG
+þ×/\81´T(á\9f\8b\eÇâÌÔ,\88¥K\7f\ 4\92\ 4\82~\85D\16\97\939-Ö\19\87Q@ $%¥¤¤E\92\92\92\84y,\1e#ßhvÎ\97Ì\8eøbp1\8b\ 2\ 2\81\92\91\91\95\13JVF\ 6%\rx,J\1a"\14KgµH\1aw\ e\ 5 !\8bÆ`±8<\10\ e\87Å\0 \8b\13Ç7\93.       wî"\99pá»!\14\10      \1c\9e(O"S\80È$y"\1e\8b\96[,8¾ß\ fp¼$¡ÊE\89\1a\17à@º\87\19\16Ò(Y4\16O$Qh\f\ 5\92\12\93©À QH\ 4\1c\ 6Â!r\82L+\7fÙÔKæ&]FVVNVVv¦p\91jA$èí\10\v\199\f\8eH¦2\98,\8e\8a\9aº\86\86ººª2\9bÉ \92\888´,Jzf8\90çeî"\9f[\11ÂC\ 4\1cTº@\180à(\11\8d\85~ïÿÓ,\v,\81De(qÔ¸Z:zú\ 6\ 6\ 6úº<Mue\96\ 2\8d\ 2\1c\bíª¹E=s\92K
+\ fB\14
+\90Àâ    Dy "\ 1?k\ 1i\ 6¾Õ\1c\v"\99Îä¨iê\18\18\9bñ-­¬¬,ù¦Ëôy\\15\96\ 2U\1e/ê*ÄÑ\98\7f\92£      »       \ 3\93©4:\9dN£RHD`\ 1Ð@>\fI)\88\ 5\85ÁRÕÔ54µ´±wrqsssq²·±05Ôáª(1(®B^ëJÌ\1c\1f³'9\1a\bº\aÁH\90©tE&\8bÍf³\94\14éP \80\ 3ÈÀB?ú\7fJ8\18R(\88\85\ 2[MÛÀÄÒÎy\85·¯  0Àßoå
+\17;+S\ 3\9e:G\91F\82\93\85°9\9fa!Z\ f8<\81\82f"Q¨txûip¹\1a`û±\84\ edÁêCÔû¿\13d\ 6\94\94,\86@f°ÕyFæ6N\1e¾\81\91QÑÑkV\87\ 5 ¼\í-Mô5U\95\18d"VN\ 6\9as\ 4¹\81Y\80\9b\1c^\ fà$§Ò@/\81sPI\b\ 2Þ~ÐòS\ 3y\92Ç¡eÀh çùó$,)i\194\9eDg©ñ\8c,ìÜV\ 6\86E­KHLJNÚ\94\18¿62$ÀÛÕ\96oÄSg+P\ 1\r\11ã\ 6\9ekhááÁ!H\87\18°9\1ce\15Uu\rMm\1d=CcSs¾\ 5ß\1cÚ}\1a\1cE
+\11\vF\ 3±=5[Rò4¦ª¶\91\85½»_pd\bJfVζm9Ù\99©?­\8f
+ñ÷t²6Ñã*+ÎÑXèw\8b4s| ÁMNc0ÙÊ \94´´y:ºz\ 6F\80\83\85µ­½£\93\93£½\8d¥\99\91\8e:\9b\83÷#çùó\ 4\ f\ 6()\8a¢²¦\ 1ßÎ]\10\1a½!eKnþ\9eÂ\ 3\aöïÛ\9d·5cS\d\90\8f«\8d\99¾¦²"\85\80\81£\85\10\1e\1fà\10äjëB\10ÌÌ-,­mì\1c\9c\Ý=½}||¼=Ý\1cmøFÚªL*\ 1\ 3z
+¡0f\ 6\ 3G¢³5ôLmÝüBc\12Ós
+
+\ f\97\95WTT\94\97\1e.ÌÏIO\8c\rõs·5Óçr\18d<\1a%\85\9c\15\bÞÿ£$
\128\ 4¹à&7·\nçàèìêîáµÒW\10\18\14\1c\1a\16\16\16¼ÊÏÓ\ 5¤\89˦Ë\83\9eB2\fh0\88T¦*ÏØÚÅ'8&1#wÏ¡\7f\9f¨>]W_W[SU^R¸3+9.\\0h詳hÈj]a\96à\85§ª¥gÌ_îà²ÂËÇÏ\1fP\b\8b\88\8c\8aY\e\17\1f\1f\1f\17\e\19\1aàålmÌSQ ãäP\92\bÝàP²\84\83Áà\80\92
+\8aÚ\98¾}_qEu]ÃÅ¦ææ¦\vçj\7f)?´;'e}¸Àm¹Ð\r\1er\83 \18¢,©hé\9bZ9¸y\vVA\97`ìºø\r\89\9b\92SÒ223ÓS7%Ä\84\ 5\9bë©3©`²\11\vC\98,\f\81ÊTÓ1±q÷\8f\88Oݶ·äø©s\97®µÞ¸uëfÛµ¦\863'Jö椬\võq²0Ð`Q   h\ 4µ.\ 4c¦dM¬\1d=üþ\15\11\1d·á§äÔ\8c\9f³srwäå\17\14äçånIÝ\18\13âëbeÈeÑ\b\88\86\ 1\92\85\95§³¹\ 6\16\8eÞÁ±IÙ»\ eW\9cnhn½Ýu¿ûA÷½Î\9b-\17ë«\8eìÙ\9a\14\13äak¢­Ì\0­\8b$\18`°Ñx²\82\8a\91¥\83\a¸>â7¥ý¼uûÎ]{\v\ f\16\1d..9RR\´/\7fkjBdà
+\ec-\ e\9d\88\91A(\f     Q² 3ÆËÝüW'dä\1d,¯9×ÜÞÙÝÓ÷´ÿi_Owg[ÓÙªâ\82Ì\84\b?g¾\9eª"\19\87 \15\bÁ\90A\13(L5]S\e7¿\90\98\8d©Y;v\15\16\95\94\95\1f¯¬:Y]]}²òXé\81\82줵!Þö¦<\90%pN!¦e¿\93\84(Y\90\193{Ï \98¤ì=GªÎ6µu>è{öbphhpà飮ö¦º\8a\83¹\9bcV¹[\ej(QðrÒ\92Hq#\84\ 1ZVIC\1fl¼Uk\12Rs
\97\1c=qòtݯ\rç\e/\hl8{ºªlÿ\8eôøp_G3\1d\15¤Ã\0É¢*©ëó\9dV\86Æ¥n?P~º±¥£»o`hä÷±±Ñ\91Ág=]­\8d5¥»2ãC½l\97i²¨Â\r\8e\1070\f"\8d¥a`éì\13²6)«à`Yå©úó\97®´´¶µ···¶\n¬­,Ùµ%1Ràl¾\b`\80dAf\ü"\12\ fWÖ_¾qïñó¡Ññ7\93\93o&F\87ú\1fÞ¾R\7f¬0;1ÂÇÁD\8b-Z\81\výtX3abq¡÷\87¯OË-,­<sþrË\8d\8e®{÷»»ïßíh¿zþÔÑÂ\9c¤(\7f\17¾®\10\ 6rw\86\10\ 6\8dÅ5´r\15DnܲûÈÉ\86\1f<\1d|519õþÃÔÛ×£¿õÝmm¨*ÊMZ#p4ÓæÐ\91\ 5\ 3ì<h²EaÊÈ+:vª¡¹­ãÞ£Þ'ýýýOz\1fvµ_®?~079:à\e\18\výî¿Õ\²\0\fÿÈĬ=e5\8d×ïô<\1f\1e\9b\9cúcúãô\87·\13/\9f=¸q±º8os´¿³9O\99ND\1a\f9hçéñ\9d|Ãã3v\1e:^{ñzG÷ãþ\17\83ÃÃÃ\83\ 3O\1ev¶4T\1dÚ\91\12\ 3`\80\9a"b\90óúyú.Y\ 2\18Æ\85Ö®Þ\81\91\89w\1f>~úôçôû7£/zn7\9d:\92\9f\1a\e\0Z\17a0$ Ó\1cGRPÑ1³÷\ e\89KË+:^×ÔÞÕÓÿÛÈèØøØèð@ïݶÆ\93Åy0\fd½~\9eDÉ"ÃÉ\8aØðóîÒ\9aÆÖ»½/^½\9e\9aþôùËç?ÿx;6ØÛÙ|¦´ -6\10qvD=K¤s´\96Ù¬X\15\93\9c{àXí¥ö»½\ 3/\7f\7fýF¸ò\9ev\vç:%\ 6\9ek$\95ì<Á\1f}P²x¦ YëÓóK~9\7f½ëñ\8bWoÞ\7füüåë\97OÓSãC}w®Ô\96\15¤­\85a@v\90r\8e@0 Ñ¦\80sÐÂÙoõFÑh?\1e\18\19\9f|7õnrüåó\877/Õ\94ä¥Dû;\81\8d\a\9d\1f\88ùJ\9a§Ùd±5\97-\aÉÚ¼½èÄÙ«\1d=\ 3#¯§>~þú\9f¯\9f?NM\f=¹s\15ÀH\a0f²\85\18;p\9a°$\862ÏÄÎ3x]jÞ¡Ê_¯v<zþrüíÔ\87÷ï^¿\1axtëR\rØxQ\ 2GSm68Ì\91óÉ:O\12ðÒ\0\e\10NVbÖÞ£g\9an>è\1f\9ex7\rÃx?1\fÃø/õU\1a\ få¾Ç¯3ÉΠ\83,3aìÛXÊ\12\95-;Ñ"©\Ñ¢Uh_DQ\8ehצ£:I¥=\95p²EdgV¢\84TÚnçÜ{_Þßÿy\9ea¤îíÅ\9d>ÏüÞÌ«g>Ïïùþ¾ÛVä\19\96$»­Ñ¦dÂrõ\9d\17\93\90\92\9dwõAu3·\17\12ȧO\1f\90ã!0Ò\93ãæ¢`Nf0D.Ëbê,¸¬­ûsA§\9e±{\ 6\86?ÿõ¯\7f\7f\e\f\12­#%\14ZXÀqVPäªÍé@\8dòú\8eîþ7ï?~$À¸\f\86{MÅ*+\89Þþ«\11½,\94§6î9t®¨äI« ï\r\98Æ\b\18¥\ 4\18\98ê\92j\1dá\ 2(Ý:{\87E¯Û\99uæÊýª&.
\1fÞ¿ÁÁ8±/iY¸§£\19\9dFr0F.k,5\ 6\81\1a\10§À3\10\18×N\1fز\82°@R­C, ¬®Í\80®ä¿ .)íHþ\8dRd{CïÞ\ fã\9e!!`\88\\96±\8d\væ\1a9y×\84Ôøë\9f\90¦\90\81\8b\82A²uð@¥ ¢\ 1\89\9c*\1a9=ýCoß¾îÃÀ\90\f\99\12¹,\88ê\10¨V"ѽýGC'¸Æ§/\7fþ9\1e\fr1\ 3[`D¨PYÚ\80\85\90'­ü\17\ 3CC\83}x\9a\ 20Èoà#\97EÕÐ5²rò\9a³\14\13]È#¼\97C\1f>\7fùòùýkr\831rNjZ Tîþ\11Ë\93÷\1e»\0çÔÑÝ708ðRÐVûðÊÉý\9b\97£hK²ø1n\88ËRRÕ¤\83\87ûÍ\8fM\ 4ѽYö\14òÈÛ\8f\9fÿñ \aC\98¦È¸\ e\9eÏ\15 º¢²\11²xÍö_O\17Þ\87xÛÓ×ÿê\85 ½®ä*:%\94\ 5\r´Õ %QÈôöcgD¨&O\81t\18¼(~ë\81\93\ 5÷*!\8f¼\1eþøéã0\80ÑPVtöW¢ôi\91ªô¡\81\ 5À÷°¶\ 4B5\e"aêatNí\82Þ¾¾^AûÓÒ¢³YÛã\17ú¹Z\eNVWB`\90éõÇΨP1­\9d½\91èæ\9c+zTÛÖõjhøÃ\87w\83\0Fùõ<´\8e¯\8b\15~[¤\ 2c\84Ü Tfö3\ 2±sº\\ÕÄîî}Ñ+è¨/¿ñ[öÎ5Q\81n¶L\9dIÊr\13)äzý13º\v\1d\13Ý\15\9bö\1dÿý\ eÖüÞ\f\ f¿\1dìå>ûãÆ¹\83;VGú£ÛRS"\1dÑqr#¡2´r\82sJØs(ÿFY]\eïyo\8f ³áñíó\87SÖ/\r\99io¢§¡"?\91\*ûÕ\b\85
\ 6\88\92µ;²Î\}XÓÊ\7f9øöÝ\9b\81^nãã[¿åìZ\e\15àfc¤£®$'MùåGþ\95\18ñ/\80\atYEä{vî\ 1\91«\80\1a\85ÅU\8dlÁóç\ 2vcåÝKÇ÷&Æ\84¡¢AÄ)r£A\88®±­«/æáço\95×wv÷½~3\ 4`4UÜ>\7f(eý\92 w\96±î\8f\10]êë\11ÿ\ 2\94 \98ï\19XNó
+\ 3j\1c>\ f®ÑÆíê\16°\9b«ï\17\9eÌØ¼\1c å\14ÂÁI\fÆß\84B¥Í0w\98\19\14µz[æ)<\8fô\ f\ eö÷ò\9a+ï^<\9a\9a\10\1d:ëG\88\8e}ý_Dæ'ÀA$**M\1f£Fü¶ÌÓ\90Ï\9bØü.\ 1§¥¶ä\1aä\8fø\85þ®8±Im\1a£¢\veÃÚÙ'<\ 6\17]È#/ú\a^õòZª\8b\v\8eïKZ&Jôïþ\13\ e\ 4\85B\99\80\ 6~)8\1c\0Π£\ 6¸Æ²Ä´£P]ëÛ¹\ 2\ 1·íiÙÍü\9cÝë\16\aͰ3ÖÓP&¹i\bwQT\ 5\ f·w\ f\8c\µe\7f.ÄÛFv÷ËW}½üV(±XoBDDzí÷\88\8eA\81p\90\96\9e\88\8d´´ô\ 4\ 2\ eq/\80QCSßÔ~FPÔ\9a\9d\aó\8aJ\9e4³ù\ 2^{Ãã;\17\8f¦müû\1c\8fÿyKä\18¡\87ë\18Z:y\85E£x{ýQm+¯çåË\1e~[Ý£kg h\b£:rðo­#\84\ 2\80\90\91\95\95C#+#3\11\83ã' \81¨\ 1\vX»Ì\9e¿|SFnAqå³\ e\9e\80×ÙXuÿrnƦ8¸%\8bÿ~K$\19ü² \8fè\9b°Ü ÞnÎ8qénųNA\ f¤Ãöú²\eX\9cÂ\1cü»¦\81c\ 1PÈÈÊÉ+(*Á(*È\ 3\1e\b\ eñ£A,À0sô\b\8dÞ\0\16~«üi\e\87Ïc7?)ù¡["Ï`\1e\8eå\11\8b©\9e¡K×íÊF<oátõ<\17t>CDOM\18Côqë ,(\14\80BN^QI\85ªª¦¦¦ªJUVR\90\93\10ï\ 2@\r\19y°=¦­[@äêíYg¯!\9dâñ9­ue7á\96\90i ["¿i\8cæ\11\88·Óý\16\94~üÒ\9dÇ\rí¼nH\87MUÅB¢[\1ahcµoÜ:\18\16@\vYyEeªÚ$\9a¦\96\96\96&MC]UEI\1eÐÀ|C¼\eÀ\ 2(\11\1aX:ûÌ\8b\ 3\9dº\\ÙØÁãsELÃÁ\8cN\93\0Ó D\17\96\99b\81\9aߺ]\aó®\95Ô4cé\10'úöøÈ\80é¶Lh\1aØmI\8d{\1e°\90\91SP¦ªÓ´tôè\f\ 6\83®§£MS§*)`h\88\9d\1a(\11R5éf\ e\1e\13R\8f\\80<ÕÆåó:FLÃ{\9ad\98\860ÞR5ô\98Ðü0jü~ç1Ú\ 6'z>Ô¾¥!³\1cL1\9d\1a·\8e\10\vE\155\9a\1eÃ\90ibjfjÂ4 ëji¨"nü\ 4¡ú\ 5    ­\86®1Ë=\10òTö¹ë¥u-\1c\9e$\9a\86\b\1d=B\96à®QÓÔ\89\11½âî¥\13û\92       \9d"\8a\93ÔØ\87q,¨\93´t\19\966,{{;[k\v\13CýÉ\b\r\19éoùÌÿw\ 1L§Ô'\eZ¹øF¬Ü\9ayúêÃ\1a¡i\88\ 4\90I\12`\1aD¼EÍ\8fi\83S\ 3\ 2\15P\83Ããv4U?¼\8aë\94\e\v\8a\93\8a¼Ì\ 4Ê80p,´õ\rM­ì¦º¸¹»»¹:9Ø\98\935¨Jr2b\17*¤S\90§´\18\16Ó¼æÆ&§\9f((®\121\8dÔ\84èP ¶¾D\98ÆXj\84.]\ f]\ 3\83Ëe· \9d:¼gC4ä)s\ 6.»cöÁÂ\18\86\ 5\9d\9aææáãç\1fàçãéîdgiL×\9eDU$Ð\10çGÀó\14MßÔaV(\98ÆÑ\8b(\81\80i@Ó\80\0\92\9e\1c7\17L\83!\11¦!J\r\bT¨kä\16Ü«¨ocsÙm\r\15÷
+r36¯Xàëjc¤\ 3L\1f\9bn1\1ce\15TÔµéÆV\ e®\1e~Ááó#"æ\87\aûyLw°bÒµÕU\14äpÛ\10ãW\80÷G½O\97Ér\ fZ¼nWNþMh\1a\\ 1\9fÝ\82L#sëª\b?\17Ì4¾\95\ 6É6¢\81ÊsNô\86\94Cù7J\9f4wp8\1dM5%EyÙ;×.\ e\9e      ñP\93 \86Ôè\83\0£¼²\9a\96>ÓÊÑÝ'xÞ¢èØ¸¸eÑ\91s\83¼Ý\1c-\99úZêÊ
+\98\89\8b\93\1c#¦aíê\1f\19¿=+¯¨´®\95+\10\9e\82id\83i\ 4º³P\1a\94\93\0Ó\18¡\86\9e1Ë-`᪭\aN\15\16W6´±9\9d-OËo_<¶7)v\9e\8f³\95¡\ ef\82\14Q0\90H©Òt\8d,\1dÝ}çDƬ\·1)1aí\8aè\88\10\1f7\a\vC=Mµ\9f\81\ 62\r¬iÌ^\8098ª­\82.^ÇXÓP\91\97\0Ó\10RC\1dÖ\99æ\1d\1e³1íè\85[eu-\9d\1cvû³ª\aWÀÂWG\ 5Ͱ7ý\8a\1aD*V\994ÙÀÜÞÍ7,jùúM;RR÷ìÞ\96´fYd¨Ït;s\ 3]\9a\b\1ab{ÿ\11\a÷Fµïdá\83\9af\8e@ØZÓ\93c%É4\bjPiú&v3\82¢ÖìÈ:{õauc;\87ÓÙ\[vóü\91´Äes½\9dpjÈL\10
+¯PÞ´è&,W\9f°Å+7îHËÌ>\94\93\95\91²e}\d\88·\vËl\8a\ eMX7Ä\87\86\14e\ 2ª}\fó©^á±Iû NU7qºº»¸­µ\98\8cðE¦¡&\11¦A|Ve\94Õ\9d\8fKÆÓm+fá\95Å\85§3·Å/
+\1cG\8d\11ã7²\9aæ\19²heÒîý\87sÏäå\9d:vpï¶\rq\v\83=\9dmM§è`uC\9cåO\8a\0\83næè\19\16\93¸÷ø¥{UMì®çÏùíõÿ¡¾Ìá^û0~¼G\18ûnìûRÆ\96¬á¨,EG!i\91PR©TRYJ**\91´\v\90(\94ìkÖÆ>3\96±\9bìêätþ}¿Ïo~\92\9c÷\W®÷\9aç\8f\99ËuÍo<óÜÏ÷þÜw   @ã\fkA\ 3;W\98tø=\10\ fQº}\98UXCî Ra4\8a`4Î\1f÷r¶6Y<\1aÈ¥8¸`0\144ô-ì]½\8f\87FÞJLy\9a\91\9e\96\14w="Øoï¶\8dk\8c\15 n \80˾T\97\92maó\ 6ë\1c½ü/ÜJÉ«hêìéëëél*\7fùø\ 6\8bA\ 3\e\rÈê¢(ÝÚ1\11þª¢±\8dB¥`£\11\87F\ 3£\ 6\18/v½Øæ\9fá\17\95VÑ2±vò8\12råvRzv^~þËg©ñ±\11AG¼¶Úýb¨¥\86\ 5\®%\e\r6\\f¸\14+Ðd\0ñRr+\9a(½ýý½TrÕ+Ö\83\ 6s4°tkdÅDø\8b\92º\96NÚÂhìÙbc¢­"#&À\83×8ì\11p\a9\8d\95\16öÛ÷\9f
+¿ù0#·°´¼¼øuvZBløéC»\9d×\9b¯"©@¤\ 2£ZƾTb âÉÍ\8fÅ\ f+ç=þ\17o\81\18ï(ô\81Á¾®ÖÚBÖ\83ƼïÎ#üLtbæ\9bêw\1d´.j[#F\r\14¨ k(\10\85ù\98£\81¹\14\ 1×ÏÉÃ/ôZBznIU]CýÛ\8a79iñ1ç\ 3\ e¸m¶^\r\10\97\12e\8eÆR\88\ 1Û`^
+@\97\89\8d\8bw@8Æ\f*}ph §£¡$\e q\b ¡Ë\84\ 6+\88ñÓ\17\84k\9bÚnÝwòÒÝ´¼òÆ6j\17ôØÚâìä\9b\17ü÷ºØ®ÖQ\95\15\17äa2\1c=\81¹\94Îê\rÛ|NFÜIyQ\ÓÔÒÖÖÜPU\98\9d\12\17\15z\1cÃ\86\96ª¬\84\10Rp)Î\ 1Ó\82\9d\13Ïtf°\91S°õü*2­ohx\88NyW\91ûøF\18\8bAc\1eáÈx×:z\1c\r\8b}\94]\×Bé7¡®\11\15rØ}ÓZCM%)\11\9cáè\10¸\ 5°YrØu($:!\13âp;ÈGim¬,ÈztûR\10\18\95­ÙJ\r\ 5IôÌ\928\ 4Ó¤Ð`H+i\1aX:¸ù\ 6GÆAÏhîê\1f\1e\1d\1eèj©^\ 4\rd±¬ \ 6\13áb2jzæö;\ e\ 6_\8dÏ(¨&wv÷tS[ëJ^<¾\15\1e°Ïu\83¹\9eº\9c\ 4\93á¸;HÈ#lz\1e;\7f#ùEi}[\17½¿\9fNk«/ËOO\8c     óß·m£¥\81¦\92´(N\9a\1f¿mÐb\19'"\86¼º®©\8d³çÑÐkà°o[»\aG\19£C=m\vÐСÁ\ 2\ 4ÿi\1e\ 1J$c\e\97½\ 1áP5Ê\eÛ»z¡È\92«\v2\13¯\9dõóp´BÍ\8fÉpXh\94$\15Ñç½OFÜ}òª\8a\e\1a\19\19ê£5¿-Êy|çr ï®ÍVÆ\bû¸·ýðMc]\87À'$.«B2´Ü¸Ý'àâM4Óí½C\8c±÷Ã}\9d\r¥84ÌY
+\1al¨ÂÁM×Xµf\13T\8dëIð\9bZi½}ô®ö\86²ÜÔ»\97N\1fØ\ 1Ío¹\82$
+Gì?\83=\80x\b2ë·í\ f\8c¼\9fù¦¶µg\9016Æ\18êí@Ô\8f\8f:ëçélkú\15h~ø\9eA\v\ e\ 2/2©\15+Íl\9d=\ e\87DÞK\83[ÔÙ726>6:@#W@Ó\b;º{Ó\1a}u\16\82\ 6\ ed¼j\ 4\a\9fj¦bq½ùmaÖÃëa\10o\81áj²â\10Ø9ØÙ\91\18"Ào3»\1d¾ÁQ\89YÅõ\1dô\91ñÉÉqÆ\0­¹æÍ3ì        \97õfºj\7f#\ 6Û\9f׿Ù2\ 6\f\ 1\11I\ 5u]\93u\9b\ 4\\88}\90        û¦\r0Æ''Þ\ fu\ 34Òî\84\9fØãle¸BA\ 2 Á\12\bÇ¢ªõ\96½' !æ¢"Û?Ð\ f\125¿àC»\80á$e\f\ 1\1cË0¯\96VÑ5ß\bYøÚÃìÒFJ?crzzjl\18¼º\18Ú      D°­ób|\87\19̳ÿÏâõ?+Â6¯\ 5¿0QNUÛh\8d½ë\9e£g®ÞK\85\86ÔÖ3469=5>Bo¯+̸\7få´\8f«­\89\96\92¤0\8bÔ¾\85ª¡¡oéà~$4&)»¤¾½»\7f\10ÊS[]IN20Üg\9b\9d\85>V6¸9988Q²UEb\1c>\e\93\94SÖD\1dx?53;=1ÒÛ^_\92\83\89á²\1eò0TE\94¦\16\9f\ 2.\ 4°\a\86\8c}\19\ e\7fÎ+ò\ f»Å´XÆÅÍ/$.£L2øeÃ\16\8fC\81\117\93\9e½®l¢ô\8dNLÏLO2ú)\8d\1fD\87øî´7ÓQ\91\16ác\11hàU\83Y\1c\1f\bD>UÓ\82òú \9dÚ\8c1<ô¨§³\r\93\ 1¼\ 4NN®oÄxG\e\1c\9b\9a\9d\9d\99\18¥·×\17g'Å\86\1d÷Úbc\ 2Ì\17åçÆ\9aâWÿ\fW\ 2T\0Uá»`Á\e\a\aÒä\8b \7f½WfÁààâ\ 6x\ 30ôÍm\9dÜ\ f\9e<\1f\93ð4·´\ e²\14läÃìÔØ`\17¹üerì9?w\aË\95ê²p)8Xʧ\88\98OíA>\95\8eB\87|4ØÓÑX\9e\97vïJ\90¯\e2*,«\12¸À!D\91MÙc6\85&\ 3\17\ 3&£¶(ëAL¨ßnÇu\86\9a\8a\80|Â"1\98g     J\80\ e\\ 4n\1e\1e^lñðp\13\b\H\91\7fÐãk-Ĥ\155ôL­7ïôñ?\17\15\97\9aSTMF\831óñ·\8f3\13Ã=-Õù©·/ú{9­3X./!È2Ð@U\ 3÷©MîX\9e*mèè\1d\1ae\8c\ft·b\10¸\beÃÎ\ 2j\1cQ\98\9f\87@ÀÄ\0\80ïô\r\89~\0Ì@65;;=>ÜÓZS\90\11\7f5Ø×íWK}\ry¨&\8bø\8d\9f%H\ 1Bðò\v\b
+                       \vÃ\8b \0?\1f/(\ 2\820õø¾\1c\8b´\90RP×1^ç°ÝûØ\99È;ÉÏ\v*\eÛ\81\18Ó\1f>}úíÃ\14Ìhí\9bô¸Ë§ömµ1&)\12±\8d°\82\18\143OÅãíé=c¸\8fJ®~\9d\91\10\8dª\8d     2*!>\1en^~\11\14mÁÔ\82®&d\157t\ 2Àgf0s¨ÌO»{é\94\8fë\ 63]\84\f¸\90\vbàvÏÁEàáã\17\14\16\11\13\97 JÂ"JH\88\89\8a\b\v
+ðñ.ÖãO\eý¢\85 h¡¦md       ðö\v¾t+)óUyC[×\0cröÓÜïs\1f§ß\ fP\1a\8a³\12¢\82\ fn·[­­,\ 5ÐX\92òùã×·yêNZ~%\99Ö?\8aW\aT6.\a\1etsXc ©$%
+GÆ+ "¥D2±uõ9}å~fa]\aØÃÔÔ\ 4ÂfÙ\8bä\eç\8fy9Y\19\91\94Ð\11|åR¸\16\9c \85\80\90¨¸¤´¬\9c\82¢\12,E\ 5yY\19)I    1\11!\ 1~¤Ç_\8d\a\9e£@\vQIy5-\80·\8bçáÀðØÄô¼²:ÀÜÈÄÌos\9f?ÿþiv|\88ÖT\96\93\14\13zdׯ\16zj28¼þ\ f\87ûo×"\9fÚíwîú£\9cRf}\1ag\f\82Q\15=Oºqá\84·ë\ 6s=uy¢°\0\1f\1f$|L9ï\80\88»O\vÞ¶õ\ e\8fAÏ@\81²èYb4\14ßï¸\14\1eI9¹yA
+¢´\9c¢\8a\9aÆ
+M\92\96\16\89¤¹\]MYQ^V\8a(\ ezÀè1ÇãÛé\98\17\93\17i¡J2°Xïìî{êÂõø'/Kj\9b©ôáñé\8fs\9fÿøãóÜ\87É\91\9eæÊ¼\94\9bç\8fy:®]¥Á:µoÁ§TQ\91;\18t5>³°\16\1dðÄÄøh?\8d\õ:#>úì\11\ f'kc-\15\19q¸¾\ 2"Dùå\ 6k\9d¼ü/ÞNͯjî\1ed`ÂAÕzrï2¸\14\ 4[\15\19Qt\ 2?/\fÆüµ\16\91\90\96WV×ÔÖ[ehlbjjbld ¯§CZ®¦¬ +M\14\13\11Dãñ\1d9\98ß@\80²G\94SÑ\efãè¶? ,ú>À»\86\ f\8fM}\98û/õeþ\ fåÞ\87ñW\9dzêi\17²Ë:ö]ö%û\12!k²\95­B\9d\10*i¡\14åÔ¡\12\9d¨(IÖ\8e¥\88dß²\rÆ6vÂ0¶RZ\9eÏ÷\9e\19\1f\90ûçyݯ¹¿×÷ºÞ×õaþÓ§\8fsÓãC]\8d¥9Iw.\9ftµÐ\91\17á\ 2h¬[1Рæ\94¨\82®\85ËÉË\90Soß\11z\87GÇÇF\ 6ºðÕ\85\99\89·C\ 3\8eØ\1aï\96\15æfa Û\ 6çÉ)@±ÑÍ\87\99Eµ­Ä\81áá\ 1bkmQæ£È`o¨0\94\1eµ{Ê\11,jAÇÈÂÉ+(&%§¤¦¡­«§¯¯¯§£¥¡¦¬°KZ\D\80\8f\8b\83\95\89\ 1ÙãW9\90\83aqB©eç\11\96VÖ6±uó>\17~çQjÞÛZ|gßð8y\ 6´øüyþÃÌÄ0\11_ñòYlØ©Ã6úJb<¬ð_VÆìûa÷Éj`\aü ½°º\85\b  \8d\r÷aA\15wó¢·3,9I\1c'3=\1d\1d=\13\a\ e\86Æ\ 1ÔmÓ
+ªð]}\83\83}]ÍU\ 5©q\11A^öÆêÒ\ 2\9c; O®]f\fì$\ 1½ü"RòªZúF¦æ\96Ö66ÖV\96ûL\8d\ru5Õ\95å¤Å\85q<;Á\1eÛ)r v,ªA\91sãV\ 6\16T¤4\8c\10¼¯Ü\82µ÷\ 6\8aT/U\8b\85\85\85O\1fg'ß÷¶V¿N\8b\8b8ëyÀHU\92\1f\16ÏJ\99}XNÁ\92\97\Ê©¦Î\81÷ãhÍö@Pe'Å\84\az9\98bcc\aývú\1dì|P§l`#b\99ÖÑÓßßÓÞX\8e.ãé#6\ 6\90RØ÷¯Yf\f\14÷0\ f\ 4Äw©h\19\9aZ\1dptvu?|ø°»«³\93ý~K3c}mu%9)QA>.v$Ç&`\a2\aM\rJJm\ 2\8aȪbÀ\b\86µG)Rs Å\97/_>ÏÏM\8dõ\13êÞd>üûÂ\9f\8e&»eVÒì£äÔæí,<\94\9cºDÉ©¾\91ñ\89IÒè\0Üø×\19\8f¢.ù¹Û\18ªÂØ`a¤gØÁÆ\v¿µtõ\v\8dNÊ)­'t÷öv·½+\81\98\ eõsµDÝ\9eeû¦õË\8cA¹Õ¬\\82\12òêz&Ö\ e®\1eÇ}ü\ 2N\9d>\15àç{Âë¨ÛA;\esc}-U\ 5\19q!$\a\ 3Ý\96M\989VS\14¥yk;\13'N\AÓ\18\16FPxt\ 2\ 2F+Z{Ós\1fA\8b¯_¿,|ú0=>ØÙP\92ýøö%_gsm9a®\953û~Î)Ø}ЧZ`=L\92'I#\10Tey)ÿD\9c;Na8\a3##\13\e·ð.­}\87¼\83£\12_\14×¶t\12\89\9d-µÅ/\12£\96­Þ?~\88\188È-\0~\1c$\8c¡¹\9d«\97ïéó!¡WÃÂî\86\18tÚÏÛëð!{k³=:»\95d%@\ e6&úm\9b7@Ï¥ª±\8aö\ e\16.A)e\1d3û£`\8cûÉÿ\16Uakoj\96¢\ 5¨ñù#@£»¹</ùîÕ\0w+=EQ\9eåWã÷~~Ì©ý\90=1ÉyPX¡·\93É\93cCÄÖ\9a7/\1eÃØ8bk¤.#ÄÍμ\83\89\8dK\b\bî\80\b\9eQXÝÜÞÝÝ\81¯\ 1~ÃÊpú5\18\80\84áà\13\83©féxÔ'0$ìFTtLì½Ø\98èÛ\91\7f\85\87\ 6\a\ 5øx¹;ÙZ\18ëi(É\8a\vñr²2ÒmÙø_ª\1a«\96Äà\16\92VÕ·pò\ 2b<L}YR×Ò=\b!õaþ3hñí\eXc\1e \ 1³¯àù?×\ 3=l\rU 4ÑæY1ÐXÚ}æÎ>!Q   /ÞÔ\11zGHä©©\89Ñ\81Φ\8aüÔxÄp\v=%        \1c\10\96\99\8dK@J\r#øýÔü\8aƶÎÎöf4ùn\9e?î°W\9dº³~\18\19`=8GVnaY5\ 3K'Oÿ\va\911ñ  IÉ)))Ï\9e>N\88¿\17\1d\19q5ø¬ÿ\89£Îv\96{õv+Ê\88á¸Ù\99è·BT­ýc\99\18¬ÜB2ð\92CÇÏ\86E'fä\97×\13z\86Ç©Æø\ 6Ï×\85OsäÑ>BmQÆ\83\eç\8eÁß\91Æ­(h,æ\94Ìî½ö^Aè\84+ñÝCãäéi2i¤\97ð\ e\19Oû½\1ar¢|\9cl¬l\8Ie 8Fû²úÖ\8e\ eBSÕëtôõhôò³/ë/\14±é í%\95u÷9z\ 4\ 4GD?HJËÊÉ{\95ÿêenvVzJRBÜݨ\88Ð\v§}<]ì-\8duÕä%\85x9\98\91\1aÿ¡ª±ä\f\19UL\8cp\10£ ¼\ 1Z8ijnþóÂW\8a\18_\104\ 6:êßBj\ 6{£Ù'\84\15"Æâîã\93PÖ·v\ f¸\82°ÜÐÑ?:953=96Ø\8d\a\86?\8c\f9éjm "%ÄÃÉÎÁ\85\13WÒ³ró¿r÷iNI\1d\9eÐÞÖX¹(\86ä/b ×Ó³ò\88Èi\9aØ\1dñ\v¾\11\9b\98\9a\9dÿ¦´¼²ª²¢¼´¸ðUnVÚÓ\84ûÑ7Ã\82\ 3}=]ìÌ÷h*É\88ðq²0 5(\9d
+\152\08óNA)\15=s§cg®ÞIHÏ/£8\83&Æ÷oß\104H0ûÊr\93¢Q\9f Ì>(Ú+F\fìê2s    Ëií;xââß@\82\9aÖ\1eàâÌÌÔÄû¾öúÒÜg÷®\a\1ds4ÓV\10\17àÞÉÉ\r\95FÇÂÅ\17U¯â\9aæ6B+&\ 6\8a)p\ 6n\99\18`¼µÈx0NT\f¬\¼ÏGÄ>ÉxU\QÛÐ\8coiÁ75¼«©,+.ÈÍJMz\10\13y-$ÐçèA\e\13]Õ]bü;Yè·n\OQ\83Zm\998ø%\14µMí\8f\ 6\\8a\8c\7f\9eû¶\161\83L\8b©ï(§æg'F\88øÊWK³oE\11\1cîîº\r[\199p\88\ 4\1eg®ÝCS£\v>rzf\86<>Dl©)ÊJ¼\1dê\7fx¿\91ú.Q\1c\ f7\8f\80¸¼6V§\12²\8aª\9b\90\18\fÔìQH/c\ 6\15IÌÜÂr\9a¦\ e^g¢\1f\97Ö6µut\13{z\88Ý\9dímøÆºª²7ùÙéÉ\8fb#Ã/\9e:îf·O_\rÔ\80\91¹eÃ:\fâ«W¯Y\võ\98\91\8dWd\97ú\1ek\17ïs×c\9ed\15VB\9bz?1\8d\ 1\9c\1c\19\9b}©÷\81à\aöP      ¾v\85\10\9c\12$\9béYyÅ\14u-ajÜ\82ÆZG@\1f93;=    \fo,\7fõ<îÆù\13\87,ôT¤Ep|ü\82âòZfN\7f^@&ªjl%´6U\17e%DB\9b2Õø©MQË\1a\16\82V®'C"\1f¤Á:héì\19\18\1a\81gxp \8fØEhi¬«,y\9d\9b\99ü(ææ\95 ß#\ e\16\ 6 ;\1f\a\13Ýf,¨àÁ \ 19% ©¤cæà\11p92>eÉ\1a\90S Æw\ 4\rÊì[$øONýÝ\1fìònÜÆ´S\b¦\86ñ ¿â¨\b\9f\9a\99\9d\99"\r÷´Õ\16ÿûänØ\19\ f{\13-E)\11AAa       \ 5-SÊ()¨lh%´5A\ 1N¼EÛ\19?\10sy=ð\f¼\16\9b\9c󶮥«\7fd\8c41999A\1a\e\1d\19ìïé$àë«K\vó2\9eÆß¹vÑßÃÉÂ@MV\84\97\8dqÛÆõk×`b \82¼\8d\91\8dGDVÍÐ
+õ©;    Ð§\1a\ 3kPs
+\96\ 6\8dàÿÿrüîϪũ!\ 1%ÉÝ\1f\10\9e]Rß\ e\b\9f\9e\9d\9d!\8f\rv5W\16¤#\86»Ù\18i(H\89\89\8aI+j\99b²¥åW 1\9ak¡r!bZÐ\88I\13\83V\9cE±â\1c\1cù0ãuUs×À{\12\19^\ e¯\9f\9e"O\90@\8f>bGKCMéë\9cÔÄ\98\e!\ 1\9e\8eæàB!.\16ZPѬÁÄÉ/.¯ilëæs!"6  f_3l¢I\9a50\82O\93\86:\eJÿÇ}¹ÿC\9dïq|O÷ÓÖé袭սlK7%\95.J\89.\14QmQIE¥-º(\1d¹µ]Ø\92K¥¤u[\11\12Jîr\19×0ã:3f\18\ 6\83Á¸Í0aÛ÷çóý\ e\93í\9cÇ9?íÎùü\ 1_ãóú¼^¯ç+6\18\1e\87ÙðÇñ×?\83¹®¬¶UßÔÊÑÝÿuJ~y5@c·°»\13:\9c\84\ e¿o\7fá¸Ñ\ e\8dµ«TTT×kí=ú#Æàl\10\83Q^D\89\7f\89\1aó\80κÏ\1as\bÕð¤¼û44\8eBe¢\b\14\8azáôô\88àO´\vZ\9ayu\9cÊ
+Z^Fbt\88¯ûÍ«g\8fèk­[®8Kþ\9f\13°5p\85CkL\9d1w1\ 4\15t¸ÍM\8f_Âã2\v+8¼ÖN!¶\ 6ä\14©6^U   àÔã[\97O\18nSS\9a;]¦ÄÀY2I\1eUø®Cgl]\9e¾\8c\ 3º\85\17×Õ-$:\1c:!øñ][Ë#\ 6:\1aêjjk7i\e`1"\12A\f\82\ 6µ"Õ\98\92\90Æp@¦Ô\9e#(×"\93óʪñí\89ûÐù(\16÷ö =Úø\8d GYaVÊ\9b\aÎ\97-\ eénY­<\7f\ 6\ 2*d\r\0*\14TJ+\11Þ\9e³½ó((*9§\180\1cµ\ 6\99S\b§xU¥Ùñ/\9fܱ9e4Ì©\7fýó7I\85Ï_\ 2È\8aÂ$0ú=A·È\1a\82fneqvR¤¿çÍ+§\8dõu¶lܰQs§¡éy{B\f:±ú¢0Û\ 2NI\854\ 2[\84Íó\94×`\16~øëÛ\8c"&º<à\9fþ\ 18ýýH\90^\91\100\9aÏãVÑ©9©oB\9eÝw°63ÒÙ°\ 2Y\ 3Z\ 3Ó-\ eª\89
+\v\94U5vî7³²¿ç\13\1a\9b^\0Ö\0 \12÷\r\8a!\0¶ÍI\b{z÷ªùþík\95ç}#7AvÄ\18¬pxÀ\1aºÆP³ÏÂâ³\8aYuüö.¡°\e\86^\ 4AåëæxñÔa\83\9dZ[·ië\1d<aå\80ª>\87Fg±\99e\9f58\99\vx¬¡Å\87Xj\a¤\94\8b\ f¢æª\ 6h\1zÈè`=>"{\80\1cÍõ\1c\ 6-'%:ØÛ庥É\1eM5åy3&# "\87\1fQ\e³\16-]³E÷\90Å\95\9f<\ 3 ´\0ÃÑðëë\97\16\ 3\86\ 6\12ã\80öÚ%H\8cq2$\86\ 4@\17,S×6:qé&\1a\10ðâ\1aÛ:»\85BÔáUeùïß¼xòó\r«SÆ\86z»vé\19\1a[\rr\87ÔÉ)f°«X\15 V(Ê\85ýÚë\96\f\96Æà\84ùn¥\86\9eÉ\8fön~PF\155M\82nâêàHé\ 1r\bø\r \ 6v¡ó¥\93ûuÖ/_¤0uÒøAeQmüc
+æÛí\ 6ÇÎÛÝ\ 38Ë,bÖ\12Vûÿ\10\83¬p9L·z&çìîù\86'd\ fZ\ 3:\1c\82*'9*è±\8b\9d\95ùÑ\83\86û\8c\ e\1d·¼zË+àuJ^     ³\8aSÅ(ÎI\8cðýùúÙC¸4H²Ç)õµÜô¹Jj[\r\8e_¼é\ 5\v\ 6R\8aß\81\13yH=ú>ö\8aº¡ 8ôÂ\8cw¡>®`\r½Í«\16ÏF6#\94\1d\99ó\95T7ï>dasûѯèÕÔ4
+\88Ò\90\8e©\97R1%C\9dAVøøIS\15Èm\ 6á\1e\93\86¬Ñ\8a¬\81\83\8aA¥$¼ò\7fxÇîâ\19³£&G\8e\9f\ 6Ò\87«È/cqj8¬²üT¢4öl^õÝlyò5\83Æ\7f\9f8\19椺Î\ 1ó«w\9f\84Æg\95°\e\88\9bû4\\ eqO7v!\14P\80\87\93õñ}ÛÖÀUb\9b\9180\12\95\9bÜôÙ\8a\83\85/:{\0øå\ 1øµ\11\9fü\r\89ÑE\14xèP\81Ë\12M\11ÿ& Êäoæ*­FÃï3k\88PP5TW\14\85ûyݵ¿rþ\8c¹ÅY«kÎn\0úé\ 5åì\1anm\15<ç·@ö\97Ìö!\98\80×\ 19`T6î>liwïù«ä¼rN#J©\81ߤĠô Ô\104Õ2©\99°ZîØ\98\1fÐQ_¶`æ\94\89Cl6b\14XmÒ4\85\85K×j\19\98^pxà\87\a*¯U"\ 6BÛÖ\ 6vIÖ»A´\9d#Shû\15Î)D·ÓÐðÓ9p
+[\ 3\ 1\15Ú\1a"\91\10\88ª\8e\r%\1d\eæ÷ÐÕéú\95\8bÖ\97m\1d]\1eú\85ÇS\8aèÕÜúº\1a&-+\1e\ 5\ 3,\rõ¥ø\ 2\91\18#I°Uݲ÷Ø\ 5G\8fÀè´B\ 6°\94P:¥\86ä\18\18è\13\8b`²U\95æ¢Ì\ 3PÞ½q\ 5\94\86\ 4\94ñ\9b\19\r?\13ÊmÉ\9amúÇ@\f@\88ÜÒ!1\ 6ú?\8a:[êY´Ì·\ 4Oh®^,ñé\9f}Çÿõ!évò\8cyJ«5÷\1cÁ­\11\9fE\ 3\84\17\805D¸6X¥yïcÃü½Ýn;ݸaïìâá\13\8c0\9fYSÏkà²Ëò\92_=¿ogi¼{\93
+º@\80Û\91#¤Áöò­Ç/b)4V}\vÁRÃÅø\84¯\12\12¿©¦âCêkÿ\aöÃA\99\10\19°OÉáÒ6(\86XÔÁç2\vÓb\ 2=\1c/\1cE¡)õ\ 1\19\9b\ 3k¬ ­\11\ 4[\ 3Ò\18Y£G\ 4µÑX[Y\ 2jD\ 4=órsuq½ïù40ü]Ú\8726\97×ÔXÏ¡\17¤E\az8Y\1dÛ»E\15\1e#J\86\91À¢h¾,X\86ÀÖÖ\15À6§\94¼¸ßþ(\ 6R£O,DwY\94\1e\13èédeJ|Kò°É\ 6\9f '\8f:Cg?¾À¨Ô|\84}\121úz\85íHÍ\94È_Ün\9c\93¼\f\89µdäüÁ\1a°5â(4&·   ¬Ñ\83ÔháÕ0\8bóÒâ^\87øûx?zôÄ70,&)\8bJçÔ7ñ\9b\954Ê»\17\10Ó'\8d´\88\9d5nô¨\91¨2¦)(ªlÒ59wÃÍ/2å\ 3\80m»°÷\v)\85Õ@\ f\e\92:\942ßÏ\91\9fôõ\90\18hiL\81\1f\89hêôµ;Þ/Þ¦\172j\11,#1\ 6Pe´ñª!çÂ\9f¹Ú\9eþaÇúe\92Ì\94!1¤¬\81\81êÒMÏ\80¨\94¼²ª\86\16d\8d\1eQW;R£$?#ñMDHP@@PHDLbÆ\87R\16·\91ßÚÒTÏ.ÍI\f÷\91¾\801£`¤\11\95¡©ojåä\19\14ó\ 5°ýÜ\1ap\99\9d­(òc1\rà    )/5!áÁ\801f-Z¾nû>Ó\vö÷\890­ããÑ70@\8aÉ"\1eÆ\95\93FÛÉ\99\81ØøÏ¾áÿáH¬\81\81JÏØòºëÓP\18TðêÚ:Á\1a¤\1a\95¥\ 5Y©ño¢^½\8a\8c\8eMJÏ¥1ª\e\9a[\ 5m|\1e\a\ 5½\1fD\83\89®\86\8a¢Â4(\8dÑ£peÌE\95q\12*#ä\1d¥\18À¶óߤ\14RC"\ 6åKb\903cÚ·ó\95WoÖ\85\99q\v²4\15*\ 3¾  \ 2÷#:\86\94\95D¦©>r\96¬Á\14:RÖP×64³vr÷\8fLÊ-a×óÛ»E½½\84\1aµ¬rj\1eå}RBBBò{J\1eµ\82Ímj\15t´·\ 2\90\16¥¿        òt¶\86\eP%npÌh\bøÉ3æÃÊ8hqÍe°2 Q¾¬\ 5!\ 6\ 1CÁDL\ru\ 6z-£Ç¡\90\9a»xåF\1d#3+\a7ß°¸L*N©\9e\8f\18\blyÕe¹I\11¾÷þ\85aBQöúû+ik|¿JC÷ð\99kwQ \17 ¼\ 5k\90j4r«\18¥EùÙ\94LJvn\ 1­\82UËk\11ttv
+øõ¬b`{ïÛ8\e\88Ò\183f,ô÷·\v\97\85WFdJþ\7f¬\8cO$\99ÖUR3@W\à° §a1F\10\85\ 1¿o¶âru-\83£ç®»x\aǤæã$\15¢Ê \8cÁçVâ\9drÛæÔ°\9d"K\87øo\ 1â\17.]§\ 5\89ìàö<"\81Ä[Q¯XÜ\vj´6ÕsXôÒbjQ\11µ¸\8cÁ®mà\v:»º»:ð{\1cÖ\9a\8cÅý½RCïÈy\a÷\0¼2 Þ¿\b\83\ 5\ e4Å(L\8b\ epw8\7f\14Ð\16^6Âä\11#paL\84ÂX¸t\8dæ\9eçm~òò\8fL̦1Á\18]=(¥úûp}sÊóS£üÝ\1d!¥¶\ e\rPY\13\ 3[c\82Üô9\8bWnÚõ\839\11ÉäËë\11#5º; \1dê8ìJ\ 6\9dÎ`²«¹¼æ¶\8en!¬Â¶¦\1aú\87\94×Ò<9~ÜXHx<ùôM­\9d½~ç¾Ì£±Þö0~ÖºwÝS\91Ù\91¡\12\1aÌ\89\12\1aLQ"uP\86¢"®©(CB%R¦\ 6ÉX*R\86L\95êUQQ$\94\bE\86\10\91ù-\99Z÷»÷þy9\8aÖùë®÷ìÿz×òÒ~öó|\9e'!+ïU\rZ\19CS\8b\ 1Õ¶§\9d4ÓSÞðM0ú\ 4Q3E\9b\ 5µZ\ e^AQ\0\86®\89µË±3±)÷òJñ0EÆ\803\84\8cÑ\Söì^2T  ;³±\94Â)÷ÿ¾Þ¿y\10!á-ó\b\88H)jl¶Øë\1d\1c\93\8c\18ÞØÖÕ\aÖ\18\1aü6𥯧³½µ¥©±¡¡ñCÓǶ\8e.Òµè=ãë\0\96\86<Jz\96\993f²pðÍ\17_¡i\80'\1fá7^\19\ 3f\ 2½»­\ 12\1fyÌnB1û\17\817\8fÀ\ 2qù5\e¶Z:\1f      \89IÌzüâ\rf\1a2ÆÈÈðàWl\8câÜ\9bñç|\ fX\19j)IS?ÎlÆ\18\e¸¬\1chS­BõÖ7\14\18^X^Û\8cÿ¿CCC\83pí}Ý\9d\1d\9fÚZ[[ÛÚ;:{úè8Á¾ô\ 2v_C¡\f?îbe    éÀÇÉ:kÆ,R¦´\8c¬ÝOF%Ó
+*êZ»èS#ã;\ 6ðǺò\ 2ZRÔIwë­¨\99òs\ 1\8dj2\81·\9c\8a¶Áν^\81\91    7s\9e\97×4}êêÿ:\88\8c\ 1!Eïio\82ÁCK¹\10ìå°c\93*4        >¦L©ß\885þCF\15ª·v\87\80á·\1f\17WÕ#\86\7fÃj\809è}=Ý]\9d\9d\9d]Ý=½0\bÑçøIÖU\14f'G\a\1c´Ù¦­$%ÂÏ5{ÖLà-¿\88\94\92ö6T¦nÜ\7fþ¦¡­{\1a1ÈLhF\9b\ f\95)K\ 3È||\9bx²À\97ñ\ 1¼\95\98Û{\9c8\1f\9fñ\0\80ÑØ\86þ´¡a\1cR_û@É7@\8cø0?\17«­Úʲb\82\99RcÖ`á\80z+CVÕéØ\e´§¯0#áù\r\ f\ f#9¾Òûûûàô\ 3\91O\aèÝ\9f\1a«^<L\8b\rñ²7ݸ
\ 2\eË,\16\10\16\9aí\ 6\13;Ïà\8b©\ f\7f\0\19½í\84ß¡>N\16úª(ï8Xf@Iþ\9d\ 1ïMf¶nÇÏ]N¥=}YÝÐ\8a\9b\14  ©\81þîO\1f޾̿\9b\14\13\84\8c¡¶\1cðÍÅÊ\84]
+\1fF½Å\f7¶q;\1e\16\9f\99ó¼b,\98\87G\90\1cH\ f|\ 6°\14\149Û?¼-y\ 4-æè>sR\828f³°²q\v\88ʨè\98Ú{\85Ħå\14W7¶÷|\19\9cF\8coDTÌo\aÒ\ 4xÙYpI\ 6x\vax\e#x_L¹\9bWRYÿq\1c\18\98Þ-ïË\9f?L¿\12
+Ä0\ 2\9fþ\9d)S\8a²\ 6®·¢\88áæ\ e\9eAQ\89\8c±A^ Ò\ 3\ 4Á\aK\81ú=\15/yY     ah«i áËÉÆÊ\8a\8a2\99\19§.¥ç\16W\7f@bLQ¦\102¾Ñ»Ú&vdâ0¨e \ 5\14\v\89   ð~\ 4ðnn'­v,¤Z\eªJ\1eg]\8f\f\80*¥§ª\80\8cAðÍ\8cb\10kÌ`åD\fWÑ6²Üïsæ\12\1a\eTPá«\1fÅ\82à3\82þý\1d>Áà}_þì^R$\ 5^\11~nöÙ³'\8a\91\91[\ 2bL=3&ó\e±\aµ!6\96\993g\81¬\ 2ÂK\96­Ò6ÜÅ\80wm\13\91ñ\90zWö\8cv#öôQçÝ\ 6ZJ2bÌl\8cß\18õ\161\a­®é\7fÑØÈÌ)¢\82
+¬1:é|\873\8a\9e4©¤©\17\82=íLu\0\1a\9cll°\v&\88Q<½\18HÓ¾NÒÊ"üÝö\18!M\ 5xØYYX@\v~áÅK\95×m1wð8IÁû\ 3®Ü Å(\ e©^\b©\8a¢\9cÌøóþn6&\e×È/\99ÏÔÆ`0\9c\9dWHLz¥æ\16\vG¯ èÄ;ãA5B®\7fÒ\81°GШ.Éͼr\ 6 \81ÉËÇÅÎÎ\89ÅÐ1CÌHÏ¡bj
+fPeª¥¦,ÿεðã®V\86ë@\fA^\ e¶Ùl\1c<üóQ\91Òßnë\8eà\9d\8dáÝIàMå$\84Tué\93;\89ÑA^\8eæ\9b5\14¥Dq\95BÆ`R1À\1a\98á\9c\16ËÁذ¢\82
+5ª.\1cT\7f\15\1a{;\b\1fw±4ÐT\94\ ÀÃÉ\81Ä@\0Gm*\8djS¿\10\834Ûp\7fW+#\9c4|Ü\9c\9c\¼ \85ÌJõM¦6®¾gb\11¼«ê?~\1eó*\9e\18Ýhb\14d§^:{\fè½~ÕÒÅóH+f^-Æ\18\ e5\bÆ\86ª\9e©-\ 4\15iTÍ$¨FÇ$\98\140TÚ'G\az\0zWÉ.\9cËÇÍÅõ\87 ¨\8còzcÛCA\17n<(ªlø4õÎ\98 Æ\9dë\11'ܬ·­WYºXX\80\8f\97\97OPx\91\8c¢\9a\9e\89õ\ 1\9fS\17\92²\1e#xSE
+A\f\85Ôg\98\18E¹7¯\86\9f8h\8bé½\80\9f\9b\r6\ 6\13\e\830\9c\8c\r1\19FPe=ÆO±\17\aÕ\8fb|§ Q      ¥ôò\99#\90Sj
+âÂ\ 2¼ÜÜ \86´\92öV\9b\83\ 1ÑÉÙ\85\15õ­]¿\12£¥¶ìéݤ¨\0\ f[Sݵ
+\92\85\ 4\ 5ç\89,\91UTÓ5¶r>\12\1c}ýV.\ 3ÞD\8ba4:Û\1a«Kó`b\ 4{ïÝù§æJDoX(Ì\1cR¿\11kPc\83\11Txú½mlc\ 4Õ\ f÷HæÚ»\97On'@Üï1Ò\86\84\99;\aÞ´\90\88\94â:Ã=®þ\11\89w\9f½~ÿ±³\7f`hä\87/\18\17\ 3\95²\82ì\94\v!Þ{-¶¬S\96\93X(""ºHBn¥ºî6+§ÃA\91  \99\ f\v_3à=J\8cAïéh®}]x?ír¨¯Ë\9e­\eVË-¦èÍ´U\8a\9cÉA\ 5\8d*,>ãaay-Ôz*¨¦½Ç`/ûízkåÅ\17\bÎá\9b#$"¹BãÏÝû}Ã\12²ò^Õ4\7fîû:ôó:E®«µþM\11Þm.{\8c\94\96IKJHÉ*¨hè\19[:y\aF\͸ÿ\fÞ\ 5\81\82л¾²øÑ­k\11'=ìÌ6©-\97\84\1aÆÆÜô&\87\1a\ecAeîè\19\18uýö£âʺ©\82
+O\ 4\94SUŹ\99qç|\ fX\1aj)Ë.\9a/È/0WDb¹\9a¾Å¾£gã2\1f\95¼\9d¦Na1èÝ\9f\1a«K\1eß¾\16\19èé¸ÓPG]Eq¹Â
+åµZú&VN^\ 1áqé¨H¡ÄÄÏ\82\1a9t41^=½\97rñÔ\91\fÖ)É,\9cû\a\a\93Ó\9b\9cIAedé|ôôÅ\94{ù/«áAB8ü\18TßIN¡>\ 5y\1f\1dèi¿\1d\14ä½Ð<Q      ùµzÛ\1d¼Cb¡NMGpP\147d(EϲS/\87ú¹ÛY\18éi©«ªªké\1al·vö\ e8\1f\97FË/­ªk\19\837Ú8Ã\84Þ012âÂü\­\8duV/[2\1eRL.Æ_\82
\9f\89\8d\9bß¹+é÷\vÊj\106\a~\82\rªO¡\88\81+      õ=`\ 5¹½LBLx¾°\98\84ü\9a\8d\1e\811)@ðºÖ®© \81\15EaW÷æÅ£Û\891§|\ív\99\18èëéé\e\98ì²u9\12\18\1e\97JË+©¬\83¸d´lü\8b\91\9dJó`b\ 4z:ìÐW_\81B\8aÉ'Æø!A\85\e\95´¢Ææ\1dö\87\ 2"\12\16U¼oaôÛ\1fÄ\0\8a\ 2Â_å£FãåHÑWTt\91¤üê\rÛ¬ÝND\¿ó´¬¶\ 5 18\1d4Pâ\94\15<ȸ\1a\19âã¾×f×\ e\1d»mö\1dô  \8e\88\97W\f¥\16k1Di\81\8cÑÑò¾¼ðAÚå³>û-\rµ\95eÿ1!\85ÎXPÁô[´TEÛ`\97Óá\90\98¤;O¦ì·\13^uQNfüy\7fw[³M\1aJrRK\96\88K+¬\86Næâ\17võÖ\93ÒwM\1d½ÓA\ 3GN}Ui>-->ê\94\9f\97«\93\83\9d½£³ûaÿÓÑWÓi \ 5\94ZªH¡Ñ9:\8c \ f°B\9c\898y\10õayqá\7fLH¡Ã\b*~aqù5:Ûö¸\1c;{)5\9bôÛ¾\9fô[\8a¾È\1aOi7bÏø\1c\80.¤®,/+-#·bÍ\ 6#Ëý>g¯dæ\16W5N\a\rP\14¬ÑÞ\[Qü\84\96\9e\10\13\1aäwÄë\90§÷Qÿ\90°\8b×3²ó)-H\91\1a7\ 6ÔÚ\82ì\e±ÿã¾Ìã¡Îÿ8þØ\ e÷\99+\8au\14­£ØE\8e´I!\85¬_èb[¬®¥\12\9b\8aì\96\12\96.\1dH*JH%r%!W®\1c\8ds\1cã\1aÇ\f3®¨´\9fÏ÷û\9dq43ý~Û>z̯÷?<\1eÌÌÃ÷éu\85\9cp\83\13CMa\91¨ ïWbRð°é'(¶HAUÛÐbû\9e#gBÑ~ÛÞ\8bÄÆû\994hÒ\80\r3'ùnX\90Ï\ 1G[s£U+5\7fÐÒ[c¶å\17P\ 2n$f½|ÝB\ 4³\8fih@iPIDBcuI^ƣبk\17C\82\ 2\ 2\83Î\85\86ß\8e\7fü4¿\8cÎ\ 2ù|ø\82qT\18 ÖÆ\84\9eöt\ 1é­¡$#!üÕ\98\14<̨ø\84Å¥\97®Ð]ÿ\93\83ëñ@ØoK^£Uf¶Q¡I
+R££©º(ëQô\95³ÇÝ\1cí,\8c׬Ò×ÿq\9d¹­ãÁ\13Á\91        \990ÁYÌ>Äu\86)ýÝm\8d5¥/²R\12coE\86\87\85\88\8e{\98\96]X\81÷÷\90\10\16\98I!ý\v\94¸Ê\82td'ÚoFÒ[\ 4L\8c¯Å¤àÑ\8c
+ôÛeô~\e\97\9aW^ÛJ\e\\8c¤A&¶ÕWäg$Þ
+õ?ææ´Íj£±\91Ñz3«mÎ\87|\83¯'d\14Vã»HÌg\1f|ºã\0) Ñôº¢('3åÑý¸{qñ\89I©Yy/+ë\9a;zÈ\94\911\1a\vÚLl\ 5{/)ú\92\9f\87³\8d©¾º"Ho^®¯Ç¤à!4\80Q\89JÉ+k®\ 1ýÖãÔ\85\9b\89\99\ 5\95\r\ 4F±19\15¿¸²¼´\84¨KþÇ\ fºØÛZY\98\9b[Ù:ìñø3$2!½ \8aU\9dBßd|th°\9fØ\8e¯«*-Ì}\96\99\9e\96\96þ4ûEqyMCkg/ð(¬Z\7f$\fPávZ\1aj)ËI"éý5±\04 Qqñ   \89\83\ 3û­\97ÿåèGÏ\8a«\9b:\18ÅÆTüâ_\97ä¤&D\85\9e=qx\9f\93ý6[Ûm\ eÎn^~\17¢îg\14B\18\94Q&uêÃ$Fcx\90ÔÓÑÚ\88«*/)*ÈÏ/,.­¨®Ã\13ºú\ 6¨t]|\98.\8cì¤Û\97N\1d\81µv±ØÿEz\7fóѱþm´ß.@ú­±õ.7ï °Ø\94\9cRƱ\81z\f\9ev\10¿\80Æ­+A\7fz\1dÚ÷«\93£ÓnWO0Ùn?xZT\8dg\ 5\ 3¾   ¤\ 1r\83Ü×ÝÞÒT\87«®ª¬¬ªÁÕãÛ:\89ý\83C´¼À>\ f©R4aìßia¨I«µlÍ\ 2yös\90\9b\v\ eý\8e5\90ÙýÖÉý\8f\90Èø´\17åu\fc\83fTh\19ÊMK\8c\ e;ïï{ôðA·\ 3îG|Î\9c\8f¸ûøÙË\9aæ.hSÌ` 4\80ÂF\86\ 6I½Ý\1d\84\16|SS\13¾¹\95ÐIì#S\86Gé,èÂ\80U
+\15\86Ó\16\13½åK\800x\10a|¹gû?\1eFbîÜyóæÍG\ e|\83 a\85cZ¿UÑ24ß¶ÛÓï"«Øx?U\86Ðjzãr\88ÿÉ\13ÞÞ'Nú\9f»vë~jn\19®¥\9bÄ
+\ 6FcâÍè0u\90Ô×ÓÝÕ ®\8bØÛO\ 6²\18\e§³\0¿HÛ\18SÂX\ 3\85!ÌÇÖÂ@H@\10ó9889¹\90ãääà\98\8f\ 2a\8acz¿]®³n³ýþ£þW¢\93¦ÅÆ\f\1aÓÊ\10¡ñuY~VJBÌõ+\17\82\ 3\ 3\82\82/\86Ý\8c{\9cU\88\8cFðB&\ 1\8d·Àª\0\ eÊ\0\99Ô\ f\8eD\1e \f\ 1\ f¤³\98\12ÆóéÂ\10\15Dkí\97}Äÿí¡(  N.n\1e\1e^>äxyx¸¹8\11\1eÌq`FÅ\ fú­\92\86¾É\7fv¹ùÌ\8c\8d·\fb\ 3Ò\0e\b÷ª('#)áNTDØÕká7¢ã\932òJk E4n\98Á@h 8Þ\8c\8e\f\ f\14
+\95:4<\ 2PLL±@û\ 2(o\9dMU³\85ÁÅÁ®é\8d¡@Hðòñ\v\b
+       /\0',$(ÀÏÇ\8bò`\8e\ 3£!("%\87Ä\86³û\1fç>\11\e\90\ 6\ 5\94¡\96úêÒ\82ìôä\añ±wîÄÆ?HÉÌ-®¬oíêÇ^Æ\14\ 6&\ e\ 4Ç\9b±QäÆÞ (Ð\1a\85y"\1c\99\ 3=mueÏ\1fG\87\82\8dÁþÂ\80,\80A\ 1\14<|ü\82Â"bâ\12\v%Á-\94\10\17\13\11\16äçã\ 18 Y1£1g\ eè·¼B 6Tµ?\19\e\93t\1aäÞ®¶&\eIAÎÓ´'ÉÉÉ©\19Ù/^¾ªÅ\83Õ\86¼j\92\15\fT\1cà\9dÞNLL\8c\83\ 3_ÞB\14ÓX \e³¿\13_]\98\91pý/o¸1Ø\\18\b\v \v\80B\0\90X(µXFVN\1e\9c\9c¬Ìb©\85\80\87\0À\81\88\831\8d\19±¡K\8b\rdm´3\8c\r\94Æ\b\9fØÑÒ\80«,+ÎÏËy\9e\93\9b_\VU\8b't÷S>r7&8\10\1eà \86w\18    ú«\90æ\ 6\84A¨/ÏM\8e¹|ÚóW\e\15h\95bSa \16ÅÁÉ\rP\88JHIË*(.SVQUSSUQ^¦¨ +-%!
+ppCqÌaüïôqlÀµ\91ü¼\ 4\8b\8d\ f\8b_P\86\808ÀRh¬­©,/+--«¨Â54\13ºû\ 6\86Fg\9b\es\1c\b\10ô&§£@`\0a\90º\9ak\8a\9f&F\86ø¸Ú[\1aj)\83\8dÁ¶Â@X@Yð\v\89HHÉÈ+*«ihjëèêééêhkj¨)+ÊËHI\88\bñCq°¤\ 1ú­èTl\84\\8fOÍ+¯m¡ûÿ\8cØÀÊÐ\b\15.\85öÖæÆúºÚÚÚúÆæ¶\ e\0\15\9bm\9fb1Å\83v3\7fò\1eôÚÁÞö\86\8a¼'w¯\9eùÝÅnÃ*õ¥l,\fÔ¢8¹y\ 5\16\88IÊÈ+©jhé\1a\18®361551^gh «¥¡ª$/#)&,ÀËÍ\94Æ7hlðM\8b\8dS\17£\123òaM%Q\19Ò\80V\85-\ 5bW\a¡­µµµ­½³»\97\ 4XÌv¶\7ft´^Û\82+yö0ê¼ï\81\9f­\8c´Uä$\17ð³éÆ ±à\13\14\91X,§¨ª±Ò`­É&Kë-¶vv¶[¬-7\9a¬5X©¡ª(·HBD\10XÕ|&¹\81Å\ 6?mmìÜçå\7fùö£¬¢ªFB\ f\83íG\17\a\82\83Lêëí!\12\89=½}$0\16àn{÷þsa ñ\r{me~Ú½°\0¯=[7\1ah(J\8b ò"\7fÆ\97\7fØ\9f8\8c\ 5\ f\9f\90¨¤Ì\12eum\83uf\9bm¶;8:»ìÞíâìè°}Ëf3#\ 3í\15ß)H/\8448æ31[,6\ 4`l¨ë\9bXïrõ\ e¼vçqöË\1a\86ÛoæR\18¢R\ 6\aÈdòÀÀ u\b\19\v\9fÏ\ 2|À»·o°^\9btûâI÷_¬×¯T\95\97\14aSa î\ 2\93WHLê[EÕ\1fô×\9aYÙ98ïss÷<âåuÄÓÝm¯³\83\9dÕ\ 6C½ïU\96È\0\1a¼\\1cóXÑ ÇÆ\ 6\e§C¾Á\11÷\9eä\94âh!>Ûx¦p\8c\81å6<\ 4nxddt\8c¶Ûþ\15\97\82ñ]\94      zíñý;Ì\7fü^IF\\88\8d\85\ 1<\8a_XLJVi¹öjcK[\a\17W\8fc¾§Î\9c\r\b8{æ\94ï1\ fW\17\a\e\8bõ\ 6\9aªKi4æ0üK¦Ç\86\8aÖ\9aM[]<N\9e¿\91\0\1f\12âXW\9dMc\12]
+ãpºÁCvÛ¿Ââ\ 3\11J_{ë¼\94»W`¯\ 5\83Oa\91\88\0Û
+\ 3²\0ÏOJn\99º\8e¡\99õ\ eg×ß}ü\ 2Ï\85^\r\v\ f\ f»\1az.ÐÏÇó7§íV¦«µÔ\0\8d\ 5\ 2<\9c¬\8c\8a¾6t\8c,wì=rú\12Ü~ Ä»I´J5ó\11c8Þ¡Ómbúnûl\16\93ÈÈ ¶Ö\82ø¾        âÛaóZ­ï¾\95\0\83\8f\1d\85A{z(\vݵ\9bl~Þ{ØûtphÄÍ\98ظøø¸Ø\98¨ðпü\8e\1fÚmo½aµ\96ê\12iqa\10\eÌjáÔÚ\90QR×[ÿ\93ÃoÇÎ^\8e\86!Þ@ \82\10g<\1dhCá\1dv\1fÏ\85\7f\b\ 3¸\14\1c\19øêÂô¸ð\80£{¶\9aÑ{-û        \ 3e\81¸¼,`adaçèêu2(42&þarZFffFjòÃøè\88K\ 1¾\9e{\1d¬MWk*ËÿÍ|\99\87C¹÷aü}ßS\91ÉXf²\8cm\ 6ci\18¡Á0\96jì$\8d5[Öìe\8fD\8aT
+ç-$-*Kç¨CZi/\94´z¥M´¹HRq8-º®÷û{\9e -çüñ^/s¾ÿÌÌ?¿ë\99ßý|ïûsË\91Á¨þb5 \81\84 D\92,UC\8f\12°\ 2\ fñæÿt<\7f90ô=R\8dËñE\92\1fÔ\85ÿY\f¾Kݺt¬¼ 3>ÐÅÒ\bâ\e¸öo°\18ÿünðð\86«SR×\ 1-<\83W¦fÿ\Rvèhý¹ËMW\9b\9b¯6]:WW[µ¿8w}R\84ï\12k\13]\r%\19\fÒ\7fú\81\18ø\91?ñcCyÎ<s;w<Ä\8f_l¹û\18\9f©1Q\91ÿ\8f\12\13\
+JFõÞ¼ôhßE\16ú\1aX|ÿðñ§p¾ÜþØ`¿pS\91VTc\1a-\0-bÓ6\17ìý¥¶þâ\95\96[­mwï¶µÞji:\7fª¦¢$\7f}b\98÷b®\11SU~¶8ákÏ\9d(î¿pPFmCUÛ\10º\1f
+ñ=U§.ßøS¤\9a¬ÁXê\8bKAÉ\bõ°5ÑQ\95#ãñ-`)ÐEÁL\83A\9fØÏé(0¤äUµ\fæ;x\80\169Eû\ f\9d8ßt£µýaGgWWgÇÃö;-\rgj+wå­\8b\ fñp0\9f§I\95\99Ø_'\88\80Ï´iÓg\bÍ$\88¡m\83Øpö\89ÀB¼¾ñÖý'=ý(Ä¿CªI\13ã+\97\8a\väq\r\194\19\81Ç7¾\ 5袦O\9f\ 1\ 3\1fH\13¸7,0ø\8e\12\93\96³ã@uÝ¥kwîu<yÞÝ\ 3Óý¼ëÑÝ\9bMg\8fVîÜ\92¶Â\9fge\8cV\ 3\96\1ac\1a\8eæ\9f.$<\93@\94\90\92W\9e£ojãê¿"uó\8er\14â\8fþ"Ä'A\v\10\ 3k|ÀRÕ¥|\97\82\92!F\10l|cV\ eö\81îIx&\8c°°\90\10~mxÖêBÖ¢K+*«®o¸ÞöðÉ\8bÞ¾þ\ 1\98þ¾\9eç\9d÷n_9s¤¬0{U\98\97£¹¾Æ\18\eò\95@:Ì\10\82\93±£Ñ\88\10f\11%P\89d\1a.pô\f\89ËÈ\e\8f\rdT\9f§B\r\14\19Ðøz:Û®ÔW\95lN\ eóü;¸\14¾\16È=\84Ñ5\89ÂÌ"\10Df¢Û#\10%¥¡\13°¹Î¾\91)\e\v\ eT×7Þl\7fü¬çÕÀÛÁ¡ß\7f\1f\1a|ûº¯»ëþ­ÆúÃ{óׯ\ 4ð0\1e!a>\85{\13ÿ\þÁDQl\88bâ¤Ù²\8aª\f}Sk\9e_dò¸Q\8dµ\8dÉ\17ãóè\87\91Áþ\17\8fn7\1c¯(Ì\8a\ f\14¼K}ÑBHX\84 J\14\97\90\84\91\10\17#\82"³D\89\92Rò*\f\16\ 4mhbÖ¶}\87ë\1an¶w¾xùúÝÐðÈ\1fïßÿ12<øæUwgûõ\8bÇ*\8a²\93BqR'ãÅ\ f[
\ 4\9c#&!!I"\91Éd\12\89$\89¾IÉÈ)©ÎÑ3\ 6F\v\89Mߺ³òèùkÀ·@Th5¦D\8c\87ßö=»\7fãÂ\11h|+ü\9cÆXJ`.\85Ó&\84\83È,¢¸$y¶´\f\8c´\14\99\ 4\82\88\89KJÉÑ4õLmÝ\82b3òvW\9dÄ §ïÍàð\1f\1f>~üôéãÇ÷#Coú^t´^9}xOî\9a(\1fÜw\11Oa\99\83),&\ 1w/-K¡È¡¡P(²²²\149y%e5-=ö\ 2{7ÿ¨\94lX\8d:|5\ 6\87ßO\ 5Pá`;ÐÛu·ùÌáÝ[VG,µ\87÷H .5¶\163 ¢â\92³e(ò\8aJT*UQANVz6\19¤¡PÕtÀ¤ü¢Rs\8a+\8f\8dÕ\ 1`\9eÑÑÏ\9fGG?}\18\19\1aè}rïú\85Ú\ 3ÛÖÅ\ 6,Yh0\87
+»>S\b¥5¦0       N\91W¤ÒTTUétºªª\8a²2\8dFSV¡«3tX&\ví]ý"\92ÖçCj\hi{ü\ 2áíTøÔ\18ض6\9d:¸#;)ÄÍ
+k|\82s)¾\16À\9a³\88 \ 5¼¬tu\rMMMuº
+UQ\9e"K\91§ÒµX\16\ e\9eË\13³¶\1f¨9Û\8c\eÉÈ\a¸.\ 4 ð\8fЮ¿BÆ{¢²hCB°+ü%\1a\94X\11@\0\149â$)Yt¬Æ\1c-¦Î\4:Lm--\ 6\83¡¥­£Ç2¶°Zä¶,<!cëÎ\8aZ\0ª\87Ï^\ e æ7%b|\18á\83mÙöõ±þÎ\vX\9a\82s)\9c¢Ð\v,*N\92\96SRQg0uõçÍÓ×ejiª©Ð¨Te5\86\9aç¿2=wwU]ãí\aüË\1aŤÀÔÀÞ¯N¬8mZ\15ênÃÖV¦\90\88\0\0hÙHR\14Eeº¦ö\}\ 3¶      ÇÔÌÌÌ\94cbÌ62\841b\9b\98-°vày\ 5F&­ÛZ\Vsºéö\83§½¯\aÑùS \ 6z\8d\0\9f«)ÍK\8bòq4ÓUS\0*\17\90K\8dÅ\ 5Ü\1aYFAY]k.\8bÍ1377ã°YzL\86\86\9a\9a\86\96.{á"¯°UÙ\85åG/\oïÂ<}ÜFp>Ä\9c÷ô¡]9)\88\ f\99*rdqQ\ 2\86¯²
+ '\9cj:\9fkmkïàèèè`ogkmeÉår-­¬í\1c\9d]½üÃbR2óv\96×\9cþ*4&Y\vüÁ{ºÚ®\9e®*\81\a÷@\ fN\ 1\ e\14\8cKñµ\10B\r\f _uÎ\\96\89\ 5ׯÎÞÞÎ\86kÁ1Ô\9fË\ 4'12·u\rX\99\9e·çPý\95Ö\ edé_¡'Þ\9cz\9f´_;sx×\96Õá\9ev\0ëòR\12bD"Z6ª\1a\803ßÊÞ\89çæéåíãããíµÔÃÝÍÕ\85Ç㹸º{z/\v\8e\88YµvÓ¶Ý\95µg\9a\90\18ýï¦D\f|¥»;î4\9eÄüu\ 2Ø
+Â¥°¼\98>\ 3u       )Èi-}¶\85\95Ãb¸ Ow\97ÅöVó9F\ 6,\16ÛÌÊÉ+4iCA\19,ƽ'½\ 3ß\90'¿ÆâbäàbÐ\15¤I@²°l*\9a:,ÎB['×¥~\81!a\11QÑÑÑQ\91áa¡!ÁA\810AÁËãb\12VglÌ/Þ_uüÜÕÛ\ fÆ\9bÆd\8bñ       \8f\8c\9b\17\8f\ 2yÄ,[<\7fÞ\18ØN½\16ÿÀ³[\18i!GSg²8\û%\1e¾\ 1Á!!AþÞîΠ\87)\87cÎupõ\8f^³¥ä×S\8dw\1e½xõî\eðü²\19\13lJ\87®(3\e`\96\ 2¥N\8f=ßf±»oPø\8aø¤\94Ô´ôôô´5©)ÉI\89  ñqqqñ   \89«V§elÈùyGéÁ\9aºK×Z\1f¢Ì\98\9aÍÀ^¢§÷ZÎUïÍ]\13éí`¦\8b
+\92\80À\163)ÈnÔëh\1a:\ 6æÖNî~Á\11+ãâãc£Ã\ 2½]\9dl-\17.´´s^\1a\12\97\91_úÛ\99æ¶Î\9e×Cßpç¸õÖ£\0_înc\fbÈJC§\ 3\10\9bDZttó\r\89\8aOY\9b¹1'7/???/wkÎæ\8dÙ\e²2ÑdeoÊÉýwaɾ\83Õ'Ï5ݼûøùË\81A\1c\10&W\vþswÂsWíÜ\9c\1cêac\f\91!)* °\ 51 0DD%`/4t\f-l\97x\ 5EÆ%§e¬ËHOI\88^îçáì`kc·ÈÕ/<     ¸¶\16\êéË7(1&j\81ý)>­\17e'\ 2Ú²\99t%9\80b\9a\9a6ËÌÆyiPTÂ\9aÌ\9cü\82â]{J÷íÛWºwÏ®\92â\1dE\85\ 5Ûa
+
+\8b\8aKö쯨:ròlCKë\83®îWo\86¦B\f\88\8c\91Á~\88\8c\86\13\15\85YñA.\C\ 6U\80\91\81-Æ,12\85ª\ eZعø,_\99¼v\ 3¼¿¹9\eÖ&Ç\84.óà99:-ñ\f\88JÙXT~ìÒÍ\aÏúÞ\ e\7fÝ\ 1pZï\87\9eqùxùöõq\ 1\916\9dª ¯HS×60·åù\86ƦfnÝ^RZþË¡ê\9a#05¿\1d®úõ`eEyÙ\ 1\98²ÿ\12_\9eQM¦y\14\9fsöÌÚGÇYwt]×n4tTdP\a{wT:J\13\11Q\ 4DA\ 4AEQ\11°Ðl\80\ 2J\11¤\ 5B    \90\b¤@\ 2   I\bi$\10\ 2\84P\14\1cppt<û\7f\12ÚÌ\99¯1Ïgò\1eÞç¾÷wïMKÏÌÊ)À\13H\14\ 6\9b/\91\ fÂèÓøÎ@\911<ÐÓ.dVáRcBÏ9\1fÚº\16"cöt­EÆ?À\18ßÍ\9dÿ¿\95úpmVN§ýBnÝ\8d}\9c\90øôQtäõÀsà\r+\v\vëcn>\97ï<ÎÀ×°DòÞAÕ ûÓK\8d \97\124¼)H\89¾æã|x\9b\89îÊ¥\8b\17/Ãè­\87\87:{^¼\16\11\97ø2+\1f_ZA$½\81Cª¬ \94\95\14ã\8b\82|\90\aW\88/-'VÓêÙü\16Y\172ÆÈ\9fI¨  -&J`eî³»Á\9eÇöo6TG\86Ö(\ 5é=gÞÂå:ë6ï±p:í\7fíNÌÓä´\8c\8c´\94\84¸ÈÐ\0/7G;k+[Ç\93\11j1:þ*Ƥ\99Q\91\93\14\15ìéppË:ÝUË\96.Ç FY¹\9c½tã\1e\14%\\19±\86ZÇh`2\99\rõ\fz-\8dB®®"\11++àT\12IUd\1a\9dÅ\15´È:{Þ\821>~Ò¸\18£[UÂ¥\96¾z\12\1epÊv7lÕ\ 5Z\8d\8c)ÓfÍ\9d¿\18ch¶ó°\83\87ßµÈøgiÙù¸\82¼ì\97  1·CÎ{¸\1cµµ±\ 3\19éøê¿q\86\8aR\b½\1cJiæcx)»½\9b×ê¬Z±\ 2£»vÓn\v'ÏKaÑ\89éù¥$*\83Ååñ\ 5B\91P(à77qÙ\8dÌzF\1d\8dJ\81C¥Õ1\98l\9eP"ëTö\ f\f}\ 5cL\14[Vu\91\8a®\16ÛM°K~ü~Æ\14\fD)H\8cåº&[\ fØ\9d<\7f%òaò«übB9¡\14\97\9dú(*ô¢ç   \a\10ÃÁÍ;(üaZaÕDf\8c¿Ó\97ÏjJ   UmýÆyW«]fFXÌJ\8c\8e\91Ù\8eÃ\ e§\ 3¢\932\v\fv³HÒ*k\97Ãi\97µI%b!\9fÇe³À&\f\9eÙÈm\16IA\8b¾\ 1\ 4\ecR±ÍO¾\7fÅÛñ\17scÌ¢yZ\8d\f Ô¿\17­2ܸÛÒÅërx|rv!\81TSSM*ËÏH|\10vÉËÍÁÎÆö\98ëÙK·â^\14\90ê\ 5\0l\80q1¾¨Üþk¿B\8a(õì^\88\97Ó¡í¦\86XÌj¬á\86­\aìÝý®?HzUD¤±xâVyW·²§\17N\8f²»«S.\93\bùM\9cF\16³\81É\ 2\17\1dÝ}ïÞ\ f\8fBJó\94\82\ e(åÒ\bÙ   \11\81ªu´bá\ f³´\14\19H\8c\7fN\9b9wþ\925ë¶\1c<êá\1f\16ý,«¨¢¦\96Ψ#\13ñYÏcn\ 5z»9ØZÛØ\1f?sñFLJ^%½¹­\eªíd1TÆè\95\8b\eÉÅ\19\88RöûÍ×ëc×`õ!0¬]Ï]¹\9b\90YDªc\v¤rEOÿ»\81At\ 6Þ½íëUvuÈ$"¤\ 6Ä\b\8bÍå\8b¤í](0>|\ 4H}\95.5Ø«ê\80êb»s\83ÎRí\15ÛoP~O\9bõÃ\7f\96é\99î´pñ\ e\89z\9a\81\ 2\9a×U\95æ¤ÄÝ\ e\ 21l¬¬ì\9c=üB\1f<Ë)¯ãµ*Þ¢Ñ7zU£Æx«hk\ 6·§D\87úºZîÞ´V\ f\8bÕ3\ 6H9z\ 6Ýy\94\86#ÖrDmpÏ\ 3ï\87\86\87\19\1eúuð]\7f\8fBÞ*æ7±!Ðë\eX\1c \94\vÆ\18\85\94\86)õy\94Rõ¤ü\94\aW}\9c\ fmAÅvÎ\fD)m\891ý»\7fýw\85Áƽ¶îþa±)¹\ 4`;¯\99Ç©'\13òRãA\8c\13Ǭ-,m\1cO\9d¿z/)\9b@ãJ»ú'\8bñ\a2\ 6úÀØÔÒ¬§\91\97=\1d~Ùfj¤\8bÕ541ßg{Ò\ fü\94[Nc\ve
\82áßF>ªÎÈÈ\87¡÷\ 3\8e6q3\87ɨ«­­\83t\17\15\13µVó\8bOÝ¥\10¥"\83NÛïÛd°r!*¶Ú\89\f\94\19³ç-Â\18\9b\1f\f\8ax\92\89¯¢³ù"±\90Ç¢Vä#1¼\90\18\166\ eî¾À\9b¬R*§¥³ïý\at[êï\vÌ\8ezm\e¿þ\rîEl\98\9f\9bÍÞ\9f×\eèèè­Ý¸ó\88\93WpT«\92\1a¦ MÑ7\88:Ò§O\9fÑùôûÈoC\83ýÊ\8eVa\13\93N#×Ô\90i\fV\93¨­³\aÄÐ|­Uÿã\88®"\16,Õx\15¥Lu\97.\98;SKÅvT\8c9?.^³~Ûa\17\9f«÷\9fç\94SY|±TÚ"`×Væ¿\98ä\f\10\ 3îµ\94ÂV\89ñqL\8c1c´p¨eÙ\89QÁ^N\87w\98\19ëéè\18¨\8cá\1f\86R\9fÁ\93\r¨·\83ú 5\86ß÷wË%Í\8dtJ\15±¢\82XE¡7ò%råÛ÷j14ª\85Ú\18\11\ 1\92ï_õv\9a \94v"\ 3ÄøvêÌïç/ÁnØayâÂ\8dØ\178\12£IÜ*\93µ
+9u\95\ 5/\1f\86\81\0\87Ìp\ 2L!gPØâ\8e¾Á11Æ\12Ce\8cÂ\97ñ7ýÝm÷\99\9b\18è`u\8d~Ú~Øñ,\18\8cÊ\16Ë{@\8bÑ$@\a~\ 6\1aö+d"\ e\83L"\94àñ%\ 4\12¥\9e+\92\a¡¬}Ö°1Ô#C5\8e\10\ 4z J­\0JM×\16¥¾\81\991uæÜ\ 5Ët\7fÚms*àöãÌb2K mï\0\947ÑI¸´G\11!¾§\9c\8fÚÚ\1ds=ã\7fý~\12ºXpÆøê\e3\ 6¼\13\8dð:éÞ\15oç#;Í\8cu!¾×nÚc}âüõØT0Fs\e\84>úÍ\1fã±\8fÄ\18èí\9463©¤Ò¼ÜÜüÂ2\12\8dÅ\97\ e|\ 51Ôñ=:\8e^Ââ;a¹\ 3º\946)\85Ä@ej¹þƽög\82"\13  9bYgWW»\84ÇxS\94ñ4ê\9a¿§\9b³££Ë)\9f [±É\10Å\\89
+Sãb\80Ù¡\92\b\98ÕøôG·Q¯Ýbb\80]\8dÕ71ßoïq)üIf      \19̤¾áñ @b ßÉÅ\1czU\19îufzÆ«\9cBB5\83Û"ï\81æü»ÆÅøë8r<\b\8b\94\82\99\ 1ej¥áÏ\a\1c¼Bî=\87\1dÁ\93È\15Ý\8a\ e)¿¡º8+éÁÍ ß3în'=¼/^\8bz\9cV@¤ó M\8d\17µÙa85ÕUæ%C¯=n¹k£±îêÕX\ 3Óm\87\9cà\91Ïr+P\eV\15°\89P\1eïÃ\ 2\16¥¢ðuzjrrjF.\9e\b­«]ùVý·\1aÕbbd qt;ÀÝv\8f\99>,>íu)u³U\95©-\87\9cÏ\85F§âÞ4\bÚ:\95=Ê®6a#\85\90\9bú024ð\82\8f\97·oÀÕðØçYÅÕ\rü¶n¸­11Æ{-¥4+\ 1õÚCÛL\r±\18\fÖÈl§åqßÐ\98\17è\91í\90\18h'\8e_0\88¡"¶\94Ǩ*ÉÍHI|\9a\90\94ú
+WN\81ÚÕý5ÄP;\1aE\1d©\0ÆÑ9\97#ÛÖc\97¨\17\9föÄ\18-SÛ-\/\84ŧák\1aEPõûz\15íbn\1d±03)6âzHà¥ÀàÐ;1    é\ 5\154¶¨]ùnhô¶T9\f´\ 1òV\17©(e·ß|½þ\1aÌj\1dãM{lNúß|\98^LnTGþ§I÷\v\1f&DF\ fPª¶²0+5ññÃGO\9e§ç\95Õ4ðÇ]¤Y1Ôñ-áÐÊÐÈ8stÿf£U\8bæÍ\9e®­Å\87(õíÔY(¿MwY»£üF3¢CÙ×\ fkLÚÜPS\96\97\96\18w7üfØÍð»qÿ'¾L£\9a<Ó0|zÎ\1c[­ÚªS[\97¶#\8eS\91º/´ânU jQ\14\91\ 2:\82\8a¸U\10T "²È"\84%\ 1A\16\81°o\91Ͱ\a\ 4Â&[\bkØ1aKBÂ\12Ydæy¿/!Á9óÃ9\93ðý\ 3\ e\1fá½Þû¹\9e;0"\89ZPÁÄ\r+\85!Þ¥ò\92Ã\89XÉØ»c£ò\ fÊ\ewìÓ\ 4e¸øÇf\80efÕD      \f¤\9a¦ª¢LJdÈ3¢\ fÑ/("\91Zð¦^\110dõ\9dJ&9à%Ciå²EóçÍM0>ù\ 4\9f\8cÍ{4õL­Ý\ 2ã³JëÚØ\ 3<>o\0\96Î\9a\92¼ô\84\88àgD//o\92ÿ\8b¨$*­´¶¹³\17/\ 2ÓR\18\9cvfY.%Ôû±¹ÑY\8d½;7mPVÙ¬z\10Z$þJf{/\ f\9bR2,Ä¿W_Qð*!<Ð×ÛËÛ7\90\9c@ES\90#ÿ1%«ïÄ`\8f\877\r\92ñ5è{n¦\14b\81\16Û%0¥v\1cøÍð¶­ç\vJn9\1cÆ _0ÄëïÁ¶ÎW\94XrhHpHXd|rF~iuc;\ 4\ 35\86÷b\18ã"!ú§Êr\92B½íÍ\8du4÷«nÙøã¦m»\7fѺpë¡GpRNyC'\f6Y\18b}Â\94¨+ÍK\8d\rõ'z\12¼H\81\11\89\19¯1g\8c\88ä»MMcSR0Ð-Ñ÷ÕsêjÒ\92¡x\188\8bO!\18«Önüéè\19ã»\ e$rjA\15(\81'\10
+\87\ 6{»XÌJ:-3íeb||BR
+5§°¬¦¡­§\8f'ħ\94\f\f,\19aDG\8b«çO\1cVÛ±u˶]ûÔÏ\ºcç\15JÉ«@þ\1e\1d\9f\ 5\9aæ\9aâ¬\97QÁ~Þ\ 4\82·oP$%«¨º©\v#'_\18\92éZ_\ e\81Æô}x×\1cê[Ìbþ¢¥ß|¿~û¾ãz¦V®\ 11H\19\85##Bþ\0»³\85Y]V\94\9f\93\95\91\91\99M+,©d4µu÷q\ 5#¢ñÉ)iÍÀÆMy^J\84\9f³Õ\rCm\8d\ 3»Uw©ª\1d>®{å®\83Oxr~eSW¿`t\:x$\v1§½áÍkj\ 29\90äE ø<\v\89NÉ)©mé\1eÀÉÉ\ f\ 6þ÷!\98¬Úâ\8cØ\0×Yú\9e\83\92\ 1(\80żù\v\97,ÿvݦ\9f\8fh£[ü\ 2µ\fð§`dt\14§ÑÚȨª(¥\17\17ÓK+ª\18\r,ØzgXÈÀèE\9d/=&Ðã\91Ù\15=-õCû÷î;¤qÚÀôþ\13ß\b\14¶î\ 1Á\98\14Æ4¾\83¡]
+\16\94ò$\ 6\84Å¥ÓÊëd+¥¼`Ì4Õ74X;ìÍ\8d¤úV|ÉÀbñ\17ÈÅÂ/¿ZµVeçÁ\13¿\9b>p~\16\95VP\89¦Äð\98H4\86hpº;XMõuµµµ\8cºú&VG7§\9f'\18\19CCJ
+\ 3æM\7f7\9a7Ia$gë[Æz§\8f«\1f=¦©¥ktÛÆÕ?\1aÛlea \16\93ï`¯d·7T\16f&E\ 6ùÂ\94ò\ 2\7f#e(ÀßÓ3{-\83\9e\19\1fänsCÿÄ~Ð÷ò9Ñ÷,\16J\e¶ïÕÐ16³ó
+IÈ*aÀÅ\84«ÿnü\9dhTÈ\1fìãôt¶·µ²X­m\1d]=\9c~._\b?\9c\90\ 4\ 3\87\81L\få\8d\96\16\13äåøàöe\83sÚ§N\9d9\7fÑÔâ1!0\96ZTÃêA\97]|¾\18\8bñ±a^_\17\94\f,\18>\ 4\ f\82·_pT2Öbúå¬\8ciI0º Î©\11¾N\16\97u\8eíÞ4GúÆYÌûlÁ¢%_­Z£¼Mí\98öÅ[6nþQiù°Xöò\86áêOL\8c\8bF\87\ 5|n\7f\1f\87ý\16\1evoß\0\97/\18\1e\15\8dã,$'\8b.\19Ì©¦jzvräsOGk3Sã\8b\ 6\ 6\86F×Ìl\9c\89¡\89\19\188\vÑÈÐ@O+³¢\80\9aH~N$¸?õð~ö"6-¯\fM)¼\1fÊ\13\ 6\16\fvk]IV\ 2ìµ·\f\7f;¸Synô\8dé\ 2±X¼dù*%å­jGNÁtw"\86Q²K\18¬\1e´¸\8eONNN\8c¿\e\ 3\1cC|.w\10\1e.\8f/\10\8e\8cBf&§fX`ÿØ\ 4:Ù·P\11\v¡¾\ 5z9ÛÞ7»izÍô\96¹µ\ 3! 29·\8cÙ\ 6\9doLÜ\12\11\8b    \11\84      \r©¢,Jd\10\89àæâêîí\1f\16ÿ
+k\19r®|Ò`4U\16¤EúÁ^««±g˺Õs¡o±º?û|ñÒ¯W+mئvDKÿ\9a¥½Wp<µ°²QÒèàA8D£#ÃÃBô\f\ f\8f\8c\8e\ 1
+\14\8b\19\16Ø\9c\1ff\ e«®¢0ëet°¯Ç\93G6\ fîݳ²ut÷\v\8d{5«ÆÁI\0=\18l\\ eÊRNrt0ÉÃÅÉñ\89\9bw@xb¦"\16[,\99XÇa\94d'\86\10lo£½VeÍ\8a¥ oÅ\ 6\8b/\96}óíZ\95í{\8e\9b á\1e\93F+g¶¢F\879áý{\f\að\10\8d¡G\ 4 \80\84\18Ŭú\ 6÷L0Èél©{S\94\9d\1a\a\8b*Áí\89#\9c¯§_Htrvqu3:à\19\18H20׺\9a\910bBHîN\8f\1f=rpñô''eÑkÁõ³+Éÿ\9d\ 5¾\0¢UJ\1c\f\13]M|¯U´¾%,\16,üò¯+¾[÷ã\8e½ÇNé\9bܵó\b\88JÉ-\85\1d¿\ f\8c\81/®Ó\18\8eÉ      ¤\ fÀ0\81@L}\80Bªã! ÁbVÑiÔ\97±äà\0\ fÑïyh4%£\0\96UtÀxMÄX yw³\18e´´Ø\10ÒS\87\87V\ f¬\1f9\11üÉhLÊêE^,&!\99\ 3oY\f0\868\18ª*J+Ä{­â`Ȫ{åßþ±qç>umÃk\16À"29\87^ÓÔ    \1dCrlÓ\18\8f÷S3\ f|\81\7fÿ?oÚ;\8cFwkcMya.59!:",4\94\1c\15\9f\9cA+©nìà\fÂ[1Â\98¼\87ùý ïòüô¸\17$W;+\v3sKkû§~á\94\9cÒ:Ð\8bP\9eÊÀí\rͨ£áM~j¤/2\ 6\16\fØk\15«o\19],_µfýfÕ\ 3\9ag.\·|\f\9e}   ã¤±\9d=\bö\9e\98\94\94\88\19"\12\f\1f\92\90\5\8c\ 6·¯§£\85Y]V\94\97\95\9eBIJ¢¤¼Ê.(©ªo\15Ç\r½CF÷¯©ñÀâѽ?n\98ÞøÃÒÖ\85\14\96\94SÊlÃõ"Ï``}³§¥¦\18:\86ÇÃÛ\17°`¬\¶X¡Á\98ÑÅç_,\ 3u+oýùÐq\9d\7fÞ¼ïà\19\b\e~qUCûÛ\ 1¾dHI?ýô\7fÃð\ 1\8d\11\ 1\ fJb[3³º\82þ\9a\96\9b\9d\95\9d\9b_TVÅléäH\10¿Ç\85Áåt4V\15e&\86\91\\1eZܸbtÉøÚ\1dk'\9f\17\89Ù\90\f9ÃÀ\86*|\82öúò¼d2ÉÑòÊ9\8d=\8a\ fÆ,u\7f÷w\95íj¿\9c<otÛÊÉ;(:%\87\8eXôóQÅ\98ú¸\1d\7f\1a§\81\10·\9fÝÕÖ\Ϩª(+¡\97\94VTÕ6´tÀk\85ØkáÁ\86\14j{ôl
+ÙÏõ¡¹é%}==\ 3£\e\96ö\9eÁÐ9å\fCºÖ6W\17Rc\9f?ýó¦¡Ö!´J)6\18b]|º`\11¨û{¤î£Z¿_¹ó§31$65\17&»,\8b\8f:\vÜõ\93PKF\84|n\1f»»£µ¹\81ɨ­e0\e\9aÛ:ßöó\ 4¨¹L\89\83\ 1î\ 4aÐR£ü\9fÚ\9a\9b\ÐÕ>uZÇàª\99­{`\&\9dÑÆ\96+\fÜÞ°ÖÖ\95æPÂ|ìï^ÖQWÛ"\r\86b`ÌV÷\ f\9bví×Ð601·uõ\r\8d\95Ö4IXH\84ññ4&Ä8ú{ßvu´µ²X¬ÖöÎ\1e\ eb16\8e\ 5c
+w',\95\85Ô¸ \82Ý]\13ó'55~ÕÒ½tËÆ- \86Z\ÛÊæÊ\ f\ 6fo\11þ        
+Ò£ý]­®ë\9f<¸s\ 3Þ1\14\16\fYu¯VZ¿å§\83¿\9e½xÝÒÎýYx"5¿¬¶¹\83=ð¿²ø\97\f\ e\11à\18âý\9bü2\8f¦rÝãø=ë¶ê\1c§I9iÔQiNG¥\88$cG\CQ($\91¨4\10Ii@\86\86#CB7\8a\f\95\1425\99\12Ê<³³Ã¶\r\83½±\93îó<ï»·þpî½ë\9cý¾ç\8fó¬ÕZ-ÿ¼û}>ï÷÷ýüúzè´Î\8e\8e\8eN\1a½§¯\1f°\10n.\98T\82m\v|\96!¾î\87­wéëhjhëí´rò¸rëÁóÂÊ\96NdS\84ÀÀ\97\1cVoGKÕÛ\9cÇÿ¾qá¸í.\9dÍòró\85;\ 6)00\16Xu/X¼rÝfM\83ݶG<._\8f\8c{\92\9d_V\83\8f³Àz^\98\ e\1e\97Íb2úzÁécô³9"\16ø¼¦6~ÈÏH¼\1däuÌÖL_k«ê\16u\1dCËC§}ÃâÓ\v*\9aá\9e\ 1`\10A\ 3ÓZÔÞe¯\9fÅ\85û¹\1f²Ðߺ~ÅϳÉ\fÆXuK¡êVÕ6´°sñ\84Õý4·ð}mË':\10\1e¬dÿè5|\83\ 3Ä\83Ëa³Y,6\9bÃ\1dà\ fb,F¿`WA£Ô\96À`ø¸9X\18j«)+)«j\1a\98Û»ù\84Æ¥åW4w \18\19"­moª,ÌJ\86Zkc¬¥´fñ<©i\12d\ 5C¨Qxu\83MO×x¯Ã\89sþ¨º\81F\81E\80\ 1;öϰø:\86\ 3ãÁçÁÃ\a(\861\16È*Á\94\82\86\ f¯â¼\8b­©Þ¶Í\e\157ªhèï±w\850òÊ\9b:zÙüa¢`\88¾\86\97©÷B|\\81ÖnQX&#-9ù{\92\821^u[9ºz\a\85Ç¢ê\86\1aÅäð\ 6±ýâÏ]\ 2\86\ 3ñ\18\1e\82gxX\0\16\98ɰz>5\96ç§?\0åéle¬«¦¤¸\ 1Â0wp#\1aÆ\98Ö6\96\17<O¼\1dxÖy\9f!ÐZ¸ïIL\9a\8e!b1UrÖ<YTÝf6Χ/^\8b¸\9f\92\95WZ\8dª\9bÃ\e\12\a\8b¯¢x@ øÁQàC\ 2TFÃ{0°ÃüÜ\1d÷\1aé¨)+**mÑ2´tt÷\v\8fO\87c\8a@\18 \18ì>\1a\ 5hmJLðÅ\93v¦º*kåHÔZ!\v QÒó\17­P\80Õ}à¨\87Ï\8d¨øÔ\9c\82o«[,,¾b8FQ]Ã\ 3ÿ3:*\84\ 1>Lz[}Ù«§÷C}O;î5ÖUWQVVÝöëNkgÏ\80\88\84ç\ 5\95 3\88\82!
+\ 6ð\87\84\bÿ3\87-\rÔ7\bÛ\9b\8c`\88\94\16×(\15mCs;\97³~7ï$>{Qô¡®µ\1d¯n±±@ï-¼~!\87QôGx\19L\1cF\98\9f\87\93õ®\1dÚêj[5t\rÍ\ f\9eð¾\16\9d\9cUTÕ\ 2m\8a\b\18xcÀ}¯8÷ñ]¨µ;µ\95å\97Ì#Mkq\16@£fB\8dÚ°EÇÈÒ\1eTwèÝäôWÅ\15õ\94\ e±T÷ø/?ú\r\89¯B\18ýtj=ðÊø[\81^.v\16&úÛutõ\8cvïwöð\r\89Myñ®\86Bc\10cSÂ)    \82\91\97þàÖ\15wG\8b\1d\96/\ 4íM\8eÖ
\v ´sdäV+ªm7Ùwè\94w`xì£ç`Ók\14cuÿ\1f·1*º\8dü\8c¤è\e\97N;ÛZ\9a\9a\18\9b\98ZØ:¹^¸\16\99\90ö¦¬¾\8dÎä\ e\12\0cL¥jÞå\82}ÏÛe¿\89Ö¦Õ\8bçJáíM4\f\11\v¨´K×\0\8dÚe}ØíâUauSAusyb\1eQÿå:0\9bj\aj\9b\9d\12\e\16pÞõ\88ý~«}Ö¶\ eGÜÀ\ar/%»¨¢éSwÿÀ\10\ 1K\1f\80Ðå@0\ e\99ë!­\9d>\99\94öFÝ\8d³øy©ü&u=S\eg÷K×#auÃMOÜÕý¿®ã\v\80Á\86C»äuzÒ\9d\10\7fo\8f\93G\9d\9d\8e¸\9cò¼\14\14\16\93\9cñ¦´¶µ³\97Í\eúL\0\fXß\F×G°q¦Ü\ 5Á°\81Á@ZKJ{\8f±\0ëÅZ¨´¶G<|~\8bJx\9a\8bU7¨\v>\11uñ;×\81\ f\8a®¶\86òÂ\9c§    wB\83|½½<Ï\9c=wéÊ\8d[1É`ÿ¬l¤Ò\99 ¿?\8bý\17¡\87£\8d³¢à9P)\ f\1d0\18di-b1QÄBC\7f÷\81c\9eP£À[£êf\12TÝ¿{!\98[öt´Ö\94åg§&ÆDܼ\1e\14\10\10x-8<:îQúKð\85P:{Y\ 3ÄT\ 6*,¤r©±Á\17OØâÁ\98BJ{cû\ 5ìnÀâ\17eM\83=@i¯\84@\8dzWÙðMu\932£Ð\85@\9fá±\19]Ô¦ªÒü\9c´G\ fbïDÞ\8e\88\8c\8e\89KNÍ|ýöCmK{7\bÆ\10\110À³a}·V¿ÍN\8e
+òt²ÔW[GZ0\84»\1eð(Äâ_æ\a\8f\87Æ<D\1aÕFëéÇX\90Ó\17Ø\85ÀQ1Èeõv~l¬.+|\95\95\96ò0)11éaʳÌ\97\ 5%\15u°Å`ZÅ?¥¾âSª½©</-.ÌÇÕÎTGyÍbÐ\18d\ 4\ 3\8a\14b1sÎB0£\10\8bs\ 1\8f2\85\1a\ 5Y\bð`\90\94\f,\1a\1cfOg[SmyIá\9b\17ÙY\99\99Y9/Þ\14¾ûPÝHiGF\81\89¶¸\1f\r]
+L©ºÒ\97 ¾Ï\1f³2ܶa\ 5Ü1P0\88e\81\97·ÄÔ\19³e\96Ê+i\18\80\15÷\1c°ÇÇYùe5ÍÔ.\11\v\1c\ 6is
+D\ 3Ò Q[\ej*Þ\97\14\17\15\15½-.y_QÓÐBí¤ãv÷\85\90Ê\0.E£T¿ÍJ\8a\f8ãh®§ºVn¾\14T)R\86\14`1ERz\81Ü\9aMÛô÷\80\\ 4Þº\9f\92\8d\94\16¾4o\10¼5\82A\1e\8dQ\8cÆ\0\87ÙKï ¶6Õ×VWUUU×Ô54S¨\1d]½L¶È´Åýä/#Ã|v\1fp©üôø0\9fSv»´7­\92\9d3\83\8c`\bË{ú¬ù\8bW+ªïØm\87X<É)DJ\8b±\0Áø\86\86\98ß~ü+A\83
+f\83Åè¡w¶S?RZÁ¡´}ê Ñ{\19\0Q[\ fª\f°ñ5¼\7f\9d\1aó\9b÷1kCõõËa}O")\18°¼çÊ®\¯ö«\99­\8bW@¸\90E7\ 3c1,Àh\90X\e\0\ 6ÌÆ\10\7f\80ÃböõtwÑàé¢w÷2\98\10\ 5Öb\ 4ü\18¸o¢Ê(É}\14}õ¬\93Å\ eÕ_äæIaõM<\8b      `HÍ\98½p¹\82\8aîN\9b£\9eþa÷R\0\v|½àC\16\0\86@\80\8f*ri\b\86\ 6ù\ 3\6«\9fÉ\80\87ÙÏbs¸<>\1c\9c\ 4Ù\1dª\ff\17¥\ 6TF\84¿»\83\99®ò\9aEsfL\ 1S\8a\84`\0\93\ 2Cj\81\9c¼\92\96Ñ>'\ f¿\90ØÇÙ\ 5\90E\8f\88\ 5:\10Ç\b\99»\ 6F\ 3̪A>o\80ËårÀ¿\ 1\1e$\ 1Ç&A¿\ 4õ7\87ÑÙRY\98\ 1+ãÀN­\8d+\7f\96\86\9f\84«\14
+ÆÔ\99s\17­RT×·pp»\1c|÷af\ 1\pÁª\a\ 63d1\84\ e\1aVä.\e\bÇg\ 1ü\ 5\83ØA?\83È\88¢þæ\80þ.Ï{vïæÅã6FÛ@eü4M\82ø)õ\ fÔ\18\93%¥e\96)¨n7=pÜûztRF^Y\1dÈ\ 5TZ\14\8b!ì*\86Æ>HñßÁø\17\83á\18\ 1@>\v\ 4ø¨Äª\8b°i      aÀ\95¯\11ö÷\8dóG÷\19¨)@±ýa"\19.5a"
+ÆêM\9aFVÎ\9e\ 1\11ñi¯KjZ\85,\ 4ð³\14~\95âÕ\8f\88k\18÷j0\1e_\10\12\8c\ 2Á\82\8dË\14µ¾ôåã;°¿Á\96±dîÌ)?\0±%\96\ 5
+Ƥ\1f§Ï\92Yª°Eo·½ëå\9b±Or\8b«\9aÛ»\99\13à0øà\f¢YMæ\9cÂng\9cCäã\90LuC\99z\18\15xÆqÏöͰ¿á\96\94\9aø=P)ÙU\e5\8d¬\8fz]\8dJÎ,(o¤Ò\ 1\v\10ÀyÍÿ\va\90|\10\f&ýcMqvRÄ\95Óöf:J«dgK¢-\83p\18pJIÍ["¯²Ýì «Oèý§¯Jë(´>6`\ 1Æ3Ö\9e\7f/\18Ðli­ÕE\99  á¾®v@¦V,\94\9eN\ 2\fX\19\93$¦ÍZ°lÝV\83½N\9eAQÉYE\95Íí=¬\81Axï#H-ÿ^0\84f[\90\1e\17zù¤­±Æ\86å2³È\90©ï¾\ 3.õ£¤ôÂ\95\8a\9a\8f_\b\8eM\ 5ÁhëbpùðªGP4\84\9d\81t\8aÜ\ 2'ÿ|\19\11@³m\82f\e|ÁÅÚP}ÝÒ\ 5?M\95 C¦ ØÎ\98#»ZIÇô «oø\83\8c\82\8a&\10\fÞ\90`\ 4s\18¬4p\9b\12\bHUÛ¿àü\87ýr\8f\862\ fãx\17Å\Ì0ÌL\8c»\19\86d0L\17\f\85"º¹t\9aJ¶¨(q¬[º­²\92\1c+Q\91j\8bJS\e\90J[aS¬ã\92\1c\94ZSI\94´íï÷Î¥=§\7fö\1f¯sæ}?ç0\7fÿÞÏy\9eï÷AÎ\fØlëÇ¡ÙN\9eBP×Ò5µ\9eãµ",a\7fÞ\85ë5Mí½ý\ 3`0¤-Rº§\80\ eéÕ§ü[JÞl\1fÞ*\86Ív\15h¶¦Òf;q¬e\802\ 5d°Ø<'ïU\9b\1f/ºYûèÙKÉ \1c\fÙÅ\ 5m\80\10\a\7f\9bO¹e\80fûòYËý\8añh¶\ 4\8a\1eÇÆÙgõ\96]\19¿^ºõ°õy\1fØR\9f¿Èî-$6\80\ fxrÈ](³\8cQX¦^t4×\94\8b\r@³ÙÊdØ
+\17\ 5FütàTÉíºÇ] 2>ÉdÈl\0\1fðß(Ì\11åv\81Èèïmo¬ºVx89&ØÏÍ\ 1¥fû?d 6\10\1fðGÙ] 2`\99zÒp÷òé¬=Qk\97Îå£Ôla\80#\99!_S'/UþGÆW\99\rD\87B\85\90\95©¶úßKó3\13#×,v±3\ 3e
+\85f+oS\8a\0?Qtó\ 1È\8c7\83Hf|UØ\90£ì.äeªëñÃÊK'3vmYíãlÃa¡Òl¥w\86:\r©¶¢°miy¿UÜoé|)y?<2\8a\7f¾c¼?ר\ 2ËÔ\87·}Ï[\1fÜ,\82Ív%h¶li³EG\ 6Y\13\96o\88\11\97U7¶÷ü\rî\8cÑ/ß\8bP~\eòfû¨öÆÅciÛ7\89¼\1c­MQ\92\ 1\12\E\95¤Á4´\14¸ù®\8bNÊ>}ùNý_ 4ä\87\ 6Öø"m¶\9dà̸\90·\1f93Ð\95A¤2ôÍù®\8b×D\80C£øfmKç\8bþ\81¡\8f#ð¨À\1a£\9f?\r\rô÷\823ãúù£û\13B\152PÈ\f(\ 3v[\16\87ç´P\14\96\90\9a+.«jhëê\93¼ÿðñÓ\br\`\8a\91\83o_w?m¬.\13ç¦*d\80\0\aÕ\16\85C\ 3\8e\89Õ,\ fÿà褬ü\92[µÍíݯ$\ 3\83CÃÃ\1f±ÆðÐà;I_W[ýkçröm\r]áåÈc³`µEC\ 6Hp$4¸`O\ 5\86ïHË\13_»[×ÚÑÝ×ÿæÝÀûA¬ñ~à­äUOgkÝ\9d+\85G\10\19N6\1c=:\95¤
+CcìGCe*\91¢­Çæ9z._\1f\93tðTQEÕ\9f­í]½}¯û%\927\18CÒÿº¯çY[Smeé\99Ã)[CE\v\9dmÍô\19\1a$5tdL\9eJ\0{ÊØÒaÞ\92Àðí©9gJnT×·´utu÷ô¾x\891^ôvwu>i©¯ª(ÎÏN\8e\ f\15y\ví¸\86LM²44ÆØ\ 6\f\r°§\18úf6\8e\9e\ 1ÁQ\89éG\vK+î=hhyüäiGG'ÖèxÚÖÚT_Syåü\89̤Ø\8d@\ 6ßÂH\87¦NPU\19ûÑ\98\88ô)u-8\1a®\8bVn\8cÝ\93\91wöRYeÕýº\86Ʀææ\16lÑÜÔØPW[Uy­øtnzbôú\15Þ.ö\96Æ N\11Q
+\rЧàhpx³=\96\ 5n\8aOÊÈ-¸PZvãöݪê\9a?°FMõ½;·®_):{ü`ÊöÈàå\v\85| C\9b
+B\ 3\8d=5q²
+\92\1aF\;'O¿ Íq»Ó\ e\1d+\10\17\95\¾ZV^~\1d[\94\97\97]½\rQ\p,k\7fbì¦5~\v\9cù\16R\19 4ÐØSp4¨t\96ét{¡\97\7fPXÌνéÙGOä\9f>{N,>\8f1Äç
\14\9cÌ;| uw|D\88h\89û\1c[®\\ 6:{
+\8e\86&S\9f3Càâå\17¸!2~×Ï©¿df\1f>\92\93\8b9r\8e\1cÊÊLOMÚ\19\17±>Ðo¡ëL\9e¹\91\ ez2\90BE¤hM34³\16\b\17,]ñChDLÂÎĤä½))û°FÊÞä¤Ý»¶ÅEm
+Y\1dàãîÄ·b\eLÓBK\86´P\81E¥­ch6ÃÁÉÝÛW\14\14\12\16\1eùctll\\<¶\88\8b\8b\8d\89\8e\8a\f\ f\r^#òõñ\10
+x\\13=&\8dB\ 4\ 1\8e\92\f¸¨È\1aÀ\ 6gºÝ,\17\ fï¥\ 1¢ÕAk×\ 5\87¬\a\ eð¹!!Ák\83\ 2W.÷]äéæ<ÓÆ\92m¨C×P\aÕ\16\85\0\9f _T\88\r\ 3S®5\7f¶pÞ|/\9f%Ë|ýüý\ 3°\86¿¿\9f\9fïÒÅ>^óç      gÛó,9F,\ 6\8dJ&Hï\fTdLR\816¨ZL\96\11Ûb\86­Ã,G¡ë\7ww\ f\fâîî6ÏUè4g&߯\8aË6d1µÀ` \14\19\13d\8b
+±A£ëè\19\99\9aYXñlíì\1d\1c\ 4\82\99\98\108Øóíl¬­,ÍÙÆúº\fà\82\ 4\ 6\ 3-\19
+\e$u\r\1a}\1aKßÈ\84Í1çr-,,±\88\85\ 5\97knÆ616ÐÓeÒiÔo.P\91!³1U\rè Ò´\19L\1d]=}\ 3\ 3C\80\11Ö\80\8f60Ð×céê0\19Ú4\r
+\99HP\85K
+E\19 7àp\0\1dd
+U\93¦¥M§3\18L\8cÂ`0èÚZ4M\r*\85L"¨Á¹@o0\146Àt¨ª\11Id²:\85B¥j`\16*\95J¡¨\93É$"P1\15e\17
+\1dpY\ 1\1fj\ 4\ 2\11BÂ(ðí\ 4\ 2\10\ 1L * \v\14e@\e@\aô¡2e
+P\ 2PÅ,Èó¡\b\15D\ 5Ú.d: \ f \ 4¢\82\1fa\92Ì\ 4Ê*¾ù\90;ÁQ|\8eqPñ½\13\9cñÔ\80\83\83\83\83\83\83\83\83\83\83\83\83\83\83\83£4ü+À\0\ 1_(.\rendstream\rendobj\r1093 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 343>>/Filter/FlateDecode/Height 305/Intent/RelativeColorimetric/Length 21892/Name/X/Subtype/Image/Type/XObject/Width 343>>stream\r
+H\89ì\97i8\94}\eÆ-3c63\98\19\8cmÆ:È^¶GÉVB¶\9e²\95(ZH¥\92ô\96\12E«T¢¼ô¤z*O\1e¥"åÕ\13-\12ò¦"kÊ\92µl1\96òþÿ÷ð\1eé8ÞåÛ}\7f\98óËýõw\9c÷õ?Ïë\12\11\11J(¡\84\12J(¡\84\12J(¡\84\12J(¡\84\12J(¡\84\12J(¡fI\14\91\98\98\18òE\9bæÿ\90è\8cÐ\ 6ù\ f\9añSL\\1c\a%.\ e½E\9bê\7fH\80\fQÅ0éì4\1e\ e\87'\10$\88D\12\91(AÀ\8bcÝW@\r\91\81à\14`\ f\16áÃ\ 3CId
+U\92F§Ói\92\14\12b,ÚhÿE\90\1a\92\80\88X\1c\ 2À\87ÃK\90(T\1a]Z\86)+Ïf³åY2t
+\11Û¾BW%È\0\1a\f\ 1\99HÀa\8d\15¸J QhÒLY¶¢2WMS\8bÇÓTU\96\97\91$AV\8cÁþ[¢¢âx"\85\92\95\93eHQIXó\15ò\91$¥e\15TÔ4µç\18\98\98\9a[\98\9b\1aéª+±è\14      äqa\ 2Wô§Ö\aàA¡³ØÊ\.GI\ eÌ\0^\1c\13\9c3\82|Tiy\15\r]£y\16óm\1c\1c\9d]\\96ØY\99èp\91\81Åc¢\ e\90Ò\17\87\12\9b\968\8e@¦³\14Õxºst49l\19ª\ 4¶ÆUT\fO¢Ëªð\8c,\16.rv_î³*`M ¿\97\9b½\85¾\86"\v¼.    <N\fmàéR\85\82Å\ fû\9f A¦3\95Ôç\98\98\9a\99\1aiså¤Èx´)gIT\9c@\91QÔ4²Zäîí\1f´qóö\9d»"w\84­õv¶6Ñæ²\99t\18[(w×t©\82=\85\90\ 5¢\82ÜRÒÐ7[`gokeÂSfR%°\94\ 2\80\98H\93åêY.^¶zcø®èØ\84c'\8e\1f\89\8d
+[íé`a ¥"Ï \91Ñ~_H©RiÒ2\f&\93!\ 3Å`°ä\148Z\86\96vÎî\1e®\8b­\fÕåéD\9c\18\9a\90³\ 4
+\8b@\96fk\9aØz\ 4\84E\1d8r*%ý·ÌÌ\v©\89±\11ë}\lÌô`u\91Ñ­YÄUI\19Y\ 5e\ eè'\15(\ eWU\83§?oþb\ f\1f\7f\7f_\ f\a3m%i\f¥\0|^DI¦\8a®Å\12ß\90¨CIç3¯çܾ{77ûrê±è­k\96/\99oÌSaÑH¨\12\83ô'J2Ø\1cM\1d}CCC\ 3 C#㹦\96Ö\ e®^\ 1ëCC\82ý\96.Ðç0)\18²\15\f\ 2YJ^ÝÈÚ=pÛ\81\93éWoÞ+*~ò¤äa~öÅ3ñQ¡«\mæò\14\19èæ\16L\7fi¶ª®\89Å\ 2\e;({\87Å\8eN.n¿ú\ 6\86\84GFEn Zng¬Æ¢\12°b+²³ÒX*:f\8b¼6D\1dNýýÖ\83\92²\97¯ª_U\96þ\95\97\95\9e¸?<À}¡\91\9a\1c\8d\88b
+ éÏâè\9a.\â¾ÜÛ×××o¥\7f@àÚà\r\9bÂ#£cããc£6ù9\9ajÈI\12°ÒYÈÎ
\0ckWÿÍû\12\v\1e\97¿~×ÐÔT_SUZ\94{99.ÜßÅR\aÝÜ\ 2\90$)\90þ6®>kC6\87\11±s×î=Ñû\ f\1c:|âôÙÔä\13\a\a¸\98kÉÓ0³
+ ;«\9cª\9e¥£×º\9d\87\92\16\95U×·´ut´\7flªyù8ÿjrL¨\97­!\17ÕÜ\ 2\90d\19%]K'ß\r\ f\1e>v<1étrʹ´ô\v\99W®^¿\9ayîhT°\9b%\8f\8d![Å%(\f%Þ<;ÏÀ­ÑÇÓ®ç\95TÖ¶tt÷}îëélm¬~\9a\7fùDdÀ\92¹ê²hæ\16°\95Âàè[{\ 6\9d<wáÒï×þÈι\95{çn~Áý\a÷óþÌL\8aÞàñ\8b6\9b\8e%[%e¹\ 6ó\97®\fÝ\9d\90\9c\99óàYuC[÷\97Á¡¡ÁþÞ\8e¦WÅ9)ûÖ¹\9a\9a[\ 2[\rmW\84F\9fÌÈʽWø°øñÓÒç/Ê+\80\9e\97\14d¥Ä\84xZiciZqDº¼\86\89ýòà\88¸S\19Yy\8fÊkZ:?\ f\8d\8còGG\86úÚëÊò2âB=,yò4Ôm5°õÞ\1c\9br-ï¯ÒÊWojÞÕ746555Ö¿­xt3-.t\19¦l\ 5\1dKgk\99\85E\9fH»v»¨ôUC[ÏÀWþøÄÄØè`Wsåý\8bñaË~AÛV\1cYFYoá\8a°¸óÙÿ(«®kþØÞÑÙÕ\rÔÙÖüæÙ\9d\8c\83¡\9e(3Î\16\9cV6ÏÜÉ\7f[\òå[\85O«jÁ°\ eóÇ'¿}\9b\1c\eîm©*¼\94\80º­"p\13PÔ±òÜ\18\93\9aý°²îçÞÏý §\90¤j\83/ê xQZXZ°Ä\894yM3'ÿíñç³î\95TÖ4·÷\ e\8e\8cM~ûþýÛø×¾\96ª\a\99ñ\9b<ÑF\ 6\r@\93Ó4s^³ûÔµÂ\8aú¶Þ\81áQþ\18\10ÿk\7fgCy~FìF7s\rTku¶\90ÊR\9f»xex|Zváó×\8dmÝý_ù\13ÀUhkïû\97\ 5¿\1d\fq3×D\17\19^YL\8e¡\9d÷Ö\84\vwKk[{\87FÇ'à\83\9aà\ fv5\96çý=fýRSu\16v\8eWQ1\ 2l\ 3\9b\15a±çn\14\95×~\0}5
+"àû\14°u¸§¹"?ý\0úÈÈ= À³p\rÚs&ëaUs×\0`\ 4\7fþûäØPWcÙ\9dóû\82\9cæªÂÝ\1a5ÄÙ\12\0k[º\ 5ï9}­°ü]kÏÀÈ\18\18Ö)ÄÖîÆ\17Ø@\ 6\8f\8aÊä\1aÚzm>\94~ûYMkßð\18°\150\ 2\9fßJÙ\13èhÌa\90qX±U\90\ 2j&\8bü¶\1d¹\98WZÓÚ;\88\fÂÔ\fr.&\90á1(\ 56\16§\80ÈÄ+÷+\1a\8f\8cÃ\17596ØY÷,'y÷j\aC\15\19\12\ e#\19 8\f¥\95t­Ü×ïKÉ~Tý¾{p\14\14\90Eaº2Tæ,ðذï,Àlé\19âÃZ\9d\1c\eøôîIö©È\95vúÊÒD,Ù\8a\83ãjìà·íhæ½\17õ\1d_FÀ´N!¶b\b\19`\12i\0ÓÞgK|Æ\9dÒwí_¾\8eC[ù\ 3\1dµ\8fo$íô³ÕS\92"be¿\12\99\1eWE\98®{\93o<ªþÐ;4&\b\ 1L!\83\93¥\14´Ì\9c\ 3v\9d¼Zø²©k\10î+\93üþ\8e\9a\92¬\93\11¾\vç(JaæÈ\12\81\82:`qÁö²%áB^Y]\87 ¶¦¦\91ÿ\0È6\18@F0a\f\80\9bàÜÍÇo[?\83\ 6\18Û\81­\89;|\80­t´\19g        Ö\ 1<`\9d\ 3£\92®\17ýó}7\12[\88­XB\9e\89\ 1\98V\97
+*\1a;\aÀ¸N\0Æ·Å\b£®\ 2ú\8c?jº\ eô¬\7f\r\8dMË}ZÛ\ 6ç\0\8a\bb\0,¯Á{Ïf\97¼ùØ÷u|r\ 2c\8c?
+\99\ 39pj­\8a8~åAåtla,\ 4\ 4¿\9fÊä\18Øzo=|ñ^yc'À\9c\98Å\88¥Ê\12\11Ì\81´¢\ e\²Rs@lõa³eáï§Ëk\9a¹¬Ý\93\fÆ\15¤ëØ8d|r#)r¥­¾\12ÚÛÊÏB\96,\96ª\91½oø\91Ì\82rAlakÁ\12p"i¥oãµåpfA\ 5|Uc|ÀøôÏ3Qþ\82Ý\1a3W\16\11óX\1a\ 4æ \18\89-в?\9d\ 3è##i\ 5Ç5hoJÎ\93\9aö/#üÑÁÎ\99ã\95Ë ãÑgüQ\82Öâ\18\809H¸\98_ÞÐ9\0N­Ip¼6<ÏMÝ»\ 6\80­Óãj`ë³íè\95ª÷=C££\83Ý\8d/î¦Å¬s1UgQ    bè?©\1f5\13[ÎkþvæFñk¤e'Ç\87\11äýÁÎóÔ\98\14<\ 6\90\ 5ãªeá¶>æüíÒºO\ 3#£C½ÿ¢¾ÌÃjNû0>iï8-Gû®Eû*1\95\145JÑ:¦d©È\12Ù²«È[È2!\8eµ4\115C\11Z\10*\956%B\9b¨ÓétÖ\16æý>¿Næí`.sMç\9d\9fçﮫçw\9fû¹ïÏý²<\97\1c\136÷û    \8aÄ\7f¿Wy\ e\1c¼WÄ\92¯\97`v\ 5Y»^>Î9¹k\99Ûd\1dy|8\ 1]SVÓÜ)`Ýþô\82ê\16
+\83Å 4Wݾ°oÕ|{C@\ 1\1c\14À\883\ 4Y:\93\\826&e\14 »ö\rô3)¯+óÎÄ-÷°ÑS$\8aàÁ    è\9aÒÊ\ 6v\9eá±äܲ¦w½,&\15À5ã`T\80\93\99\ 6I\ 2\ fOjÄA\90ER3þ\1f»ö÷³º[ªï¤\82\13¦âf v\95×¶r\r\8e>z¥¸¾½\87ɤAge%oY\ 4I\85¿pýÓ®?oä¦k_\1f\eM\98_\ 1\\11a\89\7fÅ\ 3\13À\ e\7f¯  ¿¾º©£odBZ~U3\85Áì}×ô8çÔîP|\86ëÐ\85\87í
+0ÐËîcÓÞ4\14_9²iᬯ¡\17LÒ1cø¬¬\0\92¾\8dGX\f9ç1¤\0\13ÂõÉí\vñ(\\95¥p0Zxΰ]\11\f\0»Â\86á°é_O/\98¤\82ØAÒòï\9a\90\ 2rZV.ÁÑ¿\-nxÓÃdpÃÕ\7f\86)zR8ÀÀ\91ç£]\81\rÃb\ 3
+\94ß8\8dèEOQò¯\1e\18\12UPHX\ 4\1da!A>ê:\9c\ 2~k\81\ 5àÇg p}\0\83 ÈÙ\12{Rø´+l\98àÍG.ß­k¥2Ù\8cîæª;©ÿY½ÀÁè¯è\ 5\90\88¨¸\ 4\81@\90\10\17\15\16â§®\90\ 2À\ 2óVì9{³âU\17\1dÂõEéµ\94\1dKæLÒÆ \ 6\8e<`\ 4\ 2IÝdú\82Uñçn\967ubôòô\r\813Í5¾è\ 4Ì©Â"b\12D)\19\12\89$-I\10\13\11âß×a, c=gÉö\13¿\97<\7fKcÒ»^UÜ<\13\eî\81:\v\17\18\fo\18·Å[\93¯\ 2½P\11½4>Ê>¶-d6æ\84Ï_\19=\7f\111\82¤\8c\9c¢²ªª²¢\9côXqaA¾Ù\15¥À8M\8bY\v7\1dÉ,®GáJ\ 1\f\84\8d\1f\f\1cy°©¥a6Ã/2!õö\93×è\81uB¸\9e\89]îi«¯ô\85\9aEV\15\95 \92äU4´õôõuµÔ\14\8añ1ãÆ\b\89˨\9a\85p-¬míf`\9dõw0ðÿ}\90\94õmæ\86îJù\1d&A\ f\83\ eNÈ¿\98¸ÖÏÑTý\v\e\ 6v\84(AJNe¼\9e\89¥õdë\89¦z\1a
\12||\8c\ 2\82¢RJ\ 6v^\11{ÏÝzò\9aBgöü\1d\fü7Î\10½X:/Ü\90\94QTÛÒMgPÛë\8b¯\1e\8d\ evÁ6Ìg´\82\9fB\94 ­ >Ál²½Ó\ f\8e\96úêrD1þ\91\ e\\92¨ ;åÇÐÝäÜò\97\9dð¤Þ"\fÄ\92J\8e\80?\14À4\82\afdï\1d±çì\8dò¦w4\ 6íÝ\8b²\1crL\98\87\rJ\81ϼ0øH       )y\r\ 3+\a\17OßÀ@¿y®ö\16ºÊ2|$\1dÔ¬@®³\17Cg\95¾\80A@\87¤Ê%#\fÄgga\ f\f\9c`='dkrÖ\83\86v*½·\v\10+-!Ò÷\v)\80r\83(§nhíä\11¸4"rÍ\8až³m\8d5d¿Ôo£q°Î²t\ e\8aþ%ëa# \0ì¬*ØY+±ÎÂßÎú\8e[³PZþk÷_̯n¦ôÒQ
+\\81\14pµú,\v@²JȨèMrò
+Y½%fOÜ\8e¨e\vfZé*~ÖÙ£tàI\91ÔÍ\9c~Úx8³¸¡\83\860\10ë,\7fG|î¬ïÐ\95\11lÛz\86Ç\90s`iÑè´·/Êrɱá\9ev\ 6ʰ\b\8a\92UR^Ë|ú¼Åëc\93\8e\9f<q(.jÑ\;#5ÌÙ|\12\16\ 6\81\8c\9a\89£\7fÔÁK÷\80°X¬?wÖxY\\86ë\10lk[¹\ 4G\1f½r¿\1e¥\0¥¹º }ÿº\0'sMY\ 2¯]±)©jhë\1e\1c\15\7f<53ëòù£»Wú9YhÉCiñkÃ
+\b\8a\1aO÷[w ãîÓö\1e\16\9bÎÝYnÖ:¸ÜY\\9dÔM\1d}#\13ÒîT5wA
+¼ix\90}lû\12÷)\13\14%yì*  \ 4Y¬=q\96ÿê¸\13\97n\14\14Ýþíü\81M!îß\e¨\92\b¢Â|Ò\15
+@ZÅÈ\ 1\81kQ\1dÈÊaPÐÎ\8a[îi£§(\89ÇA\80½0)%}\e\8f0,\ 5\80\ 5`\11\9d\8f_í3ÝT}\1cÏ\13C?\ 2\90ÃT\8f\8ffÜzXQYZp5%6Âg\86\85\12l\ 2´aùð\8d\b\\95\8d\1c|"\13Ó\8bjÛzØ\1c\16\15è:-aÍ\ 2\a#\15i>\86ú?8Cè\8a¥\06`\19ôîÖº{\99\83g[ëòÚ\15\81\83¼öDçÀu\89\17n<ªml¬+ÍK;¸i\91»\9dÉxE\12Q\\847\8b\8a «¡ý\825      \17\v\91¬}lZûÓ{\97\92Ö\a:\99©\93ðÙYÃ)à·6\11\85Bg`¥u&.ÂÛÁXm$c!Ì\95V1°ó\bÝy<ë~í˶Ö\975÷³SbW\ 5¸Ø\98h)\8f\93ä\8f®\9fÈÊ¡¿m|\98\95¼%Øe"^;\v\15\ 2¤\0°@ìiX\ 4\9d\94\96\9aÂK\876\ 5¹NÒQ\18aWp6AVÓbfÀÚÄÔ[\15Moº:Û\9f\97ߺxx[¸¯\8b­©\8eÊ8¢\18\11h\ 5e+È\9aVPÓJe÷÷1:\9bÊ®\9fܹÔm2^;\8bË\ 2\93f\87l=\96ýðY\a\8dɤu4\96^'Ç®øÄ®`\eIÅ      SÜ\96l;\96U\ßF¡õt6×\15_;»?:Ì×ÕÎLGIæ\13t\18\85û!T&©\99\89\1c\96µ\9fEy]\99w6n\85§­¾\12^;\v¥\80\86\99S@ÔÁ\8c¢ÚV*\93E\aÆ*Ì8´ñg\17\1e»¢\fP5r\98¿rï¹\9b0u{\99\8c\9e\8e¦ÊÂ,r"èêbc¬)Ï\8b\ e£p=\84Êcå4Ía²$^äÊʦ¶Ö\14@gùà·³\10\v\18\8eØ{îVå«.\ 6\ep»±\ 4ÙÕk¤]\87&\99ùÌÀõÜ\1f\80æSÚ\9e=οBNØ\1c:\1fÆ\96\92´ø¨Ë:FHDBZI×Êù§õ\aÒ\vjZ@Ö\ 1\ eê¬ËI\epÜYX½+èNv_º#åZéó·½l6\ 3M\82\8c$^»\82¬\ 4\80\ 6×E[\92Q\ôBȱz;\9bëËîd\9e\8c\8f
+v·5䩸Ѹ\1c¨*.)§adë\16²ùPFaMK7«\7f \ fuV6Î;\vÔ\92\1doé¼pÓáL\18Z\80Û\1fíÊMWÁaYE\88ò ÿ²]§rÊ\9a:\19}\ 3\ 3\9e·¯ëJòÒ\8fn\ fó\9efªÁ\vºÿür\82 ª¬ª¾\95Óüð\9dÉ\99wk[AÖÁþo ³Pdʨ\1a\81¦Í¯nîfr8Ãv\r\1aaWøD¢¢\9e\8dÇò¸³y\95¯)ðy\83\ 3\1c\ 6µãeõ½ìSq«|g\98\8dº¬`V1â8U]K\87\1f\83ÖÅ\9fÊ.~ÚFe\r\f~\v\9d\85\15¼\12È\15\1es:÷1¸\90\ 3¼ýÑ®&0µ¸õ\ e²J\ 2\8ayEì=\7f»ª¥\9b=ðþý`?\87Ni­\7f\94sfïjLÖQ\ e\ 1\84t2Ê:æön\ 1\11Û\ f§æ\964´#Y\a¾\89Î\1a\ 3CK\e2skr\16ÊLN\7f\1fs\b\ 6\80]ajIqí\8aɯoç½2þÂ\9d\8e\81÷\1fÞ\ fö1©íÏJrNïY¹`\9a±\9a\8cĨV\16\94ÂxS»ÙþáÑ   ä+ù\15Ï;zàÿ\ e~\13\9d\85\r-\f±~E\rÏ\ 2\82ÁØõt\Ä|,0Á®\ 2\Y\rì¼WíKͯ\ 6Ð\19üðá\ 3¼Gj[ý\83ßRv\85\1a(\83sFó\13\93T\r¦üà\e¶yß\89\8c\eÅ5¯Þõr@Öo¡³\10bIq\11\v\85&³o\0Ù\15¦ÖáÍ\8bæLÑ\ 3lÂ.Îu«×G·~ø\ 3deÂ(+\82¿\f\8c8ª9'\80 E^ËÂÑk鯸ãé9wË\9fµRþK}\99\87C¹6`ü:Í0ÌXÆX&ËØ\97Ðb\8f\84PQÊrH\8b"u¨\ eÒÉrÔé«DB}Jê+\89R®£T¤R\92\92\14á \8a¬Ç\12&û23\86±}ÏóÎÄ,:_\7f}\17Ï\1fþÁ\ï{ÏýÜ÷ï¦\8cNLN.\88ÎâD¬n
+¨x`ׯÒìä¨CÛ¬u\14%\850(ðä0[Ae9ûEÞ~YÙ\ 6²\15ºu\94ÒýwyÎíèß¶YÁÆú§7ü  \9e\1f\7f(0\ 4À¾\12\93Õ4Ù´;èLü\9d§\ 5e5-_\ahc\13S\93ã\v¢³8\11k\88\ eÉ©ïKuAú\95ã^ö«4eÅ\90&\82\80ET7qô\89HΩhé\e\81Ù:N\1fì¬-|\18\7fÂÛÞDCZô;k\0J\ 4\ f
+ùù#â"¢Bd\95RÖ±rõ\r½ügÖ\9b²\9a¿;z\ 1-ONM-\88ÎâD,\bÜ\80\9c\86»\9aÊrRÎ\ 5¸­ÓS\96\12Æ\0½`µI©\1amÞw*ñ\19 \ 6\1ax¿I\ 6­·µòejL ÛZ]%        !þ9|\ 3%E¡Ñ|üÌÃ\87F£þ§´LQ\ 5°"\12$M\13»ÝÁçn>Ê/ûÜÜÑ3H\ 3Ñ
+/É\ 2è,\1eÄ\ 2DÊ õ·×¼Ë¼\16ºßiµ\96\1c²\9e\10S+ë\ 3b\88\7f\ÒØE\19\9b\0\95<ÜÕP\92\95\88\14\96,+\839?\1a
\87\11\10Ä          Ã#\84Ã
+`ø\99ÊþÃ\ 3\81û\8fÁ
+\8bIÊ©ë[mñ       ýOZnIMsgÏ\0\95Î\80M9¹0:\8b\e± èSº\9b+rSÏ\a»Û\18¨\10E ]\17¡±â
+:ë=\8e^Î(¬#\83¿\82\19ÐQSp?î\88\87\8d¾2\8c`®×ûæ:aQ1qI)âb"QR\82\80\17Æ "Ê~ײPU\ 1\1c^BZACÏÜÞ3èìÍ'ï>6uö\ eRècЬS\v¤³8\11\vAC@N\9d\90\9cÂ}\9c͵I\88]aV\90\96\b<\9f\96\ 1þ
+r@kenÊÙC[ÁÌ\15ã1+P\15\88\8a\13!HÉ\90\14UÔÔÕÕÕT\94äe\89\12b"@Y¾ïZ\16<\8f\80\90\18\91¤ºÔp\r\18\ 2§\80YËêÚ{\ 6©@Õ\89É©éé\85ÑY<\88Å\0\ 3j\8cÚÛR\99w76Äc\83\ 1sÂ.B    \88Êh\9a\81=\90\ 2Q`\841>\86\98&)ì\80\83\89úb\9e·CTÅ\8a\10\88$\95%Ëô\f\8dMV\99\18\eê-×RS\92[,\81\17ÆbøÐs
+\vÀ\8a\1f\8b'*hè\9a®sr÷û×ù[OÞ}jîú¦*\90u\81t\16\ fb\ 16\ 4\17\9c\_\9c\95tÚ×Å|)´+j\11
\80\9a±Ã\81ð$$\82Ç`±Õ¿ÏD"NY\92\87®\80ª\18¬¨¤\9c\8a¶¾©¥\8d\9d\83\93\93\93Ã&[ksc½¥ê\8a2Rbß\13\16\8e+a   \12\b\80\8d®{\ f\9d\88IJ\7fUVßÑG¡3XªN/\94ÎâB,\10\9bSЮ­U¯Ó.\1eÙ½Á\90iW\14\1fNR\19Fpü£â\86.Ê(ct\88\ûöAÜÜ/\87\98NTJa\89\9e\99\8dãv\ f¯\ 3>¾>\a¼=wn±·±0ÖÑT\96#\12D\10a¹3\16<\8d (Qyùê\8dÛö\ 5\9dº\90tÿÅûêÖî¡\11\90«LU§\17Hgñ \16\93\84-y\9a\14áçbÁ´+Às\82\82Î:÷\90¸\aïjÉCô1ÐXÕùwc\ 2¶¯Y*Çs\15¡:"R
+ZFÖN»ö\1f>z"<âLDxè±`ÿ}\1e®\9b×\9aêk«\92\98¢¸\f\vÿ\11/£f`íâ\15\14\1e\97\9cþ¢¨ª\89ÜO\1d\9dQu\9a­³ìçqgñ"\16\84CPHm\1fÙí\8aB\và¡ø\ 11w^\7fj\1f\18\19\1d\19øò1ïϳ\87\Í4eDy¢\15\85\11\12'i®\ïê\15xòì¥kIÉ·\92o$\\89\8d\ e=âïåædcf°\14\b\8bD\ 1§°°AÅd5VÚºù\9d\8c½\99\91[TÕ\88ì\80     \96¨Ó³\9d\15éç<¯;\8b\a±¦fìzã\9b]ùQh þ\92ÕÎ\a#oçV\82f£ÓúÛª^¦D\1dtYÍûn\10\1cD\17«ê¯uÝ\7f4újÊ\83ÇÙ9/r²³\1eÞK¹\1e\17u"èWwg[s\ 3m\159)¼\90\0?\9a]W¦[\97\18ot?\1c\11\9fö\1c¨ÚÞ\ 3"\0a\0ÖauÖ\1dÐYs]\94ùrX\88e½3ø\ 2\80§ö\ 1:ÄÃI¦]ïÍÚ\15\8dauÖ\8dìòæ^
+\1dü¾2÷v¤ßÏ«4\16\8bpM,\90¬8qùeæ?{ÿ\11s3=§ ¸üCå\87òÒ¢7¹Oîß\8e\8f        ûÝw·\8b­¹¾\96\92\8c\ 4H\ 24jVWä\v\91V3´ÝyøÌõô¼²º¶næº\9a\9e\95u\ 2Æú;\10ëîët\14 þýÿ5û\91\ 3\11KFËÌ\ 5\18ñEEK/\¦sØ\15\r<­l`çu2áIiS÷ð\b\95MVa\1eY1"DUÃ\r\1e\92Áô¬ihnmmmnª¯ùPRð"351öt\88¯\87³\8d©®\86<\11\8f\ 3A0£+$\ba)e]«­~añ\ fòÊ\e\10
+\98à\90\15é¬âGñÇ÷n4\0\102_;ë'\ 4\9eVnö\ 6\8a\81\96\1f\1eC6"·]ù\80\ 1\15õl<\8f]É|ßÐ5Ä!+·[\91\16Ô6sö  Kxø¦²±½«§¯¯¯·ûkGkcMEÑ«'w\93.\9e\ eùu\97£õJm%i\82\90\0»®Àè\ 4\92\96©Ã/\7fĦæ\94Öµ÷Q Y9d\85\9dU\96\9d\14~ÀÁX\8dÈý\95Î\9b\ 3\11K\Qw½{ÈÅûoj:X)ÀmW\f\ 6YcîG.¥\17Ö}\1d¢QYÙ:Go Ì¦¨»nWðùÔ\97å\8däþa*md\84F\1d\1eìëjo®«,~\9d\95\96\14\e\16ä½mÃê\15ª2\ 4!\fz\11\9b]\ 5D\88*zk·ûG\Ï|û±¥{\88£°\98\9dÕßVù2%Ú\7f\v¬K\81y*+4\17^NÛÜÕ?
+I\ 1\84\ 5xì*\88Á\82ùjå\16\1c{ÿm-y\10ÈÊ$\ 1ðj<²²ìïu">³¨¶\ 3ð\11c||\9cÁ\18¥Ó\86\azÈ­õU%¯³î$üûøAw{\v]5\19\ 2nV×\9f\10»Êi\9a\f\89IÉ.©mï£rf+\bW\ 4îÒÎ\aî°\F\12\13\9c§\9dõmh\81\14¸ö¸\98Å\ 2ìvÝ\ 2í\8a\13Ä\ 2¼µÜ\11tá^ÁçÎA\1am ½\1aÖñV\v-YQnY\91¥ëâ\17y+§¼¹\a\ e\81\93\13ã\8c±\11ê`/¹µ¡ªøÕ£\94˧\ 3÷8®ÑU\95Æcgo2²³$\15\97[8ï?~énnYCg?Øt\\9d5L®+̸|Ôc½\8e\828v\9eî¬ÙKû{lZþ§/\ 3p\11LÏØ5î\88'´«(N\bä¥Åö\80\98»oj:\ah´ÁÎ\9a\82´\vA;,y(\a¸\9f ¿ÜÊ-h\16-\109\80´\13ãctêPß×ÖúÊÂç÷\12¢\82÷:Z¬P\92\82;n6]ù \9dé­\ 5­uõA^E#y\80ÆIX°³\1aK\1eÃÎÒW\9e¿;\vR\r^V\vÚ+ùy9X\ 4c\88¬ìv]&/!"L\0²\821v'¿ºc\806¢\1cÞñ\8a|KJú¶ Ý\1e\161Í?£\b\14\96\rõ\92[>ÿ\95\97\91\14\1d¼g³©¶¼8\8eÍ®0\ 6À$0²u;\14\91\90\91ÿ¡éë §®à\v\a\9dõ\fì¬ÍFóxg1S@ÕÈî\97ãW\1f\16Ö\91\87\10!XvÍ¿\17wt\8f\9d\91º4\ 1/\ e\ 2\8c¬Ã]\rï3¯\1có´ÕS\94à\80Gf´\1aÛï\ fK|ú\17s¶±Ý`\10\ 6@Xê`O{CE~fbTÀ.[ðá¢\82|ì­\ 57\9a\96\89\9d{@dbfAU3\0\ fÆ\ 4\9b¬`gµTä$Gø8\9a¨\ 3\14\98·²\82E ®°ÂzG`Lj^U[\1fD×ov-}v3Ò\7f«å
+%¢¸$   ôÚoçRáz¥Ñ)=M¥Y×C½7\19©p:\ 6\89V-³-þÑ)p\90\81H\99f?¬( ô\93\9b>äg\\vóý/õe\1e\17ãÚ\87qÛç\1c\1c)\12\92´    -§MÖJ\8adIiQt\92\90å\15\898\96\ eG\94$ñ:ulYN¥\94\13§\10¥\856T\98´Gû2*©\99j\9a\99\9a:ïï¾\9f§æ)\99^ÿÍÜÿÎç33Ïõ\÷u}/[#MùIã(\9c\ 4\7fgôx)9u½µ[\ eùÝ~\94\91_õ¹\95Z[°³\10
+\0ÝY\ fBwBtF E0GÏr·×­'Ù¥\rP2}vÍO½ÿçñíæ\8bUfL\95\96S3Xïv.,9¯¦\99Åno"\1cc\89\1e\8dÚYD´.CÑ\9aZPÇ`ózþý÷ka9¬\96Oe´¤È\0\8fmf\vgK\8b\15Çëd\ 5\r\ 3\8bmG.\84\ 4\9a`q)QÂc·Ôä%\87\9dÛg£ÿ\15Ý    Ó\81{\v\ejîJ§c\81÷ÓItEvå0ëKßÄ\87ú¹;¬Ð\9d-'« \ e[Ì÷NRnu3\8bÃ\ 2ÂJ\ e?¿ßÎPM\86ÚYd´®Ú
\ 1E+÷+Y        a¹¬\16ú\87¬§Áè.hÌ\90\1cKi\9eá#Fþ0V|\8a¢¦¡ÕÎã\ 1\91I´ò\ 6ª]\91¬µ\ 4Ýé\7fEwÂtP
+L\90U_jçvîN\ 2­¢   \97\16¶ksMazôõS.6FÚ³\95\945\96Xïõ IÈ©úÂât0èEiQ\7f\1cÞ´\Kn"E\14\81ÑJ©s\1e·\1dß\85@\8f­«ç)M\16£ª\83u\95\90\9e©³Ìn¯÷\8d\87/\8bêZ::EOVTZã§ÎZh\ eèúð5\94\16»«\87°kkc9-)â\8fcÛ,\f´UUµ\r­]¼oÇ¿\83ÍÀaCge>¼vÂyÍ<%)J¸\ e\11­|]áË\e\9fÞöv±ÒGk\89
+i¨¶~\9a(3gá\9a-G/E&¿¯jjï/«H\84\0\ f\80®Z&\ e\87.Fô\95\16²kG\v½$óI°ßAG3\ 3]\9dùF6.^·\9e¾\ 5\13r8íM\15ïâþÂáJ}¶!£µOW¸\vÕyÏ#.¸Û\eãµ4¢ß\1f\1aõ#¬\ 2\rn¾!ñoË\eÛøa"2\95E¢«\8a¾\95\8b7.­V\92±x\9c¶¦êüô\98 ï}\ ek\96ê\19¬°u9}#6»¬±\8dÃí@óõ®ÿ\81\rKÕ§óE\19\83Ek¯é8À¾h-9\99êÈKöÇzD¯0ëÔ\fÐ?\8aEÿ\88ÿE¢\ 2\bt\9d¬¤»
+J+*\15¦\11^Z\ 4d5\94ç<\8fºrj¯\83\85©éÚ_\½nÆf\95\82¬\9dl&½8ãAàÑͦÚ\14Qþ¿h%ìÊmk,Í\8a\r:¹Ý\fåHÿµ\84ã^FUßj7þÁ~²\8aÈ\1c\18F<ÅDYuCÛ}pçÞõÞ¹\9e\1e^'\14öÇ7     \11\81']7ÛZÛmu?{\vËÊíÄ¢<\ eòÜ\81\1eN¬÷*âhUÁÄ (ZIy Gâo{ýÇb¡ò\0×á­%9ãgÃõ®g\83ãÞ\96QB\80\18¯\99B?^ñ\19>
+JKy\81\99ó\89\19Et\ 6\9b´+*ìÚâÌøð\0Ï\ 3;·:ïñð\ f\89{\83\9e²\v¨¶2'!\ 4\12\ e7\ e)+¤É\ 4Ù\9f\8dí!ZS
+ják¾eVâ2WÁ7øì±\82\8c\14ë\97\91\90J£ÇOQ\9akºéÐÅ»Iï+)\95E\84\aº'\8e&\bBúe²°\1dTZ°´\8c7\1e8\1f\96\98\ 3\8f\ 3\156Äká«§a\81ÞÇÜÝ\8fz_\8eH¤Áåævu\ 1æä§D^<hoÄo\1c\14­\92ò:¦N\1e\97£_\96Ô\13\19ý­\14\93\8b«Go@õ\90\ 3VÍÀr×É«ÿ¤\17ÖR\0«\aÿð\v¨º\8dF8Õ\85جØ\1eâÒ³\17Yìôìe¬nB×NvkcUÁ«§\11×.øxû\ 6\ 4Ǥæ\ 1·vòx\9cÖO%Dã@¸\92ä
+ogÜä\99ó×îðÄÍ& Zûd½ãë:PV\X\12ÓfÍ_åxÈÿγ·¥\949\80\b\ 2\r¼\10\1f¸&s¤Å\85\98¯ÐAKk\92\826f¬äܪ>»B¼v0\e+\v^=»\1f\12t5(äABV1Ðy\17\ f⡱,;\16ÂÕ\8cß\1c\18\80g/¶Úã\13ü\8cV\89\9bª\82¬\1d\0J\89 ÏÀ\10\0ÏC\ 4(j\eÛíõ
+\8aÉ(¬ùÂ\1f¯=<\14­\10ê'ñï\8a     1_¡ÓÇX»Oß|\9cù\81bW¤kCeaÖó'ÿDÝ\7f\94ð2·¢\ 1\8dÂ\158\87\88F\92\¡±$dÔ\fíö\9f¿û<¯¦EP´ö\82Ò_Þ»×-ì\aJ8\ 2&É©\eXî8\1ex/9\a¶+»\8b\92\ 1\8cº¢ôû\ 1G\1cWh\ fä2!<\98±\14ç\9a:\1e¾\14ù\9coW\[\1d\8c\86ª\12ÚëÔäçi\99¹\1fë¾ÀgÝ\0_-\88\Ïï·3T\93\91 :\v5\16\8c\ 1\87Ã\97¢Ò\8aèLAÑúMPÂ\14\80'\96Óá\vwâ³?Ð!Yù\1c\0o³ê}R\98\9f\eüìt\891BÝXÃHR\ 4\0·vñÂveô:\ 4ëÊü\[V\94K£å\16\96Õ~f²!3Q#Ó\8bÒ¢.\1dvX¦1\83ì,ø\ eIymÜX\82Ç\80\0P\82?2F|ê̹&ön>·\1e½\84\b@o\91\9f\ 1°y³bo\9cÚe±hÖTa\9e®äAv\9d¢¤»ró\11°ë{\ 2\ 6øº¶~©¯­,/¯¨þÔÄd¡ÇD\ fXÿáUôe\8f-dg\11  ¥¨»Æù÷ë\8f\87l,¢óРX¡%'9\96¿ÓðnÕXj³Ûóê\83\94ÜÊFj\ 4@r´Ô\16¤E\ 5À\fÑQ\98ô\930\8f\ 1â\10\93\0Ùõô\8d\8aé|¨AùÊng6\7fnhhljie¡Zî\81ëHtÖÉíkt\15¥°Û\b\10X\0\eëVÜÛ\8a¦!\1a\8bͨ- \10\1a¹'p\ 4LWY¼vÛ±K\11\89ïJë\19|¸Â\85õ¹âݳPß}¶\86\18¯D@V\98\ 4\bÁ\1d\7f½x7\91V\ 1\v\95Ç×µ\8bËfµµ¶¶¶±ØÜ.lcb%Å¡\95´@\99ÈF\90UlʬE\96.g\82\13r\ 4o,b\r¼O\fõuµA{¢÷6\13\11 ¬kêà~.øIfI]3«÷Ö`³²\19ôâ\97ÑW\7fß¾v\81²(d\0i×éªú\96»<¯\ 3ÖÔ6³ø\f\8e\fËåpØ\1c\ e·\13%À¿\ 4 !]Îb@ÂÜ     N\ 3¾Ò³\86é\9a\94[Ý,\b\ 4\90Ù?\97½yróÔ.ó\ 5\12\ 2\91\11 i´~ÏéëÑéùÕMü\97\8bh\ f\995'1ÜßÝ~¹\16p\80ðg\0ùH\93\15uL~q?\ f\10^F\81p¤k7\8f×Õ\ 5¼ÚÝMF.\ f£@¸\9f\9b­\ 1i7\84­Òsômö\9d\vKF|%¨± ZëK \9a\7fÛ²r®Boc\91\11 ºØÜÙ# r\0[¡WÑÑRWü2æºç®u\8bçL\93\10\81\f\18\80\8cÊbóí'®<H+¨AcªO\98\1et\90¤=ä\95\ 4a\18u\85©÷.\1eܸT}ºÄèQXVqi\15\ 3[7¿ð\17ùµ-CLWè\9e\94{\17\ fÙ\e\92 Á\8f\80M\aýBâ²ú±\15\8a\0Nkc9-1Ìÿ \83\89\8e\82Ô8QÈ\0ôP#\7f\1c'%¯µl\83\9bop\öÇz&Å*\83ø\8dËüT\9c\ 1`¾i¹æ\8c\89H\18$ë4U\ 3[X\ 3/òë\18\ 2dÅüY\99\93\10zÖÕ\ 6y\9dÀ^j\ 4\ 4Ť\17`¶êá÷U'«¹¦0=úÚÉ\9dëôTd&\8c\11ö-@\1ed\16       éÙ\v̶y\ 4þ\9d\92Wý¥]\0ybðüø:æ
+\c\1dùI\88°\bY\97Ø\1dð\8fH)\18BVn\eâ\88\e§vò£µ7\ 2ôÌ\9d\7f\v\80yUÑH\89!ÜWÌúÒ7ñ¡~\aì\97k+H\89\89\86YÉç\92\94ÓXjëzævl\16e\13\fn8(\1dPÆs\87Ù|%\8c\ 2ß!+A­\88zWêôFëð\91è­*Ï#" \e~\9eÊVp;Ú\9bªòR¢þ<îl¾h\8e\8c\84¨\98\15ßÂÑ\90móV;\1d\1d°   \ 69Ý]¬¦JÚ³à3.\96\b\ 5À;ß#+\e\ 5óß\97~E\emâØQ\18ÏF\8d\16\9b¬ id»Ç+(&c`\ 4@_1è%\99±·}\í\8c5åq²\8a\88¬Ãð5\94U_bãâ5`\13\f"\r\10VM^røùýv\86j¸³¾#[»0FÜõ?°\ 1õ\1dªt\9cì\92²jz\16Û\a\8d\0\1e§­±"')â¿G\9c\9f%-.:f%ì
+\9b@\97Ü\ 4åý\1eíë\8b̤\17¥G\ 5\1cq4ÑÂó\95$\81õÿ£¾Ìã¡Ü÷8~n\18û¾K(kT*»n*r¢\94â\8aJ½B¥DuJʱ\9cJ¥ÒªK\92ì§ST¨C8\95¨![v"CM\86\86alc\9brïï÷ÌL1õ<ôê¾Î\9dùþá/\8fñú<\9fù|Þ\1f@\ 2yØ$\0Æ@\ f±úÉï\80Î\96éÍDd\9dÁ\83\13\92TÒ2¶Ývø|\12{\ 4 \1d×ÓÖ\80Ï\88>áåh1O\ 50+÷\98\15É7Ö&¸\9eþ\ 2Ù\ 4hâ@8'¿)~\18}l§\9d±\86<h\90\19\8a>\a\18²"N_>o\96¤\10\1fx\16°\95¼ú"+\97}§b\1eàëÙ#\0À\15\99P\9e\9b|Þ×õg\ 3uy1\ 1®`VÖMØ\ 4aI9eÍ\18\905\8eÌ×\8aÜD\b\88å\90\95eîàs&éq\15±g\b[Ö÷5Ïn_:¼eåBH |¼|\ 2\80­æ[8x\ 6G¤æUM\8e\0\ 6\90½¯{~ÿZð.{\bWàEp\91ª¬M \ 36APÄÝü\9aw\18­\ 5´¡¶Õæ§\9²Õz\91\9a\føZòàDå5M×{\9d\8aÏ©xK¡Ñ?¡É
\15TÖó{\11\81\1ev¦ÚJ\92Â\ 2\ 2\82¢2³tÍ׺\1d½ô{nÙ\eö\b \8f\0¸*ÍN8{`\93ÕB\bW\eÖÏ\9b@ßÒy_h\fqc{/jk!\ 3´éåÃèã\9eëÌ´\15Å\ 5xyq"²êFv»\8eÇd\96\12:\a\ eäò\87¦âÌØÓ>Î\96\8bÔ\15¥ÄÄ$dgé\98Øl=x6îÏ¢\86¶I\11À0+±6ÿî¿\ 3àkPä"¸b\1d\15µ\8cWo?zùö\13\ 3\ 5É\95\ 2¦RrØ/\9b,õUA\8bðá\84ef/¶q\v¼\96QÔô¡\1f}LÀ\îj­|z'<`çz\v}\re\ 59EU\1d#ëMûNF§\15Ô¼í\1a\98\1c\ 1p       ¼)Í\8a\ fÝ·qù\ 2U.ë+ä\18\9b@e\9e\85£×\89è\f<Fk\8dÃ\14 Õ¿H\8b\fÚ\ 1=$.\88à  I©,°rõ»\92ZPOêEï,H¡TÒë\97\99ña~nöË\ft5Ô5ç\99Xoô:\16\91ú´\82\0\12}¢Ó\19f­ÉO½ú«ÛjcM\ 5qîê+Æ1!Ëàg×Cç±[k\1c²$¡<'ñì\ 1\17Ë\85j²¢\ 2üB\123u-6î?\97ü¸ê]7\r5\ 5\90fï|[]\90\1esÆ×ÝÁz\89\91\81ÑR\eç=Aá\7fä\966µSi\93#\0\9b\92¬¸Ó>NËæ3àêÿ­Ò÷\1f\84\99s§n-\ 4&a?GÂ~ÖU\96\12\11\14\ 2ùaf¿;äfV\19¡s`\14#\Áhêh®È»\1f\88çf{ÛU¶\e\ 6]N~ô²\ 1a«o\9aÕßÍÖH\83Ûà\8au\10²X­\15\9bù²\11}kÁÒ\ 24\99\ 3hrë*#M%IQ\11q¹9\ 66n\ 1\91i\85¯;úÐ\a\ 1\M\83=¤¦ò¼´Ø\8bÁ¿xnß¶Ýóàñðä̺w]l\e\ 4©F\90¬\88YçÍ\92â6¸bÝÄÖ\82[\8b\8c¶µ\18Û§\1e\9fq#Ä{#Òèâ\12²j\v,7\1fºx;¯æ= WtÄ\ 2ßì\81Wù\ f\92#Ïþæ\7fÄÿ·³×neákÞvN\ eVæw\ 2`\0LVî5ë\97ÖZê°çøõ´\17u\93\17\ f\9b\9d- Ñ¯\ 6írX¦¯®(#-§¢·ÔÑ;4!çU+\ 5\v±@\f\f\ ft\93\9a«ðÙw\13¢Â/\87GÅßÍ)ªm%\ 3¢\9bôa\8c¯DY6À\0¦Y¹SÕÏ­\ 5¶ÖÁs\89\8fJ\9a:Ðà\15iôöÆ\92ìä\8bG=ì\11RRT\9dk¶n×±è\87ÅoÈ\ 3è\88ÅÔµ§£¥®4ÿQzê\9d\94´¬g%uo?ôÒ&\ 5+\837Úàt\bp_c¬É½fý\89ÕZ:fk=\ 2®¦\80\85\ 2¯HDR\88\87qa~îöË\16kÏV\9d£gºÆ= â>þu;F¸"ºÒG\ 6©dbSM)>?ïÙ\8b\92ªF"\99]U\ 6â¶¼ÊM:wÀyÅ|\15)a®5+³µdÔ\16,wò>\19ó °\ 1\15^!©÷w¶V\17dÜ<ççá`i<\7f®®þ\925nþá©\ 5um½Ã\18²\ 2]?ÑGi}\94\8e\rµ55õM­¤®>Ú(Ûû\ 3\1fÐÛþº0=*xçZS-\ 5n6+³µ\144\8d\1e¾\90\9c[\8e
+¯ã\b)} Tæ§Ç\86\1dõÜhcabdºÂÞÝÿÊ\9dgµï©C¨\83\80©+\b\82Á^
+\99ô\9eHlëè¢\ e\f±«
+\v\8bò®êÉ­\v\876[é«r)³²\ ei-)eÝ%ö»\82#ïaÀ+Pf\94Fmo®ÈÏ\88¿\18ä½m\83­µõ\1açÝAWS\9e\0ëiúèð`\7foOw\ fµo\8062ö\91íå1èªøÏ\98\13\9bë(qåÀ\9ap0\ 6Dåf/´rÙ\1f\1a\87\ 5¯\90\ 6\ 6\9b+\v\1e&]\r9¼{\9b\8bóæ\1d\aO]¿ÿ¼njY\11ÃÒGG\86\87h´¡á\911úWª\82Â\82t\95\1a~t۪ųeE¸Ú¬?1b@BQËä\v¼¢lX¦®\84êÂì\94\e\17\8eùí÷öñ=v91³è5\89:<\95¬@W ìGúØØ\18\9dþ\11\88Êö  °°:[Ês\12B}þe¡§,)ÈÝfý\ 2¯\16Lx%¢Â+C×\ f­u%O3\92£.\86\86\84\9c¹\12{ï #\90±²u\82²È\8d\7fýç\19\85\85\16䱯XC^\94\9f3Íú\ fä¦÷«\13à5\ 1Àk;*¼B]i½\9dÄÆJ|nÚ­¸\eÑ7\93ïç¾\ 4+t\0\v°Ø¥E\9bqÌÂÚd¹@E\9aó¦\0\94s\ 68\1e\1eøs:âN\80×ð;O+[;Q7,$¥¡>J{K}ù\8bÇY\ fÒ\1f<zú²\9aÐA¥¡¯¬iªý¹°v¯7×V\84\85õwh5í\83\92òðòñápüü8\1c\1f\1f/Pw*e\19ðª
+àuoHt\ 6Æ\86e\91\12µ³\8dP_YR\84/,~UG u£l\88ïP\15YXu\ 5\1cZX@T\1e^\1c¿ \90°\88(8\11a!A~\1cï\94Â2àUÃp\95ë¡°ÄìRô\rË$¥¡þ\1erÛÛæÆ\86\86F\ 2±£»\7fhìÛoá;d\1d\1dìj}\95\93xf\9f\13Ç\15\16CT\ 1aQ        )\199y\ 5\ 5y9Yi      1aA~>(,æ\83\b¼Î5_·\ 3lX¬\18`\1av\84ÖO¥\90;H¤v2å\ehÿý²~\1céëh,Ê\88
+Þag¬ÉY\85\ 5T\85¢\8aKËÏT\99­¡¥­­¥1Gu¦\82\8c\84\88 âX¬G!¼Êªé¯pò\ e¹\91\81Ç\88\ 1F\9fÓÇF\86\ 6ûûz©½\bÚÓ¿â¥ïT\15B+±&ïö%ß-paqRaA«ò\v\89I+¨hèê\e\98\98\99\9b\9b\99\18.ÔÓTU\92\11\17\16à\9bJWdÃ\1a®Úê;U\f \86e°=<\ 6Úÿ¨Y\ 1´\12Ê\1eÅ\9dÚë°d®\12'\15\16P\95O@DR^Es¾ÑR+Ûuë\1d\1c6¬[½ÒÂD_[MQJT\10\87©+kÃ\82\18\b\9c*\ 6þÃ$P\0÷t&Úÿ\98ªH\ 6´¿.L\8b\ft·5T\97ã ÂBT\15\95V\9a£g´|µã\16wO/oï½»=\\9dì,M\17h*Ë\8a       á0k`r\f`ÑÀ\17e?ß\8f\89ÊÌ\80ê§\7f0 U\8as2\0¸\r¨*£¬¹ð\9f¶Nn{\ f\a\9e8\1dzætH\90\9f\8f\87\8bÝ2C\1d\159q¡)ü:)\ 6À( Â~ÿAÁ¦+ëè`g\vÌ\0¯\ræ:\10Z9DU(
+TUÛ`\85ý6oÿS\97"câ\13\93\12nF]\ e\rÜïîhm¢§6\95®\13b à*\18\ 5-äþá\1f-øéÊ\8ap@a:\92\ 1s8\bZ\11 \97VÖ6²rÜá{2<övzVÎ_\7fåfe¤ÄG\9cñßãbc\ 6t\15\13äÃú\7f'Æ@tú\8bZ"\ 5LÒ¿EW\98\ 1ï\ 1\a\ôÝÌQ\19\0\82\158m¦\96áJ'Ï_ÃnÜÉÌ+,«¨ªª(+ÊϾ\17wù7\9f-¶fº*2¢üSÄ+3\ 6\\ f\9dKÈ*n$õаãõ\7f\9fÆ\ 6)`\vÄ\9fövX\ 23\80
+\83UHâ¿Ì\97ù?Õi\eÇ_\85ã,Îq¬ÇvÆÎ±D\84HD\88²\8d5)\92T\945e©ÔË2S\91ÝÌ E!\94§\1ek©l¥\14\83Á\91¬qìû¾/ó<÷÷K3\13\9ez~pN]\7fÀýú~?×u¿¯÷Í-"¯eáx)ü^faYmCk;¥£ýcS]ÅËÜ\94\98\0×ÃzJ$^VÌ\17¯×_\8f\ 2Ãã\17"Óò«ZûÆgÿ·emb¬Kó\13}Íï²â.;è+~G\1e\0®/\12Ç)(»ÇôÔÅ\88¤Ü\92ê&JÏÀÐðÈð`og\vùí³\a¿ú;\1fÔ\96\17\90ÿ\8f\rÈh\98\9fö\8f}ü²¶}pòK\96µy±Î\8e\97¤GyÛh\7fGo\ 1\80\0\0\94ªÑqß°¤'¥ä\8f=Cc\93Ó33ÓSã#}\94\ fåÏÓ¢ýN\99¨I\13¿2®«\18\10Ù¡cíq-!çí\87®¯YÖ¦\14¬W5\ 5÷\83Ý-Õ%yñß\8b\a@aà¹Å\94öÛ\9c\v¾\9bSZ×Þ?65;¿\0T}anz|°³¡,/9ô¼­\9e\82\b\ 1ÇøåXa\fð\92\94õí¼Ãî?«hî\85-\8bº¹Bh\1d\ 4zu'ÐÉXY\8c\80ýò'Ò¬V®®àö½\a]\82nf\94\90Û\aÆgæ\17\97\97á\87ÐÂìäPgý\9b¬\9b\81§ÍÔ$ùXP_¤À\8aQ°óoS39uù\97ô"`YãT·,\18­Mo3\7f\ 3zµC\88\1dó\r\19°e¥V£`@³ðI¨\1a\9fð\8bYI\ 2LØJ\14 ÙŹ\89\81¶ê´p/\e\1d9\81¯~4ä¿8\82\90\9c\16Ô£Ì×u\94!ªã\15FëûW\ f\ ek\ 1½\ 2\8d§I\84k\7f\1cÔÖ\95\16\f\18\8e ¼cß\91s7\92\9eýÞÜ;ö\8f{\vå:;ÖÓø6+îÊIÃ\9d¢\ 4ì\ 6pý¬G\0\ 3h\16\1e1%=ðØ\ 2\96ÕÐ\ 5Y\16Us\ 5h\1d¦Ôä'\a»Y¨Iò|\13½\82#¥£§g\0EOO\a'\vä\8a\95(¥fz: >óM}×\1aÙ\ 4Wlj°í\8fç\89×\ÌwK¬ùêÕ\ eÑAµÚ§­0\ 6~\90R5v¸\18\99\9a_Ù²Ò&ê¥ú7Z\1d\8d\957î;õS\ 5\99\18\91(4\1a\85dD@ÁBrE\10QÐ;ê\1d\91VXݶÖ\89 q\1díª+~\0\9e0\9aÛ\88\0®[þ>\fî\10\ 2Á\b\15\ 2\ 1w
+\9cÏ\88Ás  ËiY:\aÆýû\15\99Ú\96õ\19Z\ 5¿\ 5Z¡T\19\18Q\18,3\9e\85\ 5\8fcB32ÐÓÑ\83ÝM\94V7wþévNYc\ f\98­Ï3øsin¼·áÍã\18_[\9díü¬èUt­v\b\89Â0a±8\1c\ e\8b\80V!\19\91H4\13\9e  µËÀÎ+4éiycÏèÚ#79VÈZ_¥G~+´B\18E 1̬\9c\<¼¼Ü\9clx&\14\ 2\81@\81aUÜoç\eõ°¸\962\ 4\89æç\9f½<?Ùßü\ eLÃ1=y\ 1H¶?\85\8a\0\ 12³°q\10¸¸¸¹¸\b\1cìl,xff\1c3\9e\95\83[@Ri\9f\95K`ÜãWµ\140®T¤\0l­µÀZÝ,\80µ2ÓÚZaì!PXV\ 2\9f (I\82$*DäbáQ(,Û\ fð°ÞÉ-oî[ïC\10»\ 6ZÊsâ¯8\1cøä/P\83\18\90\18\1cÈ\8f( ,*&N\12\17\13\15\16ä'òòpssóð\12\ 5Åd\94u,\1c/E¥¾¨lÙàÐÍ+èó\86Ú*ó\12\82\9c\8cUhn­[àùbDãØy\84$d\15\95w)+ÊJ\bñràq8VnQ0¬>`XÉ\1dÃÓëÖ\v\1ckëïp¬
++±®\1eÅJ 
+\91¶É\81ÃTw«îRVÚ±]FJR\82D\92\90\94\92\91WÖзrº\18\91\9cGe
+¬\¦²¬¸ËÇÁçqÐ\16­ðz\ 1»\84\99\9dOTf§\86®\81¡¾®\86²¬(\91ÀÎÎ%°MÝìLÐíܲ¦\8dæj\83XÁQH&\16\88Ô\8e]\9aºúƦfæf¦Æ\ 6û÷ii¨«íÞ­¦¾GS[Ïè ½»\7ftJ^Yc7Uc\ 5èïixý(ÚÇæ\9fè§Q¬0
+1x\ e>±í»uM­íìí¬MõÔäI\82D>~qE]\9bóá©\855\80¬ëÿ\1fÄ:9ÐR\96\1dë·ºié¶Ò\ 1\96°ñ\bI)¨ëþhuô\84\93³«««³ÓIû£\87­,-ÌÍ-,\ fZYÛØ;zø\85ħçW4QwZ\81¨tÖ\15¥\86\9eµÒ\90âÃÓ\14­pª(,\v\81(&§npè\84\9b\97Ïy·\13ÖF\9a\8aÒâ¢$Yµ\1fO^\89Í(mè\19Û\0\82à\96A\ 2\93ñëE»}rÐÊ¢£c@áÀÔoWÕ5³u:ë{%èêõàëW\83üý|½<=Ü@¹{\9cõôò½üSX\JNIukß:»ØÄZ^\9c\1en\aZ}ÕÙTU\9c\eGS´B/)4\8e\8d\8b\9f$¿ÇðÈ\19\9fÀ\90Ð\90 \v.v&Ú*ò²rÊ:V®?'<­h\1d\98\ 1ÿù$X¯\1fEyÛh\ 3\81A3Ð\83T9\88$\ 5Mc\9bÓÞ\ 17bâ\13\12\93\93\93\13\13nÅÆD\86Ý\b\ e\ e\ e     ¹\11\1a\16\1eõKü½\87\15\1f:\ 6'¨·²V\11\95{Ëÿ¤¡\92\b'\13\82\86h\85^\94(\1c\e\8f ¤\82\86\91\8d\8b_Èo    ÷\12bCýÏÚ\9b骫¨ì1°=wã~~5\ 5,¬õ¿\ fya×û\97\ fÂ<\ fiHóáQ\b\ 6$\96\9dHRÒ6w8\17\10qóþ£ì¼\17\ 5\ 5\ 5/òr³\1e§§¥Ü\a\95\92\9a\9aö ýQæ\93ü×\95õm½#SóÔ\8buin¢¯±\14ºKº@ÿhº±À°"±¬<ÂÒJ{\8dm]/\87ÝJËÈÎ|x7:ÈÓÞâ\80\96¦\8e\89½wxZ\11¹sdfqyÝ\87Ã^X\93\9f\15~¼¢\10\8c\18V^qE\1d\v!ñiÙ\ 5¯Ë«jjɵ5U\15e¥%ÅE\85\ 5\ 5\85\85EEÅ/_\95\94\96U\91\9bÚ{\87'f\81^P+ÖE¸é\ f#Î[ï\85ß\804ÜX`XÑx.Aiem\93£nWÂïü+¯¸äåó\8c¤\98\0\8fcæúº\aÌ\1d|" XGg\16×\ f+¸e\83\1f+\9fÞ       t2V\16%àP\8chf.\11y-K'¿ð{\19\ 5ïª?´´Q:;;(í­Í\8dõïɵ Èdr]Ýûú\86¦VJ÷ÀÈäÌü\12\15Ñ:3L©ÉO\ 2MW\ 3MGÒ\14­t\8cLìD\89\9d:fö\1eþ\11w\1f¿(­¬®zW\98\95\18áwÆÆDßÀü¸wXJAmÇFÓúç\12ØXÍï²bý`/Ä\82ç\ 3\87\80Ì\1eÓS\97"\93sKþhlïî\1f\1a\1e\19\1d\19\1e\1aìïíéêìè ÀÕÑÙÕÝÛ?4:>5\v!\80\8ah\1dl­xr;ÀÑh§(\ 1\8b e¬\80\ 1Ì\Âò\9a&ög\ 3¢\13Á\88Õ647\92Ë\v\1eÅÿìion¨ojç\19\9cø¬ªmh\ 3¶B·¬»¾$=Êû\88¶,?\e\13
+ÃÂCR18æ\13\96ô¤´îcÏÐØäôÌÌìÌÌôÔäø\18\1cï@?¨\81Á¡\91ÑñÉéÙù\85%ª¥º\8aV )\97\8eéÁöGËÇÀVz4\v\9f\84\8a¾­{@trVQy]\v¥\93Ò\û&çn\88\97\83\85¾\9eÑa\97 [9å-ýëM\0\8cÃ4tË\92\83Ý-Õ¥øX0h\1c§ \9cö!÷k      ÙoÞ·÷\8f\81a\X\84jaa~n\16\84;1\ 6E\vB\1d\9b\98\9a\99\9b_\Z¦^ª°µBû4\1c U\86ÖhÝÊ\80\97Ѱpº\1c\99\94]\Qÿ±»¿¿·½þ¿Ä\97y<Ôù\1fÇwûµù¹\8f\12¥µ%ëJ\12«RT~RvËò+«Cý\92\15KÈ]\f%G!g\12©D®Òº\89BåVî{ÜÇ0\98aÌÅ\1c\86ý}¾ß¡Æ±\7fìãaÆüý\9dÇãûy~ß\9fçûõú\94\17\1fèòûé\13Úº\86æ\1e\11ieí ·.ÃÊ \91@\80yóÌû\ fý\ 3\82¼|Â\12ò\87ô-nG¦\954õc\bÓ\10·9è7;;Ë\98¡Ó(d\ 2\ e;6:
+î?q\8aJ\9fa'Tø£\8f÷7\14¼ð³\81÷)gÕºn\ 3\9f¨\94Ê\89K\8eþ1\99ŵÈþ\91\ 4\ 6\85ü\94\17\17àø?=-M-\90°\82\92Þ3åº\18\ 2\88W\ 4t{yZ\84\9b\89®ªÔf\ 1>hXu\8c\9d\82\12\vj{F Ót\96m\ 4Ð2è\14Ò$\ 6\8d\1aè\1f\1c\1eÃ\11Ù¹¬\98oG#\8du\7fÎy\ 2Rë~i\ e«\15\17ûqß)3Dø«Â\1aäà\18\8e@ÄcQí\95ÙO}¬Ï\1e?¨¦~ÌÈÚ÷y^m/\96L[\8c\ 1vÀ`Óû¤@\87sZ»%7
\v\1dÔ·ð|\9cYÑ>\fJé¢ä4\a\8e9\85Ç z\90­-mP´"QØW¯\98X)xt{Yj¸ëe¨\ 1rV­ _        \88˪\eXz=É*o\1dÀ\80%C&`\a\9aKR#ÜÍô5U\94öjè\99yDfTv\8c\10©\8b-°à\80\18\1fK\83\83r[\85ù\ 5E·+k_p\ 4í¡¾\ f\v©\98õñ¹Ù\19
+\11\8bêl¬®¬¨ªmé\19\9e QÙV\ 4þú"þ¢ÄûögAUá¬Z¡|%°EîÐ\19\9b»±ù5Ý#`ËP§    c½u\ 5    \81\ e\17\14d\14Ô\8e_t    M)i\1dÂSf\96\ f·\97Í;@LH@x«ì\ 1½«·£2*\90Ãø¥\9d\14:æ$º«¡¼(/7ÿ}eSÏÈä\14}©­W\13ë\17ñ[\1a¨Ë\88\vpqÒ\ 1\10VÁ-ò\1a¿]÷O(lèÇ\92¨tÚ4~¤³*û©·å\7f5\95¤wü¨¬uÖî~âòä
\9b\fVBa\ 24\ e»%7   
+n\92T\ 2Ï\ 6Ä¿«ëÅ.Ë\rÐ1±ýÍåoÓ\92\13\92ÓÞV4÷c ñg_\ e\80Ä\8f\ 4âG@\1f]\94w\ 3'\1d\0cÝ*¯id\7f?    n¨ô\19úôäP[é\9f\ fÝ®ü²_n»¤ÔîÃ\866~/ÞÕ÷CÉ\95åµÁ°\12F:ª²£ïXüª.»UX@HLZí\97+\88\88ÔÒ¶¡É\15ö\e\950ÒUSðçóÈðG1¯ß}FBúe\9b\ 5Àå\98ÆAâ\ f\82Ä\ fÇ+\8ecU8|Ö>0ùcËÐ$e\86ÁÜCÉÁNÆ:ª²?HîT:bhs/\16*\ 4dV
+ð°\ e4}x\19êrIgï\8eÍ\82\ 2"\12ò\1a§¯ù>\7fSÝ=¶ÔÃp\93\ 4\9f«,+î\81\9fÏÝÐ\98ôâÆþñ¥Kp5±Â\ e¨a\8a_v\v\87\1dð\ 5«CÐËâÖa<\15Â
+¥½\84û@­?ÉKIÉ©\1e;gç\ fõ,,+Vج#\9d\9fr\9eù\;£©°MD@`£¤Ò\7f.8\ 6'\8306±¼\92A\e¤¿ñ}Jä]\84\8b«wxâÛ\9a\95à¯"VØ\ 1é\11\88+\90\ 3ø8\1a¯VÄ
+\8cY\ f6\96ãÅ\9f\ f*ïRTÑÔ3¹\11\92\ 4Ä»¨¾2ÍÚøáUØÍ˺?í\14\13ä\13\10Ý¡¢kâ\16\91^\8eD\13\16o7ø3ÐÉØÞÚüø\10\ f{ëën\ 11Ù [\10Ø\86\95Å\ 1ça\ap4^ÍcÝuä\9ccð«\92¯ÓÚX\94\1cêjvú\98Æ\81\83Z'\8dm¼¢RKZP¸©¯¾ü2¬1¾Ö\86\87\15¿\17áç\15\14\93Þ§gîù$÷o\8a.\bç]\9fsbüoX\99[:ùFgÀôÙ\86\95é\80¼\18\1f\ 1\1c­XL¬B\12»\8e\9ew
+I)iCã©\fÆÌ\14n°¥85ÊÛÎÄð×\93z\86\97m<Â\12ò>u ñ,I\80Y\ 5\9a?¦<p5ùYMZL\90\87GP\FÝÀÊ\17XxÉr[8'q´£23Ú×ÑÜÔÜÁç1\8c\95}Óº¶\ eøæÛõÿ\16Ú¦¨uÁ9ôui;tNhµ\f#«Þ$\84y:ZþnjvÍùNh\VIc\1f\86Õ\84óÓ\90\1fçwÝè¨\92äF>nnA(þÚúÅ\175.\8dbÌ?PAÑ-K\8bô²¿jját÷I\16;%°Ö\ eøfÝzn\11I%íK7\1f¤\96#G\b4Æ,\83J\1cëm(Î\8c\v÷óD nù\ 4E%d}¬ë\1cÆMÑX±\82¸ÔQ\99\ 5Ò\95>hXB<\Üpüµ\vH\ 49mr\99Z¡?à\87An{äeoqõÚÍû±P^Xî\8aÕºÖ\ e\1dϦí*'L\10\8f2*;G\89\10V\1ayb¨£æCvrLTÄÃÈg\89iùeõ\1d¨q"ko\9a[hXî¦'÷É\88\vrsq\vÁñ\97\99Ó\96O!øÃäPKñë\b/G+KûÛ\ f\92¡\1dHfWn]s\aü\8b\8b\1f¬\9aS`Õä|îÆ\90À9Á2"b\a\91ue\ 59é©i\19¹\ 5¥Õ-ÝCXÂ4\9d¥\13ÍB\94ÚJS#\10¦'÷Ë\82iåæ\11\96PXÀ\8a_\8e\15¸\ 5\8aï\1ez9ÛÚÝô\8bN/m]¡3¬\16ÕµÎ\ 1ë¾ã\16\92PÐ8c}/n!ð\83\v4\85Ç ºZj«ÊËÊ*«\e\ 6G&\88Ó4V\ 6óÓ\9a\1euÛÜ@Cñ\aQ\ 1>~\91\ eÃem¥i\85óU_]AR¸÷MG\97;a      ùÕ]ì\8b­_»À\9a8àÛuë¹øE¥öê\t\ eyù¡\19^5s`\iS\84ñ\91Á\9eNd;²³»\7fht\1cO¦@TY;\16\9dU91÷®\9f?®&÷ýf\11\91Í\92\8a\87\8dì\0Vȭ˰\ 2c\8fv}Î\8b\ fór½áá\1f\9dú±i`\85ΰZXÁGG·\97§­\8d\ 3 ª¼"ß+\1c2°ð|\9cY\81\ 1\8e9\98ë4   ?\8e\19A£Ñ£\98ñI\ 2y\9aJg°R\851azë
+_>p·0ÔV\93ß.±e\9bÔ\9e£Fv\ 1    EM(ÜÒ\95\ 5ÝÊITkYfLÐ\1d\ 4Â;ôEnU\aÔ\19Øæ\80©\89\81Æ¢¤@\87s\9cw\0 º\81Wx«\8c\9aî%§ \84wu½\18æf\86¸Ò©Ód"\81\80'\10I\80)m\86\88*\²&Pm\159q\81®æ¿\1dWß#'--¯ª}\ e`-\84\ 3Ö"^@,T\12¦·¾(%Òï\16â\96_dJQ}\1f\96ÌÎ\1c0Ö]\9dûÌÛ\12v\0\17'\87\15¢Ê#´EZEÛÈÚ;:£¬m\b7\7f+\ 1\f\9dF¥R(T*\8d\80&uéøÍP\bP\ eËx\1e\88°2ÖÓ: ¢¬zHר! ¾ a`bqn\ 5TéS¸¡¶\8aìØ\10/7WÏÀ§\19¥­(\1cû\16\16ا Ì¥>t59¡º\83³\ e`R\15ß©|ô´\85Gø«¢ú^°B\16\ e
+ÀÎÎ2àßìì2¦LR42\ eÝU\ fòmØ\1d\a3£SÇ\8e\1cÕ1¸â\12\98P\0\92ÓÔb¬Ð7\18í®-x\19áëæ|Ã38\168\80\8d]\0¼\1a¶¯¾ >ÀÎè\88â6aîõ\9csÀ<U©=\87\rÌ\\83ãó>!AÞ§³\1ctná÷7ï>;C%M\fw5\94æ&?\ ep·5=\7fÚà\8c±\95{XrQÃ\92ò
+?\8a\1dh.I\7fâïfgëx+äE~\rÔ\ 5Ø7¬PUÉ||Û\ï\80\8c8'\1dð\95ª¾é\8dÀØ\9c\8aÖ\ 1,\89ú\ fn%t±)¤     tOsUaú\8b\87÷Üìþ03³rö\8d\81¹ãY\8f       \15\8cöÊ\9c¸ \84­¹¹­{p<\109\96]]\0Êrã\ 3\8dï\93\83\9d\8d\8f)oßÄ»\81cÃÊJÕ%àyViSß\18\81ò\8fΠü\v¸âF\a\90u¥ÿç¾¼£¢ºÖ(\1e\14\ 3\ 2Ò\14A\10D\ 4\ 4TT\ 4\ 5A\89\r;h\10M\fò\84÷\ 4AQ1j@M\ 4±`{FÐX¨\11Ë\93fCD \82b£8 M\1cÊH\19\18\86\19¦Ï\9d
+ïÜ;3\94\15ý#kÝ{g­ùþfqÏùÍ>ûÛ;?+5!îØáÈ#'.¥=z\ 5l\93\ 3\81¿\13ò\18\8a\82;\97~\r\ fô\ fØ\19y!½ \8a4RÑhR\85ÅJ,ËM\8e\rÛènoª\8f\9f\a\8c¤\9aòðå\87V
+\93/\94|íÅ\7f\8d«XÀcö\92[ê+^äe¦]½táâ\95Ô¬ÂòOdÆÐÊ\82UÍgRZª\9eg\\89\ e\ fØ´qsÐ\81³7áê1Ò\7f
+ÒU{mIÆ¥È\80\95ó¬&\8eÃÍ\ 3\86S=x6åÁ\8bê\96n\ 6O(ù\87\8fR\1ep\19=\1d͵å%y9wÓÓïÞ\7föº¦µ\aN¤C·\84XTRÍËû7NìÝæ³Òk½ÿ¾Ó©ùï±R«l=6\95?I9¹Ûwñ\8cÉ\ 6Zx\85Ö\91T\93\15TÿyÜ\81\83\98HÀcÓ)íÄ\9aòÒ¢ü§Ï\8aßT\11;i\9cÁ%\8f¬+Z{ýëÇ)qû\ 3Ö/ñXäå·+6éIe\vì­¨C\1d&Öø¨í«\9d­\8dq\13+jT\a\ 6Á²èÝmMuU\15å\15\84Zb;\95É\1fti\10vx}䯲§é\17~        ôöt\99ëì¹!øØõÇeÍT\ e\16+K!Ö¼ÔS»7-\9ein\88\97XѤ\8aÄ0PÉ .\93ÖÝÑÚô\89ØLê¤2¸CùW\96X\91\92»c£§\93\83Ý,×5AGþxð\96Hac\11°\14\84Åêbm¬«\81ÏÂB\97ê\80¼\92  !.\8bN¥tuuSéL®@¤X~p2§\81Ä\9as-f\97ß\12'[KKÛy^Û"ã³_5v³0è®ÃÄ\1a¾É\13?±¢Nu`\10,\8fÃb2\99l\ e\1fP\1d&V&\b;yig"~òr¶571\9d:{éÖ\ 3\17ï½l 31hY\7f\13«&.bÅ\82ê\80\1c¬H\bA|\b\12\88Ä\83\91¢_
+\8bµ¦8#þpÐ:7»ÉF\86Fæ3\16oÞwîNqm'\ 3B\1d«\92Ä\8a\11Õ\ 1\ 4\v\8f\ 4\1f\X\ 26\12vN\85û}ç8ÅHO×ÐÔÎÝ7<.½èC{\1f_\8c>Ve\88\15\ 3Èò\ 2h¥0ÓÁ\7f'\15ó\19\9d\r¥Y\97\ f\a®q±1ÑÓÖÖ3±uÝ\10v2íYÕg:ê}@9bÅ\94ªì^ý#z\1a¸&\8fÞö¡èö¹\88\1f\968Z\8c×Ö\1c«kl½À{glÊS,ú\80\8a=Õ/\\93ÛÛú>?õä®\8dîöfúZ\1a\0«Í\82õ!1Iy\95­¨÷\ 1¸zà.Vü©ÂX9Ô\96\8a'IÇC¼Ý¦\9b\1aèhé\18\98NwóÙy\Q³Pý¶\¬/2\13ð\13«\12¨Ê°6\97ç&Æ\84ø,´77Ò×34¶\9cµØw×É\94§2µ¢\8b\15Y\90\15°Xýp\12«2¨ÊÕZ\99\97|b\97¯ç\1ckóI&fS\1dæ¯üiÿÙ\9b\ 5\ 4\12\re¬°Xû:ê^d%À\v\12\17±*\85*â­4\12¡ ýÜÏþ«\17α·µµ\9fíºÜ7øh½â\9a6:\ fe¬@¬=-\95ù\7f\9eÞ\83\93X\95CU\96\ 4Àfθü[è\96Õß-tuõXºvó\8eCgS\1e½ùØÉà£\1a°úá4Gnx\95såhÐÚù6&Ø\8bUITáÜ
+1É\8dosÓÎG\85nóÛàíãûcàë\99\7f\11Z(,t[\16ÜèzIU\85·ÎÊÓ\1cÖbU\e5ZA5\10WªÈ»¤¶V\17ç$\9fÿí@xhHhøþñ\17\932\vÊ>vйBt±J\ 4¬îOï\1eÝ\88\ eövµÅ^¬\bU=ã©\8e\8b¼q¦*Û"äO\15E9iWÎ\9f\8a=~âôù\84ÄÛ\ f\8aÞÕ\91zX|T­\15ö\80¾\8eÚ\92{¿\1fô_>Çr\82ö·£±¥ª6zÌX@u\96\a z\ 6WªH\9bd÷¶5T\14çfÞJMNN½y'ëqaéû\ 6\12\ 5\1c\8f*V!R=ÒNíöõ\0Õ\ 3\8eÑÔ5\9a2Ó}ýö\ 38S\85\88Ïìik¬~[Rø4//¿ðyé;B}s{\ f\83+@÷\b2\ fxóàê¯ÿ^ã2m¢\ eÖb\1d¥®1n\82\85\83ÛÚ\80\9fã\92îãK\15\96«\90Ǥv¶6ÖV½¯¬$T×~$\92:(4\16O BU¬\ 3p\ eè¨+¹wñÀÖe\8e\16X§+ØXµ\r'Û-Xå\1fq*ñ~        ¾Tå\Ùô\1erûçÖÖVR[\a\99ÒÛÇâò\85b        ê]\80ö¹ªàÏÓáÀ\ 3Lõ4Õ1¥ª\ 6\87\80I6Î+~Ü\13{=»¸ªYN\157¬0W\88ËfÐi½½½4:\83Éæò ¡H\82ò\11\80µr¨Íå¹\89ÑÁëæ[cí\ 1\88±\1a[ÍYâ\17\16ýGÆ_\84¦®>.BU>hÞì+÷í\97JÄB\ 1\9fÇ\ 5Ããñ!\81P\ 4\94\8aö\ f+·ÖûW\ eÿkå\ËñØz\0l¬:\13¦Ì\´aÇ\91ø»\85\95Dr\1f²*\86\ fª·ûÒ\85\12±\b\19±X\82 Eý³ý\12P<ê_fü~pëÒYæ\ 6cÕGaHU\r6V3;×µÛ\ f]H\7fZÖØIWP\95JÁ]Á\rñ°\ 3ù÷¤R\19PL>Ø/\86\18\1dµÏï\9cÛ·y±\ 3°V,=\0XÀX=\13ëy+¶î;\9dòèu};\8d£ 
\ 3\ fú¯QI\ 3\82\0½­ºðf\ø÷îÓMt50Ä\8ad+#KGOß°\98«Ù/jHT6¤ *\16 á\81mN%¸JÅ \b\10\9e¥\9e\bõqµ1\1e\87åÆ\ 2õJËÀÌÎm]PÔ¥»E\84f
+\93\ f\87\12\81ø|\b¬d\1cS\ 1\96\ 3ò\15èXyÉÇCÖÏ\ae\0Ã\8d\85\88\95Ó\8a­\11gÒòÊ\1aÉ}²¾\bg\1e\91l5\83¨\83r~TÒ\80ØÊ¥¶TäÞ8ö\9f5ÎV\13´1Å
+Ä:ÙÁcãÎèk9¥u°±"\b\11±B<\ e\9bÍáò\ 5"UÁÊéi*{tí× UNSá|\85\15\ 1\1a:FVN^þ\aÿ{»\90ÐÒÃ\82
+`\ 5bå²Y,6\atHü\1a\17\86\ 3Ú\0\9bB|û\0ÄV¯9SÆka\98¯ÔÔ5õ&M_è\13\12sãá\9b\8fd\ 6l¬²#\8cÀª\1aj\95\bÙÝ\8d¯³\13"·-w´\0±\15KkÕ20\9fµä\87\88
+«H½\1cÄX\a\86°²YlÕ1\ 1\89\80ÙÕ\80´\81%3'ëkb\89u\8cö\84©N+·G]Î.mèdð\15¯]á­`TgeI Fg]ÉÝó\11[à6\80alU\eõ­ÎDëùë\82£\13\9bz`±Ê\8f\80$\ 1\88Çãñ!\81\8a\ 4¬~1¿¯ýCQú\99=¾îv\93°l\ 3 ¸\8e3¶uÛ\10v2í\19\81\89¤CXA\e\10\b H «\ 3Ê%\82Ê\f\810¬Û\0Àªkbçî\e\1e\97^ô¡½\ fx\80â\f2®"¡H$V\91\92%\8f­O\12£w¬u\99f\84i\e\18­¡;ÉÞÃoïÙÛÏk;\18\90x\10\1fÒ³$\12ÀT"U      ªH\10 \10ß=¼z4p¥\93%Ö±\15`]ä·ïÜ\9dâºN\ 6$\19â\as\95M¿JP\85\83\0«ë㫬ø_ü\97
+\1f¬µ#±"`e£4\12¨\8e<\büïÂþ-\9e3Ìô5±³V\19V;\8fM\7f7\ 1Õ\e)\b\ 2\bÄ\85c\1d\ 4d+kúÂï\aW\96*c\15ñh$B~ê\89\83\0\9c\19Û¸"\ 1«ê3\8d7\94\ 4TnäA \17\ e\ 2ÎVFÚ\18\ 6\ 1¸eé\18MsY\17\1c\93ô¤¢\85Ê\15©D@ýâôK\85\9c\9e&\\82\80¢¼®
+<zõá["\85-\94¨2V6åÓ\9bû\97£\ 2V̶0Ä2\b|óÍ(õ±\86\16\8eËü\ f]Ê|YßÉTá\9d\ 5ÇÖîÆ×ÙH¾2\aù
+;\ f\0rU×Ô7sXì·÷LzaõçaíUå\ 6`eu7"±u)Àª\89-ÖÑ\1aðÎò\ e\89IÌ-k¢°\ 5\ 22¬@­\91Û@\eÀØ\ 4dæ:×+ 2\1e¸ÀÿõøÝ·a\9b\Á}W`Ù:µ*ÞÍ\10\eÑ0¹2\ 2\vWA\19m»Ð¼\8e\85;ÏÞ}\ 5J®C8\ÿá\ 1 `½ubã\8cºd/Se1^`w\80\96á
+ìg\89«\9aù$×N[w\18\98\¿þüó\17\9fã\ 6\v\ 2\7fp\82ß¿¾\7f|qûä\96ÙM\19þV\1aR\ 2\9c¬´\fWP) ,¯ï\14QйhÇéÛÏß\7fýñë7nÇ\rZðû÷ï_¿~þü\81\13|ÿöùÝÓ\9b§¶ÍoË\rµ×\95\17áaga¢]¸\ 2K\ 1\ e~Iu\vß\94\9a)«÷_¸ûüÝç¯ß¾\7fÇí¼A\b¾\ 3Á·o_¿|þüéãÇ\8f\1fp\80÷o^<¸vbë\82®¢(Wc\15   ~`r¥eG\8b\99\8dGDAß)<¯uÎÆC\17ï<yõö=.\97\rZðþý»·o^¿zùâù³gOq\80'\8fîÝ8\7f\82îÒx/\vM\19aZ'WVN~I53ÏøÒî\ 5\9b\ e\9d»~÷áã'¸\9c6XÁ\93Ç\8f\1e>¸wçöÍ\eׯ]»v\15+¸rùÂéÃ;×Ìî,Mô³ÑU\10ã£}r\15\96Ó±\rH©ì\9d¿~ÏÑ3\17._Áî°Á\v®\¾táÜ\99S'\8e\1d9|è vpàÀþ=;7¯\9a?©©0Þ×VOIB\80\8b\8d¦Á
+,]ùÄ\95\f\1d\83Ó*»f.[¿m÷¾ý\a\ eàpÜ`\ 4\a\80!¶oïî\1dÛ6oX·fõÊ\95+p\80åK\17Í\9bÞßR\9e\19ée\r    V\16\9a¶]\99Ù¸\ 4¥Ô\8c\9d\83SJ\9aú¦Ï[´t9.\97\rR°|ÙÒ%\8bæÏ\999mʤ       ý}}½ØAOwg[cuQfl \8b¹¶\82\83\95\89\85\9dGXFÝÄ) .«´¶¹£«\a\87Ã\ 6+èééêloi¬«®(+-..Â\ 1
+\vós³Rã#ü]­\rÕeÅøi[\b\80k-\ e^\11\19u#[\8fà\98äÌÜüÂB\N\e\94 °° ?7;3-9!6:*2"\1c\17\b\v\r ò÷v³·0ÐP\90\14æ¥m\95\ 5\fVFfVN>\11i\15\1dS[WoÿàÐ0\9c.\e\9c ,,$8ÐßÇÓÝÅÉÑÁÞÞÞ\ e\17°µ±27Ñ×R\95\97\14áçf§i?\v\14®LÀpå\15\92\90SÕ60µ°¶Åé¬Á
+lm¬-ÍM\8d\rõuu´µp\ 2MMM\ruUeE9)1!>n\ e\1a'Vh¸rpó\vKÈ((«ªkhjâvÛ \ 4ààRSQV\94\97\93\95\91\96Â\a$%%ÄE\85\ 5ùy¸ØYiÙ\e@\84+\v\e'\ f\9f °¨¸\84$^\97\rF\0
+-1Q\11a!A\ 1\ 1\80\8f\8f\97\97\87\8b\93\83\r\98Vi\9dXAá
+J°l\1c\9cÜ<¼||ø]6\b\ 1\1f0´xx¸¹899\80\80\9d\0`ccea\ 6\96\04O¬\90p\ 5¦X\16V66B®\1a\9c\0\18V¬,,Àà"\ 201\81Â\94\ e\81
+       XPÐ2\11å°Á\a\98\98 \81E\14 O\88¢\ 5î\90\ 4t\ f©Q0
+FÁ(\18\ 5£`\14\8c\82Q0
+FÁ(\18\ 5£`\14\8c\82Q0
+FÁ(\18\ 5T\ 5\0\ 1\ 6\0Zac®\rendstream\rendobj\r1092 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 245>>/Filter/FlateDecode/Height 277/Intent/RelativeColorimetric/Length 14448/Name/X/Subtype/Image/Type/XObject/Width 245>>stream\r
+H\89ìWy4Ôm\e\8e1c\16\83\19û0vclÉ\925[\8b\90OD"KñJåå\8d\8aRiy\95H*E´¡\95¢RI\8bPäMe\8d\92\91e\8cô=¿ßð}ÿ}ç§ïÌ\99Ng®\7fÌ8g\9es_Ï}Ý×}=óæñÀ\ 3\ f<ðÀ\ 3\ f<ðÀ\ 3\ f<ðÀ\ 3§À\a\83\9f\9f\1fþËíj8\8eY¶ü(\94\0\ 4\14
+b뒻8
+\98/D\17\8dÁ\bb±8\1cV\10\83\16@ýÖ´\ 1g\14à+\88Åá    BDa\11QQ\11"\ 1'\88\16ø\8dY\ 3Î\ 2\18A\1c\ 1Ð%\91Å%¥e(\14iI1Q"Nð7n6Ä\19'$B\16\97\92\91¥**«©Óé4\15\ 5\8a\84¨\10\16\ 3Óþ\ry\ 3mcpD²\94¬\82
+MC[W\7f¡\89©©±\81\8eº"E\\84\0Óþ¥ÛÍ÷S\9b\86\8f\1f\8d%\92e\14iÚzFf\166Ëì\9d\\\1c\8cui
+Òda@\eýë\8a|få°wì\9c~\87Â\10\155ôÍlì\9cÝ<¼}\ 3\ 2\ 3ý}V9Z\eé¨R¥`Ú\90È9Vøÿ\ 1È\81gVìÜä\b&\1aK\94\90§\eZ:¸ÿË?(,2:&66fs\98ÿ*\aKC-\15\886^Pà\97$\rq\86\96\ e\16Ú°s\91#4Ñ\ 4\92\8cê\ 2\vG¯uáÑq;öì?\94\9azxÿ®mákÝí\16\19h*ËJ\88à1¿$kÐ/4\16/D$\12\85ð\90\1c\91²\ 6âFc\85%ä5Mì<×Gmßs(íDvnþù¼3\99\87\13·\85®q]f¦K£J\bãÐÜ'Í7\8bÿücvëHH\80\ 5\vä\88BJ\9a_@\90@¢¨êY»úG&¤¤gç\17\/)-»}³(ïÄ¡\9dÑÁÞN\96ú4Y2A\10é\81\9c\ 2lY(\14\14\8fùg\9e\b(\ 1hëHR¨
+òrÒ`Ó \1dBHÜx\11IE-SûÕ¡±û2r\v\8aï<|Rõ¼êéÃÒ«yÇS¶oòu±ÔU\96\12ÆrYßìÐ\bR2\ 6\8d\86^\ 6pdÆ\12DÄ)\8aj\1aZ\9aêÊrÐ\10\f¼®ÄåÔ\rl\\ 3¢v\1d9SxëÁ³\17\r\8doß6¾ª~TVt&ug\84\8f£ ]\96\84箾¡Ð\88\16\ 4)\99@ÀãqX\bà\8b0IRNUKßÈÄÄPG\8d*NDØ\19°®ð¢Ò*óÍ\1d½Cc÷g^(~PUÿ¶µãÃ\87Îö¦\7fj\1eÞ<w4!ÔÃf¾\828\81ˤáñ\15&\91ÅÄÈ$Q\11\0Q\90\98¥d\95è\v\97ÙÛ.6ÕU£\90ð\18DE\82\89&\8aS5\8c\96®\f\8cN<röÊ\9d§õïÞw÷ö\ f\fô}ìl®«¼\99s`«\9f½\81\8a$\11¡t8\ 3\9834¾ròòT9Y\8a\8c\fEVN^IUC×ÈÊÁÍsµ§«­\99\8e¢$\11\91ó@;ZXJY×ÒÅwSüÁ¬\v%\15µoÚ{\ 6¾\f3\18ÃC\ 3=-u\ f
+3â\83\\8cÕ¤¸M\1a\98\8c\ 2\18_mm-\r:\9d\ e>\80Àlfcïæ³.$4ØÏ}éB\1aE\14\8fä0\ 1\9c¨\fÍp©GpÌÞôs×î=khéê\1f\1a\19\1d\e\1f\1fe|î~WU|:)ÌÍL]Z\98»¤á,¡¤©glnii±ÈÜÜÜÂÊf©\9d\93«§opäÖ¸¸­á~Ë\17iQÉ\88\9c\a"M\92¥\9b8ølÚñwvAiåËw\1d½_FÆ\98\93\93\93Ì1F_Û\8b²\9c½\9bV\9aÓe\84¹¹³`AJ(h.´²sq[¹ÒÝÍÍ}\95\97÷\1aÿÀ\90\88\93ö\1fHI\8a     ñ\²@\11\99óÀ\9d\96¥\9b:ùmÞ\93qþæÃ\9aƶ\9e\18\9355õ\9dÅü6ØQ\7fïܾ\88_\814\10¤\9a¾\95³×Ú \90а°°\8d\11Q[bâ\12\12÷\1e<\9ayòTfjâ\1fk ç\11Bädà4\11\8aº±£_ôÞ¬\82;O_\ 1q\7f\1d\9d`M}\9f\9eþ>9ö¹ó\15 \r:Íey\83\91Æ\93å4L\1dV\aý\11\9b°+1iwò¾\83\7f\1fMÏ<u6ïbaQA~Vʶ\0'#U`·HHó¡\80\91©\1aÚùD%\9f,*¯y\ 3\89{|\12pþ1ý\9d\ 5H×ßÍÝ»ÑÍ\94Æ]#\ 3¤       bò:\96 KìH9z<ëTöÙsç/\15^½^|ûNùýò²k¹©\7f­gÛ-2Ò\18!qE]\e\8fðÄã\ 5åµM]\ 3Ã@Ü\80ó\8f\1fßY£\83\1duegv\87®0QC(\1c\ e\ 1&­0ßzÕ\86¸\ 3\99¹\97®Ü()½{¿¢òiUuí˺\97Õ\95¥\17\8fÍî\18\81pH²\1a¦.\81±©ùeÕïº\ 6\19 ÑÓ0éÉÑ\81ö\17·O'np1R\91\10âf8\81ª\14\93\9f\11\96p$çJé\83ÇUµu 665·¶µ·µ4ÖÞ/ÌH\br\ 6òFÖ\1aè½A\94TÖ[²:"ùÔõǯ;\a\18ãìF\83\99þÖßVS\9cµc½£¡2ä\8b\9c'÷?ªÄ\93¨Z\96î! iù%\15Õ\ro[Þwv\7füÔÛ×ß×ÛÝúêÑ\95\8cø@P¥\ 4ÂÜ\b^\96 ÕtSçu±©\17î¾hýôu\ft\9aMz¤¿õù\8dÌøuöúJâxn\92\ 6~\8b\ 5~\vë1ïÖãúæ\8e\8f}\83C_\87\19##\8c¡þÎ×\95WÒÿ
+\98C\95p«%\14\81\13³®U¾þ0ø\8d    ù\18 Í\1cék©º~|{\80\9d\9e¢\18\1eIÖá\18øP@\8f*ú¶>Qû²oT¾jí\19ø:26>Ád2Ç¿}î~SY\94\16ë·l\81\ 2\19Q"\9b\aÏ\vNDZÍÐnÍ\96\ 3¹¥ÕÍ\1fA«gI÷6?»\96ñ\97¿-8\8eˤù1\ 42Uk\91kpü±K÷j\9b{>\8f\8cÃabjrl¨»ñÑåÔ­>\8bu¨$\9c\02ãá\83"\1eYNÓlùúíi\97\1fÔ¿ïgL°à\95Åd@¤ÓãÖÚÎá\ e9\ 3ö\eAÅ`\99wdòé\19ë\99\84Ã\ 4k|¨ûõÃ\v\876{YiÉ\8a`\91îÕ\19\81ëÚxnÜ}òÆ\937]_F\99SÓly7WÁ\9dÖS಼ç±;£aê\1c\10s8¯´º©\a.\12\1aûò¡¡<o\7fĪEs\8a\8d°ÀeÔ\16Úûn9\98WVÛÒ;\f\198dd}-Ïá\99Ö\a3ÍU#\83[\r:£cé¾!áØåûum}3E\82\ 4ÕQw''9Üun     jVàæ+\82âÓ\v+\1a:!/\9b\86WVkõÍ\13  \81\ e\ 6JÜ]Yóà-\ 3¬GE\7f\89צÝ\90áv\ e\8eL\0}\8301ø\1e\84\89¤\10\17Äkzæ@XàJ\v\16{E$g\17W5±½\f\90\1eh¯-9µ+Øy¡
\rÈ1ðñ£0x\12\85fdï\e\9d\92sëyÓÇ¡Ù"ÛjJNî\frB¾¦gOD\83W\fÍÈÑÿÏÔ\8båõï\a [\84/ñeivRÈrã¹]"G\0uFH\8cªiæ\12\18wôby];l¸S?/GXàbòÚ\16îa\89\9f¾í\ 1·85óàÈ\ 1\ f\ e3\9a4W\1f\1cì"Ùc\r\128(òÚcÈp'§¦\98#?=\83³+Áv\rð²»/ÛúÀ-N±Æ¿t5ÜÏO\89ô°Ð\90\11An\8c\1c\ 2\1f{¬U\rl}¢\ f\9c+«mí\1d\9e`±Ø¤ÿ\9b\95çR$;\8dj\98­\bÞqüêãFø\16Yã_{\1a+.\1d\8eö¶Ö\96\13Å"Üû\9c\ 3¤G¸ÈåÀp\8b\1e½þðy\94Éb\82\99f\e\8f\91Ê\g\10ø\84 \10ð²%ÞQ)¹à\16¡V³&\86?½{R\94ö§ïR]y.§\93\99"ÁX\8b\83\15¹ïìí\1ah·N2¿AÆsfO\18XYÒÄ9Ê\11ö2\8aº\89Ëzø\16»À-NN0àð\r^\1cìyáv«g\12\ 5ÍØi]\ZAÅ? Õ\13\13£ÿf¾Jé\Ûè\91\99mÛÆló\10;dJT$!\89¤ádJ\9d¤RR\8a\86¯\90ê(\1a\84\86SI\89\8a\f\rH§DR¢Ñ\1cJ)¡2íÑF×¹\9fwÓÕ\ûõuÙϯ÷×{=ë¹×Z÷Zï\9e?ú7      iPOQ\92K:"î\10dÕ°WLÌ)\ 5Á0{XTØYÙÇþ\ 4ûÖæfñÿºÃ1\\83)®«#\13°Q3XtÈÞ\ 5({Û\19ªJ\8bq9\19äe\9cW\f\89MC¯Hc±hȾOAijÒåú\15\7fÉÁ\fWAÛÌiqð\814àc;\8dÉèz]{;\13r££),jn\17ëà+º\ 5D&d\7fô\8agq¾â/9Èp¥U\f¬Ý\ 2v%æ\96Á\96a0ºÛ\1aÊr\8e\87û!Qs\11¾\aþÇyEsô\8a\98`>¼â\16\1f§qZr\ 4\9eà÷À%g, \8dO/ªzÕAg\0\1d\1f];½w­\eÔ,îw\f\16ÁU\r¬]WGpFM\87W|z/\a¬q\8eÅh2Oð\ey\19ðÑÐÆ#poÒÕ\a\8d\fzÇ«ª\9bi\7foZho¬&Ã5\1d9       e@0\ 5`à4xÅ\17\8fóS¢×yÚò\f¿1ë¡LpñÝväâ\9d'h2]-u%\17\ fo]:Ã\fÑ\91Û;\ e
+Æ5 òD.ìê.:­£¹¦8#>\14ñ[\9e\8dñQVÝÄ~áÿbÎ\15T¼l§1¨o\9eÝ¿rb§ÿ\1c\v
+÷¢\1e\1cµ9\18xÜù\9bUðC:r\89Ü\84\bÿ¹\93t\15A0¼1jQ\92\92\9eÕ¼\80]'ó\1e<{KeÐÚ\9bÊó\93£\ 2Ýq\89\1a\13\f¨ÚÆ}í\9eSy÷¡ÇЩï^\94ß8»oÃ\82©Æê²â<2ja\89\91£Ì\9d\97\ 1¿KêZ»\18ôÎæê"$ê©FjÒb\\aG\8e7êL\98¹,ìPfqMs\a\8dÖ þ}áð6_\97 °\10xdÔ\82b2êÆö\7fl:\90VTÝÜ     vÛZWr\ 1\8a\16t\ e9\1cÁ\11ÛÕjFvó×E'_{ôüm7­ûͳ\aW\93ö\ 4\18ªÊðB\14\85K
+\88\90\94õ­Ý\ 3£\92¯\97¿à\88ú^nÂ\ e¿Y\13uFr\e¿\7f\eðFÅÑ\16³ýÂ\8f^º[×ÒI£¶¿¬*J\8f\võ\99a®Í+£æ\17&*P,æ¬ÜyâÊ}LÔ°c®\9d\86ø=YO    ÏbE     \Ns¬Ã¢M\7f§\16BäҺZÁÊ\12w\ 5¸Y\e¨ÀÖâ\ 1\8d\80;j\99Í\0Q_º[ßÖ\8dmêÂÔ\98\8dXpÄÑ\ 6\917J)ëOv\ 5o¼2`eM\15\85i\a\82\17;\99i\8fä\8dQc¢6\99¶(8.£¸öu\17\ 3\93ÛY\aC}\1cq¶AÌ\eµÍ\9d\97\86\1dʺ]ÛÜ      VÖRW\9a\9d\10¹ÚÕÚ\0\v\ 6Î\a\83Q1°\9d¿aÿ¹ÂªW\9d\f\r\86¯p\99\80¯\r\bVæµ~ß\99|\bàTlk\15¤¢Q\83ª%yaÔ0\18IE=+·µ{ÁÉ\9aÚéL\14¿ÿM\1al\83\82Y\99®å\ÿ\9d     9e\rH1بOD\ 6¸M1TÃF=ܨÁx$\90\93­\8aL¼úð9*F¨\r\9eÛ¿a¾­\81\8a\14\ eQcV&¯5ÎÑ'4>ãV\rZ\83\8a\82´Ø\90\13(d\92èð¯-ädò£ÆÏ\\11~,çÞÓ74\16³«¥¶83>ÄÛa¬:®½\8aø\8dR\99çºè\94ë\8f9\ 5³¥¾47q÷ZO;c\r9  áa'8
+\8e²\9aã\9c\96nÅì\9bÊbRÛ\1aJ/\1fÝî;Ó|\94\9dã7l÷K\92\1aÜq\1cã7\13$ÓTy3ý`\98ï,K]%)\1eX[#\ 4\90};,\ e=\98u§®µ\9bÅ¢¿k|\90w2rÕ\K
+\99ûÎñÛàª6u\\1c\12\87ñ\9bÁbv·6ÜËK\8aZ¿`\9a©\16/¬-ثҪFSÿØ\1c\9b^\ÛÒÍêat4Uä§D\ayLÑWÆÑ90ò \8d\19\14\9d\8cøM\87\87l\7fY}+ëÈ\9f+\7f\9f<F\95\a¼\fÈ\88v\96ׯ\98´¢\9a×]¬\1efWsMÑù\ 3\9b\16Ú\eãé\1cè\97ü"D2Åbö\0¿©ðOjÛ³\87×ÎÄl^<c<E\11¼l\98     \ e7$)\8f±\81E\9dz³º¹\8bÅfQ\87Ö9>ð{ú ¿\99ì\1eFgsmÉå\84]k=ìL4å\87\9dà°¨IJúÖ\9eëþ:[XÕÜÉb÷ÐÞ\ e©s|\85ß=l\16ííóòÂóñ[\97Ï\9e¤¯"C\10æ\1f\9ct2Ù=(úLAå+\0Íf´\ f­s|Éï\9e^6lÂú{y§ÿÚ¸ÈÑ\G\91\84\1c|h¨ùÐ\19\81\1dôÅí\ 5?\ 5ÝÛËì\1cZçø
+¿{{{\90\97\15_<\16\11àþ\7f 8ÂËÏ/  \88\8e\80\0??\97È\11h²®\95[`Tò\8d\8a\97\1dÌÞ¾\9eî!v\8e/ùÍîëeQß4>¾\91\16\17¶|¶\158øP\b\8e\10\v\b
+       \8b\88\8a\89Ã\11\13\15\11\16\12\7f\1a7\80&\92GO\9a·fÏi\bß\b4\9b\ 6\9d#çxø\8aY8;ÇWøÝ×Çft¾®+\e\10Ò(\ 6YHD\8c@$IËÈÊÊÊHK\91\88\ 4qQ\føOâ\ 6*\12\15(\96¿\aìNºöøE;\80îe`\9d\ 3Dm¥\87¯s|Îï.økßG\ 4·\1dB\1aå@\16'JÉ)(©ªkhj¨«©()ÈËH\11        b"B\82\18Ñ\7fæ~\12#u&Îñ\8fÀ\1a\a£·\1f\89º²\10\10Dý)¿Û\19ì¾þ\ f\ 4ß\82Ò¨2Î4
+\98\ 5\85Å\88Ò#\955tô\rMLÇ\99\8e56Уh©+\93å¤%   bÂ\9cqÿð/Ð8´Ç»øíHÈ½ßø\96Îîç\88:ó`èâéxEý\15~÷#\82·Ô\95]\19R\1aåãã\17\14!\90äUFé\8f\9d0ÙÎÁÑÉiú4;k\vs\931\14-U²\9c\14Q\DèÇ,G\8dCNËÌÙwûÑì2¨Yìþ~LÔÙÇÂW¸\f\9fó»¿\1f#xUqÖ?á(\8dªH\8bãø3ß\b\ 1a\824YCÏÔj\9a\8b\9b\97·ÏÒ%>\8b¼Üç:;ØX\8c3\1c­©¢ #I\10\15\16ü\11lT³4L\1d\97\84\1d¾\b5\v\81\1e\10õî\80yVºxEý\ 5¿ûßc\ 4\7föðú\99\98\8e
+\92Ü\8f\1aÈ-$.EÖ2\9c8mîBß5\e\83·l\r\v\rÞ\18è¿l\91Ç\1c'[KÓ1ÚjdYÒ ìï\80\86\9a¥fâà\1d\12\9fuçI+µ§\1f\89úee\ 1\88z¾­\81\8a\14.Q\7fÌïl\ e¿ß¿ï\a\827?)¹|<bµÛ\14C5\1cÅ\ 3½¥äHMÃI3æ¯Ø°m÷þ¸CG\ e\1f\8a\8b\89\8aØ\16\1c´ÒÇsÎtëñF\14\r%9)       Qáïj\9bïÓ\9a\ 5·ëcu·Ô\16\87x;\8cU\97Á+ê\ füN¿U\8dòIÿû÷}=(\8d\16¤Æ\86,q\1eOÁ±¶`¿\12dÕÆX:/\f\b\8b>|ê\Æ\85\8b\17³2R\93\13ÿ\89\8dÞ\19ºÎo\91«³íD\13]\80M"\88|oØ\9fÕ,\0\r¢nk(½|t»ïLóQò\ 4!\ \aøí\11\14\ 5ü~\ eù\ 4@\ 3\87ºZêJs\12wCñ0V\97ã6¡\80¢EI\8a:æÓ\17¬       \8fMÊÌ+(.¹{÷NñÍü¼Ké)      ñÑá\9b\ 3\96zβ·\ 4Ød\19¢\98\90À7Q\7f\0t/ý]ã\83¼\93\91«æZRÈD<\9dc ô\0¿ýÂ\8fe\97Ö·bü~ßǦ¿kª¼\99~0Ìw\96\85®\12¬-î@\ 3}dÕ\8dlÜü·Ç\9fÉ-º_Y[W__W[]þàî­ü\9c\8c\94c\avm Zî5ÛÞÂHGE\9e$.üMÔ\835ký>NÍ\82Ëõ2;\9a*òS¢\83<¦è+\93pu\8e\ füö\ e\8e=_Tõ\8aÃoð²îÖ\86{yIQë¼ìÇjÊKpçe@J¢\82Îxg\9fà\98\94+%\95O\9b^·¶µµ¶475Ö×\94\97\15_¿\9cvò`Ô¶õ˽\lÌôÔ\15¤Ä¿\19\80°Æ¡oíñ\1fëU\1eOeºÇo3\9fÛm*)Ù\1a»JBIQÉ2Z¤QIÙ¦\12\1am"¡¹ÉM&
+E\9bT\13ÚdI´\90ÒQ¶\8a\84dÉ®ìKN8\96p,e~Ïó¾/'\9ds\86Ó=ÿ¿Ïy¾Ïï»ýÐn\896\ e\0=Àlo(I½ë\7fÈBw\81\94\0\8c\83\17Ð@Åi\12J:f\ e¾¡       ¹¸\0|A^\86b+-&ÐÝf\93\96â\18c\v$3Q@b\9e\8e©½÷õGéEÕM­í\9dðëhc4Ó\e\97äe>\8f¿\1f\16pú¨Ó\ eÓ5ËæÉrA=rÍB6ÛÛÙT\9e\11\eà¶C_UVh\12O¢Æü\16\95[j°Û=(6£ìC\a:øËç\ 1f'½2'ñÖYgK\1c[cñ²!ò¸øG=˯¢·w3{ûz{\99Ìî®ÎöVzCuyavZBLx\80¯«\9dùZMeYÑ©\13dzw\rv ûº\9a+ßЮ{î5T\97\13åãQÔ?\8c\9f$(­²z\9b³_ä³\82ÚV(¸_\ 6Ql1\1aJ_=¼ê\89bKZpò\18*8¸\ f?i\13\8f2Ë?´÷@¹\85ßÀ@\7f_/³»³­¥©®¢8çeBôM\7f\ fGËõZóeDàQÙ^\1e\81\16û\8aÞ\83POZkò\93Â|\1d\15Åx\155²Z1\ 5-ã}Þ7hÙDT\ f\92±\95\9f\12uÁuÇzuäe£\ ekB0Tá!\ 3a\10\8e\84)}\1eèïíéê`Ðë+KrRi·/{\1d°Z¯¡$%Èa¯Aî-¦¨\ 3F\16      F\86Ü{ðË\0ì\1cE/î\9cwÞ¶J\19\8b\9aG~ó\89ÌR[kízé~Z1ae\83\1a˳h7}\9c¶®^4K\14ÏbTÇ£-\81\88þK¸Ú¢\9bR?$\9cþ>4î\8fõ\15\85\99 w\83¼\9d¶ýºD\9exT6gAN\8bÏ[¾õ๨Ôb
+toGSù«\a\ 1nÖúª3\85xKjÂw$ç¯Øìt*\fYÙ'jÔ(¶R£\ 3\1a\ 3Á\85°\83\8fæ|l\12\r\92÷y\184\1e8\1ew'\83^[\9a\9d|7à¸ýo«T  Ø\8eú\a¢\91m;ä\7f7­¤±\ 3ß\fí\1c\95ÙXÔËæ\88ò\98Ôp2Ò ú\86Ýî\81\ fÒK\eÛ©QClUä$FøýÏÚ@CA\82\90õ(þ\0±[\1câÀñTx"ªóý_\81¦ÆÝÛÝÑR_þ&1ò¢Û.C\r\ 5q¶]\0ÍCPz¡Þv×KÑн;ðû\91¢\ e÷u4û\85gQ\13]BFE×ü¿g#\90\ba\99A\1aD^V_\9a\11\17ìs\01P|: \1e\ 5ÃÑ:\88\8cÑÒ\ 5\82\1f\15Û\81\11\98IØ}ÌO­õeYx\85Õ](\ 3<ývdèf³\16Ãj\19ô0\vHC\l\80ÙV_\8cDm¾JYR`"O;\aies57í=~õ!¤\165j\88­æê\82\17ÑA\9eö\9bW«Í\11\9bNôä\7f~B>\91ÙKÖ£\8bf\12\15ï\eÐ\18v?óSKmQZtÀÑÝ\eÔçÌ`³&\8e\ 3Ióÿ,¯±ÉÎ;8>§\12w\88A,ê\ fe¯bþrý}ÍB\19AÞv\ eÂÊ\84e\17éY\1eò\8bLy[ÓB\1e\8e¼¬©"79êÒQ[ÓUªsÄ\ 5ù~âÒ\93©ÃÐE!\fìO\86<Í­"Ïb\a\e­°ô\8a7OC}\1cÌt\94Ø­\89\94ÛlùãLDò[\9c¦øC\10õû×q°s¬[\fNÆ+h8|\9a¸¢¶\91\9dç5"Yñ¨Q\ 5g4\94½~zËßÍÆd\95\9a¼\84\10ÿÄ\7f\126qQå\95æ\aý"\9f\17Ö1zúÙcƨ»\19uE/ QZ®Va³&\8e#sEÿwW"\aH¥ÀÎÑ\\95\13\7f\ 3\9clél\11>Þì\9bJ-Õ_­\Î\93£\1eÀ£\86°n©+É \85ù\1d±1Õ]¢ -\ 2Û\ 1w\8a\13\81¥ªo}ärÌ+¢àq\0M\86OFlà\9f;ת±\19\195\vã}^7\1e¿&\e\ 4ú\ e9Y^BÈ\89}\9b\90}\8f¥!\8f<^@BIÛØÎëZÜШ  \aÿXS\98\1e\17êçf»\19õä\19\ 2|XØ\1cÿ\87\b¬e\e÷z^§eW|üÄ\89Ý\ 4O»pø\1c·ÙÀfd`5 º\99Cªk¥\94\82\17-èd>û\8d5åyÝ.\89ó§\0\91\88QçW\13Y\8dܦ¯§\9d^Uð2.Ìÿ¨½ù:­\ 5³Å\ 5§p\15ö80EqE\1cXID`qÂ\8cç¥:÷éMo;42¾\11##\ 6­ Eúkc;\93T
+t2FÝÛäp_\a\13͹¼\83f\19\1aþ \8d\1c5Ⱥ»½©ª \9dvëÒq§í\eW¨ÊK
+\ 3Å9f\17:hºÔ\ 2]\v¨\13T\87âø\83\91µÖæ'\86\9e´7Ò\90\1fÉS\18Ä\84)"3Uõ,\9cÏE$å\91¥éÿ\v\1aý\ 3¨\1a¨t;\99ü\aRÖÝmMU\85\19\ 2O8ï2Y½TQFt\1açìÂ\92\9e©¶vÇ\9f\81±\19å\9c\ 2k\184£ö-{\9e\82\8b\8d\9f\84æ`d{üJì«Ò\ 6r\ e$hN\9f\8d\115\1aµ"ñ\17é%\r\8cnB@\18u;½¦øuÒýkg\m·èk*Ïüy:Çì¢$mëy#þ\r\95¬¼L\1a\13ÿ\8cÙ\8bõ­XÆ0üYM^"\18\99Ñ÷\18\19¥jD¦\83\13r*è\1dÌ~\16Ô\1fkËr\9eÇ\86ø»ï·0øe¡\1cçìÂk\91\82¶©£ox\12NV.\98)\e¾é½ï\eMc\17\13\92V^njïÅ*8Ê
+ªr\9e\ 4\1aªËñ\1eYÿ"G-® ¹q\8f{@tjQ]+\11[\18u_OGKÃûü\97´\88¿¼þ°6Z©¦ \ 5ÙÅ\96âx­\9c\8fR:êEQC\eWIs Üq? r\8bÏ]f°ÃõÂ\9dgo«Y\ 6=\88L¿"ûñU\8fÝë\17Ï\12æqÍ\1a~ZaÙ\85º[\ fø\86Ä¿~GÅ\16\81\9aù\89ñ¡
+VÁ;W|]ö\98é©ãìbGqäcÒ*zV\87/E§CJs\974T+úû¬G¨Z}\9dÓ è\7fO\9c:c¶ª\9e\86\96U>|\eôYogÓ»\8cX´[.\92å¹\86\92¨!!Ää\97\19ì<rqèm       Ô(¯»Úè5¥Ù)1ÁçÜö\99¯ÓV\99\8eâhÛ\80j\82|\fm\bÜR\9a*ÑéP¢·\8f(ÑpÌ\84)Â2\v\96\9bØ\1d\v\8cN-¬mé\1a~>X8Ú\eKÒî]p±Ð] ÅëÂAýÑ\8fÿ\99\f*Za\86T\ 4vIy\19\81\1aVÁæúw¹/\1e\85]8\86²Km.;\8a\16\9eµÄ`ϱk´lìc\%ÝÓV_ø<Êï ùÊù\92\ 2ÃÝ\e³NPRIÓp§«ÿí¤Üa\87!?cÔ\15¤D\9c9°y¹\928TvÞ\aMù¥\1còËs·ÀË\9a:X)\ 5Âîlm¬(H\8f\8f\f\80ì2eOq\0Í'"§¾ÑÖ+øinu\v×j\82
+\19t\93\84P\9fý&Ú
+bS'P·'\ 5-¿t­åÁS!´Ì2\96÷'>\ 3'x\ 2ög\ 4\89ÅÏ{báÿBÉ8]RIk\93\8d{ÀýÔÂ\9a\96!\82ã\9a\ 2« £©º8+éþõ3Gì¶®ÓbCq8\ 2\12KÃÈþdh"ô1ÎÛ\ 6ÁnÐfæ£+\1e»\r\90\8fQ·G÷À\82^½ÅÁûê\83´Â\1a¤´aÐÄg\ f\83\8eîB>6²Ç\8d\19\81ÀË\9c|\82\1fÃ\ 3·±>0¦8\99]¡þ\1e\8el)\8ebz\86¼¦ñ~\9f0H,F\ f7\1fû\8cØ\8d\96,\17K=VIcÆ\89È\82 mÝ/ßMÉ«¤³P\ eW\93\86âTøÌ\82ín6fÔ?b/S_o}ø<H©òk)±f×m\ e\14Ç çj\99\86'\17Ôq\ 5\14±ÛÁL\ak\93¸=zz>!©yZ\86»\ý#\12²ß5ÂÛ\ f1\8e\14E^b\98¯#õÙwaÆ\ 62YPj¾\8e\89í±À\18d\9a,\ 4gÉ®¢ÌÄ{רR\1c\ 3hS\0\9d\ 2 ¹Å4\980xwFl\90;°[N\94j\93TB«¯³r>\r\82.­oíb!7f7ä\ÜÕc6PMD¿£\84\ e£\ 6f\89ÎÂñx\93\96UÖÈJðáìª-{Ã\81â£\9f4L¬»µ¶ %ÒÏy\9b®\8a´à$¢cP\82VÓÛêxâZìË¢\9aæN\16ºav·7@`]<lµf\91¬Ð¤ï¨&\14èqCEè°\7fäH\82\ fe\17g\8a\8f^ÓÄÄ^ÓnxÙ\19k\81w\13ìF­\ 4        Ze\85©\9dGÀ½gùU_\v\9a\9aü¤ðÓN¿-\9f'1$\8aï\e5Yy¡\15\ 4Ť\8d$8\99]\9c)N¹÷¾\13!\89yÜÜ\e\9bñ7ïU\1e\ feþdz¶HQÎÊQJDl\94£~®\12%\15\91Ð\8aR)%]:TJ\a6[\14Ñ¥ØEÊÑ&å\bE\8bÉY¢q\raÜÃ8\ 6ãÞýý¾ßç\99\99Ì<cü^¯fzþ\9eyͼ\9f÷ùi®È}q÷â¾ÍÚKéÙM7´¡ÕÁKÁ±ï>}mg24ã]¥\84û\1c¶Ô]ö='\16\13j(p°ÿ\1c\138'\89\v\0\89\ 3\9e\ 4=\9d^ÒÀ¡§\91?_÷)=êÆÉ\9dF`\99\b!!\8c\84\8a¸\1c0ô^\8f[O\90\86¦²¼ô1\98ÝPÝ{¡ºg\7fgaÑ@£\ 2_\ e\97>;\81s\92806??\d:æ.×ÂR\8bë:'\9d¡P¥=-\95¸\97\ f¼\ e\98¯QZ0G\10Ê\14\86\98\90¨´\92¶©\83»ß\1fÀÐ\88Ðþa\12\1a\9aÝOýiêþÞ¢¡f\128&Á'\93¸\86¢¬\84\b0öÏ3fK,Ñ4Û\7féÁ«\82\1aRÿd\a\a\88nHtF´¿»½±\ 6\8c1~>>ÔÐó\15V\19Û\1dõ~\98\90\8d14}\99\14%Ãìæ\9aº§±
+\1cÝ\80,\7f\1d#q'K#-å\85R@â3\ 4f\89/ÒØ°û\ð_¹\95­\94I:\8bAôÃË\a·é*K#1\86`\ 6g\86úÚí\87¼Bâ2K\10C3c\ 6\83¦\a\ e\9a\90óN¦\9a\8b¹¤îiL\ 2÷DÖ>\89õu³\93¸ÍÆ5ª\8bç\8bÎ\9e9s\96\98\9cÚº\9dî\ 1ϲ¾4uObj\9a£\ 1ѧìMV¢\7f\9e\ f   1\89Ejú\16ûÏ\a\15a\r\r¿7ÐY_\92\11\84íÚ     \83\86\v¨'\b\1cÜuxØ\94ã¬Þd\96xÀÅ#ö\9bõÕ\15¤ÅEf\v\8bɨèm?âûç\9b\8fÀÔ#ìL\8dD7Bô\15\1aÑÀ\9aô\10\ 3\99\9b\11Éy\95\18C#DSÚªó\12\81@Ì×pe\99L@M\13¸Ã©\e\11)\ 5è&ú\97\15õ7\89ÿý:êÎÕã»-Ö®R\92\93\12\9d+.­¨³\ 5\98:1¯º\8d½¾i\84½\8d\ e \11-\0r\1fb\16\93Y¦cºëÄo\8f\13sñÄNÖ\b\85®\18 \13K3\9fÝ:³ËD\831h¸\ 3\9a>QÌ÷_\b\8ay\vÊ\922\84\8da&\89ÇÜÿíô~kcíåò\v$%¥ÁÍâp&0ö=¾©g\90Õ\19ð\81§FkuޫЫ.4¢ù\7fâ\9f\ e0K+i\99ìt»\ 6Î\fà*Ì\8f¢D\13
+\92¼]­ôT¤çrOÝÓ\18\ 2_±n\87ëÕ\ap\16uö³¾t&\89\97\17¾}þøæùCv »\96ÊIË*¨¯³9æ\17\91ö©\9emiÑz\a\12æ°\ 1!z:H}Aaq\19EMc\9bÃ\97CÀ*a93h\ 2\ 1ßk,{\1f\eä±ÛTs\89\940\17Õ=\8d±Á57Ø\9fôû#)¯²\19Û[\13%ÞXýñ}bD \97\9bÃVÃ\95ÊK\16+®Ð·t¹\12ú*\9fÐÞÇFßðÔ Õ\14\84É\88
+       L\9f!(4GRVIsý\ e\97\8bAOÓ\8a\8c   D\17&\87ûºY\e¨Ê\8a
+q§¤\19 \11\81Ë(¯Ùâäq+:­¸\ 6\18\9dÒ$Nn©ý\9c\93\1c\1dâí\ eæ\99Î
+\95å\1az[÷]\by\9eSÑÒ\8b\9dßè\ 2-Ï~\1e|Þi\93\96¼9B\823\85DÄæË«h\9bìpñ¼ý$5¿²\89\8cÕ\16L\ 22±,+îÎ9ð=Ærå"jôÈüÅÀÊÅën|Öçz6½õMâýÝmuø¼´8t\9eék¯Ò6\ 4\87a`\fûÒBâ¨\ 1é\1d\15òRs\84\85EÄæÉ-]¡kjwØóvdò\87r\10\9a\ 4Ý\ e\92 ?)Ì×m\87¡\9a\9c\18\97\89FPO\17\14\ 1×\ e\18G>p\98±í-\94ìñ±á\81\1e\12±²\bí®]\16&\86\86&\96`<?}WJì¢bA\8f\8fô\91j\v\93\1e{\1f¶ÒW]4O\Lb¾\9c\82ªö:s\a7¯À¨dÜ\97\86\ e\10b\98\1986ÜßYÿ93&Ðc\ f$ZD\80\9b1\86\82æCg°Î&8ÌR'é­o\12§t6\11J²_G\81y¶ÏÖb\8b\85ÝÁ\v\81Oß~n S1I\ 6,Mi­ú\90pÿ\92³\85\9eÚ\12YiYyE5-C3\9býîÞ!Ñ)¸/õ$6!\ 6^\15µ»¹\ 2\97\18zÍu»\81*/\88\86Tóí°\\ f\f³; ·j1\9bp\ 2j qzw=¸~îÈ^GGç\13WïÆe\96\12Ù\81F§äó\10Og\v\83\95*JJ*ê«×\9aY;\1dõ¼\11\1aû&\ f_ßÞ\8b\r1\90Ü\83½m5ÅiOüO;lÔTà\ 5ÑÓh§­\94¼:£·0ë\7f\82ôÆG\87iÝõWøík\1e'O\9cöò\ f{\99\83oìÂ\82¦çXÈ%\17k\13]m-\1d=ã­¶Nnç|\83#\12Þ\15V4\90°\98\91äîë¨/Í\8a¿{éÀ6=\15®G7\ 35?½·N\\ fgwç1K\1cí.0Ï¢\1fÞòó½~ûQl\1a0\ 5\9bu\82\80®ÈyñÐû¸£\95ÙÆ\8d\9b­ì\9d\8f\r
+\8fKÍùTÝØ\ 10cC\f\18\9aÜX\8eK|ì{Ôn½ÆbIa\9e\10ÍÜ[\ 1\14Vc\ f\0&Ôhw\95~HO\88\ e\7fô8">%·\14Î*L\90Á=ÖR\95\97ôg\80§Û>\87]\8eû\Oyù\ 5\87Ç&g\15â¿¶\90û\ 6Ùñ<2ÐÕ\U\90\1aé\7f\99\8eÒ\ 2d­ó\03£·Ô\f,\ f^
+\ 6+     {ê±H\1cvW}EqNFRbbr\ 6®\84\80\8e\1aÖO\8e\ fQÚk?¾\8d\ f½yÙãÔ©³\17}\ 2îG>Oy_PFh$u÷\83ÜÆ`\ 6!ÖÓZS\9cñ,ÈÓy\9b¾êBq¸Öy\ 3\9aÞ[\1aëmÝ®=|\91ÍÉÖ´î\82\17H-þS>\ e\97W\f0tPؼ%\90Þý\9d\877qa!\ 1\ 3ï\85?{\99\96\85@lë¢P\87Ç0\98\91\10kÿZ\92\19\7fï\8aë\ e#\8dÅR"\82¼\117\ 2\1aöÖÜ\ 5\8aÚ¦»NúMaëo\17H{S\1d¡²¢²¦¾\85\9d=ÑéÝÓV[\8aKO\8c\8d~\12\1d\9b\90\92ùácyMc\e¹w`h\14|\1e\8e\ eQHõeÙ   ¡>Ç~Ý ©¸`®Ðt~>^\81\86½\85Ü[ÿÙ
\ 6°5\81\83­éÝ5@éêhkinië@xcwoÀTj®ýR\94\93\99\91ñî=®¨¬ª®\99ÔE\19\18\1a\814c0\8f\r÷\ 1eà^\85ÿîîh¶ZYVlÖ\f\9e\89\eE\rzK\12ÎÑ      ¶\9e\145tߨÈ\10µ\9fÒÓÓÓÛ708\82Ñ*]®}äÖ\ 6ByiII)¾ª\96ØÚÑÝGe\v\191ô@WSe~JdÀٽ溪\v%x\95Ü\13P\83Þ\ 2s\14µ5Ƕ¦\93=6:<48884<\ 2´Ê~¯C\etw´6\11\e\1a\88\1d]½ý\83ã젣÷dO+¡8ýi\90ç\ 1K\83\81¡y\95Ü\fÐ̶Æ!#\9c\ 3j\b\eàF\9eñ\7fØ¡@Í?:Díëí&\93É]=\94~:Éì_\100tÝg°J.\1f\ 6!¶dÞ\9c\99¼44\r5ÃÖ ­£R\vª`\rqB\r\v\91C\10\1cÌ?62<H¥\ e\83P\11lIF\89\ 6÷d#>7ñ\91ϱ\9d&\9aKA\88ñÖÐtÔ4[[\1e¸xçYFq\r\12f\9cPOýÀ·2\ e|\0\9f±ñIHF>\bæ[o\e¡05òæiG3\9de2 Äxlh:jÄÖ\1aF6®WîÅg\95L\11fÿ7l¨\ 6\8e\82ø/Bt\7fgCiV\0¸Nô\96Ë\81UòC03l­µá×c>¡    Ùeõ$ì¹Ë\9b\a:º·µ:?)Ì÷¨­\91º¼¤0\ fW     \vjÔÖÊ«Í\1cÝýÂ_åâ\89\9d\1c#\9c\9b G\aÈÄÒÌ\98@\8f=\9b´\15çÿ\88\10û\86úg\ 1a\89\85ªºæ{ÏúG&çU4M\11á\\ 3=>Ü×^S\98\1cæsÄÚ@U\ e®\92\1f\85\996Â¥äA\989_\b\8cN+\84\11þ#P#Whyv|ðù=\9b´\14¤x¾J\98Aóñ£a¶Îú\90WpLF1¡µû»#|ê\a®trCIzÔïÇmÖªÉ\89
+ñz\95° þ         ³¥«\8cm\8f\1f\9fYRÛöýÅ55èñ\91>RMÁëÐ+\aÍW+Î\13\16àÿ\91\98\11[\830\93VÒÞh\7fÜ'ôÅߥu$
+,.\1e\83\1eêý\1fóeþ\96ã¶ÆñÐÎÛ<ÏQ\8aF\r\14EÃNê ¥­ÁP\bÑ.\92lÄ6d(Q\86dÎÖ(;IN\ 3j#é\95¤\89F\8dÒ¤Ò<i~÷^ëyÞä\ç\87s]çZOÏZÿÁ÷º×ýù~×\ f¯\1cÞl¡£ Ê;µ\83&SÏä\13\95S5\80\b\ fMÌ,þÜÖKõZ\83\95î¬/L»wÞk\9d\89\86¬\10¨«©ÍÌ63\88p«­Þ\17"\9fd\7f\84>Jé¨aaµ}ÊK    óu·1P\96\9aòßÍAÂ\8cD¸Í\8e#Á1Ïó«[z¨mk¸Ò-\95Ù\897\8fo_¥«(6õ¿\9bc\12áÚ¦öî'o=b\16×S<jr¥\99qÁÞ\9b\96\16á\9eúßÍ1\89p]\vÇ}\ 1\91)¹U-=CT\86&Vº(í^à^\a\13uYA\ 6çÔ\ f\9a\9d\9aWXVu\89µË±k\ f\99¥\r\9dß(üß\84\83Öæ§\86û¹Û,Q\9eúÂ\9aL\r\10.¦ µl½W@Ô³\82Ú¶þ\11*C\ f÷\81\96N
+ñq±ÔS\14§e¥'R3\ 4¥\95\r¬]O\86$eW¶ôRø¿\81x÷|)Ï\8c¿
+[Z^\84\87\96\95&S\83\ f.¦ c±ùPp\1c³¬©{\90ÂУ\83]\r%é1\17\7fÛ`ª!'DÓJ\13¡Á¨\85dÕM\1cö\ 6\15ÖÃ¥¦*ôøè@\a\10勉\1e\86\ 2t­4\91zÆL~Ie\ 3\ew¿ðÔüÚö\ 1Ê\96\1arìkMî\93;§\­\17Ï\95àã¢k¥9\88+\93W\QÏr\87OHrNukß0e¡Ç\86z[*²\12n\1cݺb!\1dâýã\9bÎÉ#"¯cáüûµGY\15ͽ\94é XéîÆÒ\8c\a\97\ f:\9a\12¦GM&Þ4N\86°\9cæ2Ç\83A\ f É(Ã7P\93\8eºÂ\17w\ 3\8dÕd\ 4\194®4±Ô\822jÆ\ e^çÿ|YÜÐ58JMhâÚ¨É{\1azÚm\8dþ<I~.\9aCsñK©,]ëq6òù\87º\ eªð\rWº¹âmÂ\8dcÛVêΡçÚø!ôt.>\89¹úÖn¾¡)$¾©      \rZº±$#6è\80£\99\16Ý+Mà[\fâûÄíÇ9Õ_)\12Qð»\aÚaK\9fÛcgDûJ\13ø\16UX°bÛ±\9b\89ÙUTu\16QXUï\92o\9fÜi\ 5Z\9aæ\95\86øæ\16\99­m¾\85è¬\16j:\8b\ 5ØÝÕXÊ\8c»r\b\887Ý-Í1ÑYfNÞÁ\ f3?6÷P\14z¸¿­\16üî\0O\a\13\rY!\9aW\1aâ\eØ÷|Ó\8d\a`Q\7f¡¦¨\ 1Æz\0»\93BNì´\86\85E§x³C\83¢V7YÿÛÅû\19¥ÔØ       ÄXG}Qúý \83\9bÌqøÝDhiÒNÒ\8b\e»¨8.!ÆZ«s\9f\86\9dÙm\vØ\r\7f7í¡¹\ 4¤T\rí<\ 3¢Ó\8a\1a:)P2\12ce¯ã¯\1dÙºJOI\82þßM(\99¤ò\12 dQ¤\92Q\10\9aÄØÝ@¯u¦\9a³DxhÿÝPÉø%ç\19Øì:\13ñ×ûÏTx(øÝ\10c\89\ 4Æ\94¥\ 4\18\9ctg\86J\ 6<t1ðÐ0j<ô\a\8c9\11\18ã¢}Ð\84\87\8a+-²r=uçiÞ§¶~ô¡Ç\86û&0f\b0Æ \1dcìÐ\8az«w\9eüãIn\rúÐ\0c\83]Me\99\0cÛ ÆøèVPâýpqäÖ ¿8À !Æ\9eG\az­7\9d\8f\ 5Æ(\9f4\1c4ÛÆ\­\r\0Æèï+\ eÊw\1a\ eº½®ðeÌ%\ 2cb8`\8cjz\93\83®|÷ø\8e¯ûZC,l\8c\fMeO\93\83.J\8f\r>´e\85®"\ e6\ 6\1f42)\95¥\84\91\15Öu¢528èn8èP¿ÝvÆ\1arÂX`\8c88\ 4¤U\8dì\81{¿DíÞ,bÐ\9f\vÁ \ f;¯ÔSÂà¨$\1fyZ\1a¯Ûw!æU   â+\vÈØ·®/åo\93ïøÂAcÒW\1c04CHVãç\rû/Å2K\9bº\87\10\86f\8d\8f\rõ}­}ÿ"&È\e\92¤ÀL,0\ 6Bs2\84å4Í\9c¼\83ã2?~éA\ezd ³±ìMBÈ)·µFêrØ\f\9ac:'·Èlmó-¿_{\94UÑÒ;\8c.4 ØPokMþ³è\vû\9d,\16Btc2h`¡<¢
+\vWl;v31»ªµo\18\9d\85\ 2\8a\81óª\84\19\7fÃgç\9a¥j²¸ û?,\14±z\93^R\95\93\12qÎk\83\99\8e\828ßÌ\19¸\84\9e\89»_xj\ 1J!c±½äÕ\83«G¶¯ÖW\96\16âÆeÐ\135mçyîî\vÂM\90\85&êª"ûqè\19\ f\87\9f5g\8bò\82\9b\12\97Ð\9c\f!¹ù¦ ±î#­é\89ºJ\8b  :ä¼rÑ\)\ 1\ 6.\14#8&"¯c±åðÕø7åÍè\1ak¢®\12o\9fr·%¼\84\v\ f\19ãøÎ1K\17\9f\90¤w\bá\8dq]\11+Í/©¼\84à\188,\91Á\9b\18tCéëG7}\m°ª+\ e\ 5eÕM\1cö\ 6ÞK+ªGÇ1Ö\18\18tu^jTÀ¾\8d˱ª+\ e\8fi-ß\ 4$\94YÖÔ\8d\8acìA3ã¯\1fs±2PÁ©®È\95\16SÔ]µý8ð±Jt\12Ê\82è®ÉK\8d\fØ»~\99\96¼\18Fu5±Ò@M|ÃRò>µ¡Zi\80±o]Me\99\8fn\1cw±ÒW\96\12Ĩ®È\96\ 6+½Î\v¬t!º\95f\8d\ f÷·Õ¾\7f\1e}~ß\ 63-yÂKè\8eúýM\83×\86¼¶ùæCWâ^£\鱡\9eæ\8aì¤Û']×\80\8dÆlÐ3¸ø$\94\16­Þq"$)»
+ÙJÃßÝÙPü*ö²÷&s\1d\ 5\ 6M\14\96\8cª¡­\87\7fä_\ 5èZ\1a°»¿íS~j\84¿\87\9d\91\9a¬\10^\83\86\ e:[ËÌñ@\10\10ï\86.d+\rJº¥òmâ-\1f\97Õ\8b\94$øñ\1a4ñ»õ,Aa%dU \13oÖè`WciÆ\83ËÞN˵åEp\921h&àw«\19Ùîö\8f\a\85\85J¼ÁJwÔ\15¾¸\eàio¬.\ 30\86Qf6»\97;\1d\fº\9f\0\v\våJ§\84ùº­1\98'\89Ûï\ 6f2o±Õ\ e\9f[\89oQþîñ\91¾¯Õ9É!>.\96z\8aâ¼8ýîiÀ»\85å4L\1c<ÏE\ 1v£ûÝ@Mz[*Þþûú\11ç\7féÈ\8bòpN§;êä\83\18\13W\¸Âùð\958fic\17ªßMªÉÇÌ\87ÁÞNfZ³\84¹1Zéi\ 4ÆT\97þâî{çq\ e0\13T¿\e\86în*cÆ^Ú¿ÑT\ 3´4F+\r\ 6Í\v1æ¸ÿâ\9fi\85u\1d\ 3\88Ì\ 4\86\ 6\8dUò*æÂ¾u\10Þ3ñ       \r\a- ¥¬o½ÓçVBVù\97îADfBÔtg}QZt\80§\9d¡ª´\0V¡¡\8di\9a®÷
+¼û¬àS[\1f"ïþ\9b\1f\9eEúï^»D\19«Æ\ 2}% 9w\91åö£×ã_\97\18\b=2\0k:ôô¯Ö\8bçJðqaÓXpа¯ì÷\9c\8dHÉ«nE\871ØX}­ì\9aÖU\14覡\98H(é®\84}\95QÒÐ\89\ ecĹÑ\\91\85_MC1\11\92U7²Ýå\17ú\ 4ô\152\e#B\ fv7\81s#è\80ã2M\9cj\1a\8a\89Ø\9c\ 5\16\9b½\81v\17¡ì+\82c\9dõ\85\81{\1d\8cÕÀ¹\81\vÇ\b1\91V]jóë©?\92³\81v\ f¢Ã\18ûÜH\rós·ÁêÜ\98\14\93\v÷^|øÜÞ\8f®¯H\8eU½KÂíÜ\98\10\13x_%¼ùH\88        Â\95\ 6æ]þ&þêá-\16:ò"<?a±I1  \88B,&$Ç\1aK3îCó\9e/'ÄÀ\85c°¯ \98l\83b\82ò¾"BC\8e\11\12jo¤&\8d\8dy\83As\ 311¶÷ð\ fOÉE*&\7fCx\ ft|~ÿ,\82\90P)l86ÙW\97\8bê\91ö\15!¡íµ\ 5\10Þkp\827¡ÝóH\8c±ï+¤¡ac¥\84ùºa\15\1a\96´\8c\9aáw\eC\1a\9aÅ\9e\99]¿,U\91\16`pbQYPAá­á°Ç?üiNes÷·\91±q\16:!\ 3¡ÁNG\ 5x:\98hÈ     óü4c\1a\ 6©É\ 3\89½Ç\99Ð䬲\86öÞoãã\88b³à¤;ê\8a^Æ\:àd¾@Q\82\1f\8e\9aþÔ$¼Õ\8dÖº\9d¸\11÷² ²±­§\7fpdôÿ\9c6kò\8dÃ76:ÜßQ_Â|xí¨\8b\95\81ª¬0/\17\ e©\89\vKFE\7fµóÁóá\89\19\ 5åuÍ\1d ö0\11û\7fçþ¯\94ì7:::22<<48ÐÓVW\92\99pûô.{Sí9\12ÿ\88\8f\93\95yà³5¸\11*¦dè\14\92QÝ·`ýÞ\13\97n?|þæÃ\97o?AÑý÷\1f\1e\80Õ\97 ðýû÷oß¾~ùüùÓÇ\ fï^?½wéȦy\1d\85ÑîfêÒB<ì\83\99Ùy\84e5ÍÝ#²ª»g­ØzàÔ¥[\ f\9f¿~ÿéë÷\1f¿~ýþý\a\aÀáË\8f\1f?|øðþý»·o^¿zùâùÓ'\ fï^;{`ãüî²D_k\1dyÑA\12Õ̬\9cüâ
+:\96îai¥Í\13ç­ÚzàäÅ\9b÷\9f¼|ûáÓ\97¯ß\80þùþ\ 3\1d|ÇíËgÏ\9e>}úäñ£\87\ fîݹ}óÆõ«\97Ï\9f:´cÕ¬ÎÒ$\7f;}% \ 1.¶Áài&\16vnA     Emsç\80¸ì\8aÖIóVnÙwüüµ;\ f\9f¾xõæÝû÷\1f°\ 1ܾ¼víêÕ+\97/]8wæÔ\89cG\ e\1dÜ¿gǦ\95ó&6\16ÄûÙé+K@\8a²\ 1÷4Ä×âò\1aF6\1e!      9\95­\13ç.߸ûð©\v×nÝ}ðèñ\93§Ø\0N_\1e>tðà\81ýûöîÞ±mó\86ukV­\¾tÑÜi½M¥é\11\9eVºÀ\98\1e\14\9e\ 6F53+;7¿¨´²¶\89\9d'ÐÛåÍ}3\17¯Ù²çÐñÓç/^¾r\15\eÀéËÕ+W®X¾lé\92EóçÌ\9c6eÒ\84¾ÞîÎÖ\86Ê\82´(?G\13My1þA\91¼Á¾faãä\15\14\97UÑ1µó\f\8eË*­ï\9c<gÉê\r[wîÙ·ÿÀ\81\ 3\aQ\ 1P\ 4·/ûûz{{º:Û[\1aëª+ÊJ\8b\8b
+òs2\92cB¼\1dÍt\94¥\85y\aEAÆ\0NáÀÈæâ\13\ 2yÛÄÎ=0:5¿²±kâô9\v\16/]¶|\ 5&ÀëË¢Â\82üÜìÌ´ä\84Øè¨\88ð°Ðà\0\1fwG+cme\19Q\ 1nöÁÑ\12\ 5û\9a\89\85\95\ 3âmmck\17ß°øôü²\9aÆÖ\8e®\9e\9e^LÐ\83Û\97\91@o\86\85\ 4\aúûxº»89:ØÛÙZ[\9a\eëk©ÊK\8aðss\f\92\88\ 6\ 1$oË(i\1aXØ»û\85Æ$¦eåæ\17\14\16\16¡\83Bü¾´³µ\ 1úÓÔØP_WG[KSSCMUI^FRT\90\8f\9bcP4Cá\0âmv.^A1)\ 55\1d#\v;g\ f\9f\80 \90аpL\80×\97 oª«©(+ÊËÉÊHKIIJJ\88\8b\8a\bñórs²³²0\r\9a\88\ 6\ 3¸·\ 5D$d\14Uµô\8cÌ,¬mlí°\ 1¼¾\ 4{SLTDXHP\80\9f\9f\9f\8f\8f\8f\97\87\9b\8b\93\9d\8d\95\ 5\98\aQD\83\ 1ÈÛÀ"\8d\93\9bOPD\ZNQYU]CSSS\v\1dhâñ%Ü\9b \7frrpp°\ 3\ 1\e\e+ÐÃÌL\83ÏË ÀÈ\b®À\80þæ\15\10\12\11\15\97\90\94\94Â\ 6\bù\12âM\16 GÁ\80\89        ìßÁèc\b\0G7Ðß\1c\Ü<¼@ßðc\ 3\84| ö&Ä\9f\83Ú³\bÀ\bñ7\v+\e\e;n\80ß\97\9b\98\0ìq ×q\83áàK¬\80\11\1f\18\8d\82Q0
+FÁ(\18\ 5£`\14\8c\82Q0
+FÁ( \f\0\ 4\18\02
+\89Y\rendstream\rendobj\r1091 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 245>>/Filter/FlateDecode/Height 281/Intent/RelativeColorimetric/Length 19017/Name/X/Subtype/Image/Type/XObject/Width 245>>stream\r
+H\89ì\97÷[\93ç\1eÆ\8b¬$$\81\84$\ 4\ 2\19\10v";ì½7È^\11Qd+"j\99\ e´lWU*£\1cµ\b
+X*\82b\ 1+*("x\0\ 5\15(\82 (®þ\ 5çyß$\15\90x.#^=Ü?$¿=×óy¾ã¾ßo¾YÕªVµªU­jU«ZÕª>\97$>ÒJßæ\v\88OºF ÿ\ 3t\ 1¯ä\a} _éË\89G<dII))i \19\19\19èOJ
+&ÿ\87\91\ 1±\8c¬,\ 2\81@"\91àWV\16 KýC±\ 5È\80\18\81DÉÉ¡1@h´\9c\1c
+\89\0Ü\ 2ì\95¾æçÔ\12d@\8cÁÊ+àð\90p
+òX´\1c\8a\87\rQ\7fÚ\91\16\\82,\87Æ*à  D%²2\10Y\89DPÄÉc ìO¢\96ø«Ä{ÿÿAK\911ò8\ 2I\99¢F£3\80è45\8a2\89\80\aØH\98Z´ë\7flzüå/v\8cO\92\80Y\16\81BËã\89d
+\95¡¡¥£§¯¯¯§«£¥AWSQ"à°\7fR\8b\ 4ßõ¤\ 4®÷\95\99e\10H4\16G Sh\1aÚzlC\133\ e\87cfjlÀÒÑd¨)\13ñòhQ©?ò=¾ç}mØð\15¥e\10(\8c\82"I\85¦¡Ã22³´±wtrvvr°µâ\18³u\994
+\89G-\ 2ôRããI\86Ïýõ\8c¹\80Y\ e\8b#*«©k³\8cÍm\1c]=}ü\ 3\ 2\ 2ü}<]\1dm8FúZt@\8d\95\88Pê¥Î\a\vÉó<^½?N·_\ 6ñoï\bõ¶\1c\16\ fʬ©ghnëìé\17\14\16\15Ã]Ï\8d\8e\f]çãæ`eÂÖfPH8,
+!-\ 5î+ì<þ\82\0V\8f\85\84Aó½\1e\80ÃZù9ç1£\03\85¡Í6µvò\f\b\8d\8eÛ\9c\94\9a¶%-%q#7<ÐÛÙÆ\94­EW!*\88Òàð#JC>\80\ 5\b\ 4Ì\1e\vL\ f*8hu\19\95ZÉ´\ 3ÝQZ\16\85Á\ 1f\1d\ 3\8e\9d\9b_(7>eÛ\8e¬\9c¼¼Ü¬\1dÛR6Å\84øºÚ\98²4©dEy¨Á\85\98µ\80\19¸=\91D&ÃfOTÄ\83\90\83\81â\1d¿ÝyÙv¥¨%$àæ\96'¨Ðµ\rÌ\1d<×EmJÝ\9e½ç@QiYYIaAþ·é\89±a¾.ÖÆz\1aª$\1c\ 6%¬Ôð#Â\e\82 ¤¢J¥Ñét\1aUU\ 5\80\83\94\ 3ò\9d<\80ç÷;\1cmW\84\9a_h<\99ªµ\160\aÅ$lËÞW|èXEeUå\ fÇ\8f\94îÏÝ\9e¼!ÔÇÙÒP\87®B\0¥\ 6S½<4<-\18`~ª4u¦\96\8e\8e\16S\9dNU¥\0r\12\89H ÀeG\ 3ß\97\91\96\14Íø?· hPh"ECßÔÎ#\88\9b\94\99_x¸¢æôÙ\86s\rgO×T\1c.ÌÏL^\1fìeÏakª)á0Hx\81/\7f\9e,\12­@ «14uYk\r\8d\8c\8c\fÖêëjk2Õ\19\9a\9a*E\99\f2\9e\ 2\16\8dB\0êOËó\9fI\12k¤d\90h\9c\12UÛÐÚ-0:1sOéñ\9aºÆ\96Ö¶ö¶Ö\vçÎT\1d-Êß\9e\18\1dèfm¬Ë\80J-¤¿áG\ 4kQI\15¸\9f¡©¹¥µ\8dµ\95%ÇÔØÐ\80­¯\aª®©Á \81\8c\a¥\1d\94H\16(\ 6\ 1hY\14VQE]ßÌÑ7">cwiÅ©ó¿\î¼v½çzwÇ¥æºê£\85¹é\eÃ|\1c9l¦*I\ 1\r­²e¡¡GT \82\15Á6±°upqswwsuv´·µ¶4\a   ÏÈ\80­§ÍdPUH\8a\80\9a\97ñ¾ .ï\8e0´<QUÓÀÊ-(vKNññSMm\9d7úú\a\ 6îÞ¾ÑÕ~¡®òPÁ®ä\98@W+Cmª\12\1eêïe yçaðJT&ËÄÊÁÍËo]pppP ¿¯·§;ÌneajÄÖaÒ)JÀ\f\90+Rj°w¤eå\14HTmc;ï\88\84\1d\ 5Gj\eÛ¯õ\ eü{ôÁ\83Ñû\ 3½ÝíM§O\94ä¥Ç\85\99èÒ\95\15±(Y)Éå ¡½\b¼\80¡cdéèá\1f\12É\8d\8d\8bÛ\10\vrNxhp ¿\8f\97»³½\95\99!\9cñD0\ 3±\bº$\ 2\8c4M×ÌÑ\9f\9b\9aSròlkwßÐ\83G\13\93\93OÆGîÝêlm¨>´/3!Â×ÁL_]\85 \ 24\ 2<¢*\93ű÷\b\b_\1f\9f\9c¶5=}ë\96ÔäÄÍ\e\91aÁþ^.v\16Æú\9a4e\ 2Ï÷W
+\9aÌÐ7w  \8aÛ¶çpmóÕ[\83\ f'¦g\9fÍ>\9dz4|·çJó©ï¿û69ÚßÉ\9c¥A!Èó\8aó_Ï[Ã{D°\17­\üÂb\13ÓwfçíÞ\9d\9f\9f\9b\93µs{zZR|lT\88\9f»\83\85\11ìûh¨¿¿ü&\83¡ñÊê,\v·\90øÌýÇ~ºx­\7fôÉÓ¹\17\v/æg'Ç\86z;[~:Q\94\9dÊ\rp¶`\v \97©ô\1aI\19$\ 6¯L×5±ó\fæ&fdï-,)?x°¼¬´ø»\82ݹ»2Ò\12bÃýÝí9kµ¨d<fù¾\11\97\ 4ÐlK÷°\84]\85\15õí7\86Ƨç_.¾^|9?ýxøv÷ų?\94ä¤q\ 3]\ 4Ð˶7\f­¨ÂÐç8ùEƧgï/;ZQY]SS]uòÄÑ\83%\avgmK\82#\9e\91.\ 3Þ\10Ëõ\8d¸\ 4Ac h+\8fðĬâÊó\1d½ÃOf\17^¿}÷vñÅì\93\91þk­\10tjL\80³9K\84\99\86 ±\8a\14\r\85k 7e×¾ò\135gêÏ765\9eo¨;U]q¤´ '#1&ÈÃÎ\14Ú\10B\86E\âWZ\83\19\91\94]RÕxõöèäÜ«·ïß¿{³0;1Ú\7fíb]EQVr´\9f£\99\1e¨\8d\ 2Ð(,\81Â\kå\1e\12·5·øxmý\85Öö+\1d\1dWÚ.\82¬S}¼¼ kK\\98\8f\ 3G\84\r!.-\85NÎ.­nê¼óà÷ùÅw\7füñþÍKPéÛ]-g\8e\1dØ\99\10ámg¢C#ã\84\84\13>´*ÓÀÚ3lsæÞCUõ-Wº®ß¼uëf\ f\9cuj\8e\15çgÄGø.Y\8b+8Ó|èæÎþ\87¿?\7f\rC/Ì<¾ß{µ¹öðÞ\8c\8dÁîÖ\ 6\9aj$\ 5ðű\i\ 4Ð\9a\866^\11\89»\ e\1c;Õ|ù·Þ»\83CC\83\ 3·ot¶5\9d9Y¾73!ÒÏ   TZè°\88K\12\8báÍt\12\1fz\1a\86~·ø|zì^O[ÃÉÒ\9cT®?¸¥`¤\85@#ah[ïÈ䬢\8aº\8b]½÷\86\1f\8e\8d?\1c\19ºÓsõ\97ú*\81ë\8b0,â\92\0\9aµ\ 4\1aªô{ÐÝÏ&Fîtµ\9cþ~ÿ\8eÍá^¶Æ:4%ØX\85|oü \1d\95\92SRy®½çîÈøÄÔÔÄ£ÑÁÞ.(êìÝ\1e\1fæ\ 5\ f\v\9e\17Ä\15ÜR
+
+'ê,Ë¥Ð\8bðò~:>xãò¹ª²¼-ë!ÃbR\88¢|dAÐ\14\0í\13\95\9a[VÝØqkhlrzffzbì~_wk}eYþÖ\r`X\fµ\84\ f\8b¸ô\ 1Ú\1d\86n\82 ç_½yûzáÙä_
+M\86?7\96\9fA\90È\80OS\98\0::5·¼¦ù×¾áÇÓ³ss3Sã÷û:[Î\9c(ÊJ\89\16qXÄ¥¿V\1aÚÞSs \9b\80h2>ØÓÞPY\9a\9bÆ\85L\1aZ¶Â
+\r/F\18ÚÀÖ;:5¯üÇ\v\9dwF&\9eÎÍÏÏN\8d\rÞìhª=²\ ft·'ü\86¸\15\1aé¿\99i\0ýláÕËç3O\86û~½ð/pÉM¡\1e6Fà»\927ÑËWf    tTjÞÁ\1f\7fîê\1f\9d\9c\99\9b\9f\9b\99\18½ûÛ%8è@o\bÒ\9dða\11\97`h\81\94Õ@Ð\93³Ï_<\7f6õpàú¥³P0\89\ 2Á\ 4ä'Ah\14\15\1aTú`íÏÝý\ fþC|\95¿CÙîñ£z \15êµ§ì\92¥,\89È\92(B¡T\96²T\8a\846J"Z¨(\14\bÙʾ\e\86\19³=3fa¬õÖy;çï8ßûyf&ç:½½Ï8\97\9f\9e\9fîëþ<ßÏ÷³\0è\7f}ÿc\ e·?ü\1f\ 6ìu\90-\8b\ 2Ø-\89¡\ 6föî\81\91ɰ\83\1f\87ñGþûûWxd\7fËëâ\9c´¸p\7f7{äÑ\7f\13L¤÷É@§Ü&@/~ûþý\e\1atg}EáÍähdÒ¦¤\96e\85\ eñH\ 3ó\1d\1e8\1d«\81\8eðÈ?ÿü
\9bÒ^û\1cÂØ\89@OÇ%\83ùõ#%B\86Ô\e@?yÛFaO-~ýç7(lôþ\967OrÓã\8fúïÙ\ 1ÒMfYVèH
+\82ÅNÏ \98K9Ä#\17¾~ûº(&ìj\89\8a\91 ·ä>dY\9eÁpßSü¾ù/\7f|\99\13²(\1dï\9fßÏ\80@ëådm¬OjYVæHc£¥£WÈé´;%5í#\1côÈϳ\ 2ÆÐ§w¥°\81Ç\ e\12\9eJ\86ܲpbéà\15r*5·ä]û\b[4·¸8?Í\1dïm\ 2ËO9MüCP±µ
\8c\1cKEMCgË6ç}¡q\97óËÞw\8er¦à\91s"\ eµ»¡²ðfRT°·óvc}räF÷)«ih\eY9ù\1c\89MÏ+«í\18a\vgççÄÈ£kÊò¯\9e\ 5'Øi)q\ 2\ 5\82V×Ô5Þî²?ü̵ûåõÝTl
+\1e9Í££¦\91\9b\1e\17îçfo¾\99¬½\10÷élµÞå\e\16\7fåî3ø\89l¡xV,äPÁò\1ff%K+ªâÈý\ f%iÉ\82@\16\91\98YðâCÏ\18&\82v `\8d\80Ô>È<\ f\95\92\96^\88@ké\1aÛìö;zöúý
\89lÁ´XÄ\9b\18\ 2mÍ_ò\ f\15Fnb\ 5q\87ñ\b\8c\ 4\9b®jî£a¢éi!6\8e¤6'56tÿî%\81ño\a-kªn\a\8e'f\16¢\9fÈ\11L\89ø,j7\f\1a\96%ÈËIê\ 4
+Â,[A¤cH¼«[\aè\¡HÈc\fw¼/¿\8fìj/d1¤b¤\ 6£ôÃ\ 1¥?q\9cÃ\17
+0:\1at>\fÚÏÍ\8e´\13¬Ì\817â+M¬ èXMÛÐ\ 4\98d\8fõ6¿.¾}éô\91}.6¦°\81\13þ\13qñÆ\1d\výD\1a\87/౨=\8d¯\1ee%G\ 5£Aò(\8eÜ\88Ý(\8fál\8c8\97ñ ¢¾\93Âàò'1úP;xêõsÇ\ 3<\96T@R %fà\13\1a\97\9eW
+?\91\8eMâ÷Õ>»{õÌ1\7f\eÔþ®¬­ÜQ\92\ e\ 6òÓ¡Èä¬G¯\1a{F\99\\1e\97Iím\92\f\1aI-ù\r\84$\ f\87ë\182\83º\ eÊ\ 4Æã²Æúpâ\9c
+ñvVø a\ 3        v;û\1c9\9d\96û´ºµ\7f\8c\85qÙ´%\83¶0\92Ú\15¹\v      æ@g;\7f\ 3t¬{\94\81q9\13\94ÎúÊ\82ÌÄ\13\ 1î;Ì\89A+\ e3¡Ý\ 6Ànÿcg¯Ý{^Û6Hca\1cÆh\ f\f&'\15\9c\83\96\86PT,¡¾4÷R\99ð\13Ç\ap¿\8a\ fóuÙn¬·\91\18ôÊ\ 3üé\13\91\8cáÚí\0oLÊzôòC\17\85Îæ°`Ðuå\ f2`0h£É\ fzI\1eó>\fÌ)yûq`\9c\85a°-ͯ\8b²/F\a{:ZÁ}`\7f\8a\1a4!cë`\ 3·»ø\86ƦÝyZÝÒGe°Ù\13£½-o\9eæ¦Å\86úºØÈ3hi¾Ûjíâ\e\96\0y¬¶}\88ÎÆ\80Ý]\r\88ÝÇ\ fî±73Ø\ 4÷)pÐHj\81\8cæ;Ü\ f\1eOÌxPþ¾}p\9cÉfÒ\86:ê+\vo\\88<´×\ 1\97\83\96D\13\13[WÈw\19\ 5\95`\ 6\13\1c\8cM\el\ 3í¾\92\10¾\1f±\e\971\ 5n4\1a4\92\90\98\94좪Æn
+\9dÅbPûZߢÄ\18îç
+al\93<\83Æ£\89,ß½jê\19ep0ÖX?\8añ© Ý?ؽâø~þBØhäW\86fHÆÎ\½[öîc?\95ÁbÒ)]\1f^=¾\ 5\eèå\88Â\18éAK¢\896ÞSOáÑ\ 4\99\ 1Z馪Ƿ\92#\ fyàÚ­8vÿ\18ô6'¯àh0é\97\r\9dÃ4&\8b16ÐVûüÞµ³\11\a`\ 3\rñ0FRvd\15KÒS!\9aÐ`¥\19#]\r/
+a¥\ f¸Ù\99êoT$»W­&6ÚÌÎÕïhÂå¼\92·­HÆX cͨj `b-\v\12¤®T"\84ÑÄÆ\15\1cð:\9eï&p\97î¨+¿\7fíÌQ´ÒºZê
+c÷\7f\r:(*éfae}Ç0\8dÅfÑ\86;q\19;\19\bÁd³<þ"Yi\ 33{÷\80\93\17n¢|G\85|ÇA\19´,ÿr\è>çm[t\14¸ÒK\ 6íæ\17\1e\ f\83Æý\8aÃa\8eA\90\a©õÛm\8bü\8a|\90@+­\8aB-´\8dè\94ÛOÞ´ö\8f³y\0\1a\1aVInÚé\10/GK#\14Ç\14´ÒxêV\ 5\e-\1d4òTHcMUEÙ)1!ÞNÛp\19#]\r\96´\8d#±DÛ\98\80¶Á¡\r´V?¹\9d\12\13´w§\ 5®\11«W­0¼\9f?\ f1QE]C{³¹½\9b¿l£!1rèÃ\1dõ\15\ 5\99ç!&Û\13RK\9a\8c\92\95\96µ\8dúÎ\11&OÀçÐú[^\17ݺ\18\15èao\ e\ e\88tleáýÅó\90]©B30F\1e\rÒýðE\ 3Ê\11<\1eÄä\8fDLþ\11$Ȳ\9bh\e\ 6fDÛxø²±w\8cÍ\17ò±ñ¾æªGYI'\ 3öÈÄ{\85ñýüyHÅÀ\\8c\8c\81\97\82GÃþMòXÈSñ\98ì%oL\96´\rÔS\83¢/f\17¿i\1d s\ 5"\ 1\80nzõðÆyp,[\13ô\e\15¢cJ\12\15\83zeã²ïð©\94[P5ºG\98\>\9fË\80\12X\ 1]c\191YºÒVN>\87\97Ö´\ f3'ESBl¼·\11Ùt\84¿«\r\80\96ñ\94þ÷ü? q\15ÓÝbå°7ðĹë÷\9eÕ´\rÒ1¾P\80\ 5\11%P\1ev\13ÑDK\17êËþð\84«÷Êë»FÙ\82éi!6Öó¡òAƹc~»Á¦5I\82&0®Bg5:ø×ò\81KÈ­¡mhnçº?,65§¸ª©\97Êæ\8bD\ 2\ eÚ¿"\14A=\1d,åd·¤m\98Ú¹\1d8\9e\98Y\b+=Î\15\89Å"\0ÝP\ 1Ù\ 4ê\86õV\1dR %x\ 1ë\9a5k~#\ e|áÐ\97\ 5[BnBż\82"/d\16\94×u\f3x¢é)>k´kùì\86\95&ÚÆ¡¨ä[EoZ\a'&§gfD\18µ»¾üÞÕ\840ß]¤²\89\f1ÀUVVQYK\1c\15\15e\84|õ²`ãä^»\ eTÌr§û\81c     \97ï\94@1 aB±xj\921ÔVS\9a\97\1e\17ê»\v%Fyb2Þ64´\8d¬\1c½CN¥æ\96¼k£°\ 4â¹\19\11\87ÚU\aÅ2>ÔÇÙj\v\90ç×\1e(A\f\ 3FxUÕÔÕ×\11G]MUu-\0\97À\96\173X´\9a\ 6d1[P±\98\8bYHÅ`ûij3S\Z\7f3²Ôè ¹Ù-i\ePTwù\86Å_¹û¼®\8bÊ\11ÍÎÏ\8a\9dµeyé±G¼\9dÀ\ f~\19È\88\19\80×oÐÐÔÒÚ\88\8e\96¦Æ\86õêj?`Ë\ 5z\15\90Å\1c=\ 3O$â*6\ 4D\9cÅ\87ÒÝPI°ÛNNvK£\89\89­«\7fĹ\8c\82\17\8d½4Þô\1c\80f\8f\94Þ!Rèæ_\15K    d\ 2±úº\r\1aZ\e\7f×ÖÑÓÓ×7Ð××ÓÕþ}£æ\86u\0[nÔ2\8bÞl\ 1Y,<.-§øusß865»0?#`QÚ\97ÏnYÛ\b<\99\94õ¸ªe\80Á\9fYX\98\13±)mï\9eæ\\8a   öD)t½ê_ܹdȪj\bñ&m]\ 3C£­Æ&¦ff¦¦Æ[\8d\fõt6i!ØÊr¢\96\89Í.\9f\90è¤\e\10º;GXÂÙ\85Å\ 5ñäÄ\0\ 4Æìe²\9b\88&\96Ð6b.Ý~ò¶m\98%\9c[\\9c\13±\86?U\17g_\8c:ä±Ã\\ 2ú\17\90Ñ\90×\ 3b\1d=C#cS\v+k\e[;{{;[\ekKsc#\ 3\9dM\9aë\ 152RÒ¨\97Z´G@ÄY\94Å>\81ÊÎ,~ù¼0Í\ 5s©,X&»\97´\8d¸ô¼²÷\9dTljþóâ\9c\90\11t"92Ð\1d\fá?\9c\97y<Ôû\1aÇ_\9d×¹íu£(¢¨\90©k/ÙÊVH\1dJ\89(%\8as$¥¤\9cc9*9T\\1d\ 5\15¢l\11¥ìû>ö\991\8b\991\8c½\12uÏ}¾¿\99Á¤\ 5ózõ§éû\99çó|\9e÷ç\e\14\8a4s$Ã\90\97\b
+­X¹Jr\9d\fî?
\9bTÕÔᣦª¢(\87\93\96\14\17\11\12\0\9bõ\94ÇÁ-\1a¨QnÑßcãüGà\1dtNñ­D\12±\ 5¶ïù\83\10 \93\19¸{\1cM8m#ìQz^eC+\81Ð\S\94\95\10\11pÑÑÂð\9bèÍÛeL2\fYDLb\9dÌ\ 6y¥ÍêZÚzÛ\r\f\8d\8c\f\rôu¶ªmRÀII¬\14\16\9c\9ejΠ!Å$d\95áD;\9c÷\v\8dN\ 6\10Éd"zÞÓ\19»{\f\r\ f@Û¸\13\9fYXÓD \12\9aj
+3ãn\7f\97B±1Ã.Ï\9d\a\92\97-\17]µF\1a'§¤ª±MßÐØdïþ\ 3\16\96\16\aÌÍL\8dwèh¨È­_#¶\pñ|H³)¾\8d\97bBbRòê;öÙ\9eö       \8azú²°º\89\92      \8d\95\8bÈÝ\ 63q7Zi@\13\ 5-c+'@\93Äì\92º\16"\89ÐT]\90ñä\96\9f\9bý¾oQ(Wó\1cØå%K\91d\99\8d
+\9bÔ·é\eý²÷\80\95\8d­ý  \aGG\87ãÇl\ eîÛ½c\9bª\82ì\1a1a\81Eóæü<ÅÇaç
+RLD\12\87R\f5ÊÇi¹åø62\8dFnÃ\97å$£\83:SwóÐÄÄ\ 6ÐäArN9¾\95\ 4¢«òÓ\1f! 3ÓÛôU
+åX{68ûß\82Â\98d%UM]ÃÝf\16\87lOüvÊÕÍýÂÅ\8bîn®Î\8e¶Vf;uÕ\14e%W
+-A\ 6\9fÒ¨9\83\ 6\16[%­ itÀþì¥\90\a\90±u-í´\ e\1a¹µ¶\18¹{fd2        MbÓr+\e  ííÈ?i1\7f# ÓUYÿ\15 ãÌ\194/\12X¶B\\12$oÙª¿ÓÔÜÚÖÁÙÕýwïK~þ\ 1\ 1\ 1þ~¾\9eî§\1dlÌwé©)ÈH\88,E\ 6\9fÒ¨¹çj\99è\9a\8dªz(Å®EÄeäW5\91ht:\8d\84F\82µ!ó\99¸{\12\9ad\14Ô4\13ÉHtnjôw\80\8c«yÁb\18ój)\9c¢êV}ã½\96\9d\/x^ò¿\16ü÷­Û\11\11\11·ÃB®ûy¹9Ù\1eØ¥«*'%.¼dáÜ)=oì\!\163¶t8\7f%4&åM\19\9e@¥3\19TbC9"§\19»û\v4y\9aU\×ÚN\81¤¨x\9bòðÛ@6®y¹\98¤\8cÜ&M=\90|Ôá\94Û\1f¾þ7n\86ß}\10û8>!!!îÑÃÈÐk\97.8Û\9a\eoSÁI\8a¢Qÿüã÷ñÎ\15j\94\81żo@\8a\15Õ´\90éÌN\ 6¥­®8+\ 1ÝS«\19º\eÂ\82\87&^\80&9ðk\92©\14bcÅ\9bä\aÁÞ§\ eCY\95\9a$z\82fñµ²\8a\rM-\8e:º¸{]¹vóvTÌ\93Ää´\8c\97YÙY\99éÏã£ï\ 4_¹xò\88\99\81\86\824\8czÁÜ\1fû{\16\ fºQ£ÔÞm\85XìQZnE#\89ÆduÒÉÍ(pÂüÜÀÝjÓv7w¥\11\9aèîÁÐ$5·²\89\81èò7Ï'Pèb\0²\9fø^\ 5¹=\1fi^·AICo×þÃ'\ܽ¯\ 6\85EFÇ%¥f¾z\93_X\RR\\98\97\93ñüqdðåó¿Z\9bènÞ )\82\1eø\83\8eÊ×(å¡QÚ¹þ  ,\ 6)ÖFe°X\9d\1dÄ\86\93`\1f\97#¦º\90²Ë\ 5\16LÇݼ¶!±\ 1ÐÄ\1eÐäñ\8b\82j\94\8fÔqÑ»ÆÐ{\4Ç}ó\16      À\9c7(kn7±<æäæu5èVTìÓ\94\8c\85¥\15Õuõx|}mUiþ«\94'\117|\íÌ\8d4\15¤Ä¦bűF )¶Y×ôðÉß\ 3\80Å ÅÚ鬮.&µ­¶èe|D\80ǯ\a\8dµ\14¥Å¸);\9d\95\9e»HPt- \89\ 5\86&°Òm\94\ eÈG°7ÿ¤gó\8bÆ&!´r\rNYsÇ\1e«ã.\1e\97¯\87E=JLËz[XVU×ÐÜJ \91HĶæúÊ¢W)±á\7fy8\1d2ÑÙ$+±\ 2\v\9dï\8e\9a«\99¯Q>|\9eS\8a'Ð:»ºYtrSenZlèåsvûwlÙ\b´8]wsÚ\86\94\82Ö.k§?®G%½.k Ò\18\8c\8eö¦\8a·É÷¹;=)È8¯Bà «\ 4\9a­\1d\=ýC"c\13Ó²ó\8a+j\eZ\bí\14\1a\9dÁd2: \11«
\92î\87ø\9eµÛo \ 6\14\8f~¿ïú\9b»Ð\v\ 5\84Å\11\8bq\1ae\ 2\80b\v\99ÑÕÝ\rîÆ\97¾Jº\17äuÊÆDGeýj\ 4NÓr7¯m(ë\98ظøü÷aòÛJð\10\93   YQÉKom%é/NÖxý\91\96WÓ7µv8ç\1d\18v?>5+¯¤ª¾©­\1dÎ
\9bÝÓÛÃîbÒ\88pñ_<¹\1dà\81¢Vi,j¿-\99\93\91ÈFkÁÜÀb¨Q¦¾-o uÀ·v1)­5\0\8báþ\17\1c,wjÊ£\90\9d\96»ÇÐ\ 4·YßìØÙË¡±éùÕ­\14\ 6\v®BKU\1eÜiß3GMu\94ׯ\12æ{)oåЫtv\1f<qÖçZxtRÆ\9bâÊúf"¥\83ÙÅîí\e\18\1c\1a\1a\1aìïaÑ\bõ¥¯\9fÝ\ fö9}t¯Þf\1c×ßßz#O3\94+QI\9c2\98û8Ö(³\8bk[©Ìn6\9bE'AÜ\0\82ú\9e±5ÓW\85h\14üá¾|ñ?pÚ\86äF5\ 3ó\13\80&q\99Euhq ,àçL\8fåb(n5?{s\b\11\ 3\a-#s»Ó^\81á1ϲòÊj\9b\88\14zgwoÿÀл÷\1f\86\87\87\eè餴TçsË\81¡ºÜ÷\ fÌ\ 4Í"\12ë\155\röÙºx\ 2\8b½ÈC\ eìb÷twRÛê\8a^&D\ 4\ 2\82îÞ¦$³
+#äé¸{\16?\9aD>Í.Å\93è,v7«\83PW\ 4\1eº
\aaÁý9¹ß<\8bsÝáï6¢\9e{Ò㯰ègY\ 5\95Ð\ 5ào{Añ\87á\8f##££#\1f\87ß\r°éD|IöÓ»¼\1a(6\19i'<\bxþ_HóR\91Õ2
+êÛ÷\1cvºè\1f\16\93\92SZ\ fÃ`÷ôt1Ú!ÆRcB¯\9c³\a\ 4\1dÏ\88éç\18B\93\93\9e\b\9bÈÌnøn:    _\92\95\80Î\82åN\rùuÜøæ\89\ 4GTFQ\vËÖ\90û\89/\vª\1a\89࿾\81¡÷ xtôÓ§Ï\9f?\8d\8e\f\ fõ±(\90\ fÜJ\84\9dU\8ek¾òJ\8eæ9ó\16"ÍÒò[ôL¬\1dÏ÷'e\ 1\8bQлØh[J²\13£nx9\1f\86\18\93å"èÔÝ=^±\94µ99\96\92[ÕBíd÷õ²\99äÆò×I÷à»\ f\ 1\87Ê\88\vO8¯\1cw\v®\90ÀmÖ3µqæÚ¯\81ØÁêéçH\ 6Á\9fÿ\a\9fÏ£\1fß\ ftw´Õ\16¼\80zàv\9c{b¾¾ÔcUuá\92e\98f]\14\17\7f\ 6Ý\8dÏÈ«l$Ñ» \19»\19@cyé\8fвXLùî\7f)\9a\13Þ*ºXÅ\8aI˯i¥uõö÷õ°¨-U¹)Ñ7}]m'ÄÏO<ѳ9[¡n`n\7fîòÍèdì\88²z\aß\r\7f\1cE\92\91â\7fàß§\91\ fC=L\12òwd À\ 4Äíº\95\93@\9eOóüEK\96\89JÈ Í\96ög¼¯ßy\9c\86\8a\ 6\98»·\97\rkW_\82î\95·Ë\91=z\88ð¦y¤ùÃÛ\ eã±ÂZB\aXt ¯\vÆS\88\96Ú\1dâGC\ e½tì0pVZ\b\80]k\97Õo\1e\ 1wâ \9aµP:{\ 6ß\ f\8fp%ÿ\83}`ÔÃïÀßM\18éÀÑ\87û'#þեƬͩªB\Í\16v§=\ 3Ãc\93_\97Ô¶\82¹{ûz»\99\18v?\86{åh\89h\f±ü\14»*¿h\fB÷c½2³¨\9eÈ`÷\ f\ eö³\19h<\89w¯{\9e\8b¶2 \0wÔ³¸\7f\86\19\ 4®û)¯ {Ï^Cþ1Ø\ 3ï\87ù$#Ñÿ'½Êã©Ì×øgj*\95È\1aY²eÍNv\12\94²\84Q   \85\\15-\922\96¦"mZD«¥\92Q\11\93,\95\94-i\91ö¢Ñ-\8dFÖÃA÷Þçù½ï9\8e\1ftþ?\9f÷ý¾Ïw\1db2:¿~|ó¸¢0ëX|¸\1faÍÈ(\18>3±0\98ª\12rÊZFVN\9e\8091%óZiÕ\93WPKÚ;\80\7fpèÚ2\92\7fk\96Y\83TfÓU~\8c ¡y˪\19Ú¸¯\8bØ\97z¹¸\1a^¾½\v\ 2ö\e±\1fàwüf\7fW\e\9c2äÔøM\7f\1a&\88\15¨"î(®\94W\7fþÕÑÓ?0Ä      \19@#¿»Á¿\eªnb\14¬\83U4\9a¨\87åÌ/\ 4u^UÇØÚÙ3`Ó®\84\13\19WKî?z      µ\ 40S\87® \87\ eö\82¦Còjl6F@ãÜÀ\98ö\b\ 4Ð9%5\8dM­í]½½=\9dh?\957/§\81\7fc\93¢O\8d\1fõ'\8e\95â\16°\95¬\94'oÿýµ\8bÁ\1cüΠ      \99æwÏ·Öæçµe¹§\93¢Ö{9 ¨¹\93\9aNg"gqi\ 5\9c0K½×\86\11ÌÅ÷ê_\80EþÝ\81\91(\9a\1czù"C\1c\95clc\ 4ô¤aÐdnÔ46·¶w÷2 TÀ\9b>\80&u$6\8cz\80\840ø$!8UMàoH\10ºÒ\80*ºû\ 6\86¸0#h&\8aú\15\8a\1a\9b<\89\ 2.Q³Ó\99ÈYQ]ßÜ\16ë|t"Áüð9\9aXGgç7°î\97õ\1c\87V\96\1es^ýÿKw3ú\18\10¯-ФnÀ\13"áÔ\16º°\8fÐ(\91à\14hÒã<P\159ÅÕÏ@\15\ 4ô\7f¹A\ fah±E\rQ0\9cÔ\9cg\ 6j\139Ë*k\1a,°w]\19´%&)%\93Â\8c!ÚÕ\85\8dömCué\95s\87X\87Fw\1dS\e£AO\99έi\ 2º\8fnRÈ¥Ø0?W\ec͹à\94¼<p¡   £\80Æ¿õô\ 3»¹AÓ¢~×\0Q@'µ\9a,]¿Gb\ 69\8b\81\9cµ\8d\16:ºû\86l\8b;\90
\96\8d¹»«ãëçæ\17\ fï\16BFG\ 4y9p\1ezì gÎâroL\9eþ¾\1e´2t\8dÔ\84\1dë}\9c-õÕäf\vóc>L\1cAoê[\91K\8f\ 2\9a-jªßE\ 6­°Çê8ìdÃI5SD|ÎÜy ggO¿ÐÈÝ\87N]Ì/½_ÏÂ\fÓåKË\9b§U%¹g\ eFoôEë&Þ:æC³sZ\853§?aôÐ¥\19ó!=9~s\80\87½\19x\19\10\1ce\r\87á0²=)ÙE\95\rï?\8dJo\96¨I¿;{`g\88·\83\99Ö°\93\8dL*\19%\8dù gïµ\9b¢ö&\9fɾ^V   Õ\16õ\f\83\r\ eý©éyÝ\9dëк¡\8c-6\ 3ë\1eס9\e\99\vf\ f62bÃýL&\9c\9a죢˧\92vmX½l\91\11\12\\80wêäI?\ 3hê[YÑ\83\94rï>L¬ÑDÝÙÖ\82õ;\9dv2EIVÓáL*I9\15-CËÅ çÍÑ ÇÎå\14Þ®~ü\120·wv÷@\9a\90µvÿf\ e¼Mè*\17+\ 3Ìhrè±Ù\18G÷ÖauïrèÞm\9dP&\99ý\f8uSã\83Ûðm÷n\ föv¶\9c?O^B\ 4rqò¤I\0\9a*'KWo\8aMÎ$\95½­\93Á\1c\ 54\88\1aë78YAÖѸ0_\17K=eiªÉO\18¦6I*\1dc+'\ f\90slRJFî\8dòÚ§¯\9aH\9dïííí\86\8a\b¼»\95\97q4~ËZ\ f\8aÄbÆ~èá\95¥eæø\vkeaËèc\ eÀ©ÁÀß<©*¹rîp\1c\10|±¹®\8a¬8|]@\r\91Ê\8f5ÔÂÉ'\945ξtô\8e*jÚÉ`s\<¾{³ßr¶}O\9c@'\15\1f\95Tzf6K¼ü7\80\9cÓ.\+®xÐðúç6\18ª\f\ 6£§\13\16\10ÆUvjâ\8e\10\9f%à0ø*\18&cÅL6"µ\1cLì=\83"\13OýNg\16\80\1eÀSãx\85\ 1Á}]mM´\94\88¬y&Ãuø\84$\144M\17{\ 6³þFgÖ?ù=Ø×Ýþùý3èd`ß\ 1n\8b\f \88
+@\91úy"MmÁY\92\98T\16öË|Ö\85í$r.½ÿ°ñí\9f\9f¿Â\84Á(\81\82øñíS\8c\127[Ì\12\11º\8c\8d\a\87×R\96D9\19\80\1e\80©Ð\86]÷v~Ö\89½\91ë}\96Z\ej ¬\ 1õ\14 ¤ ¸\1cü\r\9d\8c£\92\8d&jbßM\8dÕÅ9©û"ֹúÄÌBo\803O\83\1dI'\95\83Ûêà-¿&\1e?\ fr®zôâ]K+XXo_?\94\86NÊÅ
+.\9cØ»=\bZ\83\1e«5\8c\1d3\87}ëC\8b\ e\ 3'+¨xôú#\8az`\10\bÞ\8d^\86\ 4?\9f\1c¿5ÐË\89\965ïT\1e\1cCø·\85.¾ ê\8cüò\87X¾     ¿ÿÙÉ\0ô\97æç\90Yi    Û\ 3=ìHû\9e1uÊäÉS¨\12\ 6\aIµÂ/4"îÀÉÌ+Eå5O^6¡\85õ0ú =¡\1eÒ.vú@4zª¡º\82\84\b?5¯Æ\ 5\9av2\vç\95¡¸\97n×½øðå\eL\87ÁÁa\82\17å\9c>\18\13æOÉ\1aÒ\9awÚT¸\90¨\94¢¶¹ã/!QIgrKÙüæ>5µ.\ 1tmi. j;cÒ\99§óððL\9dÎ\8f%\f\92ÊÂ\8e\9e#§.æ\15WÔ5¼nF9Ã\99ÑQ{:ÚHé¾\96\8e.Fâ
+\97À8\ fM9Ù\fZ\9d\94¨«I=éc\ e\ 2jð20ÍÆ\aw
+.¦&îÜà»ÜÖD\ed-ÄÇ;m\1a/¿°\84¼\86±\9d\a´\9a\14ä÷\9b\8fèߣN\ e\0ýá\ 5L\ e\0\1dì\89íD\ 2?Ü´é3\bµU´\8d ©V\91¤:{¹ ¬²\9eÈ\19©Í\84__/ì\ÒÅ.\9dL@\17[8\1f{\12\1f5\ 4Æ\8e\99\16µ ¸,Q'Ô\93\8b\7fÜ\83·ÿ\8ao?44\88\ 4ÿ«åmCMY^æq\90õJJÖ³\ 4ùx§óò     \89ËÀ¸\ 4\1cIÏc3\84ûÔàKiÐ&\1a@N\ 1¾\193ø(jë\9aX;{¬¡\93ê\8f\8fI#\ 1\13gaP"«,Î=s(\ 6\1a±­\89&\1dWã;4\96@\14µè\1c\12¹\ec\ e§çÝy\88é\83o?44\0c¡½õÃëÇ\95(ëÝ,YK\8a
+ðñòò   Î\92VÒ1wô^¿cÿ©\9câª\86w£®K¶¦kKI\ f% ¥D\ 5\14\10\9a\8d%,`ã\8eß0©nÞ}ÀJgL\90A\92\9cÄNoåe\1eûm[ \17q1qÖö\19\afZÔTR;\90·gó{\0O\r\ eÞ\89=¿¾â\ 6Ê:\9c¤µªìl<\14ÜIB^ÝÈ\16\18²ûXVÁÝz´2\18\1d\§f»wMI\ e\1aÙ
+{\13͹Òb"¢â@mª\84\ 5\86ïÚw\94Jªgo>Prf\ e Â°\ eã\vÜ\85\11\90\18õ¯U.Ö¸®Æïb\14hLjH\1fu#L\1fÂïǨÎ^ä÷\10§¬/¥î§ÒZ[YF\X\80\9f\1fj\94\8cª¾å\92\95ÐOÎ^)­yö\9e\84ÝÐÈS#h\92ÓÕÅ\97OBdyØ\ 1=e$ÄÄÄ%æÌU\ 3j\93\12\16³ÿDúï\98T00ZAÎ\ftRx<\13ÉÝBÈ}öpl¸¿»\9d©6)Ýãu1\ 2\1aDM\87ÖBÂïó\9cêüÎ!ë[ù\99\90Ö!+]¬\8d4\15¥Å\84\ 5\90\9eÒ\8aZ¦ö+ÖE\80\95ÁÇzÝBRkdAa7²Ê¢K¸-ÝíL´\94å¤%¥æÈ)iè\9bÛ.õ
\12\96\9auµ¨¼\96$Õß\84Ú\1cß\1cÉ\9d\9fy|\ f,J§\ 5zª¤\16þÀ¡Ù¡Eøí\15¼#\91R'9Ù \85\1ae\8dFBd½-ÈÛy¡\81º\82\94\98° \80\90¨¤ü<\ 3ëe`e\87Ï_»Uû\9c\9dZÿá84ݽ\9fÜ+¼pl÷f\7f\8aê\9YyE5mÃ\ 5öË}\80ÚPÂ.å\97Ü«{ÆJ*&:
+x
+\15\9aHîì´ý;C\91Ü\1a
+\92ãíb\1c i~£\7fûo\81ÉT\88ë\81:Ùw@\8d²&i}¯(çÌ¡Øð\80\15\ e\16újò\80ZHXt¶\8c\8a®¹£WpdBjv\11\95Z\\ 5\85LKje]ÏH\8eE÷5ÕUWQRRÕÐ3±rt÷]¿\15¨\r\16P\9bJ*¤6yô «\1e±ÉmoªM\9að\ f¸\18\ 1Íâ7ø7¨3úàÙ«eµì¢\81Ofɺ®¼ðRZRôF?7{3]U9)1Q\11Qñ9\8a\9aÆ6®~áqÉ\19¨\8bæVî\82ÂN¬ºÛ×Î\1fúuÓ\1aW[3}-uu\r\1d\ 3s\9b%\9eþ¡Ûã\ f¦Ò%\8c\95T,ÌÜäövZ Ï\11Ñ?\ 2\9aåß\9a ÎÀ\88}'³é¢ÑËäøÞÐ÷QÖY)    Q¡«\97Û\9aê¨ÈI\89\8b\89Í\96V\98§oéì\13\12\ 5©u³òéÿh¯òx*Ó=ÞÝïÌçÞæÎg\96;·î\98JM*\93J;\9adHÚDQCn(%\15\15   #BbD\92,\15\9a¥Cö-»cçØ\ e\8e}_\93\12Ýßó<ï9ç=4óOÇû'ç|ø¾¿ï
+\ 5\°  e951\84Ì;5Ê×\ 59¡âî\1d[$7o\93Ú£¤¢\89÷\85Oh,P\eJ\18$\15\19\8acc¤\96\80s#r«Èï\0\88þ\b\17#¨ÿHõ\93u N\9d+6¤hpO6C\97u~jLÀ\83Ûf\ 6ZGä¥6®\11\15Yºd©\88è\9aM2ûÔõ®Ù{\ 4%d1Y\1cb\81\ 2 ±\8fUå'G<\86ÿ\û\98\92\9c\8cÔNéÝ
+\aÕȾx\12\91\90\9eÇDÔî\87M5E^5ù³¿Kî\8f\ 2ý\87?á~Â-\1aN\8fðÉ\88:y¯\1c˺,÷EÔ\137;S}Mey©MkW-\13\11ùNTlÃNy\15m#kW\94Z5ìîA\ 1~\83\8f½A>ÖTñ21\f\82ö\92\8eÚÁ½r²{\14ö«ü¬{\91ì\8bÄL\8aÚ#\jÏÎÎÌ\10r£Î\8dj\890ɽ\88â÷'\8b¿X"\8a¢ú´±\9d{`|f)uêiø\a¸\7f¿\8b][\9a\9d\18îãjcrN\ 3PK\8a¯\16]±bå\1a\89í{\ ek\1a +£\17ð9>ÖP\96Ã\bñþõ\17\13*\a\94\94\ e(«i\9d½la\7f\ fï\8bb\8aÚ(©0äÙYò¦aPâÎ\8dÞ\16åÜ ÷".¿ÑPܼûÐÉ\8b\96Î>\91ÉùÔ©y\ 4Dzn®.Î\ 43s¹i|VCYAf\8bÄZ±Õbë S\1d8qö\9aý\83 ø¬Rà7ne\~\13\1fëãÔ3³\13\82½~µ¼¬§¥®ª¢ª¦©k`låèî\17\16\vDí×o¦y\98\11¹¡\ 1×à\8cD\9d\9bÔ\12á\90\9b:õß>ýìËÿ®\94\90RTC\9d\12N\rªîæf5¥¯¡ÞöÆÊÂôø\90\87Î7\8dÏi\1eQüq»¤Ä\ f?HHî\90ݯ~æª\8d\e\89jb\ 6tÐмÛX¥Y      ÁÞNVÆ\ 6ºZ\1a\1aZ:ç\8cÌl\9c¡\8412оhï\19ä&Õ,Æ\8cÉ\85ݳ íÙSwÔ¹\81ÜÐ\7f\85BnêÔ\7f\ 5\86tJ852â\8aÆö¾á    ìe³\'\85éQ\91\9f\16\17\f¨Môµ\8eî\97\93Ù\8e|XZî\80úé+Öw}£Po\87\1751ïá\9e¶:\0\1dòÐÅÖÌè¼Þ\19=ýK&\96°/\82b^d\17Ñö\ 5uf>¹Ùµ%°jaP^ÔâÖ\12¡\90\9b\80\86¨F­\8c\9cÚÎýilzQ\r»k\80"8~ódz°ÊóRc\83\1fºØ\98^Ð>~XQn\97´´\8cìÞÃ'Î\±vñ¡B\8bôo¾y\13ÐÙÏÃ|Ün[\99^12¼lbaãäN\950Þ¾\98¦a\9eÆU¬\r¬3    \86\8eõeÝcB%÷"®\95A+[\8eN\r\99ë\ 4\9e\94Ãdµõ\fÑ   \8eͬ\85U\86P?rµ37Ô;yì°\92\82¼\82âÁ£'Ï\1aß¼ë\13\914×Éx YÌ\9c¤H\7fO\17{ë_Ì-nØ8ºz\ 5@       \83¤âï\v\8aÚDШ\8aµ7Vä§Äøß·»vö\ 4\fJ ÷Çvîß:õÞc§¯ÚÜ{\12\9d\92_I\bNC=>ÜßÙR\a¨ãB}Ü\1cn\80>5ÕU\95\95\8f\1cÓй`jwÏ7â\ 5¯Ö\b\82îåÔ\97ç¥Ä\86ø<pq´·¿íäêá\e\1cÃK*Bm\8c\19}cv\86_Å2â\82<\1dÍ\rN*ËAßÇ\9d[8ä^D;õ²µ\9bw\1fÔ8oæà\19\14\9fY\Ãî\1cà98U\16ú:Ùueùé     áO<îØ\9a_18sꤦæÿtÏ_µtp÷\8fNΫ\9c\ fzjb¤¯½±ª0\83\11\15äëåîææîåó4">\85\97T<j\93oÐÓ
+v\86ó\r#mÕ½R\e¾\87A)4rcÔÜS¯\¿C^UÛð\86óãpDpäà|Ô°y\10ê\16VyAfbTà#7Ç\9bæÆ\86\ 6úú\ 6\97\8c-ì\¼\83
\9a\81\86\9cî\84\8cÏMM\88
+       ðóõó\ f
+\7f\96\98\ 1IÕØFJ\18Em.fÒ\0QZá*f|F]i\97ä\9ae\1f=(ç\82¦NýÍwb\9bv)\1d×3±u\ 3\82çU4pz\87Æ'yÅ\10-=\84º¾²(;9.ÌßËÕÑö\86¹©©©¹Õ-g¨\93\8c¬bd\7fc\ 2\9aF\10À\93à;9©\8cب\88ð\88è¸Ä´\9c¢òº9ræcF¥ \9d¤Õ\ 3{¨b\87\8a\8b.ýê3\18\94Â"7\ 1\r§\86¬^ºB|+êWf\ e\1e\81\85UM\1d}Ãã|Yã[÷wµ6V\97æ¥3bB\9exßwv´¿u\vTêé\a³áe\19\8b\8aw\1eè\19¢\8a\8eæºò¢Ü\8c\94$\ 6#19=§\80YÝÐÂ\933\97ÚtA³k\8aQZ¡*\ 6;CbÕ·_\7fþ\ fa\92{\11uj¨e_\7f\8b¦""ø\9d\87¡Ï³JjAÖ#\13¤\8eÎR¨G\ 6º9\bBNêóèÐ\0\1fo\ f÷û\ f<\1fû\87>{\91UTÕØÞ;<NÏé\19äd\10v\9c¦Ú\8a\92\82Ü쬬\9c\97\85¥\95uM\82Iõþ=]Ðh[1s òºPi%\ 6i%\r\13Ð0;>]üÅ\7f\96­\91Ü¥\84
+\96«odRn\19MÖ|Ô\83½\1d-\rÕÌ\82làkdhÐÓ\80\80ÀШø\17\99\ 5å¬\96.xISüÅ1KYA\7fW[\13«º\82YRRÂ,¯ªklí\98Gm\ 1A7\94ç%Gø1\81´Ú½y-ì\fDn¡b¦\bþwð²¥¢â[e\ f\9bÚ»\aĤæÓd\8dëá»·\90×£CýplV\15³0'=\99\11\1fûìY\BRZvaYmS{/\95í|РÑW£C}]\9c\96¦úºÚ\9aÚº\86æÖönTÂ>\88\99\12taZl \87\83\197­ÈÎ\0ÐBÄ\8c\r\1c¼\f\11|Õú\1d?\1dѺ`áè\19\14\97QTÝÜÑ?BÕQ\8c\1aa@ÇîlkfU\97\15ççfe¤§¥gæä\97TÔ6µu#5 IÓ      ûf\12½§\9eÎö¶\166»¥\95ÓÑÝ78\82¨M\933þè\f©@\9dÍXÐ\ f\9d,\rO©*ìDi%¼*&\0\9axÙbäà\e¥\15\8fê\18Y9?
+cd\97Öµ`\82S\85\89²³\89±á\ 1\80Ín¨­*/-.***aVÔÔ7s@§\88³ï\ 4@S_\18ìïíî\82§§·\7fpx\fÎ, gÁ\84Æ\82¾\8b¶Õ\82¤\95 j ø\97K\96¯Ýüãþãzƶ÷ü¢\92óÊ\81àØÁùÅ\18(\ e·\ 3Ø]í­Í\r¬º\9a\9a\9aZ\16\90¶£\9bçM\ 2P\05°ctdhpp``phx\14 Ã\99éÔæaF³\ 6%4\12ô5ØV²[Ö       ?­\ 4@#\aÿ\17T\14ñm{\ ei\9e¿~Û#\10\96Gu3.f¼n<C`\ 3\8aáÁ¾\9e®\ eNk\v<\88´½\ 3<Ì4,Ü×ôjb|lltll|â\15\ 5y.flb½\9cÆJ\94Ð\94 ·¯_\88´\9a\83ú\93\7f~þo\11È-y\95S\97\0ÁÉò\18\85ÿE\8c\ 2\1f\ f8\vÇëïíé\86\a\93vt|®P\89TßM\ 3løÂää«ÉÉׯ§\10äy\9f¢L¬£     *w|°·\93å%\10´Ô\ 6¼­\16\86Ü\Ô\7f!¹%¶If\9f\1aµ< Z¢>\r§æ¶&\ 4\ 3]ojòÕøØèÈ0Ðvhhxdt\1c     \95L\87÷ïix(Øoß\90çí4\ 5y\1efÜJjK²\18a\8f]¬AÐû@ÐË\17LÐ<Ô\7f&²^±n\8b,^\1e^Á    Y¥Ô©ù9Ä\87\r¬\ 5Ú¢g\82ËZ\ 1¥ò>\ e\9f\aàèy\87\10\v~\8641®\89å&EúݳŠ    \8d\ 5\95\90Ó\8a\ e\9aÈ\1aç\96¼\8a\91õ]ߨ\94ü*¤êIZ\10½\9fåã~35õ\1a?SSø\863s1\93OÏÎÐ\1eü\ 3\81\ fÐL,/%ÚßÝþúyÍÃ\v-h:jÞò8qÎô¶gpB6³\1e\f\1cõ,\ 1BR÷C¼%\ f\8fµs0saÓ\9f9¿%Ã\952±Ø@OG\8b\8bP¹wnX-² \82æ£F²\ 6\82\8bo\93;rÊÐê®_tja5»{\90Îo\ 1Ü\88¸äùÀ\rç#ÿÐÏ\ 5L\f\1dKC\9d£\8aÒ\9bÄ\16.¡ç¡F\ 4\17ù~£\8cÒñs×\1d¼B\19¹å\8d`eüí4ï\82|Îþ&âßy\b¹'F\ 6\90\89e3±\89©ÿ\9fùrñÆ*ßøjV34\88Ü/\15B¹Ln¡\90DÉå\10)¤P\12ÝP'QJ4ÑMI\85t!&TR
+5n!\8a\91[(DÉ%]5\98£ffuZçûûí½_ÕiÎYkö~ßýþ     Ïz¾Ïó|¾¶æ\80Üò\b¹q ¹,z,:ðI²Ê\9aFVΫ6ï9\96v­´¶­\eÝ÷\7f\8bþTùßSL\1aýû»ax­Ú\1a*\v\88\12\ 3*1ÔÂÈÍÝ@sTÃ\81O\80.S×\9dkï±agÌ\99ËEÕp߸¿ÿ\9e¬ÿ+\1a\1f÷ËÞ\8e¦ªâ\9c´x(1\92J¤Å\84\ 5¹~ܤjlµ\9c\8aöì\85K}·E'fÞ¨¼ßÑ÷\ 6¾§\ f\9a¦h\12¹\9f=\817#7ãäÁ\9d\9b¼\9dáÍ@TÂ\83@\93ª1\83\8bIO\99a`±Ø;(òXÚõ²ºö\9eW\83#_      5\ 3\9a\91ÑÐÜ/ºÛÐ\9b\ 1\81Þì³ÔÆL\ f½\19\ 4róD4²\1a
+\AUÇÌ\ eîûðÙìâ\9a\87O_üu¨é\89ÆF\ f¾îël®.¾\9az|/I%ÊøÍàA IÕÈjaqYeíÙÖËüBö']üùnóãþ\ 1î\84\1a\89~\ fF?m­+ÏË<y`Ç\86\95\8e\96FÚ<+1Jô\98qß@\95Á}ϲt^ýϽ'Òó+\1a¹\15j|Ý#C`tSUavrlÄæÕ.Ö&:j\93¥ÅyTb\94jtߢ\92\8aêzæ\ e\9e\ 1»\8f¦^+«kãR¨±Ñÿúõew\e\18\9d\9e°/ÄßÝÎ\\7f\ 6o¨äsÑãP\7fËO\9bij»|}X\f7C\r¢ÿ\80\8dî\7fÒ\]\ 4\ eôv²2ÒVÁ\81\86\12\eÃ;Ñc\10\95\89Ë*i\19/\¶\16\85º ªùI?W\96\9a¼îÞG\r\15ù\99\89ûCüÜlÍtÕ'KsûÍø\8aê±\9f\85:>=\1f\19\84úKü¦¯ù#"Ð_¡ÆîÝÊI\8d\8b\fòv²4ÔT\96CÇÍ[Í\9f\84z\9e£W`D\1c,u}{ï«!æCMt7ºîª\82¬Ó\87ÂÖ/·3ÓUS\94\9a\bÇÍ[ÍD¨Ep¨ñR'_)¹÷ðéÿÀo:¢ÿx\aÝÝÑX\91\9f\91\10\15¼Æe¡±\16\18-\fÇÍ[Í\9cP£¥võ\v=pêRA\15\eGzðUO[]ÙµÔ¸\88 /G\v\83éS¤I£y©\99\13ê©\1a\86VK|¶F%d\0~wr#Ô \1aGúaMqöÙ\98\9d\e\96Û\99ê¨*H\88\bñÜhB4\ eµ>\84\1aãw9wBý\11ãØs\14é\8bIÐÝˬgk)Ë\8a\v³`4\19j      y
+¿!Ô\YjTÞï\87ß<ë¼_y##~ïV\1fgËY\1a躿ý\86ç\9a\89P\v\8f\86\12^jÆñ\9bì1XéòÜ\9f\8eEB¤çé«+J\8aâëæµh\ 1\10ý-¼\97D¨ñR#ü~=Ä0~sz¬¶4ç\lø¦\15öf:ªò\12"\82ãy\7fÝ\9f\85ÚÁ3\10ð;§´¶­ûå ¾oæT£\1e\e\19|ÙÝZS\ 2=\16¶ÞÝÆä\a\159\1ciÞkæ\84\9aÀï\1d\87Î\.ª¦F\8bA«ÉòîzP]\98uê@¨\9f«µ±\96\92\8cØ÷¬\89æà÷RßàèÄL\18-x/á¾\99¬²\8fÿ¦Êûç\v'÷móuY`¨1\95¥\1eCMFá·\81Åbï È¸4ô^2~ß\1f  \b}Üt\87SÞ3&K\89
+±#\9aÀo\11 \ 5b´ÂbÈû\1e`ö¾©Åj¬È;\7f|ÏfïÅ\16,\967qß\82ÄhÁ}oÃ÷Mö7sV£\99~7ü¦¯£ávn\1aZ,\as]5\ 5¶Ê\9bXjò½\9c\ f÷\1d\11\97z­´¶µ\e=\1dÌM5g¦ë\81¼\8fî\ eXi?\17\16\v¾\rà1\164ãP£÷\12ß7êïÓY\85\8fû\a\86\19\9cj$zdèuO{]iNÊ\91]\e=ìLgN\93âÙ0\9a\1c-tßÐß.k¶FŧçÝn\0þ\1e\1ca®Ê°hÌ&·®&\1f\86\96Í\99\16øä¾§\eX8z\ 6ì\8eM¹ZRó \8bÑ©&\81¬»õ^É\15\82Mæhû\ 13ÍJ¤©ûÆ|bbãæ\ fü}ñæ\9dû¨ÊF\18«2B4\ 2²âì3\87v¬s[\84~,1öDS|"£¤ihå¼zË\1eø/Ë\88*cÌj\92B\9f>¬)¾|úàv\7fWx,1\90±³X\ 2ø¾\81OD¥\14ÕõæÚã©ÆUöìÍ0c«\85)\14\89þ¥\88\14\89D³Ä&X5Ü· ð$9\15<ÕÁ¸ÊêÛ{\88ÕbÄj\ 2½±è,,z!\16Í\12\85\92¢Ñ}\8ba\14\85*\v?\92|¥ø\97\96'xµ\98±úSÑèßXÆ\a¢ñ\7f\89P\14ªÌÕ/d\1fPYEÃ#X-\0pF¬æC§G«LÃÐÒ ¨ìè9bµ\18³z4Ó\9c"c;ÓT\95I*ªé\9aÙ¹¯Û~ éÂÍÊFÂjFRÍ\7fíMN5T\19P\99\91\95óªÍ\91q©9·\98´zt§KÈ\9d\9eÃòN\v\90÷=a¢Ôd´Z\0à\aO]dÔê¿&2\960\14\8bÆV\8b Õ2^°\ 4\ 1
+a5S\ 5N<\1c|ÄÞ\84jjµ¦ë\9bÛ{p¬î¡¬¦©\9a|-áË*Ë9\17\e¾i\85\9dÙÌiò,~Y\84hrµä\ 1P(«¡À\99ÚjRtï£úòë©Gw\a¬üÇ\]U\ 5        \11ÁñãØ\fõ\97VC\81ÃVc,{Oßê\8f\1f?üùnøM_GÃíÜ\9f\8eE\ 6y9ÎÓSS\94\14\11bU4±Z\84Õ(ÕPàç®\ 2\96\ 1\81\ f\81Õ\1fh[ýáÏ÷Ã\ 3Ï:ïWæ§\9føqË*§ù\ 6Ó'K\8a
+\8dgq³>³\1a\15øºíûOfæß®o\83gë7&¬\ 6Ñ¿\rô?nº{331:xÍ\12\19S¤'²\8ad\ 2¸Ê8VÃV\ 3\96¥\)ªFÏÖÐ\b}\18ÅHööyWKuÁ¥¤ý!k\97.dýÍ¢)«ÑVÛ¹û\87îKÌÈ+¯kë~ñ\96\ 1«        ø~\81\91\8c¤\13ö\87Z\80cõ$9\84eNÞ\81»c\93³\8bª\9a:û^3`5E'h¨S\8eìÚèagJm\16?X\8d°L×ÌÖÍ/$:!=·¼®õ)\13VS\9bÕ\8e6+."ÐÓÁ\O\r6\8båú&
+\1cc\99²¦¡åb¯\80ð#g/\17\8eZMO4µY\8d\15yç9õ-%*Är¨I«\81À\15ÕtLm\×n\8b\8a?\9f[VË\90Õ£õ}\ 1Õ·Ë\ 2#\8d©Òbl×7çÙ\12\97\985ßÑsÓ®Ã`õ]Êjº÷\8dêûE×\83êÂ,ü\~Òdì[ýí\ 4QIEÕ\99&\8b\96ù\ 6\7fi5MÑø¹\84?+\197\99\99\8eª<Û Jª&¬\9eª1Ë\82²\1aRM`\19-«q}\93M\96\16\87AT_]Q\92ýP\13Ï\16²Z\ 1[½68:>\1do5\10øïô¬\86úFM\86A4#>j«\ f0\19\11j¶ï\9b\fa5\148luu\vñlÑ\13\8d\9bìíó'ÍU\ 5\97N\1d\bõsµ\9e\8dB-ü\1dËK-ð¹Õ6®~!û\123ó+\1a\1eõ¾\1a¤[e£L\ 6¡>\f¡¶\87Pã¥fÿ¾G\vÜÐÒÉ;("î\έ{\ f\19¨2\92Ézp¨á»ô^l\81\96\9aø9ØV\8d`\14\15¸\9a®\99Ýòu;\ e\9eºTp·    Þ\ eÚ÷\8d\98\8c\bõ\rôhùÂÏ¡¥D\8c\16\9fX=IVYËx\81\8bÏÖ½ñçón×·£ûFýMC4\15ê\96êBôs¬w·5\9d\89F\8b\ fî\9bL5\10øtýy\ e+\ 3ÂcS®\96 û\86þ¦\87¢D¨a©kKsR\8fF\ 4z9rî\9bíþ&­\16\91\90\9f\ 6Uææ¿\1dÝwU3ô7
+5Ý¥\86\9f\ 3áw~FB\14"Qc->éo\ 1âÙ\12\97QÒ4²Zâ³5*!#¿²±£\8f\89Pcü\86Ñ\ 2\12\85û^nk
\r|2\9e\ fª\f¬¦îÛÑ+(2.ízY]{Ï«!ú¡þä¾ã"\82¼ ¿gL\ 1\ f«ñ}+¨ê\98ÙylÜu8ùJɽV\fe´DS$JÜwbô6ߥÀ'*r\93\84\ 5ù¤Ê¾\83©VÖ\9e³È\15\85:«°º¥ëù[ú¢Éûn©.º|6fç\ 6\ fû¹zj\8aR¢üPe\ 2c`ª¿\17\93\99ªi´ÀÅ78:ñÂMXj²Éè\88¦î»­®ìzÚñ=[V9[\1aj*ÉðÅT\vàP\8b\ræ;­Úòã\89ôü\8aÆN\84'ôê\9bìï7}\1d÷ïܼ\90´?ÔßÍÆd&\aEÙ®²±ãÆ\v\89\0\94é\99;x\ 5F@\93\95×?ê}=D³¾Éû~û¼ë\ 1ðwJlx\80§#Qeü`5\12\rP&\ fMf¿b\13àINim[\ fm&\83û\ 6>!øûv^z|\14BQ\e"\82ü`5n29\95\1fLlÜ×\87Å\9cÍ.©\81ú&\1e-\1a¢Iþ\1eè\7f\8c¦úLL\18®2uLeü`5à\89\98\8c\92ÖlkW¿Ð\ 3¨¾\1ft½ ½Yø¾©©¾\96vlÏ\7fØ/ópªó=\8e\8fI\96Ãqpìû¾Ë\12YJ\84!¡DB¥¤E
+¡T\96Æ h\95¥I\8a)¥T£\91HM"YJE$)K%dË\92²¤æÞ\99Ï÷û;ç\90nÏs\9f[Ï=g\9e\7f\9c:ýÕëõý\9cÏ\12ìílm¤     W\aL­iÌ~jb=\11\95Ó@í{[ÜÑs×n?zÞ5ðµí\e×71ª¡\95\9d\eºÁ\83¾\951\7fj!h\12´ouCKgï-»~>[Pþ°åUÿÛ¯\85þ¤\95å\9cDW\87\93¥¡\86\9c\18+´2´\93\91(ÂÒª°\88z\ 5F%\9dÎ+­iúúí\9b6ª¡\95µ7Õ ­,nÛz·ù³u\94$Yajáö\8d\16Q½¹\8e\9e\ 1\91        \19¹°}·£íû+¡\19­\fme\17Óãwú{.´0Pc\89©Å\ 6í\ef\96\84\92Î\9c\ 5Ë6EÀö]|\1f·ï¯\9cY\93ZÙÓê[y\99\87wm]»\84\16\e¾.ñöíî\e¶?-»ðnCë7hßD+\83­ìUKÝíß/\1cß\1f¾\11O-iV\98\99¥il³týö=©\17¾ÍÉñ'£\95u·6Ü/\86\ 33*hõbVYÀ\193k\16\9aYpr \99Õùõ3kb+koª-+ÈJ\89ÛîÃ2­\8c\ 6-«nhå²fëî#YW+¾Å\9dõ'½¾ñV\86\ eÌ\83\11~+\1cÍi[\19\93G5\ 1-"«n@\fê3W&\ 6õ7®ï@/¨o\96\18Õ4hÆq\99\99_VÛü-\ 65zi\80ÆýûÁ­<¸:Pÿ6ÖR\90 \12«(\v\13ÐÉ\99ù°\9dÀq      '\aPOä?`¦C·5Â~BÿQÏ@?j<´\98ÈÌ6\8dö\9bÆÐÑɧón=hlë\19\1c\1e\e\ajzþ9%ÿ\1620Ãoz \e^\1a:ÙÑ=;6¸ãý[\88Bb:4\1aYн\r\ 1:(:éTnIÕ\93Ö®þ¡\91±ñ\ f\1f>âüAä\1f_tð\89\aâ+ \7fü0>6ü¦¯óECÕ­|ØDwÀÑa¦«B\1c\1dLlßl°\86¢åD\fF\96\95óê ¨Ä\8cKÅ÷ê\9f\ e\f\r\8f\8c\8e½\87\8c£|@ùDÁ$\aS4 ï\7f ä÷£ÃCýÝmÍuw\8brO\1fÞ\rë·\1dãÒb.4;\a7YP\^ÓÈ\1aA'\9cø­ðÎÃÆÖW½ý\83Coß½\e\1e\1e\1e\19\19\19\85\8c\8da\ 5\9f9\98¤\ 1D\10\7f|DÄc£Ão\aûºÛ[\1eW\97]Ëþ%!*x\8d«­©\8e\12*oæC\93ø¨\12
+Z\b:02>ý׫¥UõÍ­\1d]=¯ûú\a\ 6\ 6\a\aß¼\19\1a\1az\v\ 6\90\82I\ e\b \84\ 5B\ 3\91ññ÷@<ònh°¿·óeËã\a\15\85¹\99G÷Eø¯Zlm¬­Èìí\ 4U7;'\89"$©¨mlíìµyç\81Ô³\97\8bnW×7>kmëxÕÙÙÕÝÝÓÓÛûúu__?(\98ä\80.\ 1Y`h@\19\1d\1d\19\19~7ôf ¯§³íy㣪\8a\e\97³Ò\ eEoõñp°0Ô\90\17G#\8bÉÐÓ9y(Â\92J\0½x¥_XÜá\8cì\82â\8aûµ\8f\1a\1a\9bZ\9e={þ¢µõå˶öö\8eWHÁ'\ eh\12À\ 2M\ 3ò\0\9fCo\ 6\aú_÷tu¼|Þø¸ænéõܬôÄÝ¡~«\lgë©ÊÀqÉÔ\915\ 1­¨md¹h\85oHt|êéìüÂ\92\8aÊûÕ5µu\8f\1eÕ?nxòäicSS3V\80\1c´M8\0  `\81¦\ 1yèïïë{ÝÛÓÕ  ÄÍOëkî\95\17\15\<s<16,ÀÛÍÞb\96\96¢\940?\ fS72¢ych-C\v\a÷µ\9bÃc\13\8e\9d:\9f\93\7f­°¸¤´¬âö\9dÊÊ»÷îWU?¨©}XW\a
+ÀÁS\86\ 3\90@T\ 2Ò\0\1ep:ÚÛZ_<kzRÿ°º²¬èê¥s'S\ eÆ\84\ 6¬qw´2ÑU\95\15£ò\91\98z[Ò¡\85$\144f\9aÍwY¹aËÎØø#i\19g/\ÌÉÍ»RpõÚï×\vo\14\15ß\ 4\ 3å\15È\ 1( 9x\88ë\0,Ð54· 475>m¨¯«©ª,/)¼\92s.#5qOä6?o÷\85Ö¦úê
+\92Âü¨º\99xpÐË\9b*.§¦kbåèæµ18<zO|rʱô\13\19§Ï\9cÍ:wþ×ì\8b¿å\ÊÍËg((ºYr«\14I¸}\a\17\ 2T\ 2Ò\80<@jk\1eTÝ«¬(½YX\90\9b}ödjÒ¾èÐ@\9f\95®\ eV¦ú\1a\8aÒ¢\82dâ¡\99\f\13\14\93QÖ24³Yäæå\13\10\12\16\19\13·ïà¡Ä¤Ã?\1f9\9azìxZú\89\93\19§2±\82\v\93\1d\80\ 4°@T\ 2x(++///++-)¾qýjþ¥ì¬SiG\12öF\87\ 5oôöXlga¬\aÌPÜ<\ðÐL\87æ&\v\88H*¨é\1a\99Û.t]áíã\17¸u{XÄ\8f?EÅìÚ\1d»gï¾ý\aâ\ f%$&\83\82\14ä ý\17ä\0\97\ 1H@\16°\86Ëà\ 1%?/7çâ\85¬Ì\93i)I\ab#C\837®Yîâ`mf¨£¦ %J¥@q3õ¡\899ÍÁÍK\11\12\93QÒÐ3\9ak½ÀÉÕÃsõZ\1fßMþ\ 1\81A[¶\86\1e\1a\16\1eñc$¡ \ e988á\0$ J 4d\9e\81df\9eÊ8\91~,%ùÐþبð\90;ÞË\97\98\eëkªÈI\8a\b\ 23çtöï\99\ e=\9d\8bD\16\10\96\90UÒÐ145·\9eo¿Èy\89\9bDz\15+Wyy¯Y»n½\8fïÆM~\ 1\9b\ 3\83\82\91\82\1dt\aÑ1»±\ 4T       XCRòa\94ä¤\84ø\ 3{c£\7f\f\v       Ü´n\95\87\8b\83\8d¹ÉLm5\ 5iqa\ 1>\1eÄÌÔ\87fÔ7\ fEPDBFQUK×ÀxöÜyV?ØÚÙ;8.rZìì²d©\9b»Ç²å\9e `µ7R°\81á\0Õ\ 1\10\16±\13k\88\8e\89\89\89\8eþ)rgø\8e\90 \7fßu^Ë]\9d\16X\ 3ò\fu%Y   Q*?\99ÄÅA03\e\9a\1d¨y)\82ÂâRr\8aª\1aÚ:ú\ 6³\8cMfÏ1\9bk>ÏÒÊú\a\eÛùv\vì\1d\16\12
+\';\80:\0\v\84\ 6\7fä!(88(p³¿\9f¯ÏZ/O\ fW'{[Ë9FúÚjJ²\92¢Bø\99¡\871\9b\19 ñ¯\9a\8bÄË' $".%#¯¨¬ª¦¡©=CGWO\7f¦\81á,##c\13S¬ÀÂrª\ 3$\ 1,Ð4\80\a¯Õ^^«Vz.÷Xêâähgcifb¨«¥ª(+)\ 6ȼ´gf63~j(p\ e¨p2E\80*,*.)%-+'¯ ¨¤¤¬¢ª¦¦®¡©¥EW\80\1c\80\ 2\9a\ 3T\a \ 1,`\r\8eà\ 1eÑBG{;[ëysg\e\eèi«++È W¦\02'k Ó\9e\1aÞ\9a\93\8bÄCæã\17\10\14\12\16\11\15\15\13\97\90\90\94\92\92\96\91\91E\ 6h
+TA\ 18Ц9\80\85\80+\ 1\987o\9e\85\85ùÜ9¦Æ³\fôfh©«(ÈJ\89\8bPñ+3*\9béÌ\fjxl.n\12\ f/\99\8f\17\10\10\14¤R\85\84\84\85\ 1\9a\ 2\80p L8\0    D% \rÈ\ 3D_OWg\86\96\86\9a\8a¢¼¬\94\84¨° ÿ\ 42+<3\ e\e®p\84\rÜ\ÜÜ$\12\ f\ f///\99ÌÇ\87\ 4ðOU0É\ 1\96 'O/\ 5ð\0QQQVR\90\97\93\91\92\10\13\11¢
+PÈ<ܸ°Y\bù;LM`³³O\ar\ eN\b\17ÂG\ 2ÀÀT\ 5\93\1c\80\ 4°@hÀ\1e RR\92\12âb¢\b\98\9f\8fÌC\82\8eÍrÈß\11Ô\80\8dÀ§avD?\1d\vø\17
+&9@\12\b\vX\ 3x\80\b    Q©\82\ 2ü\14>2/\10s±&2\ e\e-ßÓ3mÚ\84\81)
+&9À\12\b\vH\ 3\88@\1fd2/âÅÀ\fb\96Cf\84íÓLUð\99\ 3B\ 2²\80\11è\93\8b\8b\93\93\ 3\ 1cbÖF\9e\12¶/)\98â\80®\81æ\81\ 3ý\95\1dñÒ\81ÿ6Ä\9fçË\ e&i \aÿ#Ûß\9cøóLu0áaâ;³ÿ\8fÿ\85üOÁþ?\7fi\14\8c\82Q0
+FÁ(\18\ 5X\ 1@\80\ 1\0\96ù\8f\82\rendstream\rendobj\r1090 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 320>>/Filter/FlateDecode/Height 283/Intent/RelativeColorimetric/Length 28559/Name/X/Subtype/Image/Type/XObject/Width 320>>stream\r
+H\89ì\97çWSé\16\87-´@\1a\90\84\14\12\12zKH\84\ 4B\91\12\82FJè
\ 11\88tbGÚU\ 4\11¬\14E\ 5\11E\ 4\1cQ\14\15Td\10\ 5Ç~Å\8bÎü3w¿ç\84 ³îº\1fÏqÖb\7f9_\7fëy÷~ö>kÖ¬Öj­Öj­Öj­Öj­Öÿ©µ+Ev\94\7fX­ý_Ev¨\7fJ\99q­û©~U\84¿ÜûZØ­ÇÊÊ
+ÿ.#$;ÞOõ\v\8e\88\99\1eFÎÚRV\b£\19!Ù        -õ·9ù\15\10\ 1;\e\e[[[;(øØØ\0Ãe\82¤&\®\1fÙáãñ\vL\b\1e  Ñ\ 3xv\14\8a½½\ 3\94½½=\ 5 Ú@\17þ"\ 4Wàá\8a±Â-Cú\80àø\80\1eÀ³w Òht:\83Á ÓiT\a\84ÐL\90¼\8c?\98nÙ1V\7fS\f\99\0\ 1=\1a\9dÁttrFåäÈdÐi\80\10\114\87$%ÝÊÌ.³Ã$c\8b\19\86ôù°à³£\0\13\8bÍáry<\1e\97ëÂa9;2hT{¬\aÉ\0ø3:|·!Ç`\92\ 1¿PÐxX^\97Øl+\191|¶vöTDÏ\85'p\15¹\89Åb7\91Ð\95Ïå°\80 \ 3Å\8e\14\80?èÎÒv\b\9d\ 3\92\f\14Õ"\18\0HR\ 3¢\88f|\fDÏÕMâáåí\ 3åíé!\11¹ò\10\82Ä\ 3´ì5\f\1dÖvöÈÏ`g¦#\14\13ù\85j~Üõ$5 \8eÏÆÎ\9eÆpb\ 3=w/ß\0i\90\.\ f\92I\ 3|½ÜÝ\ylg&´ ­\rÁ\0ÍëÂÊr\16 t¸\9eYl6\87Ãf³ÀÑ0\1döËÓAT²\9fBBD\1c\9f3\87/\92xùIåÁª0ux¸:L\15¢\90ú{»\8b\ 4.,G:\04w aÉ\96\8f*óY°\8c\8eÃåñù\ 2\81\80Ïç\81¡\9d\98\19 9ë\r^ØÆ\16\r/\87ïæá\e(Wª#£ã4ññ\9a¸\98¨pÕ\ 6\99\9f\97Ø\95˶\0\ 1\80\1eÀ\ 3v8:W!èY"q\97\80¡\91 \9d±h6dñ\83\8cÖ¶\14\a:Âçé'\v\ e\8b\8aKÐ%¥èõ)É\89\9bãc"B\15\81>îBÞ\8f\0\89        \86^Ö,f\1a\ 3à\ 1;\81P$\96xxzùøúúùù\82 ÝÝ\84|\17Ü.ÖVd\f0Þ~0½\8el\9eÈÃ/H\19\11\93\90\98\9a¹5'//7';C¿E\e\13\1e"óõ\10!\800&DòÃÏ\ 2h>º£3\eÎ\ 2\91ØÝÓÛ×?@*\v\92+\14
+¹,Ð\1fü,\ 2\80h¿aÑ\bIöSȵëPF*Ã\99+t÷\rRFÆéôY¹\86]Æ¢=EÆ]\86ܬT\9d&R\15ä\a\0YLª=\81\rh9\vhè,à\va±ùøK\83\14ÁJÌÎááHÏ2\7f\1f\0ÈqÂf\83\14~xûÑ\1d9\ 2±\8f4$R³%m\9ba÷Þ\8ajÓ>SuEiQ~nF\926
+\0º\v¹Î\f\a\8a\8d5aüÌ{\8d\8a\9f\ 5\1eÞØbSGDEÇÆÅÇkã5±Ñ\91aJ9\92\v\97Ť¡§%^\80\88\9fµ\r´\1f\8b\fØ\10\1e·%=· ¸rÿ\91Úú\86\86º\9aC¦2ãÎì\14íF\95ÌG"à8\12\98ÒÜ~\14\f\9f\10\9d\ 5
+¥:*F\93 KLNѧ¦êq;«\14\81Þb\ 1j@\18`RøAH°\1fG ñ\r
+\8bÑ¥åî*5\1dih:yª­­µùXÝ¡ªbÃÖdmdH \97\b5 a\9aY\113\8b+\94x\aÈCÔ\eã6%êÓÁ͹y`çmYiÉ\9bã¢Båþ\9e(\19\95\ 2É\88ÿ½ÄB:\80ýD^\81!Q        úm\ 5¥ûj\8f·\9eíèºx±ëÂ\99\93ÇjL{\rYI\9ap\85\9f»\80íH#L3Ød`bvq\ 5|
+Ud즤´ìÜ\9dù\85Æ¢â={\8c\85 g=ÈY)ó\11óÙh4ÈâG¡2Ù|\89¯<,61˰w_í\89ö\8e\9eÞþ\81\81þÞ\9e\8eö¦£¦â\1d\19ºh\95\14\1aР     V0qü°É`²yn\9eþòÐ(\8d.5{{\81qoy\95ißþý¦ªò½\85;·¦êbÕ\eü=\9NH-\84/\10ü\91Ñøºz\ 4\ 4G&¤æ\1a+k\9aNw]\1d\18\1a¹sgäö\8dÞî3M5\95»sõZh@     \9fÅÀ5CD´uëÐdÀY
+f\91)ÑbË1\14\95V\1f@jnl¨?zØTV´skJÂF%zYg\10 iüèN0¾RUô\96LCÉ\81ƶÎÞÁÑ{\ f&&\1eÞÿmèZwû±C¥ù\99\95\81ðÌ\8eH3\84hzÅ,BXlêX]Z\ e\83µ\8dHÍíÈ͵\a*\8c;2\13cÕr\1f1\ f½,)ü¬¬QH\9e\9bOPX\ò¶Ý\95G\9bÏ_¹ygüÉÓééçS\13cC}\9d­õÕÆ\9c\14M\98ÌKèâD#JÓf³0X<7o©2*!e«¡¸êpCs\e¦æîÎsmMu\aÊ
+sôÚ\88\r0\19l\ 6\95$~è\91Y|±¯"\\9b\9a·g_éîþ\91ñÉ\17³¯^ÍýþüÑØà\95³Ç\ f\95ìLO\88Pø¸Á\98\10¥ée3C4\9f Ð\18]ÆvcåáÆ\93g».÷ö_¿\ ejî4«yóÆ\90\0XmLrùIü6D&¤ï(9xìÌå\9bw\1fOÏ-¼}ûÇÂËç\13£×»Zk+weé6\ 6û\89yÄóC\9bM¡Ö$eç\97ì¯o9w±ïÆÐÈèèð­\81«\9dmÿ:TV\90\9d\18£BfaR)äñc\vÜý\83£6e\18J\ f\9f8ß{{üéË7ï?}þô~avêÞàåÓ\8d&ã¶Ä\18e\0¶@`Í\11ÊO ñS\84ǧä\14V\1c9~º»opdlüÁ\83ñ»Ã7.\9fo©­2æ$Ç\85J=IæÇÂømÎÌ/;ÒÜqmdbúõ»Ï\8b_\17?¿\9f\9f\9e\18î=wü@q^r\9c*\10Æ\848~(\1aÞ\7f~\e"´ú\cUm\v¨yôþ£É©©É\89{ÃýÝm\8dû÷äéã\91\99Ñf#o\7f ù\ 5~\19ùå5-\1dý£\8ff\16>|Yú¶ôõÓ\1f³Oîôw\9c8\²]¯  \rô@üì\bägQs¼>·ÈT×ÚÙ746ñtzffúéÄÝÁËÈÌ;Ò´ê Øldñ[omñ\1fÌ/ê¿þ;\8fgÞ|úúíÏïK_ÞÍM\8dÝèj9Rº35>LêáÊfbü\88\8bFG§\81\­IÉ1V×·v]\e\1e\9f\9c\9e\9d\9b\9b}19~»÷Bó\912CzB8¹üàþÃB\86kÓv\94\1c:qá\1aô\1fðûþ×_ß\16?¼~vÿæÅÖ£å\864m\18h\86`~è4u\11yÉBc\93¶í®ª=ÙÙ?ò`jfn~þÕì³\87£ý\9d'\8f\96çg\0?o\11ð#aÿ®1ÿ\7f@Hï 0\8d>¯øÀ±³W\87\1f¾Xø\88ø}ÿúqþùøà¥Sµ\15\86t­ZF$?ó\ 2Á\7f\8dB¢uY\ 5å5Í\1d}ÃãS¿¿Zx3?7ýø·\81îÖÚ\8a\82\8cM\11r2ù!KCHÏ@U\f<²©¡½çÖø³×\1f\16¿!~\9f\16¦Çoõ´ÕVäãü8\ 4òûñ¶\8aH@³qüÜÕ¡û\933ÀoáÕ\8b'wo\<UW¹+\93T~+!ñ\ 5\qôd×ÀÝÉ\97oÿ½ôýO\8cß\83¡\9e¶ºÊüô\ 4à'$\96ßò¿¥·\fþ\8dr\8aàm/a·é<ð\9b\99\1c»y©­¾jWÖfrùá\ 2äÂ\ f\9c:>uûÞ\83MçûF&`\80\17\97¾\7f[ühá\97aæG%\92\1f~Á \ 1Þ¨Ë,¨¨i\ 1\ 1>|:ûza\1eøÝ\eìi¯¯.ÌÚ\1c\89ñ£\91ÅÏl\19Ï@eLâÖÝÕõí=\83÷\9fνûüué?_>Ì#~íu\95\ 5 itf\11Çoù¸2oàx\ÎWnÝ{òâåë×s/\9e ~\rÕ\85ÙºHø³\ 4~\14\eâùý\97ùòüj*ݸ\8d\16 \15B\93\ eÒQJ\80\110`\ 4i\ 2\88 "EQ\ 4)"R\84A\8aÒ;Òk\12Ò  ½\8d\8e×ñzuÚrÍ\1ft÷û\9eC\bÃòÞµ.Y\9e{>çÃÎó>{?¿G{\81ÝýB£Sr\1e\92\ 4óé÷¯\7fýõõ·\8f{+¢±Î\862¤ßùï®\1fì\ 6\99 <~\z^iÝ«¡Yéêλ\7f|xÿÓ¦\127£üôØpÐÏ\92M\99~û     ìê\13\1c    W¦¢±kL\b\ 6üüÇׯ\7fþúqOMè\97zõ@¿Sßm4ü¶\1c+\a +|\\9aÁ\80Ê\8dÝwï\7fÞÛÀúU\14Ü\8c»äïî\80õ;C\8d~0$Ù\93\0¡Q\ 5\19\9c\95­¿ýøå\8f?\7fÿòË.è×õâI^Ú÷\8f¹#\ 6¼WVÿjhF¢ÞÜ{ûÓî:è×ÝTY\98\11Ï\ fðp°âÐ)Ñï\90\ 1}\83QÌU4u\83\ 1·ß\7fúòÛ¯ÿú@ê§9ÓÿA¿\93û\9fîFÓº\80\1a\ 3.ÊW·vw·¡À\8d÷üXUtëZD §£5\87N3 J¿£\ 6\9c\91®í}øôùó?ßï¨EãÝ\8d\15ÿåÌ\9c<òén6\88`\82¡I\ 3N\8bUk[Û\9b« _oóÓ\aY\89\91A^NÖf\fÐï;]æ#C\1e5à¢ró-ô¤\8f?ï¨Å\13=M\95\ 5\19ñß<3¤b§4\9fÎ\14ÔÆ+è\97É\88¡{Æ\16dêõ\8d\8d\15ùâD_˳âìdA0Ñ,\r Ù(3       ú¤\ 1\a¦%+;ï>üòáÝ6è×Û\U\94\99\80Ö\ 4Î\fíoú\1dhw\9aø\ e$ÔÑl$\ 3òø\b¯\90\ 1E\8a\95µ5µ\8ÑßZó\b7KM²Qj@[\88àËD\ 4¿YP¬C̽\7f»¥\16Oö½¬þæ\9a\90ê\81ngö?BC\9d  \88\r\88/ Â«g/{Çæ¥ª\95\95e¹pr ½öñ]TàÜÐe¦\ 4`È3}Ä\80Sâe\88¹w{[ꥩ\81Ö\9a\87ßX\13¬\1eÒNOOO\9føôô\90\84º\11\ 2z\aE& \12×1<-\92\97墩ÁWõe\0ÐáþîöT\ 1Ì        -NÀ\ 6$\19pt^\ 61··»©\96L\ f¶×\96 5A\0x(\80    ó!õôõ\r\fÉÏÀ\0IH*¨\9bÙ\90\ 1\1dÜýÃbRï\96<oí\e_\90(T*¹hz¸ãE9\f>\95\ 1|BÓ\94´\rØÚ?)R®míìl¨%³Ã¯ëKó\0\ 3øÌ\81~Ø|z \9e\11\8df\8c?\1aÍÈ\10\14$\ 5ÔÉl`@\16×ÖÕ7D\90tûAÕ\8f]#3"\99R)\17Ï\8ct5UÝÏJ¼\1cäílcÆ (@È-Ñ\18ðrâ­¢J0à\9cT½¾µµ®\96Î\8dtÂ3\ 3ç\13\9c\8a\ 3ää   Ò}ûê\99\98Òé\føètS\13c¬ \b¨+\ 3â·uò\f$\13dprQ¢PÈÅsoz^VC\0_    ñu9Ëe\1aS\14 \7f3`8Þ\92¶þI¡be}\ 3ô\9b\7fÓ\8d95\92çå¤ýÌ\1aù@=:\83Éæ \8fÍb2è&4#\ 3ý3X@\1dÌ\86. )\e\10Æ/\14íFMKïØ\9c\90\8f÷µ>/ɽ\11MV#\8a\ 2ä°\ 1aK\12³\8a*\9bºFg\97T«kk˲\85ñÞýg>à\84\93\1a÷\19\82÷\98,\8e9×ÒÒÊÊÒ\82kÎa1L\8du& a@H\10[\17\1f¼ÀOñ\ 2KårÉÂÄ@{ÝÿA\80\1c2 gÀ¥Ø´¼Çµm\ 3\93\8b²eà\ 4\99p²¿í9É  \9a1µåc°Ì¸\96Ögíììíílm¬-Í9L:!à)\1dü\1f\9c x\81½\ 2#\122
\e^\ fM-J@¿Å©!\1c  \9468<#i@(!çÎÿ\80\9a&\9céÑY±\82à\84¡×\rOòÑ\ 1$Ç$\f\bÙ\81ä3e°Í-mì\1c\9c\\Ï\9dsuv²·µ¶0cÑM\b\ 1ub@b\81Q\ 2ÃÓ\96Ö¶õOÌ/ÉäR¡&@\82!@Ì©\v\10rHCc¦¹\8d\13Ù4ëÚÁ\80Rå²\8aȹJbLL\80h\81OapAò19\k[G\177Oo\1f\1f\1fo/÷sÎög-ÍYÈ\81\11ðÔi}C\13\16zZ@è;\8fÈ\ 3(\97\89g!@\9e=̹Nq\ 39qÀYl¢i^Ï\81¦Ù\r\ 6\94+Uò¥¹±^4fJÔEt§ñ\ 2£\86\ 1Ûk`dÂàXØØ;»y\9d÷\vä\ 5\ 5\ 5\ 6\ðñtu´µ"\ 5ÔE\ 6\13        \f\1dÎÅ'\988\80Ý£ø\0B\80ô·\92\97\85Ú\0Ù7 n\9aÞAèÌ<i@\9c U(\15p§ûÛëJóÒc\81\17ø4\80\9f\9e¾\911\83͵qpõð\r\b¾\18~\89Ï\ f\ f\ráùy»9!\ 1M\8d\r\89\r>æ_B    l@Ã\a\90\17y\rÁUçÈ´Pª\80\ 38I4\90¸Kþî\ e\94\ 6È!Ð÷C\f\8dÖä\râ\ 4\85T\88ît\ 5\10ÌeTáÐ\9e l%¶\97ŵvpõº\10\14Ê\17DÇÄÆ\½\12\19\1e\12àëîdkiÆ4¥\91\e|\\ 1áiÑd\8e\1e\ 1üx\b\90\17\1dCS \9fB\ 6\r¤³±¢03!\82\a\97Ù\8cÂ\09\ 4ú\88¡\ 1a\1a;pÎÁ\98³£ÝÍÕ°ÀÑ\17\89\ 4\9cÁÛË4³²sñò\v\ e\17Ä$$§ÜH¹\9e\18\17\1d\19ÊC\ 2Zp\18&x\83\8f- V\80\84£Ó\f\ 4\rú¡\ 62\vhúôÁí$\ 1å\ 1¢\ 5ú\baâÒqÎ\8dÏ£;\8dîL[])ì 4M'k@hC¨¸\90½Æt¶\85­³§_\b?*ázú­ÛÙÙY\19©I±\820\9e¯\9b£\r\97M×Í\ 6£\0Al\0\ 4\1d\16\ 3\ 1\×>8)\94)\97\95\92\85ñ¾\96\9aGwR¨\ f\10<%ñÌ(碮g\17Ã\9d\1e\99\11J1h\rw4B\ 2'   \10B[°L\81Môõ\91ýÌ­\1dÝÎ\a_\8aNLËÊÍ/º_T\90\97\93\91\12/\b\vô9go\r'P'\e\8c\ 3Ø\14\ 5ð\85Ы©w\1f#4\10ÊTj\95L85\88.sZL\98\9f\9b\1d\9a\8bº\0Ñ\80>N\90È\84L\ 4ª\83\93\v\0ªR\11\80BKMInjL\98¿\87\83\15\18ÐÈÀÀÀ\bìgiçê\1d\18\1e\95\98\9e\93_\ú¤¢¼ìÑý¼¬\eñ\82P\7f/\17;K\ eü\90 h\9dêWÛ>0%\94/¯¨\15â\99a h\8c¦0\17\87Na\80\90 O$\88\7fxLêÝ\92ç­ûMs\ 1\82®¡¼ óZd\10  \17|ed\88Ð\ fìçáwQ\90\90\96Sø¸²¦®¾þyuùÃüÛ7â"C.x8á\1f\1e\1f\ 2I\80fYØkü78%R¬¬­ª¤óp\0« Ù"y^è°@\80Pv\05       baëê\8b;\bn\9a(褢\19\94 Å\90 ¡~îðÐ\f\13\9a\11\r_?\17\1f\1e?öFvaiu}sk[[KSmUI~VJ\f?\b6\18\9cjbtì\16¢) \80¦a1©pÿ^\rM\8b\95«ëë+òÅ\89¾\96gÅÙÉ\ 2D\ 6\ 4ÚS©\1fN\10ÔAx\11ñû\b(Q \ 3"\ 4,Ë¿\19\1fÁóv\ 6_ÑM\8c\8dM!|\ 1v.^IÊÌ\7f\ÝØÖÙÛ××ÓÑÒð´ä^fRT¨¿§³\96\ 1\8f3\16æ?r/bQþ¾\1e\9e\91¨Ö77×TâéÁöÚ\92\83ó\10 ,J\ 3ä\84Ö \80\80©¹°À}cóKr¥R&\82\ e\a¤\90\9d\1c\85\10ÆÊ\8cI7\85ÞË=ëì\15x)6õNqÕ\8bö\9e¡7ãc£\83Ým\rU\ fsÓâ"\82\80\1cÆ~\ 4\1fc*|W\10?\ 3\18ÄßÌ/\7fÑ92'Uonoo¨¥s#\1d\re÷Òb!@ì©%èC\bè\e\16\18u8\95
+:\b L-\810^à+6\93Á`\9aAzø\86\NÌ,(«kí\19\99\9c\9d\9f\9f\99\18îi­+/ÌJ\ 6\ 3z8Ù\983\8f»À0\14\9e\8aÉ=ëâ\rý#³¨²©{lA¾º½··½¦X\1cënª(Ì\88ç\13\ 1B£R?"A\0\ 1ñ\ 2C\87\83\ 4\ 6Ò\97©\96UrdÀ¦ª\a·\93¯üpÁÍÁÚ\9cÍb±Í­Á¨¡Ñ)9\80:\9dÃS\8bKR\89xaj¸«ùÙ#0 \9fçí\82X\aµ½ÿ]?$\1f²\1fæ*üªÅÕÿf¾Ìß¡Üû8^çDȾ\8c±\8e±\8e1vÆÎ\10i\90\10Rd\v¡\149H\85\16r(mRD![Ö1\96\991\8c\19ÆVJëÑ9\9eêT'OuzzÎó'<\9fï}ÏH]çºÎ\8f|\7fò\83ûºçûº?ïÏûý.½ÒÐÑÏ\1d\13
+\ 5<öÝ[WJó3bC}éko \98\80¡)¡¤\ fI\15\9cîxùÕ\86Öîþ\81\81þnØ\800\80Éø\0\1a\10µ444µõ\91¢\98\86ÿc±Ù¬î6\89U\87nuµ5'\11a$¾ç·ñÛó\ f¿\b\8b¥r\8a(×[: b\99uüçk\8d]\83|áä¤\90?ØÝt­¼ðP|¸¿ë\8a\81¬±\80å$\ 2ö\ fÛ\97YpöR]K\17kp\b¢V3\1aÀtl\0)d=¢\96\16\ 1ª\e\96\14Óra#5w±\87¹Üav\17D\8a³ù\99ûÂq«FeEf\93\94ßWj?`ç\9f(âødä\14p«§3`ýå\14\9f¯méå\b&§¦'\ 5\9c¾\96\e\95EG\92v\81\81\98ô¯­\81|'`\1cLS'\v¢\16»§íVµd\0\9dif$=¢6QÏ\b)j'ìɳ\97ëÛû\86ùcc|\ e«ãvuùñ¬¤Èí^\8eÒ²·      o _Áý¸rVaü\9b\9f\83ã\93\14\1ddõaØË\1a:Ø#¢éÙ¹iÑ\b»ýfÕ©£)ÑL/\aÊ\9a\eÈ\86\82¤j¢¨Êá\fõwÝ©­:\836`\80»½¥±¡\9e®®\ 1\99b\aM/þ`á¹êÆÎ\81\91q\91h\1c\14Õ|½²(\ew\1a\18¿\1f\ e\98m\82#\83\1dô\97\ 4âß\10\Á·EE\ 3¬Ê\9aî\13\14\95\fí£¦¹{X \9e»??'\1e\eê¼uùl^Ú\9e\10\1f'KòÚ\e\884B\e\9aÛº!2ÇÊ®4´õ\ eryÜ¡¾\ e¬lî\8f\ efЭ-È\86ú\ 6$\13K{\8fÀ\88Ä,t¥\9eá±\89\ 4(ªµîBÉÑÔ\18,*"\ 3\87à!r²²²\9b¥GV\16\18~?\84ø\132²r\10Ô   °j\1d<\ 2ÂbÓ\91û¶÷\8fLÌÎ/,ÌÏ\b¹=MÕç\8e\85ú\81\81èÁ´¯©\81lX\89Ð&°ÙvìEY¡®¥g\90;2Â\1dèi¹yé,dÀp\88&Vfd\12\89lfå\88ÙÌÉÊ\e-}ÜqñÌ\8cXÈëoÇ#EÈ*~È@$ô\0\9d\9c¼¼\82Â\168
+
+
+òòr\0\11\18bS¸\9a \8e\ fö±\82\92\1a\85­\8bopt2XZuc÷ðøôü£'O\16îMòY-×+N\1cJX\1f\ 6²JÀ\96\8eÞAÑûs\8a+¯7w\rpù£|N\7fgcME\11*!¾.¶\96fÆÆ&\164'/&\14ª¢óµ­,\9epjv\16ÛHõR~V&\12ýb
+ÅéÉAñSTRVVAGYY \8a\8c\ 20\94Ŧp\15A      >\88.\8a(h\9a«\ 2#ö¥ç\9d®ºÙÖÏ\9f¼÷èéóçO\1eL\v\ 6Úë.\14\1fI\8a\fô°37\{\ 3Á»&\12°\9dû6\14\16àsw²¹£\821\14Vë/\97\16dÆG\ 4z9ÙPÌLÍ(ÖÎÞ̨äìbÄ\ fmt)¿S¹ _´ÿ$þñ#6|@\ fà))«¨©CúAGCC]MU\ 5\18*È#%¯"¸ñ«w¨h@P²\ 4ó\bÝ\93\92\r\v¹©\9b#\9c]x¶øâÅóGsÂáÎ\86\8f¦ì^\1f\ 6"\11°ª\96¾©µ\v²Ö\82ÒË\rí,Îè¸P02\80¬¡8'5f\87\9f\9b\ 3ÍÒ\82BµÅVz6>\7f\12~ým7«JrRv\ay;Rɺx~AN\v\14\14\95TÔ44    Ú:ººzz`A:Dm-Mu5\84\10\1fÂ\95E(Uï\16e5\82\1eR/#(*ñ \ 4ªú\ eöØÔ\83§\8b¿ýkéÅÓùI^OãÕÒ¼\ 3È@¨\98\81l^[~\e%e\93Luò   \8eIÍ=UU×ÚÇ\19\15\8a\84cÜþ\8e\86+eÇ\ e&ìÚîãbG£Riv\18¿#Ehÿ\81~gf¦Æy}­µPI\93£¶{:P°Jµ\19\86o\vÐÓ$\10\r\8dÈ \7fcc²\11É@_\97HÐTWUV\92\12\94\0üª^\1d\92\19RoxÜ\81Ü\92ó×ïôò&î=^\zõúÕÒ/\vÓ£¬;5åÇ2ãvúÑaÝ"\ 3\91YS\ 3Á\ 5¬N$Y 
+\82Ø\¿Ó34*\9a\9c\14\8d\ e÷¶Ô\82·¦í   õ÷t¶³¦ÙØ£©\0ÿ¨\80[qÆÅÓ(ÑöÞ\81\85~8\11\12­\9d\85¡¶:êo\9b6áø\94U5\b:ú$²©9ÅÒÊ\8aF³¢ZZ\98\9b\92I\ 6\80P\ 3\86\10\11D{\10\ f×\889\8c\1f¨×\84jï¾uGLÊ\91ãç®Þî\1c\1a\9f]øeéõ\9b·o^¾x<7>ÐV[y"\v\19\88\8d©>a­\r\ 4        XZAÜü%Ù\ eÚ\92H<%\16\8e\ftÞ¾z®\10µ[_7';[;GW\ 632i%¿\88Ţѡ®Ækç
+\ fÆ\87Á}Ì\f\bj\8aò\b   Â§¨¬¦EÔ#\99\98[Òlí\1d\9détº³\93£½­5ÕÂÔ\98¤¯CÐÄ      JD\8c-L轪È{mè>ÌÈ\84\83ùg.Öµ±øâ\aÏ\96^¿{ÿþÝïKÏæEÃwë«`Þ¿\1a\88ìZó\93V\10\94`Òó$q\7fjfzr\9c\vá®êTî\81ذ@oW'\a\a'7à\97x¨°\1cc,\9c\98\18ç±ïÞºR\9a\9f\1e\eêK\97Æ\17\bÊ\b\9f\8aº\96\8e\81±9ÕÆ\81îæéÍðõóóex{º»8Ù[SÍM\8c\80 \86\9a²"r\12éÂÄ¢\9f\81  \8a~;÷¦\1d-ª@æ!º÷ä××ï\96?|X~÷rñ¡\98Û}ûòéÜÔÝAëÄ@@À\92\ 4ãàÅ\8cNÉ)¹\0ß\1c\ f'\13chºÊ\8f\1fN\8a\ eÙêåêìDw÷eîJ@)ûÖ]6O \14\8eqXmxü\v\1c·_\19\¼ê\ 4]\92       ÅÚÁÅ\93á\1f\18\14²#4tGHÐö\0?\1f\ f\17'[\1aÅ\14#¨ª\8c\8f DòØö3·¡#ó8t\fÌ£\9d=:½°øòíòÇO\9f>¼ÿý×Ç3ü¾¦jø`{C\18è\85kn \eVU\10÷m¨\àËmjî\1eê\9bX:þ)}_\ 4Ó×ÓÕÅÕ\ 3øÅgæ£\8b\81É\bÆF\86zZn\9c/ÎÙ\8f\15R#"\\aã'·\ 5\85`\92)ÕÎÙÃw[pØ®è={ccc÷ì\8e\8aØ\19\1cèçíîlG£\98\90ô\89Zê*\8a
+\98\8f §PtÖ\93d\97Ô\9c¢\8a\9a¦\1e\8eèþÓ¥7Ë\1f?ÿçó§\7f¿]z:'`·Ô\94\17®\e\ 3ù&Áø¡\ 4Svµ±kH05wÿþÜ\94`¸§¹æç\13GöÇ\84ncxº»{ù1ñP[×Ú3È\eåsÙ]M5\15'\ f¯äY°\ fT×0\e54¥Ú»x\a\ 4\87ï\8e\9f\96\9e\91\91~ 59!.fWhP\0\ 3\11´06Ô\85\11\84-\88\1e\82¬\8dË×
+\8bÎ\19yg.BtFã÷ê\8f\ f\9f¿ü÷Ëç\8f\7f¼|>/\1al¯­<\99\95\10\11àfc¶\1e\fDRAV\12Ìé\8bõ\1d\ 3£â¹ù\aó³\93|vGý¥3ù\99ñ\91!\ 1\f/Oï­Ì\b,VÜhîbsx¼aVÇíêòÂCømpû\90EêUÑ Â\1e³wõ        \f\8d\8aKNÏÊþ)¿   /7;+#516:,\18\11´¥\9a\19é\13\90\86\9e\aîK44³\ 6÷\0ù\16Â\96\0ó\9d{òÛ\9bå?¿üõ¿¿¾ü¹üzñá$§³¾ªd\1d\19Èê\ 4\13\18\99\84·³\91\89Ùù\87\ fïÏ\b¹(\9f\14e§î\rgú3|\18þA\11±iG\8b+k\1aï²\868\9cÁÞ6\14\11\85mu¡¡>\8aømF:$è\91)¶.>ÛÃb\12\ f\1cÎ;^|º´¬¬¬ôLÉ\89\82Üÿ3_æñPï{\18ÿã¾î½I\96\9c\1cÒ©$·\85\16)\a-\8aR(²f\8bc  ÙBd_³ï{\fÂXÆ2\f3v²Ç8¶\99aÆÞB)Ê®\9c\96ûÇý|\7f\83N¯×ý\9fßÿ3¯\99ç÷y\9eçý<¸on¤«qó\9a\9c\8cäÉ£"û÷ò£\1aÙ\ 1ÏNØ\1e\82\10\7fÒò7ï\989xÁô(©ií\1e\1c\9fzÿqaiyyñã»×#´çµ%Ûª@Ø\ 6ÞÅ\8b\b\9aº\91­Gh\12¾¤¦\85ÚÓOëû³ý\19¥0#.ÐÍÖD÷¶Ò5\ 5\ 5Å\9b\9a\86\16NÞa\89O  ¥\94ÊJ21/-6ÐÕÚPMáwq,\8d\90ÐùA\rÀÚ»¡®ofëì\19\10\1a\19\e\9f\98\94\98\10\17\1d\11\1càíêhsÏè\8eº²ÂE©ÓÇEÁÃ(\ 4988vrñ`õ!-\7fK×ÜÑ\a\ 5qm[/sâÍÌÜÒÊÊÊÒüÌÔ\18\83Ú@ÂC\81\v\17È&Á\b\89\88K]¹¥o\ 5\ 4\83|ÓÑC£Óz©-µ¤\1cXq\ f­\8c´U\95®+Þ¸\ 5ú9z\85ħç\11Ë+(eÅ9¸\98Ç\8fî\e¨ÊK\89\8b\b±õÃÎ\ f øìEÅÛzfv\8f|C¢\13S3²ðx|vfzjblx\90¯\9b\93\8d¹¡¶ª¢\9cô\19±ÿ\1cÄ\ 4äܹ\93\93\8bwS¿{\98~¤ºö^Ö\8b7³óK+««Ë\v³o&\ 6ÿÄ
+\ 4\16\bze"ðÊ@¿­-\10\9dÜ|\82ÂÇ\80`tÌ\1d}£p\80\rÏ»i\f\ 6­§£±¢èi|°\87½¹\81¦ª\8a\92\8a\9aÖ]\v\aÏิ\9câ22\99T\84O\8d\ ep±2P½"ÅÆ\17\8e\1dì\18;xä´\8c­;¦¶®þáñ¸¬ü¢\12R\19©\94X\94\8fÏH\89\8f\föus¸o¢§®tEVR\1c\ 4\84\1aæÚŹ\vô\83ü;%}妮¹\83wx2\1eÝ\1fk\ 2é·úiue\11\ 2\90ÕÓ\f\ 5\12îeg\f\vä$\8a\fT [©ß\ 6Á\80\81OË*j\18Ûy\86\90`tö3\ 6\18ý]­ue¹©\91þ.Ö&z\9aj·TÕu\90~A±8|aiy9©ðÿè\aå\v\14"vö\92\92\96±µ\8b_Db\ 6ÜjUm}CC}m5\85T\9c\97\85K\88\fòv±37ÔT\91?/).z\102\10\ 4Ü\ 5\83\80è     )è\ fS{O tbuk\ fäß\fÒïÓ
+\ 4à«á¾¶ªÂ´(\1f\aSX\8c§¡²\80Ø·¶\80×       \86\87\7fßal\82\80\81ã3\8b«\9a©}\8cÁAzogSeqfB¨\97£¥±®\96ºº¦®±%è\17\93\9a]\0ú\95nê'/%\86ü\8br\f\81#§d®b\10\87¢²¬º¡¥½\83Jí|ÞÖÔPM.!d¥Æ\85û»;XÞÕRQ\90\95\14\13\88Ö\1c\17è'\80\19ÿ\86¦±\8d\e,¡BÔ¿c\93ï!ÿ@¿¥¹÷P í5Å\191~Næ:Jë\ 5̱Õú­\13Ì^ÌÀwÌ\9d|£Ò\b\94g\1d½\8c\0­»½¾<\1f\17ýØÍþ\9e\91\9e\8eö\1d\ 3\13+GÐ/%» ¤\8c­\1fä\1f\9aoX\18\81~Т{\84\ eÁ\9a\82\r\11\14\97A(¯mîèî\838\80@íîlk¬¥\10ó\9e&G\ 5y:AªªÈËH\1c\17ùM\0¦\b\177\ f\1fêm    Ù«j0ßü¢R\11ÿÑ\86_M\7fX\\ 1\ 3C\81L\8eÒ;êÖ\vXy³\80·Z¿\1f\13ä\87\81ëÚºi\83,æ@\1fµ¹\8a\b\90ìëbknl §odfýÐ+\18Ý\1fèG*\82þ\80þ½{\eøåð>~`ah\ 1h\ fÑ\13pÊú\98\ 6¹¤Ú\96®¾\81¡\91±±Ñ\91!&½·«½±¦\1c\8236Ä\e\ 4ÔR¾üû©£Â(\ 2¹¹yv\ 3v\ 3\0Â~3}à\19\8a\0¦­\87\89\ 2py\15
+d~vj\9cA­/ÍN\b|\ 4\93Qîìqá½[\ f0\7f\89u\ 3Ça\ 6î\1f\98ô\9eç\rdBz\°×C\9b{&ÆÆ¦\16v.>!±H?È¿âÜ´¸ wÛõ0ÿ\15H\8e\13\81#\12ç\155\8dmÝC\12²\88UÍ]4ÖØ\8b×\93S\93¯_M\8c\ e\rôuµ5ÀðK\8b\a\ 1-\r5®_:'.º\1f9\98\e\88\98ä\85ë\1awa\80Ħ\17Tl\1axu\ 5\15ðø@׳2|b°ë}\ 4\1f\0Ì6Ðï\87\81\95\1c}#qùdd`ÖÐÐ`\7fW\v@tJt \87\93­¥¹¹\85µ\83«_X<ê\ f\8c\98\97\91\10â k
+\vs\ 1T£Ü¼È¾gåT°$@_ÔÙÏ\1a\7fýöÝÌÌÌûwo'_\8e\r1z:\9aªIùðR<a\1aª^\95\958v\bA\f:@þ\9f\b0\97Tÿ¼\7føåô\87\85å\95\95\r\80)ÏI
+q³6dwÖvÐoÃÀ\80в\b¡ÝC\92\10:tÓ\99Cì\81^Ä0YI\11\ 1\1e\ fím¬m\1e8{>\8eHLÏ-*£T\90K        \99IaÞ\ ef:J\17%\8e\1e\14\84\10C\19ö\e\1c²\82\9aá}Wh""ràøäô,LØ\85ù¹\ f3ÓS/G\99ý\b\81½\81̵\95/K\9d\10Ý\8f\12\90ûç\ 6    \82"«na\e\18\bziáÃÛ\17L\f\0CÜm s¥Ä¡ó·\1c ÿf`\f¡õ,\9c\ 3bQõ\81\81\87\86\87\99ôrBFB¸¿§\8b\93\83£³»optòÓ|àçª\8a²Âl k§{º*r\92Ç\84\85À\83<\88AP\90jþaï\19ö$·ü\19\95>
+\r\80\ 4\80\13Z\9cÿ83=91D\87«&å¦Dù9[\19Þ¾&\vâïݳ\9b\9b\8b\v\12PHø(°£ª¾\ 5¤'\8e@i¤b\ 6^\^fë×ÝDÎc\ 34ê¬í¢\1f20\9fàÁcg.ÜÐ2yà\ 5Î)«oïa°FFÀÁÔæêR\88«°ÇÞî®n\1e>\81\80/\94ê\9a*rq.\ e\ 1\8c>ZS"û~åÛÍËÇ/´Qä~Ñé\85U­=Ø\82X^ý¼¶¶öù\13º¢÷S/\86é]ÍÕĬÄPO{SmåKg±\ f\ 3Âpñð     ì?,~NNYÛô\81\17*²ú\ eÚÈ«w\1f\17\96\96\97æg·©~\9b\b-zR\1a3\1eÛ9]4æ0t&\ 3\1c\IÌÁÅG\ 4ùûúú\a\86Å$gä\15\ 3\12×ÕT\94B\8a\ 5¹A\ 1+H#\ fîáãC\r ~\8e½\ 4ã³Jêàï¿\86üÿ´öåëׯ_þZ\ 3\ e\9e\9byób\88ÖÙH!¤E\a8[ê«*H\9fD\ 6\86ôäâÞÍ/t\b^£¢\86\11\18\18ꧦ­oè%ºß¥EÐo\82¹1à0ÿn\eýþñÏ\7fsò°\83\1f.g£Aú\ 6\87GGGXôîö\ 6J1\1e\97\18\1d\16\12\1c\1a\11\93\94\86/ UÔ6<«¯./Ì\84\e²ûCCQöÔ\11Ø\11¿üÂ\ f\13ì¤ôÕÛF¶\1e¡É¹å\8d]\ 3ãof\17V×¾|ûþýû·o_ÿú¼º4735Áêm¯-ÍN\fñ\80öV</q\ 4Ò\13m\10.\1e4þNÉ(¨\19X¹<\8eÍ(Â\ eøíìü"Ò\8fÝ\1f¹ìþ\90ß&ýÁ6ð¿8¸ø0\ 4\84\ 6±q\ fI\ 4öjí¦³FÇÆ\86\99\91\8b\93ãc¢câ\93Ó²      %\94\9a\86¦æÆº
+"þI\84\8f\83\99¶Ò\85\84÷ ðó\v ü:\7f\1dRÀ'\12WPÙÒÃz9ýqé\13È÷_x@Â/k à»É1FW\13\85\90\1aéã\bí\ 3(,¼w\ f/\17à\ f¬\97ý\80\8f(\87\1fúC\0T6w£\ 2\99[\\\0Ù\7fæ\17±CÛ\81\r¼\83\93\17m8©Ë7±_\9eV@iììg\8e\8c\8d\8f\r\ föQ[êÈÅy\99i)ORp\19Ù\ 4"¹º¡¹µ­å\7fÌ\97gTÓi\1aÅÙ3gwgWgGEé  -\804!\80\88(\b*##be\94EGÁ\ 6#*³\8c\8e\ 5\1cW]\14l3\8a"e\14\95¦R\ 4\89 -ô\9a\10 \81@
+!\81\90\84Ð\91¢îóþÿ    \82»{ö£y?Á\a\ eps\9f{\7f· ÷yÒ½¨ð\13\ 1\90aÚꪪjZú\ 4\14\7f\aN\84GÇ¥¾"7ÀùJ\86Æ&¦¦ß¡7\8d    (\85&h©/ÍM\8d»\1e\11
+(ì\ 2Rh,\91é\87ú\eþ\8a\9d\a @ï?Í.ª¡uðzÅýÒ~Q\ f¨^1ÃÏ.\88\9f\95???+á\r\8c\10Pm©±\95\93\87\8f\7fЩË8ÂP[Û;\98íÀ¼ `ö³§\8f\12\13\12~\7fô4\1dÉG./'\17\912\93\1fÜø\ 5Ü\0×dn £¡¦¦¡c`fë\82Åß­Äg¯+¨í]Béðøäô»÷è\81\82\93oG\a%=0Å*^?O¼}1\f\9b\7f0_pü\96é·\ 6ô;\81ôÃý\aúõKD\ 2\ e£±</íÓý¦\0úá\r²\0_^\9b|\ 3OFDÇ&g\ 3´´utv`\ 2\96äçd¤§$'§¤½È~UP\VY]]I.\80qwûò©£~Þn\ e\16FºZ\1a\1aZºFPB\9b÷\1cù       \8b¿jZGw\1f:_\99~ àÔ\ 4\18\10¦\ 4­
+¢ì7ôÃ0ÿdó\ 5
+\ 4Ýïrù\1f\ 1ù\87\ 1 ÒO,ä³é`Ú\94بó!(1¬\8ctT\17ÎÿË\9f¾P\ 4ýP\83à\ed\15 L0Æ\ e$rm\13\83ÙÉêh§Ãê"¿!ådeddfç¾.,-¯®­««©\0\f~t7òÌ\ f{·z8Y\13ôu´´tôM¬\1cÝ·ø\aÿ\1c\19ó$\eÅ\9f@<8úv
+äû\0\ f\ 4\ 4\ 3\8e\f\88ø\9d-5EY\8fïþëç 4ÿ,\f°ùòÕW\v\94a\81X:ºm\9eáïºVè\ f±D\82j»¥¶8ûÉ=ô\v\1daò¨,\98ÿå\1f?¿~ò\ 6\ 1\84\81òtõ»\ f\18ºª±µ½\93ÍêdÒi\8d5å%\85ù$\12)¿°¤¬ª¶\81B¡4T\93ó3\ 1\1fß¿\ 3 ÎÌ@WGG×À\14>\81\ 2£bSrKëé²ø{\87É\87\ 4\9c\9e\82\ 3\16\vX­uÅ/\91\16ÁX{\ejãóeá\12M=\ 2ú\fý\83NC\88 þ£³ùH?àF¨\8fÙ\9e]¦¹äëy\8a¡\1f\1c0Ú \bal\9c7 xE\fM"×ÑÚ:Ù\1c\ e«\83ÑB­¯® \97\96\94\92Ë«jë)´ææfj}EaNJÜ\8d\v¡\81@ÐÄåÆúººzFæ¶«=!¼"®Ç¥å\95QÚ¸½ýxü}\90        \88\ e\18ôc·Ö\95¼|úÑK:jÊ0_\16*#þ!¢ø;~îÚ½ÇYoª¨m\1cA\9fX\82Î\17âïõ³\ 4¨\8f\83P¿v¦\80\7f_\ 3þ}ñ\a\ f6\b\18PUÛ\10\87¯\1f\11|½,ª¢Ð\99l.\97Ëî\ 4\8e¡4ÔÖTW×Ô5PaÙµ1è@\86¥yé\89·ÿ      8ö­«\83%Á@_o\99\89\ 5q\8d¬>\9eçWR\99¼>é\bè÷~®~\12\ 1\9bþ\89\8b\17-\¨¬\ 2öÃðùp\18Fñ%\10\7f]=}b±\b\9do\1d\8a¿hÜïÀ<j2|ùìúÉ\11\ 6ghÌ\80\11WV×ÜÎâòx<LÁ\16\1a\95Jm¢µÐÛ\98P+L\ 6­¾<?ãÑ\9d\83\10\ 4[\9b\19\19,3$X\81þ»\ f\87]úõ!^\1f\88þ¦>Õ\ fó߬ûµÄè{\91ò\12õ¥¸ýö\87\9c\8d¼ûèE>\9c/«»W$\16÷\ 136U\17b\91\19ìïã±ÒRV\1f\9f¿~\95ä\ròWÄÐ`@7\18q?^¸\11\87\fH¥wrx|>\9f×Åéd¶3àµC¥p¸\\ e\8bÙJ©*\84<¿zöؾm\e\9cm\97\9b\18\1a\1a\9b\ 4\ 4?zúÊݤ¬¢\1a gY}|\98¥\1f\96\7f-µEÙ\8fcP\7fxC\7f\18-ÕPY¼XE]{\19ä§\87Ïßa½Ý\8c\83ö­ijç
+\84"°_7\8b\8eÎ7ñ\16nw\88?­%\v\14\94f\ePßt\8e\ 1ë\9b\99l\1e¿§§GÐÍãrØ,\16\9bÃíâuóùÝ]¬6ZmInÊ\83èð\13\avzº\10-M\8d\8d     ËWÀ¿ï\1f|&òÞ\93\97Åu­l¨ßYõ\81é\aý\81õoaVÒ\9d+X\17 ý4UUTÕµôL,\1dܼ|\ 3N\9c»\1a\93\94\91_ÞÐÚÉ\83ó\15A{t4×\16ç$ÇFa¿\rx\1d[o\7fV\1cýä\ 64\92\e\10KÀj*\83Õ%è\15Âë\11\80jÝÝ|A\ f|ÛÛÃçv´6\94\91Ò\13nB ûz¹:Z\9b\13\b¦\16vHýcg¯ÝOÎ)­\97­\8f\81õï\80¨\e\9f²¿]úéÈ\1e0\13\82Gu5uD\8fv.\e·ï\r>uévBZnI\r­\9dÃÇíÇfP*
+ð´@çke¬#§gEÐOfÀù0âä\ 6\84
+~\88\fØÒÁå÷öA\ 4\89D}}Ba\1fúR\ 2\81\84ýK\95ù/\1eb"x»;ÙZ\98\99\9a[\11]<·ï\ f9\1fõ å\15¹\11ÕïÐ\9cú}\8føOÚÇc6Á\8fâSÖ\vé§§­©©¥kh\ 6öݲ\a>¼èXX\90\95\14:kÆ~Ð\1e¯R¡í¡}½`±\18ÀùÎÿR\91ô\9bc@9\ 3\82\ 1ÛØ\90à\92~\98 ø\93\ eÀ\93J Ñ\994\94è1(Ñ·nXM´Znnaã\80m¯ðh\19¾\b\97éÉñ\11©°kfÊ\1eôÝ´\96ha¬¿T\eà\91\b×{àøÙÈ;\88ßëà³\13ÌØ¯òMæã\98È3ÇömßàlCÐSWþÛ<E9_%ÄÐÿa@l\84 \ 3\ 2AH¤\ 3\83è\rÁ\e\1e\1e\1e\1a\94J\84\88(JP$\9d\vù~\87ç\1a\a\eK\vË\15\8e®\9bv\ 5\9c\8c¸\1e\9fF*§´w  ¥\98~\1ffë7Ü/ìj£\94\93Òã\11;îBú\99,ÓÓÕ3 XÚ¯ñܾ\ f®÷V|jNquS\e\9b\ få+ê\13àöKK¸yñ\1f\87÷ À4\84öEç«\0ô\87¿¹\15\8c\1804":\16\8d\100 _(\19\18\1c\1e\1e\19\19\19\857666:2$\15       Ø\8c\86²¼´ø\e\11'\ 3}½Ü\9c쬭¬í\9cÀ@\81'/ÜHH'\95Såúͪ\8fé\89±áþ^.£±\f®ñzÄÉ\80]߬µ·$`ì\ 3á¹ÞÇï0\ïý'Y\ 5\15\8døõζßÕ³!ûwx®¶5Õ×Dí«0ç«$7à¼\ 5²\11²uo0ZPÏHd0 ¯W,\1d\1a\ 1áÆÇÇߢ7>6<(éåÂ\15æ?ÿ\1d\11ô\9e-\1e«íWج ®Z÷­o`(¦_\ 5\95\89ô{;G?À¿!I\ f\87Ñ@~\95\8aª;\0üç`mnblbja»Ê}ówн\80~èz\9bázA>1²_3f¿[\17Ã\8eøy¯s´2^ª¶HqÚ\17{s\f\8a\\14\1euÿiV!>¡ú\87FÆ@»\89\89\89ÉÉÉ\89\89ñÑ¡~!\ fZ´0\13(ätðÞm\e×®$ÚÚÚ;\83\ 4\aÿ¿~ôúR\1c}\ 2À¹+m-ÍÍÌ­À»\9bv~ÿÃé˨{\11ú¡î\95Häå;c?\17;3\ 4\7fó\15é|\95f\f\88\8d\10\9bUë}ü\83\80"\12ÓóJë\90\ 1%\83 \1fh7\85½É\89ñ\91\ 1\11\9fÕ\8a\ 2ðþµs!\avz­sv \12\1dW{Ìè÷ñ~ßý\ fýà~\ 3¿Ûìîl¿ÂÚÚ\86èäúÍvÿ£a¿\\7f ë^Ô[\124=\98Í@\9a©ñ7/\86\1döóv\axYª.\87?\ 5ÒoÆ\80Ú0¢ÖB\r\1c?\7fíÞãÌ\82J
+\83-\10I\87GA¿©iìMM\ 2\ 5£3lÄ\ 2ðBè¡ÝÞë×89:¬tYï½\eé\17\9f\96÷_ûcF?2N#\87ü|6®ur Ú;:»ynõ;\14\1a~-&        ç&T[ý\12|zTäg$Ý\8düh?\15Ü~\8as¾J³\r¨kbíä±Å\ f­¨øÔÜ\92Úæ\8e.d@L¿wèMO¡\1a\10v1©\88\0\7f½|*hï¶\7f3_æáTç{\1c\9f¹Ê¾\14*JË´Þ¹w\9aºÝnÍ4eJI\89\91\92\16*\99$©,IÉT\964$\92(k\8a\1c\94ý\10²&û\9aõX²ïÇq\16\9cCÈs?ßïï\1cçÐÿñýËã9x\9e\97÷çó~}\ eíSþmÇÎ=\98\9fý£À×É9Øÿfø\v\7fÿ%G\ 6y:ݼl «¹\7f\8fòÎ]»U\ f\1dÕ¿`yÛÅûed\122g´üètÂ\93\8a²\12#\ 2=\1c­/ê\13Û\ fÅOtnÅ\8f\17@1©\85\8b\97¯ýé\7fàq\7f\9aß\86U\1e\93\9a[Nié\82\0rF1¿ÉÉ/Xãà\8chª.Ê$\93|]ïX\9c?©¥¦¢¼KYå\80\9eñ5;÷\80\88·\1fÊêZ{gÜ\1f\ 4¿Þ¶z8f£_z;Û\9a\eé\1dÑPSݧz@SGßÈÜ\16Ô%\ 2J\1f"ßÙ\aøè´>\88_Yî»\98\90§.\7f]5<vPy+\7fûÍ-~ü\0*®Ú°yǾÃúSW\e\ 3
\f\9b\84\aü`\80iÝ-Ü9t´69££¡ª²{Ï>õ#z¨yüÑýFiÁ÷Ûø\f~ô^ðçü´ØW>\ fí®_:wò¨\96¦Æ\1fÚÇÏ\0³qòð'ťỷ·\9fÎÀ\9aÞPY\98\99\10\1eðÈÁÊXOkï¯\9bÖ¯TÀÛo\ eÉ\vñø\ 1TZóï­Ê\a\8fa\89Æ\ eSÛÜIÅ\ 1$øa\ eC\98C\1e\9cmÍþ<©­¾\7fïÞý0\85Æ\96w\1fú\85%d\95Ô6wÓXì\19üF\86\18¸¹\81Iàãû¶\16\17Ïé\1d×Õ=¡w\8d£»ï«\18¤.\8dí=ý\ 3\f\ 6\8e_mYNJ4ü\rÔò\a\17»ß\\8c\1f\ 68o¾¨\84´\9cÂÊõ\9bÐ\15\87\1d\86\ 4m\b\ eÓCC\e\90\1f@\18`*\1eà\840\7fw{+\93³ºZêjj\a5uN\ 3?W_\129³¸¦©«\9fÉ\1e\1d\9f\98\9c\14¼ßPsÃ=\91\1c\15üì¡ÃMs\93óç\f\f\f/\98^³½çî\13\1c\ 5˯²¾µ\v\9d<\fz\7f\ f\8e\1f9\1cþ\ 4tµ¦Ê/?¯_1å~s\f\1f\ eà<a1Þ\15§vô¬éM'Ï 7I¨B:úè\83l^\0¹\ 3ÜÓB\81pD½xò·­\99\91¾\8e\96Æ!\8dúg.ZÞqõ    \8dÏ(¬úÔIe\ e#\ 1\14à\87\a¿\15\19]|xà\93\aö6×®\9a^2½bqã\8e\13à\8b\84å×ÜÙ\aø\98p$\12ñ\8bzéõ÷­Ëg\8fªíÜòã\ fKçjü¸\ 1\14\11\97\96UX±nãvp\98ó\16w\\9f½\8aåV\bs\88\17@~\ 3W\16\93üÜì­M\rO\1dÓÖ:|ô\84\81É5à÷*.½ ²±\83Ê\18\16(`\82\1fZ\80\8dUÅÙÉÑ¡þ\9e\ f\1cïØÜ°¾asÛÁÅÃ7øMBF^9Z~4\ 6\93Åd\10ñË \87ù¹Ù]\ 3ÕÞ³}ãºåKd¥æfü\ 4\ 2\b\12\r\ e£zXßÄÚÑ# \1cWH\e®\90±ñ/\18à8w\10kKÁD^x9ß¶4\81E¦s츾¡©Õ]×g!±iùH §    Ìä$æÎ\80\9f£\94çg$F¾
+ðrwvrpptrq÷ò\ f\89LLÏ-Cæ×Og±XL:\15>GÄï¾Íå³Göÿö\1f\88\9f¼\fº|ç$¿)\89&\1cæwu\!^/£\92?\94Ö4    V\b\11$0\91\86\8a\82ôø0\7f\ f§[\16\17\rO\9f\7fÖè\8a5H0xOÞG,\80\ 2\ 5ÌåÎ\1a\80\0V\97ä¦%D\86>÷ñòpw\7fôØÛï\ 5)\1að\95V7\82ùÑY\83\83,\ 6\rå\14\1f\8a\9f¥Ñ  \8d=Û6®]¾d¡\94Ø\1c\8d\1f/\80à0r\8a+7lú\95[!¾$|\85´vÓ\98¼
+A\ 3\fMJíD\ 1L\89\ e\81&°1¿\ 4Mpî¼\89¹\8d\83\e\1c\11\ 4¿i\ 2Cp\87\0R»Zê+\8b\12cÂC\82\ 2üüü\ 3_\86¾\89KÊÌ+­\86³\97Jg\ e\ e\r²èý]-\14,\8aÈÐÏ øýs\95"\8a\1f¸ËÜäÇs\98\19\15\ 2WHVQU#H ª\90\ 6!n8Ü\8f\89¯\83¼]ím,/\9b\18\e_ºjõ\97Ó#¿ÐXÌ\8f'\80ü\ 5\bÜQ\0;\9aë*\8as2\92ÉѯÃI¤°\88ÈØÄÔ÷ùe\b\0à\e\1ed\ e\80çT\17e%@ùâøíÞöÓZ¥Å\10¿Ù\9cÞïg¾¯ø!\87\99ª\10â
+y\1a\ 2'iYms\17\9aàÏc\13S7\1c\ 3o¨ÜÔ¸0¨R\aÛë\16fWÍ­lì\<\ 3 ²À¯µ\avæ¨\0?n\0\99´\9eö¦ºÊ\92ü÷é)\89äøxrbRjfNQyM#\81oxxx\90AÔ4òKT¾ÜøÉ¡øÍ\12>.±\7fðß×\f§WÈ\ eU|\85¸û\87\913
+* N<   Düp\0Ñ&+ÎN\89!\ 5<q½wç\16T©íÝûnO\83"Èéù8\7f¬i\ 2H\ 4\90=\bÕÚÞT_]^\94÷!+#==#3;·°´\92ò©\rá\e\1a\87YtÐË\9aâ÷\89\11\ 1\8fÀýNÂöÃñ\9b-wá£\13\12xS\10§\ 1$*\84¸Bt\f®ÜºÿäEdR6_\ 2¹\0!\80ÌþîÖú\8a¬¤èÐ@owgG»»v\ e÷\1f\85D¾Í,¬h\98É\8f\b Lð ¨qGKcmUyIQA~~AaIYeMCs{7\15ð±Ù\1cö\10\13\97\13\9eºØ^1\0÷\9bÍøñè                Í\9b7o>ïÁ×\ 4C\ 1\82\82\15\ 2W\88\8aæI#äÃS\12\88&\98\1fÀA:(.¸HfR4é¹\8f§Û\ 3\aî\9e>/ÂcS²\8by\es\ 6?ø9\ eÄ«¿·«­¹\81RSUYQQQUMihjíDâ2Äæp\80\1f\83\90£¤7Ï=\1c¯\e\9fúCe;\94ïlm?\82\1e\827_XXDDD\14?\11\11aa\ 4q:AÁ
+ùqËÎýÚ§/!      \8c $pÚ\ 4\13UÐþ©¦\f\0Æ\84\a\a<óòô|òÔ/\88\14\95\0*R\83óÊ\99Î\8f\a\10ö\eµ§³­¥©±¡¾¾¡ñSs[Gw\1f\8dÁ\1af\8f\8c\8cpÐ?¦\ 3ä%#>ÔÇõ¶\99á±\ 3»¶pÝïÛÇo\8a\1e\82'*&..A<qq1\80(\8c\b
+a\82<~Ü+d        Hà¶ßÕu\rA\ 2½\91\ 4\96Ô4 L0æ\0\13ÜÓÖ\b\0³Râ#IÁÏ\ 3\ 2\ 2\82\82Ã"ÉïÞ\17~¤p\vG\80ß\14À\11\98P:\10ìêlookkkïìêéë\ao\19æ\8c\8c\8e\8e@>i=­uå¹è8tºa¢¯µ÷\97\9f×a÷ûöñãÓCð$$¥¤ed\16À\93\91\96\96\92\94\10\17\13A!\9c\ e\90\98`yÅU\e6s%ð¡o(4jy\1d\10\12\fðó(ª\82n\ 4°à}êÛØÈ\bR()üu49\ 5«\[7ñá/|~h\82\11@(\11P\14ú@?µ¯\17^\1fµ\9f\86è±GF?\7fþ\8c\15\11µ\a\92\17·»\16ç\8f«+oý×êÙ\89\1f\81\ fÓ\ 3xÒ2\veåä\17¡'/'»p\81\8c\94\102($Ä\9báï¹\13\8c*dJ\ 2ï=\ e|\9d\98Å=ãð\ 4O|\99 º\14Î¬ÖÆ\9a\8fE9\99ïÞ\92ãbbãÈoS³r\8b+(pÇ\12\9f\15ä7\ 5p\14\11\84#\97>\0\8f\ e÷.Ðã\0½±1üK{Ûq{\84x;ߺ|F[uÇæõ+\14dáô@ñ\9b\15|¢b\12R\0O~±\82âÒeJJJË\96-UX²HNv\81´$Π?\82¼\0JËa        Ü\r\12\97\8bwpt
+>ã¦&x\ 2ç\b\99FwÛ'JeiANVú»\94\94wi\19ÙyÅ\1fk\e\10C\1f\9d\98Á\ f\ 1$\brØÃC\83ø\r\rczccãÄï¤u·P\88öp°\ 2y\ 1w^£´h\81$\¾ß6~<|"bâ\922\vå\16+,UZ±jõ\9a5k×®YýÃÊåË\14\97ÈË.\90\92\10\17å\ 1ü$p\9f\96\9e±\95½\9b\1f)\1e\9c¸®\85\18Ê1"\80D\97R»Áæj>\96\14æå|Èþ\90\93_XZQÛÐÒÙK\83OÎä\87\0â\b"\82\80\90Ã\86Çá\8c\8c\10ôзñøþ\9fø2\8djòLÃð±\ e"\8b¬!\ 4B6\bY\b\ 4\12\82\ 4\b\88\8a\8a ue©¢\82Û\11Ô\16)\8a£".ô\14AFkźÕJkÁV­¢uAÆ\15\14\ 4\87EE\10\11ÜZ±g\9e÷ý¾\84\9c±cèûÏ?9|\97÷ý<×ÓxýâÉïö¢í\91\14\1d\8b\81î°_¾\ 4¾QÚ:z\ 6F¦T\v+\16\87Ë\13ÚÙÛ;8Ø\8b\84|[\e6ÃÒ\9cbl¨¯;Z[\vOfµ\ 6«$0(*1\r\9fq\15è\8c\eÜ`RF\1e´Þk¬¿y­¶æò¥Ë5W®Þ¨khn}Ðù¤÷9^ÖêøÔ"ø\1aº
\ e½ß0¼þþ~B\8b@þnÿû\å¡2Ø\1e)äö ÜùïÁ§«o`L¡ÑYÖ<;\a§±.nîîîn®\12g±HÀå0,¨¦\10ÁÁ\0\95\12HcñÄî¾!q³Ò³Öm\7f«ÁJ\80 #\1d÷[\9a\eAçnÀ»U\ f2×úàQ÷Óg\10¿×oþÌ\8f\8cà\eD\v\ 5\8eÈ]\7f¿R+q}o]þåûòâ\8d«\17Áöð!·ÇpÇo\ 4  \ 2ºkBµ`\ 2=±Äm\9c·\8f¯ÜO.\1f/óòpq²\17pYts
+\ 28JKå\ 6j\12È\11:{¡3.cÍFe\83±E«\ 1\84yßó\18\15t®±¡¡ñnÓ½\96ö\87 #}düþÌ\8f \88\10"\86Ä{C<´\93 ¾­\8dXþvÀí\91\18©\18çÄg¡í\ 1òò7à\83ô\19\9aRé,®P,ñðö\r\b\9a\18\1a\1e\1e\1e\16\12¬ðó\19çê$âq\184\8a1\ 6¨\1c\81\83%\10\9fqiËÉ\ 6«Y4     \10\16fßÓ'\8f;;@çZ[ZZZÛî?|Ô\85N\89\97¿ý>4?\92 Á\10\9fè,\84í\võ­®<¸kKÎ\92yÓÂänö\¼=\86=~Äê\0|æt6Oäì.\95\a\86DÄÄM\8d\8f\8f\9f6%6*,ØßÇSâ °fX@\ 2a\89\f
+ )\81ø\8cÃ\r^\8f\e<Ø¢I\19y\81\bvw\11:GØ\1cÂ÷\8aÀ7\14¿\ 1\84êïM?\8c?¨oӭ˧+Ê\91üÍ\8c\9dà-\11rTÛcXñ}¤ÄgÅá;H<Ç+B£â¦'Í\9e\9b\9c\92<oÎÌÄ©1á\13äRWG¡\r$ÐH_\aF *\80J   ÄgÜ@\83\91E×5ãÃB\ 5\10G\10\bö\ 2B¤sÝÝ s}pJàô\r\1d¿w\0\ 5~/\9fáí{áço÷\10õ\r\18çÈc\12·ÇðÅ\8f<Ú´\90Ç\99\80ÏÅË/8".qvÊ\82E\99K\97-]\92\91\9e67iZtH\80ÌÍQhmen
+vÿv\0\89\ 6»ú\f4øä\ 5Üà\1ehðïÄÔR³9й§O\91Î=\7f\81\84\ 4\9dñ\e\92\1fÔ·oP}§\86ú\82üÑÍ\8c\86åö\18¡ö>"v\87\811\95Îæ;¸JýC¢ãg¥.\ºrõgks׿¬É^¾ø\939       ±a
+\0(àЩÆctQ\0ñ
+\1e¡
+/H \9b\ f\r\ e%wðÁãg.ßhD§\ 5±\1cT\ 4\11Â\97Øæ°Ïa\9d{?|À¯ÿ5®oó­\1a¼}\89ú\8e\15\12ò§éÛC\8d\1cz#1>h %\8bçàâ\1d\10\16\9b87}ivÎú\8d\ 5\85[\v·lÊÏ]½|QrR\¸ÂÛÕ\81Dz \18"Á"î8ÕÕ\82\ 2hec'\91*"¦'gª\1aܤÖ`ÒE\b\9d{õjÀçúû\89µð¿óCãïYOgÛÝ\e\17\97¬¯ÆåO\8d\1c \83\87>_\17òcÁ´µw\91\ 6\84MNJY¼2'¿`Ç\97%»ÊÊJ\8b\8b
+7¬ÍÊHM\8a\v\vð\92\88l\18æ&8\80\18 \81_\8bäÏæ\8bá\8c\8bMúdEna)ìà\81\ 6¿&\11)\11"\99û\9d\10:¬$ï\85\ fó\ 3{éh¹sõ\\15\96çäia\83ê«qz\88\e~ZZ£´\91ø\99Ò\186vc½üC''¥ff\7f¾yGÉ\9e\1c<tè@ùW¥E\ 5y«2S\93bCä\9e\8e|6\11\91\9fA¿ £7Æ\88BcrE\12iÀ¤is\17¯Ê/Ú}¸òl\8dú\ eV3\91þþA>÷Ç{âÃã¯÷ñ\83{õWÎü°\7fç¦5H\9ee\12U}5\17?²q#18­Qð´µG£\9b\17Úg-tò\94\87ÄÎHÍ\½¾°x÷þ#Ç\8eWVV\1e¯8òÍ\9eâÂu«2\92\13¢\82d. Xh\ 2Â
\aú\19ô#ø\17Ðábe-pòð\9d\18\93\ 4g\ÁÎòc?ÿzõö½û\9dd\0ÕõCíýñ\9eô\ 6Æ_{ÓÍK§\8eíý"\7fåü\19Q Ï\1aß¾*zø«µGÃÓÑÑÕÕ\1fcd\82v\a\94/8:1\ 5ðm+ùúpEÕ©3ÕçªÏ\9cªª8´wga^ÖÂÙSÃü=Añ-L!\80Ú£´\bv\0OO\7f\8c\81\91\89\19\8dÁá\8b]e\81\11ñ(\80;vc     lT\ 6P%(CèÜûÐ#ëû\f\1d\1f×~=qd÷¶Ï\97¥Ä\87û¹; yÖd}Uã^\vGFWOOO_\1f>ÝÐ\18\9d\1d<\aWoøôy\8bW­ßVºïÛ\1fOU_¬©­­­¹P}òø\91½Å\9bs\96§Í\88\9e s\11\15¬§3Z\eG\17±\83_015£Y2­A\7f¤þaq3ç¯ÈÝRR~ì$\ e`\97*\80ê\19úKè\94üTöòã\81Ò\82Ï2æL    ñq±ãXR4Y_Uø`\\91\9fmhdd\84?\9dβ\15I¼üçÌN_\99WXR~´ê\97\vµ×oÕ××ݼVsþÔñC»\8b6¬Z4gJ\98ÜClˤ\99\1a\8eÑÓEÿ\ 3ú\ 6\86è\a(fT\9a\ 5\9dÉ\81Ó\ fô1$fFê\92O7~ñÕ\91ª³WnÝm{ÔÝ\v\1d÷Ù_À§\1c\7fÍuÈ^ðñ\11\13$uæ³h&\1a¬¯Ê5\10\eúl
+ÅÌ\8cjN³d°mí\9c=åhu._[PüõѪ³\97®Ö545ßk¾{ûfíù\93\15ûK·ä.KM\88Tx9\vØ\96T\13Ã1DrM(fæ4\v\15\93ű±\15Ø;»IýB¢\13P\8a·\97\1døáô¥ë\r\ 1¡À\1f\8c\1f\1a\7f=\9dí`/'I{\89\bð\14Û2¨Fú\1a«ï\80ªÁ®\84ÆR¨è»-étøt¶5Oää>~BT\ 2¨Û?!7\95g.]¿ÝÔÒvÿ~{ksÃÍ+Õ'\8eì)ÊÏJ\9f\19\eìã"BW\9c    N.\85J³´b°Ø\1c\e®-\8f/\14\89\9d]=}\14¡1        ó\16\81Â\90\ 5î\1c¢Àÿ\a?åøk¸vþÄá\7fmÍUÙ\vÅPO[Cü\94ø\90«\18À¼#¾\9bÍáX[ÛpyB{gw\99bÒÔÙ\v³Öm+;xüôÅk·\9bÛ\1e<êì|ô°ýÞ\9dë\17OW\94\17oZ\931gj¨Ü]ÌcÑÍÍ(PZs\v+&¤\8e\139\88\1d\9d\9c%®î^>þ\13&ÅÍH^\9c\95·eç¾ï~R9ô\aåG\8e¿Z\18\7f%\9b\98\1d7qÀ^4Sß\11øPÕB¢f\b\9b\92Îd\ 36¾@ \14¢\8fw\94\ 2ÀüÒ\96å ï\80ÔÔ7·wtu÷ô<éêhkª\83?ôà.ÐÔ\94é\93`\ 3\v¬\99\964\1a\f<\ 6Û\ 6Ð\8b\9d%.nî\1e\9e㼤²ñrEpxLüÌ´Ììu\85\1d=Q\8d\ 6\a\1d\80êã¯bß\97\e²Ó?\8e\ eôrâ«ìE³ø\8cLÍ-\19\1c.ßÎ\1eE\ 6ÞØ±.nãdþÄÔÚP´çp\15|tS[Çã\9eÞ¾¾Þ\9e®\aÿ¹\83=a{Þ\8a´ÄÈ@©DdËaZA|9\\81ÈQâæé%óñ\95ûù\a(\ 2\83\82CÂ#'Ç\7f\9c\9c¾lMþ¶Òr\82\1fi0\1f\88ßÛã/-!ÂßC\f^ª±ñ\87Û\8bÏT8\13Ìé,®ÀÞq¬+Ê\f~R\99¯bbÔ´Y\v\90uìÿþÔEbè?{þâųÞîGm\8dø/-Z¿r~\12\18\8c«XÀµæàmáäâéíë\1f\18\1c\12\1a>)""22*&vJ|â¬ä\ 5K²s7\15\95í?öÓ¹\ fÏoÐø+ÛJ\1eo UÄøÓD}\89á\87®T¸²¬8¶vPX/(\9b\1fñüÿK|y\875}çqüîyîìݵW[«µµõìp]q\8b\ 3qbED\90aH\b\10d\83lÙ#@Ø\ 1Â\8c\ 4HàÂ\fP\b{C\ 4$\90\ 4\ 2a\13\86ìY\86 \8aA\9f»ç>¿\10KûôßÄ~þÿýþx}?ïñQ¾£®\8d5\81Ã\ 3Ö¯¨¶Y \1cC<\7fãµH´ñ\12^z´\9fßP\96M\15\aÈÝë\17\1d=\fiqì\14\84ÅM\155M\14\ 6«o\8034|ðÀÈØÄÌâ¡\9d\93»OP\ 499\93YQÏ\11léWªü~k\7fÎæÛÇ\9b\8cÚ\8b\12|G\8e\9d¹pùÆ-\10\9b:\8c\9aÚ]5uM\14ÖÈê\91w\b¸_9²~SbËÚ|³ù\1aî¤Ù±~~cy6\95äûÈ\f£¦téìÉcrrÇa÷®Þ¼£\81Ââ\8cÍ,\1fZÛØÚÚÚÙÙÛ;>rq÷&\ 4GÄ%¥å\16W7òº\84£Òæ÷ÞíO¼~`~\1fíül/à;~VáÚ-U\rm\14\1a£\8bÁ uP(\1d\8c¾\91\85½\e!\82\92\ eGW;D¦¸r¼yóF$æ7ÐÞX\9e#æ§«þãåógN\9f:-\7fñ\8a\92Ê=\1døÎÚÞÉÕÝÃÓ\v\19oo¼\8f_@pX$9\89Î((g±ù=\83ã\90¿Òã÷ÇØß\96z?\863\17ðÉ+ÞP¹\87\ 2£26116z\80300046·uö\ e\8e¦2\8aë8\9d\83\13óËHb¾}»ÅO¢_àg\8eÕP¾ªpþܹ\8b\8a×o©ic\8d\9c\84ÀàP"1,\8c\88LXDd4\99BKeä\97Ö4r;ú\86'f\17¡¿H\8dß¶ýq\91ö÷\9eìO¼~\9fìþòÀ¡cg\15\95Tµt\rM-­Ar6ÖV\16f¦¦f\966\8eî~adäfå!ò}¾\ e\8dWÂof´¯­¾\94\91\14\81ðÓ¼}ãò¥K\8aWoªh qæ¶.^\84\90ð¨Xr<\85\92@¡Pâa(\89ÔdzF\ e³¤ª¾¹­[ølj~     ¼tSzü$ö×ùûö'+û\83ð\85ìýx×ÞýßÿpFAIU[ÏÄÊÎÉÅÍÝÍÕù\91½­õCk[\aWï@\12%5¯¢±­\17NV\90ï\e1?È\ fÈ_Þ\93âÌ\840¼£\19VóÎÍëÐWnÝÕÒ5²rô \84F\92\13\93éi\19\990\19\19éi0é\99\8c\9c¼Â²ê'l\9e ox|faeMz÷ǯí¯"\97\16ù^Ú\1f¬ß\ edýö}sä$ÜiÚú¦6N\1ex?\82\17ïéêäèààèìá\e\12\95\98άjâ÷\8bí\ f\91ïÛÍ_\1dJñDo\a\96ª2\ 4ömµûz&ÖÎø ÒcjjVn~AQ1LQa\ 13\1f\86YP\ZQSßÄíè\11>\9b\9c[DìOJü~o\7fv`\7f
+'\ eî\97­ýAø"ëwð\98ü\15eM¬©­\8b·\7f\b1<<,4\88\80÷tsq\86Ðô'ÆP3\v«Ùíýc³Kk¯Äö·-\15¸?B<íM±Új*Ê·Uï¡à      \}Cc\12\99ÅåÕµ,\98ºÚ\9aêª\8ar\98\8aª\1aV\ 3\9bÛÞ=\80¬ßòê\96ýI\85ßoÚß{³?D¾;?ûò\9b\14\94Ô0Æ6.PТcÉ䨍\88Ð\0_o\ fww/ßÀð8ZVQ\r»c`\9bß»ø}ZùSJL »­        V[]Uõ®\86\18\9f_X\1c-3¿¤\8aÕÈnáÂpZØM\8dõO\10\94õ\rMͼö®¾¡Ñ©¹Å\95\17R\96ïVûcWmµ?ÙÛß\9f!}A¾{¾ú^Nþ\8a\8a6ÎÊ     \1f\1cIN Ò¨I\94¸Hb \1fÞË\v\ f\9d\8d\9cÌ(ªiÞæ\aõ\ f±?D*¥ÙÔ(\7fWkcì}\ruh\8bz&6.¾Dr
+£°\82ÕÄå\vºº»»»:\ 5ím<N3»©©\89ÝÌáñ;{\85#\133\vK«ëÈϤ$ßÿ¾ÝzÓ~I¥z\1fö\aü ;ïÚû¯C'.*©ë\9aÚ{\ 6EÆÓèéééôä\ 41@\1f\1f_ÿ\10Òã\14\ 6\\1fïøAý\13ÁS/L\ euqê\8a2\12Â}\9d­\8ctïkjh¡ô\8c\1f\84Æ\ 1îª\ 6\ e¿«O88<<4(ìïíî\ 4\84\\ e\87Ëkå\vºû\87F'g\7f\86ô\90ª|E\927}R\ 2\91æ%ûö÷'\89ý\81|\8f\9eVTÖÂ=t%\84?NNgääæd¥%'ÄF\84\ 4\10ü\b\81¡\91ñ)ÙÅ¿ð\83ú¼)z\ 5I7.ì\0©¤\92\1d-\fuQZÚ(ì\ 3KG¯ hjV!\1c\18\82¾Ágc\13\93\93\13ã£#C\ 3½Ý°\84­­­mü\8e®Þ\81á±éy$=$ò\95\92ý­?\17¿imA\1a9ØÍJ_ýÆ9\99Ú\9f\98\1fØß\9e}ßÉÉ_SE\9bØ{\85ÄRÓs\99\85\85\ 5y\8c4Z|tXp\80\7f@\101*þ?Ûü^¾\16m\8a\10ùÎ<ëkk(ÏM\8e\ eô°3ÃaP÷Q\18\9c\99\9d\9b?)!\83Y        ÷ÙÀÈøôìÜüüÜÌÔÄè°°\ f\0òÛÚÚÚ\ 5] ßñéù%\84\9f\14å+n/ð¦M\95y)ÑþÎf\18Õwö÷\81\ føýå¯`\7f\9f\7f}ðø\ 5¥{z\96Î~\11\94Ô\9c\82\92²²Ò¼,zb\1c\89\18\14\18\18\12\1eM¡ç\94Ô6\v\10~ÐÿD¢-ùBÑg\15g%\92\b®6&ú\18\14
+\rêuÂ\13Éô\9fÊë¹\9d\ 3 Ñ\85Ååå¥Å\85¹é\89Ñ¡\81\9eÎ\ e\84\1f²\7f[üÄö'½ã\ 3ìo\11iôp\11%Eø8\18ßWV<uX\96ö\87ðÛñ÷\7f~ºwÿá\93\97ni\19Úx\ 4Åв\98¥\95ÕÕ\95¥\85¹éÉñÑá¡Á!DRlbjnI]\8b@(æ·!\12½~µ\86\80]ÍL{LÄ;Y\19é¡uttqævî\ 1QIYÅuÍ\82~8/\16WV×ÖVW\96~\9e\9b\1a\1f\11öv\ 1?\10p{g\ f´\171?Ù\1coE\19ñ¡\9eÖ8\8d\9b\17\8e\1füzÏ'\1fÊÊþÄü >¾8päôe\15\94±\ 3\9e\18\ f ªêX¬ÚÊ\92|\ 6=\89\1c\15N$\86G\91©éye,N§p|\ eá÷úõÆú*òÔüÆ\8aÜ\94Ø O\a\vC,Z\a£gdõ\b\1fJ¦çU©22\89\btýåË\17k+KóÓÀ¯\a\89\10\1eäG\aäÇ\98TùIä+n/p¼Ñc\ 3],°j×ä\7føvßî\9dÿø@\86ü\90øØ÷í¿å¯ÝÕ5w"\90\922\99\15u\r\8d\8dõµ\15\19É\94Ø(\12)*.!%\8bYQÏí\1a\9c\98\ 3ÿ\ 3~¯^ OÝÃ{R Fú»Ù\9aâtÑh]\ 3S[W\ 2)1³¨\8eÓ98>\8bèsccãå\8bçË\v3ãÃ\ 3Ý\1dPbZ8ÜVè/\83Pÿ\96\9eKøIeý¶ÚËh?ÿ]{ÑQ¹|úè\81/vmÉW&ü\90øýpç\93;\7fã\9e\9e\95[`LrNq54Üæ§õ5eÌì4\1a%.66\8eBKË)ªnlí\19\9a\9c_\ 6~ÀdM||´Ô\16"íÅÅÚÄ\0\83Fc\1fX8x\ 6Ǥä\96Ãú=\9b^@â\ 1\91úúêòÂôØP_\17\9f×ÒÌ\86\ 2Øúîz\93\16¿ÿý"ß\91\1e\1e«8\93B\14·\17\85\13\87ö\7fþéG\7fÛ!³õ\83ø\85øØ\7fðøÅ\1f5q6\9e!äÔ¼rV\13\87Ëmyʪ*ÉËJ¥%R(\894zV~Y\1d»½odjaEÂoIÜ^àx\13Û\9f±>\ 6\8dÑ\87ôð!>NcV7\v\10¥#Mgsóÿ´\97iPÓw\1eÆÇ7ÛvÇÙZwÕN­Ýulu\9dV]m=¶\96vÜm±Ý\1eÛê®\15\9e8Ö£\1e¸\ 2*Ë!\87 \brÉ)\10Ä$\1c             I\b      9       \81\90\ 4B\ 2   \81$\9c!!@Â-âì÷÷û\87Ãn÷\15áÿ\8eL\98I>y\9eïó<\105CýÖÎv½FY+­\16\8bÄU\92\1aE\83Îhéñ(¿\19û¢A\99\9d\10æç{h~{Y¤öì\8e\8f·ÖoÙ½wÿñ\8b7ï¦ä\15s\84ÒZE\9d\*â±hÔü\9c¬\8c\8cÌ\9c|*\9d#D\89Úm\ 3Q\8d\8d\81¤ì`\15\18oÔ¬\84ðÀ\9f|\7f8|ð{\9f#\84}óéü\9aÆV \8dèà¦=ØßÛalnPÔT\8b\ 4\ 2\18pÒ:µ¶ÕÜm\ep\8dMLy\84\1f\91¾3öM¿\17tùä\81/¼¶ýÑÝ^\16¥ý-!Ö\anÏÛ¼þvàÔ\95ÿÜK{L¯¨\92׫TõµR\11\9c@j\ 1)/\8fT@¥±øÕ
+\8daæ¦\8d\ e\ fâö'*\83ø¸\13\80øùø\1c\ 6ûÞ\b\8dËxÂ\14ÖiÛºíPt&\11¿Q×\80­ÛlhRÉ%¢J\1e\8fW)ª\96+\9b\f³ü\16\1e\1fÏÝåy¾}\8f}÷Ù\9f·¬_³êµ¥\8b\96\10íyÙ\8aÕëÞݾçëC¾~¡ñ\99\94²J©B\r\93\15Ì&¬`\95\16S)\14jq)\9bW%W£FB\9c?\14\1f0\94P{ÆüÎ\9e8røðÑ\13PþpúVAÑîÅCoêéäø\88\13Î_{K£B&®¬àr¹<AUM½Foò(?¢<ãôEö½~\16ì»ã½u«W¼ºHíe     Â\87ì»\1cì»y×§Ðþü#àvq`wi´:\18\vuR\11¿¼\8cQZÊ`\95ó«j°dÐä\1a\e\7f\91_xà\95\8e\1d9züÌ\ 5¿ »É¹Å\\89Zo±"8O\11?ðz¯Å¨SÉ«\ 5¼r6\9bÃå\8bd\8a9~\v¯/X~\13#îF5Ͼ\e\17Ͼ\b\1f\?\18o¿\83ö²í£ÏÿyâÒ­h¸]\15\12E£N¯oÑiÔp¯\84|PL\ 5_\b\8eÓ@å°: ²\8d\13õ\ 5ñ\13±(Ù\ f"oû]ð=yüÄés\97ýCcÓ\88ó×Ñ\aá\0ö\9d$ìkÒkêÑÏÁ*+c\97óDROó\9b\82\9fi\10\ f"(ÏDú"ûÎ\8e\ fOóÃø ¼ü\1a\8d\8f·7í@ö½\16\82ª\a\f/\9dÁØfD{UY'\93T\89q`¢Æ\86\1aÇL%\19Ä?¶\98]\98\93\1c\1dì\7fùdzg|Ï]ò»\1d\91\90If
+j¡½Ø\ 6\87!}\91}\87PzèÔµÕ\95\\16\93Á,ãT\bÝü\10bOðs\97\b8Ô¬øP?_\1f\94¾\8bf_7¾_½²tÙ
+$¿ÝÞû\8e\9d\ f@ö-¯\82¯Öf2\9bMm\86æ¦\ 6\151¸T\1a\9d\ 1Ö¬\r\95\97   à\87æG\8f©YYÍ-!¥Ý\ f¿}ýò\85óç/]\v\f\8dIÎ)d\8b\15ºv\1c\1f\13\93\93ãDz ù    +ØÌRz)\93\8dùA\16ÙÝü\16.?¢ü\81#j\ 5\8c\82\87ÑDy\9eK_Oó÷\ fð\81{\7fûú[ïlÞ¹ç+\18\1fA1i\8fKù2U³ÑÜÙÕÕÙankmÑ5i\1a\e5Úf=¼Ö\vø \92àJ\87û\9f^-ã3ÈÙI1a·þ}íÊÕë\ 1Á\91ñéù4.j\7f\10ÔÀo\ 2Þé\96\9f¼\8aÏaÒi%t\ 6\vøÕ7\19 ÿ¡\84^x}AòCéA\14úâ\9cÄð\eç\8e|ûé.(Ï\8b\93¾Dt |¿Y¾êÍuï¾ïµwß±\1fo\84'àá
+Êèê±Z­=Ý\9d\16S[«\ 1\1ec»¹£Ûj\a|£¸\92\80ª\9c\ ekG«¦VÄ.&¥'D\87\ 5\ 5\ 6\ 4Þ
+\8e\88MyDaVÊ\1a\f\96^\aÞyH~°=ô\8d
+\89 \9cI/.**)eq\852¥¶\15¦ ð[x}\9e\97\1e:\85\98\88\v¾zúà\97\9f|@\94gÏÛw>¾\95«×nÜúá_¿9tæjPÌÃ|:Oªj\86eÚgï·Ûû¬= B\8bÙbé\0 ¶þA\ 2ßÔ\14\ e\ 5d\17\9dRÂgPrÓ\12b"ÂBBïDÅ&eæ\17s`ç\19\89¢3N\14mK«V)\13rËhET
\88^\86ù\19Ñ\14\1c\85ù±ÐóGÈox\0§\a\94¿\94¨À\v?ì÷Þ½uÃï__¾\bö\9d\87ï5À·aËÎ=_\1e8~1 âÁ£B$¿VK\8f­\7f`pp` ßnë³öÂcí³;\ 6\86\\0\ 4áC\0\91-{Ì\86ÆZ1\97NÎMO\8a¿\17\13\13\e\9f\9c\91Geò$J]{\17Úy£\b\9fÃÚÙ\ 6î\15W\94Ñ
+ÉO
+ÈÔ\12&ðSA\97ì\ep\8d.¼þ=\9fÝ\1ep\8f«8\85Ùñ¡×Ï\1eþæ/;7½ýæÊeK_ö´}Ýø^z\ 5ð­xã\ fë7ïøä\8býGÏ]\ f\89M/\80ë§n1u÷9\ 6\9d.\97Ë948àpô÷÷;\1c\ 3ð\ 2à\98\0|Ïà\99\9a$|ÙÖ¬ª\11\96Ó)¤¬´\94¤¤\94´,\12\85^.\927èÍ=°ó\86GG\87\9d¨»´4ÖU¡1X\90O"=&\17\855 r@ìò@ü>\9f\19Ê\vÚ\1e\ 2Æc"=¾ðz\7fãÚ7À¾/yؾ?Ç·iûÇ{¿û\97ïÕ è\94¼b\bß&ðU?|÷\91ÑÑ\91\91a\80è\1cr:\9dèoB|Ϧ§Á/hÔB.¸\8dÉ(zBÊÉÎ~\94WPHç\b¤õÚVÜt\86áÿ\aÁ½\ 6\8dBRÉ¢Qòs\1e¹ßCðÃ\rg¡ñ;+?(/h{ä<¸\83Óc®üy\94ß<|ËW"|\1fxy\7f{èôO7#\13³)e\ 2,\1døêøô\8fÃùB\14\ 1åØ\18ê"H|ÓÓ\18àL/14)kÄ<6Ì<2\99RHc\96WJê\1a[@[\8e!×0àë·v\1aµJ©\80M#çeg¤¥ed\93È4¶@¦n6Á\96\19^x|`ùAw¶u\19\9bj\85L´=®\9cú\9eH\8f\15Ë =<jß\17ð­Æø>û»Ï©K\ 1áñ\99\ 5¥8<ðåÂ-\ 5\15\15èzã¨\86\0<\82Þóçè\17\7f\86\9aµ&\83VU+\11VpÊ\18¨\19ó\84\92:µÎ\bÕ\ 4Î¥Ë5\84ÞÑ¢®\11rhäÜÌÔ䤤Ôô\9c\82bV¥L\ 5gÂî\81ø\9d\91\9f\ 3ä§\96rKr\93"üÏ\1fÝçýá\9fÜéáQûþ2¾\93\17ýÃâPos»wh\ 4\1f:\1c\14\14º{Ó\ 4\99  \a\ 3\1es«®±^.\11\vø|~¥¨Z¦Pk¡ÿôõ£\v:4\80Ý['æ\96BÆ$'ÄÅÝ\7f\90\9aI*dò¥À\ fÕ¿\ 5Çï\9cüÐ\9a,#gÄ\ 6_=ãóÕ\9e\1dïáôðlù\9bÅ·ôU\ 2ßvÀwðä\85\e¡±\ f\1cqíÌ(\98\98ļæ?Ó³ð\10?ÂÁ\b`·¥M¯mPÖÕȤR\99\¡jÔµ\9a:{A~N\97\13¹\17w\1c&5/=1.:**:61-\97Â@B7¡\86\8døyF~¸;\97ä%G¢ò²÷£­îí\81äç)~?÷\ 1ðy\83ú\10¾Ô¼"¶PÞ\0¦²A©\80«î>ts\8f\9b\1cñ¡  \ac\80\9eN\93Q¯Ó4¨àiÐh[\8c\80Ï\86\ 2Ü\89ägÖ7Ê\85ì"RFâ½È;¡aáwï§d?¡WH\94\88\9f\13×\97\ 5ò\9b\91\9f¶NÄ¢dÆ\85\ó=ô5*/kVz8=^Ä·vÃæY|÷Rs\8bX\82\1a5:~P{\11¾yb\9b{æ>5v0\ 2è\1c°[»ÑÒÓ·477·ÀR±t\11ø@~\8e>$¿ê
+zAVRlDHÐí \90ð\98Ä\8cÇ4nµgø¹åçÂò\93ñhyÉQ\81\17\8fÿãs¯mDyyÙ\83òû?ø.b|\85,\ 1ìÞ6X\rpü&\9fºñ¹Yýï7\9c\ 1\bëÖ5è°ÃNé0\9bÚÛÛMf´Tì\bß0ð³÷Z a\vY\85¹©q\91Á7ýý\ 3n\87Fŧ\91JÊ«êgø-(>\bù\8d\f!ù)\90üî\87ø¡î¼kó;kPyÁÛÃ3üæã[\85ñ}ìý_êË3*ê3\8dâÙu×\18\8ffQÁB\14{Ö îZq\15£\12K¢D%º±Äº±D\14¥H\93*Ui"¢\94(M\11¤\bR\PºôÞûÐ\99\19¦2\f\1dq\93ç}ÿ3\ 3ÄÍQ\99\97\9cãû1\1føg~ÞûÜ{Õ\8f\9c¹\8cÌK᫬GÙ\ 1Ç\ f\82öm¥\96²ð+\0\b\12\ 4\82ìv\ 6\9dÞF§3\98ÔR\81êGU窢Ì\84¨ o7\akS#}}Cãk×]¼PÏ,¨$ÀO"¿öæÚ\12\90_\80\87\83)\96ß\1aEJ~äÒã\r\9b¿VÿáÌ嫸öa|´\16æ\b|oùY¢\10\ 1\ f#\82\ 2>\ f\1e\9bÍápy\1d\ 2ª|w¡z\ 3²H\8b\v\7fèåbga¤§««gdn\vÿ\Oâ\88ñÃòãÐ\e*ò_Æ\86ú¸Z\83üöm\ 3ù)Ì\9a>\95`z¼a^
+\9fÖU\9b\9b^#ðutõô\ f¼\v¾a\80\83ý@\10`        \ 4\1dð\ 4\ 2jªôö¢lio©+\ 3û\86ú¹;Y\9b\1aèjië\1a\9aÙÞôÀü\bø\17\1f\91þ^!¿½\ 5ä\97\18       ò3Ó\82é¶y\8d"tg\92ò\eî}¿Åç\82ñe#óÂäêê\11gÇ»üß\8b     \ e`\84àXxÝhçAáFÙÌ\85ßU\9a\9d\1c\13ìsÇÁÒXOGK\vóóDþ-$Äo\90\92_e\ 1\96\9f\8d\81Æ1\90\1fL·Ù$å7º6\ fã3\ 6|\ 1P\(|°zß\ 3ß/b   \ e½BA\ 2\17\ e\ f\97Þn\ 1\17R±$+)ú1\9c?Kc}\1d-í+Fæv·¼\ 2"^¤\17U71¥æ\87Z(È\8fÕRW\9a\9d\18õÈÓÑL\eÉo-\92\9fÌ\14bòûÿøÎ"|?\a\84\ 3¾bH^lÞ÷Â'\91 F88 zÔ^\ 1~\9d\14¿ÄèÇ>w\1c­L\r®è^10±´¿}?02!³¸¦\99É\13ö\ eHÁOÜ\9d¹\8cƪ´¸0ßÛ6\86\1aÇÔ·oÀò#Ø\9d\7f\ f\9fí\b|(y%øÞý'Q\ 4)\84\92\87\15Ù×\8dGAIvRL\88\9f»³­\85±¡\81¡±\85­³»oHLrvimK;_j~ ¿®\ eV+­,'9:ÐËÉ\çôÁÝ[Ö.\97È\8fHw\ 6|\7f\9eð×\89\93¨Í\8b\8a\ve^\8c/.%G\82¯ÿ½ñ\89\b"\84¯G,½!¼î:yèþå úçåjocajbjaãxû\1eZ\8ayå´66\fE©ø¡ô@ݹ©º(ãÅ\13\7f7;£\8bǿ۱qåßç\93\94ß0¾i¢Í»ó7ø\1aZ©Þ7\16|b\82\14\eµ\8c\ fÊ(Ï{ùüi \8f»\8b\83­µ\95µ\9d£«§\7fpTBFae\ 3\9d#\80¥34f~\92ô@Ó-åÙã{7¯é\9e=¤¶eÝòÅ$åG\1d¿\89\93&O\9d&'ÿ\ 6¾Téñ\8d@(yè0õâUZY\98\99\18\13\1apßÝÕÙÑÁñ¦\9b§oP\ 4\ 4Î\1f\17\96â Tü\90}©ò\82¦Û\r\93ûwª ùÍ &¿a|2ròó\97*­E£\r\17\97ßQß\18\7fÍh\888\18»\ 4\1cFSMINêóÈ\90\87Þ^wÝÜîxÜó\v
+\7f\96\98YXAkeñ\85=ýÒð\eN\8f\824(/·¬ô~:²GUYiÉÜ\992S>!&?\9c\1d\93§ÈÈÎQ\0|\9bv Í{U\94¼$ñ\8d"\89w\ 1:\80´\8aÂÌä¸ÈÐÀ\a>Þ÷½ý\ 2\82#\9e%¤ç\95Ö418øüIÇ\ fìËn£\95ç¢ôp4Ó\82é¶iõ²\ 5sHÊ\ f\1d?4;fÌVX²|\8dÊö½\87O_2\82Õ1*yÉâ\93ìR>\9bÞXS\9a\9f\91ô<:<ôq``PÈ\93¨ØÄ´Ü\12ø,\8b\aöEñ1Æo\8aíËj©-Î\8c\ f÷¿cgtá\18\9enófM\9b
\9b@L~8zgÍ[¬¸jã¶=\87~¼dd\8dF\9btÅå-?Nd`X õU%y\99)       ±1Q\91O#cbãS2r\8b+iÍX~ؾRð\ 3ûò\98\97±!Þ.\96\1e\ 2ÝY^\16¦\e\81{Qv@ñ[¶rÃWj\aOi\1aZ9{Jð\89VÇàÐ;\8dÞ÷â×\87\ 4Èh¦U\95\16d§§$%ÄÇ'$¥¤g\17\94\0>:\9b/\1a;cæ\87$\8e¶[=¶¯§\83éåS\a¨ô\98NT~Ƚ\90\1dPüÖoÝýï\93\17ô-\9d<\1e\84\ro^\8c\ fÿ\10\82ü¨\ 4\86\vÈ¢7ÓªË\8bós²22Ò3²r\v\8aË«ë\9béȽ ¿±ÛWtþ <×\95f%D< ìûÕú\158=HÊ\ fÜ\8b\8eßR¥u\9b¿Ù\7fü¼\9e\85£»\7fè³ä¬¢J\1aÆ×Ý×?HÖ½\14¿W\ 3Pa\ 4<\16£¥¡®ª¼´¸¨°°¨¸´¢º®±\85Áæ\89o®4üp{i®)J\8f\vCé{\ eÛw¡¼¬(=\88È\ fe/¸wîbÅÕ*;Ô\8f\9eÓ5³¿ë\17\12\93\94Y\88ññ\85Ýøw\90ç\aò\0\a\ 3@6³­¹\81V[]\ 5¯¦\96ÖØBoçððÍ\1d\94&²p|\b¹èü¥Byv6×þñûoTV\89íKN~à^Yp/\1c¿=\87Ok\99\wó    \8eÆ\r¬\99Áæ#\17!÷Rü\b\v\90\ 2Èç²\98ôÖæ¦Æ\86\86ƦæVz;\9bÛÑÙ%9\1a\0\1ao\9d\1czC\ 5\9c¿G\1eö&\9a'¿Û\8eÒwæ4\92ö\ 5ù¡ì]¢´nË®ïOi\1aÙܺ\1f\14\19\9fQP^\87ñÁï\0÷"û\92æ'\ 6Ø-\ 4\82l\16\93Á Ó\19Ìv\16\87Ç\17\80è%7wìüP|@û+ËNx\8aÎ\9fÆÑ½ªÊ°Ý }Á¾\ 4ð}$\96\9f\9cüÂ/\90{\8f\9d׳tö
+\88x\91\96_VÛDgc\17\91×\1få`\0ØßÛÓ%\14tðy\\ e\87Ãåòø\1d\9dÂnê«R\15N\1c\1f](>J2_<ñuµÖ?wDmË\9a/\16âòL̾èúM\9f¥°tÅzÕo\ f\9dÑ6³w÷\7f\12\9b\9a\vý\1f"\10ð!÷\8eàGV\80\14À¾Þ\9eî.ag§\0^§PØ%¦'ÝÉ¥ø\89â#ÔÛå\9aî\99\83»6\8d8\7f\ 4ä\aé\81ÂW\16ÉoÓ×ûO\4²qõ      \8eIÎ.®nl\ 3\9eÞ¾a~Ä\ 5\88\0b\82\baO7z=ðEê\93Ò
+\9e\8a\ f\1e³©ºàå\7f\83\7fv2×þÏ\81\9d\eÿ¹TA|þ\bñû\ 4ÂwÞ\92\15ʪß\1e>«káäõ\b\8e_a%\9e\1dè
+QøÆ\83\1f\ 5\10\13\1c\1c\0\86ý}ðúû\aFé]\8a¿\ eü`}0\1a+óSb =\9b\Bñ\ 1íON\86àùCé1cöüe«Tv"ùÙ¹ù\85žÌ+¯kA³C\84o¼ø!\80"\82¯\80¡è\8dü\984_£øqQü&E\ 5¸ß¸z\11Ú³²Ò"\1c\1f\7f\99@\0\1fæ\87í»hùÚ-j\87Îè\98;y\ 5F%f\95Ô418"|ãÉ\8f"H!\1c~¯_\13 \87ù¡õÖV_\96\93\88â×Pã\87=[×A{\86ø sþ\10¿\89\93¦@w^²â_Ûö\1dÕ0°qõ\r\8bK˯¨oÅó\89R\1fÂ7^üD\ 41Cñ\13ý\17©ÿ0ª/\1dl´ÞâÃýnÛèÿt\18Åï\829Äâã#êüAú~¾Reç\81\93\97LìÝ\ 3\9e"ù53¹0\9fú\ 6$øÆ\8fß/\12\84#\1f\81¿*ª/-µ%\19ÏÃ|oY]9{h÷\97«EñK,> ½Ì\98½`Ùê/w\1d<­cá|ïñ³Ô¼òú6\16_ØÓ'ö.Æ7\8eüÆå\8dª/!Þ7¯é\9c\86õ¶òs\85Y\ 4ãw\ 2ðû\14Ú\8bâÚ­jGÎéY¹ú\84Æ¥\17V528\ 2\98mbx\1f*?T_Ú\9bª\v¡¾Üs2×¢ê˼\992\88\1f\91øEü¨øPVÝsTÃÐÖÍ?<>«¤¶¥\9d'Äós\98\1e\89DüC\9f\88\1f³±ª 5&ÈËÑôò©ý;6ü\ 3×\17²üä>[¬´~Û¾ã\17®^¿ûðibNY]+\8bßÕ\8bWï¨Tü\90ðQõ¹\93\võ//%:ÐÓÞDó\84ú¶õJ\8b?\93#W_þ\84ë\vð\83øU?qÑø\86G@TRn9­\8dÝÑ\rò\ez\13ß\aů\7ftý;\ eõoù"yÙ¿Mþ\98\8aøÍ\ 5~ÛÕOh\1aÛ{<\8aJέ¨§Ãùë\exE¼\92ý\91ï\7fCÀOÀ¡×\97ç$F>¼kg¤qt¯ê:Eà÷)I~\1f\ fëO\13ô÷\b鯾\8dÓ1\8aߨ^öa0ÄñÛ-`·Ñʲ\13"\1eܱ5<ÿ+íe\1e\ fõÖÇñçõÜ[\91Á\18ÆXÇnÈÎ\94}\89$KdÉV¤\b]"{\88ÊÖ¢+iA\89\10¥\88n\12ái\95êêRºY¢²Ô\8dJºuÓò<¯×ó=¿\19\9aÛrÿ\989}þ\999ç÷=¯ïïûþ\9cs~çÀñ\999OA\12ãñùïû_Xâ¶\ 3å§aÿ\e\18\19\7fùú-|>>¿\14pBÄ¥O\15cÕÿ`ûCÇ?\8eã³\8f\13\1c\9f\11?lÇg\8eﯵ3úþî+«ýÚ÷÷ãÇÏç"\ 6}³p,úïÇ\ fïþ\82ãËP_W[SMÉ\9e´Ø`oG\vtýÀÇï_Äù\99}þsò        \89K\87ë[ÓÕNâü÷\9a}~æÔG,úʬ\9e\93xMòáû·¯'\9f?\81ãß\95s'\ fçnE×\ f\v}5y    
+V~³ç
+\89JÊ«\eX8x\ 5EoÉ9T\85î\1f\ 3#O_\0À·SSSᆭ÷¼é\1fì\98~Äc\86÷ïßM½}ójbltð÷\8eK\rUE9[¢\83<íÍ¿\ 3?~A
+\8dÎÐ5µóX\1d±igþÑÓ-í]½\ f\9e¿|õú\rè/\8czËÒÔÔ·\8cA"\9e²#yÈõæÏW\13ãO\86ú»o\8sìà®T¸¾Ù\9bë}â\87e\ 3ü÷\ f³ùH"â²*Úp\80ñû)!3¯ää¹K7»û\1e\8e>}öbâåäää+\9cú\13é5èÍ7¬!úQ\0\11ÉKªÉ\89\17ãO\86\a{:¯µÔUäïL\89\í±ÄL\8f!\87\99\1fû\0­1ßÊÉ{mô\96]\85\15§\9b¯vt÷=\18~üÇØø3Ðs\8cz\81411ñ\124ù¥9¨\v=\82\b"\92\87\9e\8d=}<ü ÷ί\97\ekÊöoO\8e\bp·3eñ\9b\8bî\1f¸øÍam\80úfKÜ\ 3Â\13³ò\8aOÔ·¶uÜé¹ÿ`hxtô1&=aë\ fÐÓ§OÇÆÆÇ s8ìa5¡\7fl\f"Pàô ®2\8e\8e\f=\1cèí¾u­µ¾ª8/sc¸¿ÛbS]à'\8a\91ßÌ\ 6\b\vØÆÙ78fsv~YõÙÖ«7;»ïõÝ\1f\18\1c\1c|\80Q\ fA\8f\1e\r\r\r\r\ f\8f\8c\8c\8e~a\ fê\1a\19\19\1e\86\88G\8fP0÷©\ 6\aï÷÷ܽÝqíbã©£\asÒâÖù¹Ú\9a\9bõ\ 3\96\ 5Lðã#\91©Ò\8a\1aL\v{\8f\80°\84ô\9cÂòêúó\17ÛnÞê¼ÝÝ}÷îï\18uïÞ½\9e\9eÞÞ¾¾þþû÷ï\ f {f\f\ f\f@\7f\7f\7f__ooO\ fDs\9fêîÝîÛ\9d\1d7®^h:}¼xß\8eÔè`_\97EÆ:ªXù}ZÀr\f\1dc\egï È¤ÌÝ\85¥Uu\rÍ\17.·µ_¿qã&6ý
+êèè¸uë·Îή®Ûwît#{f\fB\7f¡çÎ\9dÛ]]\9d\9d¿Ýº\ 5±h\b·én\oo»|¡¹¡®ª´ '=1b\8d\97\93µ¡6~~h\ 1\8b\88Ë(i0Íí\W\ 6G%gæ\1c(>z¢öLCSsKë\7f\ 2ÒÅ\8b\17/]º|åÊÕ¶¶kíí×Á\1eN\7f uýz{ûµ¶¶«W®\¾t  ¢\89QÜ%lmin:W_W]y¤ w[JL¨¿»½å|-e:\8d\82\93\1f±\80\ 5\84a\ 2ªj\eZ9xø\85D%¥gç\15\14\97UVU\9fª­;\8dG¿°tæL}ýÙ³\rç\1a\e\9bÎ\9foniimå4\bZ--ÍçÏ756\9ek8{¶¾þÌ\19ö8®rÖÕÖ\9c<^QZt`÷¶Íñá\81>.¶f\ 6\1aJ²¸ù¡\ 5\8c& ¢º\9e±µ£\87_pdBjfvîþ¢â#¥eååG±©¢¢¢²òرãUU'NV×Ô\9cª­­«ã4\bZµµ§jjªO\9e¨ª:~ìXe%\8cà6YyyYé\91â¢\82ý¹Ù\19\11kWº;,4ÖUW\94\11\17\11ÄÇ\8fµ\80Ñ\ 4\94 +k\18\98Ú8z¬\f
+\8bÞ\98\9a¾-;'7oï¾ýxt\80P~~~AAáÁC\87\8a\ e\17\97\94\1c)--\ 3\7fØ\ e¡?ee¥¥GJJ\8a\ f\17\1d:t°° \0âY\ 3¹Ê¹oo^nNöö\8cÍI1ë×ú{.µ5\9f¯¥*/E%\vòcäÇ\9e\80\94¼ª\16ÓÔÆÁÕgUpxT\bÊæ­é\19\99YYÛ°iûöí;vìÌÎÞõsÎîݹ{òÀ\9e}\9c\ 6Ako^Þ\9eÜÝ»s~Þ\95\9d½sÇ\ e\18Áu¶¬¬Ì\8c´­©É\ec"×\ 5®ôt¶³2Ò\9b§L\97\10#\930óC\13P\88".­ÀÐ20Yhçìá»*(4<2*&.>!a#6%&&&%%'oJIIݼekZZzFF&ø\935SoVffFFzZÚÖ-\9bSSR6%''%Á\18®ó%$ÄÇÆDE\84\85\ 4úû¸/µ³21Ðb(HÓ(Â\ 2\7fÄÅ\8f=\ 1ùI¢4\19\ 5UM}#\v\e{gw¯\15þ«\ 3×\ 6\87\84®\ 3ý\84Kaaaáë×GDnØ\10\15\1d\13\e\e\17\ fþ$pÔ\9b\10\1f\1f\17\e\e\13\1dµaCdÄúõá\10Ïu.xïÐ\90àµ\81«W­ðöpq°µ4aj«)Ñ%©°ýáæ÷#¬`\ 2 ¼Ê<\1d¦±\85\8d\9d£³«ûr/o\1fß\15Ø´\12äççï¿* `õ\9aÀ  p'$4\940\88-h\85@ÉAA\81kV\a\ 4¬ò÷÷óC\83¸Îèëëãíéá¶ÌÉÞv¡\99\91\81¶º²\9c´¸¨0      >\1føøM¯`Ø\ 2EiÒrJ\fM]¦\91\99¥õ¢ÅK\1c\1c\9d\9c\96\82\9cqÉÅÅeÙ2W77w\8få\9e\9e^ÞÞ>>¾¾¾\1cåúúøx{{yz.÷pwss]¶\fâ¹Î\85^ÜÉÉÑ~ÉâE\v-M\8d\98º\9ajJrÒ41² \0ÿlÌü`\ 5#\80Â\14qIYye\86\86\1eÓÐØÔÌÜÂÒÊÊj!>Y[[ÛØ,²µ]lg·ÄÞÁÁ\91íÏ\8c ^G\a\aû%vv\8bmm\17ÙØ@<÷ÉàÕ­,-ÌÍL\8d\rçëëhª«(Ò\ 1\9f\88\10|=ÐòÅÆ\8f½\82\ 1 IXD\8c&%+¯¤¢6OS[WOßÀ\80É\9c\8fQ\v\16,044226115\ 3w,,-\91A\84EÄ/´- b3S\13\13c##CC\88ç%\1d\93É4Ð×ÓÕÑÒPg(+ÊÉH\8a#|°û±¦\1f>~l\80ü\ 2\82d\8a\18MR\9a.¯¨¤¢ÊPSW\9f\87Q\1a MMM--m\1d\1d]p\aì\ 1\7ff\1cB\7f¡G\1f*ÖÕÑÑÖÒ\82X4\84\97\94êêjj\fUe%\ 59º´$\8dJ!#|Äî\87\91ß\fÀ9üsIBd\8a(\95&)%#K\97\93\93\97WÀ(E$%%eee\15\15UU\ 6C\rüQÿ¬\T/CUUE\ 5¢\94\94\88\11\94\97\97\93£ËÊHIJ\88\8bQD\84\ 5\ 5XøpN¿i\80¬)8\97$(L\16\11\15£\8aÓh\12\12\92HR\18%\r\92\91\91\95¥Ó  {>3\bu@½tº¬¬\8c\f
+å)\17ñò\92\12\124qq*À#\v        \92æò\13\8b\17ïôc\ 3dMA (@\12\14\12&\93ED(\14\12#D¥RÅÁ\1cp\87í\ f§P'<\83\8a©TV8\8f9)\14\8a\88\b\99,\fð\ 4\80Þ\9cï\82o\1a \10$\10\ 2C\ 1\12I\10$\84Y 2\19\99\ 3îP¾0\88è\13A\ 5CÉ Þ\13¢"H$`\87à!zß\ 5\1f\ 1\90E\10!\9c=g\ e\1fP\ 4ÍÅ.\ 1\88°çs\7f\ 4Ùå\92\88(\1cé\88*øø\10»Ù³Øô\10>Üü\b\80@\10\10\12\f\11E\8c\9aÃ)>$~þ/\r\11Ïÿ6\82çü³\10;\807M\ f;¾i\82\b!b\88(~\17Íbë\9f\8b%\841+Q\11*í»Ñû?;t\8c\ 2\0\b\ 30pèÿÿì R]
+B\ 3\82¹\1f$ÛÂ9\11\11©n\8d,n³ê¨{çCÌem/ö\1dë»`I\92¤7\f\ 1\ 6\0ñÈ\0×\rendstream\rendobj\r1089 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 239>>/Filter/FlateDecode/Height 211/Intent/RelativeColorimetric/Length 19033/Name/X/Subtype/Image/Type/XObject/Width 239>>stream\r
+H\89ì\97×_Zi\17\85G#Ò«\80H\13Á\ 6b\ 5+\8a-\164J0\18k°÷\12{0F\8d%jl±\a+¶q\8c\13\93L2æû÷¾ý\1e\8a&¹Ñü\ e^;åbñ¬½÷Úïùã\8fÿ꿺§òú¹î]õ^\ 4\7fPõvÔ=ý\81_\1c¾\17ä\e¤\ f\1cuÍìqY\97Ã÷e²K\13(}Üådö¤¸\9bõÁ\83\9b&{{\94ÙÍêãC øº\8b@@È\9eä½!ü\8bË\1eCv\88\82\12I$²£H$"\11\11;\81qWu\b{;\85\7frÙç&²\aD\91\92)\14*\8dF§Ói4*\95B&\ 10H{\88÷¦Ën\9bI\98ÍîÉÂ\1dØ!ê\80¥Òè\f&\8b\8d\8aÅdÐiT
+\ 6ì\19Þ\1f\82ÍX\81ÍÈg÷dá»KnZ\ 4Ë`±ý¸<>*\1e×\8fÍbШd\92\8b\17\eÊ(-Ü6³Àh\16\8béð\19M\96/\ 1ïìpÑ\12I\14\80åpù\ 2¡H,\96\88Å"¡\80Ïå\004Ø3¼\88ö\ 1j-\85Fg²8à3\18Í\ 3\9b9Øh¹v        ×ÑrÑ\92©t&\87ë/\14KerEpp°B.\93\8a\ 3ü¹l&ðb¢øG\ 6Röuøì\a>\a\bE"±H$\f\10øóÀh&\ 2Æ\99×1P\88\16$ùB\89L\11\1a®\8aP«Õ\11ʰ\10y XÀã0é\88\17ÿö:\95I\14Ìç\0\91$P\16$\87
+\92I%¢\0\7f\9e\1f\e\80q^¥kZ6W 
+T\84©¢b4Úøøxm\´Z\19\12$\15ò9Ð_¢/þíŤ}¡·L\ e\92\ 6)BÂ\94*\95\f\v\r\96\aJ\84à4¶JÎÑÂEÜ¥I\aZqP\88*Z\93\90\92ªOOOOÓ%icÔa
+\8c\97J\86õ\ 5\8bñP¼\96ööv\1aÍ\v\10ËÀèÈèØ8\8d&.6&J­\fUÈ$B¾\1f\9bA\83þâÖ^gs)t\16\91\87©ã\12S3²só\r\ 5\86¼\87\99iI\9a(¥B\1aÀc£qƽ½.£Y\98ÑÊÈXmb\8a.55U\97\9c¨\8d\8dR\85)\ 2E\10\1d\fÌj\9c´\11\97Leúù\8båa\91\9aäô\9c\82\13³Ùl*.ÈÍHÑF\85+$\ 2.\93\ 6\9a\1eÀ\85æÂ(û\8bd0VÚ¤´\8cì\9cܼÜ\9cìL}JB\¤2X&\12pYxZí\18(\18e¾((,R«ËÊ/6\97W[jk-Õ\15f£!K§\8d
+\v\12ñÙ\f¤é        \ÔÜ\80À`UL\82.#ÇðÈh2\99\8cE\85yÙú\14m´*D&ò÷ìÆi\93°\81\ 2\87A2D­Ñe\15\98Ê-\r\1d\1dm-\r\96rSAV\8aF\1d"\r@íÅ,ÆAò\86\ f\81Dep`®Â£ãS³ò\8bJ\9eVTUWU\96\97\9a\1eåeêâ£\95Áøn\92\97Óa6_,WÆ&g\16\94TÖ·v÷\r\ e\r\rôvµÔV\98\f\19I1ᨽtܧÙËëG§\rƧUµ\rMÍÍMõ5\95¥h²â£Âåb\7f\ e\83\8a'®/  6W\10\18\1a\95\90\9eoªlèè³\8e\8e\1e\1f\19êi«+7æ¦iÕÁRФx\b\97Í\13\ 6\85Ç$eä?.³4¶u=ïíyÞÙÚh){lÈL\89\8b@\93Å\82ÉÂG\ep\91$\8b'\92«ât9Æ\8aúÎ\81\91ÉÙù\85\85·oÆ\87{[-¥\85\99IÑa²\0?&\15ïåE¸0X\1c¾X\11¡IÍ)zjiêì\e\1a~ùÒ:ÔÛÙl)3æê\13 8\84<\16n\93\85I\92é\1c\7fIHdBFAiMûÀ«é\85\95õ\8d\8dÕ¥¹×ÖîÆJc\8e.N)\17ñX4Ïà28\ 2i\b\f\96¡¤º±sàåøäÔÔÄØË\81®¦gæÂ¬äX¥\\f\8b\84×d¡¤\ 2I\98å°\98\94\87ÆÊæ\9e\91éÅõí½ý½íÍw³c\ 3m\96'ùzm\84BÌC\13\85;.\ 1i\a\80vrvQY]{ÿÈÄ\f\1a¬\99\89\91þ\8eúrcNª&B!Áq\91PRÁêr\85A*\8d>ß\Û14±°±{xrzr¸»±8eíª{Z\98\91 \ e\ 6\8b=\83\8b´eʸÔ\SUsÏðÄÜÒêúÚÊâìkëóæê\92|}¼:\18\7f\X]\85:!óQycÏ«ÙÕ\9d£³\ f\17\1fÎ\ e·WfFz\1aË\1fe&F\86HP4ã\8dë°\1aÅ\86Vo0Ã\1e\8dÍ,¯¿ß¶m­-¾yÕßf1\eÒãA\1ag\H*¾$8*顱ºupbqË~ö÷§Ï\97\17§{ëoÇú\9a*\8a²<\8a\8b¬\8e\88Ï(,«ï²N.¬Ùöö÷w¶VæÆ\a;jK\v\0\17u×¹»xHú\10Èt¶¿44&%·¤¦Ó:½²srñùë×/\97göÍùñ¾f7.þÃ\8cpá(\88\15êĬ¢\8a¦\9e\917Ë[»ö£Ã}ÛÚüë¡\8eZÔ]l\8fèx=q°;Dç@RŦæ\9bëºGf×÷Ï.¿^]}ýtnß\\18GÝÍL\88\ 4M\ fD\95\ 3\17&+2)ÛXÕÒ?6·j;8:9>Ø\ 6ÜÁö\9a'ùi\1a\15v\14ðÄ\85Ó\17 \v\8fÓ\17<mè\1d\9bß:<ÿüï÷ïß>\ 3îühocYaF|\84Â#\87\bÃeó%!QÉ\ f\1f\ e\8cϯïØON\8fíÛkoÇ\aÚ\9e\99ru±Ê !\17N>\ 1\1fi\f\17n\81L©M/,oê\e_|\7ftñåê\7fß¿}úë`}näy}©A¯Q95q~U9pa\91¢SrL\96v×Q8>°­Ì\8eö6W\16g'G\87\ 6
+ü~7©¼\1cõ+.Ü¡ø\8cG\15Í\ 3\13K¶ã\8b\7f®¾_ýóñtwå\8dµ³¦\ 4,\ e\87W\15\ 3¯¸¸\89ëëÌ\r\1däFÇ\8bÉEÀ=>9ÜÛ\\9a\1eî®/ÃN Ä½ºwÑöú¹nârEò\88øÌ¢ÊÖÁÉåíã\8b/ÿ^}ûüáȶ41ØZeÌN\8a
+\91úã\17\177p¯s#ïIm§\15áÚ\8f\8e\9c«ky\92\97\16ç\9cå»­\91\vÑÛY×Äè\1d\a\97\1ep\13²\8a«Z\87\10î\a\14Ì\1fÏö7æF{\1aÊ
+Ó=´ºn\È\8d4\83¹®Ë:µ¸±s`·ïn½\9byu=Ëw¾º×¨\ f°º\81ì\8d=l°[\90m¬n\e\9aZÞ>:¿üòåòühûÝ\94µãz\96©x\7f\10¹s#H©\81\98¬ï\1a\9er<_mk\v\93/:ëÐÕ\85×+ß\95Ë·\94vÂ"N\1fg9\90]¸èôÁ-xøøYû\8b©eÛá_\7f_~üpº¿\ 1\8f\f×Õõÿ\9dý¹\ 5.\91\ 2oHxT¥\17\965t#\ÛÎîöÆòÌh_Kõã\9c\94ß0Ú\ 5ëãC \10|±"\10\9cÄ^îÓ\a·\0±\ 3pßÛÿ<¿8ÿÓþ~yÚÚYkF§ïwöç6\7fÌ1Y®÷ëó\97Ó\8bk[6ÛÖêü¤µ\v\vªÈ;\a\95\93\16`}}\89D\12VD" #bô\833\1c£Ñ£ªÃ:µ´uprvvz¸³6\aÍ\85ýI\8a\ e\95Þ}\7fn\89\voH>LVbVq%<ª¦\17V7·6×\96fFû[\9f\95䥺\82ênÍE­%ø\12Id2\85\8a\15\85L&\11\ 1\18\8d7\81xý¨\82p\9cZÚÜ;<\81Ï¡ÍÅIÔ\\83^«r}ìâ>Ëî³\v¯\8cª\96¾W\80»±±þîíäpwC9lÑÍ\8bpëæb­\ 5X
+\8dNg0¡\18t:\10cÀè\17GZ@8\96ÖAZ,A8\1eÚ÷¶ÞÍ¢p4þf8Þ\ e×u\87ÐÙ}ÖÚ?úfae\r¾þfÆ\ 6ÚkÌùzô\80¼[s\1d´ÐZ\80e0Yl\8e\1f\14\87ÃbÒi\142ðÂ6Ã<¡;\84¥\ 5Z\9f\r\bÇÝ÷«ó\13Ø\e]¯u\!ü\83êÿ´WùSZY\1a\9dqÒÆ\9d}U\10T\ 47\82\v\1aP1¨¸ Q1îâ\1a×\18·HÜ\8d¢\82\88ìà\12\8dkÌÄL']v\92\99¤§\93êIwujº§§kú?\9aï¾\87Kª«¦b\8dÜß((Þ;÷\9cï|ç\9c\vt)ÙEXý3X\1cN§my~r¨«±<_.\11ÂEC\19º\b¹\18Ú\80ÀàP\ 2\89B£3\98,\16\93A§QH\ 4`\18\b¾\1a\10\ 4©\15Æ']\89u\92E\v\14ÎÍu·eqj¨\13#Wø\7f¤¸ÿýj\7fò\1a3\µº¦íîè¬Ñbw:,K³c`T¥(Q¡-t\ 1\8bÄ\
\ 2µ$
+\9dÉ\8eàp##¹\9c\b6\93N!\85\ 1Á\ 1p\11ad&6>ÐI\86§\r`\8eëk\1eÛ\12ôÍ\16\1f\93\8b·]üªën\ f\8cÏ-Y\1d\ eÛ\8aaFç-CȨ.pѸ\94\11Z\ 2\99Æ\fçò¢b\ 4±±\82\98(\1e\87Í \92\11ÁAÁ¡D*\9b'JÎ,¬lê\85ñ±8=«n\87\19\ 4\ 5äæË$¾"÷Ô©8\82k²¼ò\86®¡Éùe\ 4wyaj\18[º¸\96/Ð:q)_Åв8¼\18a\B\12\9c\84¸Øh^\ 4\8b\ 6xCBBÃÈô\88è\844Equkß}Ð\93Óí>q\8bâ\1c 7Â7ä\9e\99\ 5\9a¦\1e0f³Íé°\9aæ'à¦ËPR\87ts\ 1-{CS  ¥³¹QÂxqrª4=]\9a\9a,\8e\8f\8dâ°è\14"!\8c@¢²¸±â\8c\¤§1¤'ôHýÄ "\17Ý0Ë7äâ\99
+\8f\90àTpÕ\ f\8c\16üÙã°\86J\95htiDÜ\97\ fq)\a\87\91hln´()%]\96¥ÈÉQdɤÉ\89¢h.\e\ 6\98\ 43\1dÎ\8fKÎTU4"=\99¬v\87Í\8cƧ\15eVä\16¤\90KïB\7fð:\15^N¤7JjÛûÇô&\9bÓå´\99æÆ°H\85\15\13\ 2
+\90\17"7\b\86\93Å\8d\8e\13§É\14¹ªÂ¢¢B\952ûzª\18ÃK¥Pé,nL¢TQ\ÕÒ;2½¸lµÛ-Kú     X\ 5\15ªO\8aî¥\93{êTx¦\9a\0;Ü\1e\97ͤ\a¸5ê\1c\887\98S]ùl¸8¹\ 4
+\83\13%º&ÍT\16\94\94i*++ÊÔª\eò4±(\8aËfÐ\19¬\b¾H"CZî\1f\9d5\98m6«Ùðàþݶ\9a\12å'åàrÑ\9eÏTrU\85\16B\86ÑêZ]ó8\96õã\9fÀý|v±É\r%ÑÂùB±4+¯¸¼ª®A«m¨½UV¤\94§&     £¸álv\ 4O\90\90\96]¨Ñv\ f\97,6\9bÅ4?9Ü\8d2kêÅ3ë\ 5àz\9dJ\94\9cUx«¥otnÙ±º¾±ê\A\11²¶\ 4Ê\1f\96©>WYhçâä2¹1       ©\99yjM]S[GgçíVmMy\91R\96\92\18\e\15ÉáDFÇI®+KjZût3 e\9b\b{\1e2«·\1cø\86Ü\13§bóãQÈh÷¶¿Í\r·uqr¨\ 3³ªèS«úýÓÿøÉ9ݹ\81PfÃA­×\95Å\95õ­]}\ 3\83\83ý½\1d͵å\859\19\12ðg>?Z\98\94\96UPÑÐ9\b{~\ 5´¼¼8\8do!)¾\85\ 2¾¸äæ\87¿.Öþ¨Xû\83<7<m´¯mmooBX\9fÁ\9b\186IÈ&ý>}ü\19J??ôÕé\ąÈ\fNLbZvAE}[ÏÀÈØøøè½þ®æ\9a\9bªléµøX\81@\98\90,S\96TCfõ\1a\95I?ù{£ºd´ÞÑ%Ò9\ 2ñõ|\18]Ýì²ëáÎÞÞÎC\97yî~o\93\ 6\8f\19§>yò\ 2g8¡çáÇÏ{¼FÅâ   ¯]Ï-­né\19\1a\9d\9aÕÏ=\98Ôõwjo©a|Åñqq\89\92tÅ ¹\16»Ãnñj\19õ/¯Q]>¹\b.(\ f9\15ªC-wÇ\16¬kÛû\87\87ûÛkÖ\85ñþÖ*,DÂ&:i\9eç)E ¯ 6÷\ 5êtW®à°¡\e`Z\8e\8aO\ 5µ6v\ e\8cÎ,\18M&\83~J××^_^ ÈH\11'\89%Ò̼ÒêÖ;0¹f»ÓiÇ3+\16\97£Ðâó\89Q\9d:\15O\84\9agûà\94ÑñpïÉÑÓ'{\9b\9eØð&Å ë\ 6\9ci\16aÅpúû_Å\8f¿¿¿\17µ?h\19Õ\9dDi\8e\1aÔ:2½p¢VpÞª\92ÜÌô\94ä\14©üF\91¦±sp\ 2[ó.»\19ˬ\9a3-\7fîâ»(ÜS§*­ë¼÷ÀìÙ>|öåógOvÖ,z\Íð\ 2h1`VéwJ,`\ 5¤\ 1\81\81Aø   \f\f¸\8aUYT\85ÂÈ\f®À\e\11ÇõËv÷êªËº4;z·½®¼ G\9e\91\9e!Ï)(«mÃ2\9cÓãqÙaï\rt\9cj9ÄGZÆ\9d\8a\ 6N\ 5!£±ç¾Þº±\7fôâøø«g\8f·\9cÆ©\ 1´y!Óq\18¨ðbxý¼ÄBg\r\f
+Fa\1f;¡¡!ÁA\b\ 2´\86"ñv×uoÚ`\852ûp͵²\0f¤­Tç)2åY9ªÒª&ع\10j<k«n\9b î\ 2\ 5ÈóZ¾l´ç\9dJ\96¯iî\e78·\ e\9f\7fýúõ˯\8eöÖ,sºîF\94Ø\11½PP@ÎÞé\ 4°\bk\18\81H"\93\90I\10ü\11â@¸\85\10\b\90<¡$S¥iêÕÍ\9a\1cëÈëWíÆ\99\91Þ\96\9a\9b\85¹99Ê|µ¦ávÿØ\9cÉîYßXsÛ\8c3ºÞ¦Ê\ 2_kùÌ©
+«Ú\ 6¦M\9eݣ㿾ýæÍ«\17O\1e9\8d\93ýmÕÐÇ0zÃ\82\ 3ü±áÄ\89\ 5¬$2\95Æ`2Y,6\8bÅdШd"\ 1q|Vf\v*\9bï\8cêWÜÈë·7\9cËs æz\8dº /¯@]QÛ
+i\19g~Ým5L\rw5\94£þÅõ\99\96Ï;\95B]Û1<kÙxüüõ7ïÞ¿{ûòË\83uËÜHwcY¾\fÑK#\86\ 6\ 5 ÙD`\81X"\99Jg²#8\91<\1e\9fÏãErÂY\f\1a\85\ 4\14\83¾¡\fñ½1mlÞâÙÚ=8ØÝt¯ÌÃ|j«ÊÔEE%å5Í]C\13ófçú棭\r\97e\ 1Ëpx!¹Hÿº(Ü\13§ºQZß­\9b·oýùøíû\ fßÿãýÛã§Û.ã\ 4ì¢b\ 5\14B\b6\9b\18³D
+\8dÉæDòc\ 4BQ\||\9cH(\88æqÃ\99\18`\ 2\11\9aî9¸«\8fö\ e\ eö¶<\16\18ÞîæZÍÍÒ\9b\15ÕÚ\ eè\ 6&\94iv\1em¸Ìú±>´õRâø>ÔòY¦ÊÈ-×Þ\193¸vÿòêÝ\87\1f?þøýû¿½x¼a\99\1déª/Ë\93I\84@/)\14\8d&\ 6\96Lc\86sù1ÂøÄkÉ)©p\92%I   "\ 1\1fÊ\ e\95ìm³\98\98q¸[{\8f\1fïm­Z\17§\86{Zë«4\15\955\8díw\90\94=\9b;{»H糺\1eXCrÈË\f²\8f2ÆIû\83\1d)\96©4-ý\93¦Õ\83\17o¾ûñ§\9f\7fúøáÛ\97GÛNÃx_Ë­ÂìÔ\84hD/LfpH(\81Le\84s£bã\92$i\19²Ìl\85B\91\9d%ÏH\93$\8abx\11,h³\14ø\ 1$f¹J\83Í.&f\fîôÈ\9dÛÚºêêÚÆ¶\1e\90ò
+$¸ý\83ýíu\aìøÎzXCI1\11t\94\97}¤å\93ö\87\9cª}pfåá\93ã¿ÿðÏ_~ý÷¿>~÷æÅÁ\9ayf\bFJ\99!\8e\8d\ 4z a¡`P\14:\9bÃ\17Ä\8bS22\15¹ªÂbµZ]\¨ÊUȤ\92\84X>\aF\98\ 6äó\85\129ÄÒÞûsf÷æÎþþî¦Çj\98ÖÝíli¬oжu\ f\82+;6¶\ f\ e\ f\ f¶×m\86É\ 1¼mbÝÏ'yù|û\83LUÓqoÎöèèÕû\8f¿üç·ß~ýù\87o¿~ºeÓc»\bÌ\8a\1fÁ \90\88D\12\fí\7fy/Ï ¦ó4\8e¿¹\99\9b¹\17ws³·VPé\9d\b¡\13©R$Ò¥\89Ò\11¥w\b½\18\90\12¤\ 4HH%\90\10\b\10\ 2\84Þ;\ 4D t\1c÷Ô]]W\97Ñõ¼½w÷ü\ 2z»s¯³ÿ\17yõÏL¾y¾Ï÷ù|\15®¨jécÍ®Ù:º¸yÞòõóóóõöpu¶·23Dmö¹³gÏ)(i`ÌíÝ\ 3£RòÊj(\f p$77-.*,8((,*.-·¤ª\81Îáò¸\1cF=©(\ 3¹ÈÒ\0ø\n^\96É\85¤:¯¤\ 5L\15\10\95V\Ã\14\fL-¯oJ¥\ek\8b\93â\ ef-13:ÈË\11\87ÕV¹tþÛo\90M/(*«ë\18\98àì\9c\a\ 5\83BÃ#"#ÂBîø{»:ÙZ\18\17ÏCd+¡\86àvû^rnéãF\1a\93Å ÖU\12\13¢#ÃÃ"¢âR²\8b\9b¹|>\8fC'\97\17ÀêÊÎ\90â\99¿\ 3\9eËe¸'Áü·\7f\PÖ1¶u\v|\90QBnî\1e\9e\95llïîH\9f.O\ fu5×?ÊB=ÁÊHWíòÅsg¾=sîâe\15M}#\v\e'Wï\80 ðû±  IÉÉI\89¨Íú{ºØY\9eè½pQQICßÔÖÕ?"1\9bXUßÄ`Ð) 7/#)ö~TÔ\83¸\14BaY\r¢ó\8e\8e6\ e­öQ.Âs8CrDªß!¤½ÇÝØ¬G\r­=£ók[»ûû;\9b\92Ù\11aKcYNB\18°\9d\89\9eº\92Â\85s0502Æ\ 4gïâå\1f|/&)\9d\90\9b_P\90\9f\9b\95\96\18\1d\1eè\8d··Àêª+]RP¸$\93{Ó/<!ë!\89L¥Ói\8dµPò\b©        ±1±ñ)\84\ 2\989\13ѹ ­\99ZM\ 4\9eAgH\9eH%\93û5\98½BâsÊ)¼Þ\89ÅõíýÃ\83½­µùÑ\9eV
+Ê*_¼\8d\89>\fMáâEÅ+jÚWM­\1c\}îFÄ&\13ò\8aK+HUU¤òÒ¢\9c´\93:kn \r\aéÒee\r}\13\e¼_X<¡¸¢\8eB£55BI(ÌNOILLJ%ä\97TÕÓ[ø\9dÝ]\ 2\1e»\91T\94\1e\r\1c\9d!yUݯÁ|FQ\1dc\ 1\b\99\98WÙÄï\9f\ÞØ=8:Ü\97®Í\8f\89¸\94\8a\13¹¦\18M\95Ë\8aÀ\15H­µ\93»_ÈýÄÌ|h3õ\94&$\ 5\18¿ 3!ò\8e\97³µ  FK\150\v,\ fr}Ãâ2áÞ46\9d¼S\9c\97\95\9e\96\96\9e\95O\84Åå´u
+\85Ý\ 2.³¾<?ù^\80«­\89®<\91J&WFÌ\1a\ 68g\9fp\14Ì\1d\ 3Ó\92ͽã#$\17¦ÛX\9e\9b\0\17\ 2ÉUUº|EY6['\ fÿ°\98Ô\1cb%À0\87Çoç·µÊ\10\91\10\1f\11àî`\89ÕÕPQVVÕÄ\98\9eÊ-\97É¥\90\1f\97\13\vs³³²r
+\88\95µT6O \14\89\84\1d­ôÚÒlØ\98\e×°§H%?¹'wH\ 3î\90_dJa5S08³ºµwôìD®°¥¡,;>ôÖ\r425e%e5ØÛk\8eîþa±\0\805\14ô\8b{ûÅâ>!\9aQeQFl¨/ÞÖ쪶ºªª:ü1¶ÿ\9b.\9dF­¯!\95\11\8b
\v\8aKA-\8b\vßíëínçP\1f\17gD\aÉ\e©~wv­\üï¥\16×°:\87fW¥ûHîÖêÜp7§¾\94\10\eìíle¬¯¥¦¢¢ª©\87µ¼îê\17\1a\93^PN¦·
+z\aG'¦¦¦&F\ 6\84|V}\85\8c\ 4\1dqFzZêê\1a:\ 6fv\10U§»Ë\80"@®®,+!\12KÊHµ\14\16·\ 3þ)T4Y\r\15\bUe^V\90£\97¿È=\7fE\vk\8d÷\87³[Ëî\1a\9e[Cr\ f÷6%3C\9dì:b\ 6\84\bR ©¦ª\8a$غÜ
+\8e\ 6Tªg¶ \aÆg\16\96%\92\95¥¹Éa\11\9fY\87L\89Æk «¥©¥gha\ f\87è$\99\19,&£©\91\SUYQAª&SY­\1dÂ>ñ@¿¨\93Ë\0/Çÿ\ 1^>\95û\8dL.¢\8c\87\1e\1dîn¬L\ ft0«\8bÓî\ 3UYbA®\9aº\96¾ñ5G\8f@@\8722\8b/\1a\9e\ 2\0\ 3$ÙÚX[\9a\1eîá6U\15ÂÛ\1e\ e8#\8c\ e\94\a#\9c\83ûíȤl '\1a«¹\99ͤQ\1aêjkjÉ\8d46̶o`pP,\12´\80\97ÿ\88\>\95û×ÿ\97\vQu°ótiRÜN¯*D>³77ÔÕTW\93\r\17ï\e\1aG ÖÐù¢\91\99åuôîÑá\9et}ij°³\99\\8a ä\86\8d\99¡¾\9e¾\ 1d\9aç\9d¨\94\@c& q\v\87Í Q)\14*\ròM ì\1f\18\1a\1eê\17òÙ\råyÉ\91\881~\93Ër\9f.>àÔ̳\10U\a\87ûÛë\8b\13}mM¤ü¤\b¿\9b`O\1dMu¨@X\9c\83\a`pA%µU8<³²±{ôüÅË\97ÿ|~\b¯\8f÷ò\9aH\ 5É\91\ 1n×-\8d\r®^Å\9aÛÜð\ eB¾¯\ 3Xl\ 3Zä¶4³Y,6\87ÛÞ%\12\ f\8d\8c\8e\fõuqé5%\84¸\10o'Ü\17Æ\90\97\97¿FÕ\15\15\1e¢ª\b\8cds÷à`Oúd\ 1~?µ2Ovv\91\\r\rm\8c\89µó­\90XBI\1d\v±õÆÞ³\17ß¿ùñÍëWß\1dJWaÕYµ\ f3\1eÜõt²672Ä\ 2zÝô\r\8dÍ,&5È𩳳£\9dÏãñÚÚ;ÁÈãcc#\83½\ 2\ e\85T\98
+ûò\85\97åçåß\15"\17t\88\1e3àî®lììïï\9eÊ­ÈK\94\9d]$WS\17¼|Ó/")¯\82Â\15\8d-¬ï>{ùúíû\9fß¿ûñûçû\e\8bcp¦ÑÝòÁÛáL\8dMÌ­\1cÜ\ 3"\12²Kª\9b8ü.8±¢\1eawWW·P\84Ä\8eON\8e£<g\92\1få Ëne¤­\8cº\9fü¼|zw¿bFR>\89Æ\17O.?ÝÞÛÛÝZ[\18;\91\eþ%kµõ°\16×Ý\ 2£R\8bª\19í\80#Ò£\17¯ß\1d\7føøáøÝ\9b\97GRÉT?\9f\ 6æ\a7;X[\98\99ãl\9d½î þGfð:Eý\10L\83\ 3bx\ 6\86FÆ&¦¦§§&\86û»Z\9bN\83Ê⪬û!^\96\93\97¿@äY\ 4\91\8eÞ¡    ¹\15T^ïøâ\93­\9dÝ\1d\90\8b\96±R¶»væ\86z:Ú:\18c\9c£çÝèLb\1d»kd~}÷ù\ f?\1d\7füô¯O\1f\8f\7fúỽõ¹!\ 1³º(í>\90¤Ý5K\9cõu¼Optz\11\89ÒÜÑ#\ 6ó\8e\8f\8f\8f\8dÁçäÔÌìÜÜìôøPo;»¾\1c\95!<
+*8ºÐýäæå\13¹'\15Áìºg\10jD-=£s«\eÛ;Û w¢\8f/KæÛ\90=F\18]]=\ 3\13+gï\908ÙkãK\9b\a/Þ¼ÿðéó¿?\7fúøó\9b\17\a\e\8b£ÝÍu%\991Á>x\a\e+k;' /\14â4n·xdbzfVöÌÍÍ/,.-.ÌM\8f\r\byôê\87\991A^\8e\96\ 6¿      *9Ê\95\15@e]\13\85±AV­¬K···\9e,N\8a;\985\ fÓQöX\99\1abô1X3\e\17\9f°\ 4T\9cú&%Òg¯Þ\1eÿòù×ÿüúù\97ã·¯\8e¤Ë\13¢Ö\86G\80\f~nÎö¶v\ e.^\81÷\92Ð\85\1d\9e\9c]XZ^\91=\12\89d\15Èd~z´_ÐÜX\91\ fY\ eD¥§z\1aTró2*\80\7fúó_àð*i\e\ 1V¡¬¢·÷O,®!tø/ïe\1aÕtz\85ñ¶*£\8eÚ9ÓNO§¶\9dVÇÚ\8e¶3\9d)\8eK\1dÜ\17D\ 4\11\14\11A\19@@E6\ 1e_\ 4\94]4\88,B@\88ìKXÂ\96\84\0        IHÈFBB\16 ì[\0EQÏé}ÿ       \88\9e~\14Þ/|ù\1fÎùå¹÷¹ÏÓΠT\17f>\88\84&
+Þ³Gÿû\7f\7f¯¿\e¥BT\9cr+(,\91¼\7fTó|öÕÜ«Ùç\9aÑ~¹\88I.\87e÷w³?ojxäÐácÆæ6N\9eÁ1ÉøÂª\ 6\1a\9dÉæpç\1f§\9dÅhn¬.ÉMK\bG!\15®Ð?þºÄF\85pç­\19¼
+\1a «ÿÝä\1c\98f&\97/àsÚ\9aH%9\8f¢¡\9b\9d79b°kÇ\7fôwî=dliï\ e\8eF¨¤²;\15\ 3c\9aç/ç^Ͻ|156 èdS\88àUA\1e\8eÖgN\1e;rì\84)̲OX|jnY-\95Îæò\85\ 4xB\ 1\9fËfÐê+\vñÉÑX\>ðã?·üI\9b¨\96N\í%Â
\16X^\130¡;0ÍUdz{\a\9fÏeµÔW\10Ò\13Â}\lÍ\8d\ eý´{çÎ=û\8e\9a\9c\bF=±©]¬\1c\18\9bz\81p_½\80åU\8aÛ\9bª\9e¥Æ\ 5{9ÙX\98\9c8nh|æ\82Ã\r¿È¤'ù\95\8d00B\b/2xÒ.I§\90×ΠÖ\96å¥'Þñ½jkvlï\82¸KgT¿\98÷ª_ÿvã¦múû\8cÐ4Ç>Î-¯ofryX\ e®.Âãî\ 5¸;^8mxÈ`ï^\83\83\86fÖW¼Bà<W!ÜAÀ}\85pg§Ç\aU\12Ì\9a\13B½].Y\9e6626=\a³\1c\18\9d\9c]Ljbv\88ºº\15J\95J¥TÈe\12\11\8fÝJ\86\7f\9e\1c\1d\84\9cðÀ\8fÿÚ\82ªß\92\1a\95\ e\17-/ä*\98f3Ûë·£\1ef\15US@^\1e\8fäÕ\97\13Ò\13Ã}¯ÛY\9a\1a\1e>pààÑ\93\166ÎÞ¡ñéùÕ4\8eD58\8epß¼\ 6Ü\89¡\9e.nsMa\ 6|~ÍÎÊÜä\94é\19+»k>¡ñ©yå\r­\1ca\97\Õ§îïW÷õªäÒN\1e«\19\8dμ¸?èÄ]Â+\84ábË«\9bæ\83§¬®Ü\f\85\ 4Q\81ÉËÃä-Î~\14\13|ÓåÒ9S£ãG\8f\19\99Z¢Ó\92\bYs\ 1÷õ\ 2nG\v©ðÉý;·\í­Ï\9a\9d>sÎÆÑÍ/"      ¶\83ÊäKä(n\ eCàT÷*dP·¨5ÅÙ\98¸hs\97G\\84«\9dæ?lúæ\87\9f\8e[\¾á\7f\17\aá\7f^Þæ\ 6\93\aQ\ 1\1e\96f&ÆÆ¦\16Ö\ e7nG$e\16Ö4s\11î4\86;7;31Ü#\ 5Ü¢LÈ\84n\8e¶ç-ÌÏ^¸ìâ\15t/9»¤\16\12IwOÿÐÈèØèÈ\10
+Ø"è\1f\90¸\8bmy\89Å\9d\9ffðæ?ÿíÛ]Ȭ¼Ã\12Ò\9fUè¶·\9dÑT[\9a\v\95ÅÏÝé\92ÕYs\84àì\19x÷!¾¸¶\85ÛÕ3´\18·WÊk­-Îz\18åïátÙÚÒÒÊÖÁÕ\17|9¯¢\91ÁëRª\87FÇ'&&ÆF\ 6û\94]\ 2\16\8dT\ 2âb7wÙÄÕMóêu\9f}±qó6}\83\13gíPüGÝ\8e\81̹\ 33\14\88µá·Ý\9d\7f¶µ¶¾xù\8a«Ohì#(\b­\1d\18îìû¸%xÜÝ@¯«ö¶Ö\17l~v\81ª\9b\84r\v[ÔÝ;8:>©ÑL\8e\ 3®\ÜÁ@\11&\11Lßæô{â.á\15ÒájÍê˯¶~·û0\ 4bïðD\90·¡\85\85n/\1c£\ 6bAVrl\98\9fç5'\a{\a'W¯\80\88Ä4p\1f\ 6\v¡ê}Ü:$Y°÷õ+v¶¶vðË\84Ä<Ê.©káJ\94ýÃã\93SÓS\9añ\91\81\1e\99\90\85\ 5¸Ù\9f\8fÝÜe\11\17\9bfdV\90\9b7o×ßwBÛî0y9|\81\90Ïm£ÕU<ËÄÅ\86\ax»»^wu»é\17\16\83Ë,¨¢h3äÌì¼U!\z]iΣ\98P_7\17G{û+×¼üá\97!\10Ém|Yïà\18ÐÎLkÆ\87û\95\12\1e\83\8cåSoç\8b¦(-/\97¸\vf\ 5òþåï\8bä%6´°±¢À\81õ-{\96\99\1c\17\19âïëãs+ ìÞýÔ§%$Z»H®\1e\99ü\0·¾ô)L¾\9f§«\8b\93ó5\8f[!1¸¬¢\1aZ{§B=<®\99\9e\99\99\9e\1c\eêë\16µÓHÅ0õþ7ìÎ\9eØ·cû×(P-\8b¸\18®ö\16½//©©\8d+@=\10â\ f     xS\12£#ÂBBÂ"¢ï§àó\89\rô\ e\89r`\14Ë\90\8bqËÀØ"\ 3}<`\10<|\82"±±§wt©\ 6F'\81\16\ 1U\17\8fÑXAH\8d\ f½étÁ\ 4z.T¡\ 5q\97\1a\173+\9d¼\8b·\97Ø\88j¯X\f¼t*©<?;\r\97\18\17\13\1d\9bðàq\16¡\14b\92\83Îîb\>£\ 1¢CÒ½P?oOO/ßÀ;±Ð\ eª©,!\8c½V\Í8\12\97ÝTS\94õ\0U'sC\ 3ým\9bÿø;HËZq\97\ 3÷ÿÈ\9b\ 3ã
+ÁO\ 2ù\16é[[Q\98\9b\99\96\82Ã%§¤ã\9f\95V\93éÜN¹\1aÕ¿Wïpeü62\11*]lD°ÿ­[~Aá1\ f2\båõ­\±²\7fdbJ+.ln\a½¡,7%6ØÓñü©\83»¾ÝúÕ\97¿ÁÄÅp?|KÁû\81¼>\10\9bò+Ét\8eP"\95vu
+`\7fë«J\vò²³²²rò
+ʪ\e\ 2)\1aPlu\17p\ 5LJUaöãûÑwB\82\83C#b\92Rs\8a«©L\81¬whlR»¹\83ð\15\8bZU\0áK\17\1f¿Ù´ñ\8bÏÖaâ.àþJû\96\ 4ù}y\r\90¼\81Ñè²6³ùbiw·T"ä2[ȵ\95\85\ 5\85Å¥D\12¹\99Å\93(`@§°ÕÕáöu\vYP\19s3p ÑQ\11\91\92\1eã\v\88\r ®B=2¡\99\9eF¶¬V\889-\vGèä~\940~ÿù\ 6­¸óoÅü{Çü\91y\17ßÞ\8b\1eHiëè\94Ê\15òî.(0\f\1a¹®¦ºªªº¶\81ÚÊâ\89Qn\98\9cA\99
\9d\99\1cQËEíÍu\15ùø4Üýø¸øD\*>¿¼\8eÆ\12ÊzàÓ©éé©\89Q̧ÈDBZ|¨·³5\1c!\940´âjq\81q%¼UèÁ_-òÇåýå\a·÷\9c½{PLJnY}+G$\95+UJ¹L,ì`3Z\9a¨\14
+\95ÖÊäðÅ\10\81a\1dµâêpû\15b.\9d\]BÀ§§$ã\92\1fgdç\97\91¨m<\89\12]!\88\18Ú#¤õ©(?×Ë\16àSè\b}¾a-\12w\85\16u\95\9e\9eÞ'Ú§§\87\98W¬øÈÀïä\85\1e¸çÈi\9b«¾Ð\ 2\8aj\9aX\ 2¨m½½=J¹T,äqØÌ¶6&\9bÃ\13\81\94¤\81Í\9d{óæ-\96ª4H9>\93VG,&äd>Éx\82Ï-,'QÀÒÐ\1cLh¦¦&a\94\95bnk}ÙÓ\94\18ð)«S\87v}·\15\1d!LÜ\95\bv\15\90®^³f-öÖ¬Y½ú\13\ 3þ\98¸ºíýzû\8eýF\96\ e\1eÁq©\ 4\88ö\1dbÔRÕê^\95B&é\14
\90´:»dÊÞ\81a0\1fì
+½}ûöÍÜËç\1aäB"\ e\9dB"\96\14\10òò\b\ 5%ÄZ
\9dTÕ?\ 2ùqJ\ 3'·GÊo£Tæg$\86£&\ 4>¥=B î*l\82õ\80uí§ëÖ¯ß\80Þúuë>]»\ 6\11¯üø¼\vòþ÷¨\99íõÛQ\ fñ¨¸\89d*õÀàà@\7f\1fHÜ-\93J¥Ýre¯zp\ 4îèsdËou¸SÈ\86$<\16xZUEiII\19±¦\9eJo\17 *4\ 6âjþÇz\99\87S\99·qü\9a÷\9a·\9a,\87ãplÇvlÇz\ e"Ë!d9e\89D\94,\83È2!ZHE     Ód$fJ4\9a\91ÒnZH\8b\94\8aH\94\92L\f\12ÇZ\1c\92ä½\7fÏó8Õõ6Ë\15¿\7f¨Ë?\9fç¾ïï2øI\9e\8a\f@aYGUN\12L\b\86\8b\1eÀÎ\17\10\12&\89\88\92ÅÐ#\8b\8a\90\84\ 4\ 1x\ e6àÙãý0^\9a²¶\91\95\93WpLRFÞ\89K\155à7/º¹½½Ü\9eî®\17\9d\1dííí\1d/ºº¹°\9d\88ö-F\v¸ã£ÃC(û?®¿w»âZYiiiÙÕ\e\95Õu\8dÍ­\9d°Ê¨
+õÃ*#Ëý½0'=1\ 6å)S\16¦S\10\1fçðaI¢d\8a\ 4UR
+\9e$UB\LTD\18\80ñ\ 1Ï.ï\7fç
+\90\8a\f}6g\85ÿú\84ï\ f\1c-Æ¢"\8c²\7f` ¿\1f\90{º»»{¸½ý\83C¯GFÇPÂ\98|ÿþý$¦U¯`z­Í\8d\ fjîVÞ\ 4E»y»ª¶þñ3 í%\8a\1f¬22f°ÜÝ[ÂýVpÌ     \9d\12
+òôÍ|A\92¨\98¸¤´,M^\ 1\9e¼\1cMF\8aJ!\8b\b      à\ 3\9eM^l¼B¢T9\15\1dãÅË j$\83X]®¬{ò¼³\aoªC\83\ 3@=0\0³z=Â\e{3Mû~rr\ 2m3ÜfÇsð¬º\9aꪪê{÷ë\1f5µ´\11´¯\ 6ûº;`\95+/c\96\e\15èéhµ\10å)L§@\8bçÌûF@H\ 4`eä\14é*jê\f\86º\9aª²\92<M\9aJ\11%  Î\9fe^¢\18\91Äe\944\r\8b0±ºxã^c\v&¬Ãè½Æ\1eÄ#Þ(\82E\87\8bãÂñ\8e\8e n×Þ
+\12þ°¡¾¾áacÓ³çí/0Úר*·b«|\fU\83uÞ®¶fz\90§0\9d\ 2\\90(\ 1aQ
+UFNIE]S\87ÉÒÓÓcéjk¨)+Ф$ÄD\84f\9d\17Æ;w¾\10Y\12¢\86©-\88U|ÚO\ 5ç®Þm@m\ 6\ 2/o\14=\1e\ f~\8e¡É"ÃÅi\89mæADä¾ì\0\93n~ÚÔô´¹\ 54ý%¶\18È\83 \bÁ*£ô¸\1fU\ 3wè}Ú*\84NMÓ\8a\14U\18Ú¬\ 5\vMÌØl3ScC}¦\96:]^\86
\ 2|ÞY\ 1FÉyÎ<\1450±Z\15\12»sß/§J+ë°|\ fºôfú\8d\8fc\93%`§¦0Ü·À\v9\82Û\r\9eÕÖ
+ïÏöή\9e^¤ÉÈ\83úz°U.;[p`Ïöhd¹&,u\§`¸Ó´rJjZ,CS\v+\e;{{{ÛÅ\96lc\ 3¦¦ª¢¬$\85Ïû\9fÙÉÑ|/Bbe¾Ä= rûÞ\9cã\17nÔ4bÍ\aÉ0ñ&\10ëôd§\10\vë\fSìã\82i\81Qw½ìæb°è\ 6Ð\9a·=\85\96{áx^Æ®Ma¾n¸NaÃ\9d\87\82\85\80\10¢¥3t\fL\16Ùp\1c]\96»¹¹¹.s°·6_¨¯­¦D\93¤\88\ 2ï\<qÌ
+16^L¬TuMl\}ÂãR\7fú\r¶ùá³\8e\1e¼\v Jì!ó\99\86\9dÂÇ\vëüf\947üjp ¿¯\97Ëåööõ\ f Xh}(+C\ 4iDé\11,\17ª\81§\93µ1S]\11.W\18áB´\10\12¡HÒè\f]C¶5Çy\85§·\8f\9f\9f\9fÏê\95Ë\9dì­L\17è2è4)Ä\8b\eÒì4\aB¬DÄeè\90¬\1c½\82±m¾\ùàé\9fÝýx:\9e$\1e\ 4,\7f¼ãoÆx#ÃHÁÑ\eB¬pé<\1eQ\84\1eà:µsc¨\8f\eÇÂP[\15d\19ó\98\81Ĩ4%\ 6ÓÈÜÆÑÍË70$,""",$ÀÇs¹\83\rÛ\90àžÍ\9cÙj\ e¸X¡dÅÐcsÜ¿\85m\ 6m®¨}ÜÚÕ÷
+pùÊô   +1^àE÷\vt#h}\87\ 6Q\83ÿA-·\1dZ.ª\ 6Ùi    QA^Î6fú\9aÊr\88@\10²1\84\v²\84\8c¢\9a\8e¡¹­\93û\9aÀ°¨ØÍqñq\9bc"C\ 3׸;Ù\9a\e1\19t9)q0$\f\98_\1cf\ 4\8co³à'Û\P|­êÑ\1f\9dÜ¡\91±·ï&ÿ\1fôÃxÑ>Ã\80ß\0 öÆpm\ 3\0ä.,O\9d?\9e\9b±ks¸¿\87\83\951K\ 3pÅÉ$aAAA \15\97\96WÕ6`Û8yø\ 6¯ß\94\90\98\9c\92\9a\92\9c¸ucd\88ßJg;\v\9cW\82\f\11\v¥h\fù믠 à\19\8c÷Ã6\836oÜ\95\99\7fºìv}s{ÏÀ0äãÉÏ¡~Â;ñöíø8_¾±\7f ?F²\{\v\12Æ\81\1fvĬóq[b       ¸*`0\10\99H$\92\b\19dJYCÏÄÚÑÝ7$:.)5=3+;+3=-)~C¨¿ç2\82W\1aý=\14\a\81ùÓÅaFÍ᫯øÛ\fÚì\11\10µ#=·èÒÍûMm/û_\8fþ\1dî\14\916\10ñÄ´|£_\11î\10TCÔ\84.\9dÌÏJM\88Zë½\1cpõµÔ\94äd$%(bd1\8a\84\14MI]×hÑ\12·5!ÑñÉ{³\ e\1eÎ?\92\7f8';=e[lØ·ÀknÈÔPV\90\85L  )\9a$\8c\15\87\99\8f´\99i\82%\rÈÍçËï\81\15¡ã\9dx÷׸\ 4/FüÑCö4\f»\fBu\av9/sw|$à.µ6[\0~J\87\88(E¥R%¥i\8ah\95m\97­
+\8a\8cKNÿùpAѩӧN\14æçd¦m\8f\ró_é\8cîWSUI^VZRB\9cB\16\85#\98\ eÒ3à%¶\19%\rkçÕë6íÎúõì\95»\r-\1dÜAüxÿ\12w\8aÈW\9f¼w\13x3ì|\ e\11ãJqá¡\8cdÀ]³ÂÉv\91É\ 2¦\16C\95® O\93¥Ñä\95T5õL¬\1cÜýÂ7%íý9ÿø\99ó\97JJ.\14\9f,ÈÝ\9f¶=&ÔÏ\ 3é\15K\9b¡¢¤ '\v½A\1cm5\ 4é¹\ 4ï\97\8e\17Ûf¨E\1a\90\9b=\836$e\1c>Y\8aYÑÀðèøßâò\89ù\8f\8f\v§ÛX{«ìÜÑC\19»·F¯óótu°µ4[hÀÔÖPWU¦Ó¡\12h2\8d,ì\V¯\8dÞö}ö/EÅ%WË+n\/»x¦0o\7f\86\10\1fwG[\vHXZ\f5\15º¢<4%     (\ eÈ\88g\12¤\89mF¹\99ef\ f-pÛ\ f\8a\9e´þãñ~\ e\19á\8eñ^á6tëò¹ÂÜÌÔm±\11Aà¦\8e\9cÅ\8bØ(\13ëhihhhj3\rÍ\16;zø\87\95q¨ð\iyeUuõÝ[×KÎ\1e=´ow|T0l\84\1dúB,ø{øD\8ar²Xq\98)/ÚfÈÍ4h\816.\84\15]¯~ôÇ\8bÞ!ä¼ÿ\8cû18*\86\1f\8a\8f\1dÎÚ\93\14\17\1d\16ä»ÊÝÕi©\1d\10\9b\18-Ð×céé\e\9aZr\V\ 5E%¤e\1f9u©üNÍ\83úúº\9a;å%g~;\98¾sËú owgøBfÆF\ 6zLmMu\15E¤Óx\90þòuÆr³\0\89òÁ\8aö\1f9såNó\7f\9fã\85¢4\82ãÖV^ù½èÈ\81\1fSvlÙ\10\11\12èçíéîê¼ÔÞÆÒÜÌÄØØ\84m    \ 1Ã746qoÎÑâ+\955\r\8dO\9e<n¨½sýâÉüì=;6F\ 4®ñpq°·±²`\9b.4Ô×ÕRWV\90\ 1\8a!6Þ/Ã\85mþÈ\8a\ 2£\13\7fÌ;Qr«\ e\1d/¾Í_\88Ûxÿöµ\8b§\vr³÷¦$Æo\8aþ.,8ÐßgÕJ·e\ e\1c[kKKKk;\a\80\88-Éûò\8a.\94W=xÜÜÒò¬é!|¤âc¹\99)      1á\81>\9e+\\9c\96r '\99\9b\1aéëj¨(ÈRÅH\82h\9dg0^Â\8a ôÚ¹ù¯OØsð\18´"<Gþ«ãý\1c\8cº»7JÏ\15\1dÉÉJOKÞ\91°ecLÔw¡Á\ 1¾«\81Øq     \87³ÄÁÅÃ'8jkJVþ©\92\8a\9a\87O\9f·µµ¶45TW\94\9cþõ@ú®ø\ráký¼½< &9.µ_¼ÈÔ\90õ?ÒË<¨é;\rã»mÝÝn\9dzÕj­ÕÚÑÖªµ­ÇV·UW»níZ¶\1eõÄÅ\e\ fDD\11¹\11\82Ü7\b\ 1\b\12\bW\ 2\84\0I8r\87Ü\84$$$\r\14­»;³ÓÙ÷ûË¡\9déÌ\92ðý#ÿe&OÞç}\9eÏ»ñÃ÷ß]¶øÍ7æ4^Ûò®\»yÇ_\ f\b\8aÍ&Õ2ay\87Ƨ\9fýÛ97#¹hw'G\87t*IogK=¥¬\90\90\9d\91\92\18\17\1d\15\11\16\ 2Lì}õÒY÷\13G\ f\1f:täø\99\v^~\90Ë\85Õ\f¶P®5\98LF\83V!â¶ÒÈÄ\87 ¸`?\9fk\9e\17Îy¸\83äÃnè0ü|ãºÕ+\96\82\9d\7f?o\ en¶.ï\8a\ f6nÇ®"\8c\10GN=ury1¹Xï\9a\r\1a\99 \8bŨ«&\93ò      9Y\99é©É  qÑ\91aAwoyyÂÔN\9e8é~Îóæ½\88D|\11\85Á\11*\ 6\8cf\8bÙ¤W\ 3\8c5U\93rÓâ"\83ý}oz]»rùây\ f÷ã\87\ fîß³\ 3a÷ò%\vlãuQ.¸\19[Þõ[ì\1c      Ë;\e\8eü5¹ÿEr\81ª\ 6µ
+q/\9bI¯£T\94\15\17\15\10ó\b¹ø¬\8cÔ\84\98\88\10\7f_/Ï\vg=<Î]ºv+02 O\ 2¹"å\80Ñ2<l\1eÔʱí%f§ÄF\86\ 6úßñ½uÓû:8âô\ f\1d\9f®_ó.\8c÷ul¼.ÉýÍ\8b«\bqäy\9fÐ\84\9cÒ:\16_¡³ü_\8eüu¹Ï\9f\ 23\9bt\10\9dLF\ 3\8dZ]YQN.+).Ê'à3 ¹\82aÂW._º|õÆí \\12\9a.\e¦k²\8c\8cXàkân\bgÒ£Ì䨍û¡!A\81\ 1þ~¾Þ×.\9e9æ¶ÿ«m\9bÖ­Z¾øÍ9¹ùe\8e<ôO¯@àÈ\9aÖ\9e>­ã\btNî\7fà"\9a\18\1d2ô+$ü®NV\v£©¡¾®\8eF«­¡T\92IÄṲ̈èðÀ;`Ók^>~Á¸¤ìÂ*z§@\ eÓ\1d\19\19\1eÒk ¬èÔ²ü\9c\8cäø\98\a¸È\88ûá¡A`\88Kg~8\bWäÇkV¼µ\10¹y\ eË\vU\84\96wÃö¿|wêÊ]\:±\8a\ 1\1ciÄ8Ò\99*°
+Eóä\98ep@%\13ñº9\1d¬6f+öZ\18\8d\8abbv*¶\97>7}|ýC¢\92²\v*\e;x²þA3È5\eúe\ 2v\v­\82\94\87ÏLMNL\88\8f\8f\8b\8dÆ\85\aݹqÑýð\81ÝÛ7­}ïíEàæ×^\9d3G®ß²ëÛã\17\93      V\8e´L8[EV¹hy\87Mz\8dB*â÷tq8l6\87Ãår9ì\ e\80b*¹ 7=\1e\17\1aàwû¶ß½Ð¨D æzV¯Tc\18\1a\1eAË«\10uµ5B¢?\86\80ËHOKK\83\90\8b\89\f\ 6ò>áöõÎÏ>Z½|\89ÍÍ.ÉEnþÝ\1fæ/\ 2\8eütçþ#\88#ñV\8e\8a¬Ñ\8c\96wÔlЪäR\91\80×ÛÓÓËã\v\84\80\aPL¯­(Âô\ 6úßõ\ f\ 4¹\ fóÈuÌn\89Z\ fË;l1\ e(Å=í\8cÚÊÒB"!7\a\1e\1e".%.2\bîÈ#\avmÝðÁ\8a¥\90Ís\92\vË»`)âÈ}\18G:ªhòé¿ÐU4k½\8e¬\9a\18³\18u\1a¥L"\12
+\ 4\ 2¡X"\95Éå2©\98ßÕÑL«(ÌI\8bÇ\85\ 5\ 5\ 4\ 4\85E%d>.­má\8a\94:\14Í\16¨")\8fÝÚ@­(%\15æ\13\89ùùùÄÇ\8f²Òâ"îy_8ñÝÞ/>An\9eÿ:Z^\17åZ\8fÀ%בּq$TQyc§Pé|\15ÙäbËkÒ÷«ä}\12±H,\96ôÉ\95j\8dF£Vö\89z:\18µä||J,.,$8$<*!\83PBm\86\1aÍ w\b
+[\88
+\9bZI.-\81WZZR\ø8;5&ìÎÕ3\87÷\7f\89Ü\fÙ\fÍë²\ëòZ9òèù\9bPE%´6\1ev\159ëf{V¡åÕª\14}R\89D"í\93«4Z\9d^¯Óªå¢\9ev:µ4ïaRLdxhXÄ\ 3\90[L¡wòQVÁò\ e9
\86RUYYY\ 5¯¢\8c\94\97\95\84\vð>\7fìÛÝ[7@6/xcnËkãH¨¢ïÏ\\ f\88Æ®"»\9b\9d\1a¯-«\90\\83\90I\91Z\99R­Õ\19\8cF£A§\91\v»\98õ\95°¾\89Ñ\91÷ïGF'f<*®nêàõõ[³Ê¨SCaw´Ò\eêhµµ4\1atX\r¥\9c\88\v»íyÚm\1f¸yåÛ\vçÏ¥\8aÐ\11\88ªhÍ\86m{\ e\9eô\84«\bÀÊæfçHãç\9f_\8afÇteJÍ\80Á8d\1e2\r\82\18\19aSj|t\14îAlR&Á*\17\8bf\18/*l\1e·\83Ù 75Ñé\f\ 6\1dú\8b\\80OÆÝ»îqäo\7f¶¹\19«"\97ô¾¨¢\8f>\87«\b\ 3+p³-\9b\98­^ëMd\93\v»+\95\88Ñê*ÔZ\ 30±Å\ 2^U"lª"\11àR\8a\89\89\89OÉz\B±Ë\1d\1d\1d\81\88SCawu¶Ca3ÛX,V[+£\9eR\9a\97\11\eâsñøßwcÙ\f¤1\ f\8d×\15½¿µV\11ææ\1d\ e7cÙl'\r×äbÉ,\14\8a¤2U¿Þ8dM^\r6^h_8\94â\13\92ÓñÄR*½\13É5\8f\8c\8d\8dÂö"@±\176êëNVs]eQNR\84ßU÷\7f|½cóºUË\16ÛÏ"\97ô¾b¿\8a07Û³\19\91\ 6âfgÂÊv\13!¹:Ä\19\ 2>\9f/\10Iåê\ 1\83        É\1d²rDCu \11°)%%=ëQaym3\eE\95et|||\14-½J&\11òy¼^\1e\8fÏçõvsXô\9a²¼ôè ïsG¿ùj\v\80äÒ\85¨\8b^}Å¥ýEUôÂÍ\90Í!ñ@\1aLàfÓØ\14¸Ù\99ñ:n"ã\80Z&\11ðz\802ø"©B£\eDãEQ$åu6×\ 2&\ 26efå\12Kªê\99\TDÃcO&&ÆG-\8e\90\13\13\vz9m\8dÕEøÄð;\9e§Üö~±\19»\13¬g +\ 3Æ\96÷¥lF¤\91_\8d¸yÐZ½³\1f¯Mî$:\ 1¡eyÝ\\0Èn\9ePªÄì\f'­¡\1f¹­\91
\ 2!7\97@$\95×ÐÛ»ÅJ\9did|brrâ ò³®_­R*\15
+%|ÈûD½\80Ñä¼ô\a\817ÎÂxa{W\ 28ÿÑu½v7¯Ù°\15;zï'?"×·óå:³\93ae\97\v7\ 2$¬ \87ÓÙÑÑÁæö
+û0½f³  VSÂël©§\94\17\17\16ä\17\16\97S\1aZÙ|´º£\13SÓÓÓ\93OÆFàOÑë\ 6´Øë\a8\83²n¢\90`¼·a¼ûv~¶\1eì<\a½\ e7cGï\91³7\82\8a¨-Ö°rj¼\ e¹pÛÈEP(,f+³­\83\ 3zUZÐ\8bº\b¸©»½¹\1e¸©¬\94\I­onï\16!/\8fONÏÌÌü8\ 5\86\1e\86Ò2boРתeB.³®\1c¶7\10¡Æ\9e?}òáêwÞZ\88ôÎsE¯ÝÍKW\ 27ïu;\rW`j^Å/Ãjvz_ÈÕ\83ª\1e6Ü»tzs+\8bÓ+\92© \8dL&£^«\94ò¹íÍ\8d4*\85B¥54³¸\82\1e\86;=óôÙ³§3Ó xltd\18{\16ä\a\fj1\84ó] ÉovmÛ´n\95\v\ 1m%\ràæ÷?Þ²ëÀ±\vP½ø\12\14Vý¦Ñ)¬\8bf9^à\f»\ø\8d]í­ôÆúú\86¦\16Ð+Fñl4\19a¼V\90`45442ZÛ¹|©r\0\86;5óì§çÏ\7f\ 2Á?NÁ\ e?y\ 2A\8dt\9b\8dàÿ\1eVceÁøPß˧¾ßÿåÖ\8dk\1dz_s^¯\8d4\16-{oÝæ\1dö°ª¢³E*ð\93ã\ 5¬z\ er\87ô*)\8fÓÆh ÕÔÔÐþG|yÆ5yoq¼x{ëåÖ[k\1dm\15­â¶(j\9d U)®JµTª^7Z¯\ 3çG¥\G+­ZWÝâ.{\ fÙ2\ 4Â&@\18!a%\81\ 4\12\f\9b0$\f¹÷\9cÿó\ 4p Ï\13_p^õ\rOóõ\9cÿo<\86\15¦e£<c\94\94\14\b³ÒS\12b1GÄ&¤ð²óÄ2EE\8dª¡©\19\ 6\89ëU*xƵ05¨Õ%à^IQA\1e\ f¯\9d\7f\eô^£é\84wÀ¿>Ô\8aW\87n\81\83\86¡õ\82X\1dúõÏ{îÁ\9cT\81X^QË&8wâ\16åg§ÆG\85\ 5ùûùú>
+\f}\12\9bÌ#Ï\97\9cs\81\90\9f\91ÆMNJJæ¦eæä\89¥r8e U·´´¨ÕÍÏ\9a`ÇdêUuµU¨{\82ôx8ç{\10%÷Z®1£y\a\ f\0?ê«\ro\1fl\81Äz§\1a-6ßlõß?n:\11/\82àÌf½\18«(ܼ,n\dH\80¯\97§§·_àã¨\ 48gXo)\88\90T\ 2rËÏÊàñ2²H\ 4\91+«jë\91\15\86\10Ã\92a\10»¾®º\1c\9e\ 6?5ö±/\98¯­µÕV\9a÷\v««\ 5ï\vbµÐ\fz\82íå\aàEiB\89\1c£\ 6ãõ\12Ü\ 6
+7%6"ØÏ\vj«»\97_p\ 4\a×+\91\95*°*\14\8b\vós\85\ 2\81\10ÊRq\89\ 2i\e\9f©[[ÛÈ 2B\13ìÆ\ 6à\85cÁ¬ííhwñÔÑ=[~$¼c¿\18ª%¯N\97XMÀdµußqâEI\105\94Ø\8b\98®\97­EÜÌ\14Nx ¯\87«³³\8b»·?¬7\r\1e©´TAä\16Ê D,\12\89%Å29Ä)BÛÒÖÖN\rÅLV­nnj¨«R\96Jàù\82\e9ܺðëÑ=¸_ã¯\f^âeyÍ\1fèö\e0d8$+\13ð¢#P\ 3½Bã:£\ 6Ãõjp\15\ 47,ÐÇÝÅÉÑÉÕÓ/82\8e\9b\95\v­¶L        ÅGYF;+Ð\97£á\12Úööçôta·Båh¨­zZ"\16ò\12!\Ù¿\86Wã¿,×û\ f\92¬Ð\8b,08ßv     \88Ja\195Ðx\9b\ej+\15Åp}°]\1fwgG\aG\17wß pNJ¦\10p\95\15\95è1\94³*Ë!(×\82&kh;È<ïÂ&¼\18ÂA®4¼§\8eÂûýÎô\9dxÉzÁ\8bF\10/Ú°Ëúô5{ï°x^.«¨Ap\eë*Ë\8aÁ+c#\82|=\\0×ÙÝ'0\9c\93\9c\ 1¸\8ar\88Æ`05Õh­Õ\10\1cU\r\8dÏ\9aÕ­HÛñò 0Å[Q&-\14¤'\10^x¿V\96k¿3\9dGóÒy\92ÍóE±¢Ö«\ fÁyù\8fÛ\ eþrñî\8bQ\83\ 5nÕSi!?5>2ÄÏÓÕÙÉÉÅ\ 3·\9b\9c)\14ËÊ*\90\10Â"±Vø\ f\ 2Û\ 2´Ôj»¾Ô        Lx1\97Ò¼\ eÀký\8e¼´X\91àl8×ôûM{lHÔHĨ\81bÅì\9a©\14©ªV\96\80U&F?\ eðñpsqu÷z\14\1c\19ËÍÌÅôT£Â°H\ fä(\ 2KÓ¾ò9\r\8aæ\85{ör°»hk½\17yÉ=\93|ÅV®:½h\98þ\973\16¬À^ôç}\8f\10\ exQg/b\84Û\86\1c¥\14\9c\884\ 1\ f/_0ÞøÔì|¨yUu\18\16\9béQC²@Ø×ÓR¼äýjxy\89Q Ïv\97:y!o|6èã~låYãETÔx±\17\95×0½æ\ e\12«P\9a!\19¤%F\87\ac¬ò\v\b\89À&PX\8c\91\8aO8­­\84õåC~\95\8câ\15\11^oÇÛ4/øï¤ÑÃ?\eØ¿\9f.K¹Ò¬w\88Þ\98n½(,>#\8fJVmí\8c\89Èã\95\89\85\99ÜøèðРÀÀàÐ\88\18HU¹b\196\81&ê|©!¬=Âvã%û\ 5}\16f$ix1_\99Ì\9d6Q_ïÓOP\9eµZ/F\8déó \17\1d<yé®{PLª\80\9aÑ5w\10­jRÕ\94Ë¡\13ñRâc\9e\84\87\85\85?\89\89OÉÈ)(\92+«ë0>i\ 2\ 5q\9b\8e7Àþ¯û=×kx£C:óÕ·\8bæ\18N\185lÈ\0ÖÏW§O·^\ 4b\ 5Áù\96Ó#¸f¢ÍÍ-̵
+®¹òi\89$\8fÏã&Æqbb8q\89\\1e\1f\8aO\19YnW Ð\18Î[þ       »xÁ\7fÅÈ\eì\rzuêÈîÍ«\97/\985e\1cÊ\15>_Öë¥z\11\88\95Ù¿ÿ\ 3É
\19\ 6Iòx\19áâ5« ×KÅy9\99TñIIËäç\89¨â\83Ë}ÁbßþM\r\8d§\847\8aäÉ_\ eïÜh¾tþ\f\ 3\90«\81ýY\9fsg/\9a0mÞ2\v°ÞK÷<BbÓé¤Áøñâz!çÊ¥â|!U|2³\ 5ù\98¨4Ë}½\f3ä-!¼A\9e\7fÝ8wâÐ\8eõ«L\8d§OÒ×£Î\99åzQ¬ 8ã5\9boFmv     \80¤!\91S\8f\97\19\17~W\95R!+\12\91â#ÈÍ/\84\9a\87\9eK^îs\86ýª\a^\19ÉÏ\81\1e\ f¯\9d\7fÛZ3\939\86ãG~>H\9bõþ½/uÍ3A\9b!HÞpô\8b\1f/c­"¾\ 1¼åePõ$"\18q\91\14j\1eÐ6\90\96ö%^ÌÏé   \91\ 1n÷¯üþ³Õ\96Õ˾\9ei0fø§\9fhµ^]J\9bç\7f»ö§Ã¶W\1eâã\85\16\bÎË0h\90õ\12ÞêJe\19\14\1f\99LV"W@Í\ 3Z8åÖvÖË}\95·0'-.ÜÏùÎ¥S\87wnXej4m¨¡\9dëe\8aû\9e\ e­Í#ÆM5^jaI=Þ8\1e:/c­ÂØGñÖ\ 1p\ 5\16\1fÒ|°æ!­6Ë¥"´\86\17óF\ 1\9fË      õq¸yîø\81mkV,\9c5\19Ö«y½,pQ\9b?\1e¬7f2>Þ}ÇÏßv\v\8aI\83Ò\v\14·\ 3{[\8bº¹©±^U[\83ŧ
+J\10Õ|4]\805.\1d\9f\8b\ 539:ÈãÁÕß­wo2_l<mÂÈÏQ\9cY^sçã\9de²rã\1e\9b?n9ûGq\ 5\94V1ÂÕðÂïzÖÔØPÿúæÃ\1e·;/Ø\1cdr^BÄ#çÛ\17N\1eܾvÅÂ\99\ 6£õ\ 6\83÷~ð>«¢\0×\8cÁjÔDtÞ\9dÖ§¯\83V%óE¥\15µD\9a\99þ.«V\ 3q\13Õ|\9aÞØ|XñÂ;\81\90Z"ÊIå\84zýu\rÖ»ñ{Ó¹\86ãF\80Xéö}ÿo,qu\89ó¢Ví8üÛU{\9fðÄ,h     L¥\99~f\ 4\98\10w5\9fÖ\9e\9b\ fC\\r/¤¶²âṳ̈H\7fg»ó'ö[Z,\9b?}"\óGZ<^Ý~D« 6o?têò\ 3¯Ç´43Å¥\7f\17\ 2\ 310ÓͧíMÍ\87ági^R1Å\82TN\88ç\83˶\87w¬3[8óKýa\83èÇË
+\17[Ñð±\86FKV[\1e@i\ ee'Í]?ì9¶\80®æÓþö:À\b\97¤ÔºJEq^FB¸¯Ãõ3?ïÞ¸Êdöä1øxYâêt\97æ-ûN\¸ã\16Ìé\1e#\19\ 4zzH        hoïÖ}º%e¶\98Ý>JÖ«ªVÊ
\93\9fÀ5\9f;¶w³ùâ¹\86c\87\ f\19\0\ 6÷=\1d\88Í\1fö\1f<l´Áìo \14a\8c\f\8cN¥¤¹\99\8a\7f\8cæyOÃðï{þd{ç5\8br¸Ñ\81®w.\9cØ¿uõ\12ã© UZáþ³ÿ ¡àD\8bVnØmsö&tÀ\14\90æò\9azªË0\9bö\1e\86á\9f¿á{mtÖ \8f7&ÈýîÅ\93\a,-\96\1aO\1d\19\9d\88\ 5n\1fÀýhàÐQ\93f,4[¿óèéëö¾ Í\ 5Ò²ª:\88÷è%½7­Ô`d\83c.\15ç\10ÜK'\ fl³X:o\9a\96¸ÄxGNüêë\15ëv`jö\ 2­Ê\95@WUA\bTk¦åõ£f:=ü=\83O67c \87bTÈ\87cv»ó\8eÛí4Þåk¶\1f\ 2iv\ f\8aáò\v¥\8a\8aê:ÈFM½>\8d\8d\r*¨[ò¢¼Ì$\94ªóÇ÷mýa\89\91¡VoW\83;\1eKÂÖýÇÏÛ9?\8a\10\8ad\8aòª\1a\88¾½=\90I±kÉ¥\85\82ôø0\1f\87\egm¬6A¬\9aB\94\99\9d\11uëD\86F\8bÍ7[Ù\9c¹nï\1dÊáfå\8a¥¥eÊ\8aJ\98ªÞ\1cøÿW\94+ËJ\8b\fR\12®üvt×ú\95&³Ihf\1934¸\903¦ÌùfÕ\86]Gl/ßsõ\8f\88\12\16H¤%¥rEï\8f¼TV,.\10d¦pÂ|\9dì¨\8e°`Æ$}l¼ìB$ÁÅX¥7Ú`Ö"³u?\1d<qWPd\
+\8f/Ì/\14\89%0E½9\12\89XT\98/ÌNO\8e\r÷w»\7fõ´\8dÕ\96\1f@\98ÿO}½þ4uÆq\0O\16¹ö~J{z¡=\azo±Ðr¸T
+\15\18XÊE, ´,Õ\81\ 5\12,ݦL@(DÂ\86Z\r\84¥JQ£\12\81¹\910&,fÄÁbvÑíÿÙó\9cC\roöâÔ%§ûþ\ 3ÏóÉ÷÷\9cç9zêÍLë\17\15És\8dDE]ëÙþÐøWó±\95ï¶~ÚÝ{óû\1foßý\ 5ò7\83\ 1Ë¿{ûçooö~ÞÙ\\7f\12\8dL\8f\fú=MU¥fÍû\ f3-.|E\82w\ 6®·\94Õ\9cìô\ f^\rÏ-Ä\9e­olí¼Ú}ýËÞþþ¯\fg\7f\7fïõî«í\1f¾_}\1c½;3\1a\føZ\9c\15\ 4øC\80Of\9a÷\10Å\ 5\17/¦5\97TÖ·\9d \ùrjnþþ£gk/66·~|¹½½Ãt¶_nmn¼X}\12[\8cÌ\8c\85\ 6ºÚ\e«m\ 5:L*¤ûCDqÁ³
+A\15j\13a¯=ééº\10\1c   ÏF\16¢±ÇOW\9e¯®­¯\7fËtÖ×\9e¯<}´ôͽ¹éÑÐÅsÞæÚr¤Ê\16\v8ðè&À\ 5\9ffy\8e¾ ôx\9d»³ûÂÐÕñéÙ[÷\16\16£÷\97b±e\90\87\ffy9¶ô º8\1fùúæÄHpà\§Ûé(1ëp)üÛ¥{t\ 1\17ÜDl^\96T©É+,«®oñv\9d¿<|mtbzfvîÖí;\91È]¦\13¹s{nöæÔøHh0Ðåu×UÚ,\86\ª\8Ë´¹àð"âì\1c½¹È^í:Õáó\a.\r\85¾\18¹>vcbr2\1c\ eO1\99pxrâÆØõk\9f\a/÷û}íÍÎJ\9bÕ¤VJ\84\82¤7Ëä\97ù\b\9cf>¨WeÈ/¶W9\9bZ=¾î\9eÀÀ¥Á¡+ÁáP(ô\19³     \85\86\83C\83\17û{»}\9e\96ÆZ\aÐj0\99\88,\97Þ,Ç\ fo\ 6\8b\87\88e\98Ú\98O\1csÔÔ5¹O{?9ói·¿§·¯¯ï<\99\03\81K÷õöø»Ïú¼§Ý\8dΪò\12\8bI\83ËÅ\b\17\9e\z³ü~\9aA½BT\8e©\rG­Åe\8eê\13®Æfwk[{\87Çãõz;\19\8e×ÓÑÞÖrªÉU[Un#ò\rj\fhÁ(Ó/\97âÂzÁ8£re®Öh¶\16Ùì\8eÊê\9a\13Î:W}CC#\95&f\ 2\97nh¨w9k?®r\94\95\12\ 5&\9dJ)\83ÚÌ4úåB.¬\17x¹|¡XªÀUZC^¾\95(.µ\95ÙË+\1c\ eÇq\98\ 2VwT\94Û\8fÙ\8a   \8bÙ¤SãÙR\11Ô\1e\8c2].Yoj:ì\17\11¡²l,G­Õ\eó\8eæ\17X¬ÖÂB\ 2¤\88Ñ\10Da¡ÕR`Î3ê5¹¸B\86f      ¸P\v.!ºåÆëM\81ýr@Á"T*W(ñ\\95Z£Õéõ\ 6\83ÁÈ|\f\ 6½N«Qåà
\14ÍBø\1cV\ 6ÐÒ\1få\83z)oz&\ 4#B\91X"\95ɳ\15J%\86á8\9eÃ|p\1cÃ\94
+¹L\8a\8a\84\b\1fT\9b\91v ¥Í=ìÍÈd±¹<¾\0\11f\89Äb\14\95H$Ò\83È\98
+¹ºD\82¢bQ\96PÀçq\0\96¬61-äB/  ¦Ä\1c\ e\97\aÐ\ 2\ 1\ 2"L\86 \88@Àçó¸\1c6\v`©j\13Ó\1eò\1eI!Å\80\9cÉb±Ù\80\rÂM\82À}°Ù,@%­dµ\89j)/\0\1f\88SR\81\19 \ 1\9bL&ó!÷\91\9e\9e\96\96
+­ql\82ÚC` \86f\88\86ì¤
\12¤\ 2+\89M\\e\aSd
+M¹\93\96>\8a[?\b{X|\88\9dt\89\83­ÿÂNÂü\97Ôÿqþ\11`\071\12ü\rendstream\rendobj\r1088 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 1248>>/Filter/FlateDecode/Height 249/Intent/RelativeColorimetric/Length 3506/Name/X/Subtype/Image/Type/XObject/Width 1248>>stream\r
+H\89ì×ïKÕw\1fÇñM=êñüêxô\1c´ã¯â´s\8c\9ch\1d)*W\9ep\13"+%¢d?NJPP\93Òn\b\93(\v6Ú(¤BF7d\93Ó\8d\ 2¡\9a\e\914\85\82(+\10\9a\8d\98å\16Y+ÉÊl×ñH×\1f°]\r^ßçã?øÜx?y}Þ{\ f\0\0\0\0\0\0\0\0\0\0ð\7fõ>\0DÍv\8bþ·Þ½*\ 1\80áiUî]Ù\12c\92\0\18ÖL\ 5ÞUn¶ÛôïÍÔ-Ö5\93)yZ
+\0C\8a\ 5Àd\8auN¢p3u\8b¶-ÚµÔT³9-Ê\ 2À\80¦¯ßlNM\8dv.Ú¸\99ÂÍv¡þ\95é¼E·\9b)9Õ\9cf±Úlv\87Ã1\a\80!EÏßn³Y-iæÔhá¢\e\ 3\17Ë[¬n\16«ÝáLwedºÝn\ f\0\ 3\8a\1e\7ff\86+Ýé°[-3\85\8bïÀÍä-Ål±9\9c®LOV¶7'77/*\1f\80¡Lß}nn\8e7;Ë\93ér:l\16sÊLàf»RÿØ\7fófwf¸³¼y\ 5ó}\vüþ@ \10\80á\ 4\ 2~ÿ\ 2ßü\82<o\96;Ãi\8fûÀ½\9f\90\90\18Í\9bÕ\91îÎÎ)ðù\17\16\15\97\94.^\12\f\96\ 10\98`pÉâÒ\92â¢\85~_AN¶;Ýa\8d\ 6.1!!^û\16\9boÉf\8bÃåñæû\ 2E%ÁeËËW­®\b­\ 1`8¡\8aÕ«Ê\97/\v\96\14\ 5|ù^\8fËa1'Çñ\80\8bö-É\94j±§{¼óü\8bJ\97®¬¨¬Z[½~cMM-\0\83©©Ù¸¾zmUeÅÊ¥¥\8büó¼\9et»%Õ\94\14¿}\8bÍ7\9bÓ=w^àÃà\8aPUuíæ­\9f~\1eÞV_ß\0ÀPêë·\85?ÿtëæÚêªÐ\8aà\87\81ysÝNÛÌ\80\9bíRý3Ѿ\99R,\8e\8cì|\7fqYyåºMuáí;w5îÙÛÔÔ\fÀP\9a\9aöîiܵs{¸nÓºÊò²b\7f~v\86Ã\92b\8a×¾M\7fO\93ÍV§;Ç·(øÑ'\e\84w46·´î?Ðvè0\0\839Ôv`\7fkKsã\8eð\96\r\9f|\14\äËq;­Ñ\ 1\17§\1fÔé¾¥¤Ù]Y\ 5\85¥+>Þ°µa÷¾Ö¶o¾;Ö~üÄI\0\ 6sâxû±ï¾ikÝ·»aë\86\8fW\94\16\16d¹ìi)ñÛ·Ø÷4Óë+Z\1aZ·¥áË\96\83GÚ;NuþÐ\15\89\9c\ 6`(\91\ f\9d§:Ú\8f\1clù²a˺ÐÒ"\9f73öA\8dß¾¥Z\9d\9e<\7fÉʪMáÝ-\87\8fvtFÎt\9f»ðSO/\0Céùé¹î3\91Î\8e£\87[v\877U­,ñçy\9cÖÔ¸í[B¢ÉlKÏ*X\18¬¨®Û±ïàÑï»Î\9eÿùRß\95þþ\ 1\0\86Òß\7f¥ïÒÏçÏv}\7fôà¾\1d\15Á\85\ 5Yé6³)1!^û\96l¶¹æÎ/ZVY\enl=ÒÑÕÝ{¹ÿÚõ\9b\83·n\ 30\94[\837¯_ë¿ÜÛÝÕq¤µ1\[¹¬hþ\\97Í\9c\1c·}KJN³gx}ÅË«6oonkï<{±ïê\8d;Cw\87ï\ 10\98á»Cwn\í»x¶³½­yûæªåÅ>o\86=-9)\8eûæÈÌYPR¾¶ngË×\1d\91ó\97¯\ e\ e\rßÿýÁÃQ\0\86òðÁï÷\87\87\ 6¯^>\1féøºegÝÚò\92\ 59\99\8exî[J\9aÃ\9dûÁâUÕ\9fíúêÛSg.\ eÜ\18úmdôÑã±'\0\feìñ£Ñ\91ß\86n\f\<sêÛ¯v}V½jñ\a¹nGZJ\1c÷Íâpçù\97¬^ÿEãþc\9dÝ\97®Ý\19\1eùsìé³çã\0\fåù³§c\7f\8e\fß¹v©»óØþÆ/Ö¯^âÏs;,qÝ·9î¼@°bcxÏ\81ö\1fÏõ]\1fºÿÇØ_ã/&^\ 20\94\89\17ã\7f\8dýq\7fèzß¹\1fÛ\ fì  o¬\b\ 6òÜsâ¼o\9eü@0T³moÛñ®\vWnÞ\1dyôt|âÕëI\0\86òúÕÄøÓG#wo^¹Ðu¼mï¶\9aP0\90ï\89ÿ¾\15\96\85\9b\ e\9d\88ôü2øë\83ÇÏ^¼\9a|3\ 5ÀPÞL¾zñìñ\83_\a\7fé\89\9c8ÔT_\13*+ÔèÛ\9aÚ\86æÃ'#=ý·\86\1f\8e=\9fxýfê-\0C\99zózâùØÃá[ý=\91\93\87\9b\ej×hõítïÀí{£OÆ_NN½ý\e\80¡¼\9d\9a|9þdôÞí\81ÞÓô\r\80\12ú\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢o\0TÑ7\0ªè\e\0\r\80\ 6@\15}\ 3 \8a¾\ 1PEß\0¨¢oø\ fûuÖÒV\ 2\86q¼.Ù\9731æ\ 45\1a£Ä&\15SqIQ\ªÉ`+\88[DD¥KT\ 4\ 5mp»\bTÄ¥Ðb\8b":Hé\85´!s¡ ¨µöB\14\9b\82\82¸\8c X§HÕ¶bƪèhí0'ÚÂ|\80\81rÎy~ßáýó¼\0L\85¾\ 1\0S¡o\0ÀTè\e\00\15ú\ 6\0L\85¾\ 1\0S¡o\0ÀTè\e\00\15ú\ 6\0L\85¾\ 1\0S¡o\0ÀTè\e\00\15ú\ 6\0L\85¾\ 1\0S¡o\0ÀTè\e\00\15ú\ 6\0L\85¾\ 1\0S¡o\0ÀTè\e\00\15ú\ 6\0L\85¾\ 1\0S1½oÎq×òú¶ûàøôìÛ?\0À*ßÎN\8f\ fÜÛëË®q'³úf¶\947tô9Çß,½ÛÚÝ?:ùzö\r\0XåìëÉÑþîÖ»¥7ãξ\8e\86r\8b\99\19\eÍ\96²úö^ÇØÌâÚæÎÞáñÉéW\0`\95Ó\93ãý\9d͵Å\991Go{}\99ÅlÔÓ¿o¤Zo4å[ëZ{^\8cLϯn|r\7f9<:þ\e\0Xåøèð\8bûÓÆêüôÈ\8b\9eÖ:k¾É¨W\93\eAªuñé¹wm-Ý\ 3Ã\93s+ë\9b\9fÝ{û\a\87\0À*\aû{îÏ\9bë+s\93Ã\ 3Ý-¶»¹éñ:5IкoB\82\f¹\1c\97\96s»æþãg\83\13o\17Vßo~ÜÙuÿ\ 5\0¬âÞÝù¸ù~uáíÄà³Ç÷knç¤Å]\ e!  !\8dûÆ\15\12\8aà\88\98Ô¬ÒjûÃ~çèÔìÒêúÆ\87­í\8f\0À*Û[\1f6ÖW\97f§F\9dý\ fíÕ¥Y©1\11Á
+BÈ¥sߤþ*mtRfQec{ÏÀÐÄôìÂÊêÚú\9f\0À2ëk«+\v³Ó\13C\ 3\8d\95E\99IÑZ\95¿\94Æ}óá
+$ò pCbF\81ÕÖÜÙï\18~5å\9a\9b_\Zþ\ 3\0Xeyiq~Î5õjØÑßÙl³\16d$\1aÂ\83ä\12\ 1×\87¶}ã\b$~\ 1\9aH£)§´ª©­ë©chôõäô\8cËõ\16\0XÅå\9a\99\9e|=:äxÚÕÖTU\9ac2Fj\ 2ü$\ 2\ e]ûæåÃá\8beJµ.&%³ÐZk\7fÐÕ?à\1c\1c\1e\19{9þ
+\0XeüåØÈð s ¿ë\81½ÖZ\98\99\12£S+eb>ÇÇ\8b¶}ã\89\b\85JkH0g\17Wܳ·uöô?\exîp:\7f\a\0Vq:\1dÏ\a\9eõ÷t¶ÙïU\14g\9b\13\fZ\95\82\10ñèÛ7o_\9eP*\ fÐ\\89\91WRQÛÔÜþèIwOoßo\0À2}½=ÝO\1eµ77ÕV\94äÝH\8e½¢    \90K\85<_oúö\8d+\10ËÈ`m\94ñúͼbk\95­ÑÞÜÒÚÞñ\0\0X¦£½µ¥ÙÞh«²\16çݼn\8cÒ\ 6\93\80K×¾]òò>\7f\ 3CuÑ×R3²\v\95Õ5¶ºú\86\86F\0`\95\86\86ú:[Mu¥µ´0;#õZ´.4Ðÿü=õ¦gÞ<}£\ 6\9cDF\ 6\85é¯\1a\93Í\999\ 5E%·îXËÊË+\0\80UÊËˬwn\95\14\15äd\9a\93\8dWõaA¤LBÍ7úö\8dzP9|\91ÔO©
+ÓEÅ&¤\9822³rró-\96\ 2\0`\19\8b%?7'+3Ã\94\92\10\e¥\vS)ý¤">\87¶ï©§o\9e\ 1'"äJU¨Vo\881&&¥¦¥\9bÌ¿\ 2\0ë\98Méi©I\89Æ\18\83^\eªRÊ     ÑÅ|£iߨ\aÕÛ\87Ã\13\88  ?20X£ÕE\1a¢cbãâ\8dÆk\0À2Fc|\lL´!R§Õ\ 4\a\92~\84XÀãøxÓõ=ý>à¨À\89¤2\7f2@¥Ö\84k#t:½þ
+\0°\8e^¯ÓEhÃ5jU\0é/\93\8a¨¼Ñy¾ý'p\12B&W(\ 3\ 2UÁ!!jJ(\0°\8açîCB\82U\81\ 1J\85\FHè\9f7ªoç\81ãò\ 5\94\90ùÉý\15$I*\ 1\80\85¨ãWøËýd\84T,\12ð¹\17y£qß.\ 2wQ8¡H,\91H    \82ø\ 5\0X\89:\7f©D"\16    /êF÷¼]\ 4\8e\9apTá¸<>_ \10RD\0ÀB\9eë\17\bø|\1e\97ª\e5Þh\9f·óÀy
+G%Î\97CE\8eÂ\ 3\0V:\ f\0\87j\9bg»yêF÷¼]úQ8Oã<|\ 1\80µ.*àé\ 13êæáõ\9d7\0°Þ\8f\1eüì.ý¿¼\0\0¼\98V6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ø\89þ\15`\0îÛäH\rendstream\rendobj\r1087 0 obj\r<</I false/K false/S/Transparency/Type/Group>>\rendobj\r1049 0 obj\r<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>\rendobj\r1084 0 obj\r<</I false/K false/S/Transparency/Type/Group>>\rendobj\r1086 0 obj\r<</BitsPerComponent 8/ColorSpace 1048 0 R/Decode[0.0 255.0]/Filter/FlateDecode/Height 152/Intent/RelativeColorimetric/Length 1169/Name/X/SMask 1108 0 R/Subtype/Image/Type/XObject/Width 647>>stream\r
+H\89ìÖAvä \fEÑdÿ\9bîQú$e\f\12\bôe¿;­\14\96Ñët¾¾\0\0¯òý[ö0x£ï\96ì¡ð*Í\ 6)\11'u"$D\9c1\88\90\10±\9f!B:Äf¶
\10;Y+¤CyöUªí³êÜøàLPk¥%\87ÆÅd\84"[­71Z\96*L_kµyÑ´\1aaòb\8b\8d\8b\88
+\137[jXÜ
+Ê0i·\95fް
+Sv[hTt\ 4V\98±Ü:\93¢'²ÂóÛ­3)zâ
+ÌØn\99\17Ö_Æz«Ì\89\91¨úRö[dL\f\97±ß*sb(&½\9cý\16\19\13C1áå,¸Æ\940\bÉ.gÁ5¦\84EDuI\e.1$l"ªKÙp\89!a\14\10\86K\f       £\80èRV\`DØ\ 54\97²ã\ 2#Â! º\8c\1d\17\18\11\ e\ 1Ñ%ì¸Â\8cð\bبaÇÁ{ß9jeùï5ûèÀ\8d6îÀ¼öÞç\97϶\8dÛ¿ ÞÝ9^çcþ\89Ï\87g\9a¾ê|@ôã\r\a¬\1a\1c<\9c ÿYÜ\9c÷3ÍLö}óÁøº\1d\9f{Whû\82õà\98Ç»OÙføð\84Á¬÷23Ùðª\a\9f¯¬Ïö\ 5빫\8f\97ÊP\93ò¥¬,Ïö\ 5ë¹î[¢C/å\eYY\9cí\vÆ\83g\1fO\86\8f°´7ÓÏ[\ f\9ex:\19\81­í:\99\f\1f¤òÒÈð9
\8c\f\9f£òÆÈð9*ï\8b
\80\f!\80\f¡\80\f!\80\f!\80\f¡\80
+!\80\f!\80\f!\80\f¡\80\f!\80
+!\80\f!\80\f!\80\f!\80\f!\80
+!\80\f!\80\f\91\8f?\r!\80\f!\80\f!\80
+\91\8f_\86\10@\86ÈwS!\19â$2D>*\84\02D¾»
\10\a\91!\ 4\90!\ 4\90!\ 4P!\ 4\90!\14\90!\ 4\90!\ 4\84gHÃð\v­\90ߥ\98\14\95!ÿ¥cA@\86üe\89\19FþeéEñ\ fQ9CÝß¾º\93\89Úð\7f2\19
+O&ªp\86dz·Ó\9dLÔr\85dx¥;\99ªõ\88ÈðBw2Uë\r\91á\85îdªÖ\v\vÝÉT\ 5\ 4\94\94¡ð®u'S\15ÑON\87º\19êN&+¢\1e2üKw2U1ñ\90á\1fº\93©"Ã\rt'S\15ÔNF\87ºË\96\1d\ 32<ñ,\1fÝÉDE¥C\86¿èþ\9aV\15VNF\87ª¸\ 4/2Ü\80Kp\8a\vç3Ã7¯\80;p"Ã\r¸\ 3¯\8d\19¾w\a\\81S`6dø\1fWà´5Ã×.\81\eð\89¬\86\f\7fp\ 5>¡Õ42|é\12¸\ 1\9fÈhZ\15¾t\v¯¿\0\9fÐhjdxb"é\vhJ\1d34\9av\85rk81\91ô\ 5\8e\19\eÍ]\86Zk81\91òû·äÎ\19ÛÌm\85Z{X\98ÈúEé÷oÈ\9d\99N\86J{\98\1fÉü=é÷¿H\1e\99^\85ÞC7^ÈôkÚ¿·åßá¶Jrÿ¹\84%3>Î{èÖ\e\99|Mû\9bÄÝéõTÛÏùÏM\v\19Óq\9eC7ßÈÔk:ÞdêõG³X'^}¯m·n\7füÂ4\86ã¬\87î¾\92\99×t¼ÉÔëû\ eµÍ9û^ïƭ¥\7fW1ï2wäì\10v!#µ¿8u\ 1S\87\9aæô_Äø«\83\1f±>{ôü#\16\ 63¼ÞÔËËÞÕ=Ë\94Þkè\7fµû3ög+Ýëä\Ýw³\88\1fIÞü{­_\86o\ 3el¬\100#C\b B\b B\b C\b B\b C( B\b B\b B( C\b B\b B( B( B\b B( B( B( B( BH B( BH Bh A\88 A\0Àóü\13`\0Õ©àq\rendstream\rendobj\r1108 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 647>>/Filter/FlateDecode/Height 152/Intent/RelativeColorimetric/Length 41955/Name/X/Subtype/Image/Type/XObject/Width 647>>stream\r
+H\89ì\97çS\93é\1a\87W)é\8d$\84\14H\b5ô*-AdQ\b(¢t¥¨ \b"(*,½\ 6\13A@C\95\12@:\bH\17)\ 2*¨¸¢¢kÝ\99\9dý;öÉ\9b\9c³»ç|8IÎÙ÷\9aÉ$\99÷ýpÏ<×ó»ïû»ï`````þVìú\16u\17\ 3ówä«\7f»wÃ*¨\ 3\85}»wk}Eþ\176\11Fu(\1cÔÒÒÖÖ\ 1è\ 2À\97¶¶¶ÜEXD\18\95\0I(WP\17\81@"Q(\14\1a|PH\ 4B\17¨\b\8b\b£
+\94\12\ 2\a\91(4\16\8bÃã    \0<\1e\87Å \91r\13!\11Õ]%Ìÿ7\9f%D¢0X<\91D¦P©ú\0*\85¬G$à0($$"ì!Ì\7f\13`!$!\1a8¨G¥Ñ\99,#6\9bÃa\e\192\194*\99\88Ç \10º°\87ÿ\vìúÏPw¹ß°\v²P\17\81ÂâI\14\1aÃ\90cbfÁ³²\ 6ð,ÍM\8c\8d\184
+\11\87\ 1\81\b{¨Ù(ÕÚýï¡a*B\r\19D!\ 6HhÀâ\98ZXÛ9ºìq÷ððpwsu²·±4e3id\ 2\16\85\80=Ôd\94\ 6jÉÑþK ×´¾è¨îâ\95\r\19\81Æ\12È4\16ÇÌÊÞÅ\9dïóý~\7f¡P\18pÀo\9fÀÃÅ\9egjD\a\81\b{¨É@i\ 2üÓÑÑÑ\85@ü!\8açºàMHG\85\89\1e4d$\1aO¢2ØfV\ e{ø¾þ\aCÂÂ#£c¢£"\8e\86\1e
+ðå»ÚY\183©$\1c
+\9a\ fÕ[/Ì¿\ 4\1a¬äó=\ 2\81D¡Ðh4æO\ 1/ Q($\12( \T\9a¨Öò!\v
+\r¹<û=\ 2¿ÀÐ\88Ø\84S§Ï¤¥§§¥&\9f8\1e\19\1aèëédÅeé\13±H]m8\ e5\11(
+åK&
+\8dÁáñ\ 4"\80ô\87È\9f\12   \ 4<\ e\8bÅ QH ¢¶zETX\88Â\12(t¶\99\8d\8b×÷AaÑ   ÉéY\17\v\8b\8a
+ós²Ï¥$D\85\1c\10¸Xs\99T\ 2\ 6©\ 3Ç¡&¢\1cïQ\18\1c\81D¦Põi\ 6\0ú\17\fþ       \1aM_\9fJ!ë\11        8,0Q½"~¶\90Hep,ìÝ|\84¡Ñ\89©\99\97\vJE\92\9aÚººÚ\1aIeInVÊñ#Bo\17+c\ 6\19\8f\86ãP\13\91\9f£\ e\ 2HH$S\r\18,#6Ç\98Ëå\9a|\85û\ f\18\es8l#C&Ã@\9f¢GÄcÑH\84RD5U¯°\90Éå9zú\1d\8a\88OÉÊ-\16U×7¶¶Ëºº»:Û\9aê%¥9é     G\85\ 2'K6\8d\84\85ãP\ 3QZ\88%èQé,\8e\89¹¥\95\8d­\9d\9dý·ØÉ±U\0ý²±¶âY\9a\9b\1a³Y\f\1a\85D\0"B\89¨\ e\ f¿±ÐÊYà\1f\1as*ãr±è\9a´Uvkpdl|bbld »µ^\94\97\91xÄßÓÞ\94IÁ£äq¨úJaþ\8c¯ó=\93cƳutqóðäó\ 5\ 2o%\ 2\81\80Ïç{yyy\ 2¼\14xz¸»¹:;ØZY\98pXtª\1e$¢Z<\ 4\97\bT/·ÐÄÚÅ[xäxÊùü\8ajéÍ®¾áñ©¹\85Ååå¥\85Ù\89ÁNé\95¼ô¸\10_W+\ e\8d\88AhkÁ]Y³P\84!\1a¯\a¶LK;gwÁ>?\7faÐÁCÁÁ\87!\82\83\ f\1d:\18\14\14(\14\ 6\0\84Â@\b\ 1¿}{½Ü\9cí­Í¹\86t* \8f\ 1\81¨z\ f¡êÁ\1d\92[èº70<!ýR±¸¾¥³\17H8¿x\7fýÑæãÍGëK3£]RÑå\94¨@¾½)\83\8c\83»²Æ\ 1Å     
+KÒgqy\ enÞ~\81\87Ã"¢b\8fÅÅÇ'@ÄÇÇ\1d?\16\e\1d\15\19\19\ 1\88\8c\8c\8a\8e\8e\89\89\89\8e\8a8úÃá \7f_\81»\93­\ 5×Ð\80LÀ¢\10*÷Pq\870\ 4
+\83\v,\f\8a8\91\91[^ÓÐÖ30zgæîÒê£'϶_¼Ü~¶¹:7ÚYW\92\95\10êëbiD%À]YãP\86!\99α´w÷     8\1c\1e\9b\98\94\9a\9e\91\99\ 2Äù¬Ì\8c³i©)ÉII§N\9dJJ>\9d\92z&-íÌ\99\94ä\93ñ±\11?\1c<àãálcÎaP\898Õ{(\1f( â\8d­\\80\85'3óEu-²¾á±;Óó÷V\1eln½Øùùíϯ·\1fß\9f\19h\11ç\9c\8eðw·\ 6]\19\8d\805Ô0\14]\8d¨Ï2µqõ\ e\b\8dNLÉÈÎÍ/*-¯¨\14\89D\95\95\15e¥Å\ 5\97²\81\90YYç³/^Îý1/??ÿÇ\9c\8bç3RN\1e\v?ìïãîÀã2õI8\144\1fª°v(Éqz\ 6lK'ï@`aÁ\95\em=\83£ã\93S3ó÷\96×6¶^¼y÷áãû7Û\e\8bc²Ú¢³±A|;.\9d\84\91k\b{¨I\0\rÁ\88O¢±-\1c\82£N¤]È+\11]­½ÞÐØÜÒÒÒÜÔ(½^[-\16\95\97\14\16äçå\17\14\95\94W^\91\­®¾*©ª(λ\98\91\1c\17\11¼\9fïlmÂÒ'a¡n§ºóý|\85\fÍ\1dø\ 1á'2\vÅÒ\8e¾\91ñ;\93SSS3s\v+\ f\1e?ßy÷ñÓ§÷;[«S½Ò²¬ø`o\aS\86\1e\16\f\87°\86\9aÄ\97@áð\9c\ 4\ 1aÇS.\80EóFKGwoÿàÐððÐ`ÿ­®\8eÖÆú\1a±¨¢¬¬¼¢JRS'mj¹ÙÖv³¥ñzµ¨8ç\ò±0¡·+ð\90JÄ UÙ\96\82Z2\85ijçq ,á\\81¸A6069==591>\ eúòÒ\83'/Þ¼ÿôéÃ\9b\9fÖg\a\9a*/$\86ø8\9a1ɰ\86\9aÆg\ré\1c\9e³w`xâÙ\9c²ê\86ö[Cc\933ów\17\16îÎÍL\8e\rõÊZ\eêªÅU¢*qu\9d´¹½«w\0(:ØßÓÑ\/.¾\94\9e\10\1e´×Õ\9aË àÑ\bÕ-¡òý\ 4,Wz`0Üã\e\12w6OÜØ5413\aJ\1e\1f\19\1a\1c\1c\19\9fY\\7f
+<üðîõ3 a³(ûD¨\8f\13Ð\10\ak¨a|\93\86ÎÞÂðÄ\8c<QýÍÞÑ©»Ëk\ f7677\1e®-ß\9dºÝ/k\95^\93\©º"©¹ÞÔÞ3xûÎô¬ü¸Ç\ 6»[ëDyçNF\ 4íuæq\fôp*lËÐr\ 5\91\85\93÷Á\98ÔÜ*i×ðÔü½{óÓãÃ}ݲÎî¾\91É\85µ'Û;o^¿x²:ÝßX\ 1§¡Æ\ 2ÍW`64²päû\1fI8\9bWu£shòÞÚæÖöËW¯^nom¬.L\8dôÜ\94Ö\88++*«®Ö7uô\8dNÎ/Ý_[_»¿8wgHÖ()Ì:\19.ä;\9a\eê\131*\8b\ 5"3Lì<\ 3Â\93.\96_\97\rO/,¯,ÍO\8eôv´4H\e[e\ 3\13ó«\e\9f?}¸8Ñs£43\ e\9e\r5\14\10¨,S[w¿\90cgr*oÈFfW6\9fï¼ýðñã\87·;?m¬Ì\8eö´ÖK*J\8a\8aJEÕÒ¶ÞÛ3\8bk\eO\9f=ÛzüpenìVóÕÂÌİýî¶\\ 6\19Ä¡ª4Tì'46ÏÕ74!³¸¶}hzqu}myn¼¿£¡V"\96\\93\97:»´öèÑúòÌP{MAzL\90\97\1d\97N TºIÁü5Ê9\9fL7æ9ï\r\8aLÊ.«ë\18\99[{úêý/¿þöÛ¯¿¼{ùäwö«ü\1fêí\8d\7f­Ã\183\86Y,3vÙE\14¥BQ®%E\8b¤\\15J×RH]\89R´(©\9bÐWu)7¥¤\14)R\8a\16Y"Y\92ݵEËý\ 3¾ç\9cÏg>3\18Ò}u»ß\1fz~\9a×<ç<çý¼\9f÷ç9Ïy\\9c\97\95züàÞ_wí\8a\8aMHJ˺VXö´¦\ 1\voê«+K\v.\9fM\8c\ eÚ°ÌÖ\O\95E#\7f§\12\10¼OtL\178{m\8bJ<{åÎ\83
+ ¸²¢ëY©I       ûbbâ\ e\9fHÏÊ-(.)½_xýbJBdÀê%V\86êl9\84ñ\9f\87øÃ¦o¨\9cR\149\16WÇd®\83ûÏ!1Ç3rïVÔ6wô\r\f\r\rô¶7Õ<\ 6­äTBtDhPPèÎè\84ä\8c\9c\82\aOkß¼mïh\7fÛôêyYÁ\1f©\87v\ 5¬q\9cg¬©\84.¼ïQc¬\19ÒÙê\ 6\96ö+7Għ\ºUZQõ²ªòÁí\9c\8cäøè\9daa\11QqGO\9fËν\91\9fw5+-qo\88Ïr;s=.\93\8a\ 6Ø\7f\1eâ\ fû
+C·2\99\ 4\1e)6.^[w\1fNÏ)zR×ÒÕ?<ò~èÏΦêò;\97Ó\13c·ùmܸ9pGô¡Ó\99y÷*j\9bÞu÷ööt´Ö?/ÍÏ<µ?ÔÇÍvÖ\f\ e\83ú\9dne\0\eo\86\v\aÇ\9c¸\90wïIUmíËÊ\92\9b\17Ï\1c\8e\ eÛ\16à¿%(<:>éLÆï\99¿g¤$î\vó[ãhm¢\r\ 6\87ïô¥ü°¯0\11¬¯Ð\98*ZÆV\ e\1e\9bÂ\ e\9cξ󸶵{àýèèp\7fgÓ˲\9b\ eDnóõZ½zí\86\80\1d{\13Ósî\94W7µ÷ö\ f\ eôuµ¾ª,Îýï\91ÝàÆ³4P\ 3·òwi5h\96\0\93!h\86\ e«ü"\ f¥å\14\96WÕ5ÔWWÜ»~þÄþ\88­¾Þ^ë~ö\ fÞ\19\93p,ùdòñ\84½á[Ö¹ÚZ諱éØ3ê\87\ eÿ¿\fÈ\10LY\14:[MÏÜfÙúàØä¬[\8fjZº\aG>|xßßÑø¼äZƱè`ß5nÎN®\1eÞ\ 1áq'3ó\1f¼hlï\e|\ fÛesÍ£\82\8b'c\83½§\9cÿE¾mÝÑ·#« ¢mºÀ\ 5B\ 6\88\9eÕ5¾i¨~\t%ýHT\90¯§»\9b\9b\87§O@ÈÎ=±ûöEG\86ú¯[noe¢­Â \82Ñ\10Ê\90\12Ö¿n"ÿz^\7f÷h\11üZf¨h\99Ìûimà\9eã\17ò\1fâ2\1cþ³½¡ònNjüNÿµ®\ e\8b\1c\ füõHúÕâ§\rïz\87F>\8c\ eõ½{ý´øJZ|¸ïr\e3\1d\15\ 58\1c
+\0\11\99`SÀ\9fÌ?Á\87&Z2\8d¥¦?Ç~¥_äáô+w+j\1a\9b\9b_¿,¿\9d\9dr0Ü\7f­\9b£½ý\12ç\15\9e>~Û\82CC~     ðõts\98\v\9a¡,\18\rÅDEE§\81i|
+S¸Æû¦\ eý%B¦CØ\94{¦µõ\9b
+öë\8f\9f\10\0\16
+\1d»á\ 2v'\9e»QV\8dd8:ÜÛV÷ø6èu!>+\1c\16\99»p©\87ïöý¿]ºý¸îmÏÐèÇ\8f#\83ÝÍÕe7Î%îö_¹ØB\97Ã\10\98¼p0¢\826uÍ\84$ Ì\87#\96WÒ2\99ï¼.(&9ófYUCËÛ\96×Ue73\93cB|Ü\97ÚZϳ¶±wZ¾Êk½Ï\ 6oOw§EóÌô4\94\194\19)I  q1Â\bPÓ$w¼O0-\91I6         99!cY\9b^Aù;þn^S\ 5þ⺱\90¿
+¹`\14p-\93È4&WÏb±\87\91\8c¼\a\98\fG\ 6{Zj\1eæ\9f?öëVO§\85³Mg\9aͱqö
+\8c:v\1e\13êè§O\1f\86û\80R\v²ND\a®Y2G_\95\89½Qø¸ %â<Ãù\11\847fá8ú&õÁ9\82LeruÍ\17¹o\8aHH\ 3Ͱ®¹­­µáEiÞ¹cQ[׺ØY\99\9b\99YXη[âäºl\99\8b£ý\ 2KS=M\15\16]\96,E\92\94à\e\ 25\ e\93\04ÁÒ
+@ã!\9bXõ)Òá\87\14ÃYá-!\16\8c?rRl\13ab\11§\9b\97À)¢\93\9c D\Â\84%´ÐâS\ 5\9e4\ f\81g'g\86¹\9dûf(C¬\e\8e\8e\ft5U\95\;{(b\93»½ÕL\ 3=\ 3Ó¹\ e\1e\9b#\ e¥ç\96¼hê\ 22üüi¤\1fÜÛEÙ¿Å\ 6y9Z\19¢7
+&C\84\fò"))IÂ\füÂø\19s%â\f\12ô\89\8bñïL,Æx\1fP!lß\8a\1aFs\1d=\ 3÷$]È/«j|ÛÞÞÚðì~îÙÃ\91\96ZÏ2Ö×706\9dm5\7f¡\8dÍ\ 2kËYFº\1a\1c\ 2MVFZ
+7ô\83DÂ0aG\8egW\10\99\84\10d(;^Vbx±\84¤3&Yä\94\94Äwò\ f\1fÏ\9aäX¾&\15!"\ 4m!\91øyI
+Ïë?üCÄÇC\14.nB]\84®'a\89_hÁJO\ e}B*ØÀ\8fËð(¸\94kZ{\80\fá\våYqÎ\99¸Ð\r®6æ\ 6:Z:\ 6à\15ã³ýÀ\99\9câg\8d\9d\ 3£\9fÿú<:Øù\ 6¬I\89\vñv\9ag¤Î\ 62\14Ç¥".\ 1y\91\96&\93e0#\93¥¥Q/â\97\ 6\11"!\81\13\ 2\18/\b\88"MH\ 6\12\b\87Y\8e\8e\19B\93r¹¨¢®¥½³£µ\1e\8c©©ña\eW,¶4ÑÕÒÔÔ\9e¡o4ÓlÖ,S\13C=m5\156\83N\93¥Pdd(\14YÜ(\10\14Ä\84*&صx§Kò\90¡Ê\12\1f\ 2\86\fâ"Cl$\14B\9cW\10\b\84\84ù\90\91ñv
+H\98Ï\1aî\87§N"D\9cA\1c
\99H\8c\9f\97ظ¼x\e\b\8c¤ Ù\væO|\10\92DöIJ±õ\13\f?³É \v\93¡\bO\86\8b<üw'\9eÏ\7fTÛÚ342\ 2_(\15\85\97NÅüâõ\93õÌ\19\1aj\1aº3­\9dÖ\ 5Å\9eÊ.¬|ÝÑ\ feøa¨»éÅý«©\a¶¯w¶6Ö`ËÉ\90\88"\91)²T\1aM\8e\8e\99\1c\8d
\91&\11åÄX\aë\8040úp?\ \8e\ 5!C\17\95\8a|(7`RdYyEuC4Ë\1e͸^ú¢±­«»³µ¾²èrÊ\81í>nv³\rµÕ¸\1c®ª:\90"0mM5®2\9b©@\97\93£É\ 1
+
+\f`
+
\10\148\13«\18¿m¡\8e\8b\10\95Å\ 5+.\80\f¤G\ 3à(È\87\f\17Ä\98tðû\17m\93Æ·É\ 1,\88\10\9e\Äøl`qQdx*Â&ì>$\18\84[\0Ïcòâ\87Æ\95 "°A\9a§Y\ 2¢\80ÀÐÜ#øAÈð>   $kbdâE#R¢\13\95¦ñ8\19\13ø\8bÝPZ\96ÁÕ\9bm¿jKTRæ­òº¶^ Ã!øB)ÈL\8aÚ²ÚÁÒHK\95£ªm<w©ç¶½É\17ïT4´C\19þõq¨»¹ª$7íà\8e\r.óM4\15é2R@C\183²T9º\ 2\83Éb+*ASd³\98\f\90ȼrò´\8a\18Äø\83ôñj\8a\82Ðä\90\v8ér¨*Àddé,î\f³\ 5.ÞÁ±'/\16\94×¶tôôvµ¾ª(üãt\¨Ï2[\v\ 3-®²¢¢\92²
+\87\v\8c£\ 2NgÂø\f\80\aþ­Âáp9\1c\15e%6\8b\ 1Ï\94Á\8b-J\88\10±\v\8e\a\95\85\82%\90I#d\f&\93Åd
+B#\ 4\83\89\\ 2\935L\88.\ fI\81Æb\82\15T
+öåÁÆ\ 3ÂRx¬A7\88\8c\ 2\0\8b\89ÍÈ\12\ 4I\f\19æÅáç\ 5\ 1\93x"Æe\83\89\96
+i\85\86\ 4\v!ò¥\8e\13Ào#Ðð/Fàk\15å\1dOÁj\ 4\10c\85VR\ 4¥F\9c\b\1c?M\19R\99ªú\96K<\ 3\91Æêßõ\r\8f\80\17JkÍÃ\eç\8eîÚì¾ÈB_\83£ÌÑ4´\²fë\9e\13\9fÔ·÷\8f \19ö \19Æïðq\ 52T¢SÀÁX\91è
+L¶\92
+èH\1a\9a\9aZÀ45ÔU9Ê\8a,Ä,ìk$\94(\150\b\94\81ô\ 2å\82ùÉXE©X\10Ü\aû\19 \ 3P#Ïâh\19Y9¬Ü¼óPÚÕâ§\rmÝ}}]o\81\f³¡\fa7Ôâ\82åÀX¨\9e\98±Ùÿc¼Ê\7fã*¯¨Ò¬uâÄÛØ³ïû¾ïãY=ãÙ¼ÍØãñxÁÆv¼&PÑ"è\12¨ iE¥ \85\94¢H¥¥¥¤ ZhU\ 5J\eÑ\15\bA-\88$\8dX²A°\13ìHé?Ðs¿7qBU\89¼_ß{ß=÷ÜsϽ\1f\ 4(\91É\95*\8dV«Óé´\1aµJ\ 1\9fäóZ\9bvopÌÑ{+\ 5!\14\8bè@Î\15\96A\ 3ìV\1e_\bÃ\95\f\1aÉ\14\ f\89¬½\83é_Léðn¥[?²\1d¿Ier\85B!\97Iðg[\v·±re\a\e\8c5\99\.\97I%"â\ 3ضÿo19ÃB¯p0éL䥾\99\97R!\13Ãÿ[\9a\1aI        [6\96\1cj®:åBQ]°\80\88V@ö·      \f\ 4à;\9cÌÔÅg\1dÃ\12á\ eÛè\81ÿWhª4Ëì¶ðw0\98qâ¶\86=í2S ;²üð\13Ͻòæéó\9f}¾¾¶zéÜ©\13/\1e=xßdoÔ¡\95
+\ 5"\85ÑÛ54ÇÉðãº\f/ß&C\95 ¥±\81ô\ 3\8cD®Ôè\f&³Åj³Ù¬V\8bÉ Ãx\14ñy\9\e¨\8f\9aÁºX¦\800tz\9dN£RH\19óLmt\88H\8aw:½\1eÜ*å4YáK`]¬4ºcÅÑåï\1cúÙ˯¿óï\vWV>»L2|îG\8f|m\12\17*«VFS¸\85\1eô<ódV)\ 2d±Ù\9dN\97ËåtØ­f£N­À¹m¬ØÛØ2Àè\85ÎÚ\ 5\96\85\ar± ½­Þ\a\80-\94(ÔZ½Áh4è\184>Ì\8b¼\16\98\ e\97îNò9.!5#Åb6\eõZ\95\1c§r\1fìb"\15Hä*Æ\9aÙl¢\93¥Øi\9b\1a¡\92ÛuX\97\ 1©àæ\99Z\96\97c#/\83N%\97\bÚ[¡\ 4ful'`²iá\ 1»L©\ 6F°Ê ¶Õ¥^ßaÙ\87»        \fu­¢Þ1\94\b\ad3׫_`\89+t½ÒÈL\83ðB.<'ð/\97á\96m\rM|\85%T\18Çýãù×N\9e½¸²¶¾¶rñìÉ×\9e\7fò\91
+a\9bZ"à\vå$Ã[nx\83í\86çNýñ\85§\1e½\97\86²JØJ\97\0\86\r\99¬v\97Ç\17\b\86Â\91H8\1c\fxÝv\8bA£ x´?°6\16ËTZ£Åæty<\1e\97ÓfÆ{)S\e\1a\96«õf\9bÓíñ¸]v«\91\98\15     àO2µÉ\15É\ eÍ|ã{Oâ\82òÞ\87\97WVW>ù\10»á¯~|ðë3CÝ\11§Q%\85h0r\9aØ\84$®ä*\9dÑ\ 2@þ`8\12\8dÅâñX´3\1cðºìfv\81i%\8e1C¶q"lë\10I\95\1aºã¸(¼Ón1jUè¡v\86\8c/\92©\b\99ÇëóyÝ\ e+\89Y
+ÿ\93È\14ÜÅ\b?¹ëé\90\18\18\ eÆ\8aÆ\0\f^\7f0\14
+\ 6ü\1e§Õ¨Ur|\0'\8f\8e\ 5kN"-\18\føÜ\ e\8bA-\17µ·ìÙÉéð\96\15\92c74\82\83\86Añqyá\89FBÈËfÒ©¤Büˬ\ e\ f\rP\f\12\b]ML8]n\97ËaCör1\9f¤¾\9d\9b\ 6L`»\9aZ\19\ 1:#ë\18\93\815\f¯\99ép\vÛ w \aZ;\84\1cKN·×O\85f\95\ e\ 5|\1e'\85\97±ð\10ø\1dÌeÈpûÎf\81ÊÞÙ;yß÷\8f¾xâ\9ds\97Vר\rå\8dW~ùÄCË#Ù\80Y)âw\b\15F\få\85o×wC&ë\97niÕª\12ñ\9a\19ÝÀ¦3Ù\¾`g,Ù\95Éæò\85B!\9fëîJD\83^\87Y§$Ëã\91s\80B£ÕIß%R©T"\16 z\1cf=©M\bWQjM6w Bï\92ñÎ\90\97\8a\ 6ËWªõ\16w$S\9aÜ\7fàÐO\7fsâí³\17®\½¶úéÇï¿ù\87\17\8e>öàâho2`7lè\90\86\86PJõwxpX2Ý\9d+\14{zñô\14\80)\1e      ¸mF51F³i\aÍNª\81\fQ\1c^.:\vïsZ©G\80LDj²\ 2Y<\95N§S\89\87¢\etZ­Þh¶¹¼Aü\94L%\91NÀSO·\ 3v\8c²êÌ\ eO°3ÑÕ\9dËçóÙL*\16ö±\ f\84ô\ 1u\9dÁêò\87c)`ÌåºÓÉhÐcC&üV¦Ã¯l\\ eh¼2M ©\1dì\9e@\18DãÐb\ f\12ë)\16r\99T<ìwYõ`\81GV\87­\80Æl3O a¬úC <\99\88\ 1\8fݨ\91\vÛ\9b9\1dnf*llâ   ¤t²\9b\$\14¤\861hÐ\10L\87´ÇB©{ZÛ9\96\10>\9a\0f\14º^é42Cx*B[Ó\1dé\10Imݱ«E¤qÆ\a¦ï\7fì'/ýù\9f\1f|rumýÚ\95\8fÞûÛï\7fþø·æ+i\9fQ!ìè\10)LþLuéÀág\8f¿qúÂÊuÈðúêÅ3o½zìÈw÷\8fæC6µ¸\ 3s  5Wé-N_8ÞÕ]èí/\ f\rWk£xjÕ¡RO6ÕéwYHh°\ eø\93Ùá\rźrÅþÒàà`©¿\88÷\ 1\17Ô¦V©Ñã\ e_$Ñ]è+\95ñ
+¿¢(\ e\8bÉd¶:ýÑî\81ñ¥\a\7fðÔ±ã\7f\7f÷\83Ë«\9f¯]»rþôÉ?ýúéÇ\1fº÷îJ>î'\1dbÖ¶2+\14\10tg2\93ï\1d(Wª#µÑ±ñññ±Ñ\91J¹¯\90I\84©Ø\12X\ 2\rG\1a\ 1t\16\8c¦²E\8a>X\1eèÉ¥c!\8fÝ\84\82ÏÛ=¡x¦\80ä*\95A¼ë\ 2ë0sx\ 2´ÙÅýT.õQ:~§E¯VȤðI°âïLe{JCÕÚØØhm¸Ü\97ï\8aú\9dfؼT*S\ 2$\8eMçûÊ\15 ¬U+à+\11v[´2A\et¸µ~ÕØÄv7LM\9e\90\ 2\9d\89\87\88¦¼Æèä*òʧcA·U¯\14\93Ñc\abÝ%VhÍN°\9aÆ\ f\ 3¥Ò@o¡;\19ñÚ\røª\85é\90v\12x!O$×Y\~Ö1¹\6\9dì\f¸­:\85\88üp;»=6BÒRµÁ\ 6\96\92\14¾4X\19&bY¥\19­ñÐÍ_î@\87\9b6mÞº£±M¬ó¤\ 6ç¾yè\99ßýõÝ\8f>½¶¾\86\eÊ¿þòòÓ?|`¶\94tëe\ 2ÈPe      æjû\1e>rìÕ·Î\\½~ã?7ÖWοÿ\8fãÏ\1e>°4\92\vÙ4èjL?\95\1eÔD»r½¥ÊÈØ]S3{ç\17\96\96\97\97\97\16æ¦'FÊÅt\fB3h5\1a­\ 1b\8d$³½\83#\13øjïÞ\99©ñj¹\98\89\85¼\ el\18vè¦+?0<653;K¯JÅ\fZÜëA©\93¹ÒøÂý\8f\1e~æ¥\13o\9f9\7fåÚ:ÌûÂÙS¯ÿö\17G\ e>°4QÎÆ C5ÍPr!\19Ø"Ù\14\a\86FÆ'ï\9eÙ;7¿°¸¸´´´8¿wzr´Ò\9fKR±å´Ëà\9aÛ\86bé,î`<ÓS®\8eOM\ 3Ùìô]µ¡¾l2âÃr`µ¡Ç\92Ù¾ÊØÔìÜ<\8e\98\18\19ìÍ¥\13±h4\9eÊ\14ú\ 6GðÓ,\97N\89K×dÐ\e0\1e\ 2Ñt±T\9d\98\9e[Ú·ÿ\9eýË\v³\93\ 1!Z\8cz½Ál÷\86\13Ù¾¡ÑÉÙ\85¥}ûö-ÍOOTû³h)½\к»\81«%»A0/âK\94\9bµÃ\10\11\8d\98,±ÅÅ\ 5\80\ 2àÞl"è2kdB^\vîOMÔ]j£Ã\aVû+µ\89©é\99\99éɱá\81|2ì2«%\9c\ e·\92Â÷´        \15z»?\9aÆÉÕZ\r\ 6Ò_HG}6½\Ø\86!K\13cwK\87\18á=áDwO©R#ZgQh°\8aJ/ÎÍ\80Ö¾l<à0*Åí¸¸b¥ø\12\19"«¯îæI\8d¾Ìðâ\81ÿ\12^¥_MÝiøÃ\9cãi=VëÊ"»È" \ 1bÀ \10\94}      \ 1B\b\90\90\10\96$$\84\84ì\vÙ\13²/@ \ 4¢¬²j-jO{j\8f§\1d{:u\8eötfì8mO\1d»)\8aý\væ½AgæËtî\87|¹¹÷þ\9eç}Þç}Þá\ 5\18¸ßþ\88l(O\1e}ùñÆ\94UÌ à²\93b"£\133\vj!>ú\91øøÃ¯ ÃW;\88eÞ¸ì\19ì%Wäg&Ç#=\r]\84Å\95\ 3Ý \1f\16\87Ç\1f\10KåÊAµZ­RH\ 4\9cn*    _Vt\1e\9d\95\99\89ÊÉ+(©ª'Óº9|\91T®PÈÄ|Nw;°w©0\1f\9b_P\VKlc°ûá\9e\*â÷vR\9aÀ\12\8bqÅ%\15x\12­WbðL¯Þ\ e\99áÎË\97;?ÿðèÏw·W&]:\11\8bÚ\b\82Y\13}ò$\84OÐTþ\9búöõ\v\ 6\84"±D*\95Éår\99T$à2;Z\1a\90b§&@\8c\83-#"úT**·¨¼\8eDíêí\17"'\93K\ 6ú\98ô\96\86j°=,öB\11\1c»¥\83Å\13É\94\1cA\ 5J¬Ç×â       P\11\1e\1cäÌ\9c.\80\v}\95\8bÎAçæãÊñM\94®^\81D©Ö\19\fzí \Èí¦6Õ\96\16\9e?\97\93\83Î\ 3\11Ö\93éL\9eP¦Òèô:\8dR*`w\90ñ%XTrlø\91wÞÞ÷ïì\86xQd\RzÎ\e\l.\8fÿ_Àd\12\11\9fÛC#\13*\10ñÄG\85\1f\87D\ev2.)\ 3}¡¤º±µ\83Ù'\10Ke2\89°\9fÍhk¨,Âd$F#r\ 1§{kÿÁ£\11q)YØK5D
+\83      \16Â\85~im¨*Î=\9b\14\13vdob\1c\r\8f\81\80\8e½\bõkïd"e\16·e
+¥jP=¨RH\85<\16\9d\WV\80N\83¨öîk+ÿ}\19îÛ\7f(,.\1d[Eé×\8f-\7fðù_¾ÿùyhCùâÃU¿i\80V[\90y::<,"&9\eG`\88÷âã\93g»¿ý¶ûì\9fßÜ¿³\ 5\96É$\95cQ©§\91y\95\95\87\83
+R\18,._(\96)T@¹Ùjwº\N»Å0(áõP\895H5Ïç\17\82¥\0íý\12\95Þls8\9dö!¸ßϤ\91ëk*+*ªë f\\91Rg¶Ù\1d6³N)ä\80\10      µÕ5u\8d­\f\8e
+,ݸó'0Ãç/_í¾øåÉß\1f|öÁÆÜ¨E%è¡4T\80\ eÓ\92NÅ' \83?\ fWA Óz¸\ 2±\f¡I­Öh´:½Ñd6\9b\8cºÁP±ëJ/ä¤\9d\8e\8b\8aD\16 3Yç/V\13)Ý}"¥Öd\85\939¬&\8d\97ÑFÄWUTTA\8f\ 5r­Ùît»\1c\b*~o\17½\9dB¥1z8\ 2\89J\a\80\1d\ eÛP\b.ÒW¯\9b'\ 4H¥·8½£¾1ß\88ÇnRKúºÚ\1a\8a\11'\ 5\83¥±ø2\8dÉî\1e\1e\1d\1dõº¬z\85\80I!\94b3\93¢O\84\877*<\11\95\90\8a
+á¢\87p)TªA¸Ô\1a­Þ`4\99L\ 6­JÂgÑIµ%Øì3\891Èf\17\9d\90|\16SXNhaô
+djÃ\90Õn·\86hí Õ\14\13£\8e¿\8b8Ýþ\ 3\87Ãb\92QØRBk'\17é\b\8dZ        ¯¢5UáÎ¥%À\8c\ elp\11±Ig1E\15¡n\14J\95\83\b¡ðax©ÃéBøÒÊ\ 5¬vbe!:-!ò\18\7f6¬ÿ!CdC   O\0§£\r\98'Ö>úâo{\eÊ÷_ß»½äÓñÚª°\19§¢ÂÃOÆ\9fÁ\94\10{äÎ\99k\10\1f\9f\82\f_½ø\ 5ÑêZÀ"é"\96a³ÓSSÓP\98\82ÒZR{7W Q\fBO\eÍ\16\e°î\ fL\ 5\83S\13£®!\8d\84ÛÙÚPS^ZRV\89o¢v÷IÔ&ÇðøäôÌL0às[´²~V\a\85ÜÜÜ
+/\11\r\9a\1c#þ©éé)ÿ°Ý \10°\19\142\89ÔÒÞÅ\95h\1dþù­\ fÿø\10ÌðÅ+8ʯO\1e?¼÷ѵÅ\80Ë ãu¶\10Ê\8br³`Ö!£® \14\ fõ\ 5µk\ræ!¸ÌP&8\96Ãåñ\ e{=\ e\8bN!\0\ 3­(Â@¤\8f\8f\87\b\9f\rN@¢³\85J\83Í;\16\bÎÌLO\8e\ 6¨XW{ks3\99Â`\v\14zÛ°\7fjfv6\88 Ò*À~8\9c>¾X¡5;\86á!8ó\84Ï=¤\91\82\10\9b\eêðu\r$J'G¤2:F&¦//,-/-\\ e\8e{\86Ô"\ e£\95XW[\83ohnïáIµ\16÷ØÔìüâââ\95ÙÀ\88]'aS \97rÓOE\1e=øö>Ø!\10\15ÂD\8cNLC_\0\t\16\1fÁe2#¨\8cÆ\90\10\9cn¯×ë¶\ fieü\1eJ}y\ 1:#9!66îTJ&\b§\81ÒÓ/ÓZ\£þÉ`pÒ?â0*ùÝä\1aDb\91° A\86<t\fâW^        \81Â\1cP\19l@\92ÛnV\8b9´Æò|T\12¬K\87a¼GÆ%£Î_DHz­h\a\N\97gxt<TéÀ\98צ\93õu4U\16æ¤Æ\85\1f9ðÖ¾ÿ/Ã\ 3G"Ogáê;%¶àæ\9dûß<     m(ß~õéö¼WÝK.ÏKO\88\8a\88\88NÌÀV¶pÔÞù÷?}ø\8f\1f\9fï¾Ú}\ e\7fúìæ\92Ï èh(ÍG£ Ïa\8b«\1a÷lÄ`¶Xm`d.¯o"8·°²º¶º2?ãw\9bU\ 3à×\8d\84:\ 2±\ 5H\94ëí#\93sK«\e\9b\9b\e«\8b³\13^«V&ಠhð fN_p~e}ccmùrÀkQ\8bû\98\f:\9dÁì\13k¬£³k·î~ù×ï~z¾\vñ\0\91áW\9f\7f|cezÄ¢\16²Á\ 6J!Èe¡²1ù\17«\1a©@½Æ\84Pêõ¸\1cv«Åbµ»^7G`\1c\18\93r;H°Ød¥C\88ËÈÆ"\ 4\1a\8bwbfáêúæÖæÚò\95)\9fè\12ñØÌ\1e\16W ×Ù\86'//¯o]ÛÚ¸:?=î±\1aÔJ¹\©ÖC\81'g\17á¡Íõ«\0ÇcQKxLF;\95Jïâ\f(\10°ðØõ÷oÞºµ}}cyÖï2"ÝEmm¥Ð íT&רôÂêÖ{Û7·ol­^\99ô\18¥ì¶Z\NJl\18Øá>dG\ 5\15\86Ç\9cÎÀà*\e©L¾\f<\19pyÜN\8054\ 4Mï     I\ 1\94à±h%\1c
+\97\9by&9)ùL&¦\10\14(á#Á+K«ëëk+óA\9f]#ì&W\17fÃ'`â\1exçpXlJ\ e®¶\95%ÖÙG\ 33ss3\93£\ e½\84Ý\86/FîzâØ±\13\91q)\88]¶uóå:\8bkØ76>6æ\ 3\87\1f\ f\ 4çæ\97¯®®^]\9c\vx\87\8c¦\8a|Ôé¨ã\87À\ e\7fo*ïm(G£\92Ñ\97\88L\85söúÝ\a\8f\9f>ÛÙyöôñ\83»×ç\
+fS)&-!*2*.%»\bO\13\18ÇWnßûú»\9fv^"\83ðÑýO®Í¹Õ}Ôº\92\v\18ô¹¼ÂR<\99\ 1=o°:ÝÀ\8dÇ\r¿£þà\15`~\e\88\7fociÚ÷/ÂËô«É3\rã_æÌ\87:\9e:Ö±vt\*u´Vè´*\82¢ [) 0JU\10©\b\96E\ 2\ 4\81°\ 5\81\84\10ÈF\12BHH {\b\81\90\8d$$a  !@\80°\ 4\ 1\ 5ëQ[\9d\9e\ fÌý¢\9fÛ¯¼¼¼ÏÍs]¿ëºÉõå\859\99éwÓ2\10¨4RX=\12õ°aÔjµ\98F42!Ü\1c®\ 6S^^\89m$3x}ª!xd1\8fh¤=L2\ eS\\90\9b\9b\ f\ 2%´wI´V×{\18þ\ fd\b¡¼\b2\94#¿UQ\98\9d\96\ 2\vEè¥\10(dIw²\1e\97×\11ÁÿÜ..\9bI£¶Â}5\93Ûh\9d\18¨$\ 6í\13k\8a³ï$F\82\95 ²\86À\ 5ßÏ{R×Bç\89\95Z½Ùbµ\8e\1a\86\94\8cÖ&leE9¦\1a×ÜÎé\95\ fêGmc6\vò\b\84H&\ 2c[Úè\1cA¿
+yÉ2º;\ eø\ e[QRXð\18\85ÆÔ\11¨\9d0¬ÎdsLLN\8eÛ-z\8d\84Ï íú.7ï1\1aSßBã\8a\14Z\83Å>>1á´\99´2>­±ìÑíïB\ 3\ 1\87»K*쨠ÂSA\97®'ÞÉ*Dàùa®\8e6R3\81@$Q`.\81X"é\17ñÙÔ¦*T\16ø+äÛ sç\90XHJË)®n¢r\84²\ 1\9dÑ<j\86³\8b¹mõèìÔØÐÀ\0hq°Ê\1cøûÉÀÐØ\1frJqm\1c\91\\rF\83)ZëJ²nF_\82
+       [Âa`ahLJF\1eР£\93\aJ\15ðy\\ e\87Ëë\11I\95\83Ãz\83\91      X¤\1aÔ\8f)\91ÁgO\1cúë_vÛá\1fn(g.ÆÜÎ\aÒ\8dL,mÁæùî\97\17Ðú\ 6ºI\15Ùÿ¾~áËÏ\8fBcú*8:õ\11\86Ô­¶zÖ¶_¿û\r!¦ÏeVp[0¹i\89QaÐݯÇ\ 1óKªðä\ e&\9bÃîdÒA\89\0Ã\9e\90Ñjw:ÆÌ:¥\88MÁW\16çeg=ÌÉ/ÆàÈL¾D£·:§Ü3n׸͠\ 1BtÀ\95\12\9a[éÜ^ù\90É>9\rO\9c\96a\85\80IÂU¢\8b
+\8bJ\ 1F\f\81Bïð¬Àa\ 1\86°,½Þö{§,CR>\ 3Ä\8aʹw+162<<":á&ø\1f\81\fO(\12\8b\ 4<6½­\85Ð\88o$\92;:ùbø/k5*I\ f\93\84Eçܽ\11\1d\16r18ôZLÒÝ좪¦ö.±J7ê\80ïÏLOÚÍÃJ1\8f\ 1/7\11IT\16_2 ·\8eO{f=î\891£V.â±hÔ6*\8dÕÕ+Ó\8cXà%÷ôÔ¸Õ\0:cR\bõ5UUÕu\8d¤\ e¸ÿA\ 3¼7ë]\\\98sOXuÊ^\ e\95PWU^V\8e©Å\93AøÈ']\9eyï¼gÒ6¢àSë\8b3\93#¾=}\14Ú!RÝöîÿ\14T\18\12\95\94þ\b]Klï\ 4þ suÒ(Í\8d\r\rx\ 2\19~$\96©5\83\ 3Ê~>£¥\16ñWÔ\95àó°#]\8fOÍ,(o t
+åZ£m|Êå\9a°\9b´\92.
+¶(3ùú\ 5HÏOöí\83?\ f\8dû(,\85Û¯Ñ\ 3\1eLpH&±â§;q\97\83N\1d;\fDúgPHtÊý\ 2L#\95Ý\ 3\90A\83èîâvu\vû\15`Î1\87Ón\19Q\8b\95ùiña\80Ã\ 3Ð(þ@\86°¡\1c<~6$.\1d\85cJ\80tÏ_Á\86òfgÍcQr\89\92\ 1Å'\8f\1f?yæ\9b«    ÷
+ë:DÃN/0èí»·Èrê\18\12Ó\eÐ\ f\7fH\88
+¿\1a\1e\9d\90\9a\99_\ 6\96æð\ 5`\10.\8bN¥P\80:Ý}*\9dÅé\9añ¸§ìÆ\81>\ e\ 4\11º0?¯ ¨¬\96\88T#Ö\89\19ïÒòò\92wfÂ:¢\96\b¸,\ 6\83Å\15HÔzë¤gÁ·²¼47eÓÉ!pë0¥%è²ê\86VV¯Ê8>¿öüÕ;\80á\7f\7fûõåÖʬӨ\16C\16@vgßKMú>6&6\1e*|AY=\99\ 17£T*¤H~\92\1aëkkj¡Â\ 1k\95Cz\93   \90 \ 2»£sÒ\92b#®\86]\8b\82\14ÿ       \8dmaôÈ\86ÌÎéùÅåeßâ\9cËa\ 2µu³\99t\ 6\9b'\92\8eéyßÊÚªÏ;3>:¬ìëá²\98ÌÎ.84Ì:=·èó!ãXt*D¼$"\81ØB\ 1RJA½0ìòÚúÓ§þe¯ÛaÔôw3(D<\ e\87'\82ñD\8aÝOúVýëþ\95\ 5·}DÊ%UæÞ\86btâÐþ½{>Ú\ 3ÛÉ?¾\0\15&\ 3\8b\90àr¥J!\15u³¨H/¨®©oú0\97Ѥ×*zÙdlI6øëÚåÐ+á1Iw\1e¢ª\9a:xý\1aãØ\94\a¬àõLZ\87%\1cRUÞÝï/\a\ 5\1c9øÉþ\ 3\9f\9d8\e\1c\93ú¨\82ØÙ7hvº¦§Á,2\1e¥¦ =>ì_§O\1c=züT`pdrFA%\81Öݯ\1a\1c\1aÖ\ eÈû\ 4<\ e\9bÓ\85\0Çl\9f\ 4¤ÀM«{éøÒ\877#/\9c9vðã\8fþü§ß\95!l(û\ e}\1ex%á~I\13[1:³
+¤ûÏÛ×Û+n³\9cÝ\84þ1)ü<¬\9c\ 1§Á\0·²Ë\88\1c¹qjióç7o\7f}óóæ\92ˤäµV?μ\19\1f\1d\19\19{ãö\83Ç\18|[gO\9fT&í\13v1ÛÉ\10\7f­4N¯Rg\9b\9a]X\82\8bq\9a\ 6ÄÀêÒ"\14
+]\81%¶sÅ\ 3\ 6û´we}csc}Åëv\9a\87UR\91\vÆ2\8e¹æ\97×7·¶\9e®\ 2ê\ 6AÀøêòRt\19t,\96Pe\9c\98÷ÃaßgòÎú\82k\17\86@Ìâ¼\aé©É\89                I·Ò³Q\95\8dTHPÍÐð\90F\ 1\92 ãk*JÑO0XÄ\ 1J\9dyÌa\ahõs)\88\ e\93ã¢#£b\13Sïç\96bIL\81Bg\9d\9aóù767\9f®-ÍNÚô\1ay\9f\14IÕºÑqÏâÚÆ³çÏ6ýK\9e\ f:d³9Ý\0\98kηötc\ 3t6í0\ eÊ\84],\1aÄ\ 2\83Ã\17+´&;2ÓÖöÎÎöÖºovbT+\13°i\142    j\ 2»§_=b\9d\9cõù7\9foÃã%·M+¢á\8a2\12þ\ e8|àã½ÐÜ\ e\1e   @\16\88\f`\11àZ18¬Û\9d\8bNj¨.C\97\94V¼wöî\\16=x¾\15Ña\12DCDT\J\1aP\1eÄ#Õ"Ç_A¤îuYµb\ 6\1eý %âüéc\9fýíÀ§G\ 2\82®Ä§\17\ 5\ 3æ     ¸´\85ÙÉÑ\ 1a{\1d*#ñê7g`\89ûâ«\vá\89éù\18"C ×\1a ÚAï}|\ eø\13²@\ e6rÏ/,λ\1d\ 6\ 5h#ÿn\è9Hå=¿[\ e?l(\ 1__KÎ*ká©m³þ\17o@\86¯\9e\8cR\16¾83)âbà\99Ó_\ 6\ 5GÜÈ(ÄR\ 5\1a\9bgõÙË7¿¼~ùlÅ3¦\15ÑñO\1e¥¥\0zâ \84¡ª\b\1d<±b`P£\92
+¹4r\13®\1e×D¦óeÃV\97wÙï_]ò8\r*H×zLiq\11º¼¶©\8d-R\e\1c3Kþ­\9d\17/v\90\8bù?áåý\94v\9eÆñ_nnænæn/·Ùì&&\9blöÒ³¹Ý¸\97M&\9br)F±wc\8b\86¨\11kì5±a\89Æ ¨`E\8d\ 5;\ 6\11\10\14Q\10l\b\16À\ 2\824\15Ûå/¸ç\83\99¹\9fnò+Ì\17¾\9fÏó.¯g\82Ǧ÷uwu÷\r \89É×4z\83aC\ 5YÇìl(ËÏL\82»NySH¤t±\ 4\872üô       \96%x\99±Aèíâ\9cT@~\7f\ 3¹Ãî\19\9b^P^ßÞÇ\18âp,é\80\9282<,<*!\13ý\ 6cD \9e\14\8ds>¶Á¼b\ 1)ím\9f`\9c<\ 3 È\v\88\r\9d\ 3<±T¡Òêô:Í\9aB65ÎeÐzººzú\a\87\ 5ÓóËj\9dÁhÔ­/ÏOñ\ 1&\9aêÈ$r]S{\1fktR¦XÓlè´êC\89ö´5Ö\92I$r-\ 5d\88¬%_ÓêM\9b&ÃÆ\9a\2\ 1¸\81*\9d@(\a|A2\14I\96àÐF£^³"\9b`wV\17$b]ÿm}áÔ±#_}uä\e«³Wo<pFYDl ö3\11à¡s\ 1é¼\8a\b\v{\19\95ðº\10\80eÐr®1N\7f[uqf,ÖÇÙîñc\e{×§Ø(hÒÚ¶~®P\ 2^ÐhTJ\99\88ÓS_\92\ 6\89{ëêY«o\8f\1dG\9dì\12\1c\8f'Q\99ã`\88\15åÂô(t\1e2Ã=ëËç~<wùúïvÞ¡\89xbS7àÇ80,½«¹¶\ 2\9a\8fPY\ fA;>-[\92\83\ 3ÁBÄìØ@d¡\13\7fGpø\7feøyC±:oýÀ=$µ\84Ò?&]Õ\9b÷öv\0û&\98m\159À%\ fo]¿ví\97ßîÙû\84%\17\92©L¡tEk0\99ô\1aå\9c\80ÙQó6=*ÈË\19c\aý\a*\84ÙQi\f@Ô>*¥ª$/3%)%#·\84ÜB\e\16Ë\94kj\15\8c\8cGo¯)ÍKO\88\8d\8e\89\a(\87a3F§\16V4\ 64\18í\9a|nr\8cËb\f\f09£\90\vðùæö\96icu^Äém$\16d&¢çÒrKk©\fþ,\82Ô\83OhA\81\89\rõ6WÁ~\12\13\16ìçåîêâêñôÙ˸Ì"ð,\1d\96\ 2>\8f\8d\88??=öep\80\7f \16\97\90õ®\96:\0­?'\99\86Lj%\15¥G?÷quÀØ;¹ûb#\93sJk`\"©r]oÚÚ2!¹\ 1\19\0\93;6        òÔ\99¶ÍÛ\9bzµ\"àôS-(Aª\83\84\ 5Ë)×uFt\9cÕ¥Y(æÞöæz\84ðõͨ²\85³KkZã¶ygÛ¤SÉ%B.\1dÐ\92TQ^\8e\96¹.:W\0ßo\18-FWÌðh\94w\96=ñÒéï¾>\ 2\95yæÒ¯\96,ʯhêfp\ 1¸\ f7\99ü´\98Р\7f¿\80ç¸ÄìÒÚ\ eh\9fÃsõùҢ\82½\9d1¶¶öÎ^ÏÂ!æ«\9a\82\ 5\83\94\8c\rXDæ\0\10÷ý\89ãV?\¾ñÈ#4µ¸¾w\18Æ¢^_SHÆ\19­\9fexåÂùKÿ¼ùÈ5(6\9b@éf\8eNLM\81Ø?vP*K\vñøÂÒ*p\0¸\10Á
\ 6\95\9c\ fTwÿú9«¯ÿò%\19þé¯GO]¼ñØ+<\83ð\81!\9cW\19w,2\\10\ e\82\f\83Ülîüö¯\e·îc<±qÙeM´áÉ\85UôþëËÈG\14Bv\¨\9f\9b£½\83\8bOpT\1aät\17}hx\84ˤµÕ\95åg$ÄDEÇ\ 3\8dPz\86&dËj­F¥\98\13°º ÕÒã£#pQq©9H£\\91l\ 5\ 6³\ 3\83\81Ü\93N\8e\8fpØlÎÈ8t5ÌÚ¼»³mP/M\rÓ\9a\88ùé\90e8°|QÕ\87~Þ´|Ý´sð\9f}\boù4ïc+¹$+1\12ëïíæìääìîcQa%xvD \12    ùlZ+B¥P\7fOW\177`Æ\94üÊ\96þaÑÜÂâ<ô\ e­¹\ 2\9f\8c{æåâ\0\f@1Jlìf  $JÈþ\9d\1dó¦Þ¢ÃQ\ e\9bÅæ\8c
+g\90q¶wa\993\82\1f\85\1c@¼JBi)¡
+ò`H8\87
+ÃlÞ2jW\17!\ f騲IUU\96°dÂ\98\965Fx\16Øgcmq\1aø°½±º¢\8cPF$\ 3\18ç-·aÞÔ­Ê\ 4\8c\96²×\11Om!ªN\1c;úÍñÓ\17\83ñ    KÂW4õ0yB1,OC´\16òÛÌØ\10?\ f\17t®ÈÔ\82ªÖ\8f#âÃsqú\9a\89ø¤ð@O'\8c­\9d\83ÛÓç\91ɹïë¨\8cÑéEÐú&\18aQ<ÔU\8d\96\80ûÖ\17Ï\9c´:õãO·l\9f\86%`lN¹¾±±¾,\15\80\f³¢ý\1dîZ_½xñê¯wí}qiŵ\9dLþ¤D:7\r\1el­!\14ded¼\81rk¡q&\80I\94K\12!»«¦0      v\ëó'¿ ÃÃ\råô\95\9b¶¾QY\15m,ÑÒºiw\7fßlTÍ#\19æÂöaÿð\1e`»½gptfIm\a\ 45ô$pÍ2°ØÿFçèâ\r\13\ 1§\86Ç\ 4ã#¬Þ\ f¤·¯ã#B°/pq\99ÅÕT¦@º¼®ÓiVçÅÜ^\90SÚ+\è\8b\10\,\90[]Çà¸D©1B
\9aapK°\ e\8cp9ã\82)©B\r\18
+ó2iP04\95ç¥D\87a±aÑɹ\ 4J\ fgrQm4ïïïmëWeBVg]ivBx\90\8f\9b#ÆÎÎÞ\19I)£°²©\875*\9a\9e\9d\11ñ\99Ý\94²\9c\840?W\8cÍc['ïç±oÞSz!îäJå"ÜYwýû¬¸\10?wG\94ì^\81°¤\14\93Ûè£Órµa{o\1f$£S)¤\93\ 2\1ew\883ÌG9­5\99Ñç&íò\9c\80ÝÓL~_\94\8f/|WIé`ðgÐC\87\1a\85\rö´6\90\89\84÷\ 4"¹¡­\8f\rW\88~óà`Ï\f\1a\96Npé\1d\8dÕå¥ÅÅ%Ðj­}l\81\ 4T\8cL    \9d$bµWfGûan_ûÇÉï¾=~êܵ[6\1eØøÜòÆ\1eö\98xV2+æ³Ð¹âC\11Ø¢sa_YÒB,\93/ù\ 4p®Ò7\80\87®öO\9eØ:¸ù¾\80ʪhîã\8açW7 åá\ 5fy}\rÅ)¡\1e\8fn\>ûý©3ç\7fþÝ! &§\92Ê\12-¬m\18\fÚ\15©Å\v\91¾\98;ÖW/]ùùæ#·à¸¼ÊV:oRº¸´0+\ 4©W½ÍJM\88OÊÀ\13ê: Ü \95\17\90\fk\8b\92_¸?°¾pòè\17\87?þùoßþðÓmû\80Ø<R'gJ¡ÝÚ=\80Å\13ɰ­*?é¥\9f\eÂ%goȺÂ*\94\1eRŪeg\0¶EE\16\ 5Eæè\0C\7f\99\98[ÖÐ5\b\ e\15\vyhä¹I¸`\7f_ÿ`\2¾¢\ 5YK£Óo¨\96¦F Õð)Q!Ï\ 2\ 2\82ÂbÐ¥ÐF¦\96@P{\aû»[zµB:\ 5Ãæpyã@Q*Ý&\92á¦V13Ò×HÈIÀ=\ f\84Ç^e\16×t°&æU\ 6óçoyýÍÄ<°½\87ã\93G\ f\1e\0#D\ 1?A ñ'çd2\89\987ÐN.JÅù»ØÜ»}ûî#'ßðÔ·µ]C"\80\ 5ÕÊâ\f\7f \8dT\90\1añÌÓÑÖÆÆÎÉ30<1\aI]¼\80þãP2\96\ e\rq\ fÓÐòÆà\10å,\9fA­++ÌÎÌx\93WBB3\86-\ e´»\ fq·ú_ÆËó«É4\rãgÇi;3»sfÎÖ\99]G\14\84\11\90\8et\ 1!\18       \82\14      ¡\84\10:\ 4\10B/¡\83T¥(5H\87P"!\94\84\84.¡,ÒAj\b½\ eà_°÷\93àqöÃìîç\977/÷ó\÷uý®¹ñþÎæê\92¼¬ôÔÔôì\822\94ô3«Û\87¿\9c_\9c\9fÂóÙÑ^¨V\10\89\99ùeõ,þèÜÚöáÉéñþæâ\18·ñer\903NOIæê\8f?üó\86¼\86±\151\90\96Koî\1e\1a\87®;5Öÿ\1fs\99Z:\82S\95Áÿýq®\17i\11¾.6æ\18\13\13\8c¹µ£Ç\93¸¬\92Æ.\ 4ÖûGGà¸ÓCíU¹1>ö\18-\ 5ék?]\97S½kI
+I+iæ\8d/\ 2\8fìm­\þ\ 1þ¾®ª\82¼¢\9a>\16ï\13\95UÞÒ\ 3\e¼¼¼05Âm©ÈK\89
+¦ø\aPcÒ
+*[\81\ e§f £t5"®ý¿ÜðÓ/¾þîï7\94\r,IÔ´Ò\96^h(Gèl÷ÖçFº\e\8aAed\82\9dµÍc'X"ñ\9d\ e\8eÃ\96¡5\eá³ÄøëN°¶ÀYÀ\96=¡e\8b\99dbrBÐÇn(Î\0Ôr°±¶\85'ñÏ*Ûú'\ 1²\80E\16'@\86àJÞD¼\9d­½³'\1cJ)\8332»¶{|\ 6\97}´+|\87R\99\vÑ×\87.\e<çTì\86\13üVzv\\90\87\13Þ\9e@\82D}Q×9<³¶stzz¼»\ 1ÉÂ\0Lõ'Ú<¸g\0·a\8c}äèEMÈ-oê\1a\18\9f\81\9d\9d\12ðà³  OH6\18}MUUM=3\e2Âðn\ 4\v\9bÂ\15dÒô\1cZ\90Ûc\v\8c±\911\ 6gGô\8fJ/ªï\1c\9e^\85#¹@É\8fd8ÜËíêâð\81\r\8fNÏ@\9dB´YU\85Oi\11!Á¡Ñ@­pÇâ\97`\9cÃ\9d5¨»ìFzAfR\tTlÂSè©\0µK\9b\0µ\17\bjA\86|q¨Ñ¢""¢\13Òóè\8c®¡· \91\93S´^\13¼¦¢\94\85\81\8a¬ÔÕ«×å \92\1d|£2@G\83\13³\8b\8bóS\ 2>\9a+\88d\8dÑCsé\9bÙº\87¦\1518\82Ù\15¡d®\16zN\ É\ egbhp÷\1eö\91\93whr~U\e4M \83ãCd8âàÇß×¾}SJJ\1a\84\1e\9eYÎì\9f\\16í\1dì\89\96ß\ e´UdEzÙatT\14ä\954\r\1fº\ 4&äײ\a'\17W××À͹ÍôÜÄ0\8a\97\87\97?\95\96YTÛÖ34:>6ÌcÕ\14&\a\93¬\f\a\eþ\ edøå7ßÿ(£j\84¾L\7f=0\ 5\råìâ\1c±¡\80ÛT\9e\93\10êçNt!\92}\9eD§</ohç½\99\98\9e\9b\9f\9b\16\ 3A1\90\16J1s`_W¸´\97uí½\82É\99éI\ 1¿­:?\99êIx\843\7fhG¤ÄdW¼\86±/eÈgVäÒ\82È\ eè¡-:\14±W® ËF2ÜX\9a\12ôs;ÙìN.\94Jq*C<        \17Æz\9aJ2¢ü\í­\1fÙ:y\86$æW³\87à¶áé!ÚhàìÄ`²\1dÖPGSCSÇ\bkëJ\89É(®gCB,-\ 3©\fw3J3"½ñ\ f\fÔoß\12\1f¦3:ÌÎ73+\9bÛ[bR¯-H¦zà-L\fôÀ-q\92t\83õYÞ:D2\14\aèè\0·£\9dÅîîE=\ 3\8cúô\ 4\846;Âi\ 2 \b\vðõñ\v\8eN+¨fI^B2\ 4\99    xÌê\97\99   \91!\81\ 1Aa±@\9c­=£@\13'\972\84nÕòª =.,\88B    
+\8bK/¬zÍ\1f_\10î\ 1\12\1fl½û\17¿¹85Äõá]Õ\9foH]¿y[ËÔ\96LM)¬\85¹fß­\80\17¡èCsaõÕ\15åa.#K\97 ÄÂú®_ÍUS\90\14ân\8f»§¯­­g\84µ\81ûÈ*kî\19[\028\86óFe4\9fæOÀê(É^¿~SQËô±wtNe;:Ý}\90!¤vkÙÓ0²\8d\89\96²\82\ 2ÊdrhZq\13wtnU(\ 2¡\v¸\90ûñT_w\92\9b'EL\9e,nß@?¯\83\8d£8áô\95nüðý7ÿU\86W>ûò\ f\7fú\87¬\86\89\9d\97øË3ëèxÎOö7\16ÆxÌÊ\82´X*:ÜÀÐØÔg¥µ­\0ÅãÀ#\13#ý]\0\7f\88÷\1d­qX@_GOjb^%\93\16Dúv¤§\85\9e\1dK!B\10\98Âúù\82\853{%2\\87ßm.Ë\8cös¶~`z\ fcnë\1a\10\97\ 3"ýpoG;\0íC=lfK\v\93Í\1d\1c\ e¥q{möMWý\8b\94P/èC8+\0»øçU,$Þ\83ãã}\91\98o²£}  \16FÚjÊÊjÚFæx\ fjR~\15b¤¥Õµ\95\ 5\b'h\O\­\8c5\15e¥e~VÑÃJ8|hzE´»»µ6'à0\8aÓ#¼\1d,\8cuïhjé\99X:\89Ó\8d?±$\ 2ç\12/ÈÂä0¯\83ÙÜÜÊêî\e\9d\84\1ar\ 4×ôv ½¦05\92âAr%ûPãsé­\92\97ÎΠt\97§\86º\1aËr\12Ã\ 1jÝ<|¡¨J,vç\bÖýô\10=ïl(AÝÊÃÍÍÃ\8f
+\99"\ e\aؾc\89\fK@\86\96\86jò2Ò7åÕïZ8Sâr_1ù£³\10º«\v\93h{\92`.#ñ\·Tô\1e\10üiy5\1dÃ3«¿\9a\v\8f3ÒÑPÓÐ12·÷\fKE1\0´\81þ\7fÄ\9fuùñ\14\ 2VWINZZNI\a\1a
+-\ f\16tv}çà`osq\9c×\84VÁÊø\8e\92\82¢ª®Ùc¯È,:ò\95\8d­mÑÚü\18ømn<ÕÇÍÅ\85ä\rÍ.¯¼\9eÉîìd5U\16¦\85\9bi+Hýí»¯¿øô\93ß\94á'W>ûý\1fÿ|õÖ\1d3¼_\1c|yd\1e\1aÊÅûóSIõ¬+ÉI\89\8d\b\r\r\87°xV\ÕÄâô\r\8d\b\ 4ÃýÜvÆ«\82§1A\1e\ 4 _S3\v\1e¨NÝÃ\93óKKó\93Ã@\ 5\ 3ä\9b1\ 6 ,*S,Ã\8dí\1d\11:\96Æ¢´0O<î\9e\81\9e\81\89\ 5Á;"£´åã½\89\96§\ 5|vKCmm}s{Ï0\98ÎÖîÞ\8e\10î\9aUõ<\1e\85&ö>\ e\89\92\96!Xå"X%â\10[\8c®\9a¢\82¢\8a¶ñC'¿è¬²&\ e\94Ö5áÆÊüx/³";\1añ\8d\92¬ÔO×d\14µ0\1fv~eko\7fW\88Ø\93\9e\ 5\19i©©¨j\1aÜ\7fì\ 1KÏà\8e-l¢Ö\ 6\8a\81\84ëíhm¨­©c´q\ 6¡j\8av\ 1\9dÖæF{ZÊ\11.8ãñ\8edJtFIS\ fzéä\f\ 59@\bPkJ\84¿\9b£½=ÁÕ'4)¯êÒbÏ/\9f£ê\15æG\82ç\8e$¿ðT°:±Í\1f\1f\1f\88>¸¡¥¡º\82\9cì-\15\1d3;ÏðôâÆî7ÓïÖ\85ÂÕ\8fsé ¹¤d\14µÍì}br«ÐOHæ\9a@sEù\10p\86wT\94\94ÕuM\1f¹\ 6%æ×v ¢¹\94!¸a<¸¡®²\9c\f,¨¾¹\13j(\9cQ°Ë\83\ 3X¾QNCab ³Å]\8dÛ\80\86°¿¾±Ïª$û»·#¡¬¼¤0?2Ñ\99è\ e{ô4¿¬º\81ÑXWñ"#6\80he¬.wõ/ß~õ9Èð7ÑðÊç_}û×k
+:\ fàË/\1a8c\8b¢Ã_Þ¿¿8\ 5\16\9b\1cìdT\14f§&Òh  )\99Ï\8b*ê[Ù\1c^_\7f\1f\9fÓÞ\Sú,%2\80\8c·¼\ f}ÀÌÒÁ\93\9a\8c²hb\ e\82\ 2añ¿    /ﯦò4\8c\9f=sÎ\9e³{öÌ\8eÊ\8cë:@\82\84^¥$\90@h       \89t\ 4\f%ÒK\ 4\fM@@ ¡\86\90P\ 2\ 6B\8d\80B\10)\ 3R¤X@\84\ 5)¢ ¨\14uf÷/Ø÷{/̨g×å×p\93û~¿Ïû<\9f§\ 1\9c\87ãæ`cM¦1|À\rkoã˳\8ej\17fKl;KSc3+º{pÂ\8dJåÀÃÅuÔEöÞ¾\x<r¯½ñ¦LV«Pª\ 6'@Fë`ýè®eÂä\88\8b\83\8elÿ¨4\90áèÓÕÍí]À\9b\15qf\8c?\83lL"\12Îé\99Ó.\ 4ò²Ä\rª\91'\vØãsÈ\13\ 3Y6\86Ä3j'ÕÎ\10\8dlݸI\85ò®Q\90á»\9dw¯W\9e\8e\97\\8bôu&\eëj\93ôͨ¬K¼l8\93)XMìÍ^Á\91ôv4ÉeÕ5õ­]\ 3ã3\8b/6^o¬=Gq^\9e\93\18êçÎbAS»\9a[ѺÿÐ\87] ¯\89>e\9505\9a\ 3MÎÅÕ\93\13\9dZPsà\96\1f¡
+"·\ 2ª\8dâx²\\18lï}\90\9eY~\8dÙ<bÃÊ\1cÞ%&Å\88D$\92\8c)\fÿh\94\ 3ÃO\16×6^¯£Düb.cªÛåäB8\e\14©ûsÕ\95¤Eø:[\eé Ô&»\\8cJG1\80z\12°áËù\89\9eFQz\847ý¼.áG0\2ó\12ïFå­\9f\1e\ 3<nooÁ\ 4èóH\1fGK\ 3mÔP\9c|£2\80fÀ±±Ì^FóKòRb/sü\ 3\ 2Ccø\99ù¥Òê\1aY\85(?\9d\17â\ 1\1e{öä\91oÿðûo¾"Ch(\7f9~\86\12\80ÿòÒëÝ\9fq\19\8cõu4T\97\15æçå     
+EÒ\1aEK{gwϽ\9eî;·\1a\82\8c\84ph\95\95\95\r\9då\17\91"\94µõOàíìñý;òâ´H?W;²¥5\8dy12­X\ e\ 6ðü寯Úâôp'|\b§\82LÇÐ\9cÊâð²¥­ý C\ 4å\18+\rÜn\94ID"qe\9d²{h
+êØÊÒ<j|å9ñ!\9eÎ4\e[:Ë?êZI=F/Û(±\9f\8d\97¤\85{;Xèkij\9eCe.4        Þh`jnu}sóÕòìØÝƲ\8cè\8bNÐ8Õ¾;~â\aM\ 3\ev\b¿àfç\b&åm ¼ñ\1eì_ÐÒ\13µH\18\89_\177÷N\ 2Çí}ø\0´\0¸ßÙT#-\837\93·\ 2\ 6Ï.®¼X}\8e\10½¦0-\9aãÁprrõ\ e\89Ï\96\1c<\ 4p\a|¯R\88®ó\82=\19öT*Ý\15Ì?\1fÜò\11\1a÷ã\87\9dMP\89J\ 1T\eìÅ Óì`¿"S\vag§\97P\8d\ 53x4 \94\ 50(Æ:Ú$\ 3\bDîUx¾\7fr~ucks}\19-õ§s\9dÖ4´¹\10\92\ 4s\8dÎ~2\97(\ 3\18ÍÚP\9b@\80³qô\8eHûõðv¶PEQÀáyÙ\9bë\10Ô5´\8dmØA\89ù²\ eà¤\rÐ1ânU]qJ¨§½¹\9e\16QÛÀÊùbtf96â\e\1c\97\0\8dkPGá\ 6r\82¸\91¼¤\8c\aqI\910;\95Çõq!\e\12O\1fÿ+BïÊðO\87N\9cÕ³v\r\84_¾}\7ffekï\97\ 3\19>è¿Ó\[!*.,,\16\95WÕ*\9a\94míímʦz\99¸ +96Ä\97í`c\81¨×Ñ=\90\a\8dA52½\88\ 2p\1e`A&L
+óaЬ­(tv@L\86\1a\9d\ 6\1fÎM\rܪο\1aân\7fÞ\80¤­gbÃ\f\88;\90áÞû=8ø'ÃÝ-²²\82¼\A±´îÖÝûPzæf\1f\8fõ¡»\8eògÓ)Ö\14{\96\7ftz)ð\ f Ô6¶ñX\97ãºÓÌt\b\1a\9aÚFHBø\8f.\ 1\90n\81\8f\rß¹Y\98\1cêA3!þýÄѣǿW×§°\ eZ\19\98\ 2"õÉÞf<{°ë2Ä\8e\84+ê=\ 2Ð\99Ñ\1e¨¼°\97ðfr%¼ÙÌ\1c\80ðäP§B\9c\9dÀõfÒíì]<\82xYø\1d½Ý}\ f\ e
+`Õ&\13$\85ù2hV\16\96\14G\8fàø\e\15J|Ü\ f{(\93\a\91Ë\87û2ÑÎ"FI\12Öt\f=Ád\88\8aY_\8bäz¬?\83\ 2\89ªgBaøÁàpÒûs-ÁR\7f>\97\86\ 1´M¾\10_¯/ç:§\ 1¹~\9eî\15\ e©\r=\0\ e\ fd\b;¬ª+J      õ°\83ÃS×\84\12ä\8eÇÄS<&\96g\86ïÔ
+ù!nTS\1dH\1a\90¡ß~f¿\82\11\11\11=\19îj\94
\13¢Ã¸ÜË\111ñIi\99YY\99i\89Ñ!>Lª)éì©#\7fþã×Ð\10k(\87\eØ\Ø\ f¨\17\83\f\7fy\ f  \84dØ"¯,\17\95\94\94\96I*e7ëê\15\8aú\9b2©H\98\95Â\v»äáB³252\ 4èuöÆV¼\7frne¿:!(æz\81W\92©Npð9\92æ\9e±\99ÅÕµÕÅéQ\94ɱ\ 1Là]-ð\1cʧ2Ü\83Ý\9c\9f\1c\80â(¸~--=§@\ 2:\1c\1c\9b\9c\9a\18é»]\ fw\1d\82\88Ò\92
+\80\96Ût\ f(\eÉ\10\bj¨½:/\ 1¢ÉX[S\83 cFs\vNÌ«BeîÅæÛwÀ/ \86\aW²¾ºÚ±#G\8e\9dúQ\8fÌ
+úM\86H\10\ fû[Áxü\19p]\9a\9aZøÖ\83\eB¾¢ã~\83\95¶zIAvúµ\fx3ù­»C\ f\1e>zø`PÕ\)H\89ôg;ØR¨\8en\81\98\f±\87`\1cäEMåYq\1c`\10\13#\13K;và\95\9c_·n\17Ã\89fIö\95@7ºµ\99©9ÙÑó2_p Ã\1dLCMbdÑd\13}=#\v{·`\8cW§æ×þû\jêúäO×ë³¹\f´4Ô  ºH\86i%\8aî\a\98\f·7ñ\1dæsAf$\82\ 6\1cÿ|\7fÇß®\ 3\9e¶WCî»R\8càpµô-\9d\ fÐñ\15l\12Ê/¸ð\8eºrA\ 6?.*""2:.>\91Ï¿\1a\1f\13ÆñbRÍu5¾?ö\7fÌðwXCQÓ4¦y\86¡_\1e\9f\7f\89\1aÊ¿\7fÞÝZ[x<Ú{»©¶B\Z\T\"\12\15\15R\89¸¤ 7#\89\17Îñv¥\93¡\94\92t\fÌl\99\10ÐLãô÷l¢·Ez#\81ë\85\81\ 5\85S\0åoüéÂòòâ,\88¬¦\0\90\1a\8bO\ 2ø\163\80\97S\ 1)õ|\1dÖ\7f\e¡Ìݦ\8a\82̤x^|r¦°\ÞÚÕ;ðSÿÝv\854?9\ 2rÞÊÜÜÊ\8eÍ\89Ë\92à\10½³\83,g@Y\91Ã\v`` ¯¥oáè\r\v\8f\10k       ðæ\1dÒ6î\bN\16¤\7f\9cüÛ¡CG\91\f]\83\12\ 5Øua¥\14Ã0ô%X\eÀdè\87ñ2¶õ{Û@\vã÷Z«\8b²\92\13â\13\92¯Ã\9b)»ú\ 6\87\ 6{;[dE\19qA\1eN¶VV\14\a\90!l\15þ\10\1agf¤S^\94\1aîãdm¢¯k\801H\8e\14wCìKgGU@n\91¾.\143C\ 3\13èE\>ô9<\10·±Àl(Å\80ÕÔÐÐ\94ìì\13\81\ 3Î\97s\9dÇæ:\fséÿ¶^\9fÏ\ 5\87\83ËÐÁ\eêhCÏø\1c¾ÃËÓ÷;dù\89All\87AfÀ~û)\80\1a
\7f\88\vü]@ÆêêD=\v'_l='÷\99\19ã·Þ6yyAVêÕ+q±±±qq±1QaA~î.Ts=Âéï\ e\7f\vføÍÿ2Ãý\86\a-3ºOT\ 6\85õí\8fÿ\82L\86ó{65Ô­¬¯\ 2Ý   òó\ 5Â\ 2ø\13æçf§§$Ä\84r¼Y\ e\86$-\ 2V\a\81\87îMÌ\ 1¯lm¬Àu5Kr\12¸>,'º#Ó\vA·¼c`bæ\9f\8b\vÏ\1e\r«\1a˳¯pض&$Mu\8dsF\14WN|nUÛ ¾þo×Q±\93\97fócÂCã\13QëjPþ\87ï2ýjêÜÂø\87»®ËÖª  RF\19\ 3\19\81\90\84\10\b\84@\80\80\ 4\b\ 4Â\14d\8cL\810\ f"V \8a\f"¥VD-Pí¢Q±"jëp\9d¨ujµ\ e×[-W\19Ê$à\7fp÷>'\89ÕÛ\9a¯Y'y÷y\9fçÙ¿çäIýñ£P»\8a¡ô\ 4ò¹¾\ 1\92¸­e\80²HXÓ³Ðå\1eÝ\82Ûh,J\89\fð6j»\ 43iìW44²ã\8d\91\81}\88?<\0\95õææ\96Ö\84\f\8d×5·\0\14\87¥ô QJÁõ\14\1a[¸%\rrz\88ø\13À´\97¸\0û»\9bkJ
+ÔùÅx²¾¯õçO};x°cgYNÒ\16±?ßO\18&ÏÔÂÒ%OF\8csIß««È\92\87ð½èt\16/X\96¡E\b']GäøÉC{\90Q\ 4l\16\8b-\b\ 5°\e¾z\1f\17â\fÉeíuê¤\b\87#\80\92\8bs\9d3Îõ\eÎE`\1d\97\98k\9d%!CLÃÓ\7f1\17±\94Qf\ 6\19\81Ì\88#B\v"禽;÷8ÈpÒ\10È\85É\11\ 2\16ÅÙ\99\822.hèúz\142kz~qiqnò÷Çw¯\9dÓ÷\7fÙ¹{g}uEY©¦¸@\9d­RÆI\83ù^î\8eÖ\96f«>\14\86\88\86+>6Û¸\99î'MÕ\10ÿüôåìâ\9b7K°\93\9f`+\1cìínÓ5ílÜ\81\9f\86íu5\15Ú"P¹B\16.òc3Ü]\9c\9c\ÜY|Àæª=\87N\ºód|rzú%¼\9bÑã=Í\15êÔxYt\8cBUPÝÒ3xúÒØ½_\1eü|û깡^ ¡¤\b\7f/\ f\17gW\9a\81\87Ñþ¯\bû\93űN\93£JKÏT\97Ö6µ÷ô\1e>Òw`_K\9d&S!\râû°¹þañÙðР     \]Ódf\8cBfäCCñ¤R<\98¼\10yvån<ÑÓÿ\92\99d`Gy0ÛÍv\83¹\19)C"5Èë\82Ýòêٽ˸|2pù¸\83\96\83P1`\10\7fÌÎN\8d?FÊkk(UoMWemÓÖ5w|Ñw´ÿè¡Ï÷6\96ç¥ÈBüy\1c^@\18lM\1dñ\10Ê\10\r\ 2\19°] ö\1e&78f+¸î\84ÑuÀ~¸1KU2\11Ï\93Ád\vÂ\13Õµí_\9d1Ö\\92˪s\15áBøua¸ñM\eçº\7fu\18æÊ\8e\ 524²á/\7f1\17Ö7aT\9a\86À ÇãSèáÇxDHTð0\r\11Á\11u½xDô8iáÎzµBâËputteøJ\14jX5Xq&ç\16\97\97 g=\7ftçÚ\ 5X\9d=\1d»!§*µÅù9*e,ªÐÃÉf\83ù'\1f­ø{2$\eÊ*s+'V@4DRï\89Ë÷\9eMÌ-½Y^ľú#´ÂC]{vm¯©¬(+Ó\96\96h\8a\19©\89±\91¡\81\90\84îÎ\ ev¶ö\8e\14O\81¡y!Ò¦x\85Ëëø\ 1]Mafr¢B©R\97\1fúfäÒÍÛwïüxõ¼þHg£F\15\13Ì¥»:9ºÒ¹byN5ÑWMö\1f\19\ 4\bÌKSÈå\8aÔl\bÄæÖöö½ºÆª¢LE$D°§\17Ç?\\ 1\99qxø_Df\18º\1c\84Ï¢ºÃN\ eG\b'/\13ðhÆÄ\8e2¡§\8bµ\85ÙZ3\vB\86Äu]#®\vÞ%.§^]\19\ 2&ÃÃ\ 3\14óçÂ\88\ 6\ 1\8aû¢¥*?#)!!)-§¨rGK[ç¾\8eÖ¦zm^J\f \9f·7\a\97\1eÓRÅ;<;@\1a\ 4\19\84Á\15ÇeU\90ß\e\76
+M·0Y\1aÀfÐ\18Ðb\95ùÛ¡{Ý4pÙSä2]y\96\\12àËõ\13E%\93o\1a;î<\96&âë²\8ch!Ë\99\98ËÒ\ 6ªWlvÕÞ#\ 4ç¿3\97\f\96\8b\83öj1:Åp\84®\86\ 2e\ 4\9dÁ\13˳«Zñå>#\1a\8aÉÂb\ eÕÙÁÁ\99Ê\11Çe\93àðïW³¯\97\97\97 q\9f?¾wãâ\88~°¯§\13\14S­-ÈNKØ\12êïCs±Û´\ e\aÃ\10d¸ò\93\84\81\8cûi~i\99\bCì«}]º\86ªÒ¢ü¼Üì¬Ì­ª´äD¹,R"òçyÓ)Nö6V\9b¬¬\1d(\9e\ 1\9c ä¡/Ì\ 2ò>\7f8v~èàÞíZu¦
+b£´^×\r8\7fñÚÍ\9b×/\8fê¿Ú\ fëZ\11&ð¤89lv¥óBÑZýÈË\13$¨@¥m¯/ÊH\88\96FDÆ$ªr\8bËkêêk+5yéñÒ _/\ 6\9dé\13\1fúqâÿº\9c\a\9d-4\9e\88¬«@é·I¼\89\140\1c­Ö¯]cfA¤\ 6\×QãuÍMü\a\19\89è9P\9eh,_,\8c&\83\90Z\1fèj,ÉJ\8a\89\92FÅ&©ò4\15u\r\rÛkÊ
\94²P\7f\8e'\93å\ 3\ 6É«i3=DÞa[un<¶PèN¼w~Ô\80\86íµjE\98\9f\17\8dÊ`\v\rµ\bN>\89\F\84eS)\16\1c\1e\ fvrºÆ0×\149\17\99\ 6Ð\90NÎeù¶n^\7fð|j~ñ\9d¹8\f*\95É\ 3'\10\8fNyëa\ 5\83\ 2\rE¢È«5¾Ü\99i`\11À\86Ý`á o÷Ívv\9bݽ\ 3£UÚ¦\ 3Ð\93àõ.@j\81\ e'^<ùùÖÕ\vß}\vBìÐ5V\97ä¥'D\ 5\ 3\18nþÔbíª\95\1f\ eCh(+W[ظù\88ãóp\15\\7fð\ 2~wyq\ eÂpì\82þHWK\9d6?[\95ªLL\88\8f\8b\95EIÃÄAþ<6\93êêh÷éFK\v\vK+{\8aw º\v\ eâ\ eÙu¿×\1fÞ·\v!j[¡¶¶©ãË\ 1ýÈ÷@ó\17Î\f\1dín®R'G\ 1-;ÛÛ9¸2ø$h\90\9dw\ 6ËÆE}ïîª<e´D\14(
+\91Æ&¦gååç\ 3j$Å\84  ¹\9e4w\90Y\804\19\1e2Bö´)ì@@\90c\f\8eÈ\0`°Ng\16^ÏO\8f\ 3Þ\1c\a¼Q\86ùR\1d6\9a¯A\19\12×UÓ\86C¿\7f]Á\\16\8dî\ 5\85ò=\83\\19>ÜV\9b\9f\1a\e.\16\ 5\87F\82\10\15Â\86ÈJ\8d\8f\14û±\99(#4\bä\15<d¸C@?8Y&H\80\ eõ\80É\97¼ïº+§ú\0\rãÄ<\16\95Êà\ 4\ 1Ôî\ 2´ü\89ä2LàcÝ\8dÅiÑb\ 1\ f\90X\9eY\ e9\86sAG\9d\9f\ 6l;wlÿ\8e\82¤0\9ea.K[7v°<·¶½ÿÌ\8d\87/¦ß\9f\8b\89sI\12ð²Á~¿½Â#\82\87O\1dnÅ#p\19î\14ª§ \I ß\18¾\l(·\7f \1aN\94?ËÕÞÚÚÞ\85)\88H.lè\1a\18Áõ\aqHèprüÙ¯wÇ®\9c?=4л¿ugUQVR´\98Ï¢\90ýäCa\88\rå\9f\1f­±´óàJ\12¡;Á?c÷YZZø\ 3\96Á\95ï\ 6?×ÕjrÒ\14±[¤á\92P±(0@àËñbRÝ\9c\1dl¬6¬7\87\1d°~\93=\85-\8aÃ(=\ 5\erbváõ\1cÀÆíKÃ\ 3\8d5åZmeÝg­ÝÀò§Ï\8e\9e=sâX_Ws5Ô]XÉ.\ e¶¶\ e®,\814ÅPG\7f'y\18Ae\97v«<LÈçòøBqD´<Q©L\8c\97E\ 4\v\80\ 4\]Üh¦´»EB6¾©¡\ 3M%Ð\ 5\1eT\16¢a\95ñD¯áº°o\12x\13Âq·Û`¶fµéºP\11\7f¾.BÌÁ\ 4¦\11Zßo2\b\92¼þ ®"G!\15   |}ý\84!RY|RJJrb\\94DÈó¤QÜ\0ï\ 3"\93\vw\98\1e\9az{2¢ebKU¾ýQ²\1eè¡\1e\10\ 4¨\ 4\b\94\ 3\97]F.\9b!\93ª¿³>?9JäÇã\aF\0\8b\10ë\92\98knêÅÃ\e\1d\84\10\1f
\852¤ø\88\13Ôu\9d\ 3g±A,¼7\17\8bÎd¿³÷\8dsµh\rèHõ\ e\88Ä\97\11SýK\8eà3\9cm­¬l\1c©\\88t@Tý\ f?=z\81t\88:\840xþôÁ\9d\9b\97Ï\r\7fs¤gïÎ\8aüô8\89À\8bâ°iÝj Ã\7fü}\18¢\fW|¼v£\ 3\8d\1fñ?«û+Ê3\v\9fÝ\18±P§0\15¦\0Ó+Ó\v0T\87\ e\8a
+
+8±ÄÅH\18\fK"I\14\19Q)*\12\144\1e×\95I6\16V\8f»Vt£YÑ\80&Ø@,\11\r\16\14\81\93ü\ 5{ß÷\9ba\ 6w\8f;?Ï|sï÷<÷)\ 4\17z\a\9f\8c\8eON\8cÁ~WÏ\1dùºùK'8PF\8a-Îb2èµ±*\85T,\88âF0i\14RHPàÜÀà0\1aG¬OõJ)2·\891ÄáËÿün\7fkCÝ\86/¾Øèjhi?àþîXW×Ño\ fvìp}úQi~ªI)à²\99,®P\1d\9fãXG\b\17\8f\800îÖÚ\8fKr\92L±J\85Jc°&¦ÚÓÓí©\89
+T\98Ë\8b\96jm¹ËÖÕã::üâ\95ïM\15\ 6\1aª±­ìðê\1c¬óèÖ\ f'\ f\81\86¢\11²©¡AA\18®Ôip¡\f\85
+ÓP©ÒÛrJ\9d®=þp \ 3\ 1\7fLµhÕ*µÖ\18\97\94\96\9e\99\99aOI0i\14¢\18~T\8cT\8bâ¿Ëÿª\90\f\ 3\86\99VµX \80\96
+\18û?t\80h0%Ù      Zt@¦4\8fg£ÐK(Õ\89\ 3ÍÐP2l&£91k        \91En\111âÙÃ\9b8¶­Z\90¤\11°)h¯ðH±>mñ\9a)MA4\9c\97\1aíEÐì®ß^®\8a\92ìx\8d\14\1a\8c\ e\14"£Ï0"»6¬)\9cg\94òX4\1a\83#\8c\85÷ï¬ûÊý\8fË?Ý\e\86I&!\1f\8e\8f\8d>{òpðÖõ+\17O\1d;ÔÑ\[µzIv¢NÊg\82\1a¾Ó\93\89\86\12Jç+â²\97\11\@\99\13\9a\ f\84­Ë';[ë>YU\98\9d\ 2Ñ[¥\90IÄBA4\9f\eÉfШ¤ÐàÀ9³gÍ\9e\13\b4$¤t\97ûôU\ 4'HéèÓûýWÎu\1dêhi¬w¹ê\e¶·¶ï?Øév\1f:б«acUYI~ªY%ä²èt&W¤IÌ÷ô\0è¼£(K\ 1a +\15¦[¡¶  \84b\190Ñd6\9b\f\1a\1c\ 5ØìÈ(\8961\7f¹G3\9eâ\90}»ç´ÛÓ\ 3d\12\194\94"\10wÏD\13\13\0Wÿ¥\13`}+òm¨¡\84\10p\19Ò°\ 5\9c¹FÀ\ 5K߸\88e!?Ù\14«\8a5%ç\7fà\ f\aú\93oZkË\8b³\12t
+±P$\91«´F³Õj\ 1\87\90\8b£!5qÐdy~?BW\85\1aÊ\97k
+íf¥(F\80\ eh\1aƾz\10§!&/\ 4OïôxúsP*\18    7\948£Á\9c\94]\\8eí\12ö\1aC\87óàçï\89Ø\96 \8ef\91a/\84\87Ñ^´¶\16âå\8f\ 3O^\12çõ¿÷ê\e\9c8üÓîVüòÔ\12¡H®\9fjf\ 4"\90^Ñ        ¯.HÖ\898t*\85Æ\8eR\98í\85\7fZ߸ïÈÙ+ýCÃÏ_\8dO\0\ f'Þ¼~92üpðfïå³ÇÝ\1dÍ\e\9cË\væY\941ljÈ\9c\80ÿ£\863\ 2\ 2IÌhuBÞrøg\b­\ fF@ÏÞ H\ f ­±¦l)\12%\19\:\8f\13\19ÁbÒiTðâàÀ¹³g\ 5Ì\9c\190kn(\8d+5¥/)ßD¬=
+½      ö~xëÚ\85\93\7f;°§¥¹¡¡¡yGëî\8e½ûöu´íl¨[_±j       \8e\fpWÔp&W¬K.Ày\1aÅ\f"\ f\92A.àq8\~\8cH"\93Ëe\12a4/\ 2\ 6`°y\12\ 2ÿ.7\15²\17\96\8ae\9a¸L"ç{\80ðèÁÖ*GN¼2
\13ÁÅ\95\1aíxîshnLáë\17\8eî­_çÈK6iÔZKZÁJ_çõü   \18`¡Ý¢\82vÅåEÅ\88¤r\85B!\ 3\87à°\99\ff\ 4_¢K\9a¿²\1aÿÈïª\0Ã\85©F\85\10â\84>  aüß\ f\85\86¢\96¡Ðëm(àÙ/_z#J¥#/ÅbÐ\9b\93sK\89,â!دC@°½[PlSD1HÁAàN^k;|¾wðéèøÛ{Åj­ó\16®òîå?â"_\89Z]ã\87\b\91^«á\84c\ 5\11ád\12\85Î\15õ9\9cµ-\7fé:\7fµ\7f\bºÔØø$|ÆÁ\99GPD¼Ò}ÂÝÞðùÚ\92ÜD\9d\98K\ f\v\9cõ®lH4\14²¯[Ag\ 4«\9f\80,\85\92ñn\17\18P\8aI%âG²\18´p*\85L
+\v      \ eB:\180óý\193f¼\1f\80h\88×vÁÚ}÷\9e¾\82\9c\0âóèNß÷§\8e\1eÚ×¶³¹©©iû\8e\9d--;·7n©]_YæX\94\95lB,\f§\90©L\9eÔ\0\ e\ 2ç\7fêÊíG(Ò£ r\14e¥\\eÔ26\ 3\14\93\15ÁáÁ\87\13Á¢Ão(áL\9eD\9fº\880]Ôå \8ebëjú\få|¥\ 4h\18\9f]âtµã\89|@@B+ͲÊùt\ 4\17\89Î\93\993\8bÑ·º=ß\1a}z¯\ fjçæÊe¹I\0\97\8e\a\ e¿?)HÑK£"\98\f\ 6\93\1dÉåñ£àBá<©T\1a\8b'Õ§LÇp\bµ\83\86ê\15ó\93ô2 ¡\ 20ö]\9dÿCSM\9e\86âð¦\r\9fRm,/ÎN4é\80\86yÐ_|{¡\89»\ f·»\9cÅ\99f\19ϳ\17_nÍ*­¬ïðXÛ[{i5úø\8cÂ2ÿ\8625"äu\91\ 2¥{\e\11\94^\1d9qÊh\165,\94\14Î\8eQZÒ\17\7fX]ßvèxwÏÏ\83\8fÀ\92ÞL\11ñ×_\ 6û¯^8ѹ{KõêÅé\16ø\119x6råwÑ\10\1aJ\84H\9fº¸\fýs\8f'¬?CB\fGº¦(ê\16q\812¤P  ¤ALAàà{è\83\93[|k¿\9eüí·IH\96\ 3×/\9férï\a9lܶmÛÖ­[ê]\e?¯v\96-\87¶k3(Á\91¡á\90¨L¾Ì\fRZÛöíÙkw\1f?óe¥\8a\92L«2&\ 2"(\89L¡Òèð\ 1\1d\86!BÂ(\f\9eÔ\88\e\95ûtÏm\9cóQ\1dÅá'/I'\17COHÈY6\1d\88ÁÞó\87÷ÔU\14g\98e¨P\ 2\\8c(O\129vñ\ 6þ\16\0N\98\15%9\89F­Æ\90\90\89\92<\86\ 3\97       P\1e¤¨\1fäÙb\85\1c\ 6L\ 3'A£3\18\f  XD(        ]\95qÞô«\1aÄWµÎ\91kÓJ\ 51"¥\1fƾ\87zJ¬\14ºUÊ\82\95È\10\89\86ò\ 2+Õ_QDÉ\887huæ\14°Ózov\9ax3
+\13\9f\83äY¾Än\94Â^AAÁdf\94\12ÒvÕVH,?Ý÷X\eÞ«®\ 2Åm­Ö\94\bÎ^\vÎÞ\83\96(<¢L(\84ô\9a¹\14Lâ-Dл³Èù\f2ÔR
+\b\81.)·dmMC{çñóÿ¾qçþã\11 âÄä$X3DÄá¡\9bW»ÿ~pצJG~\92NÌ  \ f\9d\eð\8epH4\94p\8eÔdG\\0+\18\98JIÿ\82\vùtå\ 2¸|\1e\93\12\16\8c\b\b\fÄ\14\ 4\ eþ\11}ÞÃÁ\92§°"8÷\ 1\9c°öäï\88\86\8f\a\80hض£q\8bkSí\86/j>«r®ýÐQ4?\13Ú®\1c±\90\14\1a\1aFeE)¬Y%ÎÍíGº{Ñùû²R\91Ý$ãÁÒÀýà\10ø*À\f\9d(00(\84ÌàËÍ\19K?Þ\84Ì       \85ìW/\88\19×Q\19ª«8\80\11\13ù\bÖV\vO5J8\b®\102\v'\91\f\84k'XÀcÏ\7f/Ͳ\19\11\9%\15Ø\1f\89$?<ØÛ}¤}³\13\14\15«\ 21Y\18|\88\v\r\ 2x`²·®
+\99*0 8+.V"\88\11«­\19S\18\13\ fíC\ f\85Émz\85T\ 6ÝjÑ\94\ 2\ 3\r\9f\82\88R\90fÕÅj\11\r«¶â½\88Ã\19¾{íÌ7\10ë
\fâÈph(!\14V\8cÚ\96¿\ 2L÷Ä¥þ\87ÈÚÞx÷*_\8a\92\92ç¨Ü¼ç°·Dýr\87(QÅ\990¢P(Õ$ä\94V"Dú¦!òQ\114\14h½!Á¡d:G¨¶Ú\17®pnhjïì:séÇþ\81\aÃ#/_£\88\b]å5Ì}³çìѯ\9b\8aÒ-
+>\83ôNW\86h8s\ eÖ³L\82\vHìß +\ 3õ ÞN¼\1a"fhà\1c¬\81È\881\ 5ÿ\80?Sý&Çñ ¾¾\a#c\93¿ÿ\87ï2ÿjòÌâø\99±\8a`\ 1Ù·\10²\90\85ì!;\90\ 4\b\8bD\98\ 4PV\91\1d+`\15\14\15Ee\0G\am\91CÕc\8f\8e\ e®\1d«\8e#nm­\83RZëAź´UêRQ\ 2\7fÁÜçyÞ7      L5?qΫïûÜç~ï÷~¾¿c\19^ï?\aq©»³cÓúµM+W,[Z]¾(/{~\8a\14ó\90\17"c\v\94f[9\1aÝKxü +õv\ 1å¥jábý¼Aü\9e^^sàç\85þô\9c\83æ]FÖ\ e¾)H(¨ÙÈÆÈMò\ 5(\a\94\83GwÐUn¬ÍOÓ\92\rÄ$R\8dCé-h\17ÄÎÑ\87Ã\84Ó
+­fb=nû\11}äÛ\vG>i]V\94\v\10Í%:Øûäh^Î\93M\99*\1c\87\19ñ\8a\18\1e_\ 4¸àÞcüR¬\81L\93Z&\96ª\8cÖ¢z°ù³nN\ 50A\85\v\95!%§bÕVR\17\92!\bì\9b³\aw´,ÍKÕ\b#\83P]A\f\81
+h\eKyøáè\ 4\10\16]WmáüD\83VgL[PÙ´\15´\f!   ïýá\81¾\83;p\88RÄð\ 5\12Mr6ù\bÝ\91aWG¢Bü}}A\86L¾Lo±\15/Y¹iÛ®\ 3ÿ:óåÕïoÝ{\0o\9b\0&{3    \13ýøþ\8d+}\87?i\a\1e\ 5¢d\ 4ÂV~§\f=æø\85q\15&ªmÔ\94=\87\9d\83®\1c3\87·§\aö@l\82X\81x£S2\94\83\fáÜÈU\9eML\82\e"6¼öõ\99cûz:ÛZV7\80\ 4+\16\17åådͳ\98ô*YL4\8b\11\1aèçëëë\1fÂ\14¨\0é×Ða\ 3ñ2ÅJ9É*tz,ÿY\1eø\a\7fÌ\9aíå\1d\10\1e­@Ú%7\ 5\9cO\9a\e²\1eÜ$\89£ör|¢!\92¸\íJÁíòñ\99\eÌ\14jRó\96¶tõö\rÜ\1e\19\ 5\19¢Ø\89¿]\937ϨUk\13Òr¡]Ô\80ÀGpæÝ±a)%å9\9e®\93á´æåC\9flÚTý\13õ0Í \83\93I4Iv×s×Kk!¥ª¤\12\99Æ\9cU\ 2éâØÅï\90\99¾x6BTº¼$+Q«\90CÆÍ©hrÕ\ 5\b\7f\ f$\ 2!V-@2DuÅL!,·º\96äe\98õZ½9#\7fIóv|ãTBé?½\7f{sÍ\ 2\bQB¾P¦OYà\8a\7f¸#ý\84»\93U\ 2f\b^baQ|\996Ѻ°´¶©µ³gßá\93ç.\r\\1f¾?òôùøoD\87`D×¾:±oÛ:¨\'\8a
+öõz;\1c\82\90fÎ~ß?\82\17\9bD´Ð\7f\13û\ 2°Ý0*¯\85ò$_/\8f\99.\ füÓ\14\11Ï\rE,\ 2Mßë\94á«q\98 Á/NöîÞÞÖÜPW]V\9c\9fk\9b\9fn1Çëbeb\ 1\97Å\b\v\ e\84\17\0\91K\9bºÐ\15\9c\94Wn3+¢ÃAÿ8
+9\7f3=<½\ 3"øè¼è¦úo Î\1f#Íþ\185\eâh4O4M\86¸]gz?&íb \19\14ëç\15Ö·ö\1c9\ fû\11Úõ\12H\1eXüÓ-«*sSã5jH(yt»p\98 \81²¹\ 6µ\ 3\r\88Çô\93ùP's\9f*gv\ 2ü\87\84"ÕYr]=v¸¥Ôô8¥T"×%ÛËW\ 2®~år*¤ÒºB«Q-\93\96\9cJ\1a#P]Äç>Z\87Î\ 4CKÕå$¬;\8f\9cu\1dÇu¥\eõZCRfQÝ\86\1d½}W\87ñ\8d?&7\ et\9a¬\95
\90PÒóñtRÏ\9fÐÏ\91­E\86\ 4øû\a\8628B¹Î</»¨²¾iã\96®Ýû\8f\9e:ÿõàÐ\9d\9f\1f\8f:@\87¿O¾r \9e\9c=ÔÓ
+\e*AÆ   õ{\a\1c¢\842Û;\90!Ф\80\16ºzÏ\\1d\1e\19\85ù\81\84r³ßåI\ 1Þ\9eh±O\91 ½Ò\89\fmn2|óæ\95ãÉO7®\9eûloW{óò\9aÒ\82Ü¿d¤&\99â´*¹D$àqXLF\18\8a\eþ\ 1Á\11\1c\89a^aÝ&àåA\146h^î@\91\16\ e\ fd;\93âPÌ¢3Þ\9båé\13\18)t\9d÷Á¯c\ eÚB\81d-Z      \8f\e-R%Ú¦È\10µ\8b\96\10\1fÉ\10\ 3&"\91v\88\9d×î=~1ñrü9^\90;ÛV\94Ú,q\1aµÎl-¬mA\1fA\ 3âxñä'\12(+ìf%\f\bÀÎ{o=\99sª\±&I#\81\84"3¤å¹\9e»^
+\f®WH$
+Cjn5`Ý©ËCS\9cjÉ´8¥\ 4TjÉ®pÉ\10a\ 4\ 3Û¡OI±<$CT\17&\16²÷§ÕeO\89×iã-¶\92\ fÿ
+Ó7øÃ\94\e\a:E      E\8c\13Jëôç\9b\eJ³L
+~dhP`p(\83-\90ªã\933ìù¥5ËV­oëìÞsàØé\8bý×nýøË3\aöCà »\80Ò{þ\ 6¥\9b\95<|_3Þ&Ã?Ï\98éé\13Ä\14é xb-\80/\90\842Dy\92\ 5¾ôøÃWP2äLqÃ×o&\7f{\ 1ùðòé\83;·¬_^U\9c\9b\99\96\94 W+eâ\18\ 1/\9aËa³¢"\19á\10.\83\82Ã\98<yÂüEËÛv\1e£x\99P\1eD¿â\f\83\98\9c6aðnÜl÷ó¢\9b\82\16jOT\89¢ÙÜ\18\15YÚ'     CQíÚOÚ\85d\ba/Â}\7f>y11á X
+ÖS\84\13\8a\9e\ e\94d@\80vHæ-Í2RÓ=Ãy2\94ÖpÖ\9bz2W\ 2Y\9ceR¡\84¢\88Ïp\9f:ú¥+ËìÉ:¹D\1a\e\9f\9e\8f\7f®Üzð\14\10J\8a«+s,:¹X$Ó\ 2¶5muÉðÙ\83[WNïß¶¶*;QÉ\8b\bÄuñpò¢\88e\8cÔu\ 5ànC]qf\92A«MHÍ.oì@Ów\17Ó«\e\9dªÄB¡T\93h+EHL=§C\16r59\8f\19\1e\1a\1aÁä
+eêø¤ô¬\9c\82\92\8a\rk6´\83\10{\8f÷]\1a¼q\8fÒá+¤¡Ë§È"\80\r\14èý.\19¢Ë\vaIâ¬\8b\10\91 _À        åÉ}êö2ã¥läI\7f¸×\9d2¤Ùp\88È\10PìÎw_\9eøGWkcu\91==1N£\90Ä\b¢¹l6\8bÅfs8X\89\11aaá\f\10\ 4\ 3\99vÏq´\85\9e\8f!VÂ\94G²D\10\ 1[8=Ýn÷óbí>\1au8\9e?¦-4˨\14rX\1c\19\85¦O\11Ê?u¼Äíê'íB®\11ä7×/8R \86\84²vû~Ø\8f??\1d\e\1fÇb\86TJÐP¥6$ÛJW´ïr\rÈ]ª\1dÖ8  +\84°\8eë\a|\ 2YÏy\93t
+%±\ 6¦Ê\9a D       %Ö\989uêÐKwµ\ 1û\9952 N(u\e»qBÁ*½÷=¨tsc\99-Q#\8d\89\91j\93ì\15´Ë;¨­u\1aÖ@%\96!]\17$\14\9c¼nâº\90Ô/\9dØÛ¹\ 6ê2é4\80¼\vª\bòÞ§èô\9b³\88«\8b¬    ±\92\18\91B\9f\9a\ 6\1c\17©\18=\1fù\ 1¥»Mõ\85\19qr>\8bÁ\88dóÄJ½)Åj[PP¼¸¼ª¦vYÃê\96öÎ\9e½\87ÿýÅÀн_FÇ!§¼&À\0`\añI\v<îãù.\19â\84"7f\95""¹týG\9cPÀP\89'A(\14c¼üÃ\94\83U\ 12\94\19³è¦ÿ:þz\12N0r{ðÂg{þÞ\[\92\9dfÔÈE|.\8b\19        \150Y\1c.\8f/\10ðy\v\14\93ÉâI´\96\9cªÕ\9d0ß°\85`IQ\94·\8e@\\0\1a\97I&òÃ\1f,m¤µëpÐ\16úa±5\1en*\8a-P\9að?ø\1c\8cîéØË\97Îva×\0\19"*\15éÒòk\81äû\ 6Ðf\1fwÀ}\7f{áØ®\8eƲì\948u¬:\ e¥R·\ 1\81\9a \1d\eë
+Òu"z@¦\9d,\8c#''û\9cü'`;*\81@
+\95\93ìd+kü¿\97nª/²\1aUR±LmÆ*=z\ 1\12
+Ré#Z¥Ä©¨\80ã>^\b\9e:×TÚ\89\fq]úô\82Ú\rݨ®\87@,XGç\8fîlo\80º(ä­qÑ)áj¤\96\ 2\14\92Ä0      \19\88\90o\12î~HbÂÒüt\83\Àa±À
+5      \16«}aQIYyEeeeUõ\a\9bZ:>ÚÝ{ââÀ\8dû\0¤ \ 2\14\vqmu\85Ô\85½M\86\18\rqBIÌ®\\rDò_\8a|q°<Ô½\ 1{\12\11òÛe\18Â\96\ 2\8c4nÞs\1c5Ýñj\12\ fÂÀÙ#;;VUåe\984R\ 1\87É\b\ f\v\ 5÷\8bâð\84b©\.C\90Èåò\10\ fç}°î\7f\8c\97\89W\93W\1aÆOçÌ9Ó\9eig¦* \ 1dM   $!      YH\b\10\r\ 4\b\ 1\f\ 1Â\12\90%,
+\82(\b¢,#*\b¢\ 2\15µ* Ø¢¶\8a\ 3Ö¢Ö},v\qª\88ì\8b\10¶ù\13æ½÷û\ 2\820gþ\80|¹ï½Ïû<¿§º\91\1c\9aDúJB/\b(>æZüØ_®¡8¡ØÉ«0i\17=&a¡Qþ"W'[\e;\1aÇ\váQ\ 3zmÈ¥\99)\92u    ×°6_³Æ\8câÈ\92\ 4\11\18'ûÄp/´\85¦£(»|\84\w¾Ä/|\ 1Ó\16\17dO\9av\93Ç'\19c:\19Õ\9d¼ÉE¶#j\8d\16Z(4\14W\81|sÒâÉÉ\8fÖìI\8fTJ¸ C\81/\11\88\80u\83È\89\ 6z\1eÿt¡¶\ 4\9b)ÃÙÙ\15©8wÙzÁuåa\19\9aæ\92\ 6Å-Î\85\82ýÙÝöÆ\9a\1aB\1e\v\8cJ7uBÌÕ°¡P\92Ò"\95^|6Ë]\84B ¬\8e@Ã)#\92)Y¢üİIN4\86»ÈG\19\1a©OJMÏÈHOMIÚ\92\90°%9-+¯¸¢¾é\87®G/À\83gæçÁËpÚ\97dF+EÈË`oW\91!Bï\b®N-D'{ù~|zÎTÀ\96xÒJ_\80ß\13\19\89X\1f\9bá©Ùù¹iÈÀ\a\1d-µ¥Ù°\80°Bö6\96\16æææ\0\15\ e4&\9b'\10\8a\84\1e\6\93îBwãË\82P
+\9dï|\88Rh\8a@úS\as\13Ô2¶£å×Ki\80hTk­i<¹ÆP\80µ\8bnrrÁBµ\9b\ 4\f\a\ek[*!±oÈö\81ð\88t\8d0h{Öæk×YØÐ¸>ØY.ßz\ 2<óáÃØ\0 õåS\87òR´þR>\87Ã\97*#?]\100TÔ\ 6¬\96\11·éd(\10\8f\16Øî\ eÁvr\81\90%RhÉ\93\7füÑÝ)á
+1Ç\95É\16\ 2ûí$±nbq¿¶ê\ 2$ît\9a3\93ï­\8eÏÁ2}\ 38kZ¯Jr½,Ö\91s\ 1\1a\9aæ\9a\18íïùµëâÉ\83»\92Ãý$|ww\81w\90\91Ì\88zw®ª0-*P&äñ\84²\80\bC~ÅiôóÁ £q\92¬\7f»\r¨%1\ 1\fx\9e\eUZ½!sG^~þ®Üí\19\86\98èè¸Äô\9c¢CõÍWow¿î\1f7\92\91úówõ\90QD¤®&C\12µÌm\99"S[íA\reÎh2\8f\15¯|¹\fá÷â\80\98¬R\f<C\1ffæá÷ ã\8e\96ã%ÛãCàú\9d6P,ÌÌÌ,(\e\1c\9cݸB©·¯ÜWæ)à²Ý`÷|Õúí¥u°ºd
+ýÞ}³íÄþ츠\80R\8b¿a\0["C\G\ 5\8a\88t\88SR»\8b\16ºÙ\97çbgM±qt\13\aDã¶\87>k4É\10\872\17µ=sK;\86\0í^5 áÓ·\83c\13ãC½Ïñêl׫åBw\16ÛC\16¨ûdAPçÅ­mù\82\90]\8f.\80 ÿ\98íÈZ\ 3lÇgÒ¨.lOeTÆâÉÉ\8f\1eÚ\99\18\ 6\r\85Éd\8b6\ 1\97áXÂ\81        Üö°\ 3e:\92!\ 3Ë0XOò*hdq®$Ó\\14{\86P\81òå\;1רàÛg÷þqþXqV\9cÚ\17æâ\b ÷\17®\ 6Ü\8e¸¼ªÂt\9dJ.\11\89½\14¡ú¬}G\9b®Ý\83#@Á\99ÄMãLe>l§\84Çvcó¥\9bÔº¤Ì¼½eå\aÊËöíÎÉH\8e\8bÒ\86\87\19²\8b*\1a.tÜ\7fÖ\8bVdzb\19Ù­"CT<!\93\ 1hXRU\1c\f×F6\94Yãh/^â]\89¡Þ\1c'\88Æ?­"ÃÏ\88Ëÿ¨\1e\ eL\80\9b\1aq(·Ö\96\87\922\ 4/¤@Áb{H|ý\ 2Uª@?¹\97\88ÏåzH\14\9b·ä\92)DÔ2\84ô\v\14J\17d/R\82Èê.`íNM¡na²PwÚ\ 6\8a¥\95\ 3\93ä>â¹Q²<'*
+\bÕÙÖÒb½\8d\13K\12\18\93Y|¼¥óÁ\8bÞ¡±±\91÷¯»o\ 1È\17¤F*¥<\96\ 3\9e+kÉ\82àÖ¶Ê\82\10'³#\17r\81íÈZ³=VåÅeШtw)üi)yòÅ\8fæÄ«¡\820\98\1c12Kh\17Øæ\8d Ã\97X\86[uP\1f\10\e\82\fãàP81ǧ\96ÎåbKYoiCeK\83b³Jj[;\1fÂ\£cÃ}=\8f».\9dªÈ7\80\8c¸nh®à8\\92º±\92      \19\9e;R´-.Ôß×ÛG¡Ö¥æ\1d<ñý\8d\7f\82Y\1agf\90\fQq\83\82\13\80ÝÒK\11\12cØQT^}¼¾¾îheYaNZ|\94&D\1d\1a\1ekØQ|äì\ f7»Ñ«L#bÇD±M§\141lÍWaC¤B0ÿ¬³\ 6\e\ fK$º\13j(ó³S#ð®\97\89w\85Íÿß2$C=\8dÀ\8d÷cÆÙÙéq S ýòÜ$\8d\ 2\872\85becG\ 5ªðöS\85\85Gh5!\ 1\e½Ä\ 2\81È;@\9b\92W\81S\88¬m\18é\89vµnÙÑ\17X\94\80\80\9bÝ\88 ¦&ÀB»ÚNü\1d\14"e9Y¯· ØÑ=P[¬&Ú"
+¿¾ç÷Û\e«
+\f\9a\8d\1et{k\8aµ\9d\v\ f29÷@CÛÏ\8f\r\8d\8c\f¼yv\1fÌ\10o\ e2&\96À'$>\a\91F÷ò\ 5Y¡µá\86\82Ê\1aP2\84æ%r«L\r\ 4\85*\87N¥1x²`ý§\1f\8c       òâ¹ÒA\86~\11ÄE¾DÛ3\85dØ       N\96\19«òö`1\18\8d\98m`Ñ\1d\ 4Øap[2\97=\9d\8frýàÉ\8b]x®áþßÿu÷Zó±\92,½ÚW\0\9fpóðQëI\82B¼29
+l\bH\\92\9d\18¡Vú\a\84D&e\17×\9c»òËo\bgfI\19\9e9\\90\16¥\92\9e2¿\90èÔÜâÃuß6µ´4\9f9qd\7fAVr´&80P\1d\1e\97\9e\7fà\9b\v×\1f¾ »Í+T0\80Øý\84ôU*Êg\84
+¿øòëõv`\1dhøFx³¾±é¹ù9\90!\99%H\86\14\1cÊ+V\14\qÖZѸ¾\9b\93I\9a\a<\9dE~\f\9cuº² M\17$ã»Ò\1cííì\9d\X|\89<0,26>A\1f\13\11¢\84¡ÄR¹J\97VXu\8e¬m\8b\91óh\9f@)YG\1dÙ2uB.ôEX\eàüŵ\ 3\85¸:X\81ñnp&\0       6ë·7\83ã\1f&FÞ½¸\8fúEªV!\84\12³Á\8eÊ\12û\ 3úU\9d½rûÉë¾Á¡\81Þ\97`\1aèÄ\91\ 1R®+\9dÁ\12àçÄ\7f²dA"Ñ\82,¿TSwâ@wÚ\ 5\rä\97§oQCY¨5\80÷,\17*\8dlº§\97\7f4#J       ¡ëÂ\80Â\16\99^TÓ\8c\18\18
+fÃV`ìøÐ\8db.Ë\8d#ðQEg\14\ 1IÜy
+\1f\80
+Ô·l.\1a\8aýô=Õ #<WÿÛ\17\8f\9d<\84ÌÐ\93\83[\ e\81\97\ví\r\9d±³µ¾</M\1f±9L£KÌ,¬hø®óÁów£S³s`I(\94ÏVïÙ\1a\eê/÷\91û\87èRv\94T54_¼ríÚÕKçO\1d)ËK×k\83\ 3@ÁQI9%Ç\9a\10\r\fÁ\9d\ fÃ[\9a:\1dXÊJ\ 5\83Táç\7fþ«\995\15j%8}mëõG\b\rçÿ\ 32$\90\ 6»¡\93ÕÚ¯¾@«¿¢¡¢Û·tä\80.PÁëÂF?3\r1ùôn{Ó±\92ì\ 4\8d¿\97\a´\11:\93Å\ 3+Tkc\13\rii\86-1\1a\95Â[*\91)Bb·í­iƵí#¤\a\1apÇ4°\14\rÿðÇÏÉ:
+ª?{u\81 pt\15!\veØY\9a­3·vb{©0DA]|?2>>ü\ e:\13ñÞ\9elgG\a*\93ï\83 ´¶¥ãÞÓ\7f÷\rô¿ëyr§½ùx)¦Y\96\8b³\vK¸I\93\92\7føìÿµ dC±BÝ)\ 5\85*6áÉ\ fæ\ 6¢Ù(t\83\86â&ܨIÙ½ÂGµ
+\11\9bîLg\8b\91\f\8f\82\fQ}\80\ëïy|ãû\13å;\93µ\ 1ÞÐryb_XÛÝ\95§/Còõ\8fN,\9dËÅÉ\11     \1dL¼¬®µó>ÌÕÿ¾÷U÷í+\8d5û2ã\82½\81N\1d©\f\1eÈpGùI\90áÛáÉ\99\19ã88ö\8d¶S\87÷æ¤&ÄÆê\933ó÷\1fküñæ¯\90úØ\92Fß=»×Þt´\18¹e 2(T\97\9c½÷pCË\8f×oݹsû§ÿÒ]&þP®m\1cÿtÞ¶·Ó¢N>\94\92%\99$Y\8f=\91ì;5Æ\14Æ\9e\9dÁX\ f3\8c\9dC$[¢\94¥lEvÙ\8dÝÐ\98±ï\14§÷Ô\7fð^÷3zßÌÑ\1f0Ï<÷sÿ®ë÷ýÖ¼ÌKýÃß\85`a¤o`bãà\13\99VTÝ>ÄZ\ÛX[b\8f`P\89\80á\8aÐ~\9e\v\17
+\\88Rxö<p\14pqpBÞëV\84\86_¾~\8fa~B\90\93\ 5"_þSÇ\8e\1cÜ?\87\10\92Òj`\ 4\88³z\99Ð\15hÓÏ1û\1aËó\92Â<\1fXêßRû]IIYMë\8e±µ\1dÉÝÛÏßÏËÍþ\9e\99Þ-MÍ[ú\96\ e~1@\95\80ô\10CÄJ\90\7f\83©¦\8c\98 \1f\8f\aìÑQ\8c\ 1P3¡Ë\ 4@J\rsµÖQ\94\14\16øíÌÙs¢Òª`]Q\19Ïßu\8fq\96ÖÖ\96g\99½°VbP»)Jãp×äÕõA\b\13ó*\9búƧgçf>\8et¿/ÏM\0\ 2ÒGõ)\81\93\81~D\7fÂë¼?\19\90]wR\ 2wÂbÄĦ
+\f\ 5Ak\10ÉB[Iú
+÷¡Xéò<ÔÙ\12\10
+\8e\eÃÿmÃmn«\14¦\84Ã*Ò»©ª¬¢®c\8cw\r¦cÍ\aä·÷\ׯ^\95VÐ0Ä»CN_7£sÍr¦\86;ë_æÐ\83\9cmî¨È\\11\13\11¿*\8fb\18\9f÷¦}\98ó½¹\86ÚkJ²â#\ 2½<Ü=ý)Ô´ü²úÎ\11à\1d´\92@W!é/³é°ó`[ÚØ9û\86'>~^ÝÜ504Äèn©}ñ8!ÔËÞÆÔÐÐÄÚÞ+<¥\10Fd
+p`yn\8aÑR\99»»Ëv¿Ø\9e\ba«ðÐ\91\7f\1f?uö\9c\bNþ¦        Ñ+*½\18\94qfõó\7f¾}ÃJ\19\ 4.)ÄÅZ\17ö\8bÀéãG\ fó>c7\86ÿ:Ì\15D°Î°\94
+6ÐÚ6ô$k¨£öyV\1c¼¼\8d©¾®\8e\8e®\81\89\15ÁÁÍ; \98\12\12äçá\88Çb¨m`M
+\88\ 5¤\1f\98ZXßÚZ_ü\88!½/ÑHMZDà\9f\86²GG!»\v \9bhõvì
+\95\9cÄ\ 5þÓ§Ï\b\bã\14aïP\92
+Þ´¡o²²4Ëìo*Ë\89\v$Yêª)ܸ¡ v\e\840:£¸¦m`\82ÅaO\8dö6¿y\9a\16å}\1f-\r      1qÉÿ;-\93g@4ö\19\10ô\1dÀ\9d¤T\f\bÞÑYÈÕ\16ÖÐqX\bZãüíMo* C\91U\87á\807oà\9d:3-\ 5)\89Ë\922*ßÙpb\ e\8bá2l\14h\15\1aÙ\95\80}/-]\93{Nþ1\19ŵйó¼ç\92\95UT¿céèOÍ,©mgL°ØÓS#=\8d\95\ 5\9e\9ar81aaQI¹\9b¦°\rsw·!Àß
+g¬»¡¼ \83\1eE      "\87DÐR\1e\97T5÷\8e\ 3ï \18îìÙ\96D{\17oJlFÑëÆ®ÁñÉ)æpOsÕ³\fj «\9d\95©\89ù]\aï\b\14CÆäìâÒ\ 2{\1cÊ>+\ 6î\12\9c\8e÷\8bý\98B>H¡¤¬ºþ]\97 úc\180\18Á\9d¿¿¡mÈ\19é¨)J\r÷À\e¨É\88\v\9d=yìÈ¡ýÖ!
+\ 6*#    9-sÇÀ¸\9c²Æ>æ\1cêÉÍå\19`\92×E\19±\14ogâ=kKKk<ÑÑÍ;\90\12\1e\19\15\11âïápÏô\8e\96¦¦\8eÑ]ç znE\vããÂúææê\1c 9P­\97­¾²\14\97jÿ©£\97\90\8eú \87Åt\14\19
+èf.=À\1e\12"~þ7¾S|üB\12² \ 3þX9\8dMÏ/. ô«ÌO¤¸Û\1ak«+«hÜ6%¸S\12\9e¼ªÿ08>õqr´¯µ¦ä\11-ÐÉJ\17\96\86¨\88\98ä\ru#;\1f\10ÎÆ~HÌææ\1aªÇ²ÇT_¢á¾\ 3Âu'i5£ûÈB\9b\ 6Pen"HÇv\15ÑHC\ eVìU9Mcâ®èþðP\9aï}c\rY\1c \82´².\98Õn©\7fÚÞÞZ\9d\19ïy_\9e\97\1cáë\8477\80\83æó\ eOΫhì\1d\9eKEUS×\8cø0,)¯¼¡spbê#s¤\17Å$Æ\ f¼Ké\9aøÅóBÂ\bÁ¾+
\10à\ fÞ\92ÑVû2?#16&\9aJOÉ*|U×Ú\ fËv\v\95òÎ&Ì\12ôú#z¸ÿCWWw\9fàè\94'¥um\ 3ã¬\19´l»\1aÊò\92"|H\ 4\95~QiOß´\ e09só3S\83íÕ(C\80JW\85y\9d\8e\eCHá±\13|üçE$o¨êZØC¥Ã¯!
+\e;\7f\7fýúå\13\17í20¢PÀ]\128\rtxp\1fK9À\95\ 6Aøþ\ 6\ 4ÏÈt\ 4Æ,¸\0p\82yÖpgCya\ 6\1d\9b3\89äìæéK\ e\8d\8c¦Òb")~n\ f¬\8dt4Õ!\86÷\¹<\0÷¶±¾Ì\ 1\ e)N\vw·¹­(y\81\97\97-(z]\1dt4.·\12é(p>¦\9beÙ(!ªÒ"\82gN\9e8yFPô\9a
+¦ O«Z\a&س³l&£­º(=Ê×ÁÚHW[GÏ\14\ f8ý'6Õc\13ãý­P.ñ!nà'r8Qaa\98N\rc\94¨²¦~\ 4\97ë\\bË\8cúAû~áu'A1\19\rS\84ÿ\95hªÐqf\0ýJþ\8c|\88×W\ 5r\93\90\92\ 1ÄÚ<ÀóP\ 3U\b¿èe)%\1d\10¤8#lP\98í-\14\91ÖjÈ@¨7ÉÖÂX_\ f:\85è\1eDË,©ic0yÏ¥££ofëJ¦e>«jî\1e\1a\9b\18\eêi©\81J\ 2´\ 4E\92¸xN@ðÂe\19uì`åÍ\fÖ\12\ 4í\v4?{´§©º´ +=9)9íQnqÅÛ¶¾1öâ\ 6R\94\1dØÈ£]õeùé±ád?_ÿàHzFay}çÐ$g~q\9eÃd@¡?\8a\rñ$\11        v\ e\1edjƳêV\88(\87\8d0§,\87N&!°ãÂô\9e\0¡e\b»p7\85*:fv\1e!ôì\17o?\f³\167¶¿À\0l-sF»Þ\95\ 6:YßQ¹..Ä\7fê×£?Y\87\90\8c\17q\8aà\95d`\96\86\1exÿµ\r\0Ô\19&£ã]ùÓ¬dZ\ 4\85\1c\18@\ e\ e\8d\88¦ÑããéÔÈ`o'[3=-5Uum#<\10Zþk âù\95Õ\95yÖP\e\82\ 1gË[ò\12Bg\8e\1f=ôË\ 1ÞËFBdN
+J,¨ê\18\ 1\1dýüi\rÓM¸L¼\1e\1a\13Çáh\17%åo\99;\ 6вJß~\18d²Ø¬      F{\1dÜH°Ç\ 3\e3\13SK['\9f\88Ä\9cÒÚ\96î]Ä)}\92\18æI\84J\96\12»(tADRN\93\9b\98¦þÉÙåÕ\95\85é\91\ fµE©anû\rÈ\81\1fÞÌ\91\1c\9f\a1\84㬭,°\86Û«\ 1Ò]­u\95¯_\81\18*ÜBzð¤¢y`rnÏCu\7f¿&~é\92\18N\1eµÊ÷\1c\83ã¬Á#:ëË\vÒ©Á\9e$[K\13CCc\v<   ¹ì+H\ 2÷\\1du/¸ç271µ"8ûE&羬kía\f\ f\rt7×\0ºQ<\bF\9ar\92\97\90¼\9d\17\ 3j¶ÃÀ\ 1\90\ 6®ûË\ e°õäà\87÷U¥Os³\1fefå\14\94TÔµt\ fOÍ­\80mþµ\8d\15[Kõó\9cÔØÈPJh$-9ûYåûΡ©\99Åå¥ùéQØÖù©\7f\90=]HNî~áñÙÏkÛúÇ&±\82©*J\8fô²3T».vîô¯¼h\b<}ð0jd,\85Ú&x\97\80è´\82\8a÷Ý£Ó\8bë\9fvþÚù¼¾8=ÚÕðêIb¨\aÁø¦\ 2\ eV\f\ e\7fÒÊ ¯â2ê\86\ 4Ï\88ÔÂ7Íý\13\9cÅ\95µÕ¥9ÖX_Û»\8aâÜÌ\94øX*\95J\8bKHJNIN¤Ç\84ù»?°2ÔVSþ/ÛåþÏtûÇñÇãÛãî.Ý9DBNå\94¨\14\9d\1cî\9b$\11\85TÊסR$\87DeÈqNËqN\93Ù°\196æ´\ 3\9bmfll\8e\v\11â\96êþ~ÿ\8aïûÚJ\87oûu\8fÇõ¹Þ×õº^¯×óÌy÷/2äÉæ\96×Ö×\96f\ 1lj±\10¯n',~Þ:ºløÖA«S\1eAQ?2,²Ð¯
+ÑÚ£±Gs\9fáácç/ß\8aI\85|â \1a37-\13öÓê¡á<\f¿}+$ì~|*¶¢±½\8f/\1e\1d\93\88\ 6º©\ 4\z|x\80çY{K\13C\ 3#3ë\93\7f^\8dHRÕ\8cÙ¥5Uø\rÒë\11l|#\94ïv¦>\ 5è&\ 1÷R
+ëé\83Ûã Î}\1a\1d
\85\95\9d\93\aÈ\14d8\80\16]ß^ô^\80\87ã\91C&ÆfÖ'À\83\13²ñT\96dfi}ëÓÇ͵ÅéÑAÐ@qfrLÄ­\0?__ÿ Ð\aIYeD:W,\9fQ*§ÇE¬64WtÄ\9d\90ÛaQ        \98|<\89Î\1a\1a\19\93JD\&¥¶\bøæª\87ÓÑCFû÷éè\19\98\1f={       a\10°\17
+~¸î\7f>ÀGÆ\ 4¬ÎVòëºÚZBC\13­\8b-\18\9bZXý\e*Ï?\1f7Þ)U\86
+\9b\9d\99\99\9d_RCî`     Á\8bW×Ñ\88²¡îæêÂ\8cäøÇq\807%õ4°RÅô̤TÐK­Á&ß\vò<­Îä\9f«!2C\rM]\ 33ëãgÜ}oDÆa
\9aº\ 6$\93\v+\e[\10¨[\e\90ùí¯_eÄG\ 4^<wÌÒø«\1dþ:\95µõ\ 1        .\ 4D&å °\80\10\]\87\87²¤T\8c\ e¡áêkðåeeeåå\15åe%Ey\19ɱ\917®\p9íèxöO\9f\9b\ f\9e\17\12 éLÍ/-¿UÊ\85¨\vÄÝAñz@[ã\a0R\17Q=c\e\eÑ_zü\a\15nNn\13\8a¥\91î^\8dÝðÆôMmÀzÂ\13\1a\19Üa\99bR.\15²é¤Êü´¤G\ fîGÅ$Â\89Õµ0ú\a\ 5"!\8fÕÙR\87ËH\88\fò\82è25Ô×74UË0¯\86Æ\16\81\9d\ 1qöS«r\12î BÑù\89PT2\84\8a\1ddX@hçJ¾\8c#êk©Ì\8a\ f\ 5>°µ<\8cd\18 ªÐ\9c\91\7fi{Q?7\a\83F&\16ö\88QP\95\18\82\9a¿þ÷æÆêâ\8cTÐ×F¬Àb\12¢B¯ûû\öñ\ f\ e\8by\96WIîä\8ae\8a)\85TÄa\90 ¹%Å>\88zð(15·\94@édó\85Ãh®æZèmá\81ðº Òt´´tT7u=ê\ 5\8eØ5$_\0Ûùï\7f>\7fx¿47!\1eì¥SI Ã:\ 2±©\8d\89t8ÿn}skkóý²R.ævQ^Wâòssò
+J <öð$p,«kpÉ\13"\96\9ao\9e=Ãd\15áI\1dýC\12ÙÄø¨ ¿­\1e\97\16{Û×õ\ 4º\95_d²Ê\fõ\8d\9cܼ\ 3ÿ\1d\93\92]RGa\ e\8cÈç\16WÞol¬¿\7f·03.dµ\13˲\9fFÝô\ 1Ä2SÛá¯!eç`\87ÎÞ7\1f>/¨¡ô\82'Ï/¯¬¼[\9a\9f\99\90\fqzè­Í¤\86zB]mM5¾\f\97\9f\89"ÙßÓÅÉá¸\83\93«w0£Ö~áø´R9#\1fáv¼.N}xã"Äë~õ\vúöC\9fÒÜoj{öRH,à&ç\enª    ÅO¥\90?vÿ¾Kc/Ø¡ý9¯àûÉyxr'G(\19\e\e\11°Am¥yi)O\12\9e$c²\8bñDjg\1fg\80Ëîn'W\17e$ܽîíâ`\rÑ¥«wÀ\ 4\1f\9e\98\83G\1135§\9cUH\ 6\18Ä\924hyçìÌ~~Û*\19îUËðîSì×qfa\1cz\ 3\ e\13\eªßa¨~Nî×" (Pz\ 5²é\1f\16=ooal``dnëä\11x7\19­\80Ê×ÊÚêòü´TÈ¢\93«\8b_>\8d\ e\vö¿ìååí\17\1c\1e\9b\9a\8cæ\92J%BNW\v¡4/=åIâ\93\94´\1c\u#­«\9f;8ÀîAs¥ÇG¨^\97±¾\8eæ\1f{µô\10N"\9f\a$E\8eûá㧭͵¥9¹\84¯²ÃÚ*<¾\9aÐHeôó%\8a¹·+\10\ 4+\8b\91Á\1eZcMY\11677¿¸¼\8e\fíqtR¹¸´\ 4ÿ\89¹\9dÍu¥\ 59\99\99¹\85å\84fF?O422Ìë\83*\91¥b#[³\ 3Úðnwü_&\83\19î30\ 3<ñô\ f¹\97\80Á\96×S»8Â1ÅÌ\9b\85·o\17\17\94Ó\13#¼^ZCynJôm\7f÷Óv\87\8dt55~-C´\1a²C\9bS\7fù\85Æb\8aê¨=üQÅìüââÂ\9b\19\85T<ÄícÒi\94frãkBMeIAÖóøû·¯^tq<~ÔÖþäy¯ »à¡ð²\87¥\13\13Òá\81®¦Ê\9c'\11×P«ÕÓTsÑ7\15¢\1eªonwÞ\ap\13àA6ÿ~ëóç­µ7R.­:;\1e\ e,tÏ®\9d;wí\81¾jíàæ\e\12ý<¿\8aL\aÓ\13
+x¬.j\ 3\1e\97÷2\r\93ö2·¨¼\8eÔJgöô0;(\r\95\ 5\91×½]Q\81ÒÓÑÞ§o\f@y%4îe)\91Î\16\8e\8e\8f\83Ý-Õ\101\81\17\9clLÐÎvüJ\86è\86\13³+¾\8dÃlÆç&ÝE\98jinnaëø\97\7fXB&\90\11G46>!ûºh\10\\95¹¡þþ\ 3&V'\}ï@¹i £*ñf\ 1ÎP>:ÔOoªÁA*\87\ 5ûyy¸{x]    \8e\88Ã\14V7Á\8d\vEB>\9bÙJ¬Âåeªæ*® \90i\8cîÞ^&\1dæÊÇÄE\ 4]r\ 6¯\ 5Ì\84\82\9eç1g\9f;\8f3ÊHL¾:·6\90íÀ\85÷1(ÄÚÊR5¦\90Ûº¹"Ù\94r\ 1îqnJ6<ÐM#\81\fó²³²ó\8aT:äK&à)ÍM\8d\8b\aº[\89Õ¥E\ 5\ 5ÅeÕD*£\8fËãó8Ý \9f\9cä¨\eÞÎÇ-À\f\7f<°¯\99¼GKÏèðQGW0Ã\87Iéù â\8e^®@<6.W(\14\13²Q\11¯\9f\ 1O,çYLè5ϳ\0)zZ\1a?ëù{;ÜgxÈîÌ\85\80ðøôâZ
+\93+\92ʧgfg¦ä2\89\88Ïéëf´·¶\90\1aêð_TxÍËÅÑÞÆÊêÈñ3\1eWÃâÒq\ 4*\93Ã\17\bxì®\96Z(¤!>.°wu\1fUÿþ\ 5¿\1dhßÚ\bGýÂ\11\8eòå\8bë\1f?\7fÚ\\ 1Ül\ 1\1c½é\85,TSã÷ß~\ 3·×1\0kq÷\ f}ô"¿\12Ù\ 3\9bÃêe´\92\8b!Yr°E¥Uõ$
+­½\9dÖB¬)É}ñ8\ 2©ð\88¹¡\9e¶¦¦¶ÞATvCbR\vkZ:Y<\81\0®\1aµÇÇ\10¯'P5ü\81P¶ehéàæ\17úøûq \9aa\1e!@8rÈÔôÐ\91\93n¾w\1ea\8aj)]l´(g{Q\a+\93\ 3ººû\r\ f\1d\89\1ef\ 5     É\7fB1©\18\97\b¹Ý´Æª"hµ¡\81\97=\\9d\9dÝ.ø"\1d\16à\eÛ\98,\ e\97Ý×ÙJª«@\89\99\8b\ 5\93©m\1d\1d´\96Æ\9a\92\9cç±áA\97\\1cl Î45vïB!hf{Úóú}\88 *òäù·Ë\0µ³òQ\ 1\87IC§£ê\7fX\e}3½\8f7,\95ONA\9f\11óû;)\rU¯°Yé\18Lz\16\ 4\1c÷\7f|W÷WÓy\16=g\a\90*U \b\18\14A¥ÅB\95" H/A \94Ð\13\b¡$\90@B\b!\ 1\12Ò;\ 4\90\92\ 4\916vlã\99q\8f;ã¶3ggwv÷èìxöߨ÷I`\1cÁÙÏ\ fðÃ\97óáÝ÷¹÷¾û6\1f\80\0W ¾ÕE\83F!\93)5\86\85åµ»Û»;\9bë¦\19\ 5\9fA&\14¤_\8a\84µÑíØáHg\8bXn^'`&ǧçU\10ÛéCc2Ý\9cÉbݹÿ\b\9a÷ôéÞã\a_n\82Gh \17·\ 3\r\93bmáð7hh3W0ûðX°¶&Ø?u \95GÏ_}óú÷¯¿yõòéã\a»\9b\e\96å¥[À      .\9aÈà\85\97¢Î\86\9dÂ\86\94VPMb\b\143¦50&ëêÒ\94\84ÛÛT\9e\9dp\ 1\e\0ãÕÉÑÑÁÁÑ\11ý\84\83Øå\13\14\8eË(mfLÎY\9f}û·w\1fþûáÝ\ fß=ß\\90²Hø¬Ë\11'!\848Á_¢ì\vKabvi}çà\98°´²¾±qgÕ<oÐÈ%"¡H,Sê\fs\v\8bàÑz\85p¸¯½¾<÷ª\9d\85\1eîî\9e¾\98°èÄ\9c\8a\16\1aO6m´X77­\16ã´\8cGk\81\957
+{8\1aþ²¢@2É«"1ø\87àà¯Ãâ\13\1a\f\eHlJîÍÖ¾Q9¨Þ
\ f.ÍI\8c
+\vÚwá¸Ô|B;s\=oÙz°÷üÅ\v ó¦e       Â\ 4«»¹ºèzjâåËñÉ×ò+\1a©,\18bÆÕ\8d»w7,æ\ 5 \81\1d\97Jg¸µ°´´°\8f«®,'\ 5±\10¦\99ó1'h\vLedô \96\99\95mp´oßþñ»?¼þjï\1e°P/\9f\18a1èô¾\ 1\ e\995ßÙyøôÅË\97Ï÷\1e\ 2Óç÷¿Òè\f\16Od7.(\10>îZW\96\1a\95
+\8dsãmËÚÚªù\96NÂë'£Qz!\fó¹D÷\v\rã\81\86øzRÏà\88\85\v\96W×ïXál¬\83\eÔ\12>«§\95P\9c\95hßQ\8e\10úW÷¡\9d \ 2w5·¢±\vº3k^ß¾ÿxïÙ³g{O\1eÞÛ±±pnJ%\19ãÀvR]\9c\9drñü\99Ð\93'\83±\11±I×Ë\e¨\83crýÜ¢q   þ'\88\1eâh*."ä\84\97»\8bó1t\9c\9dá·\93\93\13d¾ã~Á\11\97³ð$\96taëÅÛ¿¿\83dóïïß<¹3#ìo*I\8f;\83ñ\ 6£røÂa\1f!\_\ 6Ù\97'V\ 3<\93  \1egJ£\90\8a\12\99B­ÕOMé &\8c\f id'ã\10\v=Ý]]\=¼\ 3N!+­í`\8eJµ³ðªó3 É>\12\ 1|\r*;¼öÙiè\1d\b\13\8cx\18N5Jר\93\18Ø@¢â3Kê)\ 3|\99n\16¾/|¼\14\1cÃÛ󸧯ÍÂKê(\ 3c@1\8bukgg˺¶<?¥\18\1f¢\91êÊrÓ\12p1Ñ1¸\84ô\eø\ 6
+sT¢\9d]4\99ÍÆ_áRªuSv\¼\ 1[\bO\ 6\16b\10\vAÓN¨JlTÂu|3mD6³|÷Þ\13Èq/\9f?y°\r#\#á³éTrkK+\99Jgó%Ú9\13²¶Ý\9d­\8dU#òÂafo'\99Dj§ÒY£bõ¬É\ 2_¿ÜÝÚ°\98æg\10\rÕÚ©\99[ûÚ\9eàÐH5Å\99   ÑöIz\84;\a4<y&êrZn)¡©\83\15\88¤J\8d~zfv\ eÎì\8cA¯UJ&x,Z;±"?#>êÿ\fåý\95Ç\ 3\8bWsñD
+¼ºfÖ¸rç.4qg{Óº¾j·B!o°\17Rvaf\12îÜéà@\7fÿÀ`È\ 5éù\95Í]\ 3<¡T©RÊ'ùìÞ¶\9a"[\1aE\8c\0J¸º¹Ãqssuq\ 1~\0ÛÏÇçTup\94¦ÝW\7fúÇû\ f\1f~úñ/(\1aò{ê
+R¢Ã\ 2¼P\99(EBÃ\ 3B# ý\96Ô\92\ 2±R;5==¥U£×\12\89Db\89T&\93ID\ 2î@\ f\99XQp-1\16\13_O7\17gg\17H\96`K)¹ðÔ\fî¸D¡\84Ê\ 4C4rmIVBÔi\10÷¡µïc@¾\98v\14Nq&4\10ð\ 6\ 4a¡C7*\1a;\99#\13R\85ê\93K\83|=ÝÝ=ЫÄ$e\97ÕSìÒY2\99\8c\8b `±\80M#×ãó2\12â.D@\98\89¹\92\9aSVG¦\r\8dITúi\83\ 1\90!\\93\b\97\1cp\8dÙqåÛp\81\17º¡!\81¦\ 4\82\86KÍ«j£ó¤úÅ\95\8d­ÝÝÝmë\9a\19¨>1Ì ¶\11     \957oV×5Sèl\81\ 4\95`F4\9fÑ)D£,\1a¥µ¡\96@¨%¶Phl>\14¸`º½²rÛ¼8gЩ\95r¹B©Öêô:­J\8a\16ÑæªÂÌ\ 4p0\7f/w[¿\8eÒÐ\96\rÃÎá\923\vð5Mä.:\93Íå   Æ'\84¢I8"Ñĸ\80Ç\19ìë"5T\16\81w\81MüÖ\8arp!\fA\föÜÅ\94\9cÒÚ¶\1e\16_¬ÔÏ.\18ÍËËf\93\96\92
+GÙ}\9d-5eÐÊØHl\90¿¯\8f\8f_`ÈÙ\98ÄÌÂÊÆ\ eÚÀ\10w\84Ë\19¤S\9a«\8b³\92\86\ 6úzÂxô8îéåíãããíåyÜÃÃÃ\vMËä¼\9a.\9eæöý¯ÿüãû\9f\7f~÷ÃÛ\97;F\ 5§c?\1a"ûÿ\1dâ!(\ 3x\18\9b\94UTÕ\ 4\8dOJ¤R\89\18°\8d    ì\87Ï\efõw\93\eªJrR¯D£\7f       ¯\ 5¶k\ 3\13váJz~\ 5\91ÜÃ`\ fÛ*ë´YfÜÙ\10ÿ#ùĦD4ïÎD'|
+§ó\0\ eæ\84¯_\0ÊA\19ù7\eÚ{\99ð}\ 4:üñR/\ fWWdÃ! \9d률\1dÖ¨\10¸ªV)¤B>\87ÑÕZ[\9e\97\91\18\f64\14ÒÌÅ\94ìâêæÎþ!þ\84\18\ 4%\15\8b\84Gq\15#\áv\\8e(f;Øí\10V¥BB\e\8d\0×6\99M`öZ9L\85n\12±²´àFNn^\11\1eì\89Î\ 29)Ô\1a\8dJ.\ 6Oêël%V\95\97\14\16\16\95\80y±FErµ]\ 4\1a¥L\82Ä=9)\16\8bEã|\ e³\87T\8f\a\ 3\8b\ e\ fñGáê(uöYã\13\18z6úÊÕ¬ü²ªº¦¶öή^Z_\7f?\83Ád2\18\8cþ>Z\ fµ£­±¦\ 2Ò\b            øü]\a\8f\80ü\15\ 2\156\12\97\94UX        m\1eä\8eMBbÕêtZ\0!\11
+¸¬>j[ýÍ¢lXNàQüÐ\bòöÃ\9c\8a\8cK\ 2)Ô6\91(Ô.*\85ÔT\8b/@n        <õñB\fôó\ fÀ`\820\81\ 1þ~ÀF_Û.YDì\1d\9b²<zý×\7f¾ÿÏOÿúþÍÞÆÜ$³µ<ó\92-\1aÚ\84÷\11c\f\f°²\9aæ\8e\1e\ 6\8b\ 3O?Â\1dæ\f\r±Ù,Ö ³\9fÞÝ\ 1\9d\91\91\84;\7f:8À\ay\86£\ 3\1a]^þ!á1     \19ye\84\86\8e\8cÜ\WQ\98\95l\vûö¤óiO\1dÐV\84ì÷3pâ"±\98\13>ÞÞ~PN,\ZNhlë \1eº\14¦¦³3*ùT$.9»¸ª±\1d*\1e\86\8a\87ÙL:\95D\ 4­¤ÅÇF\86\85`\ 2\ 31!açâ\12¯å\95×¶tÒ\98 \13\1e\ f\80\1dà\1a`л)\9fârE,´©\13¥Ã ÓQñ×
\9a»\98Üq±\©\ 2¦\8b\ 4ÃÌ\1e\e\99iÉII)éÙùe\84Æöî~\96íòa\16£\97ÒZ_Y\9a\9f\93\99\91\9e\91\99S\0\18Ú{\98\9cÑÿ1^í¿MßWTá\91\10\928qâWâ·\1d¿\9f±ã·\1dÛñ#Nâ8Oç\9d\90'$\ 4\b0\18\94B\81nk7¤uíªjªÐ¤NEÓ´V\9b:&UcÚÚjB\fuíèÊc\1dtíö\97ìÜÏ×v\9cbÓ}~\ 3çûù\9c{ï9çÞûý\97È·`[W.¿p\89ÎÅçÏ3¼ù¡dØmÑ\829MõÔ ¾É\1cê È\19ü_m°u\a\81á±üôìüÂâ¡¥åÂY:´8?7\9d\1fÍöÅCÝ6t+AsC\ 5c-7\ 3ÆC¥Þæ\89¤s\93\8bë[§`\b\97¯2m^ºðÝÓÇ7VæóCé¨Ïi\ 248]CC#\8f/ì |ö¤\ 6GòÓ3³3S\13#\83©\1e¯\ 3=[L¬\13\88$R\85J£Õj5*\85\f\\94HÕ&wldù;/¿ùÎ\1fïÞ\7fò\9fÿ~õ¯Ïn¿ÿË7^Ü^È\86í\9av>gT%\1e\8aå\9d\16\17Y[\ÝØ:qò\14ÎÉíí\13ÇA\82#ëË\v3ãC}±\0\94¡ì\10ò\9b\ eÖÕÂ3öq\f¦XÂ\89\81á\89\9bÎ\132\98\91
+ÃBåµ\8fu\18Uy8Ó\b'\89p`þBÈ\8eG²ÓÛ=\91äÀH\85Ki\83\0\1f\864}ÑÌðäüÊáÍ­-à\[\9aÍ\ fgâAÀTI)1\ 2Q\87Rgu\87\12\83c3\87Ö7á »ãZYäâr\95âÚ\8f\16QSS¶\16x£ýãók[§Ï]¸xéÒóÏ\9d=yt\8d\88\e\vz0|Zí]ÞP\9c ,\93\9eH0Ü\95½a¿ÇåruûýøuauóÄé³çÎ\13õϺ\18\86\13Ç ¾¹|\8e\95Z#\13±×+0g§D2µÁÚå\röÄ\93\ 3\83Ù¡\n\98;¹\n(;\90I'¢!o\97EOY$\a¨¸¡\14ªÀñP"×\9a»üÑôÐøÌ¡U8ì\89mà:¾µ\81\82O\8feÓQ$\ 6·\89ø<n\ 4\8bH\vn\7f$\9eêëïÏô%ãa\1fþD-\93\b\ 5m\ 2Q»LÕi´Ø\1c\ e\87ÍbÔi\94
+¥Zoó''ÖÏ_ûùoþüñ\83'_\7fýåÿ}øÞ[¯<¿9\95ö\99\95"ny`<$6±\a\8cvO¨7\93\e\9f\9a[\ZYY]]]YY^Z\\80ÌÆrýÉhÀm3\80ö\98Íêë\98gp±\802:K\97/\1cKöe\80,\15\8fø\19xlN\a\9e^û8;ä¤ýT8\94?^#';ÐÇå\vÇéÒþ]\97âqZ!\98\98A±`,\9d\ 5Y§gf¦òcÃ\ 3éX°Û\8e½®\9dñ\19}D"×\18\1dÞ\bÉdfþÐ2\85U\8ak²B\{\8aYÁ°Â\87Õ[1]f'fÑ\a7\8f\1eÝ(°\8c=¢Ój4Z½Ù\ 1\87J\ f\8e\8cC/ð\87üè\10®\ 4G­&\83Á`²:=\ 4plj~iuýð\91\8d#G\ e\1f^_[[%\0ó3¤.\94ÚRÒ@Eÿb¤Á\18Þ&\96¢ÊV\87Ëã\v\ 4CáH$ÒS:\91H8\14ô{Ý\ e«A« ,2AU6C\8eÙT;^«HªÒ[]þ\9eDfh\94YìÂÂü\1c¹\6\93èñ»\90\18¹D\801\88\8d`\a@\13\14¦Óhsv{ý\81`\0\ f:ñ R*\16
+\ 4B±TÙir¸}Áp$\1côw#\ 3z½Áê\8eôÏ\1c½øÊ/Þûð\93\87O¾ú÷\17ÿ¸ó\87_¿ùò\99\15êÉ2AS=gT@Äñ°EØ®À-ÝÁh"3\98\e\19\e\9fÀ\19\1f\1f\1dÉe\a8\99Y\81       Õe\r\99\1a\177X6¶\bÚå\1a\83Åé\ 6²@\ 1\99\ 6ÓDKc\ 5A\16¤ýt8\ e\vÝ\8e\88\e°aAv@£5X+]J\12ØW\14³ÆhwûñDº¯¯/\9dê\8d\86|n»©S)\15Q\e¡­\8d×J/\99\9d\9eP,Õ\9f\1d\1eEXy¬\16Õ㪩©)\83\89)Õäôõ$©\11NMOMN\8c\ eQ}Ü6£V)ëÀ\14$\a3lÐK,\91êËd2éd¼'èuÙL:´%¹\©Ö\99l.\7f¤·o07:\91\9f\9c¢39\99\9f\18\1f\eÍeѸI}\ 6uQ\ 3\95»(\a¦¾±¹U\b»Ñè\f&\8bÕf·Û\1dåÇn·Y-&\ 3,H*\11°Xª\9ba\89\87¨:ÉToqz\ 2\91x2\9d\19\18Ä![\8dE\ 2\1e\94\18Êù>\9aÁè\ 3°M£3\ 2\83\95\1eìT+¤d\85\18èÁh64ô\ ff³ýi\18\87Ûiw¸\ 3\89áÅí+¯ßøý_>}ôäËÇ\ f>ùèæÛ¯]>>7\10¢\9eÜX\\1e
+<¤(ER¢F\97'\10\8eÆ\13ÉT:\9dJ%\13½±\9e\10\1a\8cݬǴ%l¥tQ\84{\8a\r\1d\1f\89;\14êNÊ\8eÕbfȰXUÉkÑ}+\84Ã>\82îêHv-Õ/Åë{\8b\0Y-\ eW·×ç÷û<î.»\99\89SÐBm¤t\93T¥3Ù]Þ`$Ö\9bL!®tõ¸
+xK<dv\81Î\eíMÒw;õé\10\v°<¶Á\ 3\14\1a½ÙÞE\82
+\10\ 6§Í¤×(eíb\91P(n§_-\8en\7f¨'\9e\89©\19\12\fÞ\8fF\82>¨O¿KÛ\95g9®B\r¼\966¡¤C&WªÔj\8d\86\9d\83\7f«UJ¹´\1d³H3Ü«,\96ª<dw\82Ûrõ\8eÉâ\ 4\ 3>\8fËa5ê\90\18Q+\95¤\96­mÈyÝÁF4\18D\ 5\f8J\ 5\1eÄ.ÂçóÛD\1d*\9a\91úrh:\vó³\93\18³¢!¿?\14ëϯ\9dùÁÏ~õþí¿?züøÑgwn½{ýGçÖ'\92\1e\93¢Ð\93\8b\88\90òÚbé5:\93ÕÑåöPaý>¯§Ûå´Ã^!~\89\90\vp?\8b\90Ѱ\90\1e\80\02\85²\80L"jka\12ª2é\10\ f\9f
+§øQ-k¹õhÌ\82Ê\97²\15¢(fD/Wia\10f³Ùd\84\19¨äà\a:{=pÒ\12Åà\11åÑ>màë·Æõ\94\$r5>e\19¡¯\8aõ\ 1\9a¦ÆÆ¦f\8a]¦$\8f2[,f³Qß©&\ e
+°86cud\ 3\93Ö`¶;YJ\ 3ìpï;lÐ\8cJö´\ 6*s\ 6ñ6bÊh\13\bEb±\84NûΡ\7f\8aA|P\ 2\99·\95îäªN&K\8b\85VO\96\81+\18uZær;\89ár\8ej\ 3D\vÔ'\ 2\b\rqrÃ\8fBo÷Å\a'\16Ö6\8fc¼<\8c¥3\9bNô&úGç\8f^¸výÝ[wî=üâ\9f\9f\7füÑÍ\e¯_Ý^\1cêqvJÛ\9a\ eì,\ f5%iPY\ 1I\8dº\1a)«È«É¨'H2\90\9eϼj?g\85ßHÏ.dÈ\ 4\93PEu\17\1f«öÑ>j¹ûë\9eyi9âV²\1c°U     ®¢MRýye\ 2.\10\91qEÝ©'¾V\8f«¦¬rÅ&\ 1»\900\9a\19M&"ºVU¨OÃA\1aÛ\ f\82\89­\82"\ 4\86A"b\180\13ÐPÐ\82_;äJM§\9eRje\87Þ70¾\92f\8a~S\9d7\8c3ð"l        \8dM<°\9b\ e\7f÷¡ÿj\862\bVmY\91ªó\90Ë!%\9aßVH"lV­æLN,lãóÊ
+^ø{\9a\10\8b \9aA@<ØÀ\86y©Öê\8dg§V\8e\9d¹ðÂ\95Ë\17Ï\9dÚ\\9e\1dÏe\87ÆfÖN]yõ­ßþé¯÷\1e<ºÿéí[ï\¿vþÈdÚgQ\89[\1aêÊ\aØâ\v(k3\aI\86¤\16|J\ 6H¢BqK\98ª¥\87C\86LÔUÍ\ 4=¶·B8\85\8fhõá­~)çÄ{9ļ\16r\b!Z ¤É§ú×ï\b¸ \13¢«@$é`dyF\\95ì\ 2)\81¥¡\17*\14ÜG¨\ f\98Sðm\ 6\93\83 Âa\18\9a\19\86ººÚºÂ¯ìm\19sv5+4«t\91¯\15\9f¯ÄC\96\150\9fø]áà¿ëÙ³,\8b5ÏfaéR""%±\95³YqÉäx\10ZyÁk
+\7fÏbf Ø{8(B«XapE\ 6¦V·/|ïÚO^{õÇ?¼úÜÉ\8då¹éé¹\95cç_zãÆÍ\ fîÞ»ÿù½»\1füîí\9f^=¹\98\8bvéd\ 2^}í®\ 1\9cêMÍ\1c$ò¡Bb[\9a\19\vjw\93°ô]Yzþ\9fLT\ e§øÑ\1eúùÛ/ÝALlmâ±ó?öËü«©#
+À'\84\90}\81l\10\96\10@\96\80\88\88E@°R\ 1A´¢\ 5\8eU\ e"h[TZ\ 4ÓV¤¨\94%E\85
+aó\ 4Y\85$\801\bÁ\ 5\90B±Em)Õþ'}K\12\13ÈFM´=\9dï\17\8fä½\99;w¾¹w\1eZ\vðN\86¶Â""UK³.®åuéÍ\80Öeg\17èS\10\12\1dªÊ\9aýAË-\1a&\119QÐ\91¡ëÅ\0ßêµ\ 1B]K;7Ú=õ}µ¶v9 Óá\9cPðË@ÿ\8a\83§ÅZ\1cN\7f
+(º:K\87\8b*Å \91¦\82\80ç\83\8f*\8déæ\13²)aï\91Â\92\8aÚ\86æ\96\96¦\e\95\9d-È=\96s<¿èâµÆNÅøôÜüÜ´z¨³á»óÇ3\127\ 5\v\\9d)z=Ù`\867ûJ×@£.ß\óé±"\13æ_ÒÚcòw\83\1cÂ\11ú"\10 (\91¶î o«.Ó«X\97f
+ä[H§\19"ºn\7ftåÖ \ 4$\ 6\ e+<e \18øjjz#I\83G\84Ç4\ 1ü#<-ÆòpF\92H|S\144§~EdË\82À¢÷\1e<\89ÆòX\13\16»#;¯¸â\87fiO\7f\7f\8fTr£êRIÑ\99Â3gK+Ä-=#ê©\9f\1fÞë\95T\97\15\1cØ\19·Þ\1f*\86È\aÊÊïM\9b\91\90p\86\12\18¼\87ÑD\86µ:\13Æ\96£÷\12ƪAu\11;âth¶_ï9Ý\ 1[庴ï¢gS«\19Á`\7fta"!h«Ã\9b\18t\85]37é\rÆÎ\8ceg4C\9a\90\15Ãéï\84Þ
+\f\ eýÊÈV\ 6\81\93èl¯À\88ø´£\9f}]ÛÜ%»§R)\15½·\7f¬«ü¦´ä\82èrMãí»Ê\89ɧS\8fT\ 3\1dõåE\9f~\92\0Ý\f\8d\14\f&CÂ\9a6kydVeÂÒKV\rª}\ 2«E÷¤ñL¯n]Ë7i¹èº\13c\10\ 2V/Z}Oõç^á«ù\­L\9b\1eÌH\12õ\8b\82¥\r×,\ fÑ\90Ã\17F&f\9c(®l\90ÊF\1fNN=Q+\aïH®W_©¨¸Rs³µ[®\9axüäᨬ³ñêW'³wÄ\86­1^\f\8d\84\84ÕDd6$ãé±>\ 1æ^²fP«öA«Ãê×eÚtó!,;O\ 6Û¼|§Wë\8díÑ)exæ­+Ñ\ e\8ex2\83+\b\89NÎÊ/ý^Ò§|ôÓü³ù\99Ç£òîö[×Åâú\86\16iÿð¨zB­\92w5W\8bÎ\1cI\8bß\18Äç:\93\8d\16÷\ fé}a\8dÿ\98\7f¾.«E·øãÊæùïÉ«Å%\9az\rÑÐÕgmÌ\8eý\ 5¢ºöÁ±§Ï^üöranrl¨OÚ&i\96´I{e#ª\a\ f\94òî\16ñ¥¢ã\19Û£C}yL\1aÑT1|Ë\90þõüóu½}2¬\91ù?\bª¡³«OèæÔ\ 3\85_\8b\13³Ï\17ÿ\Z|þóÔøÈ`Ï\1digWï\80â\9eR9"ën­¯(ÎËN\8d\v\ fðâ0Èx3Å\10\0X\15\9aj(\80«a¡¨®C®\9e}±ôúõ«ÅçsSêû\8aÁ»ýw\aåCÃÃ\8a»]­õ\95\ eî\8eÿ@(ps¡Z,\86\0\80Õ@\1a:\91´wò\9aÖ\81±\99\85?^ýõzé·_g'Õª{Cr¹\¡\90\ fôJ%õ\95\17
+\8fìM\8c
+õs\87¾Oð\8eX`!ÀF \1aÒ9|adâ¾Ü/¯ÞêQ>\99\7f¹ôêÕÒïÏç\9f>V\8f*\87\87ä²\81¾®\8e&qå\85Ó9éÛcÂü=¡\96lîû\ 4\0X%\18\a,\8eHcy\ 6DÄïÉù¢üúmÙØô³\17¿/.¾\\98\9f\99\9cxp\7fX1Øß-mm¬­(9\9d\93\91\1c\e\1eÈw\ 5-\19`[`\r   T¦»_XlêþS¥U·º\86ÔÓs¿,,ü:?;ýx\5\ 2õãÎö¦ëU\97¾,<\9a\91\12·!HàÆDZ2(\86\0\9b\81A¾Q\9c]\ 5Á\9b\12Ó\8f}ñm\9d¤[ñàÑÔÌÌÌô\93\87\87e}w:$7k+Eçò\8f¤§ÄE\b}x,:\19\ f·d !Àf \97C¶g@ø\96Ôì¼ó\97ÅÍ\9d\ 3ê±ññ1è^(ëëºÝÒ(¾v©äóÜ\83{·ÇE\ 4û¸³éèÅ\10X\b°\1dhWvqó \89Ü\96v0¿¸¼¦±­³w`P68Ð×-mon\10W].;Wp,kwâæ\rBÈB\ 6\85\0.\86\0\e\83Á`¡®\f\95Ã5ë¢\13÷\1e:yNTY{³©¥­½½­¥©¡¾æjyÙùÓ¹\872R?\8a^\1f$\80-\84>OÀÅ\10`cà®L¤º¸ò\ 3Ã7'í9pâL±èòÕêÚººÚêªÊrQÉÙÂÜÃ\99»\93¶D®\vðæé,\ 4\1a\ 2l
\95ñ$\1a\93'\b
+\8f\95y8·°¨øBÙEÑÅÒ\92â¢Ó'?=\94\99\96\12\1f½!d\8d\97\e\8b\ e,\ 4Ø\ 5\fr;$ÓY<A`XÔÖäÝû\ eä\9cÈË/(8\95\9fw"çPVúÇÉñ\9b7\86\ 6úxp\99Ð×   °\10`\170H[¦0Ø<oÿµ\111[\93v¦¥gfeggge¦ïÙ\95\92ðaÌÆuB?>\8fíL%\ 1\v\ 1ö\ 2*\87\88\87,7/ß Ð\88¨Ø­Û\92¶§¤¤$'%Äo\89\89\f\ f\ròóv\87J!\85\88Ç\ 1\v\ 1v\ 2\83zH¦»pÜù¾\81!ëÂ7FFEGGGmú`ÃúµB\7f_¾;\97Å B\r\19\87u\0\16\ 2ì\ 4ê!\81De0¹<O\81¯\7f 08$$$X\18\14àçÃ÷pã0\9did"\1emÈÀB\80\9d@<Äá\89d\1a\83Éæò<<½øÞÞÞ|¾§\aÏ\95Ãra@\12\104d\80}A=t"\10ÉT:Ã\85Ébs8\.\87Íf¹8Ói\14­\84ÀB\80}ÁhDÄ\13Hd
+\95F£ÃÐhT
+\99D$àµ\12\ 2\v\ 1v\ 6ò\10\12\116\11\12I0D"\ 1R\10v\10H\bxG`\10\11!\13\1dq8\9c\13\fô/Î\11q\10H\bxg`\10\13a\17u8 
+\ 2      \ 1ï\12\f\8a\ 3\8aæ\7fï;(Àÿ\11\8c>ï;\18\0\0\0\0\0lÂß\ 2\f\0\80ª\93ÿ\rendstream\rendobj\r1085 0 obj\r<</AIS true/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask 1109 0 R/Type/ExtGState/ca 1.0/op false>>\rendobj\r1109 0 obj\r<</BC 1110 0 R/G 1111 0 R/S/Luminosity/Type/Mask>>\rendobj\r1110 0 obj\r[0.0 0.0 0.0]\rendobj\r1111 0 obj\r<</BBox[162.0 696.0 809.0 544.0]/Group 1112 0 R/Length 43/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 1051 0 R>>/ProcSet[/PDF/ImageB]/XObject<</Im0 1113 0 R>>>>/Subtype/Form>>stream\r
+q
+/GS0 gs
+647 0 0 152 162 544 cm
+/Im0 Do
+Q
+\rendstream\rendobj\r1112 0 obj\r<</CS/DeviceRGB/I false/K false/S/Transparency/Type/Group>>\rendobj\r1113 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 647>>/Filter/FlateDecode/Height 152/Intent/RelativeColorimetric/Length 41955/Name/X/Subtype/Image/Type/XObject/Width 647>>stream\r
+H\89ì\97çS\93é\1a\87W)é\8d$\84\14H\b5ô*-AdQ\b(¢t¥¨ \b"(*,½\ 6\13A@C\95\12@:\bH\17)\ 2*¨¸¢¢kÝ\99\9dý;öÉ\9b\9c³»ç|8IÎÙ÷\9aÉ$\99÷ýpÏ<×ó»ïû»ï`````þVìú\16u\17\ 3ówä«\7f»wÃ*¨\ 3\85}»wk}Eþ\176\11Fu(\1cÔÒÒÖÖ\ 1è\ 2À\97¶¶¶ÜEXD\18\95\0I(WP\17\81@"Q(\14\1a|PH\ 4B\17¨\b\8b\b£
+\94\12\ 2\a\91(4\16\8bÃã    \0<\1e\87Å \91r\13!\11Õ]%Ìÿ7\9f%D¢0X<\91D¦P©ú\0*\85¬G$à0($$"ì!Ì\7f\13`!$!\1a8¨G¥Ñ\99,#6\9bÃa\e\192\194*\99\88Ç \10º°\87ÿ\vìúÏPw¹ß°\v²P\17\81ÂâI\14\1aÃ\90cbfÁ³²\ 6ð,ÍM\8c\8d\184
+\11\87\ 1\81\b{¨Ù(ÕÚýï¡a*B\r\19D!\ 6HhÀâ\98ZXÛ9ºìq÷ððpwsu²·±4e3id\ 2\16\85\80=Ôd\94\ 6jÉÑþK ×´¾è¨îâ\95\r\19\81Æ\12È4\16ÇÌÊÞÅ\9dïóý~\7f¡P\18pÀo\9fÀÃÅ\9egjD\a\81\b{¨É@i\ 2üÓÑÑÑ\85@ü!\8açºàMHG\85\89\1e4d$\1aO¢2ØfV\ e{ø¾þ\aCÂÂ#£c¢£"\8e\86\1e
+ðå»ÚY\183©$\1c
+\9a\ fÕ[/Ì¿\ 4\1a¬äó=\ 2\81D¡Ðh4æO\ 1/ Q($\12( \T\9a¨Öò!\v
+\r¹<û=\ 2¿ÀÐ\88Ø\84S§Ï¤¥§§¥&\9f8\1e\19\1aèëédÅeé\13±H]m8\ e5\11(
+åK&
+\8dÁáñ\ 4"\80ô\87È\9f\12   \ 4<\ e\8bÅ QH ¢¶zETX\88Â\12(t¶\99\8d\8b×÷AaÑ   ÉéY\17\v\8b\8a
+ós²Ï¥$D\85\1c\10¸Xs\99T\ 2\ 6©\ 3Ç¡&¢\1cïQ\18\1c\81D¦Põi\ 6\0ú\17\fþ       \1aM_\9fJ!ë\11        8,0Q½"~¶\90Hep,ìÝ|\84¡Ñ\89©\99\97\vJE\92\9aÚººÚ\1aIeInVÊñ#Bo\17+c\ 6\19\8f\86ãP\13\91\9f£\ e\ 2HH$S\r\18,#6Ç\98Ëå\9a|\85û\ f\18\es8l#C&Ã@\9f¢GÄcÑH\84RD5U¯°\90Éå9zú\1d\8a\88OÉÊ-\16U×7¶¶Ëºº»:Û\9aê%¥9é     G\85\ 2'K6\8d\84\85ãP\ 3QZ\88%èQé,\8e\89¹¥\95\8d­\9d\9dý·ØÉ±U\0ý²±¶âY\9a\9b\1a³Y\f\1a\85D\0"B\89¨\ e\ f¿±ÐÊYà\1f\1as*ãr±è\9a´Uvkpdl|bbld »µ^\94\97\91xÄßÓÞ\94IÁ£äq¨úJaþ\8c¯ó=\93cƳutqóðäó\ 5\ 2o%\ 2\81\80Ïç{yyy\ 2¼\14xz¸»¹:;ØZY\98pXtª\1e$¢Z<\ 4\97\bT/·ÐÄÚÅ[xäxÊùü\8ajéÍ®¾áñ©¹\85Ååå¥\85Ù\89ÁNé\95¼ô¸\10_W+\ e\8d\88AhkÁ]Y³P\84!\1a¯\a¶LK;gwÁ>?\7faÐÁCÁÁ\87!\82\83\ f\1d:\18\14\14(\14\ 6\0\84Â@\b\ 1¿}{½Ü\9cí­Í¹\86t* \8f\ 1\81¨z\ f¡êÁ\1d\92[èº70<!ýR±¸¾¥³\17H8¿x\7fýÑæãÍGëK3£]RÑå\94¨@¾½)\83\8c\83»²Æ\ 1Å     
+KÒgqy\ enÞ~\81\87Ã"¢b\8fÅÅÇ'@ÄÇÇ\1d?\16\e\1d\15\19\19\ 1\88\8c\8c\8a\8e\8e\89\89\89\8e\8a8úÃá \7f_\81»\93­\ 5×Ð\80LÀ¢\10*÷Pq\870\ 4
+\83\v,\f\8a8\91\91[^ÓÐÖ30zgæîÒê£'϶_¼Ü~¶¹:7ÚYW\92\95\10êëbiD%À]YãP\86!\99α´w÷     8\1c\1e\9b\98\94\9a\9e\91\99\ 2Äù¬Ì\8c³i©)ÉII§N\9dJJ>\9d\92z&-íÌ\99\94ä\93ñ±\11?\1c<àãálcÎaP\898Õ{(\1f( â\8d­\\80\85'3óEu-²¾á±;Óó÷V\1eln½Øùùíϯ·\1fß\9f\19h\11ç\9c\8eðw·\ 6]\19\8d\805Ô0\14]\8d¨Ï2µqõ\ e\b\8dNLÉÈÎÍ/*-¯¨\14\89D\95\95\15e¥Å\ 5\97²\81\90YYç³/^Îý1/??ÿÇ\9c\8bç3RN\1e\v?ìïãîÀã2õI8\144\1fª°v(Éqz\ 6lK'ï@`aÁ\95\em=\83£ã\93S3ó÷\96×6¶^¼y÷áãû7Û\e\8bc²Ú¢³±A|;.\9d\84\91k\b{¨I\0\rÁ\88O¢±-\1c\82£N¤]È+\11]­½ÞÐØÜÒÒÒÜÔ(½^[-\16\95\97\14\16äçå\17\14\95\94W^\91\­®¾*©ª(λ\98\91\1c\17\11¼\9fïlmÂÒ'a¡n§ºóý|\85\fÍ\1dø\ 1á'2\vÅÒ\8e¾\91ñ;\93SSS3s\v+\ f\1e?ßy÷ñÓ§÷;[«S½Ò²¬ø`o\aS\86\1e\16\f\87°\86\9aÄ\97@áð\9c\ 4\ 1aÇS.\80EóFKGwoÿàÐððÐ`ÿ­®\8eÖÆú\1a±¨¢¬¬¼¢JRS'mj¹ÙÖv³¥ñzµ¨8ç\ò±0¡·+ð\90JÄ UÙ\96\82Z2\85ijçq ,á\\81¸A6069==591>\ eúòÒ\83'/Þ¼ÿôéÃ\9b\9fÖg\a\9a*/$\86ø8\9a1ɰ\86\9aÆg\ré\1c\9e³w`xâÙ\9c²ê\86ö[Cc\933ów\17\16îÎÍL\8e\rõÊZ\eêªÅU¢*qu\9d´¹½«w\0(:ØßÓÑ\/.¾\94\9e\10\1e´×Õ\9aË àÑ\bÕ-¡òý\ 4,Wz`0Üã\e\12w6OÜØ5413\aJ\1e\1f\19\1a\1c\1c\19\9fY\\7f
+<üðîõ3 a³(ûD¨\8f\13Ð\10\ak¨a|\93\86ÎÞÂðÄ\8c<QýÍÞÑ©»Ëk\ f7677\1e®-ß\9dºÝ/k\95^\93\©º"©¹ÞÔÞ3xûÎô¬ü¸Ç\ 6»[ëDyçNF\ 4íuæq\fôp*lËÐr\ 5\91\85\93÷Á\98ÔÜ*i×ðÔü½{óÓãÃ}ݲÎî¾\91É\85µ'Û;o^¿x²:ÝßX\ 1§¡Æ\ 2ÍW`64²päû\1fI8\9bWu£shòÞÚæÖöËW¯^nom¬.L\8dôÜ\94Ö\88++*«®Ö7uô\8dNÎ/Ý_[_»¿8wgHÖ()Ì:\19.ä;\9a\eê\131*\8b\ 5"3Lì<\ 3Â\93.\96_\97\rO/,¯,ÍO\8eôv´4H\e[e\ 3\13ó«\e\9f?}¸8Ñs£43\ e\9e\r5\14\10¨,S[w¿\90cgr*oÈFfW6\9fï¼ýðñã\87·;?m¬Ì\8eö´ÖK*J\8a\8aJEÕÒ¶ÞÛ3\8bk\eO\9f=ÛzüpenìVóÕÂÌİýî¶\\ 6\19Ä¡ª4Tì'46ÏÕ74!³¸¶}hzqu}myn¼¿£¡V"\96\\93\97:»´öèÑúòÌP{MAzL\90\97\1d\97N TºIÁü5Ê9\9fL7æ9ï\r\8aLÊ.«ë\18\99[{úêý/¿þöÛ¯¿¼{ùäwö«ü\1fêí\8d\7f­Ã\183\86Y,3vÙE\14¥BQ®%E\8b¤\\15J×RH]\89R´(©\9bÐWu)7¥¤\14)R\8a\16Y"Y\92ݵEËý\ 3¾ç\9cÏg>3\18Ò}u»ß\1fz~\9a×<ç<çý¼\9f÷ç9Ïy\\9c\97\95züàÞ_wí\8a\8aMHJ˺VXö´¦\ 1\voê«+K\v.\9fM\8c\ eÚ°ÌÖ\O\95E#\7f§\12\10¼OtL\178{m\8bJ<{åÎ\83
+ ¸²¢ëY©I       ûbbâ\ e\9fHÏÊ-(.)½_xýbJBdÀê%V\86êl9\84ñ\9f\87øÃ¦o¨\9cR\149\16WÇd®\83ûÏ!1Ç3rïVÔ6wô\r\f\r\rô¶7Õ<\ 6­äTBtDhPPèÎè\84ä\8c\9c\82\aOkß¼mïh\7fÛôêyYÁ\1f©\87v\ 5¬q\9cg¬©\84.¼ïQc¬\19ÒÙê\ 6\96ö+7Għ\ºUZQõ²ªòÁí\9c\8cäøè\9daa\11QqGO\9fËν\91\9fw5+-qo\88Ïr;s=.\93\8a\ 6Ø\7f\1eâ\ fû
+C·2\99\ 4\1e)6.^[w\1fNÏ)zR×ÒÕ?<ò~èÏΦêò;\97Ó\13c·ùmܸ9pGô¡Ó\99y÷*j\9bÞu÷ööt´Ö?/ÍÏ<µ?ÔÇÍvÖ\f\ e\83ú\9dne\0\eo\86\v\aÇ\9c¸\90wïIUmíËÊ\92\9b\17Ï\1c\8e\ eÛ\16à¿%(<:>éLÆï\99¿g¤$î\vó[ãhm¢\r\ 6\87ïô¥ü°¯0\11¬¯Ð\98*ZÆV\ e\1e\9bÂ\ e\9cξ󸶵{àýèèp\7fgÓ˲\9b\ eDnóõZ½zí\86\80\1d{\13Ósî\94W7µ÷ö\ f\ eôuµ¾ª,Îýï\91ÝàÆ³4P\ 3·òwi5h\96\0\93!h\86\ e«ü"\ f¥å\14\96WÕ5ÔWWÜ»~þÄþ\88­¾Þ^ë~ö\ fÞ\19\93p,ùdòñ\84½á[Ö¹ÚZ諱éØ3ê\87\ eÿ¿\fÈ\10LY\14:[MÏÜfÙúàØä¬[\8fjZº\aG>|xßßÑø¼äZƱè`ß5nÎN®\1eÞ\ 1áq'3ó\1f¼hlï\e|\ fÛesÍ£\82\8b'c\83½§\9cÿE¾mÝÑ·#« ¢mºÀ\ 5B\ 6\88\9eÕ5¾i¨~\t%ýHT\90¯§»\9b\9b\87§O@ÈÎ=±ûöEG\86ú¯[noe¢­Â \82Ñ\10Ê\90\12Ö¿n"ÿz^\7f÷h\11üZf¨h\99Ìûimà\9eã\17ò\1fâ2\1cþ³½¡ònNjüNÿµ®\ e\8b\1c\ füõHúÕâ§\rïz\87F>\8c\ eõ½{ý´øJZ|¸ïr\e3\1d\15\ 58\1c
+\0\11\99`SÀ\9fÌ?Á\87&Z2\8d¥¦?Ç~¥_äáô+w+j\1a\9b\9b_¿,¿\9d\9dr0Ü\7f­\9b£½ý\12ç\15\9e>~Û\82CC~     ðõts\98\v\9a¡,\18\rÅDEE§\81i|
+S¸Æû¦\ eý%B¦CØ\94{¦µõ\9b
+öë\8f\9f\10\0\16
+\1d»á\ 2v'\9e»QV\8dd8:ÜÛV÷ø6èu!>+\1c\16\99»p©\87ïöý¿]ºý¸îmÏÐèÇ\8f#\83ÝÍÕe7Î%îö_¹ØB\97Ã\10\98¼p0¢\826uÍ\84$ Ì\87#\96WÒ2\99ï¼.(&9ófYUCËÛ\96×Ue73\93cB|Ü\97ÚZϳ¶±wZ¾Êk½Ï\ 6oOw§EóÌô4\94\194\19)I  q1Â\bPÓ$w¼O0-\91I6         99!cY\9b^Aù;þn^S\ 5þ⺱\90¿
+¹`\14p-\93È4&WÏb±\87\91\8c¼\a\98\fG\ 6{Zj\1eæ\9f?öëVO§\85³Mg\9aͱqö
+\8c:v\1e\13êè§O\1f\86û\80R\v²ND\a®Y2G_\95\89½Qø¸ %â<Ãù\11\847fá8ú&õÁ9\82LeruÍ\17¹o\8aHH\ 3Ͱ®¹­­µáEiÞ¹cQ[׺ØY\99\9b\99YXη[âäºl\99\8b£ý\ 2KS=M\15\16]\96,E\92\94à\e\ 25\ e\93\04ÁÒ
+@ã!\9bXõ)Òá\87\14ÃYá-!\16\8c?rRl\13ab\11§\9b\97À)¢\93\9c D\Â\84%´ÐâS\ 5\9e4\ f\81g'g\86¹\9dûf(C¬\e\8e\8e\ft5U\95\;{(b\93»½ÕL\ 3=\ 3Ó¹\ e\1e\9b#\ e¥ç\96¼hê\ 22üüi¤\1fÜÛEÙ¿Å\ 6y9Z\19¢7
+&C\84\fò"))IÂ\füÂø\19s%â\f\12ô\89\8bñïL,Æx\1fP!lß\8a\1aFs\1d=\ 3÷$]È/«j|ÛÞÞÚðì~îÙÃ\91\96ZÏ2Ö×706\9dm5\7f¡\8dÍ\ 2kËYFº\1a\1c\ 2MVFZ
+7ô\83DÂ0aG\8egW\10\99\84\10d(;^Vbx±\84¤3&Yä\94\94Äwò\ f\1fÏ\9aäX¾&\15!"\ 4m!\91øyI
+Ïë?üCÄÇC\14.nB]\84®'a\89_hÁJO\ e}B*ØÀ\8fËð(¸\94kZ{\80\fá\våYqÎ\99¸Ð\r®6æ\ 6:Z:\ 6à\15ã³ýÀ\99\9câg\8d\9d\ 3£\9fÿú<:Øù\ 6¬I\89\vñv\9ag¤Î\ 62\14Ç¥".\ 1y\91\96&\93e0#\93¥¥Q/â\97\ 6\11"!\81\13\ 2\18/\b\88"MH\ 6\12\b\87Y\8e\8e\19B\93r¹¨¢®¥½³£µ\1e\8c©©ña\eW,¶4ÑÕÒÔÔ\9e¡o4ÓlÖ,S\13C=m5\156\83N\93¥Pdd(\14YÜ(\10\14Ä\84*&صx§Kò\90¡Ê\12\1f\ 2\86\fâ"Cl$\14B\9cW\10\b\84\84ù\90\91ñv
+H\98Ï\1aî\87§N"D\9cA\1c
\99H\8c\9f\97ظ¼x\e\b\8c¤ Ù\væO|\10\92DöIJ±õ\13\f?³É \v\93¡\bO\86\8b<üw'\9eÏ\7fTÛÚ342\ 2_(\15\85\97NÅüâõ\93õÌ\19\1aj\1aº3­\9dÖ\ 5Å\9eÊ.¬|ÝÑ\ feøa¨»éÅý«©\a¶¯w¶6Ö`ËÉ\90\88"\91)²T\1aM\8e\8e\99\1c\8d
\91&\11åÄX\aë\8040úp?\ \8e\ 5!C\17\95\8a|(7`RdYyEuC4Ë\1e͸^ú¢±­«»³µ¾²èrÊ\81í>nv³\rµÕ¸\1c®ª:\90"0mM5®2\9b©@\97\93£É\ 1
+
+\f`
+
\10\148\13«\18¿m¡\8e\8b\10\95Å\ 5+.\80\f¤G\ 3à(È\87\f\17Ä\98tðû\17m\93Æ·É\ 1,\88\10\9e\Äøl`qQdx*Â&ì>$\18\84[\0Ïcòâ\87Æ\95 "°A\9a§Y\ 2¢\80ÀÐÜ#øAÈð>   $kbdâE#R¢\13\95¦ñ8\19\13ø\8bÝPZ\96ÁÕ\9bm¿jKTRæ­òº¶^ Ã!øB)ÈL\8aÚ²ÚÁÒHK\95£ªm<w©ç¶½É\17ïT4´C\19þõq¨»¹ª$7íà\8e\r.óM4\15é2R@C\183²T9º\ 2\83Éb+*ASd³\98\f\90ȼrò´\8a\18Äø\83ôñj\8a\82Ðä\90\v8ér¨*Àddé,î\f³\ 5.ÞÁ±'/\16\94×¶tôôvµ¾ª(üãt\¨Ï2[\v\ 3-®²¢¢\92²
+\87\v\8c£\ 2NgÂø\f\80\aþ­Âáp9\1c\15e%6\8b\ 1Ï\94Á\8b-J\88\10±\v\8e\a\95\85\82%\90I#d\f&\93Åd
+B#\ 4\83\89\\ 2\935L\88.\ fI\81Æb\82\15T
+öåÁÆ\ 3ÂRx¬A7\88\8c\ 2\0\8b\89ÍÈ\12\ 4I\f\19æÅáç\ 5\ 1\93x"Æe\83\89\96
+i\85\86\ 4\v!ò¥\8e\13Ào#Ðð/Fàk\15å\1dOÁj\ 4\10c\85VR\ 4¥F\9c\b\1c?M\19R\99ªú\96K<\ 3\91Æêßõ\r\8f\80\17JkÍÃ\eç\8eîÚì¾ÈB_\83£ÌÑ4´\²fë\9e\13\9fÔ·÷\8f \19ö \19Æïðq\ 52T¢SÀÁX\91è
+L¶\92
+èH\1a\9a\9aZÀ45ÔU9Ê\8a,Ä,ìk$\94(\150\b\94\81ô\ 2å\82ùÉXE©X\10Ü\aû\19 \ 3P#Ïâh\19Y9¬Ü¼óPÚÕâ§\rmÝ}}]o\81\f³¡\fa7Ôâ\82åÀX¨\9e\98±Ùÿc¼Ê\7fã*¯¨Ò¬uâÄÛØ³ïû¾ïãY=ãÙ¼ÍØãñxÁÆv¼&PÑ"è\12¨ iE¥ \85\94¢H¥¥¥¤ ZhU\ 5J\eÑ\15\bA-\88$\8dX²A°\13ìHé?Ðs¿7qBU\89¼_ß{ß=÷ÜsϽ\1f\ 4(\91É\95*\8dV«Óé´\1aµJ\ 1\9fäóZ\9bvopÌÑ{+\ 5!\14\8bè@Î\15\96A\ 3ìV\1e_\bÃ\95\f\1aÉ\14\ f\89¬½\83é_Léðn¥[?²\1d¿Ier\85B!\97Iðg[\v·±re\a\e\8c5\99\.\97I%"â\ 3ضÿo19ÃB¯p0éL䥾\99\97R!\13Ãÿ[\9a\1aI        [6\96\1cj®:åBQ]°\80\88V@ö·      \f\ 4à;\9cÌÔÅg\1dÃ\12á\ eÛè\81ÿWhª4Ëì¶ðw0\98qâ¶\86=í2S ;²üð\13Ͻòæéó\9f}¾¾¶zéÜ©\13/\1e=xßdoÔ¡\95
+\ 5"\85ÑÛ54ÇÉðãº\f/ß&C\95 ¥±\81ô\ 3\8cD®Ôè\f&³Åj³Ù¬V\8bÉ Ãx\14ñy\9\e¨\8f\9aÁºX¦\800tz\9dN£RH\19óLmt\88H\8aw:½\1eÜ*å4YáK`]¬4ºcÅÑåï\1cúÙ˯¿óï\vWV>»L2|îG\8f|m\12\17*«VFS¸\85\1eô<ódV)\ 2d±Ù\9dN\97ËåtØ­f£N­À¹m¬ØÛØ2Àè\85ÎÚ\ 5\96\85\ar± ½­Þ\a\80-\94(ÔZ½Áh4è\184>Ì\8b¼\16\98\ e\97îNò9.!5#Åb6\eõZ\95\1c§r\1fìb"\15Hä*Æ\9aÙl¢\93¥Øi\9b\1a¡\92ÛuX\97\ 1©àæ\99Z\96\97c#/\83N%\97\bÚ[¡\ 4ful'`²iá\ 1»L©\ 6F°Ê ¶Õ¥^ßaÙ\87»        \fu­¢Þ1\94\b\ad3׫_`\89+t½ÒÈL\83ðB.<'ð/\97á\96m\rM|\85%T\18Çýãù×N\9e½¸²¶¾¶rñìÉ×\9e\7fò\91
+a\9bZ"à\vå$Ã[nx\83í\86çNýñ\85§\1e½\97\86²JØJ\97\0\86\r\99¬v\97Ç\17\b\86Â\91H8\1c\fxÝv\8bA£ x´?°6\16ËTZ£Åæty<\1e\97ÓfÆ{)S\e\1a\96«õf\9bÓíñ¸]v«\91\98\15     àO2µÉ\15É\ eÍ|ã{Oâ\82òÞ\87\97WVW>ù\10»á¯~|ðë3CÝ\11§Q%\85h0r\9aØ\84$®ä*\9dÑ\ 2@þ`8\12\8dÅâñX´3\1cðºìfv\81i%\8e1C¶q"lë\10I\95\1aºã¸(¼Ón1jUè¡v\86\8c/\92©\b\99ÇëóyÝ\ e+\89Y
+ÿ\93È\14ÜÅ\b?¹ëé\90\18\18\ eÆ\8aÆ\0\f^\7f0\14
+\ 6ü\1e§Õ¨Ur|\0'\8f\8e\ 5kN"-\18\føÜ\ e\8bA-\17µ·ìÙÉéð\96\15\92c74\82\83\86Añqyá\89FBÈËfÒ©¤Büˬ\ e\ f\rP\f\12\b]ML8]n\97ËaCör1\9f¤¾\9d\9b\ 6L`»\9aZ\19\ 1:#ë\18\93\815\f¯\99ép\vÛ w \aZ;\84\1cKN·×O\85f\95\ e\ 5|\1e'\85\97±ð\10ø\1dÌeÈpûÎf\81ÊÞÙ;yß÷\8f¾xâ\9ds\97Vר\rå\8dW~ùÄCË#Ù\80Y)âw\b\15F\få\85o×wC&ë\97niÕª\12ñ\9a\19ÝÀ¦3Ù\¾`g,Ù\95Éæò\85B!\9fëîJD\83^\87Y§$Ëã\91s\80B£ÕIß%R©T"\16 z\1cf=©M\bWQjM6w Bï\92ñÎ\90\97\8a\ 6ËWªõ\16w$S\9aÜ\7fàÐO\7fsâí³\17®\½¶úéÇï¿ù\87\17\8e>öàâho2`7lè\90\86\86PJõwxpX2Ý\9d+\14{zñô\14\80)\1e      ¸mF51F³i\aÍNª\81\fQ\1c^.:\vïsZ©G\80LDj²\ 2Y<\95N§S\89\87¢\etZ­Þh¶¹¼Aü\94L%\91NÀSO·\ 3v\8c²êÌ\ eO°3ÑÕ\9dËçóÙL*\16ö±\ f\84ô\ 1u\9dÁêò\87c)`ÌåºÓÉhÐcC&üV¦Ã¯l\\ eh¼2M ©\1dì\9e@\18DãÐb\ f\12ë)\16r\99T<ìwYõ`\81GV\87­\80Æl3O a¬úC <\99\88\ 1\8fݨ\91\vÛ\9b9\1dnf*llâ   ¤t²\9b\$\14¤\861hÐ\10L\87´ÇB©{ZÛ9\96\10>\9a\0f\14º^é42Cx*B[Ó\1dé\10Imݱ«E¤qÆ\a¦ï\7fì'/ýù\9f\1f|rumýÚ\95\8fÞûÛï\7fþø·æ+i\9fQ!ìè\10)LþLuéÀág\8f¿qúÂÊuÈðúêÅ3o½zìÈw÷\8fæC6µ¸\ 3s  5Wé-N_8ÞÕ]èí/\ f\rWk£xjÕ¡RO6ÕéwYHh°\ eø\93Ùá\rźrÅþÒàà`©¿\88÷\ 1\17Ô¦V©Ñã\ e_$Ñ]è+\95ñ
+¿¢(\ e\8bÉd¶:ýÑî\81ñ¥\a\7fðÔ±ã\7f\7f÷\83Ë«\9f¯]»rþôÉ?ýúéÇ\1fº÷îJ>î'\1dbÖ¶2+\14\10tg2\93ï\1d(Wª#µÑ±ñññ±Ñ\91J¹¯\90I\84©Ø\12X\ 2\rG\1a\ 1t\16\8c¦²E\8a>X\1eèÉ¥c!\8fÝ\84\82ÏÛ=¡x¦\80ä*\95A¼ë\ 2ë0sx\ 2´ÙÅýT.õQ:~§E¯VȤðI°âïLe{JCÕÚØØhm¸Ü\97ï\8aú\9dfؼT*S\ 2$\8eMçûÊ\15 ¬U+à+\11v[´2A\et¸µ~ÕØÄv7LM\9e\90\ 2\9d\89\87\88¦¼Æèä*òʧcA·U¯\14\93Ñc\abÝ%VhÍN°\9aÆ\ f\ 3¥Ò@o¡;\19ñÚ\røª\85é\90v\12x!O$×Y\~Ö1¹\6\9dì\f¸­:\85\88üp;»=6BÒRµÁ\ 6\96\92\14¾4X\19&bY¥\19­ñÐÍ_î@\87\9b6mÞº£±M¬ó¤\ 6ç¾yè\99ßýõÝ\8f>½¶¾\86\eÊ¿þòòÓ?|`¶\94tëe\ 2ÈPe      æjû\1e>rìÕ·Î\\½~ã?7ÖWοÿ\8fãÏ\1e>°4\92\vÙ4èjL?\95\1eÔD»r½¥ÊÈØ]S3{ç\17\96\96\97\97\97\16æ¦'FÊÅt\fB3h5\1a­\ 1b\8d$³½\83#\13øjïÞ\99©ñj¹\98\89\85¼\ el\18vè¦+?0<653;K¯JÅ\fZÜëA©\93¹ÒøÂý\8f\1e~æ¥\13o\9f9\7fåÚ:ÌûÂÙS¯ÿö\17G\ e>°4QÎÆ C5ÍPr!\19Ø"Ù\14\a\86FÆ'ï\9eÙ;7¿°¸¸´´´8¿wzr´Ò\9fKR±å´Ëà\9aÛ\86bé,î`<ÓS®\8eOM\ 3Ùìô]µ¡¾l2âÃr`µ¡Ç\92Ù¾ÊØÔìÜ<\8e\98\18\19ìÍ¥\13±h4\9eÊ\14ú\ 6GðÓ,\97N\89K×dÐ\e0\1e\ 2Ñt±T\9d\98\9e[Ú·ÿ\9eýË\v³\93\ 1!Z\8cz½Ál÷\86\13Ù¾¡ÑÉÙ\85¥}ûö-ÍOOTû³h)½\к»\81«%»A0/âK\94\9bµÃ\10\11\8d\98,±ÅÅ\ 5\80\ 2àÞl"è2kdB^\vîOMÔ]j£Ã\aVû+µ\89©é\99\99éɱá\81|2ì2«%\9c\ e·\92Â÷´        \15z»?\9aÆÉÕZ\r\ 6Ò_HG}6½\Ø\86!K\13cwK\87\18á=áDwO©R#ZgQh°\8aJ/ÎÍ\80Ö¾l<à0*Åí¸¸b¥ø\12\19"«¯îæI\8d¾Ìðâ\81ÿ\12^¥_MÝiøÃ\9cãi=VëÊ"»È" \ 1bÀ \10\94}      \ 1B\b\90\90\10\96$$\84\84ì\vÙ\13²/@ \ 4¢¬²j-jO{j\8f§\1d{:u\8eötfì8mO\1d»)\8aý\væ½AgæËtî\87|¹¹÷þ\9eç}Þç}Þá\ 5\18¸ßþ\88l(O\1e}ùñÆ\94UÌ à²\93b"£\133\vj!>ú\91øøÃ¯ ÃW;\88eÞ¸ì\19ì%Wäg&Ç#=\r]\84Å\95\ 3Ý \1f\16\87Ç\1f\10KåÊAµZ­RH\ 4\9cn*    _Vt\1e\9d\95\99\89ÊÉ+(©ª'Óº9|\91T®PÈÄ|Nw;°w©0\1f\9b_P\VKlc°ûá\9e\*â÷vR\9aÀ\12\8bqÅ%\15x\12­WbðL¯Þ\ e\99áÎË\97;?ÿðèÏw·W&]:\11\8bÚ\b\82Y\13}ò$\84OÐTþ\9búöõ\v\ 6\84"±D*\95Éår\99T$à2;Z\1a\90b§&@\8c\83-#"úT**·¨¼\8eDíêí\17"'\93K\ 6ú\98ô\96\86j°=,öB\11\1c»¥\83Å\13É\94\1cA\ 5J¬Ç×â       P\11\1e\1cäÌ\9c.\80\v}\95\8bÎAçæãÊñM\94®^\81D©Ö\19\fzí \Èí¦6Õ\96\16\9e?\97\93\83Î\ 3\11Ö\93éL\9eP¦Òèô:\8dR*`w\90ñ%XTrlø\91wÞÞ÷ïì\86xQd\RzÎ\e\l.\8fÿ_Àd\12\11\9fÛC#\13*\10ñÄG\85\1f\87D\ev2.)\ 3}¡¤º±µ\83Ù'\10Ke2\89°\9fÍhk¨,Âd$F#r\ 1§{kÿÁ£\11q)YØK5D
+\83      \16Â\85~im¨*Î=\9b\14\13vdob\1c\r\8f\81\80\8e½\bõkïd"e\16·e
+¥jP=¨RH\85<\16\9d\WV\80N\83¨öîk+ÿ}\19îÛ\7f(,.\1d[Eé×\8f-\7fðù_¾ÿùyhCùâÃU¿i\80V[\90y::<,"&9\eG`\88÷âã\93g»¿ý¶ûì\9fßÜ¿³\ 5\96É$\95cQ©§\91y\95\95\87\83
+R\18,._(\96)T@¹Ùjwº\N»Å0(áõP\895H5Ïç\17\82¥\0íý\12\95Þls8\9dö!¸ßϤ\91ëk*+*ªë f\\91Rg¶Ù\1d6³N)ä\80\10      µÕ5u\8d­\f\8e
+,ݸó'0Ãç/_í¾øåÉß\1f|öÁÆÜ¨E%è¡4T\80\ eÓ\92NÅ' \83?\ fWA Óz¸\ 2±\f¡I­Öh´:½Ñd6\9b\8cºÁP±ëJ/ä¤\9d\8e\8b\8aD\16 3Yç/V\13)Ý}"¥Öd\85\939¬&\8d\97ÑFÄWUTTA\8f\ 5r­Ùît»\1c\b*~o\17½\9dB¥1z8\ 2\89J\a\80\1d\ eÛP\b.ÒW¯\9b'\ 4H¥·8½£¾1ß\88ÇnRKúºÚ\1a\8a\11'\ 5\83¥±ø2\8dÉî\1e\1e\1d\1dõº¬z\85\80I!\94b3\93¢O\84\877*<\11\95\90\8a
+á¢\87p)TªA¸Ô\1a­Þ`4\99L\ 6­JÂgÑIµ%Øì3\891Èf\17\9d\90|\16SXNhaô
+djÃ\90Õn·\86hí Õ\14\13£\8e¿\8b8Ýþ\ 3\87Ãb\92QØRBk'\17é\b\8dZ        ¯¢5UáÎ¥%À\8c\ elp\11±Ig1E\15¡n\14J\95\83\b¡ðax©ÃéBøÒÊ\ 5¬vbe!:-!ò\18\7f6¬ÿ!CdC   O\0§£\r\98'Ö>úâo{\eÊ÷_ß»½äÓñÚª°\19§¢ÂÃOÆ\9fÁ\94\10{äÎ\99k\10\1f\9f\82\f_½ø\ 5ÑêZÀ"é"\96a³ÓSSÓP\98\82ÒZR{7W Q\fBO\eÍ\16\e°î\ fL\ 5\83S\13£®!\8d\84ÛÙÚPS^ZRV\89o¢v÷IÔ&ÇðøäôÌL0às[´²~V\a\85ÜÜÜ
+/\11\r\9a\1c#þ©éé)ÿ°Ý \10°\19\142\89ÔÒÞÅ\95h\1dþù­\ fÿø\10ÌðÅ+8ʯO\1e?¼÷ѵÅ\80Ë ãu¶\10Ê\8br³`Ö!£® \14\ fõ\ 5µk\ræ!¸ÌP&8\96Ãåñ\ e{=\ e\8bN!\0\ 3­(Â@¤\8f\8f\87\b\9f\rN@¢³\85J\83Í;\16\bÎÌLO\8e\ 6¨XW{ks3\99Â`\v\14zÛ°\7fjfv6\88 Ò*À~8\9c>¾X¡5;\86á!8ó\84Ï=¤\91\82\10\9b\eêðu\r$J'G¤2:F&¦//,-/-\\ e\8e{\86Ô"\ e£\95XW[\83ohnïáIµ\16÷ØÔìüâââ\95ÙÀ\88]'aS \97rÓOE\1e=øö>Ø!\10\15ÂD\8cNLC_\0\t\16\1fÁe2#¨\8cÆ\90\10\9cn¯×ë¶\ fieü\1eJ}y\ 1:#9!66îTJ&\b§\81ÒÓ/ÓZ\£þÉ`pÒ?â0*ùÝä\1aDb\91° A\86<t\fâW^        \81Â\1cP\19l@\92ÛnV\8b9´Æò|T\12¬K\87a¼GÆ%£Î_DHz­h\a\N\97gxt<TéÀ\98צ\93õu4U\16æ¤Æ\85\1f9ðÖ¾ÿ/Ã\ 3G"Ogáê;%¶àæ\9dûß<     m(ß~õéö¼WÝK.ÏKO\88\8a\88\88NÌÀV¶pÔÞù÷?}ø\8f\1f\9fï¾Ú}\ e\7fúìæ\92Ï èh(ÍG£ Ïa\8b«\1a÷lÄ`¶Xm`d.¯o"8·°²º¶º2?ãw\9bU\ 3à×\8d\84:\ 2±\ 5H\94ëí#\93sK«\e\9b\9b\e«\8b³\13^«V&ಠhð fN_p~e}ccmùrÀkQ\8bû\98\f:\9dÁì\13k¬£³k·î~ù×ï~z¾\vñ\0\91áW\9f\7f|cezÄ¢\16²Á\ 6J!Èe¡²1ù\17«\1a©@½Æ\84Pêõ¸\1cv«Åbµ»^7G`\1c\18\93r;H°Ød¥C\88ËÈÆ"\ 4\1a\8bwbfáêúæÖæÚò\95)\9fè\12ñØÌ\1e\16W ×Ù\86'//¯o]ÛÚ¸:?=î±\1aÔJ¹\©ÖC\81'g\17á¡Íõ«\0ÇcQKxLF;\95Jïâ\f(\10°ðØõ÷oÞºµ}}cyÖï2"ÝEmm¥Ð íT&רôÂêÖ{Û7·ol­^\99ô\18¥ì¶Z\NJl\18Øá>dG\ 5\15\86Ç\9cÎÀà*\e©L¾\f<\19pyÜN\8054\ 4Mï     I\ 1\94à±h%\1c
+\97\9by&9)ùL&¦\10\14(á#Á+K«ëëk+óA\9f]#ì&W\17fÃ'`â\1exçpXlJ\ e®¶\95%ÖÙG\ 33ss3\93£\ e½\84Ý\86/FîzâØ±\13\91q)\88]¶uóå:\8bkØ76>6æ\ 3\87\1f\ f\ 4çæ\97¯®®^]\9c\vx\87\8c¦\8a|Ôé¨ã\87À\ e\7fo*ïm(G£\92Ñ\97\88L\85söúÝ\a\8f\9f>ÛÙyöôñ\83»×ç\
+fS)&-!*2*.%»\bO\13\18ÇWnßûú»\9fv^"\83ðÑýO®Í¹Õ}Ôº\92\v\18ô¹¼ÂR<\99\ 1=o°:ÝÀ\8dÇ\r¿£þà\15`~\e\88\7fociÚ÷/ÂËô«É3\rã_æÌ\87:\9e:Ö±vt\*u´Vè´*\82¢ [) 0JU\10©\b\96E\ 2\ 4\81°\ 5\81\84\10ÈF\12BHH {\b\81\90\8d$$a  !@\80°\ 4\ 1\ 5ëQ[\9d\9e\ fÌý¢\9fÛ¯¼¼¼ÏÍs]¿ëºÉõå\859\99éwÓ2\10¨4RX=\12õ°aÔjµ\98F42!Ü\1c®\ 6S^^\89m$3x}ª!xd1\8fh¤=L2\ eS\\90\9b\9b\ f\ 2%´wI´V×{\18þ\ fd\b¡¼\b2\94#¿UQ\98\9d\96\ 2\vEè¥\10(dIw²\1e\97×\11ÁÿÜ..\9bI£¶Â}5\93Ûh\9d\18¨$\ 6í\13k\8a³ï$F\82\95 ²\86À\ 5ßÏ{R×Bç\89\95Z½Ùbµ\8e\1a\86\94\8cÖ&leE9¦\1a×ÜÎé\95\ fêGmc6\vò\b\84H&\ 2c[Úè\1cA¿
+yÉ2º;\ eø\ e[QRXð\18\85ÆÔ\11¨\9d0¬ÎdsLLN\8eÛ-z\8d\84Ï íú.7ï1\1aSßBã\8a\14Z\83Å>>1á´\99´2>­±ìÑíïB\ 3\ 1\87»K*쨠ÂSA\97®'ÞÉ*Dàùa®\8e6R3\81@$Q`.\81X"é\17ñÙÔ¦*T\16ø+äÛ sç\90XHJË)®n¢r\84²\ 1\9dÑ<j\86³\8b¹mõèìÔØÐÀ\0hq°Ê\1cøûÉÀÐØ\1frJqm\1c\91\\rF\83)ZëJ²nF_\82
+       [Âa`ahLJF\1eР£\93\aJ\15ðy\\ e\87Ëë\11I\95\83Ãz\83\91      X¤\1aÔ\8f)\91ÁgO\1cúë_vÛá\1fn(g.ÆÜÎ\aÒ\8dL,mÁæùî\97\17Ðú\ 6ºI\15Ùÿ¾~áËÏ\8fBcú*8:õ\11\86Ô­¶zÖ¶_¿û\r!¦ÏeVp[0¹i\89QaÐݯÇ\ 1óKªðä\ e&\9bÃîdÒA\89\0Ã\9e\90Ñjw:ÆÌ:¥\88MÁW\16çeg=ÌÉ/ÆàÈL¾D£·:§Ü3n׸͠\ 1BtÀ\95\12\9a[éÜ^ù\90É>9\rO\9c\96a\85\80IÂU¢\8b
+\8bJ\ 1F\f\81Bïð¬Àa\ 1\86°,½Þö{§,CR>\ 3Ä\8aʹw+162<<":á&ø\1f\81\fO(\12\8b\ 4<6½­\85Ð\88o$\92;:ùbø/k5*I\ f\93\84Eçܽ\11\1d\16r18ôZLÒÝ좪¦ö.±J7ê\80ïÏLOÚÍÃJ1\8f\ 1/7\11IT\16_2 ·\8eO{f=î\891£V.â±hÔ6*\8dÕÕ+Ó\8cXà%÷ôÔ¸Õ\0:cR\bõ5UUÕu\8d¤\ e¸ÿA\ 3¼7ë]\\\98sOXuÊ^\ e\95PWU^V\8e©Å\93AøÈ']\9eyï¼gÒ6¢àSë\8b3\93#¾=}\14Ú!RÝöîÿ\14T\18\12\95\94þ\b]Klï\ 4þ suÒ(Í\8d\r\rx\ 2\19~$\96©5\83\ 3Ê~>£¥\16ñWÔ\95àó°#]\8fOÍ,(o t
+åZ£m|Êå\9a°\9b´\92.
+¶(3ùú\ 5HÏOöí\83?\ f\8dû(,\85Û¯Ñ\ 3\1eLpH&±â§;q\97\83N\1d;\fDúgPHtÊý\ 2L#\95Ý\ 3\90A\83èîâvu\vû\15`Î1\87Ón\19Q\8b\95ùiña\80Ã\ 3Ð(þ@\86°¡\1c<~6$.\1d\85cJ\80tÏ_Á\86òfgÍcQr\89\92\ 1Å'\8f\1f?yæ\9b«    ÷
+ë:DÃN/0èí»·Èrê\18\12Ó\eÐ\ f\7fH\88
+¿\1a\1e\9d\90\9a\99_\ 6\96æð\ 5`\10.\8bN¥P\80:Ý}*\9dÅé\9añ¸§ìÆ\81>\ e\ 4\11º0?¯ ¨¬\96\88T#Ö\89\19ïÒòò\92wfÂ:¢\96\b¸,\ 6\83Å\15HÔzë¤gÁ·²¼47eÓÉ!pë0¥%è²ê\86VV¯Ê8>¿öüÕ;\80á\7f\7fûõåÖʬӨ\16C\16@vgßKMú>6&6\1e*|AY=\99\ 17£T*¤H~\92\1aëkkj¡Â\ 1k\95Cz\93   \90 \ 2»£sÒ\92b#®\86]\8b\82\14ÿ       \8dmaôÈ\86ÌÎéùÅåeßâ\9cËa\ 2µu³\99t\ 6\9b'\92\8eéyßÊÚªÏ;3>:¬ìëá²\98ÌÎ.84Ì:=·èó!ãXt*D¼$"\81ØB\ 1RJA½0ìòÚúÓ§þe¯ÛaÔôw3(D<\ e\87'\82ñD\8aÝOúVýëþ\95\ 5·}DÊ%UæÞ\86btâÐþ½{>Ú\ 3ÛÉ?¾\0\15&\ 3\8b\90àr¥J!\15u³¨H/¨®©oú0\97Ѥ×*zÙdlI6øëÚåÐ+á1Iw\1e¢ª\9a:xý\1aãØ\94\a¬àõLZ\87%\1cRUÞÝï/\a\ 5\1c9øÉþ\ 3\9f\9d8\e\1c\93ú¨\82ØÙ7hvº¦§Á,2\1e¥¦ =>ì_§O\1c=züT`pdrFA%\81Öݯ\1a\1c\1aÖ\ eÈû\ 4<\ e\9bÓ\85\0Çl\9f\ 4¤ÀM«{éøÒ\877#/\9c9vðã\8fþü§ß\95!l(û\ e}\1ex%á~I\13[1:³
+¤ûÏÛ×Û+n³\9cÝ\84þ1)ü<¬\9c\ 1§Á\0·²Ë\88\1c¹qjióç7o\7f}óóæ\92ˤäµV?μ\19\1f\1d\19\19{ãö\83Ç\18|[gO\9fT&í\13v1ÛÉ\10\7f­4N¯Rg\9b\9a]X\82\8bq\9a\ 6ÄÀêÒ"\14
+]\81%¶sÅ\ 3\ 6û´we}csc}Åëv\9a\87UR\91\vÆ2\8e¹æ\97×7·¶\9e®\ 2ê\ 6AÀøêòRt\19t,\96Pe\9c\98÷ÃaßgòÎú\82k\17\86@Ìâ¼\aé©É\89                I·Ò³Q\95\8dTHPÍÐð\90F\ 1\92 ãk*JÑO0XÄ\ 1J\9dyÌa\ahõs)\88\ e\93ã¢#£b\13Sïç\96bIL\81Bg\9d\9aóù767\9f®-ÍNÚô\1ay\9f\14IÕºÑqÏâÚÆ³çÏ6ýK\9e\ f:d³9Ý\0\98kηötc\ 3t6í0\ eÊ\84],\1aÄ\ 2\83Ã\17+´&;2ÓÖöÎÎöÖºovbT+\13°i\142    j\ 2»§_=b\9d\9cõù7\9foÃã%·M+¢á\8a2\12þ\ e8|àã½ÐÜ\ e\1e   @\16\88\f`\11àZ18¬Û\9d\8bNj¨.C\97\94V¼wöî\\16=x¾\15Ña\12DCDT\J\1aP\1eÄ#Õ"Ç_A¤îuYµb\ 6\1eý %âüéc\9fýíÀ§G\ 2\82®Ä§\17\ 5\ 3æ     ¸´\85ÙÉÑ\ 1a{\1d*#ñê7g`\89ûâ«\vá\89éù\18"C ×\1a ÚAï}|\ eø\13²@\ e6rÏ/,λ\1d\ 6\ 5h#ÿn\è9Hå=¿[\ e?l(\ 1__KÎ*ká©m³þ\17o@\86¯\9e\8cR\16¾83)âbà\99Ó_\ 6\ 5GÜÈ(ÄR\ 5\1a\9bgõÙË7¿¼~ùlÅ3¦\15ÑñO\1e¥¥\0zâ \84¡ª\b\1d<±b`P£\92
+¹4r\13®\1e×D¦óeÃV\97wÙï_]ò8\r*H×zLiq\11º¼¶©\8d-R\e\1c3Kþ­\9d\17/v\90\8bù?áåý\94v\9eÆñ_nnænæn/·Ùì&&\9blöÒ³¹Ý¸\97M&\9br)F±wc\8b\86¨\11kì5±a\89Æ ¨`E\8d\ 5;\ 6\11\10\14Q\10l\b\16À\ 2\824\15Ûå/¸ç\83\99¹\9fnò+Ì\17¾\9fÏó.¯g\82Ǧ÷uwu÷\r \89É×4z\83aC\ 5YÇìl(ËÏL\82»NySH¤t±\ 4\872üô       \96%x\99±Aèíâ\9cT@~\7f\ 3¹Ãî\19\9b^P^ßÞÇ\18âp,é\80\9282<,<*!\13ý\ 6cD \9e\14\8ds>¶Á¼b\ 1)ím\9f`\9c<\ 3 È\v\88\r\9d\ 3<±T¡Òêô:Í\9aB65ÎeÐzººzú\a\87\ 5ÓóËj\9dÁhÔ­/ÏOñ\ 1&\9aêÈ$r]S{\1fktR¦XÓlè´êC\89ö´5Ö\92I$r-\ 5d\88¬%_ÓêM\9b&ÃÆ\9a\2\ 1¸\81*\9d@(\a|A2\14I\96àÐF£^³"\9b`wV\17$b]ÿm}áÔ±#_}uä\e«³Wo<pFYDl ö3\11à¡s\ 1é¼\8a\b\v{\19\95ðº\10\80eÐr®1N\7f[uqf,ÖÇÙîñc\e{×§Ø(hÒÚ¶~®P\ 2^ÐhTJ\99\88ÓS_\92\ 6\89{ëêY«o\8f\1dG\9dì\12\1c\8f'Q\99ã`\88\15åÂô(t\1e2Ã=ëËç~<wùúïvÞ¡\89xbS7àÇ80,½«¹¶\ 2\9a\8fPY\ fA;>-[\92\83\ 3ÁBÄìØ@d¡\13\7fGpø\7feøyC±:oýÀ=$µ\84Ò?&]Õ\9b÷öv\0û&\98m\159À%\ fo]¿ví\97ßîÙû\84%\17\92©L¡tEk0\99ô\1aå\9c\80ÙQó6=*ÈË\19c\aý\a*\84ÙQi\f@Ô>*¥ª$/3%)%#·\84ÜB\e\16Ë\94kj\15\8c\8cGo¯)ÍKO\88\8d\8e\89\a(\87a3F§\16V4\ 64\18í\9a|nr\8cËb\f\f09£\90\vðùæö\96icu^Äém$\16d&¢çÒrKk©\fþ,\82Ô\83OhA\81\89\rõ6WÁ~\12\13\16ìçåîêâêñôÙ˸Ì"ð,\1d\96\ 2>\8f\8d\88??=öep\80\7f \16\97\90õ®\96:\0­?'\99\86Lj%\15¥G?÷quÀØ;¹ûb#\93sJk`\"©r]oÚÚ2!¹\ 1\19\0\93;6        òÔ\99¶ÍÛ\9bzµ\"àôS-(Aª\83\84\ 5Ë)×uFt\9cÕ¥Y(æÞöæz\84ðõͨ²\85³KkZã¶ygÛ¤SÉ%B.\1dÐ\92TQ^\8e\96¹.:W\0ßo\18-FWÌðh\94w\96=ñÒéï¾>\ 2\95yæÒ¯\96,ʯhêfp\ 1¸\ f7\99ü´\98Р\7f¿\80ç¸ÄìÒÚ\ eh\9fÃsõùҢ\82½\9d1¶¶öÎ^ÏÂ!æ«\9a\82\ 5\83\94\8c\rXDæ\0\10÷ý\89ãV?\¾ñÈ#4µ¸¾w\18Æ¢^_SHÆ\19­\9fexåÂùKÿ¼ùÈ5(6\9b@éf\8eNLM\81Ø?vP*K\vñøÂÒ*p\0¸\10Á
\ 6\95\9c\ fTwÿú9«¯ÿò%\19þé¯GO]¼ñØ+<\83ð\81!\9cW\19w,2\\10\ e\82\f\83Ülîüö¯\e·îc<±qÙeM´áÉ\85UôþëËÈG\14Bv\¨\9f\9b£½\83\8bOpT\1aät\17}hx\84ˤµÕ\95åg$ÄDEÇ\ 3\8dPz\86&dËj­F¥\98\13°º ÕÒã£#pQq©9H£\\91l\ 5\ 6³\ 3\83\81Ü\93N\8e\8fpØlÎÈ8t5ÌÚ¼»³mP/M\rÓ\9a\88ùé\90e8°|QÕ\87~Þ´|Ý´sð\9f}\boù4ïc+¹$+1\12ëïíæìääìîcQa%xvD \12    ùlZ+B¥P\7fOW\177`Æ\94üÊ\96þaÑÜÂâ<ô\ e­¹\ 2\9f\8c{æåâ\0\f@1Jlìf  $JÈþ\9d\1dó¦Þ¢ÃQ\ e\9bÅæ\8c
+g\90q¶wa\993\82\1f\85\1c@¼JBi)¡
+ò`H8\87
+ÃlÞ2jW\17!\ f騲IUU\96°dÂ\98\965Fx\16Øgcmq\1aø°½±º¢\8cPF$\ 3\18ç-·aÞÔ­Ê\ 4\8c\96²×\11Om!ªN\1c;úÍñÓ\17\83ñ    KÂW4õ0yB1,OC´\16òÛÌØ\10?\ f\17t®ÈÔ\82ªÖ\8f#âÃsqú\9a\89ø¤ð@O'\8c­\9d\83ÛÓç\91ɹïë¨\8cÑéEÐú&\18aQ<ÔU\8d\96\80ûÖ\17Ï\9c´:õãO·l\9f\86%`lN¹¾±±¾,\15\80\f³¢ý\1dîZ_½xñê¯wí}qiŵ\9dLþ¤D:7\r\1el­!\14ded¼\81rk¡q&\80I\94K\12!»«¦0      v\ëó'¿ ÃÃ\råô\95\9b¶¾QY\15m,ÑÒºiw\7fßlTÍ#\19æÂöaÿð\1e`»½gptfIm\a\ 45ô$pÍ2°ØÿFçèâ\r\13\ 1§\86Ç\ 4ã#¬Þ\ f¤·¯ã#B°/pq\99ÅÕT¦@º¼®ÓiVçÅÜ^\90SÚ+\è\8b\10\,\90[]Çà¸D©1B
\9aapK°\ e\8cp9ã\82)©B\r\18
+ó2iP04\95ç¥D\87a±aÑɹ\ 4J\ fgrQm4ïïïmëWeBVg]ivBx\90\8f\9b#ÆÎÎÞ\19I)£°²©\875*\9a\9e\9d\11ñ\99Ý\94²\9c\840?W\8cÍc['ïç±oÞSz!îäJå"ÜYwýû¬¸\10?wG\94ì^\81°¤\14\93Ûè£Órµa{o\1f$£S)¤\93\ 2\1ew\883ÌG9­5\99Ñç&íò\9c\80ÝÓL~_\94\8f/|WIé`ðgÐC\87\1a\85\rö´6\90\89\84÷\ 4"¹¡­\8f\rW\88~óà`Ï\f\1a\96Npé\1d\8dÕå¥ÅÅ%Ðj­}l\81\ 4T\8cL    \9d$bµWfGûan_ûÇÉï¾=~êܵ[6\1eØøÜòÆ\1eö\98xV2+æ³Ð¹âC\11Ø¢sa_YÒB,\93/ù\ 4p®Ò7\80\87®öO\9eØ:¸ù¾\80ʪhîã\8açW7 åá\ 5fy}\rÅ)¡\1e\8fn\>ûý©3ç\7fþÝ! &§\92Ê\12-¬m\18\fÚ\15©Å\v\91¾\98;ÖW/]ùùæ#·à¸¼ÊV:oRº¸´0+\ 4©W½ÍJM\88OÊÀ\13ê: Ü \95\17\90\fk\8b\92_¸?°¾pòè\17\87?þùoßþðÓmû\80Ø<R'gJ¡ÝÚ=\80Å\13ɰ­*?é¥\9f\eÂ%goȺÂ*\94\1eRŪeg\0¶EE\16\ 5Eæè\0C\7f\99\98[ÖÐ5\b\ e\15\vyhä¹I¸`\7f_ÿ`\2¾¢\ 5YK£Óo¨\96¦F Õð)Q!Ï\ 2\ 2\82ÂbÐ¥ÐF¦\96@P{\aû»[zµB:\ 5Ãæpyã@Q*Ý&\92á¦V13Ò×HÈIÀ=\ f\84Ç^e\16×t°&æU\ 6óçoyýÍÄ<°½\87ã\93G\ f\1e\0#D\ 1?A ñ'çd2\89\987ÐN.JÅù»ØÜ»}ûî#'ßðÔ·µ]C"\80\ 5ÕÊâ\f\7f \8dT\90\1añÌÓÑÖÆÆÎÉ30<1\aI]¼\80þãP2\96\ e\rq\ fÓÐòÆà\10å,\9fA­++ÌÎÌx\93WBB3\86-\ e´»\ fq·ú_ÆËó«É4\rãgÇi;3»sfÎÖ\99]G\14\84\11\90\8et\ 1!\18       \82\14      ¡\84\10:\ 4\10B/¡\83T¥(5H\87P"!\94\84\84.¡,ÒAj\b½\ eà_°÷\93àqöÃìîç\977/÷ó\÷uý®¹ñþÎæê\92¼¬ôÔÔôì\822\94ô3«Û\87¿\9c_\9c\9fÂóÙÑ^¨V\10\89\99ùeõ,þèÜÚöáÉéñþæâ\18·ñer\903NOIæê\8f?üó\86¼\86±\151\90\96Koî\1e\1a\87®;5Öÿ\1fs\99Z:\82S\95Áÿýq®\17i\11¾.6æ\18\13\13\8c¹µ£Ç\93¸¬\92Æ.\ 4ÖûGGà¸ÓCíU¹1>ö\18-\ 5ék?]\97S½kI
+I+iæ\8d/\ 2\8fìm­\þ\ 1þ¾®ª\82¼¢\9a>\16ï\13\95UÞÒ\ 3\e¼¼¼05Âm©ÈK\89
+¦ø\aPcÒ
+*[\81\ e§f £t5"®ý¿ÜðÓ/¾þîï7\94\r,IÔ´Ò\96^h(Gèl÷ÖçFº\e\8aAed\82\9dµÍc'X"ñ\9d\ e\8eÃ\96¡5\eá³ÄøëN°¶ÀYÀ\96=¡e\8b\99dbrBÐÇn(Î\0Ôr°±¶\85'ñÏ*Ûú'\ 1²\80E\16'@\86àJÞD¼\9d­½³'\1cJ)\8332»¶{|\ 6\97}´+|\87R\99\vÑ×\87.\e<çTì\86\13üVzv\\90\87\13Þ\9e@\82D}Q×9<³¶stzz¼»\ 1ÉÂ\0Lõ'Ú<¸g\0·a\8c}äèEMÈ-oê\1a\18\9f\81\9d\9d\12ðà³  OH6\18}MUUM=3\e2Âðn\ 4\v\9bÂ\15dÒô\1cZ\90Ûc\v\8c±\911\ 6gGô\8fJ/ªï\1c\9e^\85#¹@É\8fd8ÜËíêâð\81\r\8fNÏ@\9dB´YU\85Oi\11!Á¡Ñ@­pÇâ\97`\9cÃ\9d5¨»ìFzAfR\tTlÂSè©\0µK\9b\0µ\17\bjA\86|q¨Ñ¢""¢\13Òóè\8c®¡· \91\93S´^\13¼¦¢\94\85\81\8a¬ÔÕ«×å \92\1d|£2@G\83\13³\8b\8bóS\ 2>\9a+\88d\8dÑCsé\9bÙº\87¦\1518\82Ù\15¡d®\16zN\ É\ egbhp÷\1eö\91\93whr~U\e4M \83ãCd8âàÇß×¾}SJJ\1a\84\1e\9eYÎì\9f\\16í\1dì\89\96ß\ e´UdEzÙatT\14ä\954\r\1fº\ 4&äײ\a'\17W××À͹ÍôÜÄ0\8a\97\87\97?\95\96YTÛÖ34:>6ÌcÕ\14&\a\93¬\f\a\eþ\ edøå7ßÿ(£j\84¾L\7f=0\ 5\råìâ\1c±¡\80ÛT\9e\93\10êçNt!\92}\9eD§</ohç½\99\98\9e\9b\9f\9b\16\ 3A1\90\16J1s`_W¸´\97uí½\82É\99éI\ 1¿­:?\99êIx\843\7fhG¤ÄdW¼\86±/eÈgVäÒ\82È\ eè¡-:\14±W® ËF2ÜX\9a\12ôs;ÙìN.\94Jq*C<        \17Æz\9aJ2¢ü\í­\1fÙ:y\86$æW³\87à¶áé!ÚhàìÄ`²\1dÖPGSCSÇ\bkëJ\89É(®gCB,-\ 3©\fw3J3"½ñ\ f\fÔoß\12\1f¦3:ÌÎ73+\9bÛ[bR¯-H¦zà-L\fôÀ-q\92t\83õYÞ:D2\14\aèè\0·£\9dÅîîE=\ 3\8cúô\ 4\846;Âi\ 2 \b\vðõñ\v\8eN+¨fI^B2\ 4\99    xÌê\97\99   \91!\81\ 1Aa±@\9c­=£@\13'\972\84nÕòª =.,\88B    
+\8bK/¬zÍ\1f_\10î\ 1\12\1fl½û\17¿¹85Äõá]Õ\9foH]¿y[ËÔ\96LM)¬\85¹fß­\80\17¡èCsaõÕ\15åa.#K\97 ÄÂú®_ÍUS\90\14ân\8f»§¯­­g\84µ\81ûÈ*kî\19[\028\86óFe4\9fæOÀê(É^¿~SQËô±wtNe;:Ý}\90!¤vkÙÓ0²\8d\89\96²\82\ 2ÊdrhZq\13wtnU(\ 2¡\v¸\90ûñT_w\92\9b'EL\9e,nß@?¯\83\8d£8áô\95nüðý7ÿU\86W>ûò\ f\7fú\87¬\86\89\9d\97øË3ëèxÎOö7\16ÆxÌÊ\82´X*:ÜÀÐØÔg¥µ­\0ÅãÀ#\13#ý]\0\7f\88÷\1d­qX@_GOjb^%\93\16Dúv¤§\85\9e\1dK!B\10\98Âúù\82\853{%2\\87ßm.Ë\8cös¶~`z\ fcnë\1a\10\97\ 3"ýpoG;\0íC=lfK\v\93Í\1d\1c\ e¥q{möMWý\8b\94P/èC8+\0»øçU,$Þ\83ãã}\91\98o²£}  \16FÚjÊÊjÚFæx\ fjR~\15b¤¥Õµ\95\ 5\b'h\O\­\8c5\15e¥e~VÑÃJ8|hzE´»»µ6'à0\8aÓ#¼\1d,\8cuïhjé\99X:\89Ó\8d?±$\ 2ç\12/ÈÂä0¯\83ÙÜÜÊêî\e\9d\84\1ar\ 4×ôv ½¦05\92âAr%ûPãsé­\92\97ÎΠt\97§\86º\1aËr\12Ã\ 1jÝ<|¡¨J,vç\bÖýô\10=ïl(AÝÊÃÍÍÃ\8f
+\99"\ e\aؾc\89\fK@\86\96\86jò2Ò7åÕïZ8Sâr_1ù£³\10º«\v\93h{\92`.#ñ\·Tô\1e\10üiy5\1dÃ3«¿\9a\v\8f3ÒÑPÓÐ12·÷\fKE1\0´\81þ\7fÄ\9fuùñ\14\ 2VWINZZNI\a\1a
+-\ f\16tv}çà`osq\9c×\84VÁÊø\8e\92\82¢ª®Ùc¯È,:ò\95\8d­mÑÚü\18ømn<ÕÇÍÅ\85ä\rÍ.¯¼\9eÉîìd5U\16¦\85\9bi+Hýí»¯¿øô\93ß\94á'W>ûý\1fÿ|õÖ\1d3¼_\1c|yd\1e\1aÊÅûóSIõ¬+ÉI\89\8d\b\r\r\87°xV\ÕÄâô\r\8d\b\ 4ÃýÜvÆ«\82§1A\1e\ 4 _S3\v\1e¨NÝÃ\93óKKó\93Ã@\ 5\ 3ä\9b1\ 6 ,*S,Ã\8dí\1d\11:\96Æ¢´0O<î\9e\81\9e\81\89\ 5Á;"£´åã½\89\96§\ 5|vKCmm}s{Ï0\98ÎÖîÞ\8e\10î\9aUõ<\1e\85&ö>\ e\89\92\96!Xå"X%â\10[\8c®\9a¢\82¢\8a¶ñC'¿è¬²&\ e\94Ö5áÆÊüx/³";\1añ\8d\92¬ÔO×d\14µ0\1fv~eko\7fW\88Ø\93\9e\ 5\19i©©¨j\1aÜ\7fì\ 1KÏà\8e-l¢Ö\ 6\8a\81\84ëíhm¨­©c´q\ 6¡j\8av\ 1\9dÖæF{ZÊ\11.8ãñ\8edJtFIS\ fzéä\f\ 59@\bPkJ\84¿\9b£½=ÁÕ'4)¯êÒbÏ/\9f£ê\15æG\82ç\8e$¿ðT°:±Í\1f\1f\1f\88>¸¡¥¡º\82\9cì-\15\1d3;ÏðôâÆî7ÓïÖ\85ÂÕ\8fsé ¹¤d\14µÍì}br«ÐOHæ\9a@sEù\10p\86wT\94\94ÕuM\1f¹\ 6%æ×v ¢¹\94!¸a<¸¡®²\9c\f,¨¾¹\13j(\9cQ°Ë\83\ 3X¾QNCab ³Å]\8dÛ\80\86°¿¾±Ïª$û»·#¡¬¼¤0?2Ñ\99è\ e{ô4¿¬º\81ÑXWñ"#6\80he¬.wõ/ß~õ9Èð7ÑðÊç_}û×k
+:\ fàË/\1a8c\8b¢Ã_Þ¿¿8\ 5\16\9b\1cìdT\14f§&Òh  )\99Ï\8b*ê[Ù\1c^_\7f\1f\9fÓÞ\Sú,%2\80\8c·¼\ f}ÀÌÒÁ\93\9a\8c²hb\ e\82\ 2añ¿    /ﯦò4\8c\9f=sÎ\9e³{öÌ\8eÊ\8cë:@\82\84^¥$\90@h       \89t\ 4\f%ÒK\ 4\fM@@ ¡\86\90P\ 2\ 6B\8d\80B\10)\ 3R¤X@\84\ 5)¢ ¨\14uf÷/Ø÷{/̨g×å×p\93û~¿Ïû<\9f§\ 1\9c\87ãæ`cM¦1|À\rkoã˳\8ej\17fKl;KSc3+º{pÂ\8dJåÀÃÅuÔEöÞ¾\x<r¯½ñ¦LV«Pª\ 6'@Fë`ýè®eÂä\88\8b\83\8elÿ¨4\90áèÓÕÍí]À\9b\15qf\8c?\83lL"\12Îé\99Ó.\ 4ò²Ä\rª\91'\vØãsÈ\13\ 3Y6\86Ä3j'ÕÎ\10\8dlݸI\85ò®Q\90á»\9dw¯W\9e\8e\97\\8bôu&\eëj\93ôͨ¬K¼l8\93)XMìÍ^Á\91ôv4ÉeÕ5õ­]\ 3ã3\8b/6^o¬=Gq^\9e\93\18êçÎbAS»\9a[ѺÿÐ\87] ¯\89>e\9505\9a\ 3MÎÅÕ\93\13\9dZPsà\96\1f¡
+"·\ 2ª\8dâx²\\18lï}\90\9eY~\8dÙ<bÃÊ\1cÞ%&Å\88D$\92\8c)\fÿh\94\ 3ÃO\16×6^¯£Düb.cªÛåäB8\e\14©ûsÕ\95¤Eø:[\eé Ô&»\\8cJG1\80z\12°áËù\89\9eFQz\847ý¼.áG0\2ó\12ïFå­\9f\1e\ 3<nooÁ\ 4èóH\1fGK\ 3mÔP\9c|£2\80fÀ±±Ì^FóKòRb/sü\ 3\ 2Ccø\99ù¥Òê\1aY\85(?\9d\17â\ 1\1e{öä\91oÿðûo¾"Ch(\7f9~\86\12\80ÿòÒëÝ\9fq\19\8cõu4T\97\15æçå     
+EÒ\1aEK{gwϽ\9eî;·\1a\82\8c\84ph\95\95\95\r\9då\17\91"\94µõOàíìñý;òâ´H?W;²¥5\8dy12­X\ e\ 6ðü寯Úâôp'|\b§\82LÇÐ\9cÊâð²¥­ý C\ 4å\18+\rÜn\94ID"qe\9d²{h
+êØÊÒ<j|å9ñ!\9eÎ4\e[:Ë?êZI=F/Û(±\9f\8d\97¤\85{;Xèkij\9eCe.4        Þh`jnu}sóÕòìØÝƲ\8cè\8bNÐ8Õ¾;~â\aM\ 3\ev\b¿àfç\b&åm ¼ñ\1eì_ÐÒ\13µH\18\89_\177÷N\ 2Çí}ø\0´\0¸ßÙT#-\837\93·\ 2\ 6Ï.®¼X}\8e\10½¦0-\9aãÁprrõ\ e\89Ï\96\1c<\ 4p\a|¯R\88®ó\82=\19öT*Ý\15Ì?\1fÜò\11\1a÷ã\87\9dMP\89J\ 1T\eìÅ Óì`¿"S\vag§\97P\8d\ 53x4 \94\ 50(Æ:Ú$\ 3\bDîUx¾\7fr~ucks}\19-õ§s\9dÖ4´¹\10\92\ 4s\8dÎ~2\97(\ 3\18ÍÚP\9b@\80³qô\8eHûõðv¶PEQÀáyÙ\9bë\10Ô5´\8dmØA\89ù²\ eà¤\rÐ1ânU]qJ¨§½¹\9e\16QÛÀÊùbtf96â\e\1c\97\0\8dkPGá\ 6r\82¸\91¼¤\8c\aqI\910;\95Çõq!\e\12O\1fÿ+BïÊðO\87N\9cÕ³v\r\84_¾}\7ffekï\97\ 3\19>è¿Ó\[!*.,,\16\95WÕ*\9a\94míímʦz\99¸ +96Ä\97í`c\81¨×Ñ=\90\a\8dA52½\88\ 2p\1e`A&L
+óaЬ­(tv@L\86\1a\9d\ 6\1fÎM\rܪο\1aân\7fÞ\80¤­gbÃ\f\88;\90áÞû=8ø'ÃÝ-²²\82¼\A±´îÖÝûPzæf\1f\8fõ¡»\8eògÓ)Ö\14{\96\7ftz)ð\ f Ô6¶ñX\97ãºÓÌt\b\1a\9aÚFHBø\8f.\ 1\90n\81\8f\rß¹Y\98\1cêA3!þýÄѣǿW×§°\ eZ\19\98\ 2"õÉÞf<{°ë2Ä\8e\84+ê=\ 2Ð\99Ñ\1e¨¼°\97ðfr%¼ÙÌ\1c\80ðäP§B\9c\9dÀõfÒíì]<\82xYø\1d½Ý}\ f\ e
+`Õ&\13$\85ù2hV\16\96\14G\8fàø\e\15J|Ü\ f{(\93\a\91Ë\87û2ÑÎ"FI\12Öt\f=Ád\88\8aY_\8bäz¬?\83\ 2\89ªgBaøÁàpÒûs-ÁR\7f>\97\86\ 1´M¾\10_¯/ç:§\ 1¹~\9eî\15\ e©\r=\0\ e\ fd\b;¬ª+J      õ°\83ÃS×\84\12ä\8eÇÄS<&\96g\86ïÔ
+ù!nTS\1dH\1a\90¡ß~f¿\82\11\11\11=\19îj\94
\13¢Ã¸ÜË\111ñIi\99YY\99i\89Ñ!>Lª)éì©#\7fþã×Ð\10k(\87\eØ\Ø\ f¨\17\83\f\7fy\ f  \84dØ"¯,\17\95\94\94\96I*e7ëê\15\8aú\9b2©H\98\95Â\v»äáB³252\ 4èuöÆV¼\7frne¿:!(æz\81W\92©Npð9\92æ\9e±\99ÅÕµÕÅéQ\94ɱ\ 1Là]-ð\1cʧ2Ü\83Ý\9c\9f\1c\80â(¸~--=§@\ 2:\1c\1c\9b\9c\9a\18é»]\ fw\1d\82\88Ò\92
+\80\96Ût\ f(\eÉ\10\bj¨½:/\ 1¢ÉX[S\83 cFs\vNÌ«BeîÅæÛwÀ/ \86\aW²¾ºÚ±#G\8e\9dúQ\8fÌ
+úM\86H\10\ fû[Áxü\19p]\9a\9aZøÖ\83\eB¾¢ã~\83\95¶zIAvúµ\fx3ù­»C\ f\1e>zø`PÕ\)H\89ôg;ØR¨\8en\81\98\f±\87`\1cäEMåYq\1c`\10\13#\13K;và\95\9c_·n\17Ã\89fIö\95@7ºµ\99©9ÙÑó2_p Ã\1dLCMbdÑd\13}=#\v{·`\8cW§æ×þû\jêúäO×ë³¹\f´4Ô  ºH\86i%\8aî\a\98\f·7ñ\1dæsAf$\82\ 6\1cÿ|\7fÇß®\ 3\9e¶WCî»R\8càpµô-\9d\ fÐñ\15l\12Ê/¸ð\8eºrA\ 6?.*""2:.>\91Ï¿\1a\1f\13ÆñbRÍu5¾?ö\7fÌðwXCQÓ4¦y\86¡_\1e\9f\7f\89\1aÊ¿\7fÞÝZ[x<Ú{»©¶B\Z\T\"\12\15\15R\89¸¤ 7#\89\17Îñv¥\93¡\94\92t\fÌl\99\10ÐLãô÷l¢·Ez#\81ë\85\81\ 5\85S\0åoüéÂòòâ,\88¬¦\0\90\1a\8bO\ 2ø\163\80\97S\ 1)õ|\1dÖ\7f\e¡Ìݦ\8a\82̤x^|r¦°\ÞÚÕ;ðSÿÝv\854?9\ 2rÞÊÜÜÊ\8eÍ\89Ë\92à\10½³\83,g@Y\91Ã\v`` ¯¥oáè\r\v\8f\10k       ðæ\1dÒ6î\bN\16¤\7f\9cüÛ¡CG\91\f]\83\12\ 5Øua¥\14Ã0ô%X\eÀdè\87ñ2¶õ{Û@\vã÷Z«\8b²\92\13â\13\92¯Ã\9b)»ú\ 6\87\ 6{;[dE\19qA\1eN¶VV\14\a\90!l\15þ\10\1agf¤S^\94\1aîãdm¢¯k\801H\8e\14wCìKgGU@n\91¾.\143C\ 3\13èE\>ô9<\10·±Àl(Å\80ÕÔÐÐ\94ìì\13\81\ 3Î\97s\9dÇæ:\fséÿ¶^\9fÏ\ 5\87\83ËÐÁ\eêhCÏø\1c¾ÃËÓ÷;dù\89All\87AfÀ~û)\80\1a
\7f\88\vü]@ÆêêD=\v'_l='÷\99\19ã·Þ6yyAVêÕ+q±±±qq±1QaA~î.Ts=Âéï\ e\7f\vføÍÿ2Ãý\86\a-3ºOT\ 6\85õí\8fÿ\82L\86ó{65Ô­¬¯\ 2Ý   òó\ 5Â\ 2ø\13æçf§§$Ä\84r¼Y\ e\86$-\ 2V\a\81\87îMÌ\ 1¯lm¬Àu5Kr\12¸>,'º#Ó\vA·¼c`bæ\9f\8b\vÏ\1e\r«\1a˳¯pض&$Mu\8dsF\14WN|nUÛ ¾þo×Q±\93\97fócÂCã\13QëjPþ\87ï2ýjêÜÂø\87»®ËÖª  RF\19\ 3\19\81\90\84\10\b\84@\80\80\ 4\b\ 4Â\14d\8cL\810\ f"V \8a\f"¥VD-Pí¢Q±"jëp\9d¨ujµ\ e×[-W\19Ê$à\7fp÷>'\89ÕÛ\9a¯Y'y÷y\9fçÙ¿çäIýñ£P»\8a¡ô\ 4ò¹¾\ 1\92¸­e\80²HXÓ³Ðå\1eÝ\82Ûh,J\89\fð6j»\ 43iìW44²ã\8d\91\81}\88?<\0\95õææ\96Ö\84\f\8d×5·\0\14\87¥ô QJÁõ\14\1a[¸%\rrz\88ø\13À´\97¸\0û»\9bkJ
+ÔùÅx²¾¯õçO};x°cgYNÒ\16±?ßO\18&ÏÔÂÒ%OF\8csIß««È\92\87ð½èt\16/X\96¡E\b']GäøÉC{\90Q\ 4l\16\8b-\b\ 5°\e¾z\1f\17â\fÉeíuê¤\b\87#\80\92\8bs\9d3Îõ\eÎE`\1d\97\98k\9d%!CLÃÓ\7f1\17±\94Qf\ 6\19\81Ì\88#B\v"禽;÷8ÈpÒ\10È\85É\11\ 2\16ÅÙ\99\822.hèúz\142kz~qiqnò÷Çw¯\9dÓ÷\7fÙ¹{g}uEY©¦¸@\9d­RÆI\83ù^î\8eÖ\96f«>\14\86\88\86+>6Û¸\99î'MÕ\10ÿüôåìâ\9b7K°\93\9f`+\1cìínÓ5ílÜ\81\9f\86íu5\15Ú"P¹B\16.òc3Ü]\9c\9c\ÜY|Àæª=\87N\ºód|rzú%¼\9bÑã=Í\15êÔxYt\8cBUPÝÒ3xúÒØ½_\1eü|û깡^ ¡¤\b\7f/\ f\17gW\9a\81\87Ñþ¯\bû\93űN\93£JKÏT\97Ö6µ÷ô\1e>Òw`_K\9d&S!\râû°¹þañÙðР     \]Ódf\8cBfäCCñ¤R<\98¼\10yvån<ÑÓÿ\92\99d`Gy0ÛÍv\83¹\19)C"5Èë\82Ýòêٽ˸|2pù¸\83\96\83P1`\10\7fÌÎN\8d?FÊkk(UoMWemÓÖ5w|Ñw´ÿè¡Ï÷6\96ç¥ÈBüy\1c^@\18lM\1dñ\10Ê\10\r\ 2\19°] ö\1e&78f+¸î\84ÑuÀ~¸1KU2\11Ï\93Ád\vÂ\13Õµí_\9d1Ö\\92˪s\15áBøua¸ñM\eçº\7fu\18æÊ\8e\ 524²á/\7f1\17Ö7aT\9a\86À ÇãSèáÇxDHTð0\r\11Á\11u½xDô8iáÎzµBâËputteøJ\14jX5Xq&ç\16\97\97 g=\7ftçÚ\ 5X\9d=\1d»!§*µÅù9*e,ªÐÃÉf\83ù'\1f­ø{2$\eÊ*s+'V@4DRï\89Ë÷\9eMÌ-½Y^ľú#´ÂC]{vm¯©¬(+Ó\96\96h\8a\19©\89±\91¡\81\90\84îÎ\ ev¶ö\8e\14O\81¡y!Ò¦x\85Ëëø\ 1]Mafr¢B©R\97\1fúfäÒÍÛwïüxõ¼þHg£F\15\13Ì¥»:9ºÒ¹byN5ÑWMö\1f\19\ 4\bÌKSÈå\8aÔl\bÄæÖöö½ºÆª¢LE$D°§\17Ç?\\ 1\99qxø_Df\18º\1c\84Ï¢ºÃN\ eG\b'/\13ðhÆÄ\8e2¡§\8bµ\85ÙZ3\vB\86Äu]#®\vÞ%.§^]\19\ 2&ÃÃ\ 3\14óçÂ\88\ 6\ 1\8aû¢¥*?#)!!)-§¨rGK[ç¾\8eÖ¦zm^J\f \9f·7\a\97\1eÓRÅ;<;@\1a\ 4\19\84Á\15ÇeU\90ß\e\76
+M·0Y\1aÀfÐ\18Ðb\95ùÛ¡{Ý4pÙSä2]y\96\\12àËõ\13E%\93o\1a;î<\96&âë²\8ch!Ë\99\98ËÒ\ 6ªWlvÕÞ#\ 4ç¿3\97\f\96\8b\83öj1:Åp\84®\86\ 2e\ 4\9dÁ\13˳«Zñå>#\1a\8aÉÂb\ eÕÙÁÁ\99Ê\11Çe\93àðïW³¯\97\97\97 q\9f?¾wãâ\88~°¯§\13\14S­-ÈNKØ\12êïCs±Û´\ e\aÃ\10d¸ò\93\84\81\8cûi~i\99\bCì«}]º\86ªÒ¢ü¼Üì¬Ì­ª´äD¹,R"òçyÓ)Nö6V\9b¬¬\1d(\9e\ 1\9c ä¡/Ì\ 2ò>\7f8v~èàÞíZu¦
+b£´^×\r8\7fñÚÍ\9b×/\8fê¿Ú\ fëZ\11&ð¤89lv¥óBÑZýÈË\13$¨@¥m¯/ÊH\88\96FDÆ$ªr\8bËkêêk+5yéñÒ _/\ 6\9dé\13\1fúqâÿº\9c\a\9d-4\9e\88¬«@é·I¼\89\140\1c­Ö¯]cfA¤\ 6\×QãuÍMü\a\19\89è9P\9eh,_,\8c&\83\90Z\1fèj,ÉJ\8a\89\92FÅ&©ò4\15u\r\rÛkÊ
\94²P\7f\8e'\93å\ 3\ 6É«i3=DÞa[un<¶PèN¼w~Ô\80\86íµjE\98\9f\17\8dÊ`\v\rµ\bN>\89\F\84eS)\16\1c\1e\ fvrºÆ0×\149\17\99\ 6Ð\90NÎeù¶n^\7fð|j~ñ\9d¹8\f*\95É\ 3'\10\8fNyëa\ 5\83\ 2\rE¢È«5¾Ü\99i`\11À\86Ý`á o÷Ívv\9bݽ\ 3£UÚ¦\ 3Ð\93àõ.@j\81\ e'^<ùùÖÕ\vß}\vBìÐ5V\97ä¥'D\ 5\ 3\18nþÔbíª\95\1f\ eCh(+W[ظù\88ãóp\15\\7fð\ 2~wyq\ eÂpì\82þHWK\9d6?[\95ªLL\88\8f\8b\95EIÃÄAþ<6\93êêh÷éFK\v\vK+{\8aw º\v\ eâ\ eÙu¿×\1fÞ·\v!j[¡¶¶©ãË\ 1ýÈ÷@ó\17Î\f\1dín®R'G\ 1-;ÛÛ9¸2ø$h\90\9dw\ 6ËÆE}ïîª<e´D\14(
+\91Æ&¦gååç\ 3j$Å\84  ¹\9e4w\90Y\804\19\1e2Bö´)ì@@\90c\f\8eÈ\0`°Ng\16^ÏO\8f\ 3Þ\1c\a¼Q\86ùR\1d6\9a¯A\19\12×UÓ\86C¿\7f]Á\\16\8dî\ 5\85ò=\83\\19>ÜV\9b\9f\1a\e.\16\ 5\87F\82\10\15Â\86ÈJ\8d\8f\14û±\99(#4\bä\15<d¸C@?8Y&H\80\ eõ\80É\97¼ïº+§ú\0\rãÄ<\16\95Êà\ 4\ 1Ôî\ 2´ü\89ä2LàcÝ\8dÅiÑb\ 1\ f\90X\9eY\ e9\86sAG\9d\9f\ 6l;wlÿ\8e\82¤0\9ea.K[7v°<·¶½ÿÌ\8d\87/¦ß\9f\8b\89sI\12ð²Á~¿½Â#\82\87O\1dnÅ#p\19î\14ª§ \I ß\18¾\l(·\7f \1aN\94?ËÕÞÚÚÞ\85)\88H.lè\1a\18Áõ\aqHèprüÙ¯wÇ®\9c?=4л¿ugUQVR´\98Ï¢\90ýäCa\88\rå\9f\1f­±´óàJ\12¡;Á?c÷YZZø\ 3\96Á\95ï\ 6?×ÕjrÒ\14±[¤á\92P±(0@àËñbRÝ\9c\1dl¬6¬7\87\1d°~\93=\85-\8aÃ(=\ 5\erbváõ\1cÀÆíKÃ\ 3\8d5åZmeÝg­ÝÀò§Ï\8e\9e=sâX_Ws5Ô]XÉ.\ e¶¶\ e®,\814ÅPG\7f'y\18Ae\97v«<LÈçòøBqD´<Q©L\8c\97E\ 4\v\80\ 4\]Üh¦´»EB6¾©¡\ 3M%Ð\ 5\1eT\16¢a\95ñD¯áº°o\12x\13Âq·Û`¶fµéºP\11\7f¾.BÌÁ\ 4¦\11Zßo2\b\92¼þ ®"G!\15   |}ý\84!RY|RJJrb\\94DÈó¤QÜ\0ï\ 3"\93\vw\98\1e\9az{2¢ebKU¾ýQ²\1eè¡\1e\10\ 4¨\ 4\b\94\ 3\97]F.\9b!\93ª¿³>?9JäÇã\aF\0\8b\10ë\92\98knêÅÃ\e\1d\84\10\1f
\852¤ø\88\13Ôu\9d\ 3g±A,¼7\17\8bÎd¿³÷\8dsµh\rèHõ\ e\88Ä\97\11SýK\8eà3\9cm­¬l\1c©\\88t@Tý\ f?=z\81t\88:\840xþôÁ\9d\9b\97Ï\r\7fs¤gïÎ\8aüô8\89À\8bâ°iÝj Ã\7fü}\18¢\fW|¼v£\ 3\8d\1fñ?«û+Ê3\v\9fÝ\18±P§0\15¦\0Ó+Ó\v0T\87\ e\8a
+
+8±ÄÅH\18\fK"I\14\19Q)*\12\144\1e×\95I6\16V\8f»Vt£YÑ\80&Ø@,\11\r\16\14\81\93ü\ 5{ß÷\9ba\ 6w\8f;?Ï|sï÷<÷)\ 4\17z\a\9f\8c\8eON\8cÁ~WÏ\1dùºùK'8PF\8a-Îb2èµ±*\85T,\88âF0i\14RHPàÜÀà0\1aG¬OõJ)2·\891ÄáËÿün\7fkCÝ\86/¾Øèjhi?àþîXW×Ño\ fvìp}úQi~ªI)à²\99,®P\1d\9fãXG\b\17\8f\800îÖÚ\8fKr\92L±J\85Jc°&¦ÚÓÓí©\89
+T\98Ë\8b\96jm¹ËÖÕã::üâ\95ïM\15\ 6\1aª±­ìðê\1c¬óèÖ\ f'\ f\81\86¢\11²©¡AA\18®Ôip¡\f\85
+ÓP©ÒÛrJ\9d®=þp \ 3\ 1\7fLµhÕ*µÖ\18\97\94\96\9e\99\99aOI0i\14¢\18~T\8cT\8bâ¿Ëÿª\90\f\ 3\86\99VµX \80\96
+\18û?t\80h0%Ù      Zt@¦4\8fg£ÐK(Õ\89\ 3ÍÐP2l&£91k        \91En\111âÙÃ\9b8¶­Z\90¤\11°)h¯ðH±>mñ\9a)MA4\9c\97\1aíEÐì®ß^®\8a\92ìx\8d\14\1a\8c\ e\14"£Ï0"»6¬)\9cg\94òX4\1a\83#\8c\85÷ï¬ûÊý\8fË?Ý\e\86I&!\1f\8e\8f\8d>{òpðÖõ+\17O\1d;ÔÑ\[µzIv¢NÊg\82\1a¾Ó\93\89\86\12Jç+â²\97\11\@\99\13\9a\ f\84­Ë';[ë>YU\98\9d\ 2Ñ[¥\90IÄBA4\9f\eÉfШ¤ÐàÀ9³gÍ\9e\13\b4$¤t\97ûôU\ 4'HéèÓûýWÎu\1dêhi¬w¹ê\e¶·¶ï?Øév\1f:б«acUYI~ªY%ä²èt&W¤IÌ÷ô\0è¼£(K\ 1a +\15¦[¡¶  \84b\190Ñd6\9b\f\1a\1c\ 5ØìÈ(\8961\7f¹G3\9eâ\90}»ç´ÛÓ\ 3d\12\194\94"\10wÏD\13\13\0Wÿ¥\13`}+òm¨¡\84\10p\19Ò°\ 5\9c¹FÀ\ 5K߸\88e!?Ù\14«\8a5%ç\7fà\ f\aú\93oZkË\8b³\12t
+±P$\91«´F³Õj\ 1\87\90\8b£!5qÐdy~?BW\85\1aÊ\97k
+íf¥(F\80\ eh\1aƾz\10§!&/\ 4OïôxúsP*\18    7\948£Á\9c\94]\\8eí\12ö\1aC\87óàçï\89Ø\96 \8ef\91a/\84\87Ñ^´¶\16âå\8f\ 3O^\12çõ¿÷ê\e\9c8üÓîVüòÔ\12¡H®\9fjf\ 4"\90^Ñ        ¯.HÖ\898t*\85Æ\8eR\98í\85\7fZ߸ïÈÙ+ýCÃÏ_\8dO\0\ f'Þ¼~92üpðfïå³ÇÝ\1dÍ\e\9cË\væY\941ljÈ\9c\80ÿ£\863\ 2\ 2IÌhuBÞrøg\b­\ fF@ÏÞ H\ f ­±¦l)\12%\19\:\8f\13\19ÁbÒiTðâàÀ¹³g\ 5Ì\9c\190kn(\8d+5¥/)ßD¬=
+½      ö~xëÚ\85\93\7f;°§¥¹¡¡¡yGëî\8e½ûöu´íl¨[_±j       \8e\fpWÔp&W¬K.Ày\1aÅ\f"\ f\92A.àq8\~\8cH"\93Ëe\12a4/\ 2\ 6`°y\12\ 2ÿ.7\15²\17\96\8ae\9a¸L"ç{\80ðèÁÖ*GN¼2
\13ÁÅ\95\1aíxîshnLáë\17\8eî­_çÈK6iÔZKZÁJ_çõü   \18`¡Ý¢\82vÅåEÅ\88¤r\85B!\ 3\87à°\99\ff\ 4_¢K\9a¿²\1aÿÈïª\0Ã\85©F\85\10â\84>  aüß\ f\85\86¢\96¡Ðëm(àÙ/_z#J¥#/ÅbÐ\9b\93sK\89,â!دC@°½[PlSD1HÁAàN^k;|¾wðéèøÛ{Åj­ó\16®òîå?â"_\89Z]ã\87\b\91^«á\84c\ 5\11ád\12\85Î\15õ9\9cµ-\7fé:\7fµ\7f\bºÔØø$|ÆÁ\99GPD¼Ò}ÂÝÞðùÚ\92ÜD\9d\98K\ f\v\9cõ®lH4\14²¯[Ag\ 4«\9f\80,\85\92ñn\17\18P\8aI%âG²\18´p*\85L
+\v      \ eB:\180óý\193f¼\1f\80h\88×vÁÚ}÷\9e¾\82\9c\0âóèNß÷§\8e\1eÚ×¶³¹©©iû\8e\9d--;·7n©]_YæX\94\95lB,\f§\90©L\9eÔ\0\ e\ 2ç\7fêÊíG(Ò£ r\14e¥\\eÔ26\ 3\14\93\15ÁáÁ\87\13Á¢Ão(áL\9eD\9fº\880]Ôå \8ebëjú\få|¥\ 4h\18\9f]âtµã\89|@@B+ͲÊùt\ 4\17\89Î\93\993\8bÑ·º=ß\1a}z¯\ fjçæÊe¹I\0\97\8e\a\ e¿?)HÑK£"\98\f\ 6\93\1dÉåñ£àBá<©T\1a\8b'Õ§LÇp\bµ\83\86ê\15ó\93ô2 ¡\ 20ö]\9dÿCSM\9e\86âð¦\r\9fRm,/ÎN4é\80\86yÐ_|{¡\89»\ f·»\9cÅ\99f\19ϳ\17_nÍ*­¬ïðXÛ[{i5úø\8cÂ2ÿ\8625"äu\91\ 2¥{\e\11\94^\1d9qÊh\165,\94\14Î\8eQZÒ\17\7fX]ßvèxwÏÏ\83\8fÀ\92ÞL\11ñ×_\ 6û¯^8ѹ{KõêÅé\16ø\119x6råwÑ\10\1aJ\84H\9fº¸\fýs\8f'¬?CB\fGº¦(ê\16q\812¤P  ¤ALAàà{è\83\93[|k¿\9eüí·IH\96\ 3×/\9férï\a9lܶmÛÖ­[ê]\e?¯v\96-\87¶k3(Á\91¡á\90¨L¾Ì\fRZÛöíÙkw\1f?óe¥\8a\92L«2&\ 2"(\89L¡Òèð\ 1\1d\86!BÂ(\f\9eÔ\88\e\95ûtÏm\9cóQ\1dÅá'/I'\17COHÈY6\1d\88ÁÞó\87÷ÔU\14g\98e¨P\ 2\\8c(O\129vñ\ 6þ\16\0N\98\15%9\89F­Æ\90\90\89\92<\86\ 3\97       P\1e¤¨\1fäÙb\85\1c\ 6L\ 3'A£3\18\f  XD(        ]\95qÞô«\1aÄWµÎ\91kÓJ\ 51"¥\1fƾ\87zJ¬\14ºUÊ\82\95È\10\89\86ò\ 2+Õ_QDÉ\887huæ\14°Ózov\9ax3
+\13\9f\83äY¾Än\94Â^AAÁdf\94\12ÒvÕVH,?Ý÷X\eÞ«®\ 2Åm­Ö\94\bÎ^\vÎÞ\83\96(<¢L(\84ô\9a¹\14Lâ-Dл³Èù\f2ÔR
+\b\81.)·dmMC{çñóÿ¾qçþã\11 âÄä$X3DÄá¡\9bW»ÿ~pצJG~\92NÌ  \ f\9d\eð\8epH4\94p\8eÔdG\\0+\18\98JIÿ\82\vùtå\ 2¸|\1e\93\12\16\8c\b\b\fÄ\14\ 4\ eþ\11}ÞÃÁ\92§°"8÷\ 1\9c°öäï\88\86\8f\a\80hض£q\8bkSí\86/j>«r®ýÐQ4?\13Ú®\1c±\90\14\1a\1aFeE)¬Y%ÎÍíGº{Ñùû²R\91Ý$ãÁÒÀýà\10ø*À\f\9d(00(\84ÌàËÍ\19K?Þ\84Ì       \85ìW/\88\19×Q\19ª«8\80\11\13ù\bÖV\vO5J8\b®\102\v'\91\f\84k'XÀcÏ\7f/Ͳ\19\11\9%\15Ø\1f\89$?<ØÛ}¤}³\13\14\15«\ 21Y\18|\88\v\r\ 2x`²·®
+\99*0 8+.V"\88\11«­\19S\18\13\ fíC\ f\85Émz\85T\ 6ÝjÑ\94\ 2\ 3\r\9f\82\88R\90fÕÅj\11\r«¶â½\88Ã\19¾{íÌ7\10ë
\fâÈph(!\14V\8cÚ\96¿\ 2L÷Ä¥þ\87ÈÚÞx÷*_\8a\92\92ç¨Ü¼ç°·Dýr\87(QÅ\990¢P(Õ$ä\94V"Dú¦!òQ\114\14h½!Á¡d:G¨¶Ú\17®pnhjïì:séÇþ\81\aÃ#/_£\88\b]å5Ì}³çìѯ\9b\8aÒ-
+>\83ôNW\86h8s\ eÖ³L\82\vHìß +\ 3õ ÞN¼\1a"fhà\1c¬\81È\881\ 5ÿ\80?Sý&Çñ ¾¾\a#c\93¿ÿ\87ï2ÿjòÌâø\99±\8a`\ 1Ù·\10²\90\85ì!;\90\ 4\b\8bD\98\ 4PV\91\1d+`\15\14\15Ee\0G\am\91CÕc\8f\8e\ e®\1d«\8e#nm­\83RZëAź´UêRQ\ 2\7fÁÜçyÞ7      L5?qΫïûÜç~ï÷~¾¿c\19^ï?\aq©»³cÓúµM+W,[Z]¾(/{~\8a\14ó\90\17"c\v\94f[9\1aÝKxü +õv\ 1å¥jábý¼Aü\9e^^sàç\85þô\9c\83æ]FÖ\ e¾)H(¨ÙÈÆÈMò\ 5(\a\94\83GwÐUn¬ÍOÓ\92\rÄ$R\8dCé-h\17ÄÎÑ\87Ã\84Ó
+­fb=nû\11}äÛ\vG>i]V\94\v\10Í%:Øûäh^Î\93M\99*\1c\87\19ñ\8a\18\1e_\ 4¸àÞcüR¬\81L\93Z&\96ª\8cÖ¢z°ù³nN\ 50A\85\v\95!%§bÕVR\17\92!\bì\9b³\aw´,ÍKÕ\b#\83P]A\f\81
+h\eKyøáè\ 4\10\16]WmáüD\83VgL[PÙ´\15´\f!   ïýá\81¾\83;p\88RÄð\ 5\12Mr6ù\bÝ\91aWG¢Bü}}A\86L¾Lo±\15/Y¹iÛ®\ 3ÿ:óåÕïoÝ{\0o\9b\0&{3    \13ýøþ\8d+}\87?i\a\1e\ 5¢d\ 4ÂV~§\f=æø\85q\15&ªmÔ\94=\87\9d\83®\1c3\87·§\aö@l\82X\81x£S2\94\83\fáÜÈU\9eML\82\e"6¼öõ\99cûz:ÛZV7\80\ 4+\16\17åådͳ\98ô*YL4\8b\11\1aèçëëë\1fÂ\14¨\0é×Ða\ 3ñ2ÅJ9É*tz,ÿY\1eø\a\7fÌ\9aíå\1d\10\1e­@Ú%7\ 5\9cO\9a\e²\1eÜ$\89£ör|¢!\92¸\íJÁíòñ\99\eÌ\14jRó\96¶tõö\rÜ\1e\19\ 5\19¢Ø\89¿]\937ϨUk\13Òr¡]Ô\80ÀGpæÝ±a)%å9\9e®\93á´æåC\9flÚTý\13õ0Í \83\93I4Iv×s×Kk!¥ª¤\12\99Æ\9cU\ 2éâØÅï\90\99¾x6BTº¼$+Q«\90CÆÍ©hrÕ\ 5\b\7f\ f$\ 2!V-@2DuÅL!,·º\96äe\98õZ½9#\7fIóv|ãTBé?½\7f{sÍ\ 2\bQB¾P¦OYà\8a\7f¸#ý\84»\93U\ 2f\b^baQ|\996Ѻ°´¶©µ³gßá\93ç.\r\\1f¾?òôùøoD\87`D×¾:±oÛ:¨\'\8a
+öõz;\1c\82\90fÎ~ß?\82\17\9bD´Ð\7f\13û\ 2°Ý0*¯\85ò$_/\8f\99.\ füÓ\14\11Ï\rE,\ 2Mßë\94á«q\98 Á/NöîÞÞÖÜPW]V\9c\9fk\9b\9fn1Çëbeb\ 1\97Å\b\v\ e\84\17\0\91K\9bºÐ\15\9c\94Wn3+¢ÃAÿ8
+9\7f3=<½\ 3"øè¼è¦úo Î\1f#Íþ\185\eâh4O4M\86¸]gz?&íb \19\14ëç\15Ö·ö\1c9\ fû\11Úõ\12H\1eXüÓ-«*sSã5jH(yt»p\98 \81²¹\ 6µ\ 3\r\88Çô\93ùP's\9f*gv\ 2ü\87\84"ÕYr]=v¸¥Ôô8¥T"×%ÛËW\ 2®~år*¤ÒºB«Q-\93\96\9cJ\1a#P]Äç>Z\87Î\ 4CKÕå$¬;\8f\9cu\1dÇu¥\eõZCRfQÝ\86\1d½}W\87ñ\8d?&7\ et\9a¬\95
\90PÒóñtRÏ\9fÐÏ\91­E\86\ 4øû\a\8628B¹Î</»¨²¾iã\96®Ýû\8f\9e:ÿõàÐ\9d\9f\1f\8f:@\87¿O¾r \9e\9c=ÔÓ
+\e*AÆ   õ{\a\1c¢\842Û;\90!Ф\80\16ºzÏ\\1d\1e\19\85ù\81\84r³ßåI\ 1Þ\9eh±O\91 ½Ò\89\fmn2|óæ\95ãÉO7®\9eûloW{óò\9aÒ\82Ü¿d¤&\99â´*¹D$àqXLF\18\8a\eþ\ 1Á\11\1c\89a^aÝ&àåA\146h^î@\91\16\ e\ fd;\93âPÌ¢3Þ\9båé\13\18)t\9d÷Á¯c\ eÚB\81d-Z      \8f\e-R%Ú¦È\10µ\8b\96\10\1fÉ\10\ 3&"\91v\88\9d×î=~1ñrü9^\90;ÛV\94Ú,q\1aµÎl-¬mA\1fA\ 3âxñä'\12(+ìf%\f\bÀÎ{o=\99sª\±&I#\81\84"3¤å¹\9e»^
+\f®WH$
+Cjn5`Ý©ËCS\9cjÉ´8¥\ 4TjÉ®pÉ\10a\ 4\ 3Û¡OI±<$CT\17&\16²÷§ÕeO\89×iã-¶\92\ fÿ
+Ó7øÃ\94\e\a:E      E\8c\13Jëôç\9b\eJ³L
+~dhP`p(\83-\90ªã\933ìù¥5ËV­oëìÞsàØé\8bý×nýøË3\aöCà »\80Ò{þ\ 6¥\9b\95<|_3Þ&Ã?Ï\98éé\13Ä\14é xb-\80/\90\842Dy\92\ 5¾ôøÃWP2äLqÃ×o&\7f{\ 1ùðòé\83;·¬_^U\9c\9b\99\96\94 W+eâ\18\ 1/\9aËa³¢"\19á\10.\83\82Ã\98<yÂüEËÛv\1e£x\99P\1eD¿â\f\83\98\9c6aðnÜl÷ó¢\9b\82\16jOT\89¢ÙÜ\18\15YÚ'     CQíÚOÚ\85d\ba/Â}\7f>y11á X
+ÖS\84\13\8a\9e\ e\94d@\80vHæ-Í2RÓ=Ãy2\94ÖpÖ\9bz2W\ 2Y\9ceR¡\84¢\88Ïp\9f:ú¥+ËìÉ:¹D\1a\e\9f\9e\8f\7f®Üzð\14\10J\8a«+s,:¹X$Ó\ 2¶5muÉðÙ\83[WNïß¶¶*;QÉ\8b\bÄuñpò¢\88e\8cÔu\ 5ànC]qf\92A«MHÍ.oì@Ów\17Ó«\e\9dªÄB¡T\93h+EHL=§C\16r59\8f\19\1e\1a\1aÁä
+eêø¤ô¬\9c\82\92\8a\rk6´\83\10{\8f÷]\1a¼q\8fÒá+¤¡Ë§È"\80\r\14èý.\19¢Ë\vaIâ¬\8b\10\91 _À        åÉ}êö2ã¥läI\7f¸×\9d2¤Ùp\88È\10PìÎw_\9eøGWkcu\91==1N£\90Ä\b¢¹l6\8bÅfs8X\89\11aaá\f\10\ 4\ 3\99vÏq´\85\9e\8f!VÂ\94G²D\10\ 1[8=Ýn÷óbí>\1au8\9e?¦-4˨\14rX\1c\19\85¦O\11Ê?u¼Äíê'íB®\11ä7×/8R \86\84²vû~Ø\8f??\1d\e\1fÇb\86TJÐP¥6$ÛJW´ïr\rÈ]ª\1dÖ8  +\84°\8eë\a|\ 2YÏy\93t
+%±\ 6¦Ê\9a D       %Ö\989uêÐKwµ\ 1û\9952 N(u\e»qBÁ*½÷=¨tsc\99-Q#\8d\89\91j\93ì\15´Ë;¨­u\1aÖ@%\96!]\17$\14\9c¼nâº\90Ô/\9dØÛ¹\ 6ê2é4\80¼\vª\bòÞ§èô\9b³\88«\8b¬    ±\92\18\91B\9f\9a\ 6\1c\17©\18=\1fù\ 1¥»Mõ\85\19qr>\8bÁ\88dóÄJ½)Åj[PP¼¸¼ª¦vYÃê\96öÎ\9e½\87ÿýÅÀн_FÇ!§¼&À\0`\añI\v<îãù.\19â\84"7f\95""¹týG\9cPÀP\89'A(\14c¼üÃ\94\83U\ 12\94\19³è¦ÿ:þz\12N0r{ðÂg{þÞ\[\92\9dfÔÈE|.\8b\19        \150Y\1c.\8f/\10ðy\v\14\93ÉâI´\96\9cªÕ\9d0ß°\85`IQ\94·\8e@\\0\1a\97I&òÃ\1f,m¤µëpÐ\16úa±5\1en*\8a-P\9að?ø\1c\8cîéØË\97Îva×\0\19"*\15éÒòk\81äû\ 6Ðf\1fwÀ}\7f{áØ®\8eƲì\948u¬:\ e¥R·\ 1\81\9a \1d\eë
+Òu"z@¦\9d,\8c#''û\9cü'`;*\81@
+\95\93ìd+kü¿\97nª/²\1aUR±LmÆ*=z\ 1\12
+Ré#Z¥Ä©¨\80ã>^\b\9e:×TÚ\89\fq]úô\82Ú\rݨ®\87@,XGç\8fîlo\80º(ä­qÑ)áj¤\96\ 2\14\92Ä0      \19\88\90o\12î~HbÂÒüt\83\Àa±À
+5      \16«}aQIYyEeeeUõ\a\9bZ:>ÚÝ{ââÀ\8dû\0¤ \ 2\14\vqmu\85Ô\85½M\86\18\rqBIÌ®\\rDò_\8a|q°<Ô½\ 1{\12\11òÛe\18Â\96\ 2\8c4nÞs\1c5Ýñj\12\ fÂÀÙ#;;VUåe\984R\ 1\87É\b\ f\v\ 5÷\8bâð\84b©\.C\90Èåò\10\ fç}°î\7f\8c\97\89W\93W\1aÆOçÌ9Ó\9eig¦* \ 1dM   $!      YH\b\10\r\ 4\b\ 1\f\ 1Â\12\90%,
+\82(\b¢,#*\b¢\ 2\15µ* Ø¢¶\8a\ 3Ö¢Ö},v\qª\88ì\8b\10¶ù\13æ½÷û\ 2\820gþ\80|¹ï½Ïû<¿§º\91\1c\9aDúJB/\b(>æZüØ_®¡8¡ØÉ«0i\17=&a¡Qþ"W'[\e;\1aÇ\váQ\ 3zmÈ¥\99)\92u    ×°6_³Æ\8câÈ\92\ 4\11\18'ûÄp/´\85¦£(»|\84\w¾Ä/|\ 1Ó\16\17dO\9av\93Ç'\19c:\19Õ\9d¼ÉE¶#j\8d\16Z(4\14W\81|sÒâÉÉ\8fÖìI\8fTJ¸ C\81/\11\88\80u\83È\89\ 6z\1eÿt¡¶\ 4\9b)ÃÙÙ\15©8wÙzÁuåa\19\9aæ\92\ 6Å-Î\85\82ýÙÝöÆ\9a\1aB\1e\v\8cJ7uBÌÕ°¡P\92Ò"\95^|6Ë]\84B ¬\8e@Ã)#\92)Y¢üİIN4\86»ÈG\19\1a©OJMÏÈHOMIÚ\92\90°%9-+¯¸¢¾é\87®G/À\83gæçÁËpÚ\97dF+EÈË`oW\91!Bï\b®N-D'{ù~|zÎTÀ\96xÒJ_\80ß\13\19\89X\1f\9bá©Ùù¹iÈÀ\a\1d-µ¥Ù°\80°Bö6\96\16æææ\0\15\ e4&\9b'\10\8a\84\1e\6\93îBwãË\82P
+\9dï|\88Rh\8a@úS\as\13Ô2¶£å×Ki\80hTk­i<¹ÆP\80µ\8bnrrÁBµ\9b\ 4\f\a\ek[*!±oÈö\81ð\88t\8d0h{Öæk×YØÐ¸>ØY.ßz\ 2<óáÃØ\0 õåS\87òR´þR>\87Ã\97*#?]\100TÔ\ 6¬\96\11·éd(\10\8f\16Øî\ eÁvr\81\90%RhÉ\93\7füÑÝ)á
+1Ç\95É\16\ 2ûí$±nbq¿¶ê\ 2$ît\9a3\93ï­\8eÏÁ2}\ 38kZ¯Jr½,Ö\91s\ 1\1a\9aæ\9a\18íïùµëâÉ\83»\92Ãý$|ww\81w\90\91Ì\88zw®ª0-*P&äñ\84²\80\bC~ÅiôóÁ £q\92¬\7f»\r¨%1\ 1\fx\9e\eUZ½!sG^~þ®Üí\19\86\98èè¸Äô\9c¢CõÍWow¿î\1f7\92\91úówõ\90QD¤®&C\12µÌm\99"S[íA\reÎh2\8f\15¯|¹\fá÷â\80\98¬R\f<C\1ffæá÷ ã\8e\96ã%ÛãCàú\9d6P,ÌÌÌ,(\e\1c\9cݸB©·¯ÜWæ)à²Ý`÷|Õúí¥u°ºd
+ýÞ}³íÄþ츠\80R\8b¿a\0["C\G\ 5\8a\88t\88SR»\8b\16ºÙ\97çbgM±qt\13\aDã¶\87>k4É\10\872\17µ=sK;\86\0í^5 áÓ·\83c\13ãC½Ïñêl׫åBw\16ÛC\16¨ûdAPçÅ­mù\82\90]\8f.\80 ÿ\98íÈZ\ 3lÇgÒ¨.lOeTÆâÉÉ\8f\1eÚ\99\18\ 6\r\85Éd\8b6\ 1\97áXÂ\81        Üö°\ 3e:\92!\ 3Ë0XOò*hdq®$Ó\\14{\86P\81òå\;1רàÛg÷þqþXqV\9cÚ\17æâ\b ÷\17®\ 6Ü\8e¸¼ªÂt\9dJ.\11\89½\14¡ú¬}G\9b®Ý\83#@Á\99ÄMãLe>l§\84Çvcó¥\9bÔº¤Ì¼½eå\aÊËöíÎÉH\8e\8bÒ\86\87\19²\8b*\1a.tÜ\7fÖ\8bVdzb\19Ù­"CT<!\93\ 1hXRU\1c\f×F6\94Yãh/^â]\89¡Þ\1c'\88Æ?­"ÃÏ\88Ëÿ¨\1e\ eL\80\9b\1aq(·Ö\96\87\922\ 4/¤@Áb{H|ý\ 2Uª@?¹\97\88ÏåzH\14\9b·ä\92)DÔ2\84ô\v\14J\17d/R\82Èê.`íNM¡na²PwÚ\ 6\8a¥\95\ 3\93ä>â¹Q²<'*
+\bÕÙÖÒb½\8d\13K\12\18\93Y|¼¥óÁ\8bÞ¡±±\91÷¯»o\ 1È\17¤F*¥<\96\ 3\9e+kÉ\82àÖ¶Ê\82\10'³#\17r\81íÈZ³=VåÅeШtw)üi)yòÅ\8fæÄ«¡\820\98\1c12Kh\17Øæ\8d Ã\97X\86[uP\1f\10\e\82\fãàP81ǧ\96ÎåbKYoiCeK\83b³Jj[;\1fÂ\£cÃ}=\8f».\9dªÈ7\80\8c¸nh®à8\\92º±\92      \19\9e;R´-.Ôß×ÛG¡Ö¥æ\1d<ñý\8d\7f\82Y\1agf\90\fQq\83\82\13\80ÝÒK\11\12cØQT^}¼¾¾îheYaNZ|\94&D\1d\1a\1ekØQ|äì\ f7»Ñ«L#bÇD±M§\141lÍWaC¤B0ÿ¬³\ 6\e\ fK$º\13j(ó³S#ð®\97\89w\85Íÿß2$C=\8dÀ\8d÷cÆÙÙéq S ýòÜ$\8d\ 2\872\85becG\ 5ªðöS\85\85Gh5!\ 1\e½Ä\ 2\81È;@\9b\92W\81S\88¬m\18é\89vµnÙÑ\17X\94\80\80\9bÝ\88 ¦&ÀB»ÚNü\1d\14"e9Y¯· ØÑ=P[¬&Ú"
+¿¾ç÷Û\e«
+\f\9a\8d\1et{k\8aµ\9d\v\ f29÷@CÛÏ\8f\r\8d\8c\f¼yv\1fÌ\10o\ e2&\96À'$>\a\91F÷ò\ 5Y¡µá\86\82Ê\1aP2\84æ%r«L\r\ 4\85*\87N¥1x²`ý§\1f\8c       òâ¹ÒA\86~\11ÄE¾DÛ3\85dØ       N\96\19«òö`1\18\8d\98m`Ñ\1d\ 4Øap[2\97=\9d\8frýàÉ\8b]x®áþßÿu÷Zó±\92,½ÚW\0\9fpóðQëI\82B¼29
+l\bH\\92\9d\18¡Vú\a\84D&e\17×\9c»òËo\bgfI\19\9e9\\90\16¥\92\9e2¿\90èÔÜâÃuß6µ´4\9f9qd\7fAVr´&80P\1d\1e\97\9e\7fà\9b\v×\1f¾ »Í+T0\80Øý\84ôU*Êg\84
+¿øòëõv`\1dhøFx³¾±é¹ù9\90!\99%H\86\14\1cÊ+V\14\qÖZѸ¾\9b\93I\9a\a<\9dE~\f\9cuº² M\17$ã»Ò\1cííì\9d\X|\89<0,26>A\1f\13\11¢\84¡ÄR¹J\97VXu\8e¬m\8b\91óh\9f@)YG\1dÙ2uB.ôEX\eàüŵ\ 3\85¸:X\81ñnp&\0       6ë·7\83ã\1f&FÞ½¸\8fúEªV!\84\12³Á\8eÊ\12û\ 3úU\9d½rûÉë¾Á¡\81Þ\97`\1aèÄ\91\ 1R®+\9dÁ\12àçÄ\7f²dA"Ñ\82,¿TSwâ@wÚ\ 5\rä\97§oQCY¨5\80÷,\17*\8dlº§\97\7f4#J       ¡ëÂ\80Â\16\99^TÓ\8c\18\18
+fÃV`ìøÐ\8db.Ë\8d#ðQEg\14\ 1IÜy
+\1f\80
+Ô·l.\1a\8aýô=Õ #<WÿÛ\17\8f\9d<\84ÌÐ\93\83[\ e\81\97\ví\r\9d±³µ¾</M\1f±9L£KÌ,¬hø®óÁów£S³s`I(\94ÏVïÙ\1a\eê/÷\91û\87èRv\94T54_¼ríÚÕKçO\1d)ËK×k\83\ 3@ÁQI9%Ç\9a\10\r\fÁ\9d\ fÃ[\9a:\1dXÊJ\ 5\83Táç\7fþ«\995\15j%8}mëõG\b\rçÿ\ 32$\90\ 6»¡\93ÕÚ¯¾@«¿¢¡¢Û·tä\80.PÁëÂF?3\r1ùôn{Ó±\92ì\ 4\8d¿\97\a´\11:\93Å\ 3+Tkc\13\rii\86-1\1a\95Â[*\91)Bb·í­iƵí#¤\a\1apÇ4°\14\rÿðÇÏÉ:
+ª?{u\81 pt\15!\veØY\9a­3·vb{©0DA]|?2>>ü\ e:\13ñÞ\9elgG\a*\93ï\83 ´¶¥ãÞÓ\7f÷\rô¿ëyr§½ùx)¦Y\96\8b³\vK¸I\93\92\7føìÿµ dC±BÝ)\ 5\85*6áÉ\ fæ\ 6¢Ù(t\83\86â&ܨIÙ½ÂGµ
+\11\9bîLg\8b\91\f\8f\82\fQ}\80\ëïy|ãû\13å;\93µ\ 1ÞÐryb_XÛÝ\95§/Còõ\8fN,\9dËÅÉ\11     \1dL¼¬®µó>ÌÕÿ¾÷U÷í+\8d5û2ã\82½\81N\1d©\f\1eÈpGùI\90áÛáÉ\99\19ã88ö\8d¶S\87÷æ¤&ÄÆê\933ó÷\1fküñæ¯\90úØ\92Fß=»×Þt´\18¹e 2(T\97\9c½÷pCË\8f×oݹsû§ÿÒ]&þP®m\1cÿtÞ¶·Ó¢N>\94\92%\99$Y\8f=\91ì;5Æ\14Æ\9e\9dÁX\ f3\8c\9dC$[¢\94¥lEvÙ\8dÝÐ\98±ï\14§÷Ô\7fð^÷3zßÌÑ\1f0Ï<÷sÿ®ë÷ýÖ¼ÌKýÃß\85`a¤o`bãà\13\99VTÝ>ÄZ\ÛX[b\8f`P\89\80á\8aÐ~\9e\v\17
+\\88Rxö<p\14pqpBÞëV\84\86_¾~\8fa~B\90\93\ 5"_þSÇ\8e\1cÜ?\87\10\92Òj`\ 4\88³z\99Ð\15hÓÏ1û\1aËó\92Â<\1fXêßRû]IIYMë\8e±µ\1dÉÝÛÏßÏËÍþ\9e\99Þ-MÍ[ú\96\ e~1@\95\80ô\10CÄJ\90\7f\83©¦\8c\98 \1f\8f\aìÑQ\8c\ 1P3¡Ë\ 4@J\rsµÖQ\94\14\16øíÌÙs¢Òª`]Q\19Ïßu\8fq\96ÖÖ\96g\99½°VbP»)Jãp×äÕõA\b\13ó*\9búƧgçf>\8et¿/ÏM\0\ 2ÒGõ)\81\93\81~D\7fÂë¼?\19\90]wR\ 2wÂbÄĦ
+\f\ 5Ak\10ÉB[Iú
+÷¡Xéò<ÔÙ\12\10
+\8e\eÃÿmÃmn«\14¦\84Ã*Ò»©ª¬¢®c\8cw\r¦cÍ\aä·÷\ׯ^\95VÐ0Ä»CN_7£sÍr¦\86;ë_æÐ\83\9cmî¨È\\11\13\11¿*\8fb\18\9f÷¦}\98ó½¹\86ÚkJ²â#\ 2½<Ü=ý)Ô´ü²úÎ\11à\1d´\92@W!é/³é°ó`[ÚØ9û\86'>~^ÝÜ504Äèn©}ñ8!ÔËÞÆÔÐÐÄÚÞ+<¥\10Fd
+p`yn\8aÑR\99»»Ëv¿Ø\9e\ba«ðÐ\91\7f\1f?uö\9c\bNþ¦        Ñ+*½\18\94qfõó\7f¾}ÃJ\19\ 4.)ÄÅZ\17ö\8bÀéãG\ fó>c7\86ÿ:Ì\15D°Î°\94
+6ÐÚ6ô$k¨£öyV\1c¼¼\8d©¾®\8e\8e®\81\89\15ÁÁÍ; \98\12\12äçá\88Çb¨m`M
+\88\ 5¤\1f\98ZXßÚZ_ü\88!½/ÑHMZDà\9f\86²GG!»\v \9bhõvì
+\95\9cÄ\ 5þÓ§Ï\b\bã\14aïP\92
+Þ´¡o²²4Ëìo*Ë\89\v$Yêª)ܸ¡ v\e\840:£¸¦m`\82ÅaO\8dö6¿y\9a\16å}\1f-\r      1qÉÿ;-\93g@4ö\19\10ô\1dÀ\9d¤T\f\bÞÑYÈÕ\16ÖÐqX\bZãüíMo* C\91U\87á\807oà\9d:3-\ 5)\89Ë\922*ßÙpb\ e\8bá2l\14h\15\1aÙ\95\80}/-]\93{Nþ1\19ŵйó¼ç\92\95UT¿céèOÍ,©mgL°ØÓS#=\8d\95\ 5\9e\9ar81aaQI¹\9b¦°\rsw·!Àß
+g¬»¡¼ \83\1eE      "\87DÐR\1e\97T5÷\8e\ 3ï \18îìÙ\96D{\17oJlFÑëÆ®ÁñÉ)æpOsÕ³\fj «\9d\95©\89ù]\aï\b\14CÆäìâÒ\ 2{\1cÊ>+\ 6î\12\9c\8e÷\8bý\98B>H¡¤¬ºþ]\97 úc\180\18Á\9d¿¿¡mÈ\19é¨)J\r÷À\e¨É\88\v\9d=yìÈ¡ýÖ!
+\ 6*#    9-sÇÀ¸\9c²Æ>æ\1cêÉÍå\19`\92×E\19±\14ogâ=kKKk<ÑÑÍ;\90\12\1e\19\15\11âïápÏô\8e\96¦¦\8eÑ]ç znE\vããÂúææê\1c 9P­\97­¾²\14\97jÿ©£\97\90\8eú \87Åt\14\19
+èf.=À\1e\12"~þ7¾S|üB\12² \ 3þX9\8dMÏ/. ô«ÌO¤¸Û\1ak«+«hÜ6%¸S\12\9e¼ªÿ08>õqr´¯µ¦ä\11-ÐÉJ\17\96\86¨\88\98ä\ru#;\1f\10ÎÆ~HÌææ\1aªÇ²ÇT_¢á¾\ 3Âu'i5£ûÈB\9b\ 6Pen"HÇv\15ÑHC\ eVìU9Mcâ®èþðP\9aï}c\rY\1c \82´².\98Õn©\7fÚÞÞZ\9d\19ïy_\9e\97\1cáë\8477\80\83æó\ eOΫhì\1d\9eKEUS×\8cø0,)¯¼¡spbê#s¤\17Å$Æ\ f¼Ké\9aøÅóBÂ\bÁ¾+
\10à\ fÞ\92ÑVû2?#16&\9aJOÉ*|U×Ú\ fËv\v\95òÎ&Ì\12ôú#z¸ÿCWWw\9fàè\94'¥um\ 3ã¬\19´l»\1aÊò\92"|H\ 4\95~QiOß´\ e09só3S\83íÕ(C\80JW\85y\9d\8e\eCHá±\13|üçE$o¨êZØC¥Ã¯!
+\e;\7f\7fýúå\13\17í20¢PÀ]\128\rtxp\1fK9À\95\ 6Aøþ\ 6\ 4ÏÈt\ 4Æ,¸\0p\82yÖpgCya\ 6\1d\9b3\89äìæéK\ e\8d\8c¦Òb")~n\ f¬\8dt4Õ!\86÷\¹<\0÷¶±¾Ì\ 1\ e)N\vw·¹­(y\81\97\97-(z]\1dt4.·\12é(p>¦\9beÙ(!ªÒ"\82gN\9e8yFPô\9a
+¦ O«Z\a&س³l&£­º(=Ê×ÁÚHW[GÏ\14\ f8ý'6Õc\13ãý­P.ñ!nà'r8Qaa\98N\rc\94¨²¦~\ 4\97ë\\bË\8cúAû~áu'A1\19\rS\84ÿ\95hªÐqf\0ýJþ\8c|\88×W\ 5r\93\90\92\ 1ÄÚ<ÀóP\ 3U\b¿èe)%\1d\10¤8#lP\98í-\14\91ÖjÈ@¨7ÉÖÂX_\ f:\85è\1eDË,©ic0yÏ¥££ofëJ¦e>«jî\1e\1a\9b\18\eêi©\81J\ 2´\ 4E\92¸xN@ðÂe\19uì`åÍ\fÖ\12\ 4í\v4?{´§©º´ +=9)9íQnqÅÛ¶¾1öâ\ 6R\94\1dØÈ£]õeùé±ád?_ÿàHzFay}çÐ$g~q\9eÃd@¡?\8a\rñ$\11        v\ e\1edjƳêV\88(\87\8d0§,\87N&!°ãÂô\9e\0¡e\b»p7\85*:fv\1e!ôì\17o?\f³\167¶¿À\0l-sF»Þ\95\ 6:YßQ¹..Ä\7fê×£?Y\87\90\8c\17q\8aà\95d`\96\86\1exÿµ\r\0Ô\19&£ã]ùÓ¬dZ\ 4\85\1c\18@\ e\ e\8d\88¦ÑããéÔÈ`o'[3=-5Uum#<\10Zþk âù\95Õ\95yÖP\e\82\ 1gË[ò\12Bg\8e\1f=ôË\ 1ÞËFBdN
+J,¨ê\18\ 1\1dýüi\rÓM¸L¼\1e\1a\13Çáh\17%åo\99;\ 6вJß~\18d²Ø¬      F{\1dÜH°Ç\ 3\e3\13SK['\9f\88Ä\9cÒÚ\96î]Ä)}\92\18æI\84J\96\12»(tADRN\93\9b\98¦þÉÙåÕ\95\85é\91\ fµE©anû\rÈ\81\1fÞÌ\91\1c\9f\a1\84㬭,°\86Û«\ 1Ò]­u\95¯_\81\18*ÜBzð¤¢y`rnÏCu\7f¿&~é\92\18N\1eµÊ÷\1c\83ã¬Á#:ëË\vÒ©Á\9e$[K\13CCc\v<   ¹ì+H\ 2÷\\1du/¸ç271µ"8ûE&羬kía\f\ f\rt7×\0ºQ<\bF\9ar\92\97\90¼\9d\17\ 3j¶ÃÀ\ 1\90\ 6®ûË\ e°õäà\87÷U¥Os³\1fefå\14\94TÔµt\ fOÍ­\80mþµ\8d\15[Kõó\9cÔØÈPJh$-9ûYåûΡ©\99Åå¥ùéQØÖù©\7f\90=]HNî~áñÙÏkÛúÇ&±\82©*J\8fô²3T».vîô¯¼h\b<}ð0jd,\85Ú&x\97\80è´\82\8a÷Ý£Ó\8bë\9fvþÚù¼¾8=ÚÕðêIb¨\aÁø¦\ 2\ eV\f\ e\7fÒÊ ¯â2ê\86\ 4Ï\88ÔÂ7Íý\13\9cÅ\95µÕ¥9ÖX_Û»\8aâÜÌ\94øX*\95J\8bKHJNIN¤Ç\84ù»?°2ÔVSþ/ÛåþÏtûÇñÇãÛãî.Ý9DBNå\94¨\14\9d\1cî\9b$\11\85TÊסR$\87DeÈqNËqN\93Ù°\196æ´\ 3\9bmfll\8e\v\11â\96êþ~ÿ\8aïûÚJ\87oûu\8fÇõ¹Þ×õº^¯×óÌy÷/2äÉæ\96×Ö×\96f\ 1lj±\10¯n',~Þ:ºløÖA«S\1eAQ?2,²Ð¯
+ÑÚ£±Gs\9fáácç/ß\8aI\85|â \1a37-\13öÓê¡á<\f¿}+$ì~|*¶¢±½\8f/\1e\1d\93\88\ 6º©\ 4\z|x\80çY{K\13C\ 3#3ë\93\7f^\8dHRÕ\8cÙ¥5Uø\rÒë\11l|#\94ïv¦>\ 5è&\ 1÷R
+ëé\83Ûã Î}\1a\1d
\85\95\9d\93\aÈ\14d8\80\16]ß^ô^\80\87ã\91C&ÆfÖ'À\83\13²ñT\96dfi}ëÓÇ͵ÅéÑAÐ@qfrLÄ­\0?__ÿ Ð\aIYeD:W,\9fQ*§ÇE¬64WtÄ\9d\90ÛaQ        \98|<\89Î\1a\1a\19\93JD\&¥¶\bøæª\87ÓÑCFû÷éè\19\98\1f={       a\10°\17
+~¸î\7f>ÀGÆ\ 4¬ÎVòëºÚZBC\13­\8b-\18\9bZXý\e*Ï?\1f7Þ)U\86
+\9b\9d\99\99\9d_RCî`     Á\8bW×Ñ\88²¡îæêÂ\8cäøÇq\807%õ4°RÅô̤TÐK­Á&ß\vò<­Îä\9f«!2C\rM]\ 33ëãgÜ}oDÆa
\9aº\ 6$\93\v+\e[\10¨[\e\90ùí¯_eÄG\ 4^<wÌÒø«\1dþ:\95µõ\ 1        .\ 4D&å °\80\10\]\87\87²¤T\8c\ e¡áêkðåeeeåå\15åe%Ey\19ɱ\917®\p9íèxöO\9f\9b\ f\9e\17\12 éLÍ/-¿UÊ\85¨\vÄÝAñz@[ã\a0R\17Q=c\e\eÑ_zü\a\15nNn\13\8a¥\91î^\8dÝðÆôMmÀzÂ\13\1a\19Üa\99bR.\15²é¤Êü´¤G\ fîGÅ$Â\89Õµ0ú\a\ 5"!\8fÕÙR\87ËH\88\fò\82è25Ô×74UË0¯\86Æ\16\81\9d\ 1qöS«r\12î BÑù\89PT2\84\8a\1ddX@hçJ¾\8c#êk©Ì\8a\ f\ 5>°µ<\8cd\18 ªÐ\9c\91\7fi{Q?7\a\83F&\16ö\88QP\95\18\82\9a¿þ÷æÆêâ\8cTÐ×F¬Àb\12¢B¯ûû\öñ\ f\ e\8by\96WIîä\8ae\8a)\85TÄa\90 ¹%Å>\88zð(15·\94@édó\85Ãh®æZèmá\81ðº Òt´´tT7u=ê\ 5\8eØ5$_\0Ûùï\7f>\7fx¿47!\1eì¥SI Ã:\ 2±©\8d\89t8ÿn}skkóý²R.ævQ^Wâòssò
+J <öð$p,«kpÉ\13"\96\9ao\9e=Ãd\15áI\1dýC\12ÙÄø¨ ¿­\1e\97\16{Û×õ\ 4º\95_d²Ê\fõ\8d\9cܼ\ 3ÿ\1d\93\92]RGa\ e\8cÈç\16WÞol¬¿\7f·03.dµ\13˲\9fFÝô\ 1Ä2SÛá¯!eç`\87ÎÞ7\1f>/¨¡ô\82'Ï/¯¬¼[\9a\9f\99\90\fqzè­Í¤\86zB]mM5¾\f\97\9f\89"ÙßÓÅÉá¸\83\93«w0£Ö~áø´R9#\1fáv¼.N}xã"Äë~õ\vúöC\9fÒÜoj{öRH,à&ç\enª    ÅO¥\90?vÿ¾Kc/Ø¡ý9¯àûÉyxr'G(\19\e\e\11°Am¥yi)O\12\9e$c²\8bñDjg\1fg\80Ëîn'W\17e$ܽîíâ`\rÑ¥«wÀ\ 4\1f\9e\98\83G\1135§\9cUH\ 6\18Ä\924hyçìÌ~~Û*\19îUËðîSì×qfa\1cz\ 3\ e\13\eªßa¨~Nî×" (Pz\ 5²é\1f\16=ooal``dnëä\11x7\19­\80Ê×ÊÚêòü´TÈ¢\93«\8b_>\8d\ e\vö¿ìååí\17\1c\1e\9b\9a\8cæ\92J%BNW\v¡4/=åIâ\93\94´\1c\u#­«\9f;8ÀîAs¥ÇG¨^\97±¾\8eæ\1f{µô\10N"\9f\a$E\8eûá㧭͵¥9¹\84¯²ÃÚ*<¾\9aÐHeôó%\8a¹·+\10\ 4+\8b\91Á\1eZcMY\11677¿¸¼\8e\fíqtR¹¸´\ 4ÿ\89¹\9dÍu¥\ 59\99\99¹\85å\84fF?O422Ìë\83*\91¥b#[³\ 3Úðnwü_&\83\19î30\ 3<ñô\ f¹\97\80Á\96×S»8Â1ÅÌ\9b\85·o\17\17\94Ó\13#¼^ZCynJôm\7f÷Óv\87\8dt55~-C´\1a²C\9bS\7fù\85Æb\8aê¨=üQÅìüââÂ\9b\19\85T<ÄícÒi\94frãkBMeIAÖóøû·¯^tq<~ÔÖþäy¯ »à¡ð²\87¥\13\13Òá\81®¦Ê\9c'\11×P«ÕÓTsÑ7\15¢\1eªonwÞ\ap\13àA6ÿ~ëóç­µ7R.­:;\1e\ e,tÏ®\9d;wí\81¾jíàæ\e\12ý<¿\8aL\aÓ\13
+x¬.j\ 3\1e\97÷2\r\93ö2·¨¼\8eÔJgöô0;(\r\95\ 5\91×½]Q\81ÒÓÑÞ§o\f@y%4îe)\91Î\16\8e\8e\8f\83Ý-Õ\101\81\17\9clLÐÎvüJ\86è\86\13³+¾\8dÃlÆç&ÝE\98jinnaëø\97\7fXB&\90\11G46>!ûºh\10\\95¹¡þþ\ 3&V'\}ï@¹i £*ñf\ 1ÎP>:ÔOoªÁA*\87\ 5ûyy¸{x]    \8e\88Ã\14V7Á\8d\vEB>\9bÙJ¬Âåeªæ*® \90i\8cîÞ^&\1dæÊÇÄE\ 4]r\ 6¯\ 5Ì\84\82\9eç1g\9f;\8f3ÊHL¾:·6\90íÀ\85÷1(ÄÚÊR5¦\90Ûº¹"Ù\94r\ 1îqnJ6<ÐM#\81\fó²³²ó\8aT:äK&à)ÍM\8d\8b\aº[\89Õ¥E\ 5\ 5ÅeÕD*£\8fËãó8Ý \9f\9cä¨\eÞÎÇ-À\f\7f<°¯\99¼GKÏèðQGW0Ã\87Iéù â\8e^®@<6.W(\14\13²Q\11¯\9f\ 1O,çYLè5ϳ\0)zZ\1a?ëù{;ÜgxÈîÌ\85\80ðøôâZ
+\93+\92ʧgfg¦ä2\89\88Ïéëf´·¶\90\1aêð_TxÍËÅÑÞÆÊêÈñ3\1eWÃâÒq\ 4*\93Ã\17\bxì®\96Z(¤!>.°wu\1fUÿþ\ 5¿\1dhßÚ\bGýÂ\11\8eòå\8bë\1f?\7fÚ\\ 1Ül\ 1\1c½é\85,TSã÷ß~\ 3·×1\0kq÷\ f}ô"¿\12Ù\ 3\9bÃêe´\92\8b!Yr°E¥Uõ$
+­½\9dÖB¬)É}ñ8\ 2©ð\88¹¡\9e¶¦¦¶ÞATvCbR\vkZ:Y<\81\0®\1aµÇÇ\10¯'P5ü\81P¶ehéàæ\17úøûq \9aa\1e!@8rÈÔôÐ\91\93n¾w\1ea\8aj)]l´(g{Q\a+\93\ 3ººû\r\ f\1d\89\1ef\ 5     É\7fB1©\18\97\b¹Ý´Æª"hµ¡\81\97=\\9d\9dÝ.ø"\1d\16à\eÛ\98,\ e\97Ý×ÙJª«@\89\99\8b\ 5\93©m\1d\1d´\96Æ\9a\92\9cç±áA\97\\1cl Î45vïB!hf{Úóú}\88 *òäù·Ë\0µ³òQ\ 1\87IC§£ê\7fX\e}3½\8f7,\95ONA\9f\11óû;)\rU¯°Yé\18Lz\16\ 4\1c÷\7f|W÷WÓy\16=g\a\90*U \b\18\14A¥ÅB\95" H/A \94Ð\13\b¡$\90@B\b!\ 1\12Ò;\ 4\90\92\ 4\916vlã\99q\8f;ã¶3ggwv÷èìxöߨ÷I`\1cÁÙÏ\ fðÃ\97óáÝ÷¹÷¾û6\1f\80\0W ¾ÕE\83F!\93)5\86\85åµ»Û»;\9bë¦\19\ 5\9fA&\14¤_\8a\84µÑíØáHg\8bXn^'`&ǧçU\10ÛéCc2Ý\9cÉbݹÿ\b\9a÷ôéÞã\a_n\82Gh \17·\ 3\r\93bmáð7hh3W0ûðX°¶&Ø?u \95GÏ_}óú÷¯¿yõòéã\a»\9b\e\96å¥[À      .\9aÈà\85\97¢Î\86\9dÂ\86\94VPMb\b\143¦50&ëêÒ\94\84ÛÛT\9e\9dp\ 1\e\0ãÕÉÑÑÁÁÑ\11ý\84\83Øå\13\14\8eË(mfLÎY\9f}û·w\1fþûáÝ\ fß=ß\\90²Hø¬Ë\11'!\848Á_¢ì\vKabvi}çà\98°´²¾±qgÕ<oÐÈ%"¡H,Sê\fs\v\8bàÑz\85p¸¯½¾<÷ª\9d\85\1eîî\9e¾\98°èÄ\9c\8a\16\1aO6m´X77­\16ã´\8cGk\81\957
+{8\1aþ²¢@2É«"1ø\87àà¯Ãâ\13\1a\f\eHlJîÍÖ¾Q9¨Þ
\ f.ÍI\8c
+\vÚwá¸Ô|B;s\=oÙz°÷üÅ\v ó¦e       Â\ 4«»¹ºèzjâåËñÉ×ò+\1a©,\18bÆÕ\8d»w7,æ\ 5 \81\1d\97Jg¸µ°´´°\8f«®,'\ 5±\10¦\99ó1'h\vLedô \96\99\95mp´oßþñ»?¼þjï\1e°P/\9f\18a1èô¾\ 1\ e\995ßÙyøôÅË\97Ï÷\1e\ 2Óç÷¿Òè\f\16Od7.(\10>îZW\96\1a\95
+\8dsãmËÚÚªù\96NÂë'£Qz!\fó¹D÷\v\rã\81\86øzRÏà\88\85\v\96W×ïXál¬\83\eÔ\12>«§\95P\9c\95hßQ\8e\10úW÷¡\9d \ 2w5·¢±\vº3k^ß¾ÿxïÙ³g{O\1eÞÛ±±pnJ%\19ãÀvR]\9c\9drñü\99Ð\93'\83±\11±I×Ë\e¨\83crýÜ¢q   þ'\88\1eâh*."ä\84\97»\8bó1t\9c\9dá·\93\93\13d¾ã~Á\11\97³ð$\96taëÅÛ¿¿\83dóïïß<¹3#ìo*I\8f;\83ñ\ 6£røÂa\1f!\_\ 6Ù\97'V\ 3<\93  \1egJ£\90\8a\12\99B­ÕOMé &\8c\f id'ã\10\v=Ý]]\=¼\ 3N!+­í`\8eJµ³ðªó3 É>\12\ 1|\r*;¼öÙiè\1d\b\13\8cx\18N5Jר\93\18Ø@¢â3Kê)\ 3|\99n\16¾/|¼\14\1cÃÛ󸧯ÍÂKê(\ 3c@1\8bukgg˺¶<?¥\18\1f¢\91êÊrÓ\12p1Ñ1¸\84ô\eø\ 6
+sT¢\9d]4\99ÍÆ_áRªuSv\¼\ 1[\bO\ 6\16b\10\vAÓN¨JlTÂu|3mD6³|÷Þ\13Èq/\9f?y°\r#\#á³éTrkK+\99Jgó%Ú9\13²¶Ý\9d­\8dU#òÂafo'\99Dj§ÒY£bõ¬É\ 2_¿ÜÝÚ°\98æg\10\rÕÚ©\99[ûÚ\9eàÐH5Å\99   ÑöIz\84;\a4<y&êrZn)¡©\83\15\88¤J\8d~zfv\ eÎì\8cA¯UJ&x,Z;±"?#>êÿ\fåý\95Ç\ 3\8bWsñD
+¼ºfÖ¸rç.4qg{Óº¾j·B!o°\17Rvaf\12îÜéà@\7fÿÀ`È\ 5éù\95Í]\ 3<¡T©RÊ'ùìÞ¶\9a"[\1aE\8c\0J¸º¹Ãqssuq\ 1~\0ÛÏÇçTup\94¦ÝW\7fúÇû\ f\1f~úñ/(\1aò{ê
+R¢Ã\ 2¼P\99(EBÃ\ 3B# ý\96Ô\92\ 2±R;5==¥U£×\12\89Db\89T&\93ID\ 2î@\ f\99XQp-1\16\13_O7\17gg\17H\96`K)¹ðÔ\fî¸D¡\84Ê\ 4C4rmIVBÔi\10÷¡µïc@¾\98v\14Nq&4\10ð\ 6\ 4a¡C7*\1a;\99#\13R\85ê\93K\83|=ÝÝ=ЫÄ$e\97ÕSìÒY2\99\8c\8b `±\80M#×ãó2\12â.D@\98\89¹\92\9aSVG¦\r\8dITúi\83\ 1\90!\\93\b\97\1cp\8dÙqåÛp\81\17º¡!\81¦\ 4\82\86KÍ«j£ó¤úÅ\95\8d­ÝÝÝmë\9a\19¨>1Ì ¶\11     \957oV×5Sèl\81\ 4\95`F4\9fÑ)D£,\1a¥µ¡\96@¨%¶Phl>\14¸`º½²rÛ¼8gЩ\95r¹B©Öêô:­J\8a\16ÑæªÂÌ\ 4p0\7f/w[¿\8eÒÐ\96\rÃÎá\923\vð5Mä.:\93Íå   Æ'\84¢I8"Ñĸ\80Ç\19ìë"5T\16\81w\81MüÖ\8arp!\fA\föÜÅ\94\9cÒÚ¶\1e\16_¬ÔÏ.\18ÍËËf\93\96\92
+GÙ}\9d-5eÐÊØHl\90¿¯\8f\8f_`ÈÙ\98ÄÌÂÊÆ\ eÚÀ\10w\84Ë\19¤S\9a«\8b³\92\86\ 6úzÂxô8îéåíãããíåyÜÃÃÃ\vMËä¼\9a.\9eæöý¯ÿüãû\9f\7f~÷ÃÛ\97;F\ 5§c?\1a"ûÿ\1dâ!(\ 3x\18\9b\94UTÕ\ 4\8dOJ¤R\89\18°\8d    ì\87Ï\efõw\93\eªJrR¯D£\7f       ¯\ 5¶k\ 3\13váJz~\ 5\91ÜÃ`\ fÛ*ë´YfÜÙ\10ÿ#ùĦD4ïÎD'|
+§ó\0\ eæ\84¯_\0ÊA\19ù7\eÚ{\99ð}\ 4:üñR/\ fWWdÃ! \9d률\1dÖ¨\10¸ªV)¤B>\87ÑÕZ[\9e\97\91\18\f64\14ÒÌÅ\94ìâêæÎþ!þ\84\18\ 4%\15\8b\84Gq\15#\áv\\8e(f;Øí\10V¥BB\e\8d\0×6\99M`öZ9L\85n\12±²´àFNn^\11\1eì\89Î\ 29)Ô\1a\8dJ.\ 6Oêël%V\95\97\14\16\16\95\80y±FErµ]\ 4\1a¥L\82Ä=9)\16\8bEã|\ e³\87T\8f\a\ 3\8b\ e\ fñGáê(uöYã\13\18z6úÊÕ¬ü²ªº¦¶öή^Z_\7f?\83Ád2\18\8cþ>Z\ fµ£­±¦\ 2Ò\b            øü]\a\8f\80ü\15\ 2\156\12\97\94UX        m\1eä\8eMBbÕêtZ\0!\11
+¸¬>j[ýÍ¢lXNàQüÐ\bòöÃ\9c\8a\8cK\ 2)Ô6\91(Ô.*\85ÔT\8b/@n        <õñB\fôó\ fÀ`\820\81\ 1þ~ÀF_Û.YDì\1d\9b²<zý×\7f¾ÿÏOÿúþÍÞÆÜ$³µ<ó\92-\1aÚ\84÷\11c\f\f°²\9aæ\8e\1e\ 6\8b\ 3O?Â\1dæ\f\r±Ù,Ö ³\9fÞÝ\ 1\9d\91\91\84;\7f:8À\ay\86£\ 3\1a]^þ!á1     \19ye\84\86\8e\8cÜ\WQ\98\95l\vûö¤óiO\1dÐV\84ì÷3pâ"±\98\13>ÞÞ~PN,\ZNhlë \1eº\14¦¦³3*ùT$.9»¸ª±\1d*\1e\86\8a\87ÙL:\95D\ 4­¤ÅÇF\86\85`\ 2\ 31!açâ\12¯å\95×¶tÒ\98 \13\1e\ f\80\1dà\1a`л)\9fârE,´©\13¥Ã ÓQñ×
\9a»\98Üq±\©\ 2¦\8b\ 4ÃÌ\1e\e\99iÉII)éÙùe\84Æöî~\96íòa\16£\97ÒZ_Y\9a\9f\93\99\91\9e\91\99S\0\18Ú{\98\9cÑÿ1^í¿MßWTá\91\10\928qâWâ·\1d¿\9f±ã·\1dÛñ#Nâ8Oç\9d\90'$\ 4\b0\18\94B\81nk7¤uíªjªÐ¤NEÓ´V\9b:&UcÚÚjB\fuíèÊc\1dtíö\97ìÜÏ×v\9cbÓ}~\ 3çûù\9c{ï9çÞûý\97È·`[W.¿p\89ÎÅçÏ3¼ù¡dØmÑ\829MõÔ ¾É\1cê È\19ü_m°u\a\81á±üôìüÂâ¡¥åÂY:´8?7\9d\1fÍöÅCÝ6t+AsC\ 5c-7\ 3ÆC¥Þæ\89¤s\93\8bë[§`\b\97¯2m^ºðÝÓÇ7VæóCé¨Ïi\ 248]CC#\8f/ì |ö¤\ 6GòÓ3³3S\13#\83©\1e¯\ 3=[L¬\13\88$R\85J£Õj5*\85\f\\94HÕ&wldù;/¿ùÎ\1fïÞ\7fò\9fÿ~õ¯Ïn¿ÿË7^Ü^È\86í\9av>gT%\1e\8aå\9d\16\17Y[\ÝØ:qò\14ÎÉíí\13ÇA\82#ëË\v3ãC}±\0\94¡ì\10ò\9b\ eÖÕÂ3öq\f¦XÂ\89\81á\89\9bÎ\132\98\91
+ÃBåµ\8fu\18Uy8Ó\b'\89p`þBÈ\8eG²ÓÛ=\91äÀH\85Ki\83\0\1f\864}ÑÌðäüÊáÍ­-à\[\9aÍ\ fgâAÀTI)1\ 2Q\87Rgu\87\12\83c3\87Ö7á »ãZYäâr\95âÚ\8f\16QSS¶\16x£ýãók[§Ï]¸xéÒóÏ\9d=yt\8d\88\e\vz0|Zí]ÞP\9c ,\93\9eH0Ü\95½a¿ÇåruûýøuauóÄé³çÎ\13õϺ\18\86\13Ç ¾¹|\8e\95Z#\13±×+0g§D2µÁÚå\röÄ\93\ 3\83Ù¡\n\98;¹\n(;\90I'¢!o\97EOY$\a¨¸¡\14ªÀñP"×\9a»üÑôÐøÌ¡U8ì\89mà:¾µ\81\82O\8feÓQ$\ 6·\89ø<n\ 4\8bH\vn\7f$\9eêëïÏô%ãa\1fþD-\93\b\ 5m\ 2Q»LÕi´Ø\1c\ e\87ÍbÔi\94
+¥Zoó''ÖÏ_ûùoþüñ\83'_\7fýåÿ}øÞ[¯<¿9\95ö\99\95"ny`<$6±\a\8cvO¨7\93\e\9f\9a[\ZYY]]]YY^Z\\80ÌÆrýÉhÀm3\80ö\98Íêë\98gp±\802:K\97/\1cKöe\80,\15\8fø\19xlN\a\9e^û8;ä¤ýT8\94?^#';ÐÇå\vÇéÒþ]\97âqZ!\98\98A±`,\9d\ 5Y§gf¦òcÃ\ 3éX°Û\8e½®\9dñ\19}D"×\18\1dÞ\bÉdfþÐ2\85U\8ak²B\{\8aYÁ°Â\87Õ[1]f'fÑ\a7\8f\1eÝ(°\8c=¢Ój4Z½Ù\ 1\87J\ f\8e\8cC/ð\87üè\10®\ 4G­&\83Á`²:=\ 4plj~iuýð\91\8d#G\ e\1f^_[[%\0ó3¤.\94ÚRÒ@Eÿb¤Á\18Þ&\96¢ÊV\87Ëã\v\ 4CáH$ÒS:\91H8\14ô{Ý\ e«A« ,2AU6C\8eÙT;^«HªÒ[]þ\9eDfh\94YìÂÂü\1c¹\6\93èñ»\90\18¹D\801\88\8d`\a@\13\14¦Óhsv{ý\81`\0\ f:ñ R*\16
+\ 4B±TÙir¸}Áp$\1côw#\ 3z½Áê\8eôÏ\1c½øÊ/Þûð\93\87O¾ú÷\17ÿ¸ó\87_¿ùò\99\15êÉ2AS=gT@Äñ°EØ®À-ÝÁh"3\98\e\19\e\9fÀ\19\1f\1f\1dÉe\a8\99Y\81       Õe\r\99\1a\177X6¶\bÚå\1a\83Åé\ 6²@\ 1\99\ 6ÓDKc\ 5A\16¤ýt8\ e\vÝ\8e\88\e°aAv@£5X+]J\12ØW\14³ÆhwûñDº¯¯/\9dê\8d\86|n»©S)\15Q\e¡­\8d×J/\99\9d\9eP,Õ\9f\1d\1eEXy¬\16Õ㪩©)\83\89)Õäôõ$©\11NMOMN\8c\ eQ}Ü6£V)ëÀ\14$\a3lÐK,\91êËd2éd¼'èuÙL:´%¹\©Ö\99l.\7f¤·o07:\91\9f\9c¢39\99\9f\18\1f\eÍeѸI}\ 6uQ\ 3\95»(\a¦¾±¹U\b»Ñè\f&\8bÕf·Û\1dåÇn·Y-&\ 3,H*\11°Xª\9ba\89\87¨:ÉToqz\ 2\91x2\9d\19\18Ä![\8dE\ 2\1e\94\18Êù>\9aÁè\ 3°M£3\ 2\83\95\1eìT+¤d\85\18èÁh64ô\ ff³ýi\18\87Ûiw¸\ 3\89áÅí+¯ßøý_>}ôäËÇ\ f>ùèæÛ¯]>>7\10¢\9eÜX\\1e
+<¤(ER¢F\97'\10\8eÆ\13ÉT:\9dJ%\13½±\9e\10\1a\8cݬǴ%l¥tQ\84{\8a\r\1d\1f\89;\14êNÊ\8eÕbfȰXUÉkÑ}+\84Ã>\82îêHv-Õ/Åë{\8b\0Y-\ eW·×ç÷û<î.»\99\89SÐBm¤t\93T¥3Ù]Þ`$Ö\9bL!®tõ¸
+xK<dv\81Î\eíMÒw;õé\10\v°<¶Á\ 3\14\1a½ÙÞE\82
+\10\ 6§Í¤×(eíb\91P(n§_-\8en\7f¨'\9e\89©\19\12\fÞ\8fF\82>¨O¿KÛ\95g9®B\r¼\966¡¤C&WªÔj\8d\86\9d\83\7f«UJ¹´\1d³H3Ü«,\96ª<dw\82Ûrõ\8eÉâ\ 4\ 3>\8fËa5ê\90\18Q+\95¤\96­mÈyÝÁF4\18D\ 5\f8J\ 5\1eÄ.ÂçóÛD\1d*\9a\91úrh:\vó³\93\18³¢!¿?\14ëϯ\9dùÁÏ~õþí¿?züøÑgwn½{ýGçÖ'\92\1e\93¢Ð\93\8b\88\90òÚbé5:\93ÕÑåöPaý>¯§Ûå´Ã^!~\89\90\vp?\8b\90Ѱ\90\1e\80\02\85²\80L"jka\12ª2é\10\ f\9f
+§øQ-k¹õhÌ\82Ê\97²\15¢(fD/Wia\10f³Ùd\84\19¨äà\a:{=pÒ\12Åà\11åÑ>màë·Æõ\94\$r5>e\19¡¯\8aõ\ 1\9a¦ÆÆ¦f\8a]¦$\8f2[,f³Qß©&\ e
+°86cud\ 3\93Ö`¶;YJ\ 3ìpï;lÐ\8cJö´\ 6*s\ 6ñ6bÊh\13\bEb±\84NûΡ\7f\8aA|P\ 2\99·\95îäªN&K\8b\85VO\96\81+\18uZær;\89ár\8ej\ 3D\vÔ'\ 2\b\rqrÃ\8fBo÷Å\a'\16Ö6\8fc¼<\8c¥3\9bNô&úGç\8f^¸výÝ[wî=üâ\9f\9f\7füÑÍ\e¯_Ý^\1cêqvJÛ\9a\ eì,\ f5%iPY\ 1I\8dº\1a)«È«É¨'H2\90\9eϼj?g\85ßHÏ.dÈ\ 4\93PEu\17\1f«öÑ>j¹ûë\9eyi9âV²\1c°U     ®¢MRýye\ 2.\10\91qEÝ©'¾V\8f«¦¬rÅ&\ 1»\900\9a\19M&"ºVU¨OÃA\1aÛ\ f\82\89­\82"\ 4\86A"b\180\13ÐPÐ\82_;äJM§\9eRje\87Þ70¾\92f\8a~S\9d7\8c3ð"l        \8dM<°\9b\ e\7f÷¡ÿj\862\bVmY\91ªó\90Ë!%\9aßVH"lV­æLN,lãóÊ
+^ø{\9a\10\8b \9aA@<ØÀ\86y©Öê\8dg§V\8e\9d¹ðÂ\95Ë\17Ï\9dÚ\\9e\1dÏe\87ÆfÖN]yõ­ßþé¯÷\1e<ºÿéí[ï\¿vþÈdÚgQ\89[\1aêÊ\aØâ\v(k3\aI\86¤\16|J\ 6H¢BqK\98ª¥\87C\86LÔUÍ\ 4=¶·B8\85\8fhõá­~)çÄ{9ļ\16r\b!Z ¤É§ú×ï\b¸ \13¢«@$é`dyF\\95ì\ 2)\81¥¡\17*\14ÜG¨\ f\98Sðm\ 6\93\83 Âa\18\9a\19\86ººÚºÂ¯ìm\19sv5+4«t\91¯\15\9f¯ÄC\96\150\9fø]áà¿ëÙ³,\8b5ÏfaéR""%±\95³YqÉäx\10ZyÁk
+\7fÏbf Ø{8(B«XapE\ 6¦V·/|ïÚO^{õÇ?¼úÜÉ\8då¹éé¹\95cç_zãÆÍ\ fîÞ»ÿù½»\1füîí\9f^=¹\98\8bvéd\ 2^}í®\ 1\9cêMÍ\1c$ò¡Bb[\9a\19\vjw\93°ô]Yzþ\9fLT\ e§øÑ\1eúùÛ/ÝALlmâ±ó?öËü«©#
+À'\84\90}\81l\10\96\10@\96\80\88\88E@°R\ 1A´¢\ 5\8eU\ e"h[TZ\ 4ÓV¤¨\94%E\85
+aó\ 4Y\85$\801\bÁ\ 5\90B±Em)Õþ'}K\12\13ÈFM´=\9dï\17\8fä½\99;w¾¹w\1eZ\vðN\86¶Â""UK³.®åuéÍ\80Öeg\17èS\10\12\1dªÊ\9aýAË-\1a&\119QÐ\91¡ëÅ\0ßêµ\ 1B]K;7Ú=õ}µ¶v9 Óá\9cPðË@ÿ\8a\83§ÅZ\1cN\7f
+(º:K\87\8b*Å \91¦\82\80ç\83\8f*\8déæ\13²)aï\91Â\92\8aÚ\86æ\96\96¦\e\95\9d-È=\96s<¿èâµÆNÅøôÜüÜ´z¨³á»óÇ3\127\ 5\v\\9d)z=Ù`\867ûJ×@£.ß\óé±"\13æ_ÒÚcòw\83\1cÂ\11ú"\10 (\91¶î o«.Ó«X\97f
+ä[H§\19"ºn\7ftåÖ \ 4$\ 6\ e+<e \18øjjz#I\83G\84Ç4\ 1ü#<-ÆòpF\92H|S\144§~EdË\82À¢÷\1e<\89ÆòX\13\16»#;¯¸â\87fiO\7f\7f\8fTr£êRIÑ\99Â3gK+Ä-=#ê©\9f\1fÞë\95T\97\15\1cØ\19·Þ\1f*\86È\aÊÊïM\9b\91\90p\86\12\18¼\87ÑD\86µ:\13Æ\96£÷\12ƪAu\11;âth¶_ï9Ý\ 1[庴ï¢gS«\19Á`\7fta"!h«Ã\9b\18t\85]37é\rÆÎ\8ceg4C\9a\90\15Ãéï\84Þ
+\f\ eýÊÈV\ 6\81\93èl¯À\88ø´£\9f}]ÛÜ%»§R)\15½·\7f¬«ü¦´ä\82èrMãí»Ê\89ɧS\8fT\ 3\1dõåE\9f~\92\0Ý\f\8d\14\f&CÂ\9a6kydVeÂÒKV\rª}\ 2«E÷¤ñL¯n]Ë7i¹èº\13c\10\ 2V/Z}Oõç^á«ù\­L\9b\1eÌH\12õ\8b\82¥\r×,\ fÑ\90Ã\17F&f\9c(®l\90ÊF\1fNN=Q+\aïH®W_©¨¸Rs³µ[®\9axüäᨬ³ñêW'³wÄ\86­1^\f\8d\84\84ÕDd6$ãé±>\ 1æ^²fP«öA«Ãê×eÚtó!,;O\ 6Û¼|§Wë\8díÑ)exæ­+Ñ\ e\8ex2\83+\b\89NÎÊ/ý^Ò§|ôÓü³ù\99Ç£òîö[×Åâú\86\16iÿð¨zB­\92w5W\8bÎ\1cI\8bß\18Äç:\93\8d\16÷\ fé}a\8dÿ\98\7f¾.«E·øãÊæùïÉ«Å%\9az\rÑÐÕgmÌ\8eý\ 5¢ºöÁ±§Ï^üöranrl¨OÚ&i\96´I{e#ª\a\ f\94òî\16ñ¥¢ã\19Û£C}yL\1aÑT1|Ë\90þõüóu½}2¬\91ù?\bª¡³«OèæÔ\ 3\85_\8b\13³Ï\17ÿ\Z|þóÔøÈ`Ï\1digWï\80â\9eR9"ën­¯(ÎËN\8d\v\ fðâ0Èx3Å\10\0X\15\9aj(\80«a¡¨®C®\9e}±ôúõ«ÅçsSêû\8aÁ»ýw\aåCÃÃ\8a»]­õ\95\ eî\8eÿ@(ps¡Z,\86\0\80Õ@\1a:\91´wò\9aÖ\81±\99\85?^ýõzé·_g'Õª{Cr¹\¡\90\ fôJ%õ\95\17
+\8fìM\8c
+õs\87¾Oð\8eX`!ÀF \1aÒ9|adâ¾Ü/¯ÞêQ>\99\7f¹ôêÕÒïÏç\9f>V\8f*\87\87ä²\81¾®\8e&qå\85Ó9éÛcÂü=¡\96lîû\ 4\0X%\18\a,\8eHcy\ 6DÄïÉù¢üúmÙØô³\17¿/.¾\\98\9f\99\9cxp\7fX1Øß-mm¬­(9\9d\93\91\1c\e\1eÈw\ 5-\19`[`\r   T¦»_XlêþS¥U·º\86ÔÓs¿,,ü:?;ýx\5\ 2õãÎö¦ëU\97¾,<\9a\91\12·!HàÆDZ2(\86\0\9b\81A¾Q\9c]\ 5Á\9b\12Ó\8f}ñm\9d¤[ñàÑÔÌÌÌô\93\87\87e}w:$7k+Eçò\8f¤§ÄE\b}x,:\19\ f·d !Àf \97C¶g@ø\96Ôì¼ó\97ÅÍ\9d\ 3ê±ññ1è^(ëëºÝÒ(¾v©äóÜ\83{·ÇE\ 4û¸³éèÅ\10X\b°\1dhWvqó \89Ü\96v0¿¸¼¦±­³w`P68Ð×-mon\10W].;Wp,kwâæ\rBÈB\ 6\85\0.\86\0\e\83Á`¡®\f\95Ã5ë¢\13÷\1e:yNTY{³©¥­½½­¥©¡¾æjyÙùÓ¹\872R?\8a^\1f$\80-\84>OÀÅ\10`cà®L¤º¸ò\ 3Ã7'í9pâL±èòÕêÚººÚêªÊrQÉÙÂÜÃ\99»\93¶D®\vðæé,\ 4\1a\ 2l
\95ñ$\1a\93'\b
+\8f\95y8·°¨øBÙEÑÅÒ\92â¢Ó'?=\94\99\96\12\1f½!d\8d\97\e\8b\ e,\ 4Ø\ 5\fr;$ÓY<A`XÔÖäÝû\ eä\9cÈË/(8\95\9fw"çPVúÇÉñ\9b7\86\ 6úxp\99Ð×   °\10`\170H[¦0Ø<oÿµ\111[\93v¦¥gfeggge¦ïÙ\95\92ðaÌÆuB?>\8fíL%\ 1\v\ 1ö\ 2*\87\88\87,7/ß Ð\88¨Ø­Û\92¶§¤¤$'%Äo\89\89\f\ f\ròóv\87J!\85\88Ç\ 1\v\ 1v\ 2\83zH¦»pÜù¾\81!ëÂ7FFEGGGmú`ÃúµB\7f_¾;\97Å B\r\19\87u\0\16\ 2ì\ 4ê!\81De0¹<O\81¯\7f 08$$$X\18\14àçÃ÷pã0\9did"\1emÈÀB\80\9d@<Äá\89d\1a\83Éæò<<½øÞÞÞ|¾§\aÏ\95Ãra@\12\104d\80}A=t"\10ÉT:Ã\85Ébs8\.\87Íf¹8Ói\14­\84ÀB\80}ÁhDÄ\13Hd
+\95F£ÃÐhT
+\99D$àµ\12\ 2\v\ 1v\ 6ò\10\12\116\11\12I0D"\ 1R\10v\10H\bxG`\10\11!\13\1dq8\9c\13\fô/Î\11q\10H\bxg`\10\13a\17u8 
+\ 2      \ 1ï\12\f\8a\ 3\8aæ\7fï;(Àÿ\11\8c>ï;\18\0\0\0\0\0lÂß\ 2\f\0\80ª\93ÿ\rendstream\rendobj\r1051 0 obj\r<</AIS true/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>\rendobj\r1083 0 obj\r<</I false/K false/S/Transparency/Type/Group>>\rendobj\r1056 0 obj\r<</AntiAlias false/ColorSpace/DeviceRGB/Coords[0.0 0.0 0.0 0.0 0.0 1.0]/Domain[0.0 1.0]/Extend[true true]/Function 1114 0 R/ShadingType 3>>\rendobj\r1057 0 obj\r<</AntiAlias false/ColorSpace/DeviceRGB/Coords[0.0 0.0 1.0 0.0]/Domain[0.0 1.0]/Extend[true true]/Function 1115 0 R/ShadingType 2>>\rendobj\r1115 0 obj\r<</Bounds[]/Domain[0.0 1.0]/Encode[0.0 1.0]/FunctionType 3/Functions[1116 0 R]>>\rendobj\r1116 0 obj\r<</C0[0.0 0.0 0.0]/C1[0.0 0.0 0.0]/Domain[0.0 1.0]/FunctionType 2/N 1.0>>\rendobj\r1114 0 obj\r<</Bounds[]/Domain[0.0 1.0]/Encode[0.0 1.0]/FunctionType 3/Functions[1117 0 R]>>\rendobj\r1117 0 obj\r<</C0[0.0 0.639216 0.803922]/C1[0.0 0.0 0.0]/Domain[0.0 1.0]/FunctionType 2/N 1.0>>\rendobj\r1043 0 obj\r<</Intent 1118 0 R/Name(svg559)/Type/OCG/Usage 1119 0 R>>\rendobj\r1118 0 obj\r[/View/Design]\rendobj\r1119 0 obj\r<</CreatorInfo<</Creator(Adobe Illustrator 19.0)/Subtype/Artwork>>>>\rendobj\r1050 0 obj\r<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask 1120 0 R/Type/ExtGState/ca 1.0/op false>>\rendobj\r1052 0 obj\r<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask 1121 0 R/Type/ExtGState/ca 1.0/op false>>\rendobj\r1053 0 obj\r<</AIS true/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask 1122 0 R/Type/ExtGState/ca 1.0/op false>>\rendobj\r1054 0 obj\r<</AIS true/BM/Multiply/CA 0.800003/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 0.800003/op false>>\rendobj\r1055 0 obj\r<</AIS true/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask 1123 0 R/Type/ExtGState/ca 1.0/op false>>\rendobj\r1123 0 obj\r<</BC 1124 0 R/G 1125 0 R/S/Luminosity/Type/Mask>>\rendobj\r1124 0 obj\r[1.0]\rendobj\r1125 0 obj\r<</BBox[603.5 552.076 796.5 358.076]/Group 1126 0 R/Length 51/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 1051 0 R>>/XObject<</Fm0 1127 0 R>>>>/Subtype/Form>>stream\r
+q
+/GS0 gs
+0 Tc 0 Tw 0 Ts 100 Tz 0 Tr 0 TL/Fm0 Do
+Q
+\rendstream\rendobj\r1126 0 obj\r<</CS/DeviceGray/I false/K false/S/Transparency/Type/Group>>\rendobj\r1127 0 obj\r<</BBox[602.5 553.077 797.5 357.076]/Group 1128 0 R/Length 86/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 1049 0 R>>/ProcSet[/PDF/ImageB]/XObject<</Im0 1129 0 R>>>>/Subtype/Form>>stream\r
+q
+603.5 358.076 193 194 re
+W n
+q
+/GS0 gs
+193 0 0 194 603.5 358.0766602 cm
+/Im0 Do
+Q
+Q
+\rendstream\rendobj\r1128 0 obj\r<</CS/DeviceRGB/I true/K false/S/Transparency/Type/Group>>\rendobj\r1129 0 obj\r<</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 193>>/Filter/FlateDecode/Height 194/Intent/RelativeColorimetric/Length 5966/Name/X/Subtype/Image/Type/XObject/Width 193>>stream\r
+H\89ì\93y0Ôÿ\1fÇ¿rfJÑ\90;ßâË\90s\8bø\1agØD2¹\8fr\8e°r\87qß·áë\b\8b0aÙ\10\16\93k\1d9w"·,k°ëÜܳ"}\7f¿Ï糤æ×ôý~gÒ·?~\8fÿ½\1eÏ\87÷g\7fùåÿü,Ð\9c¢¥££§§g``ddd:äô\11Ì?\9aOæ£)\8c\8c\f\fÀ<::ZÚS4_\99OËpú\fËyÖ\vì\1c\179¹¸¹yxxyùøøùù/\81\b\1cóë   sl\82ÌÀ\ 2>>^^\1e\1en.Î\8b\1cì\17ØÎ³\9caf¢§¥ù\9fùÌç.pòð\v\\16\14\12\16\11\15\13\17\97\90\94\92\92\96\91\91\81Á®\ 1\§"ûC º@-\f&##--%))!~ULTø7ÁË\ 2ü¼\\1c¬g\99è¿x\ 5\1a:&\16vîKW\84Å$¤`×åä\15\14\95\94UTÕÔojhhjjiÁáð[ ÚÇÜ>\ 1\8e¯C6Àª¥¥©©qó¦º\9aª\8a\92âïòr×aÒ\12\82\ 2¼\9clg\18é\8e\v\99Y9ù\ 5E%`²
+Jªê\9apm\1d]½»ú÷\f\r\8d\8cMLLÍÌÌÌÍ-@,\8f¸\7f"|:\ fºÌÍ\ 1¯©\89\89±\91¡Á=}½;:ÚpÍ\9bªJ
+r0I1!\ 1\1ev\16¦O\ 54t§Y¹\ 4\84%`7\94Ô4µuï\1a\18\99\9a[Þ·²±µ³wxèèää\8c@¸¸¸<\ 2p¥âvR\1cÞ\aU\80\11\81pvrr|è`ogcýÀÒÜÔØ@ÿ\8e\96º²ü5IÑ+|\1cç>\15\9cb:Ï% "%«¨\ 6×Ñ72µ´²µwtvqu÷ðô~ìãëçï\1f\10\10\18\18\14\14\f\12rHè pt\eô\ 4\ 5\ 5\ 6\ 6\ 4øûùùúx{yº»=B89ØZ[\9a\19éëÂÕ\95\88   òq\9ce<uø\ 1\9dá¸$,%§¬q[ߨÂÊÎ\11áæáíë\1f\18\1c\1a\16\11\19\15\1d\13\e\17\17\9f\90\90\98\98\98\ 4\90|HÊ÷çè4¨\ 1l            ñqq±1ÑQ\11á¡!A\ 1~\8f=Ý\\9cì­-Lîéh©ÈË\88]áac¦>Á)&V\1eA      YeM]\ 33+{gWO\1fÿà°\88èØøÄä\94Ô´ô\8c'\99YYÙH$2''\17\98§ß\8dã\9b\90#''\a\89ÌÎÊÊ|\92\91\9eöGJRB\LdxH\80¯\97\eÂÁÚÜð\ e\U^ZD\80\93\85\ 1
+ eæ\10\10½¦¨¡khaãèêå\17\14\16\15\9b\90\9c\9a\91\99\9d\93û4¿ðYQqq   
+UZZVV\86\ 6\19åß\85Ï/\82\ 6ÀTZ\8aB\95\14\17=+,ÈÏËEf=IKI\8c\8b\ e\ fö÷vs²µ4ÖÓR\91\93\10âec\82¾!Ú3\\82\92òê·\r,l\9dÝ}\ 2âã\93Ó2\91yùÏ\8aQeèò\8aÊ\17UÕ55\18Lmm]]]=Ä˯ÓðOøú      è<à©­Å`jjª«^T\96?/+-)*x\9a\93\95\9e\92\10\13\1eäë\81°³4ÒÕP\84\89^â`¦\ 5\ 3èXx\85aJp}3\eg\ f¿\90Èø\94ôìÜ\82"\14ºâE5¦®¾¡±©¹\ 5\8bmmmkkooï\80xõ-:ÿ\82oþ1t\1eð´µµ¶b[Z\9a\9b\1a^Ö×ÖTU>/-.ÌCfü\91\10\15êç\89°³0ÐV\95\13¿Ìy\16ú\11Ð\9dç\17\93SÓ1¶rt÷\v\89NLÍÊ-,AWTaê\e\9a±­í\1d\9d]Ý==½}}8Ük\80~\88\81\13\ 2:\ ejp¸¾¾Þ\9eî®ÎW\1dm­-\8d/k«+\9f£\9eåe¥%Å\84úy8Y\9bêiü.%ÄÍB\ f\ 6г      H(hê[Ø»ú\84D'¥#ó\8bÑ\95\8d-m\1d]=½¸×\ 3o\ 6\87\86\87GFFGÇÆÆÆ©L\9c\10Ôë\80gttddxhhp ÿu_O׫vlÓKÌ\8bç%\ 59\19I1!¾n\ e\96\ 6·\94a¼çèÀO\88þÂei%m#+g¯ÀÈÄtd\ 1ª¼º¾      ÛÑÕ\8b\e\18\1c\1e\19\e\9fx;\89ÇOMOO\13\b\84\19\88Ù\93\82z\1eðLOOMáñ\93o'ÆF\87\87Þ¼îë~ÕÚü²¦¢´0'#1*È\eac¢«&+Êw\18À.\bSÕ5µsõ\v\8bOE\16\94Vb\1a°\1dÝ}ý\83#c\13\93\84Ù¹¹y"\91DZXXX\84X:A \ 1`"\91\88Äù¹Ù\19Â4þíøèÐ\0®ç\15¶±¶²´\10\99\16\1fîçæ`~WãÆUþóP\0\ 3\87Ðuõ»\96\8e\9eAÑ)Yù¨ÊÚÆÖÎÞþ¡Ñ       üôÌÜ<iaqiyeeu\95L&¿\83\16ë\7f\87o\1d\80\14\80kuueyyiq\818?KÀ¿\1d\e\1eèëjk\ 2
+
+²Rb\82½\9c\1e\18h)H\b°ÒC\ 1\17\85å4\r¬\10>añé¹Åå\98ƶ.Ü\9b\91  <a\8e¸°´²J~\a¬ÚØØÜÜÜ\ 2Øþ\92\9dïÂ\977A\r`ÛØ\0\ 1\19\8b¤ù\99©·£\83¯»Û\9a0\15Åy\19   á¾\8fl\8cn)JþÊ\ 6\ 50r\8aÈÃ\8dlÝü£\92³\vÑÕ\r­]¸Á±IÂ\1ciq\85ün}cs\v\98I¡Pv\ 1Þ\7fÆÞwæ³Ó \8aB\ 1ö6××È+K¤9\ 2~l\b(h¨F\17f§D\ 5¸Û\99ÞV\96º|\18À%ª mjï\11\1c\9b\96[RY\8fí\ 4öãg\88Àüµ\r`<e\17ܺ¿¿ÿá\88\83\13äÈ\ 1øÀ¦]Ê\ eÐðne\918\83\1f\1fÂubë+KrÓâ\82=\1f\9aëªÈ\¹@\rྪ¨cîè\1d\96\90Y\80®iêè}\ 3î_Z]ÛÜÞ\ 1ÆïC\8b?Büùc ÊÀ\9aý= a{s\9d¼D\9aÅ\8f\röv4Õ \v\9e$\86=v²ÔS\83  ²C\ 1LÜâJº\96ξ\11ÉÈ¢\8azlwÿÈä\fq\99¼¾µ³\v¬? ÎþÏ\ f\87Zr\04ìR¶6Èˤ\99É\91þnl]EQvr¤/â\81¾úµ£\0\1eqe½û.þÑ©y¨ªÆ\8e¾¡   \ 2q\89¼±My¿ÿ\ 1\ÿã·\7f\91ññ`\7f\8f²½A^"NO\fõµ7V¡rS£ý\1fYßÓ¸.ÄÁ@\r\90P¹kå\1a\18\9b\91\8fÆ´tõ\8fâç\16W×·){À\7fÿß]\7f\98pðaow{}uq\ e?ÚßÙ\8cAç§Ç\ 6ºÙ\18jÊþv\18À+©ªoã\1e\1c\9fù¬¢¾­wp\82@ZYÛ\ 2öÿ\fóAþüøa\8f²µ¶L$\8c\ fö´Ö\95\17>\89\ fö°3Ò\92û\14 ¥vÏÖ#41»øEC\an\ 4x\0òæÎû\9ff?Tð~g\83¼8;9\8cko¨,ÊJ\fõ´7\86Ë  _¤\ 6ðI©\eÚy\86%ç ª\9b»\ 6Ʀ\89+kÛ»û\a?Í~ à`\7f\17x\82ù)à\ejª*A&\85y9\98Ào\88\1c\ 5Hß4´÷\8eHÉ-Ã`{\ 6'f\16È\e\aôo¯þ\1cè       VI\84ñ7]Í5¨Ü\94\88Ç\ fMoÉ\8b\d\84\ 2øe4\8c\1c\1eG¦>E×µö\ eOÎý\97ý:\7fjúÌã\0þËöÚ\1fv·Ý±j·]m·Ý:U»vÕºTÇÚµ"¢¢\9dz\ 1r¸µ£\9câê*\f§\177\f*÷!ÈpS@ ÀÈ\95p'd\12\b\81\ 4ÈÁ$$\84\84\9c$\93\ 4\ 2t\9fï7¡A<êLÅï\ 3\7fÀ÷y^ó<\9fÏçù\8e+&\rÓð\ $à\bô\1ap\87\86\18d"¡äÞ\9d[W=\9cìm6¬A\ 1o\ 1ÀÉóWÃ\13sÊêZ©ýÜQ\99Jk\84ë\0\90#0h\95R!\87ÙMª-;\eîïétð«Ï~\ 1Ø\9eòð\8fHÊ-¯o£±xâ p\83\0$sà\ e©d"n?µµ®,'1"ÀËÙ
+X·Õö\94g@dr^ECG\ f\9b?&×è!»AÈ\1d\9aÒ\83\rÐÚ\1e\96ßO\8a\fð:}h§\15°ßÑ30*%ÿAcgï @\ 2J\0\e\ 4:)R\ 4c|\16½½¾"79*Ð\e\06®µ\0¶íwò
+\8cN-¨lêb\f       Ç\95 \ 4 ;\0P\ 4 \91*$#ì\9e\8e\86\8a¼\94¨ \1f\97\85\0;'ï è´\82ªfrß°Pª\82¯\ 4ÐF
+\0\82ÁÞÎÆ\aù©Ñ\0px×£\80\98´Âj"\99É\ 1M\bF\0¨b­r\1côÑΦÊ\82Ôè`_W+`ý6;g\9fàØô¢j"\85É\11ÉÔz\18\ 13F¤\8f\ e\0 -\ 6\ 5l\9a\al?\80\02\8a\b¤î~®hB\r\9a\10Öû}, \réTÒÑá>rsUaZL\88¯«\ 3\0¼\89\0~\ f\0§}Bâ2\8a\11\0\18\ 3\1ah\ 12\v =6ä\82\9bÃî\85\0_\ 4PÓB\1dà\89å\1a\ 3¤\0µl\94Ã$\13«\9f\b\b\8dË,A\ 1`\8eÁ7\ 6̯!µLÄaR\88ÕE鱡(à½\85\80øÌ\92ÚV\1a\v\fb\bçØÏÈ @\0\\0 \14\85ú¹\1dY\0°G\0Y\16\0\8c\83øg3`\ 2<\86(¤'\ 1\.\0@)
+\0/     \b\a1
+Р\80n\12¡\18\ 1¸/\0|i\ 1ÔµÑØ#P\ 3ÄO\a\84\0:\ 2\80ñ)ô( 3>\f\ 1l^f\0\ 3\0ð\0 f1àC3à\1eü\09ø!èn\99\a\18ð\93\19\0åkÚ
+ þ\1a\0ù\1d\80ï-÷\b \ 4\0..\ 2ø!\80\87ít¶\0Z\80éy\0=\83p\ 3Æ\9e\ 6p]æ\80\83®~×n/7ÀÑå\a\98|^\0\84\7f\94+\f\90µ¼\ 1µ%Y   O\ 2d//À\99å        à[\0×\9e\ 4\0t8`)²r\0­8\0\9bX\0,\1c\80Up\0ÖÁ\ 1\95\0Ôã\80%\f\ eÀ:¯\10@\85\ 3\96\ 5èÀ\ 1K\17\1c\80up\0ÖÁ\ 1X\a\a`\1d\1c\80up\0ÖÁ\ 1X\a\a`\1d\1c\80up\0ÖÁ\ 1X\a\a`\1d\1c\80up\0ÖÁ\ 1X\a\a`\1d\1c\80u\9e\vÐ\8e\ 3\96\ f\80%   \ eÀ:¯\ 4à!\ eXÂà\0¬c\ 1\fà\0¬²r\0-8\0\9b\98\ 1¼\95\ 2\b»è¾¬\ 1ñÏ\ 4h!\aÔ<\rðÓ²\ 1d®LÀ=è\ 1\9a\95\ 5\82\ 1Fh\ 1âg\0\12`\aL?\ 3`ïâ\17\8c\0ÅO\aÐá\at\9b\ 1~\8b\0\17P@\e\9d=\ 23`âW\0u\b@\ 2\0&x\ 1ýݤyÀîÅ\80R3@\ 1+@\ f\0\\0 \14gÄ¡\80M\16Àz3 k9\ 1B\97%@=!²\ 2Ü\16\ 1\11\0\8d\ 5\0\93P\ 3($BÑbÀv\v ¶\95Æâ£\80Y¬·ûx\10\80LÄaR\88Õ\bà\82\9bÃBÀißÐøÌ\12\14\984@\b\98\9b\99²\ 2ÒcÍ\80µó\80\ 3ó\0*\0Èa\ 5èÔ²Q\ e\93L¬.L\8f\ry\f\10\12\97YRÓB\1dà\8dÉ5\86i8\ 1*éèp\1f¹¹
+\ 5¸>\ 6È(F\ 1â      \88\ 1Âá¾.\0H\8b       ñuuص\0àì\13\12\9bQL u÷s\ 1@\ f%À¨UJ\85C\8c®¦Ê\82´\98`_×Ã\0ð\ 6\ 2xký6;g\9fàØô"\ 2\89ÒÏ\15ÉÔúiø\1eCs&\0\18\17\f1:\9b*óS£QÀF\v`\1d\0x\aǤ\17V\13)LΨL­\83ð\97lÖd\9cTH\ 4\83½\9d\8d\ f\0 ÈÇå\11\80\93wPLZaU3¹oxTª\82\120m\0\80\11vOGCE^J\14\0\1cÚi\ 5ìwò
+\8aN-¨lêb\f       Ç¡|\8e"O!ù\18\9fEo¯¯ÈM\8e
+ô>½\0°u¿£W`TJþ\83ÆÎÞA\81\ 4ÆI\86Î1äw\80Öö°ü~Rd\80\17\0|¶f\1e`ëè\19\10\99\9cWÑÐÑÃ\1e1\ f\ 2È\8e\0í¢2ð\14¢¶Ö\95å$F\ 4x9\1füj\1eð×­¶§<ü#\92rËëÛé,0\bÔzè\8a\84vQ\ e³»¥¶4ûn¸¿§\93½\15ðÏ}'Ï_\rOÌ)«k¥"}T¥\85í977\83Ö0è¢d"¡äÞ\9d[W=\9cìm6\98\ 1o\ 2À\89sWnÝÍ.­%Q\98ÃÂqP\ 4\90M\829\13x    M\8cñÙ½]MÕEY·o^9ïxÀfÃj3à\83/¾=þãÿnÞÎ*!\10É\8cAP\ 4`\12@u\ 4\89\82\e$â²è\1d\8d\95\85\19ñ×/\9f;e÷¯OW¿n\ 6lÙ{ìì¥ë \99EUM\1d=,\9e\84ë\bæfMS \89J\84ÃLj[}E~ZܵK?\9eÜ¿c\1eðþ\96\7f\7fÿÃ\7fÃâÒó\1fÔ·Qû\87\85\12p\ 4Fx\ 4s³ \ 2´*\99\98?È \93jËrSbB/þpÂvÇßßµ\0þñÍwgüBbRrËêHà\ eñÁ\11hôFÓÌ\1c\14\ 4óþÕà\0¸\ 3ôÎfBiNRT°ß\7f\8eíûr\1eð\97Ï÷\1c\r\8aLÊ)%4uÐû9\82±        Õ¤\1e\9cÁ,ö\849p\7f¦\r:\8dB*â\ fõu·5T\16\8d\bôuÿþÛí\9f¬²\06\7fíàê\1d\10~'«°²¾\95Â`óF%@ 3L\99ff15\80ÝÏ\98¦§\fZ\8dB6&à\fôt\11ëÊóÓ\13nú{»\1dÝ»íãU¯¡\80÷6í:tÚóÊ\8dø´¼²\9aæ\ e\1as\88\ f\ 4J\8dVo\9c\9a\0\ 4P yYÛF\ 3\96\9dA·¯\9bT\83ý\v¹lFw[cuéý\94ØëW<]\8e|³õo\7fF\ 1o¬Ý¸ÓÞñÜå°\98äìâÊú\16rO?"\90)T\1a­Î`\9c\9a\9a\9e6\99\80\ 3ÉìË\bº\12XrzzÊhÔ\83í+åR±\90;ØGë$ÖU\14f%F\85^:çtxÏ\17\1fY\0k6ØØ\9d<{18âNF~YMS\e\ 5\bxBñ¸L¡TOjuz½Á`4\ 2\bBy\19AV\ 2\v\1a\fz\9dnR\ 3¶/\93\88\ 4\6\93ÞÕR_U\9a\9b\96\10\1eèwöÔÁÝ[>|\a\ 5¼¾úÓ\1d¶ÇÜ}üoÄ¥d\17UÔ6·Sz\98l\ e_(\96H'äJ\95\99\9cÔjuHô\8bcøíYüIt!­v\12ì]­RÈeR°}Þ0«\8fÖÕÚH(+ÈJ\8a¹~ÕçÌq»\9d\9f¯\7fÛ\f\93í{\8fºx\\ e\8d¼\93\9e[RY×ÜF¦1\ 6\ 69|Á¨X2.\95MÈå
+¥R©\ 2Q[£y±±~\18Y\a\90Ë'dÒñ1ñ(Ø>»¿\97ÚÙÒXSQ\94\93\9a\10\11rÉÃå;[\9bÍëþ\84\ 2^[õñÖ=\87\1dÏú\ 5Ü\88MÊÌ+­¬mléì¦3úÙC\1cÞ\88@(\12\89Ç$\92ññq)\88Ì\9a\89\17\19ëg\91UÀb\12É\98X4*\14ðy\9c!\16³\97Fn'5ÔT\14ßO¿\e}ÝÿÂY'\87½;6~ðÇß¡\80w>Ú²ëÀqw¯Ë!áñÉYy%\15\84úæÖN
+­§¯\9fÅ\1e\1aæpy|þÈ\88@ D2úKD/0Ö¯¢\8b\b\ 4##|>\8fË\19\1ed\ f0\19=TrGKÓÃêò¢Ü\8cÄØ[Á\97<ÝO\1cܳmÃû\7f0\ 3Þ^·ÙfßQçÿ³KçÏlæq\0Ç·\92\104hv¤D\1c      Ñ\1dÔ\11G$2-Ò\95\86\90dXÄQ        É\b\95¤Cë\16â\18uE¢\14ã¦uÇPwPe\[Åîþ3û<Oteìo;2ýe_\7fÀçýù<ÏW\98'«P´t½\e\18û0»¸²¶©ÛÛ?8:9=ûz~þíââòòêêê\ fÐ\9f·ýõßýk\16\18\0B\97\97\17\17ßοþ~vz|t°¿«Û\]^\98\99\1cé×t4×\95\84É\\ 6Í\8f\88EA\aÀ­\1d=\ 2ââÓÄ\12y\85¢¹Cý~h|jf^»²¶±¥ÛÙû¼ÿåàðèèøøøäää\14rf,Ðt \ 3Ä\8e\ e\ f\ f¾ì\7fÞÝÙÞ\_]ÖÎOO\8e\ eöv·7Õ\95Ë$â´x\16\9b`w\1f\ 6\1d\80Â\12ýB"Ø<Av\81¼¼¶ñm\97¦opdbjznA»´òim}ccsk{{[§Û\ 1íþcïÎÜÌ\84\12:ÝööÖÖæÆúÚê§å¥ÅùÙ\8fSãÃ\ 3½êÎVeÍ\e\99$KÀã0\9e\ 4x8ÛZ@\aÀ,1x¯ P&7I\90%\91\96U)\1a[;º{ú\ 6\86FÇ'¦>NÏÌÎÍ/,,jµÚ¥¥¥e½\15£¸\1e\ ed´ÚÅÅ\85\85ù¹Ù\99é\ fS\13c#Cý½\1aU{\8b²®²´$?K\90Ä\8d\f\vö!â\1e MÀ\ 3L\90hGw_Jx$\97ÇÏÌ-\94\95UÖÖ7µ¶uª4=½ïû\a\86\86\87GFÇÆÆÇÇ'&&&!SF¢\9f\ ed\80ØØèèÈðÐà@\7f_o\8fZÕÑÖÒ¨¨©(\93\16ä\88ÒxÜH:\95ä\81·³2½\a\1ep\ f\81²sñ QÃ\99\9c\84ÔtqnA\89üuEum½²©¹µ­½£³KÕÝ­Vk4=\80w\90^#ÑO\a2\1a\8dF­îV©º:;ÚÞ¶676(jªÊËäÅ\92\9cLAJ\ 2'\92\1e\12àå\86C[À¡\ 3~\82!\1f`  \9e$J\18\83\15\9b\98Â\17fåä\17\16Ë^\95½)¯¬ª®©­S(ê\e\1a\94Je#¨É@ó\1d1\9c      6\80VCC}½BQW[S]YQþºT.-.È{)Îà''pY\8c0ªÿc¢#\ 6e
+½ à\17À-Ð\ e\ 4\ fß Z8\83Å\89KL~!È\10\89³sòò%\ 5EEÅ%R©L&\97¿\ 2\94^+3\8aïÓ\81\90\.\97ɤÒ\92â¢Â\ 2I~îËl±(\9d\9f\9a\94\10Ç\8eb\84ÓÈ~\9enN\ f­\91\ f\0\1f\91%ÚÞÅÝ\8b\14\14\12J\8f`²ØÜ¸øD^rJj\1a\9f/HÏÈ\10
+E"Q&@|#ë\8eÝL\ 6C\99"\91P(ÌHO\17ðÓ^¤¦$ñ\12~\8båİ\98\11ô§!dÒãG\ 4\1cÆ
+       ÿ¾?x\81¹5\ 6\87w÷ô!\ 5\ 6Si¡aô_#\9e3#£XÑÑ1l6\87Ãár¹±\90\832@\8fËá°Ù11Ѭ¨HæsFÄ3zØS\1a\95\1cHòñt'8Ù£Q\86û\ 3\17ÀL-m0X'¼«û/\9e^Þ>~$ÿ\80À 29\98B¡P©!\0\9aÞ\13c»î\80I*\95\ 4\a\93\83\82\ 2\ 3üI¾>Þ^\1e\8f\88®x'\87\87?[\99#L\f÷\87N0³@Ù m1vöX\a\9c£\93³\8b\v\1eO ¸ººº\81\88\86Ü\8dİ\ 1U\81:\81@Àã]\9c\9d\9d\1cq\ eX{;\8c-ÚÆÊ\12\89\80ÝZ_\7f\ 2\1c\8e@\98\9a\99!\ 1æææ\16\0KÈý\1fD_\a÷\0Ö\ 1·235E àpØí¯ÿ¿\1féo\ 1\ 6\0L\ 4\9e0\rendstream\rendobj\r1122 0 obj\r<</BC 1130 0 R/G 1131 0 R/S/Luminosity/Type/Mask>>\rendobj\r1130 0 obj\r[1.0]\rendobj\r1131 0 obj\r<</BBox[177.0 553.0 370.0 359.0]/Group 1132 0 R/Length 51/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 1051 0 R>>/XObject<</Fm0 1133 0 R>>>>/Subtype/Form>>stream\r
+q
+/GS0 gs
+0 Tc 0 Tw 0 Ts 100 Tz 0 Tr 0 TL/Fm0 Do
+Q
+\rendstream\rendobj\r1132 0 obj\r<</CS/DeviceGray/I false/K false/S/Transparency/Type/Group>>\rendobj\r1133 0 obj\r<</BBox[176.0 554.0 371.0 358.0]/Group 1134 0 R/Length 43/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 1049 0 R>>/ProcSet[/PDF/ImageB]/XObject<</Im0 1129 0 R>>>>/Subtype/Form>>stream\r
+q
+/GS0 gs
+193 0 0 194 177 359 cm
+/Im0 Do
+Q
+\rendstream\rendobj\r1134 0 obj\r<</CS/DeviceRGB/I true/K false/S/Transparency/Type/Group>>\rendobj\r1121 0 obj\r<</G 1135 0 R/S/Luminosity/Type/Mask>>\rendobj\r1135 0 obj\r<</BBox[-32768.0 32767.0 32767.0 -32768.0]/Group 1136 0 R/Length 83/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 1049 0 R>>/Shading<</Sh0 1137 0 R>>>>/Subtype/Form>>stream\r
+q
+0 g
+/GS0 gs
+0 85.1295395 -64.2705688 0 502.1220703 97.4517288 cm
+BX /Sh0 sh EX Q
+\rendstream\rendobj\r1136 0 obj\r<</CS/DeviceGray/I false/K false/S/Transparency/Type/Group>>\rendobj\r1137 0 obj\r<</AntiAlias false/ColorSpace/DeviceGray/Coords[0.0 0.0 1.0 0.0]/Domain[0.0 1.0]/Extend[true true]/Function 1138 0 R/ShadingType 2>>\rendobj\r1138 0 obj\r<</Bounds[]/Domain[0.0 1.0]/Encode[0.0 1.0]/FunctionType 3/Functions[1139 0 R]>>\rendobj\r1139 0 obj\r<</C0[1.0]/C1[0.0]/Domain[0.0 1.0]/FunctionType 2/N 1.0>>\rendobj\r1120 0 obj\r<</G 1140 0 R/S/Luminosity/Type/Mask>>\rendobj\r1140 0 obj\r<</BBox[-32768.0 32767.0 32767.0 -32768.0]/Group 1141 0 R/Length 106/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 1049 0 R>>/Shading<</Sh0 1142 0 R>>>>/Subtype/Form>>stream\r
+q
+0 g
+/GS0 gs
+217.2923889 303.5557251 -904.9056396 332.7504272 689.3198853 244.6582489 cm
+BX /Sh0 sh EX Q
+\rendstream\rendobj\r1141 0 obj\r<</CS/DeviceGray/I false/K false/S/Transparency/Type/Group>>\rendobj\r1142 0 obj\r<</AntiAlias false/ColorSpace/DeviceGray/Coords[0.0 0.0 0.0 0.0 0.0 1.0]/Domain[0.0 1.0]/Extend[true true]/Function 1143 0 R/ShadingType 3>>\rendobj\r1143 0 obj\r<</Bounds[]/Domain[0.0 1.0]/Encode[0.0 1.0]/FunctionType 3/Functions[1144 0 R]>>\rendobj\r1144 0 obj\r<</C0[0.0]/C1[1.0]/Domain[0.0 1.0]/FunctionType 2/N 1.0>>\rendobj\r1047 0 obj\r<</LastModified(D:20160126181558-03'00')/Private 1145 0 R>>\rendobj\r1145 0 obj\r<</AIMetaData 1146 0 R/AIPrivateData1 1147 0 R/AIPrivateData10 1148 0 R/AIPrivateData11 1149 0 R/AIPrivateData2 1150 0 R/AIPrivateData3 1151 0 R/AIPrivateData4 1152 0 R/AIPrivateData5 1153 0 R/AIPrivateData6 1154 0 R/AIPrivateData7 1155 0 R/AIPrivateData8 1156 0 R/AIPrivateData9 1157 0 R/ContainerVersion 11/CreatorVersion 19/NumBlock 11/RoundtripStreamType 1/RoundtripVersion 17>>\rendobj\r1146 0 obj\r<</Length 1259>>stream\r
+%!PS-Adobe-3.0 \r%%Creator: Adobe Illustrator(R) 17.0\r%%AI8_CreatorVersion: 19.0.0\r%%For: (Gregorio Litenstein Goldzweig) ()\r%%Title: (default_bg_illustrator.ai)\r%%CreationDate: 1/26/16 18:15\r%%Canvassize: 16383\r%%BoundingBox: -172 -35 1226 837\r%%HiResBoundingBox: -171.969223958408 -34.0783425306345 1225.06351601717 836.971492767334\r%%DocumentProcessColors: Cyan Magenta Yellow Black\r%AI5_FileFormat 13.0\r%AI12_BuildNumber: 44\r%AI3_ColorUsage: Color\r%AI7_ImageSettings: 0\r%%RGBProcessColor: 0 0 0 ([Registration])\r%AI3_Cropmarks: 0 0 1000 800\r%AI3_TemplateBox: 499.5 400.5 499.5 400.5\r%AI3_TileBox: 116 112 884 688\r%AI3_DocumentPreview: None\r%AI5_ArtSize: 14400 14400\r%AI5_RulerUnits: 6\r%AI9_ColorModel: 1\r%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0\r%AI5_TargetResolution: 800\r%AI5_NumLayers: 1\r%AI17_Begin_Content_if_version_gt:17 1\r%AI9_OpenToView: -264 927 1 1831 895 26 1 0 -79 133 1 0 0 1 1 0 1 1 0 1\r%AI17_Alternate_Content\r%AI9_OpenToView: -264 927 1 1831 895 26 1 0 -79 133 1 0 0 1 1 0 1 1 0 1\r%AI17_End_Versioned_Content\r%AI5_OpenViewLayers: 7\r%%PageOrigin:194 4\r%AI7_GridSettings: 20 20 20 20 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142\r%AI9_Flatten: 1\r%AI12_CMSettings: 00.MS\r%%EndComments\r\rendstream\rendobj\r1147 0 obj\r<</Length 9716>>stream\r
+%%BoundingBox: -172 -35 1226 837\r%%HiResBoundingBox: -171.969223958408 -34.0783425306345 1225.06351601717 836.971492767334\r%AI7_Thumbnail: 128 80 8\r%%BeginData: 9530 Hex Bytes\r%0000330000660000990000CC0033000033330033660033990033CC0033FF\r%0066000066330066660066990066CC0066FF009900009933009966009999\r%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66\r%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333\r%3333663333993333CC3333FF3366003366333366663366993366CC3366FF\r%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99\r%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033\r%6600666600996600CC6600FF6633006633336633666633996633CC6633FF\r%6666006666336666666666996666CC6666FF669900669933669966669999\r%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33\r%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF\r%9933009933339933669933999933CC9933FF996600996633996666996699\r%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33\r%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF\r%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399\r%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933\r%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF\r%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC\r%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699\r%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33\r%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100\r%000011111111220000002200000022222222440000004400000044444444\r%550000005500000055555555770000007700000077777777880000008800\r%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB\r%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF\r%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF\r%524C45FD0EFF27FD5EF852FD20FFFD5FF87DFD20FF27FD5EF852FD20FFFD\r%5FF87DFD20FF27FD5EF852FD20FFFD5FF87DFD20FF27FD5EF852FD20FFFD\r%5FF87DFD20FF27FD5EF852FD20FFFD5FF87DFD20FF27FD5EF852FD20FFFD\r%5FF87DFD20FF27FD5EF852FD20FF27FD5BF8277D7DA8FD20FF52FD05F827\r%F805F827F805F827F827F8270527F827F8F8F827F800F827FD06F8278453\r%FD34F87DFD23FF52FD06F805F8F8F805F8F8F805F8F8F852848559A953F8\r%F805F8F8F805FD04F8278559AFFD34F87DFD23FF59F827F827F827F827F8\r%270027F8270527F827F8AF7E277EAF2705F827F827F827F827F8847E0527\r%FD12F805FD21F87DFD23FF52F8F827F805F827F805F827F827F827F827F8\r%27A959F884A905277E59272E7D27592E53A9842727537D52272E7D275952\r%5353275259055953F8F827537D28F85259F8F8592EF852597EFD12F87DFD\r%23FF7DF827F827052700270527052705270527052728AF5953AF592EAF2E\r%AF7D52AFA9AF8452AF5928848427AF5252AFA9A9AF53AF7E7DAF8459FF27\r%27A9592EAF2753AF52F8FF2E27AF528559FD11F87DFD23FF5200F827F827\r%0027F8270527002705270027F853A97E532EF8847E2E855205AF2E59282E\r%A9282EAF2727A97DF8AF53522E27A92E05AF272EA92753AFF827AF52F8AF\r%2728A92727AF5928FD12F87DFD23FF7DF8270527272705FD042728272827\r%2E272759AF2727052EA98453520059A952052759AF277EAF2E27AF5352AF\r%53F82752AF2759AF2759AF008484F82EFF2753AFF852AFF8F859FF8527FD\r%11F87DFD23FF520505270527052705270527052827270528058484272727\r%05AF7E052E5259AF2728057E842759AF0559AF2752AF2727F87EA92759AF\r%F8847E277EA9F87E85F859AF05858427592728FF27FD11F87DFD23FF7D00\r%27272705282728272E272E272E272E277DA9A92E2E282852AF847E278484\r%2E052E84840552847E7E59057E852E27277E8405847E2753AF5252857D84\r%52F859A97E59AF52A97E7E59FD12F87DFD23FF5205052705270528052705\r%2E2728052E272E272E272E272E27272752272E272E285927AF5327052E2E\r%2E052E2727052E27270527272705272727F8272827F827F827F8F80505F8\r%2827FD13F87DFD23FF7D052E272E272E272E272E282E272E2E2E28522E2E\r%2E522E522E522E522E522859AFA97E2E2E522E2E28522E2E272E282E272E\r%272E272E2728272E27270528272700270527F827F827F827F827F827FD0D\r%F87DFD23FF532705282728272E272E272E272E272E282E28FD042E522E2E\r%2E522E2E2E522E59592E2E2E282E2E2E282E282E282E282E272E272E272E\r%2728272E27270527052705270527F827F805F827FD10F87DFD23FF7D052E\r%272E272E272E2E2E28522E2E2E522E2E282E282E272E282E272E282E272E\r%272E2E532E532E532E522E532E2E27522E2E2E522E2E282E282E272E2727\r%052727270527052700270527F827F827F827F805FD09F87DFD23FF522727\r%28272E272E272E282E272E2E2E28522727FD0DF827272E2E532E522E532E\r%2E2E532EF8F8522E2E282E282E282EFD0FF827F827F827F805F805FD0AF8\r%7DFD23FF7D272E27FD042E522E522E532E532E592E2EFD0FF8272E595359\r%2E5952592E595253F8F805592E592E532E592827FD0DF827F8FD05270527\r%0527F827F827F827F8F8F87DFD23FF5928272E272E282E28FD042E522E52\r%2E5927FD0FF805532E5953592F5953592E592EFD04F8532E532E522E2EFD\r%0FF82705270527052700270027F827F805F805F8F87DFD23FF7D272E2E2E\r%28522E522E532E532E592E592E52FD0FF827535927522E2E2752282E282E\r%FD05F859535952592827FD0FF828272E272E27270527052700270527F827\r%F87DFD23FF5927272E282E28FD042E522E522E532E5927FD0FF8005927FD\r%10F8522F592E2EFD0FF805052E27280528052705270527F827F805F8F87D\r%FD23FF7D27522E522E532E532E592E592E5953595352FD0FF827592EFD11\r%F85959592E27FD0FF82E2E2E282E282E272E2728272827270527F884FD23\r%FF592827FD042E522E2E2E532E532E592E592705FD0EF8055A27FD12F853\r%5952FD0FF827272E2E2E272E272E272E27270527052700057DFD23FF7D27\r%2E2E522E522E532E532E5952592E595952FD0FF8275952FD13F8595227FD\r%0EF8052E2E532E522E522E2E272E272E272E272700A8FD23FF592E272E28\r%FD042E532E532E592E592E5928FD0FF8057E27FD13F85259FD0FF8272852\r%2E522E2E282E282E272E2728052805277DFD23FF7E282E2E532E532E592E\r%592E59535953595952FD0FF8275952FD11F82759845327FD0EF827522E59\r%52592E592E532E522E2E282E282E05A8FD23FF592E282E28522E2E2E532E\r%532E592E592E592EFD0FF8278427FD10F82759845959FD0FF8272E592E59\r%2E532E532E2E2E522E2E272E27277DFD23FF7D27522E522E532E532E5952\r%592EFD045952FD0FF82E7E52FD0FF82759847E845327FD0EF80559595953\r%5953592E592E532E532E522E5227A8FD23FF5928272E282E2E522E522E59\r%2E592E5953592800FD0EF8057E5959597D5959597D597D52FD04F8278484\r%59847E59FD0FF8272E5959592E592E592E592E532E522E2E282E7DFD23FF\r%7D27522E522E532E592E59535953FD045953FD0FF82E7D8484A9848584A9\r%84A984A9F8F8F82E59AF84A984A95927FD0FF852597E597EFD0659525952\r%592E592EA8FD23FF592827FD042E522E522E592E592E5953592E27FD0EF8\r%278484847EFD07847EF8F8278484598484A9847DFD0FF827277EFD065953\r%5953592E592E532E2E84FD23FF7D272E28522E522E592E592E5953595359\r%59592727F827F827F827F827F827F82727537EFD0484A9848484A98484F8\r%595252282E537D537E59522727F827F827F827F827F827F8272752598459\r%7E597EFD0659535953592EA8FD23FF5328272E27FD042E532E532E592E59\r%2E5953532E592E532E59525952595359535959847EFD0884A9847E845227\r%272753522705272752597D597D597D59595359592E00272E845984597E59\r%7EFD045953592E592E537EFD23FF7D272E28522E522E592E592E59535953\r%FD04597E598459845A845AFD0884A984A984AF84A984AF84AFAF7D272E27\r%2859AF847D595227A8AFAF7E7D84AF84AF84AF53532752597D84847E8453\r%522E7D597EFD04592EAFFD23FF5328272E27FD042E532E532E592E592EFD\r%085984597E59847E84598484847EFD0484A984A884A9848427282753532E\r%527E7EA9272727845927005384A984A98453282827282E7D525228532E59\r%597EFD065984FD23FF7D052E282E28522E522E592E592E59535953FD0459\r%7E597E59845A84598484847EFD0484A984A984AF84AFA8AF59272752A8FF\r%847D2752522E2752537D27272759598484A92828272E27522E2E287D7E84\r%84845984597E597E59A9FD23FF5227052E272E27FD042E522E532E592E59\r%2EFD04595A5959597E59592E5959847EFD07847E84597E847D272752AFA8\r%AF8452F8272728525959532727F859285984522728272853842727595927\r%59597E597EFD045984FFA8FD21FF7D052E2728052E2E522E532E592E5953\r%592E282E59597E595959845A84592727848484598484A984A953527D2727\r%AF7D2827A8AFAFA9FF2EF8F8282E5227522E2EF8527D2727AF5327275252\r%7E7D2727842EF852847E847E84598459A85252A8FD20FF5227052E05F805\r%2E282E2E522E522E592E28F82E5359532727595984597E2727598427F859\r%84597D7D590559277DA984272759A8A8AFA828F8F8052E2727272E272752\r%84277DA8522859277DA97D27598459F85384845984597E597EA852F8FD21\r%FF7D05282727052E282E27282E532E532E5927272E595959F85259595359\r%5959275984280084847D277D7E52272784AFA85205525259A9A8F8272752\r%2727002E2727277D5252A8A828AF84272EA9522E7DAF842E278584847E84\r%7E8459FFA827A8FD20FF52050527F827272E0505F827282E052E2E272759\r%2E592E052E59272727595927277E0552848452270052272727A9848427F8\r%275227AF270005527D28F8272727F827272752A95252A884F85259272E84\r%84A9522759847E8459845A84A8FF277DFD20FF7D05270527F827272EF8F8\r%275227272E2E05525359592EF82E5952F8275959F827272759842E27F820\r%2752F827847D27F8F827278459F8F82752842E2705282727F827F87D5227\r%2EAF7D272752277EA8AFA984F85284A98484595253FFFF5252FD14FF7D52\r%52A8FD08FF2E05F805F8F8F827F8F8F8270527F827F827272E2852F8F8F8\r%2E2800F85228F8F8F800592E27F8F8F82705F8F82E27F8F8F8272727F827\r%27F8522727F8F8005227F8F8272727F8275252F8F8F827537D597D5327F8\r%5959592E27F8F852A82752FD0AFFA87D527DA8FD05FFA8F827A8FD07FFA8\r%27F805FD0BF805F8F8F827F805F827F8F8F827F8F8F827FD05F827FD09F8\r%27F8F8F827F8F8F827F8F8F827F8F8F827F827FD07F827FD05F827F827F8\r%27F8F8F827F827F8F8F827F8F827FD0BFF7DF827FD06FF7D2752FD08FFA8\r%FD5FF852FD0BFFA82727A8FD05FF7D27FD09FFA827FD5EF852FFA8FD0AFF\r%7D27A8FD05FF5227A8FD08FFA8FD5FF87D5252A8FD09FF7D277DFD05FF52\r%27FD09FFA827FD5DF827522727A8FD08FFA852F87DFD05FFF827FD04FF52\r%2752FFFFA8FD5FF87D2752A8FFA87D52A8A8FFA87DF8F827FD04FFA82727\r%FFFFFF52F8F827FFFFA827FD5DF827525252FFFFA8F8F8F87DFFFF7D27F8\r%27A8FFFFFFA8F827A8FFA827F8F8F8A8FFA8FD5FF8272727A8FF52F8F8F8\r%27FFFFA827F827A8FFFFFFA827F852FFFF27F8F8F87DFF7DFD62F8A8FF52\r%F8F8F852FFFF52F8F87DFD05FF27F8F87DFF7DF8F8F8A8A827FD62F852FF\r%52F8F8F827A852F8F852A8FD05FF7DF8F827FFA827F8277D52FD5FF827F8\r%F8F8275252FD05F827F8277DFD06FFA852F8F8F852F8F8F827FD61F85227\r%FD0BF827FD08FFA8FD69F8527DFD0BF87DFD09FFFD69F8272727FD09F827\r%7DFD09FF52FD09F827FD5FF852FD0AF827FD0AFF52FD08F827FD5FF82727\r%FD0AF87DFD0AFFA8FD08F827FD5FF82752FD09F827A8FD0BFF52FD07F827\r%FD5FF85227FD09F852FD0CFF7DFD68F827FD08F827FD0EFF27FD70F852A8\r%FD0DFF52FD70F852FD0EFF52FD66F8FD0A277DA8FD0DFF52FD66F852FFA8\r%FFA8FFA8FFA8FFA8FD0EFF7DA87D7D5252527D7DA87DA87DA87DA87DA87D\r%A87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87D\r%A87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87D\r%A87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA8FDFCFFFD15\r%FFFF\r%%EndData\r\rendstream\rendobj\r1148 0 obj\r<</Length 65536>>stream\r
+\87\ fîß»{ûæõ«\97Î\9f9yôÀ\9em\eV/©\9eS2)+1"ÀÝÆHS¶/¥@WIe}+÷ ¨\94\9c²ÊE«6lÛsðØ©s\97®Þ¸}÷þÃGO\9eþöìù\8b\17/_¾zõê5Å\9bÏñ¶9|®\0ª
+¨ëåË\17Ï\9f?ûíéãG\ fîݾyíòùÓÇ\ fí\ 5\r\16W\96\15å¦F\a\19k³úu¡\14\18¤bhë5&6cbIyÍ\8au[÷\1c:~æÂ\95\e·ï=|üôÙ\8b\97¯^\83TïÞ½\7fÿþwà\8f\ fù³Eø°LR\rÔöî\1d\1aÔøíÉ£ûwn^½xöÄ¡½[ׯXPQ:)3>ÔÛÁTG¾?¥@·Áª<{ï°Äñ\ 5\96ÔnÞ}ðø\99\8b×nÝ{øä·\17¯^¿}÷þw\10ó¯¿þú\eøW\ 3þÝÂ4(\9aTõ×_D±ßß¿}óêų'\ fïݾv   4ؽ¹vIUYAvR¸\9f\93\19[A À\10ucG?~rnñ\9c\9a\95\ev\1c8\ 6òß¾ÿ\18Ä\7fó\ e\84ÿëo"ë?ÿüó\1f!ÿmE\84u@}D§¿ÿú\13txýâ·Ç÷o_¿tæØ\81\1d\eVÖÌ\99\9a\9b\12\19àb®§8\80V@JÓÔ9 *mbé¼Åµ[ö\1e9u\81Èÿìå\9b÷\7fü        ÂÿCIü?\14ÿÛ6Ð\95\11mþù7èðÇû·¯\9e=ypûÚÅSGön©]<wÚÄôè 7K\8e\92\ 4¥@w)­\11.A1\99\93gV/_¿ãÀ\89sWnÝ\7füüÕÛßÿü\e¤ÿ/-öÿµ9´&ÿ\ 5\1dþþë÷w¯\9e\7fëʹ\13\a¶¯_^5sJfl°\87\15W¨ÀP-3·Ñqã\vg/XµiÏ\91Ó\97nÜ{üìÕ»?þú×?ÿ!Ò·½ì\1f¨ñ?ÿýçß\7fýñîÕ³Çwo\:}xϦU5³\vÇÇ\87xÚè+Kv¥\15Ð6w\1f\930¡¸bQíÖýÇÏ]½ýð·\97oÿøëß`}f¥\17¨ðßÿüûï?Þ¾üíáí«ç\8eíÛZ»¨¼xBbè([\83a\ 2\ 5¤u,<B\93rKæ-[¿ãЩ\8b7î=yñæw\90_\14Ä'üïÿüçß\7fýþæùã{×/\9e<¸}Ý\92¹%¹ÉáÞv\86u
+°-=Ã\92ó§U­Ø¸ûÈ\99\0¯Þÿù/\91\91\9fÒà_\7f¾{õÛ\83[\97Ï\1cÞ½ayå´ü\14¾\8f½¡Ê Z\ 1\19¶Õ¨ð\94\893ç¯Ú¼ïøùkw\1f¿xóÇßÿüWdä\a\rþûÏßÐ\ 4\8fî\80\ fíÝ´²zúÄÔ\b_{#U¡\ 2ºÖ£øi\93ËjÖl=pòâ\8dûO_½û\13\1c\88\eB5ÁË'÷®_8¾o˪\9a²Éé\91~\ e<ÕAÝ(\ 5dõl¼#Ò§Ì^X»ýà©Ë·\1e>{ýûßÿ\88\8e\ 3\11   þz\ f>tóâÉ\ 3[×,\985%#Êß\91§:\98\a\13\99Q0gѺ\1d\87Ï\¹óèÅÛ?þ%Z\r@\9aàï?Þ<\7fxûòé\83Ûk\17Î.È\8cöw2V¯SÀÖ7*³°|ÉúÝGÎ^»ûä%x\90\0Âÿ\82\ f½}ñøÎ\953\87w¬[4§0+& ^\ 19\8e­otVQŲ\r{\8e\9d¿~ïé«÷\7f\89\98\a\11\1fú÷_Р   î^={d×úÅåEY1\81Î&õ
+ØùE\8f/\9e»|ãÞã\17n<ø\rº\80¨y\10DRÒ       \9eÞ»vîèî\rK*\8aÇÇ\82\ 2\1aC\ 4
+píücÆO\9d·bÓ¾\13\17o>|ö\ 6º\80\885\0t\ 2\b¤¯\7f»\7fýü±=\e\96Í-Î\8e\v\80½\7flöÔÊ\15\9b÷\9f¼tëáó·¢×\ 5¨@
+
+<¸qáøÞ\8dËçM\ 5\ 5\L?T ¤rå\96\ 3'/ß\86 $\8a
+@/þãÍ3\88£Ç÷mZ1oê\84øÑõ
+°¸ö\ 1q\13J«Vm9pêòíÇ/Þý%\8a
+ü÷_$\8eÞ¼x\ 2\14¨,¡\14Ð\14* ï@\14¨^µõàé+w\1e¿|\aA\88iy\e\ 1aèÏ·Ï\1fݺtrÿæ\95\95%9ñ£]A\81îD\ 11P 0.gZõj¢\0¤\81÷"«À\v\81\ 2U¥9 Á®#\1a*\10O\14ØvèÌÕ»O^½ÿ[D\15x÷âÑíË'\ fliR\81Üió×P
+@\1e\13½4@\8f\86Þ½x|ûò©\ 3[VU\95æR
+H5T`úü5Û\ f\9f½\ 6\89X\ 4óØÿ\91D@\14¸\ 3
+l]U=-71Ø­\81\ 2\8eD\81\1a\81\ 2¢\98\88ÿ\8fVà%\f\86N\1dlJ\81 \ 4\96R\0F\12"\98\88)\ 5Þ\13\ 5N\1fܺ\9a(0¦\81\ 2\ 6\ 2\ 5v\1c9{ý¾H+ðäÓ
+äÍ$
+\9c#
+\88âPèC\ 5æOÏ#
+hµ3\ 5þ\ 6\ 5î\82\ 2Û>V@\9eV`\81è+ð
+&\ 4§\ f   \150ûX\81µ´\ 2"9\9a®WàÌ\97\14 Ó\ 1Ñ\eË} À\1aP é#\ 5\12\89\ 2»\8e\9e»þ@d\15øOs\148\7f\15xú)\ 5F·s\ 5\9cF'æ\97µ7\ 5ÜÛ\9f\ 2¿7W\ 1\11\9cQv0\ 5jÚ·\ 2Û×ÔÌlJ\81\85íK\81\90ö©À=\81\ 2ùM)°N \80(®k¡\ 2ÌS§ÀaT\80\19\ 4
+\C\ 5\98\ 2\15`\1aT\80i~\b\ 5\ 2­\b*À4?\90\ 2"y£þGQà\18*Ðz \ 2L\83
+0\r*À4¨\0Ó \ 2L\83
+0\r*À4¨\0Ó \ 2L\83
+0\r*À4¨\0Ó \ 2L\83
+0\r*À4¨\0Ó \ 2LócÜäë\18
+´û\eݨ@ë\80
+0Í\ fñÈ\19\9at\14\ 5ÚýÓë¨\0ct\9cWPÚ·\ 2w;\8a\ 2M¾É×\8e\14hò]Ê:\ 5DùM¾Ï½\fÚ.^EüÜë¸í^\ 1Ñ\7f\1d·Ù¯¤·\ f\ 5>³)@»W@T7\ 5øôÆ\18D\ 1\91ßW¢Y[\93´\ f\ 5V\7ffo\15ÑWàsÛóì\12õÝm^¶÷ý\85Úù\ eO\r7    Ëkß\9b\84µ×]ÎÞ5Üg.¸é}æ®\89ò>s_±Ó\9f\88nU(Ü,\12\14øp³HÇ\86\9bE\8aæ^\8bÔ¾Í\1fïvùÁv\9d\94\ 2gDv·Ë/î7\9aÓp¿Q\11Ý0µnËZ¢ÀèOîøúR\84\15xxëÒ\89&÷Ü\r\88Ë)¥÷ܽ#²{î~f×cá¶Í[\ f\9eºr\87lÛ,R§'Ð4ÜwzùGûNË\81\ 2±\13JªVRûN?z!\82\9bß7sçojëòG"ºuùg÷^·ó\8fÉ\16ùÍã?³û=ÇÎ/FÔ·ïÿüù\ 3¶~õ\a(ܧ\13\81\885\ 1½ñ÷'N\80\90åÔ\1daqô\1cu\84\85èí\1eÿ?ÿù\97à\f\8eCÂ38\1c\e\9cÁñÁ!"\8f\10\11ê \9a×\9f8\ 5¥éc\D«  þ÷?0\12zùôÞõ\v'\9a8\87\ fÒù_\b¢àA\8fï\ûà$ \ 6G\19y    \8f2:F\8e2zþF´\9a\80:Mêý«ß\1eÞº|æHÝYLvug1Ñ\87IåM«ZN\1d&uëáoÐ\ 4ÿ\12\1d\rÈ\91d\7fÿñöÅ\93{7êNÃJ
+ó¶5lx\9cWHbNÉÜ%ëv\1c\ 4\1fº\aMðþ¯\7fýç¿\f\1f¦&\80\96ÿ\1d\9d«ç\8eï\17\9eGæeSw\1e\199P-8>»¨|QíÖ}ÇÎ]¹ýàéË·¿ÿ\ 5mÀôypÿG\1d   ÷\9f\7fþþóýëç\8fïݼtú\88ðD¸1\9eÖúÊ\12\ 2\ 5´Ì\GÇf\15̪Y¹i÷áS\17¯ß}ôÛKêH>úD>F¥§\ eåûãýë\17O\1fܾzþÄ\81\1däL¾É\99±Áîõgò\91S\11\ 3£Ó'M¯\¶nÛþcg/ß¼\a\1a¼yÿÇ_äLDêDDÁq\85m%¶ðlÄÿRâÿùû;\90ÿá\9dë\17OÓ§"\96R§"Zp\84Ç:\ eÑ0qô\8bHÍ+©X¸zÓîC'Ï_!\1a¼xý\96>×ñßÔ\91\94ô±\91ÿÓ\16\b\ f¨üç\9f\7fÿë_\7f\81øo^=\7fòðÎ\8dKg\8fÓçR\16ç¦Dø»\98ë*\f¨?\19Ô'<iBá¬êåë¶í;r
+4¸ûðɳ\17¯é\935ÿ¢\8e\ 4ý7}¼f\e 8'ôï¿ÿúóÏßß\83ø/~{üàÎõËçè\93A+g\16\8cO\f÷u\1aÁ\16\1cm*8\9b5.sÒ´¹\vWmؾÿè©ó\97¯ß&g\9b>\7fùêÍÛwäTVÁ1¬\7f}ÌßßÏÇE
+\8ekýýwr<ëëW/\9e\83øwo\91\93M\ fïݺnEMyÉÄ\8c¸\90Qö&u\87Ë
+NÇMÍ-\9aUµdͦ\1dû\8f\9c<{ñê\8dÛ÷\1e<zB\8eÆ}ùêÕkÁÁ·ïêyß²Ô\17,8?÷õ«W/_<\7föôÉ#\10ÿú\95\vg¨ÓqW-\9a7³0'%*ÈÃ\96§%×\97R\80\9cOlîâ\17\9e\985©´|þ²ÚMÛ÷\1e:N\8e'¾~óöÝû\ f\1e>~üä)u(ñsàE=/[\92úbI-ÔAÅO\9f\90\13\8aÉ\ 1Å×._8{òèAr>ñâªÙS'f&\84û»Z\19j\b\ fXî¯À6u\185&&5§`zEͲ5\e¶îÞ\7føø©³ç/]¹výæ­ÛwîÞ»G\8e\85~HxTÇã\16¤¾Tª\12rVô½{wïܾuãúÕË\17Ï\9f9yì\109!zÕ\92ê9¥S&¤D\8fñv2çªJ÷¦\15è'§Å³q\ f\b\8f'gtWÌ_¼jݦm»÷\1d<rüäirB79\9f\9b\9cÎ}ãÆ\8d\9b\84[\1fsûÛiT\16©\80:¬ûÚµ«W._ºx\81\1cÒ}ìÈArFwí\8aEUs¦\15ä¦Ç\87\a\99ê*K\89S
+tî#£®oáä\1d\1c\99\98\99W8mNåÂe«×nܲ}÷¾\ 3\87\8e\1c=~âä©Óg¨ãÑÏ\9f?\7f\81âbkA\95N\9f\96N\ eJ?uòı£\87\ fîß»kû\96\rµ+\97ÔÌ\9b]Z\90\9b\91\18\19ìíle¤­0¸\17}N½¸\94²®\89­\9b_HtRfî\94\92²\8aª\ 5KV¬Y»\81\9e\9e>£þ£sè\8f·\18\1f\9dbO\8eª?tèà\81ýûöî¡Î©_¿võòÅ5\95å3§NÎÉH\8c
+ñs·\eÁU\97\93\10£\14èÔSR^ÓÀÜÁÃ?$*1={baÉÌ9óª\17,^¶rõ\9aµë7lÜ´yËÖ­Û¶oß¾cÇ\8e]4»[\ 5AáPÍöíÛ¶mݺeó¦\8d\eÖ­]³jŲE5UsgO\9fZ\90?>-!*ÄßÃÑÂHGYº_÷\9f\89\ 2?wï/3\8cͳtôð\e\13\11\97\9c\91\9d?¥¨tæ¬ò¹UÕ5\v\17-^¶|ù\8a\95«V­^½zÍ\9a\14k[ ºt¨\ 6*[µrå\8aåË\96,^´ ¦ºrî\9cYÓK
+'çe§'Åò\83ý<\1c­\8cõÔå\a÷îú\13Qà§.â\83YêzÆ\96\ eî>A¡\91qIi\99\13ò&M)\9aZ:mæ¬ÙsÊ+æÎ\9bWYYUU\ŗ¨i%èÒ¡\9aªªªÊÊysçV\94Ï\99U6sZIqáä\89¹Ù\99©\89±\11!\81\8eV&\M%éþb\9d)\ 5þ_§îý¤\144ôx\16\9e¾\81c£b\13\92S3²²sró'N\9a<¥ °°¨¸xêÔ©%\84Ò\ 6Lk!\1a\96\80º\8a\8b\8b\8a
+\v\v¦L\9e\94\9f\97;a|fzjR|LdØ\98\0\1f\ fg;\vc\8e\96²\8c¤xWÊ\83   :\8bõ\1fª Î60µ´sv÷ò\r\18\1d\12Æ\8f\8c\8e\8dOHLJIIMKOÏÈÈÌÌ\ 2Æ\vÈn\15\84¥CE\99\99\99\19\19ééi©)ÉI\89   q1Ñ\91üÐ1Aþ>^nNv\96¦\86º\1a\83útïD7\0\9eý\87°\86\19\98\98[Ù:8»yxyûú\ 5\ 4\ 6\ 5\8f\19\13\12\1a\16\16\1eÎçó#\80Èz¢Z\98ú\92IE\11|~xxxXhhÈ\98àÑA\81þ~>£<Ý]\9d\1dl­ÌL\fõ´T\14¤%{wï,\94\9fhУ\8f¤´ü0\r\1d=}#cSs\v+\e[{\aG'g\17\17W77www\ f\ f\ fO
+¯V\87ª\ 6êópwwssuuqvrt°·³µ¶²0356Ô×ÓÑ\18¦ ;¤¿xCùA\83N]{ö\95\94\92\95W\1c¦ª¡©­£«Çáê\e\18\1a\1añx<cc\13À\94fDk#¨\87TillÌã\19\19\19\1a\18ès9zl\1dmMu\15eEyÙ¡\83\ 6ôîÑåç\86òS*t\13\13ïÛ_Brð\10©¡Ò2²r,\96¼¼\82\82¢¢¢\12A¹!ÃZ\89\86uPµBí
+
+
+òò,99Y\19é¡RC\ 6KJôïÛ»g÷.\9d>\12\9fV¡sç.]ºvëÖ\1dèÑ£\87\18Ð\93¢\17Cе\139@\1c"U·®]»téܹÓÇÖG\98D9XYÙ&>Ü:$5D\9Ø×\1eþP¶pÐ\ f\86ß\8d\fIIå'Ã/\á?\1d\8bäT먰Ԩ\84ø\90ä,\961üJ\97¥3\92\1f\12ËR¥/dÁ\15,·ä¨\88¨xø¥gXH,_\8d¥I_g\99\90\0×Y8ðX¶iãÆe±\BRbè\ fMà?øÿ(ø\8fÇRUcùú\1014à\ f¸>9Up\11õÝà\8f¾Åf鲨,=øÓ7\v~p\84\1f¢á\87\f\96.\9båÂ
+\bb³Âá×¾#á\ fø+\Ü@Pþ¨¦ÕÑiø3KÇ5!u$?,!9\9c\1fNUù\85\8fU]\13\92ãBbÕX:£â£Â\12Âù\9e©ÉQñ\11\90(cc¸25$>"\96oll\95\90\1cÏOöÊJ\84\7fsÔ¾ù«º\82¯\8eäÇ\86¤F¥ó¿øå\91 iñáðA\8b|]ïû¾Î¦¿Î\16úÏG\17[\90¿¾¯\ 6\81euõ>Q\ 5\91!áQi)uÖhæÕ\ 2å9,\1d\87øÔF×:ÄG¥F\85Äz¤\85\84'\87ħ~Ô\ 3>.86!,&#*EØQ\8cx\9f\90À'*<5òÛ½Eï«\14ü:㱿],ö\97Ô¶çGEDÖÇ\0ò©38\83gd\bùº{HrH\\8a ú\ f¾Ù´\14\r¾j\1f\12\1f\1eËOv\r\89ã7]º T¶6\9b\ 2
+\14\96dii\11\16\96\1672!5\84\84\83\88
+6Y\1fÇ\1câ\ 3\16\89Ämô\rX\1c\ 3]m®\1e\90­«oÀæ\19²âÈç<ÝÆ\1fÄRæájs\e\7f¤kÈ\83_\1ah\e5ú¥!çÃ+ÃH!ð\81>Ǩ\89ÒÉ\a\}mvý\aF,ºJ}}öGU\82\88\8d~\19&PªÑ\a¤t\8e\81\9ev\13\1fq\f\8c\1aWJýòc\11©Òá\83FJÅ
+?øØ\ 4t\95\8dÌÕ¤ÝIéñÍÈ\ 6\8cñ\1eã=Æû\1f5ÞCÀH\ e\11\ 4\ 2\v\a\96EZj\ 2\8b\1e\ 5G\8dã×\7fY8v\rO\bå\a\93\11¬[h
+?9\9d\1f\1eìÄÏ
+¦/Ji\90AtáÚø\84x\16W×Ð\80J\el\96\ 5_<\8dü\95\b\1f²µ\8d¨ôB\rx©Qºm\14\98\8dþ§%\1f\ 6Þ\82!;ä\1c¸ÆN\Ç\9a\9f\1e\15Æ\1figÉòu\15\ f\10ä']\96®\81\1eË\80
+b\19p!¬ëë\91d\15Ùä\ 5ägáE¿!ê\92k\f©Ë¹ð?¸H\Y\99\92\80L$\8cYz<}6G_Ü×A¬mnd"\b\82 \b\82 \b\82 \b\82 m@3ï83-&\82 \b\82tL¾ó\910¦ÅG\10\ 4A\90vÏwæbÌÎ\b\82 \bòý´x:ÆÔ\8c \b\82 _K«¦cLÍ\b\82 \bÒ\1cÚ,\1dc^F\10\ 4A\90ÏÐö\19\19ó2\82 \b\824\86©\8c\8cy\19A\90\ e\ f³\ 1ö#\986\ 6ò\ 5\98v\10\ 1L\9b\ 1A\10¤%a:¦6\v¦\8d\84|\fÓ\1eñ\ 1L\e\ 3A\10¤\ 5`:\94~#L\9b\r\11EÏaÚ$\b\82 ß\ 5ÓAô{aÚ~?.L·|Ó0m\15\ 4A\90o\84éðÙ\920mË\1f\ e¦\eüs0m\e\ 4A\90¯\86éÀÙ*0mÔ\1f\ 5¦Ûù\v0m\1e\ 4A\90¯\86éÀÙ\8a0mÚ\ e\ eÓÍÛ,\986\12\82 ÈWÀtÈlu\986p\87\85é\86m.LÛ A\10¤¹0\1d\b¦ÍÜ1aºU\9b\vÓvB\10\ 4i.LÇ˶\83iKw4\98nϯ\83ik!\b\82|\19¦#e[ô½;\ eL·äWôÁ\10\ 4\fÓ\91\92\ 1\986yG\80é6ü\16\98\19\82 È\97a:R2\ 3ÓVo÷0Ý\80ß\ 2Ó6C\10\ 4ù2LGJf`Úêí\e¦[ïÛaÚr\b\82 _\80é0É\18L\e¾\1dÃtÓ};L[\ eA\10äs0\1d#\19\86ió·K\98n´ï\82iã!\b\82|\ e¦c$Ã0mþö\aÓ-ö½0m?\ 4A\90ÏÁt\8cd\1e¦[ \9dÁts}/LÛ\ fA\10ä\v0\1d&\19\86ió·'\98\16\80i\13"\b\82|\ 1¦Ã$Ã0mþö\ 4ÓmÕ\ 20mB\ 4A\90/Àt\98d\1e¦[ }Àt+µ\0L\9b\10A\10äË0\1d)\99\87é\16h\1f0ÝJ-\0Ó&D\10\ 4i\16L\aK\86aÚüí\ 3¦[©\ 5\84\b\82 Í\82é`É0L\9b¿\1dÀt\13µ\18L\e\12A\10¤Y0\1d,\19æ{,Öâm!\820Ø4m\ 3Ó\ 6F~\bÐ\ fE\81öbðV\8b\83\16·Lk7J[\96ùm\16h¿|³m¿ÙòßViË*Òz\ 6im³·vùßC3ekc\81EÊD­\87h\1aÿ«ø\1e\15Ú;­j\8a6h\85Ö+óÛ¾Ûaøª¶\13åÖl²Ø\16\97íû\85lf-­]þ÷ð\9d²µ\86Àm_#Sõ~C\8d­-\92\bj\84ÔÑ\ 6fǦl%\98êG¢Ü\9am\10@Zµü¯jÓ¶lô\96\92¹íklA;0Ri\v\8aÔR´\8dj\bÒNÁîÓñh\8fa³íEbÊ\ e¢fù/\8aÔ\1a0¢&\82´#°×t<Úc¨l{\91\181E{1~ëÁ´®\b\82 \fÐNãd\eËÃ\94)DÖòm\0Ó\8a"\b\820\ 3FÈf\82Ö iµ<\8c.\87 \bBÀð\88|-\98\94\11\ 4AZ\ f\f\8cÈW\81I\19A\10¤õÀ¨\88|-\98\94\11\ 4AZ\ f\8c\87È×\82\19\19A\10\ 4AD\a\b\82 \b""`RF\10\ 4A\10Ñ\ 1\932\82 \b\82\88\b\98\94\11\ 4A\10DDÀ¤\8c \b\82 ¢\ 3fd\ 4A\10\ 4\11\110)#\b\82 \88\88\80I\19A\10\ 4AD\ 4\b\82 \b":`RF\10\ 4A\10\11\ 132\82 \b\82\88\b\98\94\11\ 4A\10DDÀ¤\8c \b\82 "\ 2&e\ 4A\10\ 4\11\110)#\b\82 \88\88\80\19\19A\10\ 4AD\ 4\b\82 \b""`RF\10\ 4A\10Qàû32&e\ 4A\10\ 4i\110)#\b\82 \88\88\80I\19A\10\ 4AD\ 4ÌÈ\b\82 \b"
+|\7fFƤ\8c \b\82 -\ 2&e\ 4A\10\ 4\11\ 5Z$#cRF\10\ 4A\90ï\a\932\82 \b\82\88\ 2\98\91\11\ 4A\10DDÀ¤\8c \b\82 ¢@KedLÊ\b\82 \bò\9d`RF\10\ 4A\10\11\ 1\932\82 \b\82\88\b\98\94\11\ 4A\10DDÀ\8c\8c \b\82 "\ 2&e\ 4A\10\ 4\11\1d0)#\b\82 \88\88\80I\19A\10\ 4AD\84\1f0)·S±\11\ 4A\90\ eÏ\ f\92\91Ûµð\b\82 È\8fCGMÊíZx\ 4A\10äǤÃ$åv-<\82 \b\82ü¿\8e\92\94Ûµðí\14\82 H\8b\83I\19ùZÐ\9e\1d  lM\ 4\11)¾-\9d\89Z·mïò·/Ð\9e\1d     lM\ 4\11)¾-\9d\89Z·mïò·#Ð\9e\1d\flM\ 4\11)¾-\9d\89Z\9fí\0\17Ð\9e\1d lM\ 4\115:F:ë\18\vÐ\9e\1d        lM\ 4\115:F.û\ 6-DS\11Ñ\aíÙ\91ÀÖD\10Q£cd±¯ÒBôÕ\11\9e\1d  lM\ 4\115:L
+k¾"íE#\11\ 4\8dÙÁÀÖD\10Q£#寯KÉíG/Ñ\ 1\91ÀÖD\10\11¤#e®¯ËÇíJ5\11\ 1\91ÀÖD\10Q£ã¥­¯KÉíM;ÆAKv$°5\11DÔèxiëëRr{Ó\8e\92\1d     lM\ 4\115:dμÜz \19;\12Ø\94\b"jtÈ\84\85I¹õ@\ev$°5\11D¤è¨ \v\93\816ì0`\8f@\10\ 3g+ÌË\bòy°; \88¨Ñ\81S\15&e\ 4ù<Ø\1d\10D¤èØ©êk\93r»V\16\ 1ì\v\b"Rtì<\85I\19A>\ 3ö\ 5\ 4\115:v\9eú\86¤Ü®õE\90¯\ 2;\ 2\82\88\14\1d>IaRF\90Ï\80\1d\ 1AD\8a\ e\9f¤¾-)·k\95\11¤ù`/@\10ÑáGÈP\98\94\11äS`G@\10Ñá\aÉPß\94\90Û½Ö\bÒ\1c°\17 \88èð#¤§oJÅ\1dAq\ 4i\ eØ\ 5\10DDøAÒÓ7¨Ù\ 1´þ\91ÁVk>Ø\ 5\90Æ`£3Â\ f\92\9e¾MÍ\ e ø\8f\f¶ZóÁ.\804\ 4\e\9d)~\9côô=\9a¶kÅ\7fX°Õ\9a\ fú?Ò\10lw¦øÆ\9cÔ\ eÛè;5m׺ÿ°´»VcJTô\7f¤!ØîLñ\r=±ý¶Q\8b(ÛNuÿai_\rÇ \9cèÿ\b\r6:\83|[7l§ÍÔ\82Ê\8a¬ú"%\8c(Ð.Z\8d\86Y9;\80ó\7f\ f\1dL\9dïáÇitQã{ú`»k¦ÖPVÔÔ\175yD\ 4\11o5\1af½ë«\1d]TÍøÍ0¥\8e¨\19ðGkw\91â\e;^ûl¦VUV\14Ô\175yD
+\91mµ¯\12¯õäüZ\ 1\18\14¯Å\vÿ\7fÌõ\9d¶¯ñÛäa¤Ñ\7f4¾Çøí®¥ÚLY¦Ô\175yD\rÑlµo\93­Ååü\1e\ 1\98\15¯µËo\8d꾪Þ\96­ñûåaP`¦ÌÒ6´\88ñ¿\8d\1fDÍÆ\88¦\9a­'\95¨!\82\9e\86û~Q[¼vÆÅkKõ¿ª®6V­\räiK\81[µ¢¶Qá\9be@Ú\86\94-%0\83\88\94\1dZD\18DthË\16o)'l3?lKñ\18,¶m\14\80\8e­á\90m\fã6iq\ 1\10äÿÚ\9b\1f\8a¸xÍäkmÞ¾´CÚ\ 5ßì\84"\ 2ÓöC\10\ 4A\90\96\84é¼ú]0m<\ 4A\10\ 4iI\98Ϋß\ eÓ\96C\10\ 4A\90\16\86éÔú\8d0m6\ 4A\10\ 4iy\98ήß\bÓfC\10\ 4A\90\96\87éìú-0m3\ 4A\10\ 4i\15\98N°ß\ 2Ó6C\10\ 4A\90Ö\82é\1cûu0m-\ 4A\10\ 4iE\98N³_\ 1Ó¦B\10\ 4A\90Ö\85éLÛ\\98\13\82 \b\82´\ 5LçÛfÁ´\91\10\ 4A\10¤-`:ß~\19¦-\84 \b\82 m\ 4Ó)÷\v0m\1e\ 4A\10\ 4iS\98\9f\84ià\b\82 \b\ 30\9d~\9b\80i\93 \b\82 \b30\9d\81?\86i{ \b\82 \b\930\9d\87ëaÚ\12\b\82 \bÂ<LgcLÇ\b\82 \bR\ ffd\ 4A\10\ 4\11\1d0##\b\82 \88H\81é\18A\10\ 4AD\a\b\82 \b"R`:F\10\ 4A\10Q\ 3\131\82 \b\82\88 \98\88\11\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4i{¾óÖ!\82 \bÒÞø©!L\v\83ü\88ÔûßÏ?£+"L@{ßÏ?wª\87ü\88\9e\88´\1d´\ fvêÔ¹s\17 +\0\7fuîÜ\99ø":"Ò&PNH\°k·nÝ»÷èÑC\fþëѽ[·®à\8aè\88H[ pBðÁî=Äzõ\12ïÝ»\ fл·x¯\9e\89'R\8eÈ´\94HÇFè\84Ý{ôìÕ»o¿\ 1\ 3%$$\ 1\89\81\ 3ú÷í#Þ³GwÊ\11Ñ\ f\91Ö\ 4¼\90rB1ðÁþ\12\83\86\f\95\96\95\93c±äde\86J\r\92\18зwÏ\1eݺ¢\1f\a~ú:\98\16·\ 1?Q^ص[\8f^½û\r\1c$%ÃRTVQS×\0ÔT\87)ÊËJ\r\1aØW¼'\ 4DôCѦn¥­Y\88\98+R        \19BaOpÂÁÒ,%\15\rm]®\81\11\8fÇ32Ô×ÓÑTU\92\e:h@\9f^=º¡\1f\8a2?       W::\91Å\8e/ñár\1có­J'änb½ú\f\18$ÍRV×á\1a\99\9a[ÙØ988ØÛZ[\fçquÔ\94d\87@@D?\14e¨hB/¶u¥èöIèÏéå¸N\82å8\86\9b\95NÈÝÅz÷\93\90\92SVg\e\98ZÚ9»{zûú\aøûù\8còp±·4Õ×V\91\1f*ÑO¼\a5>dV^¤I¨\81U'zµ­G\ f11±\9e\9f\ 5.\10ëÑ£;µ\1c×E\ 4\16\86\ 5\13\8c\82\9a\8eÁpkG\ f\9fÀ\10~dLl\\ltDØh_\ fGKc=u\ 5iɾ½ºwí\8cáP\14©_é\10ëI\16Ûú\ 2ý>  ù´o\9f>½Å{õê)Ö£~=\8e±\96¥½°G¯>\ 3\87È)krM¬\9c<ýC"â\92ÓÇMÈÍËË\9d\90\95\96\18\15âçn;\9c«¡0T¢OÏî]0\1c\8a"\82á}\8f\9eâ}Èj\9bä ÁÀ\90:\ 67bРºå¸^b\82õ8Æ\1c\85}%¤X*:\86æ\ e\1eþ¡ÑI\999\93\8aJg\94Í\9aU6£´pâ¸ä¨Ñ^\ e#¸êòR\ 3z\8ba8\14EH;vé\ 6NØw\80Ä`)iY9\96¼\82\82\82b=
+\1f!//X\8e\e,9°\7fß޽ĺwcî\ e\17\ eUPÓ5¶vñ\19\13\95<.¿húìyó\17.Yºléâ\ 5\95³K'eÅ\85\8cr\18®§*7¨_/\f\87"\88À\v{õé/1D\9a¥8LU]SK[[§!Ú\ 4-\1aê_\9a\1aêjªÃ\94ä夥\ 6\rì×\a\1c\91±;\14\r¼P\9d3ÜÎ#\80\9f\90\99_4³bþ\92\15µë7mÞ²eÓú5ËæÏ.ÊN\bõ²3ÖQ\1a:°w\ f\12\ eÛ^RäsÔ\8fï\87²\94Õ´t¹\86<cSÓáÃG\b\18>|¸©©©\89\89\891`BcL\96ã8l-u\15E\96ô\10\89þ\94#2â\87Ð\89@zâ\85\8a\1aÜ\11\ e^££R&\14L¯¨YºjÝæí»÷\1d8tèà¾][j\17WLÍ\8e\vv·ÔWg\rêÛ³[çN\98\95E\v:\18\8aõî\ f³LUm\8eÑp\vk;\a'g\17WW7
+WW\17\17g''G\a\a{ÀÁÁ\91\82Z\8e331äèh\fS\90\19"ѯ73w((é¡\ f\11/Ô7sô\ e\89ËÈ/\99]½x%8á\9e\ 3G\8e\9f:óË\99\ fîܰ´¢(3ÊÏÑTGIj\808fe\91\83
+'=zõ\93\94VPc\e\8e°vtóôñ\v\f
+\1e3&\84\98àÑA\81þ~¾¾>\80¯¯\9f¿\7f@\0µ\1c7ÒÍÉÎr¸\91\9e\96\8a\82Ì`fîPÐ}¨g\9f\81R
\85N>a  ã¦Ì\98»`ù\9a\r[wî=xôÔÙ\v\97¯\½|áÌÑÝ\e\16Ï\9a\98\1câaÉU\95\95è\83YYä\10\ 4Ã\ 1CXª:FæönÞ\81¡c£ã\12\92\92SR)R\92\93\12âc££"Æ\8eåóùc#"£¢cbccb¢"ÂÇ\ 4ú\8ct¶5çq4\87±¤$\98¸CA\ 6\14\94ðòê\ðÂ𤠠  E³ª\97¬Z·ië\8e\ f\9f8sþÊõ[·oݸüË\91\9dkªK²"}ì\8c4 +\8buC7\141è¬ÖWRZIS\7f\84½\87\7fhTBÚ¸ y\93¦\14\14\16\15\15\15\16\16L\9e\94\9f\93=.#\r\1c299%-=sÜøì \13&\8cÏJOI\88
+\ fòv³37b«)\f\95lû;\14t$\17ï?XNUo\84#xaÎÔò\ 5Ëk7lÞ¶}ç\9eý\87\8e\9d>\7fåæ\9d{÷ïÞ¼|úÀ¦%eyñ\81N¦Ú
+Cúõì\86K6"\ 6¸!\fñû\r\92Sa\e[»ú\85ŦfO,\9aV6gêêêªÊy\15sʦ\97\14M\99\98\9b3!{BNÞÄ)\85SK§M\9f>­´¸ ?;=!"ØÇÕÆ\94£¡(-Ù¯W\8f¶]\92\13v!\99alS{ï°¤Ü\92\8aE«ÖoÞºmûöí;wï;|â\97K×ïÜÿõ×»×Ï\1fݾ²brò\18×\11l%©þdÉ\ 6ÝP\94¨\v(,5½áö\9e££Ra¢Y^½hÙÊÕµk×­[[»zÅÒEóçÍ\9eQRT0yò\94\82âÒ\19³**«k\16,¨©\9e7gzQ~VbD\90§Ã\b}ðC\89¾ô\1d\8a¶jà\9f~¢RòÀ¡JÚ<[Ï\90Ä\9c\92¹KÖlÚ¶cÇöm[6o\86¼|ðÄÙ+7ïþúë½\9b\17\8fïZSY\98\1aên®«<t\0º¡¨!tÃ!,5Î\bGïÐø¬ÉÓç.\±vÓ¶\9d{öîÛ·w÷Îm\9bÖ®\2\7fî¬é%ÅEÅ%ÓgUT-\ºr\r¸híêå\8bªf\97ägÄ\85x;\99ék(H\rì-Ö­í&¡d~\ 2\93«þ004°t\ f\8eÏ.\99·tí\96\9d»AäÍë×Ö֮߼óÀñsà\87÷îܸ\0nXU\94\16æa®\an(\8en(b4\88\86\9c\11\ eÞ¡     ÙE³kVnؾ÷б\93§Ï\9c9}òØ¡½Û7®^2¿bféÔâ©¥3æT.\^»që\8e]¤¹7Õ.\9b?«(;1ÜÇÉ\8c£Æ\1aÜ_¼\rÓ2=Kî+)«¢7Â9 z\qÅÒuÛ÷ìß¿gÇæu«\96-Y¼lÕúmû\8e\9d½|ýæ\8d+g\8fîX=¯\0£¡ÈB\8d¯`l(«¢kjç\15\12\9f]\¾xí¶ýÇÎ\9c¿|õÚµ«\97Ï\9f>ºoûúå5\153J
+\v
+\8b§Í®\´jö=\a\8f\1c;~ìÈ\81Ý[×.\99W\9a\9b\1cîí`ª;LF²oÏ6\v\87\82\ e4@JQÛØÞ{lú\949KÖíØwèðÁ=ÛÖ¯\T=·bÞü%k¶ì9zúü¥KçN\1eز¼|RR0\8e\rE\14ÁÊ\9b\84´\92\96\91µ{PLVaù\92õ»\ e\9f¹týö½û÷ïݾ~ñôá]\e\96Ï\9f]Z01/oRÑô\8a\ 5+7î<pìô¹\v\17ÎÿròðîM+ª¦å&\85\18i)H\r\80pØVnHÏO\ 6É©é[z\84\97-\»ãÀÑãÇ\ eíÞ¼zÑܲÒ\92Ò\99DÔ]\a\8f\9d:uüÐε\vgäÄ\ 58\99àLY$\11\8có\a\f\91\98\8eM\9b<kÑúÝÇÎ]»ûàñÓ§\8f\1fܹzöèî\rKçM\9f\923.3s|^á\8cÊ¥ëv\1c<yþ
+$»ë\97Ï\9dØ¿uUué\84¸Ñ®æ\1cUYÉ>bmÔÄt0\84ù\892{¸\93\7fÌøÒê5Û\ f\1c?En\99¬_:oFa~nî¤â\99UK×nݽoÿÞ\1dë\97U\14fDxÛ⺡h"¼)+)£¬Í³\199&!wzÍÚ]Ç/Üüõéó\97/\9f\7fãüQ\b\v'¤%ÆÅ%¦O(,«Y½õÀÉ\vd)äþ\9d\e\97N\1fܺr^Qf\84\8f½±\96Â\90þmõü
+\1d\fû\r\eZ{\85§\15T,ß²ÿø/g\7f9q`Ûê\9a²\82  é))iã'\95\94/X±vã¦\rµK+Ks\12\82Ý-8ª2\12øl\83\b"¼§LæÊfÎþQYÅU«w\1e»xëá³Wo^¿üíÁ\8dsG¶¯ª*ÍM\8dá\87\86\86G'O(*_²aÏñ\v7î=zòäñ¯·/\9fÞ¿iÉì\89\89ÁnæzäÉó+må\86\82`8Â%(>wæ¢\r{\8eýráÂÙ\13û6/\9b[<!%&bld\ê\84\82\19sk\16/Y\SQ\9a\9fÂ÷±7ÑÆ{Ê¢I\83§\ 3´\8cl<ÃR&\97¯Ø~ôÂíGÏ_¿}ûêÙ\83\eg\ fn^:{rFL\88¿··ßè\88ä\9cÒªÕÛ\8f\9c»qÿɳ\17Ï\9f>¼}éÄîµó§fAÆ3T\97\83¬Ü&¡\86\1aKÀÈ\10\82¡Í(~FQåê\1dG~¹xåò¹ã{Ö/\9c91-*$Ð?`ÌØøôÜÂie³Ê¦\17æ¤F\ 6¸\98sÕä\ 6õë\89¯E\89 \82'öú\r\92\98¹\ 6Åç\95-Ýrøü­G/Þ¼{÷úÙ¯×Nï[W3mB|\88\8f\9b\93£\8bg`Dê¤YK6\1d8síþÓ\17¯I¸¼yþðÖe³È\9d²Ï\8dÿ[øálªï\88\ f\18ªÄ\1eîLD\ 6\89N]¼výʹ£;×TM\1d\1f\17â;ÒÍÍÓ78"!=;/?\7fBFâØ\0wk#mò¼!\f\r;Õ¿áÚ±Ü\91ù·È¿µjá£^\ 3\87*j\e;øEgO_´é\90À\r_ývÿÊ\89]«ç\15¤\8fõs±±0·´÷\b\8a\1e7µªv÷É+÷\9e¼|óîí˧÷®\9eܽ¦² 5Äݬ\89E¹f¿dÿ¹Ï\e}F\8dhÅúHÊ©\19X{ñ3\8a«Öì:~þÚÍ\9b\1eÙ¶¢bJêX?7{kk['\ fß`~L|bBlD\88¯\9b\8d1[\ 5\82!}ë»Á«Ö_²Ûg.ût\11\9f/úK\ 6i\8eÁ>û\9df}µE\1döë«oT\80\90Êp\11\v6\1e<G¹áÛWOî^<º\rb]B°\87Íp#\ 3Þ\b\90¤\89s\96o;zñÎã\97oß¿\7fóâÑÍs\a7.(Í\1aëeÅU\91\1eØ`ä%\10¦\89÷쿨Âç?\13\7f\88¢¶©S@\nÙ\92Í\a\7f¹rëέ«¿\1cܼ¤,7!x¤\9d¹\89±\89\99µ£û(ÿ àÑ\81¾#\1d-\8duUå¥\ 6öéI=*ÞhóÃføK\93\92}°}À'¾ÔD\91\9f\87Vk^\83Ö\7fã[õú\Á_¼îC\91¿Jò\86¥PÏKõ\91\90QåZyò3¦Öl8@»á\9b\17\8fo\9d?´iá´qQ¾\8e#ôÙ:º\ 6fNþÑã§-¤\1dõíï¿¿{õ\14<uëÒ\99\13¢}l\rÔd%è9J½\\1f¼\80/°OCñ>¸ð#ó}ò32\8e\10ë-!£Â±\1c\19\96VX ÁðâÍ»wo_9³\7fÃ\82iã£ü\9c-\8c8ºº\CS\v[G\17WWg{ëá\86lUê9 jw¯z\ 4o[7õºõGµ7\14M(YãVÿ\8c:õE
+·%\10^RwÁÇU~R¶ÆbÒ%6W¯\ 6µ|j\17Ò&\9c«)Çj²¡;\7f®àOêA¯ÁI\ fãX\8c\f'nHG÷o\9e?¼ñ˾uÕEia#­\8dtÔUÕÙ<\eÏ𴢪µûÎÜx\bnøÇïo\9eAÞÞ¹bN^\9c¿½\91\ 65G¡Ýðgá\eøõoßS¯Ù×íyYßh\9d\84ûbÖï\89ùsýg\9d\e}FÞg\85ð=X^\93\e\9d=cѦ\83¿\»sÿþí+§ö®­.Îà\8f²3ÑÓRSS×bë\e\99\8e03\enb¨§©"/=h\0µ·\97\0ê\1fôÛÖÂ4ý±u\eJÖ¥     É\ 4Û\vÔ·úÏ?7©Î\aÊ6Ø\96@°í@½\ fÿüA¹\1fØë\93Nø3½©c\97®Ô¶\8eB½º6­W\83\9dH;\7f,bÓÎ]ç]u~ý +5Øf¡\81äÍ\7fgS0à\17¸a        $åó·\1f\83\e\92\19ʩݫçNJ\1cíbÆQWVTV\87YLpÒ乫w\9fºöàùÛ?þüãí\8b\a×á\9a\8aI    \81\8eÆ\9a¬Adª,p\95ú\17ðë^´ïA½ÙÜ¥¾i(\83té"0`÷\86\v[D¸gf\9dË\10\ 3\92Á¬´².%MŪ\9dÇ/Þºÿà×Û\97a\98:¯ %ÔÃÊP[EQAAi\98\9a¦\8e®\9e\1e[[\83ÚÆf`¿>äýê\9e½z\89\vèE\84êÞh\1fÎz\87\ 1Ó
\96´l]G %\13îå)ØÊ³³°A\9aP§A\91D\1f11Á¶\ 3Ô7\e¸p\83m\v\ 4öúô\e¸\ 2\v
+D\ 1;×)V¯W§\8fô\12~¡NƦv!m¢Ãt­Ó¾î²\ fÛ¯AC÷¬×ì+^\1eþé'¡\eZz\8eÍ*]¸éð\85Û\8f_¾yCf(Çw,\9f\9d\eëï`¢3L^N^EÇÄ1 .oö\8a\1d'®þú\8c¸á»\97\8fn\9cÙ[;orR\90\93\89\96ü ê¶r]#\89õ\12ïݧ\8fðíû¾}¨=/{t«kÎNÂm1Á5hó      >'\17\v\11#\1fõîM}Fé\ 6t\17#\8fchPcÙ\92\9aõûÏ\»ûðÑ\83Û\97Oì\U19)ØÍB_CINFZF\96\ 5®\b()ÈÉ\90ýåúõíÛ\87l\ 6Ð\7fÀ\80\81À\80\ 1ý\89P\1fìÃY\17µ(ë\12ÑzÕµ¬Àa;7\90¬·`+Oê3zã\15Ú!>PG\90\7f©¯õ\10|M¸í@O¡»tª·\ 6].UrO±º­\19\eçÃ:\v\92¯\80\9d?Ы¾h\81'üÔà\v=\84>['b\ 3\aû©Ñ>\1eÂ.A¹uÝ\90IXZ\9dJu\9b*P\9a5ÜN¡\99Ѱ\87ø@\19U}ëQ\91ãg,Ùräâ]\98\a¿yIf([\97Ì\18\1fémc¨©(+-«¤Å³ó\8dÉ)[¶ýø\95ûÄ\rÿ|ÿòÑÍ_ö­­\9c\92<ÚÙT[ap¿\9eÝÁ\87\88ÓÛ]J\ e¢ß¾\1f<HRb`\7f\12\90Ä\84Í)ôUÊ\82´ý\ 4/áw£[\14
+éÓ\97ú\b>ì×\97j\15 §x?I\99aºÃ\9d\ 3ãóf-Ûzä­_\1f?yxûÒñ\1d+Ë'%\ 6»\9a\15\ 6\ f\1e"5TZ\ 6\90\1e
+µK\90ò\a\82<ä×C¥¥e¤¥\87J\r\19DÞ¶®ß\87óç:'¤¬KT «\87\96%\ e['Y\ fJ2²\99§\84DCÑê\1c¢N\1dÚÉ»ÐnM\14ê×\9f\18\85 )1\80zÕ»\a=^íÚ`\93PIêc(\99*\0dû¸1\7f\12lé(4Ò@        °3ÑKº^/"p7¡\13\vÜ\86vÚÞĬ\ 4Êa{
+^6\17:\18e\80ú0BíÔA÷\98\ 6½U¸·.Õ~ /H<X¸Å\ 2ÔNlÒ úfºao      Y5C[ßhÊÇ.ß{úê\rÌPn\9f?´qAIføHK®\9a¼´\94´\82\86¡­OTöÌ¥Û\8e]¾ÿì\rå\86\8f)7,H\ e\1e±ï\ 5\15w\13ì\ 1A¶»\84\88$O¿~¯ Ï\92\95\96\1a,IY\96ĵn\94¢½Á\82à\19\94¿\10w¡?\17£[´7]\88à3\12ÏÀ\1c`\9aþ\92Ò\8a\9aF6^áéE\95dùèO\1fÞ\ 17\AÜ\90DCE\19¸\\82lùJÚ\93fРp@\199\96\82¢ò°a***Ã\94\95\14å!N\ e¦÷á\14ظn×X\81
+Rà±P»p{\0Z4\10\9bÚ^@FVNV\96\12\8d¸)@\9cLr\10åÿÒD\1d\89zu\ 5EJ
+v%\90\97gÉÉÀ7\aö§G¬t³\835(«É±è]       \88\1e¡\1f7&\1d°ºv\13\88\ 4½\94\84z)Po\91Kôï+.Ø_T\90òIç\12\98\j¨ÀaAÄÞÔËæ\r\1c\8cÞ±\94ìãA¼k0Õc(EèÂêú@S\rMZ\9aÒ¬AõÍHÌäÎ\18Y\85Óà9øÇåÏY¹óäÕû¿½zóúùÃ\9b¿ì_W]\98\1aâf¦;LVjÈPyu\ 3\eïHÚ\rï  ÜðQ\ 37T\1cÒ_\\8cø\ fX\13,#ÃRPVQÓÐÔÒ¦Þº×ÒPS\81ô8t°\ 4Ý\9c\1fõ\ 3«KËÉ\83c¨¨ª¨(+ÊËR\96§¼\8d\142T\16>SQU\ 5Û*°Hf\85¸\ 4V\97VPç\9a»\ 4ÆåÌX¼éàÙ\e¿>}öÛ#â\86äaÿ\10\98Pi\ f\93#Y¸?\ 1ú<\15\93©\96"\ 2ié°õô8\1c\8e\9e.[[S]EI^\86¼÷Oo\bÛY\90:{\82\9fI\ e¡j\1fFU\ f\92K\ f\91\1c\aÔn\9eòJÃTÕÔÕÕT(Ñ\ 6Cð"±\16ªùP\1d\9e={    \15\8c¢¥©©®:\8c¼ê-I_Ð\8brÒ!ô&¡\1a\9a\9a\9a\1a¤dÙ¡d\8fÐ\8fÞ\ 4\17¸\ 1µÛ\86 Ìa\94^ºuz©©(²d\86H\ e û\8bvë"\18¶RnÓ_\ 2d\97SP\ 2\19Áª\94\88\ 3\ 5®.\18ÃR\17ö&Â\90^+/è1D\11Z\90Nt_ýÀJtC\vZ\1a4S\86ê¥èêi\aÿ²\evî*Öw°¼\96\89óh\98\7f¬Ùsúú\83g¯ß¼~öàúé=kæNN\fr6ÕQ\92\192X\8aEܰ>\1aþN\8d\roþ²·¶rJ\12\8aR\ 3È$\80\92\r\1aIEC\9bÍÑ7ä\19\9b\98\92·î\8dy\ 6\96\9a²<\11\8f\8c\1f¨n,-§8L]KG\8f£¯¯ÏÑÓÑ\84Ïe)o\83\8e8D\9a¥¤ª©£ÇÕ×çrØÚäý|èe\10\9fä\9448Ã\1d¼ùé\ 5sa\82réΣgÏ\9f\ 3cÃÕó
+ÓøÞöÃõÔ\15eÁiú\93½\9fH\86$¶b)ªÀä\99£odl:ÜÌÜÜÂÂÜl\84\80Ã\16ìÃÙ\97^ÍéJ;áÀACe\15\94É\1c\87Cª×ck©\ fS\84>$II6x¨\9c"\91LßÀÐÐ\80««M\9cY\16â\9f\8c\9c<=1\82/q\ 5ê\10g ä ¬¢¬\ 62\18\18\19\ eèëi«\ fS í\ 1rJ\90bÁjzÄhÆÆ<C®®\96\9a\12k¨d\7f²ÞYÿÆYÝ\16Ëâ`iè\ eÊ\94(\86´^\80Ùp\13ÐKGCEQVJ\92ÞÎ\80$}\92@!\91\80£+\11Kèq¸\1c\8e\85\94%=\98¸:½\v\fí`½ú\ e \f ¢Nõ\18\r5ªÃHô£ü°35&ìNv\9c\19$E[I\8fìk
+\rMµ´   \8flo
+ÕËQÕ7ï¥MpÃn=û\rQd\8fp\vI-ª^·ÿìÍ\87Ï_S3\14ÁZ\8c\ 3OSaèàARòê\90\94£'\bÆ\86\94\e¾xXï«Ú\8aC%úQæ\ 6ÙT4t8\86Æ#¨ý.\1d\9d\9c\9d\9d\9d\1cím,Í\8c\rt5U\14\93 \91\ 3L¨®­G®³´¶¶¶4\1fn¬¯«©J¼M
\8aÂ0\r\1d.o8ùÌÊb\84\89\ 1i4\bù
+JªZÜáv\9e!       ¹3\16\7fæú¯O_¼|þäÞ\95\93»k«KÆÅ\ 4ºYñØju~H\92\86\94,i\7f]}(ÌÊÖÞÑÙ\85Ú\ fÀÕ\19d¢öáTW"\16#¹©{wjC\9fACå \16]\ 3ºvªzC=mÒG@²¡Ä\9b´A2\vk[[[kKzë\05\95adó\15\1d\8e\811|ÉÊÚ
+Ôáé\vÔ\1d\ 4á\18\9aUESWßx\84¥\8d½£\93\93\93\83\9dµ¹©!u\81\14¹\80ô:5m\8e\91©¹5Èèèhokef¬¯\ 3\9a\f\1e@ùáÏu\93\ 3\92^)\9f\92\81­Ï#\e\8bB¡ÔF\a®.Î\8e\16¦F\1cmU°\ 2ÙÎ\80\8c
+H\9aí'1D\86²ª\91     \98ÜÊÒÂÌ\94§ÏVWfI\915UAÔ\ 4/\14ï+1D\96\94L¶ñ\80\1eC:\8c\9a2\8b^y%>Mvxî3@\92\12Tof  2CC\v\164\83êI#\fìÛ,?\ 4¥È=\89¡Êz\82õ\9aCd½æõ\9b\97Oï^:ºméÌì(\1f[Cuy©A\83\86Êk\18ÙùÅæÎ^NÏ\94Á\rß>\7fpíÔ®Uå\13\13\ 2\9dLt\94¤\aA^\826WTÕÒ34µ°±wvóðòöõ\v\b\ 4\ 2ü¼=]\1d¬G\18\88£Aè\80ø¤©k`bnãèâá9jÔ(O\ f\17ø\9cÇ\ 1oSRT\82>®k8ÜÒÞÙÝÓ\v>\82¯B£èjihhjë\19\99Ù\8f\1c\1d;®¸rÕ\8ec\17o?zþêõ˧÷¯\9eÞ·~á̼¤0\1f'\v\87\90k\aP¡PZ\9el\ 2Ë\eaeçä6ÒËÇÏ? 0hôh²\13\80\8f\97»³\9d¥)il\19\b $9\92´\ 5m\0~flfíàBj\1få5ÒÕÑÖÜD\9f­\ 1ÙF\11â<[ßÄÂÎ\19\94óñ\19\ 5\9fÙ\80Õ!\98CL\0ß´¡¿äåéNÔ1ÒÓRU\92\97\93\858 V1\1aaíàêéí\17\10\14\14\18àëåîdcf¤§ a^VVN\ 1\84\84bm\9dܽ|@Â\0?\1f°\97¥)Wk\98Ü\90\81\82=ñèÁ\9b`\8be  )"&\877ÂÒÎÉ\95\18\9aè\15DJö\ 3½\9c\8d¹Úª
+Ò$ÐÃ\18\88ê]ÒòÃ4õÀª¶ð\85\91\9e\9e\9cí­\86\e°Õàªþ\94\1f\921  µ+\10KE\8bcDõ\18GG\a\11<®`¯R±nÔìQ\1c\ZVIM\a¬dEª÷\1cåãK\fKµ4eV\v\13áW\9aá\87ôzÍ@i\95\ f'ʯa\86ráð¦\85¥Yc=­¸ªrCÀ\r\15µ\8c\1d\ 3âóËWí¢Ö\r\ 5Ë×\82E\1dG\13\1deèÕ\90ý\14UÁ4f6d\v\bÿ 1¡ü\88¨èØ8²çedx°¿\97\vyÇ^[m\98²ò05pÖáV\ en£ü\83áª\88\b~èh?/\17;s\13\ 3]\18a°Áol\9c\ 6\85òÇ\8e%\1fyºØA\17\87¦¶rô\1c\1d\9d1eö\92\8dûÉc\16ÔòÒ¯×\7f9¸yYyaVl°\97\ 3y}Z\89äP\12\85äÀZÄm\Fzû\8f\ e        ãS¯ýÇÄÆÆ\92÷þC\ 2}<\1c­Hc³ÈX\ 6¦¹\ 3¡±T´¸Æ\16v®^~£CÃA²±ác\ 2¼Ý\1d¬\86\eÂà@[\aú\98\95\83»OPèØÈ(("Ø\7f\94\9b£­¥¹\99\99\85µ\9d³û(\7føÒXZ\1dOZ]\r5U5H\ f<3[\17O¿àðÈØø\84Ä\84¸è±!\ 1`\ fpD-uUU5M²S­\83»w`ÈØèØøøøØ¨ð`?\ f\aèRª¬!\ 3\ 4o\9cÑ3\b*\16\r&;¾p©îàM\f\1dNïg\0D\93ý\f\ 2¼Ý\1c,\8d9\9aÊrR\12ýaþÔ\97ô.%u]C°ª\87O@ph8\9f\1f\1e\12ä;ÒÉÊ\94£©$Cûa\17âá}\ 6JÉ«²\8dÌl¡d¿\80\0\b \1eζf\86:ª,©\81\90dIÆèÝ\7f\904T¯ojiïêé\13@Ì:6\82ÚM\ 1Z:&\92\ ffuw°àé\92íM©\97\87¿ðæ\85p¢¬nhç\e\93;k9$\2Q~ýüÑͳ\aÖÏ/N\vu7×\e&;dÐ`\19%\9dá.0|\9cG\86\8fÔ]\94÷¯IÈܺdæ\84h_{\13\1d\15yÒ§¡\17\19\9bÛ\81¹Á\7f"câ\13\93Ó2²ÆOÈÉÉÉ\1e\97\9e\14Ã\ fòvµ5ãquutØ\1c#²7+y\0!15#k̴ܸÄ\18þh°\9eÕ\b\13c\93á\16¶.^\ 1¡Q       ðYVFjbtXà(\b\89\16æ\16Öö®ÞÁÑé\93f.¨ÝE\ 5Ã×oß¾~öðæù#ÛWWOÏO\8d\fò\ 4\85\#3t(\f>Á§L\84íKïI\91\96\9e\91\91\99\95\95\95\99\91\9a\14\e\11â7\92\9a\ 2\fã`\961DFQ\8dmhfçæ\1d\14\1e\9d\90B$ËJO\8e\8b\18ã7Ò        Â\9e±±©\19\88í\17\12\19\9f\9a9>{|\16Ñ
+<ÑÃÕÅÕ\1dZdÌXZ\1d"sL8¨\výÊ\90Ëá\1a\9a\98Û¹\8e
+\f\8fNJ\1f\9f\93?iÒļ   Y)±ü Q.6#xú\1c\ e×\b\9cÐÃwLD|JfvnþÄüÜñ\19IQ!¾®Öä©\fú\8d3áØ\8dÄ")Ö0M\8eP¯¨ØøÄ\ 6\8ae¦§&Æ\8e\röu·'Î#/\r\ 10Úe\rÓâ\9aZÓ;\91&¥edf\92]\ fB\ 3F:\98\19h)ÉHRë\1cdÿf²\8d\87®±\95³W`h\ 4\84\90Xè/þ#\1d-\fµ\87É\ eêOg\8c\ 1\83ea\80nl í7:,\824s
+ÔMm§\903!{\FJ|ä\18_7²½)\fÕ\9añò0=Q\1eÄÒ4v\fL\98X±j÷©k¿\92\87^a\86B\16¦§À\1c\8e²ÌàACdUôÌÝCÓèáã£\97ï~ÿýÝËÇ·Î\1dÜ\b!3ÂÛÎ\98­¦Lò\95®\91¹\1dÙ\86$261%-s\6\98¼ ¸\84¼d_R4iBzüØ /gÒ\9a<\93\11\10RÀì     éÙ\13\v¦\96N\9bVR\b\9f'D\ 4ûz8;ØÛ;¹A\9bŦ\8eÏ/\98ZR:µ \7f|J\f8¢»\8b\93³\9b§\7fhLzþôª\95[\ fþ\ 2ÁðÕÛ÷ïÞ<\7ftûâñÝë\17Ï)ÊN\1a\e\1eüPc\98¢¼\ 2IüFæöî¾Ácc\93Ò2\89\99rrrsóò'N\9eRP0erþ\ 4ª±ÝÈkÿÊ,i)2\ 1R×åY:y\ 5òãRÇçM)\ 6ÉJ\8b§äf%G\87\ 6x¹:ÚÛ;B\1f\v\89JÊÊ+(\996cz)Ñ*1:|ÌèÀ àб1IéÙù piéÔBJ]Ò¯\ 4\9d\87R\88Þ\91 ¼¢|öÌ\92)9éqá\ 1\9eζ\16$\92B\80\r\8eLÌÌ\9dR2cÖ\9c9sʦ\17O\1c\97\14\11ènc¬C½q\ 6mÙIè\85Ô¶C\94^c(½Æe\93í4&ääæM\9c4yÊ\94)\93ò²Ó\13#Çx»X\eë©+É\92\99\9d\8c\82\8a¶Á\b;w?z'ÒÂâ\92\92bʬ!ÞÎ\16\ 6\9a\12}I¤\13£Þ\91c\eÛ¸û\87Å\92\1e\91\9b3\1e\8a
+\1eåh®O¶Ìí×[\1cfpCä\86i\e\98ÙS½1%cü\ 4bP¨\18
+-\9dF¶S\98\92\97\95\14Imo*xyø\v{zÐ3\94Á
+\10é\82\93\v*©ûÅÔ\få׫'w­,Ï\8f\ fp4ÖR\94\1e<\98¬×X{\8dÍ\9a¶p\13\f\1f\9f\80\e¾\7fó\9cøêÚª¢ôp/[c=M55\r¶Áp\e\17ïÑüØ$²ï/´uAÑT°ú¼ªù55ó+çL/ÌM\8f\ró\1félgcmëà:*\88\1f\97\9e3¥tÖÜê\ 5\v\17ÖT\95Ï(ÊËL\88\f    ôõññ\87BR'L)\9d=oþ\82\ 5óçÍ*\994.)*4Ð\97<\7f\e\1e\9b\9eW:oÙÆ½'.A0|óþwò°Ï\9dK'÷mZQ5}Rf|\98\9f»\9d\99¡.ä:\92ê\86Û¸Bû\92\87\ f'\15\14\ 2\ 5ÐL Véô\99e³Êf\96\16å\8fK\82\0jof\0Czyy\18ÂëA$ð\1e\13\952~ÒÔ²\8aª\9a\85\v\17TÏ-+\99\ 4-\16>ÚßÇÇ704*iÜÄ©³æÍ_¸hQ\rÑ*o\1c\84\9f\98\98¸Ä´qy\ 5¥³àK seù\8cÂÜ\fpD\9f\91n®n#½\ 3ÃbR³'\97ή\°dùÊU+\97\99;³0'5&ÔßËÍÅÙu¤Ïè±ñ\19yE3*æ/Z¶bÅ\8a¥Ô\9bàéQAîV\86\9a\8aR\ 3z÷ +\9b\9d\ 5[°)ipMA¯1\91\89D¯)\ 5D«É\93)G\986£¬¬lFIa^fâØ@\ f»á\-\15\ 599\96¢ª\ e8ÎÈÀ±       \99yEÓçÌ«®©©\9e7»tòøD¾¯3q1)\98        Á\18²Ï@ò\10´µ{`Drö¤©`¤\19%\ 59i1Á\9ev&ìa0]ê\aé]\8a¥ÂæY\12#     <º\14\986}æ¬9s©\96®ª(\9b\9a\9fI¶7\1dA½<Ü«û\17\9eË'nØ«¿\94²®¹GXºðÁ\ 62C¹wùØöee9ѾvF\9a
+ÒC\86È(i\19\91\9b\8e]ºûôÕ»÷ï^ÁEÔ­\8b¤\90\916&\6\8cç\8c-\1c=é02© ¨x*\ 4²éeå\955\8b\97¯®][»zÙÂy3
\93!^{º»¹{ù\81\11³&R\9bÁծ߰a}í\8aE\95eÅy\99\91\88\876\9bV^³lõºõë×®ZRUV\94\93\16\17\11:fLhD\Znñ\9cEkw\1e9{ýþo¯ÞÁð\80¸áåS\a¶®^0»('%
\80\r\fätÙz\ 6&\96\8e\9eA`úÜ)Ĥe3§\97\96\14\17\91\97ÿ\ 5\9d£j.X,#6Ä\e&6º\9a0\88ÓÒ3&\ 6\8eIË-*«\¸|ͺ\r\e7¬]µt~yéäìÔø¨\88±\91±IYùS©}\9b6nÚ¸~Ͳ\ 5sg\16\19\9f\955>g"4põ¢\15ð¥\rëÖ\80:3\8brÒã#BG\a\ 5\8d   \8fI\1eG\94\85¯mÞ¶cçÎí\9bׯZ4oúdÒ»\82üý\ 3\83¡ÛeO\99^±`yíÆ-Ûwlߺ±viõÌÉ\19Q\ 1\1cU¹A}É\12\1cÌQÁ\v\aË*k\19\98;x\ 6E$fBL\ 6½fÎ\98\ 6j\15\16\9f\ 2xÂÌ¢¼ô\981^\8eæ\86:ê*ÃTÔu\fF\80\17F$\8d\9fB6\81\Y»nÝÚÕËjÊKrSø¾N#Èn¸\90q{\89SÏ@\9b»øG¦å\97Ì©Z¸xñÂê9¥\13Ó£\ 2\-ÈÎÍ\92\ 3\aJJ±TI¸\fà'få\17M\9fU^1·¢¢\1c"üܪ\9aÅËV­©­]³bqUYavBè({\13¶²´Ä\97Þ\96\13ÞQVáZyE\8c\9b¶hó\91\8bw\9e¼|ýúå\93;\17\8fl^<}\Ä(\e\ 3\r\ 5i)i\96ª\9eàÉ\86]d\81ûõ[\92\bo\9e;´iñ\8c\9c¸ 7kS\ 3®¾Ñ\b\eWßPèó\93\8a§Í\0ÛÌ\9c\ 1\7fÎ\99Go|       \86ß²~å\82ò\92¼ô8~p\80\9f\7f\10       *\93§U,\¹~ëνû÷ïÛ½}ãêÅÐrùÙ\99ééY9\93KæÌ_¾n\v|´oÏö\8d«\16\96\97äg&ÆDFF\83\83\16̬^¹yÿI:\18þ\ 1n\b\12¸á\1arUF\¸¿\aL(\8c\8dx0 só\r\8dMÏ-\84þ_U]5¯|Ö\8cRh¯¢\92鳿Î_¼\f¢Ò2ðýÂìÄp_\17+èJ0dåA\ 3\8f\8eJÍ-\9e=\7fÙÚÍ;öìÛ¿\7fïÎ-k\97×Ì)\9d\92\93\95\91\9e9>¿hfå\925\9bvì=pðÀ>ò\118bI!ÄØâé³+\17­XG¾´o/¥\ eô»\9c\8c¤¸\98ØøäÌÜ\82\19sAÙm»\ f\1c>vüøÑCûvl\¹`ÎTªßEFÅ&gæ\15ϪZZ»yç¾CG\8f\917Á7¯^0krÚX\1f{c²(KMR©\eê²Ãt\8c,]|CãHð\14èU6}jQAAáÔi ×¢e+W®Xº`Þ\8c)ãâC¡\7fñ8:ZZ$-¸ùó\13ÇO\99Q¹xõ\86m»öìÝ\ 3²/«\9a\9e\97\1c>ÊÎX[      Fq0\95\19HÞþ¶óæ§äO¯\ºf=t4ТTð\1e°\92\fÌ\12`\1aÍ6¶õ\b\8a\82hP6w>xê¢\ 5ó«*+«æ/\ºjí¦­;vîØ¶qõ¢\8a©Ùñc<¬\f\a\7fi·çº[y\ 6¶>Ô­¼c\97ï=%\13åG0êÛP35#|¤¥¾º\82,\8c\984\rmF\8dÍ\9cZ³~ÿ/7\1e<{ý\96DÌ+'÷ÔV\15gFú»X\ f\87±»¥\ 3Äü¤q\93JÊÊçUÎ\9b[>\e<\11\82áÂåk·ìÚ\7fè\by\9d}íÒyÓ&e%F\85\87\86ñ£\133óKÊ\17¬Ü¸cÿ\91\13§Ï\9c>yôÀÎ\8d\10!Ê I\v\8aJgW-Y³e÷¡ã§à\93#û¶Ö.*\9f\9a\9f\95\9c\10\97\90\ 2Áh΢Ú\1d\87\7f¹\ 6ÂB0\84ÉÒ³\a7/\9cØ·eÕ\829à¬ñü@\98r[\99\9b[Ø8{Bÿ'Afþâ¥Ë¨-y¦\17\17L\9e4¹°¤lî\82e`åÍ\e×­\X>5'\99ïçj3\9cg`hlfëæ\17\9e0nÊÌêeë¶í=\fõ\9f9uüÐ\9e­k\97Í\9f\ 3_þÿ\8c½u\7fUYÒ6ü\9bç½GZ\81F\1a\1a\v\16www\17B\8c\18qWâ!îîîB\88{\88\13!
+Qbh Á¡»g>Á[µö>1 gø³O\9f\93½ö*¹Ê®\8a\89KLË-½ÝÒ34>ýàá\83\99û÷zÛë«\8as3ÓRÓ2s\8b*ï´v\ fÂ\97f¦'Ç\87î\82\9cå¤Ä\86\87\ 4\ 5\ 5\87E'fÀý·Ý\1dBòÅ¥¥Å¹\99ûC]\8d\95\ 5i±aA~7ý\ 2\92@ðñON=\98_X\9c\7f01ÜÝP\9a\16îI¦
\ 1:DèöÓ/¿\82\14\8a\98Ù{\87Æ¥ç\81ýÁsåe¦ÄGGFFÅ&Á\7fª¾ÓÜÚÖÒX[\9a\9d\10\8aú¥()"\b1\92¼\86¡¥\8b_dJ^E}{ïðøäÔ\14Nvß.JÁÁEy!ð\9eG\ f\1f\86\9f\87 @ÛÂýVJamk\ f\98\87>xÈ\9c8\7f\aclq9\7f\1a,\12\v\8f\98\92\9e\85K@tZ~\19ø9BvTRTXTRQÛ\0Êyotld°»¹*7>ÐÙTC
+Ìá\7f\9b\96£KyL\1cbj\98\8b¹\r\96n\93*å­?\18l,D\ 6"0Å\97\98\98.±ñKk^w\v˨ê\1c[ ©ºO\18\9c\8evTgEzÛ\ÓT\94\95\96UÒ4´t¾       *]PZ\ e
+R\98\9b\95\96\92\ 2V§¤¦©kpljöÁÌäHoKM\ 18"o7g'\17\8f\9b¡±8úÜ=t\7fvay\ 5I1ï\ fu7ß./ÌÍÎÎ-,¿ÝÜ34ñ`ñÑêÊòÜäpW=8ܰ\0\1f\9bÁ\91ɹ\95M½ãóë\9bo?\831üÏ\1f\1f_?_}8ÖÛ\\r¾\0|·íuC\1du\15e\15\r\80ð.7Ã\93²áf\1a\e\eêÐ\7f&F\87\87\86\84\ 2\84\ 3[ÛØÑÓ×\a
+é'ìLuT䤥 \ e\ 6oç}+!»ìNGÿØôüÒÊÊ£¥¹©Ñ>\90\92ü\9c¬ìüâªúöþÑéùG«ëk\8f\16\a:\e
+ssrò\8aà¡á¬ÓsK\8f\1eáq\ 6»\9aPx\13wY/zð°+ë\8f\9f<ÙXY\98\19ím­-ÉN\89\8b\8a\88\88\8a\ 3Å«j \7fòÑÚÆã\8dÕÅ\99\91îºÂDÂÍÈy\ 1\82å\1f¾'m\1dW@
+uÁ\16E$\83\a¯olj¨«*ÉMC\\10\1c\12\1eC\9f«·¯§½¡2?é\96\97\97\8c\84¸¤¬²\8e±\8d{PLFqmkï½É\a 
+\v\ f&\86:o\17$\ 69\99¨câ÷ÄÑ_\8e\9dºÀ!¢lhï\1f\97WÓÖ?65=\rÊr§8%ÄÅLC\8a\8fõ¹sLÌÜ"
+È®\10\9bYRÛÔÖÑÙÞR_S^\\90_P\84\ 6§\7fd\ 2L
+ÜtseV\94\8f\8d\81\82\10Û\7f\9d\96#\11Êá\93\17¹%5-¼bò\e\ 6fI)ïÓ»\97«3ýõ\10([éÈ
+BÈy\99\15\14àª-iv\9e\~¶ýþÓÇ÷ÛÏ\96§ú\1a\8b\93\83]-\r4\94\14\14\8d¬]\ 3¢RóÊjêîÔÕT\14å¤'\81ûKÎ,¨lì\1a\9e|¸¸\f\173Ö×R\rö0ÈÇÃÝÝÛÿV\zauËÝ\91é\85ÕÇO\9f=}¼º03ÖßÙTWUQQ      \8aÕ{oj~åñ³çÏ\9f¬\81©k\ 3\ 1\8e
+öóñ¾   \18+·¢©÷þü\ 6<,å\93_=^\9c\10,¦§\93µ\19ÄÔ\9a\9a:WÍlÝ\ 3£ÓÀ\83¶vtv´6\80H$E\85øûxû\ 6ÜB\rhìê¿7:\ 2F\vé'@\ e\94\14\14\f-\1c}n%æ\947t\rMÎ=ÚxúìÙ\93õå\87\13Ã=­õ5\15å\15UuÍ]\ 3ã\ f\96Öq\ûÙÆò\ 3Z\ eóó\v\18Þ½75÷hýÉÓ§ gÓ£½mw*\8ar3Á-d\17\94V7´÷\8dà\99\9e¿|õêåóÇ\8f\1eÞ\1fh¿S\9e\9f\99\92\94\b0!¿¬¶¹{h\82p\91½\84\8f\97g\86Û«2#<̵¤x/\9f>vè§\1f1F¦96\ 2¢Á\7´uv\91se%F\ 6ßôöòñ§4\9b\9c\at>\19åP\a\\ 3\84âz¦`åAxêÚññWQÔ\17¦\86Ú«³£¼­õä0=|üدg.óàtÅ-2w\v\97¶øpb ¥"=ÌÝ\K\9a\9f\r\82¸+\9cB²ZfÎ\ 1qÙåõíwÁµ\83¼×\94\16\80~\82\a5\9a\99_\\9a\9f\19½Û\0²ál¢&Î\ 5^ù¯Ù2è\bå2¯\8cî\8d\9b    ÅÍÃ\ f7¶¨R\1e\ 4Êu¹¤aE\98\9b\8d\95\9dGDNÛÜíVZyëð\83µ\17¯ß\7fx÷úÅê\ 3\9c\1f\8dòµ7Õ\ 3Ó£\ 6 Ì=(6£¸º¡¥­µ©®¢03)&"<"&)«ôNçÐÔÂÊÆÆ\1a\92¯6\81w\r\ fðñôðö\v\8dIͯj¾;:»¼ñüÕÖÖ+¼\98\89áÞ\8e\96Æ\86Æ\96N¼±Õ§\9bÛ¯_¿z\ 6¶®§¾\14gáá]\a\84Åg\95\1d§Ä\90L#ÀÃ\8cv\83ßN\8a\fÄ\80Ú\b\ 3\88==\83ã2Kn·tõõ÷\13ë\80\96ØÕÉÁÉÍ7\14\7f£kh|jzr¬¿½\16îË\13 ¥\86ª\8a:DðàÈã²Jë      7À³\97[Û[\9b\16\ 6ºZ\9b\1a\1a\9aÚº\aÇg\976\9eo½~ófëÅÆÒÌ\b\80\89\8aâü¼üâ\8aÛ-wïM/®=Ý|µõò9%¢MµåEùyyùEe \86¨Z«O_n¿}÷öõ«§«s\13\07Ð¥§§g\ 2|A1\9c\9c[\81C¿y³½ù\98"Å»i£''ÀröÄ\91C\87\8e\1c?}\91SX^\amQVi][\ f\ 2<<\17 \1d/\17\a\aG7ß[ñ\0XºÉ¹FûÛj\v\92B=m\8c\94\94\945ôLlÜÀ\93\16Õ¶\rÜ\9f\ 3]ØÜ|¶¾8ÙßT\92\1c\ 4\16\17k¶¿\9e \12sÖ>1yu=c \10\8f×\97\81ÏCe Û\9fù%Õ\8cìoÆdU4\ 2ü\18\ 3\fÛÑPY\94\r\9e/=§\ 4\fíØìâÊ*h ¨PV\84§\ 5ªÐ\7fá\ e¢#\94ÓØój··ç\15`ßDOmv$à\12\ 51~nn>\11\19\rc\aÿøüº\9eû\v\8f_¾~ûv{s}~¼ç\ eNdZ]ÓQW\ 3ÿ\aR\bwW×Ú\ 5\10µ¥®,79:4À/ $
+s+\83S\8bëO\9f?\83+\eî¸]\98\1a\1dìëéîá\ 3 \1c.»ëÞÌòãÍ×x1/\9f®ÎO\8f\ eÜíêD\8e\vðßß}xÿ\16G¢û\9bË       \81\ 4|/(*µ¨®kä!\82T\929Úz\8cYÃÊ\\88O<\1c¬Í®\19èéê]5±tô\ e\85\90\1a\10æðèÈp/"þØ`OGkóë\166ξá)Eu\9dàõççfÁ&Õä%\ 4»ß0ÖÓT×Ð60µqõ\8fL-\84ë\9a\X\7f±ýöýû·(n\80\19z»:::{\ 6F§A<·Þ~øøáÝöóÕ¹ñþ¶:\ 2\8aÁÂ\82Ê­¿Øz\83Çy²ò\10\1csóíÊ\12\84ð%\95·  ÓØÊÓ\97o>|üôáíÖ³Õ¹û\ 3\1d\0-ó²331\98\18\18\87Ï_½!\8a¾ö`¸µ,\85Ä\89lçO\1e=\ 2.\93\89M\90Ø¢Øì\8aÆ®\ 1\0ÜT$\13\eäaouÝÌü\86óÍ\88Ô¢;à}¨sµÁ¹\82ܬ\8dtÔ1\15{ÍÒ Ì|nesïøCÔ\85×[Ï×çF;\89\90i\ 2\88£\e©01\97TÒ<\b×òüÅÓµ¹±®\1aZ\f9X\98ÙxD\15õ¬<#ÒË\1a{îMÌÌ\80°·ß)ËI\8d\8f\89\89\ 5\r\0-D°\ 2\8ebRû¯\84~(\86ßý|ì,ëNï\fæb\88\18.ßï®\ 11´ÒW\96\12\11\12\16\93U7´ñ\8eȨh\1d\9c^~\82Ïÿb\ 3õ¨,=ÂÛÞL_KCSרÚ-\bìtC\a!\8ei­-Î\88\rñõps÷\ 14RÖÔ7±¸ñü%!_½Û\0V-ØÇÝÅÙÍ;0\92Êÿ->\86\8bù\ 4\17\ 3voazl¨¿··\7fh\f|5ÜõÇÏ\9f>¼~¾23ØZ\91\15\e\f¶Ì\19T>!·\8a\fL¿ýôç¿ÿ\0ã½:;Ü^\93\9f\1c~ÓÕæ:æé´qR\19¥0\atvh|ròþHok\rB%ûë\86zºú\80\19\ 3bsªÛ\ 6\97\1f-\81ßi­Ì\8eñw¶¼¦«   g14G3\9aUÞxw\1c¹\ 1Þ\7fúôñÝ6\91Ã{ý½w{ûïÝ\7f\80\8aóá3\ 4so@\1fï÷\ 3ÄËIOMMÏ\ 5{Ðw\7f\1e\1dÆÇ\8fïß¼|ò\bìa\aºì¼Ü\b,{à\9a66ßÀw\ 1û¼zúh\16ðáíò\82ì\8cô\8c¬|\80Ñp\8dKäm||·õ\ 4g#3n¹\98¨\82©úíıã§Î³ðI©\e;øÅdW4õ\fß\9f\82੯µ:?1ÔÓÎìª.\9eË50.·¦}h\8a:W\7fKeV\8c\9f\93\85¡¶ºª\9a¦¾É\rWÿ¨´âº®{³\8f@Öß\81"`K\bEC*ÀÊtæôÙK\bª\98\98«ê\1c\9d_\7fñêÕ\8b\8d\85q\10Ãp÷ë\9aÒ\ 2\9c¬¬\9c\82Ò\1a¦ÎAIEõ=#Ós\vó³ \835\85éqá!!aàܪ[û'\0\93¬¯ÌÝïmÀ\94²¾¼\0ó\99ÿ"\86\8cfCQUS·ðìÚ»\93$\17ó\a66 \18FAô¡¡ \ 3°]ÃÐÚ=4¹è\ e\18\93\80k6\0\8bí^\9d\96®\11ÜkL\16À©ÁÑñ±¡»ÍUy\89·|\ìl\90s$© ®g|aãÅÖÖæ\93¥©\81f\10§ /g{[\88\95\ 1¹\15\13"\88M,\r\7fþ\b\17·\ 2áÀÐ@ÿà½ñ\99\85µç\0\92ñpkEft\80»\83\8d\8d\83»\7fTzYSÿô#\88\94ÿø\ 3[t\17ïß­/N\8dðu²2Ö×RWSÓÐAQ
+\89Ï©hº{oröá\83É\91\9eƲ\8cH_\a3=ue%Um£\e\9eaieÍ`îV××\1fÁ;k,I\v÷¶33ÐBË~\r)*\92òk;îÍ®>\7f\8d\13b\9fÞm=[[\98\1e\1f\1eèë\1f\1cA;ýòíGüïH\1a0ÞÛT\99\9f\ 6Qt|JNÙ\9d®\91\aø%JFá=\rw7Õ\94æg¥§¥gå\97Ö¶ôÂ+ÄßüóÏß?\82\f/L\ftÜ)/ÈLMJJ\ 6¯VÓÒ;>\aR\8cJ >iò.UC\90à¾|æä¯§\90mHùª\8dOTfySïèÔù\87SÈX\96\11éc\8fÀ\16ÏeãE¬ÅÔâê\ 6\9ck\1cÎ\95\1a\ 6ðPOCEEUSßÔ\16\VveËÀÔÒ\93W`åá\ 1\1e\ e·\94&\ 5Ø_U\14f¿xî,\133¯¤¦¹GdNÝÝÉ姯^¿~ùx\81è\82«©º\94\0'\e\a¯¨¢¾µwtNMÇðô£\95å\87÷AÔs\13Ã\ 3}}üBbÒ\8bï\80s\ 3¯¼\8cbX\94àok /@Ï\ eÿ\85\18b³á¯\17¸$4Ì=éfÃ÷\9fÿ\84À\13Ű67ÖÏÑL\1fá\92\8e\11غø\´\1e\vkOHÌ\0Ø\16\1d\99\e82-M¸tÇ\9bQ\19¥\rÝ ¡S÷\87ñÊ£ü\9c­¯\9b^·vö\8fÉ®FÕÚÜÚ~õlef\b¬ZL\80\9b\9d¥¹¹\95\83\a¾\94Ö¡\99\15Ì\13ýùÇç÷ÛÏ×\16fà²û\a\86Ç\0E=Ûz\87bøîåÚ\83¡\96òôH_ç\e\16ð5¯Ð¤Â;w'\96ȼ\ 2ùt¸­2+\1aÔþª\96\8a¢¼\82\92:`\ 47ÀO`ÐF¦ç\17\17ç¦\86;oç'\ 4:_×U\96\91\90\90VÔ6u
+L,jè\9b\ 4°ðìñ£\a#\9dµyq\81.\96\86ZªÊXà±pº\19\89¢>µ\8c\7f\83\12\19b\ e\aúú\ 6(kH\9e\184dýáHW]qF|DhHXtr\1eÞ1Dq »\7f\80¹{²<s¯»±ª039>66>%»\18==VÂ\7fÿóß\7f~\86Ï\97¦\86 ´\ 2§\16\8dé\96¬âÛí\83SËOIÛÐ[j*\8dêù¼rîôog/q\bÉëZz\84¥\95\1d\9b\81Xw~úÞ¾s)é\98\81¥*\86çÞ=Wn\\80³\85\81\862\92\bè\9bÙy!\ 5L\ f\ 2ë·\1f>\80Å]\18ë¨LÃN*QÎËLç/²òËèXûÄ\156\ e̬\ 2\1eyóê1ý?\18«Jðsrp        H©\19;\ 5%\97\83\ 6ol¬ÌOô5\95\ 4y»¹ºû\86ÄeW4\ 3:\9c_\84\18¥ç\ eâÚÿÉ\1aîi6\8c£ªÅdTþͳå\89»u\ 5 e6¦\86ú\ 6×®\83\12\91;\1d\9d\ 1-C5\9b\18l'ð×ÖT_KS\v´Ì+,\85`\92Ù\87³\93Ã\9du\ 5\89\0µL\fô¯Â'áé¤Kú\ 5b\91ÕY\10C°J\8e\96Æ\86W\8dÌíá¥\14Õ÷N,=}ýñ\ f¸ì\ f¯_¬£Wî\ 3×7\8c\97\r6\87Ô\16×f\a\9bKSnyÚ]762µ\ 6\8f\9a\8dsûÈbB\9a\r\918\ 4bvu\ 5\ry5=3\aß\88´\92\86\9e\91\99EÐÙùÉ\ 1ø³\11\ 6ÊRÂüüÂ\92*\ 66\bÃï"XØ|ñ\18\8dtij\98ç\8dkZÊòròÊ\9a\86\96®Añù·      ¥Ï\87ßÿ\8d\9e\1fÅp|¨¯§§w\10°!8ë\ f${ú\ 25«2'!,\0\82ø`@­pÇäKp\9c÷ÛO!Üí¼S
+\11ú­à Ð\88\ 4\88S\ 1Ô®m\ 2¨ý7\95u\9f\1a$N-\fÉû"â3Kë{Ææ@D0%¶[Ø\97æÃÎ\91\8b¬à\92M\90;ãNÏèìÒêê£ùÉA<\97§µ¾²$\9eKJ\ 5ó\19ùõ½\93K\8f_Pçj*M½åam\8895\19\ 55½ë\8e7£³*Û Ò¤\1a5Áà\10Ço¬*ÆÍ|áÂe\10tlù+i¹÷pãå\9bwo^b\8d\ 2û\ 6\f\95Åù89x\84eµ-<"²j:G\1f®>y\86¤Î}\8d¥i\91~n\ ev\ e®¾aIù$Ï33=>Ð^\9d\13ímM±ìþ\95\18â\90ò\17Í\86\1fÿ Êt\93}\r\117]l--,m\9c¼\82c2Jê:\ 6\87\191\ 4\ 4\ 5\80´Ð\8bi\0öµ\82KË«í\18\9a\88ÔZmUYÑ\18Akjh\e\85¤\94\91\0\9b\12ÃÁ\96²´0O\e\13üð*¾\14b+q8úß(\86Ï׿'ïõuwvv÷API¼2¸§\17+Óý\r\85\89A.VFúzW¯ÛûDf12\98\9fÞ£Fw\92\ 4¦¡\9a¬¸°\90°¸\9cÚU+·\90Ä\82Û\9dà!Ö6\0©\8cß­/J\ft4V\97\16äf'/Ó\1c_f÷ýÅÇ\9b\10¢#R¯É\8eöµ3ÖR\94\96\ 4k©Iy7P\9f\8dWïQ\f\89\ 3\9d\1aéëêhï¼;\84q\ 6\18êÏ\9f\96&z\e\0\10ø¹;;¹x\aÇeWµS_ú\93t\,M\ e´Tå%E\ 4úx¸#9_Vysÿ\14¶1Ñb\b±USyvü-?BÞw+>§²upfåÅ\9b\8f\98\99]'3\16>VÚ2\98+¹ÈÌ-ªtÕÆ7&§\ 6ε´þ\18l\11º><\97\9a\94 \17\a\9cKNÇÂ32çvÏ\9esUgGùØ\1ai*H\89\89IÊ©\19À}$\177öO¯\0\bï\e\83Q2\80)ÎÃrñ"3\97¨Ò5ÇàÔ\8a\ e|»oA\f×I«\95\9f\8d\81¢(/''údd)hè\9bZ~òâ%\búd\1føýp_g[ë\eön\ 4y¶÷\r\8fÜ\eèª/M»åv]S\8açÒ_GÊ{\9b\r\1dÈ_^¤«Åo\9f¯L\ f´TdÇ\85úºÓ\89æô¢\9af\0Å3\80Gf'îõ\0øC¼o¦¯©\ 6Ð×ÌÞ72³¢e`bn\99Pk5\95¦\84ºY\82#P\ 2õs\ 6\13Þ2D\89á3øÝÆâ¤`\17s}u%\ 5e\8d«Vî·RAH\19÷öa\e@ûX\7fgKSSKgßè\f¢u\b\1a·\9e.Ýï¹\9d\e\ 1â!M]\0\19\95í(¼ï>"\ 3\1eâ\9b\94`gS-91\ 1^^\ 119\rc;ߨ¬JÄHkO\90Yd\ 4¤,ÒËJW^\98\8båò\156>I5
+\87\8faàÿúÕÓåÉÞú\82ø\0G\13-y    \11aQIE\9dëÄ»\r\92L*±ÓÏW\1e\8e\ ftµ46"ÃûÔÂÆ&\84!\1fà\9aæF:ªsb\ 3Ý쬭l\9c|ÃÓJ\9b©/1úÏzî\14§Fú\ 3¨½aç\f\81*eb·?\80ºãÄÏ<!ï\83ØÊîÆ\r;\17_ð)Ä9`j\96\12ÃB\10C\1dY\ 1\8e+\97\999\ 4e´HÚ¬epj     \9c.\ 4â¨=Qp.9r.v>IuS×°Ìê®ñÅ'{Îåï`¬)'.$ $.§adOMO\0ÚÀçGüY\9b\85\12\97/³ò\88C\84\82-\7f\10®n¿{÷fsuf \ 1UAW^\84\87\93\8b_Bå\1a!\99\ 1»òüÕÖ˧\8f¦ÁÞ¦\85û:ݰ°°v¤\13d\9dÝÝí\r\15X{ÁDÐ\7fÉ\eîk6¼E\9a\r!Bù÷\7fþüL\85\9eµ\85©1¡\ 17oúSUÔ\86öÞá±\89ÉÉñ{}\1dõåÙ        !\9e\80|\95\fÁô@ètwüᣵ5Bz\8e'7\ 1ÿ&¯\f ,(\89\88áó­í\97øZîäÇùÙ\ek*HKJ+j\99:\ 6$\165íÞ\e)Êu6ÕÕÔÜnìè'É\8b×o¶_À]·Wf\84£ÓTSÕDáM«h\1f!b\b¦r\15L%â\90«Ê\12\ 2\\9c\|bòÚ×]\82\93\8b\ez!h}úâùãG3C-e)ÁNT_äy¦+\¢Ê\f\9d\7füêÍ[Ì\8d\fµ\94&\83$\13î\11~aiÕkv\98­ï\9b^ÙĨ\r$\ 6<ÜPWs]Mum}[ï(\84\9a/_\ 3tzº<ÕßT\82pÁÜØØÌÆ-8±°¡\1f¿ôé\ f\0B\0µÆ\ 4¸Þ0322µrº\89¤h´µ¤?ÇÐËÏÅ\1a>7³vñ\8f\ 5SGÌüÇ\8fï^2¬¡\8e¬ '+\v;\9f¸\8a¡=Réݽ¿°þ\f©*vÎ%\8eçºp\85KLÅÈ)$­\12\7f\82:\17rª$\a9\99\8aðñð
+J(éYyFfQLD´\18\825\fÇqt^Ö+  R\1a×1Bé\9d\ 2sùî\1d\14i°7×\92\11â\ 6h\búë\1c\9a^Iéï\9bm
+eeFù¹ØX\9a[Úº\90Z|U]ý\9dÚ²ÜÄPwK]\\12÷×U\94\83Í\86¤­ú÷ÿüçß\9f\ 1\8b=\1cí®/ËI\89\8d\f\v\8b\88IÊÈÇ\ e\84^RÌïíh¬.J\8f    t·1ÖQ\85x@EÇÄÞ7\1a}Ñì28
+\84ÅÕ`y¬¯ªÉËÈ*iCt\9f\ÚB)Ï&\86]Ä,é+\13z&UCÛ\9b±\ 5õýT\9b#Ö©WfGz\9a\8a\8bK«ê;\ 6'@\8c6Áôã]\17ã¤\89\1eÄ\83êú\16n¡ \86£óO¶Þ}\0\8c\b\ f\vmYanv6N>q%\83\eÞQÙÕ\1d#\ fVÈ×\97&©å(zò\82ì\17Ï\9e>{\91]H\ 1»ÖÊÛGA\fß¾\7fûêñüh{eú-W3MYa^.n~1E=+ïhx'S\8fpR\111 ¼\92»ÍµåÅE%\95wÚûïÏ­>}ùêå³5tç91~\8eæ\86zz\10©ùÇåß¡¿ôù\ 3 /Ü\87\91\14ân\r\91\9c\96®\91µ{Hr       ÃZâ08Z+B\87g¤§¥­oB\ 3é¹\8dWÄÌ#6,ÀZ\96\9c\107;;·°\9c\ 5Réµß{°úìå«Mô\88\aÎ%¬\88=*ðnÐ¥ÒçªH\ fu1Ó\94\11âA¯\8d#\8d¤&\8bq\12\ eñ,Ot×d\86¹\98¨Jð²]\ 1\83+«cå\1d[\80\ 5µÍ7ïÞmà   ðs\12(sa\84¢\81\9c      `²\96\9e\12\9f½\81çÏ\8d\ föt°¶°¼áè\11\10\91\90\91WTR\9c\9f\99\10æmw\rl,µAøÛ5å\9dR\1eÕl\b\7f\99\90Ó\101\\9fÃ\12mQVJB|<¶m`\9bL['Õ\80TS\92\9d\18\19¢J%Yiid\9cs   N*nì\9b ¢³ÙáÖò´PWs]eY)\19%\9d뮡È4ópíùË\97ÏV\1fÞk\83\ fá­ Ñ\11\14\83à\9fð\91l"('X©¿¥¦8733» ¢\1e«/«\98ÉÇ\88/'Æ×ÎHSI^AUÏÂíVz%A/ïÐc/\8e\91\1ep\135I~\ eVVN\fæ\1c\ 3á\89ú§\96\9elnm½ØX\18£R_\1a\10\94áyV\ 1y}»\80dÒ<\89¿\ 1\bï~7ù_PéÙ9¸     \12\8f̾}w\12³B\9f?\ 3Z\0¸ßV[\92\97\ 5OV~\a`0V \9f¬!D'$\90×´54tMì|£s\19_²;xìªÌHo[#m\15EEU]0þ     `-gV©Òý\16HIG\15 Z[cmU%eÐ/×\90\14ÐÙ\87ë\18Æ\82\13g^\96ÚrÂ<\Ü\ 2à\10íýáû}\93\98¼ÝÚÜIé1ÎÅÄ*¸[\88Ø=Wf8`4\19A.66x7ê&.¡;/ïý6\86\86e¬"ÎÃÆÌÂ%,¯oãG\15Ô^\82\1c\93Hº"-ØÑHE\9c\8f\83\9dK@Zó:v\1fà\11_Sp      q      Æ(ö7¬mì]½\ 3Ãã\92ÒÒS\93¢C¼íMµd\ 5Ù\99þK\87\r£\94Ç'£{\ 3þ2\92ymc[5%\86ã}­·Kó3ÓRRÒ2s
+K«jq1Oc}meqvrT\90§\9d\99¾\9a¼$¢^uÃ\eÞ\101t\8c<\E\a¸\f`¡8)ÐÉT[IFZNUßÒ#<³ªctní\19|¸4Õß@\13\1e psñ\89Èë0hq6ß~üô\91\8c\94\15g%ÇÇ%¦åU4\90bôÒÂìX/Þµ\9b\85¾ª\9c\8c\9c\8a\9e\85{X\ 6à\1f\80\88Æ\93XÎÞPI\8c\87\8d\85\95K\bE\88ú£\18\9eo\83\1d»\87Õ\b$ À\96¹\13'Ï1óËé1¢20
+\88Ô1EG|\ f¹.Aòº1\95\8a\12õ\89P0\8fvCÈ\vz     OV^\ fO6·ô\b\89èÛª²£o"­¢²\8aÖ5\eï(ê\8e0\ 1\rpaf\0ùp\9dÌ´\95¤%¥äÔ¯ÙúÆæ×SÇ%\19\99ÙA´òÎf:¨³\88Q\b\ 3"\86\18\98õÖåFzZhË\81GåÃ\82*\1c\1cÞ4}®uPêýçbA*¢\80$J½\ e\9e\8b\93\ 5üº\ 4a Â¡#xy \86 Ã\1d\15©Á\8e×\94áå1³B\10dH¹\89yÊM\10îÀ¤\0»«H¨\ 5b,Me\15±Ý\ f\8e\88\88èÁ½ö\9a¼¤°\9bîNöö\ e.\1e¾\81¡\11QQ\11¡~îv¦:HozæØ_ö\e!\ eêéëO\7fR5Ú5\14úò\82\1c¬Êgå\16\14\97UTVUU\96\15çe&E\ 5{\93ÎRiQ!A\0½\9a&DÅû0G@\85N\b\8aí\8dÁVÊ*jÀ\8b\8fɽÝ=6\aáý\93Õ\87£è\93=-u\0ïr\80Í\91Û+\86¤]b²\1f\ 2ÇÄÈ[¡a1ɹ \87\83c\93S\13#½-\95p×v\88(¥d\95õ,!Ê­í\ 1\94\8db\b\bj\b©ÇÀ5     s±²°\91.\f¿x$\ 4]~ºõæ-à\97\19l\12§æjÎþzìØ¯gH\9fï®\18î¤è¼,´áºXY9(­Gú\80Gäu¿&A[enrtØ­px2ì{\18\9f\9e\99\1e\1fì¸]\90\18ìj¡¯¦ §¨~õ\ 6\11Cò¥\8fï\89-ª%}ÁX\8c\12\91RÖ¿á\13³£u\1f\b\9c¸\9d\eís㪪\8c\98¨¸¬º\91\ 3£\97îí\87÷D\86j³ÑDË\8aðó        IªPÝ%p®g_?×Yf~Ù½êµï\¤\14Ç\8bb\18\9a^Õ9NÄðÝ\16¥Ã\98¾\16åfcaç\15§>§uüÍ&áu#­VBðr9ø¥4\19Ðñ\ 5\16¸H. ¯¹\ 2û\ 4¼Ü\\\ݽ|ý\ 2\ 2ü}=p¶\ 2\aiÎýú_\8c!)å\1dÇR\9e\91S(ÅÆ\80\11Ê\7fþø°ýlevônKmi~vFZjZzfvn^~~^nvzr\x ·³µ\89®ª,\ 4¥Ü<\ 2b
+:\10¼\91Ì \85þ\16'îÖåÅÞ´7F7D\ 2åD\bþîϯll¬.\90B:@jâ>ÙÀnéXzÇä\83\97ZÛÄd*B\99®Úüä\88@_oß \88¤\9cò;ØÄÑ×ÕT\95\97\10ä\ 2~^Z\\ZYßÚ+*\97\ 2ÑïߣÉ!Ý@H_Ã\89oJRÝ\ 4\14\1e!\16at@Ù¦,\82\ 6\99¦þå\97\13(\86º6~\89T\8e
+\83Ò\9d\14\1d\89\ 6\88\18\9a\13¼L´\9e\14Öî÷Ü)J\8d
+ºé\8b->9åõí½\83C\83wÛê\8aSý°Ú$--§\ 6bHw\ 6¿!Ç\99\ei+O\rq6Õ\90\11áç\15 \18$&\8f²\86äG\17F;\0¹¹\9aA\88/( \ 2q\91}\0Äs\94C|·Mçô\10°\8a
+
+\8aÊj\9aºP\0çà¹$ȹ\8e¹øwÕkÿ¹àåPb\88)\82Ìj*\10\ 6\1dÞ ó1úD\87\0ûÑ^\0#\14\fÿ\10\17 ¯\e\a33\84â\1afD='iÌLðÛÝÆò\9cdì]òòôôôòòôps²17ÔR\14çc£Æ
+ÿb4o\977\84\94ò\907dó\1dNv|~\87}SC\9dõ\95\85Ù¸¨,!\91\f\e$%ÄE\87\ 5ßôp´6ÑS\93\17\17äæ`#á\0h8à¡\9e\89%À+Û/\1f/R©\15{lWQ×1FÐ]Þ\8c\85ÆÕ\95Å\99{\1d59Ñ>Öú
+"ܬÌ,\9cBrºÖ¾q\85\8d\83\94ú¿ÙÄÀ®<#:ÀÃÙÑÙÝ\8ft@×777Þ.\87°Ë\ 3\82\1eYq\11¤\9d½á\vP\16\11Ö\9b÷ï0yMJ^Xôdȶ\17Ú¤\89eThÄ\8eã\9dU\19\b\7fD\ 1¨\1c=räøi"\86;sÙ\9f>íÍ\8d\80Ö³r
+ÊhÓ,\16ðG\0¦!\1f}[evl\90\97«\93\8b\a>YI\rÙwQ]\98\16éko¢­(%.!£zÕÆ'6\9fúÒ{r\9cÁÆ"\9cÕQ\12ççââ\15UеöA\10Ni\1d±ãÍÅ\89\88Q$\ 5yy\ 5%U1\19RÖ:2\87\ e\91ªpT¤\868\99¨Ë\88
+       KB\90\8bçêa\9cë       Mrj¬"BÎõËq"\86h\rÛ¾r.â\94QÌh1\ 21#\8fHåcàÜ\9cûÏý\ 2Äp\9b6Ènfê\92¼\98ÏA1v%ù\1cÒ \8d\95Ôç+\ fF{\1a+\vÒ\13"C\ 3ý|½==\\9dì¬L\r4\14ÄùÙ.îLæ}C
+¿^Ê#\ 5\ 300\18\15V\17e§ÄÇDF\84ã¿0\1cñôq\a)7ÒU\93\97\10äf»réÒ\156^q\80Í\ 1\89\98`[}±ýæÍKx7Ý·scý\9cÌ\ruuô\8cH©½ºmpâáÂâüÌHO}\11 !\13u)~ö+\97\999i<\8cêÿ\8a¨?\158\86xÚ[aÒÜ\eç&\8aJËJò±O\1f\aáÅ\85\ 4E¤T\ríàKMèºÞP6£\9b4\0¨Iòq°²ó\88*!'6IùmR6\89Æ\8eH\8d|öÄ\91Ã\94\18\12«A]\17ø\96W\e\ f\1et>l Ër(1È)º\ 6\86éýë\17+\88òR¼\9dnXZÙ:û\84à¾\8bòÊòâ\9cä\88\9b\8e×u\91\97YTZõ*MDº\86b\88
+BÚå \84Ǹ\87GDAï\ 6h]\13\0û¡Çô¶Ò\95\17åãæ\11\94T3vÂ,\12#Ì¥pY \83\91\9a\füº\8c\1aãM3Î57\82s\91v\ 6;ç:C*\11\ 4\e.|å\\18¾ÉhYx\12\18´òâõ{:\1f\93\v\16\954.°A\84\ 2\8f\18_\84\8f\88:N©pz¨\93\91\8a\187óÅ\8bÌÜTF\88d··?\90úë\16éÏ\0×\99\9b\96\0vÊßÇÃÅÞÊT\1f¥\90ý\7fXrüÕR\1ecÚr\12¢ÂâÌÄè[Aþ~dѼ§;È8ÎWk\12>\0¶ËLçÎ\9e¿ÈÊ'IG^\biÁS¼Bçu;?>ÈÍÆÌ\18\13\11©Åu\9d\83÷g\1eÌNb\19>=Â\13'\14¸\98/]dæ\12Á\9e"\12¯î¨\7fg5\80@G\v£«W\8dÌíÀ Æ&¥¦&ÇG\ 4¸Û\18i\82      æã\17\96R3b°t¿Ú\89å\10\88ór°\81OVC\10N]&\9d}£°#!\8a?vøÐácD\fÉu\8d\92ë¢ç²\8bâ1÷!ÌÍÎ\ e\12³7`D\ 5\ 1\14\97\17\17àbm\82Ã\818D\17\97\82ck1¡>\8e×õ\0ú    \b`²Ñ\9e\107S_Â;쪢\14\ 41\b·\88¢\81­\1fõ9­u\13\18\9e»\99iH\vrsrC\14kJ\ f\9dQ¸l\8dâÛµ½ª"-&"!¯eF½i\8cqIÖ\9e|\8cdWØ\15\vç:~\ 6B/\92\ 1 8\7fß¹0q\ fê%\8cê\15ÇÐ\14ú\11H>\ 6u\98\8d[Tñª]\0²­ÎmÐ\89,Z\85\15\859.31]æ\10V4°£\80\ 3Îpþù'\16Îq\9fØ@gcuIn:H\fÎ_[\ÓV\96\12â¼rîä/ÿe·ì7Jy\7f\12c\88ñjIf|X\80·»\8b£\83\9d­Í\r+\v¤»ÐT\91\97\1fçÏ\9c:yê4\13+\9f´\16FN`ä±)\9b
+àïÖ\17&ßòq²±²";}²\ 1Î\ f\8cÞ¿?6ÔÝX\91\15\833>\92\97\98.0s\89*SÉVÀË[\14P\81\906\15³\1f:\1aê\9a8=îq3($4Ø\1f'e5äÄø¹¹x\84¤)èGU\9b\ eÆrì\Xi \9e\88
+W\ 1¥Si\ fBÂxêè¡\9f\ f\1f#V\ 3®«\9cq]\1f\1e#F"q\ e\ 4O\9c¼b\180î(\b%ëU\99\11Ø«¢¥¡¥oBF3ÃÂn\ 5ùºÙ\9aê*K    óñð
+\81\828\ 6¥ì|\89ºÃ\14,Çb\bÏÆ#ºïGih\98\1aìdDº\ 6¸\ 5eè°\b\9e|\eq\191\96\18à\88\8a\82O¶ô¤Ïõ\9a:\17\8b\1c§Ô¹\8eï\86\9bd¶í÷}ç\12ææàà\11\ 5M (Î÷äcRI>\86\17\99¥ÅU\8c\1c\83Óö\96ò\86\ 49\ 1\vçÎ]`\13\90Õ±ò\89\81h\9fT$Ájý\81ÍG«óS#½í\r \88\11\81^\8e\96×´\14\0\18Ò¼÷\7fi\f÷ñ\860Jy\7füùû\aLÞõ6\96\85ø¸ØY\99\9b\1a_34Ð×ÕÒPU\94\93\12\15äá`¾Hh·°ý\8dU\0[uã¨lçÛ\ fT¬Û×X\9a\11\8d ÊÙÍ\a\aÁ¨íu\83½X{\89\rÀ\89GA\8eËçq¨A\9c\ 2\1aTÌû\8eÊo\14á\8c\95\8e\8a¼¬<\92\87XÚ:º¸\0Ô0ÑS\95\11áãd\ 31\93Ö0Ãz\15\r²ßì \94EH\8eW\9e\ 6`\98#&ô6\98³ \ 4Ýb\1cL¿\1eÁé3êº\82RðÐ\a¯KA\84\17kVªÆ\a\14d¸µ4\ 5\8b\90j\8aò
\9a \88öÎnHñan¨©(!È\83b\84
+\82\15\86ñEú\ e\ 1ú!{8\86ðØ0*®rPë\86qîÌ\ e˵;y\83|Læ\13\93\96×Q\94\14\ 5H|Õæ&v¾ LøøùãNýÃDU\94>×ñ³dÄ28µ²c|éÙ\9b\83ç¢kqxÙ\98Þ~Ee\9fïµ\94&á#\88p³±rðIª\99\12è7AJy¯1ü£Y\13x\99Ï\9f>}þ
+\8f¤º\99[X&¶#>FsHäpûÅÆò\83\89á»mõUEYI\91\ 1î¶&\18%ï¡=ù\96\14\94GU Ö\1e\f·WçÄ\a{⬷¶\86\9a\8a²¢¼,ò°!aØe$åCn¸ÃGO\9eÇt)\9aR2àüþÓgºAµ*7)"è¦\8f\8f\7fHTR6`ù¶®î®\8e¦Ú\92ÌØ@\17\9cÿæºÂt\96´¶i\§ÃÑç\14\1eF Bå/ÄEDÅe\14Õu®\1a\9b\9a\1a\eê"Ñ\frß°pîX»)
+dÓ\81²\17Ä\82B\ì\1c¼\b\r\ 3\18Oôù3é\9dì"ðFI\98íÜ\89Ã?ÿ´s](\11\8b\b³\ 2\81iDÖ³v\14d\93&\ 6°7ÒÀd©\84\8c\92\86®¡ÉõëfÆ\ 6Z*2¢|\10¡cC¨&©0Ð_z½ûd$ÊÄ(Õt÷G©ð\0kuÖº\b\ 48\b\10 ´\18\ f(ÎFÒ\83\85\15\10-y        *\9b\13\98Dm\f\81sa\85\ 6éxC\9c®)      áà\1e\11CV!E\ 6ù\1f!\81Ùw.^.\1eÁ}~\9fq®8\1f\1a:rìI\vR¥<:ü3S\17ç¾|öÔ)$[%\13\9aØ\1cñ\bÛÙ\88\1c\821xº¶8{\7f¨§\15Ûî#ýp¼^\92\9f\95Þ³ýW\f6_)åmÒ\15&¬@\15%\87z\82\aRW\94\95\92\10\13\11\16D.sä¹CVÊ_\90[ùÇ\9f\8füz\9eMX\89aJѹýN\12Ð#\9d\99       \91·BBp\95g^iu\1dn¤¯-ÏO\8dòw±ÐS\12ãaf:óÛi&\16>ií=\85#äʼ\8f\9bXÜ͵åÅøy¸y\ 5\b1\98\9a\9aª\92\9c¤0/Xa¦\v\97±Ú\84I\1e\12Ë\1d\f\94A\fù\88[Ieعßqäz´½<%\b"\14\ 1\96\ fÿô\13¹.¥}×\85\18
+mª/\11C\1e^,¢xFåî½\ eT\10oB\fÀÇË'(*%¯¬¦¡¡®ª(#&ÀÍzåâ¥+Øx°÷K$ʼ\9d\rw¨!ÉÇÆÌ\fQ*ÜñÞ\1f¥\a~HÊ\1c\14HL\99öÙ\bz)K\85[g\1c\8cÔeÅDÅå4M),²HÁ\88í'\v\ 4¶Ù\19`Gß1<×   zÒ\97aSP\f÷\9d\8b\8f*\ e¡\98=Ús®(\ fs-Ì2°r
+¡ËÝSÊ{J¥\8c0ÉÀqáô¯¿\9e:ÏÂ\ fïß32«ºcäá\1aiv\ 3|øùã»íÍ'«\8b³ã\83]¸f;Ü×ÁTK\8ePAüüý_¯{ÿZ)ïýg¬áoÌ\8d´WeFú`×\13a±âdgCÆS¦sg\b\99,\126#I.\88!eJ\19\ÅdÓ\1eÝ\8c\9c\9e\18\13\15\15\93@Æ·«ª«+Kó3\12Â|\9dÌõpc\13Óé\93Xy\12\90Ó£ã\0\88yßQ\ 5ÐòT\92V\84°\8d\99\85\8d\13$Q\f)'\ 5\b\148sæÜ%vA9½\e´Í8\18(ós²sòKÒ\89±=ìÉ÷ZÁõÙèaçÛ±CÔu\89(\13\17ÐC¥¿\b¹í 1\vz
+bü¼üb
+zÖ>û*«;51!n6\16Vv.^AQqä\94\14æçb»\8c,Rødº{¾\84Z\85\11
+\12M\89ó°ÒåÚ}?º¼[®¥\9e\9c\91YF\9fþ\9a¤{
+I\84"%*".\8fÅ`\140j\94üýÖã9\9aìJ\86ïòé£p.¼\ fQU\13W:ùF\95\v¿q®\99ÕÍ×\94âwWgRY\ 6v\16V.á\9dÈ\8cº\11@¯¨Â\ eW\15\84\9fÄÁ=\¥nì\18\98XX\7fw|\1e'$>ÿ\ erø;NÖ¼x²º0=r·¥:?ù\96ç\8d«*\12<4cÃ_[Ã/JyÈ\e\82]\1f\88Ð\12\83\9cÌÐ(q\82¦_@"æßN\12:}\ 6\15ù?q±6Ó\1e®bìäüó3\15e·ß.ÍMONHHHNÍÌÉ/(,ÌÏNK\88\fôÀò\ e@\ 6Ыã'~cbÛé/\98§Ô\7f}\a+A$}áüy¦\8bWXÙ\91o\94"\a>ùë©3\17Ø\85\14\föÆr\a\ 2eN\ 1)\rºüA]\ 4m\ fâ|­´¥y\90\v\ 6¯\8b\89\8c=Àÿ\85\83Ùï¨Álº\8b@WAL\80OPBùªínÌ˨¬\92\16d^\88®\98.\ºÂÊÁÅÍÍÍ        \1eâü\99ß\90ª\88\1d\eF©@x\8fV\91\89&Qn\16\80\13TzêË\1f\85\b\85\8f\13A/#B\ 1\9fýö-\ 3¢xYé*J\88\b\8b+èXPXdï(9!|\96BÂç\9f\7f\ 2ïÄpmdi\b\92öî?\17¿ ¤\8a¡\1dã\{\1fñÚn\10EØ;\187B¡W?Pa~æ³8Æ|\92\89\r´ÍÊ3<\1d\a\8cæ×!\96úøù\ fø÷\19\16BÄñþÖê¼\84`Ws\1d9\1cÁÿ/\8c\r_+å\81«G\82ÍeÂf\8e4Òb¼¬\17Ï\9d>Ehé\91f|gÑ\0R)£\18\92cGÁ±IÎñÏ\7fcÃàòÌpWCeavZrRRRJjZzzZJblx \97\93Õ5M\ 51\94Â\13Ç\8e\1eÿ\rç²\8d\18\85#\84ô\8cTªµ\8e,\84e\10\8a\9fDÒtd_FòeøÎ±\13¿Q\fÜ;m\99{\ 2e\ 3FÑSËÜ3*\8f<ÑîEä\13bd®\8b'ñº~9y\81S\ã:þ_{9\96IÑËRG\1e®KXJ\15cÞ¯UV\859.\9dý\r¹\8f\91uüÒEÂâ~âøq¤!\15\7f\87ë»\ 5
+N\10Ão\97k\95Äè\bÅ\8a\816v-U\98Ûu-91!\10C]ªî¹\97\15\1a\ 3åë\1aâ8LOÎu\91kgà\9cPbí?\97 \80°´:ÉLîD(;\8f\bx\9d\95\85mo)\8fq#Tß­\14ÏedóÅ\ 2\14\8f\84\9a\91½_Lve\vÕfô\ 6b\ 2\86 ¾\82\98yb µ*'ÖÏÁ\88\1cýë\1dÖ_\96òh°\8e\ 4\9bí ¤Î&ê\92|¬L§ÉÒ\86\9fwv\830Öx\101¤(³éc\7fø\ 3\9b\94_?#­ZÕÅ`\ e\13ããã\91B+*,ØÏÓé\ 6D»²"<à\91O`Æÿ·\8b\9câjô$\16\95  ±\12\16Ýx®\9c\ 5\búËQÜ´\0ÿ\90Pýð¡CG\90S@\94DT\a\ 3eL\8c  q±\912\80åþ\8bÀ¼Fn$½B\b\89Ñpá\1e\83ÁìÁ.\83\19"L\ fsm9QA\ 1\11\19\rDò_TV­ueùYÎ\9f:NhdÉ
+\86\93'ÈÆ\95_P«DUökÕ*Ñ*\9a
+6\94~¥\K\a±\1c8kd`\8b\ e\91\8aPÞP=Z\bQÔ¥E\ 4\85°\10è\13ÃÀN¿\7fzG8ײ#È\86.8×O?ý|ô·K<\80¶wrÀ»ç\8aô@¸-((&\a\9e=\9cô´â#2\82(ï½5\16F)o÷FðÝ\91\9c\10¦\Á\10\bÉë\98»\ 6%äUµô\8d=XÞx¾\ 5\82øû\1f\7f\80\ 1Æõ\85\89þæò\8c\b/+=ydl8ü\97£ò_\94ò&÷¬\0\0\rñ·5\0Í¿ðÛ±#Ô\1e\ 6²\1cggSÒÿ#;\8dO^à\96ÄëÄj\1c¦¾ÿ\83bHj;\14gFlTDø­\90 \0d}D\9aJ¤UE)üå0V2.qKjRå\9bÝ\ 4\ 5ÁJ8\ fy\ 1\ eMh÷q£Îa\\98òã\8f?\1d:zê"Í9{ P\8e&á('\86«\ 4\80QO´+`Ù$¯Á\8e[DáWN\13$Bø\ 1HØI\18̨¿M\95oÅäpF\80QòÚ©¬zZ \1f=!ùÃ'c¬\1dúéÇ\9fàzàÉ\ ehÕ#ªaôº¦\14?;3v|«\1f(×2Ú¸d\85¹98!¶º¶c\81A\f7\89¥\ 2\88rUYR\88\9fôÄQuÏ]rò\9e\1a\80uÆÊ"\98\0\80s\1d£\8bC\89%ô®/2éKÎåfFLª\84¢®\95Wtî\1dF\10EªÒ\10D]×\80Gdaá\108PÊ{ÆhF\84\b\ 5¢ÞC?cv\84\85ORÕÐÆóVR^US\ f!Öx±õö\ 3BD\88Up`váþ]¤!w2QÃýÆ¿ü·.¯/Jy\80\92>\91%eÔÛ\91æ»\82ä\8bß3\96°íÛ\eÇ\88o´­|\88ö=ÞúøÇ\7f\b\9b\fXÃn\b\972\12£Ã\82\ 3núxº9ÙY_¿¦§¡(-ÊÇ\81LÞGѰ\1dÇ}cTùfpo\82\82,\ 4ÂÌÊ\91\9fÈ\12\92ï\19\v°¾ûî\aÔw\9açäË@\19ß$3\vÆ\ 1ÖûìÁ\8bGø*oQë%ñºè´!iË£j^\9f?¼&ýNi¤|K\99\9e=þñ\1d£Õ\85ðÑ£\ 3ü\81lÞøá\87\1f©Gû~çÉöi\15   kà\ eÕHC);À\85½wü\9a\11HC\88/\88}ÍRꦮ`æ»öX*\0\13tp! ¦¨\7f\83æÈ'ê\85£ä\84\9c\1có5g©\ 4À\19\16\ 1@ÛD\94\ 4ä\Î&\1a²bÂ"RÊWm\18ÕFâ÷\19UiUq^6¬ñÓ¥¼\9d\94Ñâî\8d\9cÿõ\97C\98¤;ÇÌ-ª cæà\13\96\94[NÈB\16V\9fÀ¯}\ 4Löo2ÁH:\81³£\0\8f\ 2¢ü/<J_\94òh-{ó\82ÌÈà+'\98\ 3\19´w\96\132ÖHî\88!\ f\88!<w3ݪøï?\10\eN\ f\95d%F\86øy\81\bÞ°0½¦¯¥ª \8däðdýÁ\91C\87\ e!s\94\80<½¦\ f\83\rÄË4V"3\85Ç~&âÿ\8f\9d}\80Hªv\14yNè\95\ 5X\97Ý\e\9b¤ÂQ]kòD\ f©\88k÷º\14Éuýü3\ 4ÊT¾\86J\eR5/úoÛ_S\95\12\16\14\96T6 \19<º²ºMb^L=R¢\8cKTö,¥ü'2õÒOv@«°a\14à?7<\19ÝÇñÅ\8fb·®\0\17\10É\87\92~o0¦o·\9fQRêa®%+ÌË\ 31®>&\b\18çúH\11\ 5;\90J9\88áÏ$_³\17aí9\97Ã5º,ͨ\832"\14ºT\aA\14+6\eî-å\91\e\19¡p·¼\0˹_\89\13#D¯²ê\845+1«¤¦\19\99T\16×\9e½zóá3%\87¤'®©$)\bN.Âþ×<JßX\ 1ð\99±¤,\84¶I\87H\12ü\8b\15¹´\18"\16\81K/Þ\11\ 4Ó×\\99\97\1c\19èåbgefd £¡¢ \83\e\1d8XÈ>\9acdO\ 4\84\;9Ç\85\9d¢ÃN\8dô7Ì{þýÿöüÃM GO3SµûÒ\ 3](xÙ\10\8e^¾Â~@\fÉuuT¦R×u\ 6Å\90
+\94M\Éú?ºM\9aâ­\8dóµ1P\92\10\12\84\bå\1aãºvF\ 4ÊS\ 2í©Ùï\9f)Òü½Oö3ýd{µj'v\ 2ø\ f\11
+\97Èþ\10\7f7JU\11çãâä\11¡ª?X%aX*\94R\17\13u)AnìÎÑ·aÀ\b<\17eçR\82ìé´!u®\1d\84õèÅι\1aȹTpèB\ e[Åp\90\84*ólîëÔdÆ>\15z\92eqï\8d0\1a\1a\8fþ\ 2\91ò\99\8b¬<"2ªz¦6®7oÅ!ccKÏ\10\825\95ÿ\90\96\84\85±®jª+\9cì°û68üú
+\0\92\15¥\96\94ÙÑsÎßílB8èÒ)1ÔÙ#\868òørcn¬ûNqZT \87½¥±\81\9a\92\9c´¸°\0\ f';îS"\99G8ÎÑ\13§/r\8aÑ3`{
+G\88ò¨\ 5\1eÈ\9du¾¸k\8bð\9cì>ï\93-ÒzM.\e\90¬\82\95K\97Ù\ 5duö\89!!\f¥E\88\19Å\90\0LD"Q»ý§4?\ 2öã*`\13\8f\f)[W2¢qFS\1e\91iÇÿûæ\93íhÕnX#'Ä \11
\18NaíÖÂ\19?jKO^\8a)\19\1cÈ¥ì\99\ fæ$Ý9»b\880\ 2SzÉpOrüWP\fñ\\ 4±ÐíiûÏE\92>\12
+:æî;\rûo\9ctj²ÐÍ\86á\a?\8fñ²Ô\92æe>{òø±\13\9a\ 4¤~7²´wó\r\8eLÌ((¯kë\1d\99^X\7f¾ý\9eØC$â\ 2(]\10\vG\97á»ò\97Ó¡ß\\ 1ð\8aN»[ëHó^\ 2|ùϯþ\ 4-\86\17÷YC\1cyľöᶪ\9c¸`\ f\8a]\RT\90\8f\e7o]¦Ö©\9d\8d\13§Î]á\91<0\ 3\86(\ fB?351\ e\94ïYFL.{ïóîk½Æ\18V\80ýò\85Kl\ 2\94Ón¦0\14}]eÔu¡\18b\7fÍ^ÿù\12»¾wêf¦T\83)# \9cXÚ)å5Ð):J»wÖ\97\93%\86$ÖÛÿd»\11\88\85\96´\0F(¤á4ì\8b\1fÝ3yiä¸?\972ÄÈ¥ðp`©\1c³ö»bHm\fI
+°¥²òtß\90\8cîNjÿ\1du®Q\0wdöGL\18;\16éÑ\9f\95\17{Ë<T§&+£\v¹\9eþ\9c\11dQ³.ç~;y\92ì\e\11$Û=\8cÍo8¸zù\87F\81 V6t\ eNÌ­Òrø;Ê\10a$!-h\7fÉ\1cB"\94/W\0|b,)\ 3\9b$Áuá$\15m\7fýëû°áÃÇ\8cAûGSý8¸\8at\81*²âB¼\9cl,\97/]¸ÀÄtáÂÅ\8bôb¿S¿\9d¹À
+\ 2s°pDè¶÷¯ªßÙt¾÷y©&tl½Þd\98P-)>Ö\8bLÈ}\81AS!µîê\13£æ\85×\85Vãø\91ÃGN\9ceÁÁ¡\80ä2Ò+ön·ÿ\94\82\86\ 2\82bò:\96\9e\a«nx\1d;k£÷í&ÿ¿\7f~\7fxOQtO)¯\16µJ]\92\ f#\94=íó{Jyôä%'\97ÀÁj/\99\ f\14!ºCë\ 6ÃÊ¿§½V\e¸\ 1ª8Ä8\97Ânã\1c\9c\8bôÝ6A´\rç\92\16\11\ 2È\8bý\90¨}k4:¥\18\eLÕ%ù9ÙØyE\95\flý©\94Ñ˽]`&jâX\7f=söÂ\15\ e>QiRé7³°¶µwvóò\v\89JÌ*®ií\e§©y0[òt\91"\1c\ 1`\axüçïþJ\fI\84\82+\0|ö®\0x±BÙ$\b
+w\16Æ\7fC\8a©J ãÒ·>üA±ßLܽS\90\10èl®§,%ÄÃÎ|\89\89ì\93;GvwRû\ 2Ï\9f;Çt\85SX\ 1\8b\ e\afÀR\83(\10Gè&vÿòß\18+\vvK\8f;\9d¥TÝV]\ 2ÞÔù\v,|Ò»\19Áw\9f>í\\17±\1a \86\88JÙé¼9)\9b\91ñ4j\e³·\95\9e¢¸ &GôI\7f÷þ!É[.ØæÌP\90\ 3Ovjg\99¾R^úþRÞ·'/I\97×nÇ\ 6vyíö£\92j/Õ¨¾G½\10<%úÛèRbHÎ%ªbì\1c\9aQE·ðÐ]\929Q^p.\1aòÚï¢Ó]þ\1a,\9e\92áO5ÒBGçש\9eWÂo£"ÆÃr\91\89é\12näQP×545·²¾accckçèâq3$:%\ fÙwçÖ\0\90\92\9d©Sú\85}K\f        4$\11ÊWV\0\80\86\84\12\9bD   ò·Åð×\v\98µ÷\8e)h iàßÿ$\8a0ÞU\9b\13ík{MMZ\88\8båâ¹3¿\9d:\89\v\17/bù\8b\87\a×vîôm\7fY©H¤ä\ 5\ 1Å^\û·\ 3¥Çæ=ã\1a;\e\v.\9fÇ®\1d)\84G4qíÇOïi¬KY\8d3'~ùåøo\97¸%4®ï4Ib
+|cg\9a\17g\8f°\94g÷E)\ f CE¡/|Ìß\ e.SØ_'ÃyÁ½¥¼/&/I³!\17Õåµ§ccûù2iã"Æ\94\9d\85\85Î\87îW/x]~D\f\19ç\92ÔØmþ|\87\8e}\ eçqC\10k\88\bð3j(Ôp(Ý\ f      A\92£\91ª\94 \ f7\9f(:\81Èl
+\1a¾'4K»¥>Ö+\97\99ÙÉ\8e\19#\v\e\a'gg'\a;\ek++k[G\9cÖÈ©h껿\06\98ôhíöÖ\89¢-\ 3½ý\86\18îÙæí\10´¿\1få MúÚ/ì´çìã\ 2ûã÷\8fÛ\14\9f\f¶X+\82
+]8{
+\17\1aãâBf\ e\1e\ 1a\11Q²^\12\17? OÞ\17\95\8aÂ8\1fRû=ud?\1aø²ô\88óÅ;\81r\90\83!ò¢\9d=sþ
+%b¹;Ã~[\f«\81eÑ3'\8eRãkÔ\bÌÀ\fà\19¬Þ\ 2¤Æ6®Ý\99\90¯\95òüm1\1a8}\0q\7f±Lá\8b:ÙÿPÊãä\80@y'ew cC\82\8f\ró¡Tu\88¼é·;êEwl\9ca\8cå!4d\9cëÍ\16ÒB#]¬íUe A>>aª6DV\8a\80\98Qá]Yr\10\88\b\b\88H«á\18t\11áò¢§\f¨,\16FI\1c\0\f\ 4Ä\154\r-ìݼýüýoúx8Û[[\98\99\92\95\ e!\84{gú\11¦¿h²`Ò\1fF¹Ôo\89!\rµ\b³!\8d\9b÷oóþú+?(\86d\r3µG\8f\14Üq@\ 6g׫3Ã=,uàõ_ÆþØã¸Ïñ"\vîs\94\91\93Ǹ\99\9f\87\vtO\ e©¡öW*\b\8b\9a\ 6\80Ò_\ fïO6í#\ 4Ý-\88í\9aP}9d\89ü\rY"±\96Aåb^\7f`\88!qÊü\18í\9d8ÅÄN\15\7f\ 1\1a"ÍØ\9b×\9b\eóDu<,´åEø¸I\7f÷WKy$j;¨ \a\96)ìíäû\1fJy¾T»÷n[4í01«ØIe\15%øHZ~·\8b\8c\f\9fníZyê\¸âUé\1aéþ¦ÎE(W:ª2ÂÜÍqÎ\99\9bW\18üþΫ\ 1kG½¼ä '\13My Q1)%]\v÷[é\15í#\14iÄ»W\8c¶\\9c*çáâ\11\94TÔ6±qó\v\8d\8c\89\8d\89¼\15àålknlxõª1RI&ä×v\8ebK÷G\9cÏÞ\8fì¾!\86d\rå¿~<B"|sÏ(Êv¼£ûQ\18íC\84³øë\812£"½7pÅö£ß?\10§\\93\85)\ 2Z\fÁ\16âVQ²\1eS]SS]Y^JT\90\9f_HBIßÚçk\95
\90ï\a¥_\12\82â\9b|OÍcP&\94Z>~qo¿\ 4\19ÄEl\88!
+\b*Ëy²ü\8f[\824\10Ww\8d-llno¿"t@Å\89\81\ e\92\ 2Ü\9c<B{\9añ÷Tݾ¡ \a\96)0°\1d\83ûå\7f\91n]ÆÔÁ(\83F\82*p¸\98¨ST\14Øí\8bóû=\84\ 3iÿ¹XÏÿvòÔY\92zp\ fG~\1a8×ÖöË'HËV\98ào\ fbÄÏ\85çÒ¢zZ§©¡W"\86e©!®æº*rÈóbâà\17GvT?£¦ú6\1e\92ÁA{ÀWh-¥\94p\rFHLJfNNvzbd\90\97£¥±\81\8e¶îÕëöÞa©¥\84øô5a$Ùm\fg?\7fâ\eØ\90J\7f|ÿó±38]}\83.\17ÐÍ\86Ô&
+¼×¿È×Pbø\13#YFà\ 6\83k\10\99\11sc|l\f\94\88\ 5ÄLW\0UàFÊ«×\f\r\14¤Ä\84\8f\ 3vtáhO¥\82DWÇ\ e\81Òã\1d,\98½!3Ê\8cy\f\87ºÓ=¶;\10òd~´­\9c¬B\15b»@\16\r\91Á\85Øü;½\93KO6_½z¾Fø\9f\89æPCü²d\88\9fQ\95Û£ _\89Ú\ e.SØ)Ç.M|½\94·ïG!\90Ö HTÅ\18ÜN;l
+ج\18Fu8²³s\83n\98¹Þ¢\17\82Ppdÿ¹.°       ¢_Çqzr®\97Ï\90O¡2#ÜÝB[\ eǼ\b\9b\ 5\8d \10¯\90Qy\80ÄHP¥­ª¢¦cd\83\f¸-C³\84S\82\16Ã\92¤@GcMyI1qie\1dS,áe\17WTWW\96ä¥F\aºÛ\9a\1ah©«k_5wò'\8c\93\vtlÃè\96Åz÷×C\14F\12îÇ#'\99ÀtàáËÉ\9c$N\9dÒýiàKP\f\7fûfY\9a
+q\18¥\ 3\8c\9aü@\9c\85\94{&\1aÒ\82\9cÌ\97.0]¸\8c¹&yu=£ë\96V\16f×tT       é\88¼¦\89c\10I\9a|Q©ø\92\1et'°\97¦Ò1$á÷~WíL\91\1dú4¡Ï`l\98\1c\9c]{ñ\9a°\95\92¹#\aC%\11N\9c\80¹\823\8e\8eHï48óèÉ\8bÍç\e\8b`4ð\89\8dÔHÞ\82¤èè9Îý¥¼¯¥\1f\ e.S\18¢\9a\r÷Twþº\94
+N\97\9aEbÌ©l¿ÿø\9eªH\ 3ƦHð¹x\85e±û\1a\99"©aùWO\ e\9c\8b\19ݾSp
\119×3l1@j50\86â¼$ÊÙi>¢¢7Rí 4P\16×ôõ\fLn¸\ 5%äßî\1a\9b\1e\9féô_J°Ëu]\1c\rRÑ1±ó\ eOί¬oioom¨*L\8dDVm-5\90`c\e¯pÂ\ 6¹¾     ïü%RóÐ1\1d\98\94¯\ 5\18´\14þë\87CÇÏ\\81°\12ÓêÔð3\8e\7fÅHª\82\18^>}ô'*{÷5\83\8ao\1fKÒÚV\8c\8c'\99\83#så\15\19á\9eV\ 6*RB\10\8d°qp\v\80)Ô6¼~ÃÞÑÑÞÚÌ@SIF\12ùq\91d©ò \9d#£Rq B!S\84$\1c\ 5©ßI9Ю\8b$¨Ø\99N\1d?vâÌe\1e\b\95\11Dír7\8f1Ê÷<,\97.^á\10¤øJ«;G\1e®<yþ\f×\8f´UfF\104ËÍÊÂ\8as\9cvþ_Tݾ® _,S FøÝÛ\97ÿ[)\8f\ 4Ò¤á\94Ìÿ¦\93*7\8aák\92\8bñµ5T\93\81(W@\8c\90´$\16\91\19\90­7ûÏÅzù\12
+:\18ñÈì\9a®Q8׳§\e\83-å¸JNK\ 6wÛ\a\17\01ô¦zÅ^b°M%×
+\93\1c¬®_·°uó\8fÎ@\12P³ü\aîWÀetéÈ\81«­®ª¡kbë\19\9a\94_ÝÜ=0<L/]ñ´5ÑUWQÕ¼\8adª¥Í\833+Ï·^oá
+\ 3\98\9c\0óW©^©ÅÐÔòfÀQ\80\8b\91º\93\10»!\99$%\86d=\14"_ª\85û«rH%m/\90\9eA\9a×\11§g)\96\8d:*q¨\82Ü«B"â2Jd\8b¯«\87§\87\8b=\8e°ÊJIɪè!ÉÒÞÖ7\92®¥*\15\87¿\1e(Sáè\81\94\ 35\8f!ÈrîW²ä\88Ô\bÉ<ïÜ:²¾?^\1c'ÃÀÈi\85´ ü\84\17+¾ þîýùÕÇO6\1e=\18í®Ë\8f\ 3\ 4¤\82î\93ªºá\1f9\18ó~CAèØ\89\1a\99Ê#\89ãÂ\83¥<j\14~_ ­\87\8143+\8fØ>kHñÛ6\12.=]ei1\11Q        y\r\9b1Äó\ 1òÛ\7f.ÂÕ%©\86\f8EHê¸ú\98ì3é¬É\8dñµÁ¾\ 5æ\8b¸è\vÅ\90Î\11Ó\9ekf°\85ìWpqtpöô\8fHÙÝ\ e\8c\94§\98õ¨ÉÆM\ 2`-¯\9aÚ¸\aA@ÜÜ;29335Ú×Z\95\13\17àbqUKMMÓÀÂ%\b)Ô¦\97\ 1\ el>Á\b=\9f¶eô\eÛ_\vþ\eYÉûÝ\8f\87\8e\9dbbå\97Ö4s      M-oePë\12§\f\ 1\1c©t\82}A\16\9c¯O´ 2§\ 2D\88:\ 3\93J\ 1\ 1ZCþ\1fÂ\ 5½Ë\87.¯¨ª©oBö\19ûûùz8Z\19\111\94S5°&\14\1f{[Þs"q\ 6\8cªTü\7f\7f\11\8eî0°ì\8cÑÊP¹é_~=Ç*\bv\87ä\1dð\9d¼|\81¤:·q\9aIOQ\\80\87G@\\ 1\ 2°ôò\96\81É\85\95õµå\87ã\84-Ìõ:\1a\8d+\17/±ìÆ´\8b\a\14Dò+
+\82ï\ 1KyØ,\11\96EJy[T\ e\88°§ï\96òT\19ûW÷ÿ¨6.½¹Ì½Ëûù\84\88!\8eG\82W\89ô±3!ïKFQóÚ\rÏðôòVð¹O\ f\9e\8b\97&Ф¶\0,¬¬­.?\18£(2LqÉØÅsçèÌ>Õ\11\8c£³\9fÞ!KYW]QzL¨¿¯\8f_pdRN\ 5Ù\ 1÷ò-\8aáÇ}ÖÒÌÂÖÕ\1fw©÷\8cLÏ/-/Î\8eõ\92}$vH~®ché\1aL1ù=~þâÙÚ<Eäg¦þõJÜ\8e\14\1e\ 6)dá\95P1´õ\8dÉ¡ÈÌ?\12Â\ 6\bQ\b=¨#Ù[yú\18=fú\85\1c\92X\e\9c\116\r"\1f%²-ã\8a\ 3°\ 3\eØöX\9a\1eåïj\83\8brôÈÎuWo\7f\9c\rÑ×´\94d¤¤äÕ\rm|còïôM=z¶ýæÍ+Æ\ e\10ã\9dÄû×\ 2e\bG©Ñ\97ýá\16 !\97~Ãîà㧯ðB0àI\9cÓÜ*®\ 4\ 2èW_\88¼»\1ar\12\92
+Z&\ eþqyµ\9dÃÓdwÈýþ\96\8aÌHï\eú\8a`4.0]dá\91P7¥æ<AbÞ`ö\8d^\v¡öU\ 5¡b'F\91\11\ 2ágø%\9a/\91\11\12U3:ÐÝó£¤\ËË
+P\81s/\81\ 5Ö\17):bÂdo\84l¦òÊàù\\83\12\v\90Å\7fíà¹DŤ\14µÍ\9c\ 2\13
+êºîM/,?Z|0\8eb\12N¶2âÜÂés\bÁ,ö´\96"íÇÒÔ@kMaz|T8\92©f\15×¶õO\80±%»6\90ó\14ýzfL\90§\93\9d\1dî\ fNÊ«n\e\98\9c_!Ë£Fºn#I¿µ\89\ 1âJ\8fÐ\94\92ÆþÉÅõ'O7\96§\a\9bQ\86\18MZ\a+q\88±p=ùaÜÌ\8c\e\0-À¥Ã·A\14\b\13ÿçw\14´K'\88\ 2×ø\1e!s¦_F)\8cê\1a¼\7fU\13ç\90T\ 4Æ+HwöæÕÓ\95Ù{]uÅé1`ëím¬­mì\9dÝqOyDdx\88¿\87½¹\81º¼\94\ 4\88!aõm Pçõöæú\1cÉèSió\83¨\96®\1dR3\aÑ{{^é\11L51N&Æ\9c    6ã;Ò+\13Ö\1e?^[$,ÿ¡î\96\ 6ê\8aròÊZF\0§Ó\88VSÛeÈä\84=Ä'ÔfB\16jz\9a¢bzõz\9b\ 2a8`·\13ö\1d\f\94±È(©E²Ë¨Ux\1cR\97¡ë`¬\97¯°óKÓi¿É\ 3?J\13ðã<\95\r5\ 2\80\ fX\f\9cêo\ 6\19\bpµ6ÖÕPQ\ 6\9fbæà\e\99QÑ20µxð\òò*ÚÆv>\91\19eM½£3s\vs3c}-à\92\0ZB\88t\ 5÷Ï\9e¹L\17\8fhR8\Ûòbíá\18r\15e¥&&$¦dæ\97ßi\1f¸?·ö\1cçí>c\ 3ëÃ\91ÎÛ\85©dÇ¡çM\{RGÈß\9f>\7fº¾8\ 5\ e=\13×\8e\98\99\98Z:úD¤\97\83\88®¯!̹\9d\eãcMÚ^\ f\94eic\88m{\94\14\8aÊk\9b:úÅdWµ\ fÏ"-<\16\96\8f\ e\æGöç^:}ü\10ÅÇô\15s\88       ðãgY1Mà\ 3\98¥k\f\9e\7fë5Y 5E7¾\ 6ûûx{ùÜ\f\b\ e\8b\8c\89\8d\8d\89\b¹ézÃX[YF\LBNÝ\b\10Za\ 3 b$ï}º23\80`\0³±TÚüÿ}%P&=º»¥\86\9d\11LFgõ\8fd\14\9e_VÇÊ+2«º}xzqemeaj\10\97¦Üt4¿ª­©¥g|Ã-8>·ºµo\94\868Õyñ\81Îfà\92\91·÷\f\13\v\9f\14%1w'\96\1eSy\8fa\1c\17¶ÿ\9a\82ümÏ\93\r¹\a\9f¾Üzùlev°ygÈ\10ÄP@\16Ã\83<:I´çGqÆê<µ\8e\84\8aõP\8eßâþ&ÐæÎº¢Ô\88\9bÎÖÆz\9ajj\1aº¸\9d\ 6Óĸ\0\aÏ5\84\e\17ð\:\9aZú&6\1e!\89Ô:\88Ù\99ÉÑÞ\16\80\8e&êR|8=sìÄoØYGÆõ\11Ò`³ïGÀÖKÓÃÝMÕ%ùÙ\99\19Y¹E\15wÚúFg\97\9fP;»\88\1dpÉQ!\ 1þ\ 1!\91\89ÙeõÝ÷f\96q\87ÇÓÕ\87\84\96\ fî\0\b\8aÍ®l\1d\98\98["\ e¦©45ÄÅTM\9cëâ©/Û\r\ 1Oc¦æð1"\85r\9aFÔ6\93îÑ\87«8è\87kA\9f¯>\1céªÍCN|\ri\81¿\18»§2à¿`\81VÍÄ98¹¸±wbaýùË­W/\9e¬à&¸;¸\1996*"""2:.!1)1>&<ÐÓÁ\_MN\\ 4×\9fQbØ7¹¸ñì\ 5f\17zp\1aÒBKj§\94·ï²÷õèî%úÁp\93\92\90C?|ÿÃÏ¿\9cºÈ%¦jä\18\0þ©\eaÌâÜäP\aîpñ²·0126Çõ\85é%uíý#ã÷Ç\86qª61ØÍBWA\84ó2á#fæ\93Æýå\b3\16Ö\9f\11çG\88³­÷D(û\ 3e\12ÂËè\92\9c]ïÎq0Î¥j(Wp\94^\ e©_òhòô\9d\1fEn\18Ö\v\9cg¦rÏ\99Õ\9dcó¤´óêÙêÜx/È@Â-\1fGK#]Muu-\®\13\96Z\ß323¿´DV\ eá¹\1c,M\8dMÌmÝ\ 3c2Kë;\aFïO\8c\r÷à>c\88\9dðÇ\7f9r\8cêèpb´.àu¿#Kû\ 6;\19ËÔ\8aÊk\9bè¥~\0yÞ½Þ|L\96\a\95d'E\87ßBvÑ\9c2ܹ¸öô\ 5\1eq\92,\8b\bñqsq\85ð&¹ \16LéìÜü\83\89Á¶ê\9ch\9f\eú
+Bl_£_'Æðû\9f\8f\9e¤\e¹­\q\91RÓݱ\a+O6·Á¡no>y\ 4>¿®0)ÄÍROQ\94ëò\19\869üºWÆ\86zAy]+Ü!\82\98\7f\r\97»>]_¢\97\f\17äd¦¥¦¦¦¥¥§¥&ÇG\85ø8[\19jÈK\bQ\ 5L;¿¸|@:\ f\1f­o¬-Í\f!\16pÅi\ f&ºRñ·½ÏMzt\ 5\15èÍ\19»ýÚ;\13ã¸\7fý;б\13çX\ 4È^êÔ\92\86\9e{\93³\ ff&\86ºêK3b\82¼\9cìll\1d\8dåU6tô\ e\ e\ fõu6Væá\16t}%p]çN\9d8qê\1c%\86Q9µ]#\ f\96áÉv6hîi%Þ«Ø$\7fz\ 5³\95¾±ùdí&9Îp{eF\18&§ùØ.c\96HN\97@èîÑ\aðùîZNM)^f²ÿ\89\13c\14\84\12\ 3\9aûjóéêüÄ`ûíâtÌ\12\9b\19h©©ªi]%˸Ê\1a{Fp\r\12Ùû\rÈÍËÙÎÖÎÉ# 2%\1f\ eÝÃsUä\ 2n³Ð\ 3í\ 2\97\86ËGÉMaÁ°¸i`få9æÈßn=__\9c\1eém«¯.\ 59ÌË/.§\96K>züâÕöö«ç¸\1dµ§©ª0#1&2"*6\19Àc+Nã­?}\ 6\97<=ÜIÅ77o\ 6\86Åg\96Þé\18\18\9b\9c\9e¢\bp\91>P\92\aoå+>\99\18Ã\13g.q\bJ©è]wô\rOÎÃM²3\8b«O\9eon¾xþxe~j¨\13        L½m¯©A\88u\9e2\87_\ fRþñÝO8
+\84\14\87~±9Um`\93\1fm<yòxýÑüôØ@7®\1f.-*ÈÏËÍÉÎLM\8c¹\85.YKAB\90\97\9bW\10\19tqÑLÇÐÔÜÒ\12ÙmU\98\10`o¨\88Í\86_´ôÑa¹\88²1\1d\9do¤ûµ\8füøÝ?qýú©\8b\9c¸ÅÆ'*³¬±{hìþýQd´ÈK\89
+òõt÷ô  \fOÈ,®nlï¦\16\9d\87¸[\e¨Hð2ãà'6\b@@iá\11\91\89.\86âÝÆÍÀA\80òè"ãW2ID\f©Mrä8\vp\1c\\aäp\8dÐ\ 2\ 2ôCÊ\13\0
+Um\83\93sû~T\8cóÒ\19¤°`\13\94Ó³öÁ_@ð\85y¿Gs\13C\9dõeÙ    ¡Þ\ eæWµT\95\94T4¯Z8\a\90\15²Cc\13\13cCÝM¸Ã6Ø×ÓÃÓ7("1»¤¶©£§÷nW+\9e+ØÍ\92\99\13G~þ\91\9aÛÃüu4\84¤hq·^¿Ù~õl}\11WX\93µäYd\89i5n\16\9f]\{\ 2\8eàÉê"µy\9cìR\8b\8cIHË+»C-c^_ǵã=\8d\15y)±\11·nEÆ¥åW4àªÖÑ{}í\0%¨\8dõç\7fÅ8ùÿûÂ'\831üåäy\bO\14´\8co\90\9d×Õd½ûüòÊÚÚêÊÒÜôh_[mQZ¤¯\83\89\96ì_±\90\90_CsÈÂ/£iæ\1c\18\9fWÝÚ?>»ðhuuey~vbd §½¹¾¶ª¢¬¤0?'#96ÌÏÍÆD[QB\80,\8d\10SÒ·\ 6\eJÖ¡NOOÜ»ÛT\9e\11ái©Ã\18æÚÓàü7ºÁy·n\8b#\98oßÒ\94Wd`\8e\ 3\ fÿú\a\9feæ¥Ölf\95Õw 3p_gSuQfbThP`Phd|Z^iM}skkó\9dª¢\8cØ 7+\ 3\15I\ 4PǨqp^\bj]CS\8aëqÛ2\83\a\97\9c=8f¶#\86\1eáé»Çi\86ðÛË\1aÃÔËLLØ\14®eî~+\8dÚ*8=ÉøQ}¸*¦S'\8eÿ\8a\15auS\07Eõ\b%\96\1dÎ\8c\ f\97ç$\82W6¿ª©$'+§¤\ 1Ñr µ¨uhx¨¿«¹¦8+1ê\169WBz~YmCK[[s=\9c+&ÐÕR_Y\1cl-\84\99¸\97\1eÑ\8a¸\9a©KHjis?å·6ÑìÀ\85·ãJç\8c\14*LÁá\92áÉ\87K+p\8f\8b\ f'ï!÷4\88!ÄÒáQñD\ eûǦA\95\16qmdKMqvJ|llBjvquC{O_\7f_w\v\88O\84\8f­¡\8a8f/~úb.\8fød\92·f\17\90\ 4chï\15\1c\ 3B|§­gpäþÔÌìììôä8ÙÒ\9c\9f\12qÓÑLGA\ 4\82\94cßb!¡Ìá/§.p\bËCÈ\1d\9c\90[ÕÜ3<137¿0ÿpfrl¸¿»½¥¡®¦²´(/\93\96B\1d%      \ 1N\16Ì\11\vËi\9b»\ 6'bR¾\7fp°¯«©2\17\0©±\9a\ 4<;\85\7fÔ¸Çß÷Öm©n\b\88É1½J7ùb\fûý?ÿþwªHI\96\ e;ùÇd yèêîlk¨A.Rð,\11Ññ)Y\ 5¥Uµuuµ\95Å9É\91þ\84|\8a\8f\95é\14\8e\15\1d>v\1aÁ®±c@\N%òá\rÂU#zt\ 1÷Êóå~j\86\18\95Ò4sÙ{\1c\80f\81N\18 `ø}\ 1\97Ý\99:\ 5ÆçV5uá\8fvïü(ï\95³¿\1e=züÔ\ 5va\ 5TÌôR\14ÿéÙ\a³ScC=-µ%Yñ\80jÍôTå$ÅÅ¥äÕQ\ ec3Kn7wv÷tµ7Ö\94楣Ç\8c\8c\ 6I((«¾}çNmeINr\84\9f³\85¾²\ 4/Ëy$ºüî_è\ 4ϳ  )\18à®3\Á9÷hm\ 3\82Ú\85\99ñÁîf\8a©\15ñ_tbFAE}{ß½\89\99\a\ f\ 1Ï\8côw4"Y\tXp``pXt2XÜ\96\1eÐÏ\19\90\15x¾Ûeù\99©ÉÉi\99ù¥Õw\9aÛ:Ú[ê+\vR#|í\8dÕ¥ùYp\8añ\v^9\ 2±~8|\1c\90´ª\81¹\83WPTrvQe]S{w/¼¼ÁÁ\81¾\9eÎ\16°\11\99\80\8b\1d@\fq\9d\0\80Ão\88!1®`ì/s\83\82ø3\eT\85l\92\9a\9a\9c\18\e\19ìëéhi¬«./\ 6)\8c   %A²¢\ 4\95\vç\99.³óK©\eÙùF¦\16\ 1ÃÔD±[[é)PIóïÈ`ôßÿþwj\ 4\ e¥ë\97½Ã¡k\9b¯ß¾f,a%Ó[X3ú\aNÉá°æEN\11\ 5\9dëÎþQ©ùåµõ\8d\8d\r·«Jò3S\12ãbã\12\92Ó²ó\8bJËÀFç¤Æ\86x;\×S\96 ¤ð§\1f\7f<tôÔ\ 5N\11%\83\e\9eaÉy\15uM--Mu\15yÉa\9e7 äå`:\b\rwB\14$\18ºfç\eqà8ú\8a\10ø\9c;\ 3\11\b·¸òU\eïð\14Ðú&ø\9cñ£J"\84\91\80\90T3v¸\19\9dQR×Ú30|ï\1e\bsK]9\80\89\07k#MEI\11\ 1\ 1!1Y5\ 3K\97\0pb\15·\e\9b\9b\eëªJA\f¨s¥gç\17\97\96\97\97Òç2ÓEÒªó'\8f\92I[x-à\95ÑÐ\83²\14ÔB<=ý`nþáìäè@\17HaNJÌ­\0_//o¿à\88\84̪\86ö»\83÷FF\86\aî\82¤\97Ð\9fzzù\ 6\84ÅQ\86\v\175\rÜíhª-/Äe\11èÎ+jêîܹ]U\9c\9d\18æc\8f®\94ý©¯!º\1d1¼Ì       b¨\7fÝÎÝÿVlJ\16ü@õíú\86¦&\{\ 26¢$?#\11I~\8dµäE¨\18å\eD\89\fn\99\99WBÙÀÒ\15ÞNaU}[wßÀÐÐÐ@ÿÝ®v"\85E¹é\89\10\9d\18\11\ 6ÐKçN\9f>ÃÄÌ-ª¨gáâ\1f\95\92STVQ\ e\7f\13\94\1eà¨$/óÙã\87\7fD\92\bø÷¯\7f\11²\b2       L\86Üõ\19uÙM\\94µ2ÓO׿1º&\ 3sÿG\9f\10~^\17°oXB\ 6\1c¯²\12.'735)!>!195#+'77\e`Â-?T\r¤Õ\ 1)<ôã÷ß}\8f¬XhJM\1do\86'e\15­\96\14\80NzÛ\19\83]#ÅÍ\7f|E\f\8f\9c\ 4\8f  k~ð8F\88®\99N\9f"\ehå´¯;ùE$g\17Â祻?
+\16ãÈ¡\9f\ f\1d%&\ÛÌÉ/
+D¬®©µ½½µéNuInj4î A>Y^.N.^ai\15}\v'\1c\11.,«¬ªªØs®´\8cì\ê\a~\ 4\84\8b\81\14"Ïå¿@§ÿñ/ÒÊ"¬¨oíy+¹ º¹«\1fpÜÈp\7f\ fRcf&F\ 4z¹ØÛܰ±wñ
+\8cHÌ*ªDÓÖÑÞÚx»\ 2maÈM\ fg{;;\a\17¯\80ð\84\8cÂÊ:ø´³£µ±®²dwg   ­Û1Á\9ev&ZrÂ\9c\94'ýBv\18bxú\12\87\80\94²\8e±\95£§\7fhd\RZfN^Aa\11ü+,ÈÏÉJK\8c     \vðt07P\93\11âø\v§L\87<?!Öä\93PÖ7w\82[Ï,¬¨mh\86\97ØÞÖÒT\7f\9b2\85±aþ\1e\80²5äDyY/\9e9yâÄÉ3\80\v¤Õ\f­]\91Ü\1aâè\94ø\88@\ f[\13M\82FQ"¾G¾\86\1fáß\ f?\10ò\ 6Â\ 6'\84,J¤\e\82ì[|²DØPIý\ fû\0±ü\8d]\e?\1eùõ\1c3 _mS;\8fÀÈ\84´¬Ü¼¼Ü¬\f¼­¸¸8j¯Ab\d¨\9f;æÒeE¸!:9zè\87ïþõ¯ïHÃ\a\8f¸2\µoht"Äø)ñ\91A\9eö¦ÚòÂ\1c\17\ f\84\0\99OêËã Å\1f\ 4 '~ý\8d        Þ\90\8a\81¥óÍ[1I©éû~ô·£\87~Ä|çéK\¢
+º×\9d(Õ)¯¬¬(\ 3\ 5N\88\fô´¿®¯*#ÌÃÎ\f`\86KPRI×ÌÞ3(*1='/?\1fÄ.5\19Ï\15\8fçJ\81sEQçR#ç\ 2[\88¤¿ÄK\90^\16IÕk¶^aI9eµ\8d­\1d\1d\1dmMwª@ÔcB|]¨\16V#3k'¯ÀÈD|\84*\14ó\82ìÔ¸ð\0O'\e\vSccì´ö\f\8c\80\a,­¬©­­©*+Â\95%))©i\19YÙ9ÙYéI\18\88Z_Ó\90\13\ 6\vvâð\8f_I:ï`Ã\v¬¼brêÈ\9bëêu304,2:&6.\9eð\1eÅDG\86\ 5û{»ÚY\18j\82í¢hc¿E\94ÈH\0\9dbbå\13WÒ1µu\ f\88HHË),­¨ª®®ª¬(-ÎÏIO\8aÅM*7LtáUþÿì½\89ÛfGYî{\18¢\btÈ<\92äË\9cÎðeUÕªUµ2w\86ÎÔ\99ÓI\b\99\9aN\93¹3Ð\81\ 4\12 *³"ÓÖ£^g38\(lÙ2\89"¢8 \8a(\1e\15Ýè¥ûü%çþݵ޷»¿÷í$\80^ǽÏ÷zöÑtW¯U«ê©§\9eá~îgõÔ\95£\ esÕõ1'\9fU6]½õîû\1f{ó[\9f}û³o{Ëã\ fl»õ\9a\8bëêÉÇ\1eq0\8c5&\899è \83\1a\86\ 3\ e\85Ö\fá»ô¾ ñòyc©.\9bJù^nr\1dNÆáP\\¼å\96{´¦ïøé÷¾ÿ\ 3\1fxÿûôm?õ\93í÷Ü;\9eyêM\8f\80²¸ì¼\1e¢pv\vþ\ 5>æøÓû\v®¼éÎ7îÜõô3\9eÙ\83V\99g\9f|Ìa\vöI\83±ë¾;ñÌaïÏypö9ö¿±\83.¼òæ»àò~öío×
+ï~è\ 1\e^ùJÔð1::\97^§£óÔ;ß-Yýð\87\81w?÷¶]\ fo¿\1dÂå³O;qåØceÍ\84s.¹æÖm\ f¾é­Ï½ë}\1fp\9b\90w/~×5|×Ií»Ì}õò¦\ eå*]}Û½\8f½í]\1f\94ÖþÔ¯|JÊþ£?«[á\91\1dwn½îªË/#W#õôøSPß\7fø#\1fùÐϾO:é\89\a·ßyË\r×^}õ\96ën\82õû©w¾çg?Ü\ eÁG~îgÞÏá~ï{ß÷¾÷½ç§\9f\93;wÜq£\14Ø\99'\1d³\8f&\0\93Ô\1ctı'\9fé\92ç[^\7fϽ÷=øð£\8f=ñ¦7íÚõä\93»àü\7flçC÷ß{÷ën\925¢/9æðçi(ÐPܯ\92AµrjW/¾z«\96ù-ÏþÔ{e±~ôc\1fû¨>âýïþÉg\9fzâ¡{ï¸yË%rN´)\87p\ 5\1d\91Ç\11@¿êÆÛïÙñÀC\ fÃn}û\8dW¡-%§\a\1d\80\ 4\1erØáG\1e\91G\1c~Ø!\92Æ\83íKNl©ß$SA§úßÿ¬©¥7Å   NôÒ\97ìñ\8d\ 2»þuÛî߹멷iëßþì3o{ë[\9f~ú©§Þòä\9b\1e\7fä~­ìu\97_X»\8d'¼öð\83Ð\19û½\9c«ë\80Ã\8e9é¬áÂ+®¿í®{ï\7fP3\ 3\9avõÅ£\8dý\r\v$i-\ 6fõ»äsÎ>uåÈC\ f:ðÀC4\9dU=ô\ 6sy¯y¨nÍW¼¢\ 50ºñ\92kn¹û>Íø\19Íø\99§\9f|ü¡\1dwê¬\9c\9fW)ë9â\88#\8f9þ´³ËEWÜpû\e\1e|ìI\1d\93w¼C\1f6û®7ïz\9c¾8{~×+§Ò~ÇH\0\8b®¾eÛÃO>ûÓïûÙ\9fû\90$ý=?ùÌ\93;9\90\97o:\7f¬õ\9c\v.¹òúÛî¾ï\917=å\87?óÔ®G\1fØ~ÇÖ뮼lÓ\85\17\¸é²«ô\r÷í|òmïüéw£·¤¶Þù\8e·?Ëï\99·=åùn½æÒóÒ\19'\1eC"øÇ\97$\82gI\94C\8f¦ôþ\9c\8b.»êº\e·Þvû\1dwÞu÷=Û¦ß=wßuÇëoÛzÃ\96Ë7\9dÛ\9f¥Ûê\90}eóæÊÀrxÜ)gåó7_{Ë];\1ez\
\1dÏùl>ûÖ7?ñÈýo¸cë5\9b/,ÝFMM\9aîUð\15\1fz\14ëy\ 1\14Ò·½îö×ÝzóõW_vÁp¶îl\bå$\83G\1cMIé\89'\9aéá\88Ã\8f8\1a\12úF÷þÕoýÝ?ÿÏÿç_i\ 4ôëp¦\99áÿÀ¦¨ærxø1'\9d\11ϹX«v×öû\1fÚùØã\8fÓ½èÑ\9d\8fH\bîÛ±íÎ×ÝtÍå\17\8d:\19Ç\1d\81\e^ùã¸æ/o\12Ì·\9cwÉU×Ý|«fvÛVf&e´\ 2«ýR·Ï7ÌÊ\9e\9fs\9b>çR}\8e\94ÿ¡:vûsìNYÍç_zÕõK\1e\8a\añ\8aWI\ fëh\96\v¯¸î\96;ÞðÆ\a\1ezHó¼÷\9eÛ·^wŦs4Í\95£Y\98C\ e;ê¸\93ÏLç^rõ\8d¯»{Ç\ 3Ò {\7f×\eîjß\15çßµ_#\1dØí\16\f\17^yÓ\1d÷>d¨É³o{úÉÇ\1e¼\17Á¥¤ü¬3Ï\\rù\9b\98Â6Î\13\a¦=òâój\8e1öõ¼\8bõ·wn\7f\13O¾å)DÿIÚ\950\a:\96Üóú­×z«Oxía~û\12ÉÙ½E¯=þÔ3ÃpÎ\ 5\9b.½üÊ«®Þr͵×^×~×^{í5[®ºbó%\17\9e;\843Na\15÷\81m\98ïB\93Ã#\8e9Ñ@ÿknzÝÝÛ¥aw>ªy=òÐýS+\95\vµ0zÚa\aîßL°\r\a\1eÆYHõüM\97]~å\95W\~é¦ó\8a\86\1cÿÚ#\ e\85NóÈ×®\9cäzÒ³Ï:ã´\93O8îØãh_\ 1Ñ\ f-åþòïÿùßþ\r\8cûoCQ|ë\1e\84=­|\1dô\ 6/8m5\9f\15×Þtëëïºç\rÔÕ¾á\rÛî¹ëN\1d³\e¯½\12Òê³N\95ØË6\83.êe/\9d¾E"sò\19¡\9cwÑ¥\97\99]¶éüêÉËsZD½ÍR\ 2\87\1cÖoÿW·c'ñ\89å¼M<ôʽ\1eª\97ï·ßt\98%bç\´y\8b\84õ¶×½îÖ­7^wUëBs¢îväY÷È\11Ç\9cpÚÙÃù\1c\93×Ýq·Ë\85çßuË\92ïzélUd¬\1c(U\7f¦¬Ë-7ß®{ð\81\a\1f¼\7f\922¿ää\13O8áÄSN?[\1ajóÕ×ߤó"ý°õ\86kôÈF{p*4Ð\99       Þxë\1d÷lßñÆûî¿ï¾7¾qǽ÷ng\ 2\8eÓ¥­>c~\ 6ö\81UE\1dê{\ f?Z»|æÙ1\97ñ\9csÏ;ÿüó/\98ÿÎ?ÿ¼sÏ©\90Î\9czⱬ¢\ fÔ¾Û?¶½Ûÿ Ã\8e^9åÌX/¸ä\8akn°\8a½óÎ;^\8f\96Û\ 2\99WÔÂ\1csÄ!2\83\1aa±ÄD\esÒiguýPÇsF½°Ó\v\8f\8d.\ e?ú¸\936\9e\9dÊ9ç\9d\7fÞ9µ×
+\9crÊ©g¶jî\ f\ 25§Ué?Í\9b
+rÈ\86    ù\ 2®wB\11\1d\9eÒ\9fsá%W\}íõ7Þt³~7ÝtÃõ×n¹ª\1d³35'í®/ä\19k£SîG\1es©gtI3\e§\99\9d kâ\80W/9\90ÓÑ^ü\9c³ÏàéúâWA\89§¿?òØ\13O=sÙC9\ 2/\9f\1dæ\13N[Mõ¼\8b.Ù|ùå\97o¾ìâ\vÏ-ð \1dwôa\#xmû\1fÄ\9bNïò¹\17]vå\96ënÐgm\95k±ïï2ûÐ|\9a²R7v\ 5â\85\e·ÞzÛ­·Ü|C#[s«\eXl\8f\91dPDyÑ%\97]~Å\15Wl¾Ô¥\94gm\84\80è\98c\8e;þä\8dgÅzþÅ\97_}í\r7o½åV~·Ü²õæ\9bn¼áÚ-º¸9}§\1e?;\ 3ËoÑ    aóê×\1ct¨ÔÍ       '\9fºñ\8c3!p>{ÏßêêYgÂ9sÂqG\1fq\88¿eßÊp.\87Úu\8eé)gty<\7fÓ¥\9b¯¸êê«áÉß|ÉEç\8f¹-9\vc\96:l0þ\81¤í\84\93\1cÎä\85'\1d\7fìѨB\19ô\92h\e\rW^½eË\95\9b¥8fM"ïzô\9d\1fýÕ/þñw¾÷Ïÿòý¿ÿ+W?>òú« s<ðÕ3ça\92C¾ò°£\11\8d\90Çó.ÜtÉ¥\97mÞ|Ùe\97^rñE\17\9c«\vfõôSdm\1dz\10ËÅ\17¾tv¡ë\1f\1e|øQÇ\1e\7f\12«sæ\19§{fr¬ö±®sìÜâçø\1f½\92Ð\13\9f»ï\87âàÏ\ eóQ\12Ö3Î\8eýPj-9\85ÕÓ}8\ f9\80kdþ¤£WNÞ¸\1a\87sοèâK/ÓwmÞ÷wMó\9dË¡Õ\85\v\94\7f·{\7f\8e\108®¤\ 3\8e\94ÓW\ 3\ajd\ eÝY\eO9á¸×B=}èáG¶\8aó¾\9e{Á¦K.Û\8c¤^Á\81Ñû/<ÿ\9cF\95¿çÙÞG\95¼wèUû\1fpð¡G\1cõÚc\8ekÄ2'îù\9b\13͸ñÄ+_ñcË«\0ö\92C?S²}Ìñ»\95¬~ç\8c\14Ç\9fyÚÉZ\98Ã\ ebK&Êâ\97Ë'}µ.\18}\95æ \1f\1cïGÊ\179ðÀ\ 3\ f>\füO¹ðòkuéÜyÇí·È̺ðÜZϽèJ@º¿ðéßùÓ¿þÞ÷¿ÿ½ï~ó÷>Kkæ\9b/]\83ã\98Õ9L[\7fÂÉ\eÏ<;¤ÌÆÖ2dZk4âô#\ em\1f¸ß<q8[\1eMB3;ö¸ifG\1c\ 1>Bû°t\90Ã\85Ï\99ý£\1fó\95û\13º\98\ fYþÐÆ\ e6\1df}ý1+'JA\9c~úé\eO\83\ 4\8d\ e ºÙ\7f\82è\9f\ e°§\87Èëú<Kòú\82ßµp\\8e8æxýS¯\bÿj¶?°ë¨˷ñ¡)\9cqÆé§\9fvÊIÇ#\83PO¿F®£\r¦\13O=}µó\92\8eþµ÷\9f}Öé¦\ e\8\ 3ËeFßûjY\19\a\1frèa\87\9bZ\1a\12çÙÏTÓp®\1ft ®\81ç}Úü\99m×Q²8\16'\9e\82J8K?i\85ÓN>ÑZn÷´5×nk\12\aèô\1d¦I4\8e÷\ 3&ãçØSV˦«o¾óÞ\a\1e\91yI\eÀ-\9b/¹ø\92©)îg\7fï\9b\7fó\ f`TþÈ\18\95»®iµ[{\ 4ô^2?\1al«¦t¼öõ4VUëºñ4Xt\8e5Ï¢uÕ~M\15®Y\9e½f¦\95ð\11Zzºg/Û×?z9Wî~?þ¼\ fÝsÆ\a¡r$­ÇIVuM²ÿûïq\80'A´¬\1c\7fÒ)È뾿kO:ÀÙ%!uq\84Åì´\8d\e\11ô\13W¦ý\81Û\9c>#\e^sÐ!³)x\ eG\1cæ9È&À(8@\7f{Ô1Ç\9dpÒ),é\99þñþS-¯\9c\99\99¾y\1eÆëF\84öãò\12\88̽æ\0~\aîýã\8f ýgZ?¶Ç&í[\ eÛ\1a²Ð\a\1e<-â
+\ 4þMÉÑÇbÿ=6|\1a\8f\858\9bÄk$\80zaó¡\1d\83Ûrë\e\1eÞõÖ·¿ó\1dÏ\10Q¼ý¦k\ 1vº)îç\kñwßùSª:\9fºï\96ÍŰ\86µ\0ÅiÃ8ÝLéµZÔIO½\96Ö\ 6ÓæÎç´¯åi3\83|~\9f+ÁË^¶äs¦\7fô2S î÷¼\ f\9d\18êÚ\8c÷?\0\rq¨®@Ú/´\ e ó\ 3<\9d\13Äõ\90Ãè\94ðüßµL]hI¤Òt\17\1e{lûGÚ\1fRHMo{\9am
+\87é7µ\80p\17\129ôÓßúݯµf?Þ\e½ÒZ\96<Ïë\97É¡WE\92ÿÊF-½ö÷ÊWN\9cë^Å\97<¿\14Î\1f\8a ²\88\a55{ø\Éí¯\83¶ç\86\80í\9b=   ¿ï\15v¡a#&ß¼ýÑ·þÔû\7fîÃ\1f"!ñØýÛ^\7fÛm¯\7fÃÃO½û¿üê\17¾þ­¿ù»ÿûo¾õõÏÿÊG\9e{ì®k)\86ZàWÞSÔ7¼¦M      =4-,\94î{\1c²\97¬ùw{,Ï\8bY\89å\9f3ûGÄ2_úÂ\ fÝ=c¤uÃþþÍÚ/ì-­\b¢µÖô]\87¿ðwíñ\86¦\97\ f<H® \ 4ý\10ZÝx\7f\9aºmÓü    \9f(\1d\99×ì1\87ýZv¿Iâk\ e\9c½»Ý\9e{Êë\8bÕ]/õëöû±öûñ5¿ö§F\15¼ì\ 5\1f·çC§/xõ\Ͼ\ 6¥úê½\16r_\93à}\1cÕý\ f6\ð¦m\8f>óÞ\8füÒÇ?ùIw\97zóÎûïÝþÆ\87\9f|'Xñ?ú\8b¿þî\1c\9fxËæzÆñKzÀÌÞ°{__3ýv÷ÖX¶YËgö\ 2+ñüÿh&=ûüû½Ö\90\19#®þ½â\15\85\97î)­ó\95þ\ 1¾kz\85}¡¹\98YÐçû3W·{MÁs\98Mö¥\vrz@ûí%¯ûzý\92\89<s\1f¿\19Æj-Ùðó?tö\ 5?±[)L§~afk&ñ²f÷\10éo\80¿\a\9f\7fùø§\rFùÄÿùÁw=óäã\8f>þæ·¿÷c\9füo¿û\8doýÕwþâO~ï·>ñ¡wì¼ó\9a\v\82éÚ\17\13=»÷~é\94öÛ[\böúw/\99fö²\17½\12Ë>g\8f\7fô\92\17õÐù\8c\r-j¿Ýí\17Ö\8eÚï\aü®Ù¿mgs&f¯Øk\7fæÓô\14fÚaÏ\16\10\93\9cNï~åîß²3óÂ23=òy~Ó \17ñ¸=wb\8f/ØëÐ/Îlq\12Æ\8d\1d\8b¬\9eøÉ\8f|ü3_lм_7´ó\99g\9f\87\7fù×]òó­?ýÚç\7fíçßýä\8e\9b/3üj9ÇÉâ¢î1¥\97í[²ÖÎìE­Ä\vý£\17õÐÙ\88\97Í~{¶_X²Ò?Øw­Ý¤µ\82>?1{Máe{ÌvO9ÝóÝ\vòúükµ¸lÏû{Ñ\ f\88{*\85\17Úðéó,\86\90Ho¾å¾§ßÿK\9fþâ\1füÉ\9f\7fë\9bßøê\17\13¿ð¡\ f¼÷½\1føð/~ê³_úÚ\1fÿÙ7ÿä\ f¾ø\e¿ü3\13lt¹2\2¥\97M3zÞ)-_\9e\17¿\0Ï÷\8f^ÌC_Ô>ÌÄá\aÿ®}KúóOaÍyÚk\9b×îô\ f*7ÿþ¿¹Hí}æ_\9c\8av\8dUã#yøí?÷\89Ï}õOÿê»\7fûÝoÿÙ\1f|鳿ú\7fýÂÇ>öó¿ôÉOÿ÷¯üÁ7þø\e_ûÒg>þ¡ç\1eßævX\87\1f¸¼hëG\9fÒÿW¿\17#ÿ/ùá¿ëE\vú\vþåâåù\9fg]_ð\13÷õÏ&\8a¶³Î¥\aèG\7fõ\v\7fø\97\7fû½\7fúÇ¿ÿë?ÿÃßùܧ\7få\13\1fÿį|ú·¾ø»_ûú׿ú¥Ï~òcïzò\8d·\ár\87ý÷      \ 1ú\11§ô\9fþ÷Ã\7f×\8f¾\18/F\98ÿ\17üífY\aÏ\ 5ùÇ\1f\7fç\1f¾OyØß|ë\8f\vÿí7?ý\e\9fù­Ï\7fù÷¾úÕßýâg?õó\94¸oÙW¹Ãúoý÷Ãþ&m\b\95æ\1d\8f>÷Q8h¾÷/ÿöoÿúý\7føëo}ã÷¿ü\85ßþï¿ý\85/ýÎW¾òåßþ̧~þýÏ<r×õ\17\ fû(wXÿ­ÿ~ØßnV"Ù\86ïøð§>ÿ\87ßþû\7fþ×ÿùoÿòO\7f÷\9d?ÿÆ×~ïw¾ô¥/}ùË_úüo}ÚõFÛnÚ<®\9ed²§çm_¾þ[ÿý ¿\19-<\1c\17\13\15Òwÿñ_þõ_ÿå\7füÃwÿòϾñ\a_ýÊï|é\8b\9fÿÜg~í¿~ìýÏ>¶}ë\15çv§\1c£+ùy»\97¯ÿÖ\7f?د\91\18\1eB\ f§\e·ïz÷/@\19ô·ßû\1fßÿþ?þýw¿ýç\7füõßÿÊ\97]\vöË\1fyï3\8fm¿åÊóãópJ¬ÿÖ\7f?ÜoF\99Héù\1d\8f\98\82æ\e\7f\ 1\7fÁß}÷;\7fñg\7fôµßÕ}ü\e¿ú_\7fá\83ïzë£o¸åª\vÒÆã©×ZVî°þ[ÿý°¿9eâ\19uóÖ{wýôG?ñÙ/\7fýO¿õío\7fû/¾ù'\7føû_ùâç~ó×>ñ\8b\1fyÿsoyxÛÖ«.èO?a^\1d².\86ë¿\7f·ß\8c\91â<õ\1eH L\1eð\87²\v¿ø¹Ïüú'\7fùc?û®gÞtÿ]7]qA\7fÆ  û&_\ÿ­ÿ~è_»\95aä*\97Þp×ÃO¿ûÿü+¿ñ[\9fÿÂ\17¿`ú\87\8fÿÒÇ>ø\9ew¼eç½·_¿ù¼tº¤pY\8dÒúoý÷£ý\1a\ 5\82Ô!¼      7ÝýÐ[\9e{ÿG~±\95ÞC\92\ 1+ÆSpgSÇ¿ñx¤ðù\8a\ 6×\7fë¿\1fî7'#9-\9e\8dwÞ÷øÓϽçg>ô\91\8f~ô#\1fúàûßýÜ3o~ôþ{n»þò\v\8b\v\80gR¸.\86ë¿\7f×ß\8c\8cä¨ã7Æs/»ö¶{î\7f\14n\93w>÷N\18\f\1e{hÇÝ·ÝpÕÅç4ö\87׬Káúï?ä7##\99Xv®¼þÖ;]z¿ó\91\87\1f¼oûÝ·o½îÊ\8bÏË«§¹\16üU/T3¸þ[ÿýp¿9\aÂQT*\9f»ér\97Þ¿þõ¯¿\1d¢\85«.»èÜ|öé'5J\80u)\ÿýGý^2'N8öÄ\8d«=¥÷\97_qÕUW]y¹\19\fâêÆ\93V\8eÞM÷±.\85ë¿ÿ\88ßKfü&0.\9c8+½?Çt\1cá¬ÓOi\f\ 6\ef\94\0ëR¸þû\ fùí&#9øð£\8e9þÄSNsI¶é6`°8ì`S\90üØË_Láêúoý÷Cþv\93\91\1cpð¡\87O5Ù+Ç\1d7g\ f\98\15®\váúï?ð7cðø\89WíQ\ f\ e\85Á\ fR\8d½þ[ÿý\88¿\97ìM.ÒêÁ\7fàjìõßúïGüí]z¿w5öó\14\83¯ÿÖ\7fÿ®¿\97ìÉ_ð£Tc¯ÿÖ\7f?ÊoV\ 5»\9b<à?Q5öúïÿG¿½K²ÿ7*\85]ÿý¯öûß®\1a{ý·þ[ÿ­ÿÖ\7fë¿ÿãä\93/Ûyï¥ÛvmÛpÛ\15\eNÞte¾[ÿ}ã¶7íÚñÄ\86k7\9c|÷Ù\9b\9eØué\ 3Ûw=ðèÎmO<½r\8eþ(¬\9c\8em\ f¯\9cÖ\86­hÄÊuO<pß\ 3\877mßöð\8e\8d+gjܹú\7f\eº\95M;6<¹ì\7f\9dÎÿ¾nC·Zr\17»±v5õãÐ\8d+ÝêPÆ¡Æ\9cc\r}_{ÿI\17c\18k\9fêÐ÷üÉØ\85¡ïâ\98Ç\1aÓ\10V:ÿÏmÛôPþ#ò\1fOo\88¹_-¥O¹v¥+ý¸2è\ fúÜÕ\1c\86®êoV\1e\99\8dÑËj¬Ã\18W\86~\í\87>h\êû\9cVbN«ú\175\8e\9ah\1e²Fô«\9aL,9\8f±\8fQ#âj×\r\1f\8ec\f\1a\11\10b\9fb\8dC)+\97è=Ýj\185\97A\9f\1a\93ÊjWê\10»>f}×JìËj.qÐ\7fvC\1a\94\98Z_õ\95¡¯\9a\89^\1cúP;ÍmÐì4Bï\81\98¿vc*cà=½ÖTï\rC\1dû\1aô\9eXWs×ë\7f\ f\1cV´`«cßuãXSJEß\13\a½¸¦\90ûZRbD\-)êãõ\9c\12\8bFäUý\9f9\ f£Ö\7fà5<5\97\9b»Ñ¯éW»¡/©\vµöÚ\92\18\93^Óë¹1hñxHZíÓ\90ôþ\14\18êj\1dõ\94AÛ©\1d\9e\8f\18z-ÑÐWÞ\13\826»OaÐ\1f\17­ÒÂ\98-\e\85ã[ô}\92&\8déºÕ.¦\9eÖAYÿz\1a£ïѨ\92r\fi%\8fãjJÚ½¡jur]aDê»\9c{­d\1e\8bFÔUýe.ý\90´q½GhK{Mcè´õ\1eѱCÌ>%/¿Æ\84RK\18µ\93uä=zñ0&É_\97£Æx\84\1eÙ÷\9d\14\8fè:M^\9f¥\11ã|D    )h\9d\83F\f:\ 3U/\1aB    Ýü={?¥\97\94jv©\f\12\87ö\9eÒç \11\94D\r<%­Jðû1I¼³þIìªv(\16ÉÀ\18º\945"®\ eC\ eÚ/mJµØ\ 6\89­NZ-U;­\11\ 6­a'!Õ2i\ fãj_\aèþuDsï\11AÛ ¿ÎÚ\0        SÈ:-\12zÉWL¥j\84$4è\8d\9d\8ec\bÙoÉ«!ë\ f%.\92J}M\1dVc\19ËØI k\8dÚA\89Ìj\89\12é8&\89\7f^>\ 6©\94n¨ìZé\17ßÅ\18m¼ÖBg{Ð\97\966F\9b \ 3Ûi~yE\al\15Q\ fz\91¤eð\b\89h\8e|\87N¢FD­JÔ\9fiyCMí«%ì¥è¤\8e    ÉÕ\1f¯\96A:@ÿ=D\7fwX\95\9eÑg\ e5ÕqÔS¤G²f®\93\965\1d\8fй\eRí¥XrÐ\88¼Ê\f\12\1dk4!ïP\97Ñ4:çZ\80\95íz\8f\8e³VAR;v:\\1e£ã E¤¹tc¯§\14½'\96!夣T- I²!\8d'¡*¼G¢Þy\ 1´T}°4i®\83~]¯·ù{F\96[\9a:Æ¢\97jLÖÖK\vê­Ú\17Ve\94Ä\8d!\16\1dÄÈ\ eInµúú \1dãN* h!»NÚX§%\85ÔÎXHÒá\92\8f\¥Ú\91l-eÔÖè\8b{        \8c\94vE!Kd\11õÔN|X\95H\8eI\8b¬{#i\8c6U\12\94µ´:\11\9cU-v\17"zC\1f \11\ 3:!Ç>Hx´¼m\84þ\1d\1a¯\ eÅ\ 3´tuÔÂHt\83\96\96!Z2ýuNY¢©1\b·T©¦¯\ 3\9eü\10mO\97\83¦\83À1Bû¢e\ f(­:\1fQ¸tÆö\b©aífåH×é\8bý\90\81vÐÒ¿\9a³o\ 2=Uú+ð\9aNÿ\bÁÑÒKÅi\84Nû¨ïɵp\ 6´²ºµ\98\96\95«M#ò*;ÅçHð9Ë\81Å\ eZò~\88\92^ÖDû3êMAê*èj\bÚRÉãÀÂg\8eÂ0Hµje´}Z\15é&í¦î$\9d\8b¤{Z#ØA-a\87\96\fÑïIH\93¶y\b   E3\14I¤t\86\ eáa\a\93\8eTÒ:!9\95«lÙ\18é'­\8b\9e¡\8f\96ĵ1º\87¥Û¥*³/D\9dd\9d\99\82 ò\14\14´YZ\9bÂ\95Y¹¼µ<:"\11IY\9c/×·\ e\8f®"\89·Ô¦×.H_KpúP¸Ë\16\8c\ 4       \8b>NB­CÜé\9fÌL\r\9d&)$©½\99©\81\r \e\aÉÞ¼!¬\ª¯Ò_T\rÑÃG)f\9b\13²d¸E±w
+FIÒ\ 4ô\99Z\9a\1c
+3\92m\90èn"e­ËGò­\11º®uòtýjÇõ>Í\88U\97\14 cæ#ôOdQa\94hFº\93ô_\12¥ØnñŧH\11ôCÅÆÐ£t\17i¶Ú¥Ár\14¥\81\90_éÓ^*W\92Ùå%Æ\82d\93ëQÏ\94ú\93Ì\âÝÖM*m+ý¡+Ç\92§­éÙ\ 4}£n\89(í>bÝ1=Öoà:fóG\99\b\18%ºø¥\95ucë\1aéò|\84\1eZ9~ÞɨC®C£\87\ 6­UX\1c#©Ò\8d5J´t\9bZÖl Õ\1e]×§\11!bÌ \8b}\94\8céJÕ\96/\1f3J\18µ³Zï\8apNC"ß\19Ø\80(i\95Ò\96ùÖ#ç\1a¡3*µ¡u\93á"\r$«JK¤eÐR\fÌDËTF­\80,\fi@kÃX¬Ot\ 4¥©5B\17\12J(7­¾\9e©W\86"í(ùÍ6\1ae\ f`àJqe½E6¢>_û.Û´ã\ 4Èþ\93QÀZc\9ey{¸÷u\84\92\947¦¨n éB68÷2\x\b\97\99n~}eBñaáJæ¹_´ÒØÀ3±fÏÒ\98gb-QÁr)Ñ\a ã\0è"\97ÑËÎ÷Ü\8fºÈ5RË2tEêI×\9e\ e\r\15¹á\12w]Z\1c£ó£;Y\ 3\r¾\82¹Me\1c\99öO3\92\8c\8d\_8    :i\8b\ 6\83¾\1cYíu¤BÂHb\fFx\91\fɪ\v\12w-\98ÖZ³\91\80\91\8b\ 5g\85kL'QW\ fV»Öm`EÚ-\9e¹©¤\v$@Ö0e\95;]WlB)ø~å\10IaK\ 6G4̰ª7J.%<¨%îÎ\8aÜhÑ\93-­¬³ªõ\95©8¦h«D+ £¢\eP\8bÒ7MÖs\93hÕKm¦}\97V1,å8éD\8f½õ\94öL\e\9cdðÈì\95hqǵÿÖÚ,\19!\130¡ÎGÙ\14\bÌö\rKÆdÞS´\962\ 3k{\8a\ 4P\ e\82Ü\17\9da\8dð2\15\fK}pô\17ë ëoµ§øyx\102ÇGí½\r©iݤ¶F\e\85:e>dÒ1²G+öØ´ú\98 º\1f\8aý\10Ô\91\16\11{¨`\95ÄAÇP\82\8fU,\8b§oò_\99½Ö.û\90IßGü=\9dã {KCÆÕª¿Ó\85ÌÝ£kD·\86L\12ÝÔR,ºê%Ý:2\9c"\19\9bº!¤\9et7áré\1fÉIªMþ\8bGc÷7£½è¾mçL\97\93Ï\88DT¶4s×vJ\fª\8e\15V\17&\86,<\8d\90\8b¡Ã"Ó3ð¿4bX\95õ%'\ 4#7ÏGèXè\9fI\96x\8f$P\8aVB\9bä\1dÆùCt=e¬\83\15\9d#-\81\94\9f,\8a\9eMg"ú¿$à2\81õp\8d\90A¥[C\ 6"nv»¥ð\9f\80ÊÖk4q¹b=Æí\88\91åE\91²á(Ë8¬H®dyf4|7ú\83¥X
+f·\1còN\97Äl\ 4þ¨¦Ò¡\9dt2$áz\87þÐ\16áâS"²¤=\97¤È`\eV\98\89|\1aù|úOé\ 3;¬(»ÂfÈÓÕ\b»\848|2\ et)É]Y\95tjÅ$\1c±¹è¸j\12«Âd2K\8b\8aïu}ôÜ\98ÜR²lªN§ÖZ\vÎö\84ÂE-k¾ïm±ëÿ\å%RQrRY{\9d\fÜ:\9d\rY\92\96\ 2\8czݰ\12\1d)õA\93\r½\8cW)c)ôÊ٩ܨ#K-\aJ\1e\8a´Óªt\904¼Ô\ eæ\87dj\95ï(è;Lb)(n\ e©%-Y×n\ eûKÜ,¥ =\1e£ó\95\11\9ddQ*ºÛ5I\9dWyl\9c\f9Û2Må¼IYhq4Bæ\94ô\98ÎRÏué\11H\15\ 6\98\8e\9d_£ëÅ\91\92\ 1+Y\eØIAJ\ 2\91¬<`#k\84\96vÀ_\97\86Á=×:ã0W,7¤^#¤³Y#[L\1aaûGû-Û\eóª½G\93ÐBË\ 2\94\98\88ú\93\86%Èâ÷ \8ez\82®\fé\19}°ìê\ e{Q\aL:_*T·\8aüu\9d\1eùÖÚc«Ð\9eã«Ý\8c\ 4K.ñÍ£K_¶·\8e\8elz»çú/yOR\ eºÚ½l\12Ç\80¨é\9b\9a\9b\83µV0zð«uÌ\13Ö¦n.IJ²§$É\1d¬rº:N»Sµl\81\0Dàr\1a¹\89\b\ fiD®¼F7»¬õ\81ø\8a>hæ¿çH(«âYW\9cq ø\80ulß{Í\88í\166)<IÖ¨3\95ã²§Èna\91$:XÁsßOr¥\95c\84Ô\89ÜÇ.\r\ 4¯Âè\ f\8eÒ$º\räNµ¸\87þ\11\85Ä\aÉͳ\93\19I¼J»1Xç\94\82É¥{H\16Î\92íÑnH·H1H"\vZIb E!k­Ó\ 5QûIçHÁ\10?"p\98ý\94d?\83\15\8eö\eô\9cÊ\a\11\9dÓ\91i\e$\85!MVq\19=\97Îf\0¡\99<ùÕ\12\ 3BJhß%ßÌ2\8d¸XIÿ¬\9d0{Þú{ɦ\1c:L\90LtD\v(5¥ÿí\93\8cÂ\19q\1e¼*\93\19#ßUÎ\13Q\9aÉ\18Ê\9aL©ý\92\11s¿A\13\b, t\87ÔBõM×'\94¾î6¹\ f\98\98\ e\8b2q§¦æÐeI\9a¼^t\8b¤¹dÙVÄ\97t\ 4\11±ÒÐHÀ\8a¯\92\e%÷T\92*­'­Þ¡Ò´\a½\16 \9f©°vÿH¯Î®CI\94ÖVǪ`gø3ô\7fêâÖ®pÃ$ôº\ 6êã¤\92½6¨3ô\9e.ÃÝ#°\90G¢v¼\87xAÏævX\8bK\9e¢õÓ\8d\84\ f;\8c\98m¶¯\81
\8cÈ«\ 4ÉdöÉrÆ\96×\9aH\0\137\9d¬\918\1dzM_·´\ 4 áGÊ\12×ãµN|Sß\94\98&\89e\8b³S\1d\87ÔÇù E.\14+B\99Z:÷=÷\97t%jA_\88Ó(\93lz\8fN\r\887á1Ú)\1d7i\ 2meS.\15Ã\85\88wJ\1e!ÙO\98}\84.­]¸ÿ5Ñ\84þð\1dÄ;¥ù\88\9bÛn*\95\93¦m\8cµ\8dѵ\86Û/cql\17\88\ e°Þ\19´2L¤Êð(öJ£½\17)\17ä\1c)\91CØ{DEü;b1ÁJ\8c\10\97\fb    à «\97K\95{IJ\8eÕ%¶\86 hZL\w\1d~C\føýZ\10\1d\94ÊöT\82Ïú^   bA{:\90,¡Ð\0"*þ\1c\84VGYÇ<\11ouÄ\9aC {\84(I¿2\13|)hâÜÍ\eÓEÆ,\92¾iXyáã3óO\12&¥L\11­\1dz\18qIr<Y)ÝMQÇl6\ 2[^\9a¬Eê¥\a#18ÉaZa\84\\0f ûÓÑþÐL¿\11ONóaDÀ-ä.N±9\7fD¦t\7fJ\aè\19RvxãUÿ\1c\8b\8bp\19_ee®;c NÊ\bt¨þ\ 5\a¸Åò\89?d\99\1cºé\99\89¤#\10Ì\91\ 1I$\ fÓhÀûÓ©Ó
+W¿\aÇH
+T&KOp\9c=ÐJkx \90\12õ\14\15\9bL{\14m`éÄ\14|?\19Kòü5¢Ç!\94\ 5)s\ 13\0ïWß¡ÅÕ1²³¥?^%^\12Øí.ÅEa\90*Æ<\1cåJH·\946B6\87\90\a÷ÒíÒ\ 4rË1Qf#"æm²¢Ñ{zbý\ 4!u\93ôK\1f\83\0@\92\87Ò7cP\97\88î\1eìÿ\8e\11²Bsv0G:!ù{ÉÕè6îøc¿FW\91Ly=Sö\90×>³;ºÊ0\94e"3\82\f\89N\91\14çÀS
+²­Í    ØYý|\84\14 wXËÖèæÂe\8e\16\9f"I\19\88ç\16ÌÔà\87ÈËa\ eÒ4¶¡#ÇC\9e±\9eÃ÷1b h®ÏÓ\1f´(A\8fOD y°s.-§ËVû\10°4íIa\1eJ¹bëe/\9b\8e{Ð)%@W9î\89³«û=\13ô\8eÁ˦«tà®­øü8RRl\98u\12¦a\98>\a-ÔsUDlÊTt\8d²32\f¤Üõ\14©p\1dKM~ÀÆjï\913¢{J\97(¦ÇvNyIZCi^\83ÔÐÈÍ\86jä=     )ðô¢Ôtò7'ÌK\r\94\0j{t²¥¹$\90ú\87\81¸«\ e©Ì}}g\8fc­íÑc3wM!«\80Í\12É\1ayû4³\88N\97\ 6ZÅÓ×§F\8cÙ)Ê@\b-\10»Ý²!É\81Æ]Å\85\88}Z:¢HM²e8¿ír!\r*)\18%sq\1a2\10«Õ¶K¸ZÂM;\ð\9e\94\11#6µÏ\97ÏèÀÅ «\;\80e\97\91@(\ 6}²°9ÎN4;;"È\10\89¯D\8dëròµ46\11\ 3$Gë\87È'Ö\aðógÕ\88\91\fdZ\91Çi\84öt䦳<\ e¨F  6ZqzÏ\9a§ÈÖ\93
+%F%÷¹ø)\ 4\05\eÝIC\93\ 2\fèJܹ«þÞLY±¾\96\16¤\9e\8bTGE_cÍÆí\89mLú¤\9bÌ\1dm v*.\98DIþ\99\rR\89bßò²ÍE%ÓÇË4BgE\9eå\88Ëé\0ç4¢\10 \ví5Ò\1f\\8e\95?\1a˲\87è:\r\98OH\13÷:v\97\14dÔ¹Õ\16ëB\bÜ\9d¤\1f\b\7fàÓi\84¤]Î\18¡¤®yÜ:Nä¯sMMË&îuÝÁ:ÝZ}¹¹ì0\8e´\1eåK¥ \92ôZ¹tº«4\80S¡ÿ\92\båPÛª\8eXÎÒåö>y\v&áX:§e8Å\1cÙ¢\7f\8e)K\10\1dq$á¥ÿ\91øe+Y)\aí\8a\94=ÎÅP¼lºÎ4×\91hYhisÙ\13YªO\17\ 3\e(+\1c3^w\ 2ÿ\7f\8d\90µª©pýõ\98jMNðh\aÂ#\ 3ÛÓ"\15^6̪\15­\9e\1cy\ 4OÂÃ\8d7ÅÊ\vË\9dÉ\96j þIdþ\1aæ÷´\11(.¼Òé\14\ f\83U]\8fG¼ì)ºÒu
+zü®´\99èb\eI´E\9d\v\1d\83d¯Ior¾[ß\8b£ÓaOá\b£\93t\ 3\8e¸\14\9apAdQÌd»\9c¨Å,@ãh\1f$­5"\hP¹\ fIz°`\vXkIåÉ Ðe5æ<ÓÂúöÎ& ß£\vN\ 6CìÉ\83ÚØY3F;\88\88J\ 5I)õX϶\9c+\89^Y\91\84\87\ 3\16\92Î\e®\14a1.\80Jº ê_\95Ñ7\ 2à\fR\ 5XÒl ± E3\96ÑmuO$F\8a£#C\9cÚâK¬\13A\97\9e©HáiQt\16µÍrÃÇy¸
+¼GGt';{0\18\83\11È¡M!¯\1c      \1cÕÉ´\18ð<¤P\89í/yF&N(µFR=ô-ô\16´\1a\r¾%sTd>âÁù*&\80§OÓ9$ã7N\ 6\192\96}ö³·O\aDjÍÉâ°²Ä2\1cY\91D
+\17Ã`e¹u©ÃÕ\91\8e\1el\85Êñ^Õ-LÆW.(\8a\9aû\8elÄ`\ 31a\83\12¨FáâåÖ¦§»ì\84/ß)9!PHî\98<iﻫãUı\a\ 4Ì\13ÉØ0è\99-@¤mÔ\8bÉm7\e\a\vß!\16Ýx-¦B<A§¨'ý--%q_%\9d!q$\1aÜâ%Dë\bpÊ&Ö\9aTrð=\9f\83åæ\bº\8e\fØ\19þ¡ÏEq0_\1aÊÁ&;Ò²\1cù\1e\87ÈW\12\89ý\ 1¯_Ò9\0fp\ 6\1eñ\96`\81        Ò«eÖÊà!-\ 2\14\9b$wà\1es
+\81×èÊÔ¥&5\8fó¨\9b¸8^\8e\189\9bª§`(õ\80\8a2I/\8d\bÜÕ:\ e ~8æ¥[%\0
\8eú\9cASsR
+û¾ÙíCqX\89\b\9dÔ\93Þ3hÕ:ç\90G\14\9d¾[WWF0¤lG\1e"ÛD\1adD\7fd´Í ³''P\8b'UÀDô\aEO\94Ù`³|\92Æ\9eì\0AM\99e\1a#\17BÆt\96§'{¤Yíd\18\ 2I\ 1\94ݪ\1da«­\10mp\93ÈÖ} C@2ÐFTîê@$Ä'X\92%Ç0\93h\95/²ä):KÚI\1d&ÝÉ\99 \86F8S&\9b\88\18¤\rC\ 2ê=ª}ôDu\81aO\atîd\16êî\97H³ª¤Q\86\16X\944f\9f\91Ì0üâ8\18Â3È0NÜ}Ò+,³\rGI\ 5QA        lð²\1a1\83[Síãa:êªÐ\91Å7      ¼\a_\87\94\91Õ\8b\9e"Ũ¥ÐùaåuPØ=òóÚt\10\12\83GHû$Rj\9a,\v\ f¤*\90vÔÙi\9a\1eÓJF1é<®CÄ$\81a«#Æ\ 46láßè:M¥\10\1eн(e\8a\ f¶ð\16G\10\8e\rÙÊ\96Ó±²}Ã4FV\8cæ\8f½\96É\9c\r$ɱ\83ñ©4\13}\9d.snt¢T\ 4Dä7TN4ÑH\96\8ff/Ùd\7f\89\85z\83¶»}\8eÖ\1e\b\13©>I\9b>§ \91\9cF\93Ë\11ª¯\ 2«\0`g 9\18a\r YK©&{]òÅ{­P\b\v#¶Ûu\vvÁ¸u\0¢,>¥Z\ 1\15É\b!j\ 6Hi\18\ 51\80s@\µb\\9eRS)Y\11èxJó\11\ fpD\r±çîÔ\95\ 1\98`ô'ë\82\92JÆâdwr´\8d.¡ï\bûxÕ\ 6çs@\91\8c\8cH$b$\11|µ?\87¼·\144\0\9d\9aÛµD\9eL\87\18\ 3G\17¼ÆDK\ e±¸\ 4È\8c\11¸\98Ä}\8bÔ\94F -e\9cv\84\ 6ºìC<\90L\90±L\82Í\92\8a\18\99LÉ8sà5KÐ`d¬,\90\92El¼H\92v\85\118\172$;àx\16j\1dß^/ªÁrÒ\ 2\ 5º\ f\8cä\83!£¸\82x\9a0@h\1c\1d\11«\12\9aà\ 3|$vàp,×\9b\16\90f\ 3ä\92Ù\822J2C:\87\12\ 6¾!bÆë(÷^\13}NÕ\19\97v+V\ 6\0\99
+\99=\8dÁÖ\ 2ä\91°mõ\1e\14æà\10\9f´\8eÝ®\80º'\bÓ\13\8e\ 5\ 1$I\93~GÇ\12E
+$\vq\82G\7f\8fãqú3ÝÕ²Êæ\17­L1I\846
+;iÀÆ!\ 1ÊËk]>\ 6õ&Ã\ f,T­Í\10JD¶\91QB\ 1[|ù\0¾ÑêH.m\1f.\1d3"µ\12(]\ɨ\ eí\17î\9blàÁC\b½\82\1cIl¾\f\19à©:\95`ª´èÅ7¡\ fa2ðL¦\81v\96x\90VTò\830èDÈ¥o6\aN\10 \ e\94\eS\9bB\88ÜÚ\1a/\1d \ 3\16Ç©!\8e\12F3\ 1W_ü\ 3WG\ f¬\8ch\ eÈ\1aÝE\ 3\1e\89Ò-\1eÉ\83K·Ú\846:\a'WJ\ËÕ^SH\9b\ 2d
\ 55&ñ\1eRT\81øÄ\8aôÀ*\88Í\1eÐhÅ´Ó÷i²$Z;.z}¦ì4âÿ¤\8ap\14u\98¹\ 4\aPqZr^3\82\ 5ÐdeV\17c1¤6¤D¹\19I\12\84\15ùÐDk5=L\15½¥\82§±O\ 1êF\7f\ fî4\17#\1dÇn>@+O\88×jEæ¬4M E'%Ù-{\88Î\8f>\9f\8fï{"\ e\1a 7\b\^$\93¿ÒË\vÔ©îðP\ 1Yz¢\ 3\916R}Á§°ÇÛìHѤ\96t\94^Z%¼¢¥Å\r×C°Ú8\96 Í\bEk\80\96\94\15\93*\95%¯ÇÉ%Êø\92RØLÄB#;^r7ôÓkÈf\f\1d\98Gr=\1a\93ÁèHL0\ e\19V\8dAeA\88\r\fØS2\9c¸¤\ 1/y\ 4hXY\12DXzo¯\94[\ 4Ñ\12G#\96{r¨=7\18n\12\8e\88Ä\ 4Ì\82\ 5\9fp/#\80\10\ e\ 1Á$\13Z#PjRØq6"&;=Xæ\ 3&´n\ 4ù}]\v¾/>E\ 2«óA¤­%b=\93Bt\ e\vx\82\ fI\uAbu\8fí\8b\ 2è¼\8cK4\90\8e×õ\8cYÒ[Ö\183HÓ\ 1«\93(EÃÉ\f¯ê\bÙ¥è§D<_ùü8\ 6\r25¢®q¾*b\90¹´¹±\91ÆdH`$"Û\11»\19\8aßÃÕ1VC\ 1X6)M#Ì1¢@$1\0\87\1d¸[[\130\91:ÁÒ\81@%-'Ò§\84i4f\82µ\ 1\14Ò$´ãy\925,d\T\9cc\ fÑß#øÜ@:8AOÅÆÔU\92|Ê3æ\84þ«J\98INKåH¶ØÎ\9cmÍÏFÈÂ\92Ó7øäHw \8f\81\1c?Çoñ!Ø\98Ì\15;\12·\17¼&xiàòÄå{¹&2\94@ÇËVMí{\a\12[øÉÑ&sßõ@ ûLȬ\92EÖ¢é\1c!\ 6d\97\8bÏy\87¡K¾×\89+®Á\9ex­¤Q\93\97m\8dÿ­©\91£Ç9kHKé,Ç(ý\16©SF`Ûb\1c!G=8srdÄVÑ6=H~\1cÔ\91@\8eäUË
+\14²Ãí\91V\eÉègr¨DØ}*¤^±OôÏ\9a\8e&aJêzĵö)&\86Kµ@';\e[\16\f{08\ 6hNñ    %,\1e\r\ f\9bFHHµý2à\13ß[\8c9\96\98\ 42\17\9eh\17[ïö\ 2QÒ$SÉU\90LÑ7\18AFLÍVˤêeÉHáêÙ\1a\81Ë#í\ 1\1f\fØÂ\81*"°¶ÊFgQp;\9c\12°Ð\17,U­\10\0g=Ä)~]¢ÕÐXã\15å\9ejÉ¢\8cYbº#`\ 3Ä&9˯\11R\96RÒÀ\7f\1c
+á=¸IZIi\¹:³ÛZN\ f¹¯`\84\9cüA\ 1dG¿|\f·&«BÈÕ\ 1Èf\19\90h\8edηÌ]y\92ø\9dýôÅ1\9b7ôXgHv\ 2\88ïànC§\94l\15HÒi\1a\83\91: ¼Îéeò«Ò?ÀYW\18Á]\ 3N¤ó\11\ 1\15Âî\93\r!^Ñgëg´\92¾LƲ´û*ÁyÙ¦}\9a.1Ù\13ä82øä!5\f\19÷\95öQ\97Ò¨\87\10Î&\8f\ 68%Ï*)\0\16\11Ð\97p÷D\0\9c\82"fÜð\ f\954t\1aX+\1fx\1cBi-\9d9í-\16ø\88öª\84\9a+\88\14=\ 5Ï\e\93\15\8c\8bLòlh\ræi\aTFGU¾O00ª\ 1pláIêe tÍá×ÃV\89±\ fh\8c\88;QÙE-F%ê¬-ëɨéö¢â\86otþ]\9e¸Îa\0ó¦U%Ó%a1b¬\96~qÄv«üD\b\93`Z?\81\11÷~\8aîuJl:\ 2\18±e  \88Ë&^-\93Ðú\8däj/í%\81\89\86\11F0áv\19í\85Y(;N»\1d¢¾-,ÆAi%NÍ\8a\ 1%\1f\ 1  \96\86\92\ 1QHÝAéê\92\ 1\9a\98v\e¤       ~\äk\16ÇÈcìAÐá¦\84ö\9a\91ª\11×\8a\8c-¶$ñÃñ\19°Ð­%3\99<i\16\19\94­\84\b¯\ eh*Ø\8eI\17×é>«S\b\vX\18RN\Êk"Û\82ìðh\1dá\8a(nc\1cÑ6\ 2Ü\7fG\14¤ï\9c_F&¤\ fäd\93#\8fÓ\15æ\8b\95²\184\ fQ\ 2   q\a\ZÊ´]¶Z{\12YÄÀ\1dç\8c¨aª\10@\83ô\80\175)yô\84ãGk\ 3)ªLÂ\9dº*^ãz'ÜìÊÕ2\ 5:eÅÈ\1fã
+\ f\965p\14²Q        -ô\ eR\ 6̾\8c\91¨?@^\89Ù\ 2\81n\88÷i\ 4ë8\9d\erc\5a\ 2öíý\0\94ÊIæ\86ÁAÝ\16\92\b\84\f8½(K\82Ò±ë[­\9a\\ 6`\ eÕ\1a
+\15Ðc\1ck\138gS\8e\0+\15ð@æª]ÐE¤$Gª\17ä³\ 1\9d\9bi4\80³\83\r̵\1am\86kéÁZvÄj\al\8c&\ 6\19,\fv\và\92Gæc:ìÐì÷õ|§s\1a#\881F\90×÷ñ#\84\88 PU\b\10\rô\90µ\ 5"@
+pì\8c©ï\0·\11·«\r\94Õ;Ï\98qTå»Láùذï=pC=¤§b\914cð±ET\12Qó¶b«&î\9b\847\9eì\9eL#t\1d\ fäP,) K\89=\8f\94õ-{\b¨o*izKBòD0\9aI'\18ÄÚG\83X\ 6C\8c\ 1\93\10\91ì\a
+\eû<I¤\8e\10ÁöØ\19\8bÈá \96MþI\ fÈ^Û«ë\13L\85¬u¬Jç\85G¢"ºHä¬÷\9ck
+Ȱ\91ËØR\86ÜÏ\94+\0!òù\1a\ 1z;²,ý7:3IyÆ\b*MjBǧR$\868¥Þ¥\bàD¨©Ëx5Òþ\8càä\8f\96\81±\ 1\8a­_$H#×d³ße\1fJ½ël\8fF¤t$}\ 3%¤d`\18 \eC\7f\\1cê1¶\990\9d>\11ë¦ÎG$N\17Qcã£IéH­ê\95³×ìõ\14#Ù¤ú¤
+A4·÷\8cºÒ{\ 4¾UÅaÛt¸\11\12\8bbu!{\98à¶\f[\ 2³£ñ\ 5®{¢\88Õ\9b\83\v3\82B* ï\d\16ÈJÊ\ 2
+\9d7\87¤"\81\1eY\95z\91/@mUp \15\94RO
+¸'% Å\11\87Å\ 1ÒåH\92³\1c\ 5\9cH\ö\10t\eáx\82ËuôDðéѨÔ\8d\ 3)\v\92e`ØGc\b       8&\17(5½$Á!oDUf\r®\8dÌ\94,\8dàVuqJû%¢\ 1\1cXlqâ>#«\14É\ec°é\83\ 1fg'ñ@ÊWï\ e¥\88©sõ§eÚ9^Y'\80\83ì\86wDîHí\15rDÚãä¼qo\fÕ`\1c\16
+.\ 3\17\8bG\8cT\98\81n\88øØ.÷¨¸F\80®Û÷\90í£æÊ¡åh\91%D¥«\ 5Üt±Æ!XË\86QÝ6/\92\87Óµ2ÓZÄ]´Âã\³\r\84ÓÆ0G\1c\81\83!\98%\95      ,l\11s4\8d!\81G
+\7f\1c1¢àX\93\1a¦\94z\ 1\bÝG\898Iõõ²\88\96âáfÐA\94D-b\8e\18\11}ªäD\ 4£¾Ö`\8e²]B\19\ 6\89>.Ã\1ce\ 2\1dlt!ÕRÂ"æ(\ 3$\ 6Ã#5!\85=.b\8e´AN®\11¬Ç:]\ 6:Ê$¼\ 1Â\0í§Rn\ 1t$\7f\992ÌÎ\85\vö¢Öâ\85中â½\8f8H­Øy\ 1t¤³¿Ê\r  J\ 5·vñ)=\1e\1d!$\97|N\10©½PG:\aÚvò0`ûòRÔQïH\16B@n$ÔEÔ\11#t\10\ 14\83
\17QG³\11\ 5¹       a)êhñ)kPG\fè3\90\90\84\92Î\8b¨£Þ%,$ÅFä­,C\1dé$pÃâ\ 5pJâ"ê\88\11í\9e\1cµ©N\99®A\1d±lÄå(úÅÞ\\86:b.8'ÔX\ 2¬YD\1dé\7fQ\ 6L\98\f\fë\12Ô\91Þ\86E\ e\ 4ÂE½ËPGº´A\8bW*1©&YD\1dõèy'\8e|éÖEÔ\91\14×*   ~/¾Ñý\8b¨£¾Ê¿ÆA\e\bG\12g_\0\15\18ÙQH\aöeÙ\b\1a\81\f$\ 3#\16qG\8cÑK+5®ÕGy\rì¨/\94¤õ +dOZ\ f®\81\1d1\ 2\8e\ 3\820£Qa\8b¸#Æ \ 5\99L¹=Óµ¸#F\10§\92\9dÔ/b\8eÖüí\1a¼Ñö\r³¿×%\9c[mÇZ¼\11#È$\10û\91\92\1e\17ðF½!À=Xo©ä\1c\96á\8d\18Óq\r\92UàJ^À\eõdù°\15p·ó\ 4\ 4Ú\v*$¹\97â\18IZ\ f.è^Ä\eÉV¦Ä{ Ý3¢\17\96<\ 4\ 4HÆô\8búä%x#Ä\83bhÙ¹Ts.\83\eõ$Y4a\19\ fR\vCY\80\eÉ\88\ 4ËG\ 5céë\12¸QO\bNÂ"9Í-é±\b7â!\85\9c=Ù,Ö}\11mÄ×PÏF¥Jn\8eÏ\1a´\11\8bV\81ï\ 3ào\ 5\8akÐFz$q<-\11\8c\ f\13Xe\rÚ\b\19@£g2þ#R¸\16\17ç뤮ôªl\ak\rN¨'\95\98tpÉÙ\18\886\92\8a¶ªæ§\88Ë\9e\ 2ðB:_þ\80d ôkÑF=Àj\1fJÊ:Æ´\fm$\85*cÞ5wr[CYD\eYÓP_gª\802.¢\8dz\82.\ 39i\ 2p»1\9f\8d\18CH\85¬\150íeh#Í\ 3-NeW©6_Ö¢\8dzB\88 ì$3=ñ\8e\ 5´\117\ 1áEþ`tuÃ"Ü(SçE´\1e\r=ºÄn\rÜ(SµF!\aè~_÷k BØ\ 3\9dK"\12EOó\ 1\8d0**\ 1¼Ò»êgÉ3XG²¯:óís×À\8d°\91\88ÂCú\ 1Æq\19Ü\b{Íaw|«±\e\17ñFK¬Â5x£}Ù\96{#\8e°\91{hc\b\91öc#wÈ c  ë\8cÉ\ 2ÅÝê\8d9\8b®\14n\1e\va\aâsàM¶lÀ\1a\aé?Ø,¨®\9aA\ 3Ã\8e\82\89 C\8a¼}1:a\\88Ø\11­¢V §º¨UÃ\90a¢¦Ðä\ 6\9a+Ü.2\ f%ÛàXù@jQ\0
+QeÜ82 ³\90v\94¹FØÄ#ôaÔ뢬\8bë\81H|\11É\1djM\8b#¶oÀeCS²Ìp\10,y
+\84\18\89ò\í\18\95:\9e,ù&»k\ eòIö:"I$\8c|\ 5\ 3-!ñ]        \13ñ=.[\96\93×¹\\1exÔè\12ÐiK3/&#Z@eS\vÕJÅ"ùj\891X³ù\bÛþ54J\19ªJ¸¦©íõ{<\ 6B\13;u¬\92\898\ÀÔE?\ 4cF:\13tSj,:hPJc\1d÷Ô\0îorå\b9¥W¤\9a$ZR\87ó¯áê\euk\10X\99\17 S²Ü\8dÎÓËÌ\1f\90*Ø+¸w:rÞ\0&('ÂÿÔ\88Ê¢Uª\87\10*\92v   \10\9a\8dú
+\98\86âz\99ÜN\5V 9o\12\8c\8cÝÂ\10\183p\ e\80ÁÙN\ e\84\1a©Ù\19¼¡\95âÛÌ\95n»Rv\8bIzð\r¨D±«\fºntAV?·[F
+mpa\99\89\84\80<V"\87d\93]>^Báö\ 4þ\9aS\ e2\8e\12\98)VÖ³¿c\8aó\11Åe0Tô$HD8\ 2\ 3Ñ\822½'5\99\86°!ÏÝ?\9bä£CÛ\95j´8\ 6ãÊZ\9dS\aÔ\17\8b¾\e\9aô\11È©Áô\f­\12:Pµ\8ee<Ķ\81\85ÄÔ\0ïF®\8e´Az¤ÓB¯"8à
+\vÅ\81\94]\8eÍ&¨Táw¾Y¼\7fp\9fÈ¿\aì\90g#ØRê½â$\8d¼3\91\ 5\9eÙRk\9eBá=ü.Ô\ 6\8e-²KÜ^b\r¼§\ 1\8c
+wC"±Ïe­\ f.\84Ìsrñ\10ï¡Ì²'\92æµ\9b\ 2\87:÷]pÄѰ\9e\11\8d\8a\93Ü\94\ 59à×\8fÆê\ 1¨\1a\rä\1a¹\b\13ï\83\98\89\8e\80\9dæÁ\1c\1f2QÃ\12[;\ 3K
+ÄÚÌ    ¶¬
+@\ e?÷(\1e \81§æð&rµ\8eN¥Ác\8aÓGÉô^cs­%I0º\90ºÖ.\83cE\83:~¸GÑ\89ì­@\94Ä#äX˺êÙçV,\95\80ûK\12@VñETÞë\8a«ÖÆÝ$×¹:â\8f\87ç§pï\8ex¡Î´M\ e"\99\b´âl\ 4\8cT\95\99\Ci ¯·%»ä)kÃ\1a|O%\96\0Y\80k=\9a\Ãqd$\93\96Í8\fð\98\99Ä\9a\ 2]I\8d\8fiÎÆ\1fvдÙÈ\9cÄZËÜǶl¤Æ\ 6\ e ñôÝ\12\19t¯àGj\ 4Ô7àé\88Ëu>\82zP"K~\8f|\ 4X|@\89\ fCZö\94n\15ì=9N0Tm&Z\11¬0JY2\0\15d-Ci§TF\åh\13Lç5\98¥°öPfgV!\82k¹·m;RÈ\9c©Ä©fzéÌ,\92¨Ì\ fÅ(ORe=¼jFÐFÓøLBM¼«\83gM/I\r\89\83~)Ô\ 5/òmÉJBU\13\17祼]\92\1fà¿RÖ\ 3É\9d¹\93        ¿\b)è~\1a\ 3\87\1c\ 5\99\97        \90º§ä?£½Á«ÈûJ¶\ e¥­ÍóCb\93l?#tûÂ{QòØ\84Zz
+ó6\85\16ÔcH1xÊÎçØâ_ÔT%|\18x9à\rÀÀ¦\1cËG\10\91Õ\b@\9c\84\8dg#\fG®\999\9b\10¬Px;NïY3\ 6\83VD{\12ü\10\ 3'äªç1\r¾p`CY\118a²\93®.\)®B\81\96\bÆ\13¿\ 6|\a²\ 4i]\9a\9cÍ@Þ\84\8a#éÒ\ 3Ì\ 3»<\11»È\92èF|\v8ídXâñH\ fûv\19æ\9ed2ø±Y»a\ 43\0\v\14\14=s\16\a\82'¼_6¦¬<Xi2\16s¬3g\13Ó@³ulR³\87ÐÅñ¦~wq\vÚOÏñ\9d@\12\95**\ò¶öÍÛ¤\8a\90&ë<$åMÐp¤~îoÂ×\10\81\1fÊ\ e\ 4\1d\87\1a¦¶¬\9fù\9b\9a\vPj[»<\ 5%Lm.\8c        s\87\93+\ eÄ\8e\ 5\9bH\1c\97\0 Ø>Ì\1dN0GÆ3°pØöÙõÖã0w8Io\ 1\b\9d9tn%YWƹÃÙ3ßdJ.\ 4\81¨¡\94a#T\98\11qTÀ¼\1d(ÌHø\vn*\90,q7\15\14\bíb(.B\9c\1d¥Â\92Îsg²\87\1d¬Äv\96{8\ 6\ 1\11\91ÒŧèÅZDl÷ì4\9cS\89\91y\80\b\92]\96L\12\a\ 2\93\9aÙ4gø\ 1lá%@1Q+^\80º\8cúÿ\82×\16½\8d\92À\87´âÉíVè    ÐØc1®|@\1a0\80\91ðísj\ 5=\93;iG/4=\8b'k¤CM\r·¹f\b\17n¶·(mØQ\ 1ØêØõµö® \87\8e0\r°öö~§êr*×\88:­ Î©O#ç\bm\9c·P_\ 3e\ 3õUeºZ°&°CÆ8´åG-Ã%H¥\80\9eR\1dê®Ð#\19\96Ô\ 5${"ë-u§/ØíO\ 2Éæ®\9cl\f\b\87¤Äsj\8c,\vO!\1c^Í4"\ 3¢6aj%»\14\ 6\17g\17»\r>¿ÞB\f5°Öp¦ÙdÂ\aë\80\1cPf;\1d\ fÌ\ 3\96Ö\90^,"p¶0M\1aÏEî±Øw¯\13\\17\12\17Ùj@5@\19Í8w\88pvc³\99
+\ 1\v­I\ fÄzX2f\8bÍ·\11\92.Tig\8f\1f\97s4é\16©D\9b\89Áx\bè9º&p£3 &\rh\ eG\0\8bj0;(\au èeÐD\9d¬^\94ÛHõA\9cøp\88\1fÂ^ªsØ\88$\895\r\9dcdiÉê\8f@>2õ\e\19\85µt\ f\89\ fä¥È1\1c\17\9f\82ÓE=\v\ 5©x\ 4\9e     0$¢@ãä!ãMDÊ|Ʋ\8cf\v\8f
+átõÿèg\ 4Ì\ 5ª\3É'Wñ\90\8cíLÀ\94Û½À\bó\98\1a\17Ô\ 6TCÁc+Ï\94        \8c\11\1fÉâú5\v\ fÁµ\83\9c\rUD^­£è
+\84%¦¨µ1à:       (\9b      îÞåD}5Clg\1dI\15\10\vyz\ f\ 5ú¥s^¡\99¢NÊ\83\19\87Ü\87\11fç%ä\91XE)M©Ì\91ÜV°1À\92P\84$aÂ\17h\ 4A\92ÎJ0\85j>Þ\ 3\81\83\14$\10ÒÒ°Q#®°C\01:¼á¸\1d.\94´(rMv\89Ú\19\bi\1d\98ìÀg\0\84\91\ 51\90bc\95\1cѲ\81\93=\ 2\f\b\142¡e©¥\9bI\12Q,Ù\98E\9aë]íí\8d65µíäJ+y\11R£&ÿ
+\8d\91¸8|ËÔ\bþÊ~p\96n\1a\80ÕEÊÀÿ\r}\954\ 4\91:Kã\9a\9e\19\ 6(]WÕ»Î\£1;&"sX\b¿\ 3ÒÌè\88/\8b\ 6ÒÁ¥#q\98qÝdÒò\94~N\vkú@\90\9c\ 1QIM\8a®òâ\10\81mjý% #§\97ÁÒ'XPÌeÙ5ê³\0W\ 5B±0bû\ 6rýTæÉ;¤j%,{
+Ôn\14Þ\8d@\12\eÉ)5®)\83¢µ\1c\11\13±_n\8bo\19\rªñR  \98\vì\13\9aJÐR\víJ\84\ 6K V\1f¤\93ég0Î\91\18\9eÝ}FÛàöìúØ2ð]ÎÊV\e½V\83ÐèÃÐï\11Â\97Ù\18s\98\ eÝ\1c\14\bÂ%\ 6G¹Kté`¢<\12\ 3h\ 6
+ì \12\ 5­`05\81\ 5
+ê¼\81\ 2\11\1c,\90Cu\8e´sîÛ,O\r\14HÀÅ\84\88æ\12\95Ê\ 5$GõÔ"Á2hN\9d\81Ê\1d\ 2\ 4e\ 6\v\f\1cÛ\194\0\19\14dG|u\ e\v\84z)5\15B\99\8a\81\19æ«Î3X t\8fµÚ\\0Àè\9d\1fX¨q\16dÌÔÉ9u©÷põCvP ò\ 3m7\ 1\ 3å!\11Ñ\8aÖ«\84\1a$qRØa\9cAúJ\86®·sf\ fº"¼\ 2\96\f\90P&\ 3özxZ`JZò\10\82N     \v°\97ç\Æ\190\90J\13ôCõ®÷\8e¹\86Fa9\ 1\ 3\89¥hÛ\8dÒ6{KFKQ9ÕÅ\190\10]N}Bã¢I\18èD\88Hã5\ IVðáqÉ\88\ 6\fÌ\9e»ö\8bÏY\1cc``vR\18 \v\14úN\18\13â\f\18¨¯qmF#\9aÉÁL\87£öq\ e\f$Ô  Í\9f\13©±\8cภ      ªÕ92\10òÇj©66&@¢Sàµ\9b#\ 3I\99\966"C\8aA Ú\8c\89sd ¾ÆTW~\ fñ<\13A\91©/\134\90ìt1í\9b¯#ÐvPç\98\95´!\ 3\9des\89¬cNd¯\1d¥/ý\f\19\bÜi$"ÉkÀ\81\10GÄ_u\ 4ÉÈ@\10ˤ>j»Ä\11
+ðr\83c\1c\rا\83_%ÇND5n¬HDÞñ\98 ú'ç     ÂWô¹\96WKKE\91Ü\8a\10â\92§PWe**­\81_c\8f$\0»ÍÎV\ fð\11Qx\83GÁÊOè@â\83}1Þ\v}QÀ\18ÊUè\e[¨á\81½ÿ\8dÉ\84¬\95\0=\9bXx\ e\ f\94\1d
+7wXyaÕ6C\a\ eÔmSßI>ft¼«ahà¿\ ex\89\8fÌÆPµ\10\e\12§¡\ 3qt \8b\83\8c7C·)3\89üS?\a\a\9aí\ePD\ 5û5¡(\93\9fLà@^\91\87¾-o\845F\17*hï!ÌÑ\81=\90G\80¤Tka|SvF f\ eìk|`±!>-Ò\9dy\98\869:P"5\98±\ 1Ý\ 4? Ä\ 3è\ f\92§$èBÀ\f\94Ñá\9f     \1eH®°kR\b׸îJ£îê0\87\a\86\11H\83)8ø£\ 4é6\ 6\ªu\ e\ f\f\f2{hjda¦|\1c§à\o\88Dŧ\b\93Í\ esV\ 6&\1fæøÀ\98,ví=$NJ\ 5
+\8a\19>p°\ 1\1e[P\96@÷È7'¢Q\13>\107\98¼\95_L¾\ eè6\95E3| ì\aR)¥½G\93ã\1a\80ºÞ\95\f\13>\10\9eÄÔõS\10\f÷\ 2C+Õ9>\90\94+$\94ËF4| ¨L\9c\89í\e\16\86Ìà\81\0C\0\11û!\15\9f\9aÓ\º8\87\aRô6\98w\e
+\a\86É6kðÀ\1e·¹\19\80\89¼\171\ eºE¤:C\abzJÍ\94<\ 1\vª¹®!\84\9f\ 3ûà«\ 3Ëc\11&.\85\1d    \8bòâ\b}\8d$ lÔ\bO\19jsÉS8\\1dÀÌÑ\18¼\19<\10ô   \88@k3\1a\1ct¤>]ý=Á\ 3\r÷\8e\86ß ¾PÅ£? Ö9<Pö@m¹\Jr\vµxXõ)Ìà\81Ð\8b\99ò¿UrtfÕª\1dLh3x L\ 1wÞð\19Å\964G=µ
+sx \ 5¹\9da|Ùî\12<êF\96ÏÑ\81ѹZW\1eaÏÕÆd\18Â0G\a\ 6l\9dj\7f\11}¢íÁ¯+\149ÌÐ\81Ô´\83â©+KôVC\av\8e\1fqAM#(#ëgðw4[\82E@.Ä\1c\1e\8eà°:\0ìn\9c¬ð\11ùÁ\97¯Ò\81
+T\9a\85py-\8eÙ¢1ðyp\7f\18\138,v\13(ÐÇP`\0{e?¥ÀôjR\1f\85òK\8dÐ\¢\ 1@¸Ve\9eÁ\85z\r4¿f-\99\f\16Ç´\1ez\e\v\1f¤:2^\9eÎ\fØ\ e-©ìÌVt\81õB       I :\85Ý\r½W\91\17G\86\0\88+\ 66\99jÓ.->£Ò\9c£c\89+qoÏ¢PD]+ûMu&,\90\83¹K\8bÃ=$È"e\ 2Ü\12Íð%z`Ò;]\1ec×б\10YÄBPÛOA
+       ¹\16\1a¬4Ç\ 3 \16\ 5\9d¾&\16\a`ÂÒBD6¡QºK\86\80\98\8eà0á\ 4­~Ht\85\82-ÇæßÉË\1a¹l\82C\165¹@IÖ\0\8c\9be\91\12¿\87\b\11å\ 22{\ 6\9b\81Ä91üõ\98è§ÈNÓ¹¤¤/´\94=È£Á_Ì\81\81Ù1;ÛÔÛãh\ 4Òä\1e¬\12ý\1aÜï¨]\ 4\81\18u½qQ\14 \18¸Òµ¶H\ e\9c½-M\ 5þ\ efälR5o élÊ®[·\9bµÀ2F@ð\8b\86¨h\1en\1fD\19\96|(à=\17Ò¢)¸\4¦Æ³Ç=Rô8\ 3¡\ 6d\rHdÇhf\e}äB8\8cƳ,\8e\0H#q\88D\Û\ e.\f\ 1\9bM­¨Ù
+Úd\8b\8f\9eù\ 2\ 6ß\9dD¾lä\1a\ f\8aÄÒ¢\86\1cT#\8f)D,)\1dæ*\8cÓÒÊY\88F\87Í\98¦"à\17l\85Ñ\93Í\ 4\8cñZ\89 OÑz\ 3\95\94¶ÇôV\ 2\82%\ 3\7f\9c\8f\18¨\9béÛkÈuqb{\1a\10Ôù\10\8a©\ 6W`TøH@®\98a½M\ 4b
+`©ÉßGñ³\1c9:«Ð\ 1Ä#:\12Ï\98\85£a\7fT7\93ym\95º¡Yf´ã ô.»n\88Zu0'\90"5\10i[\14í!\1d\18\8a˽ÁÔ¸ÕR\9c\82\8d#\1d\1e`,       ±Ù¬\15ø\rÉMìÐVP\ 1³C¦L\ 3p'\12\19\9cÅ\80w      (F\ 3 AE\ eEc¶DBMI\12\1a0ÐÔ     ªâº`º%\9fõ\ 1\1c\ 2\b`âUÍÀv©:U§ÍÅ5\ 6\ 4࡬å±o\81ö\82+\r2\83âìa¤\89\ 5P]ò­¾_    æ\81D\a1©¿G\17hE;Jãb\9d\8f@h \ eá-4\15¢fOF\awùâS\8acLD­ \ 5¬-æÉ-\90Íô¢\13Yì#\82û\ 2Ö5ÕEqjȱ\93\9b³®\87´=8\12\97lBõ®}¥ç\ e\ fI¾1ä\89\ eF^63\fgµ'\1fOµÇl\0¡\83\bþ­A\80!\rîM¶1ø5\v\ fÁ \84ò\95\1c®äÄ#dM\98\8a¢\8dhgÔ·\17Å\8fÅlÂ\9c6\9dÒ2eÿ\86B`\99`~\18¦Ï\81´\937\93Ù\98\13Î\9b\95\96p\ f\9aÐD\ 5\9dÒÐïD\8c\ 2\ e\91üsF\07kÌ\a}\9e\Q*\95ì\85\ 5¿\87\9eC\95o\8149\9b5»3\80\11ÊùB\ 2\83\ 1\ 6b¿uâÍ&´(3£70\86\11\ 1º\8eä¨t+x\81ñ\ 2 ®\13ì\ 3!>æ%Å
\84Õy\ fæ±ïܨˢ2R£\8f\ 1\8f\ 3ç;\81X\94ÉÇÝ c4d\95\14£ëÄ}³ \ 5b\ 2³\841º8\82ö.\80Ì¢órÛ7,\fá\ 2\ 3 \15Ü\ 4¢Ks\81\1c@[\1apD8²3x\¶u×¾w¯U\ 3È\95H\11\82+iâHd\8d2ÔH6¦´Ø\e¶[\84\ 3\16j`\89ÙIºdã\9cþ1\80\8dÀQxûZ\11Y_ÍL8\8d0mì\18}\8f"J°'Cg3\f),{J¡\18=C\ e\11\r4ÑD\12ø\96B\97\8c\91\89\8cÄN`ö\ 4\89\17g]¾@\ f\85Ú*\ 6    b\97\12×ì\ej\8b\vAûK*Ub\ fË^\ 4üæ\1cÀ0\8fóº\97
+ljX\8f\ 3­\9f¤\95 \9cmw~2ù)JÓâè\94¼¹¶ô\85µÁ\15\ 1Ë\8eÎ\8dU[\8f©U2sð\e\ e\83\bVVWò0\eRlM%ìÅ´ü1\92.\14\1d\82\81\96qе§³\b\80y)ø6\86+Îy*÷]\9a$¿×Q\0Z·Â\b\8e\86K\8c\9d­Dò»Þ\84,\80\0<\82&eðÛ´\80%\86\1cé&Ò\93¨ÈBy\8c\\aÌ\85ÚÒ\15\ e²cþTÓÙ\15ãU(Ï\0\ 1\18Z\90]\97q¶Tê\95³\11\ 1\1cn1Ó\17Üã= ÈÑá×ö\9a½\1eâ\8epTºQ\r¥oòCÆÑ\97º;ì-ÖK{Ñ:¢ò\ 5\10AhQv*\96\89¡Ôh\99¤\ 2\8b:0y7(\9aÖc¤b\93ôÖ\89zJ6Ë\84¬\11§k1TÉ!Á×ÁZj\0ü\17æ?A«ÔÅ\11Ûõ\1a\98\1adØÓ 1tKÆ \ 5\91\82ã@(§4Êyy<Xd\ 6¯­È\97^EÆåWâw·©ºK\11\19ùÑ\1ecÑ=\82\ 3\0<\18\92û\16g'bK\ 5>A\9c\ 2\18vlî\7fÉ-æÙbN\ 4W¤üJoøl\0{
+wy\v³C\93\ 3ánCòò\10ÙÆ\9d;\11ÄV\85Ç´åÎRß\10-\8d\10_»ä\165ß@­=w\0i:\98:\vQ\90\80$V¬\85ÖE&f·Êáäé\10\12áè\1c²rAAÃ\8aR7@Ñôà\98t1ò\8cl()\0|~0ÞhX0ß\98v\ 5ÓµÀmF\8f+\9c\11\8d\bPZ¢iAo\14Ú(a\9aÐz   tÑ4\ 2U\8fK<ú°÷nW@[\19w\88\14\92pÉ|ÛÐQL\98?\99\13\b=\r \v\15\8ep³Ð\e\8a\88\1ekBÛ¿àìºÛvÈ[\80P\18\ed\9c\14;@\9c)\89×\8bQM\98\86\80\7fÕ\ e)\98%-Ã\bäye\9f®/ÉÐØâ>\9b7èß÷Gs;pF»»\ 5ÍIôå \ fú¦±Â­¡Ù,\eSàÒ\ 6T\1a±Ô& *\ 5íä"¥\83µÏÙ\8c\0\91\82\1cÏ;ds¡\10þôêfà@\94'âè\87\ 6\89\92e]]\ 2D\99\ 2\9bô.´Þ®ü¬.Q\eݾE²$ÁÕÕH(\92\82'ºc±º\80\87\b\0\96ÎÙ×\ 2ɵ\9e\ f1\1f\ 1È&¹\1dq)î\ 3ÝI\ 5\0\ai&\8e\v´u$\ e¤c;`=ðXh\ 4x¨Þ
+!Û\ 1\1e¹úÝE\ f\1cD;\87\bGÄá\0\176\9dÕÞ\85\ 6P¬ñ\1e3C±ec\9cr\ fer\ 6iÖ´d\0\80Ä4\90\19¡Ë\12Zea\bígÈ\e\14ÚT©á§H
+` m\10rÓ#\9a¦÷Ç\f&A\ 2ïK\1ejYxH\a\14°$ýj¢\15\8fÁÇP\e\ 6srôÞ\1cøDzz=ÒÛu!\7fë\r檡\16\80\98àl\84»\ e$gà\8bÁ\84±\95\12\19ϱø\14NTçujÊ\18õ\$£ùö\v(M\90ÿ\14ó;>D\e\1c¼VÜ\8b\9c\9b°I.¸\82á's¬\ 1ë\ 6¯\ 2§&`\16çÆ½\93\92é(f     Û
+\90\fþ+)ã¡\ 3\147\92n\9a´$¸v
+\17dñdW\92pxÌ\11\ 1)D°ñæ;\fïOÛ-=SÈ,\18\92I\17²©çIvÉwçH»G ?\fBo\82D0Â\9eÄÐ\19\rU¨72ó·+ó&\89íI\9c\ 2õ\97±Í\bèÅ(çîZ`\bãu°%\ 3á\14\ 3F\9a¹Èú-]jÊ\9aå\81YÊÐ\^#k"\92Á5\8fü¸8FN\84Ä\8fªXÌSCû±l\86Î\1d5qì¤\85qHúd2\1d\97oSK\17i©Ðjkô\1e3¾u´îÌ.Õtd\88\8a~ÙD\ 4\14àDº\9bíÌ\8fs\83\96ô\vÂ\90\96\8dà\83\18©Oöî´1$­GT\93÷8\92+\82Ò\10T\ f3¡õ\1eݸB3¨(v\e\(\vË¥GD\aº|ûµà*Y\8d\81Æ)½\ 3ùZ"·\87\85ǯs\97¥\ eúT»ÑÔ´ö^\15­Añ*\94éô\0i
+F»ãSÒÆ\ag\11J\81â÷\f\ 4Ãè\95i6%^\13V­Éñíª\1d\92\ 1_ϽÅ:(Ðôí\14{U\13LôÝÜ>\ 4)è:Æ\ 2Ù&¼fÆY\80
\8cçÃ9ä¤7a#J\0µ­\83 ¥¹`äÀ\ 3áo\8c\95Ñ©´X[ù
+>\fXk\0+¨>x»¤,¡\83èÍÖÜz¥¹ñ\8fébyOG4\9cÜ\93\9bS8â\8c\9a\86w7A7ÂIÇ,¥\bx\bîæD\88\rC·o4Gè\13\88\9c3\88¤lª^,5ü³jLS»wz\ 2ð\99Ý*-óJwÚD\1e\ 1\8e\16]JØÌ¤OÈÜ5 n\85dMÎ$½Â\96\8dh\18ÚÈõ\ 6Ó\814õÂ\18\9a\16b\83CpI$\85\11$ù1¼FGbI\99ÀrC\1dmSmÒR\0ÝàPèBK\88\10¥v\a²8´ïIv¼        \92t\ eÓ5$5ön03\1e·q4¡ÛÈ~MTÙP\rV\18\91<\82\98Gp#Õì\16\0\0¡(ï#\90e.\8eb.[êø³cÅ-èC½Qu²\ 6\95ÃçTr\bd\8aªc:4}\91" ÷\92,\ 5\b\e\97\aÍÍ\v\81£kg\1cGFç\8cFBÐ.­¡8©´á4¢º|02\9e0_è$æ\ 4\rs6\17^±b\ 6RÍ$\80`Ês\1a\8bD\rý\9aBwShÂ
\vÃ\92§ÀëH¼\9e´~\9eZ\8b\9285j\1dFx /\1d\81¨\9a\18&\b\9aûi\80å\18[
+¸`\19\91\96\ 1zbHVó\ 5{Ã¥ìÓ¸­\vÅ\8c\99Ø^\8br\ 1\1c\ 3\93a\1ck!¼;¶®\8aÕÚ¤UóQe\a\e\9f?\a\8b±#\14O\81{
+³*Ç\9e|\9c\vü\vM\95SßB\1e­a^ËÐ\9b\95tÐkÈ­¹®\92ÂÈ)5J.\8b`0è\ e¿\86:×ÞÉ&`w-ûkC\94ª\10®7\83\89FHX©C\88\r¿,\85\85ªÍ\98F\98\1f\97\88\85e\9aâ\7f\ 2¨}5®aö\14}ú@k½\19jAZ\8eÛ\1a3\87Ô\99-\1càäC\8bEW\18\1fÆ\rHwI\87]\8a)´çÈ}Ó"D\17d²l=s¥\bzªï\80ù\11Í\8eMïµ§ä6\18ëź\ 2\98³,öܬ¡í\1f¾g\85_!ÅÙ\bîó`\92 Ë\80Ì\ 6Ò\ 2ôéXö\f(\81©¸ n\10\1a\84\bd\92«\\v\1dÌ\9a;Öå\96>&OHѽ\11$¶¥\b#£QÁ\87ø:hÍdAÁ\13\fÔ¹\0\9eÞÛ \1c\1a\r[$O\0;Óhê<NEµ+I\87\9a<\ f\1eRP\0j}:8ð\ 5èb&øìÝãn¤\ eÅÝ©t\10V]kÞ\81#\9c0\ 4=U{\19fo\9b\ 4\ 3W[iT«}ÓG\81 µ\8c\0\8dhwÛ@=$¨\1c\80}M#u¤^èÕ\84\15Ä\88@D\82¨´û\ 2áæ\1aÏ\ f+7Ú³\18Ø\8cÝH$(ÌãÔ½\eî¶xiq\vfW\1a\ 6\190\89~v\80¦é\eú\7f\13³ê|üô\1e88a\91(6éF
++áVä6o§\82\1evîU_[\1c\93²k*\16Ü>£Lå\ 3ÐÉA"Ä\8b¹f«+-\r5oÅÁ\84\ e\15\92¯Ù6"û~\9eH\88LvO\13²ÜL\8fŧ\84\16¨5:\98É¢\80Ü¿\rú\9cÒ\82» ´;\9a#!&\83é\83XÆj\1eúe²¶VK74C \9e \87±\ 5Ã"Ã=F³ÅVe\ 2«T\86¹\9d\87xÑHúREO\ 1§\aD wP«&³\ ec]:M\84câæP\11ì"Ö8\811\9eR\fñ\82.a\0Ææ\102 F=¹\18®\85¥\ 5A\ 6\8dg¡Ïmå\8dÔÊ%\12¸îÉ\87\10Ð|\rÐEë\80\13éáÙ¹\f\8dê>\8bRrÐ\b½\Z\1d%AëH]<Ú²\98\v<Ás3q½À¨\87\ 6\87§Ô"M¡\9eÙ\ 2sm|$0S\90R\84±\833Ní\8bãØ\90\1d\19\0\ 6Ð=âªC@VªÓ¡À¦             \95\96\8aÝ\r\8aÇvá\8c«\18â\90\84)f*\e\9c\ 4î\87\84^Ä«\1e\80\99¹\93\8d5\1c\ 16
+@Ö|DÏ×¹(
+\97\v\86\ 4\13\04y^|\8a\83¥\ 4_é¤6ø)æºé\¥Òp
+\86þËÆb.V®ö\ 2xSst Ï\fðÅѸ¶-\1ab\ 3A;ÞO\9eÅê°\97\8dÖ¿`yRr|¡Ú¿ 7jó\85\ 2\15\84&\84Ë\90·Í!"\14Ò²ì×D\88kÜ \1d\94Ë,Ã]x+É\13+O \9e\10ó\0/v¸¢PÏ\8a\14P2d\95\ 5\16'\82<\99º\1c\12}!Æ\96ê¤Ö`\7f2ûarO\12B'¥±Õry\17\9f\v¢tHh4Z¥E_RCÒ\8d+S\fÇy\92Z»´8\82HÏé[7\9c|÷Ù\9b\9eØué\ 3Ûw=ðèÎmO<½r\ e\7ftÛ5[¶^yéÊ9+§íÚñÔ.iÎáî\10ïÞ¸rîÊi\9b®\fÝÝú'úû\8d+gjpY9ûÊ\9d»VN»é\96Ëï¾éþm\8fí¸ùéÇv´¿â9×>zï\8eöÐ=_²röµ\8fîºqÇöG\9f¸wǽ?ðXMã©G\1eÞ©ÑgmÛµë\89\aÞðä®\1do\9a^¹é\89'¶µ¯ØcÔöû\1fxøÞ'vìlcâ4ãÙßòÿÛ5\9fôiÝÆ\95³oÒSwÞ·÷\907o{øÉÙ\98\av>ô¦íúÖs¶?ºsç\8eí»\1e}â¬íO>ñæm»\9e|bÇ>þùÎm\8fLÿZ\13\7fÿïð\8dáy¿ñ\85?\90ݼùþ\aÞtÙÃ;\1eÙ±s×\8bù¦\85\7fâ?×ÿÛЭlÚ±áô'7\10°¤çÃ\88«\ 2
\1fW\8cÈ\13\88Öq¥ã\7fðÉ}\97\f\15¶î¬?©ã\9e\7f\94WÂÊmÛÜ9\eo\89\8eã¡3P¨ç:\84dd4éÙ#³1\14\1c\9aÚÍàO2µÐkúôDà\8a8ân\ e\eZ\1d\ f\rJ\0¦\10\97Ñ\b\9dü\8e\9aËJT-Ì\f\r@ûM\83Ò]»3a4­\8c\e\86\9b\12\94\ 4¢\ 5i%ö@æ£aÅL¨\19¬Øw\ 5\82YéÐH£<yÌ\ 4\81\80~ûbî@ÜG.\r\93;G\80hTÿ\91\89\18cëâ\r\vÁ@T\84\1a\81\1erg\82IæD\8a¸\ f@!håA?QÚzcVá1ù=\13\9eJ\83rhIÕÈc­û\b\aa<ÓJ\92ø\92\9b»ÐmÕ\1c\9dðÑ\94hèÍÄ\eÀ\1d\90\11\91.\97t\86¨4>\bi>\ 2|     ù#Þ\83\ 3Oÿ:érݦeqÌ\96\r\91b\ 3\92´Da\92ë@Ü\80Ú4* ;§1öb*õ ©\9f\aX¬hSK\12QN\rÝÛ©|hÔ\16¨a\92wZv\8f\0,îÖÂ$Ø\9c $\v\86f\1el\v2\ 6\14Zçú§ÚðGô½%Q\1a \85ö\b[\0ÜØ0\r\12¡\85\1d      \9a\e]öó\11ðäBè6å*\v\f\0ä#f¯1\e¼±¬-'Zi\97\9b)\0ª~\ 6Þ\10\ 5\96ÏZ\11\83[À±\94ÐRq\ 3\vP¦óCjñh¢\1e\ 4\1f¨Õñâw\94s\11\90\ 1ù3úb¤9&¾+4#ÚB"!®ä\86Ó­\85æÈM\90ãïÝþ<¸\\9f
+ùâÇru\16\1d¤jBKæÁ%\85Ð\89\96=\b¶HrD\97-\a·Ø&êâ&haù\18\84\92\9c­,f÷EYû.Æ\80Äu]s¢£]\e\83÷A^_¢º¢£Nu:íô$¦C\9b±û\86\80\93@pC$ê&\93\19òÚW÷\80ÈFjÿq§\83Á]®­\a±\9b=\86Ô\ 6\9eoe_\ 3Æ\1a    M\8a\86ú©Ø\0"+èrFê\90C5=ø@ü\87Ï\9c@\84¥35.fôv½ÇE·\10\ 6ÕÐ(¢ÍËGÀÇÉ|=\ 5\8aè\bÄ#µj¥ä¸'õWQ^\8e\ 6¸Ø\14²tÀ
+yV\8a\83õKËÝâÏ\19[±9Ä6M*³Qs\1dôk\94\97\ 5\87mG\12-dð{Ë­\16?\ 5ãê$,ÁY\93\14\12\1c\rÎË\99\1cÌze\91#dNõ\11Ü\95ÁÐM\12\80\97ìQöY&äZ 8Â5\1dM`\9fà\15áØ\91Þg\ 4ÀpB\9fÕ\15Ýtk"K\bëÂè\ 3\ 2©\99ë: õh\f÷#\89
+\82»:\96Ûý\1aCo\81¸¹\92\8f.I\84F©ì%në\11¤Â¨c2¡\1e±{êg*\18\ 1­Ál\84Û\99 á\bp\99m\86ôd\98\9a\87$.\82â\93K\13bªÍ\0ÂãD;\82\a\89@3À\95\ 4·V\av\ 2.&Ç\19M>'\9bnÆ\@Á=ÂñÙ`t\ 2¿B\11\11þ6©~J§ÂØúW÷&\9d\19\1a\93~\ 6ªL\12XN¢F\80T£b¹7u
+MHh\89Eç¦ÁXê0Ú\17\86_ÌDX®>\80S\832\ f\98ýؾ\ 4^\85vó~WX>¦\12Ð!ÅI\86!Nch]×\e^áË\10µ\1a\0?Ä~bÁ'Ô4vî\15¥\11\95\8b;PpÂźl¾\Ý\94\89\10J\84âÁ+§Õ\b\9dë
+¹ý\9b}@ò%ºSä\80¯«\85ÖÍA k6\ 2È\1fÚ`\98[\19P\81\ 1Y\99×WD\12ÓøÈL©\ f»\8bº³s\19º\94d\8f\0W§µ=\98­°goDÓ¨ëÖa\ 4\99}7\85\88¥UB\fCëy\8aÔÌG\f`áê\ 4³Æá Â8ÐÖå\92\rK\9eR      8Tw\ 4§£\ 5³%ã\ \153TL²\v\8a¸3Ä$Ö%v\ 2!úLi!å7ÎùÇ\16@rs±Dd\ e±ss\ 3\94\87/"Òè\88¥¬ ÑEJ\ 37qò\81'£eK\82Ü\15§È¤D³\11\95t\9e}<\9d'Y\Ññ®\14ëÂ\bI\14\r÷"·û\18ÜÄ\ eÃÈDûP\13ÄÐÆ\80>\1fÍ\91Û»³Â²1£Û2Ñ(\95ÜÙ|L0}\ 6íì!F\1d\b\1fuN\99:øÑ\13Í¥Åwç\ fÊ« \1eÉ3\15O\97¸>XòÆ+ê\85\83\1a¸\\1dü\80ñ\93îy¥\9a)]\ f¡Y\8d\8b\80´Ï¹ñ\8e\8c\ 5¦\v*DxM\ 2æ/\ 5Á{û®\15\ f\91l$(3N]Ò\81ÿ\10\85s\7fòÒ ¥`rä\97'ÀkzJrQ4ü\9f1\1a¯\14À\14ö¾\8d\aKd\93ëÁáK÷\9f_#×3t=\1dä£\81\902Öë\ 4FÇñ4(\15
+¤GÜ·Ý\95\e$x½0&\ eî`X©ï\80ÀÝ#h´\90L;+\ f8\ e&nÕ¿÷¥½h+èÃ\91UÐûäGãD\8f\96\89¯Â\8c\1d$\97Ð)&Py\84Jì­\8f\*¹\81è¤+"í%      
+e\13i·û;»M]¥fÞú¥\98Ó\90\8b©6û¨\a;\ 5ï\97)ñô\10\88Ì\ 2l#Ä\\86\16Á µ$\94åDrcn\15¹Üe\8eò\18vFn\9a\ e7\8dã      %\ 4\94\e\81èÌ<7ã\ 2\ 3K\87\v\12Ý\1e\r\9b\11Ôz s,9K4P\e¼8¢%Ø*µß\99\92\11dC  §%ZQ÷~\ 6ÄÝ\81cä~<Ákä2nx¥ý½\14±\83\8e\1dÇ\16'\93q\ 6w*QÉ~Z4Ø\10*ÐË¡ìÆ\85r}ÍÖ\9dÖbckdä³A\8b\8c\14ÜëS[\aZ©ãr#16Ìè\ e¤ã¹ì\8c\86\8eôd3¡1à\90â\0rM.¤\84ìtÔC\0C7<\1d½!\e£c¢\90\ 2\8eM\1dÉ\b\83%å|\15&ß8u1ÅXÆøo\8d\17´«æ\85Î\94\87·~ª¤BéE     1©\14¼6\b\86¹ÁEÚÝ\1eíT\99<eØ\1aAߣ\ 1üO\98Ó\18\14¤\87.\9e¼\84x\95\e1\98.5-yÄhFK¼>\12\9cl3\99kCË\1e\8d\ 2¡à¸sÀÜ\1f#mÔ7ø\9dß\93 slî4\8ev#¹ä®"6Jc·\95\ 4n\ 2,yltÀs\8a\e\0ZôB\9a\8d\18¹«p­\8c\12®\87\bW\93ö{Ö>\85\9aT²?½{`\8c\ 4\14\10Àª\ eEb\8e\ 1:Q ìz\90\a\14\ e1þ¬)B¦0ÜÈ\91\88oF\8fÇJ\9fvwy\ 1!\ f[
+MÖ¸\9bH"\19>\89\91@t\80\0\ 6"ê\\8b\14]\10\1d©\a\ e¦e\1cÜß\82\82ÛÁz\85×`ÅÃ<D¶;q\ 5\ 6¢\89° ÑëIâ\19©\0 Z\92þ7\10ð;âJÿxðã¾j+\r«Ý\a\ 6\fXi\95壽\ f:%úsì!\11\92 ¶\85\104äá®q\ 5«o\81%\8d\ 4#\16\ 5\85\9e-@\8aѵÎî!\161¢Ìî\18HvG\8f\88¤\ e\9bv<Kk\16J\9dÁè>c k\91n\17\95\86ö\14\182Ù!ð¿\8dº\ 1\\13`\f\8c ¯(8ZÎ¥ãÃZXz£\92Ý-Ó{`(¡ã¡¡\bÄ\87¥áÜ!vðª\14³¥Ð#Âu\e»Ëp¨ÏàTG7iÂ\r\ 2t\15\9aîÄø\83õÇ\ 5t\97øÂ¡\83\1dÍ`H2Û#\1f %%T\ 4-\13ëf
+       ¨ìBi:\9aFN2$ÁøK%Ñ3±ÐÙ\80¤WêgÔ\fà,\v°¯i\7f¸T#¤äihl\ 6fFÑeM\bDO¡p4C¤Ü\1a\18M^{\86$\ f´\95\95\ 5\bMÈÔs\ e\8b\ 3\9a¸Á«\v\ 1"\94èó1°/8©\15©\8a V        F\9f\89U\ 1?I&&°#Ä\9e|\154\99Ù<\1eþ^ç\ 4QP­9J\84X\ 2d8åHÙau\136ÂçÍ\9e\ 5ë\1cm\1dG\16­:.Ù\9d±\15Zwnu\88\1dä²\ 1\14\9dúm:\876P \13([õS\92\ 5\0\83\ 3@\0\81#q\ e÷\91\19ÛþHaD³áéÜ2\17"\a\84ü§\0~\ 4ÜM¦$¸+éâ7³J#à;:×\98\ f>Ú×\ 6¦\83)]\e\1f*@[·\ 3\ 5ãÆI\86Ø
+ Ï\98û~2^\bø-\f{ÜL l[»æÅ\11sw\ 1\98g\ 1\82ØQZ8Ñ%\9aÏ\13b~L%\8fÐ\ 16\89\8b«9ìÂ\15\8að©\0×|ZU±;%´L9\94\0\ 5¶EØS³/\17Ý×cq02OÔM}t\7f\99a\98\81P\98Y`ÃT\8cݱü°?¢Xü\r\ 3µ\8fPäÕ9»Ó@9ü\800T\0·\84r¹:ÆÝ#àÛ\9a\1cáJx\0Ò~ØåË\92ghé\1c\99ÕêÇ®\11\14\11\ 6\81#\9f\82H\r\80\9f±\ 2Ó¤¢¤\9fa]ȯ¸êt:í J\bÄ@GoÛ\eú\9bdv\83Ü[7\91˧\89\1eÄ\17\ e9\8eX"0oÑ4Õ\1a\10w\8a\176@ kÀ@¥\ 4c\bãô\1e\8c¸\ e´6(\rÆÐ¤$Qd\88\9f\ 2\9b\89]\14L!\1a\1eRmâ\9a\17l6\1aEº¤\94p8w\18ýR(AÉn\86Ò´Wå|tÔ\90v®´    \84þì\9bR\8a\eÛÝ\91\8c\89ø8+\18mnAX\80+A?WZ¡dsÃô\1eA\95
+\84\ae0ð-\12Ï\82E\9cJI\1a(¸n\ç    
+6Ó)!&\99ì+\ 1 \e2S÷\aP\1c2;\ 6ËZ¶¢êGS×\113îÙ\1a3,·#Æ\1eëÞ%miî§8¸ÙP4â\18ãn\12z"\81Ñ¥ô4\rendstream\rendobj\r1149 0 obj\r<</Length 52814>>stream\r
+TÈ.ðÎøS+³\83C\ fÇÔ8
+ÚÁ!\1cG\8f\81¹?2k\10oh\897iÖ\f\84ª|]×4\7foc ¦
+ÔnîfÍ\1c\90Ü\86\97Jix)!ú[\99õ\ 2á»]\82Ë\88\80ñ\ 6®gÌMæ:÷%\ 6¾QÜõ\19ÿ»ÒÕ}4\15û¼\17\b¹Ú@\\88\11î+3¸s÷¼\15\b\ 1YÒ§SSa»4\81KiÖ   \84\952¨`j^\8cNÁWË\13?\0Ý2©W¡\80­õ1\87\11\8ecã¯i\9d\8b\9biþN0\81[®Õ;\84©\11H¦u\b@w\ep9Á~\v\99Å\98\8d\84m¢ \ 5#ýÝ·fè¸sf¦4älÖæ\83þîÄßé-\rvÀd%®\b\9cF\0Õ\ 3\95Ê{\1aZ
+\1a&\8afçCdÿ\98gÖ}°Iûâ\88\ 6óí¸\ fH\84\ 3ª·ÿA·tZBCðNQý¬\ f\88̹@\80wÖ/\9d\0\a}báX\9bõ\ 1     \ 6j'\1e\ 2ñ\8f \eû4ìn\ 32 ÐÑ\9có\11H\89sè³6 \841\1d¦m¯Ùû)\8dåÕü\84\84\85ý\94ذÂÀa\9bç\83m]\0A\80ç`\ 4\88Öjìzn\80@p´üw\rÓç`\141µBGÞ©\bÐÖZkÐá\ 6ãX\80Ô1\f®ã\9dHæ!¹ ÄĪaÃCù1º^®µ\ 1¡VÏäÅÓç\0\1a'IÞ,ð©\r\b       n\8eRë!Ot»@\ 6gfÔÖ\ 6\84>\e`\ 4Ý.\9d.@ØPpç4vOø\ f ´\19MÍI[vc\9b;\9b­í\80ÂÕ\12 þ&Ä\94\f\ f\e\8b}¼2µ\ 1\81\80ÚT£\1a¡ïéÍì\9b¢ÁÝS\e\90¡Ñº¢i5ÃU·×ťسÉ\aܽ\ 60lÙ u\ 3Ì\13\80Pn\19\88ec\8a\19E¸³\8a;|N\9d@ªS\ ey\98Æ\80\19\80¥&ä\9af$­Õ\8c\ 6^;\1a\8a\ 5Í\8aKW[Å60\\1a\8dkíPó\10κYhÌ\13¥6L´\86\9b`\b\ e5Cy\9c·\ 2\ 1qCøÊO\81¼\8a(Sß\1a\9bµv °\99\98q`\1a\11!ö²\997u\ 4\812\1dpîô\9a5\ fqG\10¨-:×\ f1\ 2åHe\89[¤O\1dA¨Ð$â2ú\83á\81\90\7fAG\10Wrt&îNî\18\8c!\ foÅ8#î  ÑR\16ô\10\ 4þ¡w\1cêÜ?-Æ\17F¾&\99û\15¾´äZù6\ 2ëy » ß\ 3#\92\91\91Á.ø¢\97\vÓ\85/µÑý\9df,­=æ=¼\82¤\80K$yf\ 2û\19\14\ 2J¼Ù¾\14ºc\98¡Zû4ci\1d .ÈÉÞ4{L\8c\9f¼p\98\93´\12°Â\81Ñ\0\ e\87&\16°tó\8c£\15V\99\90\ 1Ï`k\¨Rc?ãh­n¿\ 3ï5òH\82+ØéC\8bÏ8Z©\0i\1d\81Y7÷ÚB!\86\14ç\1c­Ä\18\10þ\15v\a\ 5\83ÝA\82\88ä\ 4\9dè]×\83\a¢¢;\85Å(\85öeµÑéÊfÈ{4ü \93\90ssr©\e\1fR1»ê\9cÃ\95\827/÷t\92Ýî\8b\9aØ®/\8b\ 4?\b\0oÈ%r\9cµ\ 4A6I­i\0Ü\89\95 \bz´+3´¬\ 5+Tã\1c\13\11Ð\98De\1c\eìÏ.=\95[\8c±Ú¡`1\11!\8a\8dçltó\f\87\ 6z«®à\9aI\0@u\89*æ=ô\9f\8f\ 1[êâ\18\12\98£\10\9dW\98z\82pI»\95=4F\0\180ÛÁ¬'\88Ë*äpp+\98×Î,Üy\8e"ÆCÂ\8a·ÈöÄaèPË\9f\95ÆXã\9e Án\8b\1eRi\1a\f,
+\ e\95%±ª\94\9d2Ð4\ 1ÿ\85´,â\85\81Ab*\9byª«Ë\9e\ 2\1f\83J\17\88\95yW\10Ó\9a¥j{   G\92p\17é¶\95YW\10\ 3'\1a\89(6\17\9cS#U\98ch\\ 6î
+\ 2Ô\ 3PÆÌ<\1c(úsAÁÔ\15\84\96n\ e\ 2Î\8c\814N\9e\e\99`ØÈ}Ú\1c\9d5/î\88F¦FÕ\v\97 \1d\19\1fe\89\12¡vú«6^)\945Ev\10\9fÒ¾f%U\93ÆÁ\9c\fê¢\15&\10àõC0\ 1\13¡rÙ9\ 4`§ÎÆp¸Ò¬¾\87\bÚÚ\1aS¿\10\9e³ÑÐÜr\10\174§§\a\9e\82\15EÇpÇø\e\88Á\11;@4ت\95Ä{O\93¨\ 1wÔÁó\91\ 2
+HÊb»{
+a|p\ 1òõ]\91\b\9bÆH}R¥5§v\88\11¡8V\8eã\93xÇæ\18\0ªk"ò\90@\19&\bê@Àè\9f\91ܦ\95W\ 1Gï÷@×3º\83Y«ð+\ e\96s\98\13¹==\ 5£\89n\e\10ÃP\12G\0\8b8\93\1cÅ\0×^\ 2\7f@1¬IwÁ¦\82pÆ÷l \86D\93íb|rß*\90\ 6­\1aD\r\9co<M­\18-Oá.\1fÝ 8S\83\95¸X¨7\92·\91è\1aïÎ\fæ·\92\891Àü\81ú\ e­Ú²\89doЯ\9eL5C&·í¦\1eä\ 3òØLx\93\97âgR\14ìÂ\v.~·åkÖ7X\92â\1aR2(kGp\92\97t{\8eäâæcèìãUëé\12\8f~'âCæB\ 3`y\vð\13çj#\91z\1d¸ihYÂDam\82\13/µ¶©Ø\88ðêdÚ/\99\0`hÁE³\12ë«­\96\1c\95§Ú\98j"ø\9b»äì\ f¬Õ\93\15\19ÌD\85³Ù\96\95\e\92\fË\90&\159»I­19dÞ\83ßãº
+ÈSµhÉT!ÉÝ\ 3\ 6\8f ¨\8e&P      _È\ 3\btÃ(ex'9¦Þ¼U`&ý\92F³Cc9\98â-%    \v\80q`É0UG\8aA\12$^\ 4\12Á}\17w\91çò\1cæ#tò(S/\16EbÔ4ï\98Ð?\8bO!eFx\ 2eFx\8e\99\98U£'w\ 1@\85È\baÅØÁåb»\1aÔ\19Egæ\15ÌÆ\1eÓI¼LJ\02B\8a]\82\9b4\ 4·\0\91Þ\ 4G\1e\1c\9fá: ¨aÀv\1d|jF\94\0U£pÑG{_Þ}®^³\83®\1d±Ý.\\0\19å\9e }Xö\94Ú´\ feÒ%·f$6³°Û(\eBT z\13\9c@ÇZ\vP\843âå\ e&iAä\89øÒ²¥¸]\12½Ã@§É$qObYû\86¸¸\9a\8aâ£ì" \18\82Õm\9d)r\85R\b\ræG\90ï\1e\e\86Ö-.9EFIgn}³ ø66£3\9ep´ÿÌA\ 3<\94Ûî¡+õ\16"C\80U8¿\839T\83Û«X\8eÐ\88#\9d\ 3»:ó㩨Ë&ú/\96Æ
+Od\8c\8dG\96\11°\92º\9d°«àIxQ\ 4\96\9d\17ã\ 5\9c     ê\ f1pè}<)\e\eàÐ=\14¸[õ\1eÊ}jg8Jöí¦YÐ\f\1a\96\896Y,\1e@\88s¥ÖaÝ@¨I|&[Ý\16\976v½û\11$JZ±Zq!±/3\ 1\ 1\18Ût°õ\14dÜE\93}0ä\8d U\ 1-.-.\91\82ù\ 1\1fÕxÎhíGý\12hx\97ð&Çä@»Ó¶ öóKvt\11H\ 5\Ä{ÀÈQiÔ\99LnÙ\18\13À\99¼a0¨¡w±zç®\r\0¹·øÖ¡Ï»\9b\ e÷ð¯1Ô\ 2Ã\91\aÕ\8f¡\1c\14    B\ fE^Íc\b¾B\86G.\8e\b\ 6xTürêªiAÀ\1dH\83\1a`\r¦ÓÌ0KSÏâÛlô5*SÉt\1e._\aÉ\11\89nR¨W\9a¡C©ZåH\91©îw\83\8c¸Ñ"}4¸ó1&!_ªæ\89\ 4N\ 3R\95H
+|\1c\89®]¬\1c÷\999µÐ]Ù\19èÆ\9b\81\ 5c㥸o\b쥭ïI6û$\ 1\e\8a\ 2\b+ÒÍÖ©?}\9d¡yÉ!\ 2Í\ 3\ e\8cH¿^\12Ì©qRá\17R\9c   :\85÷¸q+è\80\8a]ÀLFº¬Cá\ 4¢8­ü¿ÜÝ[ÏåÊ}\1eøO ï°n\ 2H\81Õ"\8b\87"\9d+AN\ 2\ 3\8a\ 3\8cí\8c/\ 2\bÛ­\1e[\13í½\8d­\96a\7fû©ßSE¾ÝïZÛ\8e\91\ÌL\1cÛrw5¹HÖá\7fx\ e+9\1f¦CmnG\80)
+Zú½s\12þ¹\8d\04\ 5Cà|¸Þ#\18*#\10Å´\11¡Vû|\89\ 6Ϋ\8b´õC\1fùÈ\1e°e\ 4¿&È5ÍÚÇÊé­ÄF\80\ 1^ÉOÝãÎ8«¶v×oj\8cÞ´z\9f\1e0\89-ü{J\81P\e+?bÞTq¼ðcq¬´ \132ïm\0\894(Û9E\8e¼×\ 3ó»té\90ÜF7\ 3\1d>\8a¡\15ù ur'R»\ 6¡ÌeI\8c\16E;\81\14°bÄ:øAÏäµ°\eÚl\8dWDµeÎ\89°×-ý)\8eÞ\b¼Úèì"2K\ eî£ÓÞ^\e\99îZÛ\92Z¨è\8fºjv0-\e\v\9eí\1e¡é\13ZD;°©|"j\89¹\97q\9f¯¯²w=Ø\16\86\ 5¹
+e½\9aÊÏ\12ÐP9ø\14\ eàÖ:w&TQo:;dN\1acRÉEr\17\12Ò[\\12çØºî\1a\7fmÙ)ê£Ù\19Qb    \fÐ%\ 5\87<áe\8d\ 4\ 2ÿæ½s6Æ\ e\13!\0\15¯\9d\1a°Ó¹\8fS\83\95õb+.\91\17\ 6(o\ 16äà\99/L_\9b«³&QVùj÷i«n;3E\96¸¡ÌÄâ×G×ÿ¦=ÚRÿ½{rΠK\82q»I~É\ 49¶S=äçÙ®ÂnZÕ¥ýQDä6\91Dà?+cÑ6å£ÀL\£&a\1d\ 3\8e8"\97¾lèÚȯÛDÊK{¾\88Ø\92çmô\81ú\8fµ©ÁèˬÚ\88\8dè\93¹j\13ëØKVw*»µwÞW:D°ç\88\ 1ñ¿£\8b\10ôv\9cËJ\16y\86\1fk÷Qöqø¥*ýn\14'VÂlÚö\9b\ 6©JÀÀVòo/]¸r\9d¢Ã&\97\0êì3\89\8b\89\99æse»i\8b(\ eåKÚ_mÂ\16X<t6²\8d\v­\ 1)¥^=4\91eaKÇm\17Ýf[k³|\ 5ËÝ!½×,/Ëõlï\v\8d¨]\ 5hEPØ\81`Y¢]6¡ÍôlãÚ´f/ r*â5 c¥ì52\ f}û¤÷DÊ&\92[Ù¦©t´ýt%ï±0\10\ 5\e\13O\88ÊÇV¿÷2Òá\97HvH\8cÄ\f³\83öÌT\98\85à  [ìw¦\93ÒâCp\82\1e\12ÓM\84ií"ið\9bKd*× \14+\8d±]FÔ¢\8d\85@;`WÕî¶iQ®\85\82௳÷` î\98[(\12j÷«}:\8a}fÅ\ fÒÈ\14\ 4_\8fql
+»Án\a   þ}h0Òx\88ÞQ\1a|\1aó\9f~²nÝ,\86Àã²Î76%\86¤|\ 2¾½\87èso)íõúgD´) ?\8c°½MtõÖ7·\ 1u-,ÌvÈE\1a¥íDÞV$\12»Û\80Òø\99Ø¡Í]
\fÏCþxs\eh\93¿¤<Þ®¢¦\8dmO\ 5m\9d\84*\1fÀi\9bÝ«ì?m\a­Úó\16Õ²8\87\1fØ\1aùF\b.ówÚ.·\ 1î@´kÚ¶\ fW(\a\9fHD\95år\e`\ 6_ÉS<V\9aY\94\84õ%§8ÒD\10\ 4\9f\13\93s¶'\98«\18òµ®\97Û\80îO\8d\8f몱Ʈ\ 4i´ûÚÄ( g\ 6ºU«\96\97þ\80Ä·¬Ï\ 3>fß'Ã\101\8dý|q\8d\19O   Kz\8d\18êe6\10ð/Âmö¸\1eÏV\aèr\99\r(ðvÕ\96_õi©·;\a¢s\9b\r\9d\8a¯=\90   ø\ 1Ù}øºòýbz²Ó%|\1eÑÝ\ 6pÞÝÌJ|1&n\ 3d" \13ûUΠW°\9aÖãr\e\90ð£\8enÙ)©[j\f\10&¹Ü\ 6È\10j\15]\e2É_&®Ûq\9b\rØð4TK^
+.d\9b\80µl\17k\1fôw^ÒÍv¼Àù1\82ÑX¹¼\ 60\8bã?=\8e1)s|\ 1¦ã\18^\ 3[°½\0`ýÈU%+,©\96\80\11\9f{¸Eb\1cÜEÊ\90ï\9fí\f`Y%ô\985\f§\89\84â¼t[2¢îÌÆi\1c·\17»\86\84¿¨gÐ\}s\12P¡væ<LWÑ\91]±»-ô\11\92\9a\12\9c¯¥£M6åÈå¡óâ*ñ\ f\9bã4Wã6:JëÙõç-k\18\ 4$F9\11üí^\ 3è\10\84Zs\8a\ 1²ï\96¬\î,\97×À\16}e8òç=©{\r¬\ 1ò+\12üÈÆ\ 6ܦ<·Þà\96\15ܲ\ 3kH#\1c\97"·_{D\81óÛ\8c©YÙ\94úr»x\rÀñ@\94·Ûé:\8e&\9dÄä2\eØD`Òål\19\a\róãÈÎ4¼\ 6ðØÖuXj§éH\87\8b\7fÂV\86×ÀAUÆYä#\91KÆ@\9cú»ë>\ 2    _jö%gÎ\12\92\9a\1eÉ\18\ 1\aO\90\9fí\8dª/i ¤Wñâ*\10ß\84@Ô~\82æéN\ 3i]o Ék \9ce?1ú\97\91¿j(\98\90z\9fcRÆ9\9a\vÜå\8a©\81,T$\16Û®237\13â\93\97Ó\80\8a6Q\91ö\9d\12éj>¬ËÅÍ×I£m\91%v~\b[\ 6ÖH\1d`\18\r\90*]Ã\8a\5s\ eÜ\92¢Õ¶^F\ 3Ò8ojÎ\88IwwêMîËh\0Y&v
+#\8a÷­ø\87\96\98dt£\81\92\1d\84\11(\88ö\9c%\9ecÝi`=Âa·\ 1\8e\11æ,ý\9dËi@©Îl;Ç}¾ºÊ°\1að"©m÷û\9c\92IuØù2\1a\88Ú\1e\95\82ì\18\14¬\8eÌÅm¹\9c\ 6\12\rô$Û{55\89p+r_4rº\16í\10\11^ÇkÅJ§Û¼Ï\97G@Kj¶Ô8Û\b\89\4fµ\8f\97ç\11m77\93bxÀinÚ_]ÅÒ\8aÂ9\8f®z9\rÐÈæ.ÕN' \965z"VÛí4à=Br\8e£\16\89\96 Ë0\1a \98\15yõ6\aØQ\14\9fX%ú¬\97Ñ\0 +ðD{«\90ÙÑ]kk~^o£\81\97\1dª¿¦Ó»Õnº¶­\97Ñ\80t\ 1q²]Dó¸\1dÇG|­\97Ëh\0nW\81\88|mÔ²\v±ÕΦÀOU}s\e=?\1d~dÒ\98\ 4Äh@B­Yx>®MKÊÏêê\99\18{\8d¨={Øïm\rB\9c\13â\r=º¼âíl±C}ê
+}{\8f\11eÄ3ñò¡.yAG\fçkDШf\1cÇ\ 5=ÒµÀQ;3BiaÖC\ 2«éУx»¢±<xt\16Y.'+}\89r!\8f\14\8byýò\1c%8§(_S\8f» G0\83ý\1cß\92\16\92\13ífI\17ö\88\999\7f\8bî\ 5\9aQ¥ÿXö\ezäl\8c\91:\18q[´»+§À4\90G̳ڲj\ f3\1d½µ¶(\9f\ 6\9bÔ¡G{ìd"¯»M\11xܪ\0é\18À"Ð#d\825AcË\1cÙZPÐXÏ/\80E7jhã\12\97\88¦è=¹\97Yê>óp\13EÉÉ;y\aOZetI\16\16ÈÊíÆ\1eí|(h¿·\87øÀ\81:\ 6½É¢\ 6ö(rq#ÈH)\vD\8aÔÈ@uÁ\1e\91\7f°ô\1e\9b\95y\8f`\1a\ 6øh\89`ò´\#\8a\96\81úÈ\ 5>\ 2\98C¼[Æ}¾¾Ê\0\1f\99ýâà\eÝ\885\1f¥Çw\1d|tF¦Ý\16±\86º²\13i§;Toð\91\9d\ 5\f(÷a0\8fD¸÷sâ\ 2\1fÁËÑjz\18Ám\86ZYü\8aF7[u\aò!¯­Ò\95\89\ 5s9nð\11\97ʹ\9b°ú)\94©5ì:´¸\83\8ft+K0\8e+\19i=Ý`ÎK¹ÀGEÖNJ«\8dXbþ¥m²nC,\1døhGÕ\#Aº\92"ÜZ¾±\81Ú\f\16\16ðQÔ'¹\14®öø\9dP\1d7ä­Üà#Ó-\98Ü\95B\14Þü     °]\96\e|\ 4>±w:ñzÌÁ\86q\bÐ\91¹\81Eô'±Oä§;õ\17¢¸\ 5Tûx9\ 6ð^÷Ñc\84~ÑÁG5Úa¤<û\98#Ü£\90\e|´É\97´dÚ6üA ÓvÊ\1a½\85\v|\ 47\84\83\9e\11k\8cøÖ­³\a\aø\88&P\19\15:î§i\18×^5\19Ø£v\82\90\89­¹H0ùQò]÷\e{tèblsy5¢\83\8fX[W\90²\8f?y1¦\83\8f¼M¦l¹J;P3WjÀ\11ïÁGk0Á\ 4rP\11.EªÄßq\92Î'R\ 2¡¡0Çùñ\ 2\1f\r\99'\vh\8f,»x9\8aâ7´\b\99»&\86 \96I\88¨ÅQçP>«\831\1eJn»Ë¾\13;¨då\96ì\19ï\11L«Æe6]}Ìc½±G´³cÚ`¢D©ç\80\88¯ç\85=\92ª³­Êi¨ßÂÞ\16L®¯Ó\8e=²£Á¡µ«øÄr\17Ê_µ\à#\11Fû6ê\ fJr    XY\84\8d>\8aµVo3»\8a\98_^9\95ã\r}DÃ"ñª\89ݶ<\9d\88ö5L¡\e}¤¢¥¬\9a\17×>-M²¹\9bðuô\11Ó\86\98\97¶/8)ìi-ÈW·§\14©ÏGþÜ\9c²ö\14ë\aüÈq\89\17Þ.²Æ¦\94T]í©Â;pѪ«HIC\14áT\e#øç\95!\1cØ\1e\94 \91\93D\9fm~\ 6\10\18@\9cèÜÝ\8b·Ã\8f\88\16pª^a­\ f®\8c\\9dêzÁ\8f`ÉW©anSIjf?ØãÔ:àGVèdL6\9e¸\ 2Åä÷\r~\14©NŪU       ¦ÍùØr.ëò¼\19»\8f\1c>ºÙæË\8b\r»}ÁÓ\1a\      \ 1¬\bK\17ü\be_\14ÑÖ \8a"\19V:ßÇvÜð£\16æ\1d¡î8\17\ 4\15=ßè£â\94J1~Ãùjók
+·jÙnð\11X\9e¦U;Ù£û}\ 4[\14ãÙ\81-rlÛ·\ 4\a\93#\99\1akj\92c@*\9fk·¶\9f\99$;gýbÌÛE¼Æ9îo\8ah7ö(¹[ð#1\e¨Ú\90Kä8.ì\91¾éÑU§\85ns\1c\89ÀRê\8d=BPä\94÷¸ÂC"\88\b\11ÄA\89Ñø\18q¦1\12ø_\82L rtÉa~:,R¹\83¡\7f_\16©\8aÄ~n|ÿ\ 4o\93½\1e¥wí\12Ø\bQ;$9Ër\8e½¨-3õ?\94 \12
+\rd<Övû\93î\88áØ×P\90\8fß\8eV\f¦»s$º\8f£o¦ó_:\80\16E\ 2º\7f\ e\1d%î»ô\8f\95*Êð\13ÝCËU¢\9cº£Ó\9e\1aèaWì<\1do\8d\11\1eûË\10\84¦\80g\95äÊü<âãOäoø\ 2UÓh   ÍøýU\88b0\ 2ÓÏ<×^ã\8bµ\87¥®|\15³kä_²÷ÛÙm¯Ä¡4ØøÞúΠY¶²öGÑ?>C\bex×Â\17¹\19\ f!\2"1ÝÐm\reTit\aç\18#(à\a¡\15<\16®\89e.\1aÈm\9e®Â\81·Rè\96\ 2\96\åì\96o¦K·`\98bÑjÎ¥çÞF\9cÑÕ\91X®!cm\1c1(Vwò¦Çi©\ f¸)\eÏå¢"+éâ=wº6I4bÓô;»2xW\ôA»\ 5Ù¡ëËQ:æ\8e¦V\9b\e\8aÇ$jr\9f\1f\14\9bçÔ¼º2Ъ:\15öܯ3F\8bT\f+ùëÊ}P\90X½12  ·LT\99j\ 4fc\12\8b-H\91:Þ)rg¹#Èf=_\ 52\99\adQ\ 4¥ç<ìåÄ\17g\foz\ 2\8eÙ\9f\87\9eΫpF¶        C\7f¹\ 602Ký'¡\ e¯QzIí¶ë¸\8d\8bÌ{\14\95\ fz\v\15ù§?\rÞ\19¥Ø¸v-ÙÎvꥩLE\94\8eP&ÿêií\80`RBZ\1a\ 2\8bF~Ë\ 4`8á÷r°+À j¨]\f\8f\ 2ÎLÓå{\15Á`µ\93\1aµC_P\84{ä¿\8fz\8f(\99^\ 1}\98MD¦\9d,qb{q\15\1c|\8a2`âý",¡¼¨=\b\1d¼`´FáÅÑ­ÓÁõ\93NÅÖe\8bc\95VÜÞÝæ\97x\r')\9bx4Cù\9cÈnNõ5\81\8e3\82¬Ó      ï´\ 6^\15ªNåMu\89Àî\11~ïÊÆ°5gÌd`/Ïí\15ì\7f\ 3RÊ:Jby¾\1c³í\8eR^UPê\9d\1a°ÔðÅÈXÏ\19S%ðÔ+Û\93\8e\r¥Æ\90Ý.\ 4تi/DJ\89ü=\eÅ\b4,»Ù\14 µ\94\1f'\ 1\84âL\ 6eLûiÔ'Ô\8dû\9c\86To{"@J.\ 2Ç!Ú\1e¾õï2Æ1\ 2|,\9an÷¤^\b\18v\ 6Â\8b«ô"\a\95g\1a\85ýq¨v\ 4\8fº\96{R\vÐa¾\1e^\e\98BiIA_]\99Ó\90P\98\ fÙý¶-ô~\10þ-Iÿ\98Óx\ fÖa»È\1aE3R\ 4*G×ldèÄFÉ\ f)\1f\864õTb\92÷~¾ºÏ\1c×\9a\12ÏÙaôúî*\13s¢*;Íæ\9d_rô\12í\19óD\807\9b\1f]×Ò³\912\84\8cã!×n#2\ 57îv\1f\e\84nÁÆÛ0tb\85³î1°êfª\95åÁ\91, Å\9f\80h»(\7fê?¤Ol\ 5 \1aäî³,\1d%²ÊNë\9bêÖ\1a6GÚ¢-Á±Yïb®ãØ\97\97c\18\ eÊ7¼\94}ÚnÎ\8bè\rg`\8c¡ó       -DØáJ;µa\96hàovov\1fð\rkW®[ÂÓ\0\9c;ó÷ðÞaÁ/WÒYá°ã®\9d'¢îº\93ñÔ\ 2-Ý£0\8aðH¥$\80\8c\0\0\87gÛÊ\90Ù£w"\12¯ù\84\ e\b\12´Í3ååÅUdç(\89íûâ\7f\1a¡É\15%\88\98N\8c¸9
+\809Ö½\80\7fG\87ÓÈ:CÍUß\8e=\961^AKA8\bö¤\12\14E"0E\96D\ f¦­É¢ô6íësÆØb:\89\ fÙ\7f\ 5¿\97ygû\94\80\ 4GX\8e_\b;¼]\ 4\95\béXÚßiXïÒN\13E\ 1JÝ]Û÷UÚ¹é«Ò\87±CO£½÷UÚ¹¥3ÙÅÙ"\17ô>ëlÿ)\88\14\92ÿ«¬ÓE\80Dè¥Ú#_e\9d\1eh\89´Î<Gþë}ÒéµaÀ\0\r×\9e¥½K:7\15LIA\8b±ÎNhy\9ft\9a\ 5-ÖKD\88\9ct¶cKãÁ\1c\ 1\9e\93ÎÍ\14&\8c\1c\ föi\7f\95t¶[|È!*\fÈÓ¼Ë9ÛÙñ! Û#|\89®TBò'}$õØmé:qg¯\9bÌ·Î\8f®ÝÑÛ\[ØãêI\1cM{ι´\ 3oï¶'Ùt\14\80£Q\1c¿OM¾ö>ìf¶ý6\82¢x*
+NÓóUÊiÌ\1e;!<\91m\7f\95rnk¤»·@\0§ÁxYTo$ öUû¬°\93büÞÝ!¿æ¤o\11ö¤ù !¿õ\9a\ 1       \95-
+W=ök\aKT!ô\aÏK\9e\7fÁ\9c\98¢QЮ\ 28ÎW\15ÀëX\9fÓÅ]Óç$9\rN³½Ì9w\81M\8cÛ¶®×õt\11µqÍwöyÃ\ f.tm{Û\1eØ4\89»\95òEjÇù|»5\r'\9c.\18d.\93Æv¨¤òØ\97\ 5ã@\ 2\82\91,\16\v)±dúõÒk,è\84+Øq0ÑÑÆÞ\14ö×þùhïĺ|ëï¬*Và\81\ 2ãnóó\98_'nÃ<à 5÷é(á<9iMÒ}±¡ ¿±b\89ï\ f.\ 1Ê\ f+§59\9d­\91ÈÓvæKd}îZU³i¾\8fXW½.¬ÃÀk¥ê±%ÆÕs\12]\82ÿ\ 4:ítÏo\9eI\13=;*\ 3Óòòë)iÇ\ 5\87.÷²?]#fwJöÝù°\7f=ª[ù'ÇÜÅO\90µ\18º\94iT¸Þ->y\14hÚÆ\92°3\9af\7f\0\1c\86\9d\8fÔÍ\89]\97\e\ fd"µr\84÷1\ 27\95\9c@Wç/¼CN<Ó¹gàOWYC;TL÷]s\15\91_Í~1÷¨.v\80\9d.ø²£\83/àØ   þ\99\9dp,k\eG\9b!ã>´ãND¯ÒÓ*\ 1­Ì\12Ü£«\8a\9fÉ\8f´Å\86D|K»ö%\92¤GRË£\86¬NÆ¿·O¢þ\1f½\8bþ4Ô\1cæ]G\19\ 10()ÀË\83îz\9b
+)m¤d§\9aÖfXé.8~}\88ÌñÎ\9d\804`\92íBózÙP\81PM~rF8Ù  V¬øÃ~\e\9e\98ÞÖ\92d¥'Ü$V\14Á\977\97Ä\90\1d»ãá©æ\\12ìo¹fÂ\9fv\1dÂgc@Ö\88FÏp¨lëc
+\9d5sñÝ5býI\86\9f¨Q\11Vù¡*\ fÔë˱ÝFp¢ç=w\9d\83si\89\16\89\8bå\95Ú\8d1'\92\96\8cº)d%zoË\a££\10\805]\84-Þ|é0\v$\9d§ÝæxêÊg\ e±r\9cÛó\b÷¡ç\1f¯\10R$÷\98M ;¥\ eO\1e8*\ fªÌGoÝ\93\86¢\9d;í©?¨\84p\f\14»Lo\ 2¨·"ίR\0s0²<\87Ñê\92»Ø\ 5r\9be\1eÀ\84µ\1d\<Rë°C\85Ø«[ÈÆ\8f«Î¦«Pæy¹ëlíP>.p\f¡Kæ\v$BÏð\82ßéV}{\r\99\15Àû\v\1a¸GÕÇ\91YK@\87*3ý\8b\r\95È-n(\ e\ 3vDÝJ`¿ \81ÀÍm\13\ f0-[\97ðu\83\9b\ e\rÔÑ9     \8a\86\17HSm74ðVU\86è\14¹ÌQO8\96\e\19¨©Þ&uÖ_pÈ\10\95\1e2vë\1d\19\98\92Ejè\98*íÌ9Qÿº$`\90\81,_\9dú[H\11½±·±ì¹ë\8a[tB"[eËå"d\93Õ_º\81\81ªNÓ¥x\16æê\ e¢7ß >9b»ÓÒÁ\9cR\1aÁ¶LþyÄÇ\9fÈ\ 5\96P[Xÿ½\18\92
+\93\10¾¬Ñ@½\90\81-,ïNã[\ 5"\8e!ØòõB\ 6:dñ\1aó8Øý\9bmQ§ºì\172\10\ 1X¦\º(M\8b\89÷=ú8Ç\8d\fÄ*ª\11D}\1a1\90\81%\ 2ÛA\ 6¾\18\13d Í \ e¡ý>d\ 6\ fuÝ.d`Ð1[ ;\bæúæ¨þó|\ 1\ 3#ë³ìaR\f\a­\b±DB²\ 3\ 3¥Fg'ê\a\19\ 3\7f\13\ 5¸r#\ 3'_0Ñw¬\9f\v8|jï72pRþ\9fCOîÅ»\89\1eó«\v\19\bC\15õË\19¯¸E±í\94NÛxà\ 2¹#®Ë°Ï¢ü©ª~ÄA¥\ 3\ 37¸úº\ 4ç\13-Aj¶gÏ3/` <\98²u×\90\aP9ge\80y¿!}\9dý\9bX´kc\95È\aïõ\ 6\ 6Îèñ%ÉR»i{±²\0¨÷©¾¸
+^\15ñ\96\99J]PgI@L-\9c\9c5KX\9at\90KÞæåF\ 6*ýíGr?\9b\ 5\ 59{K\17o\1aÈ@¼Î5\1a0u°î·#Ûì]àô\85\8eè\9düؾvc\9e/hà\8e¹M^\N\1f:Ä{\fÍ·×\18zή·]Ð@bÔña{\18A=X\9b´$üïÐÀ\95à\88²G'RÍ¡æ\96\9aT³c\ 3±Óéªf\95µ\f`[\87!A\8aÙ\1d\e8E\10\82|8Ê\96X\9f\11c-ó\rëcT\85ê\94oÒi'T\9enpà\17À?{\13\89@\92]+\9cïË«,\11\r©´\ 6£hÝÁ\813` µ\98ï\16\ 2\7fJ,\ 3\1c\18Y´#4X\7fÄWÉ\94\99{É!à@Í\17¥Î^\8c\82Î\88\v\9c\v8°=\9e¢é\F¬\8ea`9\ f\91\ÝA\92S¨¢¹\8fNIµ\83G\83ÿF\a¦H\17B\16ÍXÛ\87\82ÚQ·\v\1d(\8c!!~¹Î/ºTç\99ú~G\aÆt\ f.-÷Y8óP§%áµÞèÀpÇÊ>\8fªW\v@t/£u3Ð\81ñ~9\ 6úñÝ\88\8e\ e¤³\82d\97=ýÝ\98\81\ eÜ\88\8fl1KS(èV9«Ózá\ 3\9d¿í\17Ö\8e:\98ãÞÔ6ª\14a\a\ eÇB<Ï£Ù5{M\89\92.\80à\ 1X ã<@\ 5\0¹[P\0\ f½ª­ç%³XåqÅ\b\9f#0÷nD{\9e\95\1d¨ªó¹÷ãòé"Ö×DQw[\8eñCH\ fD(©Ì}KC?\8e6}]n|`ÛÑ\81\ 6¼·\87íPòÂÄe­\ 3 è\1d-|\8f\9cÛH.ì\89\88ñ\97ý\ 2\b¶Ø­ÍÊÀ\ eð9¦-N=S8/ÃjV­më¤[+9üïöé;õ©\ 3\ 4íÓG\8ce·äJ@n2Äí\ 2\bÎ>Ç\9a6\báZÎévñ¤\16\1d \98^ðÚ5\8cm)Ê÷Ñé«g½\0\829\925!\1e/¶®\ e\10\8cõÑ®\87;F\1cÁQ\97\e÷¼ÆQs
+ä«\ 3\ 4/;fM\19EÁ;
+§YÂÍ\89Ñò\1c"j!I?\91!x\1aóëøÚó\97\10=r\7f6\11¨Dd¦î!Ü\19\13§;\a¸BͲ\rh?\ 5\8d\132w½\83«X\9e!M}üI;\92>0Q«2\91uíýT6Nbwl»G[å\1f"'³ÆË¨w\88âxÖB\864\99ÄÜ4ì\0\8fæ\118}9 MÛs\8aË\ 5°¿\90óù\1a\aG\ e\9f\8diÒhëÖx\1fÄÕ\ f\89\93\10\13\10çQ.\97¦ÎÑ\\12\8f*\eÀ§-\15\8e§»HP5D\10;\82âg¶w\90\9eÝã+ÞÍfÏdqÁ^½\1a\11ã­vë%Ú\ e\9eæyÌ\11K\ 5þ#$Ys\95\12\ 1\ 1ü\90­ç\7f-¹ÈÊX\82\818\96°\94(üÐÔ|ÖØüUî£2\14×±Xq\95Ô5g\ 1x\14ÌcU!¿Ð\84©ÝkvV²DüL@Jß\11^H\ 37\12\82C<ZôBý2·\91z\17¢n¨Ñ½Â\ f>ÏT\98.~Ë¢\8f´NÛ¤\1a\90\ eÇ\ 2^,;·-ä#M]rÓ ±}\89\ 5X¶q¥<\13Àhé\92ÆòEjï\©DD\89§Ã@ötA\85\ 1d5º\8c\11\ f5o×1Á¥á\vÀÀÞ\15û\80E§ )\ 4RÏ#`g\14AJô\ 3òý\9eÆ\80f+<Ðá^ûtl\ fã\98h!ô@ÏD\8c-=\8c£ÏW-Ý\13ºöì\ 5~¥([\13pâx¯K\1aûm9\9e£j^@YåH)kÑM1\93r\96\fÀWÕ×kAê\16Õ4½ÿYOQKi­÷\b\1aâë´ôûèn\1d\9ca\97¨\ e¼¸
+1\92     è\8flK/\1eQ­P9Z\83àÃ\7f\9ec¤âÍôß\1a,A¾G¸ÙøÍ\e/S¼\8e~¤i4îqu)A\80á«\13¤ªip\1d÷[A\84ÔB\ få\9b\ 5\ 1&Q­C N¿06½g/\86áH§ºP\15\97»~75ë\18L©®\98\90,>¸=×è1<.{ǶvH\ 4n\99ù\93\98\e\8cy\1fÚö\98m%\968k6\945:\8dDyG>p`\97\9c&í<\8f       \89\19"B\9c¶Qd\f¶Ißoq\1e\9dÌ+j6\989KpÅG\80¬\93À+Ê\0£\8a\10\9eËy\8fÐ\14XG8ÄJ\b\ 2\ 1Ä¡«|¿»JM\81iG°\9bÊUäÏâé¢9Û£&I<4ú#D\9aW"\94\8a\7fs\8bwÚ}Úïü\10u\81vÐl\9dP\19\ 2,-6øÍ\1c\18\85áÁ¤%¹ô\99"°@õ¬ÜG®\11ÇÒÝq\82\ 2\8e\80M\9b\91ÃÁõiHw\12\8d\1e\95\12b\ 6\90\13\8c\92Ä~Þ\8b\14^h;ò0\12Í\93ÓÕÒkpÒ\12ÖÏø\80s*À\1e\86\91\1eó4ßróø\ 4\95/\8f\11¸ÛèrJ5\1dþÎhDÉ\10\88öY8\9eÈû\96\91\8b* Î\8a\ 5±ÕTâU g7\9e-ôô±\92°P\ 3wTc    /´\1eh\1a¹ÌðÚ\86ÀcÍ\92ï\a\96»£\0§\ 5Ó6båx\aï\1e\1d{å½C\97C\ 3%t\98\15\80
+]â\bOÏ<ák.
+Æ \8f¦rÒ7y±fÿ\96«\88\1fRê8ú±\ 2\92\8c\8b\ 1L]¶Øx\b\15rZ\7f=Äá5iÀLKîü<\19S\89\84%'ôj÷{ÿÎ.Ëö3\14íñù\14ÕØþD\11³+o\97دgq\95Ìh5;\11ô]ÝSFjY?a\90-\9f\ fdPÅwÓ7¾FHr\96é\9e\8dl\r8«Á\12½ºJÅHo\13ð\84ýê¿ÄQ¨\9fÉѱ\8d8\95\0Ù2-¯¬½j\90\81mnq@
+\v\96ËXètí°moïQ)í\15ê¥\b     ëUã¥q\ eÚj\0r¶S    j \95Ö\18k:ûüö\98|¦ÿÞvúðF:Ôµ½ÔY!oYSó®Ë 2¯'\15¥nE£¤£¥\9dúe\1f\ 3â\r\95¸ôjÈ\8bë´Éµ\85\90°Õ¤æÊ­j{\v]ý\8e1z[s <ùÉ\99ùô¢yt·\9dKYm\ 5²B}\8f(Ù.Á§\7f\7fÖ\18\11SÊaò\9aÚëë Q\11ð?»\11=~̲Ä\13l]×rWØM]1É£\ 6¢\ 2MT\bÌ\9d½5S\17®   ª7×\80\14\12# çý[<º\1f[¹oã"gLÁÎ\1eþµ \8d\15ª4®_\85ÀÓ\82\90º\ 6\8d\97Â(æ²zk\9e¦\r\15u
+&z\11~\ 2}\9f"+\9d¹\8f\80eíËv\95¤Í\ 3ëÀªi\17Q\97?]3®×     TS\9d^8vð$U\0¨jwðP11y7¢\ 5÷Úôr v"\9cµl¯®Ò²¶Õ⡯¾fÀ     Y£ÀLL½\ 5\19m\95òâ\9a#ÜÒ\9bfíõ*¶*9{\9av\88´µ\1aCxb0½ÂÞ]W\1d¾mb\ 3À\9e!B'ÏÌ;   \87\1cdÅ«¯k0³9~Ë1\98è\12²`­·H?»JÚ\93À\93Ëà¾Ñ@\81nP Ì|$\80=í±L\83Ý\97&¤ÏhsÓòªÊ sÈYÚìg²"\ ec\11P#"W\958t\15tÏK\97\8b\15è¯Q/Ëç\v\189³ÆÞ\99\82\ 4°\b²µ\8a\k\\19A\172\0Ýà [E%°2O\8a÷øL¨»<\8fh\9f\ fB$,FðÄe{u\15­7º.0}{\1dø>R\ f0\aíûâ6\82\89óµ_S\19oS¢û$µØ¢û9Ïrî\19Õ¬ê×ôÚÅ\19\11n\1aõgö¥\1a\97¬ð|»\9d\1dø\ 5\85\18çÎcä¼$o[ =¿ÈyeÇþ\168\99íÊþÊE¨ý\87\ f\8eü-|¹õyH¥¦MkDi{\9e{º¹Cãmë\11ß\846]äV°   ÓÚõ~µ#' Ð\1c\8fÜöà\1fÒ\9aÜ·°ÓóÞ\16R\ 5\84z¸MW¼kq;YÇ=بÐÓ\ 2T\05i3ödÀ\¹¸+säÕ²<\83Má+\95\19[\ 3¦\14\18Ej=3V\1a\90\91VX\8d\83xS·\12ÔQ   \89r-\16\ 6Ø\93-nã\97~æÝ\83Àni6Î}a\98\17 áÙ\95:Î8ݬ¶UN:tu\8d(\140À!çÎ÷¡`\7f¤\vßÞÀ\8b\11°\87\vy´ö2\ 3¬~1\86÷\8cG[(\83\1eùµ
+\9f6\973äH§¼'YC\18ØóÀ±Â\ 2F\99oÚ(jºÕÕ÷\93ãC,õÀ\88ëÞÓZÑ\rÉÊ\b\12ú:%¡îFáè¸z¶´\13\98½¶\13Û\17î&t(]/F\98\ 5\80\83%ýU½\83{\fï\909\86Ì\94:êt ]×~êl\82yZ<í e0\r\90)ÍbÉ\9cø\8a\ 5NÀÝ{D\19r\9f61\92~Fô£#\ 2l=h°\8aZ\95\14Û©X¦§U\8fѧ\ 5\0rb·¸¦Í:à7\98ÁÊM­\97Û\16Ö/$\15BOµr \9f[èp\92d»Î..\88Âß6e5\156AÙÞ\11³ÙduøT|³ÝÓÙ\99@ðy&LýTYãô\8aO·v;ûå\ 3q>\ 6ç¡Õgή\91\92D`eS½\ 4\14\11>ô2@ÒUM\892\1cQ8#@\8d\9fiÀ¹#\b«\10Ýqï|æAAçx\18\96\17cxÄÇ{\15=ô<z{±M0ÑU\99\86\ 1<}\ 3\85@rRù©»ðëT#I\ 3«FïÍ\17å->l6\81˦ÈJHF*ð\90cÉa¼ÜÁl\9a\9e\92¦þ÷K¼\904
+RíÁ¦Vfî\1d\92÷רc\859\89`\82Tð+b'L\9ay*=²ßâ6æô]ú\b\9aRTS4F2Ó6Ò-!\ 1Æ´*\16ã{\ayA\8f\10X?»çG\7f#¶vÿ\7f\89\82ò\84\8c£>Ø_J\eÁ\93*~\9cpÒ{âµh\1a·o¾wÏ\ 3c¸:Ì\84cúÊÙ¥xfÙ¼ãm³2?\90N)n!ï>gD46UÞÈG]Ñ%ºé\11\15Æ0\8f+©Î\ 5­Ó¤Ío9ݸ\9d\ f2_Q\9f\8c/!;\9b##ö3rT f¦\1a\7fcQR¼H\8fË\1d­J?\ 1hs\9féC0¯\90Mé(s/¦!:\95@ö³ÎÁ`VÉ\7fúð³Ê\1a÷4\94ÿìI«¹Çïsëàí¨\94ilÒÎ\8fS\8a]\89«\83\89¦pô\18ÝSê­\aøMÝ,¥\83tTíV\9d\88Å\13 \93Â\80cçyD ²ñò\82 ±O?\8daS\98¤¡Æ@*W¡\14\96.û>uÏj\ 2\82)+\11°õS£*¸\86åÜ\11ú\ 4ÌrN-Ñ\92h\89¨\84[Z\14\v3­ ²P`ÉQ\8c\8a\ 3*OY¿\13Õ4 \1dÆí Ì\8b-ì} 4;}lF¥Þô\8e\10Ìs\1f\ 2\87Ó\88<øÒ«=.Ø"\14\87½Ocl\ f­ª·ALñ=\ 6»Ç\9eYp\18\r\8c¼Iç\8b\\10|ÆØpN¿\81-nÚì9¾=K,DjÖÆ¶§«Þ&Î\e\81l'$KÆ*{\81®\1eÐ\12Õ\86g}k«\87\9d)\9aF\9d\ 3k}¾
+QÇ9r\8d5t>¿äP¹9¢\82hDù\10    \16½¹:r¼5\1a°äÂJî#0\92ã"vuÙïä\81n\94Ю]\ 5úÒ\8f¥OÓË[ò\853­9\ f¬¬{20s\14§ÿ\1dîÞ\ 6z>\8ddF¸è\1c£aXG¥\8d¦\9al.S\96\81ò\92Jv\9cC®Þ<¡ÎeKø¨£\ 6ʸ\ 4&¸e\12¨\Q\ 3\9fÛàµ\ 2Q\1fñ\17ì]ßÊ\14\93w^˧k\0Dbøv¯yéPgµ1®~r\91k\ 4ÀͲ¤~\12\83\89%~;ÛÑcÃq\95C\92\e\97\87à\15\88     \81\0\88ºÓ0£qw\90³^S\85VØJ\a      BÅ\13Wú^ÜÍÎ}¾\10ú¸Ê{@\9eýµ%\13\r<±v;\1c"-DI¼µ\84\93\eGÞhMu\88ÜL»{µÅ\1fýëi,\1f©o¼\8d ÿ\14\98\ 3;\86\96\12ØË\8b\10\ 3Æm\14Å\r\7f\93µ\ 4\9b \8ei/\8duYªyÛ\1cA%`>\84§\8d¼bÍ·Q>Æ\ 6\85\96±uïÝ=\16\9b\10FÚé\ 5\85.\80]uQ\8f\94ü\1c\96\92\1f]\9e\87U\ 1ú¶p!Û\97ý¹lØW\ e\1942E8/ù~X\92qU\99r\16[²Äëx5N½H\9dúÊ\8cÔ®iVwç\9b\13d>: þômx\8c*SdÃic¨.íÄ\J\9f\8e\13\ 4\8eîm;\90s\11
\e-\808"Ép)âá?.Ù*\82b&zN¼l¿+Ôè$1K\1eÇuæÑª¾ÜA+1Æ"\ 5'+Ì\86\1fè7/ݸ1Ìô\ 4\7fíÆ\ eZ\9ew\8cUb\19ÜV\85ìWâxÞq\14ÀË\11\1d­Á\118H\8f\0\82¾®\96©~³ôoC0\ 2þ\93¡\95ùÜG\ 4M4'öPÀ\b{·%\8dû~\9dÕïÆÌ©ÏnQ­\17\93ï¶\1f`}r\8f½¤;ë\fxk%\7fM^Uw;'÷\98h3Ýïà¾ï-\1aä¡tKÆ\8eaà¬çì^\12Vl\8c¯Ù%t\a#BR\9b4\D·ä\8d     ö\8e8M\1d}M\80Ú\9eÄ\99J?
+ÈÆ;¡\ 3&\8db?´"\8d \rn¯¤\ 6Ù%\a;\a\9a\ 2\14¤\86\17\99Ð%\18\87=^Ik\1f!£DÿäÉ4f\80bF(­Ý \88y'Ç;\1e\1euÎ<¢¸QáÌË à\10·YR\aP>\8b\ 2¸dw\ 1Áíò+í'Ep³s\b\18Dè°v¡
\14º\1c\8e\1c\81?.«\0Þ9\17\8d\10Î/\94}'X\1dñ\8d2     áyº\ fäøÒh\87\ 2Ó©\9d\95Ó.i\1f\1a¡²\92øaò,à\1d\82¼o×Ûb;\vjàó´xMmætbL*AcÄ\91jòp\98Ô\86\17õ\9f[\ 4\8c^\%\85R`¶]ç2W   µî\f<¯'L1`в\14¤Û_»¼Ñ\9e\8a`÷ïõFb\17\17m\15Ϭ\88\r¦¾wÈm
+uxN$3çìÁæ\f°«\1ag2\8cSS\94pø®x\ 2FÈëg!é~\ 1CªìýÜ{4ÝÎòÈê±d\9a¶ýjm·É¾q\88ܳ{Rä\81\b\87\8aK½Âιçªû\9e\r)é>gêyôÏO&ob¾¾IÛmh_ÓAÚj¯¾°]¦\98ÊÝ%+ã\ 4-Æ7)wéeíjÝÇãGë7÷\bU\9e\7fÿ×?ùw¿ùÅ/\7føüg¿ûøùwß\7f÷Í\ fÿüøS\7fô7ÿå×\7fýç\7föøÓÇO?\7fú§ÏÂ\90ßÌå7?{ü\87ÇO\7fùçóô\9böOÚßÿìñ'mp}üâÏ¿ûüøé_þ·ÿü\9b¿üûoþáÓ_ýó?|ê\7få:\7fñýo?õ\8b~y\93Ç/þâûÏÿǧ\8fßÿðÛO¿ý7\8fm?ã\9f¾ýýwmôÏ¿ùüù\87ßýí\1f?\7fúøå/\7føá\9bþ\14_\8cúø÷¿ûýo\7føô]\1fSÆ/¾þÖÿø|ÿè\9fN?{üâ/ÛU¿û»¯\87üã7¿ÿã5æwßý\8f?|lÏú§\1f¿ÿî»O\1f?\7fÿÃÏ?þñ\87\7füæó\1f\7føô#ÿü»o¾\1dÿºý°\7fùßÿoxÆù_|Æ\7fý\ 1}Í¿úûßýá?þþÓ·\9f¾ûü?óLOÿ$\7fÞþû'?2Í~:1HP\ 5Sjóÿ¾ü\ fPDmçý¹ô\ eM?&Ý?óÏÚj:×ó\8b\9fôËß~ÿ·\9fþëßþßíEþ\97\9fýÓÛô\eÓøïZæ°ü¦ÍÜ×sø_\9b\9bÿò_ÿôÛÜô¿_ÏÓ\ e\9f?\99üW\7f\86v\84þÉõ\14\13\8f±ïy\90\96Wý÷\9f\1c\9f\7føæ»?ü_ßÿðíWïô\97÷ç÷3¾ú«/þÀ{\9e\1eócÊ\7fýÍ?ÿ$ÿë·?Ù\1f?ýÙãoþÏö\rÎ\17ÿéõw\99_|\8eñ\1fî¿úya[0\8b¨~¾ôÇA\ 5Òhø7}\99ß\7fóÏ\9f~\98\7f³þØ\97ùÿä\16òWßüáûÇüoÙG~ÿÍß~úý¿iç\18ÿâÿ]\ f\9e¯ùoyî¿ûáû?þ÷íoÿMÏþÅ¿úÿÑ^ù¿¸\ve÷øý7\9f?ý÷\9fÞ\8bóü\93\9fsÒÀðþß¼Ó|µ¹ü»ßL\8f_~jÿë\8f/ÿã¿ïÿù¿ú\9f0¯ñöBxo!åcêÆ\8c\11L\89c{þdÂa>"\15¾ú\13pò8Ķ\84\90+çØæ¾É\85ý\9f¥ïzm\86ªî© ©\19VìÈö\ap\9fJAx\e\8foßFI.51KÈ\0«b{Ð\95|¦a×AÒUE·½ë\a\ 1'\ 6h¾æ@Â]åÔÒ^ô\19Hy\92O\12\80ÑìlA\96;Mq\11À¢ÝεKp¨\86\94\94A[VWVì)\1c,Åí½3ùÚ\8f£\v¡\ 2Ð~\v\aÕ4ÉTH\96\10·\8bxcÍ\92;\81%¯©á¡ew\98\8d&,\10ùA`¢Àpén\9fª*CT\8e´æ¼¡Ä-F §\ 2)wY\9e\e^«K´¦¼Ón亠òâís\80\fåI\98g\f\18\1f%ºÍ\0
\90¨\97r\f#®%ên\85ÿñ)º\95\94\95r\8fØEý\9dàÖ;¡Òî\91\8e\7f\1eõk£ÐÏ<\11êx×§\95SÄ-\17Ûl½GQéÃ\98ØÊ@\15¤q³ÃN´0Ä\b\8e¥|ÁÂ}\8bÊÑ¡ñOé±½w#
+\9cõN¤(\88apXítB\88Ëø\10\93\81,ÍÝkéý\9d8IñCe2o\ 4\19   \9a»\9dÉÖ&\85\9eª\85Â,}\8c\88Ú|Çöt \v\91\91Úq~ãN__g\r~\17¹¸M\8e~'õÜø/lûíg¿âü¬L¦
+.¦$]åpZ:j^ob\ e\ 6ü\18Óx\9e0}Ù\19\1eé6)ã\82\8d\15µ\8a­}O\ 5sv\v0\84[O¯\10~7       òVÚÔ\9a£à²m]:áH\82\ 5&2a\ 3Íiô¹\ f\ 1
+M7yôr[ÀV\1d\9cØ3ú\96m
+}¨Eÿ:EÃíÇF\1d16Û\11­zÊ÷î\8e}\14Æ\ 6ñ\99-ʵ}Tû \93\ 2\11\87϶ð>Ä[äd`\19\1aev¤-~\rm\85\11\ó@\8aô\b\8e.4Ïö¦\ 28\9fK\9fÍsPÀ1E_öR{?\ e¦\ 3AuQ¼\98\e\r\1fxÜôm¡i"DN\13ln#â%\ 1\9dv\9c\91H\bÖ|\8f¯(\98áãcî\14=\ 6{CË\8fKWJæQÕYdçÚ®ÃP\0g\19Èxé¸\95E12\9c¸êN]\8b\80ð+G¨\8b²       ]¢]{=S,ë\10äè4v|<Ö\aͲö\85¼\e­¾s.ÊIeïé;¸ýnsà\8b3§×N(\8b¨ñÒ×\1d`ê¢\88w\84\8cg®Ï¡ãè\v¬q%Âúß×\bÑr\ 2\e«\»N\r_S\16ÞwSDâÃ|\84(õ0\82\8bU\0_§2)w¿¶\99¯\9a\8bÜ
+2"\Ý\ 5`²;£\0Ö£þ©\80~\1c7âK¨V¼¥\15ÌWOåf \86gÉebRAûk\8fÃ
+ÌR;ôV\0\9aý¸G`\ 2ìg¿ÄÁÇô<\82\9f;\97!\ 2°)·îKÎ\vM²À£
+\8a2â0:=ÇÌá,¥\83L_ß\e>?DX\97\8c~Ê=ÝbE7jc\86Û¿¥×N\ e\8c¸PPøÈ§'è\19OÉv\80Ì\81P\11'*\v¾X,G¶T_§ô4Ú\b\18gÒ¡*ðñÈñ-\91­í¡i«¸Sê©8N\Øj¸ktrÛ\99È\96kîßr\81x\ 4ã û5\18n/F\1d\92+8Y¦·û\18\85¢DLªl9>\11\aØ,(mw+\95\93\8c\9bý\88\9fýz8ìq\1faI\97׿Ú\81\ fØL\99áHém\a¦Y­\86u®Î½§°bW:]\18³\81\95ÕkDû5L®\14àGxRÒ¬+}®ÿ§\84¥\7f\96§[?ĵ\a~::\1c]\94À¹+Zª=\9cÁ|b!pà\94L·&æ\9e*}{æ\87\11\e:=\a\8aعnS\97¦\88lp{\97×\88ÊV(á\fJO[5Ý û:û\9f¯s(c\1f¢\13Èè\87_\8c\85\91¹\85EiV\9f\84\7f\9f\83\f\9dß-x_8\84sÜ)\9d   Hk\ 4ã\92Ù¨\7fì\93Äe´\80f\9d"Ä=\´ÌFôâ\85-\8e¥"\ eá[\1e\81 ´Èû\88\9b.ÿ,\9eá        \aB\7fÐ{\9e\9fGe\9e±q-a"eþ%¼JM\8fAÇ´\8e(#¤&:ÅPNåø±Q(I[4AÉË\\83\14_#\9e^ÈnSIi\9bî\14O¤r"\ 2\14z\8aª\93\ 5Á\97^ÏZ(z\8fÎñ\19"\¬0Æ\93Õì8m\81ÖuÈI/\11ò    \17µ]\85\13\93\13±òÞÊi¯@å\9bòsûVècG|?Ϩ;@å\95Äå\ 2¼ñ©J¼\8aô\0\1ea¢ÓçÆs\]f\89ØF»\fLþÀ³\93Ñ;#4T\1e÷DïnÂÛ­¾1­]\95þ^\18S_\18\8aé\1dϤsþ\86?\83m\98á\10³0øvFª`qB.Ï£\8a\ 1*Ò9º\9dÁ+î&5°½ý²=úàk\92\ fÕ×§`#ïÀ\1c\86\95Å\ 3Þ\12\92\bëá̺Ym!ÕË\13\8a¨Ã|vÖ ´"Ì*ù\82¶7ÐÚ\8b[(@j\8f¡j\.y/\1d#BÚjÔ\8b&X\8c\182Ë+ºé\fµÚíé7\ 1ûâ¢\97^07\8fÀµ\13­m]öa¢\b\ e\849S¥¦_´^û]\|)b\1f=]è:\93¨ö(gkv³)\94ù¥\ 6t;XKýÿ¦µô<¢\83:$.t.\8f~\98>\8f\82¡2     ´}ôëè\8d\11A\ 3æh#ò²ÈbB\ 1\97<µþÌ\ 6û²¦[\84C±ó\96I v¿=¥ú\ 4\97ÇqÜ\\ 48L6éý+\b_"í\17F\ 3\få\1cÍ\ f°\92ö%K\8c)DØ[ìÜ»¸N·n߯Òc\ 6*\9bÄV\8aþ,Ê:VXÍIÕ\ e\9d\1d        G\a.z\93½e¸/±pÖ\7f\17¹d\1d)2Óë14l3Z\1eq%\ 1U\8b!«oÛê\10U\ eot\ f ¤M\88#z§\84¨|à7¬\ 3*Aà\8e\ 5\1c\15~F\13¬~!\90\ 4\1f¥ßIË$4vÂaop\b\98\ 1qÅ£\0\\1dáÛ·)ú&µ5³\89­:i%@Dø\b\8c\84q\9eÉÊvn!Ç\98ã\v\11ap|n|Q¨G
+G³×Öc&±@ïA©oìhÏíVKCÞ\9f(t\8c\11Ar\1fÑa_¢\9bäðh\7f8¢Êçë\90E\88Þ .U\8b\96]w\8d@
+\8d¼èÛÈ»}\94\89ßlO7Ó\84\fÚ÷"Þ\a\ 4Y®B\80$\10\1eÖ\ f\8aY\81C`ÅÓu¾:Ï\0\1a\bhÃö§S     \98\84W\13ý\97¨rèm£:ù\ 2qY*\91\11oÇA¿\91\14A×<¢YP\99³ÆÖ\1a\93>Lã\82\87¶àñ®\ 1¥ôæ_DQÛf$lió\8bÓ
+\95\vÊ9ÝÃ\9c?!ðV<R\7f5¶à\b\ 1B\13\9ez¢\,
+\9fïN¦h\13\18¨\81º\12(Q\18æ`}'0Ü\14ß\94"\14S\9d¯\81Àö\11æ\97à­Ö±åÕnY½\ 6¤\10\aµ\93\87UfY:ÐF\14²\92\9bãf(Û\97\92\1f±*\9c3\ 2Æ\86\94E;%fbûD§´Þw\827<cX\7ft} (=ÑÇ)¹Sôºh@kû}Á\a\9d¨\1e´_\b\19Ø"\12mÝiê\9b+\a`_\15¶}ÜI}  ¶cB³ÜS\ 2Ø#½H\11g\9eóòÚÔÔrÅ"í\89\93(¯n¡ß?,|ª\84N¶ æ/\91 lD\ 4P¯¯DïzVèè\1e2N*\ 5©6\86&y\ 1ùà\e§\9a\13pz¯\11`\92­á\8cÛ@\ exÁ]\84½­Ï#>\8e\89G\ 6\9d®&\13½W×\ 1ú\17:²d;\8f;§ÄÏ\9fXáÙb6Ô°½+\16æ¡£à\88ãº]\15\16JG\1cÎÛY\ 5£Ñ3FJ$lXjÖRÛ\14i\99:§"\ eðô\99Î.ÿÑÎQÂÎg&ÄÄ\18\8a\8aÈz¬÷NÄt²-\ 5\85ˮ̴$k\99:ê&ñ\1c\82J   wU{µÿê\88ÇÂ0\89\9e)\ 1\83BÐ6òö6%\94±ìÌ/\9eÜË¢\0ÜæQË\8bÇ\9aKf¿í]g4pwdÈ\85ì\Ü«³ºmDTæKÞÍ\by\ eò\99©        \8dÐi\9bpÿÖ\17#Þå ¨\b^f\8dvZ\87\ 4± Þc\8f<\9d\1a£ ù\8fn\9dÕ\93E°¢\96WÛw¢|±ðg©ñ¥\15\94\91ÐV(ót@y\87Ù\e\1få\88\1dú"\0IëÛ\ 6×Ï)b\1cãà\8cÄS\94\85Ä%y àÎ83\9e·îà\9a&øÔ÷@\9b\9d]q\8bkÏ¥L\88ÂÐy\10î¤2\11íÓé<\86²È××iï2\8eªà´[\14\e§ \83\12]
+T
+cxZaÜV\ 2kíøL¶Õ\9a\85åÞ\ eÚ# Þ\9f\91D\16ÏSÜ \9fD\7f,\e\18\1d¬\ 5N<"b\8a¬Ç\92åU\1c;Ù&QìK\106gW\1fj\9ft\ f6f{Ûxð\9bÐ&\83H0
\1e\9dB\94Ð7\1eÐ=@ÆpK¹ô®Þn¤ôKv\1eÑ\ 2\96äÒ\95\90j´EÈ\1f\0è\8d;\1dÖNt²cègT;þJt\8a\ 4\87\8e\19J\911Þ£¸Gr)º£Ys=r1÷Í\97ؼ\19qX\12\93ÊÏ<¶8\855¼Ð\13Ô;À\1açWô ÐBÚV\89XB\vi+S7(í\9eELfg\82\8f\99z\9bgÞ»fJ/j¯¬ëí\89WAÚ\14æ\9eHk(.%e\8f?\1eÿ\11
\8fk\19\90\\9b2É9\ 1Ѫ¢M\8cxü¯/§¯3\1dþï(ägäF\1e\97\8b\95wÖα\92Åw\8d\89á}Ýß4\9eU\0a®â"Oãc\8bäøÚQ_      \eOÙaû]FD\98ÒÙ½\º½{Ú4m\87\88®¤;©\89\1f¬¨\ e\15àËË\8a\81\942f}\181Å[\12\ 4eÛ./«\9d»0j\7f\eQ?ÄÓ«=Ï\14±¦îe\95µ8×ý\18w\92fU\12)\91\13\1fvVÜ\97g\85\9bÒ®\83\88*\9e\v\11w¿ü¬fØè      ÜhQÃh\89ÑÉ[x»ì¬à\16\89!\8cÔ­ý\ 5Åv\ 46\f½ò<9\16\9aÓxÏ\87
+`-Ã\8aj\86HÕÉj\ f½\9e@uílL`s\8d\0\9eÍ\91Ø?êÒ±¿S\84Ñ×\97\97Q^QbXX\ 5\9dÃÑÊ9%\8b\98\8cÀ\82ØR>\9a·s¹\1c­\90·\98ÌÖq£vlÅÑW$µm\97§UìÅ\ e°j#tpæ¸\8bÒVè\12æ¼\98Dhë=\82\1c\1cY÷´\123B\b¿Ýéëët\8drVGè6¹LË\98ü\8a\vM]èaN·oë\8eÐFìÊø\8c?»b~L­äix4ã+­Â*R\9d"Õ¹{U:9ã0\14/cÀMÜ8ÅÁc¾um\ f\v\93:B^^8»%\85¯ò\18¾VBB\§ý~$;T\84ê\82¶îÎV±\9c¢ZÔ®C\8a²\9c\11\r\8a\1dAw¶"\9d\r2Ú&\1eSâ4çh:Õ\9e}°~pþÙ8û\9d`^·üDÜ\99å1¼­\98æ\92Ci\9f)¸ç=Ê_µC¥ãmÅ4HÂÞ>S»ðæ<"{9×ýö¶RR>çÒwý¶;Qé¬Á\ 3\9fo*ãñ\8a\rѸ\8d\99Ù\10;Ë6ìç\1f\19\83@îóI«\8f[e¼Ä\ fs/÷ ]ݸM\82èA^:ã2s0Ú\87\11gÄ{­¹¬Ü®B²\98\13"ÃÅQ@\ 4È\16¶.Ã\14\ 2\9dAÛ¨F\1aÄé\8dõé¼\8cì\8dÁ\95ú£\ es.Ó²í\12\97Ósë®\ f\96$\85ÞvNÏ÷\b:xsèÈCj¼mM0®ç}§w×\89ÅUªb¬\13s\1dÅÇö{HÄ÷9!\10?ÔÁ\19iw\rÉ\b§VAôåpUhӬ׮ç¬\15ckïL#HZ\90\10\918Ið,ä\ 1\ 5µ\\92Îõ6¹Òx^Ý®\8dX>t"U\89Èó\9b\94¸\92Ü|Ý\88Ü_{\95\87?<ë«Ë´Ã\97Q\ 2çê:4&¶è=\81ß¶ÕbÆ(Ϥ \1drC×\e\80¬qeód\Z®\11k»m¹\14Ç7íZtÙ\85<\12W\ 3ͳrÛ\±(§gßÞmz·sXJÛ|¼    \8eS)HNÛï#\9c\94ÆÑÐ+¦wT#r|^3Xk\8eF#³«µ\ªãÛ\99Te¯y}\98·-éR\9d\9b/Õñ\1a÷ã5\93³Eó\12\82\17·êxqL®¥\1c÷\9c\91\8a0Qz\eÂã^_ÔVÛ[\8c\v\15\82å¹ÖåÖ\f÷Ú7]Þ60J¤Õyº\957'+\9b\9al÷^Ýðκ\9c]Ëøù:\80©d\99N¤Õþ[¢\91\87íÝÖ     màäaa!×\8b\e«´Î{\19\87?òÑ)AÁfÛº\95\18\ 5¼9-fA\84Ý\88Ë yÜeîòÕá±Ï*uÇ\9a\1d\r\11¦\1dý¤\ fÞDù1U¶éZ\ 6ú\f\f\ 3¸\9fEpìý¨|KSv\8e\84ãZ»ÈcL¯8ýDs¦íÔ(-Ö älØP«gãk¢\7fåÔØ;ÀÜ\84º\883h¢\91V\1cG\82\9a\ f\8f\ 6ýí¥\7f\ 6¾WÊ;q9^\88\10\8asWPëòÆ8\82b\ 1Í_¶ô3ö`JæóM_\1c7ý¾Ï¦1¦îÈ­û¨/®Bö¹m1\16r¹Ô´ç   Ñ\a8åLpµt/\1djr}ö"'Q\81\14FÞaÜ\19xxí\aXw¾\9a\18ê$?}\11Qvë+­ç\90a_Ç¥u\8a±×¼ßQìrt\95\8b==àh4\9dÑÎÅ3E\98è\11¬r¹-Y\ e\9d\9c\92\8fÄ\9f\8eÊc9"\93:\1c§rÎMnXâ¾ãøW¸§\9b¨µ\e+\0\1d\9b\1aÁhÅ¢\11¯È\15RÎ!M7Pë\88f\ 5\85Æí:B®µ\13v\97Q\99Q#T\ÝXzµ\9bðÚðHG7ë9ãDA\98\86âv¿QMc¡í_)o%Q?\19\82νTÿXÀ\13v\95\85#\ 4Ü6\ 2\8a ÛýU¸§vó\ fÜí\8bf\r\98O[ö\1f"#Äwù¸\16e%Qw\ 2\17II\97\bÄ·÷dZ¥\vÜ®#Àâí\80\82SIÈÏNv\ 4\b»y\9b4h\14$\0N\9e\14Cì~KÛL\8epÅþ{M!Kep!\8bL3¿½êpAm\83Àf¤áÛ4!Íë2\vi^oj¡EÕF´õ\bøO`R\ eØÞ@{\97\ 4¬ç\ 4ö÷ì\f\8d\ eÆYzô-\1c§ÀÒb\98\1eù¯ÑWÛ\93êna\1e\12i±¥Í%!»6<\ f\0c\ 4\ f,N'w¨wb\1f\9c¡'\10Sy¾N[_;[\15\f¢¨\84´\11éå!\9a\14T*죶ú%í§¶cND>ÏËú\16R\12w]\9dL»ÖÎÞK\9a|M³\8emTL\ 3ãÝ\11xÒÞ\ 2kLûî5ºô \93(\8aÛÎæK{¹Á\ 2I\8f\8e\917
+<ÛqB«³Í6J!»¬I++\eO»ÎÒµ²\ eÄwmA_\11Â`*A{ì\19ÁªKÓo\8bÍ\9c\16\98È\97zÊz\9d\ 5]j.Ü0Ǧ)\13)½ã\14|\88\81\19\fÀè0FVóB\81\8a\ 4\1eÎsÛ3\9eG(\aÏ[¶bk%uÅ1\8a\9e(\8fEB\9b\8b¥\v\0ËÏøfP¾]\9cþªb\8a\94­q\95P¯å\8cú<óm7ÂÅ\89@ì:ß\8fD\98w\82\15*\10~5îW\84\84TBHÅä°\98»\9eÜzD\1aÈ*\ f¦©K¼$\83ãÕÐÞÓL\95óyÄÇ\91\bÎIè\9cLÀ5Ï×9²-!½Ä`\1cL\89v\%~¿õ\8có\f½þ`*²dsh\v\96Ö     (Ù\88ûÉ\7fú\88\8c\8e´Ö=x;Äbc1m¾ÒV\12åsHQ^Ê»ÛÓe\82\8a9\8d ü@GÕ\93\81\824\ 1v\89Í\7fÜI\ f¯D½\¥ëÁêb\8daÖIĦ&\19?£,   \1d\89bCõ\18ez\8a\96eM\e£ý¦\1a÷;sJ\95LE\8e\85Æ[a\80G\94\17\ 5º`z\12\94´\94\1fFHP(É\ 3 f\8aG\8ev&J°\9d\82\10û\19}\ fˤðâÒS¿ÐMö!}úIu\8c0\83;Mq÷Õ`\9bú!HÕ\93!;e\85üâ¨\8a\13ÃJ\91bWx¦\9cÈU\93ôUvã\1aßóó¨c\83 øÐ¦TÛ±\b'øÞâ3\80\95%R\9aí:&}\8a\8am/J
+Ga\95-\ 3\96\8bÙ}!\9b6\12R]\7f\9dÙ­f¦Äú\1cÏ\94ú\1f?Eþ#û}\1c\13Úª¢ò\1eYíKdÜ\94*è¥ýب®\8eª\1d\82å\98à\89Z&½Ô°·\7f=\ e(°"t¬­\94úã£èB\9bb3V\17\84JûzÒÁ©«[\1a¤ô\v        C       U\17\aL·­VØ1ú\1193³8\97\80ì¶HÛ«<áÇO\99\1cÄ\ f\99ÉLQÙ/\ 1¨Øúü¼»xé\8c\8fyìF_b¿0U8êD9¶\84   ÄË\ 4-KªF0CíÄÂ4V×o#6),ÞÇ\9e <¸#©3±\82å¸nD\9c1:îsdrö\1aG0-´Y\rä± ÑiwD FPØ\9e\91w#5\14aÁB-\8aõT \ 4ROÖ.ºK0\80Ý\ 3 Ý(>çe\89fr0%¼ývU\8b]Ûb~¬´ï\1cS\91 ª]lrOn\ 2IÔþ\1eú\96¢v\8b\82c+Ù\a\10n\8e\17Dî³\92¡@.\rLzzu\99¶ªÚKð
+VÆH\ 6,4ó'h\¶Æ¼PY\8aq\ 4\8cû¡\16\95Ê\9e\86ä<Vç*\83\9d´\8f\96Þ\1e\8d ¥\ fDG±E íÌ\88\9d\9c\99\828Z2\9dÞ=\84Э\8d (ºÉNI\ìyµìØÖN\9f¼n¤Ç²OÐ\9e:Qm\14Ò\1e\e\15ÁDq'²ÒKBȪî°\8bÁ¸Â¶£\1a,+#`\82é\81Âðä3\93e\82Î)çÀp¯:¾Ôµ\92tIh8\85+hÌ\11®Y\1fF\0N\92-(\1dîÖf\a\15Èöa\18      ]#Ê\92ôIl¿\vÀY¦\94iºÚ\0Ï×Ù£¢®¶×ÛÆù-U=Pü<`Qmò\869O\99\84\8fLl"\ 2, Z3\91[aÌ:æ\9dQ{Û        Á\bÙy\a6\17ð\18\89s+Ç\bV\99S¤j\96¾ØT\81\9cö1\1f¾\80ݳ\9dîff·½ |%Ù\8f/K¿Süí\8eÀ\18¼¼½tì½À+ÞÑ3 ½\92ܲ÷7\ 3\vºÐdÝ@D3c8\1e\90z¡$ðèÖ\19;ç·e:·{Þ\89¯¥½q77¨\8d°\10\9cTm!Q\84\16\9d\ 3gÉÊß\84\1faó·Ð¬%\19m#\8a\92\906Q²\81k\ 4]²uÚÇJ"\v×f']èÓ\82\8cèÔï\15\81J¦aU!È\91 t\aÖ\96Þ,įV\15ï¥?3Z·ªrû¶ãÍ\11ò\9bcî8Ù;óêØWÖ\0ÿÛ­­ý)&[¤\ 3\14W\1d\98«Zq\9b\99í\ 1V²¦5v"m?\92æu\8ciÛÉR\19\1d÷\89\8cé\91È8\9e\ 1R
+ø{ý;U]{\10kT \8d%\82Åmö\96=\0Ð)Ò®\vÑ\1ee\r\1aª\93²\94¾\17[g¨\82ýÚ¿µw#ä$aÏÊV?\8e\9eZ\8bÓÅÁÐýs`>`F5kVa¾\ 4ü6F0\v$\94>Å3£\ 6}M¶Z\ f¥Üûª='ñ\7f2Ê:Ä+ôM4x\16ÎÛQê8ön\12Õ\ f\ 2\ 2©,p<\93Ä\89±\9a²øÒ_Ë\94\82\98Úï\88åÎôt$/iMd\11\90Ü#n\fìÝ.\13pÂIm
+88èÌJ\80«\ 5r8Êm\ 4 \84        ´\ 4\9fÐÕßI×AdìWõ\ 5"ÛÞ\8c¤ÜÍ\11\9cØ-yÒ\97\9b\aÖÚ\17_òXó\1a]\8f\1f\19åtõv\14{Söì\91\84æ8å\98\8f"\ 1\b\85_\8eRNX·îº¶DAøx³¹¨]Û«7ÄÆ¨\1aÇçi=n\a\1f\r\82\b\9b\1aáL\82z\99²tº\83Oz<\11\1e[#;&­\86\9cØêåàC\92a]îã\8e1\ eóK\98íîÝÔ=|Ú\97mÇ×Ù.£¬®Û\al³]¼\13\80\856åWõ\85´ÇT­ß,|(X³\96ë÷\89,ò¼SÃZêrÞ&>ðx\106í:²za/ÔN)o&>P;\96úJ\8b2 ¯\ e*úÂÅgºÊ   +\1f±¹{\8f\0Å_.>\\81ÁjÛJ×ñcxå÷Qú»\fxèLMy·úpôz\86\9dÎó\88\8fã`X\94O\95ïÖ\ 1½üú:-\ e@O¢÷q\94ùöñá\ 6Û¾ì\92ýO3\98x\aS\87Ûǧ&\r\1dy]&*\ 1Ü\92\ 4\9d|æÚib=òÁ" G\12í\94áä\83\9dQ§ãÅ\80aä#°U-èOô<ª[ù\90Ô        ÔÊ\88\13Ó&ü\9as¿­|öX_LKöÑM¯±Äà¼Þ^>`¹µ\9eoûõ1ξc\94Ë\0ßbzpä\89(\ 4\ 5°xf\a¹Ôq\92®÷\11\98\11S\94@§ôÄ»\9b\ f°µÞ~¹\ f»\1cÃèDÛrÛùLÀã¤Pr4·o Í¶G\94d\18ú\88f\95øÚ\b\eve32E»ç6ô\89`Å(}®á\8cIáY"\1fóméCÈҿμ\83\ 5¡Ì\12©ÊÛ\8c\87p8\91?sWÅ\18\1c¼s\ 1Æ\boó^Gzw\ e¥y@\18¿¾D<95·§È\95Ü¥}Gɬ$a=oÑ\7fj\7f4­óåç\ 3¦\117ç±-¬\82kr\89e®Ûmè³\94¸j\95Çó\ e5\f}6\0\ 4\0Ák§\ 3\19Þ\13\9c¾ß龯é¬\10¦\93j19\9b\9d/hË\aaúí\17£&\91ì¶\1e·±\8fN\v\87\11\90        Y\94\97±\ f©m\ f¸f\1f1!´*Ïn\8bÔ\8d}¸A_À³5=ÑM\1a¼\1cÛh\16\94Î\v`\9fn;bNÀ#Ï1·-\97)O¼ÖÙ\8b·\11N'zSð\16ç\9b\ 2M7@{m\9a+hA}¢K¾º\f\1c<\ eÒ\9a\99±\Þ>*Û\1d»\96\80\0­\ 1ì\87·Oøûô\97ï9Ú\16\96Â?÷¦r»û,äÉP\10ÚÇæ"êë\1cD§.w\1fiÖ¬\1c°ZïÈxâìz.\970\8e¬]ô{E²'ð{ªÛmw</{\1f¹\ef\92Ìå\88Áø\11\19°¸=u{\1fzç²ß\8c°#\9c\99\rçqÛûн;KÙï< Å\97ÔØÚ$;n\83\1fv«é\f\19P¨þ·=Baéò÷\ 1ã\17\17\1d÷\bêkTÕ/\7f\9fÔH¢gvÝè«ë\\ e?\vÅ8Ui#è¾²\vß:˰;ül¡kÕl$-¦Vbg^Q.\83\9f0ÇÖî\fæ#I\88¨Jµù<­õ¶øi¡8\9e¦\8f¤õ©¬ÔâÒ\85\fkwç\99\85¾Z5¬¹ø\92¤)ûó\80ìöfU:/̯Kyu\19;\9fÆ\80\ 2÷\17&?v\ÌÜ6ÁgM\14ͼ5î\e\97ÉÏ\12z×µgQqjñ\0Öëq9Õ\80wCíÒ\90j×Qk°\84·\98uÞ6?]CXî\ 3¤¾¥Í\88;p¼  ºNa×\8e\19\9e\9e495ð¹©ÞF?\1c\96É\8b¶ë¤Ï\1d\85E;ëíô#XXX_\18qbêAgÄUt8ýÐ&£Ö<î¤#\89·\96òv¹¼~ð\93!Èkö!Åb\1f\ eSðÍëçLJ±<®½Lm§ÆXôòúQÂ;ß\80\8c\1dIÕöA¸\1e%´¶­îûk,Õ\18\15Ïö\12§\88÷X*#ªÄ];\e\89ý  KµEN    \15Ás\1fûk,UûÄòg\92æ\ 2¹í\19KeDÉZ+ÓÑ%£Þa©¶¤\9a\fû\80@Öò\1aKµ)¨øð|\17cqò\1e\81TÃ%-,ç¦ó\19KÕ>V\1a\80Z\abÛ×`ªm\8aü²î^tº\9fÁT-\eï¦\97qôȱö\ e\ 5µ±m=bc1\9f\9d\ 2LµqLØ\98\10m±Åx¾Î*ST°
+¥vÀ¿¾BSµµñ\81>W4«:@ì\ 5\9ajMåÌtб\99\8fg4\95\11¤L\8b ¿\f\85¿¯ÐT×\88j\ 6Íó\8f ©\9e¯ó\ eMe\0µV)ì\1aY\82÷hª5d\1fM»36M¯ÑT+·¤=6\8bÖNyFS\19ÑÏSî\1eÇü\8c¦òòÔ\ 2Ñ«E«¯ÑT~\8f4\a\7f\15\19MµòyØT<Q#ê\v4ÕÊ\9a\0gÈÓ¯ÑT+Íà­;\14bÝ<£©V'A\9aZ9\9e\8fg4ÕJÌQöæ\13\84ùð
+Mµ\1eTÙ<bÝ;Þû\ 5TªmBÁ¨ðúëâæ/Æ`%´1fÄ\12xÇ+<\95Q\aÿ!^iYâïàTkEì#ÜÉL>;å;8\95\11ô&\94|Πß^á©\8c2'6]þd¼ïñTF¨\8d\1d±\11z\8f¥z÷·ïpT\1fÇ\1d\8ch\87öÖY0ïqTFèo¨5µ­ü|ÂQ­\ 1B\130U`Þæ×8*£¸¶rq \7fÆQ­{ÜSZ\0\12?¥å\19\0µ\12¶ÆûâT±\94·\11_â¨Z´\8dZ¿kF\9dv\8c\17\97Ù¢\97Èæ =ö\v\1c\95©\82~Þ¢d<Ù×0ªU\ 3he.U\8f\98\87\0\14n\11'´®Ç\v\18ÕªôG\1c\91¾s\1a1¯`T.3ôLk¬É^¡¨<ÓÒUz!²^ ¨¼<\82\91;\82C§|¾CQµ\8bÆÉ\84o\82jåk\14\95ù`×ßà\15x\8c<¡¨Ö\9a¾bÛÊhÏÏû3úiÕô¤p­\97\14$ú+\14U\vfY\90³ ß:7ûé:À#í\hY\ 5Ýäõ=\8aj\ 53Ï2E\809\97×(ª\95\19î"_¹ú\8c¢Ê.\84¥\18¹\86z>£¨V¥\1d\9e\ f«Âß\eÖõk\14\95Q
+7zj`ë¯QTí·ØéqãêÑ­±Þ¡¨V\ 5LxBrå±Mz\8f¢rZ(nF\ 6\8fW0ª\rSN÷À.~\9eÛ3\8cj\9bâØA¡\7féeÛw\0(ÑÃ\14ÒÈ\820v\ fø
+F%\b9\14\ eë\1a¶Ô\8b«x\9fúÅÇÞc¼÷0ª-.A\98\ 6DL¶å5\8cJ\9c\97&\80\9cÎg\1cÕ\8b\1d\8eêÇ¢Òg$Õeo^\14jÉM\ e{s\92ãøe[âW    Ü\1al]    #»ç?\8a\e\ 3û\ 2\16×ãBì        %\8e°\8dìÒTl¢\13ßÂ\ 1\ 2&ÁX\9cO\95ÂX#Ð+ÀÍê\1c"\1d0\1cÍ\bMä7Óáa\81Lø^\833¥Dá\83\9a`íê%DF\ eB\95\80ê½ØØ\1e\ f\86^äÒ\9cSQÞ\8fcy\1eáX\91\bÚK£à\eß§§ë\10*a\7f´,ñ\14ë?XG,)`\8a\8bm.ÆK@C+\a\8c¶ý¡(Õ\9f)ôp6e\11+\88\87@ȵã\ 3³\90d\ 5\b¤QÃ&ë\84»¢×¾²æ\ÞF$\838æ.ÿ\83\81ãHÇ\9e\1ewÊ(\923I\15½«\88¤\84þ\15ÙÏ%A\10åó\12n~쾸^\ 3í­}\80Ó^§ß´G^Ó
+㣴\9c_<\91C\92¿\88\ 2ÎMóF\r\9fÎË`}7ǦË\14\1eô\ 3       ëè>î\87Wwà\-ÝE\80G½²Û9bNï³E\15{Ê`i®u5§\96\12²\ eê±\8eA´L¤\19à~]\8cW\99\13Ó)\8e\1aô`Û\1e+\ 4H\Êí\9d°\92\1c\ 3s'i8\14á\19RÛzÇ:'r\92ä¸ÿ\9a6!tÛXþe\81Ë\1d\17[r,î{Ò\ f\ 1è·vÒШЭ¾4ßâkD\rq(úý$^,      \16\1a£-9F\99ã¤3¶;¡L`\7f¦ÄÎO\93ZF°s\9d#Ær4\99Á´÷¹¨dtÌ\11Êè\9có\99N\80Øz/×§¬\9ag;=\94íX»¯c\11\99hM\1e&Q|\87Ð-ÑYÏË\b ]iÊù\93/I\9df;\ 3ØØ®\11>.¾\¹ç¦û.z×W\föî:ä\ e¨ð`[\ eãÍ)\ e®ªy¥C§ªóc\ 1Jp°3~W¼g\8e9\ f\16#Jµ»¼ÁQ®ds>§Ò\19¸Òi'BóIs>¦O\8a\8cë\19T"¸Ø\19 Ú¹ÄBç\12yW\99iKb$ã{ô©ìKºeûËx}\ 3ºbÄV£ñö\9a#±m»SW^©ÐÕSé%F@S¬\7fƨ\9a\ 6×\12¹¶³'îmfí1\99ð>\8cXì°©\~AÑÙ9\1fpñ1be\84cíF\8a]\ 1\ 1\15¢Í\vرþd4\ f\ ev\93öëiÌôíH\ f"êìF8§OÙmº\82#íÔ\1d±g^#è\8a±Ê^®\99NRb;ö\11\v¿¸ÎûÒ\89g:T+H5\84\17Óg:uª µÚË\v¢\ 4\ e5êKc¢£A·94\16ï¶\ 5sÉÙàL\90:&z{Ý$¬½<Í;:àö\92/f(·iùi\e\bb\1e·p;î\11ض*YãN3/\e÷r8/¯®31!d!#hêwò^Äo¨?\e(\1f\9c\88>+×{\8fÄ80
+êÜ)r#a-¥%\94ŨA)émk¢ãXknØKGÔx¦(¾°L\8fÍæ\11{˶\0ÄÁ1\v\8côÒ\98æ*lSÝÇó,\1d]dç©ÃPëI9­ÅW¶su\9c-Z߯Gñ\16N1y×zº\93WÊ/\1aèë=
+âh%^CfïÊ^AËW\92\v\9b\1d\1e\ 6\87¯c¢ËÂùm%\81>\a³`\ 4«40ÑíÜo+\95Mìr\15\14\rª\ 1\87%­={Ím\8dY\ 2Ù #\97\8eÐ\96\85i\12¯¼`\84Je»F\ 4juF\7f½'±\ 4pP\9bÏûNïFIõ\99ê\94X\1c\1aÀ¶ÕËÑk¿k'\9er\8f\8f\99\97à8M\93x8²\98!ä¤(Ñ\8c\eÁ«\98[D   \87Q\ 6t\10LµX¢]§\84R\v\0TÎ!½Ób\ fÎ.ð@mV\94IþÄuÁ\ eºßùé\12Ðç\151Ïl\1f\b\ 59k×[OC\99&z÷\eª\15í MÜ]\8e+\89\15LL\8cm\1f&ÍJl'õ­õ\8d\fdo\9c\8e\ 1ÞÜ4}±Ð$üý\eô,\16\ f®EQí\a§g\8a\18F\18eYï<\96nF\ 1ºl\11$\14`W7\8f WÏcÛ¯\ 1,\1f\11³ëئ1 )WÜ\89¬Ã0\1e{}ªÇÌÈ,\07\9bïD\16¢*Ø\f/P\96°\85Ý~îw"«       \adÓF´\95hOf©zÔóNdW¿y\19òj&\85z%w¼½;Îtq\14\9e\9côEÚu\94Üè\8bÁç\947\19/\98õ\1a@²)½¥.\16Óè;E]i½Õr­ñ\95\9a$ØäTS©}¾N»u{\99âÿ-­Â´=\8b_\ 2íÔ"º%ò\7fЧxÉË­Ç\ 4:\92×Ð7-üü
+Àsr¬Î;¶³Û<ä¦Ù\94¶~r¬JAÉ\7f\82µßÍ\f\ 1´¶ &õÊ\19¶.w\92\9aäq¾öa9rÐ\1aÇÒQ«ï\ 6õã9^\1e\84\8f&\8cÊ®\1fÀ\10WÆFÚË^ÌÎR\8f &³\1e\8c~ü?5®\87\r\1fÇOo\94 `>f{"â\19Øiõ>\80¦\bô/L¬ú\87°qS\8cĤh×9Rr\8f¿càsïEw ü\17ýz\8e\17öB@êÃÁ²Ç%ä¡ÚFÏ\1dx\7fu\1d\85ù#\1a0l\96ûÄê¤hd\915@ë-\94Á=k:\1fS\88\a{N\ 5o\84Zr:F\f\12ÚkÁ\b'¼â\80\9bERðÆÔE\83ZÓ%­©\f\1c\ 3¶Ldç8£uvÌC/\f\14ã$#tÅZUYä`\14¥2ýbÔ¯Gèw\92Z³ÑÆÿc\95È\9e\91MÓôL\909\aÕA4eêÓïL¿6\92\r=u\99á¨\18¥E\eÖâÝ\95Ù\ 2ý8î¸ÙÆÇ\ 4\14dz\97\ 3Út¥`Ë619´ÊÖ>¥.·¼ø
\1c     \89¶­#®\r¯¿¦ªzÌ\1cy\ 1}A\13»¯\137\º\ 3<Ajíõ. «8u\8dÌ[VR\10£ÎúZ(M\86f²F{!V½ÜºJXÄ\9böX÷P\ 4§\88hÖÖO\ e#¢d»Õ{À\11\80\94\11¢\ f]çq£§ËH\16ÉíÙ¤J7klÏ\ 1Ó\ 2\9e¿&paÑæTXq\12BÁZ\8fh\ 5OÙ?±\11×\14xi`l÷\9dÈ#Ô)\9d\8ea;\13CµöO       1Å\80D\17UaeÙ\87¥\f\1fÉöÀs\ 2\a¯\ 5u«M+\19E\17sjsõP²Á\8bìw"¤Ñ6O\0ÚÚq_<iÎ\94\17J\19\ 5\94T\v¥dñ\bé\92CØFä\89S\12\9d M@{Z¼±k\ 2\95k\ 2¢-#àYÈü̽·Þvní+ôÓKó¥§õGòÇ3\81j·TÞcñ<ÅtXZÒ\95ªk
+È~\9còs\8b6ÒG\1c\ 3Dj\9a\18\97£µ\80LupÌÍwW\89[8å®v¨\1dÝQ}\ 2Ç\80D\8a\98Üp\8fÍ\1eÖN»<ó\1cÐN\rͦì\97&\11W2f+o/8ò\90P¬QH\82%Åàa"\9c\ 2D¢òö\97ÀSi\8ac\19,4j¢_:u\ 1»\99n\88    ò4âcnÃ\v¨\1dp\1cìÂúy¾\ e\91>\14Æ\13\10³\8bÜâ\ f/|qÖÌ)U\97\89\13_Ëà\ 6\r\0îP\ 2\13\1dÊ¥í\85\87­Ña\154\12 ¸Öî\9bÌéª\1d\92\aÃöÇ\8fV÷hºNkyëfS8½HÁ]\1e­\ 3\83Úã9\ 1J\17ä¹FEÅv\9fn\b$ÄN\99So¯%DÌ\ 5åTØtA 'B²\10\17\ 1\97+¼Qw`?4 \90&<E\8d1A÷#\1dÝ)}ûèsu\b¤ÂND/£$Û¶dp@ܳgñmXÖ¶*x\1d\ 6NsÛuGKõ¼VfàØ\90\9f\93úî\r\82$\99µôÍ\ 5±'\0\93¨\9ao\17\b\92°çq$¼\0ØÌ,`\11¿\9dWisÃ6Ü·\81\8f·/Û\82\19jË¿o\18$/ï\85K¤}W1\83\7fâÑ\ 5\9b\ 2_dW¬òÝ=\14çSf\81íøb@&é\12p"\93NhýåÅe\14¸\16\91ãÚ2òz^0H¼\1cûÆ\91₩Þ;wÁÒ\ 1\83T±a\9f76P\92
+\1cpÕ/\8e©\0H»=\ 6\vZ\84øjQû}\ eV»ÂÌ\97\17#:\fr˯_\97Þä{1*0È-mlÀ\1d#ì \e\93§i.\17\f²=Q\18,]
+h\9b£bÉÁî\86A*±\82Ý\8dGê¶\9c°í\8a\8d\83\9cbv\99#@\905\9f1}Ú×åÆAjðÖ>b#P¢\10\1e\e\aÙ\9e(BeãNj\88\91ð\82\ 3\b©§^#â\97C\v®\90ÀQÔh\87y¢m8ôãÔ·tÜÓ/¨ë\85\83\ 4ã:ÕAû\8d`ZT/eÀ©V\ 5\a        ¿­\19\ 3ßô\80\fÜSCé ÆÂÀmËѽvm³¢3\90\8aÏ\809NÌ\ 1\8f­ï÷í5·W\8c\87ÕR\93X<?]\a+-2b\9ci\97\99\81\8e·tØwÚQhJ²\92a
+
+\v©&¹Ö\81\8bð\eVÔ[»>lÀ\90kþU\84\9f²W\81\7fGjú\ 6\b\96~ûüø×·¼¯±\90;\9e<æ¬NÑ\99êZG\ 6QIgü×·È>
+»£t\84QÇBJ\9aH\0\92\88«¶ðJwl½¡\90\18À[2\f\ 44\1aéÊ^\91¥\19PH7ÙöõzÕ\85®Ï¹\a\ 3¿Ï7\16r\ 5õ\8c£àF
+baÖ`O<o\10c×u+\1dí\9aI>E=k¿±\90ìVçî$jߢþÈ\bü0\87ê«ë,$\ \1eâ)v\83!õ4§>/éÒ·s5øÂá¼\b\f9\9f`\19C\12Å\1f.äÙ\85~ËqÜ`ÈÙ°èÅ.]ð-Ò\9eç(\a®\ 1z\1cr\93yÄýtϸ¬¯ó\8d\86,K¦áu'Í\1cNÏĬçõFCî    âK/
++¸\9f\9e{Qû\1ahHɵ¾Ú£\9bT.\8cñ,ý\e\rÙâ\rí\9dzÝia\ 5\18àT\rãc !ia.Ó:\8a\94x\ 3\1f7\1aR\83\98Üè«\11\1d\r      \89*%ù8îóÕ \v\f     ä\ 2L\9dË\1cru«¼Nå\ 6\ eîQg'¤\91ÊÛ>bº\ e\86ä`\7f^¡#\83H\15PEÑs9nW;­\9b-E\88À"\8e¨¡³\11¸A\8cT\bá\932¡UÀD \94µ\9f\89Vþãh\ 5Ü8÷òê:\16Û\ 4\8ez\ 6ox\81!!ià\1f³Ó±É\984iõ\1f`ÈÀßË\0\14ÙÜlÖg\1e\82ÇÞ\0Cò«î½g¤ç\8aÓ(3Xæ\v\fI".\96\11\9dõ2E\ fí\98(Ú]`È\166ÄÏe¬Zqh¼\r09n0$Òó\14Èâ\96Ô\8bî~°ö7\16²¤³\1cÆ\968ðèJ\95ó¼ßXÈYlt\8cüÓ.³2\ft\12/â®\8e\85¤#\0\99t<^ìg\1d\v9¥Jå\18\e#\10ñÖ\8b\12`Çc\9a»´4ä\1d\18²rÚH\81\1f$}:G,\7fN±¼´¨¾Í¨ÎðeFã {\1eõë\8c¢²â¬   \ 6r\7fv¥¨$~P0è\95®£I×n\1f\18\16Wz¬%°&ÉZ½;Τôp\1dòûÛJø0\ 5D/Dß×\84ekè!m[a®Þ>\ etE\v\11ÛÆZ;9EÌ\83n\13÷rñ;\89¶Ú2C=\93÷\ 32\9b\1d\9c6.ï´<_å`ü2yáÇ|û8¢­\1fGìwÛ\b\8a\9f{Tkk
+KÝ,R£\88ÑÆX ê\13\913lGÌ9u\840Y\91R\95Ös\1d3SÁ·²ñéIL¼\94\89M;J\9e\a\b\81\19Ô´xr`\95_\f\82\1f/Ч´`\8f\84Å\91¸³ç\8c-o;\1dIs\8a\12zW\8b ¨¬ÖgMÕ_\8d;©F!Tt¯qì\9b\9a%\10íB%×i1\1e¯u]ý\ e6\80©ÚóÔ\96\11ýÎ-}°5\99K\97\15×\vÉ\869n$¹/í{Â\e\ eìf;\b\1d'\15¤¤§éÇÑkFô\9b{\13\rÚ\90\16\81¼|JmxD÷î®ô\1e<g\ 4±g»Ç±\r3[\13;\1eÈǨ7ïiâ.sȸeéú\89Î\9bÊ/\1cÌk7çÛ¬TC
+¶;!£\ e\8de\1a|Îó\bР®ºê½×·|\1a\ 4­\8e\89\eÅ\88þ\83k\16c\14\eö\9c³*m      \93\83\845\7f\99\8fuy\9fªR\8a íÐ,÷+niG        \ 2îÒ\b+à<b\8b3?xS²\96\ f«a\8f¾A\0ú7µ\7fmÎ^ f-Q8ï\11;¦ÑzÝH/Î*^\19X\1c÷ D´=,\95\83N\f$N\94øûO!\13Ò\r\97§Î"oSN\81hæ-\93\11\93f¹ ò\1c\10GLr\9dâÎ\87\9e{DÇæ\ 5\91q\vß\8a>\0ô\f\19«\ e í¯¦pg_\ 4òéI\13\85.I\8cz<Ë-\84\8eÌ\®¨÷\0\86\15ÉvÒ  \8d\8d\r\99\ 5¬µÏÏ9}\15jY\0%\8fË~\1a2\87Ür\16\ 3á\82h\ 1\97áDvH\84\ 4}Kv\80\1d\8e\ 2
+Zu¬\87é\91\aÀé½Rç Y\0-[Ì\1d\97cuEI:|     2ü~²E\ 1\eÎi¬\80\b\9f\ f%ÚþÞ\ eÑÞì\84`X\8e{\84  DÐ¥ß\87\95\15öc\vT\9cýÏש©g©\91\91|<zµÕ)±E\87§­Ñ\9a¼\13²\rlmpʬ"è\0\9dÃq\16\10ø\9fSý[\12z­a\17sxr\99%gJËo÷ M{ø&\ 5^! °b®\ 1
+\13\ 5ʯàIH¯\91?ÙÇ\8d\9e\1dÏ\81¡¨\97÷ëLqª\96\90¬÷ºÍ     \87LZ£.mýµu[Gwr¯
+ÛÚ
+ó~?\12\89Vw×k¹í    ¢K¬°d\84>\ e\93\1e;Mg\ 4¨NÍÒ«\96û\e\ 1\95'\86\9du¸Ng²ºyÜ\89ËÕáy\bioÑT\9f\ 2ØdPP{CÅ(u\86]õù\18ºê{\9cÑUü\97\92\8f9\13QYR\19ïô \1a$\80È\ 1\ 6ìÊ\8a~[Ût \80d»_¡<×)\86qcÚ\9cô\11¤\ 1\92Â\9c\1aj_\91¨\8fÝÊ\19¸®6h¸ù9}ì\r\85Sw(vÏ#\18\b\ 1Ò\95ô\r?\8eû|5È1\a|6ÇF\84íø\98\9e;\84i`TÊ Sàô\eoòÇÓ»\ 3R[41!d®É©\9a\87à[t\88j¯÷\89û
+å®ýÈ$\aÃÜÒD\\12àó(\ 2¡\82\ 3É\87ì\14¼õ\88æä\18\11Ùà³\8cóÖÄ¢¦Mthß\97ùÕu*       \0\ 6Õ{    d¦ý\94\ 5V§r\9ý\94S}\86\8e+Ìa¹Üæà§ñáú\86V\ 3\89\14ת¨®\1d\91æÈh_ZÓ·-\ 3Ê\89\ 5¼/ý\88ý®3Ç¥\87*\9e¨sg:Öv+bÃ\97!8Á[\eê\98\9c\ 1\12D'­=çÑá\99 ÂgúvÇ\88:\97Î\19·!t,\89\1eÜ    )¼r\10¿\aÕÄ`\8bHsù±KµÙf\e4Qì@)û®üjP   Ú!p\8dr\18¦\8f\16ϯ±\1aÖ¶<\80\b\1fFX.¡r§¯j5Lk$s\0\182\82i\1e%¢^*\15\0j\85i£ö-´¢\13µDD\80\16J
\82¦#"\85\e4\16hǹ\17üÛѽe\9e\9b^#fXä\1a­6\1aõ+\18è\99âïu£¯.\13§B\8cA\²ö\¹Ìy&\ 4\88\aä37=¯nÒ!¨\0\10s¯øc\86«Ö\1ceÌR\f6\º\96\86.\83v{]öÌv\9d-\9a\1f-~I{Y\98«¿ECÅ\em\ 3è\91D\99Æ~s<\8fø\98\eÑÌhÉ\ 1+Ïyz1Ê\8c(\88ݳÂQí6\ 5-\83\12É\ 5 ÷hyú\aó¾e«rúþcã\8a\ 5Ip\8e<´¶ÓF\1a\ 1\1c¡×üU\8cé\1f(\16U`à³\97\17êÖ뭽ƥ\84Ӷƺ\ 6><ÃÜR¸ï%\7fRFd\97/4³Ë´èz\8a\93Eé|F?½%Êø\1feÌMÂè¡5\978¼K7V'\85V"mÖªÖ2\9b\97\87è¢;\14\95-\86LVd[\9cª(S
+d¡[t\8c,V\ 5\82ú>*ã5ø:\9d[M    5\ 5¨w{0\14¼ °
+|+\95:.k\92\9a6b&_j/\86A©¬»\ 43\f¿`¦Æ\bÇ\81\1cÛÀ\1aÃ\v¦Eq4}q\1d\8dÂ%zìäA\ 6¾±\85\1f\16\ 1ÃÒ\8a3J9\87'\99J¢÷Â\98r\ e&`ØÀ´¬\83¸´¨å\1c[$)$poB\ 4íÖ6.\ 1\1f\8f\11Ê»Iqa±Ú«8\81¿\1f?\9aPkÛ\96«Â$\ 1o× £Èx\11zêÍ\95ê6`Hê½·g;\ f\9a'í7½\1aU)­\ 3Ô\16\80á\12\12Ð7mûtûæ[\94¶J\ 5\0#z\98o\95\0£*¿\8e÷¼\ 19¡|*&Ì\1dîÕâó#Ô)D\8c\8aó®!Mö=\9cÚ#4¿3æ@mfµ©Ü\8eQEPd1îlÞ3@\94²c\9dF·¸\12@ow ¹¨ôÙçò¤\ eæÜh§W\ 5\ 6³\84\88\11je´=x\ 2U¢,ÒFÀy­Ù(¶$Ö§P!\ e\8f\90\1c×ê4U\8aÔ\ 5öm¬á5T\f\92\14E/\9fï,£\eRG\82É\1cìÅ\0ðËe×­áéÕ÷\9b§A\f\8eô´\b`ÍýçÒO@1\ 3\82LÜ¢£~Ú\83Ö<Ð\1eÙ*\88g=²×Ũ¶lÁC9"\95lJ\ 1a\93®\9c£\93²æ#ÑzYù\92r(~ê7çC;\8e0%Ô"¯\11q¬X\ 6\ 6:Y:\ 1\94çëXeSü\7fKw\ 6Û¤\ 6\ e\9b3>\r\152\15+\82\90BªQ\8c\96dÂÒ\94m»&^\9b#\ elJs©e\88\89d'\12¤Y`½u\9d¤e\890ÈÕ`>\0åh\97µÍz\9fÀþN­°±\87Bú#v´8i\e\9c\e\8b)j\1dÄ9æ\84}9éä\93í÷\1d¨êu\ 4\86Ê   o¸él!ØO©øg\84}% ü>¥\94:\92\91ìÓ@yU,­hÃ\87ã8æïªÍ\8b\ 2Ñ\ 2v#HÄ!ÏO½\0%ôÝ\13ÿ\90
+3àd\15Ô¢ç:-}+÷\8a(\82\ 5\9aÜoÔb\8f¢ã\1c×\81óyTKFÚTÄ8\16Ü\86ò \16Ú§xÀJ\14Û\1e-±Y\97È\1e\85*\8f\8fXXrt&Rî\14ý¾\89áì\16úk*P\94\14Z\1c¥\1cÚ®\ 3"ÕNñ\94   Î; Ö\162-\96W#<4\ 2Ê\89\ 5>¾R\1f¥Õ~Ú²òµ\8b>\16ÉJ8%¿\85!$\1f¸¹\87\82{HÈôL3¢¤¤\96\97võXv\86<ëh)´\17\15\93c\1a\8dS\½&¢¹Iϱ\85×¼\9bö&jÞE\1d«  Pk\ eþ_\96Ê,JòIÌ¡æN»Â\eo×(`õ\eÍ\1f²ÏË\15\8f$6»Ü1Îv\13)»ö\ 6\10å\8eH}¬Ó\1dUBD\86\13Z       «R§\vR\ 4Êi
+fQ²ií_\13O\r\82°qÊ,µ'túö³"¼\90бs¦ÕW\8e\91\vA\9c\83ÞØ\12鮵m\94 Ç\1aõîîÖ\17\83©\b\ 5÷;Mªòzb19IÕÛ\16Nyy!\ 1\vh\91¬÷9þa
+zBäµ\vSÙc\b{o0V[Ä\9aEwr½#8­ë\Zµ\ 26ß­ö.1\87åEO\83zN;´ÄÛ\1a:z\8b\1d\82|\10ËkÉ)\9fºW#:v¸8\0©Ld\17\7f\1aÅNS\ 4OÊT­Æ\bà\ 4ÁÚ\99
\16\ e\15"\1cå¾åµ½\v\90\8f\82Å4÷\ 6\8d\1ayüïÊ~=Ó\92\84^\11fJQ°ãÉÅÊs´\ e\9dÙ%Ò|§ï6$ÔIH\1e´«2BEe\8e\ 5ð\16Û\bà.\14I\ 5³¡\8aR£dL?aK\9dº\17\96ð³\8e4\90lD\1eéÐÏп:R7b&Ô6\aÝ %óÁÄsxÕdåNgò\9cá\18\8d\1a\9dè\f\8e\83a_G­â$Y\9f¶´,\94Mví)Óf\1d ·t\9eiÃÕhζß2Cem·8:\8c¦*å¸QåÊKê­\92¾Ø_\\87\9e\ 18Â6\8cp5w\83àç\1cЦ2Ï)\8c\92}ÀëâÉ\ 2\8br^\rë*\8eÒ*\ 2\9f     Ô¬g\96k@`É\8bb\17\84\16º©$öj\1aP\1cLI°»UYùì^\9fGv\98Î\88ÄS¤¯8\1eI\9c9i\a\90\13\8b1ºê\16FT¡2    _Ö^Péæ\8d\1dW\10\1dÚ½ÝHß/\1cU$ÓѾÕcS\84\86N\19\1e\ 4\ 3,ì}ê\ 4°x3\ eÀ\80£Nâ»Ø\19¥ã·ÛFvDÿ¶}\941"êȪ!\99áä\16\14m×c`2®ë´\17°3z¼\10\17m÷s¦\v\89´õ\12\r\81Õï½\ e~Pæ\8dú\9b3\92óiÊ:5²ê7\97!r\14eÐ[½¼ÕïE3\1fì\17Ê\9eö}\19\ 1\1c\f\9b·\v\10\98y¹:}çþ\1då±\ae\8b¥\#\9cúó\90rÊlh\ 1\86æ\ 4¿\97WW!\v\8d\8b¢\1e1wS$\13
+Î*ÌáÊA¯§uÓÖ\eݺ\98D\ e\82\81\19\91\97\12¶Ý\16Æ%\87E7AÆ\bPzlë\ 4L\7fM\10ºw1½¢WAKë\8c\18¢5r$)å{´Ý¥J\ 4\vèý{!QihÇ·Âw¾£ó\13O'nhma|\b§\7f\82\96\1c¸\87\15çq£÷\9eÐawøÕ.­»ö]jV0o¡B\eq\9d~;V)|\11èbß©&m ®`b&#fu\ e\15ñ¸NI\9aÃn Õn_­\ 1u\8b\9aæ»B¾Æ.úªÑÖX\8a\87­é'w\98C\f\17\94\7fú.ÄÝ^elÊ\82lw¢´Jã&\ 4<ÑSéf:óû\1aá¦Hè
+`÷Þî\88\83\9d1`©\83PA\14\90Ì\93[;\8a\8f0V\ 3¸ï´kå\b¦qó\92£¸\8fØr\8a\ f\99¨X"0¿Û® åù:s/\ f\a\15í\aÛ\96â!HÚ¨ö¢2\9cúÄ~Ë\84Ù#ïäe\1eñ*x=ïÞïà\1d\851cX¬tt\84 \eÝ8& \9d\81C\ 1l£ìï2yu\9aÓ\14\v\10a3 \80\15\92Ò]\86ö´\884M+\89MLÈ
+\84¦8^ñÍuj\80kD*v\0½\14¯A5Ûµk hâ2\12%\8c\92É&w\82(\96á¢Á<\1c"M\aÖ\7fà"ÝY©ð\99\9dBÞÃ\8dÌ´ZR\92²g×ÎFU0/\14\bì£5\1añ\v\ 5¢¡½C\19ÑîN\93vLp4Çh?nGW\86¡\f¢ÙI7źÇ\fJ\ 5\9d U`m\0ÿEâO<®\1e\ 2\8d+8Õ\ e\10 \16\10\83íó:\90Î\ fBx\92VË"t\8bÀ\90\ 4Ã鱨1eè;ø\¼á\13ÜI"|0 ³{Äê     C \93´Q¥\88ÜÂ5»\9f¯\93\ 2­\82/\17¿=×\89\ 2Ñ\14\ 6OGW\84\ 6Ñ"2¿&Ûn2\b÷ê\89\12\89Ô\99æ\1f£åëÕ\99B\ 4üåOÛU\11\14]!5\97ìÍ\10\92\8aÅ\91ìDß6¡\ eJ´·\v\89Jt\9büÞ\roAL¦´=nTÈ )\9fIiç«\13_ÝW\13'Û*P+É$°ê\14@*n°ù\80V\95\8d\f\9e¨ÀÍ\fßMu\1du¼å¸·;:]ѳ\âm£ S»J±#¾f\9d¨\ 5\9a¯%h\9b^ÓY:Jð|\8cÚPú5Ç1-Ï#®*Ò¿ÿëö?~ñË\1f>ÿÙï>~þÝ÷ß}óÃ??þÔ\1fýÍ\7fùõ_ÿù\9f=þôñÓÏ\9fþésÛU÷\9f=þÃã§¿üóyúM\eÞþîg\8f?ñk\1f¿øóï>?~ú\97ÿí?ÿæ/ÿþ\9b\7føôWÿü\ f\9fú_¹Æ_|ÿÛOý\82/nð£\7fÙnôOßþþ»ö×?ÿæóç\1f~÷·\7füüé\ f㢿üá\87o\9eF}üûßýþ·?|ú®\8f)ã7]\7fë\7f\7fÖO§\9f=~ñ\97íªßýÝ×Cþñ\9bßÿñ\1aó»ïþÇ\1f>¶§ùÓ\8fß\7f÷ݧ\8f\9f¿ÿáç\1fÿøÃ?~óù\8f?|ú\91\7fþÝ7ß\8e\7fÝ~Ø¿üïÿä\7fý\19ç\7fñ\19ÿõ\aô½þêï\7f÷\87ÿøûOß~úîóÿÌ3=ý\93üyûïÀ\81~ùÉtú£ÿÜ\ 2>\1e §$\86.ÖÃZ\97¨©WAæ\9e\8fÉ\7fÉÝs\8aì\a]ö­ýÉq~ùGÛc~üÍ7?éÞî2©Uï|
+\94iu\18\92p9#D÷íÛ(4Ì\88î\ 5ªGL\185+¥\0ZJØcS<w\ e\13û\1a`\19\95\9c6¢­ó \eõP\8f\9b¯`\ 31¡ï\9a¿Ê\9d¦\88\82³ØîØtÄô(ÁÌ*\vË£¬H\ 1%0i?©\a°b½J(¸í\9c\85      cË«\15\8e@Ús0O8\ 5Åq1ä»\và\1c\1eÇYº×<-\87]\15\ 5\17¢À\r\90ïV\82\8a\1eU\91V\80e0yádË|^\80%\9bÊ\9d\ 6î«\rÚæ«\99[\8;\9e"\92\80\9ay©ºT\f\80xþF]\95öO-\ 1\ 5\rí\ 5»ÿRHq\14Ϊ\9cB\ e&\18ór\8f\80xÑ¡êw\92êsFl»x;Mëó¨ø!£Uh\ f«Ü,a¾Ä"=b5Щ÷¨ä8\a\ e̲ޤ\80\9d\9a\18Ód\8dË\96ò,Gt\eÎ.\17b\ 3Ö.l\1f #\0ácy­\99\97\96¤n\9b=y\1f±¡QpsS8`GGHñaÖ \9dI\7fgDâ\0§6EHµ^ºTD\85Ú\91\7f\8f zLfotH+\15\ 5\9d\8e·\eÅ\a \98ÜÞ\8b=\188oèOG®"[B\97¢T\7fYdÃPH?Û$Æ5¢¼´ñ\ 2Yzu[\9d\ 2Oi|\86        ­M\19\a.éÌÑÈ\8eU\8eKÂ¥}Nµ\93ðß)íõÒ\9e¾\a¬\ 1õÌ6"\82\aÔ\ 5j.ìð¬ÄþSÞº&±®F\88\96¤`ë\17RgZ(e\90¼çXÁ«ÕÄToþ±Q¦©\8eq\8b¥ã\9eóþ\8e}\14\q\98à\v¿Ä>Jv\ 2aЦï£m\ 2¸ýì\1aÛÔÝû/\8f³\fd\ 5G\899VZX¥K\14\fûÓ¯\0o'ý\84\9e\ 1¢E\9d\0\ 2yË(\8d\13Yòá+ÏÂ7mT´©u\10\89\11(:ñ¶ç#\92ð»Ê\91\87\1dÐÇ:EìX\80ý1w
+A\99TÓ1w\11ðh'*\16\ 5VЮC\ 4¼\0\9e,\9d±µ¤\82\8a\87VZ\1eÔ\ 6\84\90K$\1ftb»\88H¢b\16Ðu<ÒÙ\89ú¤\84ú<Ý\82ó\9bÈâ!ÛÍ)\ 2\9f\1a\ 4kfrû\bË\1c$`\9b:sz2GÄi4O:8Ù:Ý£=6¦ B<\ 6\16ÍÑ9\0T\rÇ\95n©oµ\8d\80[ÉKIcÏX\18,t[,FP\ 3#\80Þ\95Q\8f0áy}éKÒ°8³hÈÌ\85ËB0¥{\1c\9c\9a JÅm±~\1c7
+\94\18(/üF\ e[ʬXÐêÀ\19¡é\86Í\15ÉC=\ 1Ì¡\ 3^¡½\89kD,oì\80
+dÑõÑ\12\9dß\9eûÝe\16ÇEÍ\8af\8e\8d{\aè/éN\1dpXÇ\14p\11x\97¹ísêk\84\97æ\94æºU\82\15Ïe»\1fTs<íåv4µ k\90¨äç\0\a(dóÙ\1dÖ×\büìÝMa\ 3¿Ö\80néd\e\ 1W\87á½F\9e\86E\r[5¾_ûÀ\88Ïg2gzo\11$\v×\82V j\výÅþ!\17X\9a}Úûýæ\1f\eu(\bi®ê`\941\8a\1aÐG\8eN\eï\f\8cQÖá\85 XuNñ\ek#\ e\aý\8c\18~ý«\1döè1Ê\92D3ò\ eÛ[\99§0.Å\v=¢Ðà)ñ&ÝåÆí\95·óE±ì\1a\ 1ªh\97ØïÈ\840\e0Í;NIÑ\1e\97YûiëüF\89ßÒ1i\aX"\19°ü\13õ¶¥Dó\97^\9c\11Ðog\94\11p\ 6±\v)µs?ö½;ï\9a\88\1d\86ï\180r\89\89\8aåÎ\ 2èWãNï®s(W\1cñ°çwâ\17ë{Wbo\81·µ\19\r\19=\ 5þR\8e\17ñ\85\16À\86x\89\804\10\b¥\97¡bX·¨ó\99\8a1¼°µäØÒÐ7U[\ 4u\86®µ;»\97l\ 6:h\89@ôʬ®HB]#\ e\91\13\95Ö"¶\92ÊÙR\8e§1\99cl\1d\8b\98à\9cc\93\8aÝ\ 2¡\872_£àìϨ\1f¯ñÜx=ê\8cÁ\17Ë^\1d»{Ô\1cq\92\96ø\15"·»BÔ\94\96m
+(«J1[ú)\ f¶}\80ÜÔÙªùÑz\aÐò]\1dv¼BbÑG@ÙG
+(t[y4Ö#:ùí2,\8eB\87j_}ëú.g¥"\82\1dãF\vZCÛ@Üy\9d:\8dJ£Siç¼\8c}|Qº¤i\\ 5¥M¨ã\84®\ 6pÎ7_B(§âZJÐU3Tä\9a\13\fí3}OQÔ®ý~¦\7fÍ%(*%\81\ 4à\18 {Ik`¶\84¨²2Øöa\18q¸T"\7f\1aUöxf\1eø-dü3\82\ 1Ç\12\96?\97=R¼íßç°\7f\8e
+Ìal\ 5]Ú2Äë6Õ[jès\9b­\840\17¸BE\97äû§Chë À¶\9b\14æ¦JL[ÄÓû¹¿Å\ eñ >0ö \1a%JGÙÑc¬\15Ú\8b\1e\vÛe\88ÌÍt]Toö^        ajJ¬^¥¸l\9dÉìôKÅ(\909}rÞH\97Þ\96­
+\Ý\ 4\99¢\11xi´A\ 3JmJì÷Ä\9eðùu¾1ó^Ô\8eUý<¢7÷\ eüù­÷Á^\8cÑ\91U¢[\18§¯¹
+¹öÙâ\8a\9bÓ\9c7\15"<\1dñ<31\0\88ßóì\95·\16ÞQÂUï\ïWGcâ\0#Ýë\eÎÕ\81\7fÆug7ÃÊza¡²Ìq\9cm\9f\10¶jr\1cjÉí\97\84D;\r\1c\8f\ 3í]øþE´\1at¥¦H},¡\9c\12®=Ûe\80½;\1a\90+i×â\ÐG褶\85\8f"<\1et\9aËðÓ\15xK&.C\8eö}£\0¾!Ùww_íX>¨$fÛ1Ð>\14\15À=4÷é\vk_\ f\80ÈÞFpÏÚ!\95æ[\18¢\9aG\dûmTÀbÑ\11ñÛåÅEÎ(\92Ê)µdö[.u\89\9aI{ý%\b\15Dí)eù<PÛ©Ö\ e\1d\1cwZ\bqö¤]BßEJ\9dj*¯Ì\ 3\1f\vD\aÄ|érÏ·°\10H\19G­kÄéT\93²\ 5]\8d\927n?{Üéýupxõ\9cÖx¤\9c\ f¿\ 5Z      \10l²½Dµ\81O\89©ß.ÕF$¿\ânÏ\1eá²ÊØ\90ë\a®¥Èú¸\8b¶m¸;_ØýWÊ4\fü\9cbZW\ 1\81
+-T!t¥\ 5\996üöªJÈä\ 5\8bz\8e\94æ\1e÷\13$å={M¿\91\9c\80î\93Þûâ¸\9cÕ)©Pq\rk\93µà;`\94rNbÅ\90zn»\e\19Ø%\aóÁZ=®ApkµsóÏd3Ü9Ç#%ïRþÀìQæ&\18\1fV0fB¦¯æ\15}2\84Ëüb\10\8f3<ñ8Ó\15\ 1X\149g­÷\92\11E\9bb\950]\v¶vÃZÌ\8a3þu0ÃæzH¸s¿\ e\85S_
+®¹\vb@`\81\89`\1c\18ÁÛ\166ØJM\ 5º½^\1e½ºÌõ¾\13%\18.\9b\ 1H¨@·\9d/~Å{ÞM\8d.\rç\90ðUÞ\88HX)Öy\89Ù\97Ä
+Dlà\91ÚR¨\85¿\1a\a\12\97DæA\1aÞÉúwâ²ÊS¤±¼½\88s\90\e\9ckß¿Y\82µP\14\9f¡mT|:+§\ví¶e½\ 4/ E+\98Úý\9d\1c¿\85\14ý²w}\88hд\83]Á¥]\aÅv#\95Ý\r°Fe`#e\b\e\96\r\ 4Î\94\88þ¶ÍÏ\ 3®©G-\99`%)ü{\14M\8b´Ó
+\1e\bÎ\16%¥¡T!ójá)x\94E OFàt\8bRJ\9e9\1dIÛÖe£SHv@¿£em)ßGd\93\82»o7g'j\9fÐ"¶ß\9e/¾ÒÙiêSl5EN!IØÔ\8f5-èk'b(\ 63\81â\9bë,é.TÀ\8aQr\ 2o.j*q\1e\97jÛH\89ba[Ë~\8fú\84öÂh\16\14ðu½\999Þ¸ÏOî]\9d@\83¼\8e\86\e@I.\ fN$\1c?ºª-èp,i!ó¬n\12c\0Iç¶®#ÐQô\89\8d\90¯Ý\ 3¦-Ñú±=\8fx\97z\0­V0Ê        õr\88\F\93\95EC\ f¯2¦-í\bç\84Ë\92ô°\125À¤o¿«ó±ã Ñû÷D\16*\95Ìÿ§½ó\80Òªº×þ\97Xc\82IÌÒØ}5\12±Áé\ 5ýTD)
+*±\81\r\a\98\ f\ 6\87\19\1c\86\15\15\15\10Û²`o¨Ë
+6DYV\14\v\82K\ 4\v`A]Xbr¿ý{ö>ï\f3\831÷J\18\12v¢Î;³ßsÎ>g\9f½ÿåù?\ fL¸±¶ ³·ç©\ 2¢±#Ð\8a\ 2©\12%IÃò\96\10\86\13«¯ï\8aÙ=\1e\ 6Ì\9d,:\1aMB}(T\86Y\99e+\81Z ard\80\88       +³½ä\r=à?+»Ú\19\81\b\ 4\1cÐ\18H[8\8a¹\8d\8a\11\9b'\11x\96 \8a \vZ    \14\8d\9a\ epjfÀM©§\89
+L\ ey\1d\96×\ 1p/\ 4~\10%\90\ 5\ fñP(Î\888ÒÊ\ 5Æ\0ÁF\88E\14ö̱\àBCÄWë#\ e\1a²(2X ÁÀ´¥ø$ñóò\990þ<ðèàHè\85\9cMH\11&~\93V\1c\98cäð`>!²I­\8dª~°ô\90(Uñ-\ 1zö:\94u(À\89%\9bS¬m\19o\8dGµ­§z#\9fУ<_
+\98\ 3»Ã\84B\DÄ\98\94\9b\fd¤A\ 2\81K\82Â0¢9±Øx"õ F\a\1a\894q ½\80(\1aìñT\93"ª¡Ú{ó\96A\8f'J+&LL.\98\90\93L\1f§    \ 2ÎÄ\98)\89æ]¬e,ÊE.Hü:â\11\89E»xñxÚf\8f&\81*\ e® \91PU $5F¡{\ 5\88C\ 6¢$@d#V\89|\8cwV*^$´CCËø`_$Â\80(N4ñlÐwÆt\11\bF\ f¬\90\8c\81ãÀlïzõ\/¨Â|ê\\exO\13ä5BÉDSm\ e¯(´\8c¥B1\86; ²ezø\18\91òØÎAOÚÙ\80LR§P\8e\87ov\10ȳ#Õ_:Å\18òÇ>Ñ(zH\8d(\91Ú|Y0\86à0é\'|-çÈg\ 3+ôb¸g\ 2=ØóàVá\80\0æp\8c\v(¶RµCi\9f¤ºÅÚÇˤ\11\98@\85áQ$µoí\89¶ÊÃwr11\ 23@ú\9dñ\17\87ð\1aC\19\92ÇÂ÷Ú©an\e\89ù\88\13q§È\97d\ e0W\88ÁÄäp1\ f£\1c\98\84¦\93¯\8a\ 3¸!8[{&\8bó\82\10\8bBãr'c7\89=XÊí¤¢qq}q\1dI-&\80\8f+\92'\13\92ö\ 1Q\92\85¢((Ôb\8c\13jvRÞf5$\94\82v1\1cx\85Z\8c/(zÈa ]\12Íf\14&\rb1       \v?ëj¹\aóEÙýB,\86@ªÂÅÅ\89V<\8e\15\9f$!j\1d'°8h@¾Ö\8bÂ>O\ 1j\80\a(ÝL\18ýØÂ\1aA\aó9óËCÂ\9câòR´¢]\99¤,=+âR¢\aö#Õ\e\89j\9f\9dÐ\0$"\84´¸wx\ 2Ъäª$´b1T2\8a\9cº<$ ñ$ð­\1dïÄbH½ój\99ã@ª\ 6\8c\a²>±ÜZ±\18\94X@:\96B\94C=k}ÁZdÙYa\95\80J(wÔª!\80&Å£døÚW\16~\1c\1f²wBZ¡Àm\89ꡱ°KN,\ 6ªqÑÅ\9a\1efL\91\18\9bÃ@ðu'\16\93X\92\12\9b«l/ág\9c\93ÆB0p2\vb!\ 1T\1f\95\8cÄ67Òr¯TÜ-ìn©´f\9d^L¦dH\9c\94{\81k\80\8f³° ÜÍÄ\15¡»\88Ô\1aLeÐÚ¨Ø×Ö¼\ 316S\96»Èf\0\8d°\84k\83Ø\91¨Ã/,@¦\e\e,M"4¢~*ÎË\82\84\b\98é8\90\89\11Õ\8a¬d\9e\15\8d\819F\f\ e®G\0á\9aÌD§\e\ 3]>Àãò\89\9a\1cFº1Ð\87xª¥¢\aK'u5Ð\97\97\9cn\fÕ¬Äur\r\1aÎo\92\1f¡oõQÐ\8dQ\r\8bçÈÚCiZã\12À\r\92\17\ 4)\14~jÖùæ0À¨IH@Ë\99de¿7\15V2`D¡¸|a³\vÅ9`{`\83'¨Yº3ÁL%¤§/\a¿¹ÿ\f\9b\886À\*a\ 5çn\84£Àô.1kÀX\92è\93\88AÁ¹k\16
+\16ùÂ\82\860\0\93\8e¥7
+\vÎÝ\ 42\888\94§ÎÓ&÷@VÛ/Sî\12\1cÃ\1d2\1dx]Ì¥ùXËqÁ¸\v\93\8f\1f\17E\16\1c\85G¤B\9d,\88
+ÆÝLÒMp\9cÛÙI*Î\97+É:_0îRÿb5«¹\7fRpc¹ôà̸K\14\83סÄSbéÁV!¥Y0S)\89Uìa($Fà\98¨\8a\ fýæ\91\10ó\84Ú[\9adcgÄ\8ddaP¢R\1eѸë\96\97*\15Sn\99\91\97R@Ýöò\e.        9ê\88½(m\1eò\ fáb\ 1È\ eqG\1c\14Â1ÌT\92\80¦\ 3\8c\97\19\81\16VY/-pÀ\9ad~æp\9b!\98ó\1cà\9b\996yn!\8c
+\19PÍF/-I\94t\86Ä¢\ 2ËA\97K\E¡\87\9a¯ºR\80KY\vKµ=\13\9aE$ 0\80Ó¬y/=Jf,\11k^\8e\ e§\1cÃ\86\ eÊ8\84J
+\90\rb\90(\94cTPb\\17v\ e±\ f\8aw=.ã¤ñ¹ð\ 5Ü\14\8e\88ø \9aÌoSË\15\18_.\909L\86°5 .øjZ\88\8c\85±\92\18æB\ 12úaË\116\f\12\12h±XÀ¼¬¥ãÀg\1aËõE\1d¤TÖ\8e\11å\\98ÉÆÂA%¼Fb°ThÇ\b\ 6RPÁb©Áÿ\95\9aû\96\1fBÚ1ÀW\80\99\14feBQ¤Ê(\9cv\fr\81
+=\16æ)@G\ 4¾Ëæ)H<òµes¶\10Øö\88\83\86\96\86\19îG\94@3dGeÇ\12'W¢.³<_,ç\14 Bc\8bìQ)ÌDí\a;6H\12[\92A\88Y\87Á|\f        Ù\eë\88\0°SÞ\86\93\1e\85ðÛ­ç8\r)aA\19\1aÖõ\aEb\9c\1a¨¨Ì\ 3Ͱ¾ÐºWÖÁB2\14'\ 4 \84¥\9b\ 1\1e\88\90\eKpr\15ÄÏ)\1f\81B.(v¨\94\94\ 2\18\87(\ eU·       cIN½V\868¬yZ \12\84uÅUSN\ 1ð\0vJ\ 20ß\\8añ¸ÀM\86\10      \82î1_#9\8f@\Jí\80;\13TI¹Ôñl\ 5dª =/yH&Ò\1c\ac\v=\16¨x(\16$dF\Ë8\9f\88!\0\ 5Ê\87\fî\16$7\1em\ 1É\b\11\87O\85Ã\8el=Vbî\1d\14\18¼÷ø¯æ¾!½\vg}.ùê\98ª´\90í\87ê+ãµ\98éÙ>\92^\87øÆ\8cQ\92À¯Â\ 2ïÛ\9aÔb\8aF\ 26\9bcSÉ\11\93\9b\97ð\vÙ\898·n\80hhñ^)¦VÙ    f\82ä\1f­ý\ eB&UÅ-9\9d¦=ìû\9d\ 3*E\95< gXî\85*\94î\9dyɤJ\8dO\ eØ\9f\ e°ðùðOÇ\99\fL*\97à\ 3\86K\85?\vö°\10ðž\84Ñ(FÄK\94
+\89\rk\8a\8c]\v\96ò\ 3ÔiS[\ 5\17*'\ 5C¹³@}ñ\82áÂÚ\9bËNJÎ'        Ë\vh\ es*UÚd¿9\13\1e\94ªJ Â5·.\14!K(%\89D=(8DL,Ä«R\aÂíð{      ¶Jî+\12\8f\18HPw\1aKo\84x!:\ 1\9a1!ö\ 2=ÁÍaèæ\94Ã\84\11Â\ 4å\8e\1e>ï´ëaÞDJýSMKâä\88»\94±MÍ\8fC:\8f\0\b\v\1daA®E¼%\11¹\14@7D_\bh\ 6\1eÜ9²ÌAØQ\8c'\1eÈX\bkc©Æiya\80@\92¢\1f\1d¾db̪
+nÞW\14\88\r\83\82\8e\ 4»7Ñ[\94³0P_\8b\16A ONó\80MZ\f¯M{ôw\ e¡\ fúKÊ´\91ßÒq2»&Qb\9eÆV²F¦\19Ö\1e%TL[Bï\ 4?X\81µ2P\8c\94ã7'\8e\12\87W\80¨3ò>©Ä¶Ð£\ 3\8bgL\18ée\e\9f\1dÕ\97Q\8a\15« 
+î[j\86;\1eS\12\f\9d\13+\9b\ eA\9e>A ÚO
+-ÂPé;\8a_c«Â\ 6¥»\90&\9eP\94¹¼r^=\80Q±}\8a¬¢æ<D \80ßðF'bÃõ%Ä£\19ÅJ\99£Pé\15'Â]à<\12|H573\18>\83Àò\ 2Ó\ 3nY     ]\8bK\80T\1c¥q±HÖãæ\91\bÞ\10*41\88Ðå./A2à!ÑHáá5g¢ô)ó\ 4°\89µ\a\9aë@®\1cö\ e{ÁXH@/Ë\8b\9d\875\ 4!*Q X\vqªâO/rÊ\14!\ 5ÀX¼8¥Ø¥1¡}6      \18õÌËn\8eÃ\8cWiiä\vÞG\80,\ 5\eoVx3\81YwÁ2\81ÿ²Üs\bHRÍ\ 5þß\15=\87\8a\ 1\82ðGÂ"\8bÊ[q®2\98Ì\ 2§8\17\98@*¯<\11þµÜKô|"ÅH\ 4Ì\88TðïIÇ\ 3àz\ f·3\99M4\93$v\94$+ïE\155|\86P-    \96B)%T]dþ\/\82¿P\17\921$J\ 2.\17¯\9fºt$)Ø-\914\ 2\9c!BÔ\18\16qj{´ëåÚp\8d\81\14\91\0\80\88¬RÌ\98\16æ\11¥|\19¯\1aÙõ¨\ 1FÅÎ\17 ²\82\85\80)
+       V&\8eO\80B v\89×Ày\12¢\ 2Ç=dß\13Ë\19+[¬\9cyÁL\82Í#s'\95\f\´V!'\16w(\81!J"\bh¢°¬\ 4¥\19¡À\88¡B\10æJà\18     Ð\91&%\1eZ\860<MJYAÛØ3IF\18dC\86\1dÁÕ\18ë\8d\88·\98ú\8d\9f\18\84h\95\99ï"Â\12§\19ùi_\ 1\ 5ßô\0n\v\84\ 2¥Í¨Ü\ 3ÑoJª\9cT(\85ȤýC±\ fµt\18óVÁ\81\9diu\88Õ\ 3Õ/Pz¤\96K\11*\82\81$%\90Y\f\89\14A}b½\85N=<\9aÜqb\8cd­!=\83Ë\0VGÐ'\11ZÙ¨\9cI\r\85\v¦ö\8c\8cîÄt\80¼\ eı¯@\8aînFí|` ZÜ\89ȱP\k6)°)å\17\8a׳s\99£@t\1a\86²ìÄ:\88ñ\ 5HSt(è\96ûÐ\9dQßaf®\14DR\96T_6z\14»ü\19\1aô\94>\93þGDD3&C\ 1×KÌÍC!Ø\87\13Ï,XÆÈäW\96#]\b\9d\18ᦸÜ\83t\94JCÌæ\ eS+%lXíaùL+\1e'±ü¾Æ\84õ\0Fè80 ¦\8a1\85\ 2C\ 5\19ª\98\ e\9e\16ù¶>, ¶\95[\80 î\10Ó\v\9fÆ\9d\a²ðXº\9c¾$\86\13\12\94æE$Á@)"=\ 2\89U\ 3Xù\a?\83î:Å0`ý¸ûènSC\19Àv    æ\91\10:;\vxrw&ö\16\84×C\16ë@ôÑ@í\8d\81\ eZ2׳\86M\1dÝq\92Wzó#V%ó\16ƹ&K(Í\1c\1f±\80¨dùÞa\90M<e\b\8bIg\1e [\ 5\80?_½\ 2\96XÄýpÑ"\89¢\13Ù1¿\12É_\8cå!HS\84´­y\ 1IJ\ruI*'ØuȤ×\1d\14¯\11\BøífRéÖ5?\fV)\1aÌbf²\17ÌbG\r\ 3^\9aé\11C¾Å¼eq³¨S¤\14\89\ 5\82\ 5
+\>å\13RX\84kB\98véá\ 5zñõ\85,²:ß<$t{     <ÇpyD\90æ\ 17\88\12cp¨Ò\9c\82p4òÄ\91\87?\ 2¤ÕÎ*\94n\98u<6-Bæ¥"-\v®!Óô\r@\1d\aÑf\bw\ 3.*\18\ 3ÐQ¼$,÷p\ 4`\19»åÎÌú\bxr\ 2þ=Ò\vÇ\v\9c\9b»Fi\959\ eà\e\8cI\vsÓKk©(̼×\12OR\99¹\f$[1ùTpkBé\91È3\8a\85\15Î-è\83D\81¦%\1c\16\14³ÒF\10¨\84\bØ\ 2\8aÃþÀªw\eAb\83U\19×\82Ë\ 4\89\8bdX-<\91Y\vâBØIÙ\8c¹ò:Ʋ\ 4
+\91ë=\0\81Êi0îÌa\ 4M`^A.\1a     \93\99Âû\96àY\19ë$\84\9a\1fÀZJ\8a\9e¥\f.b0\1cè1%\85\81\ 5\ 6\eµZ
+w­zr\v[6\8f\9cà
+Ô×°=®¬\17Û+\86;ðcG(ÐÜ\94p\ 1\ 2°Í.\1cÙB/B  Qlå\85 æ\f#¿\8cµ\914.ª\11C\1au"K\1f+¤h£¯¢M\87çºD\ f\96?\ f\16ĨA}\828\1aµ«f;\14\11\8dY§¸w"¶´ê\13\ 4ésÙ\1a\9aÑè9xTî¥V\80Õ©O\98\97"P¨Þ\1c\87Ø:\f\ 6°ÔE~QhBl\11À­\99ó\11±\ 5%BH-çe\9a3^Û²Â\$âM\10jÌj/.Ô'P\96\823Èl\ e )ñï=èº\82°P\9fÈ\98÷\10\80\94"XÌà\8a&\87êIÃH4Çø^`\8e¬-\1a!\91CÕ/\9c\ 3i\1a\15ê\13ä¥Ré
+G$þ\10¶¡ÜÖj!I6Âú\18dÒ"\12rä+p¨\83¨y\87þnw\80äB¤%IÞÂQ|j½¨6\8fDk[\88O\b\ 4MÁ²Ö@k\13§l¶a!>A\80Ùòät.¦*Ùh_À£²ø\ 4\9cЯ5~\ 4á\80<Ài\f£$\87<N\ 2\93\1eV}\ 2\ e\ 1NgßÑ\16zI}\ 2"\ ep\98ö8¹\908T\86EY¡>A8\81¢ÛXk)ܤ$) \81)Ô' \8d$\89Õ°hCç\8c p\9c\95Å'X\12\ 6º5Ô\8f\9aÉ\98\ 6\84\0\ 4Ú\ f\95\83g\e\ 2Ñ\88l\10É\9eB{\82êlé¤\977<ÜqéDxYæ´'bá\9b\81¸Ù\r\9a\98\\80´YX&\89\80
+\ 6CÊt`ÉN\ 1\8a\9b%ÊI9ø¬\19\80Î\ 2WV\14©JÌ\83øÒ,Ëyâ´'B_ÄÀ\84]#\11\e\84DLàÏmP\96 JÎÞTbêbS±nZ\ 5\ eÛ\ 3\17)\10ÒÙ¾J¤ñ<mÐh/µp\1c)ÒùÒ1L¥xëBüÚ\eüXo5@\16\89+\89ÈÙjOP6\ 2é®Ûï\0ù'¼Æø\87yPhOÄbÐ\ 6[ß|¥²Ú\13\91
+\1d\bA¬dÁ\ 3ÀG8°!ÈjÁ:\11 S\v\18\82z"+\98عêL,ªC\¯Tï<¼\8a:­´'@(\81´7§%Cê\92\8989\85øD\8cõ\86;®Å$\83Á>Ë´j9í    *\ 3£¨,\ 2¯\ 4)ìh(kÄ\81Ó\9eÈ`ôaçâ\91A\89Mu§gï£Õ\95\90Ù\93jÍb\87
+UôGÞÆõ F\0BQÇàjî.ñ,R\1aÊ\9f´p\1c\10¯\10i\12BÉ*O(á\1e\ 3Ì\8e\ 2Ás\92\1c®\84ÐùÆ$8\98¢äiËÓT
+ç¨\f\16\9a¬$½15!\06Çñ\11ÍÃU\80¦*-\94'\88¬Câb\9e:¯| \9arT\81Ã\82ó\80L\1f\1c"îÅËÛ«Î\b\f\15±\ 6'<\ 1íl¤\9aÓ\88$SF=N@20*\84'p\f¹_¾zxä£=\9b\9a/\84'(2\92ÄFÙ\eà©¡a\eHHÅ
+O\ 4Z[ Ã§\aÅ\9d¬G¡\94ì¬òD\94\89\17\80åÑõ`\16Ã\7fT(O\10\1edæåå3­p\1c'=Áí\84\9e)ÇA%\ eì\17Â\13âE\84\ 3Bk      \8cb\99æe\1c\16Ê\13²\1e
\9dûËD\85t\9dP{Q\9a\ f\83\88Ùh0Ò¥ÌÃ
+\0?wâ\17\8a\11ÆE\8a\15_5=p\rÅ\eLº;lÞCë=³J"\18h\19zIKÇáU\13³=ªoi¡<\ 1#::ef\ f\ 3\8e\13\89¿\85·¯¬<ÁÝ\ 4ÁZÞ\94)\7f"r\f\91\8e\13\9e\80ÄLÄúf6 T\12ð°\89\86çi!<\ 1Ì\17ø\87¹· ÔÅ\8a\ 1?*\vOd\92]-
+\18"e¦ãÔ
+úÅQ!<\81ãAQª9\fÉn³qgR`\ f\vá \90Ë\84£|õÐs§D¯À£\99\1dLÐ[¢ÎîDä%A'P®+Ñ\b Oàª\93ÐÌKÅbF8\ 1Ù´æ\ 5ÈE\8fÔú!Iy¹\ 3/\8fêf\13HUl\9c¼\1cܶYõ$ËÛ,g5¤Q/,\13ét\16\9aé\81nVV¢C*\9a:XJ²¬\80T\91I¡â/W\ fÂ\17>ù-\80B\16R%\9da\8a~t]±Ù[3h¯Ù\85ä´ZD\15Akt¨Q¾\85\18\90\14AªH`\ 1©\ 2#i÷ýXî&İVr«ÀTÅ \84c´ ì\99<    \82\92yȤ\f©b'Í(\1e\ 1Pm^æ\84c+\9cå\10U\88±\99\97Í\fÈËlú/$\80\95\85T%\12 räɱ'jÎ8ŰÊ\1c`
+H\15¥\16\91LNã\93"|\ 2cI\947\ 2L\95±P1:\84Új2qÃ\96{°GjÞÚ3ùNÑ\962&Ý\99&À«\bOQ\8eG\b\9e4.cª\12tJ`ÿ7\ 3i\8fRºd£å\999L\95HýÊ\86\89BgÀ¿ xq¨50U\10mðB\96è\81WN°9\13\81ªBÑb{aÑ# \85A\1c¦\0U\ 1\r¤\901,\9fiÅã8P\15o\ 4\96´\8e\13ÅÐrg\81µ\r-¨*\17I?\8bG¤"\9f\ 4\8a~\18 Ò2¨\8a5\ah\93;S
\12ì\96ÝK
+P\15¨@¸³Jô@¡\b69i^¹\1c<\91\eºy)¼>\12   \ f²2¨
+uT¿\90\ 3ærà!'©haÖ\16TEV5\10®3\822\9c\1c´\90øAP\80ª\ 2¢\ 2P\9c\99\1e¡\ 4åHæD±#Ê\aT\95P\ 6\e9"Ù\búÈØø-1Ð!WÃ\ 6¨JÌ¡hbFì\ 2        \94\82(uÇA\19TÅÔ\13&9\82³\vÞ\82\1c\0{\10\96AU\0@\92¢t;Ê|aßP\8b ST\86\1dJ\9d\8eõ|\13Øw ;\ e\80¯g+éEY\ 2yR\86£2\15\vªJÅí\ 6!kÑ+SÍ\96Ê\8eü2¨*Æÿ"]d\96êö\98Gf-MÅ\80Q\80ª@CÁ\0 \1e\91D\1f£ØÖc:P\15üLA92\88\ e¯\92Ü©\8dÐ8L\95Ùi þMu\18U,\88§9JÊ\98ª\8cìJì\a-õ° *$ØS`sýÝ\89\9aô² *î+¢\7f:\8eÙ~5sR\ 1<\9a\82ª"!£!*¢X£`
+\93\15/½s÷¸\b·ÀiáKs´\0U9ò-^ªD´üXÝâ\92/C¦(¢OeuÀw
+-\94±¾rÇN\97ºJ}\15?ë<I\ 2ñD
+\ 5`¨Õ¤)6+"ɪE\99\9ck\16\951Up¥KÌ\83I#Τ\8cZ\814/0U\84\ 1\90@s;'¹ $\97\ 1\ 4Ú·×bªXí@Ú\99ãð°ñ\84`fK\83\ 2T\85Mb\9e\11ñ\rB\812w\91\91ñÂ2ªJBmEj\9cãà9à­zAÖ\80ª\82YDÖ®\9dêfA$7b\9e\v\13ª\8cª"\8eF`W7Ð<dxã|+÷hQU\88yHD×<K\8f\90\ eüà¸\99ËUÌNôäQ^K\94:p°*6V*òÍa"ÉåB,\98Z\87£ h*"ÿ    Ç       v\a{\9fë\81NcP¦{4Ã\85 \8aý\86| ß\1c\9e\15\81"\ 1¼J\19½U\88¶°*¨#PT\8f@\9eg(\81¢\ e\96F\ 5¬
+t}\84»éN\94B\8cªu"\91\83UñÖzôÒ¢$=)\89O7ÀªD¸Jp,"ÐcÞ\ 1      Ã\86QØ|±¶g"B \9etæN\v\9eeÎ{\19\10QìUÀª MÀê0ï%ñL\88uávÏâ¬\f«2&b¦\82\ eë\87\81\ e÷˨ª\80½Ì¥\ 6bªæÌ|óT\99\16ÆeP\15\0DRjÆ\ e\10×{&Ì\94¤\90\1df\8a-\9e\15\rSÂcû\86_W\11Q×A\91×È\ 5Î0I\ 4\8e£ /mÔ«á0ÜN_ê\82\ 4íÊ\98\82BÂH|"%e\1a\8a(¥ÀT\91çÍ
+~qL>_zV@lÒ2¦\8arOô\18K\85Y   \81edë°-¤
\ 4Ös¹G®t\8d \8e2O\81ÔS~ÚH\86×  ö¢:GÉ}!ØK¸\9a\8bv\1a\93\98}\1eû\ 1¥Ó\91¥<§ ,\ 1[o\8cW§&MA\90\ fs#åT\81J\8f¨\18 VÞüƪ¦`(\90æÀÛ/ë£!\85nuK)\94b£ôQ}\b,\84\98B\12ª\1f|W¼#ehx®    \89\ 4N×6Qá3áQÏ*\83%\8aÀf¬\9a¶¾\89û\87à"\ 2¬*­ò\ 4\1e&\10\18øÍ{°»à\15RS\91\92Ô
+UÌÝô8\90\95 .Gî5\8fllQ\ 20,\ 2\ 4Ì$ÌNy5ò\aqnEÔ°baÌC\8fÙ>u g,tæ\97â¹ÎUj\8b°¢1zð÷Р¢&\ fB\1f+\19\18©\18\97Àl\ 24Åõ@       Aø3¡Í¨ËáõÇzp'jv\1cÔ¡SXÙq,\ 3\1d'·²\82L\1f+ÌáI0\989(Ì\80é\91\8b            w5R9[\8cf
+üäEQ,C2Î\14`[Ädâà\9b 2õå¶4\1eú:¨Åacµ|ð\963\93\ak\85í2òÔh\9fKR\94Iff    ák\b\85Ü\992\11²ÀÎí+Îf\19\9d"âaªDìáz\91ÒÅ
+Æ©´¬\8b ?©\9c\96¸\ 5¤\7f¡\a«V*ò`É\16S\7f      \ 3¹\94vðËñI\81ª¦yËÆ\8fæ\ 4Ô5\98µ¹ïd\f±HrI%Y÷\1e^\ 5\rÝË\8bp\1dÄ[°#\84E\a\ 4ò\14i\92y\84ê-lWæÄQùD\1cÆOÄk\13\14\1e&÷"¥dÊ\8e\88ú=8\80¥\ 3\17j±K`¤U\1cLD\82\90\9e¢µîE\16\16\r\ 1\14\89\96$p¯\9c´\12\8cG\ 1v\15¬¢\f\ 1\ 2=\14´\10\1f\15è{y\85\8a\9a\89Фb«äYb#gú'KË=\ 2M5\aaanA*Î\ e$\95¿\16\8e\ 3ó\ 1Ü?Àæía\90\16ãv%Â\1dQ{M©(\ 6\89\8a\1eнð¬sæ\84\80\9f\9124\9b\89\f$)aËÉóÐ\11\a½\94S2\88\r\10É8b\1f\81\96+\aË\15       <¦Ò¦\14\95³\82Þ7\11ñ\7fÁ`\rb(\97\ 4\11xÓ<n¹$"\ 6\82¥wKîj¾\92^qÂÆ\8bò\19Ø}[8\11¦ª¹\83ºÜw½R\ 2\ 4p\91\9a1»°?\8b\r\fÚ¡\98,\81ö\ 2:À´RÀ¾ií\ e=(dc¥ó\ 4;' @Í\ 6P\90Üùdô2\17\b\17\b\11l;ËAð\9b\15\13x\8d\ e\ 3"\ 5\9b\1d\1eçæ~¨ë\ 1HNl}åi\1eBAYTh´p\1c\eH\81×\e\9eI;$¸T\84Å\8d\82ò4ÇÌ\aÙVâæ\ 1µ\b\8csaß8Ír\90\86¸µ1\8eE­@\81C¬ \82\9båT\86ðv\9aÃDb©\83
+\82HU1;\91\ 6C\8c\8bK    Ú;:r/\90\14cÓùkÏäKë(\90\ e²\13\1enr\1c\ f\81«\14¯WË»®%³!â\r\9d@ûX\1aáì\r¬_\138Êj©\14êDX¶\0¯­(\8cet\a\ 5\94\83Ö¡²1¦ªI\ 2JQ"94+ì\9b"\83\91É\9b0Ö+\80»\ 4_Á³\97b§:!\ f\18èí\99ÂÐb^"üÞ´\81?-RÍ\8b\1aw\89\ 5=ÁZ˲$\I/\ 4.ñ^¸9\89\17\97k\84°ý¨©(÷\82¿\15$\14\14\e\85;K\92(\94"BÌ
+\8f(\fH\8dÈr\13\86ªh\ 1(\98ëï`àÅ?\10\16Îl
+2]\8aðndð÷&г\92²\r¬*¦´\ 1\85¸\89\1eÀâAïÅ\81#S\84\8d\ 6\8b>Õãt=\12\80\10µT"ÔÂqðþ)ô4O\9bÚZz\90\88\13'\87DI\9cõ-¦G\99\ 1Ü\84D,\8f\99\ 5   áͪü\99\93\177Â84(VZg\15p\rN\85\182DæM\r\b÷yIÔÜ\ f5Ö n\14B\10\84\19WâÏ\9aÇ
+ "SÝh#\8a\8d\86ÃP\80Eq7a\ 5[ÆÖÄ\9d\10ð"\v@¢ºew6&\ f\f\7f\ f«¸ç\12\91+¸³±²¨\96rO\ 4OM½Yó\93\90\81øf\90,´ìÍr\18`/°á²\82¶ìÍ2¬P4H¾/2·¦Î,·\8f\8a!àÓ©õü\9a8³1ÑSÜ\vc\9bå¶ü§¹3Ë\8c0v¢ìIj²\9b;³f\83#\19Â|\ 1B\117wfc&4TØØi\91\97´ìÌ\9a\93´×\96\8bá \115ñeÍþÒ^PãLU%\96A\ 6\82&å¸\88\aÇ¡e\0ÌmtÆ/³2\91\8a4\¬\8a}¢WhëZ_64[cbEr´ \11\82\16'µ4gID\9a»ÂJÇÆ`zÀ)¯\98\ 5;oÞ²+K¯DbTÔÔÄIË®l\1c\89¼=\16äÑs\15B!\91"\9c\rV^VbÌVô\ 3\12«Kº"\13@,ZWø7\80\13Ä6*\ 1½M,\8e²Ân4Û\8f8:Ècæ\85dCHu\89\bs\1càôhü\ 2\94\84&$¤rÈÆ\81 Å+ñe\13\f\ 3Æ\96u­Ùa\88Ò\ 3\1d@ªÑ)\ eª<\9eU/\11\8c\1c\ 2Ã\b.\12ůõ \13Þs\10Ó.O\aF\19yP³õ(îi_\14\84\89\14I56\14¡\1cMF\eü\95Ì!\ 6\ eU\86`ÄÅ\8c\1e\93d\88ì\83\84#)¤²..î\JH\84
+[@É\12\1dhÒ«\87³ù¨Í@\8bÌ·Ó\1376G\9bÍ# \80eÉ+\10#Þ#Õ(j-(\94B\12,\92\97Ȳ        1W\9cë\89è\9dMH¥ùLû¤l-\13%T\15§\0Æ\84\ 20äB    ­ûr \11\82\80\9c\95U°ù\13\v®BX\1e¼p%Ï\91àºô\93`f\ f\93fG\91¤"  \ 4«·i\9f#¼iúJæ[b\1a\10\ 1
+<\17QköBâ\97\ 1Ã\8b\91Á´Õ`>¿\0\ 4G±ªUÏ"\86\ fÕyà»zÑ\8c\ 2,¢ö\90\f¸\1eTýBæ`\15\e\ 2tfrêwý·ov\9cHe\9c\ 4öyÂ:\ e6cªuÄ·Ö ¤'SA\92,%OBñ}\b@].\ 4Ò8(á\99åÄÌ\95ò\99à\ 3Ì)\94\v¬\93\869\8c·
+tÅrËçò¶HÚ9Á\0ãÄ%¡(i3¹«Y*z\0Ä\1dlJG\9a\10â\1e)F\ 4«\86\9f\90\ 5§\98R\b0 §\19\1cüfR¸à\89\ 2\85DðÌ|\v¬\82\12cPɸ4\9d=à& ³Y\9fü¨\904\ 3\1eæqÙê\81\15\0yHD\956×G¥\1d\99·Ð9>Ö\99\87\ 4\87`|Ø Ë©òQ«±\99\13ù\ eä0Ä:ª\f&s$èë\\a½3¤ \9c>ªy_<\95
\99Ùä(\12 E\9c\ 1\1aª\0S\8c\8b\81\9eA\90Åe©A¬ïDçõ\85Û1\8e\et#aˬDôÊ)qc'ÈÅn\v¦\94\ 2jãc\8aÇBpsx)b©@*/\8e        Ê¾ke¸=Ë_ÇV\17dyܼ\87=\13:\ fR\96\81 ¦Ü+Æ\10ö\94\11\802ZL\eDº3\v;\80Ò\v&e/Q|\83X\vê\94Ø:^\ 3\ 1n\99¹¨³\v·±\81zx¸±\98\7f\99g\11ïm®Ä\82\80\15\91ÙÞÐëM\9d0/ÈDc\16\ 4B·¸¸\1e9\8eÀ÷Ãr\ÏlÞYc¸\ fä¦Ès@\10\9b«úº        ëØ\90\86N\1eB\90\ 1E      \ 5\102\11\v\13Ûk\1a\bhI\fÈ>=\a\84\84\114\96\82\ e\e\ 6¢VVf")\80\90@½Í"í\9c\b\0äD\ 3p!­<\92\ 5B\92kÊTK%\ 6Yq`@,\16\97\81\90eÆmð¬Ø:¾ø+²°\8c\83\ 4\10`&¹{+\85Ê\ 6KÊP\89E9\1c¤Â"\8açSÛcv¦\9c2JKõ(\1c$"ÄØ\b±ÊFlú1Fô©\1cÍ\8cÅÞâHÇX\92Ñ¢b\11&÷U\86A\12ãò
+î:U\ 5\11ý2\80\11¯Ó\9c+´0V\9c#\8c\ 4Í{\10¬Ä£\bU\ e\84Ìd\v\9d\14ÍÂ\r\b"qà\168HcÌQÉ®t=1\ e)ÌÀP\90\168H¶cêDÝ\90àU\88Y4ɯ\aI\81\83¤È\1a\ f<°ÄAƦN\12±\18ee\1c$õX©\bq\9bõp8È@Dì\ e\aÙB/á áwB¥Ö\9e        \ 2É\b\ e\8e4\8a\v\1c¤Ð>±@H\14ô\93ï\87bÁ÷\v\18¤è\97ÂÄU\9b8U6Qä\88,Ô q²rK\90 ¤\ f\88"ñù\ 5e\1c¤Ç\93\94õ.\89ò\802\ 1e\ 1Ê8H\8fT\84ï\8aÀmÀÐC@8\91 Z\81\83\ 4\1f&¦S\9fÚmc\ 1\9bý\\89n\87\82D\8d3
+\9d$\eL¯Ä÷3éîX\18dLÅA\1a\92X"á5έßZÀ Á»\118·Ú\ 3Àmr\9f\10\83\9f\94á\8b¶ºZV¬å6\vD(\9d¤e\18¤\ f!AàÜ.sbs\83ñ$¨\aðÒ\16\8eCU\1a´:>¼\83BÕÉ\8da\9a\14饯áÊ Ñ\8eý°\8c\83\98\93d   \81\11\90\15Ç\12n9\1c$Õ²\91øyRÇu\10gZ\84Ë\81U\9eT&\16\9a\95­weä÷\8a\84Jyèè\89\17¨l¤)2hHC/ø¾9n\\0!!,\97Ö_\89\1e0J\93Ô\räDX d\ 4\11\fÁ\15[\84æ«ø9Hå¾Z$$\8c\0pêºwÏx\12qä¤-\14T·HHOÔ\1cPÍSò\86Ç\80\0h\1aøe\b#òg\14\89éùØ"\1dعÊPÈF G»nA\0        éZ\ 4Ú¹Åã\84"rIá\92\14ë¹\85BúÀ yCõ\14\ 5î&Ù 0\8e\83B\8aâ.seÆü\12\9d\90oC\1a\82B\92\12"ÐjC_ L¤Kl¥\r\ 5\854C$dë\aÎÞ§
+\83×ÜQ%\93Å\84,\8c"\w&²7)k¼T\1cÊXH\ 5\ 6\ 6k0\v\v!¼,\8d\v,$¦\ f\96\(\87\19×Ƕ%×`±\90\12x\ 4}çÎ\14¢ð\ 4C1$lQ\19\v©ê» ñ]\94Í\98,dZÅGä°\90R\ eÊ\1cÞ³I\ f\8b\85\84ÿ\86RE·ê7éå°\901\940±äø\bÌQ½N¬.õ¢\ 2\rÉNm®1µ\98      _j`f\11S\0Ø¡!Yý\10¾wc"\15çs³d[\15\f0)xo\a\89\0\94\1c\vÁP\861R\9cfÞóPs\9axgDý½/ÒÀ&=4¦\bQZ"ßyb7Öf\87á}óàT\8eÃÌ]
\ f
+|»ÜQä-M\834,£!Í\9a\ fàÁñ\1d°Â%Ô\ e`b\86Qêà\90Ü©\10\15-öxÊ\82\90ºBÈA{\9dà\90Ææ33T         j_¼XzO\9ej\84\9cô1\91½¸(kæíV½½\99\ 4¶lÌÂ!YÉ3        \1dÇò»\80ñáqÆ\ 5\1cÒç±DJÌ@[\9c\92ÔĦâ=±pH宣\82Ñ\9a\85\86D\828\18Ó<-à\90Ú¾I\8a\94ZXÒ,\1cRBZ     \19g×#\13¦<(£¿#)ºz\ eÐÖ\0\87,dÃI\17\11\8a,ÛòpÉ \11fÅÀ}\15ú\ 6È\19x\10A4ë%\11x,W\b\12\8dU\ 2å{s1\8a\14¢\1fÏj\Ûº\92\9c³\v\88\ 3\7f©é`.\87\ 2YðÉQÙ,\93°\1eegL1³\81µG®/ů\89"\9bÿE\1e\f/\80ÚÅ\92yÿÛ\8bò'\92>\96Í_IYÏ\98\19J\81a»ÃL\b Êw\ 6\ e\9aʹ'õ\14Ê!0Y\9b\1f%Cí\85Ç\88\14\97KD§RÑ\90\96$å±\90~\82ê\ 2À\9a\ 5\85ö\97­}\r\9d=K`\ 2\1c^\98\82N²º$ðVRh\97©Ê\ 1\81Ç\fúá$\92»"    ä\\9e¡°e-õ\90°\9b9y(\8e\r;¢æ½2És o\ 3\8e\13\88À\81Z\9aØú\94ÆQÑû\12
\91\85ªñ\82\8d        \1eÕæ¼ª\9dÝ\99\88BIÛNbo\81"ª>f¼\98î%~\82§Bj(µ
+È>ÁRJjeÐÂâ     \ e\8a\84³\b"\1d¥86\ fl§îD8ö\ 1\14}\14¢Ûl\ 3e\ 5\88^£ª \ f=Sª×L1\aOaó ò\18ñÀXE[¤¡!"\a\12l_=\81çb\94Qs\19>¤ ¡5ãɤ6¯F¬C\9cI\ 5¤%QÎ\16³\ 1¢\13K\89\17È$ \9e\805\89  \8f\93\1f\ 2wH,\13#0YO\88\10L°æ=@\ 3\11j  Äßà\9ed³^\80Õ       nÀÒ\1eÙÉi\ 6ÄfbÌp\87\b\12µ\9er*\99\9d½¤ sÐŹM6\10öbá\ 2\8eY¾¿¡`      æ\15Í]ü>\0È\8bÇ¥0\1a\8c6Ì*í9\ eÒ\96\92{4fn,\ 6<p\v>\99OÒ]QZî\ 1Ë|ä\85Å\99Ⱦe(\16\87b~há8\90Äx\0\1c¡Ô±\81*8D\88REÂ*RiîK¨\87»c¯VH\b=\15W      O-y\8c¶.Õ/vó#\1d\9aH;(\10Æ\r\8e\0¨ÄR¥ß²ò½¡À\94Ô¿Jì\91° þ*M\1då 9M\89HçEð\8dztÅ/R\ 2Ü\96ß\1d¦sI\9c\11ñÓ\13ñ\18\94ÉS1c\94
+\89Qó>Aÿ\18ë]ð°Ý\ 1t'N\11\81úÀ@\ 2L\91\16\9aHL\9c\104;Ï"£\ e'g
+û~yzRC\83uéÅ.¸)Ü\16ÙÉ\90\9d+G\ e%ÕÂãëµ\8c¨×\0CHp\80à\ fP\lKè\82ó0/÷ A\11\95\8d(\ 4¬@P\0Ò°<ðM\8e\93*\98\95P¨è\ 5EÂA¯\93¥6\8a\1cÏ\f\90\82ègu[0À¤3nl$\9dÉ\k{q;\98Í(¶¥ª*1\86W\ fÔª¶\94\0Á\f\8fÔihg\r¦\be´)Ê6E\8f,´:LBB\8bbÈÌϲ®p³NVÙVLb\84\ 1ªHñz$yùÅ\ 5\ 3\15g\1a\10îk\8eÚZh£~¸8\88\94SYé»\b4\ 3\8246SVÜóËâ\ 4Ô[¤¨@Ñ\83ZyÊ\ e     
\92\0$l\bT\ 2½¢\87y<èéàI\86ÎÃ%xë\13\8ap\ 2¯\84\98I\15x±ÍÍ#ÙN¡¥\8f\8d\1c¹M\9d\10Æ\r8¨8\94Ó\87\am\88ü\8f\9e$°ä\84Rk%\86ÌBMb\80\r:\91î\ 1\8c¬\vI\1d\15\ fE@Ã()ÉTñhçL\ eE\82Y\8d¨Ú\17Ó¶\B<n`
\8e\83µ¡pJf·\1e\80VPÖA^ÞB\ad\83b Ã`V¸}}ÅNlq\1eI!/Ô¹\9bOME@A×CóËÊØôÎ\ 1IC.+WI|ùA\12ÈCfJì§\96\9b=\80¢<Òë\16h\86\13\ 6\14       XÅ\1eÙ°<Ö\83\ 4\1eIÄ9&Ë]ôÀ]
+½Fs\13I\f´þÀGµt\9c\14\1e\03\1ds\90möZØ0ɺ¢*jzä\84g,\89\85-KÌ¥ÂA\9a\99\86î\96*\8cQ¼Sa¢Ù\96Í=,¥°'\ 60ÖR®\11\151f¸ð\81õÒ\81bxö-\10\ f\8aòJâ\95ý\91«w\92³B\r\98\9d@Õ5\16ækn®Oè0\8c\ä=\r]Ñx\94Ã|eÅ\8e\b\1e\91\84Wì´è\ 5ä\1d\1cfh£.-\1eËL¶X%\eq*·\9f\80/\11Å\10ÞÊ$-÷"÷æ\v¢¤\8b×Û\0\938êòf]#\94\17\ 1!\83v@Ôr á\ 3t\13òT²à¦\87§\0\1c^RjcýÀ¾$ý`\16\a{\ 3¨'
+CéÓEQ\14\94£ýLg¬\98R*À\r\0ÊÀܦ\8cÒ\10Ý\r"EE\a\ 50Eñdzà\85"#\13\a\8dNÄar     ÔåÖt4æ\1e"½¸\86ö8Ps\85\94ûFÂ\1d*,K\858Ñ^\8dÈtÅbÅø°    \ 1\8f\82\0Otãî} \80\8d%9\rã"4μàÝà]2\87!K\90sTiµËÌU\94<Dÿ\ 5¥\Â\v)\11C°^\12ÆiÒC\ e\ 2\10\ 3¼*³oäi\10·t\1cã  F¼R°ñGê\90\83\14\rõ¾1KÌ»\8b"\9c/Z\1d\9bÔ37\99P/ao;"³Õ\98wجiج¡\8bö[E`6j3Ù\ 1\0ç*9\97ÿª;£\9a}\08<\824\12fX[u\90¹Ú\7f\<áÎcG Îq\94H\ 50\1aº\1aBøi@g\10\1c\13\82t/\91\88\1fu\r¸\eÊ\87²ø\91\92K    ¶ø*l\ 3 \90ËÃBíNdx\90\ 2¦\84QÈs\90õ\ f,]0ÎB$\16:÷ \ 5ËÖ\1cbu\95ßÃ\8b
+HD¨Þ\14»7\95\86\v\1c#\83t\fþÇ\14Á.Þ*\80_I\124ï¡\a     ÒEu¡À1ø¥ã\90\1e\84w\aüb\92:,#´\e &Ì\93¦Z\14à¼\19$<Uº%¾Õå2¶H¡@îãÑû\14ë¥d\92l|$\17M;\9a\ 6¹V­TJmª¤¶B\8b@Hàðaw*9O\1aÊcc\88û-xÒ\85çíD\96\81i#é\93´¬We~l\8f\99\10«î0jÞ)\85k\1d\1e\18\82ì¾o\9dØ\ 4äa\1ceRß0Ó\a_\rt\85\17Yîg\12§\1eî\94ï´\9cÍ-h¯4j\12\8b\15@w0\84,\ 2R%TÒS*ݱþ!ïL\84ûR\89\9f \16ÀfÌ\1cÎ\11\r7»9\ 1¼ÀÞd\ 4øÀÙ gææp*\10)&\95\88ù5\87q\8fqPðsS0'\11q\15(·¬Ü%y\1e\15§F\ 1/\vp.\96¿8 jMO\ 1\0p¬¤¨_¼,Ì\12\0óZ±,ÞZù6³\90\11ÓHd^@\192¼y=+T\ f\aÌ]h¡\a\10²;sK\1dȼ\85\e\106ØLWLÐ\95e'W¹)V\ 1£\89TN\91\92a\ 3\97Kr!\ 4à\8d+V\9a¬½\ 4\1f\81\89u\97±\89 '\15á$O)\90±\1cÃI\95\159fø+\90,6;<OÚJ#R\12×B\ f;\1f\80I\ 6Ê\a\93Í(÷B\91Æ\97\888Ì)©\97\9eÚ\9d)Æ%\807Élº\b£\ 3BÅiCF\v\19"K\82º'"Æpg2\93DN­hX,\9e\81E\892cÂh)Ôz9\ 1:2niæòÊ\80\9aØß\8d5df ð>ð\91)Ê~6Ä\17",\ 4­\85+þåM\ 2\a\8d\1c\8a½b\87\13\ 3ÚL`Ò\1c1æ\b\11ÃZ\84ÉB\12\86\0#\92Ga\ 2\9a\e\9eÝy"é\15S\97\18¹\99GY\16Ù\1cs/Df \19\1c\892\94Ò`\ 4ÖCÁ:Ty\1e:¸xJì
+®?hþè\ 1|*!Æä9h»È\80       \86\17µ\0)õhȯJi3h¡\97\19Z{©\aSt\9bg6       j&\eVY\0dÛ\\10\1e\r\f\82!4`ºØ\ 4³-'
+ãÒk©Øûx¶>Û¥\95\86\ 5\89à\ 3·&\ 5\10ſŶ\1d\96\8da%gqÀìßC)o\91´PL\89ºu\ 2ÝEÞ¦éQ\12I·zX<BZp\1d\12È\86ªÛ\v¬w\10\8e}:´=`\ 3\83Í\86D\8df]\f©\8e\8a)\9dT\9a¹G\124ÆS\ 15«7    "þÜ*ÈØûÂÒÏÿCñi{\14/\11\91´·Æô@\aM
+² Æ\13Ùxâ·6Ï>)Ô2è\852\88\ f­\8f}\93\12\Ff\9c\9fP%o¶\16\90ìD®¤lØ\82o\ 5\9f*q>h¿
\942ÞL<\9b®¶;\85\9a5¤X\96)¬ëÉ9µÙ=ð§±\15Ùrrif"\98\94©G\92\8bH\f\0\1dÓ\ eÍnì*ièf\85>_\8aC\v\9dÉk/´/x-eÀQä\86\vTÈ w\1fHODXAè\ 1\9f8\1eú}P-h¥\8a\98\87hÔÆ\16Ä.¦9\12°h-8õ\1dV+TA\98t\ 4¨J.Ï\voo\ 6\98(\8dyµ2H¿R+/Ké¶\ax\8b\90\ 3ÛRó\1e\82\bKE\ e\1c\8c\9bõB@S®G*Ñ2\1d\a®7a\ 3\12Ï*²C\v©ð\15ôÅ\¬¸"#U\92Ûº\ 5Hè´\8f\85\8eÏø¶8ò¸X¢ü/\90ã\ 4\B¸q´aS´Dñ\0J\f¶Ð\8f4)[¶ÙLu{\ 3D¤À£ÚÒ;\9f\82õ\98\8c\16¥üîLÐ\17gìW\90Ç\876¢Ä!\8d=\ 3À¬Ä\9aHÊ.Q9\9aMË0á\13ÉDg\89æCFopc¡óÀÈÉAê\ 4¾¤¼\få\\aâÎ\ 2\ah\93g<\12£Iõ®Ä\89\90\0f\125\14ß%\90\bCA¦õ\81\9c#@,X3\9as\9eÛ· \19^ÊXR_pÞæÇ\81²Ó\17\19gª¢H®%#6\94\89ß\92\1eA{Ñâ\907L\9d¿\18\89ý\17·À\9d   3
+¿\99r8K  /¯\92\1c\ 1\ 5Ã\1edÃhø\e¹Ò\86\f\9apr\8e\80\1eÛµ2öª\7f\8c\81á{e\87\b#\93\9d\ evÊÔEõàÆÃ/Ô\ 4F\10<T\1c]\1a4\ 5¢\0RÖ0\96ÑI¶\ fÐf((d¬é@\84\f>7¤\1aÜ\89¨\16\ 6H\9eIñÒæ§S¤[Ñq4^z*@\14\1e\809\9b\1fZ¨7Q8T&ñf\8a\1e\0\87ÂPÑ\19 \94\84Rs\8a³Â\9atÇÉp\9a¥\10\ 5¤O@\17°Ø\95Ì\83³0\83à<R\ 4\9c\0\9aòZ l\18u
+/\eêzyâ\175\vT\82'\82´\167O~­`\98©\15[\82:\a\92\18î\9d\18]i±\83Y\b \ f£{Äò\9fÙ§H
+<S줡\al]Âí\95gCB]\eÁ¶\16\ f\ 3!4U¢X}N-'
+\84ªÀæ1·\ eé<E\ ec_äWÀ\15)\10\8b¡ÎLÝ3"tMu-¨\1f\16öĪ\1eS\8f        F\9cý\r4>foD®7S\80\91\r\15\a\8a\9cS\89w\ 4`_\88\ 6^\12\83\94Å\9b\ 4\8d\1d\84\ 5éIRq*\95\1eO;6/1d\84h\88z6@®ø\8d\ f}\0\89¼4a\ad\7fñ3[\1a\90ó\8cPÂ%øá\96\v\8e¬\ 4\8a\9dÀNN\ f,\11Yf³më0p0Çð/Hy\v\7f\19\86CªHC-\1fBpC\88\ fñ\R\8e\8dSl#áïò¦®9\15\11Ù¶Ð\eI±Aç\87\7f©e( ª\ 1\97wh\ 5\0 sÑ\9c\9aÍ\18õE\84z$zmÞ\11<i\1cм\91Õ\ 5p'\13û\99«\9aÈ \81\ 1x\95`&ZNTbC¡}FÐu\80vE@\8dÙm{\b\19åËJ!,¢ªhã|&IÃ\8eÞ¤\97¯¨p,m\ 3¬ù\84E\89Ò\ 5è<m(Ù';Á½\vôgètÉÄk\7fw\93Î\87\r^È÷FË7P\8dÀJ\85\ 5:\8fìð¡\f\90\18Aw$6¬B\16¤_1n=\16`¨û\86q\98I×,³o\bðâ\1c\12­ Ø(\90\16`\1f\17xVÚ\ e`2aq"\1dÏ\8dI\85\8fË\1d\ e\ 4\18\8aë<Òô\ e\84ÌH¤Æ\15Ù\1eø¥\14Ò¢ûU\9e\v\ 4IT"l\ 5°\10\98E{\11\1d\98Ô×\9c\82õ$\ 5m\1f¸\12%h\87BE\16\bÑ\89\19\1e·9\ 4xlÉpÌE\89Vµ¨©àµ\96´\b\19`K\15\ 2+\bÙ\16¶$\9c\ 6*\831ýÙ    ÅÕ\82\8e\10¬Î\1ex#l!Â/\88\13À·\ 1±¢\80\ 1 3`å)\8adSô¡¡^\82\r\16¯Fz­h\ @\ 3U\ 2«a,\99d\0\12<&cß\11õÉÙO<âL®G¦(¶S?\ 56\80¿\90Ç\8e\85ã(8\vL/!«ªã¨$1\17øÐº\\92ì \99\8ayÏÊk)¨\12E\1e­ê4wEr\85\8eé\86\91\13@\a¬\9fX\98±Â\81Ô\83A\8cêk}fþ\0ï%\9e*ÿ$'a\v¡|BP\ 6\98$\1aR!\94ÿ\ 5¨%%\16\90'\85\15nö|\11$"üåÅI\91\827S?F½4Ѻ
+W\12\98x\10\7f\8a\80°¦&:n\92h\99\0\8dußåùs$\ 6±\11\8b\ 5\9c5\b.tتâÔFu\90\r\87!\17­ ½)9\90j*q\82r@'²\1cîYi¥q¡r\8f"\82´Ëáæ_\1d:ÕÕïWÕ¿¾ª¶¦¢nt©#¿êݳÇáÝ÷+u,µ«¯\1cU\8fɲsi\8fR»NÝ}¯¯énþ¶si7.¶Ô¡{M}©Ý¡Gtí{è \8a¡\95\87\8d\1eZiÿÄ1\ eª\1dPi\ fØÂ  VúGs¢QCªkÌ\9fw¯¨¯¯«ê7¼¾r\98;h§ºº\8af½ú\ fªª\1ePWYcû\ 4î\9a\8a¿ò¯úòeµóv.u8Ô\1cµfà\8a]FTT\ f/úTÕ\9c0¬¿\19MÇþµ55\95ýëkëvï?¼nDEýðºÊ\95|½¦b\88û¶¹°\1fÿþnÿû1ú?:Æ\7f<@\9e×a\83ª\86í_]9¤²¦þ§\8c©ÙWô{ó\8fùÿJ¦Q;\ f¡\f"g\ 4èh\8d\7f\0ãdÖÚÝqü 8\90\88üÎ|ͼ3y\947º¨N\ 3jûU\1eÜo°¹\95=+ÌïF5L17M\a\1a_"ìë÷my\9a6\9b~M/t\88\8ezLqÁf?ÙÍã\7fö"Íθ[q\99\e×\99$ºRãL\1d³s£\v­¯«¨\19öÿjë\86¬pÛ:\95\9f0ç]áO\8d~ao¥WòK\9eþ×{´>\9a\1f\ 6\90m,µÛ¹ÔûÈ\1f¹Ù~\v÷ØýPþÓî\ 1:\14>&Òî¡\1d\ 2ÕLd"þ©Û]]1º²Î_ùýn¥ïþa\15ÃjKþ?³\0TWô«¬þ§^y÷\8d\7fx\eVíHõ\80þ\99\81\ e¬«\1d>t\88ùë?5ØFßú7ZÕþár¡×¼º¢¾ò\98vå7*ßmwtL¨=ÿ¹\96\84F÷̼c¥NÃëkK\7f©\18V_YWõ_\8d\9e\93û®ÞÚ¾\9dºç}\ fî7¬²nDå\80¾\aV\8eîk;\rk´Èø¦oMm\r´Í±Ö\14¯Ô©²Íðâ?~©ÓPóóÁmÀ&x\12r£¢ßX\82%Ϫt\8a5\864o¤ßx\94egbo\8fø\rXvÉ\b\eÏ\ e¹V·\9cU´Qܤ\14".P\1aÒF\15DîSu\e¡£Ý'Uc\99\9fãöyñ3\fn¥þmì'ceÚïØOèÙZtu  \1a\r+%\1d»\9fû»³ÚOÕm°\81}÷)\ 5\ 5í¾ï~Ö\91ÍwôÉ\9eµºø¤ë±ß·×Ùx<ýÛü¿6+³¦zV\f;A?\99     ¾ommu©]\ fó\ 6U\ e°ÏÄ+~Ù¹ºjèPó¬\9aüz¿ªa\15ýª\9bõî^3¢²®¾øuïÿ«¿\99\aضïpûãPó\9f\9dºÇ}»TUWv,>ì[9°ªÆN"¦ÕÎf»éÝUs¼rDUÿÊ®L¸Þ\a\99_\1cí6"\17ÿ¶\ 5ÌTÒ\13\147Vô±%"\9fÐÿ\99g;è'}A\7fu_*þ\9b\95¿å\95¢\12\aó¸Ô¶ºÎý*ê+:\9aÇ`\\936½»oô\7fÖ¶VÓ~ñËuÖ]w½õÖ[\7fý\r6Ø`C×~U´\8dþÕ­|æâR6Ø`ýõÍå­»î:ëüò\17-\þ:ëÿê7\eÿî÷\7fØt³?n¾Å\96[nµÕÖ[o³Í¶Ûn»\1d­Ôж_Å­áL:³¹\82m¶Ùzë­¶Úr\8bÍÿ¸Ù¦\7fØäw\eÿf£\r×[ç\17Í.\7f£ßþaó­¶-í°cÛ\9dÚí²ëî»·ï\80ä\884É)\ f·-ù\974{.N\vZÄ÷½\ e\1dÚï¾Û®»ìôç\1dw(m»õ\16\9bý¾Í\86ë­ð\14~±î\86\eoºåv\7fÚiWT        Ó¼ã\9e{í½O§};ï·ÿþ]ºtíÚ­[·î´\ 3\1aÚ\81« 5\1c]g3gíÚµK\97ý÷Û¯ó¾\9döÙkÏ=p²ýö»î´ciëÍ7ùÍ\ 6ë6\8cà\17ëmôûÍ·Ýq\97öaÒq¯N\9d»t; GÏ\83\ féuèá\87\1fqdïÞ}\8e:ꨣ\8f>\86vlÑ\8e[%­|xÎuôÑæ¼}z÷>ò\88Ã\ f;´×Á\aõ8 [\97ý:íÕ1\r;ìÚ¶´Õ¦\eoX\1eÁ/ÖýÕï·(íÔ>ÌöÚ·Ë\ 1=\ f\88>G\1f{Üñýú\ f¨\1c8¨jðà\13ª«\87\f\19RcZ­mCWUsÇçTæ\8cÕÕ'\f\1e\5h`å\80~\15}\8f=ºÏ\91\87õ:è\80®\9d÷Σ\ e»üi\9bÍ~[\1eÁ/7üÝ\16¥v^²ç¾Ýzô:¢Ï±Ç÷¯¬:aHí\89\86\8f\189jôI'\9d|ò)§\9czêi´Ó];c\15´âØ\9cçÔSO9åä\93O\1a=zÔÈáõÃN\1cZS=x`ÿ\8ac\8f:¢WÏn\9d÷Ê\82]wÜf³6\eüÒM ßl¶ÝN^º÷þ\aö:ò\98ã\aTU\ f­\e>ê¤SN;ã̳Ï9wÌyç_pÁØqãÆ\8f\1f\7f¡i\17¹vñÏß\8aCs\1as¶qãÆ^pÁùç\8d9÷ì³Î8ýÔ\93G\8f\186tÈàÊ\8acz\1fÚ£ë>y°ë\9f¶Úd#û\b~¹áï·Ú±}²w\97\9e\87\1du|å       µÃF\9e\99g\8f9\7fìø\8b.¾ô²Ë¯¸òª \13&N\9a4éê«'Ó®ih×þl­á\98:ÇÕW_=iÒÄ    \13®ºò\8aË/»äâ\vÇ]pÞ9g\9d~ò¨ú¡Õ\ 3+\8e>ü n\9dr¿]ió\8d××\0ÖÙh³Ò.Ñ\9eû÷<ü\98~Uµõ£O=óÜóÇ]té\15WM¼zòµ×ÝpãM7ß|Ë\94)·ÞzÛm·ÝN»£Q»ógi\8d\8fÈ\19Ì\99n½uÊ\94[n¾éÆ\e®¿î\9aÉ\93&\yÙÅã/\18sÖi'\r\1f:¸ÿ±G\1eÜu\9f´}Û­7ÙPsh\9dßl±c\87¼ó\81\87\1dÓÿ\84\13G\9e\98±\17]vÕ¤k®»ñæ)·Ý~ç]wßsï}÷ß?uê\ 3\ f<øà\83\ f©=Ür{ä\9fi-\1fB\877çyà\81©Sï¿ÿ¾{ï¹ûÎ;n»õ\96\9b®¿öê        \97_<î¼³N\1dUW=àØ#zî¿g¸Ëv\9b\ e\ 3Xwã­w
+÷êÖë¨~'Ô\8d\9c±\17_>qòõ7M¹ý®{î\9búàC\8f<úØãOL\9b6}ú\93O>õÔSO«=ócíÙ\7fÐ~ôË:¼9Ï\93ON\9f\89'\1e\7fì\91\87\1fzàþ{ï¾ãÖ\9bo¸fÒ\15\97\8c\8cÑê\a\1c\ 1\9dÒÝwؼ\8d^\82u\7f·í®é¾=\8e<¾êÄѧ\8f\19\7fé\84É7Ürû]÷N}è\91ǧM\7fêégg<7sæó/¼0kÖ\8b¦½¤öò*j:8§\99\85\17\9e\9fùÜ\8cg\9fyúÉéO<úð\ 3÷Ý}Ç\94\e¯\99\85ç\9d1ºnpE\9f\83÷ßÃk»åÆë1\80õ6)µïØ¥×1\95µ#O\1fsáå\93®»ùö»ï\7fèÑ'\9e|zÆÌçg½øò+¯¾6{ö믿ñÆ\9c9sÞ´í­UÔìÑÍyÞxãõ×g¿öÚ«/¿ôâ\v3g<óÔ´Ç\1e\9e\1d·\\7fõ\15\17\9ewú¨¡\ 3\8f=¬ûÞáN[ÿv]¦Ðz\7fØÁßë\80#\8e?¡þ\94sÆ_>éú)wÞ÷ÐcÓ\9e\9eñü¬\97_\9dýú\9c7ßzû\9d¹sß\9d7oÞüùóßS{\7fU5{xs\9eyóÞ}wîÜwÞ~kÎ\e³_{åÅ\17\9e{fúã\ fß\7f×­7\}ÅøsO\1d^ݯwÏ}\93]¶q\ 3ØtǰSÏ>\ 3jG\9f9öÒI×ßz÷ÔG¦=ýÜ\v/½úú\9c·ÞywÞü÷\17,ø`áÂE\8b>üðÃ\8fÔ>^\85M'0gZ´háÂ\ f\16¼ÿÞüysß~ó\8d×^\9e\99i\8f>p÷­7LºlìY£\87\ e\90ý³Ý¶ý\9d\ 6°þfmãÎ\87\1c[5ìÔ1\17O¸nÊÝ\ f<:ýÙç_zí\8d·æÎ{oÁ\a\8b>üèãO\16/^²déÒ¥\9fª}öcíó\9fÒ~ì\0:\85\92%\8b?ùäã\8f>\øÁûóç¾=göË/Ìxò13\82ë'\|Þiõ\83û\1eÖµcûÒï×Ó\0þ¸SÚå°ã«G\9e9öòÉ7ß9õÑ'gÌzåõ·æÎ_°ðÃ\8f\17/Yú©¹ª/¾X¶lÙ\97¦}µbûúgi+\1e\93Ó\98³}ñ\85\19è§f\18\1f-úà½wß~ãÕ\17\9f{ò±©wÝ|Í\15ãÎ\1aUÓï\88î{vØ~\13\r`\83ÍÛåÝ\8eè?ô¤s/\9axÃí÷=2}ƬWç¼3\7fÁ¢\8f\16/ýôó/\96}i.sùòåß\98öm£öÝÏÜ\1a\1d\9aS-_ÎÀ¾\öùgK\17\7f¼hÁü¹s^3#xä¾Ûo\98xñ¹'\9f8 Ï\81{{;¸\ 1l±KÇ\ 3úTÖ\9dvþe\93o¹û¡iÏ\9aë\9fûÞBsù\9f}a.~ù7\ë÷ß\7fÿ×¢ý°
+[q\ es>ÆôÍò¯Í\18>]üÑÂ÷æ¾ùÚ¬g§=t÷-\93/»à´a\83\8eî¹Oð§?Ø\ 1l¹Û\9e=\8e®\1a~渫®¿ýþÇ\9e\15®ÿã%\9f-ûêksñßë\8aÿ¦ö÷\7fM³'c4ß\7fgÆðÕ²Ï\97~¼èý¹s^}þéÇî¿ýú+Ç\9f9bð±\aï\e\ 6°á\96»ïÕóØ\13F\9d}Ѥ\9bîzhÚs/½þÎ{\v?Yúù\97_\7fc®þ\a{Ùÿý/ov$?\981|³üË/\96~²è½w^\7fé¹i\ fÞuÓÄ\8bÎ\19UÝ·Wç¨\18ÀV»ï}ðqCN\1asé5Sî}ôé\17^{kþÂ\8f\97~ñÕòo¿ÿ+Wÿ¯¿ö\15\86ñ·\1f¾ÿnùW_,ýxá¼·^{á©Gï\9d2ùÒ1'ÕT\1cº\7fÜv³õí\0ÚïsÈñµ§\9c\7fÅu·O}bÆKoÌ]ðÑ\92Ï¿Zþ\9d¹û«÷êÝ\10~øëwß|õù\92\8f\16Ì}ã¥g\1f\9fzûu\97\9f\7fÊÐ~\87wIþì\ 6°u\87N½ú\9dxÚØ«n¼ë¡'\9f\7fõ­ù\8b\16\7fö¥¹þÖpù´¿ÿí¯ß-ÿò³O\16Î\7fóÕ\99Ó\1f¼ó\86\9eV7à\88®iy\0Þ¾\87ö¯;cüÄ\9bïyäéY¯\9b\a°tÙ×ß¶\9aë×\b¾ýú\8b¥\1f½ÿÎìYO=r÷M\13Æ\9f1¬òÈnéN\7f´\ 3ØÆë|ø\80ag^tõ\94û\1e\9fñò\9cy\v\17\7föÕ7ßÿÐj®ß\8cà\87ï¿1\8fà\83\1czìÞ[&]xfýÀÞݲvÅ\0üý\ e¯\1c~öÅ\93o\9b:mæ«o½÷áÒ/¾6\13hu_uã¦G°dÑü7_\99ñøýS&_|ö\88A}ºçíþ¸\81\ 6°m°ÿ\11\ 3G\9cséµ·?8ýùÙï,øøÓ/¿ù¾õL \9ay\ 4Ë\97\999ôö«3§M½í\9a\19YuÔ\ 1y»Í5\80_\99\ 1\1c9hä¹\97]wçCOÍzýÝ\ f\16\7fþÕ·­ë\ 1ð\b¾ùê³O\16Ì\9dýÂô\ao¿öÒsG\r>êÀ\8e»\94\aÐ¥wÕ¨1\97ßp×#O¿8gÞ¢%f\ 6µ¦7\80öw3\87>_¼ðÝ×g=õÐ\9d×]6fô     G7\f`»°KïÁ£Ï»âÆ»\1f}öå7ç\7f¸tÙòV6\83\98Cß-7/Á¼7^|úá»®¿ü¼Ñ'\1cÓc\8f\86\ 1tí3ø¤ó¯¼é\9eÇf¼òÖû\1f\99W µÍ ³\92ò\12|8\7fÎKÏ<r÷\rW\9c\7f\19À®[¸\ 1D]\8f:á¤\v®ºùÞÇ\9f{õí\ 5\1f\7ff^\81\0ÌK`\16ÒO?zïÍ\97\9f}ôî\e¯<ÿä!Ç6\1e@·£ªO¾`ÂÍ÷=1óµw\16|òyë{\ 5´\90\9a\ 1¼ÿÖ+3\1e»ç¦«.0\ 3è¹ç\8a\ 3\18\96û§Í\9c=×,B­q\0æ-þê³\8fÍ::ãñ{o¾ê\82Sj\8ek\18@)êvô\90SÆM\9crÿ´çgÏ]¸ø\8bå­q\0?|Ë:úö«Ï\99\ 1L\18«\ 1ìV\f îÎ\0&M\99\85×ß]¸ä\v³\b­îëmÖÌ2ôõç\9f|ðÎk3\9f¸ï\96 cO­9î 3\80\r\19ÀFf\0Ç\f9uü¤[\19\80Ù\ 6\96µÚ\ 1,v\ 3\988îÔÚ¾\aíÕx\05\fà\81'g½1oÑÒeß´Ò\ 1|±ø\83¹³gN»¿Å\ 1\9c6þêÛ4\0³\8fµ¾mÀZC_,^8wöóÓî\9f2qÜi\1aÀ\96\8d\apáÕ·=øÔ\8bsÌFÜ
+÷±ÿf#`\0ï\9a\ 1L\9d2iüiCû\1eÜh\0\a0\80Én\0­q#þo;\80\18z~zK\ 38¶Ö\fàv\rÀX\12­p#Ö\0\961\80\17¦O½\95\ 1\1cßh\0\89\eÀCO¿øæ{­z\0\8bV>\80Ó/b\0/1\80Öh
+­8\80«/<\9d\ 1ì¾\86\rà\e3\80yf\0\ f4\1dÀöv\0×´þ\ 1,5\ eÁ\vO\16\ 3Ø»é\0î°\ 3h\95ÖtÃ\0fý£\ 1à\ e´>[n\85\ 1Üf\ 6pb\93\ 1\fe\0\ f?óÒ\9bï·Ú\ 1üõ§\fàå·Z÷\0>\Ù\0\8e\apàqCϸxM\eÀ!kÞ\0¾ü©\ 3h\85\1eå¿Ù\0&¯Ù\ 3xð¶É\17µ4\80k׬\ 1\99\ 3\98ï\ 6pFK\ 3¸Ó\r 5ƵÖ\ e`õ·ò\0\9eZ;\80ÕÓÜ\0æ¬\1dÀêjk\a°ºÛÚ\ 1¬îö\1f1\80\ e`\15¶µ\ 3XÝí?h\0­2Qÿ\9f2\80\ e`Õµµ\ 3XÝmí\0Vw[;\80ÕÝÖ\ e`u·µ\ 3XÝmí\0Vw[;\80ÕÝÖ\ e`u·µ\ 3XÝmí\0Vw[;\80ÕÝÖ\ e`u·µ\ 3XÝmí\0Vw[;\80ÕÝÖ\ e`u·µ\ 3XÝí?#É÷ï1\805>ѽv\0«¦­\1dÀênÿ\11\90³µ\ 3X\95íße\0k<z}í\0V[û÷)AY³\a0ïße\0-Vò­A\ 3\96²<\80Ö\É÷cÅ kD)â\8f\95ã®ñ\ 3hýå¸?¹$}Í\18À\8f\90\ 2¬ñ\ 3h­¤\0+'Æ`\0­\9eWâ'Q\93¬\19\ 3¸õG¸UZÿ\0~\8c\9eçáÖÎn³dMç\17\19\9e\1a\93\84\9d¾f\93\84­©,g_4æ\99ëÛ2ÏÜ\9cÖÌ3÷O0ýµRªÂ\82\f`E²È\ 3\1a\93E¶N®Eñ67e»\\81®S\ 3\98ÕjÙ.ÿ!ßè©\8dùF[)aj\99²\96\ 1\1c·RÆ×%­x\0\vÞyí¹\169w\8f\1erê8˹ûn«åÜý\11Öã\82¶yêôç_\7f\17ÚæV¥\9e`[cÞé\9b\9aðNog\ 6P}ÊØ\89·\88\83Å­\90üþ'2\7f\8bºü\83VJ]þ£Üë]\8f:áäVO\1eÿ#ì÷a×>'´vúþ\1f×\1fèÒ§A@á=»\11´²G`\89¿W¢\0±mX\96°xæ%IX´>öø¿ýõ[§Áñd¡Áq@#\r\8e\15DD\16¶B\11\11      Ñ|º\12\15\94\96e\Z×#øû_\8d%´äÃùo¾ò\\v:4­_Hçïf\1153há»sVP\ 2j$etX!eô,RF\9f|Öº\1e\81Ô¤\96-ýhÁ;³g=]ÖbêZÖb²bR§\8f\9fx\93ĤÞYð\91y\ 4ß¶\9e\11 IöÍW\9f/^4ÿ­²\1aÖ\89ý\8fè\926\96óª\18zêØ+o¸ó¡éf\ eÍ7\8f`ÙòoÿúÃj\16SsÍ^ÿ\17æ\ 1¼ûÆK3\9e(ôÈ\ eÛ¿¬G\86 Zß\9a\93Ï»üºÛ§>þìK¯Ï}ÿÃ%\9f\7f¹Ü<\83Õ­\a÷ß\92\84ûë÷ß|½ìÓO\16Î\7fûµ\17\9e.\14á\8e?t¿¸í¦n\0»ï}ÐqգϽdò-÷>òÔó¯¾9ï\83\8f\96H\92Ï*ò­Ö«\97(ßWË>]üáûsßxù¹i\ f¡Éwö¨ê¾\874hò¡\8axÌà\11g]8áÆ;\1fxâÙ\17g¿=ß\8cà³e_-G\13Q\8a\88N®ð_uÙ\85\ fºü¯¿üÂ\ÿ\82wß|õ\ 5«\8a8Nª\88\9dÂBÖq\8b]÷8 ÏÀúÓÇ^qí­÷>òäÌ\97_g\ 4\8b?ýÜê:~'IJ+\eù·\7fE+\ 4*¿ÿþ»o¿]n.ÿ³¥\9f,Zðî[¯½8ÃêR\9e\7fÚ°\81GõÜÇßá\ f\rÊ G\ e\941\97LºéÎ\a\1e\7fúy3\82y\v\16}¼øS«¬¹\\92 ßYyÍ\7fAs:¡ß|³ü믿\f.\7fñG\vß\7f÷ÍÙ/YeР \17\9d{ÒÐ\ 1½\ fÜËsÒ¦N\9buȨ³Æ_yí\94»\1f\99ç_\9eýæ\´M?Y²ô³Ï¿@\95Õɰ.oÚ¾ùß·¦\87tr­_~\89<ë§K\17\7fb.\7fÞ;(\9b>õØÔ;o\9e|ùØ3G\ e©8¼Û\1eeqY§\8e[\7fÚy\97L¼á¶{\1fzâé\99/¾úÆ[sç¿ÿÁ"¤q\97,]ú©\13¾ý¢¡-ûy[Ã\81\9d~î§K\97.YüÉÇ\1f.úÀ\þ\9b¯¿2Kê¸S®»ê¢1§\ e«:¶W\97|÷í~§\ 1 O¼OÏ>\ 3\86\8e>kÜåWßxû½\ f>öä\fä\89ß|{î¼÷Þ_°pá¢\ f%Jü\89i\8b\eÚ\92\9f³5\1c\96³H¨øÃE(\14#P<gö+/Î|f:úÄ×O¼ô\823GÕ\ e8ê Îé®\85Àò&;x{v?üø\13êO=÷Â+&ßxÛÝS\1fyâ©\19Ï¿øòk¯Ïyóíwæ¾;oþ|d¡\17Ð>(·\85?ck8ªN\82VôüùóÞ\9dûÎ[o¾1ûÕ\97gÍ|öI\14¢§Ü0é²qç\9c2lðñG\1c¸OÔnë\8dí\0~¿Ýîùþ\87\1c\ 6\8dî+®¾~Ê\9d÷>ðÈãÓ\9f\9e\ 5\14ºÑçF\9dû­·Þz\9böNÓ6÷\7fÞ\9a\1d\8b\13H¬{Î\9c7^\9fýÚ«¯ ÒýìÓÓÑè¾ýæë&^6þÜÓFÔ\f8ºW×=ý¶[¶Ñ\0Öýí6»Ä\9d\ e<¢ï ¡£N\1f3þ²       ×Þxë\1d÷Üÿà#\8fO{òégf<7óù\17fI\1eýå\97_~EíÕUÕtt«\96\8ePúó3\9f\99§¦?ñØÃ\ fÞ\7f÷í·Ü0ùªKÇ\9d{ÚÈ¡\83ú\1eÑ£sÖ~\87Í\7fcuêÛlÙÖߣËÁ}*\ 6\9f8ê´sÆ^|ÅÄkn¸ù¶;î¶2õR©·\1aõMtègül­\89\8a=RõO>9}Ú\13\8f?ö¨têïºãÖ\9b®\9f<áò\8b.8ûÔ\91C«*ú\1cÒu¯h\97í6ÝH\ 3Xç×\9bm¿[²O÷^GUT\r\1d\99cÆ^tÙU\93®¹þÆ[n½í\8e»î¾çÞûî\9f\81\a\1f|ð¡\87\1ezضGVIs\a7§yðÁ\a\1e\98:õþûî½çî;ï¸mÊÍ7^7yâ\95\97^xÁ¹g\9c4¼¶ªâ¨^\atÊ:´Ýú÷\eþ\92\ 1ürÃM¶ù³\97ï{@¯>Ç\ f\1cR7òä3Î9oÜE\97\~åÄI\93¯½îú\eoºéæ[¦L¹õÖ[o»í¶ÛÕîXEÍ\1eÝ\9cÆ\9clÊ-·Ü|Ó\8d7\\7fÝ5\93'M¸ò²K.\1c;æìÓO\1eqbueß>½\ eèÜ1ØeûÍ7^ÿ\17\fà\17ëµÙ¼´KÐqßî\87\1cyl¿ACN\1c\94ÓÏ:ç¼\vÆ\8d¿è\92K/»ü\8a+¯ºjÂ\84\89\13'\99vµÚäUÔìÑÍi&N\9c8aÂUW^yÅå\97]rñEãÇ\9e?æì3O;yTýÐê\81\15Ç\1c\ 1\9d÷\88vÛqëM6ZW\ 3ø?ëløû-wØ5È;uíqhïc\8e\1fPU][W?rôɧ\9e\99g\9d}ιcÆ\9cwþù\17\pÁXÚ¸FmüÏÔ\1a\1f\93s\98s\9d\7fþyç\8d\19sî9g\9fuÆé§\9drÒ¨\11õ'Ö\9c0¨ÿñG\1fÙ«G×N\1dÃÝÛn³Y\9bõ5\83Ì#Xw£M¶Úa\17/Ùsß®=\ e9¬÷ÑÇUô¯\1c4¸º¦vè\89Ã\86Õ\ f\1f1bäÈQ£F\9bv\92k'¯\92V\1cÝ\9chÔ¨Q#G\8e\181¼~XÝ\89Ck\87\9c0xPe¿ã\8f=êÈÃ\ e>°ë¾{¦þ®;nûÇßn¸\8e}\0L¢_o²EéÏ»\ 5É\1eûtîÒ½ÇÁ½\ e;¢w\9f£\8f9¶ïñÇWôëß\7fÀ\80ÊÊÊ\81¦\rjhU?sk82'\1aXY9`À\80þýúU\1cß÷¸c\8f9ªÏ\91\87\1fzÈA=ºwé¼÷\1ei°ûN;l½ÙÆ\e®[\?#øÕo7Ûzû?ïÚ!\88³\8e{îÓ©óþ]ºu?àÀ\1e={\1etðÁ\87\1crH¯^½\ eU;l\957\9dÆ\9c¯×!\87\1c|ðA\aõìqà\ 1Ý»uí²_çN{ïÙ1\8d\83\ e»þy\87m·Ø¤Mãë7#Xgý_ÿn³-·ÝþO\7fn·ëní;øA\18ÅI\9afy\9ewì¸\87i{ڶתnî<\9c²cÇ\8ey\9eei\92ÄQ\18x\1dÚï¶ËNmÿ´ý¶[ýñ\ f\eÿj½_6¾~\ra\83\8dÚün\93M7Û|\8b-·Úz\9bm·+\95¶ß~\87\1dþô§?íHkÛ¸ýy\15µÆçÐYÍÙwØa\87í·/m·Ý¶Ûl½Õ\96[l¾Ù¦\9bünã_o¸Þ:M.ß\ eaÝu×[oý\r6ØÐ´_ýêW\e\99ökµß¬¦fÏÎu\98Ëáª6X\7fýõÖ[wÝu\9aÞýµmu¶¶}Û¶Ý¿fÀ~\15õ\15mÚöíÝÍü«m§îq_ó»¿T\f«¯¬3¿8ÈüÓ¡S]ý~Uýë«jk*êF\97:\9a_ù¥\ e\7f©¬¨.µ³\1dK¦Géສ\81U5æ\97\87ö¯¨®Ü¹´\9bí·om­éש{^ê2ü¿þkt©gŰ\13ì\1f÷0ÿ\98ÿ\1fnþÉKív.õ>\92ËØÕüËô¯«w\9dôݾM¾å\95ü\92W
+Ì¿{\8f6\1f\ e0\1f\ 6\9b\ f#K¾WêY:úX¯4Àüº÷_Ì¿Ì\7f\ 6´IÜñ\ foy8\1d\1a\7f.u8¨¶þ/\95ýkë\ 6T\ eÐ)ÿÁ\9fÛ\1dT[7¤¢zçR\87Ãkªú×\ e¨<´¾®ªf`©]EUÇ\8e¦g}EÍÀêÊ\8e\1d;×ÖÕTÖ\1d6z¨ù9Üù\7füUß}õ/\95Õ\15õU#*ÿá\97ÿR;¼f\80ùÃÏòõà\7f÷uÏ~Ý+æO\93Î\9døÏÿî\fîÎúÁJNaoå_*\ 6T\r\1f\e?±·\e|Xêн¦¾Yßî5UõU\15Õ½\86W\f¨«¨©oò\ 64=pumÿ\13FV\r+^\94,_É\15\1cY5 ~Ðÿ|¶\ 4ÿÔ\0ÿ¹\9bçýÏ/ËûGÃîVY5pPÃ\1aÀ_{\98Épè 
+¾~HE]Å\90aîô+|³å«hôÕn\155\ 3ª+ë\ eª\18RÙòÑÝQ½ö\9e\9a9`q¤}÷íÔ¿ÿð!\7f©­¯`9h¶\1e\19ÝtÍa\ et\1a\93fAû¸\14&\9eù÷\10ó9ñÓòçj}öÚçîsâÅú[l~ã~Nùv\7fúés\1c¦Å÷ìç(jï\97ì1â(ç\18:¾ý¹\7fùüösµ>çæ\eös\9aGåc¸\9fu|}O\9fíù«\e>ëÚì1ì57\1e\1fß«ù     \8bm\v\9f×.§k\97ÓµËé\7fêrj\16\8cº
\10tê^ê4¼¾¶d\8d̪ÿªløra\1a\ e¨íWÙ\17\ 3ñà~Ã*ëFT\ eè{`åè¾¶Ó°F\v´oúÖÔÖ\94"?M´*÷Ø·Maìö¨\18]Y·ûîmÚ¶=¤b`åau\15Uf@m\ 6\ e«\18QYª¨©áò*\87\9a¿\94\ 6ÖU\ e«¯­«,\r\eT;\92ß\98¯\14Ý\8d)}p\976ÿ\1föãB \rendstream\rendobj\r1150 0 obj\r<</Length 65536>>stream\r
+%AI12_CompressedDatax\9cì½wcê¸ò?ü¼\ 1Þ\ 3$!\81Ðl\8a)i\14cÒC\80ôJ1%\ 1Ll8»{ÿø½ög$wãFÙï\9e{\97ÃÝÜ\ 4Ë\1aifôÑÌH#ù}Õz¤ÐáZl$\11\1e¿¿Ä³Í)Çç¼ø[ïÙp8\13¦<ú*P\vzÉt\94\80B\85³Ì\87\9eå\85\ 17ÎyÉl\94À\ f\19ôv Â³=\8e\1fpÞËÁ\94\1d\vSv0öV¸aç?\7f°\83\e\bBÉÆ`:d¡l\87í6gÃéG«÷1PéE\9b\83 Ü  @7§P\96\8cÅ©\18IyÉL\8eL¡§Íñ¯¦ \fþ\83\9eQ\89L\ 2¾+r³qg0î\15¹?sÞ\b\99\8e{#\89\94\97\8cÇ)o&\91\86\ 2§\83\1a+\18K\91Ñ,\95\8dÇ\13ÙT&Idà\95d\94Hg\12Éx*AP\89$® \15\85_S$E@ñ4TFE³i2\99\8d§©t"\91\84\9ai®=\e±ãi\95çÚ¬ \94¸!Ç\v9o靿Ø{ÕìÁ\93¦÷\89\1d\ e¹?¼Åa³ýí\ 1V¦>\98Á\90\ 5®\8d\9aS/\99@<,\9c\91ñ\8fâl0ì\ÏF-\16ø\99L¢o\13\1f¸Æ;\ 1ª\82ZÑïèëôÇÙ\b¾©³Ó)t\bè!1Ô*Em+àKü       ¼ÔØÞ\0³\18\98ú\16\94ªå¹É¨É\7f\vb1\92 \bo\86 Ä\87\rv4\19\ 2÷1§\92Ùl4åM\12\ 4ú©þ.\95\84\8eàR$\12\11\19÷f2I/\95É\88OUæ°¿\ 6ì\1f9ï57fE\ e\14øi]\94a\12ª\13\7f\8aOj³!Ëß\8d\aSh\1a\85¾Ê\8a<¸â:ì\10Ê+ï3ÃfO\90{Iª?Å\ 2\8d&ßc§ vn8\9bb}ÍÈ\14\80Å\97Í¿X$'\\e\99þ(\ 2\8bÆ@g\fª;ý\18t?~\89ZþÑ\9bæ@ð¤Ø\8e\9b    ;np÷¸+\918\95ô\82"\0M2\93 ½\99\vú\86Z\10IgA¬  ¥M¤úS"W\18NY~\f\1c\96I®¹þò¸ó!\8dS¶£¥\91Â4\10\ 5\99\ 3hxTA\97\ 1° Gf\93Þ¤¨b\15~ÐQ5,N¨ÿÃ\84£ÀOô\8f$³q"\eϺý&\8bÿ¥)2\95!\93q7ß\88Ì\ 1qO¡\e²Ìâ\1f¥+\8dþ\13Ñ«:ô\ 4:^âFHç\ 4\84\vHª0&\86\O|¦ü\8e\9fÀë³\89È\15Qþ \9eU~0Fuz®ñ\93ÌGu8\83G\15\9e\9bMÎÆ]Î\13\10\8a\1aÃ\8foÆðKß[ägBßÛà¸!\0\9d®\80ôH¬\ 5=ä§â;ø{ô\ 6 Þ$øÛÐRÞ1£\ 3\ fÿ[h\94\9aÃá Ç7'ýAÛ\8c\8cÉs\85\9eöÙ\ 2$AAyV­\ 5ÿ)ÿ¿óÛõ6\16¢Y[õ\8f\14\ 2Ò×\v´ðÿ\82Æ=Û\86©\1c ½ã½i}Á\1fP\v\9e¬¼\r¾Ù\86\91\ 5\7f+e\è>\80Ô\ 4\8a\ f~ɬõâ2ªî[\17Ð<r=ȼåÎ\0ÚfA˶Lý\8fæ´Ý¿\1c´\ 4gj\97\83ñ\sñwM~ú\aÇ\7f#¦uئj'¸\10î7\väç\1a%~»|µâ8\1d²ã\8e ðAüSÕ\92Kà°ø\9d\8bfþ5jqÃ\810RUOóM\15\1a:h\ fÙú_`@\8e\9ck£Ù.ôC\ 3\15øÛòø\17;ä&\9aÁ(\96sÑÛasÜä\rb¿ÄºÕ\84\89\10\15\8fv5"Îu\aã\ e\8cªú\flb\15{¸Ñ\ 4Ù¢Þz¿9aq¯å\92u¥Â\14\9eÄ53R$â\89{\8bcÍ|Uá\9b\9d\ 1Lu`Pß\8dÇÍ\11\f¹\9eôUÐ3ÿ\15LÛPAÇóâ9ô\94â¥\ 4|\92ðIÁ\87\82O\1a>\99R\16>\85R\11\1f]*\97\98\12C\13ð!é8þ$è$|Rð¡à\93\86O\86Îxè,]À\9f"]Â\1f\9a\87A\9f2Q&Ëqü_\ 2>IüIá\ fUNÃ'\83?Yø\14ð§X.zÊ%ø? _¦\95\8fü\8f)3\f\81?$|âÒOñ\93Ð|\92ð\91ÿ?åA?\f\1fÊä·\94òZ\ù\90Ò\87@¤¡\ 1%hcÖ\ 3M¦ \v\12ê\1cQ&¤\86¢\7f\88\ 5E`J\1ax\94\ 4\9e\914\ 1\9c,\ 3O\8bÀß,p\1añ\9bÂÜGRH\94âH($|\88\12Qd<Ç ¥x)^Æ\9d\ 2k/\91LP      äïd\13E$:à$\93\ 4ã\b>Éd*\99NRÉL²\0U!ñ0)"\ 5n\f|\92)*\95IeáSH\95< 5\ 6\98NPà9Qð\ 6\95¢ÒT\86*PYª\b:@S\f\18puâéd:\ 1ÿQiô/\93Φ\8bÐÞ"H»\9c!2$ü\17Ï$2IO\86ʤà¿t&\9b)àÿJ \f\8fÉ\12Y2\9bÀÿ%\81|\1aÿ\87\f;ô_\ 1Ô\8cÎ\16á¿r\96)\10 w¢@\16â\85\84Gü¿B²@Á\7f\99.d¤\9fÙB\ 1ÿW(\14\v\ fý¤\95ÿ§¥ÿG
+$ÿ?S =ê¯ø#?ÖþFKÕ 
+J¸zô)H¤\8aÊÿã\8f\a\17¢ÅW±\94È,Y \8b 9\9a\ 45\0U$á\ 3~%\88\86\82O:\9e\89\85x\11¤IKò$°D\91L\91\90Ò U$WQ²´'Aà!à£\8a7\85\84\ 5\ 2\ 6^\82\90E1£a\84\ 4MÂ'\8e\8a¤Ð?*\95\ 6\81\8b"/¦°~\89bg@ìHðq¤FXøè_ZR\80\ 2(\80¨\ 2eI\ 5\90\12ı\12@\8d¨\18¨\ 1R\84lºàÁÚPBc?ͤ\19Ð\ 6\ 2k\ 4Ò   Ð
+P\b
++\ 5R\v¤\14H-Ä\ f(\86ü\ 1Õ\0¯\0õ:\9bò@kA\a¡rñ\1fÈ\19´£$}\90\96Ðè'h\89ü\89ã\ fR\94$V\14¤*\14V\14¤*\19\ fÖ\17I[°\94\88Åÿ\91s\9f¸ô\ 1\ 1\a\16\12\ 1" 0o\894f\ 4h>nc\91@C\99\ 6\`ðÛà\1e\93    2       â\ 2)\900\88$Å¡±Ò\10\1e\8dÖ\88:#i\fÖ\96\15uüÓ0ú  eìË#\9f\91T\ 1)AÖ\ 3ò§ñhG"G#]\1cåH¸       ,Ò\fp\8bÆò\8b\83Ê i\15ñÐE\83\16\rWq\982Àh4\1e\81©\ 5Pûr\91(\92ÅD1UL\17³0 \8aE\1a\80\9a\0àJàÙ\84³H\ 1Ï 0\7fH3G\ 2Ï\19\14\9e-²Ò$QöÀÜ Î
+É2\ 5R"@N Ó8\80\0   ¨ÀHr/\81.\14°^d Q\14Òl\18\a      P\9e84\95\0e*cÌ)Aó\v\18\87\19
+c\13@T\ 2k&`\16è*\9anh\8cdHS²À\814Ví\14Æ;¤ðd\9a\0\14D8H\ 3¯Ð @è\98Á\ 3\85\ 2.&=xüÄA\86\ 4\9e/ÊÀä\12°º\bJ\98\85\81\87\86\v\ 5\ 31\89ñ7\ e\12\ 1ý\80\fòAP_\ 4YeAb\19\8cÙ©dÒ\ 3BL\80(I¤L0ñ\94\bà\8b\89\ 2\b\e\r©4PL\81\ 2$\ 12â \fd\82\0\18)ãù¸\ 4jR@\9c\80N¦Au\80¢\at(\ 1º\84p\88\80\f*F\ 3>\15\81­hÔe`pS\b5@\19\13P\bý#`:ÅS\18\9a}°ú\ 2cA¡\91Z§<¨aXñ¡\1c\1eM >íLFáY,\81'0\98¼`þ¦Á\84(\82vd\8b\19Ð\13
\93\ 4\9d\89\83æ\10\80Åe\f E\fè\19\90\ 4å\81\ 1\9c\94D/\v^\16»,tQä²ÀeqËÂ\ 6QcIKrö(b\96\85,\8bX\14°,^Y¸X´\1a¹ÊR\95eJy$\91b\81\94\85)\89R\96£"EY\86²\ 4Eùaéy4Â\93E'ËM\96\9a,3Yb²¼Diɲ\92$åAz\86å$J)éõ\7f\14y0÷\88h\9a"\13ÉL\ 6 $\9d\ 4*^"
\9eD\7f\80u\90\81ÿ\83o\88l\96LAõ      4Ug(1®\16¥\80çd
+X\ 4\16A\8aÄ\11\1dý7q(FyS¨4\90«{ü\1fÿWä\8a\ 2êY
\9b\ 5\ 4K$³\14\81\ 2L\14hK&\9eJ\81*$A2ø\e\ 2\98\9a\85öd(\90\11|\93%H*IÄ\11åx\82\18b\1c,d\7ðOÓ\99¿\8b\ 2´¿H+¦¾lÌ»³ï½qÂÄÄGßb*ØÊ\9fkºg®é\9e¹¦{æ\9a\ e¨\8c>ZmZ+G\88¿\9dç\84\8eç\7f\93Dÿn\8dq¡/Æø%\99qí/\ 2sÌô     ¾Õz\8d\80åè\93U>ªY,þÃ\8e#`¿ø)K\1fFüà\89C²Ë²\ 5õ_Q÷)é>´þ#V¡Z{²Å'\7f2Ò'«|
+FB¸
+l°ÄaÊBn¯ÑXA¦\8a\88Þ,òd\91\ f+Ú))l©\80Õo\8bÐføl\80çߣ
+í°\86ïÀU\83ù1\95MÄ)¤¤©l\16¬Ä,ü\19ÇhL%Ó\99T\1c¦¸,ÌÄø\e\98T\89D*\e\aÏ\ 2Ê"`'U¸\86Aàâ\vÓ!ôÏ·å_=½\90¤)\1c\90\e8ØÀÁ\ 6\ eþ}p\107\85\83ø\ 6\ e6p°\81\83\7f\1f\1c$Lá ±\81\83\r\1clààß\a\aIS8Hnà`\ 3\a\e8ø÷ÁAÊ\14\ eR\e8ØÀÁ\ 6\ eþ}p@\99Â\ 1µ\81\83\r\1clààß\a\aiS8Hoà`\ 3\a\e8ø÷ÁAÆ\14\ e2\e8ØÀÁ\ 6\ eþ}p\905\85\83ì\ 6\ e6p°\81\83\7f\1d\1c\98n;Øì:Ø\80Á\ 6\fþ}``ºé`³ç`\ 3\ 6\e0ø÷\81\81é\96\83Í\8e\83\r\18lÀàß\a\ 6¦\e\ e\r6`°\ 1\83\7f\1f\18\98n7Øì6Ø\80Á\ 6\fþ}``ºÙ`³×`\ 3\ 6\e0ø÷\81\81éV\83ÍN\83\r\18lÀàß\a\ 6¦\e\r\f6`°\ 1\83ÿ90\98?I×öÐw\92\10\1fÕï+Ì\0\9dÔï\89)¿zs\9eØãÕå5×aѯô \8d.\17\7fÙ=8ð\ 6þ\1c\rÇð(Ò\9cNùAk6e\85 7ì\89\15x¾i(Ñî\ f\86\1d\9e\1d£çqoì\f`Iy\86~LÿBg\ 6\87=\81.nP\92Ȧ\82ÞØÝxÐ\86\87u¨}ÜÓ¿ð«9\9c\89o\f:PÒ¬\b\82AT\ 2\9a\81Ê\84]´ø·á\ 2[iÎ\ 4\1c\17\87\8dôBܰ)9Ç\94ÿã\9e¥¢\99\ 4A¥Q\1e­»\ e     Ó\ eÍþ\1aà{>\wMÿ\92\eÉ[ô\85´é\8b¹Ö©-×\vÑmÛÃ\7fKSð¨rÛ\84\18Ív½\a¿3>¤\0j7ø «\16pc1´ü\8dñ!\1eÍ$ѵ9®\ 1o\83\ f\e|Ðè\8f\14ݪN\eÝÀ\14\ 1+\89å'Ü\10+CDä\84àZ\93lëø?\1f="e*In¬'e`\ 1\87¬§T\ 2<&\82Ü ã\ 6\1d7è¸$:&6è¨AÇÄÿ\10:f²q\98û²\etÜ ã\ 6\1d\97EG×Ãçß\80\8eIצÖï\8e\8e\14 #A¤\92\9bÈÛ\ 6\1d7è¸$:¦â\etTÑ1\95ø\9fAÇ$Z\97\93\eÛq\83\8e\et\\16\1dS\8bù\92ÿãèèÞ\11ýÝÑ\91\8a&ÒIÊ}Üd\ 3\8e\e\80£\ 1\1c³\9b%k\r8.¸Áç7\ 6ÇD4\9bJ¤2îã&\etÜ ã\ 6\1dõèH\11\eÇZEG\8aü\9f\13Ñ4IRé\14µAÇ\r:nÐqItÜØ\8eZtüß±\1d\93Qt\8fz*±AÇ\r:nÐqItLg\16³\96þ·Ñ1½àÖøß\18\1dSÑL:M\10\9b%ëß\1f\1dÅ\f³ò¸£æ\97-\93¥\96\15\9f\14øi}ú×\90\15\8b1÷Ç\18ÿ\ 1\8c\ f\14ÆX°×@\1e\v\ 4\17+?\8d\95¸Ñ\84\9b\8d;
+L\aJýæ`ì\15\v0R¿P\96]L*\829u?\10\ 6­!®p¾\86ú´Ùþ^ \86bS\18´µ¯óÜ7ëþý8~0¼á¥\17Ãú\81\ 6]ç¦5¶Íñ\1d\83\1e\8aÅ$\ e@µr\1aáã_\1eÂ{\ e¿|ÁW\7fxIÂ{å}y#¼\1døú±æÁE:\1eQx^\8f7 ©G\96+\90\ 5ÁzcÕ&?5éY\89\ewf\83©\9bNÙÔ\82\0wmy\81êZ\9d\13J-\88\ fÐ\92\r½\81;\81-ÿbÇ7\9d\8e\ 5{lúXèp-P\81û\8aÔEo¹ÛeÛÓ n¢EO\ 3Ê8\12\vG\9b\83   (~u8\83á\ 1\ fXi\b\ 4Ôjáqc0uæ\93m\96\80Böî\8c¾\96\ 6¹\86FÎî]z L\86Í¿Ä?]jQqÈ\8e;ëR\0\ÙÂ\1a \8a^}ßRÈ\9eXùO¶=CmÀ\ f$Ûp\1e¥¼\89Lz\83T\e¤Ú ÕêHeºëÊ%R\99¾»A*=Re6HµAª\r\8eT¦¡\b\97Heúî\ 6©ôH\95Ý Õ\ 6©6Hµ:R\99.¸»D*Ów7H¥Cª,¹Aª\rRm\90j\rÞ\9fÙâ·[ïÏìÝ\r\91*¾Aª\rRm\90j\r\11\f        ·\11u³w7H¥GªÄ\ 6©6HµAªu ÕòÞ\9fé»\e¤Ò"U\92Øx\7f\e¤r\83T7k> ú±éY\80½ä¿\13þÌ\8f\97v\a\7fæïþ\8eð\17ÿ\aá\ fóh\83\7f\eüûo³ÔnfèÏÊ\90ûÃ\1e£h\9e\9bÔûÍ\ e÷\87%<i«r\aO¿óÜ ´\87<æu4ã\8dÕØ&p\9b\9b4ÛÚͦ­á¸#ý-\8ac&°Õú¥¸¡5ìIÉﵤ/HJzQd½\88öÞò\9f\93&àb\91ír<ë½gyAÙ\97û\8fCê?hQ\92ij\ 3©\eHýo\83\8d¿\v§\99Ù\7fþó\97÷ª)|Ûã4.ç`G2lsÚwoD\92
+\0Ö\9a\9dÁLØ`S<¹\81¦\r\17Z{¿\9bcj~\82\96ÛµN³w\7fGÇô\9f\8d_ºAª\rR­cÿØ
+»2LßÝ \95\1e©6îÞ\ 6©6HµÉsüý\91j\93ç¸Aª\rRmò\1c\7f\7f¤Úä9n\90j\83T\9b<Çß\1f©6y\8e\e¤Ú ÕêHe~S¸;¤2\7f÷wC*"J\11ø_<\91I\92\99\9f\ 4±A®\rrm\90k\93¡ý»ÛX\89Í\1eý\rRm\90j\93¡ýû#Õ&C{\83T\e¤ÚdhÿþHµÉÐÞ Õ\ 6©6\19Ú¿?Rmö¬o\90j\83T\9b=ë¿?Rmö¬o\90j\83T\9b=ë¿;RQÔß\8aT¦:VCuzK\1c?ÆW\90Ùé\17.j©U\86\8aÜ)\96\92ÒÎÛf\82n0ö\7f\ 6c\7fßäjr\1dÀý? N/ðms6\9c¾iЩ>\18M\86
+:a¹JÍ#ñ\aË¥¶na\17Ü\v\9b\94\84]\ 5\90\9c\86/I+\8f;\ 5å\8a4Ç{ÖªÍ!;\9d²¸\87ÕÖ\9aû\14\ 1\raÊãûóÞ\82\98\83\8fÿñ\18¿÷TÛ\9ejQi¬Ü¦En\83»\84ê´Ò\9cã\ 5.°Ìµs$!>ªÿ5jqCTÍÿ§¹ÑNÿ¥EåR[i®=\e±ã)Ý\9c6=þ\8f\98ü7(\19úK3\àop\7f\12\f\94³¬\17´ºÅ5ù\8e\17_³       |ìñ¬x\9f\9f\8b²<Û\11K\92T"\93PJÊ\r(5Ç¿\9aB}ð\1fV*%Ã\ 5t\93ôVyV`ù_¬·Áþ9õ\96;\83i³5\18\ e¦\7f\89\855÷>Î÷Âò¾D(*ß\98èPÅ\1aê·¸\bÑÿawäÿ#0b§Í\ e\bË,¸oz?"¼ãöÞLܪAGùuU6ýwsÚ=\7fùN7×lq³é\ 2lÖ¼óûp{E\86\19:\185{lLøÕ\vA\ 1÷ÜÝ\9eÂ\18\ 6\175*l×4Ò¶i\ eW\8cB#:í\\97ãGÍ\ 5\bDÿ n÷§ÓI.\16\9bÌøa\94ã{±N\eþ7\1a \12À
+0ÓÎ\90¬\16\e\ 1\0ÉÜ\8co;¼57\bÔ×Ü\8f\83¿SÌbñµ  ù7è\10ò\f\17ëÑßÖ\9cv;÷Àñß¿Ik\90úÕhæ\7fcHï\8e\85\8f_M^8°\80JmÇÑ÷\82\vH\95\v®i\86ú\a¹Ó\1a\8c;ÐUÒ\ 5s\80\89uv*\86Ö\9c9¤-ýw\83\81C\1fÇÜØªÉÚþ\r¹ö7ët¯<n\85\òÿÔ@ùÛF;HjÐl\rY7\8aÿ?5Ðs¿\\ fuTô\1fÖbÔ½öL\98\7f\16Éþ>=Ì M\14ÌA.7@\87[uüÛÇ\ 5´å7jÊÿÂ(\15º\7füƳñ?<\f\84á ýß\8eÅRèJ\S±êè\1f\83δïF¼RÁ\7f\16\7fI*M\11Ñ\94S§úì ×w\83\17\7f¶[\914\95\8d;uêOW\83ð\9fïJ:K:uå/7]Y_´tYe\93\83ºVÝhqS0\ 4.Ùîô\86\1fô\ 6c7½\9a\7fç7\98ô1ÚÕq £\88\96\ 2|ÿÕ.\19aòT˱i\93ï±S°\ 4Ð\9a\85pF»\11ýü;ÿ°1[½®Ä\93\8c\1c8tR\92î`ÈÚ\16ÖuV[ú¿ÞAwD\82\1c\v\93&T×v\85múòÿ¬\1a\10N\9d\e\8c§,?l¶Ý¹åÚÒÿ°~o3ø\9f\vÝ\ 65\9d²%´öç¦\8bÚÒ¿¹ìÄýVî$§\96ýÍ;5æ®\16\92\97¾üo0ß:\ 3ïÿ\99\9f\94þéÖp\93é`4ø\ fÞåð»´  üä\7fº    ò²ú\9aV&²+6g»#m\83p3ø4\85µ\86\15Þ(¡ìç\0YÏ&ÞËæ¸7köXo\95\9bÌ&JyÑ\97(\ e\83ìæ{µ%ú\875äÊi\9e
+\ 3~)\13ú\99P\90¶~H\eaÔX9áÍ\10\12\81*\a³Z\8d\1d\9ahµ#6\ 5ª\9c0@\95⧤Ä\e¹:¯É±\jÝ$Aà\8d`.+\8f\8boa/\11ü«¸æE\¸6\e²¼Ö\9f\90¹,m©½j¢U-I\13E\8eU\v5\83®È-Ç\ÓWSâ¹I\81g\9bâ.TùY$¥ã\8fØl\96\17&,.Vá\a\9d\ fèW\13ýÁ\f9\8e¿o\8e\aB\1fX\81ËëI̽\88\84Y\1d6Ç,Þ \87·ÏÔ§Í©D=C"Vd\93s¬°®§ÁM4tq\ 5\99ä"\15\14±ë¦­\83JÇ£\84t^\10\99Jyq¥nê3ãD:\9b"£Yñ_&\eOx3     2íT\e\1a\10¸q%v8,ÿ9\9d\egsäUU9\ewØ?ël\9b\eKS~&\99PúC\12é\8c«\16¨üY¶ Ì\80\17\1c^Áêc­\rV¯)ÜYM\87\94j\96T!åý9\rJ§IEæéLÒ\9d\ 6\89 8¯@ÚMh\84·;D6Ï\98å½\13y;\1a÷\8bå'h\9f\9ddê¤Õ-pº\17ø¦\0\86\17Ðäxo«    M\97w@XÑh\ f\a\13o\9bC+\a\7fzy¶\aÈ%ÛS\ 6èMJ4ÛÜ\907Ø{#|\ 1\91\8e\8c0á¤Þ%(\19º&ÍNÇðfs8\90û$Û\96\9dÉ ªLB\853oa6å¼5Ü3eÛ^*\9e\8cg¬·\ 1ÆÕm\80\8e%\17Ù\ØR¦(Çj[Ú¹N³ÅP\9eT½ßc®ýÍͦÐ\0N3g\9a\15\1d\b\1cÈ\8b\85:Y¼Ü<W8ë\9d4' La0\9a\r±\r¦7×Q    ­ç
+4\a\1d(­Ù\ 5\13ir\8c\90Ù¤\ 400ð(éW\8d\15Q¿¯| É¦Èýùø4§quæÁ[B\8aÖà¼òlef\b\88ÃLc      hµ6í­Ï&hH\bÞ\87þ\0Øq#\8f
\91/Wlg0\eyk,ðk&íÃ5Nåfæ\v£\8c\ 6¼\ 1têÕÌ÷)¥\85\889W¬ÐWt\113ZCMRwB÷ÆÍl:\ 1!Û¿\13 dæ\12欽\1f°\7fhX;\17`ѹ>uvxÚ\9cB\1f/¹vs\88ú"hL\ 3\8b²gÈû?£µ%µ\8f\e\fQ\95\1a\f\16\96­\12\9cjÂó\ 1d4Ù\96~P\97(\b\v\9c\82\912\1c\8cY¯¸kÏ\ eÑä\92\ 2κ\10æ«¥4\85\9bãéÀ\v Ô\14ô#Æ\bÝ\r5¤¤,b\18Ë i´ÄÍ4³¨y9<'Þt»\ 2+#¤eQT¥ºY9NÅɤÍ\8cYQ¡,å@}Òl+Û\9aS\99l\86´©¶¨\fǸuµ§\1ch77ÖÊ=\95!´F\16iõ*6D´öG2\95I[õ\137_ÛQ=\11+\1a¨\1fZ\12Ö\1dÁ\11~-{\12ñ4\95¶kMM\9ek\92\19ËZÑ\0\ 6­\a³~ªÎÉ®í\10dûÈ.\85Sû17u\1dÐNk¦¥\95\ e\ 4Èl\14Ø©\19¤ß\853f6\1cÊ\80)ÝC
+OeIÙ6\83i¶Ù¸7d]r²¨\ 1\91)\0n\ ef$`¿\eoE%kÝ\1f¤\16\86î ¾Ú\f\e\85«vÝÆô5êLª³\a°¾Úä\ 1½\ 1\98\85ú¬\ 5pÁp`\ 2Ö\90.\°\7f\19P\ 6O `çê½lí\f\þsÂñS4\a\97êu\8b\89ÄÂæ\13+8m\]zåè\8e·\ e:\ 6-\93\ 6þ´94Æ     L^Á©:ÚÕ\ 5\17\ 4@ç¦\83¶¦zm\9fôoT¸K`,Ê3\ 4\1eµ\86sÖÍü\e\r\1aÏ=ZØ"í(\9c\8dÛÃY\a\91@ÃÁ0i\98¾\80v<_5'h.V'|[&\89Ý.\8f&Ó¿\10þ\vίÈDÔYÊ(H\ 3Û¤nx\1f¯ª®Êã|1\91¯Þ+ñºã9FiËÀÀûÓT^ÚB\ f\83q\87ûCÝy2Wb M¾1P»\13X±Û`\15¶ºÜ°Ãʶ*Î\aÐ\ 6\1f¥.ë\vkm<\83¡ÊMþò\16\9bíod\98Ë\1e¶^\87èÙd\b*9ÅÙ\81¬Øä"Ûoþ\1a(+\v\ 6~Æõ\8a^Gë¶\9a\97qjì\18Y¤H\84ÞW\82HIªµè{É%ßKHïe\16|O\8ap\91Ù\ 5ß#Í´Úá5  vݽ\ 2\ 3I1\9c\ e\9cK\9b\8bÍÐ+\100(\94\ 31Òå;b\9f\b\89ïÄBo\91fÀãô\92$ªøboeÌ\15Êá­ôRoQK½\95\v\87\97\92æzëðV¨OÖ\1aa(\89\8bHÅÕ\ 5\12Ç\19\r`N\99¬\ fL\8b\98+.I¥Óé8\99\9a\9f4TdójÖÕ\8chi,*¢gµ)»i&sª±b¯>Î7×G\15Á\vÂ\1cÞ\1eXU­ï¶RLëÑk\9e+Ю3¦\90\90P\1can:Ö\95*\8fZl§ÊshC\84bn\99WX¥\19ó\19k¾Ö\87þ Ý7Öz\80\8c8%cÜ McB¹Þ\99M©]¯\ eþd\87``\8ag\8cèÑÕÝ\9a\8d\8c\fà\9aãÞ\8bQ\v}oàY\95\ 3\95{\9a'È@Õ[:Ú*ÇmN\r_Éo]\ 2\r9&$o­!µ¡­1§Æ?½\831\ eV¢5\16yQË<ì£\89÷Ľ\85\18\8f>6\80"\8e((P@A\ 1mk\952¸>\1cÎ*IqÓ\9a6n:WôF
+HÔ­\ 2\12ºR\r%À¡\8dòâ"¢8b÷bx·h\bïê\8aÞ\18"ÆÎ\"½åjÝ=\9bPa\13>9k.nfL]¼\8f}q­¨ð=\98´ ;ßF42\16\9c\80Æò ¹\ 6ÇÏX\8cg¡ÿ\ 2\8b\b\eÔw®BĤæPò.L²s\8d/ÈñQ\17­hsá\ 2\81N\r\90ëÕ"\eNIGj\7fÎµÎÆ]ΫFàô\89ëH\1a\8ej¦/ÖÐ\ 6ÒT\94ÀEl\96\eÄ\12.4QB\ 3Ñq\9dÎG­á9>»\ 6Ç'\91ËcÕ/ë\91¶¤²µ\ 6ÓQ\13M\0º\18¬âHk\8bOz£ïh\vyÖ\·\e\15·\80\86EñQ\93ÿ\16\8cÅͤ¯¯|&°\80ÐØ\8b\17\)£0\1d\8aÊÃò꺽\9bw&\9d\11<\1e\8eµ\ eÐ\ãPÉ\8e¸²\ e/¸®\L±QÞ0\13ÁdÂKÅlX\ 3e$ê\12»É¸)á\9cf\7f{:kYJ»_\9cÌX\95¾ctÈvå\92\96õ\89\9c4s¦²Iû\92¼J>\9d1×5¥¬Vq\ 2\85áÚñ¶þòÒüà\17>îËF\b¨\96±\16³ç   µ\r\³.¤e\9aMU\9c&\96mS\99¡Ø\9cÐq)¼Le\ f«\1dV\18ôÆ&6\86)´¶¤}Ñv5â\82Ø$sQ®)\88\0âzÆÐ\89c¾×C>\8aÆ£}\8967\ 6ÑOѪªM_PIÅV\82ù´-ͧé¸ii¾\13åø\ 1\98\84&\91)cÁ. p\9fãÿ#©»E©\89´ùÅN\170Õ^ÔVù¤2¿æ\82¢ÆR\ 2
+\ 2Ëu9\96ûeßG¡=\19¶ÿ²F%±L{lÜô`,3\ 5'@3ßYôï\17Úm;qæ\83TΦíx"aÇh\89Î\ ewQ)A>GÊQsqq\11§Õ\81áæ\1dPyél\0Ü\92h<e9U\ 2Ä#[D\8fE6ó¤C\996ÏM\1c\8a ûq\0\96\94C1^sh\93\13Qäë¶\9a¼`#GýL¯N/.
+O9ã~:ë²\9a\85y¢6ÃEa¥\19.ÊòºXú\1c׺ãi´3´\87<±Ì\84ïrc;¼CÅ\ 400åuT3\19  ÐÑ_ìÐÆÖ\10À"D6¤\8d \85è\98í5µ{èL\vµ­\ 2\vså`º\19Û×5$Û8¤ uÍ\1cÚ \9cÐo\82\93ÃÚp \15b§hÍ{\fmS\18aZ\9b¾TÚ\fçÿ\9cDu;\8bpÓÌJñF\13\eo¦0+Ù31ÆÍÊI³àtÎu1/'î\0°/9\1cØ@\ 6\14@\e\ 4\9a:\17×¢ 7iÛ 
+. ØH\1c\17è̬\r\1a( Hû_þ@Û_ä\ 1énÛ\8b¡&{\93\ 4\9c[Áy>Á¥º³qÛF£Ä2RLApç×àw\9aã±¼\7fÌ<\18\80K9¹\11í\91Æ´
+ÜEëQï\ 3Û\ 2g\12¼ò\8e÷5P\7f¸©¾\ 6½¿âö-\82j&¼Æ<4\13\ f\94A®Ø`l£\99¸\1eqK_{ô×·\8d\11¡\16ä¦}eeK{\82£]s¹á\90Å\8eñµk\17Oô#ÍB\ f\ 5ù\ 5mðA»+J\f8UÐÙ¯(ºØ\1cw¤mRv\e£Ä\97.Q ¢À\8b/á3÷\8c/é)\89\ 1\81EI\89o9Ó\92%Q¿¯Ð\rc$\12¾D/Ý\8cÕ\188¡{6\9a\fçÃÝ(XÚëêg'ø\ e¯\837æ³ÔPLd6å.À£\9f¯èQv9\f\11\96Æ|þÍÜV\89qÓ¸Ãp®H\9fûãt \8c\15ñXá*ÍHq@dÕ¡\1c\ fn,\18\83«ç\Ë{#>ÒD\v\81\1c\97)ÔKgg\99\14Í"\85E\ f\93'7»/¡Ã\87£½\83æcø<±{\13)æùʨ\9fë\8d\8c/\1cØ+\r\9aQa\87º;-SÛ¹ü]åø*y\92»|Ý»Êó³v\9a)ǯ2~2\99Ü&\b\81þ¢{ab'\7fð\1eÝÏ\1f\86'B^¸\88Ç<þüÁ¥\8f\97\v\9dO\8b½ÓÛËüa\92­\97\ 6GÇm:\1aÝëÍ\91ºì<\ 1½4ÍøséçÊ\94þz+&\9f#áÂ\88»\14
+gõi?tLmÏ\18:¹óPü\1aî=xüt\978o\99\93ÎvÓ÷·/¯\85F)zoMT[.÷\96?üfÞò9!:
+Ñaÿ\8c   T:]\8f\1f3\8bùü¸\99ÑÝ·\87tq\98\1f>æºÅþ´ÔO?\93:v|îÒmòò'\7fx²÷ Ö\ 3M\16Jï½w\ e~Ûý¡Ï:g¾b$óµS¨G¶Çb\e\1e\9b\9d\99Ç\9fý
+\84Úåvê6Pê'?\ e\ e\vþÄn¨x\1dþ\fåK{wL\89\9dí\1fß\9f\ fÚíæ7úm\10*w/û"e\92\885Óü`ç37x?ï\14\87þ\93½\b\1fz\9d\15.ë»?¨ýÁüÁy?áñS\a÷où¸½7
+\1d]\1dÄÒ£×£A:\1d\13º\89\ 2ß>#Cß9R©±M\9f\v÷À¶ô\1e\9b~H\10\9dÜ \14k\82|É«£@$Ì\16\87éêHìÁÓ¥?_:;Ü~(\87³)\ 1äröBm\1f§KÜ{èð¾ó\92\8b·¶ßpµÇc?tè\98ÚßF"y¡\1e¨Û1âÓqñ;HE$Õ¼ï\\12äÛö\15\1dk\1eî2¾Ð3\8f¨PèÁ;®\ 5\17ñø\89ÖÖY\12ÿ\1e:f\ e¥ß\ e\1fÊ\17bñR¸ü)V\16\7f\8a\9f\81ê>\12¡ããr8N\9fô\8e¤z\1e\8e\ e\ f:_×ïX\92J\83¡¾\9bbJ¢\ 2\85\8açJ\ 3ÞÔ\ 6\90\81£\1a*Ä&ñw)_\91þÀ¬¦Yá$I=S_íB\83þ
+ÑÝØÅO¹ÙÜÛ)R­»ÛlÕÿxW¸)\15«t·>øÉÿ¼åz\1e\7f1ùÔø\10\99ùLu\9eË\1fdè¾\98|,Ü0ô×ÃGiðEÅ\ eº#\7f\8f)u÷I`àñg:]ëp*½LýgtQ¸¹Ü¿`è`çBä\8dÌhQ÷AúÓIô6trßü\11;tLe\9aù\83Æt«Ð8\9fÎæ»fà¬\86\ f² \1ey\9f\U\1dFÎMiêñ\97\9f;þ^üóð\84&\98×|\ 2«Àáç!C\83\87CE.ûn\94\95\9e³ZÁÊ\82\105ç¤/Ì0\97 /Z>\9d_V
+\1fç$Ö\98ÃÐäà\93     t/¢\ 5â°ñ\1c\ fî¼\1f\8a\rѳ\83\9aÕ²,\13Ø\9d\ 4K}ªö]\ e]F\19USa\0<q\baêå\ eÒÐ<\fªÑ.tm;XêõËBú }W+¤\9fã\ fF\19TO\87÷ºº·*åH¸\955\13\9b½(yü\85ÆU'\ 4\bs\9c¥\8b\97Oßf­Å%5å*Oé.\f\9ar\9c\88W\92\9a3­2Áêð\80¡SÏñÐqå3âñ«ý\82^µ»L\99\8bTäæ\1e\ 3N\94\ fc¢tìs²_ü\9avFÅáø\9e+4ú\8f;PÅEH©`R\ es×qf7\92~)Ôºý=xím·H\85.û"Z\ 6éîÞ)\ 5­åú"
+\96ï\1fOe\b\a\ 2\17o\8d\ 4\93ï\1d="\80ÿ¤[ÉþCáÎß\16ôåv\vµÆË0ó5\8c\1cbDS'\ 2 ¢>çÎ\89Ãâw`2`\ e+d@\83íϵý¦\96'0\97\9a$Z³ràèçA\9di\fOA\93\ 3Ót\ f\9aÇÖç\9eg>C\agB\17\10»½\9d*\92³áK¡þy^\92\9ef\v\9fùÃÓR\14\8a\ 3
+\î\16ÉçÙG¡>k$Õ§¸0à\18|1ÊóíÜ®(-íø\8c=\1d\9eÜ\94ÆéZ·\17 [ïw\85Ä®o§\8ctºDVJ\97yôÛ1q^!\8f\b\95;!Ã\81Ò\89òݱú\86ǯ\96Äߢ?\8b\b
+KøEü'U¿\8cߢ§GâÛ2\81\12ú®(VV8\8c0éT\84®Å?\9e'eTä\10\17F\7fÒ\1e¿Ò¼"*t­Ö#RAôôUä\95Æ\1f+o\1cà"¨5UÜ$¥»\ 5Ü\10\8f\1fwSì0jTºzzÕ@ß\1dàÊT*¸
+#\8bä&\e\89â?\95úê\12\15åmüÎ\ 1z\8e»q¢²\12\17ÇÍ\13¹8î\1dÜ*,¨c~*T\ e\r¢\ 3éë\ 5e"Ú%\ 4a\10\83DE|\a1K­\ew\ 3óIÏ\8e#Ü+õO\\99B¹bÒ\86¼i_\8e\9dE"6\19ÿ¦Ô(\12Õÿ)ª\ 5 ¿\95bXª\ 5*|©ôJU\15Sfá\a ÉóÌ:\12û\8aG\8eÌ\8e#µÏ¨ð\8d\19S\r#Uaà\91È1C71Orú*Nô­))\94E\9d6\10Å\85ÕQ\a\9a¬JK'ÕcUkqqÄ\89\82ÉP9PZXUÀCTRü@\1aû¸ÚÅYm¯/\98å\98\8b¸fIÇÌ\0\10wM\19\9a\8b©¡(\12e\f\89h\89ÛX£2dð\ 6ÿ&²\1fu\ 37\1eýxÖ\9b\85ÆýÅ\98Éï±\r°ô»qí\84\91-\8ca®ì]2\9fWO9Æ·\1f\85Y\fõ+#Ïö\91\1d°\èïüÃö]¯4xÿÈ\97Ûß?»âT¦1'RÓªµ;£5;B\ fØ\9d\ 1_LïÐà\86Ò½HðD4ýªgÁWu\8eÓy[Ävþ~/\90-õgµgúâ⧨íPñ\83-ÔÆôM¾þηÀ\82\1dæG¤\9eJ\bû\ e¹kbøq\18ùd8ãÓØVð\ 5\9cÐûI¹\1d\8aT8\1eÑø\8dd±Õ£Ùýò©j[!Ké|\96U\19#Ya¯\99\e\8dë¦5"À5E¾mvÈp]Ñ<\9b«à1 ¯E¸ØUíµ\80Ú\ 5\96\12Xë©çU\9c\13\17®   ²\94VtN\¸&\92Õ§hh\ 4uMt\99u¾ïû·ê¡d\86QþT\92Á\9dÿ[²\8f\1eÏ\8bØ\8cUù¤Võ¿åY`GZö§N_é\8b\a\ 4\82­âmþe¿xë\7f\9bbs\18AEÚ\84OZ_\ 4«ý1u\11¥Ï¾ÒM\95màY ÆIì/\8cOÓ÷ÃËFáæî\ 2Ô\1dF§¨\9cjC¬\9c
+\91\9fÇ\14µ¯\f\80JqHõ^°õïñ«öÿ|CÙ\eºòígaxÝ\1e¢ F\e~\vO+\93­V6\e:H^뫽´pR\ e÷D\84©\14êÃ|\bÞîý\90íÚÉM<\7fçËJ\9ejc\9f\ 5f}'\1d\9cþøó÷v©ÿêËA\83?>dé¿E¡»Q\18ûÅï«\108"ÕnR\19 9ä\18¼\17¿ãG>õ\81¢ìD®3\1a\12HLç:\1f\99*2\87åרRK\9ay\7fÛßfÊã\19\8cʸ?;Ê\88\9a\15Þ\89½dÒíËóâm5\ f³ÅÓèZjèìÉ_¸½®ß#_[~ðð\95\90xÌí\12éïY«J\N¢Ã\8apÃò\ 6ÊÒ¨4Ð^7e\8f_QI&Ïóý»dîêá\ 4\138 N\ e>\91wW"ºÙÒ\99¦î\9bIñ´\98\9c\15    2|'øt2xy/d\ f."Ê\83Fò':(`_¬\1cÎó[ç§Ì~0\9c\ 4¸z\0ÿ&Ü\19ÃìTc\98\8f ¯\8fz\9aÈ\1f¶ÞÇù\87ÛÐn®\1fª\ f`òË~a=× ó\\0ã4B\9fóû\9f¢\8eÍk\8c¯|,\96TƯ®2w£7N\15\f\88â0Nã7¡\ 6\1díG¯¦!hô\82+ÈuK\ 3a@¡¨Bä¥F\9c\97\7fJ\86\1a]xù\9ajo}0sË£7\ 1æËÅ\10\17É\91\19\1fØüLð©:-\<\91\1dQ\8cG\17×\1dº3Ê\86\vl\81\9f~BÐ¥Ómq2\8ap¾ã¨\18\b\10£g\ f\1cû¹ËJ|:­Æ\8aÃh\8d\84Jëclvxü"Åë»Ì[ùãÝÿ\ 2\8dïùò?Å÷\802cõ\15½\ 3Ô¥vüÀ\89ì\19\9aszåVìy ·a0b¿`ß]\9a¯/{`)¥\1f®&uýÜ-\96L\1f&Êlùý¦õ\ 1¶É\ 1\ 2\9cn°Ü\ e\11¯\85d {\vð÷\90\11m\ 1\89|b;\7fxr·K\9f\8d\ 6/ÅÔýc´p»_í\15j\8d\10x\16\15\7få-]ü&;¼ÖT\11'\94£\18}ör¹\8f\8c\8d\1a.\ 2è|X7k|¦±»Sg>¶w\9fè.ð«8Ìì\84éó@0\80\8d\eeìcK¢çÿ\ 6\9dÈn\1dtwê}\13¢I\98DkB9´OuµÓ\e\92Õ䣸\9e¿ß\99N\15Ê\97 â\9e\8f\9a^25ÐäT#\1aÑ=Úó\11g/\95
+e~Å\11Ú«¯n77Ø»½\ 2\93.\`è§Ó}³®éÊ¥B\1eÿÁ\e÷òjWè~?}Ý>¸1\149`ß\83ß8\8e\96»î\1d\fÊaî\99\ 4dL\91\85z\8a\8c¦û{¨Ü\97\8c0sZ´-À\rÕ\17\r\99\13ê±Rº.Ý\9f\18tCZ½à}/`6ÿÔ@Èù\1f\8du(UED\81½\ f\13\8f\1f/\80\98È 
+ãó\82¢\8e\98\9fÓCzx\99R\8d`I\88ïÛ>º[ÿäJ\83­\9d\14(vò¦0>>ãÌt\bÉ\ 5\r×\9ed¯º1²p\93+_ä\ f\8a\13­å-µì0\90ç#Ù\19Âä|!ýÖ¹¦»ÙÏXù\99\9dî\1aø\99ýâ÷\1a0ï¿?\15¸þÍ>pL¯,\8a¹\84ÿ|U\e\ f\8d:9ÓhÉñ\11\950S\90ìw¡Ü(¤³5l6~ÐÝ[\ 1fd\11*¤Ö\9en3¥Â[\8f)å{µÓ\9d#ò¬\90\8d}\17Ì\8b\14ö¿ò÷\8d³&sHO5­\ 1$ÞÞÊç\1eØ^>3á?p\r\9e
+8tûXV EÕ¾Û\9e\8af\9e¾\96ÃÊðj\14:NWNa~ùy>xR\ 4\95\0 ,\v(L\7f\vÚñµ\9b¿ï6f\9aº\8f©ó\19\1d­u"ùÜõ×·Æ8\87\1f\rj\8b\19\97¤¥\17e¸þ\14\90÷Z\1cÁì§cÿÞ0Ögß?eV³I-;Nofôé» Ðá\16S>\fîøï@\17\9f~\8a£\9bãÔ¼¾ÜnÁôõý\8c\ 32\08\97ô\83©Ö\88ÑÝ\ 6\ fÎ\1eÑ\1diFà\99ðöYñ3¾\8b<¿ý>¥»\1c\1f5QØ,Ì\9a½ ZÛydJÝ\93\84:|$ÿ\ 5\19\ai\14\88\15M,fçñk@ÄSß}ºrìgÁÄÈRb\f¶}ÿ,(Õ\1e0\81³Î\ 3r._\11F<Òìá;r\15f!Õ\ 1\94Wy\12û\81`&Å\1f<\80UTù*Ü\90Å\ 4¸Ù'ßùÃãɶv,Êf\10üÖ\89i¸H\bágêø.Y.¤"\17·\b(Èy*¸\10nè;\13o\98ÎI[Ìå¸ÜN\8d\81r$\1a4aÖ^!]¿b@\ 6\ 2\ 6Ì©\0ç/2VU\ 4Àz"z¹«P\ 2fÒÆ®ÏÕHÕ©½(\17+ÅW\82ïÄ\14\ 6qc\ â'Ì-(Õ'Qn?ñ):\7f\91\v\879dÐQ¢"U\9eòC¼p(Y\17¡£óçs\rw`Öy+\ eÓù\1dìJH\v\99\14Z\HïÏ\10^Ôr\91î!¯ôT\e\82¸:\r\12ÅápòipàU\1dÓLÛ­r\8b8ÜÓZðR\8d\94ø 0l²hUb\e\10\85\1aw9¥Ã7?\1dÙRú\9e)­ÖÎ/\98Ên¹½E½\81'ãã\99r¦vj46~Nk\97ØQ>è\8evwÁmÿ¢T[ÈÄ\ 2¸\ 2Ä.G±°\81\8a\8dMqðP\ eÝì\85\80\81ï\11»rÇW0\f/v\802\135£ìñ+´\1fò\87C&¨µÁ\8d\95Õ­Ç\1d\1aÂ?¥ërö\13O(¡cá9«\82# %êÒQà6ø\84<\94ëØ`;w(\19´r!æc\18£\0#©a>ýØ+\172\15a\8a\96¾#Là<r_"ïFÂ\ 1\9bÛ\1dA\9fkA-åã\9f\11¶"\11&\9f´Y=ZÎ
+\99Ö¤§\99\120à>ß6OÁÖã\88\83î\8cå\8dÐËíÓ1Í\eÊÂ0V\1a\8f\9fú!³u°·ë\f\93ï\81\92×g\8d\8e³þRØéÅ|@~À\15¨ÏC\1cì\91ëB=\9c\a¹ôöÇZ*X9ËíÙÖG!\13\89n!\83\90\17LGc¶\98üît¨û»·ûLú¤tZê¿t¶\90\87µ\95?¼M¼Ó\17\17\87[Êb±ñ5°Ç\98æn9\7fðv\afgú6DÄÃ?m@ùço\98\93Bm\98\81pó1/\ 4\1f·è\8bó\ 4¨ývqb\ 6¨òª}õ9Ýø\98\8d=~(Y:¢{)jë0<{\1dPÇ?ûeð\82ö\7f\98C¦-i£\82O
+4É\98\98 9\15ÕÝÐQ>½Eã½\ 3Ð\90·RºÞá\ eÁ\1a\9fì¼GÔàf®Ói7rñæ~µ8\8c\90\8dÊãóã\18ä2-ªÑ<±Èõ{kÆ|¾Íúh·Å\1eö\8d"ãp#\89\ 5¡\156\81îG\15¥Ñ\8dE\1e@ðw\81¸Õ\13\14lÓÕø\1e\1fá9P³ÇBWí=\18¯ï3`à\93\1f`ív¦>\15uì¡Ð¸K7TÞe¿ó_\97ÐóÑ\83.d\89¸üù\0\84\10
+ÄáõD\13\13ÅÌ*î\1d6èýA¬}\18~º(\162á3Tßî\0ú\82Ǫb\10Yq^\16\8e\95Á\98\v7\17§h¹´÷\84ø\10×5év\v&\aöå ùÀ}\81÷\1a+\7fù\99r\96\e\94ß\1fûw\08\91'\93â\9fÔÝÍË\97\840\97Ì«eÝLpzÀ\95ÛT0U¼
+\ 6\aéñÙm\byâÆhô-ÌûWÌ\1e¨óÎs9ò\94é\15\93\ f\89\88\83÷p¯Ð \85}êç¢yr\ 4¾q\0\9c«CROO©eÿ\bÆK+÷}D¿\r\9e¶5\8a¦Ô\83Ýz\98sFVU$nKý|'B\9f\rK\ f\86)\9f\88ß¾n3\81\8bb\ 6äR}\ es\9aþëâà\94\82\f\ 3ä\7f¦Ê­F9¥"£\8eò32\1cN;8`-GH\9e³8¦\82\ 4ÑÑÇ\råæçW¸0>ñU\99ÏÀ[\1c\r\86WúÜ×%ÔæÉu\7f¼\1f\9cÝ\9cÖ¨Üã]\vúÂ2\92\89\bª&¡Å9Ñ\ 3é\83\99\17\ 4\ 2¯ÚX=\95Û~sµµ(\95ý\b\95¯BY\18u¡0\8c¡\86Pn\1f\9fBUw»\93\9dì]ùe'Û{\0\1f\19Zv\8aâòÑ÷B£ß\9e¢6þ¿ce{¤~ß\e\8dÏøÅ[¦Óú´]m)õ\8c\bm>|ó\17{5\eN\a\93![Ðç\80:ä7\ 6\86Ã\19NSàxïz÷\86¢¶WiæC<¾\ e\1e³ã©\94µ\8e^¬rÃ\81\9c)cºIÜýÁ\94æÛÇѶMDÿ\8a\esí>Ï\8dX\9aûc,Þp5·GÔæ}ùFg\r§ÐµÎÀ\97Rs"^î<`íR7ä\8a\13º-]Ó%ÏY6\11\1f\96P´O ÑÕ{©Í\1f±¬¶ÆöÐéÁ®kmp\13[v&QI9CÕ\99|µÙcÏ\94D\e;\11ɧ1\80ò;\176\9cùh§ºõisÜQ\ e\9a´«Täê@Î>\ f4ú 4Þ&Ïz§}Ö+m\91ö
\99\1c\7fôÙ±W\10\8fòh\8e½ÚA\88Æ\87·) ¯Õ\1d´ò9\9eQ|äÅ\14W®¯ì/næ\9dÀ\98ðrc/+ª'&-V×k\ eÆèà\ 3\r¡°\17\88\8e¡ùÞ)\87ªh³Þ\ 1>%¡é\1d6ÿBÇ\8b6'âYEèÜIaÖî£æ\9d\8di\9cC©V#R\e\83\86Ì u\W%?\10¼³ñ÷\18F_Ô\1eZd¾CÕm~0±Oæ\90\00<°-t<\9e\ 6?\18éuÚRø\r\1eú­\1cÀæ }\86s;ìê\ 5     âmñ\rM\8a\9f\9djU\10ü5§l£?\eµÆÍÁPp3 \0\10T¸»\18(\87P\99æÏX¼fDÉxÜ\ 2§Í^Æç²\14Z\9c\9cïD9½ª9REÓÞ\ 5Þº\9d5U        ÄS\8e\ 4A\0ìü\99K¦"à\9b\7f-ÎMý[\8b1Sÿî"¼Do.ÌJÃK\vp\12½é\9e\91fs±Ú¤-;Ñ»Ö,Iº¢jÊ\18Û9HÌjA\90¡I\92°HH5\82Ì\ 3ë\90M©LI8­\9d\81\16Â\fö\aÇ\7f_Ú'VZ¾Wt:^ÂòÍÚ²MU'}[+L=}\12\1f>é*\8dKFÌ\9a\98\97é\99Êú\17\\9d¯l¡¡îÎ4wÙf\98Â`\ enêÍäÅ\13í\94INl\19\1d'Ó\Ûfß¹9øØÑÞ-´y®Õ\9c^6ÿbeÃÒ"\85Ôõ!Õ¶Ó¸ØÜÆÜíXv\ 6\9a\86ËZ\7fÂ\85\80M\8fxv)[\v\8fƶ\8fv'F/D¶Ä\8d\80\84³\ e\90\1ft\a\13ɯJS%Ji\15\f¼Z\8e¸3I\89\98P#Mð\7f¡\88¨É%Å\9d\94\9fÍy©\a\1e?¨ØGyÜ\91\ f CÎ2ú\92$?\8a08Ç(¯N~æÁ*¥ýÆ4\83,t\9cúL\87Nî[1"\16º\8a\84NúÓ\ 4ú-\9e<¼Í%\94\a·ÊoøÁAâ¤1-ÒÝlåût»vÔD\vYÇÊÓxè¨Fõ}ÁÄé\91/\12Û«yü¾Ðñ÷¡/xý\9cõ\85û\ 3xôÙ\8dúB³\Ý\17¾z¤}\11â*NÄ\8e\9e\ 2\98|ÊW
+Þ&\85¸p\ 5\8d£¿\93'7\9fÇ\89b&\91¡\9e©Ñ3ÞÅ\81£#êSâô\83-yü<\7f|Ô*\84'×çù\8b¬p\9c9=|\882Üsò¾Ì¿>\13ô3óÔ`\8e
+Gmr¿\90\1e\13±\eö.tüô\16'Ϋµ\12\99\8aÅ?}§7dx¯\7f\10\8fßESxþÄ7+~^Í®
+§Tû&·;\1eìWRÓ«<´á¾\9e\8fM    &÷vCsÙÏz¤\0ï\9e\8f\88Îî\13­\10\9d\80\DA\1c=%E\8e\169áZüM\12Ä¥ÀóIz@Ä\1e¿ÓÆ"\88ýükó%\19M\ff¡ã\8aoWíF4&d*ñÙÓg\vK¿2\94h«Õ\1e\b\8fü[\90¾"bɺ(\12µkðnè9¹\15ÏíÃkä\18µöFCôí\8e¢\rD1\15\89lê6ñÍ[\11ýäß~¦w\16DK-ªÖ\8cÄM\89
+\99\aÒã·êëi2ë/|\9b\13=ÜÚ\15öv¸\89\19Q~ö\19Ý   ´vj¯*Q\8f_%K0ÄÉ¡\ 5Qj{'sÐÍ\9a\13M>½\12L£xkÚÓ-f\92óøý7\83«\9aY_\89Ê6wiItïü2yeÅÞ;þµ\1d?GD\83\98\1eU\19¼õ\90ð§¦{ðb\92\9b\93jnçX"ZÝÛ3¨R²\91®\f1Q\18W­²\9eè\e\8cÊ·ûVM%«#\9aûHÝuz1S¢ï\91Ƶ%Ñt¬[ßS\89¢ñ¢\91ª/È\v¹\90`N´\9a~O>ö/ÃfD\85½ã'Ò\82hªïñ\a÷\8alż¯É§'\82É\12צD·\98^z§6\8aß\98\11%\98·7F%
+rÑKÕÿ=¾*Y\11m\12\95ðç½9Ñ
+QØc\ 3é'3¢ \97évøD"û\14      \18\ 6ÍÉuòèU$Z~ýftD\9f\ f\89Ët\84DD÷ç\88\9e²\9c<RÓ\80cƾ^¾<7-\88RÛéï\ eónE\94&®öß²fD=~aëì'\97ÿâ¯k\98¬\91hý`/aIô\82­'\b\v¢/\11¢þ\11ÜÂD%LÖöõâ\94½~y\ e\ 6L\89Þï\8d{\96DëýÛÏ\96\19Q4\8b%_*ÄýÅäÐ\9cÁ\97   ÿ\1d\93?<2':9ß²$zÿQÙ\9a\1e¿I_o\88\87\93\vÚ\9cèÕqùãýöíÍ\94èÛÍ÷\99\19QÀdDöë)Õa,\18ü\9a\84\9cèõ×dt\93Í$L\89~\9c\98(\9a_æûÊûë!\9f\ 5ѧ;¢<\18\9d\9b\12Í\G¶|ù·H\19\88æ~T¢h\8f\ 4B¥ÙGúCêk+\114\f\9aàóes\1f\13\8dï\1d\aNõ=½$>÷s\ 5D4<7Ó||ýì\92ç\1f\r\8f\1fÈ\1eñs\13\1c·{$\11\9d\9e\84\f=õÁD\1f\14\89\16\9fÈ3=\10\86yáîØ\87\88FU¢@EB¥³\88Ü×ÒÔ@4tpºE\89DOÈ\8b\88\ 1
\93äõ'&\9aØÉ\95.ôDwx¾Ù\1a\ 3\15 K\18ûÊ\17XNÖßs\9f\11\7fS_¹¢D4w\e5°w\8bc?\eâôÆ6?(\83u\91:½Û}çr\86çêÓ§[rtoõ´\ fö\9f\7f\14ÆË~\81Þµx\ e\r\95$c\8aýbÓ\86§T\86ü\90Û-|g\8cOÇý­GiT\9a=OWÏr¯\96ogâûµOë§ýæû\9eá©Ê1j»\10ß}n[¾}\19\1a\9fÄ­\9f¶nº\a\96O=þ\9b­vëÔâyæt÷ôðN\10\9fv÷~²\86·ïB\83\83/é)¹\953>m\9d×Ç2ÇL\9eßÓ!ÙÊ4yúàoÅ|ÖO_éÜ\91á©\96c\9fþ÷ô\8eåÛ_ÓêäÔòé÷}¼xkùÔã\1f}3ÇïVÏ¡\r·\a)˧çñäñ£åÓö¸U¿´æØ®o÷ìußêíÝráªÅZ>=\8f\9fl\91Ö\1c+øâ;Á\9cÅÛ©S¢|´/÷9\1780<\r5n\85\13éi)zhxêñ7>+û\ 5«çýý\9d\13Ù\1c6{zò\9c¿Ñ>M\86k\92Ç\97ع\r\95"û%¢³÷RRìäOÿ\10;g\92kÆ|¤l\³øt\a9½%_ä<û\ 4NïW\ 3ý\88¢ï\18_\98®\95Ð\8f\a\80ºì\ e~\r¡eèJD\18\89^³V\94q\93ß\8aï\1dU#Òl@úµ3Äñvb\ fû\90¢³\ 3®\99f4Å®2ã=p#\1fgØÙÁ^R÷Pqæ·c\83£V\10°m«\8cÜ\9d\88\ e¬µDC\87ñÞ­\ 5Qj{ûn2|ÑÎûZ²É§gK¢0\ 5}\91\96D     ¦{]·$êñ£)³mÞ×äSGK4YßÑ\10Í\\17ë\1a¢\9dÝÝm\95¨°Ýgk
\ 4Òd\1d\83\8f\7fvFJ_+C\1dÑà\93%Q`ïQÜ\92(H\1fù\ e*YC_\91ïðnAôéͺ§[\8c\90ÔÍûz²Øw°$\8a|\87¾9ÑC_Ô\92(²Æ\99Ë=˾b\8bÄ\92(²G\1a:\99²Y\99<þM\12\ 3øb¥çÎÈEÉàûl4v,Gmÿ¼\97\1fo\få¤\b\89®dª/é\9d\84\17Eèõk!¤\89\0©\ 3÷30BÜ©iâhÇÌ\8c\97Àe·\9e\970Y}\11\f«?\8e'\81NCrõ\11*!¦\1eO\82\87\13¥Æ\0®â8{ºó\85Ûp\9c­¼Ð\0\Í2¢\9cP\81ID\98[\94\99ê\97~\84¯8\89\06 e\ 2jk kG\13±\88\87\18ë³´_ùQÓ{\16R(ëF)N#*\15-À}\9e\9fÈM¾«Â\9f»È.\9díËÜ\11m~     \8e5\f¬îò \17-\vµ\9c'ÎS~?þ\81TòAë\ 2\985é;{fÙ$l'Ïö@u¯Âñ½\13âL\8dØ\18B\83\98éñ·YñÂÀô9\96£\1fRÓE\9fü\16ùûÆ\1eîù\ô\ fÿp\94_}\v\17Q#$¦\12ÜVú·oÙ?døÞÙËÏãV\82\9c\99\86Ú1K[\95¦/beä~ñ\8bqªÌ\8d²\1fDT¾K6ÌÒ\9aUyýq\1e90\8b¹á<\98FÏ«\8c\1c\ 3³âÅçìù\92ÌÒCOÐ\0=\1e?´ç½¬\17mbYi\94_Ïx-\ 3å\ 6ã|(\r\vwEð1çÝ{Ya¯EkÂå°øCâ\9d\18r5\e\95O\11\9f\ 1¸\9dF%\ e!\9avíÉ0*\15i,ÒµÄÉ}ãÊ\89Ñ\95\8b]\11-k\16M¡CnzÅV£»\92ôç\94½\fTî9\8fßLZ\vu\b¹\82\8f\9a6(ð§G\98Ïà.4ï\916\a\97§ð\84lîì\9dº`\8c%[ð,F\13\96\8c\89õ¹Ð\91¬;\8a\80\909\8fI³ªP_ÜU¦\1fwûóS~\93±\1cu\1eÿb㮹õ8³\95ä6\19¾#ÃèÇKHYk\90¢£zÅ\0d\f\94\ 5\0qªAìyÝ\80þ!\f\94ì±ùÊnn\95FiZ\ 6}\99VLÛu\i  V\9dDg\1f±Ó»Ø\9c\15f#\92мH:\15û9Îc\r>s:ý\9d\11,\r\ 2{\8bQ\1fµ\86â`ͼLm'&Sù\9a\828rª·`\r\13\93kë©SÑãôü´\ 4\8aëÑL¼6\8d\9a\9e\9c\9575©5vM\92æ}±QÖ&\9d":Wò\ 3/_/?­Í/Ù\14v6¿N~c¿[ùéWxÍ\98\8eVV\ 6qFF\95ÕÇëÒ,\98P\fUÉk¯ËTödïÄ,Æ1\a»n1\8e}ðkã\98\1eÑ\16æØD«h\9fi~Îq\9d\1e\9b\82\904\8b-b\1d\9f
+Ö,p¬øØ÷¹0°ñ87\1f\95Ó\93­µ\8dÊâãÏ\8e[GYÒ1i5×\84;'äÅåBÜ\99\13\8aõ­È\9dcA\99\96­]\ 5\8flS\98\9b\86§Î à¦!hýÅ­\8b\10\a\14\80¾¸h\8aÞ¶\¢!\88cNÃÞà\93\87,fÍÞ)
+]¿\98©
+öÅÌ|CqQS\rr×Ô\1aãoB+ª     gÃogHã˶\11\12#\ 1)¬aä\1dX\82n\82\1a\1aðP\86\87n\17\81Ø(Ùðpç\ f[7iÛÉßw\r\0oS¿\8b\ 1'éXÍ\16\0Î\16\ 1\0ÓþÉþ>ôpoI¦Ï±|ÞR0Î/\ 6­µ²å¿ÎÐ\82à\83Ûþᨵ¥\ 4é)Y~\13*îã\19\16>¹Ç\ fÚßO¬\8d\ 3Ü\18»pÅ,«!n©\fâx1\1dâ\89\9dìwL?ÄÏ\8dCÜÔI\9b\8f.ÍGH@k·V\8d%\9c\eB²Xúúö¸v*FçzûÝ"\10 Îb\ ePA^ì­Ü5dÃän¯\1cýa»ðÆ        y>ÓOËÆ^yÜ\ 48@\ f~â«tHÔäó¹Yu\89¸Ïè\1c-\f?\99±E?\8b92Æ)Ög\80\ 2Ù\9f\9f³-\11w(\17ÜÑ@\81.Ò 7¥ó3lJë¢Ö \an\82\89Φô\85Á\946\19/.x\97»õÛ·Æ0\rb\eÆ|"L\9cÜ¥÷\9c5ÂÅ4x\81\9f\b\97êZоk\1e\17C÷bnú[Tϱ&O.\8c3ßR\1dòé§<ËX\9f-\0\9cÜùSK\ 2\80fÞ¿\98\9bêÌ\19ãlË\ 2\13\9d\95&»³eÑbÕ\1eÞ¿¡é\15|gT\869\8fÏå¸C    \ 3QέFh¢£ú^?Ö\8dK\90KÏv\8fuDeMñVh\97ÕÐ[\0\93Ñ q»HaÐT\9d\\90Üì'=\17\1a\8fkÑ»\91  ýJâ"õX\8d@³Z\14Kɤ\9eUW*p-X7Äý\96\8bÍ|¦\95éÖ\a\vW+\15(\9d \1cÐÛ\9b%¼ÅÕ~\85\ 1Ý×à*îUÂ[W\97\9cn\8c~%ª,\1e]p\8dÏ\92\95_ì>f¥³\4Ëܶ\88&|\aç\10\ e©^ÒJ\96\18\93ÿ±g¥ÇÙ\9a{¼[\19ÑÔ\b<T¶6D»3 ÚR\96\12\8aK/\84hVc\1fä¶\ 6D\83Z0¢9ë\98s=Î\88æqUÏêk¯¸\1e\9bõ p1 ¬ãÄLG\8e^`f\1e´ªcÚ¥Cs+EÚè%ïB\ 4\8fg.6\8e¾3Y\80]fÏ\15Z\ 4w\ 5B\8aefºöZ\82q~c\8f\8cn\17\17PU÷>7ëû.¬ú\92ºûÁ¬*\8fß\9dÓøx¿\8a/­È\ 5ÉͰ­i\19P@µÌ\eöª\8e-P\8fó\16\bC-&;Up=\16\82­\917\1eY­ðÚ\9aäÆÊ\1c\ 3Y\1e÷ö=ô/d\9c\rá»\88\8b\91ãq5\e6·j\96[\ 4\{|\8f\ fë³ï\1fÌæB3\1ds3\e>,äZë"\8aZ©¾þ,iß\e¤&QY¹\1e\83}¿Ô,\86ëYľ·\98Åp=+Û÷¨\16˹\10¯¾-4\e¾þØ\rCó¹Pï½\1a\8fù\95bôÝÂ\9b\0-,%@ \97û°Ôm\18\96½ÿàÁ³°\16\89\96\95\16\80v\f=Z\8emÅGv?º\1f\17·t­£
+\8f®F·\eØF\1cs5Ä\9d\9dK\90dÔÒæ5Ù¥f\1e\8a+\ 1?ïcî4Â9Ò\8b\eåR#Ì\a\97qZ*E#ȳ0LL¥¨u\93\17rÒâÅÇÎÌzïhÞÅÎ5}»¬W\ 10+Ív©Y*KKXßn[T\99ËÕ\e\87µ\eTUbçàâr\1d\11\12àXÚU<Ùjm@/Ë\ f7\96¾X\95¥\8fü4·[ÊR#\5I£\11ºý\96\víUUç³ãÔÕØÔ³\90$ æ¼Ç\85\9e/2¾ýð\85ïß˾H!ñ\8e2çÊ\våÐÙgС\9döëÈ¡³Ï 3\9c\12°t\ e\9d}\ 6\9dhÁ®\9eCg\9fA§Ï\16\>\87Î>\83Î\90-¸t\ e\9d}\ 6\9dÇ¿\9e\1c\f:C¶àÒ9tö\19t0^Ö\92Cg\9fA\87Çþ\1arèæËi3èDÏbõ\1c:ûýÐsë\95KæÐ\196$\eækÓ8\f\8d\9c0ön¯Þ®³Î\ 3Â^\89f\16sÓ(ó&Ùï\9f\ 2ÃÐc4Ï-2¦\18ã¦Ó\85BL\9a\95DÚhÿ:òÉÊ·}¡ñl¯Ë\18Z\92O\86\10\93   \9fT.)ç\90\98g\96íë\14Öd\9fÙQ+à"\15\fEG¿Øûõè\93å>,\8dÿ²ïN\ f\ e"\8b÷O\89*\18\92Ýô\91+[¦Û6)fX\19Y\9aéN\91+ûñb\9f4ç*eNVWyç°\85Â\96\8dûª\97\88ú=\85§\9eÅ6\83Xn\ 5Áac7\91^\17aãò\92[Aôcÿ)²½PdÝ\9cÇó[ALwB:%»-¼\15Ä,'1<Y9T\85òÓb66ÿ\ 2\8c±Þ
+btCdM¶pDÊö\19ZÎ>ÍD¿\8bà\93\9c_³iÅ\7f\9côÜ\r<4\19M\ eïbnï\9c8[     ë\r\94\1e¿ù\ 2´U\92isëÊ4ëÐ>pf\15é\ 5fÙl\fp\11\85\r\91ô¿3\13C\98\ 4Þ¾[[:\f\18]zM^4\ fL.Ü©Øï0^,\8foæ4M.\90ÇײÏ\7fÙÖ\ 5­¬SÓ¶\fcß}rá|\93úÛVMÊ«\91eqw\87\93\ 4\1döÀ/°\8b SÑG0MÌf×òã\r91f¶å\ 2\95\18RUê\8clS\99S\8a\8c\94UQT\99îú\ 5:iÈ\98Y\8dc\8e\8bpÌé(\ 4ÛvÉ»;\94ì\99âãSD¿ÕéÔ>{Æ­-\vó\8b\12õu\1eì\16\19aNÙrø$
+\87*¾·\1cÚð\19\7f\8fO˱-î\e?]\9b³×;58{&û.\14gϲ
+'x0¯@E\98Þ©Óá(ª¤\17M\94Óä\8c8\vù\83\86Y\8d}\94âæ4ö\9døiéÂ\99ø\95ÖìpJ\8dµ\\93Ñ#\ftÈq\9cë¢\ 16[ùs\82jEª9Vôt\11ß×:ÓÇ\8cï\16\9aì\90\18Þ1dD\99¯½Æß\84©å|¾\90=v\86Ç»¥=¶Ð\88ÿ:3\eñ\ 6\1d\9f\16   ï\18\fmíþd\949\16[\8f
+\18\9cB\9c_é¾Qú&ÅÝ6I\8c(Úe -\14\91±Í°K®\89O\8ey¯v\8dÒGd¢ó\11\99ѹ}Df^Ç,"2ç«Dd\14\84!/vÖ\13\91Iìä\90\ 3ï\1c»p\11\919_Ç\ e"¨"°\86\94A9"³ÊyJ s\97\11\19\8fß>\r\88\fÊ?K:EáÜ1Æ)9Çã2=\a%éé\87Ü"[J\94\13¨\94\93Æ\94Ð\eË\17Ny¨\8eƲt\12Eâä.´mßkGe\98\X\86\f\bw^\vL2®RGõ!\1dó\19\19º\96\v¬Ü5ÕÜ\15Çþ2\1azrç·\8e.\19ô\13í\1c¶Î«³ÞºàºCxÓ¬åÙP\väÕ9ïÖsÚ=\88\18³Jê¨ÖKº°\r\82:&×\197êU\8d머/ð­ËÅ\aÛ\89Î:\1fn¡óú\96Î\873[KBIlëÍ\87[QÇ\æÃ9çY¬#\1f\ e­$ÎgÄ-±CÕ6\1fÎ}Fê*ùpsÙ\82Kf\82\9b5Iu\1emÑrmùpºõý\85S5ÜæÃ¹9\87dõ|8½\ä\8c¸uçÃé©È\19q+.ë <¶Õ3ëÑô¶Ðâ\10¦b\15²D\95­eO$F\98{NïH/\999\96°ä¶nÅÊÎP-Ío\90X*\e\1d×\13^Õl.Íog°Ê\13w®g-\99\Ê^\ 63¿y¡³Hñð@ñdË\80Øâ;\9e÷~öçö;ïý\84\9dü\17\97ÃðÞÞ\83VN rÌeZe\8dV\1fQD\95­kkòÓD\1d\84K[ã\88ßÉÕ­ñÒZN\ 3ƵDV÷^q=\ eÃÇÍÙ\1d%Ãþ\86Å[#Z°%û#\81Ý\9aöJU¤aD;\9eDa\13\97\ e\86çcX(õlÞ¡Öç\8b¹[\7fBñ¿Å\18h\81\1d-lQÕÇÖÚ2R\9b[-ë\80\81ë\8cÔ\87õd¤¾þ¬##\15Õ²\8e\8cT\94\8e\8cTTÏê\19©¨\16cFªÕ1ÐÎù[\ ff\87¦\1a6\19yäØª«a\181\19\86\8f.âZ®vÛ®\9c
+g\98Å>ø¿%\15ÎL.ëO\85ó¸uÜWJ\85\9bãØß\92
+çìW®#\15ÎãtbÉZRá´;"p2Üâ©p.\fC1·úÉÎ4\ìDøÒÜ\ 6        ýÊÈâyuÖn\91aÅF\91\8bÅ\9a\rªÌÕI]¶{\ 2åS\9a¡²ÕÃ\93\12Ç\9e¶\­%9/.à\1467ç«mKë\95\16ÓCK°[ÂYlrxÂ>ò«å\818®÷ ª£\17Ý\19\176ßC"É\0_\90y|Ó¯\fï\9b\1fôvgVf²;ùw¦q\-çcÓ½\12Ó8I?á\9bÌéç2\9f/\9cR\8dóR1Ú.\95\8a±\vt     A}"OFþ¡1\ 6\9côÙX6yg\87¾\17ë\9bÛ2·¹ªVS\r\19\83öÍ\956ü¬!\9aêïû\ f}\9cUÞÙ£Ýuq\9d\98M\86\1d¾VÛ\82\8d.ÕnZ\11ý´Í°«D²\1a¢ÆûÌr!A!jLvCWM+·\1a\1a\12À¶\ 26\19vüì\93\8cZ\12\r\1d\1e\8c¬2ì¨íí\1fjöj\99a÷ôb\97w6²Ë°ã\1a\r\1eÿî%ÛïXeرv¹\84·\8fÖDË×/\15\95èÜ}|;ãÄÁ\87\15ÑÛ9U\82á*\91Ç¿Iz\9e3\91¾yÉ\ 3W5&_/]\94Ãw=\a«bI)ªrI\99\98¢òÀefCãtjw\96Z^³ÛÖå±ÿ¡ñÜ6ùê.çbÏ\86«{¬\\1dâ®\89\9aØÝcõã¢Qn\9adr\9c»Ý\9e«ån\923³~-OoXú&¹¹      ±ºçsº)Ï-\9fì·HºÞ\ fC»¸qDg`ÚÞû¶Ê%r\86ªTÕ\94m\98¥\96Ai\17\97\8dàþy\5Êá®\ 1Ç&\89ó>½èfJ\9b&\99E\8e\97\e/\15Öá\1a"ÃfWi¼¬1\9bά\85\1a\vvMÙtfÖ¶öÎ\94õdÓ\99\ 5¼ð­åkͦÓuMÊ¥s:yrñl:³\r òz¥9>-\93Mg\96K\87î}[o6ݲQëŲéÌ<5½&¯#\9bN\9eÙ´¹tÊØ_[6\9dÙ:\8d\ 1\90Mgæ7£Yl½ÙtVk¯ëͦ3˥þØZ³éÌ\8c\e\1c\87Yk6\9d\99t­üýå³é\8c»¥Q.\9dÃ}IKdÓ\19\17jÅhϺ³éÌäg<Ùxõl:U~ÆÝ\83ë̦3«Jί\_6\9dó
+ï:²éÌréÖÀ1G\9bp\11\8e¹Í¦sű\95³éÌré4³Ø\9a²éÌréænÊ[9\9bά\ 2]ÎÈZ²éÌréLrFV̦3³\9d-½×¥³éÔ
+ÔõOë{E\97ͦ3\93\90EöÓ
+Ùtf¹t\8e~¥%;\§ßX­¼¯\94Mgè\90ñLû\85²éôMrr\0Í3Rõ\ e É\8aë×ÙBG7Y{IgN×TºÎÅúÙZȺpu_\9d\99B.`]¸¼¯Îͽ  \8e÷Õ¹åÓ4¤¹9H´ù\97ã\13=u4,\f'êØ\å6w\13íâMÂ7³8_Uç6½Óâ
+ZÓLa\a>¹¸vÙÐ$S\849³ÝJ±`\93PôÓ\1dÂXzD'ä¹`ð\88\12\89\91õ¼o\13\ 6\9a;S\8e\19/º[~¿\84tÍÝB÷\8c,}Í\9d\9bØÅùÊ×Üá\9b¿\9c.ºs\99Hg}À­ëýÉ+]s§î¹²¹èÎ}\9a\92Å5w¶7MXlSXü\9a;tz¶ãEwÚÖ:^sçö\¸ÉÅêY\95'w¤_?¿,½\ 1ñÂmf\91ÇÙè\9e\¬¼\ f\1f\9dÑ}w\14\=\91Îvç¡»½Ö8\91n\85¤"5\8bÓïzO³]~¡ù\16\8e\85²ÒP\86¡¼íp¡Md&w¤\ 2w\%Á¸Ì':ýÜÞÓíî\90\ 2öAuwë=\95êÈè¿,\99 æp-Ç\ 2»¡ 2W{\91\86\82ÊÜìè¶ß_\8e\91o-\99\8fKÝ1©Ýq'׳rN-®E;å\99¢¥Ëz¬7Q-tOâ\9a.\9aÄ÷$®5±¶>¿i\ 2¾[ß©\80P\99\89>¿ÒMÆ     ´Ö\r\98iÃE!k¹4\²RëHZ\99\10x~   îÏ{ô(\17oų\ 1\94ì§µd¦\18Ï=\9eÇW÷7\18Be\97öY\11\vÜ`\b\8fª.\16\89\9dnðÓÛïKg>.\94È`¹«\13Õ³òâ.¾\ 6nõS\ 2Äz\1c\8dx\8f»zôÃÐù"\1e\ 2\ f\10§T\86E\12\19Bê ÔP¹_Ó04¹án©üÊ\85o¸Ã\9alsÇÝzò\89Ð.\ 2»;î\\ eC\87\eîÜg>®\92O¤¿)oõah~ÃÝr7å-êK[Ý\94g=\f\97¹áÎù\94³uÜpg³ëÆebí\83\8bíM.pìõge3G\9bû¶¶ÄÚ×\1f\83W½Ô]ÏÀïÅnI·Ì|¼ZC^:Ô\12]}Ï\15®Ç\8d\ fåqQÏêî\13\8e)]\19³a-Ó\98\9c2oÐuyv{\14\17ÏoÏ\ 5ÂsÃ0\170ÍLÖïës5\f\1f\17Ob2Fáô\19\96ÆäbILè\ 6Ã\À:zºÐ\ e\eT\95i4GË1·G\9b£ÊÜ\8cJ븥\9ecc\17yÄ.üÊGé<%·\95Y\0×\ao\9fĤñ,Ü%f.\95ĤÁ1\83ihr\"ÎßZÆ04¹\8f¯\14]Ó>;l\11ãÝ2V+#\væ¸>Ù¯Ø\88w׺Íq}Zòh*Ós®\9eÖvÝcKÀ»7ÖtS^Ì~\ 1Ç£«Ì*Çun\e\86M\8e«ã\19D¨Qk¸îQ\8a\0!1\¦1=\93=$²é\872ÞN\8f\1aô7Y*ÆÎ\1fèmö¼N\9f\84ê\8d#î3DÁo\95ª\98Û÷øÊtâ{Ç[´8ñ Ð®6r¬Ìbº4¼ë\93\9a\96¨.\1fNؾ\7fªjCUú{Ør¥\97'³|81/É:\r\8f\9f}æHK¢\ 4Cì[eþQÛ;éZðMë½ê\13¶^írÿ&    k¢\95íç;3¢\1e¿x\ fÛY+Ú³º\87-h\93\9aVMYçà   {é]^³×:aÈr\f\ 6N^\86\16©iAÛ\eç\9a¦\99\7fÀ1\91Á\17\87ªT\8dixþä5ýi\95\ f÷aC´²CéÆ\8bñ¢»Ûíg\v¢\99S]j¥\91\8c(Þu\83õ÷âÞ\92ÁD¹|Ç襺\83\9e\86\95ߤ\14ÌÙþQ̬\9c\98-¨+\99(\11.j$>÷s\ 5\17åB9nZ\161YÎñ=zJ\1aw-(Ë5&SgÉÆ}R&:\9b\e\rôÖ*05\15Ô¯\ 6Ñ\vm\9b´¿ÅìÈ>µi.Bb\95ý#RY`k\95u\93JÖûÚ\94³m]¥6 Kî%\9f³aæ\ 2º\vl­2ðI\9d×\9dwB:ð©î´ÛÔuV\9aÛ­U\96* f¥9ìÑt­Of»´\96ÚÛ\83³î\16Ù¥\85c}\96\8d2ß§µx\93\8ckI+d'ÚìÒZl¼p6YªRkæöÆ\1aO\b\81\86\1eïë᪼\9e\183\96Ë\99\8b\ 5C\87[Úì\83[\8bÜýô\14
+céþÎ#Ì\1aÂËïeÃY6ËÄÇ\16?0Î4>V^Ç\92õ{Y\8d,[\9dAä.\vÐí!´Ê©ææ\8cYÉk1h2íÒ)v³iÄd\81\15Ýa·\96\995úÈMfÉ`°I\9c\1f%ÜÙØY\v\ 5\ 2\9aÌ|\9c\7fÑ\93\87ô1\95äÏÜ\ 6\82ï\fo\88ô®\92Ýöh½4èæ\8c\b]* \93Ýf-]ÃN\95NÅE.\93»L¦¬\ 6Zçî°3\89ÆZg·Ù\9d\8cêÂ\1a×5Êz³¾*:{ùIÑQàè÷Î\9aR9Mî¼1\9e        é:\15ÐùÒ+MUbLÉ®2û{\8dݵ\vg¤¢Ê,n6^¢\93\86õÊÕ8æ\98˳\bÇ\1cV.\17ã\98ã\1dÇ\vtò2ùjɱ¹taKgvñ\eõ<þU²\0­\8cs\8b\1dªKf\ 1êÚ`\93\ 3([ãËe\ 1ºÍ\ 14\8b'»Ï\ 2´P\81¹\1c\eØ­ªXüF=ãn¨Å²\0Ýæ\0ÎíTY(\vÐ-?\r\82Y\80¦
+b\92\ 3hï#;e\ 1.à#/\95\ 5\98\17[3ß+ÓKùt:ö·]Êg§É\ eY[\v\Êgs\12Å\1a/åÃYië¹\86ÓæR>í*Ïßw)ßüýÈ\7fÇ¥|.£p+^ʧ\89öü\8d\97òɳØß{)\9fíyã6|¢llgÜ\1a糡\96¸×ÏõÙP+Ýë§äÚ\99Þê·ÌÙPf÷úÙ\87R­³\9e\17»×Ϫk\81Õ÷)\9d»ÜMáp6\94û{ýì³îÖp6\14¾×o\1dù\95«æBès\12\97¿×Ï`°\enõSo1[C@×òV¿\ 5\96Ü­h\9aɵĽ~\16]\93nõ[åþJí½~KÇ-\17º×ÏþV?7·3¸¹×Ï^5\1dw¨º¼×ÏE~å\1aîõ\93¹c\9e1cÔäeïõ³¿ÕÏÂ\1e[ø^¿\85³ÒÖ\94ÕÏ>Îïþ^¿\15uÌå½~®îã[9çÝþV¿Eïã[nÊ\9b»\8f\11hv«\9fÕ\8aÕ¢÷úÙos3¿7añ{ýìÓS¤Õ\ 4Ëô\14Âå½~ö\9b
\9b\8c\88UïõÓ²rþV?+¹hVj\Ýë§¥2\7f«\9fM\1cÆvõñ^¿¥³ÒÖ\96Þ\89æÊµå=ØÜê·ÈØ·»×o±ûø\96½×O_\8b1{bÙûø\1c\12Ñ]ßǷؽ~VµÄlÖø\16¿×ÏþV?ñ4­Õïõsò_Ös¯\9fû¬´µ\rù[ý\à\98«{ý\96¶Æ\17º×ÏþV¿5ÝÇç0|\ßÇ·ÒðÑÜÇ·Ò½~J-¦ÇüÍe¦,y¯\9f½\97`\7f¢\8eû{ýì\1d\13\ e\17¿×Ï´ÏÊ­~ÖÞëb÷úÙ\9b9\1e×y¸ö÷ú¹=µiµ{ýÔtD³,Ü¥îã[8\9aeu\1fߢ÷ú\99×"\87¡WØs¥»×o>\9c­ÝP£\89\8d¯t¯\9f}2¼~5aù{ýìãZÊ\9d\+ÞëgH\1f3øZúYlù{ýìÝv\8d\Vº×ÏÞm×\8cÊ\95îõ3pÌåNÈEïõsö+×q¯\9f\9b,ÎÕïõ³¿Õ\ fQYǽ~Ƕ·ú\89§Í¯~¯\9f9\14È\8b,ø|þ5Üëg¿b#rlõ{ý\94v\99\ 6'\97±aÌîõ³_\°>\1dh±{ý,Ƨt«\9f«ý\96î®\1a´I\88EQ¸\ 5ÏJ\89\99L\ eÏv\93ÃÍ\9dî¾$\9bÐn\7fîDEü\9dõ\1a¦nã½.va\9a¸¨Ó'\91'j\fëøh¢½ÌS4Ù$R\ 1ý,ö\19åTÆ\10±\e\96R8z­óE/\ 5\9e\8f\v}\1fL+ç¾ÐËõ\ e\11{üN\8bEP>\95oçêø,J\ 4ƾXûe\92Lðýsæxø\96\ 5\eæn?\10\19\ 5÷\8a?Eâ´w]Øþ\99\15)ßk³\93\80ß>ó;\99\83Yy÷êæ§\96úù~zI§¢Évæ\8ay\8c^Dy_ê²\92ü,Ö¾ïN:õ+ê¡ß`¯S?÷\ 1¶»óP\b&鯭Fíâ;7<|ôø9ö$0þùHÿøùü\98ºö=\\9fìí$\ 2\15Êß}9;\vÎúÛ/Iî\95ÍaÑâÌÎã»FýÞ\17\r½ç}ñÞÏ}è0±\97'\98âE\91`ºís¢BíÖxþ3\eà\85ÌÃ\99°ýNµ<~!Õz©*©\80\8dÐQ,ò\10M\f·ä´·¯\18/¼rè²¹ì¶9\86è²K\ f\9e/?²\85öí\ 4\8d\11é
+H¼\17\8e-¡{\ 4ýû\85üå¹\19³0; »Ó]\9eOìøl{Ú\ f4÷ØêöýsãxgÌÇ\98Ýx²7óø·\87\1d_\aå\92\9eËÉ¡¾Yx\92¼FûÕ®Æ8'ÑW`\1a\r?±Ãvà»*§7Ø'\86á\ 3\964)sb<Y\9c+5÷[\ 2¬\99\98ò\97fô3Ã>âë3Ko\95Ú#u]êlåcÓÃó|Lè\1c0Ùíïjù!\9fx\a\8d\8f+ÃûÇ×Â)åka\84¹ÿ\91«\15\f\90¡ï4Jf|zÏ\1f\úxÜ«Â\88»\14
+\17\ f\ f\1f¡òýã)ú\rº[\1dFQÒnX\8c­\1d§\9exì9\11±i\0íEø\98Ê>r,\15Ý\1319\96"\ 38v\f<I\8fáÏô>Îû\ 5À9\9bÀ\9fGaü'Ìb/<üY\8aʯ11¦\1c¿Ê@µ§D\88\ eûgLàôì\8c\fïõ?p3q_.\82ÚGÙiSîÁEHûà2ÔV\1e\ fÞÓ¬ò ¦}0)õ4THÍ£Jñ\aå\17\ïk¿»\v´äz®ÃÚ\a½dGy\10Å÷\e\92§;y\ 2M   ;äi\84\a$¢rÄ}\93§'5ôÅ­¶îV/\84x{\e\16\8b´wÒ9       ½\0
+\91z\15Évä\88DEb(kiD¶OÎ\10ÛnIé\8dÛ;\©x³äá6âw\be\17ã\89i'\1e\8c$\91õßÐ0&\1e\1f *\ahÁ»V\1cF{û\85j»{I_\9cùêªB*\8b\ 2%5>¯ó^å!P\8c\aO\99Ã%k4«\ f¬ñàíå\91Rc15­î°\95·çL¯P\9fí\fÊÏ\9d*\81zEªú\e\7f\9b½çK\83f\8c$bOï Y½\1aIMÇé\93´¢*\ f\11I.qú¶\84æÀ\87\98¬ø\ fPwë\rÝÍö@J\ 6\ 1Ï\ 6\1cú-¡ü\96\14+(\1f\8c(øó9"þùÑÆ\82\7f\8e)9V©gB®çY£mh[ì@nÏsBû\80þÞ)·¿\7f²Dìû+%÷åYº\\93\bîd\88ø°î/\87³A\18ÖÄý\8e>kà3 ­©\8a\1dR\7fH¡?)Zw\9cz\8bªD\13»Á\eÄÔ7øñô\10@¿\91Êoq\Îã\97J^õ\92èÛ¤I{n\99Ïû§\12\1dÊ\ 4\19¦|u\9f\91æÔé(E°­\1c\85ô3\9aØ9<üd>\82/ÏfÓ·\1c\81\17'piÊ/\82]\17*K&\88\8cµRwñµÃ'é½Ü.\17O\96\1f\8a\80\96ût(\9bJ\1eʸ99\81\aWçô¬Y½\81\aG'Ð\97ìN­Sz;ß>=þÙ\19]\1a\8f.\90\ 4v>\920\vÚ+\ eìæÖy\10\ f3¹Èý\ fRì(â1bÖ«\80\9eưjzüH9_á\8b4\8fÑ\12g8ãTd\1d\93¸näìüH\82Oå#8Õ\1cmG\a{,|/Á1[M\1f\8aÆr÷.÷¢?\89B ívßó¯Fé£\a\bac&Ð\1a\12QU\1eMo\12\80\1f\97\85\81ø\9bÐ\ 2ÿ¥8Ü\1a3z\\ 5eIß\9f\96>¿\v\1dpC'Ei\ 4VrA$\9c+l¨\ 1w2¤È;ÀÒ\fH·w#b)\860\80Ñ\94\84 ð§Ç\8f04F\9f\1fr\ 4ÔsC \ 6\ 4\13;\a½\82\÷]\1c}\87x\17\92\97´\8e\1dÌ\80Z«n\1aÈÉ\94?¦Úõ\17³y¸T\8c\12\98§ëBxBäÁ6¹fè\93Pê¼\10æòA|\8d5̹\9f×ÅÏ«\87\9ci\87Ëü{N7#§^\b\8f\1fi^\1fÏû:\v\ 1©W\ 5_x}>\92N\e`>4÷_'\8a\99D\86Ú\9e\94JÅï½ñ+\1dMï       \al\96ÿ\ 6øóõÓ?§µËr³¹\17\ 5 ÜêKç*\80±\95\99\89\9f{+\19|\a÷Ds\97µ|®Ì\ e\8aß\81Àmù´: ó?\85XÁã§ÏF\ 3\81¡\87dQ²\84\93ô\0`¦6E6ñµhÿ\1dÏv}KR>¸Ø¡_\81J¥rô]hÐ\89\1fË\ e\9bu\17Õ\18\1c\83\11$\1f\14\11Ãg\1fDñþäÝ\91<â?\ 1\©m¡\1c\1a\v\8dû\a~aÊq@'òÌ@YÊ\7f\9e§ü\10§£ÑÃ\aæcúFæ\ fοk*Ó]°\1c\aÇ»K\8b{Y\1dÛï     s«\8bhü¢Åù=ñ\84     é\90\8d«1\ 2½\88f® \ 4z\¼©æß\18:\95ú,4\ e¾\ 2ôÙ\vu\ ehY\9f\ 5¶ò\87'LT\19\8b?Z_åc¿¼\90¤Í¸\r\f¿§{ÑäiaD\96_ëI\17\1dÇ3²û®»ì¸QѰ÷ê¾ëKvÜã\97»þ\9aÕ9>xæ\93\96B\16\85Ñ;\ 2&ãþ\ 3\86Ñ|·19ðøËü[ë&5l½ïày:\1fã§;ÅÏëx\1d|\9eÔ±:_\1fÌzÇáb4ÉßÇ÷Nö+\v©\0\92Ëj\83Ý\8dòáÕj3\19ìì\0¸þ¼æ\12%ú£Ð(½¿.0ØÑ)4K!ÌjØ\ 6}1A7w\94Ýw\17\9dÚ\ 4ª\16\19G2C¢ã\1fÓ`ÒånÍz½J\9f=~³^\ 3\98Mv\\8c\85tl5Xw\ 1êà\8b-<\8b/>\87K\9eź'\14\83¶yü\7f\8bÑb¢cK±z¡îâY̼Ãf\8a¶$e\8fß½\90MÇÕª:\86íµ\15¬5Íà\12÷(>i\ 3ºúuOüb\98®Å}\91ØÞµ/ô\1cÈûBÃ$ã\v\7ftÎÑ\9f{¾pÿëÍ\17jGáéíÖ\81/\92\89Üøö&w;¾ðÏä\ 6\ 5l\ 1\93}á8S÷E
+\89cô£ã\v_=\9eú\82<\1fö\85}\9f{(\96{¯PÞÅb\ 2oë(\84¢g~qÄ\97_\99\1f\8bc\13ùÒ\80Ùåó÷{\8f?yî\94\7f\ 2¿òÿgïNcë¸Î\83\8f¿iâE\96)U^dØ\91íKÉ´H\91¼\9c}\91µQ¤Vk³\16[¶$Ó\14EY²dJ¦(//\8c·F\908\ 1Z¤E\ 2#)\8c"\1f\8cÖP?$\80\81$uÒ\ fA\8cÔ\ 1\12 H\9c\ 60\90ºEP'i\83¸ibÄÍÖ¾Ïsf.yIQ\12µ¸g8óÿ%QDòpî,ÏyÎyÎ̽\1aèÚ¸¤wû£+¶È\89   îê?|ß©\9d¦H=Õz`i\7f~\rV>´ÄÌ\ füÞÑÖþÉÇ<\93WÖ'ºåµ×\r>²îØ\9a\91'z\1e\91\1dØùàL§\13=GÚNtÍàEÍgwL=àûú\ fß}r\89\83òòC\ 3\17ñ¢#£\93§\10ãÏÃ\îÄq\ 6³§\96¶ËÉè3\1dÊÌ\93]ÓM\1c×.½ø\8b|γ­µØ¥Ï\19ß§\99Ò%\ e¢æ\9d\W`þpþÙÃÄ;\1fß\8fÉrã\95õIÈ\8bͰW¤\12÷Æîn.Í\9eX2zÙÁÞÒv1g~êËÏô\98[Ú.gTi]öðñ\93ãݬý¬S\1etítz\ 6\9fè9û9ØæûycQkǶ\87R\1d<Öè\1fku\98Ø\96}¹lé\92\15:\82\81g\8b\ e#÷ê\ fê:ÜìÒ/×·v¬Ø¶¼µëþ\87\9d÷g|\99\9a\0dvq\91    wFåê\94t+\91|\19      w¦¯\9c}¾å¹RýýÃkî¿wå&é\81»[×=\12m?2ã\81õ\7fy|1\87kÆÊ³Æ¶\8b\19\1dn㮨d\98\1dïßb̹Ç\17Ië÷ßÕ\7fö\92È¥\1cx#Ƽ¡\81ekîÙ\7fd ¿¾ó\91ѾÃ+G\ e^Á)\94\8eÈ\17;¾^|\88Oúì\8e÷-Ú̧\ 1_^Ç\9eA´i\86¹\88îu\89\87{ñyìrbìb²ÉÅw®óç±\19\vt®K\8a±\8bî\ãs\98\97Þa1O¤M\19Þ'Ý\87{4^~`ÇÖ´wc\14­\91?V¬]ûȶ%ÛÌ\97éºä´·!<íîji[÷ÀÚ][Öô\8c­¾·wc¸§ÞÿÐúûwÉ\97Îúåw\9fè_Þ¿äPä\öÒßtëüW~YƬÁ^Ñu\8a+¿Î?ÓiÕ9Öù/£R½\8c\1aù2gÑR#_Â\8còb\8b\98\96¶+¸üzÎ\97¿\9c\99\94õ±ifÔW¢\88\91Êâ\82·\1c.ÿ\95[Ú®h)ñ~®Á^°z\e_\1f;\96.»¤õ±¥£­Ý\9bÓ½YA"¥I<]¥"õËeÖ*½ë\a\8e\1d_¶¾÷øàcçìà-m\13]ÜüM¶Ó¹~ôô#[âüFýà\13õK\8aó¥í}G[÷u\h\rvâTO<²ØÝ1Ú·<\7fÌdïàØLÇÙÆ\93öf¤u\97\ e\8fõ\1d\89\ f\fÏp^óDgþ\80aøøc§\ 6Ö-×G%\96çK \93¢Íü»<\17ìh«w.Ûß»{Ïc\ fÏhT1\7f[?Ð*\7f[¾Þ,\93äO\ fæ\ f\ f\17¾yvñþ]øóÜå¹\82\17~ÒÜò}»ðæ²·´½Ï\17Þ\öñÏSz¿.¼¹ìyß\7fÿ.¼¹ì2·|\7f/¼¹ìrõßß\v\7fÁñå\8a\xsÙów×Ê\99\18YÒ¼tÖüìþÝ\93®PûãÍglÒ\11ä\1fÅr\7fãÓº'?«\10<1ñL\969ýg½Óô¬\87E·5?_¿îáp|bÜXßm~6_rrÓXz÷ProÓ\8e\9aïµ\8eµ\9f\1aßÄ\8e³6\11,Û`ê®F\15tbYó\81\9b\12gE÷ÖüÝ\1cf\96æµ§\ fú\13Ç\9f=2Þ¶ö®ñ\92yèî³6±¶gëÄ\ 6Üõ{7¸\13O:Ê\81×\1f×^×\9e?CÒstÕ\1e}ôqÇ\89\9e£]ËW\998h|ïþ'\1aß{p´çèö\91Îñg+õó\94¶Ý;©K\998èÐ\7f¤(mÍþý\97\15÷<¾3»3ÒÚøG\93Ò%Ù\8fî9¾g[óE^\7f:_Y?ýÈJ¯sü_        Z¶æ\81e\83\8d\1eíÖÍn\9eýÏ\ai\95\94ýã.æ\1aøñöcùû\a¼ÓîD¯ì¼ghûV}\ 3ÆbÝ\9b\a'ÿkJ\1d\13gloë\89\9euÙóú£k\1fÜ7Þ¯$ó·\1f¼kç~wpq°!Û\9fæ¨uO\8e\9f\84\87\9bO\82÷è}ã§à¡æS {Ó|
+\8e%'ó<&Û^ã7\9d\84\15­\8f4NBÐ3q\12to\8eMýHàó\9f\82ÕË\8f\8d\98S`fãËÚ&\9f\84îñ\93\90¿hþ¦\ 5sIò\93p¾S°r¬\11û§[Í)È+¾ÖàÔ¾»g\12\a«\97ï\18Ë\ 3{mǽã§`ã\81úâÇö4NA½{J\1c4\7f\9e\92¾\93xi#\94\96»ç\b¥³6Ѽ\81Ç\86Û§Û@KÛÌ7a>¥å\92ö¡ñDDö \13\97Þ#ò\7f\1cû`Ö\93/x\18Ù¿îyé§2{\1f_÷å\1dÆ\96 ~þ}0ýå¼\87±gyÏÅ\a\ 6\1e\8c¯\]Ò&ôÉèñ :Oß6W\7fúÞív9#\1d3ØÄy6\90\8e-»¼\fãvõµuN»\ fÓDD¶\9e\99ØÒÙuÁM4ïÃY\eØãvO\\8b|\ 6{ÖÕ\18\±mb\13þ¾ãnÒ¼\89\87ã\v\ 4Õ\94ËÙÒvÖ^<º²çrú\86¾OÈ\99r\1eò36Ó¾ávßµÉÍ*\9eÅ\e6®mìC´dÙ¾Qÿ\89¦v\eÖ>Ñ\91·[ÿ\98;qƦü\83xÚrËâe\17\8c±ó\1dÕ\86\9d\131vI'fÃÃõé\ 3d\9a ÍÏØÔ0ÝðhÐ}YÝuÃÉåM\ 1Ò\14c3?\f}\9fÁEu×lvÑ|\18\e»×;\97u\18\e£-î9bl¦=~ãê\9dÞ\ 5öatU\8f\81\8dÁX}Ï\8aIÿ\8eÕÁ\87Û.\1cTçÛ\87\83\8fvvN·\ f-mçß\8bæM\9ctg\1cTSö!\1f\91õísÝ\97Õã\87ºWÖÏy*ÇGäó&®¡¨ï²²\8e¼ÊÐêM«\9b·¸qû\9aæ/ïÛÓÛüåCûÖ6M0;îª/oþ²;¸§ùËhù\8aæ3¦o\ 5\Ùüó\8dëW5\7f\96ÕÍ_>´sMó\97C{{\9b¿<þðÚ¼n\fÝv3ÓÕ§ \eoª2ç1én\1d
+úWw\ eìí?=¸aKß\81Íé\92|\r \Ó=þ¶ÔýÞ\81S\87Neo\7f\Ö»¿·³¹2~ Ý¼%iâýKz]\1e^¾"\7fwÐöá\91ü\rT{\8fu{\ 3\e\ fuéúBwönÈ\ 3§\8e\9874eo5òWïYlÞòº´ñÙ\1dK\96\9a\92½  :²·f­Û¿æ\84|¹¼3¿Ëã-]¹ó    ³·Ù\97\aN\rgïq\9d¨»t2òèø\e¤Ú\9bßhå\8c<2þ\83æ·\81Ê }°é\1d©Ío2\95±tüM¦÷Ö\9b\7fðèÊÃMoÃ\9aø\81\8c9GÆß\96Ú\91¿ÇjËâñwÏnÓ5¥¦w±>\\1f\7fSä¶æ÷ÏJ\86Õ÷\ 3nëi¼Ïm\9b\93½\ 5Ur\96Î\13·ek%\9a<Æ·}_gÖD:³¹+\1aÞ×=^ºÜ%ÁЮÿ\86À}õü­¬Q\9fnç>Gÿ½\83Q\8dsóe¾Y        l7\7f\ 3ò\83ë;{¶î:¦Iawö¦1\8däC\13glwý\9cï\8cìl^ZÈ\16\96vN~SÜø»!w÷Ìôý\95\17Ø\8eÓ¼,ܳäÔ\8aÎ=÷\8cF«ö\ 4Ûzã\ 3\87Úó÷Ì>´«5\8fÔ\a÷y&ö³w\v>2\11J^ÇéCÇÆß±ÚÕüVÖ\8d+uÚñ@=\7f\ fëC\9b²wØyýCÛÃüoÇ÷xùßNï{8[áY×18ÐXíYç=ªï»{ Ìß¶úÐ\1aÝâCuýçÆNx\ 3Ç·dodö\ 6NïÌ·ýHÇÞñÈzÈk~¿ê=\87\1e\eÿAÐôÎÇ\83MÇòÈ\ 3­}\17ý&á»Çÿ\98ú&a¿íô¦á\96¶ÆË\1eèÉúôÝÞ\9eì½\94þÝ÷ì\vó¿õ\ f\8e¿Ïö\80\9f·»ÿñÞ©{³½o÷\81õýÇ\17\ fõîܽ\7féº\83Ýk\1eÐ5º\15úù\96§\8eôäo\ 4\1d;\19eïÈÍ\12×ú\81pÒÂaÏÝY~Ê;ÍÖ\91ü×¶\ f/ËÎâÒ\95»\96åo´_\7fú¸ÉIº4âäÏ)ù«\1fX7\98%\12)\94õ\92ll7ýEkVý@µ\8d˲\97Ò\8f?óú»÷u\9a\8f¿\9f¾Û¼wܼÛ^?¬cïx\90f\9f\86Û\92½ý~ú\8f,
+79úñ\1f÷å\9fxÕøØ+§gU`2º\f\8eííËóL»j¹9\8cvɾ\87ö\99\1dÖÊAG¶{\eï­6sðü­\9c«Ö×Ç\13ü\ 1ÿ®ôØñìí¤SÒ\95ö\9c,óKΪçÇ·aMçÄÛIó\9c¼a}·¹.\a\9d<'oØÒã\84\aï]\9dg*ó\96ûhËĶ'ÒUw\1eE½ÿoUK\1c¥^-   å\8f\9e\9d§\8f\ f\8fn\1f=úèÑ\91ZWË=-=½\9b\wÏÈ¡\13ëG\87\87w\ f?=Ö\7fbèôãÃ#cµåµ\9eÞ]}\9b6%aÿðÐ\89CÃ5óO5\87\8fÄMë4Ytä·è\9a?ådÒ½»ìýíý\87Ó\rÇ6.Ù¹r°ÿ°ó઩wö\96\9eÜý\84>q¨·è:\87êmz[o_v\v¯}ã©.ýòÁl=Ë\1cáà]­ëÝ\r}\87Ö:\87\aZû:W\1d\e\8dÜ\8dkVl>×G\98\91\96¶sïJ\87¿q¥ÞdÜ©\ f?®È\1e\9cì:rT~ðÈázkçéå»ô^b\7fk·³Õ3k\98Ó|>ÌZ3+\18ÿ0¬\99¾\9b;8سv\9d·q\8dy#÷\9aÃ{vo3ï\1d3ïæ\9eú^îñ7\8b\9b\ f'\95|2ͼá
\1aÌ«L?o¸\82³\86lr0í¼á
\1aÌ«L?o¸\82³\ 6\99´\9dkÞp\ 5g\rzûä\1có\86\8b\985Lþ4\85³>Hugã\ 3
+Ï;\83¸¨-N7\93Ð\eN\171\97¸Ä\99\84¤Ô\8b\99K\âLB^åbæ\12\978\93hôý\19Î%.q&ÑÒvQs\89sÎ$Î\7fãmâ#\84Æ?áç">Bhù\81í'ÚMÞ\Ûq|t\87$ÔhãÚuN}÷t\1f!4þ\19Eù4wiöÑ\rËz\93¥æ³\18\1a\1d\89ü0ö\1eëÌ®ïÚ½\ f\9frz\8e-®÷\1c]¼ãn\19ã\1f\1fs\9cöú©Æ'ZÔ\97æe¡ùèa\93-³ÏÃ\18Ï\96®\f\ 6z3kc×ø\85ß/¿s¿¦\94\8d\11gú¯ÐÔÍÜD\93\90~èæÆ\9eé>EÞ\1cËFg\9a«¿3˰«ÆV=1µ$Ë&-}m'ó]^µ¦+û\0\8c,\81¯Ú4>Åȳjþ\91(f­°1ÑÙî\8e÷À\87³\8b\93Í\ 56¬\Ö8>É¥M\13\9d\87Íz\80¤Q\93Ñ$\83öä\194ÿh\8da3Ñ9$çvÃΦmËHÔzÚéÙ±fÙL>\92ª9¯\9cõ1¥SßL¾sò]Õ5Í÷TÃ\13ë§ÞS]Ü×»xü\9eêýÓÜ\96í\98ôVÏ»»\8e®\9b²\89ξ»Vg\1f8w\8e{ªáÆÅ\8bW­ÞpÎÛ²§\16¯_ßtSV?\boqØ3e\13{÷îè\1dßÄÑö¦\7f
+Á<î\90ÍÛ5\ 4Öí¿§[»½ë\ e.îï2\v\9eæ\ 3&Í÷4 ëæ{æº\fèø²ÿTc\ 2>06õ£>\9an2æ\1f\99v`\86·<\97vN<ö\9d¯ Ms¿OW\90\ e\9cã~_çÈ\94û}ç¼Û\97ß\b<ë¾ï\83]#\97µÂ9¸xCg~
+úOí2\8fãg'a\7fóI8½oûøIØ;ù$tvNÜòÜ7ê\1fl\9c\ 2³ºÖ8\ 5}\ f\1dz¸q
+êÝS>\0W?{ç\ 2'aÙ]M·<W÷=q¢ù\96§ôÊ˻ݨåNÏ%ÞúÎ>,¾§óÂ7¿Ïwß·£½ó¼7\8e\9b\96éϹ\89\8eóoâÂ\eXÖôØÄ%n¢9\18ÎÕ\1f²[Açê\11ù\87\92_Æ>tOê\95\97´\89ú\f\ eÃ\1c\84ù\80õi7Ñs¹\87á4gËK\v*÷¢¢ÒÜp\9a²\89®\8e\8bïÝ\937°lÊ\ 6Ì\83&\17·\89ËÏ0]]çØÄL¯FW÷t\e0glRL4ïÅÔMÔgp5ü5÷µ·ç\e\18\½}Ê\9bc».7¨º\9csn \7f\98éÂ\9bpgp*ÏÙÁÍ\1c¦Ëkl"Z2ѽN-Þpoߤ\97êY6Ñî®\11ÿ\9e\1dy»õ\8f{\93ÛM\r\90écì|GÕs     YgJ\8cõL\e"\17\11ç=Ó\ 6\88>f4ã\1eßs©\ 12\11c=Îå\1eƹ³ÎLc¬Ç»\9c}01Öã_¸·m\fVníëÌ61º*ô'í\83w\81¬Óx8ã<gÂëºÜ}è\9e4"_ÊÕðê3\88\88ó?\96çÍdr3]â\1aß\80sÉ#²ùØI)G×\9c2«èÍk\90«v\1e]¿{õò\87Ö\8dJ\99)åñ¶\8d}\83\8fn~ÌÜ8ß\12zk\1fÚ³:_=Ô\ f¶55\96N\r'¯ñ\êçï\9aë2ý'ð^ÁÏßmÔÈÓ|\ 2\95ûüÝlÝrÚOàí¼r\9f¿«¯r\8eOà½\82\9f¿\9bÝ\9e\9fö\13x¯àçï6\1e1\9cáçå^âçï¶\9co\8bWìów\9bo6Où\ 4Þ+øù»ÙÇìNû    ¼\9dWîów'½ágÆë»\17ûù»z,çø\ 4Þ+øù»ú&Ló ¼úQúSÞ÷\91e\89\95\ f¶g\1diÝþ^sódYã,î:\997\19|¢»\91§\82ö\89<5~3Ò¼yilÕ\13úÈ®\8ew\e;²[\99\87\97>a¾\94?\1e<QÏï\91¬i=\90ß
+é3Ë-;º$¨Vlê9ºw¬\9e\1díZÞi2¶\7f×=ë6Oü»\10-MÿÌ\84yì½ñQ¹ù\1fú\83=ùBÀª¸câ>d\9e7W­ìlìò½y*èÚc\9eë»wb\15î\90¾     s"é¯Úâ\8c¯\ 5NIaÑøGÜ.\e\8eìI\96|%°¯+û\9eþ{Qò妬\89®\8e>Öø\98]É^n\96½&¶=\91ÂÆ?*ëÿ­j¹§¥MïT\ e¬\e9Ô|\97²¥­M¾³kxìôIm\10\ e¬\1d~ôèÈ\96Ág\86G[ÜZö\1fGþ£\7fÆiÍõ\92\9a\17\86òE¨ßÝr°¥ýÔ\93\8f\86aÚQÛ2"¿Ð+3Å\81\9eÞѱþ£CcGO\8c\f\8e>S[®ßÚ»uË\9eMýµåµñö÷ÔÚe\87\9c\ 1i,?éл£¦Ù6½Uj~g\9am\9có\87²µ§\1f?>"?î\1e\1c\e\e=zðôØð©|£½££\83\1a:rôø¡Ñá\91¬\8dWëÙ426ñSýcì\99\93ÃÙOÛ\8f\8c\8d\9d\ÞÓóÔSOÕ\9fòë'F\1fíñ\1cÇé\91Cé¨õì\92\97\eytòï>9xütã\97õû§\96\9f»íÈàãyÓ|÷òÆ\17<!ÿ+Ç|òôèqsÄ\87\86z\86\8f\ f\9cêqënÏ\8c\8füÐÐÌ\ f\16ã¸\9b®µ\9b¦i\8fãõx^÷è¡Ãݧ\9e\19\19\e|º{äÔ\92\19\9f\ 2ùµ\99\9f\ 3Ó¸\18'ahtxpìè\93ÃC'\1e\7füÄÈ)s6.æ¸\87.âÒ\ f\rMúÆ¥\1e\98\ 3»ð\8eïº\7fÃÀî#GO­Ëb}&û\7fÖ¯äû±öÄ\89ã\9aäv­\7f ¶îé\93'FÇj&±Öv\9f¨õíÚuáv÷\1f=uôàñáIí%\8f\ f´8µ^ùßÞ§ä\8fí-N=\ e\1dÏI\13\834rÒ\9aS\8fâ4J$Q{\89\e\ 4I`¾ãx\9e\9b&\81\9fDA ßI\1d7
+\1c/\rÓÄó£,ÍËF\a[²lïé\17ÏÈ\17\9bå/\8fÉ·\9eª¹Nmkmß\ 1§vH_}§ü\11¥I=        ã0\8a\12__¼öx\8b+\99ñìïoɾ/CFKãÏiÚ\1c¾àè1:<4\16x¾;ýøáä\17_¯È®#\83'\87w\8f_ùü¼9ùh¦ÿ\91Cívë±çºnä&¡\9b$^*{å×\938rÓXN]\1a¸ù\11Õ£È\953*ã_ê\9eÝfËÙm\7­»^ì\85\89ï8ÒNÚ\9cýb3j4Í«Íì<yI\18v'\97v¦ºÝ \1eùI\10ù®\9f\86~0ÝyI\93¸\1e\a\81ï\87n\1c\84Ñ´çå¬6Ó\1eò\94×\9aI\9bi^kíÁñ\v¼ö\88LFÚ÷\8ch?=T{ttðÐQÓ3»\9dº\93z¡'{\14\1f¦©~ËóB?ò\12?öÝ t"ÝB=ñ"/p\9d0t=Ï×ïÕåWÂ$\88£(ò"?Lô\17#'\96K\15\84\81#×߭ɵK¤\1fº®ç\aA\1c¸Y\9b(\f\1d'\89S/\89c¯æj·«Ë\86\12×\ fܨæÊO\í¯Ò<\94#\94¸\ûh\8bçÆu/õ|é\19®ïÊÄËwüz\18\86±\17Ë\84Rþ[ëN\9d@º°\9cÒØóc9¨\9aï{\9a   \ 2?\8d´\93×¢$­û2vÉ\19\94\rË\19\92£®G¡¦\858õ£ ­­}\"INÖÚ\19\87ÓE\aÓ¤a«Ö³íÄØN\19MF\ fÉU1¿ù¿uV{v\ e\ f\1eß:(©üi\1d\ 6Úûz7mÈ£b÷á\13£\8fg?\1aOé½\87N\1c\1c\1eèÝ\94êqî\1a{æøðÀÄ\81LJ(\92F\ eM\89<ïÊFÞÄ\ 4ÜÉ\82Ã\±¨ÖÞQÛû\80\ e\ 5Ã-§[öL\7f       Ûݺãh\18Év\1d£ù/±+Ã\81¼@T׳\eJÈH\90u该¾|§iì3çcûÁÇ$\f\9aÏTS\84<*Ý2\1cð\ 6Î1±?\7f\18\àÇí\8f\9b×Üß8\1a/érô?ù\ 1xAWã\10â.=\ 4Ý{s\18îþ\8e¦\83\18\e\1d\1c\17{ÒÈÝ;>ÉÐ\9d\98ô£¦oä£\87Ħ!;¡\91\954\ 6ÍgÌõ\97Hh\\16í\14úHÆÀiù_1.Î\f®Ì4_Û?÷M³>ÙýZïé±\13µ\9d\83§Æ\86G\8fþßá\89\978«çn?xjxôÉáC\ 3÷\ e?3\905:u%¢ñ\ 2?Þ»òì\8b\9f\8eGÅÞN\93\bkr\15j²k\93.ÖÎuëõzÉ\17\9bú\a<'ëMÚ8ÿÙxû{&5Ê¿ÓÙ»i@\1a¯?z\NΤ3:\83|vÁ@0Û¨éÎd/P[wøððPó\f9\9còz\9bFN\8d\r\8e\fÉk\r\8e\r\ eÈÎn\1d<y\8e\17;Ïá¯{zxè´6\9eî$L}I=Äñ_\98¼\ 3M=Yæ\ 6½#²ÁÀK\9b\93è\ 5\17Èü.\9a¦»JA\9c&\91«\7fñ\1c\9dZèIkÓ\11¢È       /®·Ê\80\10]vo5û\1aF¦·6vÏëjì\9fÛevPö-ÛÉ+\9c(Ýs&Æ+p\8e%÷D\8eY\89òÝz\9a%\9b4\8c/2%zR2½O'¹±\83]f\auß®ô84Í\19\9dÁD`ê\103~bó¿tË|£\9e\86A¤óËl¬ñ}\992¦±ö\93\8b\8bàÄ¿Ä\93kÎÎñÁ±áýíãûÓÕ\1dæ;ò¿p"\vs\ 6cÎàå\9dÁô\1cË\ 4\ 5>\83ç:uaÝ\89¥R\9a./\86ußó=I\99\9edtÇ   â¤æ§qÝ\9c:)8\9cøbG\9fÀ½ÔóÖH\8c\8d½õMblì`ØÕØÃ¸K÷Pw.z?F\9f\8b\1cp\12\99\ 6¸ÓƤ\1fÄ¡Ö\9b²÷õÄO¥ü¬ugã¥Lz\9d0\bý\8b;·ÇuYÏ\95M\ö¸cöÙÍÇ\1d³\9b±Dhc?îî ÛC³³¡g#d¥Û¤i\98N×ÛÇ«\e­\8aý(\8dÃ\9aëDYȺ\8e+\95ÿÅ\85¬TÔÞe\9eÓlo\934\ e¦Ö7\8d}\fÒ¸K÷2+ot/-\86­ìnâ¥i0ýÉ\95BMÒ§\1fK0èÊJÍu\9dìä&N\10\84\17[;&ñ¥\8eåM'×ì­\9f6N®ÙC·«±\8brfe\17uï²\80ý_\99/5\96Td\92jn}JY3¼¼é.hVd¶ÈoI\9b\r-=ýÃO\1e\1d\1aÞ¹ammï¶\96}ã¿Þíz®©\80]?Ô^\19Ô¼(©û~\14:aìH\f\85µ\ 3\v\1a¤º+G.ö\97MÓÆ\ 6Æÿ"i^\97±c³­@þ#ÍZÚÚÌ®k½³¼\96J>\bÓ\96½\9b®û\1f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\80+çÿ\0\0\0\0@\13Û5
+ªÂv¤\ 3\0\0\0\98}l×1(\eÛ\11\r\0\0\0`v³]Ó \flG1\0\0\0\80ò°]ß`\16³\1d¼\0\0\0\0ÊÆv\95\83YÉvØ\ 2\0\0\0('Ûµ\ ef\19Û\ 1\v\0\0\0 ÌlW<\98MlG+\0\0\0\802³]ñ`Ö°\1dª\0\0\0\0ÊÏvÝ\83ÙÁv\9c\ 2\0\0\0(?Ûu\ ff\ 1ÛA
+\0\0\0 *lW?(:Û\11
+\0\0\0 *lW?(:Û\11
+\0\0\0 *lW?(:Û\11
+\0\0\0 *lW?(4Ûá   \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(.Û±    \0\0\0 Zl×@(4Ûá    \0\0\0 *lW?(:Û\11
+\0\0\0 *lW?(:Û\11
+\0\0\0 *lW?(:Û\11
+\0\0\0 *lW?\98\ 5l\a)\0\0\0\80ò³]÷`v°\1d§\0\0\0\0ÊÏvÝ\83YÃv¨\ 2\0\0\0(3Û\15\ ff\13ÛÑ
+\0\0\0 ÌlW<\98el\a,\0\0\0\80r²]ë`V²\1d\0\0\0\0ÊÆv\95\83YÌvð\ 2\0\0\0(\ fÛõ\rÊÀv\14\ 3\0\0\0\98Ýl×4(\eÛ\11\r\0\0\0`ö±]Ç *lG:\0\0\0\80b±]£\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ð¾°ý\ f\ 4\ 1\0\0\0\0\0\0\0\0\0@å|\0\0\84í\te5\8eê\8f\0T^¹²\#³}Ðø\10\80Êʲ@#ËÙÎM\97/Ën&¯]uÕÕê\1a\0\95d\12ÀUW\99<W\8a\f\97e7Ém\92×®½vÎ\9cëÄ\\0\15¤½\7fÎ\9c\95<'9.Ëp¶3ÔeÑô&s·«®¾vÎus¯oi\997\7fþü?\ 6PIÒýçµ´\?÷º9×J\86\939ÜìNp&½\99ì6÷úyó\17ÜpãM7/\¸ð\16\0\15$\9dÿæ\9bn¼aÁüy×ÏÍ2ÜìNpYz»fÎÜ\96ù\vn¼ù\96[o[tû\1dwÜ)j\0*Eûý\1dwܾè¶[o¹ùÆ\ 5ó[æÎ¹&Kp¶³Ô%\eOoó\16Ü´ðÖEw¶.i»»½½£c\19\80Êéèho¿»mIë\9d\8bn]xÓ\82y³>Áé­\ 5Io×Ï¿aám··¶µwÖ\1dÏ\ fÂ(\8a\ 1TL\14\85\81ï9õÎö¶ÖÛo[xÃüë%ÁéM\ 6Ûyê\12\99éÛÕsæÎ¿ñ\96Eµ¶\8eº\17-_±ºwm_ÿ:\0\95Óß·¶wõ\8aå\91Wïh«-ºåÆùsç\=\8b'p\92ß>tÕµsçÝpË¢ÅíÝ~ºªoÃæ­;îÛµ{÷\1e\0\15³{÷®ûvlݼ¡oUêw·/^tË\róæ^{Õ\87fo~3Ó·\96\ 5\v?¼¸£'ZÙ¿yÇ\9e\a÷\ f\f\ e\1d\1a\1e>\f R\86\87\ f\r\r\ eì\7f\8eÍý+£\9e\8eÅ\1f^¸ %\9bÀÙÎT\97æ\ 3ºú6wþM·ÕÚ\9d\86í\ f\1c\18:rüÄèØé'\9f|
+@¥<ùäé±Ñ\13Ç\8f\f\1dx`û\86Õ±Ó^»í¦ùsu\ 5nvæ7-O¯\9e\82\85··uGk6íÜ7tlô©g\9fûÈG\9fÿø'\0TÌÇ\9fÿèG\9e{ö©ÑcCûvnZ\13u·Ý¾pÁõ2\81\9b¥\ 5ªæ·k®\9bwã­­Ëü\95\ewî?|òéç\9eÿ³¿øô\v\9fùì_\ 2¨\98Ï~æ\85OÿÅ\9f=ÿÜÓ'\ fïß¹q¥¿¬õÖ\eç]wÍìÍo¦<½yQ[=íß¾ïð\13Ï~ì\93/¼ø¹\97þúå3gþ\16\9c9óò_¿ô¹\17_øäÇ\9e}âð¾íýi½mÑͦ@\9d½ùíÚë\17Ürg»·jó\ 3C'\9fýħ^|éÌç_ùâ\97ÿîÕ¯\0¨\94WÿîË_|åóg^zñS\9fxöäÐ\ 3\9bWyíwÞ²àúkgm~û£\ f^5§å\86[[;£¾\1d\a\8e=ý±OýÕË_øÒß\7fíµo¼þú7\ 1TÊë¯\7f㵯ýý\97¾ðò_}êcO\1f;°£/êl½õ\86\969³õ\ 6\83ä·«ç´Üøá%õå\eö\f\8d>÷É\17_~å+_\7fýÛßùÞ\eßÿG\0\95òý7¾÷\9do¿þõ¯¼òò\8b\9f|nthÏ\86åõ%\1f¾±eÎÕ³6¿}èêëæÝ´¨ÍY±ùÁ#O=ÿÂK_øêkßúî\ fÞüá[ÿ\f bÞúá\9b?øî·^ûê\17^záù§\8e<¸y\85Ó¶è¦y×é\rTÛ¹êR\98ü6ÿæÛïöVo=püÙ?}ñÌ\97¾þ­7Þ|ëGÿúã\9fü\14@¥üäÇÿú£·Þ|ã[_ÿÒ\99\17ÿôÙã\a¶®öî¾ýæù³9¿]sÝü\85w,\rzw<râOþüs\9fÿê7¿û濼ýÓ\9fýü\9dÿ\0P)ïüüg?}û_Þüî7¿úùÏýù\9f\9cxdGo°ô\8e\85óÍ\ 3"¶sÕ¥Ðü6wþÂ;Ûõ÷\1d\1cýȧ_zåkßþÁ[oÿû;¿øå¯Þ\ 5P)¿úå/Þù÷·ßúÁ·¿öÊK\9fþÈèÁûÖ\86íw.\9c?wVç·?^xgGÔ·khì£/üÍ\17_ûÎ\9b?ú·wþóÝ_¿÷_\0*å½_¿û\9fïüÛ\8fÞüÎk_ü\9b\17>:6´«/ê¸sá\1fÏòüvK­#êß}èôó\9fyùËßøÞ\ fßþÙ/Þ}ï7¿ý\1d\80JùíoÞ{÷\17?{û\87ßûÆ\97_þÌó§\ fíî\8f:j·Ìþü¶,îß=üäÇ?{æÕ\7f\9f~üó_þú7¿ûý\1f\0TÊï\7f÷\9b_ÿòç?þ§7þáÕ3\9fýø\93ûûãeåÈoëö\1c\13\7fyæÕ׿ÿÖOÞùÕ{¿ýý\1fþ\e@¥üá÷¿}ïWïüä­ï¿þê\99¿üÄS\87÷¬+W~ûÛ¯|ó\1fÿù§ÿñî\7fýî\ fÿý?\0*å¿ÿð»ÿz÷?~úÏÿøÍ¯ü-ù\r@\99\90ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\91ß\0\94\15ù\r@Y\95=¿\9dyõõï¿õ\93w~õÞo\7fÿ\87ÿ\ 6P)\7føýoßûÕ;?yëû¯¿z¦\ù­\7f÷ð\93\1fÿì\99Wÿá\8d\7fúñÏ\7fùëßüî÷\7f\0P)¿ÿÝo~ýË\9fÿø\9fÞø\87WÏ|öãO\ eïî/G~ë\88úw\1f:ýüg^þò7¾÷÷\7fö\8bwßûÍo\7f\a R~û\9b÷ÞýÅÏÞþá÷¾ñå\97?óüéC»û£\8eÙ\9fß\16ÞÙ\11õí\1a\1aûè\v\7fóÅ×¾óæ\8fþí\9dÿ|÷×ïý\17\80Jyï×ïþç;ÿö£7¿óÚ\17ÿæ\85\8f\8e\ríê\8b:î\8ËóÛü\85\87kï;8ú\91O¿ôÊ×¾ý\83·Þþ÷w~ñË_½\v R~õË_¼óïo¿õ\83o\7fí\95\97\91Ñ\83÷­\rÛï\8\7fVç·ëæ/¼ciлã\91\13\7fòç\9fûüW¿ùÝ7ÿåí\9fþìçïü\a\80Jyçç?ûéÛÿòæw¿ùÕÏ\7fîÏÿäÄ#;z\83¥w,\9c\7fÝ,ÎoW_7ÿæÛïöVo=püÙ?}ñÌ\97¾þ­7Þ|ëGÿúã\9fü\14@¥üäÇÿú£·Þ|ã[_ÿÒ\99\17ÿôÙã\a¶®öî¾ýæù×]=\9bóÛ¼\9b\16µ9+6?xä©ç_xé\v_}í[ßýÁ\9b?|ë\9f\ 1TÌ[?|ó\aßýÖk_ýÂK/<ÿÔ\91\a7¯pÚ\16Ý4o\16ç·\ f^=§åÆ\ f/©/ß°ghô¹O¾øò+_ùúëßþÎ÷Þøþ?\ 2¨\94ï¿ñ½ï|ûõ¯\7få\95\97_üäs£C{6,¯/ùð\8d-s®þà¬ÍoWÍi¹áÖÖΨoÇ\81cO\7fìS\7fõò\17¾ô÷_{í\e¯¿þM\0\95òúëßxík\7fÿ¥/¼üW\9fúØÓÇ\ eìè\8b:[o½¡eÎU³5¿}à\83W]{ý\82[îl÷Vm~`èä³\9føÔ\8b/\9dùü+_üòß½ú\15\0\95òêß}ù\8b¯|þÌK/~ê\13Ï\9e\1cz`ó*¯ýÎ[\16\\7fíU\1füÀ¬Ío×Ì\9d\7fó¢¶zÚ¿}ßá'\9eýØ'_xñs/ýõËgÎü-\80J9sæå¿~és/¾ðÉ\8f=ûÄá}ÛûÓzÛ¢\9bçϽföæ7}@dÞ\8d·¶.óWnܹÿðɧ\9f{þÏþâÓ/|æ³\7f       b>û\99\17\17\7föüsO\9f\7fçÆ\95þ²Ö[o\9cg\1e\ f\99µùíê9×/Xx{[w´fÓÎ}CÇF\9fzö¹\8f|ôù\8f\7f\ 2@Å|üù\8f~ä¹g\9f\1a=6´oç¦5QwÛí\v\17\?çêÙ\9aßÌ\r\ 6)Poº­ÖîÄ«7l\7fàÀÐ\91ã'FÇN?ùäS\0*åÉ'O\8f\8d\9e8~dèÀ\ 3Û7¬\8e\9döÚm7\99òtvÞ^0ùM&p-\v\16~xqGO´²\7fó\8e=\ fî\1f\18\1c:4<|\18\f\ f\1f\1a\1a\1cØÿà\9e\1d\9bûWF=\1d\8b?¼pA\8bLßfo~\93\ 2õªkçλá\96E\8bÛ»ýtUß\86Í[wÜ·k÷î=\0*f÷î]÷íØºyCߪÔïn_¼è\96\eæÍ½öªY[\9ej~Ó        ÜÜù7Þ²¨ÖÖQ÷¢å+V÷®íë_\a rúûÖö®^±<òê\1dmµE·Ü8\7fn6}\9b¥ùM
+T]\81\9bsýü\e\16Þv{k[{gÝñü \8c¢\18@ÅDQ\18ø\9eSïlok½ý¶\857Ì¿~\8e®¾ÍÖò4\9fÀI\82\9b;oÁM\vo]tgë\92¶»ÛÛ;:\96\ 1¨\9c\8e\8eöö»Û\96´Þ¹èÖ\857-\987WÒÛl\9e¾5%¸\96ù\vn¼ù\96[o[tû\1dwÜ)j\0*Eûý\1dwܾè¶[o¹ùÆ\ 5ó[f\7fz\93üf\12ÜÕ×Î\99{ý¼ù\vn¸ñ¦\9b\17.\x\v\80
+\92Î\7fóM7Þ°`þ¼ëçιöê,½Íâü\96%¸,Ã]7÷ú\96\96yóçÏÿc\0\95\7f^KËõs¯Ë²ÛlOoY\82\93)\9cd¸«¯¹öÚ9s®\13s\ 1T\90öþ9s®½ö\9a«%»}Ho-Ìòôf\12\9cf8Iq\1fºJ\92\9c¸\ 6@%\99\ 4p\95ä6\9d»iv\9bíéíÿ42\9cæ8õ!\0\95\95e\ 1Í\aåÈnê\ 3¹?\ 2Py\8d|`;/]Y\1f\0\80\ f\94\ 1\0\0\0\0\0\0\0\0\0\0\0À¢¶¶u#\87ú\aÇ\ 6[önliëÝ\14\ eÈ×;\aO\8d\r\8f¶lki\eèé\1d\1dë?:4vôÄÈàè3µåò-·Ö³sxðx­=kV\93\16µí£G\1f=:"ßÜ54x|¸£Ö%íî\91ÿµì\99~\e={·nÙ³©¿¶¼Ö>:<4\168©?à\rtÔ÷nr\9d\ 1ù\rùq¶\1d§Ö³id¬Ö¾ëþ\r\ 3»\8e\f\9e\1cÞýÌÉæ\97Hkí\1dµ½\ fÈ_»Ý¸\9ex\9e\1f¸i\10¦\81\97Ô¼ ®\87Qê9A\10\87A\18Ô\1e×\ 3p<¯îD\91\9fÆ^\14;éÙ­¶L×ÊOëI\1a¹\894        \824HL«³_r\86ͦ}Í\91\19\9f­\8b>U²ÙÑÁlsò{µÞÓc'jÙ\ 5\7f¥IÏ®±Ñ£#\8ffgU¶|èÄÁá\81ÞMéÀö\83§\86G\9f\1c>4pïð3\ 3Y£Sù\16\9b÷²Ö³íÄØÎá¡\13£\87\86\ f]\81\1fï]i\ e§wXþï´ùëvý³\1e\87\8eç¤\89\93øA\1aÉEqêQ\9cF\89\17\86\ 6A\12\98ïÈ¥sÓ$ð\93\81|'uÜ(p¼4L\13Ï\8fÜ\9acþ³wÐlxüËgÊ\10B\87å\7fÚé&zÅÞNùÃÄ\84éªr\1dóë\97EÕÎuë5°ä\8b\ 3n\9auBm\9cÿl¼ý=\93\1aåßéìÝ4 \8d×\1f=.\91¤\97´ãì\10\92WÝ5öÌñá\81\89K>M\ 4Móu¶\8d\9aîLö\ 2µu\87\ f\ fëk4µ=\9còz\9bFN\8d\r\8e\fÉkIN\e\90\9dÝ:xò\1c/v\9eÃ_÷ôðÐim<ÝI\98ú\92z\88ã¿0y\a\9a²\94+ÍGd\83\81ã\9aëbbûtö\7fËôÿ··Ht\aòã ò\9c8qä*k,;\12Ö\89\17G\89\13&q"ß  \924ôÓÔs½Ä\8f=O¾ã{N\12I|ùi\12»æ;^\98\87^\1a¸n\1cév|Ç\95þ\12K\9fpå·"ýN\10jGòeKa\94\e²¾àe}Á©m\96¿<&ßzªæ:µ­µ}\a\9cÚ!ùöÞ\9d-Q\18H/s\83Ô\95È\8bC\rŤî:\91\1fºi\1c§~(\9d$\92oE\8e¼X\9c$a*»¥m¤'H«4u½(ªE\81W\8fÂP~\18Ê\97iXóBG\ 2\fRé¬ÚÂ\97\98÷}/\ e"9°À\97\16A]z°\17¸\91'§&¨\rµD~$g vC/\90&º/aX÷\13_~×sBéE²\95 îúa\10¥©¼J¢-b9\8d²«²K©f\88È÷ë\8eãÊy\ e\92(õõu\92z\12¹©\13ÉîúÒ×úZ"/­\87\92`Â(\88%ÁÔ¼H~Gvß÷<OrR\\8b<Ùj,é(\96½\88$%Dq=\8e\r9\ 1\89/ûáEr\85]Ù5½Vz4±l"\fäèü0  Có"Q=\92s\91\84r­äT\9a&¡ì\91ïèy\f´\8fk\eM\82A(\7fèyÕ&±\9cyG·í\84¦\89\9c\82XÎbèË\vEAÖ&\8c\9dÐ\91?e\1fM\9b \1e'r\82"M\1e\9eìoìÊÉ\ e\1c\9a¤i£\8dÄ\8d\1c@\14¤úJNÝu\9d4t}GR[£\85î\86|ËO$&³£\96sê;r>ô*çm\84+)X"Vö&ÒÝ\8b\93Ø    dÿ\¿±Ç\9e/\87\18º²G\91i㤩\8cuq [o\1cx ¿#¹Q\82BÏ_\14Ô¥£\84\12\8a²5?2g8I\1c7\94\ 1  ÓÈ´\90\93ë{Ò\rü(ÈZ¤Ò\83RG\82,öBÓÂOå\b¤\9f¸\9e\1cµ^\84XN°\\81T"M\83Ù´qÝ@¢Ö\95ØMÌ¥vâ@F\1eG^Ùì\89_OCGz\9b\9b\ 4®ù¹+\ 1\15%rºä\97ÌÏ¥ÿJÜK÷\90\0Î_EúºþN\14\85\9enë§òz\9aòeÓ\8d#\96~\10'ò_ùÍÀ´\91Þ\94\ 6±+\ 3\81\93äm\12y!9\97\1a¬Y\13ÏM\12¹\86rù]sÈÒ}¤\9f»r²Läzõ8M\9d$\94ÐÌãRú¤\9cxG\87\93|\13râ]íãn\12å\81)»*\99Ç\ fCéyùËh\0\85r"¼ ¿\862\1aI·ÖÔ\12\9a\83\1cº±ä°4Iò&\89\Ã4Hå*h`J\e¹ \9eïø\12\9e\12\85#\97=;wY?\93\1c\11ûAìË\19ÌZDòc9\93\89DO\9aµ\88\  AÉd\1a§}æu´½\8cÿz^ò\v\10É\15te\ 2!á.[\91oÈå\90ÁÓ       e\aÍEvä\1c\87n"iÍIL\v `ùiä»\8e  mÓ\e$YI¬É\11\9a×\91k\96\9a\93éH×K²P\91Ô$\99P\92dXÓ\ 6\89d\r'\92ø\91>a\1aÈëÉˤráÏÕB&,Y÷\96̦9îì6Ò;ä\12H:\95áA\86~ÓBb6\91=\91\99\16ÒÖ×\83ÖSmZÄ©\<9\93I`"_ZH÷\97\r\ 4úg~8\925%\99ÆúQô©i#£\8b¤1ÉYr­ÍV$¡¤\92È}érn¶\15é¹\92 d\8c ãé[8Ú\91<\9dºÄn~<g·\91³,I/ñ$úe+®d[ÇÌódÈ
+M¼É\91˸ /#      WZÈXhÂD¦\7f±ÉÙ©$q¹èÒ\v¤S\99ãqe\f\8a}Wb[~E_'\94~ªiHó\9c&~i ã¤\</uõ\92ÊP$\r$áJîÔ.\90µ\b´¯%\9a1bÓ"Òa.\91\98v¥·d/ãË\80#W+\91¬ë\9a6²£rÈ\92ÖuHÖ\16:ÊÉoÈËé\ 5\94\16rÀ:\10\ 6zA¤\85\fur\1d\92HöË\8cbn]\aAIαfWó2±äQ¹Æ\89æ\ 3¹è^ C\92\9c\18ÉxrÞ¢l#r\12µ[Æ\9aúM\v\9d\1e\84¾+ÿ\vtGd\f\92¿èÀ&\17,káhG\92\9c/IB/\8e4ñ̼@:²Æ\85\ eÜ\92\7fd\80ÑÈ\92Î$}­.\83m¨C¬\9c¤lø\97\91\1c\125\12Zò[u9\13\12\9e\9a6\eû\11Ée\97\8b\14I\927G#©Y\86#9\a:9\ f³£Ñ\9c\9cÈ%\95!Çl%\b%iê\ 4×÷L\ 3\9dKè\_þHM\ 395\12@r\ 1\13íÃ2\81p$\8dèÐéÊ\ 4É\1c\8dö7éþ\9a\83Ü0\9bdx\9a´$¦e\f\rÍ)\91Ü#ó%Éà~\12\9a       \84\ 4\8bt\ 4¹Z\91y\1dÉ ¡¤(\r«ÀÍg\18Ò\7f\1d=\8dùÑÈy\95\8e#㻫³\11ÓFr\91\8c\93®Ä½\17gg^N\9fÌFä\9a'Y\v­fb\13ò2'Ó\16\89\965\92Ì\1cÓ+t\eRÅHç\93±+Lò\8b#WFúµlVÓ®iãHJ\95¾§±`¶"\13ÁÀÕ\89\89\1fç;+9Ï\95yD¢\83\976Ðò"\92XÕy\8a6\90é\88lN~ÅÍ\ 3Íq´jñth\ró\17\89%^tÞiâ9Ö\11B\ f\80\8e:2¥\92\90\93ä#IZO\89F¼tm\99\15è\8cI\13½Nf%{Ê^H\16Ï\92§L÷tî!±&õL\96ÕäJÊ¡\86²gq6`H/\97\$\83¬LL\9c,kÉe\93\8bîé|#ÈÛèù\90ü!)3Õ¬¥3$¹\9e\81$r\1d\85§/\12H\7fÊFýH²£Ì\9eR\1d\8cÜxú\16\9e~%\99@\ 60ßd­iÚø:ÊÈQÊ@á\9a­ÈEIåL$\12\f\91\99\rI¬i\8d\96H¼%¦\85\84·#\99 \91~\98M\97bI6\92\dþÙx\99$\88$Äe\12àê\15\9462[M%\1fJdË\80§-dðÔ62ئ٤Kçþr\8d%¦µ\87JúÔÁL.a¢\1d9k\91ê,R\92¨ä\ 2súݺ\9c\8d±¤Ï {\9dT'a\12\1cúÒæÔj\9a\929ºT±ÙÀ£S@9n\19 SéþIÞFæ¦2\11\92K\97Ä:MôLÒ\91\17\96ù´\e\8d·\91\99¿Lª%¢´\8d\8c\93&-É\8bÉP9ÞFr\9f#shé\15ÒFæ{\12\bZÛD±\84LÖFFF       uÉ*\92r§o#C\87£ýU¶ã¦çØ\8e\91\ìË4/2ûcÂJ&\ 2\93ɼ\8dL¡% $?EY\13ÙS¹°\9eN£Rs\92å\1aH\0If\93\ 4\99µ\90K-sÛT+\89ü2Èä_ÂW³\8dia&VÒoÂÄ\ró^\10ëüL^ÃÓ+cÚÈ\19\90\rÉ(\11g±©\93\80d\87ó­$Z\12¦\81\1c\\16ß\91Î?å\9cKOÌöÄÓÕ\ eÙ¦\94h\8dÞ\16i'\92y·ö:Ó&ÐzL&y¡\1ccm\9a\16RÕI\84HÌÈì8  §{\9d¤\1ehhê\ 6dðj\1c\8fô\11\92\84tÎ*m¤ÓkÒ\92\82Ì\v\11KÌÉ\b\13\9a\v­¥¢$I©¯\9cìxÎ:o²\r=\1aW\aT\99\8b\rµ4ξö\eIÖQÖF^ÈÑqÈÑ!Õ\@W§õ:\12ùY\v\9aÎ)dz\\9b&\fâº\99\eÈ\90#³À4ï&SÂI\86a9MrZeìqÂéÃrÚ6SÂ{\ 6m\12G\vS\99\aÉ\80&\97jú6ò\8dX&y2Ô¦\9aþ²6Ò»t\ 5I&\8d\9a ´\8d\\ 2É32$ûyÒ\94Q_gÕ2{u]ÓDjCÍy2w\8d5ǧ2y\92RNr³$Ñl#¡¦b\99\aHÖðkù`\14ê/ÅZ\8dg-¤ÛKÞ\95\14\ e®/¯#uiª\13K'\7f\1dO\8a6\99/˾\98CÊÚHn\91\ 1EbÍd\a\19Ô¤\vé\8a\82?m\13ÍϱÖ\87:4f\85±´\91Î*a¦\13\9a&ËË\f\92\146Y\e\99ÃK IÏ\89õ¿ùX¡%¥ÎúÝlîbæÔ\81®2\9aô«©A;\9aÌ)\7k\90\98Ð\95í$Y\ 3_WRR\1d,²rIÚèè\94è¬16Ã_ 3x\89\rÝ7­b´\85L\ edn)§1ͪ\v\99\94ÈÐæê¬6\9bþÈ&t\8c\9521\88În\91Ín4T5¥ÇÁ96"çËÕ\99ªÌ_¼þР\97\84\1eäsµ)-|]ÜÑ5K9¼ É\ fgJ\eOçj¡Î\92¼Æ¹\97s\16\9aù\81LD²\16ºDåʨ µrÞF&72É\95Ìf*.©\ 2¤§J\18Ë«\99¹¶\86màëÈ,I2ÎZÈ7ôx¤d\ fM\véh:Öx:õ7-dsr82B¥Nvî]©Å¥Gû²+\8e\9f\95³Qªk*:ÛÊ¢I\9a\97\1cZ^ªÊÄLªA        \13\99&5ÚÈÁɤC×\89²Õ\ 6\19íek2"jèd[\89ô|ëÔ++!¥3ëtS×ßÌÞ:2½\90\ 4\1aÊl;\8b\82H\93£¼¸ÌÓ³½Õ%âPÇÂP§=Ù%ÔÜ)3EOÆûì\98¥KÉÜ)ÕÑ%+\96d\94ñäµ%vüü¬ÈïHG\8dL\1fÓ\88\8ctñO\ 2\7fþ:R\aéõq\83lj"\81\1fiÏÐyz~nu-K¯Yèf\9dG¦r¡ÎôM\89©WGû\9bd\11]]<»Å\90y\15\1d\ fäh½`\9a\16æç²ã:\aH\1c'\9b I"Ð\12MºEâOÓBg
+2×\90)\91ÌpÒ$?\96Ém\12­ÉB\1d¶¤e0~ù$"d6)}ÎͲWd\16\1ae\92\1af\97Ø\91\82"ÒAF\ 6\1d-(´\8dδR)\90¥\14\95ýu¤n\93®"94ÒqÅ´\90£\93=õ´\87\99\ 6\8eî\99¼\8cÌ\1f²ô&³d\99\9bÊ\ 5Ö\9c#»ëhi\17é\9an¤· ¤\8d¯9'Ôe{©oMß\90\9e¡\99HjâÈd~W\7fE.{ 9¶ÑF.\9dL
+¤+Ê\1cÅ\8c\9bR\1dÉ\ eÈð«\ 1§-B-1R\19h]?\eãõF\88k6\14g-4cƺ&«\87\1cûZìH~sä|zQ¾¿±©)]    \10_\175\12))t}×\vMïÈ_'Ñ\94®³GÓBNªo¦)a\94íI¤\8bhÒÝ\13s³BZ\98ì\11ê²Täå¯#i6ÖËãg«[\89.«9zÿ&q¼loe¸×\12Â\97ìáfSTW¦J2ûÕ©êô-¢T§y¡Î\87\93ÆëLm£\9d=\95\13àie\99\9d[]#\94BÐÕå\8f¼\8d$<\99\97è\8d#ÓF\v'72µ°ÖÊy\e\9dþ':-¬i\v\973!é)ͦÝrZ\ 3íRRëù¦E¬C\9f§Qç&Y\8bTfÛrA|3\1f\94\16²E½õ#\1d5ÎöDG\ e\19\b¥ú\95bÚ´Ðy©c\16\9a²³¯ÝKº\9cVܱi!\13+ÙS9ì(ʦÀ\8eÖ\9d\96Î\9b毣óz]AÒØ0Q©«N¦È\95k\97\1fq`j: ºÀt4_O\93\84\13©ÆYñu=8ÖÑXGfm£\a\14ËIÏ¢%Ô.!yFr\98«ó×DcNæ\91r­}\1d\85L0%\92tøÎ·!£»Ì\e$ÑÊ\Áì¯äE¹229w\12MãÚÆ×ɺ\8cã\89\99\9d:Òåeö&Ã\94)ìµ\81\19M\]\15\93\1fË´SBKÎs u«ü\F5\9dcJRÕóÚ×"±Y×\88\97~(§^Ç\ 5i"ã\9eü\92«³?í\85ÚF\97dd\ 4\93ÀÖs«\9b\91ñ+\92Ý\8d4agm¤\93Ær\96b]\162»"¹HK&\9dù\ 65ÓB\aÇP\ 3,?³\92qRM6º6#-¤\80\96ó,¥¢\\1f7?\9cT\8bZi£ë#º¿:]\95\13fzs\14çmtYT\ eQªTÙ\8aNÑ$\19JO\96Id`öÖ\93!É5)Cv_[$ºB\14ë\90äfÇ£·O¤\8a\97AWÎýP\8b\91s,\83\83\9cê(̶"s"=\9a\91Ù\8aN0\ 3     AÇd\9eDWôdú"§^\97_L\vɽ\81¤\84Ø\14\17S\ed/\13I  \19F¡fÛdú\8dèÒ\88Äbê\9an*-$ª"\1dÊ%´bi!\19OJ\8b\e$Zù&º¼!©M'¤2a6§Mo}è\r\12é!&\91J\e9\97R       ëm"O·¢³3\8d\9bTﻤ¦\85þ\e}±.¼Ë\81\9b\16\95\v¬KtÙñH(ê\82¸«'Ó\1c\8fN\9bÌÍ\10O×ýL\9bDo"èÍ]ùÂlEBQ\a\82@GçlO\1c½×'媮\9bd-ô®\9aÎTt)-Öe²@òª\ff2ÅÉ\8fGWOu\15)Öõ7Mê\92ê<½± «E&$¥»ûÙ\8a\82F\8b$\8d\93o\ e¨q£ÆÑ¡6Ñ\953½áã\9aÛ`\9eöÊT¯kÞQS­\rez%Y@[È\ 5ñuf,S\b\99\81\98ÔãÈX\1aê\92\88        Imáj\85(\19*JLé&m$ø$\1fh²Ló6\92\87\95¬ç\9baUfsÒK|½µågë¥Ò\ 3%k¸f|4-t\14\88t\8ec\16å\\19̽À,ºÉï\98\94\91\8bµÄ2¡ Mt\81\16)e\vRÜÉÙHôFF¶äêÉ\81ë-3\99\8ef-\\8d\0\9d¿\982Ê´\88µ\1c\94      wjf<:\14Ê%\95\1dÔur?o\93hþ7ùÖ\fQ\9eÞÕ\91Y\95LÒÃl7tYÔ×\95\834Kè©Y\87\97iNäe-\12\89"\99ÖÆn~§Á\f\v\ eõþ¢\93\9d\11\99ÿÈh\19éÀ\16\98k\13êlK¦\ 4©NxB-\99|½ë\e\9a[\87Ú Ð\9b*N¨a\12\98»©Ò\8b<3³×ç\13ôp¤·èÈ\1eK\8a\89¢ü\8e«\f\19\12|zãSO\8a¤2½Ñ¢³\e³
+\16\9aA"ñõv\92®\90ËØ¡7\rô¶­k~n\16\87=½L¡\8e\92ú*\8eÖÝ\92¢R\1d8t¢èÊ8)éQö_ïÿÕ4³é\19LumÚMãü.B -ÌdФ\ 2Ù/Éxò\ 2©\93\8d\93\8e\16\9a\92\f\e\1dC\17ÔÍ\8du=\9aX\1f!ñR]ÿ\94¤\1e\9b\8e¡\1dLÂ]vQFz?[\92Ó\9b¾Ú        ³É¤i#u§Vnnêd÷E\ 2óL\89\9c8\99\13ËÞÈY\91ã\97ñEkÇ0\9fêË´^Gq)\16³\16º¢,5U`V\88µZ\90Ô¦w²%E\84f\7fýºv·Hï7¤¦\0\92³¯µ\98ôåØ7ùÜ×ô&c\8ddc?̶¢\85¦Þß\94qM\13\93Nãåú%\9e\12\99ÚFÒ½\8cü2\8f\91ß5¯#1*     ÒÑÅó¬DÒÛcò²\92õ%­èë¸r2c-«¤\ e\86ÓÕT½\13\19\99\11ÌÕÛ-f%Hoäd5\94Ì\8a¥àÐ\ez©I\80\8e\8c>\89\967:\1af·ád¡Ë]¡#ݰfZèMi_¯H\94oEöUvD¾\17g-d\1aàk\fÊÕÎZøºÊ&\1dQfPÙu\96˪Ë\9b\81ÆF\9aí­\14\9e\9aB<Í\7f¦\81.Tg÷\94²òT~AïZ\ 5ÚCL\v}RGÓ¿tA7¿Õª\13Q]\ ft¼üp¤±Þ\1asÍbmv£T§×\81.ÙGf+z»ZohÈÎ\aù½VÇÕ%¶To\8aj\vWW\8adâ¦UF¶\r)Ê<}l@\82[\ f'\91Ôìëý'\99\8bdá¦÷ÿ4ÛK\16ÕpÛ\92µId¢ ý@o\18\9b.$\19Gr¤Þ\93Èr¾´I4WÉÎJ°gÝL²®®5û¾fQÓB\1f\9b\8a$\ 6]³¼®«wÚÝ\ 3    2\r[m!9Eæç2QÑ
+HZȤJ&b2\96ëòG¶¿z\17G\97C4\1cÌ­8M:zo#Ô\9bÒy\v¹ð\12\95º\88\92µ\b\ 3\9eô\19Ó"Ö²Eæo2\19\vL\v3¯Ó{\b\9aV²×Ñuv-¥"-\9fM\eIBrþ}½/f¶¢Å\9cÄE¤»\98µ\90(\ f4Rôn¸¶pµ"Otq2òó\16rú%\81Eú°\8c¾Nb\1eÅIt\9bù6äêÆº\12§\vuúsílzïÆ÷\1a¯¢OÛÈ\89\8b\84Ò"ÔÙ\8e\\113\8c\9bãuÓD\17\eeb¥7uµ\8d\162©Þ"IìMª\8f¿È\84O+tmàk>\94.\15\ 5&\fthÑ\11@Rxvùt\13úÔ\87\8c\ e\82\9aG\13]®KÌ\82w~0\92k5\8dê"m\16(2s\vÌ2¿\1c\15\9d\9a§z\1f,\vIW\9f\1e\91ì$\93\9f\13\99ÛÊÞê\9c\17\92\90\96\14sÚDKZ\9d\ e\ 6n~·\j#½\r\15ëU6\eÑÅB\19¯Ì:|\96DuuVo\rëÌ3k\11Èë8zS3»Ù#1%\83­\8c\9d\12Ã\8d×ÑI²Ì\9atFmÚhoÊ\96y\9d,îµ<uô\ e\97+ù,ÉÚ\98¾®O\r\99Ú_Û¸ú´\80®\88\r\8b¦w\98uÝNöFï\0É\ 4XÏCìe«*\89¼¬´\90Ê\§Î:\9dÓ\9b\882o\96\ 4çgK\85úLM¨k÷Yª5SKß7\81ÑXVѹ\93¯Ïl8Ù®h\13-ö%\8aÝli34£\86Þ\ô&\9aÈ\ 1è\fȬEé´Þ×Çgb}\1aÊ4\91\94§\ fEÈè"¯\97UÓÒS´.\89taÁ´Ñ9\92ÞÉqôy\99ÀL\ 2%<C_{¦ô;9$½\aà˯I¬\aZ\rÈ\88)\17Ù\94\9f2Q\8cM\vÉ\18¡\8e{Q\905\90\97\91      ·N`ü¬\9fêsB\9a\87ô\ 1$\9d¥Ç\8eYKótÍ-Щf¨·J´´ÑY«\93¯®\ 5\8efg}ö!«¢ô>\92\8cXòZºhã\9aÔ#U\97ÌÜ}½i*ÉIw_ï\98k=æéñ\84Z\91Ë9\93S\93ê\8a´¶\90üíK\ 2\8fRs\11e¶¢\ f\fÈE7Óvé\87z\9e4Ãù:¿×Ul\9d\8dêú\8dÌ\8dôþm-4k\17\89ÞËöô!\9eì\96©&RW\1fh\92S\eêºD\1c\99"$uÍLQ\8eO¶(gNúa`²\8aÞ\82\93ÑCgQú°\94\99ZI´Èõt4\91Äf+Ò#u\81\8b\10êóM\9ai\1dMpá´\rd`5Ý'\bÍ£\15Ó5\91øMô$Ëë\ 6f\eºj(¿£7d\12ÓB«uÙm9\18\8d\81HïeK'ÐeLÇÜ\10÷Í\9d
+92_\9f¢Ðc\91(\ eõ¡;Ù¹H\97´d6ª·òu\90\8bõ\8c\85fÉK\9fô\93\væeODèC-¡\96\e~Ö"ÔI¡\f+æv\83\99áË\84Q\87`'{|CÛHq+á \93`s«ZÆ8ù\99ÌÆåJÅ\1a\0\81¦Ué\ 2¡>f\18g3g9Ã\81äM\8dZÓBf\17úÈ\84ÞùÈ\8a\0]9ÑÕ8\1d\90Ìëh\95¯9Fò\9b\9fd[\91\8d\97c\fôúê­\ 59\8dÚ#C],Ñã1Ë>©\ 4\9f\e4Z$Ú#åôgÏ\80\ 4z3B«~ß$|ÓD\1f³\8at$Í6¢\ 5\8cëj
+ÔÉ\81îldf-\12ôAbμ\9c\81ÄdV][ÐS\12\98g\ 6\13½A\9c\ 5\91VþÞ/LòÓ&ÉA\9f\a       Ì\93}:C×j0Õg{|\13\ 22çÒ'\1a\9a102OG\85ºD gδpõ)@\9dW:\8d\162;ÑÚ6HÍ\rEÓF\9f'
+u-3Ê^%ÕòQï\1a\89]s¿\¢ÊÑg]ÌÈ#³\r½¹/]PÆx)\9ee*çê}aÙ¬YuÓgD=}.ÓÕç\11ò\ 4ªO\ 4H\a×{æÙʨ¹= Sªì\ 6Ò´mb=\1e¹FrYÓéÛ¸2Ê\ 5ú´\82\1c\82É}ºXª\8f^Èô)[@\92\16º\9a"C\96>VhZèâª>Á\19èC³ÚÂÏ\1e\94Ñ+mÒ\89®\ 3È÷eÒ+Óµl#28\9b\92Co*\99\8dè½E]Ftõ\81\fm¡» ¹/Ñ[gfäqdßu)!1·\84µ\85>ëåëê¨Y\ 3\93\16LzÕ\1d³$ãj\81/\13}½[äeC\82\91Ê;Õ\b3\8b?:ùÑj^Ë\9b\89\1c\9d$%OW¼=]È\91I\80¹O¯g%;sú¤£Þ=Ô§\1aM\e-ïôDéì$o\13é\90'y%Õoi\9bÔ\8câ2\8fÐn\96·Ñ%&]/\rµ;§z÷Xï\7fê"¶ë\8e\ ft2^éJQ¨·)ÒT\1fî\90ø0Ope\83®Y0\96èvÌc\86ÒBÇ\fù\96ä\9f0;Á\91\86¾>ï\93ê\r\13ma¦\bR¼ÅQ\1eTZ\9fÇz]ü¼Eª\8fGJì:fÚ\ejѪwý\1c-ëj\92þê&2dO5öÌE\92/dΫ\ f\99H,h\v­êÍã°\81׸Hzy|= úp\8e¶ñôî§.EE^ã
+\98U#\19 ´È®ùz³Mê`½i\14¤ùÙÕ6ºÚ¨+ÂÒ£åäë#Y¾Ö8I`î\1d\9b+©7\fÜP\1fìÌÚÈh¥\ f,Ê´Èóò6z+_\92½\19RL\9bT¯|¢wá|/\v=Iû2Öé\ 3\8dY\83T\9f\13Ò¸Ïz@ª\ fE\85º®,§ÅÓ©²ÙS¹úa\9c\9fÛ$Ò\e>\9a\a]m\93êT+Ñ\eõI\94\9f\]UÓ§¥ÍórÚBëY\89\f\9bÅ6_\9fJ\8c<]Ê0?×õ\ 1\9d Ef  Á´Ñ¤\1f\96KhÚ\98ä¤\vO:I×Ú?5Ïåi®ñÍÓ×2/\88¥Két[
+ʺI\9a\8e\ edzqô\81OIÄú\8e\12³æ\12Æ\12\15¦Gùú\90¨\1c\89«å\92ïèÍ\10\93\ 4\96èÚ\8elÐÔÛ²\r½%\1eëMÞÔÜÁ3-\]¯Ó\94!\7ff-t1Dï\;Ùø\13ÇZºùQ¶\84\9f\9a6rp¾yúM\9f¦Ò\16R4J<êÃoQÞ¤?}\Øü\æ=Ú¹äBÈtÊ×G¸\]@\vu`7ó\ fI¶Ru\aºR#\99'4m\ 2]÷Iµëx\91IÇú \87>d'a\9boEoùè\83'\9a\11uf§O@\9bém¨1\16È¥Mõ>ª$ôÄ\1c\8c.\1f{\1a-:#\91\12D\8alM\r\12\1c{\90Åj ß
+ôáN]ÒOM\e-\18u!A\v\95|>\9bê\ 3Cq¶V&mÜì\ 6\9e>&ª#ª¶\90s!Y@Î\8a¦*ß<Ưõ®\1c²Þ\ fÓ×      ²Û¼zû^÷Eö7Ô\9b]¡¾3!ß]ÉÎúð\92>\84¥MôÁÙDo\1féjA\94¥\93DëGM­QbZ$ºd£k`úÐ\8bv\1a½º¾.%Êx.-"}pF\9bË\1cÄÏ3\81\eè]\e/2-ô\8d\f±ÖüfýAê\11½_¥§Y:\96\9fµHu2i\96¸RÓ"ÒÕ\v}R5\88²møú@¨\84Aèç\83¥Æ£\1c\9b\16κ\1aiÚèâ\96>§&\93\ 1³\98åë÷2*J¡ \93\fyI½\88º¼\1cé\90\94¯\16kÌK\94JY%\99Ù×'+eþ\e\1a\9au\f\995k×Ñã\91\1e -äz%\91¾ÓA\1f7ô³\16z«Qïúé='9\9du]î\93s\99êò\8fYQ\916\81ÞÖÖ\85¤ÐÍÚè\ 3=\89\96?I¶\10¨wæC½E!\9b3-t¤Ò5\ e\80©Nn$D"³Â\9c5Ð;TrÀúÆ\984?-z{V×\1at\18\956ú>\v\8bÞäÐHÑà\8aÒ|Z,\9dC\9f&\ eõ\ 6¹¾³"Éæ*z\ f\9at}y\1d\99ÍH\ fÖR$4\ f i\17\93\1aL¦H¡>¹®\ f9úºV\15\99¬gÞ\ f![\91\ e\94h\r)9I\a\1a_g°úh\97T\vº\87¦bÑRQò´&Hi ÷×4;¸ú¸\9c\99xéò\83\9c³Dë?9\8f¾Né½ÈÜ\11\90î\10\99\82%Ð7³8ºB$WK*@]\v\96\19U¬I&Îê¢@\9f\e\ 6±nCR\9b¤¥T\ 3P.\80y\1dÍvz¾<S\fÖ$\1a4ðu©:{\1aPgx:­Ö Õ÷$I\v\99\84è\93ÀzïÛÓùª>É£\ f\1ckáª\ fÑk\v\9d$z\9a\9c|7ÌÓ_ ÅA¢ë\1czN¤ð\v\ 2½7¨\ f\99\85®IÕº aªC½\9fiZhm¡÷Çt\8d\97¦©H\ fÑ\97I\80¶Ð÷\fé}:\19\9b{\92sôñZ¹ü2\87×]Ñ\85F\9dÀë£\14ÙcË\89¹A­÷¹\82ìÄʬÌ3U~\1cdï=ÐÁ\o1ë*¼^`Oç      Y \98Ç´}}hÅ\8cò2mIt+ú¶&W\9fÆ\94Ø\91I¢¾eÉL\9et!Þ\97}\rõ\ 1\ 1ß<Ó¥\83¹¾í)¿a"¹Æ×p\95YQ¶L\1féZ°y\15}¾6ÒɬÌ\1dtÚ Ëý2A\97@põIúìÍSºÄ¦Ï|\99\11\r}øT\97\98¥§J\v©¯|}îT\9fepu\e®.V¸fm\§\ 3ú:z\9fKN¯tk³T¬mÌÜPïjé\13\10¾Þ\99     ô©\91ÀÑ·\riªÐ\81ÝÓÅ\v}®T*\88ºÞ¡\90\92=Ô7¸\98\16\91ÞÎ2O\b\98¥=m£Ï\9eè³Âú.\99¬\8d\9c\vúÄ¿>\13\98ê£ûú\88\91\9cÔ00-Lñìé³\87Á¹ZÈ \19kVÓ÷\93\rµLßFF\féÚr\91õ\19\13\99DI\82Õ\f£iVZÈ *sV}ôÇËZHâÖÛÎ2}Ñ÷kj\8bÀÜE\8bôÍ<ùñH    ÷ÿ9»\97]K\92,=ÌOÐï\10\13\ 1$!\ 4ýbfnN\8e\88j@ P\1aQ\144#\88\ 4\ 5rP\14\ 6|{Ù÷/ÛQU\19'³JìFwWg®³}ows³uù/\12=\ 3\97ºÎ\ 5Û­`ÌmÓ®1ßx¯\1c"7øûaH\7fÏl\ 4î¼!ÄaÞ¦¡+bí
+\a\14ÏÚL²Ö\9a\89Ö\ 5\99\11¤ä\8a\91\ 5®Ã\18\ eøFØh^®\81\r5\11þVÄ\ 5¾&¹?ìðß\10õ.crwû´^o¤\ 1\r\ 1Íÿ\1cêb\82¸\90.T\fÈæ\13&\v~L>\ 5\ eݸͽL\849µ1\92\92=ßäAÊ3®Ã¸q6õn\93\ e\97ÅÅ\0U÷pn¯\e(\ 4\ÏY¿æ\ËPïìBºs ÏLÖ°-Ö{¿#Ff>kQW\ 4\16\8f´\1cìì\97\7f¨\98\13ÊsÝàcÇ\\19¬\9dNéü\9a3ÍÀ\95\14\89\0\13ZßÂÀƯy\8d\ 2å£ë½^/µäãu.9Q6ac½*++\80¶±ï¼\89\19{OþøÇ\8a\19\10øgKLæÊ\16躣\9f\98÷\bûÅ$11kÃ1?Xû\17X\89\17÷\ 1C\vò§®´\96Ù\b´ñð®w[õ!«¾\92Êþ:à\97\Fí½Jv\87MÿúCVDæè\19LTÄ\93\8cã\ e6åç\b§±3ÖÛò~n˯b45Vê c\94\1c%¿x½cëÌÐwz*\ 4\1aìÅ%[o\94~ÔZ>ë8\99\95¹yåî;#Àñ\89YçÜH\8aÑvî\ 6 &y~Ú'\ 6\0w\8e¬m\ 4\18,!ÓHl\a\11ëÙ¯Ü\0εï\bïò\1c§Tz%9ú42¡õ\1fÏçç\b·÷¶þ»\89È!ÉÿùCnì\ 1\80\9cµ\ 3\8eÏ\17¹\8do\ e\8a84ó×+þþücþ\90\8b¬·ßX}e\8a\8a\9a¯n\8a\10Ôü2¯\88\9b«Å\8eSVð9,§u¦\1f >ï\18û\19Ý\b+«>(r\80\98\96;µ~\96=γ>!ìºfvÿĬç¿jÁW\7f;+F©ð(µ­Ô\8aÑã7\9bÓ\16ØËN7Y'¾ï¯|dKzTý£bd\10ëüXyÐ\95[\ 3\¢Ç\85\1eU\11·m~í ^\9aDx;mHû\85õ8¥à«îjûî\99ð¬g\14\ 6e½°¦c¯·¦ïËL\ 3\17\1d°¾\88\96ת\18òïï\fzP\8f%Îj\12M%\9bà¼ÿâ\19!g\861³b®µu¬ìE[ð=ßý\83\7f\8aÑ!XO\1f_ì7bN\84\9aô\16ÚñyÔî\89\8d\ 4Õ*!-\83©u\9a¿×Ü17\8e]ÃÌQ¡Þ\86Hw¶aL\86/c\9c£\13\86Èj,\bãÏ1+E9\81\91\91Fï»nN*ÎËìãM\84r\1d\91e]ñMDÛÐN\rÀ\8a0\8fìJ\93â§å7a\84¯£\f\98=1Z\86Óª\1fû5yQ\9aÖ½°\8f]áðÍ         Ö©ð\r\7f}­G+eíø×\99\88\95\7fÞ \1cçQø¸êñ\ f[~\1fù*«Æ\86p\807
\bOL#J\1dþT¯d½-²Ø\89F\93\0{¸Æ_·HE8Ì\80\97\1e\r/\97Q*jH¾&c;Fkp\1d÷ºQßD \99wÙÁÊ¢wÄZRëP\ 4\92O\84îÃáÍ\9fÞ\8e\'\8cÿ@Ìr\9dõåL\94.©ÞÕö·ÕS»ô?Ü\94\aØçÐ\e¢©Q\11\8ae¼/\13¼µC\7f7J8ÃeJÏÅ`\ 4J¼ÃAÖ+4\8dã^_pd\93ÊÍ¿\11g\ 6lèú\14i\8cùÜÊÂçóìg\fÄ:ÐF\9eDxú\ eI\8dÒ\8a\9b\80   Hm\15¬ó×\19xH8Þz\84ã\b¼ù®\8c\13¹\fÙÀ¬\bìdsæ7;ÂO\11VµÁ»ÕR\99ÏO1Þ\ e\84¼\ 3Á{or/\99\8f\ 6N5÷[\86\87ÚÔ±õ²N\1d\8eǶ\800¼_Ö[\ 6\ fi\7f\7fb,\17Èï4 Vªvë<7¼\81ë\13²î\rØü\99ú\1e_µazÜæ\81yFÓÔ\f\ e\1dÃìÞÚ\ 6k\83\18\9a\ruw×m3{[Ég¥\ 2\87Ñ/<ï]$\9e\15Ó2\8a\86ýLþc\9f»¬d\9b{}ÊÚ\17»µ2ÛùÉm"÷Pgæ\17ÿ~íÏ\10\r\0\ 6c?Ã\9fb\9e£P\e-Dz\11\8fTÖlã>÷®\8e\94´ÞC\0T\11 õ'\80?)\8aD`\ 4¯ýA\arÿ\9aõ­^hÑûØ»¶)â\84\87Ó¶ªg¨ÀÔ\ 6\ 5~¬Ãl\9d»
+Õin¾cÎ\90ëßP\9bêP\w¤\ 3\91ï|î\r7ôDȽæ>[3wYï|ï\9fg¨kåàº\93N(ï\90|4ÏÇ\8fç¼\1e+\fÈ)SÌY\ f+*ë¾Ï\1f\92M¯E\7f\1f\95Q\14Òó\90\vëV)4\0\a*\ 2\a>\1d¾^ïâ\15\11\vø®ý\11æ×!3¿ïçM\93§­Cþúô\94.t{\90à¡À\83K°­\ 1b\98\83\7f\19±.ªqBÏ¡ý|\9dõ\94V\8c.Úµö>\ 4\9cÏ\97\1dÄ=ÆúÔ\ 4\9cr\10ÕçNÔÎ\80VÁ©\9f3\11ø{0´½Úl¿ºku\19½uó½6æüòî\ f£!h¡P\9c?\ f\11\18\19Â!§&>«\81§Añèó³\16\863å­áÊ\171-\9d\e_ðÖdù2\86\94Ä\19ÄwPz\89(të[ÍET\9b\88\88è\91Ü      x\94ü\ e¼Z\96r,\8a\16 d)GW\88¶ôªäÛóV\16ö´\14_\86áõ\80\8c)ä¯ètUb<éZ\eáí\88\1c|¦"}\17*kó=P?GûÜ[ %\87 \86|m
+CÞ\1f|C^´tL\0\87×Ú¾[Ý\14mACßµ}de\9b\83Ê×C\8b\1d»ü\1aÞ»\93d\80ß\f'k@æ±ÌÊ='ºúºù\10ü\15±Î5ð\9b´\a\12¡ñc\8bÕ±\K[Ì*¸Ó~<õÉR,êxá\b¾u\1d\88\83µ{¬\9cúî;çö\8e\19Ç\9d\1eO\93\89F¯å\9a³\16¿\ e\12^s\9b¥\1dC["´ \8a\eéTÛ\ 2ÖR·UP@\195\eVG\81½])Â×í^ç\19Öüµ\ 3\1e\89´\99\80fç»\89Ðä""Öß\9a7¥¿Õô)ðÒ\0-\91\8fa,V² ³[\1f»>£YçAfêL×M\ 3\9f\0Å\9dv\14Í\ 2Pd³ß«\8aZÓelfj\0y9\1aÐâz!oý8­\8dá«£\1aÏ\99ñ \ 6ó\95ù&ÖêZJÏåvÐ×y@ZÒµ\0;VmõbAàã®\9cu½)ðýë~\90\18X[
+88,ø·õ\ 4ÜÂ,¾@¬ÒÉÑÑ\94qaü¬ZÎ~\91ü`f5j]aÍ\9føÍ3+v\8e \9b¨Ú\80''F3R/\b¼ô\9b\88\95\8dÎT£Õ\99:\ 3\809Öþ\ 6.24\97×Ò;\8e¨»\8c\1d\80p\88O_'\10\14\9d\ 3\v|@s¼b\80ÍÁôuaà\ 2\ f\9c\bÛsß\11\97"_iæéA\1f\9a\1f¼ªø\96\80 \84\8f\93|½Á\1e\ 3_ÃÝ<û\17¿\12\ f\97A\8eS©*R\9eê]%\ 3ï\1e\86¤\b~ÔJ\9c!=ÌÝg³ÿÛÎ\93\13­\90\95\83\94Ø.®\84 ÆÝæ¥k×Ï\87<C\a:S¼ú\10Ë2´7¨õñ¦\15¢Udô{æ\ 1ËY°!×ïO¡dR¡d~\ 1\94Ò\96Yg½é\94a\9a\bt\ 2£¦CŹn\ 4\ 2\84\aênV\84áÖ|³<\9fD\flMÐêV8qÐ\è¿v¼õt(«ÝÑ\8c\eÖ§(\18ð­\ fù~KÄz\b(\86oF\83"ε\92à_&L\85\88\fÄ\a¸h\86@bÖ{×Õ§3ýåFha\ 4³}"Ý\89h\19:¨SêÅ\80\9d\rÙ   \83 \ 1¯L\f¾gÖðæQ4\92\1a©st\85\98{G!g(n¼~kÍ s^mÔ¯1\b/¶»Ïh)d Wé\ 5¬\0\0º¶î\ flumi]ÀºeóÌ\94÷1ÉF\13ÅB>3
+\84\81\ 4#]\19Ô:\8f¿\89@7X\7f¢=QU    Ê1é\14çê×\11>\ 1\e\1e4t_ç§\98P\87¡\83¯äß«\8a\eSv:\8eªmtö4üÞhG­mð;ìß\95\11ÃsV\b\0äÔê^\9f+\82
+\12`çªSö\87¬§ß\93Ý­7R\84!\f¹=3¹\8c\94'â /v\ 6\96!f½Á\aT\98QYb\fÁn\8b©\9fù*X¢Ã÷?ÍE?!+ÓG­|\9eÄÐ/"\84\ 5ø\96\8aNLwÄG\8aá\13c¥gý´\9apG`!¬¼ù\89!dµÎ\ 3¤\9f\1aøC\r\184Âw\7fKÄJ²\9eÐ\ 2>U\9fUkBúÞ#\11«¬q4\85\1c[Õåc\7f!!\95\11Î\83õq\85i\18`s=ÉÓh\89äÚá:\88\vÿÀöTÄ\r=\1a©\88Q\11\8fþ¸\f¼WÕç[éì®ÃX\ fM\fºTQÀFõ\a\ 4Í[7/\9fb«ëi¡õ]:¶\19!+(È'\9c\1e\9eA«Û\86\arw[\86¡Úþ9\1d¨,4Ê·ïÒÑ<\9e\ ePä!\12ó@¸Q:HÖ¥­ù\ 4þ¡\80þÄ\ 4ª¯ÿÑ«\e\87\12\92síÍ}Ç\ 4ªß\15¦{\0\rO4¢Q6î\1dój\ 1\14\9eá®\18Êc«`k§7\89\98\18¨'¡\91çÙ\ 1^    \93\8c6\12±\12éÀNÍøöe´¶ t\92¾\89Ñð\aè\1fïÒÒ,\ e\90»~öÚ\1a\ fÏ\87¢Ì]cù7\12KC];>1+­1\f\1fÙÛÝ>\8f\ 3¯»í\95  §\b@\fCøî^PD:\86­îÜ1!ø\ 1S]÷î\ 6aå;ä¯úQùª/\0ôn\14\98M\82&\8fã=+Bµ\ f¸\98\19&@ËMa'Ý\94¬©\89=5pT¤u\9fµ{\80\17Ýr¾D\10+pTi\v\880h\83\r¾²¦æ÷Èrbü×\ f^\ 1\97bÿ\ 5¶½ssgåk\b7xAy\8d X@±qfE\84¬2iv\ÏÞ£°\97\80\17ò*þ\14aìù\ 4ä±òôs_ç§\98\91\ 6Í¥¥\9dûª\1e\96\14Ðg¹ûW!gwÄ\13´z\90K~
+Y\89\e\18¥q+Á\93üûÃø|ÞQñZ\ 1\86,D\1a\87¼Ü\96@o\ 4ÒbÝ\96`/\1eË¢\91N{£Æ%b\9dCÃK¯Á´>ãý\9e۬ȻÒR$,\85\8c\11LÄSX\13,Ö+\11 ¸äp"\ 6·\1eð\85\ 6\11\90è\15\93\16\1eù¾\\87\96Êúäª\e#k¸2\19ÂRú\ e"\9a\92k\9dGwR\9e+ð¢ÈqÝÅó\16cú|\98ªË\1a\0\8a´>MøÐ)Ý×|\8e¬(]ã\ 2\1d=\88ÉD\910\80\ 5\ fZïWvF1Ô³T\ 3æÅû¶Ü)0h»Ýdè p¢%¸~á\93\17\ 5ªTª{'@î\88¢\9eýÁ·\ 5\81 Âh\14\9dõhbÞ\ 2\16Á      ^\1frÙ:\ 3\8a7\bY\11§?±]\10ÀX\9b-\ 4\91\fè  ¤d'¹r:À\1dò!³<çJ6 \80_\84\ 2\89\11Ý!IÓe®äÞ\9eð\8f\ 3u\1c\95u&â\94ÁÞ8\98Þ¯Söx ÔÞAôý\14\1e\1eê\b£i\7f\9c)Î}ìÍK\8e¹Î=½¢#ï©\19\12A\18C¼6vÌD\v\87ج\164îPÚ\82x\91gÞÂô^¯L\89G"\94)\94F´$\13ÑM\9dÏ0\8bë:ý
+ß("\92ûû^ùþè÷\9a_d¬VάÈ@fØßå\_\1et ¥ý\ 5\80Vó,\ 5ê\ e1RÖ>\95Q$¤Àg'j}«Ýkä'ÚæÖÍ#WG©ì\96\ 6|"Z&¬xÀÐeQã\1c\9aB×~\8cb\10N\93Ë\98S\9e¦\ 4&»ë\9d\18×ùùº°m&ýÃÏ^1k³8íÈÇ1û\8e!\v\82\88\r¸P1À\86\97M<'8TèmÌE;`$â òvH(fÝÞÈ·HÖ\9d\ 3ë_}Ooà\95\92\84²\9cG\809\1d\ 4\852õ,u£uäãY÷½\99\16Å\ 2|/\11`Ckµá×~¶Û\13^'µÌ·\95w~¿²öeÆ£ÿØno @5HAImN¦¢ã\9e\9fe7é&\19÷\9d\e²jr\93±Ý±\9f£¡;µLR½Ï\ 6¾ªc}åu\v¾%Âà\8càÀÑ+ÂÔ¾\9bª_9\ e׿¢ê\94£x?/,J\80¸\9b¾ÂSßwÅèÃà\9f³À¼\12\X¶\958\8d}\1d´­U\ 5N ç\15±ö9 \99\17\94+\11\a<ÏÛKkòí:+\88\81à{Ͼ-\80ù\18\15oøío@¹!bÀÓ
+(])ÅûY\1fÒ\11W\1fCí«Vå£S\ 4²\ 4¢$\82\12\81d\1c\1e²p\14Äâ\9a¾\14¸n\85,A¼z\84\9a\ 6ï\e\rH·¤}§\19     &\99­QD¶Iï\19Ñå+õ\93i\8b9Çü<äÓaN8\13ÎI\8còýÎ\9c5=Ã\9fc&ðäÊm\8d]Ïçü2æysWú:\88ÎöY+\rÂ\11twVD\ féþV²·\1dB73\84BJ¥b\1a½\92 \10?·.¥,\1eÜU¤ñ\9bØÅÈ\ 4åú*b\86àN|x¤úþ2ä"äp\8c­ZòDõGÓ\86.$þ\19x\9bÂá®\ e`b\10\97  ü\9c\17î\12ÀÕ\15\8e\8eãìX»\9c\9a÷=
+\10¯Ñû\ 4Ét\ÉÙ¯t~áÑ×MèEü[\85\86y=½àìÿлdx´!N(uó,¬R`4è¦Gj0\8cGáP¯-kØÖ+E¥pæ`mÉ7p8f´¾zÔ\ 4P\1aè\8afc¡\9b¼\964\94i/\ 2¡e\89Äãe½\93ø¬\1f\ 6\7fØ£ò\1cl\86¦(å\87÷ý2à.\9eO˼ÛE~\ e\ 1é¢\82ª  0_\1ao8\97\96otI#¼öÍñ^yÐ(\99Ë
\8bºROí\14 |äÈÎØ/\12c\81\18«»
+ ¶.=\r\83^ÄtBÈ(.:\9c\89prx±\ 3\e¼Ò¶²Ëõ\11\98µ\1f\93*\ 2\83g\ 4`$\ 6ɶ¥\ 2;[îû!%G¯\1a½\18Gf^\86\9e\84V+Ý\'ÉÚÍ¥Üw"¤_õ\12´¶W\80\83{¤¨9KíubÄ\9f\94\1aî+\9fr\12\}mnw±Û\1düë2ë&ô39\ fü\14{\81«8-\92MB        ÞÒ\%\14Ë©áäËe\9d\19Q7¸r\1aÀ\8fCZ'6âz³\7fH¨ ·k\1dÈ\8d\ 5*w\ráð)   Þ\11\9b\ 2!©lò¤óvhü\87Å\97w+¢^A\(©OB+\ fê§\14³$\1d:èG;\ 2ÇIÄQÔ    uâH\ 4Å\80\ 3kNSü\97\Ç+?áh\9e\1d\13ÍØU6\85\ f'ûrÒ»©ãl%7¹\8eÀµ©\8dtE+¢]\11á:Ç]\1c\8ezäèî¹Î\ 1\1e \85\ 3\8b,\15\1e¹\98Ã5­:\11Ýz|ëúì\14Oh<\90È\89xÚþö³WÄ\bM  9¹VÁiÔ1ÃAoQË\1af7³è!s$ÝÔ¹\r\19ô\8d4\91\87Léy\9d\13\898\b\1a¯K\8dg\8b\81jª®Sä\8aÈ\98\10Ò¢\88Ûod\1f\84`ÓÏpk+«ÕgYÉ\81Ä}«\88Û|R¶g\9dü\14±\9e0î~\94¢æ\93»öë\98®1®\81\8bRÕ¾í/Ò1x®\10f,ú\vJ\1c\12çÚ\11¯sa\95Û\13\rK\ 4\8còÚ<®\12¡¬{rf B\ e¤b c\1cÙ )\89 \91b\ 5·«\88g4bM]ýè¯#LOñ3\ f·­~ÎO1ú;ë»Ò"¯\9bB\16\84\ 4p\7f¶H\ 5äwTaL·D¬\93üÉö\17¢k"H>4º\93s_ç
+Ôm\18\1d\13¡w\12\1fõx\8c$z\8eb
+/!Ò\99\a\93Ëîu\9d\95l\ 5|\1f¹á-\85\81©a ÷ý\92bµjÉ»\r[`úögɰ¿\89èÔêW  ¯å\9a\88'ZTGúð\89@á×qÑ¡M\ 4ªï\8b\93\büV/éV¾§Ê»U¨\11l\ 3u¼ë:á}®Uà /F¦ª\12F\15x,×¹Ò\94Ó{\9a\1fúáÌ\9f\15P>ßö      Óxý×[zØñ A\87 ç\92;ûäÂk«Ú\9f¢ÞsKP\19\92\1d>DÀ.èÕ"m\1aå!_ÑÎúäS\11RulöÏ\11è¤Íás¥K÷R\\8b´Ù±õ°IJß\18M³"Ö~{K\93ì!\15\11\9cèºqú\87Õ.Ô^i\94}Èï&\86\9a÷A\85ð©nà«ëãÀ7¹È\11xPä¼(ôÌt\90\f\87Îl¬9yh\88Lº``;Ïn\9cÉÀ§áMd\89 \97\1dÔztUl\0\ f\99;\f\9f]\9f\ 2ó\9f\9dl\8c¯\ 3ìz\87\88\96õ\971ë5ÆÝró\9eú²<DB%ñ\83Û\e½è4æ=\r?\98}B4~´Ì~\8a¨Û&\91RN¯ãÿúúS\8e7¨â£VA\v\81\ e\17\0£úÊ#Ü4Cñ»nÉ\r\1aÒ"¬\92­:b3ª~rN£ô»\1fZ\19\1012´ê\96¯\fô\89\91\bð|nÜ\v6Cܱ_»¹¯ME\e~UõûÞ­¿\1a\ 6\14o*FjÿO¨1ëè¯Ç\f÷\94!úyTs\7f\1deÈ_\f%ö½\ 5â WòîÚ).\1aN×ÀÑ*\ 6\86Çóèóó!ø\93u       gà\9b7}_ÁK\ 3wrî\85ô\97\ 1¿ä\ 2Q®²\ 5\1dçóÅg\Éz0îf¶¤#ÊäÐp\rKe\9d\83h\ 1Gf\8bqÀÈ\940\9aÜïQg\97é\ eÑÇ(FV¦\8cÿÜÓ\v\94£|\eD´ð±b23KD|J\1c^-q`1\11$YÌÿ[2rsq\r\82µ×\%Yôf\98LþñÕ"O\f}\ 2í 6öeF\0\97/\ 4O\ 2äDw¤\8b\8fº\f\106~¡\97%\11(¼O&ǽíË MË9CÖ.v¾z\ 3s\1e\8dzBH)³tC\10\1f|ÓCÞV×\19ïÆD\9eý#\8a®s|"}ßû:«\18U\7fÃïµOù DºL\vò)³E7 \8aë\15\81\81\11å\9d}c-þ\19\89¦mVÓbÎ\11\1eXß×YÇ?90Buû»¬Íä\8eXÜë÷èè\1c\14Ð\ 2íÍ20\9eìÀ\0°U?Gx?£«Î\8fã
+\1eù«\98\90#%_|@,\14¨J²ý«\98®}\0· \15\14E5\11lud\81#bP\11ú_»¸\ eâ\96ÆÇ(¦\16ÕÕ\92h¿\9c\81\98~<ø\8d½îÛ:\v\ eb#-i\9daÿ\11j\ eòÿ\95\b\bqçØ×yxüèÒÏ\9a±«ýÉàÑ}Ó¾\89_\80Û\9cq\1c\¨¹çµr\;Á±w\81\1eÂ\90ÖY\8d_¹­\801¨¦«Þ\91\12¬oN\a}\8fWµÑ\b¹T["Â\ 5@L6\1c\98\11cÞK;nå8Ñ­\80\ e¿£\8ey\84\1fR\11\88\ 5\0ïs\1fç\91\80Çg¹\83MI\f\18õKc¯%&\b=¢&tÄ2\94n\93»
+RHÕ;-\88
+BbP%/4ò\81\ fÒÙ*í%\8b®L¦åè\9f\1dâv×\97N=#Im!»\95\8bãÃKH\ få)\7f¤+´5usÉ·¿'¨\15[©fø\99\18\1dȨÀg­ \17Q\9c\ e   p$@+ë\88rêh\151q¸)Þ]çÏ\11¿ä2rÒR0\9c÷W\9frD\ 2Â\9eWßãY\87Ê\8c@eXüÀ\18¯¾\r\8ad=Aµ²Iös¤!Z\80\8dUÎä±\1eÏ~        m\90jPâ¯\1fØÇ¡[\92aERL¬>¤\ 5\82Q\89 n[\18Ï­Õ\0óǽé*\b$Âf\98\10GLn*&h)\1aßw]gm\97
\ e\11¼wk£W¹Ñúú"¸É\1cél÷Jv\89\9eØ\94\941û:t\16Ö÷ÀÕ«=\1fÍ\1f\ f\80²Çú\14/{\92Ö\83XoUØ.<"¶Ò\13qÃß7R²GIvXã\86\81~áiz×%>(º×\eDc÷¼KÉ)x\1a@;V0=jC+\ 2\9a\81xÍóШEív\87\94\e\17Á<hÛFh+\9bñ4*\ 2(Î6sî¾Ãúu6\9e\ 6A\1dT\80²V}Ê#-r\9e\17²g½íݤ\1c »Õ\evd\1c\19é\88\9c\95bFLFð®Ê¸%\1a\0ë\8e\12¿È·U`Ó\9cyÛVõXË+¼\99\0j\b\ 5 Óg#I\97Å­\87\1d\96¿ÖK¨W\18\17\88)\ 1®\17õBD¤vê'\8bXñhÔ |?
+Á++=¿æ1cU]C/Ý; \82¯«þ-ì#a¤\16Ã\ 2[i­êµ£Þ¤\ 6\1f\f\92\ 4#$ òì\88ÆÞâ
+m ¾\bdd{{é¶Ð<J¦wF,ª.CªÂD´G\8e\rÈýH½ÉãàÉ\87àì4ÃÄJ0\82õÌË\ 3¬Z\11ÔqàxßzGµ¢zàæãÙ\97I\a\85ÝñÓÄÐÿxæþªèéö­ÑJ»,*\864´pp¾\888#Ï\ 6`tmáÙ¯bd\96$7¯B dÉ\92?»îpIK\80\ e1ãÄÆ,~Ä\f\15Ö{\0{P
+YW xw¼\90² ¡â×ÚQ\16\94(\12Üü:\0ôb,ê\9b\14\87Ç̱g˹#t\9d©Øb\165\15\98g\ 6pÕ8Òxh9)Ás×§p\87X\8bȸª\8dw«æ\fÈAdZ\büx]\´1ù\8fU\117z MÈ>Ñ\9eçBA\8fÂC9*\84F\83\87Ìñø}ì'n½½JÝW2{dF¬Ê[9Í÷ô \82\97Ü\1e@óI{Ë(0\eþ\83å²2\17òKm\97\1aH=g\ 4O­È'\8c¹ì\ eºæ\89àb §~F\94\94Ñ\9e\8eU*\ fâ<¿\8ep\9dË»\11÷\9dO6ô«\ f\89]a\88\18°º\15\ 1F¬îµ\7f\88à\94Ð\82\8bÛ_\84~\8e÷e\9d\92ç¾L£hw)if}\15ec7*\84â\16\ 1h\84çY7\85\86×     Ù\b%&"ê\19v¯¹o\9b\19\ 17¼Vv\1f®óäË\9aû=;G\ñDK\88jx<N\98ÁNõ<ª/\ 4#ñ$í\1d\15\91½Ï\fê}Ç\8e\0TAÊ+-W1\9a*ë¶\95ÕDÅHeºÕ\95µd¢\ f\1ftÔÆtGÍã%;öÜ\15¡½þê\91¶wï\90¶f*ƽ²»\15£òº\18_>Wuc´=Ãy×âY\9b\1f\84s\87àCm\80gHô&\89£""³á¤-¹0\95\ 2ð#/\9b\9e¬\18Í\9f¾ÿ\ 3\9a?+æam\86¡\ emÍMæI\93\ 1\ 1ª\8a     Ýºõ49AÖË\93\1eÊq\94+Fgú¢ÇyQ\f\1dûéØ@éq´\88Yë³  Ï(ö\ 3\ 4¯´F¯{ÄKq×Ï&Ck\83Ai\f\9a\97=¨&Ü\11\e\15\94Ô\ 3\99\18b­¨\96\ 3k,c\1fíÑʬåá«Fç\85{\ 6\aÕáè'B\91\9eì\1a0µ;W\9a{4{\ 4\8d
+\84IO\8c\90sÿ\90\98äó¯Ú\7f\96!Ø!c6\17\ 2s\10¡\89K+«Å\91òç\88x\8a¦¶½ï÷ã)
+Gë`(¯\9c¿é;úÇ\7fø¿ÿáüö\8f\19sâHK¢J-\1cGJ\17\9f\90÷ª¤ÿôU\bDZÑ\8cÔ3éd\91\11³xÞªÖVFwÄ\7fK'­"äç\9d\ 3ãõ\8c\9f#~Éu´à5TÖNx\7fõ)ÊÄPOæ¶©\83Á#Gû°G{+\82\87J\9c\87RJ;û\0ýôÝ6ðG)yð§êÕµ6\0\9bæjNÚ^\9d¹Ø&¯£!k9ëßHo\82±\ 1Üø®\90\f`[Õ\91éÑ\18¹¡Fú½\7fÎÚ$¥!\18\ eÑ[0\8bÈôñ§\eK\0^sàêqIü\9b\97õ\18¥à]û\ 6üäÙw_\8b×-2õb2KoÕ\99\16e¬Y\83Á\163\9a\95ÇÝ\11ø\15ã6 \14\ 6ä\9fá!b\9cÚ¤Ev*èëuãðß®z©!\82hcè\ e\16\81(p£\8elEOw\9f ñM>º>Ã#\96\1eà0÷"w\85ÿSHã\8c:i6;*\9fÊH\86N\1c\16\8cÔ/òZ5ÎqTÖ2/'kP½ç.¶t©\9c\87j\80¤ßÑ\ 3\8e+ 7l\1abîYV\ 44\18\e6½iìL\ 4eø;8\91§\86\ 6$\90bÐR\80ò3sZÐì^\8a·Ì'z';ð~î\9dVý#\r¹î-óFõ/6Q÷ç\19¬\8dÁI4\8e2L\8dx\8as\14\19æÌݳ\18Þ7Xûʲ ¥ÃÎ%j\92\b\90A#ͨô\11;5Î\9bðе¯\8a\e\eAn§u_Ðy©dÜ)½Sò³6UK×ÝE¬\0Òj1w}ÙÉQÚ\aUÖOrÿM\ 5t\e¨¬îçxF\8a5ºª¥\9b\eSÁ+|ô\14\99h\8f\8dÿT\8a¿Ðx4Ê{\1aû)ÛLù#Â^C3kÁÄïÐX«L\1a5ò&µ\ 5\94²×\vñ\83\bN\15%0\ 2¯H!HÇG=éÛ\vÒÉVDz-¥¨C\8füyK\8fì\85\ 3\ 6zÍw¨2s=®\83\8bz)X>
+Qã,TÍ^åì5Fl\vbwÖ\rùØ®ÜF1çþ¾f5Ö÷\11SGi;\8f@\87å(.÷,ô\ em³ó\93ûG\12g\82[>\9f\9f\ 4\9f\84ÀWâîÚô1US5ÖíU¶®\94\ 3\1e¯¶ÌN{pêºï\88\98K^\92\91£ííãJN±\ eͱ«üßßb\9c'º²§\84\ 1hûh%Ç<¸ow­\8c\95Çþé«\98°\9aÐâ¨||ÚÔĵ\1a\ 2N\89-7rÌ\86h\98\10\1f\9c:0(YPÊ\9ae\aôÚ^áÄ^\9bx\80\87¤äµp·µÔúH=¸ë®\80NrÒ\8a¸Îm\16Kx\ 3\9d÷>+\189fú\93Ö,£Wç3K1ÔÞÂ\8e\9f±Ï}î\9c¿W±¥¸Ý\9cÁ¿ï\98HMÁ\1aôò&\9agY´\fsúêà\e®Ê\18\b\11\97\ 4®­íÎÓl;F\1f)\0ëk\8f\80«ñ#\8cS\8fh\90FÅÀè&ãc\a\13È\11õæôÆuUéõ\82r\96\9d\8c~5Q ë\a\9b`@|\10Þ\82ù2ì>\83od1\91·ß cÝJ[\86U\92¡º\9fظàÒó\17QÖÂÔa{E\0®°\1eÀ\98Ñ¥Òz4C\8a        Þ[\83wÀ-Ä>\b\a\11-êê\1c\aú6Ù1^\81\1dCÕ×\9f\rë2âîm\9bì ppÈ=2OÕ\7f=#m\b\16ÕJéø]\1fóDi&-À\91A\a¸\17Ès-¨Î«Ã\1e\93î«\86\8cÖËI¾«<\8cÙB)\0\8fò\1f~#\85\1c'í±\17®#\ 3\14TB\9dïJ\b\ 6\88\86\80èÚk\94\9c\89Ы\ 1\0ÖPÙ \9f\96Ö3zÇîH\8f̺M«¯\1dÓ8\1a\1d{¼!¹·\8dƵ\8e\98õZ\85Tf:MUëD¥ÛlÖYüg¹vÍXö\9e{\8c³J\ 4ã¬~}B\14O¤à5yëe&\9b÷jkWDsl\ 3\80·{~\15\91-\81¼%ÜÎõ¹Ìïn\e6\17·ö$è\ 3zü\uª%e\18@TëTûSbp±\1eGg\0%b\ e\80\93k\14Û\9a"çZNç\19\1aWÝþIz_¯£Õ2X;ÏE\95\19è®"$+Ô\9fi\13T£ÞtÇÙ}FÆ}DnWë1ê@5&\ 1¼°\8aß­ùOõ\84\86+\9f\9a\1aµ\9ci\9e\87ÄS\11=\9cñ`»öX\88\82 þe?ö\87\fü2\bª»¸a\ 6\9ck#\8aøw­\83pAO\12D   \0{<h­í{&\1d!Vr)s\8aÓ5s\ 1¿e\7f\ 6M~BϦÆÕ\84g5G      /³û0\83s\92\8exÍÖ8 \ 6"¨Bu\9duàkÕBê~¦O-.+×ó\91Ø×d=C\18½öð©Ógz\f¹ö\ 3\9e9IKdà·\96À\13ýòv\7f\9eÍï/\93,&Ý;ºA\0$×¶WO2§ã΢îOÕ\ 3|\ f\9cõÌüJ˽\ 6\93\19hç ?b
+sÄÍ&[-:\9d\89Ï\95\b\13ÏøÍ\9cïÞ¼\10q\9fÈ\15î¶Ù\e\9eÆ\8c\acðKª\15³\r\ 69çK­
+·ë¸ûÇ\82Ö\0)\16\85m·ÖÈ\82f\88ól@\ f\9f\ 4ñq\99Ákf®\13»êH$\9fQ\86ÐSÞ\ 1+\ fKºñTDl\96\1cÐG1tÅ´\f\ 5@\fw\8c¾Á«fµ\t\9c\15q¼DçV,\aÙjQcLsn¤Ët]¡}Tãí(\9b\90Ï]Qgt" óÝ6\13v\15çÄQMö\80%¬Õ\91uËA\82âªÏ<ªQßiÔ8ðSO®\b㫵nÛ&\1a¦e9#WHö;Ï\18$\18\10dÎO;\99\9f%\13\91ØÉX)@FÊPºYµ\96\14AçÏké\ f\7fÇz«-\8e+wÏøá¾ú\ e
+e\83
+ò³ë¸3\14ý3ÎAu°r!ð\ 3\a\9b\ f1+32»w¦Á\9e\ e³\12ûh\ 3\84^\7f=\9f\0}Ψ£§5êp×\95\81\ 6\ 3\7f\15\93\88ȰI!vþ5\1f*;\8aEBC"ÖóK\1d\13èÃhå§pi\93ÜïÎ+\1dÂ+çA\ 3¨µrÄB\96\v\97Ñjl5è~\19nϺs=ò      °&\9f\b\ f,¬­·\9eÐm\ 2Àðï¹®}\9dÇ\ f\82ènû1S`À¢\ 2ÙÍ\87Èw1ý\93\86\b8£®\16¹._Tþ¬õtï¶µ!zgfúT\8a\9fV\vÈEÅ8\92G¤½÷\9d77bÏs\{-1\rbSÓû~x?¯\80øæÍ±§·\7fc\91ÔJ\82\8fè.²ÞÁý\86Á\9bP\99Ö6ÊRrxhv\19\95ö²m Ö{Ç\92\80©£\8d¿Lí\ e¾iõ®_Ú8\9d¼IÍ\81\15
+\ 6+wüÛ²cx¿¢1p~ȼëxê\11Ni{ßQ\8c£\9cD\80\89$rÅ\ 3£v@\ e\9aÔOËðTûB\83Àì~\96\1d¡\ 4\1e:a§%\ 4\13\vè'\13ö'òçµûÍc×ñ\1eO\z?6\8apÍ7»dÝü÷\8c:\99C\1d\14¡¶Y»Ìýæì¯±*Êøa*\95\96²\10­Å\16Íþú\10òÃzûp\9c\89à!\1f*e*.-\87#nÒ\17"þÏ\11u\1dö¢d¿q+¿þ\94õ@\9bæW\8eñ¤\ 2\8eÆUärh\ fÍâ'\r\1d8Q­U\e\\rºV\b\98\ 5×ÌF\ 6{\ 4¢Ô­â\8aP\8a\9b{ÝãS\95<¡çÑ\18\12\ 1ë\8cׯ\9b[¹u\v¡äÊfQ×\ 1`;2Ó\18ÛÂþºã\ 5qó>OÄIï\10÷l»\9e<3¢y\81clÂý\ 1ïn\9c\ÙõË'\85ëâ¼>\8cûÆ\8câÖ\ f=>î*wÄ#FÆ\9dÆøo\84\ 3çU\96¶(ëü¿\15ëÞõ\97I*\89\81~¦-ýë\80_r\19û8\8e_o{oûÕ\87\98¤Ä\15éØîSÎò\97¶âÙ\v\8f\e\9azCg\8bêü\87Õÿ»/q½êáÌÀ2Ç@¸Ò\87#\9aú#\1cË?U5g»t¤Å¥À\f'¹+q¤óIMHYH¦Ûcrùt\rNÉÙe8R¤n\15¸ÞA\84ë\9f\11Ý\1fcªèpVµ,¹l-\84Èí#Þòp\9eR_ÿ*ÄH\9c\83%u\82/CV\ 5ÈD\83"dKeß\ 3ÂÕz\ 5ÑÞ¼\ e\e\19\9e7¶#²6\90\13\8eì\91Íà\r\87I\87_\9dµ¿,¸\a1\99µ\bw\fÇ\13\a+\1c\9a\8b\ 2í\99ãÉø¹EpY\9eû©ì¡Üâ\vô|(/G,<È\ 1\7f~Ñ \10H'9¶4\12\e*¥²f\bÆ\ f\93\1d:)¨\8f\ 2\9a«\87\95\9d\1få&MÀ~:jW`:Á\96Ѱê_EÈź{§\ePT /bä×\91Ç+6\97\8cn\1eZ\9e\8bßX\90°µ,³ì<!\ eǤ\8aÓ½\ 2×R\e+.©0ý!\9d
+\12-4Æ'\94\87\98\97c üáSí\17\11ÿ¿kÓ§\8c5LïÚµû3oL\9d\9a¡\93\0à Û\953j_¥åà?ý\9c«XZZu-u÷\9b\ 3\88¾fá\97E\ 4Ù\1a\99\86\91\88Ó\ 1\97ÄÒO\11\ 58¤"üÚ;Ó§øùS\8c_¥í;\11\13\11¹\r£7já\15áÙjùµú\f\98\ 5GßHÏÄDÛòx?wm\9d\12¤ãÒñ\ fô1XÞF\15ù­§óF5?Ôìê\0\ 5\8e\98öÖg´ð*\1eï\7f\95öRáX_\12ë¨O¹\81\eаÖ\19\9f\1d\81Ùæ(\88l=c\vÇ÷\b°G\84VäM\98\ 5\98\95:\1a½È¦'Ùµ\8eÞ\8c®!Ä\96£Ú·!¥Q!Ñèë±þö\83á\17Zf£ÕÊ`é°îú&ßèå´+º2÷¸÷UPÕ\888¿é\8a½P<Ã!<\920ü11ë\9bÓ\1521ú­\90µ`\99a\1f\9c¿\8e\11á¸Õ®ÁÀI\84lÌ­ïó,©\ e\92b\b\1dQ
+òm£\9b}Ü)\15wsí\96\1dP\84J¹ü>A\80\9d¬Aç]\92 ð9|C`[\12a\ 4\ 6ì\b©W͵fî®ó\17¯\91ç{jçu8°3Ï\ 1\12\90\80¾.Äà\8e¹Ê5Ö\aW;\8axZ\14Í[Ûïà£AΪ8%7\ 2\ f\914ÿí\11B\93`¨x>ª0k\81\93\92\7f\82tqöÁ¼L°\8a^\87a0ø\10òq\a_ç§î\1c\12/ÞUE\10GÐrì¡Aê\ 1\rs\ 2³\98\8fÊ\rÒö\13wÜ'!\9afÈDh\8c?.Ã\81\8f;n"àa#)u¥Ç@\8akýAË\9cæM\84£Ô·zË#Q\f\85À\99÷ú¬/{\85YC\15²\9a*r\1dn\v@U+ :tq        \88á=ñ Î\ 2DºÓ:P\7fÄ\bÖäîüL`Â5Å\95É\84\8b±ÁM¯G7aà   \7f\8a\89Þ\861üIBùë\18®\vÚÞÀ[­&F\1c1\8eLã¯rú}HðP`ë\ 5\ 4¼¯f¦\18\a\8e\ 4\8c#,h\84Ñ\1fU\87jAÉz\96ý®Ì\939f¿>ã­¿\ e ïÙ0\97ùËø*äñ\935ãôÛË%[- Â§o\10$æW1g*­y\ 6\e\9f\83À0õÎb!ö<)\0\83\8e£\9d»#Ø~\18#ÑÝN¶Bx\ 3ìí\ 3³\8c\82\191\99À,ùÈëV\1dáº\14T\13å|ÜQ ºë3ôdù~\9c%)gu¼\11Å$2·cÔþ(\86ã¨\8aÁ\9eïÐ\8dÞf"\84ç 0ó\17AשּׂÌ>øÇüèÉ\13\9cïGÒ*ú?T\88Ù\14\vÁ"Pjw\eé\8e°³B'\8däxCJbáF«2\97iñ¹\84NOÄ­°!\ 3v\14\9a)_ÖPú\f\95,1ä\10è\17®»Y\13ÕØ·Fàüª\òÔø¤\82ôî\b>²¶\1cV\1f\89X\95Þ:£Ö\81yWÉîæ{Zë\1fµ\98¡\8bAâC;\8d\82y"|ñm\84\96\88\11\10\98ûÔ\13aZ,©8ïúÁ\18|=\ 6\8f\eão-EEVò%­\ 5V\8f\97\81Mä³&µ(X&·ß\8c!°¨\f\8eºÿß\17#¡·S\8e(Ç~\1dså¹RÞa|õ\19Ô\a³\16µÌJç\91\ 1\1f,&¬\83ý\9d#ÍÃ\8·8[.ù\804â¶L\9a^\17½\99£®\ 4N\1fÔÈ3\7f#bmagÈÿ­\94\f\7f\8eÑ×]'Ìeÿy?¨h§ýJ\9f
+\82\99.¨±À$åqÖoâ\ 38\8cpñrÊÜ1Ó&Uð¹I\ 3wWÖ`Üo\97IOÛ0f\9cÕt§Ó\ 3\8dso\eÊ\17ßAuü\µxe(w¬7Q\1aê*¦{\f\8a\8f\9c\882üu¬·\90\vG5   °ú»\9då¨3\93Ñ+\98ëASþ§\82ë\ f\7fGQVóR`ý^\1eha/«ñOR\r×\91*ùO\95®\83+ëÃ\ 6\89Z}\0p­;¶H\ 5\8a\ 1å=\82úßM\8b¡{Õ\r°¾íòã   ÝæÝ\1d\897Ò¬½ÌÃv5\84ç\ 3Ë\85â\9dß\8dI0aMÏþ£ÔùË\98\18\884Û¹¯¯cz\8c¯Ô\99\19\1cVQ\ 5\8e\90T\1d©/wóÚ=?:Z\ eÛ\ 1Æsï\b³ª#\ 2\94»\8ayÀ¤\81Ũ÷î\18j>+G8
+       \94ñð\99\1cu\7f
+´`§¼5ê\8bPòÒ\v\89\9a]"R\12Fròs[À!\8fpd\9cõ¬\9fLuññÞºû*¥3Æ\82ûË"j\9dW:ç­\ 6mçHá×L=\99ίU0TäwíBòJ<%L\88#\fåõ\16AØÇò\11\15^\ 5O¸Or\14§c\1d0\9cî\16(çµ#Z\8e»\11çf\11\8e&ýÆ\ fòéH³Xkmf\96*¦C¶\84Ö0\92à:=ØÊ\1d\ 1-\99Ù*$ \fJÓâ\8aò§z)öi?Ù§þ\98\9aÛ¶1x·åø\15ä\1fjà§&¦\9b7Ðë\8eMs&H1Zðs\9f\10\93\ 38ÆqÖÚ\a§\91íA\93æî\eZ±ì°ºª\a\16\1eú\19gðoû\1d»ñCZøÿõ\8eI/d¾\9f\87üûï¡·µ\8c¯!ï¨\e¥/D\97Êùò\86~¹ÞV^ßg:Ü\fZ\8b\0>"´\1a\84ì\8c\198õ_^lW¨\ 1Ù^
+²Ï\96(¶ä
\96fÁÞ,­~È\ fx\92o\1cz.í\8d\95d ®½5\9d\a\7f'"u`öö4¨®è\95¼×6°¥\16\85\ e¨}ôuD\8bg4Èp»÷u~\8aa2\151ÛØ_9\10 81HÞ
+\0G(ºmùIúAz\a¤çk>BþéEÙ7\9d\1f¹)z×Ã\9e\92\9bßCtÄ$e\16\14os\8aS7çñ§ü/éeÊ0N\83µ2\1dG½e\ 1q'Ïró#ü6®4íc\8bM\1e\9bâc{6ûþ)v4]³\8a0æ%Yrî\95\0Ùl\94ÂÚ7\86zPq$tx¾\ 6\90@b\82        \ e\7f·VÎåq\83\ 2h\19õ!WßÜ\15©Ìg)y\1c­æ¥YJ7¶Íá\ eüáïXn9B\bú\84¾§2ª;Ç aeMjak2ôlò\82¤%ÎÌ%ò\10\14`CÈÌ-\12L1 ¬m\81w¬s\12\v´"X­zò×Þ\(
\8bô~(Þê\16\13»J¶4äïÈe\92K*\ 1\19\8aða\ 4\9cµgCö^5¹)9\96Ë\80\ 1¸ñøìê\1a 4\ 5fÿHÙ\1cF9g`\94;F\81AG®\14æ¨q¦zx\93\99Aó~hu\rü3Ô\eîÆ9ÄÒ\ 6Ñ\ 4|\8e\8f4\N½\v\ 5<\ 3      YâS¿¾\9d¥ÊÓ³ZáÚÚç¦\1e\98\14ê:ÞÑÉ÷,(xïhLnXe\1f?4\91\88Ô\13©    iƲ^{õ\95Fù¾g¦Ew4¬÷ZR%\aåð\9e[ ¦Ý¥\97\9c\16\8bÍ\8bí­\89Äh?D\86Ð\11@\82ßso\82ê6\98Öë¨ß3#E\1c!¨½sÁ`\0\ 1\9cû:?EPí\ f¤d\94\80ÜW1hê&oP      õ)d°Ö\ 1\1a\v¯D\84¹£?u\94\10ÑK\99yjæî-ýª\96\fë°¹µ\99dq\83íÙGh\ 3\9esåµOæ\88\vA\9f
+ÞY\e\ 6i\ f\ 5\10(Þ·ýæ\80~\9ew\9b\1cÎ
+ù"\7føÛ/W\8e\852}=BåºÎÏN{DË\vúÓ±°Íc\9dKªÍÚ&Ù\949\8aÇ_ZпA\86?w\8aÂ+\8c×ùü\88\19dÐÚ\bK_\15\b\0b\8d\8f»)ç)O:\98ƪ\14Ñ\1ei"\\1f\ fÚ7(S\1eéG5áïx4)\8c\9er/Õ¿ Düf6(âÉðÀü|[º#\94òQ!ì\94\b \81 mßr¸\I\9aB\17\9féØ\95/ð{\87\v)÷XÓë0l@cÎJ¯\1e CE\9bcjêÆ\90à¸F¥W¼ÀUÅz/GyÔ²
+¼ÂÕoUÂ] Mk\ 3ÐÄigÜ8coF\8f\14?>hKwî\1aeÖ>c¬!³HÚ\8aÇóhÏRs=?×ÁÛ×K\r,Q\f\16SÓI\9d\88:
+)\8cÓHa\ 4x\1d\11°¨ëç\18®Â~\1667\08r\14\1cµæ¾mH"$%ï\92w\99á+ôèFþx\84,\9e&áìs¯ïAÅ~Øê÷R\88Õpø·Ï^\98\92J\9f\1f¯çê(\ 6Xòcñ^üô\82¥ûãß±À+;b\ 1ý\10{:`\1cë\87Ù<Èê\18§ü©Ò    b\8b±\0ÝY.%\1cK\93HÇÎ\16\10\1fÞHrÌ\8añm"Õs\7f\12\8a+úiäèªâ|p¶ÖöpÅ\ 4V\0\91\1e\14ô®·&<»\8a\80ò½"#\97\7fKN¯\97îcb`Ù\80\rÍ\1f½\91w,\1dYT\94ûç\11\1f!\18¦(t¥Á\10j"\90ÜQ/ö\e\eæ\96Ö»\8dF³J7DG1NÂ\11lwL(^ªq³~°j\1f3õNÄ\ 33×3p|\7f\8eø%Î\9d´
+:\85Üóù\8d\ f¹Ü\ 2©ÍØ\85\19y\9c)\91|F"\94\91Ф3\8b\97U=ÈVT\16Ê6u=z¾rí\88¯_%\8d0\ÜÐ, DÄB\89ÚçN\19ñÂÃ\8dLâ   ðÍrïQRßï^\97Þ#uÙ;öu\9c^\96Ó\9eÁúnð5(ÞñWvá+æQϧN\9f\91=i3 Á/#\86%©ë\9e   ë\97!hDN\950Õöó\vw7\1eÁuPx=ï   ÆØ1T:YРøÖ¥\ 2§-í÷d|í\8aA\82ô§N\80\8be1C\vXùz\81fI\7fÝ?^ ìÓ\83\15yVäßzÇêM¬¤Ý6@\ 1&\1eï/M\84\89o¾^à?}\15C?\9dæ\eí\90ò\8aׯC
+{[pà\89!}NòPî»c\8e\10F\0ë\8f\1a\90ê\ 5e\12{Ȩ\83íH£!\82¸\89èY/\0WçL\ 4\19\8eã\8eWkO\84¡Gt_ÏH=ä!¬2\83§QÇØº\82§Uft4*s\a¿`g¸Þô3\11êaç)Âi­\aú×\19a)J74ÞÞ3ìù{A@d\ 5¥\13mÂXr¯\9dbÝfm´¬^Õe\9c¼\rÊÃ_x\röãò^\11W\w'í¬DDµpýA\181UC\80_Aö\90ñ­\ 1\ 1Ð\1f\8fâ,\18_\8ep\8c\8bå\9b\ 4ùuF\16\9eå["N½[Zú)\ 2\83oI\9d\ 2Ôû¹o¬3^^B\bû\99w\ 4­¶ÊÄ£}6¨#\16\89\~dzG/¤\97\1a\ 6\7fù¡Ïï¡¿{.ç\9e¬8\1a\99\9fE\11"»X>\81®fô#¡z\ f]àXaUÄ\15Ëe\83¢\99\88õÌ\ fü\10½îoå?\fGj_XKº>\ 54\17\93ch'%Âb\87e\ e\88'æ\17ë\98=̵7ºøæ\91è;³\9e\8c\91n-Örͨ\18\1a¢1\82ì\19\14\82nyï\9fß<¢éØÒ¤\14ÓBÙ_¥Òu\ûÞ)/\ 3\137³7óX\ek×e\15R\9b\9d\8a2`"<2ºÙ/|ñ\17\11&\88\8eà\9c)\9fm÷§\98\93Ê\81{\17 \88·\b\9cÖ^_¬ö'=\fÚ¢ë\aýx['?\8aèWVù\85ºüF\13¢\9a\ 6è        è"­J+\83ãFé\92ÙèYM\83è\88\17i2º_EüR{\vÍTÍ\9fp\95¿ü\94+²á^\9c\9aß8eð\13\89\18þ\1cP[\18\9a,<uû\8bÞÄoos\1f ï¡¼Ð\\8bÒÌÔ%À\1fÖk~Ç\ 6ú\82!ðÍ\83&J\fëw\1dÜQÒ\12Ø\ 3°9nº^âÌvÎ\ 2NÁо\8e\80\9a?\8a`\95æóW1$¢µ\99è\9aåS®øS«\15\1c{~SÃ+\81¨\7f\8a\87o\ e\9c*:}O\11´\ e5ßÞ\8fD\82^äÚã¨pÔÏ1\83CyfKQú\14WNW°\8f\96E        «ûD2ái_EÐj@á2%\89ôæ\171\; \10æ\11\8eáþ&\9a+)D\ 5\90À\ 1¹<÷÷øÕ\8fùë\80ºH\94jz¹Æ|ù\19¿º©ýûQ\13êl\8c¿\11\11Ú#\a\99·\7fýhV\8cÆ*\82È5÷\ 36_g÷\92\9a)0ç#\8e\91\ 5w}¾\97¨\v\8c|V\11e
\9búmeÞÌ|[Ãö
+&¦\ 6­ë¬¿Ï\10\8af\89~<\99\89d\8c\7fÕ(6½Ö\88\8d|lvè@ËÈ\9f\9aæF\95»\1a°%b\ 2\9c\ 2ï5ÐCÎ\1cÝ-\86:*ï· ÞØ Ó\1es\9fu¼tôg\ 3Á«\ 2H\r\12Ì\1a\99l
+(û\ eð\80(\ e\88Á½å¿\0\85)\ 6u\ 5·2\90ß`ÁÃ+\0ªÔ¶\9eA\ 5õ8O\8c¬\11°'óÅpÀF"\94joÌü6æ¼;\95o\1e¬=µú\f#\81\85'\96\91©\8cüÆ
+\88\9eÏ\9b¬¤`ܦ\ 1WÆø-º\1330@E\17\8fTJ\ 4\ 6\1e\0òY{õ\8c»\16úÅ[\97      ãðT´ä:d|uöOtú³":\88\1f\8eøõÙÍg\b´í\1aï¾Î\ 4ó¸9_]õ)\1c\1c'ÒªzUÄkòyÇé±^aÙb4þ\8eç\13\81C>B¥­\13á\89%\1c\13¸\80\14\13ó¦\9e}Éf$\86ê\v\1a¶aF\80ø=S\97\96§!Â\8a\88TRÀ¬eû¤9þÜiÍþ:¢V\9bw\89ÙÒù\1e¿ñ)0\v&X\92üýM¨\9b\92.ß ú¯öéÈ_\80ù|´_~w//<dT<ï\b\9e\8f¨\7f\87J¬ÛrÄDëO\ 5âmg\f\87J\17"ÍÖ\19w\14\12þ\ 5ÑÕ\ 2N\1f2\98\16X\80\16FU4þ¿\8e\0(\ f\1eç\aXø§\98;>ç\90éýÜ\88ã\91u\18\8bô$q6ïU\90ôM²å\12\a`4J\86\ 2\92:~À\19¨Ç\17\b\86êHÍIe©&ÿÒ\85\19\9d-F´      \8e\9fëÊædë\8c\1d³\ 4½Bîµåh*Ì\ fbå¼\ 2Î;¢P$F]'\1d8sNf\13©ò1-_i-4\11\91ÂÈUf\\1cÜ\b,\17\bx°4\13Ú\ 6r\ 3·\9f1q½\9e\1dâ\99\1e¦Ó[·
\87æÊQ\ 1l?Ïàû¿}V\80YÓS8»Z\ 1í\f¾ü\83\96øýUò!dÄ\9eì>\92 \14 \88]\ 6\88\17hd12ØÉê7¤ß\16ϯ\16ΨFP=A=½\ 3±°>ÃyG\1d\S6ß\17Ò\95¶SèÍ\0H&nÀ!Ûü6°fd\ 3â]\81BFP\1cbÎTznв¶ZlBÞD¼1\ 3àUÚ\vÖ\1c\\1dFg\1aÒ".¶c\96N{6ö\89\92¸îTËn,æ\bª~¢)\94R\1a\1fÍØ\8f\ 41\ 6ùÜ4öÏÑ÷\9c>nëDÛBÌ)pè\89\87w\9d\1faŸÞ9Z¤s`g\8e\95\87g\0\9dç\0Ó\88Å®G\14Do`tø\1eÏ\13\82lEÀ\9b\85\ 2¬¢\16Áá\b\82àÚï_\nÒE;²K\8ay"²\87<Ñ2î\7f#\96e>}n¸\1ep\\80AaÿÇ\ fx­ÖsÃrKø)_÷\87\ eáZ\8f3\ eöAª¬\90\1eÊ\ 4ìBÏ=\93Y\92E\9aá*ûÌ©\90¢\8f}\17´\1dpV\aa\ 4\86\9f\b\80(û@õ%\85Òó3°\9a\8aé6\93«\10\1dW\9c'\99    Õ\99.\0`\88ÃèS\97Ñ¡}\92Ø|`\85FS½gØö\ 3©¿~)ò}-Ç\88\ 1î¶·Ö«TãÍ|ò¬\b:D\80£ýØæy\13\9c\89Xö9
\8b\11\80\z¶r§\16s¤¿Àä¥Ð°¤pð\13eYµ7¾ÒÃû\8eÀ\8cû\8c\0Î\12v\8cb\85\13\ fìaZ¬µÈ+a]ú>\9eã#@ÀÓuÆ\93èØàDî.\8aó¹Ù'üI\90É[e:iS^JmâDù\bn|Ê\93Q\98Áh\ ea\1c\19\ 6í«\f\18ÀÎÚ(\fÙÐ\9fß·öñ+pç\80\93j\9fà\92\94Oýp\\18¢i~\86x\9a\1e%\9a\96ïÞ\1aÉ\10\19Å\91.I\8c±\9e\9cT[c«o¸¥Ø\ eW\15ü\86¤G\84\84îùUÄY¦êQJ:çç:¿\8eQ\9de\90sõ}ÓÖ\ 6ÐOäî9wÄÌF`t^\94\1d]ÿ\8b³v\1fû\9b\9c\875Ç.ðм¢x\1f~ªß\f\8bUR§uï\19\9eÒ9åáS\11\93\11\94\94ì®_Lú&\96,Ñõ®=\9at\14;·Ï"øý}¼jÅ\99·ã"b7÷Cä\88Pb\87ëÞýéë\18 y
+-¦\9d¥þÀ\ f'&\87}/8\1d\8bõ»\9f{\94\f!ãc\10\92\80rQ\ e#\84zâõmº\1a«\85È\10\9comÃ+±\v}d½\ 1\1f¥\10*dè    G-þ\1e\8a\ró¾»D\12\8a6Åé¬\91]ª}Ö\8c\fa}Öîv\18iáts\9c,\8c=T¡ZàüPÒ\b\ e\12\r[+»v7~_\91\ fi\9b\10-\r\81LCm\92\99&üUê\eqj\88Ø\81Ýæë\183/fÚÌ\98gÿ­\98GÚvµpUêû mвëQR\10\ 3%sáâÂ%åW!\17\99\16×§\1c \19Ø\ 4w¹»\90P¹Âpq ú.HùQ\8fÈ\93\86Ö72æòq×sr\82²ÙlÉÕk\8b\ 2Frµ\92ND\9e½ØªÍ97Û\ 2¥GwaË/\1eàá\84³ÏQÏÑ$jrIÛÚa+\ 6\91a¿7ß\827ÅÁà\93\84\91\\1fF;ÃV\83òl\85\17\1e\1e}ÏV´\~Ñë\9d%ø[<\150\ 6X\a=þO¡5øQÓ­I\8b\83\ 6þ\9dLþBã\98Ø\9f\95¬x\1cÑ`3),±AEåA/ºR\95\94.\aÜÞøAî5¿¾ã¾Zï£Æ÷Óc\0Rì^Â
+tÏî\90)ß0\96TØW:À[Æ\91\85Z8â\15a\18ãÞ£KUY\9f\9f\8f\18XiSr/B\96«Þ¾Ê\93\1c\82A¿÷;\7f$¿ÅËý­\88¿Ü\15þðwì\1c5)\ 6\0\80xGÎ=kµh!Ø\83H¶dRÌCüá\87J#§Ø\10ò­A\98ä­¾0\b+í"Çi\1dÏ\ 3¾\e\ 4ê:\v~2¬\ 2>)G\1dò\9e¹A¿ Ù\ 6\97\ 4¾\15\9aúY/£\97\93¨\91[µ;\8a^WÐÃ'eê\171ÚÖ\86\ 43$ù\9fC\12@~Õ$.-ERÉ3
+ ëq\9eÏ×\11\1a\946\eÀÞÝ.ÿ9\86³\f\8b#\95lA{\bO&è߬Å\ 2E\0eXc¸\97,\bhâ¾+^*ÿm¼·\91=\91^\ 2\97ÑÎ\89\bÞ¾ùD¹\19\92Æÿ+\19\16V\ 3²1ðÅ\97\11ö¦òoL½üeÌ\11$À(¹½ô{#Û\b5vìü\98£\13-.ùSÖ\12\8bfçñU\e\1cH=4Í\88ègµ¸ÓÇ\ 5Ô¯\9d\1d\v\94\93¢zs·¸\1fòi¤\1c\9eÔ\85¨_q+[\87ÿû#\ 4\18S\9bòª\1c\8bê\9dãê®G¼"x¶\99×ÌO]aÔ\ 1ñ42\13d\90\14y\ f\ 6mE\\ 3Ñ9"<Üæþºfø\104£Jòf\\ 3p3tnj<I¹Rãù®½)\80\90èú_µ\92Ô\18o\f7\9fýz\9dH5÷Yö«\7fû\15,\.²&ÜRk;\91\86\a\82\86½£±\12\.2;Ó¡¼#Å\15rø­#\ 65ð,ú\9a²\8e=^OB\87\ri¡LEô¬\88\f
+ºsûͬ\887p-\1c\1f\82\e\10\9bÓø\9c\9b·$!>\1dDe\10&"è:þ­;\ 2Æ \15Âa\13él\a8±çç3º
+GB½/Ó£L7jf%âD©\8418\8a\8cÇ×3ö w\11\9f`¯ß'\r\9dâÐIx£\8cTÿ:4
+9ØóÃñ\17ð\80@Z\1d¹3N\ 21æ9\9e"®ÅÇAÂ\e\9crª@UBÔ"\8aü¶\9e^¿Âª\7fû~2\84Ë\89®n¿@\82\8f!O\17\19L\93îyǽê\88ì3>Å\19\86f"Ò¸<B\0­_\vAÍC Èo32÷ë5\9e|a÷-ûýUòA\8d\82Õ0\\895ë¾÷\83\e\18ìI¦±b\9e\14wð»\15óÂ\18³o^é^ð\8fëí v\11\0Ñ}D\82.v\8b\88MF;¸¸ÜÚÂ\91åÀG|\10eÖcÛãc/:`\9f¿*GÁp\16gã²¹GD\ e\1e\88\90(|\8b1Æ&_\82cQ!ÆFº\f(\95+äúÎþ5ôîõÓòeô!ô2×\1fú\90\9b®;\8aXÇúª¯KÍ\1fÉ\8f§íYj^q\ 1\99½ío{hÎò{\86Y[E8L=ÍÆ\90±öÄ|½]¬Ý       õÅ\8d±EÇ\1e\15Ú6"û=2\15\89ðêß³X2\7f¾+Ä ;zë\8a\89:ÉËK~åJÏþÉ/\85·H\90q\99>#º\f\96\88ÙølT\8a\86\94IN\87Àà\1ey1n\86n\82×\f\106\8doéÉ[þ\92\11ÐV8I\ e7på¸Ó\vfÍyz\ryÎPpû\81ýU\97\82­05MÌú\ 1o0ØrÛ\8cñ\0a\89\ 1s\8b=ßïæTåh¼!ÆÔHð-\b¿U\ 4H7ãÔûü@\7fó\86¼\91Õ¿\13ã»=`ª,²DÌ@ãÀ¿â¦I\r\fÄnl\ 4ò\8ckã$\14>\12ñDf        ¤#Åyb\9e\14-\ fS\98X{b\ 1Ü\81\9c÷ú\94·ÌÚ\ 2\1c+óÏ\83AêºðÈb3ÿEñ ì|\94\r)M\9c        s²Ç½¦È#ÊÛ73Ô²_\8d\1a\8déMî\1996Rk\ 4\12ßòx%æaF²¶\8a\15àä F\ fk1["\1aéh}ÿ\11\9bÞõ\9f°\98ðÅ:vSbT¿d\ eâb±V®»4¹SÀ%WDÖ"\ 2¹\ 1\1fÌ;¼g\1c\90óUEtî\90ÏY°\95Á\9a\82Q»ï¶cÖ³7\93¬O!ðÝÍ.¤¹û:\109\86MZ'_\ 5 ëE\\81ïÓÊ\9e¿\8c¡\882îhÝäSâ\10\8dR·í5íçiGë\7fÄ1\95\ eR\8cd±!àû\b\80\94v&Ôo0.\13Ú°l|I×a\r\13\8a\95³4Ví\11\19ÆXýö*£[\15\86Gìå\98è(C·ñ0\85\ 3ð:\95ÉQ>\87\81ª?wE<\ 6ä\fØä6"î\88\81ð?齬\98  \9dÛ à\ f¹\fE
+ÍZ_:1:³öxÜÓ|ÊÐ\1e
+ø06½\10ʧÄ$dÈo#6¬¦UÓµfüÃÛU\1a\99Ƕ\9b°%\1al¬}4¾\9fwS\90Þq6\89¼Ñ\19QÄ7\18R}«\95èq\9eÅ\9e\97γ\bÝàUV\85B%"¶ò¥-\95Òå\8cúÿ  ZeZ¹bÐÖ£\9f%\1f­OYÙ\11\1c\90Î\O\ 4\f\1f òzçÖª>  ÞÜÈ\8d~E(Û\r%;9ë\94\96öæã\8aªtæmb\8aF\9d\99O\91'½i¥÷ú\94'\832\bËÜ6¦0Ó${F©`\9d\15ß©\9bÜ\sîÒº?ÙÚ\9bÝw=\8fµàb\80\82â£9\85K¹"ìÑ1\9a!IzÇ(\89ê]W\7fÞ\89XO3\8aî]Î%bÝ×\87\82êD\eþ%×\19±J½£Ç\96\18\83AÊÄ\87\8e­\88\85\87/ØÏ\1dÇ,Jñ\1d·ä7\ 2ðZ.°\9eb[~\19#'\0ÄÑ5ô]áO0§Õ(wÙW\92\9e:\13aT\8eô\16Cn\ 1hÆg\14èççá<¬Ãß\a\ 2ë\8eC\18\18Ñ\19G\8eõ\19Eõ/0äÊ©D´\1e\11Æ^³þx\1fRä¾L.["BÌl$!âÔèÅ ïn¬\94\9fr±ãÐ\ 5 Ð?\8e¬Ö\87zËÌîÙ\15ô\17\16\85ù¸Ý\13væTÖzKDÜÀ¢\a\ eèÜ´j\14'ÊÔ\94Åø\91\88±È\1a\8d       ç\90\88#(·\196B" \94¹ª¾\99Ø\88X\17ÑùÐW­\88ÌxÙÉ\8eÏu\ eêà\14\v  ¾$\86Ì-\91qz\17©ÃõkÞ\10\8bÖ\8d¿Yµ\81\ 1G/­ÀA\8cHÌö_\10)\11=&!ºR\19TUé{±¶T°Ìĸ%T\vuo>\95ºúX)\9fß¼b\98÷\80\94jJï\14F.e`f\14`ÇQä\91·;ê\ 4L¢w\ 25\ 6\86º\16\ 2|Â#I«´.\98ô款/
+`o2¸2²ê5UCÛ'z=\13£ªXïè\9b^V\1a\ fRE*>/\93óû\8c\81BL\8b®»nÊ\83\9b\81\15\ 6ú¹Þ.\87Ûú/ÛQûÜ\14\fÓ4        ã\8b¡uÌÔ\¶Zuø\95C\94ò\96\7f\1fÃ\ 1&ÈÏî\17P¤£\1fÅA1\11*ýõN<\14\92>¨«9ãå\0N'ä~½Éj*¬k,(UhöyÝ\90\16g\a\e¢7®\16\8dñâ\96³2±r\98ú@Þ^d}l\fg÷JtV\9d\e½\8fiÒñ)ÂMg/§f\8cî\8b\ 4º6·µ1\1f÷\8eÑl'ÛÐeêbôf\0\bÖói_Æ\9c\9a\8f
+æø\88=_Æ\1cØÆp.Ê\9aó\13£µET)M\8dÄ`õd/¿>°Â\80¨¤;k\83\10âý¡}bÔûi\95\90\ 15'*\9bn\9a`°h·ÄíË\bS\15x\v\9f\9b)\7f\1d\ 3$\1d\ f#¨£B\86\92\83ôI\ 4PèKV\87\ e]"èìjâ_÷\8e û¨\f-×ä\82\ 1\1f![\1e\81J\88±\a\9f3\92J\e¢\1a\1cà\b\16\90,­¿\18\ 4ªÚ¹WöÚ$\a\rø³
+`      \ eÉ´[÷ë.ï¡è<æ.¤AKí\92ç&±\ 1\80\99\15Áüeä\1eÔÆsÇ-\ 4làþ9¢Èr)©5ñÏÙ¿þ\14ºg^«ûÓ¾\18fbotÎÆ\8e\88\9cîÚ5wÄ:W°J¨\8b>»Ñøûåo&/·úJ?pV¯ý\8eÜ\8e\93ã\94\19\ 6¥w·ÐC©í­ïg]>\11\ 6\8eñ{¤\ 2ïÊFá\82¯Ô¥Gº)§ºÒ`e½³ßã1¢\17'ÿcô    ó\94>avõæ\9f@\15`ØÜwB"IRFÇo>#éÅ\94ËxéY\a\e?\19Ô\1a«\7f\19qíá¨Î¸cý«\98d\17G¨lO>%d~=?@  \112øõÿÝ©ÌWjø=M\rñ&5UD¯kÜêî\9cë+¤s\ fHïð¨÷]oì\88¬³\94ª%é
\9aHZU١ܧõ»\ 2Æ÷»ü²\89³\8e\94Ð\ eøè\7f®M \97áRʹu\1d\ 4w.CåçU>\85n1Xr \fÀ³¾©|eiÓþ»rU´{ÎoLKðãªz^YZÐZúÀõpXí:n#\93{TL\8f½;\18"ô\\1c¿\0\9dó¯£\80ä=0T\88·-\7fjúi½"Ø-Ý2\99§òTÎ\19è\81ø\85ó¬ß+·\1fÓ5û(ÿ\rOnkõ$ N¼\9a1îé
+P\17>q¯¹v\80\11Z\ f¶,Wé\11¦0¸\ 4øþÄp#±\85*gz4¶d>Îçª|_\13ãFÞ/Úc\89¹X\88I\úH-Â\ 2Ó\88*\92®\7fÌ\ fj\11m3ü\92\1c03\ f¬¯S\0¸w\8c#\8aÕì\8d£/\86\80¶¤\97ÖÀ·Ü{oZª¥«>åÎvyJ$G"x\94ËmÚqî\88uÐÝ\86f2ñz\82Lâ{Ì!*d­»I   Úd9_å×!-"\1fÆBZN_\86x\99\ 3\12\96|\15\rÑ\878\88\11¡r?\9fpE!©"d\1c\9c\9b\19\16VDM§\9fê\19\b\98Êð©;«g Ûи\8f\ 4S/4E0°\9a\15""r\80¨\13-V~l¥`tGàK\ 4d\bÍ£õeë:ù£+\ eJ\88 bF\ 4\14\b×Ïz\86+yÃ\91\f6sôº+ÌTÏ GÏOL×òUóæsÆ÷¨\99\92\94/M\9c\98úbUP7J«$êN4)ô\1fëþ\e\bÏ\19\97÷cT\8c\a¤½o\9cøu\f\91Ü'*8gYÍ~\11\93.lZ2<á²)@\99DÝÌÆ)\82L\11\1c\ 6\15\80Ü>ºm\fÊß*écÊèé}K¨>?û\19å÷\9e\18\13&Ø5\98»ÏÍ\8b¹Ý\99Ç\94Þ6\eí\11û\9f/"Þb\eá\ 6]÷ç1ýuÌM/\9d\82ñÚ¡¯}ïr\7f\87\1dM^\9f\98Vóä1\8b1ïW\ 3Þ\99\15P\9fÓµn"±¥^\8b\87ð\e\fÕDP«"«f\84òÍ~«V\8d°<P´4{½w3õt¯ZK\91\8eª­ÈÍ
+¿õÉ¢ë³\16\18\13£¬#\95mRès¬\18\92´D«?1\ 4\b\8f+¥·\84\1a#r\11ákëùP¢ð}mÇ\9aVØì\890hGß¹tbrï°Gi]\14\7f\f6\fÁ\9aª\96\14\ 6DD ¤è®´\80U[ä¿î§J\aÆ\ 2oSÙ^u\98ÉUxnõwßÛ¿\8ap\1d&T<î\8fB\14|ù)0²\ es\18Ü*\1e\8e"(§{Ó®\fè     \10÷êZ:¼p@"dY·ÿP¡Dg"\98ût\8c\r;\88\1aî7*ª3:.w\ eo\95/Ñ{¼\9b\ 4\1c\18\9cÍ02Môø)¦\8eÍ~zk 3¡º\83|L'\1e÷\8aò9{íq\97\83\ 4-JézÚùSÝ\88j\f±¹VÅz¡\98,άt\ 1\8cÃéL¡4å*´\ 2»\86Ö\88\87\8eˬ\14\8bM\19Ý4\99\17?7÷Ȥ欴\89y*Á\97ì·\ 24\9fñÚ\9f\14\1e\ 5K¢=rnÿºÄ\98ôèrµgÇ\98\17àw\18ů\bË!óH\v\805=©:\9eð\rjWÀ\88\10÷\1d\b\fH\8aìnÒþ5ê±;\ 3×õ\83\8f7Ææ=`µpi\84\98\1a`\14\82S»bÛéÜË\bÉë\84\vô<\99\a       \ 1~6aæ\ 5\92;\e[\87\93Ý\80v\16A\0T,v\9cTÏs\19\9b] ø*¿d´\17í\15¿úþñmQ±£Ö©Ò¢Q£ZÑ»¶\19Ü\91\17\9b\ 1ßÀ\13Ý¥\18\14\98n26\11ÔpÍQ\99\1a¯\b}Ï·`Ôu\by!\rtp^LÄîÌ\ 31dýb]³Û¬È¼   ®v\7fÈ\1dÃ\15y\8b\vË]\82Ûµt[\12?,.¤Â3%ubôü.\1c|=KÞ\ f\91 pÂ\9cõ)\1a\80r\7fçÉ\8aÀF3Ï»¯÷ó\83\8f\1eN\9f\99\88µ\98\81®\80¯\9f}\1d\98E\19 \89¹´¯49Ïp\9fó\8b\98\9f\93\8603ÏçL:%Ú\rendstream\rendobj\r1151 0 obj\r<</Length 65536>>stream\r
+¥Ç¹c\144\17¸î\95\87h,\822þDF-ßfÝ[ÂKÇ\91ýü\0\90%$£Æ»*â\85PÅ{£\98¸\8b\e¥.a\92w\7fßß/\80R&±£\8cA        ²Þóc8÷è\8fy1\94IÏû½æ¸\ f\91ªz\8b\0|$ \9486\84Ǩj%Moí<\19\88(9@õ
+V\9bñvö\ 4è\1cR\87\9c\8fÀÕ\9bñâ\99ÙUb Zåì¯i|tJ¯(mñ\13©\88\10;N\1c\8b±½Ú\f\90\9f-\f\93\9f\93Z\18~õøHó\90¢>\8cç\93F\9cñÃ:"\97Y\8dÿ\8a\ 1\95\b\9f¯\12n\88Xö³ýi÷\9fc¼À\12Ô7ûqÓ&|âÂSjPy\8dÖ\8e\8eýz'.ê\97ïGF\8bº(Qj¶Q\89h\ 4>(\87­ß°u©¢\86l\ 3êw\rß,AÝTN\10[þªtÉÑf\12\81Tr>ìNzé_ÁZ\13·@hMæ\1fJ>Õ¾Ñ?÷\85ÿûÁ\97¸Ý5õ2>5ÿåLµU´h¼\18\99d\18\ 5ó\ f\81ë°È¸\9d\86\15ãJOðÒ\b_KE-@Yõ\97-\8d\ 4_ÅÎyVÌ\bª3fxõ)\9a\80\fLÛ¨/\v\0J\9ay¾[ïë¯\ 3ÎïQß¶=\9d÷ç×ü:\ 4H«Eµì\9aÛïiUS7Íñ\17Ê¡b(/´¬ÛÄHMü\93c\84\83Z1ìÇï\1ajQD%\94\e,\80\1aY\ 4õü+´\92R\7f[¿3tüV\1fà®ks\9e\1fyÐP\9a\9acö½ª¶È@\8ccʨ]\ 3t\ 5\8e Ç[ê­Ò­Ðµ³Uu\17!R¬)Ò¤m?¾õÜ\80½z/é´&_¿n/$uê:î}ÎÇ+à\86û\8aåE\r\8bA\9do¼Ûsóͨ\90\99ij>ϪWÄ\85\a\91Zu®Ý5\v8RJW\95Ä©rÌÎâ\81û¦\\fÛ´ßUªr¢$L\19.ÙºÎ\13\aÊ\19±¯ñVÑlóÂñöf\96Oîú\19\84jÎ÷¨O±\e\820´¸¬®/\96WЮ¾\ 2Ð\94¨þ\96\96pìkM,¨iö=ï׬!PyDt=γî#0p2\ 4³\ f\12³O\81\b»\16/`2\8d\99\88×ÈKSþ\ fñ\1c\ 5\17e°'d2(Æ\0Há÷\1cA³·ôoz=½\8bðæ      Øéð\1fiTB!CW<)Ø\8c\10åQ\84=\\86f\8d£.þ*6â;Î\ eGvïá:\ 3±*ÐJC¿·j\85XhòJ3c\1aTïn5\96Uº«\89ç\8eæ\18/Ey\15\87°õ\ 2\1f\86 \8e\92äçWÆ?æj#\9fB6â\1d\b\91³*\ e\eÍeô\ 6\a&\ 2¦\ 2l\8d\9aI"Ìà\9eð\ e\8b>\17ÕÿA    \8bOÁSu\8bB\16-)\95X)ú;\Ù©½5\1eÐ
+/%¿\ 4È?Ì        'Í\83\14\e·vðÅ\85uìË`\80\k\13k\95À\93ã}M.\9cö^®ø¸]qWÈ\8a½Km\98\1eÿq\96Ï\1fO\1aù\12\11óÔXz\b\17êD0&ë«\80ö²ê=ÂÍIDYO\92\fÐ\a\1a!¸ó\8bÖVh\89 \8ec¿%Ç\9d/+}k@ÚÇ\99Ù©û\96\8d\1c\b=^J+á\1f\10\ 2ÖR\9e\0J.^Q~L¶
+\96Sz1©*\19³DR¬|T\86â?¦ÀGà²U\9d®\9bt\18\vÖMùu\88"7})ðÖj¾ü\1c\ 3å¥}zõ8]UÄÌöê,¯\bî´Í ö& \r\7f6ÎW\ 6õQ»eî\81Ivîo;\1c\\92R\ 5b*ÿÐmnÔ¶;\9f"\95k1±õ|®\8dªw§3Õü9\ 2ÊÕprÚ\84RSþ\1c#õqFBÔ¼õmµb¸Fó2¯\8e\bpÝLº4ë÷\f\13K»ì]ý\10\ry"óa\89î»ÏµÖ ïÚ=\93>Ã{ËbÞ·íf\b\9e7¯:_g\f"dt÷W\11-ûî\e£­½ô\7f\8añ\ 3\15\89CïðÙ\8f\90\87¸Á{<[ÓNâ\9a²ª\8c\96D\92\93±"4zO­N['d\883(M\ 2Öëd\ 4}­m¾ïcðVÊq\7fÔS¡Ztbfsúþ|\84\ 1~vë\1e\81\13ÆÓ'%\89ê}Ñ\93\96\9c\ 3ÊÅ\ 6û­¯ºM\b\9e\91\82ïç\88\18E\ 1"Ê®Ûç:\7f\1d\93¦"@ÐÈ\0HÓej©(wðËúîMbA\1déIì\18ÙlÎck°:\9cÏ\15\ 6$\89A\11\11{Ð*>wûLí\1dy'\10U\11Æ÷ð\16Q:ؽVME \85êbÃ\1d;¯ì·\9aåéÙ\1e\81Ë_Ψ?&\86\eªqæ}N\9c'Úf\1aë\9f\18@öµ\1fÛ\85ª\85|G    =.\86;\ 6\9cù\8abƧÍ|DC\17Ì÷Ú¿\9b,  Ä3\ f©Ä¨\ 2 c\9cL\f÷ïn!
+£¯%\ 2\a\1c\81VÿID¤l´\95Û¨#\13N\as\ 3@e?§µ1Þ\14\1fWvQÍw\16LÐmU§²\e\ 6é\87ïJé§\81¯)=\82)\1aY\98Ot\rØn\9fõ\19k[¹b_sõÏVh\98>G<ì>³\ 6\15Y\84 ½\8c\10tzÛú\1eV\83oK#kÝÜXº\8a\80àr¬\90V¨_LË7Öte±Ín\8c\9dÇ\80\7fø`\v3!lxõ=\9f2ã3\9d¾PeE¶BúÓ1\9eN\84Ô3~²w\r\13rÚWiÝ%Æ
+Ò¤Kã1H\1aï\10q}õ\1a[3\99`6ÏV×\ 1é~ÓjÖ\80c\1c\88\v\0÷\14\10\81!\ e"\v¬ñ¬.\8fTÂ`\91\9dW61è¡8\18>éî%©ñ¶ô´ÁLÕOÅ;Ç\8b·\92ÇdWÀGé\ 4·ªè\885Ã[Ò\1fÜY\9c\8d\ f\1clW\97gRÃõÇL­S\9a¯\98\88Ñ\90$*\80¢:<0\1eÐ\8dsÇ`x©\80îÊ(        \85\95ý+ÚO2Êõ\86\1dÞx\99J}\eM*TÕ$>)¨a8d5×®§\81V\ f\14ÞJmÿVÍ­2?8©û\1d|\83|\85\16¿oÅÆ\13ÐA\9aý\7fú"Æ\8a\ 1¬©^¸*Æo¥\7f×TC½ýV\f·¼®\0:ñt\7f\1d#B\ 1Úiò\8e÷c \1dähçã\93\b\9dÞ\87x`©¡\1e¹=]\ f'\ 6\12BÖ;LÑ\96\99\90;Ic\ 4\b\83RÞ_\19ë{=e\19~e\8b²Yï\96\0\9dÖ»Ç\98ë\8dsp9v¿ì\9aÕ\98ÕNÔøÍ2¯\90\8böK\8fÈc¾jÚ0ø½³\8cá\91ëÎ(\87@tg\r½ð+\19\ 4ü\1cñKÝûÐ\8dÍ\ fço|H|¾SÞ\96·9ÕPöal\99¿\8exB\ f¹\ 3\96ß÷ì÷\97\81\ 5ó/þý?ü/ÿá_þ\9bÿþOÿø_~ù§ÿòÿü×ÿøßÿÇ·\7få\1fý_ÿû\1fÿý¿ýÇoÿêÛ?ûoÿñ\9fþ³nò?ÿö¯¿ý³\7fóoÏã?¬ðõïþù·ÿu\ 5>ßþå¿ý¯ÿôí\9fý»ÿó\7fû\ fÿî?ÿÇÿö\9fþ\8fÿñßþSý«\7f½þç\1fε";@ ô7uU\82\857ýEuÍS\1a\84°ç\8dé;ìûIäïù9æ\8fÿ°\ e@½yo=ºõÚ>\9e\0ñ\f\8c\ 4~òóçdÄÖ¨\83é<îÏ!pEIU£kÅ\1cz±z\88Ò\95@KîLõçªN¹n®w\92v\9f\12çHÿ90\96[  0ÑO\8c\ 6î|\1f©G\1cVÞÒ\11L\92ÜpRây¿b\ 6è-Û5,¹|\9f\95\ 1Ï3\9a»à\81u\7f\187iGÅ\11Z\f[àë\92\bQ\8cX1¯}\12\9c\80Ä@9Mu*\9f\91u\7fÔÝ+ePfÎ\96ôB\fqzrsÎÄ\15\ 3\81\84(p\11\®û³bÖ¶x¨=µ\12\bþA,·Ff6îÏ\99¡\8d\9c\ 4,46Q\10\0\91\ 5\16³îB£f\1a\98Ì\9d\8e\1e[©¦\97\8e)%
+Je+¡ø<÷\95õ¦\14{\93)¸´f<ð\1eÕX[%%q§#\12(S¾\ fÏDúLÓö)mªv\9b}8áV\8ec#\8e¸Ä\931\8e\1eÕ\8eQm²éMÉyÇ\ fn\12\ e}#c$&\rs²_\17pT~Wx\874ßäÈõ}ÖY{ÑIÇFÉýa\ 4\96.ÊSë¹Ö*µ¶3:Ww¬\8dð\1e%¼¡\ 3»\16\ f\8fu\9f\81%W\bíU2ªît2'\97\82\80]ÒW\ f'\ 6\8aÌ4¡\br¿\8eiA\1f2\1c[åÜ]\84
+³¢K\ e»v.éTcUDm\80óòQ*\92õê\9cñG`nÐ4×Ó==cy\90\98\11üG\1cAøeµ0Txh\1céä'¦EæçhQrMÈúªL¢ïg«Ã^AC\11
+{\8c?óu\b§Ò(Y\97ÏW^\19S|R\ 6\10·\95ñÅí\815ÑÙ¿ÓÄé_>­\1c\16Ç\156£Uø\ 4h`G­\9dÅ\94G\1f\97\8f\9clæ¦\ f¨%\10$RÝB½å¤G\90\ 2RsÊ6:O¸å­´ÊÏüTþäóÍ@f¿É#yìSß\99\10\99\15\85åìb\80ø!\99Üu\9bµ\f\rû$\93Dlï4{¨TD\91ös\7f\8e°wÉ=éf\rÐ^&\97@ý¥\8b~j÷L\1e\b+ùîOÐÌ\ 4Þ1\88P{Å\1c ,@\8a\19\87ÀDk((¬5\92ò³\ e\93ÆuTB:\90Ò\81ìL\83\96XúY«\90á\94¦W46ß\1aÀ\124\94Å ¨®\98\86¨ÈY-\eä¬aûZ\90\84¨ñ9ó1¦\14f5Ävgª1\93\8f\13\7f_\89Р\84ÄS\88£7"´\0\ e>w\7f\8cöãm\8c53J"Ó\81\88|èëÕ¯º\9d\fg\80Ug4&xÕà«\9ehY¹É1ù#lhª\1a\11E´Â7~\98\9fÅ\83¡pËPmè½ôÒt3ͺ~,\9e\8c¶Ö[\ 34\101X°)c=\0ýwî\aJD!\ðç.s\11ÙÙzä:²\7f^;e`ÓFåS\8f×ï5\aÜk0M\Z\a\97\92|%\a\ eÛZ\KÅôôu!÷GLäA\ f\ 2\8fY\84$\93¡\93Á­\9e\8cN Xð*´ 
+Èy\90ë\fØüâ\8b±b\90Óã\8e\90\94ïÏk¹9þ\80\8aWLÐÅ\97\9dè.\11\19z\88ú\0\9aï\8a1\86u\13á+â\fâs\1eÕáìAå¬\18\ 2OD±L2[Þ-\9d"S(ô\99\18GH+Üuò\17WÜClO(yQ×\8c\16GK\17Ä\18\89ÈÁÜÛܪÄd¤\84"%aG|Oïlð×'Ó8¢à²¾=Õ\8bµ\91\19\1dkʤ1¿wx]ýçÍ\8a¿\93¨±\94r.ôÏ)@Ü\86¦ûMýò\8aÛn\rÆ\9f\82¹×ö}D]/»ny\ 3\e\ 4Ê*A¨\83\v~ Ä³ØÎ$ß]gC-\8c\9dö4Dí²\84m\99\85á\ 3\a÷ùãh#Ê¡È.\95Ù\1egz©ØUG?%ï\8bo\ 5 éV\1aW\16Àïìã\ f\82|\9dv:ª\11\15\8ceÏ©gÜQçúNE\86ÆRS\8aö2ád¦µ\1eZ»R\80õõö¯\83\1aìï\86ò\8aÈÜ\19VÒÚÊÁþ*ëYy@ßÇqéÌê\8b\1f\14¿ÏÚs\7fþ\9c\19û8RZ\9c\90v\fÇG´\88ãÚ*KdÎu¥Fù\8fõËÀkD\fè(    «l\19$xL\rÚ\9f¯E#\b$t\8b-äü!\9b³Ï?&¹\0¡\ 4\82\vÚ\93×=¾\b¹C\ 6ÆÒ\81\rnýÏ«=2 #´´\ 3C{\15\räNfѯ\7f\8e\89\18x\0Zo«·XS\99<KÜ\843\17a\1d
+Iͯ¡\7f\9d7\9e,Y:\80\vñÕwçÃ\1aÜ\ 6\ 338\9e+céñæP/}Ð\9bj\9eòÎ\84íJg\8agÙº9wýî\9b¤!k6Ý\9f\r¶úÕ\19ñS\bø> ¿Av\9bï_,vH¯7L\1fãz*\99\14ÿ¢æ`~<\ 2\19\85B\81ÇfqòÖ=nGh\99\f2⣸\ eh  \98r\82lû¹ß`\14(ªGgjü\16õ":oG\ÞÄPì\raÝHµ\85jUT\8e\9e¡\8f\18d\95\87¢ø\13\aÂ|NºÑ\ìÏÈ­¬\9b\8b\87Ñ\19\10Gòæ¶\rMÃÂf\9e\94ÏYïµS\ 3 \9d\9eRñ9n\18c\90´´ÿ:Ó\11\8a\81®=À S\f\1eV\fíyT£\11Ó¯º?\92wmC|\8ao[¹\9daùú\7fõ\8bªa\89+{Fiä\8f!F\ 2\9c\90Sû\ f­\ e\1a\18¶ì,\194ÌÇ\18µôLó\8b    zFgà\98)\aÿX¬\9b7©(a°w\1fûm»H\8fëË\18\83`fcÅ\18­k=ú²\84xcIýÕ÷\19\81F¨]\8c\1cwÛØÑ\14¶K»êû4N¤Ð\9b\14á\8b.\88\8a ±B\0d\7f\8e¹\1f¡2SÉO:\83\83-a.Ú!xt\8b´¼®ôoÅ\8cä\e\0Áë.\1f\906\ 4Ñï¬0Ì%¯\91±Ul\ 1ż\ 13ãì\9eû+Cô\90=ºhõ\84\arGj\ 1xãù:æu\ 2°Emïqí_\ 5¾Â\eUo/!I\1c:9ºgì'jKA\ 2{«½üë\8fñ Î+6Ùé¼î·øñz\1e;75\b\a\f\88\85ò5?I¥B\95\9cS]iâZ\81 ¿4\9bC*:!}`\80F\1dY!»Ç
+ô½\ 3\9aä\1aA"\ï½¶\7fì{:\91\ 6ÓÒÕP©:µ\v"\ 3{é¬?ÓU\ f×í®\17«Qw:1Î\8e\8f^?\1d\1eÈî¢]ÞÜ\98 ;\10¥>\8aÎØ"\ 3ú\b
+$\f&\13¼ho\97Úû\93\ 18L¼t/1\83\£Aõn\e\90ý<É/t´Î\1fß\86Ú»Ïí;F\92÷\80g¬,íÇv±e\1a²¥p\11¼\ 1\9f\9f?o;r\9f£\9e&\87.ÄkÓ\1cÇåZ\87Á\ eQ\ 34gØ;J,\91\95ñAþî\1d\8e>ʧJç=sƺ\12ûø
+[tåDë\91MòÚcï^w¼8\80mìÊ ¨ÊÀ'\8aø¹\83J\1dâ>&%rÊ00\r\14\fzG¥Ó\9d
+\fzɺ\1aåXì¹[r=aàË\11¥£\99ÞZÒ$ã°ð \ 4\14\9d^Ù~îk\1d1\81\99Ê\9b7\9c\19*\88Ôb÷®\1c\ 14?4\ 4ÿõ9@Þ:CÖa>ç\foYC\9fýe±\ 6Ù\10M\9a±õ\9dM߸ªÄÓQ=Û½#´à\81\16?·Ç¨[Ö{\aÑ´.EàùIç¯ÒWccX\84\18:ÀÚwó\89\fÚ)\bå©K\ f#\99Ýçñ\97_Y\92\86G¼?ÇÃQDÁ\9f¬\18.\11\13ÙÒÁ_\8f4.yæ\9bo¼_Ä\1c\80Ür¿^M'\89\83\e3QãnÄ\ 4T\ ey1Ðøòû\8c°åÌ7¯Q\88\16\9f\13·\r;nPKþ\81w}fXü~ý9÷÷+.\90\9e{¹{Ô\12Ë\84\93  XÙ\89\12\0¦½\91Wùó\ 1    T\88Zù&F*H (3\9e/¿ÏTÚ\94.ØU©;È\ 2)NöOù\18Ýk#é\98ó|\1e\17Ý\rXå3«°ª}R\ 3æP\9fÇEQ\ 34,\84Rþ3tóx\1a\8cJ\rö·ÉÐà¶2ª­I\83\1f´æùó/§BmÌx¦ù@Oz\1e96ÿ¼À@w¯ØÛínm\87#"Òóç\ 5FlÓ\rÑ­\8dM|O\16\87e^{uv(\19èV/\ 4ÆüÅ\89¼vL<\174ä(Oï®oæ\89ë`½÷ûG\178Yo(U,e\15\15RÓ«ö§\1e\ 3"\ 3øûÓ<þ)¤\97C1|\fJ²¯c\9c%ÃÙæ©\1d\1fÃ!¡\rkÔðeÌ\ 1Zf\93s\0\7f[\95\90\f\1fø\9dZ:\r^\ 1¦ü@è×ÓD\18v'\1a Y\9eyõÍ      êè;ÿè\9bS\8bñ¾\8d?ÇüNo]\9bÿïéñ;õþçzüÇ·\7fó\9fþá_ü¿5}¢«ÅV}\8c\fARí\1f\18\8bkkz\1d\7f\7fZ1ú\1a`\90\8f\81Ä\95j_\89¹^-ûCûöÐ\10t¸Lؼ^½\87ã*¾2\aÈ\15QjCQ\8b|\14\8f=M\17ÌÁ[åi\ 4\92OIB\vûRÕ7r¦\86xø«¾\89\81\16Ã\84´/yÍâ|»\16\80\80ë<9à:æj\8a"TÕ\ 5\81\99Ë\80i\1f\8eÔ\91·u%\14Ò\7f­^Ò\1d-\9f\ 2ÐDÅÂ[\96®\rµ®×\14\b対*±n\ fs\94\99\1fG\ 4Ã\85«\94\18üä\14½\a=j7ÅèQ§ú@Øxëç´X\8fÎ@ÉS-\e
+K¼\18,|{"8ifÝ[@\9e\96E\98ÖÝg]ç4Ç\955\92 +\19gýË\83\ 6ÎÚÔòE\88@§ä\8fͽº3\8f\1c\87í®Û\16\97\ e\92f}\936_T¡©\9füìËÌô/:±\81·0ͦÿ\18&^\9bDà8wo\97A¯ÚµßÜ\9f\ 2îN\ 4\19\ 4\fê\ah\7f\ 6?q\84\ 2á'ß!ê\99\1aÖ¯WO\87\83\89Øú=øïë\870        é\9ba\ 5\98\7f$7å\a\98y\83Ùò3Òñ\bÈ'ÞîàËá\82?\94\ f\89Ê2é=*%æTÖè¡È'\ 5´(Î\fÏ¢@\9dD=Ü9\ eËë¹­Òø\89k\8d®{IÝ\18À¯7å\8c\13o       \1a\9a\14Ôf±1\ 3T\93\16j®=q\97\8dÏä¸?µ|\88Az}z\ 2k\7fÖöÔ]{ê¶+äOwu\80ª¹\8c\99\19\92Ï\13ZÝU2Oþ\9cT´bõ\81M´~IfÄ«Bö\8c\ 4kZ
+S·Þ(8æ#ÞÐ}\96öî\9d\81\eG\84 \1c\1fÇå\89\90úÂê\95.y,\85\ fV+kk\7f\9c°üf\ f\8dÜmøÎKçÄu_÷Ì!\ 33r\14\94·\94ð\9döD>Jåù\91\b\9a\19X!ÏvÄæZJÔ\ 1Jd=\8cúfEà\1eeÅhE\D¿Ö¯{\92\e\19*\8c\98¨\96éàCy÷u\ 6f=w|\1d\14CÚÇÖü GÒ#\1eG\1eo}
+xÊH[}\9b(\12\8f!ÙbdÎÜP®É¢ÀmÂ"»À¨\82¿=㺲¯\ 3\14õ|Rf½[°1¶\9f\11\98É·eÛNÃ$&\ 3\9d8&ÏÏ\ eΰÖÀú\f*\1cy?ããÞõIa\9fãß\91ËÐ\80\ 4áHhS!°\9by7ád\9e\9c\84ëD\9eù~g¶ñh\9dòÁ\8e)1\92Y\8fÛTxü9\f¨Ð\19¿0\ ft\9dF\15\8a´.iÉVíaê\ e&~g \ 4h[P%\8c\15ûx\10g
+Rÿ\1eUÖ|\93\1e=nÕEõ\12\b7h\9cuû¿\e\16ÚÄ[ôe\e\83(» þñ¼ó)\80\9b\18«~.°2<\1a\15У?m¡\12ÆZ\11W@\b\19\r¶z?qд\8b\9c9\1a-N%r\11\92\19Ó­õ)à\810æOdÓòôlàæ×\8cí*Bk\87\90{\1f»\1f|hMÓ\88\f¡Z\8c\94\b\1dG»2ë\84\b\ f»ëèðÇÉ\15\ e¨ÖZ\86¡]7`&\0ÆR\9bFÇ)½àÈð\ 1J]ûÙ\10\ 6
+X6Ox`Í#i0\8cÍ«CÙ\97\reûAÛ5LbVÍõ8·Q$ä8wy¹½Ám\9aÚ=÷^hôî¼±o|Øä\80\98à!<t\ 3\963ÚUaÚÆjäŽ\81k_%¿\15ÏX\8aY\1f\12>ÕD\983P¢\\87wÔúû\v.¶´\81\95»\ 4ÙÓI{à±B`\13`\83¶ëõdêÓºÈnÓ¢+\83Wc\ 4h.\96\19`´¶òhÜç\ eTG\16?MPvö
+¿Ã\9a^_\16Ì\99Σ\13µ\ 4\ 2\10N×Zt\13¦m@þÏÿÓ\ei\eÔ6\9ai\1dÒ¤¬%°n´.`\88úw¯>\8dß/\87\88\9c§=\9a\ 6¯Ö%ç\83Ò\16q\82\ 3ùQ\12q\14Ð0jµ`gÚ"9\14{úuï>\vp\12\8cbZ\ 6â7­öõËU\8dkU|«Óbíià{\f    ×æ\16\862ê&ÑÖDÈ\98µñ¥t)û\81W\a\13îV\97\91\rHT¤wÚ/Ù\17ÎäË]\16òè\vÜ!\84"÷öÔÆ\ e\13dÔ;º\8d\83ºû¸\vj\15-\9c÷{L¸\r\88æ;ö\91\ 3·Ðh\8d z©\9e»ý¤\11ªµdÇÈ\ezC\1açÆv\10lÕÆ\8c\99Ï~\80\ 4\fÔû\ eù\97®D~bvéÁ\1fTuÔ\83í\8cZ\15\19hÊÌZÂnj\911VÆ·#:)Æ\1fëh}²\1eÙ°RmåÒ\9d\8e\94¦®Ó\9ayÀgµ\1döç q\v©þêèÂ\fHiEtÓ\1a:a#4uÍýÌ\15×}p¸\8døXr\93\8d¯AVÒ     ¦;£*2öu\1cÃ0j³¨\ 6º\8dÑl\ 5\19÷m\89"©:¼u}K½=É×ýïµÚ\9cúô#âaw}\ 6áJúã×¾Nàb\16:\89Îj\e\92ÞDSâ
+^\87h|\1dM&\9eÒ Áù0X²>]æfAÆý÷¼«\9fºö+\0AîÆ÷¾\f8ðú}=\ 6ô\91\94\83rÊBIâ\ 1oGë¼±\0Ú\92\80öÇ3çG®BSQ\81×öÏÕ[\19±|\ e9ÍW5ñ%qõ\8c»ºÚ±\9dÃHñ\ fd\1e¤\19\99Âßé£âQØ\90LʤÀ\9d\95FO+ø¹:7²ô{÷|"\8b~C\85\1e\eqo.3ã]b»éÜ\82\8d°\9e\94 \12\ 2 É%\8dM\11dóFÚ\9dwÍ/À\1aÒ\ e)
+O>e\80ΡþGó\f\1eÔ\84\857Z¯OIqÍýçÍdB£\83\9e\10³=¿Ö=\83\10\99­$ºY\14¥\89ïßÏNÖB¬a\ fb\8d@­eø\83Ó×F>ľ£\13I\ 4'=\17â*ÒNr¬\89À`$\9dÕh\98è\83(/éÐ\dz\9fÿÑB  ÎÚÒ\f¸ãÙxä\8cÌk#Ï\19od¾t\14\9e"輨\eNØôz´\v\8cqÌ,V\84qf,TZO"=R\7f1\abôQ\9f\ 2q\83\8dè<L\96<\926Bu\ 1\8c\9ce.\94% vd\80Mß6\88\b7M¿A¾¤%\8eÎâ2±\bDO\ 4c>ÓLX\ 1D\1a\1e}¦:\v\94\8eæéòUð(Êt¦B )ßr\9eÄh\1dÔ@±53\4\18\98óü\&¢\86\17w\100`['jMüÙ×\87pȵòp\16\83Ô\92Ðö\98\9ccáñ¿>z\fÏÌò\83´\89å#ZI«\84ý)\a½È\18]Aõ\10Û\94ö\83n:¸L\9cA¦4\80Òo¥¬i Î(\8f.cn,u¥\9c\97ù\f\r\833Fb±Ú­ß\13×·ø[:/¢ÅÍæ\r\15Æ[þd\ 4¼
+¿&cïA\83ñ\8aì\9a\ 1nl»" m\v{\82á\8aé8ó´¸(<±ëf\f\ 5C'Â(|¥?\91NJE&£\aù\82í\rB)\1aù\9dîvì\99\1e\1dÓÁÌ6ï*rÙl\1eO\9d ÄóÔ\96\16\86)\eÕpc'\92÷¶(÷\15:\87Q)6\b@U»p¢\9dPGe\f ­ï\19\81á;\11Qû~çQ\92gy6$\f\eäòZ\9f-rÊ\f\b\87½`V})¹ÑïÀùÉeÖâ%\1cÜ\89ÝK\aâp\8e­\8at\ 2ýåQ£\8a\9bkî_3\88·\e\vb\94µ°«\81+dÎr¾xO®\f\82\18g\98zѵ~L§×\1e£\1d¢Ð»j\13p¿ó]±Þ\b&JÈr\9dué© !Gq\8b!¨¸òZ\ 5â¥0ÈÓÉLÃtP\ 4\ e¯©£Y²üôÉv\99\97ôÅfL\84v\95\19\89Y+éÑ\v\98\86\18ug߸Ê\0«ÞWª\7f DÆç\11¤ò\83µ10¨)\8d­Ëd¬k\96t(\17s\19*qvr\86\ 3i\10Pq!¬\84¿ö>¹µ\83\1d\ 1PQJÙÙV2m\v¦V.yqÛÂ34\84\19×\8f>ÄZ\a\83nrá÷\fËL[ߨ\15û\94éü pæ½ömß\8c\1a\9fè\1e¤Ý\11Ømìï\8eB
+fT6\8bd÷°k\8bë"\ 4bîZ\14\11°0ø:åé\94%æús\1a  ÇÆ      òyL³Þ\e
+\84GÊV\91ã\90ñv\11\v\87_èè2O¹\92µÔ¿´ÿ\gw
+AÁ>-¼\17\95Ô\9ey\9cõ]¢×´^}mðt´hUáÅÂ\94\a@©»-&\8bK\v\8f?\ 2£ÐW
+qg \88&Ûâ|\9bëð\14\80w¡G\9d7\9d\1a\84@Êz¦ó\88µN\8bí9A.­C\ 6-4\1dÓ\90\1cÙÈ\81Vº|Èþ©çÇ×®mè·ob\81z;ÎÚ\84\1f%\89qÆL\17\90\8c¿\ 4\17\10\0(\8c        ¸Þë\936\80/ºÒEº¤Æ\0N\ 3l\ fç?\ 2Wx°Ú\80\87\1f3¢¥2c\ 5"!¿¢rõ\98¹òDºÉL\9cÕ(7\1eä\1a¬\82ª\884gË.;§ã\19îµÉUØ\9cOn\10©=\9fñÖ0\ 2\86\17¨:ì÷êFªëÌ\ì{<B×\99K\8dë\18é\15\13\80¸)Dò\v¨ã±\84\81Ñ\14æ§¹zÐã`/ò\\e\7f\9e!\ 4>Ù:Sk\ 5\90Ö\0y4n}¼å1gjñ¨O§\91\8c\ 6\ f+Pj\9f\91\81ÖÓv7ò(Í÷3lý'\9f\ 2ÞËvíæ\r\96õú²\1db2M\8fÈ;Ý´\0\19(>Õ\8e\f\ 4eD´¶\92
+zÞRÜQGÛ\ee_\e\8cµ_ \ eanZ\f\91ÄL;rm\97\18\9d=s\83ñ=ð¨ØÆ[$\91®d6B^Æ2Z[åLsò {±_\9b`d\8fØ{\8e\84\10V\vH^×ÚJ+Ð×»\87§Oi\ 1gàë\8b\89\181?¢¬U8û¨\87ºï\9f>¾)»ñ"Á\ 3wd@\97QûÓ,T*½\ 6zgYw\9aN\87á{\91\85}ùråå¼îB-?\81\ 3)¿H\99âºõÝǧ\97¶¶\\ 69¹g\9dû{+ÊnuÏ[|Sy\8fö'³NºÌ¾z\10OO®Ã¹T\83úHõß#èE\ e\89Ñ`½7$ZlÈì      Û'Q¶ê×vI·g\12ð¾\93%_\13½P½\f\98èÙ²Ö\1dÄ64G§\1fùdf?Ò¤'F\92%=mýô=©a\91u\ fÄ\aCæèe¶:\ 3aÑE\e\91\98-\9eó\99\ 1~óD¾å3\\82\8eÒ\13èÎ[Ógú]µ
+æ:1cß\1avõ¹\95\97°pX\99Õú\14\94l<[~Y©0{ \7fps$\7f\12¡U\8e-6\93Z\ 2Ü\90\90fÒÂ\19\8d\16ßÕPöÚ:g#̸\1eÄ£okÆ\92Aáôr\9d«:jR"kí©ûFª\14\ 2Áü"\f\176µ;\97ë\90\17';Øâý\ 5\16Lz\ 3Ð\15\9b\80\95í¬¯ú0¨*iR\ f\18¸\17--\97\89ùæ\ 3X³ÝÁ±\97ÁºÎ"îù²Í6çý8bWJ7Ò\89*§yz\96A´äØÝ\81¬1\8b\18\81\r\ 2(\89X»>Ê)e\81ô¶£ÍmºTã)1Qtd<\a¹glÄl)æ\81D^,È\1e:fL4ÓÃ3\84\89Ý
+\17Òú"æÈìaM\8d\1e:èW¨ÛYÕó{ÄgVê\94\15   9\8a\9bËÐÐ\1dΧÜ!)õ\98
+\a\98üú½\ 3æøª\80d\85\86 Ü?zµ´.\8a\rï=ö¯1y\9e\8f\ 3â9ÓÛÖÞ9(-YøYJF
\14\fî/¸\8f\8eZçåzî<\1d®ÄøtýØ3ʵçsP9\9f² r\1dÇCfû^Rmgt\ fâÒ\98è¹kªø\10\8bÎà\9a\8f®KÇÕØ³ÐÈ$øÙ{\16
+Ôë«\8c¹Ï·ß\9f\97\9aßbQUÃ\ f¾k\1e)þmû3>SSqx\99¬\8a      \87Q3Öò~f\b»f\95\94&\95EG0Mq\93¯m?"Go\f\0¿ýí«üáÿ\amlm\93ÿ³#å\7fLk\83îqÄó\8b}\19)úr\19?ÂcìÁ\9f\ 3þ`ë\14*õ6de\19I\ fH\84\966âK©Â\11\9a\8f\ 2¯JhTC\89\1ej\8f\8fÕÕög\8c§<gË\96F'\87[®     âÕêSðÔ\15î\ 4\ 5ò)± ¾PËõ/Oc6Ã\ 1ª\82mG<$\83 ]#-Ú¾G»æ%\ 4Û?×Y_ÿ%y~\95È   »\9b8´ª?ëSäd\ 6À©\eò{4Õ\8cË\89Þ§Ava¿\18\ fÌú\8cµ\95Zvf;\fÉ\12£kJ?z>õ)`7\18K´jë:à\88à±í-\1d\94s\96Ð_dBÒï\81íÐ\9dÝ\ 2¥\ f\97?åóøÑÿº# Asmf;>"\89¯¬{êé$£Zy\94½¦ÌJ\8a\89\82ÏÑëùQÁ¢ÉúlÔ'\98¦îȤ\a\=0ØÈ\8bóÁG\ 5\80\ e\93qû¡ÔÈ\8c\ 5d\90\89ßµÕ<\99uÆâ>?\86õÕͶvdè\92\13êT¬\9dá¦æ2#
+m/^oÔ¾\9dsÑ÷GVc\81\94å8\82A+=Ä#\rN\1eñm/\81\9e\e\1a\15\97sk\97{=M@~Ü´8\v)a\8e ÿîïÜU#¼vgHø~O\862Bz,¤¢\99«®¾D¹\1am\0,gÌ\9aï\12bg\17Høæm\9f\16¨\16ðy\95à×\8a\99ß÷²#.ÒÒ\ 2\ 33Ëy$Ç\88¿à1ÒýO\v¬\85\1c¬ÿá\8e`´1ñ{èZW\81\9d¶½F\8cnâ[1²'A¼ÙÓQH¡Àmú\83h~ÀW\ eûØî±È\1fø\8aÅã E\fCF/»\e»_\0Ëý¶°¡Zbú\95\ 1Ä\91\91çÚ        å[\9au3KÍe^¾ñ1{Ma|³%¼£\92\8b®
+¢ãÃD\f·êQ\19æ\13\bß\99\10sÌ8VßÖ\11×M a\8cª»>\83ô\e(ú`¾\13(\ 1ä\17fîc\17\b\ 6\9bh%ýûÄ\8d\9c;Ó°\15\12Ø:Û\9a\99$S!ºJ"\1dîú\f^8\fÊ\9f\17h4·\9f\e}\úh¤\85wÕZú8I1Á\86®J½\83Ö\I;,®òeä\1c=\93c\93rv\96´!?\ 6s¤Mõ$\ 2qíÿcï:ÀªJ\92õÛÙ\89æ\9c\ 3f1Þ\1c\f(æ¬\98sFEÌ¢b\16P@$\83\82
+\12\8c\98P\14\1c\10s\16ó\98Ç0:qwg÷õ_}î\ 5\w\14½\97\16æÔû¾·ïíôpnUWWWWø\vØ5¸\biR\ 6UÕ"È\vë˾\83î2ʪ\ 3\a\ eg\ 2\89I`\ 2\10\9c\19\? NR\ 59\81Cki0\84\9a¦A"I\ 5?HIj¦§È¬\86*K\115E\98Q\83Ú7ò\vÈ´\0?\82?áh\8d\81\ 6\9c\7f°?bÀ\18A\8c\12\ 2´\93\9a\16 P\82JÊQ\83\83\15¨Â6¢ÁN%\8dì\80¸\90\89Ãø\fÁ¼Óh\ 4\15ÕØiÐá\83þC@gÀ%\ 3\ 6\13Æd\18)\16®%ï^K\83Åñì¡\7f\8e¨ª\ 2%\ fFIhÀ\19ÔC¥´\9c\19Â.C\8c\ 6å'\bojPê«A\ 6\18³gôôW\f<|\8d¹Ì|H\89\96¦\9a¢ÛÁÀ\7f\a^K\98b«1R3\81¾\ e\95ö«\90È#Ì\12\ 3*ß1!\1c£íµTj«C¢\8eª;)5ÉWÀÃ1¢êÆÀW\18\b7\ 4\97\98\9a¯\0º\r¦÷\11d#ÔÄ@\85áj$ÌLß\ 1R\15\90L\81[I£[¨z\ 1¯>þ\19¸Å\94¤!Éëi\86,ü<Ì\9câ\v06\12öM©áR#´T8\8a\0R\1c¿B3\89U\0#Óq\8e\91    T!\82\0\95Æ_A\7f\14\ 6âP\9c\1c\7f\85røF4ú\18h\ 5º\8d4ÀeE\18\8b¸Á \145r¢J\89\19 í"ÄOeö(^C\8e\15c$ÕT¼\8d%\88¹Áó¥\f\ 2T\18\96IH\80ZZBµ\99\98\81\ 1h9¥$X\98c\83\82À¯°BE­\89ä\ 4ñ¿¢\a\88\85\8e\9a?4´\ 2\83}0\82\ 2u¢|f\ eòª\88\91ê\94ü×Âvªè}JG\1fkÔP\14\88\ 5Á<\ 3\1f \85þE@ôq%@t\ 2N#\8d
+D`\80å­£G<üe\1doØÑiu:é;(ÕE!2²"´\ 6\ 5ãÔÜÂv\9dþ
+¦¹é\b­\14E·T×M\bo\ 4t\b©\ 1òÎ\80\81\184N
+\15\17\98.`ÀÃJ/m±\8e²Ê\88¡©xm8\80gÕ:n\96è\8f ãd¤\12'é+J ³)Q\14«ÑÐ
+\r¡r!\9fNR£_
+\14/ôpi¥=Æ\80'%Õ\95\90\ 5¥T%Í\8aR Ã\88TI£¤\18\83\1a\ 3ph\ 5\1cg¼è\10\93À\ 1$ìK*îQðïP´\9aÏ«SK\a\1d­Ëð\92\8cZ2\16ZÜlJ\8c\89Wa&\ 4­\0J<vB!-@N\15\18ChÓÁ\ 2-ƽi\8c\14\15\94\15 Ô¬\86Ħ\0\165=¤ÐçÂ× Á¯\ 5þ\99N²J\18ä\89²#Óæa\92\eÊ\0¤¯èT\94`E\159ÿ\v\ 3I\17\91(\133\90\85ÉU\83H0Á\1eàÉ\ 6j_¢_Bµ\954^Sú;¸²QÏÁ᫱\ 6\r¤ð\9eQjÁ\a\bb\91|<\eXad0T\88µ)è\94j0\9e\167\1523\ 6nËéI¬\82c¨§\15\1aÂÈųOaº2è>ÁÿRÒ
\96¦þ\13DG\b\18\bW\1f¼\19\ 3/Z@¾\17xhh\8b0\0\81\10\ f\12Ì¥ÑcT\rÀ\ 3\06a@Ý\17ÍrÅ\1a\0ébø\ 1ÊѰDI¸\94(¶cç\9eýߨÜÑPÏ\19¥1Ð\ f
+\ 4kz\9d³\8bÊ@\83¯\10·A½%Ý\Ô1\8at\97QÁQ®\füÝc\94\8c´\ 6ÝÈ\98&¯7JßAç\bº÷\91\15(IB\12
+hBt\11£\15È@}\89<Ãˬ\11`\12\99îÐ\0\,\ 1î.\ e¬\8a:W4(ÑD¾\b3\88\98]6Ð\18
\8c+À!÷ÕpÜ0¸\11\1døl\ 5Êe\99\1cÐÄe@K\8a\ 6\rY¸0h\ 60\9d\vôã«0°\b\ 1.j&g÷.<WÀEâÁ\82\15@6Õ\92\vC\ 10<Ñàï`Þ\90VZ¡GS4f\v\1a\8e\81\82í4\1f\8aï\ eÖ¨\bzMK\0b\98|dr\95àÀÒ
+#B­\90\1a\8f¡Ñ!\80\v\fß
+\v\b¯Ë\80Ú)¼-Ô4{\9b*#1JÃÄ\ ep\860p[KM\844w\ 1 ]\bp)I(hW\97Z¹y\92\1eac\80dc\18\0­@J\ 6óJtZ>\16        ±\aà\bPE\ 2>\83AUh.#,75/ç\81-Ñê0j[ÃwÇ\80sc$\bHz\`g4*ÂÃçÎ\98\12E8@9QòÖ$@jké\81m¤Ð\bÕ\9cÒ¬S=Z¸i\rêX©\11\ fù<\ 3õ\86\87nQz\bQ\8f\e\10yàk\9bt\9a29<z©æ=?È\¢º`\bi4þe\80 )éñ¨æ\85÷\80\95Dv\9cÎ'%Ê1\ 2Xeä\b\8c\94a3Ш[\rÙ        \15\rÙ\86EâBUi¨\87O\85j+0£\86«E±<L\94PRí\ 3º#à\9eéð\124pps5êð\r\1cÍÝ\88\81~\bý\ 1xÓÆ\0O\13¯~ °ëø\99\10Ð-\bá\87}E\v}Æs\r\ 53ä4 ÐJ\13\90\81¨mÃîp´ná9¢$8[\8aøÒ´S
+\eb\ 52éè{F+\87\8aÛ+<mT(\83@\e\8c\ eW,l¶\8aªãøåÇl²\11Øß:Øy@y"÷Iï\1cî\fàp3WÎHÇJ\8fü!\r\92\15*î5¢\ 2\19\13¶Ôô 3 \e\ 4å&z^uËÃ×\98-\85G/ÇåÀ\1a8üx¿`æ\ e­AðT©£¡q*i\rfTðÜ*½·\90'G\81;;®È]\1aô\1aî\9déÉ#â5a(\83à\13D4|\85\92:ðµZÞ\95\f§\1eÏSæø£\8d\97~/\85s¨é\91Cà£\90\95j\97ñÜ\84\a\ 4ÈWX:\94µQé\92\96\86Èit4¼\8cýY¬@\80Ü\80"CÓ
+­ZGu\e¨t ï >TKå.F\155T)\b?YG¥oxé Õ\ 3\17\1d­ì\94\87â\83ö\80Ä@\1d\1dl\ 5\0{¨(\83F/ó¿A\9dÚ\88<kTô\1dø×@\91Cs\81\ e UùD\16ü\15=MDC\9f?¸â+\80\8c\ 5\90läih\ 5ÚþÕ@àSðïPæ\99w®ó}Fv\ e¾3*5ááÐÀ>$ý\81\86²P`\1cH8\ 4\85ͧñ\ 1\9f\99 ÛÙ£\92¾\83ñ-t¶T<\1d¢¡â\ 1HÊÀùÑÓ[\0\85(4ÁUK\11^\18\9eÓÐ\1f1`l'\8a\f©\17R\vü4\94{\11\9a®\9eV`h Â^J²7XÁ~)Ü\13\83Æô\15-a¼Â|hÌ\89\19\ 5a¹±Ç3ý\11\rú©8ô:ÿ!4\95\1c\10Þèv¦\15ô\ 6G\8d\fÿ\13\ 6ÀÞB\914ZÓgÔ´}¨WVðá\81
+j· ¾n.z ?Ñp]-_ áþ\ 1Åbø\ 2ì¶\8eÀdµ´\ 2çOMà3\94E$n´\98¬C\83Vøì@\15Ý.ð3tü3Zj\89Â\8b\8fZ\0ÑâFÈ»\80FÐÐî\ 1/\r­04\r\9dz\1f±Ù\80
+ÕK{\83\8au\ 2ã5J3\f\11ÜÃðiÄBéo\18èîT)ù\19¦\15¨¯A\15§\ 22C¾\b9]f\1eñÔ£¯ 9\ 5}\10¼¦\ 4kðXBÐK©\93f\18¢À\9d\90ùtxþ¡$\98¹¸ìw 
+\98×dÒÌe\84OQÀE+`N\10å%hA-U,¢&CÇ\87\1da  \8a¹0u\19o\f.X\82O\ 5\ e¢\9aÿXÌGÁ£\ 6Ñ\17Z\ 1\84@><\81\8e\16r      ZÄNQì 4í/¦1"\92d4}\a\ 1-\84\9bè\92\85"!\1e\86\88»Jú+ÀòRQÆÖÈõUkà³]\15\1aÎ\rÆZ¡\90HM\93\14ÍBE\1a°\1f´Òg\94\84SÃ.wR\ 1 \8dÁ\1d\a\0\ 4\1dr, 8)#\87\97Â
+=\9e8
+#9õØ\eÌ_\ 6Î\19\15\85¡Z\eàNÀ¿UrÇ\12kPq\8b©\8fȱq\8bDÐ{*´Fò¿\ 2 \r¼pù± \9b\ 57\f)0#ç\ 6:\86VEB3"{\ 4|\1eÀ\99©LB\83\8e\83Ve\94¬\1a\90;ÕÔ aÃ~\ 3\rÐd×\85\96\94\82V\0H\f\94ÎÄ
+Ü/Ì\ 2£J\83¯@à_G3¯È\83¥50Êè\87\91æ¥\1a\bz\18\13ÐØÕ\8c\15¸-\b\9d\97F\9d\10Ï@­\15­ )[¸ïôÜR ó\85\903Bnà\a\93\1c3\9fTJÐM\80\9c6ýX0£@ÜG¥\95ö\8fýZà\7f"Th ¼?b\ôT3JJ\0g\ e\11GîX\18\b7^IÃ\94Ð\f­'Û`*Ì\91ØÁð"\ 3\807©~ðm]3P\8b        Þ}\84?"\99W&s \9cðêO\83\81Ïj¥éÊ\ 6ÉÒ\ 3´\91ý\97tLmh\ 5¦¦\ 3\16\99Ï\7f\ 5
+5*
+ OL\97ð\1d\ 5Å\9b\95\b\86\86ÆfÓÈ\ 4\89\1dø\1eT¼bä\86\0\95\1ej$g´\84%Ë·\870\83\81\11Ã[¶áh¢®\14A\1cZ\83\ 4­\8ef~\ 3\ 1\97\9b%\14kÑ``x¨¨\11\eð¯)\ 1Bü°]ZªÎd+hZ\1eõ\ f\10^\ 1\19\14\0h«¨æ\93^\90\ 6¼÷Øþ \1feTJ\16\ 5\80Ì\0È\ 5Z¡&×\83Ú\1eø
+
\18\eø
+Ôò°ÿ
+Õï´\ 2\83Èa¥\80Ð*}\aá]\9a' Ór«£äØZJjs£¿\ 2c\8e¡àj=ßDÔÞ\13\0\bJ\8di\85\82p<Ð\88ÍWÀ[7àEhP\99¾\83ü\ fR\9cJ¥ÚtÑ"ò§F¾\98\8bÍ\80nI`ph%££DÑ+à\89ô´\0o\ 2*®"xA,PÐäyÌ<¥\13H\13ÝiJ°\82Æ\95Ñ\12d´ô4\1e\97þ\b\9d%xF
+éhа<Ø-t Òg\10\12¦\9d\bá\1cEîü\0ª\80~¤DÑ\ 4Rpü Ã5TÂPIz¢F\11\1eÍ\ 5Vq'\buõØ+t÷Ó
+4:#9ÅÞz*#w¶0\89\16>\99\12 \1f\ 6\ 35àÒ\8bRɯk¬`{\8581]\81X\81\127\r\81hK\v\8cJ>>\8aGɱ\ 4y\ 6À\1d+\8cÜúÑ\84O>\8eMÏÿ\88\11Õ[p»Uü\18£Ã\8d\1a\ 4<¥Ïà\16\ 6¬²\9e\9fQ5Pòµ\14§S\9a¾\83\8e!Ôc*M\82Å\8d§'\84\b\eð\8b\19\83\1aB\ f4è¥ÍQQ\8e\15\1e&­0PÝ\eE7%\97\ eàµFLªÒP$Ö\80®'¶\97\98ãCõ8X\83\06f\94bÏI®(©\84¤Ui^\9f\82Çå\10áÆ
+Ìf\84^¨%ë\87.P´\ 6¢<\97ØAP\a\93\85õj^       ¥¥nvà\0# ¤\91þ\8a\ 2Á/´\14ñ\93\83Ú\ e\ 3\90¾\94\12Ç\98A  \F\ 5\8d{\82Ybüã\8eÑñâ0â\as\8dѰBÀF°\ 5\14\\a\90\19\90ä\10lÀ0\14\1a`\ eÛErE»\11\ 1\8fBüÌdQ£?<Fn»Pý\8e>\1d\8a¦£\1d\17\99\92cKpÇ\ e±I\82\7fa×-az\ 2Ä\8eÚìø
+T}\ 1A\f\89bú½:\98\10\8aR\19u\12\8c\84\92\92ÜÄ\98\9aþ\8a\8eF\85\ 1Ì\9bö\19Ów\14ô\83õ\14\rÂ
+\
+¨!TH\92c\ e©\ eU?F¥ô\15êâÆO\ 1\18\167èì+(£\87ò`\ 5\8dx\a\909\9e\9f´\ 2e\ eF\ 4À\14Ò
+BåÃD\19\r\aÎÐ\10ܲ\ 2ÆM+}\aåD(Ĥ>\ 2²mèÖÀx\1e4ÆÐ_Á)5PÔ\97ë5êJ\15J\8e\8dOÌ@\140D\94\94áÎ\12å!\r:®³Lf@¯¢ä\8ct©«\11³ÐPA?ÿ
+\10á\8dèùÔH\16\14MO\88'\0Ê\82ï\r\ 2y(¼3H\87\14µÉtlÑjÁ¹\ 1\0£\11Oy½ô\9aADWMp\ 2\1aú#hùgþ3Úá¥\1f\82î1\1dÊk¤\15\98\r\84rh\95^az%¢'\16ù@\83é3ä¤j©\87\8cûB8×È\17¨y] ûW\903"\84\14\83éÅ\8aJJ\1dF\81\e\rÜ\0¢\87\ 5(ÂhýÔKk\10
+üp\14%a\ 5ÀÄ\0n£RH\9e\e\1cjTN"ÐÈ\170k¡Æ\105\85\13\80ßDk\8d\86ß<\98\85\b\1fLE\1dÔÒÏÅm\8diãtO\1ahd\ e
+\8d´Å(¯6\12*6\1e\81ø\fZ
+\90J\95|j\15U[±¿gþ\88\8e\9c[LT\95Ì\12ü-\ 5¡á¨ùOÕrPM
+ßI\9bC\80£@Ýâ_Ñ`+Ù?V\13\ 4\90\96 Áu4\9b\97>C\8d`4ÐRÒ\ 2 \18Ѽx\1dÂp\ 6BI¤\ e+\9dBÒ$¨\19 \fÑâÇW`l+f\0h\15\92_Gî%*Íõ:é;
+\1aÁ\ 2ØPIQÐl\r\b|-ß\18\8aujP¿\89\98\12Þ*\98Y£¤\91ÞFéwÀ\7f1Â;äç\13-LH\ 6j¤p\ 3¸ÁK\12©\19Jch©­\10ñCÌ\9ePÑ_A\98\83\86Äj¸\13d4\12\1a\ 5\9cyή\ 1ï4-À\vÕüõF£9\98\v\81Ì\v}\86\98±2(4\92=B\14\bÓ³\15\18_f 1ö\80K\82>«¤\a\9e\91Æcj)\93n .\11à\9f\0ÜPz\9b\87\ 1\17¨\92Ãg°\86æ\19£oÒÀ¹A²\17a\ 2 úÒ_¡^L¤o\8d\92¯\85\eF\8fX:\90ri\85\16ý\11\1a\14\98s©1¥cþ\ ep¨ià\8a\81æMã©¢ æv~3¡Þ\1c\93;Iöø+\84#\ e¡H®\14\1ca\f|2¢¨\81óCù]¸y\92\1e1]3\ 2ôI­5}\a \18\18\94\94\11)_Ô6¡p\94þ9\19\-\7f6\13Î&\86Ââ\9d«¢\7f®PÒÌ\ 1\0PI§\86\12]\80ÙV襭1\0\97\17Êl\90n|\84áè\ e¢ø\v_AÓY\10²\95VPÓ\12¢#´\0Ùb\ 5G\83Ò¼Û\aÂ\vP\r\9f     y,)ƦÔ\11\9e\80ÒH\98NLÂ(9×"ÐEc¼±\ 63C\0Ô\ 6$Gi\rj´16\93\8f\12º7v\b~\19TIEÓ\984\98Í¡Õq×\10\98\1d£Cc>­`v\9c\ 6âPa,þ\ 6\8dÔP¡T\83.\f¬a{    \ 4q\ 2\ 4§5*¿U¢,\88ÿ\15\1d\1d\ 3ñ\r¤4:®\¶\8b|\ 5ÍÓ\0\88\87d\91\80{\ 3\ 5ÄÃEú\8c\9a^¨ì²U*%Ã\ad) È+éo`t¥\16\85\85*\rW5ö£\18\87(×R勉J\0hZÉ\95B\87\ 5Í\9fá\89U\0/ W\ 3\193½ôÀÃÜy\§è\f±¡\15¨hE\ 3¤F
+\16 Ù\83À,è\98\e      
+\10\83\87T<P\ e\9b¥À\84H\15\rÆ\95¾\83É\13È×¢T\87\ 6s  \95\bDªù_¡1\80Ü\19äV\8bÜMt\80
+D]µ\88ýð\e\94FÁ*    cÚ@]Ø´\ 6óCi°·\92?G\99\ f\bÓfTrè\1c¾=¨\13Åá\90\90}Gþ\ 3Ã\17¥5\80©VS\19§B-Y\1d`Ë!l\880\9aQM%\97zÊ¥\9a\8c\eu:\e©ï\83V\0«\1cÑ\11\ 3Í6ã\16\14¹D­N
+´¡>\98Æ\83âRUIFT\85\96iêøâ\7fÅ@\1d\eH¦ªU&ëfê\ 3ÐÓ
+#ÝÞ\1a\9aqÊ-\17:I\10RçµE\ 6´9àå¨\82%Rsû\87ê-´?£\8aÐ\86V\0±\0\89'tß\93·¥¤Q!È
+Ò?\aÜ(âî*I©Ñ®\v\17\9b\97\0âS¥¥1r¦'\1e\8aí\b\7f\82ØeGCEá-)l¡DJ\10°\8c\1a¾\0\ f\19 ¼\0P\83/ÀÕm       \80\1aé+\14Î4(0{Å´\ 6Ó~á\1f«øÞ0\ 1á\r¬D¢\96¯@Ë\98\ 6ö])­\0$\ 2\9eñT.@.\90
+\1dc\18Ücú\f»\96\11åÓñX+ \9bQe\84ò}²\16j8\86ZÞ6fäVIM \b4¨[ÉWèé\ 5ÄtI¡\91VàÈ«á\7fP\92\1ek\fx0©´ü\18Óô#üc\ 5êU¹Ð\10«EøÒ\94¦Àým\84\r´7¨5\86iF}\92ô\19\0\8f\ 1É[§\914\0\83$\80/¡á\1d\ 4Ê\8dÿ\ f­\7fì\8fàA«ÃLyº\14¥\ 5è_À\ 4r\12+*\f(c\ 4\18\7f£´\ 2i\1cdx´ti\18µäI `OAå¡ôcu\94Â\86\81§¿\ 2°B\95\9aÆX\18\18\r\9c\15i\ 5Þ÷p²¥L\af'iø\10CÓw0+Ç\80Ù¶zÉR#b\88\89k4\ 3\90¯\0Ò\1d\8c¬\94\f\81w\ 2-×ó\8f \90ÊHÃj¥T\bB\9b\84ë,É\fõ.\14¾%¼\ 5nÈ1ü     \8fB\8c\15(¯Ä<1DJh\ 5;òÀKD-7­ -ÒÑ\8cu½dêñÀ@\19\1e/\aá\8d[°c\14b\90\f5ÐT0ø\ 3\8f|¬ N\ 3h\9fRz\1chi\80\1cJ§8»4W\90é\f\1e\10tÂ1Õ\a.8 8¤ï¨Q\r¡\82V«uÒ\9b\173ÃÕHyñï¨\91è\ 1f\9e\13ä°Ãñ@u$\97\eÓ2BW\95ì´\81ð×       ­É$7#»\83\89\83\9ca\r\10¯ÔÔ\9b\r©è(i\86\89­j\1a~\8b\15¨\8b¢y\1cH\87\0Ñ\1fa\f\15¥ðLé\10==\87\90-§£\ 3È\ 6\9a\9f©U\9b\9eª(ó\82Ï\8a\ 10¢¸ü1°\98ÇWðC\05Ha_\15­Póò\16À\12òÏ Ì  Ñtjn<\ 1úc Ò\1c­J
+æ¡9JÇ\18\859 ¿\82±\hêT\9bÒ\ 3j¼ª\r@MWëø
+\0<bУJr\958\96#.9½Jú\ e:}ÑÛ\89[\83\9bO@e@í\r\1dDh\0*\rX
+®nF5a\8ePÝ4qL]çô"à\16\16µçhª\ 10\f}\a\ 5Íz@Ì\ 1v\8d\8c\ 4ðÌÔ_ÍëÔ0ú\ 3A&\15Ï\90\8c9/z\14Àéy&\17k\07iÀ´CS\ 5'Á !\ 1®ã\\ 3\91X\85'\9dÎÀ\ f\9c\ 2õ\83¯0Ào\ 5\14Ý\aü\84\1e \rJi\9bÙ\1aBêDä\94\9b\14ØK8\ f\98 K\7f\ 4\18ø¥QI¡{Àëc «\12ðÜ$8BÚ%ÄdþS1\81
+\93\ eOb\ 18%\9a¨`$\r¼dÕ\881\9b\94kÃo5Pß4\0Â\8c\ 4PM\15\0À\8bG\12OÃW É\bî¥Ñ U£"·¯ \6\1eë¦\19°\84L\892^>w\81xG\0     ù\19ö0¨\83°\1cl\81\96Âu\1a´TÂ%\ 6\f\aÛ\1f¬ Ý Q\9ag\8e\82F%\86\ 5\ 3ÓE\87ïÐ\1aêY\ 3ð®Jªã\85¡¥8/3«´BËc[\1aµTÂ\89î|ÜxZ4Çñ¿¡£YÒ*
+¨£Ò\10\991´Is@\1aþ[Ð\9b\85\1et\ 3¯hDD\14ån\84m\80\15È8*)X®áÕ{0\ 3¼\8c\7f \ 6kiP
+¦6\95~á¦\ 2\ 6\88Fi\94ä\86ô7M\0Õ«xå²\ 6ù\eôòñkÐ\88ñó\0\80@¹¢\91\8a)hv'\8a\15\91¾§ýA´\ fX\98F      \90F\ 3g
+9\1f­NmR\ 3ÄpÑÇ®\94\8a¨\99\ 1 @­\95\8e\18Àg\8c\84âÂ\87\804Â~;Âýd»àq"f\88D1_\81b(\15\87Ë\93l$Z\19\10¼3ÐT;\94\86àú\86\9dW\18¹Ç\85ò?<Á\11Îàµ]è\87\ 6@"ü\rò\rÑÖ\ fp5j>Ñ \90\ fíÓc~\91É'Ó\ 1ê\99\99*4\1aòb5<\1aàî*¹\17\ 3àP ui©HIC\98×\0#1R{\ 3¹º|@#"Î:^2\87©\83\ 6%ê×((\b0DÀ2¨´(~2òÝA\7f¤\ 25Dô¬ÅÛ
+2\83ÿÀ+óttj\ 1ÝH7%½\11\14x4\10Ö6Vh1iN©¤\81)ܽçÏ\17ÌwSH:\80(\1c&½P\88\ 5/E\1dåà\91\15
+\ 24D/\8aN\8aäÐ<-À%\13Ü\13\8d\aÒ#ºÃ¾®5EÑ\10]W£]W+¡¶£¾H\8b£\8d\19\95\14Q\aà\10Ò½Tc¤\81\13ª\83\89BrOE\89\17 ËÑ@zµNê+@Ë\18aç«yV\12\92\ 5Ð:jÚt¼¢\9f"D¨\88Vh¤\84\15Í\1aG¨GÍ\9b\ 2\10\94\ 3N\1a­À¹G£\f<*ªSÂÜ\ 6XijS\94²\92\bY"Ì«áK0ì\88¹È\ 6\ 2\9c#à«\91lÑI=\1fztyëhÞ\8a\9aVP\ 6\f¯K\0²Ð
+4×\91"©T¦4\1erKÈ¿p\9cl#\0\80Ñó£Â\97x2\10\15ü\bçaR\16V\18\10é\ 3n\8fRJ(\ 2/\ 2\81\83Å» Ð9\80Á½<Ñn@\99\ ee\rð¼ÖÑ\12\rÒù(\ 3ÀÜeJÅ\13
+"x
+¾;\ 4\85\88ÊA²\15ÈM#S­§·\17¯W\84NiñªÕp©¡\89\8eâµÌY¥¾\1e\r%+Ð\1a\8dè±\96ê Ð\ fk@°Ñ à+à*¢ó\16Åõ¼Ú\ 2H)p§Èµ\83\ 1)E\ 5ëFSñ\b
+8\10£ÔH\a\1dÑ\e\15\9a\8eÈ¿ÐcL\v¥o`\99ø\ 2-`ë0Y\ 5Þ\9f^\87²\ fÔÅ£Z\9e\17qbûpÁ+8\1e"Ö¨p£¨\81YAUÿ\80§\ 5&\13ú\814T§\ 4L`ÔÏ 6\86\90Q\9aꧤ\15:-¡³\ 1ºO\9af\80\17$Û:B\8fáõP*\82ã%hIÞ×Cã\81à\a £\9e*É(Ì\8f:\a-ïÙAÍ\84\8e\10\10 \8e\1adÑÑP¤!ô\10j\98"S\88\0\9f\92G\ eÕ\ 6ò\auh\97Öªø¼g*\16Ñái\88Ârt5Sã*F\89k%\b, õÒô?ª²Ö#a\82rE\15\a¢7@+ÐýFpðTC\8d\8a=\ 4zéYÀgªb¨\8d\9a0\14©BS\ f£\ 4\18I5Ý\91*\946\ 3\16\ f)W#¯\17ÆDPàÔÓ '¬À\13\ 2Õ[(Â\95Ê\1eÑ\9d\81À¨\9e\ 2\ 1*\82çd¦\ 4\810ú+4\11\f\eL\11c>\8c\16\rZ@Q6ð\8aT54Ø\0\aÅ ÁN\ 1Ú\ 1£òtÜ\95U\18      ¬\89ð¤©\7fD\85,:\ 6M(0£\84\?¬Ap\9c]zF\8dÔ\93­¤Æ`ä\96\83\82ºñ0_\ e(æJZ£\80Ï\86g\1eÂÅX\81÷\18
+\ eu\ 4x "\b@\14©\ 2ªVÏW`\8c\9cBÇCO*Ê!£¬\9eÊ#éçâ¾FA:æÐ«8^\17U¦+Ô\88Ô §\17\1atÍQa5\9f\85\8ey^\bu\18`A\15èÔA\86\19PÛ*iN=\90¹Ðöiäå\14
+ÀO³=¢×"\8dê¤\1aS`«é\81Êd\83~&LE×S%\ 4ÍêÄ»NMÉ\1cº\ 3±?*Jð¡ø\18)cT²"ª\r°P\ 5\ fÝ£\ 6Z\ 3Ä\11 i\1aôRÿ%\1c\a5\15äP!®\92ªõÑ\9c\a\ 3©$ü"ä\16ñNÐP        -õ\8fc¸-!V \13\14.\19Ú\8a\f<\10\83îv D))oÌ{Aµ¨fEã f\9fQ\91;&¹£0\80<!ú+\b¬#\8cI¿DO\ 3 áÒ\90áÂ\ fa¬Ðèj\ 5ϵcä\14ó\190;\13Ïn\89\1d ¶\e        \ 1\8fêñ\11\0B\13\8d\8eB\90ôW\0\f\86þ,5_\81Ú\1d¼u5æV^Ø)\82ö0JÍW@z\81\18yý$*\91©\13\ 4\0[¨hRÂ7DQ\14rÈjZ \ 5Z\9e\1a:­à}\fè÷BÆ\17\90\8b\84ÎHÓ{´t\ eôR\1f\ 3½\ 2ñÀ¡ø¾\12p°*¼\ 6\90%æÝ\12
+$Ö\80¡\8b¡¦4Ñ\15x\8e8Űuø!\18­\87Ä\92\8a"`J^<\89ø¨\81\87¯¨\95\fE*\88ñ@c¡Zjê\85\9a©|\19¨Dzj\ f§\15Ä+J\r\8cÔæ\80\12\8e\1a\15ÿ\8c
+U9\98a çéS\1aÂÃ\8c\89\86ò\0:\8e\b\f\8c
+=¹ Zn¸PV\845Z\ 3G<@·(\15\8d\93¿\8c9r\14Ø`g\1c£¶°\ 2\rªø*\ 6¦Iº\86P\14\0\ fÑ\rÊq\13\90\9eBE\1e\86\8d@§u0©\1a\ 2¿Çwh¾4
+oy\82\ 6ç\ 2>\1f`\a\81BÁW \ e\9c
+\83TL\8f£C\1d\rÂ\1a\15b\b8ú:j\ fQд_¼³5Àê¡\15*\9a±\82"lô6â\99¤Ò F\82¸\ 1­PãÊ7Àêp\93\83ì6\8d\90S\19(I\80%ðÎÔ(FÅÑa+T4Ä\1ah¶8\19ø±(RD\15\8aABµ@L\18\bbJ*\9b\9eÁDa¥\9a £\9a\12\f\ 4fø¡LÚ@Åq
+ÂVPc\98\16\8d'4\10p\12ùt\18O¢¦\15è\84Ätgh!\ 1R Â\vï
+>¿\19+\bý\ 48\89\ 4
+\ 4`!¼=\ 1Ш¤Â7|\aÑ\0X&ÌAGÓ(P\ 2ñÚ7\18M\1ck        IB\85\ 4h ¡Þ^=\8a\f%üS\0Û\ 3i\8e?7        \8a\ 5!ZÄ&ô\88/\ 2ü\ 3M\99¨9×iyû*ÅÍ\b¡QÍW ï\83 ªB©ç\90>jjðTñi\1eÀ¨Vóñ¾\80£M\aØ\83q;*\9aá
+\f\95\ 3\8cIk\ 2]'\v\8aq\12¤'4ÍY\a\\ 5\ 3á\85
+P9\ 3\8dBQÓ
+Lq\82Ç\ f8D©\19×H\1a¨"¸DZ\83N\1d-õà\ 3þ\94 Õ   FP\87\84c\8e"\1a$P\80è\8b·\b\8aÅIÐp\87 Ä\82"14Â\80:\8b\ 4ðÃ\80q\ 4.0Û\r\ 4´\0ß\vÄ\ 6BºBÀ\87j2\94\0B6Ò)E©4B¢\1aBÔ¢¼\ 3*\95´@u6Â.3/\ 21) \14\raßQÓø/f\13µp\0\b\96[e¤^\a\82\1d#\ 415\95\85é0=\91F\93©àÕjp\ 3\ 2x\rPf¨ñ"Ð\18\85\9eàßQ\9b\800\ 5ÂÌÔ\8e\8dÆJ\ 5ÏI\ 1P\1akTÈÈáÎÀ\fP4l³Í#(\13<Si\ 5¤Du|\84ô©§  cH¼ ï$­@%..\0\ 5\87º¢Iߨ\19BØÒ % \15¼$ñPÇÈ\1dj/§»\eî\ 3ª7     ¬^A9T\1dj\8c        L\90F\9e¢\1eHMCÝ´|ì7\90>t\1cÍUO©\ 6\82\88@-¼\8aâ\96*´9Q×\ 3Á42\1fF\8d\17\19áèÓ
+ÔùÃ\1e"0\8dfy \a",£C¢\b+\f
\82\ 3\e   5\16Ñ{\82\98H\9a8\ 4\8c   ´[è\80\9f\88\8e\a´\ e¡\ f\18°Ü\84\0\96\95\9eF8\11r%¼\17\8d\81º\1e       \9dFjÆ`ÖPÏ\9bòñ\ 6Ç|\1aÌÉCJWAM ¨fUààr8W\84ý4P(\15?\82èÕ\ 5\18/¹·\0\19 +\ 3]ËJÉ P©\8c\91\10wm8\98'ð$5ä\8c+¥+\ 1\90\12\87\1e\ 5\88\8a
+\80Òzª(Çå\84¢n¤<\90Ò£\15:L\1f!Ô)#¿&\11+Qa\ 2\83\91Ãncà\19Å\83        À]Ã'Â3ß\bh:hád\9e*p\15àÆ¡HY\81\a&­ÁÛ\19c2h\ 4\r!Z .\ e£Þ\14\1aî_ \8e\81\8aO9â\b\1d\84>Æ-::ª¸c@àÌÒ\12\15\ 1Bsp0îc º        Ö\r\911\ 2Æ\06\r\1c\1eJ\87c\ 5´OM°\ e\1c\8f\82\ 6¸ªj\9aª£¤ºQÄý\95\16\và±\14\14goSÔéb\rÐ4ÐF­@\8e\f+àê°sHàÅü×j\90÷Æ\80e\ 3ÿ\ eä\8c÷=Ð\96h\85\ 6\ 1"\ 5\ 1\8e\9aà5ÔÔ\94L³Å¹äô¼½    iZ\8e¯¡Fµ3îe\1aÐ\8cVBxÃH]è%\18\165av ÎGþ\10°\PìC\r\95æÏü       ÜË\87\ e2A\fúãPgþ\aªMuÀÇ"Èc\ 3ç\11\94ö\7f\98ÿ\11âU\88ì3½¶1êmñ¯¡â\ 3e\ 6¶6u»¸Lp\1a3\9cý¤¡c\a;v\1c<Òq\88KûAì¿så_OÇÁpÔ4½ûç×}\9bï·\7fçhú\93}Í¿WWKÁþ'íÿ3ýF]-£\9eÿ8-ýо¶é~¢Ë\84Ac&\ e\e;a´$\18..{\17ö\8f\aOrq\9c\88\8fføGéþ\v\ eÝ£´QÐÿô\9c\9a\97þch^\9dMu[\9b\9e=ø¤\98IiÿÁW*±²\8a}kí\80\16\1cëñÿ³\89ãp§1\9d\aMtq\9c\90\97ýËlM˼u\9b9Nv\1aâØ¹e\13\9b\9e\1dòö1ÿë@\164pHE`Lh¤±\18pô:\1a¡Ú\ fS^mð<c¿gD&ÿU¬4ýë¦ÿd'\85ýÛ̺â\ fiØÿ°Ey«T¡_Ýl\90Ë z6HÍ\18\15y{¶Îõ\1f\99d\92I&\99d\92écéÿ2O¢\7fr6#Y¤Ö¦\8fÐay\v2E²T­M\16ÑaYø\7fN²l­M\16\94°,ö?!YÈV%«\8aW\16uzÊ2Qÿ5¥\9d\95âýkJØLY,ê¿\9aÀeñf\19 \11õ_Gæ²l³\8c\ 4\8aÚL¢e`E\92\ 5\9b\95$VÚf\12-\ 6«\90\82DË KI´°%\12-\ 6«\90\82DË ëH´¤3\90haX\98D\8b3\8dDK"\8b\983\90haX\98D\8b3\8dDK"\8b\98ß&Ñò°$\89\96e\1a\89\96D\16\91h1¿M¢åa1\12-È·I´<²\82DËøm\12-\ f\8b\91hA¾M¢å\91\15$ZÆo\93hyX\8cD\vòm\12-\8f¬ Ñ2~\9bDËÃb$Z\90o\93hyd\ 5\89\96ñ;H´H,@¢Eøn\12-\15ë\92hé¾\9bDKÅ\ 2$Z\84ï&ÑR±.\89\96î»I´T,@¢Eøn\12-\15ë\92hé¾\9bDKÅ\ 2$Z\84ï&ÑR±.\89\96î»I´T,@¢Eøn\12-\15ë\92hé¾\9bDKÅ\ 2$Z\84ï&ÑR±.\89\96î»I´T,@¢Eøn\12-\15ë\92hé¾\9bDKÅ\ 2$Z\84ï&ÑR±.\89\96î;H´H,C¢¥øn\12-\15ë\92hé¾\83D\8bÄ2$Z\8aï&ÑR±.\89\96î;H´H,C¢¥øn\12-\15ë\92hé¾\83D\8bÄ2$Z\8aï&ÑR±.\89\96î;H´HÞ¦\8fû\91Y,´\ f¡,\90\95X\12-àw\90h\91X\ 6WÖâbùtÊzIf1\89\16ðÛ\94ÝEñÙ
+öÿdeÎr\92å`=\12%Û,#Ñ\ 2~\9bd   X\8f²^¶YL¢\ 5\9c\81þâì[\95²^¶YL¢\ 5ü6ýÅÙ·*e±l³\9eD\v8\ 3ýÅÙ·6e½x³\98D\v8\ 3ý\95y·6e±l\85\90h\19§Ñ_\96ñ¬¡,\16¯\10\12-ã4úË2\9e\ 5\94Ų\15B¢e\9cF\7fYƳ\86²X¼BH´\8cÓè¯ÉuÖPVÊV \89\16³D\7fM®³\8c²X¼¢H´\98\v²\9ce\94\95²\15K¢%\rú\v²\9ce\94Ų\15H¢%-Ñ_\90å,£¬\94­X\12-i\89þ\82,g\re¥`\85\93haKô\17d9k(+\ 5+\9cD\v;\8dþjüf\ 1e\8dH?\1f\12-ï4²ê\8fÿÜ\98Í\1a²¨¦|î$ZØoS¶ûÁ\9f3e\81þ|V$ZÞï ìò;?\7fÊb]\12N¢å-\93\15I´re5\89\96·LÖ"Ñ\9a%\80D\8b\&k\91hÍÊj\12-o\99¬E¢5K\0\89\16¹LÖ"Ñ\9a%\80D\8b\&k\91\12@¢E.\93UH´Z\89!ÑR\97É*$Z­\ 4\90h\91Ëd-\12­Y\ 2H´Èe²
+\89V+1$Zê2Y\85\95\18\12-u\99¬B¢ÕJ\f\89\96ºL\96'Ñ:%\8cD\v^&Ë\93h\9d\12C¢¥.\93UH´Z\89!ÑR\97É*$Z­Ä\90h©Ëdy\12­SÂH´àe²<\89Ö)a$Zð2Y\9e\940\12-x\99,L¢\15J$\89\96½L\16
+%\92DË^&\v\93h\85\12I¢e/\93\85I´B\89$Ѳ\97É\92$Z\9b\ 4\93hñËdI\12­M\82I´øe²$\89Ö&Á$Zü2Y\8c\92x\12½\ 32Y\8c\92x\12½\ 32Y\8c\92x\12½\ 32Y\86DëÑgA¢7A&Ë\90h=ú,Hô&Èd\ 1\12­D\9f\11\89Þ
+\99>\95DkÐgD¢·B¦O%Ñ\1aô\19\91è­\90é\93H´ú|^$z7dú$\12­>\9f\17\89Þ\r\99>\9eDëÎçH¢÷D¦\8f\8aó9\92è=\91écH´Ö|¦$z[dú\18\12­5\9f/\89Þ\19\992G¢õå³&Ñ\9b#SæH´¾|Ö$zsdÊ\1c\89Ö\97Ï\9d\8fL\99 ÑÊò¹\93èý\91É\8a$Z¹\ 4\90h\91Ë\94\15$Z˲\88D\8bY¦,%Ñêfu\12-`\99²\94\9buI´te\12\95Î\8a$Z´2    ÑJg-\12-W\99Ä\90h½³\16\89\96«LbH´ÞY\85D\vU&a$Zõ¬B¢\85*\930\12­zV!ÑB\95I\18\89V=Ë\93h\89Ê$\92Dk\9fåI´De\12\15Ð\92$Z\962}^$Z\1f?\89D\vO¦Ï\94D+æG\92h±ÉôY\93hõÌ\1c\89\96\96L\9f;\89ÖÐÌ\91hiÉ\94\r\92~(\89\96\93\83Dëé\87\92h9É\94=H´\9e~\10\89\16\92\86D«êûI´\84dÊN$Z[ßO¢%$S¶!Ѫú~\12-!\99²\13\89ÖÖ÷\90hñÈ\94ÍH´Â¾\87D\8bG¦ìD¢µõ=$Z<2e'\12­­ï!Ñâ\91)\9b\91h\85}\ f\89\16\8f\89Dkë{H´xdÊN$Z[ßC¢Å#Sv"ÑÚú\1e\12-\1e\99²\13\89ÖÖ÷\93h      É\94\9dH´¶¾\87D\8bG¦ìD¢µõ=$Z<2e'\12­­ï!Ñâ\91);\91hm}?\89\96\90\86D«êûI´\84dÊ6$ZUßO¢%$S¶!Ѫú~\12-!\99²\13\89ÖÖ÷\93h      É\94\9dH´¶¾\87D\8bG¦lF¢\15öÏH´ldÊ~$Zgÿ'\89\16\8c\92D«íÿ$Ñ\82\91)[\92hµ}7\89\96\8a\98D+ïÛ$Z\1e2eo\12­¿o\93hyÈ\94½I´þf ÑÂ\90\93h\15N#Ñ\92\90)'\90h-N#Ñ\92\90)'\90h-\96\18dÊ!$Z\91A¢e SÎ!Ѻ\f\12-\ 3\99r\ e\89ÖeY\99e²$ÉÊ,S\8e!±Ê,ë³L\96%Y\99eÊI$ë³L9\89de\96)'\91¬Ì2å\18\12¥Ì²>Ëd\r\92\95\9cD²>Ë\94cHVf\99r\12Éú,S\8e!Y\99eÊI$ë³L9\86de\96)'\91¬Ï2å\18\92\95\1c\94YÖg\99,N²2Ë\94\93HVf\99r\f\89RfY\9fe²8ÉÊ,S\8e!Y\99eÊ1$+³L9\86de\96\90@e\96õY&Ë\92¬Ì2å\18\92\95\1cC²2Ë\94cHVf\99r\fÉÊ,S\8e!Y\99eÊ1$+³L9\86de\96\90¬Ì2å\18\92\95\9cA²&Ë\94cHVf\99r\fÉÊ,S\8e!Y\99eÊ1$+³L9\83Äj2'Ñ2\90)\87\90hE\ 6\89\96\81L9\84D+2H´\fdÊ $Z\8b%\12-\ 6\99r\ 2\89Öb\89D\8b\9c@¢µX"Ñb\90\93h\15Î@¢\85!S6&ÑÊû6\89\96\87\98D+ï;H´HdÊ\96$ZmßM¢¥"Sö#Ñ:ûg$Z62e'\12­­ï'Ñ\12\92){\90h=Í\ 4\89\16\95L\9f5\89\8f!Ñ2\93é³#Ñ*i\ 1\12-B\99\ 4\93h\ 5Ì
+\12-c\99¬H¢\95K&\99>;\12}(eú\vÑßÞ¦,ÿj\96|0ÃW¿à\94E?à¿$\9c%,§ãôï\9cÒx¶úgM\12Î*!\9b¾É¸üÒL\12ÏÖü¸\99׿ÿ=½\90¿°*Ïf^¿üò«¯¾6ÓW_\81ekò\9bîÃÿ%e«±Ì?ʾÉxýæÛo¿ãôí·ß|\ 3\8e%\86-þUþá/¤\ f¿%å/Ó³l\85\8fâ\9b\8c×ïråÊ\9d'OÞ¼yóäÉ\9d;×wß2\86Ù§­Äoz)\9bÅü-\89Ù¬Y\16g\98\7f\943\9b;OÞ|ù\v\14\ 4\15È\9f/o\9eܹ\88aëð\9bQ̹\99\98\89\98\98!g³fYö,\99¹\ 5³ù
+\14,\¤h1PÑ"\85\v\16È\97'÷wß\9aøµØ'Ó}\19ÖÂ,æ\ 2\ 5
+äçr\86f}ý\95¥m\87\89Ûo¾ÍÅ\98-T¤X\89R¥Ë\94)[¦LéR%\8a\15\18f\el\1d~Áíß±µ¹òäÍ_ \10\933\13tQ&æB¤Z¦³dQÕ2qû]î¼ù\v\15)^ªL9\9b\8a\95*W®\©¢M¹2%\8b\17)\98\9fñK\1fµ¼ÉÀ\97¿ær.Ìä\²TéÒeJ\97.U²Dñ¢LÐùÁ°\85ùå
+\ 5nÙ'\8b\95*kS©jõ\1a5kÕªUÓ¶Z\95\8aåË\94(Z(\7f^ðkùí\95¾üm.\92sÉÒeËÛT¨È¨\82M¹²¥K\16/Z¸ cØÂG)\8dÛ\82EJ\94._©Z\8d:
+µF«ÕjTukÙV©P®T±Bl\7f¿ùÚòÛK\9fþ\9aímþBEK\94.W¡R\95j¶5jÔ°µ­VµrÅòeK1IÓQ\92TË"\1f7}3/ã¶L\85*5êªuõ\1aØ5jÔ¨a}\83FQ«Z%â7÷wìø2\11\8bi\9fþâ\vIÐEK\96±a\82®]W©R«UJE\9dZ¶U+Ù\94-U¬pÁ|yØþZl{¥ÍÍ\95·@\91\12e+V«¥Ò7hÜ´E«ÖmZ·lfßР®c[©\É¢\ 5¡Î\16ß^\93 \v\90 mk+5úzõ\e4hPߨ×(ëÔ¨V©|if:ò\91¨-ôm°ûÕ×ßåÎ_¸x\99\8aÕj«\8d\8d\9a·éàÐ¥k×®\ e\1dÚ´h\OS§z¥²%\8aäÏþi\ 5vÙæ2U.^Ú\86©\95ÆÐ°qÓæ-Z¶hÞÔÞ®\9eNUÛ¶²Mé\12E
+XRÔ\¡\98*\17+]¡ZmMý&­:tíÙ·ÿÀ\81ýûöêÚ±u\93ú\9a:Õ*\94.V0\1f¾i\rv±¹%ËW®¡ÐÕoܼu»\8e\ e\ e\ e\1dÛ·mÙÔ®\9e¦n\8d*6¥\8b\17&Q[è$\91B1      ³OV©¥®ß¤\8dCÏþC\86\8ftvv\1a\7fO\876Mê©kU)W\12ÛK"¶À'Ó}û˯¾Í\9d¯\10Ó«êuµ\r\9a´jß¹{¯>}ûôîÙÍ¡]KûúÚº¶\95-{\92þ&I¸`±2\15m\95Fû6\9d{\ f\1e1f¤É\93\8f\1e\97CëÆ\ 6Eulo^\8bkóßþ\96QÒ­;vï3p\88ã°a\8e\83\aôî\ 6ÍÒÖ©^±LñBùr[\92ݯ¿e'·Dùªut\8dZ9ô\1eâ<Áuæl·9³§O\1eç4¨gÇ\16\r5µ*\97cßÌe%v\v\16-U¡ºÂиU§\1eý\87:\8d\1e;~ÜØQ#\86öïÑ©µ}=UMhV\ 1¦Y\96ù6c\17\9f,P´tÅ\1aªúÍ;ö\1a<Êeº»\97Ï\82\ 5óçÍ\9e:~Dÿnmí\ru«Ù\94,\9c?·¥\ f/Øe\8aU¨X\99J5Õ\r\9a·ïÞßqÔ\84ÉS§Ms\9d<~Ô°þ=:¶°Ó1ÃQªh\ 1\8bi\16}ò»¼\85\8a\97­R[׸M·\ 1#]fÌ]\10\18\12\1a\1aäç=ÇuÌÐÞ\1d\9b×WÙV,]´@\1eë°\9b¯P\89rU\98bµîÜwè(\97i³Ý=<ÜfMs\19íØ¯kÛ&F¥mÅ2ì YJ³`©Ø'\99.WSÔkÖ±÷°qÓçú\86,\8e\88\8cX¼0Àk\96\8bSÿ.­ì45+\95)
+\8d²8»_áÛ%Ù·\8dMÛ÷\184rât7O(\96§Ûô\89Î\83{vlÞ@]³RY\v\1e$X*vt\8b\94ªPCmתë@çÉn\vB\97F/_±<zi¨¯\87ëèAÝÛ6ÖÕªÌDl\1dvñm\e[U\83\16\ e}\86\8d\9bêæí\17\14\12\1cèë5Çuì°¾\9d[ÙikU¶<»ìèVª¥³o×sè¸\19^AKbVÅ­\8d[\15½8Ðsú¸¡=ÛÙëkW)\vÓliv¹¨a64v­»²s4ËÓ?$lqø¢`ßy3&:õïÚº\91\96}ÚÂì2KU¬lå:\86f\1dû\8e\98äæ»(jÕº\8dñ\eÖ®\88\b\99?k\82c¯öM¬Ê.D]SÛ¸m\8fÁ£]Ý\17\ 4\87GDF.Y\14è={\92óÀnm\18»Ø]éìZâ\93_~õ]Þ\82ÅËUUÔkÑyÀ(×¹\81K\96¯\8dOHØ´aUÔB\9fÙ\13\86\99Ùµ¼2\83]v)\94©TKߤ}/ÇqÓçù/Z\1a\15\13\1d\19\1eì3g²ó@ì.\9d£¼\96rqè\1eÊ[\88Y*e\83V]\a\8d\99î\15\12¹jCBbbÂÆ5Q\v\17ÌÆîÚëj³oZÁTqv\99fÕ64íØgøÄYÞAáËb\96Ç.[ÌØ\9d4r@\97V\rÕ5èR°$»ìê+iS]eצû\90ñ³|\16\89ߺmÛ\96xÆ®ÏÌñC{´m¬­YÉ*\17\11±[°XÙ*u\8cÍ:õ\1dá2Û'dIÔò\15±Q\8b\83çÏvqêçТ¾Ò¶B©"ìÊÿÊ2\9f&vÙ]`c«iÔ¶§ã\84Ù¾a1k7%nß¶eãêe!ÞÓÇ\ eîÖÚN]Cú¦\85½*Î.;Huë5wè?Òt)Ä.\v\ fô\9a9~Xï\ eM\8d\96/Qøc-Õ\7fGå%vÙ=¤mÜ®×0\177¿ðص\9b\13·%n^¿bià<×Q\ 3:3\11Wg^U>K\99\8bôì~-Ù\8dúÌn8Oq÷eìÆ.\8f\8eXè7wê\98Á=è
+,k>º\99ùöÿȱqv\8b\94®XSkß¾÷\88Iîþ\8bc×nÚ\9a¸%>.&ÜÏmÒ\88>\1d\9b\1aêT)WÜræ"\1d»iv£e\97\81£\ÁnTL\8cttûwiÙP%éræ\8eÑ[yÌt¹\17øqì¦gìê\9atè3b2Ø\8d\83a^¿*2Ô{æ¸!=Ú6²ÒÑ5³ËìFÃÖ]\a\8dvõð\r]²,*jé¢\0Ï\19\9cé[÷íDf:\96¿ Ç\86î\82¦\1dû:Möð_\1c³fæM\eÖÄ,\ eðpuNÓåÜ\16\8ff\98ìF\ 5[53\93\83GOõàîkxð\ 2÷)£\ 6áÖeÞk1\93]þÀOÿÍ\94ïJ˲¥¥1Á.®>v\174ëÔoä\14\ fÿðèÕë6¬\8f[\11\19Ê\9c\fÓ­[ücÎÏ\a°ûM.æC2§ªQÛ\1e\80Ýð%K\17\87ú{Î\9c0¼o§æõ>BÐæä^Z\92\8d'\9b(¸gºúØ]À\8c£3c7,jå\9aµkVF\85ùÏu\1d5°+®¾\8f9?\1fòøf\99ü×±Óæú\ 6/
+\ f_\14äãî:\9a\fUíL\e*\89[Æì×\94dûÖ\94_ãé5<°óò»\0ÆÑÕÃoѲå«V­\88^\12ìÍ6\97\9d\1fCݪå2\7f~>\90]æC\16c\9a¥oÒ¡7sªæ.\bZ¸ha°\9fçÌ\89#úunÙÀd¨2·¹æ\1c\e\92l \ßI¹\97¿S@ÝìT1ãèá·0"z9{\ e-ôuÇæ¶¶ÓÔ0=v-®Ëæk\97y\19}\86O`\ fí ÐÐ\90\80ùîSÇ\féÉNQú\eá\83\94\95'oÞ|ùó#½fN6á\9fpkÁ\8cc·AÌZø1ã\18\1d\15±(À\vƱãG\1aÇ\ fc×t\ fáÚí7bâÌy\v\ 2\83ÙëÏs\96ËÈ\ 1][ÙÁ\81ÌÜæJ        ¯¿aÌ"m[¨0£BH6å¡d\13;ÍL\9fp\ f\91µÀñ    eÆqiX\90\8f\eùèxÚ§9­\16g\97;tª\86­èù7Ï70(È\7f¾û´qÃútlVOQ\8d    \9a=\862³¹¦ÄmÞü\ 5\v\17-V¼DÉ\92%\8a\17ãÉ&$ª\91}+\88㣳§7É\_öà\\12\16â;wú8GÚÜj\9fàÅýùOû»d\98\99¨Ût\1f4jòlOß\80 ö´\9f=\85\19ªv<¨\90©ë\9e¬ÔWH:å+X¸X\89ReÊ\96+_¾\Ù2¥JPò\85i4\13\ 4\82E8>ìM2~Æ<f\1cÃ\16\85ú{±÷æ\0+o.\7fírQ÷\1c2Æu\8e\97_` ÿ\82y3]¤Ç\10\fU&\ 4ý··Rl6\15+W©ZµJå\8a6eK\15/R\b\e\9c+wÞ\ 2EJÙTWÖoÙ¹\9f\13;>¾A¡\vC\ 2}\98B±ÍmfTXksÍ\96ªl\95ºÆ¦\b\92Ms\9f\ fvç{L\1fO\97.×åL¼:Mé.p[²¬Måj¶5k3ª\89ìZ\99\92ÈÛæÉ\937\1f\ 5>5v­»\rt\9eÄô)($Äd-Z7J\vÊY\81]³Ç\¿\85C¿\11Ì0ûø\a\ 5úy»Oe\92î\0O\9dy7\99ÐeÉiBΩX©r\15«Õ¨£Tku:­ZY§FÕ\8aeK\16+\ \7f¾ü\ 5\8b\94,Wµ\8e¾      ôi
+ô      \9ft\9b:\16\9b\v \97´Îær\9f\8a»\90\r\11\13\9c4ËÓ\97\7fÛ\95]Cíìqt\8b\16àvùÃþ We¤OK\95«T½¶JgDâÖ®\81Q«¬U\1dyÛÂ\ 5\v²3]º\82­²~óN} OÞ~\ 1\81þ>8>\14)2\87 -\9c\1d\92,\15\7f\9cð@Õ\147oÿ à \7fï9SÈ¥¢\87I~8\90\99Ú\ʰ\95«d[Gc´kÒ¼e«V-\9b\96ø-R¸H±\92å*×Ò"\12è4qÆÜù~\ 1\ 1¾^nSÙUЩy\86\87®Å7×l©¸O5ÍÃ'0$4ØßÛ\8d±Û½M#æÞ\90¥úò\83Ùå\9b\9b¿pñ²È°Õ·oѶ\83CçÎ\9d:´iNyÛ\8aåJ\15/V¼d\99
\15FèòèɳçùøûûùÌ\9b5iÔ îmí3<\ e,ËmÆPF§¾ÌÉðô\v^¸(4p¾\9bk\ 6v?|wéäæ-X´t\85ju´\r\9a¶îصgï¾}{÷èÒ¡\95}=uíj\15Ë\95.Uª\8cM\95\9a\9a\86-\1dú\ e\1f?ÍÍË×ßß×Û}ÚøáðYÕ\99÷Y3Á®d©ªãm?Àyò\9cù\81\vÃÂ\17\ 6-\80\vI¯lò©>T³pçòÍ-Q®rMuý¦m\1c\e4ÔÑqÈÀ¾Ý;¶²7ªjU­X¾lÙò\95l\15\ 6û¶Ý\a:»Ìdºìï·À\93ÝóÌg\95\1e\aÖÙ\\93¥*U¡\ 6\9c\8cÁÒëoIx\88ßÜi\14Ë×Õªd6Uÿýõ·#3Ò\9dKÉ=ä\13í[wî5p\98ó\98±cG;\ríߣcËFz\ 5³Ï\15*TªV[Ó E§Þ\8ecÙ=¿\80éòü¹3ø-¤å·\90¥¢\80oý\\9e0¡×\1fóçÆÏð\f\14\11õ\0¯\99ü%F'\89¢½\19?\9fÆeúâgr¨\90O,^¶r-MÃ\16\9dz\r\1a1fâ\14W×É\13F\ fëß½}ó\86Úº5ªV©R­¦Òhß\96§þÈPy»MûoCeanÿ/ÝCÛÀ\83®ó\83\17/\8b\8eæq*§~\ eÜÍ0ÛIÓ\ fH\17\84ÊXþü\85ÉP\95´©V×Ф]·\ 1#ÆM\9e>Ûm\ ee\13ûviÃ\8eo\9d\1a¶¶µ\14:;Óæú\ 6\ 4\ 6øJº\8c÷\97d¨¬Q\r\89(d\1es\14\14öÐ\8e\8cY±"&r\91\9f\87ëh)¬Àn"ÓË3ý\96\9a\ 23_Q!0/\7f¦G®\94¨V3míã8fòL\ fOoïynÓ]\9c\a÷êØÂN¯ªS»\8eB[¿i»n\ 3\93ë\13\10\14\14À}Vr\97+ââ³\8a¡Ê\18\96ë6xìtÏÀÅÑ+׬^\19½$\88==éð"=D©Ý/Ót6]\æ\eN¦òç/¿ü\9a\17]°kµ\11\12Õ\13gx\98´\95YÞ®m\9bÔש\94*m½Æ­\1cú8\8e\9dJ×|p\80\ fù¬\ eiºü¡\17_fÙ5[ªv=\1d'Ìò   \8d\\11·n}ÜÊe\8b|ݸ6³\1f\80\8bá;©\88,­Ð\ea\99ï¾ËÅé;©\14\18oÙ\ù
+\15/WEr\11]Ýæ\a\84,\\18ìç5{ò¨Á=;¶hTO¯Ó×kÔ¢C\8fAäÃ\ 5\85\86\ 6\a°{oÌP³.[<1$q\9b\16§Ò#à;ÉÍ/\9c\eã\96/\rò\9c>\ 67/Ïíæåõ\89_\98Z\axé3\9c}¢¼R)ð7\10\ 1¯1¡×ݰ   3æù±ÇìâEÁ\v<\981êÛ¹MS»úõ\1a4jÞ®k?vç2§&tÑÂ\10\7fo&\v8\90éuÙÒܦ·TÆf\ eý\9d\ 5-]±~óÖ­      \e×D/ò\9dã2\9cÞ÷ØÞ\ 2TU%\9dN
+Täæ\91
+
+UðRà<\14\8fú.W\1eæ@ÚTSÔoîÐÏÉe¶w`\18lýÂ\0Ï\99\13\9d\ 6toß²I£FöÍÚ8ô\1e2zÊ\1cï\80аðE!þ\9e3]\9cú¥Ë\94XI\97Ó,UË®\83ÆÌð\ e\8dZ³)qÇÎí[6¬\8c\bò\9c6zP7ö\1eã©ûÜßR\98IÚXÆkÁBE\8a\16/Q¢dÉR%Í¥ÀyÒ?f[t¦\8cS\bl}dxÐü9L\9b{9´iÑ´i\8b6\9dz\fdÞ2ßù°\10¿yÓ)FÅ3%VÒåô\96Ê®M\8f¡ãgû\86/_¿uç\9e½{v$¬\8b\ró\9d3qx\9f\ eìµÍ¶·(\15      ~õ\95Ô: \15\98\97)[ÞÆ¦B\ 5\e\9bò¦Rà|Ðo*Zân\1ae\9c¢bc£\96\84,pgç³o×\ emZµjÛ±{ÿa㦺û\ 4\85-\89X\1a\1eìëA>\9c\94ä´\92.§·T\8dÛõ\1aîâ\1e°tÕ¦\1d{\ f\1cLÚ»cÓêÈ`Ï©£\11(£Ó\8b"ÁoéhR\95\12¥Ê\96¯P¹Jµê¶5jØV¯V¥\92M¹Ò%\88áü\ 5ØK7\1d»\v#¢cc©ÆdÚ¸áý{8´o×¾S·¾CÙÛÀ\e>Ͳ\88ð`\1f·)θõT¶\15¬¨Ëi>\95¾IǾ#§Ì\v\8eZ»eÏ\81#G\8f\1cÜ»mÃòpßÙ\13\87õêÐÔ¨¨Æ¶· \ 2§ß\11³¼î¹rµ\1aµ¨\14X­V*j׬\8e¢ëâE
+I¯YRfÎîR\1e\9b;}ü\88\81½º:têܽÏà\91Pe\8a·BÏg»\8c`×P=æ/\17ÏTè$Sì~a\8a¨#y1`ô4ï\85±\e¶ï?râä\89£\av'¬\89\f\9açê< KË\86TgT\18'3w\1e*i/]®bUÛÚ
+\8dÞX¿¡\9d\9d\ 6õô\1aE­ê\95\94d¯ÙÂl\ 1ó\98Ó²ÅQØ]Æî\8c\89#\87ôíÙ­[\8f>\83F0U^À<¸\98Ø\98Ȱ@vÇóê\13\1e\ 6´\96.\9b^\7f°T\83ÇÎ\°xå¦]\87\8e\9f:\9d\92|tÿö\r±\8b|(ùh¯¯Sµ<ÛÞüùò2\ 3\85Ö\81
+UjÔQéëãåÞºM\9b6­[6obgÔ*jV­P\96\1dá¢ló+ @¬S_§Is|B\96,\8b\89\89Z\12ê7o\86Ë(Ç\ 1}zõî;høXf\95\ 3Ã#cW¬\88\8d\fó\9f7m\f\7fmÒÛÏ*þrú×\1fó©º\ f\9d0Ç?bÍ\96½GO\9d=wîôÉC»7¯^êïFw\113V\15Ê\14/\°@\81\82ìÐ\96±©l[GmhhߢM\a\87®Ý{ôèѽK§ö­\9aÚ\19TxÍ\96*Q¼x\892\15ª!Ô\87J\8fùAá\91Ì\v\a»3'\8d\1e>x@ÿþ\83\87\8f\9e4ÓÓ\7fQDìÊU+c#\17ú¹O\81\16ÕWf6\f\98ivy\9c\8aùT½\86\bZ¶n[Ò\893ç/^<\97rl\7fâÚeÁó\GöïÜ¢\81º\ 6\8aå\vCMK\95­Xµ¦R× IËöì\bö\1f4d¨ãÐÁ\ 3ûöìÒ¾¥}=\r½ÞK2\93]\ 1/\84\ e½\87M\98é\15\10¶tYTäâ\10ßy3'\8f\1dé8dðÐá£'N÷`\16;få\9a5«b#B}æ°£K×\10J\8b¾ýÚ*\9b\9b\96ꬩµïÐÇi\8aghÌÆ\9d\87\92Ï]ºrùâÙ\13\avl\88Yè=\rï\ 4;M­*åK\97(V´\18ºBª×ÑÔkܲ}\97\87\8c\185vü\84    ãÇá5\8bªëú\9cßR¥ËV¨VGoß¾çP\94--\\12\19\19\11ÎØ\9d5eü¨\11Ã\87;\8d\9e8Õm~\10¼óµkWÇ.\rö\9e      ÷¼±Ö\9a.U\ 6\17²i§~£¦y/Z±i÷\91\94\vW®]»|>ùЮøåaóg\8c\1dÌ|;]íª\15Ê\94*Áv\8d)r]]\83¦m:÷\1c0Ìyüä©3gÏ\993{æ´IãF\ eéÓ¥mÓzêZU+\94+S¦\1c±Û\8e\12@~¡\8b#"\96\86\ 5³GÞT\97±£\9cG\8d\998u\ eÛóeðÎ×­\8eY\1c8\8fù3¸\86¬éR¥Ku2ÃÜyà\98\19>á«\12ö\1d;séÚ\8dëW/¤\1cÙ½iE8l\15Ê1ë°M+SºtY\9b*5\14z»æí»õ\e:jÂÔY\1e^\vü\10Vór\9f1\89?g\8dÊ\1aìB*W¾bµ::\846ÇLõX\10\12¾té\920öHp\9b>yâ¸qã]¦Îöô_\18±|Íú\8d\eÖ­\8a\ eós\9f<\92=F\8c¸\86¬õÔMWPUµn=æB\8e\9bå»dÍÖý'Î]¹\9ezãÚÅ\94#{6¯\f_ÀÙÕ×­^  \11¦
+à¶QË\8e=\ 6\8e\18ç\8aàÿÂð%`\85ùøs\Ç:öíܪ\91®®meæf1\95gìvç%\87aKø\1a\8fYÓ&O\9a4yÚìyìàÆ®^\1f\1f¿qÝÊeRU âDVt©¤BLv\ f!«Üm\b\fóÚm\a\92Ï_½\91\9a
+vÙî\86ùÌ\1cËn\b°[¹By\9b\8a´·-;õ\1cìì2c\9e/s\86cW­\89[³z\ 5¹\88\fíÕ±y}u­j\95*V¬\½®^b×\87Ø\r\ f\rð\99ç6sú´i3æÌó\r^\1c½j]üæÍñkWD\ 4{QÝXCµäRY\8f])_Âî¡\1e\8e\13Ý\ 2\97­Û~ðÔ\85«©79»ñË\17Í\9f>fP×ÖØ²*\15+T¬ÂÎmÃ\16\1d{\ e\1eÅ\1cÀ püâ\84­\89\89[â±G¾(\éÞÖÞ ¨QµråªL0öi»\e±tñ ¿ùóÜçÌ\9eãáŸ\8dZÉþÝ-      \eãb\17\axL\19ÙßÚ.U\86k×®MÏa.\1eAQëw\1c:uñ\1aؽpêðÎ\8d±\v½¦\8e\1aÐ¥\95\9d\8em\95J\95*W¯­®ß¬={\96O\9eã\13\1a±b]ÂöÝû\92\92\92öíÚ\16\9bð\ 4[4ÐÔ¶­ZµZM¥¡I;ªlÁÙ\8dd\ f\81Ð@ßù\9eóæyÎ÷\v\ e\8f\96I
+\ fͨE\vશÏ\10ó´\ 2·&vKÚØª\eµíÉ®Ýàè\r;\ f§\80Ý\eWÏ'\1fܱ>:dÞ\14fDÀAõ*\95+\83\ 5û6]\a\8cd®ÒÂe«ã·í=xôDròÉã\87÷ïܼfY\b\94\12Û«¬e[ݶ¶ª^ÓöTÙÂ,sdÔ²È%a¡Aþ¾\v\16ø\ 5\86.\8eZ±6~Kâ¶­\9bׯ\8cdº<&\vtYb·0±\v/c®\99ÝÔ\e\9d<°mí²@\ f\14ì5«¯fìV©j[GÛ°E§>Ìu\98ÏÞÅ\9bw&1\a\8c¹$\17Î¥\1c?°sÓÊ%þ(ïëÔ¼\81¦nMöxÐ4hÞ±·ãøé\9eT.\1c\13½l){Ç\a\a\ 5\87\86-\8df{»eÛöí\89\9b×-gº\9c\15vYb7ß\7f³ËLÕõËg\8fïO\8c\8bðw\83\9e55ªjU¯Z\856·m÷A£§Î\v\8aX³y×Á\13g°6õÆÕ\8bg\8e'm_\1f\13ê\ 5§¤uc\ 3b\8dJfÓ\1cú\ e\9f8\93¹ÆË\98k¼<6:réâððÅK\99}[\17¿uÛ\8e\9d;¶Æ¯\89^ä3k\82#|\8ctvÙê»Û¶\97¤Ì\87\98©º~ãÚ¥3ÇömY½Äoöø¡=Ú1õ¬Y½*{\ 2©\e4ïÄÜà9¾\8bWÄï<xòÜ\95ÔÛ÷îß¿{û\ 6[¾7aÕ\12¿9\13\1c{uhV_«T(ÔÆÆ­»ô\87Þ\870gq5ó\16W.\8f\89\8e\8a\8a\8e]\19·asâ\8e]»wíà1\13ö¨îÒ²\81Ê\8aáôtì"\96¡¶kËL\95;LÕÁäóW®_¿zñôQöû\17û΢k\17ìV«V£®®\11Ê ¦z\86DÁ·>wõæ½\a\8f\9f<~ôý\9d\e\17O±£\1e\15<w\8aS?\87\96\8d\8c\1a\95\9a¹^íº\ f\1aE%bp\9fÖ¯_\e·fÕªU«ãÖ3EÞ¹{Ï\9e\13ÖÅ\86û¹¹H\ 5®Ö(Å\7f\a»x\10µÁE\14\10ÉîÝ\93ç._»vEbwÁ¬qtí\82Ýêµ\98.·ë1tü¬\ 5á+7ï9zæÊÍû\8f\9e>\7fñü\87'\ fn_;wl\ f»¦qoukÛ¤\81^«3Ú5ïØk("×Kb×l`WìæMñ\e7lØ\18¿\19ÌîÝ¿\7f/ìù²Pï\19¸Ùíx¦Ñ\8aº\9cVÈÌÝ\8cñ³ý\96®IÜ\7fâ쥫W¯\H9º\87³;ÄdkkÔV×kÖ¡Ïp\17÷ÀÈ8æ\8e\L½÷è\87\97?¾þñå\ f\8fï§^LNÚºf)S~¦ÍÍ\eÕ3\18\eØ·êÜ\17ï¿ÐÈUë7oe\86iû¶DFÛvìÚ³/éÀ\81¤};·nX±D2T\19Ê\99¬ÂmZ\15
+J\13»\fÂë~UÂÞc§/\¾r\99±\8bÃèKg·\89QU»f\8d\9a\rZ8ô\eé:/$zî#g®Ü~øìåë\9f~þéõËg\ fï\=sxǺe\81î\93F0O²IÃú\r\1a5CÆk²»_8êî\99òîÝ»wÏ\1eö¿÷'\1d<tøð¡\ 3{w$ÄESãA϶0Te¬Q½ü6»ü\89`hæÐ\1f/¢å\9bv\1f>uîÒåK\8cÝ}[Ö\90eîÍl\8f¦n­Zµ\95:»V]\ 6\8e¦e{\8f\9f¿~ïñó\1f\7fúå×_~zýâñ½ëç\8eíÞ\18\13âéê< [Ûæ\8dí\1a5iɼ/\18ñ¥+7&îÚwàà!¢Ã\87\8f\1c=vüØÑÃ\aöl\8b_\15\118×Õ¹ÿ[\95øVd\97\1e\80\15kéè½Ë¶\8dÙª\93g.^ºtá4=ï\83æN\86í±Ó«êÖ©«64nÓmðX<\9c¶ìO¾xóû§/ßüòÛï¿ýòæåÓïS/\9eØ·yÅ"oæ2ôèЪ©}\93æm:÷\196\1e7t\ÂÎý\87\8e\1e?q\92(99ù\14óL\8e\1cؽu]LXZ\13MY+U\9f¤±Ë{\1d\v\97D\86¨mOت\88¸­û\8e¥Àu8m~ÞÃöÔ×R\1a\v^!\1eN«·\1e8uùÖÃ\1f~üù×ßÿñû¯?ÿøÃÃ[\97\93\93¶°Ã>s¼co\876-\9a5oÕ¡Û\0'4U,ß°}ßáãÉ)gÎ\9aèÌéS'\8eìGh7h\1e\9cÔ\8f*ªý\bvÓw!te\87×'|%Óæä³\17.^8sòЮM+\17û²·YïN-\1a\19u\1a­¡a³\ e½\1c'0\8b\16·í`Ê\95Û\8f\9eÿøóoÿøç?~ûåõóG·¯¤\1cHd¶jÎÄáýº¶oÕ¢U[\a¦Ë®s\ 3#V'ì>x<åì\85K\97\99M`téâ\85³)'\ e§Evß*M·\12·ü&\92:\88¨HÞÕ\93ióö¤ã§Ï]¸pöÔѽ[ã\96!ô:°[»fvõ\f\86ú\8d[vê=|¢\eÞ\89\87N_½óèùë_Àîï¿°Ã{çêéCÛ×F\ 4¸Mr\1aнSÛÖm:tí;lÜ\fïÐèuÛö3\85¹Ä\9c\97TF7®_»réüé\13\aw'¬Y\16ì9uÔÀ.­Ì­\1dÖ(PHÏ.ï+¥¢ªvÐfÿ¥«·ì=\92|ö<ùÁ;6.\ f[0kÂð¾\9dÛ4kÔ°a£¦mºô\e\9d]ÏÛÁîcÆîï`÷×7/\1eß½F¦9Èc\8aó ^\9d;´ëàÐ\93éòlßð\15ñ»\ e%\9f»|ýæí;wïÞ½sûVêµËçS\8e%±?\1eî;\a\96\90WL\17²Xwð\9f±K]Ã6\94á\188fúüE±\ew\1c`Û{þü\99äÃ{·Ä-\v\9e7uÌ\90^\ em\9a7iÒ´eûî\ 3FNñ`Ïâ\1d\87Ï\»ûø\ 5Øý×?\19»/\9fÜ»~öÈÎ\rQlùè!}ºuêèеÏ\90Ñ®\1e\81\11k¶ \1etýÖÝï\1f<|øàûûwoݸrþÔ\11¨\8eisÕ\1fÕ·\93yvy\v<׿¦\1dû\8c\98ìÁ<\88­´½çi{ãW,ös\9bì<¨§C»Ö-[µsè\85«%\98ù\9afvÿif÷ÜÑ]\e¢C<§\8duì×£Kç®=\a\f\1f?Ã+\94\9d\8e\83É\17®Ý\82»ù\949\9c\ fîßNeÏ­\83;ãWÐæöj\9fU\9bËK¾¨Kºb\rµ]ëî\83ÇÍô       cοi{\8fìK\\17½pþ¬\89N\ 3{uéÔ¡\83C÷~ÃÆM÷
+\8dÙ°óÈY°û\86Øýǯ?½|zï\ 6cwc\fó       Ç\ f\1fØ»{·\1e}\a;O\9a³ \1c±MænÞ{øäÙ\ fÏ\7f\ 4\ eöeöþ@\10Û3£Y¶òæ\9a\ 1B¤JjtôÌ\rZ¶v«tzO\9f@&\81=YfLp\1aÔ§G7°0Òe¶Ï¢åñ»\8f\9e½~ïIzvïß8\7flw|ì¢ù3':\rî׫W\9f\81ÃÆNev\19Á¾ó×ï<xòÃ\8b\97/_>\7föøû;×/\9e:¼k\13ÛÜÙ¼-9\8b6WÒfôî¢U\19m\ 1pÿñ¶;\ 1ã|\8e\f
+skçM\9f0rèÀ~ýú\ f\1e1ÖÕÃ\7f1{ \1c;Gìþ\9a\91ÝMËÃ|fO\1aå8°_ß\ 1C\9dÙS7\14~KÊå\9b÷\1fÿðâÕ\8f?¾zÁؽuõÜ )Cá< s\86͵â-$±\9b\ 63P¯9s\88§Ì\vfÛ»ïè)ܽì2Ú\97¸>6Ü\7fî\f\97ÑNÃ\1c\879\8d\9d4Ë+8\92Y\9f\13\17nÜgNUFv÷`Ëܦ\8c\191dàÀ!L2î~\8bWlÚsôìµ;\ f\9f¾xõúÍë\1f_<{t/õRÊa\84°\17Ì\1aï(µØgÍæ\9a±g\98ß\©\16
+|\87\9a·÷Ì\85\8b\97.\9c=yxÏÖµ1aþófM\990vÌØñ\93gÌõ\v\8bY¿ý\0÷!\7fúÕdªÀîñ=\9bW.öó\98:Þy¸£ã\88Ñ\93f2ÉÄ%&\9d¼\90zÿñsÆíOo~|ñôá\9dkçO$\91\7f\8aø#¼å¬Ú\³±B\ 4§zºíMÜw4\85\1e
+gØñMX\e\13\1eàí>sª«ë´Ys\17\84D¬Ú´ëðéË·\1e<{õ\16»{7¯b\9a?Ãe¬³ÓÈÑ\13§¹û\85ÅnÜyøô\95Û\ f\9e¾øñÍO?½yõüÉ÷7/\9f>\8ct\fÏ¥R¯lqË!r¼\9f]~\17eÜÞ]\87N\9e½\88w s\7fv1~\97\ 4ûzÍuw\9fëå\e²dùºÄ}ÇÏ]»óè\aò!Ó³\9bÀ\f\9b÷l×\89L\11&ºÎñ&µ?~îúÝG?¼bÜâ¥øèîõó'öo\8d\8b\bô\98ìD­\ eì)dÞ\k³KÆJÚÞô§7q?\9e½W¯2~\8f\1fܵeÝ\8aȰà\0?_ÿ \85Kcã637éâ\8d{¸vÓ³{áÄ>æ:\84\981ÅÅe\12Ò@ìu°ãà©KLíùæþø\ 2\9b\9br\b\ 1l<\9dLÍ£fÜ¢¬`÷\1dÛ»\92©+sü®1ÿ\16û»{ë\86Õ1\91KÂÂÂ\97,[¾vó\8e¤ãg¯Üz\80çßïiì¦^8\99\94È\9etþ^n3)1â·0*nËÞcg¯Þ¡0ÀO<\fpíÜñ}  «\97 O.õGI8>\19*.36s[\96ß·¶×\95¹Më¶%\1dG&ðÆõ+\17ÙùÝ»}óú5+bccW®Y\9f°cÿÑ\94\8b7  ttÍì^L>°}Ã\8a¥!¾\9eînn\1e^~¡\11+ãw\1c\98zÿÉóWüä"ÈsêàöõÌù\92ÜG  ±á\9b¯þ\9e¾àÒz\80É\19··Q[ª®ÂÍz$åÂÕ\e7oÞ¸vélòѤÝÛ\12â7¬ß\10¿9qWÒ\91Sç¯Ýf
\9a\8e®Äî÷7/\9dbOÆÕQaA¾ó½¼}\ 2B\97._\9f¸\8fmîí\aÏ^þøæ\rÌò\83ÛWÏ\1c5_Bííáa\940á`\99+\84Ó\97\f[\9cã·ïÞþÎü\1dxàä¹+7nݾuó:{À\9c8\9c´gç\8eíÛwìÞwðØ©óWá7¼ú >\15±ûÓ«g\ fn]>}dÏÖuË#ÃB\ 2\ 3\ 2\83Ã"\96¯Û²çð©K©÷ØÒ×oÞ¼~ù\ 3Ù©¤Ä¸È@\ fÊÅÔ\87\87QT*?ü"\r\94\1a\85¤_ehç¶,»éïÞ\9e\8e\13æø-Y\9d°÷Ø\99Ë7nݹ{çVêÕKçRN\1c=tðÀ\81\83\87\8f%\9f¹p\95¹Àì8òÍ\95Ø}xûêÙãI;6Å-_¶$<,|iÔ\8au    »\ e\9e<\7fí\ en!æbðK\88Û©ù\14lmd\ 2\ eÂæJÅÑèä6\97\f[\ 5\96:m{y\1dã\80QS½¨HãÔEöl»\7fÿÞ\9d[7®^:\7f&%ùäÉä\943ç/³ç\ró\92~d'÷\1fÿú×\1fäUý\88\9d»\90|xOb|ÜÊ\98è¨èå«7lÙu\80\994èÁË\1f_¿~ÅTùÎÕ³<Ù`ªç©fS\92\83#\82-ª¶L+\19&\j+ÀR§;½\95Ñ\8fÞk\18\ fZí?qî*^©\ f\1eÜ¿{;õÚ\95K\17/0OëÊõÔ;\88¦¿zC·Ð\1f\7füñ¯\7füöó\8f°B\97Ï\1c?°+qÓú¸5kâÖoJÜ}\80\ew\1f>cþãë\1fÙ\95{ïÆ\85\93\a¶­Ã\9bx\145SòK(\17/-ýÊT3\9c\97×\f\ 3\98Ú\1a\19·×ôÌ_\8e\87ÛåÔ»\ f\1e=~üèá÷l\8bo¦Þ¸qãæ­;÷\1f<~ÆîÑ\9fa\96ÿ\90Ø}\r3tíü)fÓ¶oݼiSBâν\a\8f\9f¾\88§Ðs
+½gð§¨\f^_§j¹\12\85  Øô+^Z\9a+w^sw3\95\f£½ù[\ e\96l9~Ó¶·,ï\15\eA\15\ f\9eb÷Í\83ÇO\9f=cïr\ 4"îÝ»wÿÁÃÇO\99v\82Û\7f\10·\8cÝß\7f
+¾ÿåsÉG\ fîÛ½sçÎÝ{\ f\1c9yæÒõÛß3UÆSè9Se\¹[V/\rp\9f\ 4\7f\8aptPGûÍ×ffQ3LÍͦöf`ËJàÁ\96å\97\ 3\92¡ñ±u·Áãf!¡@®"ÛÊç/^<\7fÎX~òøñã'O\9f=\7fùêõO¿ü
+\ fã\8f\7fÿûß\7f\90­ú\91íÞíë\97Î\9e:~ä\10³h\87\8e\9eH9wù\ 6ãö\99ôðcª\8c\8b\99]¹^T%m\ 2\r\9aúÖÑÉ-Õ\fÛØ\94'ôà"\85
+\98Á\83-ȯ\19Ú\81P\8d\10\93
+\89\91[ß?á/ÕW/_0®_¼`{õú§\9f\7fýÍÄí¿ÿøã\9fÐfv6ïßbwÖ\99S'O\9c8\99|úÜÅ«©w$n)\8bÄTùÈ.ºréQo\80?Ev
+\98\1aè[GÑ0Ç\ f®nk[]B\ fÎ\88Km!~MQ\9c¢¼û_\8a°o;\90|)\95\fë\eÐk"æ\1eýü\v\98ÅÁåì²ÃûËOxÛÝ»ÍLø\85óçÎ\9d¿péê\r\84§ÀíkRåÛ¤Êkð4\18Ù¯s\8b\ 6*æO\91\9db좠<_Aª£­R½f\1d\85R¥R)ëÖ®Q­²\rõûæµ8¿_p¬H\8e¯Ð\ 5%ea+7#\11Ä\9cEä½~\ 1ýü3ûÏ_±³¸p9·\926ÿÌ\ħ\8fî³Kúúµ«W¯]Oe6ý\11)\ 6î ö\10\fï1\14O\ 3Ô¥Õ®"Ù)\13·EK\96%ø`­¡^\83\86\r\eÔ7êÔ\8a\81\1eÌøÍmæ×"\f\9b¢8\12XH\1f§ÉT¹pä\fù÷Ì.ýf¢ß\7f§\9d\95\98ýÏ\7f\88]$N\98\1fñô1»³îÜft÷Þ÷\ f\9f<\83\1dôÃ\13RåÝÈJ Þ¿c³zxÔS½ÿ7fnËU¬VK©«ß\88Ú}[µhfßШAÉp\19 \aç6\83\7f[«4ßE¥8ÐÏÐñsü\97Æ%\1e8u\89^>0Ã\12ý\13¼\9avö?`\97øeêÌvñ\87§ìÒb\17õÃG\8f\9f\12³8\ 3¦\10ÆþDJJ\8c2\95ûÓæ~K\8d8yÁ-z\9bë5nÞº=á4wîÔ\ e%Ãh\80-[¢HAÆï7éÆ\15|*ÇR¾Hjäí<`ôôùa+\986_¸qÿ      \7f\v\80K"\>&fÿ÷\97©óo¿üüæÇ\97/\9eÿðìéÓ§Ï~xþ\ 2̲W\1f|eæ\82\\82÷È®ÜYHw75rxÞ|`\97¹\16\84Á]       %jM[wìÖ«ß\80A\83\ 6\rèÛ³K\87VM\0\1f\©lIðû\9d\84 c\89\97Ãß2 U¶ï=\82´y\17\85\93\9fsïø\ f\89ø\89ý·iJ\97´½¿ÿöëÏì\ 1Ï,8è\15xe'ýç\9f¥\87ÐYn§æN\ 1.\ 6
+h\99Y¦;\ 6\9d\1cÔÉmK¥¥]{\ ftt\1a5fÌ\98QNC\aôêÒ®yC\9dÄ/ÉækK½\1cL°«\84\8eÒºû\10¦Í\11Hô]¾ý\90\824fË\94\81Wi{\19¿8¿\8c»\9f ¾oÈ|3£Æþ\e¼rï±W.\9e\ 6¨)\1aÖ\9b0T+\97\ 3\ayr¡ë(\7f!`p×ÑÙµè ÁéN\9f1}ê¤ñÎ\8eý»wha§Wp õüyró\89\14é§\8e|Âö~)µP\99µye¾\13\888²wü?þõÇ\7f3\9a¶½Ðg¶Á¿1\ 6\89~å¶\8d±k\ eal\8dC6\17@+M\8cÊ\1aÀ·.\84¦#´r\14-U¾jmMÃæ\1d¨\90v\96»§÷|oO÷\99\ 3©\19\1dÎà·\18àûáE\7f+\ 1A}ñI\9et\ 6mæ¹ü\98\8d»\8f\9aÃç\7f¼\8bÕ\füþó\1fÿøýw³ù¦ÿ\a÷1Ìr
\ 6\8býÜ&\8d\1cÐ\95×<\ 3\9e¾P\81üùó\17(ÄÌTå\1a()ì>Ðiât\ ftH.Z\18\12àã1\ 3\9d$~ѳS\80¦\8e\98\1e\ e\9fôr0çòm`\9b{\f\9dàfJl"\8fûgìþGò6Àñ?Mæ\eÿ'Ø}Å\9e\86x    m_\1f³pþ¬ Ãû¡Ä[]\v%ü%\8a\15)\\b\98\12\80`Ð7nÓµ¿ÓÄ\19\9eþ\v\97DÅÄÆ\0ê\ e}\90C\18¿v:E\rôì\14Çt\17\fZ±ÀK)\9dmVÔ#O\83ùÍ[\93\92ÙU\84ÃûÏ\7fýov%~\89ãt\84ëéÍKzø\1fC\902ÄkÆxÆnÛ¦\rÐ\82S\89¹\88%\8b\17/^¢TÙ
+Pe\14[\8e\9fî\19\80\r\e7¬[\1d³4Äg\ eï\81eç·fÕ\8aå\ 1\12T´H!tÞ¥\9bÂñ±ü¦\83ÐhÚ±ïHW¯\85Ë7í9~>õ>Ò\ 58¼ÿ{\88¢ä_e \7fý\93¿\f¿§°N\ 2åÖÆ\ fïß­C\8bÆõ´
+\1a0Q¾l\99²eËW¬ZSU¯I»î\0\ f\8f\89\8bߺ}Ç\8eÄ\84õ+#C}æLr\1eÔ\ 3öJYÛ¶
+¦» ÕÐ"\ 3m$m.B½Ëm{ñúæ´Ìæ\9f²kæØLfvÙÑERhóª\88 ¯\99\13G\ eêÕ¹]\vû\ 6\ 6\8d¢v\8dêU+WªÄ\9e\ 45Qð\8frÑÙ\v\16E¯Mر7éà\81ý»·Å¯^\16:\7f\96\v\9a`[4b\1eV-ÛjU*U@se±"4få\9bOq¤3T¦´b¯Àt5'ï9¼ïb\99¢:\b\1a:¼kóêÈ\90ù³'\8f\19ÆnÓö­\9b5n\b\9f¸N­\1a5jÔ¬­Ð5hÖ¾\a\15aE¬Þ¼3éÈ\89\93¨\91Þ±iUD°×\8c #\98\84\84\94l=\13Q\85reèáð©üfÀ3\94®¢ý'/Þ|ðì\15nÞ÷³\9b\9eq<\fÓØÝ\9d°&j¡¯Çô\89£\86\rìÓ½s\87¶-\19ÇõôZµJ©RëêÛ·vè3lÂ,\9f\e¶'\1dC\9bÚ\99\92vįX\120wÚ¸aýºwd\12j`ÔkTi½\95Ü\91þxu6=òÓ®¢ÐØø=ÇÎßø\80Ãû.~ù³\1fì¦\1cÙ³emìâ@o·i.c\9c\1c\aõëÕ½sǶ­\9aÛÛ5¨g4ÖkhÏ\1c\8c\81Î\93Ýý\97®JØsäÔùKW® \eÿ¶õ1\8b\90Auìßá]«æM0ÏF§®\8bÞÊO\1f;ò7\13\98\13¿\8a\1c'ºg(:ùçG³{éôÑ}Û6®\8c\äïí>ÃuâØQ#\1c\a\ fèÓ³k§v­[4µ··oÚ²]çÞCÇLóDv*éÄÙË×Q\13~\81      )aMd\88÷¬I£\1d\aôêæÐ¡mköN²«¯WcìH\99tcG>v{¥«¨\1au|Rc\11{\15q?ò\83\ eï»Øe^Æ\99ã\avn^\e»ta\80\8f§Û¬iS&M\18ë<bèÀ¾\8cãömZ·nÓΡÇ\80\11\13fz/\8cA\ eíµ[wîÜN½zþäÁ\1d\e\97/F
+uôðAýz÷`Ϥöm[5k\_§¬YÕ¦ô§Îá0\1d^ª í\84\9aа\15  ûØáýþÙ«\9f\9c6\83]\9cÝ\17OP\9dpòÐ\9eÄø5±\11a!\ 1¾ó=çºÍ\9aÁ|âÑ#\86\ eèÓ£\8bC§N\9d»÷\1dììÂìrìÆ]\87O_J½\83èvêå3G÷n\89\8bZ¸ÀcºËX§a\83\aöïÃXv ^ReÍ*åy`ïãóÂæ\91\ 1\12nòdò#©\fãå\9bL\1e^b\97Gdï\¿\98r,i×Ö\8dq+¢#\16/
+\r\ eô_0ßÓ}Ö´Iã\9c\87±]ëÙ£g\9f\81ÃÆLqó\r_\1e¿ëÈéË7ï=xøàþíkÌ\19CmHÐ|÷é\93Ç\8fqv\1aî8dPÿ>Ý\1dÚ6od\80Û]Â\9c;üHvM\98\91\1cz\0~$;¼\1fâG¾\8bÝ\7fñ\90Ýû©\97Ï\9e<¼oçÖøukV.\8f\89Z\16±$|QHà\ 2\19\93Ç;\ fCCïÀ¡N㦺û!\91ÎË\92\1e=zp\97=\92qz£Â¨v`òÄñãÆ\8c\1eÉ4¢w×öÌï¨Ë\9eÌæ¹#\1fÅîÿ¥½\8a\14¦\82îÕ[\93¤âÖ?÷#ßÍî/o\98Ï|ÿ\163;Ç\ fíÛµm˦\8dëס%aåòè\88ð\10f¹¦³\1d\1eî8ÔqĨ      Ó<ü°»\87ÙîÞ\7føøñCö¯\9d\8có\8a¥¡þÞsçÌ\9c1mª+\ 6ø8\réÛ­}ó\ 6\9aZU>\15ô6\83\1fÙ©\9fóTæGnÞ{âBªù\11\989v\7fÿ\85\ 2Ðwn\>wêØ¡¤=»vlKܺuË\96\84ÍñëãV ?ÝsöÔ\89LM\9d\9cǺL÷ð\v\8bݰóPÊ%¶»\8f\1f?úþöuf¬vnZ\13½8ÄßÇk\9e\87»\eZg\99B\fíËç¬T(U¤À§T\9f¥A\82\12Æ;zm¢(¤q\8fWÈe\92]2Í/\9e>¼{óêÅ3ÉÇ\8f\1cLÚ¿o/Ñ\9e]Û·nZ·2*,\90Îeú¢\9e\83É\94»xüèÁ\9d\e\17S\ eïÙ²nŲðÐ@\7fß\ 5>>ì\19ì1{ÚÄQCú8ðÁ#TçðÑí¾\7fËØ\8d?dül\1eÒ¸rûáóÌ^ER@\96âí·)Þ~âØ\91#\87\ f\1f9rôèÑ#\87\ f2§xS\Ì\92`\1f\8f\99®.\13&¸L\99\97\89I'Ï_¿óý£Ç8¼\97Ï\1cÛ¿\9dYôHfàB\82\83\82\82\98\91ór\9fÎ<ï\1eí\9b
+ý(v©ù\84W8×5ò\90F8÷#3\7f\15\8cÃûäÁ\9dT)c\8a\ 4é\94Ó§O§$£q0aÝrâwêäI\93§2v\17.\8bÛ\8aTÍmvx\1f=¼wóÊÙ\13\av%¬_\1d\e\15±d1£pfâ\ 2æs\f>ªt(õi½ëæl\ 2ó#\9b\98C\1aæ\8aÀ\7feb{ͶêùÓ\87÷n]¿rñÜ\99Ó)))§Ï\9e;\7fñÒ¥\8bçÏ\9e:vp÷\96\8b\83|<fMã5[¡\91«\13Рt\v¦ù!»\8aÎ'\1fÞ»mÓºÕ+bÑ_\16\1d\1d\15¹tQÐ|7\ 2Ûµ×\9b\e\18>\9a]s{\82äGJ!\8d+\99¿\8a$véðÞ§lʹ³gÎ\9e=wáÒ\95kׯ£¦ç\fj¶â¢Ã\ 3¼=fÍ\98>c6/QÛÍLsê½\a\8c]\14\8b\9eÆ\85½i}ÜêUh0[\rØ\89°@¯Y\13\81¡R\9fz\8fòåb7ï§\854
+q?²Ë 1è-¢¶\92\a\99×f\93­ÂáM½z\19É#Ê\1e]O½u\e\97Î\9c8°sÓêe\vý¼ÜgÏ\9cå6\8f±»2\1eU\ 37\90V~ô½ùÂÞ\1c¿aýúõ\e\18­[³b\19áÂ\rJ\e\ 3òi\87÷+Sò\84B\1a\9eô*ú\80\0Ýÿ`\97ùU\8cÝ;©×._¤\ÙÅ+×RoݹwïÞ\9d[×/\9d>¶/q=;¾¾\9eîsæ¸{ú\86,]¹qÇÁä\v7¸­ºwë\1a»°\ fîݹmë\96\84\84-[Ø\1dFÝë\98X4¬w\1afÌ'\E\94<É/\854z\ ec¯"æXIÚ\9c9OãßÿNg\9aÍ»{ñÊõ\9bwî}OUúh\ 1ÇC8,ÐÇs®Ç<o\94b\11»d\9a©\95\92gÈ÷ìÚ¹cÇÎ\9d»víd÷W\L¸?Ú×;·¨'i3]E\1fÅoú\90F}j¶!m\96l3\ f7\7f\7f¤±\8bb\96sgqt/_K½Ã|â\87\ f\99®^\81Û´aE\ 4{)yyyù\ 4,\8a\\15ob÷É\93ÇÌÄ]c\17ö±C\aØ\85½o\7fRRÒþ½»\12ã1ÔfÆØ!ÝÛØ\91m. u¨|\f¿| !×f\83Y\9bÉ6\9b<\8d\8fc\97,óéÓgÎ_¼zãö½ï¹å½NÛËn_öPòYà\1f\1c\1eµzÓÎC`÷Áã§O\9f°Ó\v\aÅtaã¾>\94´{ëúå\8b©\v\ 3\a/3×B\7f\14¿¦º\85\8aæÖ1Øfx\1aRò$\13\877c^?åÔ©S)gÎ_ºvóÎ}°û=÷#¶m\\15Åܦ\80\80àEKc×&ì>\fSõðɳgÏ\9eàÐ_½xîô©ää\93Éɧ¨\99.     mþÁ\9eÓx\8f³T\87öÑ£rùÌG\9363Û<Ã'\1cÉ\93\vRü53Ûk~\13Ý»yíâ¹\94ä\13ÌË8uæüetÙàÍÃtõ|ò¡Ý ÌMdnSè¢%Q«6$î;\8a\8bèÑÓ\1f\9e?\7föä¡ÙÈ\9d=\a:\9bròÈþí\eMíeoU\19\ 6gHlc\9c\f\1a!7R*\90\1f¾½\12»/ð\ 4d·lòñ£Ì\81<\9e|úü\15Rgö¤½s\83\19çýÛ7±çBÄ\92%\11Q+ÖnÞ\89Ú³[÷y\ 1Ì\ fÐç[7®]½råòå+ì\7f]ºpæ$s£©½\89ºTØé\95j³>\96_s\15N\r\9e<IKlgÒX\99Øeo\ 4faSN\1c9tðàÁÃGO\9e¾@ü¢<íæÕsÉ\bt¬]\19\e\13\1d»rmü¶½\87O]àÕX¯^Q~\9c       åö­\9b©©¼£\ e\ 5¸hoB\9b
+z\90\90).Uô\13ø5k³ij\1dõëîáÆ*SÛkf\97½m.\9da\17JÒ¾½ûö\1f<Âø½\9aÊøÅ]Äü¦ã\avS©ÝjS©\1dt\99JíP}Æ\ e0¯èbt÷ÎíÔk\17O\1fÝ·\95\9a\90\bÕÑ\94*6OQÏ$¿æf\9b2<±Í^\81\0\87É`¬>\8cß4vo3®P4»\v\ 5fIGN\9eA\15Ò½û÷ïÝN½rþÔÑ\ 3»·oÙ\14\1f¿i˶ÝIGS.\»Í6\17­\1a?½yýê%*º\1e?"z\b}Àe\8dÞSÌàêëв¡\86æ\12Kü~\84\81N+\19ÄØ\8fn\80 \ 3°\13Zi\9e¼¤»è\ 3·\97ù\19æúÁ\v§\8e\1dØ»s;Zï÷0~ÏÂ<ß»\7f\8fm/w$ØÃ\7fÛö]{\ f\1c=uþÊM¶¹¼ÚçgÆ0U@üð\ 33ÔàûÁ=¦ÿ'\92(\9f8s¼#A
+Qnü£«\91Ì©@Þ\19È\8dÕ\86\9d\87Ï\\95º->|{\99\v\92b·¯\9eO>²\7f×¶-\9b7oÞ²\9dm!Z>oÝ\85+yó\1a\ e\1f\80\1fqàðñ\94sWRïRcÊÏ¿"ûÏ8~\8d"6ª\81x\ 1[}\8fG(\ 1s8mÌ`öî­§âµ\0éª\912É®©Ï\15\bä(_÷û\7fö®\ 2<j¬k³ß·û±Ëâî\f\f\93d\92\99à-ޏ\96R
+\94\85bÅ]\8b»;\14/-PÜÝ\9dâîÿÿ{n2R´\ 3\1dÒaçì³@;\99äÈ{\8fÜ{îÍ´E«·\1f<ué\96²SÊaqÙÔë\96õ«VDFD,\8fZ»yǾ#lø28\9f?}òè¡\ 3ûöîÝwàбè³\97®Ý¢f~jÌ£ÅqK\a\ 4ëáyöô\11ù½SÔ\17¿`\1aRÉÖþµ+©ò¦I\91TéÎqX^»\9e2Ö¾Þ-tÂ<\16\8b®)\e²ck^J«\14qQ§ïÜ´feÄÒ%KÂ#£ÖmÙ\r8S³4\9cеËp·'\8f\1f¥R\98¥ Ô5ú\82µ!*\1d\0\96\ e\b\12\9b\9aÀ©µöà\8eu´·\9b^ç£Ê\9b\8dÉû9\8bd1\9cUÉJ¨\13ú\8d\9a\81Xtè´eg\98#â¾TÄÝ¿cãêÈ¥([\17-\8d\½q;\99÷òõ\9b·©T¸zé¹3§O\9dB!\f\8bß&i_ýú\9bµ\a\0"+=\10\10[Ùy¥LQ\86Ï\9d4\9cÞ¹Y\8bÉK³ì\9f'oÌöõ²5\9a´éÁbÑ^k×Q,Í«\88û\94Ä=¶\7fû\86¨\88Å\vÂÂæ/
+_\ 1ó\1e ½vó6s·j³ô¥ËW¯ßB:ŤýÝÚÈõ§¥\ 5\8253½|ÆÚI\8fQ4\9a3qX\9fN­È¾E\ 4Ï·äu\10ͶþfÄ":\beéÚ\9dÖT#\96æµ\88{\9b\89»>jÙ¢ùóæÎ[°$rõ¦\9d\a\8e\9fAU{ç\1eµ\r«½Ò7 ý}
+¸LÚ¿¬\8d\6±©\19ñåÓGlÛä\9eÍ´ ò®¼\8e/\82Ú¶1gg¯ ¢Ä\99õÐ9\98jPà}óòéCÖF\ 6ë.[\146wÎÜù\8b"Vm mJ\10÷Þ\83\87\14c\94Èzï>\12\f·HûV\vÄ_jó%-L\<e\91·o'\8cßÊ>_$¯]\7f³²K}àØÙ¨òí\9aÊbc^&®²\våÄ\81\1d\eWE,\9e\ f\16-\8bÚ°}ßQ\88{û>Rc\ 4\98'\8f)´>Fâøüå«_ß°\1d,\7fÿó6\91À\8a¼\ fî°=ÏLÞá¬}£²OQU^ë¢oìåU·\8eYv©[Û×íR\r\aÄ}t÷Ú\85\93\awmZ\13¹dAؼyó\17\93\1d;}éú\9d\a$!\92E\16Z\9fS·ô¯jgøß1zÖl\ 23y\95u6&ï\1cÈÛù\våµ¼dǶK\9d\9dëÃ\1a~ÕI\9cØ ù\1fË.\94\e\b\95{¶Òκ\85ó\17,Zº|õ¦\1d\a\8e\9d¡ìé\89Ò(ª\105\16Úu\86¿s;\8b¼4»É䥦\809\93\86÷ëÜ\9aäexfù\95£îʶK]yy\1dê":Ýi;b\91µ.\8a\95¸\7fªÍ7v\9bn\96F ðî:xâÜ\15ÚjFÉâ\e\95¨ÝÎÖ,ý\9eûY\9a§-ò\1eÙ³\ 5þyÒ\b«¼È7Ò[N½wèíªJ,RR\8d\98uÑýXOâ°É9æ\9ai\82|ÏÖ\r«)­\8a¤}\84¨\ 4.°]̯\94ôéw¥¯Ð®Yúý7´4O3y/2yÃçNVåEüÍ\9f\93ú¤\13ÿä »²«òíê"uJ2¶\8b\9f\ 2õ    ^:}ìÀ®­\eÖ®\8a\8aZ½vã6dUg.]§J@ÙÅ¡\92Ò-ý!aíäU\97Ú.\9e>º×"/åW´,\98#óg41ا\1a<ë²ê5bê¢UjÛQ,'ØÙB\82Ò°p\95f\8cwmÛL\13¨\9b·íÚ\7f4úü\95\1e?£ôÉ\92Pغ¥?vK\v\9e_XäݺÆ\9a_Uð2\17b\8dá\ e\ f\1a%K]䣬õ² væ\9bß|²\89NaNY&¢\rq\97Ï\9e<r\80\96<·mß¹çÀ\91\93(|ضÉ7¶\84â}ÍÒ\1f\95\97f\85HÞÕáðW}C\82\1a×@¹¯gå~â\9f\1c}7²íü\1f:\9b»y\88Úvtîú½Ç±m;²í©º}\8dMW±Âgÿ¡c'Ï^T
+\1fe#á\a\1aÃ?./\9bãdònaùdï\8e-\94rß¾iÃ\ 1óZê¢|ôÚØ·Ú\8eb?x\95EÏ{·Ø¢'+|\8e\9d8u\8e2*\8bqßï\86c)/ëÚ¢³\88Æ\ féÙ\9eÞ"X\84Wgë\1c6¯ÝiVÊQtóW"Ó°¬õÆN\uáäѽÛׯ\d\85Ï©3ç. Ì£\98ËFîß\ eõk½#¯¥ceæØÁTîW¢ýg\96Ã\1a\1c\ f\96W\ 4*\9b1\94öueðÆÚW)\9bn\9e\7f\a¥Þå\8b Z\12Sv\89²äØQiß\92\97\95ûÔQ;}ô\0:\7f¿\që+v\1c7ïO\8ao.V¡N³\8eJÛÑ1¥á7\96\89\ 63/\93÷ñÃ{wPø\¿~ýÆ­Û(ó\9eXw\89:,îÛò^\88>´s\83\97uOVj\87[®ìÚ×\8bX\ e#_³ó\88mi;VâZäes\8alJ\91*\1f*ó^[v\89:*íÿýc'/å\et®ÌZ¶ã®­²ãÎî¤\15\aĵ¶\1dÑà¥\86_ZÚVºõc+®º©ê\rM±)s\8a´¥J©|,µ\80Ãâþ\9f¥?\\89¿·Yû¿²\9f\92^\90¥\9c:éèÁ\84Ö7¼ä( yWQ»õ·\1cPûRb×u¤ÊË6\19Ñ,ê{+\1fÇŵ\97\17aNÙËb;HG=SÔÁóqßz+Fç\81ã¨/Eéo&×\1c[¾,\9b\8chv\8dU>¯?Zù8$¯²\99\85¶õo_»tÖXv\92\8e\8f¬\1eÓîXËÕÛGüö\1fÃ6'8Ô\11j©Ëi\8a\8df׬\95Ï\1f\1f®|b)®E^e7\v\9d?\126ihÏ`öB      \8fÏ8ìÙú&\81<\ 6vÄ/½I`\9dê\9acÝ2¨Î¿(۪ش¢e\9fèG\8b\81ØÜÖ~\7fÇ¥S\a·+Ç\85\aª¯\vIíhË\95ms\82rÄ/¹æµ\8e¹f\ec\7f[f\15\95Êç¯O\97\ 3±\12×r(ËÕ³Gwo\88\983nP\97 \86UY\93J\1aG_l¤¾\ 5DuÍ~mè0[j\80µ¥\91±Hè­ó.vÛªb\96\ 4\8e¦\901nÊÌûüñ½ë\17è@ì°ICº·nLçÒ«gy;Ô\82¤¼zÙò\8e\97_(\8d´v¯¿QÒ¿XÑß\1f¢X~ÿ÷üË\8af:/+jÁ\94a=\83\9bÔ(SÄ\90Gyã\9cÃâ*oða[O\94&«ý'Ù\16æ_í÷ô~\82þú\0Åòë\1f¹ß\9fj®Á\ 6ï¶U\8b¦\ eïÕÖ¿fÙ"\86¼Ö7h8 ®ý\9bäêÓ«\ 4\131¯Ý¡ó\8cì¦!´ ?,K\v¿²\r\1e\97¢\99¸#zµmZ³lQî3Åý\9f\8d¥\v\87¶0_F­Êf\99ì\ e x\1fý\16[úÀ÷cqKZ8²\9ca·5já\94/´n\8cöf:\89z\95rªç\ 3¶¾þZs¢#ìPnÑ2Ô^rUC{´iâ[\86½\ eÆñ±km¡£"A9ú\87ö\82\9c¾x\9d\9dbJ'\9ehK´Ðm9Iu\17½\84ep×_\1a!­RßJæXsh\8cã\16Ø+MÙ1t\a\8e\9f¹tíæ\1d:üçáÃGZ\92ÒÁ@\rÄÔN\8a"atÿN-éÄçÏzû\8d*®õ@ã\90~£¦Ñ\9b\ 2\15t\98\95ÖÄ\16\88ÏÓ[UÖ[_\¨¾¾ÞÑÖ_ëd35áTªÛ\8c\ e\ f\9f½t\15\9d\95®\9c\1e~\19tEKº|ùÒÅ\vçN\9f8¼oÇ\86\15\v§Ó{\aè\98ÜÏ{¯­mé$¿±xù\9aM~éÒ\7fÔ\94yá«6nÛ½ÿð±ã'£O\81NkHx|ôÉ\13G\ fïßµuý
+zc\buãTñV[C\1d}A\8au\9d\97\96ñKWm@o\17\1a3uÞÒ\15ô^\87Ý{÷í? ¾ì@;:p`ÿÞÝ;¶lX\1d¹p\16-~¶j\£\9cò¾qµ¯Û\ 1\aÞfË£7)¯©ï\1d:Fy3\16½bgó\96-[µ¦-\9b7®_\13\15¹xÞô ÃÙ\9e\f\8du6ÃAqia,]\96\\ 5\8cEËT­×´u§^\83GN 7Ä-    \8f\88\¾bÅJ­iÅò\88ð%\væÎ\984fHß.ÁÍêW+S̨\9eÙçàû`,˼)èuº\ 6sÉò¾\r\ 2ZwìÑ\7fÈȱ\93¦N\9f5{î¼ya ù\1aRXØ<öÚ® £\87\rìÕ©M³\ 6¾åJ\98ôÖ\89f\87{4¨'%Yê\fYs{
+EJU¬Q¿iP»Î=û\ e\1c2|ä\98±ãÆO\980Qk\9a0~Ü\18zÍd¯.í[5­ï[Þ\8b­\ 2\8c`\11\17\837eÚÌÙóéÅ¢¥*T¯Û8°UÛ\8e]º÷êÓoÀÀA\83\ 6\ f\1e\1cª%\r\1e<hà\80~}zvëÔî\97ÀÆuª\95ó\92©\87NYãutg/\89KhN\9e\9aNÏ*$\15õ.W¥f½Æ\ 1Í[µiÛ¾cH§Î]ºtéª-uéÒ¹SÇöÁ¿´\bh\¯\ 6\9d¯¡v\94±%O\aûõ\95ÁûÓÏÉR¦Í\98-WþBÆÂ%J\97¯â[»~C?ÿ\80Àæ-Z¶l\19Ĩ\956D\8fnÙ¢y`@\93ÆõkûV.ç]ÌÄ\15È­Ë\94öóvå«h\86yS¥Ë\94-\97GA^*R¢TÙ
+\95«ùÖ¬U§n½zõë×o 1Õ¯W·N­\1aÕ«T(ã]L6\16òÈ\95\rÒªg.8ÞëKh¦C\1c\95×\83ç×ó¢\´\84W©ÒeË\95¯P±R¥Ê
+UÑ\86èÑ\95*U¬P®\8c\8fw\89"f£¡@Þ\9cY3\92´\89\12\91\vt\12\vy\93&O\956C\16]Î<\1e\9e\85x£d\96\8b\14-V¼D\89\12%\89¼´#<½\ 4½\98]\96\8c\9c¾@^:æ)MJv\90ægur3ó*\87t¦L\93.cælÙsåÉ\97ß³`!:»R\10\8c QS2\1a\ 5\81çèô\9c|¹sèØ±¡I\13'úÌÓa\14óþ@öM\ 2\ 3§I\97!S\96¬º\1c9såÎ\937_>\ f\ f\8füÚ\13;!5wÎìºw\ f\85uPZf^E^v\9a\94©Ò¤M\9f!c¦ÌY²fÍFGÏf×\9etºltþmÆ\féÒ¤Jù\85GþÚÉKGE+Ç'§N\936mºtéÓ³\93\85\892jEìééÓ§K\976\r;\98íK\ ftV\ eîÿï\7fÕ\83À\95ñ\93\14)R\82\aJ\992E\8aäì\fº/?®Û*/;\r<!\1dc\99èç\9féÀC¢¤ñ\80\88\8fÄ\89\7fþ\99NcÿòÃØ-ofP$þ\81\1dlÿ#è'F\89´'ÆÇ\8f?ÆÙQûÖWQX\ eógG¡Ç/RÞ¤`;\ eõ\8b\8dñö\rõ\9d\14ßÇ+\8aë×dØ¿Xå?ñ\93\9cñ\12\94ïâ7Å¥¨.L¹s\97\ enæã\1fâ\9f¤n¹$¹½Ê\8b~øÙ׿cH`\87$U\92äö+äÕ!Ä'( $¨m°\7f\87nºÂø\15§+ä\eèßZ\97O¹L\87+tU;\ 4µ\b
+Æ/k\ 4ø·\ eôÐyâº"ø?I­÷ß#\9fAoâ$ÁlÔ\19ô\ 6Föÿ0q\1co\16uFYÖ\e\813èD\99ó ¯é9A6\v¼\87®P\8d\90\ eAÁ-tù¼\9aµm\1aXµi«À\80\90Êþø]Wåá\85êV®T«¼\8f®°._kÿn\81\1d8?ÞÏCW\ 4×\97ç\f~`\b\1fªWÚ³¦+T¥m\88o`@Û\ eÍ\ 2\9bÅæã|mØC\eZ\ 5\12=\rô\9f*\83Að´Já     !\18ÿL\12¡¡\87\9d\14!\1dü\83;6oÛ¡\8dª:]¾\1aµËúy\85àã¦\9dB\ 2;\12\131>²û\ 5©Ù ãt\ 6ö_ÝnIØ_Í\92Hº|\1eººuð±Aç\15\88¿:½÷\9fù\95\7fWe\7fÒ]xå.ôc\vüi\14\fzA0q²Ià\f¼Èé8Þ 7ò\ 6\813\9adÙ`âumè*#®2\99p\99 Ê\82`ÆU\82^àxÎ,\18e³d4é\8c\ 2¯7\9a9£l0
+\92$á>\82Q/K¢Ì\eyÜH2â
+Ao\92\r\92Ìñ¢d\14e\1dgäõ\9cdàész/¹®\14ã\87×ófAæ$¨[\92x\1d'òz\917\98e³(\99Á¨ÎÈ\eõì\8e¼Ù ò\9cI\87\17\92Q0\835\13Xáy\88ÄËf³\993\9b\rx\90É \97\ 5Ià̲\8c/\bÊ\838³Þh2á/£Iàq_Î$ã6\82$òF\83\ 4\9d\913éM\12oâyI\96Í\1cX1Ëz\11\15$´Ãs\9c\8c\v\8czÉdæ\f\9cÉd\16Iw²Y/\1ae\93A\16L\ 63gy\10¯7ÈF³ÌË&ÎÄ\v:Þ ê¡\0<\8b\13\ 5ÑhÖ\19\rÀ\90Á q&Ñ \8a\82IÇã+&É \1a \1dÈ\84'á+\10M\16xI\14¡\b\aÖC#x(X\13\8d¢ò$\ 3\14\ 1þ$\92ÛdÆ\93xIÏÉ\9cQ\92\r²,BFA6éÁ\8a\19f\83á\ 5£\8e\87\95 z\83\811-Ó\93\80bI2Éf\83     ¦æu¼QÐ\132`dN2J\92ú$^/\99%\8eÇ\1f<gÄ\93DA\8f§\998\ 34g\94\18ÃFY2ÑO<n­ã%Ao\90̰\0\v$´Io\0\94\8c°"ý­ãMx\90\f\89E£   ÖæTåqzÞ\0£A«x(î\ 3+\199\81\13$XÁ$Ã\8d\18\0+\ 1h\10$3\f\ 2ÕÈ\ 2´        8\eq\15TÊÔ+\ 3\93"O\12\188\\ 1µ\b@.dâÁ *\92Y\ fÌ\19\ff\80V\ 2î\81B=\84ã$Q\12\ 5A\ 4Çd\15B\fF\ 3ô        ¡ef\7f\1ej1àù\ 4\b     ÷\90Í@\10o\92\ 2Äàû¼(\8b\80\83¬>    #L2H\92Ùd\12Í&\99ø¡\e\ 3\10f\1eã\80\80\a$\ 2\1a"F\18\94\aÕ\98Á\e\86(F\ f~-\11Ä¡\16\19\83\r\10\129\11v4\9bô030#C\8f\92ª<\8c\14\89\87\99pg Ða\82Ã\1cô#þ\97yÜG\ 2ÐÀ\1f,g2\8a*ÃÀ\94\897\0\9c\ 6#\eLx\8c,ah\19%B¯\99\84\ 6Û"ô\v\ f \9aɤ\17D\83\11\80\81ýp\91É\ 4EÀAbР  "Æ(L\ 6\9c\19\f\ 2P@»\12\9el\84Â\0;   \ 3\8b\r\80\81dæ8Nà!´\88\12\ 2/\ 2<\92Y}\10\8c\v=\18L4\98\15ÜAIð^\18q0\ 2n#\ 2®\1c\86¼\0<s¸\r¼\fÙÝ\88»\18\ 4X\9f\8c\17ð\9c\f[\134q\ fp\86ad6ÃÓØ$\82É`
\88\8c\88`\17\83\83ÃÀ#8`°\93îÌ\ 6³A Ý\19e½A\ 4\1ed8\10È¡ØQ¦!n\90\15à\19Íô\v¸1\93\19¾Ôhõ\ fÐ,\86\ 1\1c\9c\111\937b\b\9a¡\1cø\1e8`\f&\ 1ÖÆ \ 1'\ 6|\918F8åD\80\10X\84Òa%¨\17\83Þ9£\99ç\99Ô\18\9b`\8blÇY\80Çé!6Ø\ 5Â\ 5B\8d\0!qK£\f§Ç\e\15\88\e\ 1\18øNø1³â\1f \11a
+\18æ\15§\b,\83\ 1\8f\87\8fÁ\80\84´&ø\16ÜO}\104\8aï\9bÈicÐã"\9e\ 5\ 3\8e3\92\ 3\95\18ðàéà\9e%\8ep\ e\87\ 6Gd2Á\8aF³@Ö¦p\ 1\89\8d\b<@$\fc\0\ 4â\99\80cÕJ\82¨\87Ý)2\190zDv\91$\9a14\ 4\8aFÀ/Ü\97\81\96á\17És\8a°6l\86gAe\80\rg)r\1cìm"hBDB\98A\ 4ôàÈÔ'É\ 4{\f\148gü\ 3"\19¡L\81#\80\92£Ñ\11\1a\85\rÈ,0%0øBÛ\ 2\ 4\a\ 3\
+@\ 4nA÷\14e\9a\8b5SøR\1e\ 4Û"ºräÌ\80~#sÀ\ 6 \1d\ 3]b AìÔÓ\f¢d\92L\b§"\83\95\88Ð\ 6m"X  ðx\12Â\ 5F,\1c\1e\eéÊ \80\84\1c\86\1eã\85=I2éi\ 4#å2`8+\1cÃÿB\19\90\ 2@×Áåë\ 53,&C½\ 6\1a*\10\1a²\ 1\94FR\ 5®\90døg \85\87C\13\89\17Ø\11n\rpF$\87\82Õ'\99!\93dä0.x2%\87@\85\aÃ{ñfØ\1f·\ 1~1öxh\14ò\92±\r\80<\90\b1x\8c\8a\89\ 1\1c!Y"å\19\8c\88&\18ö\9c\9b9D\19\19±\ 1>\vC\11WáÉ\0\1ab\8cA"\80ésà\ 3·\96áP  \ e\92\1e \97(p\19)Èc\ 4BÝ2taÀ $ýó"|-R\r\99"°¬\ 2Ï,bðÃQq\84i\ 2\1ee7\1cà\f·(\90Ã\93\rt_\ 3\8d,\8c\19Å\8c\1c\ 2\aÐ\8b\f   \ 3\85n\81\7f\18\89WX\15¹\97\1eÃ\fN\8d\85-\15\ff¤2ð\ 4\18\ 3\18>Fº
+ÏåØ\ 4²\ 1Þ\89\ 4Bz$\11\10\81Ã\86\87ÕÃ]\92\93A^\80Ì\0ã\19c\ 4.    c\8f\83oa÷\0Ïä\9dá\16ÍjD\87ãç\8d\84p\0\1ff`þ\ eà\82õ¡r
+]t\85\19\91\ e&AÞ!\b,`CE¸\ 2àä\90Ð\ 1&H\ 2\90h@[&\89²\v      °C\1c%\r\81\v!Úa\18S¨3\92÷ÇUH.áB1\92Ì05U\ 6l\88b\1c\ 3\95\14Ñ%Jv\10\17D\1e7\93dv\ 14\ f\ 4Q\0§\b
+¡Á4¢=\1c\1eA\99\1e$"Iá\10\v\b\87fE$\84\ 6hWÄ}\8cì>à\ 2ÜSFDqË\88Ø\80Ï)¼áñÀ7"&\90\86!\a\ e°3ÒF3\e¿¸NT\95G        \ 5\f\84á\88\81\fn\13ñ\9eP\ 6\8dÂ7 '¡à\81A-B\99\10\89' "ñÂõ\18ùf\1dð©7\92\8b¢\93õI)p«\b\9cÐ\90\80 Jd¢|\ e\88\81¥\90û²çÐÐ5AYd_Ü\ 6\99\ 2\ 5n`\eY\9cÈ`Ç\84\ 1¸\91­ã
+\8aÄÈP\8c0\ 1ýÏ\82     \f\ 3ÒO^qwÐ\b\14
+\87\88\18\8a`EÀ\ 3>XrF\99.¾&\92K\87\8bÂHÇ\97E^±\12¢
+Â1\ 5;\8e]\ 1\9c\18(óE
+G\801ëÁ\82 £Ñ\b\7f§<\88'\9fÃò0@\16I5Ë/Ì2¹bè\vº#Vð\1d\13\ 5\86&\96ÅÐ\ 2\16\ 5D3å¬p°zÊ\93\81[\f\16òà4ø \ 1ø\ f°Ì©p d\18ÃÅ@\0\85¤ì>¸§\ 1ãX \a§\ 3Ô\91\98Sd\ 6\14\81E\\ 1¡\81*¸H\8cK#.0\10\1aÌ\14-\91N\9b\86x@Y»\bÉ%ë\83DÊNE\11w'ÝQ&\89,\ 2Ê\83§\82"D¸c\ 3enô65*º\90\8b#]¦4\ 5\88\83'Qb\ 6\0\81\1d\94ºqHÝ(A\ 2\ eáç\95'Q\88\81\18ø%>"\r#QÄ3\10u\11\ f('¡+L,\88"\ eCz\A\91ÀHA\1f\0;\1aY.\ 1\1e\11dEv\85LÙ(\9c\er\r^}\10PDÉ1F¤É@I\1fËHe\fGxU\1aI\88\11\94\0\9aix\8aT\e\91­\11jI·à\96\93\19'ȹEò8\94x3÷\81\11\ fØR\1al\90­ºÃP\a\1c0æ8\89c.\84\12\1d\98Ú@ÑZ$o\8cÔ\a9\v²]*\e\90u\91\1f!l"\ 5\81r\91^³¤\9cª4QdI\ e\f!ÑÊ\1f*Z\15v\94Æ`üÊäøñx\8c7E \b\894\86ð\8dq\82$\ 1.\eE\v©\ 5·¥\14F$\84\ 1Ól¨Q\fCò#È`\93Um2%\87ð]àÞhuB\88§\18\9f"}\89¢\16\\12 \ 4Å\18¨ÞBE\86ò
+\12Pâ@U1ù6\ 4\ e\9e\90ÊQÆ%Óø¤\1a\14\8e\99ê[Ä_ P\82\1f£<Ãh´\ 6$*qàp\904àá\1c\85B`ÔD   +Â\ e\9bo\81\vC\10eAHÂ\15\12\18}\94ñ\91@¤j\91
+Oª´©Þ\15h*\80§È\aKZ\ 4\82c2²2\1e\81U\96\18;p\14({\ 4\8a£À\1cÒ^DPTJpl">g\ 1Õ@6C\1c\11\99\81\0\ 4<\bqÃHå9±NaE0±bA\ 1\ 2\vR\82D\15\12®¢ä\15£\83\95=\12s\v\88{\b\7f\0a\ 4#\ 3#
+\88\82\19täZ \ e
++\1aÓ4\93\80\0\ 6\13R\85n$Wc\ 5\1c\84\ 1ªiäÑl\ 2\12Q$eÈ\15\99\87d\ 3\ 4È\aö\81\ eÔ%(\bá±P`\ 27@!\9eCS\16\12\951H,Lf\9a\83\91\13\99ñp\89b¿ò è\r\97\ 1ö\ 2\ 5pèE±+\8d\1aØ\80Ü\18y><\ 5z5"Ó\a\140æ)\9e\98À:y\17\1aCH(¡\ fr\8dȶà©ô\80\12%\95\94X©"\19!\ 1\94Lq\94\12\18ÈMPí\8d1A&\ 3\16õ\94ãQ©+³i\r(\80|\82Ä~\ 1oF\ 6\92()F¦bd@à(G\ 6¶ \14%\ 5B¾¦§|\94"\9a\8dl\ 2Eb¸ÆøÅ\80\85æL4\97\0ÓÓ\93Q+pÈ\16\81[\94´Èd\91\17ãIÀ\ 6e\92\88q(\87\ 56U\ 3¸\89äÍ\10 \95ô\11ÒêiôCb\ 4\ e8C\98\ 6Á\12\84@HbC\ 5Èq̲ÉÌÂ¥\89¡Å\ 4\1f-\12øIs°=Â3¬\8cG\19eb\16\ e\80¦\90XIgT5'¢>F8E\ 5GÓ{<\e\ 5¨ÖE\91b\86s\11Í\14¦\ 5\9a\\82\ 32±A\ 4UÒ¬\ 6¾Cp\ 1³ôuØ\9ff{xe^\89£R\93ò\15µ\8e%\86aX\f>ºH\92Ø @\86\84\88Ô\b7&\8eñ%T\ 6ÈpEd\ 4ø2YÑD^\82'm2¡\ 5\9aý¡¸Í\8bÌL¸!O\95\ 3M¢¨O2Ò ¦Ù'¤\ 5ô$\%³¢\89\83ÿDZ\ 4\1d¡Ð6\83EA¤B\8f\ 1\82 \83\f\b\ 3\0\80\92)ôàs\12\1aN\8d'=Rvg\81\1d\8c\ 2\a\80\91"Ó4\90ÀTl0ÐT\r\ 55üB\84ù9²
+\9c(|,Y\89ưHÅ&\ 6
+\89\ 4óÃb¨m(E\10Dö$ð\8aT\95cB)O2¡J%×G\ 5\1a\94Å\9e\84º\87\ 6:\ 6\a\99\e÷¡\aãѨ\ 2\10ë     Wð\8a\88+\1cÂ*\0c"     \80S\81<³À\ 65%º\94¾\9b9Ës`}rT<\8d
+\ 4SD\13=\90\v±Yf\ f\e!ü³9\v\fn\f\ 1Ø\1a\95\18\9b\87"\f\89\84\ 6\19)\ f\\15ø@%\89°\82¼\86ò(\ 2\ 2\8aPuâ\ e·g       .Ía\ 1Ôx\92@O\86R¨4\91  à\b\13$-GxÇ£Ø\ 4\15\10\8b
+C¦ø\8a\14\13:        \ 2Ä\13ÉÌ&r\91Õ\0+ð8\ 6µ\12Ã0£©Pä/0\ 3\92Oå*òåT¥P\89\ fM\16Ñ´'\85)\1d¢¹\1e0\81\81P¿Ó\9c¡:eLZ¡\O´L\19c0Á9 \90ª\ 5ó§&\96+áªælÅÁÇ:\1d\rÄA£¨^hÂÔ ¨\vz\84ó\85!À]\eÕ,<\v¹\ 6ä´Lë\14\1a\ 4\1a\14P)3?¬)Ò¤\17j'\ 1\99&¢8n\ 3ÄP¥Ä\92J*¬(Q¢8d$×$\10z\81\16@\rI¦:v¨¸Âð\17\ 4\1aþäû\91\96Éd\17\81ôL\19!ñK\13»Ð\1eå?ì
+²7\95\10x¸I÷)\89J©Z Ü\1e>\9a¬\8dÐ\8f±Ay\rF
+M6ÓÔ\94":\aIáO\ 1}\13\95å\80$Íb#¢ ë\82j©Ò0ëY^l\ 2ØMäÝQ\1aQU%\89\94\89\89&eÝ\ 599Â\95\91æ7\99¯4Pº\rÏ\8dèj©Òd\9aDG\8a\ 1¯\80Ô\ 3WÑ|>J\1f\1ac2\ 1\85 \r÷%P.\820HC\15\83\a\85\10è\ 3\17\18Y"     ¥\92/12\1fGc\8eCà'h[\vO$¨à^0ªÑ\13QOÆ\80£
+ˬ2,ÑT\r*g\93¤\ 4`h\17A\9djb\93\19¨t¢â\8bF\ f\0¤¡Ú\95\17\14%F\10\86\1d\92\1c¤*\92À\ 63\0!P\9cQkWªñP\18± m\19Ê4Ó\b¯\f?N\15\1an)R-#\e
+\8aÆHHL4EeÍ÷L¬,\82\13\833fW±i$\9e\12c\8ay\ 6\9a³B*D\ 5\fÍ,rFVÕ\89\82è\b?©B\81fBhnö],\94\8a\r`h|y7eCKùÏ»%\emùj\ 5\aû·      l¦kÑÁ¿YP`p\88\8e÷Ð\15Dè@Øá(í§1\ 1 Òj\r-d\98\18%*­ÝÑ\8c?\9b93Òl\88\80ß\884[\b\9f\ 4ylzPA\ 3\9bü§Ú\11æ5Ñb\ fe-4%\f(\1a)O%\a&Ðú
\f\ 3 fætÞä\ 1\10\12PÙÃùÃ\8a°\85\91Ý\90\ 2\aÆ0\959T×òº\82\82\80\80¯Rýò'\81¦²\ 5*%¨\fÑy·QG\16\ 4÷~ÿ:å'VÿâP8¶¦ª¬`âÆº|¥¼Ê\97Uµ_\93\16\ 6í\177\8b¨Ë\9e~^åeZˬ\11Ò­u \9f\8d\85AeQ¯n³÷Z\9a\8fSK++\90\96?\99©TÅÚV"ó\7f`=Øn¹¶\9d\7fHK\1eyÄûWkMºBåÁ%[\ 3­ÑÒ¿]`Íní\ 2\90ë¶\95\83¶úÈÒ½\99ªÄ÷/Ý+\1f\15DD§u\17\82® [ð¦Ém\9aEåe\87Vï¡­ \8em¹X¬Ý¿çgûÕybÌd¶¬Î«?Yùô,háÏ        «ó\96\95u\83meÝ Ø9VÚþº\8d\12_®imú  ¼\ eþ*3^åu^\9dBÚê\94\ e\95 î\81¶G¼3&«6í\18Ø¡s`3¿\8a\81Ýü\94\8b:ÆEgÈ'>®[,Iì\1a3\94Ô×Ý\9eánÏp·g¸Û3Üí\19îö\fw{\86»=ÃÝ\9eánÏp·g¸Û3Üí\19îö\fw{\86»=ÃÝ\9eánÏp·g¸Û3Üí\19îö\fw{\86»=ÃÝ\9eánÏøÆÚ3\1cè\1dð\93>°Ùû#í\ 3êJm¼Zõþ \1cq·iÝ\ 5\96ÅeëOu\v$¡~\vÜ\8b\9d:P1°[\fÍù\96.CÊÃ\ få}ü8³¢;ºXýÌz}\91\18\17©¿)àUÞ\ f\17\97 j\1d\12Ø!\ 6ï±hàøäú8»\87\8e\98Q\1e +ݼy =êNñ­ç\95\ fî\18â\1f\1c\80\87øû\81ÙÊþí>ð°\8f\88_ºk`@'ºø}Jxû\91$¢õ\v1\19°³\e<\90W0n(È\ 2³\v[¯î\94ÄÖOBƤ£$ i`aå\9fÞ\81-\82\82Õs%`M\S6I!\9fÀÎA\ 1\81¾e½uu«$i`ý:Ïú\ 3à|á_9Zv\11h\91Ó\88ÀKË\91\92 è\1aQ\12L³Ð\ 4\98\96\ e~\95]©~Ýò·YG=1´\16\8d\ f\91!ÑEIrçf\\93ô\85uäúe!IÝò\89>óµ\1anr\93\9bÜä&7¹ÉM\9a\92Cg\84iͬ\9b¾*}ù¡rZKà&'Ò\97ÃÃ\r\95o\98â\16\1en¨|{ä<\84¸¡òmÐW@\88\e*qN_YÉ_\r\13á_BZ©Ú\190øjÌÿ{HCmÇ\95Ñ¿>çß6Å\1f\85;\83\93¯Àö·GñYá_\8d·8äù["\97й&L¾EÎP¾K\90K(\+&ß"'\99 >\93Ö*w@çZsj#ç\99#~\92Öú\8e­Âµf3\ 69Õ"ñ\8d´V6\91\v±j%§\1a\91ÖÊ&r!V­äT£Ä+ÒZÓ6r-n\13¸A¢\ 5¹\16·
+9Û:ñ\84´V³\8d\\8b[\85\9cm\9dø@Zë8\ 6¹\1cà     Ü ùêär\f'p\83ä«\93Ë1\9cÀ\r\92¯N.Çp\ 27H¾:¹\1cà       Ü ùêär\f'p\83ä«\93Ë1\9cÀ\r\92¯N.Çp\ 27H¾:¹\1cà       Ü ùêô\róìꤵ\9amär\f'p\83ä«\93Ë1\9cÀ\r\92¯Nß6Ï.MZ«ÙFß6Ï®NZkZ¥o\9eg\97&­5­\92\9cà_\83\13­Õ¬Ò¿\84m×%­5­\92+²í\fsÄOÒZÓ*ýKØv]ÒZÓDÿ\1e¶]\97´V¶«\9eD\91àß\84\13­5MôïaÛuIke»\9d\89k\90+ªZ[\9e­\14·\86\88Ïä¢zÖ\96m\85âÐ
\9f\QÕÚòl¥¸5D<'WÔ³\86<[)\ eM\10ÿÉ\15õ¬!Ïö\14\87V\88ÿä\8a\8aç·(®L\10ÿÉ\15\95¬!Ïö\14\87Vpªì\9a<4®ÈEÙ¶§/×ÿW\96Ws\ 6¾\1aÃ\1aòü\16}\89\bÚ\8a\19\7f8\89[>ã     ÛoÑ\17J¡­\80ñ\8a\99/ä0^±ý.}¡ ñA´xÈRìy\8b·\9cÛÓ\17J\11\7fä\8a\87,}\9c«ø¬Ìwé\v\ 5\89WBÅ7®\]\9fVúBAâ\9b\8a±oF«      ¾-Y\14\8a?¼}K\8aý\96dQ(\9eðö-)ö\9b\11Ä\9eâ\ 3{_\b\12Íù\7f\8b¾\r)Þ"ÍÙs\83$\1e\16iÎÞ7\ 6\92\ 4.Ûæ\1dÏÉ\8d\13­ùu\ 1úö@\92Àe·ÆÇ[ú&A\92À5\8fu\8a·ôå \89·ªv]Îã\e}àI\10¿\17X]\8b¾a\90$\88¯««.G_\ e\92ø¯pWä9^Ñ¿\ 1$   âÙêªËÑ¿\ 4$       Þ\91Tkv\\89â\ 4$®¢s×â6^Ñ¿\a$núlr\83ÄM\9f¤8\ 1\89\e'ß6¹Aâ¦OR\\81Ä\8d\93o\98Ü qÓ'É\r\127}\92â\10$n\9c|«ä\ 6\89\9b>Iq\v\127N¾Ir\83ÄM\1f§8G\88\e\1e¹Aâ¦O\92\93@âÆÉ·Dn\90¸é\93ä<\90¸qòÍ\90\e$nú89\15!n\9c|\eô\15@âÆ\89«\93\e$nú$}\1d\90¸qâºôÕ\10â\ 6\89ëÒ×\ 4\89\e'.Jn\90¸éãô\95\11âÆ\89+\92& qãĵÈ\r\127}\9c´B\88\e'.DÚ\82Ä\8d\93øOZ\ 3\84Hk\1d¸é\13¤5@TÒZ\r\18i\8d\ e\ei­ 7½\9f´ÆÅÛ¤µ>Üô\1eÒ\1a\14o\93ÖúpÓÛ¤5"ÞOZkÅM1Hk8|\90´V\8c\9b\1a\b\1f#­uã&"­QðiÒZCnr\ 1\90ü\9f\e'\9a\92ÖÆw\80´VÕ¿\94´6»c¤µ¶þ¥¤µÙ\1d\15ö¯#­\rþ\99¤µÚþE¤µ©?\9f´ÖÜ¿\85´¶ó\97\92ÖúûW\90ÖF\8e\ 3ÒZ\85ß8imÞ8#­\15ùÍ\92Ö\86\8dKÒZ\97ß,imØ8&­Õù\r\92Ö&u
+i­Ôo\8d´¶§³Hk½~S¤µ1\9dHZ«öÛ!­-é\ÒZ»ß\ 2imC§\93Ö
\16Hk\e~\rÒZÇ.OZ\eðk\90Ö:vyÒÚ\80_\89´V³\v\93Ö¦ûz¤µ¦]\98´6Ý×#­5í¤µé¾\1ei­i\17&­M÷UIke»$im´¯MZëÛ%Ik£}mÒZß.IZ\eík\93Öúv=ÒÚb\1a\90Ö*w=ÒÚb\1a\90Ö*w=ÒÚb\1a\90Ö*w=ÒÚb\1a\90Ö*w1ÒÚ\Ú\90ÖZw1ÒÚ\Ú\90ÖZw1ÒÚ\Ú\90ÖZw%ÒÚVÚ\90ÖZw1ÒÚ\Ú\90ÖZw%ÒÚV\9a\91Ö\8aw%ÒÚV\9a\91Ö\8aw%ÒÚV\9a\91Ö\8aw\19ÒÚP\9a\91Ö\8aw%ÒÚV\9a\91Ö\8aw\19ÒÚPZ\92Öºw\19ÒÚP\9a\91Ö\8aw\19ÒÚPZ\92Öºw\19ÒÚPZ\92Öºw\rÒÚJZ\92Öºw\rÒÚJ\1a\93Öêw\rÒÚJ\1a\93Öêw\ 1ÒÚD\1a\93Öêw\rÒÚJ\1a\93Öêw\ 1ÒÚD\1a\93Öêw\rÒÚJ\1a\93Öêw\ 1ÒÚDÚ\93Ö\16p\ 1ÒÚD\1a\93Öêw\ 1ÒÚDÚ\93Ö\16p\ 1ÒÚD\1a\93Öêw\ 1ÒÚDÚ\93Ö\16p\ 1ÒÚD\1a\93Öêw\rÒÚJ\1a\93Öêw\rÒÚJ\1a\93Öêw\rÒÚJZ\92Öºw\19ÒÚPZ\92Öºw\19ÒÚPZ\92Öºw\rÒÚJ\1a\93Öêw\rÒÚJ\1a\93Öêw\19ÒÚPZ\92Öºw\19ÒÚP\9a\91Ö\8aw%ÒÚV\9a\91Ö\8aw%ÒÚV\9a\91Ö\8aw%ÒÚV\9a\91Ö\8aw%ÒÚV\9a\91Ö\8aw1ÒÚ\\9a\91Ö\8aw%ÒÚV\9a\91Ö\8aw%ÒÚV\9a\91Ö\8aw%ÒÚV\9a\91Ö\8aw%ÒÚV\9a\91Ö\8aw%ÒÚV\9a\91Ö\8aw%ÒÚVZ\92Öºw\19ÒÚPZ\92Öºw\rÒÚJÚ\93Ö\16p\ 1ÒÚDÚ\93Ö\16p\ 1ÒÚDñ\82´6B|'­í\13_Hk;Ä_ÒÚ2ñ\8e´6H¼#­\r\12OIk³Ä/ÒÚ\1añ\9a´6N¼ ­\8dà\1a¤µ\954#­\15ïb¤µ¹¾6i­o×&­­ç\ÒZ»ß\14imÌ/%­õ÷¯#­\rn#­5á&ÇÈmw7¹ÉMnr\93\9bÜä¦o\80â*©s\93\9bâ;}\17\93´f'V¤°ú\1f\ 4ë*Ëÿ%ú\9eýù_\95u­9û\b)L\83áï\7føá\87ÿ\11ýðÃ÷ß[8×\9a»\ f\91\85ip\9cðÇ\1f\7f"úñÇ\84à\9dq\1e_\19\ 6Ó  \7fü)ÑÏ\89\93\10%Nüs¢\9f\12jÅx¬¼\82Â5\98Nôs\92¤ÉS¤L\95*UÊ\14É\93%MüóO?&d\8c\7fM¾ßrg\1f|0ãú\87ÿýøÓÏI\92§L\9d6]ú\f\193dH\9f.Mê\94É\92\80qÒø×ãû}îì£\'J\92,e\9aô\19³dÓeÏ\91#».[\96\8céÓ¤L\ eÆ\13~\1d¾-Úµø³\8f{3º\90¸\86ªS§Ë\945Gî¼ù\vxz\16È\9f/OÎl\993¤I\99,q¢\1fÿç\¾¿³ã\98Xfþ\8cè{ËÈz÷ÑÄõ÷¤ë\14i2dÉ\91'¿\9e7J&\93$
+\ 6Ï|¹t\99Ò¥N\9eÄ·óxþ\8fÊ0ã\18î,!\1c\1aþø\88/ÃW¾ÿ!!q\9d1[.\8fBF¹XIo\1f\9fR^%\8a\98ø\82ùrfÍ\90&\853ù¶D\f0¬r\f\a\9cèg¢D\89à\11ØÈz÷Ñ
+D~J\9c<u\86\vðæâ>å*U­î[½j¥r¥\8a\9b¹\ 2¹³e$¾\13þà\14¶­aî\a5d$"\a\9c4Y²dÉ\93%K\9a\a=\ 2¾\ 6\88ü\9c,Uú¬¹=\85ÂÞå«Öªßȯ\89_£úµªU(UÄX0\8f.c\9aä\89\7fr\8eºÙÀ²F\fÆ19àÔi@©S¥L\9e\14\ 3\bosýßï\13þ\94$EÚÌ9\v\bEJUªÙ i\8b_Ú´\rnÝ2 Qí*e\8a\8bú<Ù2¤Jöó\8f?|\1f÷l3®\19ÓP28&\86ÉÿfÊ\9c9s¦\8cðÁäÉ o\82É;lÿ\0e§Î¨ËÇ\15.U©¶_\8bàNÝzöêÕ£K\87_\ 2êW/W\,\98;Kº\14I\14uÇ9Û\8ck
+sÉR¤J\936}ÆLY²ÂÿæÌ\95+g\8eìpÁv\ eáí/~\ fd§H\9b%wA\93WÅZMZuìÑ?tØ\88áC\aõíÚ®yÃêe\8b ùsdL\9dìg\86î8çÚ\121R¤N\9b!SV]\8e\yòy\14ð,¨/èYÀ#ON]æô©\ 1Ðw\a\16ÃH¢¤©2èòñEËú6\ e
\1d:jÂ\94iS'\8f\1f9¨g\87\16\rªù\14.\94'kÚ\14\89\13ØV|oòTi3dÑåÌãá©7\b¢d2Ëf\93\91ÓçÏ\93=s:\ 2(Ôý\ eÛ?$\ 4F2åô\94¼*×\vìÐkȸisæ/Z8\7fδqCzµoV·RI1\7fö\f©\b%q\rnÕ÷&N\9e*]¦l9óz\1a\ 4Sáb%¼Jù\94.íã]¼\88Ä\17Ì\9b=SZ\0ô\1dK+ÐN\ e\8c\14*\Úׯu·Ac§Ï\ f_\1e\15µbÙ\82\99ãC»·iâ[FÖçÊ\9c&Y¢\84qͶ¢ì\9fàÅÒeÎ\9e§\80A,\¢T\99
+ä~}}«U._ºDa¡ Å\1f¼\8fíÄ)ÒeÍË\15-_; }\9f\11\96­Þ°yóƵ+\16Í\183 S\8bz\15\8bóy³¦MNà\8e{¶Y K\9b){^OA.QºBÕ\9auÈýÂÿÖ«Yµ\9cwa¡@ÎÌi\93¿\vP\vÛÙòñÅ+ÖmÞiÀØ\99KVmÚ¾{Ï®mëW,\982¬g\9bÆÕ¼Åüºô\0·\13Øþ\9e¼X*\ 4:\84\f¯rUk7ô\ f\fj\1dÜ6¸M«À&õªWð2\17Ê\9b-}J\ 5 ïa;}6\ f¡D¥ú-»\f\9e07býö½\a\ f\1dÜ»}ݲÙcúu\b¨YÚì\99=CJç°ý¿\1f\13'O\93)\87\a'{\95÷­ïß2¸c\97î={õìÞ¥}+¸ß²Å\8dù³gL\95\94\ 1ô=lCÛÄvP×Ð\89a+6í>xìø±Ã{6¯\9c?qpçæuÊ\15ÖçÌ\881\19×\1ePq¾IR¤Ë\92« X¼lõú\ 1­Cº÷\1d4dØða¡\ 3zujÝ´neoSAë¸z\1fÛYó\ 2$õ í\89óWlÞsødtôñ\83;Ö,\9e:¬{Pý
+E\våÊD®$ÎÙ¦\11\99$eúly\vÉ¥*×iÚºSïÁ#ÆN\9c<eòøQ¡½C\82\1a×([Ä\90'\v\eWï²\9d\90<I\1eCÑòu\ 2;\r\9c0où¦=G¢O\9f>yx÷\86ð\19#z¶nX©\98!w¦ÔI\9dÇ6\ 2t\91\e¶ìØ;tÌä\99sÃÂæÍ\9a26´g»fu*XÝÁ;l#ÜÀoçÒËej4mßoÌì\88\r»\ f\9f<}&úèÞM\91³G÷\ enT¹8\97;³SØþ\8fʶ\a_¬\Í&­»\ e\1c=eÎÂð\88Èe\8bçM\1d5 sP\83*%\8d\1eÙÒ)îà=_M\95!{\ 1É»j£6=GL_²vÇÁ\13§NG\1fÛ·yù\9c1}ÛúU)ÁçÉ\92:i"ç±\9d\8f/V¾VÓ¶=\87L\98µ(rÕÚµ«W,\993qH\8f6~Õ¼%«\17{ë«VÇ]¬BÝ\16\9d\ 1î\95\1e=y*úè¾Í+æ\8eí×®IÕ\92BÞ,i\9cÄ6ó\a\b\1aåj5m×{øäyá«6lÞ²iÝò\85ÓFöi×´\86\8f©@ö÷°­\80\9bP\92³ ÙÇ·I»>£f\86¯ÛqàØ\89\13Gön^1o\ÿöþÕ¼\84¼Y1\9cã<)±\86è<\85
+\97©áß¶×ð)ó#×nÞ¾cû¦ÕKg\8díß±\19\9cï\aضX
+.\90|I×ÐIóWnÞsèèÑC{Àöø\ 1\1d\9bV÷6æË\9aÖIl«*3\95ªÖ¸u\8f¡\93Â"×mݹkçÖu\11\ fì\14\8cì\99#ÃûÙfÉT\9a̹
+\9aKûú\93º\97®Ý\86\80s`÷¦\15a\13\ 6\86\ 4Ô(%zd£á\1cçl«*Ë ó0²`7hü\9cek·ìܽ{û\86åa\13\awiQ§,±\9dò]¶Y\1a¦ªÛâºÃ\96oرwÿ¾\9d`{â N°\94)¿.\9dsئ\81ÅÜo\91²5\ 3Ú÷\1d=cñªM;ÀöÆ\15ó'\ féÚ²n¹Â\ 5?À¶]îjò©Þ¤mï\91Ó\17GY¾;ip\97æµË º3\80Åy­fû\19s\14\10½ª4ü¥ûÐÉó\97¯ßºsçö\8d+\17L\19Ú-¨^ù"\88Ð)\93¼Ë¶µÀaΤ|\9dæ\9d\ 6ÂTk00¶®·\89ü\81ï~)Ûª/I\9b\15ê.W»YÇþcg-YµqÛöm\eV.\9c:¬G+\16¡\95Äâ}S\ e\16\99%ïj\8dÛô\1c>eÁòu\9b·n^·\1c9`÷Võ+\163 ºÇ}¼\89ñhÑ«j#\fÊÉa\91k7mݲ\1el\ f·DhåÑïû²ê\88HæÀ\90þcf.^¹nãÆµË\17L\eÑ«M#Ä\e8n'¸\125weè.T¤l-¨[}ôº\15\vÕGsy>\14¡-ÉA\86ìù\ 1±F\80ؤyáQk×­Y¾pú¨>í\9a\86+qÆ\98´\148ìÑF\86î!\93æ\86G­[O\8f\1eÙ§­_U/!ß\874fç\ 4õ\85ËÖ
+èÐoôô\ 5\11QkV-_4s\f9}\8cÉ\1cÎȸßÿè\85\91«Ö¬\8a\84Æú¶÷÷ý\98óµKj\8c%+7lÕ-tÂìÅ\91QQ\91\8bg\8d\1fÔ¥e]\96º\92©â\Ý1\1fÍÔ=qÎ\12Ô²\91\vg0\8d\95V¢{Â÷º\ 3\82Ìej\ 6tè;rjØÒå+"\17Ï\998´GëFUJ
+ù²ª2;\ 3&\96G3t\8f¦\1a|EÄ¢\99ã\ 6²\1a\85\1cw\92÷\eú;[q¦¨{ðøY\vÃ##\96Ì\9b2¢O;\7f_Êh\94/;ef\8a=\1aêöª
+?6tÒ\9cÅ\11Ë#\16Í\9e\10Ú-¨~Å¢\86\\1fNöcÊLê\9e2wñ²eK¦£zo^§|ÑBH¹\9d\90@q\bxt\9a̹Q© \a\1d8vÆ\82ð\88e\8bçL\1aÚãS^Ì^f\82X·Ðñ3\17,     _Ê&K~iTÅË\9a®;\ 5&?üHΤ\80É\a\95J\9f\91Sæ-\81Æ`èÞ\9fôbªÌ©3ç*T\98â\15©{ÑÒ¥\vçL\1eѧ}@Í2rÁ\9c\99¨Tp\96º\116²æ\13JV¡\903qö¢ðeKæ\8dÆ\98¬eÍ,ÞëÅTucDç\17½«6nÝ\1dê\9e¿déb d`\97 ú\95Jðù²:IÝ     \983I
+\80\16*Z\ 1¹Ü q3\17\84/\v_0sÜ .-견äÃó\ 61 V§yHÿQS¡î%\vfM\1cÖ«­¿oi3ò\12¦ng\8cJ¦±\f9<Íej!HÃ\97,\8dX¶höÄ!Ý\7fi\88J\96âä\87B4©[\89W\ 5(\11\fî9tâ¬\ 5K\96.\9a7mô\80ÎlJ-\9f³ÐMê\ 6JÒeË/\96òõ\a¸§Î[\1aÁ¼Xï¶Mª±"åÃ!Ú2÷@S&\95ê\au\194vzØâpR÷Ð\9em\9b0ug"gâ\8cQ     \94ÀÐYò
+%«6\ eî5|òÜ%\11\91áó§\ 3Ü\ 1\96\80ó¡\10­Ä+dc9\vÊe(g\1f\81A\19\1e¾8lÚ\98\ 1\9d[\ 2ÝB>ë|\lÙ~{!ú\ 3ßc\86N\9a:sn®x¥\86T\9bÍ]\12 Ï=K\ 1÷'&Ŭ\13kä÷\eµî\8eò\7faxDø¢9\93\86õjç_C\9d0þ9Öê~k\1dúc\9d5xòOIRe¤1Y?¨[(â{äÊåKæN\1aÚý\97\ 6\95,Ó4\1fB\89j+\1a\94\15ê¶è4p\fü~ddø\82\19c\au     jP¹¤1?\85ÊØ­âØ\96¡¿·\90m-úÝdN\1d\93\ 5\v\97«Kó§³\91\96¬\6\7fêÈÞmýªy)\15ø\aóO\8bßÏái*]£i»>jb²tÞ\94\91};\ 4Ô*§LÈ%\8eÍ¢\99­­\86­é&T\96t?ØZ\ 3\85Q¬Ëîi.[»yçAãg/Y±jU$Ë?\19¸ß7Åc÷,;¿ß°u÷¡j2¶xö\84!Ý[7ªæ-yæ 'øI\98ØÚj\12²\15R»E]Ûr´ý\rTW¢Ëo*]³YÈ\80\96¬X½zåÒ9\13¨z·«      ?¤n\8bß/R¾\ e²\83\16/_µ:*b!­+4¯[¡\18s\82\9f\1e\95\96\1aðÌVH\93§H\91<9[ÕMD˺êz´Ý-\14¶Ófó\90|j\ 4°\8a\9aµ«"¦\fë\ 1p£0ûè\1c¤\1a)-ÙAßQHÙW¯[\eµ,lÊð^ä\ 4ÕQù  ç­.Ü%üéç$É\92§L\9d&m:PÚ´iR¥L\9e,\89¥)(\ 6ãʨ\82\99\8dÞÕý;ô£Êlíú5+¨¸B\85SRÈûqp«R«ÙAÏaSæG¬^¿aÝÊ%³Ç\ fîj\19\95©>1*¿c+`¶åÆ,Y³étºlY3gÊ\90.Mª\14I­½56\8c\93\aT\1c·Wµ&íú\8e¦\82rú¨¥³Æ\ eè\18PÃGúÄ<\8d=Jê¶ %\91e«7lBAºhÆè~\1d\9aÅjT*º\86ª\93¦ \ 6\95ì´B\9a?\7f~\8f|yreÏ\969c:û¦ \vãªãÎ\92\87/YÕ¯m\9fQ3\16¯\¿iÃ\9a\88y\13i\9e¦¬\ðã5¡\1dJJ×\bèÐ\7f\fM[lÙºimdØd\949\8d«\95úô¨T{&~N\962mƬ9ó\16Ðs\82(I\92(p\85<=òä`½5¬)è\7f¶.,»xS¹Q0\9b`Z¿y\93uÂãSË\191P\820;bÚ¢\95\e¶nß¶iuøìq\ 3;µ°\8cÊÄ\1f\1e\95êÒ®ºÚèÉI\85Y\83
+u¨\145\e¹\82\1e¹³gÉ\90\16\1a·ö.|§$S\887\99r\19\8a!Lö\1a1}QÔ\86-[6D-\9e1ªwpc6ÁþÑ   \ f\vJrS\ e\19ÔuȤùË×oÛ¹sÛÆ¨EÓáûý­£ò\83êV\97í\92¦J\97%§G!©¨wÙ\8aU«×¨Q÷Zå
+e¼\8bÉÆBùó\80ñ4)\92&¶ua±\1cP   \93\15\eüÒcø´EQ\e·nÛ¼&|öØþ\1d\9aúz\7fjîÔ\8a\12O3<hÇ\ 1ãæ,[·u\17­RF\86M
+íÖ\8a\87îc±R]#M  ®óórÉrUjÖkìß4  i\93FõjU«X¦d\11Ñ\90?·.SºTvÝLjê\9a1§¾H\85z­º\ f#¶·mß\8a\87N\1cÜ9\10¥Âûg¹íte\898T\8f\ 6÷\1e5cÉ\9a-»öîݵeÍÒY4\ 3`7*ß«n»ÅÆü<õ§4lÚ²Mû\8e!!\1dÚµ   
+lR¿f\95rÞEÄB\1e\99¾³E÷òu\83º\ f\9bº0jÓv\9aÀ\8u\98e\ 23ÕÇ*pæAip\18\b\86NY\10µi×>\9a5¦[°Eá\8f\8eJEÙ¬e\82+âS¥\8e\7fPû®½ú\r\184h@¿ÞÝ;µkÕ¬Qíªå¼
+\v\9eÔ\15ĺ\99\14¾Y\16\87´BFRÒm(±½c×Î-«\97Ì\18Ù«MÃJ\9f\8a\81\92\80\8e\ 3ÆÏ\8dܰcßÁ\83ûv¬\8f\9c;~Pg\8cJ*\18Ò[`òÎD¨º\1e\93%O!¹T\95z\ 1Á]ú\86\8e\1c;aâÄ  ãF\ f\1fÜ·{H\9bÀÆÔ\15\95î\ 5Uz\fc%)\91ËÖiÙuÈ\94\85Q\9bwîÙ½m]Ä\1cZ=ªæ%|<\9b\8a\91\97\10JFÎ`k\v\87\ fîÙºfÉ\8cQ}\90Á*£2ùÏl\ 1ÿ\9d&&6\85\9a\9a¦PKVªÛ¬m÷A£&Í\983\7fÁÂ\ 5asfL\1e;|`¯Nm\9a5ð-_ÒlÈ\97=\93µ\vË\9eí\16Äö*\82æÎ\8d´0\10ÒìÓ\ 1Ç\82\12%â@ðÉ\v¢6ï9xäÈ\81]\9b\9f4\ 4£²\8a\97XÀÖÐón\7f
+Í fe\8b_þÁ=BÇ¡0\¾jÍ\9aÕQ+Â\17Í\9d>aÄÀ\9e\1d\83\9aÔ®ä-\eòéè.\14ºþ£Nw¨Ú\1e:uÑê­{öïß½eÕÂ)Cº~d-äm\94¤§¼Ä·i\87þcçDlØyàÈÑ#ûw¬[\ 6\7fÔ1°vùb\1cÁÄ\ 2ï·R9¶Ì\99£\80TªZ£_º\ e\1e?\v\ 1oËö\9d»víØºqí\8a¥a3&\fï×¥MÓ:\95½Í\85ò\10Ø`úÿþç?\96!ɰ=lÚâ50ñÁ}Û×.\9d1¢Ç/v³ó\9fDI^¾Då\86äCq\8b}G\8e\1d;¼wëªEÓFô
\94ª\10ëûb|Ûã\9b\85+J.\94µp\9a)_²zó®\ 3\87\8f\1d?vôðþÝ[7D\85Ï\9b:fP÷¶\ 1u*yIÔ\a d
+ÿe\99>9Àòp\80ç/]»cÿáÃ\avm\88\98=ºOp£Ê\1f\99æ¶W\98RR\96­\15ØiÐ\840j\1e8~âØ¡Ý\e\97\87M\fí
+\98À\9bäÊ\9cÖÎ\11Ä0U
+u²¥MÏáS\17­ÚºïhôÙó\17.\9c?{êø¡½ÛÖ¯X4s|h\8f঵Ê\17\17\10\ 2\0Q\9e=3\93\12nz\8e\9c\19¾~×Á£Ð\14­1²¥ÑOT8o\95\94äº-ë«G\ fìX\17\ eç\1dÒ¼nÅ\12Fê«y\87oeÒ\ 2\v\97­\1d\182pü¼\15\9b÷\1e;séÚ\8d\9b7o^¿rñÌ\89C»·¬^:{|h÷Ö~¾¥\v\17ÊÍÆ6ª\1e¥\1cÌÃ\95@NÒgôìÈ\8d¤©£û·­Z8I\1d\93\9fX\18°\18Z\9d\12:iAÔ\96}GND\9f\8fÁ¤w;h\8aúì\98\ 3\8bÑnlÅ\bJp
+ÒÓ\97¬Ûuôì\95\9bwï?|øàþÝ[×.\9e\7fÛZJph2\80"nú\94äL¾ÿA)\13\8cH\Û÷\1f7oå\96}Ç¢£O\1cÚ¹vñÔ!±[¬³ÍóH¥ª#û\1d3{Ù\86]\87\8eã.\87\9b \15lÓ¤FÙ¢à;sÚ\94I-]\91ß)ã\ 2\8fO\81âJ,UÝ¿}¿qsWl=xêò­û\8f\9f>\7fþìéã\87÷n]=\7fâÀö5K¦\8fT\)Ê-jÎù\ 1é9=Ñ\93\8a²N\83'-\½ýà\89Óg¢\8fìÞ\10>}x÷ ûõÉ\8f¡Dé1á\8aU¬O\91ráªmû\8fE\9f\8a>~pçú\88¹\13\ 6wû¥±/ñ\9d3Kº\94Él}éÖ¹S8\ 4\94²]B§,Z»ûø\85\e÷\1e?\7fõúõëW/\9f?ypçÚ\85\93û·FÑ\82gËz\15\8bq\94ÚAòÿ%´8]\84æaÓ\96®ÛuäÔ¹s§\8fïÛ\141kdOæJÔÉ\92\ f³­z±\8c9\10)©Ç\ 4>p#õ\98\9c\8e>v`ûÚðYã\ 6vi\ 5¾\8b        \ 5reM\9f*\99-\93SóGÀ«\982²"6\1d8uåΣç¯ßüöû�yýòÙ£;×Î\1fß³!|æÈ^Á\8d«ªóÏ?¡Rf\9dOF
+q\ 4íÍû\8e\9f½páìÉ\ 3[\96Ï\1eÝ»\r-ô±\94ûc«G\96\ 5?6­Ö UwòþÛ\ e\1c?uæLôÑ}[W/\999f@gðÍú_³eHcÉäþ£ÎíS\84õªæ×®ßØyQÛ\8f\9c»qÿé«7¿ÿ  úã÷__={xûÊéCÛV\86\8dïß!@é»\80ëþ       µ\10u\fÈeP¸\ f\9c8\7fÕöC§.\ºt>úàÖ\95sÇô±oÅùè\1e\v\8a\94ä\ 3\14r"7î>\12\1cжw˪Å(ä»´ò«Y¾\ 42\v]&\vÀÿû\1f«û\93|ðøA\93\16®Ý}âÒ­GÏ\7fýýÏ¿þþûï¿þüýÍ˧÷o\8¶{í¢É\83;+å\16Àýs¢\9f\93(M}¤%xíõ{\8e\9d½tõÊE\b\185olß¶¨\14bÑA\14£_\8dÔ=\85©ûô¹óg-|\ fìÚºI­\8a^f\83G\ eêCU\80¢®1R¬£\10=méÆý§®Ü}òòÍ\1f\7fýýÏ?ÿ\10ß¿>\7ftûrô¾\r\ríFËâz\9a\ fM\928IrÖÑB\98ìO\ 3ù@ô\85«×¯]:sx;c\9bu\10}\9am5!"³\91º\15tc\90\0nÑGö\80ï\99c\au\vnZ·²O\11\1e\0Ï ô+ÿðÃ\ fÊÈ2(AcVä\96Cg®\ 3#¿ýI\\13ß\7f¼yùäîÕÓ\a6-\9b1¼{+$Ò\85\10(S$M\9a<Uz\1dëék\85¬uñZò\9a7n^¿la»ñÇV\83íQbß\1eØJq&\aN\9c½péâ¹S¤ï%³Æ\85öh\17X¿Z\99bJC}
+\0%!M\8d$\87׿KTiÜ¶ïØ¹+·\1f=\7fóÁó׿\83íÿû¿ÿûç\9f¿þøíÕÓ{×N\1fÜ\1c\81\£Uý
+ÄvÚ\94É\93£\84ËMk\8bLEË7\1f\88¾xýÖ­\e`{\eÃvãØµ\99Ù©\9b\19®ï\98YË6@Ýç/]¾tþ\14Æå\9a¥s&\ eíݱe£\1aåK\98
+åË\9e9\1dítùé§DIXx¥I\9a\ 1\13\16¬Þuüâ­G/~%\8c(lÿia\9b´Me\v%7©S¦J\9bÉÒ\9b1LUöÍ;wn^>shë\8a9±õ$1ÔÍ«­H\v¢¶î?qöÒ\95«\97/ Òm_»lÞä\11ý:·\ 2À½e\ e\1e<=\80\92øç$ÉR±9-
+\1a\93\17­Ûsòò\9dÇ\ 4\9ai\9b\81äÔþ\8dáÓ\871l\83íôiÒ¤Ë\84\18%_¨KVl9\10}éÆ\9d{wo^>}pKdlý¶:(\95t?§'u~µ¥Î¯õ»\8e\9c¾påÚõ«\97Î\9e8¸cýòùÓF\ fì\16\1cP·Jé¢FOÚ1\922y²d)ÓÐ\80 `3dêÒ\rÊ\88üMÁ\88Êöã;\97Oî]¿dJ(\9b¸ÑçÎ\9a1]ú\8cÙòèåÒ¾M\82{¡,Y·ûعk·ïÝ¿{óÒ©ý\9b\96Å6JÆP·¥Ñ\8e\12Á-ûO\9c»|ýÆ\8dë\97ÏG\1fÞµiå¢\99ãB{¶oÞ z9¥ÆJ\97:Uª4鳿¦\ 2\ 3±nú²M\aN_»§\8cHÆöß\7f\91'¹uñø®5\v'\ e\f¡®_xþL\193eËí)yUi\10D\rfQÛ\ e\9d¾|óÞ\83\awo\$ùÔ\9cä\13µ{LuÛzcFL[²vÇáS\17¯ÝÄX¹záÔѽHåæL\1cÖ'$¨qÍ
+^2\87b<cúté\99¹+Öÿ¥Ç\88\99\11[\ eÂ\91<{ý\9beDþýço¯\9f=¸qîÈö\95ð\ fí\9aT/%yæÖeÉ\92-W\ 1¡x\85:\81\1dû\8f\9d\1d±qï\89\v×ï>xøàîõóÇ\98|\1d\ 3X£ClZCÞê\8daS&\91\9bö\1e?wåæí»wn]¿tæ8\0\1e\116edÿ.­Q«ø\14A1\9e=+cÁ\88ú¢u/ø¿­\87Î^\7fðÌêHlþosÄÌ\91=[7¬RRôÌ\9d]\97=W~¾\b5\ 2ö¦\9eÏ\9dGÎ^½ýàÑ#¤/g\ f\94I×,ïé,~\1fßÿUÛHó\eKVnЪÛ\90Ép\82\aá\99nß»wïÎ\8d+çN\1eܹaÅÂé¨UÈ\13\96-.\15òÈ\9d3G®|z\13\95\b½GÍ^¾õð9\eÛ¤l\86\91K'ö¬[<\85\9a°*\14\87¬9sæÎÏ\15öA       ×\8d
+W¤\8c\97\7fôøñ\83Û\97O)òýÒ b¬»\83-;r¨A\ 51\875\b\86¯ßͲç\a,w¾pêÈ\9eÍðà\13È\13\ 1 \b\ 5ó{ä÷ä\vûT÷k\8b\84èm¶\99û»\7f\1d\18\89
+\e? c@­²Eyϼyòæ7\98½+×oÑiู0(Aäá\93'\8fîß¼xb\ f\86î\10ë\9ck¬:,ìú1i\ 3\0\8dÊy\18\95'/\¿sÿá£\87÷ïܸtæØ¾mk\96Í%Oø\8b\7fíÊ>ÅL\82ÁÀ\9b\8a\97\85\94}GÏ\ 1Û6\90°\18ùë\8bÇw®À=DÌ\1cÕ+دºOaÞ3¿\87§ÁT²b\9df\1dú\8e\9e¹\94ª\8a«w\1e>yúäÑ]È·c\15äëÐÔ·\14M8¤\88Õö\88ïl½\9c\9eJ/ç°©\8bÖì8LÃüáã'\8f\1fÞ½yå\1có\84\v¦\8dFQÛ¬~õr^Ee³\Ô»bí\0D(°\rl«Cò\1fË\80¼yá8\12)`$¨Aeo\99×\17Ôs¦\12åkQ\87+\12Ííð"·\1e<~úì      2E`$rÖ¨^m\1aVV»3bÕ¬\15£K\8fõ1Q¬Ü\ 3§z\a7\86>îß¾v!\1a\15OÔâ\99ã\87ôêТq­ÊeK\95,Yª\ÕúÍ;ö\aÛHI®YS\12e@Þ»v\ 6ië¼q\ 3:6«S\11°â8Á\¢\\r¿ÖÝ\87L\9a¿\12Ƽ\88ªâÙóg\8fï\93|4\ 6Ø¢\93²¢\1a»\8e\16¨ìj\ fêà\89a+\11ÂpçGO\9f¡È\82k½tæèÞ­kÂçN\1aÞ·Ó/MëùV®P¾B\95Z\8d\83:\r@n\ 1\ahñÛÊ\80|\81ôïä¾\8dËfÒ¤sÍò%\vKFI.YηQ«.\83ÆÏ\8dܸ÷øùëw\1f¡\82{úè.ü\bÉ×\9fú¼¬]ܱbÛ6*\v\9a1Ìh\ 2a1`ræÊí\aO\9e½x\81\9bß#  ¢\8f\9c?uÔÀnm[øÕ«å[£V\83¦mº\ e\1a7\17l\9f¾ªä­ÿ°\ 1IN\9b|ñ¢)C»£®#LÉE½ÊUoزÓ\801³ÂU`?}þ\ 2ÕÛ­K'÷m\b\9f\a[\aÎ\93Å\81\rKjÛ®²\9b¨\9c\r&ç¯A%/^¾|ñ\fn
+@9´kãÊE3Æ\85ö
+i\1dؤQÃÆM[¶ï9d¼å[\ e\9c¶¦Ûö\18       \9b0¨KPCßò¥J\14/éSÁ·a\8b\90~4#½\83\ 1ûÉó\17¸ïÝk4 çÓ\f`­2¬R~w÷ÍGÕ­À\ 4Î[Ù\97C1þäÅ\9b÷\1f?\7fù\8a\8aÚ\87\0Êi5d\8eèß½Cë\96Í[´jÛ¥ïðɸ\92*I\96JQmó;ù\91ËÑû7EÎ\1eÛ¿SË\865*\95õ)]¶rÍF-:ö\1d9m\112ãhºï³\17/\9f?\85²£÷1\87ÓÆZqƾÁL]ÑH®Â¤q\eò&4Ü\ 1\93§/P\8e¿zñ\8c\80rV  \99\84öí\16Ò¡}Ç.½\ 6\8d\9e\10¡ã4Øf\89ëß\80öëç\ fo]<±\17õïè~!-\eתZ©b¥juüZvì3bÊ\82\95\91Ç~\ 4®-Ê^½`\12Û÷SÄÑþ2K3§\15&íá\)è\9c\ 3L\9e½|ý믯i\16áöÕó'\ f!d.\9a5qdh¿Þ={õ\1d4bâ¬%L>bû÷¿¨\90TÜß±Ýë\96Î\18Õ¯S+ÿúµjԨݠi«\90¾#¦Ì_A\89Ã5\0\eØÃ\1do\ 2Ù\e#f\8dê\1d̶Udgóé±ï\e²Â$#`R¢R½\16\9d\a\8e\9f»|\13\14sãþ\93\17¯~}óæ×W/\9e>¼sý"\85ÌÕáó¦O\185lHèÐQã§Ï\8fX¿óÈ\99«w-lSasÿÆù£»Ö.\991z@×àæ\18\ 5\8dü\9b\a\a®\97\83áxû¡2b\1eݹ\8arl\15)»EÝòE\rl2Å¡}¦ö01ÑÜo÷¡H\1c¶Ñ\Ó\83§/_¿ùM\99ý¸\87J\ 4!sÝòÅs§O\9e0~Âä\19ó\96Fm&\1f\7fïÉ\vV¸cD²È~t׺¥³Æ\rîÙ±MËæÍ[¶éØc਩àz÷Ñ3Wh8¾Äxy|ïÆ\ 5e.\85\94]J* ö\838Ð5d\a\13
+:\88Ú½GªiÚ\9dGÏ^ýú\eøþõÕóÇ÷o]EnµkÓêÈÅasfÍ\9e»`éÊõÛ\ f\9c$£¼|óû_V¶Ï\1fÛ½!bî¤\11\ 3ztêоC§î}\87\8c\9d¾p\ 5êë3\97oÝg\¿Àx¼|êàVò7¬sRÙ\9få`ǧÍ\9bè<XR\1cÂ\92â=\b\f÷\1e¿P§\9b^½`Ód¨2·o\½bÙÒ¥á\91«ÖoÛ{\84\1cÚÓWð$\16¶¡Æ½\9bV.\9c1~øÀ>½zõî\1f:jÒìÅQ\9bö\1c=sYuN\f"g\8fì\»xÚð\1e­\eUõ&e\7fÆæX˶Æ4lã-\95 \b\96ð\82ä­\9e¾üõ·ßÿøýw\0\ 5qíÆå³'\ eíÙ¾iýÚ5k×oÚ¾çÐÉó×È$¿ý¡b\eCòRô\81mk\97\85a\b\f\1f:tÄ\98\89\96­Þ²Wáú\19\ 4\91\13{7F°]\8fµÊ\161äþ\fe[aÂvg\17BÁÇ\82¥ê\ 5\1f\12Lþøã\8fß\7fS\81ráôñCûvíØ¾}Çîý\87O\9c\ 53O^¼¶°ý\9afÒÎ\1cÙ½iUøüYS'O\9a<ufØ\92\15ë·ï?~öÊ-¦ë×d¶[\97\0\91¨ù\93\ 6Õ§\9e
+\9dÃÈ\8e\ 1\13JaU/8JI1á\ 5\9f¿~óû\1f\7fþñ\a\80Bó©7.\9f?}âÈ¡\83\a\ f\1d9\1e\122çg/\95©4r\80Ï\1f£ÐBu±quä\92\ 5aaó\17\85¯X»e7\8cr\95áúõk6·©Bd\ 4R[_\1fs¬:X>Ì7ÛÃ\9f\83\82e=Jèç(yÏ=RæïlZòÍë\17ÈQn_¿|áìéèèèÓg/\¹qç\ 1\9fÊ\ 4à¯/\9fÞ¿uùìñ\ 3»¶¬_½rÅ\8a¨Õë·ìÜ\7fôôE¤\94O\9e¿zýëëW\ 4\91óÇ      "´7˲¸õ\99Û¾\95¦\85ÄÉÓ2/X\95Ê'\96eZàý\aͧ2 <yxïö\8d«\97/]¼tùÊu\94A\8f\9f¿Rç-ÿþ\13còù#Ê\19\8f\1fÚ»sÛ\96Í[¶îØsàhô¹Ë7îÂ_#\ 6 v1/r`ëÊù\13C)!W\96\12\9dõAu³J\87¼`á25\9aØrz\827Á䯿\14\85#¿¿\7fçö­\9b7oݾ{ÿ!,OBQ&Eà\86º\11\99.\9d\8b>vøàþý\a\ e\1e9~êÜ¥k·i0¾~ó\869Rä«\8a\17!\88\94\96õ¹³Xv^\7fF§g\f/X¬|mK\ 5ż÷s\9a¾þ\8bñ\r\85\83ñÇ\ f\1f\80\1e>Br\8b\11KÊV§[ß¼fø¿zñÜ\99SÑѧ\80£Ë×oÝ{Há\16þ\9f¤z\80\ 2Ò\ e"ê2yÂÏ=®ÃÎ\v\16\10K¢^í\fxÃ{\1fCZÿø9Á÷/\85\fÑùÙÓ§O\9f=\7f\81¤\85qý·:Ýúû\e\ 5F7¯]¹|éòå«×oÞ\ 6Ó¤jx\7f\12êñÝ«Hl\11Õ\19DJÆXmþ\f®cxA½\99\82|7Ú¤½y\1f\8b\83/\80\84¿È[0\8d\ 3£ð¿¯\90\1fþÊàó·e\96øÏ?\985\1e\7f÷ÎíÛ·ïܽ÷à\111M¾ÿ\ f\92\89U\9a\87Ï@ñÃúàr[6ç\7fnóµå\b\0Ú'm(\ 2x\a÷\1cF³Ç\aO]¢ää\8d\18ãà\9cè7âÆÊµÊ7\ 2\13Áè\11\11*]Å \7f(+$/\14e[¢ºÍ\8b|A\ f³]ÉÀà\1dо\ f*\92µ;©D\ 3¼ÙÀS\19\87\eWèÏ?ÿR¸fSi\8coÀÿ5`ôâùs`\b<¿ùíw\ 5`\88F,\1dß³~éô\11=Û°¨þ\ 5^ÄÆ÷\7fØq7Ô\97CM\17õ\9a\87\f\18;{Ù\ 6\9a\1e¥äô7U¯\8cs\vý­¨úÿþÏ·\82¢7ÈÓ\91«¿a<«fR2­³\87·GÑÞÒÀÚeiê;\96\1dµ\9f
+oæ½\e¶Br2oÅf*Ñ\1e°Å0\e\1c,¤ü¨\1e\bÊ>`¶ø]!\9b9þfeýã;W¢÷SYO{༬Qý\vÛÜmð&ïÍ\92\13\827+a\1e=g\99\añøOL²;ÈT\91\88¹\1c";sü£\94l¨}v­YH\95Xír\85\v9Ö-þI¾\95³c\8a©É     J´c\14äiTþ\1d\83Ëwé-[¨,ÛM\ f\9e¥E\8f1}Ûù)Çt|nT\7f\87må4§Ô\80·¥D#\98D#XBÝ\7fþõ ¶­\9c¿e\ve6\820²o#­±Ó®TCnåÌ\898Ø4h\81·\9a\9cTk¤Ì\vî<z\8e©[]Yr\9cb,3Lb»¦ÙVG¥ìýòý\e
+L¬%ZM\9að\99\1d¹\89ÔÍÖz?\85\92\ f²m[f\98«Në»Vâf\87¦½÷¦yÁ nC¦\90ºÏ߸Ϫ\98ÏgûÕÓ{Ê2\ 3[¯,ªNÃÇÑ\ 6Íï¬É      \9bðñõg\13Â[\ eXæú>\v%ö+h\8bÙ
+\9am;l\1cm©²zïtÙè$\16j7\99ºdÝ\1eKGÀç±Í ýðÖ\85c;WÏ\9f\83¿\136\1f\7fg]²TÚM:\ e\18\1fÆú/\1eX\97Ä\1cg\9b }ÿú¹ÃÛhÍWmD\8bã­Þ¶%Ë|Ôrצ×ÈY\11\9b\81\92{O^Y\96{\1dä\9a-ÅÛ:\b¬­¸q{ÚÏwÖÆL}árÔÚ9uÉú½ÖUjÇùf^ûÅãÛ\97NîY·x25>\7fb\eÙçòmkw)åÛ´ãÀ        óYOÀÃç4Ù÷9l["ûÎUaÔõWý\13\9bö>\97mKß\^Ö\81ÑgÌÜ\95*¸?gLþ£¸?\16Ù\97Ï\1e¥ô=\7fl\8bäçóÍv@°&É
\7fé©,S[\16\97\1cg\9b¹¿»\14Ù\97N\e¦öô8ç +ËvRÖ·¬t\17Ás\7f\1eÛªû»x|7Eö\10Öøå\94ÓÎl{À$¥sdñú½Ñ\97ï<yù\19®ä\1f;÷g\1fÙc¹
+é0Û\96ÍT\18\93\13\17¬Ù}âÒíÇ/>\87í¿­½1p\7f\14Ù+Æqd·gû¿p\814&KVõk×o\ت\9d\96ö"G= ¥\81àâ  ¥Ë\8eö}Äqd\8fÁ¶eW\12\8aÚqôÂÍÏñ\80V?¢4\99ÐF\ 4\1aÙãü|\8e\ 4\96]I\85\8aUjئ÷è9+¶\1f9ÿyl[*\ 4\15#J\13\86\9fʶÒÝ^´B\83Ö½FÍ^¾í0\1c÷ó×\8e²m«"\8fïZ\8b*²S -\9e²
+Á      Ç\X6ïRS~}Ö¨¸õ\90Ò:â(Û¶Åá­+æÒ      mÕ¼T\8cÄý\19.\ 4n뮤z­z\8c\98\19¹%F\7f\91CʦþÑK'÷n@¬A\1aŪH'aDa;\85²U:¨ûð\19\11[\94Ö\11GÙV\97+YÇËü    \ 3;\ 6X«Hg`Äʶ§\95í\83\9fÁ¶¥[\83­ÄG(Ó:\96\19\18\89#mÿc[\eÞi\9dÖÑçrÖ\89"q\84mUÙäý\ el\8e\9c=ºO[?»ÓW\9d\80\918ñ$ÿØ\94}l\17k\9f¢3\95\fyâlZçýl\7f©ß¶"\9b\94MçSÚÎ&rÂ\81È\16¶¿4J*M_öÊ\ e¢­!\96\83\85\9d\82\918ÈIh¾Réù'd[\94íI{\15\9c¦l»\f°IûþãÃV;\9c\ 1ª\1dv¬Wcç\1a\86lë)ÎN\1a\90q\91oÿ£,gÓ\ 6\vê\9e²W¶\93¼_\T7ÖvF
+\90«\17N\ eU6=åÍ\9aî\83»£ã\80mËfRsÙÚ\9fWK*}\81Ï\1f"\e¡\rXðÙMª\97²*Û)ÞϺ\9b\95I\ræ\9b\1d¬ÜmÊ>«t u¡\13\v8\e²\9d\83\11\9b#Qü\1f\ e\ 4I5ϦÔ\8fzGG©MQª\eq\8e²m#R`Û\eÇ£\94<vÁ¡Y)Õg3d¯RÚýb4E9\v#ʶHɧF³N\83&-Z»ÇêHbŶ­Q7zߦe\96v?§\ 6È\ 4¶£\85\90ÿÕiÙ-ÆÞ±ØbÄ\96ú­^hSv\9aäq±¢÷A¶­Û"+QF2\8bå\7f\ e\8dHkákKý¤üNV¶õ\10\13ڹۮ߸y\bíö{ÇböÚñz|÷ZewÅgõV:ƶõÈ\18sie\13\16m\8b¼mÛ;\16k\8c\W:Ëû±Îr'#;æñ}(m¦\87ÛA;vlÛ/\9f*\93#ÔYî¼Ô/Á;\aÝô\193g\ 5íøp\fÚ\7fª\93¬l\89]\9d\1cÉè\94\17\8f\8eq¬P\bò¨Õ»T¯í\0Ûö\93¬í¬\93#ÎJýìWn\18Fhw÷\86}È£\98×v\ 4ÚOî)kL\96IÖÌN+|\15¶Ù.xuwwÛ>Êö\1a¶á#öÁæ­åSu\92Õ)çÄZØVÏ\1c \83)i{5rm`\ 4\95\8d\8fö)°Î\0¶|ÚÔ¶|ê¤lÄî(\ fÚ^ت\aù\11\a1¢zí\a7ÎSg\0íôýôÁQ_̶ÝQ\1eÕ\11kÆÎ]¹Mõ#±.ÈØ\94ö3Z\1aÛ\129SÝ2ë\94·\8eظ\8e¹\94ª\1eÓ@k\92\ eÌìX\e\1aöo\f\9f6´kËX\9cQó¥l+\9b?i'yÉ*\8dÚ \1f\89Ø|\0±æ±#í\r\96\11\19\8d\119yp§f5}\9côª\0+×ö§RÔ\f \ 5àU;è\98\86g¯bÕrdc\eIë¥\13»×,\98`÷>  '²M\aóX\ad÷aÓ\97nØ{\92å#±oݱëÃX\156®_;¿ª%iDÆýKGllÇ\1c\90}ÇÎ]±õÐ\99k\8e5J\11Û´îA\8ed\ e;\10¨ø'N\85üR®Õã\842±³u\9aw\1e<y!sÚj+IìGäï¯\9f=@ú·uù,¶Ó×ör\ 4'±mÅ\b;[gÄ\f\8bÓvh\16MYÒ»v\86Nr`í#\85õ\1f?:ôKÙV\e`t\1e¢w5¿¶})ùs\14#ÿØ-ûÂÿ\rëFþï\ 3\88C¶ÕÀnçG(Ö('\90|\88Ñ\18Ä6W¼Pü\9f²¯Úîdp'±m\85v9\82ö¤\85J/ÝSh[iå\7f\9aCY\9bñ\9fÔ`þð&\15d\8b&\rfoxqRG\83\1dÛì°ÀBìÄ©!\93-\1d\97/ØÆ\89¿þ~\87,\1dѬ\17Wé립\Ï\1fß³-\8e)çÏ9\8f\83²*ÔmÙ%tòÂÕ;\ e\9f¹z\87ö\ 4±Öø·Iá\93\88¶LP\13ý¯ÔuN\e¢h·\e½+ª½\7fõRâWc»|\9dæ\9d\aM\f[¹UÙ\88ýìÅ«×ÔF\1e\93Þ0>©Çüõ+ÐË\97¬Mþé\93G÷n]=w|ÏÆe³F±¹\ 6Û[½\9cÈ6;í_y]
+uË\1f9}éÆÝ\a\8f\9fRÓþ«\18ÄØ¤v~¶3äÉ\93'\8f\1f?zD\87\90ݾqåüÉ\83Û×,\9e6¼'½\ 3Ãѽ¾\8e³ý?õh\e\1f_¿`z1NÔæ½´»êÖÝû\ f\1f=~üäÉS\v=al\12\9f\ f\1f\7fÿÞ½»wïܹ}ûÖÍ\e×é@\99\13\awm\88\9c7\81\8e\10fç¨;\9b\10\rÚ{C\9bÓg.YµeÏá\93g/^¹~óÖí;wïÞ³ÐÝ»\16>oÞ¸qýÚµ«W¯\¾|é"\1d°w:úøá};6®\8}T¿\8e\81´åÃɳñÿ±´·rEËÖhÒ¦{èøY\8b£6îØwøÄ©³çi\1fÙ\95«VºrÅÂç¹sgÏ\9c>}*úäÉ\13Ç\8f\1d=rèÀ¾Ý;6¯]¾hæ¸ÁÝÛ4©Q¦°eó\84óæµÕ}Á\9e\92W¥ºÍÚõ\f\1d7cAÄêMÛ÷ì?tôø\89\93ѧN\9d\bÿ\88\8e>y\82ñyøÐ¡\83\aöïÛ»gÏî];·oÛºyúUË\97\84M\1f7¤W\87æõ«(octît¼º7!¯¡°OÕú\81íz\f\1a5yöÂ\88¨u\9b¶nßµ{ÏÞ}ûö«´oßÞ½ÄæÎ\1dÛ·mÙ²yÓÆ\rë×­]³zÕÊ\15\91\11K\17Ï\9f3}ÒèÐ^ô2ÆrÅí_áë¤\89mÖãOGâ
+EKW­×¬M\97¾CÆL\9e\19¶xÙò¨Õk×­ß°aÃF"ü½\1el*|.\8f\8cX\16¾tÉâE\v\17Ì\9f7wά\19Ó¦L\1c;2´_÷\ eì\88Qö¦ÑT_¼/ècl«ûTÓeÉU\0|W©Ó$¨}·¾¡#ÇO\9e>{Þü\85\8b\16/Y²T¡%KÀ&ø\f\ 3\9f³gÍ\9c>mê\94É\93&N\18?vÌè\91Ã\87\85\ eê׫[Ç6Í\e×®\º¨ \9c?ùùûôböåÅÞ¹
\85½+ø6hÚª}\97^ýC\87\8f\1a;~â¤ÉS¦ZhÊ\94É\16>G\81Ñ¡CB\a\ f\1a8 _ß>½{vïÚ9¤}p«@¿z5*ú\14\13éð²ÔN{\e¸\85oz\8d:øÎ\92ÓÃ`*^¦rÍ\ 6þ-Z·ïܽWßþ\ 3\a\r\ e\r\1d¢Ph(c³?ã³G÷n]»tî\14Ò¡}»¶Á­\7f      jÙ<À¿q\83\95Ëz\151êóf§Ã'\13±ch\9dÆ6½8\99øN\979{Þ\82\82\²L%ß:Ê{qÛw\béÔ©sç.D\9d;wîÔ)¤£Êg« \96-\9a\a6kêßįq£\ 6õëÕ©U£zÕJåK\97,jâ=Áµz\84£³\94­Â\84ñ\9d2mÆl¹<ôF¹¸O¹ÊÕkÕmи\89\7fÓ\80f\81\16jÖ, ÀÊgÝ:µkÕ¬á[½ZÕ*\95*V(_¶\8c\8fwÉâEÌ"WÐ#\97.³Ý{Ä\9dƶÊ7\1dx\9f>³.\97GA^*R»Lù\8aUªV÷­Q³fÍZDø»\ 6Ø´ðY®l\99Ò>¥¼½K\96(^¬h\91²\99\1d5_0\7fÞ\º,\19Ò*\a\88¿u\0¯Søþß\8f\89 ð4`\9c\ e½çEsáb%Jz\97*åãSZ%\1f\9fR¥¼½T>Á¨I\12\8dF\81ç\f\85è­çì`ÿ\1cº¬\993¤M\9d"YâDÊÁþ\1f|EKÜð­*<      1Î^1@o4ç\ 4£HGö\9b\88$:»_4
+*\9fÄ(8Í\9b7Onö\86ùìºlY³dÊ\98\9eÞ£`{\1d\81\13¹N`S8c<Eª´é3eÉ\96=g®<yóåó 7$(äáá\91\8fñ\99\e|æÈ®Óe\ 3§Y2gÎ\941c\86ôéé¥\15©S¥L\91,iâ\9f\13ýh}m\85\13¹¶)\1c\8c'J\9c4y\8aTiÒ¥Ï\98)s\96¬Y³\11Ñ+)\18eµòI\8c\12§iR§N\95*eJö\8a\10zG\b{IHBÛëM\9cʶ=ã?þôsâ$É\92§H\99*u\9a4iÓ²×\7f(\84\1fìø\ 4£ÄiÒ¤IÀlbå\85,?ýøcÂ\84ìÍ&ï¾\93Ź\8c«ï\86\ 1ëI\92&M\96,Yr;Â\8fö|\82QpJ¼þ¨¼þ\86N"ýÞö\ 6\9c¯À´Â·Ý\9bx~ü\11\f\81/õÝ6
+\931ù$F\19«\8cYö²!Æñ\a^8ä|Î\89õ\1f~`\Y^%dáÒ\9eO\85Q\v¯¶w;}U\9e­\8c³·L)ü|ÿ\16½Ã§\8dQMØ}\87õ·ß\91õ!>µdô½ôÎ+Éâ)\9fnrS<¦Ü¹K\a7óñ\ fñOR·\\92Ü^åE?üìëß1$°C\92*Irû\15òê\10â\13\14\10\12Ô6Ø¿C7]aü\8aÓ\15ò\rôo­Ë§\¦Ã\15ºª\1d\82Z\ 4\ 5ã\975\ 2ü[\azè<q]\11ü\9f¤Öûï\91Ï 7\9bÍ\9c\19ô\ 6Föÿ0\99\8dF\89×  f^o\92\ 4N\14t¢${Ð×ô\92A0ð&\ f\1a!\1d\82\82[èòy5kÛ4°jÓV\81\ 1!\95ýñ»®ÊÃ\vÕ­\©Vy\1f]a]¾\16¼d2øñ~\1eº"¸¼<gð\ 3?øL½Ð\9e3]¡*mC|\ 3\ 3Úvh\16Ø,6\1fçkÃ\9eÙP\95\87\97%ÙÓ@ÿ©2p¢§U
+O\bAü3A\1azØÉ\10ÒÁ?¸có¶\1dÚ¨\8aÓå«Q»¬\9fW\b>nÚ)$°#ñ\10ã#»_\90\92\r:Ng`ÿÕí\96\84ýÕ,\89¤Ëç¡«[\a\1f\et^\81ø«ÓÛÿ¬Êþ¤oòÊ7sû\19y\93^4\9b\f&Nâ\8cÈåuøS/r\ 6³h\16$Ñ$\9btmè*NÒ\8b&3/r&³`\94d\eÖ\v\90Ð,BPY6ê\8c¼¨ç\ 5Q6\8b\ 6^6á\17\9c\bÑQc        2'JfYÆ\15\82Þl0\88¼Ä\e̼٬ã$IoÂe"Th\909NW\8añ#ê\8d¸\86ã%£Ñ\fvL\92ÞÌs&\91\97ep\80Û\b\82^\12Í\92Äó&\ 3g6é8³Qo\96\ 5\13Ç¡\94âM"®\90ô\ 2Ô/\9bÌ\12¾\84\aÉF2\ e$\13eÙ`0)\ f2\1aô¢lÀãEN2\9au¼AÐ\83EÑlDU\88oëè\ 2\83\8c\ 2^6\eu¨kô\92d\16y\ e¥®ÑHWà+&pn\ 4`yNÀ\15²Þ(q²l2ò\ 6\99çÕ\a\99õ(5M&\83\91ÃC8\1dÏK\0¾Éh\82|fÙ\0Ý\89¼^2qF\9eãp\11´Ëó²^\16\0/\83Q6ñ&\ 1W\18õ²(\0XF(\983éxÈh\92xR\83YàM²ò$\11F1r&\1ewâa\17\1d\93\8c&\93h\90\8d\12\18Õ\19%\83\1e"ñ`_\16\8c²¤ãñhA\80R 3D\83òD\93\1e²É\92É(pЯ\8e\97Hj\18Íl\92Á¾åI¢\1e\15\1f\aÐpF\13~     [èEÁDæ\84\9e\ 5A\91I\86\86Lf\11÷Ôñf\83\9eÃ\ 5d!\83Y0á\ 2\ eZ\909\ 3\98\93Dz\90\f}sÐ\93$J"L©*OÒ\e\ 5³Élƽ\f\12\8c C$\13\10'\88`\ 6\0!ÕH<\1e'\9b\ 4ÈjÖ  \ 6Yo\82Á\0\fpÀL&½  âJÀ\88    \82ë\ 4\ e\8e\0\15\al\bê\93d=Ïóf|ÓlÂ_¸\ f\90\16¡(À\9eÇ}\0#\88\8c'C\81\ 2\9e\ 4@\0»"Æ\10g\92¡o\82\fD&\bAHQÂ=\88[\8c&N\10\f`Jy\12l\aû\b0\ 2tn\16\19Çtü¯     \b(ÀL\82Io\90x\18\12õ4\86\ 2®\10ñ\v\ 3Ç\19HCø\Ô\v\0\ 6Ø\84@\ 6ú\ Àð0\90$ð¸¥ò\1c\ eü\9aD<[\84¬\8aÜ\92     þ\88´\0ñ1$eÜ\awâe\94ò\00ãWÀx\95`a£\89SF\9bÁ\f\rÈ\1c \80\v8=\\1co\90L\82õ14ÐMÿÏÞU\0T\91uÿµ\10   \ 1\ 1\15\ 3\9f\81\82Êãu\88\85\8dÝ­\88\8a\8a\81\85\81íÚÝíÚ±v®Ý­ØM7
+J©Ø»ßwîÌ£¤\1foæÎ<ïïûÿwW\9c÷î9¿ó;ç\9e{çÎ\0ê\844A<I Ý ì\12©\ 4~\ 2y@å\89
+(\91©Ô
+\95L\ 2ATI!D\12\85T¤R\88\90èà\ 2\91T
+ß      É£\ 4õ\80[0¬\\8c¸\87!e\9a\bA\89\91Ë@ªP¨\80\1a\10¯R\bÜBÎ*Õ*\10\83\0]\81Ò\13¨\86\82ï\81"\84J\vú^©\fB\b¶B\18å0éÈD\94è@\e@\87H\85Ê\87TS\19Àg\19Ê3H\f\85\f}\8b\f¤
+ù-Co;V)AQR\90*P\bD!rÁ\12ø\bM\8b
+òN\ 5J\90H `\8ae
\14ê\98\12H\91¨@      25È\1fòL¤Q·\ 4M\81R   ä)\94I\15u\11ä/\94\ 6ÈW\19ü@\ 6\1a\ 4A@ÑU\89Tà \8c!\ 4Fa|\89\ 4\0*\ f0\af L\82t\ 2[QYC3(ÔFH7z\1c1x  ÕA\ ea\ 3sh¯Q\9d\83o\92JQ\98%b¡\f<S\83,Pù\ 2â@a
+`N$F\ 5
+\84£\16I@÷RHzT,\15
+*\ 6ü\ 5|\8dB3
+\88\86\9a\ 4\16\83ß0\8c\ 2\8c\ 3ÞѼ¡\86Â.\90ªá
+È^Hy   \88Yª)\e\88$\85\ 2\8a1èK\ 5©\80r\10þ\1e©\ 3¾\ 3ª;0\ 4AW(èü\81D\11ÂWË\90<à*ÚXø°\1aª\ 6ª|T\17!W\89$`.¨G"¦ê R.\87\82\v<\81üá
+¨§
+(ìR1|7$*8\ 6ÊQAÈ¥`©H®\19\b\12\15\1c\ 1YC²Á\9c\86Â\ffªU"\18\19B       \ e\89\85b(â\90\aT\9e`\92\93"\9eå"T\8e\14\94-`#P-\81\G³\bL¸2)ÈJ\82j\8bRA\8f¤\0u@\95\90C\96ÁÏÐH0i(!¨\90$
+1Ê]%0®\84~\ 3\18WR9\84j\0LX \a\10\f\94\1cHw)ª\100ÏHPm\17\vÕ ]¨<à\85\94.sRH54W¡:\ 1ß/¡\93\b\8a\ 1\94\1aÈq\98³ \10À÷À\14\aó\vÔ#       \15FH\ø;5Lõ n)\9a`\91Sà©\18E\1f*\11\10.\ 6\8fÀTHnz$(?b9\9aR\95hn\91QS\80Z*\a×\94¨\97\80\91ÐD\b\1f\93ª\80\1d1U9D¨®\ 1g*\19\92º\ 2\82\82\9cG3#*ÊÐ` m£
+K'¬\14z\ 6©\ 4rK\8c²S­ Ê%ªOr\15å\ 6È
+\12\16ú\19\94è
\1704d\ 4|)|1ä'°  *\80\91\95"9HZ\84*\9bT,F\99&F³¤4Uy(«!\1eà\14\90¬VÓ_\ 3Ý\ 3Ø\ f\12\ 3¥\1c"\r¢\81\ e\14ºP¸\ 2~\0\83\0ÿ
+\99\14IF\f¡V\81\87\90\19Ðú \91 øAÌ¡×\80)^\92:\10Ð)B\95\ 2Z\ 4Tàaî\ 1!ÀÔ\ 4S\87JF¹\bS\86\ 2¢« \8b»D\ 6ß\8b¦r\88£\12\1a94;¡ö\ 2\b\874PKèi\ f*\94\fÍa"MÒB^    ÕP;\80C\98ÉÔRÊ\ 3È|øR\ 5\ 4I\84\f\96\81ÆÁ\ 3\88%\94I)5Ù\0¯ð\19h'PÎ\8a\94¨\17D=\8f\18MöÔÈ
+\14\ f±C\ f\ 4\9fB{Ã\90G\90\88(\ 40\10¢\ 4¸\84êLÑ\0#\0ýÐS(QMUC­\86VF
\9e\ 2ÍzÈ\10è\r\94TÕQ(!ï¡\9c\88ähö\82öD"×È\ eJ\19jeAF\10)\11\92\1dØ/B¥\r\14BE\0r\14:ApX\ 6\19)GÍ\8b\98
+>T$¨áJt\ 5ªÃ\90\8bÐ\19Â<,¡æ\11%\92\vò\10HO\15\12:bÐ95\1f\81âA
+(Ô =1\95(h\92\80ùH\86ú=(D04\947h\Ð\8c\ 4A\92A Õ2\88\12|\9bBD§5h\eÚ    Ô\9aJ4#A\v)\86B\ 6ê\96¡$¤\8a\bä0L\ fHXÈ'è\82\81\90@º¡\f\84\8bQJBã\ 6-\80
+%-\94\17Ø\87\9f\80kt;\vv+Q¡\94hz\13T\88ä
+4-C\ 3\0Ñ\86î\1aæ>%\9a¦¡gP£\f\84&\13Â\ 3ü£bªiã¡\15CõC\81
+(\\ 1¥
+ª(j1Pÿ\ 2\8b\ 5`\ fª#è\16ýL£\a \1dª\8eH\82\84\ f¥\10®\12¡µ\12Jt%H\1e}\ fÔ\1d¥
+-;\94"\94´Ô\15Ð\9a\8b\80\8a`zÌfñ\ 2­.JHMÛ\90ë
+§5\Õ¨?µ6¢ÿ×h\bµèµïâåå>\ 2Ö}\83Ǹ\ fôôðò\16H\1d\ 4\8eHsà\18T(TM`Ù\ 2åR¡FÝ\ fÔ
+\98\ 2je\v\94\81\91P\b A\83^\11,\87ñÑâ\ 1þ       \97\81\1c¡dÃ\8aH\8d\84
+y©\14¡©\15\89F\86j\ 6\90<°º\80Ô\80ÞIM5Y°ö\124\1a\föA\83\8d:XT{`Y#£×\83¨Y\97¢\1a\ 6ë\1e  rÖ\11ͨj1\9a,a6\87¾J \87©E\8dÌ\82\1f@ë#\174B+¼A\94û\8d\1ae½xO·¶\1eåî=\ 4-½²^[+\ 5N®À\13µdí4Ä}\94Gg\9fQ\1eyZvë\90 j³\82Þ\1a\80/\16Ø7vqm®\89`g´æN¿kà¬ÙOpsqU#O:yû\f÷pK35Ý\9a\9b^;ÃB;+µHtª\16:\98)ÿ¤Â­       NÚ"?û}\16ø~\15¬"²ÚgÑü\95\ 3ü\10\1a\ 5%(\84Ú\9e
+\ 2\956U¾vZ\80,ϱ#%yØhÉâÏé¶R(»D);))\7fJ5³¶£Tc\1fe«T§{)){"¢\94=\11Í~JÞÈfwS«ÀDãÙ³\ 2êÆ¸klqq\15¸\8có\1e) ÷\12='y¤\r\91)!Ûõ\1fë1f¼Ç@·V\1e>nôEcu±\89\97Ë_w¯G6ÑÈ&\1aÙD#\9bhd\13\8d\91M4²\89F6ÑÈ&\1aÙD#\9bhd\13\8dl¢ép\13ÍM\91Í\19\95\1cöÑ4{\16\ÚþÉÖ\r\9d\1dµáÃþ\90:õOÝkQû\8eð]ÔQ©V\1e>\19\98ëØ´\19"\ fþàÚÄM¬¤¹C\17kþ.õzç\f\17i~RËÅÕ\r.næ9ÜÛcL\ 6Ûó°\91\99ëN\11õ\1d\ 2d\f=\80 é A\1eh\8cT:å¿\8cçê5ÖÛÝk\0\8cåîíî\ 6ƶq\1f\95Í`9¸ßt¢Ç\80qèâ¬HøuHäbê\a2\1a\90.nP{\¼à\vaÚ¦âBíâ\8c3MÛWEÁDçßÀS\8f\7f\18ìé¥9\f\aÑ\84k\9a\9b:5ñ\18ï9À£cóF\82îmM{¥~\1c­\83 ÙRÃò\f\9af(ꨲ*¡Á\82F\15\16~*A\1f(ü0\89Àô\ fz\19\92¿OR\17j>\9dòoè\12àÃb%õ=° @\17\99ÚÙQ6#ßë\bÐ"M¦0íîj\94Çw\13\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10ð\ 59?ö\8aÛ:\ 2\9cÐîQiÜV\13°\ 4íäA¤òû à
+!:ÑcèJ\1e\84è\93\1dè\\1eL\a\v»\ 1¿\15\18\92\a£aÂnÀo\ 5\86\84Áh\8c¸`Ãï\ 3\9dë\81\85\18qßB=\ 3C\843\1a\ 2\1e\99ª\a`\9am&Èç\91©ú\ 1v\b×-óü²V\ fÀ\1aá:d\9eG¦ê\aX#\\87ÌóËZ=\0\9b\84ë\84v~Y«\1f`\99ó\82ÓÎ/kõ\ 3,s^pÚùe­~\80\vN;ï\fÖ\ 3ð\8e\19¬\aà\1dç¼3X\ fÀ;Îyg°\1e\80w\9cóËZý\0Ë\9c\17\9cv~Y«\1fà\1dç¼3X\ fÀGÎyg0ßÁGÂùh3¯ÁGÂyg0ßÁGÂùh3¯ÁGÂyg0ßÁGÂùh3¯ÁG¶ùh3\7fÁG¶ùh3¯ÁGÂyg0ßÁGÂùh3\7fÁ4ÛL\10Î;\83ù\ e>\12Î;\83y\rFÙf\8e\19Ìk0Ê6s\84óÎ`þ\82\99æ\9cw\ 6ó\17ÌQÍ(á¼3\98¿`\8ej¦       ç£Í<\ 5sT3M8\1fmæ#\98ã\99\ 5¶ùh3\1fÁ\10Ï,\10ÎG\9bù\bæxf\81m\9e\9aÍ/0G2;lóÔl~\819\92Ùa\9b§fó\bÌ1Ì\ eÕüµ\9c/`\94av¨æ©Ù9\eÏÂÐy\as\f³æ2\8fÌæ\941,ØÌ\1dï¸o9\aMbßr\8c~qÙrÎ\1aÆ\ 5\17Øô\88\9b\963jU\ 1\94\17ìøÂ5ã\19µ§àæqÓ\17^;Â\1dK
+n^~¡7\8e\vGÌÐ\89\85\9c"\96\1d\17Øq\84#f\14ÜB®\11Ë\82\v¬ùÂ\ 5\e
+n!\a\89\ 5Ö|Án@^À;V\195\9eew8Ef\ eà\11¥L\eϾ;Ø\rÈ#øÅ*£Æ³ï\ e§ÈÌ\19\94!³1zÄ)>s\ 6/ødÈlìNq\87Ï\9cÁ\v2\990\9b\v~q\8aÒ\1cÀ}&un3wüâ\14«9\83Ë4êÐ`nzÇ5n³\ 3\97\89µ\v\90SÜæ\0Î\12¨\13\ 3F\8fØ\1c:ïà,{\ 5·Vk`ô\88Í¡ó\ 5®ñ\96\1d\18\90\ 3'\9cå\1aÏY\82k¤e\aÆD\81ß_®Q\9d\19\c,K0¬\vÌ.s\8díÌà\ eW9\80\15uàt\9c\83\9c§\aw\88Ê\ 1,j\ 4çqA\Cç\ 5\1ca);°©\10\ eºÏ\11p\9c\1f"\12.\80Ëä°¬\10Îò\80\1d\f\86\88\84 g°¯\10¢\13~\ 1\97B\88Hx\ 4"\12\82\9c\81Q!D$|\ 1\11    AÎÀ«\10\1a¸9 È      ¸Õ¡\ 1n\1a\br\ 2nuh\80\9b\ 6\82l\81[\1a\19\80\9b\f\82,\80[\14¿\ 27\1f\ 4Y\0·(²\0nJ\b2\0·\1c²\ 6nV\bÒ\80[\vÙ\ 271\ 4iÀ­\85\9c\80\9b\e\ 2\ 4Ü*È\ 5¸é!àºBhà&éw\aîøç      ¸Iú­\81;øy\ 5n\9e~_à\8e\80\9b­ß\14¸Ã\9e?àfëw\ 4î\98k\ 3Ü\9cý^À\1d\81\9b¹ß\ 5¸ã\ à&ïw\ 1î8\17\14¸ùÓ\7fà\8e°n\80\9bE}\ 6îØê\12¸¹ÔOà\8eª\8e\81\9b\ 4î¨ê\1e¸\19Õ7à\8e'SÀÍ«þ\0w$\99\ 5nvõ\ 1¸cÈ\ 6psÌ{à\ e \eÀÍ1¿\81;zì\ 17Ó|\ 5
+Üdó\12¸\83Æ6póÍ?à\8e\18\1eàf\9d\1d.<ÀÍ:\9f\80;VØ\80\9b\0w p\ 27÷ü\0î(á\aî\bð\0¸C\84\1f¸#Àuà\8e\ f'\80;\b\\aîøp\ 2¸\83Àuà\8e\ f'\80;\b\\aîøp\ 5¸ãÀ]à\8e\f\87\80;\14Ü\ 5îÈp\b¸CÁ]à\8e\f\87\80;\14Ü\ 5îÈp\v¸£ÁQà\ e\v·\80;\1a\1c\ 5î°p\ e¸\ 3ÂEà\8e   ç\80; \\ 4î\98p\ e¸\ 3ÂEà\8e        \17\81;&\9c\ 3î\80p\11¸cÂ9à\ e\b\17\81;&\9c\ 3î\80p\14¸ÃÂ-à\8e\ 6G\81;,Ü\ 2îhp\17¸#Ã!à\ e\ 5w\81;2\1c\ 2îPp\17¸#Ã!à\ e\ 5§\81;8\1c\ 2îPp\17¸#Ã!à\ e\ 5§\81;8\\ 1î8p\1a¸\83Ã\15à\8e\ 3×\81;>\9c\0î ð\0¸CÄ     à\ e\ 2×\81;>\9c\0î ð\0¸C\84\1f¸#À\ 3à\ e\11'\80;\b<\0î\10á\aî\bð\0¸C\84\1f¸#À\ fà\8e\12\8e\0\ f\80;Dø\81;\ 2ü\0î(a\ 6núù\ 1ÜQÂ\ fÜ\11à\apG       3pÓÏ\ fà\8e\12\8e\0?\80;J\98\81\9b~~\0w\94ð\ 3w\ 4x\0Ü!Â\ fÜ\11à\ 1p\87\88\13À\1d\ 4®\ 3w|8\ 1ÜAà:pÇ\87\1d\aN\ 3wp¸\ 2Üqà:pÇ\87\13À\1d\ 4®\ 3w|¸\ 2Üqà4p\a\87\1d\aN\ 3wp¸\ 2Üqà4p\a\87\1d
+\8e\ 2wX¸\ 5ÜÑà"pÇ\84\1d\10.\ 2wL8\aÜ\ 1á"pÇ\84\1d\10Î\ 1w@¸\bÜ1á\1cp\a\84\8bÀ\1d\13Î\ 1w@8\aÜ\ 1á"pÇ\84\1d\10.\ 2wL8\aÜ\ 1á"pÇ\84\1d\r\8e\ 2wX¸\ 5ÜÑà(p\87\85\1d
\ 2wd¸\ 2Üqà:pÇ\a3pÓÏ\ fà\8e\126à&\9e\1d\81\9bo\1e\ 3wèØ\0n\8eõ\r¸ã©cà¦ó÷\ 5îÈç        ¸I"È+\880\bt\ e"     \ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\82\1cÀÐÞ#\ 1\ 1\ 1\ 1Áï\86B©ÀmIÞ\ 1Æ\16.\¸\b\0þÅ\17Û\91ÍE\8a\163@(V¬hÑ"\94鸭Ê\r`uÑbÅ\r\8d\8cM\0ÆF%\8a\e\14\ 3Ë9n7\18]¤Xñ\12&f\16\96ÖÖÖV\96\16f¦Æ%\8a\17Ë\9bݸ\92\ 1\19]Ô \84\89¹UÙ
+\95*W©,°­PÖºTIcC\83¢\85s1§\10\9d\10\85ÙW\14\1a·h1Cc3«r\ 2»ZNb\89Däè`'(_ÚÂÄ\10ñ\9dÛg\8b\14E(²¢h}\18\95´,[©\86\93¢^£¦Í\9a5nXGæXݶ,²;G³©Ï\1a\14744\84T`Õn\94\8a\ 6\86&æ¥+Ú     \95.-;vïݧw\8fÎm\9a8K\1c\ 4\8d\8bç$\13ú³F&¦¦¦&F ¨"\85\v±Uø\81/\83\12¦¥l\ 4\ e²\ 6-»öó\1cå=nìHO÷®­\1aÈìm­K\96(V$\a³Áê\12¦æ\96V\90Äæ¦F\86¨ö¤\82\v\15*R¬\84©eùjBu³Ný\86O\989\7fñ\92Es§y\ féÕ¦\81Ä®|)\93\1cè\86Ï\1a\94(iY¦¼m¥J\15m¬-ÀpÐJ1Tö\8b1¬u ¬¸I©òv¢z­z\f\990{Ù\86m»vmß´j\9eÏÐ^­ê:V.c\96\ 3Ý\85
+\1734µ,'¨^³v-\a»Jå¬K\99\99\9a\18\ 3\8c\8cJ\182«u\18º\84YÙ*NõÚôñ\9a¶dÓ\9e#§Î\9eùçðîõ\v|\86tk¦°¯`\99\83º\81lc\v\9b*5%Ê:uTRÇ\1a\95\94¶¶²²²,enFI&·êY\0³ahË\8a5ë´ê3òÏU;\8f\9e¿~×÷îÍK'÷®\9f\7fûúNUÊ\80º³5»¨¡©u¥\9aò\ 6ÍZ¶rmR_)ªU£\1a\14}A¥\8aåÊX\99\9b\18\1aäR=\vdvqÓÒUÄ\8d»\r\9b±zÏ?×î?{í÷ê©ï\95\13»VÍ\18Þ£¹¢Fy\v#\83lT\ 2ú*a^ÎNÚ°u\97^}ûtïØ²I}µB&\11\8b\845«W©P&×êY ³\8b\1a\9aÙTW¶r\9f¸tç©\9bO\ 2Â"#Ã\83^ø^<ü×ÂñýÛÖ­mkeR<[³\8b\19[ÚÖrnÕÃcÄèÑ^CÜ{uiߺeó¦\8d\eÔ\91     «Û\966ËÖa\9d\98m^Þ¡nÇ¡\7fn<ríiPtlÜû\98ÈÀg·Nï^9Õ³³\8b¨riÓìÍ60±®,jÔÙcì´ÙsgÏ\984ÖËÓ£¿[ïî\9dZ7®#ª^Á\12U!ÆÌ.aQ¡V\83®#ço?ãë\1f\1d\97ôñCBløëû\17\ f®\9fåÕ½\89¤j\99\92\86Ù\99]ÄÀ´tUYó^^Ó\17¯Ù¸qÝÊ%ógÍ\982ÑÛkpß\8eÍë8V.]Ò\90±¤¤Ì®íÒcì\92=\97\9e\84¾ûðùËç\ f\81\8f¯\1eÝ<wTϦR0;[¶Áì2v\8aVîã\17lØ}ðð¡ý{vüµqÍòE³&yõëÐHjgc^\82\r-*8ºôô^¶ïêó\88øä¯ß¾&'¾\ryz\1dÌ\1eÙ£\89¸J\ e")bP²luU[\8f)+v\1d?\7fåê\95\8bçN\1d?¸gëÚ\85\93\87õl¡¬Q\8eY³Í\81m0{ÿµ\97Q\89_¾ÿøö91&äÉÕÃ\eþ\1cÖ¥¡°\92\95\95\ 4Ø\ 6³Û\r\9e¾öÀ\85Û\ f\9f>}òÐ÷Ö\95³Gw­\9d=ºo+\95=£f\17\81\94¬Ý°\aevtâ×\1f\7fN|\13øðâ¾\95\93\a¶­ã\0\ 50»2\ 6)   "Qµ\e2sÃÑk\8fýBÂB\83\ 3^>ºuþÐæ\ 5Þn-\95ÕmÌJ0\97\92E\8a\9b\97¯Õ ûØ¥û4f\7fK\8e\8f|uç\9fm\vÆôj\86¤\9dm^¡JRº\9a²Íà\99\e\8fßz\19ú&ö]LTèë\aW\8eþ5\7ftïæ²jÙ'³NÌ6K5\e\89äû×\ f±!\8f/\1fX=uPûºµ*Z\1ag[|Qݶ®*oå1}ãñ;~QqI\1f\12ßE\ 5<º|\bÉËÅ)\ayéÆìr5)³¯¾@f\ 3ÙQ¯n\9fÜ2\ f\12R\92\13Ù\7fü\ 1f[U\96º\ e\98ºþø\1dÿ7\89\9f\92?ÆEùû\9e۳ܧ\7fkµ}y\8bìÛ\ 2\9d\98\9dÂ6\98ýùë\97\ f\ f/ì]îãÞZe\9fÃÔ\8eÌ.jd)\107ï7yíÑÛ`vrò\87÷aÏo\1cÝ4{D×F¢ÊÖ¦9.1
+l6Ò6¤$\12IÂç/\9fâ#^Ü8ºáÏ¡\9d\1a8B\9cs\1a\1az\92R¶¢¦}}V\1f¹å\al\7fJx\13à{v×\92ñ\90\90\8crZa\14Ølº\0\8e[~à:\98ý      \8avàý³;\17\8d\85\86ºí\9cÖdÈl§&}&®:|óutü\87¤ØÐ§W\ e®\996¸C=ª\97a²q\85馢°Qï +\ fÞx\15\9dðñÃûðgW\ f®\992°­Ú\81\96HöC\17NovT\ÂûÈ×\90\14sGvo,\86\86\97Áþ\8f\1eº\92&ÐÀXR|´ÿ½S[çyusq\12äF\98æ³n\93Ðg£Þ½\7f\13ôèÂ\9ee\13ú!\89äâq\81Í.fdUYÒ¢?U\r¢ãâcB\9f\Þ·Òǽ¥\ 2M\179\13\86>+\90´p\9f²îØm¿È\98\98ð\977\8fn\989¤#H\ 4º?æÖ\b\9a)£ª¢õ \99\9bÿñ\r\88~\17\eùúÎÉ¿f\ fë\\1f\86ξd§û,Ôí\19\9bNÞó\8f|\13\15øàÜ.H\8a¦\92*L6\7fÔÐE\8a\97,[£N\87as·\9f}\18\14\1d\13\1dôèâÞeãû¶ &¹\9c\87F\v£²ÕÕí\87ÎÙzæ~@DTè\8b\eGÖO\1fÔVm\ f\12\8aü¡é¤j5è6z1ô­ÁQÑa/o\1dßø§gǺµ*\94Êmhj\85Q³~×Q\8bv_x\1c\18\11\1eððüîÅcz4\16      ¨\15\11\93d\83<-\ 5\90\91\13W\1d¼þ<$2\ 2\86޳Ļw3     jXs!\e>[ª\92S\93ÞãW\1c¸ú,8<äåíã\eg\ en§®QÎ\8c¹Ö\8f\1e\1aâ\¦\9a¢µÇ\8c\8dÇo¿
+\8d\by\ 1I5cp{ç\9c:¿T³aMVEÖ\12æöc·^\86\84\ 5B./\1fß»©XÀd3B\8f\fkïò5ëuö\9a¿ãì}ÿ°0ÿ\açw/ñîÕT\8c¦æÜ6[QZ\80´=go=íë\17\1aêç{fÛÜá\9dêÖ,Ï`\9f­\19ÙÀØJ nÚgÂ\8aýW\9e\ 4\86\ 6¿¸y\fŹ\ ejñs\9b-(i\rendstream\rendobj\r1152 0 obj\r<</Length 65536>>stream\r
+×¢¥ý(\0>{ëèúi\ 3ZÉ«\956e\9clC3\9b\1aª¶\83@#·^\ 4\87ø?¼¸wé¸Þ\88l\93\g\vh¤¨9rÂÊ\ 3×\9e\ 5\85\ 5=¹²où¸^\8d\9dlKå&¯\ 2\9b\8d6:\84.ÝG/Úuî¾_HðK¨Ù³\86v\0\1egªÛ®"sÕH;ÔÿÁ¹\9dó½:×s(gfX\94i²K\96\85¥÷\80)k\ f_{\1a\18\12ðäÊ\81\95>nÍ¥U¬sO**\9ba%é9{\v%í×wÿÙüçà6J»2Lk¤\b\8a\8e\rºzÍß~úÞ«à\90×¾gvÌ÷êÒ V\85<tøh;\vªv\97\91\v\81a!/o\1d]7Ž\85¤²\95\1a¡È.c'oé>iÕ\ 1*!\9fß\84¤\1aØZ\ 1\84e·É\90\ 6ªý\136ÚÁϯ\1dX1¡wc¡m)æ\16¾\94Ùh¯ÕÖ±A\97\11ó¶\9eºû*$,àñ¥¿\97yCRU²Ì=©
+iVdý¡\8fºõ*4<øÉå½KÆtkP«¼9s\vß?4e\ 4\94\9dBvxèkèXç\fëèL%Un\84Ñ[RªvCfm9åë\1f\1e\ 1=ëÎ\ 5^\9dêÚÛd»\8b¥\13«a\\13«JB\97®^ó¶\9dº÷:\f\eGÖNéï*«Z:\ f³\1c¬\8a`é\\ f¤½ëÂã È\88À\87g·Í\19Ú^]\9dÙ\8cDw\11ÌËÕPµ\1e0eõÁ«O\83##\82\1e_ܳdl\ f\17Ç<\15Þ\14i\8f[¾ÿÚóШÈ\80û§·Ì\1aÒVY\r|fp-\ 6\12AÛñMz\8c^¸ã\8c¯_xt\84ß½S[f\ fíPÇÞ&\ f\85W#m´D8zûuÄ\9bÈ\0ß\7f6Íðh%¯jÍ`!A\121.U±VÝö\83§¯?|ýyhttØ\8b\e\87×LvwÍSÑN\91vÛ!³þ:u?0êm\94ÿÝ\13\e¦\rp\95Rõ/\ fãkuï\92ºÑdc'oÑwüÒÝç\1f\ 4\8d\ e~|iÏ\92\91\8a\96¡¤í\0\ 2\90vÈÛ\98(ÿ;Ç l7\97\bP\15ÊÙàÂ\9aC+©ÇVònuÑâ¦Ö\ 2'\97®#æl>qëexLlT\80/ÒHû:5lò²u\aÒ¶¨èب'Hûê\8bðØØ(¿ÛG×Lrk&ªTÊ(û*¤¹C_ÌÀ 8\ 5tn\85\927«)\89Tp¨Óvà\94Õ\a.? ~û.6âåÍ# \91\16\bêf\ 4\12jCê\96_Ô»wQ¯o\1d^íÓ·\89Sö³M!ê\1cE±â\86%\8cMLK"\98RçVò|l\85¾\17YMÖ¼·÷¢\9dg|ý£ÞÇÁ\82=_\1a¡6[\15\95sàÛ¸÷Q¯n\1c\\89&Iøx\96ùL\11\r6\e\9b\9a\95²².SÖÆÆ¦lÙÒV¥Ì570s·\e\9c.\8eJvÃÎÃfm:vóEø»\84¸7\81ùÒ\bZ"ØÔpî8|Þ\8es\8fBbãßG¾¼¾\7fù¸\9e.µ+\98gU\86è³\1fÅ\8dLÌ-Ë\94«(¨jWÃÞÞ¾Fõj\95+\96³¶0-a\90\17»Ñ"м\9c½ºõ\80I+÷]z\1c\1c\93\90\18\17ù*?\1aѬ\9c\ev\1f³dïåçáï\13ÞG<¿ú7=·\9be\9e$\vÑ\a\9a\8cL-¬ËUªæ \94ÈUÎuëÕuV+$\8e5*\97·23Êþ\e\95\8f¨d÷\1c½\0:?ÿèø¤¤waOó£\11j\89PIÔ´ÏÄU\87\8a\8aK|\1fþìÒîE£ºÔsÈbn×\1cX1-U¦B\15\a'EÝF-Z·ïعKçN\1dÚ4o¨\12ÕÐÜÁ̵Q\86~µBͺ\1d\ 6ÏX\7fä:p\95ô11&ð~¾4B/\11Z\ e\98¶áøÝ\80·      \89ïÂ\9e\Ø9\7fDÇ:5Ê\96ü5Xô\81&S\8bÒ\15«Ö\92:7nÝ©g?\8f¡#¼F\8e\1c1Ôíkk\17¹C¥Ò9Ü!Oý\16Ô¯V\955\87\92½çüà\98ÄO\1f\13¢^Ý<\9c\1f\8dPK\ 45,\11\9ey\10\1c\9b\98ø.ä\11jIÚ©Ð"!£\ 1\88jCcsëòUkÉê5ïÐkà\bïÉ3æÌ_¸háü9Ó'\8cpïÔDáPÑ2Û[ÍiC¢ù±výNÃfo>qûuTü§ä\8fïÃ\9e\ܳxL÷¼j$Ý\12áâÓ°÷I\89±Á÷OýõçàÖ\8aªÖ&\19?\8f¬¦OÙHêµèÔ×Ó{Ú¼ek7mÛ¹{Ïî\9d[7,\9f=~P\97&R;\9bÜvVRûÕ~>+ö]¦n ~N\8a\81:ò×,OJ#yi;Ó-\11®½\8c\8aÿ\0"ó=¹qúÀ\96²*¿Ìí\94Õ%­ÊW\13Öiڱﰠ     ³\96®ß¾ïÈ?g/\¼téÂ\99c{7-òñèXß±R.û\8d)ýjî^s·þs\17ݺø\92\9c\10õòÆ¡Õ\93úåY#é\96\bèî\aäFÀÝãë§öo\91in\87D2,iU±\86´A\9b^\9eãg/ß¼÷ØÙ+·|\1f=yöìÙ\93\a·.\1cÙ²h\9c[K\85\929¶o(\1fÓúÕgáï?}ùòñ}èã\v»\16\8dêÖ°6\9a,ò \91ô}Tpì\87OIo\ 3è\96D\f\9f$©³A\96\15ìe\8d\1f=sÙæ}'/ÝzøÜ/(4<"2",èÕ\83+G6Î\1aÞ¹Aí\9cÅIå#]üP¿\1aø6éó×ÏIo¡}Û4sp[Uõ²yÒ\buwÍ¡.ôQ;/<   \8bû\98\9cÁìôlSç{ÊU\975é2hâ\82õ{O\¾ûäupÄ\9bØ÷ñ                      q±\91þ\ f.ü½|Bßæ\12´1\93ý\99,ÊyÛÚõ:\fAÅïEDܧ¯_\93ãa®Ø¿bB\9ffb\81\95q^züBT\1fEß§\7f\11\99\90üù\83F$\9a¾5õ\eèªUEìÒið¤%[\ f_¸óÔ?,ú]|ÒÇäÏ_¾|Nþ\10\17ùúö\89M\7f\ ei§®\91\ 3aèì\9c±Eù\1aÊ\96ý&,£\8aß\87/ß¾|\88\rzpfÛ¼\11\9dëåu÷\ eÝØ«$jææ³úð-¿7I\9f¿|\8c\r¢V    ­åU3,n u¡ºúv\ 3|\96n?qíáë°7ï\13?}þúíû\8f\1f?\7f|ÿúñ]Èã\v»\17\8d\ 6yV°È¶\ 5\ 3«\8dÌmªI\9bö\185oËITü\92¿~û\8c\8a6,"Ñî]^6\1a4\19YE\8a&\9b\13w\ 3c>~ùúé}ÈÃ3[ÑR2#kÔ\89¦ªÒæ½Ç.ÜzâÆÓ ¨÷I\9f¾|ûñóß\7fÿ\ 3üûãK"´`\87Vû¸A -³^\15Q'$\8dÌËV\11¹tö\9c±îÐÕ§¡ï>~ù\ 6\1eCB¢íôFÂ<îÞ¥´\7f\83ÿüëô\83àw\9f¾}K\8e\ f\7fz\11&÷®ÔÎPZÀ¨ÃT\ eÎH\92\87¯=\ry\9b@\eýß\7fÔ£^ÿýüö1&ðÞÉM3\a\99¥±ºLeaýö\1e\93Wì=ÿ ðmâçoß>'FûÝ>¾q\ 6ÚN·ÉÃFÃ\1f\9a\93\rÕÕí\87ÍÝ~îQh\ò·ïÀÚËë\aWMìÛL\fâN\1d\9eÚ¸·\156ê9fñîsh¼ätF\83Ùÿ~O\8e\v}|\1em\1dÖE»\1c\99Í\86z]´¸1p-¬×¶ÿ\84%;NÝy\1d\19ÿéë7\88/tÚ{\97QÛ¬yÜN§\8e¿Ôpî4bþÎ\8bOÂã?\7fÿñõÃÛ\0º\18i|/\94b6R\93«ûä5\87\8c\8c\96Îhd÷\8f/     \91/®î_6®g#ªQÿ\953ª10±°©êT¯m¿q\v·\1c¿ñ<ì\1dä#Eö\9d\13\9bgyv¨\9b\97mV\8dÙÐlÛ×í\fSû¥g\11  _~üüþ\89.ý£»»\bÓÝ`KU\13,&îA\12\99Þh¤\12ð\17Vsk§@7\94yï°\10}\84Ö²|5QývîÞóÿ:zíIHLÒço(\97\81lªtJs8^\94Él3\e\87z]F-Úsùy$2\eX\83\89ö0Êkz£ǧ¦¥êê\ e´\9aÞ'\7fÿ7\83ÕH%\9fÞ\ 5¡nfHÛÌâFV\1772³®XCâÒ¡ÿ¸ù\9b\8f\y\1cô&\ 1\ræuT9g\ríX¯f\85\ïÖ¤3\eVí]G/Þ{åydâ×\1fÿþü
+%ðþ\99íóGvmèHÓ]è\8fÌjúñï/Ï_þûãs\1cjy\17ÐâÎÀ\9a¦s,S©¦¢Ig\8f \vÿ:råQ`4\bûûw¨ÙÁ\8f.ìY:®OsiÕ¼\92\9dÉl¨gßÑ\9cuíàêÉý[)Óî\1eÓjrF»\12\97\9e\7fùñß/f\83¸\13AÜû\96y÷¤\9aÏ´¶D#\90R6U\1cÕ-ºyÂduôê£\0Újt¼èå\rt¿¹Cݼ\93M[\93N$?ÿû\17\894Ð÷ôöù£º§;IB±mïÜ  Ì¾\98µÙð¹7~hÍ\8f¶*Òµ3)\ 2©`'®ßº÷\88éËw\9c¸ö\98æúÇ÷/Iô!\8c1Ôýæ<\9f\94\92ÿQ¥\fè>´vÚ vÎ5+\96¢\8f!SG×jÔé8bÞ\8e\v\94H2\99ý/ªÜÔ~VKi\95´\9cL\15\88\83¼Q\a÷1³Öì9uói\10\8f¯°<@\870¦z´­c\9fû}Ètf#É\825ówÒÖü\v\13Þ×\ f°°;»k±w\9f\16òêÔù\86Â\854\9dbû¡s¶\9dE)\99IÛÿ\ 3\ 5?8\r+\8c6\8aÔMÏô\ 2iÞuÐ\84ù\eö\9f»ó\1cMV_¿ÿü\ 1Ó:\14¿\7f¶ÌõêÖÈI`\9d÷#  \9a\83t鬡è\ 6ÁÝ<¶iö\88n\8dÄUéÓêP·M¬«Êés\b\9f~­$tN\86>:·}î0z\8b\99\92V\9a@êµî5|êÒ­G.ù¾
+\8bILþúãçÏïèPÔ£\v{\97\97\97C\18\19ÌÎd\rEwlÈãKûWO\1dÜ¡¾P`\8d\14¦\96\13\9a\93\eþo?|û\99ENÆ\87\b«çNÎ\9aÕsF\81\8cþsÕ®\13×\1eùG¼\83z\rVÿøö).üÅ\8d#\efzRç?\8có~j¥Pfk\10Ý\10<\7fß³»\96NtoS§fEê\b\ruëRØ\18Ý\95¿ö"21«\9cü\92\10ñìÒî\85#;kîCd\12Ⱦ3·@Öq\1f¾|\87\8aõ\93\1aåÞéí\vQ>æ|n.\134KIÚ\9a(d\r\98ý\13x\88xyëäÖ\ 5cû¸¢ãêÆ\ 6E\8bÐg º\8c\°óüã,æ\eÊìÈç\97÷Ð[,f\94§\19\ 4²åðÅ{/CiYÿû/ô\8cTL÷­\9c\8d\9aÊÇ|ܹ(\94b\rº\ 1\12\16GYó\1fõ\95¡O¯\1dÙ8Û«{\13iµ² »¢E\8bS«·Á37\9d¼\17\10óáë¯*\81
+\bf_\ 1³»R÷a\8b\15-Vü\17\81\8f\88¥dý¯\86\9a\177\8em\9c¥9~\9b¯SdÔ6       ²æOº×@\9aýï?\b`âÛ G\97\ e¬\99îÙ©¡\13:¾]¬(¬·+K\9aõ\9d¸\12©$\ 1\15\9dìÙ.gVÂÀÀ0+\81\80¬Q\87\8eFxãï{fÇ¢±è0jÙ|ä#e6-îæn>«\ e]G'L\7fPtÿ\84^!Úÿþ¹=Ë'\rhë\ËÖÊÄÐÀÀ\b\1d\82NP<\f\8eýøkR¢\1e0EÛ\ eåÌ\8dJ\18\95´ª`'úE HÖÿ¥KûUÔ¡á
+¥ò\91\8f´ÙÔYõ\86ÝF!\95¤h\16¾\16b\18ùêΩí\8b¼ûº*íË\9721,^¬¬\9d²õÀië\8eÞ|\15\95ø+Ýÿýø\f\95ä\ 2UIàzSSóÒ¶ö2\97öý2
+\84^\fÑ\12\81";kx\17\17(Ùù>ÕI\1f%¡4{â.Ô\12\88\8e\8fïÂ\9eß8¶yÎÈ\1eMevå,LJ\94\1285F\v\85\v\8fB`%\94\91î\7f\7f$¿\ f¥öá:Ô±¯`]Êʦr-U³.\99\ 5ò?ªVi$âݧ¹Ì.¿\12ù\83^ÚZ  ÄÍÐ9\14tÆ^C"Jˤ\98àÇ\97\ f®\9b1´K#I5\e\v\13#\13\8bòöuÚ¡ÃÒ·_GÓzJ#[Ó¹nþ\13\16\18\ e¶6e+TsªÛ²ç°)K2
+DÃ\89F"S@"5ó-\91\9dú\191oÛ\99\aA)\9aÕ$MÀ\83ó{WN\19ܱ¡¨ª\8d\ 5ĽL\15IÓÞã\96î½ø$ô}Fºa5ùá­ÿ\9dãèN¿ºV\15A\15{I\83¶}GÎ\¹óÄÕt\ 2¡¿ZSE´\96È\1f)g¬ä-\aLY{\ 44\9b !\91úòøÈ×wOïZæ3°C\ 3°ÛÒÌܪb­º\1d<gm>qÇÿMÒ\97ô\8d  Ô¿ÄhX»¯\9aäÞª\8e\93\83\83PÙ¤Ó\0ï¹ëþÎ(\10\r!h¢)\80DþH]ÜR\ahΧÓ,%ï÷á/n\9dܾxÂ\80ö\rDÕÊY[Z\95Gw\12'¬Øwùix\\86)\aZ\92ø\88g\97ÿ^6¡_ëzr\89¼\9ek·!>\8b6\1f¼pïEz\81Ðò\83^\ 4&\1aª\8ah%\11\ 4ú¸\92ºí \19\e\8eÝ\ 2ͦ\94\b\97¤ØÐg7\8eo]\84ì\16ÛU,[¦|U§\86]FÌÝzÚ70Ã\94\83\1a0X\84\9eß½x\¿v\8dë7hÚ®Ï\88iË·\1f»òÀ/<\9d\85?\11\eÏo\1cÝX\0\89üA5¯&V\ 2Q\93^ÞKö\x\1cò.eyKË;&øéõcÈî\ e.2\87ʶ¶U\1dë¶ó\98\ eé)}c\ 2íö'è[ÏîX4~@\976­Úv\e0fÖêÝÿ\\7f\1c\18õ>M ´ö\92ã£üî\9eÚ¾\10M4ZJä\8f\94¤tpn?dæÆc·^EÆ'\7fר\8df\9dÄ·ÁO®\81Ý\13=:7U       í«Û;9·î7qù¯*¡÷w|OïXâãÙ·GO÷a>\v6ì?{ûyð\9bø\8fi\ 2¡¢\ 2\13pàÃ\v\7f¯\98\8d\16\13Mzº\8b\9b\12á½x×¹\aAo\93¾¤Ê\ 4Í\96o\82\9e\;¾mÉdÏ\1e­\1a($by\836nã\96Ði\90Þl´Áâ{f×\8a\19c\87y\ e\1f7s\99¦µ\86ÎéÇÏtÛ@t»sõðú\99C;7\14j-\91?è[²\16@w»AÓÖ\1eºö,\fd\92\ fÚîë'v¬\981²_g×F\r\\9awì?~ñγiÅ2Åì\98À\aç÷oX8còä\99\v×í>\99ÚZ§ß¼Ò4\97'¶ÌC\8f\8bå»\17ù\95nSëÊ¢ÆÝGÍßzò\ eÈäÓ·\9f\19ì\ e~zóÔ\9eµó&\ esëÖ±C\97>æ,ß}.³Ù±!O®\1eß¹~ù\92åk·\1d<\9bÖZ§Yý\1fÕëøÝ;³kÉø~­TÐ\ 3h-\91?ÒÎÑ´r\9f¸lϹû\ 1o\12>kä­±ûmÈó;ç\ enY>k¢×\10\8fÁ#&Î[\7fàÒ£à\8cf\7fûô>üåÝ\vG÷îØ¾ëÀ?W|S[ë´"I\v;èáÅ}«¦\ ej_¯v~ÛÕ_Í.DÝ\ 2w¬ßqÈôµ\a.?\ e\8eIúò=­ÌB^Æ\84½º\7fåäß\9b\9b9uê\8c\ 5kv\9e¼ñ<,ý<\89
+`Btà\93Û\97N\9f<yæòí'\19\8c¾vxÃ\9fû6\12\15ø¡\aôܵY\99ª\92&ݽæl:z\1däý!EÞ´ÝIï"\ 2\9eÞ¹xbß¶\rkV¯Ý¼ûØ¥û~Qñé+      2é]\84ÿ³û·oÞ¾÷øUHú\891\93°ç\8fîÕ\ngc^À\87\1eÐ~\82\11º7áÚ×{á¶\7fn¿\8a\88K\9575Üç\ fqoBý\1eß¹|æØ¡\ 3\a\8f\9eº\ 2s_LRºf\8a\ eJlD°ßË\17¯üC"cÓO\8cé\85\r\93ú®¥\13Ü[«éÚW°CMÔ\9d +ÛZÎm\aø,ß}Ö×?:\ 1UïT\9a¾\7fù\94ø.:Ô\ fȼ~õêõ;\ f_\86¼\89ÿô5\9d]07}ý\94øþmTDDä\9bØø\ fÉ\19©N]2ÑÂîPϱ\92µiÁ\1fz@2)Yº²°AÇ!ÓÖ\1c¸DÉ;\95K°ûÇ·Ï\1f\13ß½ \ fò{ùüÙ\8b×\81áoãÐ4\92A\ 2ß¿&\7fH\8c\8f\8b\8b\90üõ{Æýït\15\9b\12¶¸J.Ï/åÑlô"\ 5³²U%\8d»\8d\98½éè\8dçá\19\12\ e\19õí󧤸Ø7Q\11á\11Qoß%|üU\ 4È·/\9f\93?%'\7fùúýÇÏ_Ö>\9aÆì¦Î\84\9dB7\92w¹ê\8a\16\17í8}ÏÿM\86\7f´UÉ\1f\93\12âãã\13\92>&g¬mÔ\15pÉ÷ïß¾\83Í¿P\9d²Ê\836xç\12h\11u"ì\14»Ñ\8dÎ\8a5\9dÛ\ e\9c¼j?º\85\9fq\95K\19þýÛW ôóç/_3ܺÑ\\0\86\83éÿR7Ïþ\97Ñj*\1d\ 3î£E\87G{\1d       ;ÕnCê\8c[\97\11sþ:yÇï×e\17e×Ï\9f?~ü@·"\7f\8d¾\82\1fkv0.\1fX\vK<\17\91n\84­1\9b\96\ 3Ü&,ÿûÒ\13\98N2o=i(ÍʸìAuî1!h¿h\8e\17ZPëHØ©vSwzëu\1a6û¯\7fî\ 5¼Í¼õ¤\15¨%ï»°ç7\8foY0¦\8f«Ò^gÂÖØM\1d½ª*káæ³*eëI\17VÿÔlºìX2Á½M\9dZ¶V:~Ø\15­+-*Ön\806(³¼!¦\95Ùô\1eÀýs{VLFé((­óç/é-Ae\9bA36\9e¸\e\10\93Å6¶\16dS»"O®\1c\;\ 3½\0£\8af\9f_§fS'GÑñº\95\a©-A\1d\98\8d\16\8f\11/o\1e§ö·¤Õ¨tÔõùêÂiÏ;e}ÿQ\e²\93b\ 2ï\9fÛµd\1cz\1c\1a­\ftÿ¼\17ýप\9dç¬-§ï\a¿Ëâ\1eM¾ÍF7:_\?¼núàöukÙZ2ò8tÊ\91\80þS×\1d»\93å=\9aü\9a\rKúØ \agw,\1cÝ£±\98±g]Óß\15Ñ\85¸ÑÝáè×7\8f¬\9bæÑF\85^\18¢ët¤\91á8cÁÅý\1fºï\17þôÒÞ¥Þ=\e;      ¬
+²äÍÑìô\87GC
+,njÿ8øÁé­s\86vp¶/gÆÔãÐ\19\8fêÆdº×\91_³éýãcë§\ eh\99·§\80´\ 4u0\1a½_\80z7AR\ 1Û\12zÿø:zF­       £\8f_ÒOªÒ\ fp?\8b(¨¸é\eQ\97÷,\1eݵ~ÍòY\1e¿×\91Ù\9aÇå\87ÎÙvæa\81ÅM\9d\8ey|~ǼáÔ\81\9e\9e®J\8bû\8e\7fA\9bW´í\1dòàô_\8c\95þ\99wÔ¼~)\88JP!\89\r¼\97îd5sϨiîg{-Øy\1e\9a×\ 2©\84:\1c\93Í\11e]\9b\9d®y-¨J¨úç\97ëãG:1;¥y¥ïTf¾»\9e\93Þ¼¾qpÅø^\8d\1c+Z0ù\1c\9dÊùÛÏ>D\a_\vbö×$T¶S\1e?bô\19]úm\10­\ 6N[\7f\14\9d\8e.\80J¨Ùæåµ}˼{ G\8b\99|F\97~÷F%§Æ=½\97îÍtÿ1ÿfG½¸¶oéØî\rj\95Ëâ©)]\ 2Ý©,gïÜaèì-§|\ 3\vÒ\97ÐfS\ f{կɴÙèN¥u\15i\8b~\93V£C&   _´NJvͦ÷\1dÐ!\93\9dç³8\83ÁQ³S\ e\99´\194}ñÛ\997\ 39k6uÈ\ 4ÝÏ^º÷R¦3\18\1c6[ó$\82ç\9f\9bOÜñ{£5ݬV\92\94ûÙÒæ}Ç£½×PJÝÚØÍfÝþC\93\94\15jÖë8t\16z60:á³vµ\9bÍY\92²[ó\98M\9fñK÷\x\14\12ûñëOmìf±'¡Í¦é®Û\ 1½´ó&zôC+º¡qe«\ 3Ô\98M=e,iÚk,uZ#&í¶p>ÍNí·s}K\81\ 6ºË;Ôië1mÝaô¤\9dVtS«\9b ß\93èU\16²*L¾Ê"ÕlTL\ 4è´Æ\82íÔs\8dZÑM­%\1f\9eÙ:Û\93\98é\9c¤OkØ §H'¯>xõ¹\96\8d :°F=ÊÍüÛe4fS/ô¡\9eÙ\9d·í\94oÀÛ$mæ\1cú\9cñ\95¿a¾i\98Ík
+tmwú7ú\}¦\1dݨp¿y}óЪ\89}\9b¢Wp0\9e\93\7f¤{\7fÒÜ­§î\ 5h¥nº\94 çZÐ\8e\83u\9e\9e\98-¨ÙÔs´Õä®î>ZÓý_JNRï *\9b×§¯
+f7õn°Ú4ݾÚÝ^E9\19þ\14½\15¢kýZLn\ 2¦3[C7R÷AêMäZÐý\93~ptå\84>MEyy9\97Nì¦éF¯b;s?\bu&ù7û\eõ0÷\86é\ 3\99ÜàÎ`vº\17ßÝÐjU\89æI\10÷Ùíó\86w¤o'0ov\86×\f¢G\17´Ø\10\ 4q'D@å^æÝ3ÏOV\17ÜlÍ)iêÑ\ 5­\92\92ªÜ~·\8e®\9bÚ\9fÙÛ \19ìF¯Ð¬,F\8fÛÐw³3=\94\95«Ùô\11é3Ûæ\ eëX7O¯\9eÓ\85ÙhU\89~\87\ 4u7;L\8b{"ÿ¥\9e£\1f\97Ç\17ýéÄnú]©Ô\v%\1fhu7\9bVÉícy\7f­¢.Ì.l@Ýð\e8mÃ\89{\81±\1fµ\99(A%PKÐK,ëg|U\ 1\83 ö1Ñ\9b¹×\1c¹å§ÍMx¤\92\84È\17×\ e¬\9cèÖ\\92··½\14\1cÔ;Ô\1d\e¡·Ü\×î>%}\92þÞÉÍèÝ:\fÞ       Îhv\11Cê÷\ 3\8cYò7úµ\ 6Ú\98\8d\9e\8aFo2Z2¶'JÊ\Þ\ 5®+³Ñ3åu»¤=\9c\9d_³ÿ÷/uÊ\ 1½@Ø£\rzM\r\etk\1e\15ï0|Þ\8eó\8fÃâ´¹+\8cÎ\94¼\v~xnçÂQÝÐ\8b,\99_  §¼tBÙvȬ-g\1e\86 Ãjù7\9b\97×\ f­\99Ü¿\15Ô@6èÖ\1cy ^;\9fõ£ây¡\9bzvþô¶y^]\1aÔ®ÈJcB½E]Ü\1c=\9c}ÇÿíGmî\9bÑ\a¦\9e_=°Ê§\9fk^_°SP³S\7f\13Ä¡\9b¯µ¼o¦©\81§¶Ì\19Þ©^\9eÞ\9b\`h~i\11õ«F´«\80)5ð)zõ{\9ff\9aW\823m6ú¥E5Ñ\ 1\93½\97µ¬\80Ô\11\7f¨\81·\8fm\98>¨M^_ÕU@³Ó~9\ 1z5Iæ\97eäÉì\94¤\9c;<ï/½*\90Õ\855¿þ\fµ®Z\9eUÓ<!\1e\94\99¯%\85¨]\a[G\97îc\16£\8eû=ý\8e£¬\8fÅç`5z4-àþÙ\9d\vGwgcmF=²`]Yó\14è£\90XôðÒ\8f\9f4þM=9\9f½\eÔ£\ 1è\99\9c\98°ç7Oü5×\v½Ó\87\ 5³é\17ÅRï\12>wß\1f½t\f½ÝíËWÀ7ôØGª\13Y¸¡y<äk2zJêåÝs\7f£gàòó\96\1d­­¦^)g¯jå>aéÎS·\9e\ 5E¾}\17\17\9f\90\98\98\98\94\94ôáãÇOè¹\10\8d\17\99ÜøùãÇ÷ï_¿|J\8a\8b\89\bxzûÜþ\rsF÷n¡¨ÎäïÆÓ\98­yj«\8dûø\85\7f\1d¾xçÉ«À\90°ð\88Ȩ¨èè7ocbß½\a'\90\17\99Ý@ÿú\9cüéCÂû7á\81Ï}¯þ³wÝ\ïþíê\v\ 5¥uöøJ¶f\17C¿æ³¶së¾£g­ÚqøÌ\95\1e>~úìù\8b\97/_½ö\v\b\f\ e¥\9dÈì\ 6 !!þ}ìÛÈPÿg¾×N\1fܺ|æ\18÷\ e.\12»r\16L·ÜÔ³fÖ\95j©[t\1f2aÎ\8a\ e\1c=yæÜÅK\97¯\½výÆ­;÷îÓN¼Èì\ 6 2"<4ÈÿÅ£;WN\1fܾz\9eÏÐÞm\eJkT´2eô\97\91¶­½¬Q»ÞC¼§Î]²rݦ­ÛwíÞû÷ßû\ e\1c<|ôÄ©3ç\91\13W®þê\ 6ÂógO\1eùÞ¾zþÄþ­«çOörïÜÜYdWÁªd    \ 6\7f\15«Æì¢\86&Ô¯\1anÒ¶{¿!^Þ>SgÌ\9e·`áâ%K\97-_¹zí\86Í[wìÚ½\ay\91Ñ\8d+Wáÿ/_ºpö\9f£ûwn\>wÒÈþ][6\90Õ¬\βd \ 6\8eùg2\e½\8aƶºPÙ Yë\8e]{¹õ\1fä9lÄÈQ£Ç\8c\1d7~âäi3)'\16/Éä\ 6\9eÝ;·m^»|Á\8cñÃÝ»¶j¨p¬V±´\85IÞÞ\1a]@³©7å\96©XÕÁI¦ªÛ°q3×Öí:têܵ[·î={õé7 Å\891c\7fq\ 3°xñÂùsfN\19ç5¨Oç\96\r\95B;Û²¥J\1aåõWË\17ÈlÍï¶¶©(¨ZÝ¡\96P$\95+ÕÎuëÕoÐÐ¥Q\93æ\1a'\90\17=Ò»\ 1~\8c\19=zÔÈ\11C\a¹÷êÒ¦i=¹cõJe-K\1aÓ/\16ga)\89^\ 2m\ÒÜÒº\8c
+\15+U®Z­z\r{\a\87\9aµj;:\89S\9c¨ßàW7\0]»tîØ¾u\8bÆõ\94â\9aÕlËZ\9a\19k~u9ÓFStSo\917261533·°´².\8dÞË^®\ù
+\15\9c¨ù\8b\e\14êÕuV)$Â\9av\82òeJ\95dÏhÊîB©¯ì7,Q\ 2̧Þ\82o\86|(\95æÄ/n ?à\9fö5ìªV¶E¿\7fÚÔ\88M£S\f×ü~\84¢`¿æw\ e\18\1aftÂÌü\177\066eËX£wå\eçã-ÿº¶\9dBá´ßð\90Þ       äÅ/n\04¿\99À°¸A>~§\ 2ã.dt"£\e)00(V\94\19³Ñ¿¢P¡ìÜÐüÒ\rî\99\9c\15
+e\ 4ns\b\b\b\b\bpÂή©×À&îÞî¦Ý[\98Ú¹¸ÊÝàÏ\1dÝÇz{\8c1mkjçæä2Æ»\89ç\0\91^îc|\ 4uàGb\81SG\ f÷á\ 2{ú2\ 1\!h7Æs°§\17ü°Ó\0÷á\1e\ e\82Úp\9d3ü¿i\97¬¿ÃÞQ$T©Tb©H \12\8a(¤ÿ\ f¥Rª\94ª\ 4r©H¨\16+\942øO\85\ 3ú\98D(\92ÉÕrµ\83À©\93÷\18O¯Á\ 2{\97\81#û{´ë?Ôc\80w\ewøÙDzt§îmZwqm"¨#°\1f,\81¯p\93¸9\b\9cárW±È\r\f\82¿Ó\\98Þ4\81\91Þ\1d=\ 6\8c\1c3Ðc`^þÚ~\ 45fï\14\87$j\85º¶\bý\8fvB©RÖNqC^[®@\ eP\9eÈÕªÞ\ eéÜð\1eãî5vÐÈ1#4ä   ì;umîæâ\r\7fÝ\7f\9c·ÇXdF\86¿J÷\ 3D´H \16\88¨ÿu÷1¥þ5ÐT!°w\10\ 6\7f-\12¸xÀ¿Æýú\9f\7f¶£þ\89>/¡?oç&S)\84"µD%QËE*\99J,\10ËeB\89D%U+D*±L­\14\8c@W©\95B±H¬\90©¥Rµ\©\82«\94B\91X$W\88å*\95\10ÈT*¡L&\ 5÷Ej©D.\15\88\15\1e\89\14A\1c¥p\81Z¨Rª¥J\99Z,SÊÕ\ 2±R.\14ˤ
+\b´D¤T(\ 5\8d)sЧ\94\12\95J¦T\89UJ\81X\ 5W\89Å\12\99D.\82ï\97Á÷\80~$b\89\92KT
+\81X-\15\8aà\ 32µJ¤\94\ 2\99R)\94B\14\f\91J-\90\88$B\95\ 4þV¢Vªäj1=\90\12>¦RKÁ\ 5\91B\ e£KÄb¡T¦\96\89¨«\14è{¤B9|\ eþ \16\89\14\ 2\TË\81)\99\ 2Ü\ 2\97\94"¡D$Rª\14 \ 6\15Ø\ 6\96\vÁo9\84\16)dôH
+\99\10\98\84\14P\8a\11\87\ 2\89T*THdr¹X,U©Õ\ 2\99B\f\19\ 1\ e«áË\11¹\12©R(\17\ 1u"µH¬RK\ 42¹J¨\94(äb\95\12\81%2\88\91T\ 2C(¤\10\11      =\8e\.\94JUb¥B-\16A\0\ 5à¾Pª\16©ä*¹L&\ 6æä\12!\ 4C¡R(À\a¹\18.P\våjðNªPÈ\14(\88r\ 5|/\ 4IªP\ 3k@\9dB)T\89 |\10\f\91D\13"\b½Z\ 4?\91\83Ñ@°@\ 2\84\ 3%"\89\ 6\17\ 5ä\ 1\fª\90J\14à\16x¬Bj\91\81¾T\12\85\b1\aù\ 1\11R\82ÈÀ-4\90Z!T\82ï"\90\9fL$Sk\98S
+%2\14}±R\ 5\ 4\v¤\10I%¸¤\90«à*¹
+\fV\vEr¹T)\96ª%r\85Z\0\81\87\90\80\ f2¸H\ 2\17\90®
+\19ú\81\\ ej\96B\10U\1290\ fÖÊÁ\94\94\10\81[\10 ðA     ±\97\8aÀ\1c\95\12<\0\15\80±ð=*!0'Q(P\bEh ¥\104    \11\ 5Ó@k\94\$ f¹\©\94\88AeR±\ 4Ø\95B\86\0¡\10X\8dì\80\ 3Ä\0d\ 5_,\15Ëá*H<\18E\ 2"\80ïQ\b\15b%\84\11>'\ 3=KA\98\10\ 4¢"EzQª\84HLHôà\1aºB$\84ôR£¢\ 4ºÔÈA%\ 6\8b!M\94J\88\83J\ 5W©!\87U\12¥B¬\86J\v\ 2WÉà{à\13* ¨\ 2äKY,\87t\ 6)\82\8e\94t®)Å2(\10"\ 5JQ\18\16ô \13\83´Ô\12\88Sj*©Uà;\b\18"\8eØ\ 3A\83\9e wU\10=¤pÈ}\89\ 2X\10£Ü\ 1iªE0\92H\ 1\95\14\12A%¡RI\81(PÊER)\88U\ 2æ\ 3\95(\97à²\14ö 
+2D\9eZ¡P¨D\12Ð'rA\84²F\r5\98
+\13T$(A@\fh\ 4.\0=@à%\90ê2%2E\89RG.\13!*(åA½S¨AS\12\19\90¬VhÈ\83Ì\96\82¨ \96\90\eð=2\18\19\fS@âÀø¨\9cA\12ÃÐP\93\80<ÈQ \ 3´ :S@\r\91\82:\87ø\86\10*!\ 3\95rHk¹\10\12\16\ 4\8cê\8eT3\12\94\16þ\ f¾Q\85ê\90\14
+2¤½\12´¤\80\18È!(JH?\b,\ 4\ 2\91\b!\80\10\ 3P1\ 4
+\ 6R\ 1w`\ 6\94Eø^\15e,ò\ fÌS\0C\1a=@\86\90\ 5\ 2\92\90v\\89b RÃè@\8dZ"\14£°B\16@i\aî@\ e¨\ e\83\9fÈ1\ 1$<\98\82ì\a/Qå\92 ¬\80Ú\ 2s8Ô69=\90\1c4\ 2¹\ 3åW\f9(\86`+á{\95¨d*)Ñ\83K "\b\ 6Ô8(2¨nR\15\ 4Ä\8clC¹#\97@B\ 2­ðß"5\88\1a®\05\83\9e¤\104\11ü\98\1e\10Ba\93AQVKàS 0\98+\94\12ôE j)ô\15 D5*ÎJ¤\12\ 5å3T}°F)Cy
+\ 3Ae\85Y\bf&5\94#1UZár\85X*\81ï\11+4\ 3\81}À$\94\19°Y\8e
+0\8a-|L*\93 y\a¾\a¸\ 2[e"(0"T|ÑÐ\10\1eÈ\1c9Te%e\8b\1c\89\17¼\90\89Ñt\ 2r\80«©(« ÀôH2Ð\b¤¶\fØQRE\\ 6a\83\ 2\b\91Sô      >ÁÐP&\95\10\9cÊ%\19LoP\8e \84ÈäP\ 6\ 4¨ù\80\ 4Q!â jÓu\1e¦\ eÐ\87J\rÁ¢s   Ê\9dP
\ 4¯\80\9cÎ%(öà\0\\ 6\ 5C\8e8W J "\85Y\r\82\0s&LY -¨\1a@\1e\9ai¡"*\94\10\1eÈ~¸\0&\14ø³\1c\1a\ 1P\88F\ f\ 6\8a\14fQä¸
+\15\11\103T%\90\9b\\0%\a*\1c5-Á|\ 2\ 5DBµ\ej9\9a?@\ 1
+1\90     P¢i\82*ÐP²¤\12\91T\ e£)5#Aa\94C¯¢\868¡      \ e\154(H0IBÉCÂ\ 3S !\81s\10\ 2¤²@*\81)\92ª¢à!\94b\ 1´\aPP °B¬!ó%T\9d\a\17eP\98Ôè/è\81Pjè0 \b\rºVô=ðg\98)a\9e\87y_!\92Ât&Eó*h\aý=\94!\18\11\8a/LØr4\ e*û0\ 1@¦Ká\1aª:Cé\83è\80¼5µ\ 1\r\ 3n\80
+ERÐ9=\15HQÒÀ\18\12Tÿ G\ 3Q\89\81H\88\eUä¡\ 5\85Â\ 1_*U¢9\13®\80ò\ 1ñ\84\8a¤\92*ärj\ 2TBÎBÈ`ú\93È4#A \81b\8cz\170GFMK*¤w\98\14\81\1c\88\80\1aì\ 3{\81M\98\95¨É\ 2&\1d\11ª\ 5@&|\19\8c\ 4J\85\94\ 1«¡¥\13ÑÔ¡?\81äQ\eB\8f\ 4ó'\\85¦H\10\ 4ÐEÍØb¨«ÐÏ@\90Ô\88;\91P\8cÚD\11Ì®\12¨¬(Ö\90J
+ÔñA\ f'§l\11¡ò\fu[%URó\8d\12Õ(àF\9dRï $À$\84XAý\99\8c\9e\0Ðé\ 2\95r\94³ð\ 31Ll24Í\83èA¾ \1f¨e`=L\0À\ 2¤\87\90jX \1fP\aJM'@\92\ 45\17H\11\1aÙ\89\81<\11\9a1\81,4+A»\ 6a\16Aƪav\ 3ò`N\87z\84¦%¥\1c5\1d\84\90u*ÔRC\94$T®ÉP§\ 6\93>ä1Êjh'@rР\ 2ã)9\vÝ\f$\1d\84\ 5Æ\13£ÖK*\ 3ÏQç\ eÄÃ\ f\ 5@©PBµx¨\7f\96TAÍ\90P\8caz\11£+PN¨ ãe¨\ 1\15Óm-\14\ fè\87P\1c\94©u\bfn\11¤,*GÐfCû\ e\ e@Q\ 1\89\8bQm\85R
+Ù+\81n\16H¤úy¨ÙJÔ1É\90ÆÁkèkQ+\r%\b~.FK\v\18       >\aeB\8cZ&z ¸\bZ9%%# \ fÖ\1cBÔ´\0\930e\80}@  \\ 1}\ 4\90#AI\8b®\80\98\80µ -A¶k\18D\1e\8c\94²´Èm¥Ó\1a®jÔ\9fZ#Ñÿk4\84Z\ 6Ûwñòr\1f\ 1\vÁÁcÜ\azzxy\vd\ e\ 2G¨ÞÐPÂ\ 4      $¡\99K\0\8e@\83\ 6l@½\84èË\ 4ÔRW\85Z\1d\15t¬07Ãò\11
+$ø"Aÿ\84ë¤ÔHèÇj9*\91à*ÌðÈ<ÔF@e\aMA6AõB\15S\89
+\1c\8c\02\82u\£Á`\9f£\1cõ\ 30\91ÁÜ\r\99!§¾\ fd\0¥   úy\19\88\ fÔhÊ\10óh\1d\ 5a\10BAGåI\89t)h\84\16z\83\e5Êz5\9fn­=ÊÝ{\b¬\ eTY¯µ\95\ 2'W \89Z¿v\1aâ>Ê£³Ï(\8f<-ÃuÈ\ fµ{Ao\15À\17\vì\e»¸6×\ 4°3Z\80§ßEpÖì/¸¹¸ª\91'\9d¼}\86{¸¥\99\9an\ 1N/¡aÕ\9d\95X$:\15\v½ÒOù'\15mMpÒVüÙm¼ Â`:\17g¹ï¢ù+G(ÞðCh1\95\ 2G)µ]\ 1í¨Z\8e
+E¾w^\14yØvÉâÏ©\e+\1a«D)Û*)\7fJ5²¶£Tc\1de©T§Û*)\e\94\8d\11ÍÖJ^¨f}\8f«\80LcÜÂ\ 2úƸkÌqq\15¸\8có\1e) ·\17='y¤\r\91)%Ûõ\1fë1f¼Ç@·V\1e>nôEcu±­\97Ë_w¯\97Ã\9e\1aÙM#»id7\8dì¦\91Ý4²\9bFvÓÈn\1aÙM#»id7\8dì¦\91Ý4²\9b¦ån\9a\9b"\9bÃ+9l¨i¶/¸³\ f\94­\13::\81Ã\8f\8d"uê\9fº×¢¶\1fỨ#T­<|2ðÖ±i3D\1düÁµ\89\9b\1dºXów©×;g¸Hó\93Z.®npq3ÏáÞ\1ec2Ø\9e\87ýÌ\w\8c¨ï\10 cè\ 1\ 4M\a\rò@c¤Ò)ÿe<W¯±Þî^\ 3`,wow70¶\8dû¨l\ 6ËÁý¦\13=\ 6\8cC\17gE¯C"\17S?\90Ñ\80tq\83Âãâ\ 5_\bÝ\v\15\17j+g\9ciÚö*
+&:\17\a\9ezÔ¡ÿ³\91Ç`O/Í!9\88&\ÓÜÔ©\89ÇxÏ\ 1\1e\1d\9b7\12tokÚ+õã0\8b   Ñ¬\ 1í),\ 1 \ 2H%0½¨ÐÚ
+&Wè\81\ 5}`¢\82¦\19º\1e\10Ì\90|~\14]\99òñ\94\7fC\83\ 2\9f\16+©/\82µ.ºÈÔÎ\8e²\1ay_\aí
\92Ú´»«Q¾\1f?&                           `\1d9¼ô\ 4·iz\ eB8Fhñ\ e Ü&ë     \bÕx¡\85òIht\ 2Â3v\14Pü$4Z\83ð\8c\17:Q>      \8dÖ(\bÕ$
+\ 5\81ÖÌç\1c\14\82¼\83\89\10\90
+Â9GÀh H8²\ 4!\9c;`:\16$"¿\80\10Î)\90\fB8wÀN,HDRA\bç\14H8X\ 6!\9cS á`\19l\12N8Ï\15$\1c,\83\10Î)\90\fB8§@ÂÁ&Xf\9b\10\9e+H8Ø\ 4Ël\13Îs\ 5\89\ 5\9b`\99mÂy® ±`\13,³M8Ï\15$\16,\83e   ç9\83\ 4\82e°I8á<W\90\f6       '\9cç
+\12\v\96Á&á\84ó\AbÁ2Ø$\9cp\9e+H X\ 6k\84\13Úó\b\12\b\ eÛ\84ó¼\83\ 4\82M°À6¡=ï \81`\19ì\10N8Ï#H X\ 6\v\84\13Úó\ e\12\ 5\96Á4á\84ö|\81\ 4\82e0M8¡=_ Q`\19\8c\12NhÏ\17H r\ 6\13\1e\11ι\ 3\12\88\9cw\8c\12^\10Ã~O\90@d\ 6£>2DµÖöüæ \81ø\ 5L{ªs\9e\vb\f\ 1     Dz°à¯®è-\88\r\ 44H ~\ 1Ó^ë\84Û\82\18@\90\1e$\10éÁ\82ã:\19B»¡   2\83Ä"=Xp\'Ch74Af\90\aÓîëêûó5(A\ e ±H\ 5\v\fèv\88¼\8cH\90\ 3H,RÁ\ 2\ 3:\1f"çá\br\ 5       \a\rv\18`b\94\1c\86\15$\16ÿc«\b07Ê\1f|#\9c; á`\88\81Ì<°6\10AÞAÂÁ\10\ 3¿PÁÎ(\ 4ù\ 2\89\b£\f¤ç\81\85!\bò\vF\83Â\8b¸0Í\0M\ 2\vC\10h\ 1\12\17¦\19`\a¸Yä+HhX`\80ià¦\90Ç Ña\81\ 1¦\81\9b\82\ 4\885\ 6\18\ 5n\16ù
+\12 ÿñ?\ 5póÇc\90\8fèÿ7\ 6\7f#¥ÃA\99ó\97\1dè\90Õß\r¼\8b\17\13ãêÊ/,(\b\99¿9x\145F\87Öá\97³\ f]\bá7\ 5÷\ 3ÇÎÐ\f\8dÂ\ e\18ÐÅï\ 2.\a\8eåÑ\99\1e\8e!0&\8dß\ 2¸£\87áÙÀìFgmPÝ\82\15\99è-pG\ fs\11æ\1a\eZ\80-¥è!p\87\ e\ 1»=Ø\r( Ø\95\8c^\ 1\10°\eÃ5Bò\ 5Ö%£WÀ\1d=\ 4.XÂ5Nò\ e\1cªÑ\1fà\8e\1eWÀ_Np)G?\80;z\\ 1O9Á%\eý\0îèq\b\ 5\97\ 3¸£Ç-ð\91\16\8câÑ\ 3à\8e\1e·ÀGZ0\8aG\ f\80;zÜ\ 2ïhÁ¨\1cý\0î\0r\v¼£\ 5£rô\ 3¸\ 3È9ð\8b\13Üòá=p\a\90\11'¸µ£\ fÀ\1d\81G\9càÖ\8e>\0oø0\8e®\aÀ­\1d}\0ÞØá\1a]\ f\80W6z\ 3¼áÃ5º\1e\0¯lô\ 6xc\87et=\0FÁè\19ðF\10×è|\a^Íè\13ðF\10×è|\a^Íè\13ð\ 6\11ãèü\ 5nÉè\e\93 \7fÀ­\17}\ 3îx\12ä\ 3¸Å¢\87À\1dR\82|\0·Xô\10¸CJ\90\ fà\16\8b\1e\ 2wH    ò
+ÜJÑ[à\ e,A\9e\80[&z\vÜ\81\1d¸5¢çÀ\1d^\82\\80[ z\ eÜá%È  ¸Õ¡ÿÀ\1da\82\9c\80[\1d¿\ 5p\a\99 kàÖÅï\ 2Üq&È\1a¸uñ\e\ 1w¨    ~\ 5nEü^À\1dm\82_\81[\11¿\1dp\a\9c \r¸µð;\ 2wÌ    4À-\84ß\17¸#O\80\80[\ 5¿5p\aÿw\aîøÿîÀ\1dÿß\1d¸ãO@R\0\epG\9e\0\ 1·
+~_à\8e<\81\ 6¸\85ð;\ 2wÌ Ò\80[\v¿\1dp\a\9càWàVÄï\ 5\9d\87L'_ø;\ 3\97\12~C°\13 ÝÊãw\0\13±&ø\ 5,ÇEç"Ñcè*Ä\ 49\0KD\18\12\8cþAW\84\13d       \8c\81`N3ú\ 4\9dÓN\90\1ex£À¨rô\ 6\f\91\ 5þ\19U\8e~\80\7f[p\87|FÅ£\a`!\ 4¿!8E>£úÑ\ 3°\13\85ß\a\1c¤\9dQýð\1dl\ 6BïÁYÚ\99Ó\ fßÁr ô\e\9cå\9cQ   ñ\1dì\87C/ÁqÂ\99Ó\ fß\81%\1cz\ 6\9dÙ\f]K\89\97À\18\11½\ 4¯ÙfGr\\ 3nÖõ\1c¼£\1a\97\ eq\ 1\ 4\9c\ 3nI²
+Üd\13p\11¸UÉ*p\93MÀEàV%{ÀÍ4\ 1w\81[\9bl\0\ 4\9c\ 6ny2\ eÜ\ 4\13p\1d¸\15Ê8p\13LÀià\96'ãÀM0\ 1×\81[¡Ì\ 2\ 4\\an\852\vÜì\12p\1d¸\15Ê,p³KÀ\ 3à\16)³ÀÍ.\ 1×\81[¡Ì\ 2\ 4\\an\852\vÜì\12p\1d¸\15Ê,p³KÀuàV(ãÀM0\ 1§\81[\9e\8c\ 3\ 4\9c\ 6ny2\ eÜ\ 4\13p\1a¸åÉ8p\13LÀià\96'\eÀÍ1\ 1w\81[\9bl\0\ 4Ü\ 5nm²\ 1Ü\1c\13p\17¸µÉ\ 6psLÀià\96'\eÀÍ1\ 1w\81[\9bl\0\ 4\9c\ 6ny²\ 1Ü\1c\13p\1a¸åÉ8p\13LÀià\96'ãÀM0\ 1\ f\80\f\ 2\ 4ü\0n\9d2\bÜÔ\12ð\ 3¸uÊ\14póJÀ\eà\96*SÀÍ+\ 1o\80\8c\0\ 4|\ 2nµê\1e¸\19\19p\vV÷ÀÍ(\ 1Ï\80[°:\ 6n:  ø\aÜ\9aÕ1pÓIÀ?àÖ¬.\81\9bK\ 2^\ 2·lu\ 6ÜD\12ð\15¸\95«3à&\92\80¯À­\Ý\07\8b\ 4<\ 6nñê\ 6¸Y$à1p\8bW\aÀM!\ 1¿\81[¿:\0n
+       ø\rÜú-(póGÀ{à\96pA\81\9b?\ 2Þ\ 3·\84\v\ 4Üä\11ð\1e¸%\Pàæ\8f\80÷À-á\ 2\ 17y\ 4ú\0Ü*.\10p\93\ fÀ­bí\81\9b9\ 2}\0n\15\17\b¸É#Ð\aàV±öÀÍ\1c\81>\0·\8aµ\a\bô\ 4¸\85¬=p3G \ fÀ­bí\81\9b9\ 2=\ 1n!k  Ü´\11è    p\vYKà¦\8d@O\80[ÈZ\ 27m\ 4z\ 2ÜBÖ\12¸i#Ð\1fàÖ²6ÀÍ\19\81þ\0·\96µ\ 1\bô\a¸µ¬%pÓF 'À-d-\81\9b6\ 2=\ 1n!k   Ü´\11è    p\vYKà¦\8d@O\80[ÈZ\ 27m\ 4z\ 2ÜBÖ\12¸i#Ð\aàV±öÀÍ\1c\81>\0·\8aµ\ 4\bô\ 4¸\85¬\rpsF ?À­em\80\9b3\ 2ý\ 1n-k\ 3Ü\9c\11è      p\vY\eàæ\8c@\7f\80[ËÚ\07g\ 4ú\ 3ÜZÖ\ 6¸9#Ð\13à\16²\96ÀM\e\81\9e\0·\90µ\ 4\bô\ 4¸\85¬%pÓF \ fÀ­bí\81\9b9\ 2}\0n\15k\ fÜÌ\11ð\1e¸%\ à&\8f\80ßÀ­_\1d\07\85\ 4|\ 5nåê\ 6¸Y$à%pËV\97ÀÍ%\ 1Ï\80\8c\0\ 4<\0n\91²\aÜL\13à\an\r\12\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10p\14¸\8fu\10\10\10\10\10\10\10\10\10¤G¡\14`\1c\1dËÐ\9aá\v\17.\ 2(\f\12jt\1c\ 3§\8e\ f¾\17-f\80P¬hÑ"\94%l\8e\8e\86\19\98µqÓ\f(\fÎ\17/adlbbblT¢8pP\84=C
+QÃ\e\14/^ÜÀ\80ÍqÓ\8f_¬¸\91\89\99\85¥\95\95\95¥\85\99©q\89âÅØ3\84\1aÞ\10\91\8fÆ¥\19\14\e\940µ°¶©PIPY`[ÁƺTIcC\83¢\85Ùñ¿P!ľ©¹E©R\16f&\14ói`\9a\ 2\94zE\8b\19\1a\9b[\97\17T¯%\14\89\9c\1ckÚ        Ê\97¶0)aP\84\1d\ 2
+\15.ZÜÈ̲\8cMùò6e,\11\ 3\ 6Åh@=`X\85\1aé\97´´\11Ø;)êº4nÒ¨A\1d\99cõJeK\99\18\16\8eÿE\fJ\94´*W©ª]õj\95+\96µ2/       5\b¡\84!0Á(\ 1à>\ 4ßļtE;¡ÊŵC×\1e=ºujݤ®ÄAPÖ¸8;\19P¨Hq\93R6\95í\1dÅ\12±Ð¡j¥re¬---!\19\80\b#ÃbL\1a\ 1îCæ[ÚT®)kЪ\8bÛà\11£F\8e\18ܯk«\862\aÛÒ%K°"\0°¡DÉÒ\95\1c$êú\r\eÖSI\1cí«U\11Tªd[±\82MiKs¤BÆ\b@\95\a¤W¾\9a°NóNý\86\8f\9f>gÞÜYSÆ\ eéÕ¦¡¤zùR&¬\b PábF\16åìDu\9b¶nß¡]«¦\r\9d\15R±ÈIXÛÁ®r\ 5¨C\86Å\98ó¿pQCSË
+ÕÅõ[÷ò\9c0kéºÍ[6¯_>×gh¯Vu\85\95Ë\98±"\80B\85\r\8c-+ÖT5ëÐË}àÀ~½ºvhãÚ¼ic\97új¨C¶¥Í\8d\f\183\ 2*\8f\91\85M5q\83vn£¦/ݸûбãG\ fìX·ÀgH·f
+\96¬\b\0\8c\1685h×ÇsÌ\ 4\9f      c½\86\ eêïÖ»g·\8e­\9b8\8bkT°25dÌ\b¨<¦Ö\95\1cëµí7fö\9a\9dGÎ^¹qãê¹c»×Îõîß®¾S\15$\0Vü7-SUÚ´Û\90ñ\7f.\²dÑüÙ3¦ø\8c\1fã5Ø­s\8bº\94\11\8cù\ f\95ÇÌÆNÞ¢×ÈÙëþ>uÍ÷ɳ§\ fo_:¶cÅôá=\9a+ìË\972fN{©\80 \94,k§hÙwô\9f+6mß¹sû\96\8dëV-[4{Êè\ 1]\9a*j\94·0b*\b\90þF\16\15jÕë0xꪽgo?õ\v\ e\rö{zçÂÁÍ\vÆ÷oWÏQ`m
+       ÀÈÐé­@þ×Pµ\19à³xËþ\13\9e9uâèÁ½Û7,\9d1Ê­\8d\8a¥\18ô¿\98±e%§Æ=F/ØvòÖó਷1oÂ\ 3\9eÜ<µ{Õô¡]\9b\955c.÷Ò¬\0ÿmjÔi?dú\9a¿O_»{ÿ\81ïÝ[WÏ\9fÜÿ×âI\83:Ö¯mki̤ÿV\95ÅÍúNX¾ïÒ£ 7q\89\89qoÃ^ß¿thÓ¼Ñ}\\95\993\97{iV ÿí\9d;\ e\9dµéèÕ\87/\ 3\82\ 2ý_=õ½vjÏêé\9e\9d\eÔ¶e6þV\95¥-Ü'¯9|ýEÄû\ fÉ\9f>ÄE\a=½qrû\92       îmê80\98{é¬Ðø?|Î\96\7fî¼\f\8d\ 6\11F\ 4½¸wáÀÚéC:Ö«UÁ\82ÁúGùïÚ\7fʺ£·ý¢\13\93¿~MN\8a\r{y÷Ì\9eå\93\ 6¶u\ 6ÿY\89¿\ 1ä\7f\9d\8eÃçn;s? :.1)!6ÂÿÁÅ}«¦\fl«®a\83r\90¡¡¡ó²\14HZ¸OYwì¶ÿÛ¤/ß¿\7fù\18\17éç{~ï\8aI\ 3Úªí)ý34v*¨ù¯ººý°9ÛÎ>\b\8eIJNþ\18\17åç{v×bï>Í¥UK\9b\16gl\ e\82úoYIԬߤ5GÁÿ\ f_\7füø\96\1c\1fí\7fÿÜ\9ee\13ûµTØ¡úÇüüWØÀ¤´\9d²\9dçì-g\1e\84¼ûøùËÇ÷\11/n\1cÛøçÐNõkW,ÅXù\83¡\8b\96(eëÔ¤ïÄU\87où¥ø\1fåw÷Ôö\85cz6\95T±f\90û4#
+\173±®ªh3øÏ¿NÝ\ f\ 6ÿ?'Å\ 4=<¿géø¾-äÕÊ\96dp
+*TÔТ¢c£^ãW\1c¼ñúM\12òÿÓûðç×\8fl\98éÙ\11qÏBù£ª°u\15Y+\8f\19\9bþñ\r\8aý\0ò\87ð\83 C:Ô\83Ù\9fÉ\16¬P\11
+µ]z\8e[~àú«è¤¯\90ÿ4÷ËÆ»¹ÊíX\99þS«ð\80i\e\v|\9bø!ñmàý³;\17\8déÕTRµ\f\93áGS\8fyùZ\r{x/Û\7fíetâ\97ï ÿÈ\977éÔs\84Î\83\85ö7\83ÿw\ 3ÞÄ'¼\v\7f~íÐ\9a©PüíÑ\ 4Ì    à¿YùZ\rº\8f]ºïÚ˨ÄÏ_¿|\88    zpn÷\92q}\9aËØéþ4]H\15\81Ó!þ\ 1Ñïß¿     ð=½mþÈn\8d\9c\ 4VÌ®@3ú\9fðù˧ø\88\17×\ f¯\9b>¸}Ý\9a\15XYýhê\7fUyëA3!ÿ\ 3¢ccÂ\9e_;¸zrÿVÊê6\f/@3è?*áSr\12¤Þ\99\1d\vG÷h"®\Ú\94\9dý?jþ·SÁü·õÌ\83À¨·Q\ 1÷Ïl\9fïÕµ!ó      \98¾þ½\8c\8aÿø\ 1\8aÿÕ\83«§\fh­B½?\vÅÿ\ fZ\84å\1cêvöZ°óü£ ¨èPPàÚ)\ 3ZAûÁhñûC3ÿ        \eõ\9e°òà\8dWQñI     TêÍóêê"¬de\ 2ܳâ\7fÑ\12\16\10\84\1ec\97þ}ùipdDàÃó»\16\8eîî"d¾þ\16\86þ§\92¨i_\9fÕGn½\8e\8e\83Êûìê\81U\93Ü5­\1f;á§\9apq37\9fÕ\87\b\89\b}uûøÆ\19\83Úªªë&ü9ÝF\83¡­*KZô\9fºþø\1d\7f¨¼Ñ\ 1¾§¶Î\eÑ¥\ 1ks\1f]þ¬«Ê[yLßxâÎëÐð '\97÷-\1fß»\89H`Up\13(ßé»êY|\13]y\15Py7§TÞ«\aQøåvÌö\1d\19\8c ¶\7fêt\18\86\96\7fþaa~¾g¶Í\1dÞ©®Cyó\ 2\9b\90r¤¡HÖ÷óÑögÙêj4ôÙ\87AÑTå\85ì\87ð£Î\97\9dð£\1a\ 4sP\83\17ï¹ø80,äÅ­£ë§\ eh)\87\85_A﹯nPÜ ëûù0´Yù\9aõ»\8eZ´ûâ\93`¨¼Ï¯\1fZ\ 3\13¯\82ÅðS5\bÖ`¨\ 6_{\16\14\16øäʾeãz5\16\16\87º¹G\1d\8e4df\80\1aZظ÷ø\15\a®=\ f\89\8a\bxpnçÂQÝ\\1cm\99\tþb¤f\ fªÿÔuÇn½\f\ eõ\7fpnÇü\11 ÿr\ 5^{£\9b{\86Æ%ÍKY¢#\rF\86¿ÞJ¥\eO©+\f}ôÖ«Ð\88Ð\177\8f®\9fæÑFW\957\8fFB\rª¦D«ß\7fî½\ e    yuçä¦\19\83Z+ª\956) ü©\9b{&\16Ö6å+V,_ÖÊܤ\ 4\90î+éô\87ÆkÖ\96S÷üÂÂ\ 3\1f]ܳdlÏÆN\95X+þi»\7f#æí8÷À?$øù\8dÃk&¹5\13\v,\v,ÿÂE\rM,ÊØV­áà`_ÍÖÆ²¤QÆ#\1d\81ô_¸ëÂÃ\800DýæY\9eíëØ\97ckîO5¢A÷1Kö^z\1c\18\1a\b³ß2ï\1e.\8eÔ¶gÁ¾¹\88\81\91y\19\81½\93\¥VJjW«XÚ,\ 3\ 1\ 1ÝO\9f      +\ f\}\8a\86¾z`åD·æ\92\ 5\95^> )\7f}&®<xýYPhÀÃó;\17xu®ë`cVÀ­'êÞ®µ­\83¬^Ó\96­\\9b8Kì+\956+\91®§Eò/SMÑ\1a\1a\8fã·^\ 4\85¼ö=»c¾W\97ú\8cî8g¶R³\ 5=uý±Û/CBý|Oo\9díÙNeW¦\80³\1fd¿\81q©òÕ¥\r[wíãÖ§[\9bF\8a\9a¶Öéc\aæåkÖëì5\7fûYß×Á\81ÏQõ\eØ\1a&?6výRÌL+\7fP\83BC_ß\85òçÑJVź`3\10Ì}Å\fÍÊTqjж÷\90ÑÞc\87¹wnª°O¿¤GüX      Ä ÿ\15û/?ö\ fö\7ftéïeÞ½Põcc×/ÅÎtå\ fj\104ÿÇÖMqo.¡Ê_\ 1¾\16\9d©2±²­Y§U\9f\11\93ç,\98?cÜ .\8d¥Õʦ.jQz\98ÙÔPµ\1d4\ 3äÿ<0èÕÝS[ç\fëèLM¼\8coú§\1a\9aVþ.?     \ e\ f}yóðj\9f¾M\9dlK\15¤ü\81ø\8b\167¶(W]Ö´Çð©KÖÿµyÍü\89\1e\1dë£U­FÛÔ½O[¡K÷Ñ\8bv\9d»\ fò\7f\86VÝý]eU\v<ñæ\a\ f\16\7f¨\ 5¹qpå\84Þ\8d\85\15\vTþQô\8dÍËV\155ì4xòÒ-û\8f\1eù{ÓÂñýZ)k\94Ó\9c&@áGwÝ[\r\98²öðµ§\ 1Áþ\ fÑäß\ 3õ~lÊ?­ü\1d¿ó:<*ôÅõ\83+Æ#ÿK\15 \ 6CÛo`dV¦²cÝ6îã\17m9|îÊ\95³\a7Îñêæ"D­\rí\7f1£R\15k7è
+Õïô½WÁÁ¯îþ³eöÐ\ euìmظç\93fiZù»\1f\10\19\1d\ 6þ¯\9cЧ\89¦\bii\aª}0õÕT»ö\1e=wã¡\8bw\1e>¼}îïU\93è\95\rJ\0*üeªÉ[ºOZuàÊ\93\80Р\90ÿ\9aÉî®RV'ÿôåïüãàè7á/o\1c\83z\90Ò\ 5ØùE¥\9dJþnÃf¬ÙwþÞs\7f¿§·Nn\9d;¼s½\9aå©[ú)áï2bîÖSw_\85\84\ 6 Þw\fÈ\1f\12\8f=ù§/\7fW\9e\85½\8d\89|}ëȺ©\ 3[+«£íGm\ fþQÇ\9a\ 4\8eõÛ\ f\9c´lשÛ/\82\ 3\1e_\82eeo\10\16\95Þ\9að»öóAá\ f\f\ f}}ï\14%ÿ\1a6%\rÙ\v\7f\86ò÷*"ö]\94ÿÝ\13\9bg\rëT\1f\9d½Ñúü-UÛªÉ\9aõ\1c5wóÑkO\83ßÄÆ\84¿ºut\1d\94wi\15+h,
+\17I\1fþ×a\11!/n\1e¡ª?ËòO_þü£ßǽAÛï\8b½{· \ e_i\99\ 1TgW®\86ªu\7f\9få{ÎùúGÅ%Ä¿       ô=õ×\9f\83Û*©ueJøÝ}V\1e¸ò4822øÉå¿\97z÷l¤\83]\87üY\9a®ü\ 5½\8d\8f\8f   }ryÿ\9aéC:¹\88«\965Óöä#ÕÙ:8·\1f<}Ý¡«OCc\93>&Å\86<:·mΰ\ eêêÐÝ\16\85ú`iëH\87ÿ\9e_Dt$Úø\9a\vÍ\ fªþ,Ê?Cù\v}\97\98ø>âå­\13Û\16\8dëצníJZ\9f|¤âoïÜ~È\8c\rGo¾\8c\88û\98üñ}Ø\93\v\8fèX§FÙ\92Å\8bAk\8cNÜQÅÿiHôÛ\88×·\8fAïßJÎnó\93¡ü=\8f\88ûð!þMÀ\83\8b\aÖÿéÕ³¹¢\ 6uü0\a\ 24\9b»\99\9f\9a*T\ 4ò¿ºª­Ç´õGn¼\8c\8cÿôùS\ø\93\8bà\7f'gðßР¸±e%aî^ó¶\9dºç\1f\19ó6ìùÕýÐv¤TGæ\1d× Cù\8bNøô)é]Ø\8bÛ§w¯\982¤³\8b¨
+të\ 6Ù\1dÿOyd\8a~N¢H\86ç¦Pý/]UFU÷«Ï#(ÿ!þ;æ\r§âoX¼\849tþ­\aL^}ðê³Ð·ïÞ\ 4?B«î.hvd±ùÉXþ\ 2Þ&%\7fþ\94\10\1døøÚñ­\8bÆ÷oë\»Ré\92¿îY¥s\1e=1UÂÈÈØ\18=(\91a\837õ\ã\98Å»/<\ e}\8fô\1f\8aò\7fh{´·W¢\ 4Ì\8e¢ÆÝG-Ø~Æ7\80ºíqï\9fÍ3¡8²ºôM-\7f\93\1f¿|ýüá]\84ß\83K\a×Ï\1eÙ«¹Â¾¢\15Ú³úå6\¡B\9a§Õ\8cMÐÞ¦\95\95e)ô Dñb©LÑ\13\80\83s\87¡³ÿúç^`LâÇ\ f±Á\ fNCýo£¨V¦¤±\89Ey\87:\90\1dë\ e_\7f\1e\1e\eÿ.ò\15¬º&A×UÙ\8aµ}_ÊNºüu\1a1\1fÊ_X\ò×ï_\93\13c¨ów+§zvi,«QÁ*Ó¦\1d
+=rÞÔܲ´M\ 5[AåÊ\ 2Ûòe­,LK\14/\9aR-R\12\0\1dl¤nl&¾\r¼wbô\ 1-eUJ\9b\99\98\95®"iÚkìâ]ç\1e\ 4¾\8dO\88\r{ziï\92\eÖ.ø¦[þü/\8an?7\84ò÷÷\95ç\91 \9f¿ÿøþõSÂÛàg7Nl[<q`\a\17Iu \0=\84\90ºgE=­UÜÈÄܲLyA5ûÚNb\89D,¬U]PÎÚܸxÊ\95T{këè\ 2ß¼çÒÓ°w       ñÑ~·\8eÐûªÖf%-+Ô¬ÛaÈÌ\8dÇ`rx\9f\98\10\13ôà\f\9a\eQóǦüÑíGêöëÄU\87nRǯ~þD\a\10£\ 2\1e^>¼i\9ew¿v\rÄÕÊ¥{
\10}GÃÈÔº\%»Z"\85sÃ&Í[´hÞ¸¾Ò©F¥²\16é®D\9b\eöÎÔMµ\87ÁoãÞE¼¸¶\7fù¸\9e\8d\1cm­Í- 7lÞwü²½\17\1e\ 5Ç$~H\88ö»\ 3³\1fh£*4\7f\9f>øÕrÀ´\rÇï\ 6Ä|üöóß\7f\7f~C%àõ½sûÖÎ\1aÙ§\95³£\0=\86¤Ù²¡\9fU3-UºB\15\a\91²~ÓÖ\1d»÷é׿ÿÿÙ»
+¸ª\92ïÿww]\13LP\14õ  \82äãu\80\18\80\ 1\ 6v+¢¢b\avwww·Ø\8a\18\84¨\18\88
+v\81حرþþç̽\ f\1e\88»Ê{¼yà|÷óûí\8a\97{çô93gfüZ5®ã¡t²²Hݱ\85{*ÌqQuÔ\92½§qe31îÈú)½\9aTv(cVÔ¬¬SåFÝÆ-Û\13}õþ\8bääçÈ\e,º]\f\9büi5~¬8pööÓ·\9fÿùöí\9f/\9fÀ\ 5\1fß·vÖ°À¦^R\9bR\9a\1eä\d³VÁ"æ\96Ö\8eR7¯:MÚ\ 4tï;pè°a\83\83º·oêí&Äx\99;ev\a\17Õk¶\eº`gôÕ{\8f\1eÞ\8a\rE÷ïjWÚ¬x)\e¹·ß Ù\9bÃ/$>M~\9bü4ñ<\99svwÐ}Éé\17éÏ[¨\94½{\93^SÖ\1d¹\90ôâý\17 \1f\18ðñí\vÞ\ 2ú¶õQÙkæ,É\9cVþBÅK[9JÝk6h\15ÐsàÈ\89Óç,X¸pÞ\8cñ\83»µª\rñÒ,¥e\87_Ú#\99Åå$HpÏ@\84ëTGa[Ú¼d9çÊ\8d±ÙúÔõ\87¯Þ¾{ýøæé½KGwª«ÔyÎùWéÿ+_\912ÎÕZ\ 6ÍÜ\12yéþ«\ f_¿ýï\7fßþùúùýë'\90\ 5í_;c\10$\ 1\ e\\ad.²I¶@\91\12åì$\95j6j\e\184bÒ\9c%«7nÛ¹kgðÆå³Fõlí­´KíW'®Õ\99ëì¹tçþÝ«'w/\1a\ eõ]\85Ò%-m±î\9d³%"îγ7ïß½¼\7fåXð¼Áè\1a\r\eý4ÝÇ~Cæï8qíaòG¤ÿ\7f¨\0o\9eß»z:tì!\1d\80~Kb\94Ü\84nQ\v+'\95W\836]\a\8e\9d±hÍÖ=¡áÇ¢OF\1f;²gý¼ÑÝ\9by\8aÊ\9b¥Loþ      \99µ\13×Ùu1ñÞ\9dË'v \8d\92
+\96\96å\9d«4î1aÅþÓ7\1e½z÷\ 13Ã#ë§öiføèÇ-¿úp}\9fàþþѦÿTÈÚé\ 3Úù(ù>,2£Y¤T\ 5\97J>-:÷\1f;kÙÆ]\a\8f\9e:\17\7fåú\8dë\97Ï\1f\87\84a(öK¦Ì]§¥ÿ.\99W\1cØÚK\¡\9cÀNÁ\89?>éùÛ\ f\1f\92\9fÜ\82Êxl ¯\1a2C\83F?.û#}Ï!àþÞ}þ\aÉÿ\ 6!ðõ\93Äø¨\9dKÇ÷lî)±âZ\11Èb\9e\85µ¨r½¶½FÎX¶ioXtì¥\e      wq·Ä½Û\17£÷­\9aܧ\85\870eíB«³íèÅ\84¤\84ø£[f\ 6µô\14ÛZÙ\88ªru/$Üï?¾\7fõ\0\92¿ùCÚÕ\92\967+`Èè\87ôs}ÿ\13V\1f<\97ø\1cÜ\1f/þ·Ïï];\1dº~Ö`Tÿ2ÅH\11\883\16æå\85\95}ýû\8d_°~wØÉ\v×\12î=zöòuròë\17\8f\13â"\83ç\ f\93Z¿jw¶]JLº\1d\17±iz¿\16\1e\12»\8aN*\1f\7f\9cõBñ\7füHÔ\7fô¾ÍÉÌ\9fÁ\96ý\býdß\af¿kÑý\7føò\8d\88ÿÓ»\97\ fo\9e\vÛ¶pt·¦\1ebl\80Æùº?É\1eQ×:í\82&-ÙzðÄ\85ëw\1e<}\99üöýÇO\9f g~tãL\bY¼A\ 3 ôku¶\1d¿\fô_\bÛ0­OsO\99\93³Ì£©Fü\1f>}H~|\93¨\7f}µ¡\93?>û¯Ô¸×\94õañw_òîÿ\vXdB\ÔÎe\13û´ª\85»ÿ4â/TÒF^³u\9f\89\87Å\I|øì\15\10ÿ\192ƯÀ±çIñÜü\95³fÝD»³íÊ\9d¤[ç\8f¬\9bÒ»¹\97R,s¯×~\b\94ÅDü\9fÞ¿¼\7f\19¼?ª¿agþ8ú\vYØ»7í=u\ 3fÿèþQüo\9fß½\12½oõÔþíê¸:\94-N"z.~ªq×1\8b\82ÃcoÜ{úêí\87O_¾bÂ\0¿óñõÃk'v.\18ê\ fFÌÅ0íζÓ×\92\92\1eZ3©W\8b\1an*÷Z-{OZ\15r\86\88ÿãÛg\89ç\ f¯\9bÚ\e¼¿¡Õ\9fï{uoÚgÚF ÿ\15¡\1fÄÿúÑͳ\87\1e\1a\1d\93ß¼$ø\91¥z\bÛ\83fm<|öÆ\83çoxêÿG\Æç·OoÅ\80\16w©§Y7×îl;{ãnÒ\8d³¡«'õjéS­ZÍ&]F,\b>z\11Äÿ <í£ë§ö,\85Ò_ehïÏÓïP\99Ð\ fé\ fGÿçw/î^>¶kÉØîÄøÉ\ eô\\9a¥zHÚ\97ï=       IûÛ\8f\ 3þùò\1e§wÖMîÕ\84ä°H\7fjg[Ø\85Û÷îâüæ¤>mëûÔnÜaàôu¡17q·×'ø\18Î|\rlC\92\1f\83zÿ\8cå\ fêÿ4áü\91\ 6\87t\8eL\0\92\9c\8bg« \19\9bÂ.$>{óñK*õ \0_?¼ºOê;Ò6\87j\9c¦³-ñþ]lk\9e\1cÔ¡yãæ\1dúMX\ 6uï½\17ï>}þøæ     \96¾\13{¤¬\v\19\9a~°ÿ&`ÿá\1aûÿúñÍã[1\aÖLîÝÜ\ 3²9>\9dOiT\e¶`ç\89«\ f^}øòÏ7­CU\81\8f®Gï\8,Å\ 1¤nlÜ\15}õîC\9cß^3}H·öþ\9dû\8d]¸5ü|Â\93ä\ f\9f?¿\7fuÿ
+®{t¨-¯`Ø\99/\9eþ4þÿ\v¡\9f\ 4$\ª«âÄõ çâ2\85\94y²[OÞ~úªM>ç\0ns\ e\80/b¸Ê²^\97±ð\v¸¥àæÙ\83\eæ\8céß«÷Àqó7\1e<sýÁK\10ÿ'âýÖOëÛÂÐë\1e<ýܾO\88ÿ\87IùG\9Ò\1f²*m\ f6\92Ãy3­LI\v¼\ 3à\1a§J\15Ê\83ë;\9a-\ 5\87Ï'<zòðÖ¹°­K¦\8d\191zò\82\r\97ïBìý^\ f¯Eï^2º³oÖî2ý\11ý\7f\10!Õï:~ehlâ³wXþ\7fýôæiBì¡uÓú¶ô\12§ê?rÊέQÏÉë\8eÄñ\99R\1a\ 5øòáÕ½K\91\9b!ÃåÒ¸?S*ËÍ\91\97\92\9e<{\fùô\9eõ\8bçÌ\9a»lSÈ\89\8b\89DûAüwâÂ6Íìߺº¸|q\ 3\aÿÿÓì{\94×éÄíû{û     §?>c.\13¹mÞPí-(¼¥4ÑÎ\94ÒÐ\ fj\ 3\19Àv¬ðDX\ 2üÉm)hG*ËûÏ_>½wõÌ\91]\9bÖ¬Ù°ã`t|Âã×ï?}á\82ßÞåãº6Ä^sC{?Í쿤\96ÿPðj×\1e¾\ 6\a\88ñÿÕ\83k§ö­\9cØ«\19q\80d\ 5\8cÐo_\89xÊø{\19Ðÿϧ7\8fÉ\ 4oG\1f\99\15\ 4²¿ø-\ 5£\96î=}óÑË×/\1eÝ\8e?\19\16²wï\81\88Ó\97\12 ìý\84;=\81Ó\11[f\ fò«)µÊÊMÆ?\ 4\ 4©"e\85\1e¨¥\11\17ï¾Äù\9f\7fÐ\0\12/Dl\9d7,À×\8dß\82\96+£L9­\ 3øüîYÂÙ\90\15è\0+\98\17Ì\93;\ f©¬º\8e_\15\1a\9bð4ùÍëg÷nÄ\9f9qìø©óW\13\1f\81ïû\82Uæ£\e§÷­\18ß½\11v<\1aÜûý\1f7I\v^ªQ\8f\89«Cco?E·\ e\ 6ðþÕÃëg\ e¬\99\1aÔ¦¦Ì¦$Ù\0Ç{Ê4\95Ò÷\ eðü!Í\ 2W\9e¿5\13këÁ_<\7fûþí«'÷n]½\14\7fñê­{OPú_¿òâ\9f\9d·\8cBð#ôó\r¨\1dG,Ú¥     ëÿ\90\81]:¶\132À&Õ\¸\13Hþø3\83J9\9d\ 3|y7>lÃÔÞMܱ\7f/O>,þ[\80b\1d½tÿå»\8f\1fÞ¾zúðî\9dÄ;÷\1e=\7fMÈÿBÄ¿\7f\ 5\ 4ZCísþ\9e~~\99\ eÒº\8da\17î<ã\14\0
+ÀÇ·Ï\87m\9e;´c=WÎ\ 2þø3\83\99\92t\ e\102ÀÈÍ3ú5¯â\b¾,o\ 1H\17±øÝ\8eë
+àë?¾K~ùìéÓg/^cÝ\84Óìèü9ñCîcj \93ÎÒÓÿW^²L\178vÙÞS×a \98Ö~ýüþå\83ë§µ-àÏ?SgÊN¥Ì\94¥¥ÿõ\83+Q[!\ 3ÆÎñüù
+j\96Uq]áã\97/\9f?}x÷\ 6ðîçÏ_ÿù\aÝìÃë§Ðúé\89\9f\18@A3+iͶ\ 3go\ e\8fÓ(\0)\81/\1dÛµ4Õ\ 2þÊÍÍ\94r\ 2ågJÓÐÿ)ùáÕãÁs\aµÁ
+ @~\13^]ð@\81·@ñWàÀÇ\8f\1f?\11êÉ'\9e%^\bß\fÎ\1f­ßp»=ÒÑ\8f'\9fY:ru\1dÎÆ\13\ 5øçËÇä'       çöàù\1f\\fÈ\9d[k¦üÞ«\8c\ 2`ò£k8ÅÛ¶ºK¹b\ 5\v\14Â\1deÝ'®>\88˪d]å+Ø<üï\1f²Æ\80*v5zϲqÝÀùS\13\ 1­eµøÕ\18N\ 1ÒÄ\80Zr\e\8bÂùÿþ\eëßʼC\7fñ\9d\ 3$ôC\ 5\84+\9c¢rÅM
+\16)M
+kH\17°°à¦I¾ñÿ\ 2^@á\97pîðÆ\99\ 3ÚÖ\94YS²~B?iCD\ 5\18\8b«q\ f^¾çdE,àø®¥ãº7­&*on\9a/O¾B\16\15Ý\1av'\ 1\80¤ÊÿF¿©i1(~[Añ\euùÁ«ôÖB&\19î]>¾\13O\98¨Ä¯/P!\9fô)\9b\96°\96ò«±  OÞ|üªm\ 1\98\ 5Ur,[Ü$\7f\81Â\16\15Õõ\ 3Ç­\báW
+3Ô\7f ¿:Ð_¨\909\9ej\84§ú\\7f\94ü]µ\boÇS\ eÖMëתºÄÊPÛÜ\7fÀ\0P\80ÔÕø{/\88±¦XÀÚéýý|\94v\96Å
+\99\16-mçJè\8fÉ\88þTÿçåRάpQ\v[¾ø½õÝÃßÈ|éÅ£Á\vF\ 4Ô3Ð\11OÿBÿ_yLR»1n=N&S;Ü4èåã»\97OèÕ²\86¼¢¥yñ\12å\9c*7Â#\922\94?\1fÿf\ fh\ 5¥¼YÑâe\1c«\90m]\17Àý¥\9b,Á)Æ\877N\87¬\9a\84s,\ 2\1£G?\17\ 2Rºq.Ý\ 5oýõ\9bÆ\ 2.D\90U\0O\99\9d \8c ¢´z˾S×\1d\ 2ûÏ\80~(\80/Fl"M,eÍ\8b\97´\92Ôh;hÎ6<Ô#m¶Ì\95Ø\89qá[°\1d\ika¨S\ e~H?æ\0)ÝX7\1f½æ\14\80\8d³\87\1dÞ¥±\97Bèà$­R¿ã°y8qÿâ{ÿ÷åý\8b¤¸#ëÈ*~Ù\12%ÊØ»úv\19\ 3\8d\92\ 5\12ûîCì[>®{Ê\14\vEúQ\ 1´ºñ.&qá\9a\8b{WO\1dX7kh禵ª¸ºyÔkÛwÒʽ'¯}7ÿÇ×\7f±¡+±ÃÁ¾¬Eik±gË~ÓIï[Z]á\9cßíØÃ\e öÕ\92eíéJ?G?YÛÐtcâ²\ 4*\0·\fü,éÒ\89}kf\fëÖ¦Q=ß&íz\8fá§.¿\8fh\9fÞ<Á.\86Q\9dêªìÊ\95)ïèêÛiä¢\9dǯÜOË+α$]\8aÚ±h\14Ä>L}\f>íó\1d\ 3¸µ-®\e\17\97¥8í\ 6E%ëÀÇö®\99=º_×\80\80nýÇÍß\18zúÚý\17è"Ò»?\9cÿÙ±`¨¿\8fÂÞÊÊN^\83øÓØÛOÞ¤\89~|`9\1d²zJ\9f\96^\94c_
+\ 3Rº±'®D\ 5\92¥0\18ëã\84¸cûÖ/\9c2føð1Ó\16o
+\89¾tç)\99ýÿÎýÝ¿|tëì\81mk)\9d*:Hª5î:\1a[\9fï½x¯­þD©\9e&\\0ç7´C]µ\1dÝØ\97B?鯷!{q¶a»®F\ 1 P¿zt;þDè¶5K\16,X²fûÁè\8b\89\8f_¿O/~\9cþ\0÷\17¶q:äËj±\8b¬\8ao\87Á³±»-\9d©\0K!ó»rb÷2p~U¹Ípôé\a\ 5À,\18\14\0\81\18Ì\ 1øN\18\\v\7f\94pétDÈ®àà]\a"Ï\N|üêݧ¯ße\7f\9fß=ÇuÌiAmë §ôm\174eÕ¾\93Wï¿L/~²ºxpÝôþmji&\97hS\9f¢\0\8aÚí\87Î\ f\8eº|\8fÌ\ 4rãÅf¸;×.\9c>\1e\15uâLÜõ$$?½ösë\1f    ±\90Ð\ ehßÈ»\86O#ÿ¾\13\96î<\1a\8f¦ò5u\9d\8c8¿gwâ#!óë\94:¹H\9búÿã&\82°]µYï)kÁi=Õ8-Â\80×O\1f$Þ¸réÒ\95\e\89\ f\9e½Î\80|~ý'öÐúYú¶iÖ´u§þ\13\16o\v?wëÑ«\ f\8feïµ\938¹ÜÜSd°ó­þ\eÜfL[UÝ\80\11\8b4\v|\1a\8dýôþÍ˧\8fîß»wÿÑÓ\97o>|§üä)nÕtË\82ñ\ 3ºwéÚ{è\94¥Û\8eÄ\\87@ñI[üÜÌ\1a\94½dq\95zæ§\r.\apÁ¤eÃ\91\vw\9e§$xØ\ eøñÝ\9b×/_¼xùúÍû\8f\9f\9fÈ\1fôúè®U³Ç\8f\186râ\9c\95ÛÃb®Ý{\9e&PhBÿ1þlÇ\7fÏü\f|\r\ fÉ\ 1Ja\817vÙÞÓÚIë7\9cºúøá=àçÏ_þÉ\80|¾ ¿rêà¶U\vçÌY°|ÓÞÈØkw\9f%§M}0ô? ¡ÿ_\ fVLÙScÐË\88È\19ðV\92\9a~\83æl=z)Å\ 3\12¹ý\ 3,øòùó\97/dòê{òQ³!«¹uáøÁ\9d[6nÚ¶çptÜÍû@þç´ÚÏÍ)l\9e\93\12ú3Èüø\8d\1e$ÜVc¨Û\88°a¡\88¥cå&='­Á%\9b·\9f´5\17X\80ø\96!õ<mÏî^?\7f2òð¡#\91Ñç®$<|þæ\83¶­ð\155\9e*;¶\e\1fú¿\17?w\13\ e\7f\rÒ\8f\ e\rÊ"\ 6àL \r·\16\12Í-\ 6¦!ñG´s\7f\8b\99Ò\93»7/_\88={.þêí{O^½Më*´æ\14ûµ&G[~ïü8êó\160)\´¸\99¹¹Yñ¢\85\16 \83¤HÜa,¸\162sSx<×\fþc\823P\80·¯\9e>HJ¸u+!éÁ\93\17ÉïI{TZ\ráæ\94qUÅ>£ÐOv\17ä-P¨X\89ÒeË[W¨`]¾l)ó¢¦\ 5òdáý#ZàZ\16Ü\1av\e¿2$æVººå¿èÿö\95[áyòøñÓç¯\92ß\11á§/ûÈ\8cªÖªÚwäÿõw>Ó¢%ËV°\17J\15J¥\"´·.S¢¨\89aîAâvlȰÇ\aÏ"Lo\0ÿ¥\0
+Orrò\9bw\1f>~þ\92ÖWd¼ªú\1dùyò\172³¬à$«äY«N½zujy¸É\1c­K\7f·\ 3+\8bè'[\96\84\1e-úMß\18\16÷«\ 6@Âä'²Äóù»8\91vEÅ5ÃÄ\97;1£\84À^V¹VÃ\96þ\ 1]:\a´kÙ ¦»Ä®,\1e\9bd\0\rà¶,¹6è\8a\ 6pûÉÛï\16ùþ\9d\ 1\18&     ¾\8b\13©¾ÿ_´\1fOÌ(\²¼\93ªFC¿®ý\86\8e\1a;fÔ\90~\81m\1ax)\1d\ 4\86a\0\97\ 2ȸ&·ï#Àϰ\80Gú¿È`Eõ;ßÿgî|x`\88\9bO\8b.\ 3ÆN\9f¿tùò%ó§\8déß©Y-µ#0@{\ f^VÑÏ\e@Ë \19\10\ 1î~¿È\95Id¸¢\9e\81ö\9b\98\95sr«Ý¦çÈ\19Ë6ìØ»\7fÿ\9eíë\97L\1fÞ½\95\8fÚ±\9c\99i\16\942\88\9e\a\ 1R ï'¹3KþW\9c\98¶£â;ñÿ\9d¿hi;¥wëÞcç¯ß}äøé\98\98\ eïZ;wL¯ÖÞ*û2\86¸      I³g¯ã\88Ÿ\e:ýºU&ÉÇÜ\88\1f3\9f\8cµ\9fL@XK¼\9a÷\18»psè\89óWnÞ¾}ãò¹ã\a6-\18K¶â\97ÂN\~oiV±\81O\81¼ð<º¨Ë÷¿_åÎ\9cø!ô=º\19{xÓì!\1dêò\99Oúó`¹ux\87Jõ;\r\9f·ùÐéË       ÷\1f?}úøþíK§\ fmY\80\e«$\'ö\1f|q\94E\17S\92Ó\10°i{Êz~? \1eÈ\87Ð÷41þèöE£»5®ê\82kɤ¬ISßñÕW\8dÖAÓÖ\1e8}õî\93WÉoß&¿|\92\f.ÀtnPÙ\99\14\fä$Y¼¤\95Üʨw\ e\90\1a\80;\8f2ÃUÎL\90ÏiÿÕ\93û@ûÛàv\92b&PÔpà\8eM ²DÏSQíÛ\19Ï˸\94ô\fÒçÏ\9f>¾O~\86ÛðÖÍ\18Ø®¶
+,\02a(\fóäÍ\9b7\8b®\87Õ:\8ft×Éï\17®3'~Î÷o\997¢sê"k\8bb\85
+\16\80êÎÄÄD«¾Ãâ³\8cSÕf½§¬;\14{ûIò\aL¡ ¥~óìîåè½+pºLlU¢Pþ|X\19\9a\9a\9aâõ°\90\13êÝ!jwíëÅ\ 1\90    o\14ÿª)A~uÜ\84Ö\96xµ$Tw%J\940\87úÎ\94Üs\8bíUÅ\ 4"²bJ¦_¹\158²X\90¨\99.u,kVØÔ\14JCó\12æfE\v\17Ô:m@oàwmü°Íå\97ÉÇý\ 4O\13ã\8en_<®W+\9fJb{kA¹r\ 2¨îlll*\94\9f
+\9b;7¶aá>t<\85(eò)uº|ZPë\1a2[Ks3s\vËrVÖV\ 2Ë\92Å\v\15Ðÿ\rÁ\9c\ 3Ps7\ 1è!\ 3 \14<ÆÞ÷\ 5czµõõt\95\89\\84.b©\©R©\14R\17G\9b\80\90¼yò\99b¿X§ÑËÈö\ 2þ³ßøå\92ã»°Q¦²\8bM¹²\82
+öü%¥eJ\14)øÝ\81Â:Ó\9fþ@\0\ fÁ/lÛâ\89ý;·làSÃÓÓ³zMï:õ|ëûÖõöâ\8eM(jR @¡\926Êz]Àï\ 2ÛSÚ+9õI8whýô 6Þj¡½½\93DUÙÃ˳\8aJl/(\89\95qF\87³è\80?þ"\a\1947øØ¯ÖÀ?¤ÿÖùÈ\9d«f\8dîß­£_ëV­Z·m×! K`×ÀNí[7®ã¡r®PºxaÓ¢\16¶@?¶\97&hµ\97âÄ"n\10ܱpdçF^j¹ÜÍçAÓ\16Í\1aúTS8YY\14ÓûÔ\0ÙµîX\95\9c\86y\91Û\12£3ýO\12/F\1fز|öÄQC\ 6ö\ fê?`ÐÐ\11£Ç\8e\1f?nô°\ 1=:4«]YR±\8cy±â¥l\15Ü\ 5$i\1a\86°YäñÍ\98\90U\93ú´©W½\9a§O£6\ 1ÝzvïÔ¦a\rWgëRÅLô|9-w\15 \94\0\13×`£ó;\1d\1d ×DpïZlTHðÚe\væÌ\9a9sÖ\9cy\v\16/[±jÕÊe\vgM\1cÚ³]\ 3O\99\92%JÛÈ}:ðý²©fGV\16ï\8²qæàNÍë×mÐ2 ÷\90ÑãÆ\fí\13ÐÜ\e¢I©¢z¾\9cV³%\9c\H\90ê\892M?ÙMü(ñjìñ#ûw\ 5oÙ¼ió\96mÛwîÙ\17\12\1az`ßÎÍ«æM\18Ø©\89\97Ü®\é26RM{­¶Ùý\83\8då\17#·Î\1fÙ£]\8b\16m\ 3\a\8c\99>\7fñB¼!·¥·«³UI=_NK:Â\ 5\12rl\a¹\90LW\a\80çɼxtçzüÙ\93Ç"#ÂÃ#"£\8eG\9f\8e\89=w.öLtDÈÖåÓ\87tiì!­((g\83-33È9<ZfÇí,\8a
+^8¦O§ví\ 3\a\8c\9b»rÓ¶­ë\16O\eÖ­EM\15nÏÕoÿ\fÉÄ\9c=Zö\9fÅ5úêì\0¾~zÿæÅã{   ×/Ç_8\7fþBÜÅËW¯ß¼\9d\90\98\98pëZü\99\88Ý«g\ e   hPEdke#¬Ò¸\a1;íöRÜXpïÒÑà\85\ 5\ 6té;jÖªà\90Ã\87÷o]1cX\17r\9e°\9e\97Ðù#QÈÆµ\vw2Øéð\8bôk\16P\1fÞM¸uãÆ\8d\9b·ïܽÿðñÓgÏ\9f?{\82W\9d\1eÛ»zÚ\80vµÕN¶¶Î®õ:\91ýB\8fµæ\9e±³ân|Ä\96ù£û\ 6vî>`¢Í\a¢N\9d>~hû\8a©\ 3ü¹ÃIôL?î\89#¡(£ÞÍL3àÉ\83»\89         \89\1f=}\ 1ÅÝ;À\9b×Ï\1fÞ\8e?¶kùø\9eÍ<e\ e\15\1d\95Þ~\83ç\ 6G]Ñj\19Dÿ\87{$7Ì\1aÞ³S@·A\93\97í\b\8f\89¿\14wêHðâ±=\9ay\8a\ 4zÞ7\97r#é°\ 5;£¯eÐéÿË\f\80\ 3Y\e¹MÖF\9e¾|ó\1eç\88q?À»W\8fo_\bß:oh\87ºn.ö\ eRÏæ}¦®?\9cvùùÓÛ'·bBVO\1dØÅß¿Ë\80IËwE]¸~ëÆÅS¡ëg\fðÃâõ|d\ eq\0Ü\9e°È´®(Ó\føB\àÍ«\97¯\ãVÆÈÞqrÔÔ+¼ïiõ¤^ \0\8e\ e\ 6Ø3yúÆã\14¶ccÙ£ë'w/\1dß§}«V\1dú\8e_ºóXüí»I·â\8eîX8¢S\16ì\9aç\1c@%<\12.ÃN÷LÐ\8fç   %]\8f\8f\8d9{þòí\aÏß~äVƸôþîÅ£xãOmÈn\9dUÞüòsJ×\186\96=¸rlû\82QÝÚ4iÚ¶ÇèEÛ£.&>x\98t\r\8fËíÖÐÕNß\87\ 30ÇK        F-Ù\ 3¹\88îs\0dòÿþ\8d\v'\8fFD\1e?{ù\ eV÷|s\89f·5n\ 1­,rp\90z4ë5iMèÙÔ®AÞýo\9d;¼K\8b\86\r[\ 6\8e\98¿52þ\ eÙO|hÍ$½\Ó\90\9e~\92\ 1à\99pX\8b§ï^Î\14ý@dBüÉ#û÷ì=\18\15{ãAjo\ 1\97ÝÅáñ/-¼¤\ evB·z\1d\87/ÜqüÊ}Í3\98ÿã             s\87\11ú»\f\9b»%"þÎãg\8f\13ãÂ6LíÓ´²C)=ÓOÎnµt¬Ò´×\94uؾ«³\ 1\90\1dµ×Ï\86ïݺióÎ\83Ñ\97\92´ÊjÌn@½ñÄíZ
+\a[\a\96ýðÄÌ\84§ü\16\1fÃÿ\82Q=Ú6mÚ¦ë\88¹[Âãî<yþ4éRä&~³\9d\9eé'×aÙªêu\1e½tï)-W\94yúßC\r\7f2tÛÚ\95«6î\89¼\80Ê\9dB?\9677NíY22 \8eÊÑÆVèÞ \10<àI²\15\ f×\91\90y÷¯\9cؽ|Ò\80.íü\ 2ú\8e]\14\1cy1éé\8bg÷.Gáq\82Õ\9c,õ}`*\89\80\ 21×¾\7féÞËïz½\7f\ràþß=Oºt|߯å\8b\96¬\ e>|ö¦ö¼"\18ÀÓ\84³\aV\8c\r¬ïæTÁÚ^éÝnÈÜmÄ\ 3\92Ï\82ÿ{ýèFLèÆyc\aôêÙoÄôU{N\¹÷ìÕóûW\8f\aëá\9e\82\fé'\ 6P¹I/¼\ e1\83½\ e¿,\7fÜírlïú%ó\17®Ø\12z:ÍÊbʾá\1e\8dÜ\9d­­l¥^\\a\9aæ³ÜüY|Ô\9eµó&\8d\195núÒ-\87bn<Ä{\12¯Gï\0´]M=\Sô\1d\ 3H'\8c²n'\8c\0×u®\81H\ 6\vòß°tþ\82e\eCN\82sKõ©à\0\8d\v[?¥wÓ*.6V¶\12\8fæ¤\ 5\80\84\1eòå\83\e±\11{6,_8\7fÑÊ-!Ç/&>yõæ\15\9e\19¸dT@V\1c\18Í\e\0ÞË¢i\ 5Ó\85~\fa÷¯\9e<°yùÂ\ 5Ë6ì=~éîó÷©\13<_!¾]\8cØ\b\ 1ÀSb\87\ e°E\1fí\16T2\7fþìîµØ¨Ð]Û¶\ 6ï>tüÂÍ\a/Þ¼M~\9a\10\8b\a\867pË\82»¢RïåYC$¡\9b\ 1àÖ(0á#Á«\17/Z¶~÷Ѹħ©ç§höMÏ\1cЦ\96ÊÅY\©v»\8137\1c>\97"\7f\;\7fýôî\8dø3Ç#!\7f\88\89¿yïYòû\ fo\9f\93vó~-<ø»Âô\9b\ 2iîeZ¼;\83V°_¥ÿ\1f<RäÂÑÝë\97/^ºvGØÙ\eÜ>ë\14ú\1f\\8eÚ:gH\aߪje¥\9aͺ\8d^\18\9cº        \83kÀ}ýìÁ\9d\eW.ÆÇ_Æ\16ää÷\1f¹Sóv,\1cÞ¡N\16ÜÑËo\8b÷jÝ\7fææ\bl\ 4ÐI\ 1ø#¥¢\ flY¹d        \18\04}Áܾ9 dT׿ujÔ¨Ó¼ó\90\19kCN]Ki\9cÿ\96Ú\81|7)éÞç/Þ¼ÿôùóÇd¨\8a\ e\90² ®?\ eðÛâ+án¿_n\ 5Ë\80\ 1¸ßïzÌáàÕK\16.!
+\80Ûl9\ 6@\ 2ðúáµ\93{\96\1fЪY\8b\86L[±ëh\1cn1ú¢Y\ 4À\85°÷Ø\81üüÅËWÉï>à\99sxJËÅÈmó¹v"®9@\8f\f §WË}Ú\ f[\80§W\7f¿Ýë×è\87$çÉíóá;Ö,\9a;wÉú=Q\17\12\9ehZ\83qßèã\9b1¡ëç\8c\ eêÞµgÿÑ3Wî\f\87\1c\99t\8eó¿ÎµV}|ÿþÝ»÷\1f>b_á?dZýÆ\99\ 3k°¥\0Ïéǵaý1 åôê>SI\ e\9cþ¼§_¤\1fç0îÄ\1dݹzÞô©3\17\7f\ 2,\80o\rç\9dCÄö\15³&\8c\82ø¾hý\9eÈØë÷\9e¥ë\1cÇÖ*¾\ 5ù«fs\1e(@Ô\8e%c»7Ã#\8a\8b\16ÔëD8i\ 5«¨®×yÔ\12â\ 1uS\0\92\ 1\\8cÚ¹bÖøÑc§.ÚÄí!#\e       H\ 5t÷2dÇ«\17Cz°n{èñ\v7î¥k\9dþ\1f×[Åw \7fû\96º®vdó¼\11\81\8d=¤¶¥õ»\12\80ý\bÅË\8b«\83\aÜ\14\16wç¹n!\10\93\1c(b¶/\9d2|À\80a\93\17o\81$øá+²\8b*¥süÐn\fï¡Gc.'<x\9eü!Ãm\ 6Ú¯$ëÊ×N\1fX?khçÆ\9eR<§^\8fkAÜy\7fö\95\1av%çB<ÒM\ 1H\11\7fñè¶\85ãúwëÒcФ%Û#5.\80[ ¹{ý©¨ð°È\13g/Þ¼ûäåÛÿ$_³;órôþµ3\87vnâ%·/kVH\8fm¢Ä\ 3ZIkú\r\9aMÎéÕ©
+&\87ã\\8cØ2wD\8fv­Úv\198eÅ\9e\13x\ 2\1a9kBÓ9\1ewþ|ü\95\9bI\8f\9e§o\9dþ\11\ 3>\7fH~\92xñø¾53\87\ 56«¡r\10\94(¬?\ 6ð\a\83Tn\84Çt\93\93ZuP\0Ô\7fL×f\ e
+hê[¿EçÁ3Ösç?ò
+ðöå\93\aI\89·\13îÜ\7füüuúÖé\1f½\93ß\9d\19\7f|ߺÙ#º·ôvu*¯W\ 6\90\1cP\96rP³.
\8d\14y\87×Ní×¶nu/\9ff\81#\17\90\14\8f\9c7\8f+Do_¿xöäÉ\93g/\93Éá@ÿºÕ å¥ÜîÌ\84\8b'B6Ì\eݳum7n5LO\fàï'«Ü¸»æ¨ÞÌ+\0TÀÏ\12Ï\85®\9eسy\8dJêÊ>­úL^\1dræ&\99ZáÓ\9b·o\92\93ßàaÂ_~FøZ\fx\9cxédè¦\ 5ãú´­[I¨G\ 6p\a\83\90\vÊælÕQ\ 14\87£\8dëÖ¸\9a\,¯R?`ÄÂ\1d\9a¼J\93Þh:Ç\7f\92úÿivg>¹såô¡­\8b'ôkWÏÝE¯\fàn(k¬9«ù»MÏ¿@?\7f:f×\86U¤Î"u­6\ 3fn
+×´Øó\8dã\9a³\81~á½dq\11\8aë1aÁK'\ 5ù׫¬G\ 6¤¹¡.R\17\ 5àO\a\rY1¾[ãª2g\17%©ñ\ f¥..|ûaçø\7f3\0¢À³{×cÃw,\9bÜßßW¿\fк¢îÌwçXü*ýg¡ZëÝ¢\86Z"Q×hÑg2·ÉL÷þ*þ¾\96s\11;\96ë\99\ 1Ú7Tjí\8aÏ\1cýd\rsæ ö¾\9e\95*U«ë×\7fÚº\83çôÑa\ eá\ 3¯ëxpó|äÎåSú·×/\ 3x\ 5è9qµÖ®øLÐÿåÝ\8b¤\8bG·/\1eÛ«mÃÚ>¾-\ 2\87ÏÝ\1c¦½Ì©\v\ 3È}%\ foq\f\0=¤Â)7Ô¶\1f6\7fû±Ë÷_þÒ\8e -`\8eÿàÚ©\ 3ëç\8cêÓɯmû®\83¦,ß\85×Âé¥Á\9aË R\18PÏ]X¾\84~öˤÞP<eÝ¡si÷\84þÒ\10¿~$GêïY;w°\ 1ý\a\8e\9cº\84Lc¿Ö}q\99¼\1eã Ï\0ð\ 1õ*9\97\97ý2\9a]ñä\86ê\93\99\9f\b$=à\ fn\9c;ºwÓ²y3§Ï\9c¿bk(w\8e\88>6\18¤c@P»ºx\ f\8f^öËp7\94\8b¼Z\ f\98ÅM\ 4\0øIìëçO\1cÚ½uãú\8d[q\83ôíG¯t\9b\90\ 1;\96Mê×¶¶Zsm\81\1e\14\0Ëà\1f\1eûõ\93Ãã&±ïߺ\1c\e}4ìð\91\88\13g/Ý~\80gèë\8bþ\14\1f\10±cé\84>­k)í,ÿãêÊ\9fV\0\9c\b¬Ý\ 17Eg~)\88Ìá&?\7ft÷öµKq\17.\90\ 5î\ f×\17ù\98C\930x.<xñØ\9e-ªËÈ¡\8d\80\94sÿ\a\90v¸ÌvÃ\90Il¨ò\9e?yx/éÎ\9d¤û\8f\9e½ú\89I\8e\9f¦\9e¤Ð\9f\91\ 17b\8flY0ªk\93j"«\12úp\ 1ä\84d\a\9dÛá\88\80p\7f0Îb?ÿ\97\9342E>9\9bà+aÀýë1\876ÎÁ«;\9c2>aàWéO9Ç?ãs\1f\7fe\94Xæ}ÀYl\9cÆþµRï?ÈçöÝ~ÁT\98¿·ÊÏGeG.¯ÐÝ\04\e\ 2ö\9c¾ùäMæ=ö·ÔYì\7f9I#\13¯å^ú\ 5\ 1\fx\96téøîå\13{·ðúñ    #¿\ 2­+Ò¢¯=JÖmCÄ7íil}PÏ/\8e|þôé\13rõËgrwQdðÂQ]RN\98ÑQ\ 1¸vÀV\ 3fo;vE×¥Pý\83s,\1fÉì      h\15\84\99Wx{Ï\86\99\ 3Ûù(l-t_\1a'׸9VmÑoÆfÜ\11f\84ôãäÑ\87\ f\1fÈì\110\0·\9bEï]1¡GÓªäpI\9déÇ;\824wädpò?]\805áéD\1fÞ\7fà\*Y\16¸\13\17±uî\10\7f\1f}Ü)Ãß\10\f\ 1p]XÜÝ\fNþ§\v\84~îÜ\89\7f4çê\8fïÖ\88¿SHGúÉÉÿ\rºO$7$¿7>ú¿¦êÿ?ä\ 2\17l©ÄËØZéã>YÍ\rÙ¸#06á\99®\e\82ô\8dÔÙc~ò\98¬\8c>¸J\8eâL¹\8cM'ú!\ 1àn2I·5Ë(ðM\13\0?ó§®|ãv\8c\9dÞ·tT§:\8a
+æ:ß§Lîñ\95Ôj?láî\93\11©oð§\93}II©¾¥¶Tú*mÌMt¦\1f·D§\e¡\9f3!ô      \92P\91µ\ 3\8cì\18\89\r]9®«/¹\8c\0ø\97æ\1eÓ-Æ\98\0¤\16@\9a\9c\92;\8aùÀÊqDþ:ë\7fê%\81ü]\ 6ÆFÿÿÒ.\9ehîbÃ˦åÖf\ 5\81ù\ 4 \11©\80É%i\94Éý\ fp-åÜeÓzðÿ\;<Þå1\81Ü塯C\81²\f\Gá1¼\89 º¨\Ñüº6\87kèç¯>2¶\ 4 =p·\11öÆn\98Ö§YUGKÈÿt\14¿æX<¼Ë\85_²4f\90ãåo\9eÙ¿b\×ú®ºß(\9c\bÓ\844Cß~òæãç¯F\f(\86𤵣Áó\86ø{Ët¿Q\98Ü\8eP\àâAÚÒÏÞ|øòíû\ f\1f\8d\15P\a½K~~\1fÏ\19\9cÜ»Y5g}¤ÿ¹q\11\9fLt%éÑó\97¯\8c\18/\9f?¾{#6lë¼a\1dëªÈ\9d\9aº\8aÿïüEJÛ)}ü\ 6L[½÷Øùk·\93îÝ7^Ü»{çÖå\98ð\1dK'ô«UtÞ\e\8c]@\ 5\8b\97ut­Û®ÿäeÛ\ e\1e;s>þâ%ãÅÅøó1Ç\ f\ 5/\9fÒ\9f\9c\18¥ó\ 1Û¨þäX¾:m{\8f\99½rË\9eÐ#á\11\11\91F\8a\88\88ð°Cûw¬_4y`ÇúÜ\89aºÎþ ù\9b\95sT×jÞyÀØ\99\vW¬Y¿q\93\11cãú5+\16N\1fݯCÃjb}\1c\8dÀÉ¿¬\9d¬\9aoë.}\87\8e\9e0yê´éF\8ciS&\8d\1d\1eÔµ\8do5©mi=Ü.\80ÙOÁb¥+\bÕ^õ\9aù\ 5tíÑ«O\9f¾Æ\8b>}zõ\bìкQ-w±­e1=\9c\fÂ\1fJ[ÖV¨¬\ÝÇ·aã&M\9b\193\9a6iä[»º»ÜÉ\9aÛ\10 ûúï\9f¹ó\99\14-QÆÚ^(Uºº¹W6r¸»©ä"G\9b²x6\96\1eöCpgR\9b\146³(#°¶©hgooï`İ··«hc-°,Y¬P\ 1ýl\a!'²ç+`Z¸\98\99yI\v\8b\ e\8b\92\8a\151-\98OO§Æ\93#ésçÉ\9b¿@A\13SÓBF\ fSS\93\82\ 5òåý[o\aãå"\1cø+÷ß\7fçÉ\1eøûïÜ\7féõÚ\bþ:\8e\v²äÚ\90\bú¥\9c\81\81\81\81\81\81\81\81\81!\eÃÆ¦zÏ\8e^þAþ&Ík\99ØTó\96ûÁ\9f\eú÷\v
+èkRÏÄÆÏ¥Zß ¯À\ eA\81½zú÷\1d,p\85\1f\89\ 5.\r\ 3ü»\vì¸Ç\ 4ð\84À·o`çÀ\9eðÃF\1dü»\aØ\v\9cà97ø\9fI\93\8cßa'\12*\15rµL!\10    E\ 4ÚÿÁÿ\95T*\13*ÔJ\95X.\90«\94öøkB¹L"VÊí\ 5.\8d\82ú\ 6öì,°«Ö±Wû\0ßö]\ 3:\ 4Õõ\87\9f\râ>îÒ¼n\9d&Þ^\ 2W\81]g\89B%ò\93øÙ\vÜàqo±È\ fÆ\ 3\7fÇ?¨=2\81K½^A\r\ 3:ôêÛ1 ãÏüµ]\ fòÍÖ)ô\88\94N"ü'õ\8f\1a*\9c\80\ 62|B\88¢µ½\16\11A}ý{öëÔ«o\ f\9es\ 2»FMkúU\v\82¿nß?( \1f\ e"Í_iý\0¹,\12\88\ 5"òOóÁ&ä_\1dM\14\ 2;{Aófð×"Aµ\0øWÿ\fÿÓ\81ûo_òÿø\16       ÷\16ücgø\7f\89\ 2hQ«%j\99L)\12«T\ 2±X)\94HÄr\89H,\12\82\1eø\90R,\94Ke2\99Z%WJ$
+\81X"\12J¥r\85D
+LP+Õ\ 2\89B*\14©Åj©B"R¨ð     ©D¨RÉÔRx­T©VÀ\132¡L\ro\14Ëä2\91T.\10ËDB\85T"\16©¤bøG)ð$ÃÁ_\13)àE
+\89R\ 4Ã\91\8b\85J\95
+\18¬\90J¥"\99@"\97     Uø'¹T¥\90\89\95\ 21R \12ÉT"\11ü\82
+Æ"\97\b%21<­\16\89å08ø¨P!VËÕ\12¹H¡TH¸/ÉTB±X-\82ñ¯I\ 5b\95X\bOËÕ
\9cT$\11HdJ¡T.\83Ñ\88á\11       <¡\86×\0¹\12¹Z­\96Iñ   \99P$W¨är\95J¡PÀ\97Ebø\15¹H"\93K\95*¹æCb!°W-\95¨\95"\99\ 4~M¤\12ªÕ
+\99\14ø«Rã\ f¤*¡L,\83÷Ê\94b\89\18x%V\b\15røK\85\1c\94[)\87'd0X©D)\95Èå\12ü´D*\94*à' \86R\185÷%\89Z(\96©ä
+\91H*V"¯¤@\13pX¤\10ÉeäK\12\85\10þ\ 6\84.\11\81è\94@\82\b~\ 5\90\0×¥*\ 1¾C!\16\81J(Õð\12x\87L\r¢\16+Ô")\f^"ã¾\ 4/\96HåðÛ\12\90\85\ 4¥+\82\1fHU0\1a\188ù´\f\84\0ã\0{\96\89%@\82R$TIñGj\18\8e\ 2¾$\95\83¨¥JP*\89J\8cï\0   (¥Jp\bjP%`'Ç=Ð4\99\bu\ 64O\r\80Y@7ð\e´\94¼G\ 2L\87_\ 2\1d\91ÉÅ\12\81T$\15\82\f\80YrµR©\0"¥j¡H¬\86w\0\15\f\9ePÀ;\94jø-¥\ 2\95\9c£I)THä¨ÀRµJ
+ÒTK\84 &\11h\8cX,\ 1\15\91È$B\90­B\89\82\10\89äð\1eÔE\91J\r\1c\ 4Éá\13À_ÐM¥X&\ 5U\81\85ÀZµ\¡\ 4¹\88ø\ fÉ\81\1c´H\fj%Ã\ 1\83Ò\ 3o\81()h\9a\92ð\¦\ 2\83\93\80e\88ebx\8f
+¸ PI\15j\ 5<\ 5?\0³\80¿\93Á@@£QéÕJ!\98\12Ø\8f\1c\f\f¸É}     }\93\1cX
+_\13+8Â\95 ÓJ0\18©\fÆ+W\bÕ*±T\ 4Z\85\ 6\fú¨\ 2\85\ 1ñÊ\881©äb\95H)VÉdøe5¨"ª\8f\1ciPð\9a\at«a `Ç2à4JI!\94Ã\13 ÀàTà)ä\9dJ\ 1\ 3VÁK\14rø´R\ 6\8e\al\vT\18ì\ f­I*T(D ¦¨\rr\15ñ\18Jø)H_\f\1cá\1d\ 4¼G       Ì\14ÁÏ\81ï2¢ybtX0&0\7f1±J9ç\8bÀE¨ðÓ`ob¹
+ôL¡R \15È@ó$è̤`±ø\84\\r\16   \16 R\89\15È^îKJ¡\f\\88J\ 6\8e\8f\a\8c\ 6e\80aHÉ\8b%àÆD j%\98+¼G.T\ 2\97@½ÁÀÉXÔB\10\86D\84ZDÌ\ 2\9e\80¿\a\ 5\ 2û\ 2\9b\10
+\95
+\84¬\82\88\82\9a\a\9f\96\80\ f\ 45D\ 3\82÷(À4\94r\ 5h\ 3xS\95\92\b\ e\93\81»\96+Ñnå ôÀ\ 1\18.\8cS¦"\83\ 3ó\92\81?\93\81rð_\ 2µQ¨aÄJ©\144_Á1\1dt\19X¡Dk\10àX\94à;ÅàØdJÞC\80>\83Ë\83ÿ¡\95ÂØÀåª\94 á`ÙjbéÀ3\11z\11\18²FÇ!\1e\88À\94\81"pºÀb       X\97\fHP«À\ 5He\1c\ 5h5À(pGð!±
+<\8f\92ªP±¤\84ß"PK\99\1cØGÜ«\18\f\12´\ e\1e\12\13óâ"\ 6h\9a\14\9c\99\ 4 P ó\ 4×(\ 6\a&\ 2ñ£% ¦A8\ 1ª@0\84½bð\aà¶Pp¨ûð\ 4\8c\16=\91\1aí\18¤\ 2¶(\ 4\ 5\12\83Ï\85\98 å\95\1c<\18X\12ø8Ð.9þ\1aúJ   >\ 2*\82f
+c\ 1\9e\89Ñ\ 5¯*\88g\87'UJ\18>\17!\94rpäàÒÅ \ 1N\87äB\f£j0\ e\1c/÷%ð\84@·X
+\94KàcD\8f@2
\1c2\fP\1f°B\12\16!Ø(À\16T\9cb\81cQ\ 1±rPd)q\19 \ 3èQ ´KÅ\9c\19\80Æ\83\ f\96\83óãä\ 4¢ÇñÈIj¦\14©\89¯\84À\ fñL      6¬æ|\1cÄ x'\9a\18²SBÂ\17\88\1cü)\86\1et_\10\8bÐ\8e%8>"I\15Z È\b#\ 4ÿ%\b\19$\HÕ@'\8cG,Cß\88ª\836\83¾G\ 1\82\83g@T\18× PJA
+rx©XN\ 2\ 2È
+c60
+|·\1at\\ 4J\ 5V\8e\ 4\ 1[8\85\0\89      Ác í\ 3Ûà3¨òJ N)Ç,G Å\ 4\aܼ
+Ü ê\r\10\84þ\18R\f\8c  `xBE¾+\96ª\81qh\Rà\12z)PCP\1e)ÿ\1dµ\10|\ 3ü\ 2d\ 3rt`À:`\10\18\13ü\9e\12\0§á ð´*\f\9e
+ίK\95@\16øS\11æ\18ø\ eÈ\81ÀO\82-\83/\ 21ªÐ¯Cü\ 5í\ 4ÇÇ\7f     Ã\15¨\ f8|pî x\90%\81B\ 1'\80 të\98/\80å\80Þ\0\9f Á\ 1ç!\94\80Ã\ 3\99\81mAn\ 5y\96\10Ì\10²V\19X>\86ux\ 5¸\ 5     ²VÅ\13\ 49\ 5\84P\19\9a¤\12Ü=<\83\9cDo¢\10«PôH\10¤)\10\99AV\ 4n\1eÞ\ 2ô\81\9b\ 6·\ ej\bù\89\10b,\88\18lB\89\1e\10\8c\ 6ÔD\81F\f>\85×\ 5HCT(\ f\94\81\1aE P\82e+aPàB\80\1eðÈ\90ob\9cQ(Ñ\ 2\94 5 @$"© 0\17d"Q\ 2\17 \86\82ÚãhA/\81÷\10\9a\81û\1ae\80 \ eÚ\82aS\84Þ\80xR0\185fRj\f\81ø\1e\bT\10\10\81µ"̵0â\89\81)\12ÐRä\8d\14\93\1dpnr4\14ε\82C\81Ä\12دÄ\8c\91ÿ\12<\ 5J"F;&N\ 5ÔA\81©5H\r\14\0\84-Á \ eCļYJ²1°}\11\12\r\f\ 2¦Ã\97 ~À_\ 2\85\10\8cÑÍ\83o\85t\r\12C\11d6b.¡\ 4¿!\84ñÂ/`Þ®\92\10\17\rrT)\89\8eB2 Å\10\b\9fP\8a!F\88I\9c\afA\ 2\ 5ü#9.<\ 1Ê+\82t\ 2Ü$Ä"L\9a\81QÀG\19Æ\ 5¥\84§  smâÕÁí\89\91&tp¨\9e\90ì@ú'\80\fK\88N\1eó[`\86\94\88I\f±Z\ 6Π   \fEJ\9e\0\91\80\13ÅÚ\0\13\ 3%pW¤&      ªLÉKI\81\ 4\80\r\80\eVqI\ 6(;è7\18º\ 2?\ 4\96/\ 3;\87H\8f\9f#\99\f¦P\90.ÉPV\ 2)T ð\rT\1f\11IA\88k\93K1tCì\17Éù/I!OU\91è\0\89»\94¼\a4\17ü\0Z\ 2øp\88\83Xë¨!ñ\97\80©â{\80Fpð"(HP%àKÀ*%f*ðf°\ 5â\0Aôb\f\82 A©_Bç\v¹/Ø\19FV5\ 6\19H\8aÀ$Á`á=*\111\1e`\9d\f\94\ 2Þ#Æ@¥\94s\ eY\85c\ 19ª1,©PE\91j(00
+ÀX!Wâõ\ 1L\fþ\b\95\16|I\82n\ 6\¿\18\93e)*\ 1\b\17¼½\10sq\fCXë`f\vlÂêF\82å\19< B÷\0\9cÁ*\ 4Ý\ 3ä\81às!¶¨ÑÁò\1f°\ 4\7fR¢¹\83\91\ fÉ ®¨!\ 5\ 5g\ 5ÜTÂ\8bÁºä\10:@r2"nP@,@À\1f¡«\82ÁB\8a\a?\ 1ÖÉÑ·\82\v\ 1ï\ 4¶       )\ 5h$Ï<\90?P\ fÎT\ 6þLAÜ\bü\12äuR \1dŤ E\1e°
+rC\12ååXÚÀ¨\94ø\v \ 4)Ñh\90 °\14F.%¹\8e\14ó^\18\882ÅA\80\8a\16¡æ(D\18¼¤RPPÐxH¬ \10Q\10S\91`\r\ 3\bó\e4[´ HiÀ\11\81ÓFs\83\92\15\92a°R9æÈà\8fU\98\b\80\8d\80£Ô8\b0\7f°0\946)\88 xAI\vJ\ri:ºJ\90\15\14\ fRL×!A\17C½   ¦\ 2_\ 1\7f\80\9c8Wp-ÀB\88V@\12Ô¬Xð\81W\85 \0\1fS§Ä%H  I\85\18\ 4ò\85§$$C\ 23\ 4ãWJÉÄ\v\96\80*\fê2¥\ 4\9e\09\82< 4\83*A\82O\80?\86\80
+%"Ô[à\A>@"f\ 4 \1dPHó\8e\b\18¡\82\84\ 2h\82øF\86\ 3U#ø%\19p\ fë,°Z¬¯àw\80µð\ 3|\r\ 4b$\0\9c\ 1\81\90@"PÚ\ 1E"9\fV© O\0\12¾`BY\8b¡üWÀgÐkÃC@\11q\92\90=\80\87@\ 1\94\90\f
+ÃÃI\ 1p=jükP5\ 5ñCjL\14 \80\83ÔO.\10£ë\ 2\8b\93a\82\87\13\14)z\a,\0?¨BS\80÷\80\ 3F!\82\8f\80D\8a\18
+x\bÐgx\ 4|)<\0µ\ 487\18\rD\19ÈI`\94à\12\88 }\ 6)Á`¥\10Ê \86¡-)ùD\1c¢9\96UXÆ\82#\12\89\89\90@+\14X\91\8a Ï\82÷@Þ\ 2ª Âz\13Â\ e¨\83\14\87"Âè\ 2\8a/%V\rÚ&Ź\1a\ 5äùð\ 4\18-F\e\18-Tt|¬Ua\15\v\fI'Öñ wÄP0c\ 2¦\80³\85\88\ 1²\95¢¶âd\ 1Nt\80\15\93\9a\ fü­\14ã>ü@\8aÆ\85\ 5\1f\19\ 5`$8?ôz\e&%Ó#¨SJ\9cxQ\91\19\15\b×À,pNbô¤(}`/¼JJò       1Z5\b\ 3\\fX\12úlô\91àÎÁ«Ã\ f¡l\10\13w\ 1ê\ 3é\rx\1aNJ\90RAî\ 2ÜDYC0\13\83CÆ 
+Uº\14#8¸\11LèàoñÞI\15Q\17\88,\98\ 5¢\17\a\8aÁoAä\801 ]@}\ 5´  ±$RbΪҤ]j\fÏX×\80Á(\89¹¡\ 3\81jE\8aSQ\18ÜÀBA¢ 4Ô_ü\12\18\12\8c\ 62    1Ö6b\ 1\ e\15\1235Îj(ÀIrL\81ÿ\80Ò\1e\84"çé!¡\ 2B\e(\12\14\14Ä\b \1f'\93\ 6hÞdÀ2¹\82L*I0-\84q\82é\81ö+1¹Q\8a       Í¤ÎS\0\ 2Th\12JH$åX\84\ 4ú\8dy\ fP\ 5E\89\94<\ 59!&\82\80Ú\ 1§ÁÛ\ 1y ðà\fTdÖ\vü³\f3](4\94ä  \19\99£\83T\12\f\8fh\ 3ÄeÐx\8cªJ)ÿ%È×T
+\15\86c\92\ e!\8bÅX)AR'Ãð\aµ5¸tø2h:\98-NÓ©q¾\ 5­\b\12\10©\0Ô\v²\ f\94)$\fÈ\ 5ü\10\94À<¬qÈ\87 (\ 4ÕUb¾¦Â   Bü\10\1a\83\1fÈ\81¼\ 6\\16Î[B¥&â¦\ 3á\85à\82 !ÂÙ\15(´pÞ\fÓ\12̵TĨÁß\80]+H\1aÅ}\bjBðÔ0"Ðy¢½àt\80ÓX\85K±$\11\0?@­p¦\rô\f\14M Æ)DTvø\12xmø\12djH1(\bè\1dT'`sà§ \ 4@ǬÔðN\86\81\0"\99\1aR>1ê\ 3\96\*|1¸@L%!ÁFÓ\aö*ñmð%Ìï¡nÃù\ 2\bc*xB\ 6Ì\84t
+Ë-\19>\81\18\vÿ@¸ÐD?%ÎÛ`!'\82´\19\ 28>\ 5J¤Âà\8bs\ 2¤\16Â,G\8dJ\81õ©\98Ô\1aÀKH\9f$Rnþ\ 5Ò)\b²\\1e¨\99@Æù+\b\90¼\17úÏiæ:ðP'²úà\9527-Ã@\8b\ e\ f\82\1f
+\98pK\ 1õ\b¤\1fj$\95LN£\@\8að.\bî
+\f!Àdd\94
+g\9eài\90/øh9\9a¾\ 2ç\11à        )Î\8dàÄ)T4\908\vÀÆA³@áAmH\ 1\85_B.\81R\0Á\12^.ð\94\1c\8dN\8aÑ\1eå\ 2OA\10\0_
\1f£"\191\ 4\19,@Ô
\16\88\ 1-\v¤\88\99)ÿÄ¿ÒäÉs\ 2B\88P\84Õ¼\fS%à4°\14²dÐJ9\963rB<8&(Æ1Û\86DA\8eI\ 3\16\90à\8a ï\ 3\91b\8a\89!\9cE\16a\86\83Ê\r\15\90\1a'ôH9 &é\80\12§­Ái\81O\90\10\ 3\ 1ï(Æê\16C5\9f¾\0%@%f<r\³\81ü\bò\fð>\122\ f¯"ï\ 1¯\ 5¤ËÀxd\\98\0Ã\ 5\7f£Ä)2\ 5©ê\80s`¦b\8c\10Râè@ï \ 5\ 6½\0\86ñÕ!ú\13Ô8\f&*%ñßh½8Ó\ 1\ e\86[9RÃgÀ\8d\89\0\9aÀabê\81ù¢\12£'Î|\8b°\98\ 5ÂÀ\8eIB\80þ\f\1e\ 1nh¢0f\\18Í!H)qrS\8c\13¦ .ô?\18ß\ 5X©â\9c<\992\aÁó&­Àº\eK\ 2\15©Ù\80Õ\18\ 3 ö*åä pqàq\90\8c\ e&\7fÈO\9cX\83z\8bs\rb\9c7\ 6ÓG: \89\ 4?\v^\15\92v\9c1À/\ 1MðßP\8f¡ßÂ4\93(\ 4ø4(8À\94¾S\bÏ\9fÑ\1a44\8föÄÆ¸\7f\10³³kÒ³§\7f\8f\80\8e\82Î}ý;\ 6\ 6ô\f\12Èí\ 5Î\10\98\94\10Ï\14\98cÂëpÒ\16\ 5ª\84Ð\ 2ö\85¯\80Ä\ 5\f\ 5ü\17x(âÄD\1871!\ 2\97\8a³,Jò!g\11)¬ÄÄ\ 5\81ãW*q\9e\ 2F§Æ¹D¨®äèÇ È  q®\14\<.Ý\b\13@àÅ%\vÌ®q\ 6VBÞ§$\93\11\90ÕBu\ 4¤\89\ 5Î22ťƠ¡\92\80z\b \r\ 6¥Åå\ 3¬\và\11\8f\1e¼u\ 1Ý\1e\19¯]þÇ\92 þh#ˬܢ&¼W`çYÍ»&ÏûƸX¨½Þ鯝\84úUóVãúf£ ÁÝ\ 3üRGªµXÈ-ô5ï\98¡\9c%z\953·*©ù\7f")\9e¯©«\93\ e?X"ÖZÁíí\1fÔ\ 5Þ,Ëx\ 5W)pñ\86Q\92uÑF]ü{\a4\1eÜ;à§\16w\99¨~MTÿ²\98\ f\9e\14<|\86\8bùÜ_9\83_\83,
+W\ 4¥\ 2\ 6\ ei\11¤Ýðsõ/¯çK~b1?\83?k/×ã°\94*Íj=ÿ§\94Q:9kFG\86*Õër½f©]\94ºÔ.â¤üS¼6hã\84î\8c¦Ó\17\ 1¼ëëÏ\ f¦\9a· Zÿ ^\ 2®a%pH@ê'¾3Hßöý\ 2ú\ e\bèèW;`°\1f÷P?}t\8aüÇ_7w7ù¹F\r.ûeí\1a¬]\83µk°v\rÖ®ÁÚ5X»\ 6k×`í\1a¬]\83µk°v\rÖ®ÁÚ5X»\ 6k×`í\1a¬]\83µk°v\rÖ®ÁÚ5X»\ 6k×`í\1a¬]ãwh×ø\85f\ 2\ fv\84ÿK?\ 1¿zkDëà?¤B\7fûÚ³ÁB¹:åOÍ\1dM°ÿ\ 2ÞEÎ%¨\1d08\rß\1a\81¬\83?x{ù\89å\1cïðaþïR\9ewKó\10ÿ\13ÇjÞ~ðp\8dÀîA\ 1\8cý'\1a:þsÉ\9c¼C\80\83á> ¨Þ©S\0~#\85\9dòtßóîÙ/È¿g\aø\96\7f\90¿\1f\f¶®\7fï\1f|ì_ȯ>( C\7f|8#&¤ÿ$\92\98ò\vi\a %7p?ÕzÂ\v!S&r!KØýMRûKP\98\ 4P\1aàÊý§G@çÀ\9eüÉ\13 Mx¦¦\89\8b\80À\ e\ 1\rkz\b\9a×3i\95òëÎPÐ\90\95\1c\9V©Å\(ÂÉ\7f\\12Ƶ\ 3A\e\BÃ\ 5\98.¿ú»ø¨æ÷5ÿ\86Ø ÀÒ\82¼ ²\10|ÈÄÆ\86\8c\eéwÅõb(\17M\9a{ç§}í\ 1\ 3\ 3\ 3\ 3\ 3\ 3\ 3\ 3\ 3\ 3\ 3\ 3\ 3\ 3\ 3\ 3\ 3CÎǯ\1e\86K{¼\f\b&¦l\8aL\1d@ÍäK\1fLFÙ\17ú2:&\\ 3\83\89)\9bBwÁ1±R\ 4\13\vDÖI\8dÉÑ00¤\ 4\99\10õ\ 5\ 3K\8d        Nï0¼\ 4\99(u\ 4\93\0-92\81f\ eLX9\ 3\98\ 2ÚlÈ6 -(&)½\81¶$yÐfCö\0m)ñ Í\86\1c\ 2ÚbL\ 5mNd\ 3Ð\16\11\ fÚlÈ    -Ãô Í\ f£\ 6má¤\ 1mfd{Ð\16`zÐæ\87Q\83¶pÒ\8063²=h\v0=hóÃxA[2éA\9b\1fÙ\1e´\ 5\98\1e´ùa¼ -\99\f@\9b\18´E\971hsÅHA[,\19\806K²1h\8b.cÐæ\8a\91\82¶X2\0m\96dcÐ\16]Æ Í\15#\ 5m±d\fÚ\É® -·\8cA\9b\bÚ2ù!h3&»\82¶Ü2\ 6\18#hËä\87 Í\98ì
+ÚrË\18´¹b\8c -\93\1f\826c²+hË-cÐæ\8a1\82¶L~\bÚ\8cÉ® -·\8cA\9b\bÚ2ù!h3&»\82¶Ü2\ 6\18#hËä\87 Í\98ì
+ÚrË\18´¹b\8c -\93\1f\826c²+hË-cÐæ\8a\91\82¶X2\ 6m®dWÐ\96[\ 6 Í\12ã\ 5mÉd\fÚ\É® -·\f@\9b\vÚ\92É\18´¹\92]A[n\19\806K\8c\17´%\93\ 1h³$\e\83¶è2\0m\96\18/hK&\ 3ÐfI6\ 6mÑ¥\am~\185h\v'\ 3ÐfI6\ 6mÑ¥\am~\185h\v'\ 3ÐfI6\ 6mÑ¥\ 1mfè\aYG£a¤ðóÐ\17Ç~OÐ\96^\1aÐfFæa\0zõËj½ \8b\98ù\9b\80¶ôRA\9b\13\99\84Áh×Ë\87ô\88¬flÎ\ 6mé¥\826'2  Cr@\8fßÒ\v\fÀÞ\1c\fÚÒK\ 5mNd\ 6\ 6æCV|.Ó0\18\93s*h\v\90\am6d\ 6\ 6æFÖ}.s00·s\1eh\v\10A\9b\a\99\84\81y\92¥\9fûU\18\9eÛ9\ f´e\88 Í\83ÌÀðl1À\17\7f\12T\18\9eÃ@[\86\bÚ<È\f\fÏ\19Ã|ñ'A\8bí9  ´e\98-\85H\85?\86üè¿\83"çs\12h\8b1ûÉ\91
+\8b\fÿÑ\1f\816ûs\ e\98\1c\7f  tÙe\f -\81\1c\ 2ÚbÌfr¤Í-ú -\81\9c\ 3\9f\a]^\19\ 3hK G\81\89òçA\97\0Ú\12ÈQ`¢üIÐe\941\80\ 4r\14h\v3;I\936«è\83\ 4r\14h\v3;I\936«(\836ûs\1a\13A\9b\a?\ 5ÚL¢\ fÚ\12Èi -O\1e´Ùðß Í!Ê Íþ\9c\ 6ÚòL\ 5mNü7hs\882h³?§\81¶<ÓÀð$gú\17\7f7d\91,~gÐ\16i\ 60\ 6º²\v¯\f\ 6½\b\85A\e´E\9a1\8c\87\16ãç\95\ 1 \ fEcH\ fÚRý!\8c\8a\ 4cf\94\ 1\90eÚ÷û\82¶Hÿ\ 3Ù}ü9\ 3\ 6ÐÃß\10´¥úßȦÃÎI0°Nþ& -ÕÿF¶\e\ 3\15ÍÌñ -Õ\9fB6\1a\ 3]ýÌ© -U\86l\0ÚJ\9a3A[ª\fÙ\0´\954g\82¶T\19\8c\1d´54Ç\82¶`\19\8c\1d´54Ç\82¶`\19\8c\1d´54g\82¶T\19\8c\1d´54Ç\82¶`\19\8c\1d´54Ç\82¶`\19\8c\1d´54Ç\82¶`\19\8c\1a´Õ3'\83¶l\19\8c\1a´Õ3Ç\82¶`\19\8c\1d´54Ç\82¶`\19\8c\1a´Õ3'\83¶l\19\8c\1a´Õ3'\83¶l\19\8c\1a´Õ3'\83¶l\19\8c\17´u3\87\83¶x\19\8c\17´u3\87\83¶x\19\8c\17´u3\87\83¶x\19\8c\14´\15\83\84\19\8c\14´\15\83\84\19\8c\11´µò·\0m!3\18#hkåo\ 1ÚBf0FÐÖÊß\ 2´\85Ì`t ­\92¿\v\99Áè@[%\7f\165\83\11\81¶2þ^ -m\ 6#\ 2meü½@[Ú\fÆ\ 2Ú\9aøÛ\81¶À\19\8c\ 5´5ñ·\ 3m\813\18\ 5h«áo
+Úbg \ fÚ:ø\9b\82¶Ø\19(\83\ 2þ¾ -y\ 6Ê ­\80¿/hK\9e\81&hkßï\ eÚòg \ 6Úª÷»\83¶ü\19è\80¶Þ10ÓûMA[ï\18\10´µ\80ÁР­q\f<h+\ 2\83AA[Ý\18Ò\80¶:0\18\ e´u\8d!=hk\ 4\83!@[Ë\182\0m¥`0\ 4hk\19CÆ ­\17\fY\vÚúÅðo ­\1d\fY\ 5Ú\9aÅð\1f ­ \fY\85,\92~V+äo\ 5½\v\9d\81:\f#n\83©h\ e\86\1eÅÁ@\1d\ 6\96²!\155ç!\8b\84Â@\ 5Täkx¥Í10\80t\18\f\0ºb¥¢º9\0\ 6\16\13\83Þa\f\ 2¥¢ºÙ\1dT$Å G\18\894i)p¶\ 6Ey1è\b£\92#-\ 5ξ -1\86\b\85HK\87³/hK\8cá\97a´â£¥ÃÙ\14´ÅÅðË0fñÑRãl
+Úâbø\ 5\18¿àh©qv\ 4mY1ü,²\91à¨hrv\ 4mA1ü\14r\8cÈhé¹\11\82¶(\18~\ 19I^´\15ß(@[\b\f¿/hë>eÐf?Ão\rÚêO\19´ÙÏð»\83\ 5P\ 3mÆ300ëc` \ 6ÚF@\a´¹ÎÀ\80 m\a\14@\9bå\f\f© m\r\86\ 6m~30¤\82¶5\18\14´\99ÍÀ\90
+ÚÖ`PÐf6\ 3C\1aÐ6\b\83\82\19\18RAÛ\1a\f
+ÚÌf`H\ 3Ú\ 6a8Ðæ4\ 3C\1aÐ6\b\83\82\19\18RAÛ\1a\f
+ÚÌf`H\ 5mk0(h3\9b\81!\rh\e\84á@\9bÓ\f\fi@Û \f
+ÚÌf`H\ 5mk0(h3\9b\81!\15´­Á  Íl\ 6\86Tж\ 6\83\82\19\18RAÛ\1a\f\rÚüf`àAÛ\14\f\rÚüf`àAÛ\14\f\rÚüf`àAÛ\14(\80\19\18xÐ6\ 5C\836¿\19\18RAÛ\1a\f
+ÚÌf`H\ 3Ú\ 6aPÐf6\ 3C\1aÐ6\bÃ\81\19\18Ò\83¶M\18\b´ÙÌÀ\901h[\86!@\9bÇ\f\f\19\83¶ed9h3\98\81á\87 m\1cY\vÚÜe`ø7ж\8f¬\ 5mî20ü\ehÛG\16\826k\19\18þ\e´­$«@\9b¯\f\fÿ\rÚV\92% ÍT\ 6\86\9f\ 2mCÑ?hs\94\81ágAÛVô\ fÚ\1ce`øYж\15=\836;\19\18~\r´-F\9f ÍK\ 6\86_\ 3m\8bÑ\eh3\92\81á\97AÛhô\ 3Ú\d`È\f\8d~@\9b\8b\f\f\99\ 1m»Ñ\ 3\90\81!\93 m:z\0m\1620d\12´MG\ f ÍB\ 6\86L\82¶éè
+Úüc`È<h[\8f® Í?\ 6\86Ì\83¶õè\ 4ÚÌc`È<h[\8f® Í?\ 6\86Ì\83¶õè\ 4ÚÌc`Р       ´\rH'Ðf\1e\ 3CæAÛzt\ 5mþ10d\1e´­G'Ðf\1e\ 3\83N m@:\81\18\182\ fÚÖ£\13h3\8f\81A'Ð6 \9d@\9by\f\f\99\amëÑ      ´\99ÇÀ\90yж\1e]A\9b\7f\f\f\99\ 4mÓÑ\15´ùÇÀ\90yж\1e\9d@\9by\f\f\99\amëÑ       ´\99ÇÀ\90yж\1e]A\9b\7f\f\f\99\ 4mÓÑ\15´ùÇÀ\90IÐ6\1d]A\9b\7f\f\f\99\ 4mÓÑ\15´ùÇÀ\90IÐ6\1d]A\9b\7f\f\f\99\ 4mÓÑ\15´ùÇÀ\90IÐ6\1d]A\9b\7f\f\f\99\ 4mÓÑ\15´ùÇÀ\90IÐ6\1d]A\9b\7f\f\f\99\ 4mÓÑ\15´ùÇÀ\90IÐ6\1d]A\9b\7f\f\f\99\ 4mÓÑ   ´\99ÇÀ\90yж\1e\9d@\9by\f\f\99\amëÑ    ´\99ÇÀ\90IÐ6\1d]A\9b\7f\f\f\99\ 4mÓÑ\15´ùÇÀ\90IÐ6\1d\9d@\9by\f\f\99\amëÑ       ´\99ÇÀ\90IÐ6\1d]A\9b\7f\f\f\99\ 4mÓÑ\15´ùÇÀ\90\19ж\e=\806\v\19\182\ 3Úv£\1fÐæ"\ 3Ã/\83¶Ñè\a´¹ÈÀðk m1z\ 3mF20ü\1ah[\8cÞ@\9b\91\f\f¿\0Úæ¢gÐf'\ 3ÃO\81¶¡è\1f´9ÊÀðS m(Y\ 2ÚLe`ø\ fÐ6\91,\ 4mÖ20ü\10´\8d#ËA\9bÁ\f\f\19\80¶Y\18\b´ÙÌÀ\90
+ÚÖ@\ 1´YÎð»\83\ 5\18\11h\8b\82á·\0m5ÿ\8d@[Ô\f4A[û\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18~\ 1´'\93\18\18\18\18\18~WäJ\aÚãI3"ÚCÑ\80\eÍ\1f© ?¾ôr3\ 6^ñLúS\e\1afQ\1cÒ÷\82£4\98Ô!\11.ýõWîܹÿFÀ¿ÿúKÃ+\8a\83B\81ý\85#!cù\83ªniFô\17°(OÞ¼ù\bòæÍ\ 3Ü\82\11r\83£2*-ÑåN\15\1c5vq#\82\ 1ý\9d'_þ\ 2\ 5
+\9a\10\14,\90?\1fð*7\ e\8e\ 6§øQ¡ì@x\88<0\9aܼrý\99Ê/\83\ f(OÞü\ 5LL\v\15.R´\18 h\91Â\85L
+æÏGXEÃú4ÃÊK\84\a(\0\92Ë\87Üâ¼Â_©>Ô@ãÉ\85ú\8dl*hZ¸hq³\12%-J\95*eQ²\84Yñ¢\85M\væÏ\9b\87
+§8>¡\8e\17\15.R¸p!SSÔóüÄ-pÚe8¿@ø\84r\ 36\15)f^²t\99r\ 2++k++A9ËR%Í\8a\166)\90\8fç\94\ 1F\93f`\1c\9f
+\80ô\8a\1573\a\98\15'z^\bÙ¥å\17\f24\9eO0\1e\93ÂÅÌ-Ê\b¬mí\1c\9c\9c\9c\9d\1c\1d*ÚX\95+]Ò¬\88)\1dNñã*X¨Hñ\12\16¥,Ë\94)[Ʋ4*º¹\19a\97©I\ 1\8d_0ÄÐr¥\8c§¨\99E\99ò6öÎ"©B©R©\142\89ÐÁÖªl)ó¢\85\90S\86f\14\ e\8c\e\97¹\85e¹òÖ6¶¶¶6\15¬AÑ\81_\16%\81[E\fé\17RùT¬Di\81\8d\83\8bLU©ª\87Wõê^\9eUÝU2\17\a\eAió¢¦\ 5òþmh\95"\86\97·\80iQóRe­lí\9d\84."\91\8bÐÙÉÁ®¢\r°«¬¥E     ³¢\85L
+ä5\8c¶käV¸xÉ2VvB\99kÕêÞuë7lÔ¨aýºµ¼*«$N¶À©"&ùa8\ 6gTî<ùM\8a\98\95*WÁÞY,W¹º¹¹¹ª\95 é"¡£½m\85òeJ\95(^\ 48õ·\ 1´\9ds\98ù
+\14*V²l\ 5\a±ªJ\8d:\r\9bµòóoß¾]Û\96M|½=Üdζ\82\v\17ÌGT*kG\93vh\7fü\95;/\fÌ\ 2\ 6&\92»Vñ¨^³V­\9a5ª{V«RI­\94\89\9cìmÊ[\96\ 4NåÏk\80¡åÂáäÉoZ\14øä(uõ¨Ý°e»N]{öîÓ§W÷Îí[5®ãUIædS¶d1Óüy\rë¥pd\7fç+XÄÜÒ\1a\ 4XÙË»^\83ÆM\9a6iܨ\81o\1d\9f\1a\9e\14\8aVeJ\12\19fýÐ8\85*X\18\86ã(uóªÛÔ¯s¯þC\86\8f\1a5jÄ\90þ½:û5«ëå&q°*mfp\95Ê\95ëÏ¿@\82ÅJ\96«è¢¬R£nã\16mý;tìØ\ 1T½U󯾵«Wu\95      í¬,K\1455\84\1c\81i1\v\81\9dØÕ«^óöÝû\ f\1f;yúÌ\993§M\1a3´_Wÿfu<Ô.\15Ë¡J\91À\97¥£I3²\0²\ 2\85ÌJ[9ÊÜkÔkÖ6 k¯>ýúõëÛ»G×Nþ­\9bÖ÷ñ¬$'n¡PA°½¬g\14D\16P¨26B\95GÝæ\1dz\ e\1e3uÎÂ¥+V,_2\7fæÄ\91ý»¶kì]Eîh]Ú¬P\ 1ÃÚ\1e2*o\ 1nd\9eu\9b¶ëÒ{à°\91\8c\19=rØ  \9e\81í[5ªíé&q´¶\84H\83Ê\9eµ#ã\1c\81\92\ 2{ieï&þ=\ 6\8f\9f¹håúÍ[·mÙ¸féÜÉ#\83º´®ï¥v±-[¢\bÚ\9e¡\19U°HÉrv\12÷Z\8dÚvé;t̤é³fÏ\9e5cê\84ÑC\83z\ 4´nä]U)´-[²¨I¾<\86`\14X^ñÒÖÎ*¯úmº\ e\1c7kéºm»÷\1f\7f\86ås'\rëÕ¾©we©½À¢¨\89\81\19õÇ\9f(B\v\81\83¼j\9d\16\1d{\ f\1d?}Þâå+W®X¶hÞ\8c\89#\aöèзº\9bØN`a\b¯À;\ 2ó2¶¢JÞM;ö\1d5}Éú\1d!G"£¢"\8f\84ìX¿tæ\98þ]ZÖ­¦p´*\85ÃÉj¹¥\19\1aǨRVNJO\10á\80±Ó\17\12UߺyýÊų'\8d\f
+lÛ¨\96»Ô¡|)\8eQY­QÄ\11\94(g'«Z¯u×Á\13\17¬Ù~ âÄé\98\98ÓÇÃC\82\9f4¤{Ûú^*gëÒÅ\vÑ`T±RÖÎê\1a\8dý{\r\9b<\7fÕ¦\1d\87ìß»có\9aųÆ\ féÙ¾©O\15\99\83aD¨q\ 4\ 2\a\85gÃv½FÌX¶e\7fÄÉØ¸\8bñ\17b\8e\1fÞ½añ´á½Ú5¬®\16V°DFeµÜÒ\f\8dcTik¡k­¦\ 1ýFÏ\¶qç\81#\11\91\11G\ eìÚ¼jþ\94á}:6«\r\8c*oa8F\15µ(浪Ѥc¿±s×ì<|âÜ¥«×¯]¾p:rÿ\96e3Fönߨ\86+EFUpqónÞyÀøy«\83\8fE\9f\8c\8e
+\vÙ¾nÑ´\91À(\1fô\9e%\rá=       £Ð\118»ÖlÖyàÄ\85\eöF\9e\89¿vëö­ë\17ÏF\1dغbæ¨>À(Ð(:¦g\8a\8cªäÓ2pð¤\85ëw\1d>vúìÙ\98\93G\ fî\¿xÚ\88Þí\9bÔª$®\88ñØ\10\9f¹ÑcZ\vAl\81\83'/Ù|àØ¹+·\12ï$Þ¼\1c{ìÀÖå Qþ\r«\13\1fe\9a?˳\954#Ó0Jä^»U·¡S\96\17~òìù\v±§£\ eí\·pÊÐ\1e~\r\88OÐdxY<\1cdT1d\94OË®C§.Ûv0úµ\84¤»wn]\8e\8d
+Ù²tÚð\1emë{(\1cÁ\13ÐH\ f q±\11¹×iÝ}Ø´e[B\8e\9e>\17\17wîtTèö5ó&\f\flY·ª\9c\ fz\ 6(\8a9F\11ýî6lÚòàÃ'ã¯'Þ½{çæ¥\98Ƚ\e\16M\1eܵU\9d*Rûr%\r¢àÚ#KaTå:­{\f\9f¾|[hÔ\99óÀ¨S\91û·.\9f9ªo\87&µÜD\86²<-FÕnÕ}Øô\15Û\ f\9f\8a¿\91\98\94\94p=îÔ\91\9d\8e\v
+h
+ã±-c^Ø\10
+®=2\8eQ\966âÊuÛô\1c1cEpè±\98óq\17bN\1cÙ½~Ñä!ÝZûz(\9c¬JqAư\8c\1a>cÅö#§â¯'ð.j˲é#zú5ðTâx\f¢àÚ#ã\19e+®R¯m¯\913W\ 6\1f<væÜùØSG\ fl[9{L¿\8eàÊ9\852\88\18\ 5¡Å½6è÷\8c\95;\8e\9c\8a»v+áÖµ¸Óá»×Í\9f0°s\8bÚ\95%vå\f\11Få/dV¦¢¤ª¯_ïQ³Vm?\18\ 5Aï4¦wD¡êU\93;r\ 24D±®a\14\1e#f\ 2£N^¸zãæõKgIÌ\e\ 1é&äå\15pòÀÀË\vX®ç/d^ÖNV­¾\7f\9f1sV\ 3£N\9e9}""dë\8aY£û¶o\ÃÕÅ\ 6<\82Þ<Ô¿÷Ëð1\18<&8\82\913Wí8|òüåkW/\9f?yd\17\0\f\92Ô¥\e7\94ëX\ÙË=\evè7nî\9a\1d\a\8fF\9f<\ 1IÔº\ 5\93\ 6\ 5¶Ä\10CJõ<zXZø®·(ýûÒ:\ 2Ðï\1d\87£Ï]¼|  ÓòÍ\90\e\80\87òR\92BÏÐ
+Å1
+\8a+GeõÆ\ 1ýÇÏ_»ã`äñãG\8fìÝÌ%w¤\0Õ\8f¢§ö\16¥é\0I7\1aÎ\11H«ú¶ë=zöê\1d\87O\9c\8d\8b;\1fsìà\8eÕ\18ò\9ayóɯÁ\15\8a/®¬\9cÕµ\9au\1e4iÁº\9d¡\11QG¡|Y;\7fâÀ.-j»Kô5®\94Þ¢¿xdÐéD¦£\88#ðhо/)õ\8eÇ\9c;\17s"lÏÆÅS\86vkãK¦X\få1Ó\8cL\13f Ãë:dÊ¢\r»BÃ#Ã\ fîÞ\84õg;Pt'«\94\S§q¥4<aS\186\80üÍ7\17\8aw\ 4\ 2\a\85\8e¨ßXOÅ\9c\89\8e\bÙ¶\12<f\87Æ5õì1\7f~ø¨ë¦fè\14ê¶\81|séÆÝ¡aa\87÷\a¯\99?qP\97\16>îbÛ²\9aÜN\ f|"­<yóåçû?4ëô¹R\1eâõÛI]³)ÖÄëw\1f>vòTtZ\8fÉyr\83¯\13kt½Zýv½GÍ\¾yOè\91á»7ARÞ\a<\14Q(}D\18ÒÊÃu<\15411åÚeò¦kuJ\9dʨäÓ\ 2ô{ñÆ=\87£N\9c\88:¼w3Qð\86ü\94\9dÁ=9\ e-w\8a\184vÎÊ­{C\ f\1fÜ¿}ÝÂÉC ªª\f\1eJO
+¥iå1)T\98o\v+ô]KC\8a/\97\87ú½lóÞÃ\91è1\83\e? ssPp\83\15SéÇOæ\7fÀ\97»ÖÂù\9fùk\82÷\85\1e:°gËÊ9ã\82:6©¡v¶\ 6\ f¥»B¥¶ò\14*Zܼ¤\85\ 5i\vî°|yR­\88\9b1/R¢\9c\83ܳ\81\7f\9fѳVlÙw8"2<t×\86%\98\1aà´\81\9e<æ/\13\90:w@&Y\16­Û¾/ôàþ\9d\e\96N\1fÑËÏ·\9aÌ\1e\8b\ 5\9d«OôO\84O¦E\8a\97(U¦\9c |ùò\82²¥Kb÷GþÔ¾\14\94\82\10\³)ä*óVoÛw8<ìÐÞ­ ·þ\9d 5Ъ\86\rÝ\e\95\9a·´í9\ 2|ùÎý¡¡{\83×.\9848°eíJ"\eK2A¦Û¸riµ\16\95*[¾BE{\aG\a;[ër\96%\8b\17&})\84pn­ª\10F\16÷Ú\10\82'/\·}ÿ¡#\87öïX·hê°\1em}=ä\ eå\r¾LÅ\93 ÉË\15\9e\rÛ÷\1d3kÅæÝ!¡\9cåõ\ fhRCåd\ 5\ 3ÓU¡RùT¬\84ey\e\ag±T.\97I\\9c*Z\97µ0#\1d<\\97ï\1fde¡\84À^îQ߯\17\11[ÈÁC\avo^1{,\99^q±±4|\91Ç\91\902\97_³i'\9c0ߺç@hÈ®MË0æ5ð\90\83å\15. ãÔt.­V\1ely\92*Ý*W­ZÕÝU.r´\11\94Ji·àV\89\82PÍ&\ 1\10Y\88ØP¿\17N\19Ö\1drM¹\83afî3 A+Ýl\118xòµà¢B÷ï@ßÙ£MÝ*\12Û2f\85\88åéð\8d\|«\1aèS\19k\a±ÒÝ£¦O\9dºu¼±ý\83kjàÛçPí
+\146/[QR¹N«®C&-X³mOÈ\81ý;7e PúãÁÏ\11¡I7%$Ý\9c¶d\ 3èzè>.9héSÉ¥Béâ\10ót\1a\18çÈóæ7-\8a|\92¸V«U¯Q³\16-[4mPÛË].´MiL!j\87\11ØIéÕп÷È\19K7lß\e\12²gÛÚESx\ fEK¡x\17e^Î\1eJ+\fÇË7ï>pèà>LË\avnVË\15\93\ 3\93|:I\90wPùM\8a\98[Z9HÜ<ë4jÙ®cçÎ\9d:´iæ[³²Ü¹B\19sRJB\11HÚjp5Ý\a\17Îæ®Ü¼k_È>P(MÈC\852ð¼¦\86\bn]¶¼£ªF\13\bÇs!\1c\1f<|pß6Lï:5­©Ö\83/Ï¥i\r3+UÞ^ìêU·\99\1e}\83ú\aõîÚ¡e\83\9aîR\a¾Æ\85*\99(TyG\ 5¸ò\9eç.Z»mÏþý{\82×-&Ó+\9e¸ôBM¡R\16\87p\15mÒÂu;B\ e\87\1d"\8cÒWÐã2(l\r+WÑEíY·yûný\86\8c\1c3vôð\81½\ 2ZÕ¯î*â[x XÎ[ °Y\19\eQ%ïf\9dú\8f\9d½|ÓÎ}û÷íÚ¼rî\84\81\ÕY\86\92\87â]\14N\93U®ÛºûðiP\11\1f\f\v\87\8aX\8bQXèé\10\8d5
+UļL\ 5gEÕÚÍÚ÷\188jâ´\99³fL\19;¤w@\8b\94Î\94¼\7fÿ\röÉ+TÛ\1eæ,\»m÷þ\90½Û7,\99\8f\7f#¬:\r¾\96\97B\ 5ç¢ø\8a\18*\86­û\8eDF\86\85l_3\7f\ 21=!¿ \9bùþrÞC\99\16\aÃ\93º×jܮǠ±Óæ.^¶lÉ\82\99Ø\0\82K\17\98m\17Ì\977/¶n\92~\9ff\9d\828\85
+Ù¿{ëjÈ}»¶\82\bLªN:
+¥i\1d!\151T\fkv\84\86GEE\84\929\8d.Í5\15\83.      ^.í^COßÖ\81ØW´bÝÆM\eV/\9e9n`W\»À`fZ \1f&Z¥¬\1c\15\9eõý8\85âr\83å³ÇöëØ\84\bM\1fUg¦\88ÀL\98¸(×ZÍ»\f\9e¼hÃn\9cÔ8zh7\99Ml]÷W'\7f2\9a\ 4Ïõ'ßkh'q÷nÚ±ÏÈi\vWoÞ±{÷έk±\ 3¤}c,¼K\17/\°@AH ÊV\14»CÈë?\ e\92Í]PLA¦²xêð\9emõVuf
+Zk\9fuÀEM_¶e\7fø\89\8e\87íÛ²|ÆÈ^í\1aàÂ\90¥YaÍv\8a\1f\8dðû%\ 3­©¸?¸¦ãRVN
+\ f_l\r\9b·r\vä \87B÷l]5\8fóÒ¨·ELML\8b\98\91\8e\8b\9a\98\aöl]\8d\ f5÷IÉ\r((TºI»Ñ³qIïTLÌÉ£¡ÛWÏ%©\8b»Ä\1e[\12ÿ\85S¹RV\f´vGk­\1ap.
+
+Bu\8dF\90FB\ 1·+4ühTÄÁÝ\e\97@©Û¦^U©\1d$\9dE
+\17)n!°\97V©Ó2pà\84y«¶î      =|èÀ®MËqͬQu¥Sy=T\9d\99\ 4Îþh¹¨ùëv\1f\89>{þ\Ì\89#{6\80í\91\1e@!\ 4ù3æ\94\86Id½ ·\ 6üFHª\|]bÆ5eb\ 1·*8$üø©S'È48V\94\9e
+\87ò¥Ì\8a\15+^²¬­\8bkÍÆ\1dú\8c\9a\ 1åð\81Ãa\87Cv¬_<\15ʼzU¤vÄ\95\e²ÏG\8bL®iËÚ\99sQ\8b\8f<}>>þüi²\9a\ eåUóÚUåN¤q:#N¥ì\8fNÙd\8bóàÜÆÑ\94\8d\90©\ 5\9cؽv\8b.\ 3'.X·ëÐ1n)zçÚyã\82:4\ 6m±¶,if^²\8c5\9ag\9bîC&/X\e¼ÿp8$*\90ÑM\18\05\82\9b\90+¦tª:3Í(\8d\8b"\r?ç¯ØvðxìÅ+W.\9e\8b\ e\ 3\95\9a:¬g»ÆµÜ¥ö¸\9f"eÒ(u\19 uQ%\ f¿Ç\96ß \9d²\13\92°J«Ò­Ý\12êîE\e÷\86E\9f½p!ödø\9eõ\v&\f\80tM-¬P¶TI\vËòö\12w\1f\92k®Ø²÷PxdÄ¡½\9b\97Ï\1cÝÇ¿!(\9d $-W\9eꢤÄEÍY³3ìÔ\85+×o\\8d?{\f½Ôø\81\81m\1a@ælÇmf"u«fn[k\179Y-ÀýÑÜL8N\85\9b\90e\ 3~£;Ǩ2\90Ô"£¦,Þ´/âÔ¹¸¸ó§"öm\8q ¤k®.¶\ 2ËÒe\ 4\90¹W'\9e\86]\a1O9¸\vä5´{kL¢ÊPsåü\1a1YCkÔ1hü\82\r{#c.ݸ\9dpójÜé\88}\9b\97Í\18ݯSËz\1eà¦ÊY¤L\85à@5lÒì"/\´\18\18\ eî\8f&;¤Íù\1dÒ\9cRi\9c9è­O\vbàÀ(bà\91û6."µ·\9b¨¢U¹²åm\9c\15Õê¶ê:hâü5Û\ f\84G\1d?\16q`\aÉ|¡:\17\92ê\·i\8cLóI{\8d¸Ë ÉK¶\1c8~þêí¤¤;·®\9e\8f>²ký¢)Ã{whV»ªÂɦ\f¿eèÏ?4QîOîH\ 2²\8bÜÜ\82ì\8f¶¶®PÁÚª|¹2¥K\9a\17+¬Ù÷\8b\15\fnE¨àâV\8bo_\r?u\8egÔÂ\89P\0Ôr\13ÛW°²²q\94b¢Õo\f.)\84\1d\8b\8e>\16¾\1fûD8wOÕò´Ö\15¸æ¶\93ñ7îÜ\7fp?éÖåØc\a·¯\9e7qH\ f\7ftS\ eV\96d*$7ïvx6\150)T¤8Ù_[ÁÖÞÑIèââ"tv´·µ\16XZ\98\15-T\90pêO\92pb\1e¥ªÑ\18\14\17bkXt,vôEìݰ`Bÿ\80¦5ÝÄ\ e¶6¶\ eb×ê\rpÖ`1æ½'O\9f<vdï&H º·®S\99ÔÃ\14-/e]Á¯×¨Ùkv\85Ç\N¸÷èñã\aI7/Æ\1cÝ¿eÅl¨1ÚÔ÷R\8b*\92\r\1ey9[âÎ$ +Of%K\97µ²±sr\91È\95j·J\95*¹©\95r±³½\8dÀ²D±Â<§°\84áZì\e\90¾¢\1d\87\8eÇ\9c?\7f6:l÷ºy¸&VÓMâdoç RV«Û²ËÀ  ó¡\90:zòLÌ©c\87v­[@jN~^\8c\8eå¥YWèÐoÜü\rû¢Î]»óðé³gO\1eܹ\1ew*lÏÆ%ÓGõ\rhÆç\bÜÔ6±¥Üà\9b\90M\16\96\82
+vN"\99Ê\r÷\8dzûÔöñ®Y½\9a»Z*´·.kQ\9cçÔ_\س\93V­×¶ç\88\99+\82\ fD\9d\8a\8d=\ 3éÁ\9a9c \99¬á&uvtr\91WönÒ¡ïè\99+¶î\8f\88\8e\89={êhhðªÙÄò \1aäÊ\17*çĤYW\188iñæÐ\13q7ï=yþòåó'\ f\12®\9e;~pû\9aù\13\87to\8b\91¯"¶nåçM   \17T Þ(\89+*B©ªRµê>õ\1a4nÖ¢eË\96-\9a6òõ©^E%q´á#\0¤Tdö\0½yí\96Ý\86N]ºy_D4(LTh0$\9cØ5î&s\11\8aä\95ª7hÛ}è\94Å\eö\1c9\11sî|ìÉ\bì\88\1aÖ\8d¾åiÚJIG76*\9fº\94ðàÙ«×ɯ^<¾wëâ\99\88}\9b\96Î\18Õ·#ÙöÅíðø\e3ð¿A\9d
+ó{íå®Uªûø6nÑÆ? s`×n]\ 3;µoÛ¼amO7ÍÆ_ÍÌ%WzccÑ"àÄ1ÌÌ÷oYNzW«W\92K$rW\8fº- \18\9e»zÇÁcgÎÇ]@Ó\o\1c\96§ém#M\80³Ví\f\8f¹zçÑ\8bä7oß¼zö0\11U*xÕÜñ\ 3\97ÜѪ4§\1f¹    \9f\8a\98Y\94µ¶w\91»U«Y·Q\v¿\8e\81=ûö\1f4dè°¡\83\aôíÑÙ¯\99o\rw\99\13N\86\ 3yÀ©¿¹ùfM¥´óÐÑ\13Ñ\9c«\1eÚ½MýêîJ¹ÂµªO\93ö½Gâ&¡H\b\8a\17ãÎ\1e\9d³<\ fÊ\96§]\11÷ù\7fö¾\ 3 ©lù{}»kÇ\82Ø[ìØ0½XÁ\8e]±7TÀ.*(ö®Ø\15\15\e\16P@º\88\82téEP@@\11DD\ 1Å®ØÛ{ß̹7! ºJBnöûgö=wÕ\90{îoú\9c9s6\1f\8dLÎÊ{òêÍ»wo\8b^<λ\93\8a]\93Gv¬Âþi\11ÕuW­
+\ e\11   MYí»ðºë\ f\1a9nªÉ¼ÅËWoز}çî½{÷ì²Þ¼vù"SY1\1cO;üõ\17\f\9b\1fgYl9xÆ+ <::"\18\ 2\90\9d«æO\1d5 wwq\ fýA£§-À\ 3\13ÓnÞ¼\91\18éï~b÷\9a\ 5S\18Ö<\99-\97\86\9b.þ17²\v\9e½~ûþý»7/\9f\80î%\84\91Fsày?\11\80\82ý\ 3Ú\r\9aµÖí&ì=pø¸i¦\v-Wmܶ{¿íQ»\93§N\9d´;rp÷Ö5KgO\19\aeØP¤þ\96Ï\0lì=/_\89\8c\f\vôv<¼}弩£\ 6ê÷ê¥?pä¤ÙË6\1f
+\8a¾\9ev+ãfÊU:Ã\19?HÒµ5\83\9a÷\87t\ 3\ 6Â\9bñsÀ\96»\aƧç<z^ôîÃ\87÷o_=-@ .9\1fݹzÁ´\91ý m%\aè!ï¥pêÈ\91\18\f1\9abºpÙÚ-»l\8e\9cpprõð<ïåé~î\8cÝÁ\1dë-0¤\975¥þMbsªA{ñÆýT\8bJ¨¿×\19Tì)£\ 6÷3è;pøøY\8b×í±sõ\8bH¸qëöí\9bɱ y`ëg\8c"ÛÕuk0¦y\94ÓkÒZ¯»á¤y«w\9fô
+I¸\95[øâÍû\ f\1f\ 1¨'ùÙiWC}\bϧÐ\9dæµkV¯\ 6ÑSÝ\ 6M[wâvÇ\83Úó,×lÝsÈÎá\9cÇ\ 5_ÿ \90Ð\90à\0_oWûûÖ\93³kTß<\1a69 6ì'\19oX\88\1f¶¨XÍ\9d:fÈÀ\ 1\83\86\8f5^°Òú°ã\85иä\9b\99Y·Ó®Eú»ÙíZ=\7fòÐ^TÉ\8e\91\1a0\r\14½\99NÎRØ{_¹\96qÿñË·ï?~xÿæåã\aY7b\83Î;\1cܲlöDr\\ f¼\1e\0U½f\1d\1dj\7fnÄ$\13ó\95\9bw\1f:áèvÁ/èJdl|BBB|lD\88¯ç\99#;×,2&Ýq¤\99      ÷WJH\14\ 2\15ì\8b\ 1­Õ¼icG\f\1d:bì´9Ë0\84
+\88º\9e\9ey'+ãÆÕ+\17±\bc:v\0µg¦Ø.¬b@É\1d\81Ù`sÆ'<)\13lùÛ\ f\1f?¼+zþ(7#)\12â\98½ë\17Ï4\1aHöÞ´kÕ¨^½fm\9c\96ô\1f9ÙléZk\e»³î\17\ 3®DÅ_KNM¿uëV:xõp\7fOâ,±s\9ej׫\82\8d\aõ)\eµ\14l\94»_pØ\95 Kn$ò\9f1q̨Ñã¦\9a-ÁÜÅ7,!\95\9cS\0\97ëyjßzªþIï¾04\95P\1a\1d\8c0^²é ã%pzùO_\83\89úðö51QWÀém_9\1f4OHL\94V\8dê¨xÍÚv\15AÌc¶tÝNÛÓ®\17\ 2Âb\12\93Ó3²îÞËͽ\97s\ad\ 1\ 2¤\93\0ð\fÙÞnÕ*Uɾ=íõ\1c<±(\17tÉýôÁm+\17\99L\9d0~â4³Å«·Û\9eõ\ e\8eM¾uçnvfZb\84ï¹£Ti\81ô?0¦yÔ\11\98\9b·ÇÎw\12\1dD¥ÜÉ\7f\86@Q\9a\97\12\13è\89g<Lðü'\16µAóP °®Ý{Èx\93%ëv\1d9ãé\17\1a\93xãVVÎý¼\87\8f
+\v\v\1fæÝË\84äç"9\8c\90¼díêÕªV+±)æå\1f\1a\8eªg\7f\9a%sgN\9f>s¶ùÊ­6§=ü#¯¥gÞ½\9b\9d\91\12\17âíp\0L9U8Ðfªp \ 5\8a¤Ä\ 6£fZl±uö\8b"ÑÁ»÷ y/@ó®Eøº\94\b\ e¤\ 2ÕNO2`\8cñ¢5;\8f\9cõ
+\88¸\9arëNnÞÃÇO\9f¿xùòųÇ\ 5¹\99\81\9e§ö®\93©\r\98\1aZÅ-ÿG\9d.\ 4\86EF\84ø\81-Ûµaù¢¹f³ç/Y¹y\9f\9dË¥°«©·³sr²n^\8f¼ìz|\17öüI7Ò\19)\96Ë\ 1Õ\ 2\80\1aM\ 1\15M\ 3õþíëg yÔ1Âå³'HM9X(\b\r\1aQ\e%sWl;\ 4\81cdbZæ½ü§Ï_¾\86\88þí\9b×/\9f\16Ü»u-\1c\r±¥\89Ñ\0\11ѽ\1a \89:Äm`®gçr\91êô=ït|ßÖ5Ë\16\9b/¶\½eï1\bØQñrîݽ}#>\94N\98Ñ\94+§}[     @\8d\92\a
+âM\88¢òïÜ@±ÀÃ0F\ 3$zí0\19\ 1\97W£¶N\936]Ä\ 3pÛ       \93\rÐ\94\1f>}ñúÍ[\88*>\82\e\80P5\ f~6ÀÍn窹\13iÝÓª©U§\ 1i\89\9en¾aÿ)\ f¿+ѱ1áA>.§\ eíÜ´få\8aUë·í;zö| x¼¬\9cÜ{wn^\8f¢¢rÜ\82ÕmÑPÕg=¿\aª\16©F\8d\92·Qoß½{óêI^VJ4Ä1\98\8a\8d$-Ë\108VÃØ\0KºØ½´Âú\88óŰ\84´;\ f
+\9fCÖóáã§Ï_¾|ùüñ=8Ì{·\12B½í÷£ËÂZ7îmÖÖn$µå\87Î\9c\ f\8c\88½\1a\17\15êçqö¸Íέ\9b6mÝis쬧\7fDBjfNnn\ eZ9\1fÇCÒömFM¹\14(\9dæíÉyF\99×{\85@\81-ÏL\8eòsÁTlò°>|<\86V«:\ 2U·!)+a¯ü)\8fÀØ\94¬û\85Ï_¿ý\0(}ýúíÛׯ\9f?¾C\94\93#}\9dl·XÌ\1a\83\95¤FõêÔ®«C*\9cãg[\91S\e1W¯%ÄE\ 4^pµ?vpïî=ûmO8z^\ e¿zã6}n\9f\1cGÇí<}&7Ò\8b\81\92ÆQÓ¥qÔ\83'/ÁÒ\14!PI\91\0\94üé\13\ 4J\8b\9e\ 5\82\85ʳ>a\89·î=D?     0}ûö_ o_?\81H=¼\9b
+ºw|Ç
\15­I}í:\90õP§\92°\1cu9<þzrRBÌ\95Ëç]\1cN\1c=rÔÎþÜyÿ°ø\94\8cìÜû÷i\81¢j\9fÝ\19\18\ 4Q\1a\99T\12\99ï=í}%1\ 3«,4PÉQàwð\94Çpýb\89"íKâ\ 1Ø\9cw\ 4\v¢YyO^¾ýð\99\86      \bDêíËÂÜ[        !^§ö¬!] í\9a7ÔÑÖiÔBj¢ðÌòµ\142. ÄÏÛÍéì\99³Î\1e>\81áñÉ·²s\1f<(!P\ 6ðhrl_õS\K\0\89\9b8oÕ®\13\9eÁW1)\ 6»\D\frL\0®\16{Li\e\85N\8f:T0\ 1\93\80ØT´þï?}A\98ȵ3ÿýöå\13èÞ\83Û×Ã}ÎØl0\9f\8eFªeãú:\r\9a´êD\99([G\9f+ñÉ\10ŧ%_\8d
+õ¿xÞÓó¼Ïå\90H\b3\0§¼\a\10\87ÅSÇöQ ºµeªk³$Ptõ`\9c\99\95õQW,³ä?}Yô¦\b¼^vZ|ðy{\9bMKgÑ'äêjÕ¨\ 1á¦tÿ}\97\9dG\10©6¼A\81ú/}?\ fѽ×Ïòï¤D\11#E\8a\9a6lШ\19\ e\13\1a?{Åöc.~\11\89i·³²2Ò\93\13¢Ã\82\ 3üý\ 3CÂc¯Ý\0½ËËÏ¿\9f}\vb(âF¦¢\85\rX\ e)ÙYbl\bÞ|ÈñbÄu¬p¾.*zõìá½[\89X\ fÚ¾rîäaúüN­\9aèÔ\ 1'_\e'\85Q@\9dð\b¾zó^á\v\ 4ê¿2 @÷>¼!FÊßõ¨õrSª¯ q£&-°Õ\17+Î'=\ 2c0ZÊÉμ\99r->:2""*6!\19\ 2òûù\ 5\ 5\10Øß\80 üÌÁÍ\96&ÄB\11\81\94ÿ!­p\92\13_ÃIç\81W\bè^ÁS\b\1d_=/¼\9f\99B\8f\8c\ 1\91ê\ 19q£zµkÕªSÿ; Þ~üòõ¿²+\9f@÷>¾}Qx/=>ÈÃnçÊ9\13àeÛµhÚ¤Y+\bSÑDÙ8à \83¬{÷\1fÜ\87¼0-åzbbâõ\94´\8c\1e\14<|X@\ 6\8b »\95\1a\ 5ê\ fú<EÓ¶z=\fÑè\1c\1c\9d\9cõàñóW¯_¿ \v\9c\90\14¯\9aO*Ámq\9f®\8e6\ 2\856
\95Aõî=zñæãçÒ@½||ÿVbèyÚ\9a³;°\9a7kÙ¦3îê\81\89\14qíÖ]@¥ /÷nÖí[ééé·nßÉy\90\ f©â£ü{·Sb\83psfé,\ft)\97Ǭ@Q}\89\eµê,ì\ fþ~Ó\813\17®$Ü\ 4\91zñêõËg\8f@¤b\ 2½ì\ flÆæ\1f\1cHÖ´A=íz\rÀÖ\80M\83\98[@\ZÎ#Jõä\81¢­yØ\ 5û}ë\16M\1dÖ\9bÛ\11û
+ÚëIÐ\14n?æê\1f\9d\92\99[Pøø1dÐ÷ïÝÍξ\9b\93û àÑã'O
+\1fÞÏ&eUÔx¦æe\94\ 1\92'OvÙ¹ùG'gÞ/|öòÕ«\17O
+rP     \íp~ÔX¬\1f\80M®_\1f\8c2d0cM\97[\1f\8fI½ûðy\91¼\8d¢­ùӼ̤\88\8bàö\16O\a\83ܹm+V\9b\8e\1c<l³z÷IÏàø´ì<È\ e\9f?{úøQA~~^~ÁÃÂ'O\9f=}R\98\9f\93A\ f`YLN}\93 \9cQ\97G!Eë\1e\19ngb±ùà\99\v¡WÓïæ\83ò½zù¬ðÁ\1d¬\ 5;\1dÙA¶@%Ý:°\88QnÛEÔß\b7\96!9L¹Sð¬è½\9c×ûßÿ¾}ýü¾\bÝ^ä%Ç\83\9b\96\18\8f2\10viߦuûÎ|\88çÍ×ïw¸p\ 5ÃT\10[xÈ\v@\aèé³ç/^¼ ö§ãCèTÜPv(\96Á\18J
+\14u:®eG¾þð©\vVï:îz9*év.y\8b\17O\1fb½$\88j\93\9a\82Í?\1dZ5oÖ\8cÕ®«¨?\89\87ÈöVþS\88£ä\81B·Wô¬àÎ\8d(?§C\9bq;\¤§Û®\9d®\9e\18ô\e\12=ø)H\0 ïy\ 3TôúÕK WH/\9e\15æß%\96\9c\1aoPâP,£8ÑC\82kë4k«×}àØY\16Øì\1a\1c\97
+i.*ßó'\ 5÷2\92\9cÍæe³'\r3\10éuhÃbµéÐ\r_\99
+'\92\9e¾~\87\ 1gI \9e\17\88ös&Ù^\7f\8e\1d:tæö\1c<\9e2QT´öæÝû÷ïß½{û\86¢¢×\843ÉX,Ä)vÒñ\ 6L\1c\8a-\ 3¨âi³Ø\8a»rÇQçKá\89\9f\80H½|þ\188\9c\bfêÄ^\9c\a8T_Ø­cûv\1d:sº\ f4\9a\ 5\8azöbøuH\ e\b¨Ëζ[-ÁwuçtîØIO ?\8cDQ$þ\7fø\1c\12Ä\8fX\96ùðá=\ 2öö\rD$y ë\90ä\1dÆ\96ê\92ã\r\98Å\89îlÆqÊm»\8a\aPC/=\ 2¢\93oç>\ 2\91zM\9b©+\17Ï\1dÛ½nñ¬qCôE\9c®\9d»°±é\ 4ç>:þ\ 3P~Τv\87­*]ºr%ýGckÑ\99\vad¯çÍû\8f\9f\91>}ú\ 4\7fWôòiAέëè=v¯]\84£´\946\10F\19\93Ì\eâ\98à!\13g/ßzèì\85PtJ$\98Â\18!\vâä\v\8e\17Í\18;Ä »\80Ç\13öè7|Ò\1c«m\87! Jú!Ph£@õ,MÆ\ eêÉgwã\b{\e\8e§3é\94,Ô×\8fX\98ùú\15kX\9f\7fû\9a\84¸\18\8fØl²0\95Mid<4\90\ 1E\9fç!§
+¦¡=wñ\85x\10¼\12Äç¯_\82Ù Ý?gl­W-\9c1nXÿ>={öîkh4}Áê\9d\90³aõ ´\8d*öz¾N\87\10¨Á½E<® G¿\91S±ãÇ#(.\rc
+Ȥ¿~û\86\15,RíÃ-ül©âáðAé|Tµ\10\ 3\11~ÖÒ\8dûO{\ 6ƤdaÙ²\b\90\82h*ãzT\80§ýÁm+\17Î\9c8
+÷t\87\8e\9el¶tÃÞ\93î\ 117î\10¯'\a\944\8eÊJ\8e\80ð`³\85É8C}\89PÔ]ßpÜ,*¦MÌÈ-¤J3X¿\ 2¨¾|úðö5&\97×d\8a×_¬G\9d,Q\13\9c¨³tUªk\91-¨>CA£¬\ f;ú\IH¿[\80U\847$\95\ 1\97\8dM\8aÛV\99\9bN\e?fô\98qSL\16­²>tÆ;$\1e\84ãYÑw@½#\ 1gøEÜ\1d0\19?´o¯\1e\a\8d\9a:\7f\15fIRÍûBU°\0(,\1f¿ \14\8fl\8f\99\8eGÅk©6\96\9c\105i\0íy\9b®¢~x\9c\9d\e\ 6S÷©HçõóÇyÙiØK}ê õ\1a\8bù¦3È\1eÜ\8aÍûN¸ú\86\95K¥0ò@Ñ)̵0\9f3\aà­'\ e\1fh o0pÄDS\8b\8dûíÏ\aÇ£Ï+"±\17U\12E\81\ 4\9e\12\1f\11Ï\aÉMýT\17\81úã\ féU\10u\e¶hÏî1\18¼Ùæ\ 38U.-;ÿÉË"Ü~z\ e®/õj\98¯ÛéC;7®´0_¸ÐÜrÕæ=G\1d½\83bAE\1fÓZT*)ÎÍH¼rÁáÀfËÙ\93G\ f\198pð\88ñ3\16®Þ\89s\7f¯ßÆþ\86\8f\9fe@}þø\ e\14/çÖµp_\f5\17M\97*\1e\ 3\83j~BR{^¯q«N\10\9fOAýÀ×ÉÈÅZç;Ò{\a®/>ÌÏÃáè¾í\9bÖ®^½v£õ¾£g<ý#0âz\86Z$\9fëa-ø\ 5Ö\82\ 1¨ås§\8f\e9|ø¨ñÆó¬¶\90x6\8dì\1d~ú"\13(²o\ 3>\ 3\8b:\10j\92}i9ÅS\17 \8a\95\ f\8f\89\rÀi\ 3ûO{\ 5Åa×+Dϸuõ\f\eWÃ.{9\9d<l³gçÎÝû\ eÙ\9dõð\v\8b¿\ 16ÿÅ\eª\12\¢p÷âѽ\9bWC¼\1d\ en]±`ÖäñcÇM\9a1ÏrãÞ\13®~\91¤4ø\866åDñpÿ>ïÎ\8d¸`\1cag5\aBM¾ú)\1e\12\1e"\87ø\\1aL\91\r»Ká×\88HQÍw\98[¤&D\ 4ú¸;\9d>qüØñ\93g\Î_\ e\8bK¹M¶`(-*Yá|\94\93\ e@a?ÿ\9293§M56\99o¹~×Q'\9fЫià&\88\10R@}ùüAÚ³v\91êY\93îß×P+ÅC*\11\eel¾\1e§\ 5ǦÞ!"%E*+íZL¨¿\8f\97\9b\8b\8b«ûyß \88ø\94\8c\1cü\ 4  \88ä\9d\1eÆ\9b\ fspCÞñÈ®\rVæófÏ\9egnµaçá3^\811XÅ\ 1\81¢5Oj îe\§:\8c\96Ì4"ÕÔ\86uËR¼\7f\9a\12¤ª\16\9f\ f'\a\1c)\91Â6Å\ f\ 4©ûwn&_\8dº\12äïçw9 8<&ñFFNÞã\17E%\ 5ê\7fÒ\8d½\9c\9b        \90úØíß¶ÎÊbÉÒe«7ï>ì\80­*·r\8a\85\90R<id@\95\be}\ e¥\15¯ø\9c)\83÷ÞV\92ÎDiÕI`0r:\ eLó ½ùO_½}Oú     À¢çåÜNKJ\88\8b\8e\8a\8c\8a\89KLNϺ\97ÿ\98ì\11\7f)\ 3¨G\18=^v·?¼gÛ\86µkÖmBëïq9<!=;\ f\84\10\ 5ê\9b¼\81Âý)\bÉI\ f$éÄ"­Är8É\9f3-=\9a\938éä¸Y»n=\ 6\93A`\94H\15¾(z\8f)þ{Èí\1f\17ÜϾ}35%9)9%õfæÝû\ f\9f|\8f\13\ 1
+\8cyaîí¤è oç\93¶ûvmß¾sï!jÇ<\15­?|%ÙWþö\r#(4P7\13Ã}Ï\1dß\ 5\98\ 1\12²3V³\84âÑ(ýEæRV¡¨²ô¶M\95^\ 4Z\oéÄ7\18\84H}Àü\1e\92Ö\17O\vóïçdgefffeß»_P\b¡;ö\1c|\95m~ÊlÔ\9b\17Ø\0\1a\7fÅÏÓéô±Ã\87l\8fØ9¸x\a\0N\99÷\1f\11Åûò\8d¤y2\ 3\15åï~r\1f\1d\19à\14à\12\8aG\9d¶¥Î\ 6\83¦5jÖ ïrUý5¼²\93äíºu'"uØéR8åÉß\7fúüù3Q¿\17O\1f?,È{ðàA^ÁÃÇO_`\vË'j3ý\7f%\81Â\96bH|¢C|½\\1c\1dì\1d\1c]¼.\ 5G&¤fæ>|ö\8a\12B\1a§"ªf\10äåppËr\88\fôùÒ\1e~y\9cdg\ 3kPW¹Ö%\97¹\96¸nSUHÑõ\16,áñ)+uÊ\13Óü\ 2J\0¨JHÑ«\97ÏI\8dûé³ç/_\15\81ùúô¥\14Nÿ\9392\b½\12¢B.ã\86¹×\ 5ßÀ°ØëiY¹\ f\9f¾z#+\e \81\ 2Ñ£\r\14Ù\15#\91\ 15´µx\8c"=\95\12\ f½áE¼\r\1a6j\84\97\93êhש­U£ZU\15ßXL%ÇR+5Û
+b)RÛÆ\fåÓ\17ºhô\ ekÜH¯\8b nÀ\86¨Ò8a\1cE<Ùã¼»·R\12bÂC\ 2\ 3\ 2\ 2CÂc\12Rneß\7f\848¡Ç£k\ 6Òã\118:`­ù\8c1tï±|dP©ÄTÊ\86ä )«\15\8bÕ²yÓÆ\ruð¾Mj8¥Ê"®J¤       \b\93 ï(r¨î|ÈU:\7f¥*l\0Õ\a¬r#½'}c_KÚ'
+(ÊDCÞ\93\9d\91zýjltTTL<8ÉÌ\9c¼Âg\ 4'"P_iC\ e)\1eDPÄ@\8d\97\ e£\903PÒ¡oÕkRG(©q\8b\9d;wêØ¡-¹\87W»69º¬J¤d"\ 5±\14\84çÛ±"BÎ\10½£d\0¡ú\8cu[ O`·HãXi\9cþG\a\91E/\9e\7f7\13\9cdRR\12å$\v0\98\89(è#t\8e\818a\81\18(é  .Yd ÃI«\8eN#<BÙ¹\e\97/\14\89ñvÒn]tÛ²ðÂÍZ5T\8a\94Ôñáô¦~£g,Ùx\80lÀåÒ\89Ù7i5\92&Dé{\98( H!îÅ\93Gy¹wïdÞ¾};+;§ØI\966ä±ÁÞgm­WÒ\ 6ªTd \1d"X\vïqm£Û\95+êѧoÿ\ 1\ 3\aôïÛ§\87\88§×±m˦\r¨£Ë*Dê?Ò\ 1s8ðbÞª]vn\ 11²þ'*ã\90§ÿ\96\ 1\93L¤0\9cxöøaþ\83û¹¹÷\1fäË9I)NhÇ\1eP\aÝ\8e\92ã d0\19uÈô;\9c´\e4mÕ¾\v\ fï'\1d>Êh츱F£\86\eöï#Á\e7\9b7ªG#¥"\8bN\8bT½Æ­±é×\84Þe)Y<*IeÀD\8bÔgâ#_<{ò¸\10è1öV£õ§Å\89\8eÈ\9fäc\9f\81¯\8b\1d\13W·tê"ÍB¥\87Þ\ 6\f\1d=aê\8cY¦f¦&3¦N\1c3l`\1f1§S[éÑe\95\85       r£A¨6 S^Ár\9dbÿ\95\ 2ñ#\88d\7fO\90úðî-n\ 3¿\0\82P¢ØI\966äî§öo²$] \9dÉE±UK)^\95jdØ"\1ez3\1c=iÆì\ 5K,\97[-·\²pÎÌÉFÔM¼xt¹xÒ@ÅgÌ\95\b\a\91î]\97ËÑ)¸{ðN¾âôODÊà\94\8b¤·\81ßJ\9dä·oR\18I¤u;9:\10"Í­Vs§àÑ>\9cAQ<\0¦Ò\1fÔ\9c\94\91Ã\ý\86á=¼Vk6nµÞn½uÓÚ\15KçÍ\9c4jPoaWjÌG5zl\87
+\12\15¡\11\19Ô\8bæ\ºYù¶D\ró\97\90"Pá>0\10xÉÏÅmÃÒÍ\84\a²\1dÃ\85Æc\ 6âÍ\99Ôü\97ÊÒË\ 5\8ak¯-;°»÷#÷ð®ß¶ÛÆöÈÑ£\87\ fìݾqå\92\8c\fõ\85dâ)¹\84\9e\8cc\92\8d°ª0¨d£\9fɱûù«©M8\b¥Jn\1fü3P4T_>ÓôE\1aJH7\13èH3\9c\18(\88 \86ô\11tiÛ¼a=\f\8aªH/b £JèÙx¢¾Ã'\9a.^½uïá\13\ eNç\\\9cÏ\9e:j³\ 3¯â\1d7D_Ø\15\8fÃׯ(½²l\80Õww9(\15)r¾_\9b\98s<\ 5Emë\96Þ¹ûU¨¾}\95Ñ7Ywµ4ÅÁÓ\80Ñ8£
+\15odÿîlÝVØÑ\87''«ÒÓ§Èx\ 5º\98ßgÈx\93Åk¶\1f8áèî}   /Ýôñ<g\7f\96\95\8bf\8e\93C\99L¯¢\ 6Xýýw\ 5B%ë,Ó\85\84ÏxñF\e9Ýûu#E#%\17\9c¤L è#ðÎGw­Å¦\86>B½\ e­\9a5ª_\ f\a*Õ¤§OáX*2n\12\12õ\81F3\16­Þ~è´«O@hDtLtdX\90¯\97ó\89\ 3ÛV\ 1R\86½ù\9dÛ4G\98µj"Õ(5¿ª"\90¢Æ\976m×\8dê\8e;AuH\97lüý\1d¬JE\12òÅ_ÒPt`\8bÕ¼i£\aõ\12èé¶iÙ¬qÃ\ 6:õ´ëB²[\13ô¨J\15<ç-Ý\1d\9a»bÛA{wßÐè«×SnÜH¾\16\17\11tÑõôAëU\v\8d\8d\ 6õävjÓ\1cq®[\87\10Â-WZ¨\b dCHH÷á\91sÄï=+*Ù+Vn¢w\13è>\ 3È\85÷l°0\9b<r@/!»s\876­Z¶hÖ´IãF\rP²P°èã¦z\92\81cÉä\b7ß°¸¤t\88ôïdA\1e\19\17O\90â\90\9d\ 1Ý9\1dÛ´hÚ¨a\ 3\8aê×#ó«è©L\15\80T%¹A¯x\90èÀY\1f\889±aåão\19©\9f\ 1\85Å\15iîrxÇÚ%¦\93F\ e\82\18\9bÝ\15\12ÝöíÚ¶iÅjѬ    ¥\85µjÕÑiÜR\97Û[:\1a/4.\85êÚÏËÍÎH¹\1aæç~Êfóò9\93\93p:µ\ 3 \9b7oÞ\ 2~\81/hP¯n­â|YéPQ¡\94tÜÌZz\\vö\92ÿ¶î\95  \14îw¾{ýü\11Ñ</\aÛík\96\98M\193t@\9f\1ebÈs9\1cv·®]:é¶kÃj\8eE\14mm\9d\86ÍZÓ£¨ñ0WtrFN~á\93§Ø\16\8b'rÃ|I\93\9bÉ\84¡\ 6bN\17ÝöíÚµk\ fÔ®mkÐã\ 6õêhU\18RÔ¤WrÏ\ fu\1cÃ5 VÚù«\ 4\91\92Û@¿\1eéïé`»c\9dż\19\90\8c\f\1eÐ× O\9fÞ½zöè.\16òØ];¶kE4©a\93\96x.\97\9eõ  K¸I:q_¿Æ\ eSl\8c¥{q\8d!\9c\ 2¡ÔëÚU¯\e\9b\rhw&\95\85úukÕ¨V1\95\85J%\8e}P­©¤\aê7\ 3\84\1fàD\ 1Eg/\ 1^g\8eìÞ´Â|Î\8c\8dF\8d\1c1|ø°aC\87\f\1eØß \97DÀîܾuËæÍ\9aµh­Ëé9x\ 2V\12©éVx:\90Ú¿ÆFxìÝ?°eùÜ©£\a\eô\14\8b\84"±¤{\8fî\121\8eújÛ²I\ 3\ 6S\11"E\r)#\13\80È}\89x6íñ«·Ê0R\14PT\9aw=:ÈÛÉÎfûz«%ógÏ\9a1}ÚT )S&O\1co4rè@\83\1e\94yoÕº}\17>\9a¨\95;©Ã\d»ã#ÙíÀ\8eªëØC¼{\1d\18ºQ\86ý\rôõ\rúö\1f8pà\80~ú=EÜ.íYM)¤*¢\85¡Ô ø]
+\ 4\b?\94(\12\1d\86\r³?²ÏzÃêå\16\8b\17-¤hÁü¹³M\8c'\8f\e9¸o\ fA·Îº\1d:têF\ 6)®&+I£*®\9f!?´:?;5.ø<ép\981qô°!\86\86C\87\8f\1c=fÌè\91Ã\ 6õí)Àج\ 15ÂPùÊW|µ\80\88
+\10 1Æ#Ù¥ºî\15\ 4ê\11v}\84û\9fw>udÿ®m\9b6¬[»fíÚµëÖ­ÃñS\96\8bç\9bN\e?b\10Z\9d®]ô¸\92¾#°\a^\8ee\90\11QÎ37ã:Þ\¼kÝÒ9Æ\13Ç\8e\19c4nâ\94iÆÆÓ§N4\1a\8f¨\9bn«¦X      ¬\90ë\9b\88\91\92\9faz±¬\8eV\85\80\96«tÜÍòt¶?n{`ß\9eÝ@{öîÛ·oï\9e]Û·nXm¹ÐtªÑÐ~½D|.OسÿH\ 4ÊÎ=Pvôæ\eñ\9e¯\9e\92Ó\97\1e§öoY±ÈÌxÊäÉS\8dMfÏ_°pÁ<³\19\93F\eê\8bºu`5Ñ)½ë¬< d\ 1\ 25r2\14g\0ýv\16S6R²\9a]\ e\84A\11A\97¼\\1cíOÚ\1d?~ÜîÄÉS§ííO\9f:qÌvÿ®-k,çÏ\980b ~\ f±HÒ{ éj$6Jê\80¿I[\1cÒãIÓÌZ\8bùf³fÎ2\9b·héò\95«VZY,4\9bf4D_¤G\8a¦\15Òá(\v\10ä\ eĦ)+@ø¯´h\a¾=ýzlx\90ß\ 5O7\97sçι¸º{x\9d?ï}ÞËÃÕÉþøÁ]\9bV\9a\9bL\1emدwÏ^ú\83FA\ 2C¼^\8a´·ö\eµ!ý(÷Vâ\15\1f§£»7Z-\9e?g\ eÀ´bíÆ-Û¶mÙ°jéÜéF$  lZ¿v\85ôÌJïm#gÑgYÒ'^¾k\92.'P´\91z^\98\97\93q#1&<8Àï¢\8f\8fÏE_?ÿÀà\90Ð+¡!A\ 1¾Þng\8eÛl#¡è\90\ 1\ 6úý\ 6\8f\9a<{\19]\99\98d     D÷ðX`ƵpÈ\84önYmi¾pÑâe8\1am\9fÍ\81ý»·­³\9c;môÀ\1e\9c\ e\16¢\8a1R²\9b\0ñ4\14\15 üfõîÇ@}!Må\ fsïÜLN\88\89¸\12\12\14\14\14\1c\12\16\11\15\e\7f5!11!>&2ÔßÛåô!Èn0h\1fÔ\7f\80áÈI¦Ø×}\1e³\84\12Fêñ\83ÛI\91~®'l°»h©ÅòÕ\9b¶ï³=vâ¤Ý\11\e\begO\1aÞWØ¥\r}\95xE\ 4\bôÝ\92²\0\81\94¡{ÒͬWÏ
+óîÞNKº\1a\e\15\11\1e\1e\11\19\13\9fp=%5ý&Î\9fJMº\1a\15âë\ e\9aŦ\93!h\1f4dä\84\99æØ­\1c\80Ç\8dè]!\ 2Ô\93\a\99IQ\97ÝN\1dؾa\95Õr«Õ\e·ï;rò\8c\93³Ó\19»\83Û×,\9e9vpÏ\8a»\9c¾D\80`²lÛagù\ 3
+J@\8aì\8f>ο\97\85G¯cc¢£cã\13\93RoÞ¾\83ó§rs²3Ó\93ãÃ/{Ø\1f²^µhÖ$\b\8f\86\8e\18g<\7f\855\1e))Þ\15¢\80ÊËL\8eòw?}h禵«V®^¿m\8fíIG7¯ó^îN'l¶® #ç*l\18sq\ 5\81ÜL\88ã9éÃ\ 6JH\8cé]¿¢\17O
+@÷n\O\88\8b\8d\8d»\9a\98\9c\96q'ç~>\ e zTðàîíÔ\84\88Ëî§l¶XÍ7\1e?jذ\11c§Î±Üdc/Ûä'\91\145Û$%:ÀÓáðî­ë×®Y¿eç\ 1»³î\17|/û]ôt:¾gÃ\92YFÔÍ\9cZ\152X\9f\ e\10¤\17ÉQ\ 1Ì]i\13½b@É\ 2\84§h¤n\»\1a\17\e\ajwãVÖ=j\ 2Õ\8bç8\80*+-!ì\12ä&ë\97\9aM1\1a9lÄ\98I&\8bQ÷üe»B\ 4¨×\bTL ×Ù£û¬7mذ\19\14ÏÞåÂåàÐР_\ f\87CÖVä\82\10ÙÝ\1fÊ\a\8a®Þ\11ÝÃ#±Ø×\92G\17¥\14\17))P z\89ñ± Q    I©\19ÙØÀ÷\8a\9c\95\94:Óå\8dGO\17Ì\980zÄðÑ\13fàDEÒ\ 6x\9f\1c\ 1øBö¼Èð¦`È\19\ fìÚ¶e\8bõî\83'\9c<ýB£¨\v\14\10\ 3>}§E\ 5\0\85çB¥Ã¢ÑïÙCÌ)s7Ê\0ê\ 3\0\ 5b\93\9e\94\10\87&êêõÔ\8c»y\8f\9e½,zû\1eÇÆ\91ñ»IQþn¸\87\8c"5bÔ8\1c©(§{\9f\9e\15àÁ\90\8b®§\ fïÛµcÇn\9bc\ en>A\11±ññ±á\ 1^\ ex\12Ǩ¿¨s+ÚH)\e(9Ý\ 3¿7w%Ä\9cþÅîFa\91"M\9e/\9f\14Ü»\9dz\1dÇhDFÇ%¦Üº\9bWH\9a]>}¢û:Ó¯\86z\9f9¸eù¼éãG\8f\18i4ÅtÉú='¤ç¹°¹í3\84æÏ\1eæÜL\8c¸ìéxÂÖfß¾\ 3GN9\9f¿\1c\16\93pýzbLèEg\1c%8±"ï (9\ fÁbs\89&\ 4e\ 1\95\8f\11gldØ\95°\88èø¤\9bw°»\93êY#»4d*Ó¹£;W\9bÏ\9ad4j\94Ñ$\13ó5xB02\19\13Ï·\14PtSm°\8fë\99\13G\ f\1f>vÊÉÃ7$*!ùFjrB¤¿ûÉ=\15<[\9fÒ½Ú8j­÷°)\vÖî9é)«p(®{$ùÀ\rÐ[ÉW£ÂB\83\83CÃc\12±½\13+Mta èYÁÝÔ¸ \8f\93û6XÌÆ£oc'ÍZ´j;\9e¨ 8öáÓçÏ\14 wR¯\86û{»\9eµ?uÊÁÉãb`D|rÚ­[iI±`ãèÉÕ\1dYÒI]\15\92\18kIïv]n-\9d\14¥\fs.\ 5*ïîͤ¸\88Р\80\80 ÐÈødнÇô)\b\92Å\15b\16\f\96\9afN\1ag4\1e\8f\bn\ak\1eF\9aºßP@Q%À¤Ø+\97/x@Æèæu10<îzZFfVFj\ 2¤6Ô,tÙì·
+È÷\8aç!\18\90Ù¾öÞJ3ç2 ²oBV\1c\8c\a!\ 2¯D'¦få>¢\8f4ÈbîH_нµ\8bgO\9f4aÒt³Åkv\1c\ 1 èÞ6,Þá±,<\1e~-æJ ¯\8f÷\85\8b~Aá±×Ó r½{çVRt\80Ç\89=dÆ7Wvùº²\91\92kBè9d"\96aqXÁo÷µ\94\r\14\9e*zK\ 1\15\13\16èwéâ%x¿¸¤[wó©3\rD÷Ð\9fá ¯\93û6-_`b<mú¬ù\96ëw\1f;w)\&Qt\95³à^fÚµ¸ÈÐàÀÀà+Qñ\80\13=ý->ô\ 2ѽ1ýÅ]ÚÐ\1d\8fJ/\9eK\9b\10 \94¡\19d\a\84^a\89\93/
+\0\95\7f\17\80º\12\82·÷ÅËÁ\91Wo`\13:\11)b¤¨RÓy\87CÛ×XÌ731\9b·xå\96ý'Ý.G&ݦO\1d\91\0\81äB\90ó$ÆaS-\9e<!S¨ò\1fܽu\9d\1aÑ\87³pxÒ\165¥#Ur¼\r9\\8e\a\19
+\94 R\18\e1\0\94tp[hôµôlrü\83ö{ÄH\85]t>¾wó*\8bE\v\16-]A\1fÏ\92\1e:%\92÷áíëç\8fósq\fUÒõëI7Ò3î@\84_ø¸°\0CÖ ¯Óû7.Á\89Ðݰ~÷£\vÝ\14\ 3ªøªn¼óf«-\1edȸ¯\14\91B ÈÖ^RLèå\v\9en®n\9e>þa |9\94ò\113M\ 2\84(\7f\ f{Û]\9b׬ÀÂÀ\8e\ 3'].]¹\9aF6b¨¡     \10! R\ f\1fÜËÎÌ\0ÊÌÎyPPøäÙ³§\8fóñèí%ç£;VÍ\9f*íR£7d\94j¨dæ\6sÓ\13\ f\85R"¥\98='9\fÕ¦\11\eêçívÎÉÉÅÃ' <þ\ 69'IÎÞ\90C"wRãB|Î\9d<¸{Û¦\8d\9b¶î:hçä\1d\18\9d\94!;LI÷\8aâ!\9d\87y÷sïÝ˽\9f\870\91\89Å\85d\1a»tú\95>i\fÒ®\80FkÊ\9cct®G\9f\8d\14¡\1c\91\92\1eT˽\9d\1c\8b\87eÎ:Ø\9fqr÷     \8cHHÅá§E8³\85ÌAÀñUþÔñÜÝ{m\ e\9ftòò\ fOH»\93÷ø\85ô\98\88\Wmá# ª­¶èM\11=°X:ý\8ajTkA·\ f+Wýdm\8aä\ 4\9f¹T¤ò¥Ç\\15\ 2\8a\ 4J÷o'Ç\84\rw<}â¸Ý©³n\17\ 2#\13Ó        
+ä,%Õ\84\1ewÅÏËÙáÄ1<\9dëê\8d\13Mo£É'\ 5©ot¯è\a\80êõË\17Ï\81H[-î#\83\98É.!Ù¹Æ|æ8Ã>\82®Ø\14[§¦²M:=1\89:\e3a¶\15\8a\14í\9a\15ÍøÈ©ã\97\8fïg&Ç@òá`wøÐ¡Ãv\ e®>AQ×oÞÍÇã2ïq¦\rå\17C/{»»89A0y©ôé\Ò¾\a\16\9dêª-\ 2¢ûjá\ fÀt\91{m\ 2½ÎØn_µ\8840êµg5©_öÍ\93
+\ 1õ\1fÙ¡P<\eCM\ 6\86X\8a$Z
+)\1f\15GÇÆ\ 4y;\9f:l³wÏÞ\ 3Gí]}\82cpÎ\10ö\16¼'½\ 5¹Yi\89\18j]ô\81X\12¢Ò\84\e\80\13u:\97>!@      \15\93áJ¤¯\16\9dÁÇ÷oè\ 6\a\7fªR:süP\ 3\ fUº¡\92\1ddhÇ\ 6\91¢\ e\85âhàGÏ\8b\14\14)z\84\ 4\0\15\1dèåxüÀnëmÛvî;bïvéJ|**_Ñ[¢<OòI\81!*<4$ôJDÌÕ¤ôÌ\12§s¥ý\8fT[í'$ì«ýBÍÀ~\ 3Ê\97\9d\9e\18qÙÃþ 5¤Ö\13\86õ\95p:¶nÖP\9bô\ f+\ f©\12"5rÚ¢µ¤È\91"\9b\r\~¤\bP\98£$c\15÷È^ëMë×o²Þ{ä\8cÇå\br8û\15=n¡0/'ófÊõ\84øøø\84\10rS\a\8fäO\9d~×VK\1fq\93îG§%\90êûö5KL'\8dèß\83Û¹ms¥\9bôb\91Â\13|¦Ë¶\1c:K¦ORSk\14(·P\11'\ 2\vÐ\83ß\8f;y\aÇÞ\80x\92\12©¢\97Ï
+óïeß¾\95\9e\9a\9a\96~+3;7ÿÑÓ\174Nò\83\16¾ë«¥ÎF`¿Úý¬TDÊÁvç:¼ú\b¯Ó"&ý»\8b_\15\ 2J*RxÎxÄÔ\ 5kvát\9bäLÙ4\96ò"%\ 3\8aÚi²^¿ÂÒÂrå\86í\aO¹ùáè*,L\81\95\1e\17äåædgßɾ{ïAþ£'ÏË<\9d[º±ö¿Å\9bb\80TZB\84¿çÙ#»7,\9b;Íh0¶\1f+Û¤\17\1f]'£\ 2M,Èt\9b«éw©Ñ*å\17©\12@\9d´Ù¶vÙ\12óÅ8\17ç\98\93Oh|\1aq|à¼0@zN\rêÌÏ/x\ 4\ fNç~ÿ\0y¤î¤%F\ 6\9cw<¶w\93Õ\82\19ãÀ¤³e&]\89\8d
+\9c2\7f\15©0&aáL¡¨\93\1e\9c\94\97\95L\80ÚºÆÒ|ÁÂ%VëwØ:\90\\ e'#@Ô       NÿÍëW/\9e?}úä)\1eb~\8d\15õ²Nçþ\1c\9b\89
+ºpîÄþ­+\17Í\9a0¼_wʤ+ÑùÑgQȼir\eÅF\e\1cÿ\94vW6­G\ 1 pfYJ´¿û©\ 3ÛÖ\ 2P\vÌ\97­µ>xÚÝ\1f»\ f\ 67O *z\8d§\98_\ 3\8aaúÇ\aS'$HÎ\\98\97}3)&ä¢+οZl:iä\80\1e¼b\93®4¤È\ 5\82\ré\ eæ\95xq.%Ro\15¨àÑ@\91kB¼\1clw¬·Z²hÑ\92åë¬\ f\9cr\97\96QðÐÚg
+«woÁ´¿\97?Äü\vÏ\95É\14V\17îf$Ç]ñu·\a\93n1{ÊhbÒ[4ÒQ&Rä\9c1\99n#ê?z\ 6^cæE\89\94\14\95ì=+¸\9b\16\1frÁéØÞ-k\96[,]¶rãÎCö\1eþ2 >SGã©3Ì\18F~\91\9eÏúµ\87ÐHáéæ\82{·ñ\96(4é\eÁ¤\8f\19Ü[@\8e®ÕQ\1aR²é6x_<\ eL\ 2\91ò£\ fù\7f,·H\11 Þ\90ñ-á~n§\ fíÚLõ\rì=zÖ+0\9aV=êd<\19>I¢È¯_\7f\a¦\12Haë\f\84      `Ò\9d\8eïÝlµÀx,v\98uøþÖs\ 5E\8aÔ¥Z\93\13ÙX=/Þ\83T\0(Y²\a\89\83»¶mÚ¸Ùz\8fí)\17\9f\90¸\eYyÔ¬\ 5ú´¨,\8aü§£§e#E&W>\ 5çWlÒ\17\f\86 u\94u\18\99\9eVF.\8cï\85Õó\1dÇ\/GãØC\ 56d¨\9b>°§7\1d¢A/Ç\13¶û÷àÍ0XG\89HH¿K\15æ¾Ê²9Ù\11¶ß~\8e\14)t~R\93~\0ò\19\13Ìg L\90CJa\91\92\9dÈÆê9=\1c\16=H³Ü@}¡+RT\1dÅÞ\ eo\869íìé\e\1a\9b,?åì\9f\ ezÿó\93è\92\15Î!¾{\v\eä3k\97\98N\1cÞO\86\94Rö±*IOd7ïÀéM\9d
+U¸·EÚ~\80u\94¤Ø+þ\17ÜÏ9\9eutvóö\vÁÊ9]\98S¼³V&STÁ8?çv
+\19ix\18ò\19³I#\10\19®©\9c\86}©H5iÝ\95¾1ÞYá\9eNY#ç\83;¸  \1a|ùâ\ 5oo\1fßÀ°\98\81@\8a\16æK"E
\8f\vî\91æv¯³Gv\91«\ûQ\17Ä×®Aíø)\bÔ\1f´\95"Õsì+#=\9d\8aõSË%\18Ù·R\12c#¯\84àÆztüõ´Ì{\ 5Op\12\97R\8e(\95BêI\ 18?\92Ï\1cݽ\81 %îÖ¾ô°*\ 5Eª:ÝÛ\82}eD÷è\13Ùå5R¤í\ e½Ñ\83»\99éXH\89\8b»\9a\98\94\ e)8áUXJ\11(
+¨b¤ÈHè@o§c\80\94Ù¤áÔîL\99s\aË+RÒ¾2¼÷ù\9c\9f\82§B¥³\ fÞ`!åþݬ\8c\9bi©©i7ñÊ\93\87e\8cÍS\ 6PôLµ\87\10&\\8f\ e\820w÷ú¥¦¸;\83}èJ\9ad)×ÓI\9f
+¥æ½+b¤\88ò\ 1\9e?),x\90\9bC]y\92WP\88\ 5'jÂ\94²p"@ád\ f\82\14\86       ×c\82\11©uKf\8d3ìÅ먼iàe\1cú\0#E\1f]/ïú    Rt%¥ða\ 1ÐÃB\9ctSôö\ 3\19á¢D\81"@}Â\19(Øõ\baB\12Ĺ\8eÔEÊd\13\99îàP\8eîI¯:\9dKß0D\9dÞ)w^L[\ e2Àåå\8bçÏ\80\9e¿\90«¤\947r*\v¨¯Òý\aªj\8aHE\93Qö8Ͳ¯°Kë&ʺ{\86è\1e9ôÑß\88\9cL£.ÎQä\b\ 1.EE¯_\17\15Q{MeÎ9S\ 2PÔ£@\82\1c\8e²?m³ÙÒl¼ìò\19e4¢SM@äè:}Yhd²¢güeÆ\83\Mñ\9eÞl*\9eá¢\14\9c\8a\9f\10\1fÀN½!H\91»IÈ,þQýDxim-¥\9c\96\91]\91]|\978mÍ\15\88vJLp\91í5ýn\8dà7\80úD&¯¾£\ 6´ã\15J\8e¶Ûðja<\ 4\16¢\ 4¿G\1d\9f%wx. ¬9\9e3Vp\18\824åýúÝ\f\17%ÁT
+(\1a*ÜDÆÙ\9f\ 1\1e'÷®ÃFtAG¥\1d\ 2©DERä\b_ñÅz
+¸=¹\17\91ßlR ÿýá÷Ó@QH\11KõæÕSìº\ e»èh»Å\92ÜïÛZYýÕRk\8e!'¹U) öûûâ\14x\19\ 5\8b\ 4?ýnù\9dd\82×G2Ç9+%ÆßíøÎUó&ám®Muj)å´\f\1drR\172[n=|\8e\1cȦî\8bSò«)\97äí \94pkô\19Î[\ fñ:½wÝÂiÃûpI#º\92\80\92]OO»=*\89QVîZQTì1¾P\ 3¿H\1d\9e\f\87É ·\8cl\l<Ò\80§Û¢\81r\8e\15\15»½>#¦ãýSô5hJ\9a\ 1T\81$mM(\1e\1fú\95\1a7ô 3)â\92#¹Ö®¯ò\8e\15Ñ@5\85$fØT\1c¯q!ìÚmÊí}­8\ 3£\ 4\92ëá P"@a\8b\b^b~ÉéÐfr?pÇ\96Ê\ 3\8aº#\9b\8e\ fNy\91#þ¤\8bùk©¹cêFß¾\aê\ 3饩 \89\92Í!\994\8f\9eþq\97\¢þé³L¦eû%jEÒ]/\19\91Þ)y\e¥Ïë D\e\85ýùäÎë    sèsiY¤å\v;\ 1?Ò1Êg\99ÁT+ú,½Çï3\1d\1e¼}Ey½ó§÷­[4mxoNûfõk)ÉëÑÓ\14!â$³ÎÉUDXµÅæÒ·ôän\92®}øðQýè\83\1cÑI\fÄQ\ 1nvt\1cÕ\96ÄQJ  8ÿ¬L\8f\9dÄ\r\86-\87ÎúàåÕ¹\ 5\85O\9f¿\90^vú\1a+\0E8ÈU\ré\8d\8c\8að"Ê<\9cR\f\919Þk?PÜ¥ucm-e¤0rã\96E\ 3\8c¨;ø\ 2¢®¥gå< \aË\v\1f\ 3=Áæ\9cgØÃ\8cÓ\81Õ\8b^\14ÓóçO\1f?|\90\8d\85\16ÈõÖ\9b\e\8fB§GÕY\94¶e\85» ýFÏ0_·ûø¹\8b!1×RoefçÜÃa\ 5¹÷ï?x\90\97\97_Pðð!é\8cWS\82¥=Ì\7f\90\93\95~=\86\8c\9a3iH/å\9d\10\95\9e\8cÁ\99ðxÿåJëCöî¾!Qñ×\92SÓÒoâü\8b\8c\8cÛ·3³²îdß½\9b\93\ 3à©-åܽ\93yóFbt°Ï¹ã»×\99ÏÀCj²z\94\82\ 1Õ\89ßgؤÙ\96\eö\1c=ã~1 4<*&.>þêÕ«              \89×®]OJN¹q#5--=\1dÐSKJOOKMIJ\88      \ fÄ~\8dMËfO\94Þ×®\9c*K¥?é\1eE]nÏÁcg,\¹eïQ{g\8f\v\97üü\ 3\ 3\83\82\82\83CBB¯\84\85GDFFEÇÄÆÆ\ 1zjJq±1Q\11¡\81\97<\1díöoÁQ§ýÄx\90¶¶R¦ÜT\92^mÕ°Eûn\92~#&\9b.^µy÷Ác§Î8\9dsusw÷ððôÄÙO\17|.ùú]¾ì\1f\10\10\88ð©#\ 5\ 6\ 6øû]ôvw>}dÏæ\15\vpx.Þy¨¤¹IR ê6hÞ¶\8b Ïà1SÍÌW¬ß¶kßAÛ#Ç\8e\1f·³;qâ$\8e\13s8sÖÑù\9c\8b\8b«\9b\eÀ§\9eäæêâìh\7fâðþíëqÄ·!\99˯C_\e­ NR jÖ©ß´\95.GÒw¨Ñ\14\93ùK­ÖlؼuÛö\1d;vîܹk\17N¨Ûosà\90íá#G\8f\1e\ 3øÔ\94\8e\1d;røàþÝÖ\eV.\993},\19\85N_\1c¢\9c\1e)j¤\7f½F-Úuáõè7dôÄé&s\17.^j¹ÌÊjÅ\8a\95+W®Z½fíºõ\e6nÚ¼eë6ëíÛ\ 1?õ¤íÖÛ¶lZ¿ÚjɼY\93qZ \19®Oo\14+\8a\13u÷ÁßUª\83î5mÕ¡+¿»þÀa£ÇO\9af<ÓÄÔÌlöìÙsæÌ\9d;oþ\82\85æ\8b\97,µ°\¶|¹\15â§\8edeµ|\99Å\92EógÏ\9c2vø\80Þä\18\83Nm¥]¢Iu\93U«  "Õ¬u\87.\QOý\ 1\83\87\8e\185ÚÈhì¸qãÆ\8f\1f?aâÄI\93§N\9bn<cæ,\13\13SÀÏ\8c@¨^\84\8b25\999cÚäñc\86\r2èÎëÚ\9e¥¼\9e»?d÷ØP÷"µj×Q\8f+\90ôè­oЯ_ÿ\ 1\ 3\ 6\f\1c8pРÁ\86\86C\86\ e\e1rÔèÑc\0¾±\b \1aÒØ±FcF\8f\1a>tP¿>Ý\ 5Ý:µmI\8eÅ(íöZb¤ðB²Zut\1a6mѺ\9dnç®Ý8<¾@(\14\8a\80Äb\89¤{\8f\9e½zõî£oÐ\17àCüÔ\93ú÷ï×× OÏîB^·Ní[5o$wÐJ)@É®n«£]¿Q\93æ-[µi×¾\83\8e\9d\90:wîÜ¥KW=½nl\ e\97\að!~\ 4@õ#X\98\80Ïã°q\8cw«æM\1aà\85\16U\94\85¾3±JÕê5kÕÑÖiШqÓfÍ[´h  ÄBjÕªUëÖmÚ¶\ 3ô:è\ 2~\14\80jI\1d;êvhß¶M«\168\18\1eÇ\9d+O\9eþ\90»]²jµ\1a5kÕ®£]OG§~\83\ 6\r\1a\b¨qã&M\9a6kÖ\9cÆ\8fFPÝ\bÖÕ¢EófM\9b4j Cne¨ªô3ëÒ{8«V«^£¦\96V­Zµk×\91R] mmíz\b\1fâ'\ 5P\1d      o®ÐÑ©Gn
+\91Þó¡Ì!$\14R\7fâý·x\vIµjÕ\81j\14\9a\80\1eÀ\aøÉ!¨\8e\ 4ë«U|÷\8còo\8e©$\85
+/\vþ»2R\15yÂû}ªÑ\0\96\80\bW\87÷\11U¡n~ª\80\v®d7tS\97hýU\9aÈ\95Q\95+\7f\ f¡\9a\11Y üåV\15qiL¥2.4\97\91ô\1e²ï T7*q[ZEÞÂ÷3*\eCµ£
+¿«P1\14Õ\89\18\83HC\1aÒ\90\864¤Jj×n\80¹iÿ\99ËfjM\1c¬ÕÎÀP`\f¿\1f3Ór\99\99\85Ö\b­vÆÝ\f,\96õ\9fg²lÞbó\99\16«XÝá\8f8¬ncÌf.déR\1fcÁ'X#-æÍ\99g\ e\7fhd2s¡YGV\17ø\\ fø¿Ö¸²¿C\97­'\16\8b9<6\8b­Ç&$ÿ\1f"\81\11°8|¡\1eGÂã³\ 5,\81\98Û\11\7fLO$\14Kà¿YÝ\8c\96YÌ3\9fÃÒ50]<Ëlä¬ùf&Ë\86Ï\84?[I=¼ÛÄáÃÆ\19ögugéÎá
+ÅBc®qGV\ fø¸!\87m\fë\81¿£?(¿2V·\11\8b\97\8d13Ylajfú+\7f­»\88<s*ý>\\89\85\8dÿÐïÀ\13v\91¾\ 5§\v¼\ 4®\9f¼\88D2µ£Ü[,³\98in9{±Å"\1a:\96®ÑøAÆ\ 6Ëà¯g-_ff\89«(ñWr\7f\800³Y\1c\16\9bü3q\95\16ù\97©\96\90¥Û\915q\ 2ü5\9be`\ 6ÿZ^æ\7fv¢þ»?ùu$ù\15¿\8bK}\17þv\ eü*dë  ØB!\9bË\15s%\12\89\88ÅáÂËHø<6\9b+æÃï\17Á\87D\=\89\80\8f\1f\11òù"\91\ 4>$\0\¸\\81X(\12òy\1c\96\90§Ç\11ò%B\81\84Ç\91Hxð5<±\1e\8f+ä²\ 1\18\ 1\97-f      ùz"±\98Íãqø\ 26\87Ï%RÀf\8by<¼>\89Ëç³úáràI\x´\90Íæ\vù\ 2\90\15\81H\8f-BÀ\85"\9e\ 4\ 4\86§'äsøb6¬\90'\11Á\83\84\ 2=  [Ìå\88E\ 2\1e>Y\0o$æñEð?!\8fÇå°8"¡\9e\88'\10
+\84\     WÈ£\1eÄ\87\17\ 4".¬\8eÏ\17óX\1c1a§\0\98Íáà;òùz\12\8e\b\1f\8bØø=\12¡\9e\17óyð<\ eÈ1\9f£ÇF\ 1à²Qx%,ø·\1e\97Ëáó\ 4l6\8f/\10\91\añDzb    [Â\16     \84"\ 1[ dq9<\0X\8cß*\ 6¬\84,\1e_O `\8bØ\12P\b¾\b?ÁåèÁ»\ 2Úb>\87Ç\83/\96è  \84<!\8fÍ\87õ\8b\84\84X\ f~#\11       9\1c      \87+&Oâòà\95\84\12¾P$á  áy,.O\0/\ eO\15\8a\80«\12ø1¶\1e\13ðÅ\12ü\1a\ 1ü\ 1¼¤PÌã°     t"\ eü\81\1e\ f¾\17>-æ\0\a\ 2\0\1eÅ\ 3dxÔ;qñ=\81Ý|6\87Çç\89x,ø\8d\9e\90\rÌ\87¯å\90?\90è\898\b\8e\0¾\95+\16±¸"\81\1e`\ 6?\83¼\11°x\1c=!°\ eÄAÂ\85\ fÁK\8b\81\8f\\10\1f\1e\178"áQà\ 1ç\0\ 3\11\e\13K\10 .@\ 1ðI\90á\1cx\90HO\0?*\16\89\81Ù\0\10\8bÇ\86?ápØ">G"âòx,\0\ 1¿\91\ f\1f\13     Ù°\14x]=\10f\ e\aÔ\1a\18Í¥\9e\ 4\13r\85"6\aD\8f\8fo\0\82\a/\ 3\ 2ÀáÁ\1aY Ð\0&[@D@Ä\ 1¾±ÅzÀF.\eä\11Ä\8dÅçÁÒ@äEB\104\11È.H¨\1e²\Ä\86\85À\ f\10¹\13ëÁ·Ã\12ÄÀ:\1eW\ 2\1f\12ê\89y ÜB\91X$\82õòEz<±@È\17
+ùø\83ø5\\10\a|c¡\b¬\ f\8b\ 3{$à\88¹"¾\88\85\0#\11\1f¸.\94\b)\1e\ 1ß\80\91|\ 1è\89\0¿\99¼6<\85'\ 4.\81\80\83¢\80þ\ 1\r\0*\ 1\9b\v\8f\ 5î\v$X¨f   8ð$\90@\0\18V\83\ 2$\11ëqÄðrb!Xk\10yòJ|=>\e\16\v\ 59\ 3¹\93À\93Ø v(ô \1e,\1eH\ 3¼\8a\ 4´HÈåsQ\1a$z ¾ð\16 ãðp\16\9f\rð\83!\91\88Ù\\9e\18¬\ 3W\b\9f\10 \8bA4á\ f)&I@Ê\88âÀ{À£\88ÜñÁ\1e÷\8aA\98\88J
+9"     X4\10\17(¿<4mB.(\rÈ/p      5T\ 2/Åæq\81¯ø\1d¨ä\12ÐR!<KúNðT\1eØ\14Ð\15\11\87\ 3&\82-\ 6ó\ fr\ f\\0q\ 5Q\aA\13q8à\88à\13l=\10p\9e\b¾T\8cº\ 4\8c\84\a\81*\81\1c\82\91\84ï\10HôÄ"ø[4{ð\7fê\9dÀN¢}\ 1Á\a­Å\ 5sÀÇÀÒÀerD\1c0\9cðJ<4\17\ 4\8c\ 4*\e²[(@        \0\9b d    ¸ ©B°É|\11\98\101õÎ\ 2\900\90*´¡ä\85$z ·ð%\120ëBT\1c\90D\ e\9f\ 3\12\vR\ eæ\1få\e´\97Í\85Å\0r`Þ¸Ä\ 2âRAÕ$|\ eZD\10\ e\1c\ H\10\17\18\ 2\9f\aã\v\16OB\8b\ 3¬\1fÄ\12Þ\a\98        \v\ 4&ñ¸ F<ø\17¨20\81%\0³$\ 1OÂáKÀ­\80Χõx`zA\8bÁÔÀâ\80% ³à%Ø`\99\ 4 \89\\8e\bD\bÞ\88\87V\87\92P\ 4\80\vÙøNÀs1<\89\ 3fQÌ\ 3^s\10b>\v,?\17¹\8f\f\17£dr\895\13\83Á\ 3»#\82\ fà+\89À\99\88ñ>[>Ú^PG1\1f´\ 2\9d\19\9b\ 2\ fü\1f<\e\ 4\b¾\1a\1e\8f/\ e\v\14áOpÐ̰`%|`\19p]\bBÄGìxÀ\13\0I\0|E«/\82µ\ 2Ì :\80(úY.ø)\ e\0\8bn
+T\8bC\1e\ 46\90\rR\0\\10\81)\17Qâ+\82ßsÐ\17\83p±À\a¡ÿá\81Å\ 1Ã/¤\84
+M\ 5h\8d\18¸ dq@\8bÁ\90¢M\84/\11S&\1c\91ä\b%\ 2`\1c¥J\1c0;À2pµ<ø\14è\ 5®\18\8c
+X;p×<@\ 2ì#z!Ð\14\11\1f\15\92XH6,]\f\ 60\80÷\0ìÄ\ 20b\0\1e°\15Á\ 5G\ 1¦\0<\87\80\9f\ 3æL À\97\12\81Ø 'Af8`
+\80Y`|Àñ\82õ\ 2é\ 6\81\aä$è\83ØèÜ\80\87\ 2\1e\80\0&\12W\82.\v\81\18\ 2\9eÄá\82\8cÁû   ÀIJh    \aï\ 4L@\81\ 6\96pð½9\80\15\18c\ 1à\ 4ï$$Q\v0\10$\86/DÛ\ 3+\ 6§\ 4\16\1d\85\ 5\94       ã\1a\11Z\1d\90]p:bôcÀhx\f|\r±ýô\83Äø5b4X|.\87\b@\ 2ÞsÀTAÐ\82?\ 5\16\8a\83²&Ae\ 3\16\88Á\92±QµD\18\ 2Ãw\80%\0ñ\0é\15¢\9d\82È\aã$`\18è\ 1\9bC?  ä\ 1\ 5\15¢ pVðJ hlø) x:t;ä\95@\ 2øhqDø\ 6\\110\ 1xÏGw  ¾\13Ö\ 2N\1fÂ4\88t0þÀï\10ê!\1e`\8cQÇèw\ 2î\82¡\ 5\89\10¡kâ\11{\a\92\ 1¯ÀC}ç\93wâbÀ\ 2Ê\83î   \1c\10ä\ 3t\18ü\8b\bX\ e\9f\0xÁÖ       D(\10ðhP00eÀ
+x\fØ.\1eý$|\ 5\0\vL\ 1X]X\ fh\17\98\1a\88AÁc\0Û!0\ 4\ 6s\ 1j\v/
+¢)\ 6\93\82!\rØ-0\11\98@@ä\85Æ\rÞ\12L\96\88¼5\86\9aÀ4\ e\18yʲÂÒôøxé2¼\17º\16òæàCñ«Åh7ñkÀ\82Ãj!\1c Ê\ fÁ&XQ°âlüZxi>\17ãZ\80\ 1Â0ðØÄjb¤\81\81#\88¾\90~\10|
\bÖ
+\81\ 6¾8XJøBtâ(X\ 2\12\r\8b1ÔÁ8\14\8c\15È\15[\8f\8bÞ\ fUW,À'\81   \ 1\ 3\ 2\96\96\aܦL+\ 4\8e\\941.m\1e8h9Å`ø¹\18\1dà\82Á\v\81\85\ 4\9b\b\ 2\ 2r\86Ѳ\05\14ì\a¾!¼\f\18\a\1e
+\16\0Ç\a\ 1\17¢=\ 1\ f.&6S@\9c\89\ 4½\r\95\90ÑÆ\ 1\98\ fñ>\88!,V\82¯-\ 2À\81ÇhYAa`¹\10ÎÁ3\0m\f\9e\85\84E<\88\0À CX\ 4\7f\0"\ 3Ñ(X,1~3\18l\10_H"à5A\ 1 t \91\ 3\ 3\ 5#*á£\r\81\0\ 3Ö\ 2Á\e¼6D\85¸\12      ü\1e"q0\9eb\12Ä\90\1dtÈ"$\1cT\0\88\18ߺÄ\01\ 41|\88ã!\16\85@\ 1T\99O?\aÑ\ 4\85ã\ 1V\90\90\90ï\ 1«\8a6\e¤\ 2d\ 3\16 _\fj\ 4Q$ºxø\ 4 ÅÁ°\17|\1e(1$\b\10'pðÖs\1erID"7.\9ao°¢\10°òdO\12¡Ô\ 1³AS$$\8e\84@\ f~\8a\8d\ 2\ 1v\13^\11Ì\82\0<\17\98@\f\13ÁkA\84\ 5\\11ãKb¢\ 1æM\80\ 6\1f¢&0ëð$\ 1¨\1aD\12\1c\10\95¨'\89\80EA¨\ 3Z'¤âD\0TL¸\ 2o        +\ 6#\ 3²\f`\ 1I\90\a\b7X3\ e\9a\b±\84¤4hHÁ\80\0\14\1c           \ 1A¼!R\17
+       ÷ÁBÃ\97°\91\12\12ò$Ì®¸\10*\80Äcò\ 4\ÀXO\84©\1a\87â6\17e\8c\r\96\ e\ 2\16x\1a\1f_\ 2\18($æ\ 3Þ\1939°ñBZÀÅ`¬¸\18c\bA\ 1Ðë\80\18\81\ 5\81Ø\ eõV\88ü\86ï\ 1(9¨h\98·aØ\ 5l\16£\9b\aû\80\9fàÂ+@fA\ 2\17|k>\ 2Åǰ\r\ 4X*\11\1e¾#\ f\9d<\ fã.PQP{\10\12\90&\1er\ 1T\ 5r2d#\18@ä$\ f\ 3<\11IDÁ>\89©Ü\14¤\bu\1a\98$nBÄ\89\87¾Xú$pô<\fOø(+\\1eñ^`\9bPì@®\11\eð\1fèð1\80\96à\83\0^ônl\11\ fý\10\9fXV`\8a\10ã\7f 0\91\12\10r6\ 4Oàh\85\1c\ 2\ f\81.\1dãU\8c[AÒ@BÀCBp\v\16\ f\82\11x\90\0,+X6\fç@\8cPèù`ôÀÎ\0ÛDhXAÝÀ×A\ 4-\91`\8a\v\9a\84±%ü\ f³B\11í,\ 4Äóã!®\12\ 1YE!Ã\0\ e8\0    \16_"Æ\18\85\8d\99>\95\ f\0\94`b@Y       \8b09\94\88\19\ 3ø\bxc|#H¦Á\1aЪ\84q\0Ö\ 2$\10Ëññ{E¸|d\0¸K@\12\1f\84©!D]à)0\89\17
\ 4$G\83ø\86\b&Ø)\b\81AÖAr!\9c\86O@P\vF\88#D\87\15\8b\1dê0\1fõKLY\1d\906\fb1w#z\ 2\7fÁÆÐ\12´\r\97\ 2*\ 1"\a¾\rM\9e\90\94\ f\bê\18ñc\88\88\86\0ý\1cDõ`\8eù´a\15\ 3àà¾Á^¡\9d\14\12\16\ 1ô\ 2t²è\fñ\15ùà«áu@º\89\86\8aÑ\19b\ 1
+ã>\11Q$À\8d\87â\ 3Þ\ 3Ä  \f\1e\98KPR\f©xt-\0m\ 1¼"Ø(.qú\1cTa\90@ø     \92D\ 2Ì`¼@¸@\ 11ç"¯\bA\11 \vÎ
\8dÔ) üF#       )£HL\94\Ld\a\#\9b¶à(Ì\´\v\10?\89  v\0\ 42\19±äb^ÁEã\ 5â\80\1câ\v84O\80§\ 2\ 1\86,`\0ñIÀ0lß\82\18\11ÅP\84ß\81\9a\aa8¬\90z\12\17ã\ 4X"ü<~3|
+\17\b\11\0¦_ ]$\9c\83Ð\13d\108\fÐ\134AºAüA®0\0à\82 BÈ# Q.J\83\18ó\ 1xEȰ0v¤_     X       1'xIp\17\14â<\f!ÁÂ\80\f\bH\b\vI1ÖÇ 6ÀPY\82I%8,ð\15 X\98E\80\81\84\aÁWÀ{rDTu     \18\ 1á\10<\9eO?\br\r\ eÆ\11`½ER5`£\ f\15`\8c\ 1A .\18Ø*§\ 3\8e\10\16°1(ça&ÍAù£Þ\19AÂìI"$º\ 6\ 1!\ f\ 3\11LÊd\ f\ 2ÁÄt\85
+ÂñSÀc\ eºb\bÙ\81Ù\\92Þ\82ªñ!±äq\898Àsá÷`»ø\18sÃ'@ÝÁ±A\84ÇfÓ6\9fGª%ð\13"\ e]\83\ 2M\ 2\8b\84FPÀ%\ 2\ e\8d\83É |1\e£{È\ 6±J\ 2Ñ\1dF}ø=\18ä²1"Ç4\8dJ®°À\ 2¹\b\11\13ò$Ì\9c@îÀ\10ñ¤OÂ0\16L\f       \1a%bò$ø/6F\18\10kóÉ÷\80ý\80à\ eÖ\aB\84R\85å96\96®ÀÍÃ\a\0=à*DîÄ\9c\80/'\15)>\86Oä9à=\104p\86\9f°à\bØñá÷`ú8lRª\0\9e £æc%\14\ 4\vÜ\ f\ 6Ä|Ôs1\89¤!ý\ 2\82\19\a\87Iâ[\11øiR?\13Óq\ 3\17\9f\8dõ\1a\b\9d\10\91x\e¾A\0º\84 »\84Äþ\10ü\91Z\13p\a\93\15ð Xê\ 23\v\89\91\90ä\10|´Ãàp\ 1:.©å\ 2$\10·qÑ\14ÓnB"ÀÄ\9f-ÄÂ\v&\bð!\ 1º#\ 1¤xb\92&\91À\ 2\13\11,\8fòÈ'Pã$\b\18]3ÆX \ 3       \81´fÌ\15\82ßÄ\9c\9fÊÎÿ©²<\f>4\9bì;ô\97\95£±ú\ 1¹8<\fÞ\81' C}p¨XV\ 4s !õhä\89\80¨\rh\ 2ñ0èØ@Ä\ 4°~`\0\166ÙX$\ 3äÀ\0\9321\86äb\8c¸¸È\ 4.\89ä%\18µ\83\89\9aÃ\8f@\0\ 6É#¦4\)÷AôÀâ@Æ\80N\9dG>ÅÇX\f\8c\a\87ÔkP­8È^\ 1®\18"wð}ð\93\LCù¬\7f~§~R$\ 4\16\82m\aä -\ 1a\82¼\11\9d\ 1\9bØGêí9X\11\ 23\82:#\14Q\81
\1e`<¾0ù~>f\9bàÆ9$,á`Ö\88¹?DR\90º\91Ê;\97*]á\12){\v\19#¸*,\93ri9Áú<¸@\80P\bf\8b2N<b\12áå\ 4\ 4sÐkÐ\f1Fã\1c¢¦\10ª\83\7f\86\88\ fl   Á
+Ö.@7\b~\97\82'&1\14©¦Ð      !ÖR nd\ 3§\10\r´Ú<\88FÀµB\fĦv
+\0s0C\10\88\ 3Î\17\93|H®H\ eMÒ46n,\b0Q\96ðI\1c\0¦\bý\e\18\7f\8eô\85À\14ab   \ fáqHü&!"  \855\92¦\81\ f\ 4%\0Ø8B\12qPÊ\f¾\b\1eL\18\82\92\aA\80\90dú¨¦À!`\10D\ 1"6©ÎIC>`/\eÄ\ 4,\ 1ºNø\1e²k\ 4ò/\92p)Æ\82Â@~\86Û\1cø5\88\f\e¥\ 1Ëî\80\1d%
+\\f\ÅD\97K\8bB¿_\12\18T²¾³\88~Qÿô\9dKTNw\9c¹ùÌEf¦¬9\163Mç\99\99/c   ;²ºBð\ fÑ\1f\b\18\0\aî\19\0@÷(A\83$¬^\80_\ 1\1e    \92\fÜXÀ\0\ eÂS°\87\ 4\a\8a\11       è\12>¨+è?îXÀ+\91p\aa\0C\ré\9d\98K
+\r¨MàªDXI\83\b\89Gê"¬¾h\ 60\16áá{ÀÇ \ 5\10\93/\14áþ\ 6øP`\1d\b2<·«\b\r\1eè&ø\15\90    \90\f\ 1\96º$\14ó¸À~VßE´jÁ\8b÷-{Ëò\1fv\ 2\95ørd{\95ÚÌ\84/féö30\1cD£?\16÷\bå÷9{Ð; Æ\ 6\86\12Ü×4Z¶j¡\99qñRåö\b©\9d½\89¦er\9a«TNS\9b\91Ò_       «h`\8b7%;ý`kXnçvÉÌesA\85ØeïÜ\8a\fa\95d;ÔhîÌ%fcW-1û¥M]\r¯~\93W?ÞÅÇp\ 6\80*s\17\9fú«®\1cH\eà©|Ì\1eº\92Ío\b\80 ÞÀ2÷ooä\8b\7fa\17¿\8cßËíÓ\93e\89ÄÒmzúw²Uvé*]\1dY*O©ÛôÒÍuvñæ:\9bâò¯`­Ú\8e  \85\81fª!\ 2À³\98I¯ÆÀ\90e°|Ùb\16Õª2oµYñ#¾ÓÈ\91³,Í,¬ÌL\8d\87\9a­2¦>d©\8c\1e\91\7føë\89½´4\1d\1a\9a\ e\rM\87\86¦CCÓ¡¡éÐÐthh:44\1d\1a\9a\ e\rM\87\86¦CCÓ¡¡éÐÐthh:44\1d\1a\9a\ e\rM\87\86¦CCÓ¡¡éÐÐthh:44\1d\1a\9a\ e\8dÿë\1d\1a¿Ñ>`,üÁÙï\9ft\10ÐÛµj´ñý÷PÚ ö\7fÃθDö»\89\9dµ°á\ 2¾\8b\18j¶ª\ 4nc\ 6\fDèà7\86ýÁ`PØá\87é¿\93}¾G\89\ fÑ\7fÒÙÀÐ\18><pÞÂef\16%Öþ\v\1d\1cÿ¸GN¾\83\85\8b¡\1eÀ\1a0{¶\19>C\ 6§ Ôó\fÍ-\97Í47\81gÍ\6Ó\18\16;|æ\92\1f<ì'¯?`¥\99ÉrüpY \94~$¾¢ì\aJ.@\8eo`\7f\fÌá\v\99\ 1|![Ö˵\8a\eJ\90\998V\ 2ÞÔ¬;õ\9f}ÍæÌ3§gL\07á3\83´ºõ7³\9agb6fP_ÖÄ\11ZSd?.ÀýQHº ÒccE\90Ts8`¼E\10\ e\92òÎ4ôÂ\98\16¡ÀÌýÍ\1f%\9f¤\7f\úo1\vÌ\19\vC}øK>ü\ 3\1fÒj×\8e¬\1aß¾;K,\81\8cYk¢au¦¯\90Ò\90\864¤!\riHC\1aÒ\90\86þeô\8b\98^æÿQ*÷\A¦\17þ\7f\85ÊÍ \r³TFJá\91\86S\15JJä\91\86S\15DJç\91"\9cÒÈÀ÷TA\f*\1f\98\15ýýÿRª\bÖ\94\eI\15<âßHJä\85â\182òÐ\7f\ 5)\17\19E@cðÑêO\15\aÎïbÅø\ 2Ô\96*\1a\99_GI\1dÖ ¶¤\1ap~\ 5"5Y\86z\92ÊÀùG\88Ôa\rjK*\ 3ç\1f!R\93e¨'©\12\9c\9fã£&ËPCR%2?ÇGM\96¡\9e¤bp~\82\8f\9a,C=IÅàü\ 4\1f5Y\86z\92\8aÁù     >j²\fõ$\15\83ó\13|Ôd\19êI*\ 6ç'ø¨É2Ô\93T\fÎOðQ\93e¨-©   >j²\fµ%5ÁGM\96¡¶¤&ø¨É2Ô\96Ô\ 4\1f5Y\86Ú\92\9a\80£Êeü|%êIê\ 3\8eú¬D\rI}ÀQ\93e¨!©\f\99_\ 1G}V¢n¤2dþ\11\1cõY\89\1a\92ú £>+QCR\1fpÔg%jHê\83\8cú¬DÝH5Èü"8ê³\12u#µBF}V¢n¤\ 2d~\11\1c5Y\86z\92ú\80£>+Q7R\ 12¿\ e\8eú¬DÝH­\90Q\9f\95¨\15U4,¿\v\8eú¬D­¨¢aù]pÔd\19jE\15\8aI9ÀQ\9f\95¨\15U4,¿\v\8eú¬D­¨¢aù]dÔj1jB\15\8dI9\90Q\9f\95¨\ fU(&å\ 3G}V¢&T¡\80\94\ f\19µZÌÏ\17©\94¯úõÇ©\152jµ\98r¬çw¿\9fq@Ê·r5Y\8cÊ\1eÄ8 å[0³\8bQå³Ô\ 1\8dr/\95Áõ¨þ\89\8c£QîE2²\1eÕ?Q\1d (÷"\19Y\ f#\ fU\134Ê·<\15/I\ 5\8f+ó¹j\ 2\85\8d\11\1cþPK(Ôym\8cðè\ fµ\84B\9dׯ\b\8fd\8fV\1f\1cʱ*F\96§zRO\1c4<*Eê\89\83\86\93\1aâ aÓ÷¤n ü.\8f4lb\ 4\ 1\r\9bÊ$uC@æ2IÝ^_ã\1f\91ú¼þïòèÿ8\9bÔg%\1a6ÉH}^\æ\9f\90ú¼µ\86M?'uxårð\88ñ5ÿ\1f$\r\9bþ\15¤a\93úSùx¤a\93\8aIæ\7f\ 5iؤþTn\1eiؤJÒ°é_A\1a6©?)Â#\r\9bTF\1a6ý+HÃ&õ'\ 5y¤a\93jHq6i8UѤ\14\1eiØTѤa\93ú\93²x¤aS\85\92\86MêOJä\91\86S\15G\1a6©?)\9dG\1a6U\ 4iؤþT\11<ÒpJé¤a\93úSÅñHÃ&%\92\86MêO\15Ê#\r§\94E\1a6©?©\80G\1a6)Nªa\93\86S\8a\90Êx¤a\93"¤a\93ú\93*y¤áT¹IÃ&õ'ÕóHér\90\86MêOLñHéß"\r\9bÔ\9f\98å\11ELcð/ ¦YD\13Ó0¨51Í\9cbb\1a   µ&¦\99S\82\98\ 6CM\89\94&¦ñPGb\9a'e\13Ó¨¨\1d\90²\89iTÔ\8b\98æÆÏ\88ilÔ\88\98fÅÏ\88ilÔ\85\98æÃ?\10Óð¨\ 5\84_"¦Ab\9e\98æÀ/\11Ó 1LLÃÿ«Ä4NL\12ÓØÿ\ 61\r\15\93Ä4ö¿ALCÅ\181\rüï\11Óh1FL\ 3ÿÛÄ4`Ì\10Ó¨ÿ61\r\183Ä4ê¿ML\ 3Æ\f1\8dúo\13Ó\801@LC^\1eb\1a3\ 6\88iÈËCLcÆ\01\ry9\89iØTMLã]Nb\1a6U\13Óx\97\93\98\86MÕÄ4Þå$¦aS51\8d\89iäTJL\83]~b\1a9\95\12Ó`\97\9f\98FN¥Ä4Ø
+\11Óà©\8e\98FZ!b\1a\11ÓH+DL\83§:b\1ai\85\88iðTGL#­(1\8d\9f\8a\88i\98\15%¦ñS\111\r³¢Ä4~*"¦aV\ 21\r¡\8a\88i\98\15%¦ñS\111\r³\12\88i\bUALc¬\ 4b\1aBU\10Ó\18+\81\98\86P\15Ä4ÆÊ!¦QT\ 51\8d±\12\88i\bUALc¬\1cb\1aÅ
+'¦\ 1V\ e1\8d¢*\88i\8c\95CL£XáÄ4ÀÊ!¦Q¬pb\1a\10Ó(V81\r°Ò\88i +\9c\98\ 6X9Ä4\8a\15NL\ 3¬4b\1aÈ\8a%¦ÑU\1a1\rd\85\13Ó\0+\87\98F±Â\89i\80\95CL£XáÄ4ÀJ#¦\81¬pb\1a\10Ó(V81\r°r\88i\14+\9c\98\ 6X9Ä4\8aª ¦1V\ 21\r¡*\88i\8c\95@LC¨
+b\1ac%\10Ó\10ª\82\98ÆX   Ä4\84*"¦aV\94\98ÆOEÄ4Ì\8a\12Óø©\88\98\86YQb\1a?\15\11Ó0+JLã§"b\1afE\89iüTDLì(1\8d\9f\8a\88i\98\15"¦ÁS\1d1\8d´BÄ4xª#¦\91V\88\98\ 6OuÄ4Ò
+\11Óà©\8e\98FZ!b\1a\11ÓH+DL\83§:b\1ai\85\88iðTDLì(1\8d\9f\8a\88i\98\15%¦ñS\111\r³¢Ä4~ª ¦1V\ e1\8db\85\13Ó\0+\87\98F±b\89it\95FL\ 3YQÄ4®Ê'¦\11U>1\8dhE\11Ó¸*\93\98ƲÂ\89i\80\15%¦ñS)1\rvy\88\98'¦9ðÏÄ4Bÿ\ eÒpçÿ\eÒ°FC\1aÒ\90\864¤!\riHC\1aÒ\90ÊHY \88\864¤!\ 6¨\92<1¾\92ÿ\14\13\93ë!+ùóÏ¿þúëï¿ÿ\86_ÿü\93¬\87±µüù×ß\95+W©\8aT¥rå¿ÿ"Ëad-d)U«Õ¨YSKK«fÍêÕª\92å0°\1a\\v,¥zÍZu´ëéèèÔ«[[«Fµ*?ZME\8a9JË_\7fW©^³¶výFM\9a5oÞ¬iã\ 6õêhU¯Z\19WSÖRä\84\¹Ë!,ª\µF-í\ 6MZ´nÛAW·C»Ö-\9a4ЮU£êß\7f}\a\r\14)[é\b.\95«Õ¬£Ó¸E\9b\8e]9|\81\80ÏéªÛ¦E£zµªWù»44d)Då\90¤J§¬%Á·\ 3.5ëÔoÚJ·\9b G\9f¾ýû÷í#áumß²1¬¦r)h¨µT®B+]\15\90r² %q\fe\17ÖÒ Y\9bμ\1eý\86\8c4\1a;vÌðA}DÝÚ·lX·fÕRÐÐZW½\ 6*\9d\1aÕÑ\fÈ-HñµT©Q»~³¶]\85úC\8c&Ï0\9dm6kê¸a}Åzí\9aÕ¯]½Ê_ò\8bA\18ÿ®R­F­ÚuµëÕ«§]§v-XP5² ?ÿTx5Ȥjµt\9a¶é*ê;b\92É\ 2\v«\95V\16\vM&\rï+ìÒª±6B#¿\18\z5T»\86\8d\9b4iÒ¸Q\ 30\ 3upA°\1eÅ­d¥?ÿªR£n£V\9d\85}GN\9dk¹nË\8e\9dÛ·¬Yj6ih\1fn\87æõkU«,ϧJ´¬7jÚ¢Uë¶mÛ´jÙ¼iã\86õµa=`\bþVÔHVúóïjZ:ÍÚsû\f\9b2oÅ\96½¶Çì\8e\1dܵÁÂtÜ I\97V\8dêÖ(Á§J\84§¨w\1d:uÕë¦×µ³nû6­\9a7i¨£]»fµ*\8a®\ 6^µF\9d\86­ºH\ 6O\98mµíàI'W7\17\87£»×\99O\1fÑ\87Û¾i=­ª%\16\ 3Àhi7jÑ®3\9b/îѳg\ f\89\90ÇîªÛ\96Õ¬\91N\9d\9aÕÊ4\92¿\ 1Ì\7fþªRS»I;®þ¨\19K7\1f°w¿xÙß×ËñÈv«Ùã\ 6\b\0>É    \r~\9a\b{\17^wý\ 1\86C\87\ e\19<°o\9fî\82n\9dÚ¶l¢S§FiÝûýÅTÕÒiÞQ8pÂÜÕ{Nz\\ e\8d\8c¼âïi¿\7fýÂÉCºwa5¬]½²übÀ
+ÔmÄêÄëÙ\7fØ\98     S¦N\99<Áh\84\9e\ 2½\ e,4K%uï÷\17ówÕZõ[vé>tÚâÍ\87\9d}Ãã\12\13ãÂ|Ï\1dÞ²Ôxx¯n­\eÕ)µ\98jZõ\9a¶ëÖ½ÿ\88  3f/X´hÁ\SãI£\aë\83YjA\99\16S­v\83Vz½FÎ\¾ã\84gp\Rjêõ\98 \ f»íËf\8dêÃnÓ¸n\8dR\8b©]¿\85._\7fØD\93EË׬_¿nµÕ\92¹Æã\86ê\v»´iRO«\9aâ\8biغ[\9fÑf«ö:øD\Kϸ\95z5ôüÉ\9dV&£õ9mK/¦rõÚ\rX\9dÅ\ 3ÇÎ\´jó®}û÷í¶Þ°bá\8cq\86½8h\bäa,ßbê4jÍ60\9a³f¿£_trFVfzâ\15ïS»¬L\b2¥ØT¹:|Z¯çÐÉsWlÝ\7fô¤ýé\13Göm]¹`Ú¨~ÂN-\eÔVÊb8\ 6cç®=à|9öÆí;Y°\98ó'w,\9b9²÷÷2S¹zÝFmØ}F\1a/Þ°÷¸£\9b§§\9b£ÝþM\96\94UjXG±Åü\81lBdÆÎ]wÀÙ?6õö\9dÌ´«Á\1eǶ-\9d>¬GWV\83Ú%U\e\16Ó¸-Ç`´É²m\87Ïzùú\83\1dp:ºcÕ¼\89\86Ý»*g1\r\91MÔbnddf¤Äø\9f³Ý¸pÒ Q§\16:ZUÿþOéÅpû\1a\99­Üeçæ\17\12\1e\1eâë~jïÚù\93\f¿³\ 3åYÌ_d1úFs\90M1É73Ò®E\<³wõì±}yí\9b\947\1dÀTj1cç¬Þ{Ú+(2&&<ÀË~ßÚù\13\a\8b;·,i!Ë»\98VÝp16N~QIiiÉqÁ\1e\96`fô(\91\98:d1s×ì?s!4&>.2Ðëô\9eÕsÆõ\17è6/    £B\8bYcãè\e\99\98\92\9c\10áëtpÃ\82\89\ 3E\1d \97þ\94wÚ°\98Fm8°\98µ6g}®Ä^\8d\8bðw·Û±\1cÍ@»&Ú5\14³Àòl²q¼\14~õZbL°×I¢Ø\9c¶MJ9í?\88î\15/&&.æ
+XëÍ\8b§\ eí\ 1ò[»\ 4\8cåY\8cL\9b`1\17Ãb¯Æ\86ù:Ûn2\9fl(éܲ\ 1\11\82J¥>M/æ\8cOHTLdÐyû}kæ*\87K4ðÜ~ãæ­;àx14:&"ÐëÔî\95fc\f¸\80{ÍR¸Ë!\ 32\13\14\1e\11êërÌÚrÆ\bâÆjTV\8cK\94~´ãõ\9f°`ÃAG\9f\90\88\88\90\8bÎ\87·,\9e:¤{gÚÈT*ùé:\8dÛpû\8e\83Å8\9c\ f\b\rõ?ï`³^^¾\14\9f\95kh7m/\188iѦCN>AWB/{\9eÚ»zÎØ~ßéµl1myýÇÏ[·ßÁër`\80\8f˱\1dËe.U1``1UjÖk¦+6\9cºxËag\9f\80à\80\vÎG¶Z\18\ f#\ 2Y
+\18²ôºMÚó\aL\°ÞÆÁóÒåK\1e\ e6\e\16M\1e\ 4a\98¢À@\1cYEK§EçîÃ\8c\1du¾à\1fàëqzßÚy\13\ 6\b:4«W\1a\18
+Çf\1d\84\83&/ÚxÀÁÃçÒùsÇw®@ùú^ñʱ\16\bôj5`uí5rÖò\1dÇÎ]ðóõv>j-ï#K-\ 6plÞQ2dêâÍ\a\1dܽ½Ý\1d\ en^2m(¸\82ï\14¯<\8b¡ÔÃ\0\9cÍn;\17ïK>î§)Ü\89@\96~ÕJ\10£BXØc¸±ÅVÛ3îç=\9díö¬\997\1e`lú=\8c¿¿\18©\10L\98·vïI×ó\17¼\9c\8e\ 1îF\14î¥MX%´\90\10\16ö\1e5k¹õ\91³n\9eng\ e[£ø\12\18\15sK\7f\10\91AÜÅ\86S\16m´9íêuÞÍ\1ep\87à\81½402\1cg¯ÜyÌÑÍýÜ)\9b\8d`\ 5$\9d[Ôÿ\1eÆß^\v-2=\ 1÷-\87\1cÜ<=\9cív¯ù\91ø"\8eÕ       \8eãç­Ùcçäææt|\ fõé¦Ú5JË×ï/æObÄ8úcL­¶\ 3î\1e®\ e¶Û¨H¼Q\19\81\12Èo\r°\ 3¢Á\93\17®ßwÒÉÍå\fäW¦côɧ\15ó\ 4$\8dG+ÓA0p\ 2õªîÎ'÷o0ÿ!î\94\1dè\ 4\92M\aN9»\9e³?´ÅbÆð\9e\10\10ÖR\ e\97ê·ì\8cIÓF\9bSÎn®g\8fíZ\ 5±     \1f¬o\8d*ßy`©\1d\181Ór«­ý9Wç\936\eaéâ\8eÍujVQP|+¡\f\0\97Øú£M\96[\1fvpqw±?´Õ\92\18\99\86µ¿\ fÚè´\86M1õ\8c\8b«\93ÝÞuà\97¤"£Øb0Ï\ 6\19\10"\97vC¬ï\86\rendstream\rendobj\r1153 0 obj\r<</Length 65536>>stream\r
+\Z4e\88¤SYFF\16çõ\e7gõ®ã\8e®®\8eÇw¯\9e\1f¯mc%\88Ì\9f\98M²ºö\186\1d\9c»\eùöñ\14\97¾\7fU\99S\9d¸`ݾ\13Îðñc;W\82Mb·nTû;3ð»kÁ\92\ 2\16  Ö_±\ 3u\89Ø0ÌÝÀ\86\95ñí´3@§ºéÀi\17\ f·³Gw@ÞÙ§[«\86µªýõ\1fEÖBçü-:I\f'/\ 2M=çééjOy\1a\88ó˲a2g0\ 3\9d\81\9b\97ûÙ#ÖËf\8dìÕµ%*\93\82À +\0ñí3jÖ2ëÃài¼\Nî\ 3\81\1c$ÔE\8b÷=\97¨Ø]¯Ï(\13«\1dG\9d<Ï{Àb ÈëÙ\ 5íÀ\ få÷\97L!\ 2\83\95\19ÑÀ\89ó×î=á\ 2\9cÝ®U\90.q!Ý/#\e+N\ræ¬Þ\8d\9f÷t<¼ÍÂxx\8fÎ-ÊÔlªT-«êÿlM\b\f&ñÝz\8d@ÔÏzú\\84D\95D\ fz$¬*Cd\8a#«ý§Ý/øx9\1eÞºtúÐî\9dÊ03Ô2°¢\8f\7fªëS%«fº\ 2âhN¸^ð½äuÖ\16D\86Rì2â\ 1:(\14\19NY¼ùÐ\19Ï\8b\97p1øù\8e¥¹J\10\81\8dûW@\95IÙúÇuY
+\18\90\0ð\91K·Øb\ eïëIÅÖ?²atPØc\98±¥õ\11go_ßó\8e\10¹\e\8aAÄJ|\9e*éÿ]¹JÕjÕkÔ¬Y³F\8dêժлWe.\a\81A·Äï\ f\16lÏI·K\ 1\ 1\90ÁC\9e:¶/ç\a6\8cr\ 6\10Ì\98¬Øiçzñ²\1f,f³ù\94ÁÂ\92\8b§\97R¥jõ\9aZµëjk×ÓÖ®[û§ebâ      @5\88ÁÛbëè\1d\10\1c\15òTÐT½Ve\842´3hÔ\ 6ËJ«÷\9eòð\r¸|þì¡M\8b&\r\12´\87¼¶²ôóÔ\9e^\95j5´ê\902zÓfM\9b4n¨S\97\94\89¿ß0¢\81©R\13¬)¯ßØÙ«ö\9côð\v¹\12tñÜ\91­K\8bEæû\1f©LgXó×\1f8\ 3i
+,æà\86\85\13\aðÛ5©+E\92ÀB6\17ê\92*zÛö\1d:th×\86Õ¼qýºô\86Q\19ZGy\ 2ªÈiëä\13\1c\16\16äãxpãÂI?\16\19â\f030\87\9f¸\10\10ä\7fþÌ\81õóÇ÷\97sMô>Zu­º:\8d\9b·nßI\8fË\17\b\ 5<v\97\ e­\9b\97½}õGIO°r÷)Oÿ°È\88 o\87}k~"2¨L:Í;I\86N\87¤ÆåbP0&\93ëæ\8eëËi#u\1eÔVgµ\9aµë5jÞFW\8f/éÝ·ÿÀ\81\ 3úõéΧ·¯Ê
\11\18\fd$\86SÌ7Ù:_
+\8d\82\14Ûóä.«\1f\8b\8cÔ\19ô\1c1sùÎ\13î~Á!þ\98òÏA?I\9b\96*\0K\ 3ÜG\13öê7d䨠      \93&M\18;ÒÐ@ÂÖe5ÖÖªö}\99\82ö\ 4m9ú£MWì:é\19\18\19\e\eáï\86u¼¡?\12\19i!\87ÔhO{ú\87\86\ 6xÙï]m6\86øIôdôZjÕkÔ¢]\17\ 1ÃÇM\9d5gÁÂ\85ógÏ\984êÿ±w\15`Qm[øzËîn\f\14\83q:lìî.DÅNÄîîî\ eT\10\ 5i0\90\90\90\ 6EP\11\ 1A@@\ 4\15[ï[k\9f3\ 1ÒÌxf|óßï½{\95\99sþ³z¯½ö¡WG®^ãÚUrYèQ\99 Q+Qï±s×\1fºdïæãçëîHúxy\9b\8c´\ 11\12»!7nºÝu±:»{ù´¡\9dYtÑ)åRWG\8f-é>`\94á\8c\ 5KW­Û°~í
+\93Y\86Ã{w`ë6¨ñs\9fM\96        :Ã:rÇ©ë7½üü}ïÚ]Ü\a&cÀÉ£¸&ÎTO\17\92\ 1ò·»íî\86d\96M%I\9bäx°]àR£^ÓÖ¼N}\86M\9ci²jÓÎý\87\8e\1c>°{óÊùFÃ{\89Û6©ó³hèÍ\v¬ðÀKÍìÝî\a\ 6øÜ±>CL&¯âZêL}Æ/ØtÌÜñ®§;öq\90L[ªà {À\95ª×kÚFеÿè©\vVnÙ{ìì%s\vóKg\8fì\3ßp\88\ 1\ fÖ?9K\13:\134eu\1a8yñ¶\93×nz\ 5\ 4\axÝ´\ 4\93\99H\8aë\MFæL\86ð\1dK\17w/\8f[Ögw-\9b2¸£\94\fî»V«Û¤\8dÀ`à¸\19¦\eö\1c¿`iëtóÖMGëË'v®\9a=\ e\9b³µr\94Ö¥\88`H&\185sõ¾\8bvn~Á!\ 1\9eN\97\ f­\9b3º'\9f\84Ó\\8a\13\993MYº\v\9b®>÷n[Sj¢Èü\85Û\8bUj7nÅï:hÂìå[\ f\9d³´¿íéëï\7fßËÕþÊ1¨ \87J×ÌÙ÷<I\8aÔï8\0"ÆqË\9bÞA¡!þn¶ç÷¬0\86õX^õ¬Ü\99Vî½`ëê}ßû\8e͹=Ë¥6ó\ fä\80²\95j4hÁé<`üì\15Û\8f\9aݸu/ ìQäãG¡~n¶\17\ f¬\9d3¶·(§ØÉ66XLKA\8f\913WÁuÝüB\1f\84øÞ±:µ}±!¬±\e×ÌÝddݼYk\ e\rp÷\ 5\93·½°w\851åMe¡FÀ}צúíû\8c\9e¹|ûñ+öwýÂ\1eGÇÅ¿\88}\8aíÿ\93Û\16Ó«=\85G-EíÖÖm\ 6\16c¸hËñ«7½\83\1f<\böv±8\82I/\8f\8aS±÷7wý\11sç{þ\81\ efû!èu%\8b¬\7fÿù\17Ë£\96ünæ\9an9zÅÁ#ðQt|RJjjr|TØ=û\v{WN\1f\9eÃUɬA¹Êµ\1a·\16Ábiõ¾\v¶îþaá\ f\ 2=ìѱáÓÍëæ¾\19A;\93 ÷¸\ 5\9b\8e[Þò \f       ¸çtåÐÚY#»qq\1f¨ô¿¥©* ÿ\84ùë\ f\9aÙ»\aEÆ$¦¾É|\9b\99þ*.Òÿ\16<ë\(\95\14×@¥è-õ\ 6-¸]\87\18-ÞzÂò¦OHø£0²Ûµäg9fw&Òû\9b¸hë)«;÷CÂ\82}n^=ºa\1e\16õ«\96/Sº\fÙwí6ÌxÙÎ3Öw\ 3"b\93_¿Íúðñû×\89ÏBÝ­Om5Á\8a\80\18M)9\97\8aÕë5cuè7~î:\881\1e\81\ f#\1e\85âu7Î\1f×G¤×0\8f\ e\94ܳMw\9c±q\v\b\v\87'°:¹e\11Tz­\1aV¯X¶LYRÝ\93\98~ÅÙ÷áó¤ôw\1f?\7fùòùCfJl¸·ýùÝ˲E1\9a\vÄ\82¶â^£f,ßu\1a\1e1,"òQ\90§\ 3        ¿y­\vþ jÎ\9aPs\ e4Zºë\9c\9dGPxÄÃ@wÛ³;\97\18ÁR\ 5ÂGù²åAùØ`[¼í\94µ[ðÓ\84´w\1f¿|ýöíë§wiñ\8fý\.ï_\8d\19嬥(.d'XØ}Ø\94ÅP\b8{\ 5?zòø¡?ÙyËOK
+afÙî\vö÷B"\9eD\84x9\9aí[E̲nÕ
+å+`\82é2tÚò=\17\1c¼Ãc^e|øòíû\8fïß>g¥'F\ 5ݹzdý\9cÑ=xX\88a[IÊ\ 5â\92Á`Ã\ 5\e\ e\9aÙ¹\a\84?y\1a\19æ\93Í\97rm´\94\13ýN\83§.ßsÑÁ+\147ìîߺ
+f9¶\17|­Få\8a\95ªÕ¥úø\a.»ø=\8eO{÷éë÷\1f?~|ÿò!#9:ÔÍêÄæ\ 5ãÁ\ e\1aT\ 3o¥rG\85ªµ\eëñº\ e\9c8oÍÞsÖ®~\ f\9e<\8b\8a\bö´£=/O-\11\9a\192mÅÞ\8b\8eÞ\ f\9eD?\8b\br»A\ 5'}\9dÚU+W®^_\97×}Ôìu\87-n\a>}\99þþó·\1f?þûñýëG0\9a\87÷lÏÀGa\8d\e\10®¥\º\f\18?g\15\14¾·|Â\1e?\8b~\1aî\7fçú\89­&yu\15\15È4&dö \99¨\98\98§aÞ\8e´©éÖ¯YµjÍ\ 6\10\866\1c±t\rz\96ø&ëË÷\1fÿý÷ß\8fo\9fÞ¥¾xäãp\81Jñt\84¤¹p;\ f\187kåÎ\93W]¼B"£c\9e?       õvº|pí켺\8aÙl\86R\93£÷ÃgqqÑ\11þ·¯\1eÝ´`|_I\e\9d:5ª×j\88«Í¹\e\8e\ 6?K\92\93ùüþuÂc?çKûWM'\95Xe\fJR.ýÇÍZ±ã¸\85Ó½àÈèØØè\88\e¤zøiã8/\ 3\0d^ÄÇ=\rñ´=·kÙ´¡]¹-\1aÖ®U§!äÞÑsÖ\1f¹z'(J.\99ï`Á/\9f\ 6Ü2'\11\92\18\ 1\9aËXÌ\1dæ\8e\9eA\91ÑpŨ\87¾.æ`¾d3"ïí+\88\1eÃä%;ÏÙÝ{ð,þeüóG÷]Ì\ fãW%m\9bÖ¯S·QK^÷\91³Ö\1e2¿\15\06\93õ\99&ó%ëMÒ³ WË#ëç¢;Õ¯^©|yE.Ç w\ 4E<\8f\7f\99\10û8ØÝöÜnÜìÊe\170\e\19\88À­Äý&\99l;mã\19ö,>1ñÅÓ`w\10*\88Æ\80§§Ó ~ã\96\\1c\1cØ\8fÞ\94ð\1a\r\18çò¿\7fEw
+q»~|Ó|¬j\eÔ¬R©rµ:R.Ûh.  \89\89ñÑáà G©Í.z\1707.\8a\85Þæ\13Vn!QñIÉ/cÂ}]®\80hÆ÷kÏÒmÜH§\ 5§Ë\10\8c3\8e>\8f\82kÓd>f¾\8a        s·>¹e!øv«ÆujT«\91\83KdLBò«¤\17 w»ó¹obg'#/\81ÁBï\ 4=y\91\9c\92\1c\ f¢±9»k¹ñðî\82\9b4mÉ\86â\11Ò\85í½\a1¯2?~¥ôDÈ<ð¼qj+®WÛ4©_§v=\9d\1c\^¾JMI\8c\89ð»eylóÂ\89ý1XTþiOG\81\8c¼\9e9xå¦\7fd\rjjRÌ£û7-\8el\0q@'N«æÍ[¶ëÐoÂ\82Íǯß\rQp§¯\1fßB ñ´9½m1\84\ f\10aÃFM[eç\92\98\92\96ö*!*\94\94\1a3Ftç£_çÝæ\96ÎÙt\86eÓÞ\8b\8fb\93Ó^§$D\85x@\89¸ræ¨^\12\96^\v=\96¸÷\989ëÀ\82ý\9fÈ\8c\86&\83Q\ f2Ng\8e^ófºmx\8a\b\13SÓÓÓ\92¡Ò¸my|3\99Á Æ*òl þI|\e2åä%;Î\82\1e\9e'¥¥¿N\8e\8bÀ\vl1\99<Ø@ ßª\15KÔ}8¬ñ.8ø<\8aKyKéINf\87©Ñà®|ýÖ­Y\82.\8a\\92ÒÞd¼I}ù\8cÔ`«f\8c$\82Éw\97FÚ·ê3aá\16´àg/Sß¼IK\8c\ eó\82\82\9c±};òôÛ°\ 4]\aÃ\8aãô\r\8fÐèdÌ\94r2\9e@fÉ\94¡Ý%<\ eOl0@\91Ëë\f,Á^È\ 4Ó± ÁÐ\1d=jÏ\19²OÀ\93øTx\9e\94\17\8f\ 3]­NíX:mx\ f   \97Õ\8eß¹?¬Þ\8f\\85\9f\13=AªüN\e°Í\19øÔ\88Þ\9d%\92N=\ 6\8e\9b¹LÎ%óÝ»Ì×ðX´`z\14(\18\85\8d\83é+÷\999ùFĽz\93\99ù:)æ¡\8f3¸÷ü\89\ 3\rÄ\\ e¿cïQ3qDI¦' ó!3ùy\98Ç\8dÓ;\96\1a\8fîßà[\9f!ãgɸ$¿Î|\9fõ.\ 3\9e* Ð\82\91îÀ´\95\eMrúÛ·\19i Ä½w¯\989ºog\11_С簩Kv\10=%ed\81\9e¤5\84;\14¶Ëg\8e\eÚ¿ßÀ\11\13g/ßvô2Å%\1djÓ¬·éIÑ\ f
+/\18\ 5£\81õ-8opÔË×oß½{ó*\ e¢ÃÕc[\16\e\rëÕI,êÐ}ð¤\85\9b\8eÒzúôíûw*\1d\84¸Y\9fÞ¹b\8eáèá#ÆL\9e\9b\8dËÇ\8fY\99©ñE\11\8ctOP\97LM@¤ñ\8b\8cOÍ|ÿþ-¥ì\8bû×Î\9b8¸G§\ e\1d»\ f\1c?\aVVàüq©¨'ºÔ\v¾kuz×ê\ 5Æ\93&L2\9e¿\12¸Ø»\a\12.\1f>}úø.=éy\91\ 4C\eM\13ÒíÜ}ÞÞë!T\96ï³Þg¤\12\e>½sù̱\ 3{tíÚcÀ\98\99+v\9f³õ\f{Nü        È¼\87¬\1dt×êÌ\9eu¦sfÌ\98m²zÇÑK4\97w\1f>}þô¡È\82¡{\17\8dZKúM\D9wbú»¬¬wéÉhÃæG7/\9e6z`ï\9e½\a\8e\99¾tû)+Ð#\94\11\9f±"\87z\ 6ÈX\9f;°yåâE&ËÖí<vÉÎ-0"6       ¹|ùüéý\e¹`
+\8e12=áv\13¿Ç¨Ùk\ f¡\9e^¤f\82ñe¦a\1c¶»x`ý©£\87\f\180tÜô%[\8f[ÒFó\15\97\aHÆÍæâ\91\9d\eW¯Z»yÏñËvn\ 1\11\85¬eÞ\16Y0ô^\19\ e;\82\9evaMó<ùÍû\ f\1fÞgÀ\92\15´°fÁÔq#G\8c\9a4séÖcWo\81QaQþ\95"\13ìa\7fåÔ\81\9dÛ¶í:pê\8aÝ]ÿG1I¯ß\ 2\97¯_P0T\8cYYxÁPzÂý©~\13\16n>~Í5ðIB\1aú%\9aßCß\9b\96'w­Y8còÄIÓæ­Ø\ ekøû\11\82¿\102/£B½\9c¯_<yøà¡ãç®Ú»ù\87?OD.@\15\ 5C\82ï±Be%9\99¿°_Û\ 2Ê9\1c\89\81Å\11\8a\86(*ÔËÉüÄ®uKæÍ\9a5ÏtÝîS\96·üddÞ§'F?¼ïjgivîìùË×\9dÜýã_¦!\97oß@0\10cÂH\1dC§ëÂÍ\ ePzjBw¼¬î\ 6=EÑ|\ 4E¥¼x\12ìá`~rïæÕË\96,_»íàyë;þ\9122o\92c#\ 2ïݲ·¾vÍÊî¦g\0rÉÌB._qõû"Ò\ f\v<RÇ\14R09{\81\97\9c|\1eÆ ÕÀÚ>=962ÐÃÁâÌ¡][7oÙ\ 1faï\1e\84ZD2\9f³2Râ£\1eøßs½éì|ËÍ;èQt\ 2\98>Ø6qµôÄg¡\1ePù®\98^\14ÁÈ7\12;\ f62ÝvÊ
\ 6\ 2\1fFз\90£"\ 2=\9c¯\9b\9d:zèÐÑÓ\97\9aìÙË×ï\b\99\ f\10\19c\1e\87\ 5øzÝ»ç\13\10\16ùüejFÖ'\fAð³\8cW±X×ãx]¿\ em\v-\18ic\1dûÇcf¯\ 1«ñz\80½\86\ f\18Ïáv\11A^·í®]1»xéª\8d\8bg`\ 4\8a\r\1fÿËÇ÷oR\12\9e?     \ f\v\ e\ ey\10\11\ 5µTÆ{äò\1d~D<Í\8d\94õðòͯÀûIO¥iÑL^¼õÄ5´\8b\14\10Í'Â&öqè}\8f[\8ev¶vN·=ý\1fF¡Ôh»x\9bþ*!öÙÓÇ\8f\9f<\8b\89ONËxÿ\11¹|\a\r¾Á\90étùÐúyãúJèQÕB\92\91\8aFØs\14ö\ 3í<C1\fczAMÅE\85\aûyy¸»ßó\r|ø4\ e\82ýGêù?ee¦§$%¼\88\8b{\91\90\94\8a¹\91p\ 1Á`¼Ã\82\b'ÚºÂ*¹Z¡\ 5#\17M»N\ 3'-Ú\8c\91-".\ 5ôÿùó§,|ú\98§\8fÂB\82\88\12Ó\88\91~GË\0®o^§¦¼z\95\92\96\9e\819\80pùJ¹õ=\87\8bû×Ì\1eÓ[\8c£Ö¹ìtä+\1at(\ 1Ù4;gë\11\12\95ø\9at¨>}x\97\91\96\9c\10\e\1dõäÉÓèØø$¢\fR]!\9b\ fïßff\0Þ¾Ë\82O#\17È àÖt\ 1bb8¨3»ùÏ\13\93\ 5\8a¦\\95\91¸`ã\11s\88³q)\99T(ÅÇO{\95ô2!>!19å5p\ 1\8b!-\9ao\10ô?~ÈB|\0*(®\1f\94õ¾\8c
+q·9G\8fðR'.\8a\14v\91«7hÁë6Ìxù®³6\1eh5Äià\86ðø\19é¯ÓÒÒ^§g\80aÐ\\90\rü\14T ê¤©`5J¬7\9c*Z'ôïÀj\9aó`L!DCvZuÚ¶ï;~þÆ#\16$\1f¾¥\f\15\9f?ëý»·oß¾{\9f\ 5\85
+Åå?¼3Ò!øFQAÁ|\90\8e¥S\87\19ðZ4(òph)z«U\17ÖøxRÁ\ eW²tû\ eéÀã\7f\ 4|¢D\80\p\1dGøPøAá;\95²(ë\9d\8f¤\8d\ eÆ»"ÎJa»_º×ºhËñë®AQ\89éÔ¢\84\16À\17\80L\ 4ô+\ 2~(\0ÿ¤`½¸\ 4¤­·èáÒ]h>\8e¾\1e¸ì\f¥\ 2ÕLÌ&\80ï\8aTr\82\bFÑzéóBE\9f³.E\17Y¬N\83§`OøÞCyÇ!\9b\ 4ò¢\82\r$¨Ò3^Å\84ûþd½E\9d¡\8ba\9c0¢WºIo>P\1d\87B\ 2W\99ïÒHa\f+;\92\94\8an½2ÑÐ+]Òg½\15ð\84ê³\16\9eË\8fo\98­1)]:¸n.e½\95\8bl½RÑÈNþ\90\95.)v\8bB\86²\18\90¤Ô\ 5O     \14Ãzi2Òá+#ì6z\85\93euQÈ|ù\b®ôÈ×ùòÁµsÆô\16µn\,ë¥ÙÈf½\17m=ií\11ö\9cXpáÉ\80ùÂ\8a7ÔýÆ\99\1dKq\90\14OQ\15Çzi2ÔÀS¯±ó6\1e»FZÐE±à\1fdõò8\0wÄæ\8dë#jM\1f\ 3,Þ<\9bl\14ì§®oá´ô\15ê\98¸G>\8e\17é\1d\8bz%\1aÌWØÊÝwÉù~düë"¸\13i\92¼"\1d\9bí¦\86ò\1d\8bâ\92QhÞï:ïàý(.µ\bîDõÌ£\82\1dÛ8\7f\~ûJ\85$#\9b¥Y¼ý´\8d'Ýõ-,\19ÜÚxùÄÿæ\95\83d¿5ï}¥Â\92\91N\19\91~9ÕM,¬Ñà¦OZ|\84¯ÓŽ+pÈ$÷©À"\90\91\9fpɱ\89R\182_?\81ý\86\9fÛ¹Äh`\aj\90´\ 4\93¡¥è\83HÔáµlû\16\85!C·?Oo3!\93 ¹oë\17\1e²\83\1cS\97í&-èÔ·\9f
+\e\83É6ËóPwܵ\ 4û-ù\985=Ú\9eÃ\82\vÇ\ 6=;):øîµ£\eçe\1f¬+.\19ù\9cܦc×î*l\ 3\16¬%ôl²¹|xÝìQÝÉðB\89ÉPÇ\ 6!\ 6ã&K\11\8c\ 6ÉPû\84\a×Ì\1c!\9dù.\ 1\17\85Ö'ÙT§\8d¦P¢ÁMK\f3.\97¥;¨%\9dù¦«½6íqêéô\r\ fªÏZ82²íÜ}+\8d¥³l%\9dÌǪ¼¥\10\137îÌ=M\84\Y(=!\99´øÈûN\17鹤\12\86\99?dFÃ1\18\81'S\15\96\b\85 óé=\ 6\v»\97M)h\0½\90dÀhÈù\9fAPí\9dµ£6%\v¥':\e\90\11\80)\83:à©\98\12\1f\93:\19\85û\1a\9bɾ\ 6é\87\17\92\v s~×R£<§á\8bÈ\86^"Pû\1a.t\vº\10¢\91\rGÐd\94pèFîÜ\83§`¿\1c÷52\våO4\19o{B&×Ñüb\90¡ö5p)·ù\ 4Ñ\13ñ§\ 2Ù¨B2TF@=Á\92ûàe\97û\91
+\15÷Ta3\8azZº\93Ú'¤÷k\v&£doR\rã\1c¬å\9dÀ§/qK§@ÑPq&R\16g\1a\97<ÎÈ\97Üxà\7f\15¬r}ÂcS
+\13jH\ 4\b\fU§t\9a¸¤dè³ZMô;â¾Æ)kwÜ\9aË®QÁd~ÊM%;\1cõ\874îá)62ÿ@¶æÞ\16\bQ£F°8¸|`5N\86b=®\ 42Òó}ÔÖ\9c­gXtò\9b\82½\9bÔ3\89O\ 3oKç\9eJ\ÏТ\91\1e\1d\ 3\13Æ­ìÇ        \85\88¸ \94Î=á\18¡2N÷ý\91í(Åô\95{/8\90Ýå\82½\9b\1a\ 1 æ\9eÆe\1f\84-\11\eùqC\93­\10\85\83pV°@ÑÐsO\1edÔ¨¯(¯       äâ\88\86\1c\97¥\e\9fÔ.\7f\8d\8b¸\14XÄÙ\9dݱdò\80öm\1aɦrKF¦\14u\80\81Õ       Ï\8c\9c±Ái\8c\82\v       \12\82_@u\85¥Þ\10éTn\89ÉÈ^¿$ê=vÞ\86#\16·p\95P   Ó\81\ 6\ 3d*W       GBi2ÒC/ÃÈt\93wa¢°|á\94m*W\19¢Áê\13Ï5\83   \9f¤zÂ\ 5éI6Qcu\82Lî)Ë\82¥½û\96ü\9e£I\14¦ôT\80ÑȦrÏî0\9d< C\1eçY\8bÃ\ 6ÏÂ+\8eHǦ\14\98\12ä\16\8c\r\1a2\b«\14£\91\ eH\10=a¶,Lß\88n]Ñ\83°ÝKܺ\92\93\91\1eHÀ9Ë#W±ª)p5G\ fÂ\ 6ß%18ï\83\17Å`CµaÉ\8b²ö\93Îg\81½{\85i9lwæu\bºXdè·9àñ\9eóöÞá\85è\eáÞ\ 1ÔäÄh\8cÁh\9a*ËhèÎg+I¿\89`47<Â
+ÑùT0\9auxöQ7çI£\12\90\91¾Áf>\8eÌ\85\14Æ\82©*"Ä\r#\r9ÒQ£äo"¡ÈH_C@Oùãú©@2T¤ñ²;·ké\94A\9dò>{Q\f2òÎç\95\9bþO^\16ÜÄúA\ e\8dDÞw\86ô43¿S)E\86ì´ò´\15\9cÐ\9d
+&C\1f\1aqµTNÇ^\8eì§\0|"^\14¼\91@¥§ça8
+k:y ÙË(ák©¤d¨\8d\84ö\ 3\fMw\9cÅ}9ðí\ 2Éà.\ f\93ìèMI_8§@\ 6÷åз±'\1c[\88\1fÔ\90eàm<¯\95ï\89\9d"\93\91\9e\ 2X¸å¤µ{a\ 2\8d¬\8cÀ=§Åô\9e\93RôD\9d\ 2\90\ 6\1a7\12h
+&#Û\8dÛ·rú°®\9c\ßwS,2ô\16\8bìÐ\f\ 2ÈPµç\93\80Û\16GÖÏ¥^r\80ç\9e\94B\86\8azÔ~O¡¶O\7f|ÃÌ\1d\1dân}r«É¤þí\95òÖ£?dç#¸ÝFJCp!ö\11èÌM\82ð2rd]9ÉR~\92[a/· e¥Ôhäέ\8c\97S)l,\8f\98IN\8e\97+ùÍ\8aü #Mä}\97Ë\a×@¹§¬ÌM¿×\8e~õ'\94W/ÈHØ·oß¾e\e&\92\11\93\8e9á4Ï}\97+\añ\15
+y\9e\86.*\19úýTôKQ½Ãc\92pN\1d\87½pÄè+¡õM>âCÆâÈP2\99^¼t`Í,e\92¡ß,:|úÊ=çí<C\9e¾xõ:óÝû÷YY\1f>àü\15ÍëËW\19¾|þôñ}FJüÓ`\ fÛs{ð53JR\13ÝÛ\ 32ÃðU
+VwüÂ\9f½HLI{ý:ýÍ\9b\8cÌÌ·ïh^\14±O8!ö!ë}fzJ³\87¾·,Ol35úù}»Å%ó'M¦ë\10#Ó-ÇÌ\1d=\ 2\1e>\89\8e}\11\9fð21)ùUJJª\9c\17\8dÌ\8c7¯S\92^D=ôsµ9¿\7fíÜñý¤ï¶TB\vV:ï9qþº}g¯9»û\ 6\85\85GD>y\1aõ,úyLl\1cÍ\8b\10C¤¼JNL\88\8b\8e\fõuµ½td\8béÔáÝ\ 59_\18]"2Ô\19ö\19\1c:wÕÎå®§\97ï}ÿ\80 à\90°\a\ f\1fED>¦yÅÆ!bc\9eG=y\14êïyó\86ÙÑmËg\8eí×±\1d\99\8c+y\ 4.E½¯\eO\17\ f\994wÅÖý'/\98_·±wtv¹uÛÕÍÝÓËÛç¾_@`pH(\10\vG<|\10\1aìïãqËîêÙ\83[\97Ï\1e?°+_¯Q­\9c/\83/6\99r\95k6lÁéØg¤Ñ¼eëwì;râô¹\vf\97Í-,¯[ß°µwtB^wÝ=<ïyyy{yÝótw½åxãêùc{6,\999~P7a\eú]ðJ ó\179\90\8e/§è7ÒpæÂe«7lÙ¾s÷Þý\a\ f\1f=vâÔ\19äu\ 5xYݰ±µCØÚX]3¿xúÈ\9eÍ+\17L\e3À@ضYý\1a\95\8a9\8dö\13\19|\1f\86ºúÂ.}\86\8c\994mÖ¼\85\8b\97,[±jͺõ\e7o\95ó:yúÌYÄ\99S'\8e\1eÚ»}Ã\8aE3&\ eïÛYЦYý\9a\95Ëçún\9a"\93)EÞ!R½Nc]}~\87n}\ 6\ e\e5v\82áä)Ó¦Ï\9c5gÞ\82Er^[¶mß¾\ 3°}ëæ\rkW\98Î\9b>iä\80îí9­\9aÔ¯I¿O]      dþüû\9f2å+W¯Ó¨Y+\16_Ü©k\8fÞ}û\ f\1c4dØð\91£Ç\8e\9b0IÆká"\93Ŧ¦¦\8b\17/Z0w\96ñäqÃ\aôè(À·äÔ¨\¾LÎßòP\6øj ²å+W«U¿q³\96mX\1c\9e@$iß±S\17\83n=zöîÛoÀ !C\81×\98qã'N\9ad\b\984aü\98\91C\aöîÖAÀÒkÚ vµJåð\97q(\87\fõ{PÊW¬R½VÝ\ 6\8d\9b4Óm©×ºM[ývl\ e\8f/\ 4^\1d:ué
+¼zõéÛ¯_\7f@¿¾½{vëÒAÄÕ×kÚ\90¼\80\9f\92RVþôk\93ÈÛ¤jP¯\93jب±N\93¦Í\9a\ 3¯V­Ûê³Ø\1c|\95\92H,\96\0Ä"!\9fÛ®­\9en\93\ 6ujT­X\9eú\8d)Ê "cóÏ¿¥Ë\96«P±Rå*ø\e+jÔ¬U«v\9dl¼Z\01
+z-u\9b7m\8c¿%¡j%ò»d\94ù{vJÑoý"o +[®<ù\1d:\95\80V\15|\ 3X\8d\9a5    / Ö !¢\ 1y\ fWÍl¿ÖFi\¤tÈ/9Â\97³áÛÙÊ\0­²å(b\14/$F¡Zµªä7}\94-SZ5¿~Höò<ú½uÔï\81!ÄÊ 1ä\85om«@ÞÜFýÆ\11Õþ&$ùï\vúSÆKJì_JbÔ+í\80\87ü·Õ¨\86K\81¼\14ÀØ/Ï*\95\a~9\11-´ÐB\9d¡«Ûsþ´\1eF¦F\15Çô©¨kÐW`\b\7f\1ef´ØÔؤâ \8aº\86í\fLL{Ì\9aj:kÁ|#\93\15:íá¯8:í\86\19\eÍÕÑ£>¦\ 3\9fÐ\19l2kƬùð\97ç\1aÍ5n¥Ó\16\ 1þWqdî×ÐÓg³\84b>\8fÍÕa³Ø\ 4\8aÿ\ 15   \9b\11HÄ,!\97#\12
+à?[á×8,\ 1\9bÏåpZé´\enj2kþ\f\1d=\83i\v¦\18\ f\9e2Ûxªé@#ø»åÔÝÛ\8d\198`dß\1e:íuôfp\85\12®!×°\95N\aøx_\ eÛ\10\bÁÏè\ f*RÓi7h\81é0ã©\v\19O+Ì\8fõæ\91{N\90?\10\9fÓ\96\8dÿP\ f!\14\8bÚJ\1fC\ 2ÿ\85\ f@\9e\84Ï\9dÐJá)LM\8cæ/\9e¾Àd\1e-;\1d½á£z\e\1a\98Â\8f§,15^\8c,²ýHá/PÎl\1d\8e\ e\9bü3fEEò¯i\15\85:z­tÆ\8c\86\1f³u\f\8cá_Krþg\ fòÿ\83Éÿã÷¹Ô÷u\r\ 5B>\8b-\16°9|®\88'âóu8\\1e\8bËå\8a\ 5\ 2xD¶\98§3\ f?%â² \80äJØ"¶@È\16Á§\84,ø/>O(àrØ\ 2\89\8e@(`\89%ð'.O$\14ò¸:\1c\9e\88Å\17   ¸b±\90Çã³9ð       \11è\9d+à³Å\0.O\87Ãç³\ 4P\98\8a\85\ 2\ e\12ÐéNø\bXp\1f!\87Ã\11\89$b\1d\8e\80Ï\12BÅÊã°Å\1c\11\17ìC añÙB1\14±b  W\0\97\11rA\ 3\ 2ü¡XÌ\17Â\8d\ 4"\16\8f\8b
+âñÄ\1P\ 1ö".\e.#æ\88Ù\12\ eu#¸0[(\10s9b¸\92\18\1eIÌañ$\12¾\98/\11\88xl¡\ e~\82\ f\17\84ëÀµ\91\8b\18Ô+\12ÁC\83t\ 4\xh\ 1\87%æ³á\99¹b\9e\90#ÔáHD,\ 1\87-\11ó\ 4B\9eH$¦îÄ\17\81ÅHÄ\1c>[\0ÏÁ×á²QæB¸+\97-\ 1¶:\ 2\90\84\12\bañ \16I$ð      1\8b\r×`Ã#\8aà\1fø\ 4\97\ 5µ;\8f#\11\0;\81X\87Ëá\83¼ÙB  H\9fÍ\17JïÄfñ@àl|*ò).\9f\ 5ö\b\7fÅ\ 1\9d c\9e\98Å\ 3\85\bák@\ 5îÄc³\ 4<\91\18\14+\11\899 =>\aÈqÄàI|\81\84/\80O\88áN\12\9e\90+\82?ÒZ\ 2: z>\9b/\ 2Ñð\84:\>|\88#áó%`\ 4ðLÔ#ñ@\10ð\13\9e\84ÏÑ\ 1í°ø@BÈãsø@\19>\ 1\13ýÑô\ 4p\r!p\ 3±\88ØÄ\16\85ô\9d$,P9\b\85Íã²Ù@X\ 4ZA¾\1c®\88#æñà:`°\ 2ø\16\e¬\82\83\ f\rjâHØ \ 1!>\ 5<4\90\13p\84`\10|1\86\180c\16H\ 4Â\v\18\f_®$ \ 6\81f¹\¸\ f(\e\16NhY\1c\ eX\91@ÀF\89\và&l\89\10\99\88Á\12y`\b\1c0R\9e\90O\f\ 6\85-AK\94À%Ä`àpMxD0*¶\80¶;\11\866\90\e\eTÍEºð\17"0\ e6\17L\82\83V%\ 4\83\ 6Ù\82³\0}\11|\82ÇâK$\1c\ 1ø\97\88\ f&/\0Y\82\ 1A ás%xa°r\16\18)G\0\9e"\94\80Z)Wb³$p\r\8e\90Ãc\8b!\0s!(\81Îá®\10»¸|x$t\1d6Z0\10\10I\ba¾H\ 2\9e\0¢åðÄ\94³ñá\11Ù`\vD(\12\96\90'\ 4uñE|    _$ó$\91\80\aö\ 2q\84'áÁ§à² {6|\91\a·&~"@\ fåH8<\ ej\0\16òù(\e°\17ð\0\ 1\97\ 5Úäóø Q1Ú%ü\ 5<\19\1f¨rùl\11mv \ 2¾\88\vQFÈæ\83\94Á6\ 5àê l\90\1c\90\92\10%q!þðð\19@r<\f\ 5hÛl\1e\18\1d\97¨\b\\1c\1c\82\ fö\84\ 2 Æ&ßá"\13ê>`t\10Ð\81-\84.¸,\10gqÀëEàþb´]!Ò\85\9a\ 6\a x\80\ 1\ 35\94\84\90D;P\ 4\ 4Q\ e\98­\b\84Â\16Â%àéá£@\97G«HÂ\ 2\e\0#\82ð\86\91\0?%`\8bÀ{Dl\ e       \r \12!\b\1f<\12\9eB\báN\ 2æÎ\83ç\11\81\88y<ð4\11\ fÄÏ\97\b!\9a\80íbh\10\83ëA\8a\82\vE´Ù\898,    \84\ 4ø7ø\89\80~p.\a\94)\0C\12a|\16£Ù\89¸àé\1c¢F\1e\8f%\10\13­AÔD?\12 H\84äK Î\81ù\82×C*\17`\80\97\88!ÂÑÂ\13\83\9f \eÁ\aÁ\1eàNà <0yx,ðDH\rà\1d`ñl¸)\17ÜI"\8d\1ebT,¤\f,\ax\10\ fÅ`,<\14\v\\ 2ÝE(\ 4/\81(HÝH"`qÀñÑ:%b.Æ2ð?à\ 4~\ eÏ $U\85\bâ \b\98\83ïR"á\10\1e\84ò_\88\15ð !\8b²[Èe\1c>ÊNÀ\12Âíá\19Á<iÑÁ\87 ò\80Î!\9c\80\ 4\89²!Hñ\ 4\10\82@bx#0\a\10\9cK,\80'ä²9,ø3ª\16Ã*<²\ 4\f\b\9c\ 3¤\ 4·\87L\ 1O\ e±\ 1n\ 4\7f\ 3\8eM\99\ 3°\82(\ fá\1cÈ\82:!hr0g¢_`Øçê@êÅ?\83±r H¡ãsx\18U!5ó1a\8atÀ²X`d o\10\97X" \ 1\9e\ 39\9aÏç@¶ üHÈ\95°Ø\1c\88\vhW\18ÛÐ\8fðç$\13\94   á[\¾\10]\11\1eH\8c\1a\80L\ 2\81\13R\aØ7D|\88ãø\15ÈÔ¤\b\0sÁø(B\87\ay
+\85\94ì\84<\12ÓÁùP\v *\bià ð<p!¸\8c@\aò8\8b+\ 1º(@ø     I\ 3"4\1d°<\11¨\ 4\14\ 3\96\vW\ag\16\890O@d\86\9fó\80¹DÄ¡3\12^F\fÚÀ"\12äGB\19\a³\1a á\90ó\91\89\10µ\81N       ®\vÑ\104\0\11\ 6ø\83\1a%p\1f\ 1FGÌ\ 1\90|¨ð\ e%\ 3H\99\v\85\90@BßFÀ\82`\ 1^\ 4\ 6\ 6±\9eº
\15Ô\1a\10u@.\18\r!lA%\ 4á\ 4Ø\82\11òÁ3!\13a\12ÃûÀ_@Îä£=@í\8bQ\19ü_\82¹\ 5\9e\91\ f\84\1e\88Õl\88¢b*\ap$p\r!\86
+1\88\ 5ó)\ f\ 2\14<\10G\bþ\v\ 5\ f$,\b\11\98\82!(Á'xX3@©Â\ 3\9bã\8a\ 3\11AT\83È"\90>\11ª\8d\8f1\81\ f\8e%¢ò\11\94M<x&\ 1h\f\9f\b\8c\19$\8fQ\9f\87¢Äl\ 3ò\ 5-\8aÀòù<ø\ 4d,>G\80i\81Ãáñ\89ìÀ\8c\88óB\ 6¤U\ 4ª\87º\ fr\0ð&Á\ e\135\9b\87Y\vô\ 4e\ fÞ   ý\8c\88\16*&P5p\ 1m@ôÆÀ@}\ 2¤"Äà\vÑ\ 4Ì\e¢\1fØ\8a\10C\ 3ä9\9eLz"\1ex      ø\eÖ\17$ß@¦\87\9b\ 4\85\82\12À\9c¡:\84\8f@\10ÇÜ\bu\86\85p\ 4q\96\83\ ¶\81DÀÀ J\92\1cËÃ\88\ e\85?\aS\96PHÛ·\bî\84!\1fê)\ 1æjp-pN\92EÑùÁîP\v`\ eP\8dBz\ 3éq9(,ÈÌ\10ìÁ\92\ea\ 5\ 1r\11\94$N\8dq\ 2ªp0/\91Ôg1Õ\89\80BÑn \82\80µ£d G\82§\83©² µA¸\ 2\v\0{\83T!\84å\b\b\ 6,\ 6\ 3\ eÏ\82\\ 4â\ 4C\ 1±S\15-f>\b\1e\18@dQ\b¡\10\v\95\0jp1¨\ 5ü\12¢1J\0®#bA\16ã\83\99\80\89\801\82\88 F\ 1ÿ\83\94\bT¸X¤cÑ   !\11¢\ 5DJÈ6\90\16À&Øà×ô\8d úòÀ´ Õ±!Fè\80GC,À 
+V\8d>(\84¼\v\11\ 32\aÔ¦¸d\80\ fð0§rÐL0\9fç±|\ 1ó\81´Æ\95Ö\r\ 5.r\ 6À§ºM!Ë#ê\9fn3É\ 2XoäüùFó`  8ÃÄhÚ,ãù¦:¢V:ú E\ 1&S¬Ñ \fãè\80F\85\12p\7fÈ@P)\83±\90E.T@`É !>\14\eb\1d},^ð± zC\11\ 36Bî\ 4\7f\r5\18x5ÔhB ÍEi\89!SAè\12B\16\10\83osø\10¬!\19\83Å\82³\80\1ctºÍ\0~ú`£\90 1a\83H Vâõ°ê\83'\87\12I\80\8a\ 5õaÉ Á5\vÈ\90Ôæ\1c\f\1dà¹\1c,DárÝp\8d7\9d<}·n¹¯ã\15\v\8dLgBl\13æ¾Ê\16é´ë\vb"K×á3\8d\16\1a\8fX±Ð¸P\vp%Ê\87ô-¨&\ 1\XG¯»AßÞ´\ 2GàÚ[±\7fÐ\81î,\18\1aô\95à\93\f7]1רPNUaíM­\9e\9d\9b±p\95j,Ô"_úÿDÛ´rä\8bý¼Z.l\16\\1f\ 2\1d\17úGú\10æà/±\84ÑÑç\91F\ 5Z  \14s\1cq\91{.üB4\rù³¬¥B³bKè\86\8aôO2\92mõy4;Â\94§Ô\8e\8a´'Â\96öDè®JaDýË»[%\944sÍ+\90\9e\89\11ÍÆ ¯\8eÁ\12Ó\ 5:T_qÖJcù-~òÈÁS\16\e\9b,5\9efØßx\85!õ¡ÅÊèç\15ðã1\9dòé¦iûhÚ>\9a\8f¦í£iûhÚ>\9a\8f¦í£iûhÚ>\9a\8f¦í£iûhÚ>ZÑûh\86Â<\ 6Vòi¥Ñ\8d\võé\0åù\10J\9aºÑ\8c\16\91Dö§1mHã\11®EƦú\e¯È&·a={¡èà\ f}{\18rx\94ìðÃôÏd\9fï\90íCôß´1èk\b\1fî5k®©±I6î\85èd\16Ø+"×ÐA2Ô\rtzN\9fn\8c÷\90\89S\90ã~}ç/65\9a?\15îedjd\bd\a\1a-Ìãfù<~ÏåÆS\97à\87s\13BÎ[â#ʾ\90\9d\80\82Þ ð\18Ì\87\vB¡BôBº8K*Ê\e«¨L\9c\85\83'5nOýg7ã\19³æÓ\83q MøLï\8aíz\18/\9d5ÕxXïn:c\ 6U\1c/ûº\0ó*T³<6\8fä\12ø\1f¬2DPXÂßâÊp"¤\ 6\\ 1`\88\1a3³hß$\1f¤¿-ý·X\a\83\16$\18¼\ e\1fþ\81\ fUÔÕ%\9cñÙÛëp0ª\v+\8eé[.ÿó\95Zh¡\85\16Zh¡\85\16Zh¡\85\16Zh¡\85\16ê\83Â\9fqd\9a©\16¿\1a%<\14Ë4}-T\8b\12\9a\87ÖT~o(Ñ<´¦òûAE桵\93ß\ 6ª¶\10\15Ù S÷ý\7f\83J­BuÊböîÿWPº\19ü\ 2M1Nàÿ
+JQú/Ö\91\9aÐø?\81²¤ý+\15¤¶Ä~W¨ZàªP\87ú3ü\9dð+¥­,\15h
+Ïß\ 6\8c\b¼\84Â× ª¿\a\98\12¸"4\88³*T æ`PÚ\8aРÎ*R\84:\83Y\81Ë Y\9c\vµ\ 5Óò\96C\838«N\1dê      ¦å-\87\ 6qV\9d\13LË[\ eÍ"¬R¥¨\e\98\16\1c\9aEX¥JQ70-l94\8b°J\95¢n`ZØrh\16a\95*EÝÀ´°åÐ,Â*U\8aº\81iaË¡Y\84\14u\ 3ÓÂ\96\b«T)ê\ 6¦\85-\87f\11V©RÔ\rL\v[\ eÍ"¬R¥¨\e\98\16\1c\9aEX¥JQ70-l\1a¿1áß\0L\v\9b\86ÆqV\91\13L\v\9b\86ÆqV\91\13L\v\9b\86fqV\91\16\e¡q\9c\bu\ 6ÓòFh\1cgU(B\9dÁ´¼5iT¾$\9c5\1aLË[ó\8cDé*P\7fh\9cÀ\99%\<Î\1a\r¦å­yF¢t\15¨?4Qà\9aÈY£¡\89ÒÖDÎ\9a\v\ 6¥]\12\81k\1ca\8d\ 6SÒ.\89À5\91³FC\13\ 5®q\845\1aLI»\84\ 2×DÎ\9a\v¦¤]B\81k\1c\ 5#¢V\8aÀ5\91³\86\82\11Q\97\1aGXsÁ\88¨\95"pM䬡`DÔJ\11¸Æ\11ÖPüz9+Qà\9aÈY\13ñëå¬D\81k"g\8dï\17²\12¥­\89\9c5\11¿^ÎJ\14¸&rÖ8üz!+Wà\9aÈYãðë\85¬\ik(íB>\85*îUTüJÙªB\ 2ÿ\87´K~÷_ɶ\84Ð\þjÂV)\ 2üÅ\9c\19yF\8d ­n|Ô\84ù/{:5§­\86\94Ô\90¿ª\1fMmi«'+5\97­*\1eJ=\993ª0Ä4B¼J\7f"ucÎ\b\9fBrÓ\bÙæ\80æ>\88Z\91ù\19J\11¬:<\8eF?\88ú0É\15\9a\1c\830õ,jB#/h®`s@£\1fDMhä\ 3\r\15l\ e\94ð)\98}\16\90?4T°\8a(á#0þ,\8c\13(\10\9a\1c(±u0ü8\8c\13(\f4Nª9 \f\ 3aòqÔJ\98yA³D\9a\ 3\9an!\7fü¾FÂ4e9~\ f#aðî\85\84f\894\a´FòË )òü\19¿\81\91h
+4T\98ʲ\10u{.õ\84\86JRk$¿\12\1a*F­\85übh\9c\f\95e!jû\80j\b\8d\13 ÖH~=4NzZ#ùõÐ,Ñ)ÑBÔüIÕ\r\1a$7­\910\ 5\r\12\9aÖH\98\82¦HL¹\16¢\11\8f¬EQ¡5\12-
+\84ÖH´È\1f\10­\91ü~Ð\1a\89\16ùC\15\16¢5\92ß\fZ#Ñ"\7f¨ÈB´Fò;Ak$Z\14\bÕ\19\89ÖN~\ f¨ÔB´Fò{@k$Zä\ fU[\88ÖH~\ 3h\8dD\8büñ\v,Dk$\9a\8e_c$Z;Ñ\ü2\vÑ\1a\89æBk$Zä\8f_i!Z#ÑPüb#ÑÚ\89Æá×[\88ÖH4\v\8cX\88ÖH4\vL\19\89ÖN4\ 5\fZ\88ÖH4\ 5Z#Ñ"\7f0k!\14\98\96\81\16\ 5\80i\ 3A0-\ 3\ 3ÓÖA\83i1h\91'\986\8dl`Z\18\ e¦í"\e\98\16\86\16¹\80i£È\ 5L\8bD\8b\9c`Ú"r\ 1Ó"Ñ"\e\986\87ÜÁ´T´\90\83i[È\ fLËF\v\1aL\eB~`Z6Z \98\82\82Á´\84´Ð\0#ùOk'\8c\82\17\16LËéÿ\17Lk¾h`ZZÿ§`ZíE\ 3ÓÒú\7f\ 4Ó:/\ e\98\96Ùÿ\17\98ÖvñÁ´äþ\8fÀ´ª\8b\ f¦%÷ÿ\ 2¦õ\R0-¿ß\1fLkX9`Z\8a¿9\98V¯rÀ´\14\7fg0­[e\82iYþ\9e`Z«J\ 6Óâü=Á´V\95\ f¦%ú»\81i}ª\ 4L\võ·\ 2ÓÊT\15\98\96ëo\ 5¦\95©B0-Úß\ 4L«Qµ`Zº¿\ 3\98Ö¡ÊÁ´\805\1eL+ðW\80i\19k<\98Và/\ 2ÓbÖ`0­º_\a¦%­Á`Zu¿\ eLKZSÁ´Þ~)\98\16¶¦\82i½ýR0-lM\ 5ÓzûÕ`ZÞ\9a\a¦5Æ\0\98\16¹æ\81i\8d1\0¦E®y`Zc\f\80i\91k\1e\98Ö\183`Zê\1a\ 6¦ÕÅ\f\98\96º\86\81iu1\ 3¦¥®a`Z]Ì\80i©k\18\98V\17c`Zð\9a\ 4¦uÅ\18\98\16¼&\81i]1\ 6¦\ 5¯I`ZWL\82iÙk\f\98V\14\93`Zö\1a\ 3¦\15Å$\98\96½Æ\80iE1\f¦Å¯\19`ZK\f\83iñk\ 6\98Ö\12Ã`Zü\9a\ 1¦µÄ<\98Ö\80\ 6\80i\151\ f¦5 \ 1`ZEÌ\83i\rh\0\98V\91Z\80i%h\0\98V\11ó`Z\ 3\1a\0¦U¤\16`Z     ê\ e¦õ£\16`Z        ê\ e¦õ£\16`Z        ê\ e¦õ£.`Z\ fê\ e¦õ£\16`Z       ê\ e¦õ£.`Z\ fj\r¦\95£.`Z\ fê\ e¦õ£.`Z\ fj\r¦\95£.`Z\ fj\r¦\95£F`Z\15ê\v¦5£F`Z\15j\r¦\95£F`Z\15ê\v¦5£F`Z\15ê\v¦5£^`Z\eê\v¦5£F`Z\15ê\v¦5£^`Z\eê\v¦5£F`Z\15ê\v¦5£F`Z\15ê\v¦5£^`Z\eê\v¦5£F`Z\15ê\v¦5£F`Z\15j\r¦\95£.`Z\ fj\r¦\95£.`Z\ fj\r¦\95£.`Z\ fê\ e¦õ£\16`Z     ê\ e¦õ£\16`Z        ê\ e¦õ£.`Z\ fê\ e¦õ£\16`Z       ê\ e¦õ£\16`Z        ê\ e¦õ£\16`Z        ê\ e¦õÃ<\98Ö\80\ 6\80i\151\ f¦5 \ 1`ZEÌ\83i\rh\0\98V\11Ã`Zü\9a\ 1¦µÄ0\98\16¿f\80i-1\f¦Å¯\19`ZK\f\83iñk\ 6\98Ö\12Ã`Zü\9a\ 1¦µÄ0\98\16¿f\80i-1    ¦e¯1`ZQL\82iÙk\f\98V\14Ã`Zü\9a\ 1¦µÄ0\98\16¿\ 6\80i\151\ f¦5 \ 1`ZEÌ\83i\rh\0\98V\11ó`Z\ 3ê\ e¦õ£\16`Z j\r¦\95£F`Z\15j
+¦Õ¢^`Z\ej\a¦\15¢¦`Z-j\ 4¦U¡Ö`Z9Ì\83i\rh\ 6\98Ö\12c`Zð\9a\a¦5ö«Á´¼5\1eL+Pµ`Zº¿?\98ÖpñÁ´ä´È\ 6¦Í!\e\98\16\86\16%\82Ö*´ÐB\v-´ÐB\v-´ÐB\v-´ÐB\8b¼ ¢¾\81\16Zh¡\85\16ÅD©l`\9aMá@¨þ)\85\86P§9ÿ\ 5øûï¿ñ_4w¦\89å\aÂ\19        ÿóÏ¿\ 4ÿü\83ÜÕ\9b8E\1a8ÿ[ºL\99²eË\95+[¶L\99Òÿ"sB\9ci~¹\83"\8d\9cË\96¯P±\12¢b\85òåÊ\96\ 1â\ 5òfÊ\89\7fý\ 5¤Ë\96«P©JÕjÕk\0ªW«R©by$Nx\17@ZÁ\87\7f)ë¿ÿ)]¶|ÅÊUkÔªS¯~\83\ 6\rê׫S«FÕÊ\15ËåÏ[Jù/Ú\83\7f\9d'P\ 6òo\99r\15*W«Y§~£&Í\9aë¶ÐmÞT§a½Ú5ªV*_\96â\9d\17\8fiü:\17&7þçß2å+U­Q§\81\96môÛ±9ìvm[µhÚ¨^­j\95)Þ¹R¡\1d\19cOiÀ¿ÿ*\ 4\1f\15³'\16òoÙò\95«Õªß¸y+\16W(éЩSÇ\ eb>»M\8b&\rjW¯\¾Ì¿\7fçÎ\9bøÄßèÈ\10{Hô)\8dq\932\17\95\9a:źLùÊÕë4lªÇâ·ïÒ½wßþýûõéÑ¥½\80¥×´Aíj\95Ê\95ùçïÜhS>ñoöèS¦4\89\9b\7f«6[\81\96ÿþ\87°nÔ¼\rGÒµ×\80¡#Ç\8c\1d;fäÐ\ 1½º\88Ù­\9a6¨UµbÙÒ(îÜ¿\8bNQ©JµêÕ1øT\85èS\ 1âféÒ\8aÙJ%´ÿú§t¹\8aÕê4ÒmËïØcÀ\88q\93§Í\985kÆ4Ã1Cû\19H8­\9aÔ«AÌ$\17q\97¢\9c¢b\95ê5k×­\a¨\vѧzÕÊ\108iêªJV g0\91
+Uj5hÞVй÷\90±Sf-0]¶bùR\93\13Göï&nײq\9dj\15Ëå&nê»åÐ\95ë7ÒiÒ´iÓ&:\8d\1a`à¬\ 6Ô\89½ü\8b\ 2W    í¿þ.]®RõzMZó:õ\196qÆÂåë6oÛ¾}Ë\86\95&³&\8fìßUضy\83\9a\97ù'\17Ú\94¢ªÖ¬Û¨\89®^ë6mÛ¶iÕR·\19R¯]\13\84\ eæ\82Y6ßdU\Úpë2å«ÔjÔ\82Ý¡×Ð\89³L×nÛ{èèñc\87÷m_·d¶áð>\9d¸z: î²¹X  \11vùÊ5ê6j®§Ïæ    \84"!\9fËÖo£\aÔ\eÖ«S³Z\15:Y©\826\ 4¿\8aÕê6m#ì6hüLÓõ»\ e\9f¾pùÊå\v§\ fïZ¿dæ\84ÁÝEúÍêר\8c\13mP\14|·vÃf­Ù\82ö\9d»vëÞÝ K§ö">[\1fb~ãúu0YQÁS\15´ËUªÙ@\97ݱï¨i&ëv\1f»pÕÚÎÞÖÚâüÑ\9dk\17M\1dÕ·#§e£Z¹Y        Ø×?¥AØõ\9a´b\8b:÷è3`ð\90!\83\aöïÓÓ \93\84ÏnÛ²i£º5«\82\1e<KL»4ÚH+¾Áà\89sWí8vÑÊá\96ë]×\9bv\96ç\ em]>{ \ 3Ak°\92
+¹Ó.S¡jíF-X¢.½\a\8d\18;a\92á¤\89ãF\ f\1fÜ¿W×\ e\ 2vëæ\8dëÖ¨R¡¬*Ä]êO\90XÕ:MÚ\8a{\8e\98ºxÓÁó×\9dݼîß÷ñ¼mg~jϺ\85FÃz\88Û6­W\1d\8c;\17Ú`_Õë¢3÷\1a<ÆÐxÖ¼ùóçÎ\9e1uÒØá\ 3{w\95pÛ4oT§z%\10·Jh\97©P­n3V\87¾cg­ØqÂÂÁÍ7(44ØÏó¦Õù\83\9b\8dìÝ\9eÕ¼^õJÄ'sÐFûªQ¿¹¾¸ûÀ1F³\17-[µfÍê\95Ë\16Ï\9fi4nX¿ní9­\9bÖ¯Y%\17=)\87vÅjõ\9b³;\ f\988oí¾sÖ·}\82Ã##ÃCîßµ»|tÛ²\19£ûvh×¼~\8dÜh£[T®Ù°\ 5§c\9f\11\86³MWoÚ¾k÷î\9d[7®^:\7fúÄ\11ý\fÄíZ4ª]µâÏßT\12íêõu9]\ 6\e.Üxè\92½{ÀÃ'Ï\9e=y\18àáh~|ûò\99cúvÌ\9bvér\95k5Òãu\190vºÉ\9a\8e\9c8uêÄ\91\ 3»6­Z4câ°Þ\9d\9bÔÍMOʢݠ\ 5×`\88Ñâ-GÍ\9d¼B"\9fÅÄ<\8b\bºçdqb\aÒFiçjÛÄ\9bk7n%è6dÒÜ\15\9f8\7fÙÂâ\8aÙÙcû¶®Zh<v \81°-ÄÎJåTH\9b×mèÔ%Û\8e_½é\13ö$&.6:2ø\9e\93ùñm˦\8fêÝ^¿Y½j\15s\89$\14m\9dÖ¢\1eç,\·ûøÅk6ö\ eö7,ÍNîß¼|Τ¡=%¬æ*§=lÚÒí'¯Ýºÿ0*öE\tD\90\87Ãå#\9b\ eï)jÓ¤NÕÜ\ 2 M»\8d¸×HcÓÍ\aÏYÚßÄÐi\7fýâ±\9dk\16\18\8dèÕ¾]ó\ 6*¤]£aK~÷áÓ\96î8uý¶_xTl\lT¸ÿ]\9b\v\aÖ/0\1clÀ×k\féæç,)£-é=zƲmG/ÙÜòðöñö¸mgqzïz\93©$\ 6åê\15J¥m¼lç©ëw\80vLìó'a¾·®\9fÞµjö¸þ\9dغ¹\8bLN»Ï\98\99+v\9e´ptóñ\ fô÷qsºvvÿ\ 6\93©#zIÀ¼ró
+¥Ó¶ºã÷ðiôó¨GA\9e\8eW\8en1\9d6¢'d\9bº¹%I¬Iþ-GÓ\9eµr÷ék.\9eþÁ!\10ñ]®\9fÝ·\1e\12Uw!\98Wî_U\ 6íJ2Ú§¯ß¾ÿàqTTdØý;Öçö®\9d7qP\17\1e)Ir©¤\14iÏ^µçÌõ[^\81¡a!þ\9eÎ×ÎìY\ 3_íÊÓËë«J ]\16i\vz\8c\98¾\1c\86F<\89|\18èéh~lÛRãQ½¥\8aÎ¥\1e\95iÚ«÷\9cµºí\1d\14\16\16ìçîHGÎ\8eíò0/¥ÑÖ#´w\9d¾~Ë'$üÑÃ`\9fÛÖçö­\9d?\89H¬6H,7EËi\8f\9d½zïYëÛÞ\81¡¡\81>wlÌ\ em2\99\a\84 <̫䴡\1cªT³\91\9e°çÈ\19+\906HìA\88\9f»Ã\95\ 2\85ýÇ\9f2#\19;gõ^¨\v¼\ 3\82\83ü\88\8d¬\9e;~@gnË\865s-Ô\95C»rÍÆ­D½FÍ\¹\eí3 8ØÿÞM«³û\14-;W\89Ñ´ÛJú\8e\9d³\ 6hߺç\17àïíjwéÈ\96%R_¦â\88Òiã­+×\82\94AÜêìõ\9bô­/\1fݺÄxd/,Zs_\91\91ïb\0lÒ¶}¿qs¡
+³ºéé{ßÇ\1d\84½wͼ  \ 3»\80°kU.\9f{«¢ä´K\97#·î;nî\9a}g­nzøÞ÷vwÂ[Ï\9d0P®ç\»$\7fc©Þ\94Õ±ÿ\84yëö\9f³rq÷òö¸esé\88ô\89U&lêÖuáÖ\ 3&Ì_·ÿ<ÞÚ\vnmFéYÔVæT¹ÓÆR½]§\81\13\17¬?\0ßuóô¸ãhy\1a\ 3'\b»\85Ê,\eo\r«\84zPn\ f2\¸áà\ 5k\177\ f÷;\ eWOï\ 1a\ fèÌ¡o\9d{\ 3\10¿[½\1eÖ¼\93\17m<xÁÊÙÕÍÕå\86Ù\91­K\89°óyâ\12Óþë\9f²\15k@%e0tÊâÍ\87/Zã­\9d­/\1e¦\84\9dG\11\95í»-eßuº}ç¦ýÕ3{×Aà¤\85\9d»S\94\985   ½5\eµ\12ö\18a¼tëÑK7\9coßq±³8µ\a\9d
+\84Ý \9f[#m\8c\9d\ 2ê»fÖN·n9Y\9b\91%QoI\9e%\812hÓÕP[R\rí8~ù\86Ó­\9b\ e×/\80°)=ç'lòȵ\1a·\11÷\1eM}×ÑÅÙî*TQ\8b&\ f1\80À©2aÓ\vàzÍÚ\81GÎ]³ç\94¹\8d\93\8b\93\r,Ù×\16¬gê\91ë4Ñ\87ø7gÕ®\93Wn8:;Z_>±\13ÊÆ~\1dX¹/-\94Ä\1aõ\8c¦ÝuÈäE\eö\9f½jëèdwíÂ\91­\85Ð3\15\91@2\7fíÞÓæ6\8e\8eð]â\15=\84­\ecI *aÃÚ»J­Æ­E=G\18/Ùrø¼¥-,ªÌOCÙ\89zÖËWÏôâ¹\ 5·ë\10£E\e\ fÀ#;8ØXÀwai\ 1\8a\82"ª¬\8a\84MÚJ¤IÒoìì\95;\8e\99]·µ·½vñè\8e\15³Æ\16¨gª\9a\81"\fÖEðÈ\17ð\91­.\9dØEÙ\bQ\94ª\84\8dw\ 6\eáv\1dl¸`ÝÞSW¬ììnX\9c=°qñÔá=\84­òÕs)ª,hÜ\1a<rÆòíGÍ®Û9Ø\12û\9a\97¨5¬ãTR±R]uzéÝsÄ4\ÃZܰ³½\ e\ 2[M¢\9f\1a\15óÖ3\9dÚ¥\1eyâ²\95½½ÍÕs\a7-\9e\e¯eCb#*\126Zg½æí:ö\1f\876rñ\9a\8dÝ\8d«ç\ foÅ6\83\ 4£_>N%ͯÄ#×\81GÞ°'n±nÁ¤A\9dÙÍë¡3«Lؤ«Äï6tòÂõûN_±²µµ¾rzß\86EFC»ñe\ e\99Ç×ÿ\92÷\85LÐ#m\1cì­¯\9cÜ\r\95v¿\ eúMéGV\ 1í?)\87lª/é3zƲ­\87Ï_µ\ 1\e1;¾sÕ\9cñý;¶k\ eË\832yëYº¾\80\1cI<ò\9a\9d#xäqðæ1½Åmtj\83i«"\8e\94\92v\1e[r»\f\9a4\7fÍî\93\97­ììm,Ï\1fÞ²tú¨^äÎù\b\8còHìí\90\1c\92\95½£ýuÌìÓGö\14¶jT³\12\94¬*\136él÷\1ai¼dó¡sWmÐ:ÏH\93sCrç¼iSŶ~\87~ãç®Þ}Êü\86£\93=V\ 5¦S\87uçK=Rù¬ia7hÁé<pÂÜÕ»N\10yArÞ\ 5ÖIl\84dÈ<mD^ñNZ°\1eò«\9d\93³ýµó\a7\99\18\r1àêÖG\ 3S\85\8dH\85Ý\86D¿M\aÏab·¿~ñ\b\14p\ 5ÛH\8e\8a÷Ð\85ë\ e..ö×Î\1dذ\br$\15H
+ðÈâ\8c\13Ða\84\b\eª(\8c»ÖXÀY\9e;¸Ñd
\91\ 2l\84Z:CÅÛsäôeÛ\8e]ºátÓÅÞòìþõ\v&\rìÔ®YÝü\ 2\89\94pÑÇߤaD.lK{\97\9bζ\16Ô\8aª\13[\1aGòüþßôª\1d\97λN\9aۺܾ ´a¹?¡\7fGV>ñ/ÛÜL\11\87g¨½_²\81\81Â^\r\8dóíÛÎ6\97!\82Í\1cÓG\9ekò¦M¯Aaù»vßYK\87[wnÙ[âÂy|¿öm\9b@ü+ý×\9fyp¦Æßdóoô GÁÄK\91j\ 47Q!\8c`^\aÛt¼ízÇÙ\9a,}\87÷\10´jT«r~\81Waï\84ZG:Ýq½\8dKÐÕsÆö\91\80cà·\7fÞ£Ï6þVN:\82BF
+þ*\987\116îFBÌ\1e8q\1e¬\ f,ìnÝu»ãt\1d|j!ø\14\aCA~5\ 5Y\90adz۰iK`1gsóî] }j÷*Ì6PHýL[*h2I\86\ 3(\95\11\95¨A\ eé,D\ 1ÂÆ\1dëêõ\9aéKzCÌÞrÄÌÚå.½b_=\87ª;«VÈÏFè\ 5\19\14a£f¬ØyÂÂþ¶\e|Ýâä®\153Gõ\12A¶©\9c\94\92\8fì\95+_±r\95jÕkÖBÔÄi\bj\0.\8f !ù%p2\ 1\85­Çë
+       ríÞ3\96\8e®\9e÷<nÛ]9¾\1dÊ(¬;kç[wÒµ#v\85ÆÎY½çÌ5'W\ f\ f¤½sù\fH\92z9\93d)zøí_jú­zÍ:õê7lÔ\18аA½:5«W\ 1â¥\và-\176«}\9fÑ\18¾.ÛÞöðÆ\86\92ÙáÍPw\1aPuç¿ùØ\88¬³3\80tv¬]Ü<=]íÍOìXf<¢\87\80J\92ò\87\96Ï\19\96¯X\85\9e~k¡×ªuëÖ­ôZ4ÓiX·VµÊ\15\90w~vB\v»vãV|\83!\86\90âÎ]wq÷¾ïãqÓêüþuó'\ eèT`Ý)óÈ®\83\8dL6\1f¹\ 4\8fí\85´\8fo[:m\18\rj(&IÚ>\béêµê5l¢«×¶\1d\97/\14\89DB>\87ÕºE\93\86ujT©Hírçm\97(lÜtnסï\98\99Ëw\1c7·¿ëíçïëîlyz÷ÊYTøË7EJ=R\8flTm?nîàzÏû\9e«ý\95c[M§\ e5à¶È\96Û¥\83\béFÍZ¶aó%\1d»vïÙ«W¯\1eݺ´\17²Ûè6®W³J^\13Yra\97)_\95l\83\ e\85õú\81\vØá\r\fðus Ò\1aÞ]Ð\8a\94Úù^\82öHl/ï:méäæís\ fÛ´[\16\e\ré
+qHAYÒ\91Î
+\95«!i=}\9e¸S·Þý\a\ f\e9jÔ¨\11C\aöéÖQÀjÙ¤\1eîÎçÝWQ\10vÇ~cg­Øyòª£ûý à@\1fW[³C\e\17IÃ_>e\94¬EBú´T\8bØÇ×ËÕîÒáM\8b&Ók\e©²è\81=\10u\r\9cØÓç·ïÚkÀ°Ñ\13&O\9b>cæ\f\89£\87ôé*fë\91I²¼\87\1a
+V\90\82îCa]rè¢Í\1d\9fÀ\90\90@ï[Öç É\15"ü)öZ'-Øp\10®àuÿ¾\17\859J\12)ëJUkÕ×iÑ\96'éÚ{ÐÈ SfÎ3Y²|\ 5N\92Í\9d>iä\80î\126\99$Ës\vS&l]vÇ~°\82ÜuÊÒÙÓ?ôAhÀ=gK\88_Pä\17¼ì¦\16dT\8b\96£Wìïúøùyß±½xpÃ\82\89\ 3²\95$ôpd¥jµ\e4mÅ\16ué=xÔ¤éó\16¯\·yÛÎ]»vnÛ´fÉÜ©c\ 6v\13³tq\92¬t\1e:\96\16¬:­\85Ý\87M1ÙtØÌîîý\90\87\ fCýÝ\1d®\1cݼØ\bÃ_\83\ 2\96ÝTÓ\92´H\8c\97í8yÕÉã>nAØ\<¸~þ\84þ¸\92\94zt)jz­Rµ:\r\9b·áuè1`ä¤é\v\96®Ý²ëÀÑ\13§Ï\9c9uüÐ\9eÍ«\16N\e3 «\0÷§òÚz¥V\a\95j4Ðew\82åúªÝ§¯Ýô
+|ð(<侫Í\85ýëæM\18\0:.0üÉ<rôÌU»Ï\¿yÏ?0À\a.p`Ý<\\0Ë\ 3\91t8²v#]}AçÞCÇO\9b¿lýö}GÏ\4¿fem}ÝÂìô¡ík\16\92\91,Y/=7Ö²ÕA\8fáØ\95¾dçæ\17ú("<Ø\e7«WÎ\1cÝ»À\15B¶¦åܵû/ s KÓ´e\ 5`)Ú$+T­Õ°¹¾°k?\1c\96Y»mÿñóæVöη]ïºÞ\86
+ÿÂÑ\1d«ç\e\ eí.k¦çF[¡`\1d\8fiùúMo\9cÖy\18èéd\ eQwʰ\ 2W\bÙ=\92\8cθÝ\ f\ e\rò½kû3m\92Ù*׬߬­ kÿQSæ­Ø´÷Øù«6ή\9e>~\ 1\81\ 1~ÞnÎV° Z>s,½·\9fÛ\8dKɦþp¢k\9aé\96#\97íÝý\1fD>\8e|àïf{ñÀz:Eæ\1fþd9\92òÈcæN\9e\ 1¡a!÷ñ
\8dDv?\9dV¼ÎýFMY°jÛ¡3æ6.nÞ\ 1!\ f#à¶á¡þ\9e.Vçöcg\ 6Ò\ 5\86\82\9fÕ\\8a\1e±¬\8dsB\ 3'Ì[³÷¬Õ-\9f\90\88'O"B}¤6Rà
+Aº\8eĪ\15säIË\9bÞA\ fЧíÍ\ e¡KÊ#        =)X«a\vv\87Þ#\8c\16¬Þq\14
+û»Þ\81\ f\9eǾx\11÷üi8¨Ùâ\ 4Y\9b´×ÇÀûÓ\12\94öêÊ\90iXí{\8f\9a¾të±+\8e\1e\ 1\ f\1f?}\12\1etÏÉüè\16ÊF
+H\91²ÎN+²s¼û\8cÕ\1dß\90ðG\ f\ 2=\1d.\1f\96ÆmºÝJÚu¸ô\13v\1f2iîª\1dGÍnÜôô\ f\8b\8c\8eKHz\95\92ò*ñÅ3éàʤAò*?\17Ö\95ªãUº\91\1aê¼õ\1dßÐȧQ\8f\1føÝ\95Æ\11\ 2R¤âîÇ\98Ù«÷\9e·¹ë÷ "2<ØËÙüØf\93É\8aY\9645`}ÏéÔoìÌe[\8f\¼qÛ;øÑ³¸ÄWié\19\99\19\92_D\85y;[\1cߺd*\14\15?K\8c*xq$µNc=nçþãÈÐ\9fÓ½ GO\9fEE\86úܼv
+jeÒi( \8c\7få¥[°ë\ e\´ó\b\f\7f\8cvvÓòäö%SAa¤5\84ç0þ¢[º\90#\8c\16\7fÎê\96wHäó\84W¯3Þ¾ÏÊÊz\9fù:)6"ÀÕú,®\8a \84Ë\19ÃJQ².[\11g;ÁÐFÂjý\90\99-Èéñ³g``\1e àM²nT\ 16BÅ?²ü\9d¿áÐ%\87\11Dcw¬ÎìZ1Ca\95ñ§¬íß\17w´N\u¾\17\1c\19\93\98úæmÖÇO\9f?\7fþ\98\95\99\9a\10\15zÏÁ\fóÔ\80\8e2ëú\89\86º,q\8f¡\93\17À\9a\ 6\82_HDTô³Ç8ôr\96^\8e5Ë¿\e%¥]\95\8e\7f\9b\8e\qò
+}ü,:êQ »í\85}kçÈö\12þÁÓ\16¤\a\84]FXM\°u\v\88x\9e\98\9añþã§/_¿~ûúåãûôä\98p_\17\8bc¤tä¶h Øæ Î¨\10Ö\r\9aë\8bº\r\9e0g%\94Ùà\8fá8a\14\81ÃsǶâ\92]¾U\94'k*lW­×\fw\8e\17m>jáâ\13öäyLôã\90{\8eW@e²\9d\9b\7fÿþ\8bL+7Â"`ê\92­Ç,\9c½Ã\9e% ë/_¿}\a\9c\95\99ò"2àÎõSÔ²Hº\9a\93Ö\8e\7fþMæÚq\94_h0p\1c¸Ça3[×ûa\8f£c¢\9f>ô§\1cr"n!ä\11òsÒÆö_\97Á\93\1c»zÓ÷ATl\LÔ\ 3ß[×Nn_j\8cûdÄHÿù\eÃ_íÆ­Å½Fá°\8aÕ\1dÿ\88Øä7ï>~\ 1Ò?\0ß¾||\9b\96ð4ØÝæÜÞUò\ 6³BíHê\99Ú\r\81\ 1\9bn:p\9e¸Ç³\98\98èÈ\10o\97«°
+Äö°t\ 35¿%4µ\99Y¿9®È\16o=nyë~ø³¸ø\17Ñ\11\81npû5`%Ts¼ì¿xÞ\82*ËÇÎY³ï¼­{ðÓ\84ÔÌ\ f\9f¿"éÿ~üøþõÓûôÄè00n:QÉkÇRòÚ±¡.T\ 6\ 3Æ\18/Þ°ïÌ5g\88"Q1±1Qá\ 1nvPr.4\1cÜ\95ײa¾[\b\8a´a!9d
+¡í\17\1eýâeBìÓP/§+G6\9bàV\ 4Ù®*óoi¨\7fê\92fò¼u\aÌ\1cî\85=K|ýîã×o@\1að\ 3­ä\r\18·\8f³ù\11°.éæ       ITRÖÕë4Òe\89\f\80µÉú½§¯\12Ã\8e\89\8b\98\8a~Ò<UðFùÏ´\1f=OHL\8c\8f\ e÷»MRí\98¾íÁ³«W*W¦\f©$X\1da}¿áÐe'ï\87Ï\93ß¼ÿ\ 4¦Þ\añãÛç\ f\99)q\11~·,O@=\84«PÊ'ÿ\94\1fbªÛ¸\ 5KÜmàX`½ç\94\85\83»ÿç1\90_\9fA\ 4°ÇÕ\18D?>\ eÀå5\87\91·\91 íääĸÇÁ\1eöf 6¼\12\88»j\85re¡f­Gµ%6\1e¾âì\13\1e\93ü&ëÓ·ïÿIi\7fùð65þq «Õé\9dà\93\90pè2\8e\1cs\83åg\8dº:-ÛIº\ f\1a7}ñú½§Ì\1dÜü\1e<\89y\91\10\1fCÏW®\9c5¶o\a\16\82ön\7frÉû\8f\9e¿|\95\92\9c\10ýÐ\172\ eê\r§\90\eÔ¨\¡<(ù'Ú\9få´¿\7fýø\8eöÉ=+g\92\88\8fm8<Ø\85\8bæ*5ë5Ñc·ï1xü\fÓ\r{OYØ\13Öñ/_¢#yØÃÒ\15-R@o \16°\9døS\0ô\r\7fþ2%5%)îq\90»\9dÙÁ\8dXΠ     [Ãb¥R\85
+\95±\8bÔ±ÿÄù2#Q\946øä»ôÄg¡\9ev\17ö­\99M5=I\bú\9b\84ë\9aõ\9b´âvè9t¬%\e÷\9d¶ d\9d\90\98ô2îé\ 3\14öîU³Ç¢ÿׯ^PôûC1Ý\f\80r\e\85ø\10h¿NK!â¾vj×J\9c\8c\85ÅJ­ª\95+U©^\8f\83\97\1c¼\1eD'¥+Ú6     %IÑ\ f¼\1c.\1d\94Ö¼\10É \ 4Qáºik^ÇÞÃ&Í^¶yÿ\99«\8eî~\ f\9eÆ&$%'%<\8f\f¢\84=eXw\ 1\1dm\vÚ»\95&wý\ e\90Ü×\1f¼äèý \1ah§§%\83¸ñj\9b\17O\1dÑS¬ß¬~ͪUªÖ¨×´mû>\18\0/Øy\86R\91DJû¿ïßH(yèãtå0½z\86\ 5e¹2¥©À׬\r¿s\9fá\86s\97o9xö\9a\93\axcÜËä\94WI/¢¤Â&Á¶pSËä(\ 5î$@)5gíþ\8bö\9e¡Q       )éoÒS_F?¼\7fÛ\8a\1epå·Ò©[³Z50Ï6bXs®ÜsÎ\ 6ãvÚ[È6?d>ù9+ãUì#_\17\88\80Póv&
+/_®\\ 5<Q¨ÛVÐ¥ßH£y+·\1d:\7fÝÙ3 <êEbJjê«\971
+ÂÆÔV5׳c?Ñ\96\ e   ô\1a=k\15Å&>%=##ýÕ\8b'\90áÍ\8f\91\93\18\1dÙ-\1aÕ©Y£f=(\0{\8c\80\15þ©ë®\ 1\91/R2?|¡ã6\15\ 13Rb#îß´8
+5/\96Ü\rjV©T±b\95\1a\18øD]û\8f\9e²`õö#\17¬\î\ 5>zö")õõë´äøg\98\90!\8c\10ËÖ\95
+»ÀÍ\bi¿\ 1Ø,ßyÚÊ5ðqÜ«ôÌÌ\8c´Ä\98G¤ê\87EÖ°\1e¢¶Í\1aÖ©U»\9e\8e\1eß`(®Þ0æÄb(É%p_Åbj0\14S\8djW¯R\ 5t\ 4\81\ fÂõ\98i\8bÖì<fvã\96WPDt|r\1aê416\12]ÿÐF\13\15VØtw\87ÞÜ3¥\ 2wlòëÌ·oߤ$D\85ù¸X\9eÚµjÎ\84\81`&M\1aÔ­S¿qKngì^\1dºäè\15\16\9d\98þî§|\13  ùæøV¨\ 1\rxz\8dëÖªQ³v}\12ø \\9b¬Û}ü\92ÍmºL\7f\93\91ñú\15\b\9b$H\88Ù\8a\96]0mjª9»ó@\12J\9cÀ'\13_g¾{\97\99Nyåå#[\97L\1fÕ§\ 3»¥N\83\e·hסïX²\ er\ f~\12\9fú\16¬\84æ\9d\9d6n,¶nÚ nÝz\r\9bµ\86À7dÂLÓ\r{N^±»ã\13ú8æ%Øá[ÐhRld \e\16M¦bv!\85-߸¦û$v\1e!QP\8f¾{ÿ.3-ñy¸ß\1dëóû×/\9c\87X_W§aÃÆºú¸?¾lÇÉk·ý"b_eÈ­D!»\1fÇnGwaÛæ:\8d\1a5ÑmÃë\84\81oé&\b×öwï\87=\89\85Å\ 5\11LJ<,ã°ô\93\9e­)¬°éãMT\9f\18
+Ò3Öèj¯Þ¼ËÊz÷&%þi(\õäÎ\95\83\99´i®ÓX\aÊÎnC&/Â\15\ 5Ñ\vV®t1E»¤ßÍ«Ø\1a\87\aeé5o¦«Ç\12tî;b2\ 4¾\ 3g¯:B\92y\1a\97\94\ 6ë8\90Ëë¤\98\88\0¬³©Ó\1eT\82,ÜLV)é>\19eÜXq\87Ç$¥¿Íú\90õ6=\19tèn\8f³ÐÆ£úvä¶nÞ´ióÖ¼Î\ 3ÆÏ\85ÒÕÆ=\b¬\ 4JWÚJ¤\ 1ð>YßL\1dÞ«=·mëÖm9b\83\8cæCà;GÂuÔ\8bä´\f\90Êû·D,^²\13A¬¼\87Ësãý\17mÜPl@Â\81\8a4ôÙ˴̬\ f\1fÞg¦½\8c\ eÇ\83\rÄLz¶g·Òm®Û\9aӡϨéh%·î?\8a¡\8bÀ\1fòt\83\95ëQ =¢O'!\97Í\11tè>pÌÔ\85«w`àó\f\f\7f\16\ f\ eÿþ\ 3¹zâóG`\84gɱ   éÙ\87Â\ eÀIç¤ÚRg@ÎÞ¸\eøøEJÆû\ f\1f?Pfâå\ff\ 2ÑdP7q»Ö-[¶fKzÀÒ}ÓáË\8eä\ 11ã ¸Ir\7f\93ôü¡7\16ê\8b§\8dêgÐA,nߥ×àqÆ&kwI\ 3_«ô·pí\8f`\83\90\19\82=\1d.\1fÁ3*½ÄúM\8b"lºåJ\16\89Ã`\91x\1c­äyRú;¼´ÜL¶.\9d\7fWa»6­Û°E\ 6\83&Ì]³÷\1cý\80´SÊ\967^\8e\97\ fo65\1e\97A\97®=ú\r\9b0cñú='.Û\92À\a!\ 4\9f>\12U>¤Òú\1cê\10\ 15×^ÈI\83Rt_^\17B ±\12{O\8c%\99\8fYäÚ`&ç\ fl0\99:²o\17!G_\9f-ìÒoÌ\8ceÛOXR\ fH[       )\_¿\8c
+õt\80JfÉ\8c        Ã\ 6ôéÓoð(ÃÙK7Bumçê\8b\81/\15\9cýã§Ï\9f>¼#\12\81¥\18d\9a)è\13\e\15Ë\14a®]n%8rD/n_½yÿáÓ§\ fïéhbyj÷\9aù\93\87÷é,âqx¢Î}FN]¼éð%p\83¨\ 4ÚJdkà\10¬0¶,\9b=y̰!CG\8e\9f:o9T|P§\92À\aÎø\814UÞg`6óv¦\82_¿\8e\ 6E\9ck§G\7fÈP\9bÑâÍG!²\85¡Íf}\ 2ÞÄL\82<\1c®\1cß±rΤa½»´\17
+%]ú\f\9f¼`Ýþó6nh%T,ùA¯n\9e\ 4{Ø]:²må|ãIãÇM0\9a¹hÕÖ\83g-\1d\ 5\81/\13»*_@Øo_\83?ú»Þ8·oÝ\ 2Ã!\90itò\99wÎÏJÈ\b!\15Ù\90Í+ìÛPfò<Üÿ®­Ùá­ËfO\1cÖ·[§\8e\9dºõ\1dn8oõîÓ×oc%@Ç\92ï$ÛÄ?    r·¿|lç\9aÅs¦O\9b6sÞ\92u;\ e\akÝg/0\84|üüåë\17\10\8fWð°Ç(ú\98]\11\15\a6\8d\97n;~ÕÅç!$\92· ÎO¨MHe¾·­Ï\1fܼtÖÄáý{uïÞkÀ\bù«v\9eÄ\ f¢÷Jige¤¼x\8cª9±gãÊÅ\væ/4]µi÷±\8b¤â\8b\8e\7f\85Îøùëׯ_>¡0¨Êo÷ê¹\13\ 6\82_\11G­åã±]pèòÀ\ 5[÷ \10÷\9b÷Rß\89{\12âåríìþMKg\e\8e\1e2 ÿ\80\8dæ­ÚqÜÂÉ\vÌ\89$Êï¤á\80´\83=\1d¯\9e9¸cÃê\15+VoØ~àäe\12ø\9e'`\bÁ¶Ûׯ\9f\89?F\ 4`1²\91\9c jÛ´nQ\82\9f\82\95àì#8%&\12\b\11>°ÆAë&\1dIÈÁ\91A\9eN\96göoZ6wê\84Q#F\8c\9eh¼põÎ\13æN\94O~P \8dOhuñøþ\9d[7oÙ±÷èY\v»;Tà{\ 3Îøåë·o lÔ æG\vr>\19ü±EÞ'k
\12\96<\9cF&mÉÀȸWx#b&©/\9f?
\0!\1eزrѬ©\86\93&O\9b»dý\9e\93\169ig\12\83ºckqîø¡ýû\ f\1e=mvÝá.\ 6¾D(Î>|FÖß@ØoÓ\121ûZA~\9c?i0ye@Õb\9c3¡7
+ê5Óo\8f£¦ÛO\u!}I\88Ý\9fÑL ô\8e\ e\ fpw´<{hûºe\vçÎ\9e3ßt5\ 4\88k.Þ¡Q       tYBhÃR.ÜßÃù\86Åų§O\9f3»jãâîG\ 5>pF ý\1d;³hv°8À\85*\1e½\97°\9a\15Ý\1f)+¡ß¢ \aâ\9e\84¡íÆ]ÿ\88\98\95\847\94óá\ 1\1eN×/\1cÛ³eÝÊeËV¬Ý²÷¸Ù\8dÛ¾\ f0TJicX\8b\89\fö¹ëlsýªÅÕk6N®^\ 1ÒÀ÷\994f¿\81?f¤bÈv±\84Êr6É\8fÅðG©¸éÁ%z\1fÈÜñ^È\13â\95\90\e>A\92'¼=]¬/\9f>¼wÇ\96Í[wì;zÞÒÁÍ?ü9\86\1cb$ßP\8e¯^D=\fôv»åä`ïèrÇó~È#ià£XSÏ\ 6%\94ë\r\ fÅS¯uó<éV\90¸ÿ\92\8a\e\82ÉÜ5{Î\¿}ÿa4\16\82ÔF\ 1áý(Èë¶ý5³3Ç\ f\1f:tôä\ 5\vÛÛ^Á\91±Éét$\ 1Úè\ 61\8f\1f\ 4úÞswss¿w?èÁc\~eb\b¡\9aà_0dãªÉáòÑ­K§\8fîÓ¡\9d4?\16c\1cU:ºÔ\94~kÅ!3;÷@B     Ìä\vÅ;!:"Ä×ÝÅö\9a¹Ù\85\vfW®ÙÝô\84ê9>\ 5TBÑþ
+jy\9d\1cÿüqxh ¿\9f\7f\83ȨØ\97tà#¬e&\82ëG\12²¡^Å\ 6c1Ï}Ñ;¼µ\1a¶àt¢v°®:{\85>\8dOAWÂl\f¼S^Æ<y\80\ 6àh{ã\86\8d½ó\1dO¿0\88\11¨\91¯\98ÝÁ¸AÜiIñ1Q\8f\1f\85?\f\7fô8*\ 6Öç$ð\91Ö½ÜDü]IG`
\ 6\8f®Ä~¦-ÝâÅ]Ç¡Ppì;g}Ç\8f2\("¾\10¿LM\8c{\16\11\16àëéæzÇÕÍÓ' ,\12Ëçwtk\1ee      \9fJK~ù"&úÙ³èçq   I)¸$\90²&Ö\8f&\82Y\1dû/cú\92\90]\84ÅÁϼÉ\ 6~\8d\ 6ÍÛÁâ\ 5Ç    /;x\ 4=\8e#^I\12ò\87w\19¯_%ÄFE>\b\ 1\13ðó\ f
+\r\7fò\1c\97*Y\9f¨
+\10\85     Ö\94ñ:%9ñeBÂËÄä\94×\19$\9fSÛ$ÙL\ 4³úÄA°~$!»Øç¾¤ã\12µ\e\93½ð9«v\9dº\ 6¹\92,ÏÐ2IýóöMjRBlôÓÈGáá\8f"\9f<\8bMÀe!áõCÆû]æ\9b×i©©©i¯Óa¡\v®¡ðS\ 5\13Á¬Nz\8b$d\17û\b\ 1=   \84^)ÂEׯ\83\171Wb\81÷\91În ðÌôÔäÄø¸\98çÏcb_ \rdP\96û\83\10ûN>\94õîmffFfæÛw°øÂÌHÿ\14\9eé\1dÕ{¡M¤\1féäÒ!»¸SíÒ¹\8b\86\1dq6\ fr¥3Ux\7f j&\ 2'²L}\95\9c\94\94\94ü*õõ\e\84Ø\7fÿQ¼Á\r>~ÈB|\80\v\94\89\90Z$\8c,:\88\89\90\17\ 1\15/dg\177\19aÂ7\ e\19\92eÀÝ\0,MÞ\13\9f"\9c \0\7fÿ63#\1dñ&ã-.°¤¬ÿ£å\rÄ?Ã\ 2\ 3âý\179i*<\92N\80ß\9d\eç1\8aÈL¤\84ç¢ÉÆ\10¾\7f§\19\99\99X¶í¸\85³¬\83óý\87¢0ß¿\ 3¼\97Éó\aÝß¡>óí+\8do2Ò?èÔ\9fD\16Ô\98h0\8a(ÁDþ\90NMȧ|×í§
\94Ì,*ÂÑÄ\81ù§\8f\0"Päöã\87¬ÅM>\83Ô¿\11ýüøAë\81¤PXÑPí\8b]«æN =ó\12\9b\bÍ\9bÎ\95úTá}\12wW\15:8ri~AÈ\ 5*\7fíû\8f\1cø\8ff\8d&BuúI³Èh\98\92L\84âý\17\8b\14Þ89EZT\8a}>\ 5qf\13è\7f¹0\97ÿÅw²¢Á\8e\9f\9b\1d\97L'\8d~e\98\b-njB\a*Á¾cñÅ\ 4¤\83£ÐçËE\9e9Hç\ 2i\14yñ4ÄËÙâ\ 4\96«\ 3»(ËDhÞ î*µ\1a·"s\føÖ¡\9c{\ 6Ù¸\17ÈX.lH4°¢Áww¬[0y(.\1fqkYIoW \a\8aé\16\95Â\9e\81Â>^Ñ\81\1d\94Ot¹Jwo©rU9&"\137ÝÈ\94î\19äØ\10+:mì ¼\85\90M¶;v­\9a3\1e;\fX®*ÇD\bojv´Q+\ 1½!vG¶!V|Ú\10F2@Ø\81îv\17q[y\18m"J|Ý\1déÒ\93\13\9fÔ8£\ 5\1a7nu|+®\95\90æà;°lù&>Õñ+\9fï9\80¢ò\96\ e\8fvÄ.=\1aw\8eMê¢\v\e»lTs\90\1a\99Pìø)ë\ Â+\15À¸÷\9d·õ\b\89"\91»ø´ÁFÞ$Ç>"\ 3*8éÒ\81U\84½¥ÂÒV<η|×\19ë»\81ô>^±iS6\12\96c\1cH\99&òGöÃ\93¦ÛNXÞò\8b\88\80\84S\ÚØ@N\8b\7f\1aìn{~ß\1aêÔ©ô%yJ<:*ß_\1dd¸pÓ\11sé¼K1\8d\9bîÄÆEø\93I;rî@G\ 5¯\84P<\18,\9båRܤ.*mÜ\89Â\r4\17s\9c  s\8d\ 5Îù\15\8769\86M^U"\9dy(AÂÉ1h\87£Õd\8aô\1fe¿\12Bá5\149\12Nqx\13\8f\94\8ePÉÆ\1aUpÜ_ºs\86       Ç\ 4\12\8e\8boI\8c;çÀZ\8e!R%Ò\96'\1cj\ e\ 4F\11iÓs\ f·-OlS\1c\ fT2ëlïð\81\84Æ-\1fE²8º9Û0¦ÒiÓ  GVMùGÆ¥d[*\14\81õ\ fÙà×eÙà\97jÞd!{\7fF×Á\93M6\1f\8c»xe\89t'þ\81\97£ÙAÙ\89\98ò¹\9dä.1mÚ¸©÷§\1d0³÷¤\17\94Å¥Mâ\9fýÅýk¨\93ܹ\1c\89V\16mòn@|\81ÆÊÝg¡,y\8c\83#_\8aa%²YL\ f»ó{WÍ\1aÝ\9b\8c\90ªä\ 5\1cÔ>%Dn~7zæ!÷\ 5e¡i¿~\19\15"\9d|Uå{C¨ÈÝ\aAI&,\8ba%Tý\97\10\15ìfsv÷\8a\19#{BØÎ~$Z\89´\15&cfc~w£Æ\8b\8aa%4í§An7ÎìZ>=\97\93Üʤ-]Pâ©f,^)+)F,AÚ8®\11\1a\93äpò\96\16Õ¼îD>\19Ãé<hÒBÚJ\14\9bSE¥\1d\9f\8d\8aÞÒ"\9dêÆáÀ>Ø\9c:wCap¤X´\9f\ 4ºÒ´yTnW\15\95\90æ\94¯b\v³X´­Ní ÇýUI»\14Ý\9câ`,\91ÎO¥½-ºSþRÚ\8a±\ 42ή3V®P\97¼ÊÈ*²¸\7f9mÙüÔ\14|ß»â¾Bñhÿ\ 2ÛÎö
+6z~*H6óW\14Þ¿4\92È\8bî6¢\9e#\8d\97n?\ 1NIÆ¢\8a*îlq{¹jãö\1fÙæ§È9Ã\8bv\1e\9dYTqK³d°,Kê©,Kþ¡0?¥\8f/\9b_±óÔ5ÜÆ)º¸\81ö§l5ÉÏo\97Q.oÙ\9bú\f\86L^\84\aà=C\9eÆK\8fì\15\81¶´\ 2´¥Ï>©®\ 2¤h\93Ð]\8f\1c¢\9dµr\17\99U,º¸³\9d}Z=;¯7')\8f¶Âï­\18jd²éðe\87â\88;Ûêfí\9c±}%Ò×\vª\86¶t~\8azcËìUx\ 4\1eÄ\9d\9cþ¾Hâþñãëgz-yéàúyãû«òe\8e\84v)úeD­\ 5Ý\87MY¼ùÈeÇ{!²\ 3©\85§\8d\r\a2C\7få\88ì=-ù¾ç¥¤¼³½³\85\88Û\9f\9aÄ-Jý*;±póê±-Òóþªè\93ÈiS¯#¢^Ú\ 2â¾âH\ fY\16¥~Åf\1a\9eÈö¿s\8d:ïOÞø¤\92·9Ò´iq\93·¶à\8bDÎZ»R\ 3éE)¨¨iôø'\90&ÏìZ¡ÚwgÒ¼åïÈé1|ª)ù\ 5:a
+\87(
+G\9b\9eý\ fñ°=¿\17"`\1f\89âAr\95ÐV\1079j\83\87("ãR2\8aÒz\90\9fþÄPB½:DEÝ4\19oÅwhJ\aÒé\82ª°V";HîKí&ÈÞÁ¡BÚÒß×\86o,\9d8\9f\9eƧ\16eQùCÚ)ö¿\8d¯)\986\9c\8ejÞyLó¦Ä]\17O\89\8c\9a±|'þæ\1ftÊ¢´\1ed>évãìî\953G\93wp\14øÚ\80\92Ñ\96½\8d\97\a\ 5\95     y£F\98ôü[ai\13\9fĪÄþâ\81uøÒc\95\e·| \9dա߸9²óoo\8b°\93Co\95=\7f(}K\82ü\ 53ª£--¨Z\v{\8e\90\9e\92\8c+Òè\80|c\926îîÒÝ\eÕ\8a\12urJÒ\99Ä\92¢ôè寭â½2EÚôïõkÊÂ×.Ó'Ê\8bÖ£§V
+\89Ϥï·éô?ö®\ 20\8a£\v×p\82KðC\ 2Á.{»·'xðàî\90\ 6\bV\b\10\82¶¥Å­Ð\96\96\16-N)î\ e\ 5\8a»»»»CûÿßÌî].\10¹$w7»Ç~ü?%\97½ÝoÞ÷Þ\9b7³³³ö=\93ÝFÛ¶¥®¼Ë!y.\91:wübò\95\94¹×\92ç?\1d¶ßt«¹¥'Ê\vÑ9úápnÛ\r(çiÓÌ}åäÞ\8d\v'ËÛ\10¹ÝK¢ì©\e.mN!-ç\89g5EÊ\92e\18á\905\ eNìe\94xÚÒæ\14ô-:ßÿ2{åö#\17nÆë¾\99\\96Ð\14\88þ=¤N9Ox\89í\9dEô-O4&ÏÅo\89\9d-\ 5¢æ^0\99ì     YÙìþ\òɧ\8eû\1c\92\15\ fñ]\85äð\ 4è²é\92\97\ 4È/Íp§\97|îðö³\91S\16\91TBjîx\8cp¢x\89´\97e®¸ö K4íÈ×?\92T²`Ã^ºì5\1e·à¥§ûn\13/¡¹¤q\15K\1cï\9fp\11mi3$Û®B'â\97\ 1í^rö -§èþ\8aò¾{î\1c,ÈïÂ)S3\18Ýû\9fkvÊ\v\1aã77E½dç\9a¹ãÉF     \15ä½ÌÝ:Æ\89|\85\99ÃfA\91{\1c9ë%w®\9cÚ·iÑ\1f¨K\9a\ 6Ùw½r\9b\97\90îÝaËÀ\99\1fl\16ä´\97\'ûîÍúe`·àZeݳÐË\91¶ãË\10m\9b\ 5Åsù¨}}Ú®uó&È;ÈŽ}^"yG&î\8e_\8f¶/\1f\8d\1fm©.9µïïÅSÇ|Ó\89\95ßÝ^bßųQû¾¨\ 1ÿ&\8b\90â·p@ò\92û×ÏQ/\19Ð\8dìáY0glo\ er\19mô7\91«^ïÅoÕ+]1ÿ\94ö8kæÒMWâ|\a\8f\8bhK\9b\1e1iáÆ½\ e[ 8÷\88\ 2hKÎ}|÷úù\93FнªÝ\\97|êøZ-ò\96diÒÁöÈVä\93L1¶á?ÛóB·.\9d \1de?g^\9e\91XÚ¶\rL\8cô\ 6ü\ 4º\81É\8dûäáý7Ò3X¶gp>l\83íÑ,ù©Ã\9b°ö\86\85S~\88\9a¹ÝN»^\9b\88¡¿ÿ¹zûá³W¥M]¤gÞ^Û\1ez²µÁÞ\bùÉ"ù1Ñ;×èÆ\r\93FõëHwGt'í(o·¢Ûe/ß²ÿÄ\85ë·ï?züäéÓgdëÙ\17/^Ð\87Ìh\e¤F8âõëWdÓ\9a»ä!ø­+É\16Aäõzîµ¶íÙý<\85\8dòË\ 2\16oØyøÔ\85«7nß½wÿ>y\0ñ\11y¨óÉÓÈ6\90\80\9f\9e?{J\9eµ½~éôá\9d\e\16O\1f\87ãKÃÝvcõ\vÛ\v%j·
+ë?zò_«6ï>|òì\85ËW¯]¿qãæ­[·ïܹ{÷\9eÔ\86\87¤\rh\84\1døéÑÃ\a÷nß¼záÔá]\9b\96ÿIÞÔÔ²v h[êïÆûÁ\84¶¿P®fóN}\87\8d\9b±pÍæ\9dû\ f\1f;yúÌÙsç/\¸xéò\95+W¯ÙÚ@\eAq\8fþ}çÎí[7®]¾púØ\81\1d\9bVü5å§\81=B\eǺ\8f»KhKû|gÉ]ÈPºZãP²kѬ\85+×oÞ¾kϾ\ 3\a\ f\1d>rôØñ\13'O\9d²·\814âÊU;®\¹|éÂù3'\8f\1eؽuÝÒ¹S~\1eÜ»S\8bÚ\15ÌÅè~¥nënl´s\15\f(Q¹^pç>\83Æ\8c\9f6wѲUk7lú{óÖ\7f¶mß±s÷\9e½ûöÛÚ\80\15§NSà\1f'O\1c?zøÀÞ\9d[6¬X8kâ\8f\83ût\ e®_¥¤¡\10ÝMÀ]% ¼«zÚÌ9ó\173\ 5ÖhÒ&¬ïÀQ¿Løcæ\9c¿\16,\¼dÙò\15«V¯Y»~ÃF{\evíÞ³gïÞ}2öîݳ{×\8e\7f6o\³|áì)¿\8e\1aÐë«à\ 6Ae\8cEóå\88õM\16® M\1eÜÏN7\ 6­Ó¬M\97\9eß\ e\1e1fì¸ñ\13'ÿ1uÚ\8c\99³çüù×¼ù\v\17ÙÛ°nýú\r\e6Ú°aýºµ«V,]8wÆäq£\a\7f\1dÞ¾eýªeÄb\ 5reqå³p\1fò&û\85G¾-¡N\93/;\84EôývÀà¡ÃG\8e\1a=æ§\9f\7fùõ·ßÇO\9cdoÃ\4bþ\82\ 5\v\16\12,X0\7fþ_sçÌ\9c6ù÷\9fG\rþ&â«ÖMëT.m,V ·o\864±¿]&ñ´\93\92Ýcsäõ\ f0\95©T£~³à¶\1d:w\r\8fèÕ»o¿o¾ýîû\81\83\86\f\1d6ÂÖ\86qhÄ\84\89\13\988qÂøß~ýyÌÈ!ß÷ëѹm\8búÕË\97à\8b\16Èå\9b1Mªä®{\84ïCÚôùwéE þzcÉÀÊ5ê4hÒ¼Õ\97­Û\86¶ïÐñ«Îa]»\87GôìÕÇÖ\86ÁhİáÃ\87\8f \18>|ذ!\83\a~÷M\9f\1ea\1dZ7oP³RiS\80\7f¾\9cYí¬ÝG\9b\9b6£oμ\ 5\8brb\892å+U­^³vÝz\r\1a6jÒ´Y\8b\96Á_\86´±·¡[÷\1e="zöìeCÏ\88\1eá]»tj׺e\93z5*\95±\18\8aúé²gIogíFÚdÇïÔé2fÍ\91'\7f¡"z\83Ñl-Uºl¹ò\15*V®R5¨z\8d\9aµëD¶¡\15\1aѺM\9b6m%´iÓ:$¸eó&\rÉ;|J\9bùb\85òæ¤oMr/ëOl»g§L\9dÖþ©"Åô\ 1\ 6^0\8a&\8bµDIÒ\84ÀÈ6Ôª]§Nݺõl¨[·v­\1aÕªV
+,m\15¹¢\85òåÊ\969C\9aÔ¶wk¹õ>\báM_ï\95!S\16ßì9sëòæËïW°`!ÿÂE\8a\16\ fà\1cÛP¦l¹r\81\81\81å)ð\8freË\94.i5       \±Â~y¥\17k¥´½ÉÌ\9d3®¶\97e\91w©¥I\97!c¦,Y}³eÏ\91#g®\¹óèò¢    \ 5ü
+\16\8al\ 3\1aÁó\82\r<oà\ 2\8a\17-\¨@ÞÜ9|3gHK¶-vâ½q.ã\9d4YrùÍuéÒ§Ï\901c¦L\993gÉ\8a&¼×\86\ 2~~\90Â\ e?¿\ 2ùóérçÊî\9b%Sz\90N\91,©DÚ½¬m¼¥×\ 4\82z\8a\94)S¥J\9dÚÇ'\r\1eiBÔ6 \11h\86\r9rdÏ\9eÍ7k\96L\19Á\19îAH»Ù?\1cx\7fú\99Äü\vúRÆd \9f\1c\r o:$M°·AnD\14\90>}º´i|Rɯ\15ô\10i\eñÈW`~ñ\ 5å\9fÄÖ\ 4Ç6\90\15\91À\8f©R¥\ 4ådImïBô\14k\aê¶\17\8eÚ_âùA\eH#¢\0\1f\91Wf~A_\99éaÒÑñ\8f¡\r¶fPÈ\1f|n{Ë'#ÎïáÓhÛ\10\râÿ*[\8fáÓØÀ\9a\9c\ 6\r\1a4x\ 1üü*\85µ­\18\12\11âÓ¤ª\8f_`\90\18\8c\9fë\85ô\88\b\r÷©åã\17\1c\10\18\1eQ±c\9b\88\8e]ÃBÂûêJà#\83. ^hHg\9d¿t\98\ eGèj\87wlß1\f\1fÖo\13Ò9´°®\18\8e+\89ÿû4\8cþ\1cþÅ9½Åb1\b\9c\8eÓs\14\8eÿ\90\7fe2Yõ¢\817\8b&\9dh)L¾ÆéyÑ*\b\96º\80ú\11á\1dÃÚëü\ 3Ûvm\1dZ»u§Ð6\115CðY\1féê\ 1MjÖh\18TQWBçß\9e7Y-Á|pa]I\1c\1e\82A\b¿\93\ ft¤¦\v¨Õ5¢^h\9b®ámCÛ:ókÿ.ô\9a-l\râ­&k1\8eü\89üÑÖ\fK1ÑB\1a@[b\15\8c-
+;4#"<$¬G»®á]dãéüë7ª\12\1c\18\81_·î\19\11Ú\83Ð\88ò+\87\ f\88¡9\9dAÇÑ?MúúÐÿ´õ1éü\vë\9a4Ư9]`(þÓóý\7fÖ¦\7f\93oòÒ7ý\82M¼Qo\ 2wÁlᬼIÐa\0¨7       &³h0\e\ 4Á*èº\90£\ 4Qo²\9aM¢Ùdä\ 4\13\ e2é-\ 2Ç\e\røc4ñ:\13oÖs\82ÕÊ\e\ 5+\8e\f\82\15ß°\1aM\82Ù`²ð\16\1c\eÍ¢`\11x\83\0£Yo2\1a\r\82\81ÃÙE\8b®\ 2e\83óò\ 2ìh6[¬&\8bΠZõ\9cE4\1aL\82`2q8\8dÁ¢7\19̼Ñl\10\ 5\93Ñ ÃÙõ<o\ 4y«Y\14E\1c ê­0¿\ 1W\11,f\9dÁlÕ\eÉ%­\82h4\9bÌÒu\f\ 6´Z\14À\923\vF\ÇbÕó\1coæ¬\16³`â\ 4\9c\86×\eÌ\16\8b\1a8\8b\19¬f½\91\13\85çÌäB\9cEo\ 6\88¯áª:|¬ÇwÁ\8e³\1aà\ 1Ò\958Ao4päB\ 6P±èx\83Qo6ã\9c0±ÉÊó:Ñ
+KqF£ÅÂ\8b\82 Zq\ 4¸ð<'ð\9cÉ,ðF\1c\81\13ó¼\bÇ\16àe\ 6\1d\ f3Y\8df\8b\ 1\1fA$z!´O\ f/3XDÞ\0\93\82\8e\0Âø*\aK\1a\8c\9c\19§1è\ 5\ e\175Z\ 5\ eãb\1do4êE\98[\ 4\11p\84\11²BA\ 3\94¤\17\12\8d\bSÑ*Blh/ÊW2é\8d\19\91ÉY9\v\b\9bD½Á\826àú"G        #\ 4,\ 6¢\11\9a\bmy³IÏÁüf\11\16\13-Äx\ 6=o2Y8£À\9b\ 5\ÈbÖó\ 2\1ad6\91k\9b\89 c6ð\9cÑ\fç3êxð3pøÄ\0!àxÔ2&Ñ à¬`#\1at`¤\17E3¹\92   \ 6\80crF½Ñ\82\96\8a\10     Çé\ 4\b+B5«\15\977ò¢]%N\148\88)\98À\13W\82¸"¾a2\89 aÄyÌø\9a\917\e\8d\1c/\90Ópz«\89¸\8b\88VâÊÄ¥,D2\98\1a®(\80\8a\båE\ 3|ÈjD\ 3dÇ3é\rF\v\fm%B\90£,z\98\8e³B*"\fõ_\1eQa\81Cp¼Á\84#\8czêaàk0
+Äá>\87#\f\ 6£ÕÈ\93#\ 4\92L\8dÄ\9c\88\e\83\1cJ\1c,a\11@\12\94LRÃ-\88\12\84 ¼\r\81`ây\9c\87\87\81\ 3SÊX@àãJF¨$\a\9bÉl4à+f\11a\82o#¸Ì°\b\14\10\8c²\8b\13\8b\9a!\94      ú\80\ 5\8e\ 3\95@\88\1cKCÅÈó\b\ e#B\1f\1fðÈ\8c\ 6x.\8c\8bë[L8\ 2>O\ eAÎD,ã\bdQ3B\ f\8e*âjFY&d\19|ÁLâ\ em\83\a\83\8fÅ@Tà\11``Ì\99 \e\ 2\ e\96ùq\1e\91G0Ao\83\ 1\a@YÂÖ"  \10K\82@|\°@I\ 3¤#gámm\82,\10\9b3!)\10\ 5\83Þl²r¢ÅHæÈ,Ôz81GB\10f\a\17bNd\14Þ\ 2\93¡/À\11h\ 2L\r\8f\av1\98Ñj\18S4!¤8Ù#\ 4\9cÇÌÃ\17Í\16£\89Ø\18G!¼ ¾\ 1öáàz"â\16\88\85\1cÁÁàF4Õ"\18á\9f8B Ñc\857"\16`\ eÊ\96\87w\93\ 4f$
+HW2\82 ÂÙ\82ø@"\91Z\8eÈ\13á¥"²7ÎÃéñ\15"\0Ü\8b\84¥Ñ¢Gs-VÑ\80ËqР   i]@ÆäÐ03ò3/Âe\fÈÆFè\ 6\8bK\172\9aô0.\84¤±\80¸%Y\9c\88k\14`\f\ 1"\88H!$uZD\12Î&9\85 aÀ\a
\0|\1aÞ
\e8(\80s "q\18ÉT\1ci4½\12¾ÆÁüøÔ* ÕPÂèÒ\90ó\ 4\v\8cHk
+\93\15±oæ\10iH\82¤ÍP\f\1e\81?è#p\ 4\92+\92\8a\15r!ýà\14èÊ\10hp=¤_D´|!Ä-º\19\92¾\f¤\7fCkôÐ\14çàa\rXÂd2 7!¦-&âÑ8\82$\ 4ø!\127z\b\ 3\1am\86Ó\v\88}Π"pÉ\11ÄN\bg¤1$gÙ\1f,\bwt\7f\88\ 5\92ÇáF\ 2ìf\84¨$1ë\10UzÁ\8a\18HwL¸@\ 4Á
+ëòÈPø\8a\19Ù\15Þ\8f¾\r¦´p\ 2Íô\ 6\83d=ô\8aôBf\ 4%¾#\9a\913\91üa\1a\115\19ñ3´A Á\8d^\8a$Sô\80fÐ5\11\95\ eHâFTl\b&3él\11ÂpitÉä\0ê» O\12\81Ô 3\ f੸\ 4\a}EÚ\19XI¢'\99\eWÓAV½\ 1~\8aL/\18Lä4\16R\e\90ÌIz\ 4\88dF\vÍH%\1cbÒBûHäg¤ytvHòh\95|%rb\92\93\8d\82\89tp$¡q(\ 2HE!¢ÂÑ\11.¨P\90\98P* W")Bl$\ eä7\94\0ppø+²¤\ 5µ\ 1ÂÏH\124dÄ÷Ir"\89ß,_     ¡\8d\1fL´#ç­ÒyÐ\8dâ\7fÄ\11q%#¯\17\90ÏͤæAàêPö \92\80\1eL¨C\10Áã\913\11Ñ\90\96\\b\1e\85Z
+Q\81~\87\93B â\90{"èÀ \b\82\81æz+ÑY µ\14\ 5àU \84*JÊó°\95\ 5%\v(£D\82­ )Ü\8c(\8dOa\19Ú\13\80\16
+\12\91\84®,\13É!à\82¨\16ÁG¤]):\18\98\f\85\8d\19\95!r\ 6q"ô×Vä\ 3Ú_\90\ e\ 4\89ÂB*+D\1f:GÔ%(Ö ¿È[\ 4ÚK\9aD"!©ñxY&Ä(º>PF\17\8cfÐ+¡ûC±)  B¤\90+\99I\83IMÍ\91Ü\8a~\9eô£P\rIB \à!\ 6Ô5Èû\b[\9eö9èC-P×Dz!»õL¤BBËÍpPÚï s¢Î\15Ñ\9b\12ƨJ\91\7fL8\r.g"µ\f|Q@ÏAÚ\84T\88#\ 4½\ 5\81NzVÒ½Ó\1e\ 5\89I\84\97 \9dq\ 6Ù!PêÃt<ñQ\81öL\ 2
+J\94}$\81\91®\8a\84
\97ôLfb\fd"TÞ°\1aº<\1c`2Ópã,è\8eI1ËóR\#\8dÂÌ"©\16ä¨\85Û õ(\12!2)¾\90D\90\0\91~-¤"Ó\99\88©hVçHß\0¾è\12\11\ eVôD\1c1\ f\8eÀhÅ\84Ö\92¾\1e¥2-m\ 5\14\89°\82@º;9\ f °\fú\1f\v­qQH##ã$\16\ 3\11Í\88Î\ 1%\97^$Aa@\12´\90\8a\1eÅ;\\95'9ÅBâ\9aC¢Âñ\ 6RÝÂ\12\18\ e° \1e\rä\fV¹["é\f^\84\90C;ÉyÐ÷r¤\94ÁÕàÐHÑ(8á\ 1È_8\86D-9\ 2]!Z\85Â\9eGG\1aÓ(\ 6ù\19\85\16º\15¹$\8ak¬S\ 3G\95oMGIÒ\9fò\1dè\10Ø¿aXXH\17\f\ 2Û\87\87´í\18\1a\16¡Ã\98´8\92\vÉÜ\16ÒÏYÈà\84\96\b(* ­\15=­QG\87¹ø\15z\1c\91¤p$#\1d\86\8eH}´NÇßV¢\19¹\12>Æð\0Ai&#
+\91Ú\13ù\ 1u\13²)¹\8b\ 5º°\1dD¡e\14\18É\95o\ f\89G¢vAÏ\ f\v¢®¡'ĸ\884\1eM5\91 Á \r]\bò,g¤ã\f\83\ e.\85\ 6\90Ñ
+Ø¢¾Ó\95'C½v´õåËG?\92w\18gw\v\89è\80º\94\8f~\9c\ 5\ 4ÁLtìZ¿CH·Ð\ 6\85:5\ 4w¡}èÌ\854M\80\13ëü+\ 4\ 6U\91\ 5l@\ 6ß\8e3\b%å¹\85àÀ +iIý\88¾\9dC\83#©:\f¾¥A4FÜÑ9\vïRg\91Fù¶¿©Ú²8\91£ý\98&]`Gø\ 2\12Tts.ò¯\8a£G"#<\f\98\ 5\ 2\9d()bâ9ë\82hwbÊ%\9a\9fí\93*2+Î6¥bûÉN²XqAfG\99
+.\9dR±M\8dp¶©\11yZÅ\19S{|~+\91\96f8}\ 5ó\85\87Èt\ 2\83t\81=#ºê¤©Å\8eýB#/ñAHÖnÝ#4¼WhÛàê¡}\83¥\83z¸bJ/\8e_7)­Í§ióiÚ|\9a6\9f¦Í§ióiÚ|\9a6\9f¦Í§ióiÚ|\9a6\9f¦Í§ióiî\98O\v6Űt%\96)5y\ 2C93A16ÂEëoÔ1UdµÿÔ¤(\9d\80Ĺè\ 2ªê¡}£Ø­^¥ÊÄtø!¨b°A^»D\ e\96\7fg?¾d\94\83äO\8a\ 6\ 6\ 5ãàÊ\1d;G\84\86GáîÄ\8cf\9csFô\1c:BFº\80®R»v¡ä\1avs\8aï]/(¬GDHX\e\+$"$\18dk\86t\8báb±4¿R\9fÐ6=ÉÁÑ\19áýK\92&Ú¿\10\95\80\83nH<\81a]è&t"§§Oää*\11\92¬\88C+CKHÿ,\1fÚ¾c\98¼<\ e\98*>\ 1\15C{ul\13Z¯Jy]\93Z>Íí_G*%õ\88\89Î"ð¤n0¢Ô ã*\8cÑDRq·Ô\19È Áh%ÎÒ!\9e_¥GÊ_·ý×¢#)\vý;9\91QGÓ£\8f\9f\1feMZ^\ 2)\8aC¿àÓ$(¥Ó».hРA\83\ 6\r\1a4hРA\83\ 6\r\1a4hРA\83\86\8f\ 5ñzÂ\9c5Y\r,\91\98½ Xs×ài$Æ[4Ïù\bá*\87ÑÜæ#\81k\1d\1c¯\87\9b\1c\1c/\86»}Fó\1c7\81\95Á=ã0înÅÇ\ 6¶6w\9f\87x¬      \1f\e\98\9bÝå^áIò\1f!\98\85Îàyò\1f\e\94`v\978\0+òÞ\aUXÞ\ 3$ÝGÞ\9b \16³{\8c§;È{\13TdvORu9y¯\81º,ïy¶®bî5P\9då\99\10v    s¯\81ê,Ï\84°K\98{\aÔhyV\9c\13ÏÜ; F˳â\9cxæÞ\ 15Z\9e\15çÄ3÷\ e¨Ñò¬8'\9e¹w@\8dÆgÈ91´½\ 6j4>CÎ\89¡í5P£ñ\19rN\f\81\1a\8as"i{\rTj|\95Òö\ e¨Ôø*¥í\1dP©ñUJÛ; ^ã«\94\17\80\89å]b|\95Òö\ e¨×ø*¥í\ 5ð¼å]e|\95Òö\ 2xÞò.4¾Ji{\ 1<ly\17\1a_½ÌÕ\ eU[^½ÌÕ\ eU[^½ÌU\rO\9aÝå\96W/sµCÕ\96W5yUC½\96W/sµCÕ\96W/sµC½\96÷\18sw\90W5TmvU\93W5Ôkyõ2W;TmyU\93W5ÔkvÏ0w\13yUC½f÷\fs÷ñW5Ôks\ f0w+\7fõB½6÷\0sw7A½P¯Í=ÀÜ­üÕ\võÚÜ\ 3ÌÝÝ\ 4\95\ 6÷\0yw7A¥P¯ÁÝÍÜ3­P#Ôkmw3÷L+Ô\bU\eÜ\ 3ä=Ð
+ÕAÕÖö\0y\ f´BuPµµ=@Þ3\rQ\1dTmjw\93÷XCÔ\ 5U[Û\ 3ä=Ó\10uAÕ¦ö\0y\8fµÅ\1d\8dU\ e\13\85\18\7f\8fµÅ­\rT %ϰeÂß\93Íñ@Ó\14K̵$Ùò÷ds<Ö.%sK<C\854ÁcÍñd\8b\94Lϵ&eÒ\ 4­9\1e\ eÛz¸       ^Ü\9cø¶H\81\94â\vÏ4Á3-bÒ\96ø6JQd\12\fÏ´Â\ 3-ò|C\12Ð.E\91Q\97©½£\15\1fB9<]naæÖö\8eVD\v\85ðt¹\85\95`p/hBLP\ 2\9aW!\ 6÷\82\ 4%Pu­y\95cp/hBL`NÕ\85¶U\94ÁÕÎ?v0gë*ó2o\88;ÚÅ\8a|ì`ÎÖ%¶U¦ÙUM>\160g\9bxÃ*Ùìêe\1e\12N\8cUUayõ2\8f\ 5ÌÙ&Â#Ôa|\95Ò\8e\ 5ÌÙ&Î#Ôa|\95Ò\8e\ 5lÙºÂ/T`|5r\8e\ 5lÙºÔA\14-\81ê\bÇ\ 2¶l]í \8a\96@u\84c\ 2[ªîq\13åJ :ÂÑ\82-U·y\8arUP\17ÛhÁ\96§\9b\9dE¡*¨\88j´`KÕ#.£D-ÔÂ3Z°åùÑú\8c\ 4µðT\14>r\9fù\84õü\98\1aá1\9f\1cª ©\1ch>#A\15$\15\ 2\8cÂ\15Q8=å@ó\19\rñ\85æ3\1aâ\v\ fû\8cæ6^\0Íg4Ä\17\9e÷\19ÍmT\r&\ e£ù\8cªÁÊg4·Q/4\9fÑ\10_0ô\19ÍmÔ\b\ e£ù\8c\1aÁÚe\bXÛ@CüÀÚ_\bXÛ@CüÀÚ_d°6\83\ 6gÁÚS"ÁÚ\12\1a\9c\ 5kO\89\ 2ÖÆÐà\14X»Éû`m\ f\rq\83µ\8f¼\ fÖöÐ\10\aX;Hô`m\15\r±\81µwD\ fÖVÑ\10\eX{G\8c`m\18\rÑ\83µ_Ä\ 1ÖæÑ\10\rX;E\1c`m\1e\rÑ\80µSÄ\rÖ\16Ò\10\ 5¬ÝÁ)°6\92\86(`í\ eÎ\82µ\9d4È`í\bñ\ 3kki `í\ 5ñ\ 3kki `í\ 5ñ\ 6k\83}ì`­\7fBÀÚf\1f;Xë\9f@°6ÛÇ\vÖÊ'
\8d÷1\82µæ\89\ 5kû}\8c`­¹\vÀÚ\84\1f\17X«í2°6äÇ\ 2Ö:»\12¬mù±\80µÎ.\ 6ksz?X+ì\16°6ª7\83µ¶î\ 2k»z3XkëF°6­w\82µªn\ak\ 3{\eXëé  °¶±·\81µ\9e\1e\ 2k3{\ fX+éQ°6¶\97\80µ\8c\1e\ 5kc{   XËèi°¶·êÁZ@6`muu\83µzlÀÚêê\ 6\98\81µáU\fÖÒ±\ 4kÛ«\12¬Ec\fÖæW%X\8bÆ\1e¬\15P\1fX+Æ\1e¬\15P\1fX+¦\b°\16Ae`-\97"ÀZ\ 4\95\81µ\\8a\0k\11Ô\ 4ÖZ)\ 5¬uP\13Xk¥\14°ÖAM`­\95\82ÀZ
\80µP
+\ 2k)T\ 3ÖB)\b¬¥P\aX«¤,°VC\1d\92²ÀZ\ru\80µJÊ\ 2k5Ô\ 1Ö*)\v¬ÕP\ 1XK¤8°\16D\ 5`-\91âÀZ\10\15\80µD\8a\ 3kA\94\ eÖú(\11¬5Q:Xë£D°ÖDé`­\8f\12ÁZ\13E\83µ8
+\ 5kY\14\rÖâ(\14¬eQ4X\8b£P°\96E¹`­\8crÁZ\19å\82µ2Ê\ 5ke\94\vÖÊ(\17¬\95Q(XË¢h°\16G¡`-\8brÁZ\19\85\82µ,\8a\ 6kq\14
+Ö²(\1a¬ÅQ(XË¢h°\16G\89\89ÒÁZ\1f%\82µ&J\ak}\14\aÖ\82(\1d¬õQ"Xk¢t°ÖGq`-\88
+ÀZ"Å\81µ J\ak}\14\aÖ\82¨\0¬%R\1cX\v¢\ 2°\96HY`­\86
+ÀZ"Å\81µ *\0k\89\94\ 5Öj¨\ 3¬UR\16X«¡\ 2°\96HY`­\86:ÀZ%e\81µ\1aê\0k\95\94\ 5Öj¨\0¬%R\16X«¡\ e°VIY`­\86:ÀZ%e\81µ\1a*\0k\89\94\ 5Öj¨\ 3¬UR\16X«¡\ e°VIY`­\86
+ÀZ"Å\81µ *\0k\89\14\aÖ\82(\1d¬õQ"Xk¢t°ÖG\89\89ÒÁZ\1f%\82µ&\8a\ 6kq\14
+Ö²(\1a¬ÅQ"Xk¢t°ÖG\89\89¢ÁZ\1c\85\82µ,\8a\ 6kq\14
+Ö²(\1a¬ÅQ(XË¢h°\16G¹`­\8crÁZ\19å\82µ2Ê\ 5ke\14\rÖâ(\14¬eQ4X\8b£P°\96Eé`­\8f\12ÁZ\13¥\83µ>J\ 4kM\94\ eÖú(\11¬5Q:Xë£D°ÖDé`­\8f\12ÁZ\13¥\83µ>
+\ 5kY\14\rÖâ(\14¬eQ4X\8b£\°VF¹`­\8c¢ÁZ\1c\85\82µ,J\ak}\94\bÖ\9a¨\0¬%R\16X«¡&°ÖJ\11`-\82úÀZ1ö`­\80ZÁZ7f`mxÕ\83µ\80\1e\ 5kc{\ fX+é^°¶®\97\83µ¼ \ 1k\9bi `í\ 5\91`m     \r       \81æ\f\1a4hРA\83\ 6\r\1a4hРA\83\ 6\r\1a4hРA\83\ 6\rî\86\9bîÈhРA\83\ 6\r\1a\b>\8d
+Öt\9c\aaûÙg\9f}.\ 1ÿR\r{JüóÏ¿H\92$IR I\92/\b\7fU°§Ì¿H\924Yò\14)   R$O\96\14ôÕ@\1eÔÁ<Yò\94©|Ò¤K\97>}º´iR§L\9eL\rì)õ¤ÉSú¤M\9f)\8bo¶lÙ|³fÎ\98.Mª\14É\92(Þq(õ\14©ÒfÈ\92-§._\81\ 2\ 5òçË\93Ó7sú4©\92'¥¦÷<{g³\1dÌ\ e«§N\97)[î|\85\8aê\r<o\b\9f?wöÌé}R2q\1c9çIÉ.ÖkÃìI\92§J\979GÞBÅ\ 5kéråË\a\96)!rE
+äöÍ\986µlzOѦ\84¤¤çL®\86Ù\93¥L\9b)G¾"¼5°Jͺõ\eÔ«S½RY\vW8_Î,é}R$#ä=Ç\Nz$]K©:\16ò0{Ò\14>\19³ç+b,]¹vãV­CÛ\85¶nÕ¸N\95²&}Áܾ\19à7\9e$ÿ©\94ô\90®\8182õ§\9f~þE²T鳿),\94  jЪ}×\9e}úõíÕ½S릵+\954øë²eðI\91ô\v7sw¨D¤\8e&y\8a\81T)\93'M\123yjö4\99r\16äJUm\18Ò¥÷÷ÃF\8d\1e=rHÿ^\9dC\1aV+#\14Öù¦O\9d<Éçîôø(ÕÈ\17´£I\9d&]ú\f\19ÒÛ\12\17'I&YêôÙò\15³Tª\1f\12öõ°\9fÆO\99\8f  cGôïÑ®i\8d²\82\7fî,iSºÕðvÿF1\92,\19í!ÓeÈ\9c\15\1d\8do\16$\v¨þy\fÜ©Ù3ç*$\94«ÝªË×#ÆM\9d»péÒ%ógMþyHï\ e\95æ
+dÏ\90:\99\e¹Ûý;EÊTp\14ôì\192eÍ\9eK\977_Þ<9³eJ\87L\17\83á\89ÙS¥÷ÍW¼DÕ&\1dú\f\e7cáÊ\r\9b·lÞ°rá\8cqC{µkTÙ\$wæ4É\93¸\8d»­SOå\93\16n\921Sæ,¾9rå-P¨H±bEü\väÉ\9e)mª\98,÷égI\92ûdÌYP\b¬óe÷\81c§-\³u×þ\ 3\aölÛ°tÖ¸Áá_Ö.\13\90Ï7]ʤ1Èæ\ 2îR§\9e&}Æ,¾ÙsæÊ\9d'oþ\82\85\8bsF³Å,òÅ\vÑ\\91$ú«\7fúy\92\14i²ä)b©Ò¸C¿Q\93æ­ÞºïèÉ3§O\1cÞ½iéô\1f¿íب¢±`öôîãN;õ\14èÔ}säÉïç_¤hñ\0\94*[¡Rå\8a\81¥H\96\16\13÷¤)ÓfÍ«/U£e×\ 1¿Ì\ö÷Þcg/]½zéìÑÝëç\8f\1fÒ­E\90Å?g\86Tnä.uêÙu~E\ 2\ 4³µd\99r\15ªT«Y·AÃ\86õj¡\8b)\96?\e\r·\98¸§Ë\96\9f+[§uİ óÖî8|öÊÍ;wn^={ø\9feSGõ
+©Q¢H®\8cnäNÌ\9e&Sö¼þ\ 1¦Òå«T\aëÆÍ[~Ù¶]»Ð\90\82Êð\85reòI\1e#÷Té³\15à\ 3ë\85ö\195eѦ½'.ݼ÷ðáý[\97OìZ=ëǾmj\95*\9a;cjwr'¹Bço(Q¡z½¦-CB;vî\16Þ³w\9f>=»¶oY¯\92¹h\9e,iS$\89Ñî\84{ùúíú\8e\9e¶tË\813Wï<zòôѽkgö­ûóç¯Ck»\9b\15\ 2JTªÝ¬M§î=ûõ\1f8døÈQ£F\fþ¶GûfÕKé\91*RD\9fæ¨Ïøæ7\94«\17
+î˶\1e:{ýÞ\93\9f>¸qnÿ\86¹c)w÷ú\fÉ\15¹\v\8båk5o\1fþÍ \11?þúû¤)\7fü1eÂ/#úw\v©SÎP [º\941pÇwI¬\96©Ýº×È?\96l9xîÆý§/^<{xóü\ 1½mí\92Er¹3V¥\\81î¥qh\8fïGý:yÆÜ\ 5\8bÑ9.\9c;mܰÞí\1aV\10ü\90æbâþEr\9f̹\8b\96¨Þ²ûÐ\89\v7í?s\1dÜ_>{t\vÜÿü¹_\9bZ%
+#ÏÄ\90a]Ã=\9d\80Ò5[vùvÔø\99\v\96¯Ý´eëÖÍ\eV-\98úcÿ¯\9aT\16\vRîÑ~\97ÄJ\86\1c\85ÄJ\8d¿úî×?×î>yåî\93ç/\9e=ºynÿú9?õm]Ãê\9f#¦/»\82ûgI\88Ïrek\7f\19\97\19\8bÖnÙµÿÐáC\avm^9gÜÀ®Í«\98bæN:'\88\96/ L\9d\7f\98¶ì\9f#\17o?zö\1c>svߺÙcz\7fYÝR(G:·rOA/_;$bèø¹«¶ì=zúÜùs§\8eìÞ°`âÐî-ª\82{\8c\97§N\93)WasÕfa\ 3\7f\9f·aßéë÷\9f<C¬\9eÝ·vÖè^ÁÕÌ\85bþ²K¸'O\93EW¼TÍàð¡´\7f9séÚõk\97N\1fܲdʰð¸¸K\99\ 6½SÛ>£§/ßvôÒí\87O\1e?¸qfï\1aÊ\9d|9Eô\9d\83K¸£\ 4\87é,AÍÃ\ 6þ6wíÎc\17®ß¾{ûúù£Û\96ý1\1cÜE¿l1_\9e\1a>c.\7fS\95¦]\ 6þ\ 6Ã\9f¹vïÑ£{×Á}&¸\a¹\99\1c³û   \15\1avøæ§Y«¶\1f½pãÞ\83{·.\1dß±|êððæU\8c~ÙÒÆÂ].iJ#M\8e\9a
+Ã_¼uÿÁÝk\9e±»\\f\12§ù2bÄ\94Å\9b\ f\9e»~÷Á\83;\97OìX1ux÷æ\95\85\ 2¾1s\97dË(¥\9aïÇýµ~ïé«·ïݹvz¯'ü]ºº-ÑýB\13Ýíû÷o\83ûò?\86ukVIÈï\9b&\86\13©\94K\91VjzÏ\91\7f Õ\¸qûÖUp\9f=¦O\bÉ3nÌ\91òÕÑ;I\86_²õðù\ewïÞº|\9croZ\89Ï\9f5\16îr=D|®Q§ï~\9d»~ï©Ë7n\9½o\1dÉï5­\85s\82ûçîân3|A\½cÿ±s`øË7o߸xlû²)C»6­\18\17wRC§É\9c§XÉ\1a_F\8c\9c
\9f»zíòéý\9e¨     dÃcø\83®½Uø°É\8b·\1c:{õƵ\vNr\97Â5}6jxêñ'/^¹tzÿÆyãú·¯[ºX\9eLî«#?\91JxZ\87\97oÐþ\9b\9fg¯ÙuüÂ\95\8fn_æ\84¿\7fb«jò\14-  \8f\1f5mù¶Ãg.^8}àï\85¿\ fèÔ \9c^\97Ù'Ù\17n\9dã@\1d\9c)w\11k5ÔT\93\16o>púâ¥sG·/\9f:"¼ye£_lyæ\13)˦$\1e_±qç\ 1Èñ{O\9c;\8f\9emñ¤ÁaM*\18âP-ñämÝc`}\18\9a]GÏ\9e?sdûÊé£"ZÒ~5\86±\87ýëÔðÅJÕjÝ{ô\8c\15Û\ e\9d:{êÐ?´g«B{6÷Mr|âйVk \8f_²ùÀ\89\8fìX5s4)§¤R0Ö¹`Ú½\15\14+7\r\e4~ÁƽÇN\9d<¼}å\8cѽè·3¸q\92ã\13)\é\b(°A\87þÈñ»\8e\9c:ud×Ú9?÷k[«dÜÃe©&Â\18¤NÛ~?Î\µýàñ\13\87\9d\9bÐ:¥\8båÎ\94:\99;¹Ë\86\87ÇW\ fî\89D·õÀñ\13Gw¯ÿë×þ\1dê\95)\9e'®«SÃgÈéoªÚ¼ÛÐI\8b6í9r\1ceèüß\a|Õ0\90Ë\97\858¼Û\r\9f­\0\89·\81¿Ïß°ûÈñ£{7-\1c?¨s£òòÕcýºTHsåê·ÿvì\9cÕÛ\ f\1e=²÷ïÅ\93\87u'¡în\87\8f\8c·Úmûþ8kÕ¶\83G\8fîÛ\8c"XºzÚ8®.U5¹
+[«µê1â\8f%\7fï=|xÿÖ\15ÓG÷\ e©auë\f\8dtuZNæ(dªÚ"|ø\94%\9b÷\1e9ºÿ\9f\15Ó\7f@=\15w°J\ 3¨t¾\ 5ø
+\8dHE¶vÇ\81Ã\a¶¯ùó\97oÛ×+«×eñq¯ÓØd7\94\15\92ôú]\87\8e\1cܾzöO$X\9d\98§ \86÷É\84 Vk2\ 6Ù²÷ÐÁ]\e\16L\18\1cÖ´\92à\ 1§ùôs\12­Äiúý4{õö\ 3G\ eîZ÷׸ï:Ô/KûÆ8¸Ký\13Òd³®C&.ܰëÀÁ=\9b\97M\e\85,i-\9c+#\89\92'WÏQÈ\1cÔ\8a\94T[ö\1d>´{ã   \83º4®`È\17wßHâ\ 5i2 l=\1a­Ûö\1dÜ·mõ\9c±ß¶¯_. ¯»3\r¹z\8a´¾ùù\8a\ 6OD\9e;th/\82u¸-XãâNd#Ñ\8a$;jêÒÍ{\ e\1eصaáÄ!]\9bI\93$IÝlx¸lf\9d¾lý\8eß\8dûkÝÎ\83\87÷ÉÁj.\14w°Òx¡I¶I\97Aãç¯ßyààÞ-˧\8fîÓºV©by2»=Z\91i2æ*Z²\96ìðH\15$XÛÔrª\b\97\92¬N_¦n;Ô¢«¶í;´\7fûÚ¹ã¾ÿªQ\ 5\9eÎ
+º÷nßgI¨ÃW\vîùÃô\15\1d\13Áê\Ïú\89Ôô\f9Q\12\91\9eyéfd\9a=\7f/\992""¸:R|&·Þ1\ 3H\96ôõ3VnÞ\9dføC\bÖ\ 5\13"{Ö¸¸Ó¯KN3aÁ\86]\a\ fï§ÑÚ¡~ \97\1f\9b\rORE>C\85Æ]¤`=L\82\15Ã\8f
+ìÜmNÓþ\9b±s֠ɢí\8b&\rëÞ2ÈBÓ¤{\8b\9aÏi°\96kÐi\0)i\ e\1dÞÿÏòé?ô¤3\15q\a«Íi¬Õ¿ì\85áÓÖýG\8e\1eضjÖO_·«W\8eËçnÃãâ©3æ.Vºnûþ¿þµnס£\a\83Õ\89\9aDÊ4~B¥¦è\9e\16\8bbrÏÆ\85\13\87vk\11dv»á©ár\15)Y»í×cÿ\»óбÃ(\83ѳÖ+[<O\9c=«ì4¤{ªß¡ÿ¯s×í:râøA»áóK÷YÝG\1e\ 5Uz\88^³uß\9ff¯Ùy\18eðß\8b\9cîYmI¶H\89\9a­û\8c\99¹rû¡\13§H\1d=\91Þ«,,Ýqs\1fw)IZª\7fÙ{̬Õ;\ e\9f8~`+\19u6wrÔI§òQÓTiÞ}Ø\94¥[\ e\9c8\8d¡\1f5|ý@CþlÄðî#ÿÙ\17¸6Ið½FÏ\µãðÉ\93\87#Ǭ\18uÆÍ\1d\89
+#\10R\8aþ>\7fã¾\13\9eØ÷÷¢IC»·¬f-\92\e\86O\12\9f\ 5X\9f¾\8f8¸§\80ÝLA­zþ0cÕ\8e#§N\1fÛ½îO2êtòVcd)úõÏsÖî:Ff\e\9eýó·\1d\1a\94ç\vdO\9fÊùå(öe1_\10H«¿båOª±l~bÕ\96\11£¦¯ÜqäôÙ\13û7- SD\ 1y\9d\99"\92JQ\7fsµV\11£¦­Ø~äìÅ\v§\ el^<yx\8fà\1a%QÕ¤q6OÒµSdqIÒdÒò©d\91+ucø¾ÄÝX¥E\8f\91ÓVî8zæÜéC[\97L\1eB'ö|Ó:\11¬ö®5lȤÅ[\ e\9d¹téüñ]kÿü¥\7f'²,"G\86\18W\84¼O]^;\952Uj\9f4\80OêTd©nl«×À=\8do\ 1\14\ 5á#`¶£g/\9c=ºcåô\91ò\ 4SܽÓ'\9fÙJÑ\ eýÇÍÛ¸ïÔ¥«\97Ï\1cÚºô\8f\91=Cj\95*®Ëâ\9cá    õ$ÒRW²$\ 6È\9c)cú´>t\ 1XLëEI¬ùæ\17*5ë>ü\8fåÛ\8f\9e»xþÄ\9eµ³\7fìCç¢\9d\99ÏuÈ\92?ÎZ³ûÄÅk×.\9eÜ\83NâûÎM*\89\85r8µ\88\89¬,I\ 2æé2fÍ\9e3\8f.o¾|yuyråðÍ\9c1\9d\ fY\ 1\16={\9a'0úhÚuè\94\8e\9c»tñÔþ\8d\7fýúm»ºNN\11Ù²$\ 6ì#¦.ß~ìµ\e\1fÙ¶|Ú\ f½[×.­Ï\9b5mLKq¢\9c\84¬,I\9bÑ7g^¿ÂÅ\ 28\83\81\v(^¤P\ 1]Îl\993¤I\9d"úÕ®\9f~\8e\8e1\1fG\8a±IKþ9rîò¥3\876/\1a?ð«\86\81\18¸9\13¬R\964\94oÔyà\84E[\ e\9d»vëæ\95Óû6Îÿ}`\97¦\95\9d3¼ÃJW½`)]®|\85
+åË\95)iæõ\85\väÉ\91%CÚÔÑ.\93¦ÅXÞ\80À\86\9d\aM\¼õð¹ËWÈÝ>2\v_ɹ`\95²d\9eâ¥1\0ùeî\86ýg®Þ"w!v¬\9c1ºO\9b:eôy\89ÇÇÉý\8bd©ÒfÎY \98±TÅjµë7jܤq\83\82*\96µòÅ
\ 5{û2é\ f®LB­Ó\80ñ\v7\1f:{åê\85ã;£Ì\ 6;ãðr-9zæêÝ'¯Üº{ûÚ\99\ 3\9b\16\8c\1f\14&\19>U\1c\9d+\99q K.\vè-åk4lÙ¦Cç.a]:µoÓªI½ê\15J\89úBº\1cÒ2é÷È\93B\12}K\99zíû\8f\9bÿ÷Á³W®]:%\ 5k\r\12¬q÷¬¶ZÒX¹Y·¡S\96n;vñÖ=z»\93\1a¾vi\92jâX¶'ÝAÊ\96¿¸µRÝ\96\1dº÷é?pðàA\ 3ú÷\8dèÒ.¸Q­J¥Åâ~y|3Âôï\91\97G¬¥ê\84~ó˼\8d\aÎ\¹vå\f\82õ\97\91ù\§\16ñÈS\1d\18\ 3|ÿÛ\82¿\ f\9e¿qïþÝëgaxx|\93Jdé[\1c\86·­\9f3U¬\17\12ÖoÈè_ÇO\9c4qü¯?\8e\1côMÄW­\9bÔ®TJ(\92/Gætï\93Ç÷ x\91\12µP\ 4\13o½rýê¹C\9b¥\9b/\ 1qO0I§H\861\0\ 6ìmP\8b®Ý{úÚÝ\a÷o_\86á§#Õ83e ßª6\94«óe·ï~\18?}îÂ%K\96,\9c7{Ú\84±#¿ïݹuã\1aåÍz¿\YÒ¥N\1eu½,)$súÓ"xÎú}g®Ü¸~áè¶¥\93\87\845\89ó\96YdóS¦Ï^ÈTµe\8f\11SWì8~ùÎ\83\87÷`ø\8dó\7f\eйqEº\18'Ö:\9e®®È]Ô\1aÔ¼Kÿ\1f§Ì[±~ó?ÛþÙ²iÝÊE\7fNýí\87\ 1½:\ 5ׯRÒP(wÖt©\92Eéèh\11ìo©\1eÒçÇÙëö\9e¾róÆ¥\13;WN\e\11yó%NÈ\9aßP\ 1Y\12ñ~øÂ­û\8f\1eܾtlû\8ai£z~Y³$5|,\1e/\95\15ù\r\81õBûþ0eáÚm{\ f\1d=vìÈ¡};·¬_>oúo£ú\87\876®V\86/\94;Kº\94$ßÚÏDº\16¹\80'\82_EvF°Î\1aãÔ­\e\9bÝè¤jé:¡¨%×í;s]Z\e±\7f\ 3:WT5Äð±y<MTd:ºy×Á¿ÿµvÇáS\17._¹réÂ\99\93Göm߸bÞÔ±CzwlV£,_(\17J;Ç\13IÜÍ2w\92\9d¯\9d\95ïò:»jMº¸¿9¨U\8f\91p\9a\13Wî<|\fã\9f\98:\92\1a^ªjb"ÿ)¹ÿBn\ 3´é3zú\8am\87Ï^½u÷Þ½»·o\½xæØþí\e\96Î\1e?òë¯\9a×(Í\15È\911µ£\82\ e\ 3§Ù°ÙµÛwn\9c?´yÁoßwtj6\98^\\12\9d¯Ð\98:Í¡\v·\1e\8b\ eIUóUcT593Ƽ&ÞÞ17D\9eB5wúêÝ\87O\9e>{úøáý;7.\9f=¶oëêy\93~øºS³ \12Åóf\8d2\12û\\8aÕ\1a4V÷\9f½~÷î­KGÿY2i°ÓcVi&>3q\9a¶ý~\9aC2ͽG0üÅ£Û\96O\1d\85ª¦L@þléSEñÔ¨-\97\86\8d-0l\F\96\12=zþòõëW/_<{üðî\8d\ fíX·`ò¨~\1d\1aU2ùG\19\ 2Û&
+jµí÷óÜ\r\aÎ!9ß¹rb§´\16Å\89[7\91'!sá-Ã\87ÿ±lû±Ëw\1e\86ß0ï÷AaÍ\83¬d±(]Ð\1fÍ©\1c\87ë³Öì9}ýÁ³Woß½{÷öÍë\97Ï\9f<¼síÜÑ]ëæO\1cÞ³u\9d²t\8d·½´³Oдûö×y\9b\ e]¸yÿÁ½k§÷Ð%HNN0Ùn ä\97d\9f¿éà¹\9b\ f\1e?yHRÍÊ\19?~Ý¡aEÑ\9f\86Y´ämsÑõÈ\0`ÓÁó·\1f¿|ûï\7fÿý÷ï¿ïÞ\82ýã{7.\1cݹfî¸\ 1]\9aU1ûç$\93>òYè7i§8à÷\85[\8e\¼ýàÑý\eg÷¯'K\1dk\96(BJxg¸ÓÛ\9dEÉí\9b13Wï:yõî£'\8fï#Çÿ½h21X9¾`ÎLÑ\93\9e6«t\ f\0\95ìÑËw\9f¾z÷ßÿþ÷?B\1fì_<½\7fãü\91\7fÈÜx\9b:¥õºÈ\9b\12ä\16¯üÍ!\93P\8c\¾ûèñÃ[\17\ em\9ag/á\9d¹açxûfÒâ­G.ÞzøäÉ£;\97Oì^;÷·AÝZÕ¤9"Zòt*\1a=[PK2êÜuòÚ\83ç¯ÿý\8fn¢AÙ¿yùôþ5\94)rGW rµï§\9f%µõ\89øæÎ\93×î=~úèÎ¥#[\16þþ}'\9ah\9cºC-ßå&·o¾\19û纽g®ß\7füôÉ\83\9b\17\8el[9óçïº4¯^* @ö\8c\90·»;©(Öí;{óÑ\8b72wÂ\1eä_<¹sù\18Y¥Ñ£U\909ò~¿|·L®EpÍ\e\ f\9e>{|÷ò±\7f\96L¤3Ùdøá\fwùö\8d\85Þl]¶íØ¥;\8f\9e>}|ïÚÙ\83[\96N\eóM§¦A%õù£%/ÏæRw\9fÿ÷¡\v·\9f¼|û_ä\ 6& ÿúù\83ëdA×O}Û8Þ\80´M\r\ 5\88 #ß|ôìùÓûWOl_F*\1ag\93¤T
+\92\9b­åÉb y\e÷\9f½A\16|>ºsåÔ¾M\8b¦üЯC\93ª%¢'/\r:¥Yô%ÿ\1c»|ïéëw\ eÜAþíËÇ·Ï\1fÜ4O¾§!{\82ýî°4%GÜýÉ\v\ 4ǵ\93;\9dZ8æè4¤\9e"\8b\81Bzý0}%)È\1eÃ
+È5'v¯_0id\9fö\8d%òïû¼\ý#»c¸»b'q÷7Q¸ÿï¿·¯\9eÞ\85\17/\1aOÖ*Hµíg\8ewåÛôýQέ/_>{pí\14MðN,`r0<\8dVc¥&]\ 6\8e_@ÓäÓçÏáò\17\8fíZ7oâ\88Hò)\93:>îG\ 2\ eõ\84µFHï1³P\93Üptw\89û»×ÏîI^ÜEòâäà.ÝÝÍ&­>ú\9d\f\en=zñê\15á¾\8br'w?\9cå.¯Ó-\8dªdÌÌU;O\¹ûøù\8bçOî\93ì¼vÞ\84á½)ù\ 292¥\91\9eU\8cÒ¿Hc\9f¿6ÊÙý\7fïs¿\7fåø6ÚÕ\93{I\84û§öµì5¾ì9rÚòíǯÜ{úòõ«ç        ²ûgr5X¥YØà      \va\87\9b\ f\9f½xIÈ\9f?²cÍ_2ù\0\90Oë8ò´ßxéøýï\v7\1f¹dËîÑs\97í\ e¯ûL~î¤BÃ\8ed\99ã¾37\1e>\7fýæ5ì\1eo\7f·õ­yõeê\92Å@«wÁðO^¼\ 2ù{×ÏIäá6A%\ 3ürfNë0x\93\v±
+\8dÑ3-Ý\ 6ë={ý!÷§÷.\1fݺxÂ@\9b¿\83;\19&ÒU\8eÁ\11#þXúÏÑKw\9e¼|\ 3î  È3¶5)t1PW\18~ó!bx¨øÂN~D\9f\ e\95â
\ao\9f~"Í\87Ê7\1am¡úïûÜ\11«\17\8fl^ð;-mI\9e\81ÏIë;\8d\15\euúî\97¹\183]¿ÿìõÛ·¯\9eÝ»\12ßü.©/­ª/[7´ß\8f³P\18\¹÷\84Ô\83\13GöíØ¬:Æ?y²¦'\8fF\13òR\11)Ýà\9d¹z\ f\94G¨FÝ¢ê?)GJãÿRdü\ fî_$M\99.k>}éZ!=GÂì¨e\1e¿xóVÎH\v\7f\97\vx§W~Ù\fo®Ú¼Û\90\89\8b¨á\9f¿zóÆF~í¼I£0\84¨Y\8e<ã*? K³\ 5\99Ü¡%øºýçn}\18ªÿ¾yñ\88\109IúÅ\17Äcr\176WiÚe\0]M}í>)>ß¾|r[®g\9c\9eå\90¸¿oø\13ÄðoPÊJäw®\9b\87oº´¬\1d(\16Ék{ºø3yQ@íЯÇÒ4óäÕÛÿÞçN\92Ç.:9\1dD\9fæH\9a$      <&»\1fy@¬/\19j¡æ\87Ùß½£­Ü/-K¦\8fÌ8QG~`ø®4Õ\9c\83áá\84o)ùóGw®_øÇ\98þ]\83ëV0\17Ë''úÏi\ 1\91¢"8|ñÎ\93\ fÓÌ+\84ê1¤\19iêÂ7m\8a¤I\92Ácò\16/U£UøÐ\89\v6aÄ$Õüo\9e?¼~z÷ª\19£z¢òq²~\8fÎðR\8e\87áß½£äo\9c?¶{âi?\rè\1eR¿\92¥x~\9aè\93|AVÇæ)^¶>Rä\82èR¤T\12\8ô÷üqßu¬_.\80\f}\93%#Oÿ\166UnòÕw¿ÌY³ëÄå»\8fq\9d\7fI2½z\9c¬i&ë\82¥\eóÎÞë\8a4|3\18~Á&\8cÂ\88á%òè¤\8eïÙ´dÆØA=Ú4¨lÕK\89>iÒ\14¶ûêã\17n9
+î¯ßç\ ecÞ8\83RìǾ­I)\96É'E²ä²Ç´íóÃÔ¥[\ f\9f§úþûïÛWOh     L\8b\a.o\9cK\r£5|\99:mû\8e\99\9a'Ô \94üÍ\8b'öý½lÖ¸!=C\eU\95\13}\8aä)Ñ\e\17m=úA%&U\ 4W\8eo_N\1fD1\15Ê\9e!u\8a\14©\88Ç\94¬Ñªû\90      ó18¿\86.õí»\7fÿ}óòñ­säé¶\84,0µçø*MÃ\ 6þ>\7fãþ3\92#ÒÑÛÓ\a·.\9dÚ¿eÅ\9cß\86õnß$HJô>©R\83\87¾\1cñ\19\fÛ>°»Íe\90Ý\a|Õ¨¼!¿oºT)R¦É\94Ë\9fxLÿ±³Wï<~é\ e      T\f\11ß\90by÷ê\19\v{ãµÎÑö<\ 3yÚ¯÷\ fÓÈc,·¥óþû\16ã\9f\87·¯\9c>øÏª?Ç\ fïÓ±©\94è3¤M\9bÁ7/©Þ¿ûmÁæÃ\17ß÷÷ÿhü\11\97ù©_ÛÚdn3mªT>\19²\170\94«+y\fí\ 3á1¤Ð\7f
+\85¶-\9d\fwOÀúÒÈ\aI\9a|õý8ôw§ '1<±ÊËg\8fî\=shÛjôRý:I\89>[æ\8c\99²å#+\9f¤¡þ\9d¨9\12fGw\83Q\93ôì\12\19j§Ií\93>«®XÉêð\98ñ6\8fAÙl\ fj2µÔÀ¶ÚÎyêQ\1ec!\ f\92l9|þ\16âèÝ¿tðöêù£»×Î\1eÞ±62ÑçËéë\9b3¿¾tí¶ý~þsÃ\81÷û&Ú1ÝÂÀcþoßwj\b\97É\96!\8dOºÌð\98J\8d;Eñ\98ÿÈ¡$¨×Éã«Ü\19ã»\9eZzT\91>:ÕñÛ\9fgK%\195\v\19ô¿zþøî5ÒK-°%úâ\ 5òäÊã§'Ëè#Ë÷¨\91zÿÚ©Ý«g\8e¡+ètYÓ§M\97)\87\1fñ\98Þ£þpð\98ÿè¡WÉSN#z´$A\9d>e<\1fæüT.ð\8a\96¨Ö²û\90\89\v7\1d8{\83\84ë¿ò\8cÅóǤ\97ÚeOôÖ\0ÿ\ 2\ 5
+q¥P\ e\92Y\82SQk1â\a$ím]2     >\ÅT(gæôé2fËW¼dõ\96Ý\a\8f\9f¿AÎ1ôìäÐ\8b\877/\1c?°3   ê¬ñÉîvÃÓÂ\9a>X<fú\8aír\7fMN\8fó¿\9fè«\94ä\8b\15\97\ 2\172è|¯\ 6¦\91Jf\8bæþBV\8cr\ 5²gÎ\90Ñ7O\11så&\9dúÿ<{Õ\8ecv\8f\91]fߺ9?\7fM2d\9eL>1<-\1f\9báé\83$¹¤:é7©Nz*\19ÞFÞ!Ñ7\ e*cæyS\99ê-Ð\9b-B\92t,
+þ£õÀ\15ø\ 1\99ȯQ¢XÞl\993ûæö7\96¯\1fJrÌ\96Cç ªä1öCíS!        X       .=H\12Y\9f\87+\9dny?Ñ7­Q¡T\89Råk¶@Cço\8a:æ³'÷\85ã\auiRIôÏ\93Í7[î\82\86²µ¿ì1t\ 2<æÔU9Çü\17Ù\ f\10\97©@Ë\9e\ 4,¦þ4r\ÐñÛ±³×D\86«<Wä\98èûvjQ·jÅ
+Uë´ìò=\19ºE\99Z\92\\ 6©\ 3~Ю^9ô\a9sæ)È\95&Û:ü:g\rrÌíG/¨UH¤\92\8e\1a\94\ e´\1f .\13\7fîòm»b¶Gºíáú?\ey\87Dÿu\97\90FujÖnôe×ï\7f\99³\96ÌT<wàNë\ 1ø\ 1¹\ 5Q\9a+\94W\97ÏßPªZ³¯úÿ4cù?¨cli@\ eê£ÿ,\9d<\8c<;\(Gú\84=< =î\87p%åõ\98\19öpýÏNÞ!Ñ\8fîß½]«¦M[¶\v\1f\88\92p÷)\f"lÁú\1f-®.\1eÙ²\88¬?«VÊP¸`¡¢|éjM;~=zê\92¿\ f\9c±õJ\92ÙI¤n\98ûkÿ\ e\r\ 2¹|Y\13ä2\92áåpmf\v×{OeÃÿ/j¢_øÇO\83zwi\1fÚ¾K\9f¡ãþ\³ëäÕ(Ü_\92Çï7Îûm@\97fÕJ\e\ 3ô\9c©lõ¦\1dû\8d\9a¼pÃÞ\93W\90c^¿³\9bý.\9d´\1cI\82ºHî\ 4/è}/\\97ÈUê;Ûô®c¢_<ý×áý{÷èÑûûQ\13ÿZ»ûäÕ{\ eÜIÚ;»oýÜ_¿ëܼF`        ³¥TÅÚÍ;õ\e9iþº]Ç/Ý¢\95/¥N¼\1d¹\94´ò+rW4[Âw\91\89\12®´w½l\ f×ÿÉéÆ\96è\97Î\9eðã°\81\ 3\ 6\8düuÚ¢\r{OÁî¯"¹ÓYÔu\7fþò}X«zA\15ÊWªÞàË.ß\8c\9a4\7fíΣ\17¨³Ë\1eóæÅã;\97`öi£z\85$r\ 1»Ãc\9aè]1
+!;0ØÂÕ\81<Iô[VÎ\9b6~ìO?\8f\9b2wÅ\96\ 3ä¸H»K¹cÝÜß\ 6÷\bmV¿NÝ\86\85\7f?fÊüµ;\8e\9c¿q\9f8»ì1¯\9eÞ¿v\9aÜ\9a\eÐ\99®\ 2 É=\81k\eíáJ·í\98¾|Û\91\8b·\1eEzMd¢¿|êÀ¶uKÿ\9a9uê\8c¿\96®ßy\ 4©ã¹\9d;Í{\bÀù\93F~ݵ]HpHû®}\87\8c\9d\bÇ\9d»~ï\89½·Æq\8fn]8üO\94\85^ ^\96é\10®M;#q¯£ÛGDz\8dC¢?sd÷æµË\17/Z²rö\ 3'/Ó\8c\1d\87\1dܼtÆ/C¿éÙ½{D¿A£ÇÏ^ºq÷Ñó×ï!NåÎ\1a'zr÷Ê\89ÝkæÄw\81]L\86·í\ f\84bxøäE\7f\1ftHò\91ä\91è¯\9d?~`çÖM\e7mÙ±ÿ88¡\85ÿFÆê£[\17\8fîX3ÿ\8f_F\r\194xø\98ß§Í_µeßñ\v7\1c¨S\8f!·¶\16N\1c\16Þª\86íNt"VÃF>UÝ ý×?ÎX¹\1dC(¹\13t ÿ\8aÜÆ»tæø¡}{÷î?|âÜÕÛ\ f#\eø\1f\19\80Þ½r
+!1\7fƤß\7f\e?yƼå\ev\1c<uéæý'\12õÿÙ=æè¶\153ÆôkW¿<OV\0$ný·­\18.b¥\e8üµ~Ï©«Q¼Æ\96è\9f<¸}íÒ¹Ó'O\9e:{ñÚí\aO^8äRXôÁ\8dóÇöl^³tÁ_\7fÍ_\f·Úw\f\r|`£.å\18xÌÉÝëè]̪\16i\8b°Ä-ÿ¦Åpºlù\ 30ví)m\82\10ÕkäDÿâé£{·o\½råʵ\9bw\1e<y.å=ù×0é\9d«g\8fîÛ¾yúõ\e·ìØwôÌ¥\ew\1f={i§n÷\98E\93\87G\84Ô\92w\bKäêo²g`òÔ\19s\162V$»OÌüÐk¤KÃo\9e>zpïî\9d»÷\1e<zúüÕ\e\87d$\85óÕó'\8f\1cØ»\aNuüÌÅë´}4ÃØ\9b'yÌ\8f_·oXÁH\97.Äp÷?>\86ÿ<)\19»\16µVkÑuPt^#ûÍë\97/\9e=}òøÉ\93§Ï_ÚYÉN\ 3Y\1eܹ~ùüÙÓ§N\9f½pùúíû\8f\89Ñm\a\91\90xr÷êIô\ 1ã\ 6Únþ§pÁºu9ÉÓý¼zEï5\12ù7¯_½|ùâÅËW¯ß¼u n÷©ûwn^¿víúÍÛw\1f<~öâÕ\9b·ÿÚ©¿\93ÓèâÉ#z\868,ºH$u[\92ÏYHDi@½æØ\a^#Ý»~÷öí\eàíÛw´·\89\1a\10/\9f?yüðÁýû\ f\1e>~ú\9c0\8fl\9e\\83\1dß¹jÖOßthX\91x\8c\8fk6\80´{M\89\98½FbOæoÞ\91Y\9cÿ\1c©Ëª¼zùâù3\0ÄeaìNEÍN\96\ 4N\18\8c*Ùe\1e#\91\8fÛk$övüï½ß\90Õ\1coÞ¼&xC\88;ê"Í<]!K1Çôm[·\1cç*\8f¡Ü\1d¼&2×<\8fê5±BZ\8b\ 3\99§¿É\12ØfULþ¹\å1\94ü\a^s2\1a¯\89\8b}L²Øg\9efa\90J\96\1eÓ5ß.{6ÆÑk¤\1eêlt^\930\901á]º@lh·æUMþ9]»ahâ½&fÀÝá2ç\ el${*Ô/g\e¤ºî\91$çrM\ 2¹\93q\15\fÆè^ÒÆ\ 2®~\ 6ï½\Cwà\93¦?\13Í]\9a\ 2q\98pwþÞ\98\93Ü©×d\94z¨o\7f\9eµj'Y\9fòò½\85&   âN§@\ e\93\eÞ\9d\1a¸çñv\9b×\14+Q­e·Áã\17Hwr\àñd\1aïÖ9²,\8f®¡uË®\95\91\83׺d'¸\15Û\8f\91\85\v\89v\1ai
+äô\9eÕ3èó¶N®]\8e/wyð*í\ 4Gn¡\9d%÷.\13ë4d8Kn\16,ÿcXw¸{\81\84Í\9eÆI>r'¸6}FÏX¹óÄ\95{O_½û7n~±r§kS\8eý³x¢ÓÏ\97'\8c¼|\v­rS²0hóá\vÒâÓDr§¡Jnx;û\\7f\82¸KsMda\10]"¿WZk\928î4T¥ÍB\9dÚ©(Áä?û<\19Ù%È\M^"ï0e\9a`î(ÄnH\9b':ÿ\98AÂÈÓÇ-ù
+\8d»\f\9a°xëÑhÖ\85Å\13ÒÚ\94\93;WL%\8fwÈ+ÆÝA]^"¯+^¦^{r\13øà\85\ f×ãÅ\97»­W\9d\14ÏÅa         /=}F\1f·\94\97ý&\96;]`µ\99\92÷\92\9eÄäé\ 2\96\11#§¯Ú}êúÃ\ f\16µÅ\ fÒRÛ\ 3d\19\99Ó\ fh'\14d\99»o~¾RÓnC§,#Áj_*\9e0³Ë·àÉ\13A!Õ­N=\18\9f`\90\87\ 4²äåÊ7"\ flþs,\9a\85\90ñãN&¸í¡êæmðäGEËF®\94IT¢¡î~ù(éU\9d\7f¨&áÜ¥\a\90Õ&\7f\1f\8afU[¼¨ÛW\96ÿÚ¿=]Yî¾Pu| çë±s7\1e$kô\13ÅÝîî}Z×,áæ­B\1d\1fzüsýþó\1f®â\8c\17wyÅÉri×Gç\1eéO\14÷t\91\ f°\9d»\99\18î\8e+NÈ22ÉÝÝÈ=rç\8fYkÑ9=NDçd[hKÆLÒ\8a\13÷núè°óÇÌ5{\13×±Ê.³sÅ´\91\11     ^q\12?îi³Ù¹\93ÕU    æ\1e¹Ò\80n\95\93Ð\15'ñä.íZ2\83¬\16O\14wiÕòú?Ç~Ó®®\94!ݺ-\95+¹S\979¹så´Q\11­ª¹÷e(.æ.g\19Ùe*òn\1a\89»¼ÀCÊ2îw\19×qwX×6Ò3.ãBî\91\ 6vöD\96q\1dwûº6i}sébîw\19×q·¯k\9b\92¸um\9eçþ\9fm±ê\86¿~íß11ëÚ\18p·ÝÜ\93\17«&b][<¹'º& \v7\1eÝ<w\90l³Ò9\91ëÚâÃÝ\ 5µ\185;\12äÎU3ÆHÛÛdv÷\8e¸\9f¸¨\ 6\96ÌNî©.\9c08¬\99m[!w¿wÔ%c\ fÉìWOîZ=S¾§\9a¨umñà\9eø1\9flvôK\13\ 6\93\17\1e¹ú\9ejôpÉX;Òì³~ì\17Z·l@>§¶/s\ 1÷ÄÏqØÍN\9677¯*oqáv\97qÅÜ\92´:ìêÉÝk趦v³»\9d»\væôHñ\8b*ìð\96Å\93\86vká1³Û6î«D7îKØ\ê\7fòÂ\rTa?KÛøzÆì\9fÐ=\14
+\8a\8fé«v%h\ e\9b\16¿\18/m]2yX¸G¶O\96ð©¼\9f\96¼\87B\82ºUÛÓ\ 5ä\91!Ïl[-s\8fÜC\ 1)ò@4{(8cv2÷{\9c<]à¡íÂeîö=z¤=\14îÄ?Í8<Ü7À3Û´ËÔé>\ 4\ 5È\1e\9bC&G¿\87BÜÜß\91m\1f"\1fîsÿöø6îtw\1fòf\85Q4T?ÜC!n³Û\97X\réæ\99×\12ÈÜ\89»\93\rþÛôûi\8eí6_|¹ÓÂýÀ\ 6i\89\95\a^\a!S·ïÓØ\91ìÓH\9e±\8d\7f¨Ò;L§v­"Ï4×ðÄk8lÜ#÷Ç\84»£W}ÿ\99rg¸Kw\98à2]\9bVrÇ\12«\18¸;ìK:cõî\ 4º{äÞEõË\ 6äuûkgdê¶w\vÔkÿí/\7f\91G\9b\1fÅ{   \8aý\ e\13Ý\97ý/d\8eÊݾñôà\89t%Ä\aÛn8Á]º¡ºr\1a}¦¹`|v¬H\14wé=Uä]\1a£¦\93ýÏ\12°\ 2EZû ïËQ\81Ï\9f5­§\FZÄQ·\1d
+\82õû£î\7fæ4÷\ fÖ>¸ñ=z\ eÜ¥Å3ô5 ò\83Íñ^qõï;²¹ÌA\8f¬}pänw\19²ÉüÎ\93     Z´d[\ri{ç¥\eßÇìH]Ê2\89s\99ÿ\91\85Ë7ÏÊïxuó{R\1d¹Û_74x"\æbB\\86,\ f£\eãL\1f\894#:ñ\8a&×p'û\12å\94\94`\97ù\9fmyØ\1ftß3§÷lK$u©\96Ñ\93×k\91\8dÊ\13æ2ÿ½{C÷\ e[\1aß½Ã\12Ç\9d¾\ 6ÐÏHÞ\eCöÅLP\96±ïª'ï\90\96×­kNìÔé~:¹\8b\94¨\19Ò{ô\f\94î      é\98"Óû\82ߤ\17Ö¸û­\912wéý\89\81\r:~7nÞFRË$dI*Yì\8eô¾É\9eÞ=QÍØw\8cnaÛ¢òiB\1eU\89\92ÞK8·3}¢©K[T\16/M^\1c9\9bnQ\99 åã$½Ë+h\9dßû7±ÜåÍHé~ÓdÄtûñË\84¸\fÙªëú©]+§\8dìáô\ 6é\89ç.¿\8e\8d¼¾pù\ e²EeB\F^ý\eùþogÞ"\91Xêr= ï¯N\16\8f¿¿\1fªsÜå\r0\1dÓ»ûÝ]ÞmºÑWdWÓC\17n%lѾ\½Û6Mu×C\ 6ïs\977lî6\94ì\18\9dЧTì]ÓD'_më
+î¶mí[J{\1e_\96¸'¨k\92¹\93\1e\195Éu\98m¿fºÏÛëwÎ\93·=?I\1f\10\96ö¥\ fk\12eWlwrOF¹\aµ\f\1f6\89<{{\9dl\ 1b\7fà:6ºÒãÄòÓ«o^?\7ftû¢¼Y\97\87æól½*y²iÜܵ»\8e_¼õàé\8bWo¤\a³å\aRÿ{\9f®Ä÷í[ú\18÷ëׯ_½zùüñý\eç\ em!/cn\11ä\99\9b5ò»Ûùò\rÚõ#\e\rí;qéæ½Gôawé\ 1í\7fßgK\9f:\97ø\92\87ç\9f?\7föìéÓ'\8f\1fÞ»yùÔþM\8b&\r\voU]z\8b[¢w!\88\9b;ÝØ°T\8d\ 6ü2sÙß{\8f\9f¿vûþ#²\15\ 1y\ 2Û\8e\91|\1f?zôðÁ\83û÷îÞ¹sëÆÕ\8b§\ fï\7oÂÐðàÈýBÜË\9dl5\9d)\97¿X¡~\9b\88!¿Î\ºqç¡S\17¯Ýº÷ðñ\93\9e?\7fñB"\eÉöÑC\eßÛ·nÞ¸qýÚÕ+\97/^8\7föÔ±\83»6-\9bõë n­j\94*\9e7kZ·¾úOâN\9fCÌW¼D\95F¡=\a\8f\9d¶`õ\96=GN\9d¿rýÖ\9d\1f<x(!\92-¥+ó=wöÌéS'\8f\1f;zøÐ\81}»wlY¿lî¤Ñßvn^­äû/Ëp\13wéÕL~\ɪ\8dÚ\86\7f?zÂì%ë¶î>tüôù\8b\97¯^»~ý\ 6\81-¡kã»\7fß\9eÝ»vlÿgËß\9b6¬[½bɼ\99\13\7f\1c\18\11Ú¨²¥¨.kâw\f\89\93û§\9fÃðé²ä*È\95¬RÿË.}\87\8e\9dòç\925\7foßsàð±\13'O\9d¦p`»\17twÚø®]½jÅò¥\8b\17ÎÿëÏÙ3§M\1eÿóÈï{vlQ+ÐX8·üÎ\rwr·½\8a,K.?½¥B­fíº\7f;|ìäY\v\96­Ù°ù\9fí;wí¦°³]¿vÍêU+W,\93øÎ\995cúÔ)\93&ü>î\97\9f\7f\1c=rØ þ}ºµoQ·r\89\0?úÖ
+7û\8cüö:ò\1eµüE\8deªÖoձǷC\7fü}Ê̹\v\16/]¾r\15\85\8díÜ9³fÎ\98\ f\1fF\ e\1f6dÐ\80þßôëÓ+¢{X§ÐV\8dkW*ÅÓM©\93»p+\82ØÉ§Í\98MW(À\12X½a«\ eÝû\ e\186zìo\13'ÿ1uÚt`ÚT\eÛ\9fÆ\80î\88áCe¾½{ö\bï\16Ö¹S\87vm[\7fÙªEÓFõjV)g5\14Î\97#sÚ÷^åä6ò\9f'I\96Ò'}\96\9cù\8bð%*ToТíWÝ{\7fóý !ÃF\8c¤°³íÛ»\17èvïjçÛ²yÓ&\8d\1aÔ«S«Fõ *\95*\94+eæ\8b\17Ê\9b#sºÔ1¼¥Å\rä¿HJ_\1d\98»@Q¾D`ÕÚ\8d\9a\87\84\1cÖ-¼\aE$Û\90àV-[4oÚØÆ·jåJ\15\ 2Ë\95)UÂj1\89\82! Xa¿¼¹|3QêѼmÐ\1däeÓ§Ë\94-O\81"\ 6s©òUjԩߨI³æ-Z\ 2-\9a7\93ÙÖ¬^-¨j\95Ê\15e¾fðå\r\ 1úbE\8bø\17*èW \7fÞ<¹²gÍ\94>Mª\14\1f¼ðÎ\8dì©éá8\99³åÎ_¨\98\96*[¾b¥ÊUªT­Z¥JåJ\12Û\92V\vè\1a£òÍ\97W\97;WÎ\1cÙ³góÍ\9a%sÆ\féÒ¤N\19Í\8b\ 6ÝI^v\1c\9fô\99|säÉW°pQ=g\10\ 4£\b\18íl\v\17"t#ùf£|3gÊ\98!}útéÒÊo6M\16ó«AÝÅþ3ÛkJ3dÊ\9a-gî<yóå/PÀ\ f\0Y\e[J×\81oZÊ7uªT)S¦H\91\82¾Q6i\1co\94u\17ûÏÁ>Y\8aT>iÒeÈ\989KÖ¬¾¾¾\84«oVGëFá+½\ 1\17\84\ 1ùU¾\9fÅñ*_7\91'¶ÿ\ 2ô\93\93·Ûú¤I\93Ö\ 6Gë:òµ½y\98\10þL&íqÞQéÛ_+\9c"\85L6ªu\1dù:÷ÎgO±w|\9d³\1dÑXW\11\87\8dÙgv8ûJm\r\1a4hРA\83\86ÄÀϯRXÛ\8a!\11!>Mªúø\ 5\ 6\89Áø¹^H\8f\88Ðp\9fZ>~Á\ 1\81á\11\15\89èØ5,$¼¯®\ 4>2è\ 2ê\85\86tÖùK\87ép\84®vxÇö\1dÃðaý6!\9dC\vë\8aá¸\92ø¿OÃèÏáÏé­\ 6\ 3oåu\9c\9e£pü\87U0p¼Yg5\9aõ\ 6N°ð\ 6\9dh\11
+\93¯é\8d\9c(XM\85u\ 1õ#Â;\86µ×ù\a¶íÚ:´vëN¡m"j\86à³>ÒÅ\ 3\9aÔ¬Ñ0¨¢®\84ο=oæ\8cÁ|pa]I\1c\1e\82Á\a¿\93\ ftd¦\v¨Õ5¢^h\9b®ámCÛ:ókÿ.ô\9a-lí1X\fÅ8òGj\83\14³µB(\86F\10þ´!FC\8bÂ\ e­\88\b\ f        ëÑ®kx\17Ùt:ÿú\8dª\ 4\aFà×­{F\84ö ,¢üÊá\ 3bfNgÐqôO\93¾>ô?m}L:ÿº&\8dñkN\17\18\8aÿô\8cúO\83®"ý 6ý\9b|\9f\97¾ï\17
+zÎj2cèk¶rV£Î`\10õ\16£Å\ 2ãsF³`Òu!GY\fz\vÇY8Ñ
+\18p\90Uo°¢ÍV\8b\18tV+§7Y\8c\82ÀqFÎ\84/\19\ 4\1e\1f\98\ 5«E4\9aÌ\16QgµXõ¼Á`\14\8cV\81ç8«Î`4`è-\9a­¢\ 1ö\83{T l`NÎdâ̼`0ñ8\8f\bzàg5s\16\83ÅD®dÕ\v¼É\84\93âD¼\ eGéAÃl\16,f\10Ð\198\8e\87\b\ 60· A8\83Ù\88/XÀÝÈ\9b\8d\9c\99^\aG\99ôFÁ
+­LFÑ\8c¯Y\8c8\8dÁdâÍÄ\v\8dä<"\94å!.oÄWu\ 6\18Ê`áx¸+þXè\11V\88\82\18Í¢\8eç\ 4½ §ÀçV«h\14å+\19\8c8\ f' EF´F\a\ 5\8bÑjµp\82\0r8\8fÁ¢·\b"®Ìs\ 6«\15G\98ô\9c\b\93\88\1cL#Zp\ 4\eÌ&3ôàL¼QÇóF½ÁHæ¯x\88\84VKW§&\91ÌeXDÑÌëxAÔ\eLV#Èá\v°\1d       5½ rF«\89·\88V\8b\8e7B%Á\84k\88FÄ#=BÐã"h\93\19&4èx\11æÅ¥x\1eÆ\14\85x=\fa\15Ì"\9a\89\v\99\8cz\\f-5\13a\ 4¹I¢Åb\85Â\ 2i´YÔã\9af\8e´ØbàÉ\11\88\15Þj\ 2}3âF\87_\82\1axÂõà\06\99\f¼Þh$\ e\0ÁL0±\152\19­ð1üÊ`"|9Ø\ e"Á;\88©àJz³Ñ*ÂâF\13NM.$à\b\8eø\ 5l à\b\ 1.&\8aPU4\1al\97\11õàb6
\13³    \97\81²<g6[yØÏHéÂÁ\89Ï!4\88åà\15z\9eç,V\b@<QG=\8a·\10ò<õ\ 6\81x\18ñcâ\rf\9b3p\88#\11Îl0\e`;J\17\12y\13qQ£ä½\16\83UäàñF«\19g\ 13ÎL,\8dfZ\88B8\ 5\a½\ 4âj¸0\Ko1\8bÄû-\10I\90ã\bÖ\14\8c\16\907\99H\8b\ 4x!ÚÏÃ\8bE|hE\1cÁ-ÑN³\ 5^e"-\ 2_\ 1\ e\85À3\12\91\ 6Ý\f\16¤;D\1a¹\12l`4"ù\89H\ 3¼ÍëÀPD+ap\8bÕJl\a\8fáÑb\93Õ\0;\9b¥8!\97A\9c\10'\813XõH\e\b\1c\8bAJ\16È,z+Ô1\9b\8c\ 6\98\13\ eeÕÃ\8e\ 2ü\aªp6·Cä\10\aA8\92\88\83÷Z\88jÐZ0 kYuô\bD\16\82È\8c¨\80S\89\84±\95\ 4´ÕÆ\ 5ö4        0%      s8\94`\82¿\b&^$\11ËÙ¬\87ìf\80oY\f Å\83\ f\ fSp\ 2\1a\85V\91¯!¾áÏ\82Ù\bC\18É¥aXD9ò      \8cÇs$OÁ\9f!#BZ´â,$î\89\1fZÌȳfÑ(ù7²£\1e\11\vAI\93\ 3\91 æ\85á\11\11\10Á$ê\89«À\86f\18\9e¤!\8b\1e$DÎb\14\91­\ 4\\88Cbµ\1aLF\v\92\17q^Þ¢Ç\ 1f\vi\ 1<R¾\12I\93\16#O¢Ý*5\eÙÞ\ 2\1f1Y\90g\91K\b;8\96É\ 4¹ÁÄ\bw\86D0®\80HÑÁQ\10ó0-É¢p*Ø\16í\ 1       \18Z >.]ÆLÂÑ\ 4ò\b)\13\aË\89f=r3Îi!I\1c~gâô\bq\vÏ\9bÐ\rP­Iò ´\90Ê9\11\96Ã\89á;\1cò\9d\0¡Íô\1c° \8c\80fB6éJ¢A\8fà\12\ 58¯  Ù\89\12F\87\ 3\87AøÁËàOè¨M\1cz(8\8a(IMÌ\88\9bÈ\aV#º\12\92þp%80NÁ\8bH¼f8\10ò³Åb\92/ÄÁr<\92 \99\9c\b\aqÈß"q\19Á\8cÐ\0_H\ 4;\e©¿\93\9c    oF\17\81\906À¾&+¥b$á*\12Í8+õ\ 5´\1dÖ¶\1aEA\90\92\ 3\92\98Þj2"×#yóÈ\910\11ò9ØÁpè5,:Ä.\9c\f×A+\88ïá\b\9eX\ 6VAg\8dìg%îc Ê£C4\1a¤\ 4\8f>\97(`%\r\90.\84HG\bà\f&\ 4=ép\10H4\87\8af#|\1e\90\1c,È*pJHG$@>7\90\16àRhºÎB2¤\11i\15¶G_\ 5w0á¤&Ä\b²°\19:Ñ+!ÿàò\16\92½\91\92\8d¤\1f0éEä\14\9c\ 6      \ 3\ 1      O@ä\vø&\9c\ 2&¢ý\0\r\10\92/\10í8\ 2*¡kD>F0     Rr\86\96èÆDÐ1Jî@Îc0\99M\b\ f\8eÔ%4\9d¡÷@\9f\8e\80EG        ÆðW\9e4\12\8a\84\88ÓâWftBèiÑ"Ä"Î\86<eA_Bs3B\ 6}\1eÑÕ
+\97\91¯\83\88\ f¼\19IÄLÏ\83  n\85Ó ßBÔ«\90ÉÌ&\90"G@$Ä\ 4ú#\944ÈÏè"\90rÐ4Ä(Q\89æf\b\1fáDrÝ\0\7fBxá×(Â\f\ 2ÉàÐ\ 4\91<\ fw5é,&3¹2ºY\13ñ;ô8èÝͤÞ\82[\98IúC8 OE\ 2%=(úkÚ÷ÑJ\880FdHW2\9b\91Q@\b*Á¬\ 6Ú)\814
+4$_ø\ 3Îc"I\bÙÔDhZi\9fc6\93°"½\18\18\83\ 2ò   ú
+\94\r\9ch"½,\9c\99#\9d)b\r]°t%$3\13©i\90ØI\85A¯dB}\88\16°¨\ 1É\95Ðí"Ð\8c&R\84Bl¤;ÒAâ¼&\vq<°%Ñ\ 1\1a¤*Á\ 1h#\1a       \eÁË­f»ñ`q¨\a?\12H\1cÀ椤\118\9c\1aÑ\ 5\11ÐÛ!Ï¢ÿ!e ©aÐ1\90~ÄÊ\93¢\16\8d¶¢N3¢«#y
\80\f\80¸7Áç\902áå²\83\8b¤\88µ S4®$m¢R#¹\80|\13ý8B\89\8evàa(\13Pg!\r¡r@MA,\8cPE\8aG\97D
+'$g\98\97Ômp\18¤[\88\8e"\10        W
+Z\18T$\1d"qP\84\ fr\b\ 6\85\9c@j\1dt\ 4¨¨Ð­¡P Í6¡Ñ¨%D\94q0¥ÉL\8f@~ÃùhX\e\90ö¤\9a\16\99\15\19\16Ý\96IÎá \884\ 6\83\1aÐ\v\91N\13Á\ f\97G:\10a\1eÈo%i\aÝ2Ò ø &1\92.\bv#\ e`EÌÂ<¨\9f\90GI¡L\ÓÀ\93a\92H\8a?\8e\18\10ÄF:Aç,\90¨Ä¨\ 2¶B Ó«À)p\1e+ºYø.O\9c\81\94\8dä\bt\10¨\8dð7º©\98\86/H!\88 ø¨Ü¡Ç5È©\81£Ê·¦Ã#éOù\ etÜäß0,,¤\v\86\80íÃCÚv\f\r\8bÐY\vë\8a\93n\ 2Å\80\ 5\95\bg\81\9féÐ\17\99H\19\82\1a\1f×Â\at\90\8b_ñè×\ 4\b\16|\82.\81´\9eÇ ÑL:Yr¡â¤Ç4#\ f\8bè¹P>£\ 3Á      à¿P\0Õ¼H\Í@úS*\1dü\159\14C¸òíÁ\8f\1c&¢/C\82\15hiENh&Ý\88H.\0CBB|\e½\82\99¦(ØÏB\86Øp\1d¤\1e\91\98\101­+OÆxíhëË\97\8f~\18ï0Êî\16\12Ñ\ 1\ 3mKô£l³. \bf¢C×ú\1d\856èÛ-Ô©\ 1¸\víC§-¤I\ 2\9cXç_!0¨\8a,`\ 32öv\9c?()Ï,\ 4\a\ 6YIKêGôí\1c\1a\1cIÕaì-\8d\9e\8eÎYx\97:\8b¤¥íoª¶,Nä`?æ\19\17\9cßBÜ!\9a\19\17ùWÅ1\18Ã\87"q\90âÒ\8c\v\82\ 4\19
+\81\1eï9\17\93\13\13.Ñüì0¥BYqVyFÅö\93\9dd±â\82Ì\8e2\15\:£b\9b\13áls"ò¬\8as¦öìäV¢\rÍjî
\v\ f\91Ù\ 4\ 6é\ 2{FtÕI³\8a\1dû\85F^â\83\80¬ÝºGhx¯Ð¶ÁÕCû\ 6K\aõpÅt^\1c¿nR:ÆÉ4m\1aM\9bFӦѴi4m\1aM\9bFӦѴi4m\1aM\9bFӦѴi4m\1aM\9bFKÈ4Z°)\86õ*±Ì¤Éó\16Ê\99\0\8a±\11.[t£\86\19"«ý§&Eé¼#ÎE\17MU\ fí\eÅnõ*U&¦Ã\ fA\15\83\r\ 6Évä`ùwöãKF9Hþ¤h`P0\ e®Ü±sDhx\14îNLdÆ9WDÏ¡#d¤\vè*µk\17J®a7§øÞõ\82ÂzD\84\84µÁµB"B\82A¶fH·\18.\16Kó+õ   mÓ\93\1c\1c\9d\11Þ¿$i¢ý\vQ 8è\86Ä\13\18\86\13\1a\ 5\91êBgqzúDΫ\121ÉJ8´4´\84ôÏò¡í;\86ÉËâ &\8e©â\13P1´WÇ6¡õª\94×5©åÓÜþu\f\9aP\f¡O E
+\1d\16F]` #;RGéZ¢g%u\1fùF\93\ eñü*9ÒöuÛ\7fQ\92áÛ¤ÓÁ/\8dø\83\83|üü(kÒú\12è÷\ 4\f/}\9a\ 4¥\8cïÎ
+\1a4hРA\83\ 6\r\1a4hРA\83\ 6\r\1a4h\88/âû\9c.k¾\1a\18®z\\9eu;>Rhê¨\11®
+:MbÏC\13H¥pa¬iúz\18\9aF*\85«\84Ó\94e\ 2M,5ÂMªi\82z\f\9a\82ª\83ç%Ó´s9\18\8a¨é\980h\92y\ 1Ø\8ah\ak3¨ ¬µ"`m\ 3o\0k\r#ÁÚ\12ê\0k\95"ÁÚ\12ê\ 6kõÞ\ak{(\1d¬õ\89\ 2ÖÆP7X«\17\rX\9bDÑ`-Îû`m\ f\15\83µtÑ\80µI\94\vÖÊD\ 3Ö&Q1XK\17=X[E¡`-Kô`m\15µ\82µnÑ\83µU\94\bÖ\9aÄ\bÖ\86Q+Xë\16#X\eFq`-H\8c`m\18U\82µh±\81µm\14\aÖ\82Ä\bÖ\86Q\1fX+\16\aX\9bGq`-Hl`m\e\95\81µ\q\80µy\14\aÖ\82Ä\ 6Ö¶Q\19\15\aX\9bGY`­F\1c`m\1e\95\81µ\q\80µy\94\ 5ÖjÄ\ 1ÖæQ\19\15\aX\9bGY`­F\1c`m\1e\95\81µ\q\80µy\94\ 5ÖjÄ\ 1ÖæQ\19\15\aX\9bGA`-EÜ`m!\95\81µ\q\80µy\14\ 4ÖRÄ\rÖ\16R\19\15\aX\9bGA`-EÜ`m!\95\81µ\q\80µy\14\ 4ÖRÄ\rÖ\16R\19\15\aX\9bGY`­F\1c`m\1e\95\81µ\q\80µy\94\ 5ÖjÄ\ 1ÖæQ\1fX+\16\eXÛFY`­F\1c`m\1eõ\81µb±\81µm\94\ 5ÖjÄ\ 1ÖæQ\1fX+\16#X\eFq`-H\1c`m\1eõ\81µb1\82µa\14\aÖ\82Ä\ 1ÖæQ\1fX+\16#X\eFq`-H\1c`m\1eõ\81µb1\82µa\14\aÖ\82Ä\ 6Ö¶Q%X\8b\16=X[E\89`­Il`m\eõ\81µb1\82µa\94\bÖ\9aÄ\ 6Ö¶Q\1fX+\16=X[%QpSKÝdj\97À}Æôb°\16-z°¶JBàî&»Ä°n\82\aÌë}`-Z4`m\92xÃ3mwáU\\ e\8f\99Ú\9bÀZ´÷ÁÚ\1eñ\86Ç\8cà\8e\v¹\ 4\1e6¸w\80µhÑ\80µIâ\aOÚÁ}×J\f<osï\0kÝÞ\ak{Ä\ f\1e\86»/\9700±¼\17\80µnï\83µ=â\ 1\ f\eÄ3\97\8b/\18Ú_í`-]\14°6FüÀÚZ\8a\0k\11T\fÖÒE\82µ%â\aÖÖR\ 4X\8b b°\96.
+X\e#\1e`m*E\80µ\bê\ 6kõ"ÁÚ\12ñ\0kS)\ 5¬uP7X«\17       Ö\96\88\aX\9bJ\11`-\82êÁZ@\19¬Í\10\ f°6\95RÀZ\au\83µz\91`m      gÁÚNJ\ 1k\1dT\ fÖ\ 2F\82µ%\9c\ 2k#)\b¬¥P=X\v\18   Ö\96\88\e¬-¤ °\96Â\eÀZÃH°¶DÜ`m!\ 5\81µ\14Þ\0Ö\1aF\82µ%â\ 6k\v)\ 5¬uð\ 6°Ö0
+X\e#\ e°6\8f\82ÀZ
+o\0k\r£\80µ1â\0kó(\ 5¬uð\12°\96ñ}°¶Gl`m\e¥\80µ\ e^\ 2Ö2¾\ fÖö\88\r¬m£\b°\16ÁKÀZÆèÁÚ*1\82µa\14\ 1Ö"x    XË\18#ضQuæò$\(ÍÇ\fÖ2Æ\ 6\85´Kù\86ò$\át\1a\bX+\19\a¼©-Þ\ 17ùáG\bÖJÆ\rïh\85wÀÝÞøQ\81µ\98NAÕä½     \9eôLï\ 6k%ã\ 1õ2÷&0ñR¯\ 4k%ã\a5rö&°õU/\ 3k15¨     ¬½Õ«ÀZL\rj\ 2koõ\1e°VR\83\9aÀÚ[½
+¬ÅÔ &°öV¯\ 2k15¨ ¬½Õ«ÀZL\rj\ 2koõ*°\16S\83jÀÚU½\r¬õÔ \1a°vUo\ 3k=5¨\ 6¬]Õ«ÀZL\rª\ 1kWõ6°ÖS\83jÀÚU½\r¬õÔ \1a°vUo\ 3k=5¨\ 3¬ýÔÛÀZO\rª\ 1kWõ6°ÖS\83jÀÚU½\r¬õÔ \ e°öS/\ 4kI5¨\ 3¬ýÔ\vÁZR\rê\0k?õB°\96T\83
+ÀÚI½\13¬UÕ \ 2°vRï\ 4kU5¨\0¬\9dÔ;ÁZU\rJ\ak\ fõZ°\16V\83ÒÁÚC½\16¬\85Õ t°öP¯\ 5ka5(\1a¬ÝÓ\9bÁZ[\r\8a\ 6k÷ôf°ÖV\83¢ÁÚ=½\19¬µÕ \°öMï\ak\855(\14¬\1dÓûÁZa\rJ\ 4k¯ü(ÀZd\rJ\ 4k¯üXÀZg\r\8a\ 3k\97üXÀZg\rÊ\ 2k\7fü\88ÀZj\rÊ\ 2k\7fü\88ÀZj\r
+\ 2kgü¸ÀZm\r
+\ 2kgüèÀZp\r\8a\0k7ü\18ÁZs\r\8a\0k7ü\18ÁZs\rìÁÚ\a?^°V^\ 3c°vÀ\8f\17¬\95×À\12¬½ï£\ 6kñ5°\ 4kïûØÁZ\7f\rlÀÚï4h¡÷\91\82µßi `í\ 5\1a<\rÖ\1e§A\ 6kGÐàQ°v7\rQÀÚ\1d4x\ e¬}MC\14°v\a\r\1e\ 2kGÓ\10\rX;\85\ 6OÀUþà>?ü8á\19õ5°\82û¤÷\98\8bz+\¢¯\ 6ÅÂ\ 3\8a{Þi½\ 6.×B\83BàI¡\99¸®ÚáVE40\84ç%fèÆ*\85ǤÑà1°R\96­'«\11\9e×H\83·\82µ/«\f¬åÒàm`íÑj\ 2k­4x\eX{´jÀZ(\r^\bÖN­\1a°\16J\83\17\82µS«\ 3¬UÒà\85`íÔª\ 1k¡4x!X;µ:ÀZ%\rÞ     Ö~­\ e°VI\83×\82µk+\1dÿgï+à²Ú\96·¯÷¤Ý\82"\88JJH§\ 1\18\88\ 1\98( &
+¢¢\18 \ 2\82  ! tww·t\8bbbcw\9d¸ß\9aµ÷\e¨§àåÝÇï¿\9fó»çx\15a¿Ï\9e\995kÖ̳¨~?4þ\ f\81jcÿw\81ê·Aãÿ.¨¶}êAõ\e ñ\7f\1aT\9b?\95 \9a{\1a4þï: ÕÄÓ \ 1 Ú\ f(\0Õ\94Ó A\82jWà6¨æ\9b\ 6\8d\1e Ú!¸
+ªÉ¦A£\a¨v\bî\81j¦iÐø\1c\ 4÷@5Ó4h|\ eª}\82\9af\1a\ 2ªÝ\82\e \9ac\1a\ 2ªÝ\82\e \9ac\1a\ eª=\83\e \9ac\1a\ eª=£ßA5Á4h|\1dT{F¿\83j\82iÐø:¨ö\fn\80j\8eiÐø
+¨v\vn\80j\8eiÐø
+¨v\vn\80j\8eiÐø
+¨v\vn\80j\8eiÐøCPí\1cý\ eª      ¦Aãë Ú3ú\1dT\13L\83Æ×Aµgô;¨&\98\ 6\8d¯\83jÏèwPM0\r\1a_\aÕ\9eÁ\rPÍ1\r\1a_\ 1ÕnÁ\rPÍ1\r\1a_\ 1ÕnÁ\rPÍ1\r\1a_\ 1ÕnÁ\rPÍ1\r\1a_\ 1ÕnÁ%PM3\r\1a\9f\83j\9fà\12¨¦\99\ 6\8d¯\80j·à\ 6¨æ\98\ 6\8d¯\80j·à\ 6¨æ\98\ 6\8d¯\83jÏà\ 6¨æ\98\ 6\8d¯\83jÏèwPM0\r\1a\7f\bª\9d£\7fA5»4hü\19¨ö\8fþ\ 5ÕìÒ ñg Ú?ú\11TSK\83Æ_\80j\17é/PÍ+\r\1a\7f\rª½¤¿@5¯4hü5¨ö\92~\ 1Õ¤Ò ñwAµ¯p\18TÓI\83Æ?\0ÕîÂaPM'\r\1aÿ\0\v'A5\974hü3Pí1\9c\ 4Õ\Ò ñÏ@µÇp\fT\13I\83Æ?\ 6ÕNÃ\19PÍ"\r\1a½\ 1Õ~Ã\19PÍ"\r\1a½\ 1Õ~Ã\ 1PM!\r\1a½\ 4Õ®Ã\ 1PM!\r\1a½\ 4Õ®ÓWPÍ\1f\r\1a½\aÕÞÓ'PM\1e\r\1a}\ 2Õ\ eÔ'PM\1e\r\1a}\ 2Õ\ eÔ{PÍ\1c\r\1a}\ 5Õ>Ô{PÍ\1c\r\1a}\ 5Õ>ÔKPM\e\r\1a\1c\0ÕnÔKPM\e\r\1a}\ 5Õ>ÔKPM\e\r\1a\1c\0ÕnÔKPM\e\r\1a\1c\0ÕnÔ\e\19\r\1a\9c\ 1Õ\9eÔ\e\19\r\1a\1c\0ÕnÔ\e\19\r\1a\9c\ 1Õ\9eÔ\e\19\r\1a\9c\ 1Õ\9eô\8fA5a4hp\ 6T{Ro@5g4hp\0T»Qo@5g4hp\ 6T{Ro@5g4hp\0T»Qo@5g4hp\ 6T{Ro@5g4hp\0T»Qo@5g4hp\0T»Qo@5g4hp\0T»Qo@5g4hp\0T»Qo@5g4hp\0T»Q/A5m4hp\0T»Qo@5g4hp\0T»Qo@5g4hp\0T»Qo@5g4hp\0T»Qo@5g4hp\0T»Qo@5g4hp\0T»Q/A5m4hô\15TûP/A5m4hô\15TûP/A5m4hô\15TûP/A5m4hô\15TûPo@5g4hp\0T»Qo@5g4hp\0T»Qo@5g4hô\15TûP/A5m4hô\15TûP/A5m4hô\15TûPo@5g4hp\0T»Qo@5g4hp\0T»Qo@5g4hô\15TûP/A5m4hô\15TûP/A5m4hô\15TûP/A5m4hô\15TûP/A5m4hô      T;PïA5s4hô      T;PïA5s4hô\1eT{O\9f@5y4hô\1eT{O\9f@5y4hô\12T»N_A5\7f4hô\12\ e\a@5\854hücPí4\9c\ 1Õ,Ò ñ\8fAµÓp\fT\13I\83Æ?\0ÕîÂIPÍ%\r\1a\7f\17
+çA5£4hü5¨ö\92~\ 1Õ¤Ò ñ\17 ÚEú\11TSK\83Æ\1f\82jçà\ 6¨æ\98\ 6\8d\1e Ú!¸
+ªÉ¦A\ 3\1fP\fªé§ñ\7f\vTÛû7\ 3ª_\14\8do\fT\e,\r\1a4hРA\83\ 6\r\1a4hРA\83\ 6\r\1a4h|{ º²K\83\ 6\r\1a4þ¯bÀg úyþ\95`\90ó_\ 2ÿ\ e²þ}¯\8dÉÑw\f°è¢ô\99þ]&N²ôÝwß#ü\0@ÿ%È¢ìùØÍ\9bÝÈ©x\16¶G"Xúá\87\1f\7fü\89À\8f?\ 2\155OÇ|w=L\9cJÃ"iB,!\8e~\1e8p\10ÆÀ\81?#²\80*j\98b3ñ\1fz\9a8+zrõ©Øiúyà ÁC\86\ eÃ\18:dð Ä\15¢\8a4*.>Ó\7fH\9e°\8dÿHÚø\8f\84\893Øâ¶q1\1eè\87\1f\11K\88¤\11#G\8d\1a\8d0jä\88áÃ\10W\ 4UðT\z öÇ"Þ\1e\81\84\89ÿÌ\b\bß÷ðD.>\10z\1eDÓ°\11£F\8f\1dÇÃ;\1e\81\97\98Q#\86\r\1d<\90`\8aË&Å|,läC\86\ 2\86 ÷6¨'[ÿåVX`ðôÓÏ@Óè±<ãùø\ 5&    "Lâç\eÏ3vô\88aC\ 6ýÌ}¦à¹\18¯oè°á#F";\1f  6\ e\11a0ÉÖ\ f?pm©!yBÏ3xè\88Qcyù\ 4\ 4§
+\8b\88\89\8b\8b\8b\89
+O\11ä\9fÀ3fÔpÌÔwßqÕùà¹0O\83\87\ e\1f9jÌØqãxxxÆ\8d\1d;\86\b        düä^\0%yúyà\90a#Çðð        L\11\16\97\90\96\91\95\93\93\93\9d.5MTH\90\7fü8\82).\9b\146(à   E\83±<¼\13ø&ò#Lä\9b0\9ew\1c°EÄOÄ\15\83©þ~\1cây\ 6\r\19>jÜxþÉ"Ó¤å\14UÔfÌ\9c9C]UI~º\84èT\81    ÀÔÀ\9f\bçëßÇa\7f20(ÌÓèqã'
+\bN\99*\840uÊd\14\12&N\18\8fãçð¡C`©ùþ»þ\7f\87D øià\90á£ÇñM\12\12\97\96W\9e¡¡5o\81¶¶ö|-\8d\19*òÒâB\93\10\ 6\83óqÓ¤ð\vüyÐÐ\11£y&\bL\16\12\11\9f&)%%%)1\r\85\84©S\ 4\ 5ø& ø9r8^jú\7f\8eGðÄÃ'("!«<cÎ\ 2\9deËW¬\¹bùR\9dù\9aêJ2Ó\10ScG\ ee8_\7f>N\8fGc<\18z\81SE§IÉÈ+(!(*ÈÉL\97\9c&&<U\90\9f\8fwì¨\11ÀTÿ¯4\84ãý<xبq|\93E¥äÕ4\16,ÑÓ_»ÁhÓ&£õkVë.\9a;KYfÚT~ÞÑØù¸HÔ\80\ 1ÈÒ\91A\8d\1c;aÒT1)YEÕ\19³44555fÏTWUV\90\95\96\10\13\9aÌ?aÜhÄ\14cMîÏÇÁ\ 6\85\1fGPDJA]kÑr\83\rÆ[wì27ß¹ÍtÓÚ\95KæÏR\9e.6eâ¸QȤ~ø\9ekD\11o\10\f\8a\97\7fª\98´¼ÊLÍyÚ:\8b\97,^¼há\82¹sf©+ãø9\89\8f\a\ 5c'\r\98ñ\93\84%\15fÌ]¼r\9dÉö=VÖ\87ll\ eî·ØiºaõÒy3\15¥D&\8d\1f\83L\8a\8b¾7\80ð<ô\ 6ù\ 4\14Ô4æ-Z¶bµ\81¡¡\81þª\15ºK\16Í×$ã'\1fÄÏ\81?ö·±3\1egÜÄ©ÓäÔµ\16¯Þh¶{ÿa;\a§\93N\ eÇ\8f\1cØm¶qõ\12-u¹iS'\8eCQ\8a\8b¾G\105hØ(\1e~! 9U\8d\ 5KW\1a®ßdlºÅÔd³ÑzÃUº:ó5Ô\14¦\8bO\15\18?f\ 4<Ù÷(\9c÷ëã @0xøèñ\82¢ÓU4uVmÜfisÜù´\87\97\97\97\87ÛI»\83{Ì6¬\¤¡,-2\89w4Zø¸ç{ìO&­4{ÁÒÕë\8c·îÜmiii±{×6S£µ«\96iÏQW\90\16\9d<\91\a/É`ìýù88\10\8c@\ 6%¡0K[oýVËÃ\ e§½ü\ 3\82\83\83\ 2\9e²?¸Ût\8dî<u9ñ)|cG\féïÇéñdÿE1aÈ\88±|S\90©Ï]²j½éNË\ 36G\8f\1d;z\18\82Â\96\8d\ 6º\v5Õä$\84\ 5Æ\8f\1eÞÿD!ûþqàÐQ¼\ 2"ÓUµ\96\1a\9aî±qt÷\r\8a\88\8e\8b\8b\8d
+½àuÊnÿ\ e£U\8bf+J
+ñ#ß\eÈu¢PL\10\92TD¯p­é®}\87\8f;:\9f:årÒÁîðþÝ[\8d\f\96-\98¥$-*8\ 1½Âþ~22\10\8c\1e?Y\~¦öJ£\9dÖ'Îø\85Æ$¥ed¤%Ç\85_ð<yÄÂtÍR-\95é"\ 2\86\12        Bÿ=\ eû\93\ 1Q(xò\b\88H«ÌY¬¿iǾ£\ e®\1eÞ>ç|¼<\\9dl­QPXµXKM\16Ùú¸\91CúùÉ\88\889xøX¾©\92J\9aK\f·ì=vê\H\jv~aa~vZ\\98ßéãû·¯_>_]Vl\12ï¨a\83¸NÔ(ÞI¢2jót×\99\98à}>($4$è¼\8f»³í\ 1s\935ºógÈKàu\86\eDý<xÄ8~áéªs\97oØaíx60&5·¨¬¢¢¬('5&ÐÓñÐ.£\95Ú3äÄ\ 5Ç\8f¦\84(A1¹\19Ú+\8cv\1c8îê\1d\10\16\1d\e\17\e\1d\1eäëîtdïÖõ+´g1\82B¿\13\85#&\8f\80¨¬ú\82\95\9bw\1f\e\9e\94S\YS[[]Q\98\99\10êãrd÷æU\vgÉO\9b<\81\12¢Æ\v\8aËÏZ´Úx÷a§³\17Âã\92ÓÒÒ\92ã#\83|\\8f\1fØa´\92\93\111y&\89ÉÍ\¤oº×îL@LzaEmcSS}uinr\84\9fëQ\vãÕ\8b($jò4\ 5\r\1d\ 3\14\14\85Ħdæäæd¦Ä\85ù»;\1cܵ   /3Èõ¸\11Ì!;\18É\8b^ÛìÅ\86fûOx\ 6'd\97V7¶¶µ6ÕVä§Fú»\1e#\88\12\9fL\89ë¡ef\9a¢æ\925[÷Ù\9f9\1f\99\94\99WXT\98\97\91\14yá,\8a      \9b\90©+H@â\ 2éA¿fxÌ@\80\92µÛ¬\9d¼Ã\92ó*ê[Ú;Ú[ê+\v\80¨£{\8cW-\9cÉõ\18õ\1f&Q\12J\9aK×n?à\80¢gZnQiYIAvrtÀY\87\83;7®X\80\82çä   c\86÷{*̲oEÍ¥ëv\1cr>\17\91ZPÕØÖq¹£µ¾\12Y\94ï©#»7­\ .+\8aV=\14\96G1\89\9a"¡4gÙú\1d\a\9d¼Bâ3òKË+Ê
\93£.¸\9f8°m½î\U\19QÖrÌ\15¢àivÚ¸øE¥\15]lj¿\fDUä%\87ù\9c<´sÃòyª\90G\8dÄ\91\80\ 3&QÊZºëw\1e\13\9a\90U\bËqavR\84¿\9bíÞ-\86K4\95¤ \96÷{\88b\11\ 5¯mîçü£Ó\8b«\81¨K͵¥Ù     Á\9e\ e\a¶®]:GYRh"±\85á^\9d\ 5=Ú ¡£'L\91DDmØeã|.,1\eò\96Ò\82\8c\1a\1fF«±öLyîx\1e;Qð4G\ý£3\10Qm\1d\97Ú\1a/\16eÄ\8mki¢O,zc\86\ræfå\ e\135\f\135wùFóÃ.(qÉ.,+/+ÎEùÝY\87\ 3Û×!Ï#v\fý_Ö`\11\ 5¯Íü\88ëy ª±µ½­¹®</9ü\9c³Í®\8dzóÕdØB\14÷\88\82ÍÕ\84©R*sõ\8cÌq\86\97]XRZR\90\99\18îçz\f^àlbÍ\eÂ\8dº\1d\19\b\90}£×\ 6\17]lhimn¸X\9c\19\17äa¿Ïl\r\8a\ 4(Y!=\8f\9c$j\f\9f\90\94ê¼\15\9bv\1f\8bHÊÊ/..D\e\86 OÇ\83;PèT\9b\95PÎ$\8a°o£ÝGÝ\80¨ªº¦¦\86\9aò¼\94\b?¼æ¡\r\8c\18+9à^)\18\87\8f\99($­\86ö\f{\8e\12
+
+r3\12ÂýÜl-M\rt¸gPìö=OÏh÷1 
+%æõõµ\95EÈ P$Ø\ 6¡\9c}iá\9aç\11Ûõ\89Â2êÚ«\8c-mÝü#\123ròr3\93£\ 3=\9d\ e2Öb^NE¨?íê\eÀ°ï©Ø¾÷\1c;}>:­ übMMUI\ eÚ¿\9c\a\96\16\94Ô\8dÇK\v7\ fa`»>dÄ8´\v%6W§ý#\12Ò³²3SãÂ|Qn\80\r\14¾1¸h××S½\1e­«_á\8a j8
+\ 4ؾ-lO_\88NË/­¬ª,ÍO\8f\r<{\82Í \86rÕ \80(r\17*?[ÇÐlßñ3ç#\12R32Ò\12£\ 2Î:¢¬\9c\18E²¾<\17\8b£Ïºúؾ\82;W\9b\9d¹\10\9d\9aWR^^Z\98\95\18\8e²rÒ \ 4\15ç*Ü$\8aÜ\i¢ÍÕ\81\13î\17"âSÒÒ\92bCÁ ¶\10\ 6Å\91\1c\8aÑ\94\89{W1¾û¼\99\88Q\8e"íÛÊÞ= :5·¨¤¤0'%:ÀãÄþ­\84AMäv\84"÷ÄÃÈ|\13í`\1cÏ"¢\92S\92ã#\ 3<\9d\ eí2B9\vÞ-ôÝÐ{ô®\12`k\%¿\ 6^\ei߸xà\11\18\93\9aSPX\90\9b\1e\87\93_Xòd¹¿ä\11§\1edPPEËÌ.\9b\93\9e\81\91ñIÉ    1¡¾§\8fã\9cEQ\824(NðD6¯Bc\1fÙxÅh\%¾¨Ç\9ex»µ£gPLJV^~nFbäù3öû¶²r(î\1a\14ÃÖÇòãEoó\9e#.ÞA\91q\89\89q\11\81^Îx÷2CV\14G¨>>\17«Ý\10úú\ 6\ f\ 1°5®\12L\11¯\r²\ 3H£6 \8d§WpLJfNNfJL°·óasfÝ\80Û\ 6E.z#y\ 4DåfÁ¢gëz.8*.!>:ÔßýÄ\81íëuµ\94¥¦ò\8då\84A\91í\86\ 3\aã¾>\0ÑxÅlÇ\1c@VÌ!\96OW\9b\8f²ß#.>!±É\19Y\19©ñáþ¤\81#\83âc&åÜ$\8a­P¶fë¾ã§}C¢ââc¡\bL\84ry´Ä \1cª\8fe\ 3V»á\90a#F\8e\1e3v,ôô\8d\82n"V;æ\0Æ\12\f±|¡¾\89å1WßÐØä´ôÔĨ@¯\936,\83âêa:ùüÌ-1Ärk\awÿÐ踸\188A;\8c+d2"üãÐ\vìÛs±x\82¶¾q¼\13øø ¥\ f7^±5®âcb²,\8d\19ÿ°Ø¤ÔT´\ 4ûõ0¨~¯´~ù\ 1¾cl`Tç¯02·\81\93\85\98¸¸(ð<ë\1dàyèÁÆ\fïcÉ\95ÑnH´eN\988IpÊThé\13àãe´\13A\9cú/±K\80¼\e®î\ 6ôÚ<.\84Ç%%'ÅE\ 4x\12\ 65\83\1a\83bæ-ü"23´W\e[\1c\ e\8c\88\89\8b\8d\f>çfge¶f±\86\82¸ /\ eå}4(²Ý\10Ú2\ 5§\8a\88M\93\90\98&.*<Y\80\8fg\ffê{\9c~\12\87Ö\ 2"2ø¬êðI¯À\88¸Ä¤\84è\10_·ãû \87¢È >ËË·X¡X\1e\14\19\e\17\13\11èírÔÂdõBXóPr÷s\1f\r\8aÅÓ\ 4èê\93\96\91\93W\90\97\9b.).<\99\9fw\f£ñê;ò8]P\a6\1c\bÙºú %8!!6<\0\ 2\ 1,ÁrbÔ\18TϼeÛ~û3~(\96\13!
+\99ú\8aùjÒÂ\13Ñ\9a×'Ïc´e\ eF<ñ   
+O\93\96WR\9b1sÖLu\15EYIÑ)À\14Ñâû\1dî«\19\8b<\ f\ 2æö\ 3ð4ÑqñqQ!(§Û¿mÝ2-Hʹ\\ 1f|\ 4¼YÇU»å\ew\1etô8\1f\86BTtØy\ fG(\1cÌE!jÂ\18\94´ô¡\86?\80½-SPDRVY]Ck¾¶ö\82ysf©*H\8bã~LÜ\1fú=n!\835o\86öÊM8`\86á\95%ÀËùÈ\1eâ4\8f\82¤ü?ì{Ðéj8(8£ \10\eÏÈ¢Ö-\9b£$1yüè>\85(r0âg²-SR^uö¼EK\97ë­ÐÓ]¬=g\86\12ôcò \ 4\12\ 5ô\1fpOâ\ 4\1a\8b\r\91ç\9dòÁ\ 13*Äï\fZY Þ#-\8c\97`n\eÔç5\16\94· t3\1eÒMè\1a\ 5\ eÄò\ 1dóã\90\11¸-S^mÎÂe+\r×mذ~­¾\9eμYJÓÉ\86¢\9f~\84eqä8~a´\9b\82þ\8c\13\10\a\88\80yêØÞ-\86hea;Gç2Q\8c\ 3l\85Ù\8bqÞâ\17\1a\93\90\886z8m1\\8cÒÍI¼#ûH\14éx£qó£\9a\96\8e\9eáF\93­Û¶oÛ²yݪ%й*,À\vý¡h\a\88;ÿ        BßÄâ\88³'x^lt(\8a\ 3h{¾\ 2r:ò0\8fÛ<±\9d\12Ãá'ä-\11(oI\ 4¢Pv`\88òr±>\125\80Ù\ f=\8eo\8a¸¬ê\1c\9d\95ë\8c·ïÞ»o¿\95ÅÎ-\eV/\99«.7\r
+ÍC\a\ f\1c\b_5QHJEk\19ZX\8e\9f>\17\8cV`\9cª@n°l\ e\91Óqõ\8c\8añ!¾c\15\8cÌQ\88
+\8aJHII\8a\85\86-+¢úèz\f\83B¦2IDZYcÑ\8aõ[Ì­\ e\1dµ³³=|`ÏÖ\8d«t4\95¥E\ 4 ¿\1em\95\87\8f\19/(&7\13mÏw£P~\9e\15Ê-à0ON\8c|\18®\1d£3>D\8fÒ\81±\ 5¹µJKA[Ð3°c\80¨@,3½.\1d\f\87\96\9f1\7fùÚ-»­\8f98»ºº8Ù\1d²0[¯§=S\1eLjä°¡CQþ\80\fJyÎÒµ[÷Ù¹AJ\17\1f\a\v\vô?èÍS\9d\81ÝT¯>\ 4£t &7\v%xVÌ2pBä\ 5\ f\\9eî{1
+w\1dC\1aÉ;IdºÊ\9c%\ 6ÆæÖvÎg¼||¼= Ç×ÄpÉ\1c\98ñ\8e\1e1|8¬\8bbÌÜ\0e*ñ      qQ°I`\16ƸÛÀÂö\19\98¥\ 3(\939\9c\r\8cNÎÈÎÎ\80\ 3\188ÑÓ\9d«\ 2e×¾TÉHÏÃ]Çò3µWlܾßÖå¬o@Pp ¿ç)»\ 3; UFVLp¸Ñ#G\8dáå'\rÊ
+\19\14Z\80\13\13pa\f\92¨\853QVÎÓ·\85¥\97\18À8D#\8eewÙ8{\87Ä¥eçåe§Æ\86ø@\99\f\16\1aQè|ǯñÏ\9eoÀç`þ\ 11A2\92\a(Ð\l`jqääYÿ\90ÈèèÈÐóÐãkb 3[Q\ 2e\9d\8cåá\9b,.ÇL6Ãc\13\93\12cÃqî\vg\1cÒ\90\95\8c\8añáÈtSHZmþÊÍ{\8eºú\85'fæ\15\16æe$\12g\9fú̳Ï\81\7fÂ\14û\11Ôg3í\8c$\8aÑL»\1c6&§ÑÆ$\81X[ÏØ\1f\80\9d\89\8a´ð¤      ¼<¼|\10ïÉ\bå\8b¾(\99X\80\19%i"\89âz(g+\1dÈÎX¨oº÷8\9c\rå0\8f<\98í\19\93\98\9dø_2Åâè»ï¾./ñ_æN\17­f+7á\92@TbZffzRt\90×I\e\94 ÍW\97\11\9bÌ?a\ 2\9f\80\90\84üÌ\85« nà\19\10\19\9f\9c\9a\92\18\1dìs
+º6\17Î\94\15\9dDI\12õÙ\91Ç\9a­\a\1c<\83ã2
+JËËK\vØÚo\15 ozÔЯ\8eð\92$}Ç\94\96À'+ÄÙ
+9ªMdQÃ`c¢0[\aeÿ¶n~añi9yy9é      á¾¸#s!Z÷\84&ñóO\9a"&£\8as(´\1d\ eÃ¥Í\84È@8\f\825\8fÍó¸Ë\13[\8b\8d"t·\1drö        KÊ.®¸x±²$75ê\82»=dysÕÐÛF[\8c¡Äü'{ôa\9cÓá\ 3(8ZÁ\87+?³Oµÿ\97\98Ã\1d\84vpS$`\ag¶ÏÞýBTrVAQqAvJÔ\853Ç­ Þ¬()2EPp\8a¨\94âìE«\8dñ\11G4L+¤ÆG\9c\87Ó<æ\9aǽ\16\ae\9eóCÃÏî#®þQ©ùåÕuu5\15EYȤà\14\8e\86\92\14\1e\83Á\95\10\83\98\18â)ÄÉ
+\b&\10\8a   \8c©öÿ\12µ\931|S$\944\97¬Ý
+=¢±i¹Å¥eÅyø\90\1c\94\14\13\9e*$*)§\ eaÌú\ 4Ú!$¤efe¦Ä\85ú\12\9d\9aG\95ç±J\a«\8c-íÎ\ 4Äf\16UÕ5B\8bM~Zt\80»ý\81íëõ\16ÀÐ\ 2?\ f\1eÖc\1eÁ1\8d     tx\bí\14\10L`(&\f\82|\87\8bL\84EA3í¶\ 3\8eÈÁÓóá\94¼ #\ e:\r¡\9b@EFBTDLBV\ 5ÖEØ\9b\87Æ¥²\9dRácXaê<\8f­t`°e\1f´tç\94Õ6µ¶µ4V\97æ$\85\9f;uÔÒÔp©\96*r>><ìÌ:WbÐ\84\8f\9f\86\r\1f\89eAxx\11xÆ1OW~ú\81¨Æ\119\88\84">³w$"!ô\88\87x9Zo_\87ü[NjÚ4I\19¥Y(ÑÚyÐÑ\13ås\99¹¸£&à¬\ 3ú\8a¥s\94\98\9eGQ\88Â¥\ 3hé>xÒ'<%¿²¡µãò¥Ö\86\8bE\19qA\9e¸Ç|\91\86\9249\99\b,\9a@|cøÈÑø\\85_`\12@\80\7fâ\ 4Þqcȱv¨Æ\91ãRÓp\85b¿ÃÙ Ï\89Ò\9d«®0]JJFqÆÜek̬ìNû\87'¤çæ\17äf&E\9c?m·×Ô`Ñ,y\\ 3¦Äóz\94\ e \ 1×/*½¨º¹£ójçåÖz\98\128\8f2\98mÈùf2\9c\8fq\ 6ÐCbf\fÏx>\ 1Á)B¢bbâb \ 10yÒÄñ<cF\12
+*\10è\a\11³6°OÚgï\81b\14
+´¶Æ\a{:B\122o\86\92\9c\8c¬\82\9a¦ÎêÍhkî\1d\1c\9b\96S\0\13\ 1       aç Çn\ 5x\1eÚçQãy¬Ò\81Ê<=èÙ
+\88Í*­kë¼~óƵË-µ¥Ù\89\90"X\98\1a.AÎÇ(®a5"\bá?2$f°v\8a\88¸\84ÔtY9yyù/tA\80(F\81wáj\93½¸\93'·¸¬¬$?=\16·Ð­Ó\9d?SYA^Qu¶öòõ(5\80e1» ¸¤(7=.ØËéà\8eõË´\18%ij\88bÄruíU&{\8f{\ 4'äV4v\ïº}ûÖõ\8eæ\8bEé1\81\1e\ eÖ;\8dV¢dJR\88\9f¨×â\14      \v;\81ôÆØñ\13'M\11\11\97\92\91WRU\9f9köìÙ³f¨)+ÈH\8a        1çÚqá\12\ f\96áüÿ\98\9b\7fd2tÓ\16å¦Å\ 4xÀÚ¯;\7f¶ª²²ê¬yK\rL,\8e\9e:\17\96\90\99_\\86¾ \15V\94}¸.Æ\89S³^\12Å\8cår(\96\9bíwð
+K.¸ØÒyëî½ûw»®]j¨ÈK\86\84ÐrË\1a\14ϧ\8b
+B3à@\b:\10u~\1e4tø¨±¼\13'M\15\95\98.¯¬>{μ\ 5\vu\16/ÖY¤=\7fÎ,5E\19   \91É\13yF\ fÇJ%p\03\96\8f8À0?ì\82\89 ò¨ó(\8f2[«»@C]Mm\96\96ÎÊ\8d;­ñ\88I^qYyYQNr\ 4Ì\bmæÔyuo\89b\96\81Q,ß~ðä¹È´âÚöë·ï?ì~p÷VgkMq&Ês\1c¬ñþ\1eJFãF\ e\19ô\13\11t\909\81\12Ϥ©b\92²\8aj³µ\16è,Ó[¥o¸f\8d¡Á*½¥\8bæÍV\95\97\12\9d\82\99\ 2¥ (\ 4O gH\ e9ÁÖ;§  /31Â\ fzÕÖè.Ð\9c5sÖ\9c\85Ë×\9aíE\89{DRvQyeeYa\16r~\98è :Eú|^Ý\17¢\98±|çáSþ1\99¥\r\1d7ïu?~üèá\9d\e\1d\r\15¹Iaç\\8eì1Ö×ÑPľ7\14ì\ 3G'dNãù§\88JÊ*©kÎ×Ñ]i¸ÞÈx\8bÙÖ­f[\8c\8dÖ®Ö]¤5CQZt2¡\95\80\88\1a4l\14ñFÖl\83\8c3:%+\17maâCq\ 6²FW[KCCkÁ2ýÍæ\87\9c¼\82ã3
+ʪ.V\95¡<+\b\8bg+àN\11J<ï?ìGzШ|: .§¢éJ×\83ÇO\9f>yt¿«³åbaZ\14¬Î[ÖàÚ\1ay\ 2\0Y8V\98\99$4mº¢ºæ\82%z\ 6ë7\9bíØm¹oÿ\81\ 3û­,vm%\ f\rÈyíAhS\83\96=\98UDË\1eÞÃD&ed£l2\16e\93\98®Y¾h\9eÖÜ\ 5KVmØ\ 6-¤Q©y¥UÕÕUe(é=\7fÚÖÂx\95ö\fâT\81\1aÏëq¤gl\89byb^UËÕ;\ f\9f<{þìÉÃ;×ÚjK2c!ÚnC\19!\14\11 ®=\bíæ\ 6\830ÐÄÉ"\92rª³ç/Y±ÆhË\ e\8bý\87\8eÚ\9dpptt°?f³o÷V#ýeóg*H"rGãã\1585\10 \8b\148MBû\93ô¤è@Ï\936{LÖèéhÏ×^¬·ÖtÏ\11g\9fÐĬ¢ÊêÚ\9aª\92\r¢cù\\15)Ö©\ 2\97yêÑ\9e\81\1e\1fåå¡É\ 55m×ï>zöâÅó§Ýw¯·×\95f\81íC;\19"J\14ª-°\8f\ 3\9exù§\88I+ÎÐZ¤ghdfnuè\98\83³\9b»§\97··§\87ÛÉã6V;6\e,\9dÇ8^A;¿AIJ\87\8f¹ù\86Å¥¤g¤&à±ÉÝ&kW,Y´hÉrÃÍ;Ñ&/ &½\0ï7+\8b³P\9aå\0\9e\açyÄ1,×7ÄÌE\8f¨\97\en=àä\13\91V\wéæýÇÏ_¾|ñìÑÝ\e\97ê˲ã\81¨m\8c²\14ô\9d m\1dæI\FyÖü¥«7l\ 1\99\84\93§=}/\ 4\85\86\85\87\85\ 6\9d÷9sòØþ\9d\9bõ\17ÏQ\99\8eË£\83\a!g\1dAî)7Ãú\1fB\1ea\9cww8´ÛtÝ*Ý¥Ëôô7nÝ{\f\8fZ\97\¬k¨¯©(LdzTÆdwäH
+\ e\88I¢ \8f\85w\12¹è9ûFe\94ÖwÜzðäÅËW/\11Q\84E\ 5âD\aj\90p¤4bè\10H2y&"\9eT4´\91\11ìØkcïâq. 426!9%%%)>:\8cÔ»X\89kYøÄn\10&\8a\1c"\ 1¢b\92RS\93cabùÐî-ëõWè­Ðß°eÏ!GO´½)¬¬mh¬¯.ËK\89ðu±Ùµ\ 1<O\88¯¯\9d"½æ\899\9c>MQ\13F-Ñ¢\97UÖx¥ëáÓ\17¯^½xÖ\r\18æãì\98\83\8d\88¨aCAà\8d\18âiá\8au¦»­m\9dA\11$69=;¯ °° ?'=1*Èû\94­ÕVæô\1aÚÊ we#Ê'8&\11q
+¥`\87C{Ì\8cÖèë\e®7ÙuàøiÿÈ\94¼²\9a\86¦¦ú\8b%Ù        !ì\9e7l\105\9e×c0n£ù\11·\v\15M\9d·»1QO\1fÞ¾\8aV½Ô\b\18\16\806\12¢Î9bØ0\94\17L\10\84\93Ì\85\9b\9cpó  \8c\88OÍB\9b·ªê\9a\9aêªr\90q\bò&ºO\88^~dRC\86\8eÄ1jÁ*cìz@\14®\99;ÚXn7Þ°nÝF\93\1dVÇ\¼C\12²\8a«ê\9b\9a\9bê*    Ï\835\8f<I§Èó ; \1añ!;@;½ÀøÜJ´èu?{ñêåó'\ fn]n¬ÈM\fE[­\9d\eõ@á\ 3-õ£\86\ f\e>r\f¯\0¡â²ÞÌò\88\93\87\7fX\jvaÙźÆ\96¶ö¶Öæ\ 6ä3iDÅ\1d­\ 1*Ð~\82Lj(È.á®>ÜÁ\8a\\ f\13åïîtÄj\97\99ñ¦Í[vì=ìè\11\10\9dVPQÛÔÒÒX[\9e\97\82Ö<¶l\93\1aÏc\1eU\91cL\16¶îA      yU­×`Ñ{\89BÔ½\e\97êJQvà\8eO@\884jÌÈáÃG\8c\82\16\ 29õyºk·X\1e\81#\80¤L´J5´^ºrõú\8dë×:/µÔáÁ:ÐqX\85ÏâÆ\8f\ 6C\1cÍKÔ½L­ìNC=\1c:XÃÎ\9fu¶µ¶Ø±ÕlÛ®½6'Nû¡H^ZÝØÒÚÒP]\92\1d\1f\ 4c\9fGd\9b\14x\1e«\ e\f]®+7[Ú¡4*ÿb+Î\ e^¾x\8aBTkuaj¤\1f\1eÓ\ 1\81\ f\10\95\83³Ü1¸\85@s±\81É\9eÃN\9e(ÇÎ-¹ØÐzùÚÍÛwîÝ»w§ëÆ\95\904\9c4+Ái\17\10\fM\ 5p\86a\ 6Â
+á0m\93\1c\17\11àåj\7fx\9f\85¹ù\9e}6ö®>!ñ\99EUõÍmmÍõÈó¢Ï»\1dݳi%\8c\98\14õ9Q\90oî=î\11\92\94_ÍH£\9e<èºÒT\99\97\14êåh½cýòy0Â;\9eiPøÄ×hçA\aä*©yåµÍ\1d×nݹßýèñ\93Ç\8f\1eܽy¥¥\1a¥ô\88bs#=ÜúÅ3zä\b\14Ù\18c\e\ eg\ 3"\13áà !*èÜ\19'[\9b\ 3ûöY\1f±wõ\ e\8aIËGß\rypSm9Ú>y;\1dĽl\92S(Ûç±f`&
+M'\88:\e\92T\80\89zúüųÇ÷ov4\94¡äÀý¸Õ\16ÃÅ\9aJ°Ó\e=b8¤\ 6üÂpèM\14\1aU^ßÚyóÎ\83GOÀe\11ÅÝwÑ_-Ï\89\ fò8¾×T\1f|\ f\82Û(\94RLÅcð;Ñn.(:9#\veæ1¡ç=]\1dí\8e\1e>bëèê\15\10\95\f\8e×ÚÞÞÚx\116äî\8cï@Ö6©ð¼?%êùS\14¢ÚkKÒ£Aß\ 3y\1e\fó\83\ 3\r\e\86=HV}\ 1´¤;û\84\96×µ]½u\ fý¥\97¯ß¼}ûæ5ÃkSÂ}\9c¬·­]¢¡\88\9c\96\98±¼\ 2ÐH\87Ç6àä +''\v¥æA¾g]O:88:\9fñFÑ\ e­x(Ø\81¸HE>$Q\87\93\89ã(9I'\89b¹Þ|´ÕC1* Å¨kw»\81¨î»×Új\8aPrÀ\1a\9eGi9
+É#¡×\ 2÷6[\1dw\ f\88Í,©m½Ú\ 5Éü\9b·ï?|øðþÝë\17hÁì¨/Í\8cñw=b\8e·iB\ 2ãÇ\8då\99 (J,zÄ,nn~~.Ú\15\87\aúz\9eqs;sÖ7021³°²®¥½££½©\ 6¢ÜÙ\13ûÍ>kGä>O=\83ù\8aÍ\16vîA\89y\88¨;ÝO\9e={\82­¢\0YÅÉ\83;\88E^\80gôpH¢pÿ\92\16H\93\9cô  Kίj¾r\vñô\1aÑô    áã\87\9f?ºsµ¹27!ÈÝ\ em? ËC\90\8f\97\87\17%óò³tð\ 1h@tJvAQQAnFRLx\90ÿ9\1f\1fß\v!QI\99\85\15µÍ -ÒÖP\85\82\1cX31bBM;bO¢F3+æg\88<êöÃ'O\9f=ÁéfA2
+§p\98¤¥"\85"ò(L\14\ f?9øt\14¤\eJêÚoÜ{ôüÕ»\ f\9f\15á\97O\1fÞ¾|rÿF[MaJ\98\97Ã~3\ 3\9dYòâSø'\8c\9f  $\81cùA'¯à¸ô<¨\99\17"¦â"C\83\83\82BQj\9fEðtåÊ¥\96Ú²\9cDXG¶\91£
\9e³þ\82¨\81Ì\96\1fFfN\94£\1e#¢À¢Â| ²¯\vÍ&\ 4Qh;<      \9aÀW\99X"\13\8cÇõ«\87O_½\ 5\9e~Cøõ\97\8fï^?{\88|¯$=Ò×\19-Z(A\90\14\9e4\91o"Êæ¡\12¼ë°Ë¹ðD¨`VU\94\15åe¦&ÆÆDÇÄ%¥ç\14a\9e:;¯´7^,J\8fÆYùjöPN\89ç±oa\bY\9dSþÑ\99e\r\97\7fô\ 4\11E¤Q\1185&ÇùQÚHdCr³\88ãÒP"¨=~ñæý§_~ûíw\84ß~ýôþÍóG·;\e˳bÏ\93AJZt²\0¿À\141<ßbqì4Q\99«©­©*/ÉÏÉHKIIMÏÎ/­ªkFI뵫\97[ëÈÜ\0¿#\8aF\15>#\8aU2·Æ%óºK7îv£tèá\9dëíµÅé(N`±&Ü\117vä\88\11Ð:(\ eS3[\ f8z\87§\16ն߸ÿäåÛ\ fÈ\9e~'\88úåÃÛ\17\8fï^k©ÊM\bt·Åç\ 2²âS\ 5'M\16\96\80¦hS+8ÖË(\82\ 2AC]MUYqA^nn^AIEuCKGç5Hí\9bªa3~Æ\8e\10«¡hT\81\9d\f¡\1c>Pwð
+M.¨n½v\e¥D\8f»q5*+.à\f\1cÓêh(¢-1J\eGâ´\11\ e|·Y;\9dÃõ«[\ f\9e¾z÷ñ\17ÄÓÿþ÷?Ä\14ò½W\10¤ª\v\92C<í­L¡¥GBxÊä©¢RJ¸bîè\15\9aHìSZ[\1aëk\90\ 3\96\95\95WV×#·C{ \e×®´ÕWä%\912Qsñ¨\ 2\85¡ü?l\15NØÓ¯4FË\1eDó&´\88u?~Ü}ï\16[f\8eë\9bÐd9z\f\ fd\a\1a@\14²Àô\92ú\8e[\ f\9f½~÷\11\19\14¾a\14\99\14"êÙ\83\9b\97j\8bRý\1dñú®(%*4UX\F\ 5ä©l\|#Rò+ë[.u < µ¹±¾¶¶¶®¡¹­£óúÍ[·n^ëh\ 6\83Âo\búý°ú\11\85\ 6Å\90P%\87\b!ÈB\90*­G¾÷ðÑãG÷»®¶Ö\14\81ïaé½Ù\8a\12Bü(\e\1a\8bVy\89/\88zÏNÔ§÷¯\9f?ìº\8c¢y\94ïI\88æs\94§\8b\8b\88\88JÈ©Ï_A¨Ò\80 Ô¥N\14\8e:¯t´·µ¶´¶]º\8chêº}»ëFg{\ 3Ë  8òópUèö+D\11c©X\ 4\90\97RX\rùc÷£G\ fîܸ\846"hoëh½\1d6{²â\93'\8eçá\19Ï?\15\13µÕ\9a(\1d\7f\8d¨7/\1eݾÒX\86RÎS6;7 s\94\95\10\13\13\97V\9cµp5±Xf\97Õµ]\ 1û¹uã:b«\13qvãÖí;wïÞéº~¹\85\8cP,\83¢07 \98"¢9Ï$\18t\86\9e\0ä{9å\8d\1d`R\8f\1eÞ»ÕÙR]\84Ò>¬÷³\18¦\v&O$º,\15Ø\82ù¥\9b\ fz¸Þï¿}\82h\8e\8aì¸\vn°/\9e¯.\8f[z\945Añ\ 1\85¤¼J8¸¿s÷\1e¢æv\17â«ëöÝ{÷\1fÜ¿wçÖÕv8M\fõf\89çpB\9a¢¯D\11c\v0NL$8~\91éE5mؤº\1fܹ\8eL*71Ô\eÚQq÷\81Èd\81\89ü\82Â\92°\831CÁ\1f\19`MûMF0ÿ\1fiRhÙ{     Ë^en|à\99c(·Ö\9e©8]RRZ^MkÙ:8\8f\8eHEvÛyëî\83\87ÝÝ\ f\1f\8fð\0~Ýýðþ\9d\eWÐÛI\87Ó<BÞk\1aG¤)8@\14îð"Æã°6hbnEãå\9bw\1ftc\93j­)Î\88\rp\87\83½åóÔåÐâ%(8EDRq6^æ=CÐ*Ù\86Ò\83Ï\88úøöÕ\93{×[«ò\12\83Ü¡\92»p¶²¬´´\8câÌù0mã
+\91°®ýú\9d\a\8f\1e?yúôÉ\93Ç\80'\b\8f\1eÞïºÖ^_\9e\93\18Â\B\84ÿ\ 5\ 6Å\bR\90 @*\b\9b\12P(d\99Ô\8dËMU\ 5)\91 Þ\86[\7fd%D\84¦
+\89Ic¢ ù\ 5Wúîá<\8aH\ f\b¢Þ½zzÿzÛÅü¤`\8fãÈ0t4TäedäU4\16­6¶°E;¥\1cô2P^ûôù\8b\17/_¼xñ\1cã\19ÊrïÞ¼Ò|\11ïòp«0!øG¹A1\84\9e       Eì9Ð]éà\19\ 2&\85¢\142©îû·\89÷\vÎ\a\9a\92b¢b\12\1a\8bô¡K\bjÇ-(3Ç çgDA"\95\14rö8ÊÂ\16ÏQS\90\93ST×Z\ 2;bÏ\10\94Ïã-åó\97¯_¿yó\1aáÕ«W/_<{ü\0~`\19T\80\1d\18]úüÿ\ 2\83"\86/\88Vybðk\ f2©(dR°ð\91ñ¼µ¦\84ÑѲr¡\86\8a\9c4
+6rª\9a\8bá`Ü=(!·²ù*ÚÂ|\8d¨vÈ8ÏÚ[mA¶¨®¤ ¨2k¾îúí°Vâ|\1evÒoÞ¾Ã\802Ö«\17O\1f¡Ü­\19\990\1cüì&eǸ¢hù×D\91\92ØÄäײuؤ\12\e:n \bò\bªº\97\9b\88F\rÜ¡¨­¡ª '+§4c.\b²\1f'\89ºóèÅ\9b\ f\9f\ 1\eQ¡(57[³tîL\15%euÍE+7\99\93É\1a\1c³¾|óîý\87\8f\1f?B\11ëÝ\9bW/p·C\1d¼\17w{â<\83\ 2\1d»?$\8a\ 2\9b\94_dZQuKg\17îýÁ+\1fn';uÌrËÚåÚ\9a3T\94UÔ5\16è®ÝºÏÞãO\89"÷0è#/\9b7[MUmÖ¼%\ 6¦\96v8DÁéá³Woß\7fü\84kX\1f? ¢\9e\7fórc%Î5mðX,%*Q\7fÀ\149ø4\8e1ûµÿÄYH\aë/áEéq7Z\86ÚêJ³\13\9d\ fï1]«·h®Æ¬Y\9aó\16¯Ü¸Ã\1a\ 2\1at¿Üý*Q×ÛªóQ\8cBDA;Ý\fõ\99\9aÚzë\91É\12\eÊë¸äð\11jX¿ü\ 2Õ¾7/áÄ\15­²Dj\80·\97\94¨Dý\ 1Q,\93\12\93\9b±\0\\ 3íÄR\v.6wÞº\aE\84nH;¡ñ.ÈÓÉf·éÚ\95K\16Î\87þ\9c5Æ»mNz\87%£°|\rǨ\1eD\11éÁÅüÄ`DÔÖu˵µf#v\97¬Æß>2\1d:A\1e\905,\ìÃeÑÇ÷nt°¶\ 2ºóÔ¦S¢\12õÇD\91\97°\bÁU\10kÌö\1dw\ f\8cËÂyÎC\94ÜÀ\8a\8dÃ\14\9cü\1eÚ³e\83¾Þ²eº+\f\8d¶YÙ\82\97\16Ö´]¿\a«\1e;QPã¼w­\ 5åQÁ\1e\8aEóæÌ\99·Ho­\19ÈÝÇe\977^A\9e\87Òyf­ï=\18TWgóÅ\ 2â\b\7f3N\r¸¥üùw\99"L
+ícÔçëÁl£O8Y    \7fô\ 4J\9dw®w4Væ§D\9eww°±Ø¶yý\1a\ 3Ãu\9b¶î±qô\b\8cÍ,©»Ä¨Gýþ{\8fÌüj\v\11QÛ6¬\¢=\7fþÂeú\9bv\1etB\9e×£Ø\aD}Âuvh\9e\81¾5<©´\14\ fÏrE\9bøï\13\85M
+åR\12\8a\1a:\ 6pÇÁ\85\18D\06©§(\vÄÉMynr\84¿»ã\11+󭦯&[¶[\1c<îz.\f§ñd=\8a$ê÷ßÐ^\ fm\8a\aG{öû·o\­«³Hgéªõf{\8f¹ùC\99ýÒÍûàyl\ 6õâÉ}huÈC\9b¼\93\87v\91³³ãÉÔàß@\14ëâ*¸ØG\rä+\ e:yî\15êR\8f\9e>{ö\14
+.mµ¥9I\11ç=NÚ\1e²²Ø½Ûbß¡ã.^\81\85Õ(s$¼è7\ 6QDõàNgSyv| \87ý\81\1d\9b\fWè.Ó]¹ÖÄü £'t²7aÏ{Ïð<´\89\f×èñ\16ü\183\92ÿ;R\ 3\12LQ\821P\90\ 3ý
+KÛÓçc2JjÁ¤\9e<Ãg¡\10ÐK³\93"\ 3¼Ü\1cí\8eØØ\1c±upõº\10\99\9c[\8e\96Ç{¤\17±\11õúy÷í+\8dåÙq\81\1e'¬w\99¬×_µrõÚÍ;öÙ¹ù£ä\ 3º\1f\1f\13\v%ã4â9´\84Ô\97e±µ÷±\ 6\99ÿ\15<±©\12ð\b\bKC        r»µ£\17ä\1e\13Ý\9c÷n^i©)ÉI\8e\ eöó<írò¤³«»O@DbVquó\95®\aO{Ær²pw¥±,;.è¬ã¡=[7­[³výæí{\8f\9cô\82t\96ôV\82¨_\7fA\ 6øòÉ\ 3¨§æCkëaóM«H\1d\84\7fM$Ç ®Þ%4vÄa\9cר\ 2\ 4\9f±IÝí~úâåK86¾y¹¹¦47-."Èÿ\9c·\977\1cW&f\16V5^º~÷Ñsbýb\95\82ß¿~ö°ër\ 3lÚ¼N\1e±Ú¹eó¦Í¦;,m\1cÜ/D§\17Õ´^»\83þ\ eéy\84ãußÁåÔèódw\9f²\14Þäý\9b\f\8a\15Ï\89¬\13æy\ f8z\85`\93êz\806®ÐTÖ}÷Æå\96Úò\82Ì丨°\90\90Ðð¨øÔì¢Êú¶«·a+Âò<"ß$\88B9Q\88Ï);k\8b\9dÛ¶n7'»\9f\88ð\ fë$>\b\84H\8eS(ÜW\eìé\80µ\8fÔpNθxí\vyê¯ËVs\87©\1f\8d        \93ªk¿q÷ѳ\97¯\b¦n^i­¯*ÉËJKNLHLNËÊ/©ªoëħéØ\8b\89\81¨Æ\8aܤp¿Ó\ eG\ eìµ°Ø{àÈ   ·s!ñY%µmØ À\bñÁòû·\84ãU\81ãÁ´7Ñ\ 5É÷\95\9cü\ve\ 5.³Å\9eu\12{c\1c¥P.Õy\e\1a__Ãξûî­Îö¦ÚÊÒ¼Ü\9cܼÂ\92\8a\9aÆvHßaËöé\97/\89\82\98\93\12\15àyêÄQ\9b\83\87\ eÛ:\9d>\17\1c\9b^x\91\19Õ~!\ fàIÇC{\97\vg@}pé\1c\15bF\82t<\86\86ðgÂÕlò
+\e\8aµ\91Ñ&¢T\f\1cÈܼ÷øù«7oÞ\0S÷º®_nm¬«®¬(¯¨¼XÛÐÒq\rñô\149ÞG6\9e\18®w\e¥Ù\85éq!~\1e§\1cí\8fÛ;\9eòð\r\89I˯lè\80\ 2\v2¨OÄæ\85¹âeã½Ë\8e\r¸[\94¨®°\19T\ fÕ\80?T®æ\ 2Q=Ë-Ûñ=H\ 5\17qçëK¢ëéÙ£\awn^»ÜÞÒÔØØØÔÒÖÑyã6J´^\80ãáãtv¢\9ec#)ÉN\8a
+\82¦\1e×Ó\1eÞçCcÓòÊëÛ¯ÝyÈÜæá½\véx)á¾.D\1f±"ûõt¤\80p\ fÙê\9f0z(Wsë2\81\1eQjájc\94K\ 5ÄfA#Â\83'/^¿}÷îík\bT÷ïܺ~õÊåË\97¯t^»Ùu÷áãg/1OL\83"\88z\8f7$\97ê+
+2\12"\83\9e;ç{!82!=¿¼®õ*Z \98u\ 3Âñn÷p<¢ñ\1f&(\1999k\82\19Oz\ f\1cD` \b\ 6üøCO\91o.0Å4)È¥v\1c\13\9eZXÝv\rVÿ·ïÞ¿\87ÊÚ³ÇÝ\ fîÝéê"N\97\1e>z\8aÜ\92Á\13I\14Ä(ÈÌ¡¶Ô\]\9a\97\9e\18\13\11\1a\12\12\16\19\97\9cUPQ×Ê\8cþ\ 4O,Ç\83Ùâ\83àxä\15Y\8c\14\8a9\10ÏP­\1e2tذáÃ\87\ fÃ\82\ 1\9fIWs\85(f\ 5\ fwRì=î\1eÈêéÁ­to\81ª'\8f»\1f>\80³¥G\8f¡\17ñ-Á\13Ó \88\84\13m\8a¡¸ÔÞ\80VÉÌ\94Äø¸øÄ\94\8cÜâÊzÄÓ½G(ú\7føøË/\88\1e\8fH5\19\8e'ÙÃñØi\1a4xè°\11#G\8d\1e\ 3\18=jä\88aC\19â
+\3*¦I\11\82\85ä\19_1Ô¶\91§¼Ã\15[ êå\8bçÏ\9e"<{þâåë7ï°\v±óD\10\85\96½G÷p>QZ\98\9b\95\99\91\99\9dWT^\8dWÉGDa\13ñôËGäxO\89=\1e\9bãáþ"¦ã±x\ 2\9a@6\80\87\ 4>>¾    ãyA\8fy\ 4ÌÁÿÄE¦\ 6°\9dñ)\80\84ÿ¾\13dýòN7¸ÊGÜuøþ\1d\9c\ 2\0^¿~ó\16*Þ$O=\88\82hþâÉ\83Ûh\91l¨©,+)**.­¨®G«d\17âé%\ eP\b¬â
+áxÖ\7fàx\fÑê¡Ã    Ù\80I\93§L%ô\98'Nà\19;j\ 4\16Wà*SÄùº\80\88\fÑx\883\84\86\8e\16\89?Û'â\1c\0ã=°\ 4\91\ 6·Eý¯\aQ(\89D&u¿ëú\95¶æ\86Ú\9aêê\9aºÆ\96Kx\95D<\81·bÇ{G\84²ÆÊ<fªÉp¼A,Çû/»h5©Æ,)%)9M\D\b\v2\93*ßÜb\8aqë-!5\ 3]óN>á)(\9c\13Õ\ 1\b*¸¼ýé#\89Oðq?3'bÙÃ\858\94xÝ¿}ãêåöÖ\96\96\96Öö\8eÎë°J\92Ñ\1f;\1eYÕĽûh\8f\ 5§\9a\9f;\1eæ       O0\8f\eÏ?YXLrº\9c\82\92²\8a²\92¢¼\8c\94¸È\14\81      ã\bÉ\0¬òÍ\15\93úïwä%¼b¸eÃÒÎ\9dq^Bn8ÐÎ\f¸"ñ+üÆgæD\12\85Hx\8b\98zôàn×\r¢Wå:J&\1e ¤\vÖ\ 5\82'2%¿ÖV\8b\87L\1dÈT\13\1coD\ fÇ#x\1a\81'\98Å¥ä\94ÔfjÌÑ\9a«5Gc\96º²¼ô4aÁ\89¼cH=tîTø\ 6°Z6Èv)\17¿(\\8ddÕD\büJpD°Ô\93&L\142)\82©ÇÝ÷ïݹÝÕ\85\92\89û\ f\1fÁÁ0\11Ç\19\99\ 1q\9c\90\9bHÈ/­"'Ýz¬xXÜ\e\85 fYå\19\9aó\16.^¦»\wÙ\92EóçÌT\91\97\12\9b*0~ìÈaÜd\8aqlL\86óýød\89¨o\13\ 5§¯à\7f_\0\9bÔ'´D¢\14õéãGÝ\ f\11Èd\ 2VO\92'\9c\19\aé\91ä\9d\90s\bÙÒa\83{8\1e\16A'&\98\15ð@üê5ë6lذ~\8dþ\8a¥\vµf*ÉL\13\9a4\ 1\v\11q+¢3/\b&Õé-Pv\8eû©Á÷ÞãZï_\91Ä4)`âÝW\93   ¢f\80,\8eq\8e\97\11\eà\ 1ÓÝËç\11{<fÑ\80éx\83\87ãÉÜéJ³æ-^a¸ÑØlûÎ];wl55Z»jé\ 2\rU9        áÏ\98êç\9d2+\9cÃl\ f\16\8dLgø\1e³(þWø\9dÁ\14ä]Ð~ñ\12²     f2A6í¿{EìrÊr\12B¼A`~ÕÂY\8a\17æ\8d\1eß\13\1aÃ\13§\88É(Ï^°L\7fã\96\9d\16û\ fÚ\1c¶9x`¯ùÖMkôt´Ôå%\81)\14Ñ\89,\81IU¿±ÅR/\85Q\f\ 33b¾\1fúzz\1cÜý]¦pÞõî-\80-\99\80\10Gf\ 6(%G{á\bh*\82F\ e\15,þÂÔ\13"\1d\ f\9f\10M\10\14\9d®<[{ù\1aã\1d{\ f\1e;áäìârÒÁîð>s,É<C\ 11\ 5\7fs\10S,\8e%ÙØOD\11¢6LU\1eBZ\ 3Ö½7ïÿ6Q$S¿\12©Ä\a\0+\99 N\13>|îx\e\18
+UXH\8f©\8dG\8a
+\bKÁdîZSó\ 3Ç\9cÜÎzûúùúx\9eq¶·Ù»}\93þÒy3ä%\84°&3\96`Âå\176}Ëþ`\8a¡\ 39E\92yEp\ 6ôý>`?\90ú\9bLýF¤\12Ð\84Ad\13x\9dd\9dwÞ»q\89\ñ@ú\ 5\14\12Ä@È\ 5\94:~"?.q±\0\96Î\95\9b1_w­é\9eCö®^þAa\91Q\91á!\ 1çÜOÚîß¹Ù`)È|\13$\ fú\99(¿Àßgé[r\9e(¦ï\89á1(ÐIJ\81\11¾{=Î\82ÿ\16S¿3\12\89_\19ÙÄï\8cÉ\ 6¨þ>}\80SMØãÙï\aɳY\8aR"\82 75\8c,
+04\85\86\13ZÌZK\fLv\1fr8ã\e\1c\15\9f\9c\96\9e\9e\9a\18\e\1eàízÜz\97±Á\12-5Yq\10\16\ 2}\ 5BÜò§\9f¾¼g\8d£D\91¾'ÂlÑÿJcÏߥ\8a \8b\95q1\88ÂUM\18\8c\80f>0(\13Cd\14ò\92"(w\84{\87È\ 2
+h)¡\1d\1e\88{K(ÌZ¸Òh×Á\13güÃâÓ²ó\8b\8a\8b\vó2\93cB|OÛ[ïÚ¼z±&ØãDØÎ\f\1d2dð`Fµê\aF´ã4U¬\16}âjg,\94TÖp¹\vZÉÿ\11Q\fªz&\13ÄP\11\11¡ 7;=\ 6E(ë\9dF«tæ¨ÉK\8aN\ 1a¼±cF3ä)I\11\18dPªZ˰z°_xBfAYUMmmuei~F|\98ßiû\ 3 Ø1[IZt2æyÄ\b\¬"ÈþìJ:Î\11ÅZ÷\88á\ 4¢\8fð\1f&\b\7fF\1eÙi\0\13˰\19\ 6\99-èâX4G]aú4\91©\82\ 2\13ù&ðò\8c\1a:\8c\8dÕ\83\9d}B\122\8b\9a`踩®²(\v\94\9fí\bµBE)ÑÉü\13\8d\85Z\15\14«\90q1îYë\a¦\18bn _´ÚÔÊþl\b\9e4»÷ø\9f\ 5©?%\8aU]\ 19â£{·nX©3\17íF¦K\88\8b
+\v\84\9f\ f.ÿ\1a5räÈÑcÇ\vÀ¨74$Ù»\aĤ\17V5¶]¾výú5\18ê+ÉJ \85º\96Í\9b¡ %:U\90\1f\11=aüx\90\ 2í×b\15\95¸½q\13ÖÞ\ 2\19\12\bRÿÔ÷þ\80¨O\8cr]Mqf\°\973"jãê¥Úsfª*ÉËN\97\96\94\98\ 6ò\94È´Æó\8e\e7vÜxþ)â²êóô6î<tÒ',)¯¢¡ýêÍÛwïÞ¹\85\87\8bà[8\1d2GaJK]AZ\DhÊ\94É\93\ 5'MB\969~Ü\98QÃû«XŸC\8eq©Ç!H\10\89 õ\91SD\91k^QFl\90\97ó±};6¯Y±T{®æ¬\19êª*ÊJ
+ò²Ò\92â¤\eòáA\89\83þâÚ¶«]÷\1e>"ºàáD,ú\82»ýþíØ{\15e¤$¦\89\8b\89\89\89\8a\b\v\81\12è8´\88²\98â8Q¤n7N\10\1c½ñ\18Ç\8dû\1c     Rh\19död4\83rl°Ï©ãÖ»Í\8cÖ¬Z¾Tgá\82ùópýd\ 62®é\92b {:i²\90øt\98¡Ùbeï\11\84;ùoÞëÆ\8aiÝwot\10E¿SG-¶¬]¾pÎ\f\15EyY\ 4\19\99éR\12\88êI(º\8f\1cF¦ú\9c6)\96J\19Hs2äÜ>kºï#QDÝ\0ùM<\88ý\1cÙg¾ÕxãZ\83Õ«VèéAýDG{Þ\9cYjJ²RÓD\85\85EÄ$åÔæ.[\8bÛdq'ÿ\1d|z\rG²wH\81«³\ e\awm6Ô]¨5{\86º\1a\82ªª\8a\92\82¬ô4\91)\ 2ãÇ\8eê\1f¦\98\92\ 2\81GÝ.Äf\97£]Ì£\7f´\8bù\13¢\88\ 2K\17³ãÊõÄ\91ý\16»¶m11Þ¼ÉhãÆ\rë×\1a®Ö[¶\rendstream\rendobj\r1154 0 obj\r<</Length 65536>>stream\r
+h\9e\86º²ÜtI               )\19¥\99ó\97¯ßq\10W\qË(tò¿}\8ds\f¢\7fßõ\98Õ¶\8dúº:\væj\11Àe=9iq¡I\13Æ1u{9LT\8f[äv\1c\8dúrz±\8f\16\85\ïöÕ¶ºò¼´ØPÿ³§\1c@\9bÅÒbÏîÝææ»víØffb´N\7fùâù\88*yY\19Y\ 5U\8d\85\96\9fÃ#\ f7ïãNþ÷°¯Æ\82DY±\81\1e j\ 6\8but\16/AX¼H{®\86úgµ*\8eû\1ey/!V\82ÜOÎ\9aq&H\11DA¾yçÚ¥\86ª¢¬¤¨`\7fÏÓÎ\8eövÇ\8e\1e\ 1\1c>|Èz¿¥ùv\93\r\ 6Ëu\90U©()©ÎÔÒYe´ËÆù\D\1a\91Ó½|û\1ezøÉV\90¼¤°s§\8eíÛi²ÁpõÊ\95+W­Ö70Ð\aÍÔ¹³Td§               \90\15\89\8a¼z\b\8b\87Á¼&9\19ô¢ïAêwfãØ]´dÕ\94å§'F\85\8çåqÚÍõÔ©S®®èßÎN\ evG¬-w\98¬_½\fE\9d\993fj@\87ú.¦E\91§B8o½{­µ¦(-êü\99\13\87\9b\18­_·ný\ 6£Í\b\rW.Y \81\98\82»ûHçãðºÇR¤\ 6]ß#®çc³pc8\a\82\14ã\88æùãû·®¶5T\15çÂ\91{Hà\ 5\7f?_???\7f\ 4( ¸\9fr<fm±m\93¡Þâ\ 5Z\9a\9a\97é\ 3QÞx\87Ntk\7fúD(vÜÄb`A\9e'\8fîß½m\8b±±±)Ô?¡\0j¼A_W[C\19\14ëáú\1f\8eËÅ÷\fRXK\11Ê\9cÿ¸Ôò\87D\11ǣнÞR[Q\9c\9b\91\92\10\e\1d\19\81\10\19\15\1d\1d\13\1d\1d\15\11\1aèçéæx\149ÓºUË\16-\98¿@G×`Ó®\83Ð\ 6H\ eJ@\8bß'<\f\7f\8blìs=~h¯ù\8emÛvìÚ³wß\81\ 3\99oÝd¨»`\96\92\94È$Æ\ 1\18\87×½ÏÔ\10Nàá\15òEr\84(\14Í\9fuß»uµ½©¦¢8?;#-%9)99%5-=#33#=5)>*Äÿ¬\8b\9d5
+Ы\97/ÑÑY¢g°iç\81\138\8f\82]Âs8lþDt@â \ 5\8d}G\ fìEË\81\85\95µÍQ[;;[ä½Û7\e,cH¦öC\1f\1dÝø\88\ 1kÛô¦ÔòU¢~Ã'zÏ\1f?¸}ãJkcMEiQ~n\ eBn~AQqIiiiIQ~6èSú¸Ú\1f$\96²¥ËV\18\18mßw\1c\ 6\ 5Jq)\ 3­+\88(Ü¥\8d\12\ 4\98ªð8ig³ßÊjß\ 1\9bcöNÎ.§\9c\1dílön7\82\ 2\fî"ê\87¾YF\90"nÂî[©åK¢ HAÅü)2©k\1d-\r5Uå¥%Å\88¡²\8aªêÚºúúúºÚ\8b O\19\eâë\86\992X©§·ÒÐhÛÞcxB\8e!qB\10õè\ eh\12¥F]ðt±?zÈÚúÐ\11;G\97Ó\1e\9e^gÝO\9d8l¹\15_\82@\8cÛö\ 3Q\7fPjáD\82À8G~õ\f\9bT{s}íŪÊ\8aʪ\8b\8dÍ­í\97::.µ·4Ö\94\17\87\9es;~ÀÜt\83Áª\95«\f7\9aY\1c>    \13\15äØ\eÊ\ f\98D\15¦E\az¹:Ø¢Üâèq'W\ fo¿ó\17Îûzº\9e8´ÛÄ\0Z±ñmn\9c\17Áa»\ 3\85,µà\19ëϦÍzoRà{¯\9f?yx÷æÕ\8eÖ¦zÜÄQÛÐÔÚ~¹óÚ\8d\9b7o^¿z¹µ¾ª(3.ÄÇ\ 5í\98\8d×\e¬^m¸ÁÔü \83\9e̾÷\ 1F×^<\ 2M¢¢ô\98 \9fÓ'ím\8fÙÚ;ºz\9c»\10\1c\1a\16\1a|\1eTx·Ã9½\8c(cÒ\9dóD\917¤Ám\97ä.¦\918\aeõI÷Þ¤È\1e\8e»·®]nkn¨«C\1e×\88\95Yn\81JÄý{·o^½ÔXU\98\1e\13xÖé°ÅÖMë\f@\1ewç~;7\18x\ 6ÛF¾÷þ\ 3&
+'R\19q!¾î.\ e¸§ÖÝçBHdtlLTèù³'\ fï1ÆÚ \93Ç÷ÇMNd\90\1a=a²\ 4c\17Ã\9c\88ï1\82T\17\10ÕX_WW\8fìéRç\8d®» P       c§·¯_\82É·\b\7fä|»L7ÂàÛæm{\8fº\80T\1cØ6´\15¿'\89j«A\9bë0ÿ³n'\1d\1d\9d\Îx\9f\ f\89\8aKLN\86Ë×\89»²ç°.!è·R\vCP+$\89s¾Ç\98c\84h~¹­   Y\14"ª¹íòµ[X¡òù\8bç\10¿®\13cý^'\ f\88 á:#³=6\8e\9eÁ¸]òöChÛ\ 3ÙÁÇ÷®·Ã­,\11\ 1Þî®ÎΧÎxù\ 5GƧ¤gf¤%F\81¦<ÜH×o\17ʰÉ%©Í_A\9c\83f\977qÈ÷Ø\88B1\8a©\89tùZ×½n\18(\81ö\7fØ4\83 s¤\9f\9bÝ~dRk׬Ýhjnm\8f\13\84ú\8e\9b0"ò\8e 
+\ esrS¢\83ý¼ÜO\9fv÷ô\r\8c\88KÉÌÉËËNOÀ7)\9aè/d¿\1c\8cãD±\9d\83~î{}Ûï\11ýÕ@ÔÝ\9b\9d\97\98\ry­Ð·Øýô\ 54)¼}\8d\ f\1f\8b1\9dµví\ 6\93\9dûlÝ A@;tèm\83\96î\17OpÇ^Az|x\80¯·§§·_`Xlrfna1ܤ\12\1dàqbÿV,\ 4
+êú(HõK\99\93q\ eÚÓ÷Þ|è£IýNôWC\ 1áÆ\95¶¦ºêª*È\r\9a/]%Æ PìyOL}´Tå'\87ù¸\1cµÚa²aݺ\rÆ;¬\8eº\9c\v#\1a\91pO÷Û7¸¦Ü\]\9c\9d\1c\13\16èïçw>0,&)#·\88y\93¢3©\1aß?ÚÕ\ 3\1e\ÕD¬{D弯á\9c,r¢Ý\1e4ÃVU\94\97W\¬ml»r\13\86Þ \85ê\ 3T¬îßÀ\12{çO£\j˦\rë7\9alß{Ä\19gRÍW±h\ 2\88\9e½ºòü\8cÄèð\90 à\90\bÌSyU5ܤ\98\12éïÖãî\9d\1fû£ÔÂò=X÷p)\88\8f\ 3\80ÝÑRw±¢¬\14\17ë\9a;®Ý~ð\18\ 6F\18¥¦Ë0B\8a|ÏÆr»\89ÑÆM¦;\80¨\90ÄÜʦN\1cÍ\91ï½\82\16\86\8e¦ê\92Üô¤¸èȨ\98øä\8cÜâòêÚúº\9a\8aÂ\8c8\98ý63 osêË\9dÔ\7fD\14Ã÷𺧿\ 5ç\9c¸\95\9aQ\10î\8bï1\89ºv©©¶²¬¸¨¨¨´¢º¡\8dÙ\84\ e97Lo·Tå%\85¢¤sÿ.3ãÍÆf»ö\1dÅDá)\81g¯È õ ëj[}Uq^fjR"LÇå\15WÔÔ7577Àý\80 ÿFÞ\ fÆ\87¯0äp\ 5\81½ÿ\87È9]ñ°U\ac ½/&Å$ªëj;Ú\14\97\14æçç\17\96VÖ6w\¿M\8cÉ|\84`\8f\16þ¶\1a´îù\9f¶?d¹Ãl\8bÙö=\aìN\9d\vM\ 2¹Â.lQï±ïݽq¥¥®ª´ 7+33;¯°´ª\16\84úÛ[ê+¡ÛØíØ\1eì{(9gn\8c\14Ó÷ çdªß±\86¦û`Rä\18;ATu\19.\1eÀç«o½r\93\98ÿø\80\e\17\1fܼ\84\ 5m<O\1e;°gç\8e\1d»­`\844"\99\18\89Ôû·dã\7fK}uEi14þ\83Je[Ç\95Î+\97\9akJñU-\84\ 4\85sL\91¾\87Õïf°µRãpÞÇì\9c\8d¨¶\86\8b¤%ä\16\96U7^º\86\1dÌݼz\8a\83TNb¨¯Û\89Ãû--,¬\ eÚ:{\ 6\81\82À\1d<N\8961¸ñ\1f1ÕÖT_s\11/\9fMm zzãzg{\ 3äöç\XâÙ¬Ù[\8e1õY+õ\ 6ÐÎÄ\17¥\91%\8e¾\98\14yXL\10UU\ 2\85»´ô¬Ü¢\8aÚ\96Ë7îâåì=N\10ðYTjT\80§\8bý\91\83ÖÖ6¶Ng|Cñ¬-1ð\r­|ïÞ¼\ 4¦ntv´Á\1c!\1e#¼F¨T^iÅ÷I\11ºõ\1aJìý¡\1c\8cè¬VjqPH4Ûw\ 2Âyes'«C¸\ fDýÂ\1a¿BQ8-%995\13\86¯È\11e<\1eø\1coãJà\8cÔÃÅÁÎÖÖþäiïÀè\94¼\8aÆ\8e\9b÷\1f\93\83L(;\7f    \8dÿ·n\½r¹£ãò\95«äÎún×u|\8c\1c\ 6©\94Ñ\8a\ 53äàÊ\b¶ÖaN\11Eî÷Æ\81¼\ 6!Éí\1f\9d\ 1³³}6©ß\7f\a¢ Oã\1aò\8e¢\9côäÄx\18SË+¹\bÎ÷ðéË×0q\8a\eÊóÐîÄ÷¬\9b\v\9bÔBKg×C|b\ 5sLÀÔ3´\8d¾{ûÖM\ 4ÄÒý\aÝ\8f@L­ë*äð¥Ô¬{q9Ú³ñÙdÌZ,ð\9b\8c\ f´\1fõѤH5aH\15ÛÑÊ\94\9d\9a\10\e\1d\r  P^iM3v¾\97oÞ¼yÍ8vÇG\7f>\9egÑö$(2!£ ²\81\94Zø@\8c1ÁÒ÷ü)L\11Þ¿\87,éa÷ã' \93\14U\92\ 3¸&ú\8b5\95\97`\8a\93\ 3F¬É\18,^nla\8b²ó¬2ưÕ/}1)b<\e\13U\81\95\14ÂÃÂ#QJ\9d_^Û\82Õö\89¹ø\87ä\17$F\87\ 5\ 5\\b\b
+\8bNÌ(øbØ\16e§o_¿|ñì)V©|\82{ÿá\8a\81\83Î\ 4<YºË\88¸A\183\ 5à\9c\véìá\9cqo@x
+hSßÅIg_L
+km<\7ftçz{}y~zBTXp``0¦¡¢¾\r\93\17 ¢\b£\91pHZ\90\99\12\1f\13\15\19\15\9b\90\9a]\b\ 4\19A\86H\17L\1f½GT½z       :\95/^@õ\ 1\fò%\1c\1db©JÜN»}Ã
+íÙ$SÃ8ÌTÏÙY\13R"«ár\9fM\8a¡\r\ fMwåy©qáAçý|ýð\95\vEU l     :'¯^ÂA\rÊÝ«Ë\vs2±2|V~Ie\1d^\19I       \ 1¢»\1fÏHÀÄ%ÆÛ·0J\bûe¸ö®\ 3ôù ýÑjëz=íYJÒ¢\82äU\9b\9ccªÇì,d\b°á\ 3éÚk¸¶ß\a\93b\b'áîÄ\9cäè\90ó>^g=}ü\83£\93³Kª[®t\81t\ eV\84Ág\7fµ\95¥Eùyyù\85 \fßzåÆ\1ddq¯\19£Ì¿1:ÿaè\19\0Íÿ0Õ\8b5óî\10ú|¡çN\1dÛk¶NO\ewÄr\9a©\9e³³:\ 6¦V0\8e\9dÍ\94êé½I\91D=¾{½\r\8a\93\91\81çÎ\9evs;ãé\17\12\93
\b×ït?Å7!>~x\aJV(\95¬¬ $).]½y÷á\13\94@0F¾Y\9dÿ\9f\18ø\85\18UÅÓº]X\9f/>ÄÛå¨%Á\14î²\1e5\9c\93-S\fi\e\1e\94\r\1fhºùF¤\16Õ´õÕ¤P~À$ª$+!ì¼×i\17''g7Oÿи\f\90$¹E\98Ô\8b§\8f\19\92\14\r\r\r\8dÍ­\97:¯C\15\14¦#?2xbrÕ\ 3¿0æ\ 1Q\94Ã\8d}^Î\88©õz\v5\94§\8b\91W\ 2s\8c)f\860a
+\9eß#{\ 3ûnR@\14¾\96\ 1íz\8bá\0ÅÃ\ 5DI\9cܼ.D&å\80²%#J=}ô\10fH;/w\\82\ 61E\8a§#\993º,²Ø\81çm^á0ÕTU\98\ e½¢G÷n]¿b¡\86\8a\8c\99ú/Cr\19\92N=£] \rÉÔ\13ë½Iõ$*6Øç´ÓñcG\8f\1d?yæ\p\\ 6\88¥ÞÆjLX=\98H%oܸq³ëν\ax\8a\14Æþ~eפø¢÷ÿw¦\12\1d8Ï)@L!ï³\82\86vMÄ\14t\ 2q\90)\86ä2$\9dXÅ{\1fÙn\8aE#Þ}ì­I\11D½ÄDÁÙ¥·\9b\83íáC6Gí]</D¦äU\8205Î¥^\83Q¡Tò>J%ï¡\84\9b!Iññ\97\9e<}ù\ 3Èq]\1cЯ_j\0¦\82½] \7fq\95Î\1cU¢g\8asL\r`$\9dä\84¿\91ùg&ÕG¢ àT\f\9e8zÈú Úôºû\85%\82ï\11\82Ëo@cáåsV*ÙS\92âÏ~4Á\14Ú2ã\8a3²©Âth@¶Ý·ÝhÕâ9jr\98©\11\9cdêûÏLêlp\ 2Ymé}\ 1\8f$ê \1cÉ\81ëy»:àþ\8ac\8e§I%.¸â\8fP¦Æ\\11\99äKb\8a\14æþþ\8a'æ`3Ù\89\ 5çÎ(\18\9esµÛ¿cÓêÅZ\88)!\ 1Þ1\1cc
+\9bÔOÄ>F\ 6.à0?rÊ\ f\ eµÛ±\16Bo·ÆÄ®\18\8e\ f S5>äÜiG[\9b\83Ö6Ç\1cÜ|\82ã2\8bѺz\87¨¶`9
+V&IN\91~ECà+?ãs¦\8a2\89®\8f\9d\9bô\97 ¦$8ÍÔ÷¤0¼\84¢æ\925 ¹\1cLT÷»{_À\83\87\9e>À×\15&\86û{8Û\1fµ±9bçtæ\\b\10Õz\8d,Ì}$4¼\99\99\9aþú§~ÆTGÓÅb\94\89\10SkúKæªs\96©\9e&\ 5w\r\1cq%\94YY\ 5¼Þ\11ÅRwK\8d\ eô>ído{ÌÎÁÅÃ?,\81%\82\87eN\b\15o\18µeÌÚþ\1d\9az2\ 5G\88\97¡\10\91\18î\87\99Â3£ät-Ç\98ú\9e\0®¶àñ\81¾\9dÇ0´¸\be»L\94qzº9;:8º\9cñ        \80Dª®\9dYG!³GB·ã«Â\1d\7f\83)|*\rL\95d#ó=sâ ¹ñ×\98â\80I\rbV[6[\1cscU[zy¼þ;C\8b\v÷\r䥯\84ø{¹»¹º¹{\9f\ f\8dK+¨\0\15<Bìü×_{d\91\7f"¶ð×L\81ä*Èø²15M\88\99%ô¹æI\9aÔ\88±pÏ)\88ß\1dd\93¶é¥ïýά\9aãÊ\vrLè\ 5_oooß\v¡1°-F{\18h ¥\18ÿ\8e&Å_3õ\8c\10§Å\82Çî,¦ðÄöà\81\1c\10+\19Ðãú
+B©,\88)mÓË\96N¢E
+j\9c\90\f\16e%ÇF\84\ 4\ 5\ 6\86DÄ&g\16VÔ·_çQ_\88\9côâ\a\11Lá6d¸ø¢¥¶4'\99Á\14¬}Ó¦¢\1dò0\8e\9cͰÄï\84ÉÛ\88N\11#þ}h+cÍËÞêl­«,ÊIK\8c\8b\8e\8e\8eMHÍ*`TæHUݾNsõdª³µ¶,79\123µY\9f\9cm\1fÇbª¯&õ\ 3\ 6®ö:àè\15\96\8cGüÿ\91¼FÏÇÿ\8dTE"åbáÈ*55=+¯¨¢¦éÒu8` Å=ûDÓ\9f2\85²\84Åsð\89\ 3¡ëÅ    ¦\98JeêÚx8&0>§²¹³÷}çÌ\11ì'ÐúÓÚ\0Íæ\ 5ùù\85Åep·å5¸Ë÷Õ»¾¶\17}ÁÔ+\16S\11çÏ\9c°Þ¹    n\ 4Â'\ eÌ¡¢¾0Å&m#¥<wù\ 6ò\16>²ï\9cueÕ?%
+\17\8c\9eàÒ\K\ 3ôPWVU×5¶âÆ»ÏÔb9ÁÔ\87\1e6\85Ö>¬\ 2°H\ 3&@þP¾ù\9f\1d\8c\19\8f\1aÏê;\ f'ææz\1f¤\18ÝæÐDÝu\1d\1fó655·´\83Z,î»#\84½8E\14sí#\99Ê\81\99\90ãøÄa\96\82\ 4q\84üS\9fo3"[[F2úÎ÷\92#þÿX\87¤\aQ\84jÙ+P\8bŵ¹+\fµX¢4÷\81S\ 6õ¿ß¿ÂT)Ú8ùºÚZm]§;O]N\9cS³2=úÎqÿ]\0J\10ðp\fDó^\11E\ 6\8e·¯_<{\ 2j±·±Zì\9d{\ fº\9f<{É*ar\92¨\8f\f¦@ì\9fP\°0ÅjLìãW}4)¢ï|
+q\9f19\1cÓ\97        >&Sï\18\ f\1f<x\b§¼Ï^¼bÔ\9c\13\83(\ 6SOAHµ\ 5æ¾\83½NÚ\98³\14-9cR¸$\fú[³\19\97¤~q÷gï\98úB-ö\15\]ÿñ\13\a\1eD\11\96\8enòÄ!&\10\vW-\9fϹ+²Ø\86cPr¾å\ f®´üÇD1\ e/\99j±ì\ 2o\9câ\89\9d(ìëx\87ÜÑÄР45\¬©$É¡©"´î\11A
+&øP&uÜ#\98\8cæ½\1fù`\84\ eB-\96)\17ûáÃ?):ýÍ\9fC\9eg\91La½\ 4¶ËMáÖ5Q|Y{\9f§iÉ \85Ç\8cçé¡h\8eG\1d\19¢\11½?Þc\1c^²ÔbÿH.\963D¡\1fô\ 13õðöµ6ö.3h\äD\1f:Ù¨\88\ 5[`Ô\11æ±A4\82ÌÍ{}´Îþ\19þ\.\96#D\11¯\84èû\ 4\ 1Ðü\94p\1fgÖ-äÈ÷~èë\f\b±\8b!F\1daÜÊÅ/:£´OË\1eÛ§øüì²\97\95\82¿ \8a\9d©W\84Ø|iVì\85\96Æ«ñ°\f/\9eèãH4g(Ûl%o\9b'\96½¾O:~       \8eÑô\19Q¿\12­goI±\92ü¤P/\87ý[×,ÖÀ\13}\9c j\0CÙFvæBrÙûâÊë¾\7f\1eÎRÄö\8d\99
+Çl]    0A\92\16é\8b|oý²9Ê\92\8bí9¶ì\81\ 4\10lb\88      ÿÞç\a\97La\15P\10L(Ë\8a9ïvÔÜHo\9e\8a´\10GF\1f\99Ë\1eÚÄÌ_¹ÙÂÎ=(1\8fÜí};DýÆÈ\12pcäíΦ\8a\9cøÀ3¶\16\9bñèãı\1cZöð&\86ÐJB»=öü ÏÊwý\89\8b_\89Û²ð¨MnB\90»\9d¥ñÊ\ 5ê\1c"\8aÜÄ\8c\106\9a\1f\81qlvå»\7f9~û\9c(h\8c$ï(ED­â4Q£Hå;r[LÌ­¿ëÑÓõoC\ f±z2H}²\8dw®6W2-\8aåz}=µb\8c\84²Ô·\b\rá§Ä\r_ÿvüÂ\ 6\9cI=\85\8aì¸\803ÇölZ1_UZ\b\11Å\819vvq\8d%k¡~@\f\83\81\fòúê\7f5>²\0»\98çxf¹43æ¼ë\11ó\8dä,-GÒ\ 3\96ÐùìÅ\86äIÌÅ\96«øV9ÐQûV\80;\89 \ 2\r×ö\14¦F\9cÃ\83\8fs\94$¦LÀ\12\12\1c9\89\19:\92w\12c\1aû,\\ eÛØqó.9\81ÿæ_\8a×_à\15Ñn\fs69      ÁÄ8ßl\ 5\18¥åHfÎ$\8a8.¶;\13\10\9bYRÛÚyëî\83G0{òü_\8cg=ðô        (u`­S|ׯ\85ñ*í\19² ÞB\14¤úÂ\13;Q²Ämª®þ\91©ù\95\ríX'\ 4\8a¸ÿR<ü\ 2\ fîß½}ójGsMIV|\88\97ÓÁ\1dëuçª@,ç\84Ô\ 6¾§\10\9a9¡§\ 5n¦·\ 1\1dè¬âª\86Ö\8eÎë7nÝêúVpëÖÍ\e×;;Z\e«KàÌÊÕ\16.\8f\9e­0\8d\bQ\1c\89~2\1e\ 1Q\19µùË7ì°>áq!29§¸\12\ 6\9d/ut\þV\0òT­Í\r5\15EÙÉ\91\17ÜO\10÷\eÉ\10\15Î>ë&1»¤ð\10\83Ö²µf{\8f¹x\aE'g\15\94TTÕ`\1d±o\ 5uu5Õ\95eE¹é  \11\17Î:Ùì6Ö×ÑP\92\9c:\919ìÏ      ¢Fòð\vK)kêèoÞuÐÞÍ'(2!537¿°¨¸äÛAqQa~nVZbt\88¿\87Ó\11Ë-kuÉK\919àyL×#o?ÐÖ[ofaãàæ}>$26!)%5--ý[AZZjJRBldÈ\ 5o7\a¬\81§M^\98E\9eëõ\9d(|\91\rß\14qY5­%úFÛ÷ÚØ;»{û\ 5\ 4\85\84\85\83\86æ·\81\88\88ððÐ\90À\v¾\9e§OÚ\1dÜc¶~å"\reihÓ\18F¬y\1c"jÌxAQi¥Ù\vt\r7m³°>j\7fÒõ\8c\87§\97·\8fϹo\ 4>>ÞÞ\9egÝÝ\\1cl\ fYí4Y·bÑ\1cUY\8eõ\1eü\87\16¯\80\90\84\9cªæÂå\ 6F[vZî?tÔÖþ\84\83£Ó7\ 4G\87\13övGm\ eXî232\¾PS\157r\8eâDë\ 1\93¨AÃF\8dã\9b,*¥ >gá²Õk7\99nÛµÇÒjßþ\ 3\a\ eX\7f#@\8fº\7fß^ËÝ;·\99l\C\88.K\80<õpÎ\b¿2o%C¾'0U\ZA]cþbÝU\86ë6n61Ýb¶õ[\82\99Ù\16\13\rkõõ\96\99\ 1\82ç\ 2ãñEj¸\85ºo<ý\87q\1fà`dR\13&     \89KË«Ì\9c3\7fá\12\95 \1dnø-ÁÀ@\7fõJ=]òºGiâºGN      Ã3oâ\1c\8a\9c**)£ ¢>KSkÞ\ 2í\85\8b\16é|KX´h¡ö\82yZ\1a\94䤧     Oæçe^\8bÉ\89        GÂ÷\ 6Â\ 5I<\13\ 4&\v\8bIHË*(©¨ª©Ï\989sæ¬o\ 6èagÌPWSQV\90\9b.      WÒòñ\90\17­ö}v\81`\8ay©ò\88Ñcyù\ 4&ãÛ\82¥¤§ËÈÀõ"rß
+ð](Ó¥¥$§\89\89L\9d,ÀÇ;vÔð¡äeD\9c\19í\1f@Üf\ e×O\8f\1c3\8ewÂD\ 1ÁÉS¦
+       \8b\88\88\88~S@\ f,,4uÊäIøÖ§QøÒ&\ eêj0ï}\1f8hȰá#G\8f\19Ç\ 3\17\9aOäçç\17øÆÀÏ?q"\ÄθÛ\8a¼\ 6\8ccJ-\f¦~\1e8xÈÐa#F\8e\1a=zÌØ±ã¾E\8c\1d\8boK\83\9bé\88\8bå¾ã H\19É\14AÕ ÁC\10\86\ f\1f>â[\ 4znÆõ{?qüþ=òreL\15âêç\81\ 3á\96Ào\15ø>G|{æ÷\8cûz9Ä\13\83)LÕ÷? ²~ü\89ÀÏß\18\88§þ\11ß0J\\11Êñ\9b/\a0¹Âla¾I\10\ fO^ÐÛ\1fw\19\93\97I\93×%ÿ÷»o\16ÿíqãsÿÜ\8e=àÿ3ô\vIÿßPÆ\ 5vhРA\83\ 6\8do\fÂÂóÌMæn²Ú4Ô@{¨°æBÅ\8dèÿëmÚkej9téPá\8dÓ5-­æn3¶Ú¶Û|\93åAA5ô[²\82ÓõL7í\14\14#¾L\10}\85à2ËmfÛÌÑo®0Þ´ÓT\P\12}\9d:úßÐU_ÿ\1eb2Ò***²ò2\822Ò2\18ì¿PQ\90\97\95U\14T\91Q\91\96\95A_§,¨¨¬ \ e\7fMZYNQIAY\pú
++Ëmæf\82b\9a&»7\9b.Û¼ÝÔØjÉ&ô{ÖÄ\ f\9fn°dñª\85s\ 5Õ\ 4ÅÌä\94ee6Êm\14\17TG_¾\10ý\1a=\ fú3ò\vÙ\9fLpúÒÝVz¦Æ»-MLMþÎ\1f\8bíÂ?s\1dùyäT\95T%eà\1fâ3(()J2>\85ª$ú\10ðüø\83()®\13\14V\96\9bÌ÷nÙm¹\8b¤NPlÅê\ 5\e5­Ð\1foÞgeº\17\9e¢Ç\1f±ý\ 6Ð,#(+(\83ÿ188\14ÿÇd¨\92 \98¸ \81>úc\19AMSô\9f}_ýå4â×sñ¿\97á\7fÃ÷\92\17ü_3ôoe99i\ 599\19\15y\15E\19y\15yAY9\19i\ 5\ 5y\19EY\19\199YUUÁ]ðUò
+Ò*JªÊ2ª*ò²*J²è«ä¥U\94eTTUTäUe\15\15\ 5Ñç\97\96Q\91QPPVPU\95WV\16\94\95W\96VRQPD¿\83ÌA^\ 5}\85\92´²\8c¼¢,ú\r9yUô\15
+JÒr²rr
+²²J2*²
+\82ZøyÐO\92WT\94QVT\96\93\91S\11\94UT\91VP\95\97UT\95\95Q\94S@?IVQZQQIU    =\9c²2ú\ 2%\15iy\199\ 5\15\15%eyô¦Ð\17 \8f¤ª¢\8a¾\89\82<újAY\15\19iy9Y%U\ 5ee%°:ü\83d\94¥\95eUeÐ\ 3ʧ\12D¿\96V\91\93QRPRU\94GßWYF      =\89¼\8c¬\8a\9c"âGI\10=\8e´¼\92\922ú>
+è§¡'\91\91\8d,@^   ý£,'('\8b~CQNUQN\19=\8bª<þAJªªÒ*2Jò*ª²ò诩\bÊÉÉJ+(!Ò\15eÑg\92\17D\1f\ 5ý\7fôqþ\1f{_\ 1WUÖµ?\1d\8eÝ-(*
+âí°AQ±»[±»»;ÇînA\ 4\14\v\15»»»»G§ã{¿gísî\ 5\1cgÔñr\17\öóÿÿ¾\99ñ½Þ»Ï³zïµ×ÑXÍ:\8b\91>\80¿a\ 5\ 1V\83\ eDhñ    ü\r³U«Õ\12·X       ¸ÅOèÍF\8bÎ\82ïV~Çb\84\16ê\f:\8bÞ¤\81ÜÀ\95\8fEk\86`5\16£Î¤s3Yt>:\93U\ 3Ù\92
+ãw\8cø\e\ 6\8b\ 6\92\81\82ÓïX \11£Å \81ج:½ÑMgÂw\98ôø=\9dU£±\1aÔ\1f\82â\834³Ñ\88¯ÆS\9bÍô!³Ug5èI\85h¹&\9dÉ 5i\r\ 6£V릳X}\8c`RoÐê­\1a\9d        \9fÐã\ ft\1aè\82Ñj1hÝð?â\ fÀ\89Nc6\984Z\959\8b\ fØ3\19µ$[³\1e\9f²ø`ý&-¨3êè\89¬ÐU\83\ 6\12Ñ\83'\83\9b\1eZh°â[!23ÈÃ\ f\99}´&,\rì@1uø\84\85X²ê\8c\903\94\1dÒ(-¨0\9añ·ÌnzÈÑBjm1èô\90\13$­ñ1\19\vü0¾ _cò\81úYA\80\1e* Å'ðËf\8bV\ 3Þ ä\16|Bë\ 3\1eA\93Æ\ 4\15R\95N\vM4Z°\1e\88     ¿\88OÁu\18t\10\ 6§ø\1e\19ÿiÑ\11y&¬\ 5Ê 5\99t¤?¤>f­\16f\ 3M\0q:ü\1e>\ 1\v\ 1\9b¤Úz+hQ~Éè£7Àpðkz-d«\87R\81\b\15\86\8aà{Ìx\ 4Ø\b\1eª×ë\95\15ÃæaÑxr\1d\9e    4À `\9a\ 6\9dAC\9fÀ\97â?h5 ÂlU\rÉDÖ\ 5{ÔÑ×\19!%2\1c\ 6þ\0þ\ 1ÏDú\05!m4\81N\1dÄ\ f\91\1a!\14\1d1\8eOè|\8c´\10­\1e\123\99¡1:2\1a\93\ 5O\vËÑ«¿\ 4%ÑA"V¬\ 6B\13\9ag6@\a!+òEÂ"\8dx\16\8b\ 5t\1añ\b¤À\ 6\8dÑ\b\91q\v9i\8cVh\99\ 5Þ@c\10ßA:\báá÷Í\ 6û3Á\81Àåi\8dø\e\1e+\99\8aUO¶Mß\ 3¥ÇïBÜð\9c\92\19\9fÐ\91QkÉ^Ì\8a$É|µF\83\86\94\9e>a"ªA\14¾È¤þ\92\ 6F      37à߬ä\1dLx\ 4ø;,ÁD\9a\r¿\89?\80\81°`+Ù\9b\ 1\8f\0\9d\87_µê­&!'+tD\83ç\81xÄC\83\1f(\vt\1c¾TU\b-¬Ô\0u6àÁàGuF\18\85U@®ZEÉ\ 5\93°]\vÄ\82O\98(v[à\1dôÐd\9dp\89pÕð\91\10\9a\81è5XáD¡|ô<ZÕ\9ch9z|\81\16L\99t\1aòDZh\1a´\19ö£Ñ\125Zò½Ä\1d\1e\12ÿ\17\ eM\87GÒjñ\10ð)´\16Ø\17ìÖ\ 4'dÖA«á\13á\89`O°l<ºÕ\16,\84NC'\f°\ e\ e\7f\8dNî, \1cÞ\ 5Ôèá«ð³p3 _c\16¿d4iñ¥x\b=Ñ«Ç3Á¡À!\18á*é\13F¬Vc\80O×Ð[Ü\95_B\0Ô`í\1að\r\ e±b\83ÁGk\85 \8c°\ 6\83\ 1¿\84µÀ\12á\92áÄõ»B*\ 6\13þ\1cb3\93Áé±Z\1d\84\béÃoC\90\ f\\ 6ù\1122U!\10\15­\10\87AKÁSqÁX«VO\7f\ 4SpÃ/@¯ \ f\13Öh$z¡W\b\133~\1ffKN\e\ f\ 3#Á7\98\14\12ña¨\98Ñ :\b\84MòȰv\83ð< \0Â\ 5\ 4T\1820C\8eZ-"1em\16zf=\85!z&d        &<\91\19nQk\0I\10\8a\86\1c½\9eB\8cÑ\ 4ß\ 5ý4©ú`²"Zià­\10ö\91\16@Jf\1f\83E«Å\17\98ðKBça~à\fôã\97àh@\12¹Z\b\ eñ\81Ö\82¿a!
+à3(ÔZ!%\ 4\ 3ø8Rtå\97\10\ 2Ér\fz+y\17|\ fÜ«\81\\85\1e\92²\90^Y`¶Èt,&\8dÞ,¤D\82\85§\aíx,d6fD7«YD3ü\12\1c0I\9a\92\1aè\17\9c\9aEù!Ê\15\18\94"3±\bò _\98\9f\ eF\87oAL\87\9bÅC\19Ep\152\80Ü¡<Z\9d\90+}\ 5\f\1c¿/ô\ 3_a6\92\ fÄ×i(\96©\ 1\ 3\11\19ÆG"Ð#\ 6B\96Èe°X\1d\14\11vf\15\ f\84ÈeÕ\93°u"Öâ      á\8f)zé\85ÿ°ê(?Â
\8dSPÇWhÉ3!)\81\85©\ f\ 4\15Á² \ 2è&©\9dE\ f\ 3ÄZÉÑ\eÉqâ\89\10Ì \7f\13\8c    Ìá;\11à`HpBH\91è\87\10P´d­¤\rP\ f
\88køUJÅLª\8c\10Ôa7Hm I\1a\92\11\1eQ\8fÄAcÕÀ\83Á\88-\14\f¬ø7d p\ f\88\16&\1fÒc<¦ÑLé\e}ÀJ\16d´RP\17\8fl@"    ·\86àeP~\a\7f\1d\9e\1f\11Ç\88|\13ñ\ 5üZék!-#,A«Ç× ¼Y xh\9e\15\11\r2\827CΠ  gfÄ?è\13\ 6Jj\91-@tà\ e\9f\86¶Á^°VÕ³\8aO!J «E&iRò*¨º\86HÐPô\80;\82
+Q¤\82³£ô\r¿c Ó\83ÛAz\83ÿÝJ\14à÷EÞªWü*\8c\11!\1d\9e^«S\9f\b^\13\16\ f\8c[\85\7f\86ºÀ\8bâ1àéÜàK|\8cZ\8a\8f\10¯A¬\17q\f\12Â\8a@\9dÕ\r\94!\12Ã\17hÈa
+¥£Ä\1eN\16\7fIg\8bèÈ\86¡\f \18þÌJ|"W\11F\82\ 4ÚJ\19\8d\9b\ 5      ¨\96\92.R\7f\10å°äJ\90%\81$<2Ü*\1c.\ 2$¢¨\99²\14än:rùPi\98\88J\1dÜ3\12\10øZ\b\18\12S2\f2F3d       ;v£µXÈ]#î"è+    \1cò4Ê\ 2ÈÃA]\10]@\a±\ 5m\86\8dS\1e\ 3Ú\90\8a\88¤O%\ f\9fB\ 2\ f)Z)´ZÄ÷à\91\11\9bá)(\rG\14G\1a\8eÜÍ\0¯\82TÔM\ fg\86t\16É?DCaËB\ 5\vd\f\85\80\8d[DòFé*¾\e\ 6¡³Ø\7f\b\11\ 1Y\80Á*~\9d\92I$\81ø\ 6=¥®ø!(\11ÔNCé;øÀ÷\80Møs\18£       Ñ\ 1      \1c\96\r\8f\9dÙ\88'Å/Á\1aõT¿ AR\9d\9d\85tD\8f?\84>Ã_XE¦\88lE\vÇ\87ÕзÀÃ@¥,\94O"³\80ç\11y:D¤A¢\0æ(\92\90!\1a)IÕè\ 4s(ï /\8a\fV%\v\87Y\83\ fHE'~ÇJ*E^\b\8f\88ï\81\ 4\10{\90IP¢\8bd\0º`\80\15i(V\18ÅB¨v\81J\82%­U¸\ e-=\vE?£Í\8c\f\88\1dT?jP\16QüAi\83õbqVØ\8d\ 6,à;)¥¶À\0\8c´Lh/\ 2\12\ 55|-©"´Å\80\    ù8ì\10\ 1ß*\92\1cª\89°Tä\84VUDzøP\94Ap(pù\16JPP\14 ã\85JAÁ\85\95 ô\e4¨úñ\fZa°HEð\ 5X3"      \f\8d\82\ 4å\11ôT\94xèɧ´À£ÆlVí\15\ f\ 4kFº\89¤
+.\94b\96IOáÈhÁ7à\81\90\8cj\91BÀ«Y)\1dA\89\89åÂ\95QfJ.HøTø`\88\17\89\e>\89*\15ß\ 1j!e¤Ö\16[8B殥ªÔ\fy ²&\97\8f`\ 5ïBÙ<9 \14ãÂ\82)ô!}\ 1\11,T¿#2#Q"w     mÔ\91Ï2Á\vá\13X\e\16GQMG¹\95x$\1d\ 5\19èFùF\v¦Ò\1a©\1eª\fD-|\ f\19\8d\89ª\11z,ä×ô=\94(£4Ò\91
+\v\19\ 4}0Ad\93\8d\949\83Fdväe\15\19AÉ(,ëH\9e´\ f`!%3\93\10`8:\93ð\f°\bÄA¬\19¦ã\86|\11ß\83\7fCØÓ\1aÈ3À®ô¤eH5ðì\ 6ñ    ä\17\16J\r5æh­\83\85k\11¥\8d\14\rákàz!i(\96\11ÁOX   ÖJÁ\95ò\ 2°\v­CÎFO\ 3þà\a,¤>ÐYZ)r9,\15\86\86\f\f+³b5ªSE9\8eô\aA\1a?\ f\9f\ 1b´T\ 4!1\0wp\ 5nôÈz\91¦"\8a\8a\1c\a\81Åd¡\\ 6e?\1eJ\18\12\92\12ª\ð\90\ 6Ò(Qd"]\873F\fU\r\96Ü\12|\ 2Äf¦Ú  ÿ\84L๠¯´Yá\86\87\8ad\1dm!\184ÊÖ\ 6Ô\15\16n¤:\ 4\ f\8d¸`ÅïÃ\7fë©Ü\81\83£¬Â\84\95R\80WRUú\10´\ e%0þ\ 4i·ØB\81\v÷\82Eü9\\1d\bG°Á#Ábñ×°\0è\9d\95\92h­Ih\83\99Ô\ 3Z\v5¥Ü\a\9f\80\17\ 3u\94Ý\18íR²à\97\90\98â\11) À\fÌ\b}d\ 5\10\vÔ\16¿\84\1c\0)-TѨ\85\971     }A²m ¸\ 2=Â#A*X\19í@Qu\bm }\fJÏð¥B\99\95g¢ý\ 1¸@-ÕõFè\ 3jU|\12\86Rh¬\98¾\98$@Z\ e£\14¶dÔS.\a/¥¥§ÆjáÓ5ä¬á­¬\82\173\95\86P)<ºÊ\9e\85b\1f\9e\88t\9f\1e\94ì@T×$r-)\ 4\81Â#\ 5\81ÏC\18&+&ç\a\13Å÷XÅCÃÆ 3T[\19ôÂØPþ"2²\10>ì?D\85\ 2Ô\99òo\93ø\94\99
+k¸.¨,\ 2\eT\11æ©¡í(ª\0\85>àñ\11Áà[Í\94Áà\13 \8ej[
+YF¡\10TlÒ\1f\19É\bÄ/ÁïÀwÑG¬à\90\8c\16ŵp«\1aQ\13á1\90ÊÁ\1a5\94O\ehk\ eÒF&\ 5\9f££p\81O\98¨x\84¾Ð\9e¤É*~\bß\ 5QRâ¬U¹#ÊM\94\ë( êÄ\ f\99ÉæÀ1"\v\+\9eÑJ{\10ð¦pyz¡WHdá\13\90`#\98á\13T<\1aðß\14\12ñ\a\94\aA\ eøaå\87°&(\r\ 2\87\99ö\ fI=\11\r!-\8dV$Ü\10
+\9e\15\ e\ 4¹\ 2\150zÄf\94\9b\bÃZ\8dÐi2R\14ó\10\8a\89òJ\ 4\1dú\ 4â\98\81Äf\82eS¤\13¿\ 4Ç  m\85xa\1aÈ\97´z=y\ 3ä\8bHüñ«ø!ÊN©8×Á\1d\18i§Ö@Î\18\9a\a±\82\18øN\1fÚ¨\83\ 4 }ô;ðÖàVK\ e\ 3\8bP]¸ÑL»\aÈ·`§Ð<ñ)H\84\12B¸<\b\r>\ 2<\18È\ 5R}\ 2}¡-(\råq&JÌônê¦14ÕB©³Ù¾i¬EB\8f\aR£Ò;·\96+àS-ÅÉC)û\86´\95v\ f4\94å tÁÝ\b¶h%ð¤ð¾ÈR:¨rA\12¯£ÍZ±Ñ§\15»\9dHe4´\93\ 6ûG\86B»Ë´ ¥\11J\8f2NG\12¡½68v7(;\\9a\86LÍJ\9b\8bô;d\rV\13\9c\ 2JKE*p°¤O\88'ÈB(ÈP\ e\82\a¥\80A\eXnb½ð\8c\bû\1aú~\b\ eKÓá\9b`\16B\92ï~¢\92*\ f\94á#\r±ÐF\13m]C\97\f\805\9bàe¬Ê³[hC\bµ\ 2Ekä(X¹\89*G|\fË\ 4µPm\r\92o#\15í&+í¸á\13\94ÀÐ.\ 4\89\rY\838¼À*ñ\9d(@ÈÌ,$\e\11w4V[   \ 5\7f\ 3z)¹\82ñZuÂC!)B¦l%\98D^\ 1\96õ\94\8e\18\84·¤\8cÎL;.´!Dµ\9a\9eöæ@\90Øú¥ï\10{mP\v«\9ab*µ%¢\11\1c%íÛ\89ÕPp\ 5©\94\9f\9bÅz\11_IÅÌdU0V\83bv\1aÚ#7\8ab\8ev\1c\10­à&(J#ôPu\b·\81\7f\98lO\ 4\17\9c\0\ 2£\9diðJ¾\91ö3°\1aª§EbD[Ù(\9fEÞ!ÌYCÿ\1fi\84I'\8a5úW¸-Ú½\162\82¿3PAg4Ø3?ÚR£<    \9eX|\87\81ReÚuÐ\92;E\99C\9bÍzü\ 1¼1\1eØH\191\12\19ü*í@«\9a@a\1eÊ*¼Ê\e\9aPò½ô\85,̯\990.åÿùµ\16öæY³cǦ\1d\ 2[¸µêÚ´E\9bÀ\8eÝÝ´\9a|n\ 5ô>&J\1cLZªµaXnZ\1fÊâ)\96\99Á\fü>\1dãi\95­fÊ5)#Ã\9f\98èø\806îàÈõ\ 6³ø¥\ 20'Z\vJ\ 1\13ùW³8Ø\809Ñî(\15¤(Q´t\16\ 1ONÛRzª\84µn~     Ð®\aôÜJ\8e\17ÞL|!â.\95Ï\16±SGz_\0ÊîCºFµ\bòI\83\9b\91â\82\81ö«tð¿\90¯_\aÕ´ðä~o?²|ÇI \ 3\1fN\1c¯*\87\99øb7Ï\92¾\ 1eTúkÐ\19aÌsÎÂê  hcß\0+\9dkVïÞ§}`ãè¥Æ8#TNöê´x«¨u\8e\15µr\1aiû¿BV*³Ñ§\92ùÿál8ÆÑmç¦Ý[#U3¼ýèÖìV0\0Ë\14ç¡Õ[7í\1cX£OçÀ÷:Õ\95ÂúPaýó9¾Y\9c\89¼õ\1c\9f`\7f´/¡£,Á­\808þ6Ð\16±   \7fnýà£|Ý{\9cã¿å¿c\9cÔ\8be\99-êA½í¿ì«ô.`[\9dXªÞ¡\aõ¶ãuMôñºF\11óûpíÜ\9e\89\8f&\9a«%\ 2äumª®Æ7ÀÍ·G÷NnJ³J\9b¾\81Ñ?ñ7\93¬Ü¬[`×\9e\81-\1a\97\ fìÓXùP7Gt\89¼ã\7f®S4\99ìÑ\90=\1a²GCöhÈ\1e\rÙ£!{4d\8f\86ìÑ\90=\1a²GCöhÈ\1e\rÙ£!{4d\8f\86ìÑ\90=\1a²GCöhÈ\1e\rÙ£!{4d\8f\86ìÑ\90=\1a\89½Gã\ 3ú\a\1a\9bþáö÷¿´\10¨Çµñèàû\1f\9fÂawØ\13ÂɸÕþ_u¼\92\ 5¾KÌ (\1fØ'\16oÕüK\13\8f\80R\8dÁ\98à\8e>¬þoöÏ\17\8eõ!õO¼|\ 3\1aãÃ¥Û´ï\1eØ5ÖÚߣ\85ã\9dgäâ;Üh1Ê\ f¸ù·l\19H¿a§ÓøÆï\ 5tìÖ½iÇæø­¦Ý\9b6Æb+6íü\ f?ö/\8fïß;°y\ fúðÛHxó'é\11í\7f\ 2\r\ eÈ·#¾\10>SÈåÝVÙ
+ɦñí\9a¬\ e3\885¿@\9c\81÷\88þ\87­Q\85\94\84\ 6V\80ÁÀBÊ¿ú\ 5¶jÓQ\9d^\81¿\8cÏ\94IV°T`Ï6Í\ 3«\95ñs«S)Y}û_Gf-N\92µ´\1dO\15\19\9dÖ\98é4\12±NKÛÇ\rÝ\10\92\94ÖÓú\ 3ÿ*}Òö×mÿ´¸Q³\8dÖ,¾È\80ÿ\87\ f\9d\9aX-ä\ 63GÉ\90¬N@\12îW\rJHHHHHHHHHHHHHHHHHHHHHHHHH¸,Þ9F\9f{\81\12\12\12*>ò\95\18ÜË\97\90H\8cøH³\95\86ì\1a\90bMpp¸åJq'8HÉ&P8Ü`¥¬\13\16¤p\13(>^pRÊ      \17R¸     \1a\8e\15\9f\14tB\81\94¬k îä(e\1d\1f ÅêÂ`\11î\eàæÀ5Á-U)Ö8\a·\84£ÁÍ\84ë\80[\92ÑàfÂõÁ-áXà&Ã\15À-Ã7ÁÍ\87+\83[¶o\ 17%     \eÜÒ{\v¸)qepËöíàf%¡\82[no\a7+.\vnÁþ#¸\89I\90à\16Ú¿\81\9b\e×\ 4·Tÿ\rÜÜ$<pKìßÀÍ\8dk\82[ªÿ\ 6nn\12\18¸Åõ\ epÓã\82à\16é;ÀMO\ 2\ 3·¸Þ\ 1nz\\rÜò|/p\93\94\90À-«w\80\9b\1eW\ 3·<ß\vÜ$%$pËêÝàfÈ¥À-Ì÷\ 27I   \ 6Ü\82z/p\93äRà\16æ{\81\9b¤\ 4\ 3nA½\17¸Ir\1dpKò}ÁÍS\82\ 1· Þ\vÜ$¹\ e¸%ù¾àæ)Á\80[Pï\ 5n\92\\aÜ\92|_pó\94`À-¨÷\ 27I®\ 3nI~\0¸©J\18à\96Ò{\81\9b\ 1·$?\0ÜT%\fpKé½ÀM\92ë\80[\92\1f\0\12\ 6¸¥ô^à&ÉuÀ-É\ f\07U  \ 3ÜRz/p\93ä:à\96ä\a\80\9bª\84\ 1n)½\17¸Ir\1dpKò\ 3ÀMUÂ\0·\94Þ\vÜ$¹\ e¸%ù\ 1à¦*a\80[Jï\ 5n\92\\aÜ\92|_pó\94`À-¨÷\ 27I®\ 3nI¾/¸yJ0à\16Ô{\81\9b$\97\ 2·0ß\vÜ$%$pËêÝàfÈ¥À-Ì÷\ 27I           Ü²z7¸\19r)p\vó½ÀMRB\ 2·¬Þ\rn\86\
+ÜÂ|/p\93\94\90À-«w\83\9b!\97\ 2·0ß\vÜ$%0p\8bë\1dà¦ÇÕÀ-Ïw\83\9b¡\ 4\ 6nq½\ 3Üô¸\1a¸åùnp3\94ÀÀ-®w\80\9b\1eW\ 3·<ß\vÜ$%0p\8bëßÀÍ\8d\v\82[¤ïFÜ= C\b\8cop\9a\ 3¸¹qAp\8bôÝpÎ\13Å\ 5·\p,ÿ\ e\ 471®    n©¾\ 3Î|\8a8åÙ\99p\b\eq\ 1nb\\10Ü"}\a\9c¿~'p\1e×p8'\8e\ 271® n©þ\eXVî\1cÚã\14qÄÌG\82\9b\15×\ 4·Tß\ 1\96e;\93ÿ¸@\9c\92ó\9fÁÍ\8aË\82[°ÿ\ 6®Õ:_
+\8e\85sXú pSâÊà\96í?\82k©Î\17\81Ãá\1c¢>\bÜ\94¸,¸\ 5ûoàZ$£8\1c\ 2'Óõ>à¦Ä\95Á-Û\7f\ 4×
+\19eá(8\99±w\82\9b\ fW\ 6·lã#¸eò±àæïMpóáâà\16\ 3·@\1c\0n
+c\81\9b\f\17\a·xã#¸eò±àæïMpóáâà\16o|\ 4·L>\16ÜüÅ\ 27\19.\ enñÆSp\8bå£ÀM^,p\93áúà\96p<\ 5·Xþ;¸\99\8b\ 5n2\\1fÜ\12\8e¿à\96Ì\7f\a7sÑàf"Q\80[Èñ\17Ü\92ù\8fà¦-\16¸Ép}pK8þ\82[2ÿ\11Ü´Å\ 27\19\89\ 2ÜB\8e¿à\96Ì\7f\ 17g±ÀMF¢\0·\90ã/¸%ó_ÀÍY,p\93\91XÀ-çx
+n±|0¸  {\v¸)I\14à\16r<\ 5·X>\18Ü\84½\ 5Ü\94$
+p\v9\9e\82[,\1f\ 6n¶Þ\ enV\12\v¸å\1cOÁ-\96\ f\07Uo\a7+\89\ 5Ür\8e§à\16Ëû\82\9b§\7f\ 471\89\bÜ¢\8e\8fà\96É{\81\9b¤w\80\9b\9eÄ\ 2n9ÇG8\90±D+µ8zp\897À-çø\888¥(\91\88ìã\1fSâ=Á-êø\b'0ãÚÂr\9czJ¼\ 3Ü¢NÔpUIÅ\91®Jü\1dÜ¢\96 ¸\9e\98\9c º\12
+¸E-¡Â\95\ 4äL\ 5Näà\16µD,¸\86tX49q\82\12oAB\17\r¯J'6pK[ÂÕÀ­Ñ\89\vÜÒ\96pAp+u"\ 2·¨%\\10ÜJ\9d¸À-m  W\ 3·F'.pK[ÂÕÀ­Ñ\89\vÜÒ\96p5pkt¢\ 3·À%\\rÜ\1a\9d¸À-m  W\ 3·F'.pK[ÂÕÀ­Ñ\89\vÜÒ\96p5pkt¢\ 3·À%\
+Üê\9cèÀ-p        W\ 3·F'.pK[ÂÕÀ­Ñ\89\ eÜ\ 2\97p)p«s¢\ 3·À%\
+Üê\9cèÀ-p        \97\ 2·:':p\v\Â¥À­Î\89\11Ü2\97p\1dpërb\ 4·Ì%\\aܺ\9c\18Á-s  ×\ 1·.'Rp\8b]ÂEÀ­È\89\14Üb\97p\11p+r"\ 5·Ø%\\ 4Ü\8a\9cHÁ-v  \17\ 1·"'^pK^Â\15À­Å\89\17Ü\92\97p\ 5pkq¢\ 6·ð%\12<¸U8Q\83\12 \1eÜ*\9c¨Á-|\89\ 4\ fn\15Nìà\96¿DÂ\ 6·þ&vpË_"a\83[\7f\13;¸å/\91°Á­¿\12Ò\84%þ#¸5W\82À­\ 5\12       \15Ü\9a\82[\11$\12$¸ÕVB\ 5·"H$Hp«­D4¸uA"á\81[g%¢Á­\v\12        \fÜ
++ñ&¸5B"!\81[[%Þ\ 4·FH$$pk«Ä[À­\14\12   \ 3Üz*ñvpë\85\0·\9eJü#¸UC"\ 1\80[I%þ\11ܪ!\11ßÁ­¡\12ï\0·\82HÄkp«§Ä;À­ \12ñ\1aÜê)ñnpë\88D<\ 5·bJ¼\17¸ÕD"\9e\82[1%Þ\17Ü\9a"\11ïÀ­\92\12\1f\0ne\91\88wàVI\89\ f\ 3·¾HÄ#p+£Ä\a\83[e$â\11¸\95Qâ¿\80[k$â\ 5¸ÕPâ?\82[q$â\ 5¸ÕPâ¿\83[w$\98Á­\80®\8f8\15\8aÃõA"\ 1\946\91Ã\992ràoI$,8A\93\13\15¸\84\15§¿+\11?á4­N\fà\95\9aÓ~]"þÀÉ\1aîÂ\88\ f²sþ\1a$\18á|%wIÄ\1f       2®DÂù`Ñv\17\ 3·\f¥   'R°h»\8b\81[\86Ñ\88\87K\92\88;0ê¼Ë\80[\86o"Þ.LÂá`T{×\0·\0ß\82x¾<      \a\82Kí]\ 6Ü\ 2|;âùò$\1c\ 2Fµw\rp\vðß\90 \16)ñ1`Ô|\17\0·ôÞ\81\ 4´T\89ÿ\0.µw\rpKï½\90°V+ñA`T~\17\0·ôÞ\v    nÁ\12ï    .µw\rpKï\ 3\90\10×,ñN0*\7fÂ\ 5·Ðþ\v\12úú%Þ
+.\13\88ÿà\96\8cãáªÏ\95hÁk ñ\13Ü2\91\90x_pÛJü\ 2·4$$>\0Üæ\12\8fÀ-
+       \89\ f\ 6·ÑÄ\17pËABâ¿\80ÛnøÁ-\ 1    \89ÿ\bnÓá\a·\ 4$$þ;¸­\87\19ÜôKH|\14¸\r\88\13ÜÜKH|\14¸\r\88\13ÜÜKH|,¸m\88\rÜÄKH8\0ÜfÄ\ 6nâ%$>\16Ü6Ä\ 6nâ%$\1c\0n3â\ 1\12\12\8e\ 1·%ñ\80\9bu               Ç\80Û\92xÀͺ\84\84\ 3ÀmF<àf]BÂ1à¶$\1ep³.!á\18p[\12\ f¸Y\97\90p\f¸-\89\aܬKH8\0ÜfÄ\ 6nâ%$\1c\0n3â\ 1\12\12\8e\ 1·%ñ\80\9bu           Ç\80Û\92xÀͺ\84\84\ 3ÀmFlà&^BÂ\ 1à6#6p\13/!á\0p\9b\11\e¸\89\97\90p\0¸Í\88\rÜÄKH|,¸m\88\13ÜÜKH|,¸m\88\13ÜÜKH|,¸m\88\13ÜÜKH|,¸m\88\13ÜÜKH|\14¸\r\88\13ÜÜKH|,¸m\88\rÜÄKH8\0ÜfÄ\ 3nÖ%$\1c\ 3nKâ\ 1\12\12\ e\0·\191\80\9br               \87\81Û\98\9c\rn¾%$\1c     n{r*¸É\96\90p$¸íÉ©à&[BÂÁà6)ç\81\9bi             Ç\83Ûª\9c\ 4n\9a%$\1c\ fn«r\12¸i\96\90\88\13p\e\963Àͱ\84D\\81Û¶â\1cÜ\ 4KHÄ\15¸m+ÎÁM°\84D\1c\82Û¼â\16ÜìJHÄ-¸-,\ eÁM­\84\82ÛÂâ\10ÜÔJHÄ9¸\8d,®ÀÍ«\84\843Àmgq\ 2nR%$\9c\ 1n;\8b\13p\93*!á$p\9b\9aãÁͨ\84\84óÀmm\ e\ 67\9d\12\12Î\ 3·µ9\18ÜtJH8\15Ü\ 6çHps)!áTp\e\9c#ÁÍ¥\84\84³Áms\ e\ 37\91\12\12Î\ 6·Í9\fÜDJH0\80Ûì\1c\ 6n"%$\9c\rn\9bs\18¸\89\94\90`\0·Ù9\ 6Ü,JH0\80Ûì\1c\ 3n\16%$xÀmy\ e\07\85\12\12<à¶<Ç\80\9bE            \1ep[\9e\ 3ÀM¡\84\ 4\ f¸-Ï1àfQB\82\aÜ\96ç\0pS(!Á\ 3nËs\f¸Y\94\90à\ 1·å9\0Ü\14JHð\80Ûò\1c\ 3n\16%$xÀmy\ e\07\85\12\12là6>\a\80\9bB           \1ep[\9ecÀÍ¢\84\ 4\ f¸-Ï\ 1à¦PB\82\aÜ\96ç\18p³(!Á\ 3nËs\f¸Y\94\90à\ 1·å9\ 6Ü,JH0\80Ûì\1c\ 6n"%$\18Àmv\ e\ 37\91\12\12\fà6;\87\81\9bH           \ 6p\9b\9dcÀÍ¢\84\ 4\ f¸-Ï1àfQB\82\aÜ\96ç\18p³(!Á\ 3nËs\f¸Y\94\90`\0·Ù9\fÜDJH0\80Ûì\1c\ 6n"%$\18Àmv\ e\ 37\91\12\12\fà6;\87\81\9bH           \ 6p\9b\9dÃÀM¤\84\ 4\ 3¸ÍÎ\91àæRBÂÙà¶9G\82\9bK            g\83Ûæ\1c   n.%$\18Àmv\ e\ 37\91\12\12\fà6;\87\81\9bH          \ 6p\9b\9dÃÀM¤\84\ 4\ 3¸ÍÎaà&RB\82\aÜ\96ç\18p³(!Á\ 3nËs\18¸\89\94\90`\0·Ù9\fÜDJH0\80Ûì\1c\ 6n"%$\18Àmv\ e\ 37\91\12\12\fà6;G\82\9bK           g\83Ûæ\1c   n.%$\9c\rn\9bs$¸¹\94\90p6¸mÎÁà¦SB©à68\a\83\9bN               §\82Ûà\1c\ fnF%$\9c\anks<¸\19\95\90p\1e¸­-NÀMª\84\84\93Àmjq\ 2nR%$\9c\ 4nS\8b+pó*!\11çà6²¸\ 5\12\12q\vn\v\8bsp\13,!\11Wà¶-'\81\9bf               Ç\83Ûª\9c
+n²%$\1c\fn\93r6¸ù\96\90p\18¸\8d\89\rÜÄKH|\14¸\r\80[\ e\12\12\1f\ 6n\8b\89¿à\96\8c\84ÄÛÁm\19\12    \ fÜ:û\ epÓ#!!!!!!!!!!!!!!!!!!!!!!!!!!ñ±à>u\94\90\90\90\90\90\90\90\88çø4\1aÜKI`øômà^TB\81J×g±\10_)\8cwòµs÷¹À\17_(ÿ´QȽ¼X\88\87&¢²'\98ûÒ\8e/\88F\95\15Úñ\86\9dÄ\a
+íì\81»¯¾úú믿\ 1ð\8f¯¾\ 2\876\ 6YWhCLî\14ó\88\a\16¢,\89Ø\ 3yß|ûm\92\ 1I\92\16$~\ 5-\8c'\fF\93§¸\98/\14/Ãn 
+}`\ fä%ù.i²dÉ\93§H\91"yòdI¿#
+U\ 6ùÖ\18ÃÓÙ|Ì\17\18N\ 2£é\ 3\92§H\99*u\1aBêT)S$O\ 6
+\89Au\91\8b¶Y\ewÂÉ|-<\f»}Øéûæ[°\972uÚté3fÌ\94)SÆ\8c\19Ò§M\93*E²¤I\84\ er\10\18\9b:%¶\91\8f\11N\ 6þå[2\ f»t\9d»¶è5
+ú¾þ&IRb/C¦,Y³çpssË\91=[ÖÌ\19Ó§\ 5\83ß}û\r\v\81\9d\88ºïÈÉ\0\ e\ 6\ 42) -Q¥/\ 5±\975\87{®Üyò\ 2y<r¹gÏ\9a\89\18$\15t>\81ö¸&¨\13j\97\84ü3¼sÊT@Jò/IUá~Τ\80
+}_}\93$Y\8aÔéÀ^ÎÜ\9e^\ 5
+j4\9a\82>\ 5¼<sçÌ\915Sº4)¡\82_\7fåd\ 2Õpñ\85=- ê\14÷\9c6]ºôéÓ¥K\v\1f\rëHb³\ eg­,Ö"±D\85¾4é3gwÏ\9d¯\80Fo²X\v\15²ZL\ 6m\81üyrfÏ\92!mªä PÕ@§­Ì\96T©i\81\8dºô\193eÎ\9c%K\96Ì\993ÁC§N\99<©J Ox\83\84¿ú\9a\8c7}æ\1c¹<½5Fk\91â~%K\95*éW¢h!\93Î'_n·¬\19ÓÙ t\9a\ 2Úé\ 3\ fÜ)ÔeÍ\ 6÷ìî\9eÓ\1d\1e\9a\1ct\1a±´¯¸øÃ\1a¿üúÛï\92\13}\1eù|ô\96¢~¥\ 3*Tª\¹RÅòeK\95(lÖzçÍ\99-SL\ 2\9d³0\92¬ê\98\93¥\0yà.K¶ìnî¹<rçõôÌ\97Ï\13\ e:g\8el\993(ÞåË/8\fXQ?Xoªt\99²çÊWÐX¸DéòUjÔ®[¿~½ºµªW.ç_¢\90ÁÇ3Wv"\10fâLþ\94´\0Ê\97<U\9atH\v²»åôÈã\99ß«\80OA\8dV«Õøxç\87\7fÎ\ e\ 2\89¥9ee±\16ùég´Æ¤)ÒdÌ\96Ó³ ±\88_@å\9aõ\1a7\vlÙªe`³ÆõjV  (YÄT0\1f\bL\9b2i\12'* =-HFiAæl\blyó\17(¨Õ\e\85w.T\88ܳOþ¼ 0}ja\e,ü)ê\97<Uú,ny\v\18\8a\94,WµNã\16m:véÚ­k\97\8eíZ6©W½\82\7fQ\10\983[Æ4)¾ûö«/\9dÆ\9f\1a×\92*iA®<"°Y\v\17-îëWª\94\7f©\92¾Å\8bX\8c\1ar.\19Ó¦LF¢u¾\ 3$þ¾ü
\976cv\ f/]!¿rÕê5mÝ©{\9fþ\ 3\a\r\1aзW×ö\81\8djUò/fòÉë\9e%}*'®RU¿o\ 5}Ù(-Ð\1a­EK\94,\1dP¾b¥ÊUªTV¼³Ië\9dÇ-\v\f\98\85?,\12Þ/}\16\82\96\12\ 1Uë5k׵Ϡá£Ç\8e\e7fäÐ\ 1½:·n\»¢\7f\11\83wîì¤\80Ns3Ñ\8e9mÆlîy¼4\ 6k1¿2å+W\83o®W\1fÞ¹Nͪ\15Ëú\155kò{ÐÊ\92~\8b\959¿¼\14\8bü\ eÞ/{noCÑÒ\95ë4m×­ÿ°1\93¦N\9f9sú\94\89£\87öíÚ¦qÍ
+%\vióåÌ\92.U2§¹\19a\19Â1gÈ
+ú´¦"¾e*T­U¯Q\93æ\81-[·j\15Ø\1cι2\9c³Ñ'¯[ætd\1a\ü}\9b4eºÌî\9e\1a\8b\9a\8dÛtë?büÔÙó\17-Y²hþì©ã\87÷ëÚºaõ\80â¦\ 2PÀÔ\bÁÎãOXFÊt\99rxä×\98\8b\96\f¨R«AÓÀ6\1d:wíÖ½{×Î\1dÚ4oT»J\80¯U\97?WÖô©Éµ8=\80(B&óÍ\9aËK_¤t\95z\81\9dú\ e\9f0}Þ\92\95k\82\83׬Z:\7fÆÄá};µ¨WÙ\1f
\9e9m
+ÅÍ8ci\9f}F\96\81´\14\9eÅÇH\81­nã\96íºô ×<xÐÀ~½»¶oÙ¨v¥ÒÅ\8c$Ù4p\80lü%O\ró-`*^®Fã¶=\ 6\8f\9b6\7fyPèú\88\88\rakW.\9c1~h¯vMj\94+nô\86\98S\91\9bq\8a\9b\8eö,Ù\10ج¾\ 1Uë"°õì?\98\óxòÍý{t\flX£¼¯U\93×-\13I\96\85¿/¾¤EfÊ\91· Å¯b\9d\16\9dú\8d\9c<wYpøæÈ\1d;¶o\8dX·rÁ´1\ 3»\ 4Ö­TÒâ\93;[\86ÔÉ\9cå¦UÏ\92"m¦\1cy
+\18\8b\96®T»qëν\a\8d\1c'\ó\8c\8f\e> Gûæu+û\17ÖÁ2Ò¥HÊÄ\1f        9mf7Om!ÿ*õ[u\e4vÆ¢5á[¢vïÛ·w×ö\8dë\96Ï\9d4¬WÛFÕJ\17ÖæÍ\ 13q\96\9b¶yf,-oAs\89\80ê\r\ 2\1e<zÒô9ó\17-^\f×<MuÍe\8b\19¼\10ÚRòòç\9eOW¤tµ\86m{\ e\9d8gYȦ\1d{\ f\1e9røà\9eí\11A\8b§\8féß©YÍ\80bú|n\99\9cÏ\1fE6­µd\85ZMÚv\1f8êû\99\v\96®\\13\14´zÅ\92yÓÆ\réÕ¾i­ò%LäYR&ý\96\8f¿tYræ×\17-S½q»Þ#&Ï_\15\1e¹çб\93§N\1e;¸{kèò9\13\ 6w\r¬S¾\84ÑK\ 4\10\849§ò\97Å=\9f¶P©Ju\9bwì3lÂ\8c\ 5Ë׬\v_¿><dõÒ9\93Gõï\1cX·¢\9f¹\80\a3\7fi\ 5\7fek4ißgäÔ\85k"vì?zêì¹³§\8e\1dØ\11±zþ÷Ãz´®_ÑÏä\r3q\1e\7f´4Eÿòé
+ûW®\17عÿ(¸æ °\8d[¶nÝ\12\11ºzÑ\8cq\83»·ª_¹\14yf\8al|ñ\83ì\17üUoҡ﨩\8b\826î<xüÌ\85\8b\17Î\9d<¼{sð¢©#z·mP¹¤Ù;\17ñ÷\8d\13ù³»æR\95ëµì:`Ì´\ 5+×EDîØ¹sGdDÈò9ä\99\eVõ·\16Ddãâïó/íþ\ föKú·(xÓÎC'Ï]¼|éÂ\99£{·®[:}T\9fv\8dª\94²\14È\955]JÁ\9fó\96\96\9cR\ 3\8dµd¥º\81]\ 6\8e\99¾puø\96\1d»÷îÝ\1dµ%|Õü)#û´o\­t!^þ\90ÿ\89E\16ò¯Ú°m¯\11S\16BÿÀߥ+W.\9e\7f[ز\99cúuh\Õß\ 27ãdþ(5Í\90\8fÙ·B\9d\16\9dû\8f\9e¶hÍú­;÷\1e8°o÷¶\rA\8b¦\8dîסIuð\97';øc\88¿\9f¨õ\a\16\99§ ¥dåú­{\f\9d4oõ\86¨\83'\88¿KçN\1cØ\1e¾|ÖØþ\1d\eWó·ú8\93?5\80\91¡x@ͦ\1dú\8e\9cº`uøÖ]û\ e\1e:°wǦµKf\8céß±iõ2\855\9cü\91\97Æ"=¼M% ä®\83ÆÏ^\11¾mÿñ³\17\89¿\93\aw\84¯\98\7fÇ&
+\7fé\9dÈ_Ìܪpi²\8daßÏ[\19¶e'ø;¸/jsÈÒ\99c\atjV\83\95¿èE*\ 1¸c¿ÑÓ\97\84lÙsäô\85K\97\ 5\7fëWÎ\1e7 S\93j¥Á_6çòg«-óø 6ªÛ\12²\9d%rÓ\ 3àoç\96uËf\8d\eعYͲ¼ü)\ e0#
+8k©*\rÚô\1c>yÁ\9a\b\18ðÙ\v\97.\9e=a篺Ê_Rgò§d0dÀÅ\ 2j4íØw\14\1cà\86ÈÝû\ f\1e\0\7f¡Ëg\8f\1fØ¥yͲE\ 4\7fɸøS½\8c\87·±DùÚ-º\f\1c?{yXäÞ£§Î]8\7fæø\ 1âoü\80NMá¦)Ír\1e\7f¶äJ\8dÀ¥\14ç<wEèæ¨=û÷ï\8dÚLü\rêÒ¼V@\11T\96àïÛ¯x\ e@l\ 6ì©-\ºZ£vj\ 6sðøé³gO\1fÛ¿}ýÊ9ã\av&þ
+:\9d?ÚAU"\88±x¹ZÍ:õ\1f3}qÐ\86È\9d{öîÞ±y\9d¨\8c
+(J\95yj6þl\118w\ 1³/¼L·Á\13æ¬\80\ 2\1e>qúôÉ£û·\87+üÕ(\13ÍßgN[\9a²\85\95É\rÙ\95p.à\80ë6mÛ¹{×öM\82¿n\81µË\15Óyº    þ\9c³3ù¶Eªu\12Rh*A¦-\ eÞ\18µÿÈ\89\93Ç\8fìÛ\ 6þ&\fêÒ¬¦óÃÜß\14°yç\ 1c¦/Z\13¾y{Ô\8em\eÁßÄ!Ý[Ö)_\ÙÙ`á/\96\ 2ú\98)Ìu\e2\11
+¸u÷Á#Ç\8e\1eÚ«ògwÓÿÂ\9f£Ûáé\ 4\ 3Ú\15pùÚ\r[¶mÛ\8a\ 2n=ZÕ«XÂ\90ß=³Ø\19âk@xC\ 1\17\ 5Elß{ððá\ 3»#ÃWÎ\9d8¸Û;ÜÌßn\148äAì!XÉ¡U\ 5\¸*4bËÖÍ\eÀß÷Ãz¶©_É×ä\953sÚ\14bgÍ\11?ûá\8bü»\ 2._·9
+uÒþ]\91á«æM\1aÒ=°Nù\7ft3o\(pà¥\9b\98é\15êË*\94CO\9a³,8|ã¦Më×.\9f7yDï¶\r«\944+\95¥\93v\86Þ²Æ\18\9b¨\8a\ 2N]¸f}äνûöîÜ
+þ¾\1fÖ£UÝ
+d&´\81ú\ 6\7f±;lmw
+\1cÃ`¬\1cÐX\9cÒ+RÀ\95!ë#"Â×®\98§l  2²G6V\ 5Ì\86\10ì§\84àÙËB6"Ì)û\1c\93\87÷úG3\89Õ\14ÿ\85íN\81£®\14ÄÞà ôª÷ðïç,\r
+]¿>lí\8aùSG÷ëØ\94
+¸¼ä\99Y\12\18ÕMÿM\ 1\17¬
+C\98Û¹}Køê\ 5SGöi÷\ ff\12£Ã\96Zl t§ÀQW
+bz@o\93o\ 5*âÆÍX¸rmXxØZ:Û\1aÐ\19       tQ\9dg\ e®\ 4æ\93\18y\82P@5\a\9cµ4\18anû¶Íák\16Ò>\11\99IA±Ï\eÃLÔ\ 6eµÃV\ 5]¹qØ}\87h\ 5tóÔ\15)[\83va&Ï]¶&$4\94\ e\r¢£\85â\9c\ 1ø\93ØÛЪ\ 2\8e\9c2\7fåº\88-\91\91\9bÂ×,\9e\1cH`l\ 1ø\8bhþbtØ\8aKKtmÉÞ\11ï\88\83bu\1f?Uúl¹},%+7hÓcè\84\99\8bV\ 6¯[·vÕ¢\99\13\86ôh]¿\92\9fÉ;W\16ç\1dͼm\8d\9f\7faW@¿JõZu\87\ 2.    
+߸eËÆð %3ÇCÌÈóÕ\138Û     ú§jë¾`/©riI¹µ$\18\95\82è-ò\9cù\rj\ 4\996\7fù\9a\90\90µ«\96Ì\9e\17\ 2p)\8b}k-\1e(`Qa%£¦Ì_\11²~ã&ð·töD\91§ú\1a½rÆ\14³\9d>j\11M\912Æ¥¥¤IDC²CZ\ 5?ýTìp¤F
+£-L¶ÑgÄ÷s\96¬
+\ eY»zéÜÉ#ûÒ\ e´Z\1a1\ 5\90Ø
+\b+©T¿U÷!\13f-^\1dº!"",xÙÜïmb\8eÎ\13>µk\1fõ'§L\95F¹µ\941CútiÄ\8d\eG\11¨( "H6\8f\ 2Â\80{
+\ 3\ eZ»vͲySG÷\8f\a\ 1$\96\ 2æ×\17\v¨Ù¬c¿QSç/\ f\ eC\9e\10¼bþ\94Q}Õ<Á¾Ì\98ô¥H\956}ÆÌY³gÏ\91#{¶,\993¦K\932¹ý¾Èǯ\8d"\880`/C\89
+u\ 2»\ e\1c;}Áò5àoù\82é"\80T`­àÄ\1aU\ 5\14\a!b\1f\15nzÖâU!J\9e0}ìÀ.-È\ 1ªËT\14Ð~q$uº\8c¢¹;w\9e<¹s\89\96ø´©\92'uÔ\9d\ 2%\82À\80)\ 2\9dú\8d\9a2oéêàµA+ì\ 1D=[å
+ ö}À\94é²äT+Íþ£¡\80AëÂB\958×]Y¦í\b    \8aõ\99Ú \9a2MúÌÙÜ=òæ÷.P \80·\97g\9e\9bß\17ùèµ}ö9
+ôT$Z¤Ð\8dÛ«\ epmðªÅ\b ½Û5ªÊ\\81|\12ó´A9Él\84Js"\14píºÐµ«\97Ìù\9e\96YÍ¿\10ùi¥\aë³ÏlýÉi2dÉ\91+¯WA­Áh2\19ô\9a\ 2ùs»Ûï\8b8"\ 6+\11\185\9cG\ 1³â\0\12\ e\10\ 1dÊHÕ³ð\ 6\10\9b\ 2\8aJS\9cÄÑq55\ 2\86¬\v\81\9f\9e\7f§fµ¨\87ÈfÀ\9fÓ½\9b¯¾ý.EêôYÜrçóÑ\9b\v\15-V¼xÑÂ\16£íÂM2µ[úc      ¤\büu\12á\0\8d¾\15\1a?sá\8a \108ÀùJ\ 5º\85j[dt¢¯¥\1c\9aÌd6å        !A+ÈOwC\ 6ckÕ!^>WÛ»ÓgvËí¥1\15.^²tÙ\80²eJù\16µè}<£/\158\82@\88\96\9eO_¼<\ 2È qÓ\17\80¿\90`jï\1cÜ­eÝ
+%\8cðÌi\19\ 3H¬D\9frh¤0\83Ç\898\87e.\9e5qX/\18péBJ\ 4&^¾\10Ö\9b2m¦ì\1e^ZsÑ\92e+T©V½ZÕJåJû\166\12\81t-HXðG\13\18#\80\14U6\ 1§\81?ª@\16#5íÙ&º9\87/\80Äì\85A
+C§5\88ss\97\92\9f&?3ª\7f'Ø       *Í\9cJ\17\17P{r\86l¹òk-Åý©7¾AÃ\86õëÔP\9bâÝm·2>^\ 1)\80Pn\80\fºHY\ 4àþ£§Í_\11¼.lÝ\9aes'\8f\88\a[X¶U*b¦8G½0ðÓ3\17­\b\12\89\16õ\8aµ®_Yéâ¥k\ft\9fYi/Ë[Ð\¬t¥\9aõ\9b´hÕºU`³Fuª\95/YÄP O\ eåV\81\ 3,X\ 4àd\14\805\85ËÔhÚ\91R\83\15Á¡á¡Á+\16L#Ï,jóì\g\98¶Uª\89~:u«\88\12Õió\97!Q\rZ\89DaD\9f\ eMj\94-¢Ë'\9aµ¿ýúkqiS¹7â_©V£\16m;uéÖµsûÖÍêW/_²°ÎK\kùîÛ¯>þÒð\9büõ\e=uÁ\8aµaëÃCV-¢-\98\16öÚ\9c1\80Ø\9a\89\94­"¥\b\1ei«4\97\rì\1aX·¢¯      ) ]äúö\eJýèÐD[¨d\85\9a\8dZvìÞ§ÿ\0ºòÕ®E\83êå|-\9a|9³¦\8f\8fY\97âÿReÈa׿i\vh\ fzCh¬Úܶ¹Ë\1d\bVz9¨Ò¤@\17´r\11E\10¥\8dÜ\13\82N\914É·I\84÷ó(`,\1eP½aËN½\ 6\f\e9jÔ\88!ýzthQ¿ZÙâ&X04UÜ«r\b\7f"5-R¶\868F_¸jÝ\86\8d\eÿ~\ 6â¤îÎ\7f\88 T\83\18K\94·¥\80´U´Z¤\80\9d[Ô._B¹\a\92<éwß%CðU\9aCë¶èØkð¨ñßO\9e<iÜ\88\81=;(×
+è^\90]\ 1?fY"ÿSí"\80â/Ý\11\bݸysDè*±¹ÛDi¢LÏÓD\14c¥ö\85"\ 5¬AÛ¨\93ç,]½vݺà\95¨á\90)4¬âO)L¦´)\93'CÝ\9b^míiܶǠÑ\93¦Ï\9e;gÖ´\89£\ 6öhפf¹\12f\1f( ýÊá\7f\7f(53\15;\80úbåkS\8fÝÌ%Aá\9b·nÝD\9b\93ã\ 6vn^3àï\9b»ÎGì½^Å\80©\86\v\rE\r\82\14¦\9f\92ÂxÑ}³\94)R¤L\8bèácñ«T7°sÿ\91\93fÎ_¼té¢y3&\8dìßµeý*t¯EÜËøH\ 3V\8e\11\88\87\8fº­º\ f\998gÙÚ\r[·o§Cô9\13\87t\8bnBxótй°m\15   \ 3¶m\15!S\b\v]»Rìu´iP¥\14Ý\97Ê\9c.uªT©ÓQo75\1d\19?cÁòÕAkV-[0c°Þí¡\80Å\8dÞ\1e\94ë¨Û5ÿuIb\9b\87\8e\aE\1f ¤Ú¶×ðÉóV\86\16\15µ}s\18\9d\ e¾y\88ÎjÀ_Ñ&\ 2\19pYÑq7eÞ² ÐððРx@(`3E\ 1³eL\97&MÚ\fYÉ¢\ 2\94T\e\9f[\17\16¶.h¹\1aª+\95´\14Ì£ÜXz\83¿\ féTøÔÖ\1f\11ópfô´\85kÖo\8dÚ½;jëú EÓFõiߨj©èölf\ 3þF5àRÊqÿì¥kÖ­ß\80Tk±Øl\13
+èé\9e%cºtéQº)\87\8aÝà\91\16¯     \8bØ´)"l\rR\8aa=Û6¬ª\84jq±Ï~å0Ö µèá\87ÿÈ¢ºIûM\12\9b\94\ eÅq³\96®Ý¸}÷Þ}»·oTºxE{]\9elL]¨1Ö\eË\80\15b\16­^\87T+,xùü©ª\ 2\1a½sçÈ\921CÆ,ny\94\9eþ\9f»"$bë¶m[7®[¹`꨾\1d\9aÖ([To+ö¾P*\90¿µ*ÄêVxËSÛfKÙîq©=Dj\eô\ 1êâ\r[aë\ 2äÞÃW\16\1c#UPKMJU7nÜ\10ºfɬ       CÉ\ 3Ò]à\9cÙ³dÎ\9cÍÝSì\15RÏ¥¸\99±sç\ eX\14\9dwvV"\r\ 5\10Áßgv­S;\15ìÓûÔv\85·\1d·ÛéS.ÈÓ\r[:Y\18=}qPÄö=\a\ f\1f9¸gÛ\ 6q?ªeÝ
\rùÞÖ^â\ØShÚÆ'fz\8f\98<oùÚõ\9b6oÚ\10²R\14\9bÍéÆ^\81¼îÙ³fË\91+\9f¶p\99jM:Ð#\ 5GlÛµwÏ.XÔ²Ùã\a)7æhSDìv)ôÄ\9c\ 5öµ}\80\9fÒ¯ðùß{fìG\ 4t\8b\1a®VWØ¿JýÖ\14}W\84nÙuàÈñãGöGm
+^4udï6\r\99ÔÓAÎ\0ò\89=\85¦\1a\98ö*\87L\9c½4xý¦-[6\85\a/\9d3i\18rÀªHM¼r»çÈá\9eÛK/ÂLÿ±3\97\86lÚ±gÿþ=Q\9bCW()E\85\18üQ\0QÙSGÐÙG\84~\e£a!\96\12ª½\rÊp\1fq\8bÕ·|­f\1d©¹)(bǾ#'N\9d:~h÷ÖuKg\8cé×¾qü\b 1\f8\1fmb5ï2pì\8cÅkÂ7m\8dܺ1tõÂéc\ 6P\11âk.\98/wÎ\9c¹òz\e\8a\ 6  \1a0nÖ2¥áMx¤¹6þ¼r©ö+,Taï\eÛ\1c5ûi{ô\90Ð\98]3\9fÚ\ 6\10%IJ\89¦\a~ªLµ\86­{\f\990gyèÖÝ\87N\9c>{öÔÑ}ÛÃWÌ\1e?°SSÖk 1ùSkõìy4\85J«½l«Ã6EnW:>é$¸Qµ2E\r>\9e¹=r{\160Òagç\81Ä\1fyt\e\7f\83»\89\14/[üøÜÖç¡L\b¥\ 1¡i   Êy»\98³\1ac\8e¤-ÖD\9f°dÍ©\bU.q\ 5m\8c:püÌù\v\17Î\9e8\18\15±zÞ¤!][Ô\8e\1f\ 1äo\87\86\7f?oź\8d\91;¢¶o       §Ð0°K`\9d\8a~V\9dw¾¼\9eù\v
+\97ÞYÑ?\95?º1<È~Ü©ä/bø¦m\14X\9a´é3Ø'ÐeÌ\90.-\rñS\9b\fÚ­÷;e6RAs\89r5\9b´CB5weض½GO\9f¿tåò\85ÓGvo\ e^8e8õ'\16\13\19÷ð?\11\ 6¬\14\9bîÔnR'Pí\ 5\8c\8cÚ\19µmSèJÚîh׸zÙâf\8dwþüÞ\1aÁ_§\ 1äÿ`¿û÷ïݱ9Äv/¨\88ÎS¹±N¬\båû.\99í¨ÝÍ\1dæ\9f\93fÐ)CBS£ ¶1¨\12\18\99rÐ&c\99ª\rZu\e4nÆ\92µ\9bw\1d:yþòµë×.\9f;¾/rÝ\92é£è\82-w\17\91\8d?ûf\91Vl\16\r\18;cIð\86È\9d»wï\8c\8cX»t\16bk˺\95J\151j
+xûhI+\10?Æà©6îØ³\8f2Zº×ׯ#Ý\8b¤¶Fûa  Ñ\97<e\9aô4 Ô#\8fg>//oo¯üùòæñpÏ\91M\8cñ\13sV¿VÇé~¦Î´ý.9¬7W~m¡\924Ý¢ïÈ)\vVoØqàø¹Ë×oÞºyõ\ 2]Ð[>k,]\10eï"R    TN«Ó\8bM@5·£[£{öî\89¢fJê\99Euëk5h
+jô\96\12\ 15\9aÚó\97={vFnX³pÚHå°z/\9c(!ú\92&O\95.c\16\9a\ 4æ-ƨ\99LF\83^[°@þ¼\1e4%4æ¤ÚÏÕièb\80\ e\8f©x@\8dÆíz\ e\9d8{ùº­{\8e\9e¹|ýöÝ»·o\>sdgι\13 ïÑ\ 1\84q\ fÿ\93X%\be0­{¨éþÞýûvïØ\84änÂàn­êW)SÌbÐé\fVðפ}\1fÑ0½5j×®\1djEß\9a*z[úBgM¶I`9óä÷Ñ\99¬E\8a\95ðõóó-Q¬H!³\98\12\9aË\r\f¦I¥´nÙ\1c¦ý\84JÜà\177Ðévü¡S\17¯ß¾÷àÁ½ÛWÏ\1fÛ³)hÁ÷Cè\1eM<      0`5\83¡ÝÊ\16]\ 6\8d\9f­vãïÛµ\8d´\8b\9a\89jU(YÔb4\98
\ 6ئNP¿o\94z­Eì(\19ÔðñÕ\97\8añ*\ 3B\vèÌEJ\94*S®BÅJ\95*V(WÖ߯xa³¡ ·§\87`\90:\8fH\ 5U\93\17Þ/\8f\8f\89\82GûÞtý(,rßñóWoÝ{øèÑ\83»7.\9eÜ¿5dÑT\b¬\1e\7f\17\91J`t     R¨4\15\17\8asÛ{PÜ\1a\15Ùq÷Ö\r«\ 5ø\16±\98-\85Á_£¶â^\15\82Ìöm[6\ 4/\9d9n`\17¥©Ì\8d¶_\ 4\7fß|GI0M²2\16ö-]¾JõZb\8aZÝÚ5«U._ƯX!£ÆÛS4ΤN¡ÎëþòK%u΢æ.\81Ô{¿(xãÎç/ß¼÷ðÉÓ'\8fîߺ|úàö0\9a0\10o\ 2\fÆ\8f2\98\11S\16®Ù ®Ó\1cÜ»="xñôÑý:5¯S©t\89"\85
+\15õ\vP\92ÚÙË\82×o\8eܺ)lÍ¢ét-Üæ\8e\10>¨\K¢\9c´ç×\9a\8bù\97¯Z»A\93æ-[·iCç\9d\8d\eÔ©^\89Æ\84\8aY\88Ù3§W\87%\8b\81Ï\8aùz\89Ô¹M\8f¡\13\91:\93ú]»óàɳçÏ\9e<¼sõì\91\9dëWÌ\1aÛ¿\83r\b\1c\1f\ 2\88Z\82Ø3\98!\13ç®\f\8fÜsðÈÑ#\avo\r[9wÒÐ\9em\eÕ¨à_¢h\91b%\ 3ª\89´\82ö¯èDBl¿D\1fiSø \93b1ÈJ\9c´\97©T³A³Ö\1d:wïÙ«W¯\1eÝ:wh\13ؤ~­*å\89Á\82ùiÖ¯\18\96L¯Ïø\ 6F¯n\1c\ 4Ô¤\86\92Éó\11|\ f\9eºtóÞãg/^¾xöøÞõóÇvo\=w x\14@bf0ej4Uª3*Ø\8f\1d;\8c\82\9dò\93\ 1\9d\ 3ëU\r(U¢x\89RåªÕoIûÔ\7f?\11\13ÍnÄß×ߨ&4\9a\8b\97­R§I«\8e\ e\1c2|Ä\88\11Ã\87\ eê׫[ÇÖÍ\eÖ®Z¾T1\8b®\80\176\f$¡¹¬p\7f¢òíÔ\ f¥Gð¦]\87Ï\¹ýàÉó\97?üðâÉý\9b\17OìÝ\1c\1c¯\ 2È'ö\86Ye\13µ]\1fº\90¹iç\81#ÇO\1c;´g\9b¸\90Ô«]\93Ú\95Ë\96òóó/_­~`\17Ñ\11°6|Ã\86° eb\93\81\9aâ½\847RNÚiDY\1eT{eªÔmÖ®[ß!£ÆM\9a<uÚÔ)ßO\18;bHÿ\9e\9dÛ¶hX«J\80_\11cÁ|\1e4\10\96\ eH¿ý6I21?\8cæoÔ¦¶\17Ê\9dw\1f={õÎç/_½zõòÙÃÛ\97O\1d\88\fY\8c\0Òª\9eý\86\14{\0±7ÌÒ&j+d0d7û\8e\9c8yâè\81\9d\9bC\96 \8aëÚªa\8d\8aeKû\97©\0þ:\8b©mA¡ëÃ×­YB'Ú­í'ÚÄß7Ê\84Áüú"þ\95ë4kßcàÈ        SgÍ[¸xñâE\væÎ\9a:iÌð\81½º´m^¿FEÿbfmþÜ9\ 4\81ß%I"\8eHUþZ\bþB¶ì9zîÚ\9dGÏ^¾zýú\87ç\8fî\=sH\ 4\10T ¶-,Þ3\10Õ\80\95S\10d05\9bw\1e8~¶r£úÔ©\13Göm_¿zþä\11}:4¯W­b¹²å*Ñd´¾Ô\12ºf]XXÈêų&\féN·J\8dJúòí7\8a\eË\91§ Å¯B­¦íz\ e\1e3yöÂå«\83\85¬\rZ½|ñ¼\99\93Ç\8d\18Ø«Së&uª\94-aÕy\81@\84a\94ÄI\93)g|æ\12åk7\17·ÏIÿÎ]%þ^ÿøúÕ\v8ÀsG¢\10@Æô\8b}\ 6Âû>\1fû1¦ØDmß\97fr è<~êô©ã\awmY·tÖ¸ÁÝÛ4©S­R\85\8aUj\12\7fÃ'ÍV\ e:W½\85¿$4\ 6LLتިM÷Ac§Ò\99TÄæ­\91\91[7o\f\ fY³láì)ã\86÷ïÞ¾yýjå|\vé¼<rÀ\a\82À¤(øhëʨÌ\7f¡\9d¿\8d»\8eÀÿ=$þ~|\ 5\axã±Ý\11«æ¨#\1a
+²wa)üÙ6QE      \ 2\ 3\1639\ e\1c;uæÌÉ£ûwlX³`ʨ~\9d[6ª]½J\95\eµ\ 4\7fÔR\vþÖÚùó5\8aÓ\ fòc\94\85\88ÃG\91Ä\91«\·1rç\9e}\a\ eìß»{G䯰à\15\vg}?fpïN-\eT/çgÕÑH]ªæ\92\81¿\fÂðËTk$濬¢ø{ùÖ\ 3ø?ð÷òé\ 3\ 4\90=\9bÖÌ\9b(®xÛÚx¹ù{£a¢ËÀñsV\84oÛwôÔ\99³§O\1cÞ³5tùì   C{uhѰNÍ\1aµê5iÕ\19ü\89KU
+\7fC{´V\ e\bþ\92$µ]Ì©\8e\1a\82öÃB7Gí;|\fî\0\ eõðþÝÛ7\87\a-\9b?}üð¾]àUÕÞ£\f(E\92%O!æ\9fÒ\0¬zbþ\vå\7f'.ܸ÷øÅ+\180\ 2È­K'÷mQ\ 3\16 7\7f±OA\14\ 3Þ²ûð\893çÎ\9e>v *"\bIòÀîí\9a7ªW§nÃfmºö\e\aþBV/¡ãK{K(raD\ 1\91¯:\ 3giÈæ\9d\a\8f\9d>\7fñòåK\17Ï\9f=yôà\9eí\9bBá8'\8dì\ f\ 2iد\98I\9c:Eòä)R!íF\ 2(¶yèb|ð¦ÝGÎ\92\ 3üá5\ 2ȳG·¯\9c:°uí¢)Ãz d\14]lü       ÌßNA\10\81\85\ 1\1f?sîÜÙ\93GöF\86­\98ûý\88~]Û¶hÒ¨QÓÀöÝ\a\8c\9cDüQ£ÇR¥Y_qæ¢Ñ\88\928ÚÎö§ë»#§,\f¢ñ<ç._»yëö­\9b7®^:\7fúØÁÝ\91(üæL\ 6\81-ëW-]Ôàå\91\8d,8¹0`::*]\95î¤L\9a»r½Ý\80_¿¢\0|åôÁmë\16O\1d¡TÀñ \89Cá/Ö1fç\81ãf/\ f#\ 3>wþü\99ã\aw"\89\9e9aX\9f.íZ6o\1eئSÏA£'Sü þ\83eó¦\8cìÛÁ6V\8eÂhò\94b¾ r\9cBÓy¶í?~îÊÍ»÷\1f>|øàþÝ[×/\9f?udß\8e\8dt<0¢/JÃ\8a\88\9e\92\18RÀt±2À¥![÷\1e¿pýÞãç?¼zeK`B\97L\eÙ«M}%fÅ\aþbw\ 26\84ÚL£Ôáðɳç/\9c;}\94r\98\85ÓÆ\ eéÓµCÛ6m;vë;tìÔ¹KW¯\v§[áö\96Zê5\87\13K.ú´¼M~\95ê·î\89H\14D\16xåÖ½G(a\9f?{úøá½Û×/\9d=N\89¥\18\89Ø®I\8d\0¥w\86þrì\bBÃ¥6îT\f\18\19ôËç\8fï^;+\12À\91½ÛÂç\8a\19£ì    t\f\ 3V\e\89º\r\99D¡O=µ9yx÷\96Ð\15ó¦\8c\19Ü·{\97N\9d»õ\1e8bÂtehôúu«\16ÍPo{é<Ý2Ã\ 6SP\ eB\8e´Zã\ e}GÏX\1aºíÀÉK\88\0D\0Tèų'\ fïݺzþ$´:déÌñ\83ºÑLN«è\92KE]r©Ä\b^\9a \16¨L\87Û~@\18ð\8b\1f~Pø;¼#l\99\92@+MDñ\83¿/\94ÛH\9eâÒhÇ~°\9cu[÷\1c9uîâE\1a\8b\15µq-ÜÕè¡ý{÷ìÕgÀ0dÄH_Â7*ý/\94À\88y\139³¤O\9d*¥èÓR\ 2ù  sWEì:"*\88\1f^ÿôóÏ?ÿô#iÑ\83Û×.\9c<\18µ1h¡Òû\11\1føËHa\92¥P¶`Ä\ 411\1dnë¾\13\17oܧ
+øå³Gñ\94?{
+í!.\83´î©X\8e2\96í<\9d»n\bZ2{òØá\83\a\ e\1c<lôÄéó\96­AJ¼\85Æ\8aÐ!'\ 2\96Ë\96!mêÔ\14\ 1èê$U\82\93\17\ 6oÁãß\84ÿÿñç_\7fûí·_\7fù\19yðÓ\87\9d\7f\8a9\13\86tk©\fÕ¥\e\92&K\9eJô¾\14\16ã1\87#ülÚ}ìüuÒß\97/ÀßÕ³¶\ 2NØo¼áO­\81ÉñSϬ\1aA\8e\9d¹péÒÅs'\ fï\89\f_³xöÔ     £G\8e\185vâ´9\8bW\86¬ß\1c¹mëÆÐUÔ?Ô¾1]êË\83:"M\9a\ 5e.Y\99v"¦/\rÝ~ðô\95;\8f\9e¿þù×ßÿøã\8fß\7fÿí\97\9f^¿|úðöÕsG÷l^»\88\86U4ªJWíà=©\ 6I¦ìÁXĽx\1a\8f)\14øî#±\83¥Æ\8f¥Jüð\8d'ñ#ú2\88z\9fµaÛÞb,Û®Ã'Ï]º|ùÂY*ãÂV/\99;}òÄ      \13'O\9f³hEpø&qH¬ô\ fujV£,õ¯eÉ\90.]\ 6ò_t\18ßqÀ¸Ù+7ì<rîú½'/\7f\ 4}\7f\ 2 ð×\9fAàý[\97OÑ´ËYã\ 6Ðá'í^gJ\9b\92\8a`Ñ»¦\Êë:\18\ e`CÔa
+ O_¼x\ eÚcç/o\1dQÃÁ\9fý>«\18\#V>geøv\1aìyùÊå\vg\8e\1dع%lͲ\ 5sfÎ\989{Þ¢\15Aa\e#£víÞ¹m£8bRæ%äÏ\99-S\86\f\19³æT\8e\ e\9e8\7fͦ=Ça¾Ï^ýüÛ\1f\7fþEøS\10ø\ 2\91àܱÝ\e×Ì\9f¤\f\ 5£Ã\8ct*\7f\14¿\95ñ9\83°\8aõQ\87ÏÐ\16Öó\17Ï\9f<\0ëûíù³ÒÄË\9f?\7f\12}\19\84.\r\14\16·nG))Ì©ó\97¯^¹\8c\9c\17\ 4®_»ré¢\85\v\17/]\19LôíÙ·oOÔ\96\1fì)v°¼=²gÎ\981sv\ f/Cqáþ¦,Z»uÿ©Ë·\1f½xýËï\7fþõ\7f\ 40øû¯?ýðì\ 1J1å0¨\97íôNI¿UþJ\88Öqð§è\1fø{þLl îÛ\1côfý\16\ føû4ºk[é1\1d2qîªõtt}é굫\82À]\91\11¡Á«W­Z\1d´ný¦m;÷\1e8tèÀ\9em(î¦\8e\12\ 3w,>yܲfÎ\9cÕ-\8f8IiÛ[¸¿Cg®Þ}Læ«ò\a\ 2ÿø\r
+\88RâÌA¸2\1a7ݰ²¸ÐAü!\80(½§ê"àÿD\ 2Hü=}t\8fö_l\eøeù¯\ 1Çä\8f"\88\86Ú\8eí\93e/^¹výêå\v¨ºölß\12\11\1e\1a\1a¶~ãÖ\1d»÷\1d:rôèáý;Å`ÜþÔ\80P\98ú,³fÍ\9eÓS\832ºq\87~cg­XOîïþÓ\1f~úõ\ fÐ÷?\0\ 4B\ 1\7f|ùäÞµs\87£Â\97ÏT÷ò|<Dù\92,YJÚ».h¥ñÊjþ}ô<âÇÓgÏ(l\9f£\ 3¤Ùc\95\11ÁñcÿJ!Ð6\19U\99\8a¥Ä>Ú>:qþòµ\eׯ]¹pæÄá}»vDnÙ²%rÇ®½\a\8f\1c?yòäñC{"©¥V\f&-ª÷òpË\9eÝÍ#?$P\ 3\84¹«7î>vAu\7f\7f    ú\88À?ÿ\80\ 1\7fýüÑ\9d\e\88\8b\ e\8d\95+ùJù\92\8aÞ! \8cG§Ù\8e\94ÿ]¸q\8føCÞ\88ð\11Sgm#æã\ 1\7f\84Qrè-{\8e\9e¹tíÆÍ\9bׯ^<wêØ¡ý{vïÚ½gßÁ#ÇN\9e9{öì©cûÅ+\a\86v§[ͦ\ 2ysº¹¹çñ6\14+\aç5dÒü Í{O^ºõð¹âþþ§\12H\ 6\fþn\9c?ºkÃÊh]Ê\9e1\rÊ\97\11\9c}¸møv:\81»ÿøé32_¸¿­k\17"|Ðù\87²åȽ\7foç/ÆL\18J¾l³ÉO^¸rãÖ­[7®!\8f9yüÈáC\87\ e\1f=~
+\95Ý¥\18¯\1c \89m~\96\82ù<rºçòô1\95PÃGHä\81SWî<~ñ#øû¿Øü=»\7fãÂ\eüeJ\9b:Uª4éé\15\16\94>·Qêß]p\7f·\1f<~úô       \99ïQr\7f\13\aÅ<±çx\13Ü[ ´\8f\v\ 5ì/\8a¸½GÏ^¾~ëÎ\9d;\82ÁsgN\9d:uú̹\v\97® ¬\¹xæØ¾ÈÐ¥3F÷mOI°Ö+\8fG®Üù4à¿~\9b^#§-QÂ\ae\7f\7f¼É\9fп\18ö[PdߩӤË\94CQ?ºø6sé:Ú@½~÷á\93§O\1fSÿÁ¡\1dÂe*;>jøà\ f¿\9f¼1\98\92\86\12µî1\94\ eâ¢\ e\9eºpíæ\9d{÷îݹ}óÚ\95Ë\17\81Ë\b)7oݺyýÊy\1a\82FnÓ\r\ 6C\ 1ÏܹózÑÅ\83\86íú\8e\9e¹,<ê0²g5|ü/\ 6\7fÂÿÑYÐrq\16DÝ[yrdN\9f6múLÔ?T¤´²ý2\1fÑ÷ðéË·î?z\ 2õ»{ý\ 2\99ï¢)\8aº\9bío\88\88\ füÅP@åí*v\ 5<vöÊ\8d\1e<xpÿî\9d[7o\¿~ãæ­ÛwîÞ»w÷öõKg\8eìÚ¸zÞÄÁt«¹¸©`þ¼yó\15Ðãñ\ewè?vö\8a\r;\8f\9e¿\81ð\e#|\bþ\10?DüÝ\11¾lÆh\11\v\88¿,\19ÒgÈ\94\95Þ\8cX\92v_¨MØÖ¿ñøé\13D\ fjß þµÁ]ß\1cïÃMÞ'±\140\8fM\ 1\85\a\14ýc÷\1f>\ 2\1eÜ\akwïÞ»ÿ\0ÿùð\ 1mD\1dß»%xád\1aùYÑϪõÎ\97/¿\8f\91Øï4`ü\9cU\11»\8f©ÕG\8cð!âïË'w\95R\96¶ò\1a@\99(yÌ\941\13e\8ftþÖ¤\ 3u"\ 6mÜuøÌå\9b÷\14õ£ö«m\8a·h,\86[d·\8f\97â&\8f`\9f      \93Ŧ\80Ô\8bE
+x\8e\1aÈ\1eÃ\ 5=yòøñ£G\8fé_\9fÁ!\89G:@-µDB\15ÿÂ\ 6\1f/µË·yçA\13æ­Þ´ç\ 4\85ßW±ÂïÿQþ÷âñ\9d+§ñW\95R¶"ñç\9e-K\96¬ntI¢tÕ\ 6\10\1eõál?pòÂu»ú!zlZ\83h/® \9b\94\86\11\96\17\89¾\15o* -\a\84\ 2\ 1\ fþì9JP\ 5/^¾¤í$xô+gÈ£Ï"\8f^½l1\13uùê,¢öBõ«¤/\8fÞL_þüý\97\1f_<ºm/e[Õ­àkòÉ\9b3G6$\8fù4VXo\8b.ÔH,Ú\ f®Ú¼\1fÉj{\18½\9f¤SSÚq\10\17\90¾\8b/æûÉ'êK\14c) (BH\ 1\91A<{ñò\a\ 2í#¿~ý\9aö\92\1fQF±Km©­U®\84EWЧ Þê§ìa/\bڲ綠úý_Lþ^?\7ft[=\8aDîX\87øóÌåîæî\91OtÞ7\85õNY°&bç¡Ó\97n\88æ¿Ç÷\15õ\vZH\17X\e\88Ñ Ê\b\8eø\90ý)\88\1d\82Å\ 6\1cUÁ¢\87\f\15À³\97?¼~ýã\8f\ 4([ÉÔ\10pñø^¥ oY·bÉÂF­Fk,\\92\86ª\ eý\9e6Oí»\a1ÂÇ\9f¨\7f\9f?¼uñÄÞM´ÿB\97\8a\8eÈ}à<mÍ\7fôb\97\13\8aõÆT¿qÊ\b'ÚîVoÛÅ\17þloñLi?ÿ\16Óñ×nÙ\ 3\ 5D\ 5ÿâÕ\8f î\97_~ù\95ðËϯ\7f\906\94¨#
+)E\83ª¥\8b\99õ:½©H©Ju[v\17üí?u\85øû5\16\7fHÿ^={póâqÑJ@¯\9b«àkÑz{æõÌïc(B//ë:\90®HÀzÏÂzAßSR¿³Bý¦(Ã\1d­b4Rü\89¾\ 2o\19N.ö\ 1w(%ÔóW?þ\fî~ûí·ß\7fÿý·ß~ùé\95r ¸#\fYHß\ eMj\ 4ø\162\19\f梠 Õ»ù\13[)\82?hn!CAo/o\rt·BmõÖ\9bÚºûèɳg¶àkW¿âF¯\YÕi\ 1ñFýì
+h»ý]M}Ã\99Ò\ 5õðÙ\ fà\ fÜý!ðûo¿Ð.Êõóä\0é¥\17-jW,UÔb2Y\8b\95¶ó\17m¿\7fý\ 3\7f°ß\96õ*û\175ëµZ\9d©°_ù\9a\8déÚÑ<5öRÜzF¥Ç\95³È4×, áÞ¶±\16o¹ìÎ\8cXÃÉM¾4×n\908\ 2?p\92ÎÀ^¼þ        ü\89}ø?i\1f\99¶AEKh\10\85\81Öõ«\94)QØj)T¼L\95úÄß\82 Ío\8d\1fvþö(Ù\88hO/l1\99­EK\96«Þ°u÷Áãg-Sò&
+[ÔùL¥ÇþÈÐe3ÇF«_zÛ°
+nÖb Z\ 1Ŭ\bq\ 6f/âI\ 1\ 5\7fêF<\85\ 1Ñ\91\82\f\90Æ\124©Q¾T±Â\85\8aø
\86L\9a¿fóÞ\13oß~Qý\1fÝf\eÑ»}\93Z\15\16+R´\84\7fùê\rèÞÇôÅ¢s÷29¿çÏ\95<éðNñrÉ\9eÊL\ 1Eý¾\89\17c8yúlÊ\e\92bTñ7îA\ 1é\18\rü)ûðdÀt"\eE%ðÀ.-êV.ãW¬h1¿²Uë·ê6xâ¼Õ\eéôãá\eõ\87ÂßÃ[\97\86P{\7fçÀúÕ*\94ñ/å_¶b\8d\ 6ÔÝ*nm\1d\84Êß}\ 4ú\9e?}\ 4õ;¾OÜýíß\91^\ ek\88ö~ñ\8b¿h\ 5´½EÇ^Å\9d¾L
+\b\ 3þCÙ\89WÎ1\9eRK£°Ãa=ÛP\97¾_ _ÑdÞ\8dÎÎP¿]¸\11{ûTåï¹èeÞ\16ºlÖøÁ=Ú6­[½rÅ
+\95ªRsa\9f\11ßÏ]\11¶MÔ½\ f\9f<\7f!Òô˧\ fEmX5oÒPz\85hI«}ÔG<J^\14Äz\8b\8e¡X@M\91D\8b\1cæüõ»\8f\85\ 2ÚN\82\84\ 1\13\ fû©\84£k"u«\96+]²diXa«®\83ÆÏYIû\abûþ\rþ~¡ó\ fDnp2\7fòÈ~]Z7­_»V­:õ\9b¶îÜgØÄÙËhßö,õÝ?£SK¨\1f\95Ù!ø\r\8aòbR\85\ 3FõÄ\rìï\11\13-ÌÔÈ(^1Em(\97n>xJ\1e0Z\ 1aÀ¢%%jÃʹ\13\87toÓ¸VåreÊ\ 4T¬Ñ\10ü\8d\9b½b}Ô\91s×î=yùS\8cý?õï!r£\9eؼvÉÌñC{wnÓ¢i\93&ÍZ¶ëÖoøÄYKÖÂù\9d¶]û\10§\96P¿õ«ÄEwÔÊ\16\9f<Ùí¹_<£/ÆKLb¼e\99Ú(v\89>¨ç¯~²) jÀ\ fn\\80r¬]DãN\ 2\eÔ¨\¡|\85\1aµ¦í§åá;¢\8fßbò'\fÿ&etá«æO\1d;¤O·\8eíÚ¶ëÐ¥×À\11 /8"
+Îïºè9\10M\eBýÖ.\9eF\8d\ eÕË\14\11o@\8f§ê§* ò&Ez¿E\85:4Âfæ2µ\93öÉË×6\ 5\8c\8eÀ§©\93\84!=Û5«W³jå*Õë4iÓ\8d¶ïÂD÷\86²\7fÿW,þÈ\ 1^9sd÷æ\90ås§\8c\1d6°O/êL\1a:æûÙK\826ìØ\7f\82\9cßS\14Ü/_(ê·cýJñþ²º\15\ 5Ä«íã§úÅP@å%{þê\f\9bU"\84Ü\12!ä÷?þ\12\ 4þ¡\1aâùcÈD\16M\e= k\e\1a5k7hÖ®û q3©y\8d\12èX      \fíÿÑ\ 10þÞ\85\13\avD\ 4/\9b7mâè\11C\87\ e\e1fâ´¹K\83#¶ï;N\99ß\93ç?\88\9e5|NQ?åý¿\85µùÜís\16â!\7fö$ZÉa\8a\97\13!\84º\11P\ 6_\8b\19B\14E\125ðÁíá+©\9d´Këf\rëÕkÐ8°CO$ÁÈ{ö+ço±Î/\ 5ï¨\9do_9{tß¶\rÁË\17Ì\9aöýÄ\89\93DcM\bè;vö
+2?Ñrú\82z^\10h\84ú\89JÙTÀC\99É\1a?Õ/Æ+¦è5D\ 5­j\b\99½BT!7ï?}i\v!dÀ¿P+\v\16ê\86\1cÚ§s[D\82¦-Útî3t\ 2\8a\b\85¿7Î\7f\89wj\81¹wãÒé#{·E¬[µtá¼9sæÎ_¼<(lSÔþcgQö>~®´<?¹wã\82H\14Åà°j±ÆlÅOþl9Ì\e!\84\1a\ 2\ f\8bË,\14BþPj\10µ\95\85âcÄ\9a\85ÓÇ\réÓµ}\9bV­ÚvìÞ\7fÄ$º~JüÙ\12Àh\a\bÞI\ 1ï\¿xêÈÞ\1d\9b×\87¬YµbÅÊÕÁ¡\11\91»\ e\1c'úÄ\95­\1f_½¤\96µ³\87wn@ð\15êWB\9dÈÊ\1a<>}\13\7fãï3e
+\9a\12B\94*D\9c%\1d§VFXðo¿ÿi¯á^\b\ fµ/2l%BéÐ~=ºtêØ¹{\9fÁc¦Ì\83Ê\82¿\9b\ f\9eÅèß\88\97O\1fܾvñôÑ\ 3»¶o\89X\1f\1e¾>bSdÔÞÃ'Î]Qèû\91®\1c)aZLÝè«x?1\90õ;¶Ê-Ö@¹\98Såb\13\18#\84\14ò¯¢\1eGÐe\ 2¨\93-     T\9aÑ~R<Ù\91Ý[Ö­\987uÜð\81}\11\r\1a9aÆÂÕë·\1f\10ú÷C¬\ 4PQÀ\9f^!´Þ¾véì\89Ãû÷ìܱ}û\8e¨Ýû\ e\1d;}áê­{âÂÛO?ýø\ 3u<\9f;²+BÙ§¡}~¡~\¹ËÛFÊEÏCû4Æçl!D\1dyJÃQ§Úo³\88$P%\10
+øòÉý\9b\97N\1dÚ¹)dùüé\13G\ f\e<hðÐ\91ã§ÌY\1a¼1ê\105\7fÇæOQ@Xð+¤Æwn\9\7fæÄÑÃ\a\ f\1c8xèèñÓç._¿}ÿ1èûé§\9f\7f\127\8e\942oÆ\18zy|\99"\9cê\17=SÎ>QN\19*÷·WàÅ\f!yÔfxõ8Ö¶\8f\10C\ 1_=§\ 2ÿÄ\81¨M!+\16Ì\9a2aìèÑc'N\99µhUè\96ÝGl\1eó\rþ¨\8b\12êEÍø×©­áô©S§Î\9c½pùÚÍ»\94¸(Íæ"ÉQgnPËK%Ñ'ÍåýbÌ\94\13\13åìïoSfÊÅb0f\bɧ+B\eY\94\ 4\b±-X    \ 5·¯\9e;\ e\ 2×­Z2oæ´)S¦Î\98³pÅÚ\rHEΠ    }ý96\7f6\ 2áß\1e?¸{ëÆµ+\97/]º|åêõ[wî?zúâ\87\1f\7fúå\97_~\16ûÛê\ 1ß8ñN5:tSfD9\9d>;{âåwö÷·\89\17¸Å\9a\87fãO­BD32½\ eZÙGج\h¶[°Ò\8eû\12\15\10¸sKxð\8a%\væÍ\9b·pÉÊàõ[w\1d:yA\r81ø³\13H­äÏÁཻ·oߺuëöÝ{\ f\1e=AÞ"\8e       ~\81~\8a\v\97û¨8¤ó\95èyüÎW¿höl#åR¤H      (3åÄ\14\eÛ,*\e\81\9fGod©I r\eëÄEQÆ\11%\82Àß~¥Pp\9f\b<¸+rchðê\15ËW¬Z\13²~\8bHånÝW>üW4\7fÿ\13Û\87t\ 2 î\83<{òøÑCàÑã'O\89½\9f~\11W\1dÔ.é#\94¼¨#Êlï\83pºúÙ\ 6tÑp\87ï\92\8a\91riÓ\11Òª#å\92Ø&)©6üi\8c\8d,{\128|ò|q&+Ê8aÁ\7fþõ§\12KQfݼrîäá½Q[7®\ f[GMª\91\1d9uáÚ\1dõ³1ù³\13ø+1\88"÷ù3à9ê]:âû\95\ e¨Ä\97ª\9b\84K§«\r^\9a<¢eãkgïÚÛéûF\fEK\9d6}ÆL\99³dÍ\9a5K\96Ì\193¤K\93:¥}\92\92M\ 5m
\8c\14±_©§\9e\0*ãì\16ü§Ð#Ê4îߺJ]¾{wnߺeËÖm;vï?ròü\15qn§îÙÄä\8f\bT\18üù§\1f_¿\12xý£`\8fN¨Äwª\9b³âtE4hzçbiÙ°\8f\87£ËÍ©Ò(#åræÊåá\91+§{\8elY2eH\9b\9a®î~c#ð\93\96\ 4\96ª,^³'NµÅaÒK\91E+\ 4\8aXúø>²¹s'\8f\1eÚ¿wÏî={\ f\1c:vêüå\ew\1f>}i«\98ÿ\17\8b\82Ä (üY9\94ÿå\97_Õó½ßEb~÷ê\19:\1c\98¥ôÇ)É\vþ\9f:\9c0ÖH¹|ù½½é\ 5dùòæÎå&Þá&&)E¿ÿäÓ7\92À²Õ\e·\17e\\ 4\95q±-XMF\1eܹyõâ¹Ó'\8e\1d=rôØñSg/\¹qçÁ\93\17¯ÔMÿÿÅ\82M\ 5éN\12¼\1dá7A\9eípO\9c\91Ð\1d\a:\9do«F\8fôjÃ$\a}I\92&O\956c\96\1c9óä/ Ñ\19Lf³ÙdÔk}¼<=ܳe\12\93\94b\13hK\ 2\95¡6\15êØ\87\8aIJ`\e\81HF\1eÝ¿}ã*Ò¹³Àù\8bHæî<xüü\87\1f\7f\16õò\eü©*ø\97¸\94D,
+½ûóO[Zù£Ò¢º;º½P\8d\1eÎV?ÛPtØnêô\99²ÓH9½©PÑâ¾~%ýüJ\14+l1h¼==rdÉ\90\96\bü*ú\ 5(1\92\92\8c2N\8c\13V,8ÆiÜ\9fJ2\82j\1fù05ú^½råêµë7oß{\88täµíÌé\7foB½\ f"8Tð×_¶³QÚØ\11Í\rÑýºö÷I:µå@¥ïk\9a\8e\94>K\ e\8f|>zKQ_ÿ²å+V®\¹R\85r¥K\16/dÔxåq§+ô\82@\9b\v\8c\9d\ 4\8a2®}\1fÕ\82cdÑ*\81t1\90®÷>B:wçöíÛwîÞ\7føø)\95\12Ê\99ñ[øS\19T8\14PÿóOå\88\8e¦EP\8b\9b\180ègkøsºúÅxu [\1e/­¹\88_\99
+UkÖ©× A\83úukU¯T®Tq«¾\80gÎlt\83/I\8c\18I 2\ f\87,xlôX è:XIF~&\ 6\9f?UÒ9%\9b#ú~Uè{\e\7fÑ\14Æ\84í\84\86Ðm#åz\892qÜÉ\1d\12)s\81Ýó\16Ð[K\94®X½Næ\81­Ú´mÓºeóÆõjVVFQ墷à\89\ 1\9cv\ 5´%\81¢\8c\8b¶`Ê¢ÅX\11\9b\ 5ÛT\10\f¾\ 2\85\94ÎQ\97å\ f¯EÇ\8crâþvúÞF¨ÒaIÑ\97z\93\14óõWÚí\9dÛ¯ûi¬¡èY@\9f¡pÉrUë4\ elÛ©k\8f^½{õìÞ¹}«¦õkTð/f*(ưÄ:X°'\81Â\82\8dÅ£-X­\83i/úwµ\9f#:\9bC:Gm\96¯\91ÍQBB&þ\8fê÷Vþ\94\93å\18æ+úu\95ñÜN0ß\98[£êPte¬r\ 1c\91R\15j4hÑ®K¯þ\83\87\8d\189bø\90\81}ºuhÙ¨V¥Ò ÐÓ=\8bú
+#û\e\14TåMi\9bJ Æ`ª\83Ï\8a\96¬\9f~±ÝL\15\f\12\85¿\88lNäs"\9dû0ú¢/xÝ8¯t¸©·e\94a%q^{Ä`NÙè³Í\94Ï\91§\80xw[ãV\9d{\r\1c>v¢\98(7iÜÈÁ}º¶iZ§r颯ØïвOeV\14P\8cÅ(]µa\9b\1ev\v¾\1eÃ\82Õ\DIç~ý5:\9fûóO%,¼?\7fê\ 5C1ëÀ\16}ýcÞ\96\89Cþbn.\7fn\e\8cÓÌím(â_©vÓ¶Ýú\ f\1f7yæÜ\ 5\8b\16/^8oÖÔñ#\ 6to×´N%ÿÂz¯\êÉê\17ê+\93?S¿@\99éO\93ÑjÑ\8bâ¦.Tëà\a¶Ó$Ûå^A!%s¿+     \9dHI>\88>µAZi0W[[íã}ãø¶Ì\e\10o\8føZ\99ë(Æ\ 2\97ªX»i»\1e\ 3G}?sÁ²UAkCB\82W/_8kòèA=Ú5­UÁÏZ0¯\9b¢\80_ª3\99?ÿB\99¦+&Ëyxé\8bøW©Oó;g\89\8b51cp\8cLäÏ?cåsÿ÷\81ôÅnð\9d/ÆÝÛÞ8\18·\97\ 5£wHi{YÌd¥Ý*äÍ4\92_cõ«P«I»\1e\83ÇN\9d·tMè\86Í[·nÝ\1cA¯:\9a:fP÷6\8dª\97-fP_7\88\10ò\85íå\1dâ\e¨pÉ\9aÓScñ-_³iûÞÑ£IQ\aGwļ\99ÍÙ\13º÷g/ÚýѬ?º\1f7®¿2Ý<Σoô\ e©Ø_¦ÍezóFÒd)é¥Çd|åèÕm\83ÇN_°r]\ 4M\94Û¿oÏÎÈ\88\90\15ó§\8e\1eÐ%°^%µ/\91^D+¦`\83;u³0eêt\19³¹çõ1\16SçÒ+íÝçì\87\ 4å-éÜ\87°g¿\1f\82âãôAÚº\12Óîc¼p0®Ì×îî¿´ï/'¥ëð´á\92\85¦\91ÒHþÖÝ\ 6ÑìWz\9fÐác'N\9c8vh\1f½\ 2eÞ÷é}\94\1a\13sR\b\rÄUßÝ\91*u\9at\193gÏ\89ô§H©Ju\9awT\ 6ÓG       \ 5\8c>O\8f©Cÿ\89:\e\7föìE\\rëÞRyÛ\822ê%®Ì7Æ\ 6³ý\95%)S¦\14\8f\9e%Gn/}áR\95éÍw£§.X\1d\1e¹ûÐ\893ç/^¼p\8e\ 6Cl\ e±½'À\8fn¥Ð\1c\96ï\92\90\ 4\92&O\91Rì´¦Ï\98)Kvw\94~H\1f+Ôl¢L¦\ f\8dÜ{üüµ»\8fétãÍí©ÿ\ e»û³\8f: Q\891ß7\18'üEo0\8bw\96\88ÇN\9b6]ºô\192fÎæ\96;¿ÖêG¡³Ï\88ÉóV\86Gî=rêÂ\95ë7nÞ¸véÜ\89\ 3Ô:0e$½2^\1cOÓ$´d\8aæ¦N\9b.\83ØiÍ\9eÃ=WnOo­©HÉ
+5\1a\91\16Ï \16eåtMé(r\18\7fÊõÂ{ÔV¨f/Uãü\85Éol0Ó;K2*/-¡\9dÒ<^\1as\89\80ê\8dÚÐäðå¡[÷\1c9séúí»÷ïß»sãʹãû¨\8dv\9cí%ZTÅ¥\16\9a+ÞÝ\91-\87\9b{.\8fÜyòæóòÑ\1a­ÅKW¬Ù¨u×\ 1£\91¨\ 6üä-\ 6ü\11üÙÜß\95Ó\a¶­S&Õ)Ù\8bmë*\ eé£\%¹²Á\8cçvs§×\96xäÉç­5\17+]¥\9e\18)¿xífjî¼q÷Áã'O\1e?¼wóò\99ÃÊù~÷\96Ê=È\1cY2¤K\v£Í\90)kvh]Þ|ù½
\14ÔhõFsáâ¥\ 2ªPsß\80ÑSæ¯Z¿Ý\9eC;\94?Õý\9dP¯Ç\ 5ª\93&ÕQÏqÅ\9fòê´d)\10)³dw\ 3my==óå£\87/¨·\14óGæ×\9e\ e\80\84Û¿H\ 3-\9e¿|ùB´¶ÛN\b\95{Q\9e9i
+\ e\1c^67zw\87\8fVo0\99-ÖB\85\8b\14+áWº\å\9a\r\9a·ï1pÌÔù«ÂE\93÷ÝG\ eu\801Ý_ιãÕw}äµg/qK_Ê4\192gs÷È\9bß\9bT\ 6Ðé\f¦BÅJ)^\8bî¥Ð\8d\8d¥\91Ô4Ò\96^j`¿\95\88Þ+·{ö¬P_w\ f\82z\93µp1Úi-å_ºLÙr\15*W«Ý Y\9bν\87\8c\9b¾pµÂ_\8c\9e^GÐ÷7÷§N\87É\1awîO-óé­\11)ÓfÈ\92ÃÃÓ» ÎH:#P¤\98oéòÕë+¯Ã±7¡ý@w\ 1\7f|õüñÝ«b¥³ÆÒk\14\ 2\8a\19}<=rº\8bh¡1X\8bú\8awwT®RµjµjÕkÖªÛ q\8b6\9dz\ e\1c9iÖâ5\e¶ïw<\7f±Üßâijñ¦¾,/n&eG¿y\ eUVV÷Üùa°\85al%\15\94*\1dP±ZÝf(<Æ+\1d,âôL\9cñÿ¬Þ`Û¹aå\1c\11\970k¼<ó Zxk\10,J\96­P¥Fíºõ\e4lÔ¨qã&M\9bµhÙ¦C×^\ 3\86\8f\9b:oÙÚ\8dQ\aN\9c·\1d\848\8e¿Øî¯[`tñ\16\8bj½*}y½uæ"¾þ0¶\8a@\85
+å+T¬R£n\93Ö]ú\8dTæY\9c¹¢t¤üF[îê\1c\9b\88\95sÆÓ\18Î
+~\85ô\ 5½½¼
+@÷\8a\95\f¨\£næ-ZµiÛ®}ûö\1d:tìØ¹K÷^ý\ 6\8f\187eöâÕa[vÑh\ 4Góçt÷§¾s8Æ\ esqÿr\95«Õ¨U»NíÚµjÖ¨Q³vý&-;ö\1c<N9;» æñÑEJû\ 5\ 6e\97\16u*\96*bÒi5Z\83¥¨_ÙJ5ñ÷Úv¤\8dÖ>}  ýúõ\1f0hè\881\13¦Î^H\8dÊ{\8f\9e¡[\1a/\1cÇ\1f\8fûS·Hm;̾e+Õ\80£jÚ¬YÓ&\8d\e6hÐ\80\866wë7bÒ\1cÑì4$Ó8ÈߣçP        ý\v¬[¹t1«Éh´\14.á_¡ZÝ&­:tëM\e­£F\8f\1e3æÿÙû
+¸ª²íÿÿôèØcçµ\eo\87:vaw·b·ØÝÝ\8aÝ-¶Ø`Ñ!(\18¨ØÝ:éÔïý¿k\9fs/\17\ 6¥Îe\vç|ßç½§x8g¯^kÇÚ³  sæ-X´Ìmí¦\1d´;( ôê­ûO^¾\8dc}<Éêgs\7f\ 1\94ý¥\90û\13\96\19ÙÍsºJ5ê7kÛ¹Gï~0¹þýúôêÙ£GÏÞý\87\8c\9a4g\19Õ¬\81d¾oé\10\87È?ñN\ 3:\0èÒ®iÝê\95+V¬T¥f½&­;¹\fp\1d;y&M´®ps[éææ¶\ 2p[µfÝÆ­»ö\1d>qÖ78<\92\8e\97þ)\1dÿì\8aßXÙ\9f£Ü\9fpäO¼úËR£~óöÝû\f\1cæ:rÔÈ\11Ã\87\ e\1aЯo¿\ 1\83G\8c\9b6ßm\13Ýgpå6\1d\bú\83u#eÓ¼QW\84U\9añCz¶kê\³\1aò\95Ú\r\9aµíÚgÈèɳ\84«;¶n\ 3¶nݲ\19زmÇ.÷\ 3\1e'Ïø\ 4
+[\95ß¼\97®þ\88]ü¦HöG\vDÖ%
+ÔiÍ;ôè?lôøI\93§L\9e8~Ì\88aC\ 6³¦Í3é`Ù  ï\90kÖv¤\7fÓÖG[¡Dçÿz
+çÿjÕmØ¢}w\9a¦\9e¿|Í&ººãà!àà\81ýûö\ 2ûöS\aÀ³Þ\ 1¡\11\91·\1f°ý\19\1f$â_\1cÅ/Ü\9fÅ©\98\ 3\8b_q\9b\8a¸ÈýS\9d¦íz\fp\1d7eæì¹sçÌ\9a>yü\98\91®Ã\114§Ì^¼fÛ\81\93>\17YC¥ß\98û\8b6\15Ö\bwP\8f\eÖ«S·~ã\96\10\ 1MSÓ-\15\87\8e\9e\ 5x\9e>uòı£À±\13§¼Îù\ 4\\f¿.ì\94\17Ü\9f\8bUü¦\90û\13·*ÓFÇ\1a\rÛtëï\8a\ 4\92\96,\9c7kêÄq£G\8d\1a;qÚÜ¥k·\1f¤nòÑü³\86_ÖÕgÚ¨\ 1ÝÛ5oT¿~\83&\8c}\93æ,]»mïá\13^ç}ü\ 2\0\7f?\1fïógÏ\10\9eóö\r¼xùêÍ;\ f\9f¾|ó³Äæ+d\7fì\9e¨©ÃSÀý}a=/I7§Õkީϰñ3\16,[¹fí\9aÕnK\17Ì\9e6iüرã\91³-[·ãà)ßhþ \r \84óã;×,\9c"\1ecF¶Ø¾{\7f×\89ÂÅ'^Þ\ 1!a\97ÃÃÃ/_
\18\1cèïëãíííãë\1f\18réJ$\9d4xõî\17ë\ 2HòÙ'´\16c+\97bS\8a\94(~©ùºµéM£¶=\ 6\8d\99¾`ÅÚ\8d[¶lÙ¸n%cà\84   \13§Ì\9c¿|ý\ ejg&ò\ féß\avzRØá¹rîÄá}º¶mÑ´I³\96í»õ\1d>aÖRºøä\9c\7fÈå«\917nÝbww\84_\ 2\vÙI\83 \90°ðkì¨\81°½J:ó\8d^¹DH\eëøìÏÖz8\8fØñ¡ï\88És\97¯Û²c×î]ÂeM3§N\9e4yÚ¬\ 5+Öï<dã\1fÒgÚ·ÌV¹|¨\85$»¡§mËfÍ[¶ëB7Ì,Z³ý\0
+\8c°«7nß½ÿàÁý{ÔDöJ8\940(((8DØÝ÷èYôî>©Ü\9f°rÉ®)\9b1²O\a\97#ïi´^\9e\90·HY=Û'?væ\925[vï;p`¿û\8eÍkW,\9a3cê\94©Óg/\±!\9a\7f¿þñáÏ\ f\7f\b]p\83ÏÑôß´Ñ\ 3{vjÓ²EË6\9dz\ e\1c9eþÊ­û\8e£>»\1euïÑ\93§Ï\9e=}üðþ\9d[âæÈàà\8ba\97a¾÷\1eQS"\9a}\96Ì|£W.Ý©µS\8c\95K\aÍý}ùõ7Bçfêýß\9e]Ú¼i×þÃ\1e\1eG\ e¸o߸jéüÙÓ§M\9b9w\91ÛÆ]\87Ùù\17¶äóáÃ\aëágê*5\7fò\88þÝ;´iÙ²5¬wØx\9a^¦Sà×a¢Ô\0èÕËçOéê\93ë\11\97B\89\7f¤\7f\ 2ÿ\98û\93®ø`\9d\15ÙÊåNÖÕ²E\9dJv+\97\ e`ßÿ³^\ 1_ D\85\8aµ\9buî?zúâµÛ÷\1d9~òäñ#\avoY·bÑÜY3fÎ\9e¿dÕ¦Ý\87Ùé\83'ì6\84\ f\7fXÛßÐÙäÙã\87õéÚ¾u«Vm;¹\f\1cEËC\87<}Ã\84\16\18ïè\18ó«\17lwî\95Ëà\1f\føâ¥\bd/\1fÙÜ\9c\fþÙ\8a7Ö¥¸_'ǯ\²ëïl7pw\e<~ö
+0ê\84§\97×éã\87÷îØ¸zÙBv jÙ\9a\1e^t\84\97Ý&ñÇ\1f\85\9a8\9c?¶{ý\92éc\ 6÷êÜ®u«6í»ö\19:\9eÚO\1d\17zæ¼¢«¯~ýùý\9b\1e\81\7f\11\14BX\vÞð\8fo\ eO"û¬\9dM\84¹«\18+\97\99\1d·íO¼\09oáÒz¡óÿüÕÛö\1dó<wþüÙÓÇ\ eîÞºÎmÉÂùó\17.]¹~û¾cg­\a(Á¿ß~&QÓ\ eYÖ»`@\8fNm[·nK³ól¢\90f\1ahu\97\1dEûõç·¯\9f?¾wëzx(\92\18?ÿ\80 ä/7\90þ½²N\1eH¢~\7fGo\9b\14²\17Z¹,åØ\95\v¸\e·ïÃz\15\1c:y\8enw?{ÊcßÎÍkÝ\96.Y²Ômíæ]\aORS$6ùL<yÏ\8a\ f¿Ó\a({qí×½c\9bÖ­Ûua\1dlÖÓµ\e¨\94\9fSxøÀ\ eZ½~þèîÍ«\97C\ 2ý|}\90\0\ 6Y«7©ø÷\7fÑ\e\ fè\92ËmBSäZ⽸\ e»¥Öv}j±òÂõ©3\97mr?êåí\1f\10 \U·}ÓÚUnn«Önܾ×ÃÓG8Ï'òï\15Ë^P¼1÷G=lÚt@ô\98\ eÄ{c(Óag©Þ½zöðÎ\8d\88Р?\1f¡\ 5yÈåkQv\93WRð/z×óÉ}\e\97NgmN£³\17\aeÏbø(X¢B¥º-º\r\1aO\9d\aO\9có\v
+       \ eô;ïyì ûöÍ\eÖ­c½\ 5N\9c\v\10Îóýü\e\9d\ e}÷ò  ]H|Ü}ÃÒ\99ã\86ôîÚ¡m\9bv\9d\ 4óÝ~ÈîÞ\18\96i¿}õôAÔõË!\ 1>çÏ\9eE\ 1ç\17|\89f_^\bg+¥à_\8c]Ï»¬»\9eµ¥\1c¹ïê\8b\18\97/Ö§KK\16¬Ùqè´wà۰\8bA~t\9eÏ}ç¶­[·ít?x\8c&\8coZ}\1a;]+\1cî^¿dÆXâ_»v\1d`¾£§QרsBç ë<5;àvóJX ïù3\9e\9e\9egÎû\ 4\86
+m\1eb\9eMM\8eú±äÙÞ|\85¾ä\ 5\1c¸mò\vëõåtq\8cxùçú=GÏø\85\BÉ
+c;wúØáýî{ö¸ï?|ÜÓ;ðÒ5á<\1f\9d\99\8e7RGj\81\7f}ºwêСsw$\7f,úz#Ñ~Ê
+=á,\1aµ\ 1¢f\ 5\17Î\9c>uê\94çYï\80\8b\11t/\99\84ü\13\92g\16}É|£w=;ê\8e\ 5ñhG:±åp-d\7f½1¨»"®^C±\10ìgmÎpì¤\97w\0S\19*¹~ÿ#&ÿfÒí\8c]:uîÖkà\88ItBá\94/kÜÂæùÁ?vÂ7êZX ÏYÏ\93Ç\8f\9f8åuÞ?$\9a\7fÉO_¢¯\ 5¹s5\86ù:pÛ¤°î\eÝo³^«ît{ùvTi!á×n â\8f¸\14Bç!¡1§½ÎÁâ"\90rÐeºÔ\ 4ÖÊ¿óÇöl\6{â\88\81½{tëîÒoè\98i\v×\bî\8f:GþNGI\ 5ó½{#â"\89ãØÑ£ÇOz\9e÷\93\9a\7fB[¶\a·lËù\9d\99ù:lÛ¤x6\81Nø    7Þ°[O(õ@áuí&»\1fá*ò5\7f\v,`RÆ&Ì\17\v)É[¡\aÚñ½\9bÝæM\19\7f\9f^½û\r\1e1qÖRÚä\11t\85õ\1aBôeó\\14=®]
+ò9sê\98Ç\11\8f£'N\9f\13ù÷6öÙè$òOLþ\84ù\f÷\rBGxD_\87\99¯õh\a\91ú±k\9fÄ~Ãâ¥'ìÎ\8eËaBÁ\15\16a7áÄÚ\ f¿£û\9cC}N\1dضfñÌ\89#\87\ e\1c0`°+­\93lÞK\97æ\bË\9c\1fþ´\1e\8f&õ;wú¸ÇáC\87=\8e3þ!\16½|ûK\8cË\ 1\92®~â\99\19a:rõ<!y\8e\8e¾Ró\8fù>v2\86î\8b-ÎÎGÒ\8d\91¬U_Øõ¨{\ f\1f=b7ND^»\12\11ήì\88\12\8eCþ"Ü\ 4\7f7.ùÓí +æO\9f0ÊuØð\91c§Ì^BóÔ\94ýÙæ\19¬ê\17èíuÂãÐÁ\ 3ìp¹õl>"tòÓ\17ñÈ\9bpbõôþÍËg\8e¦ÝLB¿\ 3GD_qË\90õhFYÝOu\9bw\11îÛ¥m\8d7\85ûb\9f°Ó\90·n\ 2QâqHá<\1f;\1fÏ\1aßD\ 4\9d\7fÛÚ¥ó¦O\1a7vÜ\84\16®Ü´Çã\8c¿Ð·åWÁS¾Aíq#<Ä÷ìI\8fCû÷í;pøØ©sþ´øËÎ/$?}¶\8b\1eÂ\89U¡+yU½\90<Ko¾öìc\17ÞTd\1d\1e&\89\1d\1e¨ë95Ý\7fùüÙ\13háý{ÔÜ\82\8e\15\8fCþÍ\82\ 2\99˵P_¯#{¶¬Y:\7fÖtÖBnÅúíûO\9cgwÖ1þ  \89¶Ð^ãÔÑ\83ûÜ÷¸ï;t\94ñ\8fµäýÍ®7bòÔÏ6\9dÆ\8e¼±\e½Ä&ãR\9b¯\1dû²Ò¦\83
+¦ê\r\8d×ìÖÅà\88[¬ñïÛ·o\84Ã\90O\81gt\ 1/k\rò§õ\80<Ìòɽ\9báA\17N   w3.\98?\7fá\12·u[Ý=<\85=noh\93\16ë\ 2ôð6¬÷\82p\ 1ÜÎÝî\a<À¿0ëÞ«d§\7föÍhYSã%ÓØ\89Uv)\9c\ 3ú\1dDï÷£ÛJU%\9c\8cU\9d[tî7Òze\ 6m\8f\96.J\10Z[¼zõ\8aº[\88Í-Ä\8b(\85þë\8fn_\ f\v°Þ͸bÅÊ5\e¶ía\e\83¨aûÛ\9f\7fùí·_ÞSî\12\19\1eìMÅàÎíÛ¶íØ½ÿÈÉs\ 1t/\11mDJ~ø\8d¾S\8fzʲ½\10\88\1eìÄj^\aÔ¾±ÙW>Ö©\fÛ´Ýo¿ýú+;\vI\17O\bÇ!Iù¬'äY\v4Ñ0\8fìÛµmóÆ\8d\9bènÆ\13gý.^½Å2\9d_ðûÔÛåfD\88ï\99c\a÷lß¼I|Fà\1fËp\92\e~£[©
+Ýr6/\9bÁ¢Gtò')ÿìØ\97-'±\8f\16ÍÛÓÑ\84å4éÎT\a¤3×/\9c\85d\97N°Ó\90ÂaRë\11ykU\e\1apÁó8ʼݻ÷ì=èqò\fml±mQ¥Ûz£®\86ú\9d=~p7ës¸nã¶Ý\a\8f\9fõ¿$tÂJ~ø`êÇ\1a1\8a­þ\16L\1aÖ³\8d\10=ØÌ³¤æ\e\83\18ûj7iG»K\97¬ß)\\99Á<\17ËR\84Î\16Â\95\131NCþûÏ?ä\ 1ß\v³zaA¾çN\9f8z\842cÏs¾Á\97ØÔÔ\eºr\9bÍûE^
+8wâàî-ëW¹­X±jíæ\9dû\8f\9dñ\17ú\10%?üZÕ\8f\16\13\9d¢V\7f¬ÓdE\87\Q\117ûhÑw\11åm¢õ²ë\9e\85\8b\12þúËv\1aò\1fÛiHk\a/6-zïÖµð\8b\81¾\17Îzyy\9d9ïã\1fré*ò\1fêãEw¶3ë\r¾pê0b\8cÛÒE\8b\16/[µ~Û^\ f/?q\1fk²Ão´úQ5yt÷º\85v­þ²H\9cüÙØGÍ4\88}\ 6°¯m\8f\81£©m÷þ\13\17\82¬EÁ\87?ÿþû\9f\98\88>Ï'6¯ùS\98W~|ÿö\8d«\97C\83\ 3üýüü\ 3ie\9cõmyóî=ëßú\90å8\1eî[×._4oÎ\9cy\v\97¯Ù²ç\b;ÁO\19¶ýÝ\1eÉS?q2Üm¶]«?\89»åÄb_I°¯\ e´\8fØ·jë¾ãç\ 2éh\ 25L\12\ecüûß³\90â-¨\82\ 53\ 6¾xòðnÔ\8dk\11\97Ã\80Ë\11W#£À¾\17\14Àß\93úÝ»\11\1exîø¾më\96/\98=cÚô\99s\17¯Ü¸+z%\9eÒ\97dòϪ~Wi2c=5¹oß(f«?\87°\8fÎCZÙ·`Õ\16Z\1d¢\eG\9e¿~o\7f¦9î³\90¢\ 5³¦#ÔÅ\90\e\91ׯ_\8fD¥rÿ\91À>ñ\8a¨k¡>§\ fíܰbᬩ\93&N\9a:sþrÚIã#\rÿlm\90Iýh'\89Û\9cq\83è2C\a´úû\bû\ 61öí¥íð¬Ý\99¸\1fô_;e\8b³w\8dØt\84ÖÖ^¢Ny@w\vÞ¹{\8f*\95\97Ä>j¥Áº\7f\a\9d;¶w˪E³§\8c\1f3fìÄis\96ÐN8ï\8bVþ%+|\bêÇúèÓRªp¡J\av\92Qhó,]«?{öåbì«R§i»\9e\83Èx\ 5ö]»ý@\\91\8d\7fG\85\7f\8b][^¿|ñ\8c.\17|üøÉS¡RAê'¤Î×Ãü<\ fSoÝiãG\8f\181jìäY\8bVS\9eiÝI\98,þÅèÂM\8dNW²s(tÇ\82µË¸ÃØg¬R·iû\9e\83Æ0ßÇØ\17õà©\1dûâ!ëÿl]\f\89\83ïÞ¼F­÷âÅË\97¯^¿}'$ß¿Pz\ 3µð>±\7fëêE3'\8dv\1d6Ìu4ëñOÝÈ%âßß\7fÚ®c8Î&þút\10¯w\93´Éý\7f\8cW`ßà1Ó\17®¶cßÛ_¬»iã¥ÊÊÀ¿\84®-ïß½{\v¼{'\94*¿\v\95/ÍÐ\9c;æ¾Émþ´ñ#\87\r\1e2lÔ\84\19\vW2þI`¿Ì\89|°^§B3\as©Ñ©s\15\87\94ê\17\9d÷Åfß"ƾ\02Þ§Â\15O      í÷ó\7f6\ e
+\8do`±¿üÂ\9a\18þ!.\9a¿\ 2\ 1g=voX>wÊXס\83\a3þ­"û\r\95\88\7f¶K\b\98ú\89·\vV`\9d&¥S¿\98is4ûÆ\82\90¸\bì{eÝ\8d\97Ð\8aþÿlMø¨\8dá\1f¿\13þ\10îxûS\98\7fã²ÿ\99\96\8e±#\86
+;Ñ\17¯¦ë±ÄõõäñOl\15&L\±>»CØ\ 5\r3\92©_Üìs!ö­Ù¶ÿ8­\8bßf\9bQ\12Ç>\9b
+Úú\182\bõ\8a0CMüó:²kÃòySÇ\8f\1c>løÈqSl\9dÙïǺÚ(ñì\8b=qµtú¨¾\1d\85\99\ 3Io\98ù\18ûfر\8fíų%~\89 Á¾\8d¡\88\7fÄ\ e¤\94\95]\ e8ã±g\93Û\82\19\93¨3ûØI3\16¸±³çt¡Ô\9bdó/æÄÕü\89C\85Sð6õ\93$w\8eÑ\ 5LÅÚ\880ãeì;q.ÐÆ¾\ f\89fßÿânc(L\10Ò\fÿMT\1fHÿV/\993}Òøqã'M\9f·t-U\8aÁW¢\1e½Hæê\91°êÆv\9cÒÍÜ\9b\97Í\1cÝ¿S³Ú1f\ e$à_4û²\8a5o\9dXì»óPÈû\92Â>+\ac6¾ùG¸e\87®\8f\b¾pòà\8e\rn\8bæÎ\986uÚÌyKVm\16\8eN\8bç\10\93>ýb\8b\1e¬ÍóQá\8e\8a6\rª²UKéÔÏÖ\803£8]\1a\83\93Ï>;\16FÏ/\88\97\9cÐ
+\89\9f\97\87û¶unK\16Ì\9b;oá²U\ew\1e8A3ÔB\aÊdL_Ùß\81æ\1f}3w%R?éf\ e¢Ù\97%GÞBÅé\8c\11Í÷\8d\99þ1íK"51\99\18ãj\85ó'\ fíÙº~õ\8a\96¯\»içþ£^~¡WínãJêçbÜÁÇÚ<Ó¢¹ÝÄ\954ê'\1c\8f\8en¢&Î÷±Ð!%ûbpò_»\9b\ 1üÎ\9e8ä¾cË\86õëÖoÚ¶ûÀQO\9fàð\eÖÅóäñ\8f\95¾Qâ\1d\90B\9bg­¤\13WvÇ£Y\v´JÔAiàèé4ßg\17y¥e\9f­.eû^ÂC|Ï\9c<²ß\9d.ÙÙ³ïðq/ï jÌþ<\8eÆì\89ü\86¸jyÓ¶h\1eû\92\0\89ÔÏv>US±f£6ÝÙt)Í÷%'q\89\87\80Q\81ܾ~9Øï\9c'íÜ8x\88¶nø\ 6]\8a±÷4\19üc\13§â\11<뢹¤\97\ 4\bÖK±\ 3\89_)5µaê:`ÔÔ\ 5«lì\13«\8e¿\12Ù&3!üc+L¶¾ög<O\9fö<C'/ië®m\9a6éü³n:\10®p¥\ e ´h\1eÝæY*õ\13\9a\8dîA7eþJ\9a°²Ö¼?ÛZ,KÈ?!\ 2Ó
+ÓãûQ\91W.\85\ 4úûúÒÆñ\8b\97®DÞ¦;\8aÄÆâIþ¦¸gè¹­U\13\99¯mÑ\Bõ³n\12*g¨Bç+]'ÍsÛì~T\9cq¡¥Ê?¬=H%c\9f\93°ÂôäÁ\9d[ׯ\84_
+\v\r\r»\14~5òÖ]á\8e¢ß\93wnÚ®W\89pZÕµ\173_¡S\9d4«nâm\94¬\89\7f\19êÀÜ\81ÝÏL[|üB\19ûèV÷\ f\7fZ\17&¥äß¿¶\ 5\12\15u\93¦÷¯ß¸\19u\976"½f>7Y\a/\85\1d»t\ 1éE¶ã\94mY«$i§:»K$ØéèFm{\f\1e7kÙ\86ÝGX\ 6v_ÜÎ÷g\12ÚÜ&\80\81â\ 2É»7¯\9eÓùA\9aß¿{ïþÃÇv\e\91\92£~B£N\9a9\85ûc½Jº4«%^² ¡ùÚ\ eç\eª:·ê:`ôôÅëè ¥õ\92H¡Aúß\89ïs\e/yÿgwÇΫ\17Ï\9f>yB³û16"%'d\81\7f\14>¨Íx\80çAr\7fÂaý¢\12\9eVµ]ÆËv\98
+ýÓ\17Ðì\9b7íþ|Ì.Jc-¾¥×¿è;v¨);íCzõòåËW¯Ä\8dHBcñä$\9cÖÓ¾\ fo]ö;µoã\92i#zµkPÕÚå^2óýF<\Nwñ¶aÝ¿7[ïg¦Þ\rÖ\vo¬ü\93V\ 1ÿµ»bçýûwïhr\9ff÷ÿ°s\19Éã\9f\18>Ü×/\9a<¬gkgûF\9d\12¨ß\17öûëë6§Ó©KXçVv9ýëw?ÿ&öHOJ£ê\84\1fñ\8a\1d\r\89mD\12oÙI®ÂG\9f\96¦^/t\°[\8b:\15+\14/hu\7f\12ñ/\1d»\89·¼QÜà¼\9aÎ'°Ëé_ 7¥ý\99ÔFß c ØÖ^Ü\87ôGô-;Éý\1cñ\ fÕ\aõ/;ç\81ì\99\1a\9dÖ2\v§}¥s\7f¬·AîBÔÛ\80ÔÏz\vå-¶Ø!²ÏQü\8b\9e\9b\8e¹\ f)úcÉZ9gü£þQÔ,Âmö\98þÈ\9e\8då\84ã\82_\7f%ɼ³ÐÛ ;ëmРMÏ¡\13篦ýõÑ[ü\9868\8c\7fÑsÓ±÷!Iàk©úes§\11\81^\aY£Øö\8dª\19\90=\8b½^¤áß·ßgÈJ½\rÌ5\9btè;rú\92\8d{Å+\14Ùæn¦}âÅK\ eá_\sÓ±¶Ò$ùÅ\94¾\b½\86NïßDÇUÛRøUå\91,|\88½\rèt\9bºR\9d\16]\ 6\8e\9bã¶í ©ß}¶Ïà\8f?mìs\1cÿþ'AOö8\11ݬ\84\v\9d&\7fÒ\8aáW²ð\81ìåÇÜt8Õ¹u\8f¡\93\16¬Ý%\1e\fg\93\1f\7fZ¹g·5R\ 2ÊR\ 4\97\17N¦>ãB³\réÂ/;Ü\8bì¥\8c¾Z\83v½\§.Ùà~\82m\1c£\ 6¦\1f¬ÌK­üc'\8eîE\86R«ºù\13\a\vé\8bØjM\9au7ðO\b\1fÆê\8d\1d5cÙæý§ý/ßdW\12\8b\a9DîI\11\11S\14"ÿØì\ 15{\19?¨kóÚ\16'k³\12  ù\97#_Ñr¦\9aM:õ\e3kÅÖ\83\83$;X\1fc\87n*S?!}f½Â\82Ï\1dÙ±\8a:\9d6­i\12\8eKK\95¾|!´fÊW\14á·içþcg¯ÜvøL\10[¸f\17\97\8a\7f\1f\7f\9d\90þ\95\9a½H\14~Eþå/J½5:\ f\18;gåöÃg\83¬\8d   þ\96<%KID·\9a\fô:´u\850ûb µ\8fLRòï»hý\e\0ýÛNúwûÑË·1ø\17#/K\1d<\8c\8c\10;íöAú¬/S8\8f\84ésLÿ×\7fÌ,·­\87àÿ¢\1e²\8d'\7fÅr\7f1\99(\15¢)\96\14â¡\8fçvés»\86âì\95dé³]ü­Ñ\98âïò-\aâ\8a¿\7fÿ\1d[\17%ÀG       \97\ 4vWüR»\8d%lñCìU'Y¯5¡·\95\90ÿ5lGÍI6î=é\13Æò¿_ÄüÙ\1e\7fK\828´ÚJt4\92û\91¿\84ó\8bOÄ^\7f\8b§°F÷ÚRªÜÙ$åß·¬9Ni]\95úmz\ e\9b¼p-kL\15źhÐLÜ\1f\1fâÂ\9fÉÃ'Äaý§d~áO\9a\94ýõý\9bç©\ 5á\8ad¡Û\90ÔücõoIu¥º-Ys¦mÔ\82\9dNGÒ\12\8e0¡)\1d~ÿ]ÜÁû1Á|\10g\ 1ÿ\10\9fLÆ·¨'Þ\v:[\17Híkiãd+ç\9f4Ñü\93rþ¥@q'j\ eÖoÔ\fÖß (â\ 6µ\1e}ýæ-M¨K\89\9f Â&ò¸EÃ~N\ f°'\93ó©wo^Ó\8dótºäàvÚvÏn\88g\e'¥ä\9f\98@\975Tk(4÷Û~è4Ý{pçÁã§Ï_¼dK:Òáõkvsï\eá Ã\7f\84C?¢\7fzÃnøe\aÛ\93
+êÍðøÁ\9dÈðà\v'öQ÷óA][Ôµkx \19ÿ\84î`Ô^¨E×\ 1
+\19\ f\90ðë·îÜ\7fðèÑc\89ðD\ 4k\95ðìÙóçì(M\fñ\b\7fÅÏ\9fÓõÒô õ\97\92ôÅG\ fïß\8d\8a\8c¸èçå±{ÃÒ\19£éȯmç¤Tü³9@\18°ÐacÞÊ-{\8f\ 4\85E\»q+êöíÛw$Ä]àÞ½û÷ï?xððá£Gÿ\11\ fýèáÃ\a\ fðĽ{ôpÒ?uûö-jî\13âwîÄþmk\16N\1dÑ׺ñYÂ3«Âú\eõ\16/R\96ÝßÞ\7f\14m\Ûëq\8aÝ¿x9"âÊ\95«\12âÚµkׯGFÞ¸qóæ­[·¢H<6\ 1±?GEáç7oÞ¸\11\19yý:\9eNú§®\\89¸\1c\16\12èsöä¡]\e\96Ï\998¬Wû&tnARþE\e\92\15,5\e·e»\9eWoÞ}ðØé³\17\ 3\ 2\ 3\83$C0õ%\ e ¹x14,ìÒ¥Ëáá\11$\1e\9b\80è\8fø     ur¿\14\16\16zñ"\9e¥_Iêç\ 2\ 3ü}/°\16­\9bW-\9c6fP÷6\rÙísRóOXÀÌOÍíë6ëØkè¸\19\vÝ6lÛsàȱ\93§=½ÎH\85³\84sçÎ\9d?\7f\81\1aÜûúùû\a\ 4\ 4Æ\90\ fþ\16\10àïïçKMð/\9c?\8f§Ùo%í\83^\9e§O\1e÷8¸wǦU\8bgM\18Þ§s\vçª\86òÅ
\92øÜ\8cx¹B¡\12ló_§ÞCÇN\9b·tÕ\86-;vïÝ\7f\80]Ì!\ 1\ e\v8rÄÃãèÑcÇO\9c8yêÔiOOj\88`G±\97\97§çéS§N\9e8qüØÑ£\1e\1eG\8e\88¿\97¤o\1e<°Ï\9dZÌ»-\9a5iä\80\1eí\9aÔ®,\\80-ñ¹#qûZ\91Òt\ahËN½\ 6\8f\9a8cÞâ\15«×mØ´yËVv5\8c4ؾ}û\8e\1d;wîÚ½{\8fûÞ}ûö\1f8pð ½\80ð·\ 3\aöïÛ·×}ÏîÝ»vîܱ\ 3¿\91Ô\8fÑm6\9b6¬[µbñ¼é\13F\ er騢~u\8bºt\91üÂ\rö\92\9dZ\8dÞ>I{Çk6hÙ±gÿa£'N\9b5oáâ¥Ë\96¯\90\ 6n\f+W®\µjõ\9aµk×­ß°qã¦Í\9b·@>¢\84è\ f[¶lÞ¼iãÆ\rë×­]»fõªUx^øÅ$}sù²¥\8b\17Î\9b=}ÒØá\ 3]:·nT\9b.°WåÍ\91%c:)Oý
+
+\98\85\9d\9cÑWªY¿Y».½\ 6\f\1d1f¤)Ó¦Ï\989s\96d ëµæÌ\9d7oþ\82\85\8b\16-^²\14âYn/ ümÙÒ¥K\16/Z´pÁüyóæ²+¹\92üµ\993gL\9f:eâ¸ÑÃ\a÷íѱuãºÕÌ\9a
+æÎ\9e%\83ÄüûÚÚf­dy]Åêu\e·lߥg\9f\ 1\83\87\ e\1f1rÔ¨Ñ\92\98\15o\13&N\9a<eêÔiÓ§Ï\80|fÚè\9d9cÆôéÓ¦N\9d2yÒÄ     \13Æ\8f\e7v,~'Éß\e5j¤ëð¡\83ú÷îѹ]\8bFu«UÔ\95/Y8_®lìÔ´\84M\ fì.Ç+QNk®RÓ¹q\8b6\1d:wëáÒ«w\9f¾@?©Ð¿\7f\7fºepð\90!C\87\rwu\1d1\12ò\19eGï¨\91#G¸º\ e\1f6tÈ\90Á\83\ 6\ e\1c\80ç\93ü-\8c»Oï^.=ºuéжe\93úµ«VÔ;\95*Z0O\ eáúzIùÇN\1f\11\ 3UÅËT \8b\15ë6hܬE«6mÛµï \19:\ 2\9dè\9eË®]»uïѳ'¤Ó»O\1f\11ø[o\90ܳg\8fîݺvíÒ¹s'º\9c¯c\92¿Ø¾}»¶­[6oÚйvõÊf\9dSéb\85òåü1s\ 6\84\ féø÷ÿ¢O¿ý\98+_¡¢%Ë©õæÊUkÔªS¯~\83\86ì\8eËÆR¡I\93&M\9bÒE«-[µnݦmÛvíÚ·ooGnûvíÚ¶mÓºu«\96-\9a7oÖ´)\9eOò·ÄË9\9dëÕ©U½j%³^]®TÑBùreÏ\92ñ\87tßJÌ?vx5}ÆÌÙræ) *V²¬\93Fo²TªüS\95ªÕªU«.\1djÔ¨Q³f­ÚµëÔ­[Ϲ~ý\ 6¢|l\0½\rê×w®W·n\9dÚµkÕ¬\89ç\93þ1\f½ZÕ*?U®d1\19´\15Ê\95.^¤ Ø\975\13¢\a\99¯\94=\9b\84^\930á¬Ùså- *Z¼T\99rNj\8dV§Óë\r\12Âh4\9aLfº7¸ReH§JÕª$ &"öÿø{\15P\¹RÅ\8a\16³ÙdÂóÉù\9c^¯×i5ê
+åË\96.Y¬H¡üyr\12ûàý\ 4õ\93¸i\13»\1a>K¶ì¹òä+¨*R´x\89\92¥J\97.#!Ê\ 2åÊ\95+_Þ©B\ 5\ 3ñ@>6 Ñ\1fñ\13-(VW¨àT¾<\9e¥_IÎ'K\97.Uªd\89bE\v\17*\98/O®\1cÙ²\10û\98÷\93\90\7f6\ 6~\97.}\86LY²ý\98#W\9e¼ù\v\14,Än\88\97\ eE\bE\8b\16+V¬xñ\12%J\8a×§Ç$\97è-Y¢DñâxªhQö\eÉú¦JU¨PÁ\ 2ùóæÉ\9d3{¶¬\993þ °OJõ³2PPÁô\192fÎ\92õÇì9ræÊ\95;w\1eB^        \91\ fÈ\9f¿@\81\82\ 5\99xb    \88~\0z\v\16,P \7f~z4Yßb\83Ï\93;w®\9c9s\80yY2eÌ\90>\1d3^iÕOd  \82àà\ f\192fÊ\9c%KÖ¬Ù²ý()²3äÈ\91#'\84\ 3é\88ò±\aý\10ÿ\ 6\8a\10\1eOæ7³eË\965k\96,\99Á¼\1fÀ½ï\1cÂ>+\ 3ÁAÆBðð\87\f\192\ 2\99$Ff K\16\12\ e¤\93í?\ 2b?ËJ\ 4\83d ù\1f$"2d\0ï\88yÄ=\87°\8f1Pà ±ðÛï¾û\1e\\ 4ÒK\8e\1f\b \88\89'¶|2\8aäf`OIñ9FÅ÷ß\13ï¾ýFä\1e±Ï\11\97U\10\aÁBÆCâ¢\84øÎ\1eß\13Ò¥û¯\80Ä\9f±\7f\8fñ\eÉþþ7Ä;0ÏÊ=Ç\u$²\90xH\t\b¾\11ñib\19$ü*£\88Hs\18÷ìX(0Ñ!ø*\1a\9f¦õ«h\8a%\83\95:Gq/&\ f\1d\86DR+-\1cË;ÇBv\ 4+P @\81\ 2\ 5
+\14|\1e(^¼ö \9eµº¹vËØ¶^ÆâÕ\9d\r]ð÷æÝ\86»º\fËØ8cñ.\15ª\ fs­Õ·\87kßÁ\83º\r\e£ª\88\1fiT\15\9a»t\e *%<¦Â\13ª&Ãúöî;\b?lÑ£Û\0\97Òªrx®\12þ\9b±UÜï(¥v2i\8c:³^¥vR3ØÿÁ¤ÑhÍ\ 6\95ÞbqÒ\eôj\8dZe°hJÓ¯9it\16³N[ZU¡\85ë°¾\83z«JUï9¸»K\93îý\z¸6ê\86\9f\8d\16>^¡m£\86­\9ck©*ªJõÖkLÆ.Ú.¥U\95ð¸³FÝ\ 5ãÁ¿\89\ fÚ\8fLU¡ñ`׿.=\ 6\ fëéÒ3!ÿ\j ûfG\e=\86rjú\8fH\82ZWÎFD9ÐÀ\86Ï\bÑu,mG\84ë°n\83\86÷\1a<l È9U©\16­ëv©î\8a\7fî>ÂÕe8\r"Æ?Ùý\80¸¬ViTjö\9f¶c2²ÿë\99Ѩ*UZÕ¶\rþY­ªî\82ÿ\e\11ç\1fË\b\7fnÂþ\97Þ¢\15ÞB\7fí\8dÿ5ê\8dNj\8bI§Uë,:\83E¯Ò;\19\f S§5kôj½Á¬\1aHOé´NF½Ek¶X,&\8bÉ 2;éu\1a\93AcÄßõ:½IeÔë\9c´Z\83N\8d\17\9aõ\1a\95Vï¤Æï\9bM\16­ICÿ¬qÒã\ f\16½YcP\9b,*\9dÎÉh2ê\8cx¥^k1iU5Ù`tNz|C§±X\fF\9dI¥7a4ø\9bV¯Ñi´\1a\95Ñ s2hô\1a³Ál\ 4÷u*\83Ù     Ïiõ\16\9dY­7\19\8cxÂèdÆw\8cZ5\1e6\9aU&­\93VcÖ\19Lz\93Ú¢×\18\85\ f\195N\16³V­1[\8cf\83Q«2c¸f\r~\ 3oÆCf\95Ѩu²è,Z|Æ`1\19U\16\93\13$®U«Í&³Á`4à\ 1\93\93Ú¤6é4\1aµÎ`6«4j\8b\13¸\88Ç5\16¢[ø\90IíDLÁ\88Ìf­F¯ÒhÌNô[fµ      äku*£IOj£5êÍzРQá3NZ\9d\11c1ið xg²8\19ÀE\83ڬשA\81Fgt\ 2=\10\11ý\8eø!³Áɤ\87\8ctø¼\19?Ô@°\10\88É`Öè F½Êh\86¦\9aðk B«±\98T\1a\83ÉI\8f_\81 õà\16=apÒ`<à¯F£3`°F³\93ÙdT\eMZ­\19ú ~I\87\ 1kña³Yg2hU\1a³\16Ú`Ô°E@|\92\r\18¬WCÎ\16\rý@c18\1954V=\99;\91drÒ©-Z\f\ eÒ×\eUZ0\ fï\81lMz³Ñ"Jɤq2i\8d:µÖ¤6@kTZ\rôA\rÕÐh\r´ª\85\11Ó\13$[è\fþ \ 2ã\9cH\vµZ\98\84\9ctD\8eFmÆ3PL\9dÅÉ¢Æ8ôj#\86#Òd\ 2åZ\13Ä«ÑC#,*­\16\rF\v\98¬ÕCA\8cF\vH\80r\e0`\8c\ 6ï19Y \9cj\r\11©§'ôNzÈß\88ß\87.\80&\9d\ 6\120[0b¼B§\11¾d\0¡ø%-Øj1htxÊ\80_3\81;PH\rxl4ª\9d0\14\93Å Ó\99ôô\1e­ÅÉ\8cG`&\10\88\89¬\0\1a¢6ëÀ)è/l\a_\ 1\18¾\ eÎP-r\ f¶BJb\80TL°n\98$^l\81\82\e´0[\v½Gíd6«5\ 6|\16ú.\8cXcÆK@3\8cÚĬI\r_ Ñ\82\ 3_\82\7f\80¨M0\16£Ú,\1a\13¬Ö\ 2\1d6h`vÄ\1a\r¸i\82v\1a\rð\11¤XÐ#\83\11â\85®iÍ&\10­\86Yè5\10\83ImV\93\9a\fø\1f-±S\ f1iÌf'ü\83\ e¢×A1Lâ\97Ìä5LF\8b\ 6NJmaªGl1\98µ:­\85\8c\12\96\ 1É\9au:\8cOP`\18§E\r\82ð)AH°_\93ÉL\9c4èØ\e`OZh½Q§×Z)ÒBïéÇfP\r\1d¡ÑÀ(ÔP\a\1dÙ²\8a\1c\88\994Ó¢#"ñ\1e\13ü\8e\ 1,ÖAlø¡ Fx.\10 \87²\1aØ\13\90±\19Æ`\ 1\ f\f6ÿ Ö\99Ìz°Ü\847cÄF'r)j\8c\85D\aÏ\89\11Ã@¡wP\11=}      c\81IëÁa\12«Ñ`À\87\8cp\ fx\191\97\11­1\eÕ0\v£V'\92d Ó\81\87·èA¾\9aX\ 3ÓÁw\rzfì`\r\r\ 5N\13ÊLú©gþ\81\ 2\ 3\8cß\84Q\10ótd¤`8Ü\eÞ\85'ÔNÄ#\f\84$ Ú\12Æc\ 6\87!y\18
+~\b\7fíD&\ 3\97\ 1µ±Ð\88\8cjÒM3ü\ 2\1c\1aÞcRkÀ"\83ð%½\16z§6Áêu\b\14\11/ðïP^5\\96ð!\9dÙ     j\a>è¡û0\14\r\ 5\1dpM\r­×áí*#,\87Ü\92\19Î\15n\90<'L\12\8a\0A\1aÈàT\10¡\93     J\81ñö\8dô\ 4y\ 2<\87\17\89RB´2\98á\84à\91\10\ 1@8\84\ 2)«ñVø3R<\8c\ 5/\80Û¦\bA\9c\81U\93\18!(ü\144ÃD5\ 6\8b\96\9c¤^O¼\83&Âé#ZB¡m^\\ 3Wo1ê\rð\87à²\91É\12Ì\aU\bs:\98
+ï@F\81\89wP+\bYK\8bûðó\16äRäJ))Â(-ZA\1fô$       =ü§Y\fµø\8a\13=d\86ýá\83\14\r\8c\18 \84\v×\84\88hP±|\ 6/ÒÂpÍ\ 6\9e¸ #\1fm\84\97Àox|x_\88FkdrdÎ\10f\80\88_\ 2+`\90F\84Q
+\19\10\93\ 1ª\bÍ\84oÆ£`\9eZãDá\ 3Zc\81\13\1a\ry\14\fÞlÑ"¼âKð\17\88]ðS:\1a   â\80Ú@Ä\98\85Ï\90\ 5@\ 4Ä\8b\91· ò8Á\19#\9a\9b ð\1a\15\93\8eÂ53\f\18\ e\9c\vÜ\1fج'\9f\8eß0P(¶À¹ ìÂ{\92\98\rNpHjâ$ød\14?D\1e\ 3ôZÔÄ>\1dã\1c¹}\8b       \16\89ø Bz\0\93\85£\83ÎXð8\93\0"<\f\vÿ\ 5KUô\ e\10\82tCÇØ\r)ÂÇ#\b#ABº£\179\aÑê,\16\92=<\1f\8d\a\ 1ZOÎ\ 3\9fD\94\ 3ÈÒtà
\0-ÓX`&ø\r\8a\8f:
+[ Ü    *\89·\92º\93\15°\16øt8|ø9áCð¾pK\904´ÈD©\ 1ü\1d´ÅB~\11æ\ve ·\ 4\12(_\ 3ÿt,`û@\99Á5xT<\81È\80\18@\91\0?\13\82¾\ 6R&£\85~\1aÄ/!V Ó"º¡ ø\92\ 5RÂ#:æ\86ðb\83\81¥)È
+!#ð\ 2_\82Ú±¸«£ÌRÃ\9eP\13ýp\9a0J3£\9arO$\12pÁÖ/é\11çɲa;Ð"¢\9c\80àd2öÁ=\84\14ò?\98\9f\16RBª\80\14\8d\8c\14Ù#\91\ 4\a\bëÔQ\80D\\83\17B\@È\85\13ÓS|Ô        \1f¢§\10\14ëÌFÁ\92\10=0~¤\18`\1aXCÉ/Ü\87\ 5¼£ô\a±\12       \12\b3\91C\ 4\17à\1c!\0è2l\1e\12×
+\9e\15^\15©9´Óh\12I\82ÿ%\ 3!o\85°Í<4L\ f*
+/®\85gELEf\0\am¢ä\aÑ\f       :¸`\80#\82\9aÁC¨ÀhR\b\ 6Ã50Í\83KEæcPãg"M\94\83"ÓÇ\bð}
+^d\80\14Ó\11Ü\10\ f \ 4X\17Þ\8awSpÀ\88IL0?ÊZ`üø\15z\ 2cÐ!ø\1aII\91\16\18Áo¸\16¸&ä\8dfñKð2&Ê\881B\13Òh\96aÀwAl°'=}\89\88Tkt°vd`\ 6\96ÇÀ\15Ã\81\92Ã\0Ñ\94\15"\9d2°pBµ\a\f\e®\99¤\88H |\ 6Ï\90×Dn Ja:ô\12\r\85.\v2Rè\8d
+Ô;\91\99\91\8aá\19z\82\950F¨\f\f!ið\ 4R)(/\8a\1a\1d¥nà%\b\80Ò ü\9aõ¶/!Y·\80óÐ=\83\89¥\92ÌLt\94\ 6\82lätà%"\87\99¼\13¤\8fò\ 5\ 4\8d\81\1caJp\ fLåõ:²\1cøTJ6ñ\ 3\v¹\vÊ~Dï 6Sq\84\1a\få'Ô\91å\89ðÜ\88ÖH\8f\10\1aü\95%»à\8b\96ª\1e=h B\ 3\1e\90\8aW\re\95\9d\94\0êÌ`\1d¼\r|\97@\11²\ eJI\90\82À\9bé\89\90\ 5/\81\83P\88Z\rÉ\12\f\ 6     E|¼\ 3fB¾WMÎ\19Dë©\9eR\vù>\14\ 3\8aj\82\937ZYgt¢\88\88²@ÍÊ=Ø\19²,¤¬ð4ðÛF\88\0ÊJ9"\vÑFJ\86\97ð\15ü\rö\ 4mÑ#-\87\91Bl`¥\86å9È£u,`Â)\88Z\a\ 3d\193ØK~\13\12\80ÏÒ¢Ô!C\80\95\18(8Ã|á\95Ô\94\vÁbµZrÂÐs3Ù\91\9eÒ'\f\9d\89\8dR\v\98\f(C\1aªÖR¶nsBx¡\1aã1Pt@ä\ 2\89\88j\88\1e\b§äÂá,\10\aÁ+\88\ 5u&XêD.\16r\83¥\93·C0\ 1C\8cTY!\r·¨(èBwàÀá*ô¢z£R\82Û :\98ªT\93\8aªAä8:è\ 3^\v\8d2à·\90]CÎT´¢\9e\85+Ae\8dH¡¥Ô\19~\17CE|\ 2  \ 6J7\8d*\84\0\14\93à\11\-<\81H\ fL\ fÆ\f\17\89¨\8fd\94\ 4\84
+\ 6õ\0Ü\12\8agf­:ª!`\0$\ 4\15ªN\13\16ÊE¨N6Pø×S¢A5:\84\8aÀ\r\17\87ð\ 51ÁÉ\8bî\e\92\1e³\13\15\3LEËJ^¦\83ô\1dä\13`\1fU\8c\94®Àc!\80hX\98Ó\91®\90¶ÃAA/LTΨ¨ÜE@1Rºe˸\98Î\99Ô\16\9aê\80¬\91`ÑÄ\ 4Ên\94Q\88Ò\ 6\9a¦B\11L\ f0ÿL\95¿\81±\125\elQK\9eNMÚ£¡ØO¡VEÅ$¤Kå\ 2\15§âwà\ 5àJ\91¢è¨l       !ô\98È\1cÀa\ 3Sm<\8dL\8b~\f\8fo!ÆQØSë¨ÌÖ0sF\12\87ÜKOÓ,pÊ0;\8b\8eq\16Â6\99DkÕÁ;B\0f\96OS2e \98\80\7f×Ðü\e¬\9e²\b\r¹0òßf\9aÚ@\8c3ÑD\fì\13\91\e¡\18\1fBÀ ç\820@ª@õ\85\9e&> \ñCT9\99)\13!\ 6ã\87f\1d4\17CF\ 2\fE\84;\ 4\8fYÙo \1f"ö©h2\ 4\8a\ eæ\9b\11\9e\104ôfµ\13é\1cB/\ 4\8fà\ 3=¦©\1a-ÅR\fIÐn=û©\9eÑHÁEEÅ"ÕÆ\88\10F2\1c\15\86í\ 4¿\ 1Ť4\ 1\ 5\e\85r¤}T\87c|P\ f°\9dª\e\8a\0\88"(ü@#ål\14~)ÓÖ\88_\82ó\ 6s©î\86véUf86\ 3En­\81¦\94ð%ä\88°\11\vÞa\81ÇÓ«\90¿\98ÁV\93\90ÝYèK\88h¤ÌZ* õFâ\8b\85lN\ f\9b¡Ô^ø\12¥\pÿÈÙ)ÃÕ¨ðeh&\92kJX \f6bD\17\985LÃB1XMs\12ð\980/\9a\9b\10¨Fí\8f:    N\1c^ÊL\99?rU\83à\8bÍâ\97¨&\ 6ÇáÖáäµô\14>\ 4a\82&\94\1eHÎHóe\166Ñ£B\80\82[Fº\85÷"\94±\að¬\91>Lé\1f)\ 4â\ 1eÍ0ix\ 2ñCZz\8aR\rd\91ÈþI¸zØ>½\17ª¦Á{\10t1<\9a\1f\83¹\99Ufú\r\92«\99ªY\8aH\ 6*\93Ô4·DSix\a\82?\8c\ 4ÃÒ\91\ 1
+F\8b±Ã½ÁA¢@Ä/³/A\11 ²\1az\10¤÷\18Iy\11\81i\ e\86\14\v\11\18jNI\v2z\15½\ 3#G¼Ñ¡Ú¤i6½\13K\9bà\9eA\95ZpCøW\9a{¡i2#\ 6\bJ\1e\ 3\9b»\80\f`szª1)oÓSµ\rÿLÕ.\9c;øBå/4F«¦\10\85ì\85b\0^\ 1ÏEîÁ\f}§ù\19\91y\1a\9ajÓP\ 1NZB\89\b¡ \10\11K\e(ãB
+Iv
+\87\r)AÅáÌ¡\16\ e\90Ä2%*Tá\Á
+\95\9e¤d¢× ãU[s;5\98E%\1aí\99Ç(ñ\14"\vòI3ø\85ÈIe\85Î\89\\ e%ÓlJ\12\91k@r\ 1\ 3\84\8f\14&\8dµ4\ 5nA5"N\1a«i\13>r
+\8bXÌÆ;µÜ\10OõbSѵl\13Ò\88\8a4ßaB\90\84ñ"\1a\80\85\12KJ-)\80\ f\14åb¡\fQOóJz\9aN¦èG\fF>®#ñjh\16\ 2¿©ÓQ1­Bf\ 3½¢ÈF\99\f¹A½\96â\8e\ 6\91ÍShÉöáx@\16lßhU\0-Íe¡"ÕÐ<\ f2\17Ä\vÊ\\10c\10\12Pβ\ 1\90;@ö £'\90kh©î0@\8f´ªøIª)2\822|\12'^\ e9"úÓ\848\8a\f\ 29\92\18F¼A\87\ 2\ 3ÎB\8d\8c\9aD\8dèî\ 4c\86 \91o!G1²p\ f-§*ÊÀ&½Éð\90¾ \ f´Xhâ\18\9b\91yPí\80²\93æÉ\91\12(i¦)9¡¶\81\ f\82ZR} ¥i\fòR\1a\9aL :\0á\80}\89þ\88\8c\80¢»\8e\f\16C\85ÁÓ,£\96\8d\ 5\81\f©\0Í+ÂÑk)Þ\93ôQRkÉòÅøÈ
+L\13å\eP3\v\e\ fé\8e\99j~¸`#\e1\9bÏ6#-¡\890ÄaX\ f<5E\eª\ 3© SS~f¡*\8b~\80\1c\ 1ù#\82\1d¬\r\1c\17i\82\ 4Í\b1\b\ 5ð\1eT?\90¼àÔ!O\ 3¹b*R\r¬ú@*\87²C0i5Íêjh~\Çê55Í2â\ 5j\rù\e-\ 5k\93\1aæ\86dOgKþ\10\1euTW\9bÈIâ5T  Ã\93\81\0È\189\97\81æ\hê\12¦E¯Q#2\ehU\ 2¥0ˬ\ 5\85\80³\82]±Ø\1c[!j&HmÈÒjtgF&ü§F\1f¶ÔWªÕ AÝ\ 6ºôTõ\1eÖ­g_\97A®H\17J«Ê³Å\19ä7È hº\10ù/ü-¥3p\1a´\92a w0\8d\82Ʊ9\17J2Ë«\11\aÓ\ 41\92\v}
+?¦Õ\f\96ÇXtZ\8a\80\bÀ\ 6ò\82`'MðÐ\f <1\14Ð\ 2O¤§°ªQÕ oP\9eòa\9aj¡©J\1d±\88Þ\88\98
+d¬C\8eA\859KØ)§¡\9a\82\94\ eÅ\eÍQ"[¢ìÓ¤ª1ÐækjÔ\88{Ñ2\9eµ@)©c+¬Âz&Þ¬*U³ºs]Q\0-i\9dÐ~©³\92¸\bÚ¥º³\85\966[¸\8e\19àÒ%z¬vë\84Â\1a\9eq
+[+­°\ 5IXÿ\97      KdmôÊd\99\8f,\ fÛ­Þ\ eéæÚ\a±O\1d÷ê­IUÁ\19Ãdk¢-út\eâÒrÌ\10\97\ 4-ì*ÒJ´´>±\96\84.îµ|á\9f`§´bF\1eS§*Ï\96À)D#¼ÂÉ'z9ß\9c\80µü8þn¿ZOÃ2\99­«õâßl£,WÞ::\a¬Ö[WÚÕÑ+íjAÌ      âu\8aî\9bH>£ùl\8b\0ï\86u\13\aSÝYU}\84ë`\95°_¥ïX\97èOüÇ"\9bt\1fî2l¤KÏ.\r\Æt\11\1e\1a.ÅF\91xþ¹íO\19\13²OC#æÁÊn\r\86²[CÙ­¡ìÖPvk(»5\94Ý\1aÊn\r\86²[CÙ­¡ìÖPvk(»5\94Ý\1aÊn\r\86²[CÙ­¡ìÖPvk(»5\94Ý\1aÊn\re·F\9aÞ­\91\88\8d\ 4]\8c\1f9   þ\89½\ 4â²íg´\0þQ*¤;Ï\9e
+VÈ-¶¿µ-\9b\91v^à]¬\1fA\ 3\9711øÖ¼v\1db\1dþâ\«\8bE`\1d=+þ\93íñJöÏ\88?([ݹ\v\9e­Ów\80«Ë°\18#OÀF\8exWÊÙ;T4\16á\ 3ªÚ½z¹Ð7lÌ4Äú\9eó á®Ý\ 6õÀ·º¹vë\82±6ê6ä#\1fû8ñµG»ô\18AÏÆÅ\82Ø_$
+m¿\10óûvB\83û©>\b/\84\83bBa\v×#2Fï*!IR\87  \10êRQøc\r\97Þ}\a\89í& J<S7c\85Z.#ûöpi^·\86ªmã\8c\1dl¿\8e\89*\ 2\9d\99M\1fYT\88\95\12h6\1aU\90YÕIEóÏÈGH[ú$òWéIë¯[ÿ߬BÁ¥¢yMü#2\1ez(cñâlÔD}E\15[\976glë\9c\9eßí°
+\14(P @\81\ 2\ 5
+\14(P @\81\ 2\ 5
+\14(P @\81\ 2\ 5
+\14(P @AJ á·Qð\1e©\ 2\ 5       \82Tׯð¦C\81\82\18\90\15=WðYÁA\8a­h¸\ 2¾p´b+J®\80\vRR±\15\rW\90bà¢Ø\9f\83z\7fþ#T\90L8Z\81?CýI\15\83T\90LH®¨IFj!9ÅÆ© \99\90D-¥Bê"9eF« É\90\12\91ìè\ 1+H2$\97\91Véu(]
\v\8e²þ4Ò6É\8e£N\81=xËù£\90\ 3½\ e¢Q\81\r¼%ü)È\81^GШ@\0oÙÆ\ f9\90,9\8d
+\ 4ð\16\90 ½Ò\92©@\0o©Æ\ f\99Ð+-\99
+\ 4ð\96\90\ f½ÒRªà\7f\9f·¸m\90     ½\12\92©@\0o\91&\b2¡WB2\15üïó\96µ=äC¯T\94*ø_j\10·\0ùÐ+\15¥
\97\1aÄ-@>ôJE©\82ÿ¥\ 6q\v\90\ f½RQª@\0oy&\bò!V*J\15\bà-Ï\ 4A>ÄJE©\ 2\ 1¼å\99 È\87X©(U \80·<\13\ 4ù\10+\15¥
+\ 4ð\96g\82 \1fb¥¢T\81\0Þò\8c\1f
+\92\fÞò\8c\1f
+\92\fÞò\8c\1fò!VBJ\15\bà-Òø!\1fb%¤T\81\0Þ"\8d\a²¢Wrb\15ð\16i<\90\15½\92\13«\80·H?\ 5\85^\ 5É\ 4o\91~
+²¢×\11Ä*à-Õ\8fB¡WAòÁ[ª\1f\85¬èu\10±
+x\v6n(ô*H>xK5n(ô*\90\ 4¼\ 5\e7\14z\15H\ 2Þ\82\8d\ 3
+$\ 1oÁÆ\ 1¹\91ìhzå\fÞ²\8d\ 3²¢×¡Ä*à-ÞØPèU \15xË66äFr
+Ð+gð\16olÈ\8aä\14 VÎà-ÞØ\90\eÕ)C¯lÁ[¼1 7\92S\86\82·xcCVT§\f±r\ 6o      Ç\80ܨN1ze\vÞ\12\8e\ 1YQ\9dbÄÊ\16¼%\1c\ 3r£:Åè\95'x\8b76dEx\8a\11+[ð\96p\fÈ\8dð\94¤W\86à-ÞØ\90\eí)I¯\fÁ[¼1 7ÂS\92^\19\82·xcCn´§$½2\ 4oñÆ\80\fiOa\92e\ 5Þ²\8d\r¹\91\9fÂôÊ
+¼e\e\e2ä@Ê\93,\1fð\96mlÈ\90ü\14&Y>à-Ø8 C\ e¤0É2\ 1o©Æ\ 1y2!\15Q\9dòCM2$\14\90T\90'\13R)¥)3ì¤Arb%\81<\99\90ªitèà\93\ 6G\93\9c\96\ fi\804G\90\90d¤0í \84\906\88\92\96\8a$\83\17ùñB¶¬H3´HBH2Á\9b\aqCάH\eT\b\90D.i\83\15ö\903+Ò\0 ö\90PFi\83!ÿOÆê\9dª\aÿ1H+©ÔÎ\139s#õ\8eü\13\90\X©\9a')Ï\8dÏ\87!©qÌ    \81\83¤\96\1a9\93¬ø¬¸\91\1aÇ\9c\108Nv©\8b3)É\87Ï\90!©nÀ        \84\97\8a\98\93\92\f\19\92ºF\9b(8Z\88©\829)Ã\84Ï\96'©h¨\89E
+Èñ3çOÊpàsfHê\1am¢ 7Qþ\17\81Ï\9c'©h¨I\80\18'\1cJ~ª`Kj\19gÒ \13!Æ      ÇÑ\9eZ8\93\99dÈA\88\1f\83ãhO-\9cI\15\83L&Ò¶\ 4?\ 1G\10\9eº8\93\99\1c¤m      ~\f\92S\9dJ\99\93\99d¤mñ}\fÒR\9d\93*\ 6\99\1c¤UÁ}\1aRQ\9dÚ¹\94*\ 6\99L¤=©}\1aɧ7Íp)µ\8c39H{Rû4\92Io\1acTª\18dr\90öDöi$\87Þ´Ç«T1Èd"-ÉëÓH¶\92&\1d¼Iÿ(RÅ \93\834#©x!\9d¶&\1a¼Iÿ(RÅ \93\83´!¦x!©¶&\1a¼©ÿ\14RÅ \93\8c´!£xá\0\9dM\ 4xS\1f\ fRÅ \93\86\9d\84À\91Ê\9bê\19øù\8f09HÕ¢I\bRD\85Ó8\ fS/Ò¼\RL\8dÓ6\eS)Ò¶PRR\8d?\ 6Þ<\905Ò¶8R^\99ÿ\vÞ<\905Ò¶,¸ès,ðæ\81Ü\91V\ 5ÁQ¥íÁ\9b\rrGZ\15\ 1\16Á\9b\r
+Ò x+u4xsBA\1a\ 4\8e\ 6oN(Hkà­Ñ1À\9b\19
\1axkt\fðf\86\824\ 5Þê\1c\ax³DAÚ\ 1o]\8e\ 3¼Y¢ \8d\80·"Ç\rÞ\Q\90\16À[\8b?
\8cQ\90\16À[\8b?
\8cQ\90êÁ[\85ã\ 1oö(HÝà­¿ñ\807{\14¤bðVÞøÁ\9bC
+R1x+o\82À\9bI
+R%x«mBÁ\9bO
+R\1fxël"À\9bU
+R\1fxël"À\9bU
+R\19x+l¢Á\9ba
+R\13xkk¢Á\9ba
+R\rx«jRÀ\9bg
+R\axëiÒÁ\9bs
+R\ 1x+iÒÁ\9bs
+>wðÖÐä\827ÿ\14|¾à­\9b\12\807\v\15|¾à­\9b\12\807\v\15|¦à­\98\92\817#\15|và­\92R\827/\15|và­\92\12\837;\15|Fà­\8cÒ\837G\15|.à­\89\ e\ 1o¦*ø\À[\13\1d\ 5Þ|UÀ\1f¼uÐ\81àÍZ\ 5\9cÁ[\ 1\1d\ eÞ\f\r¼U/\85À\9bÍ
\80·Þ¥\10x³Y\ 1\aðVº\14\ 5of+HQðV·\94\ 6o~+HQðV7\ eàÍr\ 5)\ 4Þ\8aÆ\r¼\19¯Àáà­b\9cÁ\9bý
+\1c\bÞÊÅ\1f¼% À\81à­\\9f\ 5x\vA\81CÀ[­>#ð\16\85\ 2\89Á[¡>;ð\16\88\ 2)Á[\9b>;ð\16\88\ 2ÉÀ[\95>Sð\16\8b\ 2   À[\89>kð\16\8e\82d\81·ú¤\ 2ð\16\91\82¤\83·î¤\ 2ð\16\91\82$\82·â¤\1að\16\94\82D\83·Ê¤&ð\96\95\82Ä\81·¾¤>ð\96\98\82\84\82·¦¤Jð\16\9a\82\84\82·¦¤Jð\16\9a\82\ 4\81·\9a¤bð\16\9d\82xÀ[AR7xKOÁ§À[;R=x\vPÁGÁ[5Ò\ 2xËPAÜà­\17i\a¼%© \ eðV\8a´\ 3Þ\92T\10\e¼5"M\81·0\15Ä\0ouHkà-O\ 51À[\1dÒ x\8bTA4xëB\1a\ 4o\91*\10Á[\11Ò&xKU\81\bÞ\8a\906Á[ª
+DðV\84´  ÞRU \82·"¤Yð\16¬\ 2\ 2o-H³à-X\ 5\ 4ÞZ\90fÁ[°
+\14Ýv xËV\81¢Þ\8e\ 5oñÊ\1d¼å\9fÆÁ[¼r\aoù§qð\16¯ÜÁ[þi\1f¼%,kð\16\ao       Ë\1a¼\85/\vð\16²|Á[ò²\0o!Ë\17¼%/\vð\16²|Á[òr\ 1o9Ë\14¼Å.\17ð\96³LÁ[ìr\ 1o9Ë\14¼Å.#ð\16µ\1cÁ[æ2\ 2oQË\11¼e./ð\96¶ìÀ[àò\ 2oiË\11¼e.#ð\16µ\1cÁ[æò\ 2oiË\ e¼\ 5./ð\96¶ìÀ[à²\ 3o\81Ë\v¼¥-;ð\16¸¼À[Úr\ 4o\99Ë\v¼¥-;ð\16¸¼À[Úr\ 4o\99Ë\b¼E-Gð\96¹\8cÀ[Ô2\ 5o±Ë\b¼E-Gð\96¹\8cÀ[Ô2\ 5o±Ë\ 5¼å,_ð\96¼\À[Î2\ 5o±Ë\ 5¼å,_ð\96¼,À[Èò\ 5oÉË\ 5¼å,_ð\96¼,À[Èò\ 5oÉË\ 2¼\85,kð\16¾,À[Èò\ 5oÉË\ 2¼\85,kð\16¾,À[Èò\ 5oÉË\ 2¼\85,kð\16\ao    Ë\1a¼\85/\vð\16²¬Á[øi\1f¼%,kð\16¾,À[Èò\ 5oÉË\ 2¼\85,_ð\96¼\À[Îò\ 5oÉË\ 2¼\85,_ð\96¼\À[Î2\ 5o±Ë\ 5¼å,Sð\16»\À[Î2\ 5o±Ë\b¼E-Gð\96¹\8cÀ[Ôr\ 4o\99Ë\v¼¥-Gð\96¹\8cÀ[Ôr\ 4o\99Ë\b¼E-Gð\96¹¼À[Ú²\ 3o\81Ë\v¼¥-;ð\16¸¼À[Ú²\ 3o\81Ë\v¼¥-;ð\16¸¼À[Úò\ 2oiË\ e¼\ 5./ð\96\1cÁ[ær\ 1o9Ë\14¼Å.\17ð\96³LÁ[ìr\ 1o9Ë\14¼Å.\vð\16²|Á[ò²\0o!Ë\14¼Å.\17ð\96³LÁ[ìr\ 1o9Ë\14¼Å.\17ð\96³LÁ[ìr\ 1o9Ë\14¼Å.\17ð\96³LÁ[ìr\ 1o9Ë\11¼e.#ð\16µ\1cÁ[æ2\ 2oQË\ e¼\ 5.;ð\16¸¼À[Ú²\ 3o\81Ë\b¼E-Gð\96¹\À[Îò\ 5oɧqð\16¯ÜÁ[þi\19¼e«\80À[\vÒ x\8bTA\fðV\87´\ 3Þ\92T\107xëEª\ao\ 1*\88\a¼\15\82·Ü\14$\ e¼õ%Õ\80· \14H\ 6Þªôy\81·4\14ð\ 1o½s,xsWAj\ 2omM(xóIAÚ\87¢Ï
+\14Ä\82¢Æ
+\14(P @\81\ 2\ 5
+\14(P @\81\ 2\ 5
+\14(P @\81\ 2\ 5
+\14¤Ì"²\ 2\ 5
+\14(P @\81\ 2\8b\18à=\9a\14\80\97\80t+½_E#\9a\83s\f\ 4\92¿úê믿\ 1¾ýö[ú¿¯¿f\94§QªE\92Añ·ß}÷ý÷ß§K\97\ eÿûÝw ýë4J¶\95dPü}ºô?ü\90!#\90\ f?¤O÷=è¶\92Í{\98\8edP\9c1Sæ,Y³\11²fÉ\9c\ fé\ 5²\89êĽò³ö\82v$ÿ\90!S\96lÙsäÊ\9d\aÈ\9d+gö\1f³fÎHd'\8aê/bñãO\ 2ìIÎ\989kö\9c\15(¤*\f¨
+\15È\97'göl ;\1d£:aÃ\8f\19ôDçïh*\12\a+Íß}\9f>Cæl9rç+X¸h\89ReÊ\96-[¦t©\12EU\ 5òæÊ\9e5\93\8dê\ 4½ð\v1ê}m\8dz\9f\19Ù"Íß~\9f.C¦¬Ùsç+T´d\99òj\9dÁh4\1aôÚ
+åJ\15/\ O\8el\993$\94ê\18qO\8cy\9f\eÙl\88ß|û}ú\8cY~Ì\99·PÑRå4\ 6KåªÕkÔ¬Y£ÚO\15\8dÚò¥\8b\15Ê\97S :\ 1\a>\ 1ß\8at\7f>fn¥ù\87LYsä)P¤d9­©rõÚÎ\r\9b4mÚ´ICçÚÕ+\e5eK¨@u¦\1f¾ÿ6\ 1¢¶\8f|\fé\84\98'È;fv\9b2$Æ9FÒí\1f2e\83\98\8b\97Q\9b~ªéܸE\9b\ e\9d:wéܱ}ëæ\rëT«¨+_²p¾\9cY3¥ÿþ\9b¯1ÞøÞ':\b\84úL\84\8c\19ÄX\ fÂ\19øÛ¹@szÐ\9c¯pÉòúJ5\9c\9b¶îؽWß\ 1\ 3\a\rìß§Gç¶Í\1aÔ¬¬/_B\957G\96\84(8câ7\14\a2!Öÿ\b ØgBÐ#\81CÕ¿\15²Û¯yf;4Æo¾K\9f1+h.UÁX¥NãÖ\9d\ f\1d1fÜ\84       ãÇ\8c\18Ú¿g§V\8djWÖ\97+^0÷\8f\99IÁã ÖV\9a\11ísäÌ\9d\9b\ 5û\1c?fC\92\93\91Ò;QÝ\85Ü\96\17Õ_|Á\94;sö¼ª\92\15\9c\9bwè9`øØÉ3fÏ\9b?\7fî¬i\13G\ féÓµM£Z\95´e\8aæÏ\995cúøDÍ\98È<Dö\yó\17,¤R©
+\15Ì\9f\17\84#ËA~\97\19Ä\8búÎR[.T\8b\82Î\96»`      'ÐÜ¢Sï¡c§ÎY´|å\9aµkV­X2oúøáýºµnXÓ¢.¥Ê\9b\1d¢\86U\7f\9ahf-\19\11üò\17*R¬DÉR¥J\96(VDU0\7f>P\9e3g\8eìÙ\99Ø3 î\7fûÍW      \vüR\83\88\86 sä+ZV_¥^\8bÎ}]'ÎZ¼rý\96\1d»vïÚ±eýÊų&ºöëÒ²~Ucùâ\ 5reÍ\98\8e9ðO¿ï»t\19²dÏ] pñÒå\9cÔ\1a\8d¦\82SÙÒ%\8b\17+RXU°@\81üùòäF\8e\97%S\86ôß\83êÄåó\12á\8b/¿þ6]\86¬¹
+\96TWªÓ¬c\1f×ÉóV¬ßî~ðÈÑcG\8fìß½uíÒÙ\13\87÷騬N%méÂ$êxô\9b1\11n1W~D?µÞd©T¹RE\8bQ¯UW(_¶\f¤^¼háBÈñ(ÛI\9f \10è\0\80èïÒgú1o\91²\86ê\8dÚ¹\f\9b4oåæ=\87\8e{\9e=\7fáü\99\93\1eû¶¯[:kü\90\1em\1aV7\96/\96?g\96\fäÊ>I411K\ e¸\88ò:óOÕjÕ©[·Ní\9aÕ«þTÉbB\86§©P¾LÉb\85\væÍù#¨\16\14$W\18##:s\8eüÅ+T¬Ó¢ë qsVlÞ{ÔÓÛ?($$8ÀÛëØþík\16M\eÕ¯S³Ú\15Õ%\væÊFúý   ¢\85÷eÌ\96«`±rº\8aÕêÔoܼeË\96-\9a5iÔÀ¹.£½¢Y¯)_ª\98*_.\ 4\83t\D\r¿óÍw?dÉY°¤¶J\83v½GL[²ÑýØY¿\90ËW®^½r)Äï̱½[ÜæN\18Ò½\95s\15]iU\9e\1f3¥ÿîë¯>E4ùEÄ\82Â¥4\96êõ\9a´jß¹k÷îݺ"ÏiÛºe³&\rë×­Yµ¢AÍr¼\ 4\ 4\ 3\87\80\ 6ù=LºPiCõ&\9d\a\8c\9b»zÇ\913þaWoDݾ}+2⢯ç\91\16MuíÝ®Q5CÙ"y³'\80èïÁÄüÅÊ\19«ÖkÚ¶\8bK¿\81\83\87\f\19<h@¿>½ztíܾMË&õkU1kË\16/\94\10÷y\11\9d»pYS­\16Ý\87N^¼qß)ßÐkQ÷\1e>zxÿÎ\8dðà\v'öm^6st¿\8eMj\98Ê\15Í\97=³ \9c\8f¾ïK\81\89ð\8b\15k5nÓµÏ\90\91c'L\9a4qâøqcF\ e\1f2°¯K×\ e­\1a×­fÖ°¸\9f\81ô;å=\19#:[\9e"åÌuZ¹¸N_¾íðÙ +·î?~öüÙ\93\87·¯\87ùy\1eÜæ6{ì\80ÎMk\9aË[\89þ\84¤¿üêÛt\19³åQ\95ÖUqnٹϰ±SfÍ]°pá\82ùóæÌ\9c6iü¨a\ 3{wmÛ¤nU£S\89\82¹³eü´Þ8
+V¢Ë[ê¶é=jÖÊ\9dǼÃ"ï=yñêõ«\17OîÝ\f\ f8sxǪ¹ã\ 6vnVËJô'Õ\9b\11ýcÞÂe\8d5\1a·w\192vúü¥+׬[¿~ÝÚÕnK\17Î\9d1iÌо,ÅÓ\94.Ì<ħôÆQ ¢3\12Ñ\15ëµí3fÎ\9a='ýÂo=|þúí»·¯\9e\15\11\b\11= SÓ\9a¦r       °i":Ó\8fù\8a\967×nÖ¹ÿ¨©\vÜÖoݹÇ}¯û\9e]Û7¯[¹dÞ´qÃútjQ¯\8a\9e<D<Æâ(\88\92.Z¾¢s»¾cç®u?\15påöã\97oß¿\7f÷æùè+Ag\ fo_9{L¿\8e\8d«\eÊ@6ñ\85,\10\9d>Sö|Å\9c*ÖmÕ}ðø9+6îÜ\7fäØ\89\93'O\1c=\8c\gÝ\8a\ 5ÓÆ\fêÞ¦a5c\ 2<\84£`Ot¿±óÖíõ\f¼z÷É«w?ÿüþÍ\vH:ÀëàÖå3Fön× \8a®T¡ÜYãIND¢ó\17«PɹM/×)\8bÖî<xÂë¼\8f¯¯Ï\ 5\96ë¬_>gâ0\97v\8dìÜ"G\9b\16\89Þç\19tíîÓ×\8cèç\ fn^ò;µoãâ)Ãz´¬[©Bñ\ 29³ âø\94h¬D\17WW®ß®Ï¨\19Ë7ï;~Î/84,,4$ÀÛóèÞ­«\17Lqíݾq\rH:^cq\14¾ø\92B\8c`Ó}E¢ï1¢ß½zzïúÅ\vGw­\9e7n@ç&\18¥Õ¤ã!:\1d#ú§\ 6íû\8d\99½rûa/¿\8bá×®G^\8b\b\v¼pêÐε֨\9f\0cq\14¬D\97³#\9a\1eÚý(*"Ðëà\96eÓGôj[ÿ'm©B¹X`\8d§Þ°\11Ý¡ÿ¸¹kv\1f»\10\1c\11\19uçNÔ\8d+¡~^\94êL\19îÒ¦>3\96lÂëR\90\ë(¿¦ä¤H9\8b=ѯ\98ó¾\1f\19ê}|÷Úù\13\ 6\80U,_\8e\84\14YDt>\10ݰÃ\80ñó×¹\9fô\r»~ûÞ\83\a÷¢®_ò?sdç\9aù\13\aw\83±¨KÄo,\8eB4Ñu\19Ñ{\89è'/ß¼}ýüÑíX\82ÎÍÊ\8dOÛ 22Äé|Å@tÇ\ 1ã\17¬ßwÚ?üæ½\87\8f\1f\13yÉßóàV·ÙcúwL ±8
+±%MÞûÎcä&HM"C/\1cÛµfÞø\81\9d)H\93³\8dOÐÌ12¢+üÔ ã\80        \v6ì÷\f\8c\88ºÿøÉ\93\87\87ú\9cÜ»qÉTh·3ãaVN&\1d\87M\83èGÏ_¾xúàV¸ÿéý\9b\9e­ëUÖ ®\14,úÓ\92±#ºÃ\80    \v7\1cð
+ºrûÁã'\8f\1fD]     >çÁ\12\1dâ!²»ø\8dÅQ`D[CÖ¸ùë\89èÛ\ f\9f>{úèε\90ó\1e;(1é\80Ä\ 4ù\935iL(Ñ\90ôÂ\8d\aÎ\ 4]\ 5Ñ\8f\1fݽÁÂ\1fã¡óO\1a\9b±pÐn1\rÍ[Ô©Rýöýa\83û½Ø \9f\87A\9eÜ»~á¤!ÝZÔ±8Q\8c\8eoÖD|\9f\8dè\81\13\ 5¢£î?zt\9f\ 4}dÇÊ9cûw¤ ]$AÆâ \b\83Ì[¬Be¦\8e\e¡\8e\18äÃ\87÷\90v\9f9´u\ 5\92±¶õ«hí\ 4óéA\8a\8e\8c¼7\88^´éà\99 +Q÷\1eÜGÁæ{rï\86E\93\87voY§b\ 5¸î\84\18\8b\83 \16\bÅÕU\1av\1a4I\18ä­{÷ïE]\13Â\95\9d\17KÐ4\87-dUi\84÷-fï»yç.JóÀ3\87·­\989
+       mUë\1c\f/A\8bic      mÕÆ]\86LY²åÐÙ`\1aäíÈËþ\9e\a6/\85\ 5¶ª'ÄÔ\84(·-9)¡©Ú¸óàÉK6\1f:\e\14q#*êæÕ\8bÞÇ÷ ä\ fì"ð0Gf!FsYà`ó\829\v\96Ò×hÖmØ´eÛ\8e\9c\v¾\82\88\b>\7ftçª9cûuhTM_F\95'aÊÍ&CÓgÎQ ¤®zÓ®C§.ÛzølPxäÍ\e×(FoY6ÍÕ\ 5\91@]B\8c\ 4\1c\89þ!K.U\19\16=GÌtÛqô|È\15\fòj¨/U\1a\93\87vkQÛâT,\7f\8bð¾\9c\85J\ej6ï>|úr01(üZäµðàó\bùsÇõ·\96¨ü\94[\9c"£Ù"KÝÖ½GÏ^½ëØ\85\90\bT\a\97\ 3ÏÂÕÎ\1aÝ\a%e\82\92\v\89謹TeMµ[º\8c\9c¹\12L\fº|õZD¨ßi2\16TkuD\1erSnëì\ e"Låúí\11¦×¹\9fð       \89¸z5<Ä\9b\í¤Á]\9bÕ2Ù%\8cñïB°\9f}\1a=\87\98\18|ùJÄ¥ÀóG!h\18Kê:k$àD³Í\ 4É\8f\91ó¦¹Ð\8bá\11á¡þ^\87·¹Í¤põ\13r1òb   \12Ì\17Ñ\11ÐÊDïàKá\97C|IÐÓ èÚ\96ò \8e\ 4\8e\ 1-1\92I\v&\b?¶å §ßÅË\97Ã\82.\1cw_¿pâ .Mk\18Ë\16\81\ 5&0wbLdÎ\9bE,b¢Oð¥Ë¡\81ç\8fí^;o\ÿ\ e\8dHÐ0\16~Ê-ÌRg\14´±u¯Q³VÒLÿÅKa!¾\9e\87\10SGöjã\Ù®\ 4L\10Ñb0¨Þ¬ÛЩKÁDß\900ö¾­Ë§»ölU\87     :Sz.ÓÝÂ\10­\82\1cýÇÍ[»ûع\80\8b¡\17\ 3Î\1fß#
+\9a\mÂ-\10\99<üXnæÇ(\18l?|Æ/$ôbà\85\13Lq:7®¦ç.ha!\vÚ­¯Þ´Ë\10ZÞ8y!0äb\90\8f\9d \8b\17°\86«\84½Ð~Byõ®£çüC.\ 6û\9d9²cÕìѽÛ:WªPL\104?\9aÅ\99yhw\9dV.#f¬Øzð´O`H°ÿ¹c\10̤ÁdÑ\89\14´mÞ\ 4\99\17÷ãç\ 3ÀDïS,^uo^ÓXF\95;[\ 6>ó%Â\10É\8d1ß­Á\18û\8d\9b·f\97Ç\19ß à@\bz»Û¬Q\10\fYtÂ\ 5m\97\8fUk\ 2ÍY²iÿ)ïÀ\90\10X\8bûú\ 5\13\ 6tlTE[\12ïCøã%hëb[n¤c5\9bu\1d2eñƽ'Îû\a\ 5ù\9d;¾wÃâÉCº6«i,\9b\18A[ó»B¥\8d5\9b÷@>¶õ\90§oP\b´Ûc'iw\9bz\15\9d\8aæ¥)P\8e\82f\9b\10²#3©T\8fֱܶ\1d\1d\10\14àãyxǪ9cú¶oð\93\86¹î\ 4\vZLM
+\973#¿\e5{\15\82\81_pH\90Ïé\83ðÝÃ{´¨EÚÍÜ\18G\8b\16\97¦õÕ\1aw\1a8aÁºÝGÏø\ 6\ 6ú\9f?±o\13e\8c-j\9b\91\8c%bnú\v묠\98\9a¬Ýsì\9c\7fpHà\85\93\94Æ\ f\86ï\8eÖn\87Ó\17÷\b\13     º(¹±\9e®Ó\97\7fò¼\7f`\80ï\19\8f]¨£a\81\94\8c%XÐbj\92\83Õ©\9dYjBÁ\80LzϺùãû·oP\99ùn~Ú\1d-èRºª\8d:"H¯ÙyÄË' Ðÿ©\83[WÌ\18áÒº.,0\1f\12èvl%\96X§"5ñ\81\9fõعz\ eLº®¥|\91<Ùxj÷\97_  \16M\8bª-{\f\9bºdÓ>rc\81pcîTjPbRÚ\96H$è\95¶]\r´À?\92åw~,J\1fÞî6sDÏ\96dÒ¹²þÀM»c\bºa\87~cç¬ÚqØË'0(ÐÇë\bscíê#1É\9f\98ø"\9a4M2Ò²/åwç\91ß\ 5S\ eºlÚ°nÍjèK\15ÌÉѤí\ 4m©Ý¢;\ 4ÍâUppÀ\ 5$\12˦ÁÕÖ6\95£x\95ðD\82m!£¤\16Õ\ 6M
+nØwÒ;(\14D£ÂZ2yH\97ÆUµ%
+P:ÆÉ¤¿\107
+æf\16m\154ÅTdc{Ö-\980°SãjºRÌ\8d%¸4°«6hª\88ª\r?T\eÁ>§öm\4q`§\86\8b3\1fñÕ\97\ e&/îá±\1d\9c?dÎ\91¿\98\93¥\8eÍ¢\911\ 6ûz\1dÞ±röè>H\93\9d\ 4W\9b`e\14MÚVmì8r6 ôò¥`\9f\93{×/\18? CýÊNÅ\10\ 1É\8f9\96¼\8f\f\8fÂ\95°        \b1\1a®{îê\9d\94G\84\86"MÞ/¤ÉÑ\89DBµÛºn T\es×ì>~!èRø¥\10ï\13îëæ\8dë×ι¢Íy;\98¾¸\87÷¥°Å­@q$c\88ÑÓ\96"FÃþÂPí\1f\16\82tâÒd»¥é\86´¢³\81fa.G\\ 6Ñ{ÖÎ\1dÓ\a\11«\ab#\17\85èÅh\17¬±F\93Î\ 3Ç£Ô8z6àâ¥K\17ýÏÐ|ਤ¤ÉV\93.©«Þ\ 4\99üÒ-\87¼\ 2Â"®\84\87x\1fßMaºu\1dsY\10\9d\88\88õ\9fc|É\bï_DowÖüT¿m¯\913\96o9xÚ7Ä6\975uX7¡\bL\8cvÛ&Bi6¹\87ë\f·\1d\1eç\82\1cã\85c»VÍ\1aÕ«Um\13Ât\96\ 4\12mwtÝv\8a;\19G|¾°ík/VÞ\«y×Á\93\16®Ûsü|Ð¥\88\88ËÁd\7f\v(\ 5­¢)\91\8e5\11
+\93ö¾\18qíZ\ 4\88Þ¹\12¹  Ê\8dÒ\85r&\88h\91^:Ágw¤-\19gÚDå\16¼XÕ\86íû\8e\9eí¶ý°\97\7fhÄÕ+\97\ 2Ïy$]»m³É\r\1f¿`þÓ~aW¯_\8f\b9\7ft\87Û\f×\1eÍk\1a\12\94\9bØ(þ\9aέ³\93ÜßÛÎq\7f\9d´sÜL¹¿Ï\0/VB]©n«\1eæ,Aaà\13\12~íÚ\950Z{Y:uh·f5\r\941&&M¶M h«        «X\aÏ\ 4^¾vãzDðy\8fí(,»7«®/Y\10Êóé\18(R,\9e\g\a¹\ 5ü`=Ô\96\843>â\91¤ÌÈÅÊÁ\8bu\1a@\13&Ga}×"¯_¹èsÒ\9dBjÇ\86\89Öîè \ 4aAgÅv\8fóÁ\11\917##\82Ï\1dÙºlêЮM«é\10\ f>\99\90ÙÚ\13\88'×Ù9îè\83Ü\19\93v\90[<{\86\10\8d\L[¥~ÛÞÌ\8byB\11#\99P\8eî\%hwùÄNqX«\8dræ:­{\8d\9a½z÷q\9fЫ7@tÐÙÃ[\96N\11²Ðü\9f*,c\9cÕÿ!C¦ÌY³e\17\8evåe\87»ÄÓ.\89;È-¼X\fÑù\8b#\17kÑmȤ\85ëÝOx\87\\89¼uóúåÀ3\87\92®Ý¶j£>íãX·÷\94ÿ¥ë·nÝ\88\b:spóâI\83:5ªBYhÆt\1f\9d\90Ó¥'\8a\7fÌ\91+/;Ç]¤hÑ"Eè$wî\9c?fÍ$\1ewI\fÕ¶\10]¸¬¡zã\8eýÆ é>r60<òVÔ­ka~§ö²       ¼$i·ua\9aÖ6h\v\82W`8[ó\rô:°qá\84\ 1\1dØ\14\82@ô'H&!g\ 4Å9sç+ *R¼dé²åÊ;9\95/W¶t\89\ 2ysþ\98%£p´)ávm\1f¢+;·v¡\ì\0¼ìõ¨;·o]½\88à²jv\12µÛ®Úè6tê²mGÎ\87\¹y;êFx\80ç~ø\89þíëWB@øH\16J4\7f%\9e[§ó\8atp½\98p\8cÛd©\bXLz\8dS\99\12t\92;k\ 2O÷ÚÑÌ
+\r6uP«Y\97A\13毥pzõÖ\9d»wnÂú\ emY\86Ì$   Ú\1d\9d\9a\bÕ\ 6m\96\ f½vëöí\e\97ýOï]7olß¶õ>\9a\1fÕÏ\ 4!çɯ*V²l\ 5­±âOÕjÖ®[ÏÙ¹^ÝZÕ«X\fê2Å\13q¦9\9a\8b©Jë\10¢ûÐ\fèa(÷Í;÷ïß¡áíK²vGï&®×\ 6ÕÆZ÷\93~\97#oß¹\1dyÙïä\9e5\9fÌB¿\10\ eâ\8aGõså-X¤D\19'­©RÕZõ\1a4iÞªMÛvmÛ´nÑ´A\9dê\95ôN¥\8aäÏ\95\8d\13<µ!z1á\14VËîC§Ð9\15¿K\91wî?¼\7fûz¨7òEÒîºIÑnaÃN1qm\83í\14d{W.ù\9eؽjÖH\97\96\1fËB¿\88>|\9cåG"¹d9µ¡bÕZÎ\8d\9b·éÐ¥»Kï>}ûöéÕ£Kû\96\8dêT5©K\17¡\83®é\12¼¿\92\85+x±<\85Ë\90\17£\8ar×Ñ\v!â>¯«Ág\ fS@Mªv[S\93&]\90\9al9|6äê­» :ÌçØNJÈZÔ4Ä\99\85Z;2P\13\8a\9c\8cd­©r\8dz\8dZ´íÔ½wÿÁÃG\8e\1e3vìè\91Ã\aõíÞ¡Eý\1a\16MéÂùrdIðÙ&q^,KÎ\82\95\9dÛ¸¸N_¶\ 5>6âæ½G\8f\1fÝ¿\15\1e\9d´Ìä?©É\8e£\17B¯ß¾w\8fôçèö\15\94\90Ñ\fÙ\7f\13²/Ä\93úì\1cn\81 Ù\¥V}:·ÞgÐðÑã'O\9f5gÞ¼ysèPóÐ>]ØñÞ\92ªD\9cx±Î\8bå-RÎT\93¼Ø\82u{Nø\84EÞ}ôäÉ£»$\12V\rµN\8avÿ'59á{ùÆ\9dûDô\ 5\8fm\9fHÈbu'Ð\98ªÔjм]\97^\ 3\86\8f\998}Î\82%+V­Y·nÝ\9a\95Ë\16Î\9a4r@÷6\rk\98¬»\17\13´KÀ\1a®(\17kЮϨ\99\8f\9c\v¾zûá\93gO\1fÞ¹\16B\99S\92µ;Vj²ït@Ä-¶Qðâù#[?\9e\90\9c+\7fá\92N\86Ê5Ar·>\83GN\986gÑòÕ\e¶ìØå¾wïÞ=;·®w[0}Ì î­\e\97)\9c7¾ã\8fv¯gób¨(-µ\91\8bM¦Í\11þ\97\7fòìùÓ\aQ\11\ 1§i*«\7f\87$jw\8cm\17\9b\ e\9e\ 57ï?|pçúÅs\87·,\99<¸3\8aÕâÿ!Ú\8eæ\ 2EKkÌÕê5mÛ­ï\90Ñ\93f.X¾fãöÝû\ f\1f=qê´çé\93Ç\ e¹o[»dæØ\81][$b\7fü\17Ö¤\9bÍ\8b5ê@¹ØÎ£\17.^¿ûèÙ\8bçOîß \87³rÖHh·%ÑÚm]Û\10öàQjâq!4òÎÃG :äÜ!»,4\13\122»¹PÒ>\94?Ds±²ÚJ5\e¶êÜ{Èèɳ\17¯\¿mÏ\ 1\8f\93^ç|ü\ 2\ 2\ 3\ 3ü¼Ï\9e8´ký\92\19£èü#­¥\8aKlñ\12m­(+ ¢ì9|*r1x±¨\87O_¼xþøÎµ`d&K¦\fé*.lü\90¨Å\17û\89P\17¤&»\8eû^"ÿø0\9aè\86¶Ô;\9ahAûÒeÌ
+9\97ÕU®Ý¤]\8f\ 1#'Í^¼jã\8e}GNx]ð\vºx)\82Î÷\86\87\ 5ùx\1dÙMç?z¶vNè*\84­¢\84\173ÖhJóbÈÅ|Ø Ã\97/\9f=\8c
+÷?Åæ,Ùúl~ÑË&Ƥí'B׺ä£h\ 3õ]¨wLI\7f\e\93h&\89\1cù\8a\94ÑU®Ó¬C¯!ãf,\¹qçþ£§Ïû\ 5\87E\»qëöÝ»wÙ©\17\7f¯#;VÓYÀ&Õ\r¥\132\95emìa_Qn=t6èêíGÏ_¾zñä~dè\ 5\9aß\18ѳU\1ds¹"l!>QÚ\1ds"tã\813Á×î<zúôñ½È\8bç\ fo\16mú?\8eL\18\15%\ e¥µ\95©9Áð\89s\96­ß±ÿ¨§wÀÅðk7oß{ðèÉÓgÏ\9e>¦­Ó´épÙ4×\9e­êZhZ'¾)yÑ 3d¥Iß\8abE¹\17\89âÍûO_¾z\ 5í¾\1aäu`ÓâI\83»4©Nû\7fØúl"´ÛZmèª7é2dÊÒ­\87Ï\87B\87\9e=\83¯\bµzïjÚ\12±BVtùS¢\82¥VÓ\8e}FL\9e¿r³»ÇiïÀ°+\91\10V^¼zýæí\9b×/\9f=ºs\9döb¯¡Íh\r«hKÄ·Îm\8dÿ¤F4]\82\\8c*J\8fó!×îÒ\11\95\97Ï\1eܺ\8cdqõ\9c1}ÚÕ¯\\81\9clâöÿXS\13ÛDè1\9f\1e<}\81¨p3Ì\eqzÚ°nM«ëbO\91ÙOâToÔ¾·ë\94\ 5«·\1d8q. ôÊ\8d;\ f\1e?{ùúí»\9f\7fùõ×_\7f¡Cb·¯Pe¾dÊPû©Ú\8f\8dÑJ35p)\F\aåîÅ*JÏ\80ð[\ f\9f½zýúÅ\93»p7\87ie±{\8bZ&Úf\92¸ý?ÑÛ.,lÛÅê='ý#Èpà,ÀÎc;Ä4´L¡\98¹wôÊ©ö'çÖ=\87N\9a¿zûÁÓÞÁá\91w\1e<yþêíû\9f\7fýí÷?>|øðÇo?³3\90>bq\10ï´¥\1dÍyT¥4\95ë¶ì>d"r±ãÞ¤\81/_¿yõüaT\84ÿ©½ëbì>HÌ\8e\8ePkj²~\9fgÐÕ»O^¼~õâñí\b\7fèÐl$zp\16\85c,É\8b{÷ð{å¨Î\1d8nîÊm\a\86¢\16Àï¾\ 5Å\7f|øó¯¿þþû¯??üöóë'w®\ 6zîÛ`-\ 3ó\7fb\8eÑÖy+ó\8fy
+\95TW¬Ý¬ó\80±sVn?r6è
+\84ñúÍ\9b\97\0\96\a­\9b\v»\ fò&f÷\81(1Û\1am'vpãlHäýg¯ðî'w¯\ 6R==®_»ú´qîG;OfmBQ\80­9À·.Û¼ÿ\94oØõ;пw?ÿú;(þûï\7fþù÷ß\7fþþëïï^<\80\7f\10K"\16V\ 5­\89s\1aæK¡Å\fÑ\¢\82¹f\93\8e}Gáí\aN#\17{@ãzMÖ\12è¹\7fã¢I\83\8d\95V%f÷\81H´ýö1ø±#\17Ân>|þúÝÛ×Ïî_\ f9s`\13ÞÝ©1­\8eå´\v¯\82vgc[º\9av\19$ªßµ;\8f_¼y/\90\f\82ÿý?àß¿ÿüýçW\8f£Â}\8f£<\18ÙK\f1q\eµ­TÍ\90%;£¹\ 6¹\8b©\8b\9fð\ e½ÎN\17¾yõ\14Ù\98·0OÔ6Áq?6ÑÖ3\11ÂìïQ\9fË·\1e½|ûþÝ\9b\17\ fo\86]8²mù´áÝÿ³RdݰXÔ©bÝÖ.#f°~\f\b¢/ÞþòÛ\87?ÿ&\92\89âÿá¿ÿüõǯo\9eÝ%ý^?\1fÉDý\8foÙ±Ò\9c>c\16Ö\84
+4·s\196yáÚ]G©Ð\80r¿}û\1afw%\90âU\8cÝr\89Ú,`ï¼{²|Ì/üöc:xþî%ÄãGFM[ç\84\15o[`°mFÒüÔ°\ 3mÇÝ\83Òìæ\83ço~ùýÃ_"ÉÂ\1d'\10õ\87ß ß\91,Ó±Û\9cõ_£¶\95ç\19³æ\10inÛsèÄù«w\1c>\13\18~\vÊ-\9c\9d¥´{×jÚf\92ØÝr1\88fIh+VW\9eô¿rçéë÷¿üòþõS\12Ïþ\r\v'
+{\eì·\0³_\13æ\12\9bt\19,\1cgºz÷éë\9f\7fÿ\10\83d"ú\9f?\7f\7fÿêÑ­KBqÞ\83iM\1cÓ0Â\ 4ã7B©\9a¯H)µ¥f£v yÞªm\a=ý/ß@Zòæ\1dô\ f\82\ eòbñ¯{óZ\89Ü-gG´¸«¨5-Ýí9\15\80Á¿ù\19\ 1ö-s?Ðïé®=[Òfï¼Âfo\8cõ\8bh\ 5¡\89\87iË©J¹ñàÅ»_?üõ\8f=É \9aôû\17øï\bÿ\93\14
+z£*\8a˨£Í9ó\8fHçËh+ÖjÜÎeèĹ+·\1e\e\16\89´\ 44\v\82öf\82î×\1e\99\ e\8bW\89ݤ+\9eÌ¥0ݦ\ f\88v?\1dxõî³7?ÿöÛ¯ïÉýø\9dܳ\16þ\9b2)QÔ_³U¸è*¥\15\1drA\95r9êñ«\9f\7fÿóï\7fíI\16õû×·Ïî]\vòÚÇæ\93­\93è±
+U\16\9d\999ç)X\8cJ\98¦\1dz\rc4\9fò    ½\ e\17ùú\1d9\9aGÌ¢\99 [Ô6SQ\99øÝØÂÉ\\91hVn\ 4^½÷ìÍ/¿ý\8e¤\ 2#\rF&E[:Ø\a¢\ fp|i7ÛbMi`\15¿üñ×?±h&¢ÿ$£¾AFM\99|ãªÿ5j[tfæ\¢¼¡J]Jç'Íc4_¼FNìÝû÷oáº#Cí\ 4]ª`¢ãÕÇ%ýËï\7fü\8eðú\10\99Ôq|A8ª\83úÈz®M \9aåqlA\9bº\8dÀ*\18Ñÿ\8bMô?\14´lF\8dP\10\1d©íÅ̺\efcý\12\9c[vî;bÊ\82\ 4\9a)\88²¦\1e\8f¢"\ 2<÷oZl\15t¾¤4¤\10&úcÙ4#ú\ f1\93"]b\87²*V°\1dÏý2\ e¢é×~ý\0í\8eM´hÔ·#üØ\842Eê²\85ÿ?{W\ 1\16Õ¶\85\9f×\ eì\16\ 2Q\9c\ e\e\e»»PQ1P\11»»»»»»\13[\14\ 3\15±EQ0\11A\10Ô·Ö>çLÀ\80ÄÌìaæüï{÷^q8sþÕ»ÖfËo]ÎàÎ\ 5Á\9d\9a\8dÚ¸ö\1f>yÞ*(mÕ\9cÃÔý-p3¶{\87\86Ú\8aN:é\9c\ 5bEoÌ<\91?\7f`(è\81Çï:3\a±\99CÄiuÌ\9b\91\15Ñ´\1eÒj§fê»Qîí\*©\17\89HúSgª\9cù
+\15/]\1eܹIû\1e\1e£¦.X³ýÐ\99+w8Î0t       \ eÄÓð{×Í\1f\15Cw2;\8fhö¶kåé L=lÑ\8cùaÓâ)^\_\80ܤ\11\19(F+\90M_±óÄÕ\a/\82ô\9a7çÔ¤¾c\96\ 3«
+5\91L7S  Ê:ÉÁ\9d\1a<fÆâu;\ f\9f½
+¥-ú3\fØ@ÑA/\1fù\8\fU÷p<u&.\9b<Eë\9cRÅÜ\83\15\19      Ã\91QQ j2>:±kÍÜq\ 3»µ¨£B\ 3ÇS\8céÓ¥Ãå\16r\ e\80\1d\902Ñû'f,}N\1dú1\10ËïMl$+£\1e\ 2kg*[;\a¡Ò¹\ 1¸³×øYK7ì>zþú]\7fàü%4ì\ad\132Z»rr7¼\8dG׿¤\1fS\9edõ£ÐYÞ µ÷E¨½?\86B1\19\15\19\ 1ª~ùðÖy\90-Ói\0\9b\16\91%\8aôéq¿\8fz[åâ-¤dÿ\18\1a\11¥\87485\96ß\10É\8el]\82»k\9dÕ»kÿÓ\986ÉTâJµ\1a·\ 5w\9e4wÅæ½Ç/Þ¼ÿä%)çÃÃÃàD\ 4»;\87§Ä\86ªO\9d%ëÄ\94Îl\117ÊÂ*ãgÔ/P5\ 4ð§÷HO\89É^¤­\vÓ\94\vXg í\rË\88ª³KÚ88\vþ\16®×©ÙH\ 6c\ eÍ*\11   ßiÿÓtpÆL%­Z·i\87\9e\ 3Á\9dWo;pÊûÖ\83\80×A\1f\1a\11\11ñ#ô3iÞr\fg`Èd\eΫfOV'8­ñ4Ùó¼f\ f\9b³\80ô/T5\ e\9bVÏeûº\94%n\9d)\ 3ö fN?0Í¢ðר\9c\15×¾£\7f\86}yÿÂ\ fj2\\ fdv¥á¤mº´¬iãz\ 1dªê.-:÷ö\1cKÜùÌ\95Û\ f\9f½yÿ       \860\98J @|û\f\17Ì7`.i]\ fsI¾D\1f/\8cKZ³¨Ã\84$&\92\ 1é_0Tø\88µ.éñ5ª_çfµ\95¸0\93\vXgÌ\84\98®wæk\95\9c\9a\84ï\97\ f¯\9fÚÍ®ü\92M\97\18\e°99iÏJ2UÃÖÝú\ e\9d0{ÙFpçk¾\8f\9f\a~\80\10\16þ3\12\8a\86P&\8a\91\9e\1eîP5H¹ª!9'¦t\96ï<!\92\1dñö\rx\8bNý+\1a\f<\fc\19\1aøÆÅS\86õéÐ\98uël\993á`\b\7f\8dY"Ø|èâm,¾\89}Ç­É\80tð«G\90³ÈNÓú*fÖ6c\86\f\19\99"\f2\95\142U»\1e\1e#&Ï[¹eß\89\8b7îù¿Ä\10ö\ 3'\9d¸9'\88bxÒ\ ebjâ:\13%@\9a\8ddäÄÊ\ 2ôÎǯ\83¿ÂÐ!:Zcà'v¯\9d?ѳ'ãÖ\90­³eÉ\9c\85,?\88ª\91\9e?ë°É
+kß±UÍ\8c.\81ôÍ3{¹\8d\rX3gÅ[R²æ \8dº\9däÕë\93L5}Ñ\9aí\aOyû<\bx\85î\8cÓN\10Q\7f|ûH\8aî\ 3\9b\96°\9d\89Ê&þ4¼>Ò\9a³ç¬S_'åÉϨh`\r±\f\82æÃ[\17\8el_5{ì@×\96õ*\8bÀ­ódÏ\96%K6\9c\fuªT¿-T5+о\9f¾Åø­wÈ\ 1¤_?\86!\a\90Æ\8dÔNXÇÃ#²Ú\10Óv\10© Su%\99jý®#g¯Þ!î\8c¦\1d\ 5ø\19\ eã\¶×\18Y2ÀCÒ¤.Iæ\19H­Shxh\13w\9càÜÉ'|û\98\98h4ð\90@ìóu\10;Söë¸u\81ÜÙ³eÍ\96=O!r\ 4Ðu0n\1cV[HlUkH\9faIã\94D¾\Ùml²3¦-©\»IÛîl¦:váú]R\910\13O\18O\19'»zjï:®©\1c\9b®\92y\ 62\rw8\89¤\Ò9äÂmÌ>øö11¿`°ðåÃë\80»WÑ­§rnm\9b?WölÙ²ç.\80íiqîdÎ\9aݧ®=x®wt©öé\9bgH\1dJH\17Í\9f;gÎ\y
+\10ÓÆ"ÌmÐèi\98©N^ºÅegÌ Ñ$s\92pz\ eÏ\v\ fïÓ\81D±B)ê$¤}\10\9b¼½Ú¾\7f¡ª!\82\87b\9d\7fÇû8º5Ó\84­\\89¨(Ð\13\9e\9e©G\8eõnUÏ#DÇRµ:zß8½\e\ 3\19\9eJ.]¬`¾¼yó\17\ 2Óf\8a0\\16ZÂd*¿§¯\19wÆ)U|\ 1\8c+\8f¹¶[]\99\86 )k\19Å,Ê\93}ÏuÉ\84Àv\ãÀø\8dö\1d£íÖ;¸.l"{A¡¼¹rä\802JP\ e\9bòB}²~ß\99\e~/H²\8bÑU5\92&yúú©]äd[}0OA\91\82\ 5\v\15)^Ú\11L\9b\14a\13ç,ß´\a3\15\f0>\80;ãd[4|}\14\1aw 1îõqÚn%wë¼æø¹¬&±ï\8dÚÞù[Ë­Ï\1dÚ²\1c\eÎ6¯­ªX¦XÁ¼¹Ð<É&\98v½G@(\ 3a\ 5\ 4\92¬¥[ ¨+²«'È,p\9bú\95\85övÅl\8b\16·+ë$«V¯Y\a7,ÂVmÝ\7fââM\92©>\13ÓÖ\929\1a÷¡-˦Ã\88\12\eÖ¤¼Ù
+\9b´Ø\86\8a£g3ÞIT\16ͰF·Æ@BÜz¸{Ç&5\15\15J\15-\987w®<ùmK\96WÔn\ 1¡\f7Lc»?6kýÑR4[{ß»|tÛÒ©¸tYYT®´]\89\92e\1cEJl»\ f¦\r\8eC§/ûøq\99*
+#
\14&i¢q«\9b\a\95dÖbZ¤YûÆøÝs(\f\99\8eâè\81QÙo`\8dnM²õå\13»×-\984Ä­]Ãê2Ç\92À:OÞü\85±up£\ e}GÍZ\85;t\88\16(dhÉ\8c²p#5Fß*\92
+\ e\96s\92V®Õ¨\8dk¿a\13qÅóè90m&S±óȬ\99±\91\9bí\87VETÖ\0ýÐÔö\8dó¹äD-öøâTFVfX·ö¹xtÇê¹ã\aõhíRURήhÁüùòãBD¥º­z\f\99¼x3ú\ 5N°é\16\8cåsþÀÆ\ 5Øß«^U\99°B\ 5'±¢Zݦí{z\8c\9c2\7f\15[\84q\99\8aã\1cÛ¸;jºv§¬\1f\85¦\91FEðÎ>#f®ÜÉ\16\1aáQZò&]9Ï\1dÚºbÖ\18\8fn-ëU\11\15-T°`áb¥ÊË\9c\9btfÚO^½\ f\ 5¸n\81\82#ËHn\8dcÝ<\8c\84õk¨d\12©¢rÍ\ 6-:\91ñÅÚ\1d\aÁ´¡\b\83\9aöoÖÆ¾3e     Dn4î\16¤\eS"Ûn%Ìú?¶>q\ 4ïìî9\89)48\95ýÖvëkgöoZ:}d¿.ÍëT\169\94,V¤p\91b%\1dÄU]Úö\1a6mÙÖ#\17ïø¿aB \ eif\8e\fw\89À\9b»¶nP«jåJUjÔmÜ\86\19_lØ}äÜÕ;hÚ\1f\99e!ò­äk\13\14\91f\9aãäç
+\8dÙ«\89Ê\18ïT\8b\9c¸µïå\93{7,\9a2ܽS³:\95ÅåJ\v\8a\15+^Ò^X©N\vWl;²\ f[;23ÁjûfgCß=»w\ 5w#\8cñèÞ¦q½ZÎ5ë6lÑ¡Ç\0f|qü\ 2kÚß~¨\97\85~ÿf\8c\ekn,K\fiÜÿã¶Ràb3{ð\1e»rÝfU\1d\r/À}\7fÐ\8bG·/\1dßµvÁ¤¡}:\ 2kIù²%íìJ9TTÖlÚ©\1f\86\ 2<V\1c\vÀ¥Æ\95³Æ\fìѾE£\ 6\r\1a5kÓ¥÷àÑÓ\16\92ñÅ-Ö´1S±\8b\7f\8c¤a@Ijn\94\16\e¹\raÜÿÓÚVÀµXX»çÔ5VÕj\ 3'nýÜïÖ\ 5\bfó&zõîØ¬nUYÅröeí\1d¡¦jÔ¾÷°iK·\1e¾x\eì\9bTe±Wð\9eܹ\84]8Ç\ eîÕ¥mË\16-ÛtêÑÏküÌ%ëqö\8f\8c/д\7fFE«9£qC\ 5üä.68\84\9a\9b)K\fcܬªq\ 3   v¹®\8f+¯KAÕàÕï¹\Íú\17\99\82½\81ýqçNôêÓ©yýêJIÅ
+\15*JTÎ\rÛºáö6\92ª?èL °\95÷kÿÛ\17\8fl[9{¼W¿\1e]:vìҽϠ\91\93æB\11vì<\8e/Èt\ 1\7f\bgb\$z\92\8eÝXs\93ÎË\861nVÕ\19\985v¬)±\9b\ 6nt\7f\1a\18òõ\a\89e\7f¸H
+C\8f{×Î\1eÚ\ 6¬\87ºwiÕ°VU%Æá*µ\1aµíé9aþº½X·C]£qj&x\7fýðú1\90Þ¾jÞä\91\83úörëåî1t,\8c/¶î?yé¦Öø\82U³Æ¸_àl       x\ 5Ó\84\9f\94%\ 61îÿ±{\85²\92{L\88ª±·Ë¹\9b\ f_\ 4}b\r\9cH\9e\19zøß½zæà¶Uó&\rïïÚ®iýZÕªT©ê\¯)Y=_Ë&-­Y#fU\9e\90¾ttçÚEÓÇ\ f÷\1c4pðÐÑ\93f/a\8b0õø"Z\8bs4)Å^CèÄù\8b        \83{´6¨qÿOsV\82l¡o
+9w6\1e·¼ãÿúÃ\17m\ 3'Á쥿/²^½`ʨ\81½:·nÚ n\9dºõ\e·êÜÛkâüµ»OÄ\8edjÒ8ý²gãòyÓ&\8c\195zܤ\99\vVl\82"ìê\1d­ñ\ 5\8cCc)F¦b÷ãLUïö\8dÔ[\88\rÕ&K[Õd÷éÂ\rûN_»Ï\18¸\16ë°¯\1fß½ÄË.\ eíX»hÆ8ðÏNm[6kÖ¼uÇîý\87OY¸n÷IuY£K:øÍ\13\18\92\1fܾvé¼\99Ó¦M\9f½`ÙºmûÕ\99\8a1mve\9blTQ\97b8'9\13ç$kA½o\9b\84s\ 1\89 Í©ZP\8eÙg<c9ÙPþâÝ'u\ 4g\8b\85\90w/\1eû^;wd×\86es&\8fòìçÖ­s§N]{ô\1d2vÆ\92\8dûN]½\1f\97t$\99?\7fpãü±½[×­X²hÑ\92\15k7ï>|Z\9d©Ô¦Íü\86v¶"³Ï\83\É®ébêû¯\fBZ£êRN¸£| z»\1aDp\rk2s\13òî¥ÿÝë\17\8eïݲzÑÌ\89£¼\ 6öswïçá5zʼ\95[\ f\9e½þàÙ»8¤!O¿\83\1c\7fùÌ\91½Û7­_·~ãÖ]\a\8e\9f\87Lõô5S\84±¦Íqf*@ÌV¤\14\19\fÞ\9aV}\ 2\8aÙuÛkèäE`àWÙÍ3êÂ\10GzÈúÉý\9b\97N\1dÚ¹qÅ\82\99\93Ç\8d\1a>|ø¨ñSçB9yìâ-\f\7fßu|\1a)@L\82ßñ>sìàÞÝ»vï;tü¬÷Í»\8fc¹³\863;\84Çlµt\1a\94\8aÒ¿owK*iv³'î¯\86újä\8ce[\ e\9d»ñà\19n\93Ò¸5ÑõÇ WOýn_=wlÿö\r+\17Ï\9d9mêTðÒåëaØpÅ×\9fMïjÒ¿\19¯xûüñÝ\9b\97Ï\9f>qìØñS缯ßñ\vPO\17¨M[Û¡\99\95X\8a\1d\1a´5-»\7f;\17î¤ÇÍÆ\ 3ÇÍYµãèE\9fGàÖß~0åè\1f\96õ·Oïß \ 5ï3G÷íØ´vå²%\8b\97._³qÇ\81\93\17o>x\1a\18ü5L;OÿÆH\ 6ÉîͳG÷|®_¾tñ¢÷\95\e·ï?~¦\9b©þþÕvèÏÌ´Ü®µóØl\85«Ä\ 6oM«n1A.\14j\80\ 5Ö\82u{ðD\90Æ­5¬?\a¿}\19àwçú%°×=;¶nÞ´iË\8e½\87O^¸~×\1f¯?Ñ\9e\aþÃ\86\82\8f\9fùûÝ»ãããsçî\83ÇO_½\8dcÚ:\ e\8d÷\88ì\83ÁÍPÈV5¤åì\98«\v\rÜÔQÓo\ 1w37éè>|Ú\92MûÏ\ÓrkR\1eÆà\9c\97\8f lÿ\awnx\9f;uìðÁ\ 3\a\ e\1d9qöÒ\rßGÏ\ 2\83ÙÜ®!\1d\8dÓõ_B\82Þ¼|öäñ£\87\8f\1e\a<\7f\15ø\9eÙQ©\87³ÎTûH.[1ã\f\11ÒÚM浪ݼKÿÑ3\97o=D6ß~üÆ\96£\845r@e¿{ýÜßÏ÷ÖµË\17Ï\9f;{î\82÷5\9f{\8f\9e½~\8fÞ 5\8b@\f6*\ 2åôá]àë\97/^¼|õæíû\90Ïß\98é\82ßÚó\rPø±ÓÜêE\95n-ëVÂle¸RL\874{B\ 1#¸¨JýVÝ\a\8d\9f»zç1<\15D\f\9c-\98Øpöãû×O@ûEÀ£\awoߺyó¦Ï\9d{\ f\9f<\7f\ 3~\8a6\e£C\9aý\85Ï\1f\83ß\a\ 1>\ 4\7fÄíÑ\11\91:î¬\9b¡\89CãòY\e£d+]Öì\86ziõ\86¸¡~!9Å
+\ 6N"¸¦0\ 6\13\aÝ\ 1í ÀWÏ\ 3ü\1f?|øð\91?\18íÛ÷êØ¤C\ 5X\83u\84~ûòùó'<å\10
+\94É$¯Î\8eÊ?êa\rfhth²¢"s4|¶Ò!Í\1c\9d°-U^Q³I§¾#°cã90pR\98©kãß\fm`ñõsÈ\87 ·o^½\ 4 Ñ\ 6\7fRsÖâÂ\89)üGØ÷ï¡ß¿\87á®ÿ(Ý\8d³ZA,øÍÓû\98¡Y\87f\96Ä\8dÖH\9d;õF\8e£TªÓ¢\e9\99~\8c\19y\90Y\14ò\8a\84\ 5Q\1eØ,(ïcð\87÷\0b´¡a±\1d\95\18²ÉÿgDDDxDÄÏ\9fdGx\9cO©g ýð~³\95³Çz\80Cs\9b\1f\8cÖk\9askÈ[ÌÙ\f\ 1¥%;aÆUMH\ 3µ\17\19\11\1eö=ôÛW0Û/_¾~\v\r#\v\8d1±×u8Ú¿¢\18°ÛþÿÄåLª\92G>\17\8fí\3o\ 2\v·ÍÅ\88ýµÉYBâÖäZT\1cyàÙ Û¬ª5yHC\e¬\16Ì\16ñ\83³ÚX\e\81Ù\8fÿÆU\1a\82\98\18vß¿î'¢ÕAìò\89\17N&\19\9a8tNö\1ei£pÖ¸5É[d\8e\13§CÈ"lìél5ï¨ÈÈ\9f\ 4\91ÌÑ\8dß±93\9fþó[\vä\a:\1fÐ
+b¸~´\84ÜMil\87Öf­\1ey´ï\83\9dÃÉ"l¬él\8e\ 6»e ¶Ú8Ûªþþ\89\8dX\7fËÍÂ\91 vpËò\99£\a\8d÷Í\1aÕ¡5¬ÓkΧw\e8\9e]\84\8d5\9d­Íûw\f\a=:\8cË\ßÏu\82\18\f\8c\1dؽUý*b{Ó\u¢Õ\89\0\8f\1fõa\17acOgÇÒ Æfãe\9c\0\18ãþñí\13\ 6±KÇv\91 Ö¶Au(¹\8bäMÌÅð\ 6 M\86Öy
+Ù9\92EXf\99Ç\9f¬XëÙ\ f¨Å<y\8cYE³\e\99|ÉÅ\\10ÄÈ>\ fRr\9bâª\13ö\>9i\86Ë<c´wdÄÝ\ fh\0\90173\11x\1f;\8c-\85 ÆV%8Ad\92Û ØY\14v\99\87Ý\91\81;\8eôî\a4\ 4i¶ä&ó\ 6xëê\98\ 1ÝZÀ0£¬1ÆÐñ²&5x.æB\0ÒhñÐ\ 5f? \1e§6\0gfrå\vs[!:ô`\\ 1\17ã0\83)¹MBZwÇ\11Þ\ 1\88Wf~\88ß©SF\9a(úÛGr>\ 3g¹ÙªÄ\8e\f3Lvw\91Î%\1f½Iï\93«¸\rÅ8NM&\94@ѯÈÊÏ
+\9cånÊÍ\e\98ð¾&Ýë\\86LY²õ¨÷]c9õ\1fv1÷-6wØË\ÀÆÌrç6Q\10ãXÇÚ&»\11·\11\1aÉ©\99\99Cv]\13¯\96èCé\ 2¶ØW4\19Ó©\99­
+x0ñ:9\88\7fª 5o`2ÒZÛdÛ°G\97ÔÇq\fÌZk«ÂÑíËg\f\7f¢p\ 1[\9c®\9a\12Å5X=ÇqRÈ\99]À~õø\16i\16Á\9c\8aÖ\1cÄ1\1dg=MÊ.Üy\12\18\12jx§fb7sìv÷j®GM\12®\7f2$i¶\1d\1d×)wßÙ[\8f^%P~§\844\1eÛ"g1I\8f\9aVu\93w*Ú\0¤c÷DÞÅ\9eG4¸Ss§ný\99\83Ô=j(\]¤}\97"Ûô\859\8ech§Ö\9c¯Æ¦    ä|µ0é=j\fGZ»-ƦC\17\8dãÔdCá\97÷±OÒ'áj  C\92Öº?\8bqj£dj²=\83l(¼|lÛÒ)¤­vìö9¦#\9dFS~\93\e\1fÉaxÃ\97ßÜñÓ\0_¶;TSÒÐð_mµ\8dÅ\1ag\12¸\96ö$S{³sF\ 6uju\1có9\7f`Ãüq\ 3:\91+?h]]¤åÔMº\f\84ò\9b=CúCÏ\19»\94\91V\1fÚÂæ/x\94§dáÜ\94®üà\9c\9a)¿µO©\194~Ç>\88Ù¶\1es\10\93\1aéxO©\19\944\17¼É©\16·Vuô÷~1\11iuù\1dç\94\9a!í[s¸Z\1d¼\1d(Þ×\14Ï)5=sþ)%\8d\19ë®7Û\8dÖ\99bðNà\94\9a\9e3¤ÉçÌô\ exûÔ÷Òaöz\80¸M\1cMIZ÷\94Ú\ 4\9dSj\ 6#Í¥é;   ô(5)i\9dSj£f¯Ö\9cR3\98}#éðÐ\8fo\9eÜ>\7f@}=@áø®\a0\ 5k2gÄ\9cRkÕÓ\8b\9c!õ}\12¨ÿ8|JH\93ÚäÜþu\9aë\ 1¨ÝÌõ\8fSj\86"Ív~¹uv\1fS\9b\ 3лa\90¹>³TÅÊqN©\19\f\81r÷v¤_B.z¤Õí\13K8ÊÙSj\87.0¡Ì`ªÖê\97°\87þud\844\99óÏ\91¿h"\8eç\80ô\8foZ\9d1ê1-¬è]\ fû?ÝåKõqx½\9d\ fR@\9ai\aBNÑ·Mò\1dlF ­>¥F\8eÃÏ[§9\ eo\18Uk\93NøÊ\ fÓ\91f¯|Æó,.xå3ÞÆBÎVÇí|`1\9aÖ\842ærï      \v60YË`ªÖø´:\90Ñöi.\941׸·w\1f9så\8eãLç\ 3\ 3yµùEoÍN\f¨Ê´:\1f\18\9a<}\96kñC9Oÿ\8fÛ\89Á\9e­f:\1f\18TÕñWd\94ÊPBZs¶ZI®@^ĨÚP\ 1\9c\19p\98QíͰ\8euÙ5«jM\vÜ\94\93\8e £¬\vÌdhê \Âf2ÒlÖRßv\rª>\8b\an\r£jÍxúâ!öú\v=·»P \1dë^ó\95; W\93²ìgÊU­=sÂÎõǹ  \82
+k­\eì[v\87\0¾a?\94eì^è\14\909²Ï¸ªs\94i5©ÿ\9a*\93\93Ö\Ä\0\ 1Ü}ä\f¼Øç\ eî\15\8dݰ'¹¤\99ÆFÇ5×âR\9b\ 2Ö°ÖÜa¯¬Í¶ö8}ý\81æ0KÊHcIöåýK¿ë'wáM\10\§`Ú¤9Uc®nؾÏ\bÜö®}Â!E¬µ\96§ÿu³¢iY«/ú\86²\8cl{Ç\13\ e\9aî/)%Mª\13\7fu§`õÅ¡æ j,ËÈ­\eä^¶\8b·5½\99RÂZ»SðF\9dNÁtI\93\0NÊ2;GæÚ\8dyZÝ_R\18ÀÕ9\v\978Ôá\9bÞº\8e\16\ 2/JîZì5\8cëþb\10UkÂ÷\ e\f߭ئ¹´Ië´\ 4©Iº¿\80ªÕ=\9dRjßÑLç®ë§\98i\ 4­HF_Õd\]Z·ÑO\9c\8ekÉ#M\ 6\970ÎZÇö<§·\15!\16k®%\bÛè\87ñêØGÔ\92G\9aëÆw\boòSo:¡nß±\1aýô\1a:\rï`¿í¯¿%l\12I3}\17\9f±}\17{@MÆ85mûÖº\14\99í\13:OÝ\9c)\85Ëy\7f´6\92íb6`¨*ÐÚH\16\9bµ\96ªÙ\89Ñ£Þ\ÓÉ\94Ú7w%Ë>¼G¬#î/â¶\fR&­   àÌÄèÂ\r\aÎÝzd\80P¦¾\92\ 5\9dz\11^ÏIzúÇ{\8f\98IYÿ§51ÚÁ}Ô¬U»N\92k¦Rlßê&\84x\11ë´¡n­5·Ï\99\89ªqbTY§U\ f¯)KÉÕI\81)>Ø¡vj¿ë§ö\90VØxmc\11³°ïÿq§\11\8bÙKj4Á+\19ÖïÇ=àd»h\8aJQ®!\1fÛM\95¹ 3ÉW\18\1a\89431Ê-W\8fDû6ÈvQr\0Og\9b{\1d\8dÀqX«\97«\15ì\1ep<Ø\91òÓZZ\a\1a \12\ 5ûîÐ\80½Ï\8fÂ\96ï8¤Õ·63{À\17²G0Sº\a\1c»wiì\e7÷Cüæ®W6\ 3U§ã®giرÿXr°ãqBçª\13­jæ\b\1e±ïåÓ\86¹µV_¤m\1e¡\8cÙ\ 3^©>Þ£ÆÝ\r\96rÒ¬}ûá\95ésư÷øæÏa\ e¡ì\7f8\e¬{A7¹\9e\8dQI!ÍÙ·?^è¾x\92'ÞãëX¢ Y¤j­\9b\1dk6wÅëY\8ezßeO³¤tLÍÜ\ 3yïÊñ\1d+g\8c`î2 tz%.é´x\87gÑ2âêM\98#j\17ïÄwcTÒH3õÉË\87P\7f¯\9f?\8e¹\84¶xr.õ3\ ei<wÊ]4µ\9e½h*¥GxþhwIÞºt*\96¢$\94%ñºa#±f/ Ç\8b¦ÈaÛ³7\1fÇwMV\12UMNÖ²\9dÏ\99\99\8b¥ÍAÕ\9ak05·\1c¦üÜ\12Óç\84\a7áE\9a-\98\99\9bò(Ï%pçò0|\ f\9b¾b\a^ø§ÿ>ˤ\91V§jì÷Î^\16ÏݲL;kq÷\ 4\98\9b\9b\99Ã\88¤µuJ\97´4¡\f¯Y\1eصYM\99îõÏ4I«ïèîÆÝÑm\88^      $U\87ã\9d©¾X\95M\1fÖ\v/£Ñ¹þ\99"i­ÛØÙ^      Ì       Ì\94¯^²M\ 2 *Û»vÞX¼þYjo\16Y\8b»'\90\1cÖ"'0ÏÝ"á;ÅÇ\96Ô¡Ìÿ¶ÎõÏæ\90µÔǪ+ÕoÇ^\8eh\98\7fتL÷úç²É¸GÜ\b¤Ù\9cåÈ6\88Øe\98!Ç_­\16/\8f\98Þ\b\83]\9b\9bK\ 1®9K\8e9\v\86\1c   \R\9btU3¡ì®÷±í˧\ fïm6¡L«+\ 6\99<Ù~ü\8a!ÆY\7f9û&U\19\ e\8eéß©qu¶*£\9cª¹\eó\1c¤5¹V êDm`û&½?Ì"U«g\8cØÁå\96#\86jjôGÓÎçÎÅÃ[ñ61M\1f\fó íÀ\90^¼åÈ%ö\16\85\12Éêº÷GM\1a/ú>Ê9µS)²jKyS\19×¾\8a\90\9e´xóá\8bÌ¡\ e®Ã½v\87ÅÄ\8b\80ë\1c\99ã\8dÀx\83z\9fv¤þÎK\7f'\1d³»JP\8e¹£vѦ\83Ì%<¡áä\12\ 1,ÛN3\1e\19èÈA§§ò\ fæ6ñ\8b\12\1d\ 1\83\8eªÂ2¶ìR5Í=ïÌÔ7^\ªÞóî÷ü-¹\18\e¯Ò\8d\8cd\9aý2­SµD\10£Ý\1fVG\fLãQÒX\18/\99~óôþ\8d³\a7/\99:\8cܬ]Ú\1cH³K\97LwÍ\89¸yðÚ½'¯Þ\85\1aú\1dÛ\ 1ã¥à\11\11ØÙ\99\88 \8e\f´Ä\0\82`þÅv\84Æ>é\1f\ 2\9f=¼í}\82Ü\15En\99.\85æM\9f\8d®\85ë ñóÖî>~ÉÇïé«·ï\83?~ÂÎÏ_¿~û\16\1a\8a\89\b´dÀ\b!2J#\ 6\ 6¤\97p\ 4Ó,<èõ³\87\9c\ 5;J²w\95R®NØ\e\1cr°ÛD»\r\1c;gå¶Cg¯Þö{òüÕ\9b·ï\82\82Þ\7fø\10\1c\1c\12òñã§OØüZK\ 6\9c\10P
+j1 "H×èÐo_>\ 5\a½yñä\81Ï\953\87¶¯\99\8btWÄ{;)´n\8aE\9alG(R
+H7ïÒ\7fÔô%\e÷\1c;wåÖÝ\a\8f\9e\ 4<{þüÅËW¯^¿~\13\18øö\1d\8a@G\ 6¬\10@
\18P\ eðOÒ\1eücðû·¯_<yè{ãÒ©\83Û×.\9c\7fWrí³ú\82VJ\9cµH\97¬ ¨Ù´\93ûÐIóVnÞsäô\85+×oÝö½{ÿÁ\ 3¿\87\8f\1e\7f\12\10ð\94\88\0eðF#\ 3\10\ 2H\81\15\ 3Ê\ 1\7f\f    ~\1f\ 4\8c\9fúûùÞ¼|öØÞ­«\17N\eåѽmÃ\1axÿq>*ýªb\91f¯ê\90ÕhÔ®çÀÑÓ\16¬Ú´sÿ\91\13§Ï]¸ä}åêµë×oܼåsû\8eïÝ{÷ï\83\b@\ 6þj\19¼xù\92±\ 4\14\ 3È\81àmà\9bW/\9f\a<ö»wûº÷Ùã\avlX>wòH\8f\1eí\1a×R   ÉýÞɾ[Û ¤ó\16¶+'©Z¿e\97>CÆN\9b·lÍÆm»öî?xøè±ã'N\9e:}æì¹ó \81ËWP\ 6 \ 2V\ 6÷\88\1d\80\1481<\rendstream\rendobj\r1155 0 obj\r<</Length 65536>>stream\r
+}\86x\1aðÄÿ\91ß}_\9fë\97/\9c\7fÇÆ\95\vg\8c\1fÖ¿{»&µ+\89\1dìÈýõ\19h\ e88óÆ\96þBU­Æm»õõ\1c=iƼÅËW­]¿qóÖmÛwìܽgï¾ý\a\ e\1e\16ÁÙó\17.^B!\½F\f\ 1,\ 1Å\80r\0Üõ½ãsóú\95KçO\1f;¸gÛ\86\95\8bfM\1a9¨w\97Ö\8djU\12\97+Y´\80ñ;\9a'\8a4^OR¬tyYÕºMÛvëí1tÔøÉÓgÍ\9d¿pÑ\92¥ËV¬\µzÍÚõ\e6nÚBD°K[\ 6 \ 4\90\ 2c         \aoïË\97/{{_ºpîÌ©ãG\ eìÙ¾iͲ\ 53'\8dòìÛ½}s\97\1aJ\11p\ 6ã6acÜ\ 4Hg¶É\95¿\88\9d½PQ½^\93Ö\9dº÷î?Èkø¨1ã&L\9c<eê´\193gÍ\9e3oþ\82\85\8bA\ 4ËQ\ 6kס\f\88\19\80\10P
+D\f\87@\ e\88#\87\ fîß»kû\96\rk\96/\9a3müHϾ=:¶lT»ª¬¢½\9dm\81<9À¸©*\9a\9f-GÞ\82ÅJ\95\13)ªÕnЬuûή={»÷\eà1hð\10¯¡Ã\86\8f\1c5z̸ñ\8c\b¦£\fæjd\0B@K`İe+`Ë\96M\eׯ]µ|ñüÙÓ&\8e\1e:н{ÇV\8dëVW\8a\1dË\b\8aäÏ\r\9c3\9a¨ës\82¤ÓgÊb\93+_áâ¥ÊU\94Uª^»~æ-Zµmß¡S\97®Ýº÷èéÖ«·{ß~ý=\ 6\ e\1aì\89"\18ÁÉ`Òä©D\bh D\f\8b\16/A,^´`Þ\9c\99Ó&\8d\e5tP?·®í[6ª[]%©`oW´P¾\Ù³"gÊë:¬}gÍ\91;\7fáb%Ë\96\17J\95\95«9תSÏ¥a£ÆM\9b5oѲU\9b¶íÚwèØ\19DàÚ\1dEÐG-\ 3´\ 3"\85QcÆ\121L\9a<yò¤I\13Æ\8f\1d=bèà\ 1înÝ:¶nÖ 6Pvr(U¼p\81<9m²dÊÀp¦M:\1d°Î\96#w¾B¶\82\92eËU¨(\96Ê\95ªÊUªV«î\³Ví:uëÕwiаQ\13F\ 4­µe\0v\0R`Ä0\0å0ØÓsð \81\ 3ú»÷îÙ­sûÖÍ\1aÖ«YE!®`_ªx\91\ 2y\89\9a!\86Ñæ\f¤\99ËI²dË\9e+oþB¶ÅJ\94,]Ö¾\9cc\ 5§\8aB\91X"\95É\15
+¥ª\12\11A\8d\9a±e\80B\0)°b\09tsíÖ­k\97Î\1dÛ·iÙ¬±KÝ\9aUU2aù²%\8b\17)\b\94³±j¦Í\99¹º!mú\f`á69råÉW P\11Û¢Å\ 5%ìJ\96*UºLY{{\87r\8eåËs"@\19\80\bX\19 \1d\80\10@
+D\f\8dA\ e\88¦M\1a7t©WÛ¹Ze¥TTÁ¡´]1Ôr\ e \9cÑ<(³ª\ 6]gÌ\94%«Mö\9c¹rçÍ\97¿@\81\82\85
+\17.bk[´X±â(\ 1V\ 4eA\ 4 \83
\fÀ\ e\88!\10K b¨áìì\£FõjU*)åR\91Sy\872vÅm\våÏC´¬¶lê\9cÕ¬AÙ\992gÉ\9aÍ&{\8e\1c9såÊ\9d;O\9e¼yóåËO$À\8a (\8a\80\91AiF\ 6 \ 4Æ\12P\f(\a\80X$¬èT¾\9c}\99\92%\8aÛ\16.\90/wN\resP3A\1abáH\exgÊ\9c9K\96¬Y³eËfc\93=;
+ gl\11\80\bAP\823\ 5\90\ 3 L\99Ò¥ìJ\b\8aÙ\16.\98?o\9e\9l²f&\86mF\94ÿGX3´Ó¥K\ fÌ3d\ 4dBú(\0\90@l\11\0\84\0R`Ä@ä\0°µ-R¸PÁ\ 2H8gv\9b¬Y b\9b\1dåÿ1¬\816\12OK¸#ûôD\0zD %\ 3\14\ 2#\ 5"\ 6\90\ 3 oÞ<yrçÊ\99#»M6`\9cÉ<)\13¤añ\1f\87´i5\12\88%\ 2-\19\10!0R@1\80 ð\1f66Ù\90/!¬flv\94ÕH£\8bØ"\88#\ 3F\b(\ 5"\ 6\14\ 4þ3S¦\8c\193 aÂØ¼)ÇB\9aøD\10K\ 6\9c\18X9dÀÿL\87|9©\86q\Ä/\ 3-1p ?L\93Ê\19ÇEl\19hä ù3íw4\ 1¬\8a,\ f\1e<xðàÁ\83\87^\94.]Ç£gmW/W\9bvõmJ;»ÈºÂ\9f\ eñró´ibSºkEgO¯Úî=¼Ü\az¸z\8e\14T\82\1f\89\ 4\15[¸¹ö\17Ø3\1f\13À'\ 4M=Ý{»{À\ f[öpíïæ (\ f\9f«\fÿ·i­ÿ\19öB'¥R)\92\b\ 5B'!\81ö\7f(\94R©\,\90(ÅN
+¹D$\93\bdr\95\ 3þ\9a\93\(\11\8a\15\ e\82\8a-½<Ý=z\vì\9d{\ eìîÖ´{_·\1e^\8d]ág#\98/¯Ø®q£Ö.µ\ 5\95\ 4ö½¥"¥¸«¸«\83 2|ÜE$ì
\ 3\7fÇ~PûÍ\ 4\15\9b\fôjáÖc gO·\9e\89ùkû\ 1ä;;±|Ä*¹ª¼\10ÿÇr\10ÉÊ«Y\94\a\12øþ\84H'\a-\ e^\9e®\1eCz\rô\1cÀ
+N`ß²M½®Î^ð×Ý\87\rÁwÐù+­\1f \90\85\ 2\91@Hþ×n¤\rùWO\e¹ÀÞAЮ-üµPàì\ 6ÿ\1a\1aû?\9b\92\7fâo\8a\99ß,ÝU.UÁ\8b\v\15
+\91\©T\89\ 2'\91\*\12ÉdB©B)R   \ 6à§äR'\99X\ 6\1f\92\89E*\89@*rRIÅ"±R¥R*Å
+\85\0~î¤\12«\142\95\92©\ 42\ 5<\ 5\9e(\ 1\ 1        e"ü\80ÔI)\13K\14ðq\91\,\16ÈåN29<Q$\92È\14J¹RP\v¿\a\1e#\97¨ä"\89
+\84)T\b\94B'\91P\ 4/$\86'+Å\12\ 1NªÊ¥J\90\b¼\9f@%tR\89Ä2©R"\16Ã\aä\ 290\10\8aåbx?¥B\f¿"\12J\9dD2\95L&U     E
\94ù&\89ØI\ 2\ f\83w\94K\85\0\18;)$"¡P©À\9f«à9\12x\ e²V*¥J\99\0¾ÄI*\91*àuD29<F.V:IU2x}©\ 4\ 4\ 5\8f\90(\9c@(R9ð\91Éd,%±ÈI¬\14Ê\85È        ^E \92Ê\9cT
+\95D,TH\95
+!¼°Hî$RJà-d
+±L©\12\88dð+R©
+\1e®\14\a \ f'\91X!\14\ 2\1d        ÈP \92\v\9d$ðV q©P\ 4\9f ß$T:É\94ðú*\95\14þ¡\14\88\14b'%|\8d\ 2,S!WÁs\842'¡\1c~\ 4¼\85J!pRâ7)àÙr\99
+\95-\17\829¨$ )±T\88
+\10©@N ;°u\99\bDÁ|\93H\8c¢\11ÊÄJ\85\b^C \86\a\83R\85\12\95B!\97Ë%\f'\94\9dB\ 6\1f\81\1f\802\9c¤J\10\82\f\94       æ\80\7f\14ªàïDJ9|·@,\119)@<
+\95\18d%\15³²\ 3³\ 3M\839ª¤økb\89Ê   \14-\87×\ 5ê\8c`dr\85\14´«\92\80M\b@~N \1ex\11¹\ 2l\ 2¾H\f¾\bZ\ 6ã\90À\8fä\ 2±\1c\f\béÊÀ0åR\19ûEàÍB°\1eø\16  
+F\fJ\92H\84"4P\15<\1e\9e#w\ 2\93D\e\ 2ÃRà7\81¤à;¤b¹\ 4\1e%\12 EÉäB09)X\84\10(É$`\ eR\99\1c\\0\14'bíNé$Á' m\89\b\9f\ 3\12
+\91»R"TÂs\14NB¥J"\92\80ÌP\ 5b0\a%ÈD\ 5\1f\ 5Ú2ø\84ÊI\ 2²\97Á\v\8a\84bü&0\aô"!ü\1ah\9fù&©\14\ 4Õ)àïÀãÀ'@û"P¼P\8ej\ 3_R\80\15\81yHeB¹\8c¼\vØ\19ü\1dü\8e\\ 5B'Þ\ 6\7fT\8a\95 B0\b\90\8b\1cÕ\ 4\8f\ 3ß\86ïb9¡\16\84\12\91\14ì\fÌ\1e,ÔI&\93@4\ 4\93\96IÁÂÅ
+'\95
+\r\16\f\ 2¾D\0â\0§\0§\ 4\19\83\ 3*'¡
+|H\ 5rV\88\81³H\ 4ïª\ 2!\81\1f\88\15\9c9\80Q\89 XA\0\90Èå"0_\ 5\84\v\99P ¿\ f!\0Ì\ e|\14b\90\14,\ 6Ô\ 4J\11Ax\0é¢õ+AÛJâÕ\10µÄð\ 5\vð\1101\bZàF \ føfFt\10ßP¸\10à\84àæàorР       \b\1cã\90\fÍ
\0î'\ 2:ð.ð~ 3x\15 8\94\18c\17Ä7\19|\ 2¾\14b\9e\8a<\18¤ã\ 4\1e/EûW©Ø/\ 2#\ 2¹HT\10\1c BÂûB8\ 6\8f\95)E
+       h\ 5¾H)\83È\8bÏ\90Â\ få\10\1cÀQd\18[%`¾*t%\8c¤`a ]ð|\15<C\ e¿\ 2\ 6SW\82\8b1ß$\97Àë(Àa J\82H\19â@E¨\92J\14`æð $ð\1c4=9Ä\0\90\0\ 6%°N0rð\ 1ÈfR\88Gbô\e0\1c\90®\ 4ò\80\bc\15¤\ e\11kw
+%ø(Ø\14¤@¥\b\ 3§JI|I\ e\92ÄØ#\90cL\81ß\91Ah\87p*fÃ\87\10ì\ 5¼\14\83\14\\aR\ 5¼¬\18?\ 1ÊrR)1\1c\ 3E!«&\85\84¡\16¸©0îÂ\e\83\9aÄ\90\1cÐÆá\95\ 5`ªhòJ\ 5*   Þ\ f¤
+\99\193\92
+r\ 5¼\eÄ_ð-\ 5ø\9eB\85é \84'ÂÀ\ 4¡B\ 5¹@&e¿Hæ$V`\84\ 4\8dKPx \\91\ 4ÍP"T\11Ã\ 3\8e M` Â\81¯\ 6E\8a\9d¤ 00>\88\83Jò&\90\14àeä*P&\9a\83\ 2\f\11ü\1eR/\ 4*    óEà\a oð$|A´_P\9bX\bq\1e¢\88\10¢/\98\e\86cx\13   \1a\ 40\92)\89!*e* \r\99\18B\ 4\98\99\14ÞA."\9e\ 3\ eã$W\89P\1fðErVt\10\vÀµ I* 2\91L  ¿¦\82ç*\80£\0\9c\f2\ 1h\bµ/!®\ 4ï\ 6Z\ 4s\95@j\82w\81ô\ 2µ\19\b\ 2\1aAÑ2ü*¨\82@6Ì7\819¨0Ã
+1\10Al\82¼í\ 4\7f\8bÙ\1a"+X\91B\89\99W&\16\82y\82ïC\88\86H*\82Ú
+¢ ~PN>\81\99[\8eq\b¸\90ð,\12c\ 5\0®\8br"ß\ 4Ú\aE£½HU\90C!\9ca\1d\ 6a\ 52\99X*\11Ã\e\94CR\85°\rE     \84\199(\ 1"\9b\ 4l\ fLZ\0¦\ e²\92Ë\84h!
+%~\0\f\b$\vª\84\9cÊV)ø) \aÒS\80\853O\ 1¥\82ø!\19À[@Õ\ 2\81\15T\ 5\ 1\eÒ:\86^\ 5ÄQÈ\1dèÆ`røE\10\1d ¸\83\83ÀËA\ 2Çà\fqH\82¹B\ 2q\9cý"\88\82\98\98«0\15\80\97\0\ 5ð:\19\18\ 1¸\0$Z\11${¥\14\9e£\80¯\86H\8dz\ 4"2x\17\f]P\9aÀÃ@\8d\12\92\0Áe@ò2à%bd\aþ\ 2µ\83
\ 2\10\11\92\96 £Ay\bò\ 4Þ\90ºA2 &\bµøl\92s01\ 3_0,ÈÅ /È\90\81T\84\12&CJÁ\ fT\98¹dbÆ\95@\81`ÐRø\16\89\10\94|\11ú´\10£
+d!ø&\90\ 4ü\12:!¤\0xaHd\12LÃB\89\ 2+\ 3|\15!èB\ 1&\ 1Õ\eH\17r*Ú\86\ 2ë\v\91\96\1d|B!C\ f\ 5ç&9\a\\v,\fl\vÌ\ 2¬J\ 5é\ 4þ\1a\8cS\8cµ\ 2T\1e`@@F\84\81\1eB"\90Áò\1dä\vy\16Æ\14à\ 3"´;ø Vs\9c9\80È\95BL*\10ý1¯\824\9cà\ 3¤Þ\ 3£A»\13A$\ 5Û\90I$\18OÁ­Á\aDhÝP)\80­\11o\ 3\9f\ 1\93\87W\ 4\ 5\83_CF\84¼©\80O\81çË\99o\82°\ 3\99
+k<0j|\1f\b"\18< CC|\0«Q`T\ 1CP`É\84ù\ e¢\14\b\vªF´\ 14!\ 5
+\v¾
+
+\ 1\ 5Ö¬XÕB\10\ 13\81o\96°\8cÄ\18ÂUPE\91Ý\r`D2,\8f°V\ 6ÛÂ\14¯À\f \82\84ê\16\ 4\ 3¿\ 69\a\92\19D7\91\ 4
+Wø\0X*üAIÂ!\84\1e\81\14R\ 5|\14T
+\15([\fa4#R\81xG\8a!Ìm*!ÖY0\86\12ËámÁÑÁ\83!!\81¹b¡+Áê\r*<Ì\97 mȳú\a0ð¶ `1\ 6\8bZ\89\1aæ4\82OÕìN\ 6HÌÿjö!#_ûÖ\1e\1e®\ 3`ð×ÛÓµ§»\9b\87\17\88ÌAP\ 1
+ipW\19\16EP~`¡\8c¡\ 6
+\0\87\13\90ñ­\12\93\ 1\9a\138;H©\ 2¸\bÔ?BÈí0p$\91\v¿
+~¬\82è\ 6\ e\0öÍ\ eGÐÂ\9c°,\83\88*ÅÔ%Ç\94¢\0K\94`R\81O\b\867¬ \80_\ 6qÁÀ\ 5ësø$>\11ëz¨%Àè "\ 6Ícº\87x\ eµ)\14)Rp\15\18_C\b\ 5e( ÊPañW\13\a\88\0jÖÔ?\86×\1ab\ frõê\ 3\1e!×?ÄV\b\80¤Èȵe\1f×An­F\ erKÔèÛ\90\12"\93\16Ì\14\ 1<Y`_ËÙ¥\1e«ÄV8öÖ\9e=¨ÌÎ+tuvQ!\95\96^#û»uÕ¼«ÖØ\9b\19\80[\9fÁ\88\rk0\f\9fDá¬z4£ýø'\àùJ\14 \9e     \17ö¯*@\ 1è\84\11\b
+Ì<\ 5ÖtPÿ\8b\94I\9er\91&b¾EÏ\9fµfTÈ[       ¹       \15îOê\97,_A¾\1dyS\89A§T¸©\11!75ÂN«$NÔ¦\9dÛJ± éL]\81è<]Ùwqv\118\ fõ\1a(`¦\14ÝG¹i¾"\8e?6í>ÄÍs\98[Ï®\rÝFve>4Ä\10syÿøëvUù¹4~.\8d\9fKãçÒø¹4~.\8d\9fKãçÒø¹4~.\8d\9fKãçÒø¹4~.Íðsi]åñìXI`:\8d\9dº0\9f9 xI\18lÛMj\98$R©ÿÔÎ\91Ì=³ȶ©\86n#uäÖ¢N]\14\1düÁ¥vW%#:ü,ûWê\8fWÖþ\fû\ 3Gg\97®ðÙºîý½Ü<uÞ<\11S\99ÿ\9c,"Ï\10à»0_ ¨Ó«\97\e~\87Z\98²Xßçâ1ÄËÕ£\a|\97«\97kWxׯ®\83âù²øÉ×\19áÖc(~V\9f\bb\7f#2Tÿ\82î÷k)\r\ 2\8f³\a<\10Ê\16¢\142\8f3ÔF3¯\8a\9aÄ\8dp@Ô­\12ó\9f5Ýz»{°»â@\95ð\99z6\15\rsïáÖ¢^MA»&6\1dÕ¿.Q*\9d B\84ÚT\823\b\90e±¼\ 3ï\81òC\8a9RÐ\19«,¬'ÐZú$ñWñ\93ܯsÿV
\fA "\ f\92
+H ²)]\9a¼5²¯\ 4    \18\82\9dÒ¦\9dK\96$·vãÁ\83\a\ f\1e<xðàÁ\83\a\ f\1e<xðàÁ\83\a\ f\1e<xðàÁ\83\a\ f\1e<xðàÁ\83\a\ f\1e<xðàÁâ\91øæ\9b´ß\94\a\8f\7f å\1dfi3àÁC\ fRnؼ\91ó0O\18Ö¶y\vça>0\86móFÎÃL`Tóæí\9c\aE\98ƶy#·H\98¿~MlÞf(\ 1\1eIEjQ´QÍØ\9c\89óH6R\91¢\8dd½fÎ\9a\91\8atmp£M\15¬y¤\ 4©E×\86µÕTA\99\876\92¡\9aT¤ëd¿ª¡`zÊ<\18X¼º©\10\8c\vSRæÁÀ\1atM\8bc,\98\922\8f¿´õn%4Õ0\19_\1e\f¬DÝtiªa2¾<þ\9a\81Ò­\84¦\1a¦áË\83\ 1mmóæÍÃ\88 ­m\84\95Ðd`\ 2²<\18ÐV5\vëaú?Þ¼M\bÚªfÁ\93åa\fÐV5\v\9e,\ fc\80¶ªYðdy\18\ 3´UÍ\82'ËÃ\18 ­j\16ÖCÖ4Ly0 ­m\16ÖÃ×dLy0 ­pëÚUeJ²<þZ\9fÆ­\8a,\ fºê6½Æ­\8a,\ fºê¦¢q«"Ë\83¢ºiiܪÈZ9hé\9a¢Æ­\8a,\ fZꦨqkãkÍ ¥kºê¶6¾Ö\f+Ôµ\15R¶fX¡®­\90²ÕÂôº6\au[\e_k\86\89um\ eê¶6¾V\ e+T·\15R¶fX\9b®MÉ×L([9¬MÝÖÆ×Êa\85ê¶BÊÖ\fkӵɸ\9a\ fek\86\15êÚ
+)[3¬MÝ&ãk>\94­\19V¨k+¤lͰ6]\9b\86¯¹±¶ZX¡¢MCÙÜX[-¬MÑ&àk\9eÄ­\13V¨hÓP67ÖV\vkS´        ø\9a'që\84\15\ 4\94Í\93¸\15Â
+µl\ 2ÊfËÝ
+a\85Z6\ 1eó$n\85°B-\9b\80²Ùr·6X§\8aMÀÚ\9cé[\ f¬S¿&`mÎô­\aÖ©bÓ°6[úÖ\ 3«Õ¯i\88\9b-}ë\81uê×\ 4¬Í\\ 2V\ 2ëT®      X\9b¿\10¬\ 1V«Y\13\107\7f!X<¬V¹¦!næB°xX­fMCÜüå`Ù°fµ\9a\86\10Å?\91J9\1aI\89fËW\e¦á\9e*D\11\1fR;e\83¼¿\99s\8c\ f&ãnþ¢\88\vË n\f\16fB-10\19\17\85\1a\96$\ 1\13p11£$ÁdôS\854þZÜz®%qI\ 6LF\9f\97\ 6\15QX\f\91\94\120giÐ\92\83Q\ 5\92Úß?å0¥\ 4ÌY\1a´ä\10\v©\97\97ÁßÜ 0\19}s\16\bE!ÄE*¥fØ×6 L&\ 1³\95      E       Ä\87ÔHÍPïlX\98R\ 2æ)\10\8a\12H\0©\8e\9aA^Øà0¥\ 4ÌP&té'\8cÔÅ.åok$\98R\bæ&\13\8aÜ\13\83TÄΠê0\ 6L)\ 4s\13\v]îÿD*bg\10u\18\ 3¦\14\82Y\89\85.ñD"\15\114\94^\f\ e\13ËÁLÄB\97\91Z\b\1aP5\86\85\89å`&\92¡M:±H-\ 4\r¨\1aÃÂÄrÐ\v\9c\16\8e\86Õ\91\ 1azQÄ\85µñM<R\vGÃêÈ\800½(ôÂÚø&\1e©\82£ÁÕd@\98^\1azaUd\13\8fTAÐ\18\9a2\14¨\bD/¬\87\91*8\1aCY\86\ 2\15\81Ä\aëa\9a\16\82FR\99A@Q,za%4\13\83ÔBÐH*3\b(\8a%>X\ 3ÇD"U\104¸¾\f\vºÂÑ\v\8b'\98
+\82\86U\96ÁAW8       Àâ      þ\13©\82\9d¡Ôd$Ð\16OB°x\82        #U°3\88\8e\8c
\12J\b\16\9fH\15ìR¨ \13\80\84þ\ 1\v¦\960R\ 5µ\94hÇd -¤\7fÃRy%\80TA-yz11h\v)Q°T^ñ!UðJ®Å\99\1a´å\94(X$©ø\90*H¥ÌèL\aÚrJ\ 2,\92T\¤
+F\ 6²>S\80¶¨\92\0\v££\17æOÊ ÖgtÐ\96VÒ`atb!U02´\ 1\1a\1d´\ 5\96dX\12\17
+:F3Cc\81¶À\92\ 3Kâ¢Fªàbdc4
+hË,9°\18"j¤
+.Æ7F£\80¶Ø\92      Ë`ÁÀü\89\98Ð\1e\r\fÚ\92K>x\16&\83iMÒÀ -¼ä\83§`\1aаJ\83\81¶ðR\8aTM!U¨\80ªy\1a\0´åg¥H\15ò§h\96\ 6\ 4m)Z#R\85äé\9a¥¡@[\8aÖ\88T!vÚ\86i0Ð\16$\ f³\ 3m\9340h\8b\93\87y\81¶=\1a\18´ÅÉü@Û\1e\r\ fÚ\12åa. m\89Æ\ 2m¹ò0\vÐ6Cc\81¶\y\98\ 5h\9b¡\11A[´<(\83\ 1\1a\1d´\ 5Ì\83&h[\9fÑA[À<¨\81¶é\99\b´ÅÌ\83\ e\9dé@[Ò<(\80¶Ñ\99\ e´%ÍÃÔ mq¦\ 6myó0)h\9b\e\ 5Ð\169\ f\13\81¶¡Q\ 3mÁó0\ 5h[\19\16<\ f£\83\89Q\ 6mñó0.hÛ\17}ÐÖ\0\ fc\81¶e\99\ 5h+\81\87±@Û²Ì\ 5´õÀÃð mSæ\ 5ÚÚàaHж&s\ 4m\9dð0\f\91\99\82¶Zx\18\ 6´íÈ|A[3<R
\16dî ­\1f\1eÉ\amÛI\1d ­%\1eÉ\ 1m«I5 ­(\1eI\ 6m\93Ie ­.\1eI\ 3m{I} ­1\1e\89\ 5mKI­ ­7\1eÿ\ 6m\eIÅ ­:\1eÿ\0m\ 3Iõ ­@\1eñ\82¶iX\b\91\87~ж\vË\ 1mMò\88\rÚ\16ai ­O\1e: m\ e\96\ 6Úúä¡\ 3Úæ`\81 ­R\1e,h\e\82Å\82¶by h[\81%\83¶nyðæm\ÐV¯µ\83¶þ-\1f´5l½ ­yk\ 1m=[)h«ÝZ@[ÏV
+Új·"ÐVµ5\82¶Î­\b´Um\8d ­së\ 2mm[\17hkÛê@[áÖ\ 5ÚÚ¶:ÐV¸u\81¶¶­\ e´\15n] ­m«\ 3m\85[\11h«Ú\1aA[çV\ 4Úª¶RÐV»µ\80\9e­\14´Õn- ­g+\ 5mµ[\ 5h+ÙzA[óV\ 1ÚJ¶^ÐÖ¼U\80\92­\17´5o\15 ­dë\ 5mÍ[>hkتA[ù\96\ fÚ\1a¶jÐV¾\85\83¶z­\1d´õoá ­^k\amý[8h«×ÚA[ÿ\96\fÚºå\81 m\ 5\16\vÚ\8aåÁÛ¶±@[±<\10´­ÀbA[±<\10´­ÀbA[±<\10´­À2A[«<XÐ6\ 4Ë\ 4m­ò`AÛ\10,\10´UÊC\ 3Ú¶`\81 ­R\1e\1aж\ 5\v\ 4m\95òÐ\80¶-X\1a\93\87\ eh\9b\83¥\81¶>yè\80¶9X\14h+\93\87\ eh\9b\83¥\81¶>yè\80¶9X\14h+\93Glж\b\8b\ 2meò\88\rÚ\16a9 ­I\1ez@Û(,\ 4´ÕÈC\ fh\e\85å\80¶&yè\ 1m£°\10ÐV#\ fý m\17\16\ 2Újä¡\1f´íÂ\12@[\87\83¶]X\b\91\87~ж\vK\0m\1dò\88\17´M#Õ\83\ 2\vÚ¦a        ­C\1eñ\82¶i¤zÐV \8f\84@Û:R=h+\90G¼ m\1a©\1e´\15È#!ж\8eT\ fÚ
\91\10h[Gê\ 6míñH\b´­#Õ\83\ 2y$\ 4ÚÖ\91êA[\81\ 5mÓHõ ­@\1e      \81¶u¤zÐV \8fxAÛ4,\ 1´uÈ#^Ð6\rK\0m\1dòÐ\ fÚva! ­F\1eúAÛ.,\ 4´ÕÈC?hÛ\85\85\80\1a\ 1m£°\1cÐÖ$\ f= m\14\16\ 2Újä¡\a´\8dÂr@[\93\80¶QX\ ehk\92Glж\b\8b\ 2meò\88\rÚ\16aQ ­L\1e: m\ e\16\ 5ÚÊä\11\e´-¢@[\99<b\83¶EX\14h+\93\87\ eh\9b\83¥\81¶>yè\80¶9X\1a\93\87\ eh\9b\83¥\81¶>yè\80¶9X h«\94\a\vÚ\86`± ­X\1e\bÚV`É ­[\1e¼y\e\17´Õkí ­\7f\v\amõZ;hëßòA[ÃÖ\ eÚú·pÐV¯µ\83¶þ-\1c´Õkí ­\7f\v\amõZ;hëßÂA[½<x\v7"hë\96\a\82\15X,h+\96\a\vÚ\86`\99 ­U\1e\1aж\ 5K\ 3m}òÐ\ 3ÚFa9 ­I\1eñ\82¶i¤zÐV \8f\7f\83\8d¤bÐV\1d\8fÄ\82¶¥¤2ÐV\17\8fä\80¶Õ\98;hë\87\87a@Û\8e(\83¶øy\98\ 2´­ÌÀ -N\1eæ\vÚ¶©\1f´¥ÂÃbÁ[,\ f\1e<xðàÁ\83\a\ f\1e<xðàÁ\83\a\ f\1e<xðàÁ\83\a\ f\1e<xðàÁ\83\a\ f\1e<xðàÁ\83\87YÁHÛ;yðàÁ\83\a\ f\1e<xðàÁ\83\a\ f@\1a\82ÿþû\8fü\9böÛ\18\1d\1cÛÿÒ¦M\87H\9b\16\99Ó~+£\82ðEºé3dÈ\98)SæÌ\992fH\9f.­EÓ\ 6Îi\81oÆL\99³dÍf\93=GÎ\9c9l²fÎ\98>\9d\ 5³\ 6Îé2dÌ\9c\15èæÊ\9d7\7fÁB\85\v\17Ì\9f'§Mæ\8c\16¬lä\9c9[\8eÜy\v\14*RT`Wº¬½}\99\92Å\vçË\99-S\ 6\ 2y\83mgÈl\93»@\91â%Ë8\94¯(\96)U*\85¤BYAá¼9²\12Úf­î4ÉÊ4iþK\9fÉ&w!A\99ò"y¥ªÎuê7lܸAÝê\8a\8ae\8a\17Ì\9d\1dh§7_#gS\ e\93c\93ô{i3dÍYPà ®ä\¯QóÖí;»öèÑ­c«\ 6\15J\15-@h£\91\eë½S\ 2\8cÀl\8aM\9a9\82Gg²ÉWÌ^ZÍ¥E\87nn}\a\ e\19>räpϾÝZ¹T\93:\96DÚY2¦3KÒÈ\19\93N&̰I1Gô謹
+\95\12Vmж{¿!£ÆO\9d9wÁ\82y3'\ eë×µE½*\92rvEòåÈ\92Á,Y\83¾ÒgÊ\92ÍÆÆ&[\164ÇIJ\ 6ãN\9f){¾bå\94õÚô\1c<fêÜÅ+×mÚºmËú\15ó&\rsïÔ¬N¥\8ae\8aæË\9e9=}Òi8¨\7fÀe\9d|ù Á\829¦M,éÿÒeÌ\9a«p)Q\8d\ 6\8e\9bµtÝÖÝ\a\8f\9e8yüðÞ-+çN\18Ò«}Ãjâ2ErgÍ\98Ø\a\1a\v$d¥M\8båñ\7fì\10!m:Ì:ù\v\17-^̶ d\9aÄ:!\1aw\96\1cù\ 5\8eªúíÜGÎX¶i÷\91S\17®\¿qýê\85\13û·,\9f5f@çÆÕ*Ú\15È\9e\89²}3E#TÉ\19Ò§Ç\91\ 1)\993eÍ\91·° ´\83c¹²v¶è\84\89Ó\fIWymËJ\9c\9b¹\ e\9e¸pý\9ecç¯Ý¾ÿðñã\87÷n^:¹wý\82     \1e\1d\e\8bäÊB×¾±hL\9f\11ªä¬Y³dÉ\9c        \ 1\7fÈ\9e+¿m)G±\©\94V(]4¯M"5\ 3é*KÎ\82%\9d*7hï>ræ\8aíGÎ_¿ûøÙ«7o^¿xòàÖ\85Ã\9b\17\8dsoíìT<oVʤ\89ûfÏ\95;O\9eܹræ\0ä\84\8a¹@\91\12öBU\8d:õëÖTU,]8W\96\f\89zIðh\9b¼E\1däµ[ö\182iá\86}§®Þõ\7fùöCÈÇ\8fÁA¯\ 3\ fo\9c=´K}IÉü6\894\1dã\80pF÷µ-V¬¨m\91Â\85
+\15.b[¬D)\87\8aòê.ÍÛ´kÓ¬n¥
+\82ü6\89\8a<\98£³\17°«X­qç\ 1cç¬Ú~ô¢Ï£\17ï>~ ýþ=ôëÇwO}ÏïY6Ö­±¢t\ 1Ú¤Á\vó\14*\ eî[¾¼£\83½½=ü\a\14Ì\95\9cë7ïØ½\8f{¯.-jËÊ\14Î\99\7f\89yXºÌ9\v\95\91ÖnÝkøô¥\9b\ f\9c¹vÿi`È×°ð\88\9f?ÿ\7f\7fýÈÚÉ}\9bW*[0;]Ò¤\96(QN¤¨\­ZÕ*\95+W®Zݹv½\86ÍÚtî5pè¨QCûuiRűhîDE\1e$\9d«\88½Ò¥ã\80ñó×í>á}ÇÿÕ\87/a\11Q¿~ý\8a\8aø\1eüüöÉ\8dÓ\a´¬l_(;Í\9cE\f2_ñr²êõ\1a7oÙ²Eóæ-Zµmß©[\8f>\1e^c&Ï\9c=kòð>mj \ 5\89\8b<DÓEìU\r»xN]¶íð\85[\ f\9f¿ûô="*:&æwtÔ\8fO¯î\9eÙ<ÃÃ\1cH\83A\96\16WoÔ¶«[\1f÷¾}ûö÷\18ì5|Ô¸IÓç,Z±zÍ\8a\ 5\93\ 6uÂÈ\93-Q\91\f\9e\96£pYE\83.C¦¯Ú}êê=0îoá\91Ñ1¿ÿüùý+âóë{@\1a4MÙ¼Á¥³ä¶uP¹´s\e4rÜÄI\93§L\9b1gþ¢¥+ÖlزcÏÞÝ[WÍ\1aæÚP^
+ÂmbH§I\v\81¬\94´^ÇÁÓVï={ë\11\1a÷Ï_Àùï\9fßÑ@úîéMÓû7W\95¡\eÈ\80tÖ<Å*T\83Zbü¬EËW­Y·aó¶\9d\1f<rüÔÙsgO\1eØ´`tO&Ü&\8et\86ly\ 5\15\9d\9b´|÷Y\9f'\81\1fCÁ¸\81óß¿¿£Ã?½ò=¹~\8a{SeéD\1a\8e\91@H\17wªÑª÷¨Ù+6íÜwèè\89Óç.z_½~Óç\8eï\9d\9bÞ'v,árL¢H\83áä*â jÜcä\82­'oú\a\ e\8aþCHÿ
+ÿøâöñµ\93z7\96\97Ì\97\8dfq\82o\99§\98S\8dÖ}Ç-ܸïÄùË×}|¡l|\12ðìù\8bçO\1fú\9cÛ³l\9c[#0ïÄ©\ 6Ç\e6ùíDµÚyL[sð²ßë\8fß\7f2\8a\ 6\9fþ\11òüÖ\91Uã{6\90Úa\4>¹\ 4Þ2K®¢\8eÕZô\19·xëÑ\8b7ï?~úòõÛ ÷\1f\82C\82?¼}vïÒ¾ec{À[æKdÝ\b#KPµ½ªQ÷\91\v\9f¾ýìý·\bÐ4C:,äÙ\8dC+Æv¯/.\917\v\10o3A¼%ö¸åØå»\ 1¯\82\82?}ý\16ú=,ìû×\90×~Þû\96\8evMÂ[\12\13\80éô\9b´ê\80·ß\9bO?¢0\8e\ 1騰à§×\ f.\1fãZO$È\93%1µ\8eÑ\90&-ØcIqÝ\8e\83g¬;ä}ïÙ»\8fßÂ"~FFEEýüñùí#ï½\8bGv©#,\9e;Q\15Ùÿ\88¿dÎQ°´´^'¯Ù\9b\f\b\ 2Us¤?\ 4\;°lt·ºð8ʤÿË\905wQÇ*Íz\8d]²ó\8cOÀ»Ïa?I1\11ó+âëÛ\87\97v-\18Ú±f\85¢¹2§K\à!ó\82¹mËUjÒsÌâ]çï¾\fù\1e\19MRVÔw$½tT׺I\90¡qÀ\8c\11JJê´\1f8m-\ez~\91b"úç×·~\17¶Ïõl[ݱH\8eLI\99;\ 1\ 3¯èܦÿ\94Õ\87®<
\12\1e\15ó\87\80ëDÓ¢â\94Íû\7f\8cf\1cT\8d\\87ÏÛrâæ\93wä%á-£#¾¼¹\7fvËL\8fVU\92T6\12\ 3/TZV¿³×\9c-'}\9e~\bÅ\0\8e\81,øé\râÓbðiª\81\8c\9d²\15T¨Ö¢÷¸%»Îù>\ ff_\12*¨W¾§6Në×,i\15\14\95\9bº\8d]ºçâý×\18Ëþ\90\94õìæá\95ãz¸HJÐMYÿ#Y\ 6BOIq­¶\ 3¦`À}ý),\12ì\e\8a\89O/¡\98\98ܧq¢Ó4û@bà%\845ÛzL[wäú\13&\96\ 1é\8f/|\8e®\99Ø«\91¬db3 Ñ@&ór\15.#¯ßyȬ\8dÇn<   úʽäó[GWOpk\98ø4Í=1=\ e«å\rº\8dX°ãìÝ\97\1fQ\8aD\88wN¬\9bܧ\89"iB4
+P3Ùò\14-W©q\8fQ\8bv\9cõ}A\ 2nLòÍ\91\18x\9ebå«¶è;iÕÁ«\8fß\81\14\ 1ÇF\18pT*S\90îÌ  yIÆ­¡\ 2\87\97<p\19\ 3î¯\98\98¨°dû \97\12êv\82XvúÎó`\90bLôÏ/\81÷Ïm\9d5°uU\87B9Ì`â\9b¸u)IÝ\8eCfo>éóìChdt4CZS+'i\15\8f\ e\95\9aö\1a¿|ÿå\87D\8aÑ?¿½{xqç¼!ík\94·Í\99)\91yßx@{$/Ù\ 4\ 2îÞK~o>\87GEG\81O3\81G\9eØ9\ 4Í\ 3ÿK\9b1\eIJZí\aÏÚ\ 4RDUGG\86¾÷¿²wñ\88ε+\16£\\9d°/      n\8d\ 3á¶\ 3gl8~\vs믨\1f\18xÖOí\v)«`âfCµ\1f\b±¬pYeã\9eD\8a\81 Å_\91ßIñ\r#\ eÆ_h«\9a­(Ê(\1av\1fµx÷Å\a êÈÈp\9cÞÙ\82>X®p\8e$\9ac\1a2\9dP\9cHqãñ[à0?£"àg\1d[;      Â7í9`î-IÀ­P£õ\80éë\89ª#"áö¾\88µw-§b\89\9b\rÕ~\1e\ eß\88\14G/Ù\83\11\19ù\ 3Ã÷f(ñª:$Y\8aF\ 1  ¸\ 5\1a¸\8e\aìñË\8f\9f\11¡ï\9f\;\0\8b\ 4\12uR\13+'Å6\1eÓ×\1fÓ\92âÎdJÑ(À\80\9b»h\85êm<fl<á\ 3Y&"â{Ès\9fãë&»£S'yÎ\96\95¢\1c¥H\1cF-űÝ\eHKæËf\16ö;dÃ\1ec\96í»üèÝ×ð\b0Ç{g·Î\1eÔ\ 6\86YIÏ1¤\ 4/V¡zë\ 1Ó\18U\87\83\14_Ü>\ e¡±y%ûBfaßìĨ\93s»Á³·\9cö}õ1,"üë»GÞ{\16\8dè\GX<O\92Í\91©PX\87¹\b\ 1ü\aHñÍýóÛç\ ei_Ólì\9b\84\9e²Ê&½&¬:|=\05\13úáé\8dÃ+Ç÷l(CsLê;r\ eÓÚcú\86\13\90«CÃ\7f|\rò¿º\7fÙ\18´ïüfaßÄ\1eó
+Du:\ f_¸ë¢ßÛ/?"Â>¾¼srÃÔ~dÉ-É\85#«j9\ 4ð¥{½\1fÁ\ 3Ã1J\9cX?­_\8b*\ e\85sÒÞ\8dÀ½dæ\9cEÊUmå1cÓ)ß\97\9fÂ"~|   |p~Û\9cÁm\93åÔÄaÀ«\9dÛ\ e\9aµùÔ\1d\18Ç\84\87}~óàÂÎùC;ÕÆå13QuF\9b\ 2¥ä\8dÜÀ¾o<\r\ e\8d\bÿ\16ôø2:uí\8aÉ\99Ëcbc\19ec·q+\ e\ fúúãÇ7\88ß\87VNèÕD         ÁLT\9d>K\1e\81°N\97\11\8b÷\~\1cô\rÂmðÓ\e\87\95\84\99o\9d\ab®.^±V\87!s·\9d½÷úÓ÷\1fß?¾ô=½eÖàvÎNÅò\98C)
+/\99.SN[Çêm\aÏÙvîÁ\eÆ©o\9fÀå'\9c1Júh\90ÄÆÂö\95\9a¹O^säæÓ\ fß~\84}yûèò¾¥cº7\94\976\17U§Í\98½`ÙJÍûNÝpò\ eqjÈ1gq\b\­\\91ä$V¬ÀóÙ\89ëu\1d±h÷%\18a\86ý\b\r\86P¶q\86G\9bê\15p¥ß\f¼:Í\7fð\8e%e\rÁ©\8fÜ|\16ò\9ddêK»\17\ e#\85c2F\83dk\82­cµÖ\10\eO²¡,ÐïÒ\9eÅ£\\eÈJÓßNF@\9cZT·ë¨¥û¯>y\1f\1a\ 1\99:àÚÁåcº»$s4Hbciy£\9eãV\1c¼ö$è\e\84²\ fOo\1d[?}@ëê\15À«Í!\80§\ 1Å\14­P³ÃÐ\ 5».=z÷-â'3\1a\9cܧ\892y£A\12\e!\94\9a¿ã<\14àa$k]Ü\8dª\ 6¯Îa\ eª\ 6Åä(\®j\9bA³!\92\ 5~        ÿù\83\8c©¹Ñ`2ÔBB\99\16ý¦®?îó\1c=\86¨zÃt\8f65\9c\8a\13UÓf\r\81Ç\ 6#Yÿé\eOß}\8d\ 3#vLÝ\81YÏJú\14\ f\86²ü%¥.ÝÇ,Û\7fÅ\1fÓ ¨Úïâ\9e%£{4R\96-\94Ó\fö\ 3c$Ë_JѸÏäµÇo¿øø#ògè\87'Wq\ 1
+×b\92åÔ¸©\ 5ª²öCæn?w\9f\19`~xvëÄÆ\99\83Ú×\12\96ÈgC\7fÃ;\16\8eyí¤\rz\8e'á;,ògXÈó[8;\98Ôe\ eÍ#q\18c\ fipÊ:bß?Áe\ 2\1fzï[>®WÓÊ\ e¸5\96z,û/\1d\86ïz®c\96\1f¼þ4ø;N\94½ò=µizÿ\16\95Ë&oó\17\93ª%.®£\97\12û\8e\88ü\89»èNm\99ãÕ©®¤¤9¤-È«¹\8bU¬Ýeä\92}W\9f\1e\19\15ñ5Ð\ f\86À\9eíj8&o²\1a§\1c!#8·÷\9c»\rí\eg\1c¿¼}|åàªI}[V+_Ì\fb\19\18#æ¬\8eÃ\16î¹ìÿ>42êgh\90ÿe\9c¬®\93Üý\ 3¸·¬PÙJÍXû\ e\83g\86\85¼¼{vÇÂ\91®\r\15e\vC,£làð\869mË;C¢Þíý8(4òWdXÊÆ\1cjû®ÏÙ÷Ï_Q\11ß\82\9eÜ8º~Æ vµDvù©\e8$ê\9cE\1c«·\1f2oç¥GAß"É\94\7f\1czì;êWä\8f\1f\Ú»l|ïfU\1c\8bæÉ\96\91î9-¦:©ÖÖsî\8e\8b\ fß\ 1é_d?B
\1cqí;*ú\17dÂg·Om\9d7¬«\8b¼Lá\9c\18ÁSÆZ}^;É\87çþ\17\97t4.»¥h̡Ǿ£££0\96]=¼v\9aG[\ 3\18x\1aöä\z\ 4w@=        Ì\91t!\87ªm`D}Áïí×\9fÑ1dSPJÆ\1cqíûWLtdØÇW÷/ìY:®w³ª\10ÁSbàÚ§µñ 
+{B=    ÇwqD]ȾJ«\81³¶Bñ\8d¤É®\89ãë&÷i\9aÌ1\87\1eû\8e\89ù\15ñíýS\1fÎÀSP\8d2ç©2eÉ\96=gî<yóæÅ\83(Ù³eÍÌ\1dÍOäq\9bì\ 5ËVné1sËÙûo¾\0éè\b\9du¼ä\91Ö±ïPxj\8c\96\81×LA5ÊPÎ\9a=W¾\82E\8a   JØ\95\10\14/Z¤`þ<¹²ãÉÁô\89;'\8a#\8e\ 2eTÍûM##\8e\88èßd-ý\12·\8e\97<§Öµï/d3\ 6gàc±\1aµMf5\8a'B3fÉ\9e»\80m\892\8eN"\89T"\16V(W¶¤À¶P¾Ü9²eÉ\98¨N\fdÄQZÑÄ}Êú\13w^}
+ÿõ\9bqj\ÇKþ²r\ûÆ\r\890Æô9\99¢j\94\9cìÌ\963\7fÑR\8ebeµZõ\\1a4¨_·VõJrQù²%\8b\15Ê\97\8b\9c0o\1cqä+)kÔkâ\9ac>0Ìúõ\9bÙ
+\95\92\89\ 4}öýû71ðGW\ f®\9e\8cÕhÑÜÉ\99D!{     r\17*QNRµn\936\1d»uïÙ£{×\8em[4ªç\IêdoW´`\9e\1cÙ2gLÿ/Ú8Ì*!qé1nåa\18f!iÖ©S0\91 Ç¾\7fÿ!\ 6þòî¹\1d\vGts\91%k\12\85=¶\ÒIU·Eç^\ 3\87\8d\1a;~Ü\98\ 6÷sëÚ®y\83\9a\95%åK\17/\947'G;\ 1Ò0Ì*.ª×mô²\83×\ 3\82â~£S§p"AǾ\8f1öMN²|\v
+¸qtÝ´\ 1É\9cD!Û'
+Ø9UiØ¡ÏР      3\17,]±jå\8a¥\vçL\9b0ʳo÷öÍëWWT,[¢H¾\ÿj¼\91Fw\98\ 5o\17\13ù=\85\13   :ö½ïÊc¬O~ÿù\13\13\85ÕèÅÝ8\89¢HÎ$
+ä×ly\8b\97¯Ü¨³Ç¸¹+7ïÚ\7fèðá\83ûwoÛ¸zÉÜ©c\86¸wmݨ¦Jä\0´sfË\94\90²c\r³\804s\ e!E\13    jûnç9\aìû5Ô'Ì>ãÐ\ fOo\1dß8\13\ 6\1eBA¾¤V(dí\rw:v\1a8yÉ\96\ 3§.^½qóæõ«ÞçO\1dÙ·}ý²¹\93Gzôlß´Ne ](Ovr:?\9eÇÇ\1ef\ 1éè\14O$°EOY\êX{ìÖ³`bß\7fb~\85«'Q*9$ù|1w4¨M¿\89Ëv\9c¸|çá\93§Ï\9e=}òø\81ïÍ+ç\8fïß¾vñ\8c±\9e½;2§óóç$\87Àõ?\9f\efyÍg\86YðrÑ?S:\91 ±ïn£\96ì½üèÝ7v£q$;\892¤c\1d±]þÄ\1e\9eI\96\a\15\8dº\8fZ¸ýä\8d\87/\ 2ß\a\87\84\ 4\7f\b
+|õÌÿ\81ÏÕsG÷lZ>g\82\8eM\9c\ 4\ 5\7fô\9d\8c8\1c«·Ã±%\8e8\80tL$;\91@Î5$o§6Yê(Z¾FÛA³·\9c¹K
+\80?\18Ë0m]9¸j¢{\8bª\8eIL[dʱ(³\93çèµG¯\83¿\84\86\ 1¾\7fûú)$èÍs\7f<¦¾\7fëʹ\13<{¶©_©\82]\ 2¬c\ f³0Ìâ\91\93\e\87W\8eëI&\12\92·\7f\97,\93\95Q6é=qõá\e\ 1\1f¾ã\83ÿü\8e\89\f\vyé{vûüá]IÚJJ,S\eÏÈÅ»/Þ\7f\15\12\1a\11\19õ+**22"<,ôKHÐë§\ fo_9spÛÊÙcúwjX¥¢]Á\9cY2è\8f\1aúH3\9b\96\93¹w\90\7fd\9bC]f\9b\97\bæ`ǯ\88¯AO®\1fY;\15Ó\96 o¶$\94à\10}r°aâèM²Ç1æ7 &&úWTdDØ·ÏÁo_<ö½zæÀ¦Å\93\ 6wm\Õ©D\81\1cñÌL!é":æý÷79Øp\ e·\19UKÖ\8e\ 4\864»ÍaÀô\r'n3©ú/\9b¶î_ؽdLÏÆ*\8ce\89\8cÃp\ 5\ f\9b\10þÂ#AK¿c¢£~\86\7fÿ\1aòïå\13;WL\eÒ­qåòÅóÆ3®Áè]ı\ 6\ 4²]\10È0zÿý\13\83\13     Þ{\16\rgv$$o\14Èls\90á\8e­ýW\1e3¡ì/I[ï\9fÞ:±i\96gǺ\92R\ 5\89.\12õx²ÂJR?Y:!oÊ\ 1\1d\17ªûã»\17\ fo\9eÙ»zºgg\17\85=#T=Ï\82<m[Á¹ã°\ 5»/?æHGáVVfv09Û\8cØ\97Ä¥\ e§\9aí=çlÅPö\83S5¦­Ë\aVNêÛ
+\f<\1f\89à\89\e\ 4ãZºª\99;Wäýþ£ÕS\9f\ 4\fPwØ×\90À'·Ïï]9Å£]m\11$\b½ªf'¾;\8fX¼÷\8aÿûïÌé"\18sàì 8u²¶\19qOF\1fT5í=qÕ¡kOÞ\87\86´õÂ÷ì\8e\85£z4©\®(ãÖ\89\9dË\16ÒÁà9Ûpä\1f\11­C\9aSwTÄ÷Ïï\9eÞ9»ké¸^Í*\97³Õ[\v >ò
+Äõ\Ç,;\0µ÷w"?Ö©·ÍNî6#æÑXK\94\10Õé4tþ\ e\1fìÉ<\88\9eÜ8¶qÖ\10´@Û<Ù2&¦k\10Y\80Â¥ô\91\90ø±°\8d\89Å\99¥ý+òÇ\97w\ 1·È\10\8e¸\84ÞÝ\99d\91±\94\1c\86\96«\8fÜ\ 2£a^,&òÛ»ÇèÔ\9dp\7fz2\ f\921¡Ì¡J\8b¾SÖ\1e\81¬Å©\1aÒÖ§×~Þ\aVOõh_WV¶H\1e¦Nþ·\bm
+\94V4Æ\17½É\94xzn\8e \ 5Ð\8fÏ\81\8f®\1cX9¡wSUÙBz\86\89\90\9d1\95\9f¾ñ¤ïKRCü%Ný!\0\ f\87\92\13±ÉÝ\14D\8euÚIêu\1d±p×\ 5ÜRΪ\1abYð\8b»çw/\9bЯMmiYÛ¼6\99\13¨\93¹\87á\8bâ\9e·\99\9bOß}Å>K\1fm\1cÂ\86¼¸szˬAmk\94×7Lä¢M\a¯y;Î? Ù\94=ûüñ¹Ï1æhC²\ f|\93\13å¶\8eÕZö\9fº\8eɬDÕX\82\7f\r
+ð9½}ñ8÷ÖµeöEóåÈò/Çf^´b­NÃ\16îºô\10§mõs&¬#¾\92\93²#ºÖ\15é\19&¦aóJ\ 3v =\94õ\14öhÿ\ 6\88dÊÄ\1e\9a×÷¦äéR\97n#\17±ª\8e\86dýù­ÿ\8d\13[\17\8euoSGQNP\0F\a      \9b8\93°¤\rz\8c]\ 1ã~RàÅC\9aM>7\ e¯\1aïFö¸Æ!Íê¢Õ\80i\eØÉ,ò,rî\92t®h\91\92Æ,Lµ\¾Z«þÓÖ\1d\9a\89à\1fß<¼vlËÂqýÚc\9d\(·M\82\ 3`­Í_ëOÜ&ÓZñ\93ÆÆ\ 4ìÒ\94\1e\951\87ûKª½î\vç)d EÎT%ñ°ilÒé2f\aCbTÍ\1eÂ$Ñæ×ÏÐ\90W~W\8fm]<Á£S£ªÂÒ¶y³'èØi (Ú:\92\84u\8eIXñq&É\87í»\81*\8b=ËÇ(º\U6¾¾\ f\8dd=\ 5j²¯o\1f\9cß6{Pë*\ e)hÌ¢Q5x5|Á7VÕàÖ\11¡Á¯ü®\9dؾl\8a§kó\9aRûbd\0\1c_îb6-\91\r\9d\1a*^ü!Çàð|pËÊö±í\94=7'­×eø\82\1dçî±E\93aI§#}P\À\94v\9eg¿\81\88oÁ¯\1eÞ8µ{Õ\8cá½Z×U:\96(\98+þÜÅíòë9\9e\8d'aiH\7f\r| ßN\99#À \87\96ý¦¬9\8c\87a\7frU\ e\92\8eï×\92È\1aUíÈ|Å5\7fæ(ë_\96uhÈ\9bÇ>çö¯\9b7¦_\87\ 6U*\96,\9c'ÞÜŹt?f?g¼   ë\9f\9af\ f{ãYX\8d\1a4¿öæÞYlÁ\93²\ eS\8cW£1\r\9b¿í\f{\94UÃúc`\80ï¥Ã\9b\17O\1cØ¥Iuq\99øs\17\19\16\95«Öf0³ß-"Þ\84ż=        Ã\9b¦\ f\88ãÓ\9a\1eÓ´\1d\8e\v\ 5Ú\aÈ\93¿®Ê´\r*W¥y\9f\89+\ f\~ôö\v\93\bë_?¿\7f\ ez~ÿê\89\1d˧yõhYKV®8ä.½&N\86\95N\98¥w{3\93\90\8e\92\89óܶ\ eØÀ\ 1O\8f½ÖR´N7\9a\94\9d}f»¿\88ë¨\8f²r¢eêä¯\1f^ÁPpÏ\9aÙ#û´­§"¹K\9f\893{XqvþÀµ\02Q\9d\80¢5Ó¹\8dtó4®
+eÉY\b[uÀÛ\9c¸õTó6l\8f\92g8aÔ£\81$É'lc³&Ý_ÈQVµl\19Ö\98¯Ã¿\85¼yrûÂÁ\8d\vÆ\rèÔ¨\9a¨´­>\13'\8bOvR\8cc8BH(KsE4.±»Æ*¢±\ 1]öü%\84έûO^uàòC<\11ª\16\1fN\r¾÷¿²o       Óò$E\9d+\98ó¶\82\8a¤wÀÑëOÔ±\8ca\rCÁOï\9eÝõ>ºuÉdÌ]2\a}&ÎnllÒgòº\13·I\1cKХɺëî\85Ã:é®»\12«Ë[¬|\95fnc\16ï<wW\13aØ_Ãî\1f\riï\Þ6Ñ-OâcM\8e²\92Þ\ 1Û!\96\ 5\7f×6)pì°/ï_ø];¹k%ä®6úM\1cHÇZPNкá6!+ìÕÊi\r\8cY\87¶W6ì:lÎfìC£\91?ók\9fÈtÿ\80\96\90±RxÈ]Ó;À}âÊý\97\1f¾ù¬6pR¦ÀPðkðëÇ·Îí_?olÿ\8e\8dªê1ñ8[\a\12¶nðÍ\9bG×LêM\96]¹·'gÆÑ¡ëv\184}í¡+\ fÕ\1d\87´\7fíÈê        da'¥\87\80Ù\1a\bb\99ç¬\8dÇ5\8d~´L\9cÍ][\16O\1a¬×Äco\12I(\8e\91]\ 5¤\1dQ×zÚ.Í®þ\81\9b¸bï\85{/C´L\8e\94&xT     »\18é\1d\9b%\995Ûɪq\8fÑ\8bÀ\95^êº\92vîÚ\19\8f\89\13Ò\ eU[\ f\9a½í<n\aJ\804c¦hÝ8\9cFßdÞ\9eé\ 3Q¼BÕf½Æ,Þq\86ë§¥mÝÌIÓÁܯ¥\883{,¿8v²\9a¼ê \ 6M-\ 3×Ê]\8fn\9eÝ·N¯\89s{ \80\81J(M\93\80\e\87WOìMÎ\82±ÖÍehU£nÃçnæ\1aùh+:
+÷?\1f[\9bÌ3ÅúX\93¾\13$=n:q+ྲྀ\81krW`À\9dxL<ñ\9aÆ)¸/\81~\17v-\1cÞ¹\8e\bOý1\ f`\1dZV\ f»s\1d¾úèͧ°Hí©E°îРHXKGw«\9f\9cÓãzH§Q\17\17ï\8amàêÜ\15¿\89'Þ§\19\8dù\9cØ0­\7f«ª\10»\19ëfÚ}\14°\13ÕlÓ\7fÒÊ}¸(¤ãÐ\8c¬p.t®g;gf+B\8a÷qªK^¨
+V\1f¼\12ÛÀÙÜ\15¿\89sÑ{À\8cÍgï%\14½Ù¹"rü­\81¬\14\17»9\87®Ö¼×ØÅ;ÏÞyþAǡղ:¶n\8a{³JÉ^\9f\8eÃ\9amÕÖÙK\9f\81'dâ8\8fô\1f³ñ«\19äéS¾¯\12ÈÓäå_Ü9µ\999èȮΰ-|Ô\9d¹ C\87Ç\12z4Æî+¤í\1eX·aN=ë¶j\8bkà   \9988vZf¢ºqïIk\8fû$0YÄLª?¾r`Å8·ÆÊ2\85\98Í<\³&Y½N\9e\83C\13Cû­chLìÞ6\87µnÃ\9c®Ñ5ð8\11<>\13çæ\91ÒeÈ\96×NâÒcì\8aC    Í!ü\89\7f·ÎñìP\8b\9c&\8dV[®É+÷_\8aãÐ\erë(Æn\83Y÷ÿb\e8S\ 3Æzõ8&Þ­\993;\8f\94!cÖDÌ\16©\15½r|¯¦\95ìIëj\863\f3*VoÑ\87iÀö!\8eoa×=,h\96\8cìVO¢\7fU$y¤5\ 6>\9aTûÁ±Å­ÏĹy¤Ì\99q\8e§F;ϹÛ5Óóz\14\1dÅ*zH\87Ú"æåÓ\90 \96·xù*MHC×[q\1d\1a\7fï\a\1eyÞ<kP\9bêZ\ 5\8d\ 1Xk\198\8cëüÞ0½ßbëJÛÄçªç\91²g³É]\84\9cëÛ@f\80£ô95    ÝDÑ\13XE\83krA\f\86\19Cgo<zíq\1c\87\8f\9f\;\b\ 6ÒXi\90ÊD\8b5×l\93éýÆ57\8cÏÄ/\1eÞ¼\88\9b\9f+g\9eÂØ\9ed,\9e[}¯ß¾Y\85\9dÙ:\97UtF¼\7f\ 27V\16)+¯×q\10×Ã6V\b\ e\9f^ß;·}ÞÐ\8eL\e\ 3Ã\1d¶P\97(\8d{\8cZ¸ã\f$ËÐ\9fqð\8e\89«ç\91\ 4\85òå+\fc\96NC\17ì¼à\17ø5îBí_f¨\11ôäÚ¡U\13\8aN\8b\9b\86³å.\FZ»]ÿI0Ì\0¯\8aó¥\8c¢\ 3n\90¦ó\95\1d
+ç4\9cuÿOmàØûmâ
+,\8b>\86Å\16º\8e\89kÏ#\95*ZضdÅ\1a­=fl<yç¥Þ¤Åæ\1dTX§:DÑé!êg²ÉS¤´¤Vk÷ñK *\895Ì`\r\ 4~ïÍý\v;\17\ eïROb\97Èë
+\92À\9aéýV§Ãà\19ë\8f\{ü6nÞÒ6qn\1e©?Î#ÙÛ\95(íT¥Yï   «\ eų\96\85C\8dà§7\8f2
++\92+KÆô\192eÉ\91϶\8c¤f«Þc\16n;y+ö0CKÑ7\8f®\9bÚ¿eUGýËø)!M\f¼\88½²a·áó¶\9eôyªn\97¬×Äuæ\91äN\ eå\84\95\eu\1fµd\8f7nÆ\8bókL\ 5úðÒ\9eÅ#»Õ\97\96,\90#K¦ÌY²ç.(p\90ÕnÕ{ôü-ǯ?\ eü\14׶ؽ?çw-\1a\ 1¿W*yDz\12\f2+TmÞ{ÜÒÝçï¾Ô\93·4&®;\8fTE&\96U\83\81á\82\1dú\93\16        G¯HÞiëì$È\9fÃÆ&{î\ 2EK9Uª×Ö}ôüMG¯>Ô4âÖù5<*\87»¼ú·Â}è\86ï6Dæ#a´\83=K±0Ó\9b·\18e«ç\91\98ÜÕ±IíjÕj7\83â\19\9b\89|\ e\8fK\1aWh\9fÝ<²f²{ó*\8eÅ\väÉ\9d·`Ñ\92\8e²\1a\8d\1f·`óÑ+\ f^\85\84þ\8cãÐêmè\v\86wEEg7üQg¦¹!éY
+\85Ùñxò\96ÆÄÕk \93\ 6woÓ¤a\93¶½F-ØÆm»\8cM\1aww^Ý¿|lÏ&\95ËÛÙ\16\15\94./­æÒº\87çä%[\8f]yð2XO\10ûÃ\1c8 Ç_ÉÎMc´\95"3Ây\8a\96«\f\85Ù"È[ÏâÔ\84Z¬µÖ@VL\1fÑϵsç\9e\83&.ÝuîÞk}¤\99RrÏ\92Ñ=\9bT\159\94)ãPQQÝ¥e·\ 1£g­Úyâ\9aßË\ fßâ\ 6±?ìÙ)ÍÑ\12£\9ci'Ua~AEuÞ\8aSýk\99\9ef\rdïºù\93\86\ f\1eä5nÎZl\9d®gÏ       \17Ç\96\8cíݲv%\99T^¹V£6Ýú\8f\98ºxãþ³7\1f½
+\8eË\99Dîï!/ï\9dß½t¬\e{\88È(§@¹\9e¥u:\f\9a¾Nß8O×Ä\99Ü\ 5åÙÖ\95ófL\9d>\7fõÎ\93à\14\13v«É¾\95\93\avnîR·n\83æ\1dzz\8c\9aºpÝ®ãÞw\9e¼  \ 1Îq\83\188ô§7\ f¯\1c\3u@\8a\8e\8bý\93´VÞ\9a\8b½¶ã\ e\0tX3¹ëÞÕSû·®[½fãîc\97ï½ \8dªc}\96Lýú_;²aîèþÝ;uìܽï\90q3\16¯ÛyôüM?æ\1e\18=zf6¿\1cß4gh\97\94\1d\fü'k&o\95¯ÚLkî&¾Å).w½|äã}úÈÁ\83GO_ñ\r`\8a\9aØ\9f\8c!GwÏì^5{üð!C\86\8d\992wù¦=Ç.ܸ\1fð&\98»\12%Ö££Â¿\ 6=õ9½}áè\9eM«8¦ì\bè?Y\93¼%dféô\rêu\94\1dÃ\8c@\9eùݹ~åÊ5\1fà\10\12ªGJ8\81ðñµßÕ\13»Ö.\99;{Î\82eë¶\1f8yéæ\83\80×ï?\872WßÄ~0\9e\8f{î{n÷²     }[9\vK\18õ4{\9cùØ\ 4ÜZ3\ 2ù\10ø"àñ£ÇO_¾Óç\9eLéýõý³{WN\1dܹuËÖ\9dû\8f\9d»zûáÓ7ï?}ûñóWôï8ã9Üí\13üòþ¥ý«¦x´¯#)]È\0Ǻ\13\9fn\v}=ãz]Ö8\ 2  ý\1còþÝÛwïC\88Þô\8d70*½}öà\96÷¹Ó§Ï^¸rë¾ÿ\8b·Á\9fC\7fàE\fz8ã¾®×~W\ e­\9bI¶IÛâá
+c\1eàW¯±Ä7%\eû\ 5É&ö°Ð¯_¿~ûþ#"*\8e­ræúýSЫ\80\87÷|}ïùù?{\1d\14òå{¸^Êì\ e¾ÀÇ×\8fm\9a;̵q%Çbñm\887$ë\84'ßõ(;úWäÏ\88\b¼2\ 4l5\9e\89\13p\83/!A\81¯_½z\1d\18\14òù[XDä/}\94\99ñ$îÕ<µmáh·fU+\bÀ¡\8dÝ`(\96[_y\18{\99E\ fmàM\10ó[\1f\vÆù\7fý\fÿþí˧O\9f>\7f\r\rã\94¬_@ì®Ü¥ãÝ!\88Ù\15\11\83\14°ÖYP;~Ã\1fÓPB¬Éa\r`\8e$\12pþè¨È\88ðð\1fááx\94G¿\92\19EÃxò\8dßå\83«ñ\ 4\80¤T¡x\ fö\18\985·tê6fÑöÓ>OI0K\88õ¿AÎ4\80\1f ð\12\99øÅ\ 3åÛ·÷\ 17\8fo\9aíÕÙE^¶\b\ 41\93ô^Ñ,\92÷\9d°l÷yß\7f\ 4³DÓFkHРþ2sÅ\1f_Ý;¿k1\8cN*\97ÃÎ+¦é7£Þ\ eQ§½Ç\94Uû/Ý\7f\19\1cw¸k\1cüa¦\10\99ãaÎ\15ÙÓ3&à¬Ùø¢péì9cÝ!í\eÆ\8cN\9a\99ó%\13\aÌA@\93õ\90b·89Vjì:lΦ£×\1eé\9bÂ2
+iÜ­\80S\88Súµä\8e|\9a\88\99M\0Á¬ç(r\85\1e\84pS°f\87Þ»\17\8fìZ_Z2\9e³[F#Ín\10\10ÖhÙgÜâ\1d§}\ 2\82âNÑ\1a\1eÜ\96±Í3\a¶®^¾¨©¯\89&+Ç9\v\95\12×jÓoâòÝç|\9f½Oyâú7iî\90Ç\84^ä^GS_\ 6\83w$gÍ]¸\8c¬n\87\81SVí»\88ó\ 3z§Â\rK\9a=K\8a\9dæ\f°e,9¬3fËck¯Ä\10¾öàå\a¯â.°\19\1aä\80!s9\ 1sjØäwÁ0ËÇ\10Â\eu\e6gãÑë\8fõN\8b\18\12ìM^x\rESe²Ï\87§\8c4væ!!¼iÏQ\vñjLíMØF!Í\9d/\1cÛÝ%¥\e»SÂ\1aCxÅÿ³w\16pU%]\0_[@B$\15å\19( Âë\10EQ\14±\ 3\15\13\v\13\eQ×îîX»×Öµ»»[ì@1PP:ÄÝï;3÷>â\11\ 6÷½¹ï9ÿï÷í®òxwæ\9c3gÎÌ\9d\96_ïqKw\9d½÷Z˪f\86t6G£uÚkÖ\85£\97\99Ó×á\927¹_WÈ#Ì\9dá¼e\14ä¦×&Ì\89ÙQ\8bv \èÙ¾sç\b\1c\83æ1w$7½Æ\85¬Ü¼Ú\f\9c¾þh\ eïܹëtJ\9e³\84rÕkT\82IٸǸe9½sç¬Óii\~=\1f,G½ÆuP\84¨\ eÊö³Ù¾sç®Ó\$ìá¦Ó jtÛ¬Õ\80\19\eÑ\91×\oiä\rNR3qÔktÕº¢²)Jûwã{÷
\ 2'I¸¸ê4sóªAw\9c\ 1/".ÛÓq\9ct\9a\8btk\\91¿ ±¥£°n\0N\ 6÷>÷;vyê4\17\89õ¸\82M2Ónè\\'Bkî\9bM¡¸!/)\14¹ë4J\1cÅ\Ó`RÕj§Óê\1c\17ü¨Á¨Q'B[î\e\riT\98oI^Ò¢r×é\8cu"¾w\9d2\ f\9dÆ7*Ïl\9d\eÜ®¶\eé!­Y'BK\81\8dÊiýZV'>¤5ëDhiÎb6\7fÑöX`#\ enTæ\99¬      LµÐgõæï\82a\84¶Ç²t\1aÍYL\ 2Ó\878\81©6:\8d\8fÁ\1f]?½\7f+´=F¼T2ÎõPE\9d\ 2O;\13õ\7f̽\85½ËÆ\ 6\12ÙüͦÓ\9a\19\1e¹ïó¿ø8û©-LùEòÖ­¾9\8b/\91ÞËýºð/w\1a\1d\83\7fvíàêÉL¡MNï-üb§\v\9bÙ9³·áßä~\eþ\17û¬NÚµèÏξø\1d\16iëNK¤\1f4u=\13\92i¡Ó\8c\eCׯjUÕÎ)ç\9fí4Jöà¤l\8a*/æz\89ô×;\8d\92zàëWàÆpmQÒ}F!\19¾DÚkâjíÄ¡\19ÜX{ìÆHî\1f¤wZ£z\0×\9dfn\91b7æÁ\93zÁê¬5\81ãV\1c¸ö\9cûN³·HÏ\83\eëâË\9bÊÐ\19V\1cßMÕó+\9dfo\91²Y&ùàÆ´®iõ-Ò½Z¸E\9aÇNkoL3wδs\8b4O\9dÖ¢÷N»E\8a®mq~\8b4\ f\9dÖæ<­¾\¨¥[¤¿Jú&Ùúcw¾\93Qï§û\8cÎ\bâëÂøè\98Ö®"ý,ê\ 4.\10{\9fä:öf2È¿º\ 3\8a\1e\8e\8e\8eñ`QÉ ®\15<hÖæÓßIÊôó\9dƵ\ 2\1e]Ú·r"sF\90'\8afóèg*\1eÀ]\9f\99ª\10Ç7Ï\r\81\11­­Ë\85¿@úvÑöïæ\80ýéN3õ?v/\eß«yuW\aÞ(Z³\80,\87{dY+½ðEÑL\96L±6¶\80qq\84×÷Ïî\2&°É/ÔôÑ\1e\19¢P\8eCo¶\fÆÕCk§\rô¯ý\vÕ\9b´\a\93\93\9fy+\7f\93Ë\80,­àɶ\85\7fvm¨Ðæ-Ò\9f\86\9d¦[ö\9f¶á8\8eM8ëtzi\9b V5«ò¡\14t\1aà¼-\1cªÔ\82\19k\v§Ót¦"Fõe\15ì\88×DÎ\0J\94Ìæ¡ºð(\87<=¿Öi\8drUÙ\17\9e!\82úÌI·1Ë\98\8cc\1cù1\1eOWêÓE*õé"Î\9c7Vt\1eJÐi\15T[\849Gö÷\89ï\15"ø©Nã\97\1a×\ f¯\9f>¨í¯\14\eÔ*8\1e\96syb\90UôÙ\9d\8bGuk¤ü\95²\92Z\849\87 ñí:ú/\[\84« \14'\1d|~ýðºé\ 3Úx¹9ZñhºÊp`pâê\ÓEþl\9fq.ºÐó»\96\8cîÖHQñWJÅj\91|ÌÑÐÖ\ 3aHsx4\94}{ulãÌAþµÙJ±¤»\9a\ 6S[ÄÝ»ã°\ 5Û³O¼õ\8b\9dÆo¯.ï]>®G\13e%{\9e)\1a%CŵE\96í½ü\94³!\8d¬ûó\9b{§·Î\véàͦ\11%ÝÕtÒªvMAÉô8\9b¥\99ËH7P6ä\96Õ]JñâíU\1aéU»ænaÓ&rÑg6×÷¥=KÇtk(+Oþ\0U&\18ë\966\80 k÷Å\9c\12dþJ§Ññ@tâ7¤}\9d_¯U©%Ð\r\8e\92.Õ[ô\9d\92K*Ô_ ã\89\92¤.#e\ fë»ë´\1f:W\9d?\90Ë!}hõÄ^¸N\ 3Ϭ\e"\13'y£îcrIÿúk\9d\8eûøìê>â\97\91²\ 1\17¡u¨ìÙªÿ´õ8\11*wËÊ\94Ø\ f\8f/ý³øÏ\80zBÇ\12\ 4/#e\85)±,ö  \18¾`;*dÈÙõ;\1c\9a<<¿c~H{æ\98\14\8d&iTbyåþ«O9¼\88\86k\92\86\9eÝ:gHÛZè\9e4\8f\864®B\ 3n¬Ý\90ÙLFPÎ6\7fqQ»û§7Ï\1aÔ\1a9o\9e¼³Cà"4v\15\15\8d\ 3Ç,Ý}ñ\11®IÇM\9f\99únê²pd¯\9diÀDcUkµ\198cÃÑ\9b/>å^Óï§`J=¢únÍq}7\1e\0.}Ù ëÈÅ;Ï\85rèÆ¸¬ïÆ1é5T§®=týY\ 4\87÷i\99únW9©ïÆ-¸rqyI}4_\9d¹ÿæ3\87\97,\99ÛH\17ù7M35ª]q\8dj\¸\98Ã×Ò8÷\ 1,7æ\ 6·cÊåðGÑL5ò\8e!\10vßår¾JKg\82ÊÂ\91¿`\98\ 1æ\86¼sµ¦=ǯØwY]w\9e\eÔ;\b«ÕÅ\89yÓé´ÀdÖß(k7\97¹>x\93û@\ 3u`\82ÖW»/<ÌP,\97\8bN3u*w.\1cÎÔ©,Ä\13?\96\1e\98 ¤\17\9c\ 6&\8c\1f\v\7fp\ 6Õ©¬U\85\83̨\8b»wA\81   \97ë+Üi&\87\v\ 4¡~Õ]òZ§\92;P>I\bLjø\ 5MYsè\1a§\81ÉÿÒ\12>¬ÅAh\96zãÄH\9f¯æm=u7»\94ôyêô×\84È\977\91óæÕ^\11\ e»\9d\187Æ®¯8í4/7È\98MP\8f´h\8cÓNÿÇjzÍä>¸Ø\19O6úÓöÆúMYsð*®\ 5\98cîÞ_@}=\1c_ Eg\9d\92\96Y`Uñô\v\9a¼
+¥sGµ\ 4RsÈèüÓüÇÔTº{ró\9càöÞ¢r68    ,ù^3Î\eU^\1f»dûÉ\9bOÂ?Å <ó¿¨íÿÒÁ¹\80¿¡Ê\v¯ï\9fݱhd·FJçRÅM²)`N¢Ó°Â*YI\81ê´­Ùsææ#TQ >ç\9cÜßë%Kjjêׯ))ÉI 1\9fÂî\9fß½|B\1f¿ZîemÌ\8c²+VO ÓEÍlÊ\89jûõ\1a9gí?'.ß}\1a\86ª
+$âÄÜÿþ\97\vÙö\12\91\94\94\94\98\98\10\1f\17\17\e\13ýùÓÛ\17wÏï]=mP{\1f\94ͺX\96ªíDz\8dËì¸(|üû\8c\9c¹|Ë\81ÓWï>       {ÿéKlBRòׯ©©ßr \87^ÆÄDGG\7fùò9*òÓÇ\88\ fïß\86\87=\ f½qzÏ\9a\99!]\1a{Tq´æ\89ªqFEA\15\95\1eC'Î_½íÀé+w\1e¿\f\8f\88\8a\8e\8dOH\84þ$%k\92\94s/ß½{ûömø\9b×a¯^<{úøÑÃ\a÷n]={xÛòéC»6õt/g§\9bdíßítþ\82EL\8aÛ\95­¬¨Ó¬Sßá\93\17¬Þºÿä¥[¡ÏÂÞ~ø\18ùùË\97èìȹ\97¡¡\ f\1eÜ¿w÷öÍëW/_<\7föÌ©ã\87÷n]=\7füÀ\80&\9eîåí\8aë([ûw:ÍôÚÖÑY\½¾_ç \11\93ç¯Ú¼çع«·C\9f<\7fõúMøÛìȱ\97çÎ\9e9súÔÉ\13Ç\ e\1fÜ·{×\8em[7ÿ½~Õ\92Ù\13\86öô÷­V\15\8bN£4\92\85\8a\98\98[\97*_Yêé\vÝ\1e6qβ\r\1f?{éÚ­;÷î?È\8e\1c{¹}ëÖ-\9b7ý½qý\9a\95Ë\96,Z0oÎì\99Ó'\8f\e1°G»&^R\17G\es^\987îuÁÂF¦ÅmKW¨"óômÙ©ÏбÓ\17®Ü¸}÷\81#ÇO\9e:}úô\99ÌÀßäÜ˹sfÏ\9e5cúÔIãÇ\8c\1c\1e2tÈà\81\ 3\82zuëà×ÐK^¥|©\12¦¼pd\7f`\v\ae\eã
+}U¤\9e>ÍÛ\a\ e\181~Æü¿V®Ýð÷¦Í[²\92k/\a\ f\1a8 _ßÞ=ºuîØ¾\9d\7f\9bÖ­Z6käãUMR¹¼\835®dM~ÊB@¯ó\17,T\94éve\89\87wãÖ\ 1=\a\84\8c\1a?yÚ\8cY³fgeVνl\vÝlíײyÓF¾>Þµ½jÕô¬á¡RHÜ]\9d\1cí­ÌÓ
+Ôó\81\fÝv(ç"TÖôiÒªC\97\1e\r\188hÐ`M\ 6åÞKÏ\1aÕ¡\9f2\89Ƚj\95Ê®..Î\15\9dÊ9:Ø[\1773)Ê\8b04\r¦ÛE\8cM\8bÛ\94\14T¬"Vz֩ߨY\v¿V­Ûd%×^¢nVªX¡|YÇ2¥\1dJ\95,ioogkmeinjbT¤PÁü¼Q4&­Û\16Vv\ ee\9d\ÝÄr¥Gõ\1a\9eÙ\91k/q7m¬­JX\16·0777333-fblT¤p¡\82\ 5PýmÒ\1dÍ\fê6¸4#\13³âV¶¥Ê\94-ïTÉÙÅÅÅU\13\97\z\99ÖMÔO£¢E\8b\16\ 1
+\17.\ 4\1d.\90\9f\7f]F \9aà0\81A¿M-,­¬míìíKfÇ÷zÉt³ t\14\93??î/\1f\80Õ\rý.jlRÌ\14zc\9e\1dßë%î&ÓO^w6\9d|L¿\v\16*\¸HÎäÞK=èfVpÇ¡ë9c\b½Ì\96|¹Aºq\14
+\85B¡P(\14
+\85\eNNuûw÷î\12ÜÅÔ¿¾©\93\97¯,\0þÜ¢Ë\90àÀÁ¦ML\9d\ 2ܽ\ 6\a{÷î\16Ü{@ÿ.\83G\bªÁ_\89\ 4î-\ 2»\ 4 \9c\99\8f     à\13\82¦\83{÷ìÝ\1fþ²e·.A\81.\82*ð9\ fø¿i«ì¿Ã¹ªÐM©T\8a$B\81ÐM\88Éø\1f
+\85D!Q
+d\12¡\9bJ$WHá?å.è×ÄnB©L%S¹\bÜ[\ 6\ fîÝ¿§ÀÙ«û\80®\81M»ö      ì\16ܸ\vüÝpæéîþ\8d\eµòõ\16T\13\94\8a\94Ê\0q\80\8bÀ\ 3>î+\12\ 6@\83àgì\a36MàÞd@p\8bÀn\ 3\ 6w\ fìþ#?vî\87\9fÙAÝ!±J®ª"Dÿc:¡P*ª¨»!«"\93£\ eà\9eÈTÊ\ e.\19º\11<¸Kÿ!=\ 6\fîÇ
+OàܲµO\80W0ü¸ëÐàÀ!¨\19\99~\94á/\90 \85\ 2\91@\88ÿç?Â\14ÿ«»©\àì"ðo\ 3?\16
\ 2á_C3ÿ§Hà\8dÿ¢)þ'ú}1óûN\ 12\85ÈM*RÉ\94r±X$W*\ 5R\95\9bR*\14)Ä*©L¨P¨\ 4ýЧdr7P\8f\*\92(\95
+4æ&\93Ëe\12\85L)\96ËÅð\17\9bX!\84Þ\8a\94"¡P%\80\94\12\91L&SHEr©\ 4>!w\93H\15*\85J.Qª\14
+\81Bá¦\94I¤*\89H\84Ä'\15ÔAOB¿'\17\12\95X.R\89\ 4*\91\9bX(Q   ¥\129´H
+OR¨Üd2h ´C¨\14)\ 4"¡ÈM\89\8cG!\94*¡}\ 2\9b\b\9e*\92\12\89B.\10\89¤n*\89\92      \95ÐdöIJ¥\9bR"\17)á»å2©X \12£\ 6B¯à\8b¥"!ú\1e%|\8f\fº#\14Ë\90q\8a$2P°\ 2=\17Ú-\16\vd*±\et\1a> U\88¥Bø\ e©Â\rú\ 4(\15rÔkü$\95
+~M¥\90Ée"±T%\15\88@\9c &©T\ e²\90Èå\ 2¹Pæ&\14ÉU2h¯R(\12\88ä"7h¨P©Rª$2\10¯\¨t\13*$\12P\ 4\98\9b\1c\10º\81T\84\ 6è·
+?H.\12»ÉEðËHÆbô=Jø\v\19\f$\85H(V\80hä"x²D,\ 2ÍIA\13\12\81H\ 56+W\88\0¡X¥\14Ã'À \84r\99\10\9e$D
+\80ï\81OHDr±\ 2\84%g\84'\17ª\90h$Ðw\89\12D$\80¯\84\84\a\83Ô\15R\19Ó%©B¡\14\12©D&\10\8b\15nr\15<F\ 5\ 2\ 4õÂ'@x |Ð\9dX\ 2R\ 1\ 1º)¤BÐ\1e\98\11<\8e\95\1dX\1eú5h#ôC\f\9fRºÁ\ 3\15R0\ f¡\b5X\bß+\11\83¨ \8d*¹R\0\86á¦P\82Ñ©$ðm\12¤%¥\eX\86L\ 2\ 6-Q\82RÀPÝÄ*\85P\ 2\1a\16ÊDê.!\89*T*    |\81\ 2µG&Ef$\94+äè\9d\86\14¾Gê\ 6\1aP
+a\f(¥bô$øb±H©\90\bUbP\14\18¹\ 4¤%\93Âo¨à\ 3 ;\99\ 4ÍCGY»\13\83Ý\83áªÄR\99X\89¾\ 5¬
+t\bª\0\9d+\90ÝÁ\83APÈ>Ä"\15ôY.\ 4½\82ñ\80í*\90}À¯Ã(\ 5\ 3\91*U \h*¨C"\ 1]\88Á8Dì\83\14rx8<\aL\16\99#î6tF\f\16\83ì\ 3\r%\89\e¸2\90¸T(\15â¦@{a´Á\83\8bDx°I\95ÐN\15\b\\84\85"\ 3\ 3\97)@¦ðkr\15Û%P\81\14\ 6\81D(\97\80R@Ir7°\fÐ\99\18ì\ft-SI`\18\83U¡a\b\83\96\88AtÐ?\85\
+\8aWà¡\ 4\83\ eƯ\18þ¡\80N\8bA\1f\bµ\ 3\89\875\a°*¥X\f\83\a~\19¦\ eø\91\9b\18Æ\ 4hZ!\16\89\90²enR)z\8e\12\1a£B\9f\0\8f¦\ 4\v\a;CCH\80Z\v­\14¡æI\90!\8a@ÞÐ}\10 \88L¤PKO\85\1c\1aè\bF\81
\fHS\b\rÝ\91K\91»\80ÿtSÀ(\86Ç\80ï\14Ã'@\8f`S \ 6)H\ 1\1a,\93Ã'@\1cBpW2±\ 2\86£L     \8e\0¬\ 6\9c\8c\f\86)ëñÀÃ\81«\83¿\13¡^À§Tn\12\9bØ\9f\82hÀí@\17Urd0`¾"©\bÍ320\1cP\96D.\90\81¥Âh\80Þ   \15Bp\15ÐX\10\ 2¸%\ 5ÈI\ eíg\1e$S@s@!R9ÈO(Çý\ 6ç\ 1s\19<\ 6\93\83\92¤*\18C .%ú\0\18<\88^\bN\e\191\98\83L\84\ 6\9fT"\86g\83¸Á9HÜ\90m)Agrø\rü\1c©\18Ú/\ 6ç$\ 6§\bãF\f#T)\92\83Ï\80FKÀK\82ÙÃ\10\90ÁÐBîM)g½\a¸\ 1%8ZdÐ2\11¸L¥X¨\ 4\1f¨Ä\9f\80ï\90*À½âá$dE'\82¿\84ÉC\ 5c\ 3\r\ah0HJ)\ 1óS(àÛ ÁàÍ`Î\82Ñ\ fÂ\81\88\ 2ú\f3\17Ò\ 1H\17\14  \83\ræ\ 6d\93àLDð\10ø\ e4#\82+\93\813\ 6\9b\97±O\821
\a§\ eþA\88\94\r\8e\14ì\ 2\1a
+&«@}\ 2W+\15\vÑ´(\85\81\ 5j\ 4÷\ 6nZ!V ó\85O\88\84n24\94ä0ÓÊÑ\84\ 3æ\0Æ#\14ÃèB\7fF\ f\92Â|\a?\87¡\ 4cG\82í\ eOfàr`¦\82\ 4-wS¢\9f\83\89\80na6AS&\18/Ø7ظR"\90\ 4Ê\94\80fÁÙ+°\93\v\1e4øAðpø\ 2\11\12\9d\ 2OJ0\92à\ 3b4¶\91\e\85opcÆ\11LwÐBP\ 1\ 2\1cæAp\89\ 2©\14M\ 2Bp;0\85\15\8b\90\85\81´Á\e\83GfÌA
\0þ    \84\0\13\81\18\86\ 5\8c^7d\84 p\98óÄð=`ßRdý`­\12ø\10¸\ f\18\12àòÁ£+\90\9b\84OÀà\ 3?¥B\ e\ 4\9a\ 3nH\ 2\93\12üY\84¦\ 2Æ\1a¤\12\18Æ`\95 \ 19Ì­\8c7\ 3\ 3\80y\19T\ 2"\86\ 6\83Û\ 43\80Q\84f|0_\ 5ê£\14\86/¸Zä¸À\83!Ç¥\ 4\ 5¢àB\84]<L\1ahªE}V?       f*4¿@ûÄRp¤ø{ \1d0ôÁ\18U\ 2ø/7\18\ 4p\e0\1f
+ÄJ\98q$H²0øà§\ 2pz0\92TÈá\80[D-Aq\ eè\ 2º\ 3¦$K{\ e\12\1dÚ\ 3q\v\9a\bÄÈJUè9\10\80HѰ\0\19À$%Q\80JÄJðA`ý*\14bI\14Ð\10\19L%J4­\81­*\999\0¢d4\9f\81\abý7\98-\8a\eÀ\ 2`\80Â\97ã)T\82b%\18\9dÈéÁ÷¨\90\ Þ\80Ï\81\eÂ3\ eD\89 \0\14N\88Ð'À]\83õHPì(\933\93£\10\ 5SXù¬\ f\ 2a»Á\8c\ 5\16\ 4Ó¶\10Í'r<¿\83åÊpØ\ 2ß\ 3S(ú\11Le*\15¸\14¤j\90µ\ 2\f\vÜ\fØ\ fj­H.\81¸\ 1E:ÐI1\ 4]0bá·¤
+\88-%l\9fÐÌ\ 5\ 2CV\85\1c\ 6\9aqÐØEþP\84æ\ 1ðb0\97@\1c \9eA\89¦\ e1
+\8eÀuÊQX\ 5Þ\v>\ 1cD\85b!¥\10Ok\10\80\ 6ùI \99ê\81$\95\0\1d\92¡\98\19\8d
+\85       K\98ÏÀµâq\ 2*\90#ç&CA"L-Ð7ðk\10\1eÁ@\80¡¦\80X        \f\ 3Å9*\14\95ÉAºàPÑ×\88!¾b\1e\ 4Ó\89
+i\1e\85G\10\ 1\80ÿ\80iW\8e\82\110)<LÀWHpó ®\ 2ÕÀL!G\7f!\85I\r\82;h0H\ 4ÅFJ\18;\10³¨T8¤\85\18\ 2\f\f\ 6\80\8a\9dû ¶\ 5\ f.\92@\1f\ 1kE.\a&\ e\14<£ð\ 6¾\aÍ\8e\14\16\ eB9ÌÐ\ 2\1ckÀïËÐ\ 4\ 2?\81OÀ:\ f\ 6\12\8cg¡R\b\83\1a\ 5\ eB$]ô`±RíîäH) 'ø*è©\0        \13\ 6\9a\1cùI\98¾@6
+ô{*¤\10\88ª`a\ 1\9f\0\87\ 1â\84Ø\ ef\ 4\98+²_Â\80\a\87Á\a+        6røîB§\11|ªvW¼DbþW»\17^;9·êß¿K?X\aö\1cÜ¥{ïÀþÁ 4\17AU\98±dhLáÐI\8eÔê¦À.\ 1¦\rÐ!\18*^ê¢\1f\86Ö\ 4 \ eø\e%\1a#\12f\1e@1:z\12,*a\19\ 4!\96P\ 5Ñ%X\98L DÑ'\f(\88ºähô\88à{\14h\84)Q`\ 5V&¨Ý\13\9a\aRVÉ`²\ 6g%C±6þ:p60\83Àì\86Ô.\83\b§*Ìenè»\8424wË R\ 5\v\83_\80a\b\81'\bAP\e­ózàÞ×®\9dýb>ÃR{`\97à^Èæ²_j+\ 4î¾ &¼|mÙ«ËÀ@¿\11\ 3\ 3\7fh\15Î\99xðÖ\ 5³O\0_+p®ãåëêÏ\ f­¾3n!x°\9b\v\ 1^¾*Ô\8f\96Á#\82\ 2\ 3Ò\e\9aaõͬ\9f\9d\9d©\88¹5\15¦ïê\7fbm³ºI_ïç´í\ 2þ\\85W\92Ùíº°?ªªDCT\88\96\15\82ª\12¼Y\ 1Q:\1a!"åÏ\84?°é\92Í\9fÓ¶UØV        Õ\9b*ê?¥5²JU      Û:ÜR    §\9b*êm\11¡z[\84ÝXù\11Që|\87+\8f\92\81\ 5â\eÜ\85m\8e\97¯Àkhð\0\ 1³¹ØûÏÀôGd\19\93\ e   \1c\1c\12Ø= aà\88\0æCC¸ØÔûÎ\8fýk丣F÷Òè^\1aÝK£{it/\8dî¥Ñ½4º\97F÷Òè^\1aÝK£{it/\8dî¥ýê^Z\80<\87\93+¹l§±»\17üÙ\ 6ʱ\13\1c\1d¿Ñ\8f}"UÚ\9fü+ãíGø.|~ªaà\88LrkQ·\1e\12\1düÁ×;@Á\88\ e}\96ýQÚÇ=2~\86ý\8bÊ^¾\ 1ðÙz½\83\82\ 3\agjù\ fìf~w»\b\7f\87\0µ\85y\80 n\8f\1e\81è\19\94i<Ï·ÿ\90à.ý»Á³º\ 4w     \80¶6î20\87\87åÜùºÃ\ 3»\rE\9fÍN\ 4\9aOD=Lû\85ÌÏÏ 4ð:^ýá\v¥\12\11V
+ÞÆ\19j\9a¾µ\8a4\89NÄAG\ 3«1ÿY;°gïþìñ8P%|ÆÇÔÝ;0¤w·À\16\ 5þMLÛ§ý:Z{C\80\ 3~\16-·ÀÝ\88Ñ\9c$C±*L\7f\10Ê\b:
+`m$\80¥8²\96^?ù«è\93ê_Wÿ[)\80yM\80ökà\870W¡\ f\99:9áV£ÞW\13Hp¤nêïkü\v     \82(\14
+\85B¡P(\14
+\85B¡P(\14
+\85B¡P(\14
+\85B¡P(\14
+\85B¡P(\14
+\85B¡P(\14
+\85B¡P(\14
+\85B¡P(\14
+åwæÇK»\91n)EGP\e0lò\ä\91\9a\81!CÍÀ°Éûð§\ 6`ØP30l8ô\0Ô\0\f\12j\ 6\86\r·Ã\9f\1a\80ABmÀ°ávìS30<¨\ 1\186\\rvj\fzÄÏj\8aêݰÉ\8b~©Iè\1d:V7Uº^@Mâ÷A÷º¦\1a×\v¨Uü&\10Q4U7ÿ¡Vñû@J×TÝ|\86 UPÃÐ1duMÕÍOH\e\ 5µ
+\9dBZÛTÝ|\84´QP«Ð)¤µMÕÍ;H[\ 4\vi1ü.\90Ö3\82´\f(\9a\90\b\16Òbø] ­g\ 4i\19P4!m\11,¤Åð»@ZÏ\bÒ2 hBÚ"XH\8báw\81´\9e\11¤e@Ñ\84´E°\90\16Ãï\ 2i=#HË\80¢   i\8b`!-\86ß\ 5ÒzF\90\96\ 1E\13Ò\16ÁBZ\f¿\v¤õ\8c -\ 3\8a&¤-\82\85´\18~#H«\9aê\9aw\90\b\16Òbø\8d ­jªkÞAÚ"XH\8bá7\82´ª©®y\ai\8b`!-\86ß\bªh\8a\ 6dM\82\81´\f~;¨®)\1a\104   j\18D º¦h@Ð$¨a\10\81ê\9a¢\ 1A\93 \86A
+ªk\8a\ 6¤L\82\1a\ 6)¨®)\1a\902       j\18\ 4¡º¦h@Ä$¨a\90\85ê\9a\92\11ÝÛ\ 35\f>@uMÉ\88\8eí\81\1a\ 6\1f º¦h c\93 \86Á\a¨®)\19Ñ¥=PÃà\ f\94\8cèÌ\1e¨að\aªkJFtf\ fÔ0x\ 5U7%#:³\aj\18ü\81ê\9a¢\81ÎL\82\1a\ 6\7f º¦dD7ö@\r\83WPuS4Ð\99IP«à\ f\94\8cèÆ\1etf\15Ô\14\7f\ 4\83Q7\85+tc\12
+²O×G´­k*pýB\aö =àûtýEKú¥ÒÖ_t`\12\9c\e\ 6ñ\ 6è5ܪ\95\0Ð\8dIpe\15|h\83\ 1À\89B©¨\r    \1d\98\r\83x\ 3\f       N\84IEmHèÀ$òn\18|h\83ÁÀ\95\9c\r  \1dXE^\f\83\ fm008\14)\95³a m\93È£m\10o\80áÁ¡H©\9c\r\ 6m[Å/Û\ 6ñ\ 6\18$ÜJ\95\8aÚ0Ð\81\9aað¡\r\86\açR¥r6\ft`\18?k\eÄ\e`ÀhC¶TÎú\8e¶­â\17l\83x\ 3\f\18\96ÊÙ\0жaü\94yð¡\r\ 6\8cVÅK\85¬¿èÀ0~Ü6øÓ\12\83\84\8a\97\92-:0\8c\1f4\ fþ´ÄP¡²¥ä\84\ elãGÌC7ÍøÁÆ\18$T°\94\9cÐ\81\88\85è¬\19ßm\89¡B\ 5KÉ    \1dØÆw-Dgmø\91Æ\18*T°\94\8dyäb!:kÀw[bÀPÁRrA7æ\91\8b\85è¬\ 1ßm\89AB\ 5Kù.Ä\8dD\97\rȽ%\86\a\95\a!h$:{ôw[b\90P©R~\10\82v¢ËGçÒ\f\83\84
+\96òã\104\12]>:\97f\18$T°\94\9f\82\94\9dèò¹9µÁ ¡\82¥ü,¤ìD\97ÏÍ©\r\ 6      \15,åg!e*:~nÖ\ 6\18$¤¤jð\825lHY\8bî\9fûÇo`¨D¤úû\88×\80!b*:~hÆG\e*DDúû\88×°!b-º\7fè\1fÚ¬\92Æá7ç±%\ 4!(\ 4J\1e!b-º\7fè\1fº­\89À\9d~¸l\95VÑA\97\83´ùè\ 2\82bá\_\1c\8dC´ÑM\8aΠm>º\80¸@~\a\95qÛG\8a.!m;Z\87W¢0`}å½k\14R\90\1d­ÃC9\18¤¾òÒ)
+qH\9b\8f\16á³\ 4\fLS¿Ð\1d
+\7f m>Z\84ÿ\120\18Mý¼ÝQx\ 4ióÑ\16zÔ}=jj.üª\ 1Rx\ 1ióÑ
+úÕw=jjNäÁ\0)ä!m>ZA\1fû®GMÍJ\9eÍ\90B\12Òæ£\15ô´ãúÕÚ\8cpd\8c\142\906\1f­ ¿\1dׯ֦Á\9d=RÈ@Ú\82¸G¯{­_­M\83S\93¤è\1aÒæÃ=úÞk½kð\1fÔ     è9¤Í\87{ô½Ë\ 6Óf\8a\1e\82\0ú«wmÖ\82URt
+i\vâ\18\ 3è¯Þ5\9bk\93¤è\1aÒ\16Ä1\86Ñ_½k9×VIÑ)¤Í\87c\f£³z×x-\18&E§\90¶ .1\98\9eêWûµ`\95\14\9d\828Æ0zª_]Ð\82URt\ri#â\12\83é¦\1euA;VIÑ)¤\8d\88K\f¦\8f\11íX%E§\906"\8e1\8c\91¾´c\95\14]CÚ\8e¸Ä0:¨GúÒ\82=R\b\8e¸Ä0:¨G*ãÚ\18)d mG\b0½Ó\17\95iÇ$)\ 4 mJ\b\18\17\95\1e)\ 4 mJ\b\18\17}iÍ$)\ 4 mM\9ca\18ýÒ\veiÍ\18)d mP\9ca\18\9dÒ\vMiÙ$)º\86´Aq\89\ 1tJ/Ô¤\13äè\14Ò6Å\19\ 6Ð#½Ð\91\92¢SHÛ\14g\18@\8fôBAº2L\8aN!mVÜ`\0Ýá¿jth\95\14\9dBÚ²¸Á\0ºÃ\7fÕèÐ*)º\86´qq\80¾wD/\94¢[«¤è\14ÒÆÅ\r\11½Ð\b       Û¤è\bÒÆÅ\r\11þk\84\84aRt
+i\13ã\0½î\ 5ÿuAÈ0)º\83´\89q\80\82ÿ\8a g\9b\14ÝAÚÊò\8aþv\81ÿZ d\92\14]CÚÐò\8aþv\81ÿ* g\95\14]CÚÖò\84þ¶\9fçÂ'j\92\14]CÚÜ~Sx.|²6IÑ=¤-îw\84çb'm\92\14\ 2\906:
+\8f m\8c\142\90¶;
+\8f m\8c\14b\906=
+/ m\86\14\92\90¶>
+yHÛ \85<¤m\90B\18Ò\ 6H!\ fi\e¤\90\84´õQø\ 2iK¤\10\83´éQø\ 2iK¤\90\81´ÝQø\ 5i{¤è\1aÒ\16Gá#¤­\92¢SH\9b\e\85\8f\90¶J\8aî mk\14þBÚ6):\82´¡Qø\viÛ¤è\ 2ÒVFá;¤-\94¢uH\9b\18E\ f m¤\14-BÚ¸(ú\ 1i;¥h\11ÒÆEÑ\eH\9b*E+\906+\8a>AÚZ)Z\81´YQô\fÒ\ 6\18Ò\ 6EÑKH\9b-\85KH[\13E/!m¶\14ΠmJ\94_\87¸6uo®\14m c³¡ü2üÔ/·ÖHÑ=Ú¶\10
+'ðY×\9c´\8dB\10-\19\ 6\85+ôBã\9c7\92¢K´a\12\14NÐ#¥k¯©\14mù1P¸BïT¯í\ 6\ 4ç\96\ 4=Õ¾n\9a\10Îm\80     úk\ 3ºl9\85\13¸5\0
+'è»\19è¾ý\94¼À­ö)yÇ0,\81T/(?\v·z§p\82\ 3Á^P~
+\ e\95\ 4\a²}¡ü Ü*\9d\92GH\9b\ 3ÂðzDÉ\ 5nÕMÉ#¤Í\81Å ;EÉ       nÕMÉ#¤Í!\1d\17%+Üê\9a\92\17HÛB&\f»w\9448W4%/\906\87L\18vï(ip®hÊ/CÚ\16²áwè#\85s-S²åG\84¯cÕÿ\b:\13\ 5\85\14ÚP1\85\81´n¹\81\93^\e¤d\f\ 6\8eì\9d\92\ ei\95rÌoÕÙß\13Ý\8c\8bß\aÒúä\9eߤ\9b¿3:\1e#\86\riej\85ß¡\8f¿3DF\8a¡BZ\99ÚÂà;ø\9bCpÈ\18\12¤Õ¨u~\87>þ¶\90\1e=z\ fi\ 5R(y\85ô\18ÒoHk\8fBÉ+¤Ç\90ÞCZ\81\14J^!=\86ô\eÒÚ£P8\80ô0ÒoHk\8f\0ÒÃH\8f!­:
+\85\eH\8f$=\86´ê(\14\ e =\8cô\eÒÚ£P8\80ô0ÒoHk\8f\0ÒÃH¿!­=
+\85\ 3H\ f\86´ö(\94¼Bz\fé7¤µG¡p\0éa¤ß\90Ö\1e\85Â\ 1¤\87\91~CZ{\14
+\a\90\1e\riíQ(y\85ô\18Ò{H+\90BÉ+¤Ç\90ÞCZ\81\14J^!=\86ô\1eÒ
+¤Pò
+é1¤÷\90\85\92'H\ f C\80´\ e)\94<Az\0\19\ 2¤uH¡ä Ò\ 3È\10 ­C
+å×!=z\f\ 4Òj¤P~\1dÒ£Ç@ ­F
+å×!=z\f\ 4Òj¤P~\11ÒCÇ@ ­F
+å×!=z\f\ 4Òj¤P~\1dÒ£Ç\10 ­C
+å×!=z\f\ 1Ò:¤Pò\ 4é\ 1¤÷\90\85\92WH\8f\86´ö(\94¼Bz\fé7¤µG¡p\0éa¤Ç\90V\1d\85Â\r¤G\92¾BZo\14
+7\90\1e
+i½Q(\9cAz0é%¤\95F¡p        éñ¤\7f\90Ö\18\85Â%¤Ç\93þAZc\14
\90\1eRz\ 6iuQ(\1cCzHé\19¤ÕE¡p\ féQ¥O\90Ö\15\85¢\15H\ f\81´¢(\14­@z`é\r¤\15E¡h\vÒcK? ­%
+E[\90\1e\ 1i-Q(Z\84ôðÒ\ 3\88BÑ"¤\87\97\1e@ZE\14\8av!=Âø\ eiýP(Ú\85ô\bã;¤õC¡h\1dÒ\83\8c×\90V\ e\85¢uH\ f2^CZ9\14\8a. =Îø\viÍP(º\80ô8ã/¤5C¡è\bÒC\8d§\90V\v\85¢#H\ f5\9eBZ-\14\8aî =Úø\bi\9dP(º\83ôhã#¤uB¡è\14Ò\ 3\8e\8f\90Ö \85¢;H\8f6>BZ'\14\8aN!=àx\ai\85P(:\85ô\80ã\1d¤\15B¡è\1aÒc\8ew\90V\b\85¢kH\8f9~AZ\e\14\8a®!=æø\ 5imP(\ 4 =ìø\ 5imP(\ 4 =ìx\ 4iUP(d =òx\ 4iUP(d =òø\ 2i=P(Ä =øø\ 2i=P(d =òx\ 4iUP(d =òx\ 4iUP(d =òø\ 2i=P(Ä =øø\ 2i=P(Ä =øø\ 2i=P(Ä =øø\ 2i=P(Ä =øø\ 2i=P(Ä =øø\ 2i=P(d =òx\ 4iUP(d =òx\ 4iUP(d =òx\ 4iUP(d =òx\ 4iUP(d =òx\ 4iUP(d =òx\ 4iUP(\ 4 =ìø\ 5imP(\ 4 =ìx\ai\85P(º\86ô\98ã\1d¤\15B¡è\1aÒc\8ew\90V\b\85¢kH\8f9ÞAZ!\14
+\ 1H\ f;~AZ\e\14
+\19H\8f<~AZ\e\14
+\19H\8f<\1eAZ\15\14
+1H\ f>¾@Z\ f\14
+1H\ f>\1eAZ\15\14
+1H\ f>¾@Z\ f\14
+1H\ f>\1eAZ\15\14
+\19H\8f<\1eAZ\15\14
+\19H\8f<~AZ\e\14
+\ 1H\ f;~AZ\e\14
+\ 1H\ f;ÞAZ!\14\8a®!=æx\ai\85P(º\86ô\98ã#¤uB¡è\ eÒ£\8d¿\90Ö\f\85¢#H\ f5^CZ9\14\8aÖ!=Èô\0Ò*¢P´\vé\11¦\1f\90Ö\12\85¢\15H\ f\83´Æ(\94¼Bz\f\19 ¤UJÑ\eH\9b*\85B¡P(\14
+\85B¡P(\14
+\85B¡P(\14
+\85B¡P(\14
+\85B¡P(\14
+\85B¡P(\14
+\85B¡P(\14
+\85B¡P(\14\8a¾B:o\ 4\85B¡P(\14
+\85B¡P(\14
+\85B¡P(¼#\1f&\7fþüøß¤[ó\ 3äSCº!9 \96\ 2\ 5
+"
+\14@²%ݪïÀ4\1955?/%Ë6¯`ÁB\85\v\17)ZÔ¨hÑ"\85\v\15à»\¡Õ¨É\0²\ 2þ5\16·¯\10\bÔÈØ¤\98©\99¹¹¹\99©\89\11\16,é¦å\ 2ju¡ÂE\8d\80¢|4\ 2h_ÁBE\8cL\8a\99\99\17·´²±³···³¶47)Êo¹"©\161\86F\83\11\18\17-\\90om\ 5©\16621+nec_ª´ \9cSÅJ\95\9cÊ\96¶³45BmåYcÓÈ\97¯@¡¢&æ\96Ö6¶6%,\8a\19ñM®¨}F¦ÅmJ\96)çä\ÙM,S(\152¡ky\aks\93"xpñ¢¹ù4f}0\86"&æÖö¥\ 5\ 2G\a\81B\ 5xÑN5¨}Å\8aÛ\95©à*\94*«×òöiаaýÚ\1eb\17\ 16ØB¼\98\ eð¤_\0\91\9f¥@ÁÂÆæÖ¥ÊUr­ìâähoY¬\b¿Ì5_þBFæ6e*  \955ë6hêçß! Kç\8e­\9bÔQV­PÊ\1aFW\91B\ 5ó\93n0;©"ÐÄ\8fæÿÂE\8cÍ­\1cÊW\16Ëä2¡³ÀÖ¸\10éVf"_\81Â&\96¥\9c\84\1eu\9b¶éØ­W¿ÁC\87\85\f    êÚ¦\81§ØY`oe\8eÜ\16á¹\8b\9dT!N)fbbÌP\fü\96C\85ªò\1aµëxy\88+\95¶*V\84O^\0Z\ÔÌFPEU¯E§^\ 3\87\8d\9e0uæìYÓ'\f\ fêÔÜ[éV±\8c]      3cÒã\vOªÅÌ\8a[\96°²*a\89(QÂÚ¶¤cEwUí\ 6M\9b5®çá^ÞμhÁü$\e\99   \98°
+\e\17·w\12{5\v\b\1a>~úü%+׬[·ú¯9\13\82{ø7¬%¯\82¦.c²Ó,\96ª©¥MÉÒ\8e0?\95A8
+ÊV¨TUZ½^3ÿ\8e\1dÛ6ó\96;;\14ç\91\17@먩U\19Weý¶½\87O\9e·lÝ\96]{÷ïß³cÃ_3G\ fèâW¿º¨R\19k3#¢-\ 6ï_Ô´\84½£\93KUwww7À](\92ÈT\9eÞ\8d[\aôèÓ»{»F5ª:Z\99ðH¬`\bÆ\16\85\9eM;\ f\1a?wå¦\7f\ e\9d8sþüÙ\93\aw¬]8ex\9f\ e\8dkI*\95*AÖo!ï_ܾ¬«XY£VmD\1dïz>¾\r\9b´lÛ¹÷À\90á!ý»ùÕ\16\95³.V\98/bÅ1«\99u\19\17yÝÖ=\87OûëïÝGÏ^¹yçî\9d\e\97N\1dغrÎØ\81\ 1Mk
+ËÙ\9a\15\ 5°÷·vt\95Õ¬ßÔ¯MÛ¶mÛµï\18йk÷\9e}\a\86\8c\9e0eÊ\84á}ÛùÈ*Ø\9a\16æË\9c\85cV\b\ 3D\9e\8d\e3gÕ\8eÃç®Ý{ôôùó'¡·.\9dسaÑÄ\81\1d\eª\Èú-h¤\91\ 5xÿZ\8dý»öî7pð\90à¡ÃF\8c\1c=vüäi³\17,þkÑìñ\83\ 3\1a**Ú\99ñ&\14À1«mÙ**\9fÖ\81C'/Ú°çÄ\95»O^\85¿{÷öõóÐ\9bç\ enZ4®Ok/w\ 1Q¿\ 5\8d4¶tpUù¶í9dô¤i3gÍ\99·`Ñ\92¥ËW®^·qÓ\96\96Î\18Þ½\89ª\92=\8fÄZ \88I        \87JÒÚÍ;\ f\18=kù\96\ 3go<|õîcÔç¨O\1fÞ<»{áà\86Ù!\ 1õ%åmHú-\10«I   Çª\9eÍ»\ 5O\9c»tõú¿7oÛ±k÷\9e\ f\1e>rôÈ\81\9dëæ\8dîÙ¬\9a³½9\9fÄjj#p«Þ¨}\9f\11S\17­Ûuôâݧá\1f¿ÄÆÅÅFG¾{~çÌ®%c\ 2\e+\9c\88ú-F¬î^­ú\8c\9e»jë\9eCÇN\9e9wáÒå«×®\ 3\97Ï\1eÞºd\ïæ\1eÎ|²Ö\82EÍí*\88ëøu\ f\9e8\7fÕÖ\ 3§¯\85¾úð9.1)9)1.êíã+\aVMìÓLUÉÎ\8c¸XݼÚô\9b°dó\81S\97nܹ\1fúèÉÓgÏ\9f?\7föäÁõÓÿ,\9fا\ 5¯Ä
+s¬¹}E¹O» Ñ³\97oÞ{âÒ\9d§á\9fb\12\92¿¦¦¦$ÅF¼¸qdí\94 \16ÕH\8bµ ±eé*5[\ 5M\¶ãø\95»\8f_¼~ûîCÄGàCø\8bû\17÷­\9aÔ§9á6f\ 6Y«}%\85oÇA\13\17mØ}ì­\87`¬ñÉ_¿ýûï·\94øÈW·\8e­\9fJ\¬\7f H \94\8bGó^ãþÚqòÆã°÷\91\9f£ÁOaO\15\8eFÔ$\18Q\15ù\14`\15(jfç$÷í8xʲ­\87ÎÞ\b}ñ6261åÛ¿ÿý÷ï×\84¨W·\8e®\9bÒ·9é&Ã\f`fë$oÐeÄüÍÇ®?        \8f\8c\89OJN\ 1\92\13¢?<½vpÕ\84^M\14\15\88\99ÁSVyI½ö\ 3§,ßqìò½gá\1f£\13\92SAªH¬\91/o\1e^3©w\13\85\13Ù&£U\96\95£{í6\ 3¦®Þ\7féá\9bȸ¤¯©h@¥&ÇF<»v`Ÿ\1e\8ddå­ù³xÍ\97¿0\9a\r
+\9a°tû\89k\ fÃ`¾J\ 2\17ðßÿ@¬ñ\9f^\?¸r<ù&ãõ@ÉJÊÆÝF.ÜzòÖ\8b\88\18h#hþ¿o)q\11Ï®ì[6¦\9b¯¤,\8a­\89513L\83\9dUMº\8f\°ùصGo>Å$¦\80±þ\ f\8bõ㳫üh2\fªbV\ 2w¯Öý&¯Ü{1ôMT|
+\88\15Ú\bb}ry÷\92\91\9d}D\8e%\8cù³1\88½@9qÝv\83¦¯=p)ôMd,6\84ÿ©\9b¼\87\17MF\8bA\v\88X|\ 3Bæl<rýéûèįhD}K\89ýðøâ®E#:y»\97±4*È\13\1fÀ,\f\8b;¸z4í1fÉ\8eÓw_~\8cMB\9eõ\7füj2Ú\146)Q¦r\8df=Ç,\86f¾ú\14\97\8c¦Õo)1ï\1f\9dß1?¤}íª¥\8b\17å\93X\v"s\15\e4cÝ¡«OÞ}I\ 4\1f\16+\8f\9a̼Â('ªãß\7fʪ}\97\1e½ý\92ð\15\8959æÝÃsÛç\rmçUÅÁ¢(_â«?Xs-\85¼ë¨EÛOß\r\8b\8cKa\9c\0¯\9a\8c60\8d-JV\947\b\186wÓ±\9bÏ#bQ¼ò-9ú]èÙ­s\83ÛÖ¬\Ê\827\8b¬?ðÙ\90"Ŭ\ 5\10½ô\9fºúÀ\95Çï\18·õ?¶É۠ɵxÐdÜLä\ 6`M°ô\9fs\ fÞ|\ 6\17Úø\16Ä:g\88?\88\95?;-\b¼7\bÓA\83ÎÃçm9qûåGì¶°XùÔdµ\e@ÞjýáëÏ>Ä\80¹¦B\e\1f\9cÁmt-I¾\8d\19\83*\9e-ûLX¾çÂÃpd\aü\13ë\1f\8c\e\80àµû¨Å;ÎÞ\7f\1d\95ðõ[*ÏÚ\98\11l\a¶°Ôê\10<kãÑ\e¬Ûâ\99\13`Ô_Ì
+md\r\98¶öеg\1f \99©\99Úȧ)ë\ fÆ\ e\8a\97rAAÖ_»ÀmEñs\96Eê7·s\927ì:r\11\98+x×\94¯¨\8dç·Ï\viïUÕ\81t´¢    \ e²¬Ë
+ë´\1d8}Ýák\8cÛâW\80Å´\13{«ªµZ÷\9f¶îðu4ªR\92¡\8d\17v.\1cÞ\91\89­y³ÊÂ0\8b\98JÊFÝÀ\ eÎ`·\856\ 63/\aÈ7\19{+d®ÝF-Ùu>ôí\97Ä䤨\ fêÅ« \841oö\ 4\18\98YËÑ\rì`êÚ\83×\9e~\88\81¥\16ÚÆxzyÏ_£ºà&ó@¬¬¹ºyù\ f\9a±ñØ­\97\9fâ\92\92b?>»º\7fù¸À\86²ò<:'À¢v[\rºü¹pû\99{x\96ý\86·Zö/\1fÛ½\81´\1c?N\8c0æZQ٤Ǹe{/=~\1f\93\98\14\877/'£ml;Sòóª\ 6¬ÛªÙªß\945\a¯bs\ 5±F¾¼qhÕÄ^\8dy³E\8c7^\ 5\ eCçn=}ïMT|b|Ôë»'þ\9e9°µ§+\84\ 2<\98\0\ 4Y\15d¾]F,Ø~\1a\99kJê×\84¨°ÛÇÖM\r\89øñB\ 35Ó¢¤Kõ\16}§¬9|ýÅÇØÄ\84/\10¸n\9f\1fÒÁÛÝÑ\92GgÛXP\90\85_Ã¥\99ëׯ\89\9fßÜ;¹ ,¡\ 6o\960(vµ)/mÐuÔ\92\7f.>z\17\9d\90\10\ 3\9e¥£»\81§â\9fsM7×Î#Xï\9a\92\92\84\960Û pE\11Ö\8fì\fjÿB\1f>àRÆ­vÛ!³7\9fºû:*>!öã\8b\e\87VOêÍOçÊ4Xm®\10\fÄ&¥$ż\7f\9fÅ\7f\ 6Ôû\91è\85½\87¨eÉâWÅÎÕ\9a÷\99¼æÐ\rð\ 2  à\ï\9cø{\ 6r®%Íy°hÑ@m®(\18\80Ø\15Ö0ÉIq?\1e½¤_\99Ðî­Nä\ 5¬ËI}»\8eúk÷ÅÇï£\13âYçÚ¾\8e\e\1aR<\b\ 33\93\10»â5Lb\12\84\ 27\8f¬\9dÌ\1ckÉm\80åËxe¢ 6oƨ½@»`\88\ 5@ùñȹ^\82\ 5A\17\1f1\1eRü4W¼ä^¼ó\hø\97\84¤øÏ¯ï\9eÜ4kP\e´I\9c\82\rµ`ateÂÄÄ\18ß\8cÑ¢\Á\v@,вߴõGo½\8a\8c\ 3çúüÚ\ 1æý0OÂÀÌ £N\96eªzµ\198cÃÑ\9b/>áèåá¹\1d\v\86w¬+tÌÑ\12ò±wO\8d\8b[ZZZ\98\99hõ¢$\8e\ 5\eõ\18·bÿÕg\111  q\91i\87Dx\12\ 6fF½\86i\1c8fén\88^¾ èåé\95½ËÆvo\88-!û&£á_¸¨\89Yqk»\92\ e\ e%íÐU®B\ 5´f®È\v\94\10\88ê\ 5ü¹x×ÅGȹFA\18\b\v\82Vü      \ 33Ãì\f¸×i7dö¦\13wÂÐ\0û\ 4ÎuÝ\94 t\1e/\87i\96¹ÐkjiSʱ|%gg§r¥m\8b\17+ªE\1f\97¿ Qq\87ª^mÁ¹\9ey\10þ9\1eÏY?\13\ 6ê\1a¼3PÒ¹Z³Þ\13\87%At|\1cX©-s\82ÛÕv+\93Ã\1a\ 6Ö\11èêi©²\95ª\8aå
+¹Ä­\92£­\85±\16\a\ 2EÌí]ªûõ\9f¾áø\9d°¨¸\84è\9f        \ 3IÀD/b\9f\80á\v\9f}ðæs\ü\97w\8f.î^2ª«/^Ãd#+|¡×¶LEw\85§w}_\9fÚ\1ebç2Ö¦Z¼y\ 6\8d4µuR6í=iÍá\9b/?Á\90\8a`v\84\1a\92\94\13ùð\0«ìÙªÿ´õGn¾ø\18\13\1fóñùõCk&÷i\8eÎ\90g\17\v Ëræ6\8e\9a¾-ÚvìØ®e\ 3O\91SImÞà@3+D®\r\ 3aκö\1c\16\ 4q\9f2lbñpÎb\8e\ eA\8cÕ¨û\98¥{.=~÷%.6\12B¬Í³\87´ÍÁ\vàËrÖe\åÞÍ;öì?dp¿À¶\r=ª8Zå4¿q\ 1\9e³Ä>]FýµçòS\b\ 5\98\19\ 3ð\9cÅ¿uÖ\1fì4\v\93Vûà¹[NÝ{\1d\15\e\87¼À?à\ 5\1a\8d\ 5\98×`\95dÞ~Ý\a\8d\9e<mêø\90^mêJ\9dì²µl\8e\80!eYÆÝ»Ó\88E».>þ\10ÃlbÁ\9cÕ¾6?×Y\7f0\87ÞKºx´è\vKnXiÅÄÅD<¿~xÍ\94¾-ª»\94´Èrç\ryV3\9brB¯\96\81æ,X¾jÅ©!Ý\9aU¯\\1a\96\ 4\v\v\82⥫Ön\1f2\7fÇy\88°\12\13Ó×Yeù±Ý\9e\ 5vãÍ\17m¼]x\84¼@Ôë{§·Î\1dÚÁ[(°2Ñ4WöÆ\94G\93®!3\96oÚµgçÆ%\93\ 6´ó\16\95³\81IK[kØ|\ 5\8aZ8Tñj7tÞös\ fßE'&Å±ë¬Ær¾l·k\92qãíäÝ×\91à\ 5Þ?¾´wÙ¸\1eM\94\15í4¯hæËW\10|1:Ì=hê\8a\1dGN\9f=±oã¼?»7Q¹8X²ùH´ÑÆ\ 2E,JU®\89\ 2׳¡ Öäx|\18\9f½ãÀÇ\ 5\8d·ëÏ!\16\80\15Á­c\eg\fò÷r+SBc\881§8ñ¹¨%Û\8f_¾uûÚéÝ+§ô÷¯#*o\ fk\ 2-%ÐA\81kÉÊ5ý\87ÌÙzöÁÛè¤äÄ/\10]o\9e=ø;[\17$Ißx[\82\17°ñq\9fÃCÏïZ<ªkC¹\93¦¹²7\ f|:\ e\9dó÷\91+\ f\9e>\r½vlóü?»5©^µ¬:1\916\9a\bbuõl3xö\963H¬)Iè\fÆ\8e\ 5ÃxyX\80!}ãm\ eÄ\ 2o¢ââñ¤µnjÿV5«\94Î\1ccåc.öToÞ\e\1dÞzðòmøËû\17ö®\9c\83oµªåJ\96\8e\885\19¿y_:º+{\1a\9f\9fæ\8a¼\0Ä\ 2\1eAÛX °\80½\7ffÇÂ?»4\90UÈ|\ 1\9ey\ f*ªÛ!xΦã·^¼\8füôîÙÍã[\16\8díÛÖ×íB©\12¦ZÙ\e@¯  Á·\82X7\9f¾\1fþ%ék
+¾;²jBOþ¼"Î\ 2\13\vÈ\1av\1f³lïå'\1fbð6Öµ\83k¦ôËb®èº\14Úñê1vÙ\9e\8b\8fÞFÅD\7fz\1dzñÀú¹£ú´mPݽ\82}ñ,¡\ 3\aíc^fV­å?D-Ö¯\89è\15ñú©ýøuC3\13Ø\v8º{w\b\99¿ýì\83ð/        \89q\10c\9dÙ¾pDg_\rsE>À¡rÍÖ\ 3¦£ýYô^)úÃ\8bÛgö¬\99\ 3rõ­VE`Ã}v\87|8\ 3\82µ@\bK\969[X±&}  ¿\7f\1aæ,\7fþÎY(\16°(åZ£\15Ú!ºý*2>        Âí§W\91¹úe6WfI&¬Ûq\18«\80䤸¨·On\9cúgÍì\91½[ÃbËÞÂ\88s±â$(öNR\9fNÃæ¡×. ÖT|npç\ 2~\1epcaö\ 5\14Mz\8e_yàÚ³\88ؤ¤x´$ؾ@Ó\Ù=\8f\ 6ÝF/Eî"\16\9c\bì§×\8f®\9fܵjFH×&\1e®¥9?\10\81s\f\99Y;VöhÜ}äÂíèUfâ×T|Zl/Ïç,\90\96UY±OÀ\9f\8bvÁB\vÂí4se½k\ 1µX\v\9bÚ\80ü{M\}èú\8bOñ)©©)        Ñ\11a¡W\8fm]2®O«Zn\8e\9a\81\eW\0¤jåà,õnÝwÂÒ]ç\1e\84\83X¿}Õ\839\8bÙ~¯RË\1ffÚS÷^\7fNHNV\9bk\97\8a6>í*Uk\1e4uý±ÛaQнo©Éñ_>¼¼w~ïê©\ 3ÛÖqç\¬xì\84\83\93¸fÓ.Cg¬Þ{ñáÛ/\89©ßôaÎÂ\13¼=\88«ïäµ\87o\80\15&C¼\9df®Ua©ÅNï V3\bÅüúOßxâî\9bÏI©ÿþûíkr\Tø£+\87ÖM\1f\84Åʱ\13À\99\9bJV\10z6îÐ\7fÜ¢M\87¯>~\87Ä\9aª\17sV~Xh\95\a\9f9fé\1eä3\93¿¦$0Á\0Ä®r¼é\87e\85Åï\½Õ\80\19\7f\9f¼\aSGê¿ÿýû-%áË»'W\ f­\9d6 M­*¥\8b\es:eá·B¶eݪ7lßwÔì5ÿ\9cºõìC4:\8a«\17s\16^há\10k\e\9aá\13!\82Á±ëÚ©ý[c\87Y\18¿XÅbu©ÞjàÌM§îA \83îLÃxüòöÑ¥}+'önîÁl%rÛ2\13K\a\17eý¶}FÎ\±ýÈÅû¯>¢û#ßôaÎÂÛ-l\88\85\9cfBJ*2WXj-\1aÙ­\91²\12\84M¸á¬µú¥Y+ºuô5\ 1\16egá\93]Ñ¢\8cÛ³fù\98{Ï¢Ú~=GÌX¾õй\9bO£Ð-²\7fõbÎÊ\1cb}\8c\83)\1eÌõÙµÃë¦\ fô¯#\14X\17+\82\12\8f
+SVË~Ó6\9c¸ó\1a|+²Öä¸\8f/n\1eÝ0c\90\7fm4cåÖÃ\9f;\ 4Ç\9cò@7rT\8d:\ f\9dºlËÁs7B_}ø\92\90òí¿\7fSõbÎÊ\1cbÅ$¡È)êÍ\83s»þ\1a\13ؤ\9aK)æ\r 
+°l+ª\9aõ\9d²îè­WQ\89È·¦&E£wµËÆö@ù¾ÌsX\r°%\ eò3\99\83\7fD¸Ì!/\b®lÊ      k·\ e\1a¿xÓ\ 16\ 3J\12ºì¤\17sVæ\10\v\ 5Ü8{Çó\eG7Î\1aÒ¾®¸\9c\8d)Jè\8a¦6\9b
+òÆ='¬:\ 4\11\ 3ºÌ\85\12\91\84Ý9±yNp{oQÙì_\142'¶Øspè$\Á\ 2ß\15-#Ô¢ÆfV¥]T\r;\87ÌZ»÷Ì\8d\87/ß~b3 èÅ\9c\95%ÄB÷3\12>\87\87^س||¯æÕ]\1d\98WUȨËI bX¶ïê³\88¸\94o0%ÇF<½z`\15\9e°JYd\93\9e\949ZX¤¨\91I1SD1\13ã¢E
+\17üÎéMöèLqk\87\8a\92Ú­ú\8e_²íøÕÐ\97ï>}\89\8bü«\1fs\96f\88\85\ 2ý¸\8f/o\1dß<7¤\93\8f´¼­\192×ü\ 5Ñ\9e\0:\rõÏÅÇïáSÈ\a¼\r=·cá\88\0\1fI9ë¬ÙIÕVgj^¼\84µ\8d­\9d­­µ\95¥\85©\89\11\96l\8e&\8b¤ZÔÄÂÊÞ±\92سI\97¡3×î¿pïù»È踤\146]\8f^ÌY\99C,\1c\1aBäô\ eEN\93ú¶ôd߬"_QºªW»à¹Ûð~r*\8a\ 3Âî\1cß8s`\e\16Ïb¬hû  \9d\82Cy\83\ 5å\9d*V¬èT¾l\99R¶VÅÍ@²\85r4Y\94\16·XqÛÒ\15ªÈjÁB`\ 2\18ë\8dÇá\9f¢ãAªè6ùÿôcÎÊ\12b}e³\8dÝ9µuþð\0_)³\84Í_\0½ý®\ 1ë\81\8d(\14@{\1eØhVOìÝT\95MÞO,Uc3KÛÒå\9d«\8aeJU5\95R&vsu*ë`geaj̤\8cÏÎ\e\17(llaëXIäQ·y§~£ç®ß\7fáþË\bµTQò\ 3ý\98³²\84X\10\eÂ\0\7fÿäÊ\81Õ\93\83ü<\99\1d\97üi§¡Vc\17\9c\82&¶'ìë\8frÖY¢+´UjlníP¾²ÄÃ˧aÓæÍ\9b7mT¿\8e§R\¥¢ ¤Mñ\9c\ 4Ëä\99.\r\ e Aën\ 3ÇÎY½ëä\8d'o£\98dXÿ1\19PôcÎÒ\b±Pâ\ 6d®awOo˰AX\80Ý\19\1c³lï\95§\11qÉ_ÑÍÞó9ÝìÍÇ\9e×r\16×ðiÖ6 °wß ¾½{téЪ\89OM¥Ð¥\9c\83­¥\991s\94;Ëi\ 4#sÛrnÕ\eø÷\1c:aÞê\1dÇ.?\bû\883K1Rý\9f\9eÌYYB,&&Å;.«Óö³\v ×\1f\8eº\9d\86/ÜyáÑû\98$tå\b'£h[\vÝ\95/\98U:f6\8e®ò:Í;ö\1aüçØIS¦N\994~TÈ\80\9e\ 1­\e{{H*W(Í\bVó|\ 1¾é\ÒIZÇ/pè¤\85ëv\1d»t÷ùûÏñÉiRý_\869\8b_Yñ4È\12b¡àð+ÚqÉh®\ 5
+¢ó%µü\870¯?\12\997öø\82\9c\93Ñ(GX\89Ò.\8a\ 3\83ÇÍ\´|õºõëÖ¬økþ\8cñ#\ 6\ 4¶oîSCZ\ 5\ 4\8b]AfÁ2Yz*)ê·ï7nþÚ\7f\8e_ºûìmZ¾.\ 6õ\9c5­_K^ÏYYB¬ÿÒÌ5íõKá\ 2\ 5ñ®@ËþÓð    Þ\84¤\84ϯï\9eØ8½¿_õ¬}C\81\83¹]\ 5\89wë^\7fÎXºqç¾ÃG\8f\1d=|`÷ö\8d+\17N\1f;´O§\96õ=¥\95Ë;ØXh\1eÜ`¬ÕYÙ Óà)˶\1d\ 1©\86£är8\ 6`aç¬-0ge7Pø\ 2\ebÕé\102\ f\82§p¼ë\87sdf~ý\82Î
\9dà\8d\8cK\82\9fß9¾aZ¿ìR\93²·\95=[ô\189gí®£ç®Ü¼}çöÍk\97Î\1eß¿cò9\13\87\ 5uö«ï)q-[Ò
+\95åÈpû\0+ÄÞIV¿Ãà©+w\9dºñø5\9b\7fébý¦NØÐ©®\10_~Õ½Ì~\ 4|Oǵ\86\1f\18â±[¯"q\9a\91¬æZ\10\1f\81I;Á\8bîK§\89\ 4\16ZAæ\e0tÖ:Xz\86>}\19\16\16öòù\93ÐÛWÏ\1dÛ³yÕüÉÃ\83\ 2Zúx\88*\95±µ@'¸ÒäªN\81V»M¿\89Ëv\9eºù\14G\ 1ß2\89\15ÏYWö.\e\83/¿òvÎb\8e\92+\1a£{:0ËǦ|û/\es-\ 4\ 6\98á\ 4o&±jZ+sÒ»F˾\13Wì>{çYxħ¨¨¨È\8f\1fÞ\86=\v½uéäþ­«\17L\1eÞ§c³:\8aÊeí-\8b\15Í(WŢ´«GÓî#ço>zí1Ú\ eLý÷¿LbEsÖ\8dë'õnª$\9bÉ;Wp>j\81¨^§á\vv\9c\r}Ëz\ 1Ms-RÄ8ã     Þ\84xÖ·f3oà\98M ªÛ1dîæ\137\9f½ÿ\1c\e\9f\90\98\98\10\1f\e\1d\15\11þòñ\9d\ fl[=\7fâÐ\1eþ¾ÕÝ+\94ÌTþ\8aÍ}$ön;`ÊÊ=çï½ú\18\93iÂbæ¬Ï¯ï\9cØ\88\ ee»ðôP6\829[á\89ÎV /\80c\81,æjTÄ8ã        ^\10+\13    @ײ\88\955ÿÀ±Ëö\zô\16e\8aNMMýú59)!ö˧÷aOî^=}`Ë\8aÙcúwjRSäTÒÒ$]®8é\89¥\83\8bªQ\97ás6\1e¾ú(<*>³o\ 5ç\8a\83»ms\83Ûyñô"\11\86]h\81\17X¾ï
+\e\vd4WürÛÄȸx\86\13¼                _Â\1f é¸MMWÍl_ù\98\95®\1fºT\89.¨àDÑÿ¡\8cÁ_S\12ã£#ß\87=½{åäÞ\8d\8b'\awmVKTÁ>ã-$æ\8a\82À­fË^c\16m=~ãé»Ïñ)\9asV¬ú"\91\90t^Ô\H\e´Ãæo;sÿÍ\17´"ø_\9a¹.d^n\9b\9b\14\ 3\7fY³-:j\1a\8a®\1dF¿\v=·M\9d:+\93Åà\13ÿnµÛ\ fM\ f-°8@´ßRS\92âc¢>\84=¹sñÈö\15ÓCº5«é^6ÓI#Tz\ 6eò÷\86YkéÎS·\9e½G¯\ 52FXhÎb²ø6\90ð$µLv0§,]\91y­CG\aãS°XS3½Ü¶23µ\ 4±ú3g"¿$$æ\98\96\8aY\ eKêÃì¶û\12cüi\12A\82ý\9a\94\10\13ùþÕÃë§þY=#¤kc\8fÊéoÎÿ`Ý\0,  äõÛ\ f\9c²â\9f\9f\7f\88Î,WP8ÌY\87ÐÞ oϺ#°\17¨ oØ\1dÝ\80}ü>\ 6\v\825Wôr»kCyE{K\8b\12à\80Û¤\895\96ÍñT_,°Ê\14\97Ô\9aô\9a¸êàufÙ\96a\ 4\833\0ÁÆG\7f
+\7fzëÌ\9e\87\ f_n\9eag\11\9fh+QÚUÕ°Ó\90i«ö\9c»û\12\ 2\8f¯ß2\88\15ÖYÌ\9db&W>oÅÊ^&j\17<\açï`\12:2æz\r\1f\ 4ðr/k[º4Ìk\83fá3\91   Iq\9fØ[èr\8d[èØµºâMD´ \ 3\97ò¿\8c°® îóûç·Ïü³|b\10®Ï\93ñ¥\rÚs5³v¬âѸËÐ\99kö]¸\1fö)6ã´\ 5ë,\14
+@t×\92t\99\84ÜanÀz4ï3iõÁkø¥J\9a¹Þ?»sñhô¶°\8c\9d½cå\1a­\ 6âwÚ\9f\13\92âÕ·Ð5oG0®µ\ er­øÀÿ·ÿþ÷¿¬\82MNøòþù­\13[\172oÎÍ3zWì^mʺÕhÚmø\9c\r\87®@4\91\90\92Á\95|Kú\82®jÏ\18\90ÝÊ\99G0×\b$õ;ÿ¹hçy6tEæ\9a\1cóáÙõ#\ef\ eéPOZɱtÙ*5\98óBè¸V\ 2NF\94\ 3ëZQ.\90=ȵ¦d\11+#XöPÌ:4\16ÜÊd:k\94/?ÚW´-ç^³EÏÑ\v·\9e¸õ""£¹"±\863Ñ]õ,Ñ\1d\9fÀ\eG¥«Ôj3\10§\9e\8bÄ\93\166×ÏoBÏï^>¡¯\9f\97¨Ry'7Ï\96ý\98Óm     É\89ÑïPb\87a\1d½\85\99ÒRåêZ3LçßRâñXÀÇ7ÊÛd:¾\81åja_A\§\rÎ\93\8f\8eµ}Õ?±ª\ f±7\81Ðuïe\98´Ð\ 1\vl®±\1f_Ü:±eÁ\9fÝ\9aÖ\10¹º\8aj¶ì;yÍ\91\9b°fHN\8aeVæÝ5²æ|ǵ¦Ë\95©{qhÍd|o1ó\1dO|\eܲ\94³²a\97\11ó·\9e¼\13\16\19\9fY¬zá\ 4p       \r+\81°n\87¡s·¤MZÈ\\13¿¼{|åàº\99Á\9d\1aÕ\90\8aå^~}'­>\84\ f\17&£¬9\87×bç\9a±oßu­ir\85±ð\1aå0\18¦]È\9f©A(#ªÀ½¶ÿÀéë\8fÜxñ1.Ý\99èÍ\94\95vA¨EßÉxÒ\8aec¬oÉq\91¯ï\9fß³bò\80\ e\rkyԨ׺ïÄ\95\a®=ÿ\18\97\9c\822½¡«ghÛ3](\9aQkv®Umth\87\ f­\96:£TA\99Ãz¦&­Cå\1a¨Eø¨xú\17éK\80õ\87ú:\9bÔ\17\1døì [\96\ 4\82¬\88\17·OíøkB¿\ eM}|\1a·ï?iÕ\81«Ï@¬_\93bÞ=º°kÑ\88\0\94\9d4M(?æZ\19sMAÙ·\ e¬\18\17\88\14ËæÚb)×ê-úà\af\12«\9e,\aþø#-5Vë\ 1ÓqÚ\ 66ÆB¯_¾¼{zýØ\96Eãú\a´nÙ¦ë\90i«±XS¾b¡ì_ÁÜëMÛ\9fSo\b\90\9bkeÅ\83²o­QïðiZ+\93¸\13å\e¾ñ<\83\13`\16¯Wx¿xÅä+\b\93\96\93¢Q÷1\7fí¾ðð]t\12k®hÂ\ e\7ftåȦ\85ã\a÷ìÚ=häìõ\87¯£^¢4\9a¯\98wJÕ3ìÏ1\a5j·c6\ 4¢Ñ\99Í\1cŪ>I\11\94u/\\9d\1cݧãй\9bOÜy\95aÊb_\ f äÈøõ\0_·Z0LÝ'÷Úm\aÏú\eß&b¬\ 3MØà^C/\1dú{Ñä?\87\f\191yÉ\96ã·\98[\19è\9dÒ\99­iûsù\99¯)\84·»;\8f\\ 2ëàL\e\ 2\0\9azîâ©ÇCcêa\17°lI\87ó¡á\19\ 2,õˬ9CÚza¯ÎcceN\95ÛWR5í9^\1dcýËÈõkRìǰ\a\97\ emY6gêäé\v×í9{/\fç(VïÏ©³UããðìÙÂ\1eãñÌ\96\8bkM\13\vÏ,VæpKÉ\8arßNCgo<zãY\86å\0\b3Öú©0LøT\9a4{p®ÿ²"\1cc\9d¼\e\96f®è4{ÌÇW\ f.\1dݹ~ÅÒ\15ëw\1d»ú\b_:\ 1÷\80\92&¬@Û\ 2i3\a\ e\80+Uk\114\15\9f\84\85@-G©\82XÑ6ÿqt\9cJà à]\ 1[üJkÒ\8a=\17BßD¥/^\99\82dàÔÇáçòö¥\vKZ\8cÕgâªýW\9ed0W$×\88W¡WO\1dügÇÎ}Ç.¢-%tÙ\85­`\98)i\ 2ÊW\81.ÿ\ e\9a\85\ es|É͵ª\ 3%\940R\99)PÂ.ÀʱJ\8dæ=F/Úvò6¬]\93R3ø\80è·\ fÑ\81\9aNõD\9aq\19\ fa\8eëK|:\r\9b¿õTº¹âi+1:"ìñ­ËgO\9e:wåîÓ·¨ä\1a\85\93&¨·\ 5°XÑ\8c\ 5\8b\81\ eÃæï8÷ð]Ln®5Ç@\89\82\96X\9d\87ÍÙxäZz   *Ö\aD\85ÝAI²á±\ e\16|=\84\95\86:ÁE˾\93°¹F§më#¹Æ|
+\7fþðî­[wC\9f\87\7f\8aIJ/®±cþ°\ euÜʰs\16\93\16\10ÏX¹/\ 6r   \94ðA,»
+\92ºí\ 6N]½\8f-\9c\97\1e\a¤ $c\aVNè\95íYEþ\81w³ËKë\a\f\as½Ã\ 4\ 3ér\8d\8dú\10þêÅ\8b\97¯ßGÆàÝz\\14\8eMô£NN§N\bÖ}ìòýß\9d±\989\ f-(2½\93b×­nµüú\8c_ºëÌÝW\1f\0ð\1c\1f\95Qz!>/\ 6\18\98%\ 1~¿¿rߥGïÒ\83\1aä_\93âc>\7f\8a\88ø\18ù%6­\8e)3g\8d\vl¨>\aÁ\ 4\ 2ørìá\e/#¿3c%E\87\10¡±ë    öÝkµÆÝþ\9c¿åøÍg\1f¢3í^¥ ÔmG7L\1fк&³hæ¿XaI\80BðN!s7\1f¿¥.§ÅÊ55%)!.666.\ 1\1dáEf\9c^\1e¶©º<,{%¦yß)ëðåØ\ÖXÌjàÎñ\rè\1cW\86ãq\8c\vp\92út\182cÝÁ+\8f\99-ìtce.Ø,\1d\8bʨë\83\ føC\9dëªzó^ã\97CXÃ\96Óbú\83\f6%99)99å«ú\ 4/\ 4Ha\99\8f¶0\17¸<Z²\9bݹ\ 5\ 2øtÊóëL\9dáôÓ)ê­+¯VA\13\97ï>\7fÿudºrÿ÷\1fc¬·\8fo\9a\9d·P\90ûm0¾À\9e\80\12×m?$C9­4¹þûí[j*Ä«i'xñ¾g¦Ó\98\9a×\rs\9b±Àµ~x\f®yT\97úéç\7fY\17àZ­IwT?7slÅìT¾}t\11]ÃiV͹$÷¹!´\ 2³mäR­I`Z9­\8co£ñ!
+ü/µ`p¹\ 2T\1a\8c=,Àd\­ÑzàÌMèEâw\96®0÷\9cÙ6wh»\f\19\ 3Ó\@Çà\99ë\ f\14[¥í«\1fÿ{vp\87ºâ²Ù\°á%l\11Ha\1d\7f\N\8b©O\94£d\98:[\99\ e\v0\19\96j0ïgßFç"V¦\1eúíc\e¦õ÷K?J\95Ñ\ 5¬Øsþ\81º(±ú\81ì[ eãz6óp)\95õ\82\rOaËi)P9-\A#>\97È\93\9fñ°\80Fâª\Å\9aÂ$\fD\87ÕÕ®Uí\ 2<\9at\1fµ\10\96W/?fz5\88_±ãw\96\83Ûy\8bÊZó°TFöd(§5eÍ\81«\19Ö\ 4Ù\e\¼Æa\81\9f\10+\13µ¢¨·~ZzKô&ÛÂÞIƸ\80kOÞg\8a­\98«"÷ÎìX<º{\13\95s¶W\17y
+[NKÖ ó\b\8d5A6ü\9b\9a qXàgÄ\8aëÈ \8aBuP\1eÞ\828<+XÔÔ¦¬»W렴âé\ 2\8a~÷øÊ\815Sû·©í\8eo\8fk·¬\f\870çv«xúõ\9d¤±&ÈF4©\89é\87\ 5ð\9cõ\13¾\95ÝQ`¯\0\18á\vËø&Ge\8f¦\81Ùº\0tÕþåí\13\rïÜ@ã\80\11ïa·å¥ì\9aàE¦®e\1dÈ8\95">ÆÏl¹2\91\0N\93\91{$\80\ fÿ2eÅÐF\r\12+:\1cP\9cÙd\9dµAÓ\ 50ojÃ\1f^س|B\9f\96\9eUʨ3sè       8\ 3\1d³&X¶û<^\13äøN\1a§ø¸²où¸ÀFr\9c\0#\7fÖ4\19¹\8a\15[:Îô\82n*¢«nåQMòÉ+÷^\bÕt\ 1i7ò\83\93\94·å>M\9cVɰ&\98¹á\b\9cã¬\857ê_Þ:º\1e\ 5I®Øä\984\19-ú¡{F¯?'æ.Ö7÷No\99;´½·\10\85
+\16\85«z¶è9fñöSw2»\0& còGôhê\81óGèI\18ÀÂ\16\86\875ÁèÅ;ÎÜ\vËeÖÂÛI÷Ïl\9b?¬c]\11Îü̼ÎnÖgòÚ#èÖLÎ{\ 2ÿ17çw.\1e\85\8e\95,nR´¨\91©Ui×j\8d»\f\9fû÷ÑëO5]\0>\10\86³\9d´­#DÁ\95^\19\9a\0\17\86_\93¡0|v²A\vÐ'\97÷-\1fß\13g\16)Z\10Ý3*/kôýWYÈ/\7f\95§ôkS[TÞÞÒÌ̺´³¢~ÇÁÓ×ì¿ô0<\93\vP\1f_ÔÌÍ£OdS\18>\a7\80"×HX*m\9c9¨-\93\a§Pat1\19\9diÉñ¸ Z¬xÓääÖ\ 5#\ 3\9byºWp°³±wt\96ÕmÛ\7fÒò\7fÎÞ{õ).³\vHÍ6\93\94>¡Q\18>\97Y\vo*¿\r=ÿÏ\92ÑÝñ)U£Â\85Q\ 6ã:8wièÛ\\8e  °»&\97\ f¬\9d\19Ò¥iM\89k\85òNU\14u[÷\19·xûÉ[Ï?à\17\10\19?\9dmÞ3½"½0ü\90Y¹ÏZ8mÓó\eGÖO\1fè_[(°6-ZÄØ¢\94«gkö¼`B\8e^\80Ù6yu÷ìî\95Ó\82»¶¨ë!\93ÈjÔoÓ{ô\82ÍGÑÛ«\84Ì.\0yÖl²ôé\17laøïÏZÌ\11X\98\9f\97 ùÙÕÁ²\98\91\ fUS|\ 4\v\1d~ÉŹ¢éý³[§v­\9c>¬g»¦¾>¾Í;ô\1d=oã¡Ë\ f3½½Êd¬\1a9%õ\v6Ï/\9eµV\1f¸ü8çµ\16\9a´ \9a<\ 2ÑdG\1f\99SÉâ¦ÅÌmÊIêw\19\89ª³¾ÏåÕ+Z5Å\7fƹuWÏ\193¨gçN\9d{\ e\1e¿`ã\81\8b\ f
+°Sc¦üÒúh¬\99g-´Ö\8aÈi­Å¬}B/ìY11¨5\9eÑÍ-¬\ 5nµÛ\rÁéá?çòÚ\ 5\9fC\8a
+\7fróÌÞ\8d\8f\1d1lÄØé\7fm:x\81¹\90\99ùö0\1a\139dC×'Ô³V\8d\16½Ç/ûGsßSC6±\1f\8c¾pt\8f\165ÝËÛ[\95°)S¹FË ©ë\8eÜ|\19\99[\88\ 5n\0å\82~vçÂá\1dë\96.\98·`éÚ\1dG.¡\8c7\89\99¯¹2CâúáµÙåî×+ÔWzë¶\1f<cý¡«\1aëóÌæ\8aNl_=¼qÎðnMq¤dïè¢j\82oz>\8d\88Ëm¿\16Ëõóû\17\ f®\9d9´{ûÖmÿ\1c<}õÁ+ÍÛmìKl´t\18\89*M诱þ¡\9eµ\9cU\8d»\8d\r\96\92\9fr\b\8b\8c|ýà¾53Cº6­)®TÖ±\e%ªuʦÔÉå½Ë\7f8iqÄë'÷®]8sêôù«w\1e¿\8eÐ\94*\13ââ,\91\ 3ÛxU-cÉûóA¹À\9c\83\12¸Õj\154      Ý5É1xE\91zìÇ\97wÏîY5#¤[\8bÚòª.®î\1e\rQ=y\9c¯,·ãBèÆr
+ºª\19öìáý{÷B\9f¼|û)&!EC\7fi/±Ç\ 46Φ\8a\8f~Á¾¬\93ÕïÈ\9c\85Ì)xÅG
+£?<¿}f÷ê\99Ã{¶®ï©\90\9av\1d1\1f'µÏe·å\7fì{ò¤øèÈ\88·o^¿\ e\7fÿéK\¢¦TÕY"ÑKl\9c\84[/cV5iï\95\9aö\18³dg.Á+{uíÙ­3{ÖÎ\19\1dÔ©¹oݺ\rÛô\1a½pÛéÜC\ 1õo£[Û±Ñ\9f£>\7f\89\89KHÎ\9c\7fêèêÊþ\95\13\97Øz¹ÀÊ\0³CXVXÇ\7fÀÔ5¹\ 5¯(\1a\88ÿüîÙí³û6,\9c8´W'ÿ6íº\ f\9e¼\f½\12ÿ®XÙ;°ÉI\89          \89IÉ_S³H\15o!Þ?³}ÁðN>è%¶^\eë\1fê×°\15\15éÁk\ ekXV®Ïï^<¼mÅìq!\ 3\82ú\ 5\8f\9b·þÀ¥Gø\9egîbeò\f|Kýúõ+>Û¡9 Ð\84õñÅ\8d#ë¦öóó¬¬\17§®r'mË\85\r^_ç\18¼2rýðòÁÕ\93{6.\9d3uâÄióWï<Á8äÜ|k\ 6ÉbþËúõÌ\84\9f¿Fwk(ç:\a7wäûñDÕ\19\83×u\10¼æ¸ó\8aå\9a\10ýñõãÛ\17\8eþ³iÍ\8aå«6î:z\19V¡q¹\1e\1cÖ\10mNË8vÂB¥R¹.oÀ\ 1ùØDÕ\ 5
+°yª¿Û¾\fÁë\82­\9a¯B5å\9a\92\18\13ùîEè\8dóÇ\ fîݽ÷ÐÉËw\9f¿ÿ\92ó\16Ö\ f\92>aõjV\8d¹ ¯\vYý0L¢êB\85
+\17.R¤páB\85
+\16È%é¯úw\98\10¼ö\9d¸<ËÙ\1d\r¹¢HéËÇðç¡·¯^ºpñÊÍ\aÏßFå¸\ 1þÃRe\8e      \9fåé\84ÅäT.bdÌ$ª.fbü\9dlÊì¯1çÍÑaÓ¬ÇL4\ 5\0\13zbìç\88ðWÏ\1e?|øøùë÷Q±\1a\8bû_\11kJ<ªE¿~ZÿV¼\9b°ØDÕ&¦\16\96V6¶vv¶6Ö%,ØlʹÊ5íh4:\17\99åD\84\86\ 4\90Á&'Ä~\89\8cxÿöí»\88ÈlBû\9f\17+º2øøÒ\9e¥cº7\92;ñkÂb\13U\9b\97°-U¦l\85\8a\95*U¬Pα\94\9d\95E1#l±¹ýj¦#|\9açw4å
+Cökrb|lLô\97h\1cÚ§f\89\97~Rªø8Á½S[æ\ 6·×B=\9e<\81\88±Y       »2\15\Ý%
+Uµj*\85TXÙɱ¤\95¹IÑBß\93\ 3§¹º\ 1öl1\8aí\11Éi\89\97ó V\14´âJô}[xà\\ e¼\99°pÎùbÅmË8U\95Õ¨ãÛ¤Y\8b\16Í\9b4ðöT¸W\12Ø£\12­¹Ê5Ãñèl\ eFe#Xõ©m&´Ï\9bT\99ãHLÅtßì+¦\93\ 2KÕ´DÉr\95\1a´lßµg\9f  ¾½ºuhÕ¨¶ÒÍÉÁÚÌ8÷\12­¹\9fäÍ^²iäM¨¬\ f¸{r3\13´òhÿ\1ae?*jjåà$¬îÛªKß¡£&L\99:mÊÄÑ!ýºù7ª)u.ccnü\1d{ÍíܹvAqÀÇ\17È\aôi^ÍÙÞ\9c\85Ñ­\\90j%\89WÓNA#&Ï]²ríú\rëV-\9d7uÔ\80®-ë**\v¾'×ÜoIhW¬8\ e¸¸\eû\80r<
+Z\99\8bù\ e\95duZv\ f\9e´`õ\96Ý\a\8f\1c;vôà\9emk\17O\eÑÛ¿¾
+äjf\94ë\9bÌ\ïôh\15æüÛ©-s\82ÛñÊ\a 3£&\96¥*J½[õüsæ\8a­\aN]¼~ëÎ\9d[×/\9d9¼sͼ±ýÚûª\ËX}ç\9cX®7д\b>\8b\ 4k\81µS\82\11ÞdÀÅå\92q\9a®V½FÍ]·çä\95»\8f\9e¿
+{ýêÅ\93û×Ï\1cØ´hBÿöõåÎ¥,sßq×¼/©y\94GkbE·j\9f^f\93mñ'\ eÀ[P6eQR¹\91ó6\1c8wûIØ»\8f\91Q\9f£>½\7fóìÞ¥#[\97\8c\ fjã-þî\19Ü,·{szaȵXñaÍí(5\1c\8fÖ\ 2i\87ñ\9bt\e1gÃÁ\8b÷^ 
+I8OuÌç\ fa\ f¯\1eݲptÏæ5P2áÜ-!ý.ú iÙ\1c\93Ô\12l\16ì¿g\flíéÊ\9f²8ìö¾Ü·cð\8cµû/Þ\7f\85KùàDÕÉ    1\9fÞ<ºrxãì¡\9dê£2C¹/¶3eNøûÈõ§ï¿äy\17å»°uF\ e¡2G(=\ 6\ 3\98¡[V\883\9eì>\87\ eá°5gPõÛ¤¸È7¡\17ö®\98اe\r×ïn\r±[\84Uk4ÇGÐ!ÊÊõ\82!7be\12\16ìùk\14*sD4áU¾\f\9bÿL:\v\17\8f¦\81£\171\92HT¿Öü\8f9äóòöÉ-sC\98\ 3êßi´:+M\1d\9c\95æüý°H­»W&eûÙmóBÚ£«[\84Ò\87¨7ÿÙ\9dÿ|êô\0õ:\ 4ÏÚpä\1a>\8c\9f~1\9f¹\99ÿøÒÞec{4Vd_\16!\93\8eò±×{êÃb\v¢¬Gá\9f5O\9fp\r\9bp\0\17\18p%S` \9fºJ% .PY\80IfÑ"íLu¦Y\ 6]uü\84¯©ôó«®Y\16!íõL\81´74ù±\e(S\99)`qüÆ3FMÚ\93jºkíEª\1c\ 6S¥²p\91¢FÆÆFl}Jü~¯\82´~À°y[NÞÎr\88
+\99+Ê~¶u\8efY\84ô:¢E\10ø\r\ 2¨
\89\85]yQ\9dÖA\13\97e=ÞϽX3ºV"\ 5Çp\19ß"F&¦æ\16Å\8b[\98\15C\95Ó
+\14doY\ 6M^µ?»û*9äêc5ÄÔ\11533cÞÐ\14-Z¤hQãb\16\82ÊÕ\1au\ e\99½áÐÕ\\ e\13s$Võ­XB®U½ûoicW²T){\9b\12hÛ¿pa#\\ 6¨ó\88\ 5ÛNgHk\95ÞìL÷Ö\99Ì@iuD\8b¡:¢¶vvövv¶ÖV%\8a[\98\9b\9b\99[XZÛ\v\åõüûM\¶ëìÝ\9fy]ý\v¨¯o\82k\85¨Uç»WØí\1562µ´u(ëäìâìT®´]     3c##Stt\ 2\8c\81«Ù%\À\99\81\9e]Ý¿|l÷´<THA\85P\1dQk{\G´\92s%TIÔ±t©\92ööö%K\95.[ÑMY\17\v6\1fËù´\e'0\e\ 27p\86\1d\95ΣV¦ät\11c3«\92å\ÜeÊjJ\99»K¹RÖ\16ff\96öN`¬ÃÁXï½\8eÊz\8c\92\84Å*eÄÊ~\95¥mérÎUEðe\1eÕ=ª)å\12¡[eW\17gg\17×Ênbe­\86þ½GÎÛxXË^\80h],<½À\bnåà䦨åÓ¨qC\9fZJw§Ò¶VVv\82ª\9e(\ 5Û\81+O²³«lÄʼ\9e±)]¡²¤\1aª#Ú¢¥_Ë\16M\eùÖ«S˳Fõê5<kzy×oÒ¦ëÀñ\v7\1d¾òø­VÅ\8aß·àâ\9cºOÓʾ©¶°v¨(¬îÓ¢]ç®\9dÛµ¨_Cì\¶´\83c%\19Î*«\91\b=\83Xã>>»²/­´'ªæj\84_ÏH=}\9aù\a\ 4ö\ eêß¿\7f\1e]\ 3Úû·nåçתu\eÿv\1d»ö\1a4zæòíǯ?Ñ®µ¢\84\ 3÷\99\84\ 3\95u\s\90©9oZܶtE\91g£¶\81\ 3B\86\ f\1d\10Ø®\89\97¬J%'g÷\1aÍz\8c]ºûâ£wÙå\ 6\81QÆ&³ë\\ f'³+P \90\91\19z=ãáÓ²SïÁ#ÆN\9a:}Æô©\93Æ\8f\1e\112dÐ\0`à ÁCBF\8c\99<gÙ¦ýçP\r\e-\8aõßT\9cp\13å"ö¨¤ã4ø¸ú¯Y     ;GgqÍÆ\1dú\ e\9f8söÌI\7föëÜÜ[%v\17)ëú÷\9f²æÐõ\8c\99¥3\88õ\eS\ 2\17m»á­÷\82 UëÒÎR¯¦\1dû\f\9b0kÑò5ë7nܸ~ÍÊ¥\8bæÏ\995cÆ\8c\993gÍ\9e3wÁâåë¶í?}ýáëOZ|û¢Nµ·\92ɽ­ÓÄâhEidV¢dYWi­&\1dû\8d\9eù×\9auk\96Î\1e?¸kK\1fO\95ªf£NÁ(%sö\97$Q\\18\9e^\ 2ר0zéUÚYîí×=x¼\15\7fïÜwøØ\89\13'\8e\1d>°w×ö-\9bþ\ 66mÞ¼eëö\9d{\ e\1e?\7f#ôå{Í\ 2a\9c\8a\15g\1fC)r²I\9f¯m±¢\9c1\96%ËW\91×nÚ©ÿ\989+·ìÞ·gÛÚ\85\93\86tmÕ \8eWÝæ]\87ÍÍñÖ\19³\9by|#\9bãϨ0ªKQIV·u¯?g.ß²ïÄù«7ïܽw÷ÎÍëW.\9e;}êä\89\13'O\9e:uúÌÙs\17¯Ü¼÷äÕû¨XÍ2\81\\8a\95\88
+\9de-ö m±¢\14Òve«(½\9b\a\f\18;wõ\8eçÏ\9d9º{â       \83ºø5ôià×}ø<$Öì.F°\15(\99ÝL'\l\10\15U«Óº÷è¹ëv\9f¸|ûá³\97aoÞ¼\ e{õüéãÐ\a÷î\ 2÷îÝ»\7fÿAè£'ÏÃÞ~ü\1c\97¨Å½\96\f\89\1du^È\11\15U¶*í¢¨Û²ë ñóÖî:vñÆí\9b\97Oî]?otß\8eÍ\e6òë6lÎ&\94C1\ekU¿(Z:\1aÇ\85¦°|@%\0\1c5\7fã\81\1e¿z\e\11\19õùËç¨ÈO\11ïß\85¿yý:\fóúMøÛ÷\11\91_bPqû¼\1e\ 6Ê\91\1c\12\ 6\9c´ª¼Ø«y×Á\13\16®\a\13»ûèéã{WOì\>eHW¿Æ\r[t\1e2c=º#\99\8doe³zl_0¬\ 3zQTÌȤxIg\°rÃÁ\8b÷Õ¯g\92Ð\e\9a¸\98h,Þ\8f\11ÀÇO\91øJJRZfL­\885ÛÄ\8e:\13+Ú§V5ì4pÂÂ\8d{O]½ÿ,ìMØÓ»\17ö¯\9d\19Ò½UÃúMÚ÷\9b´rÿÕgÙÜ\91dsL\1fß\88^\14Uv(nblfSVäÝvà´5û.<H\7f=\83*\89â{(ø\8eOä'\10jtl|brJjZfL­\88\95Iì¸5sbGÝ\80k' ³Ò½ÇÌß°ïôõÐ\17o#"Þ¿
+½rhì\90n-|êÔ÷ë1zñ®ó¨èE\16±â³x×\ e®B»\99\15íPaÌR.\1eM{\8eýk×Ù»Ìë\99oÿ²I0q)Q&Ûð\87\ f\118Ýð×Tm
+\95-.\80kpdÝ\fÖ¾XQQ6±OÇ!ÓWï9sãÑ«÷\91\9f£>¾ytåк\19C:5öªá\ 5\11ÖìM'\19çªy\89,)æÝÃ\v»\16ÿÙ¹¾¤\9c\8dY1d¬uÛ\aÏþûØ\8dç\1fÒ_ÏàÏâ\13ìq_>¾{\13öêõÛ\88ϱÚ\9c¬\98Ö±Å\ 5 jUTбkÅ)\93\9dä\8dÐÙ¨ã×\1f½\8eø\1c\13\eýéÍÃKûVN
+jS¯\9aLåÝ:hò\1a\ßJ#\r\ 5\93O\ 2¥÷\1aìïUµL   3S\94£©iÏqËö0µÔ2ß<\87n&D\7f|óüÑ\83û¡(´\8aÓòñ\v\14S¿CÅ\ 5F\ 4辸\0\932YÕ¬÷\84\15{/<\bû\b\93L|̧°{gw.\1eÕ½i\r±\9b¨zãî£ÿÚ}éñ{Íâ*j\1f°z\12¾ñXÜÔ\1c¥mm7\ 4V\ f·p!áL#\1c_\17þôæÉ\9dk\97.^¾q\9f\8b»\16¹K5­¸\0Êéæ [×ʦLöhÙoÊÚÃ×\9f½\87Y&91&âÅÍc\eg\rnWWæZÑUVïÿì\9d\ 5\TYÛÀ?w×\ e\fT\ft,\ 4E\9c\ e\15\15\ 3»ÅZ[±[ìîn]»»»»\e1@BÁDìÖ­w÷{\9esïÀ\80 °Î̹3<ÿý½ïº2Ì=çésî\89\96\ 3ñ\96µ¸W\ 1±\17\84\9e\13c@î¬Y²å-®¯ãËf\10\9e~3\83\80Ý|\e\19\16pþøÁý\87N\\14v\ 6Yp\ 6;&ðw­oýË\ 5\84\83\12Ëùô\9e²îX\0¾Zúó\8f\9e\85^Ú»l\×\ 6\9e\1eE\v\15\93{5í3mý·\95+;
+õAÀ±uh\ e¥
+8:88\16ð\80ÏN]{Ä?üå7u\ 3ÛÑÿàöùÃ;6®Û¸ãð\85Û\ f\9b¶-'Vá\8e³\ 5ÃPé9­|°8;ÖÓͳIßi\eØ\bõÏ¿þdÇDl\9b?´]M\9d«¬@áRåÙ\ 5áx.\9dé\15\0ì´®g!ÆãÖòfË\925wQMÍvÃ\16l?\ed¼Ú-V7\7f\7fÿ,ìÚÑm+\17ÎûmÅÖ#ì²\1cKÎ`ÿ)\9cë8\ 3\ 3¿³µw\r\19\ f¡\15o
+þú×ßB\1eÚ8Óïתªâ\ 5\v\14ñ¨Ð¸ç¤Uß\1c\9a"\9cÛ{ëä¦Ù¸ö¢P.\87\85\8b\bWÆ\Dh\8apªÇ¹=«çN\1e?qö\8a\9d§Ùy¹\16\9cÁf\e1\84ÀoíIÁÿûæ$j\14«p6\1d\84Vµ[᮪*ìæIÿ\88X\97\ 2²Èú,ôò¾åã»ãJ¡ìY²ä(ÀN\ 3Úx"úÚÌXbÅãÁo\9eزpâ°\81CÆÍ[\7føZ|Â7£XY\fع`X;\8c\ 1Ö^\80\19\8f
+fÈXý[Ö(#/é®ô¬ÓvЬ\rx[\9b©¬\84Èzóäæ9\83ÛTW\17Éí\90)KÎBÊêm\87\89Ç«|³©Z\9c\959´vÖ\88¾=z\ f\9dºbïÅ\90ï\1dqõ£R\8d\89\ 1ÍY\f°ò
+\ 1\92\15\9aõ\9f¹ùL\8cµÞ<¾qö\90\8e\r«\94Ó\97ñªõkϱ\8b\9f¹óøÍçØ'¢3c]1¡GãòîÎÙ3gtÈ\8d\8d^º?\81\81.¾­»²oÅ\94AÝ:uõ\9b°d\17\93¾ÅÄ*nÆZ1¾\e\8b\ 1Ö^%\ 4\9a¯dÅæ~³¶\9c        \8a|÷ûß\7fÿõùÍ£;§·/\1a×§m㺵ê4nÓsÄ\9cu\aÙâ\8b\98J@<ZîÔ\96¹CÚâÑr\ e\19288¹\18Ø¡«þ\ fâ¹ß\86Mv\85\ܽdBÿNí;õ\e¿xWbg\ 6ý X¹Æ\80ÿKõKº¬ùݽZ\f\98½U¸ó\8b\1dP\19|éÀº9£ûwíоc÷\ 1cf¯Þs\86\9dÜkzc:³\86C«'÷nRÑ£@\8eLéÓ;`ùÛkòÚã7ã\9bD\14ÏÀÞ±pl_ßö\9dý&.ÝcÉ À;\ 6\18ïUn5xîöóÁÏÞÃ8\1d\8f7\v\ f8½{õ¼É£\87\r\e9~Æ¢u{Nù\87ƽ\88\9emÏÝ\ 3ÕU=¼\18%CÚô¬üí3u}ü\17Ý        ·\8c\9cÝöÛØ¾\9d\ f\9e
\85ï\1d\1cöcbå\1d\ 3~J\9dÁQ¼üS8\83\955äÚɽ\eW,Z0\7fáòõ;\ e\9d»\11òøU¬wyÿ\18GXÃÛ×Òº89¤O\9b>++\7f\85:í[+\14®\0=½uÁØþݺö\1d5w#»±ÔRu+÷\18\80·±\15ÕÖ\86\ f/
+\86~²±û£`ÿsG÷íܾc×þ£g¯Þ¹÷äåûXS'l© x¶\9c®8Xkz¼VÙ(Öx.\vÀ\17 à\95\9bç\8f\1dЫÏàÉKv\9e\r\8cgÌ`.©ò®\ 3pg@¾\12åLOI\14g\9aÂî\¿tþܹ\8bW\ 3\ 2ÃØi ±Þ\90\8aÖºsѨNõ˹\17Ì\99%SæìùK\96g\83µø¬\95ÕW\11þG7Ì\e7¸ÿÀ1sÖ\1dº\1af¹²5f,À%\ 6\b;\ 3
+\v\17³\9e¼-L©\1a\ f\97{t?4ønpè½\aO¢^½\8bûÒ   ½ìYè¥}+&õnî­quÎ\95={®\ 2îåñ6¦\93ñ]r%\1c\97råàÚ9c\87\f\1a1eÉöS·¾w\8eð\8f\8a\15W\89ãD0\97\18\80\98ݹDÙúl\8e4\98½\0øG8\8aæã»W/\9eEFFF½À7y_~\8fóÒ     Åô"Üÿئ¹Ã;7®¬q\93åË\93¿pé\8aMúL]wüÖão®dcg^>\ e<·{Å\8c\86\8d\9b½\ 6\8f\1a³ØZAã\9c 0\11\18\80+Z3fË뢩ÞÊoƺ#&w´\e\ f xÿîý\87\8fñ¾tÂAÖëÇA\17ö­\9e\93\8f·¡´kÑ¢nªÊÍúàyÖßÜÁð\ f;ÿ:üÆñ-\v'\8f\1c6ròÂ-ÇoÀXØ\92uÀó{W÷ã\9c Õç\ 3PªÂ®Ë&l{o̽\81ìl9vk »60¾Ã\12Øü\15Öa»VN\1fÖí×:^z¥\U¶ú¯ý¦®ýö^Æ\7fØÝ_O\82.ì]5kìÐ!£§/Û%\9eqg!c\85|\8a×<Ì\1fÒ¶\9aÊÊ'              Ru*"¯Ø°ó\88y\9b\8fÇ:eYx©Ç\88ÿ\1c4vñÔ\9bȰ\ePßÎ\19Ó¯c\93ÚU*T¬Z¿ÝÀéë\8e\ 6ĽÚB¼ûëúÑM\v&\f\1d0hôÌUû/Yr, l\149ºvj\1f«_8*Jµpéòõ;\ e\99¹öàåà§±OWMäô    áTê§a\ 1g÷o\<ux¯öÍ\eÖoôk·ás6\1e\ føvfö÷\8fø\1egçÒ)Cûôê?rÖ\9aC×p,`9ce'        á¶&½uß\vÄHµ^ûAÓWí»À\ e\9dK\86W\8a§RGÞ¿}éØÎ5ó'\ríÓ¥cÇn\ 3&,ÜzRÈñ¦ÝÄ\ 1ÆÝ\8bûVÏ\18Ö«S§^Ãg²÷\a\96\1a\v°\95í\ fo\9eØ8\13\91YóÒaS©\ e\9cºrÏYv\ 3{²ú)¼ ~\13õ0Øÿì¡m+çM\1e5tð°ñsVí9\17\18\8b\1dÍ\1azõÈ\869#z¶kÙºËà\19k\8fÜHäºá\1f\91*\1a+N\ 4\8fëÖ ¬\9b5/\1c\8d\15»ÏÜ\f\8fz÷%\99û¥1¯ýþùÝ˧÷\ 3¯\9e>°uÕÂ93f-X¹íè\15\1e\1d[\8d\a  ß8±eÁè\9e­\e7hÒÞO\|\94èñ¡ÿQ¬âÜÚ\9cÁ­«©
+ç²Þ>\f\ e\98ºb×é\0|\r\9aìÕ\10b\81ûöùã{·¯\9c:°cãÚµ\ew\1e>\7fKØ"\1cÓ˯ïñØë\9dKÆ÷nU¯\9aw\9d\96}&­Lôrìÿ\8cx!Î\95ý+&ôh\84+\98¬v\82@l©.7J5ùå\8eñèº×Q\8fBo]9{ìÐÁÃ'/Ü\b}ò*f¯\15KWì\90ö\15\93ûµ®ãUÎÓÛ§û¸eû¯ÝÇØjv¡Æ\99\bV[ñ¬V³IõßhÁ¾\7fýìaØ\9d\eW¯\õ¿\1dúè\85Év\0\9c`xó4øòÁµ3\ 6µ«[A£PW¨ßiÔâ½\97\85i\1dó\8aôß\18c=°r¢ðÖÂZÆjN©þ+\9e       \88ç¨?{\1c\1e\16\12z/âÉ\8b·\9fbê_¡be\83\ 6\15\94%\Kék¶7NBZD¬\82±n\15ßZd±Ò\ 5\95ê¿â\90\f×\ 2¾~\11\15\19ùìÅëw\9f~\8f\9eB\14o«=³cÑ\98î>^J\17\99ÌEå\8dSæçØ\94¹ÙÅjb¬=\e\8e\11³KõßhÁ~þøþÝ»w\1f>~\899\9fÞø"ñÀª)}\7fõV»8;å-TºR\v¿Y\9bñ~1\v\8c²¾1Vë\9c\84o   ©þ\e=\89ðõë\97¯±Î§Ç\83èp\89Æ\96¹CÛ×6¸æÏ\99=§sIqöðÉ·³\87?\f'cµ\90TÿýW<\1e4î!\96â,+ÞÁèSÑ£`N\87,Ùóâ2ºD¯\1aý¯­àb¬\96\93ê¿Â\1c\82x>½É«\99\98õ\\9abN\ e\193:8¹\18¯\1a}möñ\0\1fcµ¨T\85\13wI+Û[°~Zßf^\1e\ 5rdL\87Ç\13èêv\19·â %Æ\ 3\\8cÕòR\8d§\9bl\81ÐÊ  Ýat\9e\ fßzgÉ]LW§ó\98e\a®\85\9b}<`z\89£Õ\8cÕúR\15öoã\9eÓ±ÂRÍL\192eË[ÜP¯ËXã0ˬÏ6¹ÄÑjÆÊAªâ¶xÜ\14ѹ^\19\9cY\1d²çfç\13LXqð\9aùg\ 6¿½ÄÑ.¥*Zëµ\ 3¸V³\82¼¨s\1e§|\85Jh«á\1dzG¾\7fÇà\7f|\9aµ/qä"UãÙ©GÖNc\8b:Ý\\ÜJë«4ê4|Þæ\93æ\7f\9fm¼ÄqµÕ.qä#U¡\12ÀÙ¤ù#»6­Q±\8c^_®R­&¾\ 3§®À\eôÞ&z\rVr\1fÆ.\8d\16Ö/\15³Â½x\9c¤*\¨ô4øâ¾UÓ\87tmåS¿n½FÍÛõ\182yñÖãìX\³\8e²\84+Fn\1c]7U¬æ,m¬x
+³(ÕvV\95ª¸H#àä\8eåÓGúõìÚ¹kÏ~CÇÍZ¶õÈeá.f3Ç\0Ü!²gÉèNu­q\89#\93ªCîB\1e\9eu­,U!\8b<\r¹zlǪ\ 5Ó'\8e\e;~ÒôyK×ï:véN\ 4\1e­iÎ\16\b÷âÝ>µyö\80\96Â\8bAËN_ãñ\8béAª¥Ê\81T§XUªâÎÁ\87AWOîÛºnåòå+×lض÷èÙëA\11QoÍ|â8\8b\ 10ôX5±G£rnx¬°¥\8d5uº,9\vº\97­ÓÖÏÊRýW¸\92ýùÃà\80\8b§\8e\1e<pàÐÑ\13g/ù\aÞ{ôÜdªÛ\O\12®\17X8¢CM+\1c\16\ 5:\16(a¨Õºÿäe;­+U¶Fàó»\17\83o߸~í\9a\7fÀí»¡\11\8f£^½ÿü»\99\8fhÁ:àñ\9dS\9bgùµ¨lùë\ 5\84K\ 3ò»êª·ì;qéÎSÖ\95ª(×\ f¯\9f?}ô <<<âáã§Q/ß¼ÿ$\9c4`Öçà\ 6\9d\eGVOêÙ\88\1d\1e\93ÄØù¾Yó\14SWmÞkÜâí'oÜ\13¥j5±¢\¿~úð\16\ f½xùêõÛw\1f>Yâ,\11Ü\9fÄÆÉ£;ÕfG^Y4\ 6\88§Q˽|º\8dþmËqÿ°HáÜ)3Ýî\93\94þ
+7Û~ùü  `·Ûâ\12\1f{!\86Ö\9d\v\86¶©Æ\8e\8f³d\f\10ÏNw÷¬ï;lîÆ£×B\9f¾a©Â\8c÷&%Þáè\9bm\8d\97ÛþÏ\ 2\8f\8d>ZÜ
+G^\99\9cô\8fgû^\ e~òÚ(Ua\9dåÿ,zXJt\97£o¶ý\9fÅ\14É\ ei¼}bÃ4¼µÁÂç²ÄÜKÑgÒ\8a\ 3\1f      \aÒ\8böÃ^<YE®V\80\9d\8e»iX¶¸e×^\1aoQ©Ð¨Û\98\85ÛOß\8axÁ¶Vý#¾'EÌpÕ\9f4øß_P\bø\1fÆc\85-}b»ñ>àÚí\87ÌÙxÌÿ^\94pi@ôõè_¾â1Uv"Ö??Ã\18ëÀò±\9dëha0`Á\8c%\b_XYµEß)«\ e°ÕÖl¼(î¸ÀÔ\f¥\8e\99ëGNÄsê±åÄ\8a÷\86\94(× ËèE;ÎÆÜ§f\\83ò\81mbùÓ^ÄÊ\ eÁ^4¢}ue!ñDy\v\89õç´xp\98\ 1\1fõ¿\1f}/\r[äǶ\a}\10o§å-\94\1fÇxê1\94­Þò\829,y\bvª_Ò9ä)^¦^ç1K¢\8fû\12\9a\10K¬öa­\7fÿñáYðy<[¼\8aG\ 1\93Û:Ì/U<\93ѹ\94W³¾ÓÖ\1d5=îË(Ö\ fï?ØO\10øû÷w\91Al4àånѳÅñLFÇBÊjm\87Ì\8f}\82\92\ 2ö\93²þfwËl\9cÞ·)\8e\ 6,X¶â\99\8c¹\8c[ÚÃLND\10*\81¯\9fÙ\0ÝN
\7f\84ä×NéÕ¨¬«EwcÂÀ5snãé)¦\87Ú
\ 1¶óò\8f?íÃXcF\ 3Ý,=\1a`g2\9a®z\8c\86ÉõÏ?ØÌ\87}\18«x\12þÒѾµ4ErZt4\80g2âá\81\9f\88}z\8a0'ð·q6\89§<Ì\84p-\16»\b©ZôEH\96\14«§O\1fá<\8a¯±·³ÆÌ(q\94\86Ù\10\8f-Ú6wPËʬ¾²\8eX¿YQnÅylk \16\ 2\9bfôkZ¡d¾¬\96\9c\16\14\ ef-×øÛ `\7fà\1a\ 1¼``rOK\17\ 2â1Âe\1aZl¡¾\84À÷\83\11þ\87¬2-È\ e½6.Ô·ÔÆ]I`\9c¿ÂBÀÒ·\8dÁ(+SÎ"\9aÚ\9dÆ,Û\7fõþ\v\8b\9dä%\ 1LnD´t!`\1c¼Vo7|áná<6{\16+Þ4´\13ïï,méû1ÅÓ\ 3[\ e\9c³õÛóÂí
+ãü\15«¯\9c-9\7fõ\7fÂY\97ùJ\94÷é=eíÑ8gÚÚ\19 V¼\f\rËV¼eÄÂ+ZðøÀbúº\9dÇ,Ýw9,Ê\82\a&óF\10+XëàV\96¿$W\b®
+ïÖ\83çB\14ÀCÚíÕ\\85#wÙ\92\16ok,iI\9f-\7fÉò>½&¯>|ý¾eOù·<ÿ|\aqJ`ÑH¶\b\13\ f¼°¤\a\9c\85×µt\18ñÛ\ e<%\8d\9dÆb\93°ù\8b¿\13ä¯?q«ëå}KÇvagô¦OmI¹
+w6\95®\84çÛ\1fº\1aöì-¾\10L¸q\92E¸oë\8fß\13äë\97\8fo\9e\86\\11ö¹\95\98      \8f¼°äÛ,|I¨¯Óqøü­'\ 3î?{óñ3nø·%¾\ 2ìr¸\8f\1fÞ¿Çc âåí«¨\aA\97ö¯\9aÚ¯EUUQ'\a0WK\ e´~N\93ÉQVºRÓ^\13\96í>sóÞ\93\17¯ß&Ô2ÉòV¼k/êYdäÓ\ 4xò(<øÆ\99½«¦\rhSSï\96?\87¥Í5uz\87<.Ú\1am\ 6L[µç\8cÿÝû\ f\1f?I¨iRå       ^¼\19~/,$ønPPP`¼Ü¹\1dpõìámK§\fhW·\)Y®,\96\1c\ 5Ü=ëw\1c2cåÎcç¯\ 5ܾ\13\7fäË\9dÛ·\ 2ü¯]¹táÜÙ3§ãçÔ©\93Ç\ eïݲrîØ¾mêxz\14\9a!\8d
+Ñ5KîÂ
+¯F\9d\86L]¼aç\81£'N\9e:\95@ã¤È©SxçîÑC\aöîÚ±mëæÍ\9b\12`ãú5+\16Î\1a?¨kó\9ae\ 5±Ztÿ\10n\1dÈ\96×EU¹QG¿±3\17®X³~cB-\93(\e7¬Ç+¸\17ÿ6\7fîìY3gÎ\88\9féÓ¦L\1c3¬_×V\rªèJÊr[\¬¸Ê=GþâêJõ[w\e0bÜä©Ó\13h\98T\99>\9d]\18?rØà\81\ 3ú÷ï\97\0}ûöîÙÍ·M³zUË*\8a;çr°l\10\10öddvÌ_\éY½QË\ e]{öîÛ7¡¦I\92¾}ûôîÙ½k§\ em[ýÚ¢y³¦     ÑħqÃzµ¼+è宲<92[6e\89[3³8æ+ê®ñ¬Z«^#\9f&    ¶L\9a4iÒ¸Q\83zµkT«RÉ«b\85
+\15Ê'\84g¹2:ué\12Å
+æqtÈ\98Ö¢ã¬ÿcûÝR§Ï\9cÝ©@±\92r\8d¾¬g\82Í\92*\9eåÊ\1at\1a\95¢t)÷\92%\12ÄÍÍ͵x±"\85
+äÍ\95=KÆt\166VQ®é2:äpÊ/+R¬¸«\9b[Âm\93 L\.E\8b\14*XÀ9\7f¾¼ß#O\1e§Ü9sdsÈ\94!mjK\8e\ 6bäúK\9aô\99²dË\913·S\9eï¶L\8a ´råtÌ\91=[Ö¬\ eß%K\96Ì\993eH\9f.\rت5\8e\15C\83M\93.}ÆL\99³dù~Ë$H\16\90V¦L\193¤O\9f\ eH\9b\biÒ¤þåg\88\0\167VA®`±¿¤N\93&±VI\13\90Uê_~\ 1q%\81\9f~B\99Zë4ìT(Ú\9f\92Ô0éñÓO¢°\92\84u$\1aG¸6\89Õ%E\10\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4A\98\95bŪöêX¥\9d_»Ìͪg.æUCÓ\ 6þ»a»þ~¾ý2×Í\¬Mi¯~~UºvðëÚ»W»~Cdeà¯\14²Ò\r}Ûõ\90¹
+\1f\93Á'dõúuíܵ\17üe£\ eízøºÉÜáseá\7f\99}âÿ\ e\87N«1¨µ2¹\87\9c\añG*\95ÚCkÐé\15\1a\99F¯sÃ_óШ\95
+\9dÆMVº\91_¿®½:Ë\½:önï[¯}7ß\ e~uÚÁß\r\16\1e^ºY\9dÚ>5ªÈÊÈ\;«\15\ 6u\ee\e7YYøx\r\85¼\r´\a~&~дe²Òu{û5ôíл_Gß\8eIù±kOöÌ\96Ñý\91ëÜåøOÌ\7f\1a\ e}`Íg\1dѶt3é\84_¿v½úwêݯ§(9\99k£&ÕÚxùÁ\8fÛ\ fðóí\8f\8d\88õ#\93¿@)Ëe
+\99\9cýÓlHfö¯\8e\99µ2W7Y³¦ðc¹ÌË\17þ5 Þ?\96\10þ\\8fý?~\8b\16üÏÎðÿz\9dÊC¡S*5*¥A«Pë@=J\9dZ®Õh¡\83zµJ¯\90õÄ\8f\1e:\83J¯ÖA¯\95J­Lí¡VkäJ9\b_i\90çô:¹\87B®Ð¨ÕzøE½^¦Txà·j\15J\95\92ëez­Þ\ 3~U§\94Ë\95:\85R'S)<´ðT\15<JaЫt²Ê¬Ar\ fx\8eZ§3è\94*\8dN¦ÖzhtJ½N«5\18ôZ\ 3<I¯\80')\95*\83\16~\v\9e\ 4mÓÈõ:¥\1a-A§WÁ'@'*µF\8f\r\82\87ɰ\93Ð
+\85N¥QëÕ
+µð$\ 3´X£1È\95z\85V®QÊô\1a\ fè\8aZ¯ÓɵÐ;ø\v\ 3<       º\r\ 2ÑÀo)e\ 6\83\87A£Óªà1r\9d\ 1\9fdÐxh\fZ-ôJ§Ôh42\85BéaÐÊÕJ\83\ 1Zhì\13ü\9eÒ 1`ótj\85V\ 62ñP\18\95*¹J©ÔË\f\v°\1eø\15h¤N'\83æz¨5Z\14\81\\ 3\7f\ 3\9fÐ{\18\14(\\95N+W©dðË\1e\93J\r
+Ó©ôìI\ 6\ 5´\a\1a¯Ó(å*­A¦Ð(=ôJ½R\ 3ÂÔª\15Ð\ 3\85ÁC£\ 1\85èTZ\9dF\ e_£UÃ÷*\94Ð
+µ\­ÒÂ'à/Ô\1a\95\16´§\aùÊ\14:\9d\87\12Ô,×B\93Õ:ñ9Jp\ 1\83V©ÕÀ\93@\a
+\10\95^©PÉáËu`6¬½:h\b\98\12( \91Áï{È\15\8b\16º¤UÁ'@³Ð\ 3%\18\94N\ 1\9aV*å`\10*\ 5tY©Ðè\95Â\93ärпZ¥Ô(U cø\10tÀ WÈå:°.¥\ 2Ú\v\86\ 6Í\80ÖéñQ2¥Úà¡Ó\81u¨ÕZ\907<Gé¡\82\9e©@\ 3 \vø\80Få¡\93\83ÿêõ`\1cb\87äjè¤\#×\82|A\2\10¼\a¸\80
+~G£3\18PÕz\ f\95B\ fÍP(ä:-4W\ 3ö+\87\ eBÛA.jø\84\12»¬Æ¸ R@\84\ 3\8bô\80çêå
+\83\10ú£\87\90kur\10\90\ 6Ä
+\1fÒ{èµ*\ 5x\8a\1a\ 3ë\85\a\81\84ô*\95\16$\a\9a\ 6ç\81\ 6\80
+´o­\87\0\19\81`ÀJà\13 \ 39|^\ 1­\97ë\8cOR@¿A² i\15x\ e4X\rn\0¶      Ò\85\16¡Ï\82G\82Eé@lJð(¡Á
+hº\1aZ\ 3ß\fORy\80w\18ÐÙô
+%´E\ 5Í\87vàgà\9b\14¢}+Ð\1a\15r5\98#(Iç\ 12У*Ñ\94@4ðk\ 6ði\15HK\89Â\ 3­\81©ÃsÁ\1f\95èÕ\ 6ì\13~  \98?(\ 2,Jç\ 1\ fÒ©µð4­Ñ\91tð[ð½\1a=h\13$\8af§Õ)´z\8d\®E;Ô\eÀz1 \81\80u*5x\80Në¡\ 5«\82\86\94\ 6ø\84Ê\ 3\8d]§Ó\83¥À_àw¨1Öé4\ 6\rz\96±K¨&\9d\1a\1cI-\a\87\ 4õ\83ÍéÀS\15j\r~\rd4%¨\ 5Ô \85OÊÀ4<ô S\bM`ÕàÓ¨G0l\b1Z\1d\98¸\92}\ 2¤\ 3Æ\ 2y\104.>H\8f²\83\0£\83\0,Gw\83تAY\82#Cd\ 1-\81kiá¯\14¨  ð\13\ 5\9a\104P¯Ö¨á7¡-z\b:J\f(\1a\85^\8bñ\ 5;\r\1f\91kµà½z\8dh\ f\1a°Fð>P9Ø\19<I\v®¤\aM\83ÏBp00\13\87\10©\81¶@\\ 6\99\1að
+0$pS\83\ 6£<ÊJ\ 5¡\r¬\1e\\1d\81¬§ÅH\f¡\16ÌX|\92
+=\ 3¾\ 2\9cT\8bÑ\ 1l\1cÚ$W¢\ f\1aÐÆÁòÀ \19\10©ÀÄ\15*\b\ e w\83\1a\16Ô\86É\ 2ú\a*TC\88\83ßP(õ\1ej\1d4\134  1K\fáÐ>5\ 4,\88Þ\10§Õ
+ö)ô\1a\95\1a5\ 3ö«Ñ`Ý¡Ò+\rðEjö\1ch+t\16,\ 4$\ 3\1fÐzèôàÅ 5\býð\r\aä 5Ä5\ 5Ë.ì9\1a\b)\10P@È`\8d\90V< Ú@ãÁ\11 Åɰ%J9\88È\80}Vc\\85`\80î¨Á¬©Çì¢\ 2Ë\ 4?W@û!"\80\92\94,C\82pÁ^\8d¢\ 3\ f\84T\bñ\829\1d\v¾rÈ{ g=\18"H\ e³&\18´\16\1c\82\ 1Z\95\ 2Ý\­\90«\f*\bC\90\a\90íPtàÄh\r\90pá)`î
+£ÝA°Õ@\10Ò¢çkuð$­Ê\ 3~\a22\84\h\96\f´\ e\99\18Z\82¦      Ö\a¢\81ô\a\92\ 4éC) \0á)@ùrðN\95Z\81MfâUÁ\8f Â@+ ä°'AÊ\81\80¯\ 5!@wQI*x4è\10\83<\aߣԠ½@¬Óaæ\ 4{Q §\801\e\fà0\10\92@\1c\82¶Ct\85\8a\ 1\9e\ 4å\ 5\ 4\ e\15\ 6}\bÕbÄÃ\\81Á\r\9a­\97cúSjá×\94øk*\95\12\1a\b­\84ô\a\1f\80\aéX\16U\81Yi!\8c\83´\88\9fÐB®\86NëU\90ºä\98B\15ð¥`Òr\88Dr¹ =06\ f\10\11h\13\8a\13&=-\ 4%p[\b¢j\99\ e|Te@{\85\b\aQAÈ¢:\15$1\rtU\86_\0\89\ 6¾\11\1cN®G5\82\94äj\88N\10ÈÀ\84ÄÇ\80\9bÀÃQt:\ 5ª\12ê\r\ 5\96\\90d!ÜËð\ 3`b\90r º@÷\83h\ 5%
+x§J«G/\86O@\99\0\80\18
+:ÃL­\ 6¯\a)*1\ 2ÊÅ\aA¬ÂH\86æ¬\81\7f³p\af¡À8\ 4\ 1DÅ:dÐ\80\fPHh1\13`\81§ÆÒ\bL\18\8c\ 6>\ 1õ\13Tw`\8aX}¨¡-P\8c@U\ 4\91X\a\ 6i\10\9f¤\86\84¼\85õ\12\8470?ÈJ\10\01¦CÐ\82ï\ 1-B¬\80ì\f®\8dÙ\ 4\f\11\8cP\8eµ\1dV\85ì\13\18W!t\80çkլנB¬-@L\ 6±OXI\1aÀµ\rJ\9d\1cÂ\13ô   d£\82Ö\80Âu !\19Dsh\8b
++\14ðb\15Fh\bµPP@\84\ 3µC0\ 6\11y ûB'à\83èÖð¥\10÷àÙ\90\84ÕZ½ø$ø\14(@\ 3&¦DG\81\9aJ\89úÀ\0\ 6n\f\rVâ \ 1ò\1aDi\b\11àJ`à\98ªÕJ5\ 6l\9d\ eë)0e0\b°\a-\8b«X\81\81©\820ÕâsÀÈÀà ~(Ñá\r,>«\15
+V\ 4BF\ 5\1dh\15\90\95 8\82Ê\ 5\ 2/\ 4<h\9aÊ\80\16£\81_\ 2Ña\14\82R      ¢\81\92å10  \bÍ\18\ 6 !J½\10\85  \84\1c©\ 2Õ\800À<AÀèYÐ\1a\f\15Xq\80Þ=Xá\0ß\vV£bJR³\18¥Pb\ 3á\13\90\1a\0\8d\80ò\99Á@v\ 1\81hAKP!
+\19\1dä\ 3®\8f¡\15\9a\vÑG(0\f\90\11\ 1O\82\ 1\0z\90\12c\15h\8a\95ozV¦AØÃ´\ 5\1e\ 4_l@\87\80ú\19â\9b\12¤\væ\ 3Á\10b\1eÄ*ñI`\9eX§C¶Ô     E \94ãZ¨^¡E\10\84 Xc\19\80é\1cªI4_\18W`¤\86Ç\82Rp\10\81ã\ 50$\15\96>*¡r\83\8a\11~\ 6b\82H\15ý\180npt6¨bu¤\ eÍG\8eå\ 6\14\85\10òÀo ú¨1©\82-\80\ 1C½§Å?cx\80\96@h\ 6AÉÑbXL\ 2Õ@\8d\ e\ 5\1e\140rT3{\10Ä6øoø \1e]ÛÀÊDȶÐ\10\ 5~\11|\rä>ðMHÔXÞcS@E0P\ 2K\80X\ 69\15
+'(r\fPÎB5\ 4ÿcõ\1f<\11r%Ø\r´Px\90\ 2r\1d\84\0\90\v$H\14\f<\b\8b+æØèFJ0wð{øn\fò
+VþéµJÌÃ\98Îu¬)Py\80~a\80\0%2\v\1e\82R    23\8c'\ 5Ñ©\99;\821+ ¸añ\ 3krh\19\ 65\0AU\8ec8(É\94XºA!¬Â\1ecDÑ`\8fÔ\10\86±]à\9e,2`\8d\ 3)\1d}\1eÊ?±Ø×©±Â\86îÀ\130S\82·iÙX
+\13\10\ eþÀMÔXW²:\a\1c\1cV\89ã/\1c\980k\0OÃ/\80¦\80\87@ØÂ\11\e´\14\80r\10\8d\ e\1e¯Ò@l\80\9a\vB\19\8eüäh\85à(\10V4h¼:, À\v1ºa1\aa\a\1a\a\ 1Ò\80U\8d
\1d¤oè\ 28#Ø´\1cÆpPÃȱ\9d8ÒÆÑ£\90\9e¡e\10ÃÀÛ°lôÀ\a(q\10$WCø\ 3\r\83\95<\94\ fÐb\ 3*\ 5â%8$F"ì\93\ 1\ 6qjV\ fB\82ÕȰ\bVa\b\80\ 2
+\95%<    \8b!5\8eÅ\r\98bd\90R¡+ \a(N±\80c\1e\v¥=\84T\90\ 5X\80\fR\10\8eùÁ¹ô\10æå\18=Àb Þi1W\18P\9aPY¨ñÛ@â ,±K n(½Áý £*X(\80h§ÇÒ\19\ 6á0æeOÒ\82B\94\18\1fplªA\8f\ 4½\83à°ô\15â\14\84`¨XaP       >&Óà`\16Ç\a\10¿U&v\aU©J\ 15\15ü\8e\16Ó\ 4\16Î`"r,± \95\10¾ÕXV\80ÃA<Ѳè\8dÂ\a?Ð0\97\85¯\95³Ù\ 4\83Ð2¨" pC\1aÅ\ 1¿Ñ\93 v\83\18«g1\bt\87:\ 2\13\ 4»\ 4'5àÐ\14ÆLÐ\ 1P\12\18§\9c%|È\8e:,\8ca0\0ê50gC\v\94c\14\82l\ 3µ\12VS8ÆÔj ¨\v\ f\92Ce¯ÆÜ\8b\8aÂÑ\v\ 67pQ\18\9e@<ÃÂA\ eã/°\ 6\ 5ÖöX\15@\80\87\0jÀî\81\\942\b>PE\82gáH\14\8aQ\18F\83\90@\86Ðx¨ÁÔÂ\83ðS\ 6\ 5º\16fC\bfP\ 3°x\ fOÕè°\80\85\81\ 243è½\ eÍ\10G¥P \81\Xù\ fOº\ 1ú¦ÂG\e0Z\80Tз@­PÝ
+JÒ¢««±ØDÕ\81æ`\80 ÇB\bk     ,¡à/ \90\80\9fA Ðâ°\12Í\ 5\8aGHYXÒ\80ñÁ' ¢Cj4`ª\86\90,ô\fÁ\10¬\17ú¨\14\8b}(¼=´Ì\8bq\84\8bãqp\e°kh5\8exÕð5\ 6ì$NÃ@\96\1fAQ\fî
+&\ 5Fe\90a[¡ra\ fÖ³A\ 6~\83\1c\ 3 hÙ`ì\90\ 2\8b\ 6\83\ 6çfÀ7Ñ\aÀÚÔ8©\81ߢgÍÕa\88UhµP\vA0\93c\98\ 2Ñb¤Õ\88=\86ò\ 5\92.S.ú+\8c-YÙ\f!WL±ø \bb\188a$
+.\0\9f2¨p$\83#\ f\ 3\1a<\16  yP\ 1$\13\9c\8e2`\1d\rúÔ(Õr\1cÀá'à©PoAÀ\87\80\84Ö Ä@\ 3õ!\ e\9c\85ª\18B<h\12\a&`ß\18\8bP³)° \85ì\a_\ 3©N\83ÑZ\89­\84ñ$Î7\80üa \8aá\18> ÄÂ\ 3:\ 5\16\82SD8§(ÇâO\83ó\ 4ÂS J\81!i\r
+6:Q¡\16AdPÕ¨°ÀV³/Á:\14§\8càÏ
+4(0r¨\1fpV\88=\ 6³\82\ 2­\19Ò)6T\8be5\b\1d\ 2<\86kñA\90\15\fØ\ fx:X\8dR\ 6#\ 1Ð8h\17~\a""|\ fλ(qL¯ÀQ\9eZ\86U\11t\18\86ÿ\90-aÄ\0±\ 4µ\fÆ\ 4RP±\89\ fȰXo\80x1\a\b\ f\82Ê\ 2\ 2\94\ e\v\ 2\9cµ\84¬\ 5\99\e\v\ 4-\ e(´`¹,¹À\1f\83Ò´2\18ÊC¼\84P\r1\r\aÎð \88Ý84Òc¡\ 1*+\ 5²Óa\18\ 3½Éq¸+\96\r0f\83\82\17GÈ8ôWãçp:\ eM\fê\14\88"\18\8d±¬4`ÊÑ£ÿ\95¡"*\10~\11B\8b\16G³Â¼1D<Ô\ e\94\8d¼±\ 2ki-\v<âln¢Ó˵ác\9dØ|t\95èYiø\ 6\18M\81D ÇÀ\83q\82\v\f\v§U¡¯lr¥'û\14Î2©qT£ÂéI\9c\99
\118BÑ\81\9aqz\0úªÇ\14\bå\81\92Íê\99®\148\18\82\ 3§9q ¡Õ±ç\80wCÊ\81:\ 6Fj¢\ 3Á\87@¿\0\18&4\1e?\ 5F«Rã@Y\83±\91µW\r)\ 4\87µ Y(µàÁ0ðSkTX0èe\89÷¨²(\ap\ e\f\87 h02è\8b\fª-\ 5«¦p
+\10b*ë;\14q8M®ÃPªÇÑ\17\11t\ f\ 1\ 6"<¸:¤{\r\ e´t\98\ f¡\b\80FÊY½\bz\17'\85° Àè\ f¹\ 5Ò³\12³\ fhGÏfuuX\8f\8b\83\e\9cÄ\84\99{\83\1c\87\90«U8e\89\ 3`,\96àI\105p¢\ eÿÁY"ð?ÈE0\\ 4±bD\87\ 1\e\94ã\ 6\1cí\83\85h1ÖA\fÓã$³\92\95¢ÂÐ\10\87\98z¬rÀ\84ulÚ\1e*fð\b=\96\eZ\1c\8eÁßÈq&\1d\ 6MjÁoÁ¯\14\98\ba8\8f_,DQè\ 4\86%Ð(ÎOAì\83ö@$Ñ\8bÓ׬èB/Å\89\1fh\97L\ 3ÙO\81s\ 4X#°ñ\rD&,¶Ô¬\1c\86`,x6|F\8d\ 1\ 3\9d\ 4¢
+\ eï :Ây[\83L\8dÑA\87\19\15¾\11£\83±\0d]Ä÷\ 6\10\8fð{Ô\98\14p4®Å\10¨Ã\99#°Z=«4Áv \ 4ÀÚ\ 4¼\1c\1ek   f\11ðC\rÚ\8bö[\8b¨\9c$»AO«Ô\9e9\99ðO¥.ì}\9f«O¯^ízúv\94uî×®cWß^~PíºÉJ©°d\87!\82\ 2'\92 §2\85\87\90"Àb¡ö\81$\80/ó@\1azðr(÷à':\16Nô8RÇÚ\13F\160\À'ÁßêpÖ\ eb08\92\86\8dLÑåÀ² \9eàÔ\1dÔ(P(aáȪQ\rN\89È*a0(¥P(°gð\ 4\18\9fè1ÖÀ?\90¢ 0\84\8aG\ 1\85\1f¤s\19Î8y°âP\8f³n\10­!/À W\8f/\9f ¢5È*õ\8c\ e5\95*Åÿâ2\91÷\81\1c{É*¼Ò\84/\96¹VöªQM\14\7fc|Uhú¶³¬ø\1e´\8dW\r\ 3¾Ýlä7¤\87o\9b\98¦\9a¼*\14^ó5ë\18¯ª\95æUµðRÒøÿLW¢dc^N\96\r±É\vÜ>íüº`É\10ÿ\v\\9d¬t\rh&{-Ú¨K»>¾\8d\87ôñMÒ»]RVr\95õ\9d·ùøFV\1fÿÛ|áG¥`¤\ 2¹\1eêE\884¥ØKp¨_< òÁ¸5Ù/ôµIx\9b\1fÏ\7f\9b¾¯gï\90õÆ×õâ\7fE·Ò½\94±u¬©*³¾¯7¾k\97Ǽk\97\vjN\92¬­ºrâÇ\ 5Íga\ 4È®_;±1^5d^\ 3üzË\84\15+]\87úÆ<â\e\8f¬×¾¿o¿\81¾\1dÛÔò\1dÒFøP\7fs,\15IäÇÍ<3'e¥\86B,\82\ 6­× õ\1a´^\83ÖkÐz\rZ¯Aë5h½\ 6­× õ\1a´^\83ÖkÐz\rZ¯Aë5h½\ 6­× õ\1a´^\83ÖkÐz\rZ¯Aë5h½\ 6­×°ûõ\1aÉXKÐF\9bÀ~ðï,'\10_ÝJè%x\82½0ß®v\exKn\88þ¯f%3ãê\vø.v*A-ß!±äÖ°ª7\8a\ eþ£F\15£èð³â\8f¢?^Öô3â_\94ôªÑ\ 6>ëݵ\87\9fo¿X-OÂb\8e\96³ï\90a[\84\aȪvêä\8bÏ\88\16¦&Îójôêï×®W\axV;¿vm ­uÚõIàa w¾ê`ß\ e\ 3ð³ñ\89 î\13±\87Ñ¿\10ûù&J\83èãÕ\v¾\10\8a\1a¦\14öòz@æ\98\95%¨I<g\ 2:ê[Føc%ßÎ]{\89\87N\80*á3Õ2\97®â;°k\aß\86Õ*É\9aÕÍükô¯Cîõ\90³7H0ØÀ
+@Ϧ© Dã(W­\96µ\92á\90\ 3\aN`,]\92÷\9bøAão\eÿ\rñ\e~\19Ã\19ü\10
+BüPæbÅX\9b±ïed\90P`ä\9e¹Y\8d\f¼ïs$\b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b"eñ\9dË\83y7\8d \88\94È\8f\yλí\ 4AØ-?\12\9a(X\11?\ 2\99\13ñ}Ì\e\9dȺ\88¤C\16E$\ 5³Ç%2-"\89\90E\11\89\10DvE$\17²(")\98ÅNÈ´\88ÿ\0\99\13\91DÌh*d]\84\0Ù\12aF¸\98Ó·ð\16\ 3ñCð6\9f\18xK\820?¼m*.¼åA$\eÞ&\13\17Þò Ì\ fo\9b\8a\aÞ"!\92
+oKI\10Þ\82!Ì       okJ\10Þ\82!\12\87·\8d|\ fÞ²!Ì       okú\1e¼eC|\ fÞÖ\91\b¼ÅC\98\rÞ¦\94\b¼ÅC|\ fÞÖ\918¼%D\98\ 1ÞF\94$x\v\89\88\1fÞv\91$x\v\890\ 3¼\8d(Ið\16\12\11?¼í"Ið\16\12ñ£ð¶ ¤Â[ND<ð6\8a¤Â[NÄ\8fÂÛ\82\92\ 1oQ\11qám\11I\85·\9c\88\1f\82·ù$\ fÞÒ"âÂÛ"\92
+o9\11?\ 4oóI\1e¼¥EÄ\85·E$\ 3Þ¢"þ;¼m'yð\96\16\11\17Þ\16\91\fx\8b\8aøïð¶\9däÁ[ZD\x[D2à-*â¿ÃÛv\92\aoi\11qám\11É\80·¨\88ÿ\boÃI6¼\ 5\85·E$\ 3Þ¢"þ#¼\r'Ùð\16\18\11\17Þ\16\91\fx\8b\8aø\8fð6\9cdÃ[`D\x[D2à-*â?ÂÛp\92\ro\81\11qám\11É\80·¨\88ÿ\boÃI6¼\ 5\85·E$\15Þr"~\bÞæ\93<xK\8b\88\vo\8bH*¼åDü\10¼Í'yð\96\16\11\17Þ\16\91TxË\89ø!x\9bOòà--".¼-"©ð\96\13ñCð6\9fäÁ[ZD\x[DRá-'â\87àm>É\83·´\88xàm\14I\82·\90\88\1f\82·ù$\ fÞÒ"â\81·Q$       ÞB"~\14Þ\16\94\fx\8b\8a\88\aÞF\91$x\v\89øQx[P2à-*"~xÛEâð\96\10ñ£ð¶ dÀ[TDüð¶\8bÄá-!Â\fð6¢¤Â[ND\82ð6\8dDà-\1eÂ\fð6¢¤Â[ND\82ð6\8dDà-\1eÂ<ð¶£$Á[HÄ÷àm\1dß\83·l\bóÀÛ\8e\92\ 4o!\11\89ÀÛ@\12\84·`\b³ÁÛ\94\12\87·\84\88Dàm ß\83·l\b³ÁÛ\94\12\81·x\88Äám#       Â[0\84ÙàmJ\89À[<D\92àm&ñÃ[*\849ámMß\83»\ 4¬Ó\0;Àj&\91,xK\850'¼­é{H§Ë\16j\89}`v½\9b\ 5ÞR!Ì\fo\83J\10©uÓ¼í±'~\¶f\87·H\b3ÃÛ \12D\82½3K\93ì\12óÊùÇá-\ fÂüð¶©\ 4\91`¿Ì"pûÃ\12¢þ\11\83°\b¼Í*~¤Ù\1d3\8aÝ\9e°¨Ìÿ\ 3¼åA\98\1fÞ6\15?\92í\8by\85o7XAòI\87·0\b\8bÀÛ¬âG\9a½°\84üí\0ë\b?\89ð\16\ 6a\11x\9bUüH¶\v\16Ò\82­cM\15|\1fÞ\92 ,\ 5\8a\1fi¶ßrZ°i¬©\82Dá-\fÂ"ð6«ø\91lã-ª\vÛÅú\8aH\bÞ\92 ,\ 5\8a\1fi6Û
+ê°E¸è"^xK\82° ¼\8d+\1e$Ûf+¨Ãæà¥\8boá-  Â\82ð6®x\90x\9b­ \14Û\82¯:Lá-     Â\82ð6®x\90~k­¦\1déÃ[\15\96\ 4aAx\eWüH¿©VV\93dá­\87\18xK\82°,¼í+\1e\9dVV\93dá­\a\11Þb ,\v\8a\1fé7\92\8b²$\bo=ÄÀ[\12\84eám_ñ ý\16þ\1fù\ 5\83·\12bà-      Â²ð¶¯ø±­\16¦Lxk \16¼\85AX\1cÞ&\16\ fRn\9b\0G}I\ 1Þâ\8f\voy\10\16\87·\89Å\8f\94Û&ÀWk\1cá-øøá-\15Ââð61\9b\84·Ò¸Á[ðñÃ[*\84Åámb6      o¥ñ\81·Ô\13\84·`\bkÀÛÊl\ fÞ\1aã\0o\91\7f\ fÞ²!¬\ 1o+³=xk\8c\ 3¼Eþ=xË\86°\ 6¼­Ìöà­1\ eð\16y"ð\16\ fa\rx[\99\8dÁ[]Ö\86·¼\13\87·\84\bkÀÛÊl\fÞê²*¼\85\9d$x\v\89°\ 6¼­Ìư²\90Í«kë´ÙÊp\14\11aMx\e\9a-ÁWª\96³\ 1K·Ü¢XG,\ 4_x[\99-!\11y\92%\98b!i\10R\83·¡Ù\fR\13#ÙÀÿQ\98J1ð64\9b\ 2\ 6ð\83}'l\ 5Þ\86f\eH_z)SûÿÕê    Û\83·­Ù\0¶"·\14¨ú\1f6\7fÂ6àmh6\80Í -å¨Þ¬®@H\17Þ\86&ulTb)Dï\16p\bB¢ð¶5IcÓâ²{¥[Ì'\bÉÁÛÖ$\8d\1dÈʾ\95nyÿ $\ 1oC\93.v#+»éÈ·XÞ?\b©ÀÛÖ$\8a=IÉ\9eúb\8aµ\\84à\ fo[\93"ö'%»é\88)Vô\12\823¼mM\8aØ¥\94ì¦#¦X×W\b\9eð¶5iAò±!¬ï,\ 4/xÛ\9a´ ùØ\10Öw\16\82\17¼mMZ\90|l\bë;\vÁ\11Þæ&!H86\84õ=\85à\bos\93\10$\19Û\82\8b¿\10\àmk\12\82$c[pñ\17\82\17¼ÍM*\90Xl\v.ÎBð\82·¹I\ 5\92\89mÁË_\b.ð67©@2±-xù\vÁ\vÞ\16'\15H 6\ 4G\7f!¸ÀÛâ¤\ 2\86àë2\84õámqR\81¤aCðu\19\82\v¼\8d\8e \92\ao\8f!8ÀÛè\b"yðö\18\82\ f¼í\8e \92\ 1ow!øÀÛî\bëa\a\1açë,\ 4/xÛ\1da=ì@ã|\9d\85à\boÓ#¬\84\1dh\9c£\9b\10|ámz\84\95°\ 3\8dst\13\82;¼­\8f°\ 6v k¾nBð\85·õ\11ÖÀ\ etÍ×M\bîð6@\82H\1cÞ^Bp\86·\ 1\12D"ðv\11B\12ð6C\82ø\1e¼ý\83\90\ 4¼Í\90 ¾\aoÿ ¤\ 2oK$\88\ 4áí\1c\84Tàm\89\ 4\91 ¼\9d\83\90\10¼\8d\91 â\81·[\10Ò\82·=\12D<ðv\vBrð6I\82\88\vo\9f $\ao\93$\88Xðv\bB¢ð6L\82\88\81·7\10\12\85·a\12D\f¼½\81\90.¼m\93 \10Þ~@H\1dÞ\16J\10\14¦\88Dàm¡\ 4Aa\8aH\1cÞFJ¤hx\9b?a\eð¶S"EÃÛü        \9b\81·©\12)\14Þ\86\12¼­\95H\89ð¶zÂöàm³D\8a\83·É\136        o³%R\10¼\8d\9d°Ux[.\91\82àmì\84\rÃÛx\89\14\ 1o3'l\1eÞ&LØ9¼\r\9c°\ax[1açð6pÂNàmÈ\84ÝÂÛ´     »\82·9\13v\bo£&ì\rÞ\16MØ!¼\8d\9a°Cx\e5aWð6gÂnámÚ\84\9dÀÛ\90        ;\87·\81\13ö\0o+&,\82t\8cÁ¼æJ¤@,a\96\ 4/$k\eæm\18\91¢0£\1d\12|\91¾\91\85\84}c.\v$8b+¦b\9dv\12\8f\e\1eÁ\17\9b³\19ë7\98°uÌâ)\ 4\17l×rø¶\9c°-Ìå/\84õám;\88­·\9f°     Ìå2\84\95ám81ØA\17\b)cF¯!¬     oÃ\89\8bÝt\84\90 ft\1cÂjð¶\9aø±³î\10\12Á\8c\8eCX\rÞVó=ì¯G\ 4wÌë>\84\15àm2\89c¯ý"¸`^÷!¬\0o\93I\12öÝ;ÂÊ\98Ñ}\b+ÀÛ^\92AJè#a\ 5Ìè>\84uàm2É %ô\91°\ 2ft\1fÂ
+ð¶\97d\93rzJX\b\ fa\ 5xÛË\7f!¥õ\970;ær\1fÂ
+ð6\96ÿN
+ì2a.ÌèADrá­|«Bò!þ3fw="Qxë\9c\ f$\10â¿a5Ç$\ 4x+\9c3$
+â?ÀË[S&¼µ-     H\ eDráí¸)\bÞª&\b\9b\84·ã¦\14\99 l\18Þî\9b"à­d\82°mx{°ýÃ[Ã\ 4aÛðö`;\87·z    Â\1eàíÇö\f\12\84\9dÀÛ\95í\16Þ\8a%\b;\81·+Û-¼\15K\10ö\ 3oo¶Oxk\95 ì
\ em\9fðÖ*AØ\ f¼½Ùná­X\82°\1fx{³}Â[«\ 4aWðvhû\84·V  Â®àíÐö  o­\12\84ýÀÛ\9bí\16Þ\8a%\bû\81·7Û'¼µJ\10v\ 5o\87¶Oxk\95 ì
\ em\9fðÖ*AØ\ f¼½Ùná­X\82°\1fx{³ÝÂ[±\ 4a?ðöf»\85·b  Â~àíÍv\v\12\84\9dÀÛ\95í\19Þº%\b;\81·+Û3¼uK\10v\ 2oW¶gxë\96 ì\ 1Þ~lçðV/AØ\ 3¼ýØÎá­^\82°\axû±=Ã[·\ 4a\ fðöc;\87·z        Â\1eàíÇv\ e\12\84=ÀÛ\8fí\19Þº%\b{\80·\1fÛ-¼\15K\10ö\ 3oo¶Oxk\95 ì
\ em\87ðV)AØ\15¼\1dÚ\ eá­R\82°7xû´½Á[\9f\ 4aoðöi»\82·2  Â>áíÙö\ 3oM\12\84ÝÂÛ¹í\ 4Þj$\b»\85·sÛ      ¼ÕH\10ö\foÿ¶\a\90 ì\19ÞþmóðV AØ?¼½Ü¶á­=\82H\11ðvt\e\86·ê\b"EÀÛÑm\18Þª#\88\94\ 2o_·Ix+\8d R\10¼ÝÝ&á­4\82HYðöxÛ\83·Æ\b"ÅÁÛém\fÞê"\88\14\ao§·1x«\8b R"¼ýÞ\96à­+\82H\89ðö{[\82·®\b"\85ÂÛõm\ 3ÞZ"\88\94\voï·\rxk\89 R.¼½ß6à­%\82HÑð\ e\06\0o\15\11D\8a\86w\0°\ 1\88 R:¼c\80Ôá­\1f\82Héð\8e\ 1R\87·~\b\82 0õ=x+\87 \b\8a\83·r\b\82 \18\95\b¼õC\10\ 4\85©ïÁ[9\ 4AP\8cú\1e¼\95C\10\ 4Â;\12H\17Þ\9a!\b\ 2á\1d  ¤\v\10\ 4\81ð\8e\ 4\92\86·r\b\82@xG\ 2éÂ[3\ 4A ¼#\81tá­\19\82 Dx\a\ 3éÂ[3\ 4A ¼#\81tá­\19\82 Dx\a\ 3éÂ[3\ 4A ¼#\81¤á­\1c\82 \10Þ\91@ÒðV\ eA\10\bïH ]xk\86 \b\84w$\90\95C\10\ 4Â;\12H\1aÞÊ!\b\ 2á\1d  $\r\10\ 4\81ð\8e\ 4Ò\85·f\b\82\10á\1d\f¤\v\10\ 4!Â;\18H\17Þ\9a!\bB\84w0\90.¼5C\10\84\bï` ]xk\86 \b\84w$\90\95C\10\ 4Â;\12H\1aÞÊ!\b\ 2á\1d $\r\10\ 4\81ð\8e\ 4\92\86·r\b\82@xG\ 2IÃ[9\ 4A ¼#\81¤á­\1c\82 \10Þ\91@ÒðV\ eA\10\bïH uxë\87 \b
+S\89À[?\ 4AP\98J\ 4Þú!\b\ 2á\1d     $\r\10\ 4\81ð\8e\ 4\92\86·r\b\82\10á\1d\f$\r\10\ 4\81ð\8e\ 4\92\86·r\b\82\10á\1d\f¤\v\10\ 4!Â;\18H\17Þ\9a!\bB\84w0\90\95C\10\84\bï` ]xk\86 \b\11ÞÁ@ºðÖ\fA\10\83\81¤á­\1c\82 \10Þ\91@ÒðV\ eA\10\bïH uxë\87 \b
+S\89À[?\ 4AP\98J\1cÞ*"\88\94\ eï\18`\ 3ðV\11A¤hx\a\0\9b\81·¢\b"åÂÛûm      Þº"\88\14
+o×·1x«\8b R"¼ýÞÆà­.\82Hqðvz\9b\84·Ò\b"\ 5ÁÛÝm\eÞÚ#\88\14\ 1oG·yx+\90 ì\1cÞ.n?ðÖ$AØ!¼ÝÚná­X\82°\axûqJ\84·Î BÒðvP\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 Ì\ 6ïíJ\ 4A\10\ 4A\10\ 4A\10\ 4A\10)\99TFx7$e\93*\1ex·)E"\88þ'äg\ 6û£m«Ã6m*Z\11?ÿü\v\90\1aÀ\7f3\8dØVOb°U\1f\17T\81\8aH\9d:M\9a´"iÒ¤\16ôa;\1d1!ÚÏ\7f\8avq[èE´*P\11éÒ§Ï\90\91\91!}útiA\1f\rQ\15?Gc#\117F\15 \89\f\992gÉâ\90\15ppÈ\92\19\14b\9bê0ñôÔB̵\11\ fgíFU &\1c²fÏá\983\17\90Ó1Gö¬Y2e´\15uÄÎ\ f\82y¥Æ\90\9bN\8c¸ \ e©÷Á¨\8b´é2dÊ\925»c.§¼ùò;\17(àì\9c/¯S.Çl\ e\99Q\1dbO¤Ù\95o2õO1\9e\9e>C\86\8c\192d0\ 6\©vA\ 4Û\8eºH\9f1³Cö\9c¹ó:\17,T¤\98Kñâ..E\vË\9cóævÌî\90)Cº´Fç\90^_b*ò\98\14Á
+\11\88¹\19\ 2\99ÁÁÓ\89ÚàÝÞï\11­\8b\1csç-P¨\98k\89R¥å
+\85BîáîæR¸`>'ÇlY@\1d\12\8dU1\89ÚX\92§f\ 5aºt \89,Y³eÏ\ 1\96\v\80)1ºÈ\9e3\8fs¡bn¥\14\1a}\99r\9e\9e\9eåÊèÔrw×"\ 5óåÎ\91U\8cU\92ÓFÜ\92<\1dÂbSfÐD\8e\9c¹\9dòäÉã\94;\97cvè\ 2hCúÊH\9d\ 6u\91+oÁ¢n\1eJ]¹\8a\95½«×¬Y³ºwå\8aeuÊR®E
+äÍÅb\95ô¢n*cñ\11]\92g\ 2°\1e\ 4\97È\99;O~ç\822\99¬`\81üyР \aØ\ 1Þ\8dN\10æ\18iÒ¡.òÉ\8a\95ThËUªV»~#\9f¦Í\9a6iÜ võJ\9e:\85»K¡üN\8e\82eIÌÏ\8dº\10Ó\83CÖlÙ²e\87Èä\98+w\1e\15wu-\ eÙ¯ ëA\ 6H}\92j\7f,°3\10¤2dÎ\963¯ÌÅ]e¨è]§Q³Vm;øvêÔ±}\9b\16>õjT.§\95»\15-\907gö,\19Ó£\9fK¨7\82. &\17Ò\ 3\94ä¹\9d .A9X\80)BÈ~\98ü\8a\81=åpÈ\94\1e\C:Í\8f\ 3\vRiÓgÊê\98§`1wUÙJ5\e4kãÛ­W_¿\ 1~ýûöìÚ¡UÓú5¼Ê¨Ü]dùr\836\ 4?\97Lo\ 4¿Æ\84\97\15
+Á<¨\ 3Y¡B\85\8b\14u)îV²Ti¥Fg(S¶\8c\ 1s_ñBùseÏ\ 2®!Ù8\15\1d¤r89\17-©*[¹Vã\96\1dº÷\1d4|ÔØqãÆ\8e\1e>¸_\ fßVMêz\97×\96v-\9c?F\e¼Û-b,>2AMî\94×YV\18\82R\89\92î¥<J+T \87²å½*Wõö®Z¹b9½ª\94\8b,¯cVh¿t\9a\1f\aÁ1 HåÊ_ØMQ¦R-\9fÖ\9dz\ f\1a9~Ê\8cÙsçÎ\995}Ò\98aý»whѰFE½Ü­pþ\Ù2\v¦%\91î\98\16\1fP\bº\96ô@%è\r\95¯X©\8aw\8dZuë7lذ~Ý\9aU+\96Q\95\9c;[f\88S\12U\86Ñ1\1c\1cóÈ\8a\97ÖyÕlܺsß¡c§Îþmé\8aU«V­XòÛì)c\87öíÒºq-/½ÜµPÞ\9cY3¥K#\9d\14\bíÿ%u:´%(\ 4]¡&7\94«P©JÕj5jÕ©× \91\16-[·iÓ¦eóÆu«\835¹Êòä\808%ee cdÏí\Ô]S¾zÃ\96\9dû\ e\e?cÁ²5\e·lß±}Û¦u+\16Í\9e<j@÷¶> \8dÒ.\ 5\9d¤\15u\99-         ¯h\89Ò\9a2\15ªT¯]¯aã& \856í:øvîÚ½gÏ\9eÝ»thÝ´^µò\1a÷"ùr:dL\97\19\1c-\8b9FÞB\10¤ªÔkáÛgè\84Y\vWmܾçÀ¡#G\ eíß½mý\8a\ 5ÓÇ\ eêÑÖ§f\ 5Ö\9b¬Ø\e     )C´¥"%ä:Ï*5ëû4ÇJ°K·\9e½ûö\1f0hȰáÃ\87\ eîß«s\9b¦u*\eJ»8ç\ 6Ï\96¬2\98eeÎ\96Û¹X)mÅZMÚõ\1c<næ¢Õ\9bw\1f<~êìùóçN\1f?´gë\9aE3Ç\ eêÖº¡wYEñ\82¹³e\92PÔEe\18\83¬¶|Õ:\8d\7fmש{ï~\ 3\ 6\ f\e1zìø\89\93¦L\9d:eÒø\91\83ûtnÕ¨º§Òµ S6I+\ 3,+K\8e<2WEÙªõ[vñ\e=í·U[ö\1c9uáÊuÿ\eþ×.\9d;q`ǺÅ3ÆøunQÇK[²p^\88ºRR\ 68v¦¬9ó\15)©*W¥\ eT\1f\ f\191fÂäi3gÏ\9bÿÛÂE\8b\17-\9c?kÊ\98Á½:4«]QS¢P\9eì\99ÓKT\19©DËÂÎh*ÔlÒ¾×°IóVlÚ}äÌ%ÿ[\81w\83ï\ 6Þò¿túÐÎu\v§\ eïÕ®qµ2¥\8bæÏé ¡\14\88ÊH\9f)[.çb\1eº\8a5\e·êÜgð¨\89ÓfÏ_´tÅêµë6lܸqÃÚ\95KæN\1dí×µUýÊ:w°%(§$\13ec\91J´,ì\8c¾rÝ\16\9dýFÏX¼nç¡Ó\97n\ 4\86Ü\v\8f\88\b\ f»{óÊ\99CÛWÍ\e?°sóZå\95Å\väÊ\9a1mj©ô\86)\ 3¢l\81ârÈxÍ;ö\1a<vê\9cEË×lز}×\9e½ûöïß·gç\96uKçL\1cÚ³m£ªúRE¤®\f°¬Ü\ 5\äe¼\e´î>xÂÜ\15\9d¸è\1f\18\16ñèidä\93Gá!·®\9cÚ·iÉ´á=[×óR»\15ÌÍ2¸Dz#(#»SÁâ\8a\1a¶êê7jê¼¥k7ïØ{ðè\89S§Ï\9c9sêÄá}ÛÖ.\9a6²o\a\9fj\ 6\eP\ 6X\16v¦zãv½\86Oùmí\8eÃg¯Ý\ e\8dxòìÅË\97\9eD\ 4\a\8ºcåìÑ}Û5¬¢-!\13S ï¦\v\18\8d© +¶¿m\8f!ãg/Y»uïá\13g/^¹vÝßÿúÕ\8bg\8eíݼ|öX?ß&ÕËx0eH7g0e8\15tUzÖðéÐgäôÅ\eö\1c¿pãnøã¨\97oÞ¾{óêù\93û\81WOíY7\7f¼_G\9fªú\92\85òHK\19\90óгEc\1a6iþÊÍ{\8e\9c¾xíæ\9d ààà ;\ 1\1cÞ±zÞø\ 1\9d\9a\9a(\83w»ã%Ʋ@\19M:ô\1d5cé¦}'/ß
+}\10ùòÍû\ f\1f?¼{\15õ0äÆÙ\ 3\e\17N\1aØ©I5\83{á<Ù¥¦\8c\8c\98óJ\97ñnÔ¶ç°É\vVo;pò¢ÿíà{á\ f\1e<\b\ f\v
+¸tbϺ\ 5\13\au\ 6e@\98Ê\9eY:­\8fC,Ëò\11\94±ÿÔ\95;a\8f¢^¿ûøùó§\ fo_<¹wë¡Í\8b§\fîÒ\14¢®Ä\94\91
+Ks\aÇ|EJé+×oÕ}Ȥù«·\1f:såVðýGO"\9fE>y\10vçêé}\e\16N\12\94!­ÖÇA´¬\9c\82eµë=bú\92MûN]½sïñó7\1f>\7fùúåÓûW\91áw.\1dÙºdê\90.Í$×\1d1ÎfÏS¨\84ºbíæ\9d\a\8c\9f»rÛÁ3Wï\84=|úü\ 5Kywý\99_\ fê,øµ\94\82l\1c\84A\1fZ\96»\ e,«ÇÐ)\8bÖï=yåö½Ç/Þ~üòõ÷¯\9f?¼y\16\11xùè¶¥S\87t\15\94\81Ý\91J9"L\14Â@\ 3ÊÁ²Õ\1a·ï#ºöí°GÏ^¾~óúå³\87¡\ 1ç\ enZ4iP§&Þ\90ñ°ü\90Ì()\ eÑ\96%sSW\0Ë\1a8aþ\9a\9dÇ.Þ
+{ôüÍÇ/¿ÿñû\97\8fo¢"\82.\1f\ 3e\f\ 5e\18mK2Ý\11§\10\1có\16v×VªÛ²ÛàI\vÖî:vñfèÃg¯Þ¼{ûúùã°\9bç\ fn\82\8cçëSUWR\ 6\85¹t\86¬q\10\86à8ê\13,«ï¨\99Ë·\1e:w#øAÔë\ f\822ÞF=\10\941\ 4s\86»Äl+f¤T\Q¶ºOû¾£g.ßrð¬ÿÝ\b¨@Þ½{\83\19\ f\951q\80oc,Ì¥¬\f\13Ë*©õ\ 2Ë\1a2y!Ä©«\81áO_½ÿüõ÷ø\95!¡î¤2\ 6\80Æ«N\8b®\83&\82k\1c¿|ûÞ\93ç¯ß¾\15\95±\11\94ѱQ\15-\e²J¨õq0µ,¬§ú\8d\99½bÛáó\ 1¡\8f\9e\88VÆQQ\19,êJª;©b¦§J\eª6lÛkÄô¥\9b\ f\9c¹~\17\8bó7¯\9f\vÊøm\82_\87F\955n\ 5sI\\19Ñ\96\15Û5"Á5 \9c\82\9c\81ÊØºdÊàÎb
+\94TwR\99L<+=k6õõ\e7wÕ\8e£\98ö¢^¾~%ä\f\eQ\86\89\94.òƬå[\8d®ñù\vTS\98ÀM\95!±î\b\ 5\15\9byv\8f1§S×\82Â\9fD½xñì\11S\86m\84)\13Ë\82R\1d
+ª.\18tw\9f¸r\a²Æ»\8f\9f>}«\fiy\86ø\1a_\fT8XêÃ\8a\90ó\ 1!\ f\9eFEE>\12ª)P\86ô\13x´eeÍ\99¿h)}\95\ 6mXÐ\85z$øaÔ\9b÷\1f\7fýLÚÊ\886§ìN\10¨Ê×lÖiÀøùkÀ\9cnß{ô4òéÃÐ\9b\17\ em^4yP',m%V~|CªèW¯8u[£IÇþ\10tw\1e»\ 4õÈ\8b·ï?¼\13\94a¬¦¤Ø\1dã+2Ç|8بתǰiK6\1d\80ò6üÑ\93Ç\ fBo]<¼\ 5M©©äfÖâ!:På-\ 4ÕaÝ_»\r\99²hþÓP\8f<{õöÝÛW \8c+Ƕ-\9b&\ eú\9c$5èCØ
+Uñ\1d\19ä=(        ÇÎAsº\15\1añèQDè­KG·-\9b>¬[ó\1aeÙ¬­dß\813b\ 2U1\ fCU\fº³Vl;ráfØã¨WoÞ¼\8c\ 4e\1cß¾\1c»\13=7%)eD;7\ 4*7U\85ÚÌ\9c6î?s=ð^Ä\83\88ÐÛ\97\8fïX9sD\8f\96µ=åÅò9f\91êË%\81\98¾\14dA·óÀ        \vÖía#¿ç¯^½\88\8c¸{õÄ\8e\153\86woQ\13mK\82\93Ð\82sg\14foÁ\9cú\8e\99½jDZ\8b7\83ïG\84\87Þ¹rr÷ê9£{·©WQUÜ9§\83\84ÖSÄGªX3<õ[÷\1c>}é\96\ 2B\1eF¾xùüiÄÝk'w­\9c5²gËZ\9e¥\8bæc¯g~JÊ·Zo'¼ø2\1fó\9e²|­\16]Á56í?s-0ôþýÐÀk§÷®_0¾\7fû\86\10Ë)ikC\fº.ò²ÕY\ e_½ëøå;÷\1e={\1e\ 5ʸ~j÷êÙ£{·®S^á\92?)\8ení£  \98s³¼WØ]W¥!¸Æ\9cÕ\905nÞ\r»\17\1aè\7fö\80qÚÖ½\90\98Á%¬\fãb¶ìyd%Ô\15ë´ì>têb¡\1ey\12\19ù$"ØÿôÞµóÆöm[ß+)\8enºßÑZG\13¤2¾ó+À\£ÛЩK >¿\1e\18\12\16\1atãÂá­P\7ftk^³¬àØ\92N\1a1A\17\ 6\e\1e\ 6ïFí\85 \võÈ\83'O\1fG\ 4ß8»\7fÃ\82       ~\1dL\1d=Áo2\9e@Âö;þb­£       \84\99\ 4æ\1a\905:ô\1f7\ f\86®\97\r\r½{óÒ±\9d«f\8dêÕªN\ 5¥\8bsN)-Â\8b\1fã¬\bäpUùÚ-º\ e\9e¼\10ÊÛk\81÷\1e>~\14\11\12\0\83X6nBGÿî
+ÉXÛ\1d\11<\9bÀ\1aG\13\18]#w\ 1WU\85:-{\8c\98±|Ûáóþ\81!¡Á·®\9cܳvÞ¸~í\1aTJÔ\96¤\811\87ç+⮯Ұ-\96·Û\8f\\b\b\ e\7fø0<äæÅ#[\97Â@ÃXª§O`és¬\13HÒ¥GÒ¥Mk\9d£  D×\80\ ex\94©Ö¤ÓÀI\v7ì?}õvphð\9dkgØ\82
+_\1fã»>\89'\rãk&6\97î åí I¿­ß{êê\9dÐp¨\ eo]>¶\83\95S,\83'\984¢w\9e¦\15¶;\ 2\992Zíh\ 2c\adn\9aJõÛö\81\14¾ëø¥\9bA!Á\81þç\ f\96¤\ 3Ëá¬\1e)©­\¿M¯\913ÑÏo\ 4\85\85ß\ f½s\15\1d}lßX\8eþMwØI\v?G\9f@\92-{öìÙ²eÍ\92ÙJG\13 k¤Í\0\98ܳV\8bîæ/Û\8aq*8$(àâ±\9d`K\98\96¤\9f4bê\11(oËÕhÚiàÄ\ 5ë÷\9c¼r+ø\1eT\87×Ïì7::Îïd\8eo\8b\86xêE\1aã        $¹\9d\9c\9crçÊ\99#\9b\ 3n¿¶Â&Yì\0V\84\85Ý\rÞ>¾\10§6î?}ívpÈ]\93¤¡\96ú+\r\91\98e/%qä×kä\8cå[\ f\9fógÕ¡àèúµ¨UN^\fF\1a\19âÙJ\16sÒBÖ\1c¹\9cò      \9bá\9dóåÉ\95ÃJG\13°ET\90Â\vº©+5hÛwìÜ5POݼ\e\12|;:i\88\13·\92O\1aÆò\16\17QÁÈ\8f¹Æº='±7\82£¯\9a\8dS
+^jW\16§¾é\8eÉÆÓ\y\9c\19Þ͵x1Ü\f\9f3\9bñh\ 2\ 6\ 6Ú\9cù]\14åkC=5sÅö£\17o\ 4\ 5ÛbÒ0]\11¦©T¯µ\905Î]¿Ã\1cýÔÞõ¿M\18 Æ)qà\94*ö/\vºÈêè\94_VÔÕ½´B¥RÊ=J\16/R oÎlV9\9a@\88S9ò\16)U¦z³.C¦.Ùrè\9c1i\98\14 \8e6\904Äò\16G~ÅJ\v®\ 1\ 5\15¸FPðÝÛ×Ï\1eÚ"Ä)O\85\8b3Û0óó7Ê\10\17(âZJ©-ãY¾¼gY½ºt\89b\ 5óæÌ\9a9½å·,c\9c\82zÊIVRW¥qÇ\ 1\13\7fÛ°ÿ\8cIÒ`S\b\ 26\914b»Fý6½q*\1d\ãöÝ»\8170NÍ\19Ó§-ÔSÆm\ 1±úc²ï´XI\85γ\92w\8d\9aµjxW.¯Wº»\14Ìã\985\93¨\rK
+A¨§r\15pU{Õ\87¤1o-V \904`¤±\7f#[;\85\vÙl"i\98º\ 6\14T8Ö\80aø©Ë7\ 3ï\ 6Þ¼rʸ|\18'x\1c\85íÔ1ý1n\9bÍ\91§ K)uÙJ5ê6jÒ¬Y\93FukT*§.U¬`\9e\1c\ e\19Ó\v\82R\80öã¸/\7f1Eù:­z\8d\9cµj'\8c\86\86\ 4ÞÀ¤\81\vTk\941¾`²!×\80±F\83¶}FÏ^µãèyÿÛAA·¯\9f;¼mùÌ\11=[Õ­\88Û\97D×H\15ó\8bâ{è\ 2ÅJiÊ{×õùµmG_ß\ em[4®SÕSã^¬\80S\ eñ¤\vK:GtÒð([³E·aÓ\97o;z1@\9c\9eÚ±r&$\8dÚå\15ÅØ¼³ôãT´k8»(<k5ï:dÊâMûO_¹\19\18tçÆ¥ã»×²\1d\86REò±$ø³©2\84\15\1aùÙÞþ\ 6-ÚwéÕ\ f\ f\82éܶY=oOuÉ"ÎÑç\8eXT\e\984ØH£ZS\96ÁqØ\1a\1a\16|;vÒ\90Ò\1eÑ\84\11]#\atGWµQû~ãæ­Ùuìâ\8d;A\81·®\9e\19Rx÷\96u*¨\ã¸Fô\9b¶¼\85K¨<«7lÙ©÷Àá£Ç\8e\195Ô¯G\87\16õ½Ë)K\14Æ#m¢µa±öGgðª8ì[´éà9ÿ Pã¨\15×ëØPÒ\10]\83½\16À¹ÏáÓ\97m9töÚ­  ;þ\17\8eí\=w\ÿ\ e\8dqר\905\8c\817\95ÉFDzÞ\r[ué7|ÜÔ\99³gM\9f4zpoß\16õª\96\15Ê\97Ë8ܰ\9c6Rýü\v\ eûd%´U\1a\9b\0åÔÙëAa÷Âî\ 6\`I\ 3·\98\18ß\1cÛ\8akdÁZÝP­\89ï\0¡º\r`)üôþMK¦\ eíökío\#æmH)]åz¿vñ\e5yÎÂ¥Ë\97/\9e?cüÐ>¾ÍëV6È]\våcÃ\rK\ eþR\89Ê(覩ܰ}ÿñ\vÖï;s=0ìþý\90[ª\ 4ÛJ\1aÑs\9f\ 5Ý <Äêvåö#çýïܽ\v®q\14\cl¿ö\8dª\1a\ 6F©4épq\86«ª|­¦¾ýFM\9d¿|ݦ-\9b7¬Z<{â°Þ\1d\9bÕöÒ\95..Ã3yÒ³#Y-#\87T1\8d×Tnоÿ¸ùëð\9dLXxxXàµS{Ö層a\9cûtÄ궦\90Â\ f\9c¾z+èn\10s\8dÅè\1a,k8\89\87\88¤2þN\16Ç|EK±\85àç,Xµyç¾ýû÷l[\8f\eâ{µoR³\82\94\v+p-7/\92JT\ 6\18E        ô\fÈxëö\9e¾\16t/"â\9e°\99ÌÖ\92\86à\1a¬ºÕU\11Røîã\97\ 2\ 2\83c\£Cco\83\a\9e[\91Q\1cÆÅ¼dS\96¯Õ¼Ë      óVnÙ{äÄ©SÇ\ eîܰlÎ\84Á=Ú4ªî©v/
+%\95\ 5çER\19ß\ 2`ùQ¥Q\87þãç\83\aÝ\7f`|?fkIÃ\18w\8d)|\ 4\9b»\15&¨®²¬\81\ 5\15\8c5dNÙ\85\982ÄÑ\89®Jö½GÍ\¶yïñ³\97®\¾púð®\rKg\8d\1dеeýªe!\89çu\14\12Ê`o¶ÄUÃ\1e8\89>`\ 2Ë\19wï?|ô ìÎ\95ã;\85¥lååÅ\92´ÂE\12D§ðè×\97ûN]½u7$\84Í\89¬\99\7fG\9fjeK\17sÎ%\1e=\95J\98-\85(Uº,\8cÛ\aNümÝîcç¯\ 5ܺuãÊÙ#;×-\9e\1fK\e¥\8a\89çÒYB\ eÂ[Æ´ÆÃ+Ä        \84ýgý\83Ã\1f=~t?èúé½kç\8e±±¤aLá\18x+5`¯/w\1e»\14\10\14\1a\8aï\ 5`¬1\1dO\11©$\9evÄr8[³äÀ|©n«\1eÃg,Û
+åðm\9cz¿yõÌ¡í«\17L\1a
+\81ªZ9¥x.\9dE"\84ñ\84¿¬9ó\15.©©X·e÷aS\17Ã8ãFHÄã§\8f\1f\84\ 4\9c\8b\954ØK\0³7ÂìD¿¾ÄQx\8bnæ-e3Ñ¡a8«\80Ãð       \ 3:5­á©(^@<\bL\8c\ e¹\vbÚl'¾Ô¹\15r?"â~ð­Ë'÷o^>kLÿNxÞSÉÂù\1cÅLcþf³)|Ì\18\ 5\8bË£÷i\1c¾p3ôáÓȧ\8fÂnÅ$\8dè\83\12lA\eb
+(ì®÷öé8`\ 2[\99p;\ 4_¿ú\9f;´uùÌ\91½Û6¨\82#?!\87\ 3èJy
+áç}\aN\¸Q\\8fÿäQxð\8d\vGw­ýmò\90î­êWÑcڷбzâ\14~æl¹\9c\8bºk\85\rúóV³­\r\8f\9e=\ e\ f¼rbgôúg\eJ\1aÆ×\97®j¯z0Ô\98\8dëëo\ 6ß\v¿\1frûÊɽë\17N\1aܵ\ 5\8cüÜdy°8úåga5"&\19á\9dÎÖÃ\17o\86=\8cÄ}C÷î`Ö_:}dïv\8dª\951I4fo3;S\15\ fe+\BY®Z£¶=\87O]´\ 1¬(0üIÔó¨§\ f\82ýOÃHcL\9f6õ¼TÅm(i\88     Y\1cj\feoÌnÜeåú\8d\vG¶¯\9c=\ 6Ê[Èá.ι²áɪ¿°ù,Èßåjâª\8cåÛ\8f]¾sÿÉó\97/\9fG>\b¾qþð6ö\e>ÕËÉ]¾£\8coÖç&#\8aD\1f        \9b#\8f¬¸ÜP¹^\8bÎ\ 3ÆÍY!li\8f|þòųG¡\9046°\8d\96l;\99Ôö_%\888vÂRµjã\8e~P!îÅ\81\83\b\18É\9eÁ\91ß°\1e­ \87»\17a) Mj\16«ó\15\95{²WÏ+w\9e¸\1a\14\11ùòõëWQ\8f!V\vsZ\1d\9b\18\95\11\88¾\ eæ\9b%ºIÑHª\98Ãõ\9d
+\14óÐyÕjÚ¡Ï\88i\8bÖÃ\bɸëõÉýÛ\97\8e\18w0E\9f\80b\ 3Ú\88\1ej¸ª*ÖmÝk\14¾¤¹|;4\ 2\17\17Þºt|×\1aÈá\9d\9bÕ,¯b\83\8d\fiÓ¤aãïb¨\8c\9e#g­Úuò\1an{zóöõ\8b'÷n_>¾\8b)ç:ÔÃì\88øRøö:\12q\95n\92\16\12×\b¥Ë\90%[®üEÜ5\15jà1`\13ç­Úvð̵ ð§/ð\10\91È\88 «ÇÙ.\93_k\95³\89õÏF\8c+%qàм+{³\7f>\0ëõ\87÷ïÞ`9|T\9fv\8d¼\85\1c\90)}Ú´éâ(ãzðèWx@ÁÓû·/³\17¶ýÚ7\8ey\11\12k\ 4\1esCRÌm$Â\85U©cîlLXjâ2Æ4ìÜç|8\85_­aën\ 3ÇÎZ¶iï\89KPKE±ÍpQ\ fCüOíY3gtïÖu+*m`ÓL4Æ9\1e\16§:`\9cÚ\87Ó
+P\1f=\f»sõÔ¾\r\8b¦\fíÞ\12\ 3\15«UÓ§\83\bá\88\16\v\19¢2À3.\1eݾbÖ¨Þm\1a\96dG\99ÆRFÌòÜ´lQ(»\8b$S&ã\1d\81Â:ÝïèÃT\17\15rU\94©Zÿ×ÎýGO_¼~×Ñsþè\18\7fxÿæÅã°\80sû¿Ù4c5\91þwØPC\8cSõZ³zêÄ\95\95÷É\83Ð\9b,        à9s5ËÃ0Π       oÕHÏ\94\ 1  ü×îÃg¬\80\9cÁvg\8a\87Ú°u%8\87b2ó\1eó¤\98[é2f2ÞE\ 2ÿ\97Õ!\8bÉBÝ\ 4w\15ÄÒE^YñÒúÊu\9bûö\1d1õ·5;\ e\9d¹z[8Å\fO\94\ 3\1f½xxóâÉâ¦\19I\1dµø}bâ\94PO-\15GOÏ"\1f\87ßõ?wp˲\19X¬z\e0PeË\9c1C&aþ\ 4\82ÚÐi˶\1f»\12\88§Ú¼aÁáÌ~a%C\r\\8c\88#\13\93Ù\90è%¡éñ\86¤ì9ð.\92\8e¤Üì\92@\87Ì\99bëã\9b\86Fë"+^Æâ¡«\bÉ»÷°IóWm=pêÊ­\90\a\91/ß~üôùÓû×Ï\1e\ 4]9¶\9dm{­i3KÙ\18që)\\81ä\1f\1cñT\1c:à`cò\90n-ëzÁ :¯#\88,\93\ 3nS1TkÚyð\94%[\8f\ 3á\81\fºzr÷\9a¹cû¶oXÅxÆoL\94\94.\9bc®<ù\9c\vÈ
+\15\ 6
+:çÏ\9b'7®ÔÍ\82úHÈ=Ä:
+tá\88ëR yû´ë9dÂ\9cå\9b÷\9d¼\ 4iîÉ\8b7\1f>}ùòùãÛç\8f\82¯\9dÜ%l\9a±\9d¥lH¬8Õ¦÷èÙ«w\9d\10\86OÏ#\1fB :ºcÕÜq~¾lV¤ Sv\87Ì\99¡Âg\9aó\1d0qá¦C\17nÝ{\1c\ 5ã\f,(\8fn[>\ 3\ 6¾ñD)±$M\9b!\13¨Â)_\81BE]ØU$¥ÜÝKº\15w)R¨ s^§\¸r:c\86øï\985YÇ\88\17ãhÊWoÔºû q³\97nÜsüâ\8d»÷\1f?\7fýþÓ\97¯_¿|z÷òIØ\8d3ûÖ kémi®0&N\15Ã\81\·¡Ó\96n=r\11\ 5üâÅó§\11Áþg\ fnY:cd¯¶\r«êK\15Í\9f\vÌ×!\87SA7M%áeçþ³7B\1fF2ÅáüÜ¢Éâz«ü\8e±\96\98u\8eÜù
+\16)^ÒC¡Öê\r\18ô:\8dJQÚÝÍ¥\88Ì9\9f\1cxÉ^|\97\9a\8a»¦a°çT hIu9ï\ 6\f\183c $ïóþA÷\1fG½z÷éËï\7füñõó\87W\91÷£\8f\ 1\13_0ÙÆ\¡I\9cr×{\8b+%ÏÞ\byøìÅ«\97QxÒíÉ=ë\7fÃY\91:\15Õ%
+åqÌ\96\15äY ¸àFsÖì9uýnÄ\93\9eàFY¶\1a\1fJ\18¡\96J\97\9a\121õ²%¡
+m\99ò^U¼«U¯^½ZÕÊ^åËê5J\8f\92Å\8b²[4ÅKMã¨\83\9d' ^\8cSBY¶J½\16\9dú\8d\9a\10\ f\1exïѳWïðp¿?ÿÄãý\9eE\ 4^\8a\99+,l;s\85&ã>6?5zÎê]'aX\r\89àõËg\8fX Z9g,Îq\94\95»\14\91-[\8eÜÎ.0Ðø\95\rÁ\8f_     ¼ÿèéÓG÷ï\9ÎV\8fáæFñ\1cõX\8e\a\8d-      ­\]¸\93®YÓ&>\rëשé]©BY­Ò£\ 4»E3göXwÌ\8a_az1\8eÞ«6&ïÉ\v`´w\1a
\87¢.þúë¯?¾~zûüáÝ«Â\á¯6qV\82      ¦óSÆ8\85gͽÂÑì\83`Ü[ÍÎG¯Ï\ 6\e¹rdÏ\91+\7fQ(§\9aÁ\18\91Å´°\a\8fÙ)*h\8cC»6«!¬
+5IßÂÞm6·W¨¸\87¦\å\9aõ\9büÚ¦\83oç.]ºtöíжUs\9f\ 6uªW©PF«pw-*Ë\8fê0Þ1kÔFôñFù\8b\94T{²\841\1e\937\8cö\84Bê3èâï¿ÿþó÷Ïï_>\ eñ?½g\r\9b\89³\12b0¾
+/,Ä©   B\9cz\14%Lr\80Å\9fÀ7\e\ 3;7«é\89ï\8cræpÌ\85{3½Åµcç\ 3Bpkfð\8dsâÑ\99ßn\88\8f¹ÕFæZZW¡Z½¦­}»÷î?pð\90¡C\ 6\ fôëÛ³[§v-\9b5ªS½²§^åá\86êÀ;f£/5ý¿\18ßÊ\9e»\80\8b\87¾R\1d\18a\8c\9c¶h\1d&\8c»8Úûðù+èâ\7fÿûû¯?¾|xõôÞÍXs\8563ì\8b\e§`Ü·K\98þ{ûîíë(\bT\17píí¨ÞB\ ewvÊ\993w¾Bâ¢\8cùøê\99\bº~fßúù±F½?\9b\84\186ÁèTÐ\ 5"LÍF-}{ú\r\1d=~Ò\94©Ó¦N\994aìÈ¡\ 3ûõìÒ¾UÓ\ 6µªV,£.\rêÈ'^  jÜ\93fz&\9e¢lÕ\ 6­º\81c¬Ø"\1cl\e\ 5\85\94 \vÐÆ\9f_!i\84ß¹xxËb<8Ëä´#ÛÐF¬yt¶n\15
+V¨Ûß½{û22âî5<Õzò\10áÍF¡üN¹rç\93¹±\ 1;dðÝ'q\9f¬Ér¥o\ 3\83ñ¸\8f\ÎEKÁPͧM·þÃÇO\9d=\7fÑ\92¥Ë\96.YôÛ¼YÓ&\8d\e\7fÏθzº\9aW\19µ\87\eÛw\13s\8df*\93cäÜ\94\9eÕ\e³ÃÐ×ì8¦A^â\89\97\7f\82.þù\a\ãwH\1a\ fØñ@ìD\1aÛ\9a+\8c\13\96½ì;í\1fò0êõ»÷ïÙ\9cÓ¥c;Va\ eÇ\vg\ Ã:å\93\15W\94g\19|\ 5\9e®\80;3ïà\90\8fMÎU\10ÇY&\83\fñ´\8fB%Ôåkø´í1hÌÔyKV­Û´eÛ¶m[7oX·jÙ¢y3§\8c\e1¨o·\ e-}êV«hP\95r)\94?7Þ    j\#\14sT\96\9b
+¾¤}ï\11S\17­ß}ìb@È\83g¯DÇø\aøß_\7f|~÷âQ\b;\ 4eT/h\8eÒŦ\92\86é<z«\9e#QÂ\97ñPÏw\1f>¼{-Ü\1d\09|X\8fVu½´îE\väË\9bOæ"/\v\19\9c\v\ 1wÃÂBn_9±\v{\8f\83Þ8ï:£÷\9dÃ/y7lÓ\9dݼµiçÞ\83\87\8f\1e;zäÐ\81½»¶mZ·rñü\99\93Æ\fíߣc+\9f:Þåur·"ÎÂ\r­1+¶DÏPy2e°·\18\17oB\15þúýçßÿüë\7f\822þƤñ$,à,DMqÛ«\8dì`\120\99G¯Þ´óàÉ\98\96o\86=~ñöýÇ\ fo_>Å\97Ê»×Ì\e?\0Æáå\14n\85\väw\96¹°Õ=\83&/Þ|ð\9cpRÄåheÄ}ñ\1c}ÖGIm¥z-»\ e\84aóú\1d\a\8e\9d>\7fñò\95Ë\97.\9e?sò衽;7¯[±hÎÔqÃýztlÙ¨V%¼\86²@\1eGá¾Ü\9fR\89\87é°\93²\14ø®µ×°)\v×í:vAð\f£2þýç\1fL\1a¯aØwáЦEÆ£¸Ù\12\11\9bQ\86\8eÖ¸è\ 3_\1aA^üøñý\9bç\8fB\ 3Î\1fÚº\fÆám\1aTÑ{\14/T°@!(i¢§²®±uo¨\8c\1d\8e$¾h\17v\9d7éØoôÌ¥\ew\1f=séúÍ;\81AA\81·oÞ¸vùÂ\99ã\87öîØ´zɼéã\87÷ïÖ\ e·zhÄmPâ*Q±´Í\8dG\fW©ßªÛà    óVm?tö:æ\8cwÆ0õ/Æ©ß?½\89Â#öc\86}6\95ÁÅ%;θ\93÷Wvâ\0\f5îC'?|üøîUdDÐ5Ü\ 2;iP\97æµ+hÜ]
+\17*\ÜCW\85\95Sëp=\89°³q7«ì1HÇÊ\19ѯLJ°ãÆ\86M]´aϱó×o\a\87\85G<x\10\11~/48ð\96ÿ\95\v§\8f\1dصeíÒyÓÆ\ eéÝ©eÃêåA\e¸\r\8a­¾ú\89Ý\9f\1d}\9dZ­¦\1dû\8d\9a±dãÞ\93\97oãÑú\1fX\ 27*ãó;6ì\8bý¶ÏF&nÅ@Âvò\1aØ\92\1d\,é\1f\82\9dü(^rrñèv¼\8c©}ãjå\94%]\8a\16sõÐáî³1èD¸³ñîí«§ö®\8b÷¤*\93U\88Õ\9bø²e58\9dtïÁ\93È(àÙÓ'\8f\87\ 4Ýò¿|îÄ¡=[Ö.\993y¤_×Ö\8dk\80Þ\8bF/Ldk¶Øö5\,U\15¯ðÂ×­1®\ 1q
+\94ñ/&\r\17\9dÁ\93x\8c\99T0®gÆÝ\ 1¸-|ÖJ1\85¿ÿø        Ï»}\10\8cû\81\16O\1dÖ½U½Ê\ 6EIW×\12¥õ\95ë\v\83\92ãâÙ\ 4§÷ż]3É\98±Ë\83\1ex\ eßÁ³ljïåë7\rendstream\rendobj\r1156 0 obj\r<</Length 65536>>stream\r
+oß¾\85\8b¨§\8f\1fÜ\v  \f¸zþäáÝ\9bW-\9c>vP÷¶\8dk\94W\97\14o5ý\85)C¼6±pIuù\9a\9e\ eê©\9b\81k\88q
+F\1aÆ\f\1e¿qH\9d\98%;l\rí Há\aÎ\ 5\84B
+ÿðéÓÇw/\9fÞ¿sùø.Ìá\9d\9aÕöÒ+J¹\97R\1a*×gjcgÒ\85\ 4ß¹Î\8e¤\eè\e½¨Ò¨\8cè\89H\9dpT\17\1e\v\8cë{^¿\83/\87¯ÿðþÝ\9b× \8fG\11aA7¯\9d?qpÇú%³Ç\ f\16\96\89ºE/\13\8dv\8dܸ,¤R\9d\16\9dú\8f\99)\U\84çò\1a]\83\ f¯#ïÝ<\7f`\ 3\18G\87¸Æ!}b^\85k+7`çþ±Q8\14\8d\9f>\7fú\09<$à\1cäð\99£ú´÷©QA¯R(Ôe«²\ 3yVàÙ\99¸ØöÆùÃ[ØùÄÕc¯\8f\89ý*qÈ\94%\9b\ f±ó×ñr¡ß\81¯_¿À#Þ½}õâÙ\93\axsãÙ£{6-\9f3~p÷Ö\rªâ\8d¹¹ðÆÜ_~úÉdªÐ\15\ 2U}\1c\84Ï]¹íÐ9ÿ»\ f\9e½þð\99¹\ 6Ä)q\f~\eÊ)[9\8b;6B,qÈ\85)\8÷oË!¨nÁâ>~ú,äpÈ \e\16N\19Ú£uÃê\15ÊhµúòÕ\1a2el?
+ÊÀ=¿¸\1c!&c\1a\83t</Ù\8f_      \8c`ÒÃYÖ¿þúó\8f?~ÿ\8aúxó2
\11è\7fáľÍËg\8f\eÐ¥E\1dö~1zÕõ7K       \87Nþm\1d[1õø\ 5f\r1Na9%N\88\88gqË$w\92ø÷0î}eçþ5fçþí9%T·\9fØEeâ\12µyã\avmÙ º\97g9ÏJ5\e·ë=JPF°0êc\87Êâ\98×$H\e\ f\96\88Y&\87ï£PxPÿ\b³I\7f£B~ÿò\19Êè\97Ï\1e\87\a\a\:¹oÓ²\99£ã.MLõ\938\11Ïfn+Ô\14\13®Ðx\ 6\ 5Õ\1f\7fE+ãm\14{¥ar¬»ÔN\12ÿ\1eqÎý\e\8eçiá\ 4ÕKvm\1cäð\87Ál\19\15®2ÿµaͪ\95«T«Û¬cßÑ\98êqu.;Tvß·\87Ê
+Ûkp\11¢¸0\8b\87GBÆýC\98¿\80b\14õñ'º\a¨ãÅÓ\a!7/\9dسa\91¸\98ÑdÑ\8fqùyv¼G[çU§E\97\81\13æ­Á%Ï÷ñz\1c\88S¦Ê\10ÏØoZM/µ\e\8b\12#z\e\fn\9cñéè\87û²N\81ÅE½ùðéógÌáá\81WOíÛ¸xúȾ\9dZ6®[«VÝÆ-»øáQä\10&Bî\87ßÃ5oÂú\18Ó\89Òè!\fÛÑ\81K\16!\19Ý}øüí'At\80\89>@\1do_F\826\98\17\8eÃ\8bAqm¢£ð\12;fmg\ eVßz7lÛ{Ä\f(ÎÎÝ\b}$¸\9a}(#ÖÞ׺­zâ\91\98ø.\t\rÈá\10¨.\1dß½náÔ\11};·iÖ¸\91O\8bö=\ 6O\9c¿f×\89+·CÃ\1fàrУx\8e\16,i\88\95=\8bR\19³åf\83ûöýÇã\9c;D©\97ïYPùWäÿÙ»
+\80¨²îÿ¹k+Ø]c#â8\1d\ 6*b`¡"\8a\89\18X`w7\16v\8b\1d`\13*\16b`c·Ø\8a½«ë®»ß9÷¾73 ¨»2sß\83ùíÿ¿ß\8aüóÎïÜsέs8>þüüé÷\ f\10 pG\8bÔ\ 5èݱYm¥]I¾ê\95\81\rR\13@U»I»\1e´Àâ\99«÷\9f¾¦AÃÔMm\16\89o\83.­æÊ_\9c\9b\9b\913Ð84\12ph\10Guý|tÄöÕASF\ eìÙÕ³c§.¾\ 3 ÓÇ\e\1d\97oÝ»\7fïÖåÓ´\12y'\Dç\8fdp\ 5ìHa(<ܳxSøñK·\1f'¼§\9aû')\1d\7f|üð\86_\r#\97\9f\9d±¢Z^þ¤\89±ë\ 4i×çN+V\1f<\ 5\89ß+ú\95d
+Îíhl2\ 6p1eSÜ\rïlô2/Nü\12\r\8dßÑQ=¾{õÌѰ­«æO\1d=¨oÏî=zõ\1f:>\10\12ý#g®Ü¾\1fÿà\ e\98ó\1eÈì¹Ý5®6Ò/ü\ 4FN6Íg®Ø~àÔ\95{OÑK}ùÛ\84\fÊ\aeãõ3rª\7f#=jÂõÌ5äfܪ\b6d©×Ò\8bT Á   ê\93\ 4\9e\fn¥ðÒqc\9b\19\11\1dñ¤ Ë¢Æz`dh`B\85s\8dß\7fÿ\rWEnC\90Þ»eUÐôqÃ\a\r\1c\100lì´ UX÷óÚÝøG\ f±±\vé%Ò\83ö¹¥ËA¿\18w\11±èéܵ;\ f\9f½\ e¹Ôo¦^ÊHÇ\97/¸m\9aðøNÜIôy\90('¹}dÒ%ÀAëLÊ\ 1ájA\9c\91\f:\ 3Ç\8dWî¼­\93ZTG§\b\92\94Ê#Q#ü8YI\87¡ñ; \e·âN\1dÚ»eõ¢ÀÉãF\8d\1a=~ÚÜ¥ë1ͧ§Ao_>u`û
+zçWÎÕ\9aüõ\17ÓÄ6\0ï\9dE_¸õè%Í¥\92\92ñ\ fQå'r¼#6
+Wä\93\86Þ2üÈ\80ù)7qye ã\8fßß¾\88¿q\96Üy\15ß\91\ 4
+\93z`ÜÐ\b\86¹\ 6\9d\86\93F¼ O\1fܼ\ 4ll\v^6?pú´é³æ-Y»ußáØË·ã\9f\90ë[g\ e\9b\16\8a Ûà\90\8bre¡ÈáÜ¥x\1e\94SÜß_\93ñ\ fÝ©C]\9e;B*ä{%¾?ÌEp®ÅkÃÖ\98ö­Ý\11u\1aÓ>\9e\fnÕ6ö`\b)VØä«Í.1à«¡\ 1s\r\98\86ß\88ÇÎq\1fI[ä'÷o\<u8,tãê¥\8b\16,X¼|í\96\8f\9f¿vï\11¹¾Å·fó!­ÝIÐÈø«¡ÊfÓ\8ex¡#ä`,$¶o~û\94\8c\97"lÐ\9dºGÆSýXì¸`®\1cF2\f\1dÕ \9bò\1d:\ 5;Ëà
+óë\ fd\15\9d;\91p\17ü\1ciX$¢2\9e\89\90¨\8adk\1fÿ     dM\8f\92S¬ïß \e\97N\1f\8dܽmcð\9a\e·í\8a<\1a\e\87\87m\13^>{t;îDäÖDuL3gÌ\98\89\v\19N-¼ú\8f\9b\17¼+\99Ä6ñРë|ô¬\rf\ 3¦ë|\19\125\87Ós\97\8e\893}ø\82LúpBÏ\9dÕ!\86Á\9d\1c\12M\ 5\11#\fµ¤0¡jÖ\ 1[}m«îdQï#ÏÆÍ¸3Ç£ÂwïØ¾=dçÞýGN^¸~÷ñó\84ׯ^<¹w\95\1cþ&\87
+¹â×\992\1aJtÑ\83Òû¢/Bbû.\ 5\ f]ç#dD'G\ 67Í ·ña\ 6>\98TäÅk    8¥§\a§>á\81\ 4Þe\8a§_@R\98\f\8dj\rZa«¯Õ!ûO\92-¿\ f¿\7fúDÙxpëÊùSÑ\87öGDD\1c8\14}ê<9\0þúí\9b\ 4HHÉáoÓâ×\993e&Åë¸ò³\86\90\81\93åd¹ dÐdh=uSÆ\98Aûwñ\rE\eºwí?&\10[7\9f'^
+×Ð鹩\ 4ll¾\1f\8fê\90dBT§C\f0\ e\8dJÊZM\r­¾è
+õG\8e\8d§ñw®Ç\9d;\1d\13},:æä\99\vWñÐñë·ïðä­\8bÇ÷ÑS\0\84Ì\99³pW\95\e\93YF\bY\vI9d|µ7ä\85{C%Iu]²\88NN\15\16.Y¡jµz-=É\16®¡=-99E\ 6Æ\v¼HF\eþ$\99§\88 |/^RN
+<ò\18ÒZ\83¦·xÞþ\13°\91ðìѽ[×â.\9e?wîüÅË×o?xüâõ;º!\88ëA\89£f\16¼\1d\vñ[Q«\199òFf\19àÞ\93Ml\r\ 1\9c?,\8b\8dÅ\9a\19{ÄüÂ;Éa8'×ö¾\83'Î_\1d\12\19s\81t§%G\12þú\93\84ï{WÈjÀXðRu5É\16ç\15\ 1øÒ\9c\85J\91zRÝ©Kæ,ïã\1fÈÆ\a\ç~xïöÍë×®]¿qûnü\93ç¯Þ~ }z\9fÝ¿\16{0Ô4\9fÌ\9e5\vxx2åká\85\87\1c=\7f\13g\19\9fS&\83\1c\99))nÇ\1f#Ç9\v·ïZ\16\ 2F\93¶ÝüÇÍ^±%ì(Ù["\ 3\83\9e{ÆË2\17\8eãõB,ìçÈ\97­\16t_²dÁµúÂÎqZl­1r\ 6Y\14½~ÿ)\1eÀø\83¬s¿{\93ðüÉ£øû÷îÝ\7f\10ÿøé\8bW\86\eC\86Ù\ 1n<£§Ï\91-k6²µ\8eU\1dqÊGã7\99\102è2ß=ðù[I++cbö+¿FHÎ\14ÒÍ\8c\8d{\ e\9f¾|\9b?«ó\17\1e{&\ 3#\96tn\18èM.Aó7ÚX+÷ß\82+7\97\eçT50½\1d?\97\96HyHÞ÷óçÏ\7f\80Úß½Nxñìé\93'O\9e>\7f\81;ÙÄ\83ýö\16Â.×\1eÝ\9b+\14\913{Öì4\99ªï\8e'Þ6\87ÇÄÝyòêCÊ!\83[Yº\93è¾*®Çc©\fãÉg<Å6bÚ¢u;\ f\9e¼t3þÙ«÷¿ÿ\81\ 3\ 3\9cÔ\877ÏñÞmø\96e3FôN\'\99µrÿ5\fõæJ\93ô¶ç0\88á»\ fÇ^åöI\91\rºGúúUBB«×oÞÂ\84\10\7fNLòN\9c±P\ 4i\85\92=[v\ec%à¥[#O^æW      S\ e\19$~Ódª«[]\æ£uKø+\ 1UõÎ-:õ\1a:9hmèþ\18¼\8b\8f¢}¦\973ÈÂ\16®\1f\932É­\eTÃÕ|qz)ÃÚ\ fíþZ\9fëþÊwp\aó#{Ö\90V}xÿþ\1dà=D\8bOô§Ü\8d!Z(\82ßÓÈ\91=\a\16\12¬RÍ¥-ÖÈÞvà»É\14®\86<OtÙ\85¬¬dÍ\8c\17Èùàݬ½ï <P\88\8b\94üéNâ¤>â]×ëç\8eán\b\ e\8c:X[?oN\11æR\ 4Æ*Â\18ñûë|l\83\17Ç;æ?ÿâ\8e\10üNð\91PÁENîð7·\11\ e\813·M\ ezm¼z£vx\87\7fûÁØk÷SX²5      \19Æk`4\13(\80g<3\93«OÅIðöÀà½|˾£gð\1e\89!`\90è\8de3\ eÐ\822îXjÉPî\92µfÿ\ 32\18ÒÛ²\18Ã;Á<|ñFÃd\83Z ò\ 1\84\10\10\eC8=Øcre&\8f\9c¹òóÓ\8cY+C¢b¯=@2RH¦0dð'eù\1c\99\8e0HËðÖ1\16ý6\ 6ïC\10¼ñ\0\vå\82:©'÷®\9e9¼gâ©X\b¶¶ÊÞXí\92µfÿ\v\fW[è^Z×\ 1cg¯ÄÉ\ 6ç¨\88ê¿\10B\bþÂ?ÿÍÍ|qK\876«oMûÒàµq\132°îË\83ç)O3\92ÆoR¤\b²!,\93\91='¹\86¦¨Ñ \95\97!xß\8a§Þó/£\93"7­V\ 4\8eéßÅ-Q\1dXÖzýoà;ÙâÂh­&tý\87\1c\ 2ä\8e´\92ó5¦ ×">ó)))\14An\f\15/\90ÇÖ\16æ\ 5&dÄ~\9b\8c/ÜÊÔE\93e>,Ì\903G\8e\9cä¢+9fÛ{è\14.x?xJÏ<\93é\1e^­|Dï \ 6M\1aÔ½mcG¬\90\81\91dÿƹ\85g\9f\11Ó\97lÜktT\7f\8eØ$Â\17~\81.\8a¶M&\91·PÞ\¹ò\140­û¹©ï- Óû\91X\80\13È(V ·­\8d-©R\ 1\89\94k\a\98yCð\8e Á\9bÞ\93áý$\9e
+>{\84¿\9d[WKj\96e7\7f×!3\ 2÷\99é¦\7fE9L6¼9GEÎd\12G\95\98\f£\1aß¾ A#\88\3ÕV.]4\7f\9eÜH\ 6ßqd;\97M}\87\f\9aÙ.\98\14\80-<ÀÓ\14Ê\97'OÞ\ 2À\85TçÔ\fËàÁÌ\e\82÷Õ»\8f_òc\95L1ð¬Ý\85\98\88m+ç\8cÃ
+d5d¤ìhV\11\ f\f\93\1d\9c¢0٨ݴ\9d/8*\9aQ=4\9c½OªË¿¿\18½ýæ%Ó\86Bè­Qµ|\89Bùòæ-X\8cÔ\97Ä"<[÷\9fºrïYÊó\f\132H»½nm\1aV\97U\94\14-\847l±\92N\9d¦mñ¼ó²Mdæý\90¿%\83!\vg\9d0Å8\15µ3\18+:´§\15\1dø£¡¢%\83\96\86àª[\e\1cÕ\9eÃÄ\14éêè×düÍ\ 5\8d+\90\94®ÂÍk×:ªJ\92¢\ 5òå\ 32°)\ 4\16áÙLWпG\ 6Ù\1aÚ´x*¹`«ª\®TñbÅJ\96±«ª­ÓÄûÿè\19ô\92\f\17¼)\17d\1däé}zàjÆH¿Î-\13\95s\15/\17\86ÓI´¼5uTdê\87kT¼£úJ\8f\86{\1a´Ï_\ 3ð0äÖxql^Ãí-\1d7¬M%Ç\ 6%\ 3\93²\98\88-Ëf\8eôólQ¯\9aܾ|\992e+ØËuNMÚx÷\eÅ\95\874\ 4ozûû\13VÓ¹uñ\ 4W\ 5¨5W\ 5È\%À-\88¤\8e
+2ªùkC\ fà\1a\95ñ&Ä·ô8c\ 4i\12T©t±Â\85
+\17Ç\86¾ô
+?®Ú>LyÕÖ°\83\14\99·ùûx4©£WT©lïPUU½nS\8f®ýð\86Lhäñóü%WÊ\ 5\8dÞäº\e^YïÙ\9e«\8fe+îèMÁM6xG\85\16oØ}(öÊ\9d\94\1c\15\99\9fº\1a\eµ\ 3kÚwmU\9fÜ\1a/R´D\19<\17G\8aðì8tæú7Ò)B\ 6ÎÀ¯\9d\e\8f>÷éܪ\91Su­Z¥©V«¾k[ï~#¦.X\13\82\89\14zLº¹G'9ôè[4)qÙ×Ë­\9e^JJ\\8a;zS$qT\86\rÎs×À \r\12\93A\ fÙ@ð\ 5\7fOÚ=\80u:\80¿/^²¬=×Ò~\ 5¤Sß\8aàÀ(É\90!):\1e±mÕÜ  \83{zº7­ïT»¶Sý&n\1dºõ\1f95hÍöðcX/ÄxÅ\95lïaô\86)Fè\9aùx½
\9c\18\9d\94ÈÉHä¨`ê×¶û r12æÂÍx~W-)\e\86ígT       ©5ìRSa_NRJRÎ^éØ\98»\ fp\ 2×пyl\8a[x=´{ãÒYc\ 3zzµusmÚÔÕ­­\97¯ÿèi\vÖl\vÇ;\95¸
+ÂgÙäÁ8\9cH\ 1 þ&\ 1Î\15Ó\82\93Bp\95prÓVWÍ;ö\1a6u!v\r7LÄ\93\13î&Ü8\7f\8c¶{à¢oÙ²\15*+kbßñÉß9PÈ3J\165bö\87\ 6/\9a9v°_w¯\8eíÛwìÒ½ï\90±3\16®Ù\1ev4\96®Há*\båâO:÷¦e5ÆÒ²\1aiÆI!\92\9c÷vóê7\8a»%\94B~kbÕtAb°oûfuõr\a;»JUT5éé¿à]GÎÞ \9bà)\a\rârî^={,|ûÚų&\8c\bè×»g¯>ý\a\8f\9a\14¸$8$\1c¸\80¤Öpó\e\1f\8bAÿ).\10\19¾\94~\9aqR\b\93¢B\95\94\8e\8dÚøø\8f\9b\83ýÊÎÓ=د\1d\15\17}qhD\87o]1{ì@È\85\9cª)«V\91Ê5\8e.¸ä8g5\96^¸ÿ­ ñ\85¬÷=\7fx+.öHxȺ¥s§O\18=bØð\91c&Í\9c¿|ChÄ1\8e\vú\f70ð®zÄV¬q\8cS\8c*e\rí;Ò\ 2\17\86©\1fÖ$pÐÔiÖÞw\bî­a~\eO\97­¿$f\83\1f\1a\98a\1eÞ½aÉ\8cQýº¶iZ·\86V¥TW«ÝȽ\v¹t\86\87\94\9f¾ân\19%G\ 6\ e\8dwäXïé£\11;6®Z</pÆ´é3f\a-ÅäÑg\f\\18+·Ð\81\81U\1cp\81\10¢·<\r¬\83$Fâ³\94õZzú\8d\98\8eùíéË\I\82¿¾"ã/²\a\8dE\91ð\8eÓÔ\11}»z4«_»Fõêµ\9c\9b¶éÚ\7fô¬\15[#OðÇ÷\93\9fö\11¯C\8eõÞ\8c\8b=v`Ïö\8dkV,]²dÙÊàÍ¡aQ1ç®à\999º±Âqñ'\7f $\9cÌ\13±|\9fÉ\15Ù4B\86I\83c¬dÃå·XÞÀp6&Ù¡ñ
+\8b"EGl_\134ex_ïv-\1aׯ[·^£\16í|\ 6\8c\99\85\17pðâRÊÓ>îÂ\f\1e$½uùÜ\89Ã\91{vlÛ¼ió\96í;÷\1d8zêµ;\ f\9f½zûÛG\9e\v~\9ax\ fæ{;\83çÃÌ¿5\16¶4Þ\90e­ÄT\ 3¿\98ÎÝ Ã~:sWo\8f<Îí#$\r\e\7f\eÃï\15zÇiÊ\88þÝ;µiѬiÓ\16m<}\ 3Æá~úñ\8bßJ§è\97üA\8f.Þ¾v16æÈÁÈð°°ðýQÇN\9e\8d»qÏX\8fðï¯\a\ 6¤p\1d]ë¨í¿®\8a\9f\ 6ÀÝ\86È]\10·60¿\1d\8a·àq\87íaraÃ\18~o_>}xßÖUASGû÷òîÔ®M\9bv\9e>}\87N\9c»j\e^M{ôò[ÇÐ)\e\1fÞ$<{xïæ\95\8bgO\9f8\1e\1d\1ds2öÜ¥kôø¢a\üc:0¢vâ\81\10\9fÖ\89ö½\85MÆ¿k°c\98\88Ó*jn^}GÎÀõÛØäÃ\ 6õ1¿\93«±\97\90\8d5\vg\8c\e: W7ï®Þ=ü\ 6Á\94m-\7fi;E2È]2`ã#9º\18\7f÷Öµ+\97.^¸p1îÊõÛ÷\1f=}ùæ=\1f/¸ç\91T\8a\1f\18x Ä´Ë£¥ÔúïaÒ`çWÚÌå»ý\\92æ·Þ\ 3Ç\ 6b\7f£³×\92\r\e¼£¢ÉÐ\91°íÁKæL\193Ì¿\7fß~\ 3\87\8c\9a<gÙ\86]\aOÅÝyüò]ÊdüÃ_{ýí=\1e]ÄúG·nݺ}çÞ\83Gôô¢\81\vÃÀ \vb;iCù\ 6ÕȾ·\99Z\ 4¦\16\f\1dv¸þ:¤ÃÎwÛ¹\98ä·\95Õ\M\82o\85\8d/Æd\88¦¦+\17\ 4N\19?zäÈÑã§Ì^¼fÛ¾#gðbÚ·ÈøÇx'üÝ\9b\84\17Ï\9e<~\ 4xüôùËW0,>þaà\82[ÊÂ9\86q`\90ö§ÆÎÀ\82\ 4ßÖ%#i°\935+í°\83í\RêWÁÿ\9e1¿\95ê\9c\9bwê=lÊÂà\9d&a#\11\e&ÉÐ\83\9b\97ÏD\1fسuÝò\85sgM\9f6cÖ¼%«7ï:\10C7E>¦x\ e\9d\8f\e\7fÒ\93¤o_¿Jx   Hxõúí{<Húç__\f\\18\aÆ!Ó\81A\8bâ\vu`p]Y°­KÖlÙ³ó\rv²síC¾n\90`ú«ü¥\88R\15åÕ\e´òê;*qØø3\99°\81l@2tåü\89Ã\11;·®_µlÉ¢ÅKW\ 6\19\81·Îè\9eÈ7Èø\87/\98\80å]>¼\7f÷îí[ãáE\ 3\17üB1\1eñM:0L\8aâ\v\fÆ\ 6;Y³åÈi\83\1d\ 2¸þ:Ù\92ïWaòÛôT\e­(Û¨\8dÏÀ±³¿\136\90\8d·\90\fݽ~)\16¯\9c\85lÙ¸~ýÆ-!{"ñÖÙ=ÃÚV\8adp\83\83Ða<»H¨øË¸\ 1o²ûqhWp\10Ù]\14úÀ Wá°\93HÖì9mrå1i°S\10Û¹Ø`      øÄ\15ù\93üþ/Üú-Y\16ù^Ø0Ô9xûêùãû·®\8}üðþ°½»wïÞ\17\11u\fo\9d=|F\7f+\85K}¦\83ã\v9»H\ e/Âÿг\8bF.è\1c\93´X\8aÀ6*8Ç\10øÀ04;Ê\9eÓ\16\98(\´¸¡ÁNÉâE\v\ 3\1f¶9³\93æ:)°\91(lèù°Af\eñÉ\86\rÊÆoï^¿|úðî\8d+\17Î\9c\8c>zøÐá#Ñ'Ï\¼zûÁ\13n\8bîÛdðåD¾Ðã¤øoîÀ\96áï¹\vü\ f®\9fÅm÷I\83ºµ&mT
+\bw`p}£²d\ 3\17*ZBR\96o°SÙÞ\ eÛ¹`û\90Ä\15ù\93ù\8a$a\ 3g\eÆEª$s?.ü\92KNÏa¦pójÜ\85³gbcÏ\9c»xåÆ\9d\aOøÊåß#\83ÒA\b1\9e\L\94¹ýÅ\97¶Ø¿}Eà(¿N®Ü¡s¡\ e\f\8ck°S´d\99
+öU\f\rv4*y\15û
+eJ\16MR\91?¹/á\96E\fa#\10Ï\80\9fM~oÃ\90\fÑKNñ÷îܼ~íêÕ«×oÞ¹ÿð)N¡éTá{\\18ùHt^Îð7ô\10\8dsG÷nX4ypw\ f®\v\9aP\a\86¡\a\98\ 2EJ\96©è WëkÒ\ 6;\rê;ש©WË\1d*\96)YÄ´"\7f²ßò\v\7f\9d\8e\v\e\13æ­ÚN÷6¸#\9fIÙ@WÅÍ\14\9e>~øàþ½{÷îÇ?zò<áµaiéGÈø\ 6M\^{÷Êé\83¡«æ\8cé×9ù^\8d\82\81¡\85W®|\85\8a\97®à ×ÖtjÐÄ\956ØqwsmÜÀ©¦VîP¡t1Ó\8aü)|\ f½hJf\ed\91j-mnû,¹\9d&~p\10:°rí³§O\9f>{þ"áõ[2oûëËÏ\92AÃ÷[rà-l\139ÃØ¸&¹L)ÐCç|Q?l§V²\9c½LSÓÙØ`§»OWÏöîÍ\eÕ­©©\9a¸"\7f
+ßd¨·\8c\9b°~#§/^¿+\8aÖ\94\80\82éL\ 1+×¾~õêÕë×oÞ½'\93\85\9fç\82ξ¹¼\96\¦ìâVO\8b·\10\ 4:0h¥¬,¤åc©
+\ eÊêN\8dZxxr\rv\86\ e\194°oO\1fO\8f\16.uª)*\97+YØX\ 3>ùï2  \e´¾ü²M{\ fÇ&®\v\9f,\1dX¸öÃ{À\87ß~ûý#?oK\15/\85á\9b´\a\1cÑ»\83Iã-\81\ e\8cLx\11\ e[¡J5\8eõ]Ûxv÷\v\18N\1aìL\9b:yÂ\98á\ 1~Ý=[7«WSåP\9e\97dßÄ4l\90[ØØ\12\9dVø5\1c'û*ÂR:È­³O\1f\11\9f襳Tàâ\1fC-¤óG÷àU\8en­aÂW\96ÔÓ\15èÀø\95´|,P´´\9d\8cö:ò\e<jâôÙA\8b\96,]ºdQÐìé\13G\rêãݾ\ 5W\91?ï7NC&^¤ªëÚ¡ç\90IóqîgrÐ2©\8aùº\9ctêöÙtÞöÓ\ð\a­¯\9e&­"úy6'\15[\ 4\98×\1eåBïÔ¤uç\9eþ#'Í
+Z¶zÝÆÍ[¶lÞ¸nÕÒ \99\13G\fèÑÉÍÅ\11\17Ì\933åsÂÆÙFI¼?\84\95;¦ÒzËÆ#È_ë\98\9f(üÅáëéÂ\7f$\83Ô\18!G{±ê÷0ß¶\8d\fy­ð\ 6\86IÕQ  pQ·\99GW¿¡ãg\ 4­X·%twXDddľݡ[\82\97Í\9f6fPOO·\86\8e*{Òñ;Å\9dc¾V#­iS£a+ì´\83A\9c\1cÎOépºq¦`\98¶ý<\13ÿ\98x)<ô\8e¥\90È\1d'Ìk\ 500¾ÞÁ£Á\eTWªbU=¶Îî7bò\9c¥Á[wE\1c<züÄÉ\93'\8e\1f9\18¾sË\9aųÆ\ fîÕ©e\83êrÃéÔdÈ0\16\95¥µÈUµ\1aµ¡A\9c^[1\9e¶L^wÉOÜþ;\17¦×AV\ 6b\9b\fîÂx\96dÅ· xí\e\90ÁP7\9ck2\b\\f\185-hå¦\9d\11\87cN\9f»\18wùrÜÅs§\8fG\85\85®_:{ü ß\ eÍ\13].IòÕü×ÿʵWÅ\9bñ0÷à\8e¥TΤ\98R\99\vÜMLê¥\96`7\1fÓ¾\99\8c©àvR3\92Í;²}÷+­¨_°x9\9837ñ\0.¦/\³uoÔñ3\17¯Ü¸uç.¶×¹ráô±ý;7,\v\1cçßÍ£I­¤\9bÇ&$P\90\r\11l<\\84vwéØ\8b\ 4ñ\b\93:\ 5©\90\18\19\89¼Ô@z\85\90})#ã\1e^¦L\99\ 1t?\15õÆ\1f²A\8f\82Í7×\86\84\1f9uáê­{ñ\8f\9e\0\1eÅßÅþ\b\avá῾^nõùÝc:×øz\9b\16¿\1d·DlIçaeÍ\86î^}ñB6\9d\89§\1cÄÍÀ\85i%\85U\9c\97Â*Ó9Ø\86on·\ 2wS³fÍ\ 6 Û©øG\1a\10kQi\v\83C"\8eÅÆÝ¸÷\10w\93\ 1/\9f?\89¿sõ|Ìþ\1dÜ\8dÄZ&=Õ9&\90\aºM\9b\8d\1c9móà$\12»»àmÇ@cØøj\ 1×|dÐë\awâHwß¡\86J
+L½\94é&\1e¨É\ 6\903G\8eìÙP{9Hk\ 3)\96 é=lJÐÚ\90\bìbþàÉ\8bWoÞ½Çö:o\12\9e?º{í\t\ 4ímåFò\11º\9c@}\93q\9b\16¿ØÖ\86À6Wî|\ 5\8a\94,WYY³\81\9bgï¡FG\95Ü)C3\91\91è\8aòD\7foì-ÄÚKñ\dÉ\9a=\87\8dm¢ÝÔ\9c6¶y±é\87áHǶpì\83úðYÂÛ÷¿ýN
+\ eþF:"^!­[±í\eÉÔ¹kpdP \13¸M\9b'OÞ|ùòçÏ\9f/_¾¼ø_\ 5\v\17+UÎ^Q\rr´n\\87¶SÆãÐ\16!\83/\ 1@ëÆ\18\8aï0ôR¦\9bx¹óæ/P¨0 PÁüù\80\90\¹ó\16,\86Miq\1d\89n?`Òó\9c¬`ãT\984\95çÛ¾­\985²OGêwIó/Ri\v\19Î\95\at_¨HÑ¢Å\10E\8b\16-R¤HÑbÅK\95©à Ð;5níÕgØd\18\1a´Ö\10ßøÈÜl\98Ô{ÙÏw\89à\8bç1\1a\18\86a\91-\87Mî¼d?µ\94D")Y¢X\91B\ 5ò\ 35E%¤N\16^ã^¼a·a:@*ã\90î!äî4=ç2oÜ\80.-¹â\8aÙ²`´&\fç\83oÁmÚ²åÊ\95/_¾\¹²eÊ\94.]ºLÙò\15+WUW¯ÛØÝ³×àñ³!j\1c:Í_Ù·\ 4\19|bK{\86òecò²óR\19L6T\81
+0Öò\15í*UªT±|YÜÜ.R´¸¤¼\ 3YÒÃ\92\a¸-ëßÿà\8b\7f\18Î\f\93r\ 4X5\9b\96 ³É\ e)\0\86\9cÜù
+\16Á¯µ³w\90V\95!ªJ«88T®\Ù¡JU\85ºZíúÍZwî\190væ\92õ;ɪ\b\9d\87[\84\fZ|\1eëèÒnº&\9d\85\18qñ«aCµX©²\15+KåJ\95J)\97:TªP¶´DR¦Bee\8d\ 6´Dõ\16¼Q\9f´ô\ag_´Â\ 4iµ ¯\82\17\e \ 1ÀÁ\96¯`Ñ\92eÊWª"SjôÕkÔttt¬Y£z5½N\vÐé«;:5hâÖ¾kïÁãf.ænf?Mø\81c\1f©B\86¡ø<Wa\9am%aC¸\0­å/\¢LE\a\99Z_ñV-Ç\1azµBZÙ®B\ 5;\a¹¾.¹p\84\9dpH¹ÿD;¤4?L\iKZ¶XþÜ69HúZ¤\ 4Ð)#Û´\r\\1a7iÚ´i\93Æ\8d\\1aÔ¯çìì\¯~\83FM[¸·÷òí?lBà\92\91\89\82\86\99¹ø\9b/>\7f"r\vÖ^÷`[|\9eïÌ\8530HúËÙËÔÕk;7lÔ¸q£\86εkh\952)x\12]-\17÷.¤Ê ×#æC¢Ô\93/[zå\14­\11Õ¶\11\9et)\98'\97­-\ e6I\85ÊrM\8d\e»ºµnÛ¾CÇ\8e\1d;´oçѦµ{+77·VîmÚvèìÓ«ÿ\901Sç-ß°sÿq~\16n\ 1\18ê¥Ó®\ 4&\89-\v\1dúÀ¹DA\88Ó\ eJ}íúM\9a\83\82Ú¶iÕ¼qý:5t\1aµZïXßµ=©ÝEZÄ\90\13®¦\1e\9d\9bÆR2¦S2°\10\ ed²0ØÊVªª®Q×ÅÕ½\9dg×n¾½úøùùõéÝÓ·G7\1fï®\0o\9fî=ûô\ f\18>\16Ï3oÙsð\ 46æNøþQÁT!ãOc¿\92y\89úu°ñR¿pMÒ0\7f­(U×pnÜÒ£S\17\9fnݼ½:´i\ 1tÔ¬Q£\96s\13w/R'\98t£ä\9a\1a$%\ 3«§\19\v\ 2\96/Y¸\0$³EaR§Ð×iؼM'ï\9e\a\ f\e1jôèÑ£F\8e\186tð \0ÿ\81\ 3\aú\a\f\1a2|ÔØIÓç,Zµ14üÈ©\8b\MSK\8c\8cäªJ2Kl¹Õìì8¯+mWUS«\81k\eO\9f\ 6úû\ fðóíÚÁÝÕ¥\1e½H×màXÒ!ʤ)\91ñ¥\f®\97+FÛ°\1a\90\10Ìé \11Sը״u§n}ü\87\8d\990eú¬ÀÙ³g\aÎ\9a9}Ú\94É\93&N@L\9c<uú¬¹\v\96®Þ\18²ïàñ³\97\e\ e\8a\98\97\v¾{k\1cö¨¤ý×!däµa\94Ø\92[\13d1»\18p¡­íÒ²½wï\81CG\8d\1d7vô0Ü×öhÑÄ¥a£fî\9e=\aC^\8b\9dAïÓÖ+\89NþqE\1e1[_Hjûë¥å±òJñÒ\15ª¨\1d\e¶hçÝ'`ä\84é³\83\16/[±jõêÕ«V®X¶tñ¢\85\v\82æ\ 3\82\16,\¼tÅ\9aõ[vì;pìôÅëw\1f½à75ÌK\86±ÅÕ^º\16âLº·2\v\19t\9b\awñ*\ 2\17\8dZuìÞoè\98I`¿³¦O\1a\7f\8fÎ\1en®M][¶íÒgØ\94\85´Ó:WËæoÓ\97Â\83G\ùS<ë⬫R^R¢xÉÒ\15«hj¹¸uê1`Ä\84\99ó\97®Z·ikHè\ e@èöm[6oܰ~]ðZ@ðºõ\e7oÛ±'"*úô\85«·ã±\11ì\8f\1c¢ýi2Híú\aÆBÄ´ð:«~c\86SL%ËKAm­:ùú\8f\9c4sÞ¢¥Ë\96,\9c3}ÜÐ~Øc²eK÷öÞ}\87c\ f\8c£ÉõÖùj\81§¹\93Æ¡|éR¥ÊT¬¢\86/õì5hÌ´ùË\827\87î   Û\7f\10 êÀþ\88ð}{÷ìÞ¹sG(гs×\9e°È\83Gbb/\½uÿñ\8f\1f¢ý).\8cI ­.ݾqâîq\96æ"\83á\90~eUÍ\86-;ù\ 6\8c\99:wɪu\e6¬[½tþô±\83ûxwôpoÕ¦£\ fn8\102\1e&%Ãd\9a±\9f´Äëд¶Ê¡B\99Òe+¢\8fjÕ¹÷\90ñ³ QÚ\19~ðèñ\93§Ï\9c={öLìéS'b¢\8f\1d9\1cuðÀ~À\81\83Q\87\8fÅ\9c:wéÚ­û\8f°u\83\ 5\8c\9b|ÇÃ\fµoq÷\9baÈÈB\8bAa\97ò\ e=üÇL''\r\bÙ\12¼tîä\91\ 3ztnצµ\a\90\ 1#cý\9eäºN\19ê\ 1^\8c\ e#Í"=\j*+W(W®¢\ 3LÜ[vê5dÂ\9ceëCâ\8e\9f>wéòÕk×o\¿~íê\95¸K\17Î\9f\8d=}2æx4àxÌÉÓg/\Æ\8b¨Ï\12°\17\90ù\97¦\f\89-nò¡w%Kj\85òÐö¯,È \15²\8b\965l©.Xµ)toDdDØÎ-k\16Î\18;¨W×\ e@F\ao¿aS`þ}øìWõÏø:[èz![\1f? K«úÕäö\15ËW¬,¯æÜ¼\83ïà  s\96oܵÿØé\vWnܾ{ÿA<àÁý{wnß¼~õò¥\vç`\98\9c>u:öìùKWnÜ\ 1.^¾yor\11Õ|\\98$¶¸\16â×\91o«È0d\80\97*X\82\14\1fêÜgø\94 U[vED\1d=z$*<tòÙ\13\86ôñîàѺM{Ò\98\8e¨ØkI\8aóÿÍ×êº\83^
+WÐ;¹ÖÕÉì+ÚÙË´uhÛ\96å\9bv\1f\8c9wùæÝøÇxh\19ðüÙÓÇ\8fâïß¹uý*öù9{æì9à\ 2ÆÅç/\8d§ËÍï¥hÍVÓM>v]\95\f=q+©°\9a\849+6ïÞ\7fôÄ©Ó'\8f\1dܳyåÜICý¼;´qoÝÖ«ç lGbÒÜÖ@\86I«¨\rè¥Ú6®¥\96ÚW²\97BÀpï\82Õ¥6î\8e:yáÚ\9dx<Çÿæ-âÍëW/_<{üðþí\eÈ\ 6\84\91s\17.]½qçÁc\f\18¿§Ê\89æï\92ÁWß;úÕ&\1f\9b\15[R\919_Ñ2ØÞ´3̱\97l@\7fr\ e¼ùÉÃaÛVÏ\9f<\fÈhݪ\95\87g\ fÿ±³Wl\8b<y9q\ fO\93:\ fäxäØþ]Ü\1aÔPV±·¯¢¨æÌ×];xââ\8d{ ç7Ø\85\1a/9þöáýÛ×      __G\8a\7f\ 2cn/Å\1d\9b¿2ßäãºÚcën\97\ 2&Ì[½=\ 2|ûå+\97\1e\8b\bY\13\ 4dtmïÞÒ­uÇî\ 3p\ 1="æÒ\9dDådMë<\84m^2\1dË;:éä\ eö\ e2M-,ô5\1e+¶Ä\¸~ÿ    \16\88øø\89ögøDî[¼ä\8bz\9c<qâäiRÒÃän\98ùg|\1fù\8a­¤[f£\1aU\99nòa2\95#W\81\12\15\15µ\9avè5lÚâ\8d{\ e\9fºpõÆÍë\97Ï\1dß\1f\8adôA2Z¶îЭ?ø\9bÍa\)\e~\11\8f«¸bØæÃ\8e8.\8eêª\95+WQV¯×¢S\9f\113\96nÚwô,Y\88%\ 5\rÇ??\7fâ/\15Ç\9d=\15sìèÑc1§Ï\91Z7ß>Q\98j\Ð\19\1fæR´æ:)]_\9aé&\1f\92\81M¾ÔNÍ;÷\1d\1d¸r[äñsWoÞ¹sëÚ\85\13\a\9a\8c\f \ 3ô\1a\96¤L£I-9®2P§æÎÕ\14U*W®J\ 6F\0í%|ùΣ\97\86jã´\98/-\93\86÷íOE\1f\7fÿÁÃ\\13K\8b,KqW¿_qU¾ñÀ\94+ëc\9d\19\1dSíµÎn]\a\8e\9f·vgÔé¸\9bwïß¿{ýâÉ\ 3;\82\17`Õ­\ em ft\ 275\93[µÅR6T[\89ê<\90ëìÝÚ4ª¥©ZÙ\1e÷£\9a\r\ 3c\ví\ 5ÎUá7î\rb\99\16l~|úXTľ={öEDEÇ^ºAo\ 5\98\7f\93\8f¿ú\rF\ 4ÞuêP<ÒB\ eL±k\17\9a\ 1Û·Ñ&_­»\ f\9e¼hãÞcç®Ýyð\10\yÜ©¨\9dë\16N\eÙ¿»g»6\1eí»ô\f\18\17¸\1c\15kZäÉP}\94\14Y\>k\14©9®p\80ð­Ä\8ak\ 3ÆÍ[\ 3\ 3ãʽ'tSÛto\90´5ºsåìñ¨°]!Û·\87î
+\8f\8a9GjþZ\80\f\1a¾¹ÉQ0Ìøè±N\96^
+É0t<ïI:\9eÇ\¼yÿÑãÇ\ fncqÞ\rKf\8c      èåíÙ±cçî}\87M\9a·
+B1\16yzgB\ 6Wçáì\91=xf
+òÚÚ\9aªövöRM­Æm{\f\99²xã¾c¸\ 5ò&Ñ\16\bWbûYüÍ\8b§\ e\87ïܺqý\86MÛvE\1c9MÎ:¤T\ 425ÉH:9êh¸;ÆÎKÁ4\ 3\92©ò2Ç&\1dú`_©\ 3§°[ýÓ'\ fï\=sdïæå³'\ eëß³\9b·O\ f¿Acf,ZG»z'ð1ÃX\816îä\81\90\ 2Õ­~u\85\83\9d\9d}U\1diË>kÅöý\98\r\ 21äÃ×ÎEïßµuý\9aU«Ölؾç d]xØáÛÅYR\83\vã$ã\18¹úMúè\96ãï\8e±à\82f¶$\99ªíêÙoì\9c5;\ f\9dÁnõÏ\9f=¾wý<\96j\0}ìÐ\81}ûøõ\1f<zʼ\95\9bI\8f\1ec]!C\99¦\9b\17¢±\ 5*äµ®N8û®h/¯VÏÍ«ÿعkñ+\1f@Äø\94x\9f\96.gÝÁ¢wÛ7¬^¶déò5\9bvFFCÚõÔ\12d|1)~\ f\93£~\9d[8©\19÷Ñ5&Su[v\198!\b\e\80Tÿå\8b'\ fn^:ypׯåó¦\8d\e9tÈÐ\11c§Î]º~Ç~Ú\18\98¯+\94¨è\ 6ñR\1e8û®TÑ®²\ 2{\88\ 6L\°~ï±ó4ä'^[äÊÆ_<q`׿5Ë\16-X¸xåú\90pì¸Ã\8f\92ÁUn¹\18\13\8e\93\8c\9eí¸«ßìî\8e\91\95)Ò¤S\87\1dS!~ã4âá³\97 0\e»såÌÑð\90uËæÏ\9c2qÂÄ)3ç/[\17\12v\84\16\87â\ f\v|]L®µKMU\95J\15+UQ96\82\901\15\9b°^úºë\b¿F\87\95RCׯ\4\7fÞü\85Ë×m\ f£ÕÕÌN\86iøÞ\1d\1c4\81N2Ê0ìöMÚÅ\83\97\82\90\ 6\95\9a¾lkäɸ;\8f_¼zýê\ 5$\9d\17NDíݶnÅ¢ùsæÌ\rZ¼jCHØ¡\93xXÀXWȤeÈÁÐÕsÇ\rìêîR\13×¥*WÕÖ\81Y$ýJZ\989É¢;ý½+±Göm[»lÁÜ9s\17,\vÞ\16F:\95\99ßM\99\86ïí+f\8d\83íJ\16bvõ;\ 3×\978\ fx)Um×N}GÏ^\15zð4(ãåë·o^=\7fH²Î}¡\9b\83W¯\±rÍú­;Ã\ f\9f<\7fí®iÕ4R±ú\1d¾Ô)®ïfëFµ´²*\ eR\\97òô\e5kE\bi\e\96¸d¹¡ðÙí¸\93Q»7¯^<\7f\9c eë¶\87\1f%1ãCJU\9cS\8b\vâ%ßòk\9bà]Û4¬n\9cdX\9e\8c\f&Ý>«èê·òö\9f\10\14¼ûÈ9<çúöÝ»7/\9f>¸uùlÌ¡\88=;¶oݺ-dWØ\81c§.\Å2ÉÆÓ\84<\19´ÓÅü\89\ 1ÝÛ6­[]%\97)4\8e\r[ué?vÎêШ¯\eêq\97\1aI\8fÈÈ\1d\eV,\9c\e\188wÁòõ¡\91äè(2g^2xïÊ­m\92Ê-\fÃw\ 6¾è\ 1VÄV:6i×sØ´%\9bÈÊÓ\8b7ï>|x÷úÅãû7/ãRÅ\81Èðð\88ý\87\8e\9d8{éú\9døg     ü\96è?¦îætÔ®u\v§\fëÝÉÍ¥v5­F[½.ö°\9d\0Sz²\1d\95¨Õ¤±îüÕ3Gö\ 5/\v\9a\13\188oÑÊ\8d»ð\16\8b¤ç\1dR\9d\v\96\8bÇñRe¢ðÍ`\92Á\9f\8a¢ÕsC+^\85³\f\88\9fo?üö\eeãöµKçbOÆ\1c?NÊ$_½\ 5Yo\82éö4ob8çÛ»iÙ¬1\ 3ºµkÞЩVMG'\97\96\1d{âÙÜÝüF­\81\8c¿\rÍJ0aã¼ÔìùKÖlÙ\8b×\ 1\1e}³Tmª\90aR\91\10Ò\ elêd\bß\96\9fd\18Î×r\ 5<ê4mßsè\94E\eöàA\1clY÷\91\7fñ$þÞ­ëWâ.^¼x)îÊõ[÷â\9f<§µyù\9d\1f.µ}\1e\8fþ&\ 4ëÇûy·kÙ¤aý\ 6\8d\9a{tí;bÚâ\8d$³5%\83Þ \80¼\92´\19\89\bY¿|\ 1x©9\10¿1dX ~'­HH*·pk\84\96÷R\89¸À˦äJÒ\9c\95Û"iAë\ f\1f?a\13ûw¯_>{òðþÝ;·i\99ä\87¤Þ\16ü¥Im^®~<NÞ\ eíÙ´|ÎÄ¡}}:¶qkÑ¢UÛθ\98µ\fW\16o=4]æý\9bëKøì\ 1L2ÈÀ\98\178+pîÂ\15\ev\92YÌs3\87\8c¿ù\81ñà\1a­H\18\80UÏ¥\8cÂ7_  »M\9e\ 2x=\f7¿IC\vì,\89ó_0ýÏX\8a\8eìÅ\19Ê$?3ÔÛ2îÂ\99´V8\1f³\7fçú¥³'\ e\1fÐÓ»sÇ\8e\9dºú\ e\181\ 5ë³\9cà\16³\8c˼¤Zí\8b\87·/ÇbYí¥ó\ 3\985wѪÍ{H\1f&n~hN2ÈÀx|;î\ 4Þz£\15        +±      ßÜ5¥¬Ùmó\14,V¦\92¼z½\16\1d±®Í\9aÐýØÊ\90ëbÏ\15Ûzûæu\82¡Lò»\ f¸QgZ\10\96k\18BV_Ï\1c\83éÛ²9SF\ f\19Ч§oO¿\81Ã'\ 4.Y¿\93.f½çv£hYµ\8f\/¤èÈÐõË\83\ 2§O\9d6sîâ5[÷Ñ~ÈæõRÆ\81q\9d_Û4­HhÙ\81Á×}ÄëÄÅËØ+ª×kÞÁwÐø9+°âÓ5~F÷\17-Ëûñ·\ fïß¿C`½­ß?~JZo\8bóÿàsnÅÅ\1e\8bܱqÅ\82Y\93Ç\8c\18:xð°Ñ\13g.\½e_¢iÜߤÂ9ÝÈ\80±t`çÆ\15A³¦N\9a8yúÜ%kI¥B³'¶dd\929\ e\1c[\89\9d\95\8c\15     -;0\8cá"W¾Â%ÊVV֨߼C\ ftîx³ñ2iÖF»bÓ*ÉÀ\a-\93ü\11\rå¶\12\f½tÎDïß½\ 5\12ÕÀé\93'\82~g/\¹qç~Òo\9a_Ìâ\e!½zúà\ 6\ 6\8cM+\83fN\1a7fÌ\84©³\17\a\87DÆ\$kíæÌ¥L{ñÑ\81Ñ\ 3;+±¨HÈsAk\r\96wPÕlТC\ fÿ±³\96lØuð$äø&wõ\b\1d¤Ô\96±JòWå¶øpÌõÒ\899\14¶csð\8a%\vp­iéj¼mAï®ò\15½\90\v\fÞñ·.\9d:´góÊ \19\13F\r\e:|̤ÀÅÁ¡û\13\87\17sqÁí\86]\82\88Á\r\fme\ 6\15     MCwQ    9¬ïÖÉ7\0¸X¿ó\09Àa,\84fR%ÙPl+\99j[¼~\81\8døÛ×.\9c>v0lç¶\8dëÖ¬^\1d¼aëÎðC'Î\9bÜ      £Á\9bï\17³w˪ ic\87\ 5\f\188høø\19\vñ\1am\1cî\95\983dÐèmèÅ·\0#\ 6\19\18\ 5\93\16\ 12?\17\86pÁÝÆh\84\aÄÇA\9cÝ\ 1îä\1aß.\9e\9fD\98\96IN©Æ\13_\93ù=í¥\83Sö¨È½»BCBBwíÛ\7fä\ 4éùeØr5     ÷ØI)hÚ\98Áýz÷ìÝoÐè©AkB\ e\9c¼Ì7\b5\1f\17\89\a\8bÈ6q_O20\8aZ¸"¡ñ&%\96¦\854
+ëÛyõ\192aö2r«ñªÉ\15\15\93\98ð½R[&\15²a\92xçÆåó±1G\ f\1dÜ\1fI\8e{\9c»|\13ÏKQ\8a¿p\9dóÈþ\1eö\18\9b:* w·®]¼}û\ fÇ-]r+ʼd\18[L\9f\8eÚ\19\1c4qP·6.5,?0\12\85n,\9eRݹYÛ®}\87M\9a»|ã®\ 31ÈÅóÿr+ÂX!\e{é<~pçÆ\95KçbO\9d\889q2öÜÅ«7ñ \94¡ó9qR8ÛÃv«\v§\8d\1aسK\87ví:ví=h<\9eV<af2\8c\8dóÇÂ6/\9d\ féÅWº\88e\a\ 6\17.°4mþ"¥0t×oÞ¾[ÿ\91Sæ¯Ü¼ûà \\1a\7fþß\8eò\99VÈ~\9dðìqü½Û7®^¾tñâ¥ËWñP¹á²\ 5\1d\18ØÇ\96\9cuX<côÀ\1e\9e\1en-Z\92Ó\8a3\97ÑÓ\8af%\83k1\8d\aB×Ì\eïϤ\17_âÐ]\11/)¹uì1pô´\ 5«·î=tòÂu\9e\8bÿPåɤ$3Òñüé£\a÷î\90VSwï?|b<ÇÌ-\83àªâ±°-Ë\ 3Çú÷èäÞ¬\91Kãæ\1e]üFL'kÆü\9e y¸àO?\92\8d\8b§\r#\9dÆ-Ý\8bÏ4t\17/\83¥i\e»wî5hìÌEk·\87\1d>\85\87\92_üW.þ1¡ã#)XþòùÓÇ\8f\1e>|HZM½æ»~}1ið\ff9\7fÒ\90\9e\9e­\9aÔ¯ëT¯\91[§^¸N¹\ fO+\92lÊ,dp\93\9c\93näö\95³ÇöÇ\9b$R\v÷âã\8a>\92Ð]¢,\96wjÚ¦K\9f¡\13\ 2\97®\vÅÞE$Èþw.\8c%\99ù5\94W        /ñ\12ÆË\ 4\Cá¹à\17®¯\9f=ºwÓ\92\19#ûviÝĹV\8d\9aµé\85ÿ\ 5ë÷\1c;\7f\93\9eã5Ë\ 4Ü´}ï¡]ë\16N\1eÒôŴå¸àBw~\12ºkÔsmçÝo8\86î\9d¤ùï\83§/ß\98®\8cÿ§75)Xþáý»·oß¼yûöÝû\ f¿ÓUÞ/¸\10Â7ùÆ\811qP÷v®õ\1cõ:}\8dºMÛv\e41hÝî£x\8e$Åf­?       ã6Ê\8d\vÑá[0­íÜ\82k1\9dryêT§\82\9buÓÐ\r3=\98uw\1f0j*    Ý\90FÝævï~ò~\8aIÁrì4õ\eâw\93å,º&ĵ\88\>kt¿.î\8dêTÓ¨5Õ\9d\9axt\v@2\8ep·7ÍE\86iË÷ùx,ØÅÂ-¦\93\vÝx§u\ 6\96C\85Ð\8diÔ«Tº·e\DÁ\v\18\0\Gák\96\7fáoþ\9d;ºg\ 3\ 4ÏÞ\9dZ4pÔ©UH\ 6V²23\19&«µç\8eíÛ´dú\88Þ\1d]\13µ\98¶ \17¶¤\ 6\ 2\86îÖ\9d{\ f\1e7kqpHø\91Ó\97Hè~÷Û§TºCgR@\9e\ 3¿\9eÅ\9fw#Ý×Öa\91Ï\ eÍë;êÕj]MgW¬\9e´pý\9e£I6\ 5S\13üÆ7=\89\8aÇ\8a¼Ý\e\19Ë¥µ<\17tÁ¼\92\1cCwW¿¡\13g/[¿#ò\98ièN­«B\86%\94Ä\vZ¼aÒónÁA\93\ 6ûvhÑ vu½¾F\1d\177ÏÞçq'¤_\9a\8b\fã6ÆQHk§\ eëÙ¾imC1dK\f\fCJË¥QÕë¹¶õî7bò¼\15\9bv\1d8~öÊíx.t§ê\15:c\ 1y\93¥\14\9c;|\18¼`òÐ^\9e­\1a׫íXË©\81k[Òm}Ë÷\1a|ÿ\9cLüÆwÜ\89ýÛWaZëVO/-WÌbi­á\f\b]\ 1¡³n\bÝA«¶ì\89:qþ*)\87úó¡;ù\97O²¨Å]\ 2xz\1foÕ¬_4}d?ÃÑ\856^XÓ\16\17
+ɪ­Y²)ÓSÁ{6,\9a2Ä·]cG\ 5)\85l\99´\96\9f^@J\8b\9b\17\86-;b        \84\85k¶í\83\99ÞõT\fÝ? \8d¿\rÚ8\8aW\rÆ\ fîÝ¥½{Ë\16-ÝÛué\150vÖÒ\8d»\ fsuÅÌ@\86éÝ\85ý0ß\eÓÏ«¥³Ö¡lÑü¶|\91p\vq\81)m\ 5¬nÓʳç ,ÊHC7©\97b\91[¾T\1d\7fq\aÏ/\1c\8f\bY³`Úè\80>ݼ:uôìҽϠ0\90µ!\11ܦ 9nÊ\18O:c.\a\ 3£GÛF$­Í\9dÓ"Ñ\9b?3\88\H*Hµµ\e¹cE\95À¥\18ºq¦\97Ú¡û{êøÂ/Òá\1eß\8aùSÇ\f\1dè×»W\9f~þÃÇÏX°zËÞÃdÛ×<\17úø\93ÎwñPð*\18\18\9dq`\90´Ö"ÑÛÈ\ 5\96\92Â\94¶K\9f¡\13ç,Ã}i\12º\13,T\89\80S\a¿\18\81\9b\19\91x\12aƤ1#\87\ f\e1jü\94Ù\8bVoÙ\8d·\96¸ó\10©.\91éE¥}\90JÑV|\QjË8)Ú÷\82ráÔ¤M×¾Ã1\8d\82·&¡û\95\99Bw\8a
+¡¹åó\87·ãb\8fFìØ\84\87×fL\9b6}ÖÜ\85Ë×mÛs\10,\84ë\vn\8e\90Á7¹\8a\8dÚ±f.Ö¤¦\ 3Ã2\8bR|Ó*RbM¦¯ÛÔ\ 3RÚ)ó1\8dJ<ë¶PÏ\10ÃéCzÛøhäîm\eÖ¬XºdñÒå«×mÙ\11v(æìå[ä\ e¸9\8av\9a\8aزlÆð^í\9b8*,60\8c\8a\10.\9aµõé?rjÐê­$\8dº÷ø9W¹Æ2ñ\82*\84î&¼yñ\b;­Gc§õ­\9b7mÚ¼5dWØÁc§Î_¹E[J\9bã8a¢ö1\v&\ 6x»××W)k¡\8do®1!m£SUG¸\185mÁ\9ama|\1aõî7c\ 3H\v\8d\fþÌÔóG÷n\>\87w\r"ÂÃÂÂ#\ f\1c\8e>In\e\90\8cÂ\1c\95\9a-\5\84Ù£ûvÂÞë\96jÅgl J\9aV5mK\1a%­Ý\1eN7/\f\95J½î~L%\§uì{\7fûZÜù3§N\1c?~<æÄ©3çã°\18ÞSã\9eJj?ùoCe)C+¾ª¤Á\87e\ 6\ 6\96§P\89òU´Xa\r\e%as\1e\ 2«Ûp= -Ç\ 6\7fæùÝ«\17OI\9d)Ü(ÇË\ 6×°»÷\93\17¯Þ\9a«\0\9biuQce)ËTC0t\9c,X¼¬\83ºvcÚ´*842\9a[\8d"\95\86>ÿiÂF*¿}ò*!\8e\8ak´þôQ<^6\0àe\83ÇO_$¼y\97ê\8bd\86's%SY´\8f1é+l\8f}\85»ô\e9m!Ïų\ 4®êÓgÊ\86\ 5Ã\86i£õW/ñ²\ 1â   ^6Àª`¿'ºm\90ª\ f\9b¿|æ\b\8f!\ 3\83´N-e''\97/\86O]°6\ 4¸à¦\17¿\93
+\©Û®öÇ\94BwfÉÆ,\16ÆK@¼zýæí;Ҽ鳹²;C\95m\b\19\8b§\ eéÞÚX2Õ\ 2\ 3\83ôê4ö¢\9f<\7fÍö\88cÈÅs\ 3\17\ 4\9f\8d\eq©®\81dµBÙ\0_\85\9d½ß¿\7fÿ\8eïí\9dz\1d¥\93{ª¡1\ 3©²ÝÕÍ\19K¦Ò\9a-æåâ\7ft`Øæ+Z\ 6Ûm·ë>hÂÜUxù\ 2\9bV½BÇüé\ fnWÔ°-jÁÉFÒÆÞ¤µ÷\1ff\1d¢\86öoç\8eð\8d\19 dX¦}\f\7f×¾dE9\96|ê?&pùæ½Gb¯À¸À\94ö\13-\11ø)I\8bóÔ×Aò\8a\975töþó/³f\12H\ 6Nù®cü\9e\ f{ùX¨Ê6-B\81\ 3ÃA[·y'ÜÐ\¿ûЩ¸Û<\17\9fé\1d\18j\95\7f\8bdv\18\8f\e¯\1a\987Áæ\92),&LJ\9e·Ã\9ak\/\1fórAKÍçÈ]°d\ 5yÍF¤"'ÞÖ#\17ahc½ÏÆ\vI\1féI\1a\vú)ª\9dd`ÎÇ\19ûÞ\90V+\1e\r«UáÚ¿YÀKeÎ
+©TéÊ\9aºÍ=ýFÎ\¶%ìØ9²:ý\e\9d]|F\7fý;C2,\fBÆ«§¤ÕÊâ)¤\17\1f\16\13¶D/\1f®Tm±rÒê¤âSPðΨÓWî<ÆëC\7f\80{¦Ñ3}\91\81\99-i\ 6°qá¤\0oH¦\f½øÌÌ\ 5\16ôÊ\9e« Wªvø\8ce\89ªg\92\9fÓ\19\19|f{l\ fvüîÒÂIEZ\96XbÊ\87³ï<\85JÙ«ë¶Äºt\õÌ\ 4º Ê\1døãcƧ¯.\13§AÐf>\ fo`fKúÇÔVT(QÀ6»%\92)Z\1dµ4VWó   \98´pÃÞcçoÀÀø\8d»=Dox\7f⳩Ï\9f-\9aÚ2\0ß2ôúY\ 6\99-_\1dµ\9a\8b\87ïÐiX\1d\15ëÒ\91½e¾Øòg2Ñ ³¾´ï¥øÌ6ö`\b\ 3\99-×¥Òì\8b!X\1dÕ&_±rUk4nßkÄÌåÛI\97\85W\1fø\9bØ_hÔ\80 þ\a]-Lë^*i\13A\vg¶´TmÍ&\1dú\8c
+\\19z\10»¹Ñþ#üü\97Ì~ÿàV
+-¸ÛÇ\ 4\84ØY©\9b»%3[\8e\f¹cÓ\8e~£g¯ÞAëÊÒêfF6\80\8f?Mv4XkÌ|06\11\8cÞ·\81,\13ÖU[(³ý\ 12èÚÐ_tI(ÍsAÈ Ë\84ç\8fî\ e\9e7®¿Ws®\19\9f%\96    3Ð\98Á»©U¡Q&d\18V\86\8c5(,·     Î\ 6\86þëØ\19\98¾\9d\9aÕRT ûß\968\8b@²)C\0_±Ý¤\96éߦëtæ_¡\13\ 4\f{®±Q¤ÿz\87&5¹m>Ë\90\91Õ&/ImÛú\ e\9b¾\94«òk(¹lÑ5:\ 1\80VúÆ\ 6p\a¾Z³µ\b\19\90I_ën\83&/"wÝù;(É\83µ¾Ì\8aD\8dã±W¹KuiY\v\91a(6o¯Ábóãç\asÍq?\98Ô.JO0T\b?\19¹\ 5ÏLÑ6Ó\16$\83,\14*k7ëä\a\13\r®Zí;Ãåøô\85¿ø[21\11\9b\8d=¿-T\82\9e´Þ³Í_\f«Í·õ\1d:uñ¦°h¼\85òêýo\9fèù\9cô\85Ï´V(öVÚ´xª\81\fË\94Ñ1éÃP¯\156µZ³ã ÙtÅÃ\b¸í\9dÎð\11Ka\91¢Fû6â\95%\ f\17\vÖ '½s1hØ\81\9fêØ{Ätì\93w\86\¦|\8dõ#Ò\eÞ¿{óêù£»WÏ\1cÙ³a!!\83\16NµÌ%W\93®\94\r[s\1d$£Ï]½ýà1\1eÝ{õ:\9dáUÂ\8bg\8fîݸ\84ÍÕ\16\97ù,Wa\8a®Ûæ-RÚ^íäÚ±÷ð©\8bÖíØ\7füìå\ew\1e<|ôøÉÓt\86'\8f\1f>¸{óòÙèÈ\905ó'\ eîÑ6ñ\95có/¢\93ã!ØV\9a\9c\9b\9a¹dÃÎÈc§Ï_¾vóÖ\9d;wÓ\eîܺqõÒÙ\98¨=\9b\19\1fÐ\1dÈPV\92`½/KÜ9ÎÀµ2Æ¡Q»i»î\ 1ã\ 2\97b\9fúè\93gÎ_¼\14\17w9}!îÒÅógNEGí\v ^<sÌ@\1f\8fƵTö¥Iù\16\vù)Úq½|U=\16:\1f<>pñÚ-;Ãö\1f:\1a}<æDzCÌñcG\ eFìÙ¾~ùÜÉÃûvmÝÈQ       däÏ\ 5\12~*\ 3\80¨!±SÔhèæÙkÐØéAËÖnÚ¾c÷Þ°ðð\88ô\85ðð°½»wlÛ´vÙ¼ic\ 2zvrkPSY\89\92\ 1AÃb÷3°Q\89ÊÑ¥\95§¯ÿÈI3ç/Y±&xýÆM\9b6§3lÚ¸aÝÚUK\17Ì\9e:v°\9fw[Wçjr;\9e\fËø)\1c\1aä\16\19©ÓÙ­ïàQ\13¦Î\9a3\7fÁÂE\8bÓ\1d\16-\f\9a7gæÔñ#\aùùttkT[[µ¢¤\88åÈàîWæ+\ª\82TãØ ¹Gç\1e~þCG\8e\19?qÒäÉSÒ\e&O\9a8~ì¨a\83ú÷ôîàÞĹ\86Ò¡\ÉÂù,E\ 6w_\ 6o\81\97ªPE]ùq˶\9eÞ¾½û\ e\18\18\100hÐàô\85A\83\ 2ü\aöïÛ»G×Nm[6©ç¨©jW¦x¡¼¶Ù!\80[\88\f\12KDVVèjÕkÜܽm\aO¯.]½}\0ÝÒ\ fðu½½»zyvl׺eÓ\86ukjeöåJ\15)\90Û\ 6R[\v\ 4ðÿ\99Vq)R²¬\9dT©wtªïÒĵEK·V­ÜÓ\eZµrskÙ¼Y\13\97úN\8ezUUûò\92b\ 5óæÊ\99\8dÎ3,S\ f\8f«B_¨\98¤\¥*rµ®ºcí:u\9d\9dë¥C8;×uªíX£\9aV)s°+WªX¡|00,\142þgZX8o\81"Å%e+Tr¨*W¨Ôj\8dF\9bî ÑhÔ*¥B&u°¯X®t\89¢\ 5\81\8b\1c00,E\86\81\8d\1c6¹ó\16(\¬\84¤L¹ò\15íì*U²O\8f¨TÉήb\85reJ\97,^´P\81¼¹\8c\X¬\18\919+Ð\91+oþ\82\85\8a\14-^¢dÉR\0Iz\ 3¾tÉ\92%\8a\17+Z¤PÁüysÛæÌ\9e-\v:)\v\92A\1aòeÊ\ 2tä´Í\95'o¾ü\ 5
+\14,X(\9d¢`Á\82\ 5òçË\9b'w.Û\9c9²eÅqa¹\81a`\ 3FG\96¬ÙsäÌick\9b+Wît\8b\¹rÙÚÚäÌ\99#;P\91ÙÂ\\18è@g\ 5|dÍ\96-;"G:\ 5¾{¶l@\ 40A¨@.,Ü#\11è@>2fÊ\ 4\94\0²¤[\90×G"2\12*,Í\ 5G\aò\ 1\84 2¦oP%üÂ1añ.ì<\1f<'V\18ÔÁ\80\8a¯9±\82%\rVXa\85\15VXa\85\15VXa\85\15VXa\85\15i\ 6åË×óóvöò÷²ñhhS¾\8e\8bÚ\13þÜÒk ¿Ï\0\9bf6å=«Ö\19àïìÛÕß·¯\9f×\80¡\92jð#¹¤jK\1f¯Þ\12;ú1      |Bâ:À·»¯\1füЭ«Wo\9fJ\12\aø\uø\7f\e÷ä¿ÃN&Õétr¥L"\93Ê\bLÿC«Ö«åj\89\91ÊõJ\95L-Që\14\95ðפZ\8dN\ fÿ-©êæ?Àׯ»Ä®\8ewß.>®]zútõoê\ 5?\eB\1f^Õ£i\13w\17gI5\89]w\95B&óTxV\92T\87\8f»Èe\9e \ fü\1d÷ASÉ$U\9bõõoéÓµï\0o\1fï\1fùk»>ä\99\1d¸÷Qè5z\a\19þý\83RãÀ¿\85Ü\ 1^\ 2å'/¢×w¨dò\16þ\ 3¼ü\ 6vë; \ f§:\89\9d\ 6\9euü᯻\ 4øû\fD)\12ý\95É\ fPÍ2\89\"#ÿx\fµ!ÿãm£\91ØU\92\81¿\96IêøÀÿ\ 4\9fö\ 1\84Sgò\13Wòoü.\ 5ý.ücwü\80\%\97ª\94z\95L.Óë\94z\89VªUêär¹Z-×iÔj½¤\ fù\94B\ 5¯¨Uªá£
+\8dF"\97KuZ\95L¥Õ*ä:½J\ 5?PjáG:\1d¨F-ÓÉ%
+\9d\92Ë5zµN&S©ôø µT+SéÕZ\99L©×K\94:©N)S)4:\85R©Öi%uÉ\93àÇ
+\99\90\1a\8dV¢VJ5*\1dü\ 4DÐkà\8bA4\99T£T)µZ½L\ 1\ 2jÔR\95\83/RÈUZ\19ù\ 4\94ÉõZ\1d\92hõR½N­SéTJµL©VpOÒÈ¥r¥B¡\93Á\9bÊ4\12½BªQ+Õ\1a\85J\ 5/£ÔÂ÷h\14R¥\/\83ïS(\15`¸2\8d\14¾F«\91É4J%y\92F+U©dzµ
+ÞB«\80\1fè¥*-H#W)\95ðÂÜ\93´r\94G j\ 5\8b\81O)ôR\8dB+\aM\81\10:ø-­\ 6^\1a¾G.Ó\81F%r¥^ªÃ\97\93ë@b\r\8a\ 26¦Ó)5\1a¥\f\ 4\ 4mªt L5¾²\ e\14¡ç\1e¤\97IÕÀ¥B¥\85\97\80/Vë¥2 \18\87¤J¦Å'éÕR\85\¯RÈÕ:\rþ@+\93êõJ H§\95QåéàÙZ\8d\\r£X«\ 4ªuJ°s­F­ÐÀ×ËøWÒi¥JµR        _\ 4f\ 3¿¦×J5Z-\98\8d\128Öé¨Ä\1a\9dF©Ñ\820z­D\ 16£Uã¨\87Ïju¨+\9dL\8ar\81©©µ`z
+\ 5hA    jÑëô
+\9d\8a×\9d\12\ 4V\80\rÈdr-|\b¬H®\0;\93©õ:\ry\8e\91Á@\ 43ÔÊá9jø\80
+èR¡Yi\95¨]xg\rx\v%¼´J      \9f\0­¨\14ð8T\8aVÎ?\b¨\84/Ö*ôÀ­N¢\80\81\ 1ö\ 4c]¡×«è÷ vÁzÁ\18åø     µFª\87GÃÿéåÈ\ 1\98\83
+ÞH     o¬Vha\98\0SRxWµ\1c\ 6\80\£SrORká{À¸õ*\r\18:|\8fJªP¡M\81iÃðB\ 3\94
+\9d\1e¬^\ 1\9f\0¶Á\a¡±Èè\83àÑ*µR/G«Wã\a4`¼¨,xe\95á9À-Ч\91©\15J\94\ 6¾U¥A³\ 4\9f¦T¡U©\80E\8dN\aß\ 1F££òÂø\86\aéÕz\19y\90R
+dÁëÂGð\ 38Hà\85\90h\1cÕÜHR\82\93\91&%~J    \9f\17ëáÏj\r\19'zx\ 1°\ 3x\ 2\98\ e\18\83\16~\ 3\86/\ 1\13:)X\ 2|5è\ 4> Ãq\ fj\96Á0\0\1f\ 4\ 4×\0ª×\80¼huj\85N\vã\ 6¬S\8e6¥Ñ \ 3S©õðÆ8\ 2Ð
+á)
+\1ckðâ\94#\8d^\ 5\94¡Béw\80\90\ e¾\1d\8c\93\7f\92\ 2l\11ü\8a
+Ô¬U\13ytø|½Z     \1c¨ñ{@»è\fT`m r¹\1eì\e\86\9a\ 2\15ËP\16µN
+\14\83WT)`P\90O\80q(t`aà"4Fç\0Ã\12\1d°\1alN\82£B\ 5\83\13,\r\9e.Ck\0o W\80÷\0ãÕ\93±\ 6ê\ 6_\r\94k\15è|Õ\10\81T*%\88\a\82ké[Ë\14ði\18\8b
+\ 5ÿN02À\e+ÀÆÀÁÂ÷À¸\0æÁð\95z\8d\96x\19\90\ 3\1aÀµèÑ\9dÁ\9f\15zp\90\fY!jÑà@\ 2#\81±-Aæµr\14\rþ\vÔÌ?H)\ 5ãÔɵ*\1c¸\12ôÇJt\13¨?¥\8eÚ\9dV\85z\84h*Ã\8c@!E\ 5h\14Jô]h0J0p\ 5ñ\91
+ô&J\95T§AG\vJ\85\aò±B\ 1Ï\81Ñ
+\9d-F\18 ]\8bcRN4§\90¡}kÕ \9c\ 6ÍC\ 5\9a\83a¬Å\ 1©GA\14ð`ø\ 2\r\ 6\7f\0\82\81´0È\80\11Ð0÷\1c\85\1a\bУcÕ\81)Ip\0ËÔðºà\16Á\7f Õ   \89X
+=\9a\83\ 4­Y\ac\b´¨\95\81AKÐóÃ' 2Âð!c\\vC\1a\87«
+\ 2\83\82÷ª2\88\9a:0\ 3°q-þ\16ø^pÛ2­
\81\18\a8:\bIà%µ\1a\85B¯&6\ 5\94:=¸2ôR`\19ðÅz\88\e
+\f\80Ô\16@Ërô_\1aÞ\16\80e)Ø5x\10ð¾ð\9e8²4\18\9f \1eâ(\84ïÑ\92ï\ 1Yuj\12\93Ô\98ïà\e¨tðFzü\84F
+ïBb¸\1a­\858\a½V¯ÓÉ Ørï\ 4òÃó\81 ðOJüb`\16¼,¼4Ä\14\rÊ\v^_\a\ 4Àoé1²)ä l\bÂø:
+\1c 2-Z³\1e¢\0\ 6\ 60w\ 5¤\1a0ÀÑ)\818\9c\80\149p\84\ 6­C\9bRbà\0ËÖ¡"0²ÉÐ\97AÔP+Ð9\83ªT\90&\0}J°(-P\89\9f\80\80\ f1Y\ 3þ^\87^  ¾S\vz\ 6[W\815ræ-C/\899\ 2ä\14 =Ñ\9d\16¿X§AÛ\ 2EÈ v@:+Sâ÷(       \8d \16\fa¥R§@Ç+\ 3×\8cF\aÁ\ 6~\ 3\9d\aØ7\fo\9d\ e\93\9e\7f\14õ\ 4\ fÔa(\ 6û\ 1\87¢%î\fxQá÷À+\80ÙÀH\ 3\87\aY\97L\8f9\16øFpÇ:b0`ÑðÅ\1aü!u¬à^ä8DTø8Ã+\81»\ 57«Æ´\ 4¼$$# \1fØ\14|1ä7ä\95pä£\7f\87ð\88ù\1d\ 4k\1døv D\89ÚÃO\80I)À\85\99èHÀW`Â\ 2ZÔ¢%Ò'A~\87²Cn£Çè\f\86\ 3\91ð  P\97\ 2\r\18ƺ\fÝ\ah\1eµ   ÿÆ\94E¦ÔbdСá)Ñ¿@ò¨\ 5g ¦o\r\82\80Ö\15 \e>E\81(!Å\9c\10¬\19\ 26\ e\15Ð\rX"\18\18¦\vjú=èª!^ë5øhHjà[\95\98N`v\80\9f\1eÐB`\88ã¨\85\fP\8fI\1cü£\91iùw\82O\91q\ 1îMMr*0\ e\1dDw\ 5§<°yÈ# 5\ 2w\88nF-\97\v\8a\81ç«\91Hp1\90°BÚ£\ 1©tÔ±jH~\f\96§åm\\ eQ\b, "¢\ 6\ 3-úgøBt\8b\ 6¨\1a\12´\ 4\9f\84÷ÄW\ 2×\v   \0dx0´\95ø$\19M¨ ò\82ãÐ\10Ó\ 3ÎÀM(ÐuÒ'A\98C\8f\8d\ 1ZIR&È|ÁK*1Ê\83Yë$À\ e\18\1e¸;4qH´\bKàù4¨p\b[rø\84N\8aé¶\ 2ÍA­\86\10
+¼b\12\fÞ\1a\14\8e\br8)D\e´\0½B\8bù\1dÚ\19<V\ 3
+U+À\14aHc\16#§i#\97¾\81}§Á¥Cº\0ORHÁÝ«A[@­\1a\13\1d\19º<È\v`\80Âàå\9e\ 4c\e\123\19FyÌ\ 4È÷è ÷\a\83Ö«a4é5d\98\82Ê ö\81ªÀ\ 20\12£;\ 3ûQHô\18/qr¡C\9d\83{V\80C\81è\ 1\99)DxP ÷\1cÈ\ 3\80\f0f\b!à30\91\84·\92Á\1c\ 3Æ\1c\98\19<\fçÄà8aÞ\ 5\13&x\90\1e\94\0Ö¡C\1a!=\82h\ 4Ú\95¡\7f\80W&©&:&°mp½\986Ñ'aî\ e¶¯ÇP\vìÀ\93`,ÁïCX\85è\0\99\82\1e½:ä\99\98ÎÁ8\ 5
\93\90¡?\81\14\1d"\1e\88¢\871\v®\1dÞ\15B\13ÍXÁ\vÃØÅ|YO\r\1c^\ 6\13hd\0D\0æ0\1f\85)\1cÎGÀ\81)Pu0\1dÁh\r¦
\10ÓtP\r¤H8ö`p\ 3\8dZô;\90.éa6\88SHpÂ`ñ
+\f JÌ79åÁ+ÁÌ\13\13\10ð5ð)9þ\0s\ 3\8c£à®à¡\10t\803-N$I\ e\bÃ\1câ\vè\0&âZP\1e\84\ f\81!\88¢*\rÍs`hÃ@Âü\9eKZõzÈ\98Ñ\9e@(5þ\1a¦6\90\18c\f\84L\ 5£¼\f\9d \98°^\8fܩɨ\85d\10\14\fs+\9c\ 4\83ø\90º\81 @\9a\ e#"x@0eH\8deèÍ\14¼\1f\82\10\r3Kø\1a9j\ 2Ã\17|\81\1aü%\86"\fpJ\98XÀT\1a&´ð\92\98ÏA4Ðâ4\ 4´+Wih@\81\11\ 6É\ e\b\85¾\16-U\ 3\83\1d§e
+\851.©5èA@\9f¨r\158\a0\H\0uô[\14\98êBÌ\ 4%(eÄëÀ\90\80\84\10ý\89\9exV\90\15§\v\18øá\99À\1a\ 4\ fâ qN¢çý\9d\8c$¤`Q0ïÑ\91 #Å\9cD\8fþ\1ah#c\16\86\11¾\18Ìÿ\94È\9a\14£\1d\8c\98ѳ"I0"5\18\9f!\9cÉ%à\a\ 2y/H\82ïÍ\99\83
+ó5|'ÈÈ\80}\1dR\8b\13.\15\ 6S\15y\10ü\1a°¡\91ã\1cM\83\ 1\13ì\0(\81¿\aw\82~
+¼;Ø\19|  ¦|8C\83g\82"µhª\1a£ÙéTø|\12ó$`¬:Ìi`$Á´\ 6\12P\18?¨    ÌbU\10ÏT\12ÈI wÓ£O\97¡\9f\ 4U\811Àß\82³\80ç¨%4u\93cö$\83\ 4\8e{!-NO °iHØ\94@6§Ç,\1d2nH\1cñ\a:\92\93à\94\vâ\8d\9ad|Rð0 U-8iø\1a\1cÓ\90\8b\80^58'CkÁl\14R\16-D8ÈB¸!\8b³\11ø5\r¨        g\88\98Ã\ 2ï*\98w\92\89#X\87\ 2g\9dèùadãr\aDb\88\11*ÈZÑíÀ;+á\a:\rDX\88\8e:tK Kði\10l0\91ç\9d\ 3.Ø(ðb\ f&¿j²\8e\ 2ÿ\ 3ö«Ãl\87Ø!.\92\80\b\f\ 4S_9þ\17\84\ 5p=jx\12\90äâL\8aä¹Z\98ÿjp5F\86ÄqºSÀ¨\0¿\ fäÊ1ý\95h!0è´d>\0A\ 6\18\80\14\eB\1fÎ2ñÇz´\16\üÀ\89\b¤Øè\ f\ 2Ã\14\1e\ fÞA¢Ãé$ÄA\r.uq\ 1\89ÄrÐ\94\ e§\8b¨o\984\81¨\90\9f \96Ð\ 3)À×ApUcR\8e\93bx\15©\1e'ïZ\Ç\80÷CIÕ¸\ 2\ 3¾\ 3b\9f\16U\82v\ 41\ 1µÍ%](.8H\18\8d\10\a%:5¾\1f\ 4\1f\10I\8bâADÄ%)Ð&\99Z\93y\ 6úLТ\1a\9c´\86¾1¤§\90[àR\85\12Ç\19.F¨Ñ´aú½\92\1c\ 4\86\ fi1\rP!!:LåÀ\10\80]\ 5Ú*ü\ 6¼$NàÁ\86tt¡\v\1c\aYÞSá*\v~\0\978`J
+A\18"    xOp\18\90³Ëáß\1aÃ\83\889\83ð`4à$%\90\ 2À_ª!¬a$@Ý¡;\ag\bÎ\0\133       Î^ \95\85@\83Ë&\10
+!\11@J0HÉ ?Ç\10\ 6\13)\19®P¡¢ø\18+Cy!Û\93£­*É\83ô8ÇQ\90ù\ah
+>\8b+_`\e\10\e \9d@\8bÂ\\e'zàí@`ðo\90ì©ÑhµJ\f}0~1õ#)¬ZÍy p\aà¹`\ e\893\12ô´j"\1f.Z(qZ\ 66\ 4¿§\82¬\12&7\10       LàÜ\16\13Lô£*42\røT\ 5®a\92,F#QÊ!\89\83w\ 4\a\ f!MK\87\11L7pá\ 2R9HQu\986ÀD\ f\1e\b¿¤\ 5\83\ 4\ 1/\fI\8dJ\839".;Cä\81É9\f\apA:-\89\9e\19p\19:\89V\8aóQ\18\fè¢t<K¸î\89\8bK0ìÁ?Á8\82p$\ 3§\0o\ ev#C\83\ 6ï¡ÐaÂ\aîX%Áe.tR\1at´ä\ 3ܪ1\8c30!~Õ\18f\97d\85BÇe\ß_[n\ 2\9fêFÖ¢\9d\r+Ò:\18\ 6\ 3פ@µ«%8µ\ 6\a\1d`\84¡+ÒÈ\v*F ©¤\1aç½à\85à¥Áêá\9dt8ó\81X*\85A\ 4#_¡Â\99­\ 4spL\110\97\83<
+<4\f\7fP\f®üé0\ e!1\98\18Ñu\15~n¤C#\ 6ï\ 1ü¡@Zü\94\12ÍJ\85\12!SDb\98/\82\1fP£»\95@8\87Ü\14l]\86\13\93ß\7f§º\9c&H\8a\ f\93&Ð>\b    *R¡Ý\82ß\86á\ 2\96\ edô¡\11\18RH\98\14\86q\ 2q\ fb\8f\ 69\85/\87d\16\9d9x)0K\88\94\90\ e\80±h H@¤\ 4·\r\fj\15ä\13\90\ 1\81/\84\f\ 2\94\ 6î\aWce\18Á\81iHÛøìE\83Kýhà\98\93Â\ 5\ 3Ø\98\9aË*0ã\ 4Ï+'Î\#Åù&h\ 4Wa´Z:£\ 3/«Ã\19\108J\8cõ
+\!\0?«Å¨Ì§/¸j\88Ó\0\MU <¸\f\ 3qC\81ûG\9cÄ8GÔ\82\aĵj\\17\80Ô\rB!¸Y=\9dÑaPCß\ 1Ê\80\1f\11C\84@;\87\91Ä?  ó-\18ÿø(\8ck0ËW\81¿\92\80\99\ e~\8f^JV]à\9dpºCÆ4Y\15\a×*'9\eî\88\80cPà·À¤\ f2b´.È>ô
+b\7f\86ÜO¡&ë\93èñð{Ôð(\1d.,\82&p\86)\ae\80Ó\84¹-x#­D\85Ä\82ñ\80u\81\aÇðÎY\ 4úH\85,9\8b¨ûCv\83cÍ©\v\19\1f§\1ed\83ÈÎÝÏÏ«\8f\8f·¤û\0/o_\1f?\7fÈs+IªÀ·\81ñ\82Q¡÷Tã\82'¼.¸5-.3\81ÖÔø\1d\90/@\b\80\84\ 62!%î´T\ 1\a\84é<\8a
\ 2þ\8b<
+~¬Å5\ 6%Ì:t\1a\19\99ZkU8°0³Ä\15&\\ 3\ 4\v\83ñ\87áM\ 1Ù³D.qB\7fP\ 5wK`¦\81k«$      %ߨÇt\fæB\90\9b\0-¸t\r¾VJ¢+ÄdÜXTI1\ fÆl\ 6\a\9dÄ©\8fÁ×89%¿yù\9d=ÁÔ|7²ÓJ÷5á\9b%vuë¸4àÔß
\vM·<«s\9b¡\9eu\ô¸Åéæ?´·\8f§QV\93íBºÉçá\9d\8aÔ¥\9anLòÿ&Tqª5nPÚ§°Ml²\8bÛÏË¿\aL5UÉïâj%U]@L²5êÖë\9fO«¡ý|~h\83×ÊÖ¿f+å=}pX\987&»§Oÿª
+x8%<\15#\9c¤
+\87é\94\14"/x¾\7f½­¯ø\81=ýdþl²kOÄÒêøM{îO\ 6)\1dªðÒ\11Q\95©ºiÏoµË\8c[í2Jó\8fèÚ²ç'~ZѬ\8eG\80ò\ 6xqÒÔq\91Ô     ðï+¡\aW|\87ù\18\1fñÕ\90tí2ÐgÀ \1foÏÆ>C=é\87\ 6¦Æ\89\91ïüµGM\eëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\rëy\r~\9bú_\1c%ðÔ¤p'ü\e§        ¸\8d[\ 1m\81§ø\16©v³]\f{äzÃ\9f<*ÛàÙ\vø.R\99 ±ÏÐDzkY¯>ª\ eþàâ쩦ªÃÏr\7feøxuÓÏp?¨\ÇÅ\13>[ß··¿Ï\80D\92ÿÀQ\8eïî\95\93ï\90 ,ô\ 1\92zݺùà3\fÊT'y\9e\8bß@\7f/¿®ð,/\7f/O\90µ©W¿\14\1e\96òË×\eâÓ5\0?\9b\9c
+\92>\11ßÐð\v\89\9foB\1a8\9f:~ð\85\90Ó\13RÈÎu\80\8dñ\  2\89µ&àE}ªÑÿtòéîëÇ\15\9e\0*á3\rlª:û\fòíêÓ²\81\93Ä£\99M{ïC\84Å5)-Ìpe8S\93(pû\ 2w:ÁiAZ¢\97t\94`P\80(\8eÖÒã_þ*ù$÷ëüÿB\12\15\aòE*ø\a>dS¾<\91\1aß¾\1aîÉBJ`ãá\92ý\1f+¬°Â
++¬°Â
++¬°Â
++¬°Â
++¬°Â
++¬°Â
++¬\10    \f\85ãY\vb\85@ño;\10°\96×
+\96øÉö\15¬Å·ÂÒøI\83±\1aOzC*\1a\8cÕrÒ       Ìa3VãIó0«ÙX-'­ÂÜfc5\1e3\81¡Î-`0\16x\8bô\ 6æj7\93\85\15Ò\e\98k>uMÂòò§C\bAó©e       L\84O\87\10\82ò\7f^\ 6\86§U\b_óæ\96Ь§1\88\16\13Õ\1c§%\88\16\165\15%OK\10\9dò\99\b\9c*\92§%\88NùL\ 4N-áÓ\fD§y&\ 2§\96ði\ 3bÔ<+\99SEø´\ 11*\9f¡Ì?)y\9a\81\18\95ÏPæ\9f\94<Í@\8cÊg(óOJ\9ef Få3\94ù'%O\e\10©òÙ\8aý3\92§\r\88TùlÅþ\19ÉÓ\ 6Dª|¶bÿ\8cäi\ 3"U¾HÅN3\10©þE*v\9a\81Hõ/R±Ó\12\7f\91\8a\9df Rý\8bTì4\ 3\91ê_¤b§\19\88Wÿ"\15;m\80\95ò\7f^ÿ"\15;m\80\95òSEÿ"\15;m\80\89òSEÿ"\15;m\80\89òSKÿ"\15;\rÀò\9aOEý\8bWò4\0Q+_¼\92\8b\1d\96×|**_¼\92§\ 1\88Zùâ\95\ì°°æSWùâ\95<\r@ÔÊ\17µð¢\86¨5/jáÅ\ eñjÞ\92\92§ºði\0âU¾x%O\ 3\10¯ò-)yª\v/v\88Zó¢\16\10¯æ-&¹9\84\17;D­y\8b        o&ùE\rñªÝ2\92\9bO~QC¼\9a·\98äæ\10\10µæ-&¼\99ä\175Ä«vËHn>ùE\rQ«Ý2Â\9bõ\15D
+QëÜ2Â\9bõ\15D
+Q«ÝbÂ\9bI~QCÔj·\8cðf}\ 5\91BÔ:·\8cðf}\ 5\91BÔ:·\8cðæ~\v1BÔ
\8cðæ~\v1Bì
\8cü\16x\11ÑAÔ
\8cðæ~\v1BÔ
\8cð\16x\11ÑAìÚ¶\8cü\16x\11qAìÚ¶\8cü\96y\97ÿ\0V\12\8a\96\91ß2ïb¦\97\15\8e$\ 2\11Þ\92ò[à]Ìý\9aB\93ÇÂ2³z\ 5\v¼\8beÞN\98R\99ITæ¯`\99×±Ø{     Y¶T\11R ¯`\99×±ðK¥Iñ\ 4õ
+\16{#\v¿\94\90ÅKuÅ2y\v˼\91ð_G°\82 ö-Ìý:LÞåß¾\91\12\8bªÓÒ»ü«\97\12\9a<âRuZz\17S\bJHs(\99¹¶ÓÆ[|\ráÈ\99º\1a\16\88ÂÓÆ[$\v\81\88\9aº\1a\16\8eÂÓÆ[$\v\81\88\9a\8a\1a\16\8eÂÓÆ[$\v\81\88\9a\8a\1a\16\8eÎÅ.ÿ·!\ 4iSKÃÌ_Ä\1cïÅPþo@\bÒ¦\8az\85ð"æx/\86ò\7f\eÌ¥M\15õ
+Síb\97ÿ\e`.íÏëVÈ\9a\17µðß\ 6si\7fR·BÖ¼x%ÿ.\98\vü3º\15¾òÅ+ù·Á\à\9f0
+q(_¼\92\7f\el\ 5þiÓ\10\81þE*ö·ÁVÚT²\ e¡ë_¤b\7f\ 3l¥M=\ 3\11ºþÅ(ó7À\àÔ¶\14á² :\81¿\ 1æÒ\9aÇX\ 4Ê\82è\ 4þ\ 6ØJkN\93\11"\v¢\138%°\15ÕÜf#@"Ä%­0\91\ eÍæ\7fÂØJ\165¬f#pQ\85  \v\98\8d\10\8b\9cÂDº5\9bÿ  `sG¼HÏfó?Ö\9b\85eÌFÈ\8c\88BH¡Áj6ÿc½t&FXÌl¬¼¤%XÍÆ\8aÿ\0«ÙXñoaI\9b±ZN\9a\81Õl¬ø\ f°¼ÙX-'\rÀj6Vü\aXÍÆ\8aÿ\0&fcµ\1c±Ãj6Vü[°²\19«å\88\1aV³±â?\80­ÙX-G¤`m5V³\11\1fX\9b\f\aÖj°âß\81µ½p`­\ 6\1d\8b\11¬5aÅ¿\0kc1\82µ&¬øQ°¶\94¤`­\ f+~\b¬Í$)XëÃ\8a\1f\ 2k3I\ 6¬UbÅ÷ÁÚF\92\ 1k\95\1d°6\90\14ÁZ1V|\v¬­#E°V\8c\15ß\ 2këø\16XëÆ\8aäÁÚ.¾\ 3Öê±"y°¶\8bï\83µ\86¬H\ 6¬\8dâû`­!+\92\82µEü(XëÉ\8aD`m\ e?
+Öz²Â\bÖ¶ðïÀZ[Vp`m\bÿ\1a¬\15f\ 5\82µ\15ük°V\98\15â³\19
+ÖjKï`Íÿ\7f\ 4kµ¥k°&ÿ§ÀZyé\17¬\99ÿ)°V^:\ 5kÚS\ 1¬U\98\1eÁ\9aóT\0k\15¦;°&<ÕÀZ\91é\b¬©NM°Öe:\ 2kªS\19¬Õ\99\9a\80µRÓ8XÓk.°Ök\1a\akzÍ\bÖªM³`M¬yÁZ»i\16¬\895;X+8\r\82\96\0k\1d§A°¦ÔB`­æ´\ 6Ö|Z\ e¬5\9d\9aI\8b\82µ²Ó\ eX3ii°Öw\1a\ 1k\1a\19\80µÊÓ\ 2XsÈ\0¬U.z°&\90\19X+^Ü`Í\1eK°Ö½\88Á\9a:\96`­{\11\835u\8cÁZýb\ 5\18\83µúE      Ö¤±\ak\ 6D Ö¤      \ 2¬I\10\1fX3&\b°&A|`Í\98 À\9a\ 4ñ\815c\82\0k\12Ä\aÖ\8c        \ 2¬I\10\19XÓ%\14°æAd`M\97\9a\a\91\815]\ 2\ 2k*Ä\ 4Ö\        \b¬©\10\13Xs% °¦B4`M\94°À\9a\rÑ\805QÂ\ 2k6D\ 3ÖD        \v¬Ù\10\rX\13%,°fC\1c\92àÀ\9a\10q\805K\82\ 3kBÄ\ 1Ö,        \ e¬      \11\aX³$8°&D\ 4`M\91\10Á\9a\13\11\805EB\ 4kND\0Ö\14   \11¬9\11\ 1XS$D°æDè`Í\8f\9a\16¡\835?\ 2\ 5kZ\84\ eÖü\b\14¬i\114X\93#\°fFÐ`M\8e\9a\16A\8359Â\ 5kf\ 4\rÖä\b\17¬\99\114X\93#\°fF¸`Í\8c Á\9a\1cá\8253\82\ 6kr\84\vÖÌ\b\1a¬É\11(XÓ"h°&G¸`Í\8c Á\9a\1c\81\825-B\ak~\ 4
+Ö´\b\1d¬ù\11"Xs"\ 2°¦H\88\89ÐÁ\9a\1f\81\825-B\ak~\84\bÖ\9c\88\0¬)\12"Xs"\ 2°¦Hp`M\88\bÀ\9a"!\825'"\0k\8a\ 4\aÖ\84\88\ 3¬Y\12\1cX\13"\ 2°¦H\88\89\bÀ\9a\815!â\0k\96\ 4\aÖ\84\88\ 3¬Y\12\1cX\13"\ 2°¦Hp`M\88\9a\815!â\0k\96\ 4\aÖ\84\88\0¬)\12"Xs"\ 2°¦H\88\89\bÀ\9a"!\825'B\ak~\ 4
+Ö´\b\1d¬ù\11(XÓ"t°æG\88\89ÐÁ\9a\1f\81\825-B\ak~\ 4
+Ö´\b\1d¬ù\11(XÓ"h°&G¸`Í\8c Á\9a\1cá\8253\82\ 6kr\84\vÖÌ\b\1a¬É\11(XÓ"h°&G¸`Í\8c Á\9a\1cá\8253\82\ 6kr\84\vÖÌ\b\1a¬É\114X\93#\°fFÐ`M\8e\9a\19¡\835?\ 2\ 5kZ\84\ eÖü\b\14¬i\11\ 1XS$D°æD\ 4`M\91\10Á\9a\13q\805K\82\ 3kBÄ\ 1Ö, \ e¬      \11\aX³$8°&D\1c\92\10Á\9a\13\11\805EB\ 4kND\0Ö\14   \11¬9\11\ 1XS$P°¦Eè`Í\8f\9a\16A\8359\82\ 6kr\84\vÖÌ\88\0¬)\12"Xs"\ e°fIX`Í\86\98À\9a+\ 1\815\15â\ 3kÆØ\835\ 3b\ 5kÞX\82µîE\ fÖ\ 4Z\1a¬õ\9d\9aIK\80µ\8eÓ,X\13û³`­¿ô\ eÖü'\ fÖZ±âGaµ
++~\1eV{°Â
++¬°Â
++¬°Â
++¬°Â
++¬°Â
++¬°Â
++¬°Â
+\11!u7\82­°Â
++¬°Â
++\84\89\f\19\16á? C\12°\96çÇ\81ÒþòË/¿r\80ÿ\14\8døDò_\7fÍ\981S¦Ì\80L\992f\84\17\10\85øTô\8c\992gÉ\9a5[v@¶¬Y³d¢â³\96í{@ÙQô¬Ùrä´±Í\ 5°µÉ\99#[\96Ì\19\7fýEðâ\13Ù3gÉ\96Ã6wÞü\ 5
+\16*T°`þ¼¹mA|оХ'²gÍn\93;_Á"ÅKJJ\97\96\94*Q´Pþ< ~æLl,ÿ\87}\1e(\1edÏa\9b·`Ñ\92e*TªìPÅÁÞ®|é\12\85óç¶ÉÎDù\198×G]Þ7\1f\ e\8aÏ\ 4²ç+\¢\8c]\15¹ZW­Z5\9dZîP±LñBùråÈ\9aÙâÒ\9b:íï¸ì\f\19\98%»mÞÂ%ËWVè\1cë6piäÒÀ¹\96^Y¥\82¤hþÜ9³YZz£×þ¾Ç\ 6ÅgÎ\9a3O¡\92嫨kÖkÒ²uÛví<Z¹6¬£\97Û\97)^0\ f'½eeG·\8d\80\90ó-\97\87\16\9f%G®\ 2ÅË9hj¹´hçÕ½gï^¾>\9e\1eÍ\e\1dÊ\95 Ò\9b]õÆ\ 1Ê\89\ eñ&\a\ 6\9c,ß"\1e->\9bMÞ"¥íUµ\1aµêÔ£ßàá#G\ e\1fÜ¿§W\9b&N:iù\12\ 5sçÈ\9aɼª7\19 ¼è9HÀ\81x\93=ë7\88GÅgÏU°D\ 5y\8d\86­:÷\1a4zò\8cÀÀ\99\ f\1fн½«³NZ®x~ÛìY2\9aSx.7\ 1\88\96\9e\ 5\82¥Mî¼ùòçÏ\9f//8¼\94¥\87á\9a)kμEÊ8h\9d[tê5düÌ ¥+W­\:\7fƸÁ=;6¯«u(S$oNP½Ù\84ç,\ 5ô\8df\9e\15ü-D\9cÂE\8b\15+Z\ 4£Mö¬\99\1d\ e×ì¹
+\94¨ plҮǠñ³\97¬Ý¼=tû\96uËçM\1eÚ«C³Ú*»\92\ 5l³g6§ð uL«²eÏ\91\8dM.\bó\85\8a\96\90\94)[¦´¤DÑ\ 2yl²eÉ\98üãÉpÍS¸tem=·.ýÇÌZº>doä\81\ 3\11»·®Y0yH\8f¶.Õ¥e\8aäÉaF»!y\15\8cÏ\9c¶¹òäÍ\97/?è¼\84¤,\ 6ËÊ\95*\96+U´\0\19\v\ fVc\93¯XyYÍÆíz\ e\9bºp]hÄá\98\93'\8f\1f\ e\ fY;\7fÂÀ.-\9dT\15\8bç³Éj6áÁfPö\9c¹ò ØÅ =)S¾¢½T®ÒhÔ\8aª\95Ë\97*\92Ï&;¸»ä\85Ï\9cͶ@I;\95S\v¯þcç¬Ú\16~ôô\85¸¸\vg¢#CV\ 6\8eìÕ¶¡¾r©\ 2¶Ù2\99Oø_3e\81¼*\7f¡b%K\97«`gïPU®ÒVw¬ãT§V\r\9d\ 2\9d\94\88Ï\80&_HRY× u÷ÁS\16oØsøô¥ë·nß¼r.:lÓÂ\89\ 3:7«)-](\979\85Ï\989[ÎÜ\ 5\8a\96*kç Sªu ·s\83FM]]\9b5®_§\9a¢RéÂè0\92}<\9a|îÂe¤Õ\e·ï=rÖÊí\911\17\8d\7føàö\953\87BWL\1fâÓ²¶¬láÜÙ3\9bMxL¬rå/Vºb\15¥®f\9dz\r\9b¸¶t÷hß±S§ömZ4\82HS®Xþ\94\88'ãµHY\99cÓN}ÇÎ\vÞu8öÊÝGO\9f=\89¿u1zÏÚÙ#z¸;)Ê\15Éc>áÁÛA\8c,,©XUëX¯I\8bÖí:yùôèÙǯo\1fß®\1dÜ\\1c\95àír¥ðx*|9y-×Î\ 3&,ذïØù\eñÏ^&¼xrïÊÉð\róFõlí¬,oFái\8c,P¼¼T[§QKHNz÷\ f\182|äèÑ£G\fîÛ­Csg]eI¡Ü)¸ê\fTxY-W¯\81\13\17m
+\8f¹tûñ\8b×o^=\7fpítäÆùczµ1¿ð9ò\14\92`râîéÛ\7fȨ   Sf\ 4Î\9e3;pú\84áý¼Û «.\9c'G
+ÂÃ\80Í]¸lUÇf\9d\aL\´9âÄå»O\12Þ¾{óâá\8dØý\9b\82\88ðh6æ\1a°\19\0_´¬´Z}7Ï^\83ÇN\9d½`éÊÕk×®^±xöÄ¡½:6«%/W$o\8e,)
+\9f«Pé*5\9atê7~ÁÆð\13\97ï=}õîýÛ\97\8fPøù£{¶®\v6\9fÛ¬Âc\9cá\ 2ü¬E«6lݱk÷®Ð­ë\96\ 6\8e\1d\0qFY¾hÊÂg\ 2?_Ê^çÒ®Ï\98yë÷\1d\8f»k\10>rã¼Q¾îNrð60ÜÍ";'|ñ\8aª:Í=û\8e\9a¹dÝö½û\ f\1d=zä`ø\8eu\8b¦\fîæî¬ªP,_JÂÿ\921kNüeg÷\1eÃg­ÞuôÂíÇ      oAø\87ÿgï*\0¢Ú\9aðó\7fÏ\16±0Pq\r\14\8cu;l0°;°\13[,ìîîîÂîVT\10Tº»K\14Tì~ùÏ9÷ÞeAbwa9À½\9fÿûß\13\9d\99oÎÌ\9c¹ç\9c\eáåpvç\92\89ý-\ 4õp\9c×\97ð\7fP·ï;vöêÝ'¯Üwq÷ñ÷÷õ|êpùØÖÅ\93­;É\1aÕ¬\.+á\7f/\81ceÛ^cæ¬?tÅÑ'2)õ\ 3øüó\bÏû§w,\9eз]óºÕÊ\97Î<?ç\ 1\96«\³¡Ä²ß¸9ëö\9f½ýØ30,22<ÈÛù\96ýÎeS\a[!á³°<å7Uë4Qv\19:mÅî³÷ÝC\13^½ûðþõóp\8f{öÛ\16ÚôiËçU-_JoÂãpgl*²è3vκ\ 3\17î=ó\ f\8fMH\8c\8b\ft»wnÏ
+Û!\9d³\15\1e©^©fC±e?\9b\ 5\9b\8fßp\ 1¿I}÷öUb\98ûÝS[\17\8cëݦ\19\16^oE%\ ewõ¨p·ïü}×ÀèÄ\97/\93bC=\1f\Ø·júP$|¥,B%]ÐC¼iÙmø\8cÕû.<ð
+O|\95\9a\9a\92\10ê~\a\vߺY\1dý
+\9fÆ<D\8c\ 2£\93 Ã'Dø<º¸\7fÕô!VÙ       \9f6dÛ\ f\98\80\86ìÓÀ\98\17¯^C\86\1fáÓ"Æ\84\85[\80yÿ¨ç)¯S\12#}\1d/í_e;¤\93´!\84ʬr$6}\ 5*ÔÏ\sàâCïð\84\97)/âBóÉmþGûMë\9e£f¯\85Û{\85%¼|\95\9c\18éãxqßÊi\83;IL\8d³IðL´\92B´\¼íÔm îù\8b¤¸\10÷»ù1`éLcb.ï4hò\92\1döpû\98çÉ/±Ûì]1Õº#®N²Ì\91\8cîüV=FÎ^{ð\92£wXÜóÄØ\10÷{(TöC¡ÒP\7f¡\92®nPaÛk´ÝúC\97\1d½Ãã\92\9eÇ\87{?¼°gùT\\9dd\97à±é«Ô6\93vĺßq\r\8c\8a\8f\8f        \81ªrçÒIý-\84õªë/IQý\vÊôVÖS\96î´\87!\e\15\9f\10\eêõ\0\95V9V'jn\aº\1f¾âä\1d\16\13\e\1dâ\89«J=×6¿¥7ý\1c¸½£whtlT\88\87\83f·Ç\ 5F\95Úæ2+ë©Ëv\9d¹ç\1a\18\11\1d\15âùð\ 2\1a1\1d³\1f1y ¼ºéáöw\9f\ 5\84GE\ 4y8¨\8aÚ\1c\84gj\84Þcçm:zí±OHDD°×£K\aÖÌÈ>Kä\8dô\8céáös7\1e¹êä\15\1c\1e\16èîp\9e\1e°ÆÙWäÈô ;Ô\96CmWî=ïà\16\10\1a\16ìítõðúÙ#º)ÍkgU\19å\91ðh\1e\8boßy\88í\8a=çî¹ú\ 5\87\ 4¸£\fk;\18â|ͬ&#\8cð {%¨0,û\8d_\b\89ÊÙ;($Èûñõc\9bæ\8eîÙªi\1d#\ 3ý\ 5zæö\15\8d\e\b-úÚ,\80DõØ+ Èßý!"~Xg¹Y­Jå²%\1e¹\9daU^Ó\96ÝGÌ\82hùÀÍ/(ÐÛåæÉ­8ÐSe¥~M\8fj\84¦-º\8d\98 \89ÊÁÕ7ÀÏýÑ\15 ~d7ec\93*\ 6%³³\1d.ÏP¢ê8p2\84«Û.^\ 1\ 1ÞOn\9fÞ±dR\7f<\eÑg¸I«\ e%\1dèÛ{úùº;^;ºiî\18 \9eg\94}\92,¦*îz\8d\811så\91\9b¯\9f÷ST\94Â\90\91ääuy =b¾\1aÜ\1eG\8c«\8fÜ||<\1eß8\ 1Ä÷mÛ¼^NM/:Q\99£1³rÏÙ»O<}½\9f9\<°fæð.
+}\8fXæö(b\f\9b±zÿù{O<½=\9co\9f\86$9@\83<CGË\ 6"\v4d\8f_wtóör}xåÈÆ9£UÄéõù\ 2º½±©¸ýÀIKwØßzìîåár÷Ü^T\99A¸É)TC´\841\83\86ìHTÜÝ\7fâáéæx\1d\88\eO5üô×­TÝ\1ef\15|Úo\1e>óôxzÿâ\81µ3\87\80ø´!\vin§ýM'7O·Ç·NïZ>\ 5;½~ÓT\9aß(»\ e\87ºü½'\1e\1eÏ\1e`â{´Ô TÓí'AÛ>ãæo:zåÁSww\97{ç÷\83ÓwÅÑJ¿~\83n_\16Å\9b\8eÖS\97ï>sû±\9b\87ë£kÇ·,°éÓ\86_·jN\1d\0¬»\91I\13¬û¾ów\9dÝÜ\9f<¸|dÓ¼±½Úè·ËMß¾xid»výÆÃ|îú£gî®N7OíX2±?Ó8ÊÞo~/Y\96\89µ;NÝp|æöìÑ\8d\93Û\97À\80GõE>øMy#^ÓV=GC¬¾\fÄ»=¾}f÷r\14ª5¨\fÓÅÚ#\97\1d\9e¸¹>¾sv/ÌàQ°DYNÏ~\ 3c\ ebu\17Êé]ÜÜ\î\9eß¿zúP\ ädºtcf?ø\8d«Û\93û\97\ eo\98\97\9e\9f\8eÐÂC°¤\9c\1epz|÷CT\81P»J\8ey\86\193\1d\ 6¡\1c}Óñ\99û³G×O¢\a\f*¿Ñk\89P\1c\ 5\f¡eÿ\89Kv\9cºéèêþôá\95£\9bæ\81é\9aÕÉ¡@ø\8d\8eµP" x³ùØUp;5¿Ñ{¼\ 1âK\97\87Hß¶\8fÍ\82­Ç¯=¦;±\rå\99\9c\v\84´x\ 3µÝ¬µÈíÜÝ\9f8\>¼\11ü¦\r\1f\7f_¿C\16ݽ\ e=bQ¨vuºe¿s©¦Möb8Þ4\92v\1a<u\ 5\1dk\1do@¸\9a<\105\9a+\95Óó\12\ 4jÄ*Átë\ e^ºÿÄÝÍ\19
+\ 4ã\9c\93\eìv\16ý&,Úv⺣«§;\1añ\90§ºµhR§ª\1e\9fÆRwGC®\91¬óP\\9b!Þï3\95\9c+C\1ck«ò\9a\ 1ss6\1c¾üà\99§ç³\87W\8fm^`Ó·\9d°A\r4dõ9%ù_\892P\9bI:\ e\9e¶rï¹».î¸@Ø0gT\8f\96ML\8c²\9f\8füÆÔ7(ÖBaº\8f)LÏì^1m\88\95\1c\ fY}\9a\1e\87\e¨kÛ\ f\9c¼l×\99ÛÎî\9e®\8eס@\18×\e\17\b96í\98Â\14\92ì²\9d§o;{øx={pùð\8690d\9b×CÏ\92õiz*Ø  - Vî´¿åìîåþø\96=*\10,4(\10\98Â\14\ 5K4\11¾îäáëëñø¦ý\8e¥\93\au\94\99ÕÖs´\84X      Uqóv}Ç/Ú~êæc\ foÏ'wÏR-?MZGT°¬Ó¤e\8fQv\e\ e_yèæëï\ 3ó©\83ëf\8fêÑ\9a¯oÓ\17Ã#\8eߦ\8fÍ­'Ax ýþE\ hÖ:Âáª\96\99¼óÐé«÷]\80Y| ¿çã\9b\ eì ÕïÚ\15&Ð7kÝkìü-'n<öôõq{Èt\104(\10pQÏ8ý®3w\9fú\ 6\ 5ù¹:\8°fÖ\88î­\9aÕ­¦\93é5ÝKPìw\94#!K\8d\99·ù8\bïççétýøæycpëH\83\11Ë8}_L\9d\8bOpH ·ó\8d\13Û\16M\1cÐAûeCÅÔ×íå¨\ 1Ð\8e\12\1e£çn:vý±\97¿¿·ËíSÛ\17\8dפ\83ð\9bÊé\9bÂ\ 5æl<zí±wpXh\80\9bÃ\ 5HT#º·ÔÒô̲Ú?(ä¼¶\16\8a\9að\ 1\81¾Ïî\9dݵl²&\1d\ 4æ\ 2\95káH¿æÀ¥G\9eÁá\11!>Ψ\83\7f{dúr\9a\9a\1e¯Êÿ\9dZ´WªT©\92%Ñ~\88ß\7fÏF~,|íÆ-º\8f\ 2Ã]\7fì\1d\18ìïö\0wªQ\81 Ál\88\8eô\92\8e\83¦.ßsÎÁ=("*"ÐÝá¾Õ3\86wC¦7,£QeÌl((Y\8aZ³gP®\Ù2¥J2«k³x$\8c\85Wv\e\ 1 \1f\14\12èéxåÐZM\v\ 4ÕT\12\957Ûíï<\v\88\88\89\ eóu¹qbËÂñýÛ\8b5-Ï(ÙÑ^\b\ 3´f¯
+ZàY±BùreTû!2¹\ 4Í:\b?{ý\11䲡ÁÞÎ×\8fmÔ´@P\957­aÈo:vÃÅ?"6.*ØÃáü¾U3\86umÑ\94W\15WÆ9I_\f¯{+]®|Å*ÕjÔ¬mbbR»\96qu£Ê \7féRhGAfË\83QQ\8b\¶ë\88Ùë\ f_{ì\13\1c\16â÷ôÖÉ­\1a\17\bèq:æ®ëðYk\ f]qò    \8f\8d\8f\8bðs¹\81º\10ý,DxýH\8e¦G««Ñ\9a½\8aF5jó\1a42oܤ±¹\99i½:µª\eU2¤\97\aÿ*>rY\94\f\9fµîÐU'ï\90ð°\0·{gvj\ 0sAi'ëi+ö\9e\7fà\19\1a\9b\98\10\ 3¦?·w¥íÐ.ô:Å\9cªSµý\ 4\8d\9a
+¥re\8b\16
+\99XФQ}\13㪠~æ»QÔjâ5\a¯\80ð\11áA\1e\ fè\87;\1a-·b¦\92\16ý',Þqú®[pLâóø\b?çë0\9d\1c×G³Ê\98Z+iX¥\ 6¯a3I\8bv\1d;wíÞ­«U\87¶-¤\82Ʀ¼\9a >ÚLó\8bñ¡&.[ɸ¡ÔjÈôÕ\a.;z\87DF\84x;^>\0\ 5\ fñÕ®@;}/púã7\9f\ 4D%¾x\1e\eì~ÿìîåS\aCe\;çÊ\18­\95,S¾²q]sa\vË®}\ 6\r\1d>räð!\ 3ûtëØV!jbZ\a-\10.óë~\ ed7\1c鬧­Üwñ\91WHdd¨¯ó5m\9e-ýOåô3×\ 2\91      /^$Dø>¾zD½2ÎnÈ2+Ãë6\16·¶ê3tì$Û\99³gÏ´\9d<nÄ Þ\9d-\94¢&\rLjT1üu?\a\8b;\f\9a²|Ï\85\a\9e!\91QáþOn\1e§\1e1hôlI½i¸çü\ 3¯°ø\17ÉI±ÁnwOïD\95±4çDE/É71\13·é:pôÔ9KV®]¿~íª¥ógM\1e;¤o\97v
+\81\9aU+¢­@饧´ÐrÀäe»Ï9x\ 4GEG\ 4ºÞ9E-"Ð,Ü0MC(«·\9dºã\16\1cû"\ 5-\ 5\f\95ñÈ\1e¨<Ë!Zª\16W·ê2hÜÌ%ë¶ï=xøð¡ý»¶¬]:wÚ¸!}¬ÚH\9b\99\9aT¯T>£ôTa%À³\913÷Ý\83£b¢\90¿j\13n\98¦!.o®»\ 4D'¥¤¼\88     zvûä¶E\134ITªõÉ\9dú\8f\9dµ|ë\81\93ç._»võâÙ\13\awn\1oÚ\18ë\9eí\95\ 23^\8dÊ´ôiÂÃ\9da6Ò\16ÍFNß\ 3ác£C½\98%\bÙ®\9fH»÷\1fi5ýþK\8e>\91ÏÑâ\9d\8701@\89\8aê#d=v¨§cƦÂv½FÎX¾íÈù\9b\ e\8eÎ.Î\8e÷o]>sd÷Æås&\8fè×¹µØ¼.\92>Ý^\1aµÙÈ6û»nAQ±1a>N(Üä°f(½áð\13\96\ 1\93\96\ 2{\1ea   É¯_½\88   xrãøæù6}-\84\r\8c³Ý\r z"me=yÑæ#\17ï9{ø\ 6\ 4øûz>sºwíì\91\17Ï\18;¨[[Ic\90Þ\0ï\ 4R\13Þ *ÌFz\8f[°õÔ\1d× ¨¸X\bÒ×\ e¯\9b5B\93ç#ôÍ\99',ó7\9f¸õ,(öåë×É       a\90¨ö¬\986¤³¢±     Ì\f²Y\87\81»?èÁâèÙk÷\9f\83\19MHdLlLTx\90¯»óý«§\ fn]9gÂ\90\1eí$\8dyÕ+âí(Ì\95è\9e\19\9eJ\9d¼í\1a\14\1d\1f\17\15øô&z\94\rÕ\8d\86é\16£®ß¡+\8fý¢\92^¿y\95\14åï|íèÆ¹c{·\15ÔÏ6QápeÜP\82×\1e\9d¸áì\e\1e\97\94\9c\92òòy|T¨\9fûã;\17\8fïZ;oÒÐîmÅf&U\rÕw\ 21\r?ZøàèxHîÔj±>\1aV7ª
+\81      \96hÅÜ\9bäø\10÷{gv-\9bbÍ$ª¬\ 2\ e\8c\19üP´Ë°é«öA¸\ e\8dON}ÿáÃûÔW/\13¢C}\9f=¸f¿wýüICºµ\16\98Ö\ 4ÇI»P\ 6Ë\aÇ$$Æ\86zÜWU7\9atÙé®\1f
+\96\v·\9e\82\8bÄ%¿I}\9d\14éë\ 4Óa»Ñ\90¨êg³\aF­.\9d\8b£\15Z"ûõÛ·¯\9f?¾{ý2!2ÐÃéæ\99}ëæM\18d¥lZ·ºú\85\18\9fï\ 5>\7fò\8e[Hìó$µ\15O\9a­\9c¡\82e\1dôTÓ\ ejSgÿè\17oÞ¦&Ç\ 5»ÞA-\1cëN2s\13\\9e\91ã\7fi\rÏíöwÝC\13^\7füöóÏ?\7fþøö\ 5ÄO\8a\rõv¾uzï\1a»±h3\rÍ!õÕÿ¥\8b6î¡qI/\12#ýp¸Ñxå\fýTÓLf\85º\86\17\1ezG<\7fýöíëç(Q\1dZ\a¦o+h`\f±>sÇ¡æbô\13\8eó\ f½#_¼ûò㯿ÿþû¯?\91ø©Éña>\8fo\9cÚ¹ÜvX·Vé{A¸ëT¯y»~¨&\840\87r{L\80\v]ÝhÔþ \9fjÖh@u\8b\86ħ¤¾KM\8e\r¦\9f2¸3µ\9d d¦û\1d\96\86¡Úè±\7f\87o\7fþóï¿ÿþ\83Åÿô.%>ÌËñêÑÍ\vÆ÷ï\90nVLÕ6õE\96\10£w\9d\15\91\98\9cò".øÙ-mª\eÕÓðV¨qv\ 4ü&æå\9bwïhÓo\98;¶¯\85¸Qmp\9cLwk¦õ\1fæn<vãipüëOßÿúçßÿ(ñ\7f~ÿü\ e\1cÐýþ¹½«Ð¬\18¦fªÎyÚS)Dø#\1f´:49\ 1­ïdª\eCMÂM:¿\81x\ 3~óî=öú»gv¯°\1dÖ½Uó\ 6Æt\86É8£ ²\ 4jw.\ 4ÖÜÃ\9e§~þñ÷¿èì1,þ\9fß?¿}\11íïrý\18\9dñÐ$ã÷b\198[\838\8byñ:õÕó\b¯ûÚL¦è$\8býf<H\0ñ&>åí{0}¤ïãkǶ,\9c\88\ 2\1a\952\93^­Q½t×Y\a/pù¯?)á\91ø ý·\8fo\12Ã<ðü\0­\8eGm\ 1ì\fLQEõ\8cn<  \8aKN}\vAÎç¡Fk\14Ó\99\8fYE±\ eå©è\17\10ªß¦@¬w¸°\7fÝ\9c±ý:Ȩüø\8bôô\\ e¦C¶« 2ò\8bN~\8f\þ¿4é\7f~}÷2Úïñ\95Ckg\8dèÖ¢\89êI\9dz\84F#\r­\85\7f\9f
+\1f¥Öåj¼ÊPå7\9dÐJ\80s\ e\9ea\89¯ß}xÿ\ 6ø~rË~×Ê\19£z[HÌëTËDzUóeĬu\87¯¹\ 4ƽú\88]>Mú¿¾\7f|\1d\1füìæñÍóÆöjM/ö-Æ<\81o\84sãn4^\93Þ\80Á\92\1f«\97f\1a\98U\14íú\8c\9b¿åøÍ§A±Éo?||÷*1ÜÛéÚñmK§\rï\81²{5\\9b¤\9fP`î\9bQÝÒ[ÏB\12Þ|úñ׿i\87îýûïß?>§>\ fó¸k¿}Ñ\84~íèM\1d¨Ñ\83³\võ,\12±\1d\83\r½K\89\vt¾zhíÌa\9då\9a.\91¤*C¸\12^A\82êâ¤7\1f>~|\9b\1c\17âñàò\91Í\8b¦\fíÞFÔÈ\84Ùc]Lí\8bxB\81\9f\10Øßõ\b\7fþö\8bÊå)éÿþùåÝ\8bHo\87\96â.$µ\80\8dZ(V\ 3ÙËfÁ\16¨\a\83ã_}øüùý«ø@\17TW\ eï¢0«UYCáU+Ö&-AM\84\90\84Wï?}ú\90ú"&Ðõþ\85\83\e\17L\1aÜ­µ°!Þ2©\9e\1f,\ 1÷ÞéÆ+%ü?\7f~}ÿ2ÚG}\92\ 1Îð\8b§\86'¥~üòåëø 'Xø®\1a\v\8fG\ fª\8b\a\83(ÔG£M<hóW\94ÿÓ»çö¯\9f?ѺK+\81i-#T\17¦I\9fq¼Æ$\7fP\e¯´ðß>$Gû:^Ü»b\1a\81cåÿþ\87\97mÔm\ 6¹eöz\1c#\92ß}þúU7áé\ 5sr«!Ó Ë\83!\9e¿ùðùËç÷¯\13\9eÜ\86ÊjîøA\9d[6§÷·§\15\86t¬î:\1cÆëUf¼¦;j\12\v\1fã\8bc\88\9aðôÖ\95öPHoÇÑù5\94sXxmÝFµ`\8eZdz\ 2\86l\Ê{°\ 48aB¸/TV{Ö̱\19`¥äׯYY=Õ¢z\98~@°ñØÍgÁ\19Ç+eù÷`ùG\17ö®P¹Íï¿Ó«Ra\90ÍX½ÿ"ÔSIo?\7fû\ eÂÇ\ 5ºà\ 1ÛEnVSCáéP\8f\16\99â!ûÈ'òEê'0Åçw)  PYÝ´ß½zöØþ\1d\15Më¥KµLaØ\eWµêù5½ÏGy?`6ï¡Òì\8fß\8b\9b\8a,úá\ 5¹O\ 2¡$úúýÇ×\ f\ 1\8f¯\1c\3CÓ¦\19ã7jCÖ\1eUg¯>|ùþýÛgTYy;]?¹kå¬1};È\9bÔUKµª`C\15\86\9e`¿\fÁ\86\8e6ª¤/\80º\12¾ýG\892\94á\87N_¹\17%\96ç©\9f¾ý@ÂÇø9¡\9d\ 3\ 6M\97ÂÓ[\1eùÔ\8e\80«0\82^¾û\f×\83º09.ÔËñÚ\89\1dË!YYJ!Õ2Ò\17£\9b>"ªoôÀ;êåû¯éÇ+\12\1eÅy¦ÜÂ\9b:J\14/^
+íS\13[öµ\99¿ùØu(\ 5\93ß\7fùñóÇWp0\9fG\17´Þ\1dÊ\fY¨Î¦.ßuö\9e{h"\f!¸à·O(Ü{>ºzlÛ2Û\11½ Õ¢B\81\96\1eµ\ek\98\8a;@1\ f\85¡o4\ e6éÆë¿\7fýøô&!äYZ\e\ fÆL\89\92xÃP\8b®Ã¦¯Üsî¾Ghâ\9bO0\83ù\812\82\97ÃYõ\r\96\1a
+Ïì\bè\83Öi^w\ 1k¼ûòý'ªÉß¾\8c\rv\87dµeÉ´á=Û\89ÍëÐÒÿï\7fÔä[Ú   GJ'\̧\ f6¸<@£\10w4ð\14àtÉ\92¥\rª ­ZýÇ/À\86\a\96¿üøóÏ\1f\9fß&\85ã\\8c\9e\bj³ñ\86β\8d\95hGÀ\1e\à`süùóÛ'HVAn\ e\17\ f£T\8b
+\ 5TæàÆiº\16»sÀ¯\91\12\8fW\1cæ÷­²Å\ 5Kår¥K\96*W\11m\17ê>\1coÊõ ¦\8e\7fýùýÓ\9bÄ\10×['6Ï\eÓ«\95&\8bµÔý\86Ú\11`Aí\1a|\12\80\1dñO\98\ f\98\9a\14\1dàz\ fRíÂÉCº«IOwÛÐ4ê\10\84ùøW0\13ùe¼¾M\8að¤|\ 1Õ¹ðÅÒe\f\8dLÌe\1d\aN\´\15mR£\fÿ\17TÏÀÑ\93ëG4[G\9f^zUì\1d6\ 371Â!\ 4|ÿó/,ý\9bç8Õ\1eذ`Ò\90nmD´ôxàÕ2£rÔµ'Ax\1a\95>¿R.ïzûä\96\ 5ãú §Ã\15Ê\96.cPɸ\81 \rÚ£¶\1fî\83)\86ûüü
+Ù,m\ 2\9eó\ 2Å\f¦§²^ÿñ\v!Q¡àûþëO\98L\83ô\1f`jâ÷äÎÙý¸\ 5ÃH\8f\9d·6õLìÈõ'A    |ÆÊæÛ\87W±Ô¬zdwÔø4,[¦\\85ªu\9a(¬¬§,Ù~êÖÓÀXÄð_0gÄ\15Ü\83\97©\1eìh.|±_6lbÓÿ\8d¤ÿòþUb\84¯Ëm$ýÄÁ´ô\ 6eJ\97)oTÛ\©&ü\8f\8c5%ÌE¢|\1eAq\80\fÊ\8bråÊW©Ù\10ï\88]\7fèò#ï\bú.\7fý bªý¶Eh)¹&OðÓ\9b\9eÞ°Ù\7f\ 2Ú\a\93fz\98\8a\85\82\v\949iÒW\ 2A\90÷*³²<ò\1a\Í£­{\13û[\8a`*\¾\ùJÕQ\98\1cjËìB§ùE³\96 §7\8em¤·Ýhµ\88_µa³e÷\113WïO3ý?x"\r\85\8fó-(Ò\18é«W24¬X\r/\8aÅó¨_|\1e¼\ 6\ 5J$Ñ&j¥lõJåËW0ª\8dÃä|´GË7òÅÛÏè\1e\85üê\8f\8a\ 3¨l¨.±6{\86Ò¶\97S{e\19ÓÿóÏ?¸\89\91\12\9f\1aU*W©\8eöò\ fGÑÆ\99**ÿMï5PØø:^:°z\ 6HÔØ¤jECÃÊÆõ\9b·î1b&>»\80
+\93È>\8cË£üÚQ¢Ñê\83LMßê\17Ó3Ò\87¥\93\9eg\­Zͺ\8d\15hyá\81˨ãôQ=I¥yÍ\99\9dK'¡Õ\9aµ\8c*V¨T­Ncy§A\93\16o=Á\84Il\1eøh"ÚR\8cWµâ\1aH»õyê¦_H\9d,\90L\9b\1e¤ÿö\8bôæõj×2©×\ 4o\9bÙw\91\99\8bdê5óÆönÓ¼¾q\95\8a\95\8cj\99
+Ûö\1a\ e\rO|óñ\eX\87þ(Dù£xu¢¶.ÿ[F¯ßGÇàïøâ\99I/nÜ n=Óf\10õPwü¡O\86Â\8c\8e5ÈkÖÌ\18ÖUÙ\84W\1dü¬FݦÊ.C¦.Û\89vòÒ~ù/å`Ñh35½\f]K\97OgúþÔ\16m*Í¢«g&}[I3³FæÍ\95Vh!ø\99\8c%ñ/^cfR­\8aQut®Q¿qó6\1e¾âè\13\91\84Ý\12õwÐGÃQw~)½ý@ëc±ÒLß\rÕ\1dç\1d\18^Q\v&£ôÝÛÉ\ 5Íø¢\16V\90èq³/Q}2\822\14v\ 5ÊkÚÂ\14¸ZÕjµL\ 5­¡¨Y¹çì=7Ô2\80       û?\19Ú;½uÜø¡fzõ\8a\ f\99>\13é\87ô°l!\95ÈZ[\r\80\ f\1f\87i ÕfýÅk¨ç\8aÍêÕ¬^½V½¦
+«A\93 ¨¹îì\17\ 5a\92ºö߸~\83ÚààZÝ·Ü0¦oÚ²\eUkS±\8c2ý/ÒO\1aÚ«c\9b\96-Ûu\19h3oã\91k.\ 1±¯P¸ù7c\86Ú¹dÒÀ\8e²Æuk\19תk.±ì3f\ e\8cV\18PªK#¯\81r\18ê7T\eè¼Ù\89J³Ô\91\14T\16I3O&Ò\ fëÓ¥\83eÇî\83læBªwB­JÕ\88eb\rå5},ÄfuMLê\9a\89Úô\18>}Å®Óh´&3¤þó'å5·Nl\99\8fë7\14(u\11\9ez Ý´\ 5:\13\99»Ø1Q\1aù\97j=ªK¿~Á\94\91\ 3zvëÞgÈø¹(òáç"Ì\88Å\ 1\ 4Jy(\13×Î\1aÑ£µÐ¬~ÝúfÂV]\ 6O^´åØ5'f´b¯Á±\86ò\1aÔ\8eÅ\ f\16tX\8f\8aM\8fföíú\8c\9d»á0>\88\ 5\1282P&Ò/\9c6fÈ\80þ\83FL\9a·\ e%5õpC\95òà
+çv¯\986´k+aã\86\r\e\v[Z\r\1c?oýÁ\v\ e\1e!x´R\86\87Â9\155ÂÏìB«5$¨qPR\97\95ÀÈôP×CÍÚy0ÚywçYP\
+\15\13þûEúý\e\16Ï\9c0zÄÈqÓ\16®ß\8fb\93\ 3\97ò(gÚo_2ÙºK+1¿)_ÜÒªÿØÙ«÷\9c¹ó4 ú%.jþÅÃ\15ê\9aXUXÂëdtÛôA/&À§VÙ­;x\89)Z±é3J\7f`Ó²9Ó&M\9a:{é&dM\94Óè®\13\1dý\82\9eÞ<±eáDë®må\12\89¼Mçþcf®Üyò\86³oÄó7¸¨¡\f\ fÃ5Âû!:heX\17\885:z\rµê*íD\v\80ò eúôÒß>{pÛêEsíæ.^½ýè%:!S±\12ÏCR`\1erýØæ\85\93\ 6÷èЦU\9böÝ\ 6\8e\9d¹|ûñ«\8e^¡ñ¯Þ\7f¥G+2<\8cìg·ðB\13æX'Ý\96`3{ûÑa"³ða"áÏßP\890£ô.·Ï\1fݵqõ\8a\15k¶ì;uÍ\91ú Jx\18¯1þÎ×\8emY4eDßnVV]û\f±\99µbû±+\ fÝ\83!Ò|þþ§\9aá#}\1e]:¸vÖÈîª%>ºÈNo0Ç\aj\fdN~\82"á§*\80«K\7f÷ÒÉ\ 3;·mݱïØ\85Û.¾\91I©(¬Rã\95\16þúñmËf\8e\e: _ÿÁ£&Ï]µãØå\an\81Ñ/R?1N\ 3¡\ 6\eþö©í(\1fh°¸*\aÓ\97ÀGüáÒxßyÜ\ 6Aéäß\8cÒ\87û>u¸~îÄ\91ÃGN\9e¿ñÐ-0æåÛ4áQ¤\8c    xrË~÷\9aù¶ãÇ\8c\1e;iæ¢u»O\\ 1Ù£\92Þ|¤#Í¿h¢\93
+\1e\ f\86_7{TÏÖ¹Üð\81\97¼©ÚB[\8e]W\95Ýi\8fù(é\13"üÝ\1cï\»táÂ\95\9b\ f\9eø\84ŧà2\8e±ü\87\94¸ ×{ç\ fm]¹`ö\8c\99v\vWmÙo\7fí¡{`Ôó×\1fÐ\9c\9b®\98¾¾\87P\83\r?yP'\99&\v
+³7½ª>ËX$d\94>2Èë©£ÃÝ{\ e\8e\82¢±Aéǰè)æë\84PÏG×ì÷o]·rùʵ\9b÷\1c=\7fËÉ\ 3>\ 6²3\ e\ f\1f\83\88\8aVV\1dX\v\86Ï~\99\86f¦§\ eKc\8a\84«jEBzé_=\8f  õ÷r{öÔÕÃ782!\ 5\8fÂ\7f\99êàSjR¤ßÓûWì\ fïݹc×þ£g®Þwñ\ e\89Iz£\92\1d\8dÖ/ï^Fû»Ü<±m1ª\80èU\1a¹Øí\91¾H &ù¯T\99J%ý÷Ïï_¿\88\8f
+\v
\ f\b\ e\8bNx\99úñ+ã\8\88¼K\8e\rñv¹wíÂé\93§N\9f¿z×ÉÍ?<ìx´Æ\87¸ß?¿wõL("rmøß2\16   \87.«Í\eÒIÿåCjJRBltTtLüóäT\90J\95\ f\903\7fxý<
+üêѽ[7oÞqprõ   \8eJL~\v\1aÒ²Ó£\15=j§\96VHÑ\ e'M\16\8eçdzªH°\1a<eé\8eS·qcëëÏ\f\ f\88ÿüþõÓûÔWÉ/^¼x\99òúí\87Ïß~þ¥\12\9eê\97$F\85øy<{âòä\99\87oPDÜ\8b×ï>ѲÿÇ\8cV\18ÕwNïZn;´kËfu«gyF«V¦g\8a\ 4úØ«ðtáò?ziÁ\8fo_>}x÷65õí»\ f\9fPK<mPÿý×\8f¯\1fߦ<\8f\8d\b      \ 4¿
+
+\8d\8c{\9e\ 2äP
+â2ïoÔ\19~\1e\ eaòÐú9P6\8b\1aÖ¬\9cÍ\920-LO\15   T3W­K\91^ú¿~þøöõËçO\9f>\7fùúí\a#\16cz$ýë\97\89ñ±ÑÑ1q\89/RRß#³3\1fB\86ÿBå\82\93¨x³R4áU5,S"·\86W\15  õø­\99³-\99þPZW     Iÿ÷_\7fþüñ\1dðãÇOJ,µ\80\84ÜêÃÛׯ\92_&'¿zóöç¯\147ÿ2Ñ\14µäÃ<\1f\8fNæm\83\97TåÞðªL\95®3\97D\17±jÒcñÿú\13á/\10=Mvlz¼VëÓÇ\ fïß½{ÿáÓg$z\1a78Ô`Ãß8±uÑÄ\ 1t\98Ì\93-}xY<õè\b\85ËÓw\\83âRÒ\8fYZ|Àß\7f£¶\1a\8e ê¼\80ç\0-àW_À©¾g¤\ 6\8afÔï@g\ eB\98ìÞ
+\9fÏ\9aùj0ÝL_YÕ\8d¾ô\b\17\8djyV%¾\1aÒÿ\ 6¤\aZ~b\05\7fÿ\9d\8e\19ª\14\ e\84\8a\9fÙ\97\95Ý\ 2NmM\8f2\15õ\1c\0
\93P]þ2f³\aEËßh­ßß\98\9btÚÑ\vB|Ð1^:ì\88ËAxU¸lÓsä,¨.Ñy´ô¼S3á\19Z\18\8fJ§4ò\1a<O¼k¿c      j¨1¥p\9e\b¯
+\97\ e¨«tôª\13:\15\95\9añk*½J\81_¾¡\9aj];²aÎè\9e\ 1\97>®¾^³\96Ô\98Uïµh!}\16:!¯y\19\89f®+m\87\96,çáþ[zÌÖBcv\8c]Z\97ë§v¦ÏBxÕC¨í\8b'ôÇg\80çí\11\1d8\\1aVEg¾«÷\17Ó\a{\1degº\vôC¨f¼¼>i\81ÞFD=\87\99±
+wvq\17G\8b1\9b¥ðø!\14zîºf\ 6~\bU%¯Ï¸ÀÕey£Úf\92öýlÒ÷Ôs+<î!G¢\85\86º¼?\10\88z#\fj\e·`\9ef\ 4©wqr%<ãòÔsW\8d\16ûk+=½\rJØ®7Ó@KJýü=×~C­e   V_Ë\92÷{ý\99\98\81éaFø-×~ìe¹\8a×ò)Í5[.¯­ðiç\92ö\1c\ 5¦\87\19a\94Z#[gÃS«þü\98ã\88õtÄgÚ´¤\13:°íô]÷Pª#\99+éÿý\87\1e¯çô{ê=n ¥\1d\8bz\1d-\9f̸öS{á©î½Ç=j¼jtÒ\81N§\1d\8b\8a\ e9¼ø\b?oͥߠ\ 5Ò̺¦±½Z7Ëé\94JÝ¥§Ö\92¥mÁ\vÿu    ¢ÖÂCI   ù\15­k²\eÙ­\85\86Û[t\93\9eÙ\827nþ\96\13·\C\12\7fY¹ª-þù\v\95\94þÔ
+P\8d\ e^Ó]x|ðVã\16Ô\19\ 5\99®\19ÖÒðê«t5;òNwé\91ßÔBËøÐfs'ÿ\98\94_\16Pj)<*\ eð"Ê\9dÚ.¢Ô^øÿÑgÉ c5.<ôQ\7fÞª«ð_Ô\16ºòõyz9uÚ\}ê\0&fSN®\84W[èª÷³\90©-Ïü¶Ô>¾Ü\87\9bt\v]»êù\14jõí\9f'n»\85þºÖ\;ç+\ e¬ôU\1c0Âÿ^Ò \8aI\13|\18ͱ\9bhWNî\84§Æ«Þ\8b\ 3\95ðå\98#QÐ"Ä_Ö®j+¼j\11åBM\8f\8dðxɳ¼ó°¬\96<k%û?8¿\ 6S\e¾5<\80*\17Âÿ\ fo{\95v\1a\9cÕbsí\84ÿ\93ί\874<\8a8\97£eþè`\ ef\99ÿû\d)f\95îC:¿jrÆcn@o°hOm°È¸\8eOkáÓVéNèg¡÷s×Õ\ fæ ³\94ÎÂ3.\8fR\14>\94\95Ùí¨7áÓ\1dÌá\19ñ\ 2²\94î«Ö\rc\97oLµlô&{\86\839r\97b\99Í\8eè\f¤üpùtÇ\ 4RÛ¹t\16\1e?^~£¶nXï§®«\1f\13\a_tM±ÌbQ\97ëG6Øé¶nXká©]\80Xø[®¹)nÔ¶3¬B½m]Ö\rk-¼ê\98Àã |¢ÎÅ\8dúv\86%ª÷[êù\1d\ fx³7-ü³\90Ü\b\9fq;C>\1cü\9dvÆ!*+s!|\86í\fyýDD\9fÂgX\98\9e\1f\87Ýç\9dÛб\86ÞÎ\90\19ȳ\ 1ûoú\85éh\13\8cÞ½&ÏB%óôÕý.z\19\ eÞ£PIÏGÝç]\92¢×\r\a¸\?º1-Öè×åóª<À\vâ¨uÃ{õòô5+áó¢0c\96ù»â\ 3êú¡\rwú~AÂoø\f£\f%±.]§\7fñF4\18®NW\ e­\9b=²{Ëfø U=\e\9e>³<·\93\11ÕpÅÇ\8cÑ\872êù¥ ªC³¨C=~ÝÎ¥©ìÌ\ 2c<\ñ\ 1oÕ³z÷t\1e\vO\1dë   \13ð\8b\8e\99í³×Ìðx/\97×\83óø\fX\ 5^æ¯w¯a\8e\99£\ eTÕµõ¡¶¶iË\82ñøôÝ\/_ÕPxê\1c^j«zÆÍ£\1a\eþË[\98ÿQk\9bðáZú\ fòju\19:{úÆÓ`´aZ\aáé8yÇ~ûâIè\9cõ\9aù0\ÓN8dª\ 3]J\eÕéT\10'×Û\8dBk\9bªåtzm\9e\0\1f§R\97ÊQ§îº\87é\92£è8\89\8aat\1cc'ý¿Ö\81B1õ0\7fæ¾W\84.OFÒÊ\1az\97\1az~¡\86JxºU9%³]»\9a\1a\9e)köá·\ fåp\ 4iÞ    O\1fê\81"åþKN~ÔÓ@m\85W/kú[jxJy^\bO\9fÝ\94î¬5­dg6:ú¥/kô\1e'Ug#¢÷'m:\9eéÙM\1a\18\9e\9e»Þ?\8b\86k>\955¿e<\eñ.>»IÛ`£\9a»Þ<¾\19íyeÊ\9aü\10\1e\9fµ\86ÏŤjJ­#¥ZÇcÍ\f¼SZçÝ\8bZ
+O\9fµÖi0>ßÀ7ýÙ\88Úy\r½\15_Lí\94Î\ fá\99sÞG 7\f0\8fÓ´\15\9eÞaz\1c\1fà\90\ f/:£eW;a\7f³®ãUµ¿þ@~½Ò\92\11\9e:\17Ó¢ß\84Å0\aô\bûålDM\84ÿ \ 5e\84\97\ 3\8eþ\1f\84O;`\7f\ 5\95_3\9e\8d¨\81ðª\83Hè÷ïêa\rh¦²S¯6@Ç\vRÇ÷ê\92_i\97ÏÅA$:\vϸ<JQiÇ÷jcxÕcã\83hÙ³ÜLï¯.f\84ÿ½8uè2~\9dÇ=\8fL\8e\17ÔHxêl;Õ²¬üryæå\88ø¸kÝ\þ\1fµeYùñºnFvÕk)GÎ^w\18¢|¬.%eº5 èl»\9cÞ¾\9bWÂ3ï¸\e·\0\9d\13\8fNÀÕz1.õÀ>ÔíöÉ-óÑ\1aÐ:Uõû\8az\95ðô9çøEkg\1d2;\94R3áß$\86<c^J\80ζË\9fôZ\92yáø\9a\ 3ÌI*Z\v\8fV\e$\ 41\aóégÁyfÂS«YñÛw\8eÝ|\1a\14ÿZëÂ\ 6\v\8f\9e\e;3ç¯jzxln\85g^\96>`Ò\92\9dL ÔZø\7fþúö1EuT5õ\12Õü\98\87Ðé\95~\89\8a¯n+¸éÓ\89\1f]¤Ã¼æG\98æNxt\10d]æ\85\10OÐôUûµóª3réÕ|ú\7fA=%<å5"Ëþ\13ÑÛ²¨\ 3³´wyê\8c\ÏûgÐÒ&æHD½ËN{\rzõΪ}xÝ¿öé\95ÎQÏÃÜÑ\e\eây\1a½\ 1%÷Â3^\83_z¤£×¤íSÐêe\10¹\16\9e\9aò\1aô2\10\9d¼Fm\9fÂ\ 6;MßB\9a{Ùé7\ f\83ר2^£ËS@jÝs\803ZT\86Ã|~L£è·1àw>£\97Ï\ 4Æê¶O\87ÙÄ\98vRu~\b\a\ 3¼\ 6f¯ØkÞèä5ªj\9e9©:?
\8co®Ñ¥ÛD       \8f\16K@\98W?©Zϲ3/MnÑ=\17¥ü\7fiS\11|\14z?\v\1cæõ\1e)Ó½åëø­gºÌ^iáQßÃó>Z~Û·\9dVÇlë.üï\19Þ·¤\9bË«\84¿w\9aÚK\97OÂÓ\15å@´3M×\8a\92\99\ 4"áéê ?\9a6ª÷£\r\9a¼t\17\12>ñÍ'\1d6¯£7¥à3\b¡´Y2\11M¿kèz6\9f.ÂÓï2\b¦\ f\9cÐäØ\ 3Õé\1fÿPg2g8\81UÿëT\18·±DG\8b£ÃÖ£\92ÐÁo\7fýýO&'H¨\v\8c\ fÈ Nùøû/|\8eú\87W   ªµ\1e\92\86ù²Ö\83y\e@oêÈ\ 6\8fàØ\97o?}Å\a\býóoFü\93^btèÍÏ\9f?\7füøþ\1d½\8fìel°ëÝÓ»\96M\1dl¥z\0«ç\85eô¹è]\87N[¶ãä\r'¯Ð¸\97©\1f>\7fÃ'Õüý\8fº¸*\81\19\89¿\7fûöõë\97/\9f?\7fúøáÝ\9bä\84\b¿'·ìw.ÃïQ¬\83\9f¥é{I\1fµ\81Zڡ߸9k÷\9e¹õØ+$æù«·\1f>\7fýþ\ 3\9dXó'u¦ÐO,/¶q\9aÄ\1f\7fÿîíÛÔ7¯_§¼|\1e\17\11èñèÚñíK§\ eéÒ¢)s\18\8c^\97±âÓÌ\8c\e4oÕuð¤\ 5\eö\9f¹éä\11\18\11\97ô*õýGt\0Õ·oHZ,.\92÷S:\89_¥$¿|\91ô<1!>.6:"ÄÏãñ\9dó\876-\9a<¸K\8bfyw\84P¶ÂSï­\95´ë9|êÂ\rûì¯=xê\13\1c\19÷<ùUêÛ÷\1f>|\ 4i\91¸H^J`5\89c¢£"ÃÃBC\82\ 2ý}½Ü\\1eÞ¾xl×ê9ã\a¢\97\9aå\8bðÔ\e\83ë5\91\1a>eÁÚ]Ç.Üvtõ     
+\8f\8eKLz\99\9cò
+I\vâ"yAàt\12\aøùz{y¸»>{êòØñÁÝ\9b\97Ï\1cÙµ~\91í(ü\9a\18,¼¾\97\82âw5W©Y¿\99ܲ×Ð\89sVl9pêò\9dGO=ý\82B#¢¢cbccc\90¸\11HÞàà \0\7f5\89\9d\1e=p¸wçöÍëW/_<wúÄá½[×,\9a1κ[[1z¥Y~\bÿ{ñ\92e\r\8djÕo*³èn=vú¢µ;\ eÙ_ºyßé\89\9b§\8f\9f¿\7f\80?\16×ÓÃÝ\r ìüØQ%ñ\95K\17Î\9d9}êı#\87\ eìÛ½cë\86ÕKÐk\86{uP67ÅoÕÒ»ðÔûÉ+\18Õ¬×DÒºs¿á\13g/Y·ýÀñ³\97oܹÿÐÑéñãÇNHÜûwïܾuãúµ«\97Õ%Þ»{çö­\9b7®_»zåò%\vçÎ\9cj3b`Ï\8e­Ä\8dë\1aWÉð\96^}IÿG\89Re\r«\18óÌ\ 4Êö=\ 6\8e\9al·dÍæ]\a\8e\9e<sþâ¥Ë\97/_ºxáÜÙÓö'O\1c?zäðÁô\12/[²hÁ¼9³gN\9f6e¢Í\98\11C\ 6ôêlÙBܤAíjÌÛyô-üÿþ Þ\robÚTÒºS/ëQ\93fÎ_ºzãÖ\9d»÷í?pàÀþ}{@Üm[6oÚ°~Ý\9aô\12O\9a8~Ü\98Q#\86\r±\1eØ¿o¯î\9d;´k)mn^¿võ_^î¬/é©·Ã\eT¬Z³®Ysy\9bN=\a\ e\1f7yÆ\9c\ 5K\96­\µzõêU+\97/]²háüysífÏ\9a¡.ñàA\ 3úõéݳ{×.V\1dÛ[¶mÝR!\15637åÕªVÙ°ì¯ïOÔ\93ø }\89Òå\f+W¯]ß\ oÝ¡kï\81CG\8d\9b8yªíôé¶¶S\91¸6cÇ\8c\1e9bøÐ!Öj\12w°l\a"·PÊe\12\91°y³&æ\8d\1aÔ«S³ºQÅòe\7fy\1f»>¥ÿ\ 3\eߨ\86I}óæ\92\16m;tîÑ»ÿ@ëÁC\86\f\19l=p@¿¾½{õìÑ­k\97Î\9dÔ%\16\v\ 5üfM\e\9b\9b52mP¿\1e¯NíZÆÕ«V©hX®L©\12ÅóGvÆuJ\94.[\1e\89_¯a\93æbyË6\16í;v²²êÔ   \¢]Û6H^\85\&\ 5\e«K\\97WǤv­\9aÆ5ªW«jT¥r¥
+\86\ 6åÊ\94.\89ì\9eO«\8c_º\ù\8aUª×¬SÏÔ¼     _ \92H\ 1\121\88Û\9cß´I\13$pÃ_$F"WªX¡\82ay\ 3\83reË\94.U²D\89âù);mü?J\94,]Ö B%£êƵêÔ­ßÀ´!\ 2-.È\8b\ 4Î(qy\83råÊ\96-S¦téR¥J\96,Y¢xñ?þø\1d\8b\9eo²ÿF\ 5MdýReÊ\957¬XÙ¨jõ\1aÆÆ5\91´ .%/\12ø\17\89\12`k$4\12\eäÆ\92ç§è¿QÆGâ\97\0ùË\963(oX¡bÅ\8a --®\ 1\168\v\89)\99)©ó_rF|p\1e\90\1f)Pºt\992e±´ .å\13Hàl$&!ò¯ò#\ 5@\83â%(\14W\97·ÀI\9c\1eÅ(\ 5\90
+éÄM\93· I\9c\11Å~\ 1i\898pàÀ\81\ 3\a\ e\1c
+\rLM;Ú\8eë0Ún´\81ug\ 3S\8b\91ð÷¾£gÛÙÌ2èi`:²¹Å,»\ e\93ÆÚM\9an;zÖ\ 2^\vø\91\90×¼¯Íè©<3êc<ø\ 4¯×¬I\13&ÙÂ\ fû\8d\1d=ÕÆ\9c×\14\12þ1\18\90ù5Ì\9a       ø2\85D,\10ñ\ 4|\ 1\86ú\7fÈ\15
+\81\93*\15|\99H\b\13xøOsô5!_*\80ɼÐ\9c×¼\9fݬI¶\13xf\16ã¦\8f±é5f²ÍX»\1e£ágó©»7·îÑ}@\97\ e¼\16<³     \12\91@6R4Ò\9c×\12>ÞE(\18 \ 2Áïè\ fª\8bÆkÞsº]_\9b±Óg\8d³\19§É¯Í¦á{\ eKSH"l*@\7f(%d
+ySF\r\17R\0k"\11\r3WÓÂnÖhÛÙã§Ï\9a\8egÖo ÕH\v;øõ\989v6³\91\14é~¥ö\ 3dg\ 1\13à?Ö\v\fð¿Æ\19Èxfæ<ëAðk\ 1ÏÂ\ 6þ5'ý\7f
+y\1dð\ fzáÿGß\17Qß7\1d)\91ÉøJ©B.\95Êår¡LÁSðÅB\91\97)\85R\91D)áMC\9f\92JùR¥\!\10Jeb\99\13\8aøð\19±X.\92+e
\8c'\91IøR±H"\93*\95r©LÎ\13Éù\12\81P"S\8a¥B\99P"\87O\88ù\ 2©P \14Êåð9\ 5O,ã\83\1d\85"9x\80R&\11ñÚcy$|ø¾@$\92+à»b\9e\97H\ 4"\99@ T
+\ 5R\11O"\17óE¸\7f"WÂÏ\15<\99\90/\86ß\82<\12\91T,SÂ'd|$©@\0î \11òä\12¾L \10Á\1f±P&\92\e)\ 4|±\\ 1l)àfR\9e\17!ùeð#)º±D®ä+d
+\85\90ÉÁB<¥\94¯DÞª\10\8aD\ 2\ 5ÜF!æ\8b\81
+R\85\84\a\12ð\15B¡B(\85\8b
+\19\85\14
+¾R¨\10(äH"\ 5O(\94ñeB\85\f\0éá>J\11ØA*\91Ée"ø\9f\bl+ä+A^\89P.Q\80\13R¾H\80\86\83\0,+\92ó\84b!\1f$\0¤
+±\,¤n\84\9cO)\17Jàsb!\10'\94\88ùR\85H¬P\8aäR\91H ¦\14\ 2\11\81\ 2Ä\13À'¤"¾@"\17\ 2\8d2   Ü\ 5î$çËe
+\99@.R*\80;\9e\10H\ 3£\0\93\ 2p\b\19}#0/x\86\(\ 4Ý\85 0Ø[*\ 6
\ 4\8cN©$S\82\99\80\ f\89\13*\94À¢\12,\a_F^\ 6\vEà*¨Ë\b\89\ 4\1cd\92È\84`\199}' E"\14\ er\99X(å¡î\9e\94I¥0Ì@$¸\8e\ 4î$Dâ\88\81kp;\91\92/\92\81'¢k\vå`^\ 5&E¢\80\ f\ 1\ab\1e°\8cý\ eX\16IÑW¨;Á×\1420¯\¬\ 4½àNpk\91\80a!V\bAb\ 5x\91\18(\ 6S\82\89Ñu\ 4\13¸\91H
+æDþ \0ÇDW@î\v¬À\aùbðI¸\8cX)\97H©;É¥|\18\0B¹P\ e~#\16Á§\14|\89X&\95\b\85J\91X.Çî+\17Ë¥\ 2\91\90KÐuDàyð9ð)\99\fü\17\fÂW*Å\12ð-P\1eF\1fÜ\81/\91\8b\14Ø\13¥
+ÚÃåB>º5\f?äÄJ\90\18\8d\1c\18\90"!¢\ 1®#Sðá;0\94\80+\90\13K,R\821\94\ 2¹\1cÆ\14\1elBp9\85@\ 6\97\bÁ\9c\ 2%"
+į̂\ 4ìJá\ 3J K,\0\12\ 4à\8aB\81@¬@>.¡\86
+\18\0tTB\88\ 6G\83\7fóEà¹\10ä\15\12\91B\84\98\95HÐà\ 3W\ 1\97\ 1ß\14@T\92*\ 40x\98Á$å\vÑØ\0îáw0\9a¤`<\88\1d\10\18@l1¢I
+?\80H\ 6·\ 1òà\13\10\1eÐx\0\8dà\92ØxJ¸\ 6\8c7°¥X*\10Ã8\91òÅ2\99\12¾¦\90\88\14\8cN\10­ 
+Ê!¢\ 1\13p\1d\14®\84èC@\94\14<\ 4\86\a\84x\81\18ñ(\13\81Í\85"\19ÄNð(\ 1D\10±\0\99W\b¹A$Gã\18F\ 6\1aû`(ø\8a\18}\0®JÝI
\88Á+!\ 6\83¿\89ñ§\80V0'\84@\ 1¢I\f_\13\ 2\830Þ%ø\130X\80\ 3ðE0 \fÉ"\95 i\ 5p\ 5¤\82\18K\vÞ\ 5Þ'\16\81Ai'\97\82\80`d<V\ 5R\ 5¥9ÄE\18wp)%° \83ä\ 6£\1dâ1\fB9\8a\102\18§\12°¸\f.\ 6!M"\15\ 2ÿ\12 ð\ 2¢\b\91}!`£Ð,\0k\82\9d$\90\räð\13`\10Ø\81\88\ 5Æ\ 2¯\0Ë\80G(Áè\12±\84\ fÁ\ 5\ 2\bø¬\*§\83\bØ\ 5"\18¦\ 5¾\ 6ÂA²Aá
+n\ f×\0o\ 57\83Ð\ 5Ò)é¨'\ 2\15\80,\85T\f\17\16+°Ä
+T;(Å \1f\8c/p\ e¾\14B6\84+\b      (ê!áÄ\12\14à@x N\82Æ\17\B\ e?\92\8a\83\10\81F#ø\ f\1aÜbúN 1\8a*b\ 5$\15\85\14ó\r£\12F\ 6\\16~\f×QBJ\91\82\eáûÀ¤\18ñ\ 4\9f\81±(AÁ\bdA$¡R\ar\0È"T\80,È.\10
+Pw\12\80\ f#7S §\16 yÄ|¥\bF\94\18¢%Ä\12\1eDqäå\90\98À\9e (È\ 2N\ 4î+\85ë\82\87Br\85°\a\93K\80G\18Ý`_ \ e\94\85Ñ\ fC[D{\ 4$^\b$pQ¸\12ä\1e!\1eOR\b>\ 2¤<HÊ\83t\aö\15Ka°\83\8eÈgä\907\150Ö ÄAf\17Á' r£Á\8fò8ÄW(\7f \94BV\17    ÒÈ)\9aÄ2(\a@tp\ 6\14là2J`\ 5H\81 \ 5·\80Ð\ 3e\ 5x\88L\0n\ eÌ\v Ö\v\82è\ 4i\ 5b\80\1c\7fB\ 6±\18¸\ 3ߤc4Ä7\b\9e\92Î\19b\18tø& ¦\1cò\ 2Ä41D\16ð\0\ 1d\ 1ðd\1e\92\ 5\98\ 1Y¡p\81\9fC\TòÁW\85\10ÑÀÆB¸\13X\ 1å2\bf\10\18!\A4çÃ5e2T\99\0ÝÔ\9d\90­ XC\94\10\0O2|\1dÈV\10K\10Spa1\8c/\90\16þ\ e\99\aìÂ\13IÀÓdÈ[å(_   áNÀ,b   $\ 3\13Kp\8c\86|\88F\18P/U¨î$D\81\14Ê\ f\90G\843\ 2Ø\ 4\b\86?r©\18î\ 4æT¢j\ 4\15:(\92K\10\91
+1¸\r\8cl1ú\ 4\8c/ð'ðKT¢)p\1e\94Ã\0\83« ·\17Ñw\82r\16"
+#J.ÇÙ  ¢?x#¸4D\b\187P\9c@y\80\S$Ä\99\aÆ=J\ e\10ɱÎ"4JÁ{À\1f¤b%Î\93\10\v¤ \fÔ7B       u\1f1\\16\86(Dw J&Äy[\88Ò<¸6\94×
+|#\88Ð0fE¨º\86ë\ba¤CÖ\83\1c¬\94\90¬\12`\f¸\15+¡ \0\8f\81\88,\ 2\a\80á\ fµ\94\94ÖH\ e\96\81 ®Df\ 5Ë Ô\83*\f!*ÕÀâ`4(\ f!¸AÉ\v&\94\81\ 3ÃÐ\91\89P¡'Cc\f\1cF\82J6 E
+ñT)Ç9\ 5h\ 4\89Àï!ÂÑ\8e\87Jg\bä0~ ;Â\8d\90|\ 2¸7²:Ô>0RÄ(¢\89% ¨\ 2JU\88D\ 2¬#\1a²XG4Ú@&¨)¤È\11%x\£!­@ãQIÛ\ e*\11\bn\10µ\14"\81\9c\8a!\10\11@6\bj<¨`PÙ\ 4y\e(\92 1+\80\9aS$G\94IÁ£á\ 3\90\9fQB\a_\ 6ó\89qi\8b\8at\b%\10\12:\f¡:\ f\95m`\1e0+\ få\ 2\14'¤(eKÐ8Aß\83"
\0\84\7f!²%H\86â;ø¿\18ÕVP\ 1ð\91gÀ@B\1e\ 3Æ\85D\ 5n        ´\82,\12:: p\ 6\83K\81Ã\eN*|¹\0Õ\ e\80±\907(Ñä\ 1*?±\b\15¢"ô \18ÔRT^ \89 \9a^d6\91\81ô\89r\10\94Ô´N9NwºÃ§,Çà\89\12õÇr"\9eA\99\r°µ\1d=\r&\83\13f\8d\1e7ÉÆÖ\ e¼À\9c×L\8aÄ\ 2/\86\14*P\80\80H04o\81bX\ 2Î
\ 6ÏwÁ\84`X\88\ 50Î!IA\96\15£r    Í,ÄP.Êð\9d`f\89j/ð\a\11Jr
+äô¨À\95!\eÀ¼\ 4e\10TØ@ø\ 2g\83B\ 2O:x\96\13@@(\0 \84\91ËQY\ e\14_P\ 1\93P`\1cÆ-äQHn¼f`a\98$@ð\858\82JG\1e\fr>\f\ eø-$U\18Ì<K4ß\e\8fõ·´Ì|N¯6ã\9e1Ún"\9a\97d>ã\96ó\9aw\ 1Cáil¿\89£gØô_0ÃF£Éx\1e\1a\b÷0¨\86\ 1\\98gÖÞ¢\8b\15Ma\7f4\ fWï%´¤»\f#-º(\91&ýì\16\19\99&ªÚ<\9c\9aIÃä;3w\11å­»P3~æÿ1ß4;i3ÿ¬ú/`I¨X\ 4ÂLÛ/ô¯\9aA´æãa"\a\17Á]\v%ÊKà!
\e0
+\rº/\99ü]Õ_¡¥\12(éî
+ó7\95\90M\9b\89ié°¤â<m¯0\r\12\ 1Ó ¡[,\9a\98:ß[]¹´4¹N\16XoÖhZ\1a\8b.<\8b9vÓyT\93qÒB\9b´[ü2${\8d\99m3k®Í¸\91Ýl\16\8c¤>4;/\9a{9üÚºu\96­5®©Æ5Õ¸¦\1a×Tã\9aj\S\8dkªqM5®©Æ5Õ¸¦\1a×Tã\9aj\S-·Mµ\91²,V²dÓW£\9b\18\ 5§\e\94¥\12\1c§p´\8b\94ª¿Y7Á]H¸\16^OÕÍfA:»õíØ        \99\ eþÒ¥ÃH e:ôYúWª\8f·Tÿ\fý\83&\16]FÂg;M\9ajg3+\9dä\1a45sì\1aákð\90\rx\1dÇ\8f·A÷P\19S\9aá~]lgÛ\8d\1d\v÷\1am7z$ÈÚcô\8c,n\96µò\1dçÛ\8c\9d\83>\9b\99        2Þ\11i¨úBúû«\91\ 6qÇÂ\16.\b%\11&\ 5·sæ\18¤uX\11\93h\85\1c(jÓ\82úOK\9b      \93léår@%|ÆÊ y\a\9b¹\93ÆÚôµ²äY÷4\18ªú:*²\ 4(`£Ù>d}\1eT;|T!\8a!\90À\ fä¼á\10\83 \f\84 \fÞ2Q˯¢O2_gþ\rÁ\1c¾\rÙ\ 3]HÂÃ\ 1ÒÀÔ\14K\8d´o\81j ¹Xl`Ý¥\8cvGypàÀ\81\ 3\a\ e\1c8pàÀ\81\ 3\a\ e\1c8pàÀ\81\ 3\a\ e\1c8pàÀ\81\ 3\a\ e\1c8pàÀ\81\ 3\a\ e\1c8ü÷\9fæg\16\92\96\94\ 3\87\9c\91'Çs\92V\82\ 3\87\13¯æ\9c\9cCA\83>\1c\9bóp\ e\ 5\ 1zõmÎÉ9\10Dþø6çä\1c\88 \9fÝ\9bóp\ eù\86ü÷mÎÉ9ä\e\bº7çä\85\1d\ 5\9cb½ú­æ ¥>\a\9dQ(XÎsGÕ\19ù¯;\aÝP\88\88Î\13ÏÌ+ä§â\1ctC!":ODÍCä\8fÖ\1ctFáâ:\ f¥Í\13ä\83Ê\1c2E\8e¼\14:ºõ!pî¡W\95\834Õzä\9a´fYB\7f*sP\814Éi(ò
+f\80\9eôå \ 2i\86Ó\81\r:ªCOúr @\9aÞ\8c`\83\8e\19 \ f\959üW yg\89\9aêÐ\87Ê\1cþ+¨¼³DM\15ò\_\ e\14H\13\9b9X¢¦
+y®/\a
\89Í\1c,QS\85\97Ã\7f\ 5\98töhJ!Ïõåð_\ 1&\9d=\9aRÈs}9üW\80Ig\8f¦\14ò\_\ eÿ\15`ÒÙ£)\85\97Ã\7f\ 5\9btöhú\eçÞú\ 1iV³\ 3{4ý\8dsoý\804«Ù\81=\9aþƹ·~@\9aÕìÀ\1eM\7fãÜ[? Íj\96`\95²¿qî­\1f\90f5K°JÙß8÷Ö\ f\9a%X¥ìo\9c\a¤YÍ\12\9c²\1cr\ fÒÄf     Vé«'e9\90&6K°J_=)Ë\814±Y\82UúêIY\ eÿ±\8f\9ae\ eýéËr\90&6spúrÈ\13\90&6s°Me½êËf\90&6s°Mk}ëËf\90æ6\13°Me}ëËf\90æ6\13°Më|Ð\97Í MoF°Må|Ð\97å Íp:°MåüÑ\97Í Íp:°MåüÑ\97å Mr\1a8\959ä9H3\9c\ 6\16j\9d\9f\16¤IN\ 3ÛTÎ7}Y\ eÒ<Ó`\9bÊù©/\9bA\9ag\1a\9cÊ\1cô\ 4Ò<#p*sÐ\1fHSÍF÷þ\8dóðü\ 2i\9e\118\95\ f¤©æÜ\9b\83\1eA\9aj6º÷o\9c\87ç#ØF4Y})ä¿Ö¬\ 5Û\88&«¯
+ù¯8;A\9ag\96zxþkÍZ°\8dh²úª\90ÿ\8a³\13,d\99¬Ê\14\88(ÎN°\8de\82úª\83\88î,\ 4\v)&¨²
+¤tg\eXÈ2Y\95U ¢;ÛÀB\8aɪ¬\ 2\11ÝY\b\16RLPeu\90R\9fU`!¿\ 4UV\a)õY\ 5vòKPku\10´\0KÀN~Éj­\ 2)õÙ\ 3vòKVku\90²\0{ÀNr       j­\ e\82\16`  ØI.A­3\80 \11Ø\0v2KPë\f h\ 46\80µä\92U\\1d\ 4\8d\90{\14p¥ò\93Ç\ 2e\ 4²\8ag\0A;h\85B§c^\11T\88T.\b\8ag\0A;h\82«o\9eK^0Õ,h\8aÿ
+\82¦È\ 6\85]k}ËO\Á\82¬»:\bÚ!S\14\rÝóS\8b|V­àë\9e\ 1\ 4M\91\ 1\ 2¤\14Ñ\9fF\85\f h
+u\906C^Ú\81´*\849%­}F\90µF\812HÑP'O´(¼êg\0g\8d\f(\ 2\1aå 5\85\fàL\91\ 1\85]©¼"¨\90ª\9f\ 1\9c)~E¡V*\ f9*¤\16È\0Î\ e\99¢\90ê\95·4\15\7f\ 5g\84¬P\18UËs²
+\97ú\99\823BV(tªé\83¯Âe\81_ÁY \e\14:ÕôÄZ!²À¯`¹úÙ£pi§?î
+\8b\ 5~\ 5ËÕÏ\1e\85K;ýqWX,\90)X®~ö(DÚé\95¾Âb\84_ÁfÝ5AaÑNß\f\16
+#d
+Ö*®    
+\91\82úæ±P\18!S°VqMPX\14Ô+\89\9a\80´\ 1²\ 4;µÖ\10\85EA½\92¨    H\e ;°Sk\rQ(\14Ô\1f\83\1a\82´\ 1r\0\v\10\85EG}0¨\15H\e \a°M_\rQXtÌsú´\ 5i\ 3ä\f¶é«  
+\8b\8e\9d\ e m\0\8dÀ6}5A¡P0\ f\89Ó\19¤m \11Ø£©\86(\14:æ     k¹\ 4i\eh
+öhª    
+\85\8e¹§,÷ m\ 3\1eMsDaQ0\97\94å  HÛ@\v°DÍ\1cQX\14Ì\r_y\ 5Ò6Ð\1alÐ1G\14
+\ 5óÂ=s\vÒ6Ð\ 5lÐ1{\14
+\ 5óÈCs\vÒfÐ\ 5E^ÁìQ(´ËS'Õ\1d¤Í #\8a¼\82Ù Ph\97×~ª#H\9bAw\14y\ 5³B¡PM?Þª\vH[Bw\14aÕ²A¡PMÏ>«\ 5H["W(ªe\85\9aþÝV\v\906FnQTõÊ\14\85B¯|tÞ\9c\18y\80¢ªW!E>;pö m\8c¼AQÕ«0"ÿ}8{\90¶GÞ H*U\18\87³\ 1i{ä\19\8a\9eF\85\11\ 4=9+\906I\9e¡\88©Sè@Ö\8d³\ 2i«ä%\8a\98:\85\v¤\1d9K\906\f\87¢\0Ò^\9c%H\e\86CQ\0i/Î\12¤\rá(\80´\17g\aÒ¶áPèAÚ\85³\ 3iÛp(Ü í¿9\83´\858\14b\90\9cAÚB\1c
+1H;¯F m$\ e\85\15¤=WS\90\13\87Â\aÒ>«\ 5H\9b\8a\ 3i\9fÕ\ e¤­Å¡\90\81´Ãj\aÒÖâPÈ@Úaµ\ 6i\83q(4 íªº\80´Í8\14\1a\90vU\1dAÚl\1c
+\aHû©î m9\ e\ 5\1d¤=4W m<\ e\ 5\1d¤=4· m?\ e\ 5\1a¤Ý3· m?\ e\ 5\17¤}3o@Ú\8a\1c
+(H;fÞ\80´\159\14P\90vÌ<\ 3iCr(p í\92y\fÒæäP°@Ú\1fó\18¤ÍÉ¡`\81´?æ=H[\94CA\ 1iOÔ\vH\e\95CA\ 1iOÔ\17\95C\81\0i7Ô#H\9b\96\ 3a\90v@ý\82´u9\10\ 6i\aÔ;H\e\98\ 31\90v½ü\0i\e\ 6Ò®\97O mf\ ed@Úïò\ f¤-Í!¿AÚãò\15¤\8dÍ!_AÚÝ\b\80´É9ä\1f\1a\19\90¶:\87ü\0i/#\ 6Ò\86ç\90\1f íe$AÚö\1cô\vÒþE\18¤ÍÏA\8f í\\ 5\ 2¤Ià /\90ö¬\82\ 2Ò<pÈ{\90ö©\ 2\ 4ÒTpÈc\90\ 2\aÒ\84pÈK\90ö¦\82\bÒ\9c\e\90ö£\ 2
+Ò´pÈ\ 3\90\ 2\rÒäpÈ-H{PA\ai~8è\ eÒ¾S\b@\9a"\ e:\82´ã\14\1a\90&\8a\83. í5\85       ¤¹â \1dHûK!\ 3iº8h\aÒþRø@\9a1\ e\9a\82´§\14V\90æ\8d\83F í&\85\15¤yã \11H»I!\ 6iê8ä\0Ò\ eRèA\9a@\ eÙ\81´w\14\ 5\90æ\90C\96 í\1aE\ 1¤9ä\90%H»F\11\ 1i\1a9d\ 2ÒNQ¤@\9aL\ e\19AÚ#\8a\1aHóÉ!\1dH»CQ\ 3i>9¤\ 3iw(\82 M)\874\90ö\85"\bÒ\94r AÚ\11\8a,H\13Ë\ 1\81´\17\14Y\90&\96\ 3\ 2i/(² M,\a\ 4Ò^PdA\9aX\ e\b¤½ È\82\1c\10H{A\91\ 5ib9p¾­_\90¦\97í Í\7f\11\aizÙ\ eÒü\17q\90¦\97í Í\7f\11\aizY\rÒä\17}\90f\98Õ M~Ñ\ai\86Y\rÒä\17}\90f\98Õ M~Ñ\ai\86Ù\vÒ̳\ 2¤If/H3Ï
+\90&\99½ Í<+@\9ad\96\824íl\ 1i\9eY
+Ò´³\ 5¤yf)HÓÎ\16\90æ\99\8d Í9\8b@\9aj6\824ç,\ 2iªÙ\bÒ\9c³\b¤©f\1dH\13Î.\90f\9bu M8»@\9a\814áì\ 2i¶Ù\ 5Òl³\ e¤        g\17H³Í:\90&\9c] Í6ë@\9ap\16\814Õl\ 4iÎY\ 4ÒT³\11¤9g\vHóÌR\90¦\9d- Í3KA\9a\804Ï,\ 5iÚY\ 1Ò$³\14¤ig\vHóÌR\90¦\9d\15 M2{A\9ayV\804Éì\ 5\8b>H3Ìj\90&¿è\834Ãì\ 5\8b>H3Ìj\90&¿è\834ì\ 6\8b8HÓËv\90æ¿\88\834½¬\ 6\8b8HÓËv\90æ¿\88\834½l\a\8b2HsËv\90æ¿\88\834½l\a\8b2HsË\81so=\82\1c8÷Ö\17H\13Ë\81óm=\82\1c8÷Ö\17H\13Ë\ 1\81´\17\14Y\90&\96\ 3çÛz\ 4in9pî­/\90&\96\ 3çÛz\ 4in9pî­G\90æ\96\ 3çÞú\ 2ib9p¾­G\90æ\96\ 3çÞz\ 4in9pî­G\90æ\96í Í\7f\11\aizÙ\ eÒü\17q\90¦\97Õ M~Ñ\ai\86Y\rÒä\17}\90f\98Õ M~\11\aizY\rÒä\17}\90f\98Õ M~Ñ\ai\86Ù\vÒ̳\ 2¤If/H3Ï
+\90&\99½ Í<+@\9ad\96\824íl\ 1i\9eY
+Ò´³\ 2¤If/H3Ï
+\90&\99½ Í<+@\9ad\96\824íl\ 1i\9eY
+Ò´³\ 5¤yf)HÓÎ"\90¦\9a\8d Í9\8b@\9aj6\824çì\ 2i¶Y\aÒ\84³\ e¤ g\17H³Í:\90&\9c] Í6\eA\9as\16\814Õl\ 4iÎY\ 4ÒT³\11¤9g\11HSÍF\90æ\9cE M5\eA\9as\16\814Õl\ 4iÎÙ\ 5Òl³\11¤9g\11HSÍF\90æ\9cE M5ë@\9a\814áì\ 2i¶Y\aÒ\84³\v¤Ùf#HsÎ"\90¦\9a¥ M;[@\9a\824ó¬\0i\92Ù\ eÒü\17e\90æ\96\ 3\ 2i/(² M,\874\90ö\85¢\ 6Ò|rÈ\ 4¤\9d¢\88\804\8d\1c²\ 3iï(Ü Í\1e\87\9cAÚG
+%H\93ÆA;\90ö\97B\0Ò\14qÈ-H{\10a\906?\87|\ 2iGË{\90¶(\87\82\bÒ^\993H[\88\ 1ç·\1cØ\ 6ÎQ9pàÀ\81\ 3\a\ e\1c8pàÀ\81\ 3\a\ e\1c8pàÀ\81\ 3\a\ e\1c8pàÀ\81\ 3\a\ e\1c8pàÀ\81CaA>,ïäÀ\81\ 3\a\ e\1c8pàÀ\81\ 3\a\ e\80bé@Z\1aý\83Ñô\7f\f\8a¼â*u\7fGøã\8f?пhÅI˦'Ð\1acm\8b\17/\81Q¼xqP\1d«MZ<½\0«\8c4\ 6}K\96*Uºté2ðO©\92%K\14/²jS:\83Æ%K\95.S¶\9c\81Ay\ 4\83reË\94.ºjÓ:\97,U¦¬AyÃ\8a\95*W\ 1T®\©By\83²¥Kaµ\8b\9cÖ\94Î%J\96.k`X±²Qµ\1aÆ5kÕªUÓ¸zÕ* wY`\e¢ZQS\e\94\ 6\9dK\95)gX©J5ãÚuêÖo`jjÚ ~]\93Z5ªV®\0l\97,È>®SaÁèlP\ 1T6©kjÖ¤Ys\81@мY\133Óº&ÆU+\e\1a\94)¸>®VZh£6|\ 5Æ3Ò¹Fíº\r\eóE2E\8bV­ZµTÊÅÍ\9b4ªgRèby\9aì\ 2§uºââ\7fZ\94\15@tñ\92¥Ë\81Î&õÍùbEk\8b\8eV]ºvíÒ©C»\962aÓ\86ukU«\¡\\19\v\9aÖjÕ\ 5Æï\9a\ eBDt\89Re\r+W7iÐX(oݾKϾ\ 3\ 6Y[\ f\1aзGçö­e\82Æ\r\10ÙÈűÖúWEcЩ\16U\17%JârJÓ\88\8b\89.S¾RµÚ\r\9a\88\94í:÷\1a0tÔØñ\13&\8c\1f7zØÀÞ]Û·\924kÈ«Y\15´¦<<\1f\94ÉNÚ´\90ÅTT¸¼@(Uª¤\86¡\87"º\\ 5£\9aõÌ\85JË®}\87\8c\9e8mÖ\9c¹óæÚÍ\98b3Òºwç¶r\81Y½Z\94ÖD©.\96\ 1´ÊPP\95\83\82Ê \¹´¢"§\vQDW®Q§Qs\85E·þÃÇÛÎY´|ÕÚµkW/_4Çvü\88\ 1ÝÛ·\10\9a׫iT¡\é\12\ 4©N\8bÒ¿3 H\86ê¢BÅJ\95*VĵTI\r´f\88®Z«ASiÛ.ýFL\98¹påú­;wïÙ³kû¦5KçL\1dkݳ\ 3h]׸\8aaYLu>)ù\8b Ìü\0M\890` \ 3Éå+TªRµ\1a ªQå
+T\9aÉQi\b\ 4\98h\9e\99°e§>Ã&ÌZ¼fË\9eCÇNÚÛ\9f<vp÷\96Õ\8b\féÕ¡\85 Q\9dj\15\r\80jBJ«Å¬\920%B\80Y\11UBV7®UÛÄĤ\96qu£JXë\1c\98ÁÞ]ª,"º\99ܲÇàq3\16­Ý~àøÙKW¯_¿vùÜÉC;7,\9d5~HOKyÓú5«\18\96)ùÇïD\ 65ÒùwÕ\94¨,\1eÃh\9a\80\8aæZuê50mØÐ´>ª¤@ëR91\83½»´A¥ê<3Q«ÎýGM\9d¿zÛÁS\17¯ß}ðÈñ\91Ã\9d\8fïÝ´tæ¸A]Û\88Ì\80ê²¥\8a\93R\1at.\8eÝ\19tEC¸rå*FU\81ã:õp        Ù\9c\ f\ 5d\83:Æt¼ÍVH*\8c\19V©Y¿©Ì²ç\90       vË·ì?uéÖ\ 3çgî\1eî®.\ fo_:¹oÃbÛQ};*\9aÖ«QÙ 4)¥Á·\8b£é\ 1\1aÁFÕª×0\86IQí:¼ú qs\91T¡T*dP?\9aÖ\81ÈS®T\ eþ\8d½\eÂ\98ICAK«~£¦-Z¿ûøÅ[\8f\9e\ 6\ 4\ 6úû¸=¾wùÄîµó&\ eîÖZhZ«Jy\18Ô\84\94¦§\ax\ 4×áÕ«ß AÃFæMø\ 2±¼E\e\8bö\1d:X¶k%\175i`R­R\8e\91\a.Fy·¹¤m7ëñv+¶\1d:{ãáS¯\80Ð\88¨¨\88Ð\0Oç»\17\8fl]:}do\v\89\99IUÃ2d"\19\9e\1eà)Qõ\9aÈ\9f\e7å7\17\88ÄREËÖ\16\1d:wëÙ»w¯\1e];¶UBjÅI&'¥Ñ\90®l\¯©Ü²×ð)\vÖí9yù\9e\8bW`xL|bb|lD \87ÓMû=kæ\8cëßQÞ\98W­BN×Ó\13Ò¦\aµë¡)\91\14¦D­ÛZtèÔ¥{¯~\ 3\a\ f\e>|\98uÿ\9eVíäü\86&Õ*"ÿÎIé2å«ÔlÀWvì7zúÒÍ\aÏÞtt÷\ f\8bM|\99\92\92\9c\14\17áïzÿ¡\8d\v'ZwnÑ´nu\92J\97*[¾rõÚõͨ)Qç®Ý{öAú\8e\1c;~Ò\94)\93'\8e\e1¨W§Öbs^\8dJ8òd{5¬t-Óæ-­\ 6\8c\9bµbûÑ\8bw]¼C¢\13\93_§¾}ó*)6ÄËñê±­K¦\fíÚ\92_¯FEbJ\83CBè\81R¹¹¬\95\9e}\91º£ÇM\98<mÆì¹ó\17,\98g7}â¨A=,åÍ ³BäÑLiA«.\83lìVï:qõ\81«\7fxüË7ï>|x\9f\9a\92\18áë|ãÔ\8eå¶ÃºµâׯQ±\1c1¥Ñ\9c¨z\9d\86|Y\9bN=ú\ f\19e3iêôYs\17,^¶bõÚõë×­^¾`æÄ\11};µlnZ˨|\99\12Ùæ\984¦Aéñs×ì>uý\91G`TbÊÛ\8f\9f>\7fzÿ&)*àéíÓ»VL\1fÞ½us\82J£²\11\12k½&âV\1d{\ e\1a9ÁvöüÅËW­Û¸eûÎÝ{÷íݽ}ãª\85Óq9Ѩ¶\91a\8eJCô._¹f\83æ-;\ f\1c?gÍ\1eû\eN\9eÁ1I¯ß\7fþòõËÇÔ\971AÏî\9cÙ½rÆ\88\1ed\95.^\12\95\8d¦|\85\81£&ÏZ¸bÝæí»÷\1f:zâ\94ýéÓö'\ eïÙ¼bΤa=ÛÑ9&'¥\8bCÊ2®×LÙiÀ8»Õ»OÝpò
+\89}\91úñË·o_?½M\8e\r\8b\95¦\98&5¦©ZÙ¤\11Ì\ fú\ e\9f8{ÉÚ­{\ e\1e³?wñêõ\e7oÞ¼véÌÑ]ë\17M\eÙÛRj^§j\85\9c\94F\97+W±:¯\89¬}ßÑ3Wì8qÍÑ3$öeêǯ߿\7fûü.96\18+\rîÝ\8ad CJW¬VÇLÔ¦ëÀ1¶\va~pâìå\ew\1d\1e99;;;=¸sõôÁ-Ëf\8eéÛAÆ(\9díå D \e\9a\89Ûõ\1c>mÉÖ£\97\1f¸\aż`\94N\89\vr\ 5÷^A)]\9d Ò %(-F%Ôìå\9b÷\9f¼xã¾ÓS7/o\1f\1foÏgNw.\1dÛ¹jöØ~\1dd\8dëPî\9díåP2@\89ºyË.Ö\13ço8pîîSÿ¨ço>|¡\99\861\r\81\f¢wËfõ\bæi\86\9a¶Ý\aO\9c»zÇ\91ó7\1e¸xø\ 6\86\84\85\87\85\ 6ú¸>ºN\97P\88i\r\94¦ü»n\13y\87¾cf­ÚuêÆcï°\84Wï?\7fc\94¾m¿sù4ÈÓÍH\16'(z\eÕn(lÝmð\84¹kv\1d¿|ÏÙÃ?4*6>>.&"ÈËùöÙ}ëæÚô\a÷61ÊYé´ëµé>tÊâÍ\87/9\80\7f¿|ûñ+\ 42P:ð)(½\f\94\86\8a¬Z\8e£EOPóÇÎ\ 3mæ@9qÅá©oHtBÒËä\97ÏãÂý\9eÞ=·\7fÝÜqý:HÍL\8cr*NTS\8e\1aõ\9a*:ö\1fg·fÏé[.¾\11\89\90³¾~ùôöeL\ 1Q\1aü\91\16²ß\18\88·Ç.;<ó\v\8fKzõæÍëäĨ@×ûç\ f¬\9b3®_{I£ÚP\91e_\86âø\8dÇKíF¢¶=\86M]¼å\b\84²àX úóç\8f\94Ò§È+\9d\16É ÞN\ 5\7f¼pï©\1f*\1cß¾{ûúEL°Ûý\vû×Í\19Û×RܰV\15\83RÅs\18\83ÅÒQ=Ön5Mõ«w\1f?}HÍ\84éÿå\93¢é¥d&FàßP9®Ý{æ\96³OXüËÔwïß½y\19\eì~ÿüþµvcz·\13\99Ö¬\9c³Ò\14Õi£z\11\8cjLuê{(¾Aé\82\10ÈTñ\96×XjÙ{äôeÛ\8e]yè\11\1có\ 2¦\bïS\93ãB@é}kf\8dêÕVØÀ¸R¹R9
+Iõ\ 6ËUªÁ\ 4ðÝö7\9d\81ê\94·`Ä\17\94Õª\19¹<­b\ 6M\a»\f\9a0oýþ³w\9eøE&¾zK1ívïÜÞÕ3Göl#@Jk dÚ\ 5\ 5­º\ e\9e´pÓ¡\8b\ enP ¼~\vÃ\85.CÑ\84\83\fe\98ÁT[ô\1aaKQ\rõ2\12\12)}÷ì\9e\ 4A#!Õ}§Ïè\99+w\9dºéì\13\9e\90\f\91ñ\ 5eÄUÈ\88ÍëkfD½\80J­¸ÝÑÂj \r\1aÕ·\9føE$$¿\86Y\7f\ 4Acf\8a©\85 (Ë\16lÄTG?Oy\9dò\ 2Ç\88}kfk>\ô\ 3\9a\14\85\84Ê21Ï\93_%?\8f\ eÄSAí&\btÇ¿Z\1ds\89eïQ3Wî<u\ 3¨\8e\7f\91\92\9c\14\eâñàâ\81uvcúX\88\1aj\14\18õ\84bií<\94ef¯Þ\8d²\f¤ê\97/!O3Jk1\ 6©\v¢i5_\9dêÄ\17/\9fÇ\86z>¼thÃ<:ïçÔ~Ò#ps°,]\8b\ e\99\8c²\8c\83[`TBRRBd\0(½GÛI?uAä;\12\vD5\1eÕa±Ï\93@i/Ç+G6-\980 #*ks®ðô\ 6&ËT¯Û\18M\83©,ã\13\1a\93\90\18\aJß=«\16½5\e\83t\85RÙ¸>Eõ¦C\97\1e\80\15ã\13\13bÃ|\1e_?¾uñ$k+\85&³6=¢\98Zo\vg\19Du@Dl|lD\80ë½s\10xF÷n'Ô¬8¡/H\15£hTC\0\a+ÞBV\8c\8f\8f        óu¾yrÇÒ©Cº\92ì\ 1S2RY\ 6B\ fÊ2\14ÕÞ!Q11\11\ 1n\ e\17\ ePeh£Z\9a\8fA\86j\14ÀÁ\8a\9bQl\f\8c\88\89\8b       ó{rûônÒ\9dAJFµÉV×Á0ªAH·\80ð¨èð@÷\a\97\ eo\9c\7f\a)3\ 6µ \1aY±}\9f1³q\ 5î\ 3V\8c\ eó\7f\1c]âiá:z\81\80\90}\91\90gn»ø\ 4GD\86\az<ºzlË"4\ 6\9bðÐ\fACfhªÁ\8a­º\ e\99²xËÑ+\ fÝ\ 3¢¢Âü]\1d.\1c\?\17\85o3M¦mzD±´æm«nC§.Ùzìê#\102",ÈËéÆÉ\1dhZÔR«¦\16C5¯±¬C¿±vkö\9e¥¬\18\16àþðò\91Í\v'\ eì$§#\19AªUBÊ;ö·\99»nÿù»O}\82ÃÂ\82¼]n\9d\86\92L\15¾5uGÊ\8aèaGëîæ.Ý\86¬è\1f\1a\1e\16èéxýÄv\14ÉZ\92\9c\17²¡°mÏ\11Ó\97C\15åä\19\10\1a\1aìóô.\9e[ö±@\91LswÄ\13uª[FYñÜÝ'ÞA¡¡\81^ÎÈ\8a\90\ 4\99AMæ¹¼JHÜÒkªì<h"ÄÛK\ e®~Á¡Á~®\ e8\92áj"Çn¿ú\ 5q\1a4ªÕP\84­¸ãäuGwÿà\90 \9f'w\99^\8c\19Õu#J5\bihdb&±ì;Æn;³w\¼\ 3C\82ýÝ\1f]=¾uÉäÁ\9d\95¨×¡¹;2óêzM\95V\83&@-záÞS\9fÀà _W\a4¨!4Â\ 5\89û7¢\1a¥V4\bm\97!f<ü\83\83\ 3<\1fß<µs\85-\95\98\f\16c¬ØH\8cjQ\94û\9d\83\82üÜ\1d¯\9fܱ\1c]PÐ\80´\7fÓ-ðê¼&
++ìß\97\1d\}\83\82\ 3½]î\9cÝ\8bk2\r\eFi×Ã=GT\8b\87¬uÙá\99O@\90¿'ê*C\94èkIû7ùPfT\eù÷X»µ8ò\ 4\ 6\aú<»\7fáà\ 6\1ai\91X\8bQV\84Ü/kßoÜ\9cµûÎÞvöô\ f\fð~zÿÒáM\v'\ eRóo²¡\fûw\9b\1e#¦¯Øe\7fó±§\7fp\90\9fÛ\83+G!±\ eÒ:±RÏ0«Ô4\85\v\ e·]¾ãĵGn¾\ 1\81¾n\8f®\81\7fO\1fÞ£\rÄo\Ú\92\re%Ë¢øÝ¢Ëà)K¶\1e\87Ìê\17\14äïA'Ö.-´l`\16S]\10\r\184­¾÷ÄË?Ð\ fù÷~\14¿ÑCA:6\92¬E!òT51\97u\1c0~þÆÃ\17a\f\ 6\ 6A$»e¯z\8e®U[\8b\ eeµ!\94Á4\ 6\15à\8f=üÀ¿\9f9\>ºeñd¨Oøõ\8d+\19ä´:M¿(\86ݱVC\90q\f\83\ 2½\9fÜ¡g\97ZF2zÀ@(õíÒmǯ>tõ \bôswºa¿{ÕÌQ½-ĪPF\90ê? ³R\83zÆÊݧo9{\ 6\ 4¡Hvñà\86y6:L\11èP\86j[ð\9d\r\a/Ü}â\15\10èïõäÞ\85C\e\17L@¡¬^\8dJ9.DÔ+\981جE×!S\97B¦¦\12«ÛÃ\f\91LcZTµ­¨]¯´T\8dCÙ       \be#z¶\15\8d\96ï\10¤\9a\1eÔu\1a\99´h˱+\ fÝÒG2m\9b\1dTm[©\ 6JÕC¦,A-uW_\b\13^.wгP\9b\ 1\1d\15M k\11¦\1a\ 6uy¨D¥\1dú£Hv  \97'\ 10E°W5;´kÐã\9e:¤êÆ(6Î\ 3ÿ¾\87r?\94¢\ f®\1cÛ¶tÚ°îm\84\ra\1aC\98j\94©Q$ë;vκ\ 3P-ã\9aLçHF¥ê4ÿFñÛ3 8$\0²Ö\99½kç\8cëßAÞ\84G\98j:\92\99
+Ûö\1a5kÍ>\bß>A!A¾8\92éÖì@f¤ý\9b\8aß0«\ e  \r\ 6ª/\1fݺdêÐn­\ 5¦\84©FÞX®b\8dúÍ[£ð\8dzFÞA!!þîT$Ó¥Ù\81S5òo\1c¿¡>¹ÿÌ78\8c\9aUï]c\87\17ð\10¦\9a\ eßõ\9aµì6Ìvù.û[ÎxÞïé¤cM\96æßhª5zöê½Ø\8eaá!~@õ\91-\8b§\14\ 4ªQø®P\r\15¢8gÝxì\15\84[F·Oï^9\1d×dÚ>j¤ü\e×'æ-Ûqâº\93g`xDx\10¢z\ f¦ZN:\80\17Ã9\vf\97\9d­'/Ù\ 6\12z!Z|\9fÞ;·o-\8ed\ré\19°æW¤ë\93&\8aN0aÝ\84{Ëa\91\91¡þn*ª!\80\e¡\9d;¤¨\ 6¥K\e\1aÁ\bì\ 4\89zë±k\8e\9e\11a\ 1n\ fÐS7\9bþí¥xv©Í³\18fÂÚH5a}æ\17\1a\15\1d\11ìÍPÝ\11¨&Z\96\15Ã\12¢)ÇÀ\89\v·\1c½\8a\94\8e\f\ fòtÄÍïA¨ù­mÛ6ã\84õ\963îú\87\83%aÚ±d*ÎÕµ\8dòf\93\96NGçÀ\b\84°S\eW'\v6\1d¹òÈ3("*2ÄÛùæ)ªù­}ÛV5¿Tv\1e<yñÖc`Èà¨ØØ¨P\1f\17ÈÕx1"Ú¯\84vÅäf¿iºãs´S\1d\85\1d\91¤}?\e(É.?ô\b\8a\88\8e
+ó{zçÌ\9eUZ>»T]\92\9e°\82!m (»èà\16\18\19\e\1f\e\19\b\99ðØÖ¥Ó\86÷h+jdR\15e\ 5]©V\1d&\93\ 6Fu\r\95Æ%\99e¿qó6\1cº\ 4JGâÇx÷/Pë\aðj2íÊ\13\8a\8a²Y«÷\9e½óÔ?"6!!&Ì÷É\1d¼\ 4s\80\95²Y}ãÊÔ\ 6(\1d´N;K\86><\aï÷þCãc\83Ò\94î;nîú\83\97\1e\80Ò±±\91Á\9e\8f.\1fÙD7¿\8d\f5}\8cÇ\\13*\1eT\94Á¤\1a\92ÖÉ\eè\ 1}Bb|\14\õêñíËlGôl\aójDµ.±,m¯(Úì]\ 6\839>G³\rþ\94Ò5ME\16} ø>xñ\81{PT\\t¨7~\94>Ùº³²©6\8fñ\18¥Qò§\93Öf\14(Bb\12\93\9eÇEø£\85§ëçM\18Ô¹\ 5_WªÓNÏA\87ç\9474¬P¡\82¡aÚù9ôá"Ùo·A¥DMSa»ÞcìÖ\1e¸à\80\94\8e\8f\r÷{rË~'µÉFë\ 5ùÅ\8a©%-4\8d¹ï\16\14\9dðâEbL\88\17\94z0¯F\eò¨n\99ÖT\17£¶M¢\93dÊW¨TÙ\88Þú\¥r¥
+\86\ 6åès\83~Ï^mÊ\15\8d\eÀ\8ccôì5ûÏ\83|Qñ     q\91\81®h\r\9d\8eO\95Õ\93\16jÈÜ~ê\1f\99ð"ùEBd\80ë½\v\a\9fhÝ¥eó\ 6x\a\94\96TãCU\8a\97,UÖ\0\9d$S£fm\93:<\1e¯\8e\9a\19U®hhP¶L©\92ÅsðrjÆa\_ЦçÈ\99«÷\9e»G-\15\89\ eöxp\11=Uîk©Ùbà_.J5dP\97uÛñë\8fé\ 5VqaÞ\8fo\9cܹbæ¨>h\8b\bµ·X+sR:\97.gXÉ\bm|6mdÞ¸I\93&\8dÍ\e¡íÏ5«W\ 5½\19º³f\9b\92\8f\9ef­Úsö\9ek`TÂóÄØPoÇ«G7/\980°£Ü\Ë\96QZC\86î²BNð\f\89MJÁËÔÜ\1c.\1eÚ¸pÒà®­t \1aù6}\90LõZuMÍ\9b       %2\85\90Ë$ÂæMÍLë\81ÞF\95\f\rr8/\89\99fñ[u\1f>}åî3w\9e\ 5D%@Ì      ÷u¾qbÛ\92)\83»hù\18\8f\92M\95´`¦µ\ 6üÇ5\10- |õ2>ÜÇù¦ý®\95³F÷i/mÌÓ\96júØ     \83\8aFÆuL\e\v¤-ÚXvèÔ¹sg«\8e\96m[)¥Âfæ¦uk3ç%\95 BZVJW\0O¤æ\96\ 2èõdOïP;çtÙ.Èt\12è\99Ö©\9b.~\91\89)Ô2Lw\aô\8cg2¢ÚT[ªñ        \f¥\r*V­Y×\8c/meÙ¹G\9fþ\83¬\a£\83dzu³jߦ\85T\80\ e\ e2Fjgw^R1µ¹%\88wë        \8a9/\12£\83Üî\9fÛ§s$SÍ´ð£Á£W\1c½Ãâ\93ߤ¾IN\88ðu¹e¿{Õ¬1}ÛË\10ÕÚÌ;\8aÑ\eE©3U,ºô\1e4l´ÍÄÉ\93'O\9a0nÔ0ë~è\ 4\1d¹¨\99Y}t¸\ 1\8cíRY\9d\1c\84ç\96 \1e\14ÊS\96l?yÓ\ 5)ý2)6Äóá¥\D2µG\83sÖARp\ f\8e}ñ:\15­\85\ e\976/\9a<¤k+\81\96TÓ+\1d«\18×5\17µìÐcàÈñÓfÍ[¸xñâE\væÎ\9a6iì\bë¾Ý;¶U\8a\9b\99Õ«\8d\8f\89\ 2²3uñbª&°õäÅÛNÜ\0GDÙ%þÿì]\ 5xTI\12^nwqw'x\90\84\91\8cáîî\ e\ 1\82\13X\b/®\8b³¸»\ 6\rnACHBÜC\82-{UýÞ\9b\99$\13\99Édz¤ÿûî\ eÈäMÿýWWU÷ë®~éq\99÷dê\r    ©'Í\a­bê\99ÖÉë\8fÞø\ 6\86\86á9Û\87¸©eÎ\18\ 3¤ÖT\9d\10×hÔ¶û\0×qSçü¹xé²¥K\16ý9gúä±#\87ôëÙ©u\93º*iÕ\8aX&*WvR¿#1k~B]\89\9bPo;zõÁ+ïOþ\9f¼_?¼Æy2Cr2í\99\16ôå\92­G.ß÷ô\ e\b #Ûèïàv#\90º\85\9eRóÇO
+\94(_MÕ°mÏA£§Î[ºzýæ­Û·mݼá¯\15\8bçÏ\9cä6Ü¥wç6Mê*ÅX&*\7fî\1c¤VK¢ÇÇ\9fPo=r\ 5I\a@pyì~rç*\ 3s2­\99V\83\ e\90Óc¦÷ÜëSHxxhàÇ×\90ííZ#H­ÇÂ\91ú\88L\15yýÖ=\ 6»ÍX´fË®ý\87\8e\1c=zäÐ\81=\7foY·rñÜiã\\aöîܺQ-\99cE»b\ 5\92(\98ÄM¨q¹¿Ó \89\8b·\1c¾|\1fH\a\ 6ø¾ãÎ5h\ esèçÉHÐ\82\9c^\§u\1f.){üÖ7\b\8f\89|zÿ\[êâ©\97\1c]ó®\ 3ÇÌ\ºaçÁ\13g/^¹zõÊ¥óg\8e\1fÞ·só_ËæO\1fïêÒ³CózXÕ!©2Qü*BEò\8ecÑfBÚ?0ð\93×\8b»\98\93é½IT«\81Ùó\14)\83IÙÐ)K·\81}ã±¥\88\88°@\9f׸]Ô\0©3h\9dpt\1e5mÉ\86ÝGÏ]½uïÁÃ\87\ f<îÞº~éì\89C{¶­[þçôqÃûumÓ¨¦´JYd\9d%1kÍ*\ 2!}è\12\92\ e
+ò÷ö¼¯½Q[oOFÞTcRÖ°£\vÌY\ f\9c¿óÜË?4"2"ä\93\17\94aÝõZ\ eÖÚ\9d×¢ûÐ\89\vÖí>vñæý§/_½yóúÕ\8bg\8f<n_¿xúȾíë\96Ï\9b2zP¯öMk;\11Ö:\8ac\91¹%¿t2~á&$ý1 88\0ô 9ÙP\ 3=\99\90\94iÛ·_pDTdX\90ZêøËÁ)=\9d{MV\90ÛÍ:zÖÊ\1dG.ÜzôòÝ\a\1f??_\1fo¯·\9eÏ\1eÝs¿|æèÞm\7f-\9e9nXß\8eÍ\90\ 2¹³%z¼nÒ!A~äìÜ*u \a\7fiÛ÷0Á¾\83Â#£"Bý9©q9X\9f5Bò
+\8a{b×!d\9b\9aû#O/?hlhHpP\80ßG¯7/\9fxܼ|úð®M+æMruî\ 4¬+\97.
+\96\94p\ 6«½H&\90\ e\f    \rþä¥åÉ\fس\9cȾÏ\11û\8e\8c\8a
+\a©\1f]Ç5B7­5Â\94\r\Ë7Bì_¹\ 3Ï,{}
+\ eÇ\92\13Q\11á¡ÀÛû\9dç\13\ f÷\8b'öo[ýç\94\91ý:5­%±/U8ñãu82\1f\92Ex¿¼{ÁðÙ¥°Ó¨x<ÿí\17\12\11\15\1d\89Rß½xhËÒ©#z¶ªÃ-\1c¥làñ¢ fygn>}\a\ 3&:6...ösLtdxHà'ïw/\1fß½zæÐ\8e¿°NT\87ÆÕ«\95\aKJ¸X\91á\7f\19¹\90Õ\88\ fY\ f\ 4\85A<õyu_ÈÉ\fÚ³\1cß\7f/Ùzø²\87'Ø7V\ 2    ò}óèÆ©=kç\8d\eعIuÇr¤RYJ¬\85©\11æ;C&ã\12½\87§w`xLÜ×o\80¯_âbc`è\ 4úy¿y~ÿƹÃ\7fÿµ`Òð^mêËñÅ\ 2·Ú¬õ,>#\93\93\93\87o|\83Ã#Â\83ýÞ>ºføìR˾e\rQ\99õû!ÿFûÆ\13Æþ\1f^Ü»txÛr\8ª/«Ì5+\85Ú~ü;²rÕjÁ$xæÊ\9d\83å\84FÅ~ýþãß\7f\7füø\8e¼?#mß÷/\1fÞ<\7f\1a¾:VÅ\12\ 5¹wH\9agqFcÇçÞÛ\8e]}\84N62"ôÓû'îÂìÒ\90Ó\17\9c\18$ù7¶\12òo0Ç\98è\b,úâ~fßú\ 5\13\87tkQ[R\11«$¥Ä:\83úm(Ù       \ 5s\98ç^\ 1á1_¾ÿû\13ÀñFÚáÁ0k\7ftóÜ¡m+f\8eî×\ 1\9cF¢wHÐ4\9c\ 4ª_[Bÿ½û\14\82\91%àÃóÛgÓrú\82³oÞ\1eÉ¢è=,\96\10\15\13\13\ 5\ f\87 Í±¿WÍ\1e3 S\13\1cw\ 5sgO¾\98jüÕ\98E\9b\ e]\84Ñ\12\1c\19ûõÇ¿?ÿû\8fç\r´cc"Bü?x>¼qfÿÆE\93¹ø@²¾x¤\855j4\9aU»N¹?}\8f6\b\ 3ï#ïÉú£'Ó?'\13ì[½µzïé\9bO°XB\fH\1dâ÷îé­sÿl^:͵O»\ 6X\80\10Ãir¬ãïn\84éàÕ\87oüB£ã¾!g\ 4OûkÜgô\94/=®\1cß)ÌåJ%\18\9cü\1c\90Û\7fA\16\ 6\9f}\b\0\ 4_q9Ù@\ 3\ fÏq\9b\82q~Y«eÏ\11Ó\96o?
+\93\19\9f \b,\96\10\1eøñÕ\83k'÷¬[0qh\8fVõdUÊ\803K\96µ0¤Eµ`°@08åþä½\7f\18±ná6B¤\8db\7f\8e\84>%ÓöE\93\86tmVÝ\81ߺ\96AÓ0~¶OfC\90-Þ}é͵+ÄïÍëÂá¹*z/\ ejÄÁE\7f²\93î\0Nµü⸪F\10¶.\1dý{õܱ\ 3»¶¨C\92\88dY'ØÜ¸\ f\9eõ!0â3gÝñh\ 3ë\88 ìSܶ\8e[×Ô§(´Û¥µ®\ 3\95OpdLìçèÐOï\1e_?þ·°\9f\8c$¢ú\92æ\17ý¥uÛôùcÖ*Á\95Å|þ\1c\1d\ 1aëÉ­s\a·.\9f9z@çfµ¤\95´YëXàI°\8d\15\87444öÛ\8f\9fñî\9e$¬ãH\81\95[Xç\0'LNÂ;vî±ü^7õ^    \-\82\91\12õ\99\94àÁÂ,»H"jX5\1aÍN:\18\87C&\13WöâC@X4)\81\12àýêáõÓû7-\99>\8a¤NÈ\1a+çþ®\93\ e÷þ\17·L$\1cÒZ¬¿\7fE©_ÞÃ×qÚi\86@Z­E½¶Îø\82ñôMðcaѱ_âbÂ\ 3½\9ei*L\19Tl)Þ\14\ 1\8fj\9dv\7fò\96«`E\fü\85ÇÕ\13{Ö/\9a:Ò¹cÓ\9aÈ\1aë\ 5gÒÉZp¸\\94^µë¤û\93w      \86´\9aõ\8fo±Q!¾¯qpÆ\9b0q\ fåÎfá\fUÙ¸ó Ü1xáî\vo\18)q\10ð"\ 2!fqõ\11ZáÑ~\ 3\8eIªC5¸2²©ìÈe\92EEÇÆÆ\82§\ 4os÷ò±]ë\16BÂØ±i-iå2¸Ô¡{YKp¸ÜJúZ\8cÒ\89\874Ïúßï_bÂpp\9e\106\16ho\91âÖ_ò\93F\81u/\878ðàµoHTì\97¯è\f¼_ð\950Z×ImQ\88\ 4-å;ÕN8ªEòåO8|â>GÃÄãÍ\93Û\17\8fî\»`²Àº¸¦\ ex\82µ\ e²\9f³\84½\fçEø\1eýÞË\8f:\864GúÇ\97\98ð\0¾TTÂ3ÿÚ\87BÛ÷ç"éS0\9ahHg9ÒwÎñå?\f#-Ô\fâ\8ej¹ÎÀ-[8Á\8c\88\81I\ 2\fëÀ\8f¯\1fߺp\ 4ÒäÉ®ÎÜô·D¡¼9³fNÄZ½sWѸËàÉd)\ fÕI<¤\11ÿþøú9þàÔL\8d\85\93ÞÂÉÚ%[¸\9c)âó\97o\90ÙD\1a\83t\ 6ÍQ-\18?\v6ì?w\vKüD\91\ 1\14\15
+ÎìÑÍóÈz\8ak¿NÍëȪ\96\89C\97úE\f¿Gû8$Þ\9f¢u\fi\9et\ 4\90ÖUÇCs°Ö\89;C½\8b\84\94\10Ìá¿\19ż\85¬\f\8fjAÔ\1a5såߤî\vH\1d÷\ 5|%Î<8Ök\17N\1dÕ¿K\8bºr\87ò%\vçK\1cº4~\8c¼üÝ}
+\1c.\9fx'K:¡Òñ«7\f!Gúïp9ü·ïß¿\18Ã\91    Y\19\1eÕªÞ\94¯\10Aª9\11·\ 1¬1MFÖ;×bqè®­ê+«U(U$\7f®\84¡KØ0!NèÇtpæÌ\eÆôÍS»\13\8céx\87å\85â\r\ f03ÁÉ\1a!\9dæ\90õ\8bpT\v\13ðz\9a/!R\7f\15X\83Ö\17\8eîZ¿x:\16\ 2\12ÙÛ\91\80\1d/tñù\18îm\80Ä\11ý\98gR~\8c÷Þþ\©¨øU\93¸\12칸\92\9fÝ\86pe:\9ea\90\8eû\ 6³4Þÿ¥)9á¥ÖT\88\18\12_ê¯_\ 5Ö·.\1eÛ½aÉL·A=Ú6ÂR÷0ý\88\1fº4¯$:\r\9aÈ­ï$éÇ\90ttا·\8f®\1dß±<þ+\1aþ½P\91Ò¤\ eähÐà\18§Ág\10\1aòW.Ò©ÓP;\ 3ÒPNju\84¨ß\8eH}ìê}^êoß8ÖÞ¯\1eß¾t|ïÆe³Æ\réÕ®qMI¢Ð\95!\83Ö±\8b)øò\89ËÇt\ eé\9fÿB\1e
+ÉÉ\83+G¶.\99¬9\89ò\en<ãKiJj·ì1tò¢MX\8f\ 5$ Bcú\1aª=áÐ÷\0K"©5%~pÛÍ;"õ7\8eu¨¿÷ë'w.\9fØ·yÅ\9cñÃúthZ\v׫ã\85.a¿RUU³îæ-Gç\9dD>\86¤!#\8b\föñô¸xpÓ        .\1d\eòû[\7fû\1fw¿@þbe\1dT\8d;\ e ¥Óx¡¿|ÿñ/&rÁ>ÜÔrÂÀN\rÓP\97E]ô\8d\94ø\19EV1ïó\8b[ß¿\7f#Óß\80\8fo\9eÞ½zêÀÖ\95ó&\8eèÛ±Y¢Ð¥Ù:мç\88\19+w\9e\9c÷\8f\7fu  M\9c÷\87çwÎíç\ f¿óûÿ°°9yéÉUª\9a¶tËÁ\vw\9eñBÃ\ü+\86é\97øbGÿê\1f\89¤V\a\89¦]°Èæ>Ü\8c\ 1\19x,F \9côC¼öyûìÞµÓÿl[ýçd×~\9d\13\87.ng\8cz\93Èé\9bϼ\92rÞ¼\1f{¯®Ç+\949øí×ß\88qsïÂ\ 6Oàk\92ùðBï\81ÏÇ\85oRÜ\86[.Òó\15\9e\16iµÔõÚô\199cùö#\97¸ÉV\1cz\ fL      7óy÷üþõ³¸r;uÔ\80®-\13\84®ÿ   §.j·êóÇl\êH:b\81uÇEáØ¼v\8c+ÅP\9dìé\ 5Ò¸E\87\187VW$¯H !^\9cëÆE\17t\7f$c\a\9foØËZ\ri¡<TY¬\ 46püüu{OÝÀyu$d~?\bëX\\15~ÿâ\81û¹Ã;×-\82ÐÕ-AèâÎàãÆ´Öx¾\ 6Âô\vï \\1fÓ\99\99~ô¼w\91¼\8aãΡäF¯¨eܽFLY¼éÀY09l\a· 
+}¥v\7fzW<IBj¡tî´e[qß$éa\94\9a°\8e\ e\ föózù\10\ 2öîõKfh\85.2ëúíW\9e4nñCÒçî$C\9a\84[0SÈ&ùz\16\9b\9dß3\12ÏM\8c{Ðøùkwci.â\Phì«\b\1cÒ\17¸íýê
\ 6\92VW\ 2sP6î4`ìÜ¿àë\1e¾"c\89ØÕ\8fo_q¦ù\89\ 4ìã{t\84.h0\88T\8cÛ×8oÝþsw^&A\1a\18yÞ>"fÊÕ$ »P\7fÏ(xnθ·\1f¹\88¥\9aÉÊ9p\16úê&\ ei\98n\18p\90#\ 1k\8cÕ¹°´(WEv3_E\96_©'k\98¸r«#tq³.¼\ 5\87ËBS$-X7Ùü\a\94\9cÎÏ\9e9\13>"o\91xÆý\18\17¯HÏs\8bLØW×Èî~î­eZª\ 3\92é\æ\1c\½É\ e|Á`.l\11©yÖ|èº"\84®N\18ºÐ\89çÌ\96%s\96¬9¹5[ÜÁº?IóþÉY·?±n²BÖ@\86eʳeÎ\84·3`\85oôÜ\1aãæ¼ØO®¯0¸_âÎÖòC:\r\95:\12Ô\9b\9c¸pÃ~!l¡ÔÜÊ-      ØZ¡k$\86.\85#8ñ|¹²gÍ\96=W~òÂRpd\1f\82"t\91æý\11øîãĺ!`áf\9e¬\993eÎ\ 6O(\87iIÿDÆÍ-¬\85ãû\8dsû¸R±Âj¢ágkâÕ*í;
+«%\ba\8bô3¿^­\1dº\16bèÂYWEtâ9säÌ\8d}\86Ûvg¯I:dq«\82\81Þܪ P{"o\8e¬h*`j$-\191uI\ 2ãæ=Á§·\8fñ\9düÌ\91$¸§iHÿò\8bV½I\98bv\81°µ6^^À½\9cÐ\11ºº·nX]d_ºXÁ¼yrç-HÊ"q;X!9      \bÇ\152\9dn\fëÒ\9eƲ%ýÚa\95\91\82¹³gÍ\925G\9eBĸ»\r\9e\0Æ}\92óÜ\9aN'©ë«û\97!`q{ûÓ^\87F]oRSñý\ 2?Ûúª~\ 3\17?tá¬kp϶\8djH*\95)^¨@þ\ 2\85J\94'+Õ\90\86\9e¸¡{-T\18\9a¯î_9º}Ù4<Î\8a{\8dseË\9a5;XJ9GÞ¸wpEöµ¾ý»:u]OÊ\88Éø\1d\83i"­\1d¶°L2©j¨öe?\7fr½­  ]\97\8eïÙ´lö¸¡½Û7©%­R®dÑÂ\85\8b\96*Oj\9dá\8b¬k\8fÞ~J<ËâÜX\18\ 4\9eÛX\ 3müÀNxî­0$ñà\12ò\15\85  e}bÜ\9b1-\11Ò#òå¼\81àý\19¤B\17÷V$­w>ñÛ:1ñ­Ý¢ûÐI\8b`¶¥öe\1cé\9fñC×I\b]s'\fÇý2²ª\15J\97(^®Bµ\1aøB\9eÛ:@æÓñ\a5±RÎ\8d\9d\80¡9ª\ f\8a% ÔgÏ\8e7\8fØKj·è6\ 4\93ZiÉÏ\ 4Ö½tÊÐnäýWÚK\ 3ª+bãü½\1d\7f\8fC<_¦f­5ëZ5\7f\92«sçæuå\8eöeK\97.k/ÂDv\ 2¿\ 2\1cDVN~Æ#MV|¼_àY£Åäå\9dcYp\839räÌS\10\ 6Gõ&\9d\ 6\8c\99½jÇQ0n/µqs\ 6B|÷\1d®H^Ç\86|éþ´Ö\eâÃV~íºË7\1eiù2î=\94&ty\;spû\9a\ 5SFõï\ 2ó\ fq\95\8a\15*V\16W\87yðXî\8d¼®×w     Ü\18\ 4éJv0YË\99+O\81be«*\1a¶ë;rÚÒÍX$\95äÜü\17kûnµuóÓÊ´\91þE³&çT·uï\11\9aÙ¬Ðá\ 2k\12º|ß½ ;GÖ.\9a6Ú¥[ë\865\9cªU­â(­Ñ\18\93\9b5»u¼¨Õdch¥ÛÐ\8dA
+Z¡DÁ¼¹sç)P\14¢UÝV=\87NZ°~ï©ëXt]0ní,îòaôÝÆ²î_~Q¯¾\16U¯[$ðe\1ck!tù½\7fùÐýüÑ]0ÿ\18\ 3ó\8fƵ\15R±D^«q{\bó+w\1c¿¦ãý\9dz®q\e}0¸±ÆÊªe1Üå-PÔ\ eï\1dé:\boÿ9v\19'\94\9a¾æÝ\1f\9fÅ\91jq¼ï6B5-õl\vSðx¾ì³ µð\82\99\v]\9e¸`¸gãÒYc\87ôj߬^\r¥²z\9d&íû¸Â<\r·â%|SK¬\14_«Ã\cç*°Ò6õ\9c\15-\98?\7fÁ¢v\15Å5\9avê?zæò­\87Îß~ªmÜÚî\ f³8ÌL\ 4ßm\ 4ÒÚk\91Z¾Ì_ðe\1aÖ_qç\b\84®Ç·/\9fØ»yùl\98\7ftjÙ¨^\9d:\r\9awè3\ 2/C¸@6\ fÄj\ fjn\9d\bßÑBþ¼\84\1c\1d\10W,U´PÁBÅì*\8aª7j\ f\ 3z       ÞPðèu<ãæ\f$ðÃ\8b»\17\ e&¬ \96VÎü±\13­\1aòóã¯×üüOÍú;¿Lú\1aæ\1f'÷oY9wâ\88~]Û6oÒ¸iëÎ}GLÁZñdo\111\91DÖM¬t\9cK§Æ*Ç
+vÅ\8b\16-QÚ^¤jض÷ðÉ\vÖí!\17\14ø\87i\e7g àÆNí^3g\8cs;£Ö\8aË\10Ï\97õ"¾\f\v\8bkû2Á\9dñ\v\860ÿ¸
\8fUó'\8fréÙ©]ë6\1dº÷\1f9e\11LXn=M´åD3\93Þ¹zÖ\1fÎí\1a*\1d+\96.UÒ®l%äÜsè\84ùkvB´z\86\97<i\87\f"´÷K\ fþ\ e·\165«á\fÜX\aù\13ù2ÈË\84¥Qµ\81Çsâ0ÿð¸NB×´1C\9c{tíڽϠÑÓ\16oØwÆýÉ»øoð~þ\142\8c+GÉÑÝ6õ\15Õ*\95/W®bUi\8dFm{\ e\19?\17ïm»õä\8d\ f®ºk\8c\e\7
\ 4Ë÷råg\8c{E¡àËJTäò2\9ccº?~£v+\9atò_²t\16\86ó\ f.t-\9e9ÞuP\7fç~\ 3G\8c\9b¹\14F¦û\13\92\88jÜ7?¤q\82uhó\92)Ã{µi \928T®\U$¯Ý¤]¯!ãæ¬Üzð¬û#Ük\8f\vU\1aãæ\85\86\1cO´ëØx\966Òñ|\19\ 4\9fåÛ\ e\93õ²ø\ 6®åÄùÐud×\86es§¸\8d\1c>ÜÕmʼ\15\9a\1e·`­!ÍO\89ï\9c?\80ÛæzµmTK!\95Hå5ê7ïØgèø9ð[g®?ðüàϯØ\bÆ\r1:Ä÷íc÷Ó\I©Æ¸Å\90»æÑ8¤\7fQ¿AÓ\}rò\1a\97*\90`ý_<ÖÜü\ 3B×M\b]\9bW-\9c5eÂø      Sg/^»ãÐyò\9a$\ 1\8f\9d\ 3ÒSFô騼Aí\9a5k×oÚ¦k¿\11\13ç®Ä\8b\18ï¿ðÂ\v̾h\197îE
+àöª.\9bîÚ«u\1dþ\1a\95¼Ôø2\9ccâU<¤r¾fâ\11\8f57ÿ ¡ëÒ\89ýÛ×-_8wö\9cù\8bWoÞs\1cý\91\7fbÒÜVª\ 3\9b\16O\e5 [»\16M\1a7iÞ¦sïA\7fLùsÕVrù$n\96\8e7 É\9bx<k@v%£ËǽvÆ­\b\18ï\92\ 4\\95\84ôÿ²öÄC+×Ð
+]Oî^=}h÷\96\96/_ù׿]\87Î\\87À\13\10\16£\83ô³Ûç\ fnY>kìPçî\9dÚ·ïØµ·Ë\88ñ3\17­Ýq\90\r\93p\86#\18wTè'î\97\96N\15jT\18»ò\8cö%   ¸\8a\81¹°0ñø\96`þ 5ëzæqýüñ\7fvoß²yËöÝ\aO^ºý\98d\18ÚÞ\9b\9fK?¿sñÈ\8e5\7fN\1d3l\80sß¾ý\a»\8e\9d:\7fÅÆ]\87Ï^ç8Gk\ fhθ½=ï\93\9d¤nýãU#1\1ag~i4{^n½¬7ä\94d\11åݧ\90ø¾L+tE\86BèzñàÖ\95³Ç\ f\1dØ¿ÿàÑS\17Ý¢Ïÿ7Á\98þðÒãÊ\89½\e\97Ï\9b\8f\91®£ÆL\986wéÚmû\8e_p\7fðâ\9d/8îø\9cÁ¸¹}Øû7,\9c4´{\v<SR0W\1a\8a\91$ÁZxaZÎQÕ¤\93\10¬_z'6p!t}&¡Ëóñ=÷+çÏ\9c:uæü\95\9b\1eO_Ã/pݤE\9al
+}è~îÐßë\97/\98=}ê´\19³\17,ûkËîç¯à\ 5º¾Aaø\86Xàüó\87`Üw°*Ç\8cQ}Û5à\ f\ 2\18»Â\90úFvþÕ¸\10¬}ÔK\93ñYóó\8fO\1fÞ<\7ftïÖ\8dk׮߼óàé+/µGÒ
+Y\90\9cà\8e¼+§þù{Ó\9a\15K\97,]¾zýV\18\r\17o@/}ðCÛÖ\9eÑ}\17\8c\ek¥Í\e7°KSrmkzÜ\ 2¯3X'\98\ f]À:"$Àçýë\17O\1e=¸ÿàÑÓ\17o¼ÀRA5í\8c\86¤V¡¸sçÖ¥S\87öîØºyÓ\96m;÷\1d>yáúÝG/ß~ô\ f\89\108kÒ\12ðÜĸ7.\9e2\1c/0ÅB\r©;&¦/k­\89\a\17¬w\9dÀ\99u@x"\ 3×\9a\7f\84\ 5}òñzûÚó¥ç«7ï?ú\ 5\86F\82ÐÚ     \rz% áË\rÿ\13G\ eþóÏÁ#'Î^º~çáó7\1fÈ/Ä~\158ÿG\1e\vi   oÜ+fþ\81G\1f°ÐNúÔ\87\8b\17¬[õ\1c>y1̬ݵ×Þu°Æ3)Aþ¾\1f½?x{ûø\ 5\ 4\87Ebè\89\84\94,
+g)/\1eÝu¿rñü¹ó\17._»uïÑó×^>\ 1!áQ\9f¹_P/ÒpiÉKÞ¸\aumV\13\17Zrë[\91#õ¬¹\89\a\ 4ë\86Üm¯Z\ 6\1e\7f±OíÄÉ        ¤à À\80\80À àÐ\88(Ü©ó#^:\83c\14\17S?¾ó|úÐãÎí[·ïz<|úò\8d\97\8f\11î|\108ÿ§NK8ã^Ä\e·\9d\8e\93kFcý?þøw\ 5QÍf]\a\8dç.âóä<x\82a-¸³¯q±1Ñ\91\11áaaá\11\91Q1 Û·ïñ³\19b°8ú}?¼}õòù³gÏ^x¾yïí\8bf\11­þüO¡\87´<7\18·31n|í\95)áqTc\91F©ÉË-2³\1e>eñFÎ\83ä/\91\81«\ fgàÁ«Ï1ÑÑ11\9fcã¾\80Î\89\=çóÈ0øàõþ½×\87\8f¾þ\81!\1aÊ\9aÙ«0¹\12<÷ .ñ\8c;=H\13_\86\8ar\e@ÀÀ·\1d\ fjMï\13°FÚÀûK\\Ü\97/_\ 5\ e\89s\19\18\ 6á¡Á\81\ 1þþþ0\10BÂ"ÔV¡ù8/4΢ob¦n\ 2ãþE+Xó\ 6\8e\1eüø\15\ f̧£\13Å-\rí\1fß¿ã\19\95ô#!g\815ø¼\98¨Èp\18\ 6aáxøôsì\97D=\84\v\ e|úvùè\8e\95³Fó\9e;\1d\8d\9bgÍï{A\ 3\a\ f¾hþӠ  \96ì\12²þIÞß\13à\9f~&ü\f7
+¾ã±ËÏ10\f¢c>sã ±Q\bË%0\8bÞ·\1e\vH5Owã&¬5Û÷\94\8dÚ;C\8a¢µ8«\8bõ\7f?yüû¯ð'\1d\9fÀQ\0j\93\ 5\86\ 1X\85.\9b\10ÖÅî]:²mùô\91}ÚÔ\93U\ 6ãÎ\9e\8eÆMHÇ3ð.\ 3Ç
+ËðºãV\ 2âº\7f*\9c>\ 4ÞÀü;\19\ 4\1cã\84.BóþgïºùãÉÙÞtõÜZ¬Õ\ 6^§U\ fî\85\v¾M\fÐ,aé\ fa\14¨¡Ó"H\9a\1eôÑ\13_c'*ÿ\97\9e¤\ 5\ 3Ç\14EÑ ]\1fòj\r7E$\11·ôâý3Y\93Ð~ÿ³a\ 1
+­r(\93\86B\8fú\90æ\r\9cäàä%*n\7f¹£µ,m\18éTt\v¿ËYýþ§®\94?d\9dþ\17àðE§0\aÇ×åd/\by\ 1\91TÜ2\16gÍ^3|ÿCΠ\96\15ÖÅÒ\9b´ÚÀa\92)«O¶´m$¯\9a|\82ÂÓdà)\92æ7üÞ>Ëí\9fâßR\9a¦"s\ 6\f·À\90Älù¶C\17n?}ǽÉLÂ\83\e\854Ùð{ã\84°\7fÊho)SÇú7\9cdâN>\8c[ãæ­Ù)$f:S\14ã\90ÖÚð»4þþ)S\90&\9b\89\9eÃ01;ãþ\88[;J'©!J\93!­µá·\92Iolã+%bbF¦ÖüÚÑs~!?]\1c8ÿþGS¼¦®©ïæÓNÌj4\13^ôð\e£ÓÇ\81«OÝÞP\17Á5õÕªBÜ\12f\1eümØï\85ý éAZû,Òдîá7\904\99Zó/zøÛ°\1f¾æ\8e\ 2¦\viî,\12\7f\84Ißûi\8dÇZØLX«E÷axoî\85;Ï?$y~4í¤ÉÁ\85\17ê#L\92
+ÅÓ¸á×@Öä6ì*ò\86ܽ¹§°¸\13÷NÒè¬Õ~ì&\7fÒØ\80bõÆaÍß\86-ªÅÝ\9b\8be\ 44åj\8cNZðc\ 6_K`\1cÒü\1e\8c\0W|\12ìûszØ7\90Np¦Rÿ\v(\8cÄ\9a\93\1aË\b\bÅËÞ%y\12>\8d¤1\1f\vöy\ 5³\rÞ\8fÙÓ¹ë^]F@(Îwô\8aÎ½ÍÆ!­>S\897ªóG1MìÇ8ÖZÅù°"øA<\15\1e\94Ä©ð´q&\9b\90ø3\95\ 6^ºa,Òñ+\82k\9fÿ72ëøçèñ@¼^w\8b\e\975w[\19_±f5W",="µ¶\1f[F¦X&ÏÇ´Is\15\ 4«óÇÂñ\94FRÇÂÓD\9a?\eî\91¦²cÆb­U½e\12_½EWA¦´rVçcç÷ó~,\rgÃÓN\9a¿Ù¨AG¬_z\10k\84%Uê!-¤Õ\aI1\1fÓø1ÃÎ\86§\994\7fß\8d¤^»~cç¯Çjpéá¾ÉR\11\1e׸nø5QÆ$Íß ËÝ»HÎ\85\aê:N\99FÒd©\88«\89ºDs\90\94Ò=àñ.\ 4\99µ\86\94=\bHªf\8dá\9cù­Â\\1doÍÅâ&\9dW& \9d[sï"Wàâó×ïF\rÔüIã÷Où!Ý&Q\ 1\82»w\91\942\19>\rïÆH¦\94\89Á\9c\85w\e\ f¯\1dÛ±|Úp\18Ò\8eF:\8cd\18\12]\13\91\ e\81ZónCS%\82â\90Ö\94'Rh\8a\12û\85\1ay\9e\15ïl\v®\9aÔ\97VLëÙð4\92\16® ì4\90Ôd2~v¢»JD¼Bª¦&\9d°¤¼ñ³\13þxµ¦J\84QO`\19L\9a»\8d¯?ÞÆ\a\93K\9f`c\93\16ÞK«ßÜÙ\9bôÝF\12¤I\91Ì~n|J\86\a\v\8dGZÛºµßÜ\99ðÝFbÒ¿©«Ö$_ËÄ`ÒÚ5P\96¨k P´nõm|¤>Ñ\9c\13\19LZ\87u\eéôlZHkW¢J®v¢A\9cùúU¼ï\1eÙ\8b¾uk%ß-1ùÞsúÖ3#\93æOÝzÞ»t\88\14\ f oÝ¿èShÍ Î\9a\83[x¹¶\e©ZC×w«K \ 3é\16¸JÆ\15p1&é\7fÕÕ \8fíX1ݵ'f&\94­[=Í\ 2Ò=]ñö\0¡j\8dqHó%.ÈÙð\7f6-\84¼\e¦Ò´­;ÝI\vÅ·\1e»ãÙðÑÎmë\91¼\9bªu§³y«\v¼{z`\ 1\97©Ãº7¯Y­,\9fwÓ&\9d^\8e,~)ÿù¤\80\8b\86§\85\84,Nh<Gÿ\0Ý\18\16*«cä³á\ 6\93N·äD-ô³ÛxWî\84AXâ¢\8c\86\eL:\9dÒPþ@|°Ïë\87×ðªÜ?ú\82\e3b\89\8b´\90N·     \87 ´×ó;Â=,5ÈUçésîL\1fÒÂEïF\9fZj\vM.Êu&×_\17Ìmº­\91É\92N\97E\ 4-¡¹\e5¹Û¯ó\19ûl¸\81¤Óe¹H\10Ú\97Ü\9dºz\ eÞ\88,«Ì_iOUhþ¦\rþ*ÕE[\8c¸0È\9d·%\95\ 3ø«Sµï¾¦ÉYë¦àÎxÓÆQã-\ 1k       ­usªþ\17Ú§\ f\97®\8a²iסS\8d¹Ø/\1c·óz~\17oÓ4à:äôÃÿ~ÍÄ]yÞ\9c»ò\1c«d\1aeÿ\ 5·4\16âû\ 6/Ó4ä6äô\83f¾¡¾\97ÎË(/ð°Þ\ 39Wù\ 2ïÒ\¢¹!×\f\84V¿\9f&\95oÿÚ\93\±vý\85&\ 5én\9cÂ[Sûwhh.BÇ_ö\9e\97Lag½\85V\9f«¼xxËÒ©X5Ö\\84\16^ea\98\1e0~ÁÆ\83\17In\92öí\17\a9²xpzÏÚyn\ 3ð&d3\11ZkwQgr\19ßådî\86Ò\8f4Y<ðÆÅ\83m˦\8dèÙ²¶8õw^§3gõ\1dwüµ\95\µß4;oõ\ 1Ú§7Ï\90Ê\83\1d\ei]yM\97³z6\8dÎÛ\95»ãÎ(;\ 6\85©\ 6©\ 3½b:.\1eH*\14/`\16Bkî\86"\97\8a®Ý\9bÌ\1dwz
\17B½}îÀ\86\ 5\13\ 6u&\8b\ayÍBhõ\1dwü¥¢ÿ\0Î6²øu \85\ 3´üâ\ 1mÒZwÜñ~ì¾Qö{\våìÕu \9bVwà×@Í@h>\1f\81wÜñûaÓîÇ\12×\81®oÊ\ 3´)\92þ=sö|\>6j6n\9d\8e;}\84Ö\94³'u [ð\8b\af!´:5©ß¾?ÞJ\8eù\98\98¦Zù\ 1¬\ 3\80åì\85Ånú¤ùÓ\f\aM\¼\99,\9b\18!\1f\8b_­ü\ f,go\ 6\8bÝ\1aÒäí\86Ö\90Núº7=8\v;ÚãÕâ§ý*GMZ}õ7¹\\84\fi#¤&ü%i¸£\1d·¿º\18­\16¿Q8s\97#\97Ô\ým¼!Í]\92vz7¿ýU¸\19Î\1cHk®þ\1e2y       Fiã\f\90Ê#3Ùþ\1a\9f´põw­\96=]g¬Ä\1dÀºî\16Ñ\9f4\7fØ\ ew´/\9e4\98\\92Fsûk<ÎĺóãÕßíú\8d\99»vï\99[ϼ\8cq\92X]ü\80\fiÜdB¶¿\9a\87\eã­\9b\vX\8b6\1d¼È]-b\84Ù\ 6wc\8ePü@ØÑn\ eB\vÖíX³E\ f\fXÇð~R#%Þd\e¿æöí²\86_`hdÒ\9cu\17¯(­«}±½QæÒÂí³;øÛgKc:fN¾»²¢Q§\81ÜÅöxÝD\9a\ 3\16\7f\1c\89?)=yH\97&
+áöYÚ\945Ö]\8d³nábû´×\ 6À2\17¸q\f\9c7\9e]èÔ\88ÖIi\1d¤¹Ì\ 4}·q­\9b'íóÊãâÁ\8d\vÈq¤\8a\9b\89\1fã¦Ò\90\99 ï^¸\89\82éXÚI\93;*>rÇÃI\99\vsqÞ\19ø¼»\9c\b2\93\11ÓW ï6\8euóµ=>¼¸}vßÚ¹\18±¨\1d\ fOD\9a\9bUBÞ]¿}?7ÌL\8ceÝÿqÓ\r¯g·NïY\83×\13תf&\11+C\86ÿý\9e){\9eÂ¥«ª\9av\1d2        ¦Ò\90\99\10ßm\84!ýC¸$\9e?\13oð%ñÆ&Í\aéòâÚ­{\8f\9c¹rç\89ë\8f\84Ì$íï60L¿åÂô°nÍT\ 6_\12otÒ¿eÊ\9a»`©Êò\86\1d\a\8c\9b¿~ÿÙÛÆÉ»ã\17\ 2X\ 2aº±¹\84iM
+Z£y÷aS°\96Í}cÕ²áôæ\92xînyj\aÏ4¤q½\9b\ 4éºmûâ\9a  V-úd\9cªEBĺw\ 1æXêKâé\9d¶Ssæ\83ti\12¤',ÜøÏù;/>\ 4\1a§~\8f0ÇRG¬´\\12oLÒÿÃò&ê \8d\13,HAÉ\9a\891\864©FõôæéÝ«Õ\11Ë\f\96M\84 ]IÖ }\7f·yB\90\8eþò-í\85ö\84*.ZÕ¨J\9bCÄâÜ\18.ýVç®c5^\90VϱÞ>ºzl;©â\82Õ\ fè\9eÍáHóAº\82¸\ e\ 6éUF\fÒ|)A¬\ eJ\16È\ 6u&U\rÑ\9fc\91 Í\95iê0`ìüõûÎ\1aiqL Í\95®9¸iáx\97\8e\r bå7\83\88Åm?(Ì[÷\92-\87/yx~4Æò\ 1!ÍE,Ï{\17þáV\ 5i\96®Ñâ¬5Áêå:c\ 5¹\8c\15&XÆðÝ<é ~b9\96RýD\1d¤ÕK¿\90\99ð×îò\17Û\19\854)¶\86E#×\vE#ÍAi\1d\ 1KMÚ\bÛ`¹2.êJ\99hÞô\17½¹ÉF!a²±n\1fG\9a\95\16Öü%\ eä\ 2î\ fDi<,Í­ôS\ fYZË \1d]\80ôÞÓÜUJx%Ô\8fÄ×l¤ÌSsi\ 5^Øñ-\8eìwÆ{\99ç\8fS߯Lû}<O\1a\95îÐßmÎ\9a]Ü幡\91\9f¿|ý®ë*\89\94xªï&Á\e)Èåy\9fÞ?»uvÿú?ɦ9²±\9d\9c` }æ\ eæÒ\95dõù\vÒ.Ü~òæc@(\7fÍÓ\ fÍ5#º\90\88'\7f\aÍW¼zäK\lLTX\90Ï\9b'7ÏìÃ\e¸;7áî14MaþäIgÍ\ 5óJI\9dV=\86MZ¸~Ï\89+w\9f¾ùè\1f\12\1e\15ÃÝ\88óã_]ø¡\9b'Þ5\14\e\eûù3¹d\ 6/\15ûäåùàú©½ëÿ\9c0¨KSî~\11nó/Õ#¥X"µ\18Þ
+×yÀ\98YË·\1c8}õî\93×\1fü\ 2      í8rK\f¹6E (°D\9a\89yFGEEFFDà\9dZ¡¡!Aþ¾\1f^?½{ùøîµ\7fr·çà¥~&¸`$\ 5Ò¿
+\17\0ÖoÓsè\84y«¶\1d8uùö£\17o½ýð\96«(r/\16Þ\13õUà\88$    MÝ<C\82\83\83ðî4ÿO\9fü|?z½õ|êqãÜá\1d«ç\8d\1fÔ­y-qÅ\92\ 5s§Ë­~ú\91\86IVî\82%+\88j4éÐwĤù«¶ì;~áÆ½Ç/ß~ðõÇ»®"£ðJ0\82\98\18\9e\ 4\9eá:xúú|üè\8d×\83½{ûæµçó'\ fïÞ¸p|ï¦å³Ü\ 6vm^Kb\8fW\19RÞÜ\8e·\14`½þ¢e*;ÕiÞÉyĤ¹Ë7î:tê\92»Çã\17x£¡\7f`pH(^{E\10Æ\91\ 4\96HS'ÏW\9e\9e/_<\7föôÉãG\ fïß»sóú¥³Çöm[³`ê¨~\9d\9aÖ\ 4ÒÜ-`TÏÆó\97Â\15,QÎA^·y§¾ÃÇÍ\ü×Ö½GN_v¿ûð\99ç\9b÷\1f>úú}ò\ f ðG\8e\87ÐÔÅóÁ}\8f{wïܺé~ãúµ+\97/\9e?sòè?»¶¬Y4sÜÐÞí\e×\10U4\ 3Ò¿ðW3ä-\²¼\83¼N³\ e½\ 6\8d\9e2oÙºm{\8f\9cºxíÖ½\87O\9f{¾~óîý{/\0P\ 4\8eo^¿~ÅÑÔÉóÒÅ\vçÏ\9e9}êÄñcG\ e\1f<°w×\8eÍkW,\989~D¿®­ê+\1dË\97,$\90¦+õï\99³åÊ\87¬\9dj5nÓ­ßð±Óæ/_·mÏÁãg.^u¿}ïþÃÇO\9e>}öôéÓ'\84#\90ô¸\a4oëäyèà\81ýûöìÞõ÷\8em[7oÚ°vÍ\8a%\7fÎ\9eâ6¼\7f÷¶Mj9U)[¼`\1es ý+\188a]®\8a¤zýæ\1dzº¸\8e\9b>\7fÙ_\9bÿÞ{èØ©³\17._½~Ãý&Àý\ 6
+$\81å\85óçtòܲiã\86ukÿZ½jÅò¥K\16-üsÞì\19S'¸¹\ eêÛ­]Óº\8ajö¥\8b\16È\9d\9d¶ys5Ü3f\ 1Ö\85\8a\97±w\94×jÔªSï\81®ã¦Í]´ríæí»öýsøèñ\13'O\ 1N\9e\ 4\8eG\91äÁ\7f\80æ^Ý<\17Ì\9f7wö¬\19Ó§N\994qü8·?F\ e\1f< O÷\8e­\9aÔU\8a+\97+Q8_®l\99Á{S&MXgÎ\963O\81¢¥ÊU\11+ë4iݹ·Ëð1\93fÌ[´lõÚ\8d[¶íø{ç®Ý»víÜù÷\8eí@r3°\\ f4×èâ9aÜX·Ñ\7f\8ct\1d>lÈàA.\ 3úõíÝ£k§v-\9bÔ¯)\17U._ªh\81<9²RNN\ 4Ö`áYsä\ 6±KW¨*QÕmÒºSÏ~\83]Ý&N\9d5wÁ¢¥ËW¬ZµzõªU+W,_¶dñ¢\85\v\17ü      4ç$Á³¿sß>½zvïÖµs§\8eíÛµiÕ¢i£úujÈ%\ eöeK\15-\987'
+M\9b4Ïú÷LYPì"%ÊTt\90ªê4jÙ¾K¯~\83\86\8d\1a3nâ\94©ÓgÌ\ 4Ì\98>mê\94É@rü¸±cÝÆü1*       \9emÛ´jÙ¢YÓ&\8d\e6¨_·N­\9aÕ\152Iµªöåì\8a\17)\907gö,\99~§O\9a°æÄÎ\9e+o\81"%ËÚ;H\14µê7mÕ®s÷ÞÎ\ 3\ 6\r\196ÂÕuäHW×\11Ã\87\r\ 5\92\ 3\81e? Ù[7ÏzH´Fu\95R.s\92JÄÕ\1c«V©T±\\99\8b\14Ì\97'g¶,\998¡i¿Ã\13ÄF\eÏ\95·`Ñ\92e*V\119©jÕoܬUÛ\ e\9dºvëѳg¯^={ö\0\8e]\80d\87öH³u\92<EÕ\1c\1dªV©\ɾb\85
+åË\95)mW²D±"\85
+äË\93+\aÏ\99ºÐ\ 2kÞÆah\17,R¢t9ûª"©¢z­º\r\1a5iÚ¼E\8b\96-[´h\8e\1c\e5l\0,\81fmÝ<+\ 2ϲeJ\97¶+U²D\89âÅ\8a\15-R¸PÁ\ 2ùóæÉ\953{¶,\993þÎq6\ 3Ò\1a\eGÚ`ä\85\8b\95,]®be\87j\12'¹RU½FÍ\9a5k\0E\95R\ 1$\9d¤@3Y\9e@\14\98\16È\9f?_¾¼yòäÎ\953g\8eìÙ²\ 2e³âü\v\846\8cí<ù
+\16.Z¢Térå+Vª\¥ª\83#À¡*päHV(_¾\2<  Ñ\H5GöìÙ²\ 1Ý,\993gBÆ¿ýjV\9c\7fÑ¢\9d9+È\9d'_\ 1 ^¬DÉRv¥K\97\ 1\94.m\a\1c\91dq¤\99\f\9a5+0\ 5ª\993e\ 2\19\7fÿ\9d\10\ 6ÆHÙ\8c8\13Ö\84öï(w¶\1c9såÉ\9b/\7f\81\82\85
\0\8e\84$°äh&É\93'\8aT\7f#l\91.Gؼ(#2ðc\eyg\ 6âÙsäÌ\99+wî<\88Ü<G ÉÓL\81'ÏTMÖ\1c       sài#o \ e̳dÍ\9a\8dCV\8e#\92äh¦\8e§ÙR\8d\a\8e7\10ç\98\ 3\ 4\86\ 2I\8ee²<-\81h\ 2píþ\1fG\1dÉk(jHZ\ 1ÏÄ\10¸$ÅÑZxê\82\rPd```````````ø¥|ùF®\ 3\1a:»9çèÚ4GùzÍd}àïí\9dǸ¹\8cÎÑ:Gù>Õê\8dvk8¤¿Û\90\91®Î£'ÚU\87\7f\12ÛUkïâ<ÜÎ\9eû\98\1d|®Íè!\83\86¸Â?vèï<Ü¥\92]Uø\\røo\8e\9faï rT*\95b©ÈNä("Ðþ\ 3ÿ#¹\å(\13K\14\9dLY      \7fMä(\91©¤Re%»j\1dÜF\ fq\1ddg_oÀÈ~.mú\ruéïÖÊ\19þm\ 2÷íÕº¶jÙ©YC»êvö\83\9c$bI\1fI\9fJv5àãÍÄ¢>Рø\19ÿAí¦ÙUk=Ò­½Kÿ\91£\a¸\f\8fíG\90ïì)\10\92¨äªª"ü\8fæ¯\ 2\reU\99\12   \10&*©SÏJZ4ÜF;»\8e\198rô\b¾óìì;tnÒ§\9e\eü¸ßX7\97\8cx?Òú\aìh\91\9dØNDþÓub\ eò\7f\ 3rÈíì+Ùuí\ 2?\16ÙÕs\81ÿ\e\9bð\8fmÈÿâoJ¸ß,ßGª\949*\94
+'\85D*\13Éåb;¥£R.wR\88\9cd\12\91X¡TÙ\8dÀO)Ä\8e"'\89\fÄ\11+äN\12;±ÔQì$UÈ$r¥\93B®r²\93*%\8er©ÒIé$\15©TJ\89\9dTä(U\8a\9cà#\12\89Xì¤\82O\88\1c\15b\99R.SÈ\15*\99\9d\13<R"\96Ê\95*©\&w\92Û5 Í\918ª$J¹T$\92ÉÄr\99\9dLî(u\92É\9c\14NR¹J¬\84/RI\1dUb\95\,Q\8aU
+\95ØN®t\94)er¹R¤\84§Ká\9bU
+G\99\93D$\12+e\12)|³Rê\88?\80\1f\8bÄ"©\84û&'\91ÔQ"r\12!#ü*;\95ÜQ®\94ªÄ2\95JªP($vN" >G¥\94\8báû%@Z¤p\ 4uUr\89D&\ 2»\84O(\1cE
+\89\12zL$\96*ävb     \90\129\89\15NÐ;"\19ÿMb'G\89\12»M\ e\7f\94+¡óD@R\ 5ý\0\8f\81ö9\89U\8eØuð_x<p\84^qTªÄ"ø¼Dâ¤PØ9I$\8e\17'±R$\97Jevb'\85£Dª\ 4}\14ÐLh
+ù"\89Ü\11ºD\ 6¬T\12h\83\9dX.v\94\8a\95\ 4úD\ 1\1c¡Q\8e2\18tR\15ü*È`'V\80åÊð¡Jh¢\fT\91\80=@g«Ä
+\95
+\ 5\10Cï9)Tð\11\85Ä    9rß\ 4]ê$\15«Äb9t\15|\93Jéè$\ 3zJ\11Ø\8a\82ãä$\ 6Yä`HÐ\1e;\90ÚQ\ 4\86 \93Á\9f\94\84Â\11\ 5\83þ\93ITb©\9dD¢pT©D 
\96ÉU|çA\8fJ\15"\91Déä¤\92Èì$Rø5¥L!\ 3êÐ\912Ò7@I\ 1?w\92©\9cÄv\12\99\ 2F#~¹J¥\92\17I\80£\18Ý\ 2<E¬°\93\0\83Ï\0A\ 4\95@\10¥B%EeàSN@\¤RH\15à\9d@\11P[é\bÃ\ 4¬]\85½\8e\82_\81¾\84\9f\88á[ìЦ %ÀP¦\94À\17À'$\8eR©\\ 4Ï\13\89Tb'ÎÆÁ>%\12¹H.\93*@2|\ eè\ 6²¨T`!8\ 6¥Ø\9b ­T\ 4\8f\11Ëåð  \90I$\ 5\83\80þ\13\ 3rGø\12P        \18\81\10ÐX\95£\18\r^)\85!§Tð_\84ò«äJ\99T\ 4ã\1cxCkÀÔ\15`ÈÐí8$\95Ð\97"'¹J&\85\87\8bI{%JÐ\v\8c\ e~IAF\eÈ\ 3\9d©T\88±«$NN`c\12\ 5¾äSà3¸±\84\12(À¦Á"\80\ 5\88ää(\17ɤÀ\f\98\8aUd¤ÈЬdN`\8cb4\a \88£\1a,B\ 1N\1e>!\aÎrx2ô$\f\ 4\ 3\ 4ML\fý«\14óß\ 4f\ 5ÃX\ e¶*\83\1f\81\ 1+\1dE*\11Ø\9fT\ 5#\ fÔ\86O(ñó0\8c¡\83aÔ*Á\82 \13@\a\ 5\9a\10|B\8cÃX$\81¯\91 l \94£T¢\92*áë\80¨ \92\14\1d\1aH\ f\82\aCw;Êaì\83=KAtè<\95£H  2\82\87\80?SÊT\12ð[0\8eÅ \91\ 2~\ e¿\0\96æ\ 4ß\ 3#   :\ 5\14\94\8bÁ\98DrA#\85\fXª \8få08¥bò)h\ 3è¬\94\88`ÔÙ\81_\ 6ß\vÿ\ 4âBOHí A\8eÀ\1e<¯J&G]Á\87\82&0ð±óáC¤©¨ª\13ÄN9|\8aÿ&\10I\ 1#\1d\fT\ 16\84¬ÁxÀ\80åè¦Ak\ 5¸7èOâìàqз2èl\1cx"t\17øErG±X\ 5.E
+\ 3M\89ÎA\ 6¦\fö\0Ö\ 3ÆÌi$\ 5sVÀ·ÀW\83W\ 4\9eb\95È\11\ 4BO\0}\ 3\8eT
+CK"Á.\17áHç½\a\15ÄP\99\14\9c<t\82\14\87\198TÌ\aÄJ\14\15\8c\\ 4®B*Ä
\18B\17\88WNNÀH\ 1£B!\ 6³RÁ\18Å\8e\ 1g\ 6Q\r\86,\8c|')*\r#\0\\eÄ6041~\ 2Æ4¸%ÔU,\ 2_\fbÃ'TÐQ¤¿ù/\82\ 2C\86¡\ 1v\v\9f\ 1o,A£\83¡'CS\0\9f\84Ã×  ¢¾\14º\ fâ\0\8eh)\fH\18Qà à{`Ø\80-)adÈäð\ fb)H¤\82nvÂá âmN$sT)\950\8eÀ\82À\8f\82\90"Gü
+ð¿bèdð\fà\ eáOÐ\14\94_\89m\91\81\15\ 6\13uRBÜ\856:Â\bFÿ/Ac\ 1\a\ f\86\ eñR*'Á\a¿G¢À(ë\ 4\11R
+ÆIÂ\80Ò\11c±X\8c®J\ 5Î\ f~\r\83 8\1e°\e\1cEàKÀ\ f`l\861\rö.\ 1ó\ 15Å86Dh¸\90.\80YB
+\ 4ñ\aò\ 4\8e\11º6\18Ó0ú@_ø\16\18÷\10\f%0.\94à\1e\94è\94ÀsÁØ\14\97Ð\94 \f@@\87$B&Å`\a\9d\89Î\ fF#H\r©\ 4:\ 2ôÌHO%\ac\16â¹\ 4\84\83\11\83ß\rÝ      í\93Áx\84G\80'\83ñÊ9Yb\ 50HÁ\ f\81\7fÁQ\83\ e\17ò\ f\85TF<\e89pI2H,\88»\ 4³\85F\91qå$\10âú\eÜ\v¨\v~\12>\ 5Ã\1c\82#8-Lg¥¤ýb\1c\86J\90S\ 6&%Q {\81Ð"Ã(&Æ\10¦Â\a\83'\ 4\93\87\8c\898fø\røRÈ*À\9aùorÂ\ eF\13\11\81õñý\0z ý*¤\12ü&\1c\0\12\15\8a\82Ñ\19¾Iå\bÝ\ fý-\ 1ï\ 1ß,\ 1\94ÃOÁ Á_\92È\aÞJ\89\81\ 5¾\8csAè¬!m\10A\8a¤rRÀèÃ\0
+\9e\ 3¬\17â\9a\ 4Ã\ f\18«\12|\86\92´\ 5½7t6x6\18\9a =t/|\13DO\8cÜ \bdK\l\94B^\ 5\ 1J\85#\8f|\11æ9r2®\89\a$_\ 4c\11]\ e0\15q_\ 4¡
\ 5|\1a\84bø"\bH2t»@\19Ü\1f\89,`\19\15\11\8c\10èAG|$Ú \ 6j¾ë0jÁp\86Q\ 1^\rz\1c¾\19º\ 5º\14\\99
+\199A´\81æ\81³Q\01tA\10ËÁ$ \83ÁÞe\12\12
+UrL\84\81ú0v±m0àÀr\815oßÈ\0ò\12\12zq<\12s\80,X\86n\16Ã\98\1c\f^\8eîZ\ 1Ò©0\8e@($é\14>J\8eª\89!U\82\ 1\ fãK\86\8dÃ1\8d£\17b     ú\1cÞ¾A[)\98\92\f~\11í
+<\b\18ÇÐ9£A+¡-\90\@Ú\83A\18\9e\ 3¬åèû0-#ý­Â\94K\826#C\11¸\8cÖ     ·!ÁS1çå¼\10øo°8\88¦0\1cÀ\7f\83uÂïCW\81k\90Bn\ 2Ï\81±¯Âè\b1\16¨B\9a\0\99\e\ 4>èV ­\ 2Ý\94N\90<AþªÄ¼\1d"\90X\ 6ÒCê\ 2I\f\98\94\82Ë\eÐ\9bAWÂØ\ 1÷\8b\99\10t\ 4ô\ 1¨\ fÁ\ 1º\19\84\ f
+)ÀgÂÐ\85\16ÃÜ
\ 5F,dÃ2ÈOuO`àK\15\18|\81*?¯Hi\9aÓ\12>U¿\1f\99 qÿ©?\98Ì~í;¹º:\8f\80ùß ÑÎ\ 3\86\rendstream\rendobj\r1157 0 obj\r<</Length 65536>>stream\r
+¸¸º\81³¬dç\0^\0Æ\ fDeH¶!     \0\17
+© ô\8e\18g\1c*ÌKÉ\14\17~\ 4¼\80\11\18\9eT\89s]       &cNè'Á\rr\938\a1&
+N\90\80\83ÎQÂT\18| 8Uè/ðü`#btL\8eØ\95\10|D\18aìê\ f\82ö\81\9bVáÐÁ¹\8f\ 2³j|\1e¸j\15Ft\18ÌèíÄv\ e\10\1e@x\b
+*t\988i\82HãD\1a\ 5Î\ e4²«\8fÓ¼\81\84~ýúºgñZsìQÎn\83áirÝsl\85]µfÐOdÞÚa°ó(\97\8e\13G¹¤júm¼þ!\8b\16Ü
+\ 1<×ξA½fMx\ 1;â¼[{ñ \ 6¿¬Ð§^3\15\12éà6q¸K\1fMKµæÝÜü\19&Ûº\8cEb\cáÈ\vÿKäæÅÑÌô\93Zp\11\8a\1e\çz\vÿ#\aðHð\8f¸Vaç å\97)0\ eÉÅú¯¸8¥b¹EÇßÕ\v*|«DÂr\8að7u#«:HùÖ\91\96J\8dº\9c",\8b\88\84e\11~I%5]mòµ­4ö4Å¥+è¾ÑÎ|sê5³«7Öm¤\1d·¬8d\92\8bæ+\12\8dÉ6ýƸ\8c\1eç2 O\v\97\89\ f\8d1Ær^
+?îZ\8b­¥±µ4¶\96ÆÖÒØZ\1a[Kckil-\8d­¥±µ4¶\96ÆÖÒØZ\1a[K3öZZ\1fy\12[V\92YNã\17/Ìg\15(I\12FÚwc\19ËD*õߺV!«\8fð,²qª\85ËÄxýÖ¾Qcì:øK³\86}¤\×ágù\1f©?^Cû3ü?T©×¬\ f|¶ñ\90án.£ãµ<\15\8b\99\16\91gØa[¸/°k4p \v~\87º3e       ¾¯\99ë\187g×þð]ÎnÎ} ­­\9cG%ñeI\93o4Á¥ÿXü¬®.Hø\8dÈPý\vñ¿_K4p;õ\á\81à\14\89(d\15gl\ eÍÊ**\89\80¨Kuî\8fõ]\ 6\rqå÷Å\81\94ð\99&9ª5t\197¤¿Kû&õíº¶ÎÑCýë\ eàO0\80C\ 2¢B\1f\86.\1d³!\98ð+HB$·ë\85\11\102[)\9aË`}\7f\17?*ü¾ðÿ0%²Ã       \ey\12LÔðC9Ê\97'íFþÕ1gSÈÄ9º6ËjpÝB\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 6\ 65R¬_N»\81\f\fÆAZªøÓn;\ 3\83~H\8bµ3ûg°,\18×Ú\99Ù3\989ÒÉà\99Ù3\98'ÒÕà\99Ù3\98\15L`íÌì\19Ì\ 4¦´vs³y\vj*\83Q`\ 2ó6[C²¸\ 6\1dédÏæoB\96Øf\86´Ã¸6lA&d\89mf0
+\8c\16g?\16Úl\864Â(F\9bvX"qÓ·\99Á(H»ôÆ\82%\12\93ML\8d!\19\18EwcÁF\88\9b\92&CbP\94^'l\87¸É\982$\0\13¦\88\9b\8c,\836hË®\ 36EÜ4d\19´A[s\1d°)Ö& Ë\90\0´5×\ 1[cm\ 2¾\fÚ -¸\ eØ\1ak\13ðeÐ\ 6mÁuÀÖX\9b\80/\836h\v®\ 36ÈÚ\ 4\94\19Ô ­¶\ eØ k\13PfP\83¶Ú:`\83¬M@\99A\rÚjë\80\r²6\ 1e\ 65h«­\ 36ÈÚ\ 4\94\19Ô ­¶\ eØ k\13PfP\83¶Ú:`\83¬M@\99A\rÚj'\ 4\90Þ ­vBØ kÓPfP\83¶à       a\83¬MC\99A\e´5×À\ 6)ÿÂl\9e\ 6hk®\81\r\85Ù<\rÐÖ\\ 3Æ\9aÁ4 ­9\ fÆ\9aÁd -;Â6YÿÂl\9e\12\8e\19L        ÚÊÓ\91\9e6i\ 4\15â\fÿ\99\81ú¶Éú\17\94@[vK­Îj¹Ä\19lVw\9b%Î`³ÒÛ,q\ 6\9bÕÝf\893جô¶É\9aá?\e\96Þf\893ئô¶É\9aá?\e\96Þf\893جô¶É\9aá?\e\96Þ6Y3\98^w3Qß6Y3ügÃÒÛ&k\86ÿ\98ÍÛ\18k\ 6Óën>ÒÛ&k\ 6\13ënVêÛ&k\ 6\13ënVÒÛ,q[\86\89E7+ém\935\83\89u7+ém\96¸-ÃÄ¢\9b\9bô¶ÉÚÆaJÑÍPz\9b%nË0¥èf(½Í\12·Y\98Rq3\94Þ6YÛ8L)º\19Jo³Äm\16¦TÜ<¥·Yâ6\vS*n\9eºÛ2w\e\84)å6[Ým\96¸mÂdr\9b­ô6KÜ6aJ¹ÍVw[æn\830¥Üf«»-s·5\98RksÖÝ\96¹Û\1aL©µ9\8bnãôm\a¦\14Ú\9cE·qú6\ 5\13km¶¢Û8}Û\81\89\856gÅY\ fØ\bL,´9+ÎzÀ\16`b\95ÍYqÖ\ 3\0Ó«lÎr³N°\ 5\98^es\96\9bu\82ÕÃô\12\9b¹Ü¶Ù  \96Ûr}a\í¬£Ól§\a¬\83\85¾0"këè([è\ 4kâ¢/Ò\8f»åv\91\15w\82õ12\0\ 4\vê\1c«ì\ 4«$e\18\15æß-VÖ\ f¦§c\1a^\86\81bo\98m\9fügE6oz"\89\91\f\ 6íþ0»\ eùÏZöQSa¡\13\96\16Ðî\f\ 4í>Ð\ 1\a*\14\92\81qÙ¥\ 5´{Â\8cºB\e\16Ý\15T\1a\9f"\8cÅ.\8d Ý\r\bÚ} \e\96Û\15TZ\9eJ\18\85`\1a\ f\10´û@7,´+¨4;õH;Aëè\1fÚÝ \e\96Ø\ f¦o³¾H;G+è"Ú} \e\96Ø\15TÚ¬/\8c¢\8e¥w\11ÝNH
+\16×\15T\1al\0\8c%\90\12ÝNH
+\96Õ\15TZk0\8c(\93\12-ú)²z\83Jk\r\86\11e²Ä^¢E?yXVoÐj­Á0®X\16×KTè§\bËê\rZ­5\18Æ\15Ëâz\89
\14aA½A«©i\84Ñ%³\94^21ñÔÃ\82:\84VSÓ\b£Kf)½dbâ©\84\ 5u\bŦ¦\11é!\9c\92)\89§\1e\16Ô!\14\9b\9a\87pæßE&c­/,¨[è65\8dH'ù̹\7fL@Ù0XP·Ðmj\1a\91\99sç¤7e\83a)ÝB·\9diGú)h\9e\9d\93®|Ó\bÚ}\93ÚΡÝÌ´Â\8a\15Ô\89ôã\9bvÐî\e[±ù_ÒÇ\fhsJ\12éAÖX Ý7\bKig\1aa\95Úé\84Ñ\99\1a\17´»\aa)íL#¬O¸¤`\¦F\aíîáa)íL\v¬Oµ¤`D¦é\ 1ÚÝÃÃRÚ\99FX\8d^É í\1cÓ\e´{H\ 3KigZ`5b%\834r4\ 1\90\ 6\96ÒδÀ:\94J\ 6i!h2Ðî¤x°\94v\1a\fë\90)\19\18\94 ÝIñ`)í4\18V Qò0\8c \89\93\12ÂRÚi0,] d\906K4\1d\93\ eXJ;\r\83¥«\93\f\8ca\8f¦\0í~Ò\ 1Ki§a°hi\92\81\91ìÑ\14 ÝUºa)í4\0\96+Jò0¶a¦#hwU\92°\94\vËU$y¤\8f\vhwU\92°\94\v\v\95#y¤\9b\vh÷Vr°\94\ 5\vÕ"y¤³\91\1a\19´{+\ 5XJ;S\ f\v\15"\19\98ÄN\8d  Ú\1d\96\ 2,¨©©\84\90<Lb§Æ\ 4í\ eK\19\16ÔÔÔÀ\12%H\ 6&4Uc\82v·¥\fKigj`q\9d\9f<Ln­Æ\ 1ínK\19\96ÒÎÔÀ\82º=EP2X#\80vÏ¥
+\96ÒÎ\14aA}\9e\9am\9a@»çl\vVÓá´Í6­ Ý\7f\f\96\aÚ6\9bVÐî?\ 6\v\ 3m\835\ 2hw!\83\85\81¶Á\1a\ 1´»\90Á\92@ÛZ\8d\ 6Ú\1dÉ`1 mªF\ 3í\8e\fжSc\82v_2X\0h\e©ñA»G\19Ì\1d´-Ôø Ý£\ff\rÚæ\99. Ý©\ff\rÚæ\99. Ý©\fæ\vÚ¶\99\8e Ýµ\ff
\86\99\8e Ýµ\fæ\bÚV\99¾ Ý»\ff\aÚ&i
+Ðîc\ 6ó\ 2m{4\ 5h÷1\83\19\81¶1\9a\b´»\99Á\8c\18M\aÚ=Í`\16 m\86&\ 5íÎf \ fÚ6hjÐîo\ 6ú m\83\14@»Ë\19h\82¶õÑ\ 1í^g        ÚÖG\r´;\9e\81\ e\1dMÐî{\ 6
+ mt\94A»û\19(\80¶ÑÑ\am\ 5\18L
+Úæf. ­\ 3\83é@ÛÖÌ\ 5´u`0\11h\e\9ay\81\1a\fé\ eÚ&fv -\b\83\89\99#hkÂ\90\8e m\æ\vÚÊ0¤\vh\9b\95Y\83¶8\fé\ 2Úfeî ­\ f\83\91AÛ ,\ 3´Ub0&h[\93e\80¶J\fF\ 3mS²$ÐÖ\8aÁ\b mD\96\aÚ\8a\15´-È"A[4\ 6ÃAÛv,\15´uc0\10´\rDzA[=\ 6C@Ûj,\1e´\ 5\ f´íÅ\1a@[C\ 6=@ÛX¬\a´\95dH-h[\8aõ\80\92\f©\ 2m3±*Ð\16\93!eж\11+\ 4mI\19R\0m\ 3±BÐ\96\94!9ж\ eë\ 4mU\19\92\ 4mÓ°fÐÖ\96A\ah\e\85\95\83¶¼\f:@Û(¬\1c´åeH\bÚ\16aý ­0C<Ð6\a\9b\0m\91\19â\81¶9Ø
+hëÌÀ\83¶!Ø\10hKÍ\80 m\ 5\ 5Új30\8375h\vÎÀlÞÔ -8\ 3³yS\83¶à\fÌæ)\80¶æ6\rÚâÛ(hËnÓ -¾\8d\82¶ì6\rÚâÛ(hËnÓ -¾\8d\82¶ì6\rÚâÛ.h+o» ­¼í\82¶ò6
+Ú²Û4h\8bo£ -»M\83¶ø6
+Ú²Û:hëo\8b ­¹­\83¶þ¶\bÚ\9aÛ:hëo\8b ­¹­\83¶þ¶\bÚ\9a30³75h\vÎÀlÞÔ -8\ 3³yS\83¶à\fÌæM
+Új3ð m\b6\ 4ÚR3ð m\b6\ 4ÚR3h@Û\16l\ 5´ufÐ\80¶-Ø
+hëÌ \ 1m[°\15ÐÖ\99A\ 3Ú¶`+ ­3C<Ð6\a\9b\0m\91\19â\81¶9Ø\ 4h\8bÌ\10\ f´ÍÁ&@[d\86\84 m\116\ 1Ú"3Ä\ 3ms°       Ð\16\99!!h[\84õ\83¶Â\f   AÛ"¬\1f´\15fH\bÚ\16aý ­0\83\ eÐ6
++\amy\19t\80¶QX9hËË \e´íÂ\9aA[[\ 6Ý m\17Ö\fÚÚ2è\ 6m»°rÐ\96\97A7hÛ\855\83¶¶\fºAÛ.¬\19´µeH\12´MÃjA[X\86$AÛ4¬\16´\85eH\ e´­Ã:A[U\86ä@Û:¬\16´\85eH\ e´­Ã:A[U\86ä@Û:¬\13´UeH\ 1´\rÄ
+A[R\86\14@Û@¬\13´UeH\ 1´\rÄ
+A[R\86\14@Û@¬\10´%eH\19´mÄÚ@[O\86\94AÛF¬\10´%eH\19´mÄÚ@[O\86\94AÛF¬\r´õdH\15h\9b\89µ\81\9e\f)\83\8dX\ehëÉ\902hÛ\88µ\81\9e\f©\ 2m3±6ÐÖ\93!eж\11k\ 3m=\19R\ 6m\e±6ÐÖ\93!U m&Ö\ 6Úz2¤\fÚ6bm ­'CÊ m#Ö\ 6Úz2¤
+´ÍÄÚ@[O\86\94AÛF¬\r´õdH\19´mÄ
+A[R\86\14@Û@¬\10´%eH\ 1´\rÄ
+A[R\86\14@Û@¬\13´UeH\ e´­Ã:A[U\86ä@Û:¬\13´UeH\ e´­ÃjA[X\86$AÛ4¬\16´\85eH\12´MÃ\9aA[[\ 6Ý m\17Ö\fÚÚ2$        Ú¦aµ -,C\92 m\1aÖ\fÚÚ2è\ 6m»°fÐÖ\96A7hÛ\85\95\83¶¼\f:@Û(¬\1c´åeÐ\rÚvaÍ ­-\83nж\vk\ 6mm\19t\83¶]X9hËË \ 3´\8dÂÊA[^\86\84 m\11Ö\ fÚ
+3$\ 4m\8b°~ÐV\98!\1eh\9b\83M\80¶È\f\1aж\ 5[\ 1m\9d\19xÐ6\ 4\e\ 2\19xÐ6\ 4\e\ 2\19\10´­À¶@[m\ 6\ 4m+°-ÐV\9b\ 1
+l\v´Õf@ж\ 2Û\ 2\19\10´­À\86@[j\ 6\1e´\rÁ\86@[j\ 6\1e´\rÁ\86@[j\ 6\1e´\rÁV@[g\ 6\r\82M\80¶È\fñ@Û\1c¬\1c´åeÐ\ 1ÚFaÍ ­-C\92 m\1aV\bÚ\92\0Ú\ 6bU -&CjAÛR¬\ 4´edÐ\ f´íŲA[=\ 6ÃAÛv,\ f´\15c0\1ah\9b\92e\80¶J\f¦\ 3m[£\ fÚ
+0\98)h\e\80v§2X<h\9bpjA»\9f\18l\ eÌÎ\19\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18L\0*ÇÙ\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18\18l\16\194 Ý\14Ó\ 2\19ÿO\r\ 1äý믿ýö;â·ß~ýõW¡\ 3h·,½\81\92ÿúÛï\193eÎ\9c%K\96Ì\993eÊHz\80ð§Ý¸ô\ 5Ç<Sæ¬ÙräDäÈ\9e-k\96ÌÀ\1fô·rò\84zÆÌÙräÎ\9b¿@Á\82\ 5\väÏ\97'wÎ\1cÙ²fÎ\ 4ì­\99<±÷ß3eÍ\91;\7f¡¢%JÙÙÙ\95*Y¼há\82ùóäÊ\915sF+&\9fA\10=W¾Â%J\97¯TÅÁÁ¡J¥\8aåË\94*^¤`Þ\Ù³\0y}¹[F¨ä}\1c\88\9e§`ñ2ö\ eREõ\1a5kTWÊ$\8e\95+\94)Q$\7fîì\993\82ðz>3\83V L¯¦§\15<ó,Ùså/Rª\82\83¬fýÆÍ[¶jÙ¼Iú5\15âª\15ì\8aæÏ\95-ÓoúpÏ \ 4Ëß0P\9ao\98\10Ì=gÞ\82ÅËV\96ÖhØ¢}×\9e½{÷îѵc\9bæ\rkÉ«U´+\92/G\96ßõ0z!XfÌ\98)cF\12\94<ñqY²çFÑ«)ëµèØkÀP×Q\7f\8c\1a1Ä¥O·öÍë)«U(Y0·^Â\13¿\991S\96¬\80,f\1c&x÷\9e§Pñ²U¤µ\9a´ë9päø©3gÏ\9e5}òØ\91\83ûtnY_áP¶h¾\1c\99S/<PÇ1\ 4iB®\¹rfçÃDúÒ0\bÐÎ\8cYrä-\8c¢×oÕµ¿ë\84Y\v\96­Z³fõòEs§\8d\eîܹym©}É\82¹²fLµxB´\84<¡@\81|yrf\8b\17&ÌÇõgÈðëï\99³ç)\Ê^\£qûÞCÇÍ\´zÓö]»wïܶaõâÙ\13\86÷íÐXåP¦HÞì©\16\1e\1f\99)+¸\8f"ÅJ\94(^´\10\84\89,\\82\90AíýÍ\82\9e5WÁ\92\15\9auî?jÊ\9f«6ï>xìä©\93Ç\ eíݾné¬q\83{´ª#©X¢\0\bÿ[ê\84'\96\943o¡â¥ËU¨\0)BÑ\ 2yrdÅAÏ\81¸~ÎùSf\ f\rÍ\9c#_±r¢\9aͺ¸¸Í\ºa×áS\17¯^¿~íò¹ã\av¬]4mT¿\8e\8d\95UyáS5j3ü\ f-©PÉr\95\1cª\89ªU­X¦x!L\8f`j$ #z\7fú¡\ f\1a\9a%WÁRU\94\8d\8c\9d³rë\81\93\97Üï>xøðþ\9d\e\17O\1cضjÞ\84!Ý[\82ð8â3¥Nø\f¿\82%\15(^®ª\ 4r¤ê
+IÕò }^pzjd3\ fï\8f\rÍS¤\9c¸n[çѳWí8|þ\86Ç\93\97¯^y¾xâá~áØ\9e\r\8fê\87#>õ®\1e,)Sö¼EÊTq\82$©Iã\ 6µ\14¢JeK\15\83©Aþüù\bòÂ\1cÉ\1c¼\7f\86_3eËWÜ^Ѥ۰iË·\1f¹xû±ç;ï\8f\1f½ß¿zzïú\99\83ÛW\83ð=ZÕu²/U\90\eñ)?\11L>g\ 1p 5\e·jסCÛ\16\98\1fU®P¶t©R%K\96\0\14/V¤P\ 1\ 3'    FÅÿ~Í\94=\7fÉ*5Zõuûsã?\17î<{ûñS`P ¿¯×«Ç·/\1dß³qÉô?úwjRݱlѼÙS\95ß\0÷¬¹\v\97qP5jÓµw_çÞÝ:´hT[%\13Wsp¨Z¥JåÊ\95ì+\94µ#\93\84,©êËôÃÿ~Í\9c£ \9dc\9dv\ 3'/ÿû¤û\93w¾A¡\11\11á!\81¾ï_<¸qîÐ\8e5ó'\ eëÙº®´b\89ü`ô©áþkÆly\8b\96\97ÔiÙ­ß\10×\91#\86ôïÙ¹m\8b&\rêÕ©]«F\8dê*¥\Z­J\ 5»b\ 5 W\84Ad\ 2\8eI\ 1Ý|ÁÒ¢z\9d\86ÎX³ï\82Ç+\9f \88è\98\98è\88Ð\80\8fo\9eÞ¹rrߦe3G÷ïØHQ¹TÁ\9cYRÇ=Sö|%*É\eup\1e>vÒÔ©\93ÜF\ eéß§G\97N\1dÚµm\rS¤¦\8dêÕ\ 4\17Pºh¾\9cY2R5zà\9e³P\19q\83.#f¯?tåñ»\80°\98¸/_bc"B>yy>¼yþÈοþ\9c8¤[³ê\ e¥\våJ5w\18\9bu\e<vúüE\8b\17Î\9f5u\82Û¨\11C\a\ fréïÜ·W÷Îí\9aׯ.¶/U(w6ºF/pïê:gã\91ëO?\ 4EÆ~ýöíKltx\90ï»g\1e×Níß´tÚ\88^-k:\96I=÷\1c\ 5ì\1cj¶ê=rê\82\95ë6n\·fÅ\92\85ófÏ\9c>uòÄqn£\86\ fêÛ¥uC\95c¹Ô:\90t\83\86ûÜMGo<ÿ\18\12ýåû\8f\1f@>*4ÀûÕã[\17\ eo_9sTïVµ\1cS«;ñ ¥«ÕiÛÏmÎÊM»ö\1dØ¿w×\8e­\9bÖ¯]³jÅÒE\7fÎ\996Þu@·Vu¥öè@¨rÏ@Z*ªße\ 4è\8eÜc¾þø÷_ \1f\13\11ì÷þù½+Çv®\9a5ªWË\1a\ ev\ 5s¦Ê×ñÜë¶w\99°`ý®Ã'Ï\9e;wæÔ\89£\87\ f\1eØ·ûï­\e×,\9b7yd?â@
+¤î\81é\ 6b¡¥«Õë4lÖúÃ×\9fy\13î?ÿýþ56:,ÀÛóÁµ\13;WÍ\18Ñ£\99²rÉü9R\17ãxî\1d\ 6M^ºõàÙ+7oß½sûæ\8dkW/_8{êè?»6c®\b\ e¤*v&eÝÁ3A\8cë0tæº\83W\9fz\aG\7fýñó'
+ÿ9"ÈçõÃkÇv,\9b2¤sC§\8aÅòfK\95[ÆÞ$Ü\aO]þ÷ñ+w\1e=\7féùòÅó§O\1eÝ¿{óêùc{Ñ\81ôlQÃ\1c¸g\ 4¯\µvûAÓÖüså±Wpô\17àN\84\8f\föyuÿòáÍ\vÇõo[§Z\99¹³¦*\1c\ ezsðÔ\95»O»?zõþ£\8f¯ÏGo¯wo^>½ï~þÈ\8e\953GöjQ½J©\ 2ÔÇ{ÆlùJT©ÙÖeʪý\97\1e½\ f\8aâ¸ÿ\0îAÞ/ï\9cÛ÷×,WÞäS×RbI¥\1c 7§®ÚsöÎs/¿À\90ÐÐ\90à \0?ï·Ï=®Â \9a9¢GSe¥\12ù²g¢\9aÛdøõ÷ly\8bW®ÞzÀä\95{/<|\17\18\15\aã\1duÿ\1c\1eðþÉ\8dãÛ\97Nti_O\®H\9el©[§FKÊW²j­¶\ 3§¬Üsî\9e§OPx\14dKQ\91á!þÞ¯\1e^?±sÅ´¡]\1a:U(\8aO¤:\99\81ì;Oq{UË~\13\97ï>\7fÿ]@dÜwÂýKt¨ï+\8f\v\aÖÍ\19Ù\13e/\90º\8c\96ÏiKT®ÑfÀ¤\15{Î{¼ö\v\8d\8eýòõK\ltD°ï\9b\87W\8fn[<a@;\18\8c\99é\bä^¬¢²\85ó\84e»Îy¼å¹ÿø\16\e\19èõôÆ\89íK&\ ehWWT¶H\9e¬©|=\91\81ôf%U«~\13\97í>çñæSøç¯ß\7f|\87\94\ 1\1d\88ÇÅ\7fÖÏ\1dÕ«¹*õ\83\80³®¢\15\15Íû\8e_ºó¬Ç\e\7fÂ\1dd\8f!²ïÿkÖ\88îM\14\95ø\89LªZ\8aO,\86O\1c·dç\99{¯?EÄ~\83\94\ 1\9d\87g7Oí\>ePÇú\12n\10Ñ]¼øßo\1c÷>ÐRÂ=ö;æ6±\11\81^O®\1fÛºh\¿6µ \9fÍ\9dZÙñ\89Yr\17© kÚËmÑ\8eÓw^}
+\aî¤7ÃüÞ<¸tpü?8/O9³ùE'÷\1fÜh÷¼{nÏêéC»4\82Ø\9eO\8fÔ\e¸ç*\Ωq\8fÑ\v\9e¼íé\17þ\19tÇA\14ôá\99ûÉ\1dË&\rìPO\92\99\8eHdó±\98ÏÇF\ 4¼\7f|õÈæ?ÇôiI²\10=ÞI\91)BYIÃn#çm>~ó\85OØç¯?~\b¾sÿÚÙ#\85\90I[ö\84¾\ e¸\7fû\ e\r\rñyyçÌî\15S\aÃÐ,\ fÑH\8f\19W\ 6\\12(ÃM\11pz\14\1aóõ;\8cvèM2\88Æc¦T¶°\1e\83\90\ 1wlè»GW\ fo\84¡\89\1e¹\80>o¤\12O\11¢¿|û\16Gzóì\9e\87ui$«X<_öÌ©\îO?\90Ü\ 6¢±:·Áù;\91ýöé]Ë'ÃÐ\14\97\9fF\98ØAR[·#L\11\ e]Ã)BÜ×/\9fÃýß=ºrxÓ|\1cD0'Ì\95\85¾ì$§-        9íÀ©«!§õ
+\8a\8a\85\86¢ìW\ em\98;
\9aJúγ¹¤\16\12ú!3Ö\1e¼úäCpTì\97بà\8f/n\9fæã[ù¢yõ|¡\9f. s\19̾\aOÿë\9f+O>\0÷/q\9cì;Aöö\90Ö\90¡©\87yêà\1e\e\13îÿöáå\83ëIo ʩϠJ/Ä\e\9ch Q±q\1aÙ{4U\90)\87~\9b\89\1cgóWq\19,&&\12d¿uêo\98\e´«#2\ fGG\9c²fÍÊ\1d׬>ÇF\11'Od¯#"i·^\1a\8dLàÕÝ\19\14\19\1d\15\86²ÿ³n\8e+$\89ö¼£K?R©\84:\11ùãÏ­'n½ô\r\8dþ\1cCbû¡\8dóFõ\ 4Ù\8bë+;\1fßIw\92\18\17\1c\11\15!È> míjú÷f:\81KmäÍz\8f]¼ãôÝW~aQ1Q!¾\9ewÎìZAF»\ 1²ãÛÍ"åIwn9\ 1¹MpDd\18\83ëç\8cìÞD^±8íõY¡¡8áä&]Ëɤ+,**\1c2ùkG6Íÿ\838y½eÏÀeK\90%cwÞñô\r\ e\ f\ fö\81Þܹl\92K»ÚÜz¯9ÈÎ/YÕâBÜÃw\ 1a\91\91!¾¯î\9dÛ³rê \ eèäõn(·\12\ 4\19CÿI\90-y¼ñ\v \v\85\94î\1adJè;íÍEv\8d_"K\95\ 2Ã#Â\ 3?<½~\142ùÞ\90Òé/;y$·^7}Í\81Ë\8fÞù\87\84\ 6û¾ö8Ï÷&?\88Ò\8b\90\1eíä\\9d´\11Ì;6\1ds\7fî\1d\14\16\1eâ÷æþ\85}«§\ féT_\\96[ ÔÏä\7fË\9c\v¦2\rº\8e\98³áÈõ§^\ 1!!\ 1\1f\9e»\1fߺÐ\r\80A\94N\10Æf³Þn\8b\9fºýÒ'(,4ÐûùÍ\13Û\16\8díÛ²z\95Ô®É'xdî¢\15äM{\8dY°íä­\17\1f\ 3C\82\83\0·væ°Î\r
+ç6\ fÙùuÅ*\90ÍOZ\ 1®îµ_phð§·\ f/\1dX;sx\97\86ÒòEôLé~Q{Ïê­úÁÄðì½W¾A!A>\9ewÏîZ6±\7f\9b\9aUKéß\9bé\ 3´Ï\9cø\1e¡ã\90\19\7fý\ 3cóSpHàÇ\97·!\12Oèß\1a\1a
+º°DÝn\10ñ\9e\82\83\ 3><s?¶åÏ?z6\95W,\86ë~f@\9d\84âÜ\18\8a»\8f\9a·éè\8d§^þÁ`\9f\8f¯\1eÞ0wd÷Ʋ
\fXR#Ý ³÷ÎÃg­?tíÉ{òÈG`ò3\86\a\9e\8eò»\185\84èÞ¢ï¸%;Nß~ù1 8Ð\a\ 2Üî\15\9d­V:\95o\1fãAH\14»ÿ1\7fËñ\9bϽá\91\183w/\9f\ 4\96\ 4\ e\ 4ßG\98\ 1w²·\ eÃ\11¾BÙwáþkßÀ O^Oo\1cÛ²`L¯æJ\92Îê;å Þ³¨&³ñ  \f\ eð~qëĶ\85cz53?\93\87\bç:gÃák\8fß\7f
+\fô}óàÒ\81¿À>1À\19ðò\80\7f3Q\1d2\eòfÂ7(È\1fÒÄÃ\eæ\8cèÒ@R\16\82»Y\98|\ 6âåK\10\93_¼ýÔ­\17\1fü\ 3ý½_Ü>ý÷\92ñýZÕ0$Ài¿\8d\9b\ 6\99ÍÃw\9f\82\82ü pì_3mPûÚ\ ev\ 5à\91f@]íåÕ&ï\13\10è÷îñµ#\e9OWÔ\10ûÌÀí]"®îðµ'^þAd¸C\84ëתzåâyi¿\82ãA¶T\16­ kÜ}äÜ\8dG®=yç\17\18àóÚãÂÞUS\añ\9eN\7fû\14\12Åî£æo>\ e\89b@P\0\ 6Íí0Ü\9bÊ+\14\854Ñ,Lþ\7f\90x\93m\85ýÆ/ùûôí\17Þ`ò\1f\9eß:¹\1d\16\98|\1aðÎ(\83zNL^Êx~\f\fòÿðìÆ±MóFvk\88Ã\1dº3}èè\ 52Ï.\V\¿ÓÐ\19\7f\1d¸ôà\8d/1y\bîs\»6\94\96+\92Û\80פ\9a¬\8eÌ\891rø¿\7frõк\99\10Ý«\956\93á\9e\ 1w\93æ+^IÙ\1c\12ï-Ç ±ù\ 4&ÿÊãüÞ\95S\ 6Â4ÛΠ]\11\9c««ZKÈêÀÕA2\7fiÿê©\83ÚÕª
+ÑÝ,\86;ÙòK<ÝÀ)\90Ëßóü\18\10\ 4^\9e\98|\9f\16\10Ü\rrKZkuë\ e¡«\v\ e\82iáù=+ ³1\eW\87\ 1.[\9eb\9c§Ûpèêãw~ ÑûÇ×\ 4\937$¸\93\8cV\98\13oÆ9q@p\10¸ù³;\97\8cëÛB\81\99Íïf0ܹ\9c®TÕ\9a­ûOXú÷)ðtØÌ×÷\89\977Üäù      ,7'\86¬\8eLâîpn^\ 6ÓÂ,fàêPö¬\98Ó5ì2|æZôt~AÁd
+·cñ8ôò\ 6\9a|\ 2\87óBÈha\12×½\11Ú\929¸y!ÀUoÙwì¢m'Ü\9f}\b\b     ñ÷zz\1d\13\9bn\8dpæn\88É'puï>\85àR\88û±Ms]»6\10s\93¸ô £W\e\8a\eü1À\r\99¾zß\ 5Ì»¹U\8býk¦\ fî\80\89\8dA\9ba2\b\87\91      ¬W@hhà\87\8fl\98=¼s}\11<\94î¦2®\8dx¦%\7f\89ʪæ½Çü¹ù(®ª\85\86\ 6ù¼º{fçÒ      \98|r\89\8dÞÏÕÎê\8eÝ|þ\11\97À><½\86á½c]ô!ô¹\v²\8bêu\184\157Á½ò\r\ e\vCë<\ e#³G\13\99\81ɧ0\81mÖ{ì"~i>,ÐëÉÕ\83kg\féPÇ¡T~Ê\9b     ¹6þFÎ6(\9bõúcþ¦#0{õ\ f\r\ f\rxÿøÊÁu3\87uªoèòJü¥ùûo>\85F\0÷ÇWþùkú`\98Å\952\83Ô\86sò {Ýö\83¦¬Øu\ 6bQpxD\88ß\e\ fHB&»´©Yµ¤a
+\917°ä\856N`\1f½\ f\b\8b\b\aî\97\ fÀ\f\16Óº|fÀ\1dc{~\94½ç\1fó6\1e¾
\87ED\ 4ûà|k\91[ïæ
+{\ 3\97\ e lÀÝ&A\11\91á\ 1ï\1faJ;°mÍ*%\rs"Æ\ 4\18ÛË\89\13Ù_âëBò:\ 6"\\1a\92:~\1dHÖ¤ÇhòR×'$2\8aã¾j\8a\vp7Ð\81\1a\11ääsÎ\ 2¥ªToÑ{ô|\90ýÑ;ÿ°¨¨°\80wdy\ 5"\1c\ 6\ 4â\fÿË\985o1{e\8b¾ã\97ì<s÷õ§°¨hàþðâ>àÞ¦Få\12ÔÓyttx\80MÚ Ó\90©+w\9fEÙ#££Bý^ß;»kYZ"\1cÿ¦\ 3÷£¯Ü{áÁ»\80ðèè\bèÒ\v{WN\1eк\ 6Neè¾\92A\8bÏ\92«Pi\87\9a­úº-Ø\8cN\1eÚ\18\13\19âóâæ\89­\vF÷ljh\84ãÞBâ\9b\8e¡3ÉF\eÜl\ 2Ü\1f\Ài\«ê\90'ëûX­#óF(\17\83õ\182üÝ^Þ¸ëð\19«÷\9e»ëé\e\12\15\13\13\19ôáɵCë1ÿ\12\eú\ 2\81LâÈ\86J~ÿJÔç\98\bÿ·÷Ïï\ 6sj©²×o\1a\97\81/\96ÂUKÑ*,¦w»ÔOijþ\18ßê´í?~ñ¶ã7\9ez\ 5FÄ|Æ}P\ fp\\ elWËÐ\1c\16ÒmáöS·=ý¢ñ¹o<ÎîZ:¾o\v¥>SX¡HÌï\193fÊ\94\99@(\99\8eDÞÑ\95¬¬jÖcä\9cu\a.Þ'{ûc£Ãü^Ý=ý÷\924Ìá´öp\90í©oüÃcbcÂ?½¾wæïÅc{7Ã\95Ê,©âÎ\11'\ 5Õ²dÍ\96\9d¯,\96#»pjÞ@öÄÑå)Z^R¿ã ÉËÿ>uó¹wPäç¸Ø¨\90\8f0ÝÚ<\7fT÷ÆN\ 6ÎáøÃ 0\89ãöp¼\ f\8cü\1c\e\ 3}J¦ï=qú\9e+5ÓwR\1cç×ß°DLö\9c¹óäË_ `!@Á\ 2ùòäÊ\91-K&\83kk\81ìYr\16´«Z£e\9f1\10ß®<|\vêÄ}ÁC\12\90z®Å\15E\11·8mÀ³ã¯Wá\9e¸\980_Ï['¶Âô½qê¦ïBY ÌY³çÊ\93\1fË\85\94*]¦lÙ²eJ\97*Q¬096\9féw\83Èsñ­X\ 5§\86]\86NÇSL\90\7fDÅ~ÁÝ®$¡\9d\8dð¾P\7fã׫^ø\84FÇÅÅ\84ú¼\0{\9a7²kÃÔLß\85ÊZY²åÌ\93¿PÑ\92¥ËÛWq¨&\96H$âj\ e\95+\96-U´`Þ\9cY3\eD\1e3/\90Ý¡fkçq\v·\1e»þä}@Äç/_ñ\80ÈËÛ'1¡m¦0ô}!Éê8WGÖ«üÂbââ¢a,ÝHíô=\83¦²VÞ\ 2EJ\96©P¥\9a\93²Fíz\r\1a6jØ ^í\1arq\95ò¥\8aäÏ\95-µUGâ7\ fÝ\11ÈÞ¨ëð\99\7fáqwpt¸Á;*Ø\e\12Z²J)10¡å²:pu-\ 5W\a½\1a\17\r\ fÖLß\93·'\ró|\85\8aÙ\95¯,\92ר׸y\9bö\9dºtëÖ­k§ö­\9aÔ«.©\¶8_4@ÿ·&\999ÙûA|Ã\95*räûkl$d_\17÷¯\9e6¨½Á   ­ö¹¸Uû.¢«\8bý\12\17\15ôA\98ÂVM~
+K|;ϼxé\8a\ eÒêõ\9a´îؽÏ\80ÁÃF\8c\1c5ÒuØ ç\1e\1d\9a×S8\96/^ \95\957â?\1e×¥\8bò²ï¿\b\13ì°\98/ßñ\18 \1f\19ïܲºÁY·Ö\16bnûtt\1crOåTFSM\r\98Û;Êj5lÙ±Gÿ!£ÆN\9a6kμyóæÌ\9c:~äÀ\9eí\1aU¯V®\98\9eeÕÈóùué\1a­\9cÇ\11Ù½\83£â¸\13"\\84Ã%\eÜ_dÐûB­\93ôüQ\91/_ã"\ 3\85t¾z²é¼P12O\81b¥+:Êk7nÓµï\90Q\13¦Ï[¼bͺ\8d\9b6oÞ¸nåâ9\93\\9d;\92
+Sz\9d\9eÏÍ]¥\r:\ f\9bÁÉN\8eí}\83\16¾\7ftEØ\11cèéd~\em\93\9e£\17\90]ÉaàDq0AJ»|"¦´Å\93\b\18I\8a\aÖnÒ¶[ÿác§Í[ºfÓ\8e=\a\ e\1d9vüØ\91\83{·¯[2ctÿ\ e\rå\95Jê}¾L{]záÖã¼ìx(
+\92/\ fÜ\11\93\96\bÇmÕà  ì¸%\7fsG\ 2¿\ 2wÿ·\1eç\84\946wRÜq\92\911söÜ\ 5\8a\95­,­Ù¸M÷\ 1®\13f-Z½iç\81£§Î_¾vÃýæÍ\e\9fØ¿uå¬Ñ}ÛÖÁùú\85"íuéi«÷\9e÷x\8d²ÿøñý+\ 6a\9cÃ¥iG\8c\ e\8fÁâ\ 462\8ep\87t~ç\92q}\9a+*ÂìP·\ f%Ô³`      ,¡\8eÜÄÙKÖnÛwäÌ¥\ewî?zúüÅ\8b\17Ï\1e\9f?²}\ 5W\87 Dþìzùc~\81R³.ý!(*î;p\a\87äõøê¡u³\86wi .kè  ]~³I\1d<|ràòc/x8\ 4\90\bÿ7Úé¼Îöf Ój,¡g/©Ù´C\9faãg-Y·ãÀ\89\v×ï>|æùö½7\9e\9f÷özýôÎ¥Ã[\17Ot\11v¶ëSGñWò¾]TWX\97\86äã+9°\18áϯR¶Å9\9ca\11Nk_\1d·VGN\86ÅFhMe\92JçÉXÏ\9e·°]e§º-»\r\1c3}ÑÚ\1dÿ\9c¼tóþÓWï¼ýü\83\82CBCC±ØÐó»ç÷¯\9bMöà\17Óëü¸f]º'Y\97\15\18\19\87\875Ñä_Þ:¹m!·Jih\84Ó>1püæK\9fPp£\84;L\ f\91{\92S\19¡z ]eYý6½\86M\9c·
+\8b©ÝzðüÍ\a¿\80\90°\88¨è\98\98Ï\9f£#Cýß?u?±}Éø~­kèç\95xÙË\88ê¶\1f8\99¬KûâyÅ\7fÿ%&ÿäê¡õ³Gt1<©Ó¸º>èêî¾Æ\13À©ä\ e¢dÍ]¨T%Yý¶}\§.Þ°ûØÅ\9b\ f^¼õþ\14\14\16\19ý\19f\e_!ýú\12\e\1dê÷æþÅýk¦\ fé(D£T·\8d\93]Ѭç(n]:\80\9cÍæLþþù=d·\85\ 2\ 6\15ÖêÚ\903\86\ fð\1c=Ï=\ 5\9bG\8bÏ\92³@      {§zmû\8e\9a±lË?g®{<\7fûÑ?8<
+\88\7fý\ e.é_<\99\8d9âÓ\eG7ÍÓw\9e­õ:bàäåd]\1a«øü«1y\\98\e¼3\82?1ÀíJ¾\82®îËw®_\81;øù$}\1dWî®hyq\9dÖ}FÍ\±ýð\85Û\8f_{\ 3óèÏq_¿!ï\9f\ 2\1c\9fq-À\80õ\95x¯#6\1cºòè]\0\7f$ßX&Ï\9d\18hÈeuÏH\8d \b!\\8c\83øÎŸÄñ\9d\88\82K§5\9a÷\181}Å\8e£\97ï=\7fï\17\ 4\9a\83ä\848w-çOh)$J¸®6U¿u52\81Ëÿ\8e\88';&6èåWNviÇï{4p¸ó\aþÇ,Üvò6fuß\b÷\80·÷Ïí^6Á\99_ªüUG§á\96§\8a²F\9d\aO^ºíÈe\8f\97\1füC#AóïXsä§úNÒ\9f?¾D\a\93õÔY\9aõÔÔQÇ1¥ý:\82\97\1dL\9e,N\13/\9f\16\93\17&°Îx\8cþÞk\7fx<1ªÀw\ f.ì]A\96çuN\92\88\v.TÚ±V\eç±\v\9f½³\80oãh\16xÓ4\1c\87\19\95Ävж\18ÂÌÐ0Ç!\87Ñan\1afffffNÌafÆ&eþúÞÌÞ\9d,É2KÞ\93<ÿþÞ÷ÚÄ\96npg÷vgw\9d\ e»ûüý\97_¢H\8e²\v5\98ø¦8®\ 1/\8c"Ùq¹¦EϱÂë\bÁìèHïÙëW,l\12îòæ#Å\8d\ 2F/Øz
+\8fSÿ\81^õ'\ 4\14¾\8ec¯"íÎaÙ\ 2gþâº\9a0µ\´õxð\9dçï\7füõÏ¿m%G§gµ·8Ý\8ckÀ§\10\16\14õ«Ð\10\94»zßy)É\83Ëÿ\86\v©¬\96ÇÂ&¡./\9cûfç\7fDZT÷\11[\ 4ýOpSóÎÂ\Qw\16²9\ 6ÛòÔ\99­\98ßxòîËo\7f2£Û^Ä+\ 4üÕx\ 5|
+±ýnáÒ¦Úmú}¿xÛ\89Ðû¯~@³³.6\1fq?Ìê©\81íqµ*Á/̤vh\91U\1d¶ÅÂ\88zq\eÇ%ÜÃcÏ«XI\94[ØÜ¹hûɰ\a¯qEÁ\8eä¶\ 1¯\8c\v\13\ 5\1c@uÕ\9bw\1f5{ýÁK7¡¤C³£\eáû2ó\86ù\84\11\90æ¥uÊ_ÿÆ\96`\7fÿöùÕ½È7ÛÙ¢L\93\84\9d\1aÞúÚí\ 6N]µÿ¢0ǰ+z\ 2\ 2^\14=G\ 1ouåo;\ f\99ºb÷\99\88\87¢rÙàþê\1e\8c\99³\87K\85b\ 2wö£ìy<55Û°#Å÷0Ícw$q®°\99-\0cÀÛ~>Ë\13\ 5JᩪÙ\e\8fâyÜßÐaì]>\1dï\80\17EǦË\15\1at\180añÖc\90N>²Jþ?qp?¿'1\eæ%ÙÅ\85\8bAÓ×\1d\ e¾ÿúËïÿü\8f\8dÉ?\8b\vÿ½[Ø=\88a¹)m\eäH,\aÿgWt)à¥7geb\vøHÑýÊ×ÃÚaÃ!!\9dü%\98\1d\axöut÷\84\1e\r²\92]ìç\13\82\v\17 ;º)[\ e;\80\apêH\13%Ëo\10\16ùثۥB\8f\84?ÿ\89Ft)àq¶Ý\e\ 3\92\9e­ÿ¥\aÑ\8bù\96«Óº×èÙk÷\9d»úðõ\ f¿À¼\9dõëúùãó[ìh\10\fîbOµ\ 4Ë.ì%\1d2S\´\11d\17Æ\91c\9bq\82\8c¥\93íz\18kðÈv©\b-#a~õoô²K\ 1?e`ÛXJz¶ô\99&}¦\1cù=}ËÕnÕcäÌU»O\87Ý{ñQLtø`o\1fFÀÔè»^-ª&î´¦$;\9bÅ\85>|+Ên®\1f dnUCë%DU
+Ëß³ì\ 3t÷%\96\83Ñ\88.\ 6üý\90£¬¤7²MAÑÈ..}f\ 6ÑýÊÕnÙcÄô\15;O\ 4ßyöþGæñÂ\0÷âöåCëf\ eíÔ \éÂ\89é+&ÊÎ:CYÈ\8en
+uã\15é;¢\1c?b9²\98¦\86e\8e\8cNv!à\1fEàºo\0®,F»mKZúÌYÀ˯\\9dV=\86O[¾ãxЭ§o1Ç\v-)!   ?ºzzçÒïÑ&\89ÉtÑÙ\1d\9dþwð-6í\86QTíi{ÀV\94]\18\1f\82î½ú\12\93ìÿ±:ñ:[QnVÙ/ÚCW\82è\19³ä*è­,_·U\8f\11Ó\96o?våæ\937\10ì\7fÿ+\9aý\93Ð\85bx\97F\15âÜ\825fÙ­ã]Èôæ\9cR/jÓ:[»Ç"»T+án0u±hª\eqÕ7kîÂÅÕ\15ëµé9b:\88~ùÆã7?ü,\88þß¿B]sf×2l>¢\17jºÄÈn'ϳÇ\15Ç\92\ 5cz4\8bÚ#I\8c÷\1a­\aLY}\80-êÇ$»X+\1dZËÞç{ÛOv)¤ÛC\14%5\95\e´í=jÆ
+&úëO?ÿþ\17\13ý\7fÿ\88\8d\9b\19ÙUêB\91ðã[¢ìÖã»ð¸\90í\84þ\19\81\1dÄn\85\16M\0-Û"\9bëÁè\ 3\1eÃ\14\86\8d\8dlÁ_Ø¿\13er$\8a\9e·H)]\95Fíû\8e\9e¹rÇñ+¢èÿ°\85\10ÁìBó\91¶µõ%âßÊ%\8aìX×µµ\89[©v\f9¶y¾½\9ehB3[\8by@\fc\1c|\1a\ e\e\8fY²ë\8aûõì¼à\93\86õ|EË\18ª5öï?vöê]'®Ü´\14ÝlvÖ|¤\92_b»PX\8eUûYÏ:q¬Â\81  \8790¼Ô\v\ f¿I\12^ìû\15Ùÿ        ÛãÆ\96ì\84ý¹\15íTv\91Ãz1\1fc\8d¦\9d\ 6\8e\9f»v÷Éà[\8fßD\8an6»Ø¸)±f\8f\9cÇa\93\vqÉê?Avs\ fÄ\ 5Ø\ 3Qhßf~\8b*Ìû-_\ÿ\11m]'Ö\891¼Ð·\18Ö}M5\9bu\194aþú½§CnC\86\17E\17\1fÈ\8eÙ\13#»Ô·ÍÖ~ÿI½/÷±Þ\97\15ý\8aY¾EMñµE\87\b¶aá÷hëy±²Ã\8d\1c+&ö\156r¤µ\94ÝjX¯Ý"`ȤE\e÷\9f      »óô­\85è\ e7»U\9f\9cml\8f\95T\97[ô<]2¡_Û:¦Ò\85-\9a×\99\ f\9e¼CAâ\ 40ZÃC)ú\19ªZû\e\86õ:­º\ f\9b²xóÁsá÷\9e½û\8c\8b`ÂÌX\1aÛ\1dgvë\ e\1fÖö\13zÝb\9bÎ\rsFuo^M\v^oî\83(4\99\11×w!XðUV\8c\89þ7¶q\v*ú654ÅòXÊn=¬·î9|êÒ-\87/\½ÿ\ 2×ÿþ\16W\82p=å7±\9f\1c&y\a\98Ýæ`\1cî©4ÛOhÏúæaÄ\99Ý+§\ eîdãõlÍ
+&r¸Ø\85Ç\rØB_´Âÿï\9fß¾¼Æ\ 1~Z`[Ü´\96)rÅßfXï5rúòmG.^{ðòÃ\8f¿\9aE\17\8b-VÒ9Êìæ&AÂ^ZËdÇ"\f¿ïnðñ­\8bÆÛz½Ð\7f t¹\86]F`K\18ö.+&Ù\7fÿ"mV¬¥ÅE0Iv{Ãú±Ë×\1f¾úøão\7fZ\88\8ef\7fó(âôNl,æ\10³\vö³è\16ÃÞË\88\15\1aûBìRzñàú9£z4¯néõâñ"}íö¸]ã2V71\8cð û\8fo̲[¼á³3¬ï\84\8aæÑ«\8f?Y,}âJ\12ÖØ0\81[ïÀ~r\16]\82XC4Ë\80\17ƹ×Ìë§\r\81\8côzñ\85\8e
+\e%,ÝÅ^fÅàôLö\a\9b\ fëAXÑüô\e\97¬ðÏ_¿B\89\1d~jÇ\92ïûµ®\95è\92N\94=²;\94ôbÆl?6® ×\87\88Ýì-¼^Ø\bS\18F\88\80Q¬µR\8cNo_ö¸\fëæç\80´{óâ\81µ3\87uiä¨~rB'\ 1OLج\85×sË
+Môú§71×\8f\16½>cZ¼N*\85ðr¢\ 4(m\10\17ly;>>\1f\97a]2;\enCOl[ô]\9fVPgåwL?¹¯ÅÖmMº\8f]¸]Xu4û®àõ\9f_?¼zv\ f\90ë\85\9buR\88í\17ÔÕ\ 4§\8f9ÓÛËuq\1aÖÍfÇ~\94ç÷­\9e>¤S\83ò>B}\9døVCRc\eöF\ eW\9b¿XT)æ\oöz¼a\85}¯Ùé\eA¦ØtLZ¦\8eFö¿£\8cq)ã2¬\9bÍ.tGÞ<\7f\16Õ5Þ\8ej\93ËFxv@là\14<öÿÂjJ&xý{ðzÌõÝ\9bUÓx\8bþ&:=dúv\81øz\ 2w¾ý\19\9dáYms\17k\9b\ 1mj¨\8b1Ùã2¬\9b\1f\ 1Ë\9a³»WÀ|Zh\ 3ï\98î\91)ÄÍFx+×\92\9dè»V     [ªp®²
+§cÃ
+¾EÅ.µÂk)øÅf=Ç-Ú~*âQ\f5ý¿\7f\v\9bÒÍgÊÓ¥ú&\ eú\18wÂøvåðÆ¹£ºKmà\1dÓeI¼C«|#a\94³IØÖ\15NßÖµ\f¸;\92ÍfÙ\99lì5ÓièÌõ\87®Üyùé×?ÿµ+¼°heq¦<SºÔ©c\1fÖ-\94\8f[vv.\9d\ 6Þ1²§ÆQ\ e¦%\83ìU)R®Ç«Kf\8dÀöû^ÂeZ_\7fÍz\fyik´îÇî2ÃlgßðÒÛ     á\µ¯"W¦ôiÓÆ>¬Kº\17®Ð8\80w}\88\17æ8ª;²ôJµZKHØ»ÏE©R\84\11æõ\ 3víB \7fýò>Eð&\87opë8îl÷­Ø8`TÌÙî¿\7fþüé½pβ۷\15Ê\14Î\999Cú\8c±\ eëæoÿåÓ«{8¾\8dïÓª¦\83Ê\1a       !aû°*eË\89(sqÉëï\ 4\1dݼ`\ïV\91\ e²\14\80!¾]à\14ó\86O;\86\97Þm\1e\17\8fo\16Ê\99%S¦¬±\ eëf¯ûò\ e»u­\82A¶ay\1fǶÉ\95ª\94ºXÚ\1d¼\12¥4\17¿ÿÉõ\vûÁí\ 2\9aTQ{çgu}J¶ï¤\18f»±\v·\9d\f\7fø\96]ÏaOöß>¿\16ßi×\ 1ÕåÊ\965{îØ\86uAïÿ\93ô¾iÞ\98\9eÍÙ0ãÈ6ðRi'ÜA\18ÕéÿÏ|cÏ©\9dËÀë\eT\10f³ <Ûà\rµAÇ¡3ÖaoS6\8b\8f\98êØ^\8665uÅ\våÎ\99+oá\12±\fëæxÃy4ÄÛ$é\9a\13GvG\16÷\8fD:½mi.ä\9b\ f\80×\7f×§MmSiEn<üòÍ7bÃ\99V}͵\9d\9dl\aá.¼\97a[%4Þ\85òå-P¤¤6æa=ò\8b¡\90¿t\90]\11UYåÀñM\14ÞÂéÅÒÜz°bó¨/o\1f£×Ï\1eÙ½9\1e\ 3Àû\86\8bò\
+ÐZLµ\9dy+\ 3n{n\IU\Q¨°g\19}Ìú\95ÃA¢[,\8c¯ñ¹+(n²[\94æKv\9e\89j>¬ëÿ\80l{?üô®\15Ó\86vi\EÃnÙN\93\1aªRÔZívP\14îÃÚî\97¨µ]ä\16\16|±YAUÂÓ³¸¯1\96a]øE)ѱB¾a<ï
+\8a£ì⦩F]GÌ\81\9aþÞ+Ü¥þ\9fuºc^\7f'øø¶%\13\ 3ý\eURy\17\80\91*m\9a´\19ðX\83\9d\8e`Ûÿ¢ÈÎv2`¸O\81\90-¯.]²´ªl,ú¨qs¢\9b?\ 6ï\ 1ôvÐüÍJxÖ\1f\fJó¶\ 3'¯Ü{áÆÓ\ f¶s2ér¶\9b\97\ eoZ0¾_ûú\15\ 5sfÉ\98>]\86̹ð\14Sça³7\1cÁ\83\85Q\9d^
+÷]K'ôk[·\82V©ÒU¨Ý<æa]òx)ѱû\9cÊ\14\8e×]Aq\94],Íñ¾Ä\ 5x*E8\9e`\93îþøå\87×\8f®\9dß¿~îØ>mëWPA¾Î\96ÉÃ#s\8e\82%ôµÚ².Á·\9eÛyA#í·Ù\ e\93ï6õ*\9b\fe+×m\190xâÂè\87ué+ÅD·>ò.<\877\866·Kªç?\98õ\ 3\81E¼­×ÿÌncÜ»föèÞmëWÔ\94TäË\99-K6(RÔÕX\13E»ëµ\91©nÁ¸>m\eÖ¨R¥FÃÖÝ\87N^¼)ÚaÝlvÌ1B¢3_\8aæð\ eÁâ)4Èv½Æ-Üv"쾸\9bÍÖë\7füðünè©Ý«f\8dîÝ®a\15}\19ÏBysåÊSÐKÅN6l¶û\82FÜc\86¯³¿ëç߬AÝúMÛð¾dË¡h\87uQÙ8uÅ\8aÎi\89N\90Ý|ú°ã\90é«÷CÄ¿ÇÍ«ÿÙäú?\7fýòîÙíà\93»VÍ\1aÓÏ¿q\8d\92Å
+\17,T¤\84ºÒ·ØNïHðý×Q^ÐüÇ\16.@ö­\8b&\fêÖ®eË6\9dû\8e\9c¶lëáh\87us\90ÁÔõNÐ\11'&:&»pê\14ª\94\16xÆüxÈ=aÓò\7f6O\ 3¹çíÓ[A'v­\9eóÝÀ.-ëU1ªJ\17÷.ᣫòmça3¡´»ûê\87ßþ²#û\9b\aa'w,\9b\7f÷®\ 1½\ 6\8d\9d¹|ÛÑKÑ\ eë\92dz¥ÙÓ;\97\89\15\9d\13\12\9d <»ø¾0ë-0u%ë\9d\83\87ðl¼\9eå»7On\ 5\9fܽvþÄa½:4­SÙ¤U©tåj6ë:|æZ»ëôÌçqÙeïÚy\93F\r\194dÔ¤¹«°¢\89nX\97<\1e_\85Þd3g©¢sN\a\90\ 2ë)Ñcô¼\8dG®`O        \e¯\17\84ÿ\19\85\ f9½oã\92éc\ 3»µkR·zå\8a\95k4hÓsÔlq\ 1Ã\8eìø\86ãÒ\91m+çM\9b8qʬ%ëw\9f\80\8a&\9aa]
+°?~þôò^\b®\98ôií´D'
+/4M2Õm7`Ò²\9dB/\11\9b\9dÑÂõ³ üÓ;aç\ eo_=\7fò¨\ 1ÝÚ·hܰa\93Ö]\a\8e_°éhÐ]{vg¯Òî\86\9e9°uÍÒE\8b\96­ÝºÿT0«hì\8emâïü\ 5Cû#\\1f\16VÊ`êê´û\9cÄÓ)Å\94\95\e£÷²Ö
\16V\es ðo\9fÝ»zéÄÞM+æN\1a\15Ø«kGÿÎÝ\a\8c\9e¾bÇÉP;\15½P\94¿yt#èô¡][7oÙ±ïØùP¨h>Ù\1fÖ\85ï\11¯j¼|xÃÜÑ=\9a\90:Ct|Q\90
+O%\89½\83\1c\rº#x½\1dá\7fùüþÅÃ\9b\8eîÞ¸|î\94q#\86\f\1a4lÜ´Å\e\ f\9c¿ö\bÓ\84m®ÃE¯\ f/\1e\\ f>\7fòè\91£'Ï\ 5]»÷,º\8aÆB]ÒU\8díð}\90c§®¶Â\7f-\1e|*ßÀ\7fÐ\94å»N\87?xÅöôÙ.&üó×\1fxÏúÓ{×\83Î\1eÙ½iå¢ÙÓ¦L\99>wé\86='\83ocC\ 6Û\82\9e\95\84\9fß=\7fp+"äÊ\95 Ðkw\1e½\80\8a&&ÑÙÐ\8e/#\84«\1aÙ{@\87N]£\b\8f\aÞò{iª6í6b\16xýuÈõ¶\15Îÿ\89w\8dÿüÃû\97\8fï^\v:{tï¶\r«W¬X¹nëÞã\97®=\14\ fvØZ\11\ 3åÝË'\ fîÞ¾}çþãço>~\89¦\98\93<^\18Ú\8fn\9e?VÜëãÁÞ\849MvÖC'g¡RÆÚ­û|·`óÑ \96ëm\ 6:&<úý\8f\9fÞ½\0é\83/\9c\7fÏî=û\8f\9c¾|õÞsqÓ¯­\19Q[\9f?¾}õâùó\17¯Þ~øüÓoö+\1a³Çãâh8[\1cí îñrîÅuø\92\bf¤E}+4ð\ f\9c\f¹>ìþËO?Ûz½ üß\7f2é_>¹w#<èâ¹³g/\\ e»q\1f¢8J\94HÂÿþËO_~øøñã§\1f¾üôëïÑT4f\8f7/\8a³9Lüî;M\90ì)R~Ã\8e¤\81×\a\f\9f¹f\1f¤®7Qêz\14\9e\99þÏßPúWÏ\1eÞ½uãÚµ\e·î=~!%°(N\8c?ÿÇï¿þòóÏ?ÿòëo\7füù·ý\8aÆÂã­^\868oh\8f\14þkÑë\rµZõ\1e7\7fÓ\91\9e½\8fêõ\91Ò\83í\7føðöÕó§O\9e<}öòÍ\87Ï?\v%jTyÐUþúóÏ?þøãÏ?ÿú;Ê\ 1B+³Û¾\ 4+\92$W5
+Ǻó\14õ)_¿ÃÀIKw\9c\f»ÿ*J]o!=xò¯?\83'\7fxÿîý\87O\9f\7fúåw»¢\8b?þï?\ 2ÿÆ y\f/?\9d+ºx\10\13r½ºJ\93®Ìëñ4¢m]o%½àÊ?\ 1¿üú»x$Ô®Løó\ 2ÿE/yL/½\9d,»ùP{I¨pz\8f\83\\1f|÷ŧè6Ò\88Æ\ 4_þã\8fßÑ\9bÿ\8a!\8cEñc\92ûÿ,6;DDÙìàlÑ¿\12Û#âÑîúþ\81SVìfÍâ¢ÝSÀlÉ|ùï¿csæ8!.\v
+\1eo½É%  d\97\8eô««6í>jîÆ#Alµ>ú\1dT\16¾ü¿ÄJ.-\a³\1co»¹)     `!ï\81\15N\1d\98Ð\99»\rİW6Ò\99\13'¸yAôÕ\83pÌñèñÊbN\9bµÛ\15þk\9b.\13âj}"å\8a\93ìlU\f_ÿ\1cX7;Ê\16Þ¤\11ÞÜ]dà\94\95øjùcä^Kç\8aþï_¸(};èè\96\85ãû¶Ib\8fg²KÍ\84\84WË1o¤q¤èlxûôRxÝ;\bª\1a¿¤õx&¼¸Z_¶~§¡³Ö\1f\8f\98\ 3E\17
+ºG×Îí[3sx@Óª\1aï$öx&|J¶íL[£5^ÖuÁîË\16ÇËÎÖÿax»|xã¼±¸½\ 3¯\OR\8fg²KWq²krO\8b/[\9c-:\ eoXÐ\9dضdâ\80öõËû\14Í\93%\89=\9e     /ôuÃëfØæxç\a¼´gûAÄ\19\86vi\Y\85Û¹\92Úã¿\8a<M!Þ\93Ë6W;Yvñ=/Û«?ºG\8b\1aº\12\ 5sdJ\97\80\9e®\89\97
+¾%»\1fYl\ 1âTÙŽ\ÁÇØ\19\8dºeË(r' «©C\84Oiu/6;MáLÙ£\9cÍ1\17t<d7_º2oË\89ðGï\9c\9cìÐìl=ÞÞ\99¬¤\96Ýê¶Ø\90û1\9f\ 4J¼è¸\vM<\132¡¿0\85IúáMB:#Ü\ 6Ïxã\eF§&;é¸ý¥\83ëf\ eïòm%¿by\92º ³ \85U\17Ë\9bNNvÂÖ\8cG\11§w,ù¾oë\9az\8e\1eÿ\95¹{iÅ&,Ù±\96\94\9d\1d8ÇCý¬\97\83x\14\88×¥¬vºÖ:1Ù   ÍÃð\8a É\ 3Ú
\1c8^6o§[q\fM\1d\12-»´\13káØ\1eM+û\89]lyÉn§Kµó\12½EÇ«á\9dØ\15A\19Ó|ÃñÂuÛîä17uH¤ìBãÑË\aÖL\rl'^\82Çó\1e£È®ôqiê\90hÙ±-Â\85=Ë'ôi\19\8f\96\96Î\93\9dÝF\80wLaS\87Ç17uH¬ìR;\féª>¾×\14F6ñ\1c\ eÓØ0sÇ#g ¦:¼¾\8aõ\ 6å}e\9bMóÖ{Q÷\f:Rv¡\ fòFs¯/Î\17®KÝ_°{\8fs\93\9dt\9c\ 6O\8c¶«ÅNIs¾\819Å7Rw><.éÌÊî¿ÿýõ\9bt\95OëèÛ]%¥ìR\93î\0s\93n'\ 5<;Jôü\16Kó-ª(íµ\84MjÙ¿N\1dYÙ9u\1a+\9e\9a<+\9fÛhÅ\v\91ÓXg\ 5<\eâdu+éWæóѽ\85v\9cN\vøÿ\89\9d¾ð\86Æ\86xC#çÛ)¿\92ÎGcC\v¼A3üÑ»\1fcê`\93HÙÙ\95.s\86w\92\868¾¢K§æ\8cõغ\15;\ 6\14S\8fºÄÈnuÍA\o)tªì,à=5x¯\1c;\ 6\14sÛ¦DÈþ·E3\8c¸ÞRèdÌo¦zâ\9b©«±´mJ\8cìbC\88©Q\9b]ñBhÛTª\1cöù\8aÒ\ 5Äq@YgÓ\10B\16²³^ãºZí\ 6N]ͺ\808Åé­\1aB\bÝîy§yéÍ\94Ô\ 5$Ö^e\89\90\1do)<\17Ç[
+\93\88¯Å. \91½Ê\9cáô¬¬Ã\13âlö\8eWØs/m¾\12»\80ä\13:ج>à,§7\97ur¹p]\90ýëTi3ç.ªª
\9dó\9cþ¿\7fñV\938ÝR\98\94²§`\1d\94odáô\ e7¼°j\13\97[
+\93\14©õ\8dS\9dÞ\ÒÆvKaÒÂ::2§ïå<§\87\926N·\14&5bÛ&1ÓÇÜ«,\11²Ç~s\17\a"3=69\8b¦\9f\85£d\8fù\86Æ$Ç\ÞÄÔÏÂmeO)ö*ë<lÖ\86#Aw_ýðkt÷È$Zv\99ù¼èôÞÚ\9amúOZ¾ç¼\9d\8e\90]\96¹Î¼Å²R\93n£ñ\92Ò\a1\ \94`Ùe9ƱMÕxE^IcÝ\ e\83°\vH\8c\9d\19\13\fk\9b¯ØD6]\96<\9ejá°S\11\ fß²ÚÎ\81Â˳¦E\84\v+\v\v\9d\19×\1dº|û\85£\879yÎe\18R¶«\81½Êv\9e¾ÊN\128Òð«       ìrÆæ°vo)ä\ 4k\ 6\81½Ê\1aa\17\97ÃWb97\95\10Ùc¾\90\81\19\ 4ö¡­Õ¦ßÄe»Î\\15®ët\9cáÍ\172HMLå°f%"4»*â[±q×\91s°¾\89Úú&q²ÿÏòB\ 6\86\8dD¼    ¶\84¾vÛþ`xéz^Ç\19\1e{ÿ¼º\17tpÍT¼bͲ1?\7f\84«`\8búUj\1c0rÎFÇ\e\1e\eu¿¹\1frdý\8cÁí\85\e\97d$»hxCí¶\16'%\1d7\95\15
+ú0ñÆ¥ârx\1fg&\85\93\r/n5:±eîÈ.\räñ\1e6\12'\e\1e\8b\9b÷\91Å\8d\1cÞ¿G\12ix<"»ñH°c\r/í»\80âF&û.,\894|»\ 1\93Vì>'ÜÍì8Ùå¶ßÆ\12Éðìlô<v6ú\87_ív\82H\90ìÂ>«ËòÙge\85t6ÚÈÎFï=\7fãi´ýÖ\13"»p#\ 3¾\80o/]+È[âH"ÏF7í>\ 6×0\1cºb+®Zá ×I\16û*­1w2\95Ö0\9e}\8cé.\9døÊÎ6\e\9d\8aõ\ eU>¤`g£óxâk\8aq\8b\9d\8a¶ßzBÀD/Þ¡Ú³)Îäd\95ìľÍÒí\121ô[O\98ìb\8fö\151Þ¡Ê\8d\14)¤Û%Zõ\9d\10C¿õ\ 4É.ì¸aw¨b²Ë\17ë\rñI\8cÐÂ6¶~ë       \95]Hvx'C\n\88Oj,îÒ\89¡ßzÂ\10®Þ¾\8a»J»7\96ÁÁ\89(ØÞ¥ãÀ÷SBU{óü\9ee¸t#\93­V\96Hwé\94mР  ßO9²\ 5\88tCüAá T\8c7Äó\81\rsù¼Øû©\15{±ïÍ/\ e:\15/µë>\8aÕ\8d\1c\ 3>òýTÓ\1e¬ïÍcÇí.\16ª\9b«§¶I\ 1/£õJ\ 1©\ 5H}Áéíô\1cO(\96\ 1ß²\9aJ\18áe%¼xÝ\1a\1e'\98¼\8a\9d\1frÔÉpñdä\95\83\rjW[ï\9dOf%½Eß\9bf½¾[,\9e\1f\19\1a)àa\84\1fÑ\99\1d\91\93WIÿ\95p\9c\0/\15mÔUh\83Á\ e\f:p\84¿vf\a®ÝTö+\92K\96N\8f\97\8aÖí0dÆúÃÁ\ eÜY\8d\ 1ÿé¹xíR\r­\1cG9áæ)M\8d6\ 3ð~Ev~ÈQ²³ó\81ÁGÖÏ\1cÚ±\9e\1cG9¡\rF\11Ö\ 6\9eó7\9f;ì°ä\7f¸~ñîQÄÉm\vÆtoR       ç±²súÈ6\18B²sØ>K¼\80\87\8drË'ök]Cã)C§g#<\1e\96d'Ã\9f¼wع1©ÝÇáu3\87\97Õ*=#eª\fY\v\9445è<b.$z\a\0\11Û¼\84\9fÜ*8½\f3=V7ù\8b\eëu\1c6\9b\9d\8aw ìxë\14\8aIý[³LÏ·ñCT¾þ&\1d6w«ÓaÈÌ\rGC°ý\89£\ e\b\vN\7f/èðúYC;Õ\17\1a~ðêîc\1fÜX\8d\97\b·\e4}\1d\eà\1d'»ØÛ\b\e½ôlVY\89\93xye;¬j±ÏUÛ\81\1c\fº÷
+\8b\eGÉþÏ\9fxfè\ 2^3\87\r~ ¦\97\93º!´î?yÕ\81Ëw_~v\98ìèôPÞÜ\ f9ºqÎ\88.\rË\97Á\89¬¬²]\8a\94i=°¸iÙwâ\8a½0\93sàÁp¼%ð§w\8f¯\9eÙ¹d|ï\16ÕÔÅòd\96×\10\1fÙöfüÒÝç\1dÚßì?VÓ¿¸}é\0Ld;Ô5\96\90[]k.ìº\8fux\7f3¬éñ±ã[æ\8dêÖ¸"Ôµò\1aâÅÂ\ ef±£æo=\15áÐ\96\83ß\87§×Ïí^\86u­ì\86x±¿\99©~'±¸ùÑ\81\1d@¤Õ\9bÃ8\99\13\87x\19\19^lù£¯Ý~ð\fq\80\19\12ó\10¿\r\87ø*J±\97\eo\99ÍÀ Çfð­q\ 6\7fÙ\813øÿ\13ëZ6į\9a2°]mÖÃONÙ\ e[þÀ WÅ<\83wd#Kó\10¿iÎ\88®\8d\14\96×,Þ©\8d\10\8fËv;\97~ß§eu\9cÅË)ÛI\8d,Y¢wt#Kq\88¿sùàÚéCüa\16/¯      \8d¹\91¥9Ñ;²·\9b0Ä?\f;Áfñ²[¯ÅDÏf±\83g¬?\12,´zr\9cìl\88\7fv\83ÍâÛÔÔyËkBÃ:\16{ikµ\r\9c¶æPÐ=\a7ñ4/]­\9f5LjÛ)'ÙÓJËÔ«a&çhÙ\85-\18ÒÒ\95Ì\9c\9eÉ^L\18à\85\8e\95\9d½ ¹~vײ   }[VW{Êi2'½\9e0·7s´ÝYÀß¼°w%¶(f\ 1/\9bQNlz£¯Ýn\90ã\9böþ'ܸñþ)\96vS\ 3Û×1È©´\93\9aêu\1c:\13ï\9eqd\ f\ eÒ_?¿}|íÜ\9e\95PÖÖ1Èh\12/Ü%ÊNËYî4\8bñ:¼øHþÏß\7füúãûçwCOl_2¡_\9bZ2*éS°«D³æõTUmÖsì\82­'ÂØ­Ñ\7fÿû¯Å\95\80   »Q\8cÝD\87·\89~yÿâÁÕó\aÖÏ\1dݳy5\8dW¾¬r\91ýë\94âÅɵZ÷ý~Éö\93a÷_~üé·?þúëï¿Ùíyÿü\8bÄ_\ fâå\9b`ôOo\9fß»zñÈÖ%\93\ 6á­\81EÙ=\992\90\9d\99=}æÜ
+\9frõ;\ 4NZ¶ãdÈ\9dgo?}Á{O\7fûý÷ß\85[@\99"lô\10©\b{·n2\9b\83ä¿ýôùý«Ç·ÃÎ\1fÞº|ú\88\1e-k\19¥Ë"yK.\ \8b\97
+z*+}Ûyð\94\8f]¾þàÙëw\1f>ýðùó\97/?þøÓO?ÿò˯L\11\16z\88¢\b[Ø¥\93\7füöóç\ f¯\9fÞ»våÔþMK§\8fìݶ~\ 5¥Wþl\19åQÛ\88._ ¸¦j\93.C&/Ù|ðLðµ;\ f\9e<{ñòÕë×oÞ¾}÷þÃ\87\8fL\11Vz°RÄßÿX\81\7fò×\9f\7füþëO\9f?¼yöàfȹ#;×.\98<¼W»\ 6\95µ%
+åâtÁ\8e=ÙSãݹ%´U\9bt\ eü~Þ\9a\1d\87N]\f\ e¿vãÖí»÷î?xððÑã'O\9f£"Þ¼±Ð\83¥"P\136üöÛ¯x]òû×Ï\1fÞ
+»x|ï¦e³¾\eÔ­uýÊÚR\8a<YñJ)yÈ\8eá\8e²Wiԡ﨩\vWoÙ}àèÉÓç.\º|%8$4,<âÚõ\9b\82""õ`í\10È\8ffð¿>\7fþáãû7/\9f\15~éäþ­«æM\1aѧc³Ú\15Ô%\15y³y¤\93\87Ù%Ù\vz«*ÖmÙuàèɳ\17¯\·që\8e]{ö\1d8xèÈÑc'N\9e>\83\8a\b
+\ e±ÔC¤"P\136¼~ýêų'\ fî\\ f½xòàö5\v§\8d\19\18кa5\93\9fwá<Ù<Ò§I\9aûQcEðù\1cù=}\8dÕ\eµéÚoè\98      SgÎ\99¿hɲ\15«Ö¬]¿aãæ­Û\ 4E\1c>r츨\ak\87¸w\1fTaÉýû÷îÞ¾y-ìʹãû·¯]<ã»Á=Û7©UA[ºX\81\Y=Ò\81è\1c/ݰ@ÈuÙò*JªËÕhØ¢C×^ý\a\r\1d1zìw\13&M\9e:}ÆÌÙsç-\10\14±nýÆÍ[¶Eu\88+AÁÁ!V\ 4\a\a]¾xîôñ\83»·¬^4süÐÞ\1d\9b×­lðõ.\9c7Gæ\fàð2\11\9dÉ\9e&C\96\9cù\8b\95R\9bªÔjФe\9b\ e\1d»\ 4ôèÕ§_ÿ\81\83\ 6\ f\196bäè±ã'L\9a2uúÌYs$=X8Äþ\83\87\ e\1f>bÅáC\a\ fìÛ½}ÓÚeó¦}7´Oç\96\rª\95U\95,\9a\1f\8c\9e>Mªo¾\96\89èBm\93Î#k®\ 2EKøj\8c\15ªT¯U§^Ão\9b4kѲuÛvíý;vîÚ\r\151 pÐ\90\ 5=X;Äê5k×­[·Þ\füÇÚ5«V,]8gú\84Ñ\83{wjÕ°FyMiÏ\82y²gÊ\90V>Fÿ\8aÉ\ e\86\915g¾BÅ\8a\97òQjt\ 6cÙò\15+U©V½f­ÚuëÕg\8ahÕºmû\ e\92\1e¬\1cbòÔiӧϰbú´©S&\8d\1f;bpßn\1dZ4¬QAëã\ 5î\9e%cº40¶ÉGtÁð |Æ,Ùså-PHQÔÓ«x\89R¥Ëøú©Ô\1a­No4\95+_±r\95j5jÖ®#êÁÚ!ú\ f\f\1c4h°\15\83\ 2\a\ eè×»{\97\ e­\1a×­V^ëã­È\97Spw\19\19\1d\ 1ÙQøt\19<2gÍ\9e#Wî<yóå/P°\90¢HÑb\9e^^Þ\91\8aÐé\r¦²L\ f\96\ eѲu\eÐ\84\ríÚ¶iÕ¼IÃ:Õ+\1aÕe¼\15ùse\93\9b»\8b ð)¿I\9d&mú\f\19=2eÎ\9c%kÖlÙsäÌ   j\0=X(ÂÛ®CT¯Q³V­ÚVÔªU³Fµ*\15Ë\19Ô¾%=\vçCÉÓ¥ÆRNn¢£ð\10ó)¿I\95\1aäO\9b6]ºôé3dÈ\bj@=X("ot\ e¡ÕêlÐjÔ*?\9fRÅ=\15\ 5òæÌ
+\92Ë)»Û\80Ò\83ñA\ 1ß|\93
+H\rj\10ô`¥\bû\ e\13Ta\8d§g±¢E
+\17Ì\9f'gö,\1eLrù¹»\ 5)\ 4¾f¤L)èÁF\11ö\1d\ 24\ 1>a       üAî\9sdÏ\9aÙ#Cú´©\ 5Éå+º\ 5)RXéÁJ\11ö\1dÂ\ e\992ydÌ\90>]Z4¹ËHn\83\8d"ì:\ 4\ 6øÃ4iR§b\82»¨äÖDë\10öI)Êíú\82Û\92ÂV\136\88\7fÉû1        \82 \b\82 \b\82 \b\82 \b\9exyÕè×µz§Á\9d<ZÕöðªRGç\ fÿݤӠÁ\ 1\81\1e\r=¼üýª\ 4\ e®Þ³Ëà\9eýûu
+\1c¡(\v\7f¤Rø5      èÔGQBø1\ 5ü\84¢Q`Ïî=ûÁ\1f6íÒ©O@IE\19ø¹rð\7f\1eÍí\7fF  ¥¯I¥R\9bÔ
+¥¯\92aù/&\8dJ©6(LZ\83¯J©1ªU
+\9dQS\12\7fÍW«ÔiLú\92
+¿¦\83\ 3{öë®(Q¥kÿÎ\ 1\8d
+è2¸A'ø³áÂ\97ûµjP¿y\9dê\8a²\8a\12ݵj\95Ñ_í_RQ\ e\8e\ fÏ\ 3\7f'þ å\93\1aö\1fÜ$ KÿÀ®\ 1]ãò×%ú²ïl'É£2ªÊ(ñ\1fA\ 6½ÎXF\92BS\ 6\84Àçg\82hUíJZH18°S¿AÝú\aö\15U§(Ñ´E-ÿ*\83á¯;\ f\19\1c0\b\9fÂê¯,þ\0Õ¬T¨\14JöO«\11\1eìÿuõÐ+J\94T´j  \7f­TT    \80ÿ7Äö_«³ÿmÄþ\17\7f_-ü¾\97¿\8fJiðÕkMJ\83Á`Ô\99\f*\85\8fÊW§×jµ&\93^gÒ\82 \8a¾øs&µ¯NeÒ\19áGT\1a\83A­P\83\1eàïáw\94j£I\89¿¨ÔújU\ 6ø=\95\11>L¯P\83r\8cF½Q¯R«\f\ 3ø\11µ¯V«S£mu\ 6\8dJ¡Qûª´\1a\9dÆ U\99\f&\9dVQMx(­¯A¥ÓÃ3i\f [\85Öè«V\1a\8cð½j5|\ 1|\90Jçk2i4J\95A¯Skô
+½ÊW©\81'2j\r:¥I\87?a\82ÏPªô*­I§Ò\1a\14\ 6½¯\ 1\9e\ 4\1cOmÒ\99LÒW©u(\98Ñd2*UZµVaRújMZ\9dɨÒj5 \r|\92ZëkÔÂãÀ\13Â#ª\15(\85\12\9cÀ \ 6ÛÃ?ø#&_­Ñ¤W\1au\1a£VcP°ç3\9at\1aP\8eÞ¨3\88_¦Ñû\1aMjx`¥ÒhÄORë}5&­F£\82ÿ\82Ï\83\82FÔ 3>¨Q¡\ 2\ 5éá\ 3õJ½\1e$¯Òê|Õ:#\88­\ 1ýëM
\1f<±J\rª2èÑ\10ÂWiM` x\1a\rXL§Ö)T:СN©\a¥iÔJ-êP§ñÕ©\r\ 6\rÊ\ 6_¥Ç\1fP¡)ô&A*P»Þ\80\ fjÀÇQ)ÀéALø/\90\1e>×$}\15\ba\ 4\9d\8bPx\13\ 4\82Q©ÑéðãL&Q*P\1d<\8dÞdT¨Uè\ 6`P\r<\8dI\83Ï¢1ù\1a5F0\8fI©×\18àGÔFô\f¥\12\fa\0sI
+\84\81\92ð7:\85Zcð5À\13Á/ê´ \a~\15XK©7Â'\19\8cJ\83V\ 1.
+\ f­\ 4ÇÐ*A.ü\11\8d\ e\1c\15ä\ 2/ÔªAtµ^ãk\80ÇQ\83ßÃ\13\9a­e\0¹4jP\17\b®\86\1f\83\8fÖ(Ám\95Z£Q¥GkiT ©\ 6Ì Õëõ \88\1aüP\8bî¦ÔéõøÑÌÁÀ¼jø\10\9dΤ\81O\ 1µëõZ\83I\ 3\82\98´FñËÀ]5\10\81F\1dD\1ex\1cü\98Ñ\17ô¬7hµ\ 6\r\84"~\92\12Ì\81:\86¿3ê5ð#à\87:0 ^kÔkÑå\8d¾\1a-z\1d¤!½\11\7f@é«6h5z\95\ 1̪\97\^¥ñÕ¨uàÏJ¥\ 1#C­×úªôZP7X\b,\81\9f¤\84T¦Õ\1a!4õà+ì\99Á¹!\8fc\98\0TCèªá\97 ¬@9ð\aZ\1dü¾Z\ f\8f\10b\a~I\a\ e«6\19ð\93\90lÀ§Á\0\1a\1a\1c\ f ü!\85jð£!\87ûÂC\80w+!\93hÑ^à\v\10û \87I©Q\9a ¯ÀÓhõJ5|$ä.½d.\15<\91\11?ÕhP\82ôà7àSjP½Ö 6\bߥ\86§Ñ\83¯ªÀ±À\*\83\11ÂT\vN\ e²h\99\ eÕ\1a\10C\vb\18!*àÛUz¥¯FgRbrT\9bÌ\8e\bâ\e@A\ 6\13x¿\ 6¾\v5\rAªÑ\19µ \fS\10f$xdøx#Ú\1dÝÉ\b©\11\92«F\ fÎ\89ÙPékÐÁ¿CâPB:Q`\1aÑ\83Ó\82     \8dð\90\1aá» \9a0!èÀ\99uðYðÔ 2µZg\0Åë´:\ 3\0\99Ö Ó\80=L0î¨1E\99àG ÇBæ\80X\81/ü\ 6a\vz\80\a\84$ªÀ\f¡\83èÄ̬ÑCî\11¾\f\ 2\f¾G©ÓiadÆOBù!î Õ2sÃ'ÁG\83³\9bÀ¬z\15~=x\97/D\1cè\1cÄ\aÕ+|\8c\ 6_P*\88\ eJÖ«ôðÈ0"B6Å\81\ 1¤Ö\89\0\1a\81àQj K\83¸\98`ÀéÁ\9dàg\f\90ñà±!2Áo 5\18õèõ:!¹\18\8c\10Ñ&\95A\8bÉE\a\ 1oP\82Ëà£SaÒ\84O\81\8fÀ\14`\84\f¢\13¾\f\82\ 5\b6\ 4\9d(1ùÂc\9bÔzЭ\12\12¢\11>     \\18\ 6!#ZQ©Ã\ f\82Ô\ 1¹\17,\af5``\80ÎÀ\fðez­\1aò(\98\fr\ 2¤\ e4=\b¢\17\ 5\ 3o\80ç\87ø6@>\83a Lf\84\8cg\82,
+\1a\82ô\ 5OmðÅQH\v\99\1eôª\ 5{¨Õ̪JHæ \9f\96=\ e(L\r\8a\0Õ\82¢\14\18\b\90\12\90È1·±/\83\ 4\ 3\89\1f\92\9f      ë,\b\aLÈ8\9e\80ï\813A¢ð\81ÐP\1a\r\10\1d\1a­A\ f©\v~D\ 5Ú\0½\83\16a(\ 6\93©±*\ 3kB¦Ç\1c\ 4\8f¬Ç'\ 4]\82óÃ\83
+\ 1\r\8aÕAÚ\86¿\a/\ 1ocAfÒ«!|A\89\1aü\ 3p\17=D\vÆ\ 1ÔEð\aF\1c\89 \94 1¨õÌ]|Ù \ 2n§Õ\80\8fB<\83oBä\82\ 2Y,²oÂA\17¢K\aÉ\fò\13¸\90Z\85I\1aFW\90\ 1~_£\0¡ \9e\94è' \ 6æ\16P\ f(\1cR\ 5(P©Æ\1f\80±
+¬©×À/cN\ 5c\81â´àQ\10\ 2ZÁX\90\13 ~\81A\ fÇ\1dÈ\8b,ÙÁH­\86a\1eü\ 2\87+Ìà \13\fl\b\ 1ø\ 3\ 3èS§×aR\80â\aÊ\18=$\r\18@õj\f\96\8d\ 38th0\89êU\82HðS\ 6\18úu\1a¨Pp|d\9f\ 3á\b\9e­2²1\18\\19Â\17²\1e\f\16&\1c\98@»z=ä\18#\8cýP2(`\1c\85\9c\8cù\13þ\1e\8b\18ÌÝFô*¨\8f \80\16Ò\13d\1a05D\1fT£JL¡ð\91¾\98^¡~\81\1c­R@L\83NàO@M\98Û\14\90%!3âÐ\ e\95\1aèP\ 1Ñ\ 2ÿ\ 2µ\16\ e³LýzÌ\fP\8dÁ\9fª¤ò    *^¥     ¢J\ 3Á¡ÂA\0\ 6-\138+|\94\ e\92\87\9e\15njðr%&\f\b%6$©0M\98PU0úA\1c\80~ÀÌ\1a\88\ 5½ÑÀT\a\9aÇ\b7Âð.H\ 4_\ e)\17\8b=\1cÚ¡LÅQ\1d¾\17\ e\9dܤÀÈD  5ðô:xd06d%\88\0\9dPÆj\14ð°\90\1f\f G\18âÁøð\0¾XÕ\19aÞ¡U\89\ e\ eªÃº\rd\87Ñ\18\7f\bF#\83Ö\0)\0ë^#8\15:\83\1eËC\ 3ü=\16E&ÈY dt\19\90\15\8c\ 6AªÁä\87\1e®f\ 3\11D\0\8c´0
\9f\18\85ñ
\19H\87J¨m°ªTc¼A\19\ 59\16\84\81\9c ÊÕ\82Yõ:T\10ÖUà\1e\90\80áÛ ð\14&L=¬t\a»Â\ 3°°6ÁS¨1ò lÙ7¡é!\85B\b@þ1bZÃÚ
+*ZH<zÐ\1f\8e\1fðM\10\8b\1a\14\1d\9c\ 62\8dJ\vÁ\ fY\18\87\v(H`°\ 2ç\85b\16j\ e\18\85u8~(UXÞC\86WÁW\1aÅ,\v\ 5­\ e\ 45\0$:ø$xf\1cøµèá0\8e²Q\18\9c\\83\85\rø\0\f[\18§`U(lXNÇ\1f\81ñ\1d\14\ 1\8f\ 33\aH\1az\ 5Ô¼à\ f\10µðSP<\89\83\15\ 6¸
+C\10¬¤Ã/ó\ 1§À:\ 2â\ e\1c\e4\r\7f\0>\ 4>¡ÅÉ\ 4x7û\13¨ÎTX`h\94`\1fEts ÜEg0@VÔë¤iI¬s¥úðsU;³y\96ðOÕ\1el"]¢y¿~\9dúÂ\²{`§®=\ 3ú\r\86´X\12\ 6\ 1_L!¬fPB\9a\0'ÀT\ ey\19b
+¦7J½\82M\97\8d\90\a¨\85\b\ 1¥À\ 3+}±¨À8Uád\vþ\b¿
+\9e\ 6ԥ¡\ 1Ç\b\18A {¢ëA\8ePâw¨\14¬\94\86g\ 6³ãØ¥¨Ú\9d\rÃ\90TÀÓ` \822\0\12 ~\98      kz#ü ¨]\87I\10Ì\rå\14\8cÄPJÁ0¡U@®ó5\82\1f\98À¹\14Uq¢Ø\8dÉ^µªýÕ\0\8bÉú\80N\83\18¥¶?Y7(üê\80\92Ø\f¸i\8fN\ 3\ 2\9a\8d\18\10\10§y¼£\94Ã\96>\84\85\ 6øTE\89jUêÔ\12\fçï\96k\10åÄÕ   ÿ*uL(FÓÁ#ú\ 4øG>§Åü]\98\81äÝ\9e\9f¨\1dë'ÂJ\81ô¿ÌÖ¢i"W\f¢_¶\81Ï\87ÁÃî²\8døWPæá\1fê°tõ\11\96m |Ä\ 2
+\1f:~\v7je\1cVmìü·Åº\f{*¥I\\96\91þËü\90e|4âÓ±'Õ8tYFZXQJ\v+âÒLÜT\9d´+d\89V4¯\ 50P^`'ñiªÔQT\192¸¿BX\9aì92 ò+¢Dd£Î\83\ 2\ 2\87\ 6tõ¯\170Â_ø¡A\8eX\13\8cå¯[U\88aE\8eÖâh-\8eÖâh-\8eÖâh-\8eÖâh-\8eÖâh-\8eÖâh-\8eÖâh-\8eÛZ\9c¿>\9a½31,Ç\89Ë\1fòYG\8aV\b\87m\0r\85\85&\93ù¿Z\95\97ðYl\ 3\80\11VzkR£&ª\ eþ£Nuiï\14þ¬øWæ\1f/gù3â\1f\94®RÇ\1f~¶fÏ>\83\ 3\ 2­\9e<\ eË¡±.8±ÏPà³\b_ ¨Ñ­[\0~\87Y\99:\9bï«ÓoÐàNýºÀwu\1aÜÉ\1f\9eµA§\ 1Ñ|YôÂ×\18\1eÐe\bþ¬=\15Ø~#Jhþ\ 5ëï·0\1aä\9c*ýà\ 3\99QØJÐ\10\8fȵY´$nÉ\ 3A\ 3Ê
+ÿZ5 {Ï~âþ<0%üL-\ f¿ê\ 1C{v hR«ª¢UC\8f¶æ_÷\81¡\1e\8af\93\ 6Ó\vd\b¬Ç {áØ   \ 5\99A£V´W@vWÀ\14\b½¥G<\7f\15\7fRúuéÿ\e\150ÂA\ ec\1f¤\85\7fà\87<¼¼ØS£ôe\15Z\98G\19L\1e­ê¤\8fwÓA\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b\82 \b÷"¾7Cð~^\82 Ü\1f\a^fÃ[\14\82 Ü
+\af'JVD|!_"bÆy  \8a\1c\8c\88\19r'"V\1c\98\85ȵ\88xA\1e\ 5\87ø ¹\16\91\0È£\88¸àX?!×"â\ e¹\13\11\17\9cá' \80·\1a\88¤\83|\89\88/Îö\99xÁ[\19D¢àí>\91ðÖ\ 4áHx{\93}xk\85\88\1f¼ýÅ>¼µB8\fÞ®\14\15CÄ  Þn\12\13¼uC8\ 6Þ~\14\v¼ÕCÄ\ 2o\a\89\ 5Þê!\1c\ 3o?\8a\1dÞ\1a\85·kÄ ÞJ"\12\vo\ f\8a+¼õDØ\81·SÄ\15Þz"\12\ 5\89\a¼UEØÂÛ#â\ 1oU\11\89\82·ûÄ\ 3Þª"láí\11ñ\80·ª\88\84ÃÛwâ\ro\85\11\91ðö\85øÁ[[DÂáí;ñ\86·Â\88HxûB¼á­0"!ðö\9a\84À[gD$¼}!ÞðV\18\91\10x{MBà­3"\12Þ¾\90\10\8c\887¼]&!ðÖ\19\11      o_H\b¼uFÄ\ fÞþ\92pxk\8e\10áí\b    \81·Î\88øÁÛ_\12\ e\11\1d!!ðÖ\19\11?xûKÂá­9B\84·#$\ 4Þ:#â\ao\7fI8¼5G\88ðv\84\84À[gDüàí/   \87·æ\b\84·\17$\10Þj#â\ao\7fI8¼5G ¼½ \81ðV\e\11?xûKÂá­9\ 2áí\ 5      \84·Ú\88øÁÛ_\12\ e\11\1d!!ðÖ\19\11?xûKÂá­9B\84·#$\ 4Þ:#â\ao\7fI8¼5G\88ðv\84\84À[gDüàí/   \87·æ\b\11Þ\8e\10ox+\8c\887¼]&áðÖ\1c!ÂÛ\11â\ro\85\11ñ\86·Ë$\1cÞ\9a#Dx;B¼á­0"Þðv\99\84Ã[s\84\boG\88\15F$\ 4Þ^\93@x«\8d\10áí\bñ\86·Â\88\84ÀÛk\12\b\11\1d!ÞðV\18\91\10x{M\ 2á­6"\12Þ¾\10?xk\8bH\b¼½&\81ðV\e\11        o_\88\1f¼µE$\10Þ\8e\93\10\8c°\82·;Ä\ 3Þª"\12\boÇI\b¼uFXÁÛ\1dâ\ 1oU\11     \84·ã$\ 4Þ:#¬àí\ eñ\80·ª\88\84ÃÛwâ\ro\85\11¶ðö\88¸Â[ODÂáí;ñ\86·Â\b;ðv\8a8Á[ID¢àí>ñ\83·¶\b;ðv\8a8Á[IDbáíAñ\80·ª\bûðö\8bØá­!"±ðö xÀ[UD´ðv\8dXà­\1eÂ\ 1ðv¢¸Â[OD´ðv\8dØá­!"±ðö ¸Â[ODLðö\8eXà­\1eÂ\ 1ðv¢8Á]v'=\80Ûà<Ó'\1eÞº!\1c\ 3o?\8a\1dù\bëÀ'q'\1cbeçÁ[=\84\ 3àíDqBVb&þaÜ\ f\aª×áðÖ\rá\18xûQìÈM:GiÞ\9dp\86\9e\1d\ 2\10\8e\81·\1fÅ\8e\får¬     Ü\0§j;1ðV\fá0x»RìÈP"g\18Â¥I\ 2\9d'\0ÞZ!\1c oo\8a\ 5yÊâ$[¸(I¦öxÁ[+\84#áíM± OA\9cg\ e\17%)\95\1fwxk\85p$¼½)\16ä)\82³\8dâZ$½þã\ 2\10\8e\84·7Å\82<\9f?   ìâBp1A¬ðÖ
+á`x;TLÈöá\93À..\ 4/+Ä\0o\95\10\ e\86·CÅ\82<\9f<ɬã\12p4D\fðÖ
+á`x;TLÈö±\93Ì:.\ 1_[Ø\85·J\b\aÃÛ¡bA¶Ï\9cÄf\923¼Ma\aÞ*!\1c\ fo\9f\8a \99?p\12[J\9eð6\82\1d\84p<¼}*\16dþ´\L&+x[À\ e¼UB8\ 5Þn\15\13ò\7fT.&\93\15¼-`\aÞ*!\1c\ fo\9f\8a\ 5ù?'GÛÉ\ 1Þê·\ 3o\95\10N\81·[Å\84k=d2\84·îíÀ[%\84SàíV± ÿ\87äk>¾ðÖ½\1d\84p\16¼=Ëåám@nðV¼}xk\85p
+¼ÝÊåám@nðV¼}xk\85p
+¼ÝÊåám@>ðÖz´ðV\fá,x{\96kÃÛz\1cà­ò\98à­\eÂYðö,×\86·õ\92\1aÞú\8e\1dÞ\1a"\9c\ 5oÏrax\9b.©á­ïØá­!ÂYðö,\17\86·é\92\14ÞÊ\8e\13¼\95D8\vÞ\9eåÂð6]\92Â[Ùq\82·\92\b'ÂÛ¹\\15ÞvK:xk:®ðÖ\13áDx;\97«ÂÛnI\aoMÇ\ 3Þª"\9c\ 5oÏrUxÛ-\89à­æøÁ[[\84\13áí\.I\12(ÜQöuösÊ\aÞ
+#\9c\boçrI¸¨×y>àÔÇN2\92R?D\12ÃÛ¹\\12îZ%\7f\88\8aótBÈ\ 1ÞþåzÈG\99ä \968V\e\84¬àí\®\87ÜÔHn à\10=\10ò\84·s¹\1e²Õa2÷\81D\ 4\ 1á\ 2ðö/\17CæÚK¶ÖwP4\102\85·\7f¹\18.¡ºdh}G\87\ 5!/xû\97\8báBzKn¦wf\94\10üáí_.\83+j,ùØÝù\81\84·\7f¹\f.ª±db÷$\89\15\82\e¼ýËepiu¹½Ñ\93<n\88$\85·\7f¹\ 6n .·7z\92\87\ e\91¤ðö/\17À=\14%\88à\ 6\82Ø\85g\b\11Î\87·\7fÉ\1dR\94KÀ1\82\88$\80·\7fÉ\1dÒ\92KÀ7\88\88$\80·\8bÉ\17R\91«À1|\88¤\81·\8bÉ\17R\91«À1|\88¤\81·\8bÉ\17R\91\vÁ1\82\88$\80·\7fÉ\17Ò\8f\vÁ7\88\88$\80·\8bÉ\11R\8ekÁ1|\88¤\81·\8bÉ\11R\8ekÁ1|\88¤\81·\8bÉ\14Ò\8c\vÁ;\86\88¤\80·\97É\11R\8bkÁ;\86\b§ÃÛÅä\b©Åµà\1dC\84Óáíb\ 4\91XxÇ\10\91\14ðö2\82H\14¼\ 3\88H
+x{\19A$
\ 1D$\ 5¼½\8c \12\ 5ï\0"\92\bÞ\8eF\10   \87\10I\ 4oG#\88\84Ã;z\88$\82·£\11DÂá\1d=DÒÁÛ×\b"\81ð\ e\1d"éàík\ 4\91@x\87\ e\91tðö5\82H ¼C\87HRx»\eA$\ 4ÞqC$)¼Ý\8d \12\ 2ï¸!\92\1aÞ\1eG\10ñ\86\10I\ro\8f#\88xÃ;h\88¤\86·Ç\11D¼á\1d4\ 4\ax;\1d\ fÞ\11Cp\80·Ó\11D<à\1d.\ 47x»\1e\15Þ±Bp\83·ë\11D\á\1d+\ 4Ox{\1fAÄ       Þ\81\84·÷\11Dìð\8e\12\82\1d\90 b\87w\94\10üáí\83\ 4\11\v¼C\84à\ fo\1f$\88\1d"\84,àí\86\ 4\11\13¼ã\83\90\ 5¼Ý\90 ¢\85wp\102\82·3\12\84}xG\ 6!#x;#AØ\87wd\10ò\82·?\12\84-¼c\82\90\1d¼]\92 lá\1d\13\84\1cáí\95\ 4\11      ïh ä\voß$\b\11Þ¡@È\17Þ¾I\10"¼C\81\905¼Ý\93 (G\11±ÀÛC    \82Ò\14\11\9d\94HÖðv\7fÂ5àí§D²\86·û\13.\ 3oW%\92\1d\9fp%x{+\91Láíø\84\8bÁÛa\89d\ao\97'\\12ÞnK$#x;;áªðö\"\19ÁÛÙ     \17\86·ó\12É\ 2ÞnN¸6¼ý\97H\16ðvsÂåáíÂ\84\9bÃÛÁ  7\81·#\13n\vo×&Ü\aÞ¾L¸-¼]\9bp+x»3á\86ðvjÂÝàíÑ\84»ÁÛ£        ÷\84·_\13n\ 5ow&\1c\8fL<Á±\8eJ$[\1cî\99\ 4/dè\18\8e}$"Ùâ\10o$8"s\ fqöã\11n\8f\84à\85«¸JR>'á~8*^\88$Ƶ\1c\86×Ó\12n\80c\ 3\87H2\Ñmø>3áº86v\88¤\81·× ®ûä\84káØØ!\92\0Þ.c\8b«??!\7f\9c\11G\84óàí/öq\ f)\b\8c8"\9c\ao\7f\89     w\92\85\90\15Î\b%ÂIðv\96Øq3q\b\99à¤\80"\1c\ eoO\89\13n)\14Á\17gD\13á$x;K\qW¹\b^8#\9a\bgÀÛSâ\87\e\8bF$1N
+(Âáðö\94xãö\ 2\12I\863\ 2\8ap8¼Ý$\81$\131      §â\8c\80"\9c\ 1oOI ÉDL©8# \b\87ÃÛM\12\12\96p\ 6Î\88)±ðö\91Ä\92\fE&\1c\88Ã\ 3\8aH\18¼\1dÁ¹\90B\88Äàðp#â\ 2o³s\80ôC$\18'\85!a\17ÞÖæ       é\84H\18I\19¡É\1cÞ¦\96\ 5¤\r"\ 1p\fÛd\ 5o;\13\84«Â;v\93\ 5¼\8dL\10®\rï\bv\7fx[\98 \\1eÞAìÎð¶-A¸\ 3¼ãØÍám^\82p\axDZÛÂÛ°\ 4á>ð\8e\84·U   Â­à\1dÐn\bo\93\12\84[Á; Ý\10Þ&%\bw\83wL»\e¼íI\10n\bï°v+x\e\93 Ü\10ÞaíVð6&A¸'¼#Û­àmL\82pOxG¶[ÁÛ\98\ 4á\9eð\8e\82·1        Â\rá\1dÖî\ 6o{\12\84\eÂ;¬Ý\rÞö$\b7\84wX»\e¼íI\10n\bï°v\1fx[\92 Ü\16ÞÁí>ð¶$A¸'¼#Û­àmL\82pOxG¶[ÁÛ\98\ 4á\9eð\8e\82·1        Â=á\1dÙn\ 5oc\12\84\eÂ;¬Ý\rÞö$\b7\84wX»\e¼íI\10n\bï°v7xÛ\93 Ü\rÞ1í\86ð6)A¸\e¼cÚ\rámR\82p7xÇ´\eÂÛ¤\ 4ánð\8ei7\84·I        ÂÝà\1dÓn\bo\93\12\84[Á; Ý\10Þ&%\bw\83wL»!¼MJ\10î\ 6ï\98vCx\9b\94 Ü
\ 1í\86ð6)A¸\e¼cÚÝàmO\82pCx\87µ[ÁÛ\98\ 4á\86ð\ e\82·1  Â=á\1dÙî\ 3oK\12\84ÛÂ;¸Ý\ 4Þf$\b·\85wp»      ¼ÍH\10î\fïøv\a\90 Ü\19Þñí\ eð¶!A¸9¼CÜåám@\82p\7fxG¹\vÃÛt\ 4\91\1dè.\f\11Dr\81w¬»*¼íF\10É\bÞáî\92ð6\1aA$#x\87»KÂÛh\ 4\91¼à\1dñ®\ao\8b\11\82wÄ»\1e¼-F\10É\ eÞAïbð6\17A$Gxǽ+ÁÛV\ 4\91\1cá\1d÷.\ 3oC\11\85wô»\ 6¼­D\10É\17ÞÑï\1að¶\12A$kx'\0\17\80·\89\b"¹Ã;\aÈ\1dÞö!\88ä\ eï\1c wxÛ\87 \92;¼s\80Üám\1f\82 (MÅ\ 4\10\ 4\81ðÎ\ 4ò\85·e\b\82@xg\ 2ùÂÛ2\ 4A ¼3\81|ám\19\82 Dx'\ 3ùÂÛ2\ 4A ¼3\81|ám\19\82 Dx'\ 3\99ÂÛ,\ 4A\88ðN\ 62\85·Y\b\82\88\84w>\90#¼mB\10D$¼ó\81Lám\16\82 "á\9d\ fä\bo\9b\10\ 4\11   ï| GxÛ\84 \b+x§\ 4ÙÁÛ \ 4AXÁ;%È\11Þ6!\bÂ
+Þ)Avð6\bA\10VðN   ²\83·A\b\82°\85wV\90\1d¼\rB\10\84\15¼S\82\1cám\13\82 ¬à\9d\12d\ao\83\10\ 4a\vﬠ;x\e\84 \b+x§\ 4ÙÁÛ \ 4AØÂ;+È\ eÞ\ 6!\bÂ\16ÞYAvð6\bA\10VðN      r\84·M\b\82°\82wJ\90#¼mB\10\84\15¼S\82\1cám\13\82 ¬à\9d\12d\ao\83\10\ 4a\vﬠ/x[\83 \b;ðN\fò\82·5\b\82°\ 3ïÄ /x[\83 \b;ðN\fò\82·5\b\82°\ 3ïÄ /x[\83 \b[xg\ 5ÙÁÛ \ 4AØÂ;+È\ eÞ\ 6!\bÂ\16ÞYAvð6\bA\10¶ðÎ
\83·A\b\82°\85wV\90\1d¼\rB\10\84\15¼S\82\1cám\13\82 ¬à\9d\12ä\bo\9b\10\ 4a\ 5ï\94 GxÛ\84 \b+x§\ 49ÂÛ&\ 4AØÂ;+È\11Þ6!\bÂ
+Þ)A\8eð¶ A\10VðN   r\84·M\b\82°\85wV\90#¼mB\10\84\15¼S\82\1cám\13\82 lá\9d\15d\ao\83\10\ 4a\vﬠ;x\e\84 \b[xg\ 5ÙÁÛ \ 4\81wb\90\17¼­A\10\84\1dx'\ 6ÙÁÛ \ 4AØÂ;+È\ eÞ\ 6!\bÂ\16ÞYAvð6\bA\10\9d\18d\ao\83\10\ 4a\vﬠ;x\e\84 \b[xg\ 59ÂÛ&\ 4AXÁ;%È\11Þ6!\bÂ
+Þ)A¦ð6\vA\10\91ðÎ\a2\85·Y\b\82\10á\9d\fd\r\10\ 4\81ðÎ\ 4²\86·q\b\82@xg\ 2¹ÃÛ>\ 4AP\9a\8a\1dÞ&"\88d\rï\ 4à2ð6\14A$_xG¿+ÁÛV\ 4\91\1cá\1d÷®\ao\8b\11\83wл$¼\8dF\10É\bÞáîÂð6\1dA$\vx\aº;ÀÛ\86\ 4áÎð\8e\82·1        ÂÝà\1dÓn\ e\12\84\vÃ;| \11Þ\8e@\10Üà\1d|\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4A\10\ 4A\102\85÷qp\82 \b\82 \b\82 \b\82 \b\82àN
+\ex?OrÅl\80¯EÈ \9c°0CJ3f\8bð~º\ 4â\9a1.Y\ 2\fð\r\90\8a\ 1ÿÂ\fâZ¢\98±M¸."\84h
+f\88T©R§N#\90:uj°\88d\ eÞ\ f\19\13®ë\84x¤)R\81\1dÒ¦M\97^ ]º´`\11\b\10\174\87d       «\94ë\ 2æ\90L\ 11\91\ 6\f\91\87G&ÄÃ#c\86ô`\ fW4\87\7fcθ_Ë_\b³-R§AKdÊ\9c%k¶lÙ\81lÙ²fÎä\91\11ì\91Ú\9c¬x?l\H\91Â2Ô\ 1Ì·\16        \97÷óÅ\ 4{îo¾\81¨H\9fÁ#s\96lÙsæÊ\9d'/\90'w®\9cÙ³fÉ\ 4æÀè\10\1d\8b÷ãÚÅv þ:2ÔÓ¦CÒb\803sÈU\ 4\ 6\10\16`\8a¬ÙsæÎ\9b¿@¡Â
+ p¡\ 2ùóæÎ\99ÍÒ\1cr\fsÛÙ\91X\13
+I\17b\1dÈ å[\99[\ 3m\91\92Ù"S\96l9óä+X¸¨§Wñ\12@qoÏ¢\8a\82ùóäÌ\8eæH\9bF\9eq\1eez$\f\13Òð\97)sæ,Y2cºÍ\90\8e\89\80\12ð~æè\10\92\14Ø"c¦¬9rç+¨(æ]²\8c¯R\ 5(ý|J\97ð*Z\18Ì\91-\8bG\ 6\8bààýÐ\16D&%q¨f\83\84\18þ²ç\0²ãð':\94¼\8dÁl\91!SÖ\9cy
+\14.V¼´¯Zg0\95+W¾\Y\93A«ò-å\8dæÈ\915³$\8b¬¬!\9aB\9a\1e¥MËÆ\88ô\192@H°á\8f\8d~0üÁè\97YîÖ\10\ 6\fÁ\16y\v\16ñ*å«1\94«X¥z\8d\9aµjÖ¨^¥b9\83Æ\ fÌQ(_®ì,8df\r\8bJP\18 p\84ð@CdÍ\9eC\1cþ\80B\ 5\vàà\87ÖH-_c°Ñ;Uê´\19<²æÈS°hñ2*}¹ÊÕk×oÔ¸I\93&\8d\e5¨[³j\ 5£Æ·¤\97¢\0\ 4G&LUrʺ\82-¾±\18 ²dÉ\8a\85y\8e\¹óæ+PHQ¤\98\977àY¬H¡\ 2\1a\82;Éäñm\10\93Tz\8f\16>\1acÅêu\1a6mÙ¦]\a\7fÿ\ eíZ·hÒ vµ
+Fu\99âE\væÍ\99-\93$\8cL¤1Û"]ú\8c\1eB4äÊ\ruy¾ü\82!\8a\97,íãëëëSºdqO\ 5\b\80î\94Z®Æ\10\ 2\ 3\ 6ïÌÙr\17(\ 2¶([¹V\83¦­;tîÖ£WïÞ½ztëÜ¡u³\86µ«\96Óù\95ô,\9c/W¶L,SÉ%4¤ª<­T\95çÉ\97¿`¡B
+EQ\b\88\12¥ \ eQkõz\83^§Qú\94ò*R0O\8e,\1eéÓ¤\92­100Ò¦÷È\9a3\9f«\8c¦l\95Ú\8dZ´ïÒ³ïÀ!Ã\86\ f\1f6tPÿÞÝ:¶iZ¿FE£ª\94Wá|èZ2ʺ,0À\16é¡\12ÌΪò"Å<½\8b\97Àx@;\18Ë\96¯X¹råJ\15Ê\19µÊÒÞEòçÎ&<¿<\1eß\1as`@\92*äYJeªRûÛVþÝû\ e\1a1fü\84I\93&MønôðÀ¾Ýü[}[»²I]Ú«pÞ\9c̵ä\12èR%hQ\95\97öñS\81\19\f&0CÕê5k×­[¯ní\9aÕ*\95Ó+Ky\16Î\9b#KF¹æ)102dÊ\96«@\91\12~\86Jµ¾mÕ©ç\80ác'N\9b9gÞüysgM\9b4nD`ï.m\9aÔ­bR\97ò,\94'{f14x?;Â\ 2\83U\82\14P`U®Âª¼b¥*ÕÀ\fõ\e~Û¤Yó\16-\9a5iT¯VÕòz¿\12E\väÊ*æ)Y<¿\15\91\81\91·°\97\8f¶B\8d\86-;ö\f\1c9~êì\85KW¬Z½zåòÅógN\1e7¬_@»¦`\reÉ¢ùA\9at²ÉºR\92\85À.\80U¹ÚP®RÕ\1aµÐ\fM\9b·lÓ¶½\7f§Î\9d;ù·oݬQ\9dªå´e¼À\992e\90§1\84á/múL0z\17-©2U­ßÜ¿ÇÀ\91\13fÌ_¶zÃæ­Û·oݼaõÒù3¾\1f1 [»&µ+é}½\vç\ 5iÒÂ\10.\vi\981 0²åίð.­ÔAU^§Á·M[´nסS\97n=zöîÛ¯_¿¾½ºwnß\12\12­QY¢H¾\1c\99åóøV\bY
+J)\b\fo\1f}ÅÚMÚu\e0bÂÌ\85+Öoݵ÷À¡C\a÷íÞ¾qõâY\13G\ e\bhûmÍò\9aREóç\14²®,¤±\blÏRJC\85ju\1a6kÕ®c\97n=ûô\ f\1c<tø\88\91£F\8d\1c>d`ï\80\ e-\1aÖ(¯)]¬@®,\19!ÍÊÔ\18 \8cGÖ\ù!0ÊVkвs\9faã§/\¹qǾÃÇO\9d9súä±C{¶®[:{â\88~\9d[Ö¯bðõ*\94;\9bGºÔ2ÉS)¾ÆÀö\80\11¯h    ?}\85êõ\1a·êÐ¥Gß\81\83\87\8d\1cóÝ\84\89\93§L\9d:uò\84q#\a÷\85<[§²ÞÇ«`î¬èKò4Æ7©Ò`\96*äYF\a\81ѾGà\98©óWlÜyàØé\v\97\83\82®\ºpúØþ\1dë\97Î\1a?´Wû&5Ë«K( OɦT\87çÇò#;\94\82e4åªÖmÒ¦S\8f~\83¡\14\9c\84\ 5È\82\85\8b\16-Z8\7fö´   £\a÷îܪA5\93\9fw¡<èKr5\ 6\b\939{ÞÂÅý\8cUë·ìÜwø\84ÙK×ï8püÜå\90\88k×®E\84^9\7fâàöµ\8b¦\8d\19Ð¥e½JºÒEóCÖ\95\891¤çÏ\91WQÜ×P©ö·­;÷
+\1c1nÒôÙ\v\16/_µfÝúõë×­]µtÁÌ\89£\ 6vo׸f9U\89Âò5\ 6+F åæ+RRU®F£¶Ý\ 2ÇL[¸zë¾cç®\84_¿}÷ÞÝ;7¯\86\8¹\7fëʹ\13\86ölר\9aÑ׳@Î,0\ 4ÊÇ\180däÄç/[­~\v,?¾\9f6wÑò5\e¶lß¹{÷\9eÝ»vlY¿bÁ\8cñC{û7­]A]R\91WÖÆ@aò\17-¥©P«I\87^C¿\9fµlîÃg.\87߸ûðñ\93'\8f\1eܹ\1erþØîõ\8b§\8dêÛ±IͲJï\82l\b\94\971ðùË×hÔ¦k¿áã§Ï_¶vÓ\8e=\a\ e\1f=~üø±#\a÷nß°|ÞäQý;·¨[Q\ 3ÆÈ.ocdÍU X\19]¥ºÍ;õ\1d1iÞª­ûO\\f½q÷ѳ\17¯^¾xöèîµ Ó\a¶¬\985n`\97æµË«\8a\17\82!\90Õ#¼\9fþ+aÌ\10\8cQ\1a\9d©}\8fAc¦Ì[¾~Û\9eCÇN\9f»péÒ¥\8bçN\1dÝ¿míâéc\ 3\ 3ZÕ«¤-UÄ\ 5\8cáYF_¹^\8b.ýGO]¸vÇ¡3W®ÞyôìÕÛwïÞ¾zþèvø\85£;×Ìû~p·\96u+ªK\14\96ê\11ÞOÿ\958\80\v\91¡­X»)Döø\99\8b×nÝ{äÔù+¡á\11W#Â\82/\9d9ºgÓòÙã\awk]¿2\1aCæi
+\8dᣯ\¿e×\ 1c¦/^¿ëèù\90\e÷\9f¾z÷áÓ§\ fï^=½\7fíò\89\17N\1aÚ½u½J\9a\92\85óÈÊ\18©p\0Ï\87i¶vSÿÞÃ&Ì^¶qסS\17\83#nܾs÷ö­ka\97N\1dܶjÞ\84¡=Ú4\90·1Ä0\17#£e×\81cg,Ù°çø\85°[\ f\9f¿ùðÃçÏ?||ûâáÍàÓû6.\9e2¼g\eð­\92
+Y\19#%\96æÙó*J¨Ë×\841oØ\849+6ï=v.øê­{\ f\1f=~t\1f\86¼sGv®]0i\98`\f\85TMñ~ô(¤0\87y±ÒºJ\90¦ 2\96lÜsübÄ\9dÇ/ß}úòãO_~øðêÉíг\a6/\99:¢WÛ\ 6²4\86G¶<\85\8b+ËVÿ¶]\8f\831öá\98wïѳçÏ\9f=yp;üâñÝë\17N\ 6c\b®\94M6OoM
+s\98\17\810¯Ó¼S¿ÑÓ\16o`Æxòêý\ f?þüóO_>¾yz7ìÜÁ-K§\8d´4\86,ª©È<[ÐÓÇP¥Aë\80Àq3\97mÚ{âbø­\aO_¾zýêùã»×®\9cÜ»a\113\ 6&ÙÜòyzkRX\84¹ª\Í&þ}FLY¸n×±\vá`\8c\ f\9f\7fúå\97\9f\7füôöÙ½ðó\87¶,³1\86,\92®yÖ\87\83FEÑ\9bÖï>\86yöÙ«7oßÀ\88w#èÔ>f\f\1cñXù!\93Y\92-èY¸6\95»\90\97¯±Z£¶=\86N\98·zÇ\91óa·\1f¿z/\18ã\87wÏïE\9c?´Õl\fÑ·äb\fæM,O\99 Oõ\1a6qÞêí\87Ï\85Þ|ðìõÛwo_?\17F<0\ 6\94\1f\15ÕP\98g\91­1R¤´\1c4Zv\r\1c7kù\96\ 3g\82o>|ñî\a0Æ/?Ù5\ 6\88#\ec\b3\8d\ 2¢\0\ 3ÇÎ\¶yÿ©+×î=}\15i\8c\r\8b \16lU·\ 2Ì\92r±õ\ 3Y<½\r6yª©\7fß\91S\17mØsâòµûÏÞ~úñçÈÈ\10ÓTd ËC\1c\13\94ek4nßkø¤\ 5kw\1e½\10~ûñ\8b×oÍÆ\80¼\e\1a\ 3×\ fäl\fð,\ f\18\ 1½|\fU\e´é>äû¹«¶\1ffy
+\ 6\8d\9f#\8d±tê\88\9e8\ 4¢1ä#\8e94r±Ð¨+\86Æ\81ÓA0SzùæÍ«g\921\86tkY§¼¬\8d\81/\91Å\11°HIu\85ÚÍ`\ 4\84âvß© ë\ f^¼ûôãO?}Á\ 1ÜÆ\18r\12Ç\1c\1a0jøá¨ÑsؤùkXh<zöòÕ˧\ fn\ 6\9f2\eCé]0gf\19=½5æ×K¹\v\1aª6lÛc\b\e±\9ezýáó\8f?~þ(VSò5\86Åb'\14T\9dû\8f\99±tÓ~p§{\8f\9f¿xþäþ\r\vcÈ<2¬B£¼EhÜxðüíG\9c\82¿yv×Ú\18²\12GÜl\ 4\13\bÁ\9d ÓN\98Ë*Â\9b÷\9f<}úøÞõ S®1fX\85\86§yÔ@YpªñþÓ\ f\9f>À¤OÆ\91aÞm\84o\98J¨Ê×jÚ±ï¨iK6î=yùêí\a\8f\1f\8bÆ\80Ò\96USj©\9a\92ci+x\16\9b\85\v\ 5\95 Ëb\90åÊõûÏÞ¼ÿøñýë(Æ\90Ñ\0þUd¢\12^\ 4T®ßªÛ ñs \b9\17rýî\83\87\ fî\\v\1fWÖzà<CÎ\93¾¯ìÈ\12\0²¬Üvø\1c\14T/ß¾\7fÿöÕ\93»á²-m¿\8aLTÂÌ\ fÊÛ\ e}FN]¼aï\89Ká7ïÞ¿w\e_Çl2¯¬\15\96Ñb\8e\1dÌs\rI\96Þ#¦,Z\8fs\r\987½yûæå\93;áQfà22\869Q       ¯5 ¼\r\bDw:t6øÚ­»wo]\r:sp˲é£z·oXE\17¹\84Îû©í\93Bz\13.¼¢ÁR}ܬ\15[\ f\9d\rÅõ\9dׯ_<\ 6c\1cÞº\1cÄi×°\8a¼Ö¦\ 4"Ç=\18á¼íÐ[\b\8d\8ba×oݾy5øì¡­Ëg\8eéç߸\9a¡LÑ|Ù3¥\97¯1¾²ªG\8cÕ\1aµë5|ò\82\8f_ºz÷ñó\97/\9f\13~áȶ\153F÷iߨ*ø\96ì\16¡SX­>\83;\ 5\b£ÆÙ \88\e·À\18ç\ eo_5{Ü\80NMk\98|=óçÈ\9c>\8dLöàÙ\81\95·©Ì3?(Õ\a\8c\9d¹|ËÁ3!7î?yöü\193Æö\95à[\1d¾­¦/-Ã@\8f\1c÷
+bhÀ¨Á
\13\17C¯Ý¸q5ä<{k<¨kóÚå\94^\ 5å³¹Å.)¬^\vÀ̯çÐI\vÖî:v1üö\83'O\9f\1d~ñè\ eð­þ\1d\eW7b {Ä\1eèIÛËF\fn\16\1aÚJõZu\e<aÞ\9a\1d\ 6\85_»~5ä±Ýë\16L\92j[Y\97S_Ù¬\17âÌ\ ff±Ë¶\1c8\13týîÃÇ\8f\1fÜ\8e¸xlçê9ß\rìÜ´¦É\a\ 2=\13\ 4z\fÒØé,äd{\98Ý)wAo¿²5\9b\a\ 2\7fòRèÕk\11¡\17Oìݸ8òE¥\_\82\8bX®D\97ÑWiЦÇÐ\89ó!4.\84ݼ÷àáý[\11\97\8eï^Ë\ 2½V9?¯\ 29qKá×ÑY#Jc¡¤hf#¸\13{ËTZW¹A\9b\9eÃ&/\·ëè¹ ð«\11¡\97Níß¼lÆè¾\98e#Gp¹\1aÃê%\rÌü\84ÐØ|àô\95«·îÝ¿w+\ 2·\87,\98\88Ë;\91+
\8da>"/\1c\92\97º\879½Ë\85´ü\9c»Pq\88íæ]\ 6~\aÕíÁÓ\97C#"B/\9f>´m¥õ\b.§ÒÜ\16q\89\8a½e²\b\8d£çC¯ß¾{çfÄe\Q\80I¬4\ 5\8fnÞ$5³agäS ­lR     ý\91\9c|v\9c¹\13\14\80\8f¡Ú·l\bß´÷Ä\85à°ð°+g\8fì`#x\8bÚå\95\92,Ha±Ï\ 2\17EÄÐ8u9üÆíÛ7#®\9c>°yé´\918ÑÐŰõȲ¯\10ëU\0`;·¤è9"\86F¶¼\8a\92\9aJõZwg5È\91³WBÃÃ\82ÎÃ\b¾p\12¾\ 5¯(® Èw\ e\8e\88¯ö-Cc\ 1\86FðÕ\9b·nD\ 4\9d9´u\ 5Ô¶XNù\14\13Fð¨\81n>!/\1c\91Ï 6³\11»Ù8Ù\1aèN\18Û¹
+z+!Ñv\1eøÝlÌS\97BÂÂ\82\b¾$\8a/9ïY\12\8bMhÀ¨\81s\8dý§.\85]»q="øÜ\91\1d«æ\8c\ fìÂFðhJu¶H$\9cÊÆ\16bج@èf#6\ fsòáq©º\ 5o\12òÔô¥\9böa\9e
+\v¹xêÀ\16a\ e^ÝP¦\18\8eàiä<\82Û\86\ 6Ì5\86MZ Ô#×®E\ 4\9f?¶k-\8eà­¬vÛ¦°þ\0f\v±Y\ 16³É\99Sèfã\11Ù?Ź¡ÁòT\1eEIm¥úmz@=µ~÷ÑsWBÃB`\ 4ß¾
+Kóf5Ëúy
+Õ \8cGp«ÐÀ¹\ 6LÃÙF\91S\97B#®F\84\\10Ku1ÐYuh-N
+±mUÚt\193eÉÆZwäÏ\9f/\9fÐÍÆ#  ºÙ\bC8ä©BÞÊòµ[t\1d\84ïe\ e\9f¹\1c\12\16
+#øÎµó'\8a/ûdýJCD\àas\rCU¶BÅJõ+a\11á!\97Ä@ïØ\ 4«CÑ·¾¶6\86Ô¬ s¶\1c¹óbë\8e¢E\8b(
+\v½Ã<2`¦rn¢\92¦\1aù=}L5\9atì?vÖ\8a­\aN]\f\ e\v\85\11|ÏúEl³°yç¶ì\8d\91ò\e6×P\94PW¨Ó¢k \f\81(MHXxèå3\10ès±:¬#\1eѰÉSf[xdÉ\9e+oAEQ¯â%K\95*Y»X\91Bùr\835Ò§Míäã×,Oá2B\91Òúª\8dÚ÷\1e5\8d\r\1aA¡¡0\82ïÛ´tú(\é´X\\93¹5Ø\\ 3\ f\b\18q\bÄ\85èÝÇ0ë\86^9wt׺\85\93\87õlÛ ²\98§ÒXµI07!É"ô*(å£TkÔj¥oéâ\9eØ\1d\89YÃÙ\89
+ê)\\12)\Bc\1e4Øã\aC`o]1klÿ\8eMbª\ 6å\84Å
+UIMź­\ 2\ 6\7f?wÕ¶\83\10è¡\10èÇÁ·f\8cîç/æ)1í¦°ø]Ü2#tJò.í§1\98Ê\95/_Î¤×ø\95ö.R Oö,\19Ó;{Ø\10æ}¬¸-_§EÀà ó×ìÄ\99\ 6\8càg\ eïX=Wª\ 6íeYÙ!\1e×À\85h?̺ýFO_ºq/øVHhðE<r2g<æ©
+jéÌhJ+c\88\ra
+\16+á«1\96¯R½f­Z5ªU.oPû\14/Z wv¡ï\963g\eÒ QÀÓ·lM\9ciÌYµý\900\82c`/\98\9b´ÅSÞ\v·\88\14\1a¸§[W¹>[\13Y³ãðéKÁ!Á\97Ï\1cÁ<5¼WÛ\86Uô¥\8bæ\93Î\1f§0ÿ¦p\889wÁb%ýôå«Ô¬\87½Ü¾mX·Få²ZßâE
+äbÍ\85R9sî\87Î\84\91\9d¯h\19CõÆþý\84\11\\98ö\1d··pë\9cÇp\10l\1f´°ÚÆf±¬ºÝ\7fâü\95\90\90+\90§6/\9b\7f§¦P«{\17Ìe5\84\8bûú<²b«\ 2¥¡b\8dz\8d[´iß¡};ì R­¼Î·¸"\7f®¬\99\84\89Ö\10f\1ay\8b\94ÒÁ\b\8eÓ¾ÍûO^\f        \ f\ f¹x2rá¶´ü\17n\11\8bÕ6¬nÛ³­   »\8e\9c\85Ð\b\82<µ}õ¼    Cºµ®WI[²\88¹OB\8a¯,\97àó)\8ac£¤\86-Úa/·\9eÝ»ú·nZ¿zy­\8fwá|9¥AÜiÖ\10Gp\9cöUnж×\88©\8bñu\1f\18\ 3«AÛ\85[\99\8fà\91«mXݲwÉâ\10\1e\ 4yêìÑÝ\e\16O\eÕ§Cãêx4ß²!Jä\ 6\93B^>º\8aµ¾mÕ±{ßÀ!C\87\fêß«kûæ\rª\97×\94ñ,\947\87Ô8ÌYÖ\10¦}\10ØðôõZC9µ\b\ f(\86\84G\84\ 5\9d;²sͼ \83]eá\16\11&~¸Úæå+\rá\9bö\1e\87!<$èÂÉ\ 3[WÎþ.P\18Â\15æê6\85Íáþò5¿mݹwà\88±ã¿ÿ~ܨ!ý»û·hP­¬ºT±\82y²KÍ3\9d\94!¤rªPqU\85º­º\r\9d´`Ýîc\17\12Âq\98öMv\9d\85[Drñ|\90\v3<ípø\f\ eá\97¤!¼]£ª\ 6\1f±ºýFx\89'Õĸ\13¼ZÃV]ú\f\193qÚÌÙ³fLþnÄÀ\9eþÍëUÅÆa\ 5rgË\9c!]jç­RYÕ¶-\ 3\86°×\95çC"®]\r½trÿ¦8¼\ 4\90\15Ru+½0\13fá'/\ 6\85Â\10~b߿峯\rè\8c\8d\12Xu+\8e\1aæC³B£\85\16\9dú\fýnê\9c\85K\97-[<\7fÆÄÑ\81=;4«[Ù`;\88;ãéÅÕ©\82lu
+'\1aÌ\18W¯_\v¿\ 2\83\ 6\9böÅø\12@^D\ eá0\v¯Þ¸\83°\89øøù+¡¡\10\1a\87Ù\81ê\9e\96)\96\1fC\83¹\97\11O\ fõ\1c<nÚüåk6lܸnåâÙ\93G\avoפVE\9d\ fë7éÄÆ¸\96¯4p©pð\84yø"?䪸_G\9cö\95u\91i\9f\98þ\85Y¸¶RýÖ=ð\85\19LcqæÄfᬺmV«\9cª¸94¾¶Ü\fÀÎÕ\8d\99º`å\86m»öìÞ±eíÒ¹\93G\r\bhÓ¨F9qØÈà¬E*áݱô\1e\9c\991B¯Ý¼y=ìâqìòÀ¦}.°_G@L9Yq!º\-|±\ fyê \9b9\85\:}xÇ\9aù\13±ñ\83eh|-n\ f\15w\90µï=|âÜ\15\ewî?|ôÈ¡½Û×/\9b3qDßÎ-ëWÅ\16\81ùsfuV+Ö\14\91+\9d\85\85Zp°°Å%ôú­[7".\9fÚ¿i\89Ëì×\111/DK/ÌØÞ¼\vÁX\1f\9e?¾wÓR6ñ³\ e\r)K±ÕÞ.\ 3ÇÍ\ºaס\13\9e=}ì\0¶qû~h¯\ eMkWÔ\89Ý3\9dÓ\8aÕrcd)\8cêî¬\9a:~1ìÆí;·® ;nÙ´OÜq+ó·}\88Å\v3\8d(ÑZ|á\17\86{^ÎØ\86\ 6Î5R¦\14+0ÈRU\1aà+Âù«·\1f<yþrPÐås'\ el_»hú\98\81\ 1­\eV/«*YDè7é\84\f!vØÇâ¸ù\v÷E\ e\9f\8c»éñdÀÝ;7B/\1cÝ!mÄcodä½_G \85EI"å©m\87Î\\ e»z5Bx/`9jdb9\879dÎ\ 2\9e07iì/,/\1e?\1f\1c~õjxÐù\13û·®\9a7ix\9f\8eÍê@hx\16Ì\9dÕ9ÝÈÍý\92³ç)ìígbÇ4¦á\81¸+Wo³½_\97NìY·`Âà\80\16\16Gûä>hX¼Øg\e\90úâ\8b}¶Q\92\15\88V¡Q@psÜ\83 Z\ f«aÜ\ 1~èlPÄÍÛ¸\1fÿܱ=\e\97Î\18\17\18кAU£\9f·h@\87«!\85Øü\99u"e\8dP\84íÛ\aÎ\ 4_¿cu\80IØû%£n41!婼Ò\8býIø\8e\ 6
+Äëׯ\86^<!\15T8×P°\8eéSáâ9¾ÓQW¬×ªû\10!SCrxð\0\1còÊé\83ÛVÏ\9b8¬W{Ö°\11~Eìòëð§N)5¿ôöÅÃ\89Ý\ 6³#íç°ÁΣG÷n\84\9e=´eyäÛ>¹6d³FÌSY\85\17ûÍ»\82§¯ÞÁÎ:ܼ\11\11töÈN\f\r\98kà4¼ kÆ\9d\1aßðe\8b\\9e[\82'\7f¯Ý}øäÉ£û7Ã.\b\1d\ eû\81ý*hJ\155·\vøC³\16·8b\94Ò\94¯ÕÔ¿Ï\88ÉBS\9aÛ\ f\1e?yüàVø\ 5ÜJïJoû\90Èz
+ç}0\ 6à\8eôÓWÂoܺu=ì\12®EÏ\1c\vÓð:\15Ô%Y7ëtiÒ`ª\16_=÷\195}Ù\96\83gCo>xú\9cu8¼\82Û\8eg\8e\eصeÝJZ¡\13k´ÆHè¾u¡\92J#­\e\e«6h\15\80­\126í;yùÚÝGO\9f=\85\a¹|\82íÞv¡·}_\99ó\14\14ºzÏáS\16áqE<\93\1aÌdwÁ4\1cW¨ª\19\85þÏ\19Ò¥MǦ|¬\16î7fæ\8am\87/\84ßyô\hP\10röж\95\ f
+hU¿²N2\86½\1dp\96wíÅÏ$R%\ 5I*O!/l\97ÜÔ¿÷ðIóVÃØ\85'~ÄÃù\91\r]\fÚg\9e÷I\13ÙAßÏ[³\93í\81¾s\87m»e­<ÁÑ+jYkt\8fôéÓg\14&&\10HýÇÎ^µãèÅ«w\9f¼|ý\ 6ÛM\86\9d?²cÕÜïYÃÆh\8c\11i\86\94Ö7\91\7f\1d\17\83¤HayóD±Rêr5\1aµé\168nÆRl*\17~ûÑóW¯^>{x+ôìÁÍK§¹ÔÛ¾¯ÌyJ¨Uq\ 3ÒL<o\19|íöÝ{w®\87â\18°hÊ\88Þ\1d\1a×(«\84ò6{æ\8c\192xàNDÈjøÓ`\8cc\97Ä£²x:\13\v|4\86ÐÊ4_\ eÛjJ²\84xÿu*ë«Èc=Ü!îðe×ãäÊ_¤\84\92µ®î7r2Ìv\ e\9d   ºÎ\1aº¼~ñønÄ\85#ÛWÌ\1cc1ís\81\11\9c½}M#l@ÒUiØ\8e\rÉP¯GàY\8dÛ×\82Î\b\e¤\1d,oseËäá\91)«Ù\18ãf¯Ú    Æ¸ÿôÕÛ·o^¢1\84\18J¬É¯µ1"-!ÞC.m^OîÆ\8dõªb\v[àe\ 1Þ¾úJu\9a
\927íe\81ñâ\r\84Å&¤ÇwENûd\7fLCļ\8e\8eë\eu[v\e2q¾P¬ÞÃb5ü\12ÛÓ=ªoǦµ°¼Å{\982e\16\8d!¦)!2Þbd@\9a:¼m\85´ò^\ÚW"\19C4\85x\11+î]\97®b\15¶¯§\16í\11]xH;ßÓ¤\17®**£­P³qÛî\81c§/Z·óÈÙ`\b\8c×ï>|xÿæùÃ\eA'÷
+Ó>×yÛ÷\95ù%MÎ\ 2^~ek6í4`Üì\95Û\8f\9c\87\82ýá£\awo\84\9c\ 3ß\86÷ÀòÖ\17\97\9b²dÎ\82Ù\1a\apÿ~cf­Ü\ ecÆ=È\ eo_?\7f\84©zË2qÇ\95\9fWAëû+$]¦²ºg/+î_Ïä\91Ñê6r»áa¶Eº\8clgJ)uÙê\r[wí\ fIjÕÖ\ 3§.c\eÒ·\1f>}úøîåãÛ¡g`Úgõ¶ÏE\8c!îy\91ªÕ¥\9bq*Ë\8e[Þ¹Ê\8aÕ\19¬¼­\b3\87\ 2¹²gÍ\9a]X\11jÔ¾ïè\19XMEÜ}ò\ 2\ 6ðg\ fn\bMqGà\v\9e\95Ùbû\9bùD\aÔc\193      [×så\ 6råÌ\99#{V°HF\8bÛ\8aí\98#E
\ 2ÎÌìÚ(¥±J½\16\9dú\f\9f0g9$©\va7\1f\88ýy?\b-P¶.\9bî:Ç4\ 4Ì\8b\85\85Kh*²S@\v×c\9b\9a;0\8f{|ÿ\16Ìã ¼\9d<¼Wûo«\9bü\8aC¢Ê\9e=Gî\ 2\bÓ{äôe[\ f\9d\13\8a\98\17Oî±ò\1ew\80·ÂvÑE,_\9d\9bw®§ASàÖõ<ùò\17(X\b(X°@¾¼yrå`·\91gH\1f\9d9D[`!\955\17Ì0\84\ 1£ç\90ïf.Y¿ëȹàë\90,ßÿðåÇ\1f¿|zûüþµ\8bG·¯\9c5V8¦á*\v·V/\93q±0püÜÕ;ñXøÃ'0}ºw=øÌÁ­+f\7f\87½Þ+ãâ_\9e\9c9r\821páºMÏáS\97l>Àz]¼x!\1cèÇ3ä\ 3;7«UNémµeÚ¬Êô`\8aì9óäÇkö¼¼\8b\ 3Þ^\9eÅ\8a\14.\88·\91gg\a<ÒÙ5\87E!\953_a/aÀ`÷N¬Ù~ðô\95«wY¯dÖÝïýË\87\9cصfîxvLÃ×\15\8ei\bX.\16 \f©g9x;̪\9f<\7fþôÑ\9d«\97NìÙ°xêȾþMj\96S\95,R O®\y
+\14a;t!\8c\16mØw:\18»+<{\82s>ÖF¥\ f\14\94F\1fëMº\91;×3gÃ\v\97\8bz\95(íã§T©Ô*\95\9fo\99Rl\v{\ 1ñvø\fÂñ'ë}>R\92Ê\88³=ÏÒêrlÀ\185yÞª-ûO^Âè|ûñËÏ¿üúËÏ_>¼~|+øô^<´\eÐÒ\95\16n-\16\vq\12\ eÞ>eñÆ}§¡f\7fòüå\8b§\ fn\85\9e\1dæ\ eCº·i\80cxáüyr\83\90M\8b®\83&@íu\ 2W!\9e<yt÷ú\95SR¿eÖ\16Þr\83OdM\9a=w~ñîkcÙr\15\80òåL\ 6\9dZéSª¸g\91BùóäÂð0\9bÃ\1c\1cV³½¢V\ 3Æ\9ec\17°·í\9b\ f\9f\7fúõ·ß\7fûåÇOo\9fÞ      ;{`Óbñ\98\86«ì×\89\,4OÂ'Ì[»ûøeììÂ\ 6\ 2PñþMK§³ÕÛ
+\9a
+åË\9b·@\91âJ¨½:\ føn\8e\90Ó\1e<zÄ\9a\12\8eýF9Øau\8a \88wi?­±Båÿgï;\0¢È²µ'ìÎ\8c\11m\ 3f°s0\aÌ9cD\82bF\11Ì\19\88\19\15\14EAQ\ 4\ 5 \92\80(\b\88\12\14\ 1sÖýϹ·ªº\1aqvÿ·v#ëÜ};oG¡»ê\9e{â=çûzõé×\7fÀ\80\ 1ýûõAúk¥LdжesA£úuj\11qh\8ejªKR\84N\8d²FÙ¬Þ\8a\ e\83\8f
+\9f½|ýæÍë\97Ï      
+i0A\a\9a=ihùé×ù©\94$\1câUoRpB\80ñôä\18Øãã»×/Bê\1fðáMõ\1a6ÔÃ
+\1d\16\16Iq
+\ 2a,¡'Þ\fòB§i5å\8bQ\ 2Í)\82Ö\86\12UW£~H²7ÖØØxì\98\87\fìgÔ½³R*lߺES½\ 6ukU'T÷¿1ÊñÓÏ\9c8\91g\90\8djç-Û¸çØYO?ê0
+\9f¾xýæíÛ7¯_\14?~p7>ô\1a¯pÛ Vyñàê) \92\84\f^9 *)íþÃ\\1a°\ 6\1cÚ¶j¾ù\98\ 1]¥íõ\ 5z\8dô\ 4-\11\ 5\ 6©Í$\10\8eON\85|=2à2q\19ä\16\81\89`~ÕhÐ\ 5sO:×»ôê?tôøÉ¦\16Ó,--§Y\98\99L\1c7zøàþFÝ;ÉÅ\86môA\1cujVCqpÊÁY©ª´¯´[ÿQ&\90zï QmRZvÞ\93â\17¯Þ¼{ÿþÝ\9b\97O\v\1e¦ß\8aÀÂí\1akóQ¼~\9dr"\f.     7\86$|Ï\89\v\ 4·\90\1492nÇ\85\12"\84ų&\rëÝQئy\93Æ\8d\9bê#¬\1emq\85@8ö\16Ö\15î{p÷k\1aM\19Ì\r\ 4²O\82,\84Ên}\86\8c\9e`fIÈ\ e\17.´]0\7fî,Ks\93   c\86\ fêËÐÃ7Õ«_§\ 6±Uji¨\e®[\v\ 6\e[Ì#Ü8^ÔH=.z\8e²øðáýÛWÏ\9eäf$G±xÃåfL\83,Í$Ü\f\92p¬ÅB*\87ä?¹÷ÓÀ\87c_7\84·H\18gЪ\99 ISývRÒ!c·\e\1cL\b\90v%2¥òÅësðiµIq¯{¿áãL§[Ù.]Iè\96×­]½béBë¹3,LÆ\8d\1aÒ¿WW\14\a\99\8eüðl/;½j­D®ZÅ\9dû\f\9f8Ýf\rW\93\ 2#\ 5\ eã-ÈâÃûw¯\9f\17åg!÷Äi\87MåhÐ\92.¶XØ Y{þ\95\11\ 5\91ÌÏɼCh) ¼\9d=y\ 4ö§é7kÚL¿\9d¸3b\13àÕ d\q\89\89ñQÁWÝ\8eï²#À[Ô0ð\84Á»&íÖ\7fÄ\ 4\8b9¶Ë×nÚf¿{ïÞ½{vïܶyý\1a$À¶4\9b8fØ\0£®J±A+\88\14@9*q-¢Ü½w£æí¤ô\16cÝ®£g<ý#âS3s ª}õöÝ\87\8f\1f?~x÷æEñ£ì;qÁ^g\ fQH9ÞÕkYïõ¿]ü\8e\1d.      ÷\8bHL»\9fûèñã¼\aX\0ôv=ÊTo\15\1dÚè7o®ßVÔ\89\9dù½\12\10N¦ù±\8ee¿Æ\9aæY\94o\91\82#©QØ[´\97ví;|â4«%k6Ûï?|ìÄI'§\93'\8e\1d>°×~ëÆ5Ë\17Î\9bi>ḭþ½:Ë\85íô\ 5\r¹ÑYR_ÿ\95ÎèÀ\87\80Ë\18m:géÆ=\8e`¥¢nݽ\9f÷äéË×ïÞ\7füøéÓÇ÷o_>}ü -!ì\1aE1ã]½\96\ f\ fÎKÂÉ\80\1c\ 4¬¡qpà\10ì6÷þ]$       !Õ[Èü:KÚ·ÖoѲ­\bá\1aéÄ\10\99æ\8f\89\bô"Ø\ 4¦\1a°a?«\9bzk5@8ÝÞCÇO\9d·tÝöýG\9dÎ\9c¿pÑÃãâ\ 57W\17'ÇCûì·¬[¹xþ,\8bIc\86öëÑQ\ 2öPO=:\8b\95wF3ZPn»¹Ë6î=~Þ;èfR:rN¼|\ 3\8añ        \84ñ\ 1\9dFν[\11×ñêµ|uÜþT\1a\14\aØ)\ 4»}\98_ð¤ ÿa\86úÖ\b\9bpDíZ·lÕN¨ìIî?pb\88\f©\84\a\12 \b21¤>\8a\879[\18È{\f\1aknµtýÎ\83'Ï^¼rÍ×Ï?ÀÿºÏUO\ f·3ÎÇ\ eîÙ\8es\ 53Í'\8c\1adÔEÞ¡Ms:uCºç¨0*1fªÿ(Ô\f\14Æ\rF\18¯8a\80Ó(ÌËüÂ\83\97\8f\1c\³³\90o§²ó
+\9e<y\9c\97\9d\96\18é\8f\99ßò¹S°u³C»Öm@\18\bȳhýÞ\13î×\82"ØaþR\85Áç\11ëK\8cýÎCÎnW|o\84\84GFÝ\8c\8a\f\ f¹áïãåqÞåÄá};6®Z<oú\14cäô\16µåÍ@!²\95zJ\87|\f¶3^\ 13\95v?O­\19\9fÐi\94ôàå'\a/ÑYH\ayñn;5+÷ñ\93Â'\88Ê\1d\e\82°\98\96ã\87ôê(1l×Î@¤ì1\bâ`\b§è\06+\fîv\8d5SÜè\ 1\83Ãg¹`õö\83ÎîÞ\ 1a7ã\12\93\92\93\93\93\12ãc¢Â\82ü¯y^8{òȾí\eVÚα\980r@Ï\8eâv-\1a׫ÅÌ@ýªÆA\17v4\1a:\ 1¢©\1d\b\ 6\84Ì2¹\ 5\90ñ1ÂøøþÍKôà\\ e^®ªè%í\14½Ô ñ\14âÕ3ü}\ 1\97O㤾éèþÝ\95bC\ 3C±²Ç@2 H TP\18\81Ì4<¤YìU'#\fÞ\íÈ)s\97mÚwÂÍ;0\ 2ùõîedfÜK¿s;)!&*4Ð×ëâYäʵ[:ßròèA8\91Ö\82\19-ÀK@\96C[ß\0\99\ 6Í­\18\ 6¬\18\88û\1eA\9añö=#\fâÁ!\a¿zîÈv\1eàpù(\88\94\88§\8c-\99¼/ñ.Ø©Br[\93\1aG\8a\16N\9f8¬O\17\85X(\92ªz q\13(ÑÙ+\88»Eðl\98ÁF\8df%îú
\81\ 6\8d³$`\fW\ 2\91R6'777çavÖ½´ÛIñÑáA×½\90 Þ~ã
+\9b\99\804Dm\9a5ªÃ\8c\16üÊ´K1\89Ƥ\19\vív\1e9s\19\8b\9aHT¤áÁ\v\13Ã}Ü\1cI@Ñ[eX~Â)Þ°%¢\93\8eb._\83coCf[XTô$ÿAzR\14\16;¶­\9cg>vP¯Î
+©TÞ©'\9cÎù«v\1c>ãI\85ÁB\13\10\8fÉU­ÕVª\85¡\92\ 3\ 5¾\8e\95ÈìÜG\ 5`\ 6\9f\14<ÊËy\90uïNJB\fR\92»\9d:ºgËjÛY \r\1cô\104¨EÛ|\7fý\a\ eÙ
+       \ 4\96o\ 6\1d»\1a\1cMUã5£\1aèÁ\9fäÞK\8a¼~áÄnÒÉFérÑ\94ð\13ÏN\91¼\8f6\89\
+\88JJ\7fðèIQqáãܬT,\8a\9cÀ\96¶É#û÷ì¬T¨ºô\1a\84Âà     "\82|.8!Ôä8\r\8f©1:\88\0>Ø,M\18é\1eä\17\14=}öüù³§ÅE\10&ädg¤¥$F\87\ 5^ó8{|ÿ¶5\vgM\19= »Ü@¿1Û\ 1OT\ 3óøfmÄ\9dz\ f\9b\ 6å#ËÊU«\86F8E¯4¾oÎ\9f\12\8bÁK C0d(|\97£\9bOXü\1d¤\9c)¦ªq3ÐóÌáí«¬§\8d\1fÖ¯G\97Î\9d»÷\19b\8cÀö\ 46,*&&\12;¥9x@um\8a«CâP-\99¤pºx="\91\10==\7fùêõëW¯^>\7fV\\b\19MvfZJ|TÈuÏs'\1c¶­±\9d9yD_ìÙe\ 6=XÕ¨\81\9d!X*\9c2{É\ 6Ìû0º%ªÁ
+\83\84S)Ø\94À0\9b|×<q%\17\97÷5"Cá&sW\90û¾hdc*,..*ÈÍ¢\84Èû6.\9dkf<´_¯\1e=zõ\1f6~ª5\87á\86\0¿\ 45l\8e\89æÀ\90\1a§\8b©ºã'Ǥ\90\bèÕ\9b·ïÞ½{ûæ5ÈãiÑ\13\10\9d¤\980\7f¯ó'\1d¶®Z`9a(Þ¼7ÑP\8dJÕjñ\9al·â°U\18\ 6~O\9e1.\1c©\17Å\10ÛÆ`lË2\9b0\f\8aåA\18%\87ÂÉp\0\9eß48¿ÅÅÅ\85\8f\1eÞK\8eF\b~{»\85àZ\87\ eèÛ§ß \91\13!L\ 5\9fq\19\ 1~ã¢Ã\ 3¼\98D\83×9FÊ\18¼±Tëµö¨s     w³\1f\15½ ¥=,î¡<^<+\860ú~zJ\D\80×ù\13û6/·2\1fC;¨k\93\80êW\1aPѹ\fq'êÃ1\1a\b\ 4Õxø¸ø\ 5µS4¶½\9f\8aÂà\93ä\94\93º­ÆP8ö%\98Íç\x.Ø)$*»\7f7!Ü\ f\87\99V-\98n2vøàA\83\87\8f\9d2sáZ\bh<ýâ       ÔäU\b¸Jv\8eýÂ\1fUC\98®}Î\1eþQI\199ä$Óøç#\95\a\88\ 3¾èÁ½ÛØÊèzl×z\9cô\0Õ`z\eþù+\93kT©YW\8fÖDÌ0¼uº\88Ì\8f÷ó\v\19
+\83°Ü\91\86Ûò'\8c\12¸.\9bö;_ò\8f¼\ 5Ƹ°ø)ª\ 6)\8a\9c?¾wÓòù\96&ãF\8f\1c9f¢Å\1c¬\9cºb¥0!1\1e\9d4p"Ðiü¢.    \93R\vØ?¯ ØÔûùE4Mû\f\8bÈ\83\8aãiaþÃ\f:\p\88é¹\96pX2¤&\82\97T\90ù!@ÃP¤·³Çx &%\83³S\ÖÇ   \83eF-\17)øO?±<¼x\82Y\\17GR-Ì\ 2\17\8eÍHù\90ùE\ 5x\9e9b¿~é¼é¦\93Æ\8f\9fd:cþrR9Å\1aú­\ 4°õ\90\18\96è\1cÃ\91L\12Øê\eâe       -B\86%¤=x\fÑÏ{*\v"\8eOD\1c¯_>#r\8f\rAäf\ 2\98ÑKaÐ\82öÃýãW¦¥\90\99\93a©úNCàw\vì\14~"\88÷KÍè.)gÂ`Q\v   ®\v¶ìl9Èfá\85O\9f=-ÂÌ/>ìúÅS\87v¬[:\7fÖTs3\8bés\17®Þ
+IðÕ ¨ø¤ä[ñ\917¼Î\1eÑ\84\aü'1,4°íÒ\1f{y÷\9c¼è\17\99t\8f\ f\1f?\7fþ\17.F=>à¥é³B\92Ö\ 4â]ïJ2ß)lÙ\98é\14e\ 6ÑÙÑJ£a\93f-Þ°÷$^L\82\13\ 2§ñ\1e¯48\9f¡I¬VnÌ\94\1aº\88M\94\11\1aÅ\9dF·O\8a\9fBèù\b/6\82¯º;\1dؾn\99\8dÕì\99³­l\97¯ÇÞJß\90èÄ\94ÛÉ\89Ø~èH«Ö\1cXô?þÁ¸\8c¶ÜàÙåÀè\94¬<bá?1ÂP\8b\ 3¥AZ\ 2C}\88\ 3B¬c¼©c±ù¸\v?¶Òe\8bØ\b>¡ð\9c\10\11 \a\a\91b4u\9f\1fM\11ÊÁr\13Mñ]xKa§>#        &7\eÝBnö´\18|8\18ª@\88s\1cvlXµÄÖÆfÑr»­{\8f\9d½Ì\8c\10\82â \81¤¥ñ@5Xô?þÉÂ×õ\1af2\aÛI¼\83ãîÀ1¦Vê_Üâ¤ñ¢¸àὤ(ÿK§X¬cö¦îWu_B-BG6\10Ùíì\8faUó\ eë\85°\86ÎË3\16i0(\96\1faÐ+ \86ÍÛ1\98ܬþcÛ$k¨Âý!#;`¿ÙnÕ\8a\15«×mÙuÈ    û\96âqä÷v\ 2©&òÁ\85ÀNawlUz¿\8eõ`\12Ø&¦=,xJ¼-O\18T\1cXY\82ü9ëv,Ò¢m[Në|͹^\13>i\14\12`Ñ¡P,1ó\85\ 1\9f\90Q"\ 3/WÂPC³5iÅbrcS\14\vÒ \9e5ÌÏóÜÉÃ{wlÙ´qó¶Ý\a\8e\9f½\ 4VêVjú=\1cw\rò>K\v¥FÊöج\ 4ÙÁol-\84\8e\7fP\97AB\1f¾\95âI\ 3\8d\fm|:\7f\17´$\9a@\15¨\19kíɽ¤Z3ÞsW}\174¦,ËKm
+\97\1a\93\e©±\10\93\e§-Ií\16\19ª\9f\88*=9&ÔÏóü©c\a÷íÞµ{ß¡ã.îÞ\ 1\11س\9e\99\91\96\12\a\86ÞÑ^ݬ\ 4fú÷ß~WÏ*ÏXB:¥£ogå\91\8dÓT\f"\8eOd/\vrÒo\853\8dOü:ß/\1a,E2â3\10Â\ 5|\euà \8c\ fXB/x\88\97àç\8f¡4G¨/»Ê\930Ô7r\ 4¥e5$~¬j`A\8f¸\8d¤\98P\7f¯\vg\9d\1d\8f\1e9âètÆýÊõ\10$\1dκ\9f\95\81¬Ã\17\9døàB\95\99Yef<vÎò¯»\fV7>}x÷êù\93Ü\8c¤H?2|\84\15ydy«Ê¤\90|¢A\8c¦\96à\91ÁkÉ\a\8f\8b±TøAÝ\1eâ}ö0\1fÎ¥\9cÜgÐU\ 2\93\9byOZÓ+|úüÅógE\8f±\8d*&,ðÚewW\97Ó§Ï\9c»xÅ7(\12o&\1e<È&S¦\97OóÁ\85ªüùÇ\1f\90£ÕnØÂP\85sQ\98eø@\96Á¸\8cÏ_\bã_\9f\95\91>ò1¼¢+\eÚ²\fó$Ï`\1a\8br
+H\9eA\1a§ÐéDó\9e¥my\ 1\96Z5\88o¤põjÕxA¤\91\93\95\96\1c\17\11ìwÕóÒÅ\8b\97<¯ú\ 5EÄ&ÝÍ|\90\93KÈH\83½ø§\11Çø+\90ö\1a\ e¼îÄ\ 56ËøÒeð\84ñe\ 5\9c)®ð®û\18Fð]ÇÎ_\r\8e\ 5ËWHê+\1f\18\97\81\9au\92ò\80°³àå%ç#\8bO\ e©6\ 1L@õ\14g\1f\9e\12ÝHI¸\19\1eä\7fÝÇÇ×/0$2\16\8c\94zÊTÍòGz\9f+ýù'vu6a\ 1O÷;_
\99\92Éf\19_ÈBS\18%5\83äó\WB\17Â/¿\99ò˧±\85\e1\0H\be\1e\85ø¯ï\9dÌòËÅKüÔª\ 1\ 1U4£\1a/©4²ï¥&ÅÝ\8c\b\r  \ e       \8b¸\19\97t\a¯ìè\94é­\12S¦Õ+W¬X    ùÇÛÒ±³Í\a]®`a\8a$Ë¥¸\f\9e\99¢'\9bõ\19\8dXa°­\89Lij¡\9dý1¼ª\82'D+õîýû÷o©\95"S}[\19%eË\ 1åH\18¥ªÆÉ\v¾ \1aس÷âå«\97´®\9a\99v;)!6&:&6þVÊÝ\f¼>-ä¦LOíßÈÖ
+ÁiTªX¹\1a\ 3o\81w\198\1d\e\7f\17\vS_d\19ja¼"·¦42¥\91Y\vF\18$\85\ 4ï­×¢=éI\98·rë\ 1\9c[\87\aÌ/Ä\ 6\výÞ­Hnr§\e¸\8cr3 ¡^ÜM\10Q\r\ 2{\87í\9b7°Bõ¸èùËW¯È¥C>Þ\90Þ¹\9d\9c\94\9crûNz&ÈâIQq©S¦µªV®T¥:\84¡\ 6ªÞÔ\7f»ù\84'¦?,ÀÂT©.\ 3\84Áë'°gú   H\9e\81\ 3\ 2\K\ 2\8b¦³ç8x\fôj\ 5Åh¥\88b\14åß¿\13\17JÐØ 2îÇLîüQ>:u¸õ³\86jôbø\7fH\85
+û/^à\1déËçO\vñÂ:+ã^zú½\8c¬ì\87y\8f\v1CçM\99²ý1\rkW¯R¹j\rä\85èÔw´Å\82µà¿¯\83ÿÎ}òu\97ÁõÊÂn\1eݾÒJ=¯JЮhçT+¡
+;§lÉmJ@ä­´lT\fn<#'#\19ãº\ 3¼ùÂòÒÝÉ[\1aªÑ¥ÿhsÊP\1d\18E/\99É\98\16Q\8eÇù¹\ f\1fÀz\98\93÷\bÛ
+ ÔzZôå\94i\9d\1aU«T«Y·qKQg,Ù®ßëäá\7f3\99úï¯X)ö6\82v\91«\ 1¼P\18¿1Wàú¤MÔb>\18)zé\8aw¸/_\83\95z\87\8añ(ûnB\98\ f\99\82\1cGPL¾¤Ç)\a\8b§\1a$\r'\90\90ÇÝȽF.ªÆ\eXLÿÀãG\8fò\1f=zü\ 4Ô\ 2¼      üaq\ 1\17PÚÐ\18\88"*ÔªÇ\ 6S\e÷\9f"ùw~Ñ×ý÷G¦;\93Ô\ùx¨\7fþ\ 1        ä\9fÜLÀ¨)¤Ù\96vê \11U{\8c\9c\8c\94è\e\bàIY'è\14ô\1fåÌeüT"\rg\19ªO_ö\aK@ºöÞ¼}û\16Åñ\ 2ûk\8a
+\8b\8a\8a\9f\16\8f7xgª\9e2]D»\0\ 4õkU¯V½V}\16¸mó\ 16\98*=ÿ¦ 8\ 6S4ÍàCF\810þøãO\9c\j\8a½ìêûï(b¤\9e\91PêÝÛWà1@1Â}/ «(\8bX­ÉÇR^\96Z5\1aaË8½/8v\ e|ämÚÐJº9H;Ç\8bç¸^¼@Q \88p\eÈõ\1aÏ\837¬]£z\8dÚØå\80\91í²-\87Îza1\84Þò\95ê¿y\1dý\17\8eïf8ïI\90ü'ä\8f8\15ؤ%v\86\8c\9bf½jÛAÒ4u\874M1F\8az\fT\8cÃ\1a\15´\ 2°«åÅW\r¤á\9dB Ò1­ºË4Þã\ 1$òx\rÁ\15¸t\90\ 49\93ì\94\837oT·VÍ\9au\1aR\\12¬L¹zs\91méÁ\14Ö 5Ê|#\99ÑÙÊ\15iþH[\11Æ\98ÑN[\9f\90XL\820\92"Fê\15Î\1d\93®"M\96\83òh¥øÌ1X\16í>ÈxÚ\ 2l\ 1ôº\11\9d̽ô\87\ fï©@p¡pH·\r\9d2Õðàú\8dëÕ®U«.\18y9AÑÛ~äÜÕP¬L}5²Uûï\10,ó1MX\88q\8céc\15
+\9eÚ¹ï\b2\10Àë_£\91\149\10\ fï\91~»CÛWÎ3'è\8a\ 2\rj\9crµXÕ`\89\0&Ϧ\99\1f¹\80¥¦ùÃ\87\8f¤Û\89®\ fxíü\91\9d2å<8âD´\124¨S»v==ln',UGÏ]\vû·Âx\81æ\ e\12\16\17Öܵk\86¼A\950ciÀ\9b\aÀ\86­ÈDÌG©ÃxO¯lI'ª\eá8 Ý\f\bµT.­\94\1a5\96¤VÒn\ 3Æ\92\16Î3LxK2+²û¼õ\89\1d\18*ÊËÒÀ\89\f¡Fê\83ea!\rÏÿ;a\90;Sæc\1cðc°æÚ´AíêU«T­Nà×\14=\ 6\19\97\88jiºGÃÚ\aéd|áàÖ\15è1Ê·bpª\81W\ 6-IæG8gÜ®\85`G\eÓ^Lö_½>3\1d®¤A\ 6gT\98ü }\v½úuëÖoÜÂ\80
+ã?Ð\f¶LÈ\`c\175\b£a\9d\1aÕ ,«\87\ e£+\1d®D2Z\1cÍxø¸ø9q\18ÔPæfÞÆö.Ç]v\v§s\80¼åU1~â®ü\98Ì\8fÞ\19\1c@0alö$C)Ø·÷Ysñ2çkç\8f2d`\1dZ
+\1aÖ¯×\0ËÝh¦Ðg\û7>\83öó³3õ\viÒÖ\8c\ 4\ 2\90çiÄä\99\8b\1c\13ÕÒi|\12Ö\16bXK§Aqä­/\ 3U]n\15\83óá\95\99Ì\ fÃÛµö´\8d\9f\96\80Þ\95*\f^Lz\ 2\9b<Ç¢ól¦× AÃ&ú\14j\9dÔ        Cÿ2\9ab\85\91\14É
+c\10Â\5®_·NÝúzÍÛ\88ÐaXÚ¬ÞNF\ 1¸)\19z§D¼7m      Þ¹\ 6ñ\!Ç \j\15´M5«ÅŨ\ 6\13Þö\19a2gé¦}NÄ\87³W8D\18\1a1)k`Rn\ 6\81<½íõ\9b4jØ\b\85A¦ý·\1eÂK×»Ù_+ÚÒKW\12\a\90\9c\ fÙ~\11\1c±eS½\86\r\1a5iÞF¨ê\898\15+¶88]ð       \8d½ÍÖ\aI4÷êYa\1e×,¿\ 4\11\ 4(þkyV\fÍð¶\9d¬ûÀ±S­Wo?|Æ\13\9b(\1fà\1dÎ;Ú\97©¹\8dl\1c\14KnûVPÔÈÖÍ\1a\13è·\97\97¸Îø\8b\epÆL!âã¦%\ 4¯DÔV¿©@ÐT¿-A\992\9bKg\8e\83¢\99¨ö-^|¿§y\ eNXyº0]º´\81\9d\12\7f\94[aðÃ[ÚD9\13KTç\11P$\93\90\8eå\92A)\vMàÃÂNu\91´Ó\170°/\ 4WÌA]\9b*­P¨®\86@4E\81@MGõï&ïжUË\96­Û\8b\95=\ 6\8c\9e2\e\9b­Ïz\ 6\90¨\96\8dµi'b.\8eår\80\7f\9d#R+ëMý¿.uß^\ 3\86 ÂjÅ\16\8d[\9c÷_\b\83-d \85\153'\ eé©ìк¹@Ь%$Í\ 3\11E\ f«¶QÉ_¿ue\8d\1d^Ôy»\1eÙ±zÁ´ñC\8c:ËE\86\ 6\ 6BiÇ\9e\ 3\18`#vv¬\80q\18D1HÕ8Â\9f\81*\83°VBÑôË·bðppêêéS\1fn³vçѳ\98ðb,É6ó\7fy¨±Þ\1a\86WÎ3\1dÕ·\8b¤}ËæÍ\9a·j/íJ@Þð>#â\16Óõ\\8a\aÿÌÌ\801½¶{6,\9e=eô £.*¹L®êj4pÔä\196«·\11àóØ\94\fò$tÞ\86       kS@\86ç\18\10¿\1e\1cÏD¹V\f\1eÃ\14çÃ!\ fÇk&D\14áf\195¥A+\19h§Â}ÝOì!\9c4=\95¶-[è·n/Å\10\99\9b\ax\b'úí\87ÒìÔ§\ fÌ\87 &\ 3Ò?,\98>iÔ >=»uëÞ«ß\901&3lVmÝ\7fÒíªÚa¼'­Îä~\ f«µ\14ÿ\87Â[2\f,\94\99¼¬·ô¿X\9c\ fÇÛ\ 3ÊÈ·\12\8b¤þ\91\²Q\8a\9dJ¾ÉÙ{ĶhÛªU\e\ 3ig\1cÇÿ\8b¶g\8d\ f!7\12\1d÷l\6oÚ¤1Ã\ 6\r\180pÈÈñf³lW!Ö¶×\r
+¥C1*\b¬\11{\8dáuöÈ\ eä\8c\18Ø]Ö\8eá&*ßF
+\97Ú\877n\89\8d\18\13§/ÄZ:\99\19.ÕP}fJ\19äþù\9a\9bãnL\81\87\1au\92\1a¶kÛ®\83´s\1f2\ 2~à´ç\rêÁ¿ÖÝù\ 1»;àC\10¨òôá\9dëp2g\82ñ\981c'\98L\9b»põ\96}ÇÏ\11B\80,
+QQB1hX;k2\9d>ãH\9fÊ·,ø>\9côî\8d\9a2gÙ¦ý$ÙHÍ"g\92&\e|a \9dzúø!\19à'ìîfc\ 6öè(í`h(\94\r1Ùâ\8dd /9\83½\ 4/)\8dÏÌL\0\82¯¹;\1dرnÙ\829Ó-ÌÌ,,g/Xj·mÿq\84\14F¼¯Ç\\9d\fM\eÿ\1a\83 )²4Cÿ\ 3\8aÁóáuH_Ì cL6\bå×-l\18ûÒP©Ûù)¶\ 53Àß½£L,\92(ºô\196\ 1   K\89\aOÏ)àÏ-i¨\175vy÷ï&F\ 6z\9d?y`çÆÕKlçÏ\9b7ßvÉê\8d;\ f\9c8çé\17\16w;ã!ç0>~¤HxxñÍ]c \15\8e^Ýÿ\ 1ïM\17ëà    Û´°co\9al82\8d\18ªÏ4\14ÂÌë\16ͼV/°\9c0¼_÷N
+¹¢c·¾Ã&à­!\99;NûZã\14)«ÐºFÆí¸pÿ+ç\9d\ eïÙ¶aíª\95+W­Ý¸}Ïa§óWü     \1f\0\v÷õñ\13ÓvÎ)\ 6{\8dÑ\94ãß*ÿÂàåáx¡\83µR«å\14ö\834î|a¨ØS]Ho\14.\9cÜ¿yù<\8bqÃúõìÚ¹s×\9eý\87O°´YC±\93îd\7f­¥ðó'\8c§^\91¹¾äØ0\7f/÷Ó\8e\a÷ìܾuÛvû½\87\8e»\ð\ e\b\8fMVC¯}¤Åû\17´#\84¹ø¦÷{êjmù\97\ 5¿\96N\93\8d\16à\8d\ eVEÒ\1e\94b¨x\ 6\1fA»Ï\1dÛ½aÉ\óqÃ\aôîÙ£W\9fA#'á\8d\10\8bƦ~Ý\83SÕxù\14\fU\1aH#àªÇ¹SÇ\8f\1e:xðð±\13§Ï_ºv#".%=\e\9b¸\10·\85\ 2"Ðk­\14V1ðâ[\Þ«µ%\97Ú\87ÓdcøäY\8b5:øJ$\e\80X(\ 2ɳvÚ-\9ec>~äà\ 1ýú\r\1c\ 6I\82-\bóì\15\b§¾\9a\83\7f\81\82ÜûØï\1etÝËÃÍõ\8c\8bË\99\97¯ú\85DÅß¾ÇÊ\82\85ÁÃ\8b\14Lo®_8¹\97©-\1a\94ûjmÉ¥Q0\94vÅ.\80\15[ÐP\85SCõJÓPÑSM\ 3\9bÛ±¡¾\17O\1dܾvÑ\1c\8bIcG\f\e6|ô\ 4óÙ\8bìv\1eAa¤dæ\16\96\1e\1fòê9J#ývBtØ\r¿k^\9e\9e\9eW¼}ü\83#bn¥Þ{À\97\ 5«\18ØYJ8\86æÿO*\ 6Eæÿ\a\9bl\18*q\1c\ 2¬þ\11¼\82½\95^\8a¡bT\83Ü}&E\a\91)åµ\8b­,M'\8e3\1e7Ñtú¼¥ëw\1d%Â`fúJéÖùÌ\93F\1eºÄß\8c\b\r
+\f\f¼\11\1c\1a\19\93\90r7óa>vÓ±²À \81¦ì\11\90|ïÛX²#¤|Þï\95¶øÉ\ 6©\8aL\9e\85­Æn_1T¬jÐÈ4ê\86·ÛI\92'̶4755\9f>×våæ½\8eçÈ\88\93Òc[j¨>\92¦\9bâ'ù\ f³ÒS\93\13ãbnÞ¼\19\1d\13\9f\98rçÞý\9cG\85\9c^0\1e\86\84ÓÈ\ 6wdÇjÈ1 \94*/\8añó\17ë/\7f\98\87³\8cíJæóVl9àìñ\97\86\8a\18üÌ;  \98'8\1dܹqåbë¹³gÍ\99g»|Ýö\ 3'\89$3¿.\f\9e4°ÃúAÖ½´ÔÛÉÉØð\9e\96qÿa^AÑ3ì\17bdA\13M\ 4¢'|Oä\ 2\84t:×ùî[¥4h<5È<¿ú\v$Ù`\rU¯!¤|{\844U\96\18÷\v\86
\84Ôø\88\0/7çû·®[¹tÑÂEKVØmÝsÔÅÃ\97\0\92`\1dþkÂ`¥A0\8fò\1efßÏÌ\80\95yÿA\ e6¼?\7fÉé\ 5#{R\82       ¹vþ\98ý\9a\ 5SKP\ 4~§ÂÐäñ¤¬\91ÿ\968\921T\95hU¤3)ߪ\rÕ\17©\1fkð       \1aËíø\88\v§\8f9ØoÙ`·f\8dÝÆm»\ f\86\85%\16\8f¨4apP     oIÃ{aÁ£üÜÜ\9c\9cܼüG\ 5Ødýê\8dº#\82W\9c\f #\0s°*eX\92\95î{[%x<\7f#\8b¥òü\vâH¾¡j_\8a¡¢@6_º\rÈÚ@\1a\917®]ru:ê°{çöí;ví;|ò¬\87Oðͤ4zyû\15a°Ò\0åx\8d\1dÖE\85Op\15\16\16?\ 5Q\90\96F\16\8d\87i\10bG\0ìlY"ÓïY1¨(~%ì\91¿!\8bg\ 5²\90ÊS\838²´ßd\f\15\82fvà\f\15\89¨ø5ªÏ\1a\ 6\1f²6\94FjBTðõ+\17Î:9\1e>\bi\9b£³ëÅ«\ 1áXY¢°i¥5\88ð¤\ 1\16\8fvX?#ë9é±&uÚOê\96\14Ú\ 5\11Ã\8c\0L\19Ù§c\aM"´ïm±¢`y<+UªL\16Ry2D\9e%¸¿ø¿[ÒPÍâ\ro\95n¨0kCt\8bÌ;·bÂ\ 2}</\9c;sÊùÔé³n\97®ú\87F3¨þèû¿"\fµr\10À<ÒaM{¬Io)×'ÄÕ\89oEø]¤ ß`Ò\rú\1d\8f\0PÂB"
+\86dzz\r²ª\13\8a\foä_H\83"\ 3ò\f\15­Qñ\10L¿\90\ 6èÆ#24\1e\15\12àëíéqñ¢ÇeoßÀÐ\9b\89©lɵÔq\19¾4\88v\94h±Æì\82(âgõ\rJj\ÈU×£\18×RRÙºßí\b\0Çãù{\85?+U®Z½\ 6ÒxÖ«_¿~½zuëÔ®Y£ZÕÊ,od©âà\19ª&¬¡Z£1K÷\96\1fß~æ¤A\0\15î¥Þ\8a\8d
+\r
+ðóõ½î\17\18\12\11\9dx;=;\8f\85.ÿº0þÅâ³}d\9a¬ñ\9f´¯÷35\8a\1d\15\94楳&a§s    \1eÓïiqü´\84<\92ðx6Òk"\104m*hÒX¯Q\83zujÕ âø\vi\10CU\8d5TL\8dJ}ëWÂm°ÒÀ$úafÚí[qÑ\91áa¡aá\91Ññ·RÓï3\ 4I\7f-\f*\8eÏ\9f¨@¸\ 6ëÏ\9fÙ/úÌÍ\ fÜeº\83lظ\16Ûs¾GÅàqªV®V£v½\ 6z\82f-Z¶nÓ¶mÛ6­[µlÑ´      2±Q²©ßþB\1a\1a\86ÊÌj9öôù\86\8d%\rÕg\1a\v\86ÈÁé©)·\12âãââ\13\93nßÍÈfsè\92Ý>_\11\a#\11uC)÷\97\1fÕ}=ྷ®\98KHé¾ß¸\96Ç©\8a<\9e\r\e#\8f§¡P,\91ÊdR\89HhЮu\8b¦\8dYb¼ßþYª44"*R£"Åt\97Ëþ\11\#Y©Òxýâ\19"\a?ÈÊH¿{'5õÎÝtÌ¡\1f\17â¤æ\97}p\7f-\10\rA\90¿øÄL9¥\93\ 1ü½8\80?¸»ìû\8dkÕ²@\1eÏ\ 6\8d\9bµlk(\96«:uíÖ½G\8fîݺ o¤aÛ\96Í\1a7¨S³jeN\1a_~\fÏP\91b:Þú\1dã\r\ e½-Q\16¡±\10¦m\bä\9c\97ó û~VÖýû\ f\1eæâ¤2aÔûøé?\12Æ×\85Ä&\19w\90\9c\ 1\99;Ð}\v)²Ò÷©\18Ô]T¬R\9dðx¶í UuéÑ»ß\80AC\86\f\19<h@_ä\8d\94\18¶ÕG&¶j\7f-\r\1e\17X\7fd<Ú´Oc¤N£ý\96\9f¶=\7f\94óóò \87¦\93ʤ\87ÿ?S\8c¿\10ÆG^+èé\ 3\9bÉ\0þwì¾\19®á
\8bÚõ\e7oc(Uu3ê?dÄhãñ\13'N\9c0~ì¨á\83û!1\9eAëfzõkUgȦþÂP\91\1a\15ÞúMÅaÓS4\11/¥«\8df\ 1\1f\ 6YÛÓâ¢B\8©üâåkV\16ÿ\950hs/\8e\11â\10Â\9e\88Sɸïï0®ey\9f\91)¸A\13ýv"EW£\ 1ÃÆL01\9f6cæ¬Y3§O3\9b<~ôPÂÄÖ¦EãúµÕÒ(壨ÔOÐZÔ±÷°\89t\f\eû\8fÓÔüS\1aý lÚF²è\17Ï!\8f~N\93hZÐøï\84ÁX©¢GX#¼êz\84\8cçôA0#ÂÖøÝY)>ksCAËö\92\8e\r\e3É|Æ\kÛÅK\96.]²Èfþ\9céf\13G\ féÛ])j§&\9bú÷\86ª\v\ 5(`âÛÒÜ\86\1a©\16g\8ax\83Êü,ú¿Q\fµ\95º\89ã\7f\9b\96Ì\9aH9e\19@üïK\16j¢àê \8bV\ 6²ÎF\83FM4\9f9\7fÑòÕë6nÚ¼yÓ\ 6»UË\16ZÍ0\1d?\82O6õ[©öVm¨8Î#þÌÊ\97nã_\\16ÍK£ß1Yô\7f-\8b\92V
\88Ç\ eè"f\að¿?Å`x\9fq`·\95¡¬k\9f¡c§L\9f·xÕú-;÷ìw8pÀaßî\1d\9b×­X8wÚ$B6Õ®¹^Ý\1aU¾Ö\83ÇoOh%Tõ\1a\8a\8987ÍUz3´:\8dþ ^ü,ú¿\13\ 6\99èÄ\89qÂ|M\98"ôùÌ×ßÏâ\90ª!\1emÒÒPÞµï°ñæ³mWnؾçàÑ\13Χ]\N;\9f8â°{«Ý2ë\19&<²©¯5á1\86\8aôQÑD\9cÌ9ªÑ;JÍ\1dJ¦Ñ\9f4Óèÿ³,Ôck,0äÄ!=ÔÌ×ß\85\95â_§þÂaÈé\eȺö\1d>aªÕ\92µ[÷\1c:árîÂ%Ï+W<=Ü]O9\1e°ß´Òv&!\9bêÐJP\9fkO-å£\19Mc #0¾¥\13À_u\ejq|-\8dþ?\v\83iWÇ\82-\89¥X+õ}$\19%o¶Y<}Ü:ð¸ \8b\96­ßyà¸\8b»çÕë\ 17\82\82\ 2ý}½/\9d?utï\96Õ¶3MF\rè&kßB\ f\v\9e¥ª\86ú#\19öâ\9et6ÞÁù\82ï×ÝFI\89|\13\8b\87kAèø\8e2±Ô÷a¥J¹Üf\1dF\9dFH\89Ó{Øø©ó\97oÜuØù¼§O`HÄÍè\98\98è¨ð`ÿ«HýµuµÍ\8cIÃûtÖhP-ñÙô¢ð\1f\bà\f\86
+\12q\8co§Û2e\11>UÞ·Øì\7f'\vfN*\8f°\86º þú$\1aK\95¹\95Ò¼Ýf\17G\16\85ÄòCÆYÌ[¾q÷ÑÓ\17®\ 6\84Þ\8cKL¾\9dz;%)162øºç¹ãû·¬´\9e:npO\ 5Ӻ͹p\r\19\93\9bs¬8V­I´\r\ 1¸f/añTJ©¦kS\18ìØ9Á*Q3\13\94y,ÅÞn3×Ûä^û\1fäþ\820\f\92@\14\av7ì>êâá\13\14\19\97\94\9a\9e\91\99\95\95y/ívbt\98¿§«ã\9e\8dKqÎ\b{·Õ}\15\9c:0\r\føé¿ýö\aÉç)\1fØ n&;\845TºQ\r\8dÙZ>|m\19\93\es×Û¸S¿\93E\9a\r~GY°)ÚH\93Ù\8b×ï:â\82\88þ\89©÷²\1eääåççådgÞM\8e\ró»|æ\88½\9d-\ 3µA¬.S\14a:\18\98\ 6\ 6üè?þ¨ðg%,t5nÑNB9=×RNO¶~«\13ÕÐ\98:?s\88\83¯mP«L­\14ïz\9bÜoã"­\ 6\15þ¬X\99\81\ 4"Æ}í\8eç=|Cc\92îf>Ì{ü¤°¨¨°\80\10±aW¬³Ã\96åsMGöíÄ\16=\19\fx"b"\ 2úÉ\7fV¬X©R\95ª5jÕÓkÖZ\bª1ÖÜ\8aðæ²\98*ìÀ¾\96eÁÇc¸Ä\82øP(ò³RlØD:\rð~»r\95*ØhP©"ÞuW¯U\1f1TÔ\90@>!1Éi÷s\11úô9ÁÛ,ÈËNOÆQÆc» \85å!]RÊgösé\aW©JVµê5jÕ©¯×¬\15ä.ýFL\9aa»v'õáD5\18¯¡ma|\81T2¦\7fg\11¥f*3+Ū\ 5lYÅJ\£AõjÕpÓðü6GÈð\91SXH è$$\/~\86,\9e¯ñ^\94tÅ"\fÍ~æ\ 6\99¢+"\9e/*\ 5Ñ/ò¹5kÖbVíÚuêÖoÔ¤ykCYçÞC!H[A\98 C\98f\11]\ 4T\9cË@Ê\13\1aØ\8e èye\a_Ëk5¨X\197\1f;\rêÕ­[§v­Z°yuê5j\8a\91\14Aãe\81.     \8e6eñÄ\9b¸â\ 2®\99\9e\14\14\98²g\ 5Ä\90¥\12®V\1d>©n½ú\r\1a4dW#½Æ\82f-Ûv\0a\f\19k6wÉ\ 6\96±\1e\87\92ÿ£ûÔo \fÆe\10|J>úm\19Y)N\16ØjP½fíºõ\eê5\86¥×¨a\83úõ`ûô\9a\82)!WÖ+\18Èp
+ÜLq\ 6?ЮXõ}þ\ 2\8b1\14ªºF\95\8a\15°Ñ\r$Ì~¬ i³æÍ\9b·hά\16-[·3\94(»ö\19\14§.\ e»P\18Í<\86¸P»Âø\
+F\18Å^/³Þ5¦\e\8aª\ 5Þoc«\81\96úúÍ\9b      \9a\80P\10³\83D<\14\86å\1a\85a)æÍüÐ\91]\12«³,b\12즯Z ¡2Q\14uê7lÜ´¹~«6mÛ·700400h\8fËÀ°\83HªìÒ³ÿ°qf³\17­ÝqðÔELÃy(/Ú\15\ 6Ïe¸\1f§Ç¨\93\9aÁ´ldñ\v\95\ 5x꺰gú­Ú¶7\84eЮmë\96ú-\10%B¬êI`ª·áÌ0\83¡M9ÌÙ\16n¶ÖF\ 1\ 1\a\11@ÀZÕªTFÿ\ f¢Ð\134oÙ¶}\a±T¦P*U°\94J\85B.W(\94\1d;w3ê7dô¤©VKì@\18\90jĤdpl·Ú\15F        \97\814\8d½   Mc\19\91\±-8h¢jÔ®¯×T¿\8d\81P\82\90KÅBÃöíÚµ7\14+»õÃâ*b\fú\84ƱÐ]l\7fä§\8fLC^\f)) Ô56G"  úÿÚõ\1a        Z´n/\94*:véÖ³\97Qï>}úôîmdÔ«'¬^F}ú\ f\1a>f¢ùÌ\ 5Ë7ì:|\1a\94¯\80¼hC\18\1a.\ 3k!\1c\99\9fî­\14W¶Ã\16\9c:\r\1a7om \92©ºtëѳg\8fî];)A "±TÙµ÷\10H\92W"\826(Æ=B\7fÊí\15w%À\87i\96\13\1a5j\82²5ÁO\95wêÖ«ï\80AC\87\8f\189jÔ¨\91#G\f\1f6l(¬a#F\8d\1dob1sþ\925[÷\1e;sézh¬\8e\84¡\99e8\97 öÕ½\95b}7\95EÃ&- ´éH6mðàA\ 3úõîÙµsG\95ª\13\ 1\ 5\9a¹Ðn\97ãyB+\883¦o¹­R#úª\85\81\88\9b\8dëש\rn[¯iËv"yç\1e}\ 6\ e\83m\9fd2Å\f\97é\94)&\93\9a<Ålê\8c¹\v\96¬Þd\7fðä¹+þØ]®\93\8a\bñ¡Î2HäQv.\83é\87ú½B¥ª5ë6\14À®)»Ò¶\8fqÆcG\8f\18:°¯QÏîÝ{ô\1e0|\9c\ 5âT#~6ò\ 23`6L\7f$_3\\ en¦Â0ÐoÒ°~½ú¨\16\86Ò\8e\ e\1ei<ÉlÚ\8cÙs­æÏ·\9e?\7f\9e\95ÕÜ9³gÁ\9a=Çj¾íâ\15v\9bí\1d\1c].^»\11\99p'\93Ã\93Ôª0øH¡\\96aТ¬\\86Z\16ê^\83!£ÆM65\9fja>eÒ¸ÑÃ\ 6÷ïÛ§ïÀ¡\88дz;%ie\aéJ\b\83¥¤Ez\ 40S\ 6-\ 5z\r!2kÑV(ïÒ{ÐÈqS¦Í\9ag³xÙ\8aU«×¬Y³zõª\95+\96/[ºtÉ\92¥K\97¯\³nÓöÝ\a\1cO»_ñ\v\8dIJ»¯\932:ÿ\10y\9d9ÄË2ÊÊe0½\ 6D\16\ 6ÒN½\ 6\8c\18g2uÆ\1c«yóæÎ\9en>yÜèáC\ 6\ f\1e6j\829ò§#ù)Ç\87®î\17§\ e\9cCiÆöÈ\1erÃVÍ\9a4nÒ\f\95­{¿¡cM¦Í±YºÊnã\96m;vÚÃÚ¹cû¶­[6oÚ´qÓ¦Í[·Ûïq8rÂÅÝ\93°õ©\11=´)\8c/\81\13ti.Ëб,~bn@+U¯Ý \89~{\90Å Q\13-fͳ]²lùò¥\v­çX\9aM2\1e=räèq&\96ó\96m¤L=w\1fhZ©\12ü\84{I\17Xw¹aë\16Í\10ÈN¬êÑ\7fÄ\ 4óÙ6ËÖÂéß\7fððÑc\8e°\8e\1d=røÐÁ\ 3\ eû÷íÛ·ßáàác'O»^¼â{\ 3Ùú²H{¹¶\8bSj\97\91\14©.L\95a\96ÁÝo\93R6ÈbôdK«\85Ë׬߸iãú5Ë\17Î\9bia2ÁØxÜ$³\99\vVnÙOx()\18\9dzB\85K\9dÒoEø2©Ó\80nrÃ6ú\90¡\18\80,\ 6\8c\9ad9oÉ\9aÍöû\8f\1cwvq=ïæîîîævþÜÙ3.§O9;\9d\84ÓHç/\FæÄ\98[w2\1eä?ù\ fÛËÿ+aðî2ø´\ ee\97eüÂÝ©¶\11©z\ e\1cm2Ýzé\9aMÛwíÞ³{çÖõ«\16Ï\9f5uʤ\89\93¦L\9dm»j«\ 3ã¿5A\9e¾¬¶\99!\8c\9d!\81±#²\98<Ýzùú\1dû\8f:\9fu¿tåê5_ßë¾¾>×®z{y^¾tñÂ\ 5\v\17=._¹z\9d0'¦ÞËÎ-àæ.tã2\18ØõÉÜ\8dk\19¸\f~ãG+CEwfÛ¶í9pøèÑ#\aöîØ°j\11è\86©\89\89\99å\9c\85\88véá\17YR\18|Xà zAc2¢O\17Y\87vmÛ\82,º÷\1f9yÆ\82\95\9bv\1fvrõðò\r\b
+       \v\8f\80\15\1e\16\1a\1c\14\18àwÝ\aÄrí\9aÏuÿÀàð\9bqI©\ 4»à\19SkÑ\95˸¤&$(«»\fÒÁD¹x\9a·\93té;|¢¥õò\r;\1d\8e\9e<åââ|âð¾íë\97ÛÎ\9dnA0"\18a|¡\19<z#L\9d\b\10í°Þ\9d¤\1d\f\98Ì}âô\ 5+7ï=ærÁË/(<*&>á\16®Ä\84øØ\98\9b\91áa!ÁA7nÜ\b
+\ e\81¿K ²x¢\9e»Ð¦0¾¯»\f\8e\8a§^\13¼\89\1ellaµt½ýAì\87ºxáü\99\93\87woY³xþÌ©ff\16(\8c­\ e\9cÏà\v\83×\1féKf¨-Ç\rîÕQ*4ì F\10»ñÓæ¯Ø¼×ñì%\9f\e\111        É©wÓÒïÝ»\97\9e\ ev2ÄÇFGEF\84\87\87GDEÇ&$ßIÏz\98_Püüå7èõÿwÂ`![Õw\19#Ëò.CÍ©@éfMf-²Ûqð¤ëEOoo¯Ëîg\8e;lGø\94iæfæ\96slWnÞwÒÝ·$\16\1d×Å\9dÍvqÏ7\1f\87J*\12\8aå\9d{\rÆûÔ\8d{\1c]/_\ f¹\99\90r7#+ûÁÃ\9c\9c\9c\87\ f²ïgÞK»\93\92\94\10\17\13}\13VL\1cèEZæ\83ÜÇ<#¥e+EÈã\18ò\19&Ë(+\97Á#îÖÇY\89ñÓ¬ÁI\9fp½tõº¿¿ß5ÏóÎ\87ì7¬°\99c     Â\986{Á\8aM{\91i/^\13M\96áX ³&\97qÖd\8eÉÈ~Ý\94R±XÖ±G\7f\140ön^ö\v\8bIÂ9¼¼G\8f\v\9e<)(x\8ccHY\19i©É·À^E#½kbò\9d\18O\8a\9fs\ 3IÚv\19ÏX\8a\rZ\98êFî2Ê*å£ü\16\18\r»\8f\9d½t- 8$$ÈÿêE\97£»7­´\85dÃÔtêLëeð\974éã\ 1\ 3ò\ 6Ú\13ÃI\7fäÂé\13\86õé¢\94J¤Ê®}\86M\98\80pT\\ f\8bMN\awP\80X\11Ï\904´èÉã¼\87÷3\90j\17t#::6\ e\85Áx\f­+\86ÚºR²Ldâ\1d]¦w\19(\fJ¢NI\91È\10Ñ\85«\81¡\11Q\91aA¾\97Ï\1eÛ\83Â\98f6e\8aù\8cyàN\8e\9eõ
+\8aaÀùI\ 6Î^fÐf\17ob¥,\8c\aõê¬\90J\15\9d{\ e\1cÃ\8d\89Å$ãØvÑ3²û
\12\8b\vA\1aYé©I     ±Ñ7£nFÇÆ'¥¦g\11a¼Öz\ f\e\e\ 3b÷y°7¥\86\18n¤¾Ë(\13a\80ÿ®Z«a³öò\9eC\bå§ã9/ÿШ\98Ø\98¨P¿+ç\1c÷n^i;{\1aƶӭ\16Ûí<LkS,0 \8bGC¯ù\98\81öÙ&£ú÷è\88\0ðÝ <#·æ®d\80\92\10³\13bD2ô\82]\f\8fr²Òqº;
+\xdT,\87\8föõ^Ûo(\8c\1232È7\8a\ 4ËeT\98\0ÿ]»Q\vCUï\11&s\96!z\84opT\bb|Lx\80×ùãû6¯´\99=\95$\1as\17¯ÝqØÅ3ðf²\1a\18ð3\9dû!\0¤ñä\ 2\1cb)°R]Ur\99¢s/ì?\¾Åá\14¡J¼¯qkþ\8e¢\82äd¥¥$ÄDB|\e\1c\12\16E2¾<]\14lùóÆ<:¡²ä\98¦Â¨VG¯¥°S¿ÑæóWí8röJ@Dì­ää[q\917¼ÝNìÛ²\8aÑ\f"\8cCD\18\fèõG\1eP\13ºï\eW\\10\8fÆl\fZ)T\8c>\b\a¼Ö\1eIDco3|Âï)\84ìGÂ\85\87`RwnÅF\86Þ\bð÷\ f\f
+\8d\8a#u©bíw\86|fÓo&\ 6$--l`[V×ß¿B0U½n\93Vâ.\ 3ÆN³µCbâàèÄ\94ÔÔä\84¨ «n'÷oY½\10\1c\8céVK°yã\va0àÌ\88³\88\0¤\8bgN\1eѯ;X)E§\1e\ 3(î¹³\87?¤í\ fØ.AöÖ\9c \0g§§ÄG\85\ 6\81\1cÜïFèÍ\ 4R±ýwà,ßD\18êyc2#3KcF¦,úB~!\¸õ\90LxÐø\19\8b\83¬.,.ùÎÝ»·oE\a_»àä°mÍ"«\19\16fæSgY/[¿\vñKÕÂø¤\ 6j¢8\8bGw¬¶\9e:n\88Q\17¥L¦ìb\ 4I¤õê\1dG\½\83cS¹[s\16l\vC°'yYwoE\87\ 5úz{^¾|Åûú\8dpz\97ñLûÂà2UfFÆv\9a1\9dä+³\19\19"\8cÊ5ê#\99ðÐ\89³\90\bár@dÂí´ôô;I1Ø:{p\87ÝRëÙÓ§M\9b1×vå¦=\8eç¼\83bX0Y*\f\r÷\r\94Q\ 3À}Ke\18×\12\9aDD\90OL#ewêgØ\84\v²ß\1c\ 4Y\vºîu \8b\85\97¼ý\82£\12Ri\9b\8ev\85ñWóÆe5#\ 3ÂÀȶA3J\99\8a\14!^AÑIwîeÜKK\89\vó»ärdׯ\95\vçÏ\995ÛÊf©Ýv\a'÷k!ä\943ÂøÄfß\88\1f\8e\8cò\v§O\ 4÷­\94IeX!\ 4\ 5ä\eXòr\90\ 5xzô =9&ÔßÛÃÍõìÙsî\97¯\ 5\86ÇÑf\ 4\ 2è¥Ma|¤le$\96\807Å̼qYu\9fC\ 2\8e\95©Z\r!\98ê3Òt\1e!Ï \89MIËÌÊLOM\88\f¸âz|ß6»å\8b\16X[Û.]³y÷\11\172\92ÊÜô¡08<\1a\16\rÖÂxp¯Îr©DÞ\11\92\fóy«ÐJ\11\0ù¢\17jÄ4r­\83¿GPk}.»\9d9åì|ÚõÂ\15¿\10ʺCÓ\18\82©ú\13rew2ol< lgd°L\88\91­\9e>\ 6S\16\vÖî>îî\e\1e\9fzï~öý\8c»·n\ 6]sw>¼{\8bÝÊeK\97®X»Éþ Óyo\82¸Âv\98±\98Õ\84\91\aA/\91\91\a¬\94L"\91w6\1a2n\9a\8dÝ.üÈÄtÍû(ÊÖM°®ãÂý½/\9e=uòø  '\97ó\97}\82n\12ÀÂÒÁæ¿¥0Xè5r\88øíÁeg¥h0Õ\18\83)\86pÍ/2ñnföÃ\aYé)8ýâzâà®­\e×Ù­Û°u×\81ãg/_Gþ\ fjÔ?P\0q\ 6Û/ÒÏÃ\89ðâ@,¥\92I¤X¯\ 5\97\ 1!\81\87\7fTR `f\14\ 6ù½{É1!×=ÝN\9ft<vì\84³«Çµ\eQÈÝ®ua0\9c¥\94SñÔ~Íyã2
+l©ÿ&ÁÔà        3\97lr\0û\ e'ÿþÃ\9c\9cì\8c;\89QA×.\9e9~h¯ý\8eí;ì÷\1d:qÖã\1a\9c\$ØcÚ            G\ 5\83¬ï\v1ÉúE3&\rïÛM\85.\ 3[\10g/Ý\8c\1f\19};+¯\b¼\8cú¢\96\1cL\bòÓPý<\\9d\1d\8f\1c9âètö¢n\84ñ\99«\9e\13bF¼(&\ 4²eh¥èeFŪµ\1a"åù°És\96o=\84¥§\94{\ fróòp\14).<\0L\88Ó±C\a\ e\10øR\8fk\81\11ñ\14¾\94räªýw<\81\83]\87Â\80,C!Wtê9`´©Õ\8a­\87Îx\ 5i\96\16)ÑÈ;äñAF\86\vgN\1e=|èð1*\fj¦´ê3¸;>\84^óBäT
+½Ö¢Ìæ\8d\7fþ\99É2 ÿîЩï(\86ü.\14)¡ò\1f=Ê{\98 )@¨ÿÕKà]\9d\9cÀ½º{úÜ\88@2\16\96\13\aZ\9d}\87\b\ 34cæä\91\ 3zvV);ví\rY\ 6¦ô®WCâ   #._\18è>©Ë\bó\ 3+uüÈ!\14\86«\aø\fÊÜ®ÍÐö3[
+!mó\94\86\97\a½V\ 6±ÔÏÜ-_}A\e\81ÆÓl×1)ÁýÜÇ\ 5\ 5\8fó\1ed¤&bBæuùâ\ 5÷\v\1e\9e×ü\83#ãpx¬\80\19\9aç\84Á0ã\9cÜ»qÉ\1cÓ1\83{wïÒ¹kÏ~ÈÆ³ÖÞ\91\90\e2×Q\,õ\91\12Ǥ'G\aû^:ç\8cÐÁ zç.û\86\90\89>íæ\19¼ë°øPl\vYcM\91
+Røg\96_¤z\9dF-\90d{Ò,bß\ 3nÂfä\17\14\16>y\9c\97\9d\91z+62$ÐÏ×ÇÇçz@pxtBJ\1a¶4qà\1e\9f8ÔêÄðë\1eÎ\ e[VÌ\9b:\9e°ñôì3h´É¬Å\90ò1Á\94\9aö\93¥ü.ÌG¢°\eW/\9e9yìÐÁCG\8e\9f:OøÁ0éÓj\ 6®vß\14zm\v\81^CF\80²\81^S\ 3\82 ó\8e¸\vS%ÄÂÅíL\9c\9b,..|\9cû ãNrBLTxhhH(¢\97\0^\8a¾dkL\9f4hÃÎ\1cÞ±váÌ)c\87\rì×·ß \11ã-¬\90\90ï¢\9f&\a+[\v)FÚ\18°RWÜN\9f8\ 2Â8zÂå\82w AH(|öuxóo \vµûN¤|¥¶\96xÇÇ0\ 2èÜJý¬îê¬Û\18o\\87\85\vßð\ 4\bf\9e\14?{þ\f'X!À½\93r+!\ eV­ä;é\99\ fò\1e\17ñ.¨\99[>¦\16ä}þøÞMËçO71\1e9lÈÐ\91ÆSf,X\85Ä¡\ 1\dKo£\18Ö\98Â|\12Kù\ru>\86V
+ü7     ÖÒ²K4\8fjA\16\¦Ê\9fAl\89¬cºGNedÁ\ 2\82 [\9bÙ¼\15Û\ e\92\92,\98lØï\97/YðÒ{i,xiÖ\83ÜG §\97\94\ 1ä3¯\80\9e\97\95\1a\1f\83\9ch<Öx¼É4«%ëì\91!ãf\8aÆ\ 5\bK5\96C\bô¼Ü]N\1c9\88ÑÚ©s\97¯\87Ò9\19\8dæQ-\b\83ã-!ÉÑb&É(\93;>vl\8c\ 2©\10 @:­çv\8dÐ\83à\1dôëׯ^>\7fZXð(÷á\83û\b^\9aý '\ fÁK\9f¿äØX\18a¼ÆÙÊ´¤\9b\84\8cg»ÝRëYÓÌLMÍ-ç.\µy/Á\9d¿\9dÅ»\1a$\13\80\fµ$$2\1eg\9d\8e\1etp8pøøi·+\84Þ3W»E[õ=1Ö\bÏ¡û¶\18ÃK2t[=çF\95@\16\14¹c°1BhR\86O\8a÷ôúÍ\9b7\84\ 1¤èÉãGùù\ 4»´ \10EÁg\0áNyANfj|¸¿§+öö¬ÀÂâ¬9ó\17®Ø°ó\10ÎKÆñÚÖ?\7fRS[%Ç\84^÷<ç|ìàþ½û\1c\ e#\8fa`$¦|_ã\17û6²P\17\9a\93\919\96\1a)\rÊ"Éø\99/\v\84{\92w\1f@Àe÷\9ep'c¬\88\1a§»\91râÅógÅ\ 4¼´\88b\97¾Ò\0̤¾ø-C\13  [{ÙõÄ\ 1ûMkW,Y´pÑÒU\e¶ïwtõDÄ\ 3.\8dûDu\895R\ 1^n§\8e\1dÜ·{×\9eý\87\8e\9f¹x-\88-|iÍJ}æçF¡ä\9eØ\ 6yK$mÕÀ3:\96\ 5AnÆ)\80\96\ 6²®ýFbk\133kÏ\8c±"\1a#a\9cx\ 5Îã9®\17jìRuC\13ûjO\vrïC\8a\18\ 2\aÝéðÞ\1d\9b×Û­µ[¿yç>\ 4\rf)G\18\97O\9fäfÝÁ°öÂiÇ\ 3{vîØa¿÷àñ3\1edÎ5§ t¶Öo'\f\96Á\95²\8dcöͺoÝ&\19\1c\8avEN\16}G ;çvÄù¥<\16Ïhk%\85Ê|û\16ì\15YØÔñ\9e\13\85ºç\99á©ÊÁ;»P?ðÇÇ\ fïß\8dû»çÀ±Sà\ 6¸Ê"ñ4Üu+©J]tqtصmËæ-Ûw98\9eñ \13à\7fA/ömdÁËSÝI\9b\17fßeÀ[¢\96\ 5Az"²\18>ÑrÁª­xmÄáÙ°³öD\1eïßÑõ\9e\a]úYóåÞ¼|Vô('ónRLXàµKç]N\1e\8d\93.n\9e¾Á7)\15=mKûÈ8\fR®õõ8ãè°sËz;Т\1dû\8e¹xø\86Å¥ª}½¶\84Á§6>´\râÚQ\88\ 1¤sÞ\12n\9a\92A\v¦è\8fÓ¬WlÞwâ¼÷\r\ e;\93åt¤H\99\1cpéÇ/ñ2\19\87ü\1a\e=\bûKd°ßÕËîçÎ\9c>íröüE/f(\8c\13m#ä{9¤(uù¬ãþ\1d\e×®\±bõú­{\8e\9c\ 6aÄ3\17WZ²Rê\96;\86Ú\18ëÌ\13È\98´®\81ÏÕ²ÀiJ\84\ 3\98¿bÓ^GWB´\96\95Ë2µ°Ñ\92Æú\12¤ñsIö\97Ä\98\88`\7f\1foÏK\1e\97.{ùpÕ,üT"\f\96\962!\ 2¯\11÷o_¿
+\99÷\96­Þh\7fÈ\19\ 2/*\8c\14\ 6\97¥ò¨\8dE$®Õeö­1eܨië\ er\9c\9d@Yì9vÖ\13B|2}­\ 6¡(u}ùzji@Æ\9eIZÒB\83\ 2üýüü\ 3\83ð\11*óá#\ 2U\vÂø@³\92\aé4+\818xùÂùVVó\91\92Òá¤;b/Ü×bÉö\vÅ@¦«\89\f®:R\f\ e!\84È¢Yë\ e\8aîýGL´´&²¸ì\17\16\97\82æ¤4\80ß¿l³ä\b.H·fnvÆÝ\14¦]3"òflbÊÝLv@\ fm\1d¥2μ\1d\eâsÁù ÒµÎ\99a9}Ö¼E«6ï\83\9c3\ 4\84\91¯Ua|`\15ã¦Z1tÏàªF¥¨V³\9e^ó6Be÷\ 1#'M_°bó^"\8bØ\14\8dyßÿ|/8\82\vÈ\11\8b
+òs²3ÒRS\92\12\13â\13\12\93Rî¤g=È£\ 3\19($R¬E\92ï#öë\97\9cj:ÅÔ\82épÇþ*b¦´#\f^\93ö\9dx\12J\81Ç`¨\8duIèÃOõ\b¬\9a\88Ì=ÎÀù.G"\8b\97ÌÕcÿ¿Þñ3i×Dåx\8aâ@2\9e´»wîÜM»\97\99\9d\93_Pôì%U\8c÷T1î\11ü<Ç=\e\97[Ï0\9b8Îxüä©s\16­Ýyøì\15®Ã][Â`±\980ÇÀPª,\14\83\97êU«U¿q\8b\8e8Ø:ÓfÕ\96}\90$SYäý_[ñ?k°¿\14\15<ÊËy\98}\1fVöÃ\9c¼ÇO\8a\9f±íÎÄc\80b$\84_¿èì°u\95Í\fÓñ£G\8c\185nÊ\f\9bU¤N\89\1dîÚ\8a¦ØöGª\18>îL(Å*\86®âZ\8dT¯~\13}2ð=fÊ,ÛÕ[÷\1f/)\8bÿC!\82J\83a\7fQ\93ñäç?*xÂ\94\16Ñ{\7fx\87w­9\19)ÑA^®Gí×-\9am6nä\90A\83\86\8e\9a8\15QmO]
\99Ì\8d\ehC\18T1\1eÞKÂä\9bQ\8cκU\fÍT¯\89~{Ig#\82B·f\9bà \82b\93¢)\8bÿÿ\8dà\94ã\v2\9eç,£-Q\1d¦EÚ\8f¹\15\9c0rpÿ¾}\a\ e36\9f»\944HG%gäjI\18Ü=\ 6*F¨\8fÛñ=ë\17N/©\18Z\17Æ\17©\9e´sï¡Ææs\16Ûm?pò¼W\0vTr\11ÏÿuDå3+\ e\94\a-h={Î'ã!Â@\e\91\95\8a\8cÛ\8e»×-\9ae2fH?£^Fý\86\8c1\9d½dã>§\8b~\91I÷hSµV\84Á)F\14­JAò\8d9\86\ e\15CS\16\90êɺô\196Îbî\92u;\ e:¹ycóÍ\7f/\8b\7fý5\19\ ffï¤\88E/\9eIT¹jÁ´        #\ 6\18õè\8e×åSf-Þ°÷$\11\ 6ï\86ö\eËBS1v\93ª\14Á(£9\86\ e<\ 6/Õ«\ 1©\1e\93vOÅyïCÎîWoD&¤f@Lû_Ëâ_\9c8\88<\18N[5\19\ f#\fÒ¯î\7féÔ\81-Ëç\99\e\ fí׫{·\1e(\fÐ\8c½¨\19·´)\f\16Ö2*à2£\18};aò­+ÅÐL»1Õ£i÷2\84\ 3¼p-(*\ 1©\83\viðù_\8fÑ1\15\14\96Ò\96\90Ú\92\9aÖgÚ|\88\1d\9d8UsÑiÿ¦¥sÍÆ\ eéÛ³{÷\9e}\a\8f1\9d³tÓ>ì-Õ\9efðr\8cR\15£4².­Ê\ 2S½þ#'YZ/߸û\88ËE\9fà\9b\89w2¿\9d,þõ%\19\ fÇ\8bÄ´\84\9d '÷mDa\fíoÔ³gï\ 1Ã\90\ 6\ 2£)ìÊÕ\8e\17|7Y\8f1\12\14£U\93z5t£\18|Yд\9b@Ü,X¹iϱ3\1e¾ÁÑ·\b´Ó³\97ß\82|\90{mÍ\12#[ÕâÀ!¨06-³2\1f?bP¿>}ú\ f\19\r\8f\84(otD\8dÀ\1f~sap\17|l'*«\18\ruT\95*!\8b\14Ã\b\12¬-\98v_\ f\89\9b\95û¸èù·\94\ 5yó/Ë\8bü^cHù\9c ²µ¶\9c<fø`L3&\98Ï]²\9e\94Cø½\vßæYØ'R\ f\83\f\ e\82\12\8fÑ\8a\96ku¢\18_ÊbÊLHõöaªG°\0s\v´\86\r¡Qæå\80\140Íð¿túÐöµ\8bæXL2\1e5rÔØ\89\10ËÊé\82ú>C\vÂ`{\1fÙ~ùé\13XŨ¨\eÅ`8Ý\90M\adѱ'¦Ý\v×lÛ\8f©\1eM»©,þ{\1eÈÿ`7\98\89FL\7f¯¸\1eÛ½q\85ͬ©¦\93&M6\9d:ËfÅÆÝ\f£(ézþö \1d\9d\88\82çÏ3\eÕ·³î\14\83#ÇeeÑk\10$W\8bÖnw`R=L»\8b_p²ø\96/ÿånp\ 3ã\19)1!×Ü\9d\ fîX¿ÜÆjÖt, /\±\ 1âì\vר~\ 4õ¼Ù·üvfª'Âï¢Ó¾\rظÖ\93\86RºP\f\1e!+ÆQ(\8b±D\16\a\9cܼ\ 2\9e.dÁ"\12`Så\9d\84\bì°Ú¿cê¥\vm\16Ø,Z¶\ 6Ñ\85á\80D&¨q½¿½\95¢ccظvtçjks®qM\a\8aÁ'Ç¥ø\83D\16v\90v»{\aFÆßÎà¥Ý:¢ýb\ 6\\93¢\83\17Á~Ëúµ«W#¢í\9eÃNç<é\9dÊ#vvó\9b~9Ów\8e\97J\ 1\97O9l^:{\12Ów®\93P\8amm®\½NCd"é\896j1È\82M»!½Ð¡,Ô¥¡ÜÌÔ\ 42\bpâð¾];·oÇ\9e)ÇÓn\9e\10Ü\91>\12mP5ðÇÆ\bX\1c6®ueûÎu \18\1c9.È¢\83²ÇÀ1T/\9c/\½\81\93ï\9a²Ð¾08;\95ÿà^J\8¶ô\9c>qì0¶ô\9c8åzÑÛ?4\1a\12P\ 6Ïö\e÷\13rV*+\95ô\9dC\K\1a×ôuÓwNy\9e\19®C\82Ë9zÊ,ä
+qÆ\12\b\93v¿àµ0\7fÃWÿÚ\8e¨\9b\ fÓ\92c#\82®{y¸¹\9eqq9ãêæáå{#\9câÙj\ 5è\99\83\86ÌÀº\18BZΠ\9c\12d\ 4\8añ3\vËYµVý&-\räÝú\8f2\99¹\90'\v\ 6¬\94ë\9bÕ\890>qÍ\87iÉñQ¡7®_óºâéyÅÛÇïFXT\²\1ajê[\ 3=k0#2<Dý1®Õ        \99îÏ| çö²®ýFL\9ea»fû\ 1ð\17<Y¼Q7ÎêÆiж©B\8aø\15\e\15\1e\12t#0ðFphÄ͸[©é\1c:á7\87\9aâ3#2 k#\8ct56F\1d\ 6\99KB¼ÚÎ}\86O\9cn³zÛ\ 1'ðÝ\9c,hÃÆ·!8ÿ\8fv\84ª\ 6B~=Æ\8e\1e
+Mx3:\1a\81"SÓ      jçÓçZÉzxhÂ\ 4tm1\aº¦ý±1f\90µ\ 2\90`\18\r\1d?Ízå\96ý'ݼù²xË    CgÒ\0Õ\0i`GÏÃû\99éwSo§ÀJ½\93F\86¢
+\8a\98\13òÍ\15C\13Mx\ f\1ftMëV\8a1Rè0\98Y\18\8b\9dÖ+\90ð\84`\1cEdÁ]7èD\1aô"\10;z\9e\15?y\9c\9fó0;+33#33\8b7\14õ\8d+\96ì\17\93±o\ e\80~5Â\19é
+t\8dDRh¤xDÅ\bó{\ 5R\&¦}õ\9a\97\914p$ª°àq~^^nn.\1d\8a*¦CQÚ\90\ 5\8f\85\bq:\192]y{\9d\80®\11Åø\9dLx\13\1cç\91\16#̯§\7fD<\93ë\91.\ 1¶Íÿ\8b>\7fm-¶g\81t\90<#\1d$O\9eС¨çÜPÔÇoÿ(\14\ 3\0²\fä_G\ 4<\bl»ë\88L\97*\ 6"ÿ\vZ      ;\1a1,ô\bó\ew[-\8b·oÙ±\8b\ füY$­.~CÏ«\97/p$\8ai!ùr(ê[~+GS\89ÐÎ{×/D\ 4<p\19:\0 g \ f*W¯«×\ 2\8c\14%*vpFÚsÒNËÊâ-¿c@WY8Ûí\86\13\83ÌD\14í ùb(ê[~é'\8aºÆ\10È@\961ºo§\ eúº\0 ÿ\99\81ôªÕ i\eqç¾\94¨ø¸ÛÕ h
+óËÉâÍ\9b7¬4t¥\1aü\ 6\12n$J=\13¥\9d\8c\87eóAÔ5\1f7ê¿{«\10Ú\19]\86¶­\14\83   ¢\87Ð\aCxDÅ\14æ\97'\v\(\rÝ©\ 6×°À\e\89úÀo[ÐJ¿3F¶O\v\90\0îê¹#ÛWÎ5\19ÞKѾYý\9a\95ÿÔ6\9a0\ f,\a1A̬Vl!DÅñ8\97\84\19î[V\16ÔBбI] \83½\8dÕ\1c\89Ò\9a è\17ÒbHö]\1aL!5C\ fHùXÿ­]a û®V\eÁr\10ß|áºÝ\8e\bS@\18Ï\9f3\ 4ÞÜ\10ë\9b\16Æ¿JiXÐêwS\f>\96Ò\912ÏB0¥\13ÎP\8au\87(΢N}G!\18\1aác¥\13Þ/©,ÊX\18êmÒ\8d\95)\88l\19\16Áq\ 3»\8a1\98Â\94OÛ.ã\9f\1c\vàq\96¶ëÔ\98 \ 4\83\ 5\eý¾\13aèf±\94\8e\84ç
+"[Ûic\91ZI¯¶Ö\85Á\ 2\ fÖnØÂ@ÙkØäÙË6\1f8u\89\12\15\93     ï÷dÖþÝ\ f%\f\96Ò1ÒïâIdÓ\1dÝ\8fF¶Úfãc\ 2[
+üO\80\aw\1c\ ea±Èß} ]°\8cj¼¡\ e\\87ÑT\19¬Ï\ 4\9d\92\94      }Ý\8fÛ¯±6#\95)\1dD¶?³XµMZ#V-\a<ÈÀw¼§!%U\8d7T\16ÚÊ|¿\97\f$K\vó9\7flǪySF\18)ÙÊ\94\85Áê\1d?cñÆýt:+\97A\8cøÈ\80\82¼S§àÿã\8añù\13ǯyÕõȶ\15¤LØ®i}íW¦~æ\80ÿÛÉ{\ e\9d4{Ù\96\83\ 4\91\89Þç\f\16-+\8dw´>¥Ë\ 4¼,\16¿fKx¦\91(CÖV \834\ 3\85ñ{\ 5\ 6ø\7f\18\ 1þ\a\97\11\7f7\9b\ 2\ f|üT\ 2 ¥4t\96ÿ­Å\91\95§R²rJ\1aÚº  ¡óÑze\8a\11\86\81Òhø\14«\95;\8e\9e»\16Êã9ä\86YÞ¿\7f¯® ÿï*\ 6\8f¬\1cÉN÷mXhÉÖlµ~³ô3K\89Ñ\1c\841bʼU;\8f\9d÷     C\ 6Ðg\8c0\98ÊÐ\a\r°\9cÿ]Åà\93\95Cd\8bw®cú!é7­ÙjûfékÂ\0ÿMw]c°Hwwàe´\18¢Jr\ 1î~|×\1akóQ}:\1a¶h\84P\9dÚ¿æc}\ 6\bþ5O3Ø2\1d+        \1dµê\94Ñú¬\19Ù"\ 3û\88ÞJ\83æ\r\984C\8b²`£)µ\ 3ß~Äõjhü]µÏ(Y5Õv\9d®\8c\17Ó\8dPð -^£\80\ ei\86ök¶%C[¤a\bF\9a\1d\16\13³ÔUÖ[¦½Å\16Ð\1fÜ\8d\vÁ\ 6¶ås&#¹\12\97fè@\18ÕÕ\ 4%\aN{Þ `5\1cµÞ\8f%\f\88\8cI\98fèJ\18\9¤ë@\86º\87\9bèý+\8cµÿÕÅ\fóÑÛ\8c\83H;¦\91óiý¢OÍ\10ja½v\97£\9b\ f2X<b        $KYe½aÚ[\9fXX£¬Û\98ó\91«%"\f\1dTCØû\f,¡#wî\14\86{/\86"93íµ?Ô¢\18\95,!\1f!7fÌ\94ÖÛ\118\8aï\ 6ÍÚÉ{\f\998sÉÆýÎH:LPR ®öû\1fk½{óêyñã\87\94b\13yÇ&P\9fÁ6=ëàÚµF=RC\1f;u\ 1²\ e\158ö¯=\7fI0ç\7f¤\85pdOò³)ÊÕ~\8e\9fA7\0ÏÄiT\ 2§¡ß\81p|/ßâàìq=\1c;;ó\v\8a\9e>{þ\ 2ÖË\1fe½@hý'\8f\90Å \8c@\96\800\86âÌqÃZìl\86ö/Á«Ö\ 2;%ë>x¼¥­\9dýQ×+\81\91 ©÷²só\1f?),***þaVQQ!v¼g¥%E\a_u;±\a\aÀ\87öb\80\8f¾\86N\83±S"l(\9c»lÓ¾\13nÞ7"ãSÒ2\11Â1/\1f×£\1fcåççå>ÌÎLK\89G\88écÈ$\bÂP\1aâlee]\bã\17\1cΠ\8dS=\ 6\8f\9f¶`õv\9c7\ e\f\8fIL¹\93\9e\91\99\95uÿ\aZYY\99÷ÒR\93ã£\82}<\\ eï´[8câ0#U\87\96\8dërÈFZï\ f!-\85¨\1a#&ÏZd·ó\90³»\97_pDL|bRÊíÛ©?Òº\9d\92t+>&"øºç¹\93\ eÛVÛXN\18
+Âh\85økà4´\8dù¥n¶mÑ\9e\8eÊ,Y¿ó Ó¹KWýn\84\86\8c\8e\8eù\91Vôͨ\88°à\0\1fO·SGvo\>\7fê¸!½TÂVMê£\a×\85\9dÂ$¼
+\99ÏP\19\r\19gaµtÝ\ e\aÇÓç=®\õõ\v\b\f¼ñ#­À@\7f?ß«\9e\17]\9d\8fîݺvÑ\1c³±\83z*;´\12\800*éF\18\f7eó¶\92Î}\86\8d\9fjµxí\96Ý\a\1d\9dÎ\9cs¿èqéòeÏ\1fh]¾äqÑýüÙSÇ\ fíÙ¶nÙüé\93Föï®0l\89\9aÁ\86SÚvá8ÓW\13\90¯d¼Å\1cÛ\15ë·îÚwð¨ã     'çS§N\9dþaÖ©SÎN'O8\1e9°wçæµË\16Ì23\1eÚ§\8bÌ@_\87 ªA¡*ä]û\ e36\9d1oÑ\8aµ\e·î°ß½wßþýû\1d~\98\ 5/»oï\9e];¶n²[¹Øz\96ù\84\91\ 3zv\14·k¡W¯¦N\84Á\ 6T\14\83¼k\9fÁ£'\9aϰ²Y¼|Õ\1a»u\e6lü¡Ö\86\rë×­]½rÙ"ë9ÓM'\8c\1aÔ»\8b¼Cëf\8dêÖà\1c¸NÐ*\bìWkCYç^\ 3\86\8d\99h:mæ\9cyÖ6¶\v\17-Z´øÇYð¶\vmm¬çÍ\999Íl\92ñ\88A½»)Åíô\ 5\rêT¯¢\13aüÄḠ\9fO+\ 3\89ª[ï\ 1CG\19O\98lj>u\9a¥åô\1fkYZN\9bja6eÒø±#\86ô7êª\94\18´j¦W¯VµÊ\7fêJ\18¿°ÐÂ\r\ 5úm\85²\8e]{õ\1d8dØÈÑcÆ\1a\e\8fûÁ\96±ñØ1£F\ e\1f\9fQ÷N
+±Aëæ\8d\eÔ©\ 1.ã÷\7fê\82\1a\80\a\80^§Aãæ­Ú     ¥\8aN]{ôêÝ·_ÿ\ 1\ 3\ 6þ`kÀ\80þýúö1êÙ½KG\85¤C»VÍ\9b4¬[\93(Æ?\7fÕ>ê6G2\rÒ¨^»^£&Í[¶5\10Jd
+UÇN\9d»Àêú#-xßÎ\9d;uT*d\12¡a»Ö-\9a6nP·\16x\8c
+¿ëÂJñ¥Q±Jµ\9auê7jÜ´EËÖmÛ\e\18v\10\8a`\89\7f \85ï+\12
+;\18¶oצµ~ó¦\8d\eÖ«S³Z\95\18º\11\ 6Ã>öÏßÿø³R\95ê5k×mШq\93¦Í\9a·ÐoÙ²e«\1fmÁ;ëë·hÞ¬© q£\ 6õêÔªQµrEF\16º" û\85\92ûT¨X©Jµ\1a \8f\e4lÔHO¯ñ\ f¸ôôô\1a5lØ ~Ý:µkV\aµ¨X\81\93\85\ e\99ùP9*üY©r\95jÕkÔ¬U«ví:?êª]»V­\9a5ªW«Z¹\12¨Åï(\vÝ\18)F\1aT9þù\eÊ£"\b¤JÕªU«ý°«jÕ*U*£$* (XYè\92åø\97_Q;~\ 3yüQ¡Â\9f\7fVü¡×\9f\7fV¨ðÇ\1f¿³¢Ð¥,\884@\1cT\1e   \12²þø\11\17}uØ\ 3Ø\89\7f\10QèV\16\8c8¨<P"¸þùã.º\ 1¸\15¿0¢Ð©,Xq\10\81\90õë\ f½Ø]`6EÇ¢Ð\10Èß\8b¿ÊD\12\9a«¬· \8cWYoÿßëïõ÷ú{ý½þ^\7f¯¿×ßëïõ÷ú{ý½þ^\7f¯¿×ßëïõ÷ú\1f_úú½çZ\18\99Ú\98V6îWY¿G\7f\99       üû\bÓ\ 56S­+\ f©¬oÒ¡\87µ\8dÑ\fs\9b\19VsM­\97\b\1f\89\ 4\1dFL5\9d-hM\7fL\0?!\18j=ÃrÆ\øÃ\91榳§¶\11´\87\9fë\ 4ÿ­<ºôÏh-4T*\95"\89P 4\14\92Åÿ\1fJ©D$\92 \94B¥¡H\b\10È\14Ò6øk\86
+±L.U´\11t\18ic=c®¥ u\ f\v+³©CÍfN5·\19l
+\7f\98~y\aãÁ\83F÷7\12t\14´¶\94\8aÅR\13±I\eA'øñþ"¡       <\ fü\1dó\83ü'\13t\18be3bª¹\95µÅT\8bÿä¯[Ï!ß9\91y\1f±J®j/ÄÿÐw\90ÊeíÙ·Pµ\87\97Àç'/"\97MlÃ{\v\ekÓ¹\v¦YYÏa¶NÐzä\98¾&=là¯Ílm¦.À§Ðø+Þ\1fà6\v\ 5"\81\90üÇxIeòÿ,*Ë\ 5­Û\b\8cÇÂ_\v\ 5=¦Âÿ³-õ\7f¶µ%25"\7f2\94ü\13?KL?\vÿÕ\12þ)\96\re*©L)\92Ë\15\ 2©¡\f^I(\93©\14R\99\14$4\a\7fH¢4\14\8b$J\95J$\12ª¤\12\81ÊP¤\14
+\95"©P,\17)$r\81X&2\94\88e\12\95R"W  á×Ä
+C¹R¤\90\8a\94R\91J\ 5\85ß\91\89dB\91B,\16Ëe\ 2     ü»P"\93\beð'*ø\88^äiD\86r\99D*\97ª$Rx&\81Lf(\93\89Å*xL\89D&\96       Är©¡P)TÁg\88á{D\ 2¹Ò\10¾Q.\87\8f\0\19\88\94ð\13 \17\85\!\85\13%\17\8a¤\ 2%H\aßI¨\92ÈàGTô\9b@f2øcx.¡T"\15\vTJC¥\f^\ e\90Ëà\89\152Cø\1f\f\11<\93\0Än(\11Éd\12¹D¡\82W\15\88\95x:\14R\95J*\14       Dbx\12±\12\9e[!\15J\85Ì×(eø0J\99L)QÈT*\81\bÞ[©\92\8a\85b\95H\ e\7f\ 2\1f¢\82W\16Ê%2¥P&\85\1f\80-\10)Ur\89H\ 5_&\14\vàì\19J$B±P¡PÂ\7f%\ 2\91\d(TÀÆ\8b\81*\ 5ù"\89\10öE*\94ÉUR¹X*\87\9fR\88\reðL\12\90+HH,\90Ày\95Ëe*¹\1cö\\88?\ 1Ï\ 6ª*\92\89\80r9ü\84\ 4\84(\96«äBÔFø  \95ÊP\ 2ß#S\baOäÌ\17   \r\15*\95R)\87\17\90©D\ 2±Hf\b;(\15*áüÈ@²øÀ"    ¼\9f\18^\ 1öW \96À\ 3Ë\85BøI¥X®\0\11©$\86øºð1ð\e D±T\ 1¿\ 2GJ*\96ÊP\1atïä\86ø\r*±B,\14Â\91\92\94À\vÉ\85ð\8bB)|\8cÊ\10N*l'<\89T
+\9f«P\19\8aáÇä`\80\14°í°¹JC\85\90*\94p"ð3\94ðÍ2        \9ep\85R\ 5§\85|\91
+ä¨\90Iá7d"\90.\1c!   \9c^8ì*1l\12\9e:%î®D\ 6\ fGΪX)2\14ã¿\8b\14*8ÿðÅ
+|!8§ðüð8ð\a\12C1ì\1a|\9fB(\95²gN\84\9f\ 2?\83\9f*Ä_\ 3½\82ÝÁ\83*\ak\ 6\7f 6\84\ fPJ$J)~-ü\82\,#\a\10ö\ eO¿Ê\10\ e2(+l\80\ 2Õ
+þ@¡\82ã"VÁ÷\8aéY@\1d\91\80
+Á×\83ò\81\1cÉã\8bE`ÆP«Ä \119¼±H&\85c\ 4\1f+SÐç\85¿\87-À=\80½\95+àÑ\94r\99\80\93\83{"\83\ f\95+%"8?
+       ûFrx^!l&\1c\13\ 5~\ e\98\13°\162%ü©\ 4ä\ f_-6TÀá\90(Ä"!|#\1c\ 69*\80J\fÊ\b»'%{      ç\\ 2G^   ¯\ 2{'\16\83X¥p\1ad 5¹\949\fb\90\11\1cS\ 5¼\8c\fÕ\13\8e\1d¼½\ 2\14J\ e\9f© Ú\bû
+»#TJáGàô\82ð¥`¤\14
+\95\18ö\88l7Ñe8¨`\93$ä3`\e\85 hØo%c\83@ïÁtIP² $ú<b)\88\1a\ e\91PE¤-\85\13\ fg\f\94@DN\15¨\96\12\ f·\12Ä\b~\81ÈQ\ 2\9b\r²\85#\ 3.\ f\7f\ 2\1e\14Î"ØZ\99\909w \16P\18°s
+\85P\ eª\8f\9a.\16\822\82á\14¢&É@!娱 \822\15\9c\ f\91\10l\ 1\98$x\1c¥\1c\ f\8c\1ctM%T\81Õ\92À;\8béK\va»á¼\83õ\950\a\ 2\14\ 5$
+F\vL$ì9ü\8a¡J\ 6ÖR
+ÖX\8aâÆG\81ã\ 6æY\81{\ 3ÆA\8eöZ!\81\85
+'@Q\83\99U\82¨Qõá3àÌ+ÀJÁ\8fÈ%ø\aô\9bä\86\1cì\8dH*Å\ 3\ 1Æ\a^\1c\f\1a\18^0gxbÁ¾¡\91\82­\95HÄJ0xp8áQE û O)q\15ð\15ð\83`\16\84Jx')Xb¡\ 2m(8\18%c\1dà\ fUp^¤ø\7fr1<±T\ e\aB\86î\ 26\12¥"\91 T$B\11HE¢\92\91o\82g\ 2{"Ä\97\87Ý\93\80\ 5\ 45\12I%pÐeø,`ðd¨Ç \8d2\11ý"°Ø\12\ 5ÈU\86Û*Ä\17\a!\80©\ 5\87\ 2v\ 5¥\r\8f\ 2\7f\ f\8f\bÂ\84\ 3     \9b'1\94ÂA\ 4 È\95`°à\8bÄð\13¨$ ;`~@\0\12Ô\ 28¨ Mà\19è7áÁ\97\88à\98án\81½Eû\vJ\bGO\fÒ\85w\84Ã\ 1o\0\9b ÿ.\12\8béÉ\ 3\ 4M\ 6\13©\92\903\84J\r\1a\ 6ö\14_       \1d\e
+\f\80XF÷\8e|;Zg9l\ 5ì/\b\1fL'¸6\10\e\ 4\ 3Døà`¤
+<vR°ñ"8@ðq\18    ÁÁ\ 4\97\83\a\b\ e\86R
+\86HJ6\16ß\rl\85\10\8c\87\8cù\121Øt\ 5¨\b¼½\b\9e\15\14\11\ e\1d\1ceÐF° 
+òzpzÀÞÀÑ\ 3'     Î\11¢\bðÀ\12øWpR*ò `á\15¨ 
+\19î¬\ 4>\ 3\bÎ>\9a\17ª±(\109\98M9\1aBr¤¤\124è`\90ñx\88\14ÂÞ\81\ 6\82¯\ 6»\bO\fo\88¡\aú~ð\15ð\1324\16b\90©L\ ef\ f¤\fÆ\1aÃ\ 3\90
+h\ 4³qà\18D(\1exU8òR²up\96Á\90\81Þ I\87M4\ 4S\ 2§\f>\aþI^R\8aß\r¦\0Í\9e\0?C&Âß\91cP\ 22\14\81±\80Ç\90\82R\83\ec¿Ii(\85/\82h\ 2\9c\1c\11è°\*G\e"C\e\8e?\81ò\91ã\0\80\12\1d1\ 4 
+ÔO\88\85\88\15Â@\ 1¶Z\84Á\14\1coÐ,\11~(D\e\10\19\13.B¯*\ac+\84ÝS¢a\85S(Ã\80W\88F\85n\15ø   Ð5Ð\11\12Ú\81\1c\95 \1dð5àÎñt\80\99\83 \11\a\15\87'\91\bá\15U\10´\80\9b\86\9f\b^\13Ä*Dc\81q\19D\1aà» ê\ 4W\fNQF\ e\b:\13\f}`g@?¥Bp/ DB\89\90\88\89\8eÃ\81\ 3ï     Ç\ 3\8f;¾3\1c\ 5øq)\bMJÍ\1d\9c'\10.è#ºZâGE`ªÀÉBT\ 3¾     C9ø\1c\b\13\94"\95\f\8c\v±à`ÿ@\11!ºWÀïÈ\89Í\91áÎ\81.\8bd$\16\ 2å$á\9d\\ 5¿Ê¼\13þ\94\18ÕK!Bÿ@b*8Å`ûUø@øNà±1Ô\90a|
+\9f\8b¾\19~]\ 52\ 4/\8a\ 1!ÈD\ e¾\ 3b%Ø\v1µ«ð/\12Ø,°9Ô\b\81þ\80\8aÂV\82=\11)\18Í\0»«\94ÊÑ'Á÷\88!\8e\97Âi\86½\82=\87½\838\r\ 5\86Ñ\ 5Æw\10¾2á\14\ 4fpØÐû\89\fáÄA\f\ 6§AAí·\b=\198\12x[pµhÛÄà"ÁPÃ+ÃùÆ\17\12\82ý\96\93¸\12^JD\85\ 4\8f
+±4¼\0\1c\ 18+J°Y°\aè[ð\0\813\ 5ý\ 5Ï a¬\ 3<\1e8\e)\9ag\11Ú)\12_ÀëH!p\97\10«\84.\13\ e<\18B°Ðb\11\89ÝÀ\ \e\86#\ fÎO\85É\81D\84ÆB\ 5
+¤ \8e\19B>%>*\98xòEðC \8bBÔ8\fÜåäc\94¸\vðLàeT\ 2pl`Ò\14äÈËE\18'@Ô\88V@(\ 6s\0ÇU Ä8\13\92\ e
+P-\11\89÷ÀÐ\80pehBUì7\81N\93x\ 2â+\92\89Hð»¥xèÁ´(\ 5`Eál\81ª\88ð\8cH@\ 4ð;pÜdÄû\80¯\10(¨N\8b0g\82-\94\v®\ f´K\82¡\vù&%\9a[ô#x\8e\88Î*PÓ¥èQà  aÏá\1dEx²Á\(¨ÒÊAûD\98       é©\82\b\ 5\15\0~\1cB})\1a\a\b\ 1áô\b\818\83\9aVpçp²Áî` \0Þ\96|\13\ 4' >\b¢áO\ 4\10\97A\94\0æ\19L\fD^°7`\ 1ácáTB$   \ e\12\9f\ 5\9c\0¼0\9c3\8c \89\ 1Q\11\ 1`\ e$¢'\\ 5ï\ 4ª\8d\ 1\bø\1d<\9e`DÀñÁ\19Çô\ f\1eP\ 5{\ e\a\I\ 2\19!ÆaBØO\88
+ ô\aí\ 4í\ 3-\ 6­\97Ê ³ÄÍC/\ 5\a\b6\1fö\Ê\1eq\88¡DhWá\9cH0ö\15a\10«$Ï'E3\a\9a¢\80?\0Mų\86>\15tV\8cY\14D\11RLÉ`\1f\rq×Tè\96Ä\98\92É0\86UáÙ\ 3ï"T0f\bl\8a\b\ 3p\b\93Àf\13ç%EÕÃàGE\8c\fÆåð\82ht`/à\83Á7À\8b+IøÁ\ 4GrÌ\@\8cb\f\8eñéé¯cn%\94rn       \82k<e\18\ ebf*Ä\ 4\e²7â\111kCõ\ 3­\87ÿÂO@Ú\89\ 6\ fcKx{\ 1\1aMt\88ð>\90Éa\8c\b\9b)\87pU\86é\9f\18<x@\f\82P\93!*Äç\817Ǥ\1fÞ\16t\13\7f\r2\7f    \9c\18Ør8gðÁBTSôdð;\98¢à\1fÀF\83ëÄ´@\0v\15\9c\14Ö\1fTð-\12zÂAÖRÌ\88À\8e*0\9b\ 5k\a\12\ 3MP\15´\7fX}\81_\13¡\1e\81²c\1d@\84\12\85§\a\93¢R\92= V\fb5\f(\ 4\18\ 3ÈA±À|\83ÛPpÇN*\ 1×\aù)Z\0Ð\vÜpô\98r\19\ 6¶bT\141n\b\ 6$àxDh/À+À\13\831E¡\bÀæÃ\e\fA9\ 4xr\81\12\9d\12XV0'BÌ\9fé7az\ 2'
+¼2j¦\8c< ¤$`U1\82\80 J\85U\16°¢r,Dà\a\93\83\bfV\8e\16R     \16\ f\93 LLAò\10\9bÀ^áI\84=\82?\14A@Çä\15`IAf¸\9d°W\12øzâ\10Á7Ã\99ÆÄ^\84e\15°.à\11À!\82UQ\90Ú\ 6~,è¿\9c\98*\19\1c38,h\85àÇää4`r\8bÅ\18Ð\1aj[±Z\83)\0ì\96\ 2«@ð\ 2°cð´à\0e\10\8d    0Í\840\0ä*G\87¡$/\0g\fN&h\ f\14£#\11Ù+0{`³ÑÈÃ\ fÃg\82^H\99c\87õ'È\9a\92cD!ÀD\1fN?ÆÏ
\ 3\99\0b}ðô`\ 31k\84\0\ eO\8c\10\ e\10h\e¨\r¸/\ 1h\0j7XYÌÑá\80£í\ 5c\ 3¦\15\9fXL¿       \1dº\ 4ó$%HS\8c
+'D¿\ f\9e\0v\ 2\85*\90\82Á\93¡åEë FÍ\11b9\fÔ\16\1e\e\93g\ 1\10l\13\1c\17x/PmÜ\17\10\87TE""8¥ô\9d$\18ÚÊÐü\82\95\83dC\855\ 5¬\81À\9bÊÑ¿IÁÓbå\14\94\ e\v^(m\11¦ÛðÐ`½`Ûñ­ÁjÁÙQa@*&Rú\7fì\9d\a\Tɲð¿]3\8a\19T$\fI2\fÌ\10\ 6PrÎ\82dDÂHÎY\91\b\ 6TP@Ì\19sÎ9»æ\9c׸氻¿Ý{÷Þ÷ÞW}Î\f  ¢\ 2gÀúß»*Ì\99îªêêªî>çt\eñÈ\0\ef\9e<#º/qÈô\95,¼BéÔ\94\8cô?\92»ÀÊlR1\8c¡`Â\ 4\ 3*èÖd\8d\0¼\ 1B6\87̵©4hÄ¢\96\fHd\82.B\r\1cÒM(ç1$K:ôÌY\9bÌ\15a\14\0Í\0\ 6c\91Î¥G\1a\16¾    Ó^\18\88A\90'\1eÉ%\13\r\89é\94j\10<`¤¢G\ 6%\10¸ \7fÀ\80\8agHÊ 5A_\84\19\ 3=¿¢Ã\10H\f\15Ã\14\18Ê\ 6¥IM\10ª!\8dCº \1dE\8f¬£ÀÄÉ\80d*=\92ÂI¤\85J\8cÈÌ\1a\86
+P\82\1eô\18CÒ½ ýAæ\85\8ed\0ã\ 4\98rB\ fàÒé\8f«M\96\8a\18\19GëÓ\ e\r\81\ 1\82\bÄ\bh\ 4\96\16t\1c\ 1\99\8eqÉú\16ô\14.\91\8dD-Ò\98ļZ 5\8fÄ.}"\vÌ
+Y\1c\94,%\82\83\18ÐñA\v\86Ãdº
+f\81\818\19Ó\81- ]\r!VÁ8\88\84R-P\8b\8c´À\8b\rÉÌ\98x§6\19DAv\82ñ \aj×Ò\85®\rµ\18\91\ e\ 4-FVtI£\115¡n.\9d\9aÈâ'¸'q\13Hc0\88#\9d\eÆ\ 6 ª.\99Òó¨\9cG\ 2"t:\b\850l"c/0\ eø\1eÌúÀ\18,Áʱ\11\99Z´Ä\88^:6Ò'ù\86\8cû\ 5K\ f_Z_v\86\8bÆRËÑÖu\8bÒZ\90¬`°\0\19\rR;\8f\ 41b2CC°+\99v\93)\ 4µ.MÖc¡P\98A@Ãé\81kCÏ\ 3\87åB\8f\0§c\93A/Y[\80q
+´ \ 4\ 2Ò7aà\ f\8dEÆ¡d¨\ 1C'ÒßÉÔ\0Ú\99K~\ 15qÉx\a~­Kf\95´\1aP\f\8c\89\r\88¿\90å\18\16\fNH\0\86p®Oæßú,-²¢FÖ¬I8\82\11(\97¬§\82û@f\84\8bHTâ±\9a£\97\95À\1e\ f\91Å\bÆX\90\10\f¨\88\fCj2ô\81®\b\1fP\16\80v\ 5
+\bɧ\10ê!ö\83\93\88\87K/zp\89\17A¿\80©\f\88\ eé\8bÌ©À\9fa
+\aÃlCzl\0é\ fZ\84C-5\92¾BÆ\92àßà7`%ÁT\a\86ùzºd¼\ 5Ñ\1eb\ f\8f¬S\93\19"\19ÏPë/º$G\93¥        2Ý4¢z.\e"\15\19\1aèR\8b\1e\bÎlH\ 6\87<*à\91v\81\99\10W\97\8a\17ô4\91\fxy$&Rã$*»BÞ$\8bddÆaH-¡\93\ 5}r'\ 1ê¡\aðdügHÖgÈJ<Y\8fá\91ÕZH¤0\1c&\99\1f\827D\ f#ªû\vf\89dðÅ!ß!Á\ 6ú©>)\16Â\f\rÈT\80Ef¬Ðµ@\b²8(ìÙ ;Yö¥\160H^\82\9eIiAÆ
+dåJ\9f\9a!B\9b\18\1aÔ\r\ 3É\1a0\19\r\ 2\0\14\ 3¡\v\86
+л¸D\1f=\1e\19RÃH\rò"|\8dÅ%A\11Æ5\90TÀ]H\eÒ¾À\83ñ\ 5\847\18¹4ò\ 5«fy\fék\96¡T7£ÿg\19IÝ#R\1d\15\1f\1f\12Ç\ fgE$\87\84GñãSa䬯Ò\82\10\ f±\9d\8cWH\96$Ã\\18CÂ,\88\1a\8eòÈB\11¹©\a\93\1dªQAo\ e¹=\ 1N\ e¡\87\fìIÎ\84Äc@UE|\9f\8cÏ WÂÜ\ 5Ê$ë\13\10©àûÐc@\7fÚA`|É\86V\80`DÝ\faYRñ\80\98\b\92\v\8cÈXÁ\88*\91ä]\929\8dÈ"\16YP i\1eæ¦ú¤½ 5`ÄÇ%\9e\fÍÅ%\930hw˸ºhciÙô\1dÌ/Ü\18lIí¨Û­ôÍM(\99¥jeá`'h\0/rϰá}O\13Á\1dÑ`\v\a\1e¹Ïé\99\9a\15Ë\ f®\97µÁ=CúN\9fox\93\8d­×²\8d\9d\14þI5\96À´õw)Õ?q¯¸Á­ÜÄ\90ÔH\18¬\195}+×\90¥ã\0bR÷G=#C\12ù^Y\89üfÝåÅÖúêÖúô\8d}C\18mCºhêÆ¾à#-\bã\1c\86¿XZÔýpHB\90 à÷¼¯¾·oÐ\8c\eûMüÜàÖ=%\96¡\91àνð§:)5µ\84ÒQ¢rZôνð~;»þ~;\9bnææØºm\1f¢ønC3õ\8c\ 4\18/9D \8d\85\ 3Ë"-5\81E?½\125\8e__E£.é\16\9aÂONç\87\a;ñ³\82é\8bRZâ±\91/|ì;\\1c\1fÚÀ\876ð¡\r|h\ 3\1fÚÀ\876ð¡\r|h\ 3\1fÚÀ\876ð¡\rq|h\ 3\1fÚÀ\876ð¡\r|h\ 3\1fÚÀ\876ð¡\r|h\ 3\1fÚÀ\876ð¡\r|h\ 3\1fÚÀ\876ð¡\8d\86\ fm|Åó\ 4Á\ 6\9fx;ü3\8f\14\bîÞ\8aÐ}ðOjÑb︷\87\e强\9f|5ÄÉ\ 3\18P\16µG\81\13\ 3»\8d´±%¦\83\1f\1c¬\83uiÓ\91k\ 5\1fÕ]nÒð\1aÁ/4,\1c\82áZÛ¨ØT~ò\a\927ãy\8e/Þ0§Ê`\11
+X6cÇòI\1duÆÔÿ¨>\87ø\94Ô\90ø0¨+$5$\18du   IüDe\9fVÞ&\93\1f\96F®mÊ\ 4\1f×H4¬ûÂ\87õ7h4\b?\16ñP \97<<\0\8dò©Þ¢\ 5\83&\ eÉdMt\97º\8fÈa=0¸\85\ 1   OÐ[ÈÌ\86$\1c]½¯ì-\10ô¾óa\ 6¡Äú\ 6To¨ÿI(¥>ô\vZ<JT\9en\voøðÁ\1e\ fä!\80\ f\1e\ 1ÐÒ%ë¸$]\eé\19\90\996\v¢(\8c\9fxäV?ÄZ#2Ä\80~«GîûpÉ\8d7\18\105¾Æ¹ñ5Z\ 6äÞ>Y\93aC0\87ð\ e\175®­yW5Q\1f¤°¦r\96\1e[\r<\82,3\90\1e¹ÍmÀ%\99\87G<\85\vù\93Ü\82\84LC\96qÉÓ/l²j\v\93\17\18\8eñ¸\:K\91;ÕºÔó\ 4Ôà\9c,n\93»Ã\1cø\19\\88\8cÕÉ¢!\f²¨Õ\v²BL')¡+\92Â\8d``O\86-\90µ`\12    \83\17\18óë\92H\ e\91\ f¦\85ôz7\f8ê¾CÆ9d.È¢¢¤\ 1¹\8fÁ&#
+#2?"s!\18¦Á\f\ 2\92.Ë7®®*\98W\93µ\ eH¹P#Yï3"Ó\ 4rwâkë"·\ e¡=`v\b\ 3'\0Ôä\91\15
+˰6Ó˲5ô"7íÈ­L\18Æ\81\7f\91u{\98\1aSj\8d\15ÿÌc\9bõQ \19\ 2\ 4\8cý>\11\bØßü0aË9_+=J(x\90\10zZSÏ\r~]Okô¨ eúº°¤\r35=²\ 2GÝ[aó \ 4\ 3rÿ\0¦Qd\85\1dæâÔoØä¶®\11Yxä\12siÃ\14\14¼\82<ö`DYF\90õC\9a\b!`@m\1e\8c\1dÉ<\90Z\1do"¬5º¦\89°\ 6s,r\v\8eKVMa\16§Ûd¼jÖEMÔ6¶\99ÎÈûÄ\93­\9fqÆÆÛÿhÁ´\ 2&"Ð[âÄÉÝ|ê\9fÎ⪮j,õ¦å Ê ¿Æ1`\v¿Fþùå¯\91\15r#òøB\1cõO-C2ùknm0m\12ÖFþùå¯é\92[\ e0\ 5Ó&Ê\91\1f´Ès\10ÚÍÑ\8fc`$\14\94ü³¹\82¤Sø5òÏæ~\r¦Ü¯\91\7f6÷kt\1eg\vº\13ù\1f8½!¯®,òϺ²l¿T\96\ 5_<­åû È4R\1câ\ 3¹£gH\1en"7âÁ[¸Úú\\bï\86\èTzdxÁ%\8f¼\90g\8côÈ¢»\ 1ñ(=òè\95\91.y\ 4\afã0¥æ\92\aüôyd=\8dÜZ\81y\9c6W\8f\ 3c\ 2ò´\12¤\8e&®0 ÷¤ê¯\b\13ot\rÌ·©%/\98ÏÂ\8c\9dÍaÅ6u\8d!ôÒ\ 6×@\7fÕ\86ÈÛà
+]ö\87¥pÉÓ|¼Ï]\11&Î!)\94,\9d\1a\19\82e!\1a4º&\16®¡\1f úô5\1cò¸Ó\87¥\80p\86\9f¿B¿±,\1f_\ 3\rbÀ!\8f²\91u4h´Ø¦®!O\834¸¦\91´ú0hû \94F:7º\ 2ÚècÛ5º\86´ÑG-Ðè\9aF­¨Ïæ\90\87\8a?{\85A#Y\1a]CÖ\94À§\fÉ­7\92\f\9að\17\11å\99u×Ôy7\87Ë%kÚp\ 5y
\90C\9e¹\82ø¯Ïªë#\86äþ¹\91\ 1\a¨Mnàs¸\86d\15\9d´\91>ÔcD\1e42Ðã\10\87\86`ÍÓ\864Â&7Sa(d\b²\80\10Ú¤YÉ#?0·\ 6%õa\84En\fqyÔÓ³¬º+t9d5\88\84|.¤jC\8e!ti2\96bÕÕ\ 3=\9fKnËrÉú\17}S\v¦-\94,_îÓ±\90É>1\85\13\84\1c\b\r\8d\9f\ fë~Ø\87ã\9aºªQ¯p¦n\165òûæ\ÕÈ\93\9c\9bª±\99W\91Ûg\r½\85\\ 5QR\9bÜzÔ'«gäQ
+HºÚd\ 5\1ef5ä\89ENÓe5²\ 4¹*þs  P0¡60Ч¬«_\9f\9eô¿"=        s\ 3ý\97.Ë"\91N=-\9d+@3JGºçèêC\91ä©s]jxñѯcÅ©\a®\1a\7f kȣ¾Q£_\1ar>¼2L\9cüZ\9fcÔ¨dòkèåìú_\eÑÏwQÍùauôhäã\92\89*\8d~\r\ 1\94ä´Æ\1f\90!F£
+©_~,\\185\1ci¤J,ýë\8fÕ¦«kd¢&í\1cöéÞªã\12\92\12#ÜÍÓ2!!\96¥ê\1c\15\1fÃ\ f¯\eoÒ¿´\8a\8dJL\8c\8a\8føè×ÖQ)!¡±\8d®v\88Oç'§
+\7fÝÄ[\f\89ð\17µÉ¨mT,ßXø\83%?"*^°ç¨r0D\r\18aØQó,~zT\18ß\8e¼ºáK6#\r¨\9b\1a\92~Èa\ 5\91\87-Yä©Wp·ÈO\Bý,¸Lø·Q\83\99\v\97EMÑ\88\94,d\11Ë\18\9a\ 4ú­¸¯\83\18Ó{´"õüô³ðÐÉ\ 6\a\10"ÖÖÔÕ\\7f\1cdýI\90M\9cðõS§®=zõîÛo\80\84$9kYj¨ð´e9\ 2«\1eùV¦¾&ªfêøciêøãÁäüãþÔ±à]:ýÔH|±>\ 3\ 6\ f\95e)()«¨ªkh\91sÔÙdÉ\13&º\r\1f\8c M ë"Õr8ä9Y¶\8e\8e\96¦\86ºÊ0%\ 5\96¬ô\10É~âÝ»|Ð
+?uîÞ[BJNQEC\9b\r\81\92gl:ÂÌÜÂÒÊÚÆÆÖÖÎÎÞÞÞ\81àX\8fS+P_:U\eÔjggkkcmmeia>ÂÔ\ 4¦%\1c]m\r\15%\96ôàþ½ºu®×à§.bý\ 6Ë*©ks\f\8cGXXÙÚ;:»¸¹{x\8e\1aåíãëëçïï\1f\10\10H\b\122ºU¨+\9eÔ\15\10\0õúùúúx\8fòòôpsuv´·µ¶\18alÈÑÑPf\r\95èݽN\83\9f:÷è7\84¥\ 2£Ì\11\96\8e.î^Þ~\ 1A£Ç\84\86\85ó#"£¢£cbcãâââ\81\ 4\9aÄÖBP>©
+j\8c\8d\8d\89\8e\8e\8a\8cà\87\87\86\ 4\a\ 5øùxy¸:ÚY\99ñ¸:ê\8a2\92}ê4ø¹{ß!,U¶\81©¥½³\87·_Ð\980~TL\BRrJZzFfÖøñÙÙ\13&äää\12ò\ 4ä·\ 2²I=99\13&dg\8fÏÊÊÌHKMIJ\8c\8f\8d\8e\b\v   ò÷öp±·\1aa¤§¡$#)Þíg\81\ 3õ\92\94Sa\e\9aÙ8yø\ 4\8e        \8f\8aMLNË\1c?!7\7fâä)\ 5\85EÅS§\96\94\96N\9b6m:0S@YË#,\9aT\ 3µ\95\96\96L\9dZ\TX0yR~^NvVzJb\4?$Ð×ÓÙÎ\9c§§¡8´¿\18Ý\ 4?wï7TIÛÀÌÖÅË\7f\f?&!%c|îÄÉ\85Å%Óf\96Í\9eS^1w^eeUuuõüù5\84\ 5õ,l1êˤê\98?\7f~uuUeå¼¹\15åsf\95M/\9dZ4eR^vfjblDHÀ(W{\v\9e®*kpï®\94\ 2\9dÄ$Yê\S\e\97Q\81¡Q ©Y9\13\v\8aKgή\98W5¿fá¢%Ë\96¯X±rժի׬YSKXÛ\80u-BÃ\12I\rPÓêÕ«V­\±|Ù\92Å\8b\16ÔTWÎ\9dS6mjá¤Üñi\89ÑaA>nvæ\86ÚÊÒý»S>Ô©×\10%\1d\9e\95\93W`XLRÆ\84\89\85%3çÌ«^°hÙ\8aUkj×­ß°qÓæ-[¶nݶmûöí;(v5Íé"¨â¡\9emÛ¶nݲeó¦\8d\eÖ­]³zåòÅ\vçW\96\97\95\16MÊÉL\8e\r\ fòv±1å¨ËI\8au"
+tî-­Â\19aïá\1f\1a\93\9c\957¥¤¬¼ªfñòUµë7nÞº}Çî={÷í?pààÁC\87\ e\1f>|\84âèç8ö\ 5>ûeªx¨çС\83\a\ fìß¿oïî];¶mÙ´aíê\15K\16TWÌ*-ÈÏJ\89\r\ fôr´0ÔR\18,Nu\82Î}e5\f-\9d}ÆD%eå\15N\9b]Y³deíúM[wìÞwààá#Ç\8e\9f8yòÔéÓgÎ\9c\ 5ÎQ\9co%¨ÂI5gÎ\9c>}êä\89ãÇ\8e\1e9tpÿ\9e]Û6oX»jÙ\82Ê9Ó\8bò³\92£CüÜlLØÊR½»\10\ 5ºôgi\eÛz\ 4ò\13
\97W/ZQ»aË\8e\ f\1d9~òÔ\99³ç/\¼tùò\95+W¯^»ví:Í\8dV\82.\1dê¹zõÊ\95Ë\97.]<\7fîìé\93Ç\8f\1e>°w×Ö\8dkW.\9e_1½(/31"ÈËÁ\8c£"ݧ3q¡.\ 3\14tG8z\8f\89I\9d0eZyõâUë6ïØ{àÈñSgÎ_¼|åÚõ\e7oݾ}çîÝ»÷îÝ»Oñ µ \8b\87zîÞ½sçöí[7o\»zùÒ\85³§O\1c=¸o×\96õ«\97̯\98V\90\93\16\eêëbi .#P@B\89cáâ\17\9e\905±dvõâÕ\e¶î>päÄés\17¯\»qëÎÝ{\ f\1e>|ôøñ\93'O\9f\8dâY+BU\05=yòøñ£\rendstream\rendobj\r5 0 obj\r<</Intent 64 0 R/Name(svg559)/Type/OCG/Usage 65 0 R>>\rendobj\r90 0 obj\r<</Intent 154 0 R/Name(svg559)/Type/OCG/Usage 155 0 R>>\rendobj\r195 0 obj\r<</Intent 259 0 R/Name(svg559)/Type/OCG/Usage 260 0 R>>\rendobj\r299 0 obj\r<</Intent 357 0 R/Name(svg559)/Type/OCG/Usage 358 0 R>>\rendobj\r383 0 obj\r<</Intent 447 0 R/Name(svg559)/Type/OCG/Usage 448 0 R>>\rendobj\r487 0 obj\r<</Intent 551 0 R/Name(svg559)/Type/OCG/Usage 552 0 R>>\rendobj\r591 0 obj\r<</Intent 655 0 R/Name(svg559)/Type/OCG/Usage 656 0 R>>\rendobj\r695 0 obj\r<</Intent 770 0 R/Name(svg559)/Type/OCG/Usage 771 0 R>>\rendobj\r811 0 obj\r<</Intent 886 0 R/Name(svg559)/Type/OCG/Usage 887 0 R>>\rendobj\r927 0 obj\r<</Intent 1002 0 R/Name(svg559)/Type/OCG/Usage 1003 0 R>>\rendobj\r1002 0 obj\r[/View/Design]\rendobj\r1003 0 obj\r<</CreatorInfo<</Creator(Adobe Illustrator 19.0)/Subtype/Artwork>>>>\rendobj\r886 0 obj\r[/View/Design]\rendobj\r887 0 obj\r<</CreatorInfo<</Creator(Adobe Illustrator 19.0)/Subtype/Artwork>>>>\rendobj\r770 0 obj\r[/View/Design]\rendobj\r771 0 obj\r<</CreatorInfo<</Creator(Adobe Illustrator 19.0)/Subtype/Artwork>>>>\rendobj\r655 0 obj\r[/View/Design]\rendobj\r656 0 obj\r<</CreatorInfo<</Creator(Adobe Illustrator 19.0)/Subtype/Artwork>>>>\rendobj\r551 0 obj\r[/View/Design]\rendobj\r552 0 obj\r<</CreatorInfo<</Creator(Adobe Illustrator 19.0)/Subtype/Artwork>>>>\rendobj\r447 0 obj\r[/View/Design]\rendobj\r448 0 obj\r<</CreatorInfo<</Creator(Adobe Illustrator 19.0)/Subtype/Artwork>>>>\rendobj\r357 0 obj\r[/View/Design]\rendobj\r358 0 obj\r<</CreatorInfo<</Creator(Adobe Illustrator 19.0)/Subtype/Artwork>>>>\rendobj\r259 0 obj\r[/View/Design]\rendobj\r260 0 obj\r<</CreatorInfo<</Creator(Adobe Illustrator 19.0)/Subtype/Artwork>>>>\rendobj\r154 0 obj\r[/View/Design]\rendobj\r155 0 obj\r<</CreatorInfo<</Creator(Adobe Illustrator 19.0)/Subtype/Artwork>>>>\rendobj\r64 0 obj\r[/View/Design]\rendobj\r65 0 obj\r<</CreatorInfo<</Creator(Adobe Illustrator 19.0)/Subtype/Artwork>>>>\rendobj\r1044 0 obj\r[1043 0 R]\rendobj\r1158 0 obj\r<</CreationDate(D:20160126172128-03'00')/Creator(Adobe Illustrator CC 2015 \(Macintosh\))/ModDate(D:20160126181559-03'00')>>\rendobj\rxref\r0 1159\r0000000004 65535 f\r
+0000000016 00000 n\r
+0000000307 00000 n\r
+0000017008 00000 n\r
+0000000006 00000 f\r
+0001182665 00000 n\r
+0000000008 00000 f\r
+0000017059 00000 n\r
+0000000009 00000 f\r
+0000000010 00000 f\r
+0000000011 00000 f\r
+0000000012 00000 f\r
+0000000013 00000 f\r
+0000000014 00000 f\r
+0000000015 00000 f\r
+0000000016 00000 f\r
+0000000017 00000 f\r
+0000000018 00000 f\r
+0000000019 00000 f\r
+0000000020 00000 f\r
+0000000021 00000 f\r
+0000000022 00000 f\r
+0000000023 00000 f\r
+0000000024 00000 f\r
+0000000025 00000 f\r
+0000000026 00000 f\r
+0000000027 00000 f\r
+0000000028 00000 f\r
+0000000029 00000 f\r
+0000000030 00000 f\r
+0000000031 00000 f\r
+0000000032 00000 f\r
+0000000033 00000 f\r
+0000000034 00000 f\r
+0000000035 00000 f\r
+0000000036 00000 f\r
+0000000037 00000 f\r
+0000000038 00000 f\r
+0000000039 00000 f\r
+0000000040 00000 f\r
+0000000041 00000 f\r
+0000000042 00000 f\r
+0000000043 00000 f\r
+0000000044 00000 f\r
+0000000045 00000 f\r
+0000000046 00000 f\r
+0000000047 00000 f\r
+0000000048 00000 f\r
+0000000049 00000 f\r
+0000000050 00000 f\r
+0000000051 00000 f\r
+0000000052 00000 f\r
+0000000053 00000 f\r
+0000000054 00000 f\r
+0000000055 00000 f\r
+0000000056 00000 f\r
+0000000057 00000 f\r
+0000000058 00000 f\r
+0000000059 00000 f\r
+0000000060 00000 f\r
+0000000061 00000 f\r
+0000000062 00000 f\r
+0000000063 00000 f\r
+0000000066 00000 f\r
+0001184456 00000 n\r
+0001184487 00000 n\r
+0000000067 00000 f\r
+0000000068 00000 f\r
+0000000069 00000 f\r
+0000000070 00000 f\r
+0000000071 00000 f\r
+0000000072 00000 f\r
+0000000073 00000 f\r
+0000000074 00000 f\r
+0000000075 00000 f\r
+0000000076 00000 f\r
+0000000077 00000 f\r
+0000000078 00000 f\r
+0000000079 00000 f\r
+0000000080 00000 f\r
+0000000081 00000 f\r
+0000000082 00000 f\r
+0000000083 00000 f\r
+0000000084 00000 f\r
+0000000085 00000 f\r
+0000000086 00000 f\r
+0000000087 00000 f\r
+0000000088 00000 f\r
+0000000089 00000 f\r
+0000000091 00000 f\r
+0001182734 00000 n\r
+0000000092 00000 f\r
+0000000093 00000 f\r
+0000000094 00000 f\r
+0000000095 00000 f\r
+0000000096 00000 f\r
+0000000097 00000 f\r
+0000000098 00000 f\r
+0000000099 00000 f\r
+0000000100 00000 f\r
+0000000101 00000 f\r
+0000000102 00000 f\r
+0000000103 00000 f\r
+0000000104 00000 f\r
+0000000105 00000 f\r
+0000000106 00000 f\r
+0000000107 00000 f\r
+0000000108 00000 f\r
+0000000109 00000 f\r
+0000000110 00000 f\r
+0000000111 00000 f\r
+0000000112 00000 f\r
+0000000113 00000 f\r
+0000000114 00000 f\r
+0000000115 00000 f\r
+0000000116 00000 f\r
+0000000117 00000 f\r
+0000000118 00000 f\r
+0000000119 00000 f\r
+0000000120 00000 f\r
+0000000121 00000 f\r
+0000000122 00000 f\r
+0000000123 00000 f\r
+0000000124 00000 f\r
+0000000125 00000 f\r
+0000000126 00000 f\r
+0000000127 00000 f\r
+0000000128 00000 f\r
+0000000129 00000 f\r
+0000000130 00000 f\r
+0000000131 00000 f\r
+0000000132 00000 f\r
+0000000133 00000 f\r
+0000000134 00000 f\r
+0000000135 00000 f\r
+0000000136 00000 f\r
+0000000137 00000 f\r
+0000000138 00000 f\r
+0000000139 00000 f\r
+0000000140 00000 f\r
+0000000141 00000 f\r
+0000000142 00000 f\r
+0000000143 00000 f\r
+0000000144 00000 f\r
+0000000145 00000 f\r
+0000000146 00000 f\r
+0000000147 00000 f\r
+0000000148 00000 f\r
+0000000149 00000 f\r
+0000000150 00000 f\r
+0000000151 00000 f\r
+0000000152 00000 f\r
+0000000153 00000 f\r
+0000000156 00000 f\r
+0001184338 00000 n\r
+0001184370 00000 n\r
+0000000157 00000 f\r
+0000000158 00000 f\r
+0000000159 00000 f\r
+0000000160 00000 f\r
+0000000161 00000 f\r
+0000000162 00000 f\r
+0000000163 00000 f\r
+0000000164 00000 f\r
+0000000165 00000 f\r
+0000000166 00000 f\r
+0000000167 00000 f\r
+0000000168 00000 f\r
+0000000169 00000 f\r
+0000000170 00000 f\r
+0000000171 00000 f\r
+0000000172 00000 f\r
+0000000173 00000 f\r
+0000000174 00000 f\r
+0000000175 00000 f\r
+0000000176 00000 f\r
+0000000177 00000 f\r
+0000000178 00000 f\r
+0000000179 00000 f\r
+0000000180 00000 f\r
+0000000181 00000 f\r
+0000000182 00000 f\r
+0000000183 00000 f\r
+0000000184 00000 f\r
+0000000185 00000 f\r
+0000000186 00000 f\r
+0000000187 00000 f\r
+0000000188 00000 f\r
+0000000189 00000 f\r
+0000000190 00000 f\r
+0000000191 00000 f\r
+0000000192 00000 f\r
+0000000193 00000 f\r
+0000000194 00000 f\r
+0000000196 00000 f\r
+0001182806 00000 n\r
+0000000197 00000 f\r
+0000000198 00000 f\r
+0000000199 00000 f\r
+0000000200 00000 f\r
+0000000201 00000 f\r
+0000000202 00000 f\r
+0000000203 00000 f\r
+0000000204 00000 f\r
+0000000205 00000 f\r
+0000000206 00000 f\r
+0000000207 00000 f\r
+0000000208 00000 f\r
+0000000209 00000 f\r
+0000000210 00000 f\r
+0000000211 00000 f\r
+0000000212 00000 f\r
+0000000213 00000 f\r
+0000000214 00000 f\r
+0000000215 00000 f\r
+0000000216 00000 f\r
+0000000217 00000 f\r
+0000000218 00000 f\r
+0000000219 00000 f\r
+0000000220 00000 f\r
+0000000221 00000 f\r
+0000000222 00000 f\r
+0000000223 00000 f\r
+0000000224 00000 f\r
+0000000225 00000 f\r
+0000000226 00000 f\r
+0000000227 00000 f\r
+0000000228 00000 f\r
+0000000229 00000 f\r
+0000000230 00000 f\r
+0000000231 00000 f\r
+0000000232 00000 f\r
+0000000233 00000 f\r
+0000000234 00000 f\r
+0000000235 00000 f\r
+0000000236 00000 f\r
+0000000237 00000 f\r
+0000000238 00000 f\r
+0000000239 00000 f\r
+0000000240 00000 f\r
+0000000241 00000 f\r
+0000000242 00000 f\r
+0000000243 00000 f\r
+0000000244 00000 f\r
+0000000245 00000 f\r
+0000000246 00000 f\r
+0000000247 00000 f\r
+0000000248 00000 f\r
+0000000249 00000 f\r
+0000000250 00000 f\r
+0000000251 00000 f\r
+0000000252 00000 f\r
+0000000253 00000 f\r
+0000000254 00000 f\r
+0000000255 00000 f\r
+0000000256 00000 f\r
+0000000257 00000 f\r
+0000000258 00000 f\r
+0000000261 00000 f\r
+0001184220 00000 n\r
+0001184252 00000 n\r
+0000000262 00000 f\r
+0000000263 00000 f\r
+0000000264 00000 f\r
+0000000265 00000 f\r
+0000000266 00000 f\r
+0000000267 00000 f\r
+0000000268 00000 f\r
+0000000269 00000 f\r
+0000000270 00000 f\r
+0000000271 00000 f\r
+0000000272 00000 f\r
+0000000273 00000 f\r
+0000000274 00000 f\r
+0000000275 00000 f\r
+0000000276 00000 f\r
+0000000277 00000 f\r
+0000000278 00000 f\r
+0000000279 00000 f\r
+0000000280 00000 f\r
+0000000281 00000 f\r
+0000000282 00000 f\r
+0000000283 00000 f\r
+0000000284 00000 f\r
+0000000285 00000 f\r
+0000000286 00000 f\r
+0000000287 00000 f\r
+0000000288 00000 f\r
+0000000289 00000 f\r
+0000000290 00000 f\r
+0000000291 00000 f\r
+0000000292 00000 f\r
+0000000293 00000 f\r
+0000000294 00000 f\r
+0000000295 00000 f\r
+0000000296 00000 f\r
+0000000297 00000 f\r
+0000000298 00000 f\r
+0000000300 00000 f\r
+0001182879 00000 n\r
+0000000301 00000 f\r
+0000000302 00000 f\r
+0000000303 00000 f\r
+0000000304 00000 f\r
+0000000305 00000 f\r
+0000000306 00000 f\r
+0000000307 00000 f\r
+0000000308 00000 f\r
+0000000309 00000 f\r
+0000000310 00000 f\r
+0000000311 00000 f\r
+0000000312 00000 f\r
+0000000313 00000 f\r
+0000000314 00000 f\r
+0000000315 00000 f\r
+0000000316 00000 f\r
+0000000317 00000 f\r
+0000000318 00000 f\r
+0000000319 00000 f\r
+0000000320 00000 f\r
+0000000321 00000 f\r
+0000000322 00000 f\r
+0000000323 00000 f\r
+0000000324 00000 f\r
+0000000325 00000 f\r
+0000000326 00000 f\r
+0000000327 00000 f\r
+0000000328 00000 f\r
+0000000329 00000 f\r
+0000000330 00000 f\r
+0000000331 00000 f\r
+0000000332 00000 f\r
+0000000333 00000 f\r
+0000000334 00000 f\r
+0000000335 00000 f\r
+0000000336 00000 f\r
+0000000337 00000 f\r
+0000000338 00000 f\r
+0000000339 00000 f\r
+0000000340 00000 f\r
+0000000341 00000 f\r
+0000000342 00000 f\r
+0000000343 00000 f\r
+0000000344 00000 f\r
+0000000345 00000 f\r
+0000000346 00000 f\r
+0000000347 00000 f\r
+0000000348 00000 f\r
+0000000349 00000 f\r
+0000000350 00000 f\r
+0000000351 00000 f\r
+0000000352 00000 f\r
+0000000353 00000 f\r
+0000000354 00000 f\r
+0000000355 00000 f\r
+0000000356 00000 f\r
+0000000359 00000 f\r
+0001184102 00000 n\r
+0001184134 00000 n\r
+0000000360 00000 f\r
+0000000361 00000 f\r
+0000000362 00000 f\r
+0000000363 00000 f\r
+0000000364 00000 f\r
+0000000365 00000 f\r
+0000000366 00000 f\r
+0000000367 00000 f\r
+0000000368 00000 f\r
+0000000369 00000 f\r
+0000000370 00000 f\r
+0000000371 00000 f\r
+0000000372 00000 f\r
+0000000373 00000 f\r
+0000000374 00000 f\r
+0000000375 00000 f\r
+0000000376 00000 f\r
+0000000377 00000 f\r
+0000000378 00000 f\r
+0000000379 00000 f\r
+0000000380 00000 f\r
+0000000381 00000 f\r
+0000000382 00000 f\r
+0000000384 00000 f\r
+0001182952 00000 n\r
+0000000385 00000 f\r
+0000000386 00000 f\r
+0000000387 00000 f\r
+0000000388 00000 f\r
+0000000389 00000 f\r
+0000000390 00000 f\r
+0000000391 00000 f\r
+0000000392 00000 f\r
+0000000393 00000 f\r
+0000000394 00000 f\r
+0000000395 00000 f\r
+0000000396 00000 f\r
+0000000397 00000 f\r
+0000000398 00000 f\r
+0000000399 00000 f\r
+0000000400 00000 f\r
+0000000401 00000 f\r
+0000000402 00000 f\r
+0000000403 00000 f\r
+0000000404 00000 f\r
+0000000405 00000 f\r
+0000000406 00000 f\r
+0000000407 00000 f\r
+0000000408 00000 f\r
+0000000409 00000 f\r
+0000000410 00000 f\r
+0000000411 00000 f\r
+0000000412 00000 f\r
+0000000413 00000 f\r
+0000000414 00000 f\r
+0000000415 00000 f\r
+0000000416 00000 f\r
+0000000417 00000 f\r
+0000000418 00000 f\r
+0000000419 00000 f\r
+0000000420 00000 f\r
+0000000421 00000 f\r
+0000000422 00000 f\r
+0000000423 00000 f\r
+0000000424 00000 f\r
+0000000425 00000 f\r
+0000000426 00000 f\r
+0000000427 00000 f\r
+0000000428 00000 f\r
+0000000429 00000 f\r
+0000000430 00000 f\r
+0000000431 00000 f\r
+0000000432 00000 f\r
+0000000433 00000 f\r
+0000000434 00000 f\r
+0000000435 00000 f\r
+0000000436 00000 f\r
+0000000437 00000 f\r
+0000000438 00000 f\r
+0000000439 00000 f\r
+0000000440 00000 f\r
+0000000441 00000 f\r
+0000000442 00000 f\r
+0000000443 00000 f\r
+0000000444 00000 f\r
+0000000445 00000 f\r
+0000000446 00000 f\r
+0000000449 00000 f\r
+0001183984 00000 n\r
+0001184016 00000 n\r
+0000000450 00000 f\r
+0000000451 00000 f\r
+0000000452 00000 f\r
+0000000453 00000 f\r
+0000000454 00000 f\r
+0000000455 00000 f\r
+0000000456 00000 f\r
+0000000457 00000 f\r
+0000000458 00000 f\r
+0000000459 00000 f\r
+0000000460 00000 f\r
+0000000461 00000 f\r
+0000000462 00000 f\r
+0000000463 00000 f\r
+0000000464 00000 f\r
+0000000465 00000 f\r
+0000000466 00000 f\r
+0000000467 00000 f\r
+0000000468 00000 f\r
+0000000469 00000 f\r
+0000000470 00000 f\r
+0000000471 00000 f\r
+0000000472 00000 f\r
+0000000473 00000 f\r
+0000000474 00000 f\r
+0000000475 00000 f\r
+0000000476 00000 f\r
+0000000477 00000 f\r
+0000000478 00000 f\r
+0000000479 00000 f\r
+0000000480 00000 f\r
+0000000481 00000 f\r
+0000000482 00000 f\r
+0000000483 00000 f\r
+0000000484 00000 f\r
+0000000485 00000 f\r
+0000000486 00000 f\r
+0000000488 00000 f\r
+0001183025 00000 n\r
+0000000489 00000 f\r
+0000000490 00000 f\r
+0000000491 00000 f\r
+0000000492 00000 f\r
+0000000493 00000 f\r
+0000000494 00000 f\r
+0000000495 00000 f\r
+0000000496 00000 f\r
+0000000497 00000 f\r
+0000000498 00000 f\r
+0000000499 00000 f\r
+0000000500 00000 f\r
+0000000501 00000 f\r
+0000000502 00000 f\r
+0000000503 00000 f\r
+0000000504 00000 f\r
+0000000505 00000 f\r
+0000000506 00000 f\r
+0000000507 00000 f\r
+0000000508 00000 f\r
+0000000509 00000 f\r
+0000000510 00000 f\r
+0000000511 00000 f\r
+0000000512 00000 f\r
+0000000513 00000 f\r
+0000000514 00000 f\r
+0000000515 00000 f\r
+0000000516 00000 f\r
+0000000517 00000 f\r
+0000000518 00000 f\r
+0000000519 00000 f\r
+0000000520 00000 f\r
+0000000521 00000 f\r
+0000000522 00000 f\r
+0000000523 00000 f\r
+0000000524 00000 f\r
+0000000525 00000 f\r
+0000000526 00000 f\r
+0000000527 00000 f\r
+0000000528 00000 f\r
+0000000529 00000 f\r
+0000000530 00000 f\r
+0000000531 00000 f\r
+0000000532 00000 f\r
+0000000533 00000 f\r
+0000000534 00000 f\r
+0000000535 00000 f\r
+0000000536 00000 f\r
+0000000537 00000 f\r
+0000000538 00000 f\r
+0000000539 00000 f\r
+0000000540 00000 f\r
+0000000541 00000 f\r
+0000000542 00000 f\r
+0000000543 00000 f\r
+0000000544 00000 f\r
+0000000545 00000 f\r
+0000000546 00000 f\r
+0000000547 00000 f\r
+0000000548 00000 f\r
+0000000549 00000 f\r
+0000000550 00000 f\r
+0000000553 00000 f\r
+0001183866 00000 n\r
+0001183898 00000 n\r
+0000000554 00000 f\r
+0000000555 00000 f\r
+0000000556 00000 f\r
+0000000557 00000 f\r
+0000000558 00000 f\r
+0000000559 00000 f\r
+0000000560 00000 f\r
+0000000561 00000 f\r
+0000000562 00000 f\r
+0000000563 00000 f\r
+0000000564 00000 f\r
+0000000565 00000 f\r
+0000000566 00000 f\r
+0000000567 00000 f\r
+0000000568 00000 f\r
+0000000569 00000 f\r
+0000000570 00000 f\r
+0000000571 00000 f\r
+0000000572 00000 f\r
+0000000573 00000 f\r
+0000000574 00000 f\r
+0000000575 00000 f\r
+0000000576 00000 f\r
+0000000577 00000 f\r
+0000000578 00000 f\r
+0000000579 00000 f\r
+0000000580 00000 f\r
+0000000581 00000 f\r
+0000000582 00000 f\r
+0000000583 00000 f\r
+0000000584 00000 f\r
+0000000585 00000 f\r
+0000000586 00000 f\r
+0000000587 00000 f\r
+0000000588 00000 f\r
+0000000589 00000 f\r
+0000000590 00000 f\r
+0000000592 00000 f\r
+0001183098 00000 n\r
+0000000593 00000 f\r
+0000000594 00000 f\r
+0000000595 00000 f\r
+0000000596 00000 f\r
+0000000597 00000 f\r
+0000000598 00000 f\r
+0000000599 00000 f\r
+0000000600 00000 f\r
+0000000601 00000 f\r
+0000000602 00000 f\r
+0000000603 00000 f\r
+0000000604 00000 f\r
+0000000605 00000 f\r
+0000000606 00000 f\r
+0000000607 00000 f\r
+0000000608 00000 f\r
+0000000609 00000 f\r
+0000000610 00000 f\r
+0000000611 00000 f\r
+0000000612 00000 f\r
+0000000613 00000 f\r
+0000000614 00000 f\r
+0000000615 00000 f\r
+0000000616 00000 f\r
+0000000617 00000 f\r
+0000000618 00000 f\r
+0000000619 00000 f\r
+0000000620 00000 f\r
+0000000621 00000 f\r
+0000000622 00000 f\r
+0000000623 00000 f\r
+0000000624 00000 f\r
+0000000625 00000 f\r
+0000000626 00000 f\r
+0000000627 00000 f\r
+0000000628 00000 f\r
+0000000629 00000 f\r
+0000000630 00000 f\r
+0000000631 00000 f\r
+0000000632 00000 f\r
+0000000633 00000 f\r
+0000000634 00000 f\r
+0000000635 00000 f\r
+0000000636 00000 f\r
+0000000637 00000 f\r
+0000000638 00000 f\r
+0000000639 00000 f\r
+0000000640 00000 f\r
+0000000641 00000 f\r
+0000000642 00000 f\r
+0000000643 00000 f\r
+0000000644 00000 f\r
+0000000645 00000 f\r
+0000000646 00000 f\r
+0000000647 00000 f\r
+0000000648 00000 f\r
+0000000649 00000 f\r
+0000000650 00000 f\r
+0000000651 00000 f\r
+0000000652 00000 f\r
+0000000653 00000 f\r
+0000000654 00000 f\r
+0000000657 00000 f\r
+0001183748 00000 n\r
+0001183780 00000 n\r
+0000000658 00000 f\r
+0000000659 00000 f\r
+0000000660 00000 f\r
+0000000661 00000 f\r
+0000000662 00000 f\r
+0000000663 00000 f\r
+0000000664 00000 f\r
+0000000665 00000 f\r
+0000000666 00000 f\r
+0000000667 00000 f\r
+0000000668 00000 f\r
+0000000669 00000 f\r
+0000000670 00000 f\r
+0000000671 00000 f\r
+0000000672 00000 f\r
+0000000673 00000 f\r
+0000000674 00000 f\r
+0000000675 00000 f\r
+0000000676 00000 f\r
+0000000677 00000 f\r
+0000000678 00000 f\r
+0000000679 00000 f\r
+0000000680 00000 f\r
+0000000681 00000 f\r
+0000000682 00000 f\r
+0000000683 00000 f\r
+0000000684 00000 f\r
+0000000685 00000 f\r
+0000000686 00000 f\r
+0000000687 00000 f\r
+0000000688 00000 f\r
+0000000689 00000 f\r
+0000000690 00000 f\r
+0000000691 00000 f\r
+0000000692 00000 f\r
+0000000693 00000 f\r
+0000000694 00000 f\r
+0000000696 00000 f\r
+0001183171 00000 n\r
+0000000697 00000 f\r
+0000000698 00000 f\r
+0000000699 00000 f\r
+0000000700 00000 f\r
+0000000701 00000 f\r
+0000000702 00000 f\r
+0000000703 00000 f\r
+0000000704 00000 f\r
+0000000705 00000 f\r
+0000000706 00000 f\r
+0000000707 00000 f\r
+0000000708 00000 f\r
+0000000709 00000 f\r
+0000000710 00000 f\r
+0000000711 00000 f\r
+0000000712 00000 f\r
+0000000713 00000 f\r
+0000000714 00000 f\r
+0000000715 00000 f\r
+0000000716 00000 f\r
+0000000717 00000 f\r
+0000000718 00000 f\r
+0000000719 00000 f\r
+0000000720 00000 f\r
+0000000721 00000 f\r
+0000000722 00000 f\r
+0000000723 00000 f\r
+0000000724 00000 f\r
+0000000725 00000 f\r
+0000000726 00000 f\r
+0000000727 00000 f\r
+0000000728 00000 f\r
+0000000729 00000 f\r
+0000000730 00000 f\r
+0000000731 00000 f\r
+0000000732 00000 f\r
+0000000733 00000 f\r
+0000000734 00000 f\r
+0000000735 00000 f\r
+0000000736 00000 f\r
+0000000737 00000 f\r
+0000000738 00000 f\r
+0000000739 00000 f\r
+0000000740 00000 f\r
+0000000741 00000 f\r
+0000000742 00000 f\r
+0000000743 00000 f\r
+0000000744 00000 f\r
+0000000745 00000 f\r
+0000000746 00000 f\r
+0000000747 00000 f\r
+0000000748 00000 f\r
+0000000749 00000 f\r
+0000000750 00000 f\r
+0000000751 00000 f\r
+0000000752 00000 f\r
+0000000753 00000 f\r
+0000000754 00000 f\r
+0000000755 00000 f\r
+0000000756 00000 f\r
+0000000757 00000 f\r
+0000000758 00000 f\r
+0000000759 00000 f\r
+0000000760 00000 f\r
+0000000761 00000 f\r
+0000000762 00000 f\r
+0000000763 00000 f\r
+0000000764 00000 f\r
+0000000765 00000 f\r
+0000000766 00000 f\r
+0000000767 00000 f\r
+0000000768 00000 f\r
+0000000769 00000 f\r
+0000000772 00000 f\r
+0001183630 00000 n\r
+0001183662 00000 n\r
+0000000773 00000 f\r
+0000000774 00000 f\r
+0000000775 00000 f\r
+0000000776 00000 f\r
+0000000777 00000 f\r
+0000000778 00000 f\r
+0000000779 00000 f\r
+0000000780 00000 f\r
+0000000781 00000 f\r
+0000000782 00000 f\r
+0000000783 00000 f\r
+0000000784 00000 f\r
+0000000785 00000 f\r
+0000000786 00000 f\r
+0000000787 00000 f\r
+0000000788 00000 f\r
+0000000789 00000 f\r
+0000000790 00000 f\r
+0000000791 00000 f\r
+0000000792 00000 f\r
+0000000793 00000 f\r
+0000000794 00000 f\r
+0000000795 00000 f\r
+0000000796 00000 f\r
+0000000797 00000 f\r
+0000000798 00000 f\r
+0000000799 00000 f\r
+0000000800 00000 f\r
+0000000801 00000 f\r
+0000000802 00000 f\r
+0000000803 00000 f\r
+0000000804 00000 f\r
+0000000805 00000 f\r
+0000000806 00000 f\r
+0000000807 00000 f\r
+0000000808 00000 f\r
+0000000809 00000 f\r
+0000000810 00000 f\r
+0000000812 00000 f\r
+0001183244 00000 n\r
+0000000813 00000 f\r
+0000000814 00000 f\r
+0000000815 00000 f\r
+0000000816 00000 f\r
+0000000817 00000 f\r
+0000000818 00000 f\r
+0000000819 00000 f\r
+0000000820 00000 f\r
+0000000821 00000 f\r
+0000000822 00000 f\r
+0000000823 00000 f\r
+0000000824 00000 f\r
+0000000825 00000 f\r
+0000000826 00000 f\r
+0000000827 00000 f\r
+0000000828 00000 f\r
+0000000829 00000 f\r
+0000000830 00000 f\r
+0000000831 00000 f\r
+0000000832 00000 f\r
+0000000833 00000 f\r
+0000000834 00000 f\r
+0000000835 00000 f\r
+0000000836 00000 f\r
+0000000837 00000 f\r
+0000000838 00000 f\r
+0000000839 00000 f\r
+0000000840 00000 f\r
+0000000841 00000 f\r
+0000000842 00000 f\r
+0000000843 00000 f\r
+0000000844 00000 f\r
+0000000845 00000 f\r
+0000000846 00000 f\r
+0000000847 00000 f\r
+0000000848 00000 f\r
+0000000849 00000 f\r
+0000000850 00000 f\r
+0000000851 00000 f\r
+0000000852 00000 f\r
+0000000853 00000 f\r
+0000000854 00000 f\r
+0000000855 00000 f\r
+0000000856 00000 f\r
+0000000857 00000 f\r
+0000000858 00000 f\r
+0000000859 00000 f\r
+0000000860 00000 f\r
+0000000861 00000 f\r
+0000000862 00000 f\r
+0000000863 00000 f\r
+0000000864 00000 f\r
+0000000865 00000 f\r
+0000000866 00000 f\r
+0000000867 00000 f\r
+0000000868 00000 f\r
+0000000869 00000 f\r
+0000000870 00000 f\r
+0000000871 00000 f\r
+0000000872 00000 f\r
+0000000873 00000 f\r
+0000000874 00000 f\r
+0000000875 00000 f\r
+0000000876 00000 f\r
+0000000877 00000 f\r
+0000000878 00000 f\r
+0000000879 00000 f\r
+0000000880 00000 f\r
+0000000881 00000 f\r
+0000000882 00000 f\r
+0000000883 00000 f\r
+0000000884 00000 f\r
+0000000885 00000 f\r
+0000000888 00000 f\r
+0001183512 00000 n\r
+0001183544 00000 n\r
+0000000889 00000 f\r
+0000000890 00000 f\r
+0000000891 00000 f\r
+0000000892 00000 f\r
+0000000893 00000 f\r
+0000000894 00000 f\r
+0000000895 00000 f\r
+0000000896 00000 f\r
+0000000897 00000 f\r
+0000000898 00000 f\r
+0000000899 00000 f\r
+0000000900 00000 f\r
+0000000901 00000 f\r
+0000000902 00000 f\r
+0000000903 00000 f\r
+0000000904 00000 f\r
+0000000905 00000 f\r
+0000000906 00000 f\r
+0000000907 00000 f\r
+0000000908 00000 f\r
+0000000909 00000 f\r
+0000000910 00000 f\r
+0000000911 00000 f\r
+0000000912 00000 f\r
+0000000913 00000 f\r
+0000000914 00000 f\r
+0000000915 00000 f\r
+0000000916 00000 f\r
+0000000917 00000 f\r
+0000000918 00000 f\r
+0000000919 00000 f\r
+0000000920 00000 f\r
+0000000921 00000 f\r
+0000000922 00000 f\r
+0000000923 00000 f\r
+0000000924 00000 f\r
+0000000925 00000 f\r
+0000000926 00000 f\r
+0000000000 00000 f\r
+0001183317 00000 n\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0001183392 00000 n\r
+0001183425 00000 n\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000000000 00000 f\r
+0000517750 00000 n\r
+0001184572 00000 n\r
+0000017892 00000 n\r
+0000049157 00000 n\r
+0000527927 00000 n\r
+0000076234 00000 n\r
+0000430311 00000 n\r
+0000517946 00000 n\r
+0000516871 00000 n\r
+0000518065 00000 n\r
+0000518184 00000 n\r
+0000518302 00000 n\r
+0000518428 00000 n\r
+0000517050 00000 n\r
+0000517208 00000 n\r
+0000051634 00000 n\r
+0000052016 00000 n\r
+0000052322 00000 n\r
+0000052699 00000 n\r
+0000054610 00000 n\r
+0000055447 00000 n\r
+0000056832 00000 n\r
+0000058010 00000 n\r
+0000059226 00000 n\r
+0000061051 00000 n\r
+0000062925 00000 n\r
+0000063951 00000 n\r
+0000065202 00000 n\r
+0000066559 00000 n\r
+0000068593 00000 n\r
+0000069464 00000 n\r
+0000070347 00000 n\r
+0000071364 00000 n\r
+0000072443 00000 n\r
+0000073213 00000 n\r
+0000074129 00000 n\r
+0000075097 00000 n\r
+0000049224 00000 n\r
+0000051067 00000 n\r
+0000051119 00000 n\r
+0000516985 00000 n\r
+0000430426 00000 n\r
+0000474095 00000 n\r
+0000430491 00000 n\r
+0000430246 00000 n\r
+0000426486 00000 n\r
+0000407200 00000 n\r
+0000378388 00000 n\r
+0000359118 00000 n\r
+0000344417 00000 n\r
+0000322272 00000 n\r
+0000291406 00000 n\r
+0000276275 00000 n\r
+0000256667 00000 n\r
+0000238405 00000 n\r
+0000203813 00000 n\r
+0000189812 00000 n\r
+0000178758 00000 n\r
+0000162464 00000 n\r
+0000140258 00000 n\r
+0000129108 00000 n\r
+0000114342 00000 n\r
+0000100773 00000 n\r
+0000076284 00000 n\r
+0000100717 00000 n\r
+0000431887 00000 n\r
+0000474213 00000 n\r
+0000474282 00000 n\r
+0000474314 00000 n\r
+0000474585 00000 n\r
+0000474663 00000 n\r
+0000517549 00000 n\r
+0000517358 00000 n\r
+0000517457 00000 n\r
+0000517648 00000 n\r
+0000517826 00000 n\r
+0000517859 00000 n\r
+0000527133 00000 n\r
+0000526371 00000 n\r
+0000525593 00000 n\r
+0000518546 00000 n\r
+0000518615 00000 n\r
+0000518639 00000 n\r
+0000518901 00000 n\r
+0000518980 00000 n\r
+0000519298 00000 n\r
+0000519375 00000 n\r
+0000525662 00000 n\r
+0000525686 00000 n\r
+0000525944 00000 n\r
+0000526023 00000 n\r
+0000526294 00000 n\r
+0000526428 00000 n\r
+0000526728 00000 n\r
+0000526807 00000 n\r
+0000526958 00000 n\r
+0000527057 00000 n\r
+0000527190 00000 n\r
+0000527514 00000 n\r
+0000527593 00000 n\r
+0000527752 00000 n\r
+0000527851 00000 n\r
+0000528005 00000 n\r
+0000528406 00000 n\r
+0000529718 00000 n\r
+0000539487 00000 n\r
+0000605077 00000 n\r
+0000657945 00000 n\r
+0000723535 00000 n\r
+0000789125 00000 n\r
+0000854715 00000 n\r
+0000920305 00000 n\r
+0000985895 00000 n\r
+0001051485 00000 n\r
+0001117075 00000 n\r
+0001184601 00000 n\r
+trailer\r<</Size 1159/Root 1 0 R/Info 1158 0 R/ID[<74ADED85F4994F7AA6E5CC8CA96FB824><0A5D3E5193464924BB2478C593552929>]>>\rstartxref\r1184744\r%%EOF\r
\ No newline at end of file
diff --git a/osx-utils/resources/dmg-bg.png b/osx-utils/resources/dmg-bg.png
new file mode 100644 (file)
index 0000000..e95da4e
Binary files /dev/null and b/osx-utils/resources/dmg-bg.png differ
diff --git a/osx-utils/resources/dmg-bg@2x.png b/osx-utils/resources/dmg-bg@2x.png
new file mode 100644 (file)
index 0000000..de838f2
Binary files /dev/null and b/osx-utils/resources/dmg-bg@2x.png differ
diff --git a/osx-utils/resources/dmg_spec.json b/osx-utils/resources/dmg_spec.json
new file mode 100644 (file)
index 0000000..06ac398
--- /dev/null
@@ -0,0 +1,11 @@
+{
+  "title": "performous",
+  "icon": "performous.icns",
+  "background": "dmg-bg.png",
+  "icon-size": 80,
+
+  "contents": [
+    { "x": 420, "y": 208, "type": "link", "path": "/Applications" },
+    { "x": 164, "y": 208, "type": "file", "path": "../out/Performous.app" }
+  ]
+}
\ No newline at end of file
diff --git a/osx-utils/resources/performous-launcher b/osx-utils/resources/performous-launcher
new file mode 100755 (executable)
index 0000000..839eb41
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/bash
+SOURCE="${BASH_SOURCE[0]}"
+while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
+  DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
+  SOURCE="$(readlink "$SOURCE")"
+  [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
+done
+CURRDIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
+export PATH="${PATH}:${CURRDIR}"
+# Point to the pango and fontconfig config files inside the bundle, in turn linking to modules and fonts inside the bundle as well.
+export FONTCONFIG_PATH="${CURRDIR}/../Resources/etc/fonts"
+export PANGO_LIBDIR="${CURRDIR}/../Resources/lib"
+export PANGO_SYSCONFDIR="${CURRDIR}/../Resources/etc"
+# Without this line, pixbuf tries to use the config file from macports
+# environment. Apparently it works just fine without it too.
+export GDK_PIXBUF_MODULE_FILE=""
+# TODO: might be a good idea to turn-off all console output
+export LANG=$(echo $(defaults read -g AppleLanguages | sed '/"/!d;s/["[:space:]]//g;s/-/_/') | cut -d',' -f1).UTF-8 # Set locale to default OS languages.
+cd "${CURRDIR}" # pangorc file uses the current folder as the basis for resolving relative paths to pango.modules
+"${CURRDIR}/performous" # Make sure the executable is actually found.
diff --git a/osx-utils/resources/performous.icns b/osx-utils/resources/performous.icns
new file mode 100644 (file)
index 0000000..4144acb
Binary files /dev/null and b/osx-utils/resources/performous.icns differ
diff --git a/portage-overlay/games-arcade/performous/performous-9999.ebuild b/portage-overlay/games-arcade/performous/performous-9999.ebuild
new file mode 100644 (file)
index 0000000..736836e
--- /dev/null
@@ -0,0 +1,109 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-arcade/performous/performous-0.7.0-r1.ebuild,v 1.1 2013/01/24 17:04:10 hasufell Exp $
+
+EAPI=5
+[[ ${PV} = 9999 ]] && GIT="git-2"
+
+CMAKE_REMOVE_MODULES="yes"
+CMAKE_REMOVE_MODULES_LIST="FindALSA FindBoost FindGettext FindJpeg FindPng FindTiff FindZ"
+
+inherit eutils base cmake-utils games ${GIT}
+
+SONGS_PN=ultrastar-songs
+
+DESCRIPTION="SingStar GPL clone"
+HOMEPAGE="http://sourceforge.net/projects/performous/"
+SRC_URI="songs? (
+               mirror://sourceforge/performous/${SONGS_PN}-restricted-3.zip
+               mirror://sourceforge/performous/${SONGS_PN}-jc-1.zip
+               mirror://sourceforge/performous/${SONGS_PN}-libre-3.zip
+               mirror://sourceforge/performous/${SONGS_PN}-shearer-1.zip
+       )"
+
+PATCHES=(
+)
+
+if [ "$PV" != "9999" ]; then
+    SRC_URI="https://github.com/performous/performous/archive/${PV}.tar.gz -> ${P}.tar.gz $SRC_URI"
+       PATCHES=(
+               $PATCHES
+               "${FILESDIR}"/${PN}-gentoo.patch
+       )
+else
+    EGIT_REPO_URI="git://github.com/performous/performous.git"
+       PATCHES=(
+               $PATCHES
+               "${FILESDIR}"/${P}-gentoo.patch
+       )
+fi
+
+LICENSE="GPL-2
+       songs? (
+               CCPL-Attribution-ShareAlike-NonCommercial-2.5
+               CCPL-Attribution-NonCommercial-NoDerivs-2.5
+       )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="midi songs tools webcam"
+
+RDEPEND="dev-cpp/glibmm
+       dev-cpp/libxmlpp:2.6
+       media-libs/portaudio
+       dev-libs/boost[threads(+)]
+       dev-libs/glib
+       dev-libs/libxml2
+       gnome-base/librsvg
+       tools? ( media-gfx/imagemagick )
+       virtual/jpeg
+       media-libs/libpng:0
+       media-libs/libsdl2[joystick,video]
+       virtual/ffmpeg
+       virtual/opengl
+       virtual/glu
+       sys-libs/zlib
+       virtual/libintl
+       x11-libs/cairo
+       x11-libs/gdk-pixbuf
+       x11-libs/pango
+       midi? ( media-libs/portmidi )
+       webcam? ( media-libs/opencv )"
+DEPEND="${RDEPEND}
+       media-libs/glew
+       sys-apps/help2man
+       sys-devel/gettext"
+
+src_prepare() {
+       base_src_prepare
+       sed -i \
+               -e "s:@GENTOO_BINDIR@:${GAMES_BINDIR}:" \
+               game/CMakeLists.txt \
+               || die
+
+       strip-linguas -u lang
+}
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake-utils_use_enable tools TOOLS)
+               $(usex midi "" "-DNO_PORTMIDI=ON")
+               $(usex webcam "" "-DNO_WEBCAM=ON")
+               -DCMAKE_VERBOSE_MAKEFILE=TRUE
+               -DSHARE_INSTALL="${GAMES_DATADIR}"/${PN}
+       )
+       cmake-utils_src_configure
+}
+
+src_compile() {
+       cmake-utils_src_compile
+}
+
+src_install() {
+       cmake-utils_src_install
+       if use songs ; then
+               insinto "${GAMES_DATADIR}"/${PN}
+               doins -r "${WORKDIR}/songs"
+       fi
+       dodoc docs/{Authors,instruments}.txt
+       prepgamesdirs
+}
diff --git a/portage-overlay/games-util/eof/eof-1.65.ebuild b/portage-overlay/games-util/eof/eof-1.65.ebuild
new file mode 100644 (file)
index 0000000..387898b
--- /dev/null
@@ -0,0 +1,45 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+inherit games
+
+DESCRIPTION="Song editor for the game Frets On Fire"
+HOMEPAGE="http://www.t3-i.com/eof.htm"
+SRC_URI="http://www.t3-i.com/apps/${PN}/downloads/${PN}-${PV}-linux.tar.gz"
+
+LICENSE=""
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="
+       media-libs/allegro
+       media-sound/vorbis-tools
+       media-sound/lame
+"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+       cd "${WORKDIR}/src/"
+       emake -f makefile.linux || die "emake failed"
+}
+
+src_install() {
+       cd "${WORKDIR}"
+       cat >> bin/eof.script <<-EOF
+               #!/bin/bash
+               TMP_DIR=\`mktemp -d || echo "/tmp/falback"\`
+               echo ">> Using \\"\${TMP_DIR}\\" as temporary location"
+               cp /usr/share/eof/* "\${TMP_DIR}"
+               cd "\${TMP_DIR}"
+               eof.bin
+               rm -rf "\${TMP_DIR}"
+       EOF
+       newbin bin/eof eof.bin
+       newbin bin/eof.script eof
+       insinto "/usr/share/${PN}"
+       doins bin/eof.dat bin/check.wav
+}
diff --git a/portage-overlay/games-util/eof/eof-9999.ebuild b/portage-overlay/games-util/eof/eof-9999.ebuild
new file mode 100644 (file)
index 0000000..2f62604
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+inherit games subversion
+
+DESCRIPTION="Song editor for the game Frets On Fire"
+HOMEPAGE="http://code.google.com/p/editor-on-fire/"
+ESVN_REPO_URI="http://editor-on-fire.googlecode.com/svn/trunk/"
+
+LICENSE=""
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+       media-libs/allegro
+       media-sound/vorbis-tools
+       media-sound/lame"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+       cd ${S}/src/
+       emake -f makefile.linux || die "emake failed"
+}
+
+src_install() {
+       cd ${S}
+       cat >> bin/eof.script <<-EOF
+               #!/bin/bash
+               TMP_DIR=\`mktemp -d || echo "/tmp/falback"\`
+               echo ">> Using \\"\${TMP_DIR}\\" as temporary location"
+               cp /usr/share/eof/* "\${TMP_DIR}"
+               cd "\${TMP_DIR}"
+               eof.bin
+               rm -rf "\${TMP_DIR}"
+       EOF
+       newbin bin/eof eof.bin
+       newbin bin/eof.script eof
+       insinto "/usr/share/${PN}"
+       doins bin/eof.dat bin/check.wav
+}
diff --git a/portage-overlay/games-util/foflc/foflc-9999.ebuild b/portage-overlay/games-util/foflc/foflc-9999.ebuild
new file mode 100644 (file)
index 0000000..5e95a85
--- /dev/null
@@ -0,0 +1,33 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+inherit cmake-utils games subversion
+
+DESCRIPTION="Frets On Fire Lyrics Converter"
+HOMEPAGE="http://www.fretsonfire.net/forums/viewtopic.php?t=31765&f=11"
+ESVN_REPO_URI="http://editor-on-fire.googlecode.com/svn/trunk/src/foflc"
+
+LICENSE="ASIS"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_configure() {
+       mycmakeargs="-DCMAKE_INSTALL_PREFIX=${GAMES_PREFIX}"
+       cmake-utils_src_configure
+}
+
+src_compile() {
+       cmake-utils_src_compile
+}
+
+src_install() {
+       DOCS="*.txt" cmake-utils_src_install
+       prepgamesdirs
+}
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
new file mode 100644 (file)
index 0000000..2a7fad2
--- /dev/null
@@ -0,0 +1,63 @@
+cmake_minimum_required(VERSION 2.8)
+
+# Libraries
+
+find_package(Boost 1.34 REQUIRED COMPONENTS filesystem program_options system)
+include_directories(${Boost_INCLUDE_DIRS})
+
+# Find all the libs that don't require extra parameters
+
+foreach(lib LibXML++ Z Jpeg Png Z)
+find_package(${lib})
+       if (${lib}_FOUND)
+               include_directories(${${lib}_INCLUDE_DIRS})
+               add_definitions(${${lib}_DEFINITIONS})
+       endif (${lib}_FOUND)
+endforeach(lib)
+
+if (Z_FOUND)
+       if (LibXML++_FOUND)
+               add_executable(ss_extract ss_extract.cc pak.cc ipu_conv.cc ss_cover.cc ../common/image.cc)
+               target_link_libraries(ss_extract ${LibXML++_LIBRARIES} ${Boost_LIBRARIES} ${Z_LIBRARIES} ${Jpeg_LIBRARIES} ${Png_LIBRARIES})
+               set(targets ${targets} ss_extract)
+
+               add_executable(ss_cover_conv cover_conv.cc pak.cc ss_cover.cc ../common/image.cc)
+               target_link_libraries(ss_cover_conv ${LibXML++_LIBRARIES} ${Boost_LIBRARIES} ${Z_LIBRARIES} ${Jpeg_LIBRARIES} ${Png_LIBRARIES})
+               set(targets ${targets} ss_cover_conv)
+       else (LibXML++_FOUND)
+               message("No LibXML++ found, not building ss_extract nor ss_cover_conv")
+       endif (LibXML++_FOUND)
+
+       add_executable(ss_pak_extract pak_extract.cc pak.cc)
+       target_link_libraries(ss_pak_extract ${Boost_LIBRARIES} ${Z_LIBRARIES})
+       set(targets ${targets} ss_pak_extract)
+
+       add_executable(itg_pck itg_pck.cc)
+       target_link_libraries(itg_pck ${Boost_LIBRARIES} ${Z_LIBRARIES})
+       set(targets ${targets} itg_pck)
+
+       add_executable(ss_chc_decode ss_chc_decode.cc)
+       target_link_libraries(ss_chc_decode ${Boost_LIBRARIES} ${Z_LIBRARIES})
+       set(targets ${targets} ss_chc_decode)
+
+       add_executable(ss_adpcm_decode adpcm_decode.cc pak.cc)
+       target_link_libraries(ss_adpcm_decode ${Z_LIBRARIES})
+       set(targets ${targets} ss_adpcm_decode)
+endif()
+
+add_executable(ss_archive_extract archive_extract.cc)
+target_link_libraries(ss_archive_extract ${Boost_LIBRARIES})
+set(targets ${targets} ss_archive_extract)
+
+add_executable(gh_fsb_decrypt gh_fsb/fsbext.c)
+add_executable(gh_xen_decrypt gh_xen_decrypt.cc)
+add_executable(ss_ipu_conv ipu_conv.cc ipuconvmain.cc pak.cc)
+set(targets ${targets} gh_fsb_decrypt gh_xen_decrypt ss_adpcm_decode ss_ipu_conv)
+
+# add install target:
+if(WIN32)
+       install(TARGETS ${targets} DESTINATION tools)
+else()
+       install(TARGETS ${targets} DESTINATION bin)
+endif()
+
diff --git a/tools/adpcm.h b/tools/adpcm.h
new file mode 100644 (file)
index 0000000..6cda020
--- /dev/null
@@ -0,0 +1,83 @@
+#ifndef USNG_ADPCM_H
+#define USNG_ADPCM_H
+
+#include <iostream>
+#include <stdexcept>
+#include <vector>
+
+class Adpcm {
+  public:
+       /** Initialize the decoder.
+       * Typical values for interleave are 0xB800 and 0xBB80. This information can
+       * be extracted from music.mih
+       **/
+       Adpcm(unsigned int interleave_, unsigned int channels_ = 2): m_interleave(interleave_), headers(channels_) {}
+
+       /** Decode 16 bytes of each channel, outputting 28 samples/ch. **/
+       template <typename OutIt> OutIt decodeBlock(char const* data, OutIt pcm) {
+               // Read headers
+               for (unsigned ch = 0; ch < headers.size(); ++ch) headers[ch].parse(data + ch * m_interleave);
+               for (unsigned n = 0; n < 28; ++n) {
+                       for (unsigned ch = 0; ch < headers.size(); ++ch) {
+                               Header& h = headers[ch];
+                               // Get a nibble and left-align it
+                               short sample = (data[2 + n / 2 + ch * m_interleave] << (n % 2 ? 8 : 12)) & 0xF000;
+                               int i_sample = sample;
+                               // Apply ADPCM exponent
+                               i_sample >>= h.shift;
+                               // Apply prediction
+                               i_sample += (h.pr1 * h.prev1 + h.pr2 * h.prev2 + 32) >> 6;
+                               if( i_sample > 32767 ) {
+                                       sample = 32767;
+                               } else if( i_sample < -32768 ) {
+                                       sample = -32768;
+                               } else {
+                                       sample = i_sample;
+                               }
+                               // Store history for prediction
+                               h.prev2 = h.prev1;
+                               h.prev1 = sample;
+                               // Output sample
+                               *pcm++ = sample;
+                       }
+               }
+               return pcm;
+       }
+
+       unsigned int chunkFrames() const { return m_interleave / 16 * 28; }
+       unsigned int chunkBytes() const { return m_interleave * 2; }
+       void interleave(unsigned int _interleave) {m_interleave = _interleave; }
+
+       /** Decode chunkBytes() bytes, outputting chunkFrames() samples/ch. **/
+       template <typename OutIt> OutIt decodeChunk(char const* data, OutIt pcm) {
+               for (unsigned pos = 0; pos < m_interleave; pos += 16) pcm = decodeBlock(data + pos, pcm);
+               return pcm;
+       }
+  private:
+       unsigned int m_interleave;
+       struct Header {
+               Header(): prev1(), prev2() {}
+               int shift;
+               int pr1;
+               int pr2;
+               char loopend;
+               char loop;
+               char loopstart;
+               short prev1;
+               short prev2;
+               void parse(char const* data) {
+                       static const int f[5][2] = { { 0, 0 }, { 60, 0 }, { 115, -52 }, { 98, -55 }, { 122, -60 } };
+                       shift = data[0] & 0xF;
+                       unsigned mode = (data[0] >> 4) & 0xF;
+                       if (mode >= 5) throw std::runtime_error("Invalid mode");
+                       pr1 = f[mode][0];
+                       pr2 = f[mode][1];
+                       loopend = data[1] & 1;
+                       loop = (data[1] >> 1) & 1;
+                       loopstart = (data[1] >> 2) & 1;
+               }
+       };
+       std::vector<Header> headers;
+};
+
+#endif
diff --git a/tools/adpcm_decode.cc b/tools/adpcm_decode.cc
new file mode 100644 (file)
index 0000000..39cb3e4
--- /dev/null
@@ -0,0 +1,72 @@
+#include "adpcm.h"
+#include "pak.h"
+#include <cstdlib>
+#include <fstream>
+#include <iostream>
+#include <vector>
+
+unsigned short decode_channels = 2;
+
+void process(Adpcm& adpcm, std::vector<char> const& data, std::ostream& outfile) {
+       std::vector<short> pcm(adpcm.chunkFrames() * decode_channels);
+       adpcm.decodeChunk(&data[0], &pcm[0]);
+       outfile.write(reinterpret_cast<char*>(&pcm[0]), pcm.size() * sizeof(short));
+}
+
+void writeWavHeader(std::ostream& outfile, unsigned ch, unsigned sr, unsigned samples) {
+       unsigned bps = ch * 2; // Bytes per sample
+       unsigned datasize = bps * samples;
+       unsigned size = datasize + 0x2C;
+       outfile.write("RIFF" ,4); // RIFF chunk
+       { unsigned int tmp=size-0x8 ; outfile.write((char*)(&tmp),4); } // RIFF chunk size
+       outfile.write("WAVEfmt ",8); // WAVEfmt header
+       { int   tmp=0x00000010 ; outfile.write((char*)(&tmp),4); } // Always 0x10
+       { short tmp=0x0001     ; outfile.write((char*)(&tmp),2); } // Always 1
+       { short tmp = ch; outfile.write((char*)(&tmp),2); } // Number of channels
+       { int   tmp = sr; outfile.write((char*)(&tmp),4); } // Sample rate
+       { int   tmp = bps * sr; outfile.write((char*)(&tmp),4); } // Bytes per second
+       { short tmp = bps; outfile.write((char*)(&tmp),2); } // Bytes per frame
+       { short tmp = 16; outfile.write((char*)(&tmp),2); } // Bits per sample
+       outfile.write("data",4); // data chunk
+       { int   tmp = datasize; outfile.write((char*)(&tmp),4); }
+}
+
+int main(int argc, char** argv) {
+       std::string in, out, pak;
+
+       if( argc == 3 ) {
+               in = argv[1];
+               out = argv[2];
+       } else if( argc == 4 ) {
+               pak = argv[1];
+               in = argv[2];
+               out = argv[3];
+       } else {
+               std::cout << "Usage: " << argv[0] << " [archive.pak] input.mib output.wav" << std::endl;
+               return EXIT_FAILURE;
+       }
+       // FIXME: read from music.mih
+       const unsigned sr = 48000;
+       const unsigned interleave = 0xB800;
+       Adpcm adpcm(interleave, decode_channels);
+       std::ofstream outf;
+       if (out != "-") outf.open(out.c_str(), std::ios::binary);
+       std::ostream& outfile = (out != "-" ? outf : std::cout);
+       std::vector<char> data(adpcm.chunkBytes());
+       if (pak.empty()) {
+               std::ifstream infile(in.c_str(), std::ios::binary);
+               writeWavHeader(outfile, 2, sr, sr * 1000 /* FIXME: calculate real length */);
+               while (infile.read(&data[0], adpcm.chunkBytes()) && infile.seekg(adpcm.chunkBytes(), std::ios::cur)) {
+                       process(adpcm, data, outfile);
+               }
+       } else {
+               Pak p(pak);
+               PakFile const& infile(p[in]);
+               writeWavHeader(outfile, 2, sr, infile.size / (adpcm.chunkBytes() * 2) * adpcm.chunkFrames());
+               for (unsigned pos = 0, end; (end = pos + 2 * adpcm.chunkBytes()) <= infile.size; pos = end) {
+                       infile.get(data, pos, end - pos);
+                       process(adpcm, data, outfile);
+               }
+       }
+}
+
diff --git a/tools/adpcm_play.cc b/tools/adpcm_play.cc
new file mode 100644 (file)
index 0000000..e2a89c6
--- /dev/null
@@ -0,0 +1,50 @@
+#include "adpcm.h"
+#include <portaudio.h>
+
+static int c_callback(void*, void* output, unsigned long framesPerBuffer, PaTimestamp, void* userdata) {
+       AudioFifo* audioQueue = static_cast<AudioFifo*>(userdata);
+       unsigned long size = 0;
+       unsigned char channels = 2;
+       std::vector<int16_t> buf;
+       while(size < framesPerBuffer*channels) {
+               size+=audioQueue->tryPop(buf, framesPerBuffer*channels-size);
+       }
+       int16_t* my_out = (int16_t*)output;
+       for( unsigned int i = 0 ; i < size ; i++ ) {
+               my_out[i] = buf[i];
+       }
+       return 0;
+}
+
+int main( int argc, char** argv) {
+       std::ifstream m_f1;
+       std::string in, out, fat;
+
+       if( argc == 2 ) {
+               fat = "none";
+               in = argv[1];
+       } else if( argc == 3 ) {
+               fat = argv[1];
+               in = argv[2];
+       } else {
+               std::cout << "Usage: " << argv[0] << " [fat_file] input_file" << std::endl;
+               return EXIT_FAILURE;
+       }
+
+       Adpcm file(in,fat);
+       PaError pa_err=Pa_Initialize();
+       PaStream *stream;
+       pa_err = Pa_OpenStream(&stream, paNoDevice, 0, paInt16, NULL, \
+                       Pa_GetDefaultOutputDeviceID(), \
+                       2, paInt16, NULL, 48000, 1234, 0, 0, \
+                       c_callback, &file.audioQueue);
+       pa_err=Pa_StartStream(stream);
+       while( !file.finished() || file.audioQueue.size() > 0) {
+               sleep(1);
+
+       }
+       pa_err=Pa_CloseStream(stream);
+       pa_err=Pa_Terminate();
+
+       return EXIT_SUCCESS;
+}
diff --git a/tools/archive_extract.cc b/tools/archive_extract.cc
new file mode 100644 (file)
index 0000000..1d6e412
--- /dev/null
@@ -0,0 +1,123 @@
+// @file Tool for extracting 'Disney Sing It' archive/archive.log files
+
+#include <boost/filesystem.hpp>
+#include <algorithm>
+#include <cstring>
+#include <fstream>
+#include <functional>
+#include <iomanip>
+#include <iostream>
+#include <iterator>
+#include <map>
+#include <sstream>
+#include <stdexcept>
+
+namespace {
+       void usage(char const* progname) {
+               std::cerr << "Usage: " << progname << " archive --extract [files]" << std::endl;
+               std::cerr << "       " << progname << " archive --dump file" << std::endl;
+               std::cerr << "       " << progname << " archive --list" << std::endl;
+       }
+
+       struct File {
+               size_t offset;
+               size_t size;
+       };
+
+       typedef std::map<std::string, File> Files;
+
+       Files readFiles(std::string archive) {
+               Files files;
+               archive += ".log";
+               std::ifstream archlog(archive.c_str(), std::ios::binary);
+               File f = { 4, 0 };
+               for (std::string name; archlog >> name >> f.size; f.offset += f.size) files[name] = f;
+               if (!archlog.eof()) throw std::runtime_error("Error reading " + archive);
+               return files;
+       }
+
+       void extract(std::ifstream& arch, Files::const_iterator it, std::ostream& output) {
+               File const& f = it->second;
+               std::vector<char> buf(f.size);
+               arch.seekg(f.offset);
+               arch.read(&buf[0], buf.size());
+               output.write(&buf[0], buf.size());
+       }
+
+       struct Extract {
+               Extract(std::ifstream& arch, Files const& files): m_arch(arch), m_files(files) {}
+               /// Extract one file
+               void operator()(std::string const& filename) {
+                       Files::const_iterator it = m_files.find(filename);
+                       if (it == m_files.end()) throw std::runtime_error("File not found in archive");
+                       operator()(it);
+               }
+               /// Extract all files
+               void operator()() {
+                       for (Files::const_iterator it = m_files.begin(); it != m_files.end(); ++it) operator()(it);
+               }
+               /// Extract one file by iterator
+               void operator()(Files::const_iterator it) {
+                       std::string filename = it->first;
+                       // Remove path elements from m_path until it matches the filename's beginning
+                       while (m_path != filename.substr(0, m_path.size())) {
+                               std::string::size_type pos = m_path.rfind('/');
+                               if (pos == std::string::npos) m_path.clear();
+                               else m_path.erase(pos);
+                       }
+                       // Try to create new folders as required
+                       for (std::string::size_type pos; (pos = filename.find('/', m_path.size() + 1)) != std::string::npos;) {
+                               m_path = filename.substr(0, pos);
+                               boost::filesystem::create_directory(m_path);
+                       }
+                       // Extract the file
+                       std::ofstream f(filename.c_str(), std::ios::binary);
+                       if (!f.is_open()) throw std::runtime_error("Unable to create file: " + filename);
+                       std::cout << filename << std::flush;
+                       extract(m_arch, it, f);
+                       std::cout << std::endl;
+               }
+         private:
+               std::ifstream& m_arch;
+               Files const& m_files;
+               std::string m_path;
+       };
+
+       std::ostream& operator<<(std::ostream& os, Files const& files) {
+               std::stringstream ss;
+               ss << std::setbase(16) << std::setfill('0');
+               for (Files::const_iterator it = files.begin(); it != files.end(); ++it) {
+                       File const& f = it->second;
+                       ss << "0x" << std::setw(8) << f.offset << ' ';
+                       ss << "0x" << std::setw(8) << f.size << ' ';
+                       ss << it->first << std::endl;
+               }
+               return os << ss.rdbuf() << std::flush;
+       }
+}
+
+int main(int argc, char** argv) {
+       std::ios::sync_with_stdio(false);
+       if( argc < 3 ) { usage(argv[0]); return EXIT_FAILURE; }
+       try {
+               std::ifstream arch(argv[1], std::ios::binary);
+               if (!arch) throw std::runtime_error("Unable to open " + std::string(argv[1]));
+               Files const files = readFiles(argv[1]);
+               if (files.empty()) throw std::runtime_error("No files found in archive");
+               if (!strcmp(argv[2],"--list")) std::cout << files;
+               else if (!strcmp(argv[2],"--dump")) {
+                       if (argc != 4) { usage(argv[0]); return EXIT_FAILURE; }
+                       Files::const_iterator it = files.find(argv[3]);
+                       if (it == files.end()) throw std::runtime_error("File not found in archive");
+                       extract(arch, it, std::cout);
+               } else if (!strcmp(argv[2],"--extract")) {
+                       Extract extractor(arch, files);
+                       if (argc == 3) extractor();
+                       else std::for_each(argv + 3, argv + argc, extractor);
+               } else { usage(argv[0]); return EXIT_FAILURE; }
+       } catch (std::exception& e) {
+               std::cerr << "Error: " << e.what() << std::endl;
+               return EXIT_FAILURE;
+       }
+}
+
diff --git a/tools/bitfiles.h b/tools/bitfiles.h
new file mode 100644 (file)
index 0000000..94dcec2
--- /dev/null
@@ -0,0 +1,183 @@
+#include <algorithm>
+#include <fstream>
+#include <vector>
+
+class outBitFile {
+  public:
+       outBitFile(const char* filename): outcnt(0), outfile(filename, std::ios::binary) {}
+       ~outBitFile() { putbuf(); }
+
+       void putbits(unsigned int data, unsigned int n) {
+               unsigned int mask = 1 << (n-1);
+               for( unsigned int i = 0 ; i < n; i++) {
+                       outbuf <<= 1;
+                       if (data & mask) outbuf |= 1;
+                       mask >>= 1;
+                       outcnt++;
+                       if (outcnt == 8) {
+                               outfile.put(outbuf);
+                               outcnt = 0;
+                       }
+               }
+       }
+
+       void putbuf() {
+               if (outcnt > 0) putbits(0, 8-outcnt);
+       }
+
+       void put_dcs_y(int len) {
+               switch (len) {
+                       case 0: putbits(4,3); break;
+                       case 1: putbits(0,2); break;
+                       case 2: putbits(1,2); break;
+                       case 3: putbits(5,3); break;
+                       case 4: putbits(6,3); break;
+                       case 5: putbits(14,4); break;
+                       case 6: putbits(30,5); break;
+                       case 7: putbits(62,6); break;
+                       case 8: putbits(126,7); break;
+                       case 9: putbits(254,8); break;
+                       case 10: putbits(510,9); break;
+                       case 11: putbits(511,9); break;
+               }
+       }
+
+       void put_dcs_c(int len) {
+               switch (len) {
+                       case 0: putbits(0,2); break;
+                       case 1: putbits(1,2); break;
+                       case 2: putbits(2,2); break;
+                       case 3: putbits(6,3); break;
+                       case 4: putbits(14,4); break;
+                       case 5: putbits(30,5); break;
+                       case 6: putbits(62,6); break;
+                       case 7: putbits(126,7); break;
+                       case 8: putbits(254,8); break;
+                       case 9: putbits(510,9); break;
+                       case 10: putbits(1022,10); break;
+                       case 11: putbits(1023,10); break;
+               }
+       }
+
+  private:
+       int outcnt;
+       std::ofstream outfile;
+       unsigned char outbuf;
+       std::vector<char> outdata;
+};
+
+#define BUFFER_SIZE 4096
+#define START_CODE 0x000001
+#define BYTE_ALIGN 0x80
+#define BYTE_START 0x80
+
+class inBitFile {
+  public:
+       inBitFile(std::vector<char> const& data): indata(data) {
+               wdMask = BYTE_START;
+               wdIndex = 0;
+       }
+
+       void setpos(long int byte, unsigned int bit) {
+               wdIndex = byte;
+               wdMask = BYTE_START;
+               get(bit);
+       }
+
+       void getpos( long int *byte, unsigned int *bit) {
+               unsigned wdMaskSave = wdMask;
+               unsigned count;
+               for(count = 0; wdMaskSave != 0x80; count++) wdMaskSave <<= 1;
+               *bit = count; // 0x80=0,0x40=1,0x20=2 usw
+               *byte = wdIndex;
+       }
+
+       int get(int num_bits) {
+               unsigned int buf;
+               if (!get_bits(&buf, num_bits)) return 0;
+               return buf;
+       }
+
+       int next_start_code() {
+               unsigned int buf;
+               /* locate next start code */
+               if (wdMask != BYTE_ALIGN) {
+                       /* not byte aligned */
+                       /* skip stuffed zero bits */
+                       wdMask = BYTE_ALIGN;
+                       wdIndex++;
+               }
+               if (!next_bits(&buf, 24)) return 0; /* end of bitstream */
+               while (buf != START_CODE) {
+                       if (!get_bits(&buf, 8)) return 0;/* zero byte */
+                       if (!next_bits(&buf, 24)) return 0;
+               }
+               return 1;
+       }
+
+       int get_dcs_y() {
+               int bits;
+               if(!(bits = get(2))) return 1; // 00
+               if(bits == 1)        return 2; // 01
+               bits <<= 1;
+               bits |= get(1);
+               if(bits == 4) return 0; // 100
+               if(bits == 5) return 3; // 101
+               if(bits == 6) return 4; // 110
+               if(!get(1)) return 5;
+               if(!get(1)) return 6;
+               if(!get(1)) return 7;
+               if(!get(1)) return 8;
+               if(!get(1)) return 9;
+               if(!get(1)) return 10;
+               return 11;
+       }
+
+       int get_dcs_c() {
+               int bits;
+               if(!(bits = get(2))) return 0; // 00
+               if(bits == 1) return 1; // 01
+               if(bits == 2) return 2; // 10
+               if(!get(1)) return 3;
+               if(!get(1)) return 4;
+               if(!get(1)) return 5;
+               if(!get(1)) return 6;
+               if(!get(1)) return 7;
+               if(!get(1)) return 8;
+               if(!get(1)) return 9;
+               if(!get(1)) return 10;
+               return 11;
+       }
+  private:
+       int get_bits(unsigned int *destBuf, unsigned int num_bits) {
+               *destBuf = 0;
+               for (unsigned int index = 0; index < num_bits; ++index) {
+                       if (wdIndex >= indata.size()) return 0;
+                       /* get next bit */
+                       *destBuf <<= 1;
+                       if (indata[wdIndex] & wdMask) *destBuf |= 1;
+                       /* update bit pointer */
+                       if (wdMask > 1) wdMask >>= 1;
+                       else {
+                               wdIndex++;
+                               wdMask = BYTE_START;
+                       }
+               }
+               return 1;
+       }
+       
+       int next_bits(unsigned int *destBuf, int num_bits) {
+               /* save current buffer state */
+               unsigned wdMaskSave = wdMask;
+               unsigned wdIndexSave = wdIndex;
+               int ret = get_bits(destBuf, num_bits);
+               /* restore previous buffer state */
+               wdMask = wdMaskSave;
+               wdIndex = wdIndexSave;
+               return ret;
+       }
+       
+       unsigned wdIndex;
+       unsigned wdMask;
+       std::vector<char> const& indata;
+};
diff --git a/tools/chc_decode.hh b/tools/chc_decode.hh
new file mode 100644 (file)
index 0000000..e3aef61
--- /dev/null
@@ -0,0 +1,73 @@
+#pragma once
+
+#include <boost/crc.hpp>
+#include <string>
+#include <stdexcept>
+#include <zlib.h>
+
+// Class freely inspired from ALLconv by Holger Kuhn (hawkear@gmx.de)
+// Thanks for its help
+
+class ChcDecode {
+  public:
+       ChcDecode() {
+               for( unsigned int i = 0 ; i < 4 ; i++ ) {
+                       key_crc[i] = 0;
+               }
+       }
+       // TODO: move buffer uncypher inside load instead of getMelody
+       void load(std::string key[4]) {
+               for( unsigned int i = 0 ; i < 4 ; i++ ) {
+                       boost::crc_32_type crc;
+                       crc.process_bytes(key[i].c_str(), key[i].size()+1);
+                       key_crc[i] = crc.checksum();
+               }
+       }
+       std::string getMelody(char *buffer, unsigned int buffer_size, unsigned int id) {
+               unsigned int *chc_buffer = (unsigned int*)buffer;
+
+               if( buffer_size%8 != 0 ) throw std::runtime_error("CHC file is not 8 bytes padded");
+
+               for(unsigned int i = 0 ; i < buffer_size/8 ; i++) {
+                       decrypt(&chc_buffer[i*2], key_crc);
+               }
+
+               unsigned int songs = chc_buffer[0];
+
+               if( songs > 100 ) throw std::runtime_error("CHC key probably wrong (too many songs)");
+
+               unsigned int start = 0;
+               uLongf packsize = 0;
+               uLong size = 0;
+               for( unsigned int i = 0 ; i < songs ; i++) {
+                       if( chc_buffer[1+i*4] == id ) {
+                               start = chc_buffer[2+i*4];
+                               packsize = chc_buffer[3+i*4];
+                               size = chc_buffer[4+i*4];
+                               break;
+                       }
+               }
+               if( packsize == 0 ) throw std::runtime_error("Melody not found in CHC file");
+
+               Bytef *dest = new Bytef[size];
+               uncompress(dest, &size, (Bytef*)buffer+start, packsize);
+               std::string result((char*)dest, (unsigned int)size);
+               delete[] dest;
+
+               return result;
+       }
+  private:
+       unsigned int key_crc[4];
+       void decrypt(unsigned int *v, unsigned int k[4]) {
+               unsigned int v0 = v[0], v1 = v[1], i;
+               unsigned int sum   = 0xC6EF3720;
+               unsigned int delta = 0x9e3779b9;
+
+               for(i = 0; i<32; i++) { // basic cycle start
+                       v1 -= (v0<<4) + (k[2] ^ v0) + (sum ^ (v0>>5)) + k[3];
+                       v0 -= (v1<<4) + (k[0] ^ v1) + (sum ^ (v1>>5)) + k[1];
+                       sum -= delta;
+               } // end cycle
+               v[0] = v0; v[1] = v1;
+       }
+};
diff --git a/tools/cover_conv.cc b/tools/cover_conv.cc
new file mode 100644 (file)
index 0000000..a7ff3ee
--- /dev/null
@@ -0,0 +1,24 @@
+#include "ss_cover.hh"
+
+#include <boost/filesystem/path.hpp>
+#include <boost/lexical_cast.hpp>
+
+#include <iostream>
+#include <cstdlib>
+#ifdef __WIN32__
+#  include <windows.h>
+#endif
+
+namespace fs = boost::filesystem;
+
+int main( int argc, char **argv) {
+       if(argc != 4 ) {
+               std::cout << "Usage: " << argv[0] << " [-h|--help] pak_file track_id output_image" << std::endl;
+               return EXIT_FAILURE;
+       }
+
+       SingstarCover c = SingstarCover(argv[1], boost::lexical_cast<unsigned int>(argv[2]));
+       c.write(fs::path(argv[3]));
+
+       return EXIT_SUCCESS;
+}
diff --git a/tools/gh_fsb/fsb.h b/tools/gh_fsb/fsb.h
new file mode 100644 (file)
index 0000000..8190e56
--- /dev/null
@@ -0,0 +1,177 @@
+/*
+from http://www.fmod.org/forum/viewtopic.php?t=1551
+*/
+
+#pragma pack(2)
+
+#define F_FLOAT     float
+
+#define FSOUND_FSB_NAMELEN  30
+
+/*
+    Defines for FSOUND_FSB_HEADER->mode field
+*/
+#define FSOUND_FSB_SOURCE_FORMAT        0x00000001  /* all samples stored in their original compressed format */
+#define FSOUND_FSB_SOURCE_BASICHEADERS  0x00000002  /* samples should use the basic header structure */
+
+/*
+    Defines for FSOUND_FSB_HEADER->version field
+*/
+#define FSOUND_FSB_VERSION_3_1          0x00030001  /* FSB version 3.1 */
+
+/*
+    16 byte header.
+*/
+typedef struct {
+    char        id[4];      /* 'FSB1' */
+    int32_t     numsamples; /* number of samples in the file */
+    int32_t     datasize;   /* size in bytes of compressed sample data */
+    int32_t     dunno_null;
+} FSOUND_FSB_HEADER_FSB1;
+
+/*
+    16 byte header.
+*/
+typedef struct {
+    char        id[4];      /* 'FSB2' */
+    int32_t     numsamples; /* number of samples in the file */
+    int32_t     shdrsize;   /* size in bytes of all of the sample headers including extended information */
+    int32_t     datasize;   /* size in bytes of compressed sample data */
+} FSOUND_FSB_HEADER_FSB2;
+
+/*
+    24 byte header.
+*/
+typedef struct {
+    char        id[4];      /* 'FSB3' */
+    int32_t     numsamples; /* number of samples in the file */
+    int32_t     shdrsize;   /* size in bytes of all of the sample headers including extended information */
+    int32_t     datasize;   /* size in bytes of compressed sample data */
+    uint32_t    version;    /* extended fsb version */
+    uint32_t    mode;       /* flags that apply to all samples in the fsb */
+} FSOUND_FSB_HEADER_FSB3;
+
+typedef struct {
+    char        id[4];      /* 'FSB4' */
+    int32_t     numsamples; /* number of samples in the file */
+    int32_t     shdrsize;   /* size in bytes of all of the sample headers including extended information */
+    int32_t     datasize;   /* size in bytes of compressed sample data */
+    uint32_t    version;    /* extended fsb version */
+    uint32_t    mode;       /* flags that apply to all samples in the fsb */
+    char        zero[8];    /* ??? */
+    uint8_t     hash[16];   /* hash??? */
+} FSOUND_FSB_HEADER_FSB4;
+
+/*
+    64 byte sample header.
+*/
+typedef struct {
+    char        name[32];
+
+    uint32_t    lengthsamples;
+    uint32_t    lengthcompressedbytes;
+    int32_t     deffreq;
+    uint16_t    defpri;
+    uint16_t    numchannels;    /* I'm not sure! */
+    uint16_t    defvol;
+    int16_t     defpan;
+    uint32_t    mode;
+    uint32_t    loopstart;
+    uint32_t    loopend;
+   
+} FSOUND_FSB_SAMPLE_HEADER_1;
+
+/*
+    64 byte sample header.
+*/
+typedef struct {
+    uint16_t    size;
+    char        name[FSOUND_FSB_NAMELEN];
+
+    uint32_t    lengthsamples;
+    uint32_t    lengthcompressedbytes;
+    uint32_t    loopstart;
+    uint32_t    loopend;
+
+    uint32_t    mode;
+    int32_t     deffreq;
+    uint16_t    defvol;
+    int16_t     defpan;
+    uint16_t    defpri;
+    uint16_t    numchannels;
+   
+} FSOUND_FSB_SAMPLE_HEADER_2;
+
+/*
+    80 byte sample header.
+*/
+typedef struct {
+    uint16_t    size;
+    char        name[FSOUND_FSB_NAMELEN];
+
+    uint32_t    lengthsamples;
+    uint32_t    lengthcompressedbytes;
+    uint32_t    loopstart;
+    uint32_t    loopend;
+
+    uint32_t    mode;
+    int32_t     deffreq;
+    uint16_t    defvol;
+    int16_t     defpan;
+    uint16_t    defpri;
+    uint16_t    numchannels;
+
+    F_FLOAT     mindistance;
+    F_FLOAT     maxdistance;
+    int32_t     varfreq;
+    uint16_t    varvol;
+    int16_t     varpan;
+
+} FSOUND_FSB_SAMPLE_HEADER_3_1;
+
+/*
+    8 byte sample header.
+*/
+typedef struct {
+    uint32_t    lengthsamples;
+    uint32_t    lengthcompressedbytes;   
+} FSOUND_FSB_SAMPLE_HEADER_BASIC; 
+
+
+
+#define FSOUND_LOOP_OFF         0x00000001 /* For non looping samples. */
+#define FSOUND_LOOP_NORMAL      0x00000002 /* For forward looping samples. */
+#define FSOUND_LOOP_BIDI        0x00000004 /* For bidirectional looping samples. (no effect if in hardware). */
+#define FSOUND_8BITS            0x00000008 /* For 8 bit samples. */
+#define FSOUND_16BITS           0x00000010 /* For 16 bit samples. */
+#define FSOUND_MONO             0x00000020 /* For mono samples. */
+#define FSOUND_STEREO           0x00000040 /* For stereo samples. */
+#define FSOUND_UNSIGNED         0x00000080 /* For user created source data containing unsigned samples. */
+#define FSOUND_SIGNED           0x00000100 /* For user created source data containing signed data. */
+#define FSOUND_DELTA            0x00000200 /* For user created source data stored as delta values. */
+#define FSOUND_IT214            0x00000400 /* For user created source data stored using IT214 compression. */
+#define FSOUND_IT215            0x00000800 /* For user created source data stored using IT215 compression. */
+#define FSOUND_HW3D             0x00001000 /* Attempts to make samples use 3d hardware acceleration. (if the card supports it) */
+#define FSOUND_2D               0x00002000 /* Tells software (not hardware) based sample not to be included in 3d processing. */
+#define FSOUND_STREAMABLE       0x00004000 /* For a streamimg sound where you feed the data to it. */
+#define FSOUND_LOADMEMORY       0x00008000 /* "name" will be interpreted as a pointer to data for streaming and samples. */
+#define FSOUND_LOADRAW          0x00010000 /* Will ignore file format and treat as raw pcm. */
+#define FSOUND_MPEGACCURATE     0x00020000 /* For FSOUND_Stream_Open - for accurate FSOUND_Stream_GetLengthMs/FSOUND_Stream_SetTime. WARNING, see FSOUND_Stream_Open for inital opening time performance issues. */
+#define FSOUND_FORCEMONO        0x00040000 /* For forcing stereo streams and samples to be mono - needed if using FSOUND_HW3D and stereo data - incurs a small speed hit for streams */
+#define FSOUND_HW2D             0x00080000 /* 2D hardware sounds. allows hardware specific effects */
+#define FSOUND_ENABLEFX         0x00100000 /* Allows DX8 FX to be played back on a sound. Requires DirectX 8 - Note these sounds cannot be played more than once, be 8 bit, be less than a certain size, or have a changing frequency */
+#define FSOUND_MPEGHALFRATE     0x00200000 /* For FMODCE only - decodes mpeg streams using a lower quality decode, but faster execution */
+#define FSOUND_IMAADPCM         0x00400000 /* Contents are stored compressed as IMA ADPCM */
+#define FSOUND_VAG              0x00800000 /* For PS2 only - Contents are compressed as Sony VAG format */
+//#define FSOUND_NONBLOCKING      0x01000000 /* For FSOUND_Stream_Open/FMUSIC_LoadSong - Causes stream or music to open in the background and not block the foreground app. See FSOUND_Stream_GetOpenState or FMUSIC_GetOpenState to determine when it IS ready. */
+#define FSOUND_XMA              0x01000000
+#define FSOUND_GCADPCM          0x02000000 /* For Gamecube only - Contents are compressed as Gamecube DSP-ADPCM format */
+#define FSOUND_MULTICHANNEL     0x04000000 /* For PS2 and Gamecube only - Contents are interleaved into a multi-channel (more than stereo) format */
+#define FSOUND_USECORE0         0x08000000 /* For PS2 only - Sample/Stream is forced to use hardware voices 00-23 */
+#define FSOUND_USECORE1         0x10000000 /* For PS2 only - Sample/Stream is forced to use hardware voices 24-47 */
+#define FSOUND_LOADMEMORYIOP    0x20000000 /* For PS2 only - "name" will be interpreted as a pointer to data for streaming and samples. The address provided will be an IOP address */
+#define FSOUND_IGNORETAGS       0x40000000 /* Skips id3v2 etc tag checks when opening a stream, to reduce seek/read overhead when opening files (helps with CD performance) */
+#define FSOUND_STREAM_NET       0x80000000 /* Specifies an internet stream */
+#define FSOUND_NORMAL           (FSOUND_16BITS | FSOUND_SIGNED | FSOUND_MONO)
+
+#pragma pack()
diff --git a/tools/gh_fsb/fsbext.c b/tools/gh_fsb/fsbext.c
new file mode 100644 (file)
index 0000000..1345324
--- /dev/null
@@ -0,0 +1,1829 @@
+/*
+    Copyright 2005,2006,2007,2008,2009,2010 Luigi Auriemma
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+    http://www.gnu.org/licenses/gpl-2.0.txt
+*/
+
+// File grabbed from here: http://aluigi.altervista.org/papers.htm
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdint.h>
+#include <sys/stat.h>
+#include <ctype.h>
+#include "show_dump.h"
+#include "fsb.h"
+#include "mywav.h"
+#include "xma_header.h"
+
+#ifdef WIN32
+    #include <direct.h>
+    #define PATHSLASH   '\\'
+    #define make_dir(x) mkdir(x)
+#else
+    #include <unistd.h>
+    #define strnicmp    strncasecmp
+    #define PATHSLASH   '/'
+    #define make_dir(x) mkdir(x, 0755)
+#endif
+
+typedef uint8_t     u8;
+typedef uint16_t    u16;
+typedef uint32_t    u32;
+
+
+
+#define VER         "0.2.8"
+#define HEXSIZE     176
+#define NULLNAME    "%08x.dat"
+
+#define MODEZ(x)    sprintf(name, "%.*s", (int)sizeof(x.name), x.name); \
+                    freq     = x.deffreq;                               \
+                    chans    = x.numchannels;                           \
+                    mode     = show_mode(x.mode, &codec, NULL, &bits);  \
+                    size     = x.lengthcompressedbytes;                 \
+                    samples  = x.lengthsamples;                         \
+                    moresize = x.size - sizeof(x);
+#define FDREB_INIT  if(fdreb) reboff = ftell(fd);
+#define REBBUFFCHK  if(rebsize > rebbuffsz) { \
+                        rebbuffsz = rebsize + 1000; \
+                        rebbuff = realloc(rebbuff, rebbuffsz); \
+                        if(!rebbuff) std_err(); \
+                    }
+
+
+
+void add_to_reb_file(FILE *fd);
+int rebuild_fsb(FILE *fd);
+
+void frch(FILE *fd, u8 *data, int size);
+void fwch(FILE *fd, u8 *data, int size);
+u16 (*fr16)(FILE *fd);
+u16 fri16(FILE *fd);
+u16 frb16(FILE *fd);
+u32 (*fr32)(FILE *fd);
+u32 fri32(FILE *fd);
+u32 frb32(FILE *fd);
+
+void fw08(FILE *fd, int num);
+void fwi16(FILE *fd, int num);
+void fwi32(FILE *fd, int num);
+void fwb16(FILE *fd, int num);
+void fwb32(FILE *fd, int num);
+
+void fr_FSOUND_FSB_HEADER_FSB1(FILE *fd, FSOUND_FSB_HEADER_FSB1 *fh);
+void fr_FSOUND_FSB_HEADER_FSB2(FILE *fd, FSOUND_FSB_HEADER_FSB2 *fh);
+void fr_FSOUND_FSB_HEADER_FSB3(FILE *fd, FSOUND_FSB_HEADER_FSB3 *fh);
+void fr_FSOUND_FSB_HEADER_FSB4(FILE *fd, FSOUND_FSB_HEADER_FSB4 *fh);
+
+void fr_FSOUND_FSB_SAMPLE_HEADER_1(FILE *fd, FSOUND_FSB_SAMPLE_HEADER_1 *fh);
+void fr_FSOUND_FSB_SAMPLE_HEADER_2(FILE *fd, FSOUND_FSB_SAMPLE_HEADER_2 *fh);
+void fr_FSOUND_FSB_SAMPLE_HEADER_3_1(FILE *fd, FSOUND_FSB_SAMPLE_HEADER_3_1 *fh);
+void fr_FSOUND_FSB_SAMPLE_HEADER_BASIC(FILE *fd, FSOUND_FSB_SAMPLE_HEADER_BASIC *fh, int moresize);
+
+void pcmwav_header(FILE *fd, int freq, u16 chans, u16 bits, u32 rawlen);
+void xbox_ima_header(FILE *fd, int freq, u16 chans, u32 rawlen);
+void its_header(FILE *fd, u8 *fname, u16 chans, u16 bits, u32 rawlen);
+void genh_header(FILE *fd, int freq, u16 chans, u32 rawlen, u8 *coeff, int coeffsz);
+void brstm_header(FILE *fd, int freq, u16 chans, u32 rawlen, u8 *coeff, int coeffsz);
+void adx_header(FILE *fd, int freq, u16 chans, u32 rawlen);
+void ss2_header(FILE *fd, int freq, u16 chans, u32 rawlen);
+void vag_header(FILE *fd, u8 *fname, int freq, u32 rawlen);
+
+int check_sign_endian(FILE *fd);
+char *show_mode(u32 mode, int *xcodec, u16 *chans, u16 *bits);
+void create_dir(u8 *fname);
+void add_extension(u8 *fname, int add, int extract, int add_guess);
+u32 putfile(FILE *fd, int num, u8 *fname);
+void extract_file(FILE *fd, u8 *fname, int freq, u16 chans, u16 bits, u32 len, u8 *moresize_dump, int moresize, int samples);
+void delimit(u8 *data);
+FILE *try_fsbdec(FILE *fd);
+u8 fsbdec(u8 t);
+int fsbdec1(u8 *data, int len, u8 *key, int keyc);
+int fsbdec2(u8 *data, int len, u8 *key, int keyc);
+u32 char_crc(u8 *data);
+
+void read_err(void);
+void write_err(void);
+void std_err(void);
+
+
+
+FILE    *fdreb      = NULL;
+u32     reboff,
+        rebsize;
+int     addhead     = 0,
+        codec       = 0,
+        head_ver    = 0,
+        verbose     = 0,
+        nullfiles   = 0,
+        force_ima   = 0,
+        rebbuffsz   = 0;
+u8      *rebbuff    = NULL;
+
+
+
+int main(int argc, char *argv[]) {
+    FSOUND_FSB_HEADER_FSB1          fh1;
+    FSOUND_FSB_HEADER_FSB2          fh2;
+    FSOUND_FSB_HEADER_FSB3          fh3;
+    FSOUND_FSB_HEADER_FSB4          fh4;
+    FSOUND_FSB_SAMPLE_HEADER_1      fs1;
+    FSOUND_FSB_SAMPLE_HEADER_2      fs2;
+    FSOUND_FSB_SAMPLE_HEADER_3_1    fs31;
+    FSOUND_FSB_SAMPLE_HEADER_BASIC  fsb;
+
+    FILE    *fd,
+            *fdlist         = NULL;
+    u32     nameoff         = 0,
+            fileoff         = 0,
+            size            = 0,
+            samples         = 0;
+    int     i,
+            num,
+            sign,
+            freq            = 44100,
+            head_mode       = 0,
+            list            = 0,
+            rebuild         = 0,
+            moresize_dumpsz = 0;
+    u16     chans           = 1,
+            bits            = 16,
+            moresize        = 0;
+    u8      name[256]       = "",
+            *fname,
+            *rebfile        = NULL,
+            *listfile       = NULL,
+            *folder         = NULL,
+            *mode           = NULL,
+            *moresize_dump  = NULL;
+
+    setbuf(stdout, NULL);
+    setbuf(stderr, NULL);
+
+    fputs("\n"
+        "FSB files extractor "VER"\n"
+        "by Luigi Auriemma\n"
+        "e-mail: aluigi@autistici.org\n"
+        "web:    aluigi.org\n"
+        "\n", stderr);
+
+    if(argc < 2) {
+        printf("\n"
+            "Usage: %s [options] <file.FSB>\n"
+            "\n"
+            "-d DIR   output folder where extracting the files\n"
+            "-l       list files without extracting them\n"
+            "-a       add header to the output files for making them directly playable,\n"
+            "         the extracted files are usually header-less (just as they are in the\n"
+            "         FSB archive) so this option IS very useful and suggested!\n"
+            "-s FILE  binary file containing the information for rebuilding the FSB file\n"
+            "-r       rebuild the original file, in short:\n"
+            "         if you do NOT use -r will be created the binary file with the info\n"
+            "         if you use -r will be read the binary file (-s) and will be created a\n"
+            "         new FSB file (so it becomes the output and not the input)\n"
+            "         Example:   fsbext -s files.dat    input.fsb\n"
+            "                    fsbext -s files.dat -r output.fsb\n"
+            "-v       verbose output, debugging information\n"
+            "-f FILE  dump the list of extracted/listed files in FILE\n"
+            "-A       option available only with -a, gives the ima_adpcm tag (0x0011)\n"
+            "         instead of the xbox adpcm one (0x0069) to the output adpcm files\n"
+            "\n"
+            "NOTE: use EVER an empty folder where placing the extracted files because this\n"
+            "      tool adds a sequential number if a file with same name already exists\n"
+            "      because filenames in FSB archives are truncated at 30 chars.\n"
+            "TIPS: -a option is VERY useful so the extracted files are ready to be played!\n"
+            "\n", argv[0]);
+        exit(1);
+    }
+
+    argc--;
+    for(i = 1; i < argc; i++) {
+        if(((argv[i][0] != '-') && (argv[i][0] != '/')) || (strlen(argv[i]) != 2)) {
+            fprintf(stderr, "\nError: wrong command-line argument (%s)\n\n", argv[i]);
+            exit(1);
+        }
+        switch(argv[i][1]) {
+            case 'd': folder    = argv[++i];    break;
+            case 'l': list      = 1;            break;
+            case 'a': addhead   = 1;            break;
+            case 's': rebfile   = argv[++i];    break;
+            case 'r': rebuild   = 1;            break;
+            case 'f': listfile  = argv[++i];    break;
+            case 'v': verbose   = 1;            break;
+            case 'A': force_ima = 1;            break;
+            default: {
+                fprintf(stderr, "\nError: wrong command-line argument (%s)\n\n", argv[i]);
+                exit(1);
+                }
+        }
+    }
+
+    fname = argv[argc];
+
+    if(rebfile) {
+        if(addhead) {
+            printf("\n"
+                "Error: you can't use the -a and -s options together or you can't rebuild\n"
+                "       the FSB file correctly because the files MUST be all headerless\n"
+                "\n");
+            exit(1);
+        }
+        printf("- reb file:     %s\n", rebfile);
+        fdreb = fopen(rebfile, "rb");
+        if(!rebuild) {
+            if(fdreb) {
+                fclose(fdreb);
+                printf("\n"
+                    "Error: you have selected -s but the output binary file already exists,\n"
+                    "       check if you want to recreate this file and delete it\n");
+                exit(1);
+            }
+            fdreb = fopen(rebfile, "wb");
+        }
+        if(!fdreb) std_err();
+    }
+
+    if(listfile) {
+        fdlist = fopen(listfile, "wb");
+        if(!fdlist) std_err();
+    }
+
+    if(!rebuild) {
+        printf("- input file:   %s\n", fname);
+        fd = fopen(fname, "rb");
+        if(!fd) std_err();
+    } else {
+        if(!fdreb) {
+            printf("\n"
+                "Error: you have selected the rebuild option but you have not specified the\n"
+                "       file with the rebuild information using -s\n");
+            exit(1);
+        }
+
+        printf("- output file:  %s\n", fname);
+        fd = fopen(fname, "rb");
+        if(fd) {
+            fclose(fd);
+            printf("\n"
+                "Error: you have selected the rebuild option but the output FSB file already\n"
+                "       exists, check if you want to recreate this file and delete it\n");
+            exit(1);
+        }
+        fd = fopen(fname, "wb");
+        if(!fd) std_err();
+    }
+
+    if(folder) {
+        printf("- enter folder: %s\n", folder);
+        if(chdir(folder) < 0) std_err();
+    }
+
+    if(rebuild) {
+        i = rebuild_fsb(fd);
+        goto quit;
+    }
+
+    sign = check_sign_endian(fd);
+    if(sign < 0) {
+        fd = try_fsbdec(fd);
+    }
+
+    sign = check_sign_endian(fd);
+    if(sign < 0) {
+        printf("\nError: this tool doesn't support the format \"%.4s\"\n\n", (u8 *)&sign);
+        exit(1);
+    }
+
+    if(sign == '1') {
+        fr_FSOUND_FSB_HEADER_FSB1(fd, &fh1);
+        num       = fh1.numsamples;
+        nameoff   = sizeof(fh1);
+        fileoff   = sizeof(fh1) + (num * sizeof(fs1));
+        head_ver  = 1;
+        head_mode = 0;
+
+    } else if(sign == '2') {
+        fr_FSOUND_FSB_HEADER_FSB2(fd, &fh2);
+        num       = fh2.numsamples;
+        nameoff   = sizeof(fh2);
+        fileoff   = sizeof(fh2) + fh2.shdrsize;
+        head_ver  = 2;
+        head_mode = 0;
+
+    } else if(sign == '3') {
+        fr_FSOUND_FSB_HEADER_FSB3(fd, &fh3);
+        num       = fh3.numsamples;
+        nameoff   = sizeof(fh3);
+        fileoff   = sizeof(fh3) + fh3.shdrsize;
+        head_ver  = 3;
+        head_mode = fh3.mode;
+        printf("- FSB3 version %hu.%hu mode %u\n",
+            (fh3.version >> 16) & 0xffff, fh3.version & 0xffff,
+            fh3.mode);
+
+    } else if(sign == '4') {
+        fr_FSOUND_FSB_HEADER_FSB4(fd, &fh4);
+        num       = fh4.numsamples;
+        nameoff   = sizeof(fh4);
+        fileoff   = sizeof(fh4) + fh4.shdrsize;
+        head_ver  = 4;
+        head_mode = fh4.mode;
+        printf("- FSB4 version %hu.%hu mode %u\n",
+            (fh4.version >> 16) & 0xffff, fh4.version & 0xffff,
+            fh4.mode);
+
+    } else {
+        printf("\nError: this tool doesn't support FSB%c\n\n", sign & 0xff);
+        exit(1);
+    }
+
+    if(head_mode & FSOUND_FSB_SOURCE_BASICHEADERS) {
+        printf("- small sample headers\n");
+    }
+
+    if(verbose) {
+        printf(
+            "- names offset  %08x\n"
+            "- files offset  %08x\n",
+            nameoff, fileoff);
+    }
+
+    printf("\n"
+        "Filename                         Size       Mode frequency channels bits\n"
+        "========================================================================\n");
+
+    for(i = 0; i < num; i++) {
+        memset(name, 0, sizeof(name));  // I need to use it because filenames are truncated!
+
+        if(head_ver == 1) {
+            fr_FSOUND_FSB_SAMPLE_HEADER_1(fd, &fs1);
+            sprintf(name, "%.*s", (int)sizeof(fs1.name), fs1.name);
+            samples  = fs1.lengthsamples;
+            freq     = fs1.deffreq;
+            mode     = show_mode(fs1.mode, &codec, &chans, &bits);  // chans only here?
+            size     = fs1.lengthcompressedbytes;
+
+        } else if(head_ver == 2) {
+            fr_FSOUND_FSB_SAMPLE_HEADER_2(fd, &fs2);
+            MODEZ(fs2)
+
+        } else if(head_ver == 3) {
+            if((head_mode & FSOUND_FSB_SOURCE_BASICHEADERS) && i) {
+                fr_FSOUND_FSB_SAMPLE_HEADER_BASIC(fd, &fsb, moresize);
+                sprintf(name, NULLNAME, i);
+                size     = fsb.lengthcompressedbytes;
+                samples  = fsb.lengthsamples;
+                //freq, chans, mode and moresize are the same of the first file
+            } else {
+                if(fh3.version == FSOUND_FSB_VERSION_3_1) {         // 3.1
+                    fr_FSOUND_FSB_SAMPLE_HEADER_3_1(fd, &fs31);
+                    MODEZ(fs31)
+                } else {                                            // 3.0
+                    fr_FSOUND_FSB_SAMPLE_HEADER_2(fd, &fs2);
+                    MODEZ(fs2)
+                }
+            }
+
+        } else if(head_ver == 4) {
+            if((head_mode & FSOUND_FSB_SOURCE_BASICHEADERS) && i) {
+                fr_FSOUND_FSB_SAMPLE_HEADER_BASIC(fd, &fsb, moresize);
+                sprintf(name, NULLNAME, i);
+                size     = fsb.lengthcompressedbytes;
+                samples  = fsb.lengthsamples;
+                //freq, chans, mode and moresize are the same of the first file
+            } else {
+                fr_FSOUND_FSB_SAMPLE_HEADER_3_1(fd, &fs31);
+                MODEZ(fs31);
+            }
+        }
+
+        if(verbose) printf("  fh->file_offset %08x\n", fileoff);
+        if(moresize) {
+            if(fdreb) { // the rebuild file already contains moresize, so we need to "reload" it now
+                fseek(fd, -moresize, SEEK_CUR);
+            }
+            if(moresize > moresize_dumpsz) {
+                moresize_dumpsz = moresize + 100;
+                moresize_dump = realloc(moresize_dump, moresize_dumpsz);
+                if(!moresize_dump) std_err();
+            }
+            frch(fd, moresize_dump, moresize);
+            //if(fdreb) fwch(fdreb, moresize_dump, moresize);   // moresize is already saved
+            if(verbose) {
+                printf("  fh->moresize    %d:\n", moresize);
+                show_dump(moresize_dump, moresize, stdout);
+                printf("\n");
+            }
+        }
+        nameoff = ftell(fd);
+
+        if(!name[0]) {
+            //sprintf(name, NULLNAME, i);
+            nullfiles++;
+            printf("- NULL file skipped\n");
+            continue;
+        }
+
+        printf(
+            "%-32s %-10u %s %d %hu %hu\n",
+            name, size, mode, freq, chans, bits);
+        if(fdlist) {
+            fprintf(fdlist, "%s\r\n", name);
+        }
+
+        if(!list) {
+            if(fseek(fd, fileoff, SEEK_SET) < 0) std_err();
+            extract_file(fd, name, freq, chans, bits, size, moresize_dump, moresize, samples);
+            fileoff += size;
+            if(fseek(fd, nameoff, SEEK_SET) < 0) std_err();
+        }
+    }
+
+quit:
+    fclose(fd);
+    if(fdreb) fclose(fdreb);
+    if(fdlist) fclose(fdlist);
+    printf("\n- %d files %s\n\n", i - nullfiles, list ? "listed" : "processed");
+    return(0);
+}
+
+
+
+void add_to_reb_file(FILE *fd) {
+    if(!fdreb) return;
+    if(!rebsize) rebsize = ftell(fd) - reboff;
+    REBBUFFCHK
+    fseek(fd, reboff, SEEK_SET);
+    frch(fd, rebbuff, rebsize);
+    fwi32(fdreb, rebsize);              // size of the block
+    fwch(fdreb, rebbuff, rebsize);      // content of the block
+}
+
+
+
+int rebuild_fsb(FILE *fd) {
+    FSOUND_FSB_HEADER_FSB1          *fh1;
+    FSOUND_FSB_HEADER_FSB2          *fh2;
+    FSOUND_FSB_HEADER_FSB3          *fh3;
+    FSOUND_FSB_HEADER_FSB4          *fh4;
+    FSOUND_FSB_SAMPLE_HEADER_1      *fs1;
+    FSOUND_FSB_SAMPLE_HEADER_2      *fs2;
+    FSOUND_FSB_SAMPLE_HEADER_3_1    *fs31;
+    FSOUND_FSB_SAMPLE_HEADER_BASIC  *fsb;
+
+    double  val1,
+            val2,
+            val3;
+    u32     i,
+            j,
+            files,
+            head_off,
+            head_size,
+            real_head_size,
+            data_off,
+            data_size,
+            lengthsamples           = 0,
+            lengthcompressedbytes   = 0,
+            *already_read;
+    int     samename,
+            padding,
+            head_mode   = 0;
+    u8      name[256],
+            zero_padding[16] = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
+            ver;
+
+    fr16 = fri16;
+    fr32 = fri32;
+
+    printf(
+        "- FSB rebuilding\n"
+        "  note that this option is experimental and doesn't work for all the\n"
+        "  versions of FSB files!!!\n");
+
+    rebsize = fr32(fdreb);              // we consider the input file in little endian, I'm lazy and it's the format used in the 99,9% of the files
+    REBBUFFCHK
+    frch(fdreb, rebbuff, rebsize);
+    reboff = ftell(fdreb);
+    fwch(fd, rebbuff, rebsize);
+
+    fh1  = (FSOUND_FSB_HEADER_FSB1 *)rebbuff;
+    fh2  = (FSOUND_FSB_HEADER_FSB2 *)rebbuff;
+    fh3  = (FSOUND_FSB_HEADER_FSB3 *)rebbuff;
+    fh4  = (FSOUND_FSB_HEADER_FSB4 *)rebbuff;
+    fs1  = (FSOUND_FSB_SAMPLE_HEADER_1 *)rebbuff;
+    fs2  = (FSOUND_FSB_SAMPLE_HEADER_2 *)rebbuff;
+    fs31 = (FSOUND_FSB_SAMPLE_HEADER_3_1 *)rebbuff;
+    fsb  = (FSOUND_FSB_SAMPLE_HEADER_BASIC *)rebbuff;
+
+    files  = *(u32 *)(rebbuff + 4);
+    ver    = rebbuff[3];
+
+#define X0(x,y,z)   if(ver == x) {                                              \
+                        printf("- FSB version %c\n", x);                        \
+                        real_head_size = y;                                     \
+                        head_mode      = z;                                     \
+                    }
+#define X1(x,y)     if(ver == x) {                                              \
+                        if((head_mode & FSOUND_FSB_SOURCE_BASICHEADERS) && i) { \
+                            sprintf(name, NULLNAME, i);                         \
+                            lengthsamples         = fsb->lengthsamples;         \
+                            lengthcompressedbytes = fsb->lengthcompressedbytes; \
+                        } else {                                                \
+                            memcpy(name, y->name, sizeof(y->name));             \
+                            lengthsamples         = y->lengthsamples;           \
+                            lengthcompressedbytes = y->lengthcompressedbytes;   \
+                        }                                                       \
+                    }
+#define X2(x,y)     if(ver == x) {                                              \
+                        if((head_mode & FSOUND_FSB_SOURCE_BASICHEADERS) && i) { \
+                            fsb->lengthsamples         = lengthsamples;         \
+                            fsb->lengthcompressedbytes = lengthcompressedbytes; \
+                        } else {                                                \
+                            y->lengthsamples           = lengthsamples;         \
+                            y->lengthcompressedbytes   = lengthcompressedbytes; \
+                        }                                                       \
+                    }
+#define X3(x,y)     if(ver == x) {                                              \
+                        y->datasize = data_size;                                \
+                    }
+
+         X0('1', 0,             0)
+    else X0('2', fh2->shdrsize, 0)
+    else X0('3', fh3->shdrsize, fh3->mode)
+    else X0('4', fh4->shdrsize, fh4->mode)
+    else {
+        printf("\nError: this version of FSB (%c) is not supported yet\n", ver);
+        exit(1);
+    }
+
+    head_off  = ftell(fd);
+    head_size = 0;
+    data_size = 0;
+
+    for(i = 0; i < files; i++) {
+        rebsize = fr32(fdreb);
+        REBBUFFCHK
+        frch(fdreb, rebbuff, rebsize);
+        head_size += rebsize;
+    }
+    if(head_size < real_head_size) head_size = real_head_size;
+
+    data_off = head_off + head_size;
+
+    fseek(fdreb, reboff, SEEK_SET);
+
+    already_read = malloc(files * sizeof(u32));
+    if(!already_read) std_err();
+
+    for(i = 0; i < files; i++) {
+        memset(name, 0, sizeof(name));
+
+        rebsize = fr32(fdreb);
+        REBBUFFCHK
+        frch(fdreb, rebbuff, rebsize);
+
+             X1('1', fs1)
+        else X1('2', fs2)
+        else X1('3', fs31)
+        else X1('4', fs31) // correct
+
+        val1 = lengthsamples;
+        val2 = lengthcompressedbytes;
+        val3 = val1 / val2;
+
+        if(!name[0]) {  // in this case if the file has no filename I handle it normally, putfile returns 0... this is the good way
+            //sprintf(name, NULLNAME, i);
+            nullfiles++;    // null files are something like loops inside the real files, probably used for dynamic music
+            printf("- NULL file skipped\n");
+            //continue;
+        } else {
+            printf("  %s\n", name);
+
+            already_read[i] = char_crc(name);
+            samename = 0;
+            for(j = 0; j < i; j++) {
+                if(already_read[i] == already_read[j]) samename++;
+            }
+            add_extension(name, samename, 0, 1);
+        }
+        fseek(fd, data_off, SEEK_SET);
+        lengthcompressedbytes = putfile(fd, i, name);
+
+        padding = (data_off + lengthcompressedbytes) & 15;
+        if(padding) {
+            padding = 16 - padding;
+            fwch(fd, zero_padding, padding);
+            lengthcompressedbytes += padding;
+        }
+
+        data_off  += lengthcompressedbytes;
+        data_size += lengthcompressedbytes;
+
+        val2          = lengthcompressedbytes;
+        val1          = val2 * val3;
+        lengthsamples = val1;
+
+        if(name[0]) {   // this is the correct way, NULL files will be left as they are
+                 X2('1', fs1)
+            else X2('2', fs2)
+            else X2('3', fs31)
+            else X2('4', fs31) // correct
+        }
+
+        fseek(fd, head_off, SEEK_SET);
+        fwch(fd, rebbuff, rebsize);
+        head_off += rebsize;
+    }
+
+    rewind(fd);
+    rewind(fdreb);
+    rebsize = fr32(fdreb);
+    REBBUFFCHK
+    frch(fdreb, rebbuff, rebsize);
+
+         X3('1', fh1)
+    else X3('2', fh2)
+    else X3('3', fh3)
+    else X3('4', fh4)
+
+    fwch(fd, rebbuff, rebsize);
+    return(files);
+
+#undef X0
+#undef X1
+#undef X2
+#undef X3
+}
+
+
+
+void frch(FILE *fd, u8 *data, int size) {
+    if(fread(data, 1, size, fd) != size) read_err();
+}
+
+
+
+void fwch(FILE *fd, u8 *data, int size) {
+    if(fwrite(data, 1, size, fd) != size) write_err();
+}
+
+
+
+u16 fri16(FILE *fd) {
+    int     t1,
+            t2;
+
+    t1 = fgetc(fd);
+    t2 = fgetc(fd);
+    if((t1 < 0) || (t2 < 0)) read_err();
+    return(t1 | (t2 << 8));
+}
+
+
+
+u16 frb16(FILE *fd) {
+    int     t1,
+            t2;
+
+    t1 = fgetc(fd);
+    t2 = fgetc(fd);
+    if((t1 < 0) || (t2 < 0)) read_err();
+    return(t2 | (t1 << 8));
+}
+
+
+
+u32 fri32(FILE *fd) {
+    int     t1,
+            t2,
+            t3,
+            t4;
+
+    t1 = fgetc(fd);
+    t2 = fgetc(fd);
+    t3 = fgetc(fd);
+    t4 = fgetc(fd);
+    if((t1 < 0) || (t2 < 0) || (t3 < 0) || (t4 < 0)) read_err();
+    return(t1 | (t2 << 8) | (t3 << 16) | (t4 << 24));
+}
+
+
+
+u32 frb32(FILE *fd) {
+    int     t1,
+            t2,
+            t3,
+            t4;
+
+    t1 = fgetc(fd);
+    t2 = fgetc(fd);
+    t3 = fgetc(fd);
+    t4 = fgetc(fd);
+    if((t1 < 0) || (t2 < 0) || (t3 < 0) || (t4 < 0)) read_err();
+    return(t4 | (t3 << 8) | (t2 << 16) | (t1 << 24));
+}
+
+
+
+void fw08(FILE *fd, int num) {
+    if(fputc((num      ) & 0xff, fd) < 0) write_err();
+}
+
+
+
+void fwi16(FILE *fd, int num) {
+    if(fputc((num      ) & 0xff, fd) < 0) write_err();
+    if(fputc((num >>  8) & 0xff, fd) < 0) write_err();
+}
+
+
+
+void fwi32(FILE *fd, int num) {
+    if(fputc((num      ) & 0xff, fd) < 0) write_err();
+    if(fputc((num >>  8) & 0xff, fd) < 0) write_err();
+    if(fputc((num >> 16) & 0xff, fd) < 0) write_err();
+    if(fputc((num >> 24) & 0xff, fd) < 0) write_err();
+}
+
+
+
+void fwb16(FILE *fd, int num) {
+    if(fputc((num >>  8) & 0xff, fd) < 0) write_err();
+    if(fputc((num      ) & 0xff, fd) < 0) write_err();
+}
+
+
+
+void fwb32(FILE *fd, int num) {
+    if(fputc((num >> 24) & 0xff, fd) < 0) write_err();
+    if(fputc((num >> 16) & 0xff, fd) < 0) write_err();
+    if(fputc((num >>  8) & 0xff, fd) < 0) write_err();
+    if(fputc((num      ) & 0xff, fd) < 0) write_err();
+}
+
+
+
+int check_sign_endian(FILE *fd) {
+    u8      sign[4];
+
+    rewind(fd);
+    frch(fd, sign, sizeof(sign));
+    rewind(fd);
+
+    if(
+         (sign[0] == 'F')
+      && (sign[1] == 'S')
+      && (sign[2] == 'B')) {
+        fr16 = fri16;
+        fr32 = fri32;
+        return(sign[3]);
+
+    } else if(
+         (sign[3] == 'F')
+      && (sign[2] == 'S')
+      && (sign[1] == 'B')) {
+        fr16 = frb16;
+        fr32 = frb32;
+        return(sign[0]);
+
+    } else {
+        fr16 = fri16;
+        fr32 = fri32;
+        return(-1);
+    }
+}
+
+
+void fr_FSOUND_FSB_HEADER_FSB1(FILE *fd, FSOUND_FSB_HEADER_FSB1 *fh) {
+    FDREB_INIT
+
+                     frch(fd, fh->id, 4);
+    fh->numsamples = fr32(fd);
+    fh->datasize   = fr32(fd);
+    fh->dunno_null = fr32(fd);
+
+    rebsize = 0;
+    add_to_reb_file(fd);
+
+    if(verbose) {
+        printf("\n"
+            "- %08x fr_FSOUND_FSB_HEADER_FSB1:\n"
+            "  fh->id         %.4s\n"
+            "  fh->numsamples %08x\n"
+            "  fh->datasize   %08x\n"
+            "  fh->dunno_null %08x\n",
+            (u32)(ftell(fd) - sizeof(*fh)),
+            fh->id,
+            fh->numsamples,
+            fh->datasize,
+            fh->dunno_null);
+    }
+}
+
+
+
+void fr_FSOUND_FSB_HEADER_FSB2(FILE *fd, FSOUND_FSB_HEADER_FSB2 *fh) {
+    FDREB_INIT
+
+                     frch(fd, fh->id, 4);
+    fh->numsamples = fr32(fd);
+    fh->shdrsize   = fr32(fd);
+    fh->datasize   = fr32(fd);
+
+    rebsize = 0;
+    add_to_reb_file(fd);
+
+    if(verbose) {
+        printf("\n"
+            "- %08x fr_FSOUND_FSB_HEADER_FSB2:\n"
+            "  fh->id         %.4s\n"
+            "  fh->numsamples %08x\n"
+            "  fh->shdrsize   %08x\n"
+            "  fh->datasize   %08x\n",
+            (u32)(ftell(fd) - sizeof(*fh)),
+            fh->id,
+            fh->numsamples,
+            fh->shdrsize,
+            fh->datasize);
+    }
+}
+
+
+
+void fr_FSOUND_FSB_HEADER_FSB3(FILE *fd, FSOUND_FSB_HEADER_FSB3 *fh) {
+    FDREB_INIT
+
+                     frch(fd, fh->id, 4);
+    fh->numsamples = fr32(fd);
+    fh->shdrsize   = fr32(fd);
+    fh->datasize   = fr32(fd);
+    fh->version    = fr32(fd);
+    fh->mode       = fr32(fd);
+
+    rebsize = 0;
+    add_to_reb_file(fd);
+
+    if(verbose) {
+        printf("\n"
+            "- %08x fr_FSOUND_FSB_HEADER_FSB3:\n"
+            "  fh->id         %.4s\n"
+            "  fh->numsamples %08x\n"
+            "  fh->shdrsize   %08x\n"
+            "  fh->datasize   %08x\n"
+            "  fh->version    %08x\n"
+            "  fh->mode       %08x\n",
+            (u32)(ftell(fd) - sizeof(*fh)),
+            fh->id,
+            fh->numsamples,
+            fh->shdrsize,
+            fh->datasize,
+            fh->version,
+            fh->mode);
+    }
+}
+
+
+
+void fr_FSOUND_FSB_HEADER_FSB4(FILE *fd, FSOUND_FSB_HEADER_FSB4 *fh) {
+    FDREB_INIT
+
+                     frch(fd, fh->id, 4);
+    fh->numsamples = fr32(fd);
+    fh->shdrsize   = fr32(fd);
+    fh->datasize   = fr32(fd);
+    fh->version    = fr32(fd);
+    fh->mode       = fr32(fd);
+                     frch(fd, fh->zero, sizeof(fh->zero));
+                     frch(fd, fh->hash, sizeof(fh->hash));
+
+    rebsize = 0;
+    add_to_reb_file(fd);
+
+    if(verbose) {
+        printf("\n"
+            "- %08x fr_FSOUND_FSB_HEADER_FSB4:\n"
+            "  fh->id         %.4s\n"
+            "  fh->numsamples %08x\n"
+            "  fh->shdrsize   %08x\n"
+            "  fh->datasize   %08x\n"
+            "  fh->version    %08x\n"
+            "  fh->mode       %08x\n",
+            (u32)(ftell(fd) - sizeof(*fh)),
+            fh->id,
+            fh->numsamples,
+            fh->shdrsize,
+            fh->datasize,
+            fh->version,
+            fh->mode);
+    }
+}
+
+
+
+void fr_FSOUND_FSB_SAMPLE_HEADER_1(FILE *fd, FSOUND_FSB_SAMPLE_HEADER_1 *fh) {
+    FDREB_INIT
+
+                                frch(fd, fh->name, sizeof(fh->name));
+    fh->lengthsamples         = fr32(fd);
+    fh->lengthcompressedbytes = fr32(fd);
+    fh->deffreq               = fr32(fd);
+    fh->defpri                = fr16(fd);
+    fh->numchannels           = fr16(fd);
+    fh->defvol                = fr16(fd);
+    fh->defpan                = fr16(fd);
+    fh->mode                  = fr32(fd);
+    fh->loopstart             = fr32(fd);
+    fh->loopend               = fr32(fd);
+
+    rebsize = 0;
+    add_to_reb_file(fd);
+
+    if(verbose) {
+        printf("\n"
+            "- %08x fr_FSOUND_FSB_SAMPLE_HEADER_1:\n"
+            "  fh->name                  %.*s\n"
+            "  fh->lengthsamples         %08x\n"
+            "  fh->lengthcompressedbytes %08x\n"
+            "  fh->deffreq               %08x\n"
+            "  fh->defpri                %04x\n"
+            "  fh->numchannels           %04x\n"
+            "  fh->defvol                %04x\n"
+            "  fh->defpan                %04x\n"
+            "  fh->mode                  %08x\n"
+            "  fh->loopstart             %08x\n"
+            "  fh->loopend               %08x\n",
+            (u32)(ftell(fd) - sizeof(*fh)),
+            (u32)sizeof(fh->name), fh->name,
+            fh->lengthsamples,
+            fh->lengthcompressedbytes,
+            fh->deffreq,
+            fh->defpri,
+            fh->numchannels,
+            fh->defvol,
+            fh->defpan,
+            fh->mode,
+            fh->loopstart,
+            fh->loopend);
+    }
+}
+
+
+
+void fr_FSOUND_FSB_SAMPLE_HEADER_2(FILE *fd, FSOUND_FSB_SAMPLE_HEADER_2 *fh) {
+    FDREB_INIT
+
+    fh->size                  = fr16(fd);
+                                frch(fd, fh->name, sizeof(fh->name));
+    fh->lengthsamples         = fr32(fd);
+    fh->lengthcompressedbytes = fr32(fd);
+    fh->loopstart             = fr32(fd);
+    fh->loopend               = fr32(fd);
+    fh->mode                  = fr32(fd);
+    fh->deffreq               = fr32(fd);
+    fh->defvol                = fr16(fd);
+    fh->defpan                = fr16(fd);
+    fh->defpri                = fr16(fd);
+    fh->numchannels           = fr16(fd);
+
+    rebsize = fh->size;
+    add_to_reb_file(fd);
+
+    if(verbose) {
+        printf("\n"
+            "- %08x fr_FSOUND_FSB_SAMPLE_HEADER_2:\n"
+            "  fh->size                  %04x\n"
+            "  fh->name                  %.*s\n"
+            "  fh->lengthsamples         %08x\n"
+            "  fh->lengthcompressedbytes %08x\n"
+            "  fh->loopstart             %08x\n"
+            "  fh->loopend               %08x\n"
+            "  fh->mode                  %08x\n"
+            "  fh->deffreq               %08x\n"
+            "  fh->defvol                %04x\n"
+            "  fh->defpan                %04x\n"
+            "  fh->defpri                %04x\n"
+            "  fh->numchannels           %04x\n",
+            (u32)(ftell(fd) - sizeof(*fh)),
+            fh->size,
+            (u32)sizeof(fh->name), fh->name,
+            fh->lengthsamples,
+            fh->lengthcompressedbytes,
+            fh->loopstart,
+            fh->loopend,
+            fh->mode,
+            fh->deffreq,
+            fh->defvol,
+            fh->defpan,
+            fh->defpri,
+            fh->numchannels);
+    }
+}
+
+
+
+void fr_FSOUND_FSB_SAMPLE_HEADER_3_1(FILE *fd, FSOUND_FSB_SAMPLE_HEADER_3_1 *fh) {
+    FDREB_INIT
+
+    fh->size                  = fr16(fd);
+                                frch(fd, fh->name, sizeof(fh->name));
+    fh->lengthsamples         = fr32(fd);
+    fh->lengthcompressedbytes = fr32(fd);
+    fh->loopstart             = fr32(fd);
+    fh->loopend               = fr32(fd);
+    fh->mode                  = fr32(fd);
+    fh->deffreq               = fr32(fd);
+    fh->defvol                = fr16(fd);
+    fh->defpan                = fr16(fd);
+    fh->defpri                = fr16(fd);
+    fh->numchannels           = fr16(fd);
+    fh->mindistance           = (F_FLOAT)fr32(fd);
+    fh->maxdistance           = (F_FLOAT)fr32(fd);
+    fh->varfreq               = fr32(fd);
+    fh->varvol                = fr16(fd);
+    fh->varpan                = fr16(fd);
+
+    rebsize = fh->size;
+    add_to_reb_file(fd);
+
+    if(verbose) {
+        printf("\n"
+            "- %08x fr_FSOUND_FSB_SAMPLE_HEADER_3_1:\n"
+            "  fh->size                  %04x\n"
+            "  fh->name                  %.*s\n"
+            "  fh->lengthsamples         %08x\n"
+            "  fh->lengthcompressedbytes %08x\n"
+            "  fh->loopstart             %08x\n"
+            "  fh->loopend               %08x\n"
+            "  fh->mode                  %08x\n"
+            "  fh->deffreq               %08x\n"
+            "  fh->defvol                %04x\n"
+            "  fh->defpan                %04x\n"
+            "  fh->defpri                %04x\n"
+            "  fh->numchannels           %04x\n"
+            "  fh->mindistance           %f\n"
+            "  fh->maxdistance           %f\n"
+            "  fh->varfreq               %08x\n"
+            "  fh->varvol                %04x\n"
+            "  fh->varpan                %04x\n",
+            (u32)(ftell(fd) - sizeof(*fh)),
+            fh->size,
+            (u32)sizeof(fh->name), fh->name,
+            fh->lengthsamples,
+            fh->lengthcompressedbytes,
+            fh->loopstart,
+            fh->loopend,
+            fh->mode,
+            fh->deffreq,
+            fh->defvol,
+            fh->defpan,
+            fh->defpri,
+            fh->numchannels,
+            fh->mindistance,
+            fh->maxdistance,
+            fh->varfreq,
+            fh->varvol,
+            fh->varpan);
+    }
+}
+
+
+
+void fr_FSOUND_FSB_SAMPLE_HEADER_BASIC(FILE *fd, FSOUND_FSB_SAMPLE_HEADER_BASIC *fh, int moresize) {
+    FDREB_INIT
+
+    fh->lengthsamples         = fr32(fd);
+    fh->lengthcompressedbytes = fr32(fd);
+
+    rebsize = sizeof(FSOUND_FSB_SAMPLE_HEADER_BASIC) + moresize;
+    add_to_reb_file(fd);
+
+    if(verbose) {
+        printf("\n"
+            "- %08x fr_FSOUND_FSB_SAMPLE_HEADER_BASIC:\n"
+            "  fh->lengthsamples         %08x\n"
+            "  fh->lengthcompressedbytes %08x\n",
+            (u32)(ftell(fd) - sizeof(*fh)),
+            fh->lengthsamples,
+            fh->lengthcompressedbytes);
+    }
+}
+
+
+
+void pcmwav_header(FILE *fd, int freq, u16 chans, u16 bits, u32 rawlen) {
+    mywav_fmtchunk  fmt;
+
+    fmt.wFormatTag       = 0x0001;
+    fmt.wChannels        = chans;
+    fmt.dwSamplesPerSec  = freq;
+    fmt.wBitsPerSample   = bits;
+    fmt.wBlockAlign      = (fmt.wBitsPerSample / 8) * fmt.wChannels;
+    fmt.dwAvgBytesPerSec = fmt.dwSamplesPerSec * fmt.wBlockAlign;
+    mywav_writehead(fd, &fmt, rawlen, NULL, 0);
+}
+
+
+
+void xbox_ima_header(FILE *fd, int freq, u16 chans, u32 rawlen) {
+    mywav_fmtchunk  fmt;
+
+    fmt.wFormatTag       = force_ima ? 0x0011 : 0x0069;
+    fmt.wChannels        = chans;
+    fmt.dwSamplesPerSec  = freq;
+    fmt.wBitsPerSample   = 4;
+    fmt.wBlockAlign      = 36 * fmt.wChannels;
+    fmt.dwAvgBytesPerSec = (689 * fmt.wBlockAlign) + 4; // boh, not important
+    //fmt.wBlockAlign      = fmt.wBitsPerSample * fmt.wChannels * 9;  // 9???
+    //fmt.dwAvgBytesPerSec = 49612;                                   // 49612???
+    mywav_writehead(fd, &fmt, rawlen, "\x02\x00" "\x40\x00", 4);
+}
+
+
+
+void its_header(FILE *fd, u8 *fname, u16 chans, u16 bits, u32 rawlen) {
+    u8      flags;
+
+    /* note that doesn't seem possible to know if the sample has been encoded with 2.14 or 2.15 */
+    flags = 1 | 8;  // 8 for compression
+    if(bits == 16)  flags |= 2;
+    if(chans == 2)  flags |= 4;
+
+    fwch(fd, "IMPS", 4);        // DWORD id
+    fwch(fd, fname, 12);        // CHAR filename[12]
+    fw08(fd,  0);               // BYTE zero
+    fw08(fd,  128);             // BYTE gvl
+    fw08(fd,  0);               // BYTE flags
+    fw08(fd,  64);              // BYTE vol
+    fwch(fd, fname, 26);        // CHAR name[26]
+    fw08(fd,  0xff);            // BYTE cvt
+    fw08(fd,  0x7f);            // BYTE dfp
+    fwi32(fd, rawlen);          // DWORD length
+    fwi32(fd, 0);               // DWORD loopbegin
+    fwi32(fd, 0);               // DWORD loopend
+    fwi32(fd, 8363);            // DWORD C5Speed
+    fwi32(fd, 0);               // DWORD susloopbegin
+    fwi32(fd, 0);               // DWORD susloopend
+    fwi32(fd, 0);               // DWORD samplepointer
+    fw08(fd,  0);               // BYTE vis
+    fw08(fd,  0);               // BYTE vid
+    fw08(fd,  0);               // BYTE vir
+    fw08(fd,  0);               // BYTE vit
+}
+
+
+
+void genh_header(FILE *fd, int freq, u16 chans, u32 rawlen, u8 *coeff, int coeffsz) {
+    static const int    genhsz  = 0x80; // in case of future additions to the format
+    int     i,
+            j;
+
+    fwb32(fd, 0x47454e48);              // 0    magic
+    fwi32(fd, chans);                   // 4    channel_count
+    fwi32(fd, 2);                       // 8    interleave
+    fwi32(fd, freq);                    // c    sample_rate
+    fwi32(fd, 0xffffffff);              // 10   loop_start
+    fwi32(fd, ((rawlen*14)/8)/chans);   // 14   loop_end
+    fwi32(fd, 12);                      // 18   codec
+    fwi32(fd, genhsz + (chans * 32));   // 1c   start_offset
+    fwi32(fd, genhsz + (chans * 32));   // 20   header_size
+    fwi32(fd, genhsz);                  // 24   coef[0]
+    fwi32(fd, genhsz + 32);             // 28   coef[1]
+    fwi32(fd, 1);                       // 2c   dsp_interleave_type
+    fwi32(fd, 0);                       // 30   coef_type
+    fwi32(fd, genhsz);                  // 34   coef_splitted[0]
+    fwi32(fd, genhsz + 32);             // 38   coef_splitted[1]
+    for(i = ftell(fd); i < genhsz; i++) fputc(0, fd);
+    for(i = 0; i < chans; i++) {
+        if(coeff && (coeffsz >= 0x2e)) {
+            fwch(fd, coeff, 32);
+            coeff   += 0x2e;
+            coeffsz -= 0x2e;
+        } else {
+            for(j = 0; j < 16; j++) fwi16(fd, 0);
+        }
+    }
+}
+
+
+
+void brstm_header(FILE *fd, int freq, u16 chans, u32 rawlen, u8 *coeff, int coeffsz) {
+    int     i,
+            j;
+
+    fwb32(fd, 0x5253544D);          // RSTM
+    fwb32(fd, 0xFEFF0100);
+    fwb32(fd, 0x40 + 0x80 + (chans * 0x38) + 0x10 + 0x20 + rawlen);
+    fwb16(fd, 0);
+    fwb16(fd, 0);
+    fwb32(fd, 0x40);                // head offset
+    fwb32(fd, 0x80 + (chans * 0x38) + 0x10);   // head length
+    fwb32(fd, 0);                   // ADPC offset
+    fwb32(fd, 0);                   // ADPC size
+    fwb32(fd, 0x40 + 0x80 + (chans * 0x38) + 0x10); // DATA offset
+    fwb32(fd, 0x20 + rawlen);       // DATA size
+    for(i = 0; i < 0x18; i++) fw08(fd, 0);
+    fwb32(fd, 0x48454144);          // HEAD
+    for(i = 0; i < 12; i++) fw08(fd, 0);
+    fwb32(fd, 0);
+    fwb32(fd, 0);
+    fwb32(fd, 0);
+    fwb32(fd, 0x5c);                // coef_offset1
+    fw08(fd,  2);                   // codec
+    fw08(fd,  0);
+    fw08(fd,  chans);
+    fw08(fd,  0);
+    fwb16(fd, freq);
+    fwb16(fd, 0);
+    fwb32(fd, 0);                   // loop start
+    fwb32(fd, ((rawlen*14)/8)/chans);   // num_samples
+    fwb32(fd, 0x40 + 0x80 + (chans * 0x38) + 0x10 + 0x20);
+    fwb32(fd, 0);
+    fwb32(fd, 0x2000);              // interleave block size, brstm are not good because there is no support for byte_interleaving!
+    for(i = 0; i < 12; i++) fw08(fd, 0);
+    fwb32(fd, 0x2000);              // interleave small block size
+    for(i = 0; i < 32; i++) fw08(fd, 0);
+    fwb32(fd, 0x70);                // coef_offset2
+    for(i = 0; i < 16; i++) fw08(fd, 0);
+    for(i = 0; i < chans; i++) {
+        if(coeff && (coeffsz >= 0x2e)) {
+            fwch(fd, coeff, 0x2e);
+            coeff   += 0x2e;
+            coeffsz -= 0x2e;
+        } else {
+            for(j = 0; j < 0x2e; j++) fw08(fd, 0);
+        }
+        fwb32(fd, 0);
+        fwb32(fd, 0);
+        fwb16(fd, 0);
+    }
+    for(i = 0; i < 16; i++) fw08(fd, 0);
+    fwb32(fd, 0x44415441);
+    fwb32(fd, ((rawlen*14)/8)/chans);
+    fwb32(fd, 0x18);
+    fwb32(fd, 0);
+    for(i = 0; i < 16; i++) fw08(fd, 0);
+}
+
+
+
+void adx_header(FILE *fd, int freq, u16 chans, u32 rawlen) {
+    fwb16(fd, 0x8000);  // 0x8000
+    fwb16(fd, 0x1a);    // copyright offset
+    fw08(fd,  3);       // encoding type
+    fw08(fd,  18);      // block size
+    fw08(fd,  4);       // sample bitdepth
+    fw08(fd,  chans);   // channel count
+    fwb32(fd, freq);    // sample rate
+    fwb32(fd, ((rawlen*32)/18)/chans);  // total samples
+    fwb16(fd, 500);     // highpass frequency
+    fw08(fd,  0x03);    // version
+    fw08(fd,  0x00);    // flags
+    fwb32(fd, 0);       // unknown
+    fwch(fd, "(c)CRI", 6);
+}
+
+
+
+void ss2_header(FILE *fd, int freq, u16 chans, u32 rawlen) {
+    fwb32(fd, 0x53536864);
+    fwi32(fd, 0x18);
+    fwi32(fd, 0x10);
+    fwi32(fd, freq);
+    fwi32(fd, chans);
+    fwi32(fd, rawlen / chans);  // seems to be the correct interleave value
+    fwi32(fd, 0);
+    fwi32(fd, 0xffffffff);
+    fwb32(fd, 0x53536264);
+    fwi32(fd, rawlen);
+}
+
+
+
+void vag_header(FILE *fd, u8 *fname, int freq, u32 rawlen) {
+    int     i;
+
+    fwch(fd, "VAGp", 4);
+    fwb32(fd, 32);
+    fwb32(fd, 0);
+    fwb32(fd, rawlen);
+    fwb32(fd, freq);
+    for(i = 0; i < 12; i++) fputc(0, fd);
+    fwch(fd, fname, 16);
+    for(i = 0; i < 16; i++) fputc(0, fd);
+}
+
+
+
+char *show_mode(u32 mode, int *xcodec, u16 *xchans, u16 *xbits) {
+    static char m[300];
+
+    m[0] = 0;
+    if(mode & FSOUND_LOOP_OFF)      strcat(m, "noloop,");
+    if(mode & FSOUND_LOOP_NORMAL)   strcat(m, "loop,");
+    if(mode & FSOUND_LOOP_BIDI)     strcat(m, "biloop,");
+    if(mode & FSOUND_8BITS)         strcat(m, "8,");
+    if(mode & FSOUND_16BITS)        strcat(m, "16,");
+    if(mode & FSOUND_MONO)          strcat(m, "mono,");
+    if(mode & FSOUND_STEREO)        strcat(m, "stereo,");
+    if(mode & FSOUND_UNSIGNED)      strcat(m, "unsign,");
+    if(mode & FSOUND_SIGNED)        strcat(m, "sign,");
+    if(mode & FSOUND_DELTA)         strcat(m, "delta,");
+    if(mode & FSOUND_IT214)         strcat(m, "IT_2.14,");
+    if(mode & FSOUND_IT215)         strcat(m, "IT_2.15,");
+    if(mode & FSOUND_HW3D)          strcat(m, "hw3d,");
+    if(mode & FSOUND_2D)            strcat(m, "2d,");
+    if(mode & FSOUND_STREAMABLE)    strcat(m, "stream,");
+    if(mode & FSOUND_LOADMEMORY)    strcat(m, "memory,");
+    if(mode & FSOUND_LOADRAW)       strcat(m, "raw,");
+    if(mode & FSOUND_MPEGACCURATE)  strcat(m, "acc_mpeg,");
+    if(mode & FSOUND_FORCEMONO)     strcat(m, "force_mono,");
+    if(mode & FSOUND_HW2D)          strcat(m, "hw2d,");
+    if(mode & FSOUND_ENABLEFX)      strcat(m, "effects,");
+    if(mode & FSOUND_MPEGHALFRATE)  strcat(m, "half_mpeg,");
+    if(mode & FSOUND_IMAADPCM)      strcat(m, "ima_adpcm,");
+    if(mode & FSOUND_VAG)           strcat(m, "vag,");
+    //if(mode & FSOUND_NONBLOCKING)   strcat(m, "non_block,");
+    if(mode & FSOUND_XMA)           strcat(m, "xma,");
+    if(mode & FSOUND_GCADPCM)       strcat(m, "GC_adpcm,");
+    if(mode & FSOUND_MULTICHANNEL)  strcat(m, "multichan,");
+    if(mode & FSOUND_USECORE0)      strcat(m, "00-23,");
+    if(mode & FSOUND_USECORE1)      strcat(m, "24-47,");
+    if(mode & FSOUND_LOADMEMORYIOP) strcat(m, "memory,");
+    if(mode & FSOUND_IGNORETAGS)    strcat(m, "notags,");
+    if(mode & FSOUND_STREAM_NET)    strcat(m, "netstream,");
+    // if(mode & FSOUND_NORMAL)        strcat(m, "normal,");
+    if(m[0]) m[strlen(m) - 1] = 0;
+
+    if(xcodec) {
+        *xcodec = 0;
+        if(mode & FSOUND_DELTA)     *xcodec = FSOUND_DELTA;
+        if(mode & FSOUND_IT214)     *xcodec = FSOUND_IT214;
+        if(mode & FSOUND_IT215)     *xcodec = FSOUND_IT215;
+        if(mode & FSOUND_IMAADPCM)  *xcodec = FSOUND_IMAADPCM;
+        if(mode & FSOUND_VAG)       *xcodec = FSOUND_VAG;
+        if(mode & FSOUND_GCADPCM)   *xcodec = FSOUND_GCADPCM;
+        if(mode & FSOUND_XMA)       *xcodec = FSOUND_XMA;
+    }
+    if(xchans) {
+        *xchans = 1;
+        if(mode & FSOUND_MONO)      *xchans = 1;
+        if(mode & FSOUND_STEREO)    *xchans = 2;
+    }
+    if(xbits) {
+        *xbits = 16;
+        if(mode & FSOUND_8BITS)     *xbits = 8;
+        if(mode & FSOUND_16BITS)    *xbits = 16;
+    }
+    return(m);
+}
+
+
+
+void create_dir(u8 *fname) {
+    u8      *p,
+            *l;
+
+    p = strchr(fname, ':');
+    if(p) *p = '_';
+    for(p = fname; *p && ((*p == '\\') || (*p == '/')); p++) *p = '_';
+
+    for(p = fname; ; p = l + 1) {
+        for(l = p; *l && (*l != '\\') && (*l != '/'); l++);
+        if(!*l) break;
+        *l = 0;
+
+        if(!strncmp(p, "..", 2)) memcpy(p, "__", 2);
+
+        make_dir(fname);
+        *l = PATHSLASH;
+    }
+}
+
+
+
+void tmp_extension(u8 *fname, u8 *ext) {
+    u8      *wavext;
+
+    wavext = strrchr(fname, '.');
+    if(!wavext || (wavext && (strlen(wavext + 1) > 3))) {
+        memmove(fname + strlen(fname), ext, strlen(ext) + 1);   // don't touch memmove!
+    } else if(wavext && (strlen(wavext + 1) < 3)) {
+        memmove(wavext, ext, strlen(ext) + 1);                  // don't touch memmove!
+    }
+}
+
+
+
+void put_extension(u8 *fname, u8 *ext) {
+    u8      *wavext;
+
+    wavext = strrchr(fname, '.');
+    if(wavext) strcpy(wavext + 1, ext);
+}
+
+
+
+int mylencmp(u8 *str1, u8 *str2) {
+    int     equal;
+
+    if(strlen(str1) > strlen(str2)) return(0);
+
+    for(equal = 0; *str1; str1++, str2++) {
+        if(tolower(*str1) != tolower(*str2)) break;
+        equal++;
+    }
+    return(equal);
+}
+
+
+
+void experimental_extension_guessing(u8 *fname, u8 *oldext, u8 *end) {
+    int     ext_wav = 0,
+            ext_wma = 0,
+            ext_xma = 0,
+            ext_vag = 0,
+            ext_mp3 = 0,
+            ext_ogg = 0,
+            maxnamelen = FSOUND_FSB_NAMELEN;
+    u8      *wavext;
+
+    if(head_ver == 1) maxnamelen = 32;
+    if((end - fname) < maxnamelen) return;
+
+    wavext = strrchr(fname, '.');
+    if(wavext) {
+        wavext++;
+        if(strlen(wavext) <= 3) strcpy(oldext, wavext - 1);
+        if((end - fname) < maxnamelen) return;
+
+        ext_wav = mylencmp(wavext, "wav");
+        ext_wma = mylencmp(wavext, "wma");
+        ext_xma = mylencmp(wavext, "xma");
+        ext_vag = mylencmp(wavext, "vag");
+        ext_mp3 = mylencmp(wavext, "mp3");
+        ext_ogg = mylencmp(wavext, "ogg");
+        // these are enough for the moment
+    }
+
+         if(ext_wav) strcpy(oldext, ".wav");
+    else if(ext_wma) strcpy(oldext, ".wma");
+    else if(ext_xma) strcpy(oldext, ".xma");
+    else if(ext_vag) strcpy(oldext, ".vag");
+    else if(ext_mp3) strcpy(oldext, ".mp3");
+    else if(ext_ogg) strcpy(oldext, ".ogg");
+    else if(!oldext[0] || !wavext[0]) strcpy(oldext, ".wav");
+}
+
+
+
+void add_extension(u8 *fname, int add, int extract, int add_guess) {
+    struct stat xstat;
+    int     i;
+    u8      oldext_buff[8],
+            *oldext,
+            *end;
+
+    end = fname + strlen(fname);
+
+    if(add) sprintf(end, "_%u", add);
+
+    oldext = oldext_buff;
+    oldext[0] = 0;
+    experimental_extension_guessing(fname, oldext, end);
+    if(add_guess && oldext[0]) {
+        tmp_extension(fname, oldext);
+    } else {
+        oldext = strrchr(fname, '.');
+        if(oldext) {
+            sprintf(oldext_buff, "%.*s", (u32)sizeof(oldext_buff), oldext);
+            end    = oldext;
+            oldext = oldext_buff;
+        } else {
+            oldext = oldext_buff;
+        }
+    }
+
+    if(!extract) return;
+
+    for(i = (add ? add : 1); !stat(fname, &xstat); i++) {
+        sprintf(end, "_%u", i);
+        tmp_extension(fname, oldext);
+    }
+}
+
+
+
+u32 putfile(FILE *fd, int num, u8 *fname) {
+    FILE    *fdi;
+    u32     size;
+    int     t;
+    u8      buff[4096];
+
+    if(!fname[0]) {
+        //sprintf(fname, NULLNAME, num);
+        return(0);
+    }
+    fdi = fopen(fname, "rb");
+    if(!fdi) {
+        printf("- open file \"%s\"\n", fname);
+        std_err();
+    }
+
+    for(size = 0; (t = fread(buff, 1, sizeof(buff), fdi)); size += t) {
+        fwch(fd, buff, t);
+    }
+
+    fclose(fdi);
+    return(size);
+}
+
+
+
+void extract_file(FILE *fd, u8 *fname, int freq, u16 chans, u16 bits, u32 len, u8 *moresize_dump, int moresize, int samples) {
+    FILE    *fdo;
+    int     t,
+            n;
+    u8      buff[4096];
+
+    create_dir(fname);  // most for security
+
+    add_extension(fname, 0, 1, 1);
+    if(addhead) {       // force the right extension, I think it's a good idea
+             if(codec & FSOUND_DELTA)       put_extension(fname, "mp3");
+        else if(codec & FSOUND_IT214)       put_extension(fname, "it");
+        else if(codec & FSOUND_IT215)       put_extension(fname, "it");
+        else if(codec & FSOUND_IMAADPCM)    put_extension(fname, "wav");
+        else if(codec & FSOUND_VAG)         put_extension(fname, "ss2");
+        else if(codec & FSOUND_GCADPCM)     put_extension(fname, "genh");
+        else if(codec & FSOUND_XMA)         put_extension(fname, "xma");
+        else                                put_extension(fname, "wav");
+    }
+    add_extension(fname, 0, 1, 0);
+
+    fdo = fopen(fname, "wb");
+    if(!fdo) std_err();
+
+    if(!chans) chans = 1;   // useless, should never happen
+
+    if(addhead) {
+             if(codec & FSOUND_DELTA)       /* mp3 files have no header */;
+        else if(codec & FSOUND_IT214)       its_header(fdo, fname, chans, bits, len);
+        else if(codec & FSOUND_IT215)       its_header(fdo, fname, chans, bits, len);
+        else if(codec & FSOUND_IMAADPCM)    xbox_ima_header(fdo, freq, chans, len);
+        else if(codec & FSOUND_VAG)         ss2_header(fdo, freq, chans, len);
+        else if(codec & FSOUND_GCADPCM)     genh_header(fdo, freq, chans, len, moresize_dump, moresize);
+        else if(codec & FSOUND_XMA)         xma2_header(fdo, freq, chans, bits, len, moresize_dump, moresize, samples);
+        else                                pcmwav_header(fdo, freq, chans, bits, len);
+    }
+
+    for(t = sizeof(buff); len; len -= t) {
+        if(t > len) t = len;
+        n = fread(buff, 1, t, fd);
+        fwch(fdo, buff, n);
+        if(n != t) {
+            printf("\n- Alert: the extracted file is incomplete! I continue\n");
+            break;
+        }
+    }
+
+    fclose(fdo);
+}
+
+
+
+void delimit(u8 *data) {
+    while(*data && (*data != '\n') && (*data != '\r')) data++;
+    *data = 0;
+}
+
+
+
+void xor(u8 *data, int len, u8 *key) {
+    int     i;
+    u8      *k;
+
+    k = key;
+    for(i = 0; i < len; i++) {
+        if(!*k) k = key;
+        data[i] ^= *k;
+        k++;
+    }
+}
+
+
+
+FILE *try_fsbdec(FILE *fd) {
+    FILE    *fdo;
+    int     len,
+            keyc,
+            enc_type;
+    u8      buff[256],
+            key[256];
+
+    for(;;) {
+        rewind(fd);
+
+        printf(
+            "- probably the file uses encryption, insert the needed keyword:\n"
+            "  type ? for viewing the hex dump of the first %d bytes of the file because\n"
+            "  it's possible to see part of the plain-text password in the encrypted file!\n"
+            "  ", HEXSIZE);
+        if (!fgets(key, sizeof(key), stdin)) exit(1);
+        delimit(key);
+        if(strcmp(key, "?")) break;
+
+        printf("- encryption type 1\n");
+        len = fread(buff, 1, HEXSIZE, fd);
+        show_dump(buff, len, stdout);
+        fputc('\n', stdout);
+
+        printf("- encryption type 2\n");
+        fsbdec2(buff, len, "", 0);
+        xor(buff, 4, "FSB4");
+        show_dump(buff, len, stdout);
+        fputc('\n', stdout);
+    }
+
+    for(enc_type = 0;; enc_type++) {
+        len = fread(buff, 1, 3, fd);
+        rewind(fd);
+        switch(enc_type) {
+            case 0: fsbdec1(buff, len, key, 0); break;
+            case 1: fsbdec2(buff, len, key, 0); break;
+            default: {
+                printf("\nError: your password seems wrong\n");
+                exit(1);
+            } break;
+        }
+        if(!memcmp(buff, "FSB", 3)) break;
+    }
+    printf("- use encryption type %d\n", enc_type);
+
+    fdo  = tmpfile();
+    keyc = 0;
+    while((len = fread(buff, 1, sizeof(buff), fd))) {
+        switch(enc_type) {
+            case 0: keyc = fsbdec1(buff, len, key, keyc);   break;
+            case 1: keyc = fsbdec2(buff, len, key, keyc);   break;
+            default: {
+                printf("\nError: unknown encryption type\n");
+                exit(1);
+            } break;
+        }
+        fwch(fdo, buff, len);
+    }
+    fclose(fd);
+    fd = fdo;
+    fflush(fd);
+    return(fd);
+}
+
+
+
+u8 fsbdec(u8 t) {
+    return((((((((t & 64) | (t >> 2)) >> 2) | (t & 32)) >> 2) | (t & 16)) >> 1) |
+           (((((((t &  2) | (t << 2)) << 2) | (t &  4)) << 2) | (t &  8)) << 1));
+}
+
+
+
+int fsbdec1(u8 *data, int len, u8 *key, int keyc) {
+    u8      *k;
+
+    for(k = key + keyc; len--; data++) {
+        if(!*k) k = key;
+        *data = fsbdec(*data ^ *k);
+        if(*k) k++;
+    }
+
+    return(k - key);
+}
+
+
+
+int fsbdec2(u8 *data, int len, u8 *key, int keyc) {
+    u8      *k;
+
+    for(k = key + keyc; len--; data++) {
+        if(!*k) k = key;
+        *data = fsbdec(*data) ^ *k;
+        if(*k) k++;
+    }
+
+    return(k - key);
+}
+
+
+
+u32 char_crc(u8 *data) {
+    static const u32   crctable[] = {
+        0x00000000, 0x77073096, 0xee0e612c, 0x990951ba,
+        0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
+        0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
+        0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
+        0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
+        0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
+        0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec,
+        0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5,
+        0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
+        0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
+        0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940,
+        0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
+        0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116,
+        0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f,
+        0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
+        0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d,
+        0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a,
+        0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
+        0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818,
+        0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
+        0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
+        0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
+        0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c,
+        0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
+        0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
+        0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
+        0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
+        0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
+        0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086,
+        0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
+        0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4,
+        0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
+        0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
+        0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
+        0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
+        0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
+        0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe,
+        0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
+        0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
+        0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
+        0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252,
+        0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
+        0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60,
+        0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
+        0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
+        0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
+        0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04,
+        0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
+        0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a,
+        0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
+        0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
+        0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
+        0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e,
+        0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
+        0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
+        0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
+        0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
+        0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
+        0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0,
+        0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
+        0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6,
+        0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
+        0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
+        0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d };
+    u32     crc;
+
+    for(crc = 0xffffffff; *data; data++) {
+        crc = crctable[tolower(*data) ^ (crc & 0xff)] ^ (crc >> 8);
+    }
+    return(~crc);
+}
+
+
+
+void read_err(void) {
+    fprintf(stderr, "\nError: the file contains unexpected data\n\n");
+    exit(1);
+}
+
+
+
+void write_err(void) {
+    fprintf(stderr, "\nError: impossible to write the output file, probably your disk space is finished\n\n");
+    exit(1);
+}
+
+
+
+void std_err(void) {
+    perror("\nError");
+    exit(1);
+}
+
+
diff --git a/tools/gh_fsb/mywav.h b/tools/gh_fsb/mywav.h
new file mode 100644 (file)
index 0000000..f3f497e
--- /dev/null
@@ -0,0 +1,244 @@
+/*
+  MyWAV 0.1.1
+  by Luigi Auriemma
+  e-mail: aluigi@autistici.org
+  web:    aluigi.org
+
+    Copyright 2005,2006 Luigi Auriemma
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+    http://www.gnu.org/licenses/gpl.txt
+*/
+
+#include <string.h>
+#include <stdint.h>
+
+
+
+/*
+the functions return ever 0 if success, other values (-1) if error
+note that these functions have been written with compatibility in mind
+so don't worry if you see useless instructions
+*/
+
+
+
+typedef struct {
+    uint8_t     id[4];
+    uint32_t    size;
+} mywav_chunk;
+
+typedef struct {
+    int16_t     wFormatTag;
+    uint16_t    wChannels;
+    uint32_t    dwSamplesPerSec;
+    uint32_t    dwAvgBytesPerSec;
+    uint16_t    wBlockAlign;
+    uint16_t    wBitsPerSample;
+} mywav_fmtchunk;
+
+
+
+    /* FILE WRITING */
+
+    // 8 bit
+int mywav_fwi08(FILE *fd, int num) {
+    if(fputc((num      ) & 0xff, fd) < 0) return(-1);
+    return(0);
+}
+
+
+
+    // 16 bit
+int mywav_fwi16(FILE *fd, int num) {
+    if(fputc((num      ) & 0xff, fd) < 0) return(-1);
+    if(fputc((num >>  8) & 0xff, fd) < 0) return(-1);
+    return(0);
+}
+
+
+
+    // 32 bit
+int mywav_fwi32(FILE *fd, int num) {
+    if(fputc((num      ) & 0xff, fd) < 0) return(-1);
+    if(fputc((num >>  8) & 0xff, fd) < 0) return(-1);
+    if(fputc((num >> 16) & 0xff, fd) < 0) return(-1);
+    if(fputc((num >> 24) & 0xff, fd) < 0) return(-1);
+    return(0);
+}
+
+
+
+    // data
+int mywav_fwmem(FILE *fd, uint8_t *mem, int size) {
+    if(size) {
+        if(fwrite(mem, size, 1, fd) != 1) return(-1);
+    }
+    return(0);
+}
+
+
+
+    // chunk
+int mywav_fwchunk(FILE *fd, mywav_chunk *chunk) {
+    if(mywav_fwmem(fd, chunk->id, 4)) return(-1);
+    if(mywav_fwi32(fd, chunk->size))  return(-1);
+    return(0);
+}
+
+
+
+  // fmtchunk
+int mywav_fwfmtchunk(FILE *fd, mywav_fmtchunk *fmtchunk) {
+    if(mywav_fwi16(fd, fmtchunk->wFormatTag))       return(-1);
+    if(mywav_fwi16(fd, fmtchunk->wChannels))        return(-1);
+    if(mywav_fwi32(fd, fmtchunk->dwSamplesPerSec))  return(-1);
+    if(mywav_fwi32(fd, fmtchunk->dwAvgBytesPerSec)) return(-1);
+    if(mywav_fwi16(fd, fmtchunk->wBlockAlign))      return(-1);
+    if(mywav_fwi16(fd, fmtchunk->wBitsPerSample))   return(-1);
+    return(0);
+}
+
+
+
+    /* FILE READING */
+
+    // 8 bit
+int mywav_fri08(FILE *fd, uint8_t *num) {
+    if(fread(num, 1, 1, fd) != 1)  return(-1);
+    return(0);
+}
+
+
+
+    // 16 bit
+int mywav_fri16(FILE *fd, uint16_t *num) {
+    uint16_t    ret;
+    uint8_t     tmp;
+
+    if(fread(&tmp, 1, 1, fd) != 1) return(-1);  ret = tmp;
+    if(fread(&tmp, 1, 1, fd) != 1) return(-1);  ret |= (tmp << 8);
+    *num = ret;
+    return(0);
+}
+
+
+
+    // 32 bit
+int mywav_fri32(FILE *fd, uint32_t *num) {
+    uint32_t    ret;
+    uint8_t     tmp;
+
+    if(fread(&tmp, 1, 1, fd) != 1) return(-1);  ret = tmp;
+    if(fread(&tmp, 1, 1, fd) != 1) return(-1);  ret |= (tmp << 8);
+    if(fread(&tmp, 1, 1, fd) != 1) return(-1);  ret |= (tmp << 16);
+    if(fread(&tmp, 1, 1, fd) != 1) return(-1);  ret |= (tmp << 24);
+    *num = ret;
+    return(0);
+}
+
+
+
+    // data
+int mywav_frmem(FILE *fd, uint8_t *mem, int size) {
+    if(size) {
+        if(fread(mem, size, 1, fd) != 1) return(-1);
+    }
+    return(0);
+}
+
+
+
+    // chunk
+int mywav_frchunk(FILE *fd, mywav_chunk *chunk) {
+    if(mywav_frmem(fd, (void *)&chunk->id, 4)) return(-1);
+    if(mywav_fri32(fd, (void *)&chunk->size))  return(-1);
+    return(0);
+}
+
+
+
+  // fmtchunk
+int mywav_frfmtchunk(FILE *fd, mywav_fmtchunk *fmtchunk) {
+    if(mywav_fri16(fd, (void *)&fmtchunk->wFormatTag))       return(-1);
+    if(mywav_fri16(fd, (void *)&fmtchunk->wChannels))        return(-1);
+    if(mywav_fri32(fd, (void *)&fmtchunk->dwSamplesPerSec))  return(-1);
+    if(mywav_fri32(fd, (void *)&fmtchunk->dwAvgBytesPerSec)) return(-1);
+    if(mywav_fri16(fd, (void *)&fmtchunk->wBlockAlign))      return(-1);
+    if(mywav_fri16(fd, (void *)&fmtchunk->wBitsPerSample))   return(-1);
+    return(0);
+}
+
+
+    /* MYWAV MAIN FUNCTIONS */
+
+int mywav_seekchunk(FILE *fd, uint8_t *find) {
+    mywav_chunk chunk;
+
+    if(fseek(fd, sizeof(mywav_chunk) + 4, SEEK_SET) < 0) return(-1);
+
+    while(!mywav_frchunk(fd, &chunk)) {
+        if(!memcmp(chunk.id, find, 4)) return(chunk.size);
+        if(fseek(fd, chunk.size, SEEK_CUR) < 0) break;
+    }
+    return(-1);
+}
+
+
+
+int mywav_data(FILE *fd, mywav_fmtchunk *fmt) {
+    mywav_chunk chunk;
+    uint8_t     type[4];
+
+    if(mywav_frchunk(fd, &chunk)   < 0) return(-1);
+    if(mywav_frmem(fd, type, 4)    < 0) return(-1);
+    if(memcmp(type, "WAVE", 4))         return(-1);
+
+    if(mywav_seekchunk(fd, "fmt ") < 0) return(-1);
+    if(mywav_frfmtchunk(fd, fmt)   < 0) return(-1);
+
+    return(mywav_seekchunk(fd, "data"));
+}
+
+
+
+int mywav_writehead(FILE *fd, mywav_fmtchunk *fmt, uint32_t data_size, uint8_t *more, int morelen) {
+    mywav_chunk chunk;
+
+    memcpy(chunk.id, "RIFF", 4);
+    chunk.size =
+        4                      +
+        sizeof(mywav_chunk)    +
+        sizeof(mywav_fmtchunk) +
+        morelen                +
+        sizeof(mywav_chunk)    +
+        data_size;
+
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    if(mywav_fwmem(fd, "WAVE", 4)     < 0) return(-1);
+
+    memcpy(chunk.id, "fmt ", 4);
+    chunk.size = sizeof(mywav_fmtchunk) + morelen;
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    if(mywav_fwfmtchunk(fd, fmt)      < 0) return(-1);
+    if(mywav_fwmem(fd, more, morelen) < 0) return(-1);
+
+    memcpy(chunk.id, "data", 4);
+    chunk.size = data_size;
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    return(0);
+}
+
diff --git a/tools/gh_fsb/show_dump.h b/tools/gh_fsb/show_dump.h
new file mode 100644 (file)
index 0000000..4336c6d
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+
+Show_dump 0.1.1a
+
+    Copyright 2004,2005,2006 Luigi Auriemma
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+    http://www.gnu.org/licenses/gpl.txt
+
+This function, optimized for performace, shows the hex dump of a buffer and
+places it in a stream
+
+Usage:
+        show_dump(buffer, buffer_length, stdout);
+        show_dump(buffer, buffer_length, fd);
+*/
+
+#include <string.h>
+
+
+
+void show_dump(unsigned char *data, unsigned int len, FILE *stream) {
+    const static char       hex[] = "0123456789abcdef";
+    static unsigned char    buff[67];   /* HEX  CHAR\n */
+    unsigned char           chr,
+                            *bytes,
+                            *p,
+                            *limit,
+                            *glimit = data + len;
+
+    memset(buff + 2, ' ', 48);
+
+    while(data < glimit) {
+        limit = data + 16;
+        if(limit > glimit) {
+            limit = glimit;
+            memset(buff, ' ', 48);
+        }
+
+        p     = buff;
+        bytes = p + 50;
+        while(data < limit) {
+            chr = *data;
+            *p++ = hex[chr >> 4];
+            *p++ = hex[chr & 15];
+            p++;
+            *bytes++ = ((chr < ' ') || (chr >= 0x7f)) ? '.' : chr;
+            data++;
+        }
+        *bytes++ = '\n';
+
+       // TODO: test return value
+        fwrite(buff, bytes - buff, 1, stream);
+    }
+}
+
diff --git a/tools/gh_fsb/xma_header.h b/tools/gh_fsb/xma_header.h
new file mode 100644 (file)
index 0000000..24a1fe4
--- /dev/null
@@ -0,0 +1,349 @@
+/*
+  by Luigi Auriemma
+*/
+
+#ifdef WIN32
+    #include <windows.h>
+#else
+    typedef unsigned int    DWORD;
+    typedef unsigned short  WORD;
+    typedef unsigned char   BYTE;
+typedef struct tWAVEFORMATEX {
+       WORD wFormatTag;
+       WORD nChannels;
+       DWORD nSamplesPerSec;
+       DWORD nAvgBytesPerSec;
+       WORD nBlockAlign;
+       WORD wBitsPerSample;
+       WORD cbSize;
+} WAVEFORMATEX,*PWAVEFORMATEX,*LPWAVEFORMATEX;
+#endif
+
+typedef struct XMASTREAMFORMAT
+{
+    DWORD   PsuedoBytesPerSec;  // Used by encoder
+    DWORD   SampleRate;         // Sample rate for the stream.
+    DWORD   LoopStart;          // Loop start offset (in bits).
+    DWORD   LoopEnd;            // Loop end offset (in bits).
+
+    // Format for SubframeData: eeee ssss.
+    // e: Subframe number of loop end point [0,3].
+    // s: Number of subframes to skip before decoding and outputting at the loop start point [1,4].
+
+    BYTE    SubframeData;       // Data for decoding subframes.  See above.
+    BYTE    Channels;           // Number of channels in the stream (1 or 2).
+    WORD    ChannelMask;        // Channel assignments for the channels in the stream (same as
+                                // lower 16 bits of dwChannelMask in WAVEFORMATEXTENSIBLE).
+} XMASTREAMFORMAT, *PXMASTREAMFORMAT, *NPXMASTREAMFORMAT, *LPXMASTREAMFORMAT;
+typedef const XMASTREAMFORMAT *LPCXMASTREAMFORMAT;
+
+typedef struct XMAWAVEFORMAT
+{
+    WORD            FormatTag;     // Audio format type (always WAVE_FORMAT_XMA).
+    WORD            BitsPerSample; // Bit depth (currently required to be 16).
+    WORD            EncodeOptions; // Options for XMA encoder/decoder.
+    WORD            LargestSkip;   // Largest skip used in interleaving streams.
+    WORD            NumStreams;    // Number of interleaved audio streams.
+    BYTE            LoopCount;     // Number of loop repetitions (255 == infinite).
+    BYTE            Version;       // Version of the encoder that generated this.
+    XMASTREAMFORMAT XmaStreams[1]; // Format info for each stream (can grow based on wNumStreams).
+} XMAWAVEFORMAT, *PXMAWAVEFORMAT, *NPXMAWAVEFORMAT, *LPXMAWAVEFORMAT;
+typedef XMAWAVEFORMAT *LPCXMAWAVEFORMAT;
+
+typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
+
+typedef struct XMA2WAVEFORMATEX
+{
+    WAVEFORMATEX wfx;
+    // Meaning of the WAVEFORMATEX fields here:
+    //    wFormatTag;        // Audio format type; always WAVE_FORMAT_XMA2
+    //    nChannels;         // Channel count of the decoded audio
+    //    nSamplesPerSec;    // Sample rate of the decoded audio
+    //    nAvgBytesPerSec;   // Used internally by the XMA encoder
+    //    nBlockAlign;       // Decoded sample size; channels * wBitsPerSample / 8
+    //    wBitsPerSample;    // Bits per decoded mono sample; always 16 for XMA
+    //    cbSize;            // Size in bytes of the rest of this structure (34)
+
+    WORD  NumStreams;        // Number of audio streams (1 or 2 channels each)
+    DWORD ChannelMask;       // Spatial positions of the channels in this file,
+                             // stored as SPEAKER_xxx values (see audiodefs.h)
+    DWORD SamplesEncoded;    // Total number of PCM samples the file decodes to
+    DWORD BytesPerBlock;     // XMA block size (but the last one may be shorter)
+    DWORD PlayBegin;         // First valid sample in the decoded audio
+    DWORD PlayLength;        // Length of the valid part of the decoded audio
+    DWORD LoopBegin;         // Beginning of the loop region in decoded sample terms
+    DWORD LoopLength;        // Length of the loop region in decoded sample terms
+    BYTE  LoopCount;         // Number of loop repetitions; 255 = infinite
+    BYTE  EncoderVersion;    // Version of XMA encoder that generated the file
+    WORD  BlockCount;        // XMA blocks in file (and entries in its seek table)
+} XMA2WAVEFORMATEX, *PXMA2WAVEFORMATEX;
+
+typedef struct XMA2STREAMFORMAT
+{
+    BYTE Channels;           // Number of channels in the stream (1 or 2)
+    BYTE RESERVED;           // Reserved for future use
+    WORD ChannelMask;        // Spatial positions of the channels in the stream
+} XMA2STREAMFORMAT;
+
+// Legacy XMA2 format structure (big-endian byte ordering)
+typedef struct XMA2WAVEFORMAT
+{
+    BYTE  Version;           // XMA encoder version that generated the file.
+                             // Always 3 or higher for XMA2 files.
+    BYTE  NumStreams;        // Number of interleaved audio streams
+    BYTE  RESERVED;          // Reserved for future use
+    BYTE  LoopCount;         // Number of loop repetitions; 255 = infinite
+    DWORD LoopBegin;         // Loop begin point, in samples
+    DWORD LoopEnd;           // Loop end point, in samples
+    DWORD SampleRate;        // The file's decoded sample rate
+    DWORD EncodeOptions;     // Options for the XMA encoder/decoder
+    DWORD PsuedoBytesPerSec; // Used internally by the XMA encoder
+    DWORD BlockSizeInBytes;  // Size in bytes of this file's XMA blocks (except
+                             // possibly the last one).  Always a multiple of
+                             // 2Kb, since XMA blocks are arrays of 2Kb packets.
+    DWORD SamplesEncoded;    // Total number of PCM samples encoded in this file
+    DWORD SamplesInSource;   // Actual number of PCM samples in the source
+                             // material used to generate this file
+    DWORD BlockCount;        // Number of XMA blocks in this file (and hence
+                             // also the number of entries in its seek table)
+    XMA2STREAMFORMAT Streams[1]; // Per-stream format information; the actual
+                                 // array length is in the NumStreams field.
+} XMA2WAVEFORMAT;
+
+
+
+inline unsigned xma_le16(unsigned n) {
+    static const int    endianess = 1;
+    if(*(char *)&endianess) return(n);
+    n = (((n & 0xff00) >> 8) |
+         ((n & 0x00ff) << 8));
+    return(n);
+}
+
+inline unsigned xma_le32(unsigned n) {
+    static const int    endianess = 1;
+    if(*(char *)&endianess) return(n);
+    n = (((n & 0xff000000) >> 24) |
+         ((n & 0x00ff0000) >>  8) |
+         ((n & 0x0000ff00) <<  8) |
+         ((n & 0x000000ff) << 24));
+    return(n);
+}
+
+inline unsigned xma_be16(unsigned n) {
+    static const int    endianess = 1;
+    if(!*(char *)&endianess) return(n);
+    n = (((n & 0xff00) >> 8) |
+         ((n & 0x00ff) << 8));
+    return(n);
+}
+
+inline unsigned xma_be32(unsigned n) {
+    static const int    endianess = 1;
+    if(!*(char *)&endianess) return(n);
+    n = (((n & 0xff000000) >> 24) |
+         ((n & 0x00ff0000) >>  8) |
+         ((n & 0x0000ff00) <<  8) |
+         ((n & 0x000000ff) << 24));
+    return(n);
+}
+
+int xma_quick_mask(int chans) { // made on the fly, not important and probably wrong
+    int     i,
+            mask;
+
+    //return(0x80000000);   // SPEAKER_ALL
+    mask = 0;
+    for(i = 0; i < chans; i++) {
+        mask = 1 << 1;
+    }
+    return(mask);
+}
+
+
+
+// XMA1:
+//  fmt
+//  data
+//  seek
+
+int xma1_header(FILE *fd, int freq, int chans, int bits, int rawlen, unsigned char *seek, int seeklen, int samples) {
+    XMAWAVEFORMAT   fmt;
+    mywav_chunk     chunk;
+
+    if(freq  <= 0) freq  = 44100;
+    if(chans <= 0) chans = 1;
+    if(bits  <= 0) bits  = 16;
+    //if(!seek || (seeklen <= 0)) { seek = &samples; seeklen = 4; }
+
+    fmt.FormatTag                       = xma_le16(0x0165);
+    fmt.BitsPerSample                   = xma_le16(bits);
+    fmt.EncodeOptions                   = xma_le16(0x10d6);
+    fmt.LargestSkip                     = xma_le16(0);
+    fmt.NumStreams                      = xma_le16(1);
+    fmt.LoopCount                       = 0;
+    fmt.Version                         = 2;
+
+    fmt.XmaStreams->PsuedoBytesPerSec   = xma_le32(rawlen); // used only by the encoder
+    fmt.XmaStreams->SampleRate          = xma_le32(freq);
+    fmt.XmaStreams->LoopStart           = xma_le32(0);
+    fmt.XmaStreams->LoopEnd             = xma_le32(0);
+    fmt.XmaStreams->SubframeData        = 0;
+    fmt.XmaStreams->Channels            = chans;
+    fmt.XmaStreams->ChannelMask         = xma_le16(xma_quick_mask(chans));
+
+    memcpy(chunk.id, "RIFF", 4);
+    chunk.size =
+        4 + sizeof(mywav_chunk)             // RIFF
+        + sizeof(fmt)                       // fmt
+        + sizeof(mywav_chunk) + rawlen      // data
+        + sizeof(mywav_chunk) + seeklen;    // seek
+
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    if(mywav_fwmem(fd, "WAVE", 4)     < 0) return(-1);
+
+    memcpy(chunk.id, "fmt ", 4);
+    chunk.size = sizeof(fmt) + seeklen;
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    //if(mywav_fwfmtchunk(fd, &fmt)     < 0) return(-1);
+    if(fwrite(&fmt, 1, sizeof(fmt), fd) != sizeof(fmt)) return(-1);
+
+    memcpy(chunk.id, "seek", 4);
+    chunk.size = seeklen;
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    if(fwrite(seek, 1, seeklen, fd) != seeklen) return(-1);
+
+    // data must be placed at the end so that the main tool can write the data after it
+    memcpy(chunk.id, "data", 4);
+    chunk.size = rawlen;
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    return(0);
+}
+
+
+
+// XMA2:
+//  fmt
+//  data
+//  seek
+
+int xma2_header(FILE *fd, int freq, int chans, int bits, int rawlen, unsigned char *seek, int seeklen, int samples) {
+    XMA2WAVEFORMATEX    fmt;
+    mywav_chunk     chunk;
+
+    if(freq  <= 0) freq  = 44100;
+    if(chans <= 0) chans = 1;
+    if(bits  <= 0) bits  = 16;
+    //if(!seek || (seeklen <= 0)) { seek = &samples; seeklen = 4; }
+
+    fmt.wfx.wFormatTag          = xma_le16(0x0166);
+       fmt.wfx.nChannels           = xma_le16(chans);
+       fmt.wfx.nSamplesPerSec      = xma_le32(freq);
+       fmt.wfx.nAvgBytesPerSec     = xma_le32(rawlen); // used only by the encoder
+       fmt.wfx.nBlockAlign         = xma_le16(4);
+       fmt.wfx.wBitsPerSample      = xma_le16(bits);
+       fmt.wfx.cbSize              = xma_le16(34);
+
+    fmt.NumStreams              = xma_le16(1);
+    fmt.ChannelMask             = xma_le32(xma_quick_mask(chans));
+    fmt.SamplesEncoded          = xma_le32(samples);
+    fmt.BytesPerBlock           = xma_le32(0x10000);
+    fmt.PlayBegin               = xma_le32(0);
+    fmt.PlayLength              = xma_le32(samples);
+    fmt.LoopBegin               = xma_le32(0);
+    fmt.LoopLength              = xma_le32(0);
+    fmt.LoopCount               = 0;
+    fmt.EncoderVersion          = 3;    // or 4
+    fmt.BlockCount              = xma_le16(1); 
+
+    memcpy(chunk.id, "RIFF", 4);
+    chunk.size =
+        4 + sizeof(mywav_chunk)             // RIFF
+        + sizeof(fmt)                       // fmt
+        + sizeof(mywav_chunk) + rawlen      // data
+        + sizeof(mywav_chunk) + seeklen;    // seek
+
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    if(mywav_fwmem(fd, "WAVE", 4)     < 0) return(-1);
+
+    memcpy(chunk.id, "fmt ", 4);
+    chunk.size = sizeof(fmt) + seeklen;
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    //if(mywav_fwfmtchunk(fd, &fmt)     < 0) return(-1);
+    if(fwrite(&fmt, 1, sizeof(fmt), fd) != sizeof(fmt)) return(-1);
+
+    memcpy(chunk.id, "seek", 4);
+    chunk.size = seeklen;
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    if(fwrite(seek, 1, seeklen, fd) != seeklen) return(-1);
+
+    // data must be placed at the end so that the main tool can write the data after it
+    memcpy(chunk.id, "data", 4);
+    chunk.size = rawlen;
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    return(0);
+}
+
+
+
+// XMA2xact:
+//  data
+//  XMA2
+//  seek
+
+int xma2xact_header(FILE *fd, int freq, int chans, int bits, int rawlen, unsigned char *seek, int seeklen, int samples) {
+    XMA2WAVEFORMAT  fmt;
+    mywav_chunk     chunk;
+
+    if(freq  <= 0) freq  = 44100;
+    if(chans <= 0) chans = 1;
+    if(bits  <= 0) bits  = 16;
+    //if(!seek || (seeklen <= 0)) { seek = &samples; seeklen = 4; }
+
+    fmt.Version                 = 3;    // or 4
+    fmt.NumStreams              = 1;
+    fmt.RESERVED                = 0;
+    fmt.LoopCount               = 255;
+    fmt.LoopBegin               = xma_be32(0);
+    fmt.LoopEnd                 = xma_be32(samples);
+    fmt.SampleRate              = xma_be32(freq);
+    fmt.EncodeOptions           = xma_be32(0x10d6);
+    fmt.PsuedoBytesPerSec       = xma_be32(rawlen); // used only by the encoder
+    fmt.BlockSizeInBytes        = xma_be32(0x10000);
+    fmt.SamplesEncoded          = xma_be32(samples);
+    fmt.SamplesInSource         = xma_be32(samples);
+    fmt.BlockCount              = xma_be32(1);
+
+    fmt.Streams->Channels       = chans;
+    fmt.Streams->RESERVED       = 0;
+    fmt.Streams->ChannelMask    = xma_be16(xma_quick_mask(chans));
+
+    memcpy(chunk.id, "RIFF", 4);
+    chunk.size =
+        4 + sizeof(mywav_chunk)             // RIFF
+        + sizeof(fmt)                       // fmt
+        + sizeof(mywav_chunk) + rawlen      // data
+        + sizeof(mywav_chunk) + seeklen;    // seek
+
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    if(mywav_fwmem(fd, "WAVE", 4)     < 0) return(-1);
+
+    memcpy(chunk.id, "XMA2", 4);
+    chunk.size = sizeof(fmt) + seeklen;
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    //if(mywav_fwfmtchunk(fd, &fmt)     < 0) return(-1);
+    if(fwrite(&fmt, 1, sizeof(fmt), fd) != sizeof(fmt)) return(-1);
+
+    memcpy(chunk.id, "seek", 4);
+    chunk.size = seeklen;
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    if(fwrite(seek, 1, seeklen, fd) != seeklen) return(-1);
+
+    // data must be placed at the end so that the main tool can write the data after it
+    memcpy(chunk.id, "data", 4);
+    chunk.size = rawlen;
+    if(mywav_fwchunk(fd, &chunk)      < 0) return(-1);
+    return(0);
+}
+
+
diff --git a/tools/gh_xen_decrypt.cc b/tools/gh_xen_decrypt.cc
new file mode 100644 (file)
index 0000000..971c75b
--- /dev/null
@@ -0,0 +1,68 @@
+#include <cstdlib>
+#include <stdexcept>
+#include <fstream>
+#include <iostream>
+
+#define KEY_LEN 11
+
+// Code originaly credited by "Invo" and provided ASIS
+// found here: http://www.scorehero.com/forum/viewtopic.php?t=39923
+// This code code be use to "decrypt" ".xen" files used in at least GH3 PC
+// key should be guessed (xor)
+
+char SwapByteBits(unsigned char cInput) {
+       unsigned char nResult=0;
+
+       for(unsigned int i = 0 ; i < 8 ; i++) {
+               nResult = nResult << 1;
+               nResult |= (cInput & 1);
+               cInput = cInput >> 1;
+       }
+       return nResult;
+}
+
+
+// TODO: use boost iterator to decode in one line
+int main(int argc, char** argv) {
+       unsigned char cpKey[KEY_LEN] = "5atu6w4zaw";
+
+       // Check params
+       if (argc != 3) throw std::runtime_error(std::string("Usage: ") + argv[0] + " <Input> <Output>");
+
+       // Open files
+       std::ofstream outputFile(argv[2], std::ofstream::binary);
+       std::ifstream inputFile(argv[1], std::ios::binary);
+
+       // Get the file size
+       inputFile.seekg (0, std::ios::end);
+       unsigned int fileSize = inputFile.tellg();
+       inputFile.seekg (0, std::ios::beg);
+
+       // Allocate buffer
+       char *pBuffer = new char[fileSize];
+
+       // Reading inputfile
+       std::cout << "Reading input file (" << fileSize << " Bytes)... ";
+       inputFile.read(pBuffer, fileSize);
+       inputFile.close();
+       std::cout << "DONE!" << std::endl;
+
+       // Decrypt
+       std::cout << "Decrypting... ";
+       char *pInput = pBuffer;
+       for (unsigned int nLoopIdx = 0 ; nLoopIdx < fileSize ; nLoopIdx++) {
+               *pInput = SwapByteBits(*pInput ^ cpKey[nLoopIdx % (KEY_LEN-1)]);
+               pInput++;
+       }
+       std::cout << "DONE!" << std::endl;
+
+       // Write the output
+       std::cout << "Writing outpout file... ";
+       outputFile.write(pBuffer, fileSize);
+       outputFile.close();
+       delete [] pBuffer;
+       std::cout << "DONE!" << std::endl;
+
+       return EXIT_SUCCESS;
+}
+
diff --git a/tools/ipu_conv.cc b/tools/ipu_conv.cc
new file mode 100644 (file)
index 0000000..c71a23c
--- /dev/null
@@ -0,0 +1,368 @@
+#include "ipuconv.hh"
+#include <iostream>
+#include <stdexcept>
+
+IPUConv::IPUConv(std::vector<char> const& indata, std::string const& outfilename, bool pal): infile(indata), outfile(outfilename.c_str()) {
+       int sizex;
+       int sizey;
+       int frames;
+       int frame;
+       int dct_dc_y;
+       int dct_dc_cb;
+       int dct_dc_cr;
+       int quant;
+       int flag;
+       int mb;
+       int mb_source;
+       int intraquant;
+       int block;
+       int eob;
+       int size;
+       int diff = 0;
+       int absval;
+       long int FrameByte;
+       unsigned int FrameBit;
+
+       if (0x6970756d != infile.get(32)) throw std::runtime_error("Input data is no IPU");
+
+       infile.get(32); // Filesize
+
+       sizex=infile.get(8);
+       sizex=sizex+infile.get(8)*(1<<8);
+
+       sizey=infile.get(8);
+       sizey=sizey+infile.get(8)*(1<<8);
+
+       frames=infile.get(8);
+       frames=frames+infile.get(8)*(1<<8);
+       frames=frames+infile.get(8)*(1<<16);
+       frames=frames+infile.get(8)*(1<<24);
+
+       printf("%dx%d\n",sizex,sizey);
+       printf("%02d:%02d:%02d.%02d\n\n",frames/25/60/60,(frames%(25*60*60))/25/60,(frames%(25*60))/25,frames%25);
+
+       std::vector<t_MBData> MBData((sizex/16)*(sizey/16)+1);
+       for (frame=0;frame<frames;frame++){
+               if (frame % 100 == 0) std::cout << "Frame: " << frame << "/" << frames << "\r" << std::flush;
+               flag = infile.get(8);
+
+               if (flag & 32) {
+                       fprintf (stderr,"Intra VLC format not supported\n");
+                       exit(1);
+               }
+               if (frame==0) {
+                       // Write Sequence Header
+                       outfile.putbits(0x1b3,32);
+                       outfile.putbits(sizex,12);
+                       outfile.putbits(sizey,12);
+                       outfile.putbits(0x1,4);                 // Ascpect Ratio        1     1:1
+                                                                       //                                      2     4:3
+                                                                       //                                      3    16:9
+                                                                       //                                      4  2.21:1
+
+                       if(pal) {
+                               outfile.putbits(0x3,4);                 // Framerate            3  25 fps
+                       } else {
+                               outfile.putbits(0x4,4);                 // Framerate            4  29.97 fps
+                       }
+
+                       outfile.putbits(0x30d4,18);     // Bitrate ($3FFFF=Variabel)
+                       outfile.putbits(1,1);                   // Marker, soll immer 1 sein
+                       outfile.putbits(112,10);                // VBV
+                       outfile.putbits(0,1);                   // Constrained Parameter Flag
+                       outfile.putbits(0,1);                   // Intra Matrix Standard
+                       outfile.putbits(0,1);                   // Non-Intra Matrix Standard
+                       //outfile.putbits(0x2cee100,32);
+
+                       if (!(flag & 128)) {
+                               // Sequence Extension
+                               outfile.putbits(0x1b5,32);
+                               outfile.putbits(0x1,4);         // Start Code Identifier
+                               outfile.putbits(0x4,4);         // Main Profil
+                               outfile.putbits(0x8,4);         // Main Level
+                               outfile.putbits(0x1,1);         // Progressive Sequence
+                               outfile.putbits(0x1,2);         // Chroma Format 4:2:0
+                               outfile.putbits(0x0,2);         // Breite Extension
+                               outfile.putbits(0x0,2);         // Höhe Extension
+                               outfile.putbits(0x0,12);        // Bitrate Extension
+                               outfile.putbits(0x1,1);         // Marker
+                               outfile.putbits(0x0,8);         // VBV Buffer Extension
+                               outfile.putbits(0x0,1);         // Low Delay
+                               outfile.putbits(0x0,2);         // Framerate Extension Numerator
+                               outfile.putbits(0x0,5);         // Framerate Extension Denominator
+                               //outfile.putbits(0x148a0001,32);
+                               //outfile.putbits(0,16);
+
+                               // Sequence Display Extension
+                               /*
+                               outfile.putbits(0x1b5,32);
+                               outfile.putbits(0x2,4);         // Start Code Identifier
+                               outfile.putbits(0x1,3);         // Video Format         1 PAL
+                               outfile.putbits(0x0,1);         // Bit Color
+
+                               outfile.putbits(0x23050504,32);
+
+                               outfile.putbits(sizex,14);      // Display Breite
+                               outfile.putbits(1,1);           // Marker
+                               outfile.putbits(sizey,14);  // Display Höhe
+                               outfile.putbits(0,3);
+                               */
+                       }
+               }
+
+               // Write GOP Header
+               outfile.putbits(0x1b8,32);
+               outfile.putbits(0,1);                           // Drop Frame
+               outfile.putbits(frame/25/60/60,5);      // Stunden
+               outfile.putbits((frame%(25*60*60))/25/60,6); // Minuten
+               outfile.putbits(1,1);                           // Marker
+               outfile.putbits((frame%(25*60))/25,6);// Sekunden
+               outfile.putbits(frame%25,6);            // Frames
+               outfile.putbits(1,1);                           // Closed GOP
+               outfile.putbits(0,6);
+
+               // Write Picture Header
+               outfile.putbits(0x100,32);
+               outfile.putbits(0x0,10);                        // Temporal Reference
+               outfile.putbits(0x1,3);                         // Coding Type Intra
+               outfile.putbits(0xffff,16);                     // VBV Delay
+               outfile.putbits(0,3);
+//             outfile.putbits(0xffff8,32);
+
+               // Write Picture Coding Extension
+               if (!(flag & 128)) {
+                       outfile.putbits(0x1b5,32);
+                       outfile.putbits(0x8ffff,20);
+                       outfile.putbits(flag&3,2);                      // Intra DC Precision
+                       outfile.putbits(3,2);                           // Frame Picture
+                       outfile.putbits(2,3);
+                       outfile.putbits((flag&64)/64,1);        // QST
+                       outfile.putbits(0,1);                           // Intra VLC Format
+                       outfile.putbits((flag&16)/16,1);        // Alternate Scan
+                       outfile.putbits(1,2);
+                       outfile.putbits(0x80,8);
+               }
+               // Write Slice Header
+               outfile.putbits(0x1,24);
+               outfile.putbits(1,8);
+               outfile.putbits(1,5);           // Quantiser
+               outfile.putbits(0,1);           // Extra Bit clear
+
+               // infile.get Macroblock-infos
+               dct_dc_y = 0;
+               dct_dc_cb = 0;
+               dct_dc_cr = 0;
+               quant = 1;
+               for(mb=0;mb<(sizex/16)*(sizey/16);mb++) {
+                       if (mb>0 && !infile.get(1)) throw std::runtime_error("MBA_Incr wrong in IPU");
+                       // Save position (in IPU) of Macroblock
+                       infile.getpos(&MBData[mb].Byte,&MBData[mb].Bit);
+
+                       if (infile.get(1)) intraquant = 0;
+                       else {
+                               if (!infile.get(1)) throw std::runtime_error("MBT wrong in IPU");
+                               intraquant = 1;
+                       }
+
+                       if (flag & 4) infile.get(1);
+                       if (intraquant) quant = infile.get(5);
+                       MBData[mb].quant = quant;
+
+                       for(block=0;block<6;block++) {
+                               if (block<4) {
+                                       if ( (size = infile.get_dcs_y())) {
+                                               diff = infile.get(size);
+                                               if (!(diff & (1 << (size - 1)))) diff = (-1 << size) | (diff + 1);
+                                               dct_dc_y += diff;
+                                       }
+                                       if (block==0) MBData[mb].dct_dc_y = dct_dc_y;
+                               } else {
+                                       if ( (size = infile.get_dcs_c())) {
+                                               diff = infile.get(size);
+                                               if (!(diff & (1 << (size - 1)))) diff = (-1 << size) | (diff + 1);
+                                       }
+                                       if (block==4) {
+                                               if (size) dct_dc_cb += diff;
+                                               MBData[mb].dct_dc_cb = dct_dc_cb;
+                                       } else {
+                                               if (size) dct_dc_cr += diff;
+                                               MBData[mb].dct_dc_cr = dct_dc_cr;
+                                       }
+                               }
+                               do {
+                                       eob = vlc(0);
+                                       if (eob == 0) infile.get(1);
+                                       } while (eob!=1);
+                       }
+               }
+
+               infile.getpos(&FrameByte,&FrameBit);    // Position speichern
+
+               // Write Macroblocks
+               dct_dc_y = 0;
+               dct_dc_cb = 0;
+               dct_dc_cr = 0;
+               quant = 1;
+               for(mb=0;mb<(sizex/16)*(sizey/16);mb++) {
+                       mb_source = (mb % (sizex / 16)) * (sizey / 16)+ mb / (sizex / 16);      // Singstar
+                       // mb_source = mb;                                                      // Other IPUs
+
+                       outfile.putbits(1,1);           // MBA_Incr=1
+
+                       infile.setpos(MBData[mb_source].Byte,MBData[mb_source].Bit);
+
+                       if (infile.get(1)) intraquant = 0;
+                       else {
+                               if (!infile.get(1)) throw std::runtime_error("MBT wrong in IPU");
+                               intraquant = 1;
+                       }
+
+                       if (mb == 0 || (MBData[mb_source].quant != quant)) outfile.putbits(1,2);
+                       else outfile.putbits(1,1);
+
+                       if (flag & 4) outfile.putbits(infile.get(1),1);
+                       if (intraquant) quant = infile.get(5);
+
+                       if (mb == 0 || (MBData[mb_source].quant != quant)) {
+                               outfile.putbits(MBData[mb_source].quant,5);
+                               quant = MBData[mb_source].quant;
+                       }
+
+                       for(block=0;block<6;block++) {
+                               if (block==0) {
+                                       infile.get(infile.get_dcs_y()); // DCT_DC in Eingabestream überspringen
+                                       diff = MBData[mb_source].dct_dc_y - dct_dc_y;
+                                       dct_dc_y = MBData[mb_source].dct_dc_y;
+
+                                       absval = (diff<0) ? -diff : diff; /* abs(val) */
+                                       size = 0;
+                                       while (absval) {
+                                               absval >>= 1;
+                                               size++;
+                                       }
+                                       outfile.put_dcs_y(size);
+                                       absval = diff;
+                                       if (absval<=0)
+                                               absval += (1<<size) -1;
+                                       outfile.putbits(absval,size);
+                               } else if (block>3)     {
+                                       infile.get(infile.get_dcs_c()); // DCT_DC in Eingabestream überspringen
+                                       if (block==4) {
+                                               diff = MBData[mb_source].dct_dc_cb - dct_dc_cb;
+                                               dct_dc_cb = MBData[mb_source].dct_dc_cb;
+                                       } else {
+                                               diff = MBData[mb_source].dct_dc_cr - dct_dc_cr;
+                                               dct_dc_cr = MBData[mb_source].dct_dc_cr;
+                                       }
+                                       absval = (diff<0) ? -diff : diff; /* abs(val) */
+                                       size = 0;
+                                       while (absval) {
+                                               absval >>= 1;
+                                               size++;
+                                       }
+                                       outfile.put_dcs_c(size);
+                                       absval = diff;
+                                       if (absval<=0)
+                                               absval += (1<<size) -1;
+                                       outfile.putbits(absval,size);
+                               } else {
+                                       size = infile.get_dcs_y();
+                                       outfile.put_dcs_y(size);
+                                       diff = infile.get(size);
+                                       outfile.putbits(diff,size);             // DCT_DC kopieren (Blöcke 1,2,3)
+                                       if (size) {
+                                               if (!(diff&(1<<(size - 1))))
+                                                       diff = (-1 << size) | (diff + 1);
+                                               dct_dc_y += diff;
+                                       }
+                               }
+                               do {
+                                       eob = vlc(1);
+                                       if (eob == 0)
+                                               outfile.putbits(infile.get(1),1);
+                               } while (eob!=1);
+                       }
+               }
+               outfile.putbuf();
+
+               infile.setpos(FrameByte,FrameBit);
+
+               // Jump to End of Frame
+               if (!infile.next_start_code()) throw std::runtime_error("End of Stream");
+               if (infile.get(32) != 0x000001b0) throw std::runtime_error("No 1b0");
+       }
+
+       outfile.putbits(0x1b7,32);              // Ende
+}
+
+int IPUConv::vlc(int write){
+       int bits;
+       int level=0;
+
+       bits = infile.get(2);
+       if (write) outfile.putbits(bits,2);
+       if(bits ==      2)
+               return(1);              // 10 - EOB
+       if(bits ==      3)
+               return(0);              // 11
+       if(bits ==      1) {
+               bits = infile.get(1);
+               if (write) outfile.putbits(bits,1);
+               if (bits)
+                       return(0);
+               else {
+                       bits = infile.get(1);
+                       if (write) outfile.putbits(bits,1);
+                       return(0);
+               }
+       }
+       // 00
+       bits = infile.get(1);
+       if (write) outfile.putbits(bits,1);
+       if (bits) {
+               // 001
+               bits = infile.get(2);
+               if (write) outfile.putbits(bits,2);
+               if (bits < 1) {
+                       // 00100
+                       bits = infile.get(3);
+                       if (write) outfile.putbits(bits,3);
+               }
+               // 001xx
+               return(0);
+       } else {
+       // 000
+               bits = infile.get(3);
+               if (write) outfile.putbits(bits,3);
+               if(bits >=      4)
+                       return(0);
+               if(bits >=      2) {
+                       bits = infile.get(1);
+                       if (write) outfile.putbits(bits,1);
+                       return(0);
+               }
+               if(bits) {
+                       bits = infile.get(18);
+                       if (write) outfile.putbits(bits,18);
+                       return(2);      // Escape
+               }
+               bits = infile.get(1);
+               if (write) outfile.putbits(bits,1);
+               if(bits) {
+                       bits = infile.get(3);
+                       if (write) outfile.putbits(bits,3);
+                       return(0);
+               }
+               do {
+                       bits = infile.get(1);
+                       if (write) outfile.putbits(bits,1);
+                       level++;
+               } while (!bits && level<6);
+               if (level<6) {
+                       bits = infile.get(4);
+                       if (write) outfile.putbits(bits,4);
+                       return(0);
+               } else throw std::runtime_error("Invalid VLC");
+       }
+}
+
diff --git a/tools/ipuconv.hh b/tools/ipuconv.hh
new file mode 100644 (file)
index 0000000..da11a45
--- /dev/null
@@ -0,0 +1,20 @@
+#include "bitfiles.h"
+
+struct t_MBData                /*      Macroblock data */
+{
+       long int Byte;
+       unsigned int Bit;
+       int dct_dc_y;
+       int dct_dc_cb;
+       int dct_dc_cr;
+       int quant;
+};
+
+class IPUConv {
+       inBitFile infile;
+       outBitFile outfile;
+       int vlc(int write);
+  public:
+       IPUConv(std::vector<char> const& indata, std::string const& outfilename, bool pal = true);
+};
+
diff --git a/tools/ipuconvmain.cc b/tools/ipuconvmain.cc
new file mode 100644 (file)
index 0000000..b7d2152
--- /dev/null
@@ -0,0 +1,25 @@
+#include "ipuconv.hh"
+#include <cstdio>
+#include <iostream>
+#include <stdexcept>
+
+int main(int argc, char** argv) {
+       if (argc<3){
+               std::printf("\nConverts an Singstar IPU-movie into an MPEG-Video\n20080103 - hawkear@gmx.de\n\n"
+                       "Usage:     %s <INFILE> <OUTFILE>\n\n"
+                       "Example:   %s movie.ipu myvideo.m2v\n\n",argv[0],argv[0]);
+               exit(0);
+       }
+       std::vector<char> indata;
+       std::ifstream infile(argv[1], std::ios::binary);
+       infile.seekg(0, std::ios::end);
+       indata.resize(infile.tellg());
+       infile.seekg(0);
+       infile.read(&indata[0], indata.size());
+       try {
+               IPUConv(indata, argv[2]);
+       } catch (std::exception& e) {
+               std::cerr << "Error: " << e.what() << std::endl;
+       }
+}
+
diff --git a/tools/itg_pck.cc b/tools/itg_pck.cc
new file mode 100644 (file)
index 0000000..0dbe4cf
--- /dev/null
@@ -0,0 +1,115 @@
+#include <boost/filesystem.hpp>
+#include <algorithm>
+#include <fstream>
+#include <iostream>
+#include <sstream>
+#include <stdexcept>
+#include <string>
+
+template <typename It> void test(It it, std::string text) {
+       if (!std::equal(text.begin(), text.end(), it)) throw std::runtime_error("PCKF header missing");
+}
+
+template <typename It> std::string read(It it, unsigned chars) {
+       std::string ret;
+       while (chars--) ret += *it++;
+       return ret.substr(0, ret.find_last_not_of('\0') + 1);
+}
+
+template <typename It> unsigned read32(It it) {
+       unsigned ret = 0;
+       for (unsigned i = 0; i < 4; ++i) ret |= static_cast<unsigned char>(*it++) << i * 8;
+       return ret;
+}
+
+namespace fs = boost::filesystem;
+
+struct File {
+       fs::path name;
+       unsigned size;
+       unsigned sizeCompressed;
+       unsigned mode; // 0 = stored, 1 = compressed
+       unsigned offset;
+};
+
+#include <zlib.h>
+
+struct Extract {
+       std::ifstream& archive;
+       Extract(std::ifstream& archive): archive(archive) {}
+       void operator()(File const& file) {
+               std::cout << "  " << file.name << " " << file.size << " at " << file.offset << std::endl;
+               if (file.mode == 1) std::cout << "    " << file.size << "->" << file.sizeCompressed << std::endl;
+               std::vector<char> buffer(file.sizeCompressed);
+               archive.seekg(file.offset);
+               archive.read(&buffer[0], buffer.size());
+               std::string ext;
+               if (file.mode == 1) {
+                       std::vector<char> buf2(file.size);
+                       z_stream strm = z_stream();
+                       strm.avail_in = buffer.size();
+                       strm.next_in = reinterpret_cast<Bytef*>(&buffer[0]);
+                       strm.avail_out = buf2.size();
+                       strm.next_out = reinterpret_cast<Bytef*>(&buf2[0]);
+                       
+                       inflateInit2(&strm, -15);
+                       int ret = inflate(&strm, Z_SYNC_FLUSH);
+                       inflateEnd(&strm);
+                       std::cout << ret << std::endl;
+                       if (ret == Z_STREAM_END) buf2.swap(buffer);
+                       else {
+                               std::ostringstream oss;
+                               oss << ".comp-" << file.size;
+                               ext = oss.str();
+                       }
+                       if (strm.msg) std::cerr << "    Error: " << strm.msg << std::endl;
+               }
+               // Make directory
+               makeDir(file.name);
+               std::ofstream of((file.name.string() + ext).c_str(), std::ios::binary);
+               of.write(&buffer[0], buffer.size());
+       }
+       void makeDir(fs::path p) {
+               p.remove_filename();
+               if (p.empty()) return;
+               makeDir(p);
+               fs::create_directory(p);
+       }
+};
+
+int main(int argc, char** argv) {
+       if (argc != 2) throw std::logic_error("Need pck filename as argument");
+       std::ifstream f(argv[1], std::ios::binary);
+       f.exceptions(std::ios::failbit);
+       std::istreambuf_iterator<char> it(f), end;
+       // PCKF header:
+       // 17 bytes "PCKFdefault base "
+       // Name (title) of the package, padded with zeroes until offset 0x84
+       // Little-endian u32 file count
+       test(it, "PCKFdefault base ");
+       std::string title = read(it, 0x73);
+       std::cout << "Title: " << title << std::endl;
+       unsigned filecount = read32(it);
+       std::cout << filecount << " files:" << std::endl;
+       std::vector<File> files;
+       while (files.size() < filecount) {
+               // File entry: (array of filecount file entries)
+               // Little-endian u32: size of compressed/stored data
+               // Little-endian u32: size of uncompressed data
+               // Little-endian u32: position in pck file (in bytes)
+               // Little-endian u32: name length (in bytes)
+               // char[namelen]: file name with path, uses '/' as path separator
+               // Little-endian u32: compression mode (0 = stored, 1 = deflated)
+               File file;
+               file.sizeCompressed = read32(it);
+               file.size = read32(it);
+               file.offset = read32(it);
+               unsigned namelen = read32(it);
+               file.mode = read32(it);
+               file.name = fs::path(title) / read(it, namelen);
+               files.push_back(file);
+       }
+       std::cout << "Header ends at " << f.tellg() << std::endl;
+       std::for_each(files.begin(), files.end(), Extract(f));
+}
+
diff --git a/tools/pak.cc b/tools/pak.cc
new file mode 100644 (file)
index 0000000..988b8b9
--- /dev/null
@@ -0,0 +1,127 @@
+#include "pak.h"
+
+#include <algorithm>
+#include <cstring>
+#include <iomanip>
+#include <iostream>
+#include <iterator>
+#include <sstream>
+
+std::ostream& operator<<(std::ostream& os, std::pair<std::string, PakFile> const& f) {
+       std::stringstream ss;
+       ss << std::setbase(16) << std::setfill('0');
+       ss << "0x" << std::setw(8) << f.second.offset << ' ';
+       ss << "0x" << std::setw(8) << f.second.offset + f.second.size << ' ';
+       ss << f.first << "  " << std::setbase(10);
+       if (f.second.zlibmode) ss << f.second.zlibsize << " bytes compressed into "; 
+       ss << f.second.size << " bytes";
+       return os << ss.rdbuf() << std::endl;
+}
+
+std::ostream& operator<<(std::ostream& os, Pak::files_t const& files) {
+       std::copy(files.begin(), files.end(), std::ostream_iterator<std::pair<std::string, PakFile> >(os));
+       return os;
+}
+
+namespace {
+       template <unsigned Bytes> unsigned readLE(std::istream& is) {
+               unsigned val = 0;
+               for (unsigned i = 0; i < Bytes; ++i) val |= (unsigned char)is.get() << i * 8;
+               return val;
+       }
+       template <unsigned Bytes> unsigned readBE(std::istream& is) {
+               unsigned val = 0;
+               for (unsigned i = 0; i < Bytes; ++i) val = (val << 8) | (unsigned char)is.get();
+               return val;
+       }
+}
+
+Pak::Pak(std::string const& filename) {
+       std::ifstream f(filename.c_str(), std::ios::binary);
+       if (!f.is_open()) throw std::runtime_error("Could not open PAK file " + filename);
+       f.exceptions(std::ios::failbit);
+       enum Format { PAK, PAK_WITH_CRC, PKF, PKD } format;
+       {
+               char magic[8];
+               f.read(magic, sizeof(magic));
+               if (!std::memcmp(magic, "SceeWhPC", sizeof(magic))) format = PAK_WITH_CRC;
+               else if (!std::memcmp(magic, "SceeWhPk", sizeof(magic))) format = PAK;
+               else if (!std::memcmp(magic, "PACKAGE ", sizeof(magic))) format = PKD;
+               else if (!std::memcmp(magic, "\x7e\x26\x4c\x33\x24\x53\x9b\xd0", sizeof(magic))) format = PKF;
+               else throw std::runtime_error("Not a valid PAK/PKF/PKD file (" + std::string(magic) + ")");
+       }
+       switch (format) {
+               case PKF: throw std::runtime_error("SingStar PS3 encrypted pkd format is not yet supported.");
+               case PKD:
+               {
+                       // We do not know what these bytes stand for but they always seem to be the same
+                       if (readBE<4>(f) != 0x01000000 || readBE<2>(f) != 0x0007) throw std::runtime_error("Unexpected header bytes.");
+                       unsigned headerEnd = readBE<4>(f);
+                       while (f.tellg() < headerEnd) {
+                               PakFile file(filename);
+                               file.crc = readBE<4>(f);  // Random digits (maybe CRC32)
+                               std::string name;
+                               std::getline(f, name, '\0');
+                               file.offset = readBE<4>(f);
+                               file.size = readBE<4>(f);
+                               std::replace(name.begin(), name.end(), '\\', '/');
+                               std::size_t pos = f.tellg();
+                               if (file.size > 12) {
+                                       f.seekg(file.offset);
+                                       char magic[4];
+                                       f.read(magic, sizeof(magic));
+                                       if (!std::memcmp(magic, "ZLIB", sizeof(magic))) {
+                                               file.zlibmode = readBE<4>(f);
+                                               file.zlibsize = readBE<4>(f);
+                                               file.offset += 12;
+                                               file.size -= 12;
+                                       }
+                                       f.seekg(pos);
+                               }
+                               m_files.insert(std::make_pair(name, file));
+                       }
+                       break;
+               }
+               case PAK: case PAK_WITH_CRC:
+               {
+                       f.seekg(0x114);
+                       std::vector<std::string> ext;
+                       while(1) {
+                               char tmp[4];
+                               f.read(tmp,4);
+                               if(tmp[0] == '\0')
+                                       break;
+                               ext.push_back(std::string(tmp));
+                       }
+                       f.seekg(0x198);
+                       std::string name;
+                       PakFile file(filename);
+                       while ((file.offset = readLE<3>(f)) > 0) {
+                               name = name.substr(0, readLE<1>(f));  // Previous filename used as template
+                               file.offset *= 0x800;
+                               char string_length = readLE<1>(f);
+                               f.ignore(2);
+                               file.size = readLE<4>(f);
+                               if (format == PAK_WITH_CRC) file.crc = readLE<4>(f);
+                               char tmp[256];
+                               f.read(tmp, string_length - 1);
+                               name += std::string(tmp, string_length - 1);
+                               unsigned ext_idx = readLE<1>(f);
+                               char toto[2];
+                               toto[0] = '0' + ext.size();
+                               toto[1] = '\0';
+                               if (ext_idx) name += std::string(".") + (ext_idx <= ext.size() ? ext[ext_idx-1] : std::string(toto));
+                               std::replace(name.begin(), name.end(), '\\', '/');
+                               m_files.insert(std::make_pair(name, file));
+                       }
+                       break;
+               }
+       }
+}
+
+PakFile const& Pak::operator[](std::string const& filename) const {
+       files_t::const_iterator r = m_files.find(filename);
+       if (r == m_files.end()) throw std::runtime_error("File not found: " + filename);
+       return r->second;
+}
+
diff --git a/tools/pak.h b/tools/pak.h
new file mode 100644 (file)
index 0000000..5aba47f
--- /dev/null
@@ -0,0 +1,54 @@
+#pragma once
+
+#include "zlib.h"
+#include <boost/cstdint.hpp>
+#include <string>
+#include <fstream>
+#include <map>
+#include <vector>
+#include <stdexcept>
+
+struct PakFile {
+       PakFile(std::string const& pakfilename): pakname(pakfilename), offset(), size(), crc(), zlibmode(), zlibsize() {}
+       std::string pakname;
+       unsigned offset;
+       unsigned size;
+       unsigned crc;
+       unsigned zlibmode;
+       unsigned zlibsize;
+       void get(std::vector<char>& buf, unsigned int pos = 0, unsigned int s = 0) const {
+               if (!s) s = size - pos;
+               if (pos + s > size) throw std::logic_error("Trying to read past end of file");
+               buf.resize(s);
+               std::ifstream f(pakname.c_str(), std::ios::binary);
+               f.seekg(offset + pos);
+               f.read(&buf[0], s);
+               if (zlibmode) {
+                       if (pos != 0 || s != size) throw std::logic_error("Cannot seek in zlib deflated files");
+                       std::vector<char> buf2(zlibsize);
+                       z_stream strm = z_stream();
+                       strm.avail_in = buf.size(); strm.next_in = reinterpret_cast<Bytef*>(&buf[0]);
+                       strm.avail_out = buf2.size(); strm.next_out = reinterpret_cast<Bytef*>(&buf2[0]);
+                       inflateInit(&strm);
+                       int ret = inflate(&strm, Z_SYNC_FLUSH);
+                       inflateEnd(&strm);
+                       if (ret == Z_STREAM_END) buf2.swap(buf);
+                       else if (strm.msg) throw std::runtime_error(std::string("Zlib inflate failed: ") + strm.msg);
+               }
+               // TODO: Unduplicate code with itg_pck! (e.g. use PakFile structure there as well)
+       }
+};
+
+class Pak {
+  public:
+       typedef std::map<std::string, PakFile> files_t;
+       Pak(std::string const& filename);
+       files_t const& files() const { return m_files; }
+       PakFile const& operator[](std::string const& filename) const;
+  private:
+       files_t m_files;
+};
+
+std::ostream& operator<<(std::ostream& os, PakFile const& f);
+std::ostream& operator<<(std::ostream& os, Pak::files_t const& files);
+
diff --git a/tools/pak_extract.cc b/tools/pak_extract.cc
new file mode 100644 (file)
index 0000000..b29bd7d
--- /dev/null
@@ -0,0 +1,71 @@
+#include "pak.h"
+#include <boost/filesystem.hpp>
+#include <algorithm>
+#include <cstring>
+#include <functional>
+#include <iostream>
+#include <iterator>
+#include <stdexcept>
+
+namespace {
+       void usage(char const* progname) {
+               std::cerr << "Usage: " << progname << " file.pak --extract [files]" << std::endl;
+               std::cerr << "       " << progname << " file.pak --dump file" << std::endl;
+               std::cerr << "       " << progname << " file.pak --list" << std::endl;
+       }
+
+       struct Extract {
+               Extract(Pak& p): m_p(p) {}
+               void operator()(std::string const& filename) { operator()(make_pair(filename, m_p[filename])); }
+               void operator()() {
+                       for (Pak::files_t::const_iterator it = m_p.files().begin(); it != m_p.files().end(); ++it) operator()(*it);
+               }
+               void operator()(std::pair<std::string, PakFile> const& fp) {
+                       std::string filename = fp.first;
+                       // Remove path elements from m_path until it matches the filename's beginning
+                       while (m_path != filename.substr(0, m_path.size())) {
+                               std::string::size_type pos = m_path.rfind('/');
+                               if (pos == std::string::npos) m_path.clear();
+                               else m_path.erase(pos);
+                       }
+                       // Try to create new folders as required
+                       for (std::string::size_type pos; (pos = filename.find('/', m_path.size() + 1)) != std::string::npos;) {
+                               m_path = filename.substr(0, pos);
+                               boost::filesystem::create_directory(m_path);
+                       }
+                       // Extract the file
+                       std::ofstream f(filename.c_str(), std::ios::binary);
+                       if (!f.is_open()) throw std::runtime_error("Unable to create file: " + filename);
+                       std::cout << filename << std::flush;
+                       std::vector<char> buf;
+                       fp.second.get(buf);
+                       f.write(&buf[0], buf.size());
+                       std::cout << "  " << buf.size() << " bytes" << std::endl;
+               }
+         private:
+               Pak& m_p;
+               std::string m_path;
+       };
+}
+
+int main(int argc, char** argv) {
+       std::ios::sync_with_stdio(false);
+       if( argc < 3 ) { usage(argv[0]); return EXIT_FAILURE; }
+       try {
+               Pak p(argv[1]);
+               if (!strcmp(argv[2],"--list")) std::cout << p.files();
+               else if (!strcmp(argv[2],"--dump")) {
+                       if (argc != 4) { usage(argv[0]); return EXIT_FAILURE; }
+                       std::vector<char> buf;
+                       p[argv[3]].get(buf);
+                       std::cout.write(&buf[0], buf.size());
+               } else if (!strcmp(argv[2],"--extract")) {
+                       if (argc == 3) { (Extract(p))(); }
+                       else std::for_each(argv + 3, argv + argc, Extract(p));
+               } else { usage(argv[0]); return EXIT_FAILURE; }
+       } catch (std::exception& e) {
+               std::cerr << "Error: " << e.what() << std::endl;
+               return EXIT_FAILURE;
+       }
+}
+
diff --git a/tools/ppa/control.patch b/tools/ppa/control.patch
new file mode 100644 (file)
index 0000000..1de35d8
--- /dev/null
@@ -0,0 +1,6 @@
+--- debian/control
++++ debian/control
+@@ -7,2 +7,3 @@
+  cmake (>= 2.6), pkg-config, quilt, help2man, gettext,
++ libportmidi-dev, libcv-dev, libhighgui-dev,
+  libgl1-mesa-dev, libsdl1.2-dev, libcairo2-dev, librsvg2-dev,
diff --git a/tools/ppa/ppa.sh b/tools/ppa/ppa.sh
new file mode 100755 (executable)
index 0000000..34a01ba
--- /dev/null
@@ -0,0 +1,121 @@
+#!/bin/bash
+# This script fetches fresh git version, applies
+# the changes on top of the current source package
+# from the repositories, builds and signs the new
+# package and uploads it to Launchpad PPA.
+
+#TODO: better changelog (from git?)
+
+
+set -e   # Exit on fail
+
+# Assume default GPG key setup and use it for name & email.
+# Export the vars because the tools use these magic variables also.
+export DEBFULLNAME="`gpg --list-keys | grep uid | sed 's/ <.*//; s/.*uid *//'`"
+export DEBEMAIL="`gpg --list-keys | grep uid | sed 's/ *(.*)//; s/>.*//; s/.*[:<] *//'`"
+
+# Config
+PKG="performous"
+VERSIONCOMMON="0.6.1-99+git"`date '+%Y%m%d'`"~ppa1"
+BASEPKGVERSION="0.6.1" # base version of the base package
+BASEPKGADD="-1" # additional version suffix of the base package
+BASEURL="http://archive.ubuntu.com/ubuntu/pool/universe/p/performous"
+SUITES="lucid maverick natty"
+GITURL="git://git.performous.org/gitroot/performous/performous"
+DESTINATIONPPA="ppa:performous-team/ppa"
+
+TEMPDIR=`mktemp -dt $PKG-ppa.XXXXXXXXXX`
+SOURCEDIR="$TEMPDIR/git"
+PPAPATCHDIR="`pwd`"
+
+       # Print a status message
+       status()
+       {
+               echo -e "\e[0;31m"$@"\e[0m"
+       }
+
+       # Copy the new files for source package
+       CopyNewFiles()
+       {
+               COPYCMD="cp -r"
+               $COPYCMD "$1/CMakeLists.txt" "$2"
+               $COPYCMD "$1/README.txt" "$2"
+               $COPYCMD "$1/cmake" "$2"
+               $COPYCMD "$1/data" "$2"
+               $COPYCMD "$1/docs" "$2"
+               $COPYCMD "$1/game" "$2"
+               $COPYCMD "$1/lang" "$2"
+               $COPYCMD "$1/themes" "$2"
+               $COPYCMD "$1/tools" "$2"
+       }
+
+cd "$TEMPDIR"
+status "Tempdir: `pwd`"
+
+# Figure out the version of the "old" official package
+status "Working on $PKG ${BASEPKGVERSION}${BASEPKGADD}"
+
+mkdir -p $PKG-$BASEPKGVERSION
+cd $PKG-$BASEPKGVERSION
+
+# Download the "old" source package we use as a base
+wget $BASEURL/${PKG}_${BASEPKGVERSION}${BASEPKGADD}.dsc
+wget $BASEURL/${PKG}_${BASEPKGVERSION}.orig.tar.bz2
+wget $BASEURL/${PKG}_${BASEPKGVERSION}${BASEPKGADD}.debian.tar.bz2
+
+# Download fresh version from git
+status "Fetch from git..."
+git clone "$GITURL" "$SOURCEDIR"
+
+# Get some info from git for changelog
+(
+       cd "$SOURCEDIR"
+       # 10 chars from the HEAD commit hash
+       headcommit=`git log | head -n 1 | cut --delimiter=" " -f 2 | cut -c 1-10`
+)
+
+# Loop suites
+status "Do each suite..."
+for suite in $SUITES ; do
+       newversion="${VERSIONCOMMON}~${suite}"
+       rm -rf $suite; mkdir $suite
+       (
+               cd $suite
+               status "Extracting source for $suite..."
+               ln ../${PKG}_* .
+               dpkg-source -x ${PKG}_${BASEPKGVERSION}${BASEPKGADD}.dsc extracted
+               (
+                       cd extracted
+
+                       # Copy new files
+                       status "Copy new files..."
+                       CopyNewFiles "$SOURCEDIR" .
+
+                       # Apply patches
+                       status "Apply some patches..."
+                       cp "$PPAPATCHDIR/"*.patch .
+                       for p in *.patch; do
+                               patch -p0 < "$p"
+                       done
+                       rm *.patch
+
+                       # Hack hack
+                       #TODO: Get rid of these
+                       status "Apply some hacks..."
+                       rm -rf debian/patches # Delete troublesome patch
+
+                       # Do changelog
+                       # Dch complains about unknown suites
+                       yes '' | dch -b -v $newversion -D $suite "Upload development version from Git $headcommit to Ubuntu PPA for $suite."
+
+                       # Build package
+                       #dpkg-buildpackage -sa -S    # Full .orig.gz
+                       dpkg-buildpackage -sd -S    # Only .diff.gz
+               )
+               # Upload to PPA
+               dput $DESTINATIONPPA ${PKG}_${newversion}_source.changes
+       )
+done
+
+status "Files were kept in $TEMPDIR"
+
diff --git a/tools/ppa/ppastats.py b/tools/ppa/ppastats.py
new file mode 100755 (executable)
index 0000000..32aa5e3
--- /dev/null
@@ -0,0 +1,35 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+# Licensed under the GPL v3
+# Written by arand, original: https://launchpadlibrarian.net/81374910/ppastats
+# Modified for Performous by Tapio Vierros
+# Inspired by Alex Mandel's script snippets at https://bugs.launchpad.net/launchpad/+bug/139855
+# This is my biggest project in python to date, it is KLUDGE beyond imagination.
+# On Debian-like systems the package python-launchpadlib is required
+
+import os
+from launchpadlib.launchpad import Launchpad
+
+archs = ["i386", "amd64"]
+releases = ["lucid", "maverick", "natty", "oneiric"]
+
+owner_name = "performous-team"
+ppas = ["ppa"]
+
+for individual_ppa in ppas:
+       print "Usage stats for PPA with owner \"" + owner_name + "\" named \"" + individual_ppa + "\""
+       print "#####"
+       cachedir = os.path.expanduser("~/.launchpadlib/cache/")
+
+       launchpad = Launchpad.login_anonymously('ppastats', 'production', cachedir, version='devel')
+       owner = launchpad.people[owner_name]
+       archive = owner.getPPAByName(name=individual_ppa)
+
+       for individual_arch in archs:
+               for individual_release in releases:
+                       individual_distro_arch_series = "https://api.launchpad.net/devel/ubuntu/" + individual_release + "/" + individual_arch
+                       print "\t" + individual_release + "/" + individual_arch + ":"
+                       for individual_archive in archive.getPublishedBinaries(status='Published',distro_arch_series=individual_distro_arch_series):
+                               print individual_archive.binary_package_name + "\t" + individual_archive.binary_package_version + "\t" + str(individual_archive.getDownloadCount())
+       print "#####"
diff --git a/tools/scripts/create-archive.sh b/tools/scripts/create-archive.sh
new file mode 100755 (executable)
index 0000000..98ff334
--- /dev/null
@@ -0,0 +1,10 @@
+#!/usr/bin/env sh
+
+NAME=performous-`git describe --tags`
+FILE=$NAME.tar.gz
+OUTDIR=`pwd`
+
+cd `dirname $0`/../..
+
+git archive --prefix="$NAME/" -o "$OUTDIR/$FILE" HEAD
+
diff --git a/tools/scripts/fix-songfiles.sh b/tools/scripts/fix-songfiles.sh
new file mode 100755 (executable)
index 0000000..599b2e7
--- /dev/null
@@ -0,0 +1,41 @@
+#/bin/sh
+# this script converts cp1252(windows) filenames+texts to utf8 and fixes wrong .mp3 filenames
+# usage ./fix-files.sh [songdir]
+
+cd "$1"
+
+function fenc {
+ convmv -f cp1252 -t utf8 --notest ./*
+ echo '- converted filenames to utf8'
+}
+
+function textenc {
+ find ./ | grep ".txt" | grep -v .cp1252 | while read txts; do
+  if [ -f "$txts.cp1252" ];
+  then
+   echo "- '$txts.cp1252' exists. skipping.."
+  else
+   mv "$txts" "$txts.cp1252"
+   iconv --from-code=ISO-8859-1 --to-code=UTF-8 "$txts.cp1252" > "$txts"
+   dos2unix "$txts"
+   echo "- converted $txts to utf8 and created backup $txts.cp1252"
+ fi
+ done
+}
+
+function mp3name {
+ txt=`find ./ | grep - | grep .txt | grep -v .txt.`
+ mp3name=`cat "$txt" | grep MP3 | sed -e s/#MP3:// -e s/"\r"//g`
+ oldfile=`find ./ | grep - | grep -i .mp3`
+  if [ -f "$mp3name" ];
+  then
+   echo "- '$mp3name already exists'. check usng log for errors if you still can't select it"
+  else
+   mv "$oldfile" "$mp3name"
+   echo "- moved '$oldfile' to '$mp3name'"
+  fi
+}
+
+fenc
+textenc
+mp3name
diff --git a/tools/scripts/setvocals.sh b/tools/scripts/setvocals.sh
new file mode 100644 (file)
index 0000000..96a3ab8
--- /dev/null
@@ -0,0 +1,20 @@
+#/bin/sh
+# this script guess which is the vocals track of a song and name it "vocals.ogg"
+# usage ./setvocals.sh [songdir]
+
+cd "$1" || exit
+
+function setvocals_rockband {
+       if [ -f "song.ogg" -a -f "drums.ogg" -a -f "rhythm.ogg" -a -f "guitar.ogg" ];
+       then mv song.ogg vocals.ogg;
+       fi
+}
+
+function setvocals_guitarhero {
+       if [ -f "song.ogg" -a -f "drumsFoFiX.ogg" -a -f "songFoFiX.ogg" -a -f "rhythm.ogg" -a -f "guitar.ogg" ];
+       then mv songFoFiX.ogg vocals.ogg;
+       fi
+}
+
+setvocals_rockband
+setvocals_guitarhero
diff --git a/tools/scripts/setvocals_recursively.sh b/tools/scripts/setvocals_recursively.sh
new file mode 100644 (file)
index 0000000..9483acb
--- /dev/null
@@ -0,0 +1,8 @@
+#/bin/sh
+# this script execute "./setvocals_one_song.sh" recursively
+# usage ./setvocals_recursively.sh [parentdir]
+# If you run it with no arguments, it will use the current dir as parent dir
+
+
+[ $# -gt 0 ] || set -- .;
+find "$@" -type d -exec sh ./setvocals.sh {} \;
diff --git a/tools/scripts/translation_wiki_helper.sh b/tools/scripts/translation_wiki_helper.sh
new file mode 100755 (executable)
index 0000000..e2f277b
--- /dev/null
@@ -0,0 +1,250 @@
+#!/bin/bash
+#
+# TODO: error handling, security, the usual suspects.
+
+# Keep these in the global scope
+TOT=
+UNT=
+FUZ=
+TPC=
+ISO_639_XML="/usr/share/xml/iso-codes/iso_639.xml"
+
+die(){
+    echo "$*" >&2
+    exit -1
+}
+
+show_usage(){
+    echo "USAGE: $0 <--overview|--infoboxes [lang]> [--iso-639 file]"
+    echo
+    echo " --overview           Generates the language overview table."
+    echo " --infoboxes [lang]   The two letter ISO-369-1 langauge code used in the PO"
+    echo "                       filename, or the 3-letter terminology code (ISO-639-2T),"
+    echo "                       if no two letter code exits. If none is given infoboxes"
+    echo "                       for all languages found is generated."
+    echo " [--iso-639 file]   Override the location of the ISO-639-1 XML database."
+    echo "                       This defaults to: /usr/share/xml/iso-codes/iso_639.xml"
+}
+
+if [[ "$(basename $PWD)" != "performous" ]] || [[ ! -d ".git" ]] ; then
+       echo "This script must be run from the perfourmous source folder"
+       die "Error: Not in the performous root dir!"
+fi
+
+# Colorize
+#   100 => green background + bold face
+#  >=95 => green background
+#  >=75 => orangeish background
+#  >=50 => orageish background
+#  >=25 => red background
+#   <25 => red background
+colorize(){
+       echo -n 'style="background-color: '
+       if [[ $1 -eq 100 ]] ; then
+               echo -n "#00FF00; font-weight: bold"
+       elif [[ $1 -ge 95 ]] ; then
+               echo -n "#00FF00"
+       elif [[ $1 -ge 75 ]] ; then
+               echo -n "#CCEE00"
+       elif [[ $1 -ge 50 ]] ; then
+               echo -n "#CC9900"
+       elif [[ $1 -ge 25 ]] ; then
+               echo -n "#CC0000"
+       else
+               echo -n "#990000"
+       fi
+       echo -n ';" |'
+}
+
+# This assumes the file /usr/share/xml/iso-codes/iso_639.xml exists
+# and has a very strict format (not only valid XML!)
+get_full_language_name(){
+       # We have no good solution for pt_BR yet
+       L_ONLY="$(echo "$1" | sed 's/_[A-Za-z]*//')"
+
+       if [[ ! -f "$ISO_639_XML" ]] ; then
+               echo "<!> Missing file \"$(basename "$ISO_639_XML")\""
+               die "FATAL ERROR: Missing ISO-639 mappings."
+       fi
+
+       # Note assumptions about the XML file formatting:
+       # (lines marked with * are the important ones, -/... is ignored data)
+       # - <iso_639_entry                      - <iso_639_entry
+       # - ...                                 - ...
+       # * iso_639_1_code="xx"     -- XOR --   * iso_639_2T_code="xxx"
+       # * name="Xyzuvw; ..." />               * name="Xyzuvw; ..." />
+
+       # only pick the first name if many (see XML for examples on eg "nl")
+       NAME=$(grep -A1 "iso_639_1_code=\"$L_ONLY\"" "$ISO_639_XML" | grep name | sed -re 's:[ \t]*name="([^;\"]+).*:\1:')
+       if [[ -z "$NAME" ]] ; then
+           # Try the 3-letter terminology form before giving up
+           # <http://www.opentag.com/xfaq_lang.htm>
+           NAME=$(grep -A1 "iso_639_2T_code=\"$L_ONLY\"" "$ISO_639_XML" | grep name= | sed -re 's:[ \t]*name="([^;\"]+).*:\1:') 
+
+           if [[ -z "$NAME" ]] ; then
+                       # causes: no 2 or 3 letter code exists, or both exists and the 3 letter
+                       # version was used (causing -A1 to give the iso_639_1_code line, grepping
+                       # for name= will fail => NAME="")
+
+                       # Fall back to something other than an empty string
+                       NAME="Unknown"
+           fi
+       fi
+       echo "$NAME"
+}
+
+# get_translator_field: ISO-369-1 Lang × STRING -> STRING
+get_translator_fields(){
+       DB="lang/TRANSLATORS"
+       if [[ -f "$DB" ]] ; then
+               grep "$1:$2 " "$DB" | sed "s%$1:$2 %%"
+               return $?
+       fi
+       echo ""
+       return -1
+}
+
+get_translator_comment(){
+       get_translator_fields "$1" "COMMENT"
+       return $?
+}
+
+last_commit_date(){
+       # ci vs ai? author vs commit date? I'm guessing ci is what we want,
+       # when the commit was made, not when the autor made the edit.
+       # (thus the assumption is: %ci more recent or exactly equal to %ai)
+       git log --date-order -n1 --pretty=format:%ci --no-color --date=iso
+}
+last_commit_id(){
+       # %H = full commit hash
+       # %h = short commit hash
+       git log --date-order -n1 --pretty=format:%h --no-color --date=iso
+}
+last_commit_gitweb_uri(){
+       local GIT_WEB_URI_BASE="https://github.com/performous/performous"
+       local GIT_WEB_URI="${GIT_WEB_URI_BASE}/commit/$(git log --date-order -n1 --pretty=format:%H --no-color --date=iso)"
+       echo "$GIT_WEB_URI"
+}
+
+current_gitweb_uri(){
+       local GIT_WEB_URI_BASE="https://github.com/performous/performous/tree/master"
+       local GIT_WEB_URI="${GIT_WEB_URI_BASE}/$1"
+       echo "$GIT_WEB_URI"
+}
+
+# update_vars : ISO-369-1 LANG -> Ø
+update_vars(){
+       OUT="$( LC_ALL=C msgfmt --statistics "lang/$1.po" 2>&1 )"
+
+       # Extract translated, fuzzy and untranslated counts
+       # Note: msgfmt has bad habits:
+       #  * stats are apparently errors, as they're sent to stderr
+       #  * it says "1 fuzzy translation" and "2 fuzzy translations", thus
+       #    the "...s?..." to catch that case, I'm assuming this holds for
+       #    all three components.
+       #sed -re "s%^([0-9]+) translated messages?(, ([0-9]+) fuzzy translations?)?(, ([0-9]+) untranslated messages?)?\.%LANG=$1;T=\1;F=\3;U=\5%"
+       TOT=$(echo "$OUT" | sed -re "s%^([0-9]+) translated messages?(, ([0-9]+) fuzzy translations?)?(, ([0-9]+) untranslated messages?)?\.%\1%")
+       FUZ=$(echo "$OUT" | sed -re "s%^([0-9]+) translated messages?(, ([0-9]+) fuzzy translations?)?(, ([0-9]+) untranslated messages?)?\.%\3%")
+       UNT=$(echo "$OUT" | sed -re "s%^([0-9]+) translated messages?(, ([0-9]+) fuzzy translations?)?(, ([0-9]+) untranslated messages?)?\.%\5%")
+
+       # compute the % of translated strings
+       TPC="N/A"
+       if      [[ -z "$TOT" ]] || [[ "$TOT" == "0" ]] &&
+               [[ -z "$FUZ" ]] || [[ "$FUZ" == "0" ]] &&
+               [[ -z "$UNT" ]] || [[ "$UNT" == "0" ]] ; then
+               TPC="0"
+       else
+               [[ -z "$TOT" ]] && TOT=0
+               [[ -z "$FUZ" ]] && FUZ=0
+               [[ -z "$UNT" ]] && UNT=0
+               TPC="$(echo "100 * $TOT / (( $TOT + $UNT + $FUZ ))" | bc)"
+       fi
+}
+
+# internal use by generate_overview
+overview_wikify(){
+       I_LANG="$(echo "$1" | sed -re 's:lang/([a-zA-Z_]+)\.po:\1:')"
+       LONG_LANG="$(get_full_language_name "$I_LANG")"
+       [[ $? -eq 0 ]] || die "$LONG_LANG"
+       update_vars "$I_LANG"
+
+       # find overview translation comments (if any)
+       COMMENT="$(get_translator_comment $I_LANG)"
+       PC_COLOR=$(colorize $TPC)
+       GIT_URL="$(current_gitweb_uri "$1")"
+
+       echo "|-"
+       echo "| [[Translations ($LONG_LANG)|$LONG_LANG ($I_LANG)]] || ${PC_COLOR} ${TPC}&nbsp;% || $TOT || $FUZ || ${UNT} || '''$(( $TOT + $UNT + $FUZ ))''' || [$GIT_URL $I_LANG.po] || ${COMMENT}"
+}
+
+generate_overview(){
+       cat <<EOH
+{| border="1" cellspacing="0" cellpadding="5"
+| rowspan="2" | '''Language'''                || colspan="5" align="center" | '''Progress''' || rowspan="2" | '''Current version''' || rowspan="2" | '''Comment'''
+|-
+|                                                '''%''' || '''Translated''' || '''Fuzzy''' || '''Untranslated''' || '''Total'''
+EOH
+       for a in $(ls -1 lang/*po) ; do
+               overview_wikify "$a"
+       done
+       echo "|}"
+
+       echo "Table last updated: $(date --rfc-3339=seconds) (based on git commit <tt>[$(last_commit_gitweb_uri) $(last_commit_id)]</tt> @ $(last_commit_date))"
+}
+
+generate_infoboxes(){
+       I_LANG="$(echo "$1" | sed -re 's:lang/([a-zA-Z_]+)\.po:\1:')"
+       YYYY_MM_DD="$(LC_ALL=C git log -1 --format="%ci" lang/$I_LANG.po)"
+
+       OUT="$( LC_ALL=C msgfmt --statistics "$1" 2>&1 )"
+       LONG_LANG="$(get_full_language_name "$I_LANG")"
+       [[ $? -eq 0 ]] || die "$LONG_LANG"
+       update_vars "$I_LANG"
+
+       STATUS="$(get_translator_fields "$I_LANG" "STATUS")"
+       CONTACT="$(get_translator_fields "$I_LANG" "CONTACT")"
+
+       echo "{{Translation:TranslationInfo|Status=$STATUS|LANG=$I_LANG|PERCENT=$TPC|STRINGS=$TOT / $(( $TOT + $FUZ + $UNT ))|FUZZY=$FUZ|NOTRANS=$UNT|Updated=$YYYY_MM_DD|Contact=$CONTACT}}"
+}
+
+if [[ "$1" == "--overview" ]] ; then
+    if [[ "$2" == "--iso-639" ]] && [[ -n "$3" ]] ; then
+           [[ -f "$3" ]] || die "The <$3> doesn't exist!"
+           ISO_639_XML="$3"
+       elif [[ $# -ne 1 ]] ; then
+           show_usage
+           die "Error: Invalid commandline."
+       fi
+       generate_overview
+elif [[ "$1" == "--infoboxes" ]] ; then
+    L="$2"
+
+       shift # of the --infoboxes arg
+       if [[ "$L" == "--iso-639" ]] ; then
+           # lang to --infoboxes was omitted, clear it.
+           L=""
+       else
+           shift # of the lang argument
+       fi
+
+       if [[ $# -eq 2 ]] && [[ "$1" == "--iso-639" ]] && [[ -n "$1" ]] ; then
+           [[ -f "$2" ]] || die "The <$2> doesn't exist!"
+           ISO_639_XML="$2"
+       elif [[ $# -ne 0 ]] ; then
+           show_usage
+           die "Error: Invalid commandline."
+       fi
+
+       if [[ -z "$L" ]] ; then
+               for a in $(ls -1 lang/*po) ; do
+                       generate_infoboxes "$a"
+               done
+       else
+           if [[ -d lang ]] && [[ ! -f "lang/${L}.po" ]] ; then
+                       die "There is no translation (.po) file for <$L>!"
+               fi
+               generate_infoboxes "$L"
+       fi
+else
+    show_usage
+fi
diff --git a/tools/scripts/txts2duet b/tools/scripts/txts2duet
new file mode 100755 (executable)
index 0000000..de8c087
--- /dev/null
@@ -0,0 +1,239 @@
+#!/usr/bin/env python
+
+"""Ultrastar TXT file duet merger
+=================================
+
+This program merges Ultrastar TXT files into a duet. Preconditions are:
+
+* All metadata but TITLE and GAP match
+* The files match the author's highly subjective perception of well-formedness,
+  which is influenced by the documentation available on [1] and [2], but can
+  not be regardes as canonical for lack of proper documentation.
+
+[1] http://thebrickyblog.wordpress.com/2011/01/27/ultrastar-txt-files-in-more-depth/
+[2] http://www.ultrastarstuff.com/html/tutorialtxtfile.html
+"""
+
+# Copyright (C) 2013 chrysn <chrysn@fsfe.org>
+# 
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+import sys
+import os.path
+from collections import OrderedDict
+import argparse
+
+class FileFormatViolation(Exception): "An input file is not formed as the author of this program expects it."
+
+class TXTFile(object):
+    """UltraStar TXT song description"""
+    def __init__(self, filelike):
+        self.headers = OrderedDict()
+
+        self.players = {}
+        self.unnamedplayer = []
+
+        current_player = self.unnamedplayer
+
+        done = False
+
+        for line in filelike:
+            line = line.rstrip('\n\r')
+
+            if done:
+                raise FileFormatViolation('Garbage after end of file ("E").')
+
+            if line.startswith('#') and ':' in line:
+                key, value = line[1:].split(':', 2)
+                if key in self.headers:
+                    raise FileFormatViolation('Duplicate header line.')
+                self.headers[key] = value
+            elif line.startswith('E'):
+                done = True
+            elif line.startswith('P'):
+                try:
+                    playernumber = int(line[1:].strip())
+                except ValueError:
+                    raise FileFormatViolation("Non-numeric player identity")
+                if playernumber in self.players:
+                    raise FileFormatViolation("Dupliate player identity")
+                current_player = []
+                self.players[playernumber] = current_player
+            elif line[0] in ':*F-':
+                parts = line.split(' ', 4)
+                current_player.append(parts)
+            else:
+                raise FileFormatViolation("Unknown line (%s)"%line)
+
+        if not done:
+            raise FileFormatViolation('Missing end of file ("E").')
+
+        if self.players and self.unnamedplayer:
+            raise FileFormatViolation('Contains both singleplayer and multiplayer data')
+
+    def to_multiplayer_first(self):
+        if self.players:
+            raise ValueError("Can not convert multiplayer file to multiplayer mode")
+
+        self.players[1] = self.unnamedplayer
+        self.unnamedplayer = []
+
+    def merge(self, other, new_headers):
+        if other.players:
+            raise ValueError("Can not merge multi-player files")
+
+        own_gap = self.get_float_header('GAP')
+        other_gap = other.get_float_header('GAP')
+
+        if own_gap > other_gap:
+            self.adjust_gap_transparent(other_gap)
+        if other_gap > own_gap:
+            other.adjust_gap_transparent(own_gap)
+
+        for k,v in self.headers.items():
+            if k in new_headers:
+                continue
+            if other.headers[k] != v:
+                raise ValueError("Can not merge files: header field %r differs (%r, %r)"%(k, v, other.headers[k]))
+
+        self.players[max(self.players) + 1] = other.unnamedplayer
+
+        self.headers.update(new_headers)
+
+    def get_float_header(self, name):
+        return float(self.headers.get(name, '0').replace(',', '.'))
+
+    def set_float_header(self, name, value):
+        # the limit of 16 digits is somewhat arbitrary, but the normal string
+        # formatter would go to exponential notation, and that's probably not
+        # compatible with txt files
+        self.headers[name] = "{:.8f}".format(value).rstrip('0').rstrip('.').replace('.', ',')
+
+    def adjust_gap_transparent(self, new_gap):
+        """Change the value of GAP, but modify all lines there is no change in
+        the song itself"""
+
+        old_gap = self.get_float_header('GAP')
+
+        summand = (old_gap - new_gap) / 60000 * self.get_float_header('BPM') * 4
+        if summand == 0:
+            return
+
+        rounded = int(round(summand))
+        error = max(summand / rounded, rounded / summand) - 1
+
+        if error >= 0.0001: # a reasonable epsilon
+            raise ValueError("Incompatible GAP values, would have to use finer BPM")
+
+        self.shift_lines(rounded)
+
+        self.set_float_header('GAP', new_gap)
+
+    def shift_lines(self, summand):
+        """Add summand to all start times of lines in a file"""
+
+        if self.headers.get('RELATIVE', 'NO') != 'NO':
+            raise ValueError("Can not shift around lines in relative mode")
+
+        for player in [self.unnamedplayer] + list(self.players.values()):
+            for line in player:
+                try:
+                    old_start = int(line[1])
+                except (KeyError, ValueError):
+                    raise FileFormatViolation("Can not determine start time of %r"%(line,))
+
+                new_start = old_start + summand
+                if new_start < 0:
+                    raise ValueError("Can not shift start times to negative values")
+                line[1] = str(old_start + summand)
+
+    def serialize(self, outfile):
+        for (k, v) in self.headers.items():
+            outfile.write('#%s:%s\r\n'%(k, v))
+        for line in self.unnamedplayer:
+            outfile.write(" ".join(line) + '\r\n')
+        for (player_id, lines) in self.players.items():
+            outfile.write('P%d\r\n'%player_id)
+            for line in lines:
+                outfile.write(" ".join(line) + '\r\n')
+        outfile.write('E\r\n')
+
+def merge(infiles, outfile, title):
+    indata = [TXTFile(open(i)) for i in infiles]
+
+    if title is None:
+        try:
+            title = mergeguesser(list(d.headers['TITLE'] for d in indata))
+        except (ValueError, KeyError):
+            raise ValueError("Can not guess shared title, please provide one")
+
+    if outfile is None:
+        filenames, exts = zip(*(os.path.splitext(f) for f in infiles))
+        try:
+            outfile = mergeguesser(filenames) + exts[0]
+        except ValueError:
+            raise ValueError("Can not guess output file name, please provide one")
+
+    original = indata[0]
+    original.to_multiplayer_first()
+    for m in indata[1:]:
+        original.merge(m, {'TITLE': title})
+
+    with open(outfile, 'w') as of:
+        original.serialize(of)
+
+def mergeguesser(strings):
+    """Given a number of strings, guess how a duet composed of all those files
+    could be called. Raises a ValueError if no reasonable guess can be made."""
+
+    parens = {'(':')', '[': ']', '{': '}', '<': '>'}
+
+    if len(strings) < 2:
+        raise ValueError("Not enough strings to guess")
+
+    for i in range(max(len(x) for x in strings), 4, -1): # 4 is the arbitrary minimum lenth of a common substring to be considered "reasonable"
+        subs = [x[:i] for x in strings]
+        if all(x == subs[0] for x in subs):
+            break
+    else:
+        raise ValueError("No reasonable common substring")
+
+    substring = subs[0]
+
+    if substring[-1] in parens:
+        return substring + 'Duet' + parens[substring[-1]]
+
+    return substring + ' (Duet)'
+
+def main():
+    p = argparse.ArgumentParser(description=__doc__.split('\n')[0].strip())
+    p.add_argument('--output', metavar='FILE', type=str, help='Name of the resulting file')
+    p.add_argument('--title', type=str, help='Title of the merged song')
+    p.add_argument('input', type=str, nargs='+', help='Files to be merged')
+    p.add_argument('--debug', help='Show backtraces instead of error messages')
+
+    args = p.parse_args()
+
+    if args.debug:
+        merge(args.input, args.output, args.title)
+    else:
+        try:
+            merge(args.input, args.output, args.title)
+        except (FileFormatViolation, ValueError), e:
+            sys.stderr.write("Could not complete merging: %s\n"%e)
+            sys.exit(1)
+
+if __name__ == "__main__":
+    main()
diff --git a/tools/scripts/usdb.sh b/tools/scripts/usdb.sh
new file mode 100755 (executable)
index 0000000..234b470
--- /dev/null
@@ -0,0 +1,272 @@
+#!/bin/bash
+#
+# this is revision 3
+#
+
+[ -z "$USDB_DEST_DIR" ] && USDB_DEST_DIR="${HOME}/.ultrastar/songs"
+[ ! -e "$USDB_DEST_DIR" ] && mkdir -p "$USDB_DEST_DIR"
+
+set -eu
+
+if [ $# != 1 ] ; then
+  echo " >>> This script should help you to import .txt files into your"
+  echo " >>> song repository or update .txt files currently in the repository"
+  echo " >>> by adding a video, cover or background image."
+  echo " >>> It will guide you to youtube/google image search, insert the"
+  echo " >>> proper tags and copy everything to your USDB_DEST_DIR."
+  echo " >>> "
+  echo " >>> usage: "`basename $0`" [songfile.txt]"
+  echo " >>> "
+  exit
+fi
+
+if [ ! -e "$1" ] ; then
+  echo " >>> error: file \"$1\" does not exist."
+  exit 1
+fi
+
+# testing dependencies
+if which wget > /dev/null 2>/dev/null ; then
+  DOWNLOAD_CMD="wget -O"
+elif which curl > /dev/null 2>/dev/null ; then
+  DOWNLOAD_CMD="curl -o"
+else
+  echo " >>> error: install either wget or curl."
+  exit 1
+fi
+if ! which youtube-dl > /dev/null 2>/dev/null ; then
+  echo " >>> error: youtube-dl not found in the path."
+  echo " >>> get ih here: http://www.arrakis.es/~rggi3/youtube-dl/"
+  exit 1
+fi
+
+function escape {
+  perl -MCGI -e \ 'print CGI->escape(@ARGV), "\n"' "$1"
+}
+
+echo " >>> USDB_DEST_DIR = $USDB_DEST_DIR"
+
+WORK_DIR=`dirname "$1"`
+
+cd "$WORK_DIR"
+TXT=`basename "$1"`
+
+# remove backslashes from the filename (beta)
+if echo "$TXT" | grep -q \\\\ ; then
+  NEWTXT=`echo "$TXT" | sed -e s:\\\\\\\\::g`
+  echo " >>> removing backslash from filename..."
+  mv "$TXT" "$NEWTXT"
+  TXT="$NEWTXT"
+fi
+
+PREFIX=`basename "$TXT" ".txt"`
+TMP="${PREFIX}.old"
+
+# convert \r\n --> \n
+if grep -q $'\r' "$TXT" ; then
+  echo " >>> converting from CRLF to LF"
+  mv "$TXT" "$TMP"
+  sed -e s:\\\r::g -- "$TMP" > "$TXT"
+  rm "$TMP"
+fi
+
+while file "$TXT" | grep -q ISO ; do
+  echo
+  echo " >>> the files is not UTF-8, it will be opened in gedit for inspection."
+  echo " >>> Save it as UTF-8, press return to continue, type 'no' to cancel."
+  echo -n " >>> any key ... "
+  read REPLY
+  if [ "x$REPLY" = "xno" ] ; then
+    break
+  else
+    gedit "$TXT"
+    [ -e "${TXT}~" ] && rm "${TXT}~"
+  fi
+done
+
+ARTIST=`grep     "#ARTIST:"     "$TXT" | cut -d : -f 2`
+TITLE=`grep      "#TITLE:"      "$TXT" | cut -d : -f 2`
+MP3=`grep        "#MP3:"        "$TXT" | cut -d : -f 2`
+BPM=`grep        "#BPM:"        "$TXT" | cut -d : -f 2`
+VIDEO=`grep      "#VIDEO:"      "$TXT" | cut -d : -f 2`
+COVER=`grep      "#COVER:"      "$TXT" | cut -d : -f 2`
+BACKGROUND=`grep "#BACKGROUND:" "$TXT" | cut -d : -f 2`
+
+if [ "x$ARTIST" = "x" -o "x$TITLE" = "x" -o "x$BPM" = "x" ] ; then
+  echo " >>> error: this does not seem to ba a valid ultrastar file."
+  exit 1
+fi
+
+if test -z "$MP3" || test ! -e "$MP3" ; then
+  GET_VIDEO=yes
+elif test -z "$VIDEO" || test ! -e "$VIDEO" ; then
+  echo
+  echo " >>> There is an MP3 that looks good, but no video."
+  echo " >>> If you want to delete the .mp3 and look for a video, enter yes."
+  echo -n " >>> delete the MP3? [no]: "
+  read DEL
+  if [ "x$DEL" = "xyes" ] ; then
+    rm "$MP3"
+    GET_VIDEO=yes
+  else
+    GET_VIDEO=no
+  fi
+else
+  GET_VIDEO=no
+fi
+
+# VIDEO not set/does not exist
+if [ $GET_VIDEO = yes ] ; then
+
+  echo
+
+  # remove MP3 VIDEO and VIDEOGAP
+  echo " >>> removing old #MP3 #VIDEO and #VIDEOGAP tags"
+  mv "$TXT" "$TMP"
+  grep -v "#MP3:" "$TMP" | grep -v "#VIDEO:" | grep -v "#VIDEOGAP:" > "$TXT"
+  rm "$TMP"
+
+  # download video
+  ESCAPED=`escape "\"$ARTIST\" \"$TITLE\""`
+  URL="http://www.youtube.com/results?search_query=$ESCAPED"
+  echo " >>> Please look for the song here, then enter the desired video url below"
+  echo " >>> $URL"
+  echo -n " >>> youtube url: "
+  read YOUTUBE_URL
+  [ -z "$YOUTUBE_URL" ] && echo " >>> canceled." && exit
+  MP3="${PREFIX}.mp4"
+  VIDEO="${PREFIX}.mp4"
+  echo " >>> running youtube-dl ..."
+  youtube-dl -b -o "$VIDEO" "$YOUTUBE_URL"
+  
+  echo " >>> adding new #MP3 and #VIDEO tags"
+  mv "$TXT" "$TMP"
+  echo "#MP3:${MP3}" > "$TXT"
+  echo "#VIDEO:${VIDEO}" >> "$TXT"
+  cat "$TMP" >> "$TXT"
+  rm "$TMP"
+  
+fi
+
+# COVER does not exist
+if test -z "$COVER" || test ! -e "$COVER" ; then
+
+  echo
+
+  # remove COVER
+  if [ -n "$COVER" ] ; then
+    echo " >>> removing old #COVER tag"
+    mv "$TXT" "$TMP"
+    grep -v "#COVER:" "$TMP" > "$TXT"
+    rm "$TMP"
+  fi
+
+  # download image
+  ESCAPED=`escape "\"$ARTIST\" \"$TITLE\" cover"`
+  URL="http://images.google.com/images?q=$ESCAPED"
+  echo " >>> Please look for the cover here, or press return to skip"
+  echo " >>> $URL"
+  echo -n " >>> image url: "
+  read COVER_URL
+  if [ -z "$COVER_URL" ] ; then
+    echo " >>> skipping."
+  else
+    COVER="${PREFIX} [CO].jpg"
+    echo " >>> downloading image ..."
+    $DOWNLOAD_CMD "$COVER" "$COVER_URL"
+
+    echo " >>> adding new #COVER tag"
+    mv "$TXT" "$TMP"
+    echo "#COVER:${COVER}" | cat - "$TMP" > "$TXT"
+    rm "$TMP"
+  fi
+
+fi
+
+# BACKGROUND does not exist
+if test -z "$BACKGROUND" || test ! -e "$BACKGROUND" ; then
+
+  echo
+
+  # remove BACKGROUND
+  if [ -n "$BACKGROUND" ] ; then
+    echo " >>> removing old #BACKGROUND tag"
+    mv "$TXT" "$TMP"
+    grep -v "#BACKGROUND:" "$TMP" > "$TXT"
+    rm "$TMP"
+  fi
+
+  # download image
+  ESCAPED=`escape "\"$ARTIST\" \"live performance\""`
+  URL="http://images.google.com/images?q=$ESCAPED"
+  echo " >>> Please look for an image of the band performing, or press return to skip"
+  echo " >>> $URL"
+  echo -n " >>> image url: "
+  read BG_URL
+  if [ -z "$BG_URL" ] ; then
+    echo " >>> skipping."
+  else
+    BACKGROUND="${PREFIX} [BG].jpg"
+    echo " >>> downloading image ..."
+    $DOWNLOAD_CMD "$BACKGROUND" "$BG_URL"
+
+    echo " >>> adding new #BACKGROUND tag"
+    mv "$TXT" "$TMP"
+    echo "#BACKGROUND:${BACKGROUND}" | cat - "$TMP" > "$TXT"
+    rm "$TMP"
+  fi
+
+fi
+
+# calculate first note offset
+FIRST=`grep -E '[\\:F\\*] [0-9]+ [0-9]+ [0-9]+ ' "$TXT" | head -n 1 | cut -d " " -f 2`
+BPM=`echo $BPM | sed -e s/,/./g`
+SUBSTRACT=`echo "$FIRST / $BPM / 4 * 60000" | bc -l | cut -d . -f 1`
+
+# check for overlapping notes
+ERRORLINES=""
+LASTTIME="-1000000"
+LINENUM="1"
+while read LINE ;do
+  TIME=`echo "$LINE" | grep -E '[\\:F\\*\\-] [0-9]+' | cut -d " " -f 2`
+  if [ -n "$TIME" ] ; then
+    [ $LASTTIME -gt $TIME ] && ERRORLINES="${ERRORLINES}${LINENUM} "
+    LASTTIME="$TIME"
+  fi
+  let "LINENUM++"
+done < "$TXT"
+
+# all done, move files to destination
+if [ "`cd .. ; pwd`" != "${USDB_DEST_DIR}" ] ; then
+  DIR="${USDB_DEST_DIR}/$ARTIST - $TITLE"
+  echo
+  echo " >>> moving files to ..."
+  echo " >>> $DIR/"
+  mkdir "$DIR"
+  mv "$TXT" "$MP3" "$DIR"
+  [ -e "$VIDEO" ] && mv "$VIDEO" "$DIR"
+  [ -e "$COVER" ] && mv "$COVER" "$DIR"
+  [ -e "$BACKGROUND" ] && mv "$BACKGROUND" "$DIR"
+else
+  DIR="$WORK_DIR"
+fi
+
+echo
+echo " >>> To get the timing right, you might want to do this:"
+echo
+echo "mplayer -ao pcm:file=/tmp/dump.wav -vo null \"$DIR/$MP3\""
+echo "audacity /tmp/dump.wav && rm /tmp/dump.wav"
+echo "gedit \"$DIR/$TXT\""
+echo
+
+if [ "x$SUBSTRACT" != "x0" ] ; then
+  echo " >>> Note that the first note does not start at zero."
+  echo " >>> You have to substract ${SUBSTRACT}ms from the #GAP meassured with audacity."
+  echo
+fi
+
+if [ -n "$ERRORLINES" ] ; then
+  echo " >>> Warning: This song will not work in Performous, because there are overlapping notes."
+  echo " >>> Please have a look at these lines: $ERRORLINES"
+  echo
+fi
diff --git a/tools/scripts/xml_gettext.sh b/tools/scripts/xml_gettext.sh
new file mode 100755 (executable)
index 0000000..b0ea3e3
--- /dev/null
@@ -0,0 +1,101 @@
+#!/bin/bash
+#
+# This script is intended to be executed from Poedit
+# See instructions in lang/README.
+#
+# As long as the xml files are well-formed XML documents with
+# entry blocks like the following one (from scheme.xml) this
+# script should have no problems extracting the strings.
+#              <entry ...>
+#                      <short>Karaoke mode</short>
+#                      <long>Hide pitch wave, notes and scoring.</long>
+#              </entry>
+
+# match <entry, ignoring allowed whitespace.
+match_entry_start(){
+       echo "$1" | grep -qE '^[[:space:]]*<[[:space:]]*entry.*>[[:space:]]*$'
+       return $?
+}
+
+# match </entry>, ignoring allowed whitespace.
+match_entry_end(){
+       echo "$1" | grep -qE '^[[:space:]]*<[[:space:]]*/[[:space:]]*entry>[[:space:]]*$'
+       return $?
+}
+
+# matches lines with <$1>...</$1>, ignoring allowed whitespace.
+match_simple_tag(){
+       echo "$2" | grep -qE "^[[:space:]]*<[[:space:]]*$1[[:space:]]*>.*</[[:space:]]*$1[[:space:]]*>[[:space:]]*$"
+       return $?
+}
+
+# <abc>def</abc> -> _("def")
+# Note: every " is automatically replaced by \". This is what you want, not
+# invalid C code.
+transform_simple_tag_to_keyworded_string(){
+       echo "$1" | sed -re 's:\":\\\":g' -e 's:^[[:space:]]*<[[:space:]]*([a-z]+)[[:space:]]*>(.*)<[[:space:]]*/[[:space:]]*\1[[:space:]]*>[[:space:]]*$:\2:'
+}
+
+transform_and_add_string(){
+       echo "#: $2:$3"
+       echo "msgid \"$(transform_simple_tag_to_keyworded_string "$1")\""
+       echo 'msgstr ""'
+       echo
+}
+
+# transform <short/> and <long/> lines to _() lines
+process_locale_block_line(){
+       match_simple_tag "short" "$1" && transform_and_add_string "$1" "$2" "$3"
+       match_simple_tag "long" "$1" && transform_and_add_string "$1" "$2" "$3"
+}
+
+process_xml(){
+       IN_BLOCK=0
+       line_no=0
+       cat "$1" | while read line
+       do
+               line_no=$(($line_no + 1))
+
+               # A simple 2-state automata, either we're in a <entry/>-block
+               # or we're not. Limited detection and bail-out on malformed XML
+               if [[ $IN_BLOCK -eq 1 ]] ; then
+                       match_entry_end "$line"
+                       if [[ $? -eq 0 ]] ; then
+                               IN_BLOCK=0
+                       else
+                               process_locale_block_line "$line" "$1" "$line_no"
+                       fi
+
+                       # <entry...> with out </entry> found:
+                       match_entry_start "$line" && (echo "Malformed XML $file:$line_no: Opening entry-tag found while already inside an entry block." >&2 ;exit 2)
+
+               else
+                       # </entry> with out <entry> found:
+                       match_entry_end "$line" && (echo "Malformed XML $file:$line_no:: Closing entry-tag without prior opening tag." >&2 ;exit 2)
+
+                       match_entry_start "$line"
+                       if [[ $? -eq 0 ]] ; then
+                               IN_BLOCK=1
+                       fi
+               fi
+       done 
+}
+
+
+if [[ $# -lt 1 ]] ; then
+       echo "USAGE: $0 <output file> [files...]"
+       exit 1
+fi
+
+POEDIT_FILE="$1"
+shift
+
+# Start the dirty work
+{
+for file in $* ; do
+       process_xml "$file"
+done
+} | msguniq -o "$POEDIT_FILE"
+
+
+exit 0
diff --git a/tools/ss_binary.hh b/tools/ss_binary.hh
new file mode 100644 (file)
index 0000000..0864d6b
--- /dev/null
@@ -0,0 +1,176 @@
+#include "adpcm.h"
+#include "ipuconv.hh"
+
+unsigned getLE16(char* buf) { unsigned char* b = reinterpret_cast<unsigned char*>(buf); return b[0] | (b[1] << 8); }
+unsigned getLE32(char* buf) { unsigned char* b = reinterpret_cast<unsigned char*>(buf); return b[0] | (b[1] << 8) | (b[2] << 16) | (b[3] << 24); }
+
+void writeWavHeader(std::ostream& outfile, unsigned ch, unsigned sr, unsigned samples) {
+       unsigned bps = ch * 2; // Bytes per sample
+       unsigned datasize = bps * samples;
+       unsigned size = datasize + 0x2C;
+       outfile.write("RIFF" ,4); // RIFF chunk
+       { unsigned int tmp=size-0x8 ; outfile.write((char*)(&tmp),4); } // RIFF chunk size
+       outfile.write("WAVEfmt ",8); // WAVEfmt header
+       { int   tmp=0x00000010 ; outfile.write((char*)(&tmp),4); } // Always 0x10
+       { short tmp=0x0001     ; outfile.write((char*)(&tmp),2); } // Always 1
+       { short tmp = ch; outfile.write((char*)(&tmp),2); } // Number of channels
+       { int   tmp = sr; outfile.write((char*)(&tmp),4); } // Sample rate
+       { int   tmp = bps * sr; outfile.write((char*)(&tmp),4); } // Bytes per second
+       { short tmp = bps; outfile.write((char*)(&tmp),2); } // Bytes per frame
+       { short tmp = 16; outfile.write((char*)(&tmp),2); } // Bits per sample
+       outfile.write("data",4); // data chunk
+       { int   tmp = datasize; outfile.write((char*)(&tmp),4); }
+}
+
+void writeMusic(fs::path const& filename, std::vector<short> const& buf, unsigned sr) {
+       std::ofstream f(filename.string().c_str(), std::ios::binary);
+       writeWavHeader(f, 2, sr, buf.size());
+       f.write(reinterpret_cast<char const*>(&buf[0]), buf.size() * sizeof(short));
+}
+
+void video_us(Song& song, PakFile const& iavFile, PakFile const& indFile, fs::path const& outPath) {
+       // Tracks on my example
+       // 0 => video (ipu)
+       // 1 and 2 => adpcm song (left/right)
+       // 3 and 4 => adpcm vocals (left/right)
+
+       std::vector<char> ipudata;
+       std::vector<char> data;
+       std::vector<char> ind_file;
+       indFile.get(ind_file);
+
+       unsigned int iav_offset = 0;
+       unsigned int frame = 0;
+       for( unsigned int ind_offset = 0x68 ; ind_offset < ind_file.size() ; ind_offset+=2) {
+               unsigned int size = getLE16(&ind_file[ind_offset]) << 4;
+               switch(frame % 5) {
+               case 0:
+                       // first 4 bytes are packet length
+                       iavFile.get(data, iav_offset, size);
+                       {
+                               unsigned int consumed = 0;
+                               while(consumed < size) {
+                                       unsigned int opaque_footer_size = 3 * sizeof(int);
+                                       unsigned int chunk = getLE32(&data[consumed]);
+                                       ipudata.insert(ipudata.end(), data.begin() + 4 + consumed, data.begin() + consumed + chunk - opaque_footer_size);
+                                       consumed += chunk;
+                               }
+                       }
+                       iav_offset += size;
+                       break;
+               case 1:
+               case 2:
+               case 3:
+               case 4:
+                       // audio
+                       iav_offset += size;
+                       break;
+               }
+               frame++;
+       }
+
+       IPUConv(ipudata, (outPath / "video.mpg").string(), song.pal);
+       song.video = outPath / "video.mpg";
+}
+
+void music_us(Song& song, PakFile const& iavFile, PakFile const& indFile, fs::path const& outPath) {
+       // Tracks on my example
+       // 0 => video (ipu)
+       // 1 and 2 => adpcm song (left/right)
+       // 3 and 4 => adpcm vocals (left/right)
+       // std::cout << "  >>> IAV file size: " << iavFile.size << std::endl;
+       // std::cout << "  >>> IND file size: " << indFile.size << std::endl;
+
+       std::vector<char> ind_file;
+       indFile.get(ind_file);
+       unsigned int sr = getLE32(&ind_file[0x60]);
+       // std::cout << "  >>> sample rate: " << sr << std::endl;
+
+       const unsigned decodeChannels = 4; // Do not change!
+       Adpcm adpcm(0, decodeChannels);
+       std::vector<short> pcm[2];
+
+       bool karaoke = false;
+       unsigned int iav_offset = 0;
+       unsigned int frame = 0;
+       unsigned int video_size, audio_size = 0;
+       for( unsigned int ind_offset = 0x68 ; ind_offset < ind_file.size() ; ind_offset+=2) {
+               unsigned int size = getLE16(&ind_file[ind_offset]) << 4;
+               switch(frame%5) {
+                       case 0:
+                               video_size = size;
+                               iav_offset += video_size;
+                               break;
+                       case 1:
+                               // song left
+                               audio_size = size;
+                               break;
+                       case 2:
+                               // song right
+                               audio_size += size;
+                               break;
+                       case 3:
+                               // vocals left
+                               audio_size += size;
+                               break;
+                       case 4:
+                               // vocals right
+                               audio_size += size;
+                               adpcm.interleave(size);
+                               for (unsigned pos = 0, end; (end = pos + 2 * adpcm.chunkBytes()) <= audio_size; pos = end) {
+                                       std::vector<char> data;
+                                       iavFile.get(data, iav_offset + pos, end - pos);
+                                       std::vector<short> pcmtmp(adpcm.chunkFrames() * decodeChannels);
+                                       adpcm.decodeChunk(&data[0], pcmtmp.begin());
+                                       for (size_t s = 0; s < pcmtmp.size(); s += 4) {
+                                               short l1 = pcmtmp[s];
+                                               short r1 = pcmtmp[s + 1];
+                                               short l2 = pcmtmp[s + 2];
+                                               short r2 = pcmtmp[s + 3];
+                                               pcm[0].push_back(l1);
+                                               pcm[0].push_back(r1);
+                                               pcm[1].push_back(l2);
+                                               pcm[1].push_back(r2);
+                                               if (l2 != 0 || r2 != 0) karaoke = true;
+                                       }
+                               }
+                               iav_offset += audio_size;
+                               break;
+               }
+               frame++;
+       }
+       std::string ext;
+       writeMusic(song.music = outPath / ("music.wav"), pcm[0], sr);
+       if (karaoke) writeMusic(song.vocals = outPath / ("vocals.wav"), pcm[1], sr);
+}
+
+void music(Song& song, PakFile const& dataFile, PakFile const& headerFile, fs::path const& outPath) {
+       std::vector<char> data;
+       headerFile.get(data);
+       unsigned sr = getLE16(&data[12]);
+       unsigned interleave = getLE16(&data[16]);
+       const unsigned decodeChannels = 4; // Do not change!
+       Adpcm adpcm(interleave, decodeChannels);
+       std::vector<short> pcm[2];
+       bool karaoke = false;
+       for (unsigned pos = 0, end; (end = pos + 2 * adpcm.chunkBytes()) <= dataFile.size; pos = end) {
+               dataFile.get(data, pos, end - pos);
+               std::vector<short> pcmtmp(adpcm.chunkFrames() * decodeChannels);
+               adpcm.decodeChunk(&data[0], pcmtmp.begin());
+               for (size_t s = 0; s < pcmtmp.size(); s += 4) {
+                       short l1 = pcmtmp[s];
+                       short r1 = pcmtmp[s + 1];
+                       short l2 = pcmtmp[s + 2];
+                       short r2 = pcmtmp[s + 3];
+                       pcm[0].push_back(l1);
+                       pcm[0].push_back(r1);
+                       pcm[1].push_back(l2);
+                       pcm[1].push_back(r2);
+                       if (l2 != 0 || r2 != 0) karaoke = true;
+               }
+       }
+       std::string ext;
+       writeMusic(song.music = outPath / ("music.wav"), pcm[0], sr);
+       if (karaoke) writeMusic(song.vocals = outPath / ("vocals.wav"), pcm[1], sr);
+}
+
diff --git a/tools/ss_chc_decode.cc b/tools/ss_chc_decode.cc
new file mode 100644 (file)
index 0000000..3d9d5aa
--- /dev/null
@@ -0,0 +1,38 @@
+#include <cstdlib>
+#include "chc_decode.hh"
+#include <string>
+#include <iostream>
+#include <fstream>
+#include <boost/lexical_cast.hpp>
+
+int main(int argc, char ** argv) {
+       if( argc != 7 ) {
+               std::cout << "Usage: " << argv[0] << " chc_file key0 key1 key2 key4 track_id" << std::endl;
+               return EXIT_FAILURE;
+       }
+       std::string key[4] = {argv[2], argv[3], argv[4], argv[5]};
+
+       std::ifstream chc_file;
+       chc_file.open(argv[1], std::ios_base::binary );
+
+       // Get the file size
+       chc_file.seekg(0, std::ios::end);
+       unsigned int fileSize = chc_file.tellg();
+       chc_file.seekg(0, std::ios::beg);
+
+       // Reading inputfile
+       char *buffer = new char[fileSize];
+       std::cout << "Reading input file \"" << argv[1] << "\" (" << fileSize << " Bytes)... " << std::endl;
+       chc_file.read(&buffer[0], fileSize);
+       chc_file.close();
+
+       ChcDecode chc_decoder;
+       chc_decoder.load(key);
+       std::string xmlMelody = chc_decoder.getMelody(buffer, fileSize, boost::lexical_cast<unsigned int>(argv[6]));
+
+       std::cout << xmlMelody << std::endl;
+
+       delete[] buffer;
+
+       return EXIT_SUCCESS;
+}
diff --git a/tools/ss_cover.cc b/tools/ss_cover.cc
new file mode 100644 (file)
index 0000000..0b0219a
--- /dev/null
@@ -0,0 +1,129 @@
+#include "ss_cover.hh"
+
+#include "pak.h"
+#include "../common/image.hh"
+
+#include <boost/algorithm/string/case_conv.hpp>
+#include <boost/lexical_cast.hpp>
+#include <libxml++/libxml++.h>
+
+#include <cstdlib>
+#include <cstring>
+#include <iostream>
+#include <stdexcept>
+#include <vector>
+
+
+namespace TX2 {
+       unsigned short getWidth(char * buffer) {
+               return (*(unsigned short*)&buffer[0x0c])&0x7fff;
+       }
+       unsigned short getHeight(char * buffer) {
+               return (*(unsigned short*)&buffer[0x0e])&0x7fff;
+       }
+
+       std::vector<unsigned char> getBuffer(char * src) {
+               unsigned int pixels = getWidth(src) * getHeight(src);
+               std::vector<unsigned char> buffer(pixels*3);
+
+               char * src_image = src+0x100;
+               char * src_palette = src+0x100+pixels+0x100;
+
+               for(unsigned int i = 0; i < pixels; i++){
+                       unsigned char id = src_image[i];
+                       buffer[i*3+0] = src_palette[id*4+0]; // red
+                       buffer[i*3+1] = src_palette[id*4+1]; // green
+                       buffer[i*3+2] = src_palette[id*4+2]; // blue
+               }
+               return buffer;
+       }
+
+       void transform( char *dst, char * src ) {
+               unsigned short width  = TX2::getWidth(src);
+               unsigned short height = TX2::getHeight(src);
+               char * src_image = src+0x100;
+               char * src_palette_header = src+0x100+width*height;
+               char * src_palette = src+0x100+width*height+0x100;
+               char * dst_image = dst+0x100;
+               char * dst_palette_header = dst+0x100+width*height;
+               char * dst_palette = dst+0x100+width*height+0x100;
+               // Recopy the header
+               memcpy(dst,src,0x100);
+               // unswizzle the texture
+               for (int y = 0; y < height; ++y) {
+                       for (int x = 0; x < width; ++x) {
+                               int block_location = (y&(~0xf))*width + (x&(~0xf))*2;
+                               unsigned int swap_selector = (((y+2)>>2)&0x1)*4;
+                               int posY = (((y&(~3))>>1) + (y&1))&0x7;
+                               int column_location = posY*width*2 + ((x+swap_selector)&0x7)*4;
+                               int byte_num = ((y>>1)&1) + ((x>>2)&2); // 0,1,2,3
+       
+                               unsigned char uPen = ((unsigned char *) src_image)[block_location + column_location + byte_num];
+                               // Bitshift the palette
+                               unsigned char l = (uPen&0x10)>>1;
+                               unsigned char m = (uPen&0x08)<<1;
+                               unsigned char o = (uPen&0xe7);
+                               ((unsigned char *) dst_image)[y*width+x] = o|l|m;
+                       }
+               }
+               // Recopy the palette header
+               memcpy(dst_palette_header,src_palette_header,0x100);
+               // Bitshift the palette
+               memcpy(dst_palette,src_palette,0x400);
+       }
+}
+
+SingstarCover::SingstarCover(const std::string pak_file, unsigned int track_id) {
+       xmlpp::Node::PrefixNsMap nsmap;
+       nsmap["ss"] = "http://www.singstargame.com";
+       std::string filename("export/covers.xml");
+
+       // extract cover information from XML
+       Pak p(pak_file);
+       std::vector<char> buf;
+       p[filename].get(buf);
+       std::string id(std::string("cover_") + boost::lexical_cast<std::string>(track_id));
+       std::string xpath = std::string("/ss:TPAGE_BIT_SET/ss:TPAGE_BIT[@NAME='") + id + "']";
+       xmlpp::DomParser dom;
+       std::string tmp( buf.begin(), buf.end() );
+       dom.parse_memory(tmp);
+       xmlpp::NodeSet n = dom.get_document()->get_root_node()->find(xpath, nsmap);
+       if (n.empty()) {
+               std::string xpath_old = std::string("/TPAGE_BIT_SET/TPAGE_BIT[@NAME='") + id + "']";
+               n = dom.get_document()->get_root_node()->find(xpath_old, nsmap);
+               if (n.empty())
+                       throw std::runtime_error("Unable to find cover information");
+       }
+       xmlpp::Element& e = dynamic_cast<xmlpp::Element&>(*n[0]);
+       m_u = boost::lexical_cast<unsigned int>(e.get_attribute("U")->get_value());
+       m_v = boost::lexical_cast<unsigned int>(e.get_attribute("V")->get_value());
+       m_width = boost::lexical_cast<unsigned int>(e.get_attribute("WIDTH")->get_value());
+       m_height = boost::lexical_cast<unsigned int>(e.get_attribute("HEIGHT")->get_value());
+       std::string texture_filename = std::string("export/textures/") + e.get_attribute("TEXTURE")->get_value() + ".tx2";
+
+       // extract and unswizzle image from pak
+       std::vector<char> buf_image;
+       p[texture_filename].get(buf_image);
+       m_image = buf_image;
+       TX2::transform(&m_image[0],&buf_image[0]);
+}
+
+SingstarCover::~SingstarCover() {}
+
+void SingstarCover::write(const fs::path filename) {
+       // grab format from tx2 file
+       Bitmap img;
+       img.width = TX2::getWidth(&m_image[0]);
+       img.height = TX2::getHeight(&m_image[0]);
+       img.fmt = pix::RGB;
+       img.buf = TX2::getBuffer(&m_image[0]);
+
+       // crop image according to information stored in xml
+       img.crop(m_width, m_height, m_u, m_v);
+
+       auto ext = boost::algorithm::to_lower_copy(filename.extension().string());
+       if (ext == ".png") writePNG(filename, img);
+       //else if (ext == ".jpg" || ext == ".jpeg") writeJPEG(filename, img);
+       else throw std::runtime_error("Don't know how to write format: " + ext);
+}
+
diff --git a/tools/ss_cover.hh b/tools/ss_cover.hh
new file mode 100644 (file)
index 0000000..15eb83c
--- /dev/null
@@ -0,0 +1,18 @@
+#pragma once
+
+#include <boost/filesystem/path.hpp>
+
+#include <string>
+#include <vector>
+
+namespace fs = boost::filesystem;
+
+class SingstarCover {
+  public:
+       SingstarCover(const std::string pak_file, unsigned int track_id);
+       ~SingstarCover();
+       void write(const fs::path filename);
+  private:
+       std::vector<char> m_image;
+       unsigned int m_u, m_v , m_width, m_height;
+};
diff --git a/tools/ss_extract.cc b/tools/ss_extract.cc
new file mode 100644 (file)
index 0000000..9224721
--- /dev/null
@@ -0,0 +1,431 @@
+#include <stdlib.h>
+#include <algorithm>
+#include <iostream>
+#include <stdexcept>
+#include <string>
+
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+
+#include <boost/filesystem.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/program_options.hpp>
+
+#include "chc_decode.hh"
+#include "ss_cover.hh"
+
+#include "ss_helpers.hh"
+
+namespace fs = boost::filesystem;
+
+struct Song {
+       std::string dataPakName, title, artist, genre, edition, year;
+       fs::path path, music, vocals, video, background, cover;
+       unsigned samplerate;
+       double tempo;
+       bool pal;
+       Song(): samplerate(), tempo() {}
+};
+
+#include "ss_binary.hh"
+
+std::string dvdPath;
+std::ofstream txtfile;
+int ts = 0;
+int sleepts = -1;
+bool g_video = true;
+bool g_audio = true;
+bool g_mkvcompress = true;
+bool g_oggcompress = true;
+bool g_createtxt = true;
+
+void parseNote(xmlpp::Node* node) {
+       xmlpp::Element& elem = dynamic_cast<xmlpp::Element&>(*node);
+       char type = ':';
+       std::string lyric = elem.get_attribute("Lyric")->get_value();
+       // Some extra formatting to make lyrics look better (hyphen removal & whitespace)
+       if (lyric.size() > 0 && lyric[lyric.size() - 1] == '-') {
+               if (lyric.size() > 1 && lyric[lyric.size() - 2] == ' ') lyric.erase(lyric.size() - 2);
+               else lyric[lyric.size() - 1] = '~';
+       } else {
+               lyric += ' ';
+       }
+       unsigned note = boost::lexical_cast<unsigned>(elem.get_attribute("MidiNote")->get_value().c_str());
+       unsigned duration = boost::lexical_cast<unsigned>(elem.get_attribute("Duration")->get_value().c_str());
+       if (elem.get_attribute("FreeStyle")) type = 'F';
+       if (elem.get_attribute("Bonus")) type = '*';
+       if (note) {
+               if (sleepts > 0) txtfile << "- " << sleepts << '\n';
+               sleepts = 0;
+               txtfile << type << ' ' << ts << ' ' << duration << ' ' << note << ' ' << lyric << '\n';
+       }
+       ts += duration;
+}
+
+void parseSentence(xmlpp::Node* node) {
+       xmlpp::Element& elem = dynamic_cast<xmlpp::Element&>(*node);
+       // FIXME: Get rid of this or use SSDom's find
+       xmlpp::Node::PrefixNsMap nsmap;
+       nsmap["ss"] = "http://www.singstargame.com";
+       xmlpp::NodeSet n = elem.find("ss:NOTE", nsmap);
+       if (n.empty()) n = elem.find("NOTE");
+       if (sleepts != -1) sleepts = ts;
+       std::for_each(n.begin(), n.end(), parseNote);
+}
+
+struct Match {
+       std::string left, right;
+       Match(std::string l, std::string r): left(l), right(r) {}
+       bool operator()(Pak::files_t::value_type const& f) {
+               std::string n = f.first;
+               return n.substr(0, left.size()) == left && n.substr(n.size() - right.size()) == right;
+       }
+};
+
+void saveTxtFile(xmlpp::NodeSet &sentence, const fs::path &path, const Song &song, const std::string singer = "") {
+       fs::path file_path;
+
+       if( singer.empty() ) {
+               file_path = path / "notes.txt";
+       } else {
+               file_path = path;
+               file_path /= safename(std::string("notes") + " (" + singer + ")" + ".txt");
+       }
+       txtfile.open(file_path.string().c_str());
+       if( singer.empty() )
+               txtfile << "#TITLE:" << song.title << std::endl;
+       else
+               txtfile << "#TITLE:" << song.title << " (" << singer << ")" << std::endl;
+       txtfile << "#ARTIST:" << song.artist << std::endl;
+       if (!song.genre.empty()) txtfile << "#GENRE:" << song.genre << std::endl;
+       if (!song.year.empty()) txtfile << "#YEAR:" << song.year << std::endl;
+       if (!song.edition.empty()) txtfile << "#EDITION:" << song.edition << std::endl;
+       //txtfile << "#LANGUAGE:English" << std::endl; // Detect instead of hardcoding?
+       if (!song.music.empty()) txtfile << "#MP3:" << filename(song.music) << std::endl;
+       if (!song.vocals.empty()) txtfile << "#VOCALS:" << filename(song.vocals) << std::endl;
+       if (!song.video.empty()) txtfile << "#VIDEO:" << filename(song.video) << std::endl;
+       if (!song.cover.empty()) txtfile << "#COVER:" << filename(song.cover) << std::endl;
+       //txtfile << "#BACKGROUND:background.jpg" << std::endl;
+       txtfile << "#BPM:" << song.tempo << std::endl;
+       ts = 0;
+       sleepts = -1;
+       std::for_each(sentence.begin(), sentence.end(), parseSentence);
+       txtfile << 'E' << std::endl;
+       txtfile.close();
+}
+
+ChcDecode chc_decoder;
+
+struct Process {
+       Pak const& pak;
+       Process(Pak const& p): pak(p) {}
+       void operator()(std::pair<std::string const, Song>& songpair) {
+               fs::path remove;
+               try {
+                       std::string const& id = songpair.first;
+                       Song& song = songpair.second;
+                       std::cerr << "\n[" << id << "] " << song.artist << " - " << song.title << std::endl;
+                       fs::path path = safename(song.edition);
+                       path /= safename(song.artist + " - " + song.title);
+                       SSDom dom;
+                       {
+                               std::vector<char> tmp;
+                               Pak::files_t::const_iterator it = std::find_if(pak.files().begin(), pak.files().end(), Match("export/" + id + "/melody", ".xml"));
+                               if (it == pak.files().end()) {
+                                       it = std::find_if(pak.files().begin(), pak.files().end(), Match("export/melodies_10", ".chc"));
+                                       if (it == pak.files().end()) throw std::runtime_error("Melody XML not found");
+                                       it->second.get(tmp);
+                                       dom.load(chc_decoder.getMelody(&tmp[0], tmp.size(), boost::lexical_cast<unsigned int>(id)));
+                               } else {
+                                       it->second.get(tmp);
+                                       dom.load(xmlFix(tmp));
+                               }
+                       }
+                       if (song.tempo == 0.0) {
+                               xmlpp::NodeSet n;
+                               dom.find("/ss:MELODY", n) || dom.find("/MELODY", n);
+                               if (n.empty()) throw std::runtime_error("Unable to find BPM info");
+                               xmlpp::Element& e = dynamic_cast<xmlpp::Element&>(*n[0]);
+                               std::string res = e.get_attribute("Resolution")->get_value();
+                               song.tempo = boost::lexical_cast<double>(e.get_attribute("Tempo")->get_value().c_str());
+                               if (res == "Semiquaver") {}
+                               else if (res == "Demisemiquaver") song.tempo *= 2.0;
+                               else throw std::runtime_error("Unknown tempo resolution: " + res);
+                       }
+                       fs::create_directories(path);
+                       remove = path;
+                       dom.get_document()->write_to_file((path / "notes.xml").string(), "UTF-8");
+                       Pak dataPak(song.dataPakName);
+                       if (g_audio) {
+                               std::cerr << ">>> Extracting and decoding music" << std::endl;
+                               try {
+                                       music(song, dataPak[id + "/music.mib"], pak["export/" + id + "/music.mih"], path);
+                               } catch (...) {
+                                       music_us(song, dataPak[id + "/mus+vid.iav"], dataPak[id + "/mus+vid.ind"], path);
+                               }
+                       }
+                       std::cerr << ">>> Extracting cover image" << std::endl;
+                       try {
+                               SingstarCover c = SingstarCover(dvdPath + "/pack_ee.pak", boost::lexical_cast<unsigned int>(id));
+                               c.write(path / "/cover.png");
+                               song.cover = path / "cover.png";
+                       } catch (...) {}
+                       remove = "";
+                       // FIXME: use some library (preferrably ffmpeg):
+                       if (g_oggcompress) {
+                               if( !song.music.empty() ) {
+                                       std::cerr << ">>> Compressing audio into music.ogg" << std::endl;
+                                       std::string cmd = "oggenc \"" + song.music.string() + "\"";
+                                       std::cerr << cmd << std::endl;
+                                       if (std::system(cmd.c_str()) == 0) { // FIXME: std::system return value is not portable
+                                               fs::remove(song.music);
+                                               song.music = path / ("music.ogg");
+                                       }
+                               }
+                               if( !song.vocals.empty() ) {
+                                       std::cerr << ">>> Compressing audio into vocals.ogg" << std::endl;
+                                       std::string cmd = "oggenc \"" + song.vocals.string() + "\"";
+                                       std::cerr << cmd << std::endl;
+                                       if (std::system(cmd.c_str()) == 0) { // FIXME: std::system return value is not portable
+                                               fs::remove(song.vocals);
+                                               song.vocals = path / ("vocals.ogg");
+                                       }
+                               }
+                       }
+                       if (g_video) {
+                               std::cerr << ">>> Extracting video" << std::endl;
+                               try {
+                                       std::vector<char> ipudata;
+                                       dataPak[id + "/movie.ipu"].get(ipudata);
+                                       std::cerr << ">>> Converting video" << std::endl;
+                                       IPUConv(ipudata, (path / "video.mpg").string());
+                                       song.video = path / "video.mpg";
+                               } catch (...) {
+                                       std::cerr << "  >>> European DVD failed, trying American (WIP)" << std::endl;
+                                       try {
+                                               video_us(song, dataPak[id + "/mus+vid.iav"], dataPak[id + "/mus+vid.ind"], path);
+                                       } catch (std::exception& e) {
+                                               std::cerr << "!!! Unable to extract video: " << e.what() << std::endl;
+                                               song.video = "";
+                                       }
+                               }
+                               if (g_mkvcompress) {
+                                       std::cerr << ">>> Compressing video into video.m4v" << std::endl;
+                                       std::string cmd = "ffmpeg -i \"" + (path / "video.mpg").string() + "\" -vcodec libx264 -profile main -crf 25 -threads 0 -metadata album=\"" + song.edition + "\" -metadata author=\"" + song.artist + "\" -metadata comment=\"" + song.genre + "\" -metadata title=\"" + song.title + "\" \"" + (path / "video.m4v\"").string();
+                                       std::cerr << cmd << std::endl;
+                                       if (std::system(cmd.c_str()) == 0) { // FIXME: std::system return value is not portable
+                                               fs::remove(path / "video.mpg");
+                                               song.video = path / "video.m4v";
+                                       }
+                               }
+                       }
+
+                       if (g_createtxt) {
+                               std::cerr << ">>> Extracting lyrics to notes.txt" << std::endl;
+                               xmlpp::NodeSet sentences;
+                               if(dom.find("/ss:MELODY/ss:SENTENCE", sentences)) {
+                                       // Sentences not inside tracks (normal songs)
+                                       std::cerr << "  >>> Solo track" << std::endl;
+                                       saveTxtFile(sentences, path, song);
+                               } else {
+                                       xmlpp::NodeSet tracks;
+                                       if (!dom.find("/ss:MELODY/ss:TRACK", tracks)) throw std::runtime_error("Unable to find any sentences in melody XML");
+                                       for (xmlpp::NodeSet::iterator it = tracks.begin(); it != tracks.end(); ++it ) {
+                                               xmlpp::Element& elem = dynamic_cast<xmlpp::Element&>(**it);
+                                               std::string singer = elem.get_attribute("Artist")->get_value();
+                                               std::cerr << "  >>> Track from " << singer << std::endl;
+                                               dom.find(elem, "ss:SENTENCE", sentences);
+                                               saveTxtFile(sentences, path, song, singer);
+                                       }
+                               }
+                       }
+               } catch (std::exception& e) {
+                       std::cerr << e.what() << std::endl;
+                       if (!remove.empty()) {
+                               std::cerr << "!!! Removing " << remove.string() << std::endl;
+                               fs::remove_all(remove);
+                       }
+               }
+       }
+};
+
+void get_node(const xmlpp::Node* node, std::string& genre, std::string& year)
+{
+       const xmlpp::ContentNode* nodeContent = dynamic_cast<const xmlpp::ContentNode*>(node);
+       const xmlpp::TextNode* nodeText = dynamic_cast<const xmlpp::TextNode*>(node);
+       const xmlpp::CommentNode* nodeComment = dynamic_cast<const xmlpp::CommentNode*>(node);
+
+       if(nodeText && nodeText->is_white_space()) //Let's ignore the indenting - you don't always want to do this.
+               return;
+
+       //Treat the various node types differently:
+       if(nodeText || nodeComment || nodeContent)
+       {
+               // if any of these exist do nothing! :D
+       }
+       else if(const xmlpp::Element* nodeElement = dynamic_cast<const xmlpp::Element*>(node))
+       {
+               //A normal Element node:
+
+               //Print attributes:
+               const xmlpp::Element::AttributeList& attributes = nodeElement->get_attributes();
+               for(xmlpp::Element::AttributeList::const_iterator iter = attributes.begin(); iter != attributes.end(); ++iter)
+               {
+                       const xmlpp::Attribute* attribute = *iter;
+                       if (attribute->get_name() == "GENRE") genre = normalize(attribute->get_value());
+                       else if (attribute->get_name() == "YEAR") year = normalize(attribute->get_value());
+               }
+       }
+
+       if(!nodeContent)
+       {
+               //Recurse through child nodes:
+               xmlpp::Node::NodeList list = node->get_children();
+               for(xmlpp::Node::NodeList::iterator iter = list.begin(); iter != list.end(); ++iter)
+               {
+                       get_node(*iter, genre, year); //recursive
+               }
+       }
+}
+
+struct FindSongs {
+       std::string edition;
+       std::string language;
+       std::map<std::string, Song> songs;
+       FindSongs(std::string const& search = ""): m_search(search) {}
+       void operator()(Pak::files_t::value_type const& p) {
+               std::string name = p.first;
+               if (name.substr(0, 17) == "export/config.xml"){
+                       SSDom dom(p.second);  // Read config XML
+                       // Load decryption keys required for some SingStar games (since 2009 or so)
+                       std::string keys[4];
+                       dom.getValue("/ss:CONFIG/ss:PRODUCT_NAME", keys[0]);
+                       dom.getValue("/ss:CONFIG/ss:PRODUCT_CODE", keys[1]);
+                       dom.getValue("/ss:CONFIG/ss:TERRITORY", keys[2]);
+                       dom.getValue("/ss:CONFIG/ss:DEFAULT_LANG", keys[3]);
+                       chc_decoder.load(keys);
+                       // Get the singstar edition, use PRODUCT_NAME as fallback for SS Original and SS Party
+                       if (!dom.getValue("/ss:CONFIG/ss:PRODUCT_DESC", edition)) edition = keys[0];
+                       if (edition.empty()) throw std::runtime_error("No PRODUCT_DESC or PRODUCT_NAME found");
+                       edition = prettyEdition(edition);
+                       std::cout << "### " << edition << std::endl;
+                       // Get language if available
+                       language = keys[3];
+               }
+
+               if (name.substr(0, 12) != "export/songs" || name.substr(name.size() - 4) != ".xml") return;
+               SSDom dom(p.second);  // Read song XML
+
+
+               xmlpp::NodeSet n;
+               dom.find("/ss:SONG_SET/ss:SONG", n);
+               Song s;
+               s.dataPakName = dvdPath + "/pak_iop" + name[name.size() - 5] + ".pak";
+               s.edition = edition;
+               for (xmlpp::NodeSet::const_iterator it = n.begin(), end = n.end(); it != end; ++it) {
+                       // Extract song info
+                       xmlpp::Element& elem = dynamic_cast<xmlpp::Element&>(**it);
+                       s.title = elem.get_attribute("TITLE")->get_value();
+                       s.artist = elem.get_attribute("PERFORMANCE_NAME")->get_value();
+                       if (!m_search.empty() && m_search != elem.get_attribute("ID")->get_value() && (s.artist + " - " + s.title).find(m_search) == std::string::npos) continue;
+                       xmlpp::Node const* node = dynamic_cast<xmlpp::Node const*>(*it);
+                       get_node(node, s.genre, s.year); // get the values for genre and year
+                       // Get video FPS
+                       double fps = 25.0;
+                       xmlpp::NodeSet fr;
+                       if (dom.find(elem, "ss:VIDEO/@FRAME_RATE", fr))
+                         fps = boost::lexical_cast<double>(dynamic_cast<xmlpp::Attribute&>(*fr[0]).get_value().c_str());
+                       if (fps == 25.0) s.pal = true;
+                       // Store song info to songs container
+                       songs[elem.get_attribute("ID")->get_value()] = s;
+               }
+       }
+  private:
+       std::string m_search;
+};
+
+int main( int argc, char **argv) {
+       std::string video, audio, song;
+       namespace po = boost::program_options;
+       po::options_description opt("Options");
+       opt.add_options()
+         ("help,h", "you are viewing it")
+         ("dvd", po::value<std::string>(&dvdPath), "path to Singstar DVD root")
+         ("list,l", "list tracks only")
+         ("song", po::value<std::string>(&song), "only extract the given track (ID or partial name)")
+         ("video", po::value<std::string>(&video)->default_value("mkv"), "specify video format (none, mkv, mpeg2)")
+         ("audio", po::value<std::string>(&audio)->default_value("ogg"), "specify audio format (none, ogg, wav)")
+         ("txt,t", "also convert XML to notes.txt (for UltraStar compatibility)")
+         ;
+       // Process the first flagless option as dvd, the second as song
+       po::positional_options_description pos;
+       pos.add("dvd", 1);
+       pos.add("song", 1);
+       po::options_description cmdline;
+       cmdline.add(opt);
+       po::variables_map vm;
+       // Load the arguments
+       try {
+               po::store(po::command_line_parser(argc, argv).options(opt).positional(pos).run(), vm);
+               po::notify(vm);
+               if (dvdPath.empty()) throw std::runtime_error("No Singstar DVD path specified. Enter a path to a folder with pack_ee.pak in it.");
+               // Process video flag
+               if (video == "none") {
+                       g_video = false;
+                       g_mkvcompress = false;
+               } else if (video == "mkv") {
+                       g_video = true;
+                       g_mkvcompress = true;
+               } else if (video == "mpeg2") {
+                       g_video = true;
+                       g_mkvcompress = false;
+               } else {
+                       throw std::runtime_error("Invalid video flag. Value must be {none, mkv, mpeg2}");
+               }
+               std::cerr << ">>> Using video flag: \"" << video << "\"" << std::endl;
+               // Process audio flag
+               if (audio == "none") {
+                       g_audio = false;
+                       g_oggcompress = false;
+               } else if (audio == "ogg") {
+                       g_audio = true;
+                       g_oggcompress = true;
+               } else if (audio == "wav") {
+                       g_audio = true;
+                       g_oggcompress = false;
+               } else {
+                       throw std::runtime_error("Invalid audio flag. Value must be {none, ogg, wav}");
+               }
+               std::cerr << ">>> Using audio flag: \"" << audio << "\"" << std::endl;
+               g_createtxt = vm.count("txt") > 0;
+               std::cerr << ">>> Convert XML to notes.txt: " << (g_createtxt?"yes":"no") << std::endl;
+       } catch (std::exception& e) {
+               std::cout << cmdline << std::endl;
+               std::cout << "ERROR: " << e.what() << std::endl;
+               return EXIT_FAILURE;
+       }
+       std::string pack_ee = dvdPath + "/pack_ee.pak"; // Note: lower case (ISO-9660)
+       if (!fs::exists(pack_ee)) {
+               if (fs::exists(dvdPath + "/Pack_EE.PAK")) { // Note: capitalization (UDF)
+                       std::cerr <<
+                         "Singstar DVDs have UDF and ISO-9660 filesystems on them. Your disc is mounted\n"
+                         "as UDF and this causes some garbled data files, making ripping it impossible.\n\n"
+                         "Please remount the disc as ISO-9660 and try again. E.g. on Linux:\n"
+                         "# mount -t iso9660 /dev/cdrom " << dvdPath << std::endl;
+               } else std::cerr << "No Singstar DVD found. Enter a path to a folder with pack_ee.pak in it." << std::endl;
+               return EXIT_FAILURE;
+       }
+       Pak p(pack_ee);
+       FindSongs f = std::for_each(p.files().begin(), p.files().end(), FindSongs(song));
+       std::cerr << f.songs.size() << " songs found" << std::endl;
+       if (vm.count("list")) {
+               for( std::map<std::string, Song>::const_iterator it = f.songs.begin() ; it != f.songs.end();  ++it) {
+                       std::cout << "[" << it->first << "] " << it->second.artist << " - " << it->second.title << std::endl;
+               }
+       }
+       else std::for_each(f.songs.begin(), f.songs.end(), Process(p));
+}
+
diff --git a/tools/ss_helpers.hh b/tools/ss_helpers.hh
new file mode 100644 (file)
index 0000000..8895d94
--- /dev/null
@@ -0,0 +1,124 @@
+/// @file Some uninteresting helper functions used by ss_extract.
+
+#include <boost/algorithm/string.hpp>
+#include <libxml++/libxml++.h>
+#include <glibmm/convert.h>
+#include "pak.h"
+
+// LibXML2 logging facility
+extern "C" void xmlLogger(void* logger, char const* msg, ...) { if (logger) *(std::ostream*)logger << msg; }
+void enableXMLLogger(std::ostream& os = std::cerr) { xmlSetGenericErrorFunc(&os, xmlLogger); }
+void disableXMLLogger() { xmlSetGenericErrorFunc(NULL, xmlLogger); }
+
+#if BOOST_FILESYSTEM_VERSION < 3
+std::string filename(boost::filesystem::path const& p) { return *--p.end(); }
+#else
+std::string filename(boost::filesystem::path const& p) { return p.filename().string(); }
+#endif
+
+/** Fix Singstar's b0rked XML **/
+std::string xmlFix(std::vector<char> const& data) {
+       std::string ret;
+       for(std::size_t i = 0; i < data.size(); ++i) {
+               if (data[i] != '&') ret += data[i]; else ret += "&amp;";
+       }
+       return ret;
+}
+
+struct SSDom: public xmlpp::DomParser {
+       xmlpp::Node::PrefixNsMap nsmap;
+       SSDom(PakFile const& file) {
+               std::vector<char> tmp;
+               file.get(tmp);
+               std::string buf = xmlFix(tmp);
+               load(buf);
+       }
+       SSDom() {}
+       void load(std::string const& buf) {
+               set_substitute_entities();
+               try {
+                       struct DisableLogger {
+                               DisableLogger() { disableXMLLogger(); }
+                               ~DisableLogger() { enableXMLLogger(); }
+                       } disabler;
+                       parse_memory(buf);
+               } catch (...) {
+                       std::string buf2 = Glib::convert(buf, "UTF-8", "ISO-8859-1"); // Convert to UTF-8
+                       parse_memory(buf2);
+               }
+               nsmap["ss"] = get_document()->get_root_node()->get_namespace_uri();
+       }
+       bool find(xmlpp::Element& elem, std::string xpath, xmlpp::NodeSet& n) {
+               if (nsmap["ss"].empty()) boost::erase_all(xpath, "ss:");
+               n = elem.find(xpath, nsmap);
+               return !n.empty();
+       }
+       bool find(std::string const& xpath, xmlpp::NodeSet& n) {
+               return find(*get_document()->get_root_node(), xpath, n);
+       }
+       bool getValue(std::string const& xpath, std::string& result) {
+               xmlpp::NodeSet n;
+               if (!find(xpath, n)) return false;
+               result = dynamic_cast<xmlpp::Element&>(*n[0]).get_child_text()->get_content();
+               return true;
+       }
+};
+
+/** Erase all occurences of del from str. **/
+void safeErase(Glib::ustring& str, Glib::ustring const& del) {
+       do {
+               Glib::ustring::size_type pos = str.find(del);
+               if (pos != Glib::ustring::npos) { str.erase(pos, del.size()); continue; }
+       } while (0);
+}
+
+/** Normalize whitespace **/
+Glib::ustring normalize(Glib::ustring const& str) {
+       Glib::ustring ret;
+       bool first = true;
+       bool ws = true;
+       for (Glib::ustring::const_iterator it = str.begin(); it != str.end(); ++it) {
+               if (std::isspace(*it)) { ws = true; continue; }
+               if (first) {
+                       first = false;
+                       ws = false;
+                       ret = Glib::ustring(1, *it).uppercase();
+                       continue;
+               }
+               if (ws) { ws = false; ret += ' '; }
+               ret += *it;
+       }
+       return ret;
+}
+
+/** Sanitize a string into a form that can be safely used as a filename. **/
+std::string safename(Glib::ustring const& str) {
+       Glib::ustring ret;
+       Glib::ustring forbidden("\"*/:;<>?\\^`|~");
+       for (Glib::ustring::const_iterator it = str.begin(); it != str.end(); ++it) {
+               bool first = it == str.begin();
+               if (*it < 0x20) continue; // Control characters
+               if (*it >= 0x7F && *it < 0xA0) continue; // Additional control characters
+               if (first && *it == '.') continue;
+               if (first && *it == '-') continue;
+               if (*it == '&') { ret += " and "; continue; }
+               if (*it == '%') { ret += " percent "; continue; }
+               if (*it == '$') { ret += " dollar "; continue; }
+               if (forbidden.find(*it) != Glib::ustring::npos) { ret += "_"; continue; }
+               ret += *it;
+       }
+       return normalize(ret);
+}
+
+/** Fix inconsistencies in SS edition names **/
+Glib::ustring prettyEdition(Glib::ustring str) {
+       str = normalize(str);
+       safeErase(str, "®");
+       safeErase(str, "™");
+       if (str == "SingStar") return "SingStar Original";
+       if (str == "SingStar '80s") return "SingStar 80s";
+       if (str == "SingStar Schlager") return "SingStar Svenska Hits Schlager";
+       if (str == "SingStar Suomi Rock") return "SingStar SuomiRock";
+       return str;
+}
+
diff --git a/win32/ConfigureSongDirectory.bat b/win32/ConfigureSongDirectory.bat
new file mode 100755 (executable)
index 0000000..7008a2d
--- /dev/null
@@ -0,0 +1,9 @@
+@echo off
+set /p songdir=Enter the path to your song dir: 
+
+echo Performous will now launch.
+echo Go to the song browser and verify you typed the path correctly.
+echo Then go to configuration menu and hit Ctrl+S to save the setting.
+pause
+
+performous.exe %songdir%
diff --git a/win32/mxe/.gitignore b/win32/mxe/.gitignore
new file mode 100644 (file)
index 0000000..0e26ecd
--- /dev/null
@@ -0,0 +1 @@
+stage
diff --git a/win32/mxe/copydlls.py b/win32/mxe/copydlls.py
new file mode 100755 (executable)
index 0000000..ac2b8b3
--- /dev/null
@@ -0,0 +1,116 @@
+#!/usr/bin/env python
+# DLL dependency resolution and copying script.
+# Copyright (C) 2010 John Stumpo
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+import os
+import shutil
+import struct
+import sys
+
+if len(sys.argv) != 3:
+    sys.stderr.write('''Usage: %s [source] [destination]
+Copies DLLs in source needed by PE executables in destination to destination.
+Both source and destination should be directories.
+''' % sys.argv[0])
+    sys.exit(1)
+
+def is_pe_file(file):
+    f = open(file, 'rb')
+    if f.read(2) != 'MZ':
+        return False  # DOS magic number not present
+    f.seek(60)
+    peoffset = struct.unpack('<L', f.read(4))[0]
+    f.seek(peoffset)
+    if f.read(4) != 'PE\0\0':
+        return False  # PE magic number not present
+    return True
+
+def get_imports(file):
+    f = open(file, 'rb')
+    # We already know it's a PE, so don't bother checking again.
+    f.seek(60)
+    pe_header_offset = struct.unpack('<L', f.read(4))[0]
+
+    # Get sizes of tables we need.
+    f.seek(pe_header_offset + 6)
+    number_of_sections = struct.unpack('<H', f.read(2))[0]
+    f.seek(pe_header_offset + 116)
+    number_of_data_directory_entries = struct.unpack('<L', f.read(4))[0]
+    data_directory_offset = f.tell()  # it's right after the number of entries
+
+    # Where is the import table?
+    f.seek(data_directory_offset + 8)
+    rva_of_import_table = struct.unpack('<L', f.read(4))[0]
+
+    # Get the section ranges so we can convert RVAs to file offsets.
+    f.seek(data_directory_offset + 8 * number_of_data_directory_entries)
+    sections = []
+    for i in range(number_of_sections):
+        section_descriptor_data = f.read(40)
+        name, size, va, rawsize, offset = struct.unpack('<8sLLLL', section_descriptor_data[:24])
+        sections.append({'min': va, 'max': va+rawsize, 'offset': offset})
+
+    def seek_to_rva(rva):
+        for s in sections:
+            if s['min'] <= rva and rva < s['max']:
+                f.seek(rva - s['min'] + s['offset'])
+                return
+        raise ValueError, 'Could not find section for RVA.'
+
+    # Walk the import table and get RVAs to the null-terminated names of DLLs this file uses.
+    # The table is terminated by an all-zero entry.
+    seek_to_rva(rva_of_import_table)
+    dll_rvas = []
+    while True:
+        import_descriptor = f.read(20)
+        if import_descriptor == '\0' * 20:
+            break
+        dll_rvas.append(struct.unpack('<L', import_descriptor[12:16])[0])
+
+    # Read the DLL names from the RVAs we found in the import table.
+    dll_names = []
+    for rva in dll_rvas:
+        seek_to_rva(rva)
+        name = ''
+        while True:
+            c = f.read(1)
+            if c == '\0':
+                break
+            name += c
+        dll_names.append(name)
+
+    return dll_names
+
+
+src_contents = os.listdir(sys.argv[1])
+dest_contents = os.listdir(sys.argv[2])
+for dest_name in dest_contents:
+    dest_fname = os.path.join(sys.argv[2], dest_name)
+    if os.path.isfile(dest_fname) and is_pe_file(dest_fname):
+        print dest_name
+        for dll in get_imports(dest_fname):
+            print '- %s' % dll,
+            if dll.lower() in [n.lower() for n in dest_contents]:
+                print '(already present)'
+            else:
+                for n in src_contents:
+                    if n.lower() == dll.lower():
+                        shutil.copyfile(os.path.join(sys.argv[1], n), os.path.join(sys.argv[2], n))
+                        dest_contents.append(n)
+                        print '(copied)'
+                        break
+                else:
+                    print '(assumed to be provided by operating system)'
diff --git a/win32/mxe/make-installer.py b/win32/mxe/make-installer.py
new file mode 100755 (executable)
index 0000000..407c2ef
--- /dev/null
@@ -0,0 +1,166 @@
+#!/usr/bin/env python
+# NSIS script generator for Performous.
+# Copyright (C) 2010 John Stumpo
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+import os
+import subprocess
+import sys
+import shutil
+
+try:
+    makensis = subprocess.Popen([os.environ['MAKENSIS'], '-'], stdin=subprocess.PIPE)
+except KeyError:
+    makensis = subprocess.Popen(['makensis', '-'], stdin=subprocess.PIPE)
+
+if not os.path.isdir('dist'):
+    os.mkdir('dist')
+os.chdir('stage')
+
+# Find the version number.
+exepath = 'Performous.exe'
+if 'WINDRES' in os.environ:
+    custom_windres = os.environ['WINDRES']
+else:
+    custom_windres = 'windres'
+
+for windres in [custom_windres, 'i686-pc-mingw32-windres', 'i686-w64-mingw32.shared-windres']:
+    try:
+        resources = subprocess.Popen([windres, exepath], stdout=subprocess.PIPE)
+    except:
+        continue
+    for line in resources.stdout.readlines():
+        if not line.strip().startswith('VALUE'):
+            continue
+        if 'ProductVersion' in line:
+            version = line.strip().split('"')[-2]
+            break
+    else:
+        version = 'unknown'
+    break
+
+if os.path.exists('~/.fonts.conf'):
+       if os.path.isdir('~/.fonts.conf.d'):
+               fcconfpath = ['~/.fonts.conf','~/.fonts.conf.d']
+       elif os.path.isdir('/etc/fonts/conf.d'):
+               fcconfpath = ['~/.fonts.conf','/etc/fonts/conf.d']
+elif os.path.isdir('/opt/local/etc/fonts'):
+       fcconfpath = ['/opt/local/etc/fonts/fonts.conf', '/opt/local/etc/fonts/conf.d']
+elif os.path.isdir('/etc/fonts'):
+       fcconfpath = ['/etc/fonts/fonts.conf', '/etc/fonts/conf.d']
+
+dest = os.getcwd()
+for path in fcconfpath:
+       print 'Copying fontconfig configuration files from:', path
+       if not os.path.exists(os.path.join(dest,'etc')):
+               os.mkdir(os.path.join(dest,'etc'))
+       if os.path.isfile(path):
+               shutil.copy(path,os.path.join(dest,'etc'))
+       else:
+               shutil.copytree(path,os.path.join(dest,'etc',os.path.basename(path)))
+               
+def instpath(*elements):
+    return os.path.join(*elements).replace('/', '\\').replace('.\\', '')
+
+makensis.stdin.write(r'''!include "MUI2.nsh"
+!include FileFunc.nsh
+
+!define VERSION "%s"
+!define REGKEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\Performous"
+
+Name "Performous ${VERSION}"
+OutFile "dist\Performous-${VERSION}.exe"
+
+SetCompressor /SOLID lzma
+
+ShowInstDetails show
+ShowUninstDetails show
+
+InstallDir "$PROGRAMFILES\Performous"
+InstallDirRegKey HKLM ${REGKEY} "InstallLocation"
+
+RequestExecutionLevel admin
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+
+!insertmacro MUI_UNPAGE_WELCOME
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+!insertmacro MUI_UNPAGE_FINISH
+
+!insertmacro MUI_LANGUAGE "English"
+
+Section
+''' % version)
+
+for root, dirs, files in os.walk('.'):
+    makensis.stdin.write('  SetOutPath "$INSTDIR\\%s"\n' % instpath(root))
+    for file in files:
+        makensis.stdin.write('  File "%s"\n' % instpath('stage', root, file))
+
+makensis.stdin.write(r'''  WriteUninstaller "$INSTDIR\uninst.exe"
+  SetShellVarContext all
+  CreateDirectory "$INSTDIR\songs"
+  CreateDirectory "$SMPROGRAMS\Performous"
+  SetOutPath "$INSTDIR"
+  CreateShortcut "$SMPROGRAMS\Performous\Performous.lnk" "$INSTDIR\Performous.exe"
+  CreateShortCut "$SMPROGRAMS\Performous\ConfigureSongDirectory.lnk" "$INSTDIR\ConfigureSongDirectory.bat"
+  CreateShortCut "$SMPROGRAMS\Performous\Songs.lnk" "$INSTDIR\songs"
+  CreateShortcut "$SMPROGRAMS\Performous\Uninstall.lnk" "$INSTDIR\uninst.exe"
+  WriteRegStr HKLM ${REGKEY} "DisplayName" "Performous"
+  WriteRegStr HKLM ${REGKEY} "UninstallString" "$\"$INSTDIR\uninst.exe$\""
+  WriteRegStr HKLM ${REGKEY} "InstallLocation" "$INSTDIR"
+  WriteRegStr HKLM ${REGKEY} "DisplayIcon" "$INSTDIR\Performous.exe"
+  WriteRegStr HKLM ${REGKEY} "DisplayVersion" "${VERSION}"
+  WriteRegStr HKLM ${REGKEY} "HelpLink" "http://performous.org/"
+  ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
+  IntFmt $0 "0x%08X" $0
+  WriteRegDWORD HKLM ${REGKEY} "EstimatedSize" "$0"
+  WriteRegDWORD HKLM ${REGKEY} "NoModify" 1
+  WriteRegDWORD HKLM ${REGKEY} "NoRepair" 1
+SectionEnd
+
+Section Uninstall
+  RmDir "$INSTDIR\songs"
+''')
+
+for root, dirs, files in os.walk('.', topdown=False):
+    for dir in dirs:
+        makensis.stdin.write('  RmDir "$INSTDIR\\%s"\n' % instpath(root, dir))
+    for file in files:
+        makensis.stdin.write('  Delete "$INSTDIR\\%s"\n' % instpath(root, file))
+    makensis.stdin.write('  RmDir "$INSTDIR\\%s"\n' % instpath(root))
+
+makensis.stdin.write(r'''  Delete "$INSTDIR\uninst.exe"
+  RmDir "$INSTDIR"
+  SetShellVarContext all
+  Delete "$SMPROGRAMS\Performous\Performous.lnk"
+  Delete "$SMPROGRAMS\Performous\ConfigureSongDirectory.lnk"
+  Delete "$SMPROGRAMS\Performous\Songs.lnk"
+  Delete "$SMPROGRAMS\Performous\Uninstall.lnk"
+  RmDir "$SMPROGRAMS\Performous"
+  DeleteRegKey HKLM ${REGKEY}
+SectionEnd
+''')
+
+makensis.stdin.close()
+if makensis.wait() != 0:
+    print >>sys.stderr, 'Installer compilation failed.'
+    sys.exit(1)
+else:
+    print '\ndist/Performous-%s.exe is ready.' % version
diff --git a/win32/mxe/make-mxe.sh b/win32/mxe/make-mxe.sh
new file mode 100755 (executable)
index 0000000..bb947aa
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+echo "installing git in case it hasn't been done yet"
+sudo apt-get install git-core
+git clone -b master https://github.com/mxe/mxe.git
+cp settings.mk ./mxe/settings.mk
+cd mxe
+make
+cd ..
+echo "mxe has been build please run the make-performous script"
diff --git a/win32/mxe/make-performous.sh b/win32/mxe/make-performous.sh
new file mode 100755 (executable)
index 0000000..8e736e8
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh -e
+here="$(pwd)"
+MXE_PREFIX="$here/mxe"
+MXE_TARGET=i686-w64-mingw32.shared
+mkdir -p build
+mkdir -p stage
+cd build
+cmake ../../.. -DPKG_CONFIG_EXECUTABLE="$MXE_PREFIX/usr/bin/$MXE_TARGET-pkg-config" \
+  -DCMAKE_TOOLCHAIN_FILE="$MXE_PREFIX/usr/$MXE_TARGET/share/cmake/mxe-conf.cmake" \
+  -DBoost_THREAD_LIBRARY_RELEASE="$MXE_PREFIX/usr/$MXE_TARGET/bin/libboost_thread_win32-mt.dll" \
+  -DENABLE_WEBCAM=OFF -DCMAKE_INSTALL_PREFIX="$here/stage"
+make install
diff --git a/win32/mxe/settings.mk b/win32/mxe/settings.mk
new file mode 100644 (file)
index 0000000..c3a0bd3
--- /dev/null
@@ -0,0 +1,13 @@
+# This variable controls the number of compilation processes
+# within one package ("intra-package parallelism").
+JOBS := 2
+# This variable controls the targets that will build.
+MXE_TARGETS := i686-w64-mingw32.shared
+# This variable controls the download mirror for SourceForge,
+# when it is used. Enabling the value below means auto.
+#SOURCEFORGE_MIRROR := downloads.sourceforge.net
+# The three lines below makes `make` build these "local
+# packages" instead of all packages.
+LOCAL_PKG_LIST := sdl2 boost portaudio ffmpeg portmidi pango gdk-pixbuf librsvg libsigc++ libxml++ opencv libepoxy jsoncpp cpp-netlib
+.DEFAULT local-pkg-list:
+local-pkg-list: $(LOCAL_PKG_LIST)
\ No newline at end of file
diff --git a/win32/performous.cmake.rc b/win32/performous.cmake.rc
new file mode 100644 (file)
index 0000000..62231c8
--- /dev/null
@@ -0,0 +1,34 @@
+#include <winuser.h>
+#include <winver.h>
+
+LANGUAGE 9, 1
+
+1 ICON "@CMAKE_SOURCE_DIR@/win32/performous.ico"
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION @VERSION_MAJOR@, @VERSION_MINOR@, @VERSION_PATCH@, @VERSION_TWEAK@
+ PRODUCTVERSION @VERSION_MAJOR@, @VERSION_MINOR@, @VERSION_PATCH@, @VERSION_TWEAK@
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+ FILEOS VOS_NT_WINDOWS32
+ FILETYPE VFT_APP
+ FILESUBTYPE VFT2_UNKNOWN
+BEGIN
+  BLOCK "StringFileInfo"
+  BEGIN
+    BLOCK "040904b0"
+    BEGIN
+      VALUE "CompanyName",  "@CMAKE_PROJECT_NAME@ Developers"
+      VALUE "FileDescription",  "@CMAKE_PROJECT_NAME@ Game"
+      VALUE "FileVersion", "@PROJECT_VERSION@"
+      VALUE "InternalName", "Performous.exe"
+      VALUE "LegalCopyright", "Copyright © 2009-2014 @CMAKE_PROJECT_NAME@ Team - GNU GPL v2 or later"
+      VALUE "OriginalFilename", "Performous.exe"
+      VALUE "ProductName", "@CMAKE_PROJECT_NAME@"
+      VALUE "ProductVersion", "@PROJECT_VERSION@"
+    END
+  END
+  BLOCK "VarFileInfo"
+  BEGIN
+    VALUE "Translation", 0x409, 1200
+  END
+END
diff --git a/win32/performous.ico b/win32/performous.ico
new file mode 100644 (file)
index 0000000..9374e7e
Binary files /dev/null and b/win32/performous.ico differ